JP2016055536A - 画像形成装置、プログラム、および画像形成装置の制御方法 - Google Patents

画像形成装置、プログラム、および画像形成装置の制御方法 Download PDF

Info

Publication number
JP2016055536A
JP2016055536A JP2014184215A JP2014184215A JP2016055536A JP 2016055536 A JP2016055536 A JP 2016055536A JP 2014184215 A JP2014184215 A JP 2014184215A JP 2014184215 A JP2014184215 A JP 2014184215A JP 2016055536 A JP2016055536 A JP 2016055536A
Authority
JP
Japan
Prior art keywords
processing
image
memory
image memory
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014184215A
Other languages
English (en)
Inventor
淳示 鈴木
Junji Suzuki
淳示 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2014184215A priority Critical patent/JP2016055536A/ja
Publication of JP2016055536A publication Critical patent/JP2016055536A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

【課題】画像メモリに関する処理の効率化により画像形成処理の高速化が実現できる画像形成装置を提供する。
【解決手段】印刷データを取得し、当該印刷データの解析を実行する解析部(PDL言語解析部)と、解析部の解析結果に基づいて印刷データに対応して描画される描画像を保存する画像メモリに対して、メモリ処理として初期化処理、圧縮処理、展開処理のうち少なくとも1つを実行する複数の処理部(画像メモリ処理部)と、解析部の解析結果に基づき描画像に対する処理負担の度合いを示す複雑度を算出して、画像メモリに対してメモリ処理を実行する際に必要な処理時間を推定する推定部(PDL言語解析部)と、推定部で推定した処理時間に基づき、複数の処理部(画像メモリ処理部)のうちいずれの処理部でメモリ処理を実行するかを決定する決定部(画像メモリ制御部)と、を備える。
【選択図】図2

Description

