(57)【要約】【課題】描画処理の際に、ＣＰＵとＨＡとを効率的に活用する。【解決手段】印刷データを解析する解析部と、解析された印刷データに描画処理を行う複数の描画処理部と、各描画処理部から描画されるバンドメモリと、解析部の解析結果に基づき、所定の描画処理部に対し、中間データを生成するか、バンドメモリに描画するかの描画制御を行なう描画制御部と、所定の描画処理部により生成される中間データを記憶するデータメモリとを備え、所定の描画処理部とは異なる描画処理部は、データメモリに記憶される中間データを用いて前記バンドメモリに描画する画像形成装置。【選択図】図３
2012060401.tif 000002
【特許請求の範囲】
【請求項１】
印刷データを解析する解析部と、
解析された印刷データに描画処理を行う複数の描画処理部と、
各描画処理部から描画されるバンドメモリと、
前記解析部の解析結果に基づき、所定の描画処理部に対し、中間データを生成するか、前記バンドメモリに描画するかの描画制御を行なう描画制御部と、
前記所定の描画処理部により生成される中間データを記憶するデータメモリとを備え、
前記所定の描画処理部とは異なる描画処理部は、前記データメモリに記憶される中間データを用いて前記バンドメモリに描画する画像形成装置。
【請求項２】
前記描画制御部は、
所定単位における描画コマンドの座標が重複しないと判定した場合、前記バンドメモリに描画するよう制御し、前記所定単位における描画コマンドの座標が重複すると判定した場合、前記データメモリに中間データを出力するよう制御する請求項１記載の画像形成装置。
【請求項３】
前記描画制御部は、
描画コマンドの座標による重複判定を行うことで、描画コマンドの座標が重複するか否かを判定する請求項２記載の画像形成装置。
【請求項４】
前記描画制御部は、
前記印刷データが所定のＰＤＬであれば、描画コマンドの座標が重複すると判定し、前記印刷データが、前記所定のＰＤＬでなければ、描画コマンドの座標が重複しないと判定する請求項２記載の画像形成装置。
【請求項５】
前記所定の描画処理部は、
前記複数の描画処理部のうち、最も描画速度性能が高い描画処理部である請求項１乃至４いずれか一項に記載の画像形成装置。
【請求項６】
複数の描画処理部と、各描画処理部から描画されるバンドメモリを備える画像形成装置における描画制御方法であって、
印刷データを解析する解析ステップと、
前記解析ステップの解析結果に基づき、所定の描画処理部に対し、中間データを生成するか、前記バンドメモリに描画するかの描画制御を行なう描画制御ステップと、
中間データを生成する場合、前記所定の描画処理部から生成される中間データをデータメモリに記憶する記憶ステップと、
前記所定の描画処理部とは異なる描画処理部により、前記データメモリに記憶される中間データを用いて前記バンドメモリに描画する描画ステップと、
を有する描画制御方法。
【請求項７】
前記描画制御ステップは、
所定単位における描画コマンドの座標が重複しないと判定した場合、前記バンドメモリに描画するよう制御し、前記所定単位における描画コマンドの座標が重複すると判定した場合、前記データメモリに中間データを出力するよう制御する請求項６記載の描画制御方法。
【請求項８】
前記描画制御ステップは、
描画コマンドの座標による重複判定を行うことで、描画コマンドの座標が重複するか否かを判定する請求項７記載の描画制御方法。
【請求項９】
前記描画制御ステップは、
前記印刷データが所定のＰＤＬであれば、描画コマンドの座標が重複すると判定し、前記印刷データが、前記所定のＰＤＬでなければ、描画コマンドの座標が重複しないと判定する請求項７記載の描画制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及び描画制御方法に関する。
【背景技術】
【０００２】
近年、印刷でのページ記述言語（ＰＤＬ：Page Description Language）の処理速度を向上させる手法として、ＣＰＵ（Central Processing Unit）の性能アップとハードウェアアクセラレータ（以下、ＨＡともいう）の使用とがある。ＨＡは、パソコンの処理速度を向上し、画面上の表示速度を高速にしたり、表示できる色数を増やしたりすることを可能にする装置である。コンピュータの一部の部品や機能をＨＡに置き換えたり、ソフトウェアで行っていた処理をＨＡで行ったりすることで、処理速度の高速化を行う。ＨＡを使用して高速化を図る手法は、汎用性に欠けるがコストを抑えることができるという利点がある。
【０００３】
例えば、特許文献１には、印刷速度を向上させるため、ハードウェアレンダリングとソフトウェアレンダリングの両方の機能を有し、バンドサイズのレンダリングができるか否かでこれらの機能を切り換える技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＨＡを用いてＨＡにバンドへの描画処理を担当させる場合、描画コマンドの描画順を保障するために、ＣＰＵとの並列処理ができず、ＣＰＵとＨＡとを効率的に活用できていないという問題点があった。
【０００５】
そこで、本発明は、上記問題点に鑑みてなされたものであり、描画処理の際に、ＣＰＵとＨＡとを効率的に活用することができる画像形成装置及び描画制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明における一態様の画像形成装置は、印刷データを解析する解析部と、解析された印刷データに描画処理を行う複数の描画処理部と、各描画処理部から描画されるバンドメモリと、前記解析部の解析結果に基づき、所定の描画処理部に対し、中間データを生成するか、前記バンドメモリに描画するかの描画制御を行なう描画制御部と、前記所定の描画処理部により生成される中間データを記憶するデータメモリとを備え、前記所定の描画処理部とは異なる描画処理部は、前記データメモリに記憶される中間データを用いて前記バンドメモリに描画する。
【０００７】
また、本発明における他の態様の描画制御方法は、複数の描画処理部と、各描画処理部から描画されるバンドメモリを備える画像形成装置における描画制御方法であって、印刷データを解析する解析ステップと、前記解析ステップの解析結果に基づき、所定の描画処理部に対し、中間データを生成するか、前記バンドメモリに描画するかの描画制御を行なう描画制御ステップと、中間データを生成する場合、前記所定の描画処理部から生成される中間データをデータメモリに記憶する記憶ステップと、前記所定の描画処理部とは異なる描画処理部により、前記データメモリに記憶される中間データを用いて前記バンドメモリに描画する描画ステップと、を有する。
【発明の効果】
【０００８】
本発明によれば、描画処理の際に、ＣＰＵとＨＡとを効率的に活用することができる。
【図面の簡単な説明】
【０００９】
【図１】画像形成装置の構成の一例を示すブロック図。
【図２】プリンタコントローラの機能の一例を示すブロック図。
【図３】ＨＡとＰＤＬ処理部との機能の一例を示すブロック図。
【図４】イメージ描画コマンドの処理時間の例を示す図。
【図５】描画制御処理の一例を示すフローチャート。
【図６】中間データ生成モードによる描画処理の一例を示すフローチャート。
【図７】バンド描画データモードによる描画処理の一例を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本発明にかかる実施例を詳細に説明する。
【００１１】
［実施例］
実施例で適用される画像形成装置は、ネットワーク等の通信手段により外部のホストＰＣ（Personal Computer）と接続される。画像形成装置は、ホストＰＣからネットワークを介して受け取るＰＤＬ形式の描画コマンド（印刷データ）に基づき、描画処理を行う。画像形成装置は、描画処理後の描画データを用いて印刷処理を行う。
【００１２】
＜ハードウェア＞
図１は、画像形成装置１の構成の一例を示すブロック図である。図１に示すように、画像形成装置１は、プリンタコントローラ１０、プリンタエンジン２０、パネル装置３０を含む。ホストＰＣ２は、ＰＤＬ形式の印刷データを、ネットワークを介して画像形成装置１に送信する。
【００１３】
プリンタコントローラ１０は、画像形成装置の制御を行う。プリンタエンジン２０は、用紙に画像を印刷する。パネル装置３０は、ユーザが入力を行う操作パネル・状態を表示する装置である。次に、プリンタコントローラ１０について具体的に説明する。
【００１４】
プリンタコントローラ１０は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ＮＶＲＡＭ１０４、ネットワークＩ／Ｆ１０５、エンジンＩ／Ｆ１０６、パネルＩ／Ｆ１０７、ハードウェアアクセラレータ１０８を含む。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。
【００１５】
ＣＰＵ１０１は、コンピュータの中で、各装置の制御やデータの演算、加工を行う制御部である。また、ＣＰＵ１０１は、ＲＯＭ１０２に記憶されたプログラムを実行する。
【００１６】
ＲＯＭ１０２は、プリンタコントローラ１０上で動作するプログラムを格納する。ＲＡＭ１０３は、プリンタコントローラ１０が作成するページを保存するページメモリやソフトウェアが動作するためのワークメモリとしての利用される記憶部である。ＮＶＲＡＭ１０４は、画像形成装置１の印刷条件設定などを保存しておく不揮発性メモリである。
【００１７】
ネットワークＩ／Ｆ１０５は、有線及び／又は無線回線などのデータ伝送路により構築されたＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）などのネットワークを介して接続された通信機能を有する周辺機器とＭＦＰ１０とのインタフェースである。例えば、ネットワークＩ／Ｆ１０５は、ネットワーク上に接続されたホストＰＣ２とデータのやり取りを行う。
【００１８】
エンジンＩ／Ｆ１０６は、プリンタエンジン２０との間で印刷指示などを行う。パネルＩ／Ｆ１０７は、パネル装置３０との入出力を行う。
【００１９】
ハードウェアアクセラレータ（以下、ＨＡともいう）１０８は、描画処理の一部をハードウェアによって行う。
【００２０】
＜機能＞
次に、プリンタコントローラ１０の機能について説明する。図２は、プリンタコントローラ１０の機能の一例を示すブロック図である。
【００２１】
ネットワーク制御部２０１は、ホストＰＣ２とのデータのやり取りを行う。例えば、ネットワーク制御部２０１は、ホストＰＣ２から印刷データを受信し、受信した印刷データをコントローラ制御部２０３に出力する。
【００２２】
パネル制御部２０２は、パネル装置３０の制御を行う。パネル制御部２０２は、パネル装置３０からの指示をコントローラ制御部２０３に出力する。
【００２３】
コントローラ制御部２０３は、各部とデータのやり取りを行い、プリンタコントローラ１０を制御する。例えば、コントローラ制御部２０３は、ネットワーク制御部２０１から印刷データを取得すると、ＰＤＬ処理部２０４に出力する。
【００２４】
ＰＤＬ処理部２０４は、コントローラ制御部２０３から印刷データを受け取り、描画データを作成する。また、ＰＤＬ処理部２０４は、ＨＡ１０８に対し、印刷データの一部を出力する。
【００２５】
ＨＡ１０８は、前述した通りハードウェアにより描画処理を行う。ＨＡ１０８は、ＰＤＬ処理部２０４から印刷データを取得し、描画処理を行う。
【００２６】
ネットワーク制御部２０１は、例えばネットワークＩ／Ｆ２０１により実現され、パネル制御部２０２は、例えばパネルＩ／Ｆ１０６により実現されうる。コントローラ制御部２０３は、ＰＤＬ処理部２０４は、例えばＣＰＵ１０１及びワークメモリ、ページメモリとしての主記憶部１０３により実現されうる。エンジン制御部２０５は、例えばエンジンＩ／Ｆ１０６により実現されうる。
【００２７】
次に、描画処理に関する機能について説明する。図３は、ＨＡ１０８とＰＤＬ処理部２０４との機能の一例を示すブロック図である。
【００２８】
ＰＤＬ処理部２０４は、ＰＤＬ解析部３０１、描画コアモジュール３０２を含む。ＨＡ１０８は、描画性能保存部３１１、ハードウェア描画処理部３１２を含む。
【００２９】
ＰＤＬ解析部３０１は、ＰＤＬの種類毎に構文解析を行う。ＰＤＬ解析部３１０は、印刷データのＰＤＬの種類を判別し、その種類に応じた構文解析を行う。構文解析された印刷データは、描画コアモジュール３０２に出力される。
【００３０】
描画コアモジュール３０２は、ＰＤＬ解析部３０１から構文解析された印刷データを取得し、描画処理を行い、描画データを生成する。描画コアモジュール３０２は、描画モジュールＩ／Ｆ３０３、データ保存部３０４、中間データメモリ３０５、描画処理制御部３０６、ソフトウェア描画処理部３０７、バンドメモリ３０８を含む。
【００３１】
描画モジュールＩ／Ｆ３０３は、ＰＤＬ解析部３０１からテキスト、イメージ、ベクターグラフィックなどの描画コマンド、色や透過設定などの描画設定情報を受け取る。描画モジュールＩ／Ｆ３０３は、受け取った描画コマンド、描画設定情報をデータ保存部３０４に書き込む。データ保存部３０４は、描画コマンド、描画設定情報を保存する。
【００３２】
描画処理制御部３０６は、データ保存部３０４にアクセスして描画コマンドを管理し、ハードウェア描画処理部３１２に描画コマンドや描画設定情報を出力する。描画処理制御部３０６は、描画コマンドに応じて、ハードウェア描画処理部３１２の描画処理を制御する。
【００３３】
中間データメモリ３０５は、ハードウェア描画処理部３１２から中間データを書き込まれ、保存する。中間データは、描画処理に適して形式のデータであり、例えば、マスク情報や、カラー多値のバックグラウンド情報、論理描画方式などである。
【００３４】
ソフトウェア描画処理部３０７は、中間データメモリ３０５に保存されている中間データに基づいて出力イメージデータを生成するためレンダリングを行う。ソフトウェア描画処理部３０７は、出力イメージデータの描画結果をバンドメモリ３０８に出力する。また、ソフトウェア描画処理部３０７は、データ保存部３０４から描画コマンド、描画設定情報を取得し、描画処理を行い、バンドメモリ３０８に描画する。
【００３５】
バンドメモリ３０８は、ハードウェア描画処理部３１２及びソフトウェア描画処理部３０７から描画され、描画データを保存する。バンドメモリ３０８は、ページメモリ領域内に記憶領域が確保される。
【００３６】
ＨＡ１０８の描画性能保存部３１１は、ＨＡ１０８の描画性能を保存する。ハードウェア描画処理部３１２は、描画処理制御部３０６から取得した印刷データに対し、描画処理の一部をハードウェアで行う。ハードウェア描画処理部３１２は、描画処理制御部３０６からの指示により、印刷データから中間データを生成し、生成した中間データを中間データメモリ３０５に書き込む。また、ハードウェア描画処理部３１２は、描画処理制御部３０６からの指示により、解析された印刷データから描画データを生成し、描画データをバンドメモリ３０８に書き込む。
【００３７】
（描画処理）
ハードウェア描画処理部３１２とソフトウェア描画処理部３０７の役割分担について説明する。ここで、描画コマンドにおいて、イメージの描画コマンドは負荷が高く、テキストやグラフィックスの描画コマンドは比較的負荷が低い。
【００３８】
そのため、イメージ描画処理専用のＨＡを搭載することで、比較的シンプルなＨＡで効果の高い高速化を実現することができる。そこで、例えば、ＨＡ１０８は、イメージ描画処理専用のＨＡとする。
【００３９】
ＨＡ１０８の描画性能は、描画性能保存部３１１に保存されている。描画処理制御部３０６は、電源投入時に描画性能保存部３１１から描画性能を取得してＨＡ１０８の得意、不得意を把握できる。この場合、描画処理制御部３０６は、イメージの描画コマンドをＨＡ１０８に処理させるようにする。
【００４０】
ＨＡ１０８とＣＰＵ１０１とは、並列して動作をすることができる。理想的なシステムとしては、ＨＡ１０８によるイメージ描画処理が、ＣＰＵ１０１が処理するその他の処理と並列して実行されることである。
【００４１】
しかし、描画コマンド単位でＨＡ１０８とＣＰＵ１０１とで描画処理を分担するときに、描画先のバンドで重複する場合がある。この場合、ＨＡ１０８とＣＰＵ１０１とのどちらの描画処理が早く終わろうと、ホストＰＣ２から指定された描画順を守る必要がある。よって、描画の処理速度がＣＰＵ１０１よりも速いＨＡ１０８が、ＣＰＵ１０１の処理が終了するのを待つことが多くなってしまう。
【００４２】
図４は、イメージ描画コマンドの処理時間の例を示す図である。図４に示す例では、（１）描画コマンドが重複する可能性がある場合、（２）描画コマンドが重複しない場合、（３）全てＣＰＵで処理する場合の処理時間を示す。図４に示す例では、処理時間の違いを２つの連続したイメージ描画コマンド（単にイメージともいう）を処理する場合の例で説明する。
【００４３】
（１）重複する可能性がある場合
ＨＡ１０８とＣＰＵ１０１とで並列処理を行わせるために、ＣＰＵ１０１でイメージ１の構文解析（パース）を行った後、ＨＡ１０８は、イメージ１の中間データを生成する。このとい、ＨＡ１０８は、ＣＰＵ１０１によりイメージ２の構文解析が終わるまで、処理を待つことになる。
【００４４】
なお、ＨＡ１０８で中間データを生成する場合は、ＣＰＵ１０１は、描画コマンドの座標の重なりを考慮する必要がない。ＣＰＵ１０１は、ＨＡ１０８で中間データが生成されれば、その中間データに基づいた描画データをバンドメモリ３０８に描画する。
【００４５】
（２）重複しない場合
ＨＡ１０８とＣＰＵ１０１とは、描画コマンドの座標の重なりを考慮しなくてもよいので、ＨＡ１０８は、ＣＰＵ１０１でのイメージ１の構文解析の終了後にイメージ１の描画データを生成し、バンドメモリ３０８に描画する。イメージ２もイメージ１と同様である。
【００４６】
（３）全てＣＰＵで処理する場合、
全てＣＰＵ１０１で処理する場合、ＣＰＵ１０１は、イメージ１の構文解析、イメージ１の描画、イメージ２の構文解析、イメージ２の描画の順で処理をする。
【００４７】
これにより、（１）と（２）の場合では、（２）の方が、ｔ１だけ描画処理が終了するのが早い。一方、（１）の場合でも、描画コマンドの構文解析と中間データの生成処理を並列で処理できるので、（３）の場合よりも処理時間は短い。以下、ハードウェア描画処理部３１２が、中間データを生成する場合を中間データ生成モードといい、描画データを生成し直接バンドメモリ３０８に描画する場合をバンド描画モードという。
【００４８】
これにより、実施例では、描画コマンドの座標が重複するかしないかを判定して、ハードウェア描画処理部３１２に対し、中間データまで生成させるか、バンドメモリ３０８に直接描画させるかを決定する。
【００４９】
（重複判定）
描画処理制御部３０６は、描画コマンドの座標が重複するかどうかを、例えば、ＰＤＬの種類(BMLinkSやPictBridgeなど)によって判定する。例えば、描画処理制御部３０６は、ＰＤＬが、ＰＳ（PostScript）、ＰＣＬ（Printer Control Language）、ＰＤＦなどの所定のＰＤＬである場合、重複する可能性があると判定する。
【００５０】
また、描画処理制御部３０６は、描画コマンドの属性値に基づく座標の重複判定を行って、描画コマンドにより描画される線画がバンドメモリ上で重複するか否かを判定する。
【００５１】
描画処理制御部３０６は、重複する可能性があると判定すれば、ハードウェア描画処理部３１２に対し、中間データを生成するよう制御（中間データ生成モードに設定）し、重複する可能性がないと判定すれば、ハードウェア描画処理部３１２に対し、描画データを生成しバンドメモリ３０８に直接描画するよう制御（バンド描画モードに設定）する。生成された中間データは、中間データメモリ３０５に保存される。
【００５２】
ＣＰＵ１０１によるソフトウェア描画処理部３０７は、中間データメモリ３０５に保存されている中間データに基づき描画データを生成し、バンドメモリ３０８に描画する。
【００５３】
描画処理制御部３０６の重複判定は、例えば、ＰＤＬの種類で判定する場合はジョブ単位で行い、描画コマンドの座標判定の場合はページ単位もしくはバンド単位で行う。
【００５４】
ＰＤＬの種類で重複判定を行う理由について説明する。描画コマンドの座標による判定は、描画処理を行う前に、注目ページもしくはバンドに含まれる全ての描画コマンドについての判定が必要となる。
【００５５】
よって、重複判定の負荷を考えると、ＨＡ１０８をバンド描画モードでなく、重複判定を行わずに中間データ生成モードにした方が、描画処理として結果的に速くなることがある。そのため、ページ辺りの描画コマンド数が多く、描画先の座標も重複する可能性があるＰＳ、ＰＣＬ、又はＰＤＦといった印刷言語は、描画コマンドの座標判定を行わずに中間データ生成モードとする。この判定は、ＰＤＬのタイプが判明する印刷ジョブの先頭に一度行えばよい。
【００５６】
なお、描画処理制御部３０６は、ハードウェア描画処理部３１２が得意な描画コマンドを、ハードウェア描画処理部３１２が処理するよう制御し、その他の描画コマンドをソフトウェア描画処理部３０７が処理するように制御してもよい。
【００５７】
（モード）
ＨＡ１０８が処理する描画コマンドに対し、中間データ生成モードとバンド描画モードの２つのモードがある。中間データ生成モードでは、ＨＡ１０８は、印刷データから描画処理に適した形式の中間データを生成し、中間データメモリ３０５に出力する。ＣＰＵ１０１のソフトウェア描画処理部３０７が、中間データメモリ３０５に記憶される中間データに基づき、バンドメモリ３０８に描画する。このため、ＨＡ１０８が高速で処理を進めたとしても、中間データとして描画の順序が保存されているので、ＨＡ１０８で処理していない描画コマンドがあっても、バンドメモリ３０８への描画順序は守られる。
【００５８】
バンド描画モードでは、ＨＡ１０８が印刷データに描画処理を行って描画データを生成し、バンドメモリ３０８に描画データを描画する。これは、描画順序を考慮しなくてもよいので、ハードウェア描画処理部３１２とソフトウェア描画処理部３０７とで並列して、バンドメモリ３０８に描画してもよい。
【００５９】
これにより、ＨＡとＣＰＵのリソースを描画コマンドに応じて効率良く利用することができる。
【００６０】
＜動作＞
次に、本実施例における画像形成装置の動作について説明する。図５は、描画制御処理の一例を示すフローチャートである。図５に示すステップＳ１０１で、ＰＤＬ解析部３０１は、印刷データを解析する。
【００６１】
ステップＳ１０２で、描画処理制御部３０６は、解析された印刷データに基づき、描画コマンドの座標が重複しないかを判定する。この重複判定は、描画コマンドの属性値の座標から判定してもよいし、描画コマンドのＰＤＬが所定のＰＤＬか否かで判定してもよい。重複しないと判定された場合（ステップＳ１０２−Ｙｅｓ）ステップＳ１０３に進み、重複すると判定された場合（ステップＳ１０２−Ｎｏ）ステップＳ１０４に進む。
【００６２】
ステップＳ１０３で、描画処理制御部３０６は、ＨＡ１０８に対し、バンド描画モードで処理するよう制御する。
【００６３】
ステップＳ１０４で、描画処理制御部３０６は、ＨＡ１０８に対し、中間データ生成モードで処理するよう制御する。
【００６４】
ステップＳ１０５で、ＨＡ１０８、又はＣＰＵ１０１は、解析された印刷データに対し設定されたモードで描画処理を行う。この描画処理については、図６、７を用いて説明する。
【００６５】
図６は、中間データ生成モードによる描画処理の一例を示すフローチャートである。図６に示すステップＳ２０１で、ＨＡ１０８のハードウェア描画処理部３１２は、解析された印刷データから中間データを生成する。
【００６６】
ステップＳ２０２で、ハードウェア描画処理部３１２は、生成した中間データを中間データメモリ３０５に保存する。
【００６７】
ステップＳ２０３で、ソフトウェア描画処理部３０７は、中間データメモリ３０５に保存されている中間データに基づき、描画処理を行う。
【００６８】
ステップＳ２０４で、バンドメモリ３０８は、バンドに描画された描画データを保存する。
【００６９】
図７は、バンド描画データモードによる描画処理の一例を示すフローチャートである。図７に示すステップＳ３０１で、ハードウェア描画処理部３１２は、解析された印刷データに基づき描画処理を行う。
【００７０】
ステップＳ３０２で、バンドメモリ３０８は、バンドに描画された描画データを保存する。
【００７１】
以上、実施例によれば、描画コマンドに応じてＨＡの各描画モードを分けることで、ＨＡ１０８とＣＰＵ１０１とを並列して処理し、リソースを効率よく利用することができる。例えば、フルカラーイメージが多用された印刷処理で処理時間を短くすることができる。
【００７２】
なお、ＣＰＵ１０１とＨＡ１０８とが存在し、バンドへの描画をどちらでも行えるとすると、描画コマンド単位でＨＡ１０８に処理を分担する場合に、描画コマンドの描画先が重複する可能性を判定する。重複する可能性がある場合、その描画コマンドが、描画先のバンドにおいて他の描画コマンドと重なってしまい、たとえＨＡ１０８とＣＰＵ１０１とが並列動作できる環境であっても、描画順序があるために並列動作を行えなくなる。
【００７３】
逆に、バンドにおいて描画コマンドの描画先が重複する可能性が無いのであれば、ＨＡ１０８とＣＰＵ１０１の並列動作を行うことが可能であり、高速に描画処理を実施できる。ただし、描画先のバンドにおいて重複する可能性があったとしても、ＨＡ１０８の描画先をバンドではなく中間データ領域にする。これにより、中間データをバンドに描画しなおす処理が増加するが、その描画コマンドの中間データへの変換処理とＣＰＵ１０１による処理を並列化して処理できるので、処理を高速化することができる。
【００７４】
なお、実施例の画像形成装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【００７５】
また、実施例の画像形成装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、実施例の画像形成装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【００７６】
また、実施例の画像形成装置で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【００７７】
実施例の画像形成装置で実行されるプログラムは、前述した各部を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）がＲＯＭ１０２からプログラムを読み出して実行することにより上記各部のうち１又は複数の各部がメモリ上にロードされ、１又は複数の各部がメモリ上に生成されるようになっている。
【００７８】
なお、本発明は、上記実施例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施例に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施例に示される全構成要素からいくつかの構成要素を削除してもよい。
【符号の説明】
【００７９】
１  画像形成装置
２  ホストＰＣ
１０  プリンタコントローラ
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０８  ハードウェアアクラレータ
２０３  コントローラ制御部
２０４  ＰＤＬ処理部
３０１  ＰＤＬ解析部
３０４  データ保存部
３０５  中間データメモリ
３０６  描画処理制御部
３０７  ソフトウェア描画処理部
３０８  バンドメモリ
３１２  ハードウェア描画処理部
【先行技術文献】
【特許文献】
【００８０】
【特許文献１】特開平８−１３９９５３号公報
【図１】
2012060401.tif 000003
【図２】
2012060401.tif 000004
【図３】
2012060401.tif 000005
【図４】
2012060401.tif 000006
【図５】
2012060401.tif 000007
【図６】
2012060401.tif 000008
【図７】
2012060401.tif 000009