画像形成装置、制御方法及び制御プログラム
【課題】複数の演算手段を用いた複数ページに対する処理速度を効率的に向上できる画像形成装置、制御方法及び制御プログラムを提供することを課題とする。
【解決手段】複数の演算手段と、複数ページからなる印刷データを解析する解析手段41と、複数ページからなる印刷データの各ページをそれぞれ描画する描画処理を行う描画手段42と、描画手段で行う描画処理に対する複数の演算手段の割り当てを、解析手段41による解析結果を元に印刷データの描画処理完了が最短になるように判定する割り当て判定手段43と、割り当て判定手段43による判定結果に基づいて複数の演算手段を描画手段42が行う描画処理に割り当てる制御手段44とを有することにより上記課題を解決する。
【解決手段】複数の演算手段と、複数ページからなる印刷データを解析する解析手段41と、複数ページからなる印刷データの各ページをそれぞれ描画する描画処理を行う描画手段42と、描画手段で行う描画処理に対する複数の演算手段の割り当てを、解析手段41による解析結果を元に印刷データの描画処理完了が最短になるように判定する割り当て判定手段43と、割り当て判定手段43による判定結果に基づいて複数の演算手段を描画手段42が行う描画処理に割り当てる制御手段44とを有することにより上記課題を解決する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置、制御方法及び制御プログラムに関する。
【背景技術】
【0002】
近年のホストコンピュータの処理能力向上に伴い、複雑なグラフィックスやイメージ処理を伴う印刷ジョブが増加している。このような印刷ジョブを高速に処理するため、印刷装置は高性能な中央演算処理装置(CPU)が採用され始めている。高性能なCPUの一例としては、マルチコアと呼ばれるCPUコアを複数持つCPUが挙げられる。
【0003】
また、印刷装置はマルチコアのCPU形態を十分に活かすためのソフトウェア技術も必要となる。印刷装置はCPUコアが複数存在しても、CPUコアに与えられる処理が同時に複数なければ、十分にそのハードウェア能力を活かすことができない。
【0004】
マルチコアのCPU形態を活かすソフトウェア技術としてはマルチタスクがある。マルチタスクは複数の処理を平行して、或いは擬似的に平行に動作させる方法である。マルチタスクの方法を採ることによって、印刷装置は複数あるCPUコアに同時に複数の処理を与え、複数のCPUコアを持つハードウェア能力を活かすことが知られていた(例えば特許文献1参照)。
【発明の概要】
【発明が解決しようとする課題】
【0005】
通常、シングルコアのCPU形態において印刷を行う場合は、1ページずつ順番に処理が行われる。また、マルチコアのCPU形態において印刷を行う場合は1ページの処理に複数のコア(CPUコア)を集中させることでシングルコアのCPU形態より処理を速めることができる。
【0006】
ところで、印刷を行う場合の1ページの処理はデータ解析、バンド描画、後処理など複数の処理ステップを含む。したがって、1ページの処理に複数のコアを集中させる場合は処理ステップ毎にコアを割り当てることが多かった。しかし、各処理ステップには並列に行えない処理や、ある処理が終わっていないと行えない処理もある。このため、1ページの処理に複数のコアを集中させた場合は、必ずしも集中させたコアの数だけ処理が速くなる訳ではないという問題があった。
【0007】
本発明は、上記の点に鑑みなされたもので、複数の演算手段を用いた複数ページに対する処理速度を効率的に向上できる画像形成装置、制御方法及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記の課題を解決するため、請求項1に記載の画像形成装置は、複数の演算手段と、複数ページからなる印刷データを解析する解析手段と、前記複数ページからなる印刷データの各ページをそれぞれ描画する描画処理を行う描画手段と、前記描画手段で行う描画処理に対する前記複数の演算手段の割り当てを、前記解析手段による解析結果を元に前記印刷データの描画処理完了が最短になるように判定する割り当て判定手段と、前記割り当て判定手段による判定結果に基づいて前記複数の演算手段を前記描画手段が行う描画処理に割り当てる制御手段とを有することを特徴とする。
【0009】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【0010】
本発明によれば、複数の演算手段を用いた複数ページに対する処理速度を効率的に向上できる画像形成装置、制御方法及び制御プログラムを提供可能である。
【図面の簡単な説明】
【0011】
【図1】印刷システムの一例の構成図である。
【図2】シングルコアのCPU形態における描画処理を説明する一例の説明図である。
【図3】マルチコアのCPU形態における描画処理を説明する一例の説明図である。
【図4】各処理ステップ毎に複数コアを割り当てた描画処理を説明する一例の説明図である。
【図5】本実施の形態におけるコアの割り当てを説明する一例の説明図である。
【図6】プリンタの一例の処理ブロック図である。
【図7】印刷ジョブを受信したときの処理を表した一例のフローチャートである。
【図8】印刷ジョブを受信したときの処理を表した他の例のフローチャートである。
【図9】PDLデータをプリンタへ蓄積する処理の一例のフローチャートである。
【図10】蓄積印刷の処理を表した一例のフローチャートである。
【図11】コアの割り当て方の一例の説明図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態について、詳細に説明する。なお、本実施の形態におけるプリンタは画像形成装置の一例である。画像形成装置は、複合機やFAX、コピー機などの画像形成機能を備える機器であればよい。
【0013】
(構成図)
図1は印刷システムの一例の構成図である。印刷システム1はホスト2とプリンタ3とがデータ通信可能に接続されている。ホスト2とプリンタ3とはLAN等のネットワークを介して接続されてもよい。
【0014】
プリンタ3は操作パネル10とコントローラ11とプリンタエンジン12とを有する構成である。操作パネル10はプリンタ3の状態を示す表示部、及び、プリンタ3のモードやフォント等を切り替えるスイッチ部を有する。コントローラ11は、その時に設定されているモード、及び、ホスト2からの制御データに従って、ホスト2からの印刷データをビデオデータに変換し、プリンタエンジン12へ出力する制御機構の総称である。プリンタエンジン12は、コントローラ11からのビデオデータ及び制御データにより感光体上に静電潜像を作って現像し、また給紙部より転写紙を給紙し、転写及び定着を行い、画像を形成する。
【0015】
コントローラ11は例えば図1に示すようなモジュールにより構成される。図1のコントローラ11はホストI/F21、プログラムROM22、フォントROM23、パネルI/F24、HDD25、CPU26、RAM27、NV−RAM28、エンジンI/F29を有する。
【0016】
ホストI/F21はホスト2からプリンタ3への制御データ及び印刷データ、プリンタ3からホスト2へのステータス信号のインタフェースである。プログラムROM22はコントローラ11内でのデータの管理や周辺モジュールを制御するためのプログラムが格納されている。フォントROM23は印刷に使用される様々な種類のフォントのデータが格納されている。
【0017】
パネルI/F24はプリンタ3の状態、モード、フォント等の切り替えを行うための信号のインタフェースである。HDD25はプリンタ3の印刷データを保存するストレージの一例である。また、HDD25はプログラム、必要なファイル、データ等を格納してもよい。CPU26はプログラムROM22に格納されたプログラムに従ってホスト2からのデータ(印刷データ及び制御データ)を処理する。CPU26はマルチコアと呼ばれるCPUコア(コア)を複数持つ。CPU26は複数のコアがそれぞれ独立して動作することにより、並列処理を行う。
【0018】
RAM27はCPU26が処理する時のワークメモリとして使われる。また、RAM27はホスト2からの印刷データをページ単位に管理して一時記憶するバッファとして使われる。さらに、RAM27はバッファに記憶された印刷データを実際の印刷パターンに変換し、ビデオデータ(画像データ)を記憶するビットマップメモリ等として使われる。
【0019】
NV−RAM28は電源を切っても保持したいデータ等を格納しておく為の不揮発性RAMである。エンジンI/F29はコントローラ11からプリンタエンジン12への制御データ及びビデオデータ、プリンタエンジン12からコントローラ11へのステータス信号のインタフェースである。
【0020】
ホストI/F21を介してホスト2から送られてきたデータは、CPU26により印刷データ及び制御データと、その他とに分けられる。なお、印刷データ及び制御データは制御コードに変換されてバッファに記憶される。ホスト2からのプリント命令またはホスト2から受け取った印刷データが1ページ分を超えたとき、コントローラ11はまず、中間コード(制御コード)をビデオデータに変換する。コントローラ11はビデオデータへの変換が終了すると、エンジンI/F29を介してプリンタエンジン12にビデオデータを送信し、プリント開始の命令を出す。以上のような一連の流れにより、ホスト2からの印刷データはプリンタエンジン12により印刷される。
【0021】
なお、コントローラ11はインストール用記録媒体(以下、単に記録媒体と呼ぶ)30を有していてもよい。記録媒体30は脱着可能なものやソケット等を介して接続されるものも含む。プリンタ3を制御する各種プログラムは、例えば記録媒体30の配布やネットワーク等からのダウンロードなどによって提供される。
【0022】
記録媒体30はCD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプを用いることができる。プログラムは記録媒体30からHDD25にインストールされる。ネットワーク等からダウンロードされたプログラムもHDD25にインストールされる。
【0023】
HDD25はプログラム、必要なファイル、データ等を格納する。HDD25にインストールされたプログラムは起動時にRAM27に読み出される。そして、CPU26はRAM27に格納されたプログラムに従って、各種処理を実現している。
【0024】
(描画処理)
ここでは、シングルコアのCPU形態及びマルチコアのCPU形態における描画処理について説明する。図2はシングルコアのCPU形態における描画処理を説明する一例の説明図である。図2に示されている「P1」〜「P4」は、印刷文書の1〜4枚目を表している。シングルコアのCPU形態では1つのコアで1枚ずつ順番に描画処理が行われる。
【0025】
図3はマルチコアのCPU形態における描画処理を説明する一例の説明図である。マルチコアのCPU形態における描画処理は図3のように1枚(1ページ)の描画処理に複数のコア(4つのコア)を集中させることで描画処理を速めることができる。しかし、描画処理は例えば図3に示すように4つのコアを集中させたとしても4倍の速度になるとは限らない。
【0026】
実際の描画処理は、データ解析、バンド描画、後処理など複数の処理ステップを含んでいる。したがって、1ページの描画処理に複数のコアを集中させる場合は各処理ステップ毎に複数コアを割り当てることが考えられる。図4は、各処理ステップ毎に複数コアを割り当てた描画処理を説明する一例の説明図である。図4は複数のコアを集中させた場合の1ページの描画処理を表している。
【0027】
図4に示すように、1ページの処理ステップ(処理1〜3)は完全に並列処理を行うことが難しい。例えば処理3は並列処理を行えない処理の一例である。また、処理2は処理1が終わってからでないと並列処理を行えない処理の一例である。このように、4つのコアを1ページの描画処理に集中させたとしても、全てのコアが常に並列処理を行える訳ではないため、描画処理の速度は4倍になる訳ではない。
【0028】
図5は、本実施の形態におけるコアの割り当てを説明する一例の説明図である。例えば図5では「P1」の描画量が多いため「P1」に「コア1」と「コア2」とを並列に割り当てている。また、図5では「P2」「P3」にそれぞれ「コア2」「コア3」が割り当てられている。
【0029】
「P1」に割り当てられた「コア1」「コア2」は「P1」の描画処理が終わると「P4」の描画処理を行う。また「P2」に割り当てられた「コア3」は「P2」の描画処理が終わると「P4」の描画処理を行う。また「P3」に割り当てられた「コア4」は「P3」の描画処理が終わると「P4」の描画処理を行う。
【0030】
図5に示したコアの割り当てでは1ページの描画処理について、各ページに複数のコアを集中した場合より描画処理の速度が遅くなるが、複数ページの描画処理として総合的に見れば描画処理の速度が速くなる。本実施の形態では図5に示すように、複数のコアを各ページの処理に割り当てることによって描画処理の速度を向上させる。
【0031】
このように、本実施の形態では1ページ目の印刷速度については複数のコアを1ページに集中したときと比べると遅くなってしまう。しかし、1ページに集中してコアを割り当てていないため、本実施の形態ではシングルコアのCPU形態と同様、コアがほぼ動き続けることになる。したがって、本実施の形態では複数ページであるとき、印刷文書全体で考えると、描画処理の速度が向上している。
【0032】
(機能構成)
プリンタ3のコア割り当て処理は例えば図6の処理ブロックで実現される。図6はプリンタの一例の処理ブロック図である。なお、図6のプリンタ3の処理ブロック図は本実施の形態の説明に不要な部分について適宜省略している。プリンタ3はプログラムの一つとして制御プログラムが搭載されている。プリンタ3は、制御プログラムを実行することにより、PDL(Page Description Language)解析部41、PDL描画部42、コア割り当て判定部43、コア制御部44を実現する。
【0033】
PDL解析部41は、PDLデータの解析を行う。具体的に、PDL解析部41はPDLデータに含まれる各ページの描画情報を解析する。PDL描画部42はPDLデータを描画する。
【0034】
コア割り当て判定部43はPDL解析部41が解析した各ページの描画情報を元にコアの割り当て方を判定する。なお、コアの割り当て方の判定の詳細は後述する。コア制御部44はコア割り当て判定部43が判定したコアの割り当て方を元に、PDL描画部42へ各ページへのコアの割り当てを通知し、各ページへのコアの割り当てを行う。
【0035】
(処理手順)
図7は印刷ジョブを受信したときの処理を表した一例のフローチャートである。図7のフローチャートはページ数に対応してコアを割り当て、分散して処理を行う。なお、図7のフローチャートでは各ページの処理が終わるごとにコアの再割り当てを行う。
【0036】
例えばプリンタ3はステップS1においてホスト2から新規ジョブとして印刷ジョブを投入されることで本体の状態が変更する。ステップS2において、PDL解析部41は投入された印刷ジョブのPDLデータの解析を行う。ステップS3において、コア割り当て判定部43はPDL解析部41が解析した各ページの描画情報を元に各ページへのコアの割り当てを判定する。コア割り当て判定部43は例えば何ページ目の処理を、どのコアが行うかを判定する。なお、コア割り当て判定部43は同一のページに複数のコアを割り当てることができる。
【0037】
ステップS4において、コア制御部44はコア割り当て部43が判定したコアの割り当て方を元に、PDL描画部42へ各ページへのコアの割り当てを通知し、各ページへのコアの割り当てを行う。PDL描画部42は各ページに割り当てられたコアを用いてPDLデータの描画処理を行う。PDLデータの描画処理完了イベントがあると、コア割り当て判定部43はステップS5において、全ページのPDLデータの描画処理が完了したか否かを判定する。
【0038】
全ページのPDLデータの描画処理が完了していなければ、コア割り当て判定部43はステップS6において、各ページへのコアの再割り当てが必要か否かを判定する。例えばコア割り当て判定部43はPDLデータの描画処理が完了していないページにコアを割り当てられるとき、コアの再割り当てが必要と判定できる。
【0039】
各ページへのコアの再割り当てが必要であれば、コア割り当て判定部43はステップS3に戻る。ステップS3では、コア割り当て判定部43はPDLデータの描画処理が完了していないページにコアを割り当てることができる。各ページへのコアの再割り当てが必要でなければ、コア割り当て判定部43はステップS7においてPDLデータの描画処理完了イベントがあるまで待機し、PDLデータの描画処理完了イベントがあるとステップS5の処理に戻る。ステップS5において、全ページのPDLデータの描画処理が完了していれば、コア割り当て判定部43は図7のフローチャートの処理を終了する。
【0040】
図7のフローチャートでは、最初に全ページのPDLデータの解析を行っている。しかし実際のプリンタ3では印刷データがストリーミングデータでホスト2からプリンタ3へ送信され、全ての印刷データの受信が終わるまでページ数が分からないことが多い。そこで図8のフローチャートでは、一定ページ数ごとにPDLデータの解析を行い、解析した各ページの描画情報を元に各ページへのコアの割り当てを行う処理を繰り返している。
【0041】
図8は印刷ジョブを受信したときの処理を表した他の例のフローチャートである。図8のフローチャートは一部を除いて図7のフローチャートと同一であるため、適宜説明を省略する。
【0042】
例えばプリンタ3はステップS11においてホスト2から新規ジョブとして印刷ジョブを投入されることで本体の状態が変更する。ステップS12において、PDL解析部41は投入された印刷ジョブのうちnページ分のPDLデータの解析を行う。なお、PDL解析部41は印刷ジョブの最後など、nページ分のPDLデータが無い場合、最終ページまでのPDLデータの解析を行う。
【0043】
ステップS13において、コア割り当て判定部43はステップS3と同様、各ページへのコアの割り当てを判定する。ステップS14において、コア制御部44はコア割り当て部43が判定したコアの割り当て方を元に、PDL描画部42へ各ページへのコアの割り当てを通知し、各ページへのコアの割り当てを行う。PDL描画部42は各ページに割り当てられたコアを用いてPDLデータの描画処理を行う。PDLデータの描画処理完了イベントがあると、コア割り当て判定部43はステップS15において、全ページのPDLデータの描画処理が完了したか否かを判定する。
【0044】
全ページのPDLデータの描画処理が完了していなければ、コア割り当て判定部43はステップS16において、nページ分のPDLデータの描画処理が完了したか否かを判定する。nページ分のPDLデータの描画処理が完了していないと判定すれば、コア割り当て判定部43はステップS17において、各ページへのコアの再割り当てが必要か否かを判定する。
【0045】
各ページへのコアの再割り当てが必要であれば、コア割り当て判定部43はステップS13に戻る。各ページへのコアの再割り当てが必要でなければ、コア割り当て判定部43はステップS18においてPDLデータの描画処理完了イベントがあるまで待機し、PDLデータの描画処理完了イベントがあるとステップS16の処理に戻る。
【0046】
ステップS16において、nページ分のPDLデータの描画処理が完了していると判定すれば、コア割り当て判定部43はステップS12に戻り、PDL解析部41に未解析のnページ分のPDLデータの解析を行わせる。ステップS15において、全ページのPDLデータの描画処理が完了していれば、コア割り当て判定部43は図8のフローチャートの処理を終了する。
【0047】
図7及び図8のフローチャートでは、ホスト2から新規ジョブとして印刷ジョブを投入する例を示している。しかし、プリンタ3は蓄積印刷のように事前にPDLデータをプリンタ3へ蓄積しておき、後からユーザの印刷指示で印刷を行う場合もある。
【0048】
この場合は図9に示すようにPDLデータをプリンタ3へ蓄積するとき、PDLデータの解析を行うことで、各ページへのコアの割り当てに必要な情報(描画解析データ)を事前に保存しておくことができる。
【0049】
図9はPDLデータをプリンタへ蓄積する処理の一例のフローチャートである。例えばプリンタ2はステップS21においてホスト2から蓄積文書ジョブを投入される。PDL解析部41はステップS22において、投入された蓄積文書ジョブのPDLデータの解析を行う。ステップS23において、PDL解析部41は投入された蓄積文書ジョブのPDLデータを解析した描画解析データと、印刷データとをHDD25等に保存する。描画解析データは各ページへのコアの割り当ての為の情報となる。このように、各ページへのコアの割り当ての為の情報である描画解析データは印刷データと共に保存される。
【0050】
図10は蓄積印刷の処理を表した一例のフローチャートである。例えばプリンタ3はステップS31において例えばホスト2から蓄積文書の再印刷指示を受け付ける。ステップS32において、コア割り当て判定部43は印刷データを蓄積するときに保存した描画解析データをHDD25等から取り出す。
【0051】
ステップS33において、コア割り当て判定部43は取り出した描画解析データを元に各ページへのコアの割り当てを判定する。コア割り当て判定部43は例えば何ページ目の処理を、どのコアが行うかを判定する。なお、コア割り当て判定部43は同一のページに複数のコアを割り当てることができる。
【0052】
ステップS34において、コア制御部44はコア割り当て部43が判定したコアの割り当て方を元に、PDL描画部42へ各ページへのコアの割り当てを通知し、各ページへのコアの割り当てを行う。PDL描画部42は各ページに割り当てられたコアを用いてPDLデータの描画処理を行う。PDLデータの描画処理完了イベントがあると、コア割り当て判定部43はステップS35において、全ページのPDLデータの描画処理が完了したか否かを判定する。全ページのPDLデータの描画処理が完了していなければ、コア割り当て判定部43はステップS36において、各ページへのコアの再割り当てが必要か否かを判定する。
【0053】
各ページへのコアの再割り当てが必要であれば、コア割り当て判定部43はステップS32に戻る。各ページへのコアの再割り当てが必要でなければ、コア割り当て判定部43はステップS37においてPDLデータの描画処理完了イベントがあるまで待機し、PDLデータの描画処理完了イベントがあるとステップS35の処理に戻る。ステップS35において、全ページのPDLデータの描画処理が完了していれば、コア割り当て判定部43は図10のフローチャートの処理を終了する。
【0054】
図10のフローチャートはPDLデータをプリンタ3へ蓄積するとき、PDLデータの解析を行い、各ページへのコアの割り当てに必要な情報(描画解析データ)を事前に保存しておくことで、蓄積印刷時におけるPDLデータの解析の処理を省略できる。
【0055】
図11はコアの割り当て方の一例の説明図である。図11では描画データ量を元にコアの割り当て方を判定している。図11(A)は各ページの描画データ量を表す。1ページ目の描画データ量は150Byteである。2〜4ページ目の描画データ量は100Byteである。
【0056】
図11(B)は各ページの描画時間を割り当てたコアの数毎に表す。例えば1ページ目は1コアを割り当てると300msの描画時間となり、2コアを割り当てると180msの描画時間となる。コア割り当て判定部43は描画データ量を元にコアの数毎の描画時間を算出する。コア割り当て判定部43は印刷文書全体での描画時間が最短となるように各ページにコアを割り当てる。
【0057】
図11(C)は各ページに割り当てられるコアの時間遷移を表している。最初、コア割り当て判定部43は、1ページ目に2コアを割り当て、2及び3ページ目に1コアずつ割り当てている。
【0058】
1ページ目は2コアを割り当てられたため、描画時間が180msである。2ページ目は1コアを割り当てられたため、描画時間が200msである。3ページ目は1コアを割り当てられたため、描画時間が200msである。
【0059】
180ms経過すると、1ページ目の描画処理が終了する。そこで、コア割り当て判定部43は1ページ目に割り当てられていた2コアを4ページ目に割り当てる。処理開始から200ms経過すると、2及び3ページ目の描画処理が終了する。そこで、コア割り当て判定部43は2及び3ページ目に割り当てられていた2コアを更に4ページ目に割り当てる。
【0060】
4ページ目の描画処理は180msから200msまでの間、2コアによって行われていた。4ページ目の描画時間は2コアを割り当てた場合、120msである。処理開始から200ms経過した時点で、4ページ目の描画処理は20ms/120ms=1/6分だけ描画処理が終了している。
【0061】
処理開始から200ms以降は4ページ目に4コアが割り当てられる。残りの5/6分の描画処理は4コアで行われる。4ページ目の描画時間は4コアを割り当てた場合、72msである。4ページ目の描画処理は4コアの割り当て後、72ms×(5/6)=60ms後に終了する。したがって、印刷文書全体での描画時間は260msとなる。
【0062】
描画時間260msは、各ページに4コアを集中した描画時間324ms(108+72+72+72ms)より短い。また、描画時間260msは、各ページに1コアを振り分けた描画時間300ms(1コアを割り当てたときの1〜4ページ目の描画時間で最長の1ページ目の描画時間)より短い。なお、描画時間の算出は印刷データに含まれるテキスト、イメージ、グラフィックといった描画オブジェクトごとに重み付けを行って算出するようにしてもよい。
【0063】
(まとめ)
本実施の形態によれば、マルチコアのCPU形態を利用し、複数ページに対する処理時間が最短になるように、各ページに割り振るコア数を判定することにより、複数ページに対する処理速度を向上できる。
【0064】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、特許請求の範囲に記載した解析手段はPDL解析部41に相当する。描画手段はPDL描画部42に相当する。判定手段はコア割り当て判定部43に相当する。制御手段はコア制御部44に相当する。
【符号の説明】
【0065】
1 印刷システム
2 ホスト
3 プリンタ
10 操作パネル
11 コントローラ
12 プリンタエンジン
21 ホストI/F
22 プログラムROM
23 フォントROM
24 パネルI/F
25 HDD
26 CPU
27 RAM
28 NV−RAM
29 エンジンI/F
30 インストール用記録媒体
41 PDL(Page Description Language)解析部
42 PDL描画部
43 コア割り当て判定部
44 コア制御部
【先行技術文献】
【特許文献】
【0066】
【特許文献1】特開2008−149543号公報
【技術分野】
【0001】
本発明は、画像形成装置、制御方法及び制御プログラムに関する。
【背景技術】
【0002】
近年のホストコンピュータの処理能力向上に伴い、複雑なグラフィックスやイメージ処理を伴う印刷ジョブが増加している。このような印刷ジョブを高速に処理するため、印刷装置は高性能な中央演算処理装置(CPU)が採用され始めている。高性能なCPUの一例としては、マルチコアと呼ばれるCPUコアを複数持つCPUが挙げられる。
【0003】
また、印刷装置はマルチコアのCPU形態を十分に活かすためのソフトウェア技術も必要となる。印刷装置はCPUコアが複数存在しても、CPUコアに与えられる処理が同時に複数なければ、十分にそのハードウェア能力を活かすことができない。
【0004】
マルチコアのCPU形態を活かすソフトウェア技術としてはマルチタスクがある。マルチタスクは複数の処理を平行して、或いは擬似的に平行に動作させる方法である。マルチタスクの方法を採ることによって、印刷装置は複数あるCPUコアに同時に複数の処理を与え、複数のCPUコアを持つハードウェア能力を活かすことが知られていた(例えば特許文献1参照)。
【発明の概要】
【発明が解決しようとする課題】
【0005】
通常、シングルコアのCPU形態において印刷を行う場合は、1ページずつ順番に処理が行われる。また、マルチコアのCPU形態において印刷を行う場合は1ページの処理に複数のコア(CPUコア)を集中させることでシングルコアのCPU形態より処理を速めることができる。
【0006】
ところで、印刷を行う場合の1ページの処理はデータ解析、バンド描画、後処理など複数の処理ステップを含む。したがって、1ページの処理に複数のコアを集中させる場合は処理ステップ毎にコアを割り当てることが多かった。しかし、各処理ステップには並列に行えない処理や、ある処理が終わっていないと行えない処理もある。このため、1ページの処理に複数のコアを集中させた場合は、必ずしも集中させたコアの数だけ処理が速くなる訳ではないという問題があった。
【0007】
本発明は、上記の点に鑑みなされたもので、複数の演算手段を用いた複数ページに対する処理速度を効率的に向上できる画像形成装置、制御方法及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記の課題を解決するため、請求項1に記載の画像形成装置は、複数の演算手段と、複数ページからなる印刷データを解析する解析手段と、前記複数ページからなる印刷データの各ページをそれぞれ描画する描画処理を行う描画手段と、前記描画手段で行う描画処理に対する前記複数の演算手段の割り当てを、前記解析手段による解析結果を元に前記印刷データの描画処理完了が最短になるように判定する割り当て判定手段と、前記割り当て判定手段による判定結果に基づいて前記複数の演算手段を前記描画手段が行う描画処理に割り当てる制御手段とを有することを特徴とする。
【0009】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【0010】
本発明によれば、複数の演算手段を用いた複数ページに対する処理速度を効率的に向上できる画像形成装置、制御方法及び制御プログラムを提供可能である。
【図面の簡単な説明】
【0011】
【図1】印刷システムの一例の構成図である。
【図2】シングルコアのCPU形態における描画処理を説明する一例の説明図である。
【図3】マルチコアのCPU形態における描画処理を説明する一例の説明図である。
【図4】各処理ステップ毎に複数コアを割り当てた描画処理を説明する一例の説明図である。
【図5】本実施の形態におけるコアの割り当てを説明する一例の説明図である。
【図6】プリンタの一例の処理ブロック図である。
【図7】印刷ジョブを受信したときの処理を表した一例のフローチャートである。
【図8】印刷ジョブを受信したときの処理を表した他の例のフローチャートである。
【図9】PDLデータをプリンタへ蓄積する処理の一例のフローチャートである。
【図10】蓄積印刷の処理を表した一例のフローチャートである。
【図11】コアの割り当て方の一例の説明図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態について、詳細に説明する。なお、本実施の形態におけるプリンタは画像形成装置の一例である。画像形成装置は、複合機やFAX、コピー機などの画像形成機能を備える機器であればよい。
【0013】
(構成図)
図1は印刷システムの一例の構成図である。印刷システム1はホスト2とプリンタ3とがデータ通信可能に接続されている。ホスト2とプリンタ3とはLAN等のネットワークを介して接続されてもよい。
【0014】
プリンタ3は操作パネル10とコントローラ11とプリンタエンジン12とを有する構成である。操作パネル10はプリンタ3の状態を示す表示部、及び、プリンタ3のモードやフォント等を切り替えるスイッチ部を有する。コントローラ11は、その時に設定されているモード、及び、ホスト2からの制御データに従って、ホスト2からの印刷データをビデオデータに変換し、プリンタエンジン12へ出力する制御機構の総称である。プリンタエンジン12は、コントローラ11からのビデオデータ及び制御データにより感光体上に静電潜像を作って現像し、また給紙部より転写紙を給紙し、転写及び定着を行い、画像を形成する。
【0015】
コントローラ11は例えば図1に示すようなモジュールにより構成される。図1のコントローラ11はホストI/F21、プログラムROM22、フォントROM23、パネルI/F24、HDD25、CPU26、RAM27、NV−RAM28、エンジンI/F29を有する。
【0016】
ホストI/F21はホスト2からプリンタ3への制御データ及び印刷データ、プリンタ3からホスト2へのステータス信号のインタフェースである。プログラムROM22はコントローラ11内でのデータの管理や周辺モジュールを制御するためのプログラムが格納されている。フォントROM23は印刷に使用される様々な種類のフォントのデータが格納されている。
【0017】
パネルI/F24はプリンタ3の状態、モード、フォント等の切り替えを行うための信号のインタフェースである。HDD25はプリンタ3の印刷データを保存するストレージの一例である。また、HDD25はプログラム、必要なファイル、データ等を格納してもよい。CPU26はプログラムROM22に格納されたプログラムに従ってホスト2からのデータ(印刷データ及び制御データ)を処理する。CPU26はマルチコアと呼ばれるCPUコア(コア)を複数持つ。CPU26は複数のコアがそれぞれ独立して動作することにより、並列処理を行う。
【0018】
RAM27はCPU26が処理する時のワークメモリとして使われる。また、RAM27はホスト2からの印刷データをページ単位に管理して一時記憶するバッファとして使われる。さらに、RAM27はバッファに記憶された印刷データを実際の印刷パターンに変換し、ビデオデータ(画像データ)を記憶するビットマップメモリ等として使われる。
【0019】
NV−RAM28は電源を切っても保持したいデータ等を格納しておく為の不揮発性RAMである。エンジンI/F29はコントローラ11からプリンタエンジン12への制御データ及びビデオデータ、プリンタエンジン12からコントローラ11へのステータス信号のインタフェースである。
【0020】
ホストI/F21を介してホスト2から送られてきたデータは、CPU26により印刷データ及び制御データと、その他とに分けられる。なお、印刷データ及び制御データは制御コードに変換されてバッファに記憶される。ホスト2からのプリント命令またはホスト2から受け取った印刷データが1ページ分を超えたとき、コントローラ11はまず、中間コード(制御コード)をビデオデータに変換する。コントローラ11はビデオデータへの変換が終了すると、エンジンI/F29を介してプリンタエンジン12にビデオデータを送信し、プリント開始の命令を出す。以上のような一連の流れにより、ホスト2からの印刷データはプリンタエンジン12により印刷される。
【0021】
なお、コントローラ11はインストール用記録媒体(以下、単に記録媒体と呼ぶ)30を有していてもよい。記録媒体30は脱着可能なものやソケット等を介して接続されるものも含む。プリンタ3を制御する各種プログラムは、例えば記録媒体30の配布やネットワーク等からのダウンロードなどによって提供される。
【0022】
記録媒体30はCD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプを用いることができる。プログラムは記録媒体30からHDD25にインストールされる。ネットワーク等からダウンロードされたプログラムもHDD25にインストールされる。
【0023】
HDD25はプログラム、必要なファイル、データ等を格納する。HDD25にインストールされたプログラムは起動時にRAM27に読み出される。そして、CPU26はRAM27に格納されたプログラムに従って、各種処理を実現している。
【0024】
(描画処理)
ここでは、シングルコアのCPU形態及びマルチコアのCPU形態における描画処理について説明する。図2はシングルコアのCPU形態における描画処理を説明する一例の説明図である。図2に示されている「P1」〜「P4」は、印刷文書の1〜4枚目を表している。シングルコアのCPU形態では1つのコアで1枚ずつ順番に描画処理が行われる。
【0025】
図3はマルチコアのCPU形態における描画処理を説明する一例の説明図である。マルチコアのCPU形態における描画処理は図3のように1枚(1ページ)の描画処理に複数のコア(4つのコア)を集中させることで描画処理を速めることができる。しかし、描画処理は例えば図3に示すように4つのコアを集中させたとしても4倍の速度になるとは限らない。
【0026】
実際の描画処理は、データ解析、バンド描画、後処理など複数の処理ステップを含んでいる。したがって、1ページの描画処理に複数のコアを集中させる場合は各処理ステップ毎に複数コアを割り当てることが考えられる。図4は、各処理ステップ毎に複数コアを割り当てた描画処理を説明する一例の説明図である。図4は複数のコアを集中させた場合の1ページの描画処理を表している。
【0027】
図4に示すように、1ページの処理ステップ(処理1〜3)は完全に並列処理を行うことが難しい。例えば処理3は並列処理を行えない処理の一例である。また、処理2は処理1が終わってからでないと並列処理を行えない処理の一例である。このように、4つのコアを1ページの描画処理に集中させたとしても、全てのコアが常に並列処理を行える訳ではないため、描画処理の速度は4倍になる訳ではない。
【0028】
図5は、本実施の形態におけるコアの割り当てを説明する一例の説明図である。例えば図5では「P1」の描画量が多いため「P1」に「コア1」と「コア2」とを並列に割り当てている。また、図5では「P2」「P3」にそれぞれ「コア2」「コア3」が割り当てられている。
【0029】
「P1」に割り当てられた「コア1」「コア2」は「P1」の描画処理が終わると「P4」の描画処理を行う。また「P2」に割り当てられた「コア3」は「P2」の描画処理が終わると「P4」の描画処理を行う。また「P3」に割り当てられた「コア4」は「P3」の描画処理が終わると「P4」の描画処理を行う。
【0030】
図5に示したコアの割り当てでは1ページの描画処理について、各ページに複数のコアを集中した場合より描画処理の速度が遅くなるが、複数ページの描画処理として総合的に見れば描画処理の速度が速くなる。本実施の形態では図5に示すように、複数のコアを各ページの処理に割り当てることによって描画処理の速度を向上させる。
【0031】
このように、本実施の形態では1ページ目の印刷速度については複数のコアを1ページに集中したときと比べると遅くなってしまう。しかし、1ページに集中してコアを割り当てていないため、本実施の形態ではシングルコアのCPU形態と同様、コアがほぼ動き続けることになる。したがって、本実施の形態では複数ページであるとき、印刷文書全体で考えると、描画処理の速度が向上している。
【0032】
(機能構成)
プリンタ3のコア割り当て処理は例えば図6の処理ブロックで実現される。図6はプリンタの一例の処理ブロック図である。なお、図6のプリンタ3の処理ブロック図は本実施の形態の説明に不要な部分について適宜省略している。プリンタ3はプログラムの一つとして制御プログラムが搭載されている。プリンタ3は、制御プログラムを実行することにより、PDL(Page Description Language)解析部41、PDL描画部42、コア割り当て判定部43、コア制御部44を実現する。
【0033】
PDL解析部41は、PDLデータの解析を行う。具体的に、PDL解析部41はPDLデータに含まれる各ページの描画情報を解析する。PDL描画部42はPDLデータを描画する。
【0034】
コア割り当て判定部43はPDL解析部41が解析した各ページの描画情報を元にコアの割り当て方を判定する。なお、コアの割り当て方の判定の詳細は後述する。コア制御部44はコア割り当て判定部43が判定したコアの割り当て方を元に、PDL描画部42へ各ページへのコアの割り当てを通知し、各ページへのコアの割り当てを行う。
【0035】
(処理手順)
図7は印刷ジョブを受信したときの処理を表した一例のフローチャートである。図7のフローチャートはページ数に対応してコアを割り当て、分散して処理を行う。なお、図7のフローチャートでは各ページの処理が終わるごとにコアの再割り当てを行う。
【0036】
例えばプリンタ3はステップS1においてホスト2から新規ジョブとして印刷ジョブを投入されることで本体の状態が変更する。ステップS2において、PDL解析部41は投入された印刷ジョブのPDLデータの解析を行う。ステップS3において、コア割り当て判定部43はPDL解析部41が解析した各ページの描画情報を元に各ページへのコアの割り当てを判定する。コア割り当て判定部43は例えば何ページ目の処理を、どのコアが行うかを判定する。なお、コア割り当て判定部43は同一のページに複数のコアを割り当てることができる。
【0037】
ステップS4において、コア制御部44はコア割り当て部43が判定したコアの割り当て方を元に、PDL描画部42へ各ページへのコアの割り当てを通知し、各ページへのコアの割り当てを行う。PDL描画部42は各ページに割り当てられたコアを用いてPDLデータの描画処理を行う。PDLデータの描画処理完了イベントがあると、コア割り当て判定部43はステップS5において、全ページのPDLデータの描画処理が完了したか否かを判定する。
【0038】
全ページのPDLデータの描画処理が完了していなければ、コア割り当て判定部43はステップS6において、各ページへのコアの再割り当てが必要か否かを判定する。例えばコア割り当て判定部43はPDLデータの描画処理が完了していないページにコアを割り当てられるとき、コアの再割り当てが必要と判定できる。
【0039】
各ページへのコアの再割り当てが必要であれば、コア割り当て判定部43はステップS3に戻る。ステップS3では、コア割り当て判定部43はPDLデータの描画処理が完了していないページにコアを割り当てることができる。各ページへのコアの再割り当てが必要でなければ、コア割り当て判定部43はステップS7においてPDLデータの描画処理完了イベントがあるまで待機し、PDLデータの描画処理完了イベントがあるとステップS5の処理に戻る。ステップS5において、全ページのPDLデータの描画処理が完了していれば、コア割り当て判定部43は図7のフローチャートの処理を終了する。
【0040】
図7のフローチャートでは、最初に全ページのPDLデータの解析を行っている。しかし実際のプリンタ3では印刷データがストリーミングデータでホスト2からプリンタ3へ送信され、全ての印刷データの受信が終わるまでページ数が分からないことが多い。そこで図8のフローチャートでは、一定ページ数ごとにPDLデータの解析を行い、解析した各ページの描画情報を元に各ページへのコアの割り当てを行う処理を繰り返している。
【0041】
図8は印刷ジョブを受信したときの処理を表した他の例のフローチャートである。図8のフローチャートは一部を除いて図7のフローチャートと同一であるため、適宜説明を省略する。
【0042】
例えばプリンタ3はステップS11においてホスト2から新規ジョブとして印刷ジョブを投入されることで本体の状態が変更する。ステップS12において、PDL解析部41は投入された印刷ジョブのうちnページ分のPDLデータの解析を行う。なお、PDL解析部41は印刷ジョブの最後など、nページ分のPDLデータが無い場合、最終ページまでのPDLデータの解析を行う。
【0043】
ステップS13において、コア割り当て判定部43はステップS3と同様、各ページへのコアの割り当てを判定する。ステップS14において、コア制御部44はコア割り当て部43が判定したコアの割り当て方を元に、PDL描画部42へ各ページへのコアの割り当てを通知し、各ページへのコアの割り当てを行う。PDL描画部42は各ページに割り当てられたコアを用いてPDLデータの描画処理を行う。PDLデータの描画処理完了イベントがあると、コア割り当て判定部43はステップS15において、全ページのPDLデータの描画処理が完了したか否かを判定する。
【0044】
全ページのPDLデータの描画処理が完了していなければ、コア割り当て判定部43はステップS16において、nページ分のPDLデータの描画処理が完了したか否かを判定する。nページ分のPDLデータの描画処理が完了していないと判定すれば、コア割り当て判定部43はステップS17において、各ページへのコアの再割り当てが必要か否かを判定する。
【0045】
各ページへのコアの再割り当てが必要であれば、コア割り当て判定部43はステップS13に戻る。各ページへのコアの再割り当てが必要でなければ、コア割り当て判定部43はステップS18においてPDLデータの描画処理完了イベントがあるまで待機し、PDLデータの描画処理完了イベントがあるとステップS16の処理に戻る。
【0046】
ステップS16において、nページ分のPDLデータの描画処理が完了していると判定すれば、コア割り当て判定部43はステップS12に戻り、PDL解析部41に未解析のnページ分のPDLデータの解析を行わせる。ステップS15において、全ページのPDLデータの描画処理が完了していれば、コア割り当て判定部43は図8のフローチャートの処理を終了する。
【0047】
図7及び図8のフローチャートでは、ホスト2から新規ジョブとして印刷ジョブを投入する例を示している。しかし、プリンタ3は蓄積印刷のように事前にPDLデータをプリンタ3へ蓄積しておき、後からユーザの印刷指示で印刷を行う場合もある。
【0048】
この場合は図9に示すようにPDLデータをプリンタ3へ蓄積するとき、PDLデータの解析を行うことで、各ページへのコアの割り当てに必要な情報(描画解析データ)を事前に保存しておくことができる。
【0049】
図9はPDLデータをプリンタへ蓄積する処理の一例のフローチャートである。例えばプリンタ2はステップS21においてホスト2から蓄積文書ジョブを投入される。PDL解析部41はステップS22において、投入された蓄積文書ジョブのPDLデータの解析を行う。ステップS23において、PDL解析部41は投入された蓄積文書ジョブのPDLデータを解析した描画解析データと、印刷データとをHDD25等に保存する。描画解析データは各ページへのコアの割り当ての為の情報となる。このように、各ページへのコアの割り当ての為の情報である描画解析データは印刷データと共に保存される。
【0050】
図10は蓄積印刷の処理を表した一例のフローチャートである。例えばプリンタ3はステップS31において例えばホスト2から蓄積文書の再印刷指示を受け付ける。ステップS32において、コア割り当て判定部43は印刷データを蓄積するときに保存した描画解析データをHDD25等から取り出す。
【0051】
ステップS33において、コア割り当て判定部43は取り出した描画解析データを元に各ページへのコアの割り当てを判定する。コア割り当て判定部43は例えば何ページ目の処理を、どのコアが行うかを判定する。なお、コア割り当て判定部43は同一のページに複数のコアを割り当てることができる。
【0052】
ステップS34において、コア制御部44はコア割り当て部43が判定したコアの割り当て方を元に、PDL描画部42へ各ページへのコアの割り当てを通知し、各ページへのコアの割り当てを行う。PDL描画部42は各ページに割り当てられたコアを用いてPDLデータの描画処理を行う。PDLデータの描画処理完了イベントがあると、コア割り当て判定部43はステップS35において、全ページのPDLデータの描画処理が完了したか否かを判定する。全ページのPDLデータの描画処理が完了していなければ、コア割り当て判定部43はステップS36において、各ページへのコアの再割り当てが必要か否かを判定する。
【0053】
各ページへのコアの再割り当てが必要であれば、コア割り当て判定部43はステップS32に戻る。各ページへのコアの再割り当てが必要でなければ、コア割り当て判定部43はステップS37においてPDLデータの描画処理完了イベントがあるまで待機し、PDLデータの描画処理完了イベントがあるとステップS35の処理に戻る。ステップS35において、全ページのPDLデータの描画処理が完了していれば、コア割り当て判定部43は図10のフローチャートの処理を終了する。
【0054】
図10のフローチャートはPDLデータをプリンタ3へ蓄積するとき、PDLデータの解析を行い、各ページへのコアの割り当てに必要な情報(描画解析データ)を事前に保存しておくことで、蓄積印刷時におけるPDLデータの解析の処理を省略できる。
【0055】
図11はコアの割り当て方の一例の説明図である。図11では描画データ量を元にコアの割り当て方を判定している。図11(A)は各ページの描画データ量を表す。1ページ目の描画データ量は150Byteである。2〜4ページ目の描画データ量は100Byteである。
【0056】
図11(B)は各ページの描画時間を割り当てたコアの数毎に表す。例えば1ページ目は1コアを割り当てると300msの描画時間となり、2コアを割り当てると180msの描画時間となる。コア割り当て判定部43は描画データ量を元にコアの数毎の描画時間を算出する。コア割り当て判定部43は印刷文書全体での描画時間が最短となるように各ページにコアを割り当てる。
【0057】
図11(C)は各ページに割り当てられるコアの時間遷移を表している。最初、コア割り当て判定部43は、1ページ目に2コアを割り当て、2及び3ページ目に1コアずつ割り当てている。
【0058】
1ページ目は2コアを割り当てられたため、描画時間が180msである。2ページ目は1コアを割り当てられたため、描画時間が200msである。3ページ目は1コアを割り当てられたため、描画時間が200msである。
【0059】
180ms経過すると、1ページ目の描画処理が終了する。そこで、コア割り当て判定部43は1ページ目に割り当てられていた2コアを4ページ目に割り当てる。処理開始から200ms経過すると、2及び3ページ目の描画処理が終了する。そこで、コア割り当て判定部43は2及び3ページ目に割り当てられていた2コアを更に4ページ目に割り当てる。
【0060】
4ページ目の描画処理は180msから200msまでの間、2コアによって行われていた。4ページ目の描画時間は2コアを割り当てた場合、120msである。処理開始から200ms経過した時点で、4ページ目の描画処理は20ms/120ms=1/6分だけ描画処理が終了している。
【0061】
処理開始から200ms以降は4ページ目に4コアが割り当てられる。残りの5/6分の描画処理は4コアで行われる。4ページ目の描画時間は4コアを割り当てた場合、72msである。4ページ目の描画処理は4コアの割り当て後、72ms×(5/6)=60ms後に終了する。したがって、印刷文書全体での描画時間は260msとなる。
【0062】
描画時間260msは、各ページに4コアを集中した描画時間324ms(108+72+72+72ms)より短い。また、描画時間260msは、各ページに1コアを振り分けた描画時間300ms(1コアを割り当てたときの1〜4ページ目の描画時間で最長の1ページ目の描画時間)より短い。なお、描画時間の算出は印刷データに含まれるテキスト、イメージ、グラフィックといった描画オブジェクトごとに重み付けを行って算出するようにしてもよい。
【0063】
(まとめ)
本実施の形態によれば、マルチコアのCPU形態を利用し、複数ページに対する処理時間が最短になるように、各ページに割り振るコア数を判定することにより、複数ページに対する処理速度を向上できる。
【0064】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、特許請求の範囲に記載した解析手段はPDL解析部41に相当する。描画手段はPDL描画部42に相当する。判定手段はコア割り当て判定部43に相当する。制御手段はコア制御部44に相当する。
【符号の説明】
【0065】
1 印刷システム
2 ホスト
3 プリンタ
10 操作パネル
11 コントローラ
12 プリンタエンジン
21 ホストI/F
22 プログラムROM
23 フォントROM
24 パネルI/F
25 HDD
26 CPU
27 RAM
28 NV−RAM
29 エンジンI/F
30 インストール用記録媒体
41 PDL(Page Description Language)解析部
42 PDL描画部
43 コア割り当て判定部
44 コア制御部
【先行技術文献】
【特許文献】
【0066】
【特許文献1】特開2008−149543号公報
【特許請求の範囲】
【請求項1】
複数の演算手段と、
複数ページからなる印刷データを解析する解析手段と、
前記複数ページからなる印刷データの各ページをそれぞれ描画する描画処理を行う描画手段と、
前記描画手段で行う描画処理に対する前記複数の演算手段の割り当てを、前記解析手段による解析結果を元に前記印刷データの描画処理完了が最短になるように判定する割り当て判定手段と、
前記割り当て判定手段による判定結果に基づいて前記複数の演算手段を前記描画手段が行う描画処理に割り当てる制御手段と
を有すること
を特徴とする画像形成装置。
【請求項2】
前記解析手段は、前記複数ページからなる印刷データを解析する際、所定ページ数毎に印刷データを解析すること
を特徴とする請求項1記載の画像形成装置。
【請求項3】
前記解析手段は、前記複数ページからなる印刷データを蓄積する際、印刷データを解析して、その解析結果を保存しておき、
前記割り当て判定手段は、前記描画手段で行う描画処理に対する前記複数の演算手段の割り当てを、前記保存しておいた解析結果を元に前記印刷データの描画処理完了が最短になるように判定すること
を特徴とする請求項1記載の画像形成装置。
【請求項4】
前記割り当て判定手段は、前記解析手段による解析結果を元に、各ページのデータ量から前記演算手段の割り当て数と描画処理の時間との関係をページ毎に算出して、前記複数ページの画像データを描画する描画処理に対する前記複数の演算手段の割り当てを、前記印刷データの描画処理完了が最短になるように判定すること
を特徴とする請求項1乃至3何れか一項記載の画像形成装置。
【請求項5】
前記割り当て判定手段は、前記解析手段による解析結果を元に、各ページに含まれるテキスト、イメージ、グラフィックから前記演算手段の割り当て数と描画処理の時間との関係をページ毎に算出して、前記複数ページの画像データを描画する描画処理に対する前記複数の演算手段の割り当てを、前記印刷データの描画処理完了が最短になるように判定すること
を特徴とする請求項1乃至3何れか一項記載の画像形成装置。
【請求項6】
画像形成装置によって実行される制御方法であって、
複数ページからなる印刷データを解析する解析ステップと、
前記複数ページからなる印刷データの各ページをそれぞれ描画する描画処理を行う描画ステップと、
前記描画ステップで行う描画処理に対する複数の演算手段の割り当てを、前記解析ステップによる解析結果を元に前記印刷データの描画処理完了が最短になるように判定する割り当て判定ステップと、
前記割り当て判定ステップによる判定結果に基づいて前記複数の演算手段を前記描画ステップが行う描画処理に割り当てる制御ステップと
を有すること
を特徴とする制御方法。
【請求項7】
コンピュータを、
複数ページからなる印刷データを解析する解析手段と、
前記複数ページからなる印刷データの各ページをそれぞれ描画する描画処理を行う描画手段と、
前記描画手段で行う描画処理に対する複数の演算手段の割り当てを、前記解析手段による解析結果を元に前記印刷データの描画処理完了が最短になるように判定する割り当て判定手段と、
前記割り当て判定手段による判定結果に基づいて前記複数の演算手段を前記描画手段が行う描画処理に割り当てる制御手段と
して機能させるためのプログラム。
【請求項1】
複数の演算手段と、
複数ページからなる印刷データを解析する解析手段と、
前記複数ページからなる印刷データの各ページをそれぞれ描画する描画処理を行う描画手段と、
前記描画手段で行う描画処理に対する前記複数の演算手段の割り当てを、前記解析手段による解析結果を元に前記印刷データの描画処理完了が最短になるように判定する割り当て判定手段と、
前記割り当て判定手段による判定結果に基づいて前記複数の演算手段を前記描画手段が行う描画処理に割り当てる制御手段と
を有すること
を特徴とする画像形成装置。
【請求項2】
前記解析手段は、前記複数ページからなる印刷データを解析する際、所定ページ数毎に印刷データを解析すること
を特徴とする請求項1記載の画像形成装置。
【請求項3】
前記解析手段は、前記複数ページからなる印刷データを蓄積する際、印刷データを解析して、その解析結果を保存しておき、
前記割り当て判定手段は、前記描画手段で行う描画処理に対する前記複数の演算手段の割り当てを、前記保存しておいた解析結果を元に前記印刷データの描画処理完了が最短になるように判定すること
を特徴とする請求項1記載の画像形成装置。
【請求項4】
前記割り当て判定手段は、前記解析手段による解析結果を元に、各ページのデータ量から前記演算手段の割り当て数と描画処理の時間との関係をページ毎に算出して、前記複数ページの画像データを描画する描画処理に対する前記複数の演算手段の割り当てを、前記印刷データの描画処理完了が最短になるように判定すること
を特徴とする請求項1乃至3何れか一項記載の画像形成装置。
【請求項5】
前記割り当て判定手段は、前記解析手段による解析結果を元に、各ページに含まれるテキスト、イメージ、グラフィックから前記演算手段の割り当て数と描画処理の時間との関係をページ毎に算出して、前記複数ページの画像データを描画する描画処理に対する前記複数の演算手段の割り当てを、前記印刷データの描画処理完了が最短になるように判定すること
を特徴とする請求項1乃至3何れか一項記載の画像形成装置。
【請求項6】
画像形成装置によって実行される制御方法であって、
複数ページからなる印刷データを解析する解析ステップと、
前記複数ページからなる印刷データの各ページをそれぞれ描画する描画処理を行う描画ステップと、
前記描画ステップで行う描画処理に対する複数の演算手段の割り当てを、前記解析ステップによる解析結果を元に前記印刷データの描画処理完了が最短になるように判定する割り当て判定ステップと、
前記割り当て判定ステップによる判定結果に基づいて前記複数の演算手段を前記描画ステップが行う描画処理に割り当てる制御ステップと
を有すること
を特徴とする制御方法。
【請求項7】
コンピュータを、
複数ページからなる印刷データを解析する解析手段と、
前記複数ページからなる印刷データの各ページをそれぞれ描画する描画処理を行う描画手段と、
前記描画手段で行う描画処理に対する複数の演算手段の割り当てを、前記解析手段による解析結果を元に前記印刷データの描画処理完了が最短になるように判定する割り当て判定手段と、
前記割り当て判定手段による判定結果に基づいて前記複数の演算手段を前記描画手段が行う描画処理に割り当てる制御手段と
して機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2013−52568(P2013−52568A)
【公開日】平成25年3月21日(2013.3.21)
【国際特許分類】
【出願番号】特願2011−191730(P2011−191730)
【出願日】平成23年9月2日(2011.9.2)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成25年3月21日(2013.3.21)
【国際特許分類】
【出願日】平成23年9月2日(2011.9.2)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]