(57)【要約】【課題】減色処理を行わずとも高速に描画を行う画像処理装置、画像処理方法、及び、コンピュータプログラムを提供すること。【解決手段】入力画像の画像データを解析して、色値と該色値に対応づけられるインデックス値とを有するインデックステーブルを生成するインデックステーブル生成手段と、入力画像のうち、インデックス値に対応づけられる色値の画素からなり画素がインデックス値により表現されるインデックス画像を描画するインデックス描画手段と、入力画像のうち、インデックス値に対応づけられない色値の画素からなる多値画像を描画する多値描画手段と、インデックス画像の画素と多値画像の画素とを、入力画像における位置に対応づけて、一の記憶領域に格納する記憶手段と、インデックステーブルに基づいて、記憶手段に格納されたインデックス画像のインデックス値を色値に変換する変換手段と、を有する画像処理装置。【選択図】図４
2010162802.tif 000002
【特許請求の範囲】
【請求項１】
入力画像の画像データを解析して、色値と該色値に対応づけられるインデックス値とを有するインデックステーブルを生成するインデックステーブル生成手段と、
前記入力画像のうち、前記インデックス値に対応づけられる色値の画素からなり前記画素が前記インデックス値により表現されるインデックス画像を描画するインデックス描画手段と、
前記入力画像のうち、前記インデックス値に対応づけられない色値の画素からなる多値画像を描画する多値描画手段と、
前記インデックス画像の画素と前記多値画像の画素とを、前記入力画像における位置に対応づけて、一の記憶領域に格納する記憶手段と、
前記インデックステーブルに基づいて、前記記憶手段に格納された前記インデックス画像のインデックス値を前記色値に変換する変換手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記記憶手段に格納される画素は、前記インデックス画像と前記多値画像との何れに含まれる画素であるかを表す識別情報を有することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記記憶領域は、前記色値の色成分毎に対応づけられる複数のプレーンからなり、
前記インデックス画像は、一以上の前記プレーンに格納されることを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記変換手段は、一の画素に対応する色値又はインデックス値を、複数の前記プレーンから、一の読み出しコマンドにより読み出すことを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記インデックス画像の画素が有する識別情報と前記多値画像の画素が有する識別情報とは、一のプレーンに格納されることを特徴とする請求項３記載の画像処理装置。
【請求項６】
前記インデックステーブル生成手段は、前記入力画像の画像データに含まれるオブジェクト毎に、該オブジェクトの色数が所定数より少ない場合に該オブジェクトを構成する画素に対するインデックステーブルを生成し、
前記インデックス描画手段は、前記オブジェクト毎に、該オブジェクトのインデックステーブルに基づいて、インデックス画像を描画し、
前記変換手段は、前記オブジェクト毎に、該オブジェクトのインデックステーブルに基づいて変換することを特徴とする請求項１ないし５何れか一項に記載の画像処理装置。
【請求項７】
前記インデックステーブル生成手段は、前記オブジェクトがグラフィック画像又は文字画像の場合に、該オブジェクトの色数が所定数より少ないと判断することを特徴とする請求項６記載の画像処理装置。
【請求項８】
前記インデックステーブル生成手段は、前記オブジェクトが写真画像の場合に、該オブジェクトの色数が所定数以上であると判断することを特徴とする請求項６記載の画像処理装置。
【請求項９】
前記インデックステーブル生成手段は、前記入力画像の下地色の色値を含むインデックステーブルを生成することを特徴とする請求項１ないし８何れか一項に記載の画像処理装置。
【請求項１０】
前記識別情報は、ハフマン木により表現されることを特徴とする請求項２記載の画像処理装置。
【請求項１１】
前記インデックステーブル生成手段は、一の画像データから複数の互いにインデックス数の異なるインデックステーブルを生成する場合に、色値毎に対応づけられる優先順に基づいて、前記画像データに含まれる画素の色値を、インデックス数の少ないインデックステーブルから順に含ませることを特徴とする請求項１ないし１０何れか一項に記載の画像処理装置。
【請求項１２】
入力画像の画像データを解析して、色値と該色値に対応づけられるインデックス値とを有するインデックステーブルを生成するインデックステーブル生成ステップと、
前記入力画像のうち、前記インデックス値に対応づけられる色値の画素からなり前記画素が前記インデックス値により表現されるインデックス画像を描画するインデックス描画ステップと、
前記入力画像のうち、前記インデックス値に対応づけられない色値の画素からなる多値画像を描画する多値描画ステップと、
前記インデックス画像の画素と前記多値画像の画素とを、前記入力画像における位置に対応づけて、記憶手段が有する一以上の記憶領域のうちの一の記憶領域に格納する記憶ステップと、
前記インデックステーブルに基づいて、前記記憶手段に格納された前記インデックス画像のインデックス値を前記色値に変換する変換ステップと、
を有することを特徴とする画像処理方法。
【請求項１３】
前記記憶手段に格納される画素は、前記インデックス画像と前記多値画像との何れに含まれる画素であるかを表す識別情報を有することを特徴とする請求項１２記載の画像処理方法。
【請求項１４】
前記記憶領域は、前記色値の色成分毎に対応づけられる複数のプレーンからなり、
前記インデックス画像は、一以上の前記プレーンに格納されることを特徴とする請求項１３記載の画像処理方法。
【請求項１５】
前記変換ステップは、一の画素に対応する色値又はインデックス値を、複数の前記プレーンから、一の読み出しコマンドにより読み出すことを特徴とする請求項１４記載の画像処理方法。
【請求項１６】
前記インデックステーブル生成ステップにおいて、前記入力画像の画像データに含まれるオブジェクト毎に、該オブジェクトの色数が所定数より少ない場合に該オブジェクトを構成する画素に対するインデックステーブルを生成し、
前記インデックス描画ステップにおいて、前記オブジェクト毎に、該オブジェクトのインデックスデーブルに基づいて、インデックス画像を描画し、
前記変換ステップにおいて、前記オブジェクト毎に、該オブジェクトのインデックステーブルに基づいて変換することを特徴とする請求項１２ないし１５何れか一項に記載の画像処理方法。
【請求項１７】
前記インデックステーブル生成ステップにおいて、前記入力画像の下地色の色値を含むインデックステーブルを生成することを特徴とする請求項１２ないし１６何れか一項に記載の画像処理方法。
【請求項１８】
請求項１２ないし１７何れか一項に記載の画像処理方法を、コンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及び、コンピュータプログラムに関する。
【背景技術】
【０００２】
従来から、プリンタ等において、ネットワークから受け取ったＰＤＬ（ｐａｇｅ  ｄｅｓｃｒｉｐｔｉｏｎ  ｌａｎｇｕａｇｅ，ページ記述言語）を、階調処理して１色当たりのビット数が８ビットよりも少ない少値のＣＭＹＫデータとして描画して処理する技術がある。描画された少値の画像は、ＪＢＩＧ等により符号化され、符号はメモリに格納され、その後プリントアウトされる。この方式では、プリンタは、画像をバンド単位に処理する。
【０００３】
例えば、特開平６−１３９３６４号公報（特許文献１）には、ＰＤＬを解釈する際に、カラーパレットを生成し、カラーパレットの値によりページメモリに展開するページ記述言語処理装置の発明が開示されている。
【０００４】
また例えば、特許第３２１８０３４号公報（特許文献２）には、ゲーム機等において、メモリを節約するためにカラーパレットを使用することが記載されている。特許文献２に記載の画像処理装置では、フルカラー色の中から２５６色を表示する。
【０００５】
また、特開平１１−７８１２６号公報（特許文献３）には、ＰＤＬ解釈時に、文字データの色数が目的の色数を超えるか否かに応じて、色数を超えた場合に減色処理を行うカラープリント装置の発明が開示されている。
【０００６】
ところで、論理演算によるＲＯＰ処理や半透明処理を高画質で対応する為に、ＰＤＬから多値画像を描画して処理する方式がある。この方式では、プリンタは、ネットワークから受け取ったＰＤＬをバンド単位に多値のＲＧＢデータで描画する。描画された画像は、多値画像の圧縮アルゴリズム、例えばＪＰＥＧ等により符号化され、符号はメモリに格納される。プリントアウト時には、Ｃ、Ｍ、Ｙ、Ｋの版毎に遅延させて、メモリから符号データを読み込み、符号化した際の圧縮アルゴリズムによりＲＧＢデータに復号化する。その後、色変換処理により、ＣＭＹＫデータに変換し、階調処理により、２値、４値、８値等の少値又は多値に変換する。この方式では、階調処理後のＣ，Ｍ，Ｙ，Ｋの各版に対応するデータのみプリンタエンジンに転送する。プリンタは、各版専用の復号化装置と各版専用の画像処理装置を有する構成となる。
【０００７】
しかし、多値ＲＧＢデータを用いる場合は、例えば、２４ｂｉｔのＲＧＢデータを６００ＤＰＩでＡ４サイズを描画すると、ページ全体で約１００Ｍバイトの容量となり、高性能なＣＰＵと高速なメモリが必要となる。
【０００８】
また、近年のプリンタの印字スピードの増加と１２００ＤＰＩへの高画質の要求から、さらなる高性能なＣＰＵと高速なメモリを必要とする。特に下地、すなわち白色をページ全面に描画するクリアー処理を多値ＲＧＢにすると、単色であるにも関わらず大きな処理量となる。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記特許文献１及び３に記載のページ記述言語処理装置等の発明では、ＰＤＬ解析時にカラーパレットを生成し、カラーパレット値で描画することによりメモリ領域を少なくすることができるが、デジタルカメラの普及と高解像度化の流れの中で、より多い色数により写真画像をプリントする要求には応えられない。特に、特許文献３に記載のカラープリント装置では、色数がカラーパレット数を超えた際の減色処理に、多くの処理時間を費やす上に、画質の劣化を招く。
【００１０】
また、カラーパレット値を生成する際に、例えば、カラーパレット数が２５６色の場合には毎回２５６値と色値との比較が必要となり、演算量が多くなる。カラーパレット数が増えるとこの演算量はさらに大きくなるという課題がある。
【００１１】
本発明は、上記の点に鑑みて、これらの問題を解消するために発明されたものであり、減色処理を行わずとも高速に描画を行う画像処理装置、画像処理方法、及び、コンピュータプログラムを提供することを目的としている。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本発明の画像処理装置は次の如き構成を採用した。
【００１３】
本発明の画像処理装置は、入力画像の画像データを解析して、色値と該色値に対応づけられるインデックス値とを有するインデックステーブルを生成するインデックステーブル生成手段と、前記入力画像のうち、前記インデックス値に対応づけられる色値の画素からなり前記画素が前記インデックス値により表現されるインデックス画像を描画するインデックス描画手段と、前記入力画像のうち、前記インデックス値に対応づけられない色値の画素からなる多値画像を描画する多値描画手段と、前記インデックス画像の画素と前記多値画像の画素とを、前記入力画像における位置に対応づけて、一の記憶領域に格納する記憶手段と、前記インデックステーブルに基づいて、前記記憶手段に格納された前記インデックス画像のインデックス値を前記色値に変換する変換手段と、を有する構成とすることができる。
【００１４】
これにより、減色処理を行わずとも高速に描画を行う画像処理装置を提供することができる。
【００１５】
なお、上記課題を解決するため、本発明は、上記画像処理装置における画像処理方法、及び、その画像処理方法をコンピュータに実行させるためのコンピュータプログラムとしてもよい。
【発明の効果】
【００１６】
本発明の画像処理装置、画像処理方法、及び、コンピュータプログラムによれば、減色処理を行わずとも高速に描画を行う画像処理装置、画像処理方法、及び、コンピュータプログラムを提供することが可能になる。
【図面の簡単な説明】
【００１７】
【図１】図１は、画像処理装置を実装する画像形成装置の機構部の構成例を示す図である。
【図２】図２は、カラープリンタ１における電装・制御部の装置構成を示すブロック図である。
【図３】図３は、メインメモリ６００が有する各領域を説明する図である。
【図４】図４は、画像データを処理する機能の構成を説明する図である。
【図５】図５は、グラフィックス画像と写真画像とを含む画像の例を示す図である。
【図６】図６は、カラー画像フォーマットとＩｎｄｅｘフォーマットとの例を説明する図である。
【図７】図７は、第１の実施の形態におけるＩｎｄｅｘテーブルの例を示す図である。
【図８】図８は、Ｉｎｄｅｘフォーマット１とカラー画像フォーマットとにより描画処理された画像の例を示す図である。
【図９】図９は、第１の実施の形態における画像処理方法の概念を説明する図である。
【図１０】図１０は、第１の実施の形態における画像処理方法を説明するフロー図である。
【図１１】図１１は、グラフィックス描画を説明するフロー図である。
【図１２】図１２は、写真描画を説明するフロー図である。
【図１３】図１３は、グラフィックスＩｎｄｅｘテーブル生成処理部３２０の装置構成の例を示すブロック図である。
【図１４】図１４は、Ｉｎｄｅｘテーブル１処理部３２３のハードウェア構成の例を説明する図である。
【図１５】図１５は、Ｉｎｄｅｘテーブル２処理部３２４のハードウェア構成の例を説明する図である。
【図１６】図１６は、グラフィックスＩｎｄｅｘテーブル生成処理部３２０の処理を説明するフロー図である。
【図１７】図１７は、画像処理部７００のハードウェア構成の例を示す図である。
【図１８】図１８は、Ｉｎｄｅｘテーブル変換処理部７２０におけるＩｎｄｅｘ値からＲＧＢ値へ変換する処理のフロー図である。
【図１９】図１９は、メインメモリ６００ａが有する各領域を説明する図である。
【図２０】図２０は、属性フォーマットとＩｎｄｅｘフォーマットとの例を説明する図である。
【図２１】図２１は、ＲＧＢＸフォーマットの例を説明する図である。
【図２２】図２２は、第２の実施の形態におけるＩｎｄｅｘテーブルの例を示す図である。
【図２３】図２３は、描画処理された画像の例を示す図（その１）である。
【図２４】図２４は、描画処理された画像の例を示す図（その２）である。
【図２５】図２５は、第２の実施の形態におけるカラープリンタ１ａが有する、画像データを処理する機能の構成を説明する図である。
【図２６】図２６は、グラフィックスＩｎｄｅｘ描画処理部３３０ａにおけるグラフィックス描画処理の例を示すフロー図である。
【図２７】図２７は、写真画像ＲＧＢＡ描画処理部３１０ａにおける写真画像の描画処理の例を示すフロー図である。
【図２８】図２８は、画像処理部７００ａのハードウェア構成の例を示す図である。
【図２９】図２９は、Ｉｎｄｅｘテーブル変換処理部７２０ａにおける処理を示す図である。
【図３０】図３０は、画像処理装置を実現するコンピュータの構成を説明する図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態を図面に基づき説明する。なお、以下の実施の形態では、「カラーパレット」を、「Ｉｎｄｅｘ」ともいう。
【００１９】
〔第１の実施の形態〕
図１は、本実施の形態に係る画像処理装置を実装する画像形成装置の機構部の構成例を示す図である。図１では、画像形成装置としてカラープリンタ１を示す。カラープリンタ１は、４色（Ｙ、Ｍ、Ｃ、Ｋ）の画像をそれぞれ独立の作像系で形成し、この４色の画像を合成する４ドラムタンデムエンジンタイプの画像形成装置である。
【００２０】
（カラープリンタ１における電装・制御部のブロック）
図２は、カラープリンタ１における電装・制御部の装置構成を示すブロック図である。図２の電装・制御部１００は、プリンタＡＳＩＣ１１０、プリンタエンジン１８０、メインメモリ６００、及び、ＣＰＵ１９０を有し、ネットワークを介してパーソナルコンピュータ（以下、「ＰＣ」という。）９００に接続されている。
【００２１】
ＣＰＵ１９０は、カラープリンタ１の全体の制御を行う。ＣＰＵ１９０は、また、入力される画像データを処理し、Ｉｎｄｅｘテーブルの生成等を行う。プリンタエンジン１８０は、画像を媒体上に形成して出力する。メインメモリ６００は、ＣＰＵ１９０が出力する描画コマンド、ＣＰＵ１９０が実行するプログラム、及び、画像データのうちバンド毎の画像データであるバンドデータ、Ｉｎｄｅｘテーブル、ページ毎の圧縮データ等の各種データ等を格納する。なお、バンドデータは、例えば、ＩｎｄｅｘとＲＧＢＡとを含むバンドデータであり、ページデータは、例えば、階調処理後ＣＭＹＫページのデータである。
【００２２】
プリンタＡＳＩＣ１１０は、入力される画像データに対して所定の処理を行い、プリンタエンジン１８０に対して出力する。プリンタＡＳＩＣ１１０は、例えば、ＣＰＵ  インタフェース（以下、「Ｉ／Ｆ」という。）１１２、メインメモリアービタ１１３、メインメモリコントローラ１１４、ＤＭＡ部１１７、エンジンコントローラ１１８、及び、通信処理部１１９を有する。
【００２３】
ＣＰＵ  Ｉ／Ｆ１１２は、メインメモリアービタ１１３を介してメインメモリコントローラ１１４に接続され、ＣＰＵ１９０とメインメモリコントローラ１１４との間のインタフェース処理を行う。メインメモリアービタ１１３は、通信処理部１１９、及び、ＣＰＵ１９０からの、メインメモリ６００へのアクセス順等を管理する。メインメモリコントローラ１１４は、メインメモリ６００へのデータの書き込み及び読み出しを制御する。
【００２４】
ＤＭＡ部１１７は、プリンタエンジン１８０に同期して、メインメモリ６００に格納された階調処理後のＣＭＹＫページの画像データを受け取り、エンジンコントローラ１１８へ転送する。
【００２５】
通信処理部１１９は、通信コントローラであり、ネットワークを介して接続されたＰＣ９００から画像データを受信する。ＰＣ９００から送信される画像データは、例えば、ＰＤＬの形式を有する。通信処理部１１９は、受信した画像データを、メインメモリ６００に対して出力する。
【００２６】
（メインメモリ６００の構成）
図３は、メインメモリ６００が有する各領域を説明する図である。メインメモリ６００は、プログラム領域、ＰＤＬ格納メモリ領域、画像処理パラメータメモリ領域、Ｉｎｄｅｘ＆ＲＧＢＡページメモリ格納領域、階調処理後ＣＭＹＫページメモリ格納領域、及び、その他のデータを格納する領域を有する。
【００２７】
プログラム領域はＣＰＵ１９０が実行するプログラムを格納する。ＰＤＬ格納メモリ領域はＰＣからのＰＤＬを格納する。画像処理パラメータメモリ領域はＣＰＵ１９０により実現される画像処理部に必要な画像処理パラメータを格納する。
【００２８】
Ｉｎｄｅｘ＆ＲＧＢＡページメモリ格納領域は、４つのプレーンから構成され、Ｉｎｄｅｘフォーマットに基づき、Ｉｎｄｅｘ値、又は、カラー値のデータを格納する。Ｉｎｄｅｘ＆ＲＧＢＡページメモリ格納領域は、プレーン０メモリ領域６３１、プレーン１メモリ領域６３２、プレーン２メモリ領域６３３、及び、プレーン３メモリ領域６３４を有する。これらの領域は、ＣＭＹＫの各色を一のプレーンとするプレーン０ないしプレーン３に対応して設けられる。なお、Ｉｎｄｅｘ＆ＲＧＢＡページメモリ格納領域は、Ｉｎｄｅｘフォーマットによる描画を行う場合には、プレーン０ないしプレーン３のうちの、１又は２個のプレーンのみに対する描画が行われる。
【００２９】
階調処理後ＣＭＹＫページメモリ格納領域は、画像処理後の階調処理後ＣＭＹＫデータを格納する。
【００３０】
（画像データを処理する機能の構成）
図４は、本実施形態のカラープリンタ１が有する、画像データを処理する機能の構成を説明する図である。カラープリンタ１は、ＰＤＬ記憶部１３０、ＰＤＬ解析処理部１４０、描画処理部３００、Ｉｎｄｅｘ＆ＲＧＢＡページ画像記憶部６１０、画像処理部７００、階調処理後ＣＭＹＫページ画像記憶部６２０、ＤＭＡ部１１７、プリンタエンジン１８０を有する。なお、ＰＤＬ解析処理部１４０、描画処理部３００、及び、画像処理部７００は、例えば、ＣＰＵ１９０がプログラムを実行することにより実現される。
【００３１】
また、ＰＤＬ記憶部１３０、Ｉｎｄｅｘ＆ＲＧＢＡページ画像記憶部６１０、及び、階調処理後ＣＭＹＫページ画像記憶部６２０は、メインメモリ６００に設けられる。ＰＤＬ記憶部１３０は、図３のＰＤＬ格納メモリ領域に対応する。Ｉｎｄｅｘ＆ＲＧＢＡページ画像記憶部６１０は、図３のＩｎｄｅｘ＆ＲＧＢＡページメモリ格納領域に対応する。階調処理後ＣＭＹＫページ画像記憶部６２０は、図３の階調処理後ＣＭＹＫページメモリ格納領域に対応する。
【００３２】
入力されるＰＤＬデータは、ＰＤＬ記憶部１３０に記憶された後に、各部で処理され、プリンタエンジン１８０から出力される。ここでは、画像データの処理の順にしたがって説明する。
【００３３】
ＰＤＬ記憶部１３０は、通信処理部１１９から送られたＰＤＬを記憶する。ＰＤＬ解析処理部１４０は、ＰＤＬ記憶部１３０からＰＤＬを読み込み、ＰＤＬを解析する。
【００３４】
ＰＤＬ解析処理部１４０により解析されたＰＤＬのうち、グラフィックスコマンドに含まれるカラー情報とグラフィックス描画コマンドとは、描画処理部３００が有するグラフィックスＩｎｄｅｘテーブル生成処理部３２０に対して転送される。また、写真画像コマンドに含まれるカラー情報と描画コマンドとは、描画処理部３００が有する写真画像ＲＧＢＡ描画処理部３１０に対して転送される。
【００３５】
図５は、グラフィックス画像と写真画像とを含む画像の例を示す図である。図５（ａ）は、ＲＧＢ画像フォーマットにより描画された例である。図５（ｂ）は、図５（ａ）の画像を、Ｉｎｄｅｘフォーマットによる描画領域と、カラー画像フォーマットによる描画領域とに分けた例である。図５（ｂ）では、写真画像が、カラー画像フォーマットにより描画され、グラフィックス画像が、Ｉｎｄｅｘフォーマットにより描画される。グラフィックス領域は色数が少ないため、Ｉｎｄｅｘフォーマットで描画するとよい。
【００３６】
図６は、カラー画像フォーマットとＩｎｄｅｘフォーマットとの例を説明する図である。図６では、１つのカラー画像フォーマットと、２つのＩｎｄｅｘフォーマットとを示す。カラー画像フォーマットは、カラー画像フォーマットであることを示す２ビットのヘッダーと、属性を表す６ビットの値、及び、Ｒ，Ｇ，Ｂの各色に対応する８ビットの値とからなる。図６のカラー画像フォーマットによる画像データを、メインメモリ６００が有するＩｎｄｅｘ＆ＲＧＢＡページメモリ格納領域に格納する際には、例えば、ヘッダーと属性値とを、プレーン０メモリ領域６３１に格納し、プレーン１メモリ領域６３２ないしプレーン３メモリ領域６３４に、それぞれ、Ｒ，Ｇ，Ｂの値を格納する。
【００３７】
Ｉｎｄｅｘフォーマット１は、Ｉｎｄｅｘフォーマット１であることを示す１ビットのヘッダーと、７ビットのＩｎｄｅｘテーブル値とからなる。Ｉｎｄｅｘフォーマット１は、０から１２７の１２８個のテーブル値を表現することができる。このフォーマットによる画像データは、例えば、プレーン０メモリ領域６３１に格納されるとよい。
【００３８】
Ｉｎｄｅｘフォーマット２は、Ｉｎｄｅｘフォーマット２であることを示す２ビットのヘッダー、属性を表す６ビットの属性値、及び、８ビットのカラーＩｎｄｅｘテーブル値とからなる。Ｉｎｄｅｘフォーマット２は、０から２５５の２５６個のテーブル値を表現することができる。このフォーマットによる画像データは、例えば、プレーン０メモリ領域６３１に、ヘッダーと属性値とが格納され、プレーン１メモリ領域６３２に、カラーＩｎｄｅｘテーブル値が格納されるとよい。
【００３９】
これらのフォーマットのヘッダーはハフマン木で構成されている。Ｉｎｄｅｘフォーマット１のヘッダーは、１ｂｉｔの“１”であり、Ｉｎｄｅｘ値のダイナミックレンジをなるべく大きくし、さらに、頻度が高い色に対して割り当てることにより、効率良い割り当てを行うことができる。
【００４０】
カラー画像フォーマットのヘッダーとＩｎｄｅｘフォーマット２のヘッダーとは、２ｂｉｔで構成され，最初のｂｉｔが“０”であるので、Ｉｎｄｅｘフォーマット１と容易に分類することができる。また、２ｂｉｔ目でカラー画像フォーマットとＩｎｄｅｘフォーマット２とを分類する。
【００４１】
何れのフォーマットも、ヘッダー情報をプレーン０の先頭に配置する。また、頻度が高い色に用いるＩｎｄｅｘフォーマット１は、プレーン０メモリ領域６３１にのみ描画することにより、描画する領域を少なくすることができ、描画処理の高速化を図ることができる。
【００４２】
図７は、Ｉｎｄｅｘテーブルの例を示す図である。図７（ａ）は、Ｉｎｄｅｘフォーマット１のインデックステーブル１であり、図７（ｂ）は、Ｉｎｄｅｘフォーマット２のインデックステーブル２である。図７（ａ）では、０から１２７のＩｎｄｅｘテーブル値のそれぞれに対し、Ａ，Ｒ，Ｇ，Ｂからなる色情報が１つずつ対応づけられている。図７（ｂ）では、０から２５５のＩｎｄｅｘテーブル値のそれぞれに対し、Ｒ，Ｇ，Ｂからなる色情報が１つずつ対応づけられている。
【００４３】
図４に戻り、描画処理部３００は、写真画像ＲＧＢＡ描画処理部３１０、グラフィックスＩｎｄｅｘテーブル生成処理部３２０、及び、グラフィックスＩｎｄｅｘ描画処理部３３０を有する。
【００４４】
グラフィックスＩｎｄｅｘテーブル生成処理部３２０は、ＰＤＬ解析処理部１４０からカラー情報とグラフィックス描画コマンドとを受け取り、Ｉｎｄｅｘテーブル値を生成する。
【００４５】
グラフィックスＩｎｄｅｘ描画処理部３３０は、グラフィックスＩｎｄｅｘテーブル生成処理部３２０からグラフィックス描画コマンドとＩｎｄｅｘ値とを受け取り、Ｉｎｄｅｘ画像フォーマットによる描画を行う。グラフィックスＩｎｄｅｘ描画処理部３３０は、メインメモリ６００の、プレーン１メモリ領域６３２ないしプレーン３メモリ領域６３４に、それぞれ、各色の画像を描画する。写真画像ＲＧＢＡ描画処理部３１０は、ＰＤＬ解析処理部１４０から写真描画コマンドと写真画像のソース画像を受け取り、写真画像の描画処理を行う。
【００４６】
図８は、Ｉｎｄｅｘフォーマット１とカラー画像フォーマットとにより描画処理された画像の例を示す図であって、図５（ａ）のＲＧＢ画像をメインメモリ６００の領域に描画する際の例である。
【００４７】
図８では、プレーン０メモリ領域６３１に、Ｉｎｄｅｘフォーマット１による描画が行われている。プレーン０メモリ領域６３１には、さらに、カラー画像フォーマットによる描画のうち、ヘッダーと属性値とによる描画が行われている。図８のプレーン１メモリ領域６３２ないしプレーン３メモリ領域６３４には、それぞれ、カラー画像フォーマットのＲ，Ｇ，Ｂの描画が行われている。
図８では、グラフィックス画像の部分が、プレーン０のみの描画となる。これにより、描画するメモリ領域が少なく、描画処理を高速にできる。
【００４８】
図４に戻り、Ｉｎｄｅｘ＆ＲＧＢＡページ画像記憶部６１０は、描画処理部３００により描画されたＩｎｄｅｘ値とＲＧＢＡページ画像（以下、「Ｉｎｄｅｘ＆ＲＧＢＡページ画像」という。）とを記憶する。
【００４９】
画像処理部７００は、Ｉｎｄｅｘテーブル記憶部７１０、Ｉｎｄｅｘテーブル変換処理部７２０、ＲＧＢ→ＣＭＹ色変換処理部７３０、ＵＣＲ処理部７４０、及び、階調処理部７５０を有する。
【００５０】
Ｉｎｄｅｘテーブル記憶部７１０は、グラフィックスＩｎｄｅｘテーブル生成処理部３２０により生成されるＩｎｄｅｘテーブルを格納するバッファーである。Ｉｎｄｅｘテーブル変換処理部７２０は、Ｉｎｄｅｘ＆ＲＧＢＡページ画像記憶部６１０からＩｎｄｅｘ＆ＲＧＢＡページ画像を読み込み、Ｉｎｄｅｘフォーマットに基づきＲＧＢ値へ変換する。
【００５１】
ＲＧＢ→ＣＭＹ色変換処理部７３０は、Ｉｎｄｅｘテーブル変換処理部７２０で変換されたデータを色変換し、ＵＣＲ処理部７４０へ転送する。ＵＣＲ処理部７４０は、ＲＧＢ→ＣＭＹ色変換処理部７３０で色変換した画像データに対し、ＵＣＲ処理を行い、階調処理部７５０へ転送する。階調処理部７５０は、ＵＣＲ処理部７４０でＵＣＲ処理した画像データに対し階調処理を行い、階調処理後ＣＭＹＫページ画像記憶部６２０へ転送する。
階調処理後ＣＭＹＫページ画像記憶部６２０は、画像処理部７００により処理された階調処理後ＣＭＹＫページ画像を記憶する。
【００５２】
ＤＭＡ部１１７は、階調処理後ＣＭＹＫページ画像記憶部６２０に格納された階調処理後ＣＭＹＫページ画像を読み込み、プリンタエンジン１８０に転送する。なお、プリンタエンジン１８０に転送する際に、エンジンコントローラ１１８を介してもよい。プリンタエンジン１８０は、入力された画像データをプリントアウトする。
【００５３】
（本実施形態に係る画像処理方法の概念を説明する図）
図９は、本実施形態に係る画像処理方法の概念を説明する図である。図９では、ＰＣ９００が、ＰＤＬを生成し、ネットワークを介してカラープリンタ１に転送する。
【００５４】
カラープリンタ１は、メインメモリ６００、描画処理部３００、Ｉｎｄｅｘテーブル生成処理部４００、Ｉｎｄｅｘテーブルメモリ５００、画像処理部７００、ＤＭＡ部１１７、エンジンコントローラ１１８、通信処理部１１９、及び、プリンタエンジン１８０を有する。
【００５５】
通信処理部１１９は、ＰＣ９００からのＰＤＬを受け取り、メインメモリ６００のＰＤＬメモリ領域へ格納する。描画処理部３００は、ＰＤＬを解析し、Ｉｎｄｅｘ＆ＲＧＢＡページ画像の描画処理等を行う。Ｉｎｄｅｘテーブル生成処理部４００は、描画処理部３００から受け取ったカラー値をＩｎｄｅｘ値へ変換し、Ｉｎｄｅｘテーブルを生成する。
【００５６】
Ｉｎｄｅｘテーブルメモリ５００は、Ｉｎｄｅｘテーブル生成処理部４００で生成されたＩｎｄｅｘテーブルを保持する。Ｉｎｄｅｘテーブルメモリ５００は、画像処理部７００と一の構成としてもよい。
【００５７】
画像処理部７００は、メインメモリ６００のＩｎｄｅｘ＆ＲＧＢＡページ画像記憶領域から画像データを読み込む。画像処理部７００は、さらに、Ｉｎｄｅｘテーブルメモリ５００から、Ｉｎｄｅｘテーブル値を読み込み、画像データの処理を行い、メインメモリの階調処理後ＣＭＹＫページ画像メモリ領域へ書き込む。
【００５８】
ＤＭＡ部１１７は、メインメモリ６００の階調処理後ＣＭＹＫページ画像メモリ領域から階調処理後のＣＭＹＫ画像を読み込み、エンジンコントローラ１１８へ転送する。エンジンコントローラ１１８は、ＤＭＡ部１１７から受け取った画像データをプリンタエンジン１８０へ転送する。プリンタエンジン１８０は、画像を媒体上に形成して出力する。
【００５９】
（画像処理方法のフロー）
図１０は、本実施形態の画像処理方法を説明するフロー図である。図１０のステップＳ１０１では、ＰＤＬ解析処理部１４０が、ＰＤＬを解析して、描画コマンドを読み込む。ステップＳ１０２では、ＰＤＬ解析処理部１４０が、ステップＳ１０１で読み込まれた描画コマンドが、グラフィックス描画コマンドであるか否かを判断する。グラフィックス描画コマンドの場合には、ステップＳ１０３に進み、そうではない場合には、ステップＳ１０５に進む。
【００６０】
ステップＳ１０３では、グラフィックスＩｎｄｅｘテーブル生成処理部３２０が、Ｉｎｄｅｘテーブルに基づいて、カラー値をＩｎｄｅｘ値へ変換させ、Ｉｎｄｅｘフォーマットに変換する。ステップＳ１０４では、グラフィックスＩｎｄｅｘ描画処理部３３０が、ステップＳ１０３で変換されたＩｎｄｅｘ値により、Ｉｎｄｅｘ＆ＲＧＢＡページ画像記憶部６１０にグラフィックス描画処理を行う。
【００６１】
一方、ステップＳ１０５では、写真画像ＲＧＢＡ描画処理部３１０が、カラー画像フォーマットにより、Ｉｎｄｅｘ＆ＲＧＢＡページ画像記憶部６１０に、写真画像の描画処理を行う。
【００６２】
ステップＳ１０６では、ＰＤＬに含まれている全ての描画コマンドを処理したか否かの判断がなされる。全ての描画コマンドが処理されている場合には、ステップＳ１０７に進み、そうではない場合には、ステップＳ１０１に戻って処理を繰り返す。
【００６３】
ステップＳ１０７では、グラフィックスＩｎｄｅｘテーブル生成処理部３２０が、ステップＳ１０３で生成したＩｎｄｅｘテーブルを、Ｉｎｄｅｘテーブル記憶部７１０に転送する。これにより、Ｉｎｄｅｘテーブル記憶部７１０が、Ｉｎｄｅｘテーブルを保持するようになる。
【００６４】
ステップＳ１０８では、画像処理部７００が、Ｉｎｄｅｘ＆ＲＧＢＡページ画像記憶部６１０に格納されている画像データを、Ｉｎｄｅｘ値からＲＧＢＡ値へ変換した後、色変換処理、階調変換処理等を行う。処理された画像は、階調処理後ＣＭＹＫページ画像記憶部６２０に格納される。
【００６５】
ステップＳ１０９では、ＤＭＡ部１１７が、階調処理後ＣＭＹＫページ画像記憶部６２０に格納された画像データを、プリンタエンジン１８０にＤＭＡ転送し、プリンタエンジン１８０が、その画像データを印刷する。
【００６６】
（グラフィックス描画の詳細）
図１１は、グラフィックス描画を説明するフロー図であって、図１０のステップＳ１０４で行われる処理の詳細を説明するフロー図である。図１１の処理は、グラフィックスＩｎｄｅｘ描画処理部３３０により、メインメモリ６００のプレーン０メモリ領域６３１からプレーン３メモリ領域６３４に対して行われる。
【００６７】
図１１のステップＳ２０１では、入力される値の、ヘッダー部分を解析することにより、そのＩｎｄｅｘ値が、Ｉｎｄｅｘフォーマット１によるものであるか否かの判断がなされる。Ｉｎｄｅｘフォーマット１である場合には、ステップＳ２０２に進み、そうではない場合には、ステップＳ２０３に進む。
ステップＳ２０２では、Ｉｎｄｅｘテーブル１の値により、プレーン０に対する描画を行う。
【００６８】
一方、ステップＳ２０３では、Ｉｎｄｅｘ値が、Ｉｎｄｅｘフォーマット２によるものであるか否かの判断がなされる。Ｉｎｄｅｘフォーマット２である場合には、ステップＳ２０４に進み、そうではない場合には、ステップＳ２０６に進む。
【００６９】
ステップＳ２０４では、Ｉｎｄｅｘテーブル２の値により、プレーン０に対する描画を行う。ステップＳ２０５では、Ｉｎｄｅｘテーブル２の値により、プレーン１に対する描画を行う。
【００７０】
ステップＳ２０６では、ＲＧＢＡの属性値（以下、「Ａ値」ともいう。）により、プレーン０に対する描画を行う。ステップＳ２０７では、ＲＧＢＡのＲ値によりプレーン１に対する描画を行う。ステップＳ２０８では、ＲＧＢＡのＧ値によりプレーン２に対する描画を行う。ステップＳ２０９では、ＲＧＢＡのＢ値によりプレーン３に対する描画を行う。
【００７１】
（写真描画の詳細）
図１２は、写真描画を説明するフロー図であって、図１０のステップＳ１０５で行われる処理の詳細を説明するフロー図である。図１２の処理は、写真画像ＲＧＢＡ描画処理部３１０により、メインメモリ６００のプレーン０メモリ領域６３１からプレーン３メモリ領域６３４に対して行われる。
【００７２】
図１２のステップＳ３０１では、写真画像のソース画像を読み込み、ＲＧＢＡ値を取得する。ステップＳ３０２では、ＲＧＢＡのＡ値により、プレーン０に対する描画を行う。ステップＳ３０３では、ＲＧＢＡのＲ値により、プレーン１に対する描画を行う。ステップＳ３０４では、ＲＧＢＡのＧ値により、プレーン２に対する描画を行う。ステップＳ３０５では、ＲＧＢＡのＢ値により、プレーン３に対する描画を行う。
【００７３】
（グラフィックスＩｎｄｅｘテーブル生成処理部３２０の構成）
図１３は、グラフィックスＩｎｄｅｘテーブル生成処理部３２０の装置構成の例を示すブロック図である。図１３のグラフィックスＩｎｄｅｘテーブル生成処理部３２０は、バスアービタＩ／Ｆ３２１、ＲＧＢＡ値レジスタ３２２、Ｉｎｄｅｘテーブル１処理部３２３、Ｉｎｄｅｘテーブル２処理部３２４、Ｉｎｄｅｘ値レジスタ３２５、テーブルのＲＧＢＡ値レジスタ３２６、及び、制御部３２９を有する。
【００７４】
バスアービタＩ／Ｆ３２１は、ＲＧＢＡ値レジスタ３２２、Ｉｎｄｅｘ値レジスタ３２５、及び、テーブルのＲＧＢＡ値レジスタ３２６が、メインメモリアービタ１１３と信号を送受信する際の、インタフェースである。
【００７５】
ＲＧＢＡ値レジスタ３２２は、ＰＤＬ解析処理部１４０により取得されたカラー値を格納する。このカラー値は、ＲＧＢＡ値により表現される。
【００７６】
Ｉｎｄｅｘテーブル１処理部３２３は、ＲＧＢＡ値レジスタ３２２に格納されたカラー値をＩｎｄｅｘフォーマット１によるＩｎｄｅｘ値に変換する。なお、Ｉｄｎｅｘテーブル１処理部３２３は、Ｉｎｄｅｘフォーマット１によるＩｎｄｅｘテーブルの生成も行う。
【００７７】
Ｉｎｄｅｘテーブル２処理部３２４は、ＲＧＢＡ値レジスタ３２２に格納されたカラー値をＩｎｄｅｘフォーマット２によるＩｎｄｅｘ値に変換する。なお、Ｉｎｄｅｘテーブル２処理部３２４は、Ｉｎｄｅｘフォーマット２によるＩｎｄｅｘテーブルの生成も行う。
【００７８】
Ｉｎｄｅｘ値レジスタ３２５は、Ｉｎｄｅｘテーブル１処理部３２３及びＩｎｄｅｘテーブル２処理部３２４により求められたＩｎｄｅｘ値を格納する。格納されたＩｎｄｅｘ値は、バスアービタＩ／Ｆ３２１により、画像処理部７００に転送される。
【００７９】
テーブルのＲＧＢＡ値レジスタ３２６は、Ｉｎｄｅｘテーブル１処理部３２３及びＩｎｄｅｘテーブル２処理部３２４で求められたＩｎｄｅｘテーブルを格納する。格納されたＩｎｄｅｘテーブルは、バスアービタＩ／Ｆ３２１により、画像処理部７００に転送される。
【００８０】
（Ｉｎｄｅｘテーブル１処理部３２３のハードウェア構成の例）
図１４は、Ｉｎｄｅｘテーブル１処理部３２３のハードウェア構成の例を説明する図である。図１４のＩｎｄｅｘテーブル１処理部３２３は、レジスタ３０ａないし３０ｆ、比較器３１ａないし３１ｆ、インデックス生成部３３、ＯＲ演算器３４、及び、マルチプレクサ３５を有する。
【００８１】
レジスタ３０ａないし３０ｆは、１２８個のレジスタであり、ＲＧＢＡ値レジスタ３２２から入力されるＲＧＢＡ値データを受け取り、Ｉｎｄｅｘ値に対応するデータとして記憶する。
【００８２】
比較器３１ａないし３１ｆは、１２８個の比較器であり、レジスタ３０ａないし３０ｆに格納されたＲＧＢＡデータを並列に比較し、比較結果を、インデックス生成部３３及びＯＲ演算器３４に対して出力する。
【００８３】
インデックス生成部３３は、比較器３１ａないし３１ｆから出力される比較結果により、Ｉｎｄｅｘ値を生成する。ＯＲ演算器３４は、比較器３１ａないし３１ｆからの出力に、「比較結果が一致する」旨の情報があるか否かを判定する機能を有する。すなわち、比較結果が一致する場合に値１を有する場合には、比較器３１ａないし３１ｆのうち、一つでも値１を出力するものがあるときに、ＯＲ演算器３４の出力が値１となる。
【００８４】
マルチプレクサ３５は、レジスタ３０ａないし３０ｆに格納されたＲＧＢＡ値のうち、一の値を選択し、テーブルのＲＧＢＡ値レジスタ３２６に対して転送する。
【００８５】
図１５は、Ｉｎｄｅｘテーブル２処理部３２４のハードウェア構成の例を説明する図である。図１５のＩｎｄｅｘテーブル２処理部３２４は、図１４のＩｎｄｅｘテーブル１処理部３２３に対し、Ｉｎｄｅｘ値のダイナミックレンジが異なる。Ｉｎｄｅｘテーブル１処理部３２３は、０から１２７の１２８個のＩｎｄｅｘ値に対応するＩｎｄｅｘテーブル１を生成するのに対し、Ｉｎｄｅｘテーブル２処理部３２４は、０から２５５の２５６個のＩｎｄｅｘ値に対応するＩｎｄｅｘテーブル２を生成する。
【００８６】
そこで、Ｉｎｄｅｘテーブル２処理部３２４は、レジスタ及び比較器の数が、Ｉｎｄｅｘテーブル１処理部３２３の倍となる。その他の構成は、Ｉｎｄｅｘテーブル１処理部３２３と同一であるので、ここでは、説明を省略する。
【００８７】
（グラフィックスＩｎｄｅｘテーブル生成処理部３２０の処理）
図１６は、グラフィックスＩｎｄｅｘテーブル生成処理部３２０の処理を説明するフロー図である。図１６のステップＳ４０１では、グラフィックスＩｎｄｅｘテーブル生成処理部３２０が、ＲＧＢＡのカラー情報を受け取り、ＲＧＢＡ値レジスタ３２２に格納する。ステップＳ４０２では、Ｉｎｄｅｘテーブル１処理部３２３が、Ｉｎｄｅｘフォーマット１のＩｎｄｅｘテーブル１に、ステップＳ４０１で格納されたＲＧＢＡ値を検索する。
【００８８】
ステップＳ４０３では、ステップＳ４０２での検索の結果、Ｉｎｄｅｘテーブル１に検索したＲＧＢＡ値があるか否かを判断する。ＲＧＢＡ値がある場合には、ステップＳ４０４に進み、ＲＧＢＡ値が無い場合には、ステップＳ４０５に進む。
【００８９】
ステップＳ４０４では、Ｉｎｄｅｘテーブル１処理部３２３が、ステップＳ４０１で受け取ったＲＧＢＡ値は、Ｉｎｄｅｘフォーマット１に含まれる値であると判断し、対応するＩｎｄｅｘ値をＩｎｄｅｘ値レジスタ３２５に出力する。
【００９０】
ステップＳ４０５では、Ｉｎｄｅｘテーブル１処理部３２３が、Ｉｎｄｅｘテーブル１に、未だＲＧＢＡ値が対応づけられていないＩｎｄｅｘ値があるか否か、すなわち、Ｉｎｄｅｘテーブル１に空きレコードがあるか否かを判断する。空きがある場合には、ステップＳ４０６に進み、空きがない場合には、ステップＳ４０７に進む。
【００９１】
ステップＳ４０６では、Ｉｎｄｅｘテーブル１処理部３２３が、ＲＧＢＡ値をＩｎｄｅｘテーブル１に登録し、さらに、そのＲＧＢＡ値をＩｎｄｅｘフォーマット１に対応するものとして、Ｉｎｄｅｘ値をＩｎｄｅｘ値レジスタ３２５に出力する。
【００９２】
ステップＳ４０７では、Ｉｎｄｅｘテーブル２処理部３２４が、Ｉｎｄｅｘフォーマット２のＩｎｄｅｘテーブル２に、ステップＳ４０１で格納されたＲＧＢＡ値を検索する。
【００９３】
ステップＳ４０８では、ステップＳ４０７での検索の結果、Ｉｎｄｅｘテーブル２に検索したＲＧＢＡ値があるか否かを判断する。ＲＧＢＡ値がある場合には、ステップＳ４０９に進み、ＲＧＢＡ値が無い場合には、ステップＳ４１０に進む。
【００９４】
ステップＳ４０９では、Ｉｎｄｅｘテーブル２処理部３２４が、ステップＳ４０１で受け取ったＲＧＢＡ値は、Ｉｎｄｅｘフォーマット２に含まれる値であると判断し、対応するＩｎｄｅｘ値をＩｎｄｅｘ値レジスタ３２５に出力する。
【００９５】
ステップＳ４１０では、Ｉｎｄｅｘテーブル２処理部３２４が、Ｉｎｄｅｘテーブル２に、未だＲＧＢＡ値が対応づけられていないＩｎｄｅｘ値があるか否か、すなわち、Ｉｎｄｅｘテーブル２に空きレコードがあるか否かを判断する。空きがある場合には、ステップＳ４１１に進み、空きがない場合には、ステップＳ４１２に進む。
【００９６】
ステップＳ４１１では、Ｉｎｄｅｘテーブル２処理部３２４が、ＲＧＢＡ値をＩｎｄｅｘテーブル２に登録し、さらに、そのＲＧＢＡ値をＩｎｄｅｘフォーマット２に対応するものとして、Ｉｎｄｅｘ値をＩｎｄｅｘ値レジスタ３２５に出力する。
【００９７】
ステップＳ４１２では、Ｉｎｄｅｘフォーマット１及びＩｎｄｅｘフォーマット２の何れでもない、カラー画像フォーマットであるとして、ＲＧＢＡ値を出力する。
【００９８】
（画像処理部７００のハードウェア構成）
図１７は、画像処理部７００のハードウェア構成の例を示す図である。図１７の画像処理部７００は、Ｉｎｄｅｘテーブル変換処理部７２０、色変換処理部７３５、及び、階調処理部７５０を有する。画像処理部７００は、さらに、これらの各部に接続されるバッファー等の記憶部と、バスを介して入出力されるデータを制御する各部を有する。
【００９９】
画像処理部７００が有する記憶部は、Ｉｎｄｅｘテーブル１記憶部７１１、Ｉｎｄｅｘテーブル２記憶部７１２、格子点データ記憶部７３６、ガンマテーブル記憶部７３７、ハーフトーンパラメータ記憶部７５１、及び、しきい値マトリックス記憶部７５２、である。
【０１００】
また、画像処理部７００が有する入出力されるデータを制御する各部は、画像処理パラメータ読み込み部７６１、パラメータアドレス生成部７６２、ＤＭＡパラメータ記憶部７６３、Ｉｎｄｅｘ＆ＲＧＢ画像読み込み部７２９、画像処理後画像バッファー７６６、画像処理後画像アドレス生成部７６７、画像処理後画像書き込み部７６８、及び、バスアービタＩ／Ｆ７９０である。
【０１０１】
バスアービタＩ／Ｆ７９０は、画像処理パラメータ読み込み部７６１、Ｉｎｄｅｘ＆ＲＧＢ画像読み込み部７２９、及び、画像処理後画像書き込み部７６８から、バスアービタへの要求を調停する。
【０１０２】
画像処理パラメータ読み込み部７６１は、バスアービタＩ／Ｆ７９０を介してメインメモリ６００の画像処理パラメータメモリ領域から各種のパラメータを読み込み、画像処理部７００が有するそれぞれの記憶部へ転送する。
【０１０３】
パラメータアドレス生成部７６２は、メインメモリ６００の画像処理パラメータメモリ領域から各種のパラメータを読み込む際のアドレスを生成する。ＤＭＡパラメータ記憶部７６３は、画像処理パラメータ読み込み部７６１から受け取った、画像データのバンド幅、バンド高さ、バンドスタートアドレス、階調処理後ＣＭＹＫバンド幅、階調処理後ＣＭＹＫバンド高さ、Ｃ、Ｍ、Ｙ、Ｋバンドスタートアドレス等を格納する。これらのパラメータは、画像処理後の画像データを再びメインメモリ６００に格納させる際に供せられる。
【０１０４】
Ｉｎｄｅｘテーブル１記憶部７１１とＩｎｄｅｘテーブル２記憶部７１２とは、それぞれ、グラフィックスＩｎｄｅｘテーブル生成処理部３２０により生成されたＩｎｄｅｘテーブル１とＩｎｄｅｘテーブル２とを格納する。
【０１０５】
格子点データ記憶部７３６は、色変換処理部７３５が用いる格子点データ等を、画像処理パラメータ読み込み部７６１から受け取り格納する。ガンマテーブル記憶部７３７は、色変換処理部７３５が用いるガンマデータ等を、画像処理パラメータ読み込み部７６１から受け取り格納する。
【０１０６】
ハーフトーンパラメータ記憶部７５１は、ハーフトーンパラメータ等を、画像処理パラメータ読み込み部７６１から受け取り格納する。しきい値マトリックス記憶部７５２は、しきい値マトリックス等を、画像処理パラメータ読み込み部７６１から受け取り格納する。
【０１０７】
Ｉｎｄｅｘテーブル変換処理部７２０は、Ｉｎｄｅｘ値変換部７２１、Ｉｎｄｅｘ＆ＲＧＢ画像アドレス生成部７２２、プレーン０バッファー７２３、プレーン１バッファー７２４、プレーン２バッファー７２５、及び、プレーン３バッファー７２６を有する。
【０１０８】
プレーン０バッファー７２３ないしプレーン３バッファー７２６の４個のバッファーは、プレーン０ないしプレーン３の４つのプレーンに対応する。なお、これらの４個のバッファーは、１画素毎に格納すると、読み込み等の効率が悪くなるため、複数の画素の情報を格納する。
【０１０９】
Ｉｎｄｅｘ値変換部７２１は、４個のバッファーから、プレーン０ないしプレーン３のＲＧＢＡ画像データを読み込み、ＩｎｄｅｘテーブルによりＲＧＢ画像値へ変換し、色変換処理部７３５に転送する。
【０１１０】
Ｉｎｄｅｘ＆ＲＧＢ画像アドレス生成部７２２は、メインメモリ６００のＩｎｄｅｘ＆ＲＧＢＡページメモリ格納領域からＩｎｄｅｘ＆ＲＧＢＡページ画像を読み込む際のアドレスを生成する。
【０１１１】
Ｉｎｄｅｘ＆ＲＧＢ画像読み込み部７２９は、バスアービタＩ／Ｆ７９０を介してＩｎｄｅｘ＆ＲＧＢＡページ画像を読み込み、Ｉｎｄｅｘテーブル変換処理部７２０が有する４個のバッファーに転送する。
【０１１２】
色変換処理部７３５は、Ｉｎｄｅｘ値変換部７２１から出力されるＲＧＢ画像データを読み込み、ＲＧＢからＣＭＹへの色変換処理と、下色除去処理を行う。色変換処理部７３５は、処理されたＣＭＹＫデータを、階調処理部７５０に転送する。
【０１１３】
階調処理部７５０は、ハーフトーン処理を行う。階調処理部７５０は、しきい値マトリックス記憶部７５２からしきい値マトリックスを読み込み、色変換処理部７３５から受け取ったＣＭＹＫデータに対してハーフトーン処理を行う。階調処理部７５０は、メインメモリ６００の読み込み及び書き込みの単位であるワード毎に、画像処理後画像バッファー７６６へ階調処理後のデータを転送する。
【０１１４】
画像処理後画像バッファー７６６は、階調処理部７５０で処理された画像データを格納する。これにより、メインメモリ６００に対し、複数のワードデータを効率良くバースト転送することができる。
【０１１５】
画像処理後画像書き込み部７６８は、バスアービタＩ／Ｆ７９０を介して、画像処理後画像バッファー７６６に格納された複数ワードの画像データを、メインメモリ６００の階調処理後ＣＭＹＫページメモリ格納領域へ書き込む。
【０１１６】
画像処理後画像アドレス生成部７６７は、メインメモリ６００の階調処理後ＣＭＹＫページメモリ格納領域のアドレス演算を行う。画像処理後画像アドレス生成部７６７は、水平ライン単位でアドレスを生成する。ここで、Ｉｎｄｅｘ＆ＲＧＢＡページメモリ格納領域へのアクセスと、階調処理後ＣＭＹＫページメモリ格納領域へのアクセスを、どちらも水平ライン単位にするとよい。
【０１１７】
（Ｉｎｄｅｘ値からＲＧＢ値へ変換する処理）
図１８は、Ｉｎｄｅｘテーブル変換処理部７２０におけるＩｎｄｅｘ値からＲＧＢ値へ変換する処理のフロー図である。図１８のステップＳ５０１では、Ｉｎｄｅｘフォーマットの画素データを読み込み、プレーン０バッファー７２３ないしプレーン３バッファー７２６の４つのプレーンに格納する。
【０１１８】
ステップＳ５０２では、プレーン０に含まれるヘッダーが、”０”であるか否かを判断する。”０”である場合には、Ｉｎｄｅｘテーブル１による画像データであると判断し、ステップＳ５０４に進む。”０”ではない場合には、ステップＳ５０３に進む。
ステップＳ５０４では、プレーン０に格納されている値を、Ｉｎｄｅｘテーブル１のＩｎｄｅｘ値とし、対応するＲＧＢＡ値を求める。
【０１１９】
ステップＳ５０３では、プレーン０に含まれるヘッダーが、”０１”であるか否かを判断する。”０１”である場合には、Ｉｎｄｅｘテーブル２による画像データであると判断し、ステップＳ５０５に進む。”０１”ではない場合には、ステップＳ５０６に進む。
【０１２０】
ステップＳ５０５では、プレーン１に格納されている値を、Ｉｎｄｅｘテーブル２のＩｎｄｅｘ値とし、対応するＲＧＢ値を求める。また、プレーン０に格納されている値により、属性値を求める。
【０１２１】
ステップＳ５０６では、プレーン０に格納されている値で、属性値を求め、さらに、プレーン１に格納されている値でＲ値、プレーン２に格納されている値でＧ値、プレーン３に格納されている値でＢ値を求める。
なお、ステップＳ５０４、ステップＳ５０５、及び、ステップＳ５０６で求められたＲＧＢＡ値は、色変換処理部７３５に対して出力される。
【０１２２】
ステップＳ５０７では、Ｉｎｄｅｘ＆ＲＧＢＡページメモリ格納領域に格納されているプレーンの全ての画素が処理されたか否かの判断がなされる。全ての画素が処理されている場合には、処理を終了し、処理されていない画素がある場合には、ステップＳ５０１に戻って処理を繰り返す。
【０１２３】
以上、説明した第１の実施の形態では、写真画像とグラフィックス画像とで描画処理を分離している。なお、写真画像を全てカラー画像と判断する他に、色数の少ない写真画像であると判断される場合には、グラフィックス画像と同様にＩｎｄｅｘ値への変換処理を行ってよい。
【０１２４】
第１の実施の形態では、３２ｂｉｔのカラー値、８ｂｉｔのＩｎｄｅｘフォーマット１、及び、１６ｂｉｔのＩｎｄｅｘフォーマット２で表現する。Ｉｎｄｅｘフォーマットを用いることにより、例えば、Ｉｎｄｅｘフォーマット１で描画する場合には、１つのプレーンのみ描画すればよく、処理を高速にすることができる。
【０１２５】
また、Ｉｎｄｅｘテーブル生成処理部において、ＲＧＢＡ値をＩｎｄｅｘテーブルに登録する機能をハードウェアにより実現することにより、多くのＩｎｄｅｘテーブルを生成する処理も高速化することができる。特に下地（白）をページ全面に描画するクリアー処理は、Ｉｎｄｅｘフォーマットによる表現に適しているため、高速化することが可能である。
【０１２６】
〔第２の実施の形態〕
第２の実施の形態では、第１の実施の形態と異なり、画像フォーマットを、色毎のプレーンとしない。これにより、メインメモリ６００に格納する形態が、第１の実施の形態とは異なる。第２の実施の形態では、ページデータを格納する領域を、Ｉｎｄｅｘ値又は属性値を記憶するＩｎｄｅｘ＆属性ページメモリ格納領域と、ＲＧＢ値を記憶するＲＧＢＸページメモリ格納領域と、に分離する。
【０１２７】
Ｉｎｄｅｘ値による描画は、Ｉｎｄｅｘ＆属性ページメモリ格納領域に行う。また、ＲＧＢ値による描画の際は、Ｉｎｄｅｘ＆属性ページメモリ格納領域に属性値を描画し、ＲＧＢＸページメモリ格納領域にＲＧＢ値を描画する。これにより、メモリアクセスを少なくし描画を高速化することができる。
【０１２８】
（メインメモリ６００ａの構成）
図１９は、メインメモリ６００ａが有する各領域を説明する図である。メインメモリ６００ａは、プログラム領域、ＰＤＬ格納メモリ領域、画像処理パラメータメモリ領域、Ｉｎｄｅｘ＆属性ページメモリ格納領域６４０、ＲＧＢＸページメモリ格納領域６５０、階調処理後ＣＭＹＫページメモリ格納領域、及び、その他のデータを格納する領域を有する。
【０１２９】
プログラム領域、ＰＤＬ格納メモリ領域、画像処理パラメータメモリ領域、階調処理後ＣＭＹＫページメモリ格納領域、及び、その他のデータを格納する領域は、図３のメインメモリ６００と同一のデータを格納する。
Ｉｎｄｅｘ＆属性ページメモリ格納領域６４０は、属性値又はＩｎｄｅｘ値を記憶する。ＲＧＢＸページメモリ格納領域６５０は、ＲＧＢＸ値を記憶する。
【０１３０】
（属性フォーマットとＩｎｄｅｘフォーマット）
図２０は、属性フォーマットとＩｎｄｅｘフォーマットとの例を説明する図である。図２０の属性フォーマットは、属性フォーマットであることを示す１ビットのヘッダーと、属性値を表す７ビットの値とからなる。この例では、ヘッダーの値は”０”である。
【０１３１】
図２０のＩｎｄｅｘフォーマットは、Ｉｎｄｅｘフォーマットであることを示す１ビットのヘッダーと、Ｉｎｄｅｘ値を表す７ビットの値とからなる。この例では、ヘッダーの値は”１”である。図２０のＩｎｄｅｘフォーマットは、１２８個までのＩｎｄｅｘ値を有するＩｎｄｅｘテーブルに対応することができる。
【０１３２】
なお、属性フォーマットによる画素とＩｎｄｅｘフォーマットによる画素とは、何れも、Ｉｎｄｅｘ＆属性ページメモリ格納領域６４０に格納され、ヘッダーで区別される。
【０１３３】
（ＲＧＢＸフォーマット）
図２１は、ＲＧＢＸフォーマットの例を説明する図である。図２１のＲＧＢＸフォーマットは、８ビットの空データと、８ビットのＲ値、８ビットのＧ値、及び、８ビットのＢ値とからなる計３２ビットを１画素とする。
【０１３４】
（Ｉｎｄｅｘテーブルの例）
図２２は、本実施形態のＩｎｄｅｘテーブルの例を示す図である。図２２では、０から１２７のＩｎｄｅｘテーブル値のそれぞれに対し、Ｒ，Ｇ，Ｂからなる色情報が１つずつ対応づけられている。
【０１３５】
（描画処理されたメモリ領域の例）
図２３及び図２４は、本実施形態により描画処理された画像の例を示す図であって、図５（ａ）のＲＧＢ画像をメインメモリ６００ａの領域に描画する際の例である。
【０１３６】
図２３では、Ｉｎｄｅｘ＆属性ページメモリ格納領域６４０において、グラフィックス画像の領域にＩｎｄｅｘフォーマットによる描画が行われ、写真画像の領域に属性フォーマットによる描画が行われている。
【０１３７】
図２４では、ＲＧＢＸページメモリ格納領域６５０において、写真画像の領域にＲＧＢＸフォーマットによる描画が行われている。
【０１３８】
図２３及び図２４において、グラフィックス画像の領域は色数が少ないことから、Ｉｎｄｅｘフォーマットで描画することにより、描画に供せられるメモリ領域が少なく済み、処理を高速にすることができる。
【０１３９】
（画像データを処理する機能の構成）
図２５は、本実施形態のカラープリンタ１ａが有する、画像データを処理する機能の構成を説明する図である。カラープリンタ１ａは、ＰＤＬ記憶部１３０、ＰＤＬ解析処理部１４０、描画処理部３００ａ、ＲＧＢＸページ画像記憶部６１１、Ｉｎｄｅｘ＆属性ページ画像記憶部６１２、画像処理部７００ａ、階調処理後ＣＭＹＫページ画像記憶部６２０、ＤＭＡ部１１７、プリンタエンジン１８０を有する。なお、図４のカラープリンタ１と同一の機能及び構成を有する各部は、図４と同一の符号を付し、ここでは、説明を省略する。描画処理部３００ａ、及び、画像処理部７００ａは、例えば、ＣＰＵ１９０がプログラムを実行することにより実現される。
【０１４０】
また、ＲＧＢＸページ画像記憶部６１１及びＩｎｄｅｘ＆属性ページ画像記憶部６１２は、メインメモリ６００ａに設けられる。ＲＧＢＸページ画像記憶部６１１は、ＲＧＢＸページメモリ格納領域６５０に対応する。Ｉｎｄｅｘ＆属性ページ画像記憶部６１２は、Ｉｎｄｅｘ＆属性ページメモリ格納領域６４０に対応する。
【０１４１】
描画処理部３００ａは、写真画像ＲＧＢＡ描画処理部３１０ａ、グラフィックスＩｎｄｅｘテーブル生成処理部３２０、及び、グラフィックスＩｎｄｅｘ描画処理部３３０ａを有する。
【０１４２】
グラフィックスＩｎｄｅｘ描画処理部３３０ａは、グラフィックスＩｎｄｅｘテーブル生成処理部３２０から、グラフィックス描画コマンドとＩｎｄｅｘ値とを受け取り、メインメモリ６００ａのＩｎｄｅｘ＆属性ページ画像記憶部６１２に、Ｉｎｄｅｘフォーマットによる描画を行う。
【０１４３】
グラフィックスＩｎｄｅｘ描画処理部３３０ａは、また、Ｉｎｄｅｘ値が対応しないＲＧＢＡ値については、Ｉｎｄｅｘ＆属性ページ画像記憶部６１２に、属性値による描画を行い、ＲＧＢＸページ画像記憶部６１１に、ＲＧＢＸメモリフォーマットによる描画を行う。
【０１４４】
写真画像ＲＧＢＡ描画処理部３１０ａは、ＰＤＬ解析処理部１４０から、写真描画コマンドと、写真画像のソース画像とを受け取り、ＲＧＢＸページ画像記憶部６１１にＲＧＢＸ値による描画を行い、Ｉｎｄｅｘ＆属性ページ画像記憶部６１２に、属性値による描画を行う。
【０１４５】
ＲＧＢＸページ画像記憶部６１１は、ＲＧＢＸフォーマットによる画素値を格納する。Ｉｎｄｅｘ＆属性ページ画像記憶部６１２は、Ｉｎｄｅｘフォーマット又は属性フォーマットによる画素値を格納する。
【０１４６】
画像処理部７００ａは、Ｉｎｄｅｘテーブル記憶部７１０、Ｉｎｄｅｘテーブル変換処理部７２０ａ、ＲＧＢ→ＣＭＹ色変換処理部７３０、ＵＣＲ処理部７４０、及び、階調処理部７５０を有する。
【０１４７】
Ｉｎｄｅｘテーブル変換処理部７２０ａは、Ｉｎｄｅｘ＆属性ページ画像記憶部６１２からＩｎｄｅｘ値又は属性値を読み込み、Ｉｎｄｅｘフォーマットに基づきＲＧＢ値へ変換する。
【０１４８】
（グラフィックスＩｎｄｅｘ描画処理部３３０ａにおける処理）
図２６は、グラフィックスＩｎｄｅｘ描画処理部３３０ａにおけるグラフィックス描画処理の例を示すフロー図である。ステップＳ６０１では、入力された値が、Ｉｎｄｅｘテーブルに含まれるＩｎｄｅｘ値であるか否かの判断がなされる。Ｉｎｄｅｘテーブルに含まれる値の場合には、ステップＳ６０２に進み、Ｉｎｄｅｘテーブルに含まれない値の場合には、ステップＳ６０３に進む。ステップＳ６０２では、Ｉｎｄｅｘ＆属性ページ画像記憶部６１２に、Ｉｎｄｅｘテーブルに含まれているＩｎｄｅｘ値により、描画を行う。
【０１４９】
一方、ステップＳ６０３では、Ｉｎｄｅｘ＆属性ページ画像記憶部６１２に、属性値により、描画を行う。ステップＳ６０４では、ＲＧＢＸページ画像記憶部６１１に、ＲＧＢＸの値により描画を行う。
【０１５０】
（写真画像ＲＧＢＡ描画処理部３１０ａにおける処理）
図２７は、写真画像ＲＧＢＡ描画処理部３１０ａにおける写真画像の描画処理の例を示すフロー図である。図２７のステップＳ７０１では、写真画像ＲＧＢＡ描画処理部３１０ａが、写真画像のソース画像を読み込む。ステップＳ７０２では、属性値により、Ｉｎｄｅｘ＆属性ページ画像記憶部６１２に描画を行う。ステップＳ７０３では、ＲＧＢＸの値により、ＲＧＢＸページ画像記憶部６１１に描画を行う。
【０１５１】
（画像処理部７００ａのハードウェア構成）
図２８は、画像処理部７００ａのハードウェア構成の例を示す図である。図２８の画像処理部７００ａは、Ｉｎｄｅｘテーブル変換処理部７２０ａ、色変換処理部７３５、及び、階調処理部７５０を有する。画像処理部７００ａは、さらに、これらの各部に接続されるバッファー等の記憶部と、バスを介して入出力されるデータを制御する各部を有する。
【０１５２】
画像処理部７００ａが有する記憶部は、Ｉｎｄｅｘテーブル記憶部７１０、格子点データ記憶部７３６、ガンマテーブル記憶部７３７、ハーフトーンパラメータ記憶部７５１、及び、しきい値マトリックス記憶部７５２である。
【０１５３】
また、画像処理部７００が有する入出力されるデータを制御する各部は、画像処理パラメータ読み込み部７６１、パラメータアドレス生成部７６２、ＤＭＡパラメータ記憶部７６３、Ｉｎｄｅｘ＆属性／ＲＧＢＸ画像読み込み部７２９ａ、画像処理後画像バッファー７６６、画像処理後画像アドレス生成部７６７、画像処理後画像書き込み部７６８、及び、バスアービタＩ／Ｆ７９０である。
【０１５４】
なお、図２８に示す画像処理部７００ａの構成のうち、図１７の画像処理部７００と同一の機能及び構成を有する各部は、図１７と同一の符号を付し、ここでは説明を省略する。
【０１５５】
Ｉｎｄｅｘテーブル変換処理部７２０ａは、Ｉｎｄｅｘ値変換部７２１ａ、Ｉｎｄｅｘ＆属性ＲＧＢ画像アドレス生成部７２２、Ｉｎｄｅｘ＆属性バッファー７２７、及び、ＲＧＢＸバッファー７２８を有する。
【０１５６】
Ｉｎｄｅｘ＆属性バッファー７２７は、複数画素のＩｎｄｅｘ値又は属性値を格納する。ＲＧＢＸバッファー７２８は、複数画素のＲＧＢＸ値を格納している。
【０１５７】
本実施の形態では、Ｉｎｄｅｘフォーマットには、ＲＧＢＸ画像データが付随せず、属性フォーマットには、ＲＧＢＸ画像データが付随する。そこで、Ｉｎｄｅｘ値又は属性値と、ＲＧＢＸ画像データと、を順次読み込むと効率が悪くなる。図２８の例では、Ｉｎｄｅｘ値又は属性値とＲＧＢＸ画像データとの両方を同時に読み込み、それぞれ、Ｉｎｄｅｘ＆属性バッファー７２７及びＲＧＢＸバッファー７２８へ格納する。
【０１５８】
Ｉｎｄｅｘ値変換部７２１ａは、Ｉｎｄｅｘ＆属性バッファー７２７から、Ｉｎｄｅｘ値又は属性値を読み込む。Ｉｎｄｅｘ値変換部７２１ａは、Ｉｎｄｅｘ値を読み込んだ場合は、ＲＧＢ画像データを読み込み、Ｉｎｄｅｘ画素フォーマットに基づきＲＧＢ値へ変換する。Ｉｎｄｅｘ値変換部７２１ａは、また、属性値を読み込んだ場合には、付随するＲＧＢＸ値を、ＲＧＢＸバッファー７２８から読み込み、ＲＧＢ値を取得する。
Ｉｎｄｅｘ値変換部７２１ａは、ＲＧＢ値を色変換処理部７３５へ転送する。
【０１５９】
Ｉｎｄｅｘ＆ＲＧＢ属性ＲＧＢ画像アドレス生成部７２２ａは、メインメモリ６００ａのＩｎｄｅｘ＆属性ページメモリ格納領域６４０及びＲＧＢＸページメモリ格納領域６５０から、それぞれ、属性値又はＩｎｄｅｘ値とＲＧＢＸ値とを読み込む際のアドレスを生成する。
【０１６０】
Ｉｎｄｅｘ＆属性／ＲＧＢＸ画像読み込み部７２９ａは、バスアービタＩ／Ｆ７９０を介してＩｎｄｅｘ＆ＲＧＢＡページ画像を読み込み、Ｉｎｄｅｘテーブル変換処理部７２０が有する４個のバッファーに転送する。
【０１６１】
（Ｉｎｄｅｘテーブル変換処理部７２０ａにおける処理）
図２９は、Ｉｎｄｅｘテーブル変換処理部７２０ａにおける処理を示す図である。ステップＳ８０１では、Ｉｎｄｅｘ＆属性バッファー７２７に格納されているＩｎｄｅｘ値又は属性値と、ＲＧＢＸバッファー７２８に格納されたＲＧＢＸ画素データとを読み込む。
【０１６２】
ステップＳ８０２では、ステップＳ８０１で読み込んだデータのヘッダーの値が”１”であるか否かを判定する。”１”である場合、すなわち、Ｉｎｄｅｘテーブルによる値の場合には、ステップＳ８０３に進む。”１”ではない場合には、ステップＳ８０４に進む。
【０１６３】
ステップＳ８０３では、Ｉｎｄｅｘ＆属性バッファー７２７から読み込んだ値からＩｎｄｅｘ値を取得して、Ｉｎｄｅｘテーブルにアクセスし、ＲＧＢＡ値を求める。一方、ステップＳ８０４では、Ｉｎｄｅｘ＆属性バッファー７２７から読み込んだ値から属性値を取得し、さらに、ＲＧＢＸ画素データから、ＲＧＢ値を求める。
【０１６４】
ステップＳ８０５では、１のページ内の全ての画素に対する処理が終了したか否かの判定がなされる。全ての画素に対する処理が終了している場合には、インデックステーブルによる変換処理を終了する。処理されていない画素がある場合には、ステップＳ８０１からの処理を繰り返す。
【０１６５】
第２の実施の形態では、Ｉｎｄｅｘ値又は属性値のメモリ領域とＲＧＢＸ値のメモリ領域とをそれぞれ有する。これにより、Ｉｎｄｅｘ値で描画する際に、Ｉｎｄｅｘ値又は属性値のメモリ領域のみ描画すればよく、処理を高速にすることができる。
【０１６６】
（コンピュータ等による実現  ＭＦＰ）
図３０は、第１及び第２の実施の形態に係る画像処理装置を実現するコンピュータの構成を説明する図である。図３０のコンピュータは、主処理部８００、入力装置８１０、表示装置８２０、スキャナ８３０、プロッタ８４０、ＮＩＣ８６０、ドライブ装置８８０、ハードディスク装置（以下、「ＨＤＤ」という。）８９０、入力Ｉ／Ｆ８１９、表示Ｉ／Ｆ８２９、スキャナＩ／Ｆ８３９、プロッタＩ／Ｆ８４９、ドライブＩ／Ｆ８８９、及び、ＨＤＤＩ／Ｆ８９９を有する。
【０１６７】
主処理部８００は、コンピュータプログラムを実行して各機能を実現する。主処理部８００は、例えば、ＣＰＵ８０１、ＲＯＭ８０８、及び、ＲＡＭ８０９を有する。ＣＰＵ８０１は、コンピュータプログラムを実行することにより、コンピュータが有する各デバイス等の制御を行う。ＲＯＭ８０８は、例えば、コンピュータプログラムやパラメータ等が格納され、ＣＰＵ８０１にそれらが供せられる。ＲＡＭ８０９は、例えば、ＣＰＵ８０１がコンピュータプログラムを実行する際のワークメモリとして供せられる。
【０１６８】
入力装置８１０は、例えば、キーボードやマウス等の入力デバイスとして構成され、コンピュータに対する指示等が入力される。表示装置８２０は、コンピュータの状態等が表示される。スキャナ８３０は、画像を光学的に読み取って、画像データを生成する。プロッタ８４０は、媒体上に画像を形成して出力する。
【０１６９】
ＮＩＣ８６０は、コンピュータと外部とをネットワークを介して接続する際のインタフェースの機能を実現し、その制御を行う。ドライブ装置８８０は、記録媒体が挿入され、その記録媒体に記録された情報を読み出し、またその記録媒体に情報を記録する。ＨＤＤ８９０は、大容量のデータを格納する記憶手段である。
【０１７０】
入力Ｉ／Ｆ８１９は、表示Ｉ／Ｆ８２９、スキャナＩ／Ｆ８３９、プロッタＩ／Ｆ８４９、ドライブＩ／Ｆ８８９、及び、ＨＤＤ  Ｉ／Ｆ８９９は、それぞれ、入力装置８１０、表示装置８２０、スキャナ８３０、プロッタ８４０、ドライブ装置８８０、及び、ＨＤＤ８９０がバスを介して主処理部８００と接続される際のインタフェースである。
【０１７１】
以上、発明を実施するための最良の形態について説明を行ったが、本発明は、この最良の形態で述べた実施の形態に限定されるものではない。本発明の主旨をそこなわない範囲で変更することが可能である。
【符号の説明】
【０１７２】
１、１ａ      カラープリンタ
１００ 電装・制御部
１１３ メインメモリアービタ
１１４ メインメモリコントローラ
１１７ ＤＭＡ部
１１８ エンジンコントローラ
１１９ 通信処理部
１３０ ＰＤＬ記憶部
１４０ ＰＤＬプリンタ解析処理部
１８０ プリンタエンジン
３００、３００ａ     描画処理部
３１０、３１０ａ     写真画像ＲＧＢＡ描画処理部
３２０ グラフィックスＩｎｄｅｘテーブル生成処理部
３２２ ＲＧＢＡ値レジスタ
３２３ Ｉｎｄｅｘテーブル１処理部
３２４ Ｉｎｄｅｘテーブル２処理部
３２５ Ｉｎｄｅｘ値レジスタ
３２６ テーブルのＲＧＢＡ値レジスタ
３２９ 制御部
３３０、３３０ａ     グラフィックスＩｎｄｅｘ描画処理部
４００ Ｉｎｄｅｘテーブル生成処理部
５００ Ｉｎｄｅｘテーブルメモリ
６００、６００ａ     メインメモリ
６１０ Ｉｎｄｅｘ＆ＲＧＢＡページ画像記憶部
６１１ ＲＧＢＸページ画像記憶部
６１２ Ｉｎｄｅｘ＆属性ページ画像記憶部
６２０ 階調処理後ＣＭＹＫページ画像記憶部
７００、７００ａ     画像処理部
７１０ Ｉｎｄｅｘテーブル記憶部
７１１ Ｉｎｄｅｘテーブル１記憶部
７１２ Ｉｎｄｅｘテーブル２記憶部
７２０、７２０ａ     Ｉｎｄｅｘテーブル変換処理部
７２１、７２１ａ     Ｉｎｄｅｘ値変換部
７２２ Ｉｎｄｅｘ＆ＲＧＢ画像アドレス生成部
７２２ａ      Ｉｎｄｅｘ＆属性ＲＧＢ画像アドレス生成部
７２３ プレーン０バッファー
７２４ プレーン１バッファー
７２５ プレーン２バッファー
７２６ プレーン３バッファー
７２７ Ｉｎｄｅｘ＆属性バッファー
７２８ ＲＧＢＸバッファー
７２９ Ｉｎｄｅｘ＆ＲＧＢ画像読み込み部
７２９ａ      Ｉｎｄｅｘ＆属性／ＲＧＢＸ画像読み込み部
７３０ ＲＧＢ→ＣＭＹ色変換処理部
７３５ 色変換処理部
７３６ 格子点データ記憶部
７３７ ガンマテーブル記憶部
７４０ ＵＣＲ処理部
７５０ 階調処理部
７５１ ハーフトーンパラメータ記憶部
７５２ しきい値マトリックス記憶部
７６１ 画像処理パラメータ読み込み部
７６２ パラメータアドレス生成部
７６３ ＤＭＡパラメータ記憶部
７６６ 画像処理後画像バッファー
７６７ 画像処理後画像アドレス生成部
７６８ 画像処理後画像書き込み部
８００ 主処理部
８１０ 入力装置
８２０ 表示装置
８３０ スキャナ
８４０ プロッタ
８８０ ドライブ装置
【先行技術文献】
【特許文献】
【０１７３】
【特許文献１】特開平６−１３９３６４号公報
【特許文献２】特許第３２１８０３４号公報
【特許文献３】特開平１１−７８１２６号公報
【図１】
2010162802.tif 000003
【図２】
2010162802.tif 000004
【図３】
2010162802.tif 000005
【図４】
2010162802.tif 000006
【図５】
2010162802.tif 000007
【図６】
2010162802.tif 000008
【図７】
2010162802.tif 000009
【図８】
2010162802.tif 000010
【図９】
2010162802.tif 000011
【図１０】
2010162802.tif 000012
【図１１】
2010162802.tif 000013
【図１２】
2010162802.tif 000014
【図１３】
2010162802.tif 000015
【図１４】
2010162802.tif 000016
【図１５】
2010162802.tif 000017
【図１６】
2010162802.tif 000018
【図１７】
2010162802.tif 000019
【図１８】
2010162802.tif 000020
【図１９】
2010162802.tif 000021
【図２０】
2010162802.tif 000022
【図２１】
2010162802.tif 000023
【図２２】
2010162802.tif 000024
【図２３】
2010162802.tif 000025
【図２４】
2010162802.tif 000026
【図２５】
2010162802.tif 000027
【図２６】
2010162802.tif 000028
【図２７】
2010162802.tif 000029
【図２８】
2010162802.tif 000030
【図２９】
2010162802.tif 000031
【図３０】
2010162802.tif 000032