(57)【要約】【課題】連続印刷状態を維持できるように各頁の描画処理を完了させることのできる画像形成装置およびプリンタコントローラを提供する。【解決手段】各頁の描画処理に要する描画時間を予測する描画時間予測部２１と、割り当てられた頁の描画処理を印刷頁順に行う順番描画処理部２４と、割り当てられた頁の描画処理を印刷頁順に先行して行う先行描画処理部２３と、各頁の描画処理を順番描画処理部２４と先行描画処理部２３のいずれかに割り当てて実行させる描画処理割り当て部２５と、描画完了頁に関する印刷起動を印刷頁順に画像形成部へ出力する起動部２６とを有し、描画処理割り当て部２５は、割り当て対象頁の描画処理を印刷頁順に行わせた場合のその頁の描画完了時点がその頁を連続印刷モードで印刷させるための起動期限に間に合う場合はその頁の描画処理を順番描画処理部２４に割り当て、間に合わない場合は先行描画処理部２３に割り当てる。【選択図】図１１
2014091240.tif 000002
【特許請求の範囲】
【請求項１】
印刷頁順の定められた複数頁分の印刷データから各頁のイメージデータを作製する描画処理を行いながらその作製されたイメージデータに対応する画像を前記印刷頁順に印刷する画像形成装置であって、
頁毎に印刷起動を受けて印刷動作を実行すると共に、所定の起動期限までに印刷起動を受けた場合はその印刷起動を受けた頁を前頁に続けて連続的に印刷する連続印刷モードを備えた画像形成部と、
前記印刷データの各頁の描画処理に要する描画時間を予測する描画時間予測部と、
割り当てられた頁の描画処理を前記印刷頁順に行う順番描画処理部と、
割り当てられた頁の描画処理を前記印刷頁順に先行して行う先行描画処理部と、
前記印刷データの各頁の描画処理を前記順番描画処理部と前記先行描画処理部のいずれかに割り当てて実行させる描画処理割り当て部と、
描画処理の完了した頁に対する印刷起動を前記印刷頁順に前記画像形成部へ出力する起動部と、
を有し、
前記描画処理割り当て部は、前記描画時間予測部の予測した各頁の描画時間に基づいて、割り当て対象の頁の描画処理を前記印刷頁順に行わせた場合のその頁の描画完了時点がその頁を前記連続印刷モードで前記画像形成部に印刷させるための前記起動期限に間に合うか否かを判断し、間に合うと判断した場合はその頁の描画処理を前記順番描画処理部に割り当て、間に合わないと判断した場合はその頁の描画処理を前記先行描画処理部に割り当てる
ことを特徴とする画像形成装置。
【請求項２】
前記順番描画処理部としての描画処理に第１ＣＰＵを割り当て、
前記先行描画処理部としての描画処理に第２ＣＰＵを割り当てる
ことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記第１ＣＰＵと前記第２ＣＰＵのうちのいずれか一方に空きが生じた場合は、その空いたＣＰＵに他方のＣＰＵが実行中の描画処理の一部を分担させる
ことを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記順番描画処理部としての描画処理と前記先行描画処理部としての描画処理のそれぞれに割り当てるＣＰＵの数を、それらの描画処理の負荷に応じて動的に変更する
ことを特徴とする請求項１乃至３のいずれか１つに記載の画像形成装置。
【請求項５】
前記起動部は、一の頁の描画処理を前記先行描画処理部で行ってもその頁を前記連続印刷モードで印刷させることができない場合であって、その頁より前の頁に係る印刷起動の出力タイミングを前記連続印刷モードが維持される範囲で遅延させると前記一の頁を前記連続印刷モードで印刷することが可能になる場合は、前記遅延を行う
ことを特徴とする請求項１乃至４のいずれか１つに記載の画像形成装置。
【請求項６】
１頁目の描画処理には、割り当て可能なすべてのＣＰＵを割り当てる
ことを特徴とする請求項１乃至５のいずれか１つに記載の画像形成装置。
【請求項７】
前記イメージデータの一時保存に巡回的に使用される複数頁分の画像メモリを有し、
前記描画処理割り当て部は、前記先行描画処理部に描画処理を割り当てる際にその頁用の画像メモリを確保し、
前記順番描画処理部は描画処理の実行開始時にその頁用の画像メモリを確保し、確保できない場合は画像メモリ待ちに入る
ことを特徴とする請求項１乃至６のいずれか１つに記載の画像形成装置。
【請求項８】
印刷頁順の定められた複数頁分の印刷データから各頁のイメージデータを作製する描画処理を行いながら、その作製されたイメージデータに対応する画像の印刷を、頁毎に印刷起動を受けて印刷動作を実行すると共に所定の起動期限までに印刷起動を受けた場合はその印刷起動を受けた頁を前頁に続けて連続的に印刷する連続印刷モードを備えた画像形成装置に、前記印刷頁順に行わせるプリンタコントローラであって、
前記印刷データの各頁の描画処理に要する描画時間を予測する描画時間予測部と、
割り当てられた頁の描画処理を前記印刷頁順に行う順番描画処理部と、
割り当てられた頁の描画処理を前記印刷頁順に先行して行う先行描画処理部と、
前記印刷データの各頁の描画処理を前記順番描画処理部と前記先行描画処理部のいずれかに割り当てて実行させる描画処理割り当て部と、
描画処理の完了した頁に対する印刷起動を前記印刷頁順に前記画像形成装置へ出力する起動部と、
を有し、
前記描画処理割り当て部は、前記描画時間予測部の予測した各頁の描画時間に基づいて、割り当て対象の頁の描画処理を前記印刷頁順に行わせた場合のその頁の描画完了時点がその頁を前記連続印刷モードで前記画像形成装置に印刷させるための前記起動期限に間に合うか否かを判断し、間に合うと判断した場合はその頁の描画処理を前記順番描画処理部に割り当て、間に合わないと判断した場合はその頁の描画処理を前記先行描画処理部に割り当てる
ことを特徴とするプリンタコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データからイメージデータを作成して印刷する画像形成装置およびプリンタコントローラに関する。
【背景技術】
【０００２】
例えば電子写真方式のようなページ単位で連続印刷する画像形成装置では、連続印刷中に、次のページのイメージデータの準備が間に合わずにページとページの印刷間隔（印刷起動の出力間隔）が一定以上開くと、印刷部が停止シーケンスに入ってしまう。そのため、停止シーケンスに入った直後に次の印刷起動を受けた場合でも、復帰して印刷を再開するまでに長い時間を要してしまい、印刷パフォーマンスが大きく低下して印刷時間の増大を招いてしまう。
【０００３】
このような性能低下を防ぐ方法の１つとして、印刷起動の間隔が開いても連続印刷状態を維持させて停止シーケンスに入らないようにする方法がある。また、他の方法として、ＣＰＵの性能向上や、ＣＰＵコアの数を増やす事によって描画時間の短縮を行い、印刷起動待ちを発生させないようにする方法がある（特許文献１、２、３参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−０２２５０２号公報
【特許文献２】特開２０１０−１３１６２４号公報
【特許文献３】特開２００７−２０６６８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、印刷起動間隔が開いても連続印刷状態を維持させて停止シーケンスに入らないようにする方法では、印刷起動待ちの間は印刷動作状態と同等の動作になるため、たとえば電子写真方式でいえばポリゴンモータの消耗などが進み、装置寿命に悪影響を与えてしまう。その結果、性能向上のトレードオフとして部品の耐久性をあげるなどの対策が必要になり、コストアップが発生する。
【０００６】
一方、ＣＰＵの性能向上やＣＰＵコア数の増加によって描画時間の短縮を図る方法では、描画性能が向上するため、イメージデータの生成が速くなって、印刷が完了するまでの間にメモリに保存しておくべきイメージデータの量が増加する。このため、メモリ待ちで描画処理が停止し、印刷後のメモリ空きで画像形成するといった場合が多々発生する。特に、描画に時間のかかる頁の描画処理前にメモリ待ちとなってＣＰＵが停止してしまうと、結果的に印刷が停止する事態も生じてしまう。
【０００７】
本発明は、上記の問題を解決しようとするものであり、連続印刷状態を維持できるように各頁の描画処理を完了させることのできる画像形成装置およびプリンタコントローラを提供することを目的としている。
【課題を解決するための手段】
【０００８】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
【０００９】
［１］印刷頁順の定められた複数頁分の印刷データから各頁のイメージデータを作製する描画処理を行いながらその作製されたイメージデータに対応する画像を前記印刷頁順に印刷する画像形成装置であって、
頁毎に印刷起動を受けて印刷動作を実行すると共に、所定の起動期限までに印刷起動を受けた場合はその印刷起動を受けた頁を前頁に続けて連続的に印刷する連続印刷モードを備えた画像形成部と、
前記印刷データの各頁の描画処理に要する描画時間を予測する描画時間予測部と、
割り当てられた頁の描画処理を前記印刷頁順に行う順番描画処理部と、
割り当てられた頁の描画処理を前記印刷頁順に先行して行う先行描画処理部と、
前記印刷データの各頁の描画処理を前記順番描画処理部と前記先行描画処理部のいずれかに割り当てて実行させる描画処理割り当て部と、
描画処理の完了した頁に対する印刷起動を前記印刷頁順に前記画像形成部へ出力する起動部と、
を有し、
前記描画処理割り当て部は、前記描画時間予測部の予測した各頁の描画時間に基づいて、割り当て対象の頁の描画処理を前記印刷頁順に行わせた場合のその頁の描画完了時点がその頁を前記連続印刷モードで前記画像形成部に印刷させるための前記起動期限に間に合うか否かを判断し、間に合うと判断した場合はその頁の描画処理を前記順番描画処理部に割り当て、間に合わないと判断した場合はその頁の描画処理を前記先行描画処理部に割り当てる
ことを特徴とする画像形成装置。
【００１０】
上記発明では、予測した各頁の描画時間に基づいて、割り当て対象頁の描画処理を印刷頁順に行わせた場合のその頁の描画完了時点がその頁を連続印刷モードで印刷させるための起動期限に間に合うと判断した場合はその頁の描画処理を順番描画処理部に割り当て、間に合わないと判断した場合はその頁の描画処理を先行描画処理部に割り当てる。該当頁の描画処理を先行描画処理部に割り当てることで、順番描画処理部に割り当てるよりも早期に描画処理が終了し、起動期限に間に合う可能性が高くなる。
【００１１】
［２］前記順番描画処理部としての描画処理に第１ＣＰＵを割り当て、
前記先行描画処理部としての描画処理に第２ＣＰＵを割り当てる
ことを特徴とする［１］に記載の画像形成装置。
【００１２】
上記発明では、２つのＣＰＵのうちの一方を順番描画処理に割り当て、他方を先行描画処理に割り当てる。２つのＣＰＵの並列動作により描画処理が進行する。
【００１３】
［３］前記第１ＣＰＵと前記第２ＣＰＵのうちのいずれか一方に空きが生じた場合は、その空いたＣＰＵに他方のＣＰＵが実行中の描画処理の一部を分担させる
ことを特徴とする［２］に記載の画像形成装置。
【００１４】
上記発明では、ＣＰＵ資源を有効利用することができる。
【００１５】
［４］前記順番描画処理部としての描画処理と前記先行描画処理部としての描画処理のそれぞれに割り当てるＣＰＵの数を、それらの描画処理の負荷に応じて動的に変更する
ことを特徴とする［１］乃至［３］のいずれか１つに記載の画像形成装置。
【００１６】
上記発明では、負荷の大きい描画処理には多くのＣＰＵが割り当てられ、描画処理に要する時間の増大が防止される。
【００１７】
［５］前記起動部は、一の頁の描画処理を前記先行描画処理部で行ってもその頁を前記連続印刷モードで印刷させることができない場合であって、その頁より前の頁に係る印刷起動の出力タイミングを前記連続印刷モードが維持される範囲で遅延させると前記一の頁を前記連続印刷モードで印刷することが可能になる場合は、前記遅延を行う
ことを特徴とする［１］乃至［４］のいずれか１つに記載の画像形成装置。
【００１８】
上記発明では、先行描画される頁より前に印刷される１または複数の頁に係る印刷起動の出力タイミングを、その頁を連続印刷モードで印刷可能な範囲で遅らせることで、先行描画される頁の印刷起動とその１つ前の頁の印刷起動との間隔を短くする。これにより、先行描画された頁に係る印刷起動の出力タイミングをその前の頁の印刷起動の出力から起動期限内にすることが可能になり、印刷遅延を防止することができる。
【００１９】
［６］１頁目の描画処理には、割り当て可能なすべてのＣＰＵを割り当てる
ことを特徴とする［１］乃至［５］のいずれか１つに記載の画像形成装置。
【００２０】
上記発明では、１頁目の描画処理（順番描画処理で行われる）を行うときは、先行描画処理を行う必要がないので、すべてのＣＰＵを使って描画時間を短縮する。
【００２１】
［７］前記イメージデータの一時保存に巡回的に使用される複数頁分の画像メモリを有し、
前記描画処理割り当て部は、前記先行描画処理部に描画処理を割り当てる際にその頁用の画像メモリを確保し、
前記順番描画処理部は描画処理の実行開始時にその頁用の画像メモリを確保し、確保できない場合は画像メモリ待ちに入る
ことを特徴とする［１］乃至［６］のいずれか１つに記載の画像形成装置。
【００２２】
上記発明では、先行描画処理に描画処理を割り当てる場合にその頁用の画像メモリを確保するので、先行描画処理の実行時に画像メモリ待ちに入ることはない。一方、順番描画処理部は描画処理の実行開始時にその頁用の画像メモリを確保するので、確保できない場合は画像メモリ待ちに入る。たとえば、シングルＣＰＵで描画処理を行う場合には、順番描画処理の優先順位を先行描画処理より高くしておけば、順番描画処理が画像メモリ待ちになっている間に、先行描画処理が実行されるようになり、処理の切り替え制御を容易に行うことができる。
【００２３】
［８］印刷頁順の定められた複数頁分の印刷データから各頁のイメージデータを作製する描画処理を行いながら、その作製されたイメージデータに対応する画像の印刷を、頁毎に印刷起動を受けて印刷動作を実行すると共に所定の起動期限までに印刷起動を受けた場合はその印刷起動を受けた頁を前頁に続けて連続的に印刷する連続印刷モードを備えた画像形成装置に、前記印刷頁順に行わせるプリンタコントローラであって、
前記印刷データの各頁の描画処理に要する描画時間を予測する描画時間予測部と、
割り当てられた頁の描画処理を前記印刷頁順に行う順番描画処理部と、
割り当てられた頁の描画処理を前記印刷頁順に先行して行う先行描画処理部と、
前記印刷データの各頁の描画処理を前記順番描画処理部と前記先行描画処理部のいずれかに割り当てて実行させる描画処理割り当て部と、
描画処理の完了した頁に対する印刷起動を前記印刷頁順に前記画像形成装置へ出力する起動部と、
を有し、
前記描画処理割り当て部は、前記描画時間予測部の予測した各頁の描画時間に基づいて、割り当て対象の頁の描画処理を前記印刷頁順に行わせた場合のその頁の描画完了時点がその頁を前記連続印刷モードで前記画像形成装置に印刷させるための前記起動期限に間に合うか否かを判断し、間に合うと判断した場合はその頁の描画処理を前記順番描画処理部に割り当て、間に合わないと判断した場合はその頁の描画処理を前記先行描画処理部に割り当てる
ことを特徴とするプリンタコントローラ。
【発明の効果】
【００２４】
本発明に係る画像形成装置およびプリンタコントローラによれば、連続印刷状態を維持できるように描画処理を完了させることができ、印刷パフォーマンスの低下を防ぐことができる。
【図面の簡単な説明】
【００２５】
【図１】本発明に係る画像形成装置の概略構成を示すブロック図である。
【図２】プリンタコントローラの概略構成を示すブロック図である。
【図３】１ページ分の印刷データの解析から印刷完了までの動作シーケンスと所要時間を示す図である。
【図４】各ページの描画が２秒以内に完了する場合に１１頁を連続印刷した際の動作シーケンスと所要時間を示す図である。
【図５】図４に対して１１頁目のみ描画に３秒要した場合の動作シーケンスと所要時間を示す図である。
【図６】印刷起動間隔が３秒を超えると停止状態に入る画像形成装置において１１頁目の描画に４秒を要した場合の動作シーケンスと所要時間を示す図である。
【図７】図６に対して１１頁目の描画に６秒を要した場合の動作シーケンスと所要時間を示す図である。
【図８】図６と同じ印刷データを、描画性能を２倍に向上させたプリンタコントローラで描画して印刷した場合の動作シーケンスと所要時間を示す図である（既存例１−１）。
【図９】図６と同じ印刷データをデュアルコアのマルチプロセッサによって描画性能を２倍に向上させたプリンタコントローラで描画して印刷した場合の動作シーケンスと所要時間を示す図である（既存例１−２）。
【図１０】図６と同じ印刷データをデュアルコアのマルチプロセッサでページ毎にコアを割り当てて高速化したプリンタコントローラで描画して印刷した場合の動作シーケンスと所要時間を示す図である（既存例１−３）。
【図１１】本発明の実施の形態に係るプリンタコントローラの機能構成を示すブロック図である。
【図１２】図６と同じ印刷データを本発明に係るプリンタコントローラで１１頁目を先行描画処理した場合の動作シーケンスおよび所要時間を示す図である（本発明の例１）。
【図１３】図１０に対して１１頁目の描画時間が１４秒かかる場合の動作シーケンスと所要時間を示す図である（既存例１−４）。
【図１４】図１２に対して先行描画処理を行う１１頁目の描画時間が１４秒かかる場合の動作シーケンスと所要時間を示す図である（本発明の例２）。
【図１５】図１０（既存例１−３）に対して画像メモリが９頁分でメモリ待ちが生じる場合の動作シーケンスと所要時間を示す図である（既存例１−５）。
【図１６】図１５に対して１１頁目の描画処理に７秒かかり印刷遅延が発生した場合の動作シーケンスと所要時間を示す図である（既存例１−６）。
【図１７】図１４に対して画像メモリが９頁分のメモリ条件を加えた場合の動作シーケンスと所要時間を示す図である（本発明の例３）。
【図１８】図８に対して画像メモリが９頁分のメモリ条件を加えた場合の動作シーケンスと所要時間を示す図である（既存例１−７）。
【図１９】図１８に対して１１頁目の描画処理に７秒かかり印刷遅延が発生した場合の動作シーケンスと所要時間を示す図である（既存例１−８）。
【図２０】図９に対して画像メモリが９頁分のメモリ条件を加えた場合の動作シーケンスと所要時間を示す図である（既存例１−９）。
【図２１】図２０に対して１１頁目の描画処理に７秒かかり印刷遅延が発生した場合の動作シーケンスと所要時間を示す図である（既存例１−１０）。
【図２２】図１７に対して先行描画処理を行う１１頁目の描画処理に１４秒かかる場合の動作シーケンスと所要時間を示す図である（本発明の例４）。
【図２３】印刷データの解析と描画時間の予測を行う処理を示す流れ図である。
【図２４】各頁の描画処理を順番描画処理と先行描画処理に振り分ける振り分け処理を示す流れ図である。
【図２５】図２４の処理から描画開始通知を受ける順番描画処理および先行描画処理を示す流れ図である。
【図２６】シングルコアＣＰＵで通常印刷を行う場合の動作シーケンスと所要時間を示す図である（既存例２−１）。
【図２７】図２６に対して、１１頁目の描画を先行描画処理で行った場合の動作シーケンスと所要時間を示す図である（本発明の例５。）
【図２８】シングルコアＣＰＵのプリンタコントローラにおいて各頁の描画処理を順番描画処理と先行描画処理に振り分ける処理を示す流れ図である。
【図２９】図２８の処理から描画開始通知を受ける順番描画処理の処理内容を示す流れ図である。
【図３０】図２８の処理から描画開始通知を受ける先行描画処理を示す流れ図である。
【図３１】順番描画処理と先行描画処理のそれぞれに２つのＣＰＵコアを割り当てた場合の動作シーケンスと所要時間を示す図である。（本発明の実施例６）
【図３２】順番描画処理に１つのＣＰＵコアを先行描画処理に３つのＣＰＵコアを割り当てた場合の動作シーケンスと所要時間を示す図である。（本発明の例７）
【図３３】順番描画処理に３つのＣＰＵコアを先行描画処理に１つのＣＰＵコアを割り当てた場合の動作シーケンスと所要時間を示す図である。（本発明の例８）
【図３４】４コアＣＰＵを使用し、順番描画処理に１つのＣＰＵコアを割り当て、先行描画処理の必要な各頁に１つずつＣＰＵコアを割り当てた場合の動作シーケンスと所要時間を示す図である（本発明の例９）。
【図３５】４コアＣＰＵを使用し、順番描画処理に１つのＣＰＵコアを割り当て、先行描画処理の必要な各頁に１つずつＣＰＵコアを割り当てる場合の振り分け処理を示す流れ図である。
【図３６】図３５の続きを示す流れ図である。
【図３７】図３６の続きを示す流れ図である。
【図３８】マルチコアＣＰＵでメモリ待ち発生時にＣＰＵコアを割り当てる場合の動作シーケンスと所要時間を示す図である（本発明の例１０）
【図３９】マルチコアＣＰＵで先行描画処理が不要な間は順番描画処理に最大数のＣＰＵコアを割り当てる場合の動作シーケンスと所要時間を示す図である。（本発明の例１１）
【図４０】マルチコアＣＰＵでメモリ待ち発生時にＣＰＵコアを割り当てかつ先行描画処理が不要な間は順番描画処理に最大数のＣＰＵコアを割り当てる場合の動作シーケンスと所要時間を示す図である（本発明の例１２）。
【図４１】２コアＣＰＵ構成で順番描画処理の負荷が大きい場合に先行描画処理を一時中断してＣＰＵを順番描画処理に割り当てる場合の動作シーケンスと所要時間を示す図である（本発明の例１３）。
【図４２】４コアＣＰＵ構成で順番描画処理の負荷が大きい場合に先行描画処理を一時中断してＣＰＵを順番描画処理に割り当てる場合の動作シーケンスと所要時間を示す図である（本発明の例１４）。
【図４３】２コアＣＰＵ構成において順番描画処理でメモリ待ち発生時にそのＣＰＵコアを先行描画処理に割り当て、かつ先行描画処理が不要な間は順番描画処理に最大数のＣＰＵコアを割り当て、かつ順番描画処理の負荷が大きい場合に先行描画処理を一時中断してＣＰＵを順番描画処理に割り当てる場合の動作シーケンスと所要時間を示す図である（本発明の例１５）。
【図４４】４コアＣＰＵ構成において順番描画処理でメモリ待ち発生時にそのＣＰＵコアを先行描画処理に割り当て、かつ先行描画処理が不要な間は順番描画処理に最大数のＣＰＵコアを割り当て、かつ順番描画処理の負荷が大きい場合に先行描画処理を一時中断してＣＰＵを順番描画処理に割り当てる場合の動作シーケンスと所要時間を示す図である（本発明の例１６）
【図４５】４コアＣＰＵ構成で順番描画処理の負荷が大きい場合に先行描画処理から各ＣＰＵコアを均等に順番描画処理に割り当てる場合の動作シーケンスと所要時間を示す図である（本発明の例１７）
【図４６】先行描画処理を行っても印刷遅延が発生する場合の動作シーケンスと所要時間を示す図である。
【図４７】印刷起動のタイミングを遅らせることで印刷遅延が解消された場合の動作シーケンスと所要時間を示す図である（本発明の例１８）。
【図４８】印刷起動のタイミングを途中頁で２回遅らせることにより印刷遅延が解消された場合の動作シーケンスと所要時間を示す図である（本発明の例１９）。
【図４９】印刷起動の遅延を考慮して各頁の描画処理を順番描画処理と先行描画処理に割り当てる振り分け処理を示す流れ図である。
【図５０】図４９の続きを示す流れ図である。
【発明を実施するための形態】
【００２６】
以下、図面に基づき本発明の実施の形態を説明する。
【００２７】
図１は、本発明に係る画像形成装置５を含む印刷システムの構成を示している。画像形成装置５は、ネットワークなどを介してＰＣ（パーソナルコンピュータ）２に接続され、ＰＣ２から受信した印刷データに基づいて印刷を実行する。画像形成装置５は、ＰＣ２からのデータを受信する通信Ｉ／Ｆ（Interface）を備えＰＣ２から受信した印刷データを解析して印刷用のイメージデータ（画像）を生成するプリンタコントローラ１０と、記録紙上に画像を形成して印刷出力する画像形成部としてのエンジン部８と、エンジン部８を制御する印刷制御部７とを備えて構成される。
【００２８】
ここでは、画像形成装置５は、原稿台にセットされた原稿を光学的に読み取って画像データを取得するスキャナ部６をさらに有しており、原稿の複製を作製するコピー機能などを備えた複合機として構成されている。
【００２９】
プリンタコントローラ１０は、ＰＣ２から受信した印刷データを解析してイメージデータを作成する描画処理を行うと共に、描画処理の完了した頁に関する印刷起動を印刷制御部７へ出力する。印刷制御部７はエンジン部８を制御して給紙→搬送→転写→定着→排紙を行わせ、記録紙上に画像を形成して印刷させる。
【００３０】
プリンタコントローラ１０ではＰＣ２からの受信処理を行うが、受信と解析を並行に行うようになっており、解析処理にデータの受信動作は含まれるものとする。また、プリンタコントローラ１０に印刷制御部７の機能をソフトウエアとして実装するように構成されてもよい。
【００３１】
図２は、プリンタコントローラ１０の内部構成を示している。プリンタコントローラ１０は、バス１１にＣＰＵ（Central Processing Unit）１２、ＲＡＭ（Random Access Memory）１３、ＲＯＭ（Read Only Memory）１４、不揮発メモリ１５、通信Ｉ／Ｆ１６、エンジンＩ／Ｆ１７を接続して構成される。
【００３２】
ＲＯＭ１４には、各種プログラムやデータが格納され、これらのプログラムに従ってＣＰＵ１２が各種の処理を実行することでプリンタコントローラ１０としての各機能が実現される。ＲＡＭ１３はＣＰＵ１２がプログラムを実行する際に各種のデータを一時的に格納するワークメモリや描画処理で作成される中間データ（ディスプレーリスト）や最終的な描画結果となるイメージデータなどを一時記憶するメモリとして使用される。不揮発メモリ１５は各種の設定値などを不揮発に記憶するメモリである。ＲＡＭ１３には、描画したイメージデータを印刷出力完了まで一時的に保存する画像メモリが確保される。ここでは９頁分の画像メモリが確保されている。
【００３３】
通信Ｉ／Ｆ１６は、ＰＣ２との間で通信を行って各種のデータを受信する。また、画像形成装置５の状態を示すステータス情報などをＰＣ２へ送信する。エンジンＩ／Ｆ１７は、エンジン部８に印刷動作を行わせるために必要な各種の情報を印刷制御部７を介して出力する。たとえば、エンジン部８の動作に同期させてイメージデータをエンジン部８へ印刷制御部７を介して出力したり、印刷起動を印刷制御部７へ出力したりする。なお、エンジンＩ／Ｆ１７は、出力用の各種画像処理も行う。
【００３４】
ＣＰＵ１２は、シングルコアのＣＰＵを用いるほか、２コア、４コアなどのマルチコアのＣＰＵであってもよい。２コアのＣＰＵは実質的に２つのＣＰＵと等価であり、４コアのＣＰＵは実質的に４つのＣＰＵと等価であり、コア毎に個別の処理を独立に実行することができる。
【００３５】
画像形成装置５では、頁順の定められた複数頁分の印刷データをＰＣ２から受信して印刷する際に、プリンタコントローラ１０にて次々に受信される印刷データから各頁のイメージデータを作製する描画処理を行いながら、これと並行して、その作製されたイメージデータに対応する画像を指定された印刷頁順にエンジン部８で印刷する。
【００３６】
エンジン部８は頁毎に印刷起動を受けて印刷動作を実行すると共に、所定の起動期限までに印刷起動を受けた場合はその印刷起動を受けた頁を前頁に続けて連続的に印刷する連続印刷モードを備えている。ここでは、前頁の印刷起動を受けてからＮ秒（たとえば、３秒）以内に次頁の印刷起動を受けた場合は前頁に続けて次頁を連続的に印刷する連続印刷モードとなって複数の頁が連続的に印刷される。具体的には、連続印刷モードでは、前頁の搬送・印刷中（排紙前）に、次頁の給紙・搬送が開始され、狭い紙間で連続的に印刷が行われる。
【００３７】
一方、前頁の印刷起動を受けてから次の印刷起動を受けるまでの時間が起動期限を超えると、連続印刷モード（連続印刷状態）は解除され、印刷停止状態に入る。印刷停止状態になった後、次頁の印刷起動を受けると、まず、印刷可能な通常状態へ復帰するための復帰動作が行われた後、印刷動作が再開される。すなわち、連続印刷モードが解除されて、一旦、印刷停止状態に入ると、連続印刷状態の停止から復帰に要する時間だけ印刷遅延が発生する。
【００３８】
このような印刷遅延を防止するために、印刷起動の間隔が一定以上開いても印刷動作を停止させずに、そのまま各部の動作を継続させ、次の印刷起動を待つ方法も考えられる。しかし、その場合には、各部材の耐久年数に問題が発生し、部品をより高耐久な物に変更する必要が発生し、全体のコストアップにつながってしまう。そこで、装置寿命を延ばすため、印刷起動が一定時間以上途絶えると、一旦、印刷停止状態に移行させるようになっている。
【００３９】
なお、以下の説明では、画像形成装置５は、１分間に最大３０枚を印刷可能な印刷速度（３０ＰＰＭ）を有するものとする。３０ＰＰＭで印刷を行うためには２秒間隔で印刷起動を出力する必要がある。また、起動期限は３秒とする。
【００４０】
図３は、１頁分の印刷データの解析から印刷完了までの動作シーケンスと所要時間の典型例を示している。まず、印刷データの解析が行われる。解析処理では、ＰＣ２から受信した印刷データを描画可能な形式に変換する。この解析処理は受信中に並行して行われる。解析処理が完了すると、その完了した頁から順にイメージデータに展開する描画処理が行われる。描画処理が完了すると、プリンタコントローラ１０はこの頁に関する印刷起動（印刷起動要求）を出力する。これを受けてエンジン部８が起動し、給紙→搬送→転写→定着→排紙の各動作が行われて、イメージデータに対応する画像の記録紙への印刷が実行される。
【００４１】
この例では、解析処理に０．５秒、描画処理に２秒、給紙／搬送に９秒、転写定着に２秒、排紙に２秒かかり、印刷起動を出力してから排紙までに１３秒を要している。
【００４２】
図４は、各ページの描画が２秒以内に完了する場合において１１頁を連続印刷モードで続けて印刷した際の動作シーケンスと所要時間を示している。プリンタコントローラ１０では、最初に１頁目の解析処理を実行し、１頁目の解析処理が完了すると、該１頁目の描画処理を開始する。なお、描画処理の合間を利用して描画中に次のページの解析処理を並行して実行するようになっている。
【００４３】
各頁の描画が２秒以内に完了すれば、２頁目〜１１頁目までの各頁について、印刷起動を前頁の印刷起動から２秒後に出力することができる。したがって、３０ＰＰＭ（頁／分）の印刷スピードが実現される。この例での、１頁目の解析開始から１１頁目の排紙完了までのトータル印刷所要時間は、
０．５秒（１頁目の解析）＋２秒（１頁目の描画）＋１３秒（１頁目の給紙〜排紙間で）＋２秒（２頁目の排紙）＋２秒（３頁目の排紙）＋２秒（４頁目の排紙）＋・・＋２秒（１１頁目の排紙）＝３５．５秒、となる。
【００４４】
図５は、図４に対して、１１頁目のみ描画処理に３秒を要した場合の動作シーケンスと所要時間を示している。描画処理に３秒を要すると、１０頁目の印刷起動を出力してから１１頁目の印刷起動を出力するまでの時間は３秒になるが、３秒丁度ならば起動期限を超えないので、連続印刷モードが維持される。
【００４５】
１１頁目の描画処理に３秒かかった場合のトータル印刷所要時間は、
０．５秒（１頁目の解析）＋２秒（１頁目の描画）＋１３秒（１頁目の給紙〜排紙間で）＋２秒（２頁目の排紙）＋２秒（３頁目の排紙）＋２秒（４頁目の排紙）＋・・＋３秒（１１頁目の排紙）＝３６．５秒、である。全ての頁の描画処理が２秒以内で完了した場合の３５．５秒に対して、１秒増加するのみである。
【００４６】
図６は、図４に対して、１１頁目のみ描画処理に４秒を要した場合の動作シーケンスと所要時間を示している。１１頁目の描画処理に４秒を要すると、１０頁目の印刷起動を出力してから１１頁目の印刷起動を出力するまでの時間は４秒になって起動期限（３秒）を超える。そのため、連続印刷モードは解除されて、一旦、印刷停止状態に入る。図６では、１１頁目の起動要求が出力されてから９秒後に復帰動作が完了し、その後に給紙／搬送の動作が再開されている。
【００４７】
印刷起動の間隔が３秒を超えた場合に印刷停止状態に入る画像形成装置５において１１ページ目の描画が４秒かかった場合のトータル印刷所要時間は、
０．５秒（１頁目の解析）＋２秒（１頁目の描画）＋１３秒（１頁目の給紙〜排紙間で）＋２秒（２頁目の排紙）＋２秒（３頁目の排紙）＋２秒（４頁目の排紙）＋・・＋９秒（連続印刷状態停止→復帰）＋４秒＝４６．５秒、となる。全ての頁の描画処理が２秒以内で完了した場合の３５．５秒に対して、１０秒（描画時間で１秒、停止・復帰による印刷遅延で９秒）増加している。
【００４８】
図７は、図６に対して１１頁目の描画処理に６秒を要した場合の動作シーケンスと所要時間を示している。図６の場合と同様に、連続印刷モードは一旦、解除されて印刷状態停止に入るため、９秒の余計な印刷遅延が生じている。トータル印刷所要時間は、
０．５秒（１頁目の解析）＋２秒（１頁目の描画）＋１３秒（１頁目の給紙〜排紙間で）＋２秒（２頁目の排紙）＋２秒（３頁目の排紙）＋２秒（４頁目の排紙）＋・・＋９秒（連続印刷状態停止→復帰）＋６秒＝４８．５秒、となる。全ての頁の描画処理が２秒以内で完了した場合の３５．５秒に対して、１３秒（描画時間で４秒、停止・復帰による印刷遅延で９秒）増加している。
【００４９】
＜既存例１−１＞
図８は、図６で印刷したものと同じ印刷データを、描画性能を２倍に向上させた（描画処理時間が２分の１になる）プリンタコントローラ１０で描画して印刷した場合の動作シーケンスと所要時間を示している。たとえば、ＣＰＵ１２のクロックアップ、メモリクロックアップ、もしくは高性能なＣＰＵ１２に変更するなどの対応により性能向上が図られる。
【００５０】
プリンタコントローラ１０では、最初に１頁目の解析処理を実行し、１頁目の解析処理が完了すると、該１頁目の描画処理を開始する。また、描画処理の合間を利用して描画中に次のページの解析処理を並行して実行する。
【００５１】
各ページの描画処理は図６の場合に比べて１／２の時間で完了するため、１〜１０頁までは各１秒で描画処理が完了し、１１頁目は２秒で描画処理が完了する。このように２秒以内に描画処理が完了するので３０ＰＰＭの印刷スピードが実現可能である。
【００５２】
また、１頁目の解析処理開始から最終頁の排出までのトータル印刷所要時間は、
０．５秒（１頁目の解析）＋１秒（１頁目の描画）＋１３秒（１頁目の給紙〜排紙間で）＋２秒（２頁目の排紙）＋２秒（３頁目の排紙）＋２秒（４頁目の排紙）＋・・＋２秒（１１頁目の排紙）＝３４．５秒、となる。
【００５３】
ＣＰＵのクロックアップ、メモリのクロックアップ等を行わずに高速化する方法としてマルチプロセッサ（マルチＣＰＵ）を用いる方法がある。この場合、描画処理は、バンド分割して行われることが多い。例えば１頁を４分割する。分割した１つの単位をバンドと呼び、バンド１、バンド２、バンド３、バンド４の順番に描画を行い、４バンド描画完了で１頁完了となる。
【００５４】
バンド毎にＣＰＵコアを割り当てる事によって高速化が可能である。例えばデュアルコアのマルチプロセッサの場合、バンド１にコア１、バンド２にコア２を割り当てて描画を開始し、先に完了したコアにバンド３を割り当て、残りをバンド４に割り当てるといった割り当て処理を行うことで描画速度の高速化が達成される。今回は、デュアルコアのマルチプロセッサにより、便宜上２倍の描画速度を達成できるものとする。
【００５５】
＜既存例１−２＞
図９は、図６と同じ印刷データをデュアルコアのマルチプロセッサによって描画性能を２倍に向上させたプリンタコントローラ１０で描画し印刷した場合の動作シーケンスと所要時間を示している。プリンタコントローラ１０では、最初に１頁目の解析処理を実行し、１頁目の解析処理が完了すると、該１頁目の描画処理を開始する。また、描画処理の合間を利用して描画中に次のページの解析処理を並行して実行する。
【００５６】
各頁の描画処理は図６の場合に比べて１／２の時間で完了するため、１〜１０頁までの描画処理はそれぞれ１秒で完了し、１１頁目は２秒で完了する。そのため、３０ＰＰＭの印刷スピードが実現可能である。
【００５７】
また、１頁目の解析処理開始から最終頁の排出までのトータル印刷所要時間は、
０．５秒（１頁目の解析）＋１秒（１頁目の描画）＋１３秒（１頁目の給紙〜排紙間で）＋２秒（２頁目の排紙）＋２秒（３頁目の排紙）＋２秒（４頁目の排紙）＋・・＋２秒（１１頁目の排紙）＝３４．５秒、となる。
【００５８】
＜既存例１−３＞
マルチプロセッサで頁毎にコアを割り当てることによって高速化を実現することも可能である。すなわち、頁単位に処理を振り分けて並列処理する。
【００５９】
図１０は、図６と同じ印刷データをデュアルコアのマルチプロセッサで頁毎にコアを割り当てて高速化したプリンタコントローラ１０で描画し印刷した場合の動作シーケンスと所要時間を示している。１１頁目は描画処理に４秒かかるが、１０頁までの描画処理を並行処理で行った結果、時間的な余裕ができている。具体的には、１１頁目の描画処理は７頁目の印刷起動を出力する時点で既に完了しているので、１０頁目の印刷起動から２秒後に１１頁目の印刷起動を出力でき、３０ＰＰＭの印刷スピードが実現可能である。
【００６０】
また、１頁目の解析処理開始から最終頁の排出までのトータル印刷所要時間は、
０．５秒（１頁目の解析）＋２秒（１頁目の描画）＋１３秒（１頁目の給紙〜排紙間で）＋２秒（２頁目の排紙）＋２秒（３頁目の排紙）＋２秒（４頁目の排紙）＋・・＋２秒（１１頁目の排紙）＝３５．５秒、となる。
【００６１】
＜本発明の第１例＞
本発明では、印刷データの解析時に描画処理に要する時間（描画時間）を頁毎に予測し、該予測した頁毎の描画時間に基づいて、印刷頁順に描画処理を行った場合に印刷起動の間隔が起動期限を越えて連続印刷モードが解除される頁を検出し、この頁の描画処理を、印刷頁順に先行して行うことで、印刷停止状態に入ることを回避する。印刷頁順に行う描画処理を順番描画処理、印刷頁順に先行して行う描画処理を先行描画処理と呼ぶものとする。
【００６２】
図１１は、先行描画処理を行うプリンタコントローラ１０の概略の機能構成を示している。プリンタコントローラ１０は、印刷データの描画処理に要する描画時間を頁毎に予測する描画時間予測部２１を含む解析処理部２２と、先行描画処理を実行する先行描画処理部２３と、順番描画処理を実行する順番描画処理部２４と、各頁の描画処理を先行描画処理部２３と順番描画処理部２４のいずれかに割り当てて実行させる描画処理割り当て部２５と、描画処理の終了した頁に関する印刷起動を印刷頁順に印刷制御部７へ出力する起動部２６の各機能を備えている。
【００６３】
描画処理割り当て部２５は、描画時間予測部２１の予測した各頁の描画時間に基づいて、割り当て対象の頁の描画処理を印刷頁順に行わせた場合のその頁の描画完了時点を求め、該描画完了時点がその頁を連続印刷モードでエンジン部８に印刷させるための起動期限に間に合うか否かを判断する。そして、間に合うと判断した場合はその頁の描画処理を順番描画処理部２４に割り当て、間に合わないと判断した場合はその頁の描画処理を先行描画処理部２３に割り当てる。図１１に示す各機能に係る処理は、図２に示すプリンタコントローラ１０のＣＰＵ１２が行う。
【００６４】
図１２は、図６と同じ印刷データを本発明のプリンタコントローラ１０で１１頁目を先行描画処理で描画する場合の動作シーケンスおよび所要時間を示している。この例では、デュアルコアプロセッサを用いており、第１ＣＰＵ（コア１）に順番描画処理部２４としての描画処理を行わせ、第２ＣＰＵ（コア２）に先行描画処理部２３としての描画処理を行わせる。
【００６５】
１１ページ目は、その描画処理に４秒かかるが、コア２で先行して描画処理を行うため、５頁目の印刷起動を出力する時点で既に描画が完了している。その結果、各頁の印刷起動を２秒間隔で出力することができ、３０ＰＰＭの印刷スピードが実現されている。
【００６６】
１頁目の解析処理開始から最終頁の排出までのトータル印刷所要時間は、
０．５秒（１頁目の解析）＋２秒（１頁目の描画）＋１３秒（１頁目の給紙〜排紙間で）＋２秒（２頁目の排紙）＋２秒（３頁目の排紙）＋２秒（４頁目の排紙）＋・・＋２秒（１１頁目の排紙）＝３５．５秒、となる。
【００６７】
＜既存例１−４＞
図１３は、図１０（既存例１−３）に対して、１１頁目の描画時間が１４秒かかる場合の動作シーケンスと所要時間を示している。マルチコアで頁の描画処理を振り分けて処理しても、描画時間が非常に長い頁（この例では１１頁目の１４秒）があると、連続印刷モードが解除されて印刷停止状態となり、復帰までの印刷遅延のためにトータルの印刷所要処理時間が長くなる。
【００６８】
１頁目の解析処理開始から最終頁の排出までのトータル印刷所要時間は、
０．５秒（１頁目の解析）＋２秒（１頁目の描画）＋１３秒（１頁目の給紙〜排紙間で）＋２秒（２頁目の排紙）＋２秒（３頁目の排紙）＋２秒（４頁目の排紙）＋・・＋描画時間１４秒（１１頁目の描画）−１０秒（デュアルコアの並行処理による短縮分）＋１３秒（１１頁目の排紙）＋印刷遅延９秒＝５９．５秒、となる。
【００６９】
＜本発明の例２＞
図１４は、図１２に対して先行描画処理を行う１１頁目の描画時間が１４秒かかる場合の動作シーケンスと所要時間を示す図である。この場合でも、１１頁目を先行描画処理することで１１頁目の描画は１１頁目の起動期限の前に完了する。その結果、３０ＰＰＭの印刷スピードが実現される。
【００７０】
１頁目の解析処理開始から最終頁の排出までのトータル印刷所要時間は、
０．５秒（１頁目の解析）＋２秒（１頁目の描画）＋１３秒（１頁目の給紙〜排紙間で）＋２秒（２頁目の排紙）＋２秒（３頁目の排紙）＋２秒（４頁目の排紙）＋・・＋２秒（１１頁目の排紙）＝３５．５秒、となり、「既存例１−４」と異なり印刷遅延は発生しない。
【００７１】
次に、描画処理の完了したイメージデータを保存する画像メモリの制限により描画処理が待たされる（メモリ待ちになる）場合について説明する。
【００７２】
画像形成装置５においては印刷データの解析→描画→印刷、という手順で印刷動作が行われるが、描画したデータは排紙完了まで画像メモリに保持して、ジャムリカバリーに備える必要がある。このため、描画処理が高速に行われても、描画処理で作成したイメージデータ（画像）を保存するための画像メモリが満杯になると、描画処理がメモリ待ちのために停止してしまう。
【００７３】
＜既存例１−５＞
図１５は、図１０（既存例１−３）に対して画像メモリが９頁分でメモリ待ちが生じる場合の動作シーケンスと所要時間を示している。９頁まで描画処理が完了した時点で１頁目の排紙が未だ完了していないので、１０頁目の描画処理は実行できず、メモリ待ちになる。その後、１頁目の排紙が完了した時点で１０頁目の描画処理（２秒）が開始される。１０頁目の描画が完了した時点で、丁度、２頁目の排紙が完了するので、１１頁目についてはメモリ待ちは発生せず、ただちに１１頁目の描画処理（４秒）が行われる。その結果、１１頁に対する印刷起動が１１頁目の起動期限に間に合い、連続印刷モードが維持される。
【００７４】
＜既存例１−６＞
図１６は、図１５（既存例１−５）に対して１１頁目の描画処理に７秒かかり、印刷遅延が発生した場合の動作シーケンスと所要時間を示している。画像メモリの数が９頁分のため、１頁目の排紙が完了しないと１０頁目の描画処理を開始できない。既存例１−４では、１１頁目の描画時間が１４秒以上の場合に印刷遅延が発生していたが、図１６に示す既存例１−６では、メモリ待ちの発生で１０頁目の描画開始が遅れるため、１１頁目の描画時間が７秒でも、連続印刷モードが解除されて印刷停止状態に入って、印刷遅延が発生している。
【００７５】
１頁目の解析処理開始から最終頁の排出までのトータル印刷所要時間は、
０．５秒（１頁目の解析）＋２秒（１頁目の描画）＋１３秒（１頁目の給紙〜排紙間で）＋２秒（２頁目の排紙）＋２秒（３頁目の排紙）＋２秒（４頁目の排紙）＋・・＋９秒（連続印刷状態停止→復帰）＋４秒＝４６．５秒、となる。
【００７６】
＜本発明の例３＞
図１７は、図１４（本発明の例２）に対して画像メモリが９頁分のメモリ条件を加えた場合の動作シーケンスと所要時間を示している。この場合でも、１１頁目を先行描画処理で描画することで、１１頁目の描画は１１頁目の印刷期限の前に完了する。その結果、３０ＰＰＭの印刷スピードが実現される。なお、８頁目の描画開始時点では、１〜７、１１頁の画像の保存にメモリが使用されているが、まだ１頁分の画像メモリが残っているので、８頁目の描画処理はメモリ待ちにならずに開始される。また、９頁目の描画開始前に１頁目の排紙が完了し、１０頁目の描画開始前に２頁目の排紙が完了するので、これらの頁の描画についてもメモリ待ちは発生しない。
【００７７】
１頁目の解析処理開始から最終頁の排出までのトータル印刷所要時間は、
０．５秒（１頁目の解析）＋２秒（１頁目の描画）＋１３秒（１頁目の給紙〜排紙間で）＋２秒（２頁目の排紙）＋２秒（３頁目の排紙）＋２秒（４頁目の排紙）＋・・＋２秒（１１頁目の排紙）＝３５．５秒、となる。
【００７８】
＜既存例１−７＞
図１８は、図８の既存例１−１に対して、画像メモリが９頁分のメモリ条件を加えた場合の動作シーケンスと所要時間を示している。描画処理能力が２倍なので、次々と描画処理が進む。しかし、９頁目の描画処理が完了した時点でメモリ待ちに入り、１０頁目の描画開始は１頁目の排紙が完了した時点となり、１１頁目の描画開始は２頁目の排紙が完了した時点となっている。１０頁目、１１頁目のいずれについても描画完了時点は連続印刷モードを継続させるための起動期限に間に合っており、連続印刷モードが継続される。そのため、既存例１−７では３０ＰＰＭの印刷スピードが実現可能になっている。
【００７９】
１頁目の解析処理開始から最終頁の排出までのトータル印刷所要時間は、
０．５秒（１頁目の解析）＋１秒（１頁目の描画）＋１３秒（１頁目の給紙〜排紙間で）＋２秒（２頁目の排紙）＋２秒（３頁目の排紙）＋２秒（４頁目の排紙）＋・・＋２秒（１１頁目の排紙）＝３４．５秒、となる。
【００８０】
＜既存例１−８＞
図１９は、図１８（既存例１−７）に対して１１頁目の描画処理に７秒かかり印刷遅延が発生した場合の動作シーケンスと所要時間を示している。描画処理能力が２倍なので、次々と描画処理は進むが、９頁目の描画処理が完了した時点でメモリ待ちに入り、１０頁目の描画開始は１頁目の排紙が完了した時点となり、１１頁目の描画開始は２頁目の排紙が完了した時点となっている。１０頁目の描画完了時点は連続印刷モードを継続させるための起動期限に間に合っているが、１１頁目の描画完了時点は、連続印刷モードを継続させるための起動期限（１０頁目の印刷起動から３秒以内）に間に合っていない。そのため、連続印刷モードが解除されて印刷停止状態となり、１１頁目の印刷起動を受けてから９秒の復帰動作が入って印刷遅延が発生している。
【００８１】
１頁目の解析処理開始から最終頁の排出までのトータル印刷所要時間は、
０．５秒（１頁目の解析）＋１秒（１頁目の描画）＋１３秒（１頁目の給紙〜排紙間で）＋２秒（２頁目の排紙）＋２秒（３頁目の排紙）＋２秒（４頁目の排紙）＋・・＋９秒（連続印刷状態停止→復帰）＋４秒＝４５．５秒、となる。
【００８２】
＜既存例１−９＞
図２０は、図９（既存例１−２）に対して画像メモリが９頁分のメモリ条件を加えた場合の動作シーケンスと所要時間を示している。デュアルコアＣＰＵの使用により描画処理能力は２倍であり、次々と描画処理が進む。しかし、９頁目の描画処理が完了した時点でメモリ待ちに入り、１０頁目の描画開始は１頁目の排紙が完了した時点となり、１１頁目の描画開始は２頁目の排紙が完了した時点となっている。１０頁目、１１頁目のいずれについても描画完了時点は連続印刷モードを継続させるための起動期限に間に合っており、連続印刷モードが継続される。そのため、既存例１−９では３０ＰＰＭの印刷スピードが実現可能になっている。
【００８３】
１頁目の解析処理開始から最終頁の排出までのトータル印刷所要時間は、
０．５秒（１頁目の解析）＋１秒（１頁目の描画）＋１３秒（１頁目の給紙〜排紙間で）＋２秒（２頁目の排紙）＋２秒（３頁目の排紙）＋２秒（４頁目の排紙）＋・・＋２秒（１１頁目の排紙）＝３４．５秒、となる。
【００８４】
＜既存例１−１０＞
図２１は、図２０（既存例１−９）に対して１１頁目の描画処理に７秒かかり印刷遅延が発生した場合の動作シーケンスと所要時間を示している。９頁目の描画処理が完了した時点でメモリ待ちに入り、１０頁目の描画開始は１頁目の排紙が完了した時点となり、１１頁目の描画開始は２頁目の排紙が完了した時点となっている。１０頁目の描画完了時点は連続印刷モードを継続させるための起動期限に間に合っているが、１１頁目の描画完了時点は、連続印刷モードを継続させるための起動期限（１０頁目の印刷起動から３秒以内）に間に合っていない。そのため、連続印刷モードが解除されて印刷停止状態となり、１１頁目の印刷起動を受けてから９秒の復帰動作が入って印刷遅延が発生している。
【００８５】
１頁目の解析処理開始から最終頁の排出までのトータル印刷所要時間は、
０．５秒（１頁目の解析）＋１秒（１頁目の描画）＋１３秒（１頁目の給紙〜排紙間で）＋２秒（２頁目の排紙）＋２秒（３頁目の排紙）＋２秒（４頁目の排紙）＋・・＋９秒（連続印刷状態停止→復帰）＋４秒＝４５．５秒、となる。
【００８６】
＜本発明の例４＞
図２２は、図１７（本発明の例３）に対して、先行描画処理を行う１１頁目の描画処理に１４秒かかる場合の動作シーケンスと所要時間を示している。印刷対象の印刷データは既存例１−８、既存例１−１０と同じであり、１１頁目の描画処理は、７秒の２倍の１４秒を要する。
【００８７】
１１頁目の描画処理を先行描画処理により印刷頁順に先行して行うので、１１頁目の描画完了時点は１１頁目を連続印刷モードで印刷するための起動期限に間に合う。その結果、３０ＰＰＭの印刷スピードが実現される。
【００８８】
１頁目の解析処理開始から最終頁の排出までのトータル印刷所要時間は、
０．５秒（１頁目の解析）＋２秒（１頁目の描画）＋１３秒（１頁目の給紙〜排紙間で）＋２秒（２頁目の排紙）＋２秒（３頁目の排紙）＋２秒（４頁目の排紙）＋・・＋２秒（１１頁目の排紙）＝３５．５秒、となる。
【００８９】
次に、先行描画処理の機能を備えた本発明のプリンタコントローラ１０が行う各種処理の流れについて説明する。
【００９０】
まず、描画時間予測部２１が行う描画時間予測処理について説明する。プリンタコントローラ１０は、ＰＣ２からの印刷データを受信しながら解析し、１頁分の解析が完了すると１頁目の描画処理を開始し、描画中の空き時間を利用して次の頁の解析を行う。描画時間の予測は、この解析処理において行う。
【００９１】
解析処理では、まず、ＰＣ２からの印刷データを解析して描画可能な形式に変換する、本例では、変換後のデータをディスプレーリストと呼ぶ。一般的に解析処理は、描画処理よりも時間がかからないため、最初の頁の描画が完了する前に複数頁分の解析が可能である。
【００９２】
描画時間の予測は、１頁分のディスプレーリストのサイズに基づいて行う。また、生成するディスプレーリストの各要素が、文字データ、グラフィック、イメージなどのどれに相当するのかを区別し、かつ、それぞれのサイズを累積する。これにより、描画時間に関する精度の高い予測が可能となる。ディスプレーリストの生成では、印刷データの内容を解析して、文字、グラフィック、イメージのディスプレーリストを生成する。そのため、描画時間の予測のために行う描画オブジェクトの種類の判別やサイズの累積はディスプレーリストの生成時に行えば、それほど大きな処理量の増加を招くことなく描画時間の予測が可能である。
【００９３】
図２３は、解析処理部２２が行う印刷データの解析と描画時間の予測を行う処理の流れを示している。印刷データから１つのオブジェクトの描画コマンドを取得する（ステップＳ１０１）。その描画内容がテキストか否かを調べ（ステップＳ１０２）、テキストならば（ステップＳ１０２；Ｙｅｓ）、ディスプレーリスト（中間データ）としてのテキストオブジェクトを生成する（ステップＳ１０３）。そして、テキストオブジェクト数をカウントアップし（ステップＳ１０４）、テキストオブジェクトサイズの累積値に当該テキストオブジェクトのサイズを累積加算し（ステップＳ１０５）、ステップＳ１１３へ移行する。
【００９４】
ステップＳ１０１で取得した描画コマンドの描画内容がグラフィックならば（ステップＳ１０２；Ｎｏ、ステップＳ１０６；Ｙｅｓ）、ディスプレーリスト（中間データ）としてのグラフィックオブジェクトを生成する（ステップＳ１０７）。そして、グラフィックオブジェクト数をカウントアップし（ステップＳ１０８）、グラフィックオブジェクトサイズの累積値に当該グラフィックオブジェクトのサイズを累積加算し（ステップＳ１０９）、ステップＳ１１３へ移行する。
【００９５】
ステップＳ１０１で取得した描画コマンドの描画内容がイメージならば（ステップＳ１０２；Ｎｏ、ステップＳ１０６；；Ｎｏ）、ディスプレーリスト（中間データ）としてのイメージオブジェクトを生成する（ステップＳ１１０）。そして、イメージオブジェクト数をカウントアップし（ステップＳ１１１）、イメージオブジェクトサイズの累積値に当該イメージオブジェクトのサイズを累積加算し（ステップＳ１１２）、ステップＳ１１３へ移行する。
【００９６】
ステップＳ１１３では、頁の完了か否かを判断し、頁の完了でなければ（ステップＳ１１３；Ｎｏ）、ステップＳ１０１に戻って処理を継続する。頁の完了ならば（ステップＳ１１３；Ｙｅｓ）、各オブジェクト数とサイズとから描画時間を予測する（ステップＳ１１４）。予測は公知の各種手法を用いればよい。次に、頁の解析終了と予測した描画時間とを描画処理割り当て部２５が行う振り分け処理に通知する（ステップＳ１１５）。その後、各オブジェクトのカウント値、サイズの累積値を０にクリアする（ステップＳ１１６）。印刷データに含まれるすべての頁の解析が終了したか否かを判断し、未終了ならば（ステップＳ１１７；Ｎｏ）、ステップＳ１０１へ戻って処理を継続する。全頁終了ならば（ステップＳ１１７；Ｙｅｓ）、本処理を終了する。
【００９７】
図２４は、描画処理割り当て部２５が行う振り分け処理の流れを示している。振り分け処理では、各頁の描画処理を順番描画処理部２４による順番描画処理と先行描画処理部２３による先行描画処理のいずれかに振り分けて実行させる。この際、振り分け対象の頁の描画処理を順番描画処理で印刷頁順に行った場合の描画完了の予測時間と、この頁を連続印刷モードで印刷するために必要な印刷起動の出力タイミング（起動期限、図２４では印刷開始予定時間）とを比較する。
【００９８】
そして、順番描画処理による描画完了時点が起動期限に間に合えば、その頁の描画処理を順番描画処理部２４による順番描画処理に割り当てて実行させる。順番描画処理による描画完了時点が起動期限に間に合わない場合は、この頁を先行描画処理部２３による先行描画処理で行った場合の描画完了の予測時間を求め、先行描画処理で描画した場合に起動期限に間に合うならば、この頁の描画を先行描画処理に割り当てる。
【００９９】
先行描画処理で行っても起動期限に間に合わない場合は、先行描画処理と順番描画処理のうちこの頁の描画が先に完了する方に、この頁の描画処理を割り当てて実行させる。
【０１００】
詳細には、まず、順番描画予測時間累計と、先行描画予測時間累計をそれぞれ０にクリアする（ステップＳ２０１）。次に、図２３の解析処理から頁の解析終了とその頁の描画予測時間の通知が受信されるのを待つ（ステップＳ２０２）。該通知を受信したら（ステップＳ２０２；Ｙｅｓ）、順番描画予測時間累計に今回受信した描画予測時間を加算する（ステップＳ２０３）。そして、順番描画予測時間累計と当該頁の印刷開始予定時間（この頁の起動期限）とを比較する（ステップＳ２０４）。順番描画予測時間累計が当該頁の印刷開始予定時間を越えていなければ（ステップＳ２０４；Ｎｏ）、この頁の描画処理を順番描画処理部２４に割り当てて描画処理の開始を指示（描画開始通知を送信）し（ステップＳ２１３）、ステップＳ２１４へ移行する。
【０１０１】
順番描画予測時間累計が当該頁の印刷開始予定時間を越えている場合は（ステップＳ２０４；Ｙｅｓ）、この頁を先行描画処理に割り当てた場合にこの頁がジョブの最初の先行描画処理となるか否かを調べる（ステップＳ２０５）。最初の先行描画処理となる場合は（ステップＳ２０５；Ｙｅｓ）、先行描画予測時間累計にジョブ開始から現在までの経過時間を加算して（ステップＳ２０６）、ステップＳ２０７へ移行する。最初の先行描画処理でない場合は（ステップＳ２０５；Ｎｏ）、ステップＳ２０７へ移行する。
【０１０２】
ステップＳ２０７では、この頁を先行描画処理部２３で描画した場合の描画予測時間（ステップＳ２０２で受信した描画予測時間）を先行描画予測時間累計に加算する。そして、加算後の先行描画予測時間累計と当該頁の印刷開始予定時間（この頁の起動期限）とを比較する（ステップＳ２０８）。先行描画予測時間累計が当該頁の印刷開始予定時間を越えていなければ、すなわち、この頁を先行描画処理で描画すれば印刷開始予定時間（起動期限）に間に合う場合は（ステップＳ２０８；Ｎｏ）、ステップＳ２０３での加算を打ち消すために、順番描画予測時間累計からこの頁の描画予測時間を減算する（ステップＳ２１０）。そして、この頁の描画処理を先行描画処理部２３に割り当てて描画処理の開始を指示（描画開始通知を送信）し（ステップＳ２１１）、ステップＳ２１４へ移行する。
【０１０３】
先行描画予測時間累計が当該頁の印刷開始予定時間を越えている場合、すなわち、この頁の描画を先行描画処理で行っても起動期限に間に合わない場合は（ステップＳ２０８；Ｙｅｓ）、先行描画予測時間累計が順番描画予測時間累計を越えているか否かを調べる（ステップＳ２０９）。先行描画予測時間累計が順番描画予測時間累計を越えていなければ（ステップＳ２０９；Ｎｏ）、ステップＳ２１０へ移行し、この頁の描画処理を先行描画処理部２３に振り分ける。
【０１０４】
先行描画予測時間累計が順番描画予測時間累計を越えている場合、すなわち、この頁の描画処理を先行描画処理で行うと順番描画処理で行うより描画完了が遅くなる場合は（ステップＳ２０９；Ｙｅｓ）、ステップＳ２０７での加算を打ち消すために、先行描画予測時間累計からこの頁の描画予測時間を減算する（ステップＳ２１２）。そして、ステップＳ２１３へ移行して、この頁の描画処理を順番描画処理部２４に振り分ける。
【０１０５】
ステップＳ２１４では、ジョブ終了（最終頁まで振り分け完了）か否かを判断し、ジョブ終了でなければ（ステップＳ２１４；Ｎｏ）、ステップＳ２０２に戻って処理を継続する。ジョブ終了ならば（ステップＳ２１４；Ｙｅｓ）、本処理を終了する。
【０１０６】
図２５は、先行描画処理および順番描画処理の流れを示している。なお、先行描画処理と順番描画処理の流れは同一であり、図２５は一方を示している。図２４の振り分け処理から描画開始通知を受けると（ステップＳ２４１；Ｙｅｓ）、この頁の描画処理を行う（ステップＳ２４２）。この頁の描画処理が完了すると（ステップＳ２４３；Ｙｅｓ）、このジョブの最終頁（順番描画処理の場合はこのジョブのうち順番描画処理に割り当てられた中の最終頁、先行描画処理の場合はこのジョブのうち先行描画処理に割り当てられた中の最終頁）の描画完了か否かを調べる（ステップＳ２４４）。ジョブの最終頁の描画完了でなければ（ステップＳ２４４；Ｎｏ）、ステップＳ２４１に戻って処理を続ける。ジョブの最終頁の描画完了ならば（ステップＳ２４４；Ｙｅｓ）、本処理を終了する。
【０１０７】
たとえば、図２２の本発明の例４のように、２コアのＣＰＵのうちの一方のコアで順番描画処理を、他方のコアで先行描画処理を行わせる場合には、図２５に示す処理が順番描画処理用のコアと先行描画処理用のコアのそれぞれで独立して並行に実行される。
【０１０８】
次に、シングルコアのＣＰＵを用いる場合について説明する。
【０１０９】
＜既存例２−１＞
図２６は、シングルコアのＣＰＵで通常印刷（印刷頁順に描画処理）を行う場合の動作シーケンスと所要時間を示している。この例では、画像メモリは９頁分あり、１〜１０頁目の各頁の描画時間は１秒、１１頁目の描画時間は７秒の場合を示している。
【０１１０】
９頁目の描画処理が完了した時点でメモリ待ちに入り、１０頁目の描画開始は１頁目の排紙が完了した時点となり、１１頁目の描画開始は２頁目の排紙が完了した時点となっている。１０頁目の描画完了時点は連続印刷モードを継続させるための起動期限に間に合っているが、１１頁目の描画完了時点は、連続印刷モードを継続させるための起動期限（１０頁目の印刷起動から３秒以内）に間に合っていない。そのため、連続印刷モードが解除されて印刷停止状態となり、１１頁目の印刷起動を受けてから９秒の復帰動作が入って印刷遅延が発生している。
【０１１１】
１頁目の解析処理開始から最終頁の排出までのトータル印刷所要時間は、
０．５秒（１頁目の解析）＋１秒（１頁目の描画）＋１３秒（１頁目の給紙〜排紙間で）＋２秒（２頁目の排紙）＋２秒（３頁目の排紙）＋２秒（４頁目の排紙）＋・・＋９秒（連続印刷状態停止→復帰）＋４秒＝４５．５秒、となる。
【０１１２】
＜本発明の例５＞
図２７は、図２６に対して、１１頁目の描画を先行描画処理で行った場合の動作シーケンスと所要時間を示している。シングルコアＣＰＵでは、順番描画処理と先行描画処理はマルチタスクとして処理され。ここでは、順番描画処理は先行描画処理より高い優先順位にされている。ただし、順番描画処理は先行描画処理が描画する頁を追い越した頁の描画は実行しないように制御される。また、先行描画処理に描画処理を割り当てる時点でその頁用の画像メモリを確保し、順番描画処理では描画を実行する際にその頁のための画像メモリを確保し、確保できないときはメモリ待ちに入るものとする。
【０１１３】
図２７の例では、順番描画処理は解析の完了した頁から順に描画処理を行うが、１１頁目を先行描画処理で描画するための１頁分の画像メモリが既に確保されているので、８頁目の描画処理を完了した時点で、順番描画処理はメモリ待ちに入り、ＣＰＵは先行描画処理に割り当てられて、先行描画処理が実行される。その後、１頁目の排紙完了時点で画像メモリに再び空きが生じるので、ＣＰＵは優先順位の高い順番描画処理に割り当てられる。この描画は１秒で済むので、順番描画処理は再びメモリ待ちに入り、ＣＰＵは先行描画処理の続きを実行する。
【０１１４】
このように、シングルコアのＣＰＵでは、順番描画処理を優先的に行いつつ、メモリ待ちによってタスクを切り替えて先行描画処理が実行される。
【０１１５】
図２８は、シングルコアＣＰＵのプリンタコントローラ１０において各頁の描画処理を順番描画処理と先行描画処理に振り分ける振り分け処理を示す流れ図である。順番描画処理の優先順位は先行描画処理の優先順位より高く設定される。
【０１１６】
まず、順番描画予測時間累計と、先行描画予測時間累計をそれぞれ０にクリアする（ステップＳ３０１）。次に、図２３の解析処理から頁の解析終了とその頁の描画予測時間の通知が受信されるのを待つ（ステップＳ３０２）。該通知を受信したら（ステップＳ３０２；Ｙｅｓ）、順番描画予測時間累計に今回受信した描画予測時間を加算する（ステップＳ３０３）。そして、順番描画予測時間累計と当該頁の印刷開始予定時間（この頁の起動期限）とを比較する（ステップＳ３０４）。
【０１１７】
順番描画予測時間累計が当該頁の印刷開始予定時間を越えていなければ（ステップＳ３０４；Ｎｏ）、この頁の描画処理を順番描画処理部２４に割り当てて描画処理の開始を指示（描画開始通知を送信）して（ステップＳ３０５）、ステップＳ３０８へ移行する。
【０１１８】
順番描画予測時間累計が当該頁の印刷開始予定時間を越えている場合は（ステップＳ３０４；Ｙｅｓ）、この頁を先行描画処理で処理するための画像メモリを確保する（ステップＳ３０６）。そして、この頁の描画処理を先行描画処理に割り当てて描画処理の開始を指示（描画開始通知を送信）し（ステップＳ３０７）、ステップＳ３０８へ移行する。
【０１１９】
ステップＳ３０８では、ジョブ終了（最終頁まで振り分け完了）か否かを判断し、ジョブ終了でなければ（ステップＳ３０８；Ｎｏ）、ステップＳ３０２に戻って処理を継続する。ジョブ終了ならば（ステップＳ３０８；Ｙｅｓ）、本処理を終了する。
【０１２０】
図２９は、図２８の振り分け処理から描画開始通知を受ける順番描画処理の処理内容を示す流れ図である。図２８の振り分け処理から描画開始通知を受けると（ステップＳ３２１；Ｙｅｓ）、先行描画処理の印刷していない最初の頁の描画が完了しているか否かを調べる（ステップＳ３２２）。すなわち、先行描画処理を順番描画処理が追い越さないようにする。先行描画処理の印刷していない最初の頁の描画が完了していない場合（この頁の描画が先行描画処理を追い越す場合）は（ステップＳ３３２；Ｎｏ）、処理待ちに入る。この処理待ちはステップＳ３２２で「Ｙｅｓ」となるイベントの発生待ちであり、順番描画処理のタスクはスリープ状態に入り、その間、ＣＰＵは先行描画処理のタスクを実行することになる。
【０１２１】
先行描画処理の印刷していない最初の頁の描画が完了している場合は（ステップＳ３２２；Ｙｅｓ）、順番描画処理によりこの頁の描画処理を行う（ステップＳ３２３）。この頁の描画処理が完了すると（ステップＳ３２４；Ｙｅｓ）、このジョブの最終頁（このジョブのうち順番描画処理に割り当てられた中の最終頁）の描画完了か否かを調べる（ステップＳ３２５）。ジョブの最終頁の描画完了でなければ（ステップＳ３２５；Ｎｏ）、ステップＳ３２１に戻って処理を続ける。ジョブの最終頁の描画完了ならば（ステップＳ３２５；Ｙｅｓ）、本処理を終了する。
【０１２２】
図３０は、図２８の振り分け処理から描画開始通知を受ける先行描画処理の処理内容を示す流れ図である。図２８の振り分け処理から描画開始通知を受けると（ステップＳ３４１；Ｙｅｓ）、この頁の描画処理を行う（ステップＳ３４２）。この頁の描画処理が完了すると（ステップＳ３４３；Ｙｅｓ）、このジョブの最終頁（このジョブのうち先行描画処理に割り当てられた中の最終頁）の描画完了か否かを調べる（ステップＳ３４４）。ジョブの最終頁の描画完了でなければ（ステップＳ３４４；Ｎｏ）、ステップＳ３４１に戻って処理を続ける。ジョブの最終頁の描画完了ならば（ステップＳ３４４；Ｙｅｓ）、本処理を終了する。
【０１２３】
次に、４コア以上のマルチコアＣＰＵを用いる場合について説明する。ここでは、４コアの場合を例示する。
【０１２４】
＜本発明の例６＞
図３１は、順番描画処理と先行描画処理のそれぞれに２つのＣＰＵコアを割り当てた場合の動作シーケンスと所要時間を示す図である。画像メモリは９頁分あるものとし、振り分け処理にて任意の頁の描画処理を先行描画処理に割り当てる際にその頁分の画像メモリを確保するものとする。図３１の例では、８頁目の描画開始によって画像メモリに空き頁はなくなるが、８頁目の描画処理中に１頁目の印刷・排紙が完了するので、９頁目はメモリ待ちに入ることなく、順番描画処理による描画処理が行われる。また、１１頁目を先行描画処理で描画するので、１１頁目の描画処理は１１頁に対する起動期限に間に合い、１１頁目も連続印刷モードで印刷が行われ、印刷停止状態に入ることはない。
【０１２５】
＜本発明の例７＞
図３２は、順番描画処理に１つのＣＰＵコアを割り当て、先行描画処理に３つのＣＰＵコアを割り当てた場合の動作シーケンスと所要時間を示す図である。画像メモリは９頁分あるものとし、振り分け処理にて任意の頁の描画処理を先行描画処理に割り当てる際にその頁分の画像メモリを確保するものとする。図３２も図３１の場合と同様に、８頁目の描画開始によって画像メモリに空き頁はなくなるが、８頁目の描画処理中に１頁目の印刷・排紙が完了するので、９頁目はメモリ待ちに入ることなく、順番描画処理による描画処理が行われる。また、１１頁目を先行描画処理で描画するので、１１頁目の描画処理は１１頁に対する起動期限の到来前に完了し、１１頁目も連続印刷モードで印刷が行われ、印刷停止状態に入ることはない。
【０１２６】
＜本発明の例８＞
図３３は、順番描画処理に３つのＣＰＵコアを割り当て、先行描画処理に１つのＣＰＵコアを割り当てた場合の動作シーケンスと所要時間を示す図である。画像メモリは９頁分あるものとし、振り分け処理にて任意の頁の描画処理を先行描画処理に割り当てる際にその頁分の画像メモリを確保するものとする。図３３も図３１、図３２の場合と同様に、８頁目の描画開始によって画像メモリに空き頁はなくなるが、８頁目の描画処理中に１頁目の印刷・排紙が完了するので、９頁目はメモリ待ちに入ることなく、順番描画処理による描画処理が行われる。また、１１頁目を先行描画処理で描画するので、１１頁目の描画処理は１１頁に対する起動期限に間に合い、１１頁目も連続印刷モードで印刷が行われ、印刷停止状態に入ることはない。
【０１２７】
本発明の例６〜例８については、図２３の処理においてＣＰＵコアの割り当て数に応じた描画予測時間を求めればよく、図２４、図２５については同様の処理でよい。
【０１２８】
＜本発明の例９＞
図３４は、４コアＣＰＵを使用し、順番描画処理に１つのＣＰＵコアを割り当て、先行描画処理の必要な各頁に１つずつＣＰＵコアを割り当てた場合の動作シーケンスと所要時間を示す図である。
【０１２９】
図３５から図３７は、順番描画処理に１つのＣＰＵコアを割り当て、先行描画処理の必要な各頁にそれぞれ１つずつＣＰＵコアを割り当てる場合の振り分け処理を示す流れ図である。
【０１３０】
まず、振り分け対象の頁の描画処理を順番描画処理で印刷頁順に行った場合の描画完了の予測時間と、この頁を連続印刷モードで印刷するために必要な印刷起動の出力タイミング（起動期限）とを比較し（ステップＳ４０１からＳ４０４）、順番描画処理による描画完了時点が起動期限に間に合えば（ステップＳ４０４；Ｎｏ）、その頁の描画処理を順番描画処理に割り当てて実行させて（ステップＳ４２９）、ステップＳ４３０へ移行する。順番描画処理による描画完了時点が起動期限に間に合わない場合は（ステップＳ４０４；Ｙｅｓ）、この頁を別の１つのＣＰＵコアを使用する第１先行描画処理で行った場合の描画完了の予測時間を求め（ステップＳ４０５からＳ４０７）、第１先行描画処理で描画した場合に起動期限に間に合うならば（ステップＳ４０８；Ｎｏ）、この頁の描画を先行描画処理に割り当てて（ステップＳ４１０、Ｓ４１１）、ステップＳ４３０へ移行する。
【０１３１】
第１先行描画処理で描画を行っても起動期限に間に合わない場合は（ステップＳ４０８；Ｙｅｓ、ステップＳ４０９；Ｙｅｓ）、この頁を他の１つのＣＰＵコアを使用する第２先行描画処理で行った場合の描画完了の予測時間を求める（図３６、ステップＳ４１３からＳ４１５）。第２先行描画処理で描画した場合に起動期限に間に合うならば（ステップＳ４１６；Ｎｏ）、この頁の描画を第２の先行描画処理に割り当てて（ステップＳ４１８、Ｓ４１９）、ステップＳ４３０へ移行する。
【０１３２】
第２先行描画処理で行っても起動期限に間に合わない場合は（ステップＳ４１６；Ｙｅｓ、Ｓ４１７；Ｙｅｓ）、この頁を他の１つのＣＰＵコアを使用する第３先行描画処理で行った場合の描画完了の予測時間を求める（ステップＳ４２１からＳ４２３）。第３先行描画処理で描画した場合に起動期限に間に合うならば（ステップＳ４２４；Ｎｏ）、この頁の描画を第３先行描画処理に割り当てて（ステップＳ４２６、Ｓ４２７）、ステップＳ４３０へ移行する。
【０１３３】
第３先行描画処理で行っても起動期限に間に合わない場合は（ステップＳ４２４；Ｙｅｓ）、第３先行描画処理と順番描画処理のうち、この頁の描画処理が早く完了する方に、この頁の描画処理を割り当てて（ステップＳ４２５から４２９）、ステップＳ４３０へ移行する。
【０１３４】
ステップＳ４３０ではジョブ終了か否かを判断し、ジョブ終了でなければ（ステップＳ４３０；Ｎｏ）、ステップＳ４０２へ戻って次の頁の振り分けを行う。ジョブ終了ならば（ステップＳ４３０；Ｙｅｓ）、本処理を終了する。
【０１３５】
なお、順番描画処理、第１〜第３先行描画処理のいずれで描画処理を行っても起動期限に間に合わない場合には、順番描画処理および第１〜第３先行描画処理の中で最も早く描画の終了する処理にその頁の描画処理を割り当てるようにしてもよい。
【０１３６】
次に、マルチコアＣＰＵ構成で、いずれかのＣＰＵに割り当てた描画処理がメモリ待ちとなった場合に、そのメモリ待ちとなったＣＰＵを実行中の他の描画処理に割り当てる場合について説明する。
【０１３７】
＜本発明の例１０＞
図３８は、デュアルコアＣＰＵで一方のコアがメモリ待ちとなった場合にそのコアに他方のコア（描画処理実行中のコア）の処理を分担させる場合の動作シーケンスと所要時間を示している。図３８では、１頁目から８頁目まではコア１に順番描画処理を割り当てて描画処理が実行される。先行描画処理に１１頁目の描画処理を割り当てた際にこの頁用の画像メモリは確保されるので、コア１による順番描画処理は８頁目の描画終了時点でメモリ待ちに入る。
【０１３８】
順番描画処理に割り当てられていたコア１に、メモリ待ちに入ってから１頁目の印刷・排紙が完了して画像メモリに再び空きが生じるまでの間、先行描画処理を分担させる。すなわち、コア１とコア２の双方を用いて先行描画処理が行われる。１頁目の印刷・排紙が完了するとコア１は９頁目の順番描画処理を開始する。９頁目の描画処理が完了した時点で順番描画処理は再びメモリ待ちに入り、２頁目の印刷・排紙が完了してメモリ待ちが解除されるまでの間、再びコア１とコア２とで分担して先行描画処理が実行される。
【０１３９】
かかる処理の切り替え制御は、コア１において先行描画処理の優先順位より順番描画処理の優先順位を高くすることによって可能になる。なお、４コアの場合も同様に順番描画処理がメモリ待ちの間、順番描画処理に割り当てていたコアを先行描画処理に動的に割り当てるようにすればよい。また、順番描画処理に割り当てるコアの数あるいは比率は、その頁の描画予測時間に応じて動的に変化させてもよい。
【０１４０】
＜本発明の例１１＞
図３９は、マルチコアＣＰＵで先行描画処理が不要な間は、順番描画処理に最大数のＣＰＵコアを割り当てる場合の動作シーケンスと所要時間を示している。１頁目から５頁目までの順番描画処理は、先行描画処理が開始される前に行われるため、コア１とコア２の双方を用いて行われる。また１０頁目の順番描画処理は、先行描画処理が終了した後に行われるため、コア１とコア２の双方を用いて行われる。４コアの場合は、順番描画処理に４コアすべてが割り当てられる。
【０１４１】
＜本発明の例１２＞
図４０は、マルチコアＣＰＵの構成において順番描画処理でメモリ待ちが発生した時にそのＣＰＵコアを先行描画処理に割り当て、かつ先行描画処理が不要な間は順番描画処理に最大数のＣＰＵコアを割り当てる場合の動作シーケンスと所要時間を示している。１頁目から５頁目までの順番描画処理は、先行描画処理が開始される前に行われるため、コア１とコア２の双方を用いて行われる。コア１を用いた６頁目、７頁目、８頁目の順番描画処理は、コア２を用いた１１頁目の先行描画処理と並行に行われる。
【０１４２】
８頁目の描画完了時点から１頁目の印刷・排紙が完了するまでの間、順番描画処理はメモリ待ちに入るので、その間は、コア１も先行描画処理に割り当てられる。１頁目の印刷・排紙が完了するとメモリ待ちは解除され、コア１は９頁目の順番描画処理を開始する。９頁目の描画処理が完了した時点で順番描画処理は再びメモリ待ちに入り、２頁目の印刷・排紙が完了してメモリ待ちが解除されるまでの間、再びコア１とコア２とが分担して先行描画処理が実行される。なお、４コアの場合も同様に、先行描画処理が無いときは、順番描画処理に最大数のＣＰＵコアが割り当てられる。
【０１４３】
＜本発明の例１３＞
図４１は、２コアのＣＰＵで順番描画処理の負荷が大きい場合に先行描画処理を一時中断してＣＰＵを順番描画処理に割り当てる場合の動作シーケンスと所要時間を示す図である。この例では、通常はコア１により順番描画処理が行われるが、４頁目の順番描画処理の負荷が所定の閾値より大きいため、４頁目の順番描画処理は、コア２による先行描画処理を一時的に中断させてコア１とコア２の双方で行われる。
【０１４４】
８頁目の描画開始によって画像メモリに空き頁はなくなるが、８頁目の描画処理中に１頁目の印刷・排紙が完了するので、９頁目はメモリ待ちに入ることなく、順番描画処理による描画処理が行われる。また、１１頁目を先行描画処理で描画するので、１１頁目の描画処理は１１頁を連続印刷モードで印刷するための起動期限の前に完了し、１１頁目も連続印刷モードで印刷が行われ、印刷停止状態に入ることはない。
【０１４５】
＜本発明の例１４＞
図４２は、４コアのＣＰＵで順番描画処理の負荷が大きい場合に先行描画処理を一時中断してＣＰＵを順番描画処理に割り当てる場合の動作シーケンスと所要時間を示す図である。４頁目の順番描画処理は負荷が第１閾値より大きいため、４頁目の順番描画処理は、コア２〜コア４で実行されていた先行描画処理のうちコア２による先行描画処理を一時的に中断させ、コア１とコア２を用いて行われる。
【０１４６】
５頁目の順番描画処理の負荷が、第１閾値より大きい第２閾値を越えるため、５頁目の順番描画処理は、コア２〜コア４で実行されていた先行描画処理のうちコア２およびコア３による先行描画処理を一時的に中断させ、コア１からコア３で行われる。
【０１４７】
８頁目の順番描画処理の負荷が、第２閾値よりさらに大きい第３閾値を越えるため、８頁目の順番描画処理は、コア２〜コア４で実行されていた先行描画処理をすべて一時的に中断させ、コア１からコア４を用いて行われる。
【０１４８】
なお、８頁目の描画開始によって画像メモリに空き頁はなくなるが、８頁目の描画処理中に１頁目の印刷・排紙が完了するので、９頁目はメモリ待ちに入ることなく、順番描画処理による描画処理が行われる。また、１１頁目を先行描画処理で描画するので、１１頁目の描画処理は１１頁に対する起動期限の前に完了し、１１頁目も連続印刷モードで印刷が行われ、印刷停止状態に入ることはない。
【０１４９】
＜本発明の例１５＞
図４３は、２コアＣＰＵの構成において、順番描画処理でメモリ待ちが発生した場合に順番描画処理用のＣＰＵコアを先行描画処理に割り当て、かつ先行描画処理が不要な間は順番描画処理に最大数のＣＰＵコアを割り当て、かつ順番描画処理の負荷が大きい場合に先行描画処理を一時中断してＣＰＵを順番描画処理に割り当てる場合の動作シーケンスと所要時間を示している。
【０１５０】
１頁目から５頁目までの順番描画処理は、先行描画処理が開始される前に行われるため、コア１とコア２の双方を用いて行われる。コア１を用いた６頁目、７頁目、８頁目の順番描画処理は、コア２を用いた１１頁目の先行描画処理と並行に行われる。８頁目の描画完了時点から１頁目の印刷・排紙が完了するまでの間、順番描画処理はメモリ待ちに入るので、その間は、コア１も先行描画処理に割り当てられる。
【０１５１】
１頁目の印刷・排紙が完了するとメモリ待ちは解除されて９頁目の順番描画処理が開始される。この処理の負荷は閾値を超えるため、先行描画処理を一時中断し、コア１とコア２の双方を用いて９頁目の順番描画処理が行われる。９頁目の描画処理が完了した時点で順番描画処理は再びメモリ待ちに入るので、２頁目の印刷・排紙が完了してメモリ待ちが解除されるまでの間、再びコア１とコア２とで先行描画処理が実行される。
【０１５２】
２頁目の印刷・排紙が完了するとメモリ待ちは解除されて１０頁目の順番描画処理が開始される。この処理の負荷は閾値を超えるため、先行描画処理を一時中断し、コア１とコア２の双方を用いて１０頁目の順番描画処理が行われる。１０頁目の順番描画処理が終了すると、これ以上の順番描画処理は無いので、コア１とコア２の双方が先行描画処理に割り当てられる。
【０１５３】
＜本発明の例１６＞
図４４は、４コアＣＰＵ構成において、順番描画処理でメモリ待ちが発生した場合に順番描画処理用のＣＰＵコアを先行描画処理に割り当て、かつ先行描画処理が不要な間は順番描画処理に最大数のＣＰＵコアを割り当て、かつ順番描画処理の負荷が大きい場合に先行描画処理を一時中断してＣＰＵを順番描画処理に割り当てる場合の動作シーケンスと所要時間を示している。
【０１５４】
１頁目から５頁目までの順番描画処理は、先行描画処理が開始される前に行われるため、コア１〜コア４をすべて用いて行われる。６頁目の描画処理は、負荷が第１閾値より少ないのでコア１のみを用いて、コア２〜コア４を用いた１１頁目の先行描画処理と並行に行われる。７頁目の描画処理は、負荷が第１閾値より大きく第２閾値より小さいのでコア１とコア２を用いて、コア３とコア４による１１頁目の先行描画処理と並行に行われる。８頁目の描画処理は、負荷が第２閾値を超えて第３閾値より小さいのでコア１〜コア３を用いて、コア４による１１頁目の先行描画処理と並行に行われる。
【０１５５】
８頁目の描画完了時点から１頁目の印刷・排紙が完了するまでの間、順番描画処理はメモリ待ちに入るので、その間は、コア１〜コア４のすべてが先行描画処理に割り当てられる。
【０１５６】
１頁目の印刷・排紙が完了するとメモリ待ちは解除されて９頁目の順番描画処理が開始される。この処理の負荷は第３閾値を超えるため、先行描画処理を一時中断し、コア１〜コア４のすべてを用いて９頁目の順番描画処理が行われる。９頁目の描画処理が完了した時点で順番描画処理は再びメモリ待ちに入るので、２頁目の印刷・排紙が完了してメモリ待ちが解除されるまでの間は、再びコア１からコア４を用いて先行描画処理が実行される。
【０１５７】
２頁目の印刷・排紙が完了するとメモリ待ちは解除されて１０頁目の順番描画処理が開始される。このとき既に先行描画処理は完了しているので、コア１〜コア４のすべてを用いて１０頁目の順番描画処理が行われる。
【０１５８】
上記のようなＣＰＵの割り当ては、先行描画処理の優先順位より順番描画処理の優先順位を高くすることで制御可能になる。たとえば、数字が小さいほど優先順位が高いものとして、コア１による先行描画処理を優先順位８、コア２による先行描画処理を優先順位６、コア３による先行描画処理を優先順位４、コア４による先行描画処理を優先順位２に設定する。そして、順番描画処理の優先順位を、その頁の描画処理の負荷に応じて、７、５、３、１のいずれかに変更する。具体的には、順番描画処理による描画処理の負荷が前述の第１閾値より小さい頁の場合は優先順位７を、第１閾値より大きく第２閾値より小さい頁の場合は優先順位５を、第２閾値より大きく第３閾値より小さい頁の場合は優先順位３を、第３閾値より大きい頁の場合は優先順位１をその頁の順番描画処理に設定する。
【０１５９】
たとえば、順番描画処理を優先順位５に設定すると、コア１の先行描画処理（優先順位８）とコア２の先行描画処理（優先順位６）は順番描画処理の優先順位５より低くなるので、コア１とコア２は順番描画処理に割り当てられる。コア３の先行描画処理（優先順位４）とコア４の先行描画処理（優先順位２）は順番描画処理の優先順位５より高いので、コア３とコア４は先行描画処理に割り当てられる。
【０１６０】
＜本発明の例１７＞
図４５は、４コアＣＰＵ構成において順番描画処理の負荷が大きい場合に先行描画処理から各ＣＰＵコアを均等に順番描画処理に割り当てる場合の動作シーケンスと所要時間を示している。
【０１６１】
１頁目から３頁目までの順番描画処理は、先行描画処理が開始される前に行われるため、コア１〜コア４を用いて行われる。４頁目から８頁目までの順番描画処理は先行描画処理と並行に行われる。このうち、４、５、７頁目は負荷が大きく、２つのＣＰＵコアで実行される。この際、コア１は常に順番描画処理に割り当てられ、他の１つのコアは、最大でコア２〜コア４の３コアで行われる先行描画処理から各コア均等に選ばれて割り当てられる。
【０１６２】
すなわち、先行描画処理に割り当てられたコア２〜コア４のうち、４頁目の順番描画処理にはコア２を、５頁目の順番描画処理にはコア３を、７頁目の順番描画処理にはコア４をそれぞれ割り当てることで、コア２〜コア４のそれぞれが１回ずつ、均等に順番描画処理に割り当てられる。
【０１６３】
次に、先行描画処理を行っても印刷起動が起動期限に間に合わずに印刷遅延が生じる場合に、途中頁の印刷起動の出力タイミングを連続印刷モードが維持される範囲で遅らせることで、印刷停止状態に陥ることを防止する場合について説明する。
【０１６４】
画像形成装置５では、最大印刷速度である３０ＰＰＭを確保するためには２秒間隔で印刷起動を出力する必要があるが、連続印刷モードを維持するための印刷起動間隔（起動期限）は３秒とされている。そこで、先行描画処理を行っても描画完了がその頁の起動期限に間に合わない（前頁の印刷起動から３秒を超えてしまう）場合は、それより前の頁（途中頁）に対する印刷起動の間隔を、２秒より長くかつ起動期限の３秒を越えない範囲（たとえば３秒）で意図的に遅延させる。これにより、先行描画処理で描画された頁に対する印刷起動とその前の頁に対する印刷起動との間隔が３秒以内に収まるようにする。なお、上記のように途中頁に対する印刷起動を意図的に遅延させても、先行描画処理で描画された頁とその前の頁との印刷起動の間隔が３秒を超えて、印刷停止状態に入る場合には、途中頁での意図的な印刷起動の遅延は行わないように制御する。
【０１６５】
図４６は、先行描画処理を行っても印刷遅延が発生する場合の動作シーケンスと所要時間を示している。この例では、１頁目から１０頁目に係る印刷起動を３０ＰＰＭが確保されるように２秒間隔で行っている。しかし、１１頁目の先行描画処理に長時間を要するため、１１頁目の印刷起動が起動期限（１０頁目の印刷起動から３秒）を越えて４秒となり、連続印刷モードが解除されて、印刷停止状態に入っている。
【０１６６】
＜本発明の例１８＞
図４７は、図４６に対して、１０頁目の印刷起動を１秒遅らせることによって印刷停止状態を回避した場合の動作シーケンスと所要時間を示している。９頁目の印刷起動から３秒後に１０頁目の印刷起動を出力し、さらにその３秒後に１１頁目の印刷起動を出力することで、印刷停止状態を回避している。
【０１６７】
＜本発明の例１９＞
図４８は、図４６に対して、１１頁目の先行描画処理がさらに１秒長くかかる場合において、９頁目と１０頁目の印刷起動をそれぞれの前の頁の印刷起動から３秒後に遅らせることで印刷停止状態を回避させた場合の動作シーケンスと所要時間を示している。
【０１６８】
このように、先行描画処理で描画してもその頁の描画完了が連続印刷モードを維持できる起動期限に間に合わない場合に、その頁に先行する１または複数の途中頁の印刷起動を連続印刷モードが解除されない範囲で遅らせること（これを、起動遅延と呼ぶものとする）により、先行描画処理で描画した頁が印刷停止状態に入ることを防ぐことが可能になり、印刷のパフォーマンスを高めることができる。
【０１６９】
なお、起動遅延を行うには、先行描画処理で描画完了となる時間と起動期限との差分の時間が、それより前の途中頁によって印刷起動を遅延可能な時間の合計以下でなければならない。また、上記の差分が、印刷停止状態に一旦入ってから復帰するまでの印刷遅延時間（本例では、連続印刷状態停止→復帰に要する９秒）より長い場合には、印刷のパフォーマンスの向上が見込めないばかりか、動作を継続することで各部の劣化が進むので、起動遅延は行わない。
【０１７０】
図４９、図５０は、印刷起動の遅延を考慮して各頁の描画処理を順番描画処理と先行描画処理に割り当てる振り分ける処理の流れ図である。まず、順番描画予測時間累計と、先行描画予測時間累計をそれぞれ０にクリアする（ステップＳ５０１）。次に、図２３の解析処理から頁の解析終了とその頁の描画予測時間の通知が受信されるのを待つ（ステップＳ５０２）。該通知を受信したら（ステップＳ５０２；Ｙｅｓ）、順番描画予測時間累計に今回受信した描画予測時間を加算する（ステップＳ５０３）。そして、順番描画予測時間累計と当該頁の印刷開始予定時間（この頁の起動期限）とを比較する（ステップＳ５０４）。順番描画予測時間累計が当該頁の印刷開始予定時間を越えていなければ（ステップＳ５０４；Ｎｏ）、この頁の描画処理を順番描画処理に割り当てて描画処理の開始を指示（描画開始通知を送信）して（ステップＳ５１９）、ステップＳ５２０へ移行する。
【０１７１】
順番描画予測時間累計が当該頁の印刷開始予定時間を越えている場合は（ステップＳ５０４；Ｙｅｓ）、この頁を先行描画処理に割り当てた場合にこの頁がこのジョブの最初の先行描画処理となるか否かを調べる（ステップＳ５０５）。最初の先行描画処理となる場合は（ステップＳ５０５；Ｙｅｓ）、先行描画予測時間累計にジョブ開始から現在までの経過時間を加算して（ステップＳ５０６）、ステップＳ５０７へ移行する。最初の先行描画処理でない場合は（ステップＳ５０５；Ｎｏ）、ステップＳ５０７へ移行する。
【０１７２】
ステップＳ５０７では、この頁を先行描画処理で描画した場合の描画予測時間（ステップＳ５０２で受信した描画予測時間）を先行描画予測時間累計に加算する。そして、加算後の先行描画予測時間累計と当該頁の印刷開始予定時間（この頁の起動期限）とを比較する（ステップＳ５０８）。先行描画予測時間累計が当該頁の印刷開始予定時間を越えていなければ、すなわち、この頁を先行描画処理で描画すれば起動期限に間に合う場合は（ステップＳ５０８；Ｎｏ）、ステップＳ５０３での加算を打ち消すために、順番描画予測時間累計からこの頁の描画予測時間を減算する（ステップＳ５１３）。そして、この頁の描画処理を先行描画処理に割り当てて描画処理の開始を指示（描画開始通知を送信）して（ステップＳ５１４）、ステップＳ５２０へ移行する。
【０１７３】
先行描画予測時間累計が当該頁の印刷開始予定時間を越えている場合、すなわち、この頁の描画を先行描画処理で行っても起動期限に間に合わない場合は（ステップＳ５０８；Ｙｅｓ）、先行描画予測時間累計が順番描画予測時間累計を越えているか否かを調べる（ステップＳ５０９）。先行描画予測時間累計が順番描画予測時間累計を越えていなければ、つまり、この頁の描画を先行描画処理で行っても順番描画処理で行っても起動期限に間に合わないが先行描画処理で描画した方がこの頁の描画処理が早く完了する場合は（ステップＳ５０９；Ｎｏ）、先行描画予測時間累計と印刷開始予定時間との差分を遅延時間として求める（ステップＳ５１０）。
【０１７４】
この遅延時間が、途中頁の印刷起動を印刷停止状態に入らない範囲で遅らせることで遅延可能な最大遅延時間（頁単位の遅延可能時間×遅延可能頁数）以下か否かを判断する（ステップＳ５１１）。遅延時間が最大遅延時間以下ならば（ステップＳ５１１；Ｙｅｓ）、途中頁の印刷起動を遅らせる処理を起動部２６に依頼して（ステップＳ５１２）、ステップＳ５１３へ移行する。遅延時間が最大遅延時間を超える場合は（ステップＳ５１１；Ｎｏ）、ステップＳ５１３へ移行する（この場合、途中頁での印刷起動の遅延は行わない）。なお、流れ図では省略したが、遅延時間が、印刷停止状態に一旦入ることによって生じる印刷遅延時間（この例では、連続印刷状態停止から復帰するのに要する９秒）を越える場合にはステップＳ５１１で「Ｎｏ」と判断しステップＳ５１３へ移行するものとする。
【０１７５】
先行描画予測時間累計が順番描画予測時間累計を越えている場合、つまり、この頁の描画を先行描画処理で行っても順番描画処理で行っても起動期限に間に合わないが順番描画処理で描画した方がこの頁の描画処理が早く完了する場合は（ステップＳ５０９；Ｙｅｓ）、順番描画予測時間累計と印刷開始予定時間との差分を遅延時間として求める（ステップＳ５１５）。この遅延時間が、最大遅延時間（頁単位の遅延可能時間×遅延可能頁数）以下か否かを判断する（ステップＳ５１６）。遅延時間が最大遅延時間以下ならば（ステップＳ５１６；Ｙｅｓ）、途中頁の印刷起動を遅らせる処理を起動部２６に依頼して（ステップＳ５１７）、ステップＳ５１８へ移行する。
【０１７６】
遅延時間が最大遅延時間を超える場合は（ステップＳ５１６；Ｎｏ）、ステップＳ５１８へ移行する。なお、流れ図では省略したが、遅延時間が、印刷停止状態に一旦入ることによって生じる印刷遅延時間（この例では、連続印刷状態停止から復帰するのに要する９秒）を越える場合にはステップＳ５１６で「Ｎｏ」と判断しステップＳ５１８へ移行するものとする。
【０１７７】
ステップＳ５１８では、ステップＳ５０７での加算を打ち消すために、先行描画予測時間累計からこの頁の描画予測時間を減算する。そして、ステップＳ５１９へ移行して、この頁の描画処理を順番描画処理に振り分ける。
【０１７８】
ステップＳ５２０では、ジョブ終了（最終頁まで振り分け完了）か否かを判断し、ジョブ終了でなければ（ステップＳ５２０；Ｎｏ）、ステップＳ５０２に戻って処理を継続する。ジョブ終了ならば（ステップＳ５２０；Ｙｅｓ）、本処理を終了する。
【０１７９】
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
【０１８０】
実施の形態では、マルチコアＣＰＵとして２コア、４コアのＣＰＵ構成を例に説明したが、コアの数はこれに限定されない。また、マルチＣＰＵをマルチコアＣＰＵで構成したが、シングルコアのＣＰＵを複数用いてもよい。
【０１８１】
実施の形態では、プリンタコントローラ１０を一体にした画像形成装置５を例に説明したが、本発明は別体のプリンタコントローラ１０として構成されてもよい。
【０１８２】
本実施の形態では、描画処理を行うＣＰＵに印刷データの解析処理（描画時間の予測処理を含む）を行わせるようにしたが、解析処理用に別途のＣＰＵを設けてもよい。
【０１８３】
描画時間の予測を解析処理の中で行ったが、解析処理の作製したディスプレーリストなどから頁毎の描画時間を予測する処理を解析処理と別途の処理としてもよい。
【符号の説明】
【０１８４】
２…ＰＣ
５…画像形成装置
６…スキャナ部
７…印刷制御部
８…エンジン部
１０…プリンタコントローラ
１１…バス
１２…ＣＰＵ
１３…ＲＡＭ
１４…ＲＯＭ
１５…不揮発メモリ
１６…通信Ｉ／Ｆ
１７…エンジンＩ／Ｆ
２１…描画時間予測部
２２…解析処理部
２３…先行描画処理部
２４…順番描画処理部
２５…描画処理割り当て部
２６…起動部
【図１】
2014091240.tif 000003
【図２】
2014091240.tif 000004
【図１１】
2014091240.tif 000005
【図２３】
2014091240.tif 000006
【図２４】
2014091240.tif 000007
【図２５】
2014091240.tif 000008
【図２８】
2014091240.tif 000009
【図２９】
2014091240.tif 000010
【図３０】
2014091240.tif 000011
【図３５】
2014091240.tif 000012
【図３６】
2014091240.tif 000013
【図３７】
2014091240.tif 000014
【図４９】
2014091240.tif 000015
【図５０】
2014091240.tif 000016
【図３】
2014091240.tif 000017
【図４】
2014091240.tif 000018
【図５】
2014091240.tif 000019
【図６】
2014091240.tif 000020
【図７】
2014091240.tif 000021
【図８】
2014091240.tif 000022
【図９】
2014091240.tif 000023
【図１０】
2014091240.tif 000024
【図１２】
2014091240.tif 000025
【図１３】
2014091240.tif 000026
【図１４】
2014091240.tif 000027
【図１５】
2014091240.tif 000028
【図１６】
2014091240.tif 000029
【図１７】
2014091240.tif 000030
【図１８】
2014091240.tif 000031
【図１９】
2014091240.tif 000032
【図２０】
2014091240.tif 000033
【図２１】
2014091240.tif 000034
【図２２】
2014091240.tif 000035
【図２６】
2014091240.tif 000036
【図２７】
2014091240.tif 000037
【図３１】
2014091240.tif 000038
【図３２】
2014091240.tif 000039
【図３３】
2014091240.tif 000040
【図３４】
2014091240.tif 000041
【図３８】
2014091240.tif 000042
【図３９】
2014091240.tif 000043
【図４０】
2014091240.tif 000044
【図４１】
2014091240.tif 000045
【図４２】
2014091240.tif 000046
【図４３】
2014091240.tif 000047
【図４４】
2014091240.tif 000048
【図４５】
2014091240.tif 000049
【図４６】
2014091240.tif 000050
【図４７】
2014091240.tif 000051
【図４８】
2014091240.tif 000052