(57)【要約】【課題】  複数枚の画像データを１枚の印刷媒体上に割り付けてフチなし印刷を行う場合に、画像の割り付け位置に因らず、印刷媒体上の各画像の割り付けサイズと、割り付けられる時の画像の変倍率とがほぼ均一になり、かつ画像データのほぼ同一領域が印刷媒体上に配置されるような画像データの割り付け制御ができる印刷制御装置、印刷装置、印刷制御方法、印刷方法、その記録媒体およびプログラムを提供する。【解決手段】  ラスタライザモジュール２０１３は、印刷媒体情報および割り付けパターン情報を基に、画像データにおける切り出し範囲と、画像データの変倍率と、画像データの印刷媒体上の印刷面積とが画像サイズの等しい画像データ間において同様となるように割り付けた割り付けデータを出力して、その割り付けデータに基づき印刷データを生成する。【選択図】  図３
2005074809.tif 000002
【特許請求の範囲】
【請求項１】
１枚の印刷媒体上に複数の画像データを割り付けて印刷する印刷データを生成できる印刷制御装置であって、
前記印刷媒体に関する情報である印刷媒体情報を取得する印刷媒体情報取得手段と、
前記印刷媒体上に前記複数の画像データを割り付ける割り付けパターンに関する情報である割り付けパターン情報を取得する割り付けパターン情報取得手段と、
前記印刷媒体情報取得手段が取得した前記印刷媒体情報および前記割り付けパターン情報取得手段が取得した前記割り付けパターン情報を基に、前記複数の画像データの一部範囲を切り出した切り出し範囲の画像を前記割り付けパターン情報に応じた前記印刷媒体上の割り付け位置に割り付ける処理において、前記画像データにおける前記切り出し範囲と、前記画像データの変倍率と、前記画像データの前記印刷媒体上の印刷面積とが画像サイズの等しい画像データ間において同様となるように割り付けた割り付けデータを出力する割り付け制御手段と、
前記割り付け制御手段が割り付けた前記割り付けデータに基づき前記印刷データを生成する印刷データ生成手段と
を具備することを特徴とする印刷制御装置。
【請求項２】
前記印刷媒体に対して前記画像データを割り付け可能な領域である印刷領域が大きい場合に、前記割り付け制御手段は、
前記印刷媒体情報取得手段が取得した前記印刷媒体情報と前記割り付けパターン情報取得手段が取得した前記割り付けパターン情報との組み合わせにより、前記印刷媒体に対する前記印刷領域の上下左右のはみ出し量を取得するはみ出し量情報取得手段と、
前記はみ出し量情報取得手段が取得した前記はみ出し量と、前記印刷媒体情報および前記割り付けパターン情報とを基に、前記複数の画像データを適合させるための適合枠を決定する適合枠決定手段と、
前記適合枠決定手段が決定した前記適合枠の大きさに前記複数の画像データの大きさが対応するような変倍率で前記複数の画像データを変倍する変倍手段と、
前記変倍手段が変倍後の画像データより前記切り出し領域の範囲を切り出して前記印刷媒体上に割り付けた前記割り付けデータを出力する切り出し手段と
を具備することを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記割り付け手段は、前記割り付けパターン情報を基に各画像データに対して前記切り出し領域を決定する切り出し領域決定手段を更に具備することを特徴とする請求項２に記載の印刷制御装置。
【請求項４】
前記変倍手段は、前記適合枠と前記画像データの長辺を対応させて前記画像データが前記適合枠を被い尽しかつ前記適合枠の大きさと前記複数の画像データの大きさが可能な限り等しくなるような変倍率で前記画像データを変倍することを特徴とする請求項２または３に記載の印刷制御装置。
【請求項５】
前記切り出し領域決定手段は、前記適合枠の中心と前記変倍後の画像データの中心が重なる状態で前記適合枠の範囲で前記変倍後の画像データを切り出し、前記割り付けパターン情報と更に前記はみ出し情報を考慮して前記切り出し領域を決定することを特徴とする請求項３に記載の印刷制御装置。
【請求項６】
１枚の印刷媒体上に複数の画像データを割り付けて印刷する印刷データを生成できる印刷制御装置であって、
前記印刷媒体に関する情報である印刷媒体情報を取得する印刷媒体情報取得手段と、
前記印刷媒体上に前記複数の画像データを割り付ける割り付けパターンに関する情報である割り付けパターン情報を取得する割り付けパターン情報取得手段と、
前記印刷媒体情報取得手段が取得した前記印刷媒体情報および前記割り付けパターン情報取得手段が取得した前記割り付けパターン情報を基に、前記複数の画像データの一部範囲を切り出した切り出し範囲の画像を前記割り付けパターン情報に応じた前記印刷媒体上の割り付け位置に割り付ける処理において、前記画像データの変倍率と、前記画像データの前記印刷媒体上の印刷面積とが画像サイズの等しい画像データ間において同様となるように割り付けた割り付けデータを出力する割り付け制御手段と、
前記割り付け制御手段が割り付けた前記割り付けデータに基づき前記印刷データを生成する印刷データ生成手段と
を具備することを特徴とする印刷制御装置。
【請求項７】
前記印刷媒体に対して前記画像データを割り付け可能な領域である印刷領域が大きい場合に、前記割り付け制御手段は、
前記印刷媒体情報取得手段が取得した前記印刷媒体情報と前記割り付けパターン情報取得手段が取得した前記割り付けパターン情報との組み合わせにより、前記印刷媒体に対する前記印刷領域の上下左右のはみ出し量を取得するはみ出し量情報取得手段と、
前記はみ出し量情報取得手段が取得した前記はみ出し量と、前記印刷媒体情報および前記割り付けパターン情報とを基に、前記複数の画像データを適合させるための適合枠を決定する適合枠決定手段と、
前記適合枠決定手段が決定した前記適合枠の大きさに前記複数の画像データの大きさが対応するような変倍率で前記複数の画像データを変倍する変倍手段と、
前記変倍手段が変倍後の画像データより前記切り出し領域の範囲を切り出して前記印刷媒体上に割り付けた前記割り付けデータを出力する切り出し手段と
を具備することを特徴とする請求項６に記載の印刷制御装置。
【請求項８】
前記変倍手段は、前記適合枠と前記画像データの長辺を対応させて前記画像データが前記適合枠を被い尽しかつ前記適合枠の大きさと前記複数の画像データの大きさが可能な限り等しくなるような変倍率で前記画像データを変倍することを特徴とする請求項７に記載の印刷制御装置。
【請求項９】
前記画像データがトリミングにより任意の画像領域を指定されたトリミング後画像データである場合に、前記画像領域を処理対象とすることを特徴とする請求項１〜８のいずれか１項に記載の印刷制御装置。
【請求項１０】
複数の画像を１枚の印刷媒体に割り付けてふち無し印刷する印刷装置であって、
前記印刷媒体上で実際に各画像に割り付けられる領域に、前記印刷媒体の領域をはみ出して印刷する際のはみ出し量を加えた領域に合わせて、前記画像を変倍処理する変倍処理手段と、
前記変倍処理手段が変倍した各画像から、前記印刷媒体の割り付け位置に応じた領域の画像を切り出す切り出し手段と、
前記切り出し手段が切り出した画像を前記印刷媒体に割り付けて印刷する印刷手段と
を具備することを特徴とする印刷装置。
【請求項１１】
前記印刷媒体上で実際に各画像に割り付けられる面積は略均等であることを特徴とする請求項１０に記載の印刷装置。
【請求項１２】
１枚の印刷媒体上に複数の画像データを割り付けて印刷する印刷データを生成できる印刷制御装置を用いた印刷制御方法であって、
前記印刷媒体に関する情報である印刷媒体情報を取得する第１のステップと、
前記印刷媒体上に前記複数の画像データを割り付ける割り付けパターンに関する情報である割り付けパターン情報を取得す第２のステップと、
前記第１のステップで取得した前記印刷媒体情報および前記第２のステップで取得した前記割り付けパターン情報を基に、前記複数の画像データの一部範囲を切り出した切り出し範囲の画像を前記割り付けパターン情報に応じた前記印刷媒体上の割り付け位置に割り付ける処理において、前記画像データにおける前記切り出し範囲と、前記画像データの変倍率と、前記画像データの前記印刷媒体上の印刷面積とが画像サイズの等しい画像データ間において同様となるように割り付けた割り付けデータを出力する第３のステップと、
前記第３のステップで割り付けた前記割り付けデータに基づき前記印刷データを生成する第４のステップと
を有することを特徴とする印刷制御方法。
【請求項１３】
１枚の印刷媒体上に複数の画像データを割り付けて印刷する印刷データを生成できる印刷制御装置を用いた印刷制御方法であって、
前記印刷媒体に関する情報である印刷媒体情報を取得する第１のステップと、
前記印刷媒体上に前記複数の画像データを割り付ける割り付けパターンに関する情報である割り付けパターン情報を取得す第２のステップと、
前記第１のステップで取得した前記印刷媒体情報および前記第２のステップで取得した前記割り付けパターン情報を基に、前記複数の画像データの一部範囲を切り出した切り出し範囲の画像を前記割り付けパターン情報に応じた前記印刷媒体上の割り付け位置に割り付ける処理において、前記画像データの変倍率と、前記画像データの前記印刷媒体上の印刷面積とが画像サイズの等しい画像データ間において同様となるように割り付けた割り付けデータを出力する第３のステップと、
前記第３のステップで割り付けた前記割り付けデータに基づき前記印刷データを生成する第４のステップと
を有することを特徴とする印刷制御方法。
【請求項１４】
複数の画像を１枚の印刷媒体に割り付けてふち無し印刷する印刷方法であって、
前記印刷媒体上で実際に各画像に割り付けられる領域に、前記印刷媒体の領域をはみ出して印刷する際のはみ出し量を加えた領域にあわせて、前記画像を変倍処理する変倍処理工程と、
前記変倍処理工程で変倍された各画像から、前記印刷媒体の割り付け位置に応じた領域の画像を切り出す切り出し工程と、
前記切り出し工程で切り出された画像を前記印刷媒体に割り付けて印刷する印刷工程と
を有することを特徴とする印刷方法。
【請求項１５】
前記印刷媒体上で実際に各画像に割り付けられる面積は略均等であることを特徴とする請求項１４に記載の印刷方法。
【請求項１６】
１枚の印刷媒体上に複数の画像データを割り付けて印刷する印刷データを生成できる印刷制御装置用のプログラムを記録した記録媒体であって、
前記印刷媒体に関する情報である印刷媒体情報を取得する第１のステップと、
前記印刷媒体上に前記複数の画像データを割り付ける割り付けパターンに関する情報である割り付けパターン情報を取得す第２のステップと、
前記第１のステップで取得した前記印刷媒体情報および前記第２のステップで取得した前記割り付けパターン情報を基に、前記複数の画像データの一部範囲を切り出した切り出し範囲の画像を前記割り付けパターン情報に応じた前記印刷媒体上の割り付け位置に割り付ける処理において、前記画像データにおける前記切り出し範囲と、前記画像データの変倍率と、前記画像データの前記印刷媒体上の印刷面積とが画像サイズの等しい画像データ間において同様となるように割り付けた割り付けデータを出力する第３のステップと、
前記第３のステップで割り付けた前記割り付けデータに基づき前記印刷データを生成する第４のステップと
を前記印刷制御装置に実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１７】
１枚の印刷媒体上に複数の画像データを割り付けて印刷する印刷データを生成できる印刷制御装置用のプログラムを記録した記録媒体であって、
前記印刷媒体に関する情報である印刷媒体情報を取得する第１のステップと、
前記印刷媒体上に前記複数の画像データを割り付ける割り付けパターンに関する情報である割り付けパターン情報を取得す第２のステップと、
前記第１のステップで取得した前記印刷媒体情報および前記第２のステップで取得した前記割り付けパターン情報を基に、前記複数の画像データの一部範囲を切り出した切り出し範囲の画像を前記割り付けパターン情報に応じた前記印刷媒体上の割り付け位置に割り付ける処理において、前記画像データの変倍率と、前記画像データの前記印刷媒体上の印刷面積とが画像サイズの等しい画像データ間において同様となるように割り付けた割り付けデータを出力する第３のステップと、
前記第３のステップで割り付けた前記割り付けデータに基づき前記印刷データを生成する第４のステップと
を前記印刷制御装置に実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１８】
複数の画像を１枚の印刷媒体に割り付けてふち無し印刷する印刷装置用のプログラムを記録した記録媒体であって、
前記印刷媒体上で実際に各画像に割り付けられる領域に、前記印刷媒体の領域をはみ出して印刷する際のはみ出し量を加えた領域にあわせて、前記画像を変倍処理する変倍処理工程と、
前記変倍処理工程で変倍された各画像から、前記印刷媒体の割り付け位置に応じた領域の画像を切り出す切り出し工程と、
前記切り出し工程で切り出された画像を前記印刷媒体に割り付けて印刷する印刷工程と
を前記印刷装置に実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１９】
前記印刷媒体上で実際に各画像に割り付けられる面積は略均等であることを特徴とする請求項１８に記載の記録媒体。
【請求項２０】
１枚の印刷媒体上に複数の画像データを割り付けて印刷する印刷データを生成できる印刷制御装置用のプログラムであって、
前記印刷媒体に関する情報である印刷媒体情報を取得する第１のステップと、
前記印刷媒体上に前記複数の画像データを割り付ける割り付けパターンに関する情報である割り付けパターン情報を取得す第２のステップと、
前記第１のステップで取得した前記印刷媒体情報および前記第２のステップで取得した前記割り付けパターン情報を基に、前記複数の画像データの一部範囲を切り出した切り出し範囲の画像を前記割り付けパターン情報に応じた前記印刷媒体上の割り付け位置に割り付ける処理において、前記画像データにおける前記切り出し範囲と、前記画像データの変倍率と、前記画像データの前記印刷媒体上の印刷面積とが画像サイズの等しい画像データ間において同様となるように割り付けた割り付けデータを出力する第３のステップと、
前記第３のステップで割り付けた前記割り付けデータに基づき前記印刷データを生成する第４のステップと
を前記印刷制御装置に実行させるためのプログラム。
【請求項２１】
１枚の印刷媒体上に複数の画像データを割り付けて印刷する印刷データを生成できる印刷制御装置用のプログラムであって、
前記印刷媒体に関する情報である印刷媒体情報を取得する第１のステップと、
前記印刷媒体上に前記複数の画像データを割り付ける割り付けパターンに関する情報である割り付けパターン情報を取得す第２のステップと、
前記第１のステップで取得した前記印刷媒体情報および前記第２のステップで取得した前記割り付けパターン情報を基に、前記複数の画像データの一部範囲を切り出した切り出し範囲の画像を前記割り付けパターン情報に応じた前記印刷媒体上の割り付け位置に割り付ける処理において、前記画像データの変倍率と、前記画像データの前記印刷媒体上の印刷面積とが画像サイズの等しい画像データ間において同様となるように割り付けた割り付けデータを出力する第３のステップと、
前記第３のステップで割り付けた前記割り付けデータに基づき前記印刷データを生成する第４のステップと
を前記印刷制御装置に実行させるためのプログラム。
【請求項２２】
複数の画像を１枚の印刷媒体に割り付けてふち無し印刷する印刷装置用のプログラムであって、
前記印刷媒体上で実際に各画像に割り付けられる領域に、前記印刷媒体の領域をはみ出して印刷する際のはみ出し量を加えた領域にあわせて、前記画像を変倍処理する変倍処理工程と、
前記変倍処理工程で変倍された各画像から、前記印刷媒体の割り付け位置に応じた領域の画像を切り出す切り出し工程と、
前記切り出し工程で切り出された画像を前記印刷媒体に割り付けて印刷する印刷工程と
を前記印刷装置に実行させるためのプログラム。
【請求項２３】
前記印刷媒体上で実際に各画像に割り付けられる面積は略均等であることを特徴とする請求項２２に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷媒体上に画像データを割り付け印刷可能な印刷装置に対して画像データ割り付け制御を行う印刷制御装置、印刷装置、印刷制御方法、印刷方法、その記録媒体およびプログラムに関するものである。
【背景技術】
【０００２】
従来のプリンタ（印刷装置）を制御するコンピュータ（印刷制御装置）では、印刷後ミシン目等に沿って切り取らなくても良い画像データのフチなし印刷を実現するため、紙などの印刷媒体よりも大きなサイズの印刷データを生成している。この印刷データを基に、プリンタは、印刷媒体より画像の四辺をはみ出してフチなし印刷を行う。
また、コンピュータは、複数の画像データを印刷媒体の所定の割付位置に割り付けた印刷データを生成することができる。この印刷データを基に、プリンタは、複数の画像が所定の分割レイアウトで配置された印刷を行う。特に、複数の画像を割り付けたフチなし印刷を行う場合に、コンピュータは、印刷媒体上の印刷面積を画像の割付位置によらず均一にするため、割付位置に応じたはみ出し印刷領域分だけ広い領域に合わせるよう画像データを変倍処理した印刷データの生成を行う。すなわち、印刷媒体の上下左右の四辺からはみ出したはみ出し領域のはみ出し量がそれぞれ異なる場合には、割付位置の辺におけるはみ出し量に応じて変倍率を定める。この印刷データを基に、プリンタは、印刷媒体上の各画像データの印刷面積を均一にフチなし印刷することができる。
上述したような、１枚の印刷媒体に複数の画像データを分割レイアウトしたフチなし印刷の技術が開示されている（例えば、特許文献１参照。）。
【０００３】
【特許文献１】特開２００２−１６５０８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、複数の画像データを印刷媒体に割り付けてフチなし印刷を行う場合、割り付ける位置によって、画像データの上下左右辺のいずれかがはみ出し印刷されてしまうので、例えば同じ画像データを複数枚同一の印刷媒体上に割り付けても、割付位置によって印刷媒体上に印刷される画像領域が異なってしまうという問題があった。
更に、上述したように印刷媒体上の各画像の印刷面積を割付位置によらず均一にしようとする場合でも、４辺のはみ出し量が異なると割付位置によって画像データを印刷媒体上に割り付ける際の変倍率が異なってしまう問題がある。この問題は、印刷媒体上の印刷面積に対して４辺はみ出し量の比率が高い時に、極めて不快なレイアウト結果を生じる原因となる。
【０００５】
本発明は、上述した事情を考慮してなされたもので、複数枚の画像データを１枚の印刷媒体上に割り付けてフチなし印刷を行う場合に、画像の割り付け位置に因らず、印刷媒体上の各画像の割り付けサイズと、割り付けられる時の画像の変倍率とがほぼ均一になり、かつ画像データのほぼ同一領域が印刷媒体上に配置されるような画像データの割り付け制御ができる印刷制御装置、印刷装置、印刷制御方法、印刷方法、その記録媒体およびプログラムを提供することを目的とする。
また、本発明は、好ましくは、フォトダイレクトプリンタなどの十分なメモリを有しない画像処理システムのために、メモリ使用量を極力抑えた、印刷媒体上の各画像の割り付けサイズと割り付け時の画像変倍率が割り付け位置に因らずにほぼ均一となる画像データの割り付け制御ができる印刷制御装置、印刷装置、印刷制御方法、印刷方法、その記録媒体およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明は、上述した課題を解決すべくなされたもので、本発明による印刷制御装置においては、１枚の印刷媒体上に複数の画像データを割り付けて印刷する印刷データを生成できる印刷制御装置であって、前記印刷媒体に関する情報である印刷媒体情報を取得する印刷媒体情報取得手段と、前記印刷媒体上に前記複数の画像データを割り付ける割り付けパターンに関する情報である割り付けパターン情報を取得する割り付けパターン情報取得手段と、前記印刷媒体情報取得手段が取得した前記印刷媒体情報および前記割り付けパターン情報取得手段が取得した前記割り付けパターン情報を基に、前記複数の画像データの一部範囲を切り出した切り出し範囲の画像を前記割り付けパターン情報に応じた前記印刷媒体上の割り付け位置に割り付ける処理において、前記画像データにおける前記切り出し範囲と、前記画像データの変倍率と、前記画像データの前記印刷媒体上の印刷面積とが画像サイズの等しい画像データ間において同様となるように割り付けた割り付けデータを出力する割り付け制御手段と、前記割り付け制御手段が割り付けた前記割り付けデータに基づき前記印刷データを生成する印刷データ生成手段とを具備することを特徴とする。
【０００７】
また、本発明による印刷制御装置においては、１枚の印刷媒体上に複数の画像データを割り付けて印刷する印刷データを生成できる印刷制御装置であって、前記印刷媒体に関する情報である印刷媒体情報を取得する印刷媒体情報取得手段と、前記印刷媒体上に前記複数の画像データを割り付ける割り付けパターンに関する情報である割り付けパターン情報を取得する割り付けパターン情報取得手段と、前記印刷媒体情報取得手段が取得した前記印刷媒体情報および前記割り付けパターン情報取得手段が取得した前記割り付けパターン情報を基に、前記複数の画像データの一部範囲を切り出した切り出し範囲の画像を前記割り付けパターン情報に応じた前記印刷媒体上の割り付け位置に割り付ける処理において、前記画像データの変倍率と、前記画像データの前記印刷媒体上の印刷面積とが画像サイズの等しい画像データ間において同様となるように割り付けた割り付けデータを出力する割り付け制御手段と、前記割り付け制御手段が割り付けた前記割り付けデータに基づき前記印刷データを生成する印刷データ生成手段とを具備することを特徴とする。
【０００８】
また、本発明による印刷装置においては、複数の画像を１枚の印刷媒体に割り付けてふち無し印刷する印刷装置であって、前記印刷媒体上で実際に各画像に割り付けられる領域に、前記印刷媒体の領域をはみ出して印刷する際のはみ出し量を加えた領域に合わせて、前記画像を変倍処理する変倍処理手段と、前記変倍処理手段が変倍した各画像から、前記印刷媒体の割り付け位置に応じた領域の画像を切り出す切り出し手段と、前記切り出し手段が切り出した画像を前記印刷媒体に割り付けて印刷する印刷手段とを具備することを特徴とする。
【０００９】
また、本発明による印刷制御方法においては、１枚の印刷媒体上に複数の画像データを割り付けて印刷する印刷データを生成できる印刷制御装置を用いた印刷制御方法であって、前記印刷媒体に関する情報である印刷媒体情報を取得する第１のステップと、前記印刷媒体上に前記複数の画像データを割り付ける割り付けパターンに関する情報である割り付けパターン情報を取得す第２のステップと、前記第１のステップで取得した前記印刷媒体情報および前記第２のステップで取得した前記割り付けパターン情報を基に、前記複数の画像データの一部範囲を切り出した切り出し範囲の画像を前記割り付けパターン情報に応じた前記印刷媒体上の割り付け位置に割り付ける処理において、前記画像データにおける前記切り出し範囲と、前記画像データの変倍率と、前記画像データの前記印刷媒体上の印刷面積とが画像サイズの等しい画像データ間において同様となるように割り付けた割り付けデータを出力する第３のステップと、前記第３のステップで割り付けた前記割り付けデータに基づき前記印刷データを生成する第４のステップとを有することを特徴とする。
【００１０】
また、本発明による印刷制御方法においては、１枚の印刷媒体上に複数の画像データを割り付けて印刷する印刷データを生成できる印刷制御装置を用いた印刷制御方法であって、前記印刷媒体に関する情報である印刷媒体情報を取得する第１のステップと、前記印刷媒体上に前記複数の画像データを割り付ける割り付けパターンに関する情報である割り付けパターン情報を取得す第２のステップと、前記第１のステップで取得した前記印刷媒体情報および前記第２のステップで取得した前記割り付けパターン情報を基に、前記複数の画像データの一部範囲を切り出した切り出し範囲の画像を前記割り付けパターン情報に応じた前記印刷媒体上の割り付け位置に割り付ける処理において、前記画像データの変倍率と、前記画像データの前記印刷媒体上の印刷面積とが画像サイズの等しい画像データ間において同様となるように割り付けた割り付けデータを出力する第３のステップと、前記第３のステップで割り付けた前記割り付けデータに基づき前記印刷データを生成する第４のステップとを有することを特徴とする。
【００１１】
また、本発明による印刷方法においては、複数の画像を１枚の印刷媒体に割り付けてふち無し印刷する印刷方法であって、前記印刷媒体上で実際に各画像に割り付けられる領域に、前記印刷媒体の領域をはみ出して印刷する際のはみ出し量を加えた領域にあわせて、前記画像を変倍処理する変倍処理工程と、前記変倍処理工程で変倍された各画像から、前記印刷媒体の割り付け位置に応じた領域の画像を切り出す切り出し工程と、前記切り出し工程で切り出された画像を前記印刷媒体に割り付けて印刷する印刷工程とを有することを特徴とする。
【００１２】
また、本発明による記録媒体は、１枚の印刷媒体上に複数の画像データを割り付けて印刷する印刷データを生成できる印刷制御装置用のプログラムを記録した記録媒体であって、前記印刷媒体に関する情報である印刷媒体情報を取得する第１のステップと、前記印刷媒体上に前記複数の画像データを割り付ける割り付けパターンに関する情報である割り付けパターン情報を取得す第２のステップと、前記第１のステップで取得した前記印刷媒体情報および前記第２のステップで取得した前記割り付けパターン情報を基に、前記複数の画像データの一部範囲を切り出した切り出し範囲の画像を前記割り付けパターン情報に応じた前記印刷媒体上の割り付け位置に割り付ける処理において、前記画像データにおける前記切り出し範囲と、前記画像データの変倍率と、前記画像データの前記印刷媒体上の印刷面積とが画像サイズの等しい画像データ間において同様となるように割り付けた割り付けデータを出力する第３のステップと、前記第３のステップで割り付けた前記割り付けデータに基づき前記印刷データを生成する第４のステップとを前記印刷制御装置に実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００１３】
また、本発明による記録媒体は、１枚の印刷媒体上に複数の画像データを割り付けて印刷する印刷データを生成できる印刷制御装置用のプログラムを記録した記録媒体であって、前記印刷媒体に関する情報である印刷媒体情報を取得する第１のステップと、前記印刷媒体上に前記複数の画像データを割り付ける割り付けパターンに関する情報である割り付けパターン情報を取得す第２のステップと、前記第１のステップで取得した前記印刷媒体情報および前記第２のステップで取得した前記割り付けパターン情報を基に、前記複数の画像データの一部範囲を切り出した切り出し範囲の画像を前記割り付けパターン情報に応じた前記印刷媒体上の割り付け位置に割り付ける処理において、前記画像データの変倍率と、前記画像データの前記印刷媒体上の印刷面積とが画像サイズの等しい画像データ間において同様となるように割り付けた割り付けデータを出力する第３のステップと、前記第３のステップで割り付けた前記割り付けデータに基づき前記印刷データを生成する第４のステップとを前記印刷制御装置に実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００１４】
また、本発明による記録媒体は、複数の画像を１枚の印刷媒体に割り付けてふち無し印刷する印刷装置用のプログラムを記録した記録媒体であって、前記印刷媒体上で実際に各画像に割り付けられる領域に、前記印刷媒体の領域をはみ出して印刷する際のはみ出し量を加えた領域にあわせて、前記画像を変倍処理する変倍処理工程と、前記変倍処理工程で変倍された各画像から、前記印刷媒体の割り付け位置に応じた領域の画像を切り出す切り出し工程と、前記切り出し工程で切り出された画像を前記印刷媒体に割り付けて印刷する印刷工程とを前記印刷装置に実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００１５】
また、本発明によるプログラムは、１枚の印刷媒体上に複数の画像データを割り付けて印刷する印刷データを生成できる印刷制御装置用のプログラムであって、前記印刷媒体に関する情報である印刷媒体情報を取得する第１のステップと、前記印刷媒体上に前記複数の画像データを割り付ける割り付けパターンに関する情報である割り付けパターン情報を取得す第２のステップと、前記第１のステップで取得した前記印刷媒体情報および前記第２のステップで取得した前記割り付けパターン情報を基に、前記複数の画像データの一部範囲を切り出した切り出し範囲の画像を前記割り付けパターン情報に応じた前記印刷媒体上の割り付け位置に割り付ける処理において、前記画像データにおける前記切り出し範囲と、前記画像データの変倍率と、前記画像データの前記印刷媒体上の印刷面積とが画像サイズの等しい画像データ間において同様となるように割り付けた割り付けデータを出力する第３のステップと、前記第３のステップで割り付けた前記割り付けデータに基づき前記印刷データを生成する第４のステップとを前記印刷制御装置に実行させるためのプログラムである。
【００１６】
また、本発明によるプログラムは、１枚の印刷媒体上に複数の画像データを割り付けて印刷する印刷データを生成できる印刷制御装置用のプログラムであって、前記印刷媒体に関する情報である印刷媒体情報を取得する第１のステップと、前記印刷媒体上に前記複数の画像データを割り付ける割り付けパターンに関する情報である割り付けパターン情報を取得す第２のステップと、前記第１のステップで取得した前記印刷媒体情報および前記第２のステップで取得した前記割り付けパターン情報を基に、前記複数の画像データの一部範囲を切り出した切り出し範囲の画像を前記割り付けパターン情報に応じた前記印刷媒体上の割り付け位置に割り付ける処理において、前記画像データの変倍率と、前記画像データの前記印刷媒体上の印刷面積とが画像サイズの等しい画像データ間において同様となるように割り付けた割り付けデータを出力する第３のステップと、前記第３のステップで割り付けた前記割り付けデータに基づき前記印刷データを生成する第４のステップとを前記印刷制御装置に実行させるためのプログラムである。
【００１７】
また、本発明によるプログラムは、複数の画像を１枚の印刷媒体に割り付けてふち無し印刷する印刷装置用のプログラムであって、前記印刷媒体上で実際に各画像に割り付けられる領域に、前記印刷媒体の領域をはみ出して印刷する際のはみ出し量を加えた領域にあわせて、前記画像を変倍処理する変倍処理工程と、前記変倍処理工程で変倍された各画像から、前記印刷媒体の割り付け位置に応じた領域の画像を切り出す切り出し工程と、前記切り出し工程で切り出された画像を前記印刷媒体に割り付けて印刷する印刷工程とを前記印刷装置に実行させるためのプログラムである。
【発明の効果】
【００１８】
以上により、本発明による印刷制御装置、印刷制御方法、その記録媒体およびプログラムは、印刷媒体情報および割り付けパターン情報を基に、画像データにおける切り出し範囲と、画像データの変倍率と、画像データの印刷媒体上の印刷面積とが画像サイズの等しい画像データ間において同様となるように割り付けた割り付けデータを出力して、その割り付けデータに基づき印刷データを生成するので、複数枚の画像データを１枚の印刷媒体上に割り付けてフチなし印刷を行う場合に、画像の割り付け位置に因らず、印刷媒体上の各画像の割り付けサイズと、割り付けられる時の画像の変倍率とがほぼ均一になり、かつ画像データのほぼ同一領域が印刷媒体上に配置されるような画像データの割り付け制御ができる。
【００１９】
また、本発明による印刷装置、印刷方法、その記録媒体およびプログラムは、印刷媒体上で実際に各画像に割り付けられる領域に、印刷媒体の領域をはみ出して印刷する際のはみ出し量を加えた領域にあわせて、画像を変倍処理して、変倍された各画像から、印刷媒体の割り付け位置に応じた領域の画像を切り出し、切り出された画像を印刷媒体に割り付けて印刷するので、複数枚の画像データを１枚の印刷媒体上に割り付けてフチなし印刷を行う場合に、画像の割り付け位置に因らず、印刷媒体上の各画像の割り付けサイズと、割り付けられる時の画像の変倍率とがほぼ均一になり、かつ画像データのほぼ同一領域が印刷媒体上に配置されるような印刷を行うことができる。
【発明を実施するための最良の形態】
【００２０】
以下添付図面を参照して本発明の好適な実施形態について詳細に説明する。
［共通実施形態］
まず、後述する第１〜第３の実施形態において共通に用いられる印刷制御装置を含む画像記録システムの全体概要、ハードウェア構成の概要、機能構成の概要について共通の実施形態として説明する。
図１は、デジタルカメラからダイレクトに印刷を行う場合の、本発明の共通実施形態に係る印刷制御装置を含む画像記録システムであるフォトダイレクトプリントシステムの概略構成を示すブロック図である。
【００２１】
図１に示されているように、デジタルカメラからのダイレクトプリントを行う場合、このフォトダイレクトプリントシステムは、デジタルカメラ等で構成されるホスト装置１１と、プリンタ部や印刷制御装置等で構成される画像記録装置（フォトダイレクトプリンタ）１２とを備え、これらが双方向インタフェース１３を介して接続されている。
【００２２】
また、画像記録装置１２を用いてメモリカードからのダイレクトプリントを行う際には、画像記録装置１２に備えられたカードアダプタに直接メモリカードを挿入し、データアクセスを行う。
【００２３】
次に、画像記録装置１２のハードウェア構成および周辺機器の概要について説明する。
図２は、フォトダイレクトプリントシステムを構成する画像記録装置１２のハードウェア構成および周辺機器の概要を示す図である。図２において１０００は制御基盤であり、画像記録装置１２の制御を行う。１００１はＡＳＩＣ（特定用途向け集積回路）を示し、ＡＳＩＣに接続された各部のインタフェース部を備えるとともに、画像データ生成等を行うためのＣＰＵ（中央演算装置）も備える。１００２はオペレーションパネル１００３を接続するためのコネクタである。ユーザーはオペレーションパネル１００３を使用して各種印刷設定情報の設定やメンテナンス、メモリカード内の画像閲覧及び印刷画像指定、印刷開始指定、印刷キャンセルなどができる。
【００２４】
１００４はオペレーションパネル１００３とビューワ１００５を接続するためのコネクタである。ビューワ１００５はメモリカード１００７内に記録された画像の閲覧、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）によるメニュー表示、各種エラーメッセージの表示などを行う。１００６はメモリカード１００７を接続するためのコネクタである。このコネクタ１００６を介して、画像記録装置１２は、メモリカード１００７から直接画像データを読み込んで印刷することができる。
【００２５】
１００８はデジタルカメラ１０１０を接続するためのポートとしてのＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）バスコネクタである。１００９はデジタルカメラ１０１０を接続するための端子である。１０１０はデジタルカメラである。デジタルカメラ１０１０は内部のメモリに保存している画像データ及び印刷設定情報を画像記録装置１２に対して出力可能に構成されている。なお、デジタルカメラ１０１０の構成としては、内部に記憶手段としてのメモリを備えるものや、取り外し可能なメモリを装着するためのスロットを備えたものなど、種々の構成を採用することができる。これにより、画像記録装置１２は、デジタルカメラ１０１０内の画像データをデジタルカメラで設定された印刷設定情報に従って処理し、カメラダイレクトプリントすることができる。
【００２６】
１０１１はＵＳＢバスハブで、接続コネクタ１０１２経由で接続されたＰＣ（パーソナル  コンピュータ）１０１３からの画像データに基づいて印刷を行う際には、ＰＣ１０１３からのデータをスルーする。１０１４はメモリで、ＡＳＩＣ１００１のＣＰＵが実行する制御プログラムを記憶するプログラムメモリを備えている。また、メモリ１０１４は、ＣＰＵが実行中のプログラムを記憶するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）エリア、画像データなどを記憶するワークメモリエリアを有している。
【００２７】
１０１５はキャリッジ制御基盤／プリントヘッド１０１６を接続するコネクタである。１０１７はＬＦモータドライバであり、１０１８はＬＦモータ１０１９を接続するためのコネクタである。同様に１０２０はＡＳＦモータドライバであり、１０２１はＡＳＦモータ１０２２を接続するためのコネクタである。１０２３は電源コネクタで、電源１０２４により商用ＡＣ（交流）電源からの交流電圧を基に変換した直流電圧を入力している。尚、図２において、図１の双方向インタフェース１３に相当するものが端子１００９とデジタルカメラ１０１０を結ぶ線や接続コネクタ１０１２とＰＣ１０１３を結ぶ線であり、ホスト装置１１に相当するものがデジタルカメラ１０１０やＰＣ１０１３である。すなわち、図２においてデジタルカメラ１０１０やＰＣ１０１３以外の構成は、画像記録装置１２が備える構成である。但し、メモリカード１００７は、必要に応じて着脱可能である。
【００２８】
次に画像記録装置１２のＣＰＵがソフトウェアを実行することで実現される機能構成の概要について説明する。尚、以下の説明においては、本発明の特徴に関係するフォトダイレクトプリント機能について主に説明する。
図３は、上述したフォトダイレクトプリントを実現するソフトウェアの機能構成を示す図である。以下、図３を参照しながら、実際にメモリカード２００５からダイレクトプリントを行う場合及び、デジタルカメラ２００３からダイレクトプリントを行う場合の処理の流れに沿ってモジュール構成を説明する。
【００２９】
はじめにメモリカード２００５からのダイレクトプリントを行う機能について説明する。
まず、ＰＤ（フォトダイレクト）機能制御モジュール２００１は、デジタルカメラ用ＵＳＢインタフェースモジュール２００２やメモリカードインタフェース２００４と連携してデジタルカメラ２００３やメモリカード２００５の接続状態を把握する。その接続状態は随時オペレーションパネルインタフェースモジュール２００６に通達され、これにより現在メモリカード２００５やデジタルカメラ２００３からダイレクトプリントが可能かどうかをオペレーションパネル２００７に表示する。また、ユーザーがオペレーションパネル２００７を使って指定できるプリント方法を切り換え、ユーザー設定メニューに反映させる。
【００３０】
また、オペレーションパネルインタフェース２００６はデジタルカメラ２００３やメモリカード２００５の接続状態に関わらず、常に用紙設定などの各種印刷に関する設定を受け付け、現在の印刷設定情報を記憶しておく。これら印刷設定方法の指定をするためのメニュー画面などはビューワ２００９に表示される。オペレーションパネル用インタフェースモジュール２００６とビューワ用インタフェースモジュール２００８は連携してオペレーションパネルのキー操作情報、デジタルカメラ２００３やメモリカード２００５の接続状態情報を共有して、ビューワ２００９に適切なメニュー画面や画像データの表示等を行う。
【００３１】
メモリカード２００５が接続されている場合、ユーザーはオペレーションパネル２００７とビューワ２００９を利用して、メモリカード２００５内の画像を閲覧、印刷する画像の指定、印刷開始指示を行える。ユーザーがメモリカード２００５内の画像データを印刷する場合、オペレーションパネル２００７中の印刷開始キーが押されたタイミングで、まずオペレーションパネル用インタフェースモジュール２００６からフォトダイレクト機能制御モジュール２００１に対して印刷開始要求がなされる。印刷開始要求を受けたフォトダイレクト機能制御モジュール２００１はそれをメイン制御部２０００に通知し、メイン制御部２０００はメモリカード２００５以外のデジタルカメラ２００３やＰＣからのデータを受け付けなくするようにデジタルカメラ用ＵＳＢインタフェースモジュール２００２やＰＣ用のＵＳＢインタフェースモジュールに指示する。これらの指示が伝わり、メモリカード２００５からの印刷に専念できる状態になった後、メイン制御部２０００はフォトダイレクト機能制御モジュール２００１にフォトダイレクトプリント処理に遷移する許可を与える。
【００３２】
許可を受けた後、フォトダイレクト機能制御モジュール２００１は、ラスタライザマネージャー２０１０に印刷指示を与える。ラスタライザマネージャー２０１０は、現在のプリントモードにあったラスタライザモジュールを選択し、処理をさせる。例えば、ＰＣからの印刷の場合にはフォトダイレクトプリンタに流れてくるデータは印刷データそのものであるのに対し、デジタルカメラ２００３やメモリカード２００５からダイレクトに印刷を行う場合には、流れてくるデータがデコードなどもされていない画像ファイルデータであるため、ラスタライザ２０１３が画像ファイルデータを基に印刷データの生成を行う必要がある。そのため、ＰＣからの印刷の場合にはラスタライザマネージャー２０１０は、非ＰＤ印刷用ラスタライザ２０１１を選択し、ＰＣからの印刷データを処理させる。また、デジタルカメラ２００３やメモリカード２００５からの印刷を行う場合には、ラスタライザマネージャー２０１０は、ジョブ生成モジュール２０１２およびラスタライザモジュール２０１３にデジタルカメラ２００３やメモリカード２００５からの画像ファイルデータを処理させる。
【００３３】
ジョブ生成モジュール２０１２はラスタライザマネージャー２０１０から印刷処理指示を受けると、まずフォトダイレクト機能制御モジュール２００１に対して現在メモリカード２００５からのダイレクトプリントか、それともデジタルカメラ２００３からのダイレクトプリントかを問い合わせる。その結果メモリカード２００５からのダイレクトプリントであることを通知された場合、オペレーションパネル用インタフェースモジュール２００６からユーザーが設定した印刷設定情報を取得し、ジョブ（印刷ジョブ）を生成する。その後、ジョブ生成モジュール２０１２はラスタライザモジュール２０１３に印刷処理指示を与える。
【００３４】
ラスタライザモジュール２０１３はジョブ情報に基づき印刷データを生成する。ジョブ情報とは、例えば、用紙サイズや用紙の種類、１枚割り付け印刷やｉｎｄｅｘ印刷などの各種印刷方法、印刷品位、各種画像補正に関する指定、印刷指定された画像ファイルに関する情報、メモリカード２００５かデジタルカメラ２００３のどちらからの印刷かなどの情報からなる。具体的には、ラスタライザモジュール２０１３はまず、ジョブ情報を解釈し、用紙（印刷媒体）の種類や印刷品位からエンジン部の動作モードを決定し、エンジン制御モジュール２０１５に伝える。次に、用紙サイズや印刷方法に従って、ラスタライザモジュール２０１３は、１枚の印刷媒体上のどの位置にどのような大きさで画像データを割り付けるかといったレイアウト情報を形成し、印刷指定された画像ファイルに関する情報を用いて印刷データ生成を行う。
【００３５】
ラスタライザモジュール２０１３における画像ファイルから印刷データの生成処理は例えば次のようなステップでなされる。尚、印刷データの生成処理の詳細については後述する。
（１）印刷指定された画像ファイルを読み込み、デコードする。
（２）デコード後の色空間をデバイス固有の色空間へと変換する。
（３）次にハーフトーニング部によって、デバイスの各画素の状態を表す量子化量への変換（ハーフトーニング）を行う。
なお、ここでの量子化量への変換とは、画像記録装置１２の処理するデータの形態に対応し、例えば、画像記録装置１２による記録が２値データに基づき行われる場合は、２値化し、画像記録装置１２による記録が多値データ（濃淡インクによる記録、大小インクによる記録を行うため）に基づき行われる場合は、多値化されることである。
【００３６】
さらにラスタライザモジュール２０１３は、必要に応じて給紙や排紙、フィード、プリントなどの要求をエンジン制御モジュール２０１５に対して出し、エンジン制御モジュール２０１５とメッセージをやり取りして、同期を取りながら印刷処理を進めていく。メモリカード２００５からのダイレクトプリントの場合、印刷指定された画像ファイルへのアクセスはメモリカード用インタフェースモジュール２００４を通して行う。また、デジタルカメラ２００３からのプリントの場合は、デジタルカメラ用ＵＳＢインタフェースモジュール２００２を通して行う。
【００３７】
データ変換モジュール２０１４は、ラスタライザモジュール２０１３や非ＰＤ印刷用ラスタライザモジュール２０１１により生成された印刷データを、エンジン部が受け付けるデータ形式へと変換するとともに、所定量の変換データが揃うごとにメイン制御モジュール２０００経由でエンジン制御モジュール２０１５に通知する。エンジン制御モジュール２０１５は、エンジンの動作モードを考慮して、前述の変換データをエンジンに渡し、印刷処理を行わせる。
【００３８】
次にデジタルカメラ２００３からのダイレクトプリントを行う場合の処理に沿って説明する。
まず、フォトダイレクト機能制御モジュール２００１についてはメモリカード２００５からのダイレクトプリントの場合と同様の処理がなされる。デジタルカメラ２００３が接続されている場合、ユーザーはデジタルカメラ２００３に備えられた機能を利用してデジタルカメラの記憶部内の画像閲覧、印刷する画像の指定、印刷設定、印刷開始指示を行える。ユーザーがデジタルカメラ２００３からダイレクトに画像データを印刷する場合、デジタルカメラ２００３の印刷開始キーが押されたタイミングで、まずデジタルカメラ用ＵＳＢインタフェースモジュール２００２からフォトダイレクト機能制御モジュール２００１に対して印刷開始要求がなされる。印刷開始要求を受けたフォトダイレクト機能制御モジュール２００１はそれをメイン制御部２０００に通知し、メイン制御部２０００はデジタルカメラ２００３以外のメモリカード２００５やＰＣからのデータを受け付けなくするようにメモリカード用インタフェースモジュール２００４やＰＣ用のＵＳＢインタフェースモジュールに指示する。これらの指示が伝わり、デジタルカメラ２００３からの印刷に専念できる状態になった後、メイン制御部２０００はフォトダイレクト機能制御モジュール２００１にフォトダイレクトプリント処理に遷移する許可を与える。尚、この際のフォトダイレクト機能制御モジュール２００１の動作は、メモリカード２００５からのダイレクトプリントを行う場合と同様である。
【００３９】
次に、ジョブ生成モジュール２０１２は、ラスタライザマネージャー２０１０から印刷処理指示を受けると、まずフォトダイレクト機能制御モジュール２００１に対して現在メモリカード２００５からのダイレクトプリントか、それともデジタルカメラ２００３からのダイレクトプリントかを問い合わせる。その結果デジタルカメラ２００３からのダイレクトプリントであることを通知された場合、デジタルカメラ用ＵＳＢインタフェースモジュール２００２からユーザーが設定した印刷設定情報を取得し、ジョブを生成する。その後、ジョブ生成モジュール２０１２はラスタライザモジュール２０１３に印刷処理指示を与える。
【００４０】
この際のラスタライザモジュール２０１３の動作は、メモリカード２００５からのダイレクトプリントを行う場合とほぼ同様であり、異なる点は、デジタルカメラ用ＵＳＢインタフェースモジュール２００２経由で所望の画像ファイルにアクセスすることである。また、データ変換モジュール２０１４とエンジン制御モジュール２０１５についても、メモリカードからのダイレクトプリントを行う場合と同様の動作がなされる。
【００４１】
以上の機能構成の概要からも分かる通り、本実施形態の特徴を最も示す構成は、図３におけるラスタライザモジュール２０１３に関する構成である。
【００４２】
次に、ラスタライザモジュール２０１３における処理の詳細について図を用いて説明する。
図４は、ラスタライザモジュール２０１３の処理フローを示す図である。図４において、３０００は印刷指示受信ステップである。このステップ３０００でジョブ生成モジュール２０１２からの印刷指示を受け取った後、ラスタライザモジュール２０１３は、印刷データ生成処理を開始する。次に、３００１は、ジョブ情報取得ステップであり、ラスタライザモジュール２０１３は、用紙サイズ、用紙種類、プリント方法、印刷品位、画像補正設定などユーザーの指定した様々な情報を取得する。
【００４３】
次に、３００２はエンジン動作モード決定ステップであり、ラスタライザモジュール２０１３は、ステップ３００１で取得したジョブ情報の中に含まれる用紙種類、印刷品位、フチあり印刷かどうかなどの情報を参照して、エンジンの動作モードを決定する。
【００４４】
次に、３００３はエンジン初期化指示ステップであり、ラスタライザモジュール２０１３は、ステップ３００２で決定したエンジンの動作モードをエンジン制御モジュール２０１５に通知するとともに、これから印刷を行うためのエンジン部の初期化を指示する。
【００４５】
次に、３００４はレイアウト情報生成ステップであり、ラスタライザモジュール２０１３は、ジョブ情報のうち、用紙サイズ、プリント方法、レイアウト方法を参照し、また、先に決定されたエンジンの動作モードによる印刷データの解像度情報も参考にして、１枚の印刷媒体上に何枚の画像を割り付けるか。また、それぞれの画像をどの位置にどのような大きさで割り付けるかといったレイアウト情報を生成する。また、このステップ３００４でレイアウト情報が設定されるのは画像だけに限らず、日付印刷を行う場合の文字列の挿入位置を示す画像内文字列レイアウト情報や、Ｉｎｄｅｘプリントの場合の画像外文字列レイアウト情報に関しても同様に設定される。
【００４６】
次に、３００５は画像割り付けステップであり、ラスタライザモジュール２０１３は、ステップ３００４で設定された該当ページ内の各画像割り付け位置に対して、印刷指定がなされたどの画像データを割り付けるかを決定する。尚、このステップ３００５は図４からも分かる通り、各ページの先頭で実行される処理である。
【００４７】
次に、３００６はプリントタイプ判定ステップであり、ラスタライザモジュール２０１３は、ジョブ情報を参照して、今回与えられたジョブがＩｎｄｅｘ印刷かそれ以外の印刷かを判断し、次に実行されるステップを切り換える。
【００４８】
ステップ３００６でＩｎｄｅｘ印刷と判断された場合（ステップ３００６のＹｅｓ）には、ステップ３００７へ進み、ラスタライザモジュール２０１３は、画像外文字列割り付けステップへと処理が移る。ここでは先にステップ３００４で設定された文字列レイアウト情報に従ってラスタライザモジュール２０１３が処理を行う。
【００４９】
ここで、Ｉｎｄｅｘ印刷時に一覧で配置される各画像とその画像に関する情報の配置構成例について図を用いて説明する。図５は、Ｉｎｄｅｘ印刷時に一覧で配置される各画像とその画像に関する情報の配置構成例を示す図である。Ｉｎｄｅｘ印刷を行う場合、図５に示すように、メモリカード内の画像データ４０００の一覧を印刷するとともに、その画像データ４０００の作成された日付４００２やファイル番号４００１なども一緒に印刷される。すなわち、画像データ４０００とファイル番号４００１と日付４００２が一組となるセット４００３が構成される。Ｉｎｄｅｘ印刷は画像リストを作成するという用途のため、図５に示されるようなセット４００３が、図６のようにいくつも並んだ形式で印刷される。図６は、Ｉｎｄｅｘ印刷時の画像一覧の配置例を示す図である。図６において、４００４は、用紙などの印刷媒体である。
【００５０】
すなわち、ステップ３００７では、ラスタライザモジュール２０１３は、印刷媒体上に割り付けられた画像データの作成日時やファイル番号などの情報を取得し、該当画像データと図５のような位置関係を満たす位置に取得した情報を示す文字列を配置する。この配置位置情報が文字列レイアウト情報であり、ステップ３００７ではこのレイアウト位置にどういった文字列を印刷するかを設定する。
【００５１】
また、ステップ３００６でＩｎｄｅｘ印刷以外と判断した場合（ステップ３００６のＮｏ）には、ラスタライザモジュール２０１３は、ステップ３００８の画像内文字列割り付けステップへと処理が移る。このステップ３００８では、ラスタライザモジュール２０１３は、ジョブ情報を参照し、画像内の文字列割付け処理を行う。具体的には、ラスタライザモジュール２０１３は、まず、ユーザーが日付印刷を行うように指定したかどうかを判断する。もし日付印刷を行わないと指定されている場合はこのステップ３００８においては文字列割付け処理を行わずに次のステップ３００９の処理に移る。また、日付印刷を行うよう指定されている場合には、ラスタライザモジュール２０１３は、先にステップ３００４で設定された画像内文字列レイアウト情報に従って画像内文字列割付け処理を行う。
【００５２】
Ｉｎｄｅｘ印刷以外で日付印刷を行う場合、画像記録装置１２は、図７のように日付文字列４１０１を画像データ４１００内に挿入して印刷を行う。この文字列の配置位置情報が画像内文字列レイアウト情報であり、ステップ３００８ではこのレイアウト位置に該当画像データから取得したファイル作成日時を配置するよう設定する。
【００５３】
画像等の割り付け設定が終わると、次にステップ３００９に移る。ステップ３００９は給紙指示ステップでラスタライザモジュール２０１３がエンジン制御モジュール２０１５に給紙を行うよう指示を行う。
【００５４】
次に、３０１０は印刷データ生成ステップであり、ラスタライザモジュール２０１３は、印刷データの生成処理を行う。図８は、図４のステップ３０１０における印刷データ生成処理の詳細フロー例を示す図である。尚、図８においては、簡便のために１枚の印刷媒体上に１枚の画像データを割り付けて印刷を行う場合の印刷データの生成処理フロー例を示した。
【００５５】
図８に示すように、ステップ５０００において、ラスタライザモジュール２０１３は、印刷データの生成処理を開始する。まず、ラスタライザモジュール２０１３は、ステップ５００１の画像データ読み込みステップにおいて、印刷指定された画像データをデジタルカメラ２００３もしくはメモリカード２００５から読み込み、メモリ内へと格納する。尚、画像データの読み込みはメモリに余裕があり、一度に全て読み込めるのであれば読み込んでしまうことが望ましいが、一度で読み込めない場合にはステップ５００２のデコードステップで画像データを部分的に読み込んでデコードするようにし、その部分デコードに必要な画像データを随時読み込むようにしても良い。本実施形態では簡単のため、メモリに余裕があり、一度に画像データが読み込める場合について説明をする。
【００５６】
次に、ステップ５００２はデコードステップであり、ラスタライザモジュール２０１３は、ステップ５００１で読み込まれた画像データを参照して画像データのデコードを行う。具体的には、ラスタライザモジュール２０１３は、ＪＰＥＧ形式やＴＩＦＦ形式など、様々な形式の画像データを例えばビットマップデータなどのプリンタ処理可能な画像データにデコードする。ここでデコード処理に必要とするメモリに余裕がある場合には、ラスタライザモジュール２０１３は、ここで画像全体をデコードし、デコード後の画像データをメモリに保存しておいて以降の処理を行う。また、余裕がない場合には以降の処理が行われる基本単位、例えば実際に印刷媒体に割り付けられた時の方向に画像データの向きを合わせた場合の１ラスタ単位でラスタライザモジュール２０１３はデコードする。もしここで、デコード対象の画像データがＪＰＥＧ形式である場合には便宜上のため、ＭＣＵのサイズを考慮して８もしくは１６ラスタ単位でデコードしても良い。
【００５７】
以下では今回の実施形態で取り上げた画像記録装置１２でより現実的なデコード処理に必要とするメモリに余裕のない場合、つまり、１ラスタ、もしくは８／１６ラスタ単位でデコードを行い、印刷データ生成処理を行う場合を例に説明する。
次のステップ５００３は色空間変換ステップであり、ラスタライザモジュール２０１３は、ステップ５００２で得られたデコード後の画像データの色空間をデバイス固有の色空間へと変換する。この変換は数式を使って直接計算するものでも良いし、ＬＵＴを使って変換するものなどでも良い。
【００５８】
次のステップ５００４は画像データ変倍ステップであり、ラスタライザモジュール２０１３は、ステップ５００３で得られた色空間変換後の画像データを、レイアウト情報で指定された当該画像データを印刷媒体上に実際に割り付ける矩形の大きさに従って変倍処理を行う。ここでの変倍処理としてはニアレストネイバーやバイリニア、バイキュービックなどの多種多様なアルゴリズムが適用できる。そして、変倍処理後の画像データはレイアウト情報を参照して印刷領域の幅分用意されたラインバッファ内の画像割り付け位置に見合った場所へと出力される。
【００５９】
次のステップ５００５は日付印刷オン／オフ判断ステップであり、ラスタライザモジュール２０１３は、日付印刷の設定がオンであればステップ５００６およびステップ５００７の処理を行ってからステップ５００８へ進み、日付印刷の設定がオフであれば直接ステップ５００８へ進む。ここで、ステップ５００６はフォントデコードステップであり、ラスタライザモジュール２０１３は、図４のステップ３００８で設定された文字列情報に従って、デコードする文字列と出力サイズを決定し、フォントデータをデコードするとともに出力サイズに見合った大きさへと変倍処理を施し、ビットマップデータを生成する。
【００６０】
次のステップ５００７はフォントインポーズステップであり、ラスタライザモジュール２０１３は、ステップ５００６で生成されたビットマップデータを参照して、図４の３００８で指定された文字列情報に従い、５００４で得られた変倍処理後の画像データの適切な位置にインポーズする。
【００６１】
次のステップ５００８はハーフトーニングステップであり、ラスタライザモジュール２０１３は、ステップ５００４において変倍処理後の画像データであって、必要であればステップ５００６、５００７においてフォントのインポーズも行った後の画像データに対してハーフトーニングを行う。
【００６２】
次のステップ５００９は印刷データ生成量確認ステップであり、ラスタライザモジュール２０１３は、エンジン部が印字を行う際に要求する基本処理単位分の印刷データが揃ったかどうかを判断して、揃った場合にはステップ５０１０へ進む。この基本処理単位のデータ量は、エンジン部のモジュールに依存し、例えば１６ラスタ等が指定されている。
【００６３】
次のステップ５０１０は印刷データ生成量に関するエンジン部への通知ステップであり、ラスタライザモジュール２０１３は、エンジン部へ所定量の印刷データ揃ったことを通知する。これをきっかけにして、エンジン部はラスタライザモジュール２０１３の処理により蓄積された所定量の印刷データに対して印刷処理を行う。
【００６４】
次のステップ５０１１はページ終了判断ステップであり、ラスタライザモジュール２０１３は、印刷対象のページ内の処理を行ったラスタ数と図４のステップ３００４で設定されたレイアウト情報とから、印刷対象のページ内の終了ラスタに達したか否かを判断する。ここで終了ラスタに達していないと判断した場合（ステップ５０１１のＮｏ）には、ラスタライザモジュール２０１３は、ステップ５００２に戻り、次のラスタ単位に対してデコード処理を行う。すなわち、終了ラスタに達するまで、ステップ５００２〜ステップ５０１０の処理を繰り返す。このループ処理を、ラスタライザモジュール２０１３は、印刷データ生成処理解像度でのラスタ単位で繰り返す。
【００６５】
また、ページ内の終了ラスタに達していると判断した場合（ステップ５０１１のＹｅｓ）には、ラスタライザモジュール２０１３は、ステップ５０１２の端数分印刷データ処理ステップへと移る。このステップ５０１２においては、ラスタライザモジュール２０１３は、ステップ５０１０の処理により、エンジン部で印刷処理がなされていない印刷データが残っている場合の端数処理を行う。例えばエンジン側の基本処理単位が１６ラスタである場合に、８ラスタ分の印刷データしか揃っていない場合には、残りの８ラスタ分をＮｕｌｌデータ、つまりインクを全く打たない空白データで埋めることで、印刷データを揃え、エンジン部に通知する。次のステップ５０１３で、ラスタライザモジュール２０１３は、印刷データ生成処理を終了する。
【００６６】
上述した図４のステップ３０１０の印刷データ生成ステップでのラスタライザモジュール２０１３の処理として、１枚の印刷媒体に対して１枚の画像データを割り付け印刷する例を図８に示した。次に、同じくステップ３０１０の印刷データ生成ステップでのラスタライザモジュール２０１３の処理として、１枚の印刷媒体に対して複数の画像データを割り付けた場合の印刷データ生成フロー例を説明する。
【００６７】
１枚の印刷媒体に対する複数枚の画像データの割り付け方法には様々な方法があるが、本実施形態では、複数の画像を所定枚数ずつ周期的にかつふちなしで配置した場合を扱う。図９（ａ）〜（ｃ）は、複数の画像を所定枚数ずつ周期的にかつふちなしで配置した割付け方法例を示す図である。ここでは、画像データＡ（４３００）〜画像データＨ（４３０７）までの８枚の画像データを、２枚（図９（ａ））、４枚（図９（ｂ））、８枚（図９（ｃ））ずつ割り付けた場合の配置例を示している。図９（ａ）は、２枚ずつの場合であり、画像データＡ（４３００）と画像データＢ（４３０１）が一組で上下に配置されている。以降、図９（ａ）には示していないが、画像データＣ（４３０２）と画像データＤ（４３０３）の組、画像データＥ（４３０４）と画像データＦ（４３０５）の組、…と繰り返し周期的に配置が行われる。また、図９（ｂ）は、４枚ずつの場合であり、画像データＡ（４３００）〜画像データＤ（４３０３）が一組で１枚の印刷媒体に配置されている。以降、図９（ｂ）には示していないが、画像データＥ（４３０４）〜画像データＨ（４３０７）の組の配置が行われる。また、図９（ｃ）は、８枚ずつの場合であり、画像データＡ（４３００）〜画像データＨ（４３０７）が一組で配置されている配置例である。
【００６８】
尚、本実施形態においては、２枚、４枚、８枚割り付けた場合を例にあげているが、この限りではなく、これら以外にも所定の枚数ずつ周期的に画像を並べることによって実現可能な様々な割り付け方法が存在し、それらを適用してもよい。
【００６９】
上述した図４のステップ３０１０の印刷データ生成ステップにおいて、ラスタライザモジュール２０１３が、図９（ａ）〜（ｃ）に示すような割り付け方法で画像データを割り付け、印刷データを生成する処理フローについて説明する。図１０は、ラスタライザモジュール２０１３が、図９（ａ）〜（ｃ）に示すような割り付け方法で画像データを割り付け、印刷データを生成する処理フローを示す図である。
【００７０】
図１０に示すように、ステップ５１００において、ラスタライザモジュール２０１３は、複数枚画像を割り付ける場合の印刷データの生成処理を開始する。以下の説明においては、図９（ｃ）に示した８枚割り付け時の画像並びについて、図１２のように行方向と列方向を定義する。また、図１０で示す処理フローでは、図１２に示す画像行単位での印刷データ生成処理を行い、全ての画像行に対する処理を終えるまで繰り返す。
【００７１】
具体的には、ラスタライザモジュール２０１３は、まず１行目の画像分の印刷データを生成し、次に２行目、３行目、…、ｎ行目と印刷データの生成処理を繰り返す。この画像行ループを表すのが図１０のステップ５１０１〜ステップ５１１０までのループである。つまり図１２に示す配列例であれば、まず画像Ａと画像Ｂの部分に相当する１番目の画像行に対して印刷データを生成し、処理が終わると次に画像Ｃと画像Ｄの画像行に対して印刷データを生成する。引き続き画像Ｅと画像Ｆの画像行、最後に画像Ｇと画像Ｈの画像行へと生成処理を続ける。そして１ページ分の印刷データの生成が終了すると、ステップ５１１１の端数分印刷データ処理ステップを行い、ステップ５１１２の印刷データ生成処理終了となる。ここで、ステップ５１１１の端数分印刷データ処理ステップは先に説明した図８のステップ５０１２と同様の処理である。
【００７２】
次に、ステップ５１０１〜ステップ５１１０の画像行ループの中における処理について説明する。尚、図１０に示す処理は、先に説明した図８に示した処理と同様に印刷データを１ラスタごとに生成する。また、図１０においてステップ５１０２〜ステップ５０１５において画像列ループが構成され、ステップ５１０３とステップ５１０４の処理は画像単位で行う。図１２の配列例で説明すると、１行目の画像データＡおよび画像データＢに対して印刷データを生成する場合には、ステップ５１０３、５１０４の処理を画像データＡ、画像データＢの順に行う。また、１回の処理で得られる出力は１ラスタ分のみであるから、ステップ５１０２〜ステップ５１０５の画像列ループの処理を画像行内の終了ラスタに達するまで繰り返す。
【００７３】
尚、本実施形態においては、図１０に示すように画像列順に処理を行う画像列ループを示したが、この限りではなく、ステップ５１０３とステップ５１０４の処理は画像行内に含まれる各画像に対して、任意の順で処理してよい。また、図１０のステップ５１０３の画像データ読み込み処理は、図８に示したステップ５００１と同様の処理であり、説明を省略する。
【００７４】
次に、ステップ５１０４の色処理データ生成処理ステップの詳細について説明する。図１１は、図１０におけるステップ５１０４の色処理データ生成処理ステップの詳細を示す図である。図１１のステップ５２００とステップ５２０７はそれぞれ色処理データ生成処理（ステップ５１０４）の開始と終了である。ステップ５２００でラスタライザモジュール２０１３が色処理データ生成処理を開始すると、ステップ５２０１〜５２０６までの処理をフローに従って行う。ここで、図１１のステップ５２０１〜ステップ５２０６は、図８に示したステップ５００２〜ステップ５００７と同様の処理を行うステップであり、説明を省略する。
【００７５】
次に、画像列ループのステップ５１０５の出力として得られる１ラスタの色処理出力データに対してラスタライザモジュール２０１３は、ステップ５１０６のハーフトーニングステップを行う。以降、ラスタライザモジュール２０１３は、ステップ５１０７〜ステップ５１０８までの処理をフローに従って行う。これらの図１０に示すステップ５１０６〜ステップ５１０８の処理は、図８に示すステップ５００８〜５０１０の各ステップと同様の処理を行うので、説明を省略する。
【００７６】
次に、ステップ５１０９は画像行終了判断ステップであり、ラスタライザモジュール２０１３は、現在処理しているラスタが該当画像行の終端ラスタであるか否かを判断する。ここで、現在処理しているラスタが終端ラスタである場合（ステップ５１０９のＹｅｓ）には、ラスタライザモジュール２０１３は、ステップ５１１０に進み、次の画像行へと処理を移すか、当該画像行が最後の画像行であればステップ５１１１に進む。また、現在処理しているラスタが終端ラスタでない場合（ステップ５１０９のＮｏ）には、ラスタライザモジュール２０１３は、該当画像行の次のラスタを処理するため、ステップ５１０２の画像列ループへと戻る。
【００７７】
以上に示したように、ラスタライザモジュール２０１３は、複数画像を１枚の印刷媒体に割り付けた印刷データを生成可能であり、これにより、画像記録装置１２は複数枚の画像を１枚の印刷媒体に印刷することができる。次に、図４のステップ３００４におけるレイアウト情報生成処理と、ステップ３００８における画像内文字列割り付け処理と、図８のステップ５００４または図１１のステップ５２０３（以下、単に図８のステップ５００４とする）における画像データの変倍処理について、更に詳細に説明を行う。
【００７８】
以下、上述した処理の詳細な説明をするにあたり、画像データの印刷媒体に対するレイアウト例を示す。図１３（ａ）〜（ｃ）は、画像データの印刷媒体に対するレイアウト例を示す図である。まず、図１３（ａ）において、４４００は印刷媒体を示し、４４０１の実線は印刷領域を、破線はその印刷領域４４０１内に４枚の画像データを割り付ける場合の画像境界線を示す。また、４４０２、４４０３、４４０４、４４０５はそれぞれ、印刷媒体４４００に対して印刷領域４４０１が上下左右にはみ出した部分であるはみ出し印刷領域の幅もしくは高さを示す。ここで、４４０２（Ｌｅｆｔ）は、印刷媒体４４００の左にはみ出した幅であり、４４０３（Ｒｉｇｈｔ）は、印刷媒体４４００の右にはみ出た幅であり、４４０４（Ｔｏｐ）は、印刷媒体４４００の上にはみ出た高さであり、４４０５（Ｂｏｔｔｏｍ）は、印刷媒体４４００の下にはみ出た高さであり、長さはそれぞれ異なる。
【００７９】
図１３（ａ）のレイアウトに沿って画像データを割り付け印刷する場合、図１３（ｂ）の画像割付け枠Ａ〜Ｄ（４４０６〜４４０９）が、実際に４枚の画像データを印刷領域４４０１に割り付けて印刷する領域となる。つまり、図１３（ａ）の４４０２〜４４０５に示すように、はみ出し印刷領域の幅及び高さが割付位置によって異なるため、図１３（ｃ）に示すように印刷媒体上印刷領域Ａ〜Ｄ（４４１０〜４４１３）の面積をほぼ均一にする場合、図１３（ｂ）に示した画像割り付け枠Ａ〜Ｄ（４４０６〜４４０９）のサイズは均一とならない。
【００８０】
［第１の実施形態］
図１３（ａ）〜（ｃ）に示した割付けのレイアウト例に沿って良好な複数画像データの割り付けを行うために、第１の実施形態は次のような構成をとる。
＜レイアウト情報生成処理の処理手順＞
図４のステップ３００４におけるレイアウト情報生成処理の詳細について説明する。図１４は、図４のステップ３００４におけるレイアウト情報生成処理の詳細を示すブロック図である。図１４に示すように、ラスタライザモジュール２０１３は、幾つかの処理部により構成され、以下に示す（１）〜（３）の手順でレイアウト情報を生成する。
【００８１】
（１）図１４の印刷媒体上印刷領域幅取得部１００と、印刷媒体上印刷領域高さ取得部１０１における処理により、図４のジョブ情報取得ステップ３００１で得たジョブ情報に含まれる用紙サイズと割り付け方法から図１３（ｃ）に示す印刷媒体上の印刷領域（４４１０〜４４１３）の幅（Ｗｉｄｔｈ）と高さ（Ｈｅｉｇｈｔ）を決定する。
【００８２】
ここでは、各印刷媒体上印刷領域の幅（Ｗｉｄｔｈ）及び高さ（Ｈｅｉｇｈｔ）ともに印刷データを生成する処理解像度でのピクセル数単位で設定する。全ての印刷領域Ａ〜Ｄ（４４１０〜４４１３）の大きさが等しくなるように、印刷データ生成処理の解像度における用紙サイズ、つまり印刷媒体４４００の高さと幅を、割り付け方法によって決まる画像行数、列数で均等に割り、設定を行う。
【００８３】
この時、ラスタライザモジュール２０１３は、ピクセル数単位で設定するため、印刷媒体４４００の大きさ、割り付け方法、印刷データ生成処理の解像度の組み合わせによっては必ずしも幅と高さが行、列数で割り切れるとは限らない。そこで、そのような場合には印刷媒体の高さ、幅を画像行、列数で割った値を整数値にまるめた値をもって印刷媒体上の印刷領域（４４１０〜４４１３）の幅（Ｗｉｄｔｈ）と高さ（Ｈｅｉｇｈｔ）を設定する。まるめ方は割った値から大幅にずれなければどのような方法でも良く、四捨五入、小数部打ち切り、もしくは切り上げなど何でも良い。ここで重要なことは４つの印刷領域（４４１０〜４４１３）の幅（Ｗｉｄｔｈ）と高さ（Ｈｅｉｇｈｔ）を均一に設定するということである。
【００８４】
（２）次に、図１４のはみ出し印刷領域幅取得部１０２と、はみ出し印刷領域高さ取得部１０３における処理により、フチなし印刷のための左側はみ出し領域幅４４０２（Ｌｅｆｔ）、右側はみ出し領域幅４４０３（Ｒｉｇｈｔ）及び上側はみ出し領域高さ４４０４（Ｔｏｐ）、下側はみ出し領域高さ４４０５（Ｂｏｔｔｏｍ）を取得する。
【００８５】
これらの値も印刷データを生成する処理解像度でのピクセル数を単位とする。ここでは正しいはみ出し量に関する情報が取れればどのような方法でも良い。一般にフチなし印刷を行う場合のはみ出し印刷領域は給紙やフィードのメカ精度や印刷媒体自体の個体差などによるものであるから、その領域の幅と高さは用紙サイズ、用紙種類、エンジンの動作モードを使って決定することができる。本実施形態ではエンジンの動作モードは用紙種類も考慮して決定した例で説明しているために、以下の説明では特に用紙種類をはみ出し領域情報取得のために利用していない。
【００８６】
具体的には、はみ出し領域幅、高さの取得方法としては、用紙サイズと割り付け方法、及びエンジンの動作モードからはみ出し量の幅と高さを検索できるようなデータベースを持っても良いし、あらかじめ図４のステップ３００１〜３００２にかけてはみ出し領域の幅と高さを設定しておき、ジョブ情報として登録しておいても良い。また、もし仮にはみ出し領域が用紙サイズや割り付け方法、エンジンの動作モードなどに因らずに常に一定な値を持つようであれば、固定値を用いてしまっても良い。ここで重要なことはあくまで上下左右それぞれのはみ出し領域の幅と高さを取得することである。取得した、はみ出し量情報を利用することによって、良好な割付制御が可能となる。
【００８７】
（３）次に、図１４の画像割り付け枠幅取得部１０４と、画像割り付け枠高さ取得部１０５における処理により、画像割り付け枠Ａ〜Ｄ（４４０６〜４４０９）の幅と高さを設定する。これらの値もやはり印刷データを生成する処理解像度でのピクセル数を単位とする。上述した（１）の処理で得た印刷媒体上の印刷領域（４４１０〜４４１３）の幅（Ｗｉｄｔｈ）と高さ（Ｈｅｉｇｈｔ）、および上述した（２）の処理で得た左側はみ出し領域幅４４０２（Ｌｅｆｔ）、右側はみ出し領域幅４４０３（Ｒｉｇｈｔ）及び上側はみ出し領域高さ４４０４（Ｔｏｐ）、下側はみ出し領域高さ４４０５（Ｂｏｔｔｏｍ）、それから該当画像割り付け枠の割り付け位置行・列番号を使って設定する。
【００８８】
具体的には、以下のようにして設定する。
画像割り付け枠Ａの幅    ＝  Ｗｉｄｔｈ    ＋  Ｌｅｆｔ
画像割り付け枠Ａの高さ  ＝  Ｈｅｉｇｈｔ  ＋  Ｔｏｐ
画像割り付け枠Ｂの幅    ＝  Ｗｉｄｔｈ    ＋  Ｒｉｇｈｔ
画像割り付け枠Ｂの高さ  ＝  Ｈｅｉｇｈｔ  ＋  Ｔｏｐ
画像割り付け枠Ｃの幅    ＝  Ｗｉｄｔｈ    ＋  Ｌｅｆｔ
画像割り付け枠Ｃの高さ  ＝  Ｈｅｉｇｈｔ  ＋  Ｂｏｔｔｏｍ
画像割り付け枠Ｄの幅    ＝  Ｗｉｄｔｈ    ＋  Ｒｉｇｈｔ
画像割り付け枠Ｄの高さ  ＝  Ｈｅｉｇｈｔ  ＋  Ｂｏｔｔｏｍ
【００８９】
同様にして、一般的な例としてＭ行Ｎ列の画像データを割り付ける場合の画像割り付け枠の幅及び高さの設定式も以下のように表される。
まず、幅において
１列目の画像割り付け枠の幅    ＝  Ｗｉｄｔｈ  ＋  Ｌｅｆｔ
２列目の画像割り付け枠の幅    ＝  Ｗｉｄｔｈ
：
ｎ列目の画像割り付け枠の幅    ＝  Ｗｉｄｔｈ
：
Ｎ列目の画像割り付け枠の幅    ＝  Ｗｉｄｔｈ  ＋  Ｒｉｇｈｔ
また、高さにおいて
１行目の画像割り付け枠の高さ  ＝  Ｈｅｉｇｈｔ  ＋  Ｔｏｐ
２行目の画像割り付け枠の高さ  ＝  Ｈｅｉｇｈｔ
：
ｍ行目の画像割り付け枠の高さ  ＝  Ｈｅｉｇｈｔ
：
Ｍ行目の画像割り付け枠の高さ  ＝  Ｈｅｉｇｈｔ  ＋  Ｂｏｔｔｏｍ
このように画像割り付け枠の幅と高さを設定することで、はみ出し量の影響を受けず、印刷媒体上印刷領域の面積をほぼ均一にできる。
【００９０】
（４）次に、画像割り付け枠Ａ〜Ｄ（４４０６〜４４０９）の位置座標を設定する。
この処理は図１４の画像割り付け枠ｘ座標取得部１０６における処理に相当する。
（１）〜（３）と同様にこれらの値も印刷データを生成する処理解像度でのピクセル数を単位とする。
【００９１】
また、以下の設定のために印刷媒体上の印刷領域幅（Ｗｉｄｔｈ）と、左側はみ出し領域幅（Ｌｅｆｔ）、それから該当画像割り付け枠の割り付け位置列番号を用いる。
図１１の画像データ変倍ステップ５２０３、フォントインポーズステップ５２０６の出力は印刷領域４４０１の幅相当分のラインバッファ（ラインバッファ）に対してなされる。つまり、図１３（ｃ）のように画像を割り付け、印刷データを生成する際には、ラインバッファは以下の長さ相当分だけ確保される。
ラインバッファの長さ  ＝  （Ｗｉｄｔｈ＋Ｌｅｆｔ）＋（Ｗｉｄｔｈ＋Ｒｉｇｈｔ）
＝  ２×Ｗｉｄｔｈ＋Ｌｅｆｔ＋Ｒｉｇｈｔ
【００９２】
ここで相当分と記述したのは、次の理由による。上の式では印刷領域４４０１の幅（ピクセル数）が得られる。通常印刷データを生成する際、色処理等はデバイス固有の色空間で行われる。つまりデバイスごとに何次元（何色）で処理を行うかが異なり、かつ各色を何ｂｙｔｅ（ｂｉｔ）で表現するかもシステムによって異なるためである。ここでもし本実施形態における色処理をシアン、マゼンタ、イエロー、ブラックの４次元空間で行い、また、それぞれの色を２ｂｙｔｅｓで扱うと想定すると、ラインバッファは次のｂｙｔｅ数分だけ確保される。
ラインバッファサイズ  ＝  （（Ｗｉｄｔｈ＋Ｌｅｆｔ）＋（Ｗｉｄｔｈ＋Ｒｉｇｈｔ））×４×２  ＝  （２×Ｗｉｄｔｈ＋Ｌｅｆｔ＋Ｒｉｇｈｔ）×８    ［ｂｙｔｅｓ］
【００９３】
そして、例えば１行目の画像に対して画像データ変倍ステップ５２０３、フォントインポーズステップ５２０６の出力を行う場合には、次のようにして利用する。また、画像割り付け枠Ａ（４４０６）に対する処理の出力をラインバッファの先頭から（Ｗｉｄｔｈ＋Ｌｅｆｔ）ピクセル相当分の長さの範囲内に対して行い、画像割り付け枠Ｂ（４４０７）に対する出力は残りの領域に対して行う。
【００９４】
このように画像割り付け枠Ａ〜Ｄ（４４０６〜４４０９）に割り付けられた画像に対する処理出力を、ラインバッファの適切な位置に対して行うために、各画像割り付け枠左上隅の画像列方向位置座標（ｘ座標）を設定し、用いる。ここで、ｘ座標の原点は印刷領域４４０１の左端であり、ラインバッファの先頭に相当する。この設定は図１３の例では次のようにして行う。
画像割り付け枠Ａのｘ座標  ＝  ０
画像割り付け枠Ｂのｘ座標  ＝  Ｗｉｄｔｈ  ＋  Ｌｅｆｔ
画像割り付け枠Ｃのｘ座標  ＝  ０
画像割り付け枠Ｄのｘ座標  ＝  Ｗｉｄｔｈ  ＋  Ｌｅｆｔ
【００９５】
一般的な例として印刷媒体上にＭ行Ｎ列の画像データが割り付けられた場合を想定する。この場合、各画像割付枠のｘ座標は上と同様にして次の式で計算される。
１列目の画像割り付け枠のｘ座標  ＝  ０
２列目の画像割り付け枠のｘ座標  ＝  Ｗｉｄｔｈ  ＋  Ｌｅｆｔ
３列目の画像割り付け枠のｘ座標  ＝  ２×Ｗｉｄｔｈ  ＋  Ｌｅｆｔ
：
ｎ列目の画像割り付け枠のｘ座標  ＝  （Ｎ−１）×Ｗｉｄｔｈ  ＋  Ｌｅｆｔ
：
Ｎ列目の画像割り付け枠のｘ座標  ＝  （Ｎ−１）×Ｗｉｄｔｈ  ＋  Ｌｅｆｔ
【００９６】
また本来ならば各画像割り付け枠の縦方向の割り付け位置を知るため、画像行方向の位置座標（ｙ座標）も設定するのだが、本実施形態で扱うフチなし印刷の場合には画像行間で画像が隣接しているため、画像行間の空白スキップ処理を行う必要がなく、かつ画像割り付け枠の高さが分かれば各画像行の終端も判断できるためここでは説明を省略する。
【００９７】
（５）次に、図１４のレイアウト情報生成部１０７における処理により、どの画像割り付け枠にどの画像データを実際に割り付けるかを設定するレイアウト情報を生成する。すなわち、各画像割り付け枠にどの画像データを割り付けるかの対応付けを設定する。割り付け画像ファイル情報、すなわち画像の印刷指定情報はジョブ情報に含まれており、これで指定されている画像データを順番に画像割り付け枠Ａ〜Ｄに割り付けていく。また、画像割り付け枠Ａ〜Ｄの幅、高さ、及び割り付け位置については前述のようにして設定された画像割り付け枠幅、高さ、それから画像割り付け枠ｘ座標とから設定される。印刷指定された画像データをどのように割り付けるかは本発明とは直接的に関係がないのでここでは説明を省略する。図１４ではこの印刷指定された画像データに関する情報を割り付け画像ファイル情報としている。
【００９８】
このようにして印刷指定された画像ファイルのうち、どのファイルをどの位置にどの大きさで割り付けるかといったレイアウト情報が生成される。以上の説明と図１４を見れば分かるとおり、印刷データ生成処理の解像度と用紙サイズ、割り付け方法、エンジン動作モード、割り付け行・列番号、割り付け画像情報が分かればこの良好なレイアウト情報生成が可能となる。さらに上述の通り、はみ出し印刷領域の幅、高さがエンジンの動作モードに因らず一定である場合には、それらのパラメータも入力する必要がなくなる。
【００９９】
＜画像内文字列割り付け処理の処理手順＞
次に、図４のステップ３００８における画像内文字列割り付け処理の詳細について説明する。図１５は、図４のステップ３００８における画像内文字列割り付け処理の詳細を示すブロック図である。ここでは次のようにして画像内に挿入される文字列の挿入位置を設定するとともに、実際に挿入される文字列を取得する。
【０１００】
（１）図１５の画像内文字列枠ｘ座標取得部１０８と、画像内文字列枠ｙ座標取得部１０９における処理により、文字列枠の挿入位置を設定する。
図１５からも分かる通り、ここでは印刷媒体上の印刷領域の幅（Ｗｉｄｔｈ）と高さ（Ｈｅｉｇｈｔ）、左側はみ出し領域幅（Ｌｅｆｔ）、上側はみ出し領域高さ（Ｔｏｐ）、該当画像内文字列枠を挿入する画像割り付け枠の割付位置行・列番号、そして各画像割り付け枠内の印刷媒体上印刷領域矩形に対する画像内文字列枠の相対位置ｘ座標（Ｐ＿ｘ）、とｙ座標（Ｐ＿ｙ）が用いられる。なお、以下の処理で用いる図１３における印刷媒体上の印刷領域（４４１０〜４４１３）の幅（Ｗｉｄｔｈ）と高さ（Ｈｅｉｇｈｔ）、左側はみ出し領域幅４４０２（Ｌｅｆｔ）、右側はみ出し領域幅４４０３（Ｒｉｇｈｔ）及び上側はみ出し領域高さ４４０４（Ｔｏｐ）、下側はみ出し領域高さ４４０５（Ｂｏｔｔｏｍ）は、図１４で示したレイアウト情報生成部の符号１００、１０１、１０２、１０３で特定される各処理部と同様の機能を有する、図１５の符号１００、１０１、１０２、１０３で特定される各処理部にて取得される。
【０１０１】
また、図１３（ｃ）の画像割り付けに対して良好な日付文字列挿入を行うためには、各画像割り付け枠内の印刷媒体上印刷領域矩形に対する画像内文字列枠の相対的な位置を等しくする必要がある。図１６は、印刷媒体上印刷領域矩形に対する画像内文字列枠の相対的な位置例を示す図である。図１６において、４４１４〜４４１７は、画像内に挿入する画像内文字列枠（画像内挿入日付文字列枠）Ａ〜Ｄを示す。つまりこの図１６の例では印刷領域４４０１における印刷媒体上印刷領域Ａ〜Ｄそれぞれの右上端からｘ方向にＰ＿ｘ、ｙ方向にＰ＿ｙだけ相対的にずらした位置に画像内挿入日付文字列枠Ａ〜Ｄ（４４１４〜４４１７）の右上端を一致させ、挿入している。
【０１０２】
この良好な日付挿入位置を各画像割り付け枠Ａ〜Ｄに対して以下のようにして設定する。ここでは画像内挿入日付文字列枠Ａ〜Ｄの右上端の位置座標（ｘ，ｙ）を設定する。この位置座標は印刷データを生成する処理解像度でのピクセル数を単位とする。また、ｘ座標、の原点及びその方向は先に述べた通りとする。また、ｙ座標の原点は印刷領域４４０１の上端に取られ、その方向は先に述べた通り、画像行の方向つまり下向きである。
【０１０３】
以下に画像内挿入日付文字列枠Ａ〜Ｄ（４４１４〜４４１７）の右上端の位置座標（ｘ、ｙ）を設定するための式を示す。
画像内挿入日付文字列枠Ａ（４４１４）：
ｘ座標  ＝  Ｌｅｆｔ＋Ｗｉｄｔｈ−Ｐ＿ｘ
ｙ座標  ＝  Ｔｏｐ  ＋Ｐ＿ｙ
画像内挿入日付文字列枠Ｂ（４４１５）：
ｘ座標  ＝  Ｌｅｆｔ＋２×Ｗｉｄｔｈ−Ｐ＿ｘ
ｙ座標  ＝  Ｔｏｐ  ＋Ｐ＿ｙ
画像内挿入日付文字列枠Ｃ（４４１６）：
ｘ座標  ＝  Ｌｅｆｔ＋Ｗｉｄｔｈ−Ｐ＿ｘ
ｙ座標  ＝  Ｔｏｐ  ＋Ｈｅｉｇｈｔ＋Ｐ＿ｙ
画像内挿入日付文字列枠Ｄ（４４１７）：
ｘ座標  ＝  Ｌｅｆｔ＋２×Ｗｉｄｔｈ−Ｐ＿ｘ
ｙ座標  ＝  Ｔｏｐ  ＋Ｈｅｉｇｈｔ＋Ｐ＿ｙ
【０１０４】
以上に示した実施形態では図１３（ｃ）のように画像を割り付けた場合の計算式を記述したが、この例以外の場合にも以下のようにして日付文字列枠の位置座標を計算することができる。
ｍ行目、ｎ列目の画像割り付け枠に挿入する画像内挿入日付文字列枠：
ｘ座標  ＝  Ｌｅｆｔ＋ｎ×Ｗｉｄｔｈ−Ｐ＿ｘ
ｙ座標  ＝  Ｔｏｐ＋（ｍ−１）×Ｈｅｉｇｈｔ＋Ｐ＿ｙ
実際にはこの式に従い、逐次計算によって設定しても良いし、また、あらかじめ全ての用紙サイズ、割り付け方法、エンジンの動作モードの組み合わせもしくは用紙サイズ、割り付け方法、はみ出し量の組み合わせに対して挿入位置を上式により設定しておいて、データベースとして保持しても良い。
【０１０５】
また、本実施形態の例では画像内挿入日付文字列枠Ａ〜Ｄ（４４１４〜４４１７）の位置座標をｘ、ｙ座標の原点に対する絶対座標として設定する例をあげたが、これ以外にも画像割り付け枠に対する相対座標として設定してもよい。この場合以下の式を用いて相対位置座標が設定できる。
１列目の割り付け枠に対するｘ座標  ＝  Ｌｅｆｔ＋Ｗｉｄｔｈ−Ｐ＿ｘ
それ以外の割り付け枠に対するｘ座標＝  Ｗｉｄｔｈ−Ｐ＿ｘ
１行目の割り付け枠に対するｙ座標  ＝  Ｔｏｐ＋Ｐ＿ｙ
それ以外の割り付け枠に対するｙ座標＝  Ｐ＿ｙ
つまりこの場合は左側はみ出し領域幅と上側はみ出し領域高さ、印刷媒体上印刷領域の幅、そして印刷媒体上印刷領域に対する日付文字列枠の相対位置情報が分かれば設定可能となる。
【０１０６】
更に、上述した実施形態では日付文字列枠の右上端座標を設定したが、特に右上端にこだわる必要はなく、左上端、右下端、左下端、文字列枠の中心など日付文字列枠の挿入位置さえ特定できればどこを基準にして座標を設定しても良い。これらについての計算式は省略するが、右上端以外を基準にして座標を設定する場合にも、印刷媒体上印刷領域の幅と高さ、はみ出し領域の幅と高さ、画像割り付け枠に対する日付文字列枠の相対位置情報さえ分かれば計算による容易な設定が可能となる。
【０１０７】
（２）図１５の画像内文字列枠レイアウト情報生成部１１０における処理により、日付文字列枠の幅と高さを設定する。
本実施形態では、上述した（１）の処理により日付文字列枠の配置位置を特定した後に、日付文字列枠の幅と高さを設定する。画像内に挿入する日付文字列枠の大きさは一般に印刷媒体上の印刷領域の大きさとのバランスを考えて設定される。この設定は人の主観によるものであり、特にこれといった設定方法があるわけではない。また、文字列枠の大きさをいかに設定するかについては種々の方法を用いてよいため、設定方法については説明を省略し、どのように設定された大きさを取得するかのみについて説明する。
【０１０８】
先に述べた通り、日付文字列枠の大きさは印刷媒体上の印刷領域の大きさとのバランスを考えて設定される。つまり、ジョブ情報から用紙サイズ、及び画像割り付け方法を取得すれば、印刷領域の大きさは一意に定まるため、これらのパラメータをもとに日付文字列枠の幅と高さを検索できるようなデータベースを持てば良い。
もしくは日付文字列枠の大きさをどのような場合にも一切変更しないとするならば、データベース及びそれらを検索する手段も必要なく、測値を持って設定しても良い。この場合、データベースのためのメモリ量の節約と、データベース検索のための処理量の削減が可能となる。図１５ではこのようにして得られた日付文字列枠の幅と高さを入力としたブロック図が記述されている。
【０１０９】
（３）図１５の画像内文字列枠レイアウト情報生成部１１０における処理により、日付文字列枠に挿入する文字列を取得する。
本実施形態の特徴は画像データや文字列枠のレイアウト方法に関するものであり、日付文字列の取得方法に関するものではないため、ここでは概略にとどめて説明する。日付文字列はファイルの作成日及び更新日を使って設定する方法があるが、この方法では画像ファイルをコピーした場合などに誤った日付情報を印字してしまう恐れがある。そこでこれを回避するために、画像ファイル内に保存された画像データ生成時の日付情報が存在すればそれを取得し、設定し、存在しない場合はファイルの作成日もしくは更新日によって設定する。このようにして取得された文字列情報が図１５では入力されている。
【０１１０】
近年、デジタルカメラで撮影された画像にはデジタルカメラに設定された時間情報に従って、撮影時の日付、時間情報が画像ファイル内に記録される。また、画像内に日付を挿入して印刷を行う画像ファイルとしては、デジタルカメラで撮影された画像ファイルが大部分を占める。このことからも上記のように画像ファイル内の日付情報を利用する方がより好ましい印刷結果が得られることが分かる。実際にこれらの日付、時間情報はタグに囲まれた形式でファイル内に記述されているため、これらの情報を画像ファイルから取得する場合には画像ファイル内のタグ解析部が必要となる。
【０１１１】
以上のようにして取得された文字列情報と、前述のようにして得られた日付文字列枠幅、高さ、それから画像内文字列枠のｘ座標、ｙ座標を用いることで、どのような文字列をどの大きさで、かつどの位置に挿入するかといった画像内日付文字列枠のレイアウト情報は生成される。
【０１１２】
また、以上の説明と図１５から分かるとおり、印刷データ生成処理の解像度と用紙サイズ、割り付け方法、割り付け行・列番号、印刷媒体上印刷領域に対する文字列枠の相対位置座標（Ｐ＿ｘ、Ｐ＿ｙ）、文字列枠の幅・高さ、文字列情報、エンジン動作モードが分かれば、この良好な文字列挿入のためのレイアウト情報生成が可能となる。さらに図１４に示したレイアウト情報生成部１０７と同様に、はみ出し印刷領域の幅、高さがエンジンの動作モードに因らず一定である場合にはこのパラメータも入力する必要がなくなる。
【０１１３】
＜画像データ変倍ステップの処理手順＞
次に図８に示したステップ５００４の画像データ変倍処理には次の役割がある。
図４のステップ３００４のレイアウト情報生成処理で得られたレイアウト情報に従って画像データを割り付け、印刷するために、図８に示した画像データ変倍処理では、レイアウト情報で指定された画像割り付け枠に対して適切に画像データを割り付けるため、デコード及び色空間変換された画像データを適切な変倍率で変倍し、必要に応じて変倍後の画像データを画像割り付け枠に収まるように調整する役割を持つ。
【０１１４】
（１）従来技術における画像データ変倍ステップにおける処理。
上述した役割を果たすために従来は次のような処理が行われていた。
本実施形態で扱う印刷方法はフチなし印刷を対象としているため、図１７（ａ）のようにレイアウト情報で指定された各画像割り付け枠（図１３の例では４４０６〜４４０９）内いっぱいに適切に画像データを割り付け（４４１８〜４４２１）、空白ができないようにしなければならない。仮に空白ができるように画像データを割り付けた場合には図１７（ｂ）に示すように不適切に割り付けられた画像データＡ〜Ｄ（４４２２〜４４２５）の境界部に隙間が生じたり、場合によってはフチあり印刷となってしまう。
【０１１５】
図１７（ａ）のように画像境界部の空白をなくし、良好なフチなし印刷を行うためには図１８のように割り付けられる画像データ４５００を４５０２の変倍後画像データのように少なくとも画像割り付け枠４５０１と同じ大きさもしくはより大きくなるように変倍処理しなければならない。
【０１１６】
ここで画像割り付け枠とその割り付け枠に割り付けられる画像データとが同じアスペクト比である場合には、変倍処理によって同じ大きさにできる。この場合画像データを切り取る必要がないため、画像データ全体を印刷でき、かつ切り取るための処理を省略できる好ましい割り付けが可能となる。
【０１１７】
それに対してアスペクト比が等しくない場合には、画像の縦方向、横方向に異なる変倍率で変倍処理を行うことによって画像割り付け枠と同じ大きさにすることが可能である。しかしこの場合、大抵は縦方向と横方向とで変倍率が大きく異なると画像が縦もしくは横に引き伸ばされたようになってしまうため、良好な画質が得られない。
【０１１８】
しかし縦、横方向の変倍率に殆ど差がない場合には変倍処理後のアスペクト比が殆ど変わらないため画質の低下が感じられないから、縦横で別々の変倍率で変倍処理を行って、画像が切り取られることを防止するとともに、その処理を省略することができる。
【０１１９】
またこれ以外にも縦、横方向の変倍率に殆ど差がない場合には、次のようにすることもできる。縦横で同じ変倍率を使って変倍処理を行ったとしても変倍後の画像データを画像割り付け枠とほぼ同じ大きさにできるため、切り取られる画像領域が少なくてすむ。この場合、縦横で異なる変倍率を用いないため、アスペクト比を保持することができるし、異なる変倍率を用いた変倍処理を行う必要がないため、変倍処理が簡易になる。
【０１２０】
縦横の変倍率に差がある場合には前述の通りアスペクト比を維持できないために画質が低下してしまうので、縦横で同じ変倍率を使う。変倍後の画像データは画像割り付け枠に収まるようにはみ出した領域を切り取るが、その切り取る面積をできる限り少なくするように変倍率は設定される。また、変倍後画像データを切り取る時にどの領域を切り取るかは特に決まってはいないが、大抵は図１９のように画像割り付け枠４５０４と画像データ４５０３（図１９（ａ））の長手方向を合わせ（図１９（ｂ））、変倍処理し、変倍後画像データ４５０５と画像割り付け枠４５０４の中心を合わせてから（図１９（ｃ））はみ出した領域、図１９の切り捨て画像データ４５０７を切り取り、切り取り後画像データ４５０６を得る（図１９（ｄ））。
【０１２１】
尚、上述した例では縦横の変倍率に差があるかないかでの処理の違いを記述したが、どの位の変倍率の差であれば差がないとみなすかについては、実際に印刷した結果を観察して経験的に決める。
また、上述した従来技術の変倍処理及び変倍後画像データの割り付けを行った場合には、印刷媒体上の印刷領域の面積はほぼ均一にできるが、割り付け時の変倍率や、印刷媒体上に印刷される画像領域は割り付ける位置に依存してしまい、良好な印刷結果が得られなくなる。変倍率に関しては従来ではその枠の大きさを基準にして画像データの変倍率を設定していたため、個々の画像割り付け枠の大きさが異なると、どの画像割り付け枠に割り付けるかによって異なる変倍率が設定されてしまうためである。また、印刷媒体上に印刷される画像領域については図１３のように割り付けた場合を例に説明すると、同じ画像を各画像割り付け枠に割り付けた場合、左上に割り付けられた画像データについては左側と上側がはみ出し領域に印刷されてしまうのに対し、右上に割り付けられた場合には上と右側がはみ出し領域に印刷されてしまうなどのためである。これらの課題を解決するために本実施形態では次の処理を行う。
【０１２２】
（２）本実施形態における処理。
本実施形態における図８のステップ５００４における画像データ変倍処理について説明する。
図２０は、本実施形態における図８のステップ５００４における画像データ変倍処理を示すブロック図である。図１７（ａ）のように画像境界部の空白をなくし、良好なフチなし印刷を行うためには、従来技術で説明したように、図１８のように割り付けられる画像データ４５００を４５０２の変倍後画像データのように少なくとも画像割り付け枠４５０１と同じ大きさもしくはより大きくなるように変倍処理しなければならない。これは本実施形態についても同様である。
【０１２３】
従来技術では変倍率は入力画像サイズと画像割り付け枠サイズとから設定されていたため、画像割り付け枠サイズが変わると変倍率も変わり、この結果同じ画像データでも割り付け位置が変わると変倍率が変わってしまう不具合があった。そこで、本実施形態では変倍率は画像割り付け枠サイズを基準に設定するのではなく、用紙サイズと画像割り付け方法によって一意に特定される画像フィッティング枠を設け、その画像フィッティング枠と入力画像サイズとから変倍率を設定することとした。
【０１２４】
次に上述の画像フィッティング枠の設定とそれを用いた変倍率の設定について詳細を説明する。
（ａ）図２０の画像フィッティング枠幅取得部１１１と、画像フィッティング枠高さ取得部１１２における処理により、画像フィッティング枠を設定する。
次の式によって画像フィッティング枠の幅と高さを設定する。ただし前記と同様に図１３における印刷媒体上の印刷領域（４４１０〜４４１３）の幅（Ｗｉｄｔｈ）と高さ（Ｈｅｉｇｈｔ）、左側はみ出し領域幅４４０２（Ｌｅｆｔ）、右側はみ出し領域幅４４０３（Ｒｉｇｈｔ）及び上側はみ出し領域高さ４４０４（Ｔｏｐ）、下側はみ出し領域高さ４４０５（Ｂｏｔｔｏｍ）を使って示した。
画像フィッティング枠の幅  ＝  Ｗｉｄｔｈ＋Ｌｅｆｔ＋Ｒｉｇｈｔ
画像フィッティング枠の高さ＝  Ｈｅｉｇｈｔ＋Ｔｏｐ＋Ｂｏｔｔｏｍ
【０１２５】
（ｂ）図２０の入力画像幅・高さ取得部１１３と、変倍率設定部１１４、変倍処理部１１５、割り付けデータ取得部１１６における処理により、画像フィッティング枠を用いた変倍率を設定する。
以下図２１を参照しながら変倍率の設定方法を説明する。
図２１（a）のように画像データ４５０８と画像フィッティング枠４５０９が与えられた場合、まず画像ファイルのヘッダ部の解析等を行い、画像データ４５０８の幅及び高さのピクセル数を取得する。これが図２０における入力画像幅・高さ取得部１１３に相当する処理である。
【０１２６】
次に、画像データ４５０８の幅、高さの情報と画像フィッティング枠４５０９の幅、高さの情報とを用いて、図２１（ｂ）のように長手方向を合わせる。ここで長手方向を合わせずに以下の処理を行った場合、画像データ４５０８と画像フィッティング枠４５０９の形状差が大きいため、画像割り付け枠に合わせる際に切り取られる画像データ領域が多くなってしまう。図２１（ｂ）に示すようにこの長手方向を合わせた場合の画像データ４５０８の幅をＩｎｐｕｔ＿Ｗｉｄｔｈ’、画像フィッティング枠４５０９の幅をＦｉｔｔｉｎｇ＿Ｗｉｄｔｈ'とし、同様に画像データ４５０８の高さをＩｎｐｕｔ＿Ｈｅｉｇｈｔ'、画像フィッティング枠４５０９の高さをＦｉｔｔｉｎｇ＿Ｈｅｉｇｈｔ'とする（図２１（ｂ）参照）。この時変倍率は次の式で設定される。
（Ｆｉｔｔｉｎｇ＿Ｗｉｄｔｈ’／Ｉｎｐｕｔ＿Ｗｉｄｔｈ’）の値が（Ｆｉｔｔｉｎｇ＿Ｈｅｉｇｈｔ’／Ｉｎｐｕｔ＿Ｈｅｉｇｈｔ’）の値よりも大きい場合は、
変倍率  ＝  Ｆｉｔｔｉｎｇ＿Ｗｉｄｔｈ’／Ｉｎｐｕｔ＿Ｗｉｄｔｈ’
それ以外の場合は、
変倍率  ＝  Ｆｉｔｔｉｎｇ＿Ｈｅｉｇｈｔ’／Ｉｎｐｕｔ＿Ｈｅｉｇｈｔ’
【０１２７】
つまり、上述した式により図２１（ｃ）のように変倍後の画像データ４５０８が画像フィッティング枠４５０９を含み、かつ幅と高さのいずれかが画像フィッティング枠４５０９の幅、もしくは高さと一致するような変倍率が設定される。これが図２０における変倍率設定部１１４に相当する処理である。
【０１２８】
以上に説明した処理を行うことによって、同じ画像データを１枚の印刷媒体上のどの位置に割り付けても常に等しい変倍率で処理を行うことが可能となる。これにより、同じ（または同じような）画像を複数割り付けた場合に、割付位置により変倍率が異なることによる全体としての違和感のあるレイアウト結果となることを防ぐことができる。
【０１２９】
また、上述したようにして設定された画像フィッティング枠４５０９と変倍率を用いて、変倍処理を行った後、その変倍後画像データを画像割り付け枠におさまるように切り取る。また、変倍処理の処理方法は、上述した処理方法に限らず、どのような処理方法を用いても良い。これが図２０における変倍処理部１１５に相当する処理である。
【０１３０】
また、以下に、図２０における割り付けデータ取得部１１６が行う処理について説明する。ここで従来技術のような切り取りを行ったのでは、やはり画像割り付け枠の大きさなどが異なるため、切り取られる画像領域が異なり、印刷媒体上に印刷される領域も異なってしまう。そこで本実施形態では以下のようにして不要な画像データを切り取る。
まず図２１（ｄ）のように変倍後の画像データと画像フィッティング枠４５０９とを中心を合わせて重ね、画像フィッティング枠４５０９をはみ出した領域（切り捨て画像データ４５１２）を切り取り、フィッティング枠内切り取り後画像データ４５１１を得る。
【０１３１】
図２２（ａ）は、画像フィッティング枠４５０９と印刷媒体上印刷領域４５１３の関係例を示す図である。先に設定した画像フィッティング枠４５０９は図２２（ａ）に示す通り、印刷媒体上印刷領域４５１３の周りに上下左右のはみ出し量分の領域を広げたものとなっている。図２２（ｂ）は、フィッティング枠内切り取り後画像データ４５１１と画像フィッティング枠４５０９を重ねた例を示す図である。図２２（ｂ）のようにフィッティング枠内切り取り後画像データ４５１１と画像フィッティング枠４５０９を重ねた場合の、図２２（ｂ）の印刷媒体上印刷領域４５１３と重なった領域の画像データを常に印刷するようにすれば、印刷媒体上のどの位置に画像データを割り付けても常にほぼ同じ領域の画像データを印刷媒体上に印刷することが可能となる。
【０１３２】
そのためにはまずレイアウト情報を参照し、その画像データを割り付ける位置を知る。そして、画像データの割り付け位置から、画像割り付け枠のどの方向にはみ出し印刷領域が存在するのかを判断し、図２２（ｂ）の印刷媒体上印刷領域４５１３外のうち、はみ出し領域印刷に必要な部分以外を切り取ることによって画像割り付け枠に割り付ける画像データを得る。具体例として、図１３（ｂ）、（ｃ）に示したレイアウトを行う場合について説明する。左上の画像割り付け枠Ａ（４４０６）に割り付ける場合、印刷媒体上印刷領域Ａ（４４１０）の上側と左側とにはみ出し印刷領域が存在するため、図２２（ｃ）の右側はみ出し領域切り取り線４５１５と、下側はみ出し領域切り取り線４５１７に沿ってフィッティング枠内切り取り後画像データ４５１１を切り取り、割り付ける。その他の場合も同様にしてはみ出し印刷領域の存在しない側の領域を切り取って割り付ける。このように処理することによって、従来とは異なり、印刷媒体上に印刷される画像領域を割り付け位置によらず常に一定にできる。
【０１３３】
以上の説明と図２０から分かるとおり、印刷データ生成処理の解像度と印刷媒体上印刷領域幅・高さ、上下左右それぞれのはみ出し印刷領域幅・高さ、割り付け画像ファイル、割り付け位置情報（割り付け行・列番号）が分かれば、この良好な変倍処理及び、そのデータの適切な割り付けが可能となる。
【０１３４】
また、これらのパラメータのうち、印刷媒体上印刷領域幅・高さ、上下左右それぞれのはみ出し印刷領域幅・高さは図１４や図１５を用いて説明したように、用紙サイズ、割り付け行・列番号、割り付け方法、エンジン動作モードから取得可能であるため、本実施形態で示した良好な割り付け印刷方法、つまりレイアウト情報生成ステップ、画像内文字列割り付けステップ、画像データ変倍ステップ全体を実現するためには、用紙サイズ、割り付け方法、エンジン動作モード、割り付け行・列番号、割り付け画像情報、割り付け画像ファイル、印刷媒体上印刷領域に対する文字列枠の相対位置座標（Ｐ＿ｘ、Ｐ＿ｙ）、文字列枠の幅・高さ、文字列情報が必要である。さらに前述の通り、はみ出し印刷領域の幅、高さがエンジンの動作モードに因らず一定である場合にはこのパラメータも入力する必要がなくなる。
【０１３５】
＜本実施形態と従来技術との対比＞
本実施形態と従来技術との違いは先に記述した通り、画像データ変倍ステップでの処理にある。
前記の処理によって、１枚の印刷媒体上に複数の画像データを周期的に割り付けてフチなし印刷を行う場合に、割り付け位置によらず画像の変倍率と印刷媒体上に印刷される画像データの面積と領域をほぼ均一にすることが可能となる。ここでほぼ均一としたのは画像割り付け枠の大きさを指定する単位として印刷データを生成する解像度でのピクセル数を扱っているため、先に述べた、用紙サイズ、割り付け方法などの組み合わせによっては計算のまるめなどが生じるということと、生成された印刷データを用いて実際に印刷したとしても、メカ精度などのために、多少は誤差が生じるためである。
【０１３６】
なお、上述した実施形態ではメモリに制約を受けたシステムにも適用可能なように印刷データを１ラスタ単位で生成する場合の処理フローを説明したが、上述の内容から容易に想像できるとおり、本実施形態のレイアウト情報生成ステップと、画像内文字列割り付けステップ、それから画像データ変倍ステップでの処理は印刷データ生成処理単位に依存するものではない。
【０１３７】
［第２の実施形態］
第１の実施形態では１枚の印刷媒体上に複数の画像データを割り付けた場合に、割り付け位置によらず、印刷媒体上に印刷される面積および画像領域と、割り付け時の変倍率がほぼ均一になる極めて良好な印刷結果を得る手法を説明した。それに対して第２の実施形態では印刷媒体上に印刷される画像領域は割り付け位置によって多少ズレが生じるものの、面積と変倍率はほぼ均一になり、かつ第１の実施形態に比べてメモリ使用量が少なく、処理量も少ない、組み込み系などのメモリ量やＣＰＵの性能に制限があるシステムに対して有効な割り付け制御方法を説明する。
【０１３８】
第２の実施形態は第１の実施形態と比べて、図８に示したステップ５００４の画像データ変倍処理のみが異なる。また、第２の実施形態において、図８のステップ５００４の画像データ変倍処理をブロック図で表すと第１の実施形態と同様に図２０で示されるが、それらの処理内容が以下に示すように異なる。
【０１３９】
＜画像データ変倍処理の処理手順＞
図１７（ａ）のように画像境界部の空白をなくし、良好なフチなし印刷を行うためには図１８のように割り付けられる画像データ４５００を変倍後画像データ４５０２のように少なくとも画像割り付け枠４５０１と同じ大きさもしくはより大きくなるように変倍処理しなければならない。これは本実施形態についても同様である。
【０１４０】
また、画像フィッティング枠を設定し、それを用いて変倍率を設定することも上述した第１の実施形態と同様である。ただし、第２の実施形態ではまず、この画像フィッティング枠の設定方法が第１の実施形態と異なる。
【０１４１】
（ａ）画像フィッティング枠の設定
この処理は図２０の画像フィッティング枠幅取得部１１１と、画像フィッティング枠高さ取得部１１２における処理に相当する。以下の式によって画像フィッティング枠の幅と高さを設定する。ただしここでもやはり図１３における印刷媒体上の印刷領域（４４１０〜４４１３）の幅（Ｗｉｄｔｈ）と高さ（Ｈｅｉｇｈｔ）、左側はみ出し領域幅４４０２（Ｌｅｆｔ）、右側はみ出し領域幅４４０３（Ｒｉｇｈｔ）及び上側はみ出し領域高さ４４０４（Ｔｏｐ）、下側はみ出し領域高さ４４０５（Ｂｏｔｔｏｍ）を使って示した。
画像フィッティング枠の幅  ＝  Ｗｉｄｔｈ＋ｍａｘ（Ｌｅｆｔ，Ｒｉｇｈｔ）
画像フィッティング枠の高さ＝  Ｈｅｉｇｈｔ＋ｍａｘ（Ｔｏｐ，Ｂｏｔｔｏｍ）
個々でｍ、ｎを任意の実数とすると、ｍａｘ（ｍ，ｎ）は以下の式で表される。
ｍａｘ（ｍ，ｎ）  ＝      ｍ      （ｍ＞ｎの時）
＝      ｎ      （ｍ≦ｎの時）
【０１４２】
上記の式により設定された幅と高さで画像フィッティング枠を設定し、１枚の印刷媒体上の画像割り付け枠全てに対し共通に用いる。この画像フィッティング枠の幅および高さと、入力画像データの幅および高さとから変倍率を設定することは第１の実施形態と同様であり、このことによって同じ画像データであれば割り付け位置によらず常に均一な変倍率によって変倍処理を行うことができる。第１実施形態と同様に、ここでの入力画像データの幅と高さを取得する処理が図２０における入力画像幅・高さ取得部１１３に相当し、変倍率の設定が変倍率設定部１１４に相当する。
【０１４３】
次に、上の設定方法による画像フィッティング枠と変倍率を用いて、変倍処理を行った後、その変倍後画像データを画像割り付け枠におさまるように切り取る。ここでの変倍処理も第１の実施形態と同様にどのような処理を用いても良い。この変倍処理が、図２０における変倍処理部１１５に相当する処理であり、これ以降の処理が図２０における割り付けデータ取得部１１６に相当する処理となっている。
【０１４４】
本実施形態の処理による画像フィッティング枠内切り取り画像データのサイズは画像割り付け枠サイズ以上であるため、場合によっては画像割り付け枠に収まるよう第１の実施形態と同様に再度切り取る処理が発生する。次にこの切り取り処理について説明する。
【０１４５】
第２の実施形態では図２３のように画像フィッティング枠内切り取り画像データ４５１１と画像割り付け枠４５０４とを重ね合わせ、画像割り付け枠からはみ出した領域４５１８を切り取るようにする。そしてこの画像フィッティング枠内切り取り画像データ４５１１と画像割り付け枠４５０４との重ね合わせ方が画像データの割り付け位置によって変化する。次にこの重ね合わせ方について説明する。
【０１４６】
ここでは１枚の印刷媒体上にＭ行Ｎ列の画像データを割り付ける場合を仮定する。
まずレイアウト情報から画像データの割り付け位置を取得する。ここで得た割り付け位置情報を用いて次のように画像フィッティング枠内切り取り画像データに対する画像割り付け枠の縦横位置をずらす。
【０１４７】
縦位置
１行目
画像割り付け枠と画像フィッティング枠内切り取り画像データの上辺を合わせる。
Ｍ行目
画像割り付け枠と画像フィッティング枠内切り取り画像データの下辺を合わせる。
上記以外
縦方向について画像割り付け枠と画像フィッティング枠内切り取り画像データの中心を合わせる。
【０１４８】
横位置
１列目
画像割り付け枠と画像フィッティング枠内切り取り画像データの左辺を合わせる。
Ｍ列目
画像割り付け枠と画像フィッティング枠内切り取り画像データの右辺を合わせる。
上記以外
横方向について画像割り付け枠と画像フィッティング枠内切り取り画像データの中心を合わせる。
【０１４９】
この設定で得た画像フィッティング枠は、印刷媒体上印刷領域の周り、上下、および左右それぞれの方向に広い方のはみ出し分だけ領域を広げたものとなっている。つまり、第１の実施形態のものよりも画像フィッティング枠の大きさが小さいため、画像割り付け枠とのサイズ差が小さく、画像割り付け枠に合わせて切り取られる領域が少なくなる。これによりＬ判のような小さな用紙サイズに対して８枚など多くの画像データを割り付ける際に、第１の実施形態では印刷媒体上の印刷領域の面積に対して切り取られる領域の面積が大きくなってしまう可能性があるが、第２の実施形態ではその点が改善される。更に画像フィッティング枠の大きさが小さいことは、画像フィッティング内切り取り画像データのサイズが小さいことであるからその画像データを保存するデータ量も第１の実施形態より小さくなり、メモリの使用量が減るだけでなく、メモリアクセス数も減少するから、メモリアクセスのパフォーマンスが悪いシステムに適応するとより顕著に効果が発揮される。
【０１５０】
以上の説明からも分かるとおり、本実施形態で示した良好な割り付け印刷方法に必要な情報は第１の実施形態と同様であり、印刷データ生成処理の解像度と用紙サイズ、割り付け方法、エンジン動作モード、割り付け行・列番号、割り付け画像情報、割り付け画像ファイル、印刷媒体上印刷領域に対する文字列枠の相対位置座標（Ｐ＿ｘ，Ｐ＿ｙ）、文字列枠の幅・高さ、文字列情報が必要である。さらに、はみ出し印刷領域の幅、高さがエンジンの動作モードに因らず一定である場合にはこのパラメータも入力する必要がなくなることも同様である。
【０１５１】
＜本実施形態と従来技術との対比＞
本実施形態と従来技術との違いは第１の実施形態と同様に、画像データ変倍ステップでの処理にある。また、第２の実施形態は第１の実施形態と比べて、印刷媒体上に印刷される画像領域をほぼ均一にする効果を無くす代わりに、よりメモリ使用量を抑え、メモリアクセスを減らすことによって、組み込みシステムのようなメモリ量に制約があり、かつ印刷データ生成のパフォーマンスをあげることが困難なシステムに対して良好な画像データの割り付け制御方法となっている。
【０１５２】
なお、こちらの実施形態でもメモリに制約を受けたシステムにも適用可能なように印刷データを１ラスタ単位で生成する場合の処理フローを前提に説明したが、上述の内容から容易に想像できるとおり、本実施形態のレイアウト情報生成ステップと、画像内文字列割り付けステップ、それから画像データ変倍ステップでの処理は印刷データ生成処理単位に依存するものではない。
【０１５３】
［第３の実施形態］
第２の実施形態では第１の実施形態よりメモリ使用量が少なく、かつメモリアクセス量も少ない割り付け制御方法について説明したが、第３の実施形態は更にパフォーマンスを向上させるための良好な形態について説明する。
【０１５４】
第２の実施形態では印刷媒体上に印刷される画像領域は割り付け位置によって多少ズレが生じるものの、面積と変倍率はほぼ均一になり、かつ第１の実施形態に比べてメモリ使用量が少なく、処理量も少ない、組み込み系などのメモリ量やＣＰＵの性能に制限があるシステムに対して有効な割り付け制御方法を説明した。
それに対し第３の実施形態では、印刷媒体上に印刷される画像領域のズレがより生じる代わりに、第２の実施形態よりも更に処理量が少なくなる割り付け制御方法について説明する。
【０１５５】
第３の実施形態は第２の実施形態と比べて、図８に示したステップ５００４の画像データ変倍処理のみが異なり、特に、第３の実施形態は第２の実施形態に対して画像割り付け枠に合わせるための切り取り処理の部分が異なる。
＜画像データ変倍ステップの処理手順＞
第３の実施形態でも、図２３のように画像フィッティング枠内切り取り画像データ４５１１と画像割り付け枠４５０４とを重ね合わせ、画像割り付け枠からはみ出した領域４５１８を切り取るようにする。ただし、画像フィッティング枠内切り取り画像データと画像割り付け枠との重ね合わせ方が異なる。
【０１５６】
第２の実施形態では、画像データの割り付け位置によって画像フィッティング枠内切り取り画像データと画像割り付け枠の重ね位置をずらしたが、第３の実施形態では割り付け位置によらず常に左上隅を合わせるようにしてから、はみ出し領域を切り取る。このようにすることによって、第２の実施形態では割り付け位置によっては画像フィッティング枠内切り取り画像データの上端領域を切り取る場合に、その領域をスキップするための処理が必要となるが、本実施形態においては、この処理を省略できる。
【０１５７】
以上の説明からも分かるとおり、本実施形態で示した良好な割り付け印刷方法に必要な情報は第１乃至第２の実施形態と同様であるため、印刷データ生成処理の解像度と用紙サイズ、割り付け方法、エンジン動作モード、割り付け行・列番号、割り付け画像情報、割り付け画像ファイル、印刷媒体上印刷領域に対する文字列枠の相対位置座標（Ｐ＿ｘ，Ｐ＿ｙ）、文字列枠の幅・高さ、文字列情報が必要である。さらに、はみ出し印刷領域の幅、高さがエンジンの動作モードに因らず一定である場合にはこのパラメータも入力する必要がなくなることも同様である。
【０１５８】
＜本実施形態と従来技術との対比＞
本実施形態と従来技術との違いは第１ないし第２の実施形態と同様に、画像データ変倍ステップでの処理にある。また、第３の実施形態は第２の実施形態と比べて、印刷媒体上に印刷される画像領域をほぼ均一にする効果をより無くす代わりに、より処理量を減らすことによって、組み込みシステムのような印刷データ生成のパフォーマンスをあげることが困難なシステムに対して良好な画像データの割り付け制御方法となっている。
【０１５９】
なお、上述した第３の実施形態でもメモリに制約を受けたシステムにも適用可能なように印刷データを１ラスタ単位で生成する場合の処理フローを前提に説明したが、上述の内容から容易に想像できるとおり、本実施形態のレイアウト情報生成ステップと、画像内文字列割り付けステップ、それから画像データ変倍ステップでの処理は印刷データ生成処理単位に依存するものではない。
【０１６０】
以上、第１乃至第３の実施形態を説明したが、これらの実施形態の画像データ変倍ステップにおいて、変倍処理後画像データや、切り取り後画像データ、割り付け後画像データの具体的なメモリへの記憶方法については言及しなかった。これはどのようなメモリ記憶方法を用いたとしても、良好なレイアウト結果を得るという上記実施形態の目的は果たせるためである。
【０１６１】
しかしこのメモリへの記憶方法を工夫することで、第１乃至第３の実施形態をより処理が軽く、かつメモリ使用量が抑えられた良好な割り付け処理にすることが可能となる。以下にそのようなメモリへの記憶方法について説明する。このメモリへの記憶方法は第１〜第３の実施形態に共通して適用できる。
【０１６２】
［第１〜第３実施形態に適用可能なメモリ記憶方法の実施形態］
このメモリ記憶方法は、図８に示したステップ５００４の画像データ変倍処理のみに関する事柄である。
＜画像データ変倍ステップにおけるメモリ記憶方法＞
第１乃至第３の実施形態で共通なデータの生成フローは次の通りである。まず、画像フィッティング枠に合わせた変倍処理後画像データを生成する。次に、変倍処理後画像データを画像割り付け枠におさまるように切り取る。
【０１６３】
ここで、図２４（ａ）に示すフローで処理を行った場合を考える。例えば横方向に２つ画像を並べて割り付ける場合を想定する。この場合、変倍データ割り付け処理開始６０００直後の画像行ループとなるステップ６００１〜ステップ６００７でループ内の処理が２回繰り返されることになる。まず画像フィッティング枠サイズ取得ステップ６００２で画像フィッティング枠の幅と高さを取得し、次に入力画像サイズ取得ステップ６００３で入力画像の幅と高さを取得する。そしてこれらの値を用いて変倍率を変倍率設定ステップ６００４で設定する。次にその変倍率を用いて変倍処理ステップ６００５を行う。ここまでのステップ６００１〜６００５の処理は上述した第１乃至第３の実施形態と同様に行う。
【０１６４】
次に、変倍処理により生成した変倍後画像データを作業用バッファへの１ラスタ分データ確保ステップ６００６で確保しておき、画像行ループで２回繰り返して、２画像分のデータが揃ったら、ラインバッファへの１ラスタ分出力マージステップ６００８でそれぞれの作業用バッファへ確保された変倍後画像データの中から必要な部分だけを抽出して、ラインバッファへと書き出す。以上により、変倍データ割付け処理を終了する（ステップ６００９）。
【０１６５】
このようにして変倍データ割り付け処理が終了すると１ラスタ分の印刷データを出力する。図２４（ｂ）は、図２４（ａ）に示したステップ６００６の１ラスタ分データ確保ステップの処理例を示す図である。図２４（ｂ）においては、２つの変倍後画像データをラインバッファへ割り付ける場合の処理例を示している。
【０１６６】
図２４（ｂ）に示すように、変倍処理後画像データＡ６０１０の１ラスタ分画像データＡ６０１２と変倍処理後画像データＢ６０１１の１ラスタ分画像データＢ６０１３とを、それぞれ作業用バッファへと一旦格納する。次に、作業用バッファから不必要データＡ６０１４と不必要データＢ６０１５を除く、必要な部分の画像データＡ、Ｂをラインバッファ６０１６上の各画像割り付け位置Ａ６０１７と画像割り付け位置Ｂ６０１８に割り付けている。
【０１６７】
このような処理を行った場合、１のステップで得られる変倍処理後画像データを一旦メモリに記憶し、必要な部分のみを読み出して切り取り処理を行い、ラインバッファに書き出すので、メモリアクセスが増加してしまい、パフォーマンスを著しく低下させてしまう。そこで、図２５（ｂ）に示すように、変倍処理後画像データＡ６０２９の１ラスタ分画像データＡ６０３１と変倍処理後画像データＢ６０３０の１ラスタ分画像データＢ６０３２に対して、あらかじめ出力しなくてよい不必要データＡ６０３３と不必要データＢ６０３４を抽出しておく。次に、不必要データＡ６０３３と不必要データＢ６０３４以外の部分の画像データＡおよび画像データＢをラインバッファ６０３５上の各画像割り付け位置Ａ６０３６と画像割り付け位置Ｂ６０３７に割り付ける。このようにすることでメモリアクセス回数を大幅に減らし、パフォーマンスの向上を実現する。
【０１６８】
これを実現するメモリ記憶方法のフローが図２５（ａ）に示されている。これを以下で説明する。
メモリ記憶方法は次のようなものである。ここで以下の説明のために、画像フィッティング枠の幅をＦｉｔｔｉｎｇＷｉｄｔｈ、高さをＦｉｔｔｉｎｇＨｅｉｇｈｔ，画像割り付け枠の幅をＬａｙｏｕｔＷｉｄｔｈ，高さをＬａｙｏｕｔＨｅｉｇｈｔ、ｘ座標をＬａｙｏｕｔＸＰｏｓ、変倍率をαとした。またＴｏｐ，Ｂｏｔｔｏｍ，Ｌｅｆｔ，Ｒｉｇｈｔについては上述した実施形態と同様で、左側はみ出し領域幅４４０２（Ｌｅｆｔ）、右側はみ出し領域幅４４０３（Ｒｉｇｈｔ）及び上側はみ出し領域高さ４４０４（Ｔｏｐ）、下側はみ出し領域高さ４４０５（Ｂｏｔｔｏｍ）のことを示す。
【０１６９】
まず画像フィッティング枠サイズ取得ステップ６０２１で画像フィッティング枠を取得し、入力画像サイズ取得ステップ６０２２で画像サイズを取得する。それらから変倍率設定ステップ６０２３で変倍率を設定する。次に変倍処理ステップ６０２４で変倍処理を行う。ここでは入力画像データから１ライン分の変倍処理後画像データが得られる。以上、ステップ６０２０〜６０２４までの処理は、図２４（ａ）のステップ６００１〜６００５までの処理と同様である。
【０１７０】
次に、ここで１ライン分のデータをそのままメモリに記憶すると、先に述べたようにパフォーマンスを低下させてしまう。そこで、変倍処理後のデータ全体を一旦メモリに確保するのではなく、画像割り付けに必要な最小限の画像データのみを抽出して後の誤差拡散ステップなどへ渡すラインバッファへ直接記憶させる。
【０１７１】
そのためには変倍処理後画像データから、画像フィッティング枠内に収まっている領域の画素の抽出、画像フィッティング枠内に収まっている領域から更に画像割り付け枠に収めるべき領域の画素の抽出を正確に行わなければならない。次にこれらの抽出方法について説明する。ここでの処理が記憶画素の抽出ステップ６０２５に相当する。
【０１７２】
この記憶画素の抽出ステップと次の抽出画素のラインバッファへの直接出力ステップ６０２６は本実施形態の中でも特徴的な部分であるため、図２６にそれらのブロック図を示した。先に設定した変倍率と入力画像サイズとから変倍処理によって横方向に何ピクセル分の画像データが得られるかが分かる。
【０１７３】
例えば、入力画像と画像割り付け枠の長手方向を一致させるように画像データを回転させた場合の横方向ピクセル数をＲｏｔａｔｅｄＩｍａｇｅＷｉｄｔｈ［ｐｉｘｅｌｓ］、縦方向ピクセル数をＲｏｔａｔｅｄＩｍａｇｅＨｅｉｇｈｔ［ｐｉｘｅｌｓ］とし、変倍率をα［％］とすると、図２６の変倍後画像幅・高さ取得部２００によって、変倍処理後の横方向画素数ＳｃａｌｅｄＩｍａｇｅＷｉｄｔｈ［ｐｉｘｅｌｓ］と、縦方向画素数ＳｃａｌｅｄＩｍａｇｅＨｅｉｇｈｔ［ｐｉｘｅｌｓ］は次の式で求められる。
ＳｃａｌｅｄＩｍａｇｅＷｉｄｔｈ＝α×ＲｏｔａｔｅｄＩｍａｇｅＷｉｄｔｈ
［ｐｉｘｅｌｓ］
ＳｃａｌｅｄＩｍａｇｅＨｅｉｇｈｔ＝α×ＲｏｔａｔｅｄＩｍａｇｅＨｅｉｇｈｔ
［ｐｉｘｅｌｓ］
【０１７４】
この時、変倍率によってはＳｃａｌｅｄＩｍａｇｅＷｉｄｔｈ，ＳｃａｌｅｄＩｍａｇｅＨｅｉｇｈｔがＦｉｔｔｉｎｇＷｉｄｔｈ，ＦｉｔｔｉｎｇＨｅｉｇｈｔよりも大きい値を取ることがある。つまり、変倍処理後の画像データの方が画像フィッティング枠よりも幅、もしくは高さの広い場合がある。この場合、画像フィッティング枠をはみ出した分の画素を切り取ることになるが切り取る部分は割り付け位置によって切り取られる領域が変わらないように特定のルールにさえ基づいていれば、どこでも良い。ここでは変倍処理後の画像データと画像フィッティング枠の中心を合わせて切り取る方法について説明する。
【０１７５】
この場合、画像フィッティング枠内に収まるサイズで、かつ以降の処理に用いられる領域の先頭位置ｘ座標（Ｓｔａｒｔ＿ｘ’）及び、ｙ座標（Ｓｔａｒｔ＿ｙ’）は図２６の画像フィッティング枠サイズ領域抽出部２０２で次のようにして求められる。ただし以下の式において、［］は整数値へのまるめ演算を意味する。
Ｓｔａｒｔ＿ｘ’＝［（ＳｃａｌｅｄＩｍａｇｅＷｉｄｔｈ−ＦｉｔｔｉｎｇＷｉｄｔｈ）／２］
Ｓｔａｒｔ＿ｙ’＝［（ＳｃａｌｅｄＩｍａｇｅＨｅｉｇｈｔ−ＦｉｔｔｉｎｇＨｅｉｇｈｔ）／２］
【０１７６】
次に上で抽出された画像フィッティング枠内領域（位置（Ｓｔａｒｔ＿ｘ’，Ｓｔａｒｔ＿ｙ’）を左上にとった場合のＦｉｔｔｉｎｇＷｉｄｔｈ×ＦｉｔｔｉｎｇＨｅｉｇｈｔサイズ矩形領域）の中から、更に画像割り付け枠に割り付けるための領域を抽出する。この処理が図２６の画像割り付け枠サイズ領域抽出部でなされる。このためにはまず、該当画像データの割り付け位置をレイアウト情報から取得して、画像割り付け枠の上下左右辺のうちいずれかにはみ出し領域が存在するかを知る。
【０１７７】
そして、このはみ出し領域情報をもとに画像フィッティング枠内のどの領域の画像データを画像割り付け枠に割り付けるかを設定する。この設定方法は第１乃至第３の実施形態に従い行う。つまり、例えば第１の実施形態の場合、該当画像割り付け枠の上側と左側にはみ出し印刷領域がある場合、画像フィッティング枠内の左上原点からＬａｙｏｕｔＷｉｄｔｈ×ＬａｙｏｕｔＨｅｉｇｈｔサイズの矩形領域が割り付けられることになる。
この設定により画像割り付け枠に割り付ける画像領域が位置（Ｓｔａｒｔ＿ｘ”，Ｓｔａｒｔ＿ｙ”）を左上に取った場合のＬａｙｏｕｔＷｉｄｔｈ×ＬａｙｏｕｔＨｅｉｇｈｔサイズ矩形領域と設定されたとする。ここで、位置（Ｓｔａｒｔ＿ｘ”，Ｓｔａｒｔ＿ｙ”）は画像フィッティング枠の左上を原点とした場合の相対位置座標とする。
【０１７８】
この場合、変倍処理後画像データの左上を原点にした場合の、変倍処理後画像データの画像割り付け枠に割り付ける矩形領域の左上位置座標（Ｓｔａｒｔ＿ｘ，Ｓｔａｒｔ＿ｙ）は図２６の出力画像領域位置座標取得部２０３により次の式で求められる。
Ｓｔａｒｔ＿ｘ  ＝  ［Ｓｔａｒｔ＿ｘ’＋Ｓｔａｒｔ＿ｘ”］
Ｓｔａｒｔ＿ｙ  ＝  ［Ｓｔａｒｔ＿ｙ’＋ Ｓｔａｒｔ＿ｙ”］
このようにして、最終的に割り付ける画像領域（位置（Ｓｔａｒｔ＿ｘ，Ｓｔａｒｔ＿ｙ）を左上にとった場合のＬａｙｏｕｔＷｉｄｔｈ×ＬａｙｏｕｔＨｅｉｇｈｔサイズ矩形領域）が取得できる。
【０１７９】
あとはこの情報に基づき、次のようにしてラインバッファへの記録を行う。この処理が抽出画素のラインバッファへの直接出力ステップ６０２６に相当し、図２６では抽出領域出力部２０４がこれを行う。
【０１８０】
変倍処理後画像データのうち、今回入力された１ラスタ分変倍後画像データが何ラスタ目かを意味する該当ラスタ番号がＳｔａｒｔ＿ｙラスタまで及び（Ｓｔａｒｔ＿ｙ＋ＬａｙｏｕｔＨｅｉｇｈｔ）ラスタ以降は一切メモリへの記憶は行わない。
同様にＳｔａｒｔ＿ｙ〜（Ｓｔａｒｔ＿ｙ＋ＬａｙｏｕｔＨｅｉｇｈｔ−１）ラスタについてはＳｔａｒｔ＿ｘ〜（Ｓｔａｒｔ＿ｘ＋ＬａｙｏｕｔＷｉｄｔｈ−１）の範囲内データのみをラインバッファのｘ座標ＬａｙｏｕｔＸＰｏｓからＬａｙｏｕｔＷｉｄｔｈピクセル相当分だけ記憶させる。
【０１８１】
以上のメモリ記憶方法を用いると、図１１の色空間変換ステップ出力データから図１１の画像データ変倍ステップの出力データを得るまでにメモリへの記憶を一度しかおこなわないため、スループットを極めて良好にできる。
【０１８２】
図２６から分かるとおり、変倍率、回転後画像幅・高さ、割り付け行・列番号、上下左右のはみ出し印刷領域幅・高さ、画像フィッティング枠幅・高さ、画像割り付け枠幅・高さ、変倍後データ、該当ラスタ番号が分かれば実現可能であることが分かる。また、これらのパラメータのうち、回転後画像幅・高さは割り付け画像ファイルと画像割り付け枠幅・高さから求められる。つまり、変倍率、割り付け画像ファイル、割り付け行・列番号、上下左右のはみ出し印刷領域幅・高さ、画像フィッティング枠幅・高さ、画像割り付け枠幅・高さ、変倍後データ、該当ラスタ番号が分かれば実現可能であることが分かる。更に、これらのうち、該当ラスタ番号以外のものは実施形態１ないし３を実現するために必要な最小限の情報の中に含まれていたり、それらを用いて各種処理の中で生成される情報であるから、結果として以下の情報が揃えば、第１乃至第３の実施形態を実現しつつ、本メモリ記憶方法を実現することが可能であることが分かる。
【０１８３】
最小限必要なパラメータ
印刷データ生成処理の解像度と用紙サイズ、割り付け方法、エンジン動作モード、割り付け行・列番号、割り付け画像情報、割り付け画像ファイル、印刷媒体上印刷領域に対する文字列枠の相対位置座標（Ｐ＿ｘ，Ｐ＿ｙ）、文字列枠の幅・高さ、文字列情報、該当ラスタ番号。さらに、はみ出し印刷領域の幅、高さがエンジンの動作モードに因らず一定である場合にはこのパラメータも入力する必要がなくなることも同様である。
【０１８４】
以上のように、本実施形態の画像記録装置１２は、複数の画像を１枚の印刷媒体に割り付けてふち無し印刷する際に、印刷媒体の領域をはみ出して印刷する際のはみ出し量を、割付印刷される各画像に対して印刷媒体上で実際に割り付けられる領域に加えた領域にあわせて画像を変倍処理する。そして、変倍された各画像から、前記印刷媒体の割り付け位置に応じた領域の画像を切り出す。そして、切り出された画像を印刷媒体に割り付けて印刷することによって、各画像の印刷領域が、割付位置によらずほぼ同様となり、見栄えが大変良くなるという効果が得られる。
【０１８５】
また、上述した処理において、画像記録装置１２は、印刷媒体上で実際に各画像に割り付けられる面積は略均等となるように制御する。これにより、更に印刷物の見栄えが良くなるという効果が得られる。
【０１８６】
以上本発明に関する実施形態について説明したが、これらの実施形態において入力される画像データは画像ファイルを単純にデコードして得られる全画像領域を対象にしただけではなく、デジタルカメラなどによってトリミング指定された画像領域のデータを入力画像データとして扱っても本発明の効果が得られることは言うまでもない。尚、この場合には、トリミングで指定された画像領域の画像が画像割り付けの処理対象となる。
【０１８７】
本発明に係る画像記録装置の形態としては、ホスト装置及び各種メモリカードから画像データを受け取り画像記録を行う装置であれば良く、フォトダイレクトプリンタに限定されるものではないことは言うまでもない。
【０１８８】
また上記の実施系では、ホスト装置と画像記録装置が接続されたシステム、もしくは画像記録装置にメモリカードが直接接続されたシステムについて記述したが、これら以外にも複数機器の組み合わせから構成されるシステムに適用しても、そのシステムが結果として画像記録装置に画像データが入力され、その画像データを割り付けた印刷データを生成するようなシステム構成となっていれば本発明が適用可能であることは言うまでもない。
【０１８９】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１９０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１９１】
また前述した実施形態のうち、印刷制御装置２の機能を実現する様に各種のデバイスを動作させる様に該各種デバイスと接続された装置あるいはシステム内のコンピュータに、上述した実施形態の各機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）がメモリに格納されたプログラムに従って各種デバイスを動作させることによって実施したものも本発明の範疇に含まれる。
【０１９２】
また、上述した実施形態では、印刷制御装置２の機能を実現する為のプログラムをメモリに読み込んでＣＰＵが実行することによりその機能を実現させるものであったが、この限りではなく、各処理の全部または一部の機能を専用のハードウェアにより実現してもよい。また、上述したメモリは、光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、ＣＤ−ＲＯＭ等の読み出しのみが可能な記録媒体、ＲＡＭ以外の揮発性のメモリ、あるいはこれらの組み合わせによるコンピュータ読み取り、書き込み可能な記録媒体より構成されてもよい。
【０１９３】
また、印刷制御装置２において各種処理を行う機能を実現する為のプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各処理を行っても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【０１９４】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１９５】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【０１９６】
また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体およびプログラムプロダクトは、本発明の範疇に含まれる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【０１９７】
【図１】本発明の共通実施形態に係る印刷制御装置を含む画像記録システムであるフォトダイレクトプリントシステムの概略構成を示すブロック図である。
【図２】フォトダイレクトプリントシステムを構成する画像記録装置１２のハードウェア構成および周辺機器の概要を示す図である。
【図３】フォトダイレクトプリントを実現するソフトウェアの機能構成を示す図である。
【図４】ラスタライザモジュール２０１３の処理フローを示す図である。
【図５】Ｉｎｄｅｘ印刷時に一覧で配置される各画像とその画像に関する情報の配置構成例を示す図である。
【図６】Ｉｎｄｅｘ印刷時の画像一覧の配置例を示す図である。
【図７】画像データ内に挿入する日付文字列例を示す図である。
【図８】図４のステップ３０１０における印刷データ生成処理の詳細フロー例を示す図である。
【図９】複数の画像を所定枚数ずつ周期的にかつふちなしで配置した割付け方法例を示す図である。
【図１０】ラスタライザモジュール２０１３が、図９（ａ）〜（ｃ）に示すような割り付け方法で画像データを割り付け、印刷データを生成する処理フローを示す図である。
【図１１】図１０におけるステップ５１０４の色処理データ生成処理ステップの詳細を示す図である。
【図１２】画像データの配列について行方向と列方向の定義例を示す図である。
【図１３】画像データの印刷媒体に対するレイアウト例を示す図である。
【図１４】図４のステップ３００４におけるレイアウト情報生成処理の詳細を示すブロック図である。
【図１５】図４のステップ３００８における画像内文字列割り付け処理の詳細を示すブロック図である。
【図１６】印刷媒体上印刷領域矩形に対する画像内文字列枠の相対的な位置例を示す図である。
【図１７】画像データの画像割り付枠例および不適切な画像割り付け例を示す図である。
【図１８】画像データの適切な変倍処理例を示す図である。
【図１９】画像割り付け枠と画像データの関係および切り取り後画像データの抽出例を示す図である。
【図２０】本実施形態における図８のステップ５００４における画像データ変倍処理を示すブロック図である。
【図２１】画像データと画像フィッティング枠の関係を示す図である。
【図２２】画像フィッティング枠と印刷媒体上印刷領域の関係例を示す図である。
【図２３】画像フィッティング枠内切り取り画像データと画像割り付け枠とを重ね合わせ、画像割り付け枠からはみ出した領域を切り取る処理例を示す図である。
【図２４】変倍処理後画像データを画像割り付け枠におさまるように切り取る処理例を示す図である。
【図２５】変倍処理後画像データを画像割り付け枠におさまるように切り取る処理例を示す図である。
【図２６】記憶画素の抽出ステップと抽出画素のラインバッファへの直接出力ステップを示す図である。
【符号の説明】
【０１９８】
１１      ホスト装置
１２      画像記録装置
１３      双方向インタフェース
１００    印刷媒体上印刷領域幅取得部
１０１    印刷媒体上印刷領域高さ取得部
１０２    はみ出し印刷領域幅取得部
１０３    はみ出し印刷領域高さ取得部
１０４    画像割り付け枠幅取得部
１０５    画像割り付け枠高さ取得部
１０６    画像割り付け枠ｘ座標取得部
１０７    レイアウト情報生成部
１０８    画像内文字列枠ｘ座標取得部
１０９    画像内文字列枠ｙ座標取得部
１１０    画像内文字列枠レイアウト情報生成部
１１１    画像フィッティング枠幅取得部
１１２    画像フィッティング枠高さ取得部
１１３    入力画像幅・高さ取得部
１１４    変倍率設定部
１１５    変倍処理部
１１６    割り付けデータ取得部
２００    変倍後画像幅・高さ取得部
２０１    画像割り付け枠サイズ領域抽出部
２０２    画像フィッティング枠サイズ領域抽出部
２０３    出力画像領域位置座標取得部
２０４    抽出領域出力部
２０１３  ラスタライザモジュール
【図１】
2005074809.tif 000003
【図２】
2005074809.tif 000004
【図３】
2005074809.tif 000005
【図４】
2005074809.tif 000006
【図５】
2005074809.tif 000007
【図６】
2005074809.tif 000008
【図７】
2005074809.tif 000009
【図８】
2005074809.tif 000010
【図９】
2005074809.tif 000011
【図１０】
2005074809.tif 000012
【図１１】
2005074809.tif 000013
【図１２】
2005074809.tif 000014
【図１３】
2005074809.tif 000015
【図１４】
2005074809.tif 000016
【図１５】
2005074809.tif 000017
【図１６】
2005074809.tif 000018
【図１７】
2005074809.tif 000019
【図１８】
2005074809.tif 000020
【図１９】
2005074809.tif 000021
【図２０】
2005074809.tif 000022
【図２１】
2005074809.tif 000023
【図２２】
2005074809.tif 000024
【図２３】
2005074809.tif 000025
【図２４】
2005074809.tif 000026
【図２５】
2005074809.tif 000027
【図２６】
2005074809.tif 000028