本発明は、画像形成装置、プログラム、および画像形成装置の制御方法に関する。
例えばPC(Personal Computer)上のアプリケーションで作成したテキスト、グラフィック、イメージなどのファイルを印刷する場合、ファイルのレイアウト情報などはプリンタドライバによってPDL(Page Description Language、ページ記述言語)と呼ばれるプリンタ制御言語(PDLデータ)に変換される。印刷装置(画像形成装置)側では、PDLデータを解析して中間データとして描画コマンドを生成し、当該描画コマンドにしたがって描画が実行されて画像データが生成され、印刷媒体に印刷が実行される。このような一連の印刷処理において、画像データの生成処理(レンダリング)および画像データの保持等を行う画像メモリに関する処理に、処理時間の多くを費やすことが知られている。つまり、これらの処理を効率的に行うことで印刷性能の向上が期待できる。
例えば、特許文献1に開示された技術の場合、印刷装置にマルチコアCPUを用い、画像形成処理を行う画像形成スレッド1と画像形成スレッド2を他のスレッドに比べ高いプライオリティで起動させている。その結果、画像形成スレッド1と画像形成スレッド2への割り込みを減少させて、画像形成処理を高速化させた印刷装置を提供している。
特許文献1に開示される技術の場合、マルチコアCPUを用いることで画像形成処理の高速化を実現している。これとは別に画像メモリに関する処理の効率化を行うことができれば、画像形成処理の高速化および画像形成装置の高速化ができると考えられる。
本発明は、上述の課題に鑑みてなされたものであり、画像メモリに関する処理の効率化により画像形成処理の高速化が実現できる画像形成装置を提供することを目的の1つとする。
上述した課題を解決し、目的を達成するために、本発明は、印刷データを取得し、当該印刷データの解析を実行する解析部と、前記解析部の解析結果に基づいて前記印刷データに対応して描画される描画像を保存する画像メモリに対して、メモリ処理として初期化処理、圧縮処理、展開処理のうち少なくとも1つを実行する複数の処理部と、前記解析部の解析結果に基づき前記描画像に対する処理負担の度合いを示す複雑度を算出して、前記画像メモリに対して前記メモリ処理を実行する際に必要な処理時間を推定する推定部と、前記推定部で推定した処理時間に基づき、前記複数の処理部のうちいずれの処理部で前記メモリ処理を実行するかを決定する決定部と、を備える画像形成装置である。
本発明によれば、画像メモリに関する処理の効率化により画像形成装置における画像形成処理の高速化ができる。
図1は、実施形態に係る画像形成装置のハードウエア構成を説明する説明図である。 図2は、実施形態に係る画像形成装置のコントローラのソフトウエアブロック図である。 図3は、実施形態に係る画像形成装置の画像形成処理を説明するフローチャートである。 図4は、実施形態に係る画像形成装置の画像形成処理におけるPDL解析処理の詳細を説明するフローチャートである。 図5は、実施形態に係る画像形成装置の画像形成処理における画像メモリの初期化時間を示す複雑度テーブルの一例を説明する説明図である。 図6は、実施形態に係る画像形成装置の画像形成処理における複雑度の算出処理の詳細を説明するフローチャートである。 図7は、実施形態に係る画像形成装置の画像形成処理における複雑度を色値の切替り遷移に基づいて算出する場合を説明する説明図である。 図8は、実施形態に係る画像形成装置の画像形成処理において、単色描画の場合の複雑度を算出する場合の説明図である。 図9は、実施形態に係る画像形成装置の画像形成処理において、画像メモリの領域を複数の分割領域に分割して複雑度を算出する場合の説明図である。 図10は、図9に示す分割領域を用いる場合の複雑度の算出処理を説明するフローチャートである。 図11は、実施形態に係る画像形成装置の画像形成処理において、低解像度の描画を用いて複雑度を算出する場合の説明図である。 図12は、図11に示す低解像度の描画を用いる場合に複雑度の算出処理を説明するフローチャートである。 図13は、比較例として本実施形態を適用しない場合の画像形成処理のタイミングチャートである。 図14は、本実施形態を適用する場合の画像形成処理のタイミングチャートである。 図15は、実施形態に係る画像形成装置における優先モードの選択例を示す説明図である。
以下に添付図面を参照して、画像形成装置、プログラム、および画像形成装置の制御方法の実施形態を詳細に説明する。
本実施形態において、画像形成装置は、例えばホストコンピュータ(ホストPC)等から提供される印刷データ(以下、PDLデータという)を取得し、当該PDLデータの解析を実行する解析部を備える。また、本実施形態の画像形成装置は複数の処理部を有する。この処理部は、解析部の解析結果に基づいてPDLデータに対応して描画される描画像を保存する画像メモリに対して、メモリ処理として初期化処理、圧縮処理、展開処理のうち少なくとも1つを実行する。また、メモリ処理を実行する処理部の選択に必要な処理時間を、描画像に対する処理負担の度合いを示す複雑度に基づいて推定する推定部を備える。そして、推定部で推定した処理時間に基づき、複数の処理部のうちいずれの処理部でメモリ処理を実行するかを決定する決定部を備える。決定部は、現在、メモリ処理を実行してる処理部に割り当てられている処理時間と、今後いずれかの処理部で実行されるメモリ処理で割り当てられる処理時間を考慮して、メモリ処理を実行する処理部を決定する。このように、処理状況に応じてメモリ処理を実行する処理部を決定することによって、例えば、処理待ち時間の発生を抑制した効率的なメモリ処理が実行可能となり画像形成処理の高速化、印刷処理時間の短縮化が実現できる。
図1は、本実施形態に係る画像形成装置10のハードウエア構成を説明する説明図である。なお、図1は、本実施形態の画像メモリに対するメモリ処理を説明するために必要な構成を主として示し、画像形成装置の他の機能に関する構成は、簡略化または省略している。
画像形成装置10は、例えば複写機、プリンター、イメージスキャナ、ファクシミリ等の機能を1つの筐体に収めた、デジタル複合機(MFP;MultiFunction Printer/Product/Peripheral)とすることができる。画像形成装置10は、例えばホストコンピュータ12(ホストPC12)上のアプリケーションで作成したテキスト、グラフィック、イメージなどのファイルを印刷する。画像形成装置10には、ホストPC12からPDL(Page Description Language;ページ記述言語)形式の印刷データ(PDLデータ)が提供される。PDLデータは、ファイルのレイアウト情報などがプリンタドライバによって変換されたものである。
画像形成装置10は、コントローラ14、パネル装置16およびプリンタエンジン18を含んで構成される。
コントローラ14は、その動作時点に設定されている動作モードおよびネットワークI/Fを介して接続されたホストPC12等から提供されるPDLデータに従って印刷処理を実行する。画像形成装置10は、ホストPC12からのPDLデータを画像データ(ビットマップデータ)に変換(レンダリング)しプリンタエンジン18へ出力する。なお、コントローラ14は、さらに後述する各種モジュールで構成される。
パネル装置16は、画像形成装置10の状態を示す液晶パネル等を用いた表示部と、ユーザが画像形成装置10の動作モードやフォント等の切替えやパスワードの入力等を行うためのタッチパネル等を用いた入力部とから構成される。
プリンタエンジン18は、プロセスカートリッジを備える。プロセスカートリッジは、感光体を内蔵すると共に、帯電部、露光部、現像部、転写部、クリーニング部、除電部等を含む一体化部品であり、画像形成装置10に対し着脱可能となっている。プリンタエンジン18は、ホストPC12からの制御信号および画像データに従ってプロセスカートリッジの感光体上に静電潜像を生成して、それを現像する。さらに給紙部より転写紙を給紙して、現像した画像をこの転写紙に転写および定着することにより、転写紙上に画像を形成する。なお、プリンタエンジン18は、プロセスカートリッジではなく、トナーカートリッジを用いる構成とすることもできる。その場合、感光体、帯電部、露光部、現像部、転写部、クリーニング部、除電部等は、トナーカートリッジとは別の部品としてプリンタエンジン18が備える。
次に、画像形成装置10のコントローラ14に含まれる各種モジュールについて説明する。コントローラ14は、CPU20、ROM22、RAM24、NVRAM26、HDD28、ASIC30、ネットワークI/F32、エンジンI/F34、パネルI/F36等を含む。
CPU20は、ROM22に格納された制御プログラムに従ってホストPC12等から提供されるPDLデータを処理する。
ROM22は、CPU20が、コントローラ14内で実行するデータの管理や周辺モジュールを統括的に制御するための制御プログラム(ソフトウエア)を格納する。
RAM24は、CPU20が制御プログラムにしたがって作成するページメモリやソフトウエアが動作するために必要なワークメモリ等として使用される。例えばRAM24は、ホストPC12等からのPDLデータを解析してページ単位に管理して一時記憶する中間データメモリとして使用される。またRAM24は中間データから変換された画像データ(印字パターン等)を記憶するビットマップメモリ(画像メモリ、展開メモリ)としても使用される。
NVRAM26は、電源を切っても保持したいデータ、例えば、印刷制御に用いられる、パネル装置16を介して設定された所定の設定値や所定の印刷条件情報等の情報を格納しておくための不揮発性RAMである。
HDD28は、不揮発性記憶手段としての磁気ディスク等のハードディスクであり、ホストPC12等からのPDLデータの蓄積やPDLデータから変換された画像データ(ビットマップデータ)の蓄積に使用できる。またHDD28は、それらのデータの保存のため、または一時記憶のためのバッファやワーク用領域等として、様々な用途で使用される。また、HDD28は印字に使用されるさまざまな種類のフォントデータの格納に使用されてもよい。
ASIC(application specific integrated circuit)30は電子部品の種別の1つで、特定の用途向けに複数機能の回路を1つにまとめた集積回路であり、例えば画像メモリの圧縮、展開、初期化等の処理を実行する処理部として機能する。なお、本実施形態の画像形成装置10の場合、CPU20もASIC30と同様な画像メモリの圧縮、展開、初期化等を実行する処理部として機能することができる。
ネットワークI/F32は、ホストPC12から画像形成装置10への印刷ジョブとして送られるPDLデータ(印字制御データおよび印字データを含む)およびホストPC12から画像形成装置10へのステータス信号を送受信するためのインタフェースである。
エンジンI/F34は、コントローラ14からプリンタエンジン18への制御信号およびプリンタエンジン18からコントローラ14へのステータス信号のやりとりをするためのインタフェースである。
パネルI/F36は、パネル装置16を介してユーザが画像形成装置10の状態表示の切替えや動作モードおよびフォント等の切替え等を行えるように、コントローラ14がパネル装置16との間で信号のやりとりをするためのインタフェースである。
このように構成される画像形成装置10において、ネットワークI/F32を通してホストPC12から送られてきたPDLデータは、CPU20により解析されて中間データが生成される。そして、中間データは、それぞれ画像データ(ビットマップデータ)および画像形成装置10内部で使用される制御コードに変換されてHDD28またはRAM24に記憶される。コントローラ14は、PDLデータから生成した中間データを画像データに変換する。それが終了すると、エンジンI/F34を通してプリンタエンジン18にプリントスタートの命令を出す。そして、この命令に応じてプリンタエンジン18が印刷を開始する。
図2は、画像形成装置10において、PDLデータの処理を実現するコントローラ14のソフトウエアブロック図である。図2に示されるPDL言語解析部38、中間データ制御部40、描画部42、画像メモリ制御部44、画像メモリ処理部46aは、CPU20がROM22に記憶された制御プログラムを読み出すことで実現する処理モジュールである。また、画像メモリ処理部46bは、CPU20がROM22に記憶された制御プログラムを読み出すことでASIC30上で実現する処理モジュールである。また、中間データメモリ48および画像メモリ50は、RAM24またはHDD28上に確保される保存領域である。なお、図2に示された1つのブロックを複数のブロックによって実現してもよいし、図2に示された複数のブロックを1つのブロックとして実現してもよい。また、これらの一部または全部をハードウエアとして実現してもよい。
PDL言語解析部38は、ホストPC12等から受信したPDLデータの言語解析を行う。この場合、PDL言語解析部38はPDLデータの解析結果に基づき描画する画像データ(描画像)を一時的に保持する画像メモリに対し、画像メモリ処理部46が実行するメモリ処理にどの程度の処理時間が必要になるかを推定する(見積もる)。つまり、PDL言語解析部38は、解析処置と共に推定処理を実行する推定部としても機能する。なお、画像メモリ処理部46が実行するメモリ処理は、例えば初期化処理、圧縮処理、展開処理が含まれる。初期化処理は、RAM24上の画像メモリを初期化する。また、圧縮処理は、画像メモリに書き込まれたデータをHDD28等の記憶媒体に保存または一時的に保存するために、容量を圧縮する処理である。また、展開処理は、HDD28等に圧縮保存されたデータをRAM24の画像メモリ上で展開する処理である。
中間データ制御部40は、PDL言語解析部38の解析結果から中間データを作成し、RAM24上の中間データメモリに保存する。描画部42は、中間データメモリから中間データを読み出し、その中間データの内容に従って描画する先となる画像メモリを取得するために、画像メモリ制御部44に対して取得要求を実行する。また描画部42は、取得された画像メモリに、中間データに基づく描画(レンダリング)を実行する。画像メモリ制御部44は、描画部42からのメモリ取得要求に対し、RAM24上に画像メモリを確保する。そして、確保した画像メモリに対して、そのときの処理状態に対応して必要となるメモリ処理(初期化処理、圧縮処理、展開処理のいずれか)を実行する画像メモリ処理部46(46a,46b)を選択し、選択した画像メモリ処理部46に対してメモリ処理を要求する。すなわち、画像メモリ制御部44は、PDL言語解析部38で推定した処理時間に基づき、複数の画像メモリ処理部46のうちいずれの画像メモリ処理部46でメモリ処理を実行するかを決定する決定部として機能する。
本実施形態の場合、画像メモリ処理部46は、例えばCPU20が処理を実行することにより実現される画像メモリ処理部46aと、ASIC30が処理を実行することにより実現される画像メモリ処理部46bとが存在する。なお、画像メモリ処理部46aと画像メモリ処理部46bは、実質的に同じ機能を実現するので、説明上特に区別を必要としない場合には、「画像メモリ処理部46」と表記する。画像メモリ処理部46は、画像メモリ制御部44からの処理要求に対して、そのときの処理状態に対応して必要となる初期化処理、圧縮処理、展開処理のいずれか一つを実行する。画像メモリ制御部44は、要求されているメモリ処理に関して、画像メモリ処理部46aと画像メモリ処理部46bのいずれを選択するか決定する。CPU20で実現される画像メモリ処理部46aとASIC30で実現される画像メモリ処理部46bとは、処理速度等性能的の同じでもよし、一方は他方より高速処理が可能であるとしてもよい。処理速度等の性能が異なる場合、その性能の違いも処理時間を推定する場合にパラメータとして利用する。画像メモリ処理部46は、例えば、ページ先頭の描画を行うためにメモリ取得要求が行われている場合、RAM24上の画像メモリからメモリ領域を確保し、初期化処理を行った後で初期化処理の完了を画像メモリ制御部44に通知する。ところで、一度描画した画像メモリに対して再度描画を実行(再描画)する状況が生じる場合がある。この状況を考慮すると、画像メモリは1ページ分の画像データを保持することが望ましいが、メモリ領域を確保するために、画像メモリの画像データを圧縮処理しHDD28やRAM24の他のワークエリアに一時的に保持する。そして、次回以降の処理で、画像メモリ制御部44がメモリ取得要求を受け付けると、HDD28等に保持されている圧縮済みの画像データを画像メモリ上に展開して、その展開完了結果を画像メモリ制御部44に通知する。
プリンタエンジン18は、画像メモリ50上で描画が完了した1ページ分の画像データを受け取り、印刷を実行する。
上述のように構成される画像形成装置10にホストPC12からPDLデータが入力された場合の印刷処理の手順を図3のフローチャートに基づいて説明する。
PDL言語解析部38は、画像形成装置10(プリンタ)に入力されたPDLデータの言語解析を行う(S100)。入力されるPDLデータはPDLコマンドの集合体であり、1コマンドずつ言語解析を行う。PDLの言語解析の詳細を図4に示す。PDL言語解析部38は、まず、入力されたPDLデータのコマンド行が終端か否かを確認する(S200)。もし、終端の場合は(S200のYes)、PDL言語解析部38は、入力されたPDLデータの解析が完了していると判断し、この処理を一旦終了する。一方、入力されたPDLデータのコマンド行が終端ではない場合(S200のNo)、PDL言語解析部38は、順次コマンドの解析を実行する(S202)。PDL言語解析部38は解析の際に、コマンドの種類やパラメータに応じてコマンドごとの複雑度を算出する(S204)。複雑度とは、PDLデータに対応する画像データ(描画像)を描画する画像メモリに対して、初期化処理、圧縮処理、展開処理のいずれか一つの処理を施す場合の処理の負荷を示す指標であり、例えば処理に必要な処理時間を推定するために用いる。複雑度は、例えば、値が大きいほど、処理の負荷が大きいことを示す。以下では、これを例にして説明する。ただし、これに限定されるものではない。なお、複雑度の算出手法の詳細については後述する。コマンドの複雑度の算出が完了すると、中間データ制御部40は、PDLデータから生成した中間データとコマンドごとに算出した複雑度とを中間データメモリ48に保存する(S206)。
図3に戻り、中間データ制御部40は、保存した中間データで中間データメモリ48が満杯になったか、またはPDLデータの処理が終了(例えば1ページ分の処理が終了)したか否かの判定を行う(S102)。PDLデータは、印刷内容によって中間データの量が変動するため、例えば1ページ分の中間データが有限の中間データメモリ48に収まらない場合もある。逆に中間データメモリ48の容量に余裕がある状態で、画像形成装置10に入力されたPDLデータの処理が完了する場合がある。したがって、PDLデータの解析(中間データへの変換)は、中間データメモリ48を効率的に利用するように中間データメモリ48が満杯になるか、PDLデータの解析が完了するまでS100の処理を継続する(S102のNo)。中間データメモリ48が満杯になったか、PDLデータの解析が完了した場合(S102のYes)、描画部42は、中間データメモリ48に保存された中間データを用いた描画処理を実行するために、画像メモリ制御部44に対して画像メモリ50の取得要求をする。取得要求を受け付けると、画像メモリ制御部44は、現在処理の対象になっている中間データが、入力されたPDLデータのページ先頭部分を含む処理か否か判定する(S104)。もし、ページ先頭を含む処理の場合(S104のYes)、つまり入力されたPDLデータを用いて初めて描画(レンダリング)を行う場合は、画像メモリ50の初期化処理が必要であり、画像メモリ制御部44は、画像メモリ50を初期化処理するための画像メモリ処理部46を選択する(S106)。例えば、画像メモリ制御部44は、CPU20が処理を実行することにより実現される画像メモリ処理部46aにより初期化処理を行うか、ASIC30が処理を実行することにより実現される画像メモリ処理部46bにより初期化処理を行うか決定する。画像メモリ処理部46aを選択するか画像メモリ処理部46bを選択するかは、S100でPDLデータの言語解析時に算出した複雑度を参照して行うことができる。ここで、初期化する対象の画像メモリ50の使用容量が少ないほど、また、初期化処理を実行する画像メモリ処理部46の性能が高いほど初期化処理時間が短くなる。したがって、初期化処理に必要な処理時間と現在の画像メモリ処理部46aと画像メモリ処理部46bとの動作状態とを比較して、効率よく処理できる画像メモリ処理部46aまたは画像メモリ処理部46bのいずれを選択するか決定する。なお、画像メモリ50の初期化処理に関して、その処理時間は、画像メモリ処理部46の性能によって決めることができるので、複雑度を固定値として保持してもよい。例えば図5に示すような、用紙サイズや解像度、ビット深度、印刷に使用するカラーの種類等に対応する画像メモリ処理部46a(CPU)と画像メモリ処理部46b(ACIS)の処理時間を推定する際に用いる複雑度テーブルを複数種類保持しておく。そして、画像形成装置10における処理内容(初期化する内容で定まる複雑度)と現在の画像メモリ処理部46a(CPU)および画像メモリ処理部46b(ASIC)の負荷状態(動作状態)に応じて、いずれの画像メモリ処理部46を選択するか決定するようにしてもよい。そして、画像メモリ処理部46の選択が完了すると、その選択された画像メモリ処理部46は画像メモリ50の初期化処理を行う(S108)。
画像メモリ50の初期化処理が完了すると、描画部42は、中間データメモリ48から中間データを読み出して、当該中間データにしたがって初期化された画像メモリ50に描画(レンダリング)を行う(S110)。
中間データメモリ48に保存されている中間データに対応する描画が完了すると、描画部42は画像メモリ制御部44に描画完了を通知する。通知を受けた画像メモリ制御部44は、現在描画されている画像データを一時的にHDD28やRAM24等の他のワークエリアに圧縮して退避させるために、画像メモリ50の圧縮処理を行う画像メモリ処理部46を選択する(S112)。この場合も画像メモリ制御部44は、S100のPDLデータの言語解析時に算出した複雑度(S204で算出した複雑度)と、現在の画像メモリ処理部46a(CPU)および画像メモリ処理部46b(ASIC)の負荷状態(動作状態)を参照する。そして、画像メモリ制御部44は、画像メモリ処理部46a(CPU)を用いた場合の処理時間と画像メモリ処理部46b(ASIC)を用いた場合の処理時間を推定して、いずれの画像メモリ処理部46で処理することが効率的かを判断する。その判断結果に基づき、画像メモリ制御部44は、画像メモリ処理部46の選択を実行する。なお、圧縮処理の場合、画像メモリ50に保持されている画像データの複雑度が高いほど圧縮処理に時間がかかる。したがって、画像メモリ制御部44は、画像データの圧縮内容から算出される複雑度と現在に画像メモリ処理部46aと画像メモリ処理部46bとの動作状態とに基づき、圧縮処理に必要な処理時間を推定し比較することで、いずれの画像メモリ処理部46を選択するかを決定する。そして、選択された画像メモリ処理部46は、画像メモリ50内の画像データの圧縮処理を実行すると共に、HDD28等に圧縮した画像データを一時保存する(S114)。
なお、S104において、ページ先頭を含む処理ではない場合(S104のNo)は、画像メモリ制御部44は、既にHDD28等に圧縮保存されている画像データを展開処理するための画像メモリ処理部46を選択する(S116)。この場合、今回の画像処理において、画像形成装置10(プリンタ)に入力されたPDLデータに対して既にS104のYesの処理が実行されて画像メモリ50の初期化が一度行われていることを示す。この場合、画像メモリ制御部44は、関連する画像データをHDD28から呼び出して、展開する処理を実行させる。例えば、既に解析処理されたPDLデータ(中間データ)に基づき描画されて圧縮保存されている画像データに、次の解析処理で処理されたPDLデータ(中間データ)に基づき描画する画像データを重畳させる場合である。また、既に解析処理されたPDLデータ(中間データ)に基づき描画されて圧縮保存されている画像データに続けて、次の解析処理で処理されたPDLデータ(中間データ)に基づき描画する画像データをつなげる場合である。この場合も画像メモリ制御部44は、そのときのCPU20やASIC30処置状態や展開する画像データの複雑度にしたがって、画像メモリ処理部46a(CPU)と画像メモリ処理部46b(ASIC)とにおける展開処理時間を推定して、いずれの画像メモリ処理部46を利用するか選択する。そして、選択された画像メモリ処理部46は、HDD28等に圧縮保存されている対象となる画像データを画像メモリ50に展開して(S118)、S110以降の処理を実行する。なお、HDD28等に十分な利用可能領域が存在する場合は、圧縮処理を省略し保存するようにしてもよい。この場合、上述した展開処理も省略することができる。
そして、対象ページのPDLデータの処理が完了した場合(S120のYes)、画像メモリ制御部44は、画像メモリ50上の画像データをプリンタエンジン18に提供して、当該プリンタエンジン18が印刷を開始する(S122)。一方、S120において、対象ページのPDLデータの処理が完了していない場合(S120のNo)、つまり、未解析のPDLデータが残っている場合、中間データ制御部40は、中間データメモリ48をクリアする(S124)。この場合、中間データメモリ48の初期化処理は、CPU20によって実行することができる。そして、S100に戻り、未解析のPDLデータの解析を実行してS100以降の処理を切り返す。つまり、S124でクリアした中間データメモリ48に新たに解析したPDLデータ(中間データ)を保存して、レンダリング等の後続の処理を実行する。
図6に示すフローチャートを用いて、図4のS204のコマンドの複雑度の算出について詳細に説明する。
まず、PDL言語解析部38は、解析対象のPDLデータのPDLコマンドが描画コマンドではない場合(S300のNo)、つまりイメージ描画コマンド、文字描画コマンド、グラフィック描画コマンドではない場合、このフローを一旦終了する。この場合、そのPDLコマンドは、例えば色の設定やROP(Raster Operation)の設定コマンド等であり、描画が発生しないため複雑度の算出は実行しない。一方、PDL言語解析部38は、S300で解析対象のPDLデータのPDLコマンドが描画コマンドである場合で(S300のYes)、それがイメージ描画コマンドの場合(S302のYes)、複数の色値が混在しており、描画後に圧縮処理や展開処理(図3参照)を実行する場合に処理時間が増大すると見なす。そのため、PDL言語解析部38は、複雑度をその面積や色の切り替わりの回数(色の遷移状態)などから算出する。まず、PDL言語解析部38は、図4のS202で解析を行ったコマンドに基づく処理で描画される面積を算出する(S304)。例えば、図7の左図で示すような描画を行う場合、イメージ描画コマンドに基づき描画結果の縦H×横Wから、描画面積を算出する。続いて、PDL言語解析部38は、描画面積に対応する描画における描画色の切り替わり回数を算出する(S306)。描画色の切り替わり回数を算出する場合のイメージを図7の右図に示す。例えば、ある領域に着目した場合、その領域を構成する画素の描画色が分かる。図7の場合、着目した領域の1段目は、描画色が4回切り替わっている。また2段目、3段目は描画色が5回切り替わっている。図7の場合、イメージとして部分的な領域に対して色の切り替わり回数を検出する例が示されているが、切り替わり回数の検出は、S304で算出した描画面積全体に対して行う。そして、複雑度=A×面積+B×切り替わり回数で算出する(S308)。ここで、AおよびBは、複雑度の重み付けを行う係数であり、例えば複数回の検証に基づき適宜決定することが望ましい。
また、S302において、描画コマンドがイメージ描画コマンドではない場合(S302のNo)、例えば描画コマンドが文字描画コマンドやグラフィック描画コマンドの場合は、単色の描画であると見なすことができる。そのため、文字描画コマンドやグラフィック描画コマンド等の単色描画の場合は、描画の内容、例えばグラフィックの座標点や文字コード等から描画面積を推定して(S310)、複雑度を算出する(S308)。図8に文字描画コマンドの複雑度の算出イメージを示す。例えば、「あ」を描画する場合、描画する「あ」というオブジェクト全体を含む境界線(バウンディングボックス52)を描画面積として求める。そして、複雑度=C×バウンディングボックスの面積+D×文字コード値で算出する(S308)。この場合、CおよびDは、複雑度の重み付けを行う係数であり、例えば複数回の検証に基づき適宜決定することが望ましい。また、文字コード値は、文字コードごとの複雑度の値で、「あ」、「い」、「う」等それぞれに定められた値である。
図9は、画像形成装置10の画像形成処理において、文字描画コマンドやグラフィック描画コマンド等の単色描画の場合の複雑度の他の算出処理を説明する図であり、画像メモリ50の領域を複数の分割領域に分割して複雑度を算出する場合の説明図である。例えば、圧縮処理や展開処理を実行する場合、画像メモリ50の走査方向に処理することが多い。そこで、図9に示すように、画像メモリ50の使用領域を短冊状の分割領域(バンド)に分割する。図9の場合、文字描画コマンドやグラフィック描画コマンドを含む描画コマンドに基づき描画結果の描画面積を4分割して、第1バンド54a、第2バンド54b、第3バンド54c、第4バンド54dとする例である。分割領域の分割数は描画内容等に応じて適宜決定可能である。例えば、描画コマンドの数に応じて分割数を決定するようにしてもよい。また、分割領域の幅は均等でも不均等でもよい。そして、各バンドに描画コマンドがあるか否かおよびその描画コマンドの種類によって複雑度を算出する。つまり、バンドに含まれる描画コマンドが多いほどまた、その描画内容が複雑である程、画像メモリ50の描画状態が複雑であり、処理時間が長くなると推定できる。例えば、図9において、第1バンド54aは、文字描画コマンドに基づく「あ」およびグラフィック描画コマンドに基づく「円(一部)」が存在する。つまり複雑度は、この2つの描画コマンドの影響を受ける。また、第2バンド54bは、グラフィック描画コマンドに基づく「円(一部)」および文字描画コマンドに基づく「A(一部)」が存在する。つまり複雑度は、この2つの描画コマンドの影響を受ける。第3バンド54cは、文字描画コマンドに基づく「A(一部)」が存在する。つまり複雑度は、この描画コマンド(「A(一部)」)の影響を受ける。一方、第4バンド54dには、描画コマンドが存在しないため、複雑度は「0」となる。そして各バンドの複雑度を合算することで、処理対象のPDLデータの解析時における複雑度を算出する。
図10は、図9に示す分割領域を用いる場合の複雑度の算出処理を説明するフローチャートである。PDL言語解析部38は、解析対象のPDLデータのPDLコマンドが描画コマンドではない場合(S400のNo)、つまりイメージ描画コマンド、文字描画コマンド、グラフィック描画コマンドではない場合、このフローを一旦終了する。この場合、そのPDLコマンドは、例えば色の設定やROP(Raster Operation)の設定コマンドであると見なし、描画が発生しないため複雑度の算出は実行しない。一方、PDL言語解析部38は、S400で解析対象のPDLデータのPDLコマンドが描画コマンドである場合(S400のYes)、描画コマンドに基づき描画結果の描画面積を図9に示すように複数の分割領域(バンド)に分割する(S402)。そして、各バンドにおける複雑度を図9で説明したように算出し、各バンドの複雑度を合算することによって解析対象のPDLデータの複雑度を算出する(S404)。なお、図9の例では、イメージ描画コマンドを含んでいない例を示したが、イメージ描画コマンドを含む場合は、図6、図7で説明したように描画色に切り替わり回数等に基づいて、イメージ描画コマンドを含むバンドの複雑度を算出すようにしてもよい。
ところで、上述した各複雑度の算出の例では、実際に描画する場合の複雑度を算出(推定)したが、他の複雑度の算出例として、印刷時の解像度より低解像度で描画する予備描画を実行して、その予備描画の結果に基づいて複雑度を算出(推定)するようにしてもよい。図11において、左図は、印刷時の解像度に対応する描画イメージを示すものである。一方、図11において、右図は、左図の描画イメージを低解像度で表現した場合の低解像度描画イメージである。そして、PDL言語解析部38は、低解像度で描画する場合の複雑度を図6、図7で説明した例と同様に、描画面積と描画色の切り替わり回数(色の遷移状態)に基づいて、簡易的な複雑度を算出する。この場合、描画色の切り替わり回数の算出負荷が低くなるため、算出時間の短縮に寄与できる。
図12は、図11に示す低解像度描画を用いた場合の複雑度の算出処理を説明するフローチャートである。PDL言語解析部38は、解析対象のPDLデータのPDLコマンドが描画コマンドではない場合(S500のNo)、つまりイメージ描画コマンド、文字描画コマンド、グラフィック描画コマンドではない場合、このフローを一旦終了する。この場合、そのPDLコマンドは、例えば色の設定やROP(Raster Operation)の設定コマンドの場合、描画が発生しないため複雑度の算出は実行しない。一方、PDL言語解析部38は、S500で解析対象のPDLデータのPDLコマンドが描画コマンドである場合(S500のYes)、PDL言語解析部38は、図4のS202で解析を行ったコマンドに基づく処理で低解像度の描画を実行する(S502)。この場合、低解像度化率をどの程度に設定するかは、低解像度化しない場合と低解像度化した場合で画像メモリ処理部46の選択状況を種々の低解像度化率で比較し、選択に違いが生じない値とすることが望ましい。低解像度化率が高い程、複雑度の算出負荷が軽減され、印刷処理時間の短縮に寄与できる。
低解像度での描画は、解析対象のPDLデータのPDLコマンドが最終コマンドに到達するまで継続される(S504のNo)。一方、低解像度での描画が、解析対象のPDLデータのPDLコマンドが最終コマンド等に到達した場合(S504のYes)、図6、図7で説明した処理と同様の処理により低解像度描画における描画面積と描画色の切り替わり回数に基づく複雑度を算出する(S506)。この低解像度描画における複雑度を画像メモリ処理部46の選択時に用いる複雑度として利用する。図11の場合、描画コマンドがイメージ描画コマンドの場合を説明したが、描画コマンドが文字描画コマンド、グラフィック描画コマンドの場合でも低解像度描画することで、複雑度を簡易的に算出することが可能となり、同様な効果を得ることができる。
以上説明したように、解析対象のPDLデータのPDLコマンドの複雑度を算出して、そのときの処理状況に適した画像メモリ処理部46の選択を行うことで印刷時間の短縮が可能になることを図13の例と図14の例を比較しながら説明する。なお、図13は、本実施形態における複雑度を用いた画像メモリ処理部46の選択処理を実施せずに、画像メモリ50の処理を予め定められた処理部によって実行する場合である。一方、図14は、本実施形態における複雑度を用いて、最適な画像メモリ処理部46を選択して画像メモリ50の処理を実行する場合である。なお、PDL言語解析部38に提供されるPDLデータは、その印刷内容によってデータ量が異なる。そのため、複雑な印刷内容の場合は、図3で説明したように、1ページ分のPDLデータを複数に分割して、中間データメモリ48への書き込みと初期化を繰り返して1ページ分のPDLデータの解析処理を実行する場合がある。図13、図14に示す例の場合は、説明の簡略化のため、PDL言語解析部38に提供されたPDLデータは、1ページ分が1度の解析処理(1度の中間データの生成、保存)で処理対象のPDLデータの処理が完了して印刷処理を実行するものとする。そして、その後、2ページ目以降の解析処理を同様に実行するものとする。
図13に示す例の場合、PDLデータの解析、描画処理(レンダリング)はCPUが実行し、画像メモリの初期化処理、圧縮処理、必要に応じて展開処理は、ASICが実行するものとする。つまり、処理の種類によって処理の実行部が固定されているものとする。
まず、CPUのPDL言語解析部は、提供されたPDLデータのうち1ページ目の言語解析を実行して中間データを生成する(P1言語解析)。続いて、ASICで実現される画像メモリ処理部が画像メモリを初期化(P1クリア)して、CPUで実現される描画部が描画(P1レンダリング)を実行する。描画が完了すると、ASICで実現される画像メモリ処理部は、画像メモリ上の1ページ目の画像データを圧縮(P1圧縮)してHDD等に一時的に保存する。そして、CPUは、プリンタエンジンに画像データを提供して印刷処理を実行させる。このとき、画像メモリの作業領域が十分に確保できればCPUによる2ページ目の言語解析(P2言語解析)とASICより実現される画像メモリ処理部による1ページ目の圧縮処理は並列動作させる。しかしながら、画像メモリに対する圧縮処理(P1圧縮)、および初期化処理(P2クリア)はASICで実行されるため、ASICで実現される圧縮処理および初期化処理が終了するまで、CPUで実現される描画部による画像メモリへの描画処理(レンダリング)は実行待ちとなる。そして、ASICにより画像メモリの初期化(P2クリア)が完了したら、CPUで実現される描画部が描画(P2レンダリング)を実行する。描画が完了すると、ASICで実現される画像メモリ処理部は、画像メモリ上の2ページ目の画像データを圧縮(P2圧縮)する。ASICによる圧縮処理の間に、CPUによる3ページ目の言語解析(P3言語解析)が実行される。以下、同様に1ページごとに言語解析、初期化、描画処理、圧縮を繰り返し、印刷処理を実行する。上述したように、CPU側で言語解析が完了してもASIC側で画像メモリの圧縮処理や初期化処理が完了するまで、CPUは描画処理が実行できないので、CPUの処理待ち時間が生じてしまう。この処理待ち時間は、1ページの処理ごとに生じるため、印刷処理時間の増加の原因になってしまう。
図14は、本実施形態における複雑度を用いて、そのときの処理状況に適した画像メモリ処理部46を選択して画像メモリ50の処理を実行する場合である。なお、図14の例の場合、CPU20は、PDLデータの解析、描画処理(レンダリング)の他、画像メモリ50の初期化処理、圧縮処理、必要に応じて展開処理等を実行可能である。同様に、ASIC30は、画像メモリ50の初期化処理、圧縮処理、必要に応じて展開処理が実行可能である。上述したように初期化処理、圧縮処理、必要に応じて展開処理をCPU20とASIC30とのいずれで実行するかは、PDL言語解析部38が算出した複雑度とCPU20及びASIC30の動作状態に基づき推定される処理時間により、印刷処理が効率的に実行されるように選択される。
本実施形態において、PDL言語解析部38が算出する複雑度に基づく画像メモリ処理部46aまたは画像メモリ処理部46bの選択は、「初期化処理」、「圧縮処理」、「展開処理」等の直前であり、例えば、図14における矢印a〜矢印dで示すタイミングで実行することができる。
まず、CPU20で実現されるPDL言語解析部38は、提供されたPDLデータのうち1ページ目の言語解析を実行して中間データを生成する(P1言語解析)。このとき、画像メモリ制御部44は、画像メモリ50の初期化をCPU20とASIC30のいずれで処理するか判定する(矢印a)。図14に示すように、ASIC30は非処理状態で、CPU20が処理状態である。また、ASIC30の処理時間<CPU20の処理時間となっている状態で、かつASIC30が非処理状態なので、画像メモリ制御部44は、初期化処理をASIC30(画像メモリ処理部46b)で実行するように決定する。
ASIC30で実現する画像メモリ処理部46bが、画像メモリ50を初期化(P1クリア)した後、CPU20の描画部42が描画(P1レンダリング)を実行する。描画の完了に先立ち、画像メモリ制御部44は、画像メモリ50の初期化をCPU20とASIC30のいずれで処理するか判定する(矢印b)。図14に示すように、CPU20が後続の言語解析処理を実施可能であり、かつASIC30が非処理状態なので、画像メモリ制御部44は、圧縮対象の描画内容に基づいて算出した複雑度と、CPU20とASIC30の動作状態と、に基づき推定される処理時間により、圧縮処理(P1圧縮)をASIC30(画像メモリ処理部46b)で実行するように決定する。すなわち、画像メモリ処理部46bは、画像メモリ50上の1ページ目の画像データを圧縮(P1圧縮)してHDD等に一時的に保存する。そして、CPU20はプリンタエンジン18に画像データを提供して印刷処理を実行させる。
画像メモリ処理部46bにより画像メモリ50上の1ページ目の画像データを圧縮(P1圧縮)が実行されている間に、並列動作として、CPU20で実現されるPDL言語解析部38は2ページ目の言語解析(P2言語解析)が実行可能である。ところで、CPU20による言語解析後の描画に先立ち、画像メモリ制御部44は、画像メモリ50の初期化を実行する必要がある。そこで、画像メモリ制御部44は、PDL言語解析部38が算出した複雑度とCPU20及びASIC30の動作状態とにより推定した処理時間に基づいて、P2言語解析の終了に先立ち、画像メモリ50の初期化をCPU20とASIC30のいずれで処理するか判定する(矢印c)。図14に示すように、ASIC30(画像メモリ処理部46b)が処理中であり、かつCPU20は画像メモリ50の初期化をしないと後続の描画処理ができない。このとき、CPU20側で「言語解析に続いて2ページ目の初期化処理(P2クリア)を完了させるタイミング」は、ASIC30(画像メモリ処理部46b)側で「1ページ目の圧縮処理+2ページ目の初期化処理を完了するタイミング(点線で表示)」より早いことが、複雑度とCPU20及びASIC30の動作状態に基づき推定した処理時間の値より予測できる。したがって、「P2クリア」をCPU20(画像メモリ処理部46a)で実行する。その結果、図13で説明したようにCPU20が処理待ちとなる時間を排除することができる。
図14に示すように、CPU20により実現されるPDL言語解析部38による2ページ目の言語解析(P2言語解析)と、ASICにより実現される画像メモリ処理部46bによる1ページ目の圧縮処理(P1圧縮)を並列動作させる。さらに、画像メモリ処理部46bによるP1圧縮中に、CPU20により実現される画像メモリ処理部46aにより2ページ目の初期化処理(P2クリア)が実行される。画像メモリ処理部46aにより画像メモリ50の初期化(P2クリア)が完了したら、CPU20により実現される描画部42により描画(P2レンダリング)を実行する。
続いて、CPU20により実現される描画部42による描画の終了に先立ち、画像メモリ50の初期化処理をCPU20とASIC30のいずれで処理するか判定する(矢印d)。この場合、図14に示すように、CPU20は、後続の3ページ目の言語解析(P3言語解析)を実行するため、非処理状態のASIC30(画像メモリ処理部46b)で画像メモリ50の圧縮処理(P2圧縮)を実行する。
このように、CPU20とASIC30との動作状態および処理対象のデータの複雑度に基づいて、処理を実行する画像メモリ処理部46a(CPU20)または画像メモリ処理部46b(ASIC30)を選択することにより、処理待ち時間を低減させることが可能となり、印刷全体の処理時間の短縮が実現できる。
上述の実施形態では、CPU20(画像メモリ処理部46a)を利用するか、ASIC30(画像メモリ処理部46b)を利用するかは、主としてPDL言語解析部38が算出した複雑度とCPU20及びASIC30の動作状態に基づいて処理時間を推定して判定した。別の実施形態においては、ユーザによりCPU20またはASIC30のいずれを優先的に利用するか選択させるようにしてもよい。例えば、画像形成装置10(MFP:デジタル複合機)の場合、CPU20やASIC30は、他の処理と共有するリソースとなる場合がある。その場合、他のアプリケーション等が動作している場合は、PDL言語解析部38が算出した複雑度とCPU20(画像メモリ処理部46)や、ASIC30(画像メモリ処理部46b)の動作状態に基づいて処理時間を推定しても、実際の処理時間に対してズレが生じる場合がある。このような場合、ユーザの印刷速度のイメージと実際の印刷速度が異なり、ユーザに違和感を与えてしまう場合がある。
そこで、本実施形態の場合、画像形成装置10(MFP)の操作部やホストPC12側で処理モードの選択をできるようにしてもよい。例えば、図15に示すような選択画面(ユーザインターフェース、操作受付部)を設けてもよい。この場合、例えば、「CPU優先」、「ASIC優先」、「自動」等の処理指定情報を選択できるようにしてもよい。「CPU優先」モードや「ASIC優先」モードが選択された場合、複雑度に基づいて推定した処理時間の例えば1.2倍までは、ユーザが選択した「CPU優先」または「ASIC優先」に基づき画像メモリ処理部46の選択を実行する。一方、「自動」モードが選択された場合には、複雑度に基づいて推定した処理時間にしたがって画像メモリ処理部46の選択を実行する。
例えば、PDL言語解析部38が算出した複雑度に基づき推定したCPU20(画像メモリ処理部46a)の推定処理時間が110ms、ASIC30(画像メモリ処理部46b)の推定処理時間が100msであったとする。もし、「自動」が選択されていた場合は、推定処理時間の短いASIC30(画像メモリ処理部46b)が処理を実行する画像メモリ処理部46として選択される。一方、「CPU優先」が選択されていた場合、ASIC30(画像メモリ処理部46b)とCPU20(画像メモリ処理部46a)との処理時間差が2割以内であればCPU20(画像メモリ処理部46a)を選択する。このような構成とすることで、以下のような効果を奏する。例えば、ユーザにより使用するアプリケーションが固定化されている環境がある。例えばCPU20を多く使うアプリケーションの使用頻度が高い場合がある。この場合、プリンタ機能での印刷時は非処理状態のASIC30を優先的に使用したほうがリソース(CPU/ASIC)の競合が起き難く、アプリケーションの動作を妨げ難くすることができる。つまり、優先モードを設けることでユーザ環境に応じて最適な印刷動作を提供することができる。なお、処理時間の許容値(例えば1.2倍)は、適宜ユーザが設定可能としてもよく、画像形成装置10のカスタマイズをできるようにしてもよい。
上述したように、本実施形態の画像形成装置10において、例えば、PDL言語解析部38(推定部)は、解析結果に含まれる描画コマンドおよび設定コマンドに基づき複雑度を算出してもよい。この態様によれば、実際に印刷する画像データに対応した情報に基づき複雑度の算出を行い、処理時間の推定を行うことができるので、高精度の処理時間の推定ができる。
上述したように、本実施形態の画像形成装置10において、PDL言語解析部38は、画像メモリ50の領域を所定数の分割領域(バンド)に分割し、分割領域ごとに複雑度を算出するようにしてもよい。例えば、分割領域中に描画コマンドが存在しない場合、その領域に関する複雑度の算出処理が省略できるので言語解析処理時間の短縮ができる。
上述したように、本実施形態の画像形成装置10において、PDL言語解析部38は、印刷データ(PDLデータ)に基づく印刷時の解像度より低い解像度で描画する予備描画の描画態様の遷移状態に基づいて複雑度を算出するようにしてもよい。この態様によれば、通常の解像度で描画した場合に比べ、低解像度で描画した場合の描画色の切り替わり回数(色の遷移状態)の算出負荷が低くなるため、算出時間の短縮に寄与できる。
上述したように、本実施形態の画像形成装置10において、画像メモリ制御部44(決定部)は、操作受付部に処理指定情報が入力された場合、当該処理指定情報と処理時間とに基づいて、複数の画像メモリ処理部46のうちいずれの画像メモリ処理部46でメモリ処理を実行するか決定するようにしてもよい。この態様によれば、画像形成装置10(MFP)の稼働状況に応じたユーザの動作要望を容易に画像形成装置10の動作に反映させることができる。その結果、印刷処理のみならず、画像形成装置10(MFP)の稼動の効率化ができる。
上述の実施形態の画像形成装置10で実行されるプログラムは、ROM等に予め組み込まれて提供される。別の実施形態としては、プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。この場合、画像形成装置10にはインタフェースを備えるようにすればよい。
このプログラムは、印刷データを取得し、当該印刷データの解析を実行する解析処理と、解析処理の解析結果に基づき印刷データに対応して描画される描画像に対する処理負担の度合いを示す複雑度を算出し、描画像を保存する画像メモリに対して、メモリ処理として初期化処理、圧縮処理、展開処理のうち少なくとも1つを実行する際に必要な処理時間を推定する推定処理と、推定処理で推定した処理時間に基づき、メモリ処理を複数の処理部のうちいずれの画像メモリ処理部46で実行するかを決定する決定処理と、決定処理で決定した画像メモリ処理部46にメモリ処理を実行させる実行処理と、をコンピュータに実行させるようにしてもよい。このプログラムは、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の実施形態の画像形成装置10で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、上述したように、本実施形態の画像形成装置10の制御方法は、印刷データを取得し、当該印刷データの解析を実行し、解析の結果に基づき印刷データに対応して描画される描画像に対する処理負担の度合いを示す複雑度を算出し、描画像を保存する画像メモリに対して、メモリ処理として初期化処理、圧縮処理、展開処理のうち少なくとも1つを実行する際に必要な処理時間を推定し、推定した処理時間に基づき、メモリ処理を複数の画像メモリ処理部46のうちいずれの画像メモリ処理部46で実行するかを決定し、決定した画像メモリ処理部46にメモリ処理を実行させることを含む。この場合も上述したように実施形態と同様な効果を得ることができる。
上述の実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態およびその変形は、発明の範囲および要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10 画像形成装置
12 ホストPC
14 コントローラ
16 パネル装置
18 プリンタエンジン
20 CPU
22 ROM
24 RAM
26 NVRAM
28 HDD
30 ASIC
32 ネットワークI/F
34 エンジンI/F
36 パネルI/F
38 PDL言語解析部
40 中間データ制御部
42 描画部
44 画像メモリ制御部
46,46a,46b 画像メモリ処理部
48 中間データメモリ
50 画像メモリ
特許第5141338号公報

