以下、本発明を実施するための最良の形態について図面を参照しながら説明する。本実施の形態では、印刷システム中で利用される画像形成装置を例に説明する。なお、本発明の画像形成装置は、複数の画像データを格納可能な画像ファイルを出力可能とする構成であれば、種々のシステムや他の装置にも適用可能である。
図1は、本発明の実施の形態に係わる画像形成装置を備えた印刷システムの概略構成を示すブロック図である。
図1において、20は、ホストコンピュータ(以下、PCと称する)、10及び40は、画像形成装置である。画像形成装置10及び40は、例えば、コピー機能や、ファクシミリ機能、プリント機能等、複数の機能を有するMFP(Multi Function Peripheral)を例に説明する。また、画像形成装置10は、MFPに限られるものではなく、プリント機能のみからなるSFP(Single Function Printer)であってもよい。
PC20は、パーソナルコンピュータの機能を有し、LAN50を介してFTPやSMBプロトコルを用いて、ファイルを送受信したり電子メールを送受信したりする機能を備える。またPC20は、画像形成装置10、40に対して、プリンタドライバを介した印字命令を行うことが可能に構成されている。
画像形成装置10、40は、同じ構成を有する装置である。よって説明の便宜のため、画像形成装置10、40の内の画像形成装置10について、その構成を図2によって説明する。
(画像形成装置の説明)
図2は、本発明の実施の形態に係わる画像形成装置の概略構成を示すブロック図である。
この画像形成装置10は、スキャナ部202やプリンタ部203と電気的に接続されている。さらに、画像形成装置10は、LAN50を介して、PC20や外部の画像形成装置40等と画像データやデバイス情報の入出力が可能なように接続されている。
また、画像形成装置10の備えるコントローラ201は、USB I/F218を通してUSBデバイスを接続可能に構成されている。このコントローラ201は、USB I/F218に接続されたUSBデバイスに格納されているデータを取得可能に構成されている。
このコントローラ201が備えるCPU210は、接続中の各種デバイスとのアクセスを統括的に制御すると共に、コントローラ201の内部で行われる各種処理についても統括的に制御する。
またコントローラ201は、RAM211を備える。このRAM211は、CPU210が動作するためのシステムワークメモリであり、かつ画像データを一時記憶するためのメモリでもある。このRAM211は、記憶した内容を電源を遮断した後も保持しておくSRAM及び電源を遮断した後には記憶した内容が消去されるDRAMにより構成されている。
コントローラ201は、システムバス205と操作部204とを接続するためのインタフェース部である操作部I/F213を備える。この操作部I/F213は、操作部204に表示するための画像データをシステムバス205から受け取り、操作部204に出力すると共に、操作部204から入力された情報をシステムバス205へと出力する機能を備える。
コントローラ201は、LAN50及びシステムバス205に接続し、情報の入出力を行うLAN I/F217を備える。
コントローラ201は、入力された画像データに対して加工、編集を行い、また、プリンタ部203に出力される画像データに対して、プリンタに応じた色空間補正、解像度変換等を行う画像処理部214を備える。また、コントローラ201は、画像データの回転、多値画像データに対するJPEGの圧縮伸張処理及び2値画像データに対するJBIG、MMR、MH等の圧縮伸張処理を行う。
このコントローラ201は、LAN50及びシステムバス205に接続された複画像ファイル認識部220を備える。
この複画像ファイル認識部220は、入力されたデータが、複画像ファイルであるか否かを判別する機能を備える。複画像ファイルとは、複数の画像と、それぞれの画像に対応する属性情報を含む画像ファイルである。複画像ファイルの詳細については後述する。この複画像ファイル認識部220へは、USB I/F218を介して接続された記録媒体(いわゆるICメモリ等)又は撮像装置(デジタルカメラ等)、あるいはLANを介してPC20からデータが入力される。
さらに、この複画像ファイル認識部220は、後述する複画像ファイルに記録された画像情報の内容を読み取れるようにする機能を備える。なお、この画像形成装置10では、HDD212等に格納されたプログラムに基づいてコントローラ201(又はCPU210)が、複画像ファイル認識部220の機能を代行するように構成しても良い。この場合には、コントローラ201(又はCPU210)が複画像ファイル認識部として機能する。
(複画像ファイルとしての画像ファイルフォーマットの説明)
次に、この画像形成装置10で扱う複画像ファイルの構成について、図3により説明する。
図3は、本発明の実施の形態に係わる画像形成装置で扱う複数の静止画像を同一のファイルとして記録するフォーマットの構成例を示す説明図である。
この複数の静止画像を記録するためのフォーマットは、ファイル全体に関する情報を記載するファイルヘッダ301と、ファイルに含まれる各ページの情報を記録するページヘッダと、各ページの画像データを記録するページデータの項目とを有する。
このファイルヘッダ301には、対象ファイルのファイルサイズ及びこのファイルが複数の静止画像を同一のファイルとして記録可能なフォーマットである複画像ファイルであることを示す情報が記録される。また、このファイルヘッダ301には、1ページ目のページヘッダ302のアドレス、2ページ目のページヘッダ304のアドレス、3ページ目のページヘッダ306のアドレスが記録される。
この複数の静止画像を同一のファイルとして記録するためのフォーマットには、ページヘッダとページデータとの組が複数組含まれる。図3に例示するように、1ページヘッダ302は、1ページデータ303についての情報が記されたヘッダ情報である。2ページヘッダ304と2ページデータ305、3ページヘッダ306と3ページデータ307も同様の関係にある。各ページデータには静止画画像データが記されている。各ページヘッダの詳細については図4にて詳細を説明する。なお、ここでは、ページヘッダとページデータの組みが3組の場合を説明したが、ページヘッダとページデータの組は、3組に限るものではなく、n(自然数)組からなっていてもよい。
なお、本実施形態では、各ページデータの情報が、当該ページデータに対応するページヘッダに記録される例について説明したが、これに限らず、ファイルヘッダ301に、各ページデータの情報がまとめて記録されるようにしてもよい。その場合、複画像ファイル認識部220は、各ページデータの情報をファイルヘッダ301から取得することによって得ることができる。なお、本フォーマットに対応していないデバイス(画像形成装置等)が本フォーマットのファイルを参照した場合には、1ページヘッダ302、1ページデータ303のみを参照することとなる。
(ページヘッダの説明)
次に、画像ファイルフォーマットにおけるページヘッダについて、図4により説明する。
図4は、本発明の実施の形態に係わる画像形成装置で扱う、複数の画像データを含む複画像ファイルにおけるページヘッダの構成例を示す説明図である。
図4に示すように、ページヘッダにおけるインデックス画像フラグ401は、そのページヘッダに対応するページデータ(画像データ)がインデックス画像か否かを示す領域である。ここでインデックス画像とは、ファイルに含まれる複数の画像の中で代表となる画像を指す。図4のフォーマットにおいてインデックス画像は、各ファイルに1つだけ必ず含まれる。当該インデックス画像は、ファイル生成時には初期状態として、ファイルの先頭(ファイルヘッダに最も近い位置)に位置する画像が設定されている。また、インデックス画像は、ファイルの生成後に、ユーザによって変更可能である。
メイン画像フラグ402は、そのページヘッダに対応するページデータがメイン画像(親画像)であるか否かを示す領域である。メイン画像フラグ402に「1」がセットされている場合、ページデータはメイン画像である。ページデータがメイン画像である場合、当該メイン画像に従属するサブ画像(子画像)をもつ場合がある。
サブ画像フラグ403とは、そのページヘッダに対応するページデータがサブ画像であるか否かを示す領域である。サブ画像フラグ403に「1」がセットされている場合、ページデータはサブ画像である。
次ページのアドレス404には、そのページの次ページのページヘッダアドレスが格納される。最終ページである場合には、最終ページであることを示す値として0が格納される。
サブ画像のアドレス405は、そのページがメイン画像である場合にのみ持つ項目であり、そのページに従属するサブ画像のページヘッダのアドレスが格納される。サブ画像が複数存在する場合には、それら複数のサブ画像のアドレスが格納される。また、サブ画像(子画像)を持たない親画像の場合、メイン画像フラグ402をONにした上で、サブ画像のアドレス405にサブ画像がない旨を表す値として0が格納される。
カラーモード406は、そのページがカラー画像であるかモノクロ画像であるかを示す。
解像度407は、そのページの解像度を示す。
サブ画像種別(従属画像種別)408は、そのページの画像がサブ画像(子画像)の場合に、メイン画像(親画像)との関係を表すものである。例えば、サブ画像がメイン画像の画像サイズを縮小したプレビュー用画像である場合が考えられる。この場合には、そのページの画像がプレビュー用画像であることを表す値が格納される。
また、サブ画像としては、この他にも、デジタルカメラを用いて、同じ対象物を異なる視点で撮影することによって生成される多視点画像(マルチビュー画像)が考えられる。その場合には、そのページの画像が多視点画像用画像であることを表す値が格納される。
その他にも、サブ画像として、デジタルカメラの連写機能を用いて連写された画像である連写画像が考えられる。その場合には、そのページの画像が連写画像であることを示す情報が格納される。また、この場合には、連写された複数の画像のうち、何番目に撮影されたかを示す情報を格納しておくとよい。
また、サブ画像として、デジタルカメラの露出等の条件を変更して撮影されたブラケット画像が考えられる。その場合には、そのページの画像がブラケット画像(入力条件変更画像)であることを示す情報が格納される。
さらに、サブ画像として、デジタルカメラのパノラマ撮影機能を用いて、複数の画像で1枚の画像を構成するパノラマ画像を撮影することによって生成されるパノラマ画像が考えられる。その場合には、そのページの画像がパノラマ画像であることを示す情報が格納される。
なお、サブ画像は、その他の種別の画像であっても良い。
すなわち、サブ画像種別408には、そのページの画像が、プレビュー用画像、マルチビュー画像、連写画像、ブラケット画像又はパノラマ画像等であることを画像形成装置10の複画像ファイル認識部220に認識させるための識別用情報が格納される。
(画像形成装置に格納されている画像ファイル印刷をする場合の動作の説明)
次に、画像形成装置10に格納されている画像ファイルを印刷する場合の動作について、図5を用いて詳細に説明する。
図5は、画像形成装置10の操作部204に表示される画像ファイル閲覧画面501を示す説明図である。
画像形成装置10は、ユーザから画像ファイル閲覧画面の表示指示を受けると、画像ファイル閲覧画面501を操作部204に表示させる。
この画像ファイル閲覧画面501における画像ファイルリスト508には、現在格納されている画像ファイルの一覧が表示される。この画像ファイルリスト505の中には、画像ファイル選択ボタン502、503、504、505、506、507が設けられている。操作部204は、ユーザの指示に基づいて、画像ファイル選択ボタンの表示を、選択状態、または非選択状態に切り替えることによって、対象となる画像データの選択・非選択を表す。図5に示す状態では、20080101_1.imgが選択されている状態にある。
この画像ファイル閲覧画面501において、画像ファイルが選択されている状態で画像ファイル閲覧ボタン510が押下されると、画像形成装置10のコントローラ201は、選択されたファイルに含まれる画像を操作部204に表示するための制御を行なう。
また、画像ファイルが選択されている状態で画像ファイル印刷ボタン509が押下されると、画像形成装置10の出力制御部としてのコントローラ201は、選択されたファイルの印刷を、プリンタI/F215を通じてプリンタ203に指示する。それによって、コントローラ201は、選択された画像ファイルに含まれる画像をプリンタ203に印刷させるように印刷制御する。
なお、上述した印刷動作では、画像形成装置10に格納されている画像ファイルを印刷する場合について説明したが、他の場所に格納されている画像ファイルを指定して印刷することも可能である。例えば、この画像形成装置10では、USB I/F217経由で接続されているUSBデバイスに格納されている画像ファイルを印刷することも可能である。また、この画像形成装置10では、PC20に格納されている画像ファイルをLAN I/F経由で取得して印刷することも可能である。
(画像形成装置における画像ファイルの印刷設定についての説明)
次に、この画像形成装置10で複数の静止画像を同一のファイルとして記録するためのフォーマットを選択して印刷する場合について、図6、図7及び図8を用いて詳細に説明する。
図6は、画像形成装置10の操作部204に表示される画像ファイル印刷設定画面を示す説明図である。
この画像ファイル印刷設定画面601は、図5に示す画像ファイル印刷ボタン509で印刷するように指定された画像ファイルが図3に示す画像ファイルフォーマットの画像ファイルであった場合に、操作部204に表示される。
ユーザは、当該画像ファイル印刷設定画面601を介して、ファイルに含まれる画像の画像種別ごとに、印刷する場合には、所望のレイアウトで印刷するように設定し、印刷しない場合には、非印刷を設定することができる。
この画像ファイル印刷設定画面601には、プレビュー用印刷オプション設定602が含まれる。このプレビュー用印刷オプション設定602は、従属種別である画像ファイルに含まれる各ページのサブ画像種別408が、プレビュー用の画像を示す値であった場合に、当該画像の印刷方法を設定するために用いられる。このプレビュー用印刷オプション602は、指定可能な印刷条件の指定項目としての通常印刷ボタン610、Nin1ボタン611、縮小印刷ボタン612、非印刷ボタン613を含む。これら通常印刷ボタン610、Nin1ボタン611、縮小印刷ボタン612、非印刷ボタン613は、これらの内の何れか一つのみが有効となるように構成されている。
このプレビュー用印刷オプション602において通常印刷ボタン610が選択された状態で印刷が指示された場合、CPU210は、図5で選択されたファイルに含まれる各プレビュー用サブ画像を、1枚の印刷用紙に印刷する。
また、このプレビュー用印刷オプション602においてNin1印刷ボタン611が設定された状態で印刷が指示された場合、CPU210は次のように制御する。CPU210は、図5で選択されたファイルに含まれる複数のプレビュー用サブ画像のうち、N個の画像を1枚の印刷用紙にレイアウトして印刷する。
なお、この画像形成装置10では、プレビュー用印刷オプション602でNin1印刷ボタン611が押下されると、CPU210は、操作部204に、Nin1に関する設定を受付可能な図7に示すNin1設定画面701を表示させる。
図7は、画像形成装置10の操作部204に表示されるNin1設定画面701を示す説明図である。
この画像形成装置10では、Nin1設定画面701の画像枚数指定テキストボックス702で指定された数のサブ画像を一枚の印刷用紙に印刷する。この図7に示す例では、4枚の画像データを一枚の用紙に印刷するように設定されている。
このように、CPU210は、画像種別ごとにNin1の設定を受付け、受付けた値に従って印刷を行うことにより、ユーザは、画像種別ごとに、異なるNの値を設定することができる。なお、Nin1設定ボタン630によって、ファイルに含まれる画像のうち、Nin1形式で印刷するように設定された画像についての、Nの値を一括して設定できるようにしてもよい。
また画像形成装置10は、プレビュー用印刷オプション602において、縮小印刷ボタン612が設定された場合に、プレビュー用サブ画像を縮小して印刷する。
この画像形成装置10では、縮小印刷ボタン612が押下されると、操作部204に、図8に示す縮小率(倍率)設定画面801を表示する。ユーザはこの画面を介して倍率指定設定を行なう。
図8は、画像形成装置の操作部204に表示される縮小率設定画面801を示す説明図である。
この画像形成装置10では、縮小率設定画面801の縮小率指定テキストボックス802で指定された拡大又は縮小率(倍率)でサブ画像を一枚の用紙に印刷する。図8の例では、20%の縮小率で画像データを印刷する。すなわち、図8の例では、画像を通常印刷を行う場合の画像のサイズと比較して、5分の1のサイズに縮小して印刷する。
また画像形成装置10は、プレビュー用印刷オプション602において、非印刷ボタン613が設定されている場合、画像形成装置10は、ファイルに含まれるプレビュー用サブ画像を印刷しない。ユーザは、非印刷ボタン613によって、非印刷設定を行うことができる。
なお、この画像形成装置10では、プレビュー用サブ画像だけでなく、マルチビュー画像や、連写画像、ブラケット画像、パノラマ画像等のサブ画像についても同様に、印刷方法を設定することができる。
また、各種別の画像についての印刷設定の仕方は、前述したプレビュー用印刷オプション設定602における印刷設定の仕方と同様であるため、説明を省略する。
すなわち、この画像形成装置10では、コントローラ201の複画像ファイル認識部220が、図5の画像ファイル選択ボタンで指定された画像データが、図3に示すフォーマット形式の画像ファイルであるか否かを判別する。そして、この画像形成装置10では、図3に示すフォーマット形式の画像ファイルであると判定した場合に、複画像ファイル認識部220がファイルヘッダ301及びページヘッダ302、304、306等を読み込む。そして、この画像形成装置10は、読み込んだページヘッダ302、304、306から各ページの画像種別を読み取り、読み取った画像種別ごとに設定された印刷方法に従って印刷を行う。なお、画像形成装置10は、ファイルに含まれる複数のページのページヘッダを読み取った結果、当該ファイルに存在しなかった種別の設定については、グレーアウトする等の方法により、ユーザから印刷方法の設定を受付けないように制御してもよい。それによって、ユーザは、ファイルに含まれない種別の画像についてまで、印刷方法の設定を行なう必要がなくなる。
また、この画像ファイル印刷設定画面601は、メイン画像優先印刷設定ボタン620と、サブ画像裏面印刷設定ボタン621とを含む。これらメイン画像優先印刷設定ボタン620及びサブ画像裏面印刷設定ボタン621は、これらの内の何れか一つのみが有効となり得るように構成されている。
この画像形成装置10では、メイン画像優先印刷ボタン620が有効にされた状態で印刷が指示された場合(メイン画像優先印刷)に、全てのメイン画像を先に印刷し、その後残りのサブ画像を印刷するよう制御する。このように、メイン画像優先印刷ボタン620は、メイン画像とサブ画像の印刷順序を指定するための印刷順序指定手段として機能する。また画像形成装置10は、サブ画像裏面印刷設定ボタン621が有効にされた状態で印刷が指示された場合(サブ画像裏面印刷)に、画像ファイル中の各メイン画像を表面に印刷し、裏面にメイン画像に対応するサブ画像を印刷するよう制御する。このようにサブ画像裏面印刷設定ボタン621は、サブ画像を指定された印刷用紙の裏面に印刷するための裏面印刷指定手段として機能する。
次に、画像形成装置10が、画像ファイル印刷設定画面601を介してユーザから受け付けた印刷設定で、複画像ファイルに含まれる画像を印刷する際の処理の手順を図9により説明する。
図9は、画像形成装置10で、複数の画像と、それぞれの画像の属性情報とを含む複画像ファイルを選択し、当該複画像ファイルに含まれる画像を印刷する際の、画像印刷処理の手順を示すフローチャートである。なお、図9のフローチャートに示す処理は、図5に示す画面を介してユーザによって、複画像ファイルが選択された状態で、印刷するように指示された場合に、CPU210によって実行される処理である。なお、図5に示す画面を介して、ユーザによって、複画像ファイル以外のファイルが選択された状態で印刷が指示された場合には、当該ファイルに含まれる画像を印刷して処理を終了する。図9のフローチャートに示す各処理は、CPU210が、HDD212に格納されたプログラムをRAM211に読み出して実行することによって行なわれる。
まず、図5に示す画面で、ユーザによって、画像ファイルが選択され、ボタン509が選択された場合に、CPU210は、操作部204に画像ファイル印刷設定画面601を表示させる。そして、CPU210は、ユーザが画像ファイル印刷設定画面601を介して入力した所望の印刷条件を受付け、OKボタンが押された場合に、複画像ファイルに含まれる画像を印刷するための画像印刷処理を開始する。なお、印刷用紙の設定(サイズや用紙の種類)や、印刷濃度の設定等、画像の種別によらない共通の設定は、図5に示す画面を操作部204に表示させる前に、CPU210が、共通印刷設定画面を介してユーザから受付けるようにするとよい。または、図5に示す画面のボタン509が押された後、図6に示す画像ファイル印刷設定画面601を表示する前に、共通印刷設定画面を介して受付けるようにしてもよい。そして、CPU210は、印刷時に、ユーザによって指定された印刷用紙をプリンタ203に給紙させ、ユーザによって設定された印刷濃度で印刷させる。なお、ユーザによって特に指定されなかった場合には、CPU210は、デフォルト値(例えば、A4サイズの用紙に、所定の印刷濃度)でプリンタ203に印刷させるように制御するとよい。
この画像形成装置10は、画像印刷処理が開始されると、ファイルヘッダ301を解析し、ファイルヘッダ301の内容が正常であることを確認する。(ステップS901)。
次に、画像形成装置10は、複画像ファイルに含まれるページヘッダを先頭ページから順次解析する。(ステップS902)そして、画像形成装置10は、ページヘッダ中のメイン画像フラグ402がONになっているかどうかを確認し、現在解析しているページがメイン画像かどうかを判別する。(ステップS903)。
画像形成装置10は、現在解析しているページがメイン画像でないと判断した場合(ステップS903でNO)、画像ファイル印刷設定画面601において、メイン画像優先印刷設定ボタン620が有効にされているかどうかを確認する。(ステップS909)
画像形成装置10は、メイン画像優先印刷設定ボタン620が有効にされていると判断した場合(ステップS909でYES)、全てのメイン画像を先に印刷するよう制御する。このため画像形成装置10は、次ページのヘッダに解析対象を移した(ステップS918)後、ステップS902以降の処理を行う。
また、画像形成装置10は、ステップS903においてメイン画像と判定した場合(ステップS903でYES)には、解析対象ページの印刷データの作成処理を行う。また、ステップS909でメイン画像優先印刷設定ボタン620が無効にされたと判断した場合(ステップS909でNO)にも同様に、画像形成装置10は、解析対象ページの印刷データの作成処理を行う(ステップS904)。なお、ステップS904の印刷データ作成処理の詳細については、図10を用いて後述する。
画像形成装置10は、ステップS904で印刷データを作成した後、プリンタが出力する用紙単位の印刷データが完成したことを表すプリンタ出力フラグが1であるかどうかを確認する(ステップS905)。用紙単位の印刷データの完成とは、1枚の用紙に印刷されるべき印刷データが生成し終わったことを言う。なお、プリンタ出力フラグについては、S904の処理を詳細に示す図10の説明の中で説明する。1枚の用紙にN個の画像を印刷するように指定されている場合には、N個の画像が生成されたことを条件に、用紙単位の印刷データが完成したと言える。
画像形成装置10は、プリンタ出力フラグが1であると判別した場合(ステップS905でYES)には、用紙単位の印刷データが完成したと判断する。そして、画像形成装置10は、印刷バッファに蓄えられたデータの内容をプリンタに出力して印刷を行う(ステップS906)。また、画像形成装置10は、印刷バッファに蓄えられた印刷データをプリンタに出力した場合には、印刷バッファ内のデータを削除し、次の印刷に備える。
この後、画像形成装置10は、プリンタ出力フラグを0に戻し、(ステップS907)次のステップS908へ進む。
また、ステップS905で画像形成装置10が、プリンタ出力フラグが1でないと判別した場合(ステップS905でNO)には、プリンタへの出力は行わずステップS908へ進む。
ステップS908では、画像形成装置10が全ページの解析が終了したかどうかを確認する。画像形成装置10が全ページの解析が終了していないと判断した場合には、解析対象を次ページのヘッダに移し(ステップS918)、ステップS902へ戻ってそれ以降の処理を行う。
このステップS908において、画像形成装置10が、一旦全てのページを解析した後に、メイン画像優先印刷設定ボタン620が有効であったと判断した場合(ステップS908でYES)には、引き続き、サブ画像の印刷に処理を移行する必要がある。なぜならば、このときサブ画像の印刷は、ステップS909の判断でスキップされているからである。
そのため、画像形成装置10は、S910でメイン画像優先印刷設定ボタン620が有効であるかどうかを判断し、無効の場合(ステップS910でNO)に画像印刷処理を終了する。また、画像形成装置10は、メイン画像優先印刷設定ボタン620が有効であると判断した場合(ステップS910でYES)に、ステップS911へ進む。
ステップS911では、画像形成装置10が複画像ファイルに含まれるページヘッダを順次解析する。そして、画像形成装置10は、解析した結果に基づいて解析対象がサブ画像か否かを判定する。(ステップS912)。
画像形成装置10は、サブ画像でないと判定した場合(ステップS912でNO)には、既に印刷データを作成しており、再度印刷データを作成する必要がないため、解析対象を次ページのヘッダに移す(ステップS919)。次に、画像形成装置10は、ステップS911に戻って、それ以降の処理を行う。
画像形成装置10は、サブ画像であると判定した場合(ステップS912でYES)に、解析対象ページの印刷データの作成処理を行う(S913)。なお、ステップS913の詳細については、図10を用いて後述する。
画像形成装置10は、ステップS913において印刷データを作成した後、プリンタが出力する用紙単位の印刷データが完成したことを表すプリンタ出力フラグが1であるかどうかを確認する(ステップS914)。
画像形成装置10は、プリンタ出力フラグが1であると判別した場合(ステップS914でYES)に、用紙単位の印刷データが完成したと判断する。そして、画像形成装置10は、印刷バッファに蓄えられたデータの内容をプリンタ203に出力して印刷を行い(ステップS915)、その後プリンタ出力フラグを0に戻す。(ステップS916)。
また、画像形成装置10は、プリンタ出力フラグが1でないと判別した場合(ステップS914でNO)に、プリンタ203への出力を行わない。
次に、画像形成装置10は、全ページの解析が終了したかどうかを確認する。(S917)そして、画像形成装置10は、全ページの解析が終了していないと判断した場合(ステップS917でNO)に、解析対象を次ページのヘッダに移す。(ステップS919)そして、画像形成装置10は、ステップS911に戻り、それ以降の処理を行う。
(印刷データ作成処理の説明)
次に、上述した図9に示す画像印刷処理におけるステップS904、ステップS913において行う、印刷データ作成処理について、図10、図11を参照して説明する。
図10は、図9に示す画像印刷処理におけるステップS904、ステップS913において行う、印刷データ作成処理の手順を示すフローチャートである。
画像形成装置10は、印刷データ作成処理を開始すると、現在解析している画像データがサブ画像であるかどうかを判定する(ステップS1001)。画像形成装置は、この判断を行うために、画像データのページヘッダに記録されているサブ画像フラグ403の状態を確認する。
画像形成装置10は、解析対象の画像データがサブ画像であると判定した場合(ステップS1001でYES)に、ページヘッダに基づいて、当該画像データのサブ画像種別を確認する。そして、画像形成装置10は、このサブ画像種別に対応する印刷方法(印刷オプション)がどのように設定されているかを判別する(ステップS1002)。この印刷方法は、図6に示す画像ファイル印刷設定画面601においてユーザにより設定されたものである。画像形成装置10は、ステップS1002において判別された印刷方法の内容に従って、処理を切り替える。このステップS1002で選択可能な印刷方法の種類は、通常印刷、Nin1印刷、縮小印刷及び非印刷である。なお、このステップS1002では、上述以外の印刷方法を選択可能に構成しても良いことは勿論である。
画像形成装置10は、印刷方法として通常印刷が設定されたと判別した場合に、ステップS1003以降の処理を行う。
また、画像形成装置10は、印刷方法としてNin1印刷が設定されたと判別した場合には、以下の動作を行う。まず、画像形成装置10は、画像枚数指定テキストボックス702で指定された値を確認する(ステップS1010)。
次に、画像形成装置10は、この指定された値を基に、指定された枚数の画像を用紙に印刷するための適切な縮小率及びRAM211またはHDD212の印刷バッファ上における画像を生成すべき位置を計算する(ステップS1012)。画像を生成すべき位置は、Nの値と、Nin1で印刷される複数の画像のうち、生成される画像が何番目の画像であるかによって変わる。例えば、2in1で印刷するように指定されており、生成される画像が1番目の画像である場合には、生成される画像が印刷用紙の左半分に印刷されるような印刷バッファ上の位置が計算される。また、2in1で印刷するように指定されており、生成される画像が2番目の画像である場合には、生成される画像が印刷用紙の右半分に印刷されるような印刷バッファ上の位置が計算される。なお、左半分に印刷される画像と、右半分に印刷される画像の間には、印刷された印刷物の見栄えが良くなる程度のスペースが設けられていてもよいことは言うまでもない。また、4in1印刷するように指定されており、生成される画像が1番目の画像である場合には、生成される画像が印刷用紙の左上4分の1に印刷されるような印刷バッファ上の位置が計算される。
次に、画像形成装置10は、ステップS1012で計算した縮小率を元に、ページデータに含まれる画像を縮小する(S1013)。
そして、画像形成装置10は、ステップS1003以降の処理を行う。
一方、画像形成装置10は、印刷方法として縮小印刷が設定されたと判別した場合には、縮小率指定テキストボックス802で指定された値を確認する(ステップS1011)。
次に、画像形成装置10は、ステップS1012で計算した縮小率を元に、ページデータに含まれる画像を縮小する(S1013)。
そして、画像形成装置10は、ステップS1003以降の処理を行う。
また、画像形成装置10は、印刷方法として非印刷が設定されたと判別した場合には、印刷データ作成を終了する。
前述したような、設定された印刷方法ごとの処理が終了した後、画像形成装置10は、画像データをプリンタ203が解釈可能な印刷用画像フォーマットに変換する(ステップS1003)。
この印刷用画像ファイルフォーマットとして用いるフォーマットは、一般的に知られるJPEG(Joint Photographic Experts Group)を用いることができる。また印刷用画像ファイルフォーマットは、PNG(Portable Network Graphics)等を用いても良いし、その他、装置独自の画像ファイルフォーマットを用いても良い。
次に、画像形成装置10は、サブ画像裏面印刷設定ボタン621の状態を確認することによって、サブ画像をメイン画像の用紙裏面に印刷するかどうかを判別する(ステップS1004)。この判別結果によって、画像形成装置10は、ステップS1003で得た画像データを、印刷バッファ内の表面の画像を印刷するための位置、あるいは裏面の画像を印刷するための位置のうち、いずれの位置に生成するかを切り替える。
この印刷バッファは、図11に示す構造となっている。この印刷バッファは、両面印刷に対応するために、表面バッファ1105及び裏面バッファ1106を有する。これら表面バッファ1105、裏面バッファ1106に記憶可能なデータサイズは、それぞれ表面バッファサイズ1101、裏面バッファサイズ1103で示される。
これら表面バッファ1105、裏面バッファ1106の先頭アドレスは、それぞれ表面バッファアドレス1102、裏面バッファアドレス1104に記載される。この印刷用バッファはRAM211上に設けてもよいし、HDD212に設けてもよい。
次に、画像形成装置10がサブ画像をメイン画像の用紙裏面に印刷するように設定されていると判断した場合(ステップS1004でYES)には、S1003で得た画像を裏面バッファ1106にコピーする(ステップS1014)。
また、画像形成装置10がサブ画像をメイン画像の用紙の裏面に印刷するように設定されていないと判断した場合(ステップS1004でNO)には、ステップS1003で得た画像を表面バッファ1105に生成する(S1005)。なお、ここで、表面バッファ1105にサブ画像を生成する場合に、前に生成されたメイン画像が印刷バッファに残っているのであれば、サブ画像をメイン画像とは別の領域に生成する。そして、メイン画像とサブ画像をプリンタに出力する際には、メイン画像が印刷される用紙と、サブ画像が印刷される用紙が、別の用紙になるように制御する。
次に、画像形成装置10は、解析対象となっている画像データのサブ画像種別に対応する印刷オプションが、Nin1であるかどうかを確認する。(ステップS1006)ここで画像形成装置10は、印刷オプションがNin1でないと判断した場合(ステップS1006でNO)に、プリンタ出力フラグを1にして印刷データ作成処理を終了する(ステップS1008)。
また、画像形成装置10は、印刷オプションがNin1であると判断した場合(ステップS1006でYES)に、現在解析しているサブ画像の次の画像をNin1で印刷すべきかを判断する(ステップS1007)。
画像形成装置10は、次のサブ画像をNin1で印刷すべきでないと判断した場合(ステップS1007でNO)に、現在の印刷バッファの内容をプリンタに出力可能な状態であると判断する。そして画像形成装置10は、プリンタ出力フラグを1にして(ステップS1008)、印刷データの作成を終了する。
また、画像形成装置10は、次のサブ画像をNin1で印刷すべきであると判断した場合(ステップS1007でYES)に、次のサブ画像を印刷バッファ上に作成する必要があるため、印刷データの作成を終了する。
次に、ステップS1001において、画像形成装置10が解析対象の画像データをサブ画像ではないと判断した場合(ステップS1001でNO)の処理について説明する。
この場合に画像形成装置10は、画像データをプリンタ203が解釈可能な印刷用画像フォーマットに変換する(ステップS1015)。
この印刷用画像ファイルフォーマットとして用いるフォーマットは、一般的に知られるJPEG(Joint Photographic Experts Group)を用いることができる。また印刷用画像ファイルフォーマットは、PNG(Portable Network Graphics)等を用いても良いし、その他、装置独自の画像ファイルフォーマットを用いても良い。
次に、画像形成装置10は、ステップS1015で得た画像を印刷バッファのうちの、表面バッファ1105にコピーする(ステップS1016)。
次に、画像形成装置10は、現在解析対象の画像データにサブ画像がないかどうかを判別する(ステップS1017)。
その結果、サブ画像がないと判断した場合に、画像形成装置10は、さらにメイン画像優先印刷設定ボタン620が有効であるかどうかを判断する。(ステップS1019)。
そして、画像形成装置10は、無効であると判断した場合(ステップS1019でNO)に印刷処理を終了する。また、画像形成装置10は、メイン画像優先印刷設定ボタン620が有効であると判断した場合(ステップS1019でYES)に、メイン画像に従属するサブ画像を印刷する必要がないことになる。このため、画像形成装置10は、プリンタ出力フラグを1にして(ステップS1018)、印刷データ作成処理を終了する。
以上説明したように、画像形成装置10では、画像ファイルフォーマットに含まれる各画像データのページヘッダのサブ画像種別を元に各種の印刷設定を施すことにより、サブ画像の重要性を考慮して設定を行うことが可能となる。これにより画像形成装置10では、ユーザが所望する出力が容易に得られるようになる。
(画像形成装置における他の構成例)
次に、本発明の実施の形態に係わる画像形成装置における他の構成例について説明する。
前述した画像形成装置10では、ユーザが、図5に示す画面を介して、複画像ファイルを選択した状態で、ボタン509が押された場合に、画像ファイル印刷設定画面601を表示し、画像種別ごとの印刷方法の設定を受付ける構成について説明した。それによって、ユーザは、印刷の都度、異なる設定を行い、当該異なる設定によって、複画像ファイルに含まれる画像を印刷することができる。
しかし、この画像形成装置10では、画像ファイル印刷設定画面601により印刷の都度指定するのではなく、初期設定としてあらかじめ画像形成装置10に、複画像ファイルに含まれる画像の印刷方法を、画像種別ごとに設定できるようにしても良い。この初期設定は、例えば、画像形成装置10の機器設定として、画像ファイル印刷設定画面601を介して受付ける。すなわち、印刷すべき複画像ファイルが選択される以前に予めユーザにより設定されるものである。そして、図5に示す画面を介して複画像ファイルが選択され、ボタン509が押された場合に、印刷設定画面601を表示することなく、機器設定として設定された、画像種別ごとの印刷方法に従って、複画像ファイルに含まれる画像を印刷するように制御する。それによって、ユーザは、印刷の都度、印刷条件の指定操作をすることなく、ユーザの所望する出力を容易に得られる。このような制御は、例えば、USBメモリ等の外部記憶媒体がUSB I/F218に接続されたことに応じて、当該記憶媒体に記憶された画像を印刷するメモリダイレクトプリントに好適である。記憶媒体を接続することに応じて印刷することができるメモリダイレクトプリントを行う場合でも、複画像ファイルに含まれる全ての画像を1枚の印刷用紙に1つの画像を印刷するのではなく、所望の画像を所望のレイアウトで印刷することができる。
以上説明したように、本実施の形態に係わる画像形成装置10では、プリント用に入力されたデータのファイルヘッダの情報に基づいて、当該画像データが複画像ファイルであることを認識できる。さらに、この画像形成装置10は、この認識した画像ファイルに含まれる複数の画像の種別を判別し、判別した複数の画像を、画像の種別ごとの印刷設定に従って印刷を行うことができる。また、ユーザは、当該画像種別毎に、印刷方法を設定することができる。
さらに、この画像形成装置10では、画像ファイルから複数の静止画像を、印刷レイアウト又は縮尺条件等を調整して、ユーザが所望する印刷方法で印刷する。これにより、この画像形成装置10では、画像ファイルに格納された複数の静止画像を、ユーザの好みや使い勝手の良さに対応したレイアウトや、縮小率で印刷することができる。
なお、上述した実施形態では、画像の種別ごとに、通常印刷、Nin1印刷、縮小印刷、非印刷のいずれかを設定する場合について説明したが、印刷設定の例はこれらに限られるものではない。例えば、パノラマ画像については、デジタルカメラのパノラマ機能を用いて複数の画像が接合されて1つのパノラマ画像が構成される場合がある。その場合、複画像ファイルの複数のページデータに分かれて画像データが記憶されている場合でも、当該複画像ファイルを印刷する際に、CPU210は自動的に複数の画像を接合し、1つのパノラマ画像として1枚の印刷用紙に印刷するように制御してもよい。このような制御は、サブ画像種別の情報に、種別がパノラマ画像であることを示す情報に加えて、当該ページデータに含まれる画像が、複数の画像データから構成されるパノラマ画像のうちのどの部分の画像データかを示す情報を格納しておくことによって実現できる。そして、CPU210は、ページヘッダに含まれるサブ画像種別の情報のうち、当該ページヘッダに対応する画像が、複数の画像から構成されるパノラマ画像のうちのどの部分の画像であるかを示す位置情報に基づいて接合すればよい。なお、CPU210は、メイン画像が、パノラマ画像の一部に該当する画像を含む場合に、当該メイン画像と従属関係にあるサブ画像をメイン画像に接合するかたちで、パノラマ画像を生成して1枚の印刷用紙に印刷すればよい。また、接合した後のパノラマ画像のサイズが、指定された印刷用紙に収まりきらない場合、CPU210は、1枚の印刷用紙に収まるように、パノラマ画像を縮小して印刷すればよい。
また、連写画像は、デジタルカメラの連写機能を用いて複数の画像が連続して撮影されたものである。その場合、それら複数の画像が、複画像ファイルの複数のページデータに分かれて記憶されている場合がある。そのような場合、CPU210は、複数の連写画像を1枚の印刷用紙に、連写された画像の数分、並べて印刷するとよい。その際に、1枚の用紙に収まりきらない場合には、1枚の印刷用紙に収まりきるように縮小して印刷するとよい。また、1枚の印刷用紙に印刷される画像の数を設定しておき、設定された数だけ、印刷するように制御してもよい。その場合に、1枚目の印刷用紙に印刷されなかった連写画像については、次のページに、1枚目の印刷用紙に印刷した画像サイズと同じサイズ、同じ並べ方(レイアウト)にて並べて印刷するとよい。
また、上述した実施形態では、画像形成装置10が備えるコントローラ201が、上述したような制御を行なう場合について説明したが、画像形成装置10の外部のホストコンピュータにて、例えば、プリンタドライバが上述のような制御をしてもよい。
次に、図12に示すメモリマップを参照して、本発明に係る画像表示装置で読み取り可能なデータ処理プログラムの構成について説明する。
図12は、本発明に係る画像表示装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報、作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施の形態における機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施の形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
その他、プログラムの供給方法としては、次のようなものがある。例えば、外部のコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのものを、ハードディスク等の記録媒体にダウンロードすることによっても供給できる。もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等のコンピュータ読取可能な記憶媒体に格納してユーザに配布することもできる。そして、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することもできる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現される場合に限らない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づいた制御を行うことも可能である。例えば、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
本発明は上記実施の形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施の形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。例えば、本実施の形態では、画像形成装置10内部のCPU210が上記各種制御の主体となっていたが、画像形成装置10とは別の筐体の外付けコントローラ等によって、上記各種制御の1部又は全部を実行してもよい。
以上、本発明の様々な例と実施の形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は本明細書内の特定の説明に限定されるのではない。