(57)【要約】【課題】  スプール領域のコストを低く抑えつつ、高いスループットを実現する。【解決手段】  画像処理装置は、印刷ジョブに基づく印刷データを生成する画像処理部４０３と、画像処理部４０３により生成される印刷データの準備に要する準備時間を特定する特定手段と、第１の印刷データの準備に要する準備時間に基づいて、第１の印刷データの印刷をした後に印刷する第２の印刷データの準備を完了させるまでの許容時間を予測する予測手段と、印刷部により印刷を実行する際に印刷データの供給要求を受信する受信手段と、印刷データの供給要求を受信する前に、特定手段により特定された第２の印刷データの準備時間及び予測手段により予測された第２の印刷データの許容時間に基づいて、生成手段により生成された第２の印刷データを含む所定単位の印刷データを印刷データ格納手段に格納するか判定する判定手段と、を有する。【選択図】  図７
2015231204.tif 000002
【特許請求の範囲】
【請求項１】
印刷ジョブに基づく印刷データを生成する生成手段と、
前記生成手段により生成される印刷データの準備に要する準備時間を特定する特定手段と、
第１の印刷データの準備に要する準備時間に基づいて、前記第１の印刷データの印刷をした後に印刷する第２の印刷データの準備を完了させるまでの許容時間を予測する予測手段と、
印刷部により印刷を実行する際に印刷データの供給要求を受信する受信手段と、
印刷データの供給要求を受信する前に、前記特定手段により特定された前記第２の印刷データの準備時間及び予測手段により予測された前記第２の印刷データの許容時間に基づいて、前記生成手段により生成された前記第２の印刷データを含む所定単位の印刷データを印刷データ格納手段に格納するか判定する判定手段と、を有することを特徴とする処理装置。
【請求項２】
前記判定手段が印刷データ格納手段に格納しないと判定した場合、前記生成手段は、印刷データの供給要求を受信した後に、印刷ジョブに基づく印刷データを生成することを特徴とする請求項１に記載の処理装置。
【請求項３】
前記予測手段は、当該予測手段により予測された前記第１の印刷データの許容時間、前記特定手段により特定された前記第１の印刷データの準備時間、及び前記第１の印刷データの印刷時間に基づいて、前記第２の印刷データの準備を完了させるまでの許容時間を予測することを特徴とする請求項１又は２に記載の処理装置。
【請求項４】
前記特定手段は、前記生成手段により印刷データを生成するのに要した時間を準備時間として特定することが可能であることを特徴とする請求項１〜３のいずれか１項に記載の処理装置。
【請求項５】
前記特定手段は、前記印刷ジョブのデータサイズに基づいて準備時間を特定することが可能であることを特徴とする請求項１〜４のいずれか１項に記載の処理装置。
【請求項６】
印刷ジョブの画像サイズ及び印刷ジョブに設定される印刷情報に基づいて、前記印刷時間を特定する第２特定手段をさらに備えることを特徴とする請求項１〜５のいずれか１項に記載の処理装置。
【請求項７】
前記判定手段により前記印刷データ格納手段に格納すると判定された場合、前記特定手段は、前記印刷データ格納手段からの前記第２の印刷データの読み出しに要する時間を前記第２の印刷データの準備時間として特定し、前記予測手段は、前記第２の印刷データの許容時間を更新することを特徴とする請求項１〜６のいずれか１項に記載の処理装置。
【請求項８】
前記印刷データ格納手段は、第１の印刷データ格納手段と前記第１の印刷データ格納手段よりも高速な読み出しが可能な第２の印刷データ格納手段とを含み、
前記判定手段は、前記生成手段により生成された前記第２の印刷データを含む所定単位の印刷データを、前記第１の印刷データ格納手段に格納するか、前記第２の印刷データ格納手段に格納するか、前記第１の印刷データ格納手段及び前記第２の印刷データ格納手段のいずれにも格納しないかを判定することを特徴とする請求項１〜７のいずれか１項に記載の処理装置。
【請求項９】
第１の印刷ジョブが前記第１の印刷データを含み、前記第１の印刷ジョブとは異なる第２の印刷ジョブが前記第２の印刷データを含むことを特徴とする請求項１〜８のいずれか１項に記載の処理装置。
【請求項１０】
一の印刷ジョブが前記第１の印刷データ及び前記第２の印刷データを含むことを特徴とする請求項１〜９のいずれか１項に記載の処理装置。
【請求項１１】
前記所定単位は、ページ単位又は印刷ジョブ単位であることを特徴とする請求項１〜１０のいずれか１項に記載の処理装置。
【請求項１２】
前記印刷データ格納手段を備えることを特徴とする請求項１〜１１のいずれか１項に記載の画像処理装置。
【請求項１３】
印刷データに基づく印刷を実行する印刷部をさらに備えることを特徴とする請求項１〜１２に記載のいずれか１項に記載の画像処理装置。
【請求項１４】
印刷ジョブに基づく印刷データの準備に要する準備時間を特定し、
第１の印刷データの準備に要する準備時間に基づいて、前記第１の印刷データの印刷をした後に印刷する第２の印刷データの準備を完了させるまでの許容時間を予測し、
特定された前記第２の印刷データの準備に要する準備時間及び予測された前記第２の印刷データの許容時間に基づいて、生成された前記第２の印刷データを含む所定単位の印刷データを印刷データ格納手段に格納するか判定することを特徴とする画像処理方法。
【請求項１５】
請求項１〜１３のいずれか１項に記載の画像処理装置の各手段としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷ジョブの処理を行う処理装置及び処理方法に関する。
【背景技術】
【０００２】
連続紙などの記録媒体（例えば、ロール紙）を用いて印刷を行う画像形成装置では、ロール紙が続く限り印刷を続けることにより高いスループットとすることができる。このように連続印刷をする場合、プリントエンジンに印刷データを供給し続ける必要がある。なお、印刷データの供給が間にあわないと、印刷が停止してロール紙の再セットアップが必要となり、スループットは低下してしまう。
【０００３】
ところで、印刷ジョブは、例えば、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）やＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）などのＰＤＬ形式のファイルで構成され、ＲＩＰに時間がかかる。そこで、前もって印刷ジョブを画像処理して、スプーリングする方法が採用されているが、印刷データのサイズは、データの高解像度化等に伴って、年々増大しているため、スプーリング手段の容量を十分に確保できないという問題がある。ＨＤＤを大量に用意することで、スプーリング手段を大容量化することが可能であるが、コストがかかるという問題があった。このような問題に対して、ＲＩＰに時間がかかる印刷ジョブは前もってＲＩＰしてスプールし、ＲＩＰに時間がかからない印刷ジョブは、印刷の直前にＲＩＰして印刷する（オン・ザ・フライ印刷）という方法が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−８３５２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の方法では、ビットマップデータへの展開時間が印字時間内に収まるか否かを印刷ジョブ毎にページ単位で判断しており、前の印刷ジョブとの関係を考慮していなかった。したがって、スプールしなくても済む印刷ジョブがスプールされてしまい、スプーラの空き領域を圧迫するという問題があった。
【０００６】
本発明は、上記課題に鑑みてなされたものであり、スプール領域のコストを低く抑えつつ、高いスループットを実現する画像処理装置及び画像処理方法を提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明に係る処理装置は、印刷ジョブに基づく印刷データを生成する生成手段と、前記生成手段により生成される印刷データの準備に要する準備時間を特定する特定手段と、第１の印刷データの準備に要する準備時間に基づいて、前記第１の印刷データの印刷をした後に印刷する第２の印刷データの準備を完了させるまでの許容時間を予測する予測手段と、印刷部により印刷を実行する際に印刷データの供給要求を受信する受信手段と、印刷データの供給要求を受信する前に、前記特定手段により特定された前記第２の印刷データの準備時間及び予測手段により予測された前記第２の印刷データの許容時間に基づいて、前記生成手段により生成された前記第２の印刷データを含む所定単位の印刷データを印刷データ格納手段に格納するか判定する判定手段と、を有する。
【発明の効果】
【０００８】
本発明によれば、スプール領域のコストを低く抑えつつ、高いスループットを実現することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係る画像形成装置の構成の一例を示す図である。
【図２】画像形成装置の制御ユニットのハードウェア構成の一例を示す図である。
【図３】本発明の一実施形態に係る画像形成装置の処理の流れの一例を示すフローチャートである。
【図４】本発明の一実施形態に係る制御ユニットにより実現される機能的な構成の一例を示す図である。
【図５】本発明の一実施形態に係る印刷予測テーブルの一例を示す図である。
【図６】本発明の一実施形態に係るスプーラの一例を示す図である。
【図７】本発明の一実施形態に係るジョブ制御部の前処理を示すフローチャートである。
【図８】本発明の一実施形態に係るジョブ制御部の印刷処理を示すフローチャートである。
【図９】本発明のロール紙への印刷イメージの一例を示す図である。
【図１０】本発明の一実施形態に係るジョブ制御部の印刷データのやり取りを示すフローチャートである。
【図１１】本発明の一実施形態に係るジョブ制御部の前処理を示すフローチャートである。
【図１２】本発明の一実施形態に係る印刷予測テーブルの一例を示す図である。
【図１３】本発明の一実施形態に係るジョブ制御部の再開処理を示すフローチャートである。
【図１４】本発明の一実施形態に係る印刷予測テーブルの一例を示す図である。
【発明を実施するための形態】
【００１０】
（実施形態１）
図１は、本発明の一実施の形態に係る画像形成装置１００の構成の一例を示す図である。本実施形態では、処理装置の一例として画像形成装置を例に挙げて説明する。
【００１１】
画像形成装置１００は、記録媒体上に印刷を行なう。なお、本実施形態では、記録媒体としてロール紙を例に挙げて説明するが、これに限定されるものではなく、他の連続紙であってもよい。図１は、記録材としてロールシート（搬送方向において印刷単位（１ページ）の長さよりも長い連続した連続シート）を用いた画像形成装置の全体構成の概略を示す断面図である。画像形成装置は、以下の構成要素１０１〜１１５を含み、これらが１つの筐体内に配置される。ただし、これらの構成要素を複数の筐体に分けて構成してもよい。
【００１２】
制御ユニット１０８は、コントローラ（ＣＰＵまたはＭＰＵを含む）やユーザインターフェース情報の出力器（表示情報や音響情報などの発生器）、各種Ｉ／Ｏインターフェースを備えた制御部を内蔵し、画像形成装置全体の各種制御を司る。
【００１３】
ロールシートユニットとして上段シートカセット１０１ａと下段シートカセット１０１ｂの２基を備える。使用者はロールシート（以下、シート）をマガジンに装着してから画像形成装置本体に装填する。上段シートカセット１０１ａから引き出されたシートは図中ａ方向に、下段シートカセット１０１ｂから引き出されたシートは図中ｂ方向にそれぞれ搬送される。いずれのカセットからのシートも図中ｃ方向に進行して搬送ユニット１０２に到達する。搬送ユニット１０２は、複数の回転ローラ１０４を通して印刷処理中にシートを図中ｄ方向（水平方向）に搬送する。給紙元のシートカセットを一方から他方に切り替える際は、既に引き出されているシートをカセット内に巻き戻し、新たに給紙させるシートがセットされているカセットから新たに給紙する。
【００１４】
搬送ユニット１０２の上方にはヘッドユニット１０５が搬送ユニット１０２と対向して配置される。ヘッドユニット１０５では複数色（本実施形態では７色）分の独立した印刷ヘッド１０６がシートの搬送方向に沿って保持されている。本画像形成装置は、搬送ユニット１０２によるシートの搬送に同期させて、印刷ヘッド１０６からインクを吐出させてシート上に画像を形成する。インクはシートに直接吐出させるのに代え、中間転写体にインクを付与した後、そのインクをシートに付与することによって画像を形成させるものとしてもよい。これら搬送ユニット１０２、ヘッドユニット１０５、印刷ヘッド１０６を含んで印刷ユニットが構成されている。インクタンク１０９は各色のインクを独立して貯蔵する。インクタンク１０９からはチューブによって各色に対応して設けられたサブタンクまでインクが供給され、サブタンクから各印刷ヘッド１０６までチューブを介してインクが供給される。印刷ヘッド１０６は、印刷時の搬送方向ｄ方向に沿って各色（本実施形態では７色）のラインヘッドが並んでいる。各色のラインヘッドは、継ぎ目無く単一のノズルチップで形成されたものであってもよいし、分割されたノズルチップが一列又は千鳥配列のように規則的に並べられたものであってもよい。ノズルからインクを吐出するインクジェット方式は、発熱素子を用いた方式、ピエゾ素子を用いた方式、静電素子を用いた方式、ＭＥＭＳ素子を用いた方式等を採用することができる。印刷データに基づいて各ヘッドのノズルからインクが吐出されるが、吐出のタイミングは搬送用エンコーダ１０３の出力信号によって決定される。
【００１５】
なお、本実施形態は、記録剤としてインクを用いたインクジェット方式のプリンタに限定されない。サーマルプリンタ（昇華型、熱転写型など）、ドットインパクトプリンタ、ＬＥＤプリンタ、レーザープリンタなどの電子写真方式など、様々な印刷方式に適用可能である。
【００１６】
シートに画像が形成された後、当該シートは搬送ユニット１０２から、スキャナユニット１０７まで搬送される。スキャナユニット１０７では、シート上の印刷画像や特殊パターンを光学的に読取って印刷画像に問題がないかどうかの確認や、インクの吐出状態を含む本装置の状態確認等を行う。
【００１７】
シートはスキャナユニット１０７近傍からｅ方向に搬送され、カッタユニット１１０に導入される。カッタユニット１１０ではシートを所定の印刷単位の長さ毎に切断する。印刷する画像サイズに応じてこの所定の印刷単位の長さは異なる。カッタユニット１１０は、片面印刷の場合はページ単位でシートを切断するが、印刷ジョブの内容によってはページ単位で切断しない場合もある。また、カッタユニット１１０は両面印刷の場合、シートの第１面（たとえばおもて面）はページ単位で切断せずに所定の長さ分まで画像を連続して印刷し、第２面（たとえば裏面）を印刷した場合にページ単位で切断する。なお、カッタユニット１１０は、片面印刷や両面印刷の裏面印刷に際し、１枚の画像毎に切断するものに限らない。所定の長さ分搬送されるまで切断せず、所定の長さまで搬送された後で切断し、１枚（１頁）の画像毎に切り離すのは別のカッタ装置で手動操作等によって切断するものとしてもよい。またシートの幅方向に関しては、切断が必要な場合、別のカッタ装置を用いて切断することになる。
【００１８】
カッタユニット１１０から搬送されたシートは、ユニット内を図中ｆ方向に搬送され、裏面印字ユニット１１１に搬送される。裏面印字ユニット１１１は、シートの片面のみに画像を印刷する場合に、シートの裏面に所定の情報を印刷させるためのユニットである。なお、裏面印字ユニット１１１は、印刷ヘッド１０６が両面印刷の印刷ジョブのための画像を印刷する場合、印刷ヘッド１０６が画像を印刷する領域以外に所定の情報を印刷してもよい。裏面印字ユニット１１１は、記録剤の押印、熱転写、インクジェットなどの方式を採用可能である。
【００１９】
裏面印字ユニット１１１を通ったシートは、次に乾燥ユニット１１２に搬送される。乾燥ユニット１１２は、インクが付与されたシートを短時間で乾燥させるために、ユニット内を図中ｇ方向に通過するシートを温風で加熱する。印刷単位長さに切断されたシートは１枚ずつ乾燥ユニット１１２内を通過して、図中ｈ方向に搬送されて仕分けユニット１１４に搬送される。仕分けユニット１１４は、複数のトレー（本実施形態では１８個）を保持しており、印刷単位の長さ等に応じでシートの排紙先のトレーを区別する。仕分けユニット１１４では、ユニット内を図中ｉ方向に通過するシートを、各トレー上に設けられたセンサでトレーの空きやシートが満載か否かなどを確認しながら印刷画像毎に設定されたトレー番号に対応するトレーに排紙していく。切断されたシートの排出先となるトレーは、印刷ジョブの発行元（ホスト装置）で特定のものが指定される場合や、画像形成装置側で空いているトレーが任意に指定される場合がある。１つのトレーには予め決められた枚数まで排紙可能である。この予め決められた枚数を超える印刷ジョブの場合、複数のトレーに跨って排紙される。トレーに対して排紙可能なシートの枚数やサイズ、種類などは、そのトレーの大きさ（タイプ）等によって異なっている。また、複数のトレーのそれぞれには優先順位を付すことができ、画像形成装置１００は、印刷ジョブを実行するにあたり、空いている（シートが存在しない）トレーを、優先順位に従って順にシートの排出先として割り当てていく。この優先順位は、予め設定されていてもよいし、ユーザによる操作等で適宜変更可能としてもよい。
【００２０】
シート巻取りユニット１１３は、ページ毎に切断されずにおもて面が印刷されたシートの巻取りを行う。両面印刷の際にはまずおもて面に画像形成が行われたシートを、カッタユニット１１０でページ単位では切断せず、連続したおもて面の印刷が終了した後に切断する。おもて面が印刷されたシートは、ユニット内を図中のｊ方向に通過し、シート巻取りユニット１１３が巻取る。そして、一連のページ分のおもて面の画像形成が終了して、巻き取られたシートは、先のおもて面とは反対面を印刷可能な面にして、つまり印刷ヘッド１０６に対向させる面を反転させて、再度ユニットの図中のｋ方向に搬送される。このように搬送させることで、先のおもて面とは反対の裏面の画像の印刷を行わせる。通常の片面印刷の場合は、画像が印刷されたシートは、シート巻取りユニット１１３による巻取りを行わせずに仕分けユニット１１４に搬送される。
【００２１】
次に、図２を用いて、図１に示す制御ユニット１０８におけるハードウェア構成の一例について説明する。
【００２２】
制御ユニット１０８は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４、外部Ｉ／Ｆ２０５、画像処理部２０６、エンジン制御部２０７、スキャナ制御部２０８を有し、それぞれがシステムバス２１０を介して接続される。
【００２３】
ＣＰＵ２０１は、マイクロプロセッサ（マイクロコンピュータ）形態の中央演算処理部である。ＣＰＵ２０１は、プログラムの実行やハードウェアの起動により画像形成装置１００全体の動作を制御する。ＲＯＭ２０２は、ＣＰＵ２０１が実行するためのプログラムや画像形成装置１００の各種動作に必要な固定データを格納する。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして用いられたり、種々の受信データの一時格納領域として用いられたり、各種設定データを記憶させたり、印刷ジョブのリストや作業用データを格納させる。ＨＤＤ２０４は、印刷ジョブに基づき展開されたイメージデータ等を一時的に格納する。また、ＨＤＤ２０４は、ＣＰＵ２０１が実行するためのプログラム、印刷データ、画像形成装置１００の各種動作に必要な設定情報を、内蔵するハードディスクに記憶させたり、読み出したりすることが可能である。なお、ＨＤＤ２０４に代えて、他の大容量記憶装置としてもよい。
【００２４】
外部Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０５は、ホスト装置２０から印刷ジョブ等を受信する。例えば、ホスト装置２０から送信された印刷ジョブは、外部Ｉ／Ｆ２０５を介して受信される。また、当該印刷ジョブの情報は、ＲＡＭ２０３上の印刷ジョブリストに格納され、印刷ジョブに基づいて展開されたイメージデータは、ＨＤＤ２０４に格納される。
【００２５】
画像処理部２０６は、印刷ジョブに基づいてレンダリング処理（ＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ））を実施することで、ページ単位でイメージデータを生成する。具体的には、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）で記述された文字、線画、図形等のベクトル情報、或いは色、パターン、写真等の画像走査線情報を、印刷や表示が可能なビットマップデータに展開する。また、画像処理部２０６においては、例えば、色空間の変換（例えば、ＹＣｂＣｒのｓＲＧＢへの変換）、有効な（画像処理装置１００が印刷処理可能な）画素数への解像度変換、画像解析、画像補正等、様々な画像処理が必要に応じて施される。画像処理部２０６による画像処理によって得られたイメージデータ（ＲＩＰ済みデータ）は、例えば、ＨＤＤ２０４等に格納される。
【００２６】
エンジン制御部２０７は、イメージデータデータに基づいて上述した印刷ユニットを制御して、シート上へ印刷を行なう。エンジン制御部２０７は、例えば、各色の印刷ヘッド１０６へのインク吐出指示や、シート上でのドット位置を調整するための吐出タイミング設定、ヘッド駆動状態取得等を行なう。イメージデータに応じて印刷ヘッド１０６を駆動制御し、印刷ヘッド１０６からインクを吐出させる。これにより、シート上に印刷が行なわれる。その他、エンジン制御部２０７は、各種ローラ（例えば、給紙ローラ、搬送ローラ等）の駆動を制御し、シートを適切な速度で搬送及び停止させる。
【００２７】
スキャナ制御部２０８は、イメージセンサー（例えば、ＣＣＤ、ＣＩＳ等）を制御し、シート上の画像を読み取る。スキャナ制御部２０８は、画像の読み取り値として、赤（Ｒ）、緑（Ｇ）及び青（Ｂ）色のアナログ輝度データを取得する。その他、スキャナ制御部２０８は、イメージセンサーから取得した輝度データを解析し、不吐ノズルやシートの切断位置の検出等も行なう。  ホスト装置２０は、画像形成装置１００の外部に設けられ、印刷ジョブの供給源として機能する。ホスト装置２０は、印刷に係わる画像等のデータの作成等を行なうコンピュータでもあっても良いし、画像読取用のリーダ等であっても良い。
【００２８】
外部Ｉ／Ｆ２０５は、印刷ジョブやその他のコマンド、ステータス信号等をホスト装置２０等との間で送受信する。
【００２９】
次に、図３を用いて、図１に示す画像形成装置１００における処理の流れの一例について簡単に説明する。このフローチャートは、ＣＰＵ２０１が、ＲＯＭ２０２またはＨＤＤ２０４に格納されている制御プログラムをＲＡＭ２０３にロードし、それを実行することにより行われる処理の流れを示す。ここでは、両面印刷を行なう際の処理の流れについて説明する。
【００３０】
この処理は、画像形成装置１００が外部Ｉ／Ｆ２０５において、ホスト装置２０から印刷ジョブを受信すると開始する（Ｓ３０１）。この処理が開始すると、画像形成装置１００は、画像処理部２０６において、当該受信した印刷ジョブをＲＩＰする（Ｓ３０２）。ＲＩＰの順番は、優先度（通常、割込）、ユーザによる指定、用紙の綴じ方、装置に搭載されている用紙サイズ、ソータトレイにまとめる単位などに基づいて決められる。ＲＩＰされたデータは、ＲＩＰ済みデータとしてＲＡＭ２０３またはＨＤＤ２０４に格納される。
【００３１】
画像形成装置１００は、エンジン制御部２０７において、表面用のＲＩＰ済みデータに基づいてシート表面の印刷を実行する（Ｓ３０３）。具体的には、ロール紙ユニット１０１からシートを給紙し、搬送ユニット１０２によってシートをヘッドユニット１０５に搬送する。画像形成装置１００は、ヘッドユニット１０５まで搬送されたシートの表面に画像を印刷し、当該印刷後のシートをスキャナユニット１０７まで搬送する。画像形成装置１００は、スキャナユニット１０７において、印刷された画像を確認した後、当該印刷がなされたシートをカッタユニット１１０まで搬送する。そして、画像形成装置１００は、カッタユニット１１０でシートの切断を行なわず、連続シートのまま、乾燥ユニット１１２を通過させ、印刷された画像を乾燥させた後、シート巻取りユニット１１３で当該連続シートを巻き取る。画像形成装置１００は、印刷指示のあったＲＩＰ済みデータ全ての表面印刷が終了、または所定の設定（画像数、印刷ライン数、印刷時間等）まで表面印刷が終了すると、表面の最後の画像の後ろで切断を行なう（Ｓ３０４）。
【００３２】
表面の印刷が終了すると、画像形成装置１００は、エンジン制御部２０７において、裏面用のＲＩＰ済みデータに基づいてシート裏面の印刷を開始する。具体的には、シート巻取りユニット１１３に巻き取られた表面印刷済みシートを反転後、搬送ユニット１０２により、ヘッドユニット１０５に搬送する。画像形成装置１００は、ヘッドユニット１０５まで搬送されたシートの裏面に印刷指示のあった画像を対応する表面の裏に印刷し、スキャナユニット１０７まで搬送する。
【００３３】
画像形成装置１００は、スキャナユニット１０７において、印刷された画像を確認した後、当該印刷がなされたシートをカッタユニット１１０まで搬送する。画像形成装置１００は、カッタユニット１１０において、当該シートを印刷単位の長さ毎に切断する（Ｓ３０５）。
【００３４】
所定の印刷単位の長さに切断されたシートを乾燥ユニット１１２を通過させて乾燥させた後、仕分けユニット１１４に搬送し、画像毎に指定されたトレーに搬送を行なう（Ｓ３０６）ことにより、両面印刷処理を終了する。
【００３５】
本実施形態では、表面と裏面を一台の画像形成装置１００で印刷する画像形成装置を例に挙げて説明するが、表面専用の画像形成装置と裏面専用の画像形成装置を別々に用意するタンデム構成であってもよい。なお、タンデム構成とする場合、例えば、シート巻取りユニット１１３が存在しない以外は本実施形態と同様の構成とすればよい。この場合、表面専用の画像形成装置で表面を印刷されたシートは、例えば、裏面専用の画像形成装置へ搬送され、裏面専用の画像形成装置において裏面用のＲＩＰ済みデータに基づいてシート裏面の印刷が実行される。
【００３６】
なお、図３のフローでは、両面印刷の場合について説明したが、片面印刷の場合は、Ｓ３０３で表面を印刷した後にカッタユニット１１０で所定の印刷単位の長さ毎に切断し、乾燥させ、搬送すればよい。
【００３７】
ここで、図４を用いて、図１に示す制御ユニット１０８により実現されるＲＩＰに関する機能的な構成の一例について説明する。
【００３８】
制御ユニット１０８は、ＣＰＵ２０１がＲＯＭ２０２等に格納されたプログラムを実行することにより、ジョブ制御部４０１、印刷ジョブ受信部４０２、画像処理部４０３、印刷データ格納部４０４、プリンタエンジン送信部４０５、ＵＩ制御部４０６を実現する。
【００３９】
制御ユニット１０８は、さらに印刷ジョブ格納用低速スプーラ４０７、印刷データ格納用低速スプーラ４０９を備える。これらは、例えば、ＨＤＤ２０４により実現され、読み出しが低速であるが安価である。
【００４０】
また、制御ユニット１０８は、印刷ジョブ格納用高速スプーラ４０８、印刷データ格納用高速スプーラ４１０を備える。これらは、例えば、ＲＡＭ２０３を用いてＲＡＭＤＩＳＫ等で実現され、読み出しが高速であるがＨＤＤ２０４等と比較して高価である。
【００４１】
すなわち、印刷ジョブ格納用高速スプーラ４０８は、印刷ジョブ格納用低速スプーラ４０７と比較してアクセス速度が速く、印刷データ格納用高速スプーラ４１０は、印刷データ格納用低速スプーラ４０９と比較してアクセス速度が速い。
【００４２】
ジョブ制御部４０１は、印刷ジョブに係る処理を統括制御する。具体的には、ジョブ制御部４０１は、画像処理部４０３へＲＩＰ開始の指示をしたり、ＲＩＰによって得られた印刷データ（ＲＩＰ済みデータ）を、プリンタエンジン送信部４０５へ送信するか、印刷データ格納部４０４へ送信するのかを判定したりする。さらに、ジョブ制御部４０１は、印刷予測テーブル４１１を生成する。本実施形態では、ＲＩＰにかかった時間や印刷に必要なパラメータを画像処理部４０３から受け取り、印刷予測テーブル４１１に記録する。また、印刷までの許容時間を予測し、印刷予測テーブル４１１に記録する。ジョブ制御部４０１は、適宜、印刷予測テーブル４１１を更新する。ジョブ制御部４０１は、印刷予測テーブル４１１の更新結果によっては、印刷ジョブ格納用低速スプーラ４０７に一旦保存された印刷ジョブを印刷ジョブ格納用高速スプーラ４０８に保存するように印刷ジョブ受信部４０２へ指示を行う。
【００４３】
印刷ジョブ受信部４０２は、ホスト装置２０から送られてきた印刷ジョブを受信する。印刷ジョブ受信部４０２により受信された印刷ジョブは、印刷ジョブ格納用低速スプーラ４０７に一旦格納される。このとき、印刷ジョブは、例えば、印刷ジョブ格納用低速スプーラ４０７に投入された順などを示すパラメータ情報と対応付けて格納される。なお、印刷ジョブのＲＩＰ済みのデータは、ＲＩＰ前のデータよりもデータ量が大きくなる傾向にある。
【００４４】
画像処理部４０３は、ジョブ制御部４０１からの指示に基づいて、印刷ジョブをＲＩＰし、印刷データを作成する。また、画像処理部４０３は、ＲＩＰにかかった時間や印刷に必要なパラメータをジョブ制御部４０１に返す。
【００４５】
印刷データ格納部４０４は、ジョブ制御部４０１の指示により、ＲＩＰによって得られた印刷データを印刷データ格納用低速スプーラ４０９又は印刷データ格納用高速スプーラ４１０に保存する処理を行う。印刷データ格納部４０４は、印刷時には、ＲＩＰによって得られた印刷データを印刷データ格納用低速スプーラ４０９又は印刷データ格納用高速スプーラ４１０から取得する処理を行う。
【００４６】
プリンタエンジン送信部４０５は、ジョブ制御部４０１からの指示に基づいて、ＲＩＰによって得られた印刷データをエンジン制御部２０７へ送信する。
【００４７】
ＵＩ制御部４０６は、操作ユニット１１５を介したユーザからの指示を画像形成装置１００内へ入力したり、操作ユニット１１５への各種情報の表示等を制御したりする。ユーザからの指示としては、例えば、通常よりも早く印刷を行ないたい場合に印刷ジョブの優先度を変更する指示、投入した印刷ジョブをキャンセルしたりする指示等が挙げられる。
【００４８】
ここで、図５を用いて、図４に示す印刷予測テーブル４１１の一例について説明する。
【００４９】
図５に示すように、印刷予測テーブル４１１は、印刷ジョブ番号５０１、ページ番号５０２、ＲＩＰ時間５０３、ＲＩＰの結果得られる印刷データの画像サイズ５０４、印刷方式５０５、印刷までの許容時間５０６を含む。なお、ＲＩＰ時間は、ページ毎に特定される。ここでいうＲＩＰ時間５０３とは、印刷データ（ＲＩＰ済みデータ）を供給するのにかかる時間、言い換えれば、印刷準備にかかる準備時間（印刷が実行可能となるまでの時間）を指す。具体的には、印刷ジョブ格納用スプーラから印刷ジョブを読み出してＲＩＰを実行するまでの時間や、印刷データ格納用スプーラからＲＩＰ済みデータを読み出す時間を指す。また、印刷までの許容時間５０６とは、対象とする印刷ページのためのＲＩＰ時間として許容される時間を指し、本実施形態では、例えば、対象とする印刷ページよりも前の印刷ページの印刷が完了する時間に基づいて、予測することができる。なお、図５では、ＲＩＰ時間５０３及び印刷までの許容時間５０６は、相対的な時間の値を指すものであり、特に単位を設けていない。また、画像サイズ５０４とは、印刷ジョブを印刷するサイズであり、印刷単位（本実施形態では印刷ページ）毎に異なるサイズであってもよい。印刷方式５０５とは、印刷ジョブに設定されるパラメータであり、例えば、印刷部数、両面印刷か片面印刷か、印刷時のレイアウト情報（１ｉｎ１，２ｉｎ１，４ｉｎ１等）等の各種印刷情報である。
【００５０】
ＲＩＰ済みデータを印刷データ格納用低速スプーラ４０９から読み出す時間及びＲＩＰ済みデータを印刷データ格納用高速スプーラ４１０から読み出しにかかる時間は、予め測定したり外部から取得したりして特定しておけばよい。なお、全てのデータサイズの読み出し時間を特定する必要はなく、いずれかのデータサイズの読み出し時間を特定できる場合は、データサイズ毎の読み出し時間は類推することができる。ここでは、印刷データの画像サイズ５０４がＡ４サイズの場合１ページあたり８０の印刷時間がかかるものとし、Ｌ版サイズの場合１ページあたり４０の印刷時間がかかるものとして説明する。また、Ａ４サイズの印刷データを印刷データ格納用低速スプーラ４０９から読み出すのには１１０の時間がかかり、印刷データ格納用高速スプーラ４１０から読み出すには５０の時間がかかるものとして説明する。同様に、Ｌ版サイズの印刷データを印刷データ格納用低速スプーラ４０９から読み出すのには５０の時間がかかり、印刷データ格納用高速スプーラ４１０から読み出すには２０の時間がかかるとして説明する。また、印刷ジョブ格納用高速スプーラ４０８から読み出してＲＩＰすると印刷ジョブ格納用低速スプーラ４０７から読み出してＲＩＰするのに比べて２０％高速になるものとして説明する。印刷までの許容時間５０６は、上述したとおり、対象とする印刷ページよりも前の印刷ページの印刷が完了する時間に基づいて、予測することができる。具体的には、対象とする印刷ページよりも前の印刷ページの印刷までの許容時間、対象とする印刷ページのＲＩＰ時間５０３、及び対象とする印刷ページよりも前の印刷ページの印刷時間に基づいて、特定することができる。対象とする印刷ページよりも前の印刷ページの印刷時間は、例えば、画像サイズ５０４及び印刷方式５０５に基づいて特定することができる。
【００５１】
印刷ジョブ５０７は、印刷ジョブ番号５０１が００００１００１で、１ページ目のＲＩＰ時間５０３に３００、２ページ目のＲＩＰ時間５０３に３３０、３ページ目のＲＩＰ時間５０３に３１０、４ページ目のＲＩＰ時間に４００かかる。ここでいうＲＩＰ時間は、印刷ジョブ格納用低速スプーラ４０７から印刷ジョブを読み出し、ＲＩＰを行って印刷データ（ＲＩＰ済みデータ）を供給するのにかかる時間である。また、印刷ジョブ５０７は、ＲＩＰの結果得られる印刷データの画像サイズ５０４はＡ４サイズであり、印刷方式５０５により、１ページが２部ずつ片面印刷される。印刷ジョブ５０７は、印刷までの許容時間５０６について、図中の５１１に示すように、１ページ目から３ページ目までＮＡ、４ページ目から４８０となっている。ＮＡのマークは、許容時間に制限を設ける必要がない場合に印刷予測テーブル４１１に付けられる。すなわち、ＮＡのマークが付されている部分は、ＲＩＰにどれだけの時間がかかっても問題ないことを示す。ここで、例えば、ある程度以上のＲＩＰ済みデータがたまった段階で印刷を開始する場合、ＲＩＰ済みデータがたまるまでは印刷を開始しないため印刷までの許容時間に制限を設ける必要がない。本実施形態では、エンジンバッファに３ページまで印刷データをためてから印刷開始するものとし、また、エンジンバッファには４ページまで印刷データをためることが可能として説明する。なお、ＲＩＰ済みデータが所定量以上たまった段階で印刷を開始する理由は、印刷開始毎に印刷が停止するのを抑制して、スループットを向上させるためである。一方、印刷が停止するたびに、プリントエンジンの初期化に要する時間がかかり、裏面に切り替える回数が増えるため裏面印刷に切り替える時間がかかり、スループットが低下してしまう。
【００５２】
印刷ジョブ５０７の印刷までの許容時間５０６は、４ページ目については４８０となっているが、これは１ページ目から３ページ目までが印刷されるまでの時間を示しており、４８０の期間までに印刷データを供給できれば、印刷が止まらずに済むことを示している。ここでは、印刷ジョブ５０７の４ページ目のＲＩＰ時間５０３は、４００であり、印刷までの許容時間５０６の４８０よりも短く、印刷開始までにＲＩＰが間に合うことがわかる。
【００５３】
印刷ジョブ５０８は、印刷ジョブ番号５０１が００００１００２で、１ページ目のＲＩＰ時間５０３は、「３１０→１１０」である。また、２ページ目のＲＩＰ時間５０３は「３１０→１１０」、３ページ目のＲＩＰ時間５０３は「３２０→１１０」、４ページ目のＲＩＰ時間５０３は「３３０→１１０」である。図中のＲＩＰ時間５０３は、印刷ジョブ格納用低速スプーラ４０７から印刷ジョブを読み出してＲＩＰを実行した場合の時間と、低速なスプーラに予めＲＩＰ済みデータを保存した場合の読み出し時間を示している。すなわち、１ページ目のＲＩＰの実行には３１０かかるが、ＲＩＰ済みの印刷データを低速なスプーラに予め格納しておくと１ページ目のＲＩＰ済みデータの取得は１１０で済む。印刷ジョブ５０８は、ＲＩＰの結果得られる印刷データの画像サイズ５０４はＡ４サイズであり、１ページを１部ずつ片面印刷される（印刷方式５０５参照）。印刷ジョブ５０８の印刷までの許容時間５０６は、５１２に示すように、１ページ目が２４０、２ページ目が２１０、３ページ目が１８０、４ページ目が１５０となっており、ＲＩＰ済みデータを低速なスプーラに格納しておくことで、全てのページで印刷データの供給が間にあうことがわかる。
【００５４】
印刷ジョブ５０９について、印刷ジョブ番号５０１は００００１００３で、１ページ目のＲＩＰ時間５０３は「１１０→２０」である。２ページ目のＲＩＰ時間５０３は「１１０→２０」、３ページ目のＲＩＰ時間５０３は「１２０→２０」、４ページ目のＲＩＰ時間５０３は「１３０→２０」である。これは、１ページ目のＲＩＰには１１０かかるが、ＲＩＰ済みのデータである印刷データを予め高速なスプーラに格納しておくことで、印刷時に印刷データの取得は２０で済む。印刷ジョブ５０９は、ＲＩＰの結果得られる印刷データの画像サイズ５０４はＬ版サイズであり、２ｉｎ１形式で１部ずつ片面印刷される（印刷方式５０５参照）。印刷ジョブ５０９の印刷までの許容時間５０６は、１ページ目が１２０、２ページ目が１２０、３ページ目が６０、４ページ目が６０である。１ページ目と２ページ目、３ページ目と４ページ目で印刷までの許容時間５０６が同じなのは、２ｉｎ１形式のため同じタイミングで２ページ分の印刷データの供給が必要であるためである。次に、図６を用いて、図４に示す印刷ジョブ格納用低速スプーラ４０７、印刷ジョブ格納用高速スプーラ４０８、印刷データ格納用低速スプーラ４０９、印刷データ格納用高速スプーラ４１０の一例について説明する。
【００５５】
印刷ジョブ格納用低速スプーラ４０７は、ジョブ番号００００１００１の印刷ジョブ５０７と、ジョブ番号００００１００２の印刷ジョブ５０８と、ジョブ番号００００１００３の印刷ジョブ５０９を格納していることを示している。
【００５６】
印刷ジョブ格納用高速スプーラ４０８は、何も格納していないことを示している。
【００５７】
印刷データ格納用低速スプーラ４０９は、ジョブ番号００００１００２の印刷ジョブ５０８のＲＩＰ済みデータとして４ページ分の印刷データ６０１を格納していることを示している。
【００５８】
印刷データ格納用高速スプーラ４１０は、ジョブ番号００００１００３の印刷ジョブ５０９のＲＩＰ済みデータとして４ページ分の印刷データ６０２を格納していることを示している。
【００５９】
次に、図７及び図８を用いて、図１に示す画像形成装置１００における処理の流れの一例について説明する。これらのフローチャートは、ＣＰＵ２０１が、ＲＯＭ２０２またはＨＤＤ２０４に格納されている制御プログラムをＲＡＭ２０３にロードし、それを実行することにより行われる処理の流れを示す。
【００６０】
図７は、印刷ジョブを受信して印刷開始する前までに行われる前処理の流れを示すフローチャートである。
【００６１】
前処理は、印刷ジョブが印刷ジョブ格納用低速スプーラ４０７に投入されると開始される。前処理が開始されると、ジョブ制御部４０１は、画像処理部４０３に対して投入された印刷ジョブに対して印刷データを作成するＲＩＰを行うように指示する（Ｓ７０１）。画像処理部４０３は、ジョブ制御部４０１からの指示に応じて印刷ジョブをＲＩＰする。さらに、画像処理部４０３は、ＲＩＰに要した時間や印刷時に必要なパラメータを取得し、その結果をジョブ制御部４０１に返す。さらに、ジョブ制御部４０１は、画像処理部４０３から受け取った結果を印刷予測テーブル４１１に初期値として設定する（Ｓ７０１）。
【００６２】
次に、ジョブ制御部４０１は、印刷予測テーブル４１１から印刷までの許容時間５０６を取得する（Ｓ７０２）。
【００６３】
次に、ジョブ制御部４０１は、対象の印刷ジョブの印刷処理開始の指示のタイミングで、印刷ジョブ格納用低速スプーラ４０７から印刷ジョブを読み出してＲＩＰしても印刷に間に合うかどうかを判断する（Ｓ７０３）。すなわち、印刷の直前に印刷ジョブ格納用低速スプーラ４０７から印刷ジョブを読み出して、ＲＩＰを行った場合、印刷に間に合うかどうかを判断する。なお、印刷の実行を停止させることなく印刷を継続させることができる場合は、印刷に間に合うと判断する。
【００６４】
Ｓ７０３において、印刷の直前にＲＩＰして印刷するオン・ザ・フライ印刷が間に合うと判断されると（Ｓ７０３でＹＥＳ）、ジョブ制御部４０１は、ＲＩＰ済みの印刷データを保存せずに、処理を終了する。
【００６５】
Ｓ７０３において、オン・ザ・フライ印刷が間に合わないと判断されると（Ｓ７０３でＮＯ）、ジョブ制御部４０１は、印刷ジョブ格納用高速スプーラ４０８からＲＩＰしても印刷に間に合うかどうかを判断する処理を行う（Ｓ７０４）。
【００６６】
Ｓ７０４において、オン・ザ・フライ印刷が間に合うと判断されると（Ｓ７０４でＹＥＳ）、ジョブ制御部４０１は、印刷ジョブを印刷ジョブ格納用低速スプーラ４０７から印刷ジョブ格納用高速スプーラ４０８に移す処理を行う（Ｓ７０５）。すなわち、印刷ジョブにＲＩＰを実行せずに、読み出し速度の速いスプーラに移動させる。そして、Ｓ７０９へ進む。
【００６７】
Ｓ７０４において、オン・ザ・フライ印刷が間に合わないと判断されると（Ｓ７０４でＮＯ）、ジョブ制御部４０１は、ＲＩＰ済みの印刷データを印刷データ格納用低速スプーラ４０９に保存した上で、印刷時に読み出すことで印刷に間に合うかどうかを判断する処理を行う（Ｓ７０６）。なお、印刷の実行を停止させることなく印刷を継続させることができる場合は、印刷に間に合うと判断する。
【００６８】
Ｓ７０６において、印刷データ格納用低速スプーラ４０９内の印刷データを読み出すことで、印刷に間に合うと判断されると（Ｓ７０６でＹＥＳ）、ジョブ制御部４０１は、印刷データ格納部４０４にＲＩＰ済みデータである印刷データを印刷データ格納用低速スプーラ４０９に保存するように指示する（Ｓ７０７）。印刷データ格納部４０４は、ジョブ制御部４０１から指示を受け取ると、印刷データを印刷データ格納用低速スプーラ４０９に保存する処理を行う。そして、Ｓ７０９へ進む。
【００６９】
Ｓ７０６において、印刷データ格納用低速スプーラ４０９内の印刷データを読み出したのでは印刷に間に合わないと判断されると（Ｓ７０６でＮＯ）、ジョブ制御部４０１は、印刷データ格納部４０４に印刷データ格納用高速スプーラ４１０に保存するように指示する。印刷データ格納部４０４は、ジョブ制御部４０１から指示を受け取ると、印刷データを印刷データ格納用高速スプーラ４１０に保存する処理を行う。
【００７０】
Ｓ７０９では、次の印刷ジョブに利用する印刷までの許容時間５０６を含む印刷予測テーブル４１１のＲＩＰ時間及び印刷までの許容時間を更新する処理を行う。
【００７１】
以上のようにジョブ制御部４０１は、印刷ジョブ格納用低速スプーラ４０７に一旦格納されたジョブに対して、前処理を行う。
【００７２】
上述した実施形態では、Ｓ７０４において印刷ジョブ用高速スプーラからの前処理において、印刷ジョブを印刷ジョブ格納用高速スプーラ４０８に移すものとしたが、これに限定されず、ＲＩＰの開始が遅くならない範囲で、直前に移してもよい。ここで、図５及び図６の例を用いて、印刷ジョブ５０７、印刷ジョブ５０８、印刷ジョブ５０９の順でジョブが投入された場合の図７における前処理の流れを具体的に説明する。
【００７３】
上述した通り、印刷予測テーブル４１１において、印刷ジョブの中で最初に印刷されるジョブの少なくとも一部は、印刷までの許容時間５０６に制限を設ける必要がない。
【００７４】
まず、印刷ジョブ５０７が投入された場合について説明する。ジョブ制御部４０１は、印刷ジョブ５０７をＲＩＰすると（Ｓ７０１）、Ａ４、４ページで構成され、ＲＩＰ時間５０３が、１ページ目から４ページ目にかけて、３００、３３０、３１０、４００であり、２部ずつ印刷することが指定されていると判明する。ジョブ制御部４０１は、印刷までの許容時間５０６を取得すると（Ｓ７０２）、印刷ジョブ５０７は、５１１に示すように、３ページ分がＮＡとマークされ、ＲＩＰに十分時間をかけてよいことがわかる。一方、４ページ目の印刷までの許容時間５０６は、４８０となる。これは、１ページの印刷に８０かかり３ページを２部ずつ印刷することから、印刷までの許容時間５０６が４８０であるということを示している。このとき、ジョブ制御部４０１は、印刷ジョブ格納用低速スプーラ４０７からの処理で間に合うかどうかの判断をすると（Ｓ７０３）、４８０に対して４００のＲＩＰ時間で済むため、間に合うと判断する（Ｓ７０３でＹＥＳ）。この結果、印刷ジョブ５０７は、印刷ジョブ格納用低速スプーラ４０７からのオン・ザ・フライ印刷が可能であるとなる。
【００７５】
次に、印刷ジョブ５０８が投入された場合について説明する。ジョブ制御部４０１は、印刷ジョブ５０８をＲＩＰすると（Ｓ７０１）、Ａ４、４ページで構成され、ＲＩＰ時間５０３が、１ページ目、２ページ目、３ページ目、４ページ目がそれぞれ、３１０、３１０、３２０、３３０であり、１部ずつ印刷することが指定されていると判明する。ジョブ制御部４０１は、印刷までの許容時間５０６を取得すると（Ｓ７０２）、１ページ目の印刷までの許容時間は、２４０となる。これは、まず、印刷ジョブ５０７の４ページの印刷までの許容時間５０６が４８０であり、４ページ目のＲＩＰ時間が４００であるため、（４８０−４００）＝８０の余裕がある。印刷までの許容時間５０６が（４８０−４００）＝８０であり、印刷ジョブ５０７を２部印刷する時間の間も印刷ジョブ５０８のＲＩＰができるため、（８０×２）を加えると、合計２４０となるためである。このとき、ジョブ制御部４０１は、印刷ジョブ格納用低速スプーラからのオン・ザ・フライ印刷で間に合うかどうかの判断をすると（Ｓ７０３）、印刷までの許容時間５０６が２４０に対してＲＩＰに３１０かかるため、印刷に間に合わないと判断する（Ｓ７０３でＮＯ）。次に、ジョブ制御部４０１は、印刷ジョブ格納用高速スプーラ４０８からの処理で間に合うかどうかの判断をする（Ｓ７０４）。ジョブ制御部４０１は、印刷までの許容時間５０６が２４０に対して、ＲＩＰが２０％高速となっても、１ページ目をＲＩＰするのに２４８かかるため、印刷に間に合わないと判断する（Ｓ７０４でＮＯ）。さらに、ジョブ制御部４０１は、印刷データ格納用低速スプーラ４０９からの処理で間に合うかどうかの判断をする（Ｓ７０５）。Ａ４サイズの印刷データを印刷データ格納用低速スプーラ４０９から読み出すのには１１０で済むため、ページ１からページ４にかけてＲＩＰ（Ｒｅａｄ）時間は、全て１１０となる。さらに、Ａ４を１ページ印刷するのに８０しかかからないため、１ページ毎に印刷までの許容時間５０６が３０ずつ短くなるものの、ＲＩＰに要する時間は印刷までの許容時間５０６におさまる。具体的には、印刷までの許容時間５０６は、１ページ目は２４０、２ページ目は２１０、３ページ目は、１８０、４ページ目は１５０となり、印刷データ格納用低速スプーラ４０９から読み出すのにかかる１１０よりも大きい。つまり、ジョブ制御部４０１は、印刷に間に合うと判断する（Ｓ７０６でＹＥＳ）。印刷データ格納部４０４は、印刷データを印刷データ格納用低速スプーラ４０９に格納する処理を行う（Ｓ７０７）。この結果、図６の印刷データ格納用低速スプーラ４０９に印刷ジョブ５０８の印刷データが保存されることとなる。最後に、ジョブ制御部４０１は、印刷予測テーブルのＲＩＰ時間をいずれも１１０に更新すると共に、ＲＩＰ時間が変わることにより印刷までの許容時間を更新し（Ｓ７０９）、処理を終了する。
【００７６】
最後に、印刷ジョブ５０９が投入された場合について説明する。ジョブ制御部４０１は、印刷ジョブ５０９をＲＩＰすると（Ｓ７０１）、Ｌ版、４ページで構成され、ＲＩＰにかかった時間が、１ページ目、２ページ目、３ページ目、４ページ目で、それぞれ１１０、１１０、１２０、１３０であり、２ｉｎ１形式で１部ずつ印刷する指定がされていると判明する。ジョブ制御部４０１は、印刷までの許容時間５０６を取得すると（Ｓ７０２）、１ページ目の印刷までの許容時間５０６は、１２０となる。これは、印刷ジョブ５０８の４ページまでは印刷までの許容時間５０６が１５０であり、４ページ目をＲｅａｄするのに１１０かかり、１部印刷する時間を加えると、印刷までの許容時間５０６が（１５０−１１０）＋８０の合計１２０となるためである。このとき、ジョブ制御部４０１は、印刷ジョブ格納用低速スプーラ４０７からの処理で間に合うかどうかの判断をする（Ｓ７０３）。ジョブ制御部４０１は、ＲＩＰ時間が１ページ目と２ページ目の合計２２０必要なのに対して、印刷までの許容時間５０６が１２０であるため、印刷に間に合わないと判断する（Ｓ７０３でＮＯ）。さらに、ジョブ制御部４０１は、印刷ジョブ格納用高速スプーラ４０８から読み出してＲＩＰすることで印刷に間に合うかどうかの判断をする（Ｓ７０４）。ジョブ制御部４０１は、ＲＩＰが２０％高速となっても、１ページをＲＩＰするのに８８かかるため、２ページ分をＲＩＰするには１７６かかり、印刷までの許容時間５０６が１２０のため印刷に間に合わないと判断する（Ｓ７０４でＮＯ）。さらに、ジョブ制御部４０１は、印刷データ格納用低速スプーラ４０９からの処理で間に合うかどうかの判断をする（Ｓ７０６）。Ｌ版サイズの印刷データを印刷データ格納用低速スプーラ４０９から読み出すのには５０で済むため、ページ１からページ４にかけてＲＩＰ時間５０３は、全て５０となる。１ページと２ページ目の印刷までの許容時間５０６は１２０であるのに対して、１ページ目と２ページ目の合計ＲＩＰ時間が１００のため、１ページ目と２ページ目の印刷は間に合う。しかしながら、３ページ目と４ページ目の印刷は間に合わない。具体的には、２ｉｎ１形式の場合は、２ページ同時に印刷するため、３ページ目と４ページ目の印刷までの許容時間５０６は、両ページともに、１ページ目及び２ページ目の印刷時間４０を加えても（１２０−１００）＋４０＝６０となる。したがって、３〜４ページのＲＩＰは、印刷に間に合わないと判断する（Ｓ７０６でＮＯ）。一方、印刷データ格納用高速スプーラ４１０の場合は、印刷データを読み出すのには２０で済むため、ページ１からページ４にかけてＲＩＰ（Ｒｅａｄ）時間は、全て２０となる。１ページと２ページ目の印刷までの許容時間５０６は１２０に対して、合計ＲＩＰ時間が４０のため、印刷に間に合う。さらに、３ページ目と４ページ目の印刷までの許容時間５０６が６０に対して、３〜４ページをＲＩＰするのに４０で済む。そのため、ジョブ制御部４０１は、印刷データ格納用高速スプーラ４１０からＲＩＰ済みデータを読み出した場合、印刷に間に合う。この結果、図６の印刷データ格納用高速スプーラ４１０に印刷ジョブ５０９の印刷データが保存される。最後に、ジョブ制御部４０１は、印刷予測テーブルのＲＩＰ時間をいずれも２０に更新すると共に、ＲＩＰ時間が変わることにより印刷までの許容時間を更新し（Ｓ７０９）、処理を終了する。
【００７７】
なお、図５では、Ｓ７０４がＮｏの場合に、ＲＩＰ時間として、印刷ジョブ格納用スプーラから印刷ジョブを読み出してＲＩＰを実行する時間及び印刷データ格納用スプーラからＲＩＰ済みデータを読み出す時間を保持するものとした。しかしながら、印刷予測テーブルはこれに限定されるものではない。本実施形態では、上述したように、自身のＲＩＰ時間だけでなく、先行する印刷ジョブのＲＩＰ時間及び印刷にかかる時間を考慮することにより、印刷ジョブを連続して印刷する場合に適したスプーラを選択する。
【００７８】
本実施形態では、印刷ジョブ格納用低速スプーラ４０７に印刷ジョブをそのまま保持しておくか、印刷ジョブを印刷ジョブ格納用高速スプーラ４０８に移動させるか、ＲＩＰ済みデータを印刷データ格納用低速スプーラ４０９に保存しておくか、印刷データ格納用高速スプーラ４１０に保存しておく。これにより、印刷データ格納用スプーラのスプール領域のコストを抑えつつ、印刷データの供給が滞ることによる印刷停止を抑制することができる。本実施形態では、高速で高価なスプーラ（スプーリング手段）と、低速で安価なスプーラ（スプーリング手段）とを組み合わせて、印刷データの供給が滞ることによる印刷停止を抑制することができる。これにより、低コストで低速のスプーラ等を大量に用意する必要が無く、また、高コストで高速のスプーラの必要容量を低く抑えることができる。
【００７９】
次に、図８を用いて、画像形成装置１００が実行する印刷処理の流れを説明する。なお、図７に示す印刷ジョブを受信して印刷開始する前までに行われる前処理が実行された後に図８に示す印刷処理のフローは、実行される。
【００８０】
印刷処理は、ＵＩ制御部４０６やホスト装置２０から印刷要求が入ると開始される。印刷処理が開始されると、ジョブ制御部４０１は、エンジン制御部２０７から印刷データの供給指示が来るまで待つ処理を行う（Ｓ８０１）。すなわち、エンジン制御部２０７からの印刷データの供給要求を受信するのを待つ。
【００８１】
印刷データの供給指示がないと（Ｓ８０１でＮＯ）、ジョブ制御部４０１は、ステップＳ８０１へ戻って、再びエンジン制御部からの印刷データの供給指示がくるのを待つ処理を行う。
【００８２】
印刷データの供給指示があると（Ｓ８０１でＹＥＳ）、ジョブ制御部４０１は、印刷ジョブがオン・ザ・フライ印刷で間に合うと判断された印刷ジョブであるかどうかを判断する（Ｓ８０２）。
【００８３】
Ｓ８０２において、オン・ザ・フライ印刷で間に合うと判断された印刷ジョブであると判断されると（Ｓ８０２でＹＥＳ）、ジョブ制御部４０１は、印刷ジョブ受信部４０２及び画像処理部４０３に指示を出す。具体的には、印刷ジョブ格納用低速スプーラ４０７又は印刷ジョブ格納用高速スプーラ４０８から印刷ジョブを読み出すように印刷ジョブ受信部４０２に指示を出し、印刷ジョブをＲＩＰするように画像処理部４０３に指示を出す（Ｓ８０３）。
【００８４】
オン・ザ・フライ印刷で間に合わないと判断されると（Ｓ８０２でＮＯ）、ジョブ制御部４０１は、印刷データを印刷データ格納用低速スプーラ４０９又は印刷データ格納用高速スプーラ４１０から読み出すように印刷データ格納部４０４に指示を出す（Ｓ８０４）。
【００８５】
以上のようにして、前処理によって適切な領域にスプールされた印刷ジョブについて、スプーラからＲｅａｄまたは直前にＲＩＰして印刷データとして供給する。図９を用いて、印刷ジョブ５０７、印刷ジョブ５０８、印刷ジョブ５０９の順でジョブが投入された場合において、これらのジョブがどのようにロール紙に印刷されるかを説明する。印刷ジョブ５０７の４ページは、２部ずつロール紙に印刷される（９０１）。同様に、印刷ジョブ５０７に続いて、印刷ジョブ５０８の４ページは、１部ずつロール紙に印刷される（９０２）。最後に、印刷ジョブ５０８に続いて、印刷ジョブ５０９の４ページは、２ｉｎ１形式でロール紙に印刷される（９０３）。このように、連続紙に対して、２ｉｎ１が指定された場合は、ロール紙の幅方向に２ページが印刷される。
【００８６】
図６及び図１０を用いて、印刷ジョブ５０７、印刷ジョブ５０８、印刷ジョブ５０９の順でジョブが投入された場合の印刷処理の流れを説明する。本実施形態では、前処理によって、印刷ジョブ５０７は、印刷ジョブ格納用低速スプーラ５０７からオン・ザ・フライ印刷が可能と判断され、図６に示すように印刷ジョブ格納用低速スプーラ５０７に保存される。また、印刷ジョブ５０８は、印刷データ格納用低速スプーラ４０９からのＲｅａｄによって印刷データを供給すればよいと判断され、図６に示すように印刷データ格納用低速スプーラ４０９に保存される。印刷ジョブ５０９は、印刷データ格納用高速スプーラ４１０からのＲｅａｄによって印刷データを供給すればよいと判断され、印刷データ格納用高速スプーラ４１０に保存される。印刷処理が開始されると、ジョブ制御部４０１は、印刷データの供給指示によって、印刷ジョブ５０７の１ページ目のＲＩＰを開始するように画像処理部４０３に指示を出し、画像処理部４０３は、指示に基づいてＲＩＰを行う（Ｓ１００１）。ジョブ制御部４０１は、画像処理部４０３に対して、ＲＩＰが終わり次第プリンタエンジン送信部４０５に印刷データを送るように指示する。画像処理部４０３は、ＲＩＰが終わると印刷データをプリンタエンジン送信部４０５へ送り、プリンタエンジン送信部４０５は、印刷データをエンジンバッファに書込む処理を行う（Ｓ１００２）。エンジンバッファに空きがあると、ジョブ制御部４０１は、続いて印刷データの供給指示によって、印刷ジョブ５０７の２ページ目のＲＩＰを開始するように画像処理部４０３に指示を出し、画像処理部４０３は、指示に基づいてＲＩＰを行う（Ｓ１００３）。ジョブ制御部４０１は、画像処理部４０３に対して、ＲＩＰが終わり次第プリンタエンジン送信部４０５に印刷データを送るように指示する。画像処理部４０３は、ＲＩＰが終わると印刷データをプリンタエンジン送信部４０５へ送り、プリンタエンジン送信部４０５は、印刷データをエンジンバッファに書込む処理を行う（Ｓ１００４）。エンジンバッファに空きがあると、ジョブ制御部４０１は、続いて印刷データの供給指示によって、印刷ジョブ５０７の３ページ目のＲＩＰを開始するように画像処理部４０３に指示を出し、画像処理部４０３は、指示に基づいてＲＩＰを行う（Ｓ１００５）。画像処理部４０３は、ＲＩＰが終わると印刷データをプリンタエンジン送信部４０５へ送り、プリンタエンジン送信部４０５は、印刷データをエンジンバッファに書込む処理を行う（Ｓ１００６）。
【００８７】
ここで、エンジンバッファに空きがなくなるか指定数以上の印刷データが格納されると、エンジン制御部２０７は、印刷ジョブを印刷する処理を開始する（Ｓ１００７）。本実施形態では、３ページ分の印刷データがエンジンバッファに書き込まれると、上述した印刷ユニットによる印刷を開始し、印刷ジョブ５０７を２部ずつ印刷する。ジョブ制御部４０１は、引き続き印刷ジョブ５０７の４ページ目のＲＩＰを開始するように画像処理部４０３に指示を出し、画像処理部４０３は、指示に基づいてＲＩＰを行う（Ｓ１００８）。
【００８８】
ここで、エンジン制御部２０７は、印刷ジョブ５０７の１ページ目の印刷が終わると、エンジンバッファに空きが出たことを通知する（Ｓ１００９）。ジョブ制御部４０１は、エンジンバッファに空きが出たという通知を受け取ると、ＲＩＰを実行中の画像処理部４０３に対して、ＲＩＰが終わり次第プリンタエンジン送信部４０５に印刷データを送るように指示する。画像処理部４０３は、ＲＩＰが終わると印刷データをプリンタエンジン送信部４０５へ送り、プリンタエンジン送信部４０５は、印刷データをエンジンバッファに書込む処理を行う（Ｓ１０１０）。ジョブ制御部４０１は、印刷ジョブ５０７の２ページ目の印刷が完了し、エンジンバッファに空きが出たという通知を受け取ると、印刷データ格納部４０４に対して、印刷ジョブ５０８の１ページ目の印刷データをＲｅａｄするように指示を出す（Ｓ１０１１）。これは、印刷ジョブ５０８は、予めＲＩＰされて印刷データ格納用低速スプーラ４０９に印刷データとして格納していたためである。印刷データ格納用低速スプーラ４０９の印刷データを印刷データ格納部４０４にＲｅａｄするだけで、エンジンバッファに印刷ジョブ５０８の印刷データを供給できる。ジョブ制御部４０１は、プリンタエンジン送信部４０５から印刷ジョブ５０８の４ページ目の印刷データの書込み終了通知を受け取ると、印刷データ格納部４０４に対して、プリンタエンジン送信部４０５へ印刷データを送信するように指示を出す（Ｓ１０１２）。以降の処理も同様に、ジョブ制御部４０１は、エンジンバッファに空きが出れば、印刷データ格納用低速スプーラ４０９の印刷データを印刷データ格納部４０４にＲｅａｄし、Ｒｅａｄが終わり次第エンジンバッファに印刷データを書き込むように指示する。以上のように、ＲＩＰあるいは印刷データをＲｅａｄすることで、ロール紙の印刷が停止しないように印刷データを供給することができる。
【００８９】
以上のように、低速だがコストが小な構成で提供可能な低速スプーラと高速だがコストが大な構成で提供可能な高速スプーラを組合せてデータ保存場所を制御することで、可能な限り印刷を続けることが可能となる。
【００９０】
印刷ジョブをスプールするかどうかの判断をジョブ全体の印刷とＲＩＰにかかる時間を元に判断する手法を提供することを目的とする。さらに、印刷に間に合うのにより適した構成である、コスト小で大容量だが低速のスプーリング手段と、コスト大で小容量だが高速のスプーリング手段を組み合わせたスプーリング手法を提供することを目的とする。
【００９１】
（実施形態２）
本実施形態では、スプーラの空き容量が不足していた場合、及び印刷が間にあわない場合を考慮する。なお、実施形態１と同様の構成については、説明を省略する。
【００９２】
図１１を用いて、図１に示す画像形成装置１００における処理の流れの一例について説明する。図１１は、印刷ジョブを受信して印刷する直前までに行われる前処理の流れを説明するフローチャートである。このフローチャートは、ＣＰＵ２０１が、ＲＯＭ２０２またはＨＤＤ２０４に格納されている制御プログラムをＲＡＭ２０３にロードし、それを実行することにより行われる処理の流れを示す。なお、印刷処理の流れは実施形態１と同様であるため説明を省略する。
【００９３】
前処理は、印刷ジョブが印刷ジョブ格納用低速スプーラ４０７に投入されると開始される。前処理が開始されると、ジョブ制御部４０１は、画像処理部４０３に対して投入された印刷ジョブに対して印刷データを作成するＲＩＰを行うように指示する（Ｓ１１０１）。画像処理部４０３は、ジョブ制御部４０１からの指示に応じて、印刷ジョブをＲＩＰする。さらに、画像処理部４０３は、ＲＩＰに要した時間や印刷時に必要なパラメータを取得し、その結果をジョブ制御部４０１に返す。さらに、ジョブ制御部４０１は、画像処理部４０３から受け取った結果を印刷予測テーブル４１１に初期値として設定する。
【００９４】
ジョブ制御部４０１は、印刷予測テーブル４１１から印刷までの許容時間５０６を取得する処理を行う（Ｓ１１０２）。
【００９５】
ジョブ制御部４０１は、対象の印刷ジョブの印刷処理開始の指示のタイミングで、印刷ジョブ格納用低速スプーラ４０７から印刷ジョブを読み出してＲＩＰした場合印刷に間に合うかどうかを判断する処理を行う（Ｓ１１０３）。
【００９６】
Ｓ１１０３において、オン・ザ・フライ印刷で間に合うと判断されると（Ｓ１１０３でＹＥＳ）、ジョブ制御部４０１は、印刷予測テーブル４１１を更新する処理を行う（Ｓ１１１４）。すなわち、印刷ジョブにＲＩＰを実行せずに、処理を終了する。
【００９７】
Ｓ１１０３において、印刷に間に合わないと判断されると（Ｓ１１０３でＮＯ）、ジョブ制御部４０１は、印刷ジョブ格納用高速スプーラ４０８から印刷ジョブを読み出してＲＩＰした場合印刷に間に合うかどうかを判断する処理を行う（Ｓ１１０４）。
【００９８】
Ｓ１１０４において、オン・ザ・フライ印刷で間に合うと判断されると（Ｓ１１０４でＹＥＳ）、ジョブ制御部４０１は、印刷ジョブ格納用高速スプーラ４０８に空き容量が存在するかどうかを判断する処理を行う（Ｓ１１０５）。
【００９９】
Ｓ１１０５において、空き容量が存在すると判断されると（Ｓ１１０５でＹＥＳ）、ジョブ制御部４０１は、印刷ジョブを印刷ジョブ格納用低速スプーラ４０７から印刷ジョブ格納用高速スプーラ４０８に移す処理を行う（Ｓ１１０６）。その後、ジョブ制御部４０１は、印刷予測テーブル４１１を更新する処理を行う（Ｓ１１１４）。
【０１００】
Ｓ１１０５において、空き容量が存在しないと判断されると（Ｓ１１０５でＮＯ）、Ｓ１１０８へ進む。
【０１０１】
Ｓ１１１４において、オン・ザ・フライ印刷で間に合わないと判断されると（Ｓ１１０４でＮＯ）、ジョブ制御部４０１は、ＲＩＰ済みの印刷データを印刷データ格納用低速スプーラ４０９から読み出すことで印刷に間に合うかどうかを判断する処理を行う。すなわち、ＲＩＰ済みの印刷データを印刷データ格納用低速スプーラ４０９に保存しておき、印刷時に読み出すことで印刷に間に合うかどうかを判断する処理を行う（Ｓ１１０７）。
【０１０２】
Ｓ１１０７において、印刷に間に合うと判断されると（Ｓ１１０７でＹＥＳ）、Ｓ１１０８へ進む。
【０１０３】
Ｓ１１０８では、ジョブ制御部４０１は、印刷データ格納用低速スプーラ４０９に空き容量があるかどうかを判断する処理を行う。
【０１０４】
Ｓ１１０８において、空き容量が存在すると判断されると（Ｓ１１０８でＹＥＳ）、ジョブ制御部４０１は、印刷データ格納部４０４に印刷データを印刷データ格納用低速スプーラ４０９に保存するように指示する（Ｓ１１０９）。
【０１０５】
印刷データ用低速スプーラからの読み出しで印刷に間に合わないと判断されるか（Ｓ１１０７でＮＯ）、印刷データ用低速スプーラに空き容量が存在しないと判断されると（Ｓ１１０８でＮＯ）、Ｓ１１１０へ進む。Ｓ１１１０では、ジョブ制御部４０１は、印刷データ格納用高速スプーラ４１０に空き容量があるかどうかを判断する処理を行う。
【０１０６】
Ｓ１１１０において、空き容量が存在すると判断されると（Ｓ１１１０でＹＥＳ）、ジョブ制御部４０１は、以前に処理した印刷ジョブの処理結果が印刷データ格納用高速スプーラ４１０に保存されたかどうかを判断する処理を行う（Ｓ１１１１）。
【０１０７】
印刷データ格納用高速スプーラ４１０に保存されていたと判断されると（Ｓ１１１１でＹＥＳ）、ジョブ制御部４０１は、印刷データを印刷データ格納用高速スプーラ４１０から読み出すことで印刷に間に合うかどうかを判断する処理を行う（Ｓ１１１２）。
【０１０８】
印刷データ用高速スプーラからの読み出しで印刷に間に合うと判断されると（Ｓ１１１２でＹＥＳ）、ジョブ制御部４０１は、印刷データ格納部４０４に印刷データを印刷データ格納用高速スプーラ４１０に保存するように指示する（Ｓ１１１３）。
【０１０９】
Ｓ１１１１で、印刷データ格納用高速スプーラ４１０に保存されていないと判断されると（Ｓ１１１１でＮＯ）、ジョブ制御部４０１は、以前のジョブをより高速なスプーラに移し、印刷予測テーブル４１１を更新する処理を行う（Ｓ１１１５）。ここでいう「より高速なスプーラに移動」とは、上述したＲＩＰ時間を短くすることができるスプーラに保存することを指す。すなわち、スプーラからの読み出し速度が速いものが必ずしもより高速なスプーラではない。具体的には、本実施形態では、印刷ジョブ格納用高速スプーラ４０８は、印刷ジョブ格納用低速スプーラ４０７よりも高速なスプーラであり、印刷データ格納用低速スプーラ４０９は、印刷ジョブ格納用高速スプーラ４０８よりも高速なスプーラとする。また、印刷データ格納用高速スプーラ４１０は、印刷データ格納用低速スプーラ４０９よりも高速なスプーラである。例えば、以前の印刷ジョブが印刷データ格納用低速スプーラ４０９に保存されていた場合は、印刷データ格納用高速スプーラ４１０に移す。なお、以前の印刷ジョブが印刷ジョブ格納用高速スプーラ４０８に保存されていた場合は、画像処理部４０３でＲＩＰを行って、印刷データ格納用高速スプーラ４１０に保存してもよい。また、印刷データ格納用低速スプーラ４０９に空きがある場合は印刷データ格納用低速スプーラ４０９に保存してもよい。
【０１１０】
ジョブ制御部４０１は、以前に処理した印刷ジョブをより高速なスプーラに移すことに成功したかどうか、さらにはより高速なスプーラに移すことにより印刷までの許容時間５０６が増えるかどうかを判断する処理を行う（Ｓ１１１６）。
【０１１１】
Ｓ１１１６において、印刷までの許容時間５０６が増えると判断された場合（Ｓ１１１６でＹＥＳ）、ジョブ制御部４０１は、ステップＳ１１０２に戻り、もう一度印刷までの許容時間５０６を取得し直す処理を行う。すなわち、ジョブ制御部４０１は、どのスプーラに保存すれば、印刷が間にあうかについてもう一度判断することになる。
【０１１２】
Ｓ１１１０において、空き容量が存在しないと判断されると（Ｓ１１１０でＮＯ）、ジョブ制御部４０１は、ＵＩ制御部４０６を通して印刷に間に合わないことをユーザに通知するように指示する処理を行う（Ｓ１１１７）。これにより、例えば、操作ユニット１１５に印刷が間に合わないことを表示したり、音声通知等をすることで、ユーザに印刷に間に合わないことをユーザに通知する。ジョブ制御部４０１は、印刷に間に合わないと判断された場合（Ｓ１１１２でＮＯ）、及び印刷までの許容時間５０６が増えないと判断された場合（Ｓ１１１６でＮＯ）も、Ｓ１１１７で同様の処理を行う。
【０１１３】
図１２（ａ）（ｂ）（ｃ）の印刷予測テーブル４１１の例を用いて、図１１の前処理の流れを具体的に説明する。
【０１１４】
図１２に示す例では、実施形態１と同様に、Ａ４サイズには１ページあたり８０の印刷時間がかかるものとして説明する。また、Ａ４サイズの印刷データを印刷データ格納用低速スプーラ４０９から読み出すのには１１０の時間がかかり、印刷データ格納用高速スプーラ４１０から読み出すには５０の時間がかかるとして説明する。また、印刷ジョブ格納用高速スプーラ４０８からＲＩＰすると印刷ジョブ格納用低速スプーラ４０７からＲＩＰするのに比べて２０％高速になるものとする。また、エンジンバッファに３ページまで印刷データをためてから印刷開始するものとし、エンジンバッファには４ページまで印刷データをためることが可能として説明する。
【０１１５】
まず、図１２（ａ）の印刷予測テーブル４１１を用いて、２つの印刷ジョブ１２０１と印刷ジョブ１２０２に対して行われる前処理の流れを具体的に説明する。
【０１１６】
ジョブ制御部４０１は、印刷ジョブ１２０１に対して、印刷ジョブ格納用低速スプーラ４０７からのオン・ザ・フライ印刷で間にあうかどうかを判断する処理（Ｓ１１０３）を行う。
【０１１７】
印刷ジョブ１２０１は、印刷ジョブ番号５０１が００００２００１で、図１２（ａ）の１２０３に示すように、１ページ目のＲＩＰ時間５０３に３００、２ページ目に３３０、３ページ目に３１０、４ページ目に４７０かかる。また、印刷ジョブ１２０１は、ＲＩＰの結果得られる印刷データの画像サイズ５０４はＡ４サイズであり、１ｉｎ１で１ページを２部ずつ片面印刷する（印刷方式５０５参照）。印刷ジョブ１２０１は、印刷までの許容時間５０６は、図１２（ａ）の１２０４に示すように、１ページ目から３ページ目までＮＡ、４ページ目から４８０である。実施形態１と同様に、印刷までの許容時間５０６に制限を設ける必要がない場合は、印刷予測テーブル４１１にＮＡのマークを付けている。印刷ジョブ１２０１の印刷までの許容時間５０６は、４ページ目については４８０となっているが、この４８０は１ページ目から３ページ目までが印刷されるまでの時間を示しており、４８０の期間までに印刷データを供給できれば、印刷が止まらずに済む。図１２（ａ）の１２０３に示すように、印刷ジョブ１２０１の４ページ目のＲＩＰ時間は４７０とあるので、印刷までの許容時間５０６が４８０に対して間に合う。
【０１１８】
したがって、Ｓ１１０３において印刷ジョブ用低速スプーラから印刷ジョブを読み出すオン・ザ・フライ印刷で間に合うと判断される（Ｓ１１０３でＹＥＳ）、印刷ジョブ１２０１は印刷ジョブ格納用低速スプーラ４０７からのオン・ザ・フライ印刷となる。
【０１１９】
続いて、ジョブ制御部４０１は、印刷ジョブ１２０２に対して、印刷ジョブ格納用低速スプーラ４０７からのオン・ザ・フライ印刷で間にあうかどうかを判断する処理（Ｓ１１０３）を行う。
【０１２０】
印刷ジョブ１２０２は、印刷ジョブ番号５０１が００００２００２で、１ページ目のＲＩＰ時間５０３が２２０、２ページ目のＲＩＰ時間５０３が２００、３ページ目のＲＩＰ時間５０３が１９０、４ページ目のＲＩＰ時間５０３が１５０である。また、印刷ジョブ１２０２は、ＲＩＰの結果得られる印刷データの画像サイズ５０４はＡ４サイズであり、１ｉｎ１で１ページを１部ずつ片面印刷する（印刷方式５０５参照）。そして、印刷ジョブ１２０２の印刷までの許容時間５０６は、１ページ目が１７０となっている（図１２（ａ）の１２０６）。印刷ジョブ１２０１の４ページまでは４８０の許容時間があったが、４ページ目をＲＩＰするのに４７０かかる。そして、４ページ目を２部印刷する時間を加えても、印刷までの許容時間５０６が（４８０−４７０）＋（８０×２）の合計１７０となる。印刷ジョブ１２０２は、１ページ目のＲＩＰ時間５０３が２２０であるため、印刷までの許容時間５０６の１７０よりも大きくなってしまう。
【０１２１】
よって、ジョブ制御部４０１は、印刷ジョブ用低速スプーラからのオン・ザ・フライ印刷で間にあわないと判断し（Ｓ１１０３でＮＯ）、印刷ジョブ格納用高速スプーラ４０８からのオン・ザ・フライ印刷で間に合うかどうかを判断する処理を行う（Ｓ１１０４）。
【０１２２】
印刷ジョブ１２０２は、１ページ目のＲＩＰ時間５０３に２２０かかるため、２０％高速になったとしてもＲＩＰ時間５０３は１７６であり、印刷までの許容時間５０６の１７０よりも大きくなってしまう。したがって、ジョブ制御部４０１は、印刷ジョブ格納用高速スプーラ４０８からのオン・ザ・フライ印刷では印刷が間にあわないと判断する（Ｓ１１０４でＮＯ）。
【０１２３】
ジョブ制御部４０１は、印刷予測テーブル４１１のＲＩＰ時間５０３に印刷データ格納用低速スプーラ４０９からのＲｅａｄ時間をあてはめて、印刷データ格納用低速スプーラ４０９から印刷データを供給する方法で印刷が間に合うかどうかを判断する（Ｓ１１０７）。
【０１２４】
図１２（ｂ）に示すように、印刷ジョブ１２０２の各ページは、いずれもＡ４であるためＲＩＰ時間は１１０となる。すなわち、１ページ目のＲＩＰ時間５０３は２２０→１１０、２ページ目のＲＩＰ時間５０３は２００→１１０、３ページ目のＲＩＰ時間５０３は１９０→１１０、４ページ目のＲＩＰ時間５０３は１５０→１１０となる（１２０７）。印刷ジョブ１２０２の印刷までの許容時間５０６は、１ページ目が１７０、２ページ目が１４０、３ページ目が１１０、４ページ目が８０である（図１２（ｂ）の１２０８参照）。したがって、印刷データ格納用低速スプーラ４０９から印刷データを読み出せば、全てのページで印刷データの供給が間にあう。なお、印刷ジョブ１２０２の１ページ目の印刷までの許容時間５０６は、印刷ジョブ１２０１の４ページまでは印刷までの許容時間５０６が４８０あるが、４ページ目をＲＩＰするのに４７０かかること及び４ページ目を２部印刷する時間を考慮することで求められる。具体的には、印刷までの許容時間５０６は、（４８０−４７０）＋（８０×２）の合計１７０となる。印刷ジョブ１２０２の２ページ目の印刷までの許容時間５０６は、印刷ジョブ１２０１の１ページ目の印刷までの許容時間５０６は１７０あるが、印刷データの供給に１１０かかること、及び１ページ目を１部印刷する時間を考慮して求められる。具体的には、印刷ジョブ１２０２の２ページ目の印刷までの許容時間５０６は、（１７０−１１０）＋８０の合計１４０となる。３ページ目及び４ページ目も同様の考え方で印刷までの許容時間５０６を求めると、それぞれ１１０、８０となる。印刷ジョブ１２０２は、４ページ目のＲＩＰ時間５０３が１１０であるため、４ページ目の印刷までの許容時間５０６の８０よりも大きくなってしまう。
【０１２５】
したがって、ジョブ制御部４０１は、印刷が間にあわないと判断し（Ｓ１１０７でＮＯ）、印刷データ格納用高速スプーラ４１０に空き容量があるかどうかを判断する処理を行う（Ｓ１１１０）。ここでは、印刷データ格納用高速スプーラ４１０に空き容量があるもの（Ｓ１１１０でＹＥＳ）として説明を続ける。
【０１２６】
印刷データ格納用高速スプーラ４１０に空き容量があるので、ジョブ制御部４０１は、以前の印刷ジョブが印刷データ格納用高速スプーラ４１０に保存されているかを判断する処理を行う（Ｓ１１１１）。具体的には、ジョブ制御部４０１は、印刷ジョブ１２０１が印刷データ格納用高速スプーラ４１０に保存されているかどうかを確認する。印刷ジョブ１２０１は、印刷ジョブ格納用低速スプーラ４０７に保存されているため、印刷データ格納用高速スプーラ４１０に保存されていないと判断される（Ｓ１１１１でＮＯ）。
【０１２７】
したがって、ジョブ制御部４０１は、以前の印刷ジョブ（印刷ジョブ１２０１）を別のより高速なスプーラに移動し、印刷予測テーブルを更新する処理を行う（Ｓ１１１５）。ここでは、より高速なスプーラとして印刷データ格納用低速スプーラ４０９を選択したものとして説明を続ける。なお、より高速なスプーラとして印刷ジョブ格納用高速スプーラ４０８を選択してもよいし、印刷データ格納用高速スプーラ４１０を選択してもよい。どのスプーラを選択するかは、予め決定した優先度に従って静的に決めてもよいし、空き容量に応じて動的に決めてもよい。また、複数の候補が存在する場合は、全てのスプーラに保存する場合を試した上で、印刷までの許容時間を満たす中で空き容量が大きいものを選択してもよい。
【０１２８】
印刷ジョブ１２０１は、ＲＩＰしてＲＩＰ済みデータを印刷データ格納用低速スプーラ４０９に移動することで、１ページ目のＲＩＰ時間５０３が３００→１１０となる。また、２ページ目のＲＩＰ時間５０３が３３０→１１０、３ページ目のＲＩＰ時間５０３が３１０→１１０、４ページ目のＲＩＰ時間が４７０→１１０となる（１２０９）。
【０１２９】
そして、ジョブ制御部４０１は、前のジョブである印刷ジョブ１２０１を別のスプーラである印刷データ格納用低速スプーラ４０９に移動することで印刷までの許容時間５０６が増えるかどうかを判断する処理を行う（Ｓ１１１６）。印刷までの許容時間５０６は、印刷ジョブ１２０１の４ページ目までの印刷までの許容時間５０６が４８０であり、４ページ目の印刷データの供給に１１０で済む。したがって、４ページ目を２部印刷する時間を考慮すると、印刷ジョブ１２０２の１ページの印刷までの許容時間５０６は、（４８０−１１０）＋（８０×２）の合計５３０となる。したがって、印刷までの許容時間５０６は１７０から５３０へと増えると判断される（Ｓ１１１６でＹＥＳ）。その結果、ジョブ制御部４０１は、印刷ジョブ１２０２に対して、印刷ジョブ格納用低速スプーラ４０７からのオン・ザ・フライ印刷で間にあうかどうかを判断する処理（Ｓ１１０３）を行う。
【０１３０】
印刷ジョブ１２０２は、１ページ目のＲＩＰに２２０かかるが（１２１０）、印刷までの許容時間５０６が５３０あるため（１２１１）、１ページ目についてはオン・ザ・フライ印刷できると判断される。２ページ目の印刷までの許容時間５０６は、１ページ目の印刷までの許容時間５０６が５３０に対してＲＩＰに２２０かかり、１ページ目の印刷に要する時間８０を加えると、（５３０−２２０）＋８０の合計３９０となる。したがって、２ページ目についてはオン・ザ・フライ印刷できると判断される。同様にして、３ページ目及び４ページ目の印刷までの許容時間５０６は、それぞれ２７０、１６０となる。３ページ目のＲＩＰに１９０かかるが、印刷までの許容時間５０６が２７０あるため、３ページ目についてはオン・ザ・フライ印刷できると判断される。同様に、４ページ目のＲＩＰに１５０かかるが、印刷までの許容時間５０６が１６０あるため、４ページ目についてはオン・ザ・フライ印刷できると判断される。以上の結果、印刷ジョブ１２０２は、印刷ジョブ格納用低速スプーラ４０７からのオン・ザ・フライ印刷で間にあうと判断される（Ｓ１１０３でＹＥＳ）。
【０１３１】
以上より、印刷ジョブ１２０１は、予めＲＩＰ処理して印刷データ格納用低速スプーラ４０９に保存し、印刷ジョブ１２０２は、印刷ジョブ格納用低速スプーラ４０７に保存したままとすればよいと判断する。これにより、ジョブ制御部４０１は、印刷ジョブ１２０２のために印刷データ格納用高速スプーラ４１０を使用せずに済み、スプーラの容量を消費せずに印刷に間に合わせることが可能となる。これにより、印刷ジョブ１２０２に続く印刷ジョブがＲＩＰに時間を要する場合に、印刷データ格納用高速スプーラ４１０の空き容量を確保できる。
【０１３２】
本実施形態では、スプーラに空きがある場合、前の印刷ジョブ又は前の印刷ジョブに基づく印刷データをより高速なスプーラに移動させて、印刷許容時間が多くなるようにする。これにより、所定の印刷ジョブがより高速なスプーラを使用せずに済み、高速なスプーラの容量を消費せずに、印刷の停止を抑制することができる。そして、所定の印刷ジョブ以降の印刷ジョブのＲＩＰのために、高速なスプーラを空けておくことができる。これにより、印刷の停止をより確実に抑制することができる。
【０１３３】
また、本実施形態では、印刷が間に合わない場合ユーザに通知することにより、ユーザは、印刷が停止しないように印刷実行前に印刷ジョブの並び替えを行ったり、印刷開始前にエンジンバッファにためる印刷データの量を増やすように変更したりすることができる。
【０１３４】
（実施形態３）
本実施形態では、印刷中にロール紙が不足した場合や紙ジャムが発生した場合の再印刷について説明する。なお、実施形態１と同様の構成については、説明を省略する。
【０１３５】
図１３を用いて、図１に示す画像形成装置１００における処理の流れの一例について説明する。図１３は、印刷中に何らかの原因で印刷が停止した場合について、再開処理の流れを説明するフローチャートである。このフローチャートは、ＣＰＵ２０１が、ＲＯＭ２０２またはＨＤＤ２０４に格納されている制御プログラムをＲＡＭ２０３にロードし、それを実行することにより行われる処理の流れを示す。なお、印刷処理の流れは実施形態１と同等であるため、説明を省略する。
【０１３６】
以下に示す再開処理は、印刷するジョブの順番が変更になった場合も同様のフローにより実現できる。
【０１３７】
再開処理は、印刷停止後、又は、印刷スケジュールの変更後、印刷するジョブの順番が確定すると開始される。再開処理が開始されると、ジョブ制御部４０１は、印刷予測テーブル４１１を更新する処理を行う（Ｓ１３０１）。
【０１３８】
ジョブ制御部４０１は、印刷予測テーブル４１１から印刷までの許容時間５０６を取得して、全ての印刷ジョブが印刷に間に合うか判断する（Ｓ１３０２）。具体的には、全ての印刷ジョブについて、ＲＩＰにかかる時間が印刷までの許容時間５０６の範囲内かどうかを判断する処理を行う。
【０１３９】
Ｓ１３０２において、ＲＩＰにかかる時間が印刷までの許容時間５０６の範囲内と判断されると（Ｓ１３０２でＹＥＳ）、ジョブ制御部４０１は、全てのジョブが印刷に間に合うと判断し、処理を終了する。
【０１４０】
Ｓ１３０２において、ＲＩＰにかかる時間が印刷までの許容時間５０６の範囲外と判断されると（Ｓ１３０２でＮＯ）、ジョブ制御部４０１は、ＲＩＰにかかる時間が印刷までの許容時間５０６の範囲外にある印刷ジョブを特定する処理を行う（Ｓ１３０３）。
【０１４１】
次に、ジョブ制御部４０１は、最初に印刷する印刷ジョブから、特定された印刷に間に合わない（印刷までの許容時間５０６の範囲外にある）印刷ジョブまでの印刷ジョブを高速なスプーラに変更することで印刷に間に合うようになるかを判断する（Ｓ１３０４）。
【０１４２】
Ｓ１３０４において、高速なスプーラに変更しても印刷に間に合わないと判断されると（Ｓ１３０４でＮＯ）、ジョブ制御部４０１は、ＵＩ制御部４０６を介して印刷に間に合わないことをユーザに通知するように指示する処理を行う（Ｓ１３０９）。
【０１４３】
Ｓ１３０４において、高速なスプーラに変更すると印刷に間に合うと判断されると（Ｓ１３０４でＹＥＳ）、ジョブ制御部４０１は、スプーラに空きがあるかどうかを判断する処理を行う（Ｓ１３０５）。
【０１４４】
Ｓ１３０５において、スプーラに空きがあると判断されると（Ｓ１３０５でＹＥＳ）、ジョブ制御部４０１は、全ての印刷ジョブが印刷に間に合うように、印刷ジョブがスプールされている場所（印刷ジョブのスプール領域）を変更する処理を行う（Ｓ１３０８）。具体的には、印刷ジョブ又は印刷ジョブに基づく印刷データをより高速なスプーラに保存するように変更する。より高速なスプーラに変更する際の変更方法は、特に限定されず、可能な限り高速なスプーラから使用するように変更してもよいし、空き容量が大であるスプーラから使用するように変更してもよい。また、使用するスプーラをユーザに選択させてもよい。
【０１４５】
Ｓ１３０５において、高速なスプーラに空きがないと判断されると（Ｓ１３０５でＮＯ）、ジョブ制御部４０１は、印刷ジョブを削除することで高速なスプーラの空き容量が確保できるかを判断する処理を行う（Ｓ１３０６）。具体的には、ジョブ制御部４０１は、印刷に間に合わない印刷ジョブから最後の印刷ジョブまでの中で印刷開始が遅い印刷ジョブから１以上の印刷ジョブを削除することで高速なスプーラの空き容量が確保できるかを判断する処理を行う。
【０１４６】
Ｓ１３０６において、印刷ジョブを削除しても空き容量が確保できないと判断されると（Ｓ１３０６でＮＯ）、ジョブ制御部４０１は、ＵＩ制御部４０６を通して印刷に間に合わないことをユーザに通知するように指示する処理を行い（Ｓ１３０９）、処理を終了する。
【０１４７】
Ｓ１３０６において、印刷ジョブを削除すると空き容量が確保できると判断されると（Ｓ１３０６でＹＥＳ）、ジョブ制御部４０１は、空き容量が確保できるまで、印刷開始が遅い印刷ジョブから順にスプーラから削除する処理を行う（Ｓ１３０７）。そして、ジョブ制御部４０１は、空き容量を確保すると、印刷ジョブのスプール場所を変更する処理を行う（Ｓ１３０８）。
【０１４８】
ジョブ制御部４０１は、Ｓ１３０８において印刷ジョブのスプール場所を変更すると、ステップＳ１３０１に戻り、印刷予測テーブルを更新する処理を行う。
【０１４９】
このようにして、ジョブ制御部４０１は、全てのジョブが印刷に間に合うようになるか、高速なスプーラを使用できなくなって印刷に間に合わないことが確定するまでＳ１３０１からＳ１３０８を繰り返す。
【０１５０】
図１４（ａ）（ｂ）（ｃ）の印刷予測テーブル４１１の例を用いて、図１３の再開処理の流れを具体的に説明する。
【０１５１】
図１４では、実施形態１と同様に、Ａ４サイズには１ページあたり８０の印刷時間がかかるものとして説明する。また、Ａ４サイズの印刷データを印刷データ格納用低速スプーラ４０９から読み出すのには１１０の時間がかかり、印刷データ格納用高速スプーラ４１０から読み出すには５０の時間がかかるとして説明する。また、印刷ジョブ格納用高速スプーラ４０８からＲＩＰすると印刷ジョブ格納用低速スプーラ４０７からＲＩＰするのに比べて２０％高速になるものとする。また、エンジンバッファに３ページまで印刷データをためてから印刷開始するものとし、エンジンバッファには４ページまで印刷データをためることが可能として説明する。
【０１５２】
まず、図１４（ａ）の印刷予測テーブル４１１を用いて、４つの印刷ジョブ１４０１、印刷ジョブ１４０２、印刷ジョブ１４０３と印刷ジョブ１４０４に対して行われる再開処理の流れを具体的に説明する。ここでは、実施形態１又は実施形態２で説明した前処理を行い、図１４（ａ）に示す印刷予測テーブル４１１を得て、印刷が開始された後に印刷ジョブ１４０２の１ページ目の印刷中に紙ジャムが発生して、印刷が停止した場合について説明する。
【０１５３】
印刷ジョブ１４０１は、全てのページでＲＩＰ時間５０３に１６０かかる（１４０５参照）。また、印刷ジョブ１４０１は、ＲＩＰの結果得られる印刷データの画像サイズ５０４はＡ４サイズであり、１ページを２部ずつ印刷することが設定されている。印刷ジョブ１４０１は、印刷までの許容時間５０６が、１ページ目から３ページ目までＮＡ、４ページ目から４８０となっている（１４０６参照）。上述した通り、印刷までの許容時間５０６に制限を設ける必要がない場合は、印刷予測テーブル４１１にＮＡのマークを付けている。印刷ジョブ１４０１の４ページ目のＲＩＰ時間は１６０であり、印刷までの許容時間５０６である４８０よりも小さいため、印刷が間に合う。
【０１５４】
続いて、印刷ジョブ１４０２は、全てのページでＲＩＰ時間５０３に１２０かかる（１４０７参照）。また、印刷ジョブ１４０２は、ＲＩＰの結果得られる印刷データの画像サイズ５０４はＡ４サイズであり、１ページを１部ずつ印刷することが設定されている（１４０７参照）。印刷ジョブ１４０２は、印刷までの許容時間５０６が、１ページ目、２ページ目、３ページ目、４ページ目がそれぞれ、４８０、４４０、４００、３６０となっている（１４０８参照）。このように、ＲＩＰにかかる時間は１２０であるの対して、１ページを印刷する時間は８０であるため、１ページ印刷する毎に印刷までの許容時間５０６が４０ずつ減っていく。印刷ジョブ１４０２の全てのページでＲＩＰにかかる時間は、印刷までの許容時間５０６の範囲内であるため、印刷に間に合う。
【０１５５】
続いて、印刷ジョブ１４０３は、全てのページでＲＩＰ時間５０３に１６０かかる。また、印刷ジョブ１４０３は、ＲＩＰの結果得られる印刷データの画像サイズ５０４はＡ４サイズであり、１ページを２部ずつ印刷するように設定されている（１４０９参照）。印刷ジョブ１４０３は、印刷までの許容時間５０６が、１ページ目から４ページ目まで、全て３２０となっている（１４１０参照）。このように、ＲＩＰにかかる時間は１６０であるの対して、１ページを２部印刷する時間は１６０であるため、印刷までの許容時間５０６は変わらない。印刷ジョブ１４０３の全てのページでＲＩＰにかかる時間は、印刷までの許容時間５０６の範囲内であるため、印刷に間に合う。
【０１５６】
続いて、印刷ジョブ１４０４は、全てのページでＲＩＰ時間５０３に１２０かかる。また、印刷ジョブ１４０４は、ＲＩＰの結果得られる印刷データの画像サイズ５０４がＡ４サイズであり、１ページを１部ずつ印刷する設定となっている（１４１１参照）。印刷ジョブ１４０４は、印刷までの許容時間５０６が１ページ目、２ページ目、３ページ目、４ページ目がそれぞれ、２８０、２４０、２００、１６０となっている（１４１２参照）。このように、ＲＩＰにかかる時間は１６０であるの対して、１ページを印刷するのには８０であるため、１ページ毎に４０ずつ印刷までの許容時間５０６が減っていく。印刷ジョブ１４０４の全てのページでＲＩＰにかかる時間は、印刷までの許容時間５０６の範囲内であるため、印刷に間に合う。
【０１５７】
以上のような印刷予測テーブル４１１を得た上で、印刷を開始する。そして、印刷ジョブ１４０１の印刷が完了し、印刷ジョブ１４０２の最初のページを印刷中に紙ジャムが発生すると、再印刷が必要となる。
【０１５８】
印刷する順番が確定すると、ジョブ制御部４０１は、印刷予測テーブル４１１を更新する処理を行う（Ｓ１４０１）。
【０１５９】
図１４（ｂ）は、更新された印刷予測テーブル４１１である。
【０１６０】
印刷予測テーブル４１１において、印刷完了したものは、印刷までの許容時間５０６にＥＮＤが記載される。本実施形態では、印刷ジョブ１４０１は、印刷完了しているため、印刷までの許容時間５０６に、ＥＮＤが記載されている（１４１３）。
【０１６１】
そして、印刷ジョブ１４０２は、再開後に最初に印刷されることになるため、印刷までの許容時間５０６が更新され、１ページ目から３ページ目までＮＡ、４ページ目は２４０となる（１４１４参照）。
【０１６２】
印刷ジョブ１４０３についても同様に、印刷までの許容時間５０６が更新される。印刷ジョブ１４０３は、１ページ目から４ページ目の印刷までの許容時間５０６が全て２００となる（１４１５参照）。印刷ジョブ１４０３の１ページ目は、印刷ジョブ１４０２の４ページ目の印刷までの許容時間５０６が２４０であり、４ページ目のＲＩＰに１２０かかり、印刷に８０かかるため、印刷までの許容時間５０６が４０減って、２００となる。また、印刷ジョブ１４０３のＲＩＰには１６０かかるが、２部印刷のため印刷にかかる時間が１６０であり、印刷にかかる時間内にちょうどＲＩＰが終わるため、２〜４ページにおいて、印刷までの許容時間５０６は変化しない。
【０１６３】
印刷ジョブ１４０４についても同様には、印刷までの許容時間５０６が更新される。印刷ジョブ１４０４は、１ページ目、２ページ目、３ページ目、４ページ目の印刷までの許容時間がそれぞれ、２００、１６０、１２０、８０となる（１４１６）。印刷ジョブ１４０４の１ページ目は、印刷ジョブ１４０３の４ページ目の印刷までの許容時間５０６が２００で、４ページ目を２部印刷すると印刷時間が１６０であり、ＲＩＰ時間も１６０であるため、印刷までの許容時間５０６は変わらずに２００となる。また、印刷ジョブ１４０４のＲＩＰには１２０かかるが、印刷に８０しかかからないため、２ページ目、３ページ目、４ページ目の印刷までの許容時間５０６は、それぞれ１６０、１２０、８０となる。すなわち、印刷ジョブ１４０４の４ページ目の印刷が間に合わない。
【０１６４】
以上の結果から、ジョブ制御部４０１は、印刷ジョブ１４０４の４ページ目の印刷が間に合わないため、全ての印刷ジョブが印刷に間に合わないと判断する（Ｓ１３０２でＮＯ）。Ｓ１３０３では、ＲＩＰにかかる時間が印刷までの許容時間の範囲外にある印刷ジョブとして、印刷ジョブ１４０４を特定する。
【０１６５】
Ｓ１３０４では、ジョブ制御部４０１は、より高速なスプーラを使用することで、印刷に間に合うかどうかを判断する処理を行う。
【０１６６】
図１４（ｃ）は、印刷ジョブ１４０３を印刷ジョブ格納用低速スプーラ４０７からのオン・ザ・フライ印刷から、印刷データ格納用低速スプーラ４０９に保存した場合の印刷予測テーブル４１１を示している。図１４（ｃ）に示すように、印刷ジョブ１４０３をＲＩＰし、ＲＩＰ済みデータを印刷データ格納用低速スプーラ４０９に移すことで、ＲＩＰにかかる時間が１６０から１１０で済む（１４１７参照）。また、印刷にかかる時間が１６０、ＲＩＰにかかる時間が５０減ることにより、１ページ目、２ページ目、３ページ目、４ページ目の印刷までの許容時間５０６はそれぞれ、２００、２５０、３００、３５０と、５０ずつ増加する（１４１８参照）。その結果、印刷ジョブ１４０４は、１ページ目、２ページ目、３ページ目、４ページ目の印刷までの許容時間５０６がそれぞれ、４００、３６０、３２０、２８０となり、印刷に間に合うようになる。
【０１６７】
本実施形態では、上述したように、ジョブ制御部４０１は、１つでも印刷に間に合うスプーラの構成を見つけると、実際により高速なスプーラに空きがあるかどうかを判断する処理（Ｓ１３０５）を行う。実際により高速なスプーラに空きがあると（Ｓ１３０５でＹＥＳ）、印刷ジョブ又は印刷ジョブに基づく印刷データのスプール場所を変更する処理を行う（Ｓ１３０８）。そして、ジョブ制御部４０１は、印刷予測テーブル４１１を元に、全てのジョブが印刷に間にあうかを再度判断し（Ｓ１３０２）、印刷に間に合うと判断すると（Ｓ１３０２でＹＥＳ）、再開処理は終了する。
【０１６８】
本実施形態では、印刷中にロール紙が不足した場合や紙ジャムが発生したりすることで印刷が停止した場合でも、スプール領域のコストを低く抑えつつ、高いスループットを実現することができる。
【０１６９】
本実施形態では、図１４（ｃ）のように印刷ジョブ１４０３のスプール場所を変更した場合について説明したが、別の印刷ジョブのスプール場所を変更してもよい。また、印刷に間に合う条件であれば、印刷データ格納用低速スプーラ４０９ではなく、印刷ジョブ格納用高速スプーラ４０８や印刷データ格納用高速スプーラ４１０などの別のスプーラを選択してもよい。
【０１７０】
（他の実施形態）
本発明は、上述した実施形態に限定されるものではない。例えば、上述した実施形態では、印刷ジョブ毎に同じスプーラを使用するものとしたが、これに限定されず、印刷ジョブのページ毎に異なるスプーラを使用するようにしてもよい。この場合は、印刷ジョブ単位ではなく、ページ単位で（例えば、図７のＳ７０３、Ｓ７０４、Ｓ７０６の）判断を行うようにすればよい。
【０１７１】
上述した実施形態では、印刷ジョブ格納用低速スプーラ４０７、印刷ジョブ格納用高速スプーラ４０８、印刷データ格納用低速スプーラ４０９、印刷データ格納用高速スプーラ４１０を備えるものとしたが、これに限定されるものではない。例えば、印刷ジョブ格納用スプーラと印刷データ格納用スプーラをそれぞれ１ずつ備えるものとしてもよい。この場合は、印刷を実行する印刷ジョブよりも前に実行する印刷ジョブの印刷時間に基づいて、印刷ジョブ格納用スプーラにそのまま保存するか、予めＲＩＰして印刷データ格納用スプーラに保存するかを判定すればよい。また、例えば、印刷ジョブ格納用低速スプーラ４０７、印刷データ格納用低速スプーラ４０９、及び印刷データ格納用高速スプーラ４１０を備え、印刷ジョブ格納用高速スプーラ４０８を備えないものとしてもよい。この場合は、例えば、実施形態１ではＳ７０４及びＳ７０５を実行しない処理フローとすればよい。
【０１７２】
また、印刷ジョブ５０７のように最初に印刷する印刷ジョブの少なくとも一部は、印刷予測テーブル４１１でどんなにＲＩＰに時間がかかってもよいと説明したが、エンジンバッファに早くデータを供給すれば、それだけ早く印刷できる。したがって、最初の印刷ジョブは、より早く印刷データを供給できるスプーラを使用するように決定してもよい。また、説明を簡単にするため同時にＲＩＰできるページを１として説明したが、複数のページを同時にＲＩＰしてもよい。
【０１７３】
上述した実施形態では、１ページ毎に予測を行ったが、これに限定されず、複数ページ毎に予測を行ってもよいし、印刷ジョブ毎に予測を行ってもよい。言い換えれば、所定単位は、１ページであってもよいし、複数ページであってもよいし、印刷ジョブであってもよい。
【０１７４】
上述した実施形態では、予め画像処理部４０３によりＲＩＰ処理を行って、ＲＩＰ時間を特定するものとしたが、これに限定されるものではない。例えば、ＲＩＰ処理を行わず、印刷ジョブのデータサイズや、印刷モード（モノクロモード、カラーモード）、データに含まれるオブジェクトの数等に応じて、ＲＩＰ時間を特定するようにしてもよい。なお、この場合は、全ての印刷ジョブを予め画像処理部４０３でＲＩＰする必要はなく、印刷データ格納用スプーラに保存すると判定された印刷ジョブについてのみ、ＲＩＰ処理を行って、印刷データ格納用スプーラに保存してもよい。
【０１７５】
上述した実施形態では、対象ページの前のページのＲＩＰ時間、対象ページの前のページの印刷までの許容時間、及び対象ページの前のページの印刷時間に基づいて、対象ページの印刷までの許容時間を特定したが、これに限定されるものではない。例えば、さらに、印刷ユニットのメンテナンス時間を考慮してもよい。
【０１７６】
上述した実施形態では、処理装置は画像形成装置としたが、これに限定されず、例えば、画像形成装置にネットワーク等を介して接続されたものであってもよい。この場合は、処理装置は、例えば、印刷までの許容時間及び印刷時間を予測する予測部と、画像処理部と、ＲＩＰ時間を特定する特定部と、印刷データを印刷データ格納手段に格納するか判定する判定部と、を有するものとすればよい。
【０１７７】
上述した画像形成装置は、例えば、印刷機能のみを有するシングルファンクションプリンタであっても良いし、印刷機能、ＦＡＸ機能、スキャナ機能等の複数の機能を有するマルチファンクションプリンタであっても良い。
【０１７８】
また、上述した実施形態では、特に、連続紙に対する連続印刷のスループットを向上させることができるものであり、記録媒体として連続紙を例に挙げて説明したが、これに限定されるものではなく、カット紙を用いても本発明の効果を得ることができる。
【０１７９】
上述した実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウエア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、プログラムは、１つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウエアで実現する必要はなく、処理の一部または全部をＡＳＩＣ等のハードウェアで実現するようにしてもよい。また、ＣＰＵも１つのＣＰＵで全ての処理を行うものに限らず、複数のＣＰＵが適宜連携をしながら処理を行うものとしてもよい。
【符号の説明】
【０１８０】
４０１  ジョブ制御部
４０２  印刷ジョブ受信部
４０３  画像処理部
４０４  印刷データ格納部
４０５  プリンタエンジン送信部
４０６  ＵＩ制御部
４１１  印刷予測テーブル
【図１】
2015231204.tif 000003
【図２】
2015231204.tif 000004
【図３】
2015231204.tif 000005
【図４】
2015231204.tif 000006
【図５】
2015231204.tif 000007
【図６】
2015231204.tif 000008
【図７】
2015231204.tif 000009
【図８】
2015231204.tif 000010
【図９】
2015231204.tif 000011
【図１０】
2015231204.tif 000012
【図１１】
2015231204.tif 000013
【図１２】
2015231204.tif 000014
【図１３】
2015231204.tif 000015
【図１４】
2015231204.tif 000016