(57)【要約】【課題】複数の演算手段を用いた複数ページに対する処理速度を効率的に向上できる画像形成装置、制御方法及び制御プログラムを提供することを課題とする。【解決手段】複数の演算手段と、複数ページからなる印刷データを解析する解析手段４１と、複数ページからなる印刷データの各ページをそれぞれ描画する描画処理を行う描画手段４２と、描画手段で行う描画処理に対する複数の演算手段の割り当てを、解析手段４１による解析結果を元に印刷データの描画処理完了が最短になるように判定する割り当て判定手段４３と、割り当て判定手段４３による判定結果に基づいて複数の演算手段を描画手段４２が行う描画処理に割り当てる制御手段４４とを有することにより上記課題を解決する。【選択図】図６
2013052568.tif 000002
【特許請求の範囲】
【請求項１】
複数の演算手段と、
複数ページからなる印刷データを解析する解析手段と、
前記複数ページからなる印刷データの各ページをそれぞれ描画する描画処理を行う描画手段と、
前記描画手段で行う描画処理に対する前記複数の演算手段の割り当てを、前記解析手段による解析結果を元に前記印刷データの描画処理完了が最短になるように判定する割り当て判定手段と、
前記割り当て判定手段による判定結果に基づいて前記複数の演算手段を前記描画手段が行う描画処理に割り当てる制御手段と
を有すること
を特徴とする画像形成装置。
【請求項２】
前記解析手段は、前記複数ページからなる印刷データを解析する際、所定ページ数毎に印刷データを解析すること
を特徴とする請求項１記載の画像形成装置。
【請求項３】
前記解析手段は、前記複数ページからなる印刷データを蓄積する際、印刷データを解析して、その解析結果を保存しておき、
前記割り当て判定手段は、前記描画手段で行う描画処理に対する前記複数の演算手段の割り当てを、前記保存しておいた解析結果を元に前記印刷データの描画処理完了が最短になるように判定すること
を特徴とする請求項１記載の画像形成装置。
【請求項４】
前記割り当て判定手段は、前記解析手段による解析結果を元に、各ページのデータ量から前記演算手段の割り当て数と描画処理の時間との関係をページ毎に算出して、前記複数ページの画像データを描画する描画処理に対する前記複数の演算手段の割り当てを、前記印刷データの描画処理完了が最短になるように判定すること
を特徴とする請求項１乃至３何れか一項記載の画像形成装置。
【請求項５】
前記割り当て判定手段は、前記解析手段による解析結果を元に、各ページに含まれるテキスト、イメージ、グラフィックから前記演算手段の割り当て数と描画処理の時間との関係をページ毎に算出して、前記複数ページの画像データを描画する描画処理に対する前記複数の演算手段の割り当てを、前記印刷データの描画処理完了が最短になるように判定すること
を特徴とする請求項１乃至３何れか一項記載の画像形成装置。
【請求項６】
画像形成装置によって実行される制御方法であって、
複数ページからなる印刷データを解析する解析ステップと、
前記複数ページからなる印刷データの各ページをそれぞれ描画する描画処理を行う描画ステップと、
前記描画ステップで行う描画処理に対する複数の演算手段の割り当てを、前記解析ステップによる解析結果を元に前記印刷データの描画処理完了が最短になるように判定する割り当て判定ステップと、
前記割り当て判定ステップによる判定結果に基づいて前記複数の演算手段を前記描画ステップが行う描画処理に割り当てる制御ステップと
を有すること
を特徴とする制御方法。
【請求項７】
コンピュータを、
複数ページからなる印刷データを解析する解析手段と、
前記複数ページからなる印刷データの各ページをそれぞれ描画する描画処理を行う描画手段と、
前記描画手段で行う描画処理に対する複数の演算手段の割り当てを、前記解析手段による解析結果を元に前記印刷データの描画処理完了が最短になるように判定する割り当て判定手段と、
前記割り当て判定手段による判定結果に基づいて前記複数の演算手段を前記描画手段が行う描画処理に割り当てる制御手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、制御方法及び制御プログラムに関する。
【背景技術】
【０００２】
近年のホストコンピュータの処理能力向上に伴い、複雑なグラフィックスやイメージ処理を伴う印刷ジョブが増加している。このような印刷ジョブを高速に処理するため、印刷装置は高性能な中央演算処理装置（ＣＰＵ）が採用され始めている。高性能なＣＰＵの一例としては、マルチコアと呼ばれるＣＰＵコアを複数持つＣＰＵが挙げられる。
【０００３】
また、印刷装置はマルチコアのＣＰＵ形態を十分に活かすためのソフトウェア技術も必要となる。印刷装置はＣＰＵコアが複数存在しても、ＣＰＵコアに与えられる処理が同時に複数なければ、十分にそのハードウェア能力を活かすことができない。
【０００４】
マルチコアのＣＰＵ形態を活かすソフトウェア技術としてはマルチタスクがある。マルチタスクは複数の処理を平行して、或いは擬似的に平行に動作させる方法である。マルチタスクの方法を採ることによって、印刷装置は複数あるＣＰＵコアに同時に複数の処理を与え、複数のＣＰＵコアを持つハードウェア能力を活かすことが知られていた（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
通常、シングルコアのＣＰＵ形態において印刷を行う場合は、１ページずつ順番に処理が行われる。また、マルチコアのＣＰＵ形態において印刷を行う場合は１ページの処理に複数のコア（ＣＰＵコア）を集中させることでシングルコアのＣＰＵ形態より処理を速めることができる。
【０００６】
ところで、印刷を行う場合の１ページの処理はデータ解析、バンド描画、後処理など複数の処理ステップを含む。したがって、１ページの処理に複数のコアを集中させる場合は処理ステップ毎にコアを割り当てることが多かった。しかし、各処理ステップには並列に行えない処理や、ある処理が終わっていないと行えない処理もある。このため、１ページの処理に複数のコアを集中させた場合は、必ずしも集中させたコアの数だけ処理が速くなる訳ではないという問題があった。
【０００７】
本発明は、上記の点に鑑みなされたもので、複数の演算手段を用いた複数ページに対する処理速度を効率的に向上できる画像形成装置、制御方法及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するため、請求項１に記載の画像形成装置は、複数の演算手段と、複数ページからなる印刷データを解析する解析手段と、前記複数ページからなる印刷データの各ページをそれぞれ描画する描画処理を行う描画手段と、前記描画手段で行う描画処理に対する前記複数の演算手段の割り当てを、前記解析手段による解析結果を元に前記印刷データの描画処理完了が最短になるように判定する割り当て判定手段と、前記割り当て判定手段による判定結果に基づいて前記複数の演算手段を前記描画手段が行う描画処理に割り当てる制御手段とを有することを特徴とする。
【０００９】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によれば、複数の演算手段を用いた複数ページに対する処理速度を効率的に向上できる画像形成装置、制御方法及び制御プログラムを提供可能である。
【図面の簡単な説明】
【００１１】
【図１】印刷システムの一例の構成図である。
【図２】シングルコアのＣＰＵ形態における描画処理を説明する一例の説明図である。
【図３】マルチコアのＣＰＵ形態における描画処理を説明する一例の説明図である。
【図４】各処理ステップ毎に複数コアを割り当てた描画処理を説明する一例の説明図である。
【図５】本実施の形態におけるコアの割り当てを説明する一例の説明図である。
【図６】プリンタの一例の処理ブロック図である。
【図７】印刷ジョブを受信したときの処理を表した一例のフローチャートである。
【図８】印刷ジョブを受信したときの処理を表した他の例のフローチャートである。
【図９】ＰＤＬデータをプリンタへ蓄積する処理の一例のフローチャートである。
【図１０】蓄積印刷の処理を表した一例のフローチャートである。
【図１１】コアの割り当て方の一例の説明図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、詳細に説明する。なお、本実施の形態におけるプリンタは画像形成装置の一例である。画像形成装置は、複合機やＦＡＸ、コピー機などの画像形成機能を備える機器であればよい。
【００１３】
（構成図）
図１は印刷システムの一例の構成図である。印刷システム１はホスト２とプリンタ３とがデータ通信可能に接続されている。ホスト２とプリンタ３とはＬＡＮ等のネットワークを介して接続されてもよい。
【００１４】
プリンタ３は操作パネル１０とコントローラ１１とプリンタエンジン１２とを有する構成である。操作パネル１０はプリンタ３の状態を示す表示部、及び、プリンタ３のモードやフォント等を切り替えるスイッチ部を有する。コントローラ１１は、その時に設定されているモード、及び、ホスト２からの制御データに従って、ホスト２からの印刷データをビデオデータに変換し、プリンタエンジン１２へ出力する制御機構の総称である。プリンタエンジン１２は、コントローラ１１からのビデオデータ及び制御データにより感光体上に静電潜像を作って現像し、また給紙部より転写紙を給紙し、転写及び定着を行い、画像を形成する。
【００１５】
コントローラ１１は例えば図１に示すようなモジュールにより構成される。図１のコントローラ１１はホストＩ／Ｆ２１、プログラムＲＯＭ２２、フォントＲＯＭ２３、パネルＩ／Ｆ２４、ＨＤＤ２５、ＣＰＵ２６、ＲＡＭ２７、ＮＶ−ＲＡＭ２８、エンジンＩ／Ｆ２９を有する。
【００１６】
ホストＩ／Ｆ２１はホスト２からプリンタ３への制御データ及び印刷データ、プリンタ３からホスト２へのステータス信号のインタフェースである。プログラムＲＯＭ２２はコントローラ１１内でのデータの管理や周辺モジュールを制御するためのプログラムが格納されている。フォントＲＯＭ２３は印刷に使用される様々な種類のフォントのデータが格納されている。
【００１７】
パネルＩ／Ｆ２４はプリンタ３の状態、モード、フォント等の切り替えを行うための信号のインタフェースである。ＨＤＤ２５はプリンタ３の印刷データを保存するストレージの一例である。また、ＨＤＤ２５はプログラム、必要なファイル、データ等を格納してもよい。ＣＰＵ２６はプログラムＲＯＭ２２に格納されたプログラムに従ってホスト２からのデータ（印刷データ及び制御データ）を処理する。ＣＰＵ２６はマルチコアと呼ばれるＣＰＵコア（コア）を複数持つ。ＣＰＵ２６は複数のコアがそれぞれ独立して動作することにより、並列処理を行う。
【００１８】
ＲＡＭ２７はＣＰＵ２６が処理する時のワークメモリとして使われる。また、ＲＡＭ２７はホスト２からの印刷データをページ単位に管理して一時記憶するバッファとして使われる。さらに、ＲＡＭ２７はバッファに記憶された印刷データを実際の印刷パターンに変換し、ビデオデータ（画像データ）を記憶するビットマップメモリ等として使われる。
【００１９】
ＮＶ−ＲＡＭ２８は電源を切っても保持したいデータ等を格納しておく為の不揮発性ＲＡＭである。エンジンＩ／Ｆ２９はコントローラ１１からプリンタエンジン１２への制御データ及びビデオデータ、プリンタエンジン１２からコントローラ１１へのステータス信号のインタフェースである。
【００２０】
ホストＩ／Ｆ２１を介してホスト２から送られてきたデータは、ＣＰＵ２６により印刷データ及び制御データと、その他とに分けられる。なお、印刷データ及び制御データは制御コードに変換されてバッファに記憶される。ホスト２からのプリント命令またはホスト２から受け取った印刷データが１ページ分を超えたとき、コントローラ１１はまず、中間コード（制御コード）をビデオデータに変換する。コントローラ１１はビデオデータへの変換が終了すると、エンジンＩ／Ｆ２９を介してプリンタエンジン１２にビデオデータを送信し、プリント開始の命令を出す。以上のような一連の流れにより、ホスト２からの印刷データはプリンタエンジン１２により印刷される。
【００２１】
なお、コントローラ１１はインストール用記録媒体（以下、単に記録媒体と呼ぶ）３０を有していてもよい。記録媒体３０は脱着可能なものやソケット等を介して接続されるものも含む。プリンタ３を制御する各種プログラムは、例えば記録媒体３０の配布やネットワーク等からのダウンロードなどによって提供される。
【００２２】
記録媒体３０はＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプを用いることができる。プログラムは記録媒体３０からＨＤＤ２５にインストールされる。ネットワーク等からダウンロードされたプログラムもＨＤＤ２５にインストールされる。
【００２３】
ＨＤＤ２５はプログラム、必要なファイル、データ等を格納する。ＨＤＤ２５にインストールされたプログラムは起動時にＲＡＭ２７に読み出される。そして、ＣＰＵ２６はＲＡＭ２７に格納されたプログラムに従って、各種処理を実現している。
【００２４】
（描画処理）
ここでは、シングルコアのＣＰＵ形態及びマルチコアのＣＰＵ形態における描画処理について説明する。図２はシングルコアのＣＰＵ形態における描画処理を説明する一例の説明図である。図２に示されている「Ｐ１」〜「Ｐ４」は、印刷文書の１〜４枚目を表している。シングルコアのＣＰＵ形態では１つのコアで１枚ずつ順番に描画処理が行われる。
【００２５】
図３はマルチコアのＣＰＵ形態における描画処理を説明する一例の説明図である。マルチコアのＣＰＵ形態における描画処理は図３のように１枚（１ページ）の描画処理に複数のコア（４つのコア）を集中させることで描画処理を速めることができる。しかし、描画処理は例えば図３に示すように４つのコアを集中させたとしても４倍の速度になるとは限らない。
【００２６】
実際の描画処理は、データ解析、バンド描画、後処理など複数の処理ステップを含んでいる。したがって、１ページの描画処理に複数のコアを集中させる場合は各処理ステップ毎に複数コアを割り当てることが考えられる。図４は、各処理ステップ毎に複数コアを割り当てた描画処理を説明する一例の説明図である。図４は複数のコアを集中させた場合の１ページの描画処理を表している。
【００２７】
図４に示すように、１ページの処理ステップ（処理１〜３）は完全に並列処理を行うことが難しい。例えば処理３は並列処理を行えない処理の一例である。また、処理２は処理１が終わってからでないと並列処理を行えない処理の一例である。このように、４つのコアを１ページの描画処理に集中させたとしても、全てのコアが常に並列処理を行える訳ではないため、描画処理の速度は４倍になる訳ではない。
【００２８】
図５は、本実施の形態におけるコアの割り当てを説明する一例の説明図である。例えば図５では「Ｐ１」の描画量が多いため「Ｐ１」に「コア１」と「コア２」とを並列に割り当てている。また、図５では「Ｐ２」「Ｐ３」にそれぞれ「コア２」「コア３」が割り当てられている。
【００２９】
「Ｐ１」に割り当てられた「コア１」「コア２」は「Ｐ１」の描画処理が終わると「Ｐ４」の描画処理を行う。また「Ｐ２」に割り当てられた「コア３」は「Ｐ２」の描画処理が終わると「Ｐ４」の描画処理を行う。また「Ｐ３」に割り当てられた「コア４」は「Ｐ３」の描画処理が終わると「Ｐ４」の描画処理を行う。
【００３０】
図５に示したコアの割り当てでは１ページの描画処理について、各ページに複数のコアを集中した場合より描画処理の速度が遅くなるが、複数ページの描画処理として総合的に見れば描画処理の速度が速くなる。本実施の形態では図５に示すように、複数のコアを各ページの処理に割り当てることによって描画処理の速度を向上させる。
【００３１】
このように、本実施の形態では１ページ目の印刷速度については複数のコアを１ページに集中したときと比べると遅くなってしまう。しかし、１ページに集中してコアを割り当てていないため、本実施の形態ではシングルコアのＣＰＵ形態と同様、コアがほぼ動き続けることになる。したがって、本実施の形態では複数ページであるとき、印刷文書全体で考えると、描画処理の速度が向上している。
【００３２】
（機能構成）
プリンタ３のコア割り当て処理は例えば図６の処理ブロックで実現される。図６はプリンタの一例の処理ブロック図である。なお、図６のプリンタ３の処理ブロック図は本実施の形態の説明に不要な部分について適宜省略している。プリンタ３はプログラムの一つとして制御プログラムが搭載されている。プリンタ３は、制御プログラムを実行することにより、ＰＤＬ（Page Description Language）解析部４１、ＰＤＬ描画部４２、コア割り当て判定部４３、コア制御部４４を実現する。
【００３３】
ＰＤＬ解析部４１は、ＰＤＬデータの解析を行う。具体的に、ＰＤＬ解析部４１はＰＤＬデータに含まれる各ページの描画情報を解析する。ＰＤＬ描画部４２はＰＤＬデータを描画する。
【００３４】
コア割り当て判定部４３はＰＤＬ解析部４１が解析した各ページの描画情報を元にコアの割り当て方を判定する。なお、コアの割り当て方の判定の詳細は後述する。コア制御部４４はコア割り当て判定部４３が判定したコアの割り当て方を元に、ＰＤＬ描画部４２へ各ページへのコアの割り当てを通知し、各ページへのコアの割り当てを行う。
【００３５】
（処理手順）
図７は印刷ジョブを受信したときの処理を表した一例のフローチャートである。図７のフローチャートはページ数に対応してコアを割り当て、分散して処理を行う。なお、図７のフローチャートでは各ページの処理が終わるごとにコアの再割り当てを行う。
【００３６】
例えばプリンタ３はステップＳ１においてホスト２から新規ジョブとして印刷ジョブを投入されることで本体の状態が変更する。ステップＳ２において、ＰＤＬ解析部４１は投入された印刷ジョブのＰＤＬデータの解析を行う。ステップＳ３において、コア割り当て判定部４３はＰＤＬ解析部４１が解析した各ページの描画情報を元に各ページへのコアの割り当てを判定する。コア割り当て判定部４３は例えば何ページ目の処理を、どのコアが行うかを判定する。なお、コア割り当て判定部４３は同一のページに複数のコアを割り当てることができる。
【００３７】
ステップＳ４において、コア制御部４４はコア割り当て部４３が判定したコアの割り当て方を元に、ＰＤＬ描画部４２へ各ページへのコアの割り当てを通知し、各ページへのコアの割り当てを行う。ＰＤＬ描画部４２は各ページに割り当てられたコアを用いてＰＤＬデータの描画処理を行う。ＰＤＬデータの描画処理完了イベントがあると、コア割り当て判定部４３はステップＳ５において、全ページのＰＤＬデータの描画処理が完了したか否かを判定する。
【００３８】
全ページのＰＤＬデータの描画処理が完了していなければ、コア割り当て判定部４３はステップＳ６において、各ページへのコアの再割り当てが必要か否かを判定する。例えばコア割り当て判定部４３はＰＤＬデータの描画処理が完了していないページにコアを割り当てられるとき、コアの再割り当てが必要と判定できる。
【００３９】
各ページへのコアの再割り当てが必要であれば、コア割り当て判定部４３はステップＳ３に戻る。ステップＳ３では、コア割り当て判定部４３はＰＤＬデータの描画処理が完了していないページにコアを割り当てることができる。各ページへのコアの再割り当てが必要でなければ、コア割り当て判定部４３はステップＳ７においてＰＤＬデータの描画処理完了イベントがあるまで待機し、ＰＤＬデータの描画処理完了イベントがあるとステップＳ５の処理に戻る。ステップＳ５において、全ページのＰＤＬデータの描画処理が完了していれば、コア割り当て判定部４３は図７のフローチャートの処理を終了する。
【００４０】
図７のフローチャートでは、最初に全ページのＰＤＬデータの解析を行っている。しかし実際のプリンタ３では印刷データがストリーミングデータでホスト２からプリンタ３へ送信され、全ての印刷データの受信が終わるまでページ数が分からないことが多い。そこで図８のフローチャートでは、一定ページ数ごとにＰＤＬデータの解析を行い、解析した各ページの描画情報を元に各ページへのコアの割り当てを行う処理を繰り返している。
【００４１】
図８は印刷ジョブを受信したときの処理を表した他の例のフローチャートである。図８のフローチャートは一部を除いて図７のフローチャートと同一であるため、適宜説明を省略する。
【００４２】
例えばプリンタ３はステップＳ１１においてホスト２から新規ジョブとして印刷ジョブを投入されることで本体の状態が変更する。ステップＳ１２において、ＰＤＬ解析部４１は投入された印刷ジョブのうちｎページ分のＰＤＬデータの解析を行う。なお、ＰＤＬ解析部４１は印刷ジョブの最後など、ｎページ分のＰＤＬデータが無い場合、最終ページまでのＰＤＬデータの解析を行う。
【００４３】
ステップＳ１３において、コア割り当て判定部４３はステップＳ３と同様、各ページへのコアの割り当てを判定する。ステップＳ１４において、コア制御部４４はコア割り当て部４３が判定したコアの割り当て方を元に、ＰＤＬ描画部４２へ各ページへのコアの割り当てを通知し、各ページへのコアの割り当てを行う。ＰＤＬ描画部４２は各ページに割り当てられたコアを用いてＰＤＬデータの描画処理を行う。ＰＤＬデータの描画処理完了イベントがあると、コア割り当て判定部４３はステップＳ１５において、全ページのＰＤＬデータの描画処理が完了したか否かを判定する。
【００４４】
全ページのＰＤＬデータの描画処理が完了していなければ、コア割り当て判定部４３はステップＳ１６において、ｎページ分のＰＤＬデータの描画処理が完了したか否かを判定する。ｎページ分のＰＤＬデータの描画処理が完了していないと判定すれば、コア割り当て判定部４３はステップＳ１７において、各ページへのコアの再割り当てが必要か否かを判定する。
【００４５】
各ページへのコアの再割り当てが必要であれば、コア割り当て判定部４３はステップＳ１３に戻る。各ページへのコアの再割り当てが必要でなければ、コア割り当て判定部４３はステップＳ１８においてＰＤＬデータの描画処理完了イベントがあるまで待機し、ＰＤＬデータの描画処理完了イベントがあるとステップＳ１６の処理に戻る。
【００４６】
ステップＳ１６において、ｎページ分のＰＤＬデータの描画処理が完了していると判定すれば、コア割り当て判定部４３はステップＳ１２に戻り、ＰＤＬ解析部４１に未解析のｎページ分のＰＤＬデータの解析を行わせる。ステップＳ１５において、全ページのＰＤＬデータの描画処理が完了していれば、コア割り当て判定部４３は図８のフローチャートの処理を終了する。
【００４７】
図７及び図８のフローチャートでは、ホスト２から新規ジョブとして印刷ジョブを投入する例を示している。しかし、プリンタ３は蓄積印刷のように事前にＰＤＬデータをプリンタ３へ蓄積しておき、後からユーザの印刷指示で印刷を行う場合もある。
【００４８】
この場合は図９に示すようにＰＤＬデータをプリンタ３へ蓄積するとき、ＰＤＬデータの解析を行うことで、各ページへのコアの割り当てに必要な情報（描画解析データ）を事前に保存しておくことができる。
【００４９】
図９はＰＤＬデータをプリンタへ蓄積する処理の一例のフローチャートである。例えばプリンタ２はステップＳ２１においてホスト２から蓄積文書ジョブを投入される。ＰＤＬ解析部４１はステップＳ２２において、投入された蓄積文書ジョブのＰＤＬデータの解析を行う。ステップＳ２３において、ＰＤＬ解析部４１は投入された蓄積文書ジョブのＰＤＬデータを解析した描画解析データと、印刷データとをＨＤＤ２５等に保存する。描画解析データは各ページへのコアの割り当ての為の情報となる。このように、各ページへのコアの割り当ての為の情報である描画解析データは印刷データと共に保存される。
【００５０】
図１０は蓄積印刷の処理を表した一例のフローチャートである。例えばプリンタ３はステップＳ３１において例えばホスト２から蓄積文書の再印刷指示を受け付ける。ステップＳ３２において、コア割り当て判定部４３は印刷データを蓄積するときに保存した描画解析データをＨＤＤ２５等から取り出す。
【００５１】
ステップＳ３３において、コア割り当て判定部４３は取り出した描画解析データを元に各ページへのコアの割り当てを判定する。コア割り当て判定部４３は例えば何ページ目の処理を、どのコアが行うかを判定する。なお、コア割り当て判定部４３は同一のページに複数のコアを割り当てることができる。
【００５２】
ステップＳ３４において、コア制御部４４はコア割り当て部４３が判定したコアの割り当て方を元に、ＰＤＬ描画部４２へ各ページへのコアの割り当てを通知し、各ページへのコアの割り当てを行う。ＰＤＬ描画部４２は各ページに割り当てられたコアを用いてＰＤＬデータの描画処理を行う。ＰＤＬデータの描画処理完了イベントがあると、コア割り当て判定部４３はステップＳ３５において、全ページのＰＤＬデータの描画処理が完了したか否かを判定する。全ページのＰＤＬデータの描画処理が完了していなければ、コア割り当て判定部４３はステップＳ３６において、各ページへのコアの再割り当てが必要か否かを判定する。
【００５３】
各ページへのコアの再割り当てが必要であれば、コア割り当て判定部４３はステップＳ３２に戻る。各ページへのコアの再割り当てが必要でなければ、コア割り当て判定部４３はステップＳ３７においてＰＤＬデータの描画処理完了イベントがあるまで待機し、ＰＤＬデータの描画処理完了イベントがあるとステップＳ３５の処理に戻る。ステップＳ３５において、全ページのＰＤＬデータの描画処理が完了していれば、コア割り当て判定部４３は図１０のフローチャートの処理を終了する。
【００５４】
図１０のフローチャートはＰＤＬデータをプリンタ３へ蓄積するとき、ＰＤＬデータの解析を行い、各ページへのコアの割り当てに必要な情報（描画解析データ）を事前に保存しておくことで、蓄積印刷時におけるＰＤＬデータの解析の処理を省略できる。
【００５５】
図１１はコアの割り当て方の一例の説明図である。図１１では描画データ量を元にコアの割り当て方を判定している。図１１（Ａ）は各ページの描画データ量を表す。１ページ目の描画データ量は１５０Ｂｙｔｅである。２〜４ページ目の描画データ量は１００Ｂｙｔｅである。
【００５６】
図１１（Ｂ）は各ページの描画時間を割り当てたコアの数毎に表す。例えば１ページ目は１コアを割り当てると３００ｍｓの描画時間となり、２コアを割り当てると１８０ｍｓの描画時間となる。コア割り当て判定部４３は描画データ量を元にコアの数毎の描画時間を算出する。コア割り当て判定部４３は印刷文書全体での描画時間が最短となるように各ページにコアを割り当てる。
【００５７】
図１１（Ｃ）は各ページに割り当てられるコアの時間遷移を表している。最初、コア割り当て判定部４３は、１ページ目に２コアを割り当て、２及び３ページ目に１コアずつ割り当てている。
【００５８】
１ページ目は２コアを割り当てられたため、描画時間が１８０ｍｓである。２ページ目は１コアを割り当てられたため、描画時間が２００ｍｓである。３ページ目は１コアを割り当てられたため、描画時間が２００ｍｓである。
【００５９】
１８０ｍｓ経過すると、１ページ目の描画処理が終了する。そこで、コア割り当て判定部４３は１ページ目に割り当てられていた２コアを４ページ目に割り当てる。処理開始から２００ｍｓ経過すると、２及び３ページ目の描画処理が終了する。そこで、コア割り当て判定部４３は２及び３ページ目に割り当てられていた２コアを更に４ページ目に割り当てる。
【００６０】
４ページ目の描画処理は１８０ｍｓから２００ｍｓまでの間、２コアによって行われていた。４ページ目の描画時間は２コアを割り当てた場合、１２０ｍｓである。処理開始から２００ｍｓ経過した時点で、４ページ目の描画処理は２０ｍｓ／１２０ｍｓ＝１／６分だけ描画処理が終了している。
【００６１】
処理開始から２００ｍｓ以降は４ページ目に４コアが割り当てられる。残りの５／６分の描画処理は４コアで行われる。４ページ目の描画時間は４コアを割り当てた場合、７２ｍｓである。４ページ目の描画処理は４コアの割り当て後、７２ｍｓ×（５／６）＝６０ｍｓ後に終了する。したがって、印刷文書全体での描画時間は２６０ｍｓとなる。
【００６２】
描画時間２６０ｍｓは、各ページに４コアを集中した描画時間３２４ｍｓ（１０８＋７２＋７２＋７２ｍｓ）より短い。また、描画時間２６０ｍｓは、各ページに１コアを振り分けた描画時間３００ｍｓ（１コアを割り当てたときの１〜４ページ目の描画時間で最長の１ページ目の描画時間）より短い。なお、描画時間の算出は印刷データに含まれるテキスト、イメージ、グラフィックといった描画オブジェクトごとに重み付けを行って算出するようにしてもよい。
【００６３】
（まとめ）
本実施の形態によれば、マルチコアのＣＰＵ形態を利用し、複数ページに対する処理時間が最短になるように、各ページに割り振るコア数を判定することにより、複数ページに対する処理速度を向上できる。
【００６４】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、特許請求の範囲に記載した解析手段はＰＤＬ解析部４１に相当する。描画手段はＰＤＬ描画部４２に相当する。判定手段はコア割り当て判定部４３に相当する。制御手段はコア制御部４４に相当する。
【符号の説明】
【００６５】
１    印刷システム
２    ホスト
３    プリンタ
１０    操作パネル
１１    コントローラ
１２    プリンタエンジン
２１    ホストＩ／Ｆ
２２    プログラムＲＯＭ
２３    フォントＲＯＭ
２４    パネルＩ／Ｆ
２５    ＨＤＤ
２６    ＣＰＵ
２７    ＲＡＭ
２８    ＮＶ−ＲＡＭ
２９    エンジンＩ／Ｆ
３０    インストール用記録媒体
４１    ＰＤＬ（Page Description Language）解析部
４２    ＰＤＬ描画部
４３    コア割り当て判定部
４４    コア制御部
【先行技術文献】
【特許文献】
【００６６】
【特許文献１】特開２００８−１４９５４３号公報
【図１】
2013052568.tif 000003
【図２】
2013052568.tif 000004
【図３】
2013052568.tif 000005
【図４】
2013052568.tif 000006
【図５】
2013052568.tif 000007
【図６】
2013052568.tif 000008
【図７】
2013052568.tif 000009
【図８】
2013052568.tif 000010
【図９】
2013052568.tif 000011
【図１０】
2013052568.tif 000012
【図１１】
2013052568.tif 000013