(57)【特許請求の範囲】
【請求項１】
複数の測色値を用いてプリンタの色再現モデルを生成する画像処理方法であって、
前記複数の測色値は、前記プリンタの色信号空間上に略等間隔に配置された信号値、および、カラーマッチングされた色信号を複数のインクに対応する信号に変換する前記プリンタ用の色分解テーブルを調べて、前記複数のインクに対応する信号の信号値の組み合わせが同レベルになり、前記複数のインクに対応する信号の信号値の変化の傾きが異なるインクの切替点を検出することで決まる非等間隔に配置された少なくとも一つの信号値に基づき生成されるカラーパッチから測色されることを特徴とすることを特徴とする画像処理方法。
【請求項２】
前記色再現モデルと補間演算を用いて、任意のカラーパッチに対する測色値を推定することを特徴とする請求項1に記載された画像処理方法。
【請求項３】
前記略等間隔に配置された信号値と、前記非等間隔に配置された少なくとも一つの信号値に対応する測色点は、前記プリンタ用の色分解テーブルにおける最暗点、最明点および最大彩度点を含むように決定されることを特徴とする請求項1または請求項2に記載された画像処理方法。
【請求項４】
前記略等間隔に配置された信号値と、前記非等間隔に配置された少なくとも一つの信号値は、前記プリンタ用の色分解テーブルにおいてインクを使い始める格子点の信号値を含むように決定されることを特徴とする請求項1または請求項2に記載された画像処理方法。
【請求項５】
情報処理装置を制御して、請求項1から請求項4の何れか一項に記載された画像処理を実行することを特徴とするコンピュータプログラム。
【請求項６】
請求項5に記載されたコンピュータプログラムが記憶されたことを特徴とするコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理方法に関し、例えば、複数の測色値を用いてデバイスの色再現モデルを生成する画像処理に関する。
【０００２】
【従来の技術】
スキャナやディジタルカメラなどの入力デバイスと、モニタやプリンタなどの出力デバイスとの間では、複数のカラー入出力デバイス間の色変換特性を表すデータであるプロファイルを用いてカラーマッチングが行われる。例えば、プリンタの出力用プロファイルは、以下のような方法により作成される。
【０００３】
まず、プリンタに依存する色空間の色信号であるRGB値（またはCMYK値）に基づいて、それらの色のカラーパッチを所定数、プリンタによって出力し、そのカラーパッチを測色してプリンタに依存しない色空間の色信号であるXYZ値（またはLab値）を得る。これによりRGB値とXYZ値との間の関係が求まる。
【０００４】
次に、得られたRGB値からXYZ値への関係を利用して、反復法などによりマスキング係数を決定したり、RGB値からXYZ値への写像を求めることで、逆方向への関係であるXYZ値（またはLab値）からRGB値（またはCMYK値）への関係を色修正データとして求める。
【０００５】
上述のプロファイル作成処理において、RGB値（またはCMYK値）からXYZ値（またはLab値）への関係を求める場合、カラーパッチなどのサンプル数が多いほどその精度が高くなるが、RGB色空間のすべての色をサンプルとしてプリント出力することは非現実的である。そこで、RGB値（またはCMYK値）からXYZ値（またはLab値）への関係を得るために以下の方法が用いられる。
(1) RGBなどの基本色を測色し、これを刺激値として用いたNeugebauer方程式によりXYZ値を求める方法。
(2) 色空間における距離が等間隔なカラーパッチを測色して、RGB値とXYZ値との関係を求め、これらのカラーパッチの間の中間色については線形補間により測色値を推定して同様の関係を求める方法。
(3) 上記(2)の方法と同様であるが、カラーパッチを測色して得た関係に対して、より精度を向上させるため曲線補間を行う方法（例えば、特開昭63-254888号公報）。
(4) 上記(3)の方法と同様であるが、カラーパッチを測色して得た関係に対して、より精度を向上させるために非線形マスキングモデルを設定して色を予測する方法。
【０００６】
【発明が解決しようとする課題】
上記(1)の方法はC(Cyan)、M(Magenta) 、Y(Yellow)、R(Red) 、G(Green)、B(Blue)、K(Black) および記録媒体の色W(White) の八点に対する刺激値としてのXYZ値と、CMYなどの基本色の各面積率とを用いたNeugebauer方程式によって、任意のCMY値に対するXYZ値を推定する方法である。この方法は基本色八点を頂点とする三次元補間と等価であるが、実際の色変換特性はより複雑であるため、一般には精度の点で劣る。
【０００７】
上記(2)および(3)の方法はともに、色空間における距離が等間隔なカラーパッチを利用する方法である。このカラーパッチの値としてプリンタ信号がつくるRGB空間の等間隔な格子点の座標値が選ばれる（例えば9×9×9格子）。この場合、一般に、格子点の数を増せば、色の推定精度は向上するが、測色回数も増すため測定に要する時間が長くなる。
【０００８】
例えば、ここであるモニタRGB値に対応するCMYKcm値（カラープロファイル）を求めることを考える。なお、cはライトシアン、mはライトマゼンタである。CMYKcm値を求めるべきモニタRGB値は図8のP10である。ここでは、モニタRGB値をプリンタガマット内の色（L*a*b*値）に対応付けるガマットマッピングにおいて、マッピング前後における彩度が保たれるようにマッピングが行われたと仮定する。そうすると、P10に対応するプリンタガマット上の位置はP20であり、実際のプリンタガマット上のL31上に位置する。しかし、図8に破線で示すように、サンプリングを用いた四面体補間によりプリンタガマットを構成するために、P20に対応する位置はL30上へずれてしまう。つまり、色空間における距離が等間隔なカラーパッチを測色する方法によると、L31のCMYKcmの組み合わせ（図8の左側）で印刷されるべきところが、L30のインク切替り部（図8の左側）までずれ込んでしまうことになり、階調性が悪化することがある。なお、図8の詳細については、実施形態の説明に記載する。
【０００９】
また、上記(2)の方法は、カラーパッチ間の点の測色値を推定する場合、測色によって得られたXYZ値（またはLab値）をルックアップテーブル（以下「LUT」と呼ぶ）の対応する格子点へ格納し、カラーパッチの中間にあるRGB値またはCMYK値に対し、その近傍の八点または四点を用いる八点補間や四点補間などの線形補間によってXYZ値を推定する。このような線形補間は、一般に、その補間結果が滑らかさに欠け、実際の特性との誤差が比較的大きなものである。従って、(2)の方法による推定結果をICC(International Color Consortium)プロファイルのAtoBO Tagなどへ格納すると、プリント結果をモニタ上でプレビューする際にノイズが多く含まれる。また、RGB値などの入力値が格子点と同じ座標を示す場合は、出力値が測色値そのものになり、測色時の測色誤差が直接出力に反映されてしまう。
【００１０】
上記(2)の方法に対し、上記(3)の方法は、(2)の方法と同様にLUTを用い、RGB値またはCMYK値に対し、その近傍の三点以上を用いて曲線補間する方法であり、線形補間よりは良好な結果が得られる可能性が高い。しかし、入力値の近傍の点にのみ着目するため、測色時の測色誤差がこれら近傍の各点に対して相対的に大きくなり、測色誤差を充分には緩和できない。
【００１１】
上記(4)の方法は、非線形なマスキングモデルを設定するため比較的精度の高い色予測ができる。しかし、例えばCMYKcm六色のインクジェットプリンタに使用される、CMYKcm各インクに対応する信号値の切替り方が大きな違いとなって現れるような系においては、その予測精度が不充分で充分な階調性が得られない。
【００１２】
本発明は、より少ない測色値を使用して、プリンタの色再現モデルを高精度に生成することを目的とする。
【００１３】
【課題を解決するための手段】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１４】
本発明にかかる画像処理方法は、複数の測色値を用いてプリンタの色再現モデルを生成する画像処理方法であって、前記複数の測色値は、前記プリンタの色信号空間上に略等間隔に配置された信号値、および、カラーマッチングされた色信号を複数のインクに対応する信号に変換する前記プリンタ用の色分解テーブルを調べて、前記複数のインクに対応する信号の信号値の組み合わせが同レベルになり、前記複数のインクに対応する信号の信号値の変化の傾きが異なるインクの切替点を検出することで決まる非等間隔に配置された少なくとも一つの信号値に基づき生成されるカラーパッチから測色されることを特徴とすることを特徴とする。
【００１５】
【発明の実施の形態】
以下、本発明にかかる一実施形態の画像処理装置を図面を参照して詳細に説明する。
【００１６】
［構成］
図1は実施形態の画像処理装置の概略構成を示すブロック図である。
【００１７】
図1において、ホストコンピュータ100は、ワープロ、表計算、インターネットブラウザなどのアプリケーションソフトウェア101、オペレーティングシステム(OS)102、並びに、アプリケーションソフトウェア101からOS102へ発行される各種描画命令群（イメージ描画命令、テキスト描画命令およびグラフィクス描画命令など）を描画処理して、出力画像を表す印刷データを作成するプリンタドライバ103、および、モニタ105に表示する画像データを作成するモニタドライバ104などのソフトウェアを有する。
【００１８】
ホストコンピュータ100は、これらソフトウェアを動作させるための各種ハードウェアとして、CPU108、ハードディスクドライブ(HDD)107、RAM109およびROM110などを備える。
【００１９】
なお、図1に示す構成として、Windows（マイクロソフト社の登録商標）をOS102として、印刷機能を有する任意のアプリケーションソフトウェア101としてインストールしたパーソナルコンピュータ100が考えられる。さらに、プリンタ106としては例えばインクジェットプリンタを、モニタ105としてはCRTやLCDなどが利用可能である。
【００２０】
ホストコンピュータ100のアプリケーションソフトウェア101は、モニタ105に表示された画像に基づき、文字などのテキストに分類されるテキストデータ、図形などのグラフィクスに分類されるグラフィクスデータ、写真画像などに分類されるイメージデータなどを用いて、印刷されるべき出力画像データを作成する。そして、出力画像を印刷する場合、アプリケーションソフトウェア101からOS102に印刷要求が発行され、テキストデータ部分はテキスト描画命令、グラフィクスデータ部分はグラフィクス描画命令、および、イメージデータ部分はイメージ描画命令として構成される描画命令群がOS102に送られる。
【００２１】
OS102は、印刷要求を受け付けると、印刷を実行すべきプリンタに対応するプリンタドライバ103に描画命令群を渡す。プリンタドライバ103は、OS102から入力される印刷要求および描画命令群を処理して、プリンタ106が印刷可能な印刷データを作成し、印刷データをプリンタ106に転送する。
【００２２】
プリンタ106がラスタプリンタである場合、プリンタドライバ103は、描画命令群に対して、順次、画像補正処理を行い、順次、RGB24ビットのページメモリに画像をラスタライズする。すべての描画命令がラスタライズされた後、プリンタドライバ103は、ページメモリに格納されたRGBデータをプリンタ106が印刷可能なデータ形式、例えばCMYKデータに変換し、CMYKデータをプリンタ106に転送する。
【００２３】
図2はプリンタドライバ103が行う処理を説明する図である。
【００２４】
図2において、画像補正処理部120は、OS102から入力される描画命令群に含まれる色情報に対して画像補正処理を行う。具体的には、RGB色情報を輝度・色差信号に変換して輝度信号に露出補正処理を施した後、補正後の輝度・色差信号をRGB色情報に逆変換する処理である。
【００２５】
プリンタ用補正処理部121は、画像補正処理されたRGB色情報を参照して、描画命令に基づき画像をラスタライズし、ページメモリ上にラスタ画像を生成する。そして、ラスタ画像に色再現空間マッピング（ガマットマッピング）、CMYKへの色分解および階調補正などの処理を施し、画素ごとにプリンタ106の色再現性に依存するCMYKデータを生成する。
【００２６】
図3はプリンタ用補正処理部121の処理を詳細に説明する図である。
【００２７】
図3において、入力画像データB1は、前段色信号変換部B2におけるカラーマッチング処理、後段色信号変換部B3におけるインクジェットプリンタの特性を考慮した色分解処理、並びに、階調補正部B4における階調補正およびハーフトーン処理が施され、各インクに対応するCMYKcmのドット情報としてプリンタB5に転送され、画像が形成される。
【００２８】
［前段色処理テーブルの導出］
次に、図4を参照して、前段色信号変換部B2で使用される前段色処理テーブル212の導出方法について詳述する。
【００２９】
前段色処理テーブル212は、異なる色再現性を有するRGBモニタおよびRGBプリンタの出力機器間でカラーマッチングを行うための三次元LUTである。前段色処理テーブル212の導出は、大まかには、モニタRGBデータ205およびプリンタRGBデータ231を機器に依存しない色空間(Device Indepent Space: DIS)のデータに変換し、モニタRGBデータ205とプリンタRGBデータ231との対応付けを行うことである。
【００３０】
●モニタRGBからDISへの変換
モニタRGBデータ205を、例えばsRGBなどの規格による変換式を用いる演算により、DISであるXYZ色空間のデータに変換する。ここでは、さらに人間の色覚を考慮して、CIE L*a*b*色空間における色度を求める。
【００３１】
●プリンタRGBからDISへの変換
プリンタ106として、実施形態では、濃インクのCMYKおよび淡インクのcmの計六色のインクを使用するインクジェットプリンタを想定する。インクジェットプリンタでは、印刷したドットの粒状感や、記録媒体が単位時間、単位面積当りで受容可能な総インク液滴量を考慮した上で色分解を行う必要がある。これらの条件を考慮した上で、入力RGBデータを色分解して、適当なCMYKcmのインクの組み合わせを出力する後段色処理テーブル203が予め設定されている。
【００３２】
後段色処理テーブル203を介してプリンタの色処理を操作すれば、プリンタの構成、例えばCMYKの四色であるとか、CMYKcmの六色であるとかといった構成に左右されることなく、単にRGBデータを処理するRGBデバイスとして、プリンタを扱うことができる。
【００３３】
また、インクジェットプリンタでは、インクの混色による発色の変化、記録媒体へのインクの浸透の仕方による発色の変化など、複雑かつ多岐に亘る要因が発色に関連するので、その発色特性を解析によって予測することは困難である。そこで発色を予測する困難を避けつつ、インクジェットプリンタの色再現性を表現するために、次の方法で、ある特定のプリンタRGBに対応するL*a*b*データを求め、プリンタRGBとL*a*b*との対応関係を三次元のテーブル形式で表現することを考える。つまり、可能なプリンタRGBデータの組み合わせ、かつ、適当なサンプリング間隔でカラーパッチを印刷し、それらカラーパッチを、例えばGretag社のSpectrolinoなどの測色器によって測定し、プリンタ色再現空間の格子点データ（L*a*b*値）を求める。格子点のL*a*b*値が得られれば、任意のプリンタRGB値に対応するL*a*b*値（DISの座標値）は、例えば四面体補間などの公知の補間演算を使用して格子点L*a*b*値から求めることができる。
【００３４】
実施形態では、後段RGB信号値のサンプリング間隔を「16」とし、後段RGB信号値0、16、32、48、64、80、96、112、128、144、160、176、192、208、224、240および255の各格子点を有する17×17×17格子（4913点）の後段色処理テーブル203を用いる。
【００３５】
後段色処理テーブル203の格子点のL*a*b*データは、格子点を間引き（サンプリング間隔「32」相当の格子点間隔に一点を追加）、後段RGB信号値0、16、32、64、96、128、160、192、224および255の各格子点に対応する(9+1)×(9+1)×(9+1)格子（1000点）、つまり実際に用いる後段色処理テーブル203のサブセット210について測色し、1000個のL*a*b*データ202を求める。そして、四面体補間などの公知の補間演算により、サブセットであるL*a*b*データ202を拡張したセットである、後段色処理テーブル203の格子点データであるL*a*b*データ204を求める。
【００３６】
●ガマットマッピング
次に、モニタのL*a*b*データ206をプリンタターゲットのL*a*b*データ207へ変換するガマットマッピングを図5を参照して説明する。
【００３７】
図5に示すL*a*b*色空間において、モニタRGBのガマット（色再現域）は、プリンタRGBのガマットよりも明度L*および彩度Sともに広い。従って、L*a*b*色空間上でモニタRGBとプリンタRGBとを単に対応付けるだけでは、モニタに表示されるすべてのRGBの組み合わせを、適切な色度としてプリンタで出力することはできない。そこで、L*a*b*値を一致させることはできないが、モニタ表示に類似する色合いなどとしてプリンタで出力が可能になるようガマットマッピングを行う。
【００３８】
ガマットマッピングの方法としては、実施形態では、L*a*b*色空間上でモニタRGBデータ205のガマットを変更して、プリンタターゲットのL*a*b*データ207を生成し、プリンタターゲットのL*a*b*データ207が、プリンタRBGのガマットの内側に入るように、例えば図5に示すように、明度L*を維持したまま、彩度S=√(a*2+b*2)を下げるなどの処理を行う。
【００３９】
●前段色処理テーブルの生成
上記のガマットマッピングによって、プリンタターゲットのL*a*b*データ207は、プリンタのRGBガマットの中に入るように調整される。すなわち、図4に示すP1→P2の処理を辿って、プリンタターゲットのL*a*b*データ207をプリンタRGBデータ231に対応付けることができる。
【００４０】
ここで、プリンタのRGBガマットの中に納まるように変換されたプリンタターゲットのL*a*b*データ207の各点(L*a*b*値)について、L*a*b*→RGB変換を行わなければならない。ここでは、L*a*b*→RGB変換対象のプリンタターゲットのL*a*b*データ207と、その周辺のプリンタのRGBガマットを構成する点を用いて四面体補間することでRGBを求め、プリンタのRGBガマット内に納まらない点については外挿する。なお、L*a*b*→RGB変換方法として、逆四面体補間、ニューラルネットワークや重回帰式を用いるプリンタモデルを構成する変換方法を用いることも可能である。
【００４１】
一方、205→206→207の処理を辿ることで、モニタのRGBデータ205は、プリンタターゲットのL*a*b*データ207と対応付けられている。そこで、上記二つの処理を順に辿り、205→206→207→P1→204→P2→231と順次変換することで、最終的に前段色処理テーブル212を得ることができる。
【００４２】
このようにして得られた前段色処理テーブルを使用して処理を行うことで、モニタRGBデータ205はプリンタRGBデータ231に対応付けされ、さらに、後段処理テーブル203によって、プリンタのインク色であるCMYKcm(232)と対応付けされる。すなわち、モニタRGBデータ205は、プリンタRGBデータ231を介して、CMYKcmデータ(232)と対応付けることができる。
【００４３】
以下では、さらに図6を参照して、RGB、CMYK各信号値およびL*a*b*値の対応について詳述する。
【００４４】
なお、前述したガマットマッピングでも説明したように、一般に、モニタとプリンタとでは色再現域が異なるが、説明を簡単にするために、モニタとプリンタとの、白色点から黒色点までに相当する明度レンジや、最大彩度点が対応付けし易いように、図6（および図8）は模式的に描かれている。
【００４５】
また、プリンタガマット内の任意のL*a*b*値の色を実現するためのインク色の組み合わせを示すCMYKcm値は、プリンタRGB値を介して得られるものであるが、説明を簡単にするために、L*a*b*値とCMYKcm値が対応付けし易いように、図6（および図8）は、プリンタRGB値のグラフを省略して直接対応付けた状態で描かれている。
【００４６】
図6は、プリンタおよびモニタの色再現域に対応する色立体において、White→Red→Blackの順に辿った軸の色度の変化を模式的に示すグラフである。なお、左からRGBプリンタでのCMYKcm信号の切替り、プリンタガマット、モニタRGB信号値についての変化を示している。
【００４７】
例えば、図6の左側に示すプリンタCMYKcm信号の切替り方は、m、Yで明るい領域のRedを表現（中央の図の上部）し、M、Yで最大彩度（中央の図の中央部）になり、M、Yに補色Cが加えられることで順次暗くなり、最終的にはKが入って、M、Yの色成分を減らすことで、無彩色のBk（中央の図の下部）に達する。
【００４８】
同様に図6の右側のモニタRGB信号の切替り方は、RGBいずれの信号も最大で最も明るく(White)、G、B信号を段々に減らすことで、明度が下がり、かつ、相対的にR信号による彩度が増す。さらに、G、B信号が零でR信号が255の点で彩度が最大になり、以後はR信号自体を弱めていくことで、明度、彩度がともに下がる。
【００４９】
ところで、上述した「プリンタRGBからDISへの変換」では、プリンタガマットを構成する際に、ステップ幅32でサンプリングしたRGBの組み合わせについて、プリンタで印刷し、L*a*b*データを得た。そして、図5に示すプリンタL*a*b*データ202の測色されるべきサンプリング点は、図6に水平な破線および実線で示される。なお、破線は実施形態だけでなく従来も使用されたサンプリング点を示し、実線は実施形態で追加されたサンプリング点を示している。
【００５０】
ここでは、17×17×17格子の後段色処理テーブル203において、インク切り替えが成り立つ系においては、本来、少なくとも17に対応するデータが測色されるべきであるが、従来は、サンプリングによって図6に示す破線のように、9×9×9格子に対応するサンプリング点が（つまり、17×17×17格子に対して一つおきに）測色されている（図6の左側および中央参照）。これに対して、実施形態では、RGBのそれぞれについて(9+1)×(9+1)×(9+1)格子の「1」として信号値「16」のサンプリング点を追加する（図7および図6の実線部参照）ことから、図6に示す実線に対応するサンプリング点が追加され測色される。
【００５１】
従来は、17×17×17格子に対して一つおきに粗く測色されたデータを四面体補間してプリンタガマットに用いていたことで、本来は図6に示す「実際のプリンタガマット」のように滑らかに変化すべきプリンタガマットが、「測定されるプリンタガマット」のように多面体形状として表される。これに対して、実施形態では、RGBの信号値「16」のサンプリング点について測色を追加し、格子点の間隔を不均等にすることで、測色点の数を大きく増加させることなく、より「実際のプリンタガマット」に近い「測定されるプリンタガマット」を得ることができる。
【００５２】
以下、図8を参照してさらに詳細に説明する。
【００５３】
図8は、図7の最大彩度点よりも明度L*の低い領域を取り出して拡大した図である。図8に示す記号は図7に対応している。なお、実施形態の効果を明確に説明するため、図8では従来のサンプリング点をステップ幅「64」の5×5×5格子を例として示し、実施形態で追加される測色点は半分の「32」（つまり9×9×9格子）とした例を示す。
【００５４】
ここで改めて、前段色処理テーブルの生成について考える。
【００５５】
CMYKcm値を求めるべきモニタRGB値は図8に示すP10に対応する。さらに、モニタRGB値をプリンタガマット内の色（L*a*b*値）に対応付けるガマットマッピングにおいて、マッピング前後における彩度が保たれるようにマッピングが行われたと仮定する。そうすると、P10に対応するプリンタガマット上の位置はP20である。ところが、P20は、実際のプリンタガマット上ではL31上に位置するにもかかわらず、図8に破線で示す、従来のサンプリング点を測色し、四面体補間によってプリンタガマットを構成すると、L30の位置までずれ込む。従って、等間隔のカラーパッチを測色する従来の方法では、L31のCMYKcmの組み合わせ（図8の左側）で印刷されるべきところが、L30のインク切替り部（図8の左側）にずれ込んでしまう。少なくともCMYKの四色をもつインクジェットプリンタによって再現される暗部のような、補色、墨、色成分のインクが急激に切り替わっていくような系においては、このインク切替り部の変化により階調性が悪化する。
【００５６】
一方、実施形態のサンプリング方法によれば、P20は、よりL31に近い位置として定まるから、より正確なインク切り替え位置を捉えることができる。
【００５７】
なお、上記では、六色系のインクジェットプリンタについて説明したが、他のCMYKプリンタを始めとする信号値の切替りが必須になる系において、実施形態の技術が有効であることはいうまでもない。
【００５８】
【変形例】
上記の実施形態においては、暗部の階調性と最大彩度点（例えばR=255、G=16、B=16）付近の階調を確保するために、R=16 or G=16 or B=16に測色点を配する例を説明した。しかし、暗部の階調にのみ留意するのであれば、図9に一例を示すのように、R=16 and G=16 and B=16にのみ測色点を追加すればよく、より測色点の数を減らすことができ効率的である。
【００６０】
さらに、図11に示すように、一般に明度の高い領域は、L*a*b*値の変化およびインクの信号値の切替りは急激ではないことが多い。このような場合、L*a*b*値の変化が急激である可能性が高い、つまり、CMYKcm信号値の切替りの多い部分に重点的に測色点を配してもよい。ただし、このように測色点を定める際、RGBについてそれぞれ一次元の不均等なテーブルの組み合わせ、例えば下記のような組み合わせで測色点を決定する場合は次の注意が必要である。
R[]={0,16,32,64,96,128,160,224,255}
G[]={0,16,32,64,96,128,160,192,255}
B[]={0,16,32,64,96,128,160,224,255}
【００６１】
つまり、プリンタRGB色空間において、white→color→blackの六軸のみを考えるとしても、R信号の測色対象格子点を決めるには、R信号がその軸上で変化することになる。MRY(暗部)、GCB(明部)の六軸での測色対象格子点の論理和である格子点について測色するようにしなければならない。同様に、G信号の測色対象格子点を決めるにはYGC(暗部)、RBM(明部)の六軸で、B信号の測色対象格子点を決めるにはCBM(暗部)、RYG(暗部)の六軸で、その測色対象格子点の論理和である格子点について測色するようにしなければならない。
【００６２】
上記の実施形態では、追加すべき測色点を予め決定しておく例を説明したが、以下の条件に従い自動的に算出するようにしてもよい。
条件1：Black（最暗点）、White（白点・最明点）、最大彩度点
（R=255 or G=255 or B=255）を測色対象点とする。
条件2：インクの入り始めを示す格子点は測色対象候補点とする。
例えばWhite→Red→Blackの軸について、C=0になる格子点
は補色インクの入り始めを示している。
条件3：補色成分同士（補色濃淡インク）または濃淡インクCMYKcmなど
のインク信号の組み合わせにおいて、二つ以上の信号値の組み
合わせが同レベルになり、かつ、それぞれの傾きの符号が異な
る場合（例えばred→black間を考えると、cyan(C)の傾き
が負、かつ、black(K)の傾きが正で、さらにC=Kの場合）の格
子点はインクの切り替わり部分であり、この格子点は測色対象
候補点である。
条件4：最大彩度点よりも明度の高い領域（例えばRGB信号で判定す
るならば、次式で示す範囲において、条件1および2の両方に
当てはまらない領域は測色対象候補点から外す。
[max{R, max(G, B)} - min{R, min(G, B)}]/2 + min{R, min(G, B)}＞128
【００６３】
なお、以上の条件の少なくとも一つ以上を適宜組み合わせて使用しても構わない。
【００６４】
【測定格子点の変更方法】
以下では、前述した後段テーブル（後段テーブルのインク切替点）に応じて、適応的に測定する格子点を変更する方法を説明する。なお、測定する格子点はRGBの信号別に設定できるものとし、以下では、このうちR信号について測定格子点を選択する方法を説明する。
【００６５】
まず、上述した条件1から、R=0およびR=255の点は必ず測定対象であるから、0<R<255の範囲で測定格子点を選択することになる。ところが、RGB色空間において、RYGCBMの六軸上でR信号の変化に着目すると、図12に矢印⇒で示す区間でのみ、R信号は0<R<255の値をとる。勿論、GおよびB信号も矢印⇒で示す区間で0<G, B<255の値をとる。従って、R信号の測定対象の候補を検出する軸は12軸中のR⇒K、Y⇒K、W⇒G、W⇒C、W⇒BおよびM⇒Kの六軸になる。
【００６６】
図13はR信号の格子点上で、測定すべき格子点を選択する際の、格子点の選択方法を説明する図で、上記の測定対象の候補を検出する軸における信号の切替りを並べて示している。つまり、図13は、各軸におけるCMYKcmの信号値が、格子点番号に従い、どのように変化するかを示している。
【００６７】
各軸について、上述した条件1から3に基づき、測定対象にすべき格子点を選択すると下記のようになる。
条件1（白点または黒点）  ：図13に示す白点領域および黒点領域
条件2（インクの入り始め）：図13に枠で囲んで示すインクの入り始め点
条件3（インクの切替り）  ：図13に白抜き文字で示すインクの切替り点
条件4（明るい部分）      ：図13には示さないが、W⇒G、W⇒Cおよび
W⇒Bが対象になる
【００６８】
各軸において、R信号値の格子点は共通のものが使用されるから、測定対象の格子点は、各軸の測定対象の格子点の位置の論理和をとったものになり、図13の「R信号値の測定格子点」に‘1’で示す格子点が測定対象である。
【００６９】
図14はR信号の格子点上で、測定対象の格子点を選択する手順を示すフローチャートである。
【００７０】
まず、処理対象軸のインデックスiを零に初期化し(S302)、測定対象の格子点テーブルである二次元配列LUT_CAND[12][17]を‘0’に初期化する(S303)。なお、二次元配列LUT_CAND[i][j]のiは処理対象軸のインデックスに相当し、jは格子点番号（図13参照）に相当する。なお、処理対象軸のインデックスiは、例えばR信号の場合は図15に示す軸を表す。
【００７１】
次に、インクの切替点を検出すべき後段テーブル（インク色分解テーブル）を読み込み(S304)、インクの切替点を検出する対象軸を一次元配列LUT_DETECT[i]に設定する(S305)。R信号のインクの切替点の検出対象軸は図15に示される処理対象軸であるから、一次元配列LUT_DETECT[i]は下記のようになる。
R⇒K軸：LUT_DETECT[1] =‘1’
Y⇒K軸：LUT_DETECT[1] =‘1’
W⇒G軸：LUT_DETECT[1] =‘1’
W⇒C軸：LUT_DETECT[1] =‘1’
W⇒B軸：LUT_DETECT[1] =‘1’
M⇒K軸：LUT_DETECT[1] =‘1’
その他の軸：LUT_DETECT[i] =‘0’
【００７２】
次に、インデックスi<12を判定して未処理の軸があるか否かを調べ(S307)、i<12あればLUT_DETECT[i]を判定して処理対象軸であるか否かを調べ(S308)、LUT_DETECT[i]=‘1’(処理対象軸）であればステップS315でインクの切替点を検出する処理を行った後、インデックスiをインクリメントし(S306)、処理をステップS307へ戻す。また、LUT_DETECT[i]=‘0’(非処理対象軸）の場合は上記検出処理を行わずに、インデックスiをインクリメントし(S306)、処理をステップS307へ戻す。
【００７３】
ステップS315では、図14に示すように、条件1から3で測定対象の格子点を検出する(S311-S313)が、条件4の測定対象の格子点の検出(S314)を加えてもよい。そして、測定対象の格子点jが検出された場合はLUT_CAND[i][j]=‘1’にする。
【００７４】
このようにして、インデックスiをインクリメントして処理対象軸を変え、すべての軸について測定対象の格子点の検出が終わったら、ステップS309で、各軸の検出結果を総合して測定対象の格子点テーブルLUT_CAND_MERGE[]を作成する。つまり、式(1)の演算によって、R信号について、測定対象の格子点を‘1’、非測定対象の格子点を‘0’で表す測定対象の格子点テーブルLUT_CAND_MERGE[]が得られる。
LUT_CAND_MERGE[j] = ΠLUT_CAND[i][j]    …(1)
ここで、Π演算はi=0から12まで
【００７５】
上記の手順をGおよびB信号に適用すれば、測定対象の格子点をRGB色空間上で決定することができる。
【００７６】
なお、上記では、条件1から3（条件4を加えてもよい）を用いてインクの切替点の検出を行う例を説明したが、例えば、インクの信号値に関する微分値を調べるなどして、インクの信号値の変化が大きいところを測定対象にしてもよい。また、格子点の設定も、RGBの各信号別に設定できるものに限らず、上述した実施形態を変形すれば、その他の格子点の設定にも、上記の方法を適用することができる。
【００７７】
このように、上述した実施形態によれば、プリンタにより所定数のカラーパッチをプリントし、このカラーパッチの測色値に基づき、プリンタの入出力特性を表わすモデル式を定め、このモデル式によって他の測色値を推定することができるので、実際にプリントするカラーパッチの数が多くなくても、比較的高い精度で測色値の推定を行うことができる。言い換えれば、少数のカラーパッチで高精度な測色値の推定ができる。また、これを利用して色修正データを作成することができる。
【００７８】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００７９】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８１】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００８２】
【発明の効果】
以上説明したように、本発明によれば、より少ない測色値を使用して、プリンタの色再現モデルを高精度に生成することができる。
【図面の簡単な説明】
【図１】実施形態の画像処理装置の概略構成を示すブロック図、
【図２】プリンタドライバが行う処理を説明する図、
【図３】プリンタ用補正処理部の処理を詳細に説明する図、
【図４】前段色信号変換部で使用される前段色処理テーブルの導出方法を説明する図、
【図５】モニタのL*a*b*データをプリンタターゲットのL*a*b*データへ変換するガマットマッピングを説明する図、
【図６】  RGB、CMYK各信号値およびL*a*b*値の対応を示す図、
【図７】サンプリング点の追加を説明する図、
【図８】図7の最大彩度点よりも明度L*の低い領域を取り出して拡大した図、
【図９】変形例を説明する図、
【図１０】変形例を説明する図、
【図１１】変形例を説明する図、
【図１２】測定対象の候補を検出する軸を説明する図、
【図１３】  R信号の格子点上で、測定すべき格子点を選択する際の、格子点の選択方法を説明する図、
【図１４】  R信号の格子点上で、測定対象の格子点を選択する手順を示すフローチャート、
【図１５】インデックスiが示す処理対象軸を説明する図である。
【図１】
0004194289.tif 000002
【図２】
0004194289.tif 000003
【図３】
0004194289.tif 000004
【図４】
0004194289.tif 000005
【図５】
0004194289.tif 000006
【図６】
0004194289.tif 000007
【図７】
0004194289.tif 000008
【図８】
0004194289.tif 000009
【図９】
0004194289.tif 000010
【図１０】
0004194289.tif 000011
【図１１】
0004194289.tif 000012
【図１２】
0004194289.tif 000013
【図１３】
0004194289.tif 000014
【図１４】
0004194289.tif 000015
【図１５】
0004194289.tif 000016