(57)【要約】【課題】コレート印刷が設定された印刷ジョブの処理時間の短縮と省用紙使用量のどちらを選択するかを、装置の設定に合わせて自動で判別することを可能とする。【解決手段】印刷制御装置において、印刷ジョブの設定に基づいて、前記印刷ジョブに含まれる論理ページの全てを面付けして生成した場合のビットマップデータのデータサイズを算出し、当該データサイズがスプーラのサイズに収まるか否かを判定し、前記スプーラのサイズに収まると判定された場合には、前記印刷ジョブに含まれる論理ページを面付けする際に、部の区切りでシートを切り替えて面付けするようにレンダリング手段を制御し、前記スプーラのサイズに収まらないと判定された場合には、前記印刷ジョブに含まれる論理ページを面付けする際に、論理ページを詰めてシートに面付けするように前記レンダリング手段を制御する。【選択図】  図２
2018083307.tif 000002
【特許請求の範囲】
【請求項１】
印刷ジョブを解析する解析手段と、
前記解析手段にて解析された前記印刷ジョブに含まれる論理ページを面付けし、ビットマップデータを生成するレンダリング手段と、
前記レンダリング手段にて生成されたビットマップデータをスプーラに保持する保持手段と
を備え、
前記解析手段は、前記印刷ジョブの設定に基づいて、前記印刷ジョブに含まれる論理ページの全てを面付けして生成した場合の前記ビットマップデータのデータサイズを算出し、当該データサイズが前記スプーラのサイズに収まるか否かを判定し、
前記レンダリング手段は、
前記解析手段により前記スプーラのサイズに収まると判定された場合には、前記印刷ジョブに含まれる論理ページを面付けする際に、部の区切りでシートを切り替えて面付けするように制御され、
前記解析手段により前記スプーラのサイズに収まらないと判定された場合には、前記印刷ジョブに含まれる論理ページを面付けする際に、論理ページを詰めてシートに面付けするように制御されることを特徴とする印刷制御装置。
【請求項２】
前記保持手段は、論理ページの面付けが完了したシートに対応するビットマップデータを、印刷手段に送信して印刷指示を行う送信手段を更に有することを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記印刷ジョブは、コレート印刷のジョブであることを特徴とする請求項１または２に記載の印刷制御装置。
【請求項４】
前記印刷手段にて用いられる用紙の種類を判定する手段を更に有し、
前記レンダリング手段は、前記用紙の種類が連続紙であると判定された場合に、前記印刷ジョブに含まれる論理ページを面付けする際に、論理ページを詰めてシートに面付けするように制御されることを特徴とする請求項２または３に記載の印刷制御装置。
【請求項５】
印刷制御装置であって、
レンダリング手段により印刷ジョブに含まれる論理ページの全てを面付けして生成した場合のビットマップデータのデータサイズを算出し、当該データサイズがスプーラのサイズに収まるか否かを判定する判定手段と、
前記判定手段により前記スプーラのサイズに収まると判定された場合には、前記印刷ジョブに含まれる論理ページを面付けする際に、部の区切りでシートを切り替えて面付けするように前記レンダリング手段を制御し、
前記判定手段により前記スプーラのサイズに収まらないと判定された場合には、前記印刷ジョブに含まれる論理ページを面付けする際に、論理ページを詰めてシートに面付けするように前記レンダリング手段を制御する制御手段と
を備えることを特徴とする印刷制御装置。
【請求項６】
印刷ジョブに基づきビットマップデータを生成するジョブ制御手段と、
前記ジョブ制御手段にて生成されたビットマップデータを用いて、印刷を行う印刷手段と
を備える印刷システムであって、
前記ジョブ制御手段は、
印刷ジョブを解析する解析手段と、
前記解析手段にて解析された前記印刷ジョブに含まれる論理ページを面付けし、ビットマップデータを生成するレンダリング手段と、
前記レンダリング手段にて生成されたビットマップデータを第１のスプーラに保持する手段と、
前記第１のスプーラにて保持されているビットマップデータを前記印刷手段に送信する送信手段と
を備え、
前記解析手段は、前記印刷ジョブの設定に基づいて、前記印刷ジョブに含まれる論理ページの全てを面付けして生成した場合の前記ビットマップデータのデータサイズを算出し、当該データサイズが前記第１のスプーラのサイズに収まるか否かを判定し、
前記レンダリング手段は、前記解析手段により前記第１のスプーラのサイズに収まらないと判定された場合には、前記印刷ジョブに含まれる論理ページを面付けする際に、論理ページを詰めてシートに面付けするように制御されることを特徴とする印刷システム。
【請求項７】
前記解析手段は、前記第１のスプーラのサイズに収まると判定した場合に、前記送信手段による前記ビットマップデータの送信に要する送信時間と、前記印刷手段による前記ビットマップデータの印刷に要する印刷時間とを算出し、
前記レンダリング手段は、前記送信時間と前記印刷時間との比較に基づき、前記印刷ジョブに含まれる論理ページを面付けする際に、部の区切りでシートを切り替えて面付けするか、論理ページを詰めてシートに面付けするかを切り替えることを特徴とする請求項６に記載の印刷システム。
【請求項８】
前記送信手段は、
前記レンダリング手段が前記印刷ジョブに含まれる論理ページを面付けする際に部の区切りでシートを切り替えて面付けした場合、前記ビットマップデータを前記印刷手段に一度のみ送信し、
前記レンダリング手段が前記印刷ジョブに含まれる論理ページを面付けする際に論理ページを詰めてシートに面付けした場合、前記ビットマップデータをシートごとに前記印刷手段に送信することを特徴とする請求項６または７に記載の印刷システム。
【請求項９】
前記印刷手段は、前記ジョブ制御手段から受信したビットマップデータを保持する第２のスプーラを備えることを特徴とする請求項６乃至８のいずれか一項に記載の印刷システム。
【請求項１０】
印刷ジョブを解析する解析手段と、
前記解析手段にて解析された前記印刷ジョブに含まれる論理ページを面付けし、ビットマップデータを生成するレンダリング手段と、
前記レンダリング手段にて生成されたビットマップデータをスプーラに保持する保持手段と
を備えた印刷制御装置における制御方法であって、
前記解析手段において、前記印刷ジョブの設定に基づいて、前記印刷ジョブに含まれる論理ページの全てを面付けして生成した場合の前記ビットマップデータのデータサイズを算出し、当該データサイズが前記スプーラのサイズに収まるか否かを判定し、
前記レンダリング手段において、前記解析手段により前記スプーラのサイズに収まると判定された場合には、前記印刷ジョブに含まれる論理ページを面付けする際に、部の区切りでシートを切り替えて面付けするように制御され、
前記解析手段により前記スプーラのサイズに収まらないと判定された場合には、前記印刷ジョブに含まれる論理ページを面付けする際に、論理ページを詰めてシートに面付けするように制御されることを特徴とする制御方法。
【請求項１１】
印刷制御装置の制御方法であって、
レンダリング手段により印刷ジョブに含まれる論理ページの全てを面付けして生成した場合のビットマップデータのデータサイズを算出し、当該データサイズがスプーラのサイズに収まるか否かを判定する判定工程と、
前記判定工程にて前記スプーラのサイズに収まると判定された場合には、前記印刷ジョブに含まれる論理ページを面付けする際に、部の区切りでシートを切り替えて面付けするように前記レンダリング手段を制御し、
前記判定工程にて前記スプーラのサイズに収まらないと判定された場合には、前記印刷ジョブに含まれる論理ページを面付けする際に、論理ページを詰めてシートに面付けするように前記レンダリング手段を制御する制御工程と
を有することを特徴とする制御方法。
【請求項１２】
コンピュータを、
レンダリング手段により印刷ジョブに含まれる論理ページの全てを面付けして生成した場合のビットマップデータのデータサイズを算出し、当該データサイズがスプーラのサイズに収まるか否かを判定する判定手段、
前記判定手段により前記スプーラのサイズに収まると判定された場合には、前記印刷ジョブに含まれる論理ページを面付けする際に、部の区切りでシートを切り替えて面付けするように前記レンダリング手段を制御し、
前記判定手段により前記スプーラのサイズに収まらないと判定された場合には、前記印刷ジョブに含まれる論理ページを面付けする際に、論理ページを詰めてシートに面付けするように前記レンダリング手段を制御する制御手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御装置およびその制御方法、印刷システム、並びにプログラムに関する。
【背景技術】
【０００２】
一般に、プリンタなどに代表される印刷装置においては、ＰＣ等の外部装置から到着した印刷ジョブをその受信した順番に印刷し、印刷済みの印刷要求を直ちに破棄してメモリ領域を次々に解放する。そのため、多量のデータを有する印刷ジョブでも比較的少ないメモリ量で印刷することができる。つまり、印刷済みの印刷要求を直ちに破棄することによって空きメモリの量を確保している。しかしながら、この構成では、いわゆるコピー印刷（スタック印刷とも言う。以下、コピー印刷）を行うことはできるが、いわゆるコレート印刷（丁合印刷とも言う。以下、コレート印刷）を行うことができず、ユーザ利便性が低いという問題がある。
【０００３】
コピー印刷とは、例えばＰ１、Ｐ２、Ｐ３の３ページのドキュメントを２部印刷する際、Ｐ１を２枚、Ｐ２を２枚、Ｐ３を２枚、といったように各ページを連続して印刷する方式である。Ｐ１を２枚印刷し終わった後は、Ｐ１のデータは不要となるため削除することが可能で、効率良くメモリ領域を使用することができる。一方、コレート印刷とは、Ｐ１、Ｐ２、Ｐ３を一枚ずつ印刷し、それを２部数分繰り返す方式である。メモリ使用量を減らすためには、一部を印刷し終わったらメモリ領域を解放し、再度印刷データの投入や印刷データ加工を部の数だけくり返すことでコレート印刷を実現できるが、データの通信や加工を複数回くり返すため処理速度が低下するという課題がある。
【０００４】
特許文献１では、コレート印刷ジョブのデータを機器内に保持し、一部の印刷が終わったら再度そのデータを利用する方法が開示されている。これにより、処理速度の向上をはかりつつ、記憶領域が不足したら領域を解放し、再度データの投入を行うか印刷データの投入を止めるなどして領域不足に対応することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２０７１９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１では、記憶領域が少ない印刷装置ではコレート印刷する１部の全ページデータを保持できないため、コレート印刷ジョブを処理する際は必ずデータの再投入や再加工が必要となるという課題があった。
【０００７】
本発明はこのような事情に鑑み、記憶領域が少ない印刷装置であってもコレート印刷ジョブをデータの再投入や再加工無しで複数部印刷し、処理時間を短縮させることができる方法を提供することを目的とする。特に、コレート印刷ジョブが多面付け設定されている場合に効果を発揮することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本願発明は以下の構成を有する。すなわち、印刷制御装置であって、印刷ジョブを解析する解析手段と、前記解析手段にて解析された前記印刷ジョブに含まれる論理ページを面付けし、ビットマップデータを生成するレンダリング手段と、前記レンダリング手段にて生成されたビットマップデータをスプーラに保持する保持手段とを備え、前記解析手段は、前記印刷ジョブの設定に基づいて、前記印刷ジョブに含まれる論理ページの全てを面付けして生成した場合の前記ビットマップデータのデータサイズを算出し、当該データサイズが前記スプーラのサイズに収まるか否かを判定し、前記レンダリング手段は、前記解析手段により前記スプーラのサイズに収まると判定された場合には、前記印刷ジョブに含まれる論理ページを面付けする際に、部の区切りでシートを切り替えて面付けするように制御され、前記解析手段により前記スプーラのサイズに収まらないと判定された場合には、前記印刷ジョブに含まれる論理ページを面付けする際に、論理ページを詰めてシートに面付けするように制御される。
【発明の効果】
【０００９】
本願発明により、記憶領域が少ない印刷装置であってもコレート印刷ジョブをデータの再投入や再加工無しで複数部印刷し、処理時間を短縮させることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明に係る印刷装置のハードウェアの構成例を示す図。
【図２】本発明に係る印刷装置における制御の構成例を説明するための図。
【図３】一般に行われているコレート印刷の第一処理例を示すフローチャート。
【図４】一般に行われているコレート印刷処理の時系列を説明するための図。
【図５】本発明に係るジョブ制御部の処理を示すフローチャート。
【図６】本発明に係るコレート印刷処理の時系列を説明するための図。
【図７】本発明に係る印刷ジョブの処理時間を示す図。
【図８】一般に行われているコレート印刷処理の処理時間を説明するための図。
【図９】本発明に係るコレート印刷処理の処理時間を説明するための図。
【図１０】一般に行われているコレート印刷処理の処理時間を説明するための図。
【図１１】本発明に係るコレート印刷処理の処理時間を説明するための図。
【図１２】一般に行われているコレート印刷の処理例を示すフローチャート。
【図１３】本発明に係るスプーラに関する効果を説明するための図。
【図１４】本発明に係る用紙の消費に関する効果を説明するための図。
【図１５】本発明に係るシート数とビットマップデータサイズを説明するための図。
【図１６】本発明に係る印刷装置における制御の構成例を説明するための図。
【図１７】本発明に係るジョブ制御部の処理を示すフローチャート。
【図１８】本発明に係るシート情報テーブルの一例を示す図。
【図１９】本発明に係るシート毎にかかる処理時間を説明するための図。
【図２０】本発明に係るシート毎にかかる処理時間を説明するための図。
【発明を実施するための形態】
【００１１】
＜第１の実施形態＞
以下、添付図面を参照して本発明の好適な実施の形態を例示的に詳細に説明する。但し、この実施の形態に記載されている構成要素の相対配置、装置形状等は、あくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１２】
本実施形態では、制御装置を含む印刷装置を例に挙げて説明する。本明細書において「印刷装置」とは、印刷機能に特化した専用機に限らず、印刷機能とその他の機能を複合した複合機や、記録紙上に画像やパターンを形成する製造装置等も含むものとする。
【００１３】
［システム構成］
図１は、本実施形態に係る印刷装置のハードウェアの構成を示す概略ブロック図である。印刷装置１００は、中央処理装置（ＣＰＵ）１０１、ＲＯＭ１０２、ＲＡＭ１０３、通信部１０４、記録部１０５、操作部１０６、及び表示部１０７を含んで構成される。これらの構成要素は、システムバスを介して互いに通信可能に接続されている。
【００１４】
ＣＰＵ１０１は、ＲＯＭ１０２に記憶されているプログラムに従って、ＲＡＭ１０３、通信部１０４、記録部１０５、操作部１０６、及び表示部１０７を制御する。ＲＯＭ１０２は、ＣＰＵ１０１が実行する各種制御プログラムや印刷装置１００の各種動作に必要な固定データを格納する。例えば、印刷装置１００の記録（印刷）処理を実行するプログラムを記憶する。ＲＡＭ１０３は、ＣＰＵ１０１の作業エリアとして用いられたり、種々の受信データの一時格納領域として用いられたり、各種設定データを記憶させたりする。外部装置２０１から送られてくる記録データ（印刷データ）、即ち、記録部１０５で記録（印刷）される記録データは、ＲＡＭ１０３に一時的に記憶される。
【００１５】
通信部１０４は、外部装置２０１と印刷装置１００との通信を制御する。記録部１０５は、記録ユニットと、記録データに基づいて記録用パルスを生成するＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）を含む電気回路と、後述するプリンタエンジン部２１２と、を有する。記録ユニットは、例えば、インクジェット方式の記録ヘッド、各カラーインク、キャリッジ及び記録紙の搬送機構を含む。操作部１０６は、電源ボタン、リセットボタンなどの各種ボタンを含み、ユーザが印刷装置１００を操作する際に使用される。表示部１０７は、例えば、タッチパネルの液晶ディスプレイで構成され、印刷装置１００の状態や各種設定を表示する。なお、ユーザは、表示部１０７を介して、各種設定の入力を行うこともできる。表示部１０７は、操作指示の受付や装置状態の表示を行う。
【００１６】
図２は、本実施形態に係る印刷装置１００における制御の構成を説明するためのブロック図である。第１の実施形態に係る印刷装置１００は、ジョブ制御部２０４、およびプリンタエンジン部２１２を含んで構成される。これらの構成要素はそれぞれ、例えば、図１の印刷装置１００に実装されるハードウェアとして実現されてもよいし、ハードウェアとソフトウェアと協働して実現されてもよい。
【００１７】
印刷装置１００は、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）等の印刷ジョブデータ（印刷データともいう）２０２を外部装置２０１から受信する。そして、印刷装置１００は、印刷ジョブデータ２０２に画像処理をすることにより画像データ（ビットマップデータ）２１１を生成し、ビットマップデータ２１１に基づいて、プリンタエンジン部２１２においてカット紙や連続紙などの印刷媒体に印刷を行う。
【００１８】
ジョブ制御部２０４は、入力ジョブ受信部２０５、ジョブ解析部２０６、レンダリング部２０７、及び印刷画像保存部２０９を含んで構成される。入力ジョブ受信部２０５は、外部装置２０１から印刷ジョブデータ２０２等を受信する。ジョブ解析部２０６は、受信した印刷ジョブデータ２０２の内容を解析する。レンダリング部２０７は、受信した印刷ジョブデータ２０２に対しジョブ制御部２０４が作成したコマンドやデータに基づき画像処理を施し、ビットマップデータ２１１を生成する。レンダリング部２０７は、レンダリングを含むいくつかの画像処理を行うが、その中に面付け部２０８が行う面付け処理も含まれる。印刷画像保存部２０９は、生成したビットマップデータ２１１を自身の管理するスプーラ２１０に保持する。ジョブ制御部２０４は、生成したビットマップデータ２１１を、プリンタエンジン部２１２へ送信する。
【００１９】
プリンタエンジン部２１２は、ジョブ制御部２０４から受信したビットマップデータ２１１に基づいて、画像をカット紙や連続紙などの印刷媒体に印刷する。印刷の際には、プリンタエンジン部２１２は、ビットマップデータに対してプリンタエンジン部２１２の扱う色空間であるＣＭＹＫ等への変換処理や、必要に応じて２値化処理等を行う。
【００２０】
外部装置２０１は、印刷装置１００の外部に接続され、印刷装置１００に印刷を行わせるための印刷ジョブデータ２０２の供給源となるＰＣ（パーソナルコンピュータ）等の情報処理装置である。外部装置２０１は、種々の印刷ジョブのオーダーを発行する。また、外部装置２０１は、印刷装置１００からの指示に応じて印刷ジョブデータ２０２の再供給を行う機能を備えてもよい。この機能により、印刷装置１００が持つスプーラ２１０の領域に保持しきれずに削除したページの複数部コレート印刷を実現する。
【００２１】
例えば、Ｐ１、Ｐ２、Ｐ３の３ページのドキュメントを二部コレート印刷する際、スプーラ領域が少ないためにＰ１、Ｐ２、Ｐ３を一枚ずつ印刷し終わったら次のページの印刷のためにスプーラ領域を解放しなければならない場合がある。この場合、印刷装置１００は、一部目の印刷が終わったら外部装置２０１に対して再供給指示を行い、外部装置２０１は印刷ジョブデータ２０２を再度、印刷装置１００に投入する。そして、印刷装置１００は、再投入された印刷ジョブデータ２０２を用いて、Ｐ１、Ｐ２、Ｐ３をもう一枚ずつ印刷する。
【００２２】
外部装置２０１は、汎用のＰＣであってもよいし、これに限定されず、他のタイプのデータ供給装置としてもよい。他のタイプのデータ供給装置としては、画像をキャプチャーして画像データを生成する画像キャプチャー装置がある。画像キャプチャー装置は、原稿上の画像を読取って画像データを生成するリーダ（スキャナ）、ネガフィルムやポジフィルムを読取って画像データを生成するフィルムスキャナなどである。また、画像キャプチャー装置の他の例として静止画を撮影してデジタル画像データを生成するデジタルカメラ、動画を撮影して動画像データを生成するデジタルビデオなどもある。その他、ネットワーク上にフォトストレージを設置したり、着脱可能な可搬性メモリを挿入するソケットを設けたりし、フォトストレージや可搬性メモリに格納された画像ファイルを読み出して画像データに生成して印刷するものとしてもよい。データ供給装置は印刷装置１００の構成要素としてもよいし、印刷装置１００の外部に接続した別の装置としてもよい。
【００２３】
［処理の流れ］
以降、本実施形態に係る印刷装置１００のジョブ制御部２０４の処理の流れについて説明する。
【００２４】
（従来例による処理）
まずは、本発明の説明の前に、従来の一般的な、複数部コレート印刷設定された印刷ジョブを多面付け印刷する際の処理のフローを、図３を用いて説明する。多面付け印刷とは、一枚の用紙に複数のページを印刷することである。多面付け印刷の目的としては、ページを半分や１／４サイズに縮小して、一枚の用紙に２枚、４枚印刷することで（それぞれ、２ｉｎ１、４ｉｎ１などと呼ばれる）、用紙枚数を減らす目的がある。また、ページサイズはそのままで、より大きい用紙に複数のページを印刷することで、印刷回数を減らし高速化する目的で多面付けを行うこともある。
【００２５】
Ｓ３０１にて、ジョブ制御部は、外部装置から論理ページ数Ｎ、部数Ｍの印刷ジョブデータの受信を開始する。このときの物理ページ数はＮ×Ｍとなる。ここで、論理ページとは、印刷ジョブデータに含まれるページのことである。一方、物理ページとは、論理ページを複数部印刷する際に実際に印刷される各ページのことである。
【００２６】
Ｓ３０２にて、ジョブ制御部は、現在印刷中のシート番号Ｓに、最初に印刷するシート番号１をセットする。ここで、シートとは最終的に印刷される用紙の単位を示す。例えば、論理ページ数が１０のデータを１シートに１ページ面付けする、片面印刷設定の印刷ジョブにおいては、最終的にユーザが手にするシート数は１０となる。なお、本発明では、両面印刷時の第一面と第二面をそれぞれ別のシートとして扱う。すなわち、印刷ジョブを両面印刷設定した場合、物理的な用紙は５枚で足りるが、シート数は１０として扱う。別の例としては、論理ページ数が１０のデータを１シートに２ページ面付けする設定（２ｉｎ１とも言う）の片面もしくは両面印刷設定の印刷ジョブにおいては、シート数は５となる。更に、ジョブ制御部は、現在印刷中の論理ページ番号Ｐに、最初に面付けする論理ページ番号１をセットする。
【００２７】
Ｓ３０３にて、ジョブ制御部は、印刷ジョブデータに含まれる論理ページＰを受信する。
【００２８】
Ｓ３０４にて、ジョブ制御部は、受信した論理ページＰのデータをシートＳに面付けする。ここで、どのように面付けするかは印刷ジョブの設定に従う。例えば、２ｉｎ１の設定がされていれば１シートに２ページ面付けする。例えば、自動面付けの設定がされていれば、ジョブに設定されたシートサイズとページサイズから面付けするページ数を決定する。例えば、Ａ３のシートサイズにＡ４のページを自動面付けする設定になっていた場合、１シートに２ページ面付けする。
【００２９】
Ｓ３０５にて、ジョブ制御部は、１シートに面付けするページ数分面付けしたか否かを判定する。シートに面付け可能なスペースが残っていれば（Ｓ３０５にてＮＯ）、Ｓ３０６に進む。シートに面付け可能なスペースが残っていなければ（Ｓ３０５にてＹＥＳ）Ｓ３０８へ進む。
【００３０】
Ｓ３０６にて、ジョブ制御部は、全物理ページを面付けしたか判定する。面付けすべき物理ページが残っていたら（Ｓ３０６にてＮＯ）、Ｓ３０７に進む。全物理ページを面付けし終わった場合には（Ｓ３０６にてＹＥＳ）Ｓ３０８へ進む。
【００３１】
Ｓ３０７にて、ジョブ制御部は、現在印刷中の論理ページ番号Ｐを一つ進める。ここで、印刷ジョブが複数部設定の場合は全論理ページを面付けし終わっている場合があるため、その場合には、ジョブ制御部は、Ｐを１に戻す。そしてＳ３０３から処理を繰り返す。
【００３２】
Ｓ３０８にて、ジョブ制御部は、シートＳに面付けされたページ群のレンダリングを行い、シートＳのビットマップデータを作成する。
【００３３】
Ｓ３０９にて、ジョブ制御部は、レンダリングしたビットマップデータをプリンタエンジン部に印刷指示する。
【００３４】
Ｓ３１０にて、プリンタエンジン部は、印刷完了したビットマップデータ及びシートＳに面付けした論理ページデータを削除する。これにより、次のシートに面付けする論理ページデータの保持領域を確保する。
【００３５】
Ｓ３１１にて、ジョブ制御部は、全物理ページを印刷したか判定する。全物理ページを印刷した場合（Ｓ３１１にてＹＥＳ）印刷処理を終了する。未印刷の物理ページがある場合は（Ｓ３１１にてＮＯ）、ジョブ制御部は、現在印刷中のシート番号Ｓを１増やす。そして、Ｓ３０３から処理を繰り返す。
【００３６】
（処理例）
図３のフローに従って論理ページ数５を３部、４ｉｎ１でコレート印刷する設定の印刷ジョブを処理した際の例を図４に示す。図４では、外部装置から印刷装置内のスプーラへの論理ページデータの送信、および面付けされたシート、およびシートのビットマップデータのスプーラへの格納タイミングについて、時系列な変化を図示している。それぞれの時系列の変化をステップ４１〜４６を用いて説明する。
【００３７】
ステップ４１では、１枚目のシート（Ｓ１）に１ページ目の論理ページ（Ｐ１）を面付けした状態を示す。このとき、Ｐ１が外部装置からスプーラに送信される。
【００３８】
ステップ４２では、１枚目のシート（Ｓ１）に１ページ目（Ｐ１）から４ページ目の論理ページ（Ｐ４）を面付けした状態を示す。このとき、Ｐ４が外部装置からスプーラに送信される。スプーラにはＰ１からＰ４の論理ページデータが格納されている。この時点でＳ１に面付け可能なページを全て面付けしたので、Ｓ１のビットマップデータを作成し、スプーラに格納する。
【００３９】
ステップ４３では、１枚目のシート（Ｓ１）の印刷が終わって２枚目のシート（Ｓ２）の処理が始まった状態を示す。Ｓ１のビットマップデータおよびＳ１を構成する論理ページデータＰ１からＰ４は印刷済であるためスプーラから削除する。図４中、点線で囲われた矩形はスプーラからの削除を示している。
【００４０】
以上の処理を繰り返し、ステップ４４、ステップ４５、ステップ４６でも同様の処理を行う。ステップ４６において、３部目のＰ５を面付けした段階で全物理ページの面付けが終了するため、Ｓ４には３物理ページ（Ｐ３〜Ｐ５）を面付けした状態でビットマップデータを作成し、印刷を行う。
【００４１】
以上説明したように、一般的なコレート多面付け印刷では、スプール領域を確保するために外部装置からスプーラへの論理ページデータの送信およびシートのビットマップ作成処理を繰り返すことでコレート印刷を実現している。
【００４２】
（本願発明による処理）
続いて、本発明におけるジョブ制御部２０４の処理の流れについて説明する。図５は、本発明に係る印刷装置１００のジョブ制御部２０４の処理フローを示している。
【００４３】
Ｓ５０１にて、ジョブ制御部２０４は、外部装置２０１から論理ページ数Ｎ、部数Ｍのコレート印刷ジョブデータの受信を開始する。このときの物理ページ数はＮ×Ｍとなる。
【００４４】
Ｓ５０２にて、ジョブ制御部２０４は、全論理ページを面付けした場合のシート数を算出する。ここで、どのように面付けするかは印刷ジョブの設定に従う。例えば、２ｉｎ１の設定がされていれば１シートに２ページ面付けする。例えば、自動面付けの設定がされていれば、ジョブに設定されたシートサイズとページサイズから面付けするページ数を決定する。このシート数の算出について図１５を用いて説明する。例えば、論理ページ数が８で４ｉｎ１の設定がされている場合、図１５（ａ）に示す通りシート数は２となる。例えば、論理ページ数が５で２ｉｎ１の設定がされている場合、図１５（ｂ）に示す通りシート数は３となる。
【００４５】
更にジョブ制御部２０４は、算出した全シートをレンダリングした際のビットマップデータの総サイズＴも算出する。図１５（ａ）の場合は、１００ＭＢｙｔｅのシートが２つなのでＴは２００ＭＢｙｔｅとなる。図１５（ｂ）の場合は、５０ＭＢｙｔｅのシートが２つと２５ＭＢｙｔｅのシートが１つなのでＴは１２５ＭＢｙｔｅとなる。ここで、シートのビットマップデータのサイズはシートサイズとページ数が分かれば静的に決定する値でありジョブデータの内容に依存しない。そのため、実際にレンダリングをすることなくビットマップサイズを導出することができる。
【００４６】
Ｓ５０３にて、ジョブ制御部２０４は、印刷画像保存部２０９からスプーラサイズを取得し、Ｓ５０２にて算出したＴがスプーラサイズに収まるか否かを判定する。収まらない場合は（Ｓ５０３にてＮＯ）、図３のＳ３０２に進み、上述した一般のコレート多面付け印刷と同じ処理を行う。つまり、シートに論理ページを詰めてレイアウトする処理を行う。収まる場合は（Ｓ５０３にてＹＥＳ）Ｓ５０４に進む。
【００４７】
Ｓ５０４にて、ジョブ制御部２０４は、現在印刷中のシート番号Ｓに、最初に印刷するシート番号１をセットする。更に、ジョブ制御部２０４は、現在印刷中の論理ページ番号Ｐに、最初に面付けする論理ページ番号１をセットする。
【００４８】
Ｓ５０５にて、ジョブ制御部２０４は、印刷ジョブデータに含まれる論理ページＰを受信する。
【００４９】
Ｓ５０６にて、ジョブ制御部２０４は、受信した論理ページＰのデータをシートＳに面付けする。
【００５０】
Ｓ５０７にて、ジョブ制御部２０４は、論理ページＰが最後の論理ページか否かを判定する。面付けしていない論理ページが存在する場合（Ｓ５０７にてＮＯ）、Ｓ５０８に進む。全ての論理ページを面付けした場合（Ｓ５０７にてＹＥＳ）Ｓ５１０へ進む。
【００５１】
Ｓ５０８にて、ジョブ制御部２０４は、１シートに面付けするページ数分面付けしたか否かを判定する。シートに面付け可能なスペースが残っていれば（Ｓ５０８にてＮＯ）、Ｓ５０９に進む。シートに面付け可能なスペースが残っていないと判定した場合（Ｓ５０８にてＹＥＳ）、Ｓ５１０に進む。
【００５２】
Ｓ５０９にて、ジョブ制御部２０４は、現在印刷中の論理ページ番号Ｐを一つ進める。そして、Ｓ５０５から処理を繰り返す。
【００５３】
Ｓ５１０にて、ジョブ制御部２０４は、シートＳに面付けされたページ群のレンダリングを行い、シートＳのビットマップデータを作成する。このビットマップデータはスプーラ２１０に保持される。
【００５４】
Ｓ５１１にて、ジョブ制御部２０４は、レンダリングしたビットマップデータをプリンタエンジン部２１２に印刷させるよう指示する。
【００５５】
Ｓ５１２にて、ジョブ制御部２０４は、全論理ページを印刷したか否かを判定する。印刷が終わっていない論理ページが存在する場合（Ｓ５１２にてＮＯ）、Ｓ５１３に進む。全論理ページの印刷が完了した場合（Ｓ５１２にてＹＥＳ）Ｓ５１４へ進む。
【００５６】
Ｓ５１３にて、ジョブ制御部２０４は、現在印刷中のシート番号Ｓを１増やす。そして、Ｓ５０５から処理を繰り返す。
【００５７】
Ｓ５１４にて、ジョブ制御部２０４は、スプーラ２１０に保持しているシート番号１からＳまでのビットマップデータを使って残りの部数（Ｍ−１）を印刷するようプリンタエンジン部２１２に指示する。
【００５８】
Ｓ５１５にて、ジョブ制御部２０４は、スプーラ２１０に保持している論理ページおよびビットマップデータをスプーラ２１０から削除する。そして、本処理フローを終了する。
【００５９】
（処理例）
図５のフローに従って論理ページ数５を３部、４ｉｎ１で印刷する設定の印刷ジョブを処理した際の例を図６に示す。図６では、外部装置２０１から印刷装置１００内のスプーラ２１０への論理ページデータの送信、および面付けされたシート、およびシートのビットマップデータのスプーラ２１０への格納タイミングについて、時系列な変化を図示している。それぞれの時系列の変化をステップ６１から６５を用いて説明する。
【００６０】
ステップ６１では、１枚目のシート（Ｓ１）に１ページ目の論理ページ（Ｐ１）を面付けした状態を示す。このとき、Ｐ１が外部装置２０１からスプーラ２１０に送信される。
【００６１】
ステップ６２では、１枚目のシート（Ｓ１）に１ページ目（Ｐ１）から４ページ目の論理ページ（Ｐ４）を面付けした状態を示す。このとき、Ｐ４が外部装置２０１からスプーラ２１０に送信される。この時点では、スプーラ２１０にはＰ１からＰ４の論理ページデータが格納されている。この時点でＳ１に面付け可能なページを全て面付けしたので、Ｓ１のビットマップデータを作成し、スプーラ２１０に格納する。ここで格納したビットマップデータは、本発明では３枚目、５枚目のシートとしても使用される。
【００６２】
ステップ６３では、２枚目のシート（Ｓ２）に５ページ目の論理ページ（Ｐ５）を面付けした状態を示す。このとき、Ｐ５が外部装置２０１からスプーラ２１０に送信される。この時点では、スプーラ２１０にはＰ１からＰ５の論理ページデータが格納されている。この時点で全論理ページを面付けしたので、Ｓ２のビットマップデータを作成し、スプーラ２１０に格納する。ここで格納したビットマップデータは、本発明では４枚目、６枚目のシートとしても使用される。
【００６３】
ステップ６４、ステップ６５では３枚目のシート（Ｓ３）、４枚目のシート（Ｓ４）のビットマップデータを再生成することなく、Ｓ１、Ｓ２のビットマップデータを再利用していることを示している。これは５枚目のシート（Ｓ５）、６枚目のシート（Ｓ６）でも同様である。Ｓ６の印刷を終了した段階で、全物理ページの印刷が終了するため、スプーラ２１０から全データを削除する。
【００６４】
以上説明したように、本実施形態ではシートへの論理ページの面付けを論理ページの切れ目までとすることで外部装置２０１からの論理ページデータの送信およびレンダリング処理を減らすことができる。
【００６５】
（効果）
本実施形態では、Ｓ５０３において全シートのビットマップデータの総サイズＴがスプーラサイズに収まる場合の処理の詳細と、それによる効果を図７〜図１１を用いて説明する。
【００６６】
（比較例１）
図７（ａ）は、ある印刷ジョブに対する、外部装置２０１から印刷装置１００へ１論理ページを送信するために必要な時間、１シートのレンダリング時間、１シートの印刷時間をそれぞれ示している。実際には、各処理にかかる時間は印刷ジョブの内容やプリンタエンジン部２１２の状態によって増減するが、ここでは説明の簡略化のため、各処理にかかる時間は全て図７に示す時間であると想定する。また、実際には、図７に記した処理以外にも計算処理やデータ保持処理などで処理時間を要するが、ここでは説明の簡略化のため、図７に示す処理以外は処理時間がかからないものとして説明する。
【００６７】
図７（ａ）に示す印刷ジョブが図４と同じく論理ページ数５を３部、４ｉｎ１で印刷する設定であるときの各ステップの処理時間を、図３に示した一般的なフローと図５に示した本発明のフローそれぞれにおいて比較することで本発明の効果を示す。
【００６８】
図８は、図３に示した一般的なフローを使って、図７（ａ）の印刷ジョブを処理したときの各ステップの処理時間を示している。図７（ａ）に示す通り、外部装置から印刷装置への１論理ページの送信時間は１秒かかる。図３に示す一般的なフローでは、外部装置から印刷装置（スプーラ）への論理ページの送信を物理ページ数分行う必要がある。したがって、８０１に示すように論理ページの送信に１５物理ページ分（５論理ページ×３部のため）の１５秒を必要とする。
【００６９】
また、図７（ａ）に示す通り、各シートのレンダリングに３秒かかる。各シートに面付けする全論理ページの受信を終えてからレンダリングを開始する必要があるため、８０２に示すように、最後の論理ページＰ５を受信し終えてから最後のシートＳ４のレンダリング結果を得られるまでに３秒を必要とする。なお、最後のシートＳ４以外のレンダリングについては論理ページの送受信と並行して行われる。
【００７０】
また、図７（ａ）に示す通り、各シートの印刷に１．５秒かかる。各シートのレンダリングを終えてから印刷を開始する必要があるため、８０３に示すように、最後のシートＳ４のレンダリングを終えてから最後のシートＳ４を印刷し終えるまで１．５秒を必要とする。なお、最後のシートＳ４以外の印刷については、論理ページの送受信およびレンダリングと並行して行われる。
【００７１】
最終的に、８０４に示すように最初の論理ページＰ１の送信を初めてから最後のシートＳ４の印刷が終了するまで１９．５秒かかることとなる。
【００７２】
次に、本発明を採用したときの処理時間について説明する。図９は、図５に示した本発明のフローを使って図７（ａ）の印刷ジョブを処理したときの各ステップの処理時間を示している。
【００７３】
図７（ａ）に示す通り、外部装置２０１から印刷装置１００への１論理ページの送信時間は１秒かかる。図５に示す本発明のフローでは、スプーラサイズが論理ページを面付けしたシート群のビットマップデータより大きければ、外部装置２０１から印刷装置１００（スプーラ２１０）へのデータの送信は論理ページの数だけでよい。従って、９０１に示すように論理ページの送信に５秒を必要とする。
【００７４】
また、図７（ａ）に示す通り、各シートのレンダリングに３秒かかる。各シートに面付けする全論理ページの受信を終えてからレンダリングを開始する必要があるため、９０２に示すように、最後の論理ページＰ５を受信し終えてからシートＳ２のレンダリング結果を得られるまでに５秒を必要とする。ここで、シートＳ１には論理ページＰ１〜Ｐ４が面付けされるため、論理ページＰ５が受信される前に、シートＳ１のレンダリングは開始される。
【００７５】
また、図７（ａ）に示す通り、各シートの印刷に１．５秒かかる。各シートのレンダリングを終えてから印刷を開始する必要があるため、９０３に示すように、シートＳ２のレンダリングを終えてから最後のシートＳ６を印刷し終えるまで７．５秒を必要とする。なお、シートＳ１の１部目の印刷については、すでにレンダリングが完了しているため、Ｓ２のレンダリングと並行して行われる。
【００７６】
最終的に、９０４に示すように最初の論理ページＰ１の送信を初めてから最後のシートＳ６の印刷が終了するまで１７．５秒かかる。図８の結果と比較すると、２秒の高速化を実現したことになる。
【００７７】
（比較例２）
次に、別の印刷ジョブについても本発明の効果を説明する。図１０は、図３に示した一般的なフローを使って図７（ｂ）の印刷ジョブを処理したときの各ステップの処理時間を示している。図７（ｂ）は、図７（ａ）に比べて論理ページの送信時間に対するレンダリングの時間が長くかかる印刷ジョブの例である。例えば、印刷ジョブが複雑な描画オブジェクトを含んでいたり、顔認識や赤目補正などの画像処理を必要としていたりする場合に、レンダリング時間が長くなるケースがある。このような印刷ジョブの場合、レンダリングしてから印刷が完了するまでの時間に対して論理ページデータの供給が早すぎるため、必要な全論理ページデータをスプーラ内に保持できず、図１０中の１００２や１００３のようなスプーラ空き待ちの時間が発生する。
【００７８】
例えば、１００２は、シートＳ１の印刷が完了してシートＳ１のビットマップデータ及びシートＳ１を構成するＰ１からＰ４の論理ページデータをスプーラから削除して、シートＳ３用のスプーラ領域が利用可能になるまでの待ち時間を示している。ここでは、待ち時間１００２は、２秒を要する。同様に、１００３は、シートＳ２の印刷が完了してシートＳ２のビットマップデータ及びシートＳ２を構成するＰ５、Ｐ１、Ｐ２、Ｐ３の論理ページデータをスプーラから削除し、シートＳ４用のスプーラ領域が利用可能になるまでの待ち時間を示している。ここでは、待ち時間１００３は、１秒を要する。
【００７９】
図７（ｂ）に示す通り、外部装置から印刷装置への論理ページの送信時間は１．０秒かかるため、図１０の１００１に示す通り、論理ページデータの受信を開始してから最初のシートＳ１のレンダリングが開始するまでに４．０秒かかる。これは、シートＳ１を構成する論理ページＰ１からＰ４の受信を待ってからシートＳ１のレンダリングを開始するためである。
【００８０】
次に、図７（ｂ）に示す通り、１シートのレンダリングにかかる時間は５．０秒である。ここでの説明では、レンダリングは１シート毎に１度ずつしか行えない前提である。従って、１００４に示すように、最初のシートＳ１のレンダリングを開始してから最後のシートＳ４のレンダリングを終了するまでに５．０秒×４シート分で２０秒かかることになる。
【００８１】
また、図７（ｂ）に示す通り、１シートの印刷時間に１．０秒かかるため、図１０の１００５に示す通り、最後のシートＳ４のレンダリングが終わってからＳ４の印刷が終わるまでに１．０秒かかる。
【００８２】
最終的に、１００６に示すように最初の論理ページＰ１の送信を始めてから最後のシートＳ４の印刷が終了するまで２５秒かかることとなる。
【００８３】
次に、本発明を採用したときの処理時間について説明する。図１１は、図５に示した本発明のフローを使って図７（ｂ）の印刷ジョブを処理したときの各ステップの処理時間を示している。図５に示す本発明のフローでは、スプーラサイズが論理ページを面付けしたシート群のビットマップデータより大きければ、外部装置２０１から印刷装置１００（スプーラ２１０）へのデータの送信は論理ページの数だけでよい。従って、図１０の待ち時間１００２、１００３に相当するような論理ページの送信待ち合わせ時間が図１１には無い。
【００８４】
図７（ｂ）に示す通り、外部装置２０１から印刷装置１００への論理ページの送信時間は１．０秒かかるため、図１１の１１０１に示す通り、論理ページデータの受信を開始し始めてから最初のシートＳ１のレンダリングが開始するまでに４．０秒かかる。これは、シートＳ１を構成する論理ページＰ１からＰ４の受信を待ってからシートＳ１のレンダリングを開始するためである。
【００８５】
次に、図７（ｂ）に示す通り、１シートのレンダリングにかかる時間は５．０秒である。ここでの説明では、レンダリングは１シート毎に１度ずつしか行えない前提である。従って、１１０２に示すように、最初のシートＳ１のレンダリングを開始してから最後のシートＳ２のレンダリングを終了するまでに５．０秒×２シート分で１０秒かかることになる。これは、本発明では全論理ページを面付け、レンダリングしたビットマップデータがあれば、それを再利用して複数部印刷することが可能だからである。
【００８６】
また、図７（ｂ）に示す通り、１シートの印刷時間に１．０秒かかるため、図１１の１１０３に示す通り、シートＳ２のレンダリングが終わってから最後のシートＳ６の印刷が終わるまでに５．０秒かかる。
【００８７】
最終的に、１１０４に示すように、最初の論理ページＰ１の送信を始めてから最後のシートＳ６の印刷が終了するまで１９秒かかる。図１０の結果と比較すると、６．０秒の高速化を実現したことになる。
【００８８】
以上説明したように、本実施形態によれば、部の切れ目でシートに面付けする論理ページを区切ることにより同じビットマップデータを再利用することが可能となり、ジョブデータの通信やレンダリングにかかる時間を短縮できる。
【００８９】
また、本実施形態では説明の簡略化のために１シートに４ページの面付けをする例を用いて説明したが、本実施形態は特に、Ａ１、Ａ２のような大サイズのシートに大量のページを面付けすることで印刷速度の向上を図る際に有効である。なお、このような印刷をギャンギング印刷と言うこともある。ギャンギング印刷に有効な理由としては、シートのサイズや１シートに面付けするページ数が大きければ大きいほどレンダリングやデータ通信にかかる時間が増え、本実施形態によればこれらを短縮することができるからである。
【００９０】
＜第２の実施形態＞
本実施形態では、本発明における図５のＳ５０３において全シートのビットマップデータの総サイズＴがスプーラサイズに収まらない場合の処理の詳細と、それによる効果を図１２、図１３を用いて説明する。まず、図３とは異なる一般的な複数部のコレート印刷ジョブの処理フローを説明し、次に本発明の効果について説明する。
【００９１】
図１２は、図３とは異なる一般的な複数部コレート印刷ジョブの処理フローの例である。図３の従来のフローでは物理ページをシートに配置可能な限り面付けする処理の例であったのに対し、図１２の従来のフローではシートに面付けする際、部の単位でシートを分ける処理フローを示す。図１２における、Ｓ１２０１〜Ｓ１２０４、Ｓ１２０７〜Ｓ１２１２はそれぞれ図３中のＳ３０１〜Ｓ３０４、Ｓ３０７〜Ｓ３１２と同じである。異なる点はＳ３０５とＳ１２０５、Ｓ３０６とＳ１２０６であり、ここではそれらの違いについてのみ説明する。
【００９２】
Ｓ１２０５にて、ジョブ制御部は、現在処理中の論理ページＰが最後の論理ページか否かを判定する。論理ページＰが最後の論理ページであれば、つまり、Ｐが部の切れ目であると判断した場合は（Ｓ１２０５にてＹＥＳ）Ｓ１２０８へ進む。論理ページＰが最後の論理ページでなければ、つまり、Ｐは部の切れ目では無いと判断した場合は（Ｓ１２０５にてＮＯ）Ｓ１２０６に進む。
【００９３】
Ｓ１２０６にて、ジョブ制御部は、現在面付け中のシートＳに印刷ジョブの設定通り面付けしたか否かを判定する。例えば、４ｉｎ１で面付けする設定であればシートＳに４ページ面付けしたか否かを判定する。設定通り面付けされたと判定された場合（Ｓ１２０６にてＹＥＳ）、つまり、例えば４ｉｎ１設定された印刷ジョブであればシートＳに４ページ面付けした場合、Ｓ１２０８に進む。設定通り面付けされていないと判定された場合（Ｓ１２０６にてＮＯ）、つまり、シートＳにまだ面付け可能なページ部分が残されている場合はＳ１２０７に進む。
【００９４】
図１３（ａ）は、図１２に示した一般的なコレート印刷処理フローに従って、論理ページ数１４を３部、６ｉｎ１でコレート印刷する設定の印刷ジョブを処理する場合に出力されるシートのイメージ及びスプーラ使用量の時間変化を示している。グラフにおいて、縦軸はスプーラ使用量を示し、横軸は時間の経過を示す。また、グラフにおいて、スプーラ容量上限を破線で示す。
【００９５】
まず、最初のシートＳ１に論理ページＰ１からＰ６を面付けする。１３０１はＰ１からＰ６の論理ページデータの受信におけるスプーラ使用量の増加を示している。Ｐ６まで受信し終わると、シートＳ１のレンダリングを行いＳ１のビットマップデータができる。１３０２はビットマップデータ作成時のスプーラ使用量の増加を示している。
【００９６】
同様に、次のシートＳ２を構成する論理ページＰ７からＰ１２の受信を行いシートＳ２のビットマップデータを作成する。その際のスプーラ使用量の増加が１３０３、１３０４に示されている。
【００９７】
シートＳ３を構成する論理ページデータＰ１３の受信をする際、スプーラ使用量がスプーラ容量の上限に達しているため、印刷し終わったＳ１のビットマップデータ及びＳ１の論理ページデータをスプーラから削除する。１３０５はそのときのスプーラ使用量の減少を示している。スプーラ領域を空けることにより論理ページデータＰ１３、Ｐ１４を受信できるようになり（１３０６）、シートＳ３のビットマップデータを作成できる（１３０７）。このように、図１２の一般的な処理フローではスプーラ使用量が上限に達したら印刷済のデータを削除して次のシートのデータ受信、レンダリングを進めていき、シートＳ４からＳ９までを印刷する。
【００９８】
次に、図５に示した本発明の処理フローを用いた場合のシートのイメージ及びスプーラ使用量の時間変化を図１３（ｂ）に示す。シートＳ１とシートＳ２の処理は図１３（ａ）と同様である。本発明では、図５のＳ５０２、Ｓ５０３において全論理ページデータを面付けした際の全シートのビットマップデータのデータサイズがスプーラ容量上限に収まるか判定し、収まらない場合は面付けを部の単位で区切らないように処理を行う。もちろん、印刷ジョブデータが「６ｉｎ１」のように設定されていた場合は、ユーザが所望するシートは部の単位でページが区切れるべきだと考えられるため、本発明においても、図１３（ａ）と同様の処理を行う。
【００９９】
本発明は、例えば、印刷ジョブデータが「現在の用紙サイズにＡ４データを可能な限り面付けする」のような自動面付け設定されている場合に効果を発揮する。本発明においては、シートＳ１からＳ３のビットマップデータのデータサイズがスプーラ容量上限を超えると判断することができるため、Ｓ３の面付け時に部の単位でシートを区切るのではなく２部目のＰ１からＰ４も面付けする。また、シートＳ５の面付け時も同様に、２部目のＰ１１からＰ１４を面付けした後に、３部目のＰ１とＰ２も面付けする。これにより、図１３（ａ）のような一般的なコレートＮｉｎ１印刷と同様のデータ通信量及びレンダリング回数でありながら、総印刷シート枚数を減らすことができる。したがって、ユーザは一般的な方式に比べて同等以上の速度で印刷を可能で、しかも紙の使用量を抑えることができる。
【０１００】
「現在の用紙サイズにＡ４データを可能な限り面付けする」のような自動面付け設定をするのは、Ａ１、Ａ２のような大サイズのシートに複数ページを面付けすることで印刷速度の向上を図る際に有効である（ギャンギング印刷）。このようなケースでは、大サイズの紙を成果物（例えばＡ４）のサイズに裁断して最終成果物を得るため、本実施形態のように論理ページを部の単位でシートを区切らずに面付けしても、ユーザが得られる最終成果物に相違は無い。
【０１０１】
＜第３の実施形態＞
本実施形態では、第２の実施形態の特殊例として、一般的な手法と本発明において総シート枚数が変わらない場合でも、ロール紙などの連続紙に印刷する場合の本発明における効果について説明する。
【０１０２】
図１４（ａ）は、連続紙１４０１に、図１２に示した一般的なコレート印刷処理フローに従って、論理ページ数１３、部数２の８ｉｎ１コレート印刷ジョブを面付けした場合に出力されるシートのイメージを示している。図の左側からＰ１、Ｐ２、という順序で面付けしていき、Ｐ８までを面付けしたらシートＳ１のビットマップデータを作成し連続紙１４０１に印刷する。印刷装置は、この時点でシートＳ１をカットして（図１４中、点線はカット位置を示す）排紙する。シートＳ１のビットマップデータは、スプーラ容量が上限に達したためスプーラから削除される。次にシートＳ２に残りのＰ９からＰ１３までの論理ページデータを面付けし、同様にビットマップデータの作成、印刷、カットを行う。
【０１０３】
同様の印刷ジョブに対して、図５に示した本発明の処理フローにおいて、スプーラサイズがビットマップデータサイズよりも小さい場合の処理を実行した場合の連続紙１４０１のイメージを図１４（ｂ）に示す。図に示すように、シートＳ２に１部目と２部目の論理ページデータを面付けし印刷、カットする。そして、シートＳ３、シートＳ４に２部目の残りの論理ページを印刷する。このとき、シートＳ４はＰ１２とＰ１３を印刷した段階で印刷ジョブが終了するため、本発明における印刷装置１００はこの時点で連続紙１４０１をカットし、シートＳ４は、他のシートＳ１、Ｓ２、Ｓ３よりも短いシートとなる。これにより、連続紙を用いる場合においては、本発明と一般の方式で出力するシート枚数は共に４枚と同一であっても、１４０２に示す分だけ用紙を節約することができる。もちろん、該当する印刷ジョブにおいて全てのカット後のシートサイズが同じであるように設定されている場合はこの限りではない。
【０１０４】
なお、本実施形態では、連続紙を用いた例を示したが、この場合において、印刷装置１００が図５の処理の開始時に用いる用紙の種類を判定してもよい。また、予め設定された用紙の種類に応じて、部単位でレイアウトするか、詰めてレイアウトするかを制御してよい。
【０１０５】
＜第４の実施形態＞
［システム構成］
図１６は、本実施形態に係る印刷システムとしての印刷装置の構成を説明するための図である。図１６中、図２と同じ構成においては同じ番号を記しており、図２と異なる部分ついてのみ説明する。
【０１０６】
シート情報テーブル１６０１は、ジョブ解析部２０６が管理するテーブルであり、図１８に示すような情報を管理する。すなわち、印刷装置１００がシートサイズ毎にかかる１シートのビットマップデータをプリンタエンジン部２１２に転送する時間（Ｔｓｅｎｄ）および、１シートのビットマップデータをプリンタエンジン部２１２で印刷する時間（Ｔｐｒｉｎｔ）を管理する。
【０１０７】
データ送信部１６０２は、スプーラ２１０に格納されたビットマップデータ２１１をプリンタエンジン部２１２に送信する。これは、ジョブ制御部２０４とプリンタエンジン部２１２が物理的に離れた構成において必要な機能である。これにより、例えばジョブ制御部２０４は、印刷制御装置として汎用ＰＣなどの外部装置２０１の近くに配置して通信コストを抑える。一方、印刷手段としての音の発生するプリンタエンジン部２１２は、人の少ない部屋などに配置して音の影響を抑える、等の構成が可能である。
【０１０８】
プリンタエンジン部２１２は、受信したビットマップデータ２１１を自身の持つ印刷画像保存部１６０３が持つスプーラ１６０４に格納する。これにより、プリンタエンジン部２１２は、ビットマップデータ２１１をある程度貯めておくことが可能となり、データ送信部１６０２からのビットマップデータ送信が滞っても印刷処理を止めることなく処理できる、というメリットがある。
【０１０９】
［処理フロー］
本実施形態におけるジョブ制御部２０４の処理の流れについて以降、説明する。図１７は、本発明におけるジョブ制御部２０４の処理フローを示している。ここで、Ｓ１６０１〜Ｓ１６０３は、第１の実施形態にて述べた図５のＳ５０１〜Ｓ５０３と同じ処理のため説明を割愛する。
【０１１０】
Ｓ１６０４にて、ジョブ制御部２０４は、全物理ページを部の単位で面付けした際のシート数Ｓｃｏｐｙを算出する。例えば、論理ページ数１０を２部、コレート印刷する際に、１シートに４ページを面付けする設定におけるＳｃｏｐｙは、図１９（ａ）に示すように、シートＳ１〜Ｓ６の６シートとなる。更にジョブ制御部２０４は、全物理ページを連続して面付けした際のシート数Ｓｓｅｑを算出する。例えば、論理ページ数１０を２部、コレート印刷する際に、１シートに４ページを面付けする設定におけるＳｓｅｑは、図１９（ｂ）に示すように、シートＳ１〜Ｓ５の５シートとなる。
【０１１１】
Ｓ１６０５にて、ジョブ制御部２０４は、ジョブ解析部２０６が持つシート情報テーブル１６０１から、１シートのビットマップデータをプリンタエンジン部２１２に転送する時間Ｔｓｅｎｄを取得する。シート情報テーブル１６０１の例を図１８に示す。図１８に示すように、シート情報テーブル１６０１には、シートサイズ毎のＴｓｅｎｄを予め保持しておく。プリンタエンジン部２１２へのデータ転送にかかる時間は、シートのビットマップデータのサイズに依存する。ビットマップデータのサイズは、シートのサイズによって静的に、つまり印刷ジョブデータを構成するページの内容に依存せずに求めることができる。
【０１１２】
更にジョブ制御部２０４は、ジョブ解析部２０６が持つシート情報テーブル１６０１から、１シートのビットマップデータをプリンタエンジン部２１２で印刷するのにかかる時間Ｔｐｒｉｎｔを取得する。図１８に示すように、シート情報テーブル１６０１には、シートサイズ毎のＴｐｒｉｎｔを予め保持しておく。ＴｓｅｎｄおよびＴｐｒｉｎｔはシートのビットマップデータのサイズに依存する。ビットマップデータのサイズは、シートのサイズによって静的に、つまり印刷ジョブデータを構成するページの内容に依存せずに求めることができる。
【０１１３】
また、ジョブ制御部２０４とプリンタエンジン部２１２を接続している通信路ならびにプリンタエンジン部２１２の印刷性能は予め固定されている。そのため、ジョブ解析部２０６は、印刷装置１００に応じたシート情報テーブル１６０１を予め保持しておくことができる。ここで、実際にデータ通信や印刷を行う際は、そのときの状況によってシート情報テーブル１６０１に保持された時間で通信、印刷できるとは限らないが、ここでは説明の簡略化のため、シート情報テーブル１６０１に記載の時間で処理できるものとする。
【０１１４】
なお、図１８の値は一例であり、これに限定するものではない。また、シートがロール紙のような連続紙の場合には、それに対応して値を設定してもよい。
【０１１５】
Ｓ１６０６にて、ジョブ制御部２０４は、（Ｓｃｏｐｙ−Ｓｓｅｑ）×Ｔｐｒｉｎｔの値と、（Ｔｓｅｎｄ−Ｔｐｒｉｎｔ）×Ｍの値とを比較する。比較の結果、（Ｓｃｏｐｙ−Ｓｓｅｑ）×Ｔｐｒｉｎｔの方が小さい場合（Ｓ１６０６にてＹＥＳ）Ｓ１６０７の処理に進む。そうでない場合は（Ｓ１６０６にてＮＯ）、図３に示した一般のコレート多面付け印刷と同じ処理を行うため、図３のＳ３０２へ進む。この判定の詳細について、図１９を用いて説明する。
【０１１６】
最初に、前述した論理ページ数１０を２部コレート印刷する際に、１シートに４ページを面付けする設定の印刷ジョブについて説明する。ここで、シートサイズはＡ１を想定し、図１８に記載のシート情報テーブル１６０１を用いるとＴｓｅｎｄ＝５ｓ、Ｔｐｒｉｎｔ＝２ｓとなる。また、部数Ｍ＝２である。前述した通り、Ｓｃｏｐｙ＝６、Ｓｓｅｑ＝５となる。Ｓ１６０６の判定を行うと、（６−５）×２＝２は、（５−２）×２＝６より小さいため（（Ｓｃｏｐｙ−Ｓｓｅｑ）×Ｔｐｒｉｎｔ＜（Ｔｓｅｎｄ−Ｔｐｒｉｎｔ）×Ｍ）、ＹＥＳと判定され、部単位での面付け設定が有効になる。
【０１１７】
それによる効果を図１９に示している。部単位での面付け設定の場合（図１９（ａ））、連続して面付けした場合（図１９（ｂ））に比べてシート数は増える。しかし、シートＳ３までをプリンタエンジン部２１２の持つスプーラ１６０４に一度送信してしまえば同じ部のデータを再送信する必要が無い。そのため、その後のシートは連続して印刷可能である。一方、連続して面付けした場合（図１９（ｂ））、Ｔｓｅｎｄが長いことによる通信待ち合わせがシート毎に発生し、全シートを印刷するまでの総時間が部単位で面付けした場合に比べて遅くなる。従って、本発明によれば印刷するシート数は増えてもより高速に印刷完了するように処理することが可能である。
【０１１８】
次に、論理ページ数１４を３部、コレート印刷する際に、１シートに６ページを面付けする設定の印刷ジョブについて説明する。ここで、シートサイズはＡ４を想定し、図１８に記載のシート情報テーブル１６０１を用いるとＴｓｅｎｄ＝１ｓ、Ｔｐｒｉｎｔ＝０．８ｓとなる。図２０（ａ）に示す通り、部単位で面付けした場合、Ｓｃｏｐｙ＝９となる。また、図２０（ｂ）に示す通り、連続して面付けした場合、Ｓｓｅｑ＝７となる。Ｓ１６０６の判定を行うと、（９−７）×０．８＝１．６は、（１−０．８）×３＝０．６より大きいため（（Ｓｃｏｐｙ−Ｓｓｅｑ）×Ｔｐｒｉｎｔ＞（Ｔｓｅｎｄ−Ｔｐｒｉｎｔ）×Ｍ）、ＮＯと判定され、連続して面付けする設定が有効になる。つまり、図３に示す処理フローが実施される。
【０１１９】
本実施形態に係る効果を図２０に示す。部単位での面付け設定の場合（図２０（ａ））、連続して面付けした場合（図２０（ｂ））に比べてシート数が２増えるため、印刷時間が余分にかかる。一方、連続して面付けした場合（図２０（ｂ））はシート毎の印刷間隔があるものの、全シート数が少ないためより高速に印刷を完了することができる。従って、本発明によれば、印刷するシート数が増えたことにより処理時間が遅くなる場合にはシート数を減らして用紙の無駄を省くように処理することが可能である。
【０１２０】
図１７のジョブ制御部のフローの説明に戻る。Ｓ１６０７〜Ｓ１６１８は、図５におけるＳ５０４〜Ｓ５１５と同じ処理のため説明を割愛する。
【０１２１】
以上説明したように、本実施形態においては、全シートのビットマップデータがスプーラサイズに収まる場合であっても、部単位で面付けした際にデータの通信時間の影響により処理時間が長くならないように考慮されている。その結果、ユーザが意識することなく、印刷ジョブと印刷装置に応じて処理の高速化および用紙省力化の恩恵を得ることができる。
【０１２２】
＜その他の実施形態＞
本発明は上述した実施形態に限定されるものではない。例えば、上述した実施形態では、レンダリング部は、印刷装置が全て備えるものとしたが、一部又は全部を印刷装置に接続される外部装置が備えるものとしてもよい。この場合は、印刷装置内のスプーラ容量によって、部の切れ目でシートを分けるか否かを判定する。例えば、印刷装置内のスプーラ容量が十分にある場合は、外部装置で生成した全論理ページを面付けした全シートのビットマップデータを一度だけ印刷装置に送信することで、印刷装置は同じビットマップデータを再利用して印刷することで高速化が図れる。印刷装置内のスプーラ容量が不十分である場合は、外部装置においてシートに部の切れ目がある場合でも連続してページを面付けし、シート毎にレンダリングを行い、それを毎回、印刷装置に送信する。これにより用紙の使用量を減らすことができる。
【０１２３】
上述した実施形態では、単一の印刷ジョブ（印刷ジョブデータ）を受信した場合を例に挙げて説明したが、これに限定されるものではなく、複数の印刷ジョブデータを連続して面付けする場合にも適用できる。具体的には、例えば、印刷ジョブＡと印刷ジョブＢが双方とも「現在使用中の用紙に可能な限り面付けしてコレート印刷する」といった設定になっている場合、双方の印刷ジョブを連続した１つの印刷ジョブとして扱うことができる。このとき、異なるジョブ間または同じジョブ内で異なるページサイズ（例えば、Ａ３とＡ４など）が含まれていたとしても、本発明を適用可能である。
【０１２４】
また、上述した実施形態では、印刷装置内にスプーラが一つである構成について説明したが、論理ページ受信用のスプーラとビットマップデータ保持用のスプーラといったように複数のスプーラを保持する構成であってもよい。その場合、印刷画像保存部がそれぞれのスプーラの容量を管理しており、論理ページ受信用のスプーラ容量だけが少ない場合は、外部装置から印刷装置への論理ページ通信を物理ページ数分繰り返すがビットマップデータは再利用して高速化可能な実施形態となる。また、ビットマップデータ保持用のスプーラ容量だけが少ない場合は、外部装置から印刷装置への通信は論理ページ数だけを一度だけ通信する実施形態となる。印刷装置内ではその論理ページを使いながらシート毎にビットマップデータを作成することで、通信回数と用紙使用量を抑える実施形態となる。
【０１２５】
また、上述した実施形態では、レンダリング部は同時に１シートに対してのみレンダリング処理を行うことができる構成で説明したが、複数のシートを並列にレンダリングすることができるレンダリング部であってもよい。その場合、複数のシートのレンダリング時間が短縮される可能性があるが、同時処理可能な数を超えたシートをレンダリングすることはできない。従って、その場合においても、本発明の効果を得ることができる。
【０１２６】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１２７】
１００…印刷装置、２０１…外部装置、２０２…印刷ジョブ、２０４…ジョブ制御部、２０５…入力ジョブ受信部、２０６…ジョブ解析部、２０７…レンダリング部、２０８…面付け部、２０９…印刷画像保存部、２１０…スプーラ、２１１…ビットマップデータ、２１２…プリンタエンジン部
【図１】
2018083307.tif 000003
【図２】
2018083307.tif 000004
【図３】
2018083307.tif 000005
【図４】
2018083307.tif 000006
【図５】
2018083307.tif 000007
【図６】
2018083307.tif 000008
【図７】
2018083307.tif 000009
【図８】
2018083307.tif 000010
【図９】
2018083307.tif 000011
【図１０】
2018083307.tif 000012
【図１１】
2018083307.tif 000013
【図１２】
2018083307.tif 000014
【図１３】
2018083307.tif 000015
【図１４】
2018083307.tif 000016
【図１５】
2018083307.tif 000017
【図１６】
2018083307.tif 000018
【図１７】
2018083307.tif 000019
【図１８】
2018083307.tif 000020
【図１９】
2018083307.tif 000021
【図２０】
2018083307.tif 000022