A.第1実施例:
図1は、実施例のデータ処理装置100を示す説明図である。データ処理装置100は、例えば、パーソナルコンピュータである(例えば、デスクトップコンピュータ、タブレットコンピュータ)。データ処理装置100は、プロセッサ110と、揮発性記憶装置120と、不揮発性記憶装置130と、画像を表示する表示部140と、ユーザによる操作を受け入れる操作部150と、インタフェース190と、を有している。これらの要素は、バスを介して互いに接続されている。
プロセッサ110は、データ処理を行う装置であり、例えば、CPUである。揮発性記憶装置120は、例えば、DRAMであり、不揮発性記憶装置130は、例えば、フラッシュメモリである。
不揮発性記憶装置130は、第1プログラム132と第2プログラム134と第3プログラム136とを格納している。プロセッサ110は、これらのプログラム132、134、136を実行することによって、種々の機能を実現する。これらのプログラム132、134、136によって実現される機能の詳細については、後述する。プロセッサ110は、プログラム132、134、136の実行に利用される種々の中間データを、記憶装置(例えば、揮発性記憶装置120、不揮発性記憶装置130のいずれか)に、一時的に格納する。
表示部140は、画像を表示する装置であり、例えば、液晶ディスプレイである。操作部150は、ユーザによる操作を受け取る装置であり、例えば、表示部140上に重ねて配置されたタッチパネルである。ユーザは、操作部150を操作することによって、種々の指示をデータ処理装置100に入力可能である。
インタフェース190は、他の装置と通信するためのインタフェースである(例えば、USBインタフェース、有線LANインタフェース、IEEE802.11の無線インタフェース)。インタフェース190には、測色機200とプリンタ210とが接続されている。測色機200は、色を測定して測色値を出力する装置であり、例えば、分光測色機である。プリンタ210は、用紙(印刷媒体の一例)上に画像を印刷する装置である。本実施例では、プリンタ210は、シアンCとマゼンタMとイエロYとブラックKのそれぞれのインクを用いるインクジェット式の印刷装置である。なお、プリンタ210としては、他の方式(例えば、レーザ方式)の印刷装置を採用してもよい。
図2は、プリンタ用のルックアップテーブルLUTを作成する処理の例を示すフローチャートである。本実施例では、ルックアップテーブルLUTは、RGB色空間で表された画像データを用いて画像を印刷する際に利用される。ルックアップテーブルLUTは、RGBの各色成分の階調値で表される複数の表色値と、プリンタで利用可能な複数の色材の各色成分の階調値で表される複数の表色値と、の対応関係を定めるテーブルである。ここでは、複数の色材として、シアンC、マゼンタM、イエロY、ブラックKの4種類の色材が利用可能であることとする。また、RGBとCMYKとのそれぞれの階調値は、0から255の256段階で表されていることとする。CMYKの階調値は、対応する色材の単位面積当たりの量が多いほど、大きい。以下、RGBの表色値を、第1種表色値とも呼ぶ。また、CMYKの表色値を、第2種表色値とも呼ぶ。
図3は、RGBの色成分で表される色立体CCの説明図である。色立体CCの8つの頂点のそれぞれには、色を示す符号が付されている(具体的には、黒頂点Vk(0,0,0)、赤頂点Vr(255,0,0)、緑頂点Vg(0,255,0)、青頂点Vbl(0,0,255)、シアン頂点Vc(0,255,255)、マゼンタ頂点Vm(255,0,255)、イエロ頂点Vy(255,255,0)、白頂点Vw(255,255,255))。括弧内の数字は、(赤R、緑G、青B)の各色成分の値を示している。
本実施例では、ルックアップテーブルLUTは、RGB色空間における複数の代表的な表色値(グリッド値ともよぶ)と、CMYK色空間における複数の表色値であって複数のグリッド値に対応付けられた複数の表色値と、の対応関係を表している。グリッド値は、例えば、RGB色空間において、RGBの各値を、0から255の間におおよそ均等に配置された33個の特定値のいずれかに設定して得られる値である。本実施例では、このような複数のグリッド値は、図3の色立体CC内において、おおよそ均等に分布する(図示省略)。
図中には、第1ラインRL1と、第2ラインRL2と、無彩色ラインALと、が示されている。第1ラインRL1は、白頂点Vwと赤頂点Vrとを結ぶ直線である。第2ラインRL2は、赤頂点Vrと黒頂点Vkとを結ぶ直線である。これらのラインRL1、RL2は、色立体CCの外殻上の直線である。無彩色ラインALは、白頂点Vwと黒頂点Vkとを結ぶ直線である。無彩色ラインAL上では、R=G=Bである。無彩色ラインAL上の表色値は、無彩色を表している。3本のラインRL1、RL2、ALで囲まれる三角形の領域RA上の表色値は、赤の色相を有する色を表している。一般的には、色立体CC内において、無彩色ラインALを含む平面のうち、無彩色ラインALから見て一方向側の部分は、色相がおおよそ同じ色を表している。
プロセッサ110(図1)は、図2の処理を実行することによって、RGB色空間における複数のグリッド値に対応する、CMYK色空間における複数の表色値を算出する。図2の処理は、第1プログラム132に従って動作するプロセッサ110によって、実行される。なお、測色機200を用いた測色は、測色用の第2プログラム134に従って動作するプロセッサ110によって行われる。プリンタ210を用いた画像の印刷は、印刷用の第3プログラム136に従って動作するプロセッサ110によって行われる。
S100では、プロセッサ110(図1)は、キャリブレーションデータを作成する。キャリブレーションデータは、CMYKのそれぞれの階調値の変化に対して、実際に印刷される色の濃度がリニアに変化するように、CMYKの階調値を補正するためのデータである。本実施例では、キャリブレーションデータは、シアンの補正前階調値Caと補正済階調値Cbとの対応関係と、マゼンタの補正前階調値Maと補正済階調値Mbとの対応関係と、イエロの補正前階調値Yaと補正済階調値Ybとの対応関係と、ブラックの補正前階調値Kaと補正済階調値Kbとの対応関係と、を表している。補正前階調値と補正済階調値との対応関係を表すデータとしては、例えば、1次元のルックアップテーブルが用いられる。キャリブレーションデータは、CMYKの4色成分のための4個の1次元ルックアップテーブルを含んでいる。
キャリブレーションデータは、例えば、以下のように生成される。以下、シアンCの1次元ルックアップテーブルを作成する方法の例を説明する。プロセッサ110は、印刷用の第3プログラム136に従って、シアンCのキャリブレーション用の複数個のパッチを、プリンタ210に印刷させる。1個のパッチは、シアンCの1つの階調値に対応しており、シアンCの色材で印刷された濃度が均一な領域である。複数個のパッチの間では、対応するシアンCの階調値(すなわち、濃度)が互いに異なっている。以下、複数個のパッチに対応する複数の階調値を、キャリブレーション用の複数の代表値とも呼ぶ。キャリブレーション用の複数の代表値は、例えば、最小値(ここでは、ゼロ)から最大値(ここでは、255)までの範囲から、おおよそ均等に選択される。
プロセッサ110は、印刷用の第3プログラム136に従って、複数個のパッチを表すパッチ画像データを用いて印刷データを生成し、生成した印刷データをプリンタ210に供給する。プリンタ210は、受信した印刷データに従って、複数個のパッチを印刷する。なお、本実施例では、パッチ画像データは、CMYK色空間で表されている。そして、印刷用の第3プログラム136は、CMYKの階調値を用いたハーフトーン処理(例えば、誤差拡散処理、または、ディザマトリクスを用いた処理)を行うことによって印刷データを生成する機能を、プロセッサ110に実行させる。パッチは、ハーフトーン処理によって生成された印刷データに従って、印刷される。なお、パッチ画像データは、予め準備されている。この代わりに、第1プログラム132に従って動作するプロセッサ110が、S100で、パッチ画像データを生成してもよい。
プロセッサ110は、測色用の第2プログラム134に従って、測色機200に、印刷された複数個のパッチを測色させ、各パッチの光学濃度を特定する。これにより、シアンCの階調値と実際の光学濃度との関係が特定される。なお、シアンCの複数個の代表値のそれぞれには、予め、目標濃度が対応付けられている。プロセッサ110は、LUT作成用の第1プログラム132に従って、代表値に予め対応付けられた目標濃度を実現する階調値を、階調値と実際の光学濃度との関係から算出する(例えば、補間)。目標濃度を実現する階調値の算出は、各代表値毎に行われる。これにより、代表値と目標濃度を実現する階調値との対応関係が、各代表値毎に決定される。プロセッサ110は、代表値を補正前階調値Caとして用い、代表値に対応付けられた目標濃度を実現する階調値を補正済階調値Cbとして用いることによって、シアンC用の1次元ルックアップテーブルを作成する。他の色成分M、Y、Kに関しても、同様に、キャリブレーションデータが作成される。
図2のS110では、プロセッサ110は、無彩色ラインAL上のパッチ用の無彩色代表値を、特定する(パッチ代表値とも呼ぶ)。パッチ代表値は、図3で説明した色立体CCの無彩色ラインAL上に位置する複数のグリッド値のうちの一部の複数のグリッド値であり、後述するパッチの印刷に用いられるグリッド値である。図4は、無彩色ラインAL上の表色値と、CMYKの階調値との関係を示す説明図である。横軸は、無彩色ラインAL上の表色値の位置を示し、縦軸は、CMYKの階調値を示している。表色値の位置は、白頂点Vwからの距離を表すグレー値GVによって、表されている。グレー値GVは、白頂点Vwの位置を示すゼロから黒頂点Vkの位置を示す255までの範囲で、表されている。無彩色ラインAL上の表色値は、グレー値GVによって特定可能である。以下、無彩色ラインAL上の表色値を示す符号として、その表色値のグレー値を示す符号と同じ符号を用いて、説明を行う。
横軸に示された複数個の黒点は、S110で特定される複数個のパッチ代表値を示している。本実施例では、グレー値GV=16、32、48、80、112、144、176、208、240、255の10個の無彩色のグリッド値が、パッチ代表値として用いられる。
図4(A)のCMYKの階調値は、予め決められた未調整階調値を示している。未調整階調値は、無彩色ラインAL上の表色値に対応するCMYKの階調値の基準を表している。本実施例では、複数個のパッチ代表値とCMYKの未調整階調値との対応関係を表すデータが、予め、第1プログラム132とともに不揮発性記憶装置130に格納されている(図示省略)。図4(A)のグラフは、このような対応関係を補間することによって、特定される。
図示するように、グレー値GVが、予め決められた基準値Gk(ここでは、64)以下の色範囲では、ブラックKの階調値がゼロである。CMYの階調値は、グレー値GVがゼロから増大することに応じて、ゼロから増大する。このように、グレー値GVが基準値Gk未満である色範囲、すなわち、白頂点Vwを含む明るい色範囲で、ブラックKの階調値がゼロである理由は、ブラックKのドットが目立つことを抑制するためである。
なお、本実施例では、シアンCとマゼンタMとイエロYとの等量の混色によって無彩色が表現されることとする。従って、無彩色ラインAL上の表色値に対応付けられたCMYの3個の未調整階調値は、互いに同じである。
グレー値GVが基準値Gk以上の色範囲では、グレー値GVが基準値Gkから増大することに応じて、ブラックKの階調値がゼロから増大する。グレー値GVの増大に対するCMYの階調値の増大の割合は、グレー値GVが基準値Gkから増大することに応じて、徐々に小さくなる。そして、黒頂点Vkを含む一部の色範囲では、グレー値GVの増大に応じて、CMYの階調値が減少する。このように、グレー値GVが基準値Gk以上である色範囲、すなわち、黒頂点Vkを含む暗い色範囲では、CMYの増大が抑制されてKが増大するので、印刷に用いられる色材の総量を低減できる。
なお、基準値Gkは、明るい領域でブラックKのドットが目立つことを抑制しつつ、暗い領域で色材の総量が増大することを抑制できるように、色材の特性に応じて予め決定されている。従って、ルックアップテーブルを作成する場合には、無彩色ラインALを白頂点Vwから黒頂点Vkに向かって辿る場合に、ブラックKの階調値がゼロからゼロよりも大きな値に変化する位置が、基準値Gkから変化せずに維持されることが好ましい。
実際のプリンタ210では、利用可能な複数の色材(ここでは、CMYK)の間で印刷に用いられる色材の量のバランスが、想定されたバランスからズレ得る。例えば、シアンCの色材の量が、想定された量よりも多くなり得る。この場合、無彩色ラインAL上の表色値によって表される色を印刷した場合に、無彩色ではなく、青みがかった色が印刷され得る。このような色材の量のズレは、プリンタ210のモデル毎に異なり得る。また、色材の量のズレは、プリンタ210の個体毎に異なり得る。
図2のS120では、プロセッサ110は、このような色材の量のズレによる印刷される色のズレを補正するためのグレー調整処理を行う。グレー調整処理は、無彩色ラインAL上の表色値で表される色が無彩色で印刷されるように、CMYKの階調値を調整する処理である。
図5は、グレー調整処理の例を示すフローチャートである。S210では、プロセッサ110は、図4(A)で説明した複数のパッチ代表値のそれぞれのための複数個のパッチを印刷する。本実施例では、プロセッサ110は、各パッチ代表値に対応付けられた複数個のパッチをプリンタ210に印刷させる。1個のパッチ代表値に対応付けられた複数個のパッチは、そのパッチ代表値に対応付けられた未調整階調値(図4(A))を中心して階調値を5段階で変化させることによって、得られる。例えば、シアンCの5個の階調値は、調整幅dと、パッチ代表値に対応付けられたシアンの未調整階調値Ciとを用いて、以下のように表される。Ci−2d、Ci−d、Ci、Ci+d、Ci+2d。調整幅dは、予め決められている。他の色成分M、Y、Kの5個の階調値も、同様に、表される。本実施例では、ゼロよりも大きい未調整階調値を有する色成分の階調値が、5段階で変化される。例えば、K=0、CMY>0である場合、CMYの3個の階調値が5段階で変化するので、パッチの総数は、5×5×5=125個である。125個のパッチのいずれにおいても、ブラックKの階調値は、ゼロに維持される。CMYKのいずれもがゼロよりも大きい場合、CMYKの4個の階調値が5段階で変化するので、パッチの総数は、5×5×5×5=625個である。以下、複数個のパッチを表す複数個のCMYKの表色値を、パッチ表色値とも呼ぶ。
なお、調整幅dに応じて階調値を変化させた結果、階調値がゼロ未満になる場合、ゼロ未満の階調値で表されるパッチの印刷は省略される。この代わりに、変化後の階調値がゼロ以上となるように、調整幅dを小さくしてもよい。また、調整幅dに応じて階調値を変化させた結果、階調値が、階調値が取り得る範囲の最大値(ここでは、255)を超える場合、最大値を超える階調値で表されるパッチの印刷は省略される。この代わりに、変化後の階調値が最大値以下となるように、調整幅dを小さくしてもよい。
プロセッサ110は、第3プログラム136に従って、複数個のCMYKのパッチ表色値によって複数個のパッチを表すグレー調整用のパッチ画像データを用いて、印刷データを生成し、生成した印刷データをプリンタ210に供給する。プリンタ210は、受信した印刷データに従って、複数個のパッチを印刷する。ここで、パッチ表色値の階調値(すなわち、未調整階調値と調整幅dとを用いて表される階調値)は、図2のS100で説明した補正前階調値として用いられる。プロセッサ110は、パッチ表色値の階調値を、キャリブレーションデータを用いて、補正済階調値に変換し、補正済階調値のハーフトーン処理によって、印刷データを生成する。なお、グレー調整用のパッチ画像データは、予め準備されている。この代わりに、第1プログラム132に従って動作するプロセッサ110が、S210で、パッチ画像データを生成してもよい。
S220では、プロセッサ110は、測色用の第2プログラム134に従って、測色機200に、印刷された複数個のパッチを測色させ、各パッチの測色値を特定する。測色値は、プリンタなどのデバイスに依存しない色空間の表色値であり、本実施例では、CIELAB色空間の表色値(以下、Lab値とも呼ぶ)である。これにより、複数個のパッチ表色値(CMYK)と測色値(L*a*b*)との対応関係が特定される。
S223では、プロセッサ110は、図4(A)で説明した複数のパッチ代表値のうちの1個の未処理のパッチ代表値を選択する。以下、選択されたパッチ代表値を、注目代表値とも呼ぶ。S226では、プロセッサ110は、S220で取得された全てのパッチ代表値の全ての測色値のうち、注目代表値に対応付けられた複数個のパッチから得られた複数の測色値を特定する。以下、注目代表値に対応付けられた複数個のパッチを、複数個の注目パッチとも呼び、複数個の注目パッチから得られた複数の測色値を、複数の注目パッチ測色値とも呼ぶ。
注目代表値(ひいては、複数個のパッチ代表値のそれぞれ)には、予め、測色値の目標値である目標色値が対応付けられている。図5のS230では、プロセッサ110は、LUT作成用の第1プログラム132に従って、注目代表値に予め対応付けられた目標色値を実現するCMYKの表色値を、複数個の注目パッチのそれぞれのパッチ表色値(CMYK)と注目パッチ測色値(L*a*b*)との対応関係を用いて算出する。本実施例では、プロセッサ110は、図5の下部に示すように、a*b*平面上に投影された複数個の測色値CVのうちの目標色値CVxを囲む最小の三角形Tを構成する3個の測色値CVに対応する3個のCMYKの表色値を面積補間することによって、目標色値に対応するCMYKの表色値を算出する。以下、算出されたCMYKの表色値を、調整済表色値とも呼ぶ。CMYKの調整済表色値は、図2のS100で説明した補正前階調値に対応している。なお、CMYKの調整済表色値の算出方法としては、複数個の測色値のうちの少なくとも1個の測色値を用いてCMYK表色値を特定する他の種々の方法を採用可能である。例えば、目標色値を含む最小の三角錐を形成する4個の測色値に対応する4個のCMYK表色値を補間する三角錐補間を採用してもよい。また、CIELAB色空間内で目標色値に最も近い測色値に対応付けられたCMYK表色値を、目標色値に対応するCMYKの調整済表色値として採用してもよい。
S240では、プロセッサ110は、全てのパッチ代表値(すなわち、パッチ用の無彩色代表値)の処理が完了したか否かを判断する。未処理のパッチ代表値が残っている場合(S240:No)、プロセッサ110は、S223に移行して、未処理のパッチ代表値の処理を実行する。全てのパッチ代表値の処理が完了した場合(S240:Yes)、S250で、プロセッサ110は、無彩色ラインAL(図3)上のパッチ代表値以外の複数の無彩色のグリッド値のためのCMYKの調整済表色値を算出する。
図6は、CMYKの調整済表色値の算出処理の例のフローチャートである。図6の処理は、LUT作成用の第1プログラム132に従って動作するプロセッサ110によって、実行される。S320では、プロセッサ110は、図4(A)で説明した基準値Gkを特定する。上述したように、この基準値Gkによって表されるRGBの表色値(基準表色値Gkとも呼ぶ)は、グレー値GVを白頂点Vwから増大させた場合にブラックKの階調値がゼロからゼロより大きい値に変化する表色値である(K発生レベルともいう)。換言すれば、基準表色値Gkは、ブラックKの階調値がゼロであるCMYKの表色値に対応付けられた無彩色ラインAL上のRGBの表色値のうちで最も黒頂点Vkに近い表色値である。
S323では、プロセッサ110は、未処理の無彩色グリッド値、すなわち、CMYKの調整済表色値が算出されていない無彩色グリッド値の中から、1個の未処理の無彩色グリッド値を選択する。以下、選択された無彩色グリッド値のグレー値を、注目グレー値Gxとも呼ぶ。また、選択された無彩色グリッド値を、同じ符号Gxを用いて、無彩色グリッド値Gxとも呼ぶ。
S326では、プロセッサ110は、注目グレー値Gxを挟む2個の無彩色代表値G1、G2を特定する。第1無彩色代表値G1は、注目グレー値Gxから見て高明度側(すなわち、白頂点Vw側)の隣のパッチ代表値である。第2無彩色代表値G2は、注目グレー値Gxから見て低明度側(すなわち、黒頂点Vk側)の隣のパッチ代表値である。
S330では、プロセッサ110は、基準値Gkが、2つの無彩色代表値G1、G2の間に位置しているか否かを判断する。基準値Gkが、2つの無彩色代表値G1、G2の間に位置していない場合(S330:No)、すなわち、基準値Gkが第2無彩色代表値G2よりも黒頂点Vk側に位置する場合と、基準値Gkが第1無彩色代表値G1よりも白頂点Vw側に位置する場合とには、プロセッサ110は、S340に移行する。S340では、プロセッサ110は、2個の無彩色代表値G1、G2のそれぞれのCMYKの調整済表色値を補間することによって、注目グレー値Gxに対応するCMYKの調整済表色値を算出する。そして、プロセッサ110は、S380に移行する。
図4(B)のグラフは、無彩色ラインAL上の表色値の位置と、図5、図6の処理によって算出されたCMYKの調整済表色値(すなわちCMYKのそれぞれの調整済階調値)と、の対応関係を示している。図中の高明度代表値Gwは、基準値Gkの高明度側(すなわち、白頂点Vw側)の隣のパッチ代表値である。低明度代表値Gbは、基準値Gkの低明度側(すなわち、黒頂点Vk側)の隣のパッチ代表値である。
第1範囲R1は、高明度代表値Gwから高明度側の色範囲である。注目グレー値Gxが第1範囲R1内に位置する場合、注目グレー値Gxを挟む2個の無彩色代表値G1、G2は、第1範囲R1内から選択されるので、基準値Gkは、2個の無彩色代表値G1、G2の間には位置していない。従って、第1範囲R1内の注目グレー値Gxに対応するCMYKの調整済階調値は、S340で算出される。上述したように、第1範囲R1は、基準値Gkよりも高明度側の色範囲である。補間に用いられる2個の無彩色代表値G1、G2は、第1範囲R1から選択されるので、2個の無彩色代表値G1、G2のそれぞれのブラックKの調整済階調値は、ゼロである。この結果、補間によって算出されるブラックKの調整済階調値もゼロである。すなわち、第1範囲R1内では、ブラックKの調整済階調値は、ゼロに維持される。なお、補間に用いられる2個の無彩色代表値G1、G2のそれぞれのCMYの調整済階調値は、測色の結果に応じて決定されているので、CMYの間で調整済階調値が異なり得る。この結果、補間によって算出されるCMYの調整済階調値も、互いに異なり得る。図4(B)の例では、階調値の大きい順は、Y、M、Cの順である。
第2範囲R2は、低明度代表値Gbから低明度側の色範囲である。注目グレー値Gxが第2範囲R2内に位置する場合、注目グレー値Gxを挟む2個の無彩色代表値G1、G2は、第2範囲R2内から選択されるので、基準値Gkは、2個の無彩色代表値G1、G2の間には位置していない。従って、第2範囲R2内の注目グレー値Gxに対応するCMYKの調整済階調値は、S340で算出される。上述したように、第2範囲R2は、基準値Gkよりも低明度側の色範囲である。補間に用いられる2個の無彩色代表値G1、G2は、第2範囲R2から選択されるので、2個の無彩色代表値G1、G2のそれぞれのCMYKの調整済階調値は、いずれも、ゼロよりも大きい。この結果、補間によって算出されるCMYKの調整済階調値は、いずれも、ゼロよりも大きい。また、第1範囲R1内のCMYの調整済階調値と同様に、第2範囲R2内においても、CMYの間で、調整済階調値が互いに異なり得る。
基準値Gkが、2つの無彩色代表値G1、G2の間に位置している場合(図6:S330:Yes)、2つの無彩色代表値G1、G2は、上記の代表値Gw、Gbと同じである。この場合、S350で、プロセッサ110は、基準値Gkが注目グレー値Gxと同じ、または、基準値Gkが注目グレー値Gxよりも黒頂点Vkに近いという条件(すなわち、Gx≦Gk)が満たされるか否かを判断する。この条件が満たされる場合(S350:Yes)、S360で、プロセッサ110は、第1無彩色代表値G1(すなわち、高明度代表値Gw)から見て高明度側(すなわち、白頂点Vw側)の隣のパッチ代表値である無彩色代表値Gsを特定する。そして、プロセッサ110は、注目グレー値Gxに対応するCMYKの調整済表色値を、高明度代表値GwのCMYKの調整済表色値と無彩色代表値GsのCMYKの調整済表色値とを用いる外挿によって算出する。そして、プロセッサ110は、S380に移行する。
図4(B)の第3範囲R3は、高明度代表値Gwから基準表色値Gkまでの色範囲である。注目グレー値Gxが、第3範囲R3内に位置する場合、無彩色代表値G1、G2は、それぞれ、代表値Gw、Gbであるので、基準値Gkは、2つの無彩色代表値G1、G2の間(すなわち、代表値Gw、Gbの間)に位置している(S330:Yes)。さらに、注目グレー値Gxは、基準値Gk以下である(S350:Yes)。従って、第3範囲R3内の注目グレー値Gxに対応するCMYKの調整済階調値は、S360で算出される。上述したように、外挿に用いられる2個の代表値Gs、Gwは、基準値Gkよりも高明度側の代表値であるので、これらの代表値Gs、GwのそれぞれのブラックKの調整済階調値は、ゼロである。この結果、外挿によって算出されるブラックKの調整済階調値もゼロである。すなわち、第3範囲R3内では、ブラックKの調整済階調値は、ゼロに維持される。また、第1範囲R1内のCMYの調整済階調値と同様に、第3範囲R3内においても、CMYの間で、調整済階調値が互いに異なり得る。
図6のS330の判断結果が「Yes」であり、かつ、注目グレー値Gxが基準値Gkよりも黒頂点Vk側に位置する場合(S350:No)、2つの無彩色代表値G1、G2は、上記の代表値Gw、Gbと同じである。そして、S370で、プロセッサ110は、第1無彩色代表値G1ではなく基準値GkのCMYKの調整済表色値と、第2無彩色代表値G2(すなわち、低明度代表値Gb)のCMYKの調整済表色値と、を補間することによって、注目グレー値Gxに対応するCMYKの調整済表色値を算出する。そして、プロセッサ110は、S380に移行する。
なお、基準値GkのCMYKの調整済表色値としては、注目グレー値Gxが基準値Gkと同じである場合にS360で算出されたCMYKの表色値を用いることができる。基準値Gkに対応する無彩色グリッド値が存在しない場合には、プロセッサ110は、基準値GkのCMYKの調整済表色値を計算に用いる際に、360の計算方法に従って、基準値GkのCMYKの調整済表色値を算出すればよい。
図4(B)の第4範囲R4は、基準値Gkから低明度代表値Gbまでの色範囲である。注目グレー値Gxが、第4範囲R4内に位置する場合、無彩色代表値G1、G2は、それぞれ、代表値Gw、Gbであるので、基準値Gkは、2つの無彩色代表値G1、G2の間(すなわち、代表値Gw、Gbの間)に位置している(S330:Yes)。さらに、注目グレー値Gxは、基準値Gkよりも大きい(S350:No)。従って、第4範囲R4内の注目グレー値Gxに対応するCMYKの調整済階調値は、S370で算出される。上述したように、補間に用いられる低明度代表値Gbは、基準値Gkよりも低明度側の代表値であるので、低明度代表値GbのCMYKの調整済階調値は、いずれも、ゼロよりも大きい。この結果、補間によって算出されるCMYKの調整済階調値は、いずれも、ゼロよりも大きい。また、第1範囲R1内のCMYの調整済階調値と同様に、第4範囲R4内においても、CMYの間で、調整済階調値が互いに異なり得る。
図6のS380では、プロセッサ110は、全ての無彩色のグリッド値の処理が完了したか否かを判断する。未処理の無彩色グリッド値が残っている場合(S380:No)、プロセッサ110は、S323に移行して、未処理の無彩色グリッド値の処理を実行する。全ての無彩色グリッド値の処理が完了した場合(S380:Yes)、プロセッサ110は、図6の処理、すなわち、図5のS250の処理を終了する。そして、プロセッサ110は、図5の処理、すなわち、図2のS120の処理を終了する。
図2のS130では、プロセッサ110は、グレー調整済のルックアップテーブルを作成する。グレー調整済のルックアップテーブルでは、無彩色ラインAL上のRGBのグリッド値には、図5、図6で算出したCMYKの調整済表色値が、対応付けられる。無彩色ラインALから離れた位置のRGBのグリッド値に関しては、プロセッサ110は、予め決められた方法に従って、CMYKの表色値を決定する。CMYKの表色値を決定する方法としては、種々の方法を採用可能である。本実施例では、プロセッサ110は、CMYKで表現可能な色範囲(ガマットとも呼ばれる)が最も広くなるように、CMYKの表色値を決定する。
図7は、無彩色ラインALから離れたグリッド値に対応するCMYKの表色値の説明図である。図7(A)には、図3で説明した赤領域RAが示されている。赤領域RAの縁を形成する第1ラインRL1と第2ラインRL2とは、色立体CC(図3)の外殻上のラインである。図7(B)には、外殻のラインRL1、RL2上の表色値と、CMYKの階調値と、の関係を示すグラフが示されている。横軸は、ラインRL1、RL2上の位置を示し、縦軸は、CMYKの階調値を示している。
本実施例では、色立体CCの外殻上のグリッド値に対応するCMYKの階調値は、予め決められている。例えば、図7(B)に示すように、赤頂点Vrに関しては、最も彩度の高い赤色を再現するように、イエロYの階調値とマゼンタMの階調値とが最大値に決定され、シアンCの階調値とブラックKの階調値とがゼロに決定される。最大値は、階調値の取り得る範囲の最大値であってもよい(ここでは、ゼロから255の範囲の最大値である255)。この代わりに、印刷媒体上の単位面積当たりの色材量の上限値を定める条件を満たす範囲内での最大値を採用してもよい。
白頂点Vwから赤頂点Vrまでの第1ラインRL1に関しては、以下の通りである。イエロYの階調値とマゼンタMの階調値とは、白頂点Vwから赤頂点Vrに向かって、白頂点Vwでの階調値(ここでは、ゼロ)から赤頂点Vrでの階調値まで徐々に増大する。シアンCの階調値とブラックKの階調値とは、ゼロに維持される。
赤頂点Vrから黒頂点Vkまでの第2ラインRL2に関しては、以下の通りである。第2ラインRL2上の赤頂点Vrと黒頂点Vkとの間には、予め、基準グリッドGpが配置されている。赤頂点Vrと基準グリッドGpとの間では、シアンCの階調値は、赤頂点Vrから基準グリッドGpに向かって、ゼロから徐々に増大する。イエロYの階調値とマゼンタMの階調値とは、変更されずに維持される。ブラックKの階調値は、ゼロに維持される。
基準グリッドGpと黒頂点Vkとの間では、ブラックKの階調値は、基準グリッドGpから黒頂点Vkに向かって、ゼロから徐々に増大する。イエロYの階調値とマゼンタMの階調値とは、基準グリッドGpから黒頂点Vkに向かって、徐々に減少する。シアンCの階調値は、基準グリッドGpから黒頂点Vkに向かって、徐々に増大し、そして、徐々に減少する。なお、図7では図示を省略するが、黒頂点Vkには、図4(B)で説明したCMYKの調整済階調値が、対応付けられる。第2ラインRL2上の黒頂点Vkを含む少なくとも一部の色範囲(例えば、基準グリッドGpから黒頂点Vkまでの色範囲)において、CMYKのそれぞれの階調値が、予め決められた値ではなく、黒頂点VkでのCMYKのそれぞれの調整済階調値に向かって、徐々に変化してもよい。
図7(A)に示す赤領域RAの縁(すなわち、ラインAL、RL1、RL2)よりも内側の内部領域RAiのグリッド点に関しては、プロセッサ110は、縁(ラインAL、RL1、RL2)上の複数のグリッド点のCMYKのそれぞれの表色値を補間することによって、CMYKの表色値を算出する。
以上により、プロセッサ110は、赤領域RAの複数のグリッド点のそれぞれのCMYKの表色値を算出する。他の色相のグリッド値に関しても、同様に、CMYKの表色値が算出される。すなわち、色立体CCの外殻上のグリッド値に対応するCMYKの表色値は、ガマットが最大になるように予め決定されている。外殻よりも内側のグリッド値に対応するCMYKの表色値は、無彩色ラインAL上のグリッド値のCMYKの調整済表色値と、外殻上の同じ色相のグリッド値のCMYKの表色値と、を補間することによって、算出される。これにより、グレー調整済のルックアップテーブルが、完成する。
図2のS140では、プロセッサ110は、特定の有彩色のCMYKの表色値を、調整することによって、最終的なルックアップテーブルを作成する。例えば、プロセッサ110は、ユーザの指示に応じて、グレー調整済のルックアップテーブルのうち、ユーザによって指定されたグリッド値に対応付けられたCMYKの表色値を変更する。例えば、ユーザは、青色を表すRGBのグリッド値に対応するCMYKの表色値を、海を表す画像に適したCMYKの表色値に変更できる。ユーザは、例えば、変更対象のグリッド値を特定する情報と、変更後のCMYKの表色値とを、操作部150を通じて入力する。ここで、プロセッサ110は、入力された表色値によって表される色を表示部140に表示してもよい。なお、S140は、省略されてもよい。
以上のように、キャリブレーションデータとルックアップテーブルとが作成される。作成されたキャリブレーションデータとルックアップテーブルは、プリンタ210を用いる印刷処理に利用される。例えば、RGB色空間で表された画像データを用いて画像を印刷する場合、RGBの表色値からCMYKの表色値への変換に、ルックアップテーブルが用いられる。CMYKの表色値は、キャリブレーションデータを用いて、CMYKの補正済の表色値に変換される。そして、CMYKの補正済の表色値を用いたハーフトーン処理によって印刷データが生成される。このようなキャリブレーションデータとルックアップテーブルとは、プリンタ210を制御するためのプリンタドライバに組み込まれてもよい。なお、キャリブレーションデータとルックアップテーブルとは、プリンタ210のモデル毎に準備される。この代わりに、キャリブレーションデータとルックアップテーブルとが、プリンタ210の個体毎に準備されてもよい。
このように、本実施例では、図6のS360と図4(B)の第3範囲R3とで説明したように、プロセッサ110は、無彩色ラインAL上の基準表色値Gkと高明度代表値Gwとの間のRGBのグリッド値に対応するCMYKの表色値を、低明度代表値Gbに対応付けられたCMYKの表色値を用いずに、高明度代表値Gwに対応付けられたCMYKの表色値を用いて算出する。上述したように、基準値Gkよりも低明度側の低明度代表値Gbに対応付けられたブラックKの階調値は、ゼロを超え得るが、CMYKの表色値の算出には用いられない。また、基準値Gkよりも高明度側の高明度代表値Gwに対応付けられたブラックKの階調値は、ゼロであり、そして、CMYKの表色値の算出には用いられる。従って、無彩色ラインAL上の基準表色値Gkと高明度代表値Gwとの間で、ブラックKの階調値が、意図せずゼロよりも大きくなることを抑制できる。
また、図6のS370と図4(B)の第4範囲R4とで説明したように、プロセッサ110は、無彩色ラインAL上の基準値Gkと低明度代表値Gbとの間のRGBのグリッド値に対応するCMYKの表色値を、低明度代表値Gbに対応付けられたCMKYの表色値を用いて、算出する。このようにグリッド値に近い低明度代表値Gbが用いられるので、適切なCMYKの表色値を算出できる。例えば、第4範囲R4では、ブラックKの階調値が、ゼロよりも大きな値に決定される。
以上により、無彩色ラインALを白頂点Vwから黒頂点Vkに向かって辿る場合に、ブラックKの階調値がゼロからゼロよりも大きな値に変化する位置を、基準値Gkから変えずに維持することができる。また、本実施例では、基準表色値Gkは、図4(A)、図5で説明したパッチ代表値には含まれていない。従って、基準表色値Gkのためのパッチを印刷せずに、基準表色値Gkが変化することを抑制できる。
また、図6のS340と図4(B)の第1範囲R1と第2範囲R2とで説明したように、プロセッサ110は、無彩色ラインAL上の高明度代表値Gwよりも高明度側のグリッド値に対応するCMYK表色値と、無彩色ラインAL上の低明度代表値Gbよりも低明度側のグリッド値に対応するCMYK表色値とを、無彩色ラインAL上で隣り合うとともにグリッド値を間に挟む2個の無彩色代表値G1、G2を用いる補間によって、算出する。このように、グリッド値に近くグリッド値を挟む2個の無彩色代表値G1、G2が補間に用いられるので、適切なCMYK表色値を算出できる。
また、図6のS360と図4(B)の第3範囲R3とで説明したように、プロセッサ110は、無彩色ラインAL上の基準表色値Gkと高明度代表値Gwとの間のグリッド値に対応するCMYKの表色値を、高明度代表値Gwに対応付けられたCMYK表色値と、高明度代表値Gwの高明度側の隣の無彩色代表値Gsに対応付けられたCMYK表色値と、を用いる外挿によって、算出する。このように、グリッド値に近い2個の無彩色代表値Gw、Gsが外挿に用いられるので、適切なCMYK表色値を算出できる。
また、プロセッサ110は、図5のS210〜S240を実行することによって、無彩色代表値とCMYKの調整済表色値との対応関係を表す情報を生成する(色対応情報とも呼ぶ)。色対応情報のデータ形式としては、任意の形式を採用可能である(例えば、ルックアップテーブル)。プロセッサ110は、S240の判断結果がYesである場合に、生成した色対応情報を、記憶装置(例えば、不揮発性記憶装置130、または、揮発性記憶装置120)に一時的に格納する。そして、S250、すなわち、図6のS340、S360、S370では、プロセッサ110は、記憶装置の色対応情報を参照し、無彩色代表値に対応付けられた調整済表色値を用いて、CMYKの表色値を算出する。ここで、図5のS230で説明したように、調整済表色値は、RGBの無彩色代表値に対応付けられた目標色値に基づいて、決定される。従って、調整済表色値は、目標色値に対応付けられている、ということができる。このように、図6のS340、S360、S370では、CMYK表色値の算出に、目標色値に対応付けられた調整済表色値が用いられるので、目標色値に適したCMYK表色値を算出できる。
また、図4(A)、図4(B)に示すように、無彩色ラインAL上で隣り合う2個の無彩色代表値(具体的には、2個のパッチ代表値)の間の距離は、無彩色ラインAL上の位置に応じて異なっている。例えば、白頂点Vwを含む一部の範囲(高明度範囲と呼ぶ)であるゼロから48までの範囲では、距離は、16である。黒頂点Vkを含む一部の範囲(低明度範囲と呼ぶ)である240から255までの範囲では、距離は、15である。残りの48から240までの範囲(中間範囲と呼ぶ)では、距離は、32である。このように、最大距離は、32である。そして、距離が最大である2個の無彩色代表値は、無彩色ラインAL上の両端の無彩色代表値Vw、Vkよりも内側に位置する2個の無彩色代表値である。すなわち、中間範囲に属する隣り合う2個の無彩色代表値の間の距離は、高明度範囲に属する隣り合う2個の無彩色代表値の間の距離と、低明度範囲に属する隣り合う2個の無彩色代表値の間の距離と、のいずれよりも大きい。従って、最も明度の高い色である白色を表す白頂点Vwを含む一部の色範囲と、最も明度の低い色である黒色を表す黒頂点Vkを含む一部の色範囲とにおいて、無彩色代表値の密度が粗くなることを抑制できる。この結果、白色を含む一部の色範囲と黒色を含む一部の色範囲とにおいて、不自然な色を表すCMYK表色値が算出されることを抑制できる。例えば、無彩色であるべき色が、有彩色で印刷されることを抑制できる。なお、高明度範囲と低明度範囲と中間範囲とは、それぞれ、上記の範囲とは異なる範囲であってもよい。
B.第2実施例:
図8は、印刷処理の手順の例を示すフローチャートである。第2実施例では、印刷処理における色変換処理において、図6で説明した処理と同様の表色値の算出が行われる。以下、印刷用の第3プログラム136(図1)に従って動作するプロセッサ110が、図8の処理を実行することとして、説明を行う。また、図2のS100で生成されたキャリブレーションデータと、S110〜S140で生成されたルックアップテーブルとが、第3プログラム136に組み込まれていることとする。なお、本実施例では、ルックアップテーブルは、RGBの複数のグリッド値のそれぞれにCMYKの表色値を対応付ける色対応情報である、といえる。また、RGBのグリッド値は、RGB色空間内の種々の表色値のうち、ルックアップテーブルによってCMYKの表色値が対応付けられた代表的な表色値である。従って、本実施例では、RGBのグリッド値は、CMYKの表色値が対応付けられた代表表色値(または、単に、代表値)である、といえる。
S10では、プロセッサ110は、ユーザから操作部150を介して印刷指示を取得する。印刷指示は、印刷対象の対象画像データを指定する指示を含んでいる。プロセッサ110は、ユーザによって指定された対象画像データを取得する。例えば、記憶装置(例えば、不揮発性記憶装置130)から、対象画像データが取得される。対象画像データは、例えば、ページ記述言語で記述された画像データや、JPEG形式で圧縮された画像データである。
S20では、プロセッサ110は、取得した対象画像データに対してラスタライズ処理を実行して、複数個の画素を含む対象画像を表す印刷処理用のビットマップデータを生成する。ビットマップデータは、本実施例では、RGBの階調値によって画素ごとの色を表すRGB画像データである。対象画像データがビットマップデータである場合には、プロセッサ110は、ビットマップデータの解像度(すなわち、画素密度)を、印刷処理用の解像度に変換する処理を実行してもよい。
S30では、プロセッサ110は、RGB画像データに対して色変換処理を実行して、印刷に利用可能な色材の種類に対応する画像データを生成する。本実施例では、CMYK画像データが生成される。色変換処理は、RGBの階調値とCMYKの階調値との対応関係を定めるルックアップテーブルを用いて行われる(詳細は、後述)。
S35では、プロセッサ110は、CMYKの階調値を、キャリブレーションデータを用いて、補正済階調値に変換する。
S40では、プロセッサ110は、CMYKの補正済階調値に対してハーフトーン処理を実行して、ドットの形成状態を画素ごと、かつ、インクの種類ごとに表すドットデータを生成する。本実施例では、ハーフトーン処理は、誤差マトリクスを利用した誤差拡散処理を用いて実行される。これに代えて、ディザマトリクスを用いるハーフトーン処理を採用してもよい。
S50では、プロセッサ110は、ドットデータを用いて印刷データを生成する。印刷データは、プリンタ210によって解釈可能なデータ形式で表されたデータである。プロセッサ110は、例えば、印刷に用いられる順にドットデータを並べるとともに、各種のプリンタ制御コードや、データ識別コードを付加して印刷データを生成する。
S60では、プロセッサ110は、生成した印刷データを、プリンタ210に供給する。S70では、プリンタ210は、受信した印刷データに従って、画像を印刷する。以上により、図8の印刷処理が終了する。
図9は、色変換処理の手順の例を示すフローチャートである。図9は、1個の画素の表色値を変換する処理を示している。本実施例では、図9の色変換処理は、各画素毎に行われる。S300では、プロセッサ110は、処理対象のRGBの表色値(すなわち、第1種表色値)を取得する。S303では、プロセッサ110は、第1種表色値が無彩色を表しているか否かを判断する。本実施例では、R=G=Bである場合に、第1種表色値が無彩色を表すと判断される。以下、処理対象の第1種表色値を、注目表色値とも呼ぶ。
注目表色値が無彩色を表していない場合(S303:No)、S306で、プロセッサ110は、ルックアップテーブルに含まれる複数のグリッド値のうち、注目表色値を含む最小の三角錐を形成する4個のグリッド値を選択する。S310では、プロセッサ110は、選択した4個のグリッド値に対応する4個のCMYKの表色値を補間することによって、注目表色値に対応するCMYKの表色値を算出する。そして、プロセッサ110は、図9の処理を終了する。
注目表色値が無彩色を表している場合(S303:Yes)、S320で、プロセッサ110は、基準値Gkを特定する。図4(A)、図4(B)などで説明したように、基準値Gkは、グレー値GVを白頂点Vwから増大させた場合にブラックKの階調値がゼロからゼロより大きい値に変化する表色値を示している。プロセッサ110は、このような基準値Gkを、不揮発性記憶装置130に予め格納されたデータを参照して、特定する。例えば、基準値Gkを表すデータが、予め、印刷用の第3プログラム136に組み込まれていてもよい。なお、S320で特定される基準値Gkは、ルックアップテーブルの作成で用いられた基準値Gkと異なっていてもよい。例えば、S320では、プロセッサ110は、ユーザによって指定された値を、基準値Gkとして採用してもよい。ユーザは、粒状性などを考慮して、基準値Gkを指定してもよい。
続く、S326a、S330a、S340a、S350a、S360a、S370aは、図6のS326、S330、S340、S350、S360、S370に、以下の修正を加えたものと、それぞれ同じである。すなわち、図9の処理では、注目グレー値Gxとして、注目表色値を表すグレー値GVが用いられる。また、補間、外挿などの表色値の算出に用いられる無彩色代表値としては、パッチ代表値に限らず、ルックアップテーブルに含まれる無彩色ラインAL上の全てのグリッド値が用いられる。これらの修正を除いて、図9のS326a、S330a、S340a、S350a、S360a、S370aは、図6のS326、S330、S340、S350、S360、S370と、それぞれ同じである。従って、図9の色変換処理によって算出されるCMYKの表色値、特に、無彩色ラインAL上の注目表色値に対応付けられるCMYKの表色値は、図4(B)で説明したCMYKの表色値と同じである。
なお、本実施例では、無彩色ラインAL上の全てのグリッド値が無彩色代表値として用いられる。従って、基準値Gkの高明度側(すなわち、白頂点Vw側)の隣の代表値Gwは、図4(B)の代表値Gwとは異なる無彩色代表値であり得る。同様に、基準値Gkの低明度側(すなわち、黒頂点Vk側)の隣の代表値Gbは、図4(B)の低明度代表値Gbとは異なる代表値であり得る。
本実施例においても、図4(B)の第3範囲R3と同様に、プロセッサ110は、無彩色ラインAL上の基準表色値Gkと高明度代表値Gwとの間の注目表色値に対応するCMYKの表色値を、低明度代表値Gbに対応付けられたCMYKの表色値を用いずに、高明度代表値Gwに対応付けられたCMYKの表色値を用いて算出する。従って、無彩色ラインAL上の基準表色値Gkと高明度代表値Gwとの間で、ブラックKの階調値が、意図せずゼロよりも大きくなることを抑制できる。
また、図4(B)の第4範囲R4と同様に、プロセッサ110は、無彩色ラインAL上の基準値Gkと低明度代表値Gbとの間の注目表色値に対応するCMYKの表色値を、低明度代表値Gbに対応付けられたCMKYの表色値を用いて、算出する。このように注目表色値に近い低明度代表値Gbが用いられるので、適切なCMYKの表色値を算出できる。
以上により、無彩色ラインALを白頂点Vwから黒頂点Vkに向かって辿る場合に、ブラックKの階調値がゼロからゼロよりも大きな値に変化する位置を、基準値Gkから変えずに維持することができる。
また、図4の第1範囲R1と第2範囲R2と同様に、プロセッサ110は、無彩色ラインAL上の高明度代表値Gwよりも高明度側の注目表色値に対応するCMYK表色値と、無彩色ラインAL上の低明度代表値Gbよりも低明度側の注目表色値に対応するCMYK表色値とを、無彩色ラインAL上で隣り合うとともに注目表色値を間に挟む2個の無彩色代表値G1、G2を用いる補間によって、算出する。従って、注目表色値に適したCMYK表色値を算出できる。
また、図4(B)の第3範囲R3と同様に、プロセッサ110は、無彩色ラインAL上の基準表色値Gkと高明度代表値Gwとの間の注目表色値注目表色値に対応するCMYKの表色値を、高明度代表値Gwに対応付けられたCMYK表色値と、高明度代表値Gwの高明度側の隣の無彩色代表値Gsに対応付けられたCMYK表色値と、を用いる外挿によって、算出する。従って、注目表色値に適したCMYK表色値を算出できる。
なお、ルックアップテーブルにおいて、複数のグリッド値の密度が、色に応じて異なっていてもよい。例えば、図4(B)の黒点で示されるパッチ代表値のように、無彩色ラインAL上の白頂点Vwを含む一部の色範囲と黒頂点Vkを含む一部の色範囲とにおいて、無彩色ラインALの残りの範囲と比べて、グリッド値の密度が高くてもよい。すなわち、隣り合う2個のグリッド値の間の距離に着目する場合に、距離が最大である2個のグリッド値が、無彩色ラインAL上の両端の無彩色代表値Vw、Vkよりも内側に位置する2個のグリッド値であってもよい。これによれば、白色を含む一部の色範囲と黒色を含む一部の色範囲とにおいて、不自然な色を表すCMYK表色値が算出されることを抑制できる。
C.変形例:
(1)色材の種類に対応する複数の色成分で表された表色値を算出する処理の手順としては、図6、図9の手順に代えて、他の種々の手順を採用可能である。例えば、プロセッサ110は、図4(B)の第1範囲R1と第2範囲R2とにおいて、注目グレー値Gxを挟む2個の無彩色代表値G1、G2を含むL個(Lは2以上の整数)の無彩色代表値のL個のCMYK表色値を用いる補間によって、注目グレー値Gxに対応するCMYKの表色値を算出してもよい。L個の無彩色代表値としては、例えば、注目グレー値Gxに最も近いL個の無彩色代表値を採用してもよい。
また、プロセッサ110は、図4(B)の第3範囲R3において、低明度代表値Gbに対応するCMYK表色値を用いずに、高明度代表値Gwから白頂点Vw側に並ぶM個(Mは2以上の整数)の無彩色代表値のM個のCMYK表色値を用いる外挿によって、注目グレー値Gxに対応するCMYKの表色値を算出してもよい。
また、プロセッサ110は、図4(B)の第4範囲R4において、基準値Gkに対応するCMYK表色値を用いずに、低明度代表値Gbから黒頂点Vk側に並ぶP個(Pは2以上の整数)の無彩色代表値のP個のCMYK表色値を用いる外挿によって、注目グレー値Gxに対応するCMYKの表色値を算出してもよい。
(2)図4(A)、図4(B)に示す実施例において、複数のパッチ代表値の配置が、図示された黒点の配置とは異なっていてもよい。例えば、複数のパッチ代表値が、白頂点Vwと黒頂点Vkとの間で均等に配置されていてもよい。
(3)図4(A)、図4(B)の黒点で示される複数のパッチ代表値などの複数の無彩色代表値は、おおよそ無彩色ラインAL上に位置していればよく、無彩色ラインALからわずかに離れていてもよい。例えば、無彩色代表値が無彩色ラインALから離れている場合であっても、その無彩色代表値に従って印刷された色を肉眼で観察した結果、その色が無彩色であると判断され得る場合には、その無彩色代表値は、おおよそ無彩色ラインAL上に位置しているということができる。
(4)ルックアップテーブルの作成処理としては、図2に示す処理に代えて、他の種々の処理を採用可能である。例えば、S100とキャリブレーションデータとを省略してもよい。また、S140が省略されてもよい。
(5)RGBの表色値とCMYKの表色値との対応関係としては、図4(A)、図4(B)、図7に示す対応関係に代えて、他の種々の対応関係を採用可能である。例えば、図4(A)、図4(B)の実施例において、グレー値GVの増大に対して、CMYの階調値が減少せずに増大し続けてもよい。また、図7の実施例において、イエロYの階調値とマゼンタMの階調値とが、赤頂点Vrから基準グリッドGpに向かって、徐々に減少してもよい。
(6)1個の注目代表値に対応付けられたパッチの総数は、125個と625個とに限らず、他の任意の数を採用可能である(例えば、2以上の任意の数)。例えば、ゼロよりも大きい未調整階調値を有する色成分の階調値が、3段階で変化されてもよい。例えば、K=0、CMY>0である場合、CMYの3個の階調値が3段階で変化するので、パッチの総数は、3×3×3=27個である。CMYKのいずれもがゼロよりも大きい場合、CMYKの4個の階調値が3段階で変化するので、パッチの総数は、3×3×3×3=81個である。
(7)印刷処理としては、図8に示す処理に代えて、他の種々の処理を採用可能である。例えば、S35が省略されてもよい。また、S30で用いられるルックアップテーブルとしては、図2の手順で作成されたテーブルに代えて、任意のテーブルを採用可能である。例えば、測色値を用いずに作成されたルックアップテーブルを用いてもよい。
(8)印刷に利用可能な色材の種類は、CMYKに代えて、他の種々の種類を採用可能である。例えば、利用可能な色材は、CMYKとシアンCよりも薄いライトシアンLCとの5種であってもよい。一般的には、無彩色の色材を含む複数種類の色材を採用してよい。ここで、無彩色の色材に加えて、混色によって無彩色を表現可能な複数種類の有彩色の色材(例えば、CMYの3種類)を利用可能であることが好ましい。これによれば、明るい無彩色を、ブラックKのような無彩色の色材を用いずに、複数種類の有彩色の色材の混色によって印刷できるので、粒状性を向上できる。
(9)色対応情報(例えば、図5のS210〜S240で特定される無彩色代表値とCMYKの調整済表色値との対応関係や、図8の印刷処理で用いられるルックアップテーブルなど)によって対応付けられる色空間の組み合わせは、RGB色空間とCMYK色空間との組み合わせに代えて、他の任意の色空間の組み合わせを採用可能である。例えば、色対応情報は、YCbCr色空間における複数の代表的な表色値と、利用可能な複数種類の色材に対応する複数の色成分で表される色空間(例えば、CMYK色空間や、CMYKLc色空間(Lcは、ライトシアンLCの色成分))における複数の表色値とを対応付けてもよい。
(10)複数の無彩色代表値を用いて、複数種類の色材に対応する複数の色成分の階調値を算出する算出装置は、パーソナルコンピュータとは異なる種類の装置(例えば、デジタルカメラ、スキャナ、スマートフォン)であってもよい。また、算出装置が、印刷装置の一部であってもよい。また、ネットワークを介して互いに通信可能な複数の装置(例えば、コンピュータ)が、算出装置による階調値の算出処理の機能を一部ずつ分担して、全体として、算出処理の機能を提供してもよい(これらの装置を備えるシステムが算出装置に対応する)。
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図6の算出処理を実行する機能を、専用のハードウェア回路によって実現してもよい。
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD−ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。