Claims (7)

  1. 印刷データを取得し、当該印刷データの解析を実行する解析部と、
    前記解析部の解析結果に基づいて前記印刷データに対応して描画される描画像を保存する画像メモリに対して、メモリ処理として初期化処理、圧縮処理、展開処理のうち少なくとも1つを実行する複数の処理部と、
    前記解析部の解析結果に基づき前記描画像に対する処理負担の度合いを示す複雑度を算出して、前記画像メモリに対して前記メモリ処理を実行する際に必要な処理時間を推定する推定部と、
    前記推定部で推定した処理時間に基づき、前記複数の処理部のうちいずれの処理部で前記メモリ処理を実行するかを決定する決定部と、
    を備える画像形成装置。
  2. 前記推定部は、前記解析結果に含まれる描画コマンドおよび設定コマンドに基づき前記複雑度を算出する請求項1に記載の画像形成装置。
  3. 前記推定部は、前記画像メモリの領域を所定数の分割領域に分割し、前記分割領域ごとに前記複雑度を算出する請求項1または請求項2に記載の画像形成装置。
  4. 前記推定部は、前記印刷データに基づく印刷時の解像度より低い解像度で描画する予備描画の描画態様の遷移状態に基づいて前記複雑度を算出する請求項1から請求項3のいずれか1項に記載の画像形成装置。
  5. 前記決定部は、操作受付部に処理指定情報が入力された場合、当該処理指定情報と前記処理時間とに基づいて、前記複数の処理部のうちいずれの処理部で前記メモリ処理を実行するか決定する請求項1から請求項4のいずれか1項に記載の画像形成装置。
  6. 印刷データを取得し、当該印刷データの解析を実行する解析処理と、
    前記解析処理の解析結果に基づき前記印刷データに対応して描画される描画像に対する処理負担の度合いを示す複雑度を算出し、前記描画像を保存する画像メモリに対して、メモリ処理として初期化処理、圧縮処理、展開処理のうち少なくとも1つを実行する際に必要な処理時間を推定する推定処理と、
    前記推定処理で推定した処理時間に基づき、前記メモリ処理を複数の処理部のうちいずれの処理部で実行するかを決定する決定処理と、
    前記決定処理で決定した前記処理部に前記メモリ処理を実行させる実行処理と、
    をコンピュータに実行させるプログラム。
  7. 印刷データを取得し、当該印刷データの解析を実行し、
    前記解析の結果に基づき前記印刷データに対応して描画される描画像に対する処理負担の度合いを示す複雑度を算出し、前記描画像を保存する画像メモリに対して、メモリ処理として初期化処理、圧縮処理、展開処理のうち少なくとも1つを実行する際に必要な処理時間を推定し、
    前記推定した処理時間に基づき、前記メモリ処理を複数の処理部のうちいずれの処理部で実行するかを決定し、
    前記決定した前記処理部に前記メモリ処理を実行させる、
    ことを含む画像形成装置の制御方法。
JP2014184215A 2014-09-10 2014-09-10 画像形成装置、プログラム、および画像形成装置の制御方法 Pending JP2016055536A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014184215A JP2016055536A (ja) 2014-09-10 2014-09-10 画像形成装置、プログラム、および画像形成装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014184215A JP2016055536A (ja) 2014-09-10 2014-09-10 画像形成装置、プログラム、および画像形成装置の制御方法

Publications (1)

Publication Number Publication Date
JP2016055536A true JP2016055536A (ja) 2016-04-21

Family

ID=55757148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014184215A Pending JP2016055536A (ja) 2014-09-10 2014-09-10 画像形成装置、プログラム、および画像形成装置の制御方法

Country Status (1)

Country Link
JP (1) JP2016055536A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019155741A (ja) * 2018-03-13 2019-09-19 キヤノン株式会社 記録装置、制御方法およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019155741A (ja) * 2018-03-13 2019-09-19 キヤノン株式会社 記録装置、制御方法およびプログラム
JP7030572B2 (ja) 2018-03-13 2022-03-07 キヤノン株式会社 画像処理装置、制御方法およびプログラム

Similar Documents

Publication Publication Date Title
JP6128782B2 (ja) 画像処理装置、画像処理装置の制御方法、プログラム、及び記憶媒体
JP4817934B2 (ja) 画像処理装置およびその方法
US10185901B2 (en) Image processing apparatus and non-transitory computer readable medium with variable image density
US8891129B2 (en) Image forming apparatus having real-size preview function, method of controlling the same, and storage medium
JP2008151878A (ja) 画像処理装置およびその方法
JP5517607B2 (ja) 情報処理装置、画像圧縮方法、及びコンピュータプログラム
JP2017024321A (ja) 画像処理装置、画像形成装置及び画像処理時間予測方法及びプログラム
US10068163B2 (en) Image processing apparatus and non-transitory computer readable medium using difference in processing speed information
WO2009157495A1 (en) Information processing apparatus, information processing method, and program
JP4323742B2 (ja) 画像処理装置および画像処理装置の制御方法およびプログラム
JP2013126178A (ja) 画像処理装置、及び画像処理装置の制御プログラム
JP6904717B2 (ja) 画像処理装置、その制御方法、およびプログラム
JP2016055536A (ja) 画像形成装置、プログラム、および画像形成装置の制御方法
US10140558B2 (en) Print control system, print control apparatus, and program
US9336468B2 (en) Image forming apparatus, image forming method, and medium
JP5232728B2 (ja) 画像形成装置
JP2001199135A (ja) 印刷制御装置および印刷制御方法および記憶媒体
JP2011053944A (ja) 画像形成装置、画像形成方法及び制御プログラム
JP6015478B2 (ja) 制御装置、制御方法およびプリンタードライバプログラム
JP2011228987A (ja) 画像処理装置及び画像処理プログラム
JP6264757B2 (ja) 画像形成装置、画像形成システム、画像形成装置の制御方法、及び画像形成装置の制御プログラム
JP6809158B2 (ja) 画像処理装置及びプログラム
JP6016483B2 (ja) 画像処理装置、画像形成方法及びプログラム
JP6222474B2 (ja) プリンタードライバー
JP2003118176A (ja) ラスタライズ処理装置、ラスタライズ処理方法、および記録媒体並びにプログラム