(57)【要約】【課題】高速に色分解が可能なＣＤ法を用いたとしても、小規模の回路により、ユーザの様々な要求に対応した好ましい色再現を行うことは困難である。【解決手段】色変換部２は、複数の三次元テーブルから選択される三次元テーブル、および、補間処理を用いて、入力画像データを色変換する。量子化処理部３は、色変換された画像データに誤差データを加算して誤差補正データとし、複数のドットパターンの組み合わせから選択されるドットパターンの組から、誤差補正データに基づきドットパターンを選択し、選択したドットパターンを記録部４へ出力し、ドットパターンに対応する所定値と、誤差補正データとの差を演算して、誤差データとする。【選択図】　図１
2004048114.tif 000002
【特許請求の範囲】
【請求項１】
複数の三次元テーブルから選択される三次元テーブル、および、補間処理を用いて、入力画像データを色変換する色変換手段と、
色変換された画像データに誤差データを加算して誤差補正データとする演算手段と、
複数のドットパターンの組み合わせから選択されるドットパターンの組から、前記誤差補正データに基づきドットパターンを選択し、選択したドットパターンを出力する出力手段と、
前記ドットパターンに対応する所定値と、前記誤差補正データとの差を演算して、前記誤差データとする演算手段とを有することを特徴とする画像処理装置。
【請求項２】
前記ドットパターンはカラードットの組み合せを表すことを特徴とする請求項１に記載された画像処理装置。
【請求項３】
前記ドットパターンの組み合せは、出力されるドットパターンが記録される記録メディアに応じて選択されることを特徴とする請求項１に記載された画像処理装置。
【請求項４】
前記三次元テーブルは、出力されるドットパターンによって記録されるべき画像の色調に応じて選択されることを特徴とする請求項１に記載された画像処理装置。
【請求項５】
前記複数の三次元テーブルには、特定の色相の彩度を高める変換特性を有する三次元テーブルが含まれることを特徴とする請求項１に記載された画像処理装置。
【請求項６】
複数の三次元テーブルから選択される三次元テーブル、および、補間処理を用いて、入力画像データを色変換し、
色変換された画像データに誤差データを加算して誤差補正データとし、
複数のドットパターンの組み合わせから選択されるドットパターンの組から、前記誤差補正データに基づきドットパターンを選択し、選択したドットパターンを出力し、
前記ドットパターンに対応する所定値と、前記誤差補正データとの差を演算して、前記誤差データとすることを特徴とする画像処理方法。
【請求項７】
画像処理装置を制御して、請求項６に記載された画像処理を実行することを特徴とするプログラム。
【請求項８】
請求項７に記載されたプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理装置およびその方法に関し、例えば、好ましい色再現を高速に実現する画像処理に関する。
【０００２】
【従来の技術】
色補正を行う画像処理装置は、色処理の高速化および回路の小型化のために３×３の行列演算やガンマ変換を用いることが多い。行列演算やガンマ変換によれば、算術的に忠実な色変換を行うことができるが、人の記憶色や嗜好に合わせた、好ましい色再現はできない。
【０００３】
また、色補正後のデータを出力デバイスに依存するＣＭＹＫ信号に変換するには、色補正後のデータを輝度−濃度変換し、マスキング処理、下地除去処理や黒補正処理を行う。これらの処理負荷は重く、その回路の小型化は困難である。
【０００４】
上記欠点を補うものとして、特開平１１−５５５３５号公報に開示された色差拡散（Ｃｏｌｏｒ　Ｄｉｆｆｅｒｅｎｃｅ　Ｄｉｆｆｕｓｉｏｎ：　ＣＤ）法が知られている。これは、出力デバイスが再現可能な色の組み合せのうち、入力画像データの色に最も近い色を対応付けるように、色空間における距離を上記の色の組み合せごとに計算して、距離が最小になる色の組み合せを選択する。さらに、対応付けされた色の間の差を他の画素に拡散する構成を、小規模な回路で実現して高速処理と色再現性とを向上する技術である。
【０００５】
【発明が解決しようとする課題】
高速に色分解が可能なＣＤ法を用いたとしても、小規模の回路により、ユーザの様々な要求に対応した好ましい色再現を行うことは困難である。
【０００６】
本発明は、上述の問題を個々にまたはまとめて解決するためのもので、処理負荷を増すことなく、色再現性を向上させることを目的とする。
【０００７】
【課題を解決するための手段】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【０００８】
本発明にかかる画像処理装置は、複数の三次元テーブルから選択される三次元テーブル、および、補間処理を用いて、入力画像データを色変換する色変換手段と、色変換された画像データに誤差データを加算して誤差補正データとする演算手段と、複数のドットパターンの組み合わせから選択されるドットパターンの組から、前記誤差補正データに基づきドットパターンを選択し、選択したドットパターンを出力する出力手段と、前記ドットパターンに対応する所定値と、前記誤差補正データとの差を演算して、前記誤差データとする演算手段とを有することを特徴とする。
【０００９】
本発明にかかる画像処理方法は、複数の三次元テーブルから選択される三次元テーブル、および、補間処理を用いて、入力画像データを色変換し、色変換された画像データに誤差データを加算して誤差補正データとし、複数のドットパターンの組み合わせから選択されるドットパターンの組から、前記誤差補正データに基づきドットパターンを選択し、選択したドットパターンを出力し、前記ドットパターンに対応する所定値と、前記誤差補正データとの差を演算して、前記誤差データとすることを特徴とする。
【００１０】
【発明の実施の形態】
以下、本発明にかかる実施形態の画像処理装置を図面を参照して詳細に説明する。
【００１１】
［構成］
図１は実施形態の画像処理装置の構成例を示すブロック図である。
【００１２】
図１において、入力部１は、多値の輝度カラーデータを入力する。なお、入力部１は、入力系に依存する色や階調特性を補正する回路を内蔵してもよい。また、入力部１は、スキャナなどの読取装置に限定されるものではなく、画像を記憶した媒体（メモリカードなど）のインタフェイスや通信部やＭＯＤＥＭ部をもつファクシミリ装置が公知のファクシミリ通信により受信したカラー画像を変換したＲＧＢ輝度データを入力する場合も含まれる。
【００１３】
色変換部２は、例えば特開平８−２３７４９７号公報などに開示された技術に代表されるテーブルメモリおよび補間演算処理回路などから構成されるが、その詳細な構成は後述する。
【００１４】
量子化処理部３は、変倍、ガンマ補正、ノイズフィルタリングおよびエッジ強調などの各種画像処理を実行する回路、量子化回路などから構成される。量子化回路の構成例は後述するが、上述したＣＤ法を利用する。
【００１５】
記録部４は、インクジェットプリンタやレーザビームプリンタに代表されるプリンタで、メモリから出力されるドットパターンをＣＭＹＫ四色で印刷する。
【００１６】
図２は、図１に示す画像処理装置の具体的な構成例を示すブロック図である。
【００１７】
図２において、ＣＰＵ　１１は、画像処理装置が備える様々な機能を制御し、操作部１５の所定の操作に従い、ＲＯＭ　１６に記憶された画像処理のプログラムを実行する。
【００１８】
ＣＣＤを備える読取部１４は、図１の入力部１に対応し、原稿画像を読み取り、赤（Ｒ）、緑（Ｇ）および青（Ｂ）色のアナログ輝度データを出力する。なお、読取部１４は、ＣＣＤの代わりに密着型イメージセンサ（ＣＳ）を備えてもよい。
【００１９】
また、カードインタフェイス２２も図１の入力部１に対応し、例えばディジタルスチルカメラ（Ｄｉｇｉｔａｌ　Ｓｔｉｌｌ　Ｃａｍｅｒａ：　ＤＳＣ）で撮影され、メモリカードなどに記録された画像データを、操作部１５の所定の操作に従い読み込む。なお、カードインタフェイス２２を介して読み込まれた画像データの色空間は、必要ならば、画像処理部１２により、ＤＳＣの色空間（例えばＹＣｂＣｒ）から標準的なＲＧＢ色空間（例えばＮＴＳＣ−ＲＧＢやｓＲＧＢ）に変換される。また、そのヘッダ情報に基づき、読み込まれた画像データは、有効な画素数への解像度変換など、アプリケーションに必要な様々な処理が必要に応じて施される。
【００２０】
画像処理部１２は、図１に示した色変換部２と量子化処理部３などに対応する。画像処理部１２において、後述する画像処理が行われ、それによって得られる量子化カラーデータは、ＲＡＭ　１７に格納される。そして、ＲＡＭ　１７に格納された量子化カラーデータが、図１の記録部４に対応する記録部１３で記録するのに必要な所定量に達すると、記録部１３による記録動作が実行される。
【００２１】
また、不揮発性ＲＡＭ　１８は、バッテリバックアップされたＳＲＡＭなどで、画像処理装置に固有のデータなどを記憶する。また、操作部１５は、記憶媒体に記憶された画像データを選択し、記録をスタートするためにフォトダイレクトプリントスタートキー、モノクロコピー時やカラーコピー時におけるコピースタートキー、コピー解像度や画質などのモードを指定するモードキー、コピー動作などを停止するためのストップキー、並びに、コピー数を入力するテンキーや登録キーなどから構成される。ＣＰＵ　１１は、これらキーの押下状態を検出し、その状態に応じて各部を制御する。
【００２２】
表示部１９は、ドットマトリクスタイプの液晶表示部（ＬＣＤ）およびＬＣＤドライバを備え、ＣＰＵ　１１の制御に基づき各種表示を行う。また、記憶媒体に記録されていた画像データのサムネイルを表示する。記録部１３は、インクジェット方式のインクジェットヘッド、汎用ＩＣなどによって構成され、ＣＰＵ　１１の制御により、ＲＡＭ１７に格納されている記録データを読み出し、ハードコピーとしてプリント出力する。
【００２３】
駆動部２１は、上述した読取部１４および記録部１３それぞれの動作における、給排紙ローラを駆動するためのステッピングモータ、ステッピングモータの駆動力を伝達するギヤ、および、ステッピングモータを制御するドライバ回路などから構成される。
【００２４】
センサ部２０は、記録紙幅センサ、記録紙有無センサ、原稿幅センサ、原稿有無センサおよび記録媒体検知センサなどから構成される。ＣＰＵ　１１は、これらセンサから得られる情報に基づき、原稿および記録紙の状態を検知する。
【００２５】
［色変換部］
図３は色変換部２の構成例を示すブロック図である。
【００２６】
三次元ルックアップテーブル（３Ｄ−ＬＵＴ）３１は、入力輝度データＲｉｎ、Ｇｉｎ、Ｂｉｎ（各８ビット）の上位４ビット（合計１２ビット）に対応するデータを出力する。補間部３２は、３Ｄ−ＬＵＴ　３１から出力されるデータＲｏ、Ｇｏ、Ｂｏ、および、入力輝度データＲｉｎ、Ｇｉｎ、Ｂｉｎの下位４ビット（合計１２ビット）を入力して補間演算を行い、出力輝度データＲｏｕｔ、Ｇｏｕｔ、Ｂｏｕｔ（各８ビット）を出力する。この補間演算によって、３Ｄ−ＬＵＴ　３１のテーブル容量を低減することができる。なお、３Ｄ−ＬＵＴ　３１の格子点の数は、扱う画像の品位および出力側の特性と、テーブル容量とのバランスにより決定される。
【００２７】
図４は３Ｄ−ＬＵＴ　３１の一例を示す図である。以下では、格子点の数を１７、格子点の間隔を１６とした例を説明する。
【００２８】
入力輝度データＲｉｎ、Ｇｉｎ、Ｂｉｎの上位４ビットを取り出し、それらビットを結合したものを入力アドレスとして、Ｒｉｎ、Ｇｉｎ、ＢｉｎとＲｏ、Ｇｏ、Ｂｏとの対応関係を表す、図４に示すテーブルを作成する。この場合は、４０９５個の対応関係が記録されたテーブルになる。
【００２９】
入力輝度データＲｉｎ、Ｇｉｎ、Ｂｉｎが格子点に相当する場合は、テーブルから直接、出力データＲｏ、Ｇｏ、Ｂｏを得ることができる。しかし、すべての入力、ＲＧＢ各８ビットとして２５６３＝１６７７万色分の入出力関係を記述したテーブルを用意することは現実的ではない。そこで、テーブルの格子点（代表点）以外の出力データは補間部３２による下記の補間処理によって算出する。
【００３０】
１７×１７×１７の格子で区切られた空間（六面体）に入力輝度データを当て嵌めると、六面体に包含される点として、周囲の八個の格子点との関係が定まる。この八個の格子点に対応する出力データＲｏｉ、Ｇｏｉ、Ｂｏｉ、ｉ＝０〜７から出力輝度データＲｏｕｔ、Ｇｏｕｔ、Ｂｏｕｔを演算することができる。ただし、六面体に包含される点（入力輝度データ）を八個の格子点で定義すると計算が煩雑になるから、四個の格子点を結ぶ四面体でさらに空間（六面体）を細分化する。
【００３１】
細分化方法は、基準点との差分を計算して下記のように行う。なお、ここでは簡素化のために、図５を用いて二次元で説明する。格子の基準点を（ｘ，　ｙ）＝（１６，　１６）、入力（ｘｉｎ，　ｙｉｎ）＝（２８，　２０）とする。
【００３２】
基準点に対する入力の差分Δｘ＝ｘｉｎ−ｘとΔｙ＝ｙｉｎ−ｙを比較して、Δｘ　＞　Δｙならば、入力は図５に示す領域Ａに属すると判定する。三次元でも同様に、基準点に対する入力の差分を計算して、六個の四面体の何れに属するかを判定することができる。入力が属する四面体が決まれば、その四面体に対応する四つの格子点の出力データＲｏ、Ｇｏ、Ｂｏから線形補間により、入力に対する出力データＲｏ、Ｇｏ、Ｂｏを演算することができる。
【００３３】
なお、上記では輝度空間から輝度空間への変換を説明したが、次の量子化処理部３へ濃度データ（または他の色空間のデータ）を入力する必要があれば、輝度−濃度変換または他の色空間への変換を、上記の変換に統合することができる。その際、格子点の数を多くすれば、非線形の変換による誤差を小さくして、変換精度を向上することができる。また、格子間隔は一定でもよいが、精度の高い変換を必要とする領域の格子間隔を密にするために、格子間隔を不均一にしてもよい。
【００３４】
［量子化処理部］
図６は量子化処理部３の詳細な構成例を示すブロック図である。以下では、色成分データを三値化する量子化を説明するが、三値化に限らず、二値化や四値化などでも同様である。
【００３５】
量子化処理部３は、後述するように、各８ビットの入力輝度データＲＧＢを、記録部４が用いる量子化データＹＭＣＫに対応付ける処理を行う。
【００３６】
図６に示す量子化処理部３は、大きく分けて、前処理を行う部分と、出力パターンの色差拡散を行うＣＤ法ブロック、並びに、各種メモリおよびそのインタフェイスブロックから構成される。
【００３７】
色変換部２で色変換されたＲＧＢ各８ビットの輝度データは、前処理部２０１によってエッジ強調およびノイズ除去、解像度変換などの処理が必要に応じて施され、輝度濃度変換回路２０２に入力される。
【００３８】
ＲＧＢデータは、色空間変換回路２０２においてＲＧＢ色空間からＣＭＹ色空間へ変換され、補正回路２０３において記録部４の特性を反映した画像に変換するためのガンマ変換などが施される。なお、色空間変換およびガンマ変換などは、一般に、変換テーブルが利用されるが、これら変換テーブルを一つにまとめると実装上有利である。
【００３９】
補正回路２０３から出力されるＣＭＹデータは、色差加算回路２０４において、後述する前ラインの色差データおよび前画素の色差データが加算される。
【００４０】
次に、色差データが加算されたＣＭＹデータに色空間上で最も近い色を再現するインクの組み合わせパターン（出力パターン）を選択するが、この選択はＣＤ法によって行う。また、ＣＭＹデータと出力パターンとの距離を事前に計算してテーブル（出力色テーブル）に格納しておけば、処理負荷を小さくすることができて好ましい。なお、距離の計算は、他の色空間Ｌ＊ａ＊ｂ＊やＹＣｂＣｒで行ってもよい。
【００４１】
さらに、本実施形態では、処理負荷の軽減を狙って、上位ビット切出回路２０６により、色差データが加算されたＣＭＹデータ（合計２４ビット）から、その上位各３ビットを切り出して（合計９ビット）、出力色テーブルへ入力する。
【００４２】
つまり、上位ビット切出回路２０６から出力される合計９ビットのデータは、ＲＡＭ　Ｉ／Ｆ部２０９を介して、出力色テーブルが格納されたテーブルメモリ２１０に入力され、合計９ビットのデータに対応する印刷データであるＣＭＹＫ各１ビットのデータ（出力パターン）がＲＡＭ　Ｉ／Ｆ部２０９を介してバッファ回路２１１へ出力される。
【００４３】
入力データを少ないビット数に変換すれば、当然誤差（色差）を生じ、この誤差によって色再現が悪化する。そこでＣＤ法を用いて色差を周辺画素に拡散し、色再現性の悪化を避ける。以下、その詳細を説明する。
【００４４】
●色差の拡散
図６に示す減算回路２０６は、入力データの濃度情報と、選択された出力パターンの濃度情報との色差を計算する。ここで用いる出力パターンの濃度情報は、その出力パターンを所定の条件で印刷した場合の濃度を予測したもの、または、測定により実験的に求めたものを使用する。予測または測定された濃度情報は、出力色テーブルに対応する出力濃度テーブルとしてテーブルメモリ２１０に格納され、選択された出力パターンに対応する濃度情報がＲＡＭ　Ｉ／Ｆ部２０９経由で減算回路２０６に与えられる。
【００４５】
色差分配回路２０７は、計算された色差を各画素に分配する。つまり、色差は重み付けされた後、次画素に加算されるために色差加算回路２０４へ送られるとともに、次ラインの画素に拡散されるために色差積算回路２０８に送られる。色差積算回路２０８は、次のラインの各画素に対応する画素ごとに色差の和をとり、ＲＡＭ　Ｉ／Ｆ部２１２を介して、前ライン色差格納メモリ２１３に格納する。
【００４６】
図７は量子化処理部３が実行する処理例を示すフローチャートである。
【００４７】
カラーコピーやカラープリントが実行されると、前ライン色差格納メモリ２１３および色変換部２内の各バッファをクリアし（Ｓ１０１）、処理対象画素を示すカウンタＰＩＸを零に初期化し（Ｓ１０２）、原稿画像の読み取り後（または画像データの入力後）、各種前処理を施した画像データを量子化処理部３のＲＧＢそれぞれに割り振られたレジスタに書き込む（Ｓ１０３）。なお、解像度を３００ｄｐｉから６００ｄｐｉに変換する本実施形態の場合は、二画素Ｒ０、Ｒ１、Ｇ０、Ｇ１、Ｂ０およびＢ１ごとに入力すればアクセス回数および解像度変換の効率が向上する。
【００４８】
量子化処理部３の処理を管理する方法としては、クロック数をカウントする方法が利用可能である。ＣＰＵ　１１よりデータが書き込まれるのをトリガとして、システムカウンタがクロックのカウントを開始して、カウント値に基づき処理のタイミングを制御することで、最適な処理回路を設計することができる。また、クロックに同期した処理（回路）が実現されるため、タイミング検証などが容易になる。
【００４９】
例えば、ステップＳ１０３の処理で、アドレスＲ、Ｇ、Ｂの順にデータを書き込む場合、アドレスＢへのデータ書き込みをトリガとして、システムカウンタはクロックのカウントを開始する。そして、システムカウンタは、ソフトウェアによって、または、次の、アドレスＲへのデータ書き込みによってクリアされる。
【００５０】
次に、画素Ｒ０およびＲ１から補間画素Ｒｃ０およびＲｃ１を生成する（Ｓ１０４）。解像度を３００ｄｐｉから６００ｄｐｉへ変換する場合、前画素およびＲ０をビットシフトして和を取ることでＲｃ０を生成する。ＧおよびＢの画素についても同様に補間を行う。
【００５１】
次に、解像度を変換したＲＧＢデータを、色空間変換回路２０２により、ＣＭＹデータに変換する（Ｓ１０５）。なお、ＲＧＢ→ＣＭＹ変換は各色独立に変換することができる。もし、処理負荷に対して処理能力に余裕があれば他の色空間に変換しても構わない。
【００５２】
次に、記録部４の特性を反映する画像に変換するため、補正回路２０３により、ＣＭＹデータにガンマ変換などを施す（Ｓ１０６）。
【００５３】
以上の処理によって生成されるデータをＣｉ、ＭｉおよびＹｉとする。
【００５４】
次に、処理対象画素に拡散する前ラインの色差データＣＬを前ライン色差格納メモリ２１３から読み出す（Ｓ１０７）。この色差データＣＬについては後述する。続いて、図５に示すように、前ラインの色差データＣＬ、および、前の画素（直前に処理した画素）の色差データＣＰを、色差加算回路２０４によって、処理対象画素のデータＣｉに加算し（Ｓ１０８）、加算結果Ｃｉ＋ＣＬ＋ＣＰを色差加算回路２０４のバッファにデータＩＬＰＣとして格納する。このバッファは符号付き１１ビット幅（−５１２〜＋５１２）のデータを格納可能である。バッファがオーバフローしないように、ＩＬＰＣが５１２を超える場合は５１２に丸めることで、画像に影響しない範囲で色差加算回路２０４を小規模に実現することができる。
【００５５】
同様の処理をデータＭｉおよびＹｉについても並列に行い、バッファにデータＩＬＰＭおよびＩＬＰＹを格納する。このようにして、前ラインの所定画素および直前の処理画素それぞれの色差を、処理対象画素のデータに加算したデータを得ることができる。
【００５６】
次に、算出されたデータＩＬＰＣ、ＩＬＰＭおよびＩＬＰＹの上位３ビットを取り出したアドレスデータＩＬＰＣ’、ＩＬＲＭ’およびＩＬＰＹ’を生成し（Ｓ１０９）、これらアドレスデータを、図９に示す出力色テーブルへ入力して、色空間上で入力データの色に最も近い出力パターン（Ｃｏ、Ｍｏ、ＹｏおよびＫｏ）を得てレジスタに格納する。なお、出力色テーブルは次のように構成されている。
【００５７】
色空間において、入力データＩＬＰＣ、ＩＬＰＭおよびＩＬＰＹが示す色と、記録部４で実際に得られる色の測定データが示す色Ｃｐ、ＭｐおよびＹｐとの距離Ｌを次式によって計算し、Ｙｐ、ＭｐおよびＣｐの値を図９の出力色テーブルに示すような範囲で変更して、Ｌ２の値が最も小さくなるＣｐ、ＭｐおよびＹｐの組み合わせを求める。そして、Ｃｐ、ＭｐおよびＹｐの組み合わせに対応する三値のＫｏ、Ｃｏ、ＭｏおよびＹｏを、入力データのＩＬＰＣ、ＩＬＰＭおよびＩＬＰＹに対応させた出力色テーブルを作成する。
Ｌ２　＝　（ＩＬＰＣ　−　Ｃｐ）２　＋　（ＩＬＰＭ　−　Ｍｐ）２　＋　（ＩＬＰＹ　−　Ｙｐ）２　　…（１）
【００５８】
各画素の出力色データを求めるために、上記の計算を行うとソフトおよびハードウェアの負荷が著しく大きくなり、処理に長い時間が必要になる。そこで、本実施形態では、上記の計算結果を予めテーブルに格納して、色差を考慮した入力データＩＬＰＣ、ＩＬＰＭおよびＩＬＰＹに基づき、色空間上で入力データの色に最も近い出力パターン（Ｋｏ、Ｃｏ、ＭｏおよびＹｏ）を高速に求める。
【００５９】
さらに、テーブルメモリ２１０に記録装置の特性、記録方法、インクおよびトナーなどの記録剤の特性、並びに、記録媒体の特性に対応した複数の出力色テーブルを用意することで、最適な出力パターン（Ｋｏ、Ｃｏ、ＭｏおよびＹｏ）を高速に求めることができる。また、操作部１５や外部のパソコンなどから出力色テーブルを変更することが可能で、複数ドットや、大きさの異なるドットを利用して画像を表現することが可能になる。
【００６０】
また、入力データＩＬＰＣ、ＩＬＰＭおよびＩＬＰＹはそれぞれ、上述したように、符号付き１１ビットのデータであるが、出力パターンのＫｏ、Ｃｏ、ＭｏおよびＹｏはそれぞれ数ビット（上記の例では２ビット）である。本実施形態では、入力データの上位数ビットによって出力色データを求めることで、出力色テーブルを小さくする。つまり、入力データＩＬＰＣ、ＩＬＰＭおよびＩＬＰＹの符号を取った各上位３ビット（合計９ビット）のアドレスデータＩＬＰＣ’、ＩＬＰＭ’およびＩＬＰＹ’とすることで、５１２組のテーブルデータで出力色テーブルを構成することができる。
【００６１】
次に、出力パターン（Ｋｏ、Ｃｏ、ＭｏおよびＹｏ）をバッファ回路２１１に格納する。この出力パターンは、出力ドットの組合せを示すものである。そして、ＣＭＹＫそれぞれにレジスタを割り振りデータバスのサイズに対応した八画素分のデータが格納されるまで、ステップＳ１０３からＳ１１０の処理を繰り返す（Ｓ１１１）。そして、八画素分の置換結果のデータがバッファ回路２１１に格納されると、それらデータを読み出す（Ｓ１１２）。
【００６２】
置換結果のデータを八画素分ずつ読み出すことにより、ＣＰＵ　１１からのアクセス数を減らし、さらに、記録部４のデータ処理方式がライン単位の場合、ソフトウェアによるデータの並べ換えの負荷を軽減することができる。また、副走査方向への出力データが二画素分の場合、出力されたビットを切り分けて別のレジスタに書き込むことで、別ラインのデータとして記録部４に出力することができる。なお、ＣＰＵ　１１がワード（１６ビット）単位の転送モードをもてば、Ｃ、Ｍ、ＹおよびＫそれぞれにレジスタを二つずつ割り振り、１６画素分のデータが格納された時点で読み出すようにしてもよい。
【００６３】
１ライン分のデータの量子化が終わると（Ｓ１１３）、処理対象ラインがインクリメントされ、処理はステップＳ１０２に戻される。また、一頁分の量子化が終わり（Ｓ１１４）、次頁がある場合は処理はステップＳ１０１に戻され（Ｓ１１５）、次頁がなければ量子化処理が終了する。
【００６４】
●色差の拡散
図１０は量子化処理の際に生じる色差を拡散する処理例を示すフローチャートである。
【００６５】
処理対象画素の垂直位置を示すカウンタｙを零に初期化し（Ｓ２０１）、処理対象画素の水平位置を示すカウンタｘを零に初期化する（Ｓ２０２）。
【００６６】
出力色テーブルから得られた出力パターン（Ｃｏ、Ｍｏ、ＹｏおよびＫｏ）に基づき、図１１に示す出力濃度テーブルを参照し多値データＣｐ、ＭｐおよびＹｐを得る（Ｓ２０３）。ここで、データＣｐ、ＭｐおよびＹｐは、前述したように、Ｃｏ、Ｍｏ、ＹｏおよびＫｏに基づき印刷した色の濃度を示すデータである。
【００６７】
減算回路２０６により、入力データＣｉ、ＭｉおよびＹｉと、出力濃度データＣｐ、ＭｐおよびＹｐとの色差Ｃｅ、ＭｅおよびＹｅを求める（Ｓ２０４）。
Ｃｅ　＝　Ｃｐ　−　Ｃｉ
Ｍｅ　＝　Ｍｐ　−　Ｍｉ　　　…（２）
Ｙｅ　＝　Ｙｐ　−　Ｙｉ
【００６８】
色差分配回路２０７により、色差Ｃｅ、ＭｅおよびＹｅを近傍画素に拡散する。具体的には、図１２に一例を示すように、処理対象画素の右画素、次ラインの左下画素、下画素および右下画素の四画素に色差を拡散する。右画素への拡散は、色差加算回路２０４へ拡散データを送る（Ｓ２０５）ことで、また、次ラインの三画素への拡散は前ライン色差格納メモリ２１３に拡散データを送る（Ｓ２０６）ことで達成される。また、拡散の割合は次のようなものである。
処理対象画素（ｘ，ｙ）の色差をＥとすると、
左下画素（ｘ−１，ｙ＋１）へ　２／１６・Ｅ、
下画素（ｘ，ｙ＋１）　へ　５／１６・Ｅ、
右下画素（ｘ＋１，ｙ＋１）へ　１／１６・Ｅ、
右画素（ｘ＋１，ｙ）　へ　８／１６・Ｅ
【００６９】
さらに、１６で割った余りを右画素（ｘ＋１，　ｙ）に分配することで、色差情報を失うことなく反映させることもできる。
【００７０】
従って、色差加算回路２０４による加算は次のように行われる（Ｓ２０５）。
Ｙｉ（ｘ＋１，　ｙ）　＝　Ｙｉ（ｘ＋１，　ｙ）　＋　Ｙｅ／２
Ｍｉ（ｘ＋１，　ｙ）　＝　Ｍｉ（ｘ＋１，　ｙ）　＋　Ｍｅ／２　　…（３）
Ｃｉ（ｘ＋１，　ｙ）　＝　Ｃｉ（ｘ＋１，　ｙ）　＋　Ｃｅ／２
【００７１】
以上から、処理対象画素（ｘ，ｙ）に拡散される色差Ｅ（ｘ，ｙ）は次式で表される。
2004048114.tif 000003
【００７２】
上式のうち、前ライン（ｙ−１）分の拡散データは、前ライン色差格納メモリ２１３に格納されている。つまり、前述したように、色差積算回路２０８は前ラインの各画素の組について、次式の色差の和を格納することになり、メモリを有効に活用することもできる。
ＣＬ　＝　１／１６・Ｅ（ｘ−１，ｙ−１）＋　５／１６・Ｅ（ｘ，ｙ−１）＋　２／１６・Ｅ（ｘ＋１，ｙ−１）　…（５）
【００７３】
また、メモリチップを活用し、アクセス回数を減少させるためには、格納する色差が８ビット（−１２８〜＋１２８）に収まるよう、図１２に示す拡散係数を定めればよい。また、色差を拡散する領域をさらに広げれば、より忠実な色再現が得られる。さらに、色差は未処理画素へ拡散されるため、処理の方向を左右交互にすれば、色差が特定の方向へのみに拡散されることがなくなり、モアレなどの画質劣化の発生を抑制する効果がある。
【００７４】
次に、カウンタｘをインクリメントし（Ｓ２０７）、１ライン分の処理が終わったか否かを判定し（Ｓ２０８）、１ライン分の処理が終了した場合、カウンタｙを更新し（Ｓ２０９）、一頁分の処理が終わったか否かを判定する（Ｓ２１０）。未了の場合、処理はステップＳ２０３へ戻される。
【００７５】
●出力色テーブルの決定
まず、システムが使用する出力色の組み合せを決定する。出力色の組み合わせは、一画素入力に対して副走査方向に二画素の出力データを生成する場合、二画素とも同じ色のドットの組み合わせで構成する場合でも八通りある。
【００７６】
二つのドットが異なる色の場合を図１３および図１４を参照して説明する。
【００７７】
ＹドットとＫドットがない場合を考えると、Ｃ＝０、Ｍ＝０の場合はどちらのドットも打たず白色（記録媒体の色）になり、Ｃ＝１、Ｍ＝０場合ははＣドットだけを打ち、Ｃ＝２、Ｍ＝０の場合はＣドットを二つ打ち、Ｃ＝２、Ｍ＝２の場合はＣドットおよびＭドットをそれぞれ二つ打つ。これにより、ＹとＣ、ＭとＹ、各色とＫの組み合せの数分の色空間を表現することができる（図１４参照）。
【００７８】
算術的には３４＝８１通りの組み合せが考えられるが、（Ｃ，　Ｍ，　Ｙ，　Ｋ）＝（１，　１，　１，　２）など、色空間的に、他の組み合せで置き換えても充分に再現できる色や、インクの打ち込み制限量などの制約により使用できない組み合せを除外する。残った出力パターンの組み合せを、実際の記録媒体にカラーパッチとして印刷し、印刷したカラーパッチを測色する。つまり、カラーパッチを読取部１４によって読み取って得られるデータの色空間を色空間変換部２０２により変換する。これによって得られる測色データをＣｐ、ＭｐおよびＹｐとして、各パッチからえられたデータを図１５に示すようなテーブルにする。
【００７９】
そして、前述した式（１）を用いて、ＩＬＰと、Ｃｐ、ＭｐおよびＹｐとの距離Ｌを求め、距離Ｌが最短になるＣｐ、ＭｐおよびＹｐ、言い換えればカラーパッチを作成したＣＭＹＫデータから図１１のようなテーブルを作成する。
【００８０】
このように、本実施形態のＣＤ法は、すべての入力色を、入力色に最も近い出力色の組み合わせ（色ドットの組み合せ）に置き換え、その際発生する色差を周辺の画素に拡散する。従って、入力色と出力色の組み合わせとの対応の取り方が、ＣＤ法を用いて色再現性を高める基本になる。
【００８１】
上述したように、ＩＬＰＣ、ＩＬＰＭおよびＩＬＰＹに対してＣＭＹＫを、ＣＭＹＫに対してＹｐ、ＭｐおよびＣｐを求める必要があるから、図９および図１１に示すテーブルをまとめて、図１６に示すテーブルをテーブルメモリ２１０に格納するようにする。
【００８２】
なお、ＩＬＰＣ、ＩＬＰＭおよびＩＬＰＹとＣＭＹＫとの対応、並びに、ＣＭＹＫとＹｐ、ＭｐおよびＣｐとの対応は、記録部４が同じでも、使用するインクや記録媒体に応じて異なる。従って、記録部４がサポートするインクや記録媒体などに応じて、図１６に示すテーブルを切り替えると高い色再現性が得られる。その際、テーブルメモリ２１０などのＲＡＭに複数のテーブルを格納せずに、コピーごとに、または、設定変更ごとにＲＯＭなどかテーブルを読み出し、テーブルメモリ２１０に格納してもよい。逆に、記録部４がサポートするインクや記録媒体などに平均的なテーブルをテーブルメモリ２１０に格納することで、テーブルの簡素化を図ることもできる。
【００８３】
［テーブルの作成］
量子化処理部３のテーブルと、３Ｄ−ＬＵＴ　３１の設計方法を簡単に説明する。
【００８４】
量子化処理部３は、記録メディア（紙の種類など）と記録材（インクなどの特性）により特性が規定される。従って、量子化処理部３のテーブルは、最大かつ充分な階調が表現できるように、単純な濃度空間ではなく、各インクの一次色で表現される空間で色差を拡散できるよう設計する。つまり、表現可能な色の空間を量子化処理部３へ入力される値に対して最大化するように、テーブルを定義する。
【００８５】
一方、３Ｄ−ＬＵＴ　３１は、どのようなＲＧＢ入力値に対してどのような色を表すデータを出力するかを定義する。例えば、特定の色相の彩度を高くするようなテーブルや、中間輝度のコントラストを上げるようなテーブルなどを、３Ｄ−ＬＵＴとして複数用意することで、量子化処理のテーブルを変更せずに、様々な特徴（色調）をもつ画像を得ることができる。
【００８６】
このように、本実施形態によれば、高精度で各色相、彩度、明度に合わせた好ましい色変換を行い、出力デバイスおよびそのデバイスの各印刷モードに最適な、さらに記録メディアに最適な色分解を高速処理することができる。
【００８７】
さらに、ユーザのニーズ、例えば「速い」「きれい」、および／または、使用する記録メディアに細かく対応した色分解と、好ましい色変換とを個別に行うことができ、入出力デバイスの特性、ユーザの色の好み、ユーザのモード選択、メディアの種類などの膨大な組み合せに対応する処理を効率よく行い、好ましい色再現を行うことができる。
【００８８】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００８９】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９１】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００９２】
【発明の効果】
以上説明したように、本発明によれば、処理負荷を増すことなく、色再現性を向上させることを目的とする。
【図面の簡単な説明】
【図１】実施形態の画像処理装置の構成例を示すブロック図、
【図２】図１に示す画像処理装置の具体的な構成例を示すブロック図、
【図３】図１に示す色変換部の詳細な構成例を示すブロック図、
【図４】図３に示す三次元ルックアップテーブルの一例を示すブロック図、
【図５】図３に示す補間部の概念を説明する図、
【図６】図１に示す量子化処理部の詳細な構成を示すブロック図
【図７】量子化処理部が実行する処理例を示すフローチャート、
【図８】色差の拡散係数の一例を示す図、
【図９】出力色テーブルの一例を示す図、
【図１０】量子化処理の際に生じる色差を拡散する処理例を示すフローチャート、
【図１１】出力濃度テーブルの一例を示す図、
【図１２】色差の拡散係数の一例を示す図、
【図１３】出力色テーブルの決定を説明する図、
【図１４】出力色テーブルの決定を説明する図、
【図１５】テーブル例を示す図、
【図１６】テーブル例を示す図である。
【図１】
2004048114.tif 000004
【図２】
2004048114.tif 000005
【図３】
2004048114.tif 000006
【図４】
2004048114.tif 000007
【図５】
2004048114.tif 000008
【図６】
2004048114.tif 000009
【図７】
2004048114.tif 000010
【図８】
2004048114.tif 000011
【図９】
2004048114.tif 000012
【図１０】
2004048114.tif 000013
【図１１】
2004048114.tif 000014
【図１２】
2004048114.tif 000015
【図１３】
2004048114.tif 000016
【図１４】
2004048114.tif 000017
【図１５】
2004048114.tif 000018
【図１６】
2004048114.tif 000019