次に、本発明の実施の形態を以下の順序で説明する。
A.第1実施形態
A−1.色変換装置の構成
A−2.プロファイル作成装置の構成
B.分光プリンティングモデルの一例
C.粒状性プロファイルの一例
D.変形例
A.第1実施形態:
A−1.色変換装置の構成:
図1は、本発明の第1実施形態としての色変換装置の構成を示すブロック図である。この色変換装置は、汎用的なコンピュータ10によって本発明による色変換を実施可能に構成することによって実現される。むろん、他の構成を採用することも可能である。コンピュータ10は演算処理の中枢をなす図示しないCPUや記憶媒体としてのROMやRAM等を備えており、HDD15等の周辺機器を利用しながら本発明にかかるプログラムを含む所定のプログラムを実行することができる。コンピュータ10にはI/F19aを介してキーボード12やマウス13等の操作用入力機器が接続されており、I/F19bを介して表示用のディスプレイ18も接続されている。さらに、コンピュータ10には、USBI/F19cを介してプリンタ40とスキャナ60が接続されている。
本実施形態におけるプリンタは複数色のインクを充填するインクカートリッジを色毎に着脱可能な機構を備えており、この機構にCMYKlclm(シアン、マゼンタ、イエロー、ブラック、ライトシアン、ライトマゼンタ)の各インクのカートリッジを搭載する。プリンタ40においては、キャリッジを主走査させ、紙送りローラによって副走査を行いながら、キャリッジに形成されたノズルからインクを吐出することが可能であり、各インク色を組み合わせて多数の色を形成し、これにより印刷媒体上にカラー画像を形成する。本実施形態におけるプリンタはインクジェット方式のプリンタであるが、インクジェット方式の他にもレーザー方式等、種々のプリンタに対して本発明を適用可能である。
本実施形態にかかるコンピュータ10では、プリンタドライバ30とスキャナドライバ50と入力機器ドライバ21とディスプレイドライバ22とがOS20に組み込まれている。ディスプレイドライバ22はディスプレイ18における印刷対象画像やプリンタのプロパティ画面等の表示を制御するドライバであり、入力機器ドライバ21はI/F19aを介して入力される前記キーボード12やマウス13からのコード信号を受信して所定の入力操作を受け付けるドライバである。スキャナドライバ50はスキャナ50を制御するためのドライバであり、スキャナ50で読み取ったイメージに基づいて画像データを生成する。
図1に示す実施形態では、プリンタドライバ30で発明にかかる色変換を実施可能に構成する。プリンタドライバ30では図示しないアプリケーションプログラムから印刷指示が行われた画像について所定の処理を行って印刷を実行する。このために画像データ取得モジュール31と色変換部32とハーフトーン処理部34と印刷データ作成部35とを備えている。
画像データ取得モジュール31は、HDD15からRGBデータ15aを取得し、プリンタで印刷を行う際の解像度により、画素数に過不足があれば必要に応じて補間等によって画素数を増減させるモジュールである。このRGBデータはRGB(レッド,グリーン,ブルー)の各色成分を階調表現して各画素の色を規定したドットマトリクス状のデータであり、本実施形態では各色256階調であり、sRGB規格に従った表色系を採用したデータである。本実施形態においてはこのRGBデータを例にして説明するが、YCbCr表色系を採用したJPEG画像データやCMYK表色系を採用したデータ等、種々のデータを採用可能である。
色変換部32は、プロファイル選択部33を備えており、プロファイル選択部33が選択したプロファイルを参照し、前記RGBデータの表色系をCMYKlclm表色系に変換するモジュールである。一実施例では、これらの入力値はCMYKlclm各色のインクの吐出量を256階調で示す階調値である。図1に示す実施形態においては、HDD15に複数種類のプロファイルデータ15b,15cが記録されている。これらのプロファイルデータ15b,15cは、さらに細かく分類され、プロファイルデータ15b,15cのそれぞれについて複数のプロファイル(プロファイル1,プロファイル2,,,,)が記録されている。各プロファイルは、前記RGBデータ15a(例えばsRGBデータ)をインク量データに変換するためのプロファイルであり、sRGB表色系とCMYKlclm表色系とのそれぞれによって色を表現するとともに両者を対応づけ、複数の色についてこの対応関係を記述したテーブルである。従って、補間演算により、sRGB表色系で表現した任意の色をCMYKlclm表色系の色に変換することができる。
プロファイルデータ15bは、印刷結果を異なる観察条件で観察したときの色の見えの差異をできるだけ小さくするようにインク量データを選択して作成されたプロファイルである。図1に示す例では、色の見えの差異をできるだけ小さくするためにCII(Color Inconstancy Index)を用いてインク量データの選択を行っている。プロファイルデータ15cは、ある原画をプリンタ40で印刷したときに印刷物と原画とを異なる観察条件で観察しても印刷物の色ができるだけ原画の色に近くなるようにインク量データを選択して作成されたプロファイルである。図1に示す例では、印刷物の色ができるだけ原画の色に近くなるようにMI(Metameric Index)を用いてインク量データの選択を行っている。MIは2つの色の色差を示す色差評価指数CDIである。また、前記CIIは2つの観察条件下で共通のサンプルを観察した場合の色差を示す色差評価指数CDIである。
本実施形態では、この色差評価指数CDIとともに画質評価指数IQIを利用してインク量データによって印刷される印刷物の画質を評価し、高画質の印刷を実現できるようなインク量データを選択している。この画質評価指数としては、種々の指数を採用可能であり、一実施例では、印刷物の粒状性を評価する粒状性指数(GI),インクの使用量を評価する指数(Tink)を採用した。むろん、画質評価指数では画質に関連する評価である限りにおいて他にも種々の指数を採用することができる。以上のGI,Tinkのいずれかまたは任意の組み合わせを採用してインク量データを選択すれば、上述のプロファイルデータ15b,15cとして複数のプロファイルを作成することが可能になり、HDD15には予め作成されたプロファイルがプロファイルデータ15b,15cとして記録される。なお、CII,MIやGI,Tinkはそれぞれサンプルインク量データを用いて算出されるが、それぞれの関数形が異なる。各指数を用いたプロファイルの作成については後に詳述する。
プロファイル選択部33は、HDD15に記憶されているプロファイルから適切なプロファイルを選択して取得する。すなわち、プロファイルデータ15b,15cは、それぞれが作成されたときに異なる指数を利用しているので、各プロファイルによって得られるインク量データが互いに異なり、色変換対象として好ましい画像や印刷条件が異なる。そこで、プロファイル選択部33が適切なプロファイルを選択し、色変換部32において選択されたプロファイルを参照することで、印刷対象の画像や印刷条件、利用者の意図等に的確に対応した色変換を実施することが可能になる。
なお、プロファイル選択部33においては適切なプロファイルを選択することができればよく、一実施例としては、予め利用者が選択する構成を採用可能である。例えば、プリンタドライバ30によって前記ディスプレイ18に対して図示しない設定画面を表示させ、キーボード12等による入力操作を受け付けることで利用者が指定する指数あるいはプロファイル自体を認識できるように構成する。そして、プロファイル選択部33においてこのプロファイルを選択すれば、利用者の意図に的確に対応した色変換を実施することが可能になる。
例えば、CIIを用いたプロファイル1〜プロファイル3ではそれぞれ、GIのみ、GIおよびTink、Tinkのみを考慮している。プロファイル2では、GIおよびTink指数が好ましい値のインク量データが選択されるが、CIIのみの場合と比較してGIおよびTinkが条件として加わったとき、CII,GIおよびTinkを互いに独立に最適な指数にすることは不可能であり、CIIの値自体は大きくなる傾向にある。一方、プロファイル1ではGIを考慮し、Tinkを考慮しておらず、逆に、プロファイル3ではTinkを考慮し、GIを考慮していない。従って、プロファイル2よりプロファイル1,プロファイル3の方がCIIが小さい傾向にある。また、プロファイル1では粒状性を感じにくい。このように、上述のプロファイル1〜プロファイル3のように選択肢があれば、GI,Tinkのいずれかは犠牲にして色の見えの差異を抑えることを重視するなどの選択肢が増えることになる。いずれにしても、利用者の意図通りのプロファイルを選択可能に構成されていることで、利用者の目的に合致した印刷を実行可能である。なお、プロファイルを選択する構成であっても、プロファイル選択と同時にそのプロファイルを作成するときに用いられた指数を明示する構成にするなどの構成では、実質的には利用者が指数を選択していると言える。
また、プロファイル選択部33がプロファイルデータ15bを選択しているとき、色変換部32は、RGBデータ15aをインク量データに変換するにあたり、変換後のインク量による印刷物を異なる観測条件で観測したときの色彩値が略一致するように変換する色変換部として機能する。プロファイル選択部33がプロファイルデータ15cを選択しているとき、色変換部32は、RGBデータ15aをインク量データに変換するにあたり、入力されるRGBデータ15aが示す画像の分光反射率を再現するように変換する色変換部として機能する。従って、プロファイル選択部33と色変換部32とによって複数の機能を有する色変換部を提供していると言える。
ハーフトーン処理部34は、色変換部32による変換で得られたCMYKlclmデータを参照して、各画素の色をCMYKlclmデータより少ない階調(本実施形態では2階調)で表現したハーフトーンデータを色毎に生成する。印刷データ作成部35は、ハーフトーンデータを受け取ってプリンタで使用される順番にデータを並べ替え、一回の主走査にて使用されるデータを単位にして逐次プリンタに出力する。この結果、プリンタはRGBデータ15aが示す画像を印刷する。なお、この画像を印刷する際に参照したプロファイルデータ15b,15cは、上述のように色差評価指数と画質評価指数とを考慮しているので、印刷された画像においては種々の観察条件で好ましい色再現を達成できる。また、原画の色の見えをなるべく忠実に再現することも可能である。さらに、高画質の印刷を実施することが可能である。
A−2.プロファイル作成装置の構成:
次に、上述のような複数の指数を参照してプロファイルを作成する方法について説明する。図2は、HDD15に記録される各プロファイルを作成するプロファイル作成装置のブロック図である。このシステムは、分光プリンティングモデルコンバータ100と、評価指数生成部120と、画質評価指数算出部122と、色差評価指数算出部124と、インデックス選択部126と、サンプル選択部130と、プロファイル生成部140と、ガマットマッピング処理部160とを備えている。むろん、このシステムは他の構成および他の構成要素との組み合わせによって実現することも可能である。
このシステムでは、評価指数の作成前に必要なデータを準備してインデックス選択部126に入力するようになっており、分光プリンティングモデルコンバータ100は、インク量データを、そのインク量データに応じて印刷されるカラーパッチの分光反射率Rsmp(λ)に変換する。なお、本明細書において「カラーパッチ」とは、有彩色のパッチに限らず、無彩色のパッチも含む広い意味を有している。この実施形態では、シアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)、ライトシアン(lc)、および、ライトマゼンタ(lm)の6色のインクを利用可能なカラープリンタを想定しており、分光プリンティングモデルコンバータ100もこの6種類のインクの吐出量を入力としている。むろん、他の色のインクを使用することも可能である。分光プリンティングモデルについては、B節で詳述する。以下では、「分光プリンティングモデル」を「フォワードモデル」とも呼ぶ。
参照カラーパッチ102は、複数の比較色を与えるための原画として準備されたパッチであり、複数のカラーパッチを含んでいるオリジナルカラーパッチである。参照カラーパッチ102の代わりに、例えば絵画から複数の比較色を取得するようにしてもよい。参照カラーパッチ102は図示しない分光反射率計で測定され、各パッチの分光反射率Rref(λ)が取得される。なお、参照カラーパッチ102や絵画から得られる色を「参照色」とも呼ぶ。以上のサンプルインク量データと分光反射率Rsmp(λ)と分光反射率Rref(λ)はインデックス選択部126に入力される。
評価指数生成部120は、画質評価指数算出部122と色差評価指数算出部124とが出力する指数から高画質および高い色彩恒常を同時に満たすインク量データを選択するための評価指数EI1を算出する。画質評価指数算出部122と色差評価指数算出部124とにおいては、複数の指数を算出することが可能であり、算出対象の指数はインデックス選択部126によって選択される。図2に示す実施例において、画質評価指数算出部122は、前記GIを算出するGI算出部1220と前記Tinkを算出するTink算出部1221とを備えている。GI算出部1220は予め準備された粒状性プロファイル15dをHDD15から読み出して取得するとともに、この粒状性プロファイル15dにサンプルインク量データを適用することによりGIを算出する。なお、粒状性プロファイルについては、C節で詳述する。
色差評価指数算出部124は、前記CIIを算出するCII算出部1240と前記MIを算出するMI算出部1241とを備えている。これらのCII,MIはいずれもサンプルインク量データから算出される色(サンプル色)とこのサンプル色と比較するための比較色との差を示す指数であり、それぞれの指数においては、後述するように比較色あるいは色差を算出するための式が異なる。
インデックス選択部126は、各指数を算出するために必要なデータを取得して上述の各算出部(Calculator)に受け渡す。すなわち、上述のようにHDD15に記録されるプロファイル15b,15cは色差評価指数のいずれか一つを用いて作成され、さらにプロファイル1〜プロファイル3は画質評価指数の中から任意の組み合わせを用いて作成されている。そこで、インデックス選択部126は、CII算出部1240とMI算出部1241とのいずれか一つを選択し、GI算出部1220とTink算出部1221とのいずれかまたは双方を選択する。そして、インデックス選択部126は、それぞれの算出部で指数の算出に必要なデータを取得し、これらのデータを各算出部に受け渡す。これにより、各算出部で指数が計算される。インデックス選択部126では、利用者の指示を受け付けるなどして予めいずれの指数を用いるのかを決定するなど種々の構成を採用可能である。なお、各算出部で必要となるデータおよびそのデータを用いた処理の内容は後に詳述する。
各算出部で指数が計算されると、評価指数算出部120はこれらの指数から評価指数EI1を算出する。この評価指数EI1は、前記分光プリンティングモデルコンバータ100に入力される複数のインク量データのそれぞれに対して算出される。サンプル選択部130は、前記複数のサンプルインク量データそれぞれについての評価指数EI1から、良好な評価指数EI1を有するサンプルインク量データを選択する。プロファイル生成部140は、選択されたサンプルインク量データと、それらのサンプルインク量データを用いて印刷されるカラーパッチの測色値(L*a*b*値)とを用いて、インクプロファイル142を作成する。このインクプロファイル142は、測色値(L*a*b*値)とCMYKlclmのインク量との対応関係を示すルックアップテーブルである。なお、「インクプロファイル」を「出力デバイスプロファイル」とも呼ぶ。本明細書において、「プロファイル」とは、色空間の変換を行うための変換規則を具現化したものを意味しており、各種のデバイスプロファイルとルックアップテーブルとを含む広い意味を有している。一方、C節で詳述する粒状性プロファイルは色空間と粒状性を行うための変換規則を具現化したものを意味している。
ガマットマッピング処理部160は、このインクプロファイル142と、予め準備されたsRGBプロファイル162とを用いて、プロファイルデータ15b,15cにおける各プロファイルを作成する。ここで、sRGBプロファイル162としては、例えばsRGB色空間をL*a*b*色空間に変換するプロファイルを使用することができる。なお、「sRGBプロファイル」を「入力デバイスプロファイル」とも呼ぶ。
次に、図2に示すシステムでの処理フローを参照しながら、各指数について詳述する。図3は、この処理手順を示すフローチャートである。ステップS10では、分光プリンティングモデルを決定して、コンバータ100を作成する。一実施例では、分光プリンティングモデルとしてセル分割ユール・ニールセン分光ノイゲバウアモデル(Cellular Yule-Nielsen Spectral Neugebauer Model)を使用する。その詳細についはB節で説明する。
ステップS12では、多数の仮想サンプルを設定する。ここで、「仮想サンプル」とは、プロファイルの作成処理において使用される仮のインク量データ、および、そのインク量データに応じて印刷される仮想的なカラーパッチを意味している。なお、以下では、仮想サンプルを単に「サンプル」とも呼ぶ。一実施例では、CMYKlclmの各インクに関して、0〜100%の範囲で10%おきに11点のインク量をそれぞれ設定し、6種類のインクの量のすべての組合せを仮想サンプル(サンプルインク量データ)として準備した。この結果、116=1,771,561個の仮想サンプルが準備された。なお、「インク量100%」とは、1種類のインクでベタ打ちとなるインク量を意味する。
ステップS14では、分光プリンティングモデルコンバータ100を用いて各仮想サンプルのサンプルインク量データを上述の分光反射率Rsmp(λ)に変換する。インデックス選択部126はこの分光反射率Rsmp(λ)を取得し、この分光反射率Rsmp(λ)からCIELAB表色系の測色値L*a*b*を算出する。この測色値は図示しないメモリに記録しておく。一実施例では、CIE標準の光D50、および、CIE1931 2°観測者の観察条件で測色値を算出した。この仮想サンプルを特定の観察条件で観察したときの色が上述のサンプル色である。図4(A)〜図4(C)は、一実施例で算出されたサンプル色の分布を示している。図4(A)の横軸はCIELAB表色系のa*軸であり、縦軸はb*軸である。図4(B),(C)の横軸はa*軸およびb*であり、縦軸はL*軸である。これから理解できるように、116個のサンプル色は、明度L*の低いところに集中しており、明度L*の高いところではまばらに分布している。サンプル色をより均一に分布させるためには、サンプルインク量を、比較的低いインク量の範囲ではより細かい間隔で設定し、比較的高いインク量の範囲ではより粗い間隔で設定するようにしてもよい。
ステップS16では、測色値の色空間(ここではCIELAB空間)を複数のセルに分割し、複数のサンプル色をセルに関してソート(分類)する。一実施例では、CIELAB空間を16×16×16個のセルに均等に分割した。なお、このとき複数のサンプルと前記コンバータ100によって変換される前の仮想サンプルとを対応づけておく。
ステップS20では、複数の比較色(上述の参照カラーパッチ102)を準備し、ステップS22では、これらの参照カラーパッチ102の分光反射率Rref(λ)を図示しない分光反射率計で測定する。ステップS30では、好ましいサンプルの選択に使用する評価指数EI
1を設定する。第1実施形態で使用される評価指数EI
1は、以下の(1)式で表される。
ここで、CDIは、上述のCII,MIのいずれかであり、IQI
iは上述のGI,Tinkであり、符号iでGIあるいはTinkを指定している。k
1とk
iはCDIとIQIに乗じられる重み付け係数であり、それぞれの指数が評価指数EI
1に寄与する度合を調整する。なお、係数k
1は“0”以外の数であり、係数k
iは“0”を含む数である。すなわち、CDIの中のいずれか一つのみが必ず評価指数EI
1に含まれるが、IQIは任意の指数を評価指数EI
1に含められるようになっている。むろん、上述のサンプル色毎に係数k
1,k
iの値を変更しても良い。
図3のステップS35では、評価指数生成部120が、各サンプルに対する評価指数EI1を算出し、サンプル選択部130がこの評価指数EI1に応じてCIELAB色空間の各セル内で最良のサンプルを選択する。
図5は、ステップS35の詳細手順を示すフローチャートである。ステップS55では、あるセル内の1つのサンプルを選択する。ステップS58では、計算対象として選択されているCDIがいずれの指数であるかを前記インデックス選択部126が判別する。ステップS58でCIIが選択されていると判別されたときには、ステップS60でCIIを算出する。ステップS58でMIが選択されていると判別されたときには、ステップS62でMIを算出する。
図6は、ステップS60におけるCIIの算出処理を示すフローチャートであり、この処理は前記CII算出部1240によって実施される。この処理に際して、前記インデックス選択部126は前記ステップS14で算出した分光反射率Rsmp(λ)をCII算出部1240に受け渡す。CII算出部1240は、ステップS100において分光反射率Rsmp(λ)を用いて第1の観察条件下で三刺激値XYZを算出する。一実施例では、CIE標準の光D50、および、CIE1931 2°観測者の観察条件で三刺激値XYZを算出した。本明細書において、「観察条件」とは照明光と観測者の組合せを意味しているが、特に言及しない限り観測者としてCIE1931 2°観測者を使用する。ステップS105では、この三刺激値XYZに色順応変換を適用して、標準観察条件での対応色を算出する。一実施例では、標準観察条件の光源として標準の光D65を用い、色順応変換としてCIECAT02を利用した。CIECAT02については、例えば"The CIECAM02 Color Appearance Model", Nathan Moroney et al., IS&T/SID Tenth Color Imaging Conference, pp.23-27, および、"The performance of CIECAM02", Changjun Li et al., IS&T/SID Tenth Color Imaging Conference, pp.28-31に記載されている。但し、色順応変換としては、フォン・クリースの色順応予測式などの他の任意の色順応変換を用いることも可能である。ステップS110では、この対応色のCIELAB表色系の測色値CV1=(L*a*b*)D50→D65を算出する。この下付き文字「D50→D65」は、標準の光D50の下での色の見えを、標準の光D65の対応色で表現した測色値であることを意味している。
すなわち、ステップS115においては、分光反射率Rsmp(λ)を用いて第2の観察条件下で三刺激値XYZを算出する。一実施例では、CIE標準の光F11、および、CIE1931 2°観測者の観察条件で三刺激値XYZを算出した。ステップS120では、この三刺激値XYZに色順応変換を適用して、標準観察条件での対応色を算出する。そして、ステップS125では、この対応色のCIELAB表色系の測色値CV2=(L*a*b*)F11→D65を算出する。ステップS130では、測色値CV1,CV2を利用してCIIを算出する。
CIIについては、Billmeyer and Saltzman's Principles of Color Technology, 3rd edition, John Wiley & Sons, Inc, 2000, p.129,p. 213-215を参照。
なお、(2)式の右辺は、CIE1994年色差式において、明度と彩度の係数k
L,k
Cの値を2に設定し、色相の係数k
Hの値を1に設定した色差ΔE*
94(2:2)に相当する。CIE1994年色差式では、(2)式の右辺の分母の係数S
L,S
c,S
Hは以下の(3)式で与えられる。
なお、CIIの算出に使用する色差式としては、他の式を用いることも可能である。
CIIは、あるカラーパッチを第1と第2の異なる観察条件下で観察したときの色の見えの差として定義されている。従って、CIIが小さいサンプルは、異なる観察条件での色の見えの差が小さいという点で好ましい。また、サンプル色の測色値CV1=(L*a*b*)D50→D65と、比較色の測色値CV2=(L*a*b*)F11→D65は、同一の標準観察条件におけるそれぞれの対応色の測色値なので、それらの色差ΔEであるCIIは、サンプル色と比較色の色の見えの違いをかなり正確に表現する値となる。
なお、標準観察条件は、標準の光D65に限らず、任意の照明光下での観察条件を採用することができる。例えば、標準の光D50を標準観察条件として採用した場合には、図9のステップS105は不要であり、また、ステップS120では標準の光D50に対する色順応変換が実行される。但し、CIELAB表色系を用いて算出される色差ΔEは、標準の光D65を用いたときに最も信頼性の高い値を示す。この点からは、標準観察条件として標準の光D65を用いることが好ましい。
ステップS62におけるMIの算出処理は、前記MI算出部1241によって実施される。この処理に際して、前記インデックス選択部126は前記ステップS22で測定した比較色の分光反射率Rref(λ)をMI算出部1241に受け渡す。MI算出部1241は、この比較色の分光反射率からCIELAB表色系の測色値L*a*b*を算出する。そして、この比較色と前記ステップS55で選択したサンプルのサンプル色とを比較するため、例えば以下の(4)でMIを算出する。なお、総ての比較色について(4)式を算出しても良いが、サンプル色と近い色の比較色を抽出して(4)式を算出しても良い。
ここで、(4)式[ ]内はj番目の照明光下におけるサンプル色と比較色の色差を示すメタメリズム指数であり、aveは複数の照明光におけるメタメリズム指数の平均を示す。ΔL* , ΔC*ab ,およびΔH*ab は、それぞれ、i番目の照明光かにおけるサンプル色と比較色の明度差、彩度差、色相差である。すなわち、本実施形態におけるMIはj番目の照明光下におけるサンプル色と比較色の色差の平均である。メタメリズム指数については、Billmeyer and Saltzman's Principles of Color Technology, 3rd edition, John Wiley & Sons, Inc, 2000, p.127、 p. 211-213を参照。照明光としては特に限定されないが、D50,F11,A光源等を採用することができる。
上述した(2)式と(4)式とを比較すれば理解できるように、MIを与える式としては、CIIを与える式と同じ色差式を用いることができる。MIとCIIとの違いは、前者は2つの物体色を同一の観察条件下で観察したときの色の差であり、後者は1つの物体色を異なる観察条件下で観察したときの色の差である点である。なお、MIの算出に使用する色差式として(4)式以外の式を用いることも可能である。なお、CIIやMIは異なる観察環境下についての色差を表しており、CIIとMIとでは比較色が異なるものの、CII,MIのいずれも2つの色の色差を表す指数を含んでいることが理解できる。
以上のようにCDIを算出したら、ステップS70以降で画質評価指数算出部122がIQIを算出する。ステップS70では、計算対象のIQIとしてGIが選択されているか否かを前記インデックス選択部126が判別する。ステップS70でGIが選択されていたと判別されたときには、GI算出部1220がステップS75にてGIを算出する。具体的には、GI算出部1220が粒状性プロファイル15dを取得し、この粒状性プロファイル15dにステップS55にて選択したサンプルのインク量データ(CMYKlclm)を代入することにより、GIを算出する。粒状性プロファイル15dは任意のサンプルインク量データ(CMYKlclm)を入力可能なニューラルネットワークを備えており、ニューラルネットワークをNNと表すと、GIは以下の(5)式で与えられる。粒状性プロファイル15dは複数準備されており、ステップS75では作成対象のプロファイルデータ15b,15cが前提とする印刷条件に対応する粒状性プロファイル15dが選択され、GIの算出に使用される。
GIは、ある印刷物を観察者が視認したときに、その観察者が感じる粒状感(あるいはノイズの程度)であり、GIが小さい程、観察者が感じる粒状感は小さくなる。本実施例では、GIが以下の(6)式で定義されるものとする。
GIについては、例えば、Makoto Fujino,Image Quality Evaluation of Inkjet Prints, Japan Hardcopy '99, p.291-294を参照。なお、(6)式のa
Lは明度補正項、WS(u)はハーフトーンデータが示す画像のウイナースペクトラム、VTFは視覚の空間周波数特性、uは空間周波数である。(6)式では一次元で示しているが、空間周波数u,vの関数として二次元画像の空間周波数を算出することは容易である。
図5に示す処理では、さらにステップS80において、計算対象のIQIとしてTinkが選択されているか否かを前記インデックス選択部126が判別する。ステップS80でTinkが選択されていたと判別されたときには、Tink算出部1221がステップS85にてTinkを算出する。このために、インデックス選択部126は前記サンプルインク量データをTink算出部1221に受け渡す。上述のようにTinkはインクの使用量を評価する指数であり、そのサンプルで使用されるインク量の合計値である。例えば、6種類のインクのインク量がすべて20%のときには、Tinkの値は120%=1.2になる。合計インク量Tinkは画質とかなりの相関があり、合計インク量Tinkが少ないほど画質が良い可能性がある。そこで、評価指数EI1にこのTinkを含むようにすれば、画質を判断することができる。
以上の処理により、評価指数EI1に含むべきCDIとIQIとが算出されたことになるので図5に示すステップS90では、前記(1)式によって評価指標EI1を算出する。ステップS92では、処理対象となっているセルに含まれるすべてのサンプル色に関して評価指数EI1の算出が終了したか否かが判断される。こうして、ステップS55〜S92が繰り返し実行されて、そのセル内のすべてのサンプル色に関して評価指数EI1が算出される。ステップS94では、サンプル選択部130が、そのセル内のサンプル色のうちで、評価指数EI1が最良であるサンプルを、そのセルに関する代表サンプルとして選択する。この結果、少なくとも1つのサンプルを含む各セルに関して、1つの代表サンプルがそれぞれ選択される。以下では、代表サンプルを「高評価サンプル」とも呼ぶ。
なお、図3のステップS16で分割された複数のセルの中には、サンプル色を全く含まないセルも存在する。従って、図5の処理は、少なくとも1つのサンプル色を含むようなセルを対象として実行され、サンプル色を1つも含まないセルは処理対象から除外される。以上のようにして代表サンプルを選択したら、図3のステップS40では、プロファイル生成部140が、代表サンプルに基づいて不等間隔補間(non-uniform interpolation)を行うことによって、予備インクプロファイルを作成する。この予備インクプロファイルは、CIELAB測色値をインク量に変換する色変換ルックアップテーブルである。「予備的」という接頭語は、ステップS16で分割された比較的粗いセルに関するプロファイルであることを意味している。
図7(A)は、ステップS40における不等間隔補間を示す。この図は、CIELAB空間を示しており、図中の丸は代表サンプル色の測色値の位置を示し、網模様は細かなセルのグリッドを示している。ステップS40では、グリッド点(網模様の交点)におけるインク量が、複数の代表サンプル色のインク量を不等間隔補間することによって算出される。図7(B)および図7(C)は、L*=23.8での補間前と補間後の代表サンプル点の例をそれぞれ示している。この不等間隔補間は、例えばMATLAB(MathWorks, Inc.の商標)のgriddata関数を用いて実行することができる。一実施例では、予備プロファイルとして、CIELAB空間の64×64×64個のグリッド点を入力とするプロファイルを作成した。なお、不等間隔補間としては、非線形補間を用いても良く、あるいは線形補間を用いても良い。通常は、非線形補間の方が線形補間よりも精度が高く、処理速度は遅い傾向にある。
ステップS45では、プロファイル生成部140が、予備プロファイルを線形補間することによって、最終インクプロファイル142(図2)を作成する。この最終インクプロファイル142は、予備プロファイルよりもさらに細かなセルのグリッド点を入力とするプロファイルである。一実施例では、CIELAB空間の256×256×256個のグリッド点を入力とするプロファイルを作成した。上述したように、予備プロファイルはCIELAB空間の64×64×64個のグリッド点を入力としているので、予備プロファイルを線形補間することによって最終インクプロファイル142を容易に得ることができる。最終インクプロファイル142として、256×256×256個のグリッド点を入力とするプロファイルを作成すれば、CIELABのすべての入力値に対するインク量を直ちに得ることができる。従って、その後のルックアップテーブルの作成に要する処理時間を短縮することができる。
ステップS50では、ガマットマッピング処理部160(図2)が、最終インクプロファイル142とsRGBプロファイル162とに基づいてガマットマッピングを行い、プロファイルデータ15b,15cを作成する。ガマットマッピングを行う理由は、プリンタで実現可能な色空間(「インク色空間」とも呼ぶ)の色域と、入力色空間(この実施形態ではsRGB空間)で実現可能な色域とに差があるためである。インク色空間の色域は最終インクプロファイル142で規定されており、入力色空間の色域はsRGBプロファイル162で規定されている。一般に、入力色空間とインク色空間には食い違いがあるので、入力色空間の色域をインク色空間の色域にマッピングする必要がある。
図8(A)および図8(B)は、ガマットマッピングの一例を示している。ここでは、いわゆるガマットクリッピングと呼ばれる方法が採用されている。具体的には、図8(A)に示すように、インク色空間の色域の外側にあるsRGB色空間の色は、色相を保った状態で彩度を低下させるようにマッピングされる。明度L*に関しては、インク色空間の明度範囲内にある色は、明度がそのまま維持される。インク色空間の明度の最大値Lmaxよりも大きな明度を有する色は、最大値Lmaxにマッピングされる。一方、インク色空間の明度の最小値Lminよりも大きな明度を有する色は、最小値Lminにマッピングされる。なお、ガマットマッピングの方法としては、従来から種々の方法が知られており、そのいずれの方法を採用してもよい。
こうしてガマットマッピングが行われると、最終的なプロファイルデータ15b,15cが完成する。このプロファイルデータ15b,15cをプリンタに実装すれば、色彩恒常性が高く(すなわち、異なる観察条件における色の見えの変化が小さい)、高画質の印刷物を作成することが可能である。なお、インクプロファイル142に関する補間は上述の構成が必須ではない。例えば、最終インクプロファイル142の代わりに予備インクプロファイルを用いて、プロファイルデータ15b,15cを作成することも可能であるし、補間後の測色値の数も上述のものに限られない。
以上のようにして作成したプロファイルデータ15b,15cは、上述のように色差評価指数と画質評価指数とを考慮しており、これらの指数は適宜必要な指数を選択する。従って、種々の指数を加味したプロファイルデータを容易に作成することができる。すなわち、種々の観察条件で好ましい色再現を達成するプロファイルを容易に作成することができるし、この色再現の達成と同時に高画質の印刷を実施可能なプロファイルを作成可能である。
なお、以上の実施形態では、sRGBとCMYKlclmとの対応関係を規定するプロファイルデータ15b,15cを作成したが、むろん、プロファイルとしては他の形態を採用することも可能である。例えば、入力側の機器依存色を機器非依存色に変換するソースプロファイルと機器非依存色を出力側の機器依存色に変換するメディアプロファイルとを利用して色変換を行う構成において、メディアプロファイルの作成に本発明を適用することも可能である。この場合、Lab色空間の格子点をインクプロファイル142に規定されたLab空間でガマットマッピングすることによってメディアプロファイルを作成する。すなわち、インクプロファイル142が作成されるとプリンタのガマットが確定されるので、このガマット外に存在するCIELAB空間の格子点をガマット表面あるいはガマット内の格子点に対応づける。この結果作成されるプロファイルによれば、前記ソースファイルから得られる任意のCIELAB値をCMYKlclm値に変換することが可能になる。
B.分光プリンティングモデルの一例:
以下では、分光プリンティングモデルの一例としてセル分割ユール・ニールセン分光ノイゲバウアモデル(Cellular Yule-Nielsen Spectral Neugebauer Model)を説明する。このモデルは、よく知られた分光ノイゲバウアモデルとユール・ニールセンモデルとに基づいている。なお、以下の説明では、CMYの3種類のインクを用いた場合のモデルについて説明するが、これを任意の複数のインクを用いたモデルに拡張することは容易である。また、セル分割ユール・ニールセン分光ノイゲバウアモデルについては、Color Res Appl 25, 4-19, 2000およびR Balasubramanian, Optimization of the spectral Neugebauer model for printer characterization, J. Electronic Imaging 8(2), 156-166 (1999)を参照。
図9は、分光ノイゲバウアモデルを示す図である。分光ノイゲバウアモデルでは、任意の印刷物の分光反射率R(λ)は、以下の(7)式で与えられる。
ここで、a
iはi番目の領域の面積率であり、R
i(λ)はi番目の領域の分光反射率である。添え字iは、インクの無い領域(w)と、シアンインクのみの領域(c)と、マゼンタインクのみの領域(m)と、イエローインクのみの領域(y)と、マゼンタインクとイエローインクが吐出される領域(r)と、イエローインクとシアンインクが吐出される領域(g)と、シアンインクとマゼンタインクが吐出される領域(b)と、CMYの3つのインクが吐出される領域(k)をそれぞれ意味している。また、fc,fm,fyは、CMY各インクを1種類のみ吐出したときにそのインクで覆われる面積の割合(「インク被覆率(Ink area coverage)」と呼ぶ)である。分光反射率R
i(λ)は、カラーパッチを分光反射率計で測定することによって取得される。
インク被覆率fc,fm,fyは、図9(B)に示すマーレイ・デービスモデルで与えられる。マーレイ・デービスモデルでは、例えばシアンインクの面積率fcは、シアンのインク吐出量dcの非線形関数であり、1次元ルックアップテーブルの形で与えられる。インク被覆率がインク吐出量の非線形関数となる理由は、単位面積に少量のインクが吐出された場合にはインクが十分に広がるが、多量のインクが吐出された場合にはインクが重なり合うためにインクで覆われる面積があまり増加しないためである。
分光反射率に関するユール・ニールセンモデルを適用すると、前記(7)式は以下の(8a)式または(8b)式に書き換えられる。
ここで、nは1以上の所定の係数であり、例えばn=10に設定することができる。(8a)式および(8b)式は、ユール・ニールセン分光ノイゲバウアモデル(Yule-Nielsen Spectral Neugebauer Model)を表す式である。
セル分割ユール・ニールセン分光ノイゲバウアモデル(Cellular Yule-Nielsen Spectral Neugebauer Model)は、上述したユール・ニールセン分光ノイゲバウアモデルのインク色空間を複数のセルに分割したものである。
図10(A)は、セル分割ユール・ニールセン分光ノイゲバウアモデルにおけるセル分割の例を示している。ここでは、簡単のために、シアンのインク被覆率fcとマゼンタのインク被覆率fmの2つの軸を含む2次元空間でのセル分割を描いている。なお、これらの軸fc,fmは、インク吐出量dc,dmを示す軸と考えることもできる。白丸は、セル分割のグリッド点(「ノード」と呼ぶ)であり、2次元空間が9つのセルC1〜C9に分割されている。16個のノードにおける印刷物(カラーパッチ)に対しては、分光反射率R00,R10,R20,R30,R01,R11・・・R33がそれぞれ予め決定される。
図10(B)は、このセル分割に対応するインク被覆率fc(d)の形状を示している。ここでは、1種類のインクのインク量の範囲0〜dmaxが3つの区間に分割されており、インク被覆率fc(d)は、各区間毎に0から1まで単調に増加する曲線によって表されている。
図10(C)は、図10(A)の中央のセルC5内にあるサンプルの分光反射率Rsmp(λ)の算出方法を示している。分光反射率Rsmp(λ)は、以下の(9)式で与えられる。
ここで、インク被覆率fc,fmは図10(C)のグラフで与えられる値であり、このセルC5内で定義された値である。また、セルC5の4つの頂点における分光反射率R
11(λ),R
12(λ),R
21(λ),R
22(λ)の値は、前記(9)式に従ってサンプル分光反射率Rsmp(λ)を正しく与えるように調整されている。
このように、インク色空間を複数のセルに分割すれば、分割しない場合に比べてサンプルの分光反射率Rsmp(λ)をより精度良く算出することができる。図11は、一実施例で採用されたセル分割のノード値を示している。この例に示されているように、セル分割のノード値は、各インク毎に独立に設定することが好ましい。
ところで、図10(A)に示すモデルにおいて、すべてのノードにおける分光反射率をカラーパッチの測定で得ることはできないのが普通である。この理由は、多量のインクを吐出すると滲みが発生してしまい、均一な色のカラーパッチを印刷できないからである。図12は、分光反射率を求める方法の例を示している。これは、シアンとマゼンタの2種類のインクのみを使用する場合の例である。シアンとマゼンタの2種類のインクで印刷される任意のカラーパッチの分光反射率R(λ)は、以下の(10)式で与えられる。
前記(10)式に含まれる複数のパラメータのうちで、シアンインクとマゼンタインクの両方が100%吐出量であるときの分光反射率Rb(λ)のみが未知であり、他のパラメータの値は既知であると仮定する。このとき、(10)式を変形すれば、以下の(11)式が得られる。
上述したように右辺の各項はすべて既知である。従って、(11)式を解くことによって、未知の分光反射率Rb(λ)を算出することができる。この分光反射率の見積もりにつては、R Balasubramanian, "Optimization of the spectral Neugebauer model for printer characterization", J. Electronic Imaging 8(2), 156-166 (1999)を参照。
シアンとマゼンタの2次色以外の他の2次色の分光反射率も同様にして求めることが可能である。また、複数の2次色の分光反射率が求まれば、複数の3次色の分光反射率も同様にして求めることができる。こうして、高次の分光反射率を順次求めてゆくことによって、セル分割されたインク色空間の各ノードにおける分光反射率をすべて求めることが可能である。
図1に示す分光プリンティングコンバータ100は、図10(A)に示すようにセル分割されたインク色空間の各ノードにおける分光反射率の値と、図10(C)に示すインク被覆率を示す1次元ルックアップテーブルとを有しており、これらを用いて任意のサンプルインク量データに対する分光反射率Rsmp(λ)を算出するように構成されている。
なお、一般に、印刷されたカラーパッチの分光反射率は、インクセットと印刷媒体とに依存する。従って、図1に示す分光プリンティングモデルコンバータ100は、インクセットと印刷媒体との組合せ毎に作成される。また、インクプロファイル142やプロファイルデータ15b,15cにおける各プロファイルも、インクセットと印刷媒体との組合せ毎に作成される。
D.粒状性プロファイルの一例:
上述のように粒状性プロファイル15dは図3の処理を実行する際に予め準備されたプロファイルである。以下、この粒状性プロファイル15dの構成、および、その準備手順を詳細に説明する。図13は、粒状性プロファイルを準備する粒状性プロファイル準備装置のブロック図である。この粒状性プロファイル準備装置は、上述のコンピュータ10によって実現される。むろん、他のコンピュータにて粒状性プロファイル準備装置を実現してもよい。コンピュータ10には粒状性プロファイル準備部129が備えられ、この粒状性プロファイル準備部129によって粒状性プロファイル15dがHDD15内に準備される。この粒状性プロファイル準備部129は、評価色準備部1290とサンプル粒状性指数算出部1291と粒状性プロファイル作成部1292を備える。
評価色準備部1290は、粒状性の評価の対象とする粒状性評価用インク量データを準備する。粒状性評価用インク量データはプリンタ40が使用可能なCMYKlclmのインク量ベクトルで表され、評価色準備部1290はCMYKlclm空間において略均一に分布するように複数の粒状性評価用インク量データを準備する。また、粒状性評価用インク量データに基づいてプリンタ40にて印刷を行ったときの測色値(L*a*b*値)がL*a*b*空間にて略均一となるように複数の粒状性評価用インク量データが準備される。評価色準備部1290は、準備した粒状性評価用インク量データに基づくカラーパッチ(粒状性評価用パッチ)が印刷できる画像データをプリンタドライバ30に出力する。
サンプル粒状性指数算出部1291は、粒状性評価用パッチをスキャナ60にて読み取った画像データをスキャナドライバ50から取得するとともに、画像データから各粒状性評価用パッチについてのサンプル粒状性指数GIsmpを算出する。粒状性プロファイル作成部1292は、粒状性評価用インク量データと各サンプル粒状性指数GIsmpとの複数の対応関係を学習データとして構築したニューラルネットワークを粒状性プロファイル15dとして作成し、HDD15に格納する。
次に、図13に示す粒状性プロファイル準備装置で行う処理フローを参照しながら、各部が行う処理について詳述する。図14は、この処理手順を示すフローチャートである。ステップS200においては、評価色準備部1290が粒状性評価用インク量データを多数(N個)準備する。ここでは、インク量に関してグラデーションをなす複数の粒状性評価用インク量データ、および、測色値空間としてのCIELAB空間(L*a*b*空間)において略均一に分布する粒状性評価用インク量データを準備する。
図15は、評価色準備部1290が行う粒状性評価用インク量データ準備処理の流れを示している。ステップS2001においては、各種設定を行う。例えば、上述の分光プリンティングモデルコンバータ100に対するインクセットや印刷媒体の設定や光源の設定等を行う。ステップS2002においては、評価色準備部1290が1次色のグラデーションのカラーパッチ群が再現される粒状性評価用インク量データを準備する。
本実施例では、インクセットとしてCMYKlclm(256階調)が想定されているため、CMYKlclmがそれぞれ1次色となる。例えば、Cインクの階調を16等分に区切り、16個の粒状性評価用インク量データ(C=0,15,31・・239,255、M=Y=K=lc=lm=0)を準備する。同様に、MYKclmインクについても16個ずつ粒状性評価用インク量データを準備する。ステップS2003においては、評価色準備部1290が2次色のグラデーションのカラーパッチ群が再現される粒状性評価用インク量データを準備する。本実施形態における2次色は、CMインクを等量混色した青色と、MYインクを等量混色した赤色と、YCインクを等量混色した緑色と、lclmインクを等量混色した淡青色である。
例えば、青色の濃度階調を16等分に区切り、16個の粒状性評価用インク量データ(C=M=0,15,31・・239,255、Y=K=lc=lm=0)を準備する。同様に、赤色と緑色についても16個ずつ粒状性評価用インク量データ(MY=0,15,31・・239,255、C=K=lc=lm=0),(YC=0,15,31・・239,255、M=K=lc=lm=0),(lclm=0,15,31・・239,255、C=M=Y=K=0)を準備する。さらに、CMYインクを等量混色した3次色(コンポジットグレー)についても16個の粒状性評価用インク量データ(CMY=0,15,31・・239,255、K=lc=lm=0)を準備する。
ステップS2004においては、インク量空間全体にわたってランダムに分布するインク量セットを粒状性評価用インク量データの候補として多数生成し、分光プリンティングモデルコンバータ100に入力させる。例えば、CMYKlclmのインク量階調をそれぞれ16等分した格子点上のインク量座標を粒状性評価用インク量データの候補として生成する。この場合、166=16,777,216個の候補が生成される。
分光プリンティングモデルコンバータ100は入力された粒状性評価用インク量データの候補それぞれに対してカラーパッチを印刷した場合の分光反射率Rsmp(λ)を算出する。ステップS2005においては、ステップS2004にて生成した各粒状性評価用インク量データの候補に対応する分光反射率Rsmp(λ)にXYZ三刺激値の等色関数x(λ),y(λ),z(λ),および設定された光源の分光分布P(λ)を掛け合わせて積分することにより、XYZ値を算出する。なお、本実施形態においてはCIE標準の光D50の分光分布P(λ)を想定してXYZ値を算出するものとする。以上により、各粒状性評価用インク量データの候補に従って再現したカラーパッチの色をXYZ値として得ることができる。次に、色算出部110がXYZ値をL*a*b*値に変換する。XYZ値およびL*a*b*値はともに非機器依存色空間であるため、公知の変換式によって色空間変換することができる。ステップS2006においては、各粒状性評価用インク量データの候補に対応するL*a*b*値に基づいて、各粒状性評価用インク量データの候補のなかから、粒状性評価用インク量データとして使用するものを選択する。
図16(A)はプリンタガマットを模式的に示している。同図においてはD50におけるプリンタガマットがCIELAB空間にて示されている。分光プリンティングモデルコンバータ100ではプリンタが形成可能なインクドット形成状態の範囲内での分光反射率Rsmp(λ)の予測が行われるため、プリンタガマット内に色算出部110にて算出された各粒状性評価用インク量データの候補に対応するL*a*b*値が分布することとなる。ステップS2006では、明度L*について複数の離散的な明度域を定義し、これらの明度域ごとに選択する粒状性評価用インク量データの個数を決定する。
図15(B)においては明度域ごとに選択される粒状性評価用インク量データの個数分布を示している。同図において、中明度(L*=50)を平均値(最頻値)とする正規分布状に粒状性評価用インク量データの個数が設定される。従って、中明度域においては多数の粒状性評価用インク量データが使用され、高明度域および低明度域となるにつれて使用される粒状性評価用インク量データが少なくなる。なお、本実施形態においては各明度域から選択される粒状性評価用インク量データの総数が1000個とされる。明度域ごとに選択する粒状性評価用インク量データの個数を決定すると、各明度域にL*(a*b*)値が属する粒状性評価用インク量データの候補を抽出し、そのなかから当該明度域について決定された個数分だけ粒状性評価用インク量データの候補を選択する。その際に、当該明度域におけるa*b*方向に関するプリンタガマット内においてランダムに粒状性評価用インク量データの候補が選択されるようにする。そして、すべての明度域において対応する個数の粒状性評価用インク量データの候補が選択されると、同選択された候補を粒状性評価用インク量データとして確定する。
図16(A),図16(B)に示すように明度域ごとに選択される粒状性評価用インク量データの個数分布はプリンタガマットの明度域ごとのa*b*平面の断面積に対応していると考えることができる。従って、図16(B)示すような個数分布とすることにより、プリンタガマット内における明度域ごとのa*b*平面において選択される粒状性評価用インク量データの候補の密度を均一にすることができる。すなわち、ステップS2006では、複数の粒状性評価用インク量データがCIELAB測色値空間におけるプリンタガマット内において略均一に準備されることとなる。従って、CIELAB空間におけるある色域において粒状性評価用インク量データの候補が集中した場合でも、プリンタガマット内において対応するL*a*b*値が均一に分散するように粒状性評価用インク量データを準備することができる。また、プリンタが最も色の表現力を有する中明度域において多数の粒状性評価用インク量データを準備することができる。なお、本実施例においては各明度域において、a*b*についてランダムに粒状性評価用インク量データの候補を選択するものとしたが、a*b*について一定間隔の格子点上の粒状性評価用インク量データの候補を選択することより均一性を確保してもよい。ステップS2007においては、グレー軸(a*b*=0)付近の粒状性評価用インク量データの候補を粒状性評価用インク量データとして選択する。
図17(A)はステップS2007において粒状性評価用インク量データが選択されるグレー軸付近の色域を示している。同図においては、所定明度L*のa*b*平面を示しており、グレー軸を中心として一定の彩度C*以内のグレー域からランダムに粒状性評価用インク量データが選択されることが示されている。本実施形態では、350個程度選択される。さらに、ステップS2008においては肌色および空色付近の粒状性評価用インク量データの候補を粒状性評価用インク量データとして選択する。図17(B)はステップS2008において粒状性評価用インク量データがランダムに選択される肌色域を示し、図17(C)は同様に空色域を示している。ここでも、肌色域および空色域のそれぞれから350個程度選択される。ステップS2007,S2008においても、各色域内のa*b*について一定間隔の格子点上の粒状性評価用インク量データの候補を選択してもよい。なお、図17(A),図17(B),図17(C)においてはa*b*平面における各ターゲット色域を示したが、明度L*についてもターゲット色域が規定されている。例えば、L*=45〜85がターゲット色域とされ、L*=45〜85であり図17(A),図17(B),図17(C)で示す範囲内のa*b*値が対応する粒状性評価用インク量データが選択される。以上のようにして合計N個の粒状性評価用インク量データを準備すると粒状性評価用インク量データ準備処理を終了させ、図14のメインフローに戻る。
図14のステップS205においては、評価色準備部1290が粒状性評価用パッチを複数配置したチャートデータを生成する。粒状性評価用パッチは印刷用紙上に例えば矩形状に印刷される色見本であり、同一の粒状性評価用パッチ内は同一の粒状性評価用インク量データに従って印刷される。すなわち、対応する画像データにおいて粒状性評価用パッチに相当する領域が同一の粒状性評価用インク量データの階調を有する画素で充填される。本実例では、印刷や評価の手間を考慮して、複数のカラーパッチを可能な限り同一の印刷用紙上における複数の異なる位置に配置するチャートデータを生成する。ここでは、各画素の色が粒状性評価用インク量データ(CMYKlclmのインク量ベクトル)で表されるCMYKlclm表色系の画像データとしてチャートデータが生成されることとなる。チャートデータが生成できると、当該チャートデータをプリンタドライバ30に出力する。
ステップS210では、プリンタドライバ30がチャートデータに基づいて印刷を行うことにより、粒状性評価用チャートをプリンタ40にて出力させる。プリンタドライバ30が行う処理は、A節で説明したプリンタドライバ30の処理とほぼ同様であるが、CMYKlclm表色系のチャートデータに対しては色変換部32が色変換を行うことなく、そのままハーフトーン処理部34がハーフトーン処理を行うこととなる。これにより、プリンタドライバ30によって制御されるプリンタ40においては粒状性評価用チャートが印刷される。
ステップS215では、粒状性評価用チャートをスキャナ60でスキャンする。ここでは、プリンタがカラーチャートを印刷したときの解像度よりも高解像度でスキャンを行う。このようにすることにより、各カラーパッチにおけるインクドットの分布状態を詳細に把握することが可能な画像データをスキャナ入力部126が得ることができる。スキャンした画像データはスキャナ60の入力デバイスプロファイルを使用してCIELAB表色系等の非機器依存の画像データに変換しておくことが望ましい。ステップS220においては、スキャンした画像データを印刷媒体上における明度L*分布の画像データL(x,y)に変換する(x,yは印刷媒体上における横および縦の座標を意味する。)。以下、当該画像データL(x,y)に基づいてサンプル粒状性指数算出部1291がサンプル粒状性指数GIsmpを算出する。
図18はサンプル粒状性指数GIsmpを算出する様子を説明している。本実施形態において、サンプル粒状性指数GIsmpは印刷画像の粒状性を画像の明度の空間周波数(cycle/mm)特性で評価する。このために、まず図18の左端に示す明度L(x,y)に対してFFT(Fast Fourier Transformation)を実施する(ステップS225)。図18においては得られた空間周波数のスペクトルをS(u,v)として示している。なお、スペクトルS(u,v)は実部Re(u,v)と虚部Im(u,v)とからなり、S(u,v)=Re(u,v)+jIm(u,v)である。このスペクトルS(u,v)は上述のウイナースペクトラムに相当する。
ここで、(u,v)は(x,y)の逆空間の次元を持つが、本実施例において(x,y)は座標として定義され、実際の長さの次元に対応させるにはスキャナ60の解像度等を考慮しなければならない。従って、S(u,v)を空間周波数の次元で評価する場合も次元の変換が必要である。そこで、まず、座標(u,v)に対応した空間周波数の大きさf(u,v)を算出する。すなわち、主走査方向の最低周波数euはX解像度/25.4,副走査方向の最低周波数evはY解像度/25.4と定義される。なお、X解像度,Y解像度はスキャナ60がスキャンした際の解像度である。なお、ここでは1インチを25.4mmとしている。各走査方向の最低周波数eu,evが算出されれば、任意の座標(u,v)における空間周波数の大きさf(u,v)は((eu・u)2+(ev・v)2))1/2として算出することが可能になる。
一方、人間の目は、空間周波数の大きさf(u,v)に応じて明度に対する感度が異なり、当該視覚の空間周波数特性は、例えば、図17の中央下部に示すVTF(f)のような特性である。この図17におけるVTF(f)はVTF(f)=5.05×exp(−0.138・d・π・f/180)×(1−exp(−0.1・d・π・f/180))である。なお、ここでdは印刷物と目の距離でありfは前記空間周波数の大きさである。このfは上述した(u,v)の関数として表現されているので、視覚の空間周波数特性VTFは(u,v)の関数VTF(u,v)とすることができる。
上述のスペクトルS(u,v)に対してこのVTF(u,v)を乗じれば、視覚の空間周波数特性を考慮した状態でスペクトルS(u,v)を評価することができる。また、この評価を積分すればサブ画素平面全体について空間周波数を評価することができる。そこで、本実施例においては、ステップS235〜S255の処理で積分までの処理を行っており、まず、(u,v)を双方とも“0”に初期化し(ステップS235)、ある座標(u,v)での空間周波数f(u,v)を算出する(ステップS240)。また、この空間周波数fにおけるVTFを算出する(ステップS245)。
VTFが得られたら、当該VTFの2乗とスペクトルS(u,v)の2乗とを乗じ、積分結果を代入するための変数Powとの和を算出する(ステップS250)。すなわち、スペクトルS(u,v)は実部Re(u,v)と虚部Im(u,v)とを含むので、その大きさを評価するため、まず、VTFの2乗とスペクトルS(u,v)の2乗とによって積分を行う。そして、座標(u,v)のすべてについて以上の処理を実施したか否かを判別し(ステップS255)、全座標(u,v)について処理を終了したと判別されなければ、未処理の座標(u,v)を抽出してステップS240以降の処理を繰り返す。なお、VTFは図18に示すように空間周波数の大きさが大きくなると急激に小さくなってほぼ”0”となるので、座標(u,v)の値域を予め所定の値以下に制限することにより必要充分な範囲で計算を行うことができる。
積分が終了したら、Pow1/2/全画素数を算出する(ステップS260)。すなわち、変数Powの平方根によって前記スペクトルS(u,v)の大きさの次元に戻すとともに、全画素数で除して規格化する。この規格化により、入力画像の画素数に依存しない客観的な指数(図18のInt)を算出している。本実施形態においては、さらに、印刷物全体の明度による影響を考慮した補正を行ってサンプル粒状性指数GIsmpとしている。すなわち、本実施形態においては、空間周波数のスペクトルが同じであっても印刷物全体が明るい場合と暗い場合とでは人間の目に異なった印象を与え、全体が明るい方が粒状性を感じやすいものとして補正を行う。このため、まず、全画素について明度L(x,y)を足し合わせ、全画素で除することにより、画像全体の明度の平均Aveを算出する(ステップS265)。
そして、画像全体の明るさによる補正係数a(L)をa(L)=((Ave+16)/116)0.8と定義し、この補正係数a(L)を算出(ステップS270)するとともに前記Intに乗じてサンプル粒状性指数GIsmpとする(ステップS275)。なお、補正係数a(L)は、上述した明度補正項aLに相当する。以上の処理によって前記(6)式を具体的に演算したこととなる。補正係数としては、明度の平均によって係数の値が増減する関数であればよく、他にも種々の関数を採用可能である。むろん、サンプル粒状性指数GIsmpを評価する成分は明度成分に限られず、色相、彩度成分を考慮して空間周波数を評価してもよいし、色彩値として、明度成分,赤−緑成分,黄−青成分を算出し、それぞれをフーリエ変換した後、各色成分ごとに予め定義された視覚の空間周波数特性を乗じてサンプル粒状性指数GIsmpを算出してもよい。
以上説明したステップS205〜S275の処理によって、印刷したカラーパッチの粒状性がサンプル粒状性指数GIsmpとして定量化できたこととなる。ステップS205〜S275を、ステップS200において生成した複数の粒状性評価用インク量データに従って印刷されたカラーパッチを対象として行うことにより、各粒状性評価用インク量データについてのサンプル粒状性指数GIsmpを得ることができる。ステップS280においては、各粒状性評価用インク量データとサンプル粒状性指数GIsmpとの対応関係を記述した学習データCDを記憶する。ステップS285においては、粒状性プロファイル作成部1292が学習データCDに基づいて粒状性プロファイル200を作成する処理を行う。
図19は粒状性プロファイル作成処理の流れを示し、図20は本実施例における粒状性プロファイルとしてのニューラルネットワーク(NN)の構造を示している。図19のステップS2851においては、NNの構造を決定する各パラメータの初期設定を行う。本実施例のNNは、入力層がサンプルインク量データに相当するインク量ベクトルIj=(C,M,Y,K,lc,lm),(j=1〜6)となる。一方、出力層は粒状性指数GIとなる。本実施例のNNは3層構造であり、1層の中間層が設定され、その中間層を構成する中間ユニットの数を任意に設定することができる。中間ユニットUi(m=1〜I)と表記するものとすると、ステップS2851では中間ユニットUiの全数I(例えば、I=23。)が設定される。一般に、教師信号の数(学習データCDにおける粒状性評価用インク量データとサンプル粒状性指数GIsmpとの対応関係の数)に比して中間ユニットUiの数が多いとオーバーフィッティングの傾向が強く、教師信号の数に比して中間ユニットUiの数が少ないとアンダーフィッティングの傾向が強くなるため、ステップS200にて生成した粒状性評価用インク量データの個数Nを勘案して適度な中間ユニットUiの数Iを設定することが望ましい。
各中間ユニットU
iは下記(12)式によって表わされるものとする。
前記(12)式において各中間ユニットU
iは各インク量I
jに対して固有の重みW1
ijを有しており、この重みW1
ijによって各インク量I
jを重みづけて線形結合することにより得られる。また、各中間ユニットU
iは固有のバイアスb1
iを有しており、同バイアスb1
iが各インク量I
jの線形結合に加算される。ステップS2851では、すべての重みW1
ijとバイアスb1
iが初期設定される。初期段階では重みW1
ijとバイアスb1
iをどのように決めてもよく、例えば0を度数平均とした正規分布状に重みW1
ijとバイアスb1
iを分散させてもよい。
最終的に得られる粒状性指数GIは下記(13)式によって表されるものとする。
前記(13)式において粒状性指数GIは各中間ユニットU
iに対して固有の重みW2
iを有しており、この重みW2
iによって各中間ユニットU
iからの出力値Z
iを重みづけて線形結合することにより得られる。同様にバイアスb2が加えられる。ステップS2851では、各重みW2
iとバイアスb2が初期設定される。なお、中間ユニットU
iと出力値Z
iとの関係は下記(14)式の伝達関数で表すことができる。
伝達関数は微分可能な単調増加連続関数であればよく、線形関数も適用することができる。本実施形態では、出力に非線形性を持たせるために非線形のハイパボリックタンジェント関数を設定する。むろん、同質の関数としてシグモイド関数を使用することもできる。ステップS2851では、すべての重みW2
iとバイアスb2も初期設定される。重みW2
iとバイアスb2についても初期段階でどのように決めてもよく、ここでも0を度数平均とした正規分布状に重みW2
iとバイアスb2を分散させてもよい。以上のようにして各パラメータを初期設定することにより、NNの構造が作成されたこととなる。ただし、各パラメータは適当に設定しただけであるため、これらをカラーパッチの実評価に基づく学習データCDによって学習させ最適化する必要がある。
そこで、ステップS2852においては各パラメータの最適化を行う。ここでは、誤差逆伝搬(error back propagation)法によって各パラメータW1ij,b1i,W2i,b2の最適化を行う。誤差逆伝搬法では、学習データCDにおける入力(粒状性評価用インク量データ)に対する出力(サンプル粒状性指数GIsmp)と、NNに粒状性評価用インク量データを入力したときに出力される粒状性指数GIとの誤差を順次前段階の層に伝搬させることにより、各層のパラメータを順次決定していく。基本的な方針としては、上述の誤差を最小化させるようにパラメータW1ij,b1i,W2i,b2を最適化することにより、NNにて予測した粒状性指数GIが実評価によって得られたサンプル粒状性指数GIsmpに近い値となるようにする。ところが、上述した方針に徹すると、実評価によって得られたサンプル粒状性指数GIsmpがノイズを含む場合、ノイズについてもNNの出力にて再現されてしまう。すなわち、オーバーフィッティングとなってしまう。そこで、オーバーフィッティングを抑止するために下記(15)式の評価関数Eを用意する。
そして、最適化対象のパラメータpを変動させつつ評価関数Eをパラメータpによって偏微分することにより同評価関数Eの勾配を求め、その勾配の絶対値が最も小さくなるパラメータpの値を最適化後のパラメータpとする(勾配法)。これにより、最適化対象のパラメータpの変動において最も評価関数Eが小さくなるパラメータpを特定することができる。なお、パラメータW1
ij,b1
i,W2
i,b2のうち最適化対象のパラメータをパラメータpと表記するものとし、最適化対象のパラメータpは出力から近い順に順次設定される。一通りすべてのパラメータW1
ij,b1
i,W2
i,b2が最適化されると、同様の処理を所定回数または評価関数Eが所定の閾値を下回るまで繰り返す。これにより、パラメータW1
ij,b1
i,W2
i,b2間の交互作用も反映させつつ、評価関数Eを徐々に小さく収束させていくことができる。
ところで、E
Dは、粒状性指数GI
NN,GIの誤差を評価するための誤差関数であり、下記(16)式によって表される。
すなわち、すべての粒状性評価用インク量データ(nは粒状性評価用インク量データ番号であり、n=1〜Nとする。)についての粒状性指数GI
NN,GIの2乗誤差によって誤差関数E
Dが表される。粒状性指数GIはNNの入力層に粒状性評価用インク量データを順次入力することにより得られる。誤差関数E
Dが含まれる評価関数Eを最小化させることにより、プリンタガマットを網羅するあらゆるインク量データについて実評価によるサンプル粒状性指数GIとNNによって出力される粒状性指数GIとのずれを最小化させることができる。なお、所定回数最適化を繰り返しても評価関数Eが所望する閾値を下回らない場合には、中間ユニットU
iの数Iを増加させて、フィッティング能力を向上させてもよい。逆に、異常に少ない最適化回数でも評価関数Eが所望する閾値を下回った場合には、中間ユニットU
iの数Iを減少させて、フィッティング能力を抑制してもよい。
一方、E
WはNNによる粒状性指数GI
NNが実評価に基づく粒状性指数GIにオーバーフィッティングすることを抑止するための抑止関数であり、下記(17)式によって表される。
前記(17)式においては最適化対象のパラメータp
sの2乗和によって抑止関数E
Wが表される。なお、添え字s(s=1〜S)は同種のパラメータpの数を意味し、例えば重みW2
iが最適化対象のパラメータpとされた場合には、i(i=1〜I)がs(s=1〜S)に相当する。前記(16)式によれば、抑止関数E
Wを含む評価関数Eを最小化させることにより、パラメータp
sを0に拘束させることができる。NNにおいて重みW1
ij,W2
iの絶対値が大きくなると、出力される粒状性指数GI
NNの変動曲線の屈曲が急峻となる。このような場合、ノイズを含む異常な教師信号(サンプル粒状性指数GIsmp)の影響を受けている可能性が高い。従って、抑止関数E
Wによって重みW1
ij,W2
iを0に拘束させることにより、粒状性指数GI
NNの屈曲を平滑化し、ノイズを含む粒状性指数GIsmpに起因するオーバーフィッティングを抑止することができる。
ここで、前記(15)式においてα,βは評価関数Eにおける誤差関数E
Dと抑止関数E
Wとの重みを調整する係数(ハイパーパラメータ)であると捉えることができる。ハイパーパラメータα,βは下記(18)式と下記(19)式で与えられる。
なお、前記(18)式と前記(19)式におけるγは下記(20)式によって表される。
なお、前記(20)式のλsは、誤差関数EDを最適化対象のパラメータpsで2次微分したS行×S列のヘッセ行列(hessian matrix)の固有値である。この固有値λsはパラメータpsに関する誤差関数EDの傾き変動を反映させたものであるということができる。誤差関数EDの傾き変動が大きい場合に、ハイパーパラメータαが大きくなり、抑止関数EWが重視される。反対に、誤差関数EDの傾き変動が小さい場合に、ハイパーパラメータβが大きくなり、誤差関数EDが重視される。
すなわち、NNによって出力された粒状性指数GIが実評価による粒状性指数GIに対して急激に追従できたり、追従できなかったりする場合には、その周辺の実評価によるサンプル粒状性指数GIsmpが異常(ノイズの影響大)である可能性が高く、その場合には抑止関数EWの重みを増加させる。これにより、異常なサンプル粒状性指数GIsmpに対して無理にフィッティングすることが防止でき、平滑性の高いNNの出力を得ることができる。なお、ハイパーパラメータα,βはある程度パラメータの最適化が進んだところで、更新させることが望ましい。
以上のようにして各パラメータW1ij,b1i,W2i,b2,Iが設定できると、NNの構造が確定し、粒状性プロファイル15dの主要部を構成するNNが作成されたこととなる。次のステップS2853においては、NNに付加情報を添付する。付加情報とは、粒状性プロファイル15dがどのような条件で作成されたものかを示す情報であり、主として図14のステップS205,S210にて粒状性評価用パッチを印刷したときの印刷条件を特定するための情報である。具体的には、粒状性評価用パッチを印刷したプリンタ40の機種情報や機体情報や、ステップS210にてプリンタドライバ30が解像度変換やハーフトーン処理やマイクロウィーブ処理を行った条件が付加情報として添付される。
以上のようにして粒状性プロファイル15dが作成できると、図5のステップS75にてGI算出部1220が任意のサンプルインク量データ(CMYKlclm)を前記(5)式に適用することにより粒状性指数GIを算出することが可能となる。上述のとおりステップS75ではプロファイルデータ15b,15cが前提とする印刷条件に対応する粒状性プロファイル15dが使用されるが、各粒状性プロファイル15dのNNには付加情報が添付されているため、適切なNNを使用することができる。
なお、前記(5)式にてGIを算出することは、前記(12)〜(14)式の演算をサンプルインク量データについて順次実行することと実体的に同じことである。本実施例のようにNNを利用することにより、容易かつ正確に任意のサンプルインク量データに対応する未知の粒状性指数GIを予測することができる。また、実際にプリンタ40にて印刷した粒状性評価用パッチの実評価に基づいてNNを構築しているため、プリンタ40が有する定常的な誤差特性も加味して粒状性指数GIを予測することができる。さらに、前記(15)式にてオーバーフィッティングを抑止しているため、少ない個数の粒状性評価用インク量データであってもノイズの影響を受けにくくすることができ、印刷する粒状性評価用パッチの個数を低減させ、印刷やスキャンの手間を抑えることができる。
図20(A)は、本実施形態のNNが実評価の粒状性指数GIsmpにフィッティングされる様子を示している。基本的には粒状性指数GIは点でプロットされた実評価のサンプル粒状性指数GIの近傍を通過することとなる。ただし、前記(15)式にてオーバーフィッティングを抑止しているため、例えば、同図にて点Fで示すようなノイズの影響を受けた実評価のサンプル粒状性指数GIが学習データCDに存在する場合でも、この点Fに対するオーバーフィッティングを抑止し、滑らかな粒状性指数GIの変動を予測することができ、より真値に近い予測を行うことができる。このようなノイズのサンプル粒状性指数GIsmpが存在する場合には、誤差関数EDの傾き変動が大きくハイパーパラメータαも大きくなるため、抑止関数EWが重視されるからである。抑止関数EWが重視されれば重みW1ij,W2iの0への拘束力を増すことができ、粒状性指数GIの変動曲線の平滑性を確保することができる。
また、本実施形態においてCIELAB空間におけるプリンタガマットにて略均一に粒状性評価用インク量データが準備されているため、プリンタガマットの全域にわたって均等な密度のサンプル粒状性指数GIに対してフィッティングを行うことができる。このように、CIELAB空間にて略均一に粒状性評価用インク量データを準備した場合、必ずしも各インク量の変動に応じたサンプル粒状性指数GIの変動を把握することができないが、CIELAB空間にて略均一な粒状性評価用インク量データとは別にインク量に関するグラデーションのカラーパッチ群を評価しているため、インク量の変動に応じたサンプル粒状性指数GIsmpの変動特性をNNの学習に反映させることができる。また、2次色、3次色についてもグラデーションの粒状性評価用パッチ群を評価しているため、複数インクの混色によって生じるサンプル粒状性指数GIsmpへの交互作用も反映させた学習を実現させることができる。
さらに、グレー域および肌色域および空色域においては数多くの粒状性評価用インク量データを準備しているため、これらの色域においてフィッティングを行う実評価のサンプル粒状性指数GIの密度を増加させることができる。図21(B)はグレー域および肌色域および空色域においては実評価のサンプル粒状性指数GIの密度が増加した様子を示している。このように、実評価のサンプル粒状性指数GIsmpの密度が高いと、当該色域におけるフィッティングへのノイズの影響を抑えることができるため、当該色域についてより正確な粒状性指数GIの予測を実現することができる。
D.変形例:
D1.変形例1:
前記実施形態では、インクとしてCMYKlclmの6種類のインクを用いていたが、インクの種類としてはこれに限らず、任意の複数種類のインクを使用することができる。但し、オレンジインクやグリーンインクのように、基本インク色CMYKの2次色に相当する色を有するインクを利用すれば、再現可能な分光反射率の形状の自由度がより大きくなる点で好ましい。
D2.変形例2:
上述した第1実施形態では、測色値の色空間を複数のセルに分割し、各セルにおいて評価指数EIが最良であるサンプルを代表サンプルとして選択していた。しかし、色変換プロファイルを作成する際に用いる複数の代表サンプルを選択する方法は、これらに限らず、一般には、評価指数EIに基づいて複数の代表サンプルを選択することが可能である。例えば、測色値の色空間を複数のセルに分割せずに複数の代表サンプルを選択することも可能である。具体的には、測色値の色空間内で複数のグリッド点(ノード)を設定し、各ノードの近傍において所定の評価基準を満足するサンプルをそのノードの代表サンプルとして選択することができる。
D3.変形例3:
上述した実施形態のプロファイル選択部33については、予め利用者が選択したプロファイルを選択しHDD15から取得する構成を例として説明した。しかし、プロファイルの選択方法としては、このような例に限られない。例えば、印刷条件によってプロファイル作成時に考慮すべき指数が異なり得るので、印刷条件毎に予めいずれのプロファイルを選択すべきかを決めておき、プリンタ40での印刷時にはその印刷条件によってプロファイルを選択するように構成することが可能である。
プロファイル作成時に考慮すべき指数と印刷条件とを対応づけるためには種々の考え方を採用可能である。例えば、オリジナルの画像のコピーを実施するという印刷条件の場合、前記MIを考慮したプロファイルデータ15cを選択するのが好ましい。この選択によれば、観察条件が変化しても原画の色を忠実に再現するような印刷物を得ることができる。また、ポスター等の絵をフォトレタッチソフトウェア等で作成し、これを大量に印刷する際の試し刷りを行うという印刷条件の場合、前記CIIを考慮したプロファイルデータ15bを選択するのが好ましい。すなわち、プロファイルデータ15bを参照して印刷した印刷物は観察条件が変わっても色の見えの変化が少ないので、試し刷りの段階で色を確定すれば、大量に印刷したポスター等を配布した後において、その配布先の環境にかかわらず試し刷りにおける色と略一致することが期待される。
さらに、印刷媒体の種類、例えば、普通紙と写真用紙とではインクのにじみ具合が全く異なり、普通紙では粒状性指数を考慮してもあまり画質に変化がないなどの状況が生じ得る。そこで、印刷媒体の種類毎に考慮する指数、考慮しない指数を予め決めておけば、無駄なプロファイル作成作業を行わないようにすることができる。いずれにしても、以上のように、印刷条件によってプロファイルを選択するように構成することで、印刷条件に合致した最適の指数を用いてプロファイルデータ15b,15cを作成することが可能になる。
D4.変形例4:
上述のようにプロファイル選択部33によってプロファイルを選択する方法としては、他にも種々の方法を採用可能である。例えば、印刷する画像の種類によってプロファイルを選択しても良い。例えば、上述のようにオリジナルの画像が存在し、そのコピーを印刷する場合には、前記プロファイル前記MIを考慮したプロファイルデータ15cを選択するのが好ましい。一方、フォトレタッチソフトウェア等で作成した画像等であれば、前記CIIを考慮したプロファイルデータ15bを選択するのが好ましい。
D5.変形例5:
さらに、上述の実施形態においては、インデックス選択部126が選択する指数としても利用者の選択に従う例を説明したが、むろん利用者の選択に従う構成に限定される訳ではない。例えば、印刷条件と指数とを予め対応づけておき、インデックス選択部126が印刷条件によって指数を選択するように構成しても良いし、印刷対象の画像にオリジナルの画像が存在するか否かによって指数を選択するように構成しても良い。
D6.変形例6:
さらに、上述の図2におけるプロファイルデータ15b,15cの作成方法も前記実施形態における方法に限定されることはない。例えば、プロファイル生成部140において、滑らかな階調で出力可能にするためのスムージング処理を行っても良い。このスムージング処理では、上述のインクプロファイル142からスムージングされたインクプロファイル144を作成する。このために、前記第1実施形態における処理と同様の処理により、図3のステップS35までを実施し、代表サンプルを選択する。この後、ステップS40,S45は実施せず、代わりにCIELAB測色値とインク量とを対応付けてインクプロファイル142を作成する。上述のようにセルは163個あるので、インクプロファイル142に登録される代表サンプルは163個以下である。
一般的なプリンタで使用するプロファイルデータ15b,15cにおいては、各プロファイルで規定するインク量のサンプル数やサンプルの色が前記代表サンプルと必ずしも一致しない。そこで、任意のインク量に対応する測色値は代表サンプルを参照して補間演算を実施する必要がある。補間演算として等間隔補間、不当間隔補間いずれを採用するにしても、代表サンプルがCIELAB空間で不規則に配置されていると、補間演算の精度が悪くなる。補間演算の精度が悪いと、プロファイルデータ15b,15cにおける各プロファイルで色変換を実施する際の変換精度も悪く、このプロファイルデータ15b,15cにおける各プロファイルを利用した印刷で高画質の印刷結果を得ることができない。
そこで、インクプロファイル142に対してスムージング処理を行い、高精度に補間演算を実施可能な代表サンプルを選びなおしてスムージングされたインクプロファイル144を作成する。図22は、一実施例におけるスムージング処理を説明する説明図である。この実施例では、インクプロファイル142に記述された測色値をCIELAB空間内の格子点と考え、この格子点の配置がCIELAB空間で平滑化されているか否かを評価する平滑程度評価指数SEIを定義する。
ここで、配置の平滑程度とは、空間中に複数の格子点が並んでいるときの歪みの程度である。例えば、色空間内に格子点が立方格子状に並んでいる場合には歪みがないが、各格子点が立方格子点位置からずれると格子としては歪みが大きくなる。また色空間内に格子点が均等に並んでいるほど平滑程度が高いと言えるし、色空間内で隣り合う格子点を結ぶ曲線であって当該色空間に形成される色域の一方の境界から他方の境界に向けて引かれる曲線を考えたときに、この曲線が高次関数で記述されるほど平滑程度が低いと言える。
一般に、各色空間で整然と並んでいる格子点の方がその間に位置する色を補間演算によって算出する際に空間の局所的位置によって補間精度を大きく変動させることなく補間を行うことができる。従って、スムージングによって格子点位置を最適化することで、インクプロファイルを参照して補間を実施する際の補間精度を高くすることができる。なお、スムージングによって最適化を行う格子点を最適化対象の格子点とも呼ぶ。
SEIにおいてはその値によって配置の平滑程度を示すことができれば良く、その値を理想値に近づけるようにすることによって評価を向上させる。図22に示す一実施例では、スムージング対象の測色値の格子点(最適化対象の格子点)の位置を示す位置情報を定義し、当該位置情報を変数とする関数としてSEIを定義する。また、格子点配置の平滑程度が高くなるほど値が小さくなる関数としてSEIを定義する。このような定義によれば、SEIの極小を与える測色値を探索することによって格子点配置を最適化することができる。この探索に際しては、種々の手法を採用可能である。例えば、準ニュートン法や共益勾配法等種々のアルゴリズムを採用することができる。
図23は、この実施例における処理手順を示すフローチャートである。プロファイル生成部140はスムージング処理を実施するにあたり、ステップS300で上述の位置情報を定義する。図24は、位置情報を定義する際の例を示している。インクプロファイル142においては、複数の測色値が記述されており、この測色値をCIELAB空間にプロットすると図24の右側に示すような色域を形成する。なお、測色値は離散的な値の集まりであるが、図24においてはプロットされた測色値の中で最も外側の格子点が形成する色域の外面を示している。また、各頂点WKRGBCMYはそれぞれ白、黒、赤、緑、青、シアン、マゼンタ、黄を示し、無彩色W,Kではそれぞれ最高明度と最低明度の色に相当し、有彩色RGBCMYではそれぞれの色における最高彩度の色に相当する。
位置情報は、CIELAB空間の各格子点を一義的に特定するとともに、周囲の隣接格子点との相対的な位置関係を把握できるように定義する。一実施例では3つの変数(Pr,Pg,Pb)について、0≦Pr≦R方向の格子点数−1,0≦Pg≦G方向の格子点数−1,0≦Pb≦B方向の格子点数−1と定義する。ここで、R方向の格子点数とは、図22の右側に示す色域において、ブラック(K)とレッド(R)とを結ぶ稜線上に位置する格子点の数である。同様にG方向の格子点数とは、図24の右側に示す色域において、ブラック(K)とグリーン(G)とを結ぶ稜線上に位置する格子点の数であり、B方向の格子点数とは、図24の右側に示す色域において、ブラック(K)とブルー(B)とを結ぶ稜線上に位置する格子点の数である。
3つの変数(Pr,Pg,Pb)の初期値は整数とする。ここで、位置情報(Pr,Pg,Pb)を3次元直交空間にプロットすると図22の左側に示すように略立方体の格子を形成する。なお、図24の左側では直線の交点が位置情報(Pr,Pg,Pb)の初期値に相当する。また、図24に示す格子点の数は一例である。以上のように位置情報を定義した上で、上述のCIELAB空間の各格子点と対応づければ、各格子点の位置および周囲の隣接格子点との相対的な位置関係を把握することが可能になる。
そこで、図24の左側に示す略立方体の外面が図24の右側に示す色域の外面に相当すると考えて位置情報とCIELAB空間の各格子点とを対応づける。例えば、色域の外面WMBC(外面P1)は、図24の左側では位置情報Pbを最大値に固定し、位置情報Pr,Pgを任意の値として形成される外面P1’に相当する。そこで、外面P1上の頂点Bに相当する格子点と外面P1’上の頂点Bに相当する格子点(Pbが最大値,Pr=Pg=0)に対応づけるなどして、外面P1上の格子点と外面P1’上の位置情報とを対応づける。
同様に、色域の外面P1より内側に曲面P2を考え、外面P1に存在し、かつ曲面P2に近い格子点を抽出すれば、図24の左側に示す立方体内の平面P2’上の位置情報と対応づけることができる。同様の作業によって、色域内の全ての格子点と位置情報とを対応づけることができる。以上のように格子点と位置情報とを対応づけることができれば、位置情報により任意の格子点の位置を特定することができる。
例えば、隣接する2つの格子点の位置情報がそれぞれ(Pr0,0,0),(Pr1,0,0)であったとき、これらの格子点の間の任意の位置はPr0〜Pr1の間の任意の値Pr2によって(Pr2,0,0)と表現される。むろん、上述の位置情報の定義は一例であり、CIELAB空間の各格子点を一義的に特定し、周囲の隣接格子点との相対的な位置関係を把握することができれば他の手法で位置情報を決定しても良い。なお、一つの面上に存在する格子点の数は((インクプロファイル142に記述された全ての測色値の数)1/3)2などによって決定しても良い。
色域内の全ての格子点と位置情報とを対応づけたら、ステップS305にてSEIを定義する。図22に示す一実施例では、最適化対象の格子点からその格子点に隣接する隣接格子点へ向けたベクトルであって互いに略逆向きのベクトルの和の絶対値を含む関数でSEIを定義する。このSEIは、最適化対象の格子点が属するCIELAB空間の部位毎に異なる関数形とすることができる。一実施例では、色域の部位毎に異なる関数形とする。なお、関数のより具体的な例は後述する。
SEIを定義したら、図23のステップS310〜S350の処理によって最適化処理を行う。ステップS310では、前記インクプロファイル142に記述されたサンプルから最適化対象の格子点を一つ抽出する。初期ルーチンにおいてはインクプロファイル142に記述されたインク量データおよびこのインク量データに対応する測色値自体を最適化対象とする。ステップS315では、インクプロファイル142に記述された測色値の中から、前記最適化対象のLab格子点の周囲に存在するとともに当該格子点に隣接する格子点に相当する測色値を抽出する。なお、ここで抽出される測色値は、SEIの関数形によって異なっており、詳細は後述する。また、隣接格子点が既に最適化されている場合は、最適化後の格子点の測色値を抽出する。
ステップS320では、前記最適化対象の格子点およびその隣接格子点を利用してSEIを算出する。SEIの変数は前記位置情報である。従って、最適化対象の格子点およびその隣接格子点の位置情報によってSEIを算出することができる。また、SEIは最適化対象の格子点の配置が平滑化されるほど値が小さくなる関数であるので、最適化対象の格子点の位置情報を更新して最適化対象の格子点位置を変動させることにより最適な格子点位置を探索することができる。そこで、ステップS325では、SEIの値が所定の閾値以下になっているか否かを判別する。すなわち、SEIの値が所定の閾値以下になっているときに格子点の位置が最適化(充分に平滑化)されたと判別する。
また、ステップS325で格子点の位置が最適化されていないと判別されたときには、ステップS330にて位置情報を更新する。すなわち、最適化対象の格子点の位置情報を変数とし、準ニュートン法や共益勾配法等によってSEIを極小化する位置情報を算出してこれを新たな位置情報とする。位置情報が更新されると、ステップS335にてインクプロファイル142を参照し、当該位置情報に対応するインク量データを算出する。すなわち、更新後の位置情報から測色値を算出し、この測色値に対応するインク量データをインクプロファイル142から算出する。
このようにして、更新後の位置情報に対応する測色値およびインク量データを算出したら、前記ステップS315以降の処理を繰り返す。なお、繰り返し処理においては、ステップS330で更新した測色値と更新後の位置情報とを対応づけてステップS315以降の処理を繰り返してもよいし、図22に示すようにインク量データを前記コンバータ100に入力し、得られた結果から測色値を計算し、この測色値と更新後の位置情報とを対応づけてステップS315以降の処理を繰り返しても良い。また、ステップS330における更新においては、インクプロファイル142を参照してインク量データを算出するので、このインク量データにおいては上述のCIIおよびGIが小さいという性質を維持している。従って、更新後のインク量データで印刷を行ったとしても色の見えの差が小さく、粒状性を感じにくいという性質は維持される。
図22に示す破線の矩形は、ある関数形のSEIについて最適化処理を実施する様子を示している。左側の矩形は最適化前であり、右側の矩形は最適化後である。各矩形では、黒丸で最適化対象の格子点を示し、白丸で隣接格子点を示している。また、図に示す例では隣接格子点の測色値がそれぞれ(L*a*b*)1、(L*a*b*)3であり、その位置情報はそれぞれ(Pr,Pg,Pb)1,(Pr,Pg,Pb)3である。また、最適化対象の格子点の測色値が(L*a*b*)2であり、その位置情報は(Pr,Pg,Pb)2である。
位置情報を利用すれば、図22示すベクトルa,ベクトルbのように、最適化対象の格子点からその格子点に隣接する隣接格子点へ向けたベクトルであって互いに略逆向きのベクトルを定義することができる。そこで、これらのベクトルの和の絶対値をSEIとする。上述のようにSEIを極小化すると位置情報が更新されて(Pr,Pg,Pb)2’となる。更新によってSEIが所定の閾値以下にならなければ(最適化されなければ)、この処理を繰り返す。すなわち、位置情報(Pr,Pg,Pb)2’に相当する測色値(L*a*b*)2’を算出し、この測色値によって最適化されていなければ再演算を行う。
図22に示す例では、インクプロファイル142を参照し測色値(L*a*b*)1とインク量データ(CMYKlclm)1との対応関係および測色値(L*a*b*)2とインク量データ(CMYKlclm)2との対応関係から測色値(L*a*b*)2’に対応するインク量データ(CMYKlclm)2’算出する。むろん、この補間は簡略化して示しており、更新後の測色値に近い値を有する4個以上の測色値をインクプロファイル142から抽出して補間演算を実施する。インク量データ(CMYKlclm)2’を算出したら、この値をコンバータ100に入力してその測色値を算出する。そして、得られた測色値によって上述の最適化処理を繰り返す。すなわち、再帰的に演算を行う。
図23に示すフローチャートのステップS325で格子点の位置が最適化されたと判別されたときには、ステップS340にて最適化されたサンプルのデータをスムージングされたインクプロファイル144に登録する。図22に示す例では、最適化されたと判断された時点での測色値(L*a*b*)2’およびこの測色値に対応するインク量データ(CMYKlclm)2’がインクプロファイル144に登録される。
ステップS345においては、前記インクプロファイル142に記述されたインク量データの総てについて最適化が終了したか否かを判別する。そして、ステップS345においてインク量データの総てについて最適化が終了したと判別されるまでステップS310以降の処理を繰り返す。図23のフローチャートでは、さらに、ステップS350において、予め決められた回数の補正が実行されたか否か判別する。そして、ステップS350にて所定回数の補正が実行されたと判別されるまでステップS310以降の処理を繰り返す。すなわち、所定回数の補正を実行することによって最適化処理の結果が真の解になるようにしている。
むろん、格子点の配置が色域全体に渡って充分に最適化されていればよいので、ステップS350においては総てのインク量について前記SEIの値やその平均値が所定の閾値以下になっているか否かを判別しても良い。また、SEIの値の平均値が(n−1)回目の補正とn回目の補正と略一定の場合に充分に最適化されたとしても良く種々の構成を採用可能である。以上のようにして充分に格子点配置が平滑化された後には、前記インクプロファイル144に記述した測色値についてのスムージングが完了している。
次に、ステップS315〜S335におけるSEIによる最適化処理の具体的な例について詳述する。図25は、インクプロファイル142に記述された測色値が形成する色域の模式図である。色域は同図に示すようにCIELAB空間中でいびつな形をしている。この色域はいびつな形であるが、その色域境界は上述の位置情報(Pr,Pg,Pb)が形成する立方体の境界と容易に対応づけることができる。すなわち、当該立方体の境界は立方体の外郭を形成する12本の稜線および6個の外面であるが、図25に示す色域においてもその境界は12本の稜線および6個の外面にて構成される。より具体的には、位置情報(0,0,0)からPb軸上の稜線に沿ってPb成分のみを0より大きな可変値としてPr,Pg成分を最小値に固定したとき、この位置情報に対応する格子点は図25にてGs1と示した稜線上にある。
同様に、位置情報が形成する立方体で一番上の面においてその頂点の色はそれぞれBWCMである。この面上の位置情報はPb成分のみを最大値に固定し、他の成分を任意に変化させることによって表現することができ、この面上の色は図25に示す色域ではGs2と示した面上にある。従って、前記位置情報のいずれか1つでも最大値あるいは最小値であればその色は色域境界上にあるといえる。この色域境界上の色について前記最適化の際にCIELAB空間内を自由に移動可能であるとすれば、充分に大きな色域の大きさを確保できなくなるおそれがある。そこで、本実施形態においては色域の大きさを維持するために、色域境界に形成される12本の稜線と6個の外面と色域内部とで関数形が異なるSEIを取得する。
図26は、CIELAB空間中で色域境界に形成される稜線上の格子点を最適化するためのSEI(SI1)を説明する説明図である。同図において破線で示す曲線は色域境界に形成される稜線を示している。また、最適化対象の格子点は黒丸で示し、その周囲の格子点は白丸で示している。色域の大きさを維持するためには黒丸で示す最適化対象の格子点が破線で示す稜線上に存在する必要がある。そこで、本実施形態ではステップS310にて最適化対象として図26に示すように破線の稜線上に存在する格子点を抽出したときに、ステップS315では、当該最適化対象の格子点に隣接しかつ破線で示す稜線上に存在する格子点を抽出する。
同図においては、最適化対象の格子点をベクトルL
pとして示しており、隣接格子点として抽出される格子点をベクトルL
a1,ベクトルL
a2として示している。ここで、ベクトルL
pは以下に示す式(21)によって算出され、前記位置情報(Pr,Pg,Pb)を変数として表現される。
また、同式内のfは位置情報(Pr,Pg,Pb)から、ベクトルLpを求める関数であり、位置情報(Pr,Pg,Pb)に対応する測色値を算出する際の式を関数fとしている。すなわち、最適化対象の格子点を示す位置情報を変数とし、隣接する格子点の位置情報を固定する。固定した位置情報に対応する格子点の測色値は既知であるので、当該固定した位置情報と変数の位置情報との相対関係から変数の位置情報に相当する測色値を補間することができる。この関係を示した関数がfである。
SEIはこのベクトルL
pおよびベクトルL
a1,ベクトルL
a2を利用し、以下に示す式(22)によって算出する。
すなわち、最適化対象の格子点とその両側で隣接する格子点との距離がそれぞれ等しく、向きが正反対であるときに値が最小になり、これらの距離で差異が大きく、向きが正反対からずれるほど関数の値が大きくなるようにしてある。
格子点が均等に配置されると格子点配置が平滑化される傾向にあるので、式(22)に示すSI1を極小化することによって図26の右側に示すようにベクトルLpの格子点位置を最適化したベクトルL'pを取得することができる。また、ベクトルLp,ベクトルLa1,ベクトルLa2は位置情報(Pr,Pg,Pb)によって表現されるが、SI1においてはベクトルLa1,ベクトルLa2を与える位置情報は固定であり、ベクトルLpを与える位置情報(Pr,Pg,Pb)であって、そのうちいずれか一つのみを可変にするとともに他の二つを最小値あるいは最大値に固定している。例えば、図26に示す破線の稜線上の色はBとKの間に存在し、この色に相当する格子点を特定する位置情報Pr,Pgは最小値であるとともに位置情報Pbは任意の値である。そこで、CIELAB空間内の格子点をこの稜線上で移動させるためには、位置情報Pr,Pgを最小値に固定し、Pbを可変にすればよい。
色域境界の他の稜線についても同様であり、最適化対象の格子点が色域境界上でKからRの稜線上に存在するときには、位置情報Pg,Pbを最小値に固定し、Prを可変にする。最適化対象の格子点が色域境界上でKからGの稜線上に存在するときには、位置情報Pr,Pbを最小値に固定し、Pgを可変にする。さらに、最適化対象の格子点が色域境界上でWからCの稜線上に存在するときには位置情報Pg,Pbを最大値に固定してPrを可変とし、最適化対象の格子点が色域境界上でWからMの稜線上に存在するときには位置情報Pr,Pbを最大値に固定してPgを可変とし、最適化対象の格子点が色域境界上でWからYの稜線上に存在するときには位置情報Pr,Pgを最大値に固定してPbを可変にする。
さらに、最適化対象の格子点が色域境界上でMからRの稜線上に存在するときには位置情報Prを最大値,Pgを最小値に固定してPbを可変とし、最適化対象の格子点が色域境界上でMからBの稜線上に存在するときには位置情報Pbを最大値,Pgを最小値に固定してPrを可変とし、最適化対象の格子点が色域境界上でCからGの稜線上に存在するときには位置情報Pgを最大値,Prを最小値に固定してPbを可変とし、最適化対象の格子点が色域境界上でCからBの稜線上に存在するときには位置情報Pbを最大値,Prを最小値に固定してPgを可変とする。
最適化対象の格子点が色域境界上でYからRの稜線上に存在するときには位置情報Prを最大値,Pbを最小値に固定してPgを可変とし、最適化対象の格子点が色域境界上でYからGの稜線上に存在するときには位置情報Pgを最大値,Pbを最小値に固定してPrを可変とする。以上のように、最適化対象の格子点の位置によって変動させる位置情報を適宜変化させてSEIを極小化すると、その時点でのSI1を極小化させる位置情報が算出され、この処理を繰り返すことによって格子点位置を最適化したベクトルL'pを取得することができる。
図27は、CIELAB空間中で色域の境界に形成される外面上の格子点を最適化するためのSEI(SI1)を説明する説明図である。同図において破線は格子点同士を結ぶ直線である。これらの格子点は色域境界の外面上に存在するので、紙面奥側あるいは手前側の一方のみに他の格子点が存在することになる。また、最適化対象の格子点は黒丸で示し、その周囲の格子点は白丸で示している。色域の大きさを維持するためには白丸および黒丸で示す格子点が存在する外面に対して最適化対象の格子点が垂直方向に大きく動くことは許されない。そこで、本実施形態ではステップS310で最適化対象として図27に黒丸で示す色域境界の外面上に存在する格子点を抽出したときに、ステップS315では当該最適化対象の格子点に対して4方で隣接しかつ色域境界の外面上に存在する4個の格子点を抽出する。
同図においても最適化対象の格子点をベクトルL
pとして示しており、隣接格子点として抽出される格子点をベクトルL
a1〜ベクトルL
a4として示している。ここで、ベクトルL
pは前記式(21)によって算出され、前記位置情報(Pr,Pg,Pb)を変数として表現される。色域境界の外面上に存在する格子点を最適化するためのSEIは、ベクトルL
pおよびベクトルL
a1〜ベクトルL
a4を利用し、以下に示す式(23)で表現される。
すなわち、最適化対象の格子点から互いに逆向きのベクトルの距離が等しく、方向が正反対に近いほどSEIの値が小さくなるようにしてある。
隣接する格子点を結ぶ線(図27ではベクトルLa1〜ベクトルLp〜ベクトルLa2が示す格子点を通る線等)が直線に近く、また格子点が均等に配置されるほど格子点配置が平滑化される傾向にあるので、式(23)に示すSI2を極小化することによって図27の右側に示すようにベクトルLpの格子点位置を最適化したベクトルL'pを取得することができる。
また、ベクトルLp,ベクトルLa1〜ベクトルLa4は位置情報(Pr,Pg,Pb)によって表現されるが、SI2においてはベクトルLpを与える位置情報(Pr,Pg,Pb)であって、そのうちいずれか二つのみを可変にするとともに他の一つを最小値あるいは最大値に固定している。例えば、図25に斜線で示す色域境界の外面WMBC上の色に相当する格子点の位置情報Pbは最大値であるとともに位置情報Pr,Pgは任意の値である。そこで、CIELAB空間内の格子点を外面WMBC上で移動させるためには、位置情報Pbを最大値に固定し、Pr,Pgを可変にすればよい。
色域境界の他の外面についても同様であり、色域境界の外面MRKB上で格子点を移動させるためには、位置情報Pgを最小値に固定し、Pr,Pbを可変にすればよい。色域境界の外面RYGK上で格子点を移動させるためには、位置情報Pbを最小値に固定し、Pr,Pgを可変にすればよい。
さらに、色域境界の外面YWCG上で格子点を移動させるためには、位置情報Pgを最大値に固定し、Pr,Pbを可変にすればよい。色域境界の外面WYRM上で格子点を移動させるためには、位置情報Prを最大値に固定し、Pg,Pbを可変にすればよい。色域境界の外面CGKB上で格子点を移動させるためには、位置情報Prを最小値に固定し、Pg,Pbを可変にすればよい。以上のように、最適化対象の格子点の位置によって変動させる位置情報を選択してSI2を極小化すると、その時点でのSEIを極小化させる位置情報が算出され、この処理を繰り返すことによって格子点位置を最適化したベクトルL'pを取得することができる。
図28は、CIELAB空間中で色域境界以外の内部に存在する格子点を最適化するためのSEI(SI3)を説明する説明図である。同図における破線は色域を2方向に切断した場合に形成される面上に存在する複数個の格子点同士を結ぶ直線である。また、最適化対象の格子点は黒丸で示し、その周囲の格子点は白丸で示している。本実施形態にて色域内部の格子点については色域の大きさを維持するための条件を課することなく自由に移動させる。そこで、本実施形態ではステップS310にて最適化対象として図28に黒丸で示す色域の内部に存在する格子点を抽出したときに、ステップS315では、当該最適化対象の格子点に対して6方で隣接する6個の格子点を抽出する。
同図においても最適化対象の格子点をベクトルL
pとして示しており、隣接格子点として抽出される格子点をベクトルL
a1〜ベクトルL
a6として示している。ここで、ベクトルL
pは前記式(20)によって算出され、前記位置情報(Pr,Pg,Pb)を変数として表現される。色域の内部に存在する格子点を最適化するためのSEIは、ベクトルL
pおよびベクトルL
a1〜ベクトルL
a6を利用し、以下に示す式(24)で表現される。
すなわち、ここでも最適化対象の格子点から互いに逆向きのベクトルの距離が等しく、方向が正反対に近いほどSEIの値が小さくなるようにしてある。
隣接する格子点を結ぶ線(図28ではベクトルLa1〜ベクトルLp〜ベクトルLa2が示す格子点を通る線等)が直線に近く、また格子点が均等に配置されるほど格子点配置が平滑化される傾向にあるので、式(24)に示すSI3を極小化することによって図28の右側に示すようにベクトルLpの格子点位置を最適化したベクトルL'pを取得することができる。
また、ベクトルLp,ベクトルLa1〜ベクトルLa6は位置情報(Pr,Pg,Pb)によって表現され、SI3においてはベクトルLpを与える位置情報(Pr,Pg,Pb)の総てを可変にしている。以上のように、位置情報を変動させてSI3を極小化すると、その時点でのSEIを極小化させる位置情報が算出され、この処理を繰り返すことによって格子点位置を最適化したベクトルL'pを取得することができる。
以上の処理によりプロファイル生成部140がスムージングされたインクプロファイル144を作成すると、上述のプリンタルックアップテーブル180を作成する際の補間処理を容易にするために等間隔のルックアップテーブルを作成する。すなわち、スムージングされたインクプロファイル144では、Lab格子点配置が平滑化されているものの、格子点同士の間隔が必ずしも等間隔ではない。格子点同士の間隔が等間隔でない場合、プリンタルックアップテーブル180を作成する際に任意の補間点を補間するための格子点を探索しづらい。また、補間演算の処理自体も煩雑になる。
そこで、本実施形態では、スムージングされたインクプロファイル144について補間演算を行って格子点間隔を等間隔にする。この処理は前記図7(A)〜図7(C)に示す不等間隔補間と同様の補間演算によって実施可能である。
以上のように、等間隔のLab格子とインク量との対応関係を規定した等間隔プロファイルを作成したら、図3に示すステップS50で、前記第1実施形態と同様の処理を行う。すなわち、ガマットマッピング処理部160(図2)が、上述の等間隔プロファイルとsRGBプロファイル162とに基づいてガマットマッピングを行い、プロファイルデータ15b,15cにおける各プロファイルを作成する。このプロファイルデータ15b,15cにおける各プロファイルをプリンタに実装すれば、色彩恒常性が高い(すなわち、異なる観察条件における色の見えの変化が小さな)印刷物を作成することが可能である。さらに、上述のスムージングにより、高精度に補間を実施可能であるため、トーンジャンプのない高画質な印刷物を得ることが可能である。
D7.変形例7:
さらに、上述の色差評価指数CDIがCIIとMIであり、画質評価指数IQIがGIとTinkであることは必須ではない。すなわち、色差評価指数CDIとしてCIIとMIのいずれか一つまたは二つを選択可能に構成しても良いし、サンプル色と比較色との色の差異を示す他の指数を採用しても良い。また、IQIは画質を評価するための指数であれば、他にも種々の指数を採用することができる。例えば、色域の大きさを評価するための指数や格子点配置の平滑程度を評価するための指数等を採用可能である。
色域の大きさを評価するための指数として、より具体的な例としては、彩度((a*2+b*2)1/2)を示す指数を採用しても良い。すなわち、上述のサンプルインク量データからその測色値を計算すれば、上述の彩度を算出することができ、この彩度にマイナス符号の係数「−ki」を乗じれば、彩度が大きくなるほど評価指数EI1の値を小さくするように評価指数を定義することができる。従って、評価指数EI1ができるだけ小さな値になるようにサンプルを選ぶことにより、できるだけ彩度が大きい(色域が大きい)サンプルを選ぶことが可能になる。
格子点配置の平滑程度を評価するための指数SIとして、より具体的な例としては、平滑程度を評価するための指数SIを除いた評価指数で一旦サンプルを選択し、さらにSIを含む評価指数を計算し直す構成を採用可能である。この実施形態は、図1に示す第1実施形態とほぼ同様の構成によって実現可能であるが、SIを評価する前に、前記(1)式の第2項にSIを含めない形で評価指数EI1を算出し、初期サンプルセットを選択する。そして、これらの初期サンプルセットに対して、ガウス関数(Gaussian function)によってスムージングを行い、各セルについてスムージング対象の初期サンプルとスムージング後のサンプルとの距離を算出し、SIとする。
具体的には、図29に示すフローチャートに沿って処理を行う。すなわち、前記第1実施形態と同様の処理により、評価指数算出部120でSIを含まない評価指数を算出し、ステップS360では、サンプル選択部130が(1)式を最小化するサンプルを選択し、これを初期サンプルセットとする。これらの初期サンプルセットはステップS365以降の繰り返し処理における初回のばかし対象となる。すなわち、この繰り返し処理では、CIELAB空間において3次元ガウス関数(Gaussian function)によるぼかし処理が行われる。
すなわち、インク量データに乗じる重みとしてCIELAB空間中の距離に応じて減衰する3次元ガウス関数を定義し、ぼかし処理対象のサンプルと他のサンプルとの距離からガウス関数によって重み係数値を算出する。そして、ぼかし処理対象のサンプルのインク量に対して、他のサンプルのインク量に重み係数値を乗じた値を足し合わせ、全サンプルによる規格化を行う。これにより、サンプルのインク量の変化が滑らかになる。ステップS370では、色域外にてインク量が“0”に落ち込むことを防止するためにスケーリング処理が実施される。すなわち、各インク量データは各色のインク量データの最大値によって除される。このスケーリング処理はスムージング処理における繰り返しにおいてガマット内のインク量が低減してしまうことを防止するために実施される。
ステップS375では、以下の(25)式によって、各インク量データについて前記ぼかしがなされる前のインク量格子点とぼかしがなされた後のインク量格子点との距離を算出し、SIとする。
ここで、インク量格子点は各インク成分によって形成される6次元空間内の格子点である。また、(25)式において、inkはインクの色を識別する符号であり、Ainkはぼかし処理がなされる前のインク量データ、Ablurredはぼかし処理がなされた後のインク量データを示している。
このSIは、ぼかし前後でのインク量の変化を示しており、各サンプル同士で比較することによって元のサンプルのインク量とぼかし後のインク量とがどの程度近いのかを評価することができる。ここで、SIが小さいほど、インク量の差が小さいと考えることができるので、SIが小さいサンプルはインク量のバラツキが小さく、滑らかであると考えることができる。そこで、ステップS380では、評価指数算出部120で総てのサンプルにつき上述のCIIとGIとSIとを算出し前記(1)式によって評価指数を算出する。この式によれば、各セル内でSIとCII,GIとがともに小さなサンプルインク量データを選択することが可能になる。
なお、ステップS385に示すように上述のステップS555〜S570を所定回数繰り返す。この繰り返し処理において、前記(1)式で選択されたインク量データは3次元ガウス関数によってぼかし処理が施される。そして、サンプル選択部130は以上のような繰り返し処理の最後で算出された(1)式に基づいて、各セル内でもっとも評価指数が小さなサンプルを選択し、これをスムージングされたサンプルとする。プロファイル生成部140は、ステップS390において、このサンプルに基づいてインクプロファイル142を算出し、ガマットマッピング処理部160はこのインクプロファイル142と、予め準備されたsRGBプロファイル162とを用いて、プロファイルデータ15b,15cにおける各プロファイルを作成する。この変形例によれば、プロファイル生成部140において再帰演算を実施することなくスムージングされたプロファイルを作成することが可能になる。
D8.変形例8:
上述の実施形態においては、CIELAB空間を複数のセルに分割し、各セル内で最も高評価のサンプルを選択していたが、サンプルの選択方法としては、このような方法に限られない。例えば、再帰演算によって最適なサンプルインク量データを選択するように構成しても良い。図30は、このような変形例のシステム構成を示すブロック図である。図2に示した第1実施形態のシステムとの大きな違いは、サンプル選択部130aが基準判定部200を含む点と、サンプルデータ修正部210が追加されている点である。このシステム構成では、あるサンプルが所定の評価基準を満たさない場合には、サンプルデータ修正部210がそのサンプルインク色データを修正し、修正されたサンプルインク色データに対する評価指数EI1の算出が再度実行される。そして、評価基準を満足したサンプルを利用して、色変換プロファイルが作成される。
図31は、この変形例の処理手順を示すフローチャートである。ステップS400では、分光プリンティングモデルを作成する。このステップS400は、図3のステップS10と同じものである。ステップS405では、CIELAB空間を複数のセルに分割する。ここでは、第1実施形態のステップS16で使用されたものと同じ16×16×16個のセル分割を利用できる。
ステップS410では、インデックス選択部126が算出対象の指数を選択肢、評価指数算出部120がサンプルの良否を決定するための評価指数EI1を設定する。
ステップS415〜S430は、各セル毎に1つの代表サンプルを選択するための再帰的ルーチンである。ステップS415では、CIELAB空間内の1つのセルを処理対象(対象セル)として選択し、その対象セルにおける初期サンプルインク量データを設定する。この初期サンプルインク量データは、そのインク量データに応じて印刷されるサンプル色の測色値(L*a*b*値)が、対象セル内に存在するものである。サンプル色の測色値は、第1の観察条件(例えば標準の光D50およびCIE1931 2°観測者)で算出される。設定された初期サンプルインク量データの測色値が対象セル内に入っていない場合には、対象セル内の測色値が得られるまで初期サンプルインク量データが修正される。
なお、セルによっては、セル内の測色値を与えるようなインク量データが存在しない場合がある。例えば、高明度または低明度で彩度が高いセルの色は再現できない。このような場合には、そのセルは、処理の対象外としてその後の処理から除外される。
ステップS420では、評価指数算出部120が、初期サンプルインク量データの評価指数EI
1を算出する。ステップS420では、基準判断部200が、評価指数EI
1が予め設定された評価基準を満足するか否かを判断する。評価基準としては、例えば、以下の(26)式を用いることができる。
ここで、δは評価指数EI
1の許容上限値である。
前記(26)式を用いる場合には、評価指数EI1が許容上限値δ以下の場合に基準を満足するものと判定される。なお、1つの評価指数EI1を使用する代わりに、1つのサンプルインク量データに関して複数種類の異なる評価指数を算出し、各評価指数がそれぞれの評価基準をすべて満足する場合に、そのサンプルインク量データが基準を満足すると判断するようにしてもよい。
初期サンプルインク量データが評価基準を満足しない場合には、ステップS430においてサンプルデータ修正部210が初期サンプルインク量データを修正する。このとき、修正後のサンプルインク量データに関しては、以下のようないくつかの制限条件を付けることが好ましい。
(制限条件1):修正後のサンプルインク量データで与えられる測色値が、対象セル内にある。
(制限条件2):修正後のサンプルインク量データで表されるインク量が、インクデューティ制限値を満足する。
制限条件1は、対象セルに対する代表サンプルを求めるために必要な条件である。制限条件2は、修正後のサンプルインク量データが、現実の印刷に使用できるインク量を表すことを保証するための条件である。なお、インクデューディ制限値とは、印刷媒体上の単位面積当たりに吐出可能なインク量であり、インクの滲みを考慮して印刷媒体の種類毎に予め設定される。通常のインクデューティ制限値は、各インクのインク量の最大値と、全インクの合計インク量の最大値とを含んでいる。なお、前記制限条件1,2以外の制限条件を追加するようにしてもよい。
こうしてサンプルインク量データが修正されると、修正されたサンプルインク量データを用いて上述したステップS420,S425の処理が再度実行される。こうして、ステップS420〜S430の処理が再帰的に実行され、評価基準を満たすサンプルが、その対象セルに対する代表サンプルとして選択される。なお、ある対象セルに関する再帰的処理を所定回行っても評価基準を満足するサンプルが得られない場合も考えられる。この場合には、その対象セルに関してそれまで調べられた複数のサンプルの中で、最も評価基準に近いサンプル(最も評価指数の良いサンプル)を代表サンプルとして選択してもよい。あるいは、その対象セルに関しては代表サンプルを選択しないものとしてもよい。
ステップS435では、すべてのセルに関する処理が完了したか否かが判断され、完了していなければステップS415に戻り、次のセルに関する処理を開始する。こうして、すべてのセルに関して処理が終了すると、ステップS440において、選択された代表サンプルを用いてスムージングされたインクプロファイル144およびプロファイルデータ15b,15cにおける各プロファイルが作成される。このステップS440の処理は、図3のステップS40〜S50と同じものである。むろん、ここで、上述のスムージング処理を実施しても良い。
このように、変形例8では、所定の測色値の色空間(前記の例ではCIELAB色空間)を複数のセルに分割し、所定の評価基準を満足する代表サンプルを各セル毎に再帰的に追求し、これらの代表サンプルを用いてプロファイルを作成する。従って、第1実施形態に比べて、1つもサンプルを含まないセルの数を低減することができる。この結果、より広い色域を有するプロファイルデータ15b,15cを得ることができる。また、色再現特性の点でもより優れたプロファイルデータ15b,15cを得ることが可能である。
D9.変形例9:
また、上述のスムージング処理も一例であり、スムージング処理を行うことによって高精度に色変換実施可能なプロファイルを作成できる限りにおいて、他にも種々の構成を採用することができる。前記SEIにおいてはCIELAB空間での格子点配置の平滑程度が低下したときに値が大きくなるような関数を採用すれば良く、上述の関数の他、種々の関数を採用することができる。例えば、前記SI2,SI3においては、格子点が立方格子を形成するとしたときにベクトルが直交するような格子点のみを最適化対象の周囲の格子点として抽出していたが、このような選び方が必須という訳ではなく、例えば、図27のベクトルLa5,ベクトルLa6のように格子点が立方格子を形成するとしたときに対角位置にあるような格子点を含めてSEIとしても良い。このような対角位置にある格子点は、位置情報が形成する格子点においても対角位置にあり、特に上述の位置情報が形成する立方体のKWを結ぶグレー軸は格子点の対角方向に該当する。従って、対角位置にある格子点についても配置の平滑程度が向上すると、モノクロ出力時にトーンジャンプが発生することを防止することができる。
D10.変形例10:
上述の実施形態においては互いに逆向きのベクトルの和をとることによって平滑程度の高い格子点配置でSEIの値が小さくなるようにしていたが、むろん、他の構成を採用しても良い。例えば、格子点間の相対位置関係が類似しているか否かを評価する関数であっても良い。具体的には、図27においてベクトルLa5−ベクトルLa4とベクトルLa1−ベクトルLpとの差をとると両ベクトルの差ベクトル、すなわち(ベクトルLa5−ベクトルLa4)−(ベクトルLa1−ベクトルLp)が得られるが、当該差ベクトルの値が小さいほど格子点間の相対位置関係が類似していると言える。従って、ベクトルLa1−ベクトルLpと隣接する格子間ベクトルとの差をとって足し合わせることによって配置の平滑程度を評価するSEIを取得することができる。
D11.変形例11:
上述のSEIでは、最適化対象の格子点を中心に互いに逆向きのベクトルの差をとり、それぞれの差を加え合わせていた。すなわち、CIELAB空間で全格子点が均等になる状態を理想としていた。しかし、インクプロファイル142に記述された測色値が形成する格子点が元々不均等であったり、意図的にCIELAB空間中の格子点間隔を不均等にしたい場合には、SEIを変更しても良い。このように格子点を不均等にしたときに最適であるとする例としては、SEIに式(27)のように重み変数を設けることで対処することが可能である。
ここで、W
1,W
2は重み係数である。
すなわち、同式(17)においてW
1>W
2であるならば、差(ベクトルL
a1−ベクトルL
p)の大きさが(ベクトルL
a2−ベクトルL
p)の大きさより小さい状態でSI
1の値を小さくすることができ、最適化対象の格子点が一方の格子点に近い状態が最適状態であるとすることができる。なお、重み係数としては種々の態様を採用可能であるが、格子点配置を不均等間隔にする場合に例えば式(28)によって決定することができる。
ここで、D
1とD
2は位置情報が形成する空間において位置情報で特定される格子点間の距離である。すなわち、D
1はベクトルL
a1を与える位置情報の格子点からベクトルL
pを与える位置情報の格子点までの距離であり、D
2はベクトルL
a2を与える位置情報の格子点からベクトルL
pを与える位置情報の格子点までの距離である。むろん、この式(27)は一例であり、他にも重みを設けたSEIを設計することで、CIELAB空間中の格子点間隔を制御したり、特定の意図に従って、CIELAB空間中で局部的に格子点の密度を多くすることが可能となる。さらに、前記SI
2,SI
3の場合も同様に重みを設けることで、容易に格子点間隔を制御することが可能となる。
なお、重みを設けたSEIを設計することでCIELAB空間中の格子点間隔を制御する構成は、インク特性に応じて格子点間隔を不均等にする場合、すなわち、インク記録率が大きくなると濃度の変化度合が小さくなるというインク特性を考慮して低インク記録率で格子点を多くする場合に特に有用である。さらに、重みを設けたSEIを設計することでCIELAB空間中で局所的に格子点の密度を多くする構成は、局所的に色変換精度を高くしたい場合等に特に有用である。
D12.変形例12:
さらに、前記実施形態においては、CIELAB空間中の色域の部位毎に別個の隣接格子点を抽出して最適化対象の格子点配置をスムージングしているので、SI1〜SI3のそれぞれによって最適化される各格子点同士に関連がない。そこで、各部位毎に別個のSEIで格子点を最適化しつつ各部位の境界においても配置の平滑程度が高くなるように重み付け演算をしてもよい。
上述のSI
1,SI
2では位置情報(Pr,Pg,Pb)のいずれか一つまたは二つを固定していたが、SI
3では位置情報(Pr,Pg,Pb)の三つとも可変であるので、色域境界付近では束縛条件が急激に変化する。また、色域の境界同士でも色域境界を形成する稜線と外面とでは束縛条件が急激に変化する。束縛条件が急激に変動すると、格子点配置を平滑化するために格子点を移動させる際の自由度および移動方向の自由度が全く異なるので、この場合に格子点配置の平滑程度の不連続が生じるおそれがある。そこで、束縛条件が急激に変化することを防止するために色域境界に近づくほど、位置情報が変動しにくくなるような重みを持った項をSEIに付加する。この構成としては例えば下記(29)式のようなSEIを採用可能である。
ここで、W
rは位置情報Prを可変にする際の重みであり、Pr
0は現在の位置情報である。同様にW
g,W
bとして位置情報Pg,Pbのそれぞれを可変にする際の重みを定義することができる。また、各重みは色域の中心付近で小さな値であり、色域の境界に近いほど大きな値となる。前記式(29)では、位置情報としてPrのみを可変とした場合の色域境界の辺について考えており、(29)式の第2項により格子点が色域境界(この場合、色域境界上に形成される稜線の端部)に近づくほど位置情報Prが変化しづらくなる。
すなわち、前記式の第2項は色域境界に近ければ近いほど、重み係数Wrの値が大きく、位置情報Prが現在位置Pr0から離れるほど当該第2項が大きくなる。従って、SI1を極小化する最適化処理において位置情報Pr,Pr0は近い値になるとともに色域境界に近いほど両位置情報が近い値となる。なお、位置情報Pgのみを可変にしたり位置情報Pbのみを可変にした場合であっても同様の考え方でSI1に第2項を付加することができる。むろん、SI2,SI3でも同様であり、SI2では位置情報のうち2つの成分が可変であるのでSEIに対して2つの項が付加され、SI3では位置情報の3つの成分が可変であるのでSEIに対して3つの項が付加される。
D13.変形例13:
また、上述のスムージング処理ではインクプロファイル142に記述された測色値を用いてCIELAB空間で格子点配置の平滑程度を検証していたが、他の色空間でスムージングを行っても良い。例えばインク量空間内で各インク量データの格子点配置を考え、この格子点配置の平滑程度を評価する評価指標を算出することにより、インク量空間でスムージングを実施することが可能になる。
D14.変形例14:
さらに、上述のスムージング処理では、ステップS35で選択された163個以下の代表サンプルを使ってスムージング処理を行っていたが、この代表サンプルを用いて代表サンプル数を増減し、あるいは代表サンプルの格子点位置を調整してスムージング処理を実施しても良い。例えば、代表サンプルに基づいて不等間隔補間を行うことによって、CIELAB空間で643個程度の格子点および対応するインク量を算出し、これらを用いてスムージングを行う。この場合、163個のサンプルについてスムージングを行う場合と比較して距離が近い格子点同士で配置の平滑程度を評価することができるので、平滑程度を向上させやすい。また、代表サンプルに基づいて不等間隔補間を行うことによって、CIELAB空間でできるだけ等間隔に配置された格子点を抽出してスムージングを実行するように構成しても良い。この場合、初期の格子点配置に歪みが少なくなるので、計算過程でローカルミニマムに達しにくくすることができ、容易にスムージング処理を行うことができる。さらに、位置情報Pr,Pg,PbとLab値とをより簡単に対応づけることができる。
D15.変形例15:
図32は変形例にかかる粒状性プロファイル15dとしてのルックアップテーブル(LUT)を模式的に示している。同図において、LUTではインク量空間における一定間隔の格子点上の粒状性評価用インク量データについて対応するサンプル粒状性指数GIsmpが記述されている。図14のステップS200においては評価色準備部1290がテストインク量セットを基本的にCIELAB空間にて均等に生成するため、対応データCDでは粒状性評価用インク量データが一定間隔の格子点には存在しない。従って、LUTを作成するにあたり、格子点上の代表インク量データを生成し、その代表インク量データに対応するサンプル粒状性指数GIsmpを学習データCDに基づく補間演算によって算出する。そして、算出されたサンプル粒状性指数GIsmpと代表インク量データとを対応づけて記述する。
LUTにおいては格子点上の代表インク量データについてのみ対応する粒状性指数GIが記述されるため、LUTとともに代表インク量データ以外の任意のサンプルインク量データについての粒状性指数GIを算出するための補間手法を準備しておく必要がある。ここでは、インク量空間における任意のサンプルインク量データとそれを取り囲む代表インク量データとの相対位置に基づく重みによって、任意のサンプルインク量データに対応する粒状性指数GIを補間する補間手法を適用することができる。インク量空間における任意のサンプルインク量データとそれを取り囲む代表インク量データとの相対位置に基づく重みは、インク量空間における任意のサンプルインク量データとそれを取り囲む代表インク量データとの距離によって把握されてもよいし、任意のインク量データを頂点とした4面体の体積等によって把握されてもよい。むろん、スプライン補間を適用することも可能である。
D16.変形例16:
さらに、学習データCDにおける粒状性評価用インク量データとサンプル粒状性指数GIsmpとの対応関係が近似式によって近似可能である場合には、近似式によって任意のインク量セットに対応する粒状性指数GIを算出することもできる。例えば、各サンプルインク量データを所定の次元の変数として有する多項式近似式によって粒状性指数GIを算出するようにしてもよい。多項式近似式は、例えば最小2乗法によって各係数や定数を最適化するようにすればよい。粒状性評価用インク量データとサンプル粒状性指数GIsmpとの対応関係がある多項式に近似できると予め判明している場合や、インクセットを構成するインクの種類が少ない場合には有効である。
D17.変形例17:
前実施形態においては、測色値空間においても粒状性評価用インク量データが略均一に分布するようにしたが、インク量空間における均一性のみに基づいて粒状性評価用インク量データを準備してもよい。この場合には、各粒状性評価用インク量データについての分光プリンティングモデルコンバータ100による測色値の検証をしなくて済むため、処理の簡略化を図ることができる。また、逆に測色値空間における均一性のみに基づいて粒状性評価用インク量データを準備することも可能である。
本願発明が詳細に記述され図示されてきたが、これらは単なる説明のための例示であり、限定として解釈されるべきではなく、本願発明の精神とスコープはクレームの用語のみによって限定されることが理解される。