(57)【要約】【課題】画像処理装置において、メモリ容量を大きくせずに、しかも処理速度を低下させずに半透明処理を実現する。【解決手段】画像処理装置であって、ページ記述言語を解析して描画コマンドを生成するＣＰＵ１と、ＣＰＵ１により生成された描画コマンドを記憶するメインメモリ１８と、メインメモリ１８により記憶された描画コマンドを読み込み、１プレーンの色情報と半透明処理用のプレーンの画像を描画する描画処理部１１と、描画処理部１１により描画された前記１プレーンの色情報と前記半透明処理用のプレーンの画像を記憶するバンドメモリ１２と、バンドメモリ１２により記憶された１プレーンの色情報を記憶するメインメモリ１８と、を有する。【選択図】図１
2014239304.tif 000002
【特許請求の範囲】
【請求項１】
ページ記述言語を解析して描画コマンドを生成する描画コマンド生成手段と、
前記描画コマンド生成手段により生成された描画コマンドに基づき、１プレーンの画像の色情報と半透明処理用のプレーンの画像を描画する描画処理手段と、
前記描画処理手段により描画された前記１プレーンの画像の色情報と前記半透明処理用のプレーンの画像を記憶する第１の画像記憶手段と、を有し、
前記描画処理手段は、前記１プレーンの画像の色情報と前記半透明処理用のプレーンの画像毎に繰り返し描画することを特徴とする画像処理装置。
【請求項２】
請求項１に記載された画像処理装置において、
前記１プレーンの画像の色情報の画像データを転送する画像データ転送手段と、
前記画像データ転送手段により転送された前記画像データを記憶する第２の画像記憶手段と、を有し、
前記画像データ転送手段は、前記１プレーンの画像の色情報の描画毎に繰り返し転送することを特徴とする画像処理装置。
【請求項３】
請求項１に記載された画像処理装置において、
前記描画処理手段は、半透明処理用の半透明値及び描画する１プレーンの画像の色値とに基づき半透明処理を行うことを特徴とする画像処理装置。
【請求項４】
請求項２に記載された画像処理装置において、
前記第２の画像記憶手段により記憶された前記画像データを読み込み、印刷のための画像処理を行う画像処理手段と、
前記画像処理手段により画像処理された画像データを記憶する第３の画像記憶手段と、を有することを特徴とする画像処理装置。
【請求項５】
請求項１ないし３のいずれかに記載された画像処理装置において、
プリンタコントロール部と、画像処理回路部と、前記プリンタコントロール部が制御する主記憶手段を有し、
プリンタコントロール部は、前記描画コマンド生成手段を有し、
前記画像処理回路部は、前記描画処理手段及び第１の画像記憶手段を有し、
前記主記憶手段は、第２の画像記憶手段を有することを特徴とする画像処理装置。
【請求項６】
請求項４に記載された画像処理装置において、
プリンタコントロール部と、画像処理回路部と、前記プリンタコントロール部が制御する主記憶手段を有し、
前記主記憶手段は、前記第３の画像記憶手段を有することを特徴とする画像処理装置。
【請求項７】
請求項５又は６に記載された画像処理装置において、
前記画像処理回路部は、ＡＳＩＣであることを特徴とする画像処理装置。
【請求項８】
ページ記述言語を解析して描画コマンドを生成する描画コマンド生成工程と、
前記描画コマンド生成工程において生成された描画コマンドに基づき、１プレーンの画像の色情報と半透明処理用のプレーンの画像を描画する描画処理工程と、
前記描画処理工程において描画された前記１プレーンの画像の色情報と前記半透明処理用のプレーンの画像を第１の画像記憶手段に記憶する記憶工程と、を有し、
前記描画処理工程では、前記１プレーンの画像の色情報と前記半透明処理用のプレーンの画像毎に繰り返し描画を行うことを特徴とする画像処理方法。
【請求項９】
請求項８に記載された画像処理方法において、
前記１プレーンの画像の色情報の画像データを転送する画像データ転送工程と、
前記画像データ転送工程において転送された前記画像データを第２の画像記憶手段に記憶する記憶工程と、を有し、
前記画像データ転送工程では、前記１プレーンの画像の色情報の描画毎に繰り返し転送することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
従来のページプリンタなどの画像処理装置において、画像の解像度の増加とプリンタ速度に対する高速の要求から、ＣＰＵ（Central Processing Unit）の性能のみではこの要求を満たすことが難しくなった。そのため、プリンタ描画処理や画像処理をハードウエアで行うようになってきている。
このプリンタ描画処理には、高速化メモリアクセスが必要であり、専用のメモリを有することが知られている。
【０００３】
一方、プリンタ描画処理のコストダウンをはかる方法として、ＰＣ（Persoal Computer）やゲームなどでは、画面サイズがＶＧＡ（Video Graphic Array）程度の場合は、フレームメモリが小さいために、フレームメモリのＳＲＡＭ（Static Random Access Memory）として、ＡＳＩＣ（Application Specific Integrated Circuit）に内蔵することが知られている。
しかし、プリンタの場合は、600dpiのＡ４サイズであれば、6800×4720画素程の大きなサイズが必要である。このように大きなサイズのメモリをＡＳＩＣに内蔵することはできない。
【０００４】
他方、近年の半導体プロセスの発達により、メインメモリのＤＲＡＭ（Dynamic Random Access Memory）は高速化され、また、それに伴い、ＣＰＵとメモリコントローラ間の高速な転送レートが要求される。そのため、プリンタコントロール部を製造するメーカーは図９に示すような、メモリコントローラ４を内蔵した汎用ＣＰＵ１７を製造し始めている。
このようなメモリコントローラ４を内蔵した汎用ＣＰＵ１７をプリンタコントロール部として使用する場合は、図９に示すように汎用ＣＰＵ１７のバス１９に画像処理のためにＡＳＩＣ２０を接続することが考えられる。
なお、図９に示す汎用ＣＰＵ１７については、本発明の実施形態ではプリンタコントロール部として使用して後述する。
【０００５】
ところで、ＰＤＬ（Page Description Language；ページ記述言語）の１種であるＸＰＳ（eXtensible markup language Paper Specification）では、半透明の描画をサポートしている。半透明描画処理は、設定された処理パラメータ（半透明値）に従って、半透明にした画像同士を重ね合わせる処理である。この処理に当たっては、バンド画像のＲ（レッド）、Ｇ（グリーン）、Ｂ（ブルー）の半透明値（24bit）と半透明値（8bit）をピクセルごと保存する必要がある。
【０００６】
例えば、図９に示す汎用ＣＰＵ１７をプリンタコントロール部として使用する際に、ＡＳＩＣ２０に描画処理部１１を有する場合は、メインメモリ１８のバンドメモリにバス１９を介してアクセスする必要がある。この場合、細かなメモリアクセスが多発し、バス転送レートが本来の性能を発揮することはできない。また、他のバスを介して処理するハードの影響が大きくなる。そのため、図９のＡＳＩＣ２０にローカルなメモリ（ローカルメモリ）２８を持たせる構造（図１０）が考えられるが、このローカルメモリ２８の分だけコストが高くなる。
【０００７】
また、ＡＳＩＣ２０にバンドメモリを内蔵する方式も考えられるが、600dpiのＡ４サイズの容量は128MB（メガバイト）の大きさがあり、この大きさではＡＳＩＣ２０に内蔵することは難しく、また、ＡＳＩＣ２０のコストを上昇させる。
そのため、Ｒ、Ｂ、Ｇの各バンド単位でＡＳＩＣ２０に格納することも考えられるが、例えばバンド高さが256ラインであれば、７MBものメモリが必要になる。
また、バンド高さを低くすれば、バンド容量は小さくなるが、バンドの数が多くなり、ＣＰＵ１がバンド用の描画コマンドを生成する時間が長くなるために、バンド高さを小さくすることも難しい。
【０００８】
つまり、図１０に示すようなローカルメモリ２８を備えたＡＳＩＣ２０を使用して、ＡＳＩＣ２０側でプリンタ画像を描画する場合は、ローカルメモリ２８のコスト上昇が懸念される。また、汎用ＣＰＵ１７の性能上昇を図り、汎用ＣＰＵ１７側で描画する場合は、汎用ＣＰＵ１７のコスト上昇が懸念される。
【０００９】
従来のメモリコントローラ４を内蔵した汎用ＣＰＵ１７において、図９、１０に示すようにバス１９を介して、メインメモリ１８にアクセスする場合、データをシリアルに転送することは効率が良い。しかし、描画処理などでは、色々な部分に細かなランダムなアクセスが多く発生し、効率よくメモリのアクセスができない。そのために、描画処理などに多くの時間を費やし、バスの転送レートを低下させ、他のハードウエアのメモリアクセスの邪魔になるという問題がある。
また、ソフトウエアのみで描画する場合、多くのメモリアクセスが必要であるので、高価なＣＰＵを使用せざるを得ない。
また、図１０のようにＡＳＩＣ２０が描画用のローカルメモリ２８を占有する方式も考えられるが、これらの方法は専用のメモリを有するためにコストが上昇するという問題がある。
【００１０】
なお、本発明の関連発明が記載された特許文献１には、低価格なＣＰＵで印字スピードを向上させることを目的に、プリンタの多値ＲＧＢ情報をソフトウエアでバンド画像に描画し、画像処理をハードウエアで実現する方法が開示されている（段落（００５５）−（００６７））。特許文献２には、ソフトウエアでＸＰＳの半透明処理を高速化するためのＸＰＳによる半透明描画処理方法が記載されている（段落（００２８）−（００２９））。また、特許文献３には、低価格なＣＰＵで印字スピードを向上させることを目的に、メモリが近い構成での描画処理部により、描画性能を高める方法が開示されている（段落（００７５）−（００７７））。
【００１１】
しかし、ＣＰＵで描画し、画像処理をハードウエアで処理しようとすると、ＣＰＵのコストが上昇するという問題や、ローカルメモリを用いて処理しようとするとコストが上昇するとの問題は解決されていない。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
本発明は、前記従来の問題に鑑みてなされたものであって、その目的は、画像記憶手段の容量を大きくせず、処理速度を低下させずに半透明処理を実現することである。
【課題を解決するための手段】
【００１３】
本発明は、ページ記述言語を解析して描画コマンドを生成する描画コマンド生成手段と、前記描画コマンド生成手段により生成された描画コマンドに基づき、１プレーンの画像の色情報と半透明処理用のプレーンの画像を描画する描画処理手段と、前記描画処理手段により描画された前記１プレーンの画像の色情報と前記半透明処理用のプレーンの画像を記憶する第１の画像記憶手段と、を有し、前記描画処理手段は、前記１プレーンの画像の色情報と前記半透明処理用のプレーンの画像毎に繰り返し描画することを特徴とする画像処理装置である。
【発明の効果】
【００１４】
本発明によれば、１つのカラープレーンと半透明のプレーンの小さい画像記憶手段を用いて、ランダムなメモリアクセスをこの画像記憶手段で行うようにしたので、画像記憶手段の容量を大きくせずに、処理速度を低下させずに半透明処理を実現することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係る画像処理装置のプリンタコントロールボードのブロック図である。
【図２】図１に示すプリンタコントロールボードの処理を概略的に示す図である。
【図３】ＡＳＩＣに内蔵されたバンドメモリの１例を示す図である。
【図４】描画処理部のブロック図である。
【図５】各描画コマンドのフォーマットの１例を示す図である。
【図６】描画処理部による描画処理の手順を示すフロー図である。
【図７】図６のフロー図におけるステップＳ１０５の描画処理手順を示すサブルーチンのフロー図である。
【図８】画像処理部の画像処理の手順を示すフロー図である。
【図９】従来の画像処理装置である。
【図１０】従来の画像処理装置である。
【発明を実施するための形態】
【００１６】
本発明の画像処理装置は、プリンタ描画処理と半透明処理を行うに際して、以下の特徴を有する。
即ち、本発明は、Ｒ、Ｇ、Ｂのうちの１つのカラープレーンと、半透明のプレーンの小さい画像記憶手段であるメモリを用いる。これにより、ランダムなメモリアクセスをこのメモリで行うことに特徴を有する。
以下、その実施形態について、図面を用いて詳細に解説する。
【００１７】
図１は、本発明の実施形態に係る画像処理装置のプリンタコントロールボード２４のブロック図である。
プリンタコントロールボード２４は、汎用ＣＰＵ（ここでは、プリンタコントロール部という）１７と、画像処理回路部（ここでは、ＡＳＩＣ２０）と、ＲＯＭ１６と、主記憶手段であるメインメモリ１８と、パネルコントロール部２１と、パネル２２とからなっている。パネルコントロール部２１は、バスＩ／Ｆ（インタフェース）１４とパネルコントローラ１５とから成っている。
【００１８】
プリンタコントロール部１７は、図１に示すように、ＣＰＵ１及び内蔵のメモリコントローラ４を含む各種コントローラなどで構成されている。
ここで、ＣＰＵ１は、プリンタコントロールボード２４全体の制御、及びＰＣ２３から送られてくるＰＤＬデータを解析し、本発明の描画処理手段である描画処理部１１の描画コマンドを生成することなどを行う。
ＣＰＵ＿Ｉ／Ｆ２は、ＣＰＵ１のインタフェースであり、メモリアービター（メモリＡＲＢ）３を介してメモリコントローラ４や各種コントローラと接続されている。
メモリアービター３は、メインメモリ１８と各種コントローラ間の調停を行う。
メモリコントローラ４は、メインメモリ１８をコントロール（制御）し、メモリアービター３を介して、各種コントローラやＣＰＵ１と接続されている。
【００１９】
ＤＭＡ（Direct Memory Access）５は、メモリコントローラ４とバス１９に接続されたＡＳＩＣ２０のエンジンコントローラ９間のダイレクトメモリアクセスを行う。
バスコントローラ６は、バス１９とつながる各周辺コントローラに対するバスの調停を行う。
通信コントローラ７は、ネットワークに接続されており、ネットワークから各種データやコマンドなどを受け取り、メモリアービター３を介して各種コントローラに接続されている。
【００２０】
ＲＯＭ１６は、各種プログラムや、文字などのフォント情報を格納している。
メインメモリ１８は、描画コマンドや、その画像処理後の画像データや、ＣＰＵ１のプログラムなどを格納している。
バス１９は、プリンタコントロール部１７と画像処理部１３とを接続する。
【００２１】
ＡＳＩＣ２０は、メインメモリ１８に格納された画像データなどを、バス１９を介して読み込み画像処理を行い、バス１９を介してメインメモリ１８へ転送する。
バスＩ／Ｆ８は、バス１９のＩ／Ｆでありプリンタコントロール部１７と接続されている。
画像読み込み部１０は、メインメモリ１８に格納された画像データを、エンジンコントローラ９へ転送する。
【００２２】
エンジンコントローラ９は、プリンタエンジン２５をコントロールする。
描画処理部１１は、ＣＰＵ１により生成された描画コマンドを読み込み、ＡＳＩＣ２０に内蔵された、本発明の第１の画像記憶手段に対応するバンドメモリ１２のバンドプレーンに描画処理を行い、描画処理結果をメインメモリ１８の指定された位置（第２の画像記憶手段に対応するＲ、Ｇ、Ｂプレーンバンドメモリ領域１８（３）；図２）へ書き込む。
画像処理部１３は、Ｒ、Ｇ、Ｂプレーンバンドメモリ領域１８（３）に格納された、Ｒ、Ｇ、Ｂのバンドプレーンの画像データを順次読み込み画像処理を行い、メインメモリ１８（の本発明の第３の画像記憶手段に対応する階調処理後ページ画像メモリ領域１８（５））に画像処理後の画像データを転送する。
【００２３】
ＡＳＩＣ２０に内蔵されたバンドメモリ１２は、Ｒ、Ｇ、Ｂのうちの１つの版のプレーンと、本発明の画像処理用のプレーンに対応する半透明プレーンを格納する。ここで、１つの版のプレーンのみを格納する理由は、ＡＳＩＣ２０に搭載するメモリ容量が限られ、大き過ぎるとＡＳＩＣ２０のコストに影響し、バンド高さも低いと描画コマンド数が多くなり、ソフトウエアの処理スピードが低下して、描画スピードに影響するためである。そのために、バンドメモリ１２は、最低限の１つの版のプレーンと半透明演算を行うために対応する半透明プレーンのみを格納している。
【００２４】
この２つのプレーンで済む理由は、後述する半透明演算式から明らかなように、半透明演算は、Ｒ、Ｇ、Ｂのうちの１つのカラープレーンの画像情報（色情報）とバンドの半透明値で演算される。例えば、Ｒプレーンを演算するには、Ｒプレーンの色情報（色値）と半透明のバンドの半透明値のみで演算され、Ｇ、Ｂプレーンは必要がないからである。
【００２５】
プリンタエンジン２５は、プリントを実行するためのプリンタエンジンある。
パネルコントロール部２１のバスＩ／Ｆ１４は、パネルコントローラ１５のデータをメモリコントローラ４内蔵のプリンタコントロール部１７へ転送する。
パネルコントローラ１５は、パネル２２をコントロールする。
パネル２２は、ユーザーからの操作を受け付け、操作内容をプリンタコントロール部１７に伝える。
ＰＣ２３は、ユーザーの印字操作を受け付けてＰＤＬを生成する。
プリンタコントロールボード２４は、プリンタをコントロールする。
【００２６】
本実施形態では、このように１つのプレーンの画像情報（色情報）と半透明処理用プレーン（半透明プレーンという）の画像情報（半透明値）のみで描画するため、バンドメモリが２つで済む。その結果、図１のバンドメモリ１２をＡＳＩＣ２０に内蔵することができ、図１０に示すローカルメモリ２８を有する必要がなく、メモリ容量を大きくせずに半透明処理を行うことができる。また、図１０のローカルメモリ２８のような外部メモリを必要としないためコストダウンを実現できる。
【００２７】
図２は、図１に示すプリンタコントロールボード２４の処理を概略的に示す図である。
ＰＣ２３は、ＰＤＬデータを生成し、ネットワークを介してプリンタコントロールボード２４のプリンタコントロール部１７へ転送する。
通信コントローラ７の通信処理部７（１）は、ＰＣ２３からのＰＤＬデータを受け取り、メインメモリ１８のＰＤＬメモリ領域１８（１）へ格納する。
【００２８】
ＣＰＵ１は、ＰＣ２３から転送されＰＤＬメモリ領域１８（１）へ格納されたＰＤＬデータを解析し、描画処理部１１の描画コマンドや、画像処理部１３の画像処理パラメータを生成する。
ＣＰＵ１は、描画コマンドを描画コマンドメモリ領域１８（２）に書き込み、画像処理パラメータを、メインメモリ１８の画像処理パラメータメモリ領域１８（４）へ書き込む。即ち、描画コマンドメモリ領域１８（２）には、ＰＤＬデータに基づきＣＰＵ１で生成された描画コマンド（グラフィックスコマンドや写真描画コマンドやバンド定義のコマンドなど）が格納される。
【００２９】
描画処理部１１は、描画コマンドメモリ領域１８（２）の描画コマンドを読み込み、描画処理してＡＳＩＣ２０に内蔵されたバンドメモリ１２に、Ｒ、Ｇ、Ｂのうちの１つのプレーン（例えば、Ｒプレーンなど）のバンド画像と半透明のバンド画像を描画する。
Ｒ、Ｇ、Ｂプレーンバンドメモリ領域１８（３）は、描画処理部１１により描画され、ＣＰＵ１の機能実現手段である画像データ転送手段により転送された画像データを格納する。なお、メモリを節約するためにはプレーンごとに描画するのが好ましいが、半透明処理を行うために半透明プレーンも同時に描画する。
【００３０】
画像処理パラメータメモリ領域１８（４）は、既に述べたように画像処理パラメータを格納する。画像処理部１３は、これも既に述べたように、Ｒ、Ｇ、Ｂプレーンバンドメモリ領域１８（３）に格納されたＲ、Ｇ、Ｂのバンドプレーンの画像データを順次読み込み画像処理（印刷のための画像処理；階調処理、ＹＭＣＫ（Ｙ；イエロー、Ｍ；マゼンタ、Ｃ；シアン、Ｋ；ブラック）への色変換処理）を行い、本発明の第３の画像記憶手段である階調処理後ページ画像メモリ領域１８（５）に画像処理後の画像データを転送する。
【００３１】
図３は、図１のＡＳＩＣ２０に内蔵されたバンド画像メモリ（以下、単に、バンドメモリという）１２の１例を示す図である。
このバンドメモリ１２は、図３に示すように、Ｒ、Ｇ、Ｂのうちの１色のプレーンバンド領域と半透明プレーン領域とから成り、プレーン領域（バンド）の高さは、この例では、128ライン、幅は、6760画素である。このバンドメモリは、１プレーンの１色の版と半透明の画像データを記憶している。このバンドメモリ１２は、Ｒ、Ｇ、Ｂ、半透明のピクセル（ＰＩＸＥＬ）画像データの半分の容量で済む。例えば、128ラインの場合は600dpi時に1.7MBの容量で済む。
【００３２】
ここで、半透明プレーンを必要とする理由は、ＸＰＳの後述の半透明演算式において、ディスティネーション半透明値（描画先の半透明値）が必要とされるためである。
つまり、後述の半透明演算式において、Ｒ、Ｇ、Ｂの各カラーを描画する場合に、半透明プレーンも描画の度に値（半透明値）が更新されるので必要となる。そのため、本実施形態では、Ｒ、Ｇ、Ｂの少なくとも１プレーンと半透明プレーンを有し、Ｒ、Ｇ、Ｂの少なくとも１プレーンと半透明プレーンを同時に描画することで半透明処理を実現している。これによりメモリ容量を低減させている。
【００３３】
図４は、描画処理部１１のブロック図である。
メモリアービターＩ／Ｆ１１（１）は、バスＩ／Ｆ８との入力Ｉ／Ｆである。
コマンド解析部１１（２）は、描画コマンドを読み込み、描画コマンドを解析し、描画部１１（３）にパラメータを転送して起動させ、描画終了後に次のコマンドを解析する。描画部１１（３）は、コマンド解析部１１（２）から描画コマンドのパラメータを受け取り、バンドメモリ１２へＲ、Ｇ、Ｂのうちの１つのプレーンのバンド画像（バンドプレーン画像）と半透明の画像を描画する。
【００３４】
バンドメモリ１２は、図３に示すように、例えば128ラインという高さの低い（因みに、600dpiのＡ４のページの高さは4720ラインもある）バンド画像データ（Ｒ、Ｇ、Ｂのうちの１つのプレーンのバンド画像データと半透明の画像データ）を格納する。
なお、図４に示すように、メモリアービターＩ／Ｆ１１（１）からバスＩ／Ｆ８にメモリリクエスト信号、メモリアドレス、ライトデータを転送し、逆にバスＩ／Ｆ８側からメモリアービターＩ／Ｆ１１（１）側には、前記メモリリクエストに対してアクセスの許可を与えるメモリアック信号、メモリのリードデータを転送する。また、コマンド解析部１１（２）からメモリアービターＩ／Ｆ１１（１）にアドレスを転送し、メモリアービターＩ／Ｆ１１（１）からコマンド解析部にデータを転送する。コマンド解析部１１（２）から描画部１１（３）へは、描画部用パラメータと描画部用起動信号を、逆に描画部１１（３）からコマンド解析部１１（２）へは描画終了信号を転送する。
描画部１１（３）からＲ、Ｇ、Ｂ／半透明画像のバンドメモリ１２へはアドレスを転送し、また、Ｒ、Ｇ、Ｂ／半透明画像のバンドメモリ１２と描画部１１（３）間でＲ、Ｇ、Ｂ／半透明画像の色情報の転送が相互に行われる。具体的には図６、７などに関連して後述する。
【００３５】
図５は、各描画コマンドのフォーマットの１例を示す図である。
即ち、図５に示す描画コマンドのフォーマットは、ＣＰＵ１でＰＤＬデータから変換して生成した各描画コマンドのフォーマットであり、32bitで構成されている。描画コマンドは、描画処理部１１のコマンド解析部１１（２）（図４）で解析され、描画部１１（３）で実行（描画）される。
【００３６】
描画コマンドは、描画ハードパラメータ設定コマンドと、グラフィックス描画コマンドと写真画像描画コマンドとに分けることができる。
図５Ａ、Ｂは、描画ハードパラメータ設定コマンドのフォーマットである。描画ハードパラメータ設定コマンドは、各種の描画パラメータのパラメータを設定するコマンドである。即ち、描画ハードパラメータ設定コマンドのうち、図５Ａはバンド初期化コマンドであり、先頭にバンド情報設定コマンドヘッダが設けられ、コマンドの内容としてバンドの先頭アドレスとバンド高さと幅を定義している。このバンド初期化コマンドは、バンドを初期値の“白”に初期化する。図５Ｂはバンド終了コマンドであって、定義したバンドの描画の終了を意味する。図４のコマンド解析部１１（２）は、このバンド終了コマンドを受け取ると描画処理を終了し、画像処理を指示する。
【００３７】
グラフィックス描画コマンドは、グラフィックス描画を実行するためのコマンドである。写真画像描画コマンドは、写真画像描画を実行する為のコマンドである。
図５Ｃは、グラフィックス描画コマンドの四角形描画コマンドの1例であり、指定された四角形の左上のＸ座標から右下のＹ座標までの四角形を描画する。
【００３８】
次に、バンドメモリ１２に書き込む描画後のディスティネーション半透明値と描画後のディスティネーション色値（カラー値）を算出する半透明演算式について説明する。
即ち、
Ａｓ：ソースデータの半透明値（図５Ｃの描画コマンドの半透明値）、
Ａｄ：ディスティネーション半透明値（描画先、つまりバンドメモリ１２の半透明値）、
Ａｄ’：描画後のディスティネーション半透明値（バンドメモリ１２へ書き込む半透明値）、
Ｃｓ：ソースデータの色値（図５Ｃの描画コマンドの色値）、
Ｃｄ：ディスティネーション色値（バンドメモリ１２の色値）、
Ｃｄ’：描画後のディスティネーション色値（バンドメモリ１２へ書き込む色値）、
とすると、
Ａｄ’及びＣｄ’は、それぞれ例えば下記式（１）及び式（２）に基づいて算出することができる。
Ａｄ’＝  （１−Ａｓ）＊Ａｄ＋Ａｓ  ・・・式（１）、
Ｃｄ’＝  （（１−Ａｓ）＊Ａｄ＊Ｃｄ＋Ａｓ＊Ｃｓ）／Ａｄ’・・・式（２）
【００３９】
バンドメモリ１２は、描画処理部１１で描画されたバンド画像を格納する。１版のプレーンの描画処理が完了すると、その度毎に１版のＲ、Ｇ、Ｂプレーンの画像情報（色情報；色値；Ｃｄ’）のみをメインメモリ１８のＲ、Ｇ、Ｂプレーンバンドメモリ領域１８（３）に転送する。なお、この時、半透明画像情報（半透明値；Ａｄ’）を転送しないのは、半透明プレーンは上記の式で１版のＲ、Ｇ、Ｂプレーンの画像情報（色値；Ｃｄ’）の生成のみに使用するワーク情報であるためである。
【００４０】
１版の例えば、Ｒプレーンを転送した後に、同様に他の版の例えば、Ｇ、Ｂプレーンを１版と同様に版ごとに半透明演算と描画を行う。半透明演算式で半透明演算を行った後に、各版をメインメモリ１８のＲ、Ｇ、Ｂプレーンバンドメモリ領域１８（３）に転送する。この時、バス１９を介して、Ｒ、Ｇ、Ｂプレーンバンドメモリ領域１８（３）のアドレスにシリアルに順次アクセスするメモリアクセスを行うために効率よく転送することができる。
全ての版（Ｒ、Ｇ、Ｂプレーン）の転送が完了すると、次のページのバンド処理となり、この処理も同様にページが完了するまで繰り返す。
【００４１】
描画処理部１１によるページ分の描画処理が完了すると、既に述べたように画像処理部１３は、メインメモリ１８の画像処理パラメータメモリ領域１８（４）から画像処理パラメータを読み込む。同時に、画像処理部１３は、Ｒ、Ｇ、Ｂプレーンバンドメモリ領域１８（３）からＲ、Ｇ、Ｂの画像データを読み込んで画像処理（階調処理、色変換処理）を行い、本発明の第３の記憶手段である、メインメモリ１８の階調処理後ページ画像メモリ領域１８（５）へＲ、Ｇ、Ｂの画像を書き込む。
【００４２】
画像読み込み部１０は、プリンタエンジン２５に同期して、メインメモリ１８の階調処理後ページ画像メモリ領域１８（５）の画像データを、エンジンコントローラ９へ転送する。エンジンコントローラ９は、画像読み込み部１０から受け取ったＲ、Ｇ、Ｂの画像データをプリンタエンジン２５へ転送する。プリンタエンジン２５はＲ、Ｇ、Ｂの画像データの印刷（印字）を行う。
【００４３】
図６は、描画処理部１１による描画処理の手順を示すフロー図である。
この処理は、まず、このフローで処理するプレーン番号を初期化（PLANENUM＝０）する（例えば、プレーン番号＝０でＲ版、１でＧ版、２でＢ版）（Ｓ１０１）。次に、読み込みコマンドのアドレスを初期化（コマンドアドレス＝０）し（Ｓ１０２）、コマンドアドレスの示す描画コマンドを読み込む（Ｓ１０３）。
次に、コマンド解析部１１（２）で描画コマンドを解析して、描画コマンドがバンド設定コマンドか否か判断する（Ｓ１０４）。ここで、バンド設定コマンドでなければ（Ｓ１０４、ＮＯ）、描画処理を行う（Ｓ１０５）。この描画処理の詳細は、図７のフロー図により後述する。描画処理後にステップＳ１０３へ戻る。
【００４４】
ステップＳ１０４で、バンド設定コマンドであれば（Ｓ１０４、ＹＥＳ）、バンドの終了コマンドであるか判断し（Ｓ１０６）、終了コマンドでなければ（Ｓ１０６、ＮＯ）、バンド情報設定コマンドと判断して、バンド情報を設定し（Ｓ１０７）、バンドメモリ１２（Ｒ、Ｇ、Ｂ、半透明バンドメモリ）を初期化する（Ｓ１０８）。初期化後にステップＳ１０３に戻る。
【００４５】
ステップＳ１０６で終了コマンドであれば（Ｓ１０６、ＹＥＳ）、プレーン番号を確認し、全てのプレーンを描画したか否か、つまりプレーン数が３であるか否か判断する（Ｓ１０９）。ここで、プレーン数が３（ＲＧＢNUM＝３）であれば（Ｓ１０９、ＹＥＳ）、全てのＲ、Ｇ、Ｂプレーンを描画できたのでリターン（処理を終了）する。
ステップ１０９で、未だ全てのプレーンの描画ができていない場合は（Ｓ１０９、ＮＯ）、描画したプレーンの画像情報を、図２のメインメモリ１８のＲ、Ｇ、Ｂプレーンバンドメモリ領域１８（３）に転送する（Ｓ１１０）。ここで、プレーン番号を１カウントアップ（ＵＰ）して（Ｓ１１１）、ステップＳ１０２に戻り、以降の処理を繰り返す。
【００４６】
以上説明したように、描画処理部１１は、メインメモリ１８（の描画コマンドメモリ領域１８（２））から描画コマンド読み込み、バンドメモリ１２に１プレーンの画像情報（色情報）と半透明値を、半透明処理を行いながら描画する。描画処理部１１は、１バンドの１プレーンの画像情報の描画が完了すると、その画像情報（色情報）をメインメモリ１８のＲ、Ｇ、Ｂプレーンバンドメモリ領域１８（３）へ転送する。この動作を全ての色プレーン（Ｒ、Ｇ、Ｂ）で行い、処理を終了する。
【００４７】
図７は、図６のフロー図におけるステップＳ１０５の描画処理手順を示すサブルーチンのフロー図である。
描画処理部１１では、まず、Ｙ座標を図５Ｃの描画コマンドの左上Ｙ座標に（Ｓ２０１）、Ｘ座標を同左上Ｘ座標にする（Ｓ２０２）。次に、プレーン番号（０、１、２）により、Ｒ、Ｇ、Ｂ版を切り替え（Ｓ２０３、Ｓ２０６）、描画コマンドで指定したカラー色をソースＲ、Ｇ、Ｂ色値として（Ｓ２０４、Ｓ２０７、Ｓ２０９）、Ｃｓ値（ソース色値）を指定する。また、バンドメモリ１２のＲ、Ｇ、ＢプレーンバンドのＸ、Ｙ座標の色値をディスティネーションＲ、Ｇ、Ｂ色値としてＣｄ値（ディスティネーション色値）を指定する（Ｓ２０５、Ｓ２０８、Ｓ２１０）。
【００４８】
次に、描画処理が半透明処理を必要とするか否かを描画コマンドのフォーマットで判断する（Ｓ２１１）。半透明処理を必要としない場合は（Ｓ２１１、ＮＯ）、Ｃｄ’（描画後のディスティネーション色値）にＣｓ値（ソース色値）を設定（Ｃｄ’＝Ｃｓ）して（Ｓ２１７）、ステップＳ２１８に進む。
一方、半透明処理を必要とする場合、つまり半透明処理を行う場合は（Ｓ２１１、ＹＥＳ）、Ａｓ（ソースデータの半透明値）に描画コマンドの半透明値（Ａｓ＝ソース半透明値）を設定し（Ｓ２１２）、Ａｄ（ディスティネーション半透明値）にバンドメモリ１２のＸ、Ｙ座標の半透明値（Ａｄ＝ディスティネーション半透明値）を設定する（Ｓ２１３）。Ａｓの半透明値とＡｄの半透明値から新規のＡｄ’（描画後のディスティネーション半透明値（Ａｄ’＝（１−Ａｓ）＊Ａｄ＋Ａｓ））を求める（Ｓ２１４）。また、Ａｓ、Ａｄ、Ａｄ’、Ｃｓ、Ｃｄの値から新たな半透明処理後のＣｄ値（描画後のディスティネーション色値；Ｃｄ’＝（（１−Ａｓ）＊Ａｄ＊Ｃｄ＋Ａｓ＊Ｃｓ）／Ａｄ’）を求める（Ｓ２１５）。次に、Ａｄ’（描画後のディスティネーション半透明値）をＹ、Ｘ座標の半透明バンドに書き込み（Ｓ２１６）、バンドメモリ１２のＹ、Ｘ座標の半透明バンドにＡｄ’値を設定する。また、Ｃｄ’（描画後のディスティネーション色値）をＹ、Ｘ座標のＲ、Ｇ、Ｂバンドに書き込み（Ｓ２１８）、バンドメモリ１２のＸ、Ｙ座標のＲ、Ｇ、Ｂプレーンバンドメモリ領域１８（３）に設定する。
【００４９】
次に、Ｘ座標を更新（Ｘ座標＝Ｘ座標＋１）し（Ｓ２１９）、描画コマンドの右下Ｘ座標に達していないか判断し（Ｓ２２０）、達していない場合（Ｘ座標＜右下Ｘ座標）は（Ｓ２２０、ＹＥＳ）、ステップＳ２０３へ処理を戻し、繰り返しＹ座標のラインの処理を行う。
ステップＳ２２０でＸ座標が右下Ｘ座標に達したときは（Ｓ２２０、ＮＯ）、Ｙ座標を更新（Ｙ座標＝Ｙ座標＋１）し（Ｓ２２１）、全てのラインが描画されるまで、ステップＳ２０２からの処理を繰り返し、全てのラインが描画されたときは（Ｓ２２２、ＹＥＳ）、リターン（終了）する。
【００５０】
描画処理部１１は、以上のように、設定したバンドメモリ１２からディスティネーションの色値（色情報）と半透明値を読み込み、描画するソースの色値と半透明値で半透明処理した１プレーンの色値と半透明値を描画する。
【００５１】
図８は、画像処理部１３の画像処理の手順を示すフロー図である。
このフローでは、まず、各Ｘ、Ｙ座標の初期化（Ｙ＝０、Ｘ＝０）を行う（Ｓ３０１、Ｓ３０２）。なお、このＸ、Ｙ値はメインメモリ１８のＲ、Ｇ、Ｂプレーンバンドメモリ領域１８（３）の座標を示している。次に、Ｘ、Ｙ値が示すアドレスのＲ、Ｇ、Ｂプレーンバンドメモリ領域１８（３）の画素値（画素の色情報）を読み込み（Ｓ３０３）、その色情報について、印刷のための処理、即ち、ここでは、Ｃ、Ｍ、Ｙ、Ｋデータへの色変換と階調処理を行う。また、画像処理後の色情報を階調処理後ページ画像メモリ領域１８（５）に転送する（Ｓ３０４）。
次に、処理が１ライン終了したか（１ラインのブロックを処理したか）判断し（Ｓ３０５）、１ライン終了していないと判断したときは（Ｓ３０５、ＮＯ）、Ｘ値をＸ＋１に更新して（Ｓ３０６）、ステップＳ３０３に戻る。
また、１ライン終了していると判断したときは（Ｓ３０５、ＹＥＳ）、次に、全てのラインを処理したか否か判断し（Ｓ３０７）、未だ全てのラインの処理ができていないときは（Ｓ３０７、ＮＯ）、Ｙ値をＹ＋１に更新して（Ｓ３０８）、ステップＳ３０２に戻る。また、全てのラインの処理ができたときは（Ｓ３０７、ＹＥＳ）、リターン（処理を終了）する。
【００５２】
このように、画像処理部１３は、メインメモリ１８のＲ、Ｇ、Ｂプレーンバンドメモリ領域１８（３）からＲ、Ｇ、Ｂプレーンバンド（画素値；色情報）を読み込んで画像処理を行い、メインメモリ１８の階調処理後ページ画像メモリ領域１８（５）へ処理結果を書き込む。
【００５３】
以上説明したように、本実施形態に係る画像処理装置では、図３のようなＡＳＩＣ内に128ラインなどの高さの低い小バンドメモリを有して、小さい単位に描画するようにしている。ただ、高さの低い小バンドメモリでバンドを描画すると、多くの描画コマンドが必要となり、描画コマンドを生成するソフトウエアの処理のスピードが落ちる。そのため、一般的にはバンド高さを高くする必要があるが、本実施形態では、Ｒ、Ｇ、Ｂのうち１つのプレーンと半透明プレーンを格納するバンドメモリをＡＩＳＣに有する構造にして、バスの転送レートを落とし、ＡＳＩＣ内部でバンド描画し、描画された画像を、バスを介してメインメモリに戻す時にシリアルなアクセスで行う。これにより、バスの転送レートを最大限に生かすことで、処理のスピードが落ちるのを防止している。
また、本実施形態では、Ｒ、Ｇ、Ｂのうち１つのプレーンと、描画中に半透明値が変化していくため必ず必要となる半透明プレーンを格納するバンドメモリを採用した。そのため、Ｒ、Ｇ、Ｂ、半透明の４つのプレーンを格納する従来のバンドメモリに比べ、２つのプレーンですむため１／２の容量ですむという利点がある。
【符号の説明】
【００５４】
１・・・ＣＰＵ、２・・・ＣＰＵ＿Ｉ／Ｆ、３・・・メモリアービター、４・・・メモリコントローラ、５・・・ＤＭＡ、６・・・バスコントローラ、７・・・通信コントローラ、８・・・バスＩ／Ｆ、９・・・エンジンコントローラ、１０・・・画像読み込み部、１１・・・描画処理部、１２・・・バンドメモリ、１３・・・画像処理部、１４・・・バスＩ／Ｆ、１５・・・パネルコントローラ、１６・・・ＲＯＭ、１７・・・プリンタコントロール部、１８・・・メインメモリ、１８（１）・・・ＰＤＬメモリ領域、１８（２）・・・描画コマンドメモリ領域、１８（３）・・・Ｒ、Ｇ、Ｂプレーンバンドメモリ領域、１８（４）・・・画像処理パラメータメモリ領域、１８（５）・・・階調処理後ページ画像メモリ領域、１９・・・バス、２０・・・ＡＳＩＣ、２１・・・パネルコントロール部、２２・・・パネル、２３・・・ＰＣ、２４・・・プリンタコントロールボード。
【先行技術文献】
【特許文献】
【００５５】
【特許文献１】特開２００８−０２３９５９号公報
【特許文献２】特開２０１０−２２００７５号公報
【特許文献３】特開２００５−３０９８６５号公報
【図１】
2014239304.tif 000003
【図２】
2014239304.tif 000004
【図３】
2014239304.tif 000005
【図４】
2014239304.tif 000006
【図５】
2014239304.tif 000007
【図６】
2014239304.tif 000008
【図７】
2014239304.tif 000009
【図８】
2014239304.tif 000010
【図９】
2014239304.tif 000011
【図１０】
2014239304.tif 000012