(57)【要約】【課題】論理演算を含むグラフィックス画像の描画処理を高速に行う画像処理装置及び画像処理方法を提供すること。【解決手段】画像の描画コマンドを有する入力データを解析する解析手段と、複数の色値の間に論理演算又は半透明演算が行われることを示す識別情報と、前記識別情報と同一のデータ形式を有し、前記画像が有する画素の色値のうち所定数の色値に一意に対応づけられるインデックスと、を有するインデックステーブルを生成するインデックステーブル生成手段と、前記識別情報及び前記インデックスの何れにも対応づけられない画素を該画素の色値により描画し、さらに、前記識別情報が対応づけられた画素の色値を論理演算により生成し該画素を描画する、色値描画手段と、前記インデックスが対応づけられた画素を該インデックスの値により描画するインデックス描画手段と、を有する画像処理装置。【選択図】図４
2010218467.tif 000002
【特許請求の範囲】
【請求項１】
画像の描画コマンドを有する入力データを解析する解析手段と、
複数の色値の間に論理演算又は半透明演算が行われることを示す識別情報と、前記識別情報と同一のデータ形式を有し、前記画像が有する画素の色値のうち所定数の色値に一意に対応づけられるインデックスと、を有するインデックステーブルを生成し、さらに、前記描画コマンドに基づいて、前記画像が有する画素のうち論理演算又は半透明演算が行われる画素に前記識別情報が対応づけられ、前記所定数の色値の何れか一の色値を有する画素に前記第２のインデックスを対応づけられる、色テーブルを生成する、インデックステーブル生成手段と、
前記識別情報及び前記インデックスの何れにも対応づけられない画素を該画素の色値により描画し、さらに、前記識別情報が対応づけられた画素の色値を論理演算により生成し該画素を描画する、色値描画手段と、
前記インデックスが対応づけられた画素を該インデックスの値により描画するインデックス描画手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記色値描画手段により描画される画素と、前記インデックス描画手段により描画される画素と、を、ともに前記画像における位置に対応させて一の記憶領域に記憶する記憶手段を有することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記一の記憶領域は、前記画素毎に、前記色値による描画と前記インデックス値による描画とを識別するヘッダー情報を格納することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記画像が複数のオブジェクトを有する場合に、
前記インデックステーブル生成手段は、前記色値の数が所定数より少ないオブジェクトの前記インデックステーブルを生成することを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記インデックステーブル生成手段は、前記インデックスの値を前記色値に対するハッシュ関数により生成し、
前記インデックス描画手段は、前記インデックステーブルにおいて前記描画コマンドにより得られる色値に対応する前記インデックスの値と、該色値のハッシュ値と、が異なる場合に、前記描画コマンドにより得られる色値により描画することを特徴とする請求項１記載の画像処理装置。
【請求項６】
前記インデックステーブル生成手段は、前記ハッシュ値が同一の複数の色値に対し、前記描画コマンドに基づいて、描画面積が最大である色値に対し、該ハッシュ値を前記インデックスの値として対応づけることを特徴とする請求項５記載の画像処理装置。
【請求項７】
画像の描画コマンドを有する入力データを解析する解析ステップと、
複数の色値の間に論理演算又は半透明演算が行われることを示す識別情報と、前記識別情報と同一のデータ形式を有し、前記画像が有する画素の色値のうち所定数の色値に一意に対応づけられるインデックスと、を有するインデックステーブルを生成し、さらに、前記描画コマンドに基づいて、前記画像が有する画素のうち論理演算又は半透明演算が行われる画素に前記識別情報が対応づけられ、前記所定数の色値の何れか一の色値を有する画素に前記第２のインデックスを対応づけられる、色テーブルを生成する、インデックステーブル生成ステップと、
前記識別情報及び前記インデックスの何れにも対応づけられない画素を該画素の色値により描画し、さらに、前記識別情報が対応づけられた画素の色値を論理演算により生成し該画素を描画する、色値描画ステップと、
前記インデックスが対応づけられた画素を該インデックスの値により描画するインデックス描画ステップと、
を有することを特徴とする画像処理方法。
【請求項８】
前記色値描画ステップにおいて描画される画素と、前記インデックス描画ステップにおいて描画される画素と、を、ともに前記画像における位置に対応させて記憶手段の一の記憶領域に記憶する記憶ステップを有することを特徴とする請求項７記載の画像処理方法。
【請求項９】
前記色値描画ステップにおいて、前記画素毎に、前記識別情報による描画と前記色値による描画とを識別するヘッダー情報を付加することを特徴とする請求項７記載の画像処理方法。
【請求項１０】
前記インデックス描画ステップにおいて、前記画素毎に、前記識別情報による描画と前記色値による描画とを識別するヘッダー情報を付加することを特徴とする請求項７記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
従来から、ＰＤＬを解析して描画する画像形成装置において、プリンタエンジンが出力する画像形式にするため、カラー画像を、少ない色値の数により表現される画像に変換する画像処理の技術がある。このような画像処理は、ＰＤＬを解析して得られる描画コマンドにより、ＲＧＢ値の画像をメモリ上に展開した後、色変換、階調処理等を行い、プリンタエンジンに対して出力する。
【０００３】
メモリ上に画像を描画する際に、背景をクリヤーする処理、論理演算処理、半透明処理等は、ＲＧＢ値による処理になるため、描画に時間がかかる。そこで、特開平６−１３９３６４号公報（特許文献１）では、入力画像データをカラーパレットに展開し、カラーパレットによる描画を行うことが開示されている。また、特開平１１−７８１２６号公報（特許文献２）では、カラーパレット数を超える場合に、減色を行うことが開示されている。
【０００４】
またさらに、特開２００７−２１６６７５号公報（特許文献３）には、カラーパレットのパレット数を表すビット数を、画像データ毎に変更することが開示されている。
【０００５】
なお、上記特許文献等に記載の「カラーパレット」は、「Ｉｎｄｅｘテーブル」に対応する。
【０００６】
ところで、画像を描画する際に、複数の画像の論理演算を行うことがある。例えば、背景の色と前景の色とをＲＯＰ演算（Ｒａｓｔｅｒ  Ｏｐｅｒａｔｉｏｎ）により合わせる場合には、カラーパレットの色だけでは表現することができないことがある。そこで、＝特許文献３には、さらに、ＲＯＰ演算を含む画像全体を、ＲＧＢ２４ビットのカラー値で描画する発明が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、カラー値による描画は、メモリ領域のクリヤー処理等の負荷が大きく、Ｉｎｄｅｘテーブルを用いる描画に比して、時間がかかる。背景に前景を重ねるＲＯＰ演算や半透明演算は、画像全体のうちの一部の領域に行われるため、上記特許文献３に開示の発明のように、画像全体に対してカラー値による描画を行うと、Ｉｎｄｅｘ値により表現される画素についてもＲＧＢ２４ビットの描画を行うこととなる。
【０００８】
本発明は、上記の点に鑑みて、これらの問題を解消するために発明されたものであり、論理演算を含むグラフィックス画像の描画処理を高速に行う画像処理装置及び画像処理方法を提供することを目的としている。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の画像処理装置は次の如き構成を採用した。
本発明の画像処理装置は、画像の描画コマンドを有する入力データを解析する解析手段と、複数の色値の間に論理演算又は半透明演算が行われることを示す識別情報と、前記識別情報と同一のデータ形式を有し、前記画像が有する画素の色値のうち所定数の色値に一意に対応づけられるインデックスと、を有するインデックステーブルを生成し、さらに、前記描画コマンドに基づいて、前記画像が有する画素のうち論理演算又は半透明演算が行われる画素に前記識別情報が対応づけられ、前記所定数の色値の何れか一の色値を有する画素に前記第２のインデックスを対応づけられる、色テーブルを生成する、インデックステーブル生成手段と、前記識別情報及び前記インデックスの何れにも対応づけられない画素を該画素の色値により描画し、さらに、前記識別情報が対応づけられた画素の色値を論理演算により生成し該画素を描画する、色値描画手段と、前記インデックスが対応づけられた画素を該インデックスの値により描画するインデックス描画手段と、を有する。
【００１０】
これにより、論理演算を含むグラフィックス画像の描画処理を高速に行う画像処理装置を提供することができる。
【００１１】
また上記目的を達成するために、本発明の画像処理方法は、画像の描画コマンドを有する入力データを解析する解析ステップと、複数の色値の間に論理演算又は半透明演算が行われることを示す識別情報と、前記識別情報と同一のデータ形式を有し、前記画像が有する画素の色値のうち所定数の色値に一意に対応づけられるインデックスと、を有するインデックステーブルを生成し、さらに、前記描画コマンドに基づいて、前記画像が有する画素のうち論理演算又は半透明演算が行われる画素に前記識別情報が対応づけられ、前記所定数の色値の何れか一の色値を有する画素に前記第２のインデックスを対応づけられる、色テーブルを生成する、インデックステーブル生成ステップと、前記識別情報及び前記インデックスの何れにも対応づけられない画素を該画素の色値により描画し、さらに、前記識別情報が対応づけられた画素の色値を論理演算により生成し該画素を描画する、色値描画ステップと、前記インデックスが対応づけられた画素を該インデックスの値により描画するインデックス描画ステップと、を有する。
【００１２】
これにより、論理演算を含むグラフィックス画像の描画処理を高速に行う画像処理方法を提供することができる。
【発明の効果】
【００１３】
本発明の画像処理装置及び画像処理方法によれば、論理演算を含むグラフィックス画像の描画処理を高速に行う画像処理装置及び画像処理方法を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本実施の形態に係る画像処理装置を実装する画像形成装置の機構部の構成例を示す図である。
【図２】図２は、カラープリンタ１０００における制御部の装置構成を示すブロック図である。
【図３】図３は、本実施形態の画像処理装置の機能構成の例を示す図である。
【図４】図４は、メインメモリ１３０上に設けられる各領域を説明する図である。
【図５】図５は、画像フォーマットを説明する図である。
【図６】図６は、ディスティネーション画像とソース画像とを説明する図である。
【図７】図７は、描画領域の区別を示す図（その１）である。
【図８】図８は、半透明領域を含む画像を説明する図である。
【図９】図９は、描画領域の区別を示す図（その２）である。
【図１０】図１０は、Ｉｎｄｅｘテーブルを生成する処理を示すフロー図（その１）である。
【図１１】図１１は、色テーブルの例を示す図である。
【図１２】図１２は、Ｉｎｄｅｘテーブルの例を示す図である。
【図１３】図１３は、ＭＯＤ演算の例を示すフロー図である。
【図１４】図１４は、描画後処理部２４により実行される描画処理の例を示すフロー図である。
【図１５】図１５は、ＲＯＰ固定値に対応するＲＯＰ演算を示す図である。
【図１６】図１６は、ＲＧＢＡ値による描画処理の例を示すフロー図である。
【図１７】図１７は、半透明描画処理（その１）を説明するフロー図である。
【図１８】図１８は、ＲＯＰ演算の描画処理（その１）を説明するフロー図である。
【図１９】図１９は、通常のＲＧＢＡ値による描画処理（その１）を示すフロー図である。
【図２０】図２０は、Ｉｎｄｅｘ値による描画処理（その１）を示すフロー図である。
【図２１】図２１は、Ｉｎｄｅｘテーブルを生成する処理を示すフロー図（その２）である。
【図２２】図２２は、面積を算出する処理を示すフロー図である。
【図２３】図２３は、中間Ｉｎｄｅｘテーブルを示す図である。
【図２４】図２４は、写真画像とグラフィックス画像とを有する画像の例を示す図である。
【図２５】図２５は、Ｉｎｄｅｘ領域とＡＲＧＢ領域とを示す図である。
【図２６】図２６は、Ｉｎｄｅｘフォーマットの例を示す図である。
【図２７】図２７は、カラー画像フォーマットの例を示す図である。
【図２８】図２８は、Ｉｎｄｅｘテーブルを生成する処理を示すフロー図である。
【図２９】図２９は、半透明描画処理（その２）を説明するフロー図である。
【図３０】図３０は、ＲＯＰ演算の描画処理（その２）を説明するフロー図である。
【図３１】図３１は、通常のＲＧＢＡ値による描画処理（その２）を示すフロー図である。
【図３２】図３２は、Ｉｎｄｅｘ値による描画処理（その２）を示すフロー図である。
【図３３】図３３は、ＰＤＬから取得される描画コマンドの例を示す図である。
【図３４】図３４は、描画コマンドの例を示す図である。
【図３５】図３５は、本実施の形態に係る画像処理装置を実現するコンピュータの構成を説明する図である。
【発明を実施するための形態】
【００１５】
以下、本実施の形態を図面に基づき説明する。なお、以下の実施の形態において「Ｉｎｄｅｘ値」を「Ｉｎｄｅｘ番号」ともいう。
【００１６】
〔第１の実施の形態〕
図１は、本実施の形態に係る画像処理装置を実装する画像形成装置の機構部の構成例を示す図である。図１では、画像形成装置としてカラープリンタ１０００を示す。カラープリンタ１０００は、４色（Ｙ、Ｍ、Ｃ、Ｋ）の画像をそれぞれ独立の作像系で形成し、この４色の画像を合成する４ドラムタンデムエンジンタイプの画像形成装置である。
【００１７】
カラープリンタ１０００は、各部の動作を制御する制御部１００を有する。本実施の形態に係る画像処理方法は、制御部１００により実行される。
【００１８】
（カラープリンタ１０００における制御部のブロック）
図２は、カラープリンタ１０００における制御部の装置構成を示すブロック図である。図２の制御部１００は、プリンタＡＳＩＣ１１０、プリンタエンジン１２０、メインメモリ１３０、及び、ＣＰＵ１９０を有し、ネットワークを介してパーソナルコンピュータ（以下、「ＰＣ」という。）９００に接続されている。
【００１９】
ＣＰＵ１９０は、カラープリンタ１０００の全体の制御を行う。プリンタエンジン１２０は、画像を媒体上に形成して出力する。メインメモリ１３０は、ＣＰＵ１９０が出力する描画コマンド、ＣＰＵ１９０が実行するプログラム、及び、画像データのうちバンド毎の画像データであるバンドデータ、ページ毎の圧縮データ等の各種データ等を格納する。
ＣＰＵ１９０は、さらに、コンピュータプログラムを実行することにより、本実施形態に係る画像処理装置の各部の機能を実現する。
【００２０】
プリンタＡＳＩＣ１１０は、入力される画像データに対して所定の処理を行い、プリンタエンジン１２０に対して出力する。プリンタＡＳＩＣ１１０は、例えば、ＣＰＵ  インタフェース（以下、「Ｉ／Ｆ」という。）１１２、メインメモリアービタ１１３、メインメモリコントローラ１１４、ＤＭＡ部１１６、エンジンコントローラ１１８、及び、通信処理部１１９を有する。
【００２１】
ＣＰＵ  Ｉ／Ｆ１１２は、メインメモリアービタ１１３を介してメインメモリコントローラ１１４に接続され、ＣＰＵ１９０とメインメモリコントローラ１１４との間のインタフェース処理を行う。メインメモリアービタ１１３は、通信処理部１１９、及び、ＣＰＵ１９０からの、メインメモリ１３０へのアクセス順等を管理する。メインメモリコントローラ１１４は、メインメモリ１３０へのデータの書き込み及び読み出しを制御する。
【００２２】
ＤＭＡ部１１６は、プリンタエンジン１２０へのＤＭＡ転送を行う。エンジンコントローラ１１８は、プリンタエンジン１２０を制御する。
【００２３】
通信処理部１１９は、通信コントローラであり、ネットワークを介して接続されたＰＣ９００から画像データを受信する。画像データは、例えば、ＰＤＬ（ｐａｇｅ  ｄｅｓｃｒｉｐｔｉｏｎ  ｌａｎｇｕａｇｅ）の形式を有する。通信処理部１１９は、受信した画像データを、メインメモリ１３０に対して出力する。
【００２４】
図３は、本実施形態の画像処理装置の機能構成の例を示す図である。図３の画像処理装置は、描画コマンド生成部２１、描画コマンド記憶部３、描画処理部２２、Ｉｎｄｅｘ＆ＲＧＢＡ画像記憶部１０、画像処理部２５、階調処理後画像記憶部１５、ＤＭＡ処理部１６、及び、プリンタエンジン１２０を有する。
【００２５】
描画コマンド生成部２１は、入力されるＰＤＬを解析して描画コマンドを出力する。描画コマンド生成部２１は、ＰＤＬ記憶部１及びＰＤＬ解析部２を有する。ＰＤＬ記憶部１は、入力されるＰＤＬを記憶する。ＰＤＬ解析部２は、ＰＤＬ記憶部１に記憶されるＰＤＬを解析し、画像を描画する際の描画コマンドを出力する。
【００２６】
描画コマンド記憶部３は、ＰＤＬ解析部２から出力される描画コマンドを記憶する。
【００２７】
描画処理部２２は、描画コマンドにより、Ｉｎｄｅｘ値及びＲＧＢＡ値による画像を描画する。描画処理部２２は、描画前処理部２３及び描画後処理部２４を有する。
【００２８】
描画前処理部２３は、Ｉｎｄｅｘテーブルの生成を行う。描画前処理部２３は、Ｉｎｄｅｘテーブル生成部４、色テーブル記憶部５、及び、Ｉｎｄｅｘテーブル記憶部６を有する。
【００２９】
Ｉｎｄｅｘテーブル生成部４は、色テーブルとＩｎｄｅｘテーブルとを生成する。より詳細には、Ｉｎｄｅｘテーブル生成部４は、描画コマンド記憶部３に格納されている描画コマンドのうち、グラフィックス描画コマンドにより描画される色のカラー値を取得し、それらのカラー値に対するＩｎｄｅｘ値を生成する。Ｉｎｄｅｘテーブル生成部４は、さらに、入力される描画コマンドの順に付与される入力番号にＩｎｄｅｘ値を対応づけた、色テーブルを生成する。Ｉｎｄｅｘテーブル生成部４は、また、Ｉｎｄｅｘ値とカラー値とが対応づけられたＩｎｄｅｘテーブルを生成する。
【００３０】
色テーブル記憶部５は、Ｉｎｄｅｘテーブル生成部４により生成される色テーブルを記憶する。Ｉｎｄｅｘテーブル記憶部６は、Ｉｎｄｅｘテーブル生成部４により生成されるＩｎｄｅｘテーブルを記憶する。
【００３１】
描画後処理部２４は、色テーブル、Ｉｎｄｅｘテーブル、及び、カラー値による描画を行う。描画後処理部２４は、ＲＧＢＡ描画部９及びＩｎｄｅｘ描画部８を有する。ＲＧＢＡ描画部９は、カラー値による描画を行う。ＲＧＢＡ描画部９が描画するカラー値は、ＲＧＢＡにより表される。ＲＧＢＡ描画部９は、Ｉｎｄｅｘ＆ＲＧＢＡ画像記憶部１０が有する４つのプレーンのそれぞれに対し、Ｒ値、Ｇ値、Ｂ値、及び、Ａ値による描画を行う。なお、Ａ値には、カラー値による描画であることを表すヘッダー情報が含まれる。
【００３２】
Ｉｎｄｅｘ描画部８は、Ｉｎｄｅｘ値による描画を行う。Ｉｎｄｅｘ描画部８は、描画コマンドに対応するＩｎｄｅｘ値を取得し、Ｉｎｄｅｘ＆ＲＧＢＡ画像記憶部１０が有するプレーンのうち、１のプレーンにＩｎｄｅｘ値による描画を行う。なお、Ｉｎｄｅｘ値のビット長が、１のプレーンのビット深度を超える場合には、１以上のプレーンに描画してよい。Ｉｎｄｅｘ値による描画は、例えば、Ａ値により描画されるプレーンと同一にするとよい。これにより、ＲＧＢＡ値による描画かＩｎｄｅｘ値による描画かを示すヘッダー情報が、同一のプレーンに含まれる。
【００３３】
画像処理部２５は、描画処理部２２で描画された画像に対し、色変換、階調処理等の画像処理を行う。画像処理部２５は、それらの画像処理に先んじて、Ｉｎｄｅｘ値により描画された画像を、ＲＧＢＡ値による画像に変換する。
【００３４】
画像処理部２５は、Ｉｎｄｅｘテーブル変換部１１、色変換部１２、ＵＣＲ処理部１３、及び、階調処理部１４を有する。Ｉｎｄｅｘテーブル変換部１１は、Ｉｎｄｅｘ＆ＲＧＢＡ画像記憶部１０に格納されている画像のうち、Ｉｎｄｅｘ値により描画されている画像を、Ｉｎｄｅｘテーブル記憶部６に格納されているＩｎｄｅｘテーブルにより、ＲＧＢＡ値による画像に変換する。
【００３５】
色変換部１２は、ＲＧＢＡ値による画像を、ＣＭＹによる画像に変換する。ＵＣＲ処理部は、ＣＭＹによる画像に対し、下色除去を行い、ＣＭＹＫによる画像に変換する。階調処理部１４は、ＣＭＹＫによる画像を、面積階調による画像に変換する。これにより、プリンタエンジン１２０により出力することのできる画像データが瀬性される。
【００３６】
階調処理後画像記憶部１５は、階調処理部１４により処理された画像が格納される。ＤＭＡ処理部１６は、階調処理後画像記憶部１５に格納されている画像のデータを、ＤＭＡ転送によりプリンタエンジン１２０に対して出力する。
【００３７】
なお、図３中、描画コマンド記憶部３、色テーブル記憶部５、Ｉｎｄｅｘテーブル記憶部６、Ｉｎｄｅｘ＆ＲＧＢＡ画像記憶部１０、階調処理後画像記憶部１５は、例えば、メインメモリ１３０上に設けられる領域である。
【００３８】
図４は、メインメモリ１３０上に設けられる各領域を説明する図である。図４では、メインメモリ１３０上に、プログラム領域、ＰＤＬ領域、色テーブル領域、Ｉｎｄｅｘテーブル領域、Ｉｎｄｅｘ＆ＲＧＢＡ領域、階調処理後画像領域、及び、その他の情報を格納する領域が設けられている。プログラム領域は、ＣＰＵ１９０が実行するプログラムを格納する領域である。ＰＤＬ領域は、ＰＤＬ記憶部１に対応する。色テーブル領域は色テーブル記憶部５に対応する。Ｉｎｄｅｘテーブル領域は、Ｉｎｄｅｘテーブル記憶部６に対応する。Ｉｎｄｅｘ＆ＲＧＢＡ領域は、Ｉｎｄｅｘ＆ＲＧＢＡ画像記憶部１０に対応する。階調処理後画像領域は、階調処理後画像記憶部１５に対応する。
【００３９】
Ｉｎｄｅｘ＆ＲＧＢＡ領域は、プレーン０領域、プレーン１領域、プレーン２領域、及び、プレーン３領域を有する。プレーン０領域からプレーン３領域は、それぞれ、一の色コンポーネント毎の画像データを格納する。例えば、プレーン１領域にＲ値、プレーン２領域にＧ値、プレーン３領域にＢ値を格納し、さらに、プレーン０領域に属性値を格納するとよい。プレーン０領域には、また、Ｉｎｄｅｘ値により描画される画像が格納されるとよい。また、Ｉｎｄｅｘ値が２毎のプレーンにまたがるビット数を有する場合には、例えば、プレーン０領域とプレーン１領域とにＩｎｄｅｘ値が格納されるとよい。これにより、４毎のプレーンで、Ｉｎｄｅｘ値により描画された画像と、ＲＧＢＡ値により描画された画像との両方を格納することができる。
【００４０】
図５は、画像フォーマットを説明する図である。図５では、カラー画像のフォーマットと、Ｉｎｄｅｘ値によるフォーマットとの両方を示す。カラー画像のフォーマットは、ヘッダーと属性値（以下、「Ａ」ともいう。）とからなる８ビット、Ｒ値、Ｇ値、及び、Ｂ値のそれぞれ８ビットの計３２ビットを有する。これらの画像データは、８ビット毎に、それぞれ、プレーン０領域からプレーン３領域に格納される。
【００４１】
Ｉｎｄｅｘ値によるフォーマットは、１ビットのヘッダーと７ビットのＩｎｄｅｘ値とからなる８ビットのフォーマットである。Ｉｎｄｅｘフォーマットの画像データは、プレーン０領域に格納される。
【００４２】
図６から図９は、半透明に重ね合わせて描画される画像の例を示す図である。図６は、ディスティネーション画像とソース画像とを説明する図である。図６（ａ）は、ディスティネーション画像の例である。図６（ａ）の画像は、グラフィクス領域と写真領域とを有する。図６（ｂ）は、ソース画像の例を示す図である。図６（ｂ）の画像が、図６（ａ）の画像に対して半透明に重ね合わせられる。
【００４３】
図７は、図６（ａ）の画像における描画領域の区別を示す図である。図７では、グラフィックス領域がＩｎｄｅｘ描画領域であり、写真領域がＲＧＢ描画領域である。
【００４４】
図８は、図６の（ａ）に対して（ｂ）が半透明に重ね合わせられた画像の例を示す図である。図８の画像中には、半透明領域が含まれている。
【００４５】
図９は、図８の画像における描画領域の区別を示す図である。図９では、図７のＩｎｄｅｘ描画領域とＲＧＢ描画領域とに加えて、半透明領域をＲＧＢ描画領域としている。
【００４６】
図１０は、Ｉｎｄｅｘテーブルを生成する処理を示すフロー図である。図１０の処理は、Ｉｎｄｅｘテーブル生成部４により実行される。図１０のステップＳ１０１では、ＲＯＰ固定値のＩｎｄｅｘ番号を求め、ＩｎｄｅｘテーブルのＩｎｄｅｘ値にその値をセットする。これにより、使用される確率が高く、かつ、演算コストが高いＲＯＰ処理を、Ｉｎｄｅｘ値による描画と置き換えることができる。なお、ＲＯＰ固定値のＩｎｄｅｘ値は、ＲＧＢＡ値のＩｎｄｅｘ値を生成する際には用いられることなく、常にＩｎｄｅｘテーブルに含まれる。
【００４７】
ステップＳ１０１に続いてステップＳ１０２に進み、描画コマンド記憶部３から１つの描画コマンドを読み込む。ステップＳ１０２に続いてステップＳ１０３に進み、ステップＳ１０２で読み込まれた描画コマンドが、写真画像、半透明画像、Ｄ演算、及び、Ｓ演算の何れか一に該当するか否かを判断する。該当する場合には、ステップＳ１１４に進み、該当しない場合には、ステップＳ１０４に進む。
【００４８】
ステップＳ１１４では、現在作成中の色テーブルの、処理中の描画コマンドに対応するＩｎｄｅｘ値に、１２８をセットする。
【００４９】
ステップＳ１０３に続くステップＳ１０４では、描画コマンドが、固定値”０”のＲＯＰ演算か否かを判断する。固定値”０”のＲＯＰ演算の場合には、ステップＳ１１３に進み、そうではない場合には、ステップＳ１０５に進む。
【００５０】
ステップＳ１１３では、現在作成中の色テーブルの、処理中の描画コマンドに対応するＩｎｄｅｘ値に、０をセットする。
【００５１】
ステップＳ１０４に続くステップＳ１０５では、描画コマンドが、固定値”１”のＲＯＰ演算か否か演算か否かを判断する。固定値”１”のＲＯＰ演算の場合には、ステップＳ１１２に進み、そうではない場合には、ステップＳ１０６に進む。
【００５２】
ステップＳ１１２では、現在作成中の色テーブルの、処理中の描画コマンドに対応するＩｎｄｅｘ値に、１６をセットする。
【００５３】
ステップＳ１０５に続くステップＳ１０６では、描画コマンドに含まれる色情報を取得する。この色情報は、ＲＧＢＡによるカラー値である。ステップＳ１０６に続いてステップＳ１０７に進み、Ｉｎｄｅｘ値を、次式により生成する。
Ｉｎｄｅｘ値＝カラー値  ＭＯＤ  １２７
【００５４】
ステップＳ１０７に続いてステップＳ１０８に進み、現在作成中のＩｎｄｅｘテーブルにおいて、ステップＳ１０７で生成したＩｎｄｅｘ値が、既に用いられているか否かを判断する。既に用いられている場合には、ステップＳ１１１に進み、用いられていない場合には、ステップＳ１０９に進む。
【００５５】
ステップＳ１０８に続くステップＳ１０９では、Ｉｎｄｅｘテーブルにおいて、ステップＳ１０７で生成したＩｎｄｅｘ値に対応するカラー値の項目に、描画コマンドの色情報のカラー値をセットする。
【００５６】
ステップＳ１０９に続いてステップＳ１１１に進み、現在作成中の色テーブルの描画コマンドの番号に対応するＩｎｄｅｘ値の欄に、ステップＳ１０７で生成したＩｎｄｅｘ値をセットする。
【００５７】
一方、ステップＳ１１１では、現在作成中の色テーブルの描画コマンドの番号に対応するＩｎｄｅｘ値の欄に、ステップＳ１０７で生成したＩｎｄｅｘ値をセットする。なお、ステップＳ１０７で生成したＩｎｄｅｘ値が、現在作成中のＩｎｄｅｘテーブルに含まれており、かつ、そのＩｎｄｅｘ値に対応するカラー値が、描画コマンドのカラー値と異なる場合には、色テーブルには、Ｉｎｄｅｘ値に代えて、所定の値、例えば「１２８」等をセットし、このカラー値の画素に対し、カラー画像フォーマットのヘッダー情報を対応づける。
【００５８】
ステップＳ１１０からステップＳ１１４の何れか一のステップの後、ステップＳ１１５に進み、描画コマンド記憶部３に格納される全ての描画コマンドが読み込まれ処理されたか否かを判断する。全ての描画コマンドが処理されている場合には、処理を終了し、処理されていない描画コマンドがある場合には、ステップＳ１０２に戻って処理を繰り返す。
【００５９】
図１１は、色テーブルの例を示す図である。図１１の色テーブルは、描画コマンド毎に有する「入力番号」に、Ｉｎｄｅｘ値が対応づけられている。入力番号は、ｎ個の描画コマンドに対して一意に定められる。
【００６０】
図１２は、Ｉｎｄｅｘテーブルの例を示す図である。図１２のＩｎｄｅｘテーブルは、Ｉｎｄｅｘ値に対し、ＲＧＢＡによる色情報が対応づけられている。
【００６１】
図１３は、ステップＳ１０７で実行するＭＯＤ演算の例を示すフロー図である。図１３のステップＳ２０１では、カラー値の数に、インデックステーブル数の逆数を乗じた数、を求め、これを切り捨てにより整数化した数を、ＷＯＲＫデータとする。
【００６２】
ステップＳ２０２では、カラー値の数からＷＯＲＫデータにインデックステーブル数を乗じた数を減じた数を、Ｉｎｄｅｘ番号とする。
【００６３】
図１４は、描画後処理部２４により実行される描画処理の例を示すフロー図である。図１４のステップＳ３０１では、描画コマンド記憶部３に格納されている描画コマンドの一が読み込まれる。ステップＳ３０１に続いてステップＳ３０２に進み、色テーブル記憶部５に格納されている、ステップＳ３０１で読み込まれた描画コマンドの入力番号に対応するＩｎｄｅｘ値が取得される。
【００６４】
ステップＳ３０２に続いてステップＳ３０３に進み、ステップＳ３０２で取得されたＩｎｄｅｘ値が１２８か否かの判断がなされる。Ｉｎｄｅｘ値が１２８の場合は、ステップＳ３０６に進み、Ｉｎｄｅｘ値が１２８ではない場合には、ステップＳ３０４に進む。
【００６５】
ステップＳ３０３に続くステップＳ３０４では、描画コマンドのカラー値が、Ｉｎｄｅｘテーブルに含まれているか否かを判断する。含まれている場合には、ステップＳ３０５に進み、含まれていない場合には、ステップＳ３０６に進む。
【００６６】
ステップＳ３０５では、Ｉｎｄｅｘ描画部８がＩｎｄｅｘ値による描画を行う。ステップＳ３０６では、ＲＧＢＡ描画部９が、カラー値による描画を行う。
【００６７】
ステップＳ３０５又はステップＳ３０６に続いてステップＳ３０７に進み、描画コマンド記憶部３に格納されている全ての描画コマンドについて、処理が終了したか否かの判断がなされる。処理が終了している場合には、処理を終了し、処理されていない描画コマンドがある場合には、ステップＳ３０１に戻って処理を繰り返す。
【００６８】
図１５は、Ｉｎｄｅｘ値のうち、ＲＯＰ固定値に対応するＲＯＰ演算を示す図である。ＲＯＰ固定値は、ＲＯＰ演算が行われることを示す識別情報である。図１５には、０ｘ００から０ｘＦＦまでの１６個のＲＯＰ番号に対し、それぞれＲＯＰ演算が対応づけられている。なお、図１５のＲＯＰ番号は、Ｉｎｄｅｘ値と同一のビット長を有する。したがって、ＲＯＰ演算の描画コマンドに対しては、色テーブルのＩｎｄｅｘ値の項目に、ＲＯＰ固定値を対応づけることができる。
【００６９】
図１６は、図１４のステップＳ３０６で行われるＲＧＢＡ値による描画処理の例を示すフロー図である。図１６の処理は、ＲＧＢＡ描画部９により実行される。図１６のステップＳ４０１では、描画コマンドが、半透明描画か否かの判断がなされる。半透明描画の場合には、ステップＳ４０３に進む。そうではない場合には、ステップＳ４０２に進む。
【００７０】
ステップＳ４０１に続くステップＳ４０２では、描画コマンドが、ディスティネーション演算によるＲＯＰ描画か否かの判断がなされる。ＲＯＰ描画の場合には、ステップＳ４０４に進み、そうではない場合には、ステップＳ４０５に進む。
【００７１】
ステップＳ４０３では、半透明描画処理が行われる。また、ステップＳ４０４では、ＲＯＰ演算による描画が行われる。また、ステップＳ４０５では、通常のＲＧＢＡ値による描画が行われる。
【００７２】
図１７は、半透明描画処理を説明するフロー図である。図１７のステップＳ５０１では、プレーン０領域の画像情報を読み込む。ステップＳ５０１に続いてステップＳ５０２に進み、ヘッダー値が”１”か否かの判断がなされる。ヘッダー値が”１”の場合には、ステップＳ５０３に進み、ヘッダー値が”１”ではない場合には、ステップＳ５０４に進む。
【００７３】
ステップＳ５０３では、ＩｎｄｅｘテーブルにおけるＩｎｄｅｘ値に対応するカラー値を得る。一方、ステップＳ５０４では、プレーン１領域からプレーン３領域の画素値をそれぞれ得て、ＲＧＢＡのカラー値を得る。
【００７４】
ステップＳ５０３又はステップＳ５０４に続いてステップＳ５０５に進み、半透明演算を行い、ヘッダー値を”０”とする。さらに、指定された描画コマンドにより、プレーン０領域からプレーン３領域にＲＧＢＡ値を書き込む。
【００７５】
ステップＳ５０５に続いてステップＳ５０６に進み、全ての画素について、処理を終了したか否かを判断する。全ての画素の処理を終了している場合には、処理を終了する。処理を終了していない画素がある場合には、ステップＳ５０１に戻って処理を繰り返す。
【００７６】
図１８は、ＲＯＰ演算の描画処理を説明するフロー図である。図１８のステップＳ６０１では、プレーン０領域の画像情報を読み込む。ステップＳ６０１に続いてステップＳ６０２に進み、ヘッダー値が”１”か否かの判断がなされる。ヘッダー値が”１”の場合には、ステップＳ６０３に進み、ヘッダー値が”１”ではない場合には、ステップＳ６０４に進む。
【００７７】
ステップＳ６０３では、ＩｎｄｅｘテーブルにおけるＩｎｄｅｘ値に対応するカラー値を得る。一方、ステップＳ６０４では、プレーン１領域からプレーン３領域の画素値をそれぞれ得て、ＲＧＢＡのカラー値を得る。
【００７８】
ステップＳ６０３又はステップＳ６０４に続いてステップＳ６０５に進み、ＲＯＰ演算を行い、ヘッダー値を”０”とする。さらに、指定された描画コマンドにより、プレーン０領域からプレーン３領域にＲＧＢＡ値を書き込む。
【００７９】
ステップＳ６０５に続いてステップＳ６０６に進み、全ての画素について、処理を終了したか否かを判断する。全ての画素の処理を終了している場合には、処理を終了する。処理を終了していない画素がある場合には、ステップＳ６０１に戻って処理を繰り返す。
【００８０】
図１９は、通常のＲＧＢＡ値による描画処理を示すフロー図である。図１９のステップＳ７０１では、プレーン０領域からプレーン３領域に対し、指定された描画コマンドで、色情報を書き込む。
【００８１】
ステップＳ７０１に続いてステップＳ７０２に進み、描画コマンドに対応する全ての画素の処理が終了したか否かの判断がなされる。終了している場合には、処理を終了する。処理されていない画素がある場合には、ステップＳ７０１の処理を繰り返す。
【００８２】
図２０は、Ｉｎｄｅｘ値による描画処理を示すフロー図である。図２０のステップＳ８０１では、プレーン０領域に対し、指定された描画コマンドで、Ｉｎｄｅｘ値を書き込む。
【００８３】
ステップＳ８０１に続いてステップＳ８０２に進み、描画コマンドに対応する全ての画素の処理が終了したか否かの判断がなされる。終了している場合には、処理を終了する。処理されていない画素がある場合には、ステップＳ８０１の処理を繰り返す。
【００８４】
図２１は、Ｉｎｄｅｘテーブルを生成する処理を説明するフロー図であって、図１０とは異なる処理の例を示す図である。図２１では、Ｉｎｄｅｘ値として算出されるハッシュ値の衝突が起きた場合に、描画面積が最大となるカラー値にＩｎｄｅｘ値を対応づける。
【００８５】
図２１のステップＳ９０１からステップＳ９０６の処理は、図１０のステップＳ１０１からステップＳ１０６の処理と同一であるので、ここでは説明を省略する。
【００８６】
ステップＳ９０６に続くステップＳ９０７では、描画コマンドの面積が演算される。図２２は、面積を算出する処理を示すフロー図である。図２２のステップＳ１００１では、描画コマンドが、四角形描画コマンドか否かの判断がなされる。四角形描画コマンドの場合には、ステップＳ１００２に進み、そうではない場合には、ステップＳ１００３に進む。
【００８７】
ステップＳ１００２では、描画コマンドに含まれるＸ幅とＹ幅の値を乗算し、描画面積を算出する。一方、ステップＳ１００３では、描画コマンドに含まれるＸ幅を描画面積とする。
【００８８】
図２１に戻り、ステップＳ９０７に続いてステップＳ９０８に進み、Ｉｎｄｅｘ値を、次式により生成する。
Ｉｎｄｅｘ値＝カラー値  ＭＯＤ  １２７
【００８９】
ステップＳ９０８に続いてステップＳ９０９に進み、現在作成中の中間Ｉｎｄｅｘテーブルにおいて、ステップＳ９０８で算出したＩｎｄｅｘ値と同一のＩｎｄｅｘ値を有するチェーンを検索する。
【００９０】
図２３は、中間Ｉｎｄｅｘテーブルを示す図である。中間Ｉｎｄｅｘテーブルは、一のＩｎｄｅｘ値に、複数のカラー値が対応づけられている。それぞれのカラー値には、描画面積が対応づけられている。複数の描画コマンドが同一のカラー値を有する場合には、描画面積は、それらの描画コマンドによる描画面積の総和となる。中間Ｉｎｄｅｘテーブルの作成途中では、描画面積は、処理済みの描画コマンドによる描画面積の累積和である。
【００９１】
中間Ｉｎｄｅｘテーブルは、一のＩｎｄｅｘ値に対して複数のカラー値が対応づけられるため、カラー値と描画面積との組毎に、「チェーン」の情報を有する。「チェーン」の値が、「ＴＲＵＥ」の場合は、そのカラー値に加えて、一以上のカラー値がそのＩｎｄｅｘ値に対応づけられている。「チェーン」の値が「終端」と等価の場合には、そのＩｎｄｅｘ値に対するチェーンがそのカラー値で終了する。
【００９２】
図２１に戻り、ステップＳ９０９では、さらに、検索されたチェーンの中で、現在処理している描画コマンドのカラー値と同一のカラー値の有無が確認される。
【００９３】
ステップＳ９０９に続いてステップＳ９１０に進み、チェーンの中に同一のカラー値がある場合には、ステップＳ９１３に進む。チェーンの中に同一のカラー値がない場合には、ステップＳ９１１に進む。
【００９４】
ステップＳ９１１では、中間Ｉｎｄｅｘテーブルにおいて、ステップＳ９０８で生成したＩｎｄｅｘ値に対応するカラー値として、現在処理している描画コマンドのカラー値とその描画面積の情報とを対応づける。ステップＳ９１１に続いてステップＳ９１２に進み、色テーブルの現在の描画コマンドの入力番号に対応するＩｎｄｅｘ値に、ステップＳ９０８で生成したＩｎｄｅｘ値をセットする。
【００９５】
一方、ステップＳ９１３では、色テーブルの現在の描画コマンドの入力番号に対応するＩｎｄｅｘ値に、ステップＳ９０８で生成したＩｎｄｅｘ値をセットする。ステップＳ９１３に続いてステップＳ９１４に進み、ステップＳ９０７で算出した描画面積を、中間Ｉｎｄｅｘテーブルの該当するカラー値の描画面積に加算する。
【００９６】
ステップＳ９１５からステップＳ９１７の処理は、図１０のステップＳ１１２からステップＳ１１４の処理と同一であるので、ここでは説明を省略する。
【００９７】
ステップＳ９１８では、全ての描画コマンドについて処理が終了したか否かの判断がなされる。全ての描画コマンドに対して処理が終了している場合には、ステップＳ９１９に進む。処理されていない描画コマンドがある場合には、ステップＳ９０２に戻って処理を繰り返す。
【００９８】
ステップＳ９１９では、中間Ｉｎｄｅｘテーブルにおいて、Ｉｎｄｅｘ値に対応づけられるチェーン毎に含まれるカラー値を検索し、描画面積が最大のカラー値を、そのＩｎｄｅｘ値に対応するカラー値として、Ｉｎｄｅｘテーブルを生成する。
【００９９】
〔第２の実施の形態〕
図２４及び図２５は、本実施形態に係る画像の例と、その画像のデータを格納するメインメモリ１３０上の領域を示す図である。図２４の画像は、写真画像とグラフィックス画像とを有する。
【０１００】
図２５は、図２４の画像を格納する領域を示す図である。図２５は、Ｉｎｄｅｘ領域とＡＲＧＢ領域とを有する。Ｉｎｄｅｘ領域は、画素毎に８ビットの情報を格納する。Ｉｎｄｅｘ領域には、Ｉｎｄｅｘフォーマットによる描画が行われる。Ｉｎｄｅｘ領域における写真画像の領域の画素は、値”２５５”を有する。
【０１０１】
ＡＲＧＢ領域は、画素毎に３２ビットの情報を格納する。ＡＲＧＢ領域における写真画像は、カラー画像フォーマットにより描画される。ＡＲＧＢ領域のグラフィックス画像の領域には、有意なデータが格納されない。
【０１０２】
図２６及び図２７は、画像フォーマットの例を示す図である。図２６は、Ｉｎｄｅｘフォーマットの例を示す図である。Ｉｎｄｅｘフォーマットは、８ビットのビット長を有するＩｎｄｅｘ値を格納する。Ｉｎｄｅｘフォーマットは、Ｉｎｄｅｘ領域に格納される画素に適用される。
【０１０３】
図２７は、カラー画像フォーマットの例を示す図である。図２７では、カラー画像フォーマットの例として、ＡＲＧＢフォーマットの例を示す。ＡＲＧＢフォーマットは、３２ビットのビット長を有する。それぞれが８ビットのＡ値、Ｒ値、Ｇ値、及び、Ｂ値が連結されている。ＡＲＧＢフォーマットは、写真画像の領域を描画する際に用いられる。
【０１０４】
図２８は、Ｉｎｄｅｘテーブルを生成する処理を示すフロー図である。図２８の処理は、図２６及び図２７に示す画像フォーマットにより、図２５に示すメモリ領域に描画する処理の例である。図２８の処理は、図１０の処理とほぼ同一であり、ステップＳ１０７とステップＳ１１０７が異なり、ステップＳ１１４とステップＳ１１１４とが異なる他は、同一の処理である。そこで、ここではステップＳ１１０７とステップＳ１１１４とについて説明する。
【０１０５】
ステップＳ１１０７では、次式によりＩｎｄｅｘ値が算出される。
Ｉｎｄｅｘ値＝カラー値  ＭＯＤ  ２５１
また、ステップＳ１１１４では、現在作成中の色テーブルの、処理中の描画コマンドに対応するＩｎｄｅｘ値に、２５５をセットする。
【０１０６】
図２９は、本実施形態の半透明描画処理を説明する図である。図２９の処理は、図１７の処理と、処理するメモリ領域の構成及び画像フォーマットが異なる。
【０１０７】
図２９のステップＳ１２０１では、Ｉｎｄｅｘ領域の画素情報を読み込む。ステップＳ１２０２では、ステップＳ１２０１で読み込まれた画素情報によるＩｎｄｅｘ値が、”２５５”か否かを判断する。”２５５”である場合には、ステップＳ１２０４に進み、”２５５”ではない場合には、ステップＳ１２０３に進む。
【０１０８】
ステップＳ１２０３では、ＩｎｄｅｘテーブルにおけるＩｎｄｅｘ値に対応するカラー値を取得する。一方、ステップＳ１２０４では、ＡＲＧＢ領域の画素情報を読み込み、ＲＧＢＡのカラー値を取得する。
【０１０９】
ステップＳ１２０５では、半透明演算を行い、指定された描画コマンドのＩｎｄｅｘ領域に値”２５５”を書き込み、ＡＲＧＢ領域にＲＧＢＡ値を書き込む。
【０１１０】
ステップＳ１２０５に続いてステップＳ１２０６に進み、描画コマンドにより描画する領域の全ての画素について、描画処理が終了したか否かの判断がなされる。描画処理が終了している場合には、処理を終了し、描画処理が終了していない画素がある場合には、ステップＳ１２０１に戻って処理を繰り返す。
【０１１１】
図３０は、本実施形態のＲＯＰ描画処理を説明する図である。図３０の処理は、図１８の処理と、処理するメモリ領域の構成及び画像フォーマットが異なる。
【０１１２】
図３０のステップＳ１３０１では、Ｉｎｄｅｘ領域の画素情報を読み込む。ステップＳ１３０２では、ステップＳ１３０１で読み込まれた画素情報によるＩｎｄｅｘ値が、”２５５”か否かを判断する。”２５５”である場合には、ステップＳ１３０４に進み、”２５５”ではない場合には、ステップＳ１３０３に進む。
【０１１３】
ステップＳ１３０３では、ＩｎｄｅｘテーブルにおけるＩｎｄｅｘ値に対応するカラー値を取得する。一方、ステップＳ１３０４では、ＡＲＧＢ領域の画素情報を読み込み、ＲＧＢＡのカラー値を取得する。
【０１１４】
ステップＳ１３０５では、ＲＯＰ演算を行い、指定された描画コマンドのＩｎｄｅｘ領域に値”２５５”を書き込み、ＡＲＧＢ領域にＲＧＢＡ値を書き込む。
【０１１５】
ステップＳ１３０５に続いてステップＳ１３０６に進み、描画コマンドにより描画する領域の全ての画素について、描画処理が終了したか否かの判断がなされる。描画処理が終了している場合には、処理を終了し、描画処理が終了していない画素がある場合には、ステップＳ１３０２に戻って処理を繰り返す。
【０１１６】
図３１は、通常のＲＧＢＡ値による描画処理を示すフロー図である。図３１の処理は、図１９の処理と、処理するメモリ領域の構成及び画像フォーマットが異なる。図３１のステップＳ１４０１では、Ｉｎｄｅｘ領域に対し、指定された描画コマンドにより値”２５５”を書き込む。さらに、ＡＲＧＢ領域に対し、指定された描画コマンドにより、ＲＧＢＡのカラー値を書き込む。
【０１１７】
ステップＳ１４０１に続いてステップＳ１４０２に進み、描画コマンドに対応する全ての画素の処理が終了したか否かの判断がなされる。終了している場合には、処理を終了する。処理されていない画素がある場合には、ステップＳ１４０１の処理を繰り返す。
【０１１８】
図３２は、Ｉｎｄｅｘ値による描画処理を示すフロー図である。図３２の処理は、図２０の処理と、処理するメモリ領域の構成及び画像フォーマットが異なる。図３２のステップＳ１５０１では、プレーン０領域に対し、指定された描画コマンドで、Ｉｎｄｅｘ値を書き込む。
【０１１９】
ステップＳ１５０１に続いてステップＳ１５０２に進み、描画コマンドに対応する全ての画素の処理が終了したか否かの判断がなされる。終了している場合には、処理を終了する。処理されていない画素がある場合には、ステップＳ１５０１の処理を繰り返す。
【０１２０】
図３３は、ＰＤＬから取得される描画コマンドの例を示す図である。図３３において、（ａ）はパラメータ設定コマンド、（ｂ）及び（ｃ）はグラフィックス描画コマンド、（ｄ）は写真画像描画コマンド、（ｅ）は終了コマンドである。
【０１２１】
本実施の形態では、（ｂ）及び（ｃ）のグラフィックス描画コマンドの描画を、Ｉｎｄｅｘ値による描画により実現する。なお、（ｂ）は、四角形を描画するコマンドであり、（ｃ）は、水平ラインを描画するコマンドである。そこで、描画コマンド毎に描画する面積は、（ｂ）の場合は、Ｘ幅とＹ幅との乗算となり、（ｃ）の場合は、Ｘ幅となる。
【０１２２】
図３４は、描画コマンドの例を示す図である。図３４の描画コマンドは、画像の単位である「バンド」に対し、複数の描画コマンドを有する。より詳細には、バンド全体に対する「バンド設定コマンド」に続いて、複数の「四角形描画コマンド」と「水平ライン描画コマンド」とが続く。そして、「写真画像描画用変倍実行コマンド」の後、末尾に「バンド終了コマンド」が付加されている。
【０１２３】
（コンピュータ等による実現  ＭＦＰ）
図３５は、本実施の形態に係る画像処理装置を実現するコンピュータの構成を説明する図である。図３５のコンピュータは、主処理部９０、入力装置９１、表示装置９２、スキャナ９３、プロッタ９４、ＮＩＣ９６、ドライブ装置９８、ハードディスク装置（以下、「ＨＤＤ」という。）９９、入力Ｉ／Ｆ９１９、表示Ｉ／Ｆ９２９、スキャナＩ／Ｆ９３９、プロッタＩ／Ｆ９４９、ドライブＩ／Ｆ９８９、及び、ＨＤＤ  Ｉ／Ｆ９９９を有する。
【０１２４】
主処理部９０は、コンピュータプログラムを実行して各機能を実現する。主処理部９０は、例えば、ＣＰＵ９０１、ＲＯＭ９０８、及び、ＲＡＭ９０９を有する。ＣＰＵ９０１は、コンピュータプログラムを実行することにより、コンピュータが有する各デバイス等の制御を行う。ＲＯＭ９０８は、例えば、コンピュータプログラムやパラメータ等が格納され、ＣＰＵ９０１にそれらが供せられる。ＲＡＭ９０９は、例えば、ＣＰＵ９０１がコンピュータプログラムを実行する際のワークメモリとして供せられる。
【０１２５】
入力装置９１は、例えば、キーボードやマウス等の入力デバイスとして構成され、コンピュータに対する指示等が入力される。表示装置９２は、コンピュータの状態等が表示される。スキャナ９３は、画像を光学的に読み取って、画像データを生成する。プロッタ９４は、媒体上に画像を形成して出力する。
【０１２６】
ＮＩＣ９６は、コンピュータと外部とをネットワークを介して接続する際のインタフェースの機能を実現し、その制御を行う。ドライブ装置９８は、記録媒体が挿入され、その記録媒体に記録された情報を読み出し、またその記録媒体に情報を記録する。ＨＤＤ９９は、大容量のデータを格納する記憶手段である。
【０１２７】
入力Ｉ／Ｆ９１９は、表示Ｉ／Ｆ９２９、スキャナＩ／Ｆ９３９、プロッタＩ／Ｆ９４９、ドライブＩ／Ｆ９８９、及び、ＨＤＤ  Ｉ／Ｆ９９９は、それぞれ、入力装置９１、表示装置９２、スキャナ９３、プロッタ９４、ドライブ装置９８、及び、ＨＤＤ９９がバスを介して主処理部９０と接続される際のインタフェースである。
【産業上の利用可能性】
【０１２８】
以上のように、本発明にかかる画像処理装置は、グラフィックス画像を含む画像の高速処理に有用であり、特に、印刷処理に適している。
【符号の説明】
【０１２９】
１     ＰＤＬ記憶部
２     ＰＤＬ解析部
３     描画コマンド記憶部
４     Ｉｎｄｅｘテーブル生成部
５     色テーブル記憶部
６     Ｉｎｄｅｘテーブル記憶部
８     Ｉｎｄｅｘ描画部
９     ＲＧＢＡ描画部
１０   Ｉｎｄｅｘ＆ＲＧＢＡ画像記憶部
１１   Ｉｎｄｅｘテーブル変換部
１２   色変換部
１３   ＵＣＲ処理部
１４   階調処理部
１５   階調処理後画像記憶部
１６   ＤＭＡ処理部
２１   描画コマンド生成部
２２   描画処理部
２３   描画前処理部
２４   描画後処理部
２５   画像処理部
９０   主処理部
９１   入力装置
９２   表示装置
９３   スキャナ
９４   プロッタ
９８   ドライブ装置
１００ 制御部
１１０ プリンタＡＳＩＣ
１１３ メインメモリアービタ
１１４ メインメモリコントローラ
１１６ ＤＭＡ部
１１８ エンジンコントローラ
１１９ 通信処理部
１２０ プリンタエンジン
１３０ メインメモリ
１０００      カラープリンタ
【先行技術文献】
【特許文献】
【０１３０】
【特許文献１】特開平６−１３９３６４号公報
【特許文献２】特開平１１−７８１２６号公報
【特許文献３】特開２００７−２１６６７５号公報
【図１】
2010218467.tif 000003
【図２】
2010218467.tif 000004
【図３】
2010218467.tif 000005
【図４】
2010218467.tif 000006
【図５】
2010218467.tif 000007
【図６】
2010218467.tif 000008
【図７】
2010218467.tif 000009
【図８】
2010218467.tif 000010
【図９】
2010218467.tif 000011
【図１０】
2010218467.tif 000012
【図１１】
2010218467.tif 000013
【図１２】
2010218467.tif 000014
【図１３】
2010218467.tif 000015
【図１４】
2010218467.tif 000016
【図１５】
2010218467.tif 000017
【図１６】
2010218467.tif 000018
【図１７】
2010218467.tif 000019
【図１８】
2010218467.tif 000020
【図１９】
2010218467.tif 000021
【図２０】
2010218467.tif 000022
【図２１】
2010218467.tif 000023
【図２２】
2010218467.tif 000024
【図２３】
2010218467.tif 000025
【図２４】
2010218467.tif 000026
【図２５】
2010218467.tif 000027
【図２６】
2010218467.tif 000028
【図２７】
2010218467.tif 000029
【図２８】
2010218467.tif 000030
【図２９】
2010218467.tif 000031
【図３０】
2010218467.tif 000032
【図３１】
2010218467.tif 000033
【図３２】
2010218467.tif 000034
【図３３】
2010218467.tif 000035
【図３４】
2010218467.tif 000036
【図３５】
2010218467.tif 000037