本発明は、非線形マスキングモデルを用いた色予測システムの構築に関するものである。そして、非線形マスキングモデルを使用する場合に必要なモデルの入出力空間でのサンプリング間隔を均等にすることを目的としている。さらに、色分解を行う空間上で隣接する出力インク構成点間の測定点数を等しくすることが特徴となっている。
以下、本発明を実施するための形態について図面を参照して詳細に説明する。なお、各図中、同一又は相当する部分には同一の符号を付しており、その重複説明は適宜に簡略化乃至省略する。本発明は画像処理装置に関し、具体的には、複数の測色値を用いてデバイスの色予測システムを構築する画像処理装置に関する。
まず初めに、出力プロファイルと、色予測シミュレーションの必要性について説明する。スキャナやディジタルカメラ等の入力デバイスと、モニタやプリンタ等の出力デバイスとの間では、複数のカラー入出力デバイス間の色変換特性を表すデータであるプロファイルを用いてカラーマッチングが行われる。
例えば、プリンタの出力用プロファイルは、以下のような方法により作成される。まず、プリンタの色材に依存する色材信号であるCMYK値に基づいて、それらの色のカラーパッチを所定数、プリンタによって出力する。そして、そのカラーパッチを測色してプリンタに依存しない色空間の色信号であるL*a*b*値を得る。これにより、CMYK値とL*a*b*値との間の関係が求まる。
次に、得られたCMYK値からL*a*b*値への関係を利用して、反復法等によりマスキング係数を決定したり、CMYK値からL*a*b*値への写像を求めたりする。これにより、逆方向への関係であるL*a*b*値からCMYK値への関係を色修正データとして求める。
上述したプロファイル作成処理において、CMYK値からL*a*b*値への関係を求める場合、カラーパッチ等のサンプル数が多い程その精度が高くなる。しかしながら、CMYK色空間のすべての色をサンプルとしてプリント出力することは非現実的である。そこで、CMYK値からL*a*b*値への関係を得るため、色予測システムを以下の方法で構築する。
(1)CMYK等の基本色を測色し、これを刺激値として用いたNeugebauer方程式によりL*a*b*値を求める方法。(2)色空間における距離が等間隔なカラーパッチを測色して、CMYK値とL*a*b*値との関係を求める。そして、これらのカラーパッチの間の中間色については、線形補間により測色値を推定して同様の関係を求める方法。
(3)上記の方法と同様であるが、カラーパッチを測色して得た関係に対して、より精度を向上させるため曲線補間を行う方法。(4)上記の方法と同様であるが、カラーパッチを測色して得た関係に対して、より精度を向上させるために非線形マスキングモデルを設定して色を予測する方法。
これらの方法で構築されたツールを用いれば、任意のCMYK値を入力すると、再現色であるL*a*b*値を算出することができ、このツールを色予測システムと呼ぶこととする。
次に、色材数が多い場合の色予測システム構築方法について説明する。昨今において、CMYKの他にライトシアン、ライトマゼンタ、又はレッドやグリーンの特色等、4色以上の色材を使用するプリンタがある。
この場合、出力プロファイルの作成において、色材信号数(=N)よりも少ない信号数(<N)の中間信号を用いて色予測システムを構築する技術がある。中間信号としては、R´G´B´やcmyk(ライトシアン、ライトマゼンタ、ライトイエロー、ライトブラック)がある。これについて図1を用いて説明する。図1は、色材数が多い場合の色予測システム構築技術について説明する図である。
図1において、モニタRGBデータ100と目標L*a*b*データ101とは、入力プロファイルに関するものである。cmyk中間データ1 102と、CMYKRG色材データ1 103と、実測L*a*b*データ104とは、出力プロファイルに関するものである。ここで、cmyk中間データを小文字で、CMYKRG色材データを大文字でそれぞれ表すこととする。
色予測システムに使用するデータは、そのままの状態でプリンタに使用される色材信号であっても良いし、所定の変換が行われた後にプリンタに使用される中間信号であっても良い。中間信号と色材信号とは、1対1の対応関係が決まっているため、中間信号を使用すると、測色数を減らすことができ、プリンタに印刷させる色域を容易に選択することができる。また、各色と各階調値との組み合わせのうち、印刷時に使用されない組み合わせを除くことができるので、プリンタから印刷される複数のパッチの測色結果が無駄にならない。
本実施形態例の場合、cmyk中間データ1 102からCMYKRG色材データ1 103に対しては、後述する多色色分解処理を通して一意に定まっている。
次に、図1を用いて、モニタとプリンタとのカラーマッチング機能であるLUT(ルックアップテーブル)構築方法について説明する。LUT108は、モニタRGBが属する色空間であり、RGB軸からなる立方体の各格子点(以下、RGB格子点という。)に出力色材データを記載し、各格子間を線形補間する。これが、任意のモニタRGBに対する色材データCMYKRGを得るためのテーブルデータとなる。
中間信号を用いてLUTを得るには以下の手順を行う。(D1)入力モニタRGB格子点におけるプリンタ出力による色再現目標値である目標L*a*b*値データ101を決定する。(D2)色予測システムを構築する。サンプリング点上のcmyk中間データ1 102に後述する多色色分解を施し、CMYKRG色材データ1 103を得る。対象のプリンタで出力、パッチを測色し、実測L*a*b*データ104を得る。
(D3)(D2)のパッチを用い、前述の方法でcmyk中間データ1 102を入力値とし、L*a*b*値を予測する色予測システム105を構築する。(D4)(D3)で構築した色予測システム105を用いて、目標L*a*b*値データ101を再現するためのcmyk中間データ2 106を全RGB格子点に対して得る。
(D5)また、得られたcmyk中間データ2 106に対して多色色分解を行い、全RGB格子点に対するCMYKRG色材データ2 107を得ておく。(D6)最後に全RGB格子点上の入力モニタRGB値(100)に対して、(D5)で算出したCMYKRG色材データ2 107の関係を得てLUT108とする。
次に、本実施形態に係る画像処理装置の概略構成について説明する。図2は、本実施形態に係る画像処理装置の概略構成を示すブロック図である。
図2において、ホストコンピュータ200は、ワープロ、表計算、インターネットブラウザ等のアプリケーションソフトウェア201、オペレーティングシステム(OS)202を有する。また、アプリケーションソフトウェア201からOS202へ発行される各種描画命令群を描画処理して、出力画像を表す印刷データを作成するプリンタドライバ203を有する。なお、各種描画命令群としては、イメージ描画命令、テキスト描画命令、及びグラフィクス描画命令等がある。
さらに、モニタ205に表示する画像データを作成するモニタドライバ204等のソフトウェアを有する。ホストコンピュータ200は、これらソフトウェアを動作させるための各種ハードウェアとして、CPU(Central Processing Unit)208、ハードディスクドライブ(Hard Disk Drive)207を有する。さらに、RAM(Random Access memory)209、及びROM(Read Only Memory)210等を有する。
なお、ホストコンピュータ200として、Windows(登録商標)をOS202として、印刷機能を有する任意のアプリケーションソフトウェア201をインストールしたパーソナルコンピュータ200が考えられる。さらに、プリンタ206として、例えばインクジェットプリンタを、モニタ205として、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)等が利用可能である。
ホストコンピュータ200のアプリケーションソフトウェア201は、モニタ205に表示された画像に基づいて、印刷されるべき出力画像データを作成する。出力画像データとしては、文字等のテキストに分類されるテキストデータ、図形等のグラフィックスに分類されるグラフィックスデータ、写真画像等に分類されるイメージデータ等がある。
そして、出力画像を印刷する場合、アプリケーションソフトウェア201からOS202に印刷要求が発行され、描画命令群がOS202に送られる。描画命令群は、テキストデータ部分はテキスト描画命令、グラフィックスデータ部分はグラフィックス描画命令、イメージデータ部分はイメージ描画命令として構成される。
OS202は、印刷要求を受け付けると、印刷を実行すべきプリンタに対応するプリンタドライバ203に対して描画命令群を渡す。プリンタドライバ203は、OS202から入力される印刷要求及び描画命令群を処理し、プリンタ206が印刷可能な印刷データを作成し、印刷データをプリンタ206に転送する。
プリンタ206がラスタプリンタである場合、プリンタドライバ203は、描画命令群に対して、順次、画像補正処理を行い、RGB24ビットのページメモリに画像をラスタライズする。すべての描画命令がラスタライズされた後、プリンタドライバ203は、ページメモリに格納されたRGBデータをプリンタ206が印刷可能なデータ形式に変換し、CMYKRG色材データをプリンタ206に転送する。なお、印刷可能なデータ形式としては、例えばCMYKRG色材データ等がある。
次に、本実施形態に係る画像処理装置を構成するプリンタドライバが行う処理について説明する。図3は、本実施形態に係る画像処理装置を構成するプリンタドライバが行う処理を説明する図である。
図3において、ラスタ処理部220は、OS202から入力されるRGB色情報を参照して、描画命令に基づいて画像をラスタライズし、ページメモリ上にラスタ画像を生成する。そして、ラスタ画像に対し、色変換処理部221における色変換テーブル(以下、LUT(ルックアップテーブル)という。)を用いたCMYKRGへの色変換処理、及び総量規制が施される。さらに、中間調処理部222における総量規制、及び中間調処理が施され、各インクに対応するCMYKRGのドット情報としてプリンタ206に転送され、画像が形成される。
次に、本実施形態に係る画像処理装置の色変換処理部で使用される色変換テーブルの作成方法について説明する。図4は、本実施形態に係る画像処理装置の色変換処理部221で使用される色変換テーブル(LUT)の作成方法を構成する各工程について説明する図である。なお、以下に説明する文中の、データD1からD6は、図1に示すD1からD6に対応する。
図4において、ステップ(以下、Sという。)11の目標L*a*b*値決定工程では、RGB格子点におけるモニタRGB値をsRGBの定義にしたがってL*a*b*空間の値に対応付ける。さらに、プリンタの色域を考慮した色域へのガマット圧縮処理を行い、目標L*a*b*値とする。すなわち、図1に示すように、RGB格子点上のモニタRGBデータ100と、目標L*a*b*データ101との入力側対応関係を規定したデータD1を決定する。
なお、入力側対応関係は、後述するS19のテーブル作成工程までに決定されれば良いため、S12工程からS17工程の後に、入力側対応関係決定工程を設けても良いし、S11の目標L*a*b*値決定工程が、S19のテーブル作成工程に含まれていても良い。勿論、既にRGB値とL*a*b*値との入力側対応関係が決定されていれば、本工程を省略することが可能である。
S12の多色色分解方式決定工程では、多色色分解方式を決定し、cmyk中間値からCMYKRG色材値を得るための4−6色関係を規定する。S13のサンプリング点決定工程では、多色色分解テーブル作成時におけるcmy色空間立方体へのインク構成点の割り付け位置に応じてサンプリング点を決定する。そして、S16の色予測システム構築工程で使用するカラーパッチのデータD2を作成する。生成されるデータは、多色色分解処理後のCMYKRG色材データである。詳細については後述する。
S14の出力工程では、上述のCMYKRG色材データに対して、総量規制、中間調処理部222(図3)で行われるのと同じ総量規制処理、中間調処理を施し、プリンタに出力してカラーパッチを得る。S15の測色結果取得工程では、カラーパッチ全てを、測色器により測色し、L*a*b*空間に基づく測色結果を取得する。すなわち、S13のサンプリング点決定工程で決定したサンプリング点におけるcmyk値を、L*a*b*空間の各成分値に対応付けたサンプルデータD3を取得する。
S16の色予測システム構築工程では、サンプルデータD3を用い、非線形マスキングモデルを使用して、任意のcmyk中間信号値からL*a*b*値を算出するための色予測システムを構築する。S17のcmyk中間データ生成工程では、S11の目標L*a*b*値決定工程において決定したRGB格子点における目標L*a*b*値(D1のL*a*b*)を再現するためのcmyk中間信号を算出する。算出は、S16の色予測システム構築工程S16で構築した色予測システムを用いる。すなわち、RGB格子点におけるL*a*b*空間の各成分値をcmyk値に対応づけたデータD4を取得する。
S18の多色色分解工程では、S17のcmyk中間データ生成工程で得られた、RGB格子点における色分解前のcmyk中間信号に対して、多色色分解テーブルを用いた多色色分解処理を行い、CMYKRG色材データを得る。すなわち、RGB格子点におけるCMYKRG色材データD5を取得する。S19のテーブル作成工程では、RGB格子点におけるモニタRGB値をCMYKRG値に対応づけたデータD6を取得しLUTとする。
次に、本実施形態に係る画像処理装置の多色色分解工程で決定された多色色分解テーブルについて説明する。図5は、本実施形態に係る画像処理装置の多色色分解方式にて使用する多色色分解テーブルについて説明する図である。図5(a)は、標準的な多色色分解、(b)は、特色インクの使用を控える色分解、(c)はプロセスインクの使用を控える色分解、について説明する図である。
cmy中間信号を入力空間とし、そのcmy色空間立方体の3次元座標軸とする。cmy色空間立方体上の各辺に、色分解後のインク構成であるCMYKRGBの各インク信号を割り付ける。割り付け後、三角錐補間方法を用いて色分解を行う。三角錐補間の詳細については後述する。
割り付けられるインク構成点は、各インクの記録量を8ビットで表す形式のものとして説明する。以下、K=0の多色色分解テーブルの作成方法について説明する。また、以下において、インク構成点を[C+M+Y](C=M=Y=255、R=G=B=0)のように表す。
cmy色空間立方体の原点である頂点Wに白のデータ(C=M=Y=R=G=B=0)が割り付けられ、頂点Wに対向した頂点に黒のデータ[C+M+Y](C=M=Y=255、R=G=B=0)が割り付けられる。頂点Wと頂点C+M+Yを結ぶ直線は無彩色の集まりである無彩色軸である。
cmy色空間立方体において、頂点W、頂点C+M+Y以外の頂点には、1、2次色のべた(C=M=Y=R=G=B=255)のインク構成が割り付けられる。ここで、プロセスインクC、M、Yのベタ(=255)データは、図5(a)から(c)に示すように、cmy色空間立方体の対応したc、m、y座標軸上に割り付けるとより良い。このようにした場合、例えばc単色が入力されると、補間演算によりC単色が出力される等、単色入力に対し対応した単色が出力されるので、いわゆる純色保証が簡単に実現できるという利点がある。また、特色RGB各色は、隣接するプロセスインクの頂点と同じ平面で頂点Wの対角点に割り付ける。
以下、図5(a)の標準的な多色色分解の割り付け例を用いて説明を行う。図5(a)は、分かりやすい様にグリーン色相のみを図示している。2次色は、各特色インクとそれに色相的に隣接する一つのプロセスインクとの混合色のべた:[Y+G](Y=G=255)、[C+G](C=G=255)の各インク構成が、色相順、かつ辺の中央に割り付けられる。すなわち、標準的な多色色分解では、[Y+G]は頂点YとGの中央、[C+G]は頂点CとGの中央に割り付けられる。同様に、[Y+R]は頂点YとRの中央に、[M+R]は頂点MとRの中央に、[C+B]は頂点CとBの中央に、[M+B]は頂点MとBの中央に、それぞれ割り付けられる。
図5(b)は特色インクとそれに色相的に隣接する一つのプロセスインクとの混合色のべた:[Y+G](Y=G=255)、[C+G](C=G=255)を特色側に割り付ける例である。2次色は、各特色インクとそれに色相的に隣接する一つのプロセスインクとの混合色のべた:[Y+G](Y=G=255)、[C+G](C=G=255)の各インク構成が色相順に割り付けられる。しかしながら、頂点G寄りに割り付けられる。これは、特色の使用を控える多色色分解となる。
図5(c)は、特色インクとそれに色相的に隣接する一つのプロセスインクとの混合色のべた:[Y+G](Y=G=255)、[C+G](C=G=255)をプロセスインク側に割り付ける例である。2次色は、各特色インクとそれに色相的に隣接する一つのプロセスインクとの混合色のべた:[Y+G](Y=G=255)、[C+G](C=G=255)の各インク構成が色相順に割り付けられる。しかしながら、[Y+G]は頂点Y寄りに、[C+G]は頂点C寄りに割り付けられる。同様に[Y+R]は頂点Y寄りに、[M+R]は頂点M寄りに、[C+B]は頂点C寄りに、[M+B]は頂点M寄りに、それぞれ割り付けられる。これは、プロセスインクの使用を控える多色色分解となる。このように、cmy色空間立方体への、インク構成点割り付け方法は複数存在する。
次に、多色色分解テーブルを用いた多色色分解処理方法について説明する。cmy色空間立方体は、インク構成点を頂点とした複数の三角錐(補間立体)に分割される。前述で割り付けられた1、2次色ベタの各点、cmy色空間立方体の原点、すなわち、白の割り付け位置である頂点W、頂点Wに対向した黒の頂点[C+M+Y]を全三角錐の共通の頂点とする。そして、インク構成点を用いて容易に複数の三角錐への分割を行うことができる。
黒[C+M+Y]が割り当てられた頂点と他の色の割り付け位置により生成可能な最小の三角形を選び、この三角形と白の頂点とを組み合わせ一つの三角錐とする。次に、残りの生成可能な三角形の中から最小のものを選び、これと白の頂点を組み合わせ三角錐とする。この手順を繰り返す方法により、入力色空間立方体の三角錐分割を行うことができる。このようにして分割された三角錐の一部を図5(a)から(c)に例示している。
以下、K=0の場合における準備処理について説明する。ここでは、上記説明において作成した多色色分解テーブルを使用する。分割した三角錐毎に、三角錐の頂点のcmy色空間位置に基づいて、三角錐を構成する4つ面の平面式を決定する。この平面式は、後述するように、cmy入力信号がどの三角錐に属するのかの判定に用いられる。また、分割した三角錐毎に、三角錐の各頂点のcmy色空間位置と割り付けられた色データに基づいて、当該三角錐に属するcmy入力信号に対するCMYRGB出力信号を生成するための補間演算式を決定する。
補間演算式は、次の数式(1)ように表される。
ここで、X11からX54は補間係数である。このような補間演算式の補間係数を次のように決定する。三角錐の4頂点のcmy色空間位置と、そこに割り付けられた色データ(インク記録量の組み合わせ)を、
(c1、m1、y1)⇒(C1、M1、Y1、O1、G1)
(c2、m2、y2)⇒(C2、M2、Y2、O2、G2)
(c3、m3、y3)⇒(C3、M3、Y3、O3、G3)
(c4、m4、y4)⇒(C4、M4、Y4、O4、G4)
とすると、4頂点に対する補間演算は、次の数式(2)ように表すことができる。
よって、補間係数X11からX54は、次の数式(3)ように決定することができる。
また、cmy色空間における平面の一般式は、次の数式(4)のように表すことができる。
Pc・c+Pm・m+Py・y=1 ・・・(4)
ここで、PcからPmは係数であるので、例えば、最初の3点(c1、m1、y1)、(c2、m2、y2)、(c3、m3、y3)を通る平面式は、次の数式(5)のように表すことができる。
よって、
のように決定することができる。
以上、K=0の場合のための準備処理について説明した。同様に、K=255の多色色分解処理を行う。平面式と補間演算式を決定する処理も同様である。
次に、多色色分解処理で実行される処理について説明する。図6は、本実施形態に係る画像処理装置の多色色分解処理で実行される処理について説明するフロー図である。ここで、S101aからS103aはK=0に対応する準備処理、S101bからS103bはK=255に対応する準備処理である。
S104の処理では、1画素のcmyk信号を入力する。S105aの処理では、cmyk入力信号中のcmy信号について、S103aの処理で決定されたK=0の場合の各三角錐の平面式の評価を行う。これにより、S102aの処理で分割されたK=0用の三角錐の中からcmy信号が属する一つの三角錐を判定する。
すなわち、cmy信号について三角錐を構成する4つ面の平面式を評価し、cmy信号のcmy色空間位置がその4つ面すべての内側にあると判断されたときに、その三角錐に属すると判定する。同様に、S105bの処理では、S103bの処理で決定されたK=255の場合の各三角錐の平面式の評価を行う。そして、S102bの処理で分割されたK=255用の三角錐の中からcmy信号が属する一つの三角錐を判定する。
S106aの処理では、S105aの処理で判定されたK=0用の三角錐の補間演算式(数式(1)、数式(3))を用いてK=0の場合のCMYRGB信号を生成する。同様に、S106bの処理において、S105bの処理において判定されたK=255用の三角錐の補間演算式を用いてK=255の場合のCMYRGB信号を生成する。
S107の処理では、S106aの処理で生成されたK=0の場合のCMYRGB信号と、S106bの処理で算出されたK=255の場合のCMYRGB信号とに基づいて、CMYRGB出力信号を決定する。すなわち、cmyk入力信号中のk信号に応じた次の数式(7)に示す補間演算により、CMYRGB出力信号を決定する。
X=((Xa×(255−k)+Xb×k)/255 ・・・(7)
ただし、Xは補間演算結果であるCMYRGB出力信号中の各インク信号、XaはK=0の場合のCMYRGB信号中の各インク信号、XbはK=255の場合のCMYRGB信号中の各インク信号である。このようにして算出されたCMYRGB出力信号にK信号を組み合わせたCMYRGB出力信号が、最終的な色分解処理結果である。
以上のように、多色色分解テーブルを用いた多色色分解方式を決定した。なお、ここで決定するのは、cmyk中間データをCMYKRGのデータに置き換える条件、すなわち、cmy色空間立方体にインク構成点を割り付けて、多色色分解テーブルを決定することである。これにより、各色と各階調値の組み合わせのうち、印刷時に使用されない組み合わせを除くことができる。よって、プリンタから印刷される複数のパッチの測色結果が無駄にならず、高精度に色変換させることが可能なLUTを作成することができる。
また、cmyk/CMYKRGデータが1対1の関係となり、かつ、図4に示すS15の処理である測色結果取得工程にて取得する測色結果が、cmyk中間データと1対1の関係になるように4−6色関係を決定する。そうすると、cmyk中間データが異なればCMYKRG色材データも異なることになる。また、cmyデータを色変換したCMYKRG色材データに基づいて印刷されるパッチの測色結果も異なってくるので、LUTの作成が容易となる。
次に、本実施形態に係る画像処理装置のサンプリング点決定工程でなされるサンプリング点決定方式について説明する。図7は、本実施形態に係る画像処理装置のサンプリング点決定工程でなされるサンプリング点決定方式について説明するフロー図である。また、図8は、本実施形態に係る画像処理装置のサンプリング点について説明する図である。
以後の説明において、図8に示すcmy色空間立方体の各辺を8分割する。また、kは0から255を8分割することを前提として、以下ではk=0についての説明を行う。
図7において、S81の非均等間隔サンプリング点決定工程では、cmy色空間立方体の頂点ではなく辺上に、インク構成点が存在する辺のサンプリング点を決定する。図8において、辺[Y][G]、辺[C][G]、辺[M][R]、辺[Y][R]が対象である。本実施形態では、これらの辺上のインク構成点間のサンプリング点数を同じにすること、すなわち、各辺上に割り付けられたインク構成点のうち、互いに隣接する色同士を結ぶ辺を均等に分割することが特徴となっている。
まず[Y][Y+G]間、及び[Y+G][G]間をそれぞれ均等4分割し、サンプリング点p0、p1、…、p8を決定する。次に[C][C+G]間、及び[C+G][G]間をそれぞれ均等4分割し、サンプリング点p9、p10、…、p16を決定する。[Y][Y+R]間、[Y+R][R]間、[M][M+R]間、[M+R][R]間についてもそれぞれ同様に行い、p17、p18、…、p24、…p32を決定する。このように、インク構成点間のサンプリング数を同一にする理由は後述する。
S82の均等間隔サンプリング点決定工程では、[W]を通らない残りの辺に対するサンプリング点を決定する。図8において、辺[G][C+M+Y]、辺[R][C+M+Y]、辺[C][C+M]、辺[M][C+M]、辺[C+M][C+M+Y]が対象である。これらの辺上では均等間隔サンプリング点とする。
S83の全体サンプリング点決定工程では、cmy色空間立方体全体のサンプリング点を決定する。ただし、このとき、色相が切り替わる面上では両色相のサンプリング点を採用する。図8においては、グリーン色相とレッド色相が切り替わる頂点[Y]と頂点[C+M+Y]を結ぶ辺[Y][C+M+Y]上である。この面上では、グリーン側からのサンプリング点とレッド側からのサンプリング点との両方を採用する。この付近では色相と共にインクも大きく切り換わるため、サンプリング点数は多い方が予測システムの精度が良い。
S84のcmyk中間データ取得工程では、S83の全体サンプリング点決定工程で取得した全てのサンプリング点に対応するcmy色空間の座標を算出し、cmyの中間信号とする。同様の処理を、その他のkについても算出し、cmyk中間データ1 102(図1)とする。
S85のD2データ取得工程では、cmyk中間データ1 102に多色色分解処理を行い、CMYKRG色材データ1 103(図1)を得る。
次に、S81の非均等間隔サンプリング点決定工程において、インク構成点間のサンプリング数を同一にする理由を図9、図10を用いて説明する。図9、図10は、本実施形態に係る画像処理装置の非均等間隔サンプリング点決定工程において、インク構成点間サンプリング数を同一にする理由を説明する図である。
図9ではa*b*平面におけるガマット外郭を表しており、1、2次色のインク構成を[Y+G]等と示す。また、図8に対応するサンプリング点p0、p1、…、p32を示す。
例えば、[Y][Y+G]間、及び[Y+G][G]間において、それぞれを均等分割する理由は、[Y]と[G]の混色である[Y+G]の再現色は、a*b*平面においては、必ず[Y]と[G]のほぼ中心の色相に再現されるためである。図5(b)、(c)に示したように、cmy色空間立方体上において、(Y+G)は特色側に割り付けたり(図5(b))、プロセスインク側に割り付けたり(図5(c))することが可能である。しかし、そのような場合、cmy色空間立方体上のcmy軸に対して均等間隔サンプリングを行い、a*b*平面にサンプリング点をプロットすると粗密がおきる。
図10(a)は、[Y+G]を特色[G]側に割り付け、cmy軸に対して均等間隔サンプリングを行った例である。対応する図10(b)のa*b*平面上では、[Y+G]と[G]との間が粗になっている。このようなサンプリング点で出力したカラーパッチを用いて色予測システムを構築しても、[Y+G]から[G]付近では予測精度が悪い結果となることは明らかである。
よって、cmy色空間立方体辺上の割り付け位置に関わらず、インク構成点間のサンプリング数を一定に揃えるのが良い。すなわち、色材信号数(=N)よりも少ない信号数(<N)の中間信号を使用し、中間信号を入力信号とする色予測システムを構築するには、中間信号を均等分割することは避けるべきである。色材信号数(=N)よりも少ない信号数(<N)の中間信号を使用し、中間信号を入力信号とする色予測システムを構築するには、色分解を行う空間上で隣接する出力インク構成点間の測定点数を等しくするのが良い。
なお、上記では6色系のインクジェットプリンタについて説明をしてきたが、他の4色プリンタを始めとする色材信号値の切り替えが必須となる系においても、本発明の技術思想が有効になることはいうまでもない。
このように、上述した本実施形態によれば、色分解を行う空間上で隣接する出力インク構成点間の測定点数を等しくし、L*a*b*空間全域で均等間隔サンプリングとなるカラーパッチを用いて色予測システムを構築している。したがって、非線形マスキングモデルを使用しても、比較的高い精度で測色値の推定を行うことができる。換言すれば、少数のカラーパッチで高精度な測色値の推定ができる。また、これを利用して色修正データを作成することができる。
なお、本実施形態は、複数の機器(例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置等)に適用しても良い。
また、本実施形態は、上述した実施形態を実現するソフトウェアのプログラムを記録した記憶媒体を、システム、又は装置に供給し、そのシステム、又は装置のコンピュータが記憶媒体に格納されたプログラムを読み出し実行することによっても、達成される。
この場合、記憶媒体から読み出されたプログラム自体が上述した実施形態を実現することになり、そのプログラムを記憶した記憶媒体は本実施形態を構成する。また、コンピュータが読み出したプログラムを実行することにより、上述した実施形態が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態が実現される場合も含まれる。
そして、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によっても上述した実施形態が実現され得る。
また、本実施形態を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した各工程に対応するプログラムが格納されることになる。
従来技術の色予測システムは、任意のR´G´B´値を入力すると、その入力値近傍で四面体補間を行ってL*a*b*を算出している。四面体補間は入力値の近傍のみに注目する方法であるため、R´G´B´入力空間での均等間隔サンプリング点をベースにして、色材切り替え付近のポイントを追加すれば良い。しかしながら、非線形マスキングモデルを使用する場合、統計理論に基づいた構築がなされるため、色予測システムを構築する空間全域において均等間隔サンプリングであることが必要とされる。従来技術は上記条件を満たさない、すなわち、L*a*b*空間において非均等サンプリングとなるため、非線形マスキング方式を採用する場合、予測精度が悪くなるという問題があった。
本発明によれば、非線形マスキングモデルを使用する場合に必要な入出力空間、すなわち、Lab全域でのサンプリング間隔を均等にすることを目的として、色分解を行う空間上で隣接する出力インク構成点間の測定点数を等しくしている。これにより、非線形マスキングモデルを使用する色予測シミュレーションの予測精度を向上することができる。
なお、図4、図6、及び図7に示した本実施形態に係る画像処理装置を構成する各機能ブロックの各動作は、コンピュータ上のプログラムに実行させることもできる。すなわち、画像処理装置のCPU208が、ROM210格納されたプログラムをロードし、プログラムの各処理ステップが順次実行されることによって実現される。
本発明によれば、非線形マスキングモデルを使用する場合であっても、色予測シミュレーションの予測精度を向上することが可能な画像処理装置、画像処理方法、及びプログラムが得られる。
以上、本発明の好適な実施形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範囲な趣旨及び範囲から逸脱することなく、これら具体例に様々な修正及び変更が可能である。