(57)【要約】【課題】より低コストの構成で大きなサイズの画像データをより高速に生成可能とする。【解決手段】画像形成装置は、第１、第２の領域を含む第１の記憶部と、少なくとも１ページ分の描画を行う描画コマンドを記憶する第３の領域と、ページ単位で画像データを格納可能な第４の領域とを含む第２の記憶部とを備える。描画コマンド転送部は、第３の領域に記憶された描画コマンドを第１の領域に転送する。描画部は、第１の領域に記憶された描画コマンドに従いバンド描画を行う。バンド画像データ転送部は、描画部で描画されたバンド画像を第２の領域に転送して記憶させ、画像転送部は、第２の領域に記憶されたバンド画像を第４の領域に転送して記憶させる。描画部は、第３の領域に記憶される描画コマンドのサイズに応じて第１の領域とし、第１の記憶部の領域から第１の領域を差し引いた領域を第２の領域とする。【選択図】図２
2014184712.tif 000002
【特許請求の範囲】
【請求項１】
第１の領域および第２の領域を含む第１の記憶部と、
少なくとも１ページ分の画像データを生成するための描画コマンドを記憶する第３の領域と、ページ単位で画像データを格納可能な第４の領域とを含む第２の記憶部と、
前記第３の領域に記憶された前記描画コマンドを前記第１の領域に転送して記憶させる描画コマンド転送部と、
前記第１の領域に記憶された前記描画コマンドに従い、高さが１ページの高さよりも低く、幅が予め決められたバンドを単位とするバンド画像データを生成する描画部と、
前記描画部で生成された１バンド分の前記バンド画像データを前記第２の領域に転送して記憶させるバンド画像データ転送部と、
前記第２の領域に記憶された前記バンド画像データを前記第４の領域に転送して記憶させる画像転送部と
を有し、
前記描画部は、
前記第３の領域に記憶される前記描画コマンドのサイズに応じて前記第１の領域を決定し、前記第１の記憶部の領域から該第１の領域を差し引いた領域を前記第２の領域に決定する
ことを特徴とする画像処理装置。
【請求項２】
前記描画部は、
前記第２の領域のサイズと前記バンドの幅とに従い前記バンドの高さを決定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記描画コマンド転送部は、
前記第１の領域に、１ページ分の画像を描画するための前記描画コマンドを転送し記憶させる
ことを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記描画部は、
前記第３の領域に記憶される前記描画コマンドのサイズが、前記第１の記憶部に格納可能なデータサイズを超える場合に、該描画コマンドによる画像データを生成しない
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記描画部は、
前記描画コマンドが初期化コマンドである場合に、前記第２の領域を初期化し、
前記描画コマンドがバンド画像データを生成するコマンドである場合に、該コマンドにより生成するバンド画像データの１ページ内での高さ範囲を求め、該コマンドにより生成されるバンド画像データが該高さ範囲に含まれるか否かを判定し、含まれない場合には該コマンドをスキップし、含まれる場合には該コマンドを該高さ範囲でクリッピングする
ことを特徴とする請求項１乃至請求項４の何れか１項に記載の画像処理装置。
【請求項６】
前記描画コマンドは、１ページに対して複数プレーンの画像データを生成するための描画コマンドであって、
前記描画部は、
前記複数プレーンにおける１のプレーンずつ画像データを生成し、
前記第２の領域は、
前記１のプレーンの画像データを格納する
ことを特徴とする請求項１乃至請求項５の何れか１項に記載の画像処理装置。
【請求項７】
前記第２の記憶部は、
写真画像データを格納可能な第５の領域をさらに含む
ことを特徴とする請求項１乃至請求項６の何れか１項に記載の画像処理装置。
【請求項８】
前記第２の記憶部が接続される第１の集積回路と、
前記第１の集積回路とバスを介して接続される第２の集積回路と
を備え、
前記第１の集積回路は、
ページ記述言語を解析して前記描画コマンドを生成する描画コマンド生成部と、
前記第２の記憶部に対するアクセスを制御するメモリコントローラとを含み、
前記第２の集積回路は、
前記第１の記憶部と、前記描画コマンド転送部と、前記描画部と、前記バンド画像データ転送部と、前記画像転送部とを含む
ことを特徴とする請求項１乃至請求項７の何れか１項に記載の画像処理装置。
【請求項９】
第１の記憶部に含まれる第１の領域に、第２の記憶部に含まれる、第３の領域に記憶された少なくとも１ページ分の画像データを生成するための描画コマンドを転送して記憶させる描画コマンド転送ステップと、
前記第１の領域に記憶された前記描画コマンドを解析して該描画コマンドに含まれるコマンドを取得し、前記第３の領域に記憶される前記描画コマンドのサイズに応じて前記第１の領域を決定し、前記第１の記憶部の領域から該第１の領域を差し引いた領域を第２の領域に決定する解析ステップと、
前記第１の領域に記憶される前記描画コマンドに従い、高さが１ページの高さよりも低く、幅が予め決められたバンドを単位とするバンド画像データを生成する描画ステップと、
前記描画ステップにより生成された１バンド分の前記バンド画像データを、前記第２の領域に転送して記憶させるバンド画像データ転送ステップと、
前記第２の領域に記憶された前記バンド画像データを、前記第２の記憶部に含まれる、ページ単位で画像データを格納可能な第４の領域に転送して記憶させる画像転送ステップと
を有する
ことを特徴とする画像処理方法。
【請求項１０】
請求項１乃至請求項８の何れか１項に記載の画像処理装置と、
前記第４の領域に記憶された画像データに従い記録媒体に画像を形成する画像形成部と
を有する
ことを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、より大きなサイズの画像データの処理に用いて好適な画像処理装置および画像処理方法、ならびに、画像形成装置に関する。
【背景技術】
【０００２】
従来、ページ単位で印刷を行うプリンタ装置（ページプリンタ）が知られている。また、従来、例えばＣ(Cyan)、Ｍ(Magenta)、Ｙ(Yellow)およびＫ(Black)の各色を用いてカラー印刷を行うカラープリンタも知られている。
【０００３】
従来技術によるプリンタにおける処理の流れについて、概略的に説明する。パーソナルコンピュータなどで作成された例えばＰＤＬ(Page  Description  Language)データが、ネットワークやケーブルなど所定のインターフェイスを介してプリンタに転送される。プリンタ装置において、プリンタコントローラは、転送されたＰＤＬデータを解析して、描画部が実行可能な中間言語を作成する。描画部は、作成された中間言語を解析して画像データを生成し、生成した画像データに対して階調処理を施して２値化画像データを得る。この２値化画像データは、１ページの画像データが副走査方向に分割されたバンド画像データとしてメモリに書き込まれる。
【０００４】
なお、バンド画像データを書き込むためのメモリをバンドメモリと呼ぶ。また、生成した画像データをメモリに書き込む動作を描画と呼ぶ。画像の描画は、Ｃ、Ｍ、Ｙ、Ｋの各色毎に行われる。
【０００５】
プリンタコントローラは、バンドメモリに描画された各色の画像データを、ＪＢＩＧ(Joint  Bi-level  Image  Expert  Group)などの２値画像の圧縮アルゴリズムにより符号化し、生成された符号をそれぞれメインメモリに書き込む。プリンタは、印字時に、Ｃ、Ｍ、Ｙ、Ｋ各版毎に遅延させてメインメモリから符号を読み出してそれぞれ復号し、復号したデータをＣ、Ｍ、Ｙ、Ｋ各版に対応するプリンタエンジンに転送して印字を行う。
【０００６】
このような、ページプリンタなどのプリンタ装置において、印刷解像度の高解像度化や、印刷速度の高速化が要求されている一方で、プリンタの動作を制御するＣＰＵ(Central  Processing  Unit)の処理能力のみでは、これらの要求を満たすことが困難となってきている。
【０００７】
例えば、６０ＰＰＭ(Page  Per  Minute)といった高速な印刷速度を提供する高速機においては、６００ｄｐｉ(dot  per  inch)あるいは１２００ｄｐｉといった解像度で、Ａ４サイズ（≒８．２７インチ×１１．６９インチ）のＲ(Red)、Ｇ(Green)およびＢ(Blue)各色による１ページ分のカラー画像を１秒以下で描画する必要がある。そのため、高速機では、画像処理に際してより高速なメモリアクセスが要求される。
【０００８】
一方、上述した描画部を含む画像処理部と、バンドメモリに描画された画像データを圧縮符号化する符号化部と、メインメモリから読み出された符号を復号して画像データを復元する復号部と、プリンタエンジンを制御するためのエンジンコントローラとを１のＡＳＩＣ(Application  Specific  Integrated  Circuit)内に構成する技術が知られている。画像処理部、符号化部、復号部およびエンジンコントローラを１のＡＳＩＣ内に構成することで、製造コストの削減や、プリンタ装置の小型化などが可能となる。
【０００９】
このＡＳＩＣ内に、バンドメモリを構成するメインメモリを内蔵させることで、画像処理部は、バスを介さずにメインメモリにアクセスでき、より高速な画像処理が可能となる。ここで、例えば解像度が６００ｄｐｉのＡ４サイズであれば、総画素数は６８００画素×４７２０画素となり、１画素が３２ビットのデータサイズを有する場合、約１２８ＭＢのメモリ容量を必要とする。このような大容量のメモリをＡＳＩＣに内蔵させることは、一般的に困難である。そのため、画像処理部は、ＡＳＩＣからバスを介してメインメモリにアクセスして画像処理を行うことになり、処理速度の低下を招いていた。
【００１０】
ところで、近年の半導体プロセスの発達により、メインメモリに用いられるＤＲＡＭ(Dynamic  Random  Access  Memory)の動作速度が高速化され、それに伴い、メインメモリに対するアクセスを制御するメモリコントローラとＣＰＵ(Central  Processing  Unit)との間の転送レートも高速化されている。また、メモリコントローラを内蔵した汎用ＣＰＵも出現している。
【００１１】
このメモリコントローラを内蔵した汎用ＣＰＵをプリンタコントローラのＣＰＵとして用いる場合、汎用ＣＰＵの標準バスに画像処理部を含むＡＳＩＣを接続することが考えられる。すなわち、標準バスにメインメモリとして用いるＤＲＡＭを接続し、画像処理部は、汎用ＣＰＵに内蔵のメモリコントローラの制御に従い標準バスを介してＤＲＡＭにアクセスする。
【００１２】
特許文献１には、プリンタの多値ＲＧＢ情報をＣＰＵ上のソフトウェア動作によってバンドメモリに描画し、画像処理をハードウェアで実行することで、比較的低速なＣＰＵを用いて印字速度を向上可能とした技術が開示されている。特許文献２には、メインメモリの他にローカルメモリを有して、ハードウェアにより描画処理を行い、描画データを符号化してバスを介して転送する技術が開示されている。また、特許文献３には、描画処理部において、描画に係る各処理を並列化して並列性の大きなパイプライン処理を実現して描画性能を高めて、比較的低速なＣＰＵを用いて印字速度を向上可能とした技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
メモリコントローラを内蔵した汎用ＣＰＵをプリンタコントローラのＣＰＵとして用い、標準バスを介してメインメモリをアクセスする方法は、データをシリアルに転送する場合には、効率が良い。
【００１４】
一方、描画処理においては、描画処理に含まれる様々な処理においてランダムなアクセスが多発する可能性がある。この場合、メモリアクセスが効率良く行われずに、メモリアクセスに多くの時間が費やされてバスの転送レートが低下し、他のハードウェアによるメインメモリに対するアクセスが阻害されるおそれがある。特に、描画処理をＣＰＵ上のソフトウェア処理のみで実行する場合、多くのメモリアクセスが行われるので、高速なＣＰＵを使用する必要があり、装置のコストが嵩んでしまうという問題点があった。
【００１５】
また、ＡＳＩＣに対して描画用のメモリを専用に設ける方法も考えられる。しかしながら、この場合、専用のメモリをメインメモリとは別途に設けるため、装置のコストが嵩んでしまうという問題点があった。
【００１６】
本発明は、上記に鑑みてなされたものであって、より低コストの構成で大きなサイズの画像データをより高速に生成可能とすることを目的とする。
【課題を解決するための手段】
【００１７】
上述した課題を解決し、目的を達成するために、本発明は、第１の領域および第２の領域を含む第１の記憶部と、少なくとも１ページ分の画像データを生成するための描画コマンドを記憶する第３の領域と、ページ単位で画像データを格納可能な第４の領域とを含む第２の記憶部と、第３の領域に記憶された描画コマンドを第１の領域に転送して記憶させる描画コマンド転送部と、第１の領域に記憶された描画コマンドに従い、高さが１ページの高さよりも低く、幅が予め決められたバンドを単位とするバンド画像データを生成する描画部と、描画部で生成された１バンド分のバンド画像データを第２の領域に転送して記憶させるバンド画像データ転送部と、第２の領域に記憶されたバンド画像データを第４の領域に転送して記憶させる画像転送部とを有し、描画部は、第３の領域に記憶される描画コマンドのサイズに応じて第１の領域を決定し、第１の記憶部の領域から第１の領域を差し引いた領域を第２の領域に決定することを特徴とする。
【発明の効果】
【００１８】
本発明によれば、より低コストの構成で大きなサイズの画像データがより高速に生成可能となるという効果を奏する。
【図面の簡単な説明】
【００１９】
【図１】図１は、第１の実施形態に係る画像形成装置の一例の構成を示すブロック図である。
【図２】図２は、第１の実施形態に係る画像形成装置の動作の例について説明するための図である。
【図３】図３は、第１の実施形態に係る大容量内蔵メモリの一例の構成を示す図である。
【図４】図４は、第１の実施形態に係る描画処理部におけるバンド描画処理について説明するための図である。
【図５】図５は、第１の実施形態に係る描画部の一例の構成を示すブロック図である。
【図６】図６は、第１の実施形態に係る描画コマンドの例を示す図である。
【図７】図７は、第１の実施形態に係る描画部における一例の処理のフローチャートである。
【図８】図８は、第１の実施形態による構成と、従来技術による構成とを比較するための図である。
【図９】図９は、第１の実施形態による構成と、従来技術による構成とを比較するための図である。
【図１０】図１０は、第１の実施形態による構成と、従来技術による構成とを比較するための図である。
【図１１】図１１は、第２の実施形態に係る画像形成装置の一例の構成を示すブロック図である。
【図１２】図１２は、第２の実施形態に係る画像処理の概要を説明するための図である。
【図１３】図１３は、第２の実施形態に係る小バンド画像メモリの一例の構成を示す図である。
【図１４】図１４は、第２の実施形態に係る、ページ、バンドコマンド領域および小バンド画像データの一例の関係を示す図である。
【発明を実施するための形態】
【００２０】
以下に添付図面を参照して、画像処理装置および画像処理方法、ならびに、画像形成装置の実施形態を詳細に説明する。
【００２１】
（第１の実施形態）
図１は、第１の実施形態に係る画像形成装置の一例の構成を示すブロック図である。図１において、画像形成装置１は、画像形成制御部１０と、プリンタエンジン１１とを含む。画像形成制御部１０は、メモリコントローラ１１３を内蔵したＣＰＵ(Central  Processing  Unit)部１００と、プリンタエンジン１１を制御するエンジンコントローラ２１４を内蔵する描画制御部２００とを有する。画像形成制御部１０は、例えば１の基板上に形成されるコントローラボードであり、描画制御部２００は、１のＡＳＩＣ(Application  Specific  Integrated  Circuit)内に形成される。ＣＰＵ部１００と描画制御部２００は、バス１０３を介して接続される。
【００２２】
ＣＰＵ部１００は、ＣＰＵ１１０と、ＣＰＵインターフェイス（Ｉ／Ｆ）１１１と、メモリアービタ１１２と、メモリコントローラ１１３と、ＤＭＡＣ(Direct  Memory  Access  Controller)１１４と、バスコントローラ１１５と、通信コントローラ１１６とを有する。ＣＰＵ部１００に含まれる各部は、例えば１の集積回路内に一体的に構成される。また、ＣＰＵ部１００には、ＲＯＭ(Read  Only  Memory)１０１と、メインメモリ１０２とが接続される。ＲＯＭ１０１は、この画像形成装置１を制御するための各種プログラムが予め格納される。ＣＰＵ１１０は、ＲＯＭ１０１に格納されるプログラムに従い、この画像形成装置１全体の動作を制御する。
【００２３】
ＣＰＵ部１００において、ＣＰＵ１１０がＣＰＵ  Ｉ／Ｆ１１１を介してメモリアービタ１１２と接続される。メインメモリ１０２がメモリコントローラ１１３を介してメモリアービタ１１２と接続される。また、ＲＯＭ１０１、ＤＭＡＣ１１４および通信コントローラ１１６がそれぞれメモリアービタ１１２と接続される。メモリアービタ１１２は、さらに、バスコントローラ１１５を介してバス１０３に接続される。メモリアービタ１１２は、メインメモリ１０２と、メモリアービタ１１２と接続される各部との間の通信を調停する。
【００２４】
ＣＰＵ  Ｉ／Ｆ１１１は、ＣＰＵ１１０とメモリアービタ１１２との間のインターフェイスである。ＣＰＵ１１０は、このＣＰＵ  Ｉ／Ｆ１１１およびメモリアービタ１１２を介して、この画像形成装置１の各部を制御する。メモリコントローラ１１３は、ＣＰＵ１１０からの命令に従い、メインメモリ１０２に対するアクセスを制御する。バスコントローラ１１５は、バス１０３に対するアクセスを制御する。ＤＭＡＣ１１４は、ＣＰＵ１１０の命令に従い、メモリコントローラ１１３を介したメインメモリ１０２に対するダイレクトアクセスや、バス１０３を介した描画制御部２００に対するダイレクトアクセスを制御する。
【００２５】
メインメモリ１０２は、第２の記憶部であって、予め定められた複数の領域を含む。図１の例では、メインメモリ１０２は、ＰＤＬデータ領域１０２ａと、第３の領域としてのコマンド領域１０２ｂと、データメモリ領域１０２ｃと、第４の領域としてのＣＭＹＫページメモリ領域１０２ｄとを含んでいる。
【００２６】
通信コントローラ１１６は、外部の機器との通信を制御する。この例では、通信コントローラ１１６は、例えばパーソナルコンピュータ（ＰＣ）２といった外部の情報処理装置との間の通信を制御する。ＰＣ２は、例えばユーザによる印字操作に応じてページ記述言語（ＰＤＬ：Page  Description  Language）によるデータを生成する。生成されたＰＤＬデータは、ＰＣ２から通信コントローラ１１６に対して送信され、メモリアービタ１１２を介してメインメモリ１０２のＰＤＬデータ領域１０２ａに格納される。
【００２７】
描画制御部２００は、バスＩ／Ｆ２１０と、描画部２１１と、大容量内蔵メモリ２１２と、画像読み込み部２１３と、エンジンコントローラ２１４と、画像処理部２１５とを有する。大容量内蔵メモリ２１２は、第１の領域であるＣＭＹＫバンドメモリ領域２１２ａと、第２の領域であるコマンド領域２１２ｂを含む。
【００２８】
バスＩ／Ｆ２１０は、バス１０３に対するインターフェイスである。描画部２１１は、ＰＤＬデータに基づきＣＰＵ１１０により生成された描画コマンドをバス１０３を介して読み込んで、大容量内蔵メモリ２１２のコマンド領域２１２ｂに格納する。描画部２１１は、読み込んだ描画コマンドに従い画像データを生成して大容量内蔵メモリ２１２のＣＭＹＫバンドメモリ領域２１２ａに書き込むことで、描画処理を行う。
【００２９】
描画部２１１は、ＣＭＹＫバンドメモリ領域２１２ａに所定量の画像データが書き込まれると、ＣＭＹＫバンドメモリ領域２１２ａから当該所定量の画像データを読み出して、バス１０３を介してＣＰＵ部１００に転送する。ＣＰＵ部１００に転送された当該所定量の画像データは、メインメモリ１０２のＣＭＹＫページメモリ領域１０２ｄに格納される。
【００３０】
画像処理部２１５は、メインメモリ１０２のＣＭＹＫページメモリ領域に格納された画像データを読み込んで画像処理を行い、画像処理後の画像データをメインメモリ１０２に転送する。
【００３１】
画像読み込み部２１３は、メインメモリ１０２のＣＭＹＫページメモリ領域１０２ｄから、画像データを例えばページ単位で読み込み、エンジンコントローラ２１４に転送する。エンジンコントローラ２１４は、転送された画像データをプリンタエンジン１１に供給すると共に、この画像データ基づきプリンタエンジン１１を制御する。プリンタエンジン１１は、エンジンコントローラ２１４の制御に応じて、画像データに従った画像を印刷用紙などの記録媒体上に形成し、印刷を行う。
【００３２】
なお、実施形態に係る画像形成装置１は、Ｃ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロー）およびＫ（ブラック）各色によるカラー画像による画像を形成することができる。すなわち、ＰＣ２で生成されるＰＤＬデータは、ＣＭＹＫ各色を用いたフルカラーの情報を含むことができる。ＣＰＵ１１０は、このＰＤＬデータに基づき、ページ毎にＣＭＹＫ各色による画像データを生成するための描画コマンドを生成し、メインメモリ１０２のコマンド領域１０２ｂに格納する。
【００３３】
なお、１ページの画像を構成するＣＭＹＫ各色の描画領域（画像データの生成領域）を、プレーンと呼ぶ。プレーンは、具体的には、メインメモリ１０２のＣＭＹＫページメモリ領域１０２ｄにおけるＣＭＹＫ各色の領域である。また、描画部２１１は、描画コマンドに従い、１ページの画像データを、高さ（ライン数）が１ページの高さより低い複数の画像データに分割して生成する。この高さが１ページの高さより低い画像データを、バンド画像データと呼ぶ。すなわち、描画部２１１は、このバンド画像データを単位として画像データを生成する。
【００３４】
以下、特に記載のない限り、描画コマンドに従い画像データを生成する動作を、「描画」として、また、バンド画像データの生成を、バンド描画、または、バンド画像の描画などとしてそれぞれ記述する。
【００３５】
描画部２１１は、メインメモリ１０２のコマンド領域１０２ｂに格納された描画コマンドのうち、１ページ分の描画を行う描画コマンドを読み込む。そして、描画部２１１は、読み込んだ描画コマンドに従い、ＣＭＹＫ各色の画像データを１プレーンずつ描画し、大容量内蔵メモリ２１２のＣＭＹＫバンドメモリ領域２１２ａに書き込む。
【００３６】
すなわち、描画部２１１は、描画コマンドに従い例えばＣ色のプレーンのバンド描画を行いＣＭＹＫバンドメモリ領域２１２ａに書き込む。ＣＭＹＫバンドメモリ領域２１２ａにＣ色のプレーンのバンド画像データが書き込まれたら、ＣＭＹＫバンドメモリ領域２１２ａから当該バンド画像データを読み出して、メインメモリ１０２のＣＭＹＫページメモリ領域１０２ｄに転送する。そして、描画部２１１は、１ページ分のＣ色のプレーンの描画が行われたら、次のプレーン、例えばＭ色のプレーンの描画を同様にして実行する。
【００３７】
このように、大容量内蔵メモリ２１２のＣＭＹＫバンドメモリ領域２１２ａに、バンド画像データを１プレーン分のみ格納することで、大容量内蔵メモリ２１２の容量を削減することができ、描画制御部２００が構成されるＡＳＩＣのコストを低減することができる。
【００３８】
また、詳細は後述するが、大容量内蔵メモリ２１２において、ＣＭＹＫバンドメモリ領域２１２ａおよびコマンド領域２１２ｂは、コマンド領域２１２ｂに格納される描画コマンドのデータサイズに応じて決定される。このとき、描画コマンドのデータサイズが比較的大きく、それに伴いＣＭＹＫバンドメモリ領域２１２ａのサイズが小さくされると、描画部２１１がコマンド領域２１２ｂから描画コマンドを読み出す回数が多くなり、処理速度が低下するおそれがある。ＣＭＹＫバンドメモリ領域２１２ａに１のプレーンの画像データのみを格納することで、この処理速度の低下を抑制することが可能である。
【００３９】
さらに、描画部２１１は、詳細は後述するが、バンド描画を行う毎に、大容量内蔵メモリ２１２のコマンド領域２１２ｂから描画コマンドを読み込む。そのため、コマンド領域２１２ｂに１ページ分の描画コマンドを格納することで、メインメモリ１０２のコマンド領域１０２ｂに対するアクセスを減らすことができ、より高速な描画が可能となる。
【００４０】
図２を用いて、第１の実施形態に係る画像形成装置１の動作の例について説明する。なお、図２において、上述の図１と共通する部分については同一の符号を付して、詳細な説明を省略する。
【００４１】
例えばＰＣ２において、画像形成を行うためのＰＤＬデータが生成され、画像形成装置１に対して送信される。このＰＤＬデータは、画像形成装置１において通信コントローラ１１６により受信され、メインメモリ１０２のＰＤＬデータ領域１０２ａに格納される。
【００４２】
ＣＰＵ１１０は、ＰＤＬデータ領域１０２ａに格納されるＰＤＬデータに基づき、画像形成のための描画を行うための描画コマンドと、描画に用いる描画データである写真画像データとをページ単位で生成する。ＣＰＵ１１０は、生成した例えば１ページ分の描画コマンドを、メインメモリ１０２のコマンド領域１０２ｂに記憶する。また、ＣＰＵ１１０は、生成した例えば１ページ分の写真画像データを、メインメモリ１０２のデータメモリ領域１０２ｃに記憶する。
【００４３】
描画部２１１は、コマンドＤＭＡ部２１１０と、描画ページコマンドメモリ領域２１１１と、描画処理部２１１２と、ＣＭＹＫバンドメモリ領域２１１３と、バンドＤＭＡ部２１１４とを含む。これらのうち、描画ページコマンドメモリ領域２１１１およびＣＭＹＫバンドメモリ領域２１１３は、それぞれ大容量内蔵メモリ２１２内のコマンド領域２１２ｂおよびＣＭＹＫバンドメモリ領域２１２ａとに対応する。
【００４４】
コマンドＤＭＡ(Direct  Memory  Access)部２１１０は、１ページ分の描画処理を開始する際に、メインメモリ１０２のコマンド領域１０２ｂから、１ページ分の描画コマンドを読み出し、描画ページコマンドメモリ領域２１１１に転送し記憶させる。この、コマンドＤＭＡ部２１１０による、コマンド領域１０２ｂからの描画コマンドの読み込み処理は、１ページ分の描画コマンドに対して１度のみ、実行される。
【００４５】
描画処理部２１１２は、描画コマンドメモリ領域２１１１に記憶された１ページ分の描画コマンドのデータサイズを調べる。そして、描画処理部２１１２は、大容量内蔵メモリ２１２のサイズから、調べた描画コマンドのデータサイズを差し引いて得られた大容量内蔵メモリ２１２内の領域を、バンド画像データを書き込むためのＣＭＹＫバンドメモリ領域２１１３に決定する。
【００４６】
図３は、第１の実施形態に係る大容量内蔵メモリ２１２の一例の構成を示す。大容量内蔵メモリ２１２は、１ラインに対応する所定のバンド幅を単位として、高さ方向にデータを格納するようになっている。大容量内蔵メモリ２１２は、記憶領域が、所定のバンド幅に対する大容量内蔵メモリ２１２全体の記憶容量に応じた全高を有する。
【００４７】
描画処理部２１１２は、コマンド領域２１２ｂの高さを、１ページ分の描画コマンドのデータサイズに対応する高さに決定する。さらに、描画処理部２１１２は、ＣＭＹＫバンドメモリ領域２１２ａの高さを、大容量内蔵メモリ２１２の全高からコマンド領域２１２ｂの高さを差し引いた高さに決定する。このＣＭＹＫバンドメモリ領域２１２ａの高さが、バンド画像データの高さとなる。
【００４８】
描画処理部２１１２は、描画ページコマンドメモリ領域２１１１から読み込んだ描画コマンドを解析する。描画処理部２１１２は、読み込んだ描画コマンドを解析して得たコマンドが描画を指示する描画コマンドである場合、当該描画コマンドに従い生成したバンド画像データをＣＭＹＫバンドメモリ領域２１１３に転送し記憶させて、バンド描画を行う。また、描画処理部２１１２は、ＣＭＹＫ各色のプレーンのうち１のプレーンについてバンド描画を行い、ＣＭＹＫバンドメモリ領域２１１３に記憶させる。
【００４９】
ここで、図４を用いて、第１の実施形態に係る描画処理部２１１２におけるバンド描画処理について説明する。図４は、メインメモリ１０２のＣＭＹＫページメモリ領域１０２ｄの一例の構成を示す。ＣＭＹＫページメモリ領域１０２ｄは、所定のバンド幅を有し、ＣＭＹＫ各色のプレーン（図４においては「版」と記述）がそれぞれ１ページ分格納される、Ｃ版ページ領域、Ｙ版ページ領域、Ｍ版ページ領域およびＫ版ページ領域が設けられる。
【００５０】
ＣＭＹＫページメモリ領域１０２ｄは、さらに、これらＣＭＹＫ各色版のページ領域に対し、それぞれ大容量内蔵メモリ２１２においてＣＭＹＫバンドメモリ領域２１２ａに対して決定されたバンド高さと等しいバンド高さを有するバンド領域が設けられる。Ｃ版ページ領域を例に取ると、それぞれバンド高さを有するＣ版バンド＃０領域、＃１領域、…、＃Ｎ領域が、全体の高さが１ページの高さになるように設けられる。
【００５１】
描画処理部２１１２は、バンド画像データを格納するバンド領域を、図４に例えばＣ版バンド＃０領域、＃１領域、…、＃Ｎ領域として示される、ＣＭＹＫページメモリ領域１０２ｄの各バンド領域に対応して、バンド描画毎に順次生成する。そして、描画処理部２１１２は、描画を行ったバンド領域に対してクリッピング処理を行いながら、１のプレーンについてバンド描画を行い、ＣＭＹＫバンドメモリ領域２１１３に書き込む。
【００５２】
バンドＤＭＡ部２１１４は、ＣＭＹＫバンドメモリ領域２１１３に対する１バンド領域分のバンド画像データの書き込みが完了すると、ＣＭＹＫバンドメモリ領域２１１３に書き込まれたバンド画像データをメインメモリ１０２のＣＭＹＫページメモリ領域１０２ｄに転送する。そして、バンドＤＭＡ部２１１４は、転送したバンド画像データを、図４に示したように、当該バンド画像データに対応するバンド領域に記憶させる。
【００５３】
バンドＤＭＡ部２１１４は、ＣＭＹＫバンドメモリ領域２１１３に対するバンド画像データの書き込みが完了する毎に、ＣＭＹＫバンドメモリ領域２１１３に書き込まれたバンド画像データを、メインメモリ１０２のＣＭＹＫページメモリ領域１０２ｄに転送し、対応するバンド領域に記憶させる。バンドＤＭＡ部２１１４は、描画処理部２１１２による、１のプレーンにおける各バンド描画が終了するまで、ＣＭＹＫバンドメモリ領域２１１３からＣＭＹＫページメモリ領域１０２ｄへのバンド画像データの転送を繰り返し、さらに、描画処理部２１１２による全プレーンのバンド描画が終了するまでこの転送処理を繰り返す。
【００５４】
描画処理部２１１２は、１ページのＣＭＹＫ各色全てのプレーンについてのバンド描画が完了した場合、その旨をＣＰＵ１１０に通知する。
【００５５】
例えばＣＰＵ１１０は、１ページのＣＭＹＫ各色全てのプレーンについてのバンド描画が完了した旨の通知を受け取ると、画像読み込み部２１３に対して、ＣＭＹＫページメモリ領域１０２ｄに記憶される、１ページのＣＭＹＫ各色のプレーンによる画像データの読み込みを指示する。
【００５６】
画像読み込み部２１３は、この指示に応じて、ＣＭＹＫページメモリ領域１０２ｄから１ページのＣＭＹＫ各色のプレーンによる画像データを読み込んでエンジンコントローラ２１４に転送する。エンジンコントローラ２１４は、転送された１ページのＣＭＹＫ各色のプレーンによる画像データを、プリンタエンジン１１に出力する。プリンタエンジン１１は、エンジンコントローラ２１４から出力された１ページのＣＭＹＫ各色のプレーンに従い、印刷用紙などの記録媒体に対して画像を形成する。
【００５７】
図５は、第１の実施形態に係る描画部２１１の一例の構成を示す。なお、図５において、上述した図１および図２と共通する部分には同一の符号を付して、詳細な説明を省略する。なお、図５では、大容量内蔵メモリ２１２が描画部２１１に内蔵されているように記載されており、大容量内蔵メモリ２１２が描画部２１１に接続される構成に限らず、描画部２１１に内蔵される構成でもよいことが示されている。
【００５８】
図５において、描画部２１１は、描画処理部２１１２と、バスアービタＩ／Ｆ２１１５と、コマンド＆バンドＤＭＡ２１１６と、コマンド解析部２１１７と、大容量内蔵メモリ制御部２１１８と、大容量内蔵メモリ２１２とを有する。
【００５９】
バスアービタＩ／Ｆ２１１５は、図１のバスＩ／Ｆ２１０とのインターフェイスである。描画部２１１は、このバスアービタＩ／Ｆ２１１５をインターフェイスとして、バスＩ／Ｆ２１０、バス１０３およびバスコントローラ１１５を介して、メモリアービタ１１２に対して、例えばデータ読み出しを要求するためのメモリリクエストおよびメモリアドレスを送信する。これにより、描画部２１１は、メインメモリ１０２にアクセスし、描画コマンドや各種データをメインメモリ１０２から読み出すことができる。メモリアックは、メモリリクエストに対するメモリアービタ１１２からの応答である。
【００６０】
また、バスアービタＩ／Ｆ２１１５は、メモリアービタ１１２に対して、データ書き込みを要求するためのメモリリクエストおよびメモリアドレスを送信する。これにより、描画部２１１は、メインメモリ１０２に対してバンド画像データなど各種データを書き込むことができる。
【００６１】
大容量内蔵メモリ制御部２１１８は、コマンド＆バンドＤＭＡ２１１６、コマンド解析部２１１７および描画処理部２１１２からの要求に従い、大容量内蔵メモリ２１２に対するアクセス制御を行う。コマンド＆バンドＤＭＡ２１１６は、図２のコマンドＤＭＡ部２１１０およびバンドＤＭＡ部２１１４に対応し、大容量内蔵メモリ２１２のコマンド領域２１２ｂに対する描画コマンドの転送や、ＣＭＹＫバンドメモリ領域２１２ａからのバンド画像データの転送を制御する。
【００６２】
コマンド解析部２１１７は、大容量内蔵メモリ制御部２１１８を介して大容量内蔵メモリ２１２のコマンド領域２１２ｂから１の描画コマンドを読み込んで解析し、描画に必要な描画用パラメータを取得する。コマンド解析部２１１７は、取得した描画用パラメータを描画処理部２１１２に渡し、描画用起動信号を描画処理部２１１２に対して出力して、描画処理部２１１２を起動させる。
【００６３】
また、コマンド解析部２１１７は、描画処理部２１１２から描画終了信号を受信すると、次の１の描画コマンドをコマンド領域２１２ｂから読み込んで解析し、描画用パラメータと描画用起動信号を描画処理部２１１２に供給する。
【００６４】
描画処理部２１１２は、コマンド解析部２１１７から出力された描画用起動信号により起動され、コマンド解析部２１１７から渡された描画用パラメータに従い、ＣＭＹＫ各色のプレーンのうち１のプレーンの、ページ内の所定バンド領域のバンド描画を行う。描画処理部２１１２は、描画したバンド画像データを、大容量内蔵メモリ制御部２１１８を介して大容量内蔵メモリ２１２のＣＭＹＫバンドメモリ領域２１２ａに書き込む。描画処理部２１１２は、１のバンド画像データの書き込みが終了すると、描画終了信号をコマンド解析部２１１７に対して出力する。
【００６５】
図６は、第１の実施形態に係る描画コマンドの例を示す。この例では、描画コマンドは、描画ハードパラメータ設定コマンドと、グラフィクス描画コマンドと、写真画像描画コマンドとを含む。
【００６６】
図６（ａ）および図６（ｂ）は、描画ハードパラメータ設定コマンドの一例を示す。描画ハードパラメータ設定コマンドは、描画処理のパラメータを設定するためのコマンドである。図６（ａ）は、描画ハードパラメータ設定コマンドのうち、バンド初期化コマンドの例を示す。バンド初期化コマンドは、バンドを例えば「白」に初期化するコマンドであって、バンド情報設定コマンドヘッダに続くデータにより、メインメモリ１０２におけるＣＭＹＫ各色の版（プレーン）のページ領域（図４参照）の先頭アドレスと、バンド幅と、バンド高さと、ページ高さと、大容量内蔵メモリ２１２におけるＣＭＹＫバンドメモリ領域２１２ａの先頭アドレス（図３参照）とを定義するパラメータを含む。
【００６７】
なお、上述したように、大容量内蔵メモリ２１２において、ＣＭＹＫバンドメモリ領域２１２ａは、１ページの描画コマンドのサイズに基づき決定される。したがって、バンド高さは、可変の値となる。また、ＣＭＹＫバンドメモリ領域２１２ａの先頭アドレスは、例えば、大容量内蔵メモリ２１２におけるＣＭＹＫバンドメモリ領域２１２ａとコマンド領域２１２ｂとの境界位置を示すアドレスを用いることができる。
【００６８】
図６（ｂ）は、描画ハードパラメータ設定コマンドのうち、バンド終了コマンドの例を示す。バンド終了コマンドは、定義したバンドの描画の終了を示す。コマンド解析部２１１７は、このバンド終了コマンドを受け取ると、そのバンドに対する描画処理を終了する。
【００６９】
図６（ｃ）は、第１の実施形態に係る、グラフィクスの描画を行うためのグラフィクス描画コマンドの例を示す。ここでは、四角形（矩形）を描画するグラフィクス描画コマンドについて説明する。グラフィクス描画コマンドは、グラフィクス描画用四角形描画コマンドヘッダに続く各パラメータにより、描画を行う四角形のカラー値と、四角形の左上のＸ，Ｙ座標と、右下のＸ，Ｙ座標とを指示する。
【００７０】
図６（ｄ）は、第１の実施形態に係る、写真画像の描画を行うための写真画像描画コマンドの例を示す。写真画像描画コマンドは、写真画像描画コマンドヘッダに続く各パラメータにより、描画を行う写真画像のソースアドレスすなわちメインメモリ１０２のデータメモリ領域１０２ｃのアドレスと、写真画像の描画を開始する左上Ｘ座標および左上Ｙ座標、ならびに、写真画像の幅および高さとをを指示する。
【００７１】
図７は、第１の実施形態に係る描画部２１１における一例の処理のフローチャートを示す。描画部２１１は、ステップＳ１００で、例えばＣＰＵ１１０から１ページの描画開始を指示されると、メインメモリ１０２のコマンド領域１０２ｂに格納される、描画を指示された１ページ分の描画コマンドのデータサイズを取得する。そして、描画部２１１は、取得した１ページ分の描画コマンドのデータサイズが大容量内蔵メモリ２１２の容量よりも大きいか否かを判定する。
【００７２】
なお、ここでは、描画部２１１は、大容量内蔵メモリ２１２において、ＣＭＹＫバンドメモリ領域２１２ａに対してバンド画像データを格納するための最小限の容量を予め確保する。描画部２１１は、その上で、取得した１ページ分の描画コマンドのデータサイズとコマンド領域２１２ｂの容量とを比較して、大容量内蔵メモリ２１２に対する容量の判定結果とするものとする。
【００７３】
描画部２１１は、ステップＳ１００で、１ページ分の描画コマンドのデータサイズが大容量内蔵メモリ２１２の容量を超えると判定した場合、処理をステップＳ１０１に移行させ、ソフトウェアにより当該１ページの描画を実行する。
【００７４】
例えば、描画部２１１は、ステップＳ１０１で、ＣＰＵ１１０に対して１ページ分の描画コマンドのデータサイズが大容量内蔵メモリ２１２の容量を超える旨を通知する。ＣＰＵ１１０は、この通知に応じて、メインメモリ１０２のコマンド領域１０２ｂから描画コマンドを読み込んで描画を行い、生成した画像データをメインメモリ１０２のＣＭＹＫページメモリ領域１０２ｄに書き込む。そして、図７のフローチャートによる一連の処理が終了される。
【００７５】
描画部２１１は、ステップＳ１００で、１ページ分の描画コマンドのデータサイズが大容量内蔵メモリ２１２の容量以下であると判定した場合、処理をステップＳ１０２に移行させる。
【００７６】
描画部２１１は、ステップＳ１０２で、大容量内蔵メモリ２１２の全容量のうち、ステップＳ１００で取得した描画コマンドのデータサイズ分の容量に対応する領域を除いた領域をＣＭＹＫバンドメモリ領域２１２ａに決定する。そして、描画部２１１は、このＣＭＹＫバンドメモリ領域２１２ａの容量をバンド幅で除して、バンド高さを求める。そして、描画部２１１は、次のステップＳ１０３で、描画を行うバンドの先頭および終点のＹ座標をそれぞれ０に初期化する。
【００７７】
次のステップＳ１０４で、描画部２１１は、コマンドＤＭＡ部２１１０により、メインメモリ１０２のコマンド領域１０２ｂから、描画が指示された１ページ分の描画コマンドを読み込んで大容量内蔵メモリ２１２に転送し、ＣＭＹＫバンドメモリ領域２１２ａに書き込む。次のステップＳ１０５で、描画部２１１は、バンド終点のＹ座標を新たなバンド先頭のＹ座標とし、さらに、バンド終点のＹ座標にバンド高さを加算した値を新たなバンド終点のＹ座標とする。
【００７８】
次のステップＳ１０６で、描画部２１１は、ＣＭＹＫ各色のプレーンを示す版番号を０に初期化する。ここで、例えば版番号０、１、２および３は、それぞれＣ、Ｍ、Ｙ、Ｋ各色のプレーンに対応するものとする。
【００７９】
次のステップＳ１０７で、描画部２１１は、描画コマンドをコマンド領域２１２ｂから読み込む際のコマンドアドレスを初期化し、０とする。そして、次のステップＳ１０８で、描画部２１１においてコマンド解析部２１１７は、コマンドアドレスに従いコマンド領域２１２ｂから描画コマンドを１つ読み込む。
【００８０】
次のステップＳ１０９で、描画部２１１においてコマンド解析部２１１７は、読み込んだ描画コマンドを解析して、当該描画コマンドが描画を行うコマンドか否かを判定する。若し、読み込んだ描画コマンドが図６（ｃ）および図６（ｄ）に示されるグラフィクス描画コマンドおよび写真画像描画コマンドのうち何れかであれば、コマンド解析部２１１７は、当該描画コマンドが描画を行うコマンドであると判定して、処理をステップＳ１１０に移行させる。
【００８１】
ステップＳ１１０で、コマンド解析部２１１７は、ステップＳ１０８で読み込んだ描画コマンドによる描画が、ステップＳ１０５で設定されたバンド先頭および終点のＹ座標の範囲内で実行できるか否かを判定する。すなわち、コマンド解析部２１１７は、当該描画コマンドにより描画される範囲の一部または全部が、ステップＳ１０５で設定されたバンド先頭および終点のＹ座標の範囲内に含まれるか否かを判定する。コマンド解析部２１１７は、当該範囲内で実行できないと判定した場合、処理をステップＳ１０８に戻し、コマンド領域２１２ｂから次の描画コマンドを読み込む。
【００８２】
コマンド解析部２１１７は、ステップＳ１１０で、描画コマンドによる描画がステップＳ１０５で設定されたバンド先頭および終点のＹ座標の範囲内で実行できると判定した場合、処理をステップＳ１１１に移行させる。そして、コマンド解析部２１１７は、描画コマンドの、ステップＳ１０５で設定されたバンド先頭および終点のＹ座標の範囲でのクリッピング処理を行う。例えば、コマンド解析部２１１７は、描画コマンドにおいて、当該バンド先頭および終点のＹ座標の範囲内の描画に係る部分を切り出す。コマンド解析部２１１７は、クリッピング処理を施した描画コマンドを、描画処理部２１１２に渡す。
【００８３】
次のステップＳ１１２で、描画処理部２１１２は、コマンド解析部２１１７から渡された描画コマンドに指定される描画が四角形の描画を行うものか否かを判定する。描画処理部２１１２は、例えば、当該描画コマンドがグラフィクス描画コマンドである場合に、当該描画コマンドが四角形の描画を行うものであると判定する。
【００８４】
描画処理部２１１２は、ステップＳ１１２で、コマンド解析部２１１７から渡された描画コマンドが四角形の描画を行う描画コマンドであると判定した場合、処理をステップＳ１１３に移行させる。そして、描画処理部２１１２は、描画コマンドに従い、現在指定されている版（プレーン）に対して四角形の描画を行い、生成されたバンド画像データをＣＭＹＫバンドメモリ領域２１２ａに書き込む。そして、処理がステップＳ１０８に戻される。
【００８５】
描画処理部２１１２は、ステップＳ１１２で、コマンド解析部２１１７から渡された描画コマンドが四角形の描画を行う描画コマンドではないと判定した場合、処理をステップＳ１１４に移行させる。この場合、描画コマンドは、写真画像の描画を行うための写真画像描画コマンドである。描画処理部２１１２は、ステップＳ１１４で、メインメモリ１０２のデータメモリ領域１０２ｃから、描画コマンドに指定されるソースアドレスに従い写真画像データを読み込む。そして、描画処理部２１１２は、読み込んだ写真画像データに基づき、現在指定されている版に対して当該写真画像データによる描画を行い、生成されたバンド画像データをＣＭＹＫバンドメモリ領域２１２ａに書き込む。そして、処理がステップＳ１０８に戻される。
【００８６】
上述のステップＳ１０９で、コマンド解析部２１１７は、ステップＳ１０８で読み込んだ描画コマンドが描画を行うコマンドではないと判定した場合、処理をステップＳ１１５に移行させる。この場合、読み込んだ描画コマンドは、図６（ａ）のバンド情報設定コマンドおよび図６（ｂ）の終了コマンドのうち何れかである。ステップＳ１１５で、コマンド解析部２１１７は、読み込んだ描画コマンドが終了コマンドであるか否かを判定する。
【００８７】
コマンド解析部２１１７は、ステップＳ１１５で、読み込んだ描画コマンドが終了コマンドではないと判定した場合、すなわち、当該描画コマンドがバンド情報設定コマンドであると判定した場合、処理をステップＳ１１６に移行させる。ステップＳ１１６で、コマンド解析部２１１７は、当該バンド情報設定コマンドにより各バンド情報を設定し、設定した各バンド情報に従い次のステップＳ１１７でＣＭＹＫバンドメモリ領域２１２ａを初期化して、処理をステップＳ１０８に戻す。
【００８８】
コマンド解析部２１１７は、ステップＳ１１５で、読み込んだ描画コマンドが終了コマンドであると判定した場合、処理をステップＳ１１８に移行させる。ステップＳ１１８で、描画部２１１は、バンドＤＭＡ部２１１４により、ＣＭＹＫバンドメモリ領域２１２ａに書き込まれたバンド画像データを、メインメモリ１０２のＣＭＹＫページメモリ領域１０２ｄに転送し、記憶させる。
【００８９】
処理は次のステップＳ１１９に移行され、描画部２１１は、現在の版番号が３であるか否かを判定する。これは、すなわち、上述のステップＳ１１８でＣＭＹＫバンドメモリ領域２１２ａからＣＭＹＫページメモリ領域１０２ｄに転送されたバンド画像データが、ＣＭＹＫ各色のプレーンのうち最後に転送されるＫ色のプレーンであるか否かを判定することを意味する。
【００９０】
描画部２１１は、ステップＳ１１９で、版番号が３ではないと判定した場合、処理をステップＳ１２０に移行させ、版番号に１を加算して新たな版番号として処理をステップＳ１０７に戻す。そして、新たな版番号について、ステップＳ１０７からの処理を実行する。
【００９１】
描画部２１１は、ステップＳ１１９で、版番号が３であると判定した場合、処理をステップＳ１２１に移行させる。この場合、あるバンドについて、ＣＭＹＫ各色のプレーンの描画が終了したことを意味する。描画部２１１は、ステップＳ１２１で、ページの高さまで描画を行ったか否かを判定する。描画部２１１は、ページの高さまで描画が終了していないと判定した場合、処理をステップＳ１０５に戻し、次のバンドについて、ステップＳ１０５からの処理を実行する。
【００９２】
また、描画部２１１は、ステップＳ１２１でページ高さまで描画を行ったと判定した場合、１ページ分の描画が完了したとして、図７のフローチャートによる一連の処理を終了させる。
【００９３】
（従来技術との比較）
図８〜図１０を用いて、第１の実施形態による構成と、従来技術による構成とを比較する。図８〜図１０は、それぞれ、従来技術による画像形成装置１０００ａ、１０００ｂおよび１０００ｃの一例の構成を示す。なお、図８〜図１０において、上述した図１と共通する部分には同一の符号を付して、詳細な説明を省略する。
【００９４】
図８は、従来技術による画像形成装置の第１の例を示す。図８は、図１のメインメモリ１０２に対応するメインメモリ１０２０は、描画コマンドを格納するコマンド領域１０２０ａと、バンド画像データが格納されるバンドメモリ領域１０２０ｂとを含む例である。すなわち、図８の例では、図１において大容量内蔵メモリ２１２に含まれて描画制御部２００に内蔵されるコマンド領域２１２ｂおよびＣＭＹＫバンドメモリ領域２１２ａが、コマンド領域１０２０ａおよびバンドメモリ領域１０２０ｂとしてメインメモリ１０２０に設けられる。
【００９５】
この図８の構成によれば、描画部２１１は、描画を行う際に、描画コマンドを、図中に経路Ａで示されるように、バス１０３を介してメインメモリ１０２０のコマンド領域１０２０ａから読み込む。また、描画部２１１は、描画により生成したバンド画像データを、図中に経路Ｂで示されるように、バス１０３を介してメインメモリ１０２０のバンドメモリ領域１０２０ｂに書き込む。
【００９６】
より具体的には、描画制御部２００ａにおいて、描画部２１１が描画したバンド画像データは、符号化部２２１２で符号化されてデータ容量を圧縮されて、バス１０３を介してメインメモリ１０２０に転送され、圧縮されたまま、バンドメモリ領域１０２０ｂに書き込まれる。また、バンドメモリ領域１０２０ｂから読み出された、圧縮符号化されたバンド画像データは、バス１０３を介して描画制御部２００ａに供給され、復号部２２１３で復号され、画像処理部２１５で画像処理されてエンジンコントローラ２１４に供給される。
【００９７】
このように、図８の例では、バスを介した描画コマンドおよびバンド画像データの転送が、バンドの描画毎にバス１０３を介して行われることになり、バス１０３の転送レートの低下を招くおそれがある。また、このバス１０３の転送レートの低下を抑制するために、描画制御部２００ａに対して符号化部２２１２および復号部２２１３を設ける必要があり、コストが嵩んでしまう。
【００９８】
図９は、従来技術による画像形成装置の第２の例を示す。図９は、図１の大容量内蔵メモリ２１２に対応するローカルメモリ２１２０を、描画制御部２００ｂの外部に接続した例である。すなわち、ローカルメモリ２１２０は、描画制御部２００ｂが構成されるＡＳＩＣの外部に、所定の配線を介して接続される。
【００９９】
図９の例の場合、描画部２１１の動作は、描画コマンドの読み出しとバンド画像データの書き込みを、ＡＳＩＣによる描画制御部２００ｂ外部のローカルメモリ２１２０に対して行う点以外は、図１を用いて説明した第１の実施形態による動作と同様である。
【０１００】
すなわち、図９において、描画部２１１は、描画を行う際に、１ページ分の描画コマンドを、バス１０３を介してメインメモリ１０２１のコマンド領域１０２１ａから読み込み（図中の経路Ｃ）、ローカルメモリ２１２０のコマンド領域２１２０ａに書き込む。描画部２１１は、コマンド領域２１２０ａから描画コマンドを読み込み（図中の経路Ｄ）、バンド画像の描画を行う。描画されたバンド画像データは、ローカルメモリ２１２０のバンドメモリ領域２１２０ｂに書き込まれる（図中の経路Ｅ）。
【０１０１】
この図９の例の場合、描画部２１１は、描画の際に、１ページ分の描画コマンドを、バス１０３を介してメインメモリ１０２１から読み込んでローカルメモリ２１２０のコマンド領域２１２０ａに書き込む。そして、描画部２１１は、バンド描画を、ローカルメモリ２１２０からの描画コマンドを読み込み、描画されたバンド画像データをローカルメモリ２１２０に書き込む。そのため、バス１０３を介したアクセスが図８の例に比べて抑制される。
【０１０２】
一方、図９の構成では、ローカルメモリ２１２０が描画制御部２００ｂすなわちＡＳＩＣの外部に設けられているため、描画制御部２００ｂからコマンド領域２１２０ａおよびバンドメモリ領域２１２０ｂに対するアクセスを、ＡＳＩＣ外部の所定の配線を介して行う必要がある。ＡＳＩＣ外部の配線は、レイアウトなどの都合により制限が多く、ローカルメモリ２１２０と描画制御部２００ｂとの間のデータ転送などにおいて十分な転送レートを得られない場合がある。この場合、バンド画像データの転送レートの上限が、ローカルメモリ２１２０と描画制御部２００ｂとを接続する配線の転送レートにより決まってしまい、バンド画像データの転送レートの低下を招くおそれがある。
【０１０３】
また、そのため、描画部２１１で描画したバンド画像データは、一旦圧縮符号化して転送レートを上げた後にローカルメモリ２１２０に転送することになる。この場合、ローカルメモリ２１２０と描画制御部２００ｂとの間の転送レートを抑制するために、描画制御部２００ｂに対して符号化部２２１２および復号部２２１３を設ける必要があり、コストが嵩んでしまう。
【０１０４】
図１０は、従来技術による画像形成装置の第３の例を示す。図１０は、図１の大容量内蔵メモリ２１２内のＣＭＹＫバンドメモリ領域２１２ａを、描画制御部２００ｃの内部に、バンドメモリ２１３０として設けた例である。この構成によれば、描画部２１１とバンドメモリ２１３０とがＡＳＩＣ内部で直接的に接続されるため、描画部２１１とバンドメモリ２１３０とを接続する配線の自由度が高く、十分な転送レートを実現可能である。
【０１０５】
この図１０の例の場合、描画部２１１は、描画を行う際に、描画コマンドを、メインメモリ１０２２内のコマンド領域１０２２ａからバス１０３を介して読み込み（図中の経路Ｆ）、バンド画像の描画を行う。そして、描画部２１１は、描画により生成したバンド画像データを、ＡＳＩＣ内部の配線を介してバンドメモリ２１３０に書き込む（図中の経路Ｇ）。そして、描画部２１１は、バンドメモリ２１３０に書き込まれたバンド画像データを、バス１０３を介してメインメモリ１０２２のページメモリ領域１０２２ｂに転送する（図中の経路Ｈ）。
【０１０６】
すなわち、図１０の例では、描画部２１１は、描画コマンドを、バンド画像の描画毎にバス１０３を介して読み込むことになる。また、バンドメモリ２１３０に書き込まれたバンド画像データは、バス１０３を介してメインメモリ１０２２に転送される。このとき、バンド画像データは、符号化部２２１２で符号化されてデータ容量を圧縮されて、バス１０３を介してメインメモリ１０２２に転送される。また、メインメモリ１０２２から読み出された、圧縮符号化されたバンド画像データは、バス１０３を介して描画制御部２００ｃに供給され、復号部２２１３で復号され、画像処理部２１５で画像処理されてエンジンコントローラ２１４に供給される。
【０１０７】
このように、図１０の例では、描画コマンドおよびバンド画像データの転送が、バンドの描画毎にバス１０３を介してなされることになり、バス１０３の転送レートの低下を招くおそれがある。また、このバス１０３の転送レートの低下を抑制するために、描画制御部２００ｃに対して符号化部２２１２および復号部２２１３を設ける必要があり、コストが嵩んでしまう。
【０１０８】
このように、上述した図８〜図１０の構成では、１ページの画像データの描画に際に、バス１０３における転送レートがボトルネックになり描画速度の高速化が困難になるおそれがある。また、それと共に、図８〜図１０の構成では、描画処理部において符号化部２２１２および復号部２２１３を設ける必要があり、コストが嵩んでしまう。
【０１０９】
これに対して、図１に示した第１の実施形態に係る画像形成装置１では、１ページ分の描画コマンドと、描画したバンド画像データとを格納する大容量内蔵メモリ２１２を、描画制御部２００すなわちＡＳＩＣ内部に設けている。そのため、１ページの描画において行われる、バス１０３を介したメインメモリ１０２に対するアクセスを抑制できる。そのため、バス１０３の転送レートが描画速度のボトルネックとなる事態が抑制される。それと共に、図１の構成によれば、符号化部および復号部も不要となり、コスト的にも有利である。
【０１１０】
（第２の実施形態）
次に、第２の実施形態について説明する。図１１は、第２の実施形態に係る画像形成装置１’の一例の構成を示すブロック図である。なお、図１１において、図１と共通する部分には同一の符号を付して、詳細な説明を省略する。
【０１１１】
図１１において、画像形成装置１’は、画像形成制御部１０’と、プリンタエンジン１１とを含む。画像形成制御部１０’は、メモリコントローラ１１３を内蔵したＣＰＵ部１００と、エンジンコントローラ３１３および描画・画像処理部３１２を備える描画制御部３００とを有し、ＣＰＵ部１００と描画制御部３００は、バス１０３を介して接続されている。また、ＣＰＵ部１００には、ＲＯＭ１０１と、メインメモリ１０２’とが接続される。ＲＯＭ１０１は、この画像形成装置１’を制御するための各種プログラムが予め格納される。
【０１１２】
ＣＰＵ部１００は、図１のＣＰＵ部１００と同様の構成を有し、ＣＰＵ１１０と、ＣＰＵ  Ｉ／Ｆ１１１と、メモリアービタ１１２と、メモリコントローラ１１３と、ＤＭＡＣ１１４と、バスコントローラ１１５と、通信コントローラ１１６とを有する。ＣＰＵ部１００に含まれる各部は、例えば１の集積回路内に一体的に構成される。ＣＰＵ１１０は、ＲＯＭ１０１に格納されるプログラムに従い、この画像形成装置１’の全体の動作を制御する。
【０１１３】
図１１において、ＤＭＡＣ１１４は、ＣＰＵ１１０の命令に従い、メモリコントローラ１１３を介したメインメモリ１０２’に対するダイレクトアクセスや、バス１０３を介した描画制御部３００に対するダイレクトアクセスを制御する。図１１におけるＣＰＵ部１００のＤＭＡＣ１１４以外の構成は、上述の図１の構成と同様であるので、ここでの説明を省略する。
【０１１４】
描画制御部３００は、バスＩ／Ｆ３１０と、画像読込部３１１と、描画・画像処理部３１２と、エンジンコントローラ３１３とを有し、１のＡＳＩＣ内に一体的に構成される。バスＩ／Ｆ３１０は、バス１０３に対するインターフェイスである。描画・画像処理部３１２は、ＰＤＬデータに基づきＣＰＵ１１０により生成された描画コマンドや画像処理パラメータを、バス１０３を介して読み込む。描画・画像処理部３１２は、読み込んだ描画コマンドや画像処理パラメータに従い、描画処理や、描画処理により生成された画像データに対する画像処理を行う。描画され画像処理された画像データは、バス１０３を介してメインメモリ１０２’に供給され、メインメモリ１０２’の指定された位置に書き込まれる。
【０１１５】
画像読込部３１１は、メインメモリ１０２’から、画像処理された画像データを例えばページ単位で読み込み、エンジンコントローラ３１３に転送する。エンジンコントローラ３１３は、転送された画像データをプリンタエンジン１１に供給すると共に、この画像データ基づきプリンタエンジン１１を制御する。プリンタエンジン１１は、エンジンコントローラ３１３の制御に応じて、画像データに従った画像を、印刷用紙などの記録媒体上に形成する。
【０１１６】
図１２を用いて、第２の実施形態に係る画像処理の概要を説明する。図１２は、画像形成装置１’の、実施形態による画像処理における機能を説明するための機能ブロック図である。
【０１１７】
図１２において、メインメモリ１０２’は、ＰＤＬメモリ領域１０２’ａと、描画コマンドメモリ領域１０２’ｂと、描画データメモリ領域１０２’ｃと、画像処理パラメータメモリ領域１０２’ｄと、階調処理後ページ画像メモリ領域１０２’ｅとを含む。ＰＤＬメモリ領域１０２’ａは、ＰＣ２で作成され、通信コントローラ１１６により受信されたＰＤＬデータが格納される。描画コマンドメモリ領域１０２’ｂは、ページ単位、例えば１ページ分の描画コマンドが格納される。描画データメモリ領域１０２’ｃは、描画に用いられる描画データ、例えばビットマップデータによる写真画像データが格納される。階調処理後ページ画像メモリ領域１０２’ｅは、階調処理まで終了した画像データが、ページ単位で書き込まれる。
【０１１８】
以下、図１２を参照しながら説明を行う。例えばＰＣ２において、画像形成を行うためのＰＤＬデータが生成され、画像形成装置１’に対して送信される。このＰＤＬデータは、画像形成装置１’において、通信コントローラ１１６により受信され、メインメモリ１０２’のＰＤＬメモリ領域１０２’ａに格納される。
【０１１９】
描画コマンド生成部３２０は、ＰＤＬメモリ領域１０２’ａに格納されるＰＤＬデータに基づき、画像形成のための画像データを描画（生成）するための描画コマンドと、描画に用いる描画データである写真画像データとをページ単位で生成する。描画コマンド生成部３２０は、生成した例えば１ページ分の描画コマンドを、メインメモリ１０２’の描画コマンドメモリ領域１０２’ｂに記憶する。また、描画コマンド生成部３２０は、生成した例えば１ページ分の描画データを、メインメモリ１０２’の描画データメモリ領域１０２’ｃに記憶する。さらに、描画コマンド生成部３２０は、ＰＤＬデータに基づき後述する画像処理部３１２４で用いる画像処理パラメータを生成し、メインメモリ１０２’の画像処理パラメータメモリ領域１０２’ｄに記憶する。
【０１２０】
なお、描画コマンド生成部３２０は、例えばＣＰＵ１１０上で動作するプログラムにより構成される。
【０１２１】
描画・画像処理部３１２は、バンドコマンド選別部３１２０と、バンドコマンドメモリ３１２１と、描画処理部３１２２と、小バンド画像メモリ３１２３と、画像処理部３１２４とを有する。バンドコマンド選別部３１２０は、描画コマンドメモリ領域１０２’ｂに格納される１ページ分の描画コマンドから、所定の高さ（ライン数）のバンドコマンド領域に対するバンド画像の描画を指示するバンドコマンドを選別する。選別されたバンドコマンドは、バンドコマンドメモリ３１２１に記憶される。
【０１２２】
描画処理部３１２２は、バンドコマンドメモリ３１２１に記憶されるバンドコマンドと、描画データメモリ領域１０２’Ｃに格納される描画データに従い、バンド画像を描画する。このとき、描画処理部３１２２は、バンドコマンド領域よりも高さの低いバンド画像データである小バンド画像データを生成する。描画処理部３１２２は、生成した小バンド画像データを、小バンド画像メモリ３１２３に記憶する。
【０１２３】
画像処理部３１２４は、画像処理パラメータメモリ領域１０２’ｄに記憶される画像処理パラメータに従い、小バンド画像メモリ３１２３に記憶された小バンド画像データに対して階調処理などの所定の画像処理を施す。画像処理部３１２４は、画像処理を施した小バンド画像データを、メインメモリ１０２’の階調処理後ページ画像メモリ領域１０２’ｅに記憶する。
【０１２４】
上述のバンドコマンド選別部３１２０〜画像処理部３１２４による処理は、バンドコマンドメモリ３１２１に記憶されたバンドコマンドによる描画高さの描画が終了するまで繰り返される。
【０１２５】
例えばＣＰＵ１１０は、１ページ分の描画処理が終了したか否かを判定し、終了していないと判定した場合、バンドコマンド選別部３１２０によるバンドコマンドの選別処理を行う。また、ＣＰＵ１１０は、１ページ分の描画処理が終了したと判定した場合、画像読み込み部３１１に対して、階調処理後ページ画像メモリ領域１０２’ｅに記憶される１ページのページ画像データの読み込みを指示する。
【０１２６】
画像読込部３１１は、この指示に応じて、階調処理後ページ画像メモリ領域１０２’ｅからページ画像データを読み込んでエンジンコントローラ３１３に転送する。エンジンコントローラ３１３は、転送されたページ画像データをプリンタエンジン１１に出力する。プリンタエンジン１１は、エンジンコントローラ３１３から出力されたページ画像データに従い印刷用紙などの記録媒体に対して画像を形成する。
【０１２７】
図１３および図１４を用いて、第２の実施形態に係る小バンド画像メモリ３１２３について説明する。図１３は、第２の実施形態に係る小バンド画像メモリ３１２３の一例の構成を示す。ここで、バンドコマンドにより高さ（ライン数）Ｈの領域を対象に描画が行われるものとする。この、バンドコマンドにより描画が行われる領域を、バンドコマンド領域と呼ぶことにする。小バンド画像メモリ３１２３は、この高さＨのバンドコマンド領域よりもライン数が少ない、高さｈの小バンド画像データを格納するメモリである。
【０１２８】
ここで、高さＨ＝高さｈ×ｍ（ｍは２以上の整数）とすると、１のバンドコマンドにより描画されるバンド画像データは、ｍ回に分けて小バンド画像メモリ３１２３に書き込まれることになる。一例として、バンドコマンドにより描画されるバンド画像データの高さが５１２ライン、小バンド画像データの高さｈを６４ラインとした場合について考える。この場合、小バンド画像メモリ３１２３は、６４ライン分の画像データを格納可能な容量を有し、バンド画像データは、８回に分けて、それぞれ高さｈの小バンド画像データとして小バンド画像メモリ３１２３に書き込まる。
【０１２９】
解像度が６００ｄｐｉでＡ４サイズの画像データによる画像形成を行う場合、１ラインに含まれる画素数が例えば６７６０画素となる。各画素がＲＧＢ各色の値と、画素の属性情報Ａとを有するＲＧＢＡデータからなり、各値が８ビットのビット深度を持つ場合、各画素のビット数が３２ビットとなる。この場合、１ラインのデータ量が略２７ｋＢ（キロバイト）となり、５１２ライン分のバンド画像データを格納するためには、略１３．８ＭＢ（メガバイト）の容量が必要となり、描画制御部３００が構成されるＡＳＩＣに内蔵させることが困難である。これに対して、小バンド画像メモリ３１２３は、６４ライン分の略１．７ＭＢの容量で足り、当該ＡＳＩＣに容易に内蔵可能である。
【０１３０】
図１４は、第２の実施形態に係る、ページ、バンドコマンド領域および小バンド画像データの一例の関係を示す。図１４の例では、水平および垂直方向（すなわちページ幅およびページ高さ方向）の解像度を、それぞれ６００ｄｐｉおよび４００ｄｐｉとし、ページ高さＬを４７４０ライン、ページ幅Ｗを６７６０画素としている。バンドコマンド領域の高さＨを５１２ラインとした場合、１ページは、９のバンドコマンド領域と、１３２ラインのみが含まれるバンドコマンド領域からなる。１ページの描画は、バンドコマンドによるｎ回の描画により、バンドコマンド領域＃１、＃２、…、＃ｎのｎ個のバンドコマンド領域に分割して行われる。
【０１３１】
なお、以下では、１ページ内のライン位置をＹ座標とし、Ｙ座標の原点をページの先頭（図１４におけるページの上端）のラインとする。Ｙ座標の値は、ページの下方向に向けてライン毎に増加していくものとする。各バンドコマンド領域＃１〜＃ｎの範囲、ならびに、小バンド画像メモリ３１２３に書き込まれる画像データの範囲は、１ページ内のＹ座標により表現される。また、各ラインにおいて、画素の位置をＸ座標とし、Ｘ座標の原点をページの左端とする。Ｘ座標の値は、ラインの右方向に向けて画素毎に増加していくものとする。
【０１３２】
第２の実施形態では、１のバンドコマンドにより、小バンド画像メモリ３１２３を単位として描画が行われる。小バンド画像メモリ３１２３に描画される小バンド画像データの高さｈ＝６４ライン、バンドコマンド領域の高さＨ＝５１２ラインの場合、１のバンドコマンドによる描画は、８の小バンド画像データ＃１〜＃８に分割されて行われる。
【０１３３】
各小バンド画像データ＃１〜＃８は、順次、小バンド画像メモリ３１２３に書き込まれ、読み出される。例えば、バンドコマンド領域＃１に対応するバンドコマンド（バンドコマンド＃１とする）によりライン毎に描画が行われ、例えば小バンド画像データ＃１の各ラインが小バンド画像メモリ３１２３に書き込まれる。１ライン目〜６４ライン目までの書き込みが終了すると、書き込まれた小バンド画像データ＃１が小バンド画像メモリ３１２３から読み出される。続けて、バンドコマンド＃１により６５ライン目〜１２８ライン目の描画が行われ、小バンド画像メモリ３１２３に６５ライン目からの小バンド画像データが順次書き込まれる。この処理が、バンドコマンド＃１による全ラインの描画が終了するまで繰り返される。上述の処理が、各バンドコマンド＃２〜＃ｎについて順次繰り返される。
【０１３４】
以上説明したように、第２の実施形態によれば、ページの描画を行う描画コマンドを、メインメモリ１０２’から、描画制御部３００に含まれるバンドコマンドメモリ３１２１に転送し、この描画コマンドに従い描画制御部３００内でバンド画像の描画を行う。このとき、例えば６４ライン分の小バンド画像データを格納する小バンド画像メモリ３１２３に、複数回に分けてバンド画像の描画を行なう。これにより、バンド画像の描画を行うバンドメモリの容量を小さくすることができ、バンドメモリを描画制御部３００内に設けることが可能となる。そのため、バンド画像の描画をバス１０３を介さずに描画制御部３００内で実行することが可能となり、描画処理をより高速に実行できる。
【０１３５】
また、第２の実施形態によれば、小バンド画像を描画する描画コマンドをバンドコマンドメモリ３１２１に格納している。そのため、メインメモリ１０２’からの描画コマンドの読み込みを、バス１０３を介して何度も行う必要が無く、アイドル時間を抑制でき、バス１０３の転送レートが低下する事態を回避することが可能である。
【０１３６】
さらに、第２の実施形態によれば、描画制御部３００内に設けられるバンドコマンドメモリ３１２１に描画コマンドのみを格納し、描画データ(写真画像のソース画像データなど)とは別にしている。そのため、バンドコマンドメモリ３１２１は、小さい容量のメモリで構成できる。
【０１３７】
さらにまた、第２の実施形態によれば、小バンド画像メモリ３１２３に対する描画が終了後、描画され小バンド画像メモリ３１２３に格納される小バンド画像データに対して直接的に画像処理を行うようにしている。そのため、描画された小バンド画像データをバス１０３を介してメインメモリ１０２’に転送する必要が無く、バンド画像の転送に伴うバス１０３の転送レートの低下が回避できる。
【０１３８】
また、メインメモリ１０２’にバンド画像データを格納する必要が無いので、メインメモリの容量を削減することが可能である。
【符号の説明】
【０１３９】
１，１’，１０００ａ，１０００ｂ，１０００ｃ  画像形成装置
１０  画像形成制御部
１１  プリンタエンジン
１００  ＣＰＵ部
１０１  ＲＯＭ
１０２，１０２’，１０２０，１０２１，１０２２  メインメモリ
１０３  バス
１１０  ＣＰＵ
１１２  メモリアービタ
２００，２００ａ，２００ｂ，２００ｃ，３００  描画制御部
２１１  描画部
２１２  大容量内蔵メモリ
２１２ａ  ＣＭＹＫバンドメモリ領域
２１２ｂ  コマンド領域
３１２  描画・画像処理部
３２０  描画コマンド生成部
２１１０  コマンドＤＭＡ部
２１１１  描画ページコマンドメモリ領域
２１１２，３１２２  描画処理部
２１１３  ＣＭＹＫバンドメモリ領域
２１１４  バンドＤＭＡ部
２１１７  コマンド解析部
３１２０  バンドコマンド選別部
３１２１  バンドコマンドメモリ
３１２３  小バンド画像メモリ
【先行技術文献】
【特許文献】
【０１４０】
【特許文献１】特開２００８−０２３９５９号公報
【特許文献２】特許第４８３３７７０号公報
【特許文献３】特開２００５−３０９８６５号公報
【図１】
2014184712.tif 000003
【図２】
2014184712.tif 000004
【図３】
2014184712.tif 000005
【図４】
2014184712.tif 000006
【図５】
2014184712.tif 000007
【図６】
2014184712.tif 000008
【図７】
2014184712.tif 000009
【図８】
2014184712.tif 000010
【図９】
2014184712.tif 000011
【図１０】
2014184712.tif 000012
【図１１】
2014184712.tif 000013
【図１２】
2014184712.tif 000014
【図１３】
2014184712.tif 000015
【図１４】
2014184712.tif 000016