(57)【要約】    【課題】  １枚の印刷媒体に複数枚の画像データを割り付ける場合に、各画像データの下方向を統一させた良好な印刷レイアウトを容易に且つ低コストで実現することができる画像記録装置を提供する。    【解決手段】  印刷媒体上に少なくとも１つ以上の画像データを割り付けて印刷するための印刷データを生成するに際して、各画像データの観測時下方向情報を取得し、その観測時下方向情報に従って印刷レイアウトを切り換える。例えば、１つのレイアウトタイプごとに２通りのレイアウトパターンを用意し、画像データが観測時上下方向を基準にして縦長／横長のいずれであるかに応じて、前記２通りのレイアウトパターンの中から１つのレイアウトパターンを選択する。そして、切り換えられた印刷レイアウトと前記画像データに基づき、印刷データを生成する。【選択図】      図１４
2006167917.tif 000002
【特許請求の範囲】
【請求項１】
印刷媒体上に画像データを割り付けて印刷するための印刷データを生成する画像記録装置であって、
前記画像データの回転情報を取得する回転情報取得手段と、
前記回転情報に従って印刷レイアウトを切り換えるレイアウト切り換え手段とを備え、
前記レイアウト切り換え手段によって切り換えられた印刷レイアウトと前記画像データに基づき、印刷データを生成することを特徴とする画像記録装置。
【請求項２】
前記レイアウト切り換え手段は、１つのレイアウトタイプごとに４通りのレイアウトパターンを有し、前記回転情報に応じて、前記４通りのレイアウトパターンの中から所定のレイアウトパターンを選択することを特徴とする請求項１に記載の画像記録装置。
【請求項３】
前記レイアウト切り換え手段は、１つのレイアウトタイプごとに２通りのレイアウトパターンを有し、前記回転情報に基づいて、前記画像データが観測時上下方向を基準にして縦長／横長のいずれであるかに応じて、前記２通りのレイアウトパターンの中から所定のレイアウトパターンを選択することを特徴とする請求項１に記載の画像記録装置。
【請求項４】
印刷媒体上に少なくとも１つ以上の画像データを割り付けて印刷するための印刷データを生成する画像記録装置であって、
前記各画像データごとに画像の回転情報をそれぞれ取得する回転情報取得手段と、
前記回転情報に従って画像データの印刷順をソートするソート手段とを備え、
前記ソート手段によってソートされた順に従い、前記少なくとも１つ以上の画像データから印刷データを生成することを特徴とする画像記録装置。
【請求項５】
前記ソート手段は、
前記画像データの画像サイズを取得する画像サイズ取得手段と、
前記画像サイズ取得手段から得られる画像サイズ情報と前記回転情報とに基づき前記画像データの下方向が下辺となるように画像データを回転させた場合に、その回転後の画像データが縦長になるか横長になるかを判断する画像データ長手方向判断手段と、
前記画像データ長手方向判断手段で得られた判断結果に基づいて、画像データの印刷順をソートすることを特徴とする請求項４に記載の画像記録装置。
【請求項６】
複数の画像データを１枚の印刷媒体上に割り付けて印刷するためのレイアウタを有し、
前記レイアウタで複数の画像データを１枚の印刷媒体上に割り付ける際に、前記画像データ長手方向判断手段で画像データが縦長と判断された画像データと、横長と判断された画像データとが同一印刷媒体上に割り付けられないようにすることを特徴とする請求項５に記載の画像記録装置。
【請求項７】
前記レイアウタで複数の画像データを１枚の印刷媒体上に割り付ける際に、前記回転情報に従って印刷媒体上に割り付けられる全ての画像データの下方向が同じ方向になるように回転する下方向統一手段を有することを特徴とする請求項６に記載の画像記録装置。
【請求項８】
前記複数の画像データをデコードしたデコード結果全体を保持することができないようなメモリ制約がある構成であって、
前記下方向統一手段は、該当ページにおける回転後の画像の取得処理の処理量が最も少なくなるような組み合わせを検出する組み合わせ検出手段と、
前記組み合わせ検出手段の指定に従い画像の回転を行う画像回転部とを有することを特徴とする請求項７に記載の画像記録装置。
【請求項９】
前記レイアウタは、１つのレイアウトタイプごとに２つのレイアウトパターンを有し、該当ページに割り付けられる画像データが縦長／横長のいずれであるかに応じて、前記２つのレイアウトパターンのうちの一方を使用することを特徴とする請求項６乃至８のいずれかにに記載の画像記録装置。
【請求項１０】
印刷媒体上に少なくとも１つ以上の画像データを割り付けて印刷するための印刷データを生成する画像記録装置であって、
前記各画像データごとに画像の回転情報をそれぞれ取得する回転情報取得手段と、
前記回転情報に従って各画像データを割り付ける際の画像回転角度を決定する回転角度決定手段と、
前記回転角度決定手段によって決定された回転角度に従い、前記画像データを個別に回転し割り付けて印刷データを生成することを特徴とする画像記録装置。
【請求項１１】
前記回転角度決定手段は、前記印刷媒体の上下左右どの辺に着目するかを決定する着目方向決定手段を有し、前記着目方向決定手段により決定された着目方向辺と前記回転情報に基づく画像データの下方向とを合わせるように前記各画像データの回転角度を決定することを特徴とする請求項１０に記載の画像記録装置。
【請求項１２】
前記着目方向決定手段は、印刷媒体上に割り付けるレイアウトパターンに対して一意に決定された方向を出力することを特徴とする請求項１１に記載の画像記録装置。
【請求項１３】
前記着目方向決定手段は、印刷媒体上に割り付けるレイアウトパターンにより決定される画像割り付け枠の長手方向と、前記回転情報から決定される観測時下方向を基準にした場合の長手方向とが一致する画像数が多くなるように方向を決定することを特徴とする請求項１１に記載の画像記録装置。
【請求項１４】
印刷媒体上に少なくとも１つ以上の画像データを割り付けて印刷するための印刷データを生成する画像記録装置であって、
前記画像データの回転情報を取得する回転情報取得手段と、
前記回転情報をレイアウトに反映させる機能を持つレイアウト手段とを備え、
前記レイアウト手段によって設定されたレイアウトに従って前記画像データに基づき印刷データを生成することを特徴とする画像記録装置。
【請求項１５】
印刷媒体上に画像データを割り付けて印刷するための印刷データを生成する画像記録装置の印刷データ生成方法であって、
前記画像データの回転情報を取得する回転情報取得工程と、
前記回転情報に従って印刷レイアウトを切り換えるレイアウト切り換え工程と、
前記レイアウト切り換え工程によって切り換えられた印刷レイアウトと前記画像データに基づき、印刷データを生成する工程とを実行することを特徴とする画像記録装置の印刷データ生成方法。
【請求項１６】
印刷媒体上に少なくとも１つ以上の画像データを割り付けて印刷するための印刷データを生成する画像記録装置の印刷データ生成方法であって、
前記各画像データごとに画像の回転情報をそれぞれ取得する回転情報取得工程と、
前記回転情報に従って画像データの印刷順をソートするソート工程と、
前記ソート工程によってソートされた順に従い、前記少なくとも１つ以上の画像データから印刷データを生成する工程とを実行することを特徴とする画像記録装置の印刷データ生成方法。
【請求項１７】
印刷媒体上に少なくとも１つ以上の画像データを割り付けて印刷するための印刷データを生成する画像記録装置の印刷データ生成方法であって、
前記各画像データごとに画像の回転情報をそれぞれ取得する回転情報取得工程と、
前記回転情報に従って各画像データを割り付ける際の画像回転角度を決定する回転角度決定工程と、
前記回転角度決定工程によって決定された回転角度に従い、前記画像データを個別に回転し割り付けて印刷データを生成する工程とを実行することを特徴とする画像記録装置の印刷データ生成方法。
【請求項１８】
印刷媒体上に少なくとも１つ以上の画像データを割り付けて印刷するための印刷データを生成する画像記録装置の刷データ生成方法であって、
前記画像データの回転情報を取得する回転情報取得工程と、
前記回転情報をレイアウトに反映させる機能を持つレイアウト工程と、
前記レイアウト工程によって設定されたレイアウトに従って前記画像データに基づき印刷データを生成する工程とを実行することを特徴とする画像記録装置の印刷データ生成方法。
【請求項１９】
印刷媒体上に画像データを割り付けて印刷するための印刷データを生成する画像記録装置の印刷データ生成方法を実行するための、コンピュータで読み取り可能な制御プログラムであって、
前記画像データの回転情報を取得する回転情報取得ステップと、
前記回転情報に従って印刷レイアウトを切り換えるレイアウト切り換えステップと、
前記レイアウト切り換えステップによって切り換えられた印刷レイアウトと前記画像データに基づき、印刷データを生成するステップとを備えたことを特徴とする制御プログラム。
【請求項２０】
印刷媒体上に少なくとも１つ以上の画像データを割り付けて印刷するための印刷データを生成する画像記録装置の印刷データ生成方法を実行するための、コンピュータで読み取り可能な制御プログラムであって、
前記各画像データごとに画像の回転情報をそれぞれ取得する回転情報取得ステップと、
前記回転情報に従って画像データの印刷順をソートするソートステップと、
前記ソートステップによってソートされた順に従い、前記少なくとも１つ以上の画像データから印刷データを生成するステップとを備えたことを特徴とする制御プログラム。
【請求項２１】
印刷媒体上に少なくとも１つ以上の画像データを割り付けて印刷するための印刷データを生成する画像記録装置の印刷データ生成方法を実行するための、コンピュータで読み取り可能な制御プログラムであって、
前記各画像データごとに画像の回転情報をそれぞれ取得する回転情報取得ステップと、
前記回転情報に従って各画像データを割り付ける際の画像回転角度を決定する回転角度決定ステップと、
前記回転角度決定ステップによって決定された回転角度に従い、前記画像データを個別に回転し割り付けて印刷データを生成するステップとを備えたことを特徴とする制御プログラム。
【請求項２２】
印刷媒体上に少なくとも１つ以上の画像データを割り付けて印刷するための印刷データを生成する画像記録装置の刷データ生成方法を実行するための、コンピュータで読み取り可能な制御プログラムであって、
前記画像データの回転情報を取得する回転情報取得ステップと、
前記回転情報をレイアウトに反映させる機能を持つレイアウトステップと、
前記レイアウトステップによって設定されたレイアウトに従って前記画像データに基づき印刷データを生成するステップとを備えたことを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷媒体上に画像データを割り付け印刷する画像記録装置及びその印刷データ生成方法、並びに前記印刷データ生成方法を実行するための制御プログラムに関する。
【背景技術】
【０００２】
従来、画像データを自動的に割り付けて印刷する場合には、紙の無駄を無くすためにレイアウタによって指定される矩形領域と画像データの長手方向とを合わせて印刷を行っている。その際、画像を回転させる必要がある場合には、常に一定の方向へ９０°回転させるといった手法を採るだけで、画像の下方向などは一切考慮せずに割り付けていたため、次のような不具合が存在した。
【０００３】
（１）１枚の印刷媒体に複数枚の画像データを割り付ける際に画像の上下方向が一致しない場合がある。
【０００４】
（２）画像データだけではなく、その他の上下方向を意識したオブジェクトも挿入するようなレイアウトにする場合に、オブジェクトの上下方向と画像データの上下方向とでつじつまが合わないことがある。
【０００５】
これらの不具合のうち、前記（１）の不具合については特許文献１で次のような対策がなされている。複数の原稿をスキャナで読み取り、それらのインデックス印刷を行う場合において、スキャナからの入力データに基づいて原稿画像データの大きさや向きなどを検知し、それらの情報を利用して各原稿の長手方向を判断し、縦長であるか或いは横長であるかの情報を考慮したレイアウトを行って、インデックス出力を行っている。
【０００６】
また、特許文献２では、前記（１）の不具合について、ユーザーが画像データをディスプレイ等に表示させた際の方向に従って画像を印刷するといった対策を講じている。
【特許文献１】特開平６−３４２４６３号公報
【特許文献２】特許第３０８２９８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記の特許文献１及び特許文献２の従来技術では、次のような問題点があった。
【０００８】
特許文献１では、原稿データを何かしらの光学的手段によって読み取り、その結果得られた画像データの縦横サイズによって、その画像データを縦長に出力するのか、横長に出力するのかを判断している。そのため、例えば、近年のデジタルカメラで保存されるような、カメラを縦に構えて撮影した画像を横長画像として記録するシステムに対しては、適用することができない。
【０００９】
また、特許文献２の手法では、確かに前記（１）の不具合を改善することができるものの、この手法を実現するためには、画像データを表示させるための表示装置や、表示させる画像データを保持しておくメモリなどが必要であり、それらを備えるためのコストが必要となる。また、印刷する画像データ数が膨大である場合にも全ての画像データを表示させる必要があるばかりか、それぞれの画像に対してユーザーが個別に表示方向を設定しなくてはならず、非常に煩雑になる。
【００１０】
本発明は上記従来の問題点に鑑み、画像データの下方向を統一させた良好な印刷レイアウトを容易に且つ低コストで実現することができる画像記録装置及びその印刷データ生成方法、並びに制御プログラムを提供することを目的とする。また、その他の目的は、画像データのみでなくオブジェクトも含めたレイアウト全体での下方向統一を可能にする画像記録装置及びその印刷データ生成方法、並びに制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は上記目的を達成するため、印刷媒体上に画像データを割り付けて印刷するための印刷データを生成する画像記録装置であって、前記画像データの回転情報を取得する回転情報取得手段と、前記回転情報に従って印刷レイアウトを切り換えるレイアウト切り換え手段とを備え、前記レイアウト切り換え手段によって切り換えられた印刷レイアウトと前記画像データに基づき、印刷データを生成することを特徴とする。
【００１２】
また、本発明は、印刷媒体上に少なくとも１つ以上の画像データを割り付けて印刷するための印刷データを生成する画像記録装置であって、前記各画像データごとに画像の回転情報をそれぞれ取得する回転情報取得手段と、前記回転情報に従って画像データの印刷順をソートするソート手段とを備え、前記ソート手段によってソートされた順に従い、前記少なくとも１つ以上の画像データから印刷データを生成することを特徴とする。
【００１３】
また、本発明は、印刷媒体上に少なくとも１つ以上の画像データを割り付けて印刷するための印刷データを生成する画像記録装置であって、前記各画像データごとに画像の回転情報をそれぞれ取得する回転情報取得手段と、前記回転情報に従って各画像データを割り付ける際の画像回転角度を決定する回転角度決定手段と、前記回転角度決定手段によって決定された回転角度に従い、前記画像データを個別に回転し割り付けて印刷データを生成することを特徴とする。
【００１４】
また、本発明は、印刷媒体上に少なくとも１つ以上の画像データを割り付けて印刷するための印刷データを生成する画像記録装置であって、前記画像データの回転情報を取得する回転情報取得手段と、前記回転情報をレイアウトに反映させる機能を持つレイアウト手段とを備え、前記レイアウト手段によって設定されたレイアウトに従って前記画像データに基づき印刷データを生成することを特徴とする。
【００１５】
また、本発明は、印刷媒体上に画像データを割り付けて印刷するための印刷データを生成する画像記録装置の印刷データ生成方法であって、前記画像データの回転情報を取得する回転情報取得工程と、前記回転情報に従って印刷レイアウトを切り換えるレイアウト切り換え工程と、前記レイアウト切り換え工程によって切り換えられた印刷レイアウトと前記画像データに基づき、印刷データを生成する工程とを実行することを特徴とする。
【００１６】
また、本発明は、印刷媒体上に少なくとも１つ以上の画像データを割り付けて印刷するための印刷データを生成する画像記録装置の印刷データ生成方法であって、前記各画像データごとに画像の回転情報をそれぞれ取得する回転情報取得工程と、前記回転情報に従って画像データの印刷順をソートするソート工程と、前記ソート工程によってソートされた順に従い、前記少なくとも１つ以上の画像データから印刷データを生成する工程とを実行することを特徴とする。
【００１７】
また、本発明は、印刷媒体上に少なくとも１つ以上の画像データを割り付けて印刷するための印刷データを生成する画像記録装置の印刷データ生成方法であって、前記各画像データごとに画像の回転情報をそれぞれ取得する回転情報取得工程と、前記回転情報に従って各画像データを割り付ける際の画像回転角度を決定する回転角度決定工程と、前記回転角度決定工程によって決定された回転角度に従い、前記画像データを個別に回転し割り付けて印刷データを生成する工程とを実行することを特徴とする。
【００１８】
また、本発明は、印刷媒体上に少なくとも１つ以上の画像データを割り付けて印刷するための印刷データを生成する画像記録装置の刷データ生成方法であって、前記画像データの回転情報を取得する回転情報取得工程と、前記回転情報をレイアウトに反映させる機能を持つレイアウト工程と、前記レイアウト工程によって設定されたレイアウトに従って前記画像データに基づき印刷データを生成する工程とを実行することを特徴とする。
【００１９】
また、本発明は、印刷媒体上に画像データを割り付けて印刷するための印刷データを生成する画像記録装置の印刷データ生成方法を実行するための、コンピュータで読み取り可能な制御プログラムであって、前記画像データの回転情報を取得する回転情報取得ステップと、前記回転情報に従って印刷レイアウトを切り換えるレイアウト切り換えステップと、前記レイアウト切り換えステップによって切り換えられた印刷レイアウトと前記画像データに基づき、印刷データを生成するステップとを備えたことを特徴とする。
【００２０】
また、本発明は、印刷媒体上に少なくとも１つ以上の画像データを割り付けて印刷するための印刷データを生成する画像記録装置の印刷データ生成方法を実行するための、コンピュータで読み取り可能な制御プログラムであって、前記各画像データごとに画像の回転情報をそれぞれ取得する回転情報取得ステップと、前記回転情報に従って画像データの印刷順をソートするソートステップと、前記ソートステップによってソートされた順に従い、前記少なくとも１つ以上の画像データから印刷データを生成するステップとを備えたことを特徴とする。
【００２１】
また、本発明は、印刷媒体上に少なくとも１つ以上の画像データを割り付けて印刷するための印刷データを生成する画像記録装置の印刷データ生成方法を実行するための、コンピュータで読み取り可能な制御プログラムであって、前記各画像データごとに画像の回転情報をそれぞれ取得する回転情報取得ステップと、前記回転情報に従って各画像データを割り付ける際の画像回転角度を決定する回転角度決定ステップと、前記回転角度決定ステップによって決定された回転角度に従い、前記画像データを個別に回転し割り付けて印刷データを生成するステップとを備えたことを特徴とする。
【００２２】
また、本発明は、印刷媒体上に少なくとも１つ以上の画像データを割り付けて印刷するための印刷データを生成する画像記録装置の刷データ生成方法を実行するための、コンピュータで読み取り可能な制御プログラムであって、前記画像データの回転情報を取得する回転情報取得ステップと、前記回転情報をレイアウトに反映させる機能を持つレイアウトステップと、前記レイアウトステップによって設定されたレイアウトに従って前記画像データに基づき印刷データを生成するステップとを備えたことを特徴とする。
【発明の効果】
【００２３】
本発明によれば、画像データの向き（例えば下方向）を統一させた良好な印刷レイアウトを容易に且つ低コストで実現することが可能になる。さらに、画像データのみでなくオブジェクトも含めたレイアウト全体での下方向統一が可能となる。
【発明を実施するための最良の形態】
【００２４】
本発明の画像記録装置及びその印刷データ生成方法、並びに制御プログラムの実施の形態について、図面を参照しながら説明する。本実施の形態の画像記録装置は、例えばフォトダイレクトプリンタに適用される。
【００２５】
まず、本実施の形態において用いられる画像記録システムの全体概要、ハードウェア構成の概要、及びソフトウェア構成の概要について説明する。
【００２６】
＜画像記録システムの全体概要＞
図１は、本発明の画像記録装置を備えた画像記録システムの概略構成を示すブロック図である。
【００２７】
同図に示された画像記録システムは、デジタルカメラ等からダイレクトに印刷を行う場合のフォトダイレクトプリントシステムとして適用されるものであり、デジタルカメラ等で構成されるホスト装置１１と、フォトダイレクトプリンタ等で構成される画像記録装置１２とを備え、これらが双方向インタフェース１３を介して接続されている。
【００２８】
また、画像記録装置１２を用いてメモリカードからのダイレクトプリントを行う際には、画像記録装置１２に備えられたカードアダプタに直接メモリカードを挿入し、データアクセスを行う。
【００２９】
＜画像記録装置１２のハードウェア構成＞
次に、画像記録装置１２のハードウェア構成の概要について説明する。
【００３０】
図２は、フォトダイレクトプリントシステムを構成する画像記録装置１２のハードウェア構成を示すブロック図である。
【００３１】
同図に示すように、画像記録装置１２は制御基盤１００を備えている。制御基盤１００には、画像データ生成等を行うためのＣＰＵなどを有する半導体集積回路であるＡＳＩＣ１０１と、メモリ１１４を装備している。メモリ１１４は、ＡＳＩＣ１０１内ＣＰＵの制御プログラムを記憶するプログラムメモリ、実行時のプログラムを記憶するＲＡＭエリア、及び画像データなどを記憶するワークメモリエリアを有している。
【００３２】
また、図中の１０２は、オペレーションパネル１０３を接続するためのコネクタであり、ユーザーは、オペレーションパネル１０３を使用して各種印刷設定情報の設定やメンテナンス、メモリカード内の画像閲覧、印刷画像指定、印刷開始指定及び印刷キャンセルなどを行うことができる。オペレーションパネル１０３は、コネクタ１０４を介してビューワ１０５と接続されている。ビューワ１０５は、メモリカード１０７内に記録された画像の閲覧や、ＧＵＩによるメニュー表示、各種エラーメッセージの表示などを行う。
【００３３】
１０６はメモリカード１０７接続用のコネクタであり、メモリカード１０７から直接画像データを読み込んで印刷することができる。１０８は、図１のホスト装置１１に相当するデジタルカメラ１１０を接続するためのポートとしてのＵＳＢバスコネクタである。１０９はデジタルカメラ１１０を接続するための端子、１１０はデジタルカメラである。
【００３４】
デジタルカメラ１１０は、内部のメモリに保存している画像データ及び印刷設定情報を画像記録装置１２に対して出力可能に構成されている。なお、デジタルカメラ１１０の構成としては、内部に記憶手段としてのメモリを備えるものや、取り外し可能なメモリを装着するためのスロットを備えたものなど、種々の構成を採用することができる。これにより、デジタルカメラ１１０内の画像データをデジタルカメラで設定された印刷設定情報に従って処理し、カメラダイレクトプリントすることができる。
【００３５】
１１１はＵＳＢバスハブであり、接続コネクタ１１２経由で接続されたパソコン１１３からの画像データに基づいて印刷を行う際には、パソコン１１３からのデータをスルーする。１１５はキャリッジ制御基盤及びプリントヘッド１１６を接続するためのコネクタである。１１７はＬＦモータドライバであり、１１８はＬＦモータ１１９を接続するためのコネクタである。同様に１２０はＡＳＦモータドライバであり、１２１はＡＳＦモータ１２２を接続するためのコネクタである。１２３は電源コネクタで、電源１２４により商用ＡＣから変換された直流電圧を入力している。
【００３６】
＜画像記録装置１２のソフトウェア構成の概要＞
次に、画像記録装置１２のソフトウェア構成の概要について説明する。
【００３７】
以下、図３を参照しつつ、実際にメモリカードからダイレクトプリントを行う場合、及びデジタルカメラからダイレクトプリントを行う場合の処理の流れに沿って、画像記録装置１２のモジュール構成を説明する。図３は、画像記録装置１２のソフトウェアのモジュール構成を示すブロック図である。
【００３８】
（Ｉ）メモリカードを用いたダイレクトプリント
始めに、メモリカードを用いたダイレクトプリントについて説明する。
【００３９】
メモリカード１０７が接続されている場合、ユーザーはオペレーションパネル１０３とビューワ１０５を利用して、メモリカード１０７内の画像を閲覧／印刷するために、画像の指定及び印刷開始指示を行える。
【００４０】
ユーザーがメモリカード１０７内の画像データを印刷する場合は、オペレーションパネル１０３中の印刷開始キーが押されたタイミングで、まずオペレーションパネル用Ｉ／Ｆ部２０６からフォトダイレクト機能制御部２０１に対して印刷開始要求がなされる。なお、オペレーションパネル用Ｉ／Ｆ部２０６とビューワ用Ｉ／Ｆ部２０８は、連携してオペレーションパネルのキー操作情報、デジタルカメラ１１０やメモリカード１０７の接続状態情報を共有して、ビューワ１０５に適切なメニュー画面や画像データの表示等を行う。
【００４１】
印刷開始要求を受けたフォトダイレクト機能制御部２０１は、それをメイン制御部２００に通知し、メイン制御部２００は、メモリカード１０７以外のデジタルカメラ１１０やパソコン１１３からのデータを受け付けなくするように、ＤＳＣ用ＵＳＢ Ｉ／Ｆ部２０２やパソコン用のＵＳＢ Ｉ／Ｆ部（図示省略）に指示する。これらの指示が伝わり、画像記録装置１２がメモリカード１０７からの印刷に専念できる状態になった後、メイン制御部２００は、フォトダイレクト機能制御部２０１にフォトダイレクトプリント処理に遷移する許可を与える。
【００４２】
フォトダイレクト機能制御部２０１は、許可を受けた後、ラスタライザマネージャー２１０に印刷指示を与える。ラスタライザマネージャー２１０は現在のプリントモードに合ったラスタライザを選択して処理を行わせる。例えば、パソコン１１３からの印刷の場合には、フォトダイレクトプリンタ１２に流れてくるデータは印刷データそのものであるのに対し、デジタルカメラ１１０やメモリカード１０７からダイレクトに印刷を行う場合には、フォトダイレクトプリンタ１２に流れてくるデータがデコードなどもされていない画像ファイルデータであるため、ラスタライザ２１３が印刷データの生成も行う必要がある。そのため、パソコン１１３からの印刷の場合には、ラスタライザマネージャー２１０は非ＰＤ印刷用ラスタライザ２１１を選択し、パソコン１１３からの印刷データを処理させる。また、デジタルカメラ１１０やメモリカード１０７からの印刷を行う場合にはジョブ生成部２１２及びラスタライザ２１３に処理させる。
【００４３】
ジョブ生成部２１２は、ラスタライザマネージャー２１０から印刷処理指示を受けると、まずフォトダイレクト機能制御部２０１に対して、現在、メモリカード１０７からのダイレクトプリントか、それともデジタルカメラ１１０からのダイレクトプリントかを問い合わせる。その結果、メモリカード１０７からのダイレクトプリントであることを通知された場合、オペレーションパネル用Ｉ／Ｆ部２０６からユーザーが設定した印刷設定情報を取得し、ジョブを生成する。その後、ジョブ生成部２１２はラスタライザ２１３に印刷処理指示を与える。
【００４４】
ラスタライザ２１３はジョブ情報に基づき印刷データを生成する。ジョブ情報は、用紙サイズや用紙の種類、１枚割り付け印刷やインデックス印刷などの各種印刷方法、印刷品位、各種画像補正に関する指定、印刷指定された画像ファイルに関する情報、及びメモリカード１０７／デジタルカメラ１１０のどちらからの印刷であるかに関する情報、などの情報から成る。
【００４５】
ラスタライザ２１３はまず、ジョブ情報を解釈し、メディアの種類や印刷品位からプリンタエンジン部（図示省略）の動作モードを決定し、エンジン制御部２１５に伝える。次に、用紙サイズや印刷方法に従って、１枚の印刷媒体上のどの位置にどのような大きさで画像データを割り付けるかといったレイアウト情報を形成し、印刷指定された画像ファイルに関する情報を用いて印刷データ生成を行う。印刷データの生成は例えば次のようなステップでなされる。
（１）印刷指定された画像ファイルを読み込み、デコードする。
（２）デコード後の色空間をデバイス固有の色空間へと変換する。
（３）デバイスの各画素の状態を表す量子化量への変換（ハーフトーニング）を行う。
【００４６】
なお、ここでの量子化量への変換とは、画像記録装置１２の処理するデータの形態に対応し、例えば、画像記録装置１２による記録が２値データに基づき行われる場合は、２値化し、画像記録装置１２による記録が多値データ（濃淡インクによる記録、大小インクによる記録を行うため）に基づき行われる場合は、多値化されることである。
【００４７】
さらに、ラスタライザ２１３は、必要に応じて給紙や排紙、フィード、プリントなどの要求をエンジン制御部２１５に対して出し、エンジン制御部２１５とメッセージをやり取りして、同期を取りながら処理を進めていく。
【００４８】
メモリカード１０７からのダイレクトプリントの場合、印刷指定された画像ファイルへのアクセスはメモリカード用Ｉ／Ｆ部２０４を通して行う。また、デジタルカメラ１１０からのプリントの場合は、ＤＳＣ用ＵＳＢ Ｉ／Ｆ部２０２を通して行う。
【００４９】
データ変換部２１４は、ラスタライザ２１３や非ＰＤ印刷用ラスタライザ２１１により生成された印刷データを、プリンタエンジン部が受け付けるデータ形式へと変換するとともに、所定量の変換データが揃うごとにメイン制御部２００経由でエンジン制御部２１５に通知する。
【００５０】
エンジン制御部２１５はエンジンの動作モードを考慮して、前述の変換データをプリンタエンジン部に渡し、印刷処理を行わせる。
【００５１】
（ＩＩ）デジタルカメラ１１０からダイレクトプリントを行う場合の処理
次に、デジタルカメラ１１０からのダイレクトプリントを行う場合の処理に沿って説明する。
【００５２】
デジタルカメラ１１０が接続されている場合、ユーザーはデジタルカメラ１１０に備えられた機能を利用して、デジタルカメラ１１０の記憶部内の画像を閲覧／印刷するために、画像の指定、印刷設定及び印刷開始指示を行える。ユーザーがデジタルカメラ１１０からダイレクトに画像データを印刷する場合、デジタルカメラ１１０の印刷開始キーが押されたタイミングで、まずＤＳＣ用ＵＳＢ Ｉ／Ｆ部２０２からフォトダイレクト機能制御部２０１に対して印刷開始要求がなされる。
【００５３】
印刷開始要求を受けたフォトダイレクト機能制御部２０１は、それをメイン制御部２００に通知し、メイン制御部２００はデジタルカメラ１１０以外のメモリカード１０７やパソコン１１３からのデータを受け付けなくするように、メモリカード用Ｉ／Ｆ部２０４やパソコン用のＵＳＢ Ｉ／Ｆ部に指示する。これらの指示が伝わり、画像記録装置１２がデジタルカメラ１１０からの印刷に専念できる状態になった後、メイン制御部２００はフォトダイレクト機能制御部２０１にフォトダイレクトプリント処理に遷移する許可を与える。
【００５４】
この際のフォトダイレクト機能制御部２０１の動作は、メモリカード１０７からのダイレクトプリントを行う場合と同様である。
【００５５】
ジョブ生成部２１２は、ラスタライザマネージャー２１０から印刷処理指示を受けると、まずフォトダイレクト機能制御部２０１に対して現在メモリカード１０７からのダイレクトプリントか、それともデジタルカメラ１１０からのダイレクトプリントかを問い合わせる。その結果、デジタルカメラ１１０からのダイレクトプリントであることを通知された場合、ＤＳＣ用ＵＳＢ Ｉ／Ｆ部２０２からユーザーが設定した印刷設定情報を取得し、ジョブを生成する。その後、ジョブ生成部２１２はラスタライザ２１３に印刷処理指示を与える。
【００５６】
この際のラスタライザ２１３の動作は、メモリカード１０７からのダイレクトプリントを行う場合とほぼ同様であり、異なる点は、ＤＳＣ用ＵＳＢ Ｉ／Ｆ部２０２経由で所望の画像ファイルにアクセスすることである。また、データ変換部２１４とエンジン制御部２１５についても、メモリカード１０７からのダイレクトプリントを行う場合と同様の動作がなされる。
【００５７】
＜ラスタライザ２１３の処理＞
本発明は、上述したソフトウェア構成におけるラスタライザ２１３に最も関係しており、以下、図４、図５（ａ），（ｂ）、及び図６を参照して、ラスタライザ２１３の処理の概要について説明する。
【００５８】
なお、図４は、ラスタライザ２１３の処理の概要を示すフローチャートである。図５（a）,（b）は、インデックス印刷を行う場合の説明図であり、同図（a）はインデックス印刷を行う場合の印刷単位を示し、同図（b）はインデックス印刷を行った場合の外観図である。また、図６は、日付文字列を画像内に挿入する場合の印刷イメージを示すイメージ図である。
【００５９】
まず図４のステップＳ３００では、ジョブ生成部２１２からの印刷指示を受け取った後、印刷データ生成処理を開始し、続くステップＳ３０１では、用紙サイズ、用紙種類、プリント方法、印刷品位、画像補正設定、及び印刷指定画像などユーザーが指定した様々な情報を取得する。
【００６０】
さらに、ステップＳ３０２においては、前記ステップＳ３０１で取得したジョブ情報の中に含まれる、用紙種類や、印刷品位、縁有り印刷かどうかなどの情報を参照して、プリンタエンジン部の動作モードを決定し、ステップＳ３０３では、前記ステップＳ３０２で決定したプリンタエンジン部の動作モードをエンジン制御部２１５に通知するとともに、これから印刷を行うためのプリンタエンジン部の初期化を指示する。
【００６１】
次のステップＳ３０４では、ジョブ情報のうち、用紙サイズ、プリント方法及びレイアウト方法を参照し、また先に決定されたプリンタエンジン部の動作モードによる印刷データの解像度情報も参考にして、１枚の印刷媒体上に何枚の画像を割り付けるか、また、それぞれの画像をどの位置にどのような大きさで割り付けるかといったレイアウト情報を生成する。また、このステップＳ３０４でレイアウト情報が設定されるのは画像だけに限らず、日付印刷を行う場合の文字列の挿入位置を示す画像内文字列レイアウト情報や、インデックスプリントを行う場合の画像外文字列レイアウト情報に関しても同様に設定される。さらに、画像データや文字列以外の罫線などの各種オブジェクトに関しても設定される。
【００６２】
続くステップＳ３０５の画像割り付けステップは、各ページの先頭で実行される。このステップでは、前記ステップＳ３０４で設定された該当ページ内の各画像割り付け位置に対して、印刷指定がなされている画像データのうち、どの画像データを割り付けるかを決定する。そしてステップＳ３０６は、ジョブ情報を参照して、今回与えられたジョブがインデックス印刷であるか、あるいはそれ以外の印刷であるかを判断し、次に実行されるステップを切り換える。
【００６３】
ステップＳ３０６でインデックス印刷であると判断された場合、ステップＳ３０７の画像外文字列割り付けステップへと処理が移る。ここでは、先にステップＳ３０４で設定された文字列レイアウト情報に従って処理がなされる。インデックス印刷を行う場合、メモリカード１０７内の画像データの一覧を印刷するとともに、図５（ａ）に示すようにその画像データ４００の作成された日付４０２やファイル番号４０１なども一緒に印刷される。
【００６４】
インデックス印刷は、画像リストを作成するという用途のため、例えば、各画像と、それら画像の作成日時やファイル番号などが図５（ａ）の４０３に示されるような単位で１組になって、図５（ｂ）に示すようにそれらが複数並んだ形式で印刷される。そのため、ステップＳ３０７では、印刷媒体上に割り付けられた画像データの作成日時やファイル番号などの情報を取得し、該当画像データと図５（ａ）のような位置関係を満たすレイアウト位置にこれらの情報を配置する。この配置された情報は文字列であり、ステップＳ３０７では、このレイアウト位置にどういった文字列を印刷するかを設定する。
【００６５】
一方、ステップＳ３０６において、今回与えられたジョブがインデックス印刷以外であると判断された場合には、ステップＳ３０８の画像内文字列割り付けステップへと処理が移る。このステップではまず、ジョブ情報を参照し、ユーザーが日付印刷を行うように指定したかどうかを判断する。もし日付印刷を行わない場合はこのステップは何もしないで次の処理に移る。それに対し日付印刷を行う場合には、先にステップＳ３０４で設定された画像内文字列レイアウト情報に従って処理がなされる。
【００６６】
インデックス印刷以外で日付印刷を行う場合、図６のように日付文字列４１１は画像データ４１０内に挿入されて印刷がなされる。この文字列の配置位置情報が画像内文字列レイアウト情報であり、ステップＳ３０８では、このレイアウト位置に該当画像データから取得したファイル作成日時を配置するよう設定する。
【００６７】
画像等の割り付け設定が終わると、次にステップＳ３０９に移る。ステップＳ３０９では、ラスタライザ２１３がエンジン制御部２１５に対して、給紙を行うように指示を行う。その後、印刷データ生成処理（ステップＳ３１１）と、排紙処理（ステップＳ３１２）を行い、ステップＳ３１２では、ジョブが終了したか否かを判断し、未だジョブが終了していないときには、前記ステップＳ３０４へ戻り、ジョブが終了したならば、プリンタエンジン部の終了処理を行い（ステップＳ３１３）、ジョブ生成部２１２に対して印刷処理終了通知を行う（ステップＳ３１４）。
【００６８】
＜印刷データ生成処理の詳細＞
（Ｉ）１枚の印刷媒体上に１枚の画像データを割り付けて印刷する場合の例
図７は、図４中の印刷データ生成処理（ステップＳ３１０）の詳細を示すフローチャートであり、簡便のために１枚の印刷媒体上に１枚の画像データを割り付けて印刷を行う場合のフロー例を示している。
【００６９】
画像記録装置１２は、本印刷データ生成処理を開始して（ステップＳ５００）、まずステップＳ５０１において、印刷指定された画像データをデジタルカメラ１１０もしくはメモリカード１０７から読み込み、メモリ１１４内へと格納する。
【００７０】
ここでの画像データの読み込みはメモリ１１４に余裕があり、一度に全て読み込めるのであれば読み込んでしまうことが望ましいが、読み込めない場合にはステップＳ５０２のデコードステップで画像データを部分的にデコードするようにし、その部分デコードに必要なデータを随時読み込むようにしても良い。ここでは簡単のため、一度に画像データが読み込める場合について説明をする。
【００７１】
次のステップＳ５０２では、前記ステップＳ５０１で読み込まれた画像データを参照して画像データのデコードを行う。ここでは例えばＪＰＥＧやＴＩＦＦなど、様々な形式の画像データをデコードする。メモリ１１４に余裕がある場合には、ここで画像全体をデコードし、デコード後の画像データをメモリ１１４に保存しておいて以降の処理を行う。また、メモリ１１４に余裕がない場合には以降の処理が行われる基本単位、例えば実際に印刷媒体に割り付けられた時の方向に画像データの向きを合わせた場合の１ラスタ単位でデコードする。もしここで、デコード対象がＪＰＥＧである場合には便宜上のため、ＭＣＵのサイズを考慮して８もしくは１６ラスタ単位でデコードしても良い。
【００７２】
以下では、本実施の形態で採り上げたフォトダイレクトプリンタ１２において、より現実的なメモリに余裕のない場合、つまり、１ラスタもしくは８／１６ラスタ単位でデコードを行い、印刷データ生成処理を行う場合についてのみ説明する。
【００７３】
ステップＳ５０３では、前記ステップＳ５０２で得られたデコード後の画像データの色空間をデバイス固有の色空間へと変換する。この変換は数式を使って直接計算するものでも良いし、ＬＵＴ（ルックアップテーブル）を使ったものでも良い。
【００７４】
続くステップＳ５０４では、前記ステップＳ５０３で得られた色空間変換後の画像データに対し、レイアウト情報で指定された画像データを印刷媒体上に実際に割り付ける矩形の大きさに従って変倍処理を行う。ここでの変倍処理としてはニアレストネイバーやバイリニア、バイキュービックなどの多種多様なアルゴリズムが適用できる。そして、変倍処理後のデータは、レイアウト情報を参照して印刷領域の幅分用意されたラインバッファ内の画像割り付け位置に見合った場所へと出力される。
【００７５】
そして、ステップＳ５０５では、日付印刷のＯＮ／ＯＦＦを判断し、日付印刷がＯＮであればステップＳ５０６及びステップＳ５０７の処理を行い、ＯＦＦであればそれらの処理を行わない。
【００７６】
ステップＳ５０６では、図４のステップＳ３０８で設定された文字列情報に従って、デコードする文字列と出力サイズを決定し、フォントデータをデコードすると共に出力サイズに見合った大きさへと変倍処理を施してビットマップデータを生成し、次のステップＳ５０７へ渡す。ステップＳ５０７では、渡されたビットマップデータを参照して、図４のステップＳ３０８で指定された文字列情報に従い、前記ステップＳ５０４で得られた変倍処理後の画像データの適切な位置にインポーズする。そして、変倍処理後、必要であればフォントのインポーズも行った後の画像データに対してハーフトーニングを行う（ステップＳ５０８）。
【００７７】
その後のステップＳ５０９では、プリンタエンジン部が印字を行う際に要求する基本処理単位分の印刷データが揃ったかどうかを判断し、揃った場合にはステップＳ５１０の処理を行い、揃わない場合はステップＳ５１０をスキップして、ステップＳ５１１へ移行する。基本処理単位はプリンタエンジン部に依存し、例えば１６ラスタ等が指定される。ステップＳ５１０は印刷データ生成量に関するプリンタエンジン部への通知ステップであり、これをきっかけにして、プリンタエンジン部はラスタライザのためた印刷データの処理を行う。
【００７８】
ステップＳ５１１では、ページ内の処理を行ったラスタ数と図４のステップＳ３０４で設定されたレイアウト情報とから該当ページ内の終了ラスタに達したかどうかを判断し、終了ラスタに達していない場合には前記ステップＳ５０２へ戻ってデコード処理以降を繰り返す。該当ページ内処理が終了した場合には、ステップＳ５１２へ移る。
【００７９】
ステップＳ５１２では、前記ステップＳ５１０の処理により、プリンタエンジン部で印刷処理がなされていない印刷データが残っている場合の端数処理を行う。例えばエンジン側の基本処理単位が１６ラスタである場合に、８ラスタ分の印刷データしか揃っていない場合には、残りの８ラスタ分をＮｕｌｌデータ、つまりインクを全く打たないデータで埋めて、印刷データを揃え、プリンタエンジン部に通知する。そして、印刷データ生成処理を終了する（ステップＳ５１３）。
【００８０】
（ＩＩ）１枚の印刷媒体に対して複数枚の画像データを割り付けて印刷する場合の例
上記（Ｉ）では、印刷データ生成処理（図４のステップＳ３１０）として、１枚の印刷媒体に対して１枚の画像データを割り付け印刷する例を挙げた。次に、同じく印刷データ生成処理（図４のステップＳ３１０）で、１枚の印刷媒体に対して複数の画像データを割り付けた場合の印刷データ生成処理の例について説明する。複数枚の画像データの割り付け方は様々な方法があるが、ここでは、図８（ａ），（ｂ），（ｃ）に示すように、複数の画像を周期的に且つ縁無しで配置した場合について説明する。
【００８１】
図８（ａ），（ｂ），（ｃ）は、複数枚の画像データを１枚の印刷媒体上に「縁無し」で割り付けた場合の割り付け例を示す概念図である。即ち、図８（ａ），（ｂ），（ｃ）に示す例は、画像データＡから画像データＨまでの８枚の画像データを、それぞれ２枚割り付けた場合（図８（ａ））、４枚割り付けた場合（図８（ｂ））、８枚割り付けた場合（図８（ｃ））を例に挙げているが、これら以外にも周期的に画像を並べることによって実現可能な様々な割り付け方法が存在することは言うまでもない。
【００８２】
図９は、複数枚の画像データを１枚の印刷媒体上に「縁無し」で割り付けた場合の印刷データ生成処理を示すフローチャートである。即ち、図８（ａ），（ｂ），（ｃ）に示すような割り付け方法で画像データを割り付け、印刷データを生成するための処理フローを示している。
【００８３】
以下、この図９のフローチャート、図１０及び図１１を参照しながら、本実施の形態で扱う複数枚画像を割り付けた場合の印刷データ生成方法について説明する。なお、図１０は、図９の印刷データ生成処理で用いられる画像の行方向と列方向の定義を説明するための説明図である。また、図１１は、図９の色処理データ生成処理（ステップＳ５２４）の処理フローを示すフローチャートである。
【００８４】
本実施の形態では、便宜上、複数枚割り付け時の画像の配列について、図１０に示すように行方向と列方向を定義する。複数枚画像を割り付けた場合の印刷データ生成処理を開始すると（図９のステップＳ５２０）、ステップＳ５２１からステップＳ５３０までの画像行ループを実行する。
【００８５】
図９で示す処理フローでは、図１０に示す画像行単位で印刷データ生成処理を繰り返す。具体的には、まず１行目の印刷データを生成し、次に２行目、３行目、…、ｎ行目と繰り返す。この画像行ループを表すのが図９のステップＳ５２１〜ステップＳ５３０である。つまり図１０の例であれば、まず画像Ａと画像Ｂの部分に相当する印刷データを生成し、処理が終わると次に画像Ｃと画像Ｄの印刷データを生成する。引き続き画像Ｅと画像Ｆ、最後に画像Ｇと画像Ｈと処理を続ける。
【００８６】
そして１ページ分の印刷データの生成が終了すると、ステップＳ５３１の端数分印刷データ処理を行い、ステップＳ５３２で本印刷データ生成処理の終了となる。ここで、ステップＳ５３１の端数分印刷データ処理は、先に説明した図７のステップＳ５２２と同じ役割を果たす。
【００８７】
次に、上記画像行ループの中身について説明する。図９の処理フローは、先に説明した図７の処理フローと同様に印刷データを１ラスタごとに生成する方法について示している。この処理フロー中の、画像データ読み込みステップ（Ｓ５２３）と色処理データ生成処理ステップ（Ｓ５２４）は画像単位で行う。このステップＳ５２３とステップＳ５２４の処理は、画像行内に含まれる各画像に対して、特にどのような順番で行わなければならないということはない。但し、図９にはその一例として、画像列順に処理を行う画像列ループ（ステップＳ５２２とステップＳ５２５）が挙げられている。即ち、図１０の例で説明すると、１行目の印刷データを生成する場合には、ステップＳ５２３とステップＳ５２４の処理を画像Ａ、画像Ｂの順に行う。また、１回の処理で得られる出力は１ラスタ分のみであるから、実際にはこれらの処理を画像行内の終了ラスタに達するまで繰り返すことになる。
【００８８】
ステップＳ５２３の画像データ読み込みステップは、図７におけるステップＳ５０１と同様である。また、ステップＳ５２４の色処理データ生成処理ステップの詳細を図１１に示す。
【００８９】
図１１において、ステップＳ５４０とステップＳ５４７はそれぞれ色処理データ生成処理の開始と終了である。また、ステップＳ５４１のデコードステップとステップＳ５４２の色空間変換ステップは図７のステップＳ５０２、ステップＳ５０３と同様であり、次のステップＳ５４３の画像データ変倍ステップは、図７のステップＳ５０４と同様である。この他ステップＳ５４４の日付印刷ＯＮ／ＯＦＦ判断ステップや、ステップＳ５４５のフォントデコードステップ、ステップＳ５４６のフォントインポーズステップは、それぞれ図７のステップＳ５０５、ステップＳ５０６、ステップＳ５０７と同様である。
【００９０】
図９に戻り、ステップＳ５２５で画像列ループの出力として得られる１ラスタの色処理出力データに対して、ステップＳ５２６のハーフトーニングがなされ、ステップＳ５２７で所定量の印刷データが揃ったら、ステップＳ５２８でプリンタエンジン部への通知がなされる。これらステップＳ５２６のハーフトーニングステップ、ステップＳ５２７の印刷データ生成量確認ステップ、及びステップＳ５２８の印刷データ生成量に関するプリンタエンジン部への通知ステップはそれぞれ、図７におけるステップＳ５０８、ステップＳ５０９、ステップＳ５２０の各ステップと同じ役割を果たす。
【００９１】
その後のステップＳ５２９では、現在処理しているラスタが該当画像行の終端ラスタかどうかを判断して、もし終端ラスタであれば次の画像行へと処理を移し、そうでない場合には該当画像行の次のラスタを処理するため、ステップＳ５２２の画像列ループへと戻る。
【００９２】
そして、画像行ループが終了すると、ステップＳ５３１の印刷データ端数処理を行い、ステップＳ５３２で印刷データ生成処理を終了する。
【００９３】
（ＩＩＩ）罫線などのオブジェクトを挿入して印刷する場合の例
上記（ＩＩ）では、印刷データ生成処理（ステップＳ３１０）の処理フローとして、１枚の印刷媒体に対して複数枚の画像データを割り付け印刷する例を挙げた。次に、同じく印刷データ生成処理（ステップＳ３１０）において、１枚の印刷媒体に対して少なくとも１枚の画像データを割り付け、さらに罫線などのオブジェクトを挿入した場合の印刷データ生成処理の例について説明する。
【００９４】
この場合の割り付け方にも様々な方法があるが、ここでは図１２（ａ），（ｂ）に示すようなレイアウトの場合を説明する。図１２（ａ），（ｂ）は、オブジェクトを挿入したレイアウト例を示す模式図であり、画像データＡ，Ｂ，Ｃの３枚と（図１２（ａ））、画像データＤの１枚の画像データ（図１２（ｂ））をそれぞれ割り付け、さらに罫線４６５（図１２（ａ））、罫線４６７（図１２（ｂ））も割り付けた場合の例を挙げているが、これら以外にも様々な割り付け方が存在することは言うまでもない。
【００９５】
以下、図１２（ａ），（ｂ）に示すような割り付け方法で画像データを割り付け、印刷データを生成するための処理フローを説明する。この場合の処理フローも、先に説明した複数枚の画像割り付け時の処理フロー（図９）と殆ど同じであり、色処理データ生成処理（ステップＳ５２４）だけが異なる。
【００９６】
図１３は、オブジェクトを挿入した場合の色処理データ生成処理を示すフローチャートである。同図を参照しつつ、少なくとも１枚の画像と罫線などのオブジェクトを割り付けた場合の色処理データ生成処理について説明する。
【００９７】
図１３において、ステップＳ５５０とステップＳ５５８はそれぞれ色処理データ生成処理の開始と終了である。また、ステップＳ５５１のデコードステップとステップＳ５５２の色空間変換ステップはそれぞれ図７のステップＳ５０２、ステップＳ５０３と同様であり、ステップＳ５５３の画像データ変倍ステップは、図７のステップＳ５０４と同様である。
【００９８】
ステップＳ５５３で画像データを変倍した後、ステップＳ５５４のオブジェクト挿入ステップへと移る。ここでは、図４のレイアウト情報生成ステップ（Ｓ３０４）で指定されたオブジェクト情報に従い、オブジェクト挿入を行う。この段階では、既に画像データはデバイス固有の色空間に変換されているため、罫線などのオブジェクトを挿入する場合もやはりその色空間のデータを用いる。
【００９９】
図１２（ａ），（ｂ）のレイアウトの場合、単色の罫線を挿入するため、デバイス固有の色空間で挿入する罫線の色を印刷媒体ごとに保持しておけば色空間変換処理を行わずにオブジェクト挿入ができ、スループットを良好にすることができる。もしここで単色ではないビットマップなどのオブジェクトを挿入する場合には、色空間変換を行う前に挿入しておかなければならない。これは、単色でない場合には挿入する罫線などのオブジェクトをレイアウトに応じて拡大／縮小しなければならないが、拡大／縮小方法によって、処理後様々な色が発生し、それぞれの色に対するデバイス固有色を保持するのには多くのメモリを必要としたり、オブジェクトがビットマップであるような場合には画像データと一緒に変倍処理した方が処理も軽くなるなどの理由からである。
【０１００】
また、ステップＳ５５５の日付印刷ＯＮ／ＯＦＦ判断ステップ、ステップＳ５５６のフォントデコードステップ、及びステップＳ５５７のフォントインポーズステップは、それぞれ図７のステップＳ５０５、ステップＳ５０６、ステップＳ５０７と同様である。
【０１０１】
以上がラスタライザ２１３処理の概略である。
【０１０２】
以下、上記実施の形態を前提とした本発明の具体的な実施例について説明する。
【０１０３】
［第１の実施例］
第１の実施例は、前述した図４のレイアウト情報生成ステップ（Ｓ３０４）に関するものであり、第１の実施例を説明するにあたり、図１２（ｂ）のように画像データを割り付ける場合を想定する。第１の実施例では、図１２（ｂ）に示すようなレイアウトに沿って画像データの良好なレイアウトを行うために、次のような構成と処理手順を採る。
【０１０４】
＜第１の実施例に係るレイアウト情報生成処理＞
図１４は、第１の実施例に係るレイアウト情報生成ステップ（Ｓ３０４）を実現するためのモジュール構成を示すブロック図であり、図１５は、第１の実施例の説明補足図である。本実施例では、以下のような処理手順（Ａ１）〜（Ａ４）によりレイアウト情報を生成する。
【０１０５】
処理手順（Ａ１）：
処理手順（Ａ１）では、該当ページに割り付けられる画像データファイルを解析し、画像サイズ（縦横ピクセル数）と、回転情報としての観測時（撮影時）下方向情報を取得する。図１４における画像ファイル解析部３００では、入力画像ファイルから観測時下方向情報を次のようにして取得する。近年デジタルカメラなどを用いて撮影された画像ファイルには、デジタルカメラ内部に備えられた重力センサの情報を用いて、保存された画像ファイルの上下左右いずれが観測時（撮影時）の下方向に相当するかの情報が記述されている。この情報は、他の撮影時情報などと容易に区別できる様にタグで区切られているため、そのタグを解析することによって、その情報を取得することができる。また、画像サイズについては、ファイルのヘッダー部を解釈することによって取得することができる。
本実施例においては下方向の情報として説明したが、画像を正立して観察するために有用な情報であれば、上方向でも左右を示す情報でも良いことは言うまでもない。
【０１０６】
処理手順（Ａ２）：
処理手順（Ａ２）では、画像の長手方向と観測時下方向情報とから、実際に該当画像を割り付けるレイアウトパターンを決定する。この処理は、図１４における長手方向判断部３０１とレイアウトパターン決定部３０２に関する処理である。まず長手方向については、前記処理手順（Ａ１）で取得された画像の縦ピクセル数と横ピクセル数の大小比較により容易に判断することができる。つまり、縦ピクセル数の方が大きい場合は画像の上下方向が長手方向となり、逆の場合は横方向が長手方向となる。この判断を行い、その情報を出力するのが長手方向判断部３０１である。
【０１０７】
実際にデジタルカメラ１１０などで撮影された画像は、図１５の画像データ４７０，４７１，４７２，４７３に示すように、上記のように得られた長手方向と前記処理手順（Ａ１）で得られた観測時下方向情報とから４つのパターンに分類できる。即ち、横長画像で且つ画像データの下が観測時下方向である場合（画像データ４７０）と、横長画像で且つ画像データの上が観測時下方向である場合（画像データ４７１）と、縦長画像で且つ画像データの右が観測時下方向である場合（画像データ４７２）と、縦長画像で且つ画像データの左が観測時下方向である場合（画像データ４７３）との４つのパターンである。
【０１０８】
これらの画像データを何も考慮せずに図１２（ｂ）のレイアウトタイプにそのまま割り付けると、画像データ４７０については良好な割り付けが行えるが、それ以外の画像については不良な割り付けとなってしまう。
【０１０９】
そこで本実施例では、図１２（ｂ）のレイアウトタイプに対して、図１５の右側に示すような４つのレイアウトパターン４７４，４７５，４７６，４７７を用意しておき、前述の入力画像データのパターンによって、これらの内のどれを利用するかを選択する。この選択処理を行うのがレイアウトパターン決定部３０２である。この結果、図１５の右側の４７４〜４７７に示すような良好なレイアウト印刷が可能となる。
【０１１０】
処理手順（Ａ３）：
処理手順（Ａ３）では、図４のジョブ情報取得ステップ（Ｓ３０１）で得た用紙サイズと、前記処理手順（Ａ２）で得たレイアウトパターンとから、実際に印刷媒体上に割り付ける画像データ印刷領域の幅と高さ及び位置座標を設定する。この処理を行うのが図１４におけるデータベース検索部３０３であり、この検索部３０３から画像データ印刷領域情報の出力が行われる。各画像データ印刷領域の幅及び高さは、印刷データを生成する処理解像度によるピクセル数単位とする。画像データ印刷領域情報、つまり画像データ印刷領域の幅と高さ及び位置座標は、用紙サイズとレイアウトパターンの組み合わせを用いてデータベースを検索することによって取得する。このデータベース自体は、どのようなレイアウトで印刷させるかを設計者が任意に決めれば良い。但し、図１５に示した第１のカテゴリ（４７０，４７４）と第２のカテゴリ（４７１，４７５）、並びに第３のカテゴリ（４７２，４７６）と第４のカテゴリ（４７３，４７７）の印刷結果や画像、罫線などのレイアウトが、ユーザーには全く同じに見えるように対称にする必要がある。
【０１１１】
処理手順（Ａ４）：
処理手順（Ａ４）では、罫線４６７の幅と高さ及び位置座標を設定する。この処理も図１４におけるデータベース検索部３０３が行い、データベース検索部３０３から罫線情報の出力が行われる。罫線４６７の幅と高さは、印刷データを生成する処理解像度によるピクセル数を単位とする。また、罫線情報、つまり罫線矩形の幅、高さ、位置座標及び色の設定の仕方は、やはり設計者の任意であるが、ここでも、第１のカテゴリ（４７０，４７４）と第２のカテゴリ（４７１，４７５）、並びに第３のカテゴリ（４７２，４７６）と第４のカテゴリ（４７３，４７７）の印刷結果や画像、罫線などのレイアウトが、ユーザーには全く同じに見えるように対称にする必要がある。
【０１１２】
以上の説明及び図１４からも明らかなように、入力画像ファイルと、レイアウトタイプと、用紙サイズと、図１４のデータベース検索部３０３で検索するデータベースを作成するために必要な画像及び罫線などのオブジェクトのレイアウト情報とがあれば、上記処理により良好なレイアウト機能を実現することができる。
【０１１３】
＜第１の実施例の利点＞
本実施例と従来技術の違いは、入力画像の観測時下方向情報を取得し、それを用いてレイアウトパターン自体を切り換えるという点である。本実施例ではこの処理によって、図１２（ｂ）のような画像の上下方向を考慮しなければならないレイアウトタイプに対して非常に良好なレイアウト機能が実現できる。
【０１１４】
また、本実施例では、図１２（ｂ）のようなレイアウト印刷を行うために図１５の右側のような４つのレイアウトパターンを用意して、これらを使い分けるような形態を説明したが、１つのレイアウトタイプに対して上記した第１のカテゴリと第３のカテゴリの２つのレイアウトパターンを用意しておき、第１のカテゴリと第２のカテゴリに分類される画像は第１のカテゴリのレイアウトパターンを適用し、第３のカテゴリと第４のカテゴリの画像は第３のカテゴリのレイアウトパターンを適用しても、良好なレイアウト結果を得ることができる。
【０１１５】
レイアウトパターンを２つ用意しておく場合と４つ用意しておく場合とでどちらでも良好なレイアウト印刷が実現できるが、それ以外の点でそれぞれ異なる長所がある。
【０１１６】
２つのレイアウトパターンを持つ場合では、１つのレイアウトタイプに対するレイアウト情報を２通りだけ持てば良いから、レイアウト情報を格納しておくメモリ使用量が減少する。さらに、第１と第２のカテゴリ、並びに第３と第４のカテゴリの互いに対称なレイアウトパターンを設定する必要がないため、「縁無し」印刷を行うような場合には、上下左右のはみ出し印刷領域の違いによる画像やオブジェクトの位置ずれを意識することなく簡単に設定することができる。
【０１１７】
一方、４つのレイアウトパターンを持つ場合では、画像ファイルを０°、もしくは９０°回転させてデコードする機能を持つデコーダに対して、１８０°、２７０°回転の機能を追加しなくても良好なレイアウト機能が実現できる。また、画像データを割り付ける時に、観測時下方向ではなく入力画像データ自体が横長であれば画像の回転処理が一切要らないため、処理の負担を軽くすることができる。
【０１１８】
ところで、従来では、画像を回転させてデコードする場合には一度画像データ全体をデコードし、そのデコードイメージ全体をメモリに保持して、そのデータの読み出し順を制御することによって所望のデータを得ていた。しかしこの方法は、組み込み系などのようなメモリに制約があるシステムへの搭載が非常に困難であるため、こうしたシステムでは、本当に必要な部分の画像データのみをその都度部分的にデコードする機能が搭載されている。このような部分デコード機能を実現するためには、非連続なアドレスを指定したファイルアクセスが頻繁に生じたり、画素の位置座標管理が必要だったりするため、単純にデコードするのと比べて非常に重い処理となる。特に入力画像データとしてＪＰＥＧファイルを扱うような場合には、ＭＣＵの区切り目が固定長ｂｉｔ間隔でないため、部分デコードを行う前に、一度ファイル全体を眺めていき、ＭＣＵの区切り目を把握して、必要な位置座標情報を取得する必要も生じる。
【０１１９】
この点について、４つのレイアウトパターンを持つことは、横長画像データを回転させる必要がないため、メモリやＣＰＵの性能に制約があるシステムに対して極めて有効である。また、縦長画像に対しては回転デコードの必要があるが、実際にデジタルカメラで撮影された画像などは横長画像が大半を占めるため、大抵の場合に効果のある処理といえる。しかし、パソコンのようなメモリが十分過ぎるほど用意されている環境では、１枚分のデコードイメージを保持できるため、レイアウトパターンを４つ持つメリットがなく、先に述べた長所からも２つ持つ方が良いといえる。
【０１２０】
なお、本実施例では、メモリに制約を受けたシステムにも適用可能なように印刷データを１ラスタ単位で生成する場合の処理フローを説明したが、上述の内容から容易に想像できる通り、本実施例のレイアウト情報生成ステップでの処理は、印刷データ生成処理単位に依存するものではないことは言うまでもない。
【０１２１】
以上のように、第１の実施例では、１つのレイアウトタイプに対して、画像の下方向に応じた４つもしくは２つのレイアウトパターンを用意しておき、それらを画像の観測時下方向情報と画像の長手方向とで使い分けるようにしたので、罫線などのオブジェクトも含めたレイアウト全体での良好なレイアウト印刷が可能になる。
【０１２２】
［第２の実施例］
第２の実施例は、前述した図４の画像割り付けステップ（Ｓ３０５）に関するものであり、第２の実施例の説明を行うにあたり、図１６に示すように画像データを割り付ける場合を想定する。図１６は、複数画像を１枚の印刷媒体に割り付けた例を示す模式図である。第２の実施例では、図１６のレイアウトに沿って複数の画像データＡ，Ｂ，Ｃ，Ｄの良好な割り付けを行うために、次のような構成と処理手順を採る。
【０１２３】
＜第２の実施例に係る画像割り付け処理＞
図１７は、第２の実施例に係る画像割り付けステップ（Ｓ３０５）を実現するためのモジュール構成を示すブロック図であり、図１８は、第２の実施例の説明補足図である。本実施例では、以下のような処理手順（Ｂ１）〜（Ｂ６）により画像割り付けを行う。
【０１２４】
処理手順（Ｂ１）：
処理手順（Ｂ１）では、ジョブ情報から印刷指定画像群４９０のリストを取得する。この処理は、図１７における印刷指定画像リスト取得部３０４で行われ、予め用意されたジョブ情報の中から印刷指定画像リストの部分を取り出す。
【０１２５】
処理手順（Ｂ２）：
リスト内の全画像データファイルを解析し、画像サイズ（縦横ピクセル数）と観測時下方向情報とを取得する。この処理は、図１７における画像ファイル解析部３００で行われ、画像サイズ及び観測時下方向情報は、第１の実施例と同様にして取得する。
【０１２６】
処理手順（Ｂ３）：
処理手順（Ｂ３）では、リスト内の各画像を２つのカテゴリに分類する。この処理は、図１７における長手方向判断部３０１とカテゴリ分類部３０５で行われ、前記処理手順（Ｂ２）で取得した画像サイズと観測時下方向情報とから、観測時下方向が下辺となるように画像データを回転させた場合にその回転後の画像データが縦長になるか、横長になるかを判断し、２つのカテゴリ（第１と第２のカテゴリ）に分類する。
【０１２７】
この分類処理は、カテゴリ分類部３０５で行われ、長手方向判断部３０１で得られた画像データの長手方向と、前記処理手順（Ｂ２）で得られた観測時下方向情報との組み合わせにより、２つのカテゴリの分類が判断される。例えば、次のような法則に従って分類される。
【０１２８】
長手方向が「上下方向」且つ観測時下方向が「左もしくは右」である場合は、第１のカテゴリとし、長手方向が「上下方向」且つ観測時下方向が「上もしくは下」である場合は、第２のカテゴリとする。また、長手方向が「左右方向」且つ観測時下方向が「左もしくは右」である場合は、第２のカテゴリとし、長手方向が「左右方向」且つ観測時下方向が「上もしくは下」である場合は、第１のカテゴリとする。なお、長手方向の情報は第１の実施例での処理と同様にして取得できる。
【０１２９】
処理手順（Ｂ４）：
処理手順（Ｂ４）では、画像印刷順をソートする。この処理は、図１７における印刷順ソート部３０６で行われ、前記処理手順（Ｂ３）で得られたカテゴリ分類情報に従って、第１のカテゴリ分類画像４９１（第１のカテゴリとして分類された画像）の印刷順が前半に、第２のカテゴリ分類画像４９２（第２のカテゴリとして分類された画像）の印刷順が後半になるように印刷順をソートする。なお、ここでは、第１のカテゴリ分類画像が前半になるようにソートしたが、逆に後半になるようにソートしても良いことは言うまでもない。
【０１３０】
処理手順（Ｂ５）：
処理手順（Ｂ５）では、該当ページに割り付ける画像を決定する。この処理は、図１７における画像割り付け部３０７で行われ、画像を割り付ける場合に第１のカテゴリ分類画像４９１と第２のカテゴリ分類画像４９２とが同一ページ上に割り付けられないように、場合によってはカテゴリ間で改ページを行う。
【０１３１】
処理手順（Ｂ６）：
処理手順（Ｂ６）では、該当ページに画像を割り付ける。この処理も、画像割り付け部３０７で行われる。画像を割り付ける際には、印刷媒体上の上下左右どの辺を下辺にするかを決定し、観測時下方向情報と合わせるように回転させて割り付ける。ここでは、実際に画像データのデコードや色空間変換などを行わず、該当ページ内に割り付ける画像それぞれに対し、割り付ける際の回転角度を画像割り付け情報として設定し、後で印刷データを生成する際にそれを参照して、処理を行う。
【０１３２】
ここで、印刷媒体上の上下左右どの辺を下辺にするかは、次のようにして決定する。該当ページに割り付けられる画像を観測時下方向が下辺となるように回転させた場合に、その回転後の画像データが縦長になるときは印刷媒体の上下いずれかより選択する。また横長になるときは左右いずれかより選択する。これにより、観測時下方向が一致するように回転させても印刷媒体に生じる空白が少なく、印刷媒体上にできる限り大きく印刷することができる。
【０１３３】
上記処理手順（Ｂ１）〜（Ｂ６）のうちの手順（Ｂ１）〜（Ｂ４）はジョブ開始時のみで行い、処理手順（Ｂ５）、（Ｂ６）はページの先頭で行う。
【０１３４】
以上の説明と図１７から明らかなように、ジョブ情報と、入力画像ファイルと、レイアウトタイプと、画像ファイルを実際に割り付ける画像配置に関するレイアウト情報とがあれば、上記の処理により良好なレイアウト印刷を実現することができる。すなわち、図１８の第１のカテゴリ印刷出力４９３、第２のカテゴリ印刷出力４９４のように、縦長画像と横長画像が混在しなくなり、且つ観測時下方向も一致した非常に良好な複数枚割り付け印刷が可能になる。
【０１３５】
＜第２の実施例の利点＞
従来では、複数画像を印刷指定し、それらを図１６のようなレイアウトで印刷する場合、印刷媒体上にできる限り大きく印刷するように、画像を回転させて割り付ける。そのため、画像によっては観測時下方向が統一されず、良好な印刷結果は得られなかった。それに対し、第２の実施例では、複数画像が印刷指定され、それらを１枚の印刷媒体に複数枚割り付けて（図１６のようなレイアウト）複数ページ印刷する場合に、各ページ内において画像の観測時下方向が一致した良好なレイアウト印刷が実現できる。
【０１３６】
さらに、各ページ内には、観測時下方向が下になるように回転させた場合に、縦長になる画像と横長になる画像とが混在しないため、観測時下方向が一致するように回転させても印刷媒体に生じる空白が少なく、従来と同様に印刷媒体上にできる限り大きく印刷することもできる。
【０１３７】
［第３の実施例］
第３の実施例は、図４の画像割り付けステップ（Ｓ３０５）に関するものである。第３の実施例の説明を行うにあたり、図１６のように画像データを割り付ける場合を想定する。第３の実施例では、図１６のレイアウトに沿って複数の画像データの割り付けを行う際の処理を軽減するために、次のような構成と処理手順を採る。
【０１３８】
＜第３の実施例に係る画像割り付け処理＞
図１９は、第３の実施例に係る画像割り付けステップ（Ｓ３０５）を実現するためのモジュール構成を示すブロック図である。第３の実施例の処理手順は、上記第２の実施例の処理手順において画像割り付けステップの処理手順（Ｂ６）のみが異なり、その他の処理手順（Ｂ１）〜（Ｂ５）は同一である。以下、本実施例に係る画像割り付けステップの処理手順（Ｂ６−１）〜（Ｂ６−４）について説明する。
【０１３９】
処理手順（Ｂ６−１）：
処理手順（Ｂ６−１）では、印刷媒体上の上下左右どの辺を観測時下方向と合わせるかについて、その候補を挙げる。この処理は、図１９における印刷媒体下方向候補設定部３０８で行われる。画像を割り付ける際には、印刷媒体上の上下左右どの辺を下辺にするかを決定し、観測時下方向情報と合わせるように回転させて割り付ける。このとき、実際に画像データのデコードや色空間変換などを行わずに処理するのは、前述した処理手順（Ｂ６）と同じである。
【０１４０】
ここで、印刷媒体上の上下左右どの辺を下辺にするかは、次のようにして決定する。該当ページに割り付けられる画像を観測時下方向が下辺となるように回転させた際に、その回転後の画像データが縦長になる場合は印刷媒体の上下いずれかの辺を候補とする。また横長になる場合は左右いずれかの辺を候補とする。これにより、観測時下方向を一致するように回転させても印刷媒体に生じる空白が少なく、印刷媒体上にできる限り大きく印刷することができる。
【０１４１】
処理手順（Ｂ６−２）：
処理手順（Ｂ６−２）では、２つの候補をそれぞれ選択した場合の回転割り付け処理量の目安を算出する。この処理は、図１９における回転割り付け処理目安量算出部３０９で行われる。即ち、画像データごとのファイルサイズと、画像データごとの画像サイズと、全画像データの回転角度の組み合わせとから目安処理量を得るようなデータベースを用意しておき、該当ページに割り付けられる全ての画像に対して、１つ目の候補、２つ目の候補に合わせて回転させた場合の目安処理量を取得する。ここで、全画像データの回転角度の組み合わせとは、全画像データのうち１つの画像データに着目し、該当画像データを例えば０°、９０°、１８０°、２７０°と回転させて割り付けた場合の、それに対応する他画像データの回転角度の組み合わせであり、本実施例では、印刷媒体上の画像割り付け枠の長手方向と、該当ページに割り付けられる回転後の画像データの長手方向とが一致しない回転角度の組み合わせは出力されないようになっている（処理手順（Ｂ６−１）参照）。
【０１４２】
最後に該当ページに割り付けられる全ての画像分の目安処理量を加算して、１つ目の候補及び２つ目の候補を選択した場合のページ全体での回転割り付け目安処理量を算出する。
【０１４３】
処理手順（Ｂ６−３）：
処理手順（Ｂ６−３）では、２つの候補から回転割り付け処理量の少ない方を選択する。この処理は、図１９における印刷媒体下方向決定部３１０で行われ、前記処理手順（Ｂ６−２）で得た各候補の目安処理量を比較し、目安処理量の少ない方を選択する。
【０１４４】
処理手順（Ｂ６−４）：
処理手順（Ｂ６−４）では、該当ページ内の各画像に対して割り付け時の回転角度を設定する。この処理は、図１９における回転角度決定部３１１で行われ、前記処理手順（Ｂ６−３）で選択された方向に割り付ける場合の回転角度を該当ページ内の全てに対して個別に設定する。
【０１４５】
以上の説明と図１９から明らかなように、ジョブ情報と、入力画像ファイルと、レイアウトタイプと、画像ファイルを実際に割り付ける画像配置に関するレイアウト情報と、回転割り付け処理の目安量を算出するために必要な画像ファイルサイズと、画像サイズと、回転角度の組み合わせによって処理目安量が検索可能なデータベースとがあれば、上記の処理によって良好なレイアウト印刷を実現することができる。
【０１４６】
＜第３の実施例の利点＞
前述したように、第２の実施例では、複数画像を１枚の印刷媒体に複数枚割り付けて複数ページ印刷する場合に、各ページ内では画像の観測時下方向が一致した良好なレイアウト印刷が実現でき、さらに、観測時下方向を一致させるように回転させても印刷媒体に生じる空白が少なく、従来と同様に印刷媒体上にできる限り大きく印刷することもできるといった効果があった。第３の実施例は、印刷媒体上の上下左右どの辺を観測時下方向と合わせるかについて、その候補を挙げ、その中から、該当ページにおける回転後の画像の取得処理の処理量が最も少なくなるような組み合わせを検出し、画像の回転を行うようにしたので、前記第２の実施例の効果を保持しつつ、さらに割り付け時の処理を軽減することができる。
【０１４７】
また、上記第２及び第３の実施例では、図１６に示すようなページ内に割り付けられる画像データＡ，Ｂ，Ｃ，Ｄの長手方向と観測時下方向とが統一されていれば、印刷媒体の上下左右のいずれが下辺となっても良好な割り付けとなるレイアウトに対して、好適に作用する例を説明した。しかし、図１２に示すような、画像以外のオブジェクトとして例えば罫線が存在し、これらも含めた上下方向の統一性を図らなければならないレイアウトタイプに対しては、第２及び第３の実施例をそのまま適用しても効果がない。このような場合には、第２及び第３の実施例と第１の実施例を組み合わせることで良好なレイアウトが実現できる。
【０１４８】
そのためには、まず、図４のレイアウト情報生成ステップ（Ｓ３０４）の前段階で且つページループに入る前に、第２及び第３の実施例で説明した画像割り付けステップ（Ｓ３０５）の処理手順（Ｂ１）〜（Ｂ４）を行う。元々これらの処理はジョブの先頭で行うだけであるから、このタイミングで行っても特に悪影響は及ぼさない。
【０１４９】
次に、図４のレイアウト情報生成ステップ（Ｓ３０４）の前段階で且つページループに入った後に画像割り付けステップ（Ｓ３０５）の処理手順（Ｂ５）を行う。この処理によって、印刷指定された画像は観測時下方向を基準にした場合の縦長画像と横長画像が同一ページ上に割り付けられなくなるため、第１の実施例の適用が可能になり、画像以外のオブジェクトも含めた上下方向の統一性を図らなければならないレイアウトタイプに対しても良好な印刷出力を得ることが可能となる。
【０１５０】
この場合、図４のレイアウト情報生成ステップ（Ｓ３０４）の処理は第１の実施例と同じ役割を果たし、図４の画像割り付けステップ（Ｓ３０５）は処理手順（Ｂ６）のみを行うことになる。
【０１５１】
［第４の実施例］
第４の実施例は、図４の画像割り付けステップ（Ｓ３０５）に関するものであり、第４の実施例の説明を行うにあたり、図１６に示すように画像データを割り付ける場合を想定する。第４の実施例では、図１６のレイアウトに沿って複数の画像データの良好な割り付けを簡単に行うために、次のような構成と処理手順を採る。
【０１５２】
＜第４の実施例に係る画像割り付け処理＞
図２０は、第４の実施例に係る画像割り付けステップ（Ｓ３０５）を実現するためのモジュール構成を示すブロック図である。以下、本実施例に係る画像割り付けステップ（Ｓ３０５）の処理手順（Ｃ１）〜（Ｃ３）について説明する。
【０１５３】
処理手順（Ｃ１）：
処理手順（Ｃ１）では、該当ページに割り付けられる全画像データファイルを解析し、画像サイズ（縦横ピクセル数）と観測時下方向情報を取得する。この処理は、図２０における画像ファイル解析部３００で行われ、画像サイズと観測時下方向情報は第１の実施例と同様にして取得する。
【０１５４】
処理手順（Ｃ２）：
処理手順（Ｃ２）では、リスト内の各画像を２つのカテゴリに分類する。この処理は、図２０における長手方向判断部３０１とカテゴリ分類部３０５で行われる。即ち、前記処理手順（Ｃ１）で取得した画像サイズと観測時下方向情報とから、観測時下方向が下辺となるように画像データを回転させた場合にその回転後の画像データが縦長になるか、横長になるかを判断し、２つのカテゴリ（第１と第２のカテゴリ）に分類する。
【０１５５】
処理手順（Ｃ３）：
処理手順（Ｃ３）では、該当ページに画像を割り付ける。この処理は、図２０における印刷媒体下方向決定部３１２と回転角度決定部３１３で行われる。画像を割り付ける際には、印刷媒体上の上下左右どの辺を下辺にするかを決定し、観測時下方向情報と合わせるように回転させて割り付ける。このとき、実際に画像データのデコードや色空間変換などを行わずに処理するのは、前述した処理手順（Ｂ６）と同じである。
【０１５６】
ここで、印刷媒体上の上下左右どの辺を下辺にするかは、次のようにして決定する。該当ページに割り付けられる画像を観測時下方向が下辺となるように回転させた場合に、印刷媒体上の各画像用に用意された印刷矩形領域の長手方向と、回転後の画像データの長手方向とが一致する個数が多い方、つまり印刷媒体の上下と左右のいずれかを候補として選択する。それらの中からの選択は、特に選択方法が定められているわけではなく、設計者が任意に決める。この選択処理を印刷媒体下方向決定部３１２が行う。そして決定された印刷媒体下方向と該当ページに割り付けられる全ての画像の観測時下方向とを一致させるように各画像の割り付ける際の回転角度を設定する。この設定を回転角度決定部３１３が行う。これにより、全ての画像の観測時下方向と印刷媒体下方向とを簡単に一致させることができる。
【０１５７】
以上の説明及び図２０から明らかなように、印刷指定画像情報と、入力画像ファイルと、画像ファイルを実際に割り付ける画像配置に関するレイアウト情報とがあれば、上記の処理によって良好なレイアウト印刷が実現できる。
【０１５８】
＜第４の実施例の利点＞
第４の実施例では、図１６のようなレイアウトで印刷する場合、つまり複数画像が印刷指定され、それらを１枚の印刷媒体に複数枚割り付けて複数ページ印刷するような場合に、各ページ内において全ての画像の観測時下方向と印刷媒体下方向とを簡単に一致させることができ、容易に良好なレイアウト印刷を実現することができる。
【０１５９】
なお、上記第２、第３及び第４の実施例では、メモリに制約を受けたシステムにも適用可能なように印刷データを１ラスタ単位で生成する場合の処理フローを前提に説明したが、上述の内容から容易に想像できる通り、これら各実施例における、レイアウト情報生成ステップ（Ｓ３０４）、画像内文字列割り付けステップ（Ｓ３０８）、及び画像データ変倍ステップ（Ｓ５０４，Ｓ５５３）の処理は、印刷データ生成処理単位に依存するものではないことは言うまでもない。
【０１６０】
以上、本発明に関する実施の形態とこれを前提とした各実施例について説明したが、これらの説明において、入力される画像データは、画像ファイルを単純にデコードして得られる全画像領域を対象にしただけではなく、デジタルカメラなどによってトリミング指定された画像領域のデータを入力画像データとして扱っても本発明の効果が得られることは言うまでもない。この場合、画像サイズの取得や長手方向の判断はトリミング後の画像データに対して行うことは自明である。
【０１６１】
本発明に係る画像記録装置の形態としては、ホスト装置及び各種メモリカードから画像データを受け取り画像記録を行う装置であれば良く、フォトダイレクトプリンタに限定されるものではないことは言うまでもない。
【０１６２】
また上記の実施の形態では、ホスト装置と画像記録装置が接続されたシステム、もしくは画像記録装置にメモリカードが直接接続されたシステムについて記述したが、これら以外にも複数機器の組み合わせから構成されるシステムに適用しても、そのシステムが結果として画像記録装置に画像データが入力され、その画像データを割り付けた印刷データを生成するようなシステム構成となっていれば、本発明が適用可能であることは言うまでもない。
【０１６３】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしても良い。
【０１６４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１６５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１６６】
【図１】画像記録システムの概略構成を示すブロック図である。
【図２】画像記録装置のハードウェア構成を示すブロック図である。
【図３】画像記録装置のソフトウェアのモジュール構成を示すブロック図である。
【図４】ラスタライザの処理の概要を示すフローチャートである。
【図５】インデックス印刷を行う場合の説明図である。
【図６】日付文字列を画像内に挿入する場合の印刷イメージを示す図である。
【図７】図４中の印刷データ生成処理の詳細を示すフローチャートである。
【図８】複数枚の画像データを１枚の印刷媒体上に「縁無し」で割り付けた場合の割り付け例を示す概念図である。
【図９】複数枚の画像データを１枚の印刷媒体上に「縁無し」で割り付けた場合の印刷データ生成処理を示すフローチャートである。
【図１０】図９の印刷データ生成処理で用いられる画像の行方向と列方向の定義を説明するための説明図である。
【図１１】図９の色処理データ生成処理の処理フローを示すフローチャートである。
【図１２】オブジェクトを挿入したレイアウト例を示す模式図である。
【図１３】オブジェクトを挿入した場合の色処理データ生成処理を示すフローチャートである。
【図１４】第１の実施例に係るレイアウト情報生成ステップを実現するためのモジュール構成を示すブロック図である。
【図１５】第１の実施例の説明補足図である。
【図１６】複数画像を１枚の印刷媒体に割り付けた例を示す模式図である。
【図１７】第２の実施例に係る画像割り付けステップを実現するためのモジュール構成を示すブロック図である。
【図１８】第２の実施例の説明補足図である。
【図１９】第３の実施例に係る画像割り付けステップを実現するためのモジュール構成を示すブロック図である。
【図２０】第４の実施例に係る画像割り付けステップを実現するためのモジュール構成を示すブロック図である。
【符号の説明】
【０１６７】
１２  画像記録装置
３００  画像ファイル解析部
３０１  長手方向判断部
３０２  レイアウトパターン決定部
３０３  データベース検索部
３０４  印刷指定画像リスト取得部
３０５  カテゴリ分類部
３０６  印刷順ソート部
３０７  画像割り付け部
３０８  印刷媒体下方向候補設定部
３０９  回転割り付け処理目安量算出部
３１０  印刷媒体下方向決定部
３１１  回転角度決定部
３１２  印刷媒体下方向決定部
３１３  回転角度決定部
【図１】
2006167917.tif 000003
【図２】
2006167917.tif 000004
【図３】
2006167917.tif 000005
【図４】
2006167917.tif 000006
【図５】
2006167917.tif 000007
【図６】
2006167917.tif 000008
【図７】
2006167917.tif 000009
【図８】
2006167917.tif 000010
【図９】
2006167917.tif 000011
【図１０】
2006167917.tif 000012
【図１１】
2006167917.tif 000013
【図１２】
2006167917.tif 000014
【図１３】
2006167917.tif 000015
【図１４】
2006167917.tif 000016
【図１５】
2006167917.tif 000017
【図１６】
2006167917.tif 000018
【図１７】
2006167917.tif 000019
【図１８】
2006167917.tif 000020
【図１９】
2006167917.tif 000021
【図２０】
2006167917.tif 000022