(57)【要約】【課題】  補正者の熟練など人為的な要素に影響されずに、容易かつ的確に色変換テーブルを補正して、高精度の色変換を実施する色変換テーブルを作成することは困難であった。【解決手段】  所定の色空間内の色データと印刷装置で使用される各色のインク量を示すインク量データとの対応関係を規定した色変換テーブルを取得し、特定のインク量データで印刷される色の理想値を示すターゲットデータを取得し、上記特定のインク量データによって上記印刷装置でパッチを印刷し、同印刷したパッチを測色した測色値を取得し、所定の機器非依存色空間内で、上記理想値と上記測色値との差分を示す差分ベクトルの逆方向成分を持つベクトルに基づいて補正ベクトルを算出し、この補正ベクトルによって上記差分を低減するインク量データを算出し、算出されたインク量データによって上記特定のインク量データを補正する。【選択図】  図１
2005144974.tif 000002
【特許請求の範囲】
【請求項１】
所定の色空間内の色データと印刷装置で使用される各色のインク量を示すインク量データとの対応関係を規定した色変換テーブルを参照し、当該色変換テーブルに規定された特定のインク量データを補正する色変換テーブル補正装置であって、
上記色変換テーブルを示す色変換テーブルデータを取得する色変換テーブルデータ取得手段と、
上記特定のインク量データで印刷される色の理想値を示すターゲットデータを取得するターゲットデータ取得手段と、
上記特定のインク量データによって上記印刷装置でパッチを印刷させるパッチ印刷手段と、
同印刷したパッチを測色した測色値を取得する測色値取得手段と、
所定の機器非依存色空間内で、上記理想値と上記測色値との差分を示す差分ベクトルの逆方向成分を持つベクトルに基づいて補正ベクトルを算出し、この補正ベクトルによって上記差分を低減するインク量データを算出し、算出されたインク量データによって上記特定のインク量データを補正するインク量データ補正手段とを具備することを特徴とする色変換テーブル補正装置。
【請求項２】
上記パッチ印刷手段は上記インク量データ補正手段による補正後のインク量データによってパッチを印刷し、上記測色値取得手段では当該補正後のインク量データによって印刷したパッチの測色値を取得し、上記インク量データ補正手段は得られた測色値と上記インク量データ補正手段による補正後の色を示す機器非依存色空間の値との差分を示す差分ベクトルに基づいて再補正を実施し、この再補正を繰り返して実施することを特徴とする上記請求項１に記載の色変換テーブル補正装置。
【請求項３】
上記インク量データ補正手段は、上記再補正を実施するに当たりその再補正より前の補正での差分ベクトルを参照して上記補正ベクトルを算出し、上記補正を行うことを特徴とする上記請求項２に記載の色変換テーブル補正装置。
【請求項４】
上記インク量データ補正手段は、上記差分ベクトルの逆ベクトルに対して上記測色値と上記理想値との差分が小さいほど大きな重みを乗じて加え合わせて上記補正ベクトルを決定することを特徴とする上記請求項２または請求項３のいずれかに記載の色変換テーブル補正装置。
【請求項５】
所定の機器非依存色空間内の機器非依存色データと上記インク量データとの対応関係を規定した対応関係データを取得する対応関係データ取得手段を備え、
上記インク量データ補正手段は、上記機器非依存色空間内で上記補正ベクトルによって補正後の色を決定し、上記対応関係データを参照して当該補正後の色に対応するインク量データを算出することを特徴とする上記請求項１〜請求項４のいずれかに記載の色変換テーブル補正装置。
【請求項６】
上記対応関係データは、上記色変換テーブルを作成したときに測色された色数より多数の色について上記対応関係を規定していることを特徴とする上記請求項５に記載の色変換テーブル補正装置。
【請求項７】
上記ターゲットデータは、無彩色であるとともに異なる明度を有する複数の色を印刷するためのインク量データの理想値を示すことを特徴とする上記請求項１〜請求項６のいずれかに記載の色変換テーブル補正装置。
【請求項８】
所定の色空間内の色データと印刷装置で使用される各色のインク量を示すインク量データとの対応関係を規定した色変換テーブルを参照し、当該色変換テーブルに規定された特定のインク量データを補正する色変換テーブル補正方法であって、
上記色変換テーブルを示す色変換テーブルデータを取得する色変換テーブルデータ取得工程と、
上記特定のインク量データで印刷される色の理想値を示すターゲットデータを取得するターゲットデータ取得工程と、
上記特定のインク量データによって上記印刷装置でパッチを印刷させるパッチ印刷工程と、
同印刷したパッチを測色した測色値を取得する測色値取得工程と、
所定の機器非依存色空間内で、上記理想値と上記測色値との差分を示す差分ベクトルの逆方向成分を持つベクトルに基づいて補正ベクトルを算出し、この補正ベクトルによって上記差分を低減するインク量データを算出し、算出されたインク量データによって上記特定のインク量データを補正するインク量データ補正工程とを具備することを特徴とする色変換テーブル補正方法。
【請求項９】
所定の色空間内の色データと印刷装置で使用される各色のインク量を示すインク量データとの対応関係を規定した色変換テーブルを参照し、当該色変換テーブルに規定された特定のインク量データを補正する色変換テーブル補正プログラムであって、
上記色変換テーブルを示す色変換テーブルデータを取得する色変換テーブルデータ取得機能と、
上記特定のインク量データで印刷される色の理想値を示すターゲットデータを取得するターゲットデータ取得機能と、
上記特定のインク量データによって上記印刷装置でパッチを印刷させるパッチ印刷機能と、
同印刷したパッチを測色した測色値を取得する測色値取得機能と、
所定の機器非依存色空間内で、上記理想値と上記測色値との差分を示す差分ベクトルの逆方向成分を持つベクトルに基づいて補正ベクトルを算出し、この補正ベクトルによって上記差分を低減するインク量データを算出し、算出されたインク量データによって上記特定のインク量データを補正するインク量データ補正機能とをコンピュータに実現させることを特徴とする色変換テーブル補正プログラム。
【請求項１０】
所定の色空間内の色データを印刷装置で使用される各色のインク量を示すインク量データに変換し、当該インク量データに基づいて上記印刷装置に印刷を実行させる印刷制御装置であって、
上記所定の色空間内の色データによって各画素の色を表現した画像データを取得する画像データ取得手段と、
上記所定の色空間内の色データと印刷装置で使用される各色のインク量を示すインク量データとの対応関係を規定した色変換テーブルであって、特定のインク量データについては、所定の機器非依存色空間内で、上記理想値と上記測色値との差分を示す差分ベクトルの逆方向成分をもつベクトルに基づいて算出された補正ベクトルによって上記差分を低減するインク量データを算出することによって補正が実施された色変換テーブルを参照し、上記画像データが示す各画素の色をインク量データに変換する色変換手段と、
変換後のインク量データに基づいて印刷を実行する印刷実行手段とを具備することを特徴とする印刷制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、色変換テーブル補正装置、色変換テーブル補正方法、色変換テーブル補正プログラムおよび印刷制御装置に関する。
【背景技術】
【０００２】
近年、カラープリンタとしてインクジェットプリンタやレーザプリンタなどが普及してきている。カラープリンタでは、入力カラー画像データを複数のインク量の組み合わせに変換する色変換テーブルが用いられる。色変換テーブルとしては、例えば入力カラー画像データと複数のインク量の組み合わせとを対応づけたルックアップテーブルがよく利用される。従来の色変換テーブルの作成方法では、(i)多数の入力カラー画像データに対応する機器非依存色空間での座標値を求め、(ii) 複数のインク量データによって複数のカラーパッチを印刷し、(iii) 各カラーパッチを測色して機器非依存色空間での座標値を求め、(iv) 機器非依存色空間内での各座標値の対応関係から入力カラー画像データとインク量データとの対応関係を表すルックアップテーブルを作成していた。（例えば、特許文献１参照）。
【特許文献１】特開２００２−１１８７６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述した従来の色変換プログラムでは、以下のような課題があった。
すなわち、カラーパッチを印刷、測色する作業を実施し得る現実的な数は限られており、カラーパッチが限られた数であることによって色変換誤差が生じてしまう。特に色の変化がわかりやすい色では、この色変換誤差が無視できない。例えば、印刷および測色を実施し得る現実的なパッチ数は１０3個程度であるが、色変換テーブルではこれより遙かに多数の色について対応関係を規定する。従って、これらの色の座標値は、カラーパッチの測色値を利用した補間演算等によって算出される。このような補間においては、必ず誤差が生じる。むろん、測色誤差等、種々の誤差も含んだ状態で色変換テーブルが作成される。
【０００４】
従って、色変換テーブルを参照して色変換し、印刷を行っても、入力カラー画像データが示す色に厳密に等しい色が印刷されるとは限られない。グレーなど、色の変化を認識しやすい色においては、このような差異があると高画質の印刷を実施できない。このような差異を解消するために人為的に色変換テーブルに規定されたインク量データを補正することも考えられるが、人為的な補正では補正者の熟練が必要であるし、補正者によって精度にバラツキが生じてしまう。
本発明は、上記課題にかんがみてなされたもので、補正者の熟練など人為的な要素に影響されずに、容易かつ的確に色変換テーブルを補正して、高精度の色変換を実施する色変換テーブルを作成可能な色変換テーブル補正装置、色変換テーブル補正方法、色変換テーブル補正プログラムおよび印刷制御装置の提供を目的とする。
【課題を解決するための手段】
【０００５】
上記目的の少なくとも一つを達成するため、請求項１にかかる発明では、予め規定された色変換テーブルにつき、特定のインク量データを補正する。すなわち、インク量データを補正し、特定の色については、所定の色空間内の色データが元の色変換テーブルと異なるインク量データに変換されるようにする。この補正は、上記理想値と上記測色値との差分を示す差分ベクトルの逆方向成分をもつベクトルに基づいて算出される補正ベクトルによって実現される。すなわち、この補正ベクトルによって上記差分を低減するインク量データを算出し、算出されたインク量データで上記特定のインク量データを更新することによって補正がなされる。従って、当該補正後の色変換テーブルによって色変換を実施すると、特定のインク量データとしては、理想値と測色値との差分が非常に小さい状態で印刷を実行可能なデータが得られる。このため、非常に高精度に色変換を行って印刷を実施することが可能になる。
【０００６】
ここで、色変換テーブルデータ取得手段で取得されるテーブルは予め作成されていればよいが、取得される色変換テーブルデータは本発明による補正によって色変換の精度が向上するテーブルである。従って、全てのインク量データについて上記理想値と上記測色値とが厳密に等しくなるような色変換テーブルデータではなく、ある程度の誤差が生じ得るテーブルである。また、本発明においては、特定のインク量データについて色変換精度を向上させるため、特定のインク量データが示す色について特に高精度の色変換が要求される際に本発明を適用するのが好ましい。
【０００７】
また、色変換テーブルデータにおいては、所定の色空間内の色データをインク量データに変換可能であればよく、このために所定の色空間内の色データと印刷装置で使用される各色のインク量を示すインク量データとの対応関係を規定していればよい。従って、複数の色について上記色データとインク量データとを対応づけたデータであっても良いし、複数のパラメータに基づいて両者の関係を規定したプロファイルデータであっても良い。
【０００８】
また、所定の色空間は、印刷装置で使用されるインクの量を成分としたインク量空間と異なる表色系の色空間であればよく、印刷装置と異なる画像機器で使用する色空間や機器非依存色空間など種々の色空間を採用可能である。例えば、前者としてはディスプレイで使用するｓＲＧＢ空間やスキャナで使用するＲＧＢ空間等を採用可能であるし、後者としてはＬ*ａ*ｂ*空間やＬ*ｕ*ｖ*空間等を採用可能である。むろん、所定の色空間内の色データとしては、当該色空間内で色を特定するためのデータであればよく、各表色系における各色成分の大きさを階調表現したデータ等を採用可能である。
【０００９】
ターゲットデータにおいては、特定のインク量データで印刷される色の理想値を示すことができればよい。すなわち、色変換テーブルデータを参照した色変換によって得られるインク量データが色変換前の色と厳密に等しくなるように色変換テーブルを作成するのは困難であるが、色変換によってどのような色に変換すべきかを予め正確に決定することは可能である。そこで、本発明においては、色変換の結果として得られるべき色を理想値とし、ターゲットデータとして予め規定しておく。
【００１０】
特定のインク量データによって印刷される色は、パッチ印刷手段による印刷および測色値取得手段にて得られる測色値によって特定することができる。従って、パッチ印刷手段においては当該インク量データによって所定の面積を有するパッチを印刷させるように上記印刷装置を制御することができればよく、測色値取得手段においては測色機等で取得される測色値を取得することができればよい。
【００１１】
インク量データ補正手段においては、補正後のインク量データによる出力色がターゲットに近づくように補正を行うにあたり、所定の機器非依存色空間内で上記理想値と測色値との差分を利用する。従って、上記理想値や測色値は当該機器非依存色空間中の値として取得されることが好ましい。むろん、何らかの変換を経て機器非依存色空間中の値として取得する構成であっても良い。また、特定のインク量データを補正した後には、補正後のインク量データにて印刷した結果を測色しない限りその正確な色は分からない。しかし、所定の機器非依存色空間内で補正後の色を特定することができれば、この補正後の色に対応したインク量データであって少なくとも差分が解消される可能性が高いインク量データを予測することはできる。
【００１２】
例えば、予め所定の機器非依存色空間内の機器非依存色データと上記インク量データとの対応関係を規定しておけば、補間演算等によって当該補正後の色に対応するインク量データを予測することができる。そこで、補正後のインク量データが示す色と上記理想値との差分が解消されるように所定の機器非依存色空間内での補正後の色を決定すれば、インク量データ補正手段における補正を実施可能である。むろん、この補正においては、所定の機器非依存色空間内で上記理想値と上記測色値との差分を解消するように補正を実施することができればよく、種々の構成を採用可能である。
【００１３】
例えば、上記理想値と上記測色値とに差分が存在するのであるから、補正ベクトルが、この差分を表す差分ベクトルに対して少なくとも逆方向の成分を有していれば、上記理想値と上記測色値との差分を解消する方向であると考えることができる。従って、このような考えのもとでは、理想値から測色値へ向けた差分ベクトルに対して少なくとも逆方向の成分を有する補正ベクトルと理想値を示すベクトルの和によって補正後の色を決定して補正を行えばよい。差分ベクトルとしては、上記理想値と測色値との差分そのものを示すベクトルの他、そのスカラー定数倍のベクトルを採用可能である。尚、上記所定の機器非依存色空間としては、Ｌ*ａ*ｂ*空間やＬ*ｕ*ｖ*空間等を採用可能である。
【００１４】
むろん、この補正は、一回のみで終了することが必須というわけではない。例えば、上記インク量データ補正手段によって補正を行った後に、補正後のインク量データに基づいて上記パッチ印刷手段による印刷と測色値取得手段による測色値の取得を行えば、再度の補正を実施することができる。すなわち、補正を繰り返すことによって測色値と理想値との差分を徐々に解消し、最終的に両者が非常に近くなるようにインク量データを補正することができる。
【００１５】
また、補正を繰り返す場合の具体的な補正手法としては種々の手法を採用可能である。例えば、Ｎ回目（Ｎは自然数）の補正で得られたインク量データで印刷したパッチの測色値とその色を示す機器非依存色空間の値（Ｎ回目の補正後の値）との差分のみを考慮するのではなく、Ｎ回目の補正における差分ベクトルと、Ｍ回目（ＭはＮ−１以下の自然数）の補正における差分ベクトルとを参照して補正を実施しても良い。すなわち、Ｎ回目の補正において当該Ｎ回目の補正後の色とその測色値との差分のみを考慮している場合、当該Ｎ回目の補正でＭ回目の補正後のインク量データに非常に近い値が得られたときに、Ｎ＋１回目以降の補正で過去の補正と略同じ補正を繰り返してしまう。すなわち、何回補正しても差分が解消しない（いわゆる振動）が発生し得る。
【００１６】
しかし、Ｎ−１回目以前の補正段階での差分も参照してＮ回目の補正を実施すると、Ｎ回目の補正でＭ回目の補正後のインク量データに非常に近い値が得られたとしても、Ｎ＋１回目以降の補正ではＮ−Ｍ回分の差分が考慮されるので、Ｍ回目の補正と略同じ補正を繰り返すことはない。従って、効果的に振動の発生を防止して速やかに上述の差分を解消する補正を実施することができる。また、Ｎ回目の補正で当該Ｎ回目の補正後の色とそのインク量データについての測色値との差分のみを考慮している場合、補間誤差や測色誤差等に起因して当該Ｎ回目の補正で上記差分を増大してしまう（いわゆる発散）こともあるが、Ｎ−１回目以前の差分も参照すると、このような発散の発生も効果的に防止することができる。
【００１７】
さらに、繰り返しを行いながら補正ベクトルを決定するための具体的な手法として、差分ベクトルの逆ベクトルに対して当該差分が小さいほど補正への寄与が大きくなるように重み係数を乗じて加え合わせて補正ベクトルとしてもよい（ここで、差分ベクトルは上記測色値と上記理想値との差分を示す差分ベクトルあるいは上記インク量データ補正手段による補正後の色を示す機器非依存色空間の値とその測色値との差分ベクトルである）。すなわち、Ｎ回目の補正においてＮ−１回目以前の差分も考慮するに当たり、各補正段階での差分ベクトルの逆ベクトルを考え、各逆ベクトルに対して当該逆ベクトルの大きさが小さいほど値が大きくなる係数を乗じて線形結合する。そして、線形結合によって得られたベクトルを補正ベクトルとする。
【００１８】
このような補正ベクトルの決定によれば、各補正段階での差分のうち、小さな値の差分であるほど大きく考慮される。本発明においては、上述のように補正後のインク量データが示す色の測色値と上記理想値との差分が解消されるように所定の機器非依存色空間内で補正後の色を決定するが、この補正においては、補正後のインク量データが示す色の測色値と上記理想値との差分が小さいほど正確にインク量データを決定できる可能性が高い。例えば、予め所定の機器非依存色空間内の機器非依存色データと上記インク量データとの対応関係を示す対応関係データを規定しておき、四面体補間によって補正後の機器非依存色データからインク量データを算出する場合、差分が小さければ補正後の色と理想値とが同じ四面体内に存在する可能性が高い。
【００１９】
同じ四面体内では、機器非依存色データとインク量データとの関係が線形であるが、両者が異なる四面体にあれば四面体の境界で機器非依存色データとインク量データとの関係が非線形になり、上記差分に基づいて補正を行うに当たって差分の評価が困難になって誤差が生じやすい。従って、理想値と補正後の色の測色値とが同じ四面体内にある方が正確な補間が可能であり、差分を速やかに解消する可能性が高い。むろん、補間の正確性という意味では、四面体補間に限られず、他の補間においても差分が小さいほど正確である可能性が高いと言える。
【００２０】
すなわち、上述のような重みによる線形結合によれば、正確な補間を実施できる可能性が高いデータの差分ベクトルであるほど補正ベクトルの決定への寄与を大きくすることができる。この結果、上述のように振動や発散の発生を防止しながら、さらに速やかに差分を解消することが可能になる。さらに、このような補正ベクトルの決定においては、測色値と理想値とに基づいて補正ベクトルを決定することができる。従って、補正者の主観や技能に影響される余地がなく、補正者の熟練など人為的な要素に影響されずに、容易かつ的確に色変換テーブルを補正することが可能になる。
【００２１】
尚、上述の予測においては、上述のように対応関係データを予め規定しておくなどして実施することができるが、この対応関係データにおいては、上記色変換テーブルを作成したときに測色された色数より多数の色について上記対応関係を規定していることが好ましい。すなわち、色変換テーブルを作成したときに測色された色数より多数の色が規定されていれば、当該色変換テーブルを参照するより正確に補正後の色に対応するインク量データを算出することができる。色変換テーブルでの色変換と比較して補正後の色に対応するインク量データをより正確に算出可能であることにより、補正によって確実に色変換テーブルにおける色変換精度を向上することが可能になる。
【００２２】
また、本発明は、特定のインク量データについて補正を行うことにより、特定の色について色変換精度を向上させるものである。従って、予め作成された色変換テーブルにおける色変換精度より高精度の色変換が要求される特定の色が存在する場合に、当該特定の色あるいは特定の色に近い色に相当するインク量データを上述の特定のインク量データとする。この特定の色としては、種々の色を採用可能であり、例えば、明度が異なる複数の無彩色を当該特定の色として採用可能である。これらの色を特定の色とすれば、グレー色変換精度を向上することが可能であり、補正後の色変換テーブルによってグレーのグラデーションを非常に高画質に印刷させることが可能である。
【００２３】
尚、このような色変換精度の向上においては、無彩色であるとともに異なる明度を有する複数の色を印刷するためのインク量データの理想値を上記ターゲットデータとすればよい。むろん、特定の色としては無彩色に限られない。例えば、肌色および肌色に近い色を特定の色として、きれいな肌色で印刷を実行する色変換テーブルとしても良いし、青色および青色に近い色を特定の色として、きれいな空や海等を印刷可能な色変換テーブルとしても良い。また、赤色および赤色に近い色を特定の色として、きれいな夕日等を印刷可能な色変換テーブルとしても良いし、緑色および緑色に近い色を特定の色として、木々を含む風景等をきれいに印刷可能な色変換テーブルとしても良いなど、種々の構成を採用可能である。
【００２４】
ところで、上述した色変換テーブル補正装置は、単独で実施される場合もあるし、ある機器に組み込まれた状態で他の方法とともに実施されることもあるなど、発明の思想としては各種の態様を含むものであって、適宜、変更可能である。また、上述した理想値と測色値との差分に基づいて補正を行う手法は、所定の手順に従って処理を進めていくうえで、その根底にはその手順に発明が存在するということは当然である。したがって、本発明は方法としても適用可能であり、請求項８にかかる発明においても、基本的には同様の作用となる。本発明を実施しようとする際に、色変換テーブル補正装置にて所定のプログラムを実行させる場合もある。本発明は、そのプログラムとしても適用可能であり、請求項９にかかる発明においても、基本的には同様の作用となる。
【００２５】
むろん、請求項２〜請求項７に記載された構成を上記方法やプログラムに対応させることも可能である。また、いかなる記憶媒体もプログラムを提供するために使用可能である。例えば、磁気記録媒体や光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一部がソフトウェアであって、一部がハードウェアで実現される場合においても本発明の思想において全く異なるものではなく、一部を記録媒体上に記録しておいて必要に応じて適宜読み込む形態のものも含まれる。さらに、一次複製品、二次複製品などの複製段階については全く同等である。
【００２６】
さらに、本発明によって補正された色変換テーブルを参照して印刷を実行する請求項１０のような印刷制御装置においても本発明を利用していると言える。むろん、印刷制御装置を実現するための方法あるいはプログラムであっても本発明を利用していると言える。
【発明を実施するための最良の形態】
【００２７】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
（１）本発明の概要
（２）色変換テーブル補正装置の構成
（３）色変換テーブル補正処理
（４）スムージング処理
（４−１）評価関数Ｅn
（４−２）評価関数Ｅd
（４−３）評価関数Ｅq
（４−４）評価関数Ｅv
（４−５）評価関数Ｅi
（４−６）スムージング処理の流れ
（５）他の実施形態
【００２８】
（１）本発明の概要
図１は、本発明における色変換テーブルの補正工程を概略的に説明する説明図である。本実施形態においては、予め作成された色変換テーブルデータ（ＬＵＴ１５ａ）に対して補正を実施する。ＬＵＴ１５ａは、ｓＲＧＢ色空間におけるＲＧＢ（レッド、グリーン、ブルー）階調値を示すｓＲＧＢデータとＣＭＹＫｌｃｌｍ（シアン、マゼンタ、イエロー、ブラック、ライトシアン、ライトマゼンタ）の各インク色の階調値を示すＣＭＹＫｌｃｌｍデータ（インク量データ）との対応関係を規定している。すなわち、ＬＵＴ１５ａは、ｓＲＧＢデータで画像の色を特定した画像データを入力し、ＣＭＹＫｌｃｌｍの各色インクを搭載した印刷装置にて印刷を実行する際に参照されるルックアップテーブルデータである。
【００２９】
図１に示す例では、ｓＲＧＢデータの各成分は０〜２５５の階調値で表現され、各成分の階調値域を略１６等分し、得られた値を組み合わせて生成される階調値の組み合わせがＬＵＴ１５ａに登録されている。すなわち、ＲＧＢの各成分が、”０，１６，３２，，，，２５５”のいずれかの値を有するｓＲＧＢデータについて、その色と同じ色の出力を行わせるためのＣＭＹＫｌｃｌｍデータが対応づけられている。尚、図１に示す例ではＣＭＹＫｌｃｌｍデータにおいても、各成分を０〜２５５の階調値で表現し、各成分の階調値を組み合わせて出力色を表現する構成等を採用可能である。
【００３０】
ｓＲＧＢデータはｓＲＧＢ規格に準拠したデータであり、各ＲＧＢ値の組み合わせに対応する色は既知である。すなわち、既知の演算式等によって任意のｓＲＧＢデータをＬ*ａ*ｂ*空間等の機器非依存色空間内のデータに対応づけることができる。しかし、ＣＭＹＫｌｃｌｍデータは機器依存色であり、各ＣＭＹＫｌｃｌｍ値の組み合わせに対応する色は印刷装置の機種や印刷条件、印刷媒体等に依存する。
【００３１】
そこで、一般にはＬＵＴ１５ａを適用する対象の印刷装置、印刷条件、印刷媒体等を特定しつつＣＭＹＫｌｃｌｍデータによって複数のパッチを印刷し、測色機等によってそのＣＭＹＫｌｃｌｍデータにおける出力色を機器非依存色空間内のデータとして特定する。そして、機器非依存色空間内でｓＲＧＢデータが示す色とＣＭＹＫｌｃｌｍデータが示す色とを対応づけることにより、特定のｓＲＧＢデータと同色の色を出力するためのＣＭＹＫｌｃｌｍデータを対応付けてＬＵＴ１５ａを作成する。
【００３２】
ここで、ＬＵＴ１５ａに規定される色数は、特に限定されないが、一般には上述のようにして決定され、１７3個あるいはそれ以上であることが多い。このような膨大な数の色とほぼ同程度の色数のパッチについて印刷を実施し、測色を行うのは非常に困難な作業であり、実質的には不可能である。そこで、１７3個より少数、例えば、１０3個のパッチについて印刷を行って測色を行い、これらの測色結果から補間演算によってｓＲＧＢデータに対応するＣＭＹＫｌｃｌｍデータを算出するのが通常である。
【００３３】
しかし、このように作成したＬＵＴ１５ａにおける色変換精度には、上記補間演算による誤差、測色時の誤差等を含んでおり、非常に高精度の色変換が要求される特定の色については、このような誤差が画質低下の要因になってしまう。また、上述のようにｓＲＧＢデータが示す色は既知であるが、このｓＲＧＢデータが示す色に対して厳密に等しい色を出力するようにＣＭＹＫｌｃｌｍデータを対応づけたとしても画質としては最善といえない場合もある。例えば、印刷装置における出力色は、常に印刷媒体の地色に影響されるので、地色が青みがかっているなど特定の場合には、特定の色についてあえてｓＲＧＢデータが示す色と異なる色で印刷を行った方が好ましい印刷結果が得られる場合がある。この場合も、色変換の精度が低いと上述のようにあえて変更した目的の出力色が得られず、画像視認時に違和感を感じるなど画質低下の要因になってしまう。
【００３４】
本発明は、上述のような特定の色について高精度で所望の色に変換できるようにするためにＬＵＴ１５ａを補正するものであり、図１に示す例では、特定の色としてグレーを採用している。すなわち、ＬＵＴ１５ａに規定されたグレー（ｓＲＧＢデータにおけるＲ＝Ｇ＝Ｂのデータ、グレーデータ１５ｄ）に対応づけられたＣＭＹＫｌｃｌｍデータを補正する。本発明では、このようにグレーを示すデータの理想値をＬ*ａ*ｂ*空間で表現したターゲットデータ１５ｂを予め用意しておき、ＣＭＹＫｌｃｌｍデータの出力色がこのターゲットデータ１５ｂに規定された色に近づくように補正を実施する。尚、ターゲットデータは予め決められたＬ*ａ*ｂ*値であるが、グレーの理想値が完全に無彩色である場合には、予めＬ*ａ*ｂ*値を作成する作業を実施しなくてもｓＲＧＢデータから算出して取得することができる。
【００３５】
本発明にかかる補正においては、上述のグレーデータ１５ｄのＣＭＹＫｌｃｌｍデータでパッチを印刷し、印刷結果を測色して両者の色差ΔＥが所定の閾値αより小さくなるようにＣＭＹＫｌｃｌｍデータを補正する。すなわち、図１においては、測色値をベクトルＭ（Ｌ*ａ*ｂ*空間のベクトル），ターゲットデータのＬ*ａ*ｂ*値をベクトルＴ0として示しており、両者の差分ベクトルの大きさがα以下でなければ、ＣＭＹＫｌｃｌｍデータを補正する。
【００３６】
この補正は、ＣＭＹＫｌｃｌｍデータによって印刷されるパッチのＬ*ａ*ｂ*値が補正前後で、上記ターゲットデータ１５ｂのＬ*ａ*ｂ*値と測色値との差分を解消する方向に移動するように実施される。すなわち、ベクトルＭとベクトルＴ0とに差分が生じている場合、ＣＭＹＫｌｃｌｍデータに対応するＬ*ａ*ｂ*値をどのように変更すれば、この差分が解消するのかを予測し、差分が解消すると予測されるＬ*ａ*ｂ*を算出する。
【００３７】
Ｌ*ａ*ｂ*値を予測したら、対応関係データ１５ｃを参照して、補間演算によって予測後のＬ*ａ*ｂ*値に対応するＣＭＹＫｌｃｌｍデータを算出する。対応関係データ１５ｃは、グレーおよびその周辺の色についてＣＭＹＫｌｃｌｍデータとその測色値とを対応づけたデータであり、上記グレーデータ１５ｄより多数の色について両者が対応づけられている。
【００３８】
むろん、この対応関係データ１５ｃを参照した補間演算にも誤差は含まれるが、対応関係データ１５ｃにおいては、グレー周辺でＬＵＴ１５ａより多くの色が規定されているので、Ｌ*ａ*ｂ*に対応するＣＭＹＫｌｃｌｍデータをより高精度に算出することができる。また、本発明においては、上述のように色差ΔＥが閾値αより小さくなるまで補正が繰り返される。従って、最終的には、ＣＭＹＫｌｃｌｍデータによる印刷色とターゲットとの差が非常に小さくなる。この結果、グレーおよびその周辺の色について非常に高精度に色変換可能なＬＵＴ１５ａを得ることができる。
【００３９】
（２）色変換テーブル補正装置の構成
以下、本発明を実施するための構成を詳述する。図２は、本発明にかかる色変換テーブル補正装置として機能するコンピュータ１０の構成を示すブロック図である。図２においてコンピュータ１０は汎用的なパーソナルコンピュータにて実現可能であり、ディスプレイ１１と印刷装置１２とキーボード１３ａ、マウス１３ｂが接続されている。本実施形態においては、ディスプレイ１１に表示する画像の色を上記ｓＲＧＢデータで特定し、印刷装置１２で印刷する画像の色を上記ＣＭＹＫｌｃｌｍデータで特定している。
【００４０】
コンピュータ１０においては、図示しないＣＰＵ，ＲＡＭ，ＲＯＭ等のプログラム実行環境を備えており、図示しないＯＳの制御下でＰＲＴＤＲＶ２１やＬＵＴ補正プログラム３０、図示しないアプリケーションプログラム等を実行可能である。コンピュータ１０の利用者は上記キーボード１３ａやマウス１３ｂ等を操作してＬＵＴ補正プログラム３０やアプリケーションプログラム上での操作入力を実施可能である。ＰＲＴＤＲＶ２１においては、図示しないアプリケーションプログラムで作成した画像等の印刷指示に応じて印刷装置１２を制御して画像を印刷する。また、本発明においては、ＬＵＴ補正プログラム３０のパッチデータ生成部３１からＣＭＹＫｌｃｌｍデータで画素の色を特定したパッチデータを受け取って、印刷装置１２に印刷を実行させることも可能である。
【００４１】
すなわち、ＰＲＴＤＲＶ２１においては、印刷装置１２を制御するために通常のドライバが備えている機能、例えば、色変換機能やハーフトーン処理機能、印刷装置１２に受け渡す印刷データを生成する機能等を実施可能である。ＰＲＴＤＲＶ２１によって生成された印刷データはＵＳＢＩ／Ｏ１４を介して印刷装置１２に受け渡される。すなわち、印刷装置１２はＵＳＢによってコンピュータ１０と接続されており、上記印刷データを受け取ると、当該印刷データに従って印刷媒体上にインクを記録し、画像を形成する。
【００４２】
ＬＵＴ補正プログラム３０は、パッチデータ生成部３１と測色値取得部３２とインク量データ補正部３３とスムージング処理部３４とを備えており、上記ＬＵＴ１５ａとターゲットデータ１５ｂと対応関係データ１５ｃとを参照してＬＵＴ１５ａの補正を実施することができる。尚、図２に示す例において、ＬＵＴ１５ａとターゲットデータ１５ｂと対応関係データ１５ｃとは予めコンピュータ１０が備えるＨＤＤ１５に記録されている。
【００４３】
パッチデータ生成部３１は、インク量データを取得し、そのインク量データによって上記パッチデータを生成してＰＲＴＤＲＶ２１に出力するモジュールである。すなわち、パッチデータ生成部３１によって、特定のインク量データを取得し、所定の面積を有するパッチを示すパッチデータを生成する。このパッチデータがＰＲＴＤＲＶ２１に出力されると、パッチが印刷され、このパッチが測色対象となる。ここで、パッチデータ生成部３１が取得するインク量データは、上記ＬＵＴ１５ａに規定されたインク量データ、インク量データ補正部３３による補正で生成されたインク量データおよび対応関係データ１５ｃに記録される色を特定するインク量データである。
【００４４】
パッチデータ生成部３１が取得するインク量データのうち、ＬＵＴ１５ａに規定されたインク量データは、ＬＵＴ１５ａに規定されたインク量データであって補正対象となるインク量データであり、上記図１に示す例ではグレーのｓＲＧＢデータに対応づけられたＣＭＹＫｌｃｌｍデータである。インク量データ補正部３３による補正で生成されたインク量データは、後述するようにインク量データ補正部３３による補正を繰り返すに当たり、各繰り返し段階で生成されるインク量データである。対応関係データ１５ｃに記録される色を特定するインク量データは、後述するように対応関係データ１５ｃを作成する際に、測色対象のパッチの色を特定するインク量である。
【００４５】
測色値取得部３２は、ＵＳＢＩ／Ｏ１４を介して測色機４０が出力する測色値を取得するモジュールである。すなわち、上記パッチデータ生成部３１が生成したパッチデータによって印刷装置１２が印刷したパッチは測色機４０によって測色される。本実施形態において、測色機４０は測色結果をＬ*ａ*ｂ*値で出力し、当該Ｌ*ａ*ｂ*値を示すデータがＵＳＢＩ／Ｏ１４を介してコンピュータ１０に入力される。
【００４６】
上記対応関係データ１５ｃに記録される色を特定するインク量データによって印刷されたパッチの測色値は、当該インク量データに対応づけられて対応関係データ１５ｃとなる。上記ＬＵＴ１５ａに規定されたインク量データ、インク量データ補正部３３による補正で生成されたインク量データによって印刷されたパッチの測色値はインク量データ補正部３３の差分ベクトル算出部３３ａに受け渡される。この測色値は上記図１に示すベクトルＭに相当する。
【００４７】
インク量データ補正部３３は、差分ベクトル算出部３３ａと補正ベクトル算出部３３ｂと補間演算部３３ｃとを備えている。差分ベクトル算出部３３ａは上述のように測色値取得部３２から測色値を取得し、予測後のＬ*ａ*ｂ*値（ベクトルＴ）との差分を示す差分ベクトル（ベクトルＭ−ベクトルＴ）を算出する。尚、インク量データ補正部３３は、上述のように補正を繰り返すが、ある補正対象に対する一回目の補正においては、上記ＨＤＤ１５に記録されたターゲットデータ１５ｂの理想値（上記図１に示すベクトルＴ0に相当）がベクトルＴであり、二回目以降の補正においては、予測後のＬ*ａ*ｂ*値がベクトルＴである。また、各補正段階で算出された差分ベクトルは、図示しないメモリに記録される。
【００４８】
むろん、上記測色値はＬＵＴ１５ａに規定されたインク量データあるいはこのインク量データを補正したデータで印刷したパッチについて得られるので、補正対象となっている元のインク量データに対応したターゲットを抽出して補正対象の色毎に差分ベクトルを算出する。すなわち、複数の色の理想値を示すターゲットデータ１５ｂの中から、元のＬＵＴ１５ａに規定されたインク量データに対応する理想値を抽出し、上記差分ベクトル算出する。
【００４９】
補正ベクトル算出部３３ｂは、この差分ベクトルおよび補正対象のターゲットデータ（ベクトルＴ0）を抽出し、補正ベクトルＣを算出するモジュールである。本実施形態において、上記予測後のＬ*ａ*ｂ*値を示すベクトルはベクトルＴ0＋ベクトルＣと表現される。当該予測後のＬ*ａ*ｂ*値は補間演算部３３ｃに入力される。
【００５０】
補間演算部３３ｃは、対応関係データ１５ｃを参照して補間演算を実施するモジュールであり、上記入力された予測後のＬ*ａ*ｂ*値に対応するインク量データを算出する。この算出されたインク量データが上述のインク量データ補正部３３による補正で生成されたインク量データである。従って、以上の処理によって一回の補正を行うことになる。インク量データ補正部３３はこのような補正を繰り返して実施可能であり、この繰り返し過程において、上記差分ベクトルの大きさが上記閾値α以下になったときに、補正を終了し、その時点での予測後のＬ*ａ*ｂ*値に対応したインク量データで上記ＬＵＴ１５ａを上書きする。
【００５１】
図２に示す実施形態においては、以上のようにして上書きされたＬＵＴ１５ａに対してさらなる補正を実施することができる。スムージング処理部３４はさらなる補正として、複数の補正対象インク量データによる出力色の変化が滑らかになるように補正を実施するモジュールである。このスムージング処理部３４は、補正対象のインク量データおよびそのインク量での出力色に近い色を出力するインク量データをＬＵＴ１５ａから取得し、出力色の変化が滑らかであるか否かを評価するための評価関数を算出する。
【００５２】
そして、補正対象のインク量データを変動させて評価関数の値を算出する処理を繰り返し、評価関数を小さな値に収束させる。尚、この評価関数は予め決められたスムージングパラメータ１５ｅを取得して算出される。また、スムージング処理部３４では、インク量データを変動させることにより評価関数の値が小さなインク量データを取得することができればよく、種々のアルゴリズムを採用可能である。この処理の詳細は後述する。
【００５３】
（３）色変換テーブル補正処理
次に、以上の色変換テーブル補正装置において実行する補正処理を図３に示すフローチャートに沿って具体的に説明する。同図に示すフローは、ＬＵＴ補正プログラム３０の処理フローであり、上記ＬＵＴ１５ａとターゲットデータ１５ｂとが予め作成され、ＨＤＤ１５に記録された状態で図３に示す処理が実行される。この処理においては、補正の前に対応関係データ１５ｃを作成する（ステップＳ１００）。
【００５４】
このステップＳ１００においては、パッチデータ生成部３１がパッチデータを生成する。このパッチデータは、グレー等の特定の色であるとともにＬＵＴ１５ａに規定されたグレーの色より多数の色である。図４は、このパッチデータを特定する際の処理例を示している。図４（Ａ）は、ＬＵＴ１５ａに規定されるｓＲＧＢデータを直交ＲＧＢ空間で示した図である。すなわち、ｓＲＧＢデータの値域は各色成分値で同じであるので、ｓＲＧＢデータが取り得る値は直交ＲＧＢ空間で破線に示す立方体を形成する。
【００５５】
任意のｓＲＧＢデータは、この立方体内に存在する格子点であって、各色成分値が整数となっている格子点によって表現される。この立方体内で、グレーのデータは原点Ｋと立方体の頂点Ｗを結ぶ直線ＫＷ上の格子点に相当する。ＬＵＴ１５ａにおいては、各色成分値域を略１６等分して得られる値を組み合わせたｓＲＧＢデータおよび対応するＣＭＹＫｌｃｌｍデータが登録されるので、直線ＫＷ上の両端を含めて１７個の格子点が存在する。
【００５６】
図４においては、この１７個の格子点およびその周辺でＲＧＢ空間の格子点数を増加させる様子を説明するためにＲＧＢ空間の立方体を切断し、直線ＫＷを含む平面Ｐとした状態を示している。図４（Ｂ）は平面ＰをＲＧ平面に投影し、平面Ｐ上の格子点をＲ軸，Ｇ軸に平行な直線で結んだ状態を示している。ステップＳ１００における作業では、直線ＫＷ上およびその周囲で図４（Ｂ）に示す格子点より密に格子点を抽出する。
【００５７】
図４（Ｃ）は、この図４（Ｂ）における直線ＫＷの両端付近を拡大して示す図である。図４（Ｃ）においては、ＬＵＴ１５ａに登録されたｓＲＧＢデータに相当する格子点を黒丸で示しており、各色成分値域を略５２等分した場合の格子点を結ぶ直線を実線で示している。すなわち、図４（Ｃ）では、ステップＳ１００において各色成分値域を略５２等分した場合の格子点に相当するｓＲＧＢデータを直線ＫＷ上およびその周囲で抽出する例を示している。
【００５８】
このようにして直線ＫＷの周囲から格子点を抽出したら、直線ＫＷ上および当該直線ＫＷから一定距離の範囲内にある格子点を抽出し、対応関係データ１５ｃを作成するためのｓＲＧＢデータとすればよい。図４（Ｃ）においては、直線ＫＷから一定の距離にある破線内の格子点を抽出する例を示しており、例えば、Ｒ軸上であれば白丸の格子点が抽出される。
【００５９】
ＬＵＴ１５ａに登録されたｓＲＧＢデータに相当する格子点より細かい格子点を抽出したら、上記ＬＵＴ１５ａを参照してその格子点に対応するインク量データを算出する。上記パッチデータ生成部３１は当該算出されたインク量データによって色を特定したパッチデータを作成し、ＰＲＴＤＲＶ２１に対して出力する。この結果、印刷装置１２は複数のパッチを印刷する。パッチが印刷されたら測色機４０によって測色が行われ、その測色値は測色値取得部３２に取得される。パッチを印刷するために利用したインク量データは予め分かっているので、当該インク量データとその測色値を対応づける。この結果作成されるデータが上述の対応関係データ１５ｃである。
【００６０】
尚、以上の印刷作業、測色作業においては、直線ＫＷ上に示す黒丸の格子点、すなわち、ＬＵＴ１５ａに登録されたｓＲＧＢデータに相当する格子点についても同様の作業を行っておく。この作業によって得られた測色値は、上述のベクトルＭの初期値として利用される。また、上記対応関係データ１５ｃを作成する際には、各色成分値域を略５２等分した場合の格子点に相当するｓＲＧＢデータを考えているが、実際に印刷および測色する際には、直線ＫＷおよびその周辺の格子点のみを抽出しているので、印刷および測色作業が実施できなくなるほどパッチ数が増加するわけではない。
【００６１】
以上のようにステップＳ１００の処理で、対応関係データ１５ｃの作成とベクトルＭの初期値取得処理が実施されると、ステップＳ１０５以降でＬＵＴ１５ａの補正処理を行う。このためにまず、補正回数を示す番号Ｎを初期化する（ステップＳ１０５）。そして、以下の式（１）に従って上記理想値と上記測色値との差分を解消するであろうＬ*ａ*ｂ*値を予測する（ステップＳ１１０）。
【数１】
2005144974.tif 000003
【００６２】
ここで、ベクトルＴN+1は、補正回数Ｎ＋１回目，ベクトルＴiは、補正回数ｉ回目における予測後のＬ*ａ*ｂ*値を示すが、ベクトルＴ0は上述のようにターゲットデータ１５ｂに登録されたＬ*ａ*ｂ*値である。ベクトルＭiは、補正回数ｉ回目におけるパッチの測色値であるが、ベクトルＭ0は上記ＬＵＴ１５ａに登録されたインク量データで印刷したパッチの測色値である。
【００６３】
図３に示す式（１）はＮ回目の補正以前の差分を考慮してＮ＋１回目の予測を行うための式であり、第１項に示すターゲットのベクトルＴ0に対して第２項の補正ベクトルＣを加えて予測を行う式となっている。ここで、補正ベクトルＣは、パッチの測色値と理想値あるいはＮ−１回目以前の補正後の値（予測後の値）との差分ベクトル（ベクトルＭ−ベクトルＴ）から算出される。すなわち、差分ベクトル算出部３３ａが測色値およびターゲットデータ１５ｂあるいはＮ−１回目以前の補正後のＬ*ａ*ｂ*値を取得して差分ベクトルを作成し、補正ベクトル算出部３３ｂが補正ベクトルＣを算出し、これによって上記式（１）の値を算出する。
【００６４】
例えば、１回目の予測では、パッチの測色値とターゲットデータ１５ｂとの差分ベクトル（ベクトルＭ−ベクトルＴ）の逆ベクトルが補正ベクトルＣとなり、２回目以降では、第２項において差分ベクトルの逆ベクトルに対してそれ以前の差分ベクトルの大きさの逆数に相当する重みを乗じて足し合わせたものが補正ベクトルＣとなる。このような補正ベクトルは、上記理想値と上記測色値との差分を示す差分ベクトルあるいは測色値と上記インク量データ補正手段による補正後の色を示す機器非依存色空間の値との差分を示す差分ベクトルの逆方向成分を持つベクトルから算出されていると言える。
【００６５】
以上のようにして予測を行った後には、補間演算部３３ｃが上記対応関係データを参照し、得られた予測後のベクトルＴN+1に対応するインク量データを算出する（ステップＳ１１５）。ここで算出されたインク量データが補正後のインク量データである。インク量データが算出されると、パッチデータ生成部３１は当該算出されたインク量データを取得し、パッチデータを生成してＰＲＴＤＲＶ２１に出力する（ステップＳ１２０）。この結果、印刷装置１２は、補正後のインク量データで色が特定されたパッチを印刷する。
【００６６】
パッチが印刷されると、測色値取得部３２は、測色機４０による測色結果である測色値を取得する（ステップＳ１２５）。ここで、取得した測色値は補正後のインク量データによって出力される色の正確な値であり、ベクトルＭN+1と表現される。そこで、この測色値を、上記ターゲットデータ１５ｂ、すなわち、ＬＵＴ１５ａを参照した変換後のインク量データで出力すべき色の理想値と比較するため、差分ベクトル（ベクトルＴ0−ベクトルＭN+1）の大きさを算出する。そして、この差分ベクトルの大きさが所定の閾値α（例えば色差１）以下であるか否かを算出する（ステップＳ１３０）。
【００６７】
ステップＳ１３０にて、差分ベクトルの大きさが所定の閾値α以下であると判別されないときには、補正回数を示す番号Ｎをインクリメント（ステップＳ１３５）し、ステップＳ１１０〜ステップＳ１３０を繰り返す。ステップＳ１３０にて、差分ベクトルの大きさが所定の閾値α以下であると判別されたときには、補正後のインク量データで印刷される色とターゲットデータ１５ｂに登録された色とが非常に近いので、この補正後のインク量データでＬＵＴ１５ａを更新する（ステップＳ１４０）。そして、補正対象となっているインク量データの全てについて更新が終了したか否かを判別（ステップＳ１４５）し、全てについて更新が終了したと判別されるまでステップＳ１０５以降の処理を繰り返す。
【００６８】
図５は、上述のステップＳ１１０〜ステップＳ１３０における補正の様子を説明する説明図である。同図においては、Ｌ*ａ*ｂ*空間中の座標をａ*ｂ*平面に投影した状態を示している。また、ベクトルＴによって特定される座標を黒丸、ベクトルＭによって特定される座標を白丸として示している。ターゲットデータ１５ｂに登録された色彩値を示すベクトルＴ0は、理想値であり、補正対象の各インク量データについて固定の値である。
【００６９】
ＬＵＴ１５ａに登録されたインク量データ（補正前のデータ）で印刷を行ったパッチの測色値がベクトルＭ0であるとすると、１回目の補正における予測値は、ターゲットのベクトルＴ0と差分ベクトルの逆ベクトル（ベクトルＴ0−ベクトルＭ0）を足したものとなる。すなわち、ターゲットとその測色値において、差分ベクトルに相当する差異が生じているのであるから、この差分ベクトルの逆ベクトルに相当する補正をインク量データに対して施せば、補正後のインク量データでの印刷結果がターゲットに近づくという考え方に基づいている。
【００７０】
尚、実際には、補間誤差、測色誤差等によって１回の補正でターゲットと測色値とが非常に近くならない場合が生じる。図５においては、１回目の補正における予測後のベクトルＴ1が示す色に対応するインク量データで印刷されたパッチの測色値を示すベクトルＭ1がターゲットのベクトルＴ0と一致しておらず、差分が生じている例を示している。本実施形態ではこのような差分を解消するために複数回の補正を繰り返すのであるが、このとき、過去の補正時による差分ベクトルも考慮して予測を行っており、この補正を定式化したのが上記式（１）である。
【００７１】
すなわち、式（１）の第２項は、各補正段階における差分ベクトルの逆ベクトルに対してターゲットから測色値までの距離が近いほど大きな値となる重み付け係数を乗じて線形結合したものである。具体的には、図５におけるベクトルＴ2を算出するために、差分ベクトル（ベクトルＭ0−ベクトルＴ0）の距離ｄ0と差分ベクトル（ベクトルＭ1−ベクトルＴ0）の距離ｄ1とを算出し、両者の逆数によって距離が近いほど大きな値を表現する。尚、各逆数は各距離の逆数を足し合わせた値（図５では（１／ｄ0＋１／ｄ1））で規格化されることにより、各係数が１を超えないようにしてある。
【００７２】
この式によれば、測色値のベクトルＭNが示す点とターゲットベクトルＴ0が示す点とが近いほど、両者の差分の逆ベクトルが補正ベクトルＣの算出に際して大きく寄与するようにすることができる。すなわち、測色値がターゲットに近いほど、補正後のインク量データによる出力色を正確に予測することができる可能性が高いので、測色値がターゲットに近いほど差分ベクトルの寄与を大きくすることで、インク量データによる出力色を速やかにターゲットに近づけることができる。
【００７３】
一方、差分が最小の差分ベクトルのみを考慮せず、他の差分ベクトルを考慮するのは、補正の繰り返しに際して振動や発散を防止するためである。すなわち、Ｎ回目の補正で当該Ｎ回目の補正後の色とそのインク量データについての測色値との差分のみを考慮している場合、上述のように振動や発散が発生し得る。例えば、図５においてベクトルＴNに対応するインク量データに対応する測色値がベクトルＭM（MはNより小さな自然数）とほぼ同じであるとき、過去の履歴を考慮しなければ、同じ補正を繰り返してしまう。
【００７４】
また、補間誤差や測色誤差等に起因してＮ回目の補正で差分が増大してしまったとき、過去の履歴を考慮していなければＮ回目の補正による影響が大きく、何回補正しても測色値がターゲットに近づかないというような状況を生じさせてしまう。しかし、本実施形態においては、Ｎ回目の補正における差分ベクトルのみならず、それ以前の補正における差分ベクトルも含めて上述の線形結合を行っているので、効果的に上記振動や発散を防止して、インク量データによる出力色を速やかにターゲットに近づけることができる。
【００７５】
以上のようにして補正対象のインク量データを更新した後には、補正対象のインク量データおよびその周辺の色について高い精度で色変換を実施可能なＬＵＴ１５ａが得られる。色変換の精度という意味では、この段階でのＬＵＴ１５ａで非常に高精度の色変換を実施可能であるが、さらに、補正対象のインク量データ同士の関係を調整してより高画質の印刷を実施可能にすることもできる。
【００７６】
すなわち、上述の補正によれば高精度の色変換が可能であるが、補正対象のインク量データ同士の関係までは考慮していない。そこで、補正対象の出力色のグラデーションが滑らかに変化するように、さらなる補正を行ってもよい。図３に示すフローチャートでは、上述のスムージング処理部３４がこのような補正（スムージング処理：ステップＳ１５０）を行っており、このスムージング処理後のデータでＬＵＴ１５ａにおける補正対象のインク量データを更新してＨＤＤ１５に保存（ステップＳ１５５）し、色変換テーブルの補正処理を完了することとしている。
【００７７】
（４）スムージング処理
図６は、スムージング処理部３４における処理の概要を説明するための説明図である。同図左側には上記ステップＳ１４０による補正後のグレーデータ１５ｄを示しており、スムージング処理部３４による処理は当該補正後のデータに対してスムージング処理を行う。このスムージング処理においては、補正後の各インク量データ（ＣＭＹＫｌｃｌｍデータ）に対して評価関数Ｅsを規定し、この評価関数Ｅsをできるだけ小さくするようにインク量データを変更することによってインク量データによる出力のグラデーションを滑らかにする。
【００７８】
すなわち、評価関数Ｅsをできるだけ小さくするようにインク量データにおける各インクのインク量を最適化する。この最適化処理には種々のアルゴリズムを採用可能であるが、インク量は通常整数値であるので、整数値に対して適用するアルゴリズムであることが好ましい。
【００７９】
評価関数Ｅsは、インク量データが示す階調の変化を評価する複数の評価関数（Ｅq，Ｅv，Ｅi）の線形結合である。また、本実施形態では、評価関数Ｅn，Ｅdを定義し、評価関数Ｅsをできるだけ小さくするよう最適化する際にこれらの評価関数Ｅn，Ｅdが０より大きくならないように束縛条件を課している。これらの評価関数の関数形は予め決められるとともに、上記スムージングパラメータ１５ｅに記述されたパラメータを参照することによって算出される。以下、各評価関数について詳説する。
【００８０】
（４−１）評価関数Ｅn
評価関数Ｅnは、インク量が負の値になっているか否かを評価するための評価関数であり、下記式（２）のように定義する。
【数２】
2005144974.tif 000004
ここで、Ｊはインク数を示す自然数であり、ｎは色を識別するための識別番号を示す自然数である。また、ｍはスムージング対象のインク量データを示す自然数であり、上記グレーデータ１５ｄに規定されたインク量データを識別する番号である。従って、ｉmnは、ｍ番目のインク量データにおけるインク色ｎのインク量を表す。ｔｍｐnはインク色番号ｎの場合の一時変数である。
【００８１】
また、ｗnは重み係数であり、上記スムージングパラメータ１５ｅとして予め特定されている。式（２）は、インク量が負である場合にその大きさの二乗に対して重み係数ｗnを乗じて線形結合したものであり、本実施形態ではこの評価関数Ｅnが”０”より大きくならないように束縛条件をかける。従って、評価関数Ｅsをできるだけ小さな値にするインク量の最適化処理に際し、インク量が負の値にならないようにインク量を変動させることができる。
【００８２】
（４−２）評価関数Ｅd
評価関数Ｅdは、印刷媒体上に記録されるインク量がインク量制限以下であるか否かを評価するための評価関数であり、下記式（３）のように定義する。
【数３】
2005144974.tif 000005
ここで、Ｋはインク量制限の条件数を示す自然数であり、ｌはその識別番号を示す自然数であり、Ｊ，ｎ，ｍ，ｉmnは上記式（２）と同様である。Ｄｌは条件番号ｌのインク量を表し、ｕlnは条件番号ｌの場合にインク色番号ｎのインク量を加算するか否かを決定するための係数で、”０”あるいは”１”を取る。
【００８３】
例えば、条件番号ｌの条件がインク色番号ｎ＝ｎ１の１次色（単色）のインク量制限に関する条件であれば、ｕln＝１であり、それ以外のインク色番号に対してｕln＝０となる。条件番号ｌがトータルインク量に関する条件であるならば、全てのインク色番号でｕln＝１となる。また、ＤLlは条件番号ｌの場合の、インク量制限値を表している。すなわち、インク量制限には、同時に使用するインク色数、インクの組み合わせによって複数個の条件が存在し得るので、各条件に番号を付けて識別できるようにする。
【００８４】
尚、ｔｍｐlは条件番号ｌの場合の一時変数である。また、ｗdは重みを表す係数である。これらのｗd，ｕln，ＤLlは、上記スムージングパラメータ１５ｅとして予め特定されている。以上の式（３）においては、インク量（Ｄｌ）がインク量制限値（ＤLl）を超えた場合に上記一時変数ｔｍｐlが”０”より大きな値になり、その線形結合が評価関数Ｅdとなる。本実施形態ではこの評価関数Ｅdが”０”より大きくならないように束縛条件をかけるので、評価関数Ｅsをできるだけ小さな値にするインク量の最適化処理に際し、インク量制限値を超えないようにインク量を変動させることができる。
【００８５】
（４−３）評価関数Ｅq
評価関数Ｅqは、近接するインク量データ（図６に示すグレーデータ１５ｄのようにｓＲＧＢデータを大きさ順に並べたときに隣り合っているデータ）におけるインク量の変化率を評価するための評価関数であり、下記式（４）のように定義する。
【数４】
2005144974.tif 000006
ここで、Ｊ，ｎ，ｍは上記式（２）と同様であり、ｉqはインク量の２次微分ベクトルの各要素を示している。ｗqは重み係数であり、各インク量の２次微分値が評価関数Ｅqに寄与する度合いを決定する値である。
【００８６】
インク量の２次微分ベクトルは、種々の手法によって算出することができるが、本実施形態に適用する一例として式（５）に示すような１次微分を利用して式（６）に示す２次微分を算出する構成を採用可能である。
【数５】
2005144974.tif 000007
【００８７】
ここで、ｍは上記式（２）と同様にスムージング対象のインク量データを示す自然数であり、ここではスムージング対象のインク量データをＴ＋１個（番号０〜Ｔ）としている。ＲmはｓＲＧＢデータの階調値を示し、ベクトルＩmはインク量データの各色の階調値を要素とするベクトルを示している。
【００８８】
尚、本実施形態においてスムージング対象のｓＲＧＢデータはＲ＝Ｇ＝Ｂであるから、ｓＲＧＢデータはベクトル量とせず、スカラー量としてある。また、ここではｓＲＧＢデータの値が小さい順に番号ｍを振っており、階調値が小さい順にＲ0，Ｒ1，…，ＲTであり、各階調値に対応するインク量ベクトルがベクトルＩ0，Ｉ1，…，ＩTである。例えば、上記図６では、ｓＲＧＢデータの値”０”のインク量データが番号０のインク量データに対応し、ｓＲＧＢデータの値”２５５”のインク量データが番号Ｔのインク量データに対応する。
【００８９】
式（５）の第１式において、ベクトルＩpmは、階調値Ｒmの変化に対するインク量ベクトルＩmの変化を示しているので、これはインク量データの１次微分、すなわち、インク量ベクトルの変化率を示している。式（５）の第２式はこのような１次微分値となるｓＲＧＢデータの階調値Ｒpmを定義しており、同第２式に示すように、本実施形態では階調値Ｒmと階調値Ｒm+1との中点と定義した。
【００９０】
以上のように１次微分ベクトルＩpmとその階調値Ｒpmを定義すると、以下の式（６）によって２次微分ベクトルを計算することが可能になる。
【数６】
2005144974.tif 000008
【００９１】
ここで、ｍは上記式（５）と同様であるが、その値域は１〜Ｔ−１である。以上の式において、ｗqは、上記スムージングパラメータ１５ｅとして予め特定されている。式（６）において、ベクトルＩqmは、階調値Ｒpmの変化に対する１次微分ベクトルＩpmの変化を示しているので、これはインク量データの２次微分、すなわち、インク量ベクトルの変化率の変化率を示している。インク量ベクトルの変化率の変化率を評価することができれば、インク量データによる階調変化の滑らかさを評価することができる。
【００９２】
すなわち、インク量の変化率が急激に変わるような場合には、そのインク量データによる出力色の階調が急激に変化するトーンジャンプが発生しやすいが、インク量の変化率が滑らかに変わるのであれば、このようなトーンジャンプは発生しにくい。図７は、このような２次微分による評価の基本的な考え方を一例に基づいて説明する説明図である。同図においては、濃インク（ＣあるいはＭインク）と淡インク（ｌｃあるいはｌｍインク）とによって表現される出力色の明度とインク記録率との関係を示している。
【００９３】
同図に示す実線は、スムージング処理前のインク量データにおける例を示しており、表現可能な明度値域を０〜１００としたときに、暗い明度の０から明るくなるにつれて濃インクの記録率が低下し、ある明度から淡インクを使用し始め、ある明度で濃インクを記録しなくなり、それより明るい明度では淡インクのみを記録して徐々に明度を高くすることを示している。同図に示す例では、淡インクの使用／未使用を切り換える明度Ｌ0と濃インクの使用／未使用を切り換える明度Ｌ1とでトーンジャンプが発生しやすい。
【００９４】
実線に示す例のように、明度Ｌ0以下で淡インクを使用せず、明度Ｌ0以上で淡インクの使用量が直線的に増加すると、明度Ｌ0における淡インク量の２次微分値の絶対値は大きくなる。また、明度Ｌ1以上で濃インクを使用せず、明度Ｌ1以下で濃インクの使用量が直線的に増加すると、明度Ｌ1における濃インクの２次微分値の絶対値は大きくなる。むろん、これらの例のみならず、インク量の変化率が急激に変化すれば２次微分値の絶対値は大きくなる。また、濃淡インクを使用する場合のみならず、濃度の異なるインクを使用しない場合、３種類の濃度のインクを使用する場合等であっても２次微分値によってインク量の変化率が急激に変化すれば２次微分値の絶対値は大きくなる。
【００９５】
評価関数Ｅqにおいては、上述のように２次微分ベクトルにおける各要素の２乗に重み係数ｗqを乗じて線形結合している。従って、２次微分値が大きくなるほど、評価関数Ｅqの値が大きくなる。本実施形態においては、このような評価関数の定義において、評価関数Ｅsをできるだけ小さくするようにインク量データを変動させる。このため、２次微分値が小さなインク量データが得られる傾向が高く、図７に示すような実線のようにインク記録率の有無が急激に変化するものより、同図一点鎖線ようにインク記録率が滑らかに変化するようなインク量データが得られる。従って、トーンジャンプが発生しにくいインク量データを得ることができる。
【００９６】
（４−４）評価関数Ｅv
評価関数Ｅvは、ある色のインク量を代替可能な色のインクで代替した場合に元のインク量データによる出力色と代替後のインク量データによる出力色との差が大きいか否かを評価するための評価関数である。この評価関数としては、例えば、あるインクの微少量を代替可能なインクで代替する処理を定式化した関数によって定義することができる。すなわち、代替可能なインクによってインクの代替を行うと、インク量データにおける階調変化の滑らかさが改善する。例えば、濃インク量１と淡インク量４とがほぼ同明度の出力色になる場合に、濃インクを微少量１減らし、淡インクを微少量４増加させるようにインク量データを変更すれば、インク量データによる出力色をほとんど変化させることなく階調変化を滑らかにすることができる。
【００９７】
より具体的には下記式（７）のようにこの評価関数を定義することができる。
【数７】
2005144974.tif 000009
ここで、ｍは上記式（２）と同様であり、ｒはスムージング前のインク量データであることを示す識別符号であり、ｗvは補正前後のインク量をマトリクス変換した場合の差分が評価関数Ｅvに寄与する度合いを決定する値である。
【００９８】
ｓはマトリクス変換後の要素を示す識別符号であり、ｖmsは変動後のインク量データをマトリクスＡによって変換した結果の各要素を示しており、以下の式（８）における各要素である。
【数８】
2005144974.tif 000010
【００９９】
また、式（７）におけるｖrmsは変動前（スムージング処理前）のインク量データをマトリクスＡによって変換した結果の各要素を示しており、以下の式（９）における各要素である。
【数９】
2005144974.tif 000011
【０１００】
以上の式において、ｗvは、上記スムージングパラメータ１５ｅとして予め特定されている。尚、式（８），（９）においてマトリクスＡは、代替可能なインク同士における代替比率を要素とすることによって代替可能なインク同士の代替関係を示しており、例えば以下の式（１０）などの値を採用可能である。
【数１０】
2005144974.tif 000012
当該（１０）式に示す例は、ＣＭＹＫｌｃｌｍデータを仮想的にＣＭＹデータに変換するマトリクスであり、マトリクスＡの１列目〜６列目までがＣ〜ｌｍに対応している。
【０１０１】
すなわち、ＣＭＹＫｌｃｌｍの各色をＣＭＹ色空間に変換するに当たり、Ｃ，Ｍ，Ｙインクの各色はそれぞれ係数１が乗ぜられてＣＭＹ各色のみに寄与するのに対して、Ｋインクは係数１が乗ぜられてＣＭＹ全色に対して寄与する。これは、ＣＭＹ各インクを等量記録するとほぼ無彩色になることに基づいている。一方、濃インクであるＣ，Ｍインクの各色に対してそれぞれ係数１が乗ぜられてＣＭ各色のみに寄与するのに対して、淡インクｌｃ，ｌｍは係数０．２５が乗ぜられてＣＭ各色のみに寄与する。これは、上述の例と同様に濃インク量１による出力色と淡インク量４による出力色とがほぼ同明度になることに基づいている。
【０１０２】
式（７）に示す評価関数Ｅvにおいては、上述のように補正前後のインク量データを変換した仮想的なＣＭＹ空間の各要素の差の２乗に重み係数ｗvを乗じて線形結合している。従って、仮想的なＣＭＹ空間の各要素で差が大きくなるほど、評価関数Ｅvの値が大きくなり、補正前後で色の実質的な変化が大きくなるほど評価関数Ｅvの値が大きくなる。
【０１０３】
本実施形態では、このような評価関数の定義において、評価関数Ｅsをできるだけ小さくするようにインク量データを変動させる。この結果、色の実質的な変化が小さいようにインク量を変動させることができ、色を変化させることなく代替可能なインクの代替処理を実施することが可能になる。図８は、このようなインクの代替を説明する説明図である。同図においても濃インク（ＣあるいはＭインク）と淡インク（ｌｃあるいはｌｍインク）とによって表現される出力色の明度とインク記録率との関係を示している。また、同図に示す実線も上記図７と同様にスムージング処理前のインク量データにおける例を示している。
【０１０４】
上記式（７）によれば、色の変動が小さな範囲でインクが代替されるようなインク量データの変動が許容されているので、例えば、上述の明度Ｌ0付近にて一点鎖線のように濃インクを減らし、淡インクを増加させた状態がインク量変動の選択肢として含まれる。また、上述の明度Ｌ1付近にて一点鎖線のように濃インクを増やし、淡インクを減少させた状態がインク量変動の選択肢として含まれる。むろん、これらの逆、すなわち、例えば、上述の明度Ｌ0付近にて濃インクを増加させ、淡インクを減少させた状態や明度Ｌ1付近にて濃インクを減らし、淡インクを増加させた状態もインク量変動の選択肢として含まれる。
【０１０５】
一方、評価関数Ｅsは、評価関数Ｅvとともに上述の評価関数Ｅqを含むので、評価関数Ｅsをできるだけ小さくする処理の過程で、評価関数Ｅvと評価関数Ｅqとをともに小さくする。従って、この結果得られるインク量データにおいては、代替可能なインクについて代替を行うようにしてインク量を変動させながら、インク記録率が滑らかに変化するようなインク量データを取得することが可能になる。
【０１０６】
（４−５）評価関数Ｅi
評価関数Ｅiは、スムージング処理による補正によって補正前のインク量が大きく変化するか否かを評価するための評価関数であり、下記式（１１）のように定義する。
【数１１】
2005144974.tif 000013
ここで、ｎ，ｍは上記式（２）と同様であり、ｒは上記式（７）と同様である。また、ｗinはインク色番号ｎにおいて、補正前後のインク量変化が評価関数Ｅvに寄与する度合いを決定する重み係数であり、ｗiは全インク色番号についての線形結合が評価関数Ｅiに寄与する度合いを決定する重み係数である。以上の式において、ｗi、ｗinは、上記スムージングパラメータ１５ｃとして予め特定されている。
【０１０７】
式（１１）においては、補正前後のインク量の差分の２乗に重み係数を乗じて線形結合しているので、補正前後でインク量の変化が大きいほど評価関数Ｅiの値が大きくなる。本実施形態では、このような評価関数の定義において、評価関数Ｅsをできるだけ小さくするようにインク量データを変動させる。この結果、各色のインク量を急激に変化させることなくインク量データを徐々に変化させることができる。
【０１０８】
すなわち、各種最適化アルゴリズムにおいて、変数の値を急激に変化させると、局所解に落ち込んだり、解が発散するなどして適正な解が得られない場合が多いが、本実施形態のように評価関数Ｅiによってインク量データの急激な変化を抑えると、適正な解を得やすい。また、重み係数を調整することによって、インク量データとして明らかに異常な値を生じさせないようにしながらインク量データを変動させることが可能になる。
【０１０９】
例えば、インク量データの番号ｍ＋１，ｍ−１の双方おいてインク色番号ｎのインク量が”０”であり、スムージング対象のインク量データ（番号ｍ）においてもインク色番号ｎのインク量が補正前に”０”であるとき、補正によってインク色番号ｎのインク量データが”０”以外になると、階調の滑らかさを損なう可能性が大きい。従って、そのインク量データは、階調の滑らかさという意味では異常な値と考えることができる。
【０１１０】
図７においては、この例も併せて示してある。すなわち、同図においてＡｂとして示した位置で濃インクのインク量が有限の値になっていると、その点で階調が滑らかになるとは考えにくい。そこで、周囲のインク量データが”０”であるインク色については上記重み係数ｗinの値を大きくし、インク量データが変動したときに評価関数Ｅiが大きくなるように調整する。これにより、インク量データを変動させる際に、異常な値に変動させることを防止することができる。
【０１１１】
（４−６）スムージング処理の流れ
次に、上述の評価関数を利用してインク量データを最適化する際の具体的な処理例を説明する。この処理は、上記図３に示すステップＳ１４０の処理が完了し、上述のグレーデータ１５ｄについて補正が終了した後のデータに対してステップＳ１５０にて実施される。図９はこのステップＳ１５０の詳細を示すフローチャートであり、アニーリング法と呼ばれるアルゴリズムである。このアルゴリズムにおいては、物質がゆっくり固化するときの様子を模しており、仮想的に温度変数を導入し、温度を徐々に小さくしながら乱数によってインク量を変動させる。この過程で評価関数Ｅsを徐々に小さくしており、この評価関数Ｅsが小さくなるようにインク量を決定することでインク量を最適化する。
【０１１２】
このフローチャートでは、補正対象のインク量データを選択する回数の最大値ｔmaxを予め決めておき、当該最大値ｔmax回の選択を実施し、各選択についてスムージング処理の実施が終了するまで処理を繰り返す。そこで、この処理を行うためにまずインク量データの選択回数を示す変数ｔに”０”を代入する（ステップＳ２００）。尚、最大値ｔmaxは上記スムージングパラメータ１５ｅに予め記述しておく。
【０１１３】
補正対象のインク量データの選択は一様乱数によって行う（ステップＳ２０２）。すなわち、全く無作為に補正対象のインク量データを選択する。次に、このインク量データから評価関数Ｅqb，評価関数Ｅvb，評価関数Ｅibを求める。ここで、評価関数Ｅqb，評価関数Ｅvb，評価関数Ｅibは、繰り返し処理における前回の補正段階でのインク量データに基づいて算出された評価関数Ｅq，評価関数Ｅv，評価関数Ｅiである。尚、ステップＳ２０４においては、補正対象のインク量データに対して一回目の補正がなされていないので、補正前後の変化を考慮する評価関数Ｅv，評価関数Ｅiは”０”とし、評価関数Ｅqのみを計算する。
【０１１４】
また、上述の温度変数ｄｔに予め決められた温度初期値βを代入（ステップＳ２０６）し、温度変数の変更回数を示す変数ｄに初期値”０”を代入（ステップＳ２０８）する。すなわち、図９に示すフローチャートでは、後述のステップＳ２４２にて温度変数ｄｔを更新し徐々に小さくするが、この更新回数の最大値ｄmaxを予め決めておき、このｄmaxに達するまで温度変数を小さくする処理を繰り返す。尚、温度初期値βおよび最大値ｄmaxは上記スムージングパラメータ１５ｅに予め記述しておく。
【０１１５】
さらに、インク量データを更新した回数を示す変数ｉｃに初期値”０”を代入（ステップＳ２１０）し、ステップＳ２１４〜Ｓ２３８の繰り返し回数を示す変数ｉに初期値”０”を代入（ステップＳ２１２）して、ステップＳ２１４以降のインク量データ更新処理を実施する。変数ｉｃの最大値はｉｃmaxであり、変数ｉの最大値はｉmaxであり、本実施形態では、インク量データを更新するための繰り返し処理を最大ｉmax回繰り返す中で、インク量データが最大ｉｃmax回更新されるようにしている。尚、これらの最大値ｉｃmax，ｉmaxは上記スムージングパラメータ１５ｅに予め記述しておく値である。
【０１１６】
繰り返し処理にあたっては、まず、上記ステップＳ２０２で選択したインク量データの中から一様乱数によって更新対象のインク色を特定する（ステップＳ２１４）。更新対象のインク色を特定したら、正規乱数によって更新量ｄｉを取得する（ステップＳ２１６）。すなわち、更新量ｄｉの分布が正規分布に従うような乱数によって更新量ｄｉを決定することによって自然界での現象を模しており、この結果、局所解からの脱出を図っている。尚、インク量データは整数の階調値であるため、更新量ｄｉも整数である。正規分布のパラメータとしては、種々の観点、例えばインク量データの微調整による階調の平滑化という目的を逸脱しない範囲や解を得るためにあまりに多くの更新を必要としない範囲で決定すればよく、例えば、階調値の分散が”１〜３”程度の正規分布を採用可能である。
【０１１７】
この更新量ｄｉは正規分布に従うので、更新量ｄｉが”０”となる場合もあるが、更新量”０”であれば、評価関数を算出する意味がない。そこで、ステップＳ２１８において更新量が”０”であるか否かを判別し、更新量ｄｉが”０”であればステップＳ２２０〜Ｓ２３６の処理をスキップする。ステップＳ２１８において、更新量ｄｉが”０”であると判別されないときには、インク量ｉnに上記更新量ｄｉを加える（ステップＳ２２０）。ここで、インク量ｉnは、上記ステップＳ２１４で選択されたインク色のインク量データである。尚、補正前のインク量ｉn0も図示しないＲＡＭ等に保持しておく。
【０１１８】
インク量を更新したら、上記スムージングパラメータ１５ｅに記録された重み係数等必要なパラメータを参照し、更新後のインク量ｉnにて上記評価関数Ｅnと評価関数Ｅdとを算出する（ステップＳ２２２）。これらの評価関数は、後述する評価関数Ｅq，評価関数Ｅv，評価関数Ｅiと異なり、他のインク量データ、すなわち、スムージング対象のインク量データ以外のインク量データや補正前のインク量を参照せずに、算出することができる。
【０１１９】
また、評価関数Ｅnと評価関数Ｅdとは、関数の値をできるだけ小さくするのではなく、上述のように関数の値が”０”より大きな値になってはいけないという条件を課すので、評価関数Ｅsを最適化する際の束縛条件として機能する。図９に示すフローチャートにおいては、これらの評価関数Ｅnと評価関数Ｅdとのいずれかが”０”より大きいかを判別する（ステップＳ２２４）。そして、ステップＳ２２４で”０”より大きいと判別されたときにステップＳ２２６〜Ｓ２３６をスキップするとともにインク量ｉnを元の値インク量ｉn0に戻すことにより更新後のインク量を採用しないようにしている。
【０１２０】
ステップＳ２２４で評価関数Ｅnと評価関数Ｅdとのいずれかが”０”より大きいと判別されないときには、更新後のインク量ｉnを利用して評価関数Ｅqa，評価関数Ｅva，評価関数Ｅiaを求める。ここで、評価関数に付した符号aは上述の符号bと区別するための符号であり、更新後のインク量ｉnによって算出された値であることを示している。
【０１２１】
評価関数Ｅqa，評価関数Ｅva，評価関数Ｅiaを算出したら、インク量を採用すべきか否かを判断するために、補正前後の評価関数の差分ｄＥ（ｄＥ＝（Ｅqa＋Ｅva＋Ｅia）−（Ｅqb＋Ｅvb＋Ｅib））を算出する（ステップＳ２２８）。そして、差分ｄＥが”０”より小さい状態または一様乱数ｒｎｄがｅｘｐ（−（ｄＥ／ｄｔ））より小さい状態になっているか否かを判別する（ステップＳ２３０）。
【０１２２】
ステップＳ２３０にて差分ｄＥが”０”より小さい状態または一様乱数ｒｎｄがｅｘｐ（−（ｄＥ／ｄｔ））より小さい状態であると判別されたときには、評価関数Ｅqb，評価関数Ｅvb，評価関数Ｅibの値をそれぞれ評価関数Ｅqa，評価関数Ｅva，評価関数Ｅiaの値で上書きし、インク量データを更新した回数を示す変数ｉｃをインクリメントする（ステップＳ２３２）。ステップＳ２３０にて差分ｄＥが”０”より小さい状態または一様乱数ｒｎｄがｅｘｐ（−（ｄＥ／ｄｔ））より小さい状態であると判別されないときには、インク量ｉnが更新後のインク量として不適切であるとして元のインク量ｉn0に戻す（ステップＳ２３４）。
【０１２３】
すなわち、差分ｄＥが”０”より小さいのであれば、インク量の更新によって評価関数Ｅsが小さくなったことを示し、評価関数Ｅsが小さくなったということはインク量の更新によって階調の滑らかさが向上したと言うことである。そこで、ステップＳ２３２では、更新後のインク量ｉnを採用し、評価関数Ｅqb，評価関数Ｅvb，評価関数Ｅibを更新する。
【０１２４】
一方、本実施形態におけるアルゴリズムでは自然界での現象を模しており、一時的に評価関数Ｅsが大きくなったとしても一定の場合には、これを許容する。これにより、局所解への落ち込みから脱することが可能になって、速やかに適正な解に収束させることが可能になる。ステップＳ２３０におけるｒｎｄ＜ｅｘｐ（−（ｄＥ／ｄｔ））という条件式は、ｄＥの増大を許容する条件を定式化したものである。
【０１２５】
この式においては、一様乱数ｒｎｄは０≦ｒｎｄ≦１の実数としてあり、この一様乱数の値がｅｘｐ（−（ｄＥ／ｄｔ））より小さい場合にはインク量の更新を許容することになる。すなわち、この式は、値ｅｘｐ（−（ｄＥ／ｄｔ））が一様乱数ｒｎｄより小さくなる確率を差分ｄＥと温度ｄｔに依存するように定義したものであり、差分ｄＥと温度ｄｔに依存するある確率でｄＥの増大を許容する。
【０１２６】
より具体的には、ｅｘｐ（−ｄＥ／ｄｔ）は、ｄＥ＝０のとき”１”であり、ｄＥの増加によって単調に減少する関数であるので、ｄＥが大きな値であるほど、ｒｎｄ＜ｅｘｐ（−ｄＥ／ｄｔ）を満たす確率が小さくなるといえる。また、温度ｄｔが小さいほどｅｘｐ（−ｄＥ／ｄｔ）の減少率は大きいので、温度が低い場合は、同じｄＥであっても、条件を満たす確率はさらに低くなる。
【０１２７】
以上のようにステップＳ２３２におけるインク量の更新あるいはステップＳ２３４におけるインク量の未更新を実施した後には、インク量データを更新した回数を示す変数ｉｃがｉｃmax以上であるか否かを判別する（ステップＳ２３６）。ステップＳ２３６にて変数ｉｃがｉｃmax以上であると判別されたときには、ステップＳ２３８をスキップし、ステップＳ２３６にて変数ｉｃがｉｃmax以上であると判別されないときには、ステップＳ２３８を実行する。
【０１２８】
すなわち、インク量データの更新回数ｉｃがｉｃmaxを超えた場合には、ステップＳ２１４〜Ｓ２３８のループを抜ける。これは、インク量データの更新が充分に多数回実施されている場合に冗長な繰り返し処理を行うことを防止するための処理である。例えば、前述した温度変数ｄｔが大きい場合、インク量の更新は高い確率で行われ、上記ステップＳ２１４からＳ２３８のループをｉmax回も繰り返すことなく、充分な回数（ｉｃmax回）の更新が行われている場合もある。この場合は、これ以上ステップＳ２１４〜Ｓ２３８を繰り返しても階調性を向上させる可能性が低く繰り返し処理を行う意味が無い。
【０１２９】
ｉｃmaxはインク量の更新回数として充分な回数を指定することができればよく、例えば、インク数の１０倍程度の値を採用可能である。インク量の更新がインク数の１０倍程度行われているのであれば、確率的には１インク色あたり１０回程度の更新が行われているので、充分であると考えられる。また、インク量の更新が必ずｉmax回行われるわけではないので、ｉmaxとしてはインク数に対して充分大きい数とする。例えば、ｉｃmaxの１００倍程度の回数を採用可能である。尚、上記ステップＳ２３６で変数ｉｃがｉｃmax以上であると判別されないときには、ステップＳ２３８にて変数ｉをインクリメントし、その最大値ｉmaxに達するまでステップＳ２１４以降の処理を繰り返す。以上、ステップＳ２１４〜Ｓ２３８のループによれば、インク量を充分な回数分更新することができる。
【０１３０】
ステップＳ２３８の次には、インク量データを更新した回数を示す変数ｉｃが”０”であるか否かを判別（ステップＳ２４０）し、同ステップＳ２４０で変数ｉｃが”０”であると判別されたときにはステップＳ２４２，Ｓ２４４の処理をスキップする。すなわち、変数ｉｃが”０”である場合には、インク量を更新しなかったことになるので、系が安定状態に達しており、それ以上温度変数を小さくしてみてもインク量は更新されないと判断する。
【０１３１】
ステップＳ２４０で変数ｉｃが”０”であると判別されないときには、温度変数ｄｔを小さくする（ステップＳ２４２）。本実施形態では、上記スムージングパラメータ１５ｅとして予め定数γ（０＜γ＜１）を決めておき、当該γをｄｔに乗じた値でｄｔを更新する。尚、γは特に限定されないが、γが大きければゆっくりと低温下することになり、安定状態に到達（適正な解に収束）し易いが、処理時間が長くなってしまう。従って、許容できる処理時間との兼ね合いで適宜大きさを決定すればよい。実際には、例えば、”０．９”程度の値を採用可能である。むろん、ここでは低温化することができればよく、ｄｔから定数を減じるなど、他にも種々の手法を採用可能である。
【０１３２】
温度変数ｄｔに対して定数γを乗じて低温化した後には、温度変数の変更回数を示す変数ｄをインクリメントし、上述の最大値ｄmaxに達するまで上記ステップＳ２１０以降の処理を繰り返す（ステップＳ２４４）。ステップＳ２４４で変数ｄが最大値ｄmaxに達したと判別された場合、および上述のステップＳ２４０で変数ｉｃが”０”であると判別された場合には、インク量データの選択回数を示す変数ｔをインクリメントし、当該変数ｔが最大値ｔmaxに達しているか否かを判別する（ステップＳ２４６）。
【０１３３】
ステップＳ２４６にて変数ｔが最大値ｔmaxに達していると判断されなければ、ステップＳ２０２以降の処理を繰り返し、ステップＳ２４６にて変数ｔが最大値ｔmaxに達していると判断されれば図９に示す処理を終了し、上記図３に示すフローに復帰する。すなわち、選択回数の最大値ｔmaxに達するまで無作為に抽出したインク量データについてインク量を変更し、評価関数Ｅsをできるだけ小さくする処理を実施する。
【０１３４】
以上の処理の後に得られたインク量においては、インク量の変化率の変化が滑らかであるので、このインク量を参照して色変換を実施した場合に、その印刷物においてトーンジャンプが発生しにくい。特に、グレーのグラデーションを印刷したときにその階調変化が滑らかな高画質の印刷物を得ることができる。また、このスムージング処理の前に、上記ステップＳ１００〜Ｓ１４５の処理を実施しているので、スムージング処理前のインク量を参照して色変換を実施した場合に、ターゲットの色との差が非常に小さい印刷物を得ることができる。
【０１３５】
上記スムージング処理においてインク量を変動させるとしても、上述のようになるべく元のインク量を維持するように評価関数を規定しているので、以上の処理で得られたインク量データでＬＵＴ１５ａを更新すれば、トーンジャンプの発生防止とターゲットに近い色での出力とを同時に実現することができる。この結果、非常に高画質の印刷を実施可能なＬＵＴ１５ａを生成することができる。
【０１３６】
（５）他の実施形態
以上のようにして作成されたＬＵＴ１５ａは、汎用的なコンピュータにて汎用的に行われている印刷処理にて使用することができる。従って、このＬＵＴ１５ａを使用して印刷処理を実施する印刷制御装置も本発明を利用しているといえる。図１０は、印刷時に当該ＬＵＴ１５ａを使用するコンピュータの構成例を示すブロック図である。コンピュータ１１０は汎用的なパーソナルコンピュータであり、ＰＲＴＤＲＶ２１０と入力機器ドライバ（ＤＲＶ）２２０とディスプレイドライバ（ＤＲＶ）２３０とがＯＳ２００に組み込まれている。ディスプレイＤＲＶ２３０はディスプレイ１８０における画像データ等の表示を制御するドライバであり、入力機器ＤＲＶ２２０はシリアル通信用Ｉ／Ｏ１９０ａを介して入力される上記キーボード３１０やマウス３２０からのコード信号を受信して所定の入力操作を受け付けるドライバである。
【０１３７】
ＡＰＬ２５０は、カラー画像のレタッチ等を実行可能なアプリケーションプログラムであり、利用者は当該ＡＰＬ２５０の実行下において上記操作用入力機器を操作して当該カラー画像を印刷装置４００にて印刷させることができる。この印刷装置４００は上記印刷装置１２と同機種の印刷装置である。このようなカラー画像の印刷時に、本発明によって作成されたＬＵＴ１５ａが参照される。ＡＰＬ２５０にて作成されるカラー画像の画像データ１５０ａはＲＧＢの各色成分を階調表現したドットマトリクス状のデータであり、ｓＲＧＢ規格に準拠したデータであるとともに、ＨＤＤ１５０に保存される。
【０１３８】
上記ＰＲＴＤＲＶ２１０は、上記ＰＲＴＤＲＶ２１と同じソフトウェアであり、画像データ取得モジュール２１０ａと色変換モジュール２１０ｂとハーフトーン処理モジュール２１０ｃと印刷データ生成モジュール２１０ｄとを備えている。また、本発明によって作成されたＬＵＴ１５ａはＨＤＤ１５０に保存されている。ＡＰＬ２５０実行時に利用者が印刷実行指示を行うと、印刷にかかる画像データ１５０ａが画像データ取得モジュール２１０ａに取得され、画像データ取得モジュール２１０ａは上記色変換モジュール２１０ｂを起動する。色変換モジュール２１０ｂは、ｓＲＧＢ階調値をＣＭＹＫｌｃｌｍ階調値に変換するモジュールであり、ＬＵＴ１５ａに規定された参照点を参照して補間演算を実施し、任意のｓＲＧＢデータをＣＭＹＫｌｃｌｍデータに変換する。
【０１３９】
色変換モジュール２１０ｂが色変換を行ってＣＭＹＫｌｃｌｍデータを生成すると、当該ＣＭＹＫｌｃｌｍデータは上記ハーフトーン処理モジュール２１０ｃに受け渡される。ハーフトーン処理モジュール２１０ｃは、各ドットのＣＭＹＫｌｃｌｍ階調値を変換してインク滴の記録密度で表現するためのハーフトーン処理を行うモジュールであり、変換後の記録密度でインクを付着させるためのヘッド駆動データを生成する。印刷データ生成モジュール２１０ｄはかかるヘッド駆動データを受け取って、印刷装置４００で使用される順番に並べ替える並べ替え処理を行う。この並べ替え処理の後、画像の解像度などの所定の情報を付加して印刷データを生成し、ＵＳＢ用Ｉ／Ｏ１９０ｂを介して印刷装置４００に出力する。印刷装置４００においては当該印刷データに基づいて上記ディスプレイ１８０に表示された画像を印刷する。
【０１４０】
この印刷処理において、色変換は本発明によって作成されたＬＵＴ１５ａを参照して行われるので、特定の色、上記実施例であればグレーおよびその周辺の色について非常に高精度で色変換を実施可能であり、また、グレーの階調が非常に滑らかに変化する印刷物を出力することが可能である。尚、以上の説明はＰＲＴＤＲＶ２１０による非常に汎用的な印刷処理である。従って、本発明にかかるＬＵＴ１５ａを作成すれば、従来の印刷処理にて使用されていたＬＵＴを本発明によるＬＵＴ１５ａに置き換えるだけで多くの印刷装置にてハードウェア構成を全く変えることなく、非常に高画質の印刷を実行可能にすることができる。
【０１４１】
また、以上説明した実施形態は、本発明を実現するための一例であり、その構成は上記構成に限られない。例えば、上述の対応関係データ１５ｃにおいては、上記ＬＵＴ１５ａを作成する際に測色された色数より多数の色について、ＣＭＹＫｌｃｌｍデータとその測色値とを対応づけていればよく、その色の決定手法としては種々の手法を採用可能である。
【０１４２】
すなわち、図４（Ｃ）に示すように、直線ＫＷの周辺で直線ＫＷから一定の距離にある格子点を抽出する構成に限定されない。ターゲットデータ１５ｂに示す理想値が、直線ＫＷよりも他の軸に近い場合に、直線ＫＷに略平行な他の軸の周辺で当該他の軸から一定の距離にある格子点を抽出しても良いし、格子点の抽出をＲＧＢ空間ではなくＬ*ａ*ｂ*空間で行っても良い。抽出する格子点が所定の色空間内で均等に配置されていることも必須ではない。例えば、特に高精度に色変換を実施したい色の周辺で他の色より多数の格子点を抽出しても良い。
【０１４３】
さらに、上記ＬＵＴ１５ａは、ｓＲＧＢデータとＣＭＹＫｌｃｌｍデータとの対応関係を規定していたが、本発明による補正対象のＬＵＴとしては、所定の色空間内の色データとインク量データとの対応関係を規定していればよく、種々の構成を採用可能である。例えば、Ｌ*ａ*ｂ*空間内の座標データとインク量データとの対応関係を規定したＬＵＴであってもよい。むろん、インク量データがＣＭＹＫｌｃｌｍデータであることは必須ではなく、他のインクを搭載可能な印刷装置であれば、そのインク量を特定するインク量データについて規定するＬＵＴに対して本発明を適用することが可能である。
【０１４４】
さらに、上述のスムージング処理においてインク量を変動させながら評価関数Ｅsをできるだけ小さくするアルゴリズムとしては、アニーリング法に限られない。例えば、ニューラルネットワーク、遺伝的アルゴリズムを利用した最適化アルゴリズム等を採用可能である。すなわち、本発明のように評価関数によって各インク量データにおける階調変化を評価することができれば、いずれのアルゴリズムで最適化を行ったとしても階調を滑らかにすることが可能である。
【図面の簡単な説明】
【０１４５】
【図１】色変換テーブルの補正工程を概略的に説明する説明図である。
【図２】色変換テーブル補正装置のブロック図である。
【図３】色変換テーブル補正処理のフローチャートである。
【図４】パッチデータを特定する際の処理例を説明する説明図である。
【図５】インク量を補正する様子を説明する説明図である。
【図６】スムージング処理部における処理の説明図である。
【図７】２次微分による評価の考え方を説明する説明図である。
【図８】インクの代替を説明する説明図である。
【図９】スムージング処理のフローチャートである。
【図１０】印刷制御装置のブロック図である。
【符号の説明】
【０１４６】
１０…コンピュータ、１１…ディスプレイ、１２…印刷装置、１５ａ…ＬＵＴ、１５ｂ…ターゲットデータ、１５ｃ…対応関係データ、１５ｄ…グレーデータ、１５ｅ…スムージングパラメータ、２１…ＰＲＴＤＲＶ、３０…ＬＵＴ補正プログラム、３１…パッチデータ生成部、３２…測色値取得部、３３…インク量データ補正部、３３ａ…差分ベクトル算出部、３３ｂ…補正ベクトル算出部、３３ｃ…補間演算部、３４…スムージング処理部、４０…測色機
【図１】
2005144974.tif 000014
【図２】
2005144974.tif 000015
【図３】
2005144974.tif 000016
【図４】
2005144974.tif 000017
【図５】
2005144974.tif 000018
【図６】
2005144974.tif 000019
【図７】
2005144974.tif 000020
【図８】
2005144974.tif 000021
【図９】
2005144974.tif 000022
【図１０】
2005144974.tif 000023