(57)【要約】【課題】  補正者の熟練など人為的な要素に影響されずに、容易かつ的確に色変換テーブルを補正して、高精度の色変換を実施する色変換テーブルを作成することは困難であった。【解決手段】  所定の色空間内の色データと印刷装置で使用される各色のインク量を示すインク量データとの対応関係を規定した色変換テーブルを参照し、当該色変換テーブルに規定された複数のインク量データを補正するにあたり、上記色変換テーブルを示す色変換テーブルデータから上記複数のインク量データを取得し、特定の複数のインク量データが示す色の階調変化の滑らかさを評価するための評価関数を示す評価関数データを取得し、上記評価関数の評価が向上するように上記複数のインク量データのインク量を補正する。【選択図】  図１
2005161550.tif 000002
【特許請求の範囲】
【請求項１】
所定の色空間内の色データと印刷装置で使用される各色のインク量を示すインク量データとの対応関係を規定した色変換テーブルを参照し、当該色変換テーブルに規定された複数のインク量データを補正する色変換テーブル補正装置であって、
上記色変換テーブルを示す色変換テーブルデータから上記複数のインク量データを取得するインク量データ取得手段と、
特定の複数のインク量データが示す色の階調変化の滑らかさを評価するための評価関数を示す評価関数データを取得する評価関数データ取得手段と、
上記評価関数の評価が向上するように上記複数のインク量データのインク量を補正するインク量データ補正手段とを具備することを特徴とする色変換テーブル補正装置。
【請求項２】
上記インク量データ補正手段は、インク量データに基づいて上記評価関数の関数値を算出するとともに当該インク量データのインク量を補正し、当該補正後のインク量に基づいて再度評価関数の関数値を算出してインク量を補正する処理を繰り返して実施することを特徴とする上記請求項１に記載の色変換テーブル補正装置。
【請求項３】
上記評価関数は、近接するインク量データ同士でインク量の変化が大きいほど評価が低下する関数を含むことを特徴とする上記請求項１または請求項２のいずれかに記載の色変換テーブル補正装置。
【請求項４】
上記評価関数は、ある色のインク量を代替可能なインクで代替した場合に元のインク量データによる出力色と代替後のインク量データによる出力色との差が大きいほど評価が低下する関数を含むことを特徴とする上記請求項１〜請求項３のいずれかに記載の色変換テーブル補正装置。
【請求項５】
上記評価関数は、上記インク量データ補正手段による補正によって補正前のインク量が大きく変化するほど評価が低下する関数を含むことを特徴とする上記請求項１〜請求項４のいずれかに記載の色変換テーブル補正装置。
【請求項６】
上記評価関数は、インク量データが示す各色のインク量が負の値になると低い評価になる関数を含むことを特徴とする上記請求項１〜請求項５のいずれかに記載の色変換テーブル補正装置。
【請求項７】
上記評価関数は、インク量データが示すインク量が印刷実行対象となる印刷媒体におけるインク量制限を超えると低い評価になる関数を含むことを特徴とする上記請求項１〜請求項６のいずれかに記載の色変換テーブル補正装置。
【請求項８】
上記特定の複数のインク量データが示す色は、無彩色であるとともに異なる明度を有する複数の色であることを特徴とする上記請求項１〜請求項７のいずれかに記載の色変換テーブル補正装置。
【請求項９】
所定の色空間内の色データと印刷装置で使用される各色のインク量を示すインク量データとの対応関係を規定した色変換テーブルを参照し、当該色変換テーブルに規定された複数のインク量データを補正する色変換テーブル補正方法であって、
上記色変換テーブルを示す色変換テーブルデータから上記複数のインク量データを取得するインク量データ取得工程と、
特定の複数のインク量データが示す色の階調変化の滑らかさを評価するための評価関数を示す評価関数データを取得する評価関数データ取得工程と、
上記評価関数の評価が向上するように上記複数のインク量データのインク量を補正するインク量データ補正工程とを具備することを特徴とする色変換テーブル補正方法。
【請求項１０】
所定の色空間内の色データと印刷装置で使用される各色のインク量を示すインク量データとの対応関係を規定した色変換テーブルを参照し、当該色変換テーブルに規定された複数のインク量データを補正する色変換テーブル補正プログラムであって、
上記色変換テーブルを示す色変換テーブルデータから上記複数のインク量データを取得するインク量データ取得機能と、
特定の複数のインク量データが示す色の階調変化の滑らかさを評価するための評価関数を示す評価関数データを取得する評価関数データ取得機能と、
上記評価関数の評価が向上するように上記複数のインク量データのインク量を補正するインク量データ補正機能とをコンピュータに実現させることを特徴とする色変換テーブル補正プログラム。
【請求項１１】
所定の色空間内の色データを印刷装置で使用される各色のインク量を示すインク量データに変換し、当該インク量データに基づいて上記印刷装置に印刷を実行させる印刷制御装置であって、
上記所定の色空間内の色データによって各画素の色を表現した画像データを取得する画像データ取得手段と、
上記所定の色空間内の色データと印刷装置で使用される各色のインク量を示すインク量データとの対応関係を規定した色変換テーブルであって、特定の複数のインク量データについては、当該特定の複数のインク量データが示す色の階調変化の滑らかさを評価するための評価関数の評価が向上するように補正が実施された色変換テーブルを参照し、上記画像データが示す各画素の色をインク量データに変換する色変換手段と、
変換後のインク量データに基づいて印刷を実行する印刷実行手段とを具備することを特徴とする印刷制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、色変換テーブル補正装置、色変換テーブル補正方法、色変換テーブル補正プログラムおよび印刷制御装置に関する。
【背景技術】
【０００２】
近年、カラープリンタとしてインクジェットプリンタやレーザプリンタなどが普及してきている。カラープリンタでは、入力カラー画像データを複数のインク量の組み合わせに変換する色変換テーブルが用いられる。色変換テーブルとしては、例えば入力カラー画像データと複数のインク量の組み合わせとを対応づけたルックアップテーブルがよく利用される。（例えば、特許文献１参照）。
【特許文献１】特開２００３−２７４２１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述した従来の色変換テーブルでは、以下のような課題があった。
すなわち、入力カラー画像データと複数のインク量の組み合わせとを対応づけることによって色変換テーブルを作成しても、色変換テーブルで対応関係を規定する色の数は限られている。従って、補間によって色変換を実施する際に補間誤差等による誤差が生じることは避けられない。これらの誤差によれば入力カラー画像データが示す色とインク量とがわずかに異なる色に変換されることになるが、色変換テーブルの変換精度を全体として見たときにこの誤差がわずかであっても、特定の複数色の階調変化について着目すると誤差が許容できない場合がある。例えば、グレーのグラデーションなど変化がわかりやすい色では、この色変換誤差が無視できない。このような誤差を解消するために人為的に色変換テーブルに規定されたインク量データを補正することも考えられるが、人為的な補正では補正者の熟練が必要であるし、補正者によって精度にバラツキが生じてしまう。
本発明は、上記課題にかんがみてなされたもので、補正者の熟練など人為的な要素に影響されずに、容易かつ的確に色変換テーブルを補正して、滑らかな階調変化の色を出力可能な色変換テーブルを作成する色変換テーブル補正装置、色変換テーブル補正方法、色変換テーブル補正プログラムおよび印刷制御装置の提供を目的とする。
【課題を解決するための手段】
【０００４】
上記目的の少なくとも一つを達成するため、請求項１にかかる発明では、予め規定された色変換テーブルにつき、特定のインク量データを補正する。すなわち、インク量データを補正し、特定の色については、所定の色空間内の色データが元の色変換テーブルと異なるインク量データに変換されるようにする。この補正は、評価関数の評価を向上するようにインク量を変更することによって実施される。この評価関数では複数のインク量データが示す色の階調変化の滑らかさを評価する。
【０００５】
従って、補正後の色変換テーブルによって色変換を実施すると、特定の色については階調変化が非常に滑らかな状態で印刷を実行可能なデータが得られる。このため、実際の印刷結果においても階調変化が非常に滑らかになる。また、インク量の補正量は、評価関数に基づいて客観的に決定されるので、補正者の熟練など人為的な要素に影響されずに、容易かつ的確に色変換テーブルを補正することができる。
【０００６】
ここで、色変換テーブルデータ取得手段で取得されるテーブルは予め作成されていればよいが、取得される色変換テーブルデータは本発明による補正によって色変換の精度が向上するテーブルである。従って、全てのインク量データについて高精度に色変換を実施し、滑らかに階調が変化する印刷物を得るような色変換テーブルデータではなく、ある程度の誤差およびトーンジャンプが生じ得るテーブルである。また、本発明においては、特定の複数のインク量データについて補正するため、特定の複数のインク量データが示す色について特に滑らかな出力が要求される際に本発明を適用するのが好ましい。
【０００７】
また、色変換テーブルデータにおいては、所定の色空間内の色データをインク量データに変換可能であればよく、このために所定の色空間内の色データと印刷装置で使用される各色のインク量を示すインク量データとの対応関係を規定していればよい。従って、複数の色について上記色データとインク量データとを対応づけたデータであっても良いし、複数のパラメータに基づいて両者の関係を規定したプロファイルデータであっても良い。
【０００８】
また、所定の色空間は、印刷装置で使用されるインクの量を成分としたインク量空間と異なる表色系の色空間であればよく、印刷装置と異なる画像機器で使用する色空間や機器非依存色空間など種々の色空間を採用可能である。例えば、前者としてはディスプレイで使用するｓＲＧＢ空間やスキャナで使用するＲＧＢ空間等を採用可能であるし、後者としてはＬ*ａ*ｂ*空間やＬ*ｕ*ｖ*空間等を採用可能である。むろん、所定の色空間内の色データとしては、当該色空間内で色を特定するためのデータであればよく、各表色系における各色成分の大きさを階調表現したデータ等を採用可能である。
【０００９】
評価関数データ取得手段においては、複数のインク量データが示す色の階調変化の滑らかさを評価することができればよく、種々の関数を採用可能である。例えば、階調変化が滑らかになるほど値が小さくあるいは大きくなる関数を規定すれば、あるインク量データについてその関数値を算出することによって階調変化の滑らかさを評価することが可能になる。尚、関数値を算出するためには、予め関数形および各種パラメータを決めておいてもよいし、関数形やパラメータを示すデータを所定の記憶媒体に記憶しておき、記憶媒体を参照することによって関数値を算出してもよい。後者であれば、関数形やパラメータの変更が容易である。
【００１０】
インク量データ補正手段においては、インク量を補正するに当たり、評価関数の評価が向上するインク量を選択する。すなわち、評価関数の値がインク量に依存し、インク量の変更によって評価関数の評価が変更するように構成することができればよく、種々の構成を採用可能である。最も単純には、評価関数の変数がインク量であるような評価関数を規定すればよい。
【００１１】
むろん、この補正は、一回のみで終了することが必須というわけではない。例えば、上記インク量データ補正手段によって補正を行った後に、再度評価関数の関数値を算出し、評価関数による評価を更に向上させるように構成してもよい。すなわち、補正を繰り返すことによって徐々に理想的なインク量（滑らかな階調変化での印刷が実施可能なインク量）に近づけるように処理を実施してもよい。また、補正を繰り返す場合の具体的な補正手法としては種々の手法を採用可能であり、種々の最適化アルゴリズムによってインク量を最適化することが可能である。一般に、インク量データは整数値であるので、整数値の最適化を実施するためのアルゴリズムを採用するのが好ましい。
【００１２】
評価関数としては、種々の関数を採用可能である。例えば、近接するインク量データ同士でインク量の変化が大きいほど評価が低下する関数を含むように構成可能である。ここで、近接するインク量データとは、特定の複数のインク量データのうち、その色あるいはインク量データの値自体が近いデータを指す。すなわち、近接するインク量データでインク量の変化が大きいほど、補間精度に誤差が発生しやすく、トーンジャンプが発生しやすい。そこで、評価関数によって近接するインク量データのインク量の変化を評価し、評価関数の評価を向上させれば、滑らかな階調の印刷を実行可能なインク量にすることができる。
【００１３】
インク量の変化としては、種々の変化を採用可能である。例えば、インク量の変化率の変化率、すなわち２次微分値をインク量の変化として採用可能である。インク量の変化率が大きく変動する場合には、インク量の傾きが滑らかではないことを意味するので、トーンジャンプが発生しやすいと考えることができる。また、特定の複数のインク量データは一般的に整数値であって離散的であるので厳密に２次微分を定義することはできないが、２次微分に相当するようにインク量の変化率の変化率を定義することは可能である。例えば、所定の色空間内の色データの変化を分母、各色データに対するインク量データの変化を分子として１次微分を定義し、さらに所定の色空間内の色データの変化を分母、１次微分値の変化を分子とすれば２次微分を定義することができる。
【００１４】
また、評価関数としては、ある色のインク量を代替可能なインクで代替した場合に元のインク量データによる出力色と代替後のインク量データによる出力色との差が大きいほど評価が低下する関数を含むように構成可能である。ここで、代替可能な色のインクとしては、印刷媒体上に同インクが付着したときに代替前の色と同等の色に見えるように記録可能なインクであればよく種々の構成を採用可能である。例えば、単位重量あたりの色剤量が異なることによって単位量のインクが媒体上に付着した状態で色相が略同一であって濃度が異なるような濃淡インクはいずれかが互いに代替可能である。例えば、このような濃淡インクにおいては濃インク１に対して淡インク４の比率で媒体上にインクを付着させればほぼ同色に見えるなどインク吐出量を調節することによって代替可能である。
【００１５】
また、複数の色相のインクを組み合わせて微小位置に付着させると人間の目に他の色として見えることもある。従って、特定の色を色相の異なる複数のインクの組み合わせで代替可能であるときにこれら複数のインクを上記代替可能な色とする構成を採用してもよいし、複数のインクの組み合わせによって表現される色を特定の色で代替可能であるときにその色を上記代替可能な色のインクとしてもよい。
【００１６】
例えば、ＣＭＹ（シアン，マゼンタ，イエロー）の三色を組み合わせることによりＫ（ブラック）を表現することができる。従って、ＣＭＹの三色を特定色のインクとしてＫを代替可能な色のインクとしてもよいし、Ｋを特定色のインクとしてＣＭＹの三色を代替可能な色のインクとしてもよい。むろん、他にも、Ｒ（レッド）インクをＭインクとＹインクとで代替する構成など種々の構成を採用可能である。すなわち、特定の複数のインク量データによってそれぞれの色を印刷し、これらの色の変化が滑らかになっていない場合、代替可能なインクで代替を行えば、階調変化が滑らかになる場合がある。
【００１７】
例えば、濃インクを淡インクで置き換えたとき、置き換えによって粒状性が小さくなり、トーンジャンプを感じにくくなるなど、インクの代替によって階調変化が滑らかになる可能性がある。そこで、インク量に依存する評価関数において、代替前後の色の変化が小さいほど評価関数による評価が高くなるようにしておけば、大きな色の変化を生じさせるようなインク量は評価が低くなり、補正の候補にならない。従って、このような評価関数を定義しておけば、その結果として得られるインク量データが代替後のインク量データであると考えることができる。従って、この評価関数の評価を向上させれば、滑らかな階調の印刷を実行可能なインク量にすることができる。
【００１８】
代替前後の色を評価するためには種々の指標を採用可能である。例えば、各インク量から所定の色空間における色を算出し、当該所定の色空間内における色が代替前後で変化する程度を評価する構成を採用可能である。むろん、所定の色空間としては、種々の色空間を採用可能であるが、３次元色空間であれば単純なマトリクス変換等でインク量を３次元色空間内の座標に変換可能であって好ましい。３次元色空間としても特に限定されず、ＲＧＢ空間、Ｌ*ａ*ｂ*空間、ＣＭＹ空間等種々の空間を採用可能である。
【００１９】
尚、インク量データがＣＭＹ系のインク、例えば、ＣＭＹＫインクやｌｃｌｍインク等の組み合わせである場合、上記３次元色空間としては、ＣＭＹ空間を採用するのが好ましい。ＣＭＹ空間であれば、インクの代替関係を重量等で考えることにより、非常に単純なマトリクスで上記マトリクス変換を実施可能であるからである。むろん、ＣＭＹ系のインク以外、例えば、ＲＧＢ系のインクを含む場合に上記３次元色空間としてＲＧＢ空間を採用するなどの構成を採用しても良い。また、上記変換はマトリクス変換ではなくより高度な変換であっても良い。
【００２０】
さらに、評価関数としては、上記インク量データ補正手段による補正によって補正前のインク量が大きく変化するほど評価が低下する関数を含むように構成可能である。すなわち、インク量データを補正するにしても、本発明においては、既に作成された色変換テーブルの一部について補正を行うのである以上、インク量を大きく変化させると異常なインク量になってしまうなど不都合が生じるおそれが高い。また、上述のように複数回の補正を繰り返す最適化処理を実施する構成において一旦大きな補正を行ってしまうと、解が発散し評価関数を小さくするインク量を算出できないなどの不都合が生じ得る。
【００２１】
そこで、補正前のインク量が大きく変化するほど評価が低下するように関数を定義しておけば、できるだけ小さな範囲でインク量を変化させながら評価関数の評価を向上させることが可能になる。従って、速やかに適正な解（適正な補正後のインク量データ）を得ることができる。補正前後のインク量の変化を評価するためには種々の指標を採用可能である。例えば、補正前のインク量と補正後のインク量との差分の大きさに相当する項を評価関数に含めるなどの構成を採用可能である。
【００２２】
さらに、評価関数としては、インク量データが示す各色のインク量が負の値になると低い評価になる関数を含むように構成可能である。すなわち、一般のインク量データにおいて階調値は正の値である。しかし、上述の最適化アルゴリズムなどによって補正を自動で行う場合には階調値が負の値になってしまうこともあり得る。そこで、インク量が負の値であるときに評価が低くなるように関数を定義すれば、明らかに異常な負の値を排除しながら評価関数の評価を向上させることが可能になる。むろん、インク量が負の値になることを全く認めないようにするため、インク量が負の値になっていることを示す関数値である場合に、そのインク量による補正を行わないように構成しても良い。
【００２３】
さらに、評価関数としては、インク量データが示すインク量が印刷実行対象となる印刷媒体におけるインク量制限を超えると低い評価になる関数を含むように構成可能である。すなわち、印刷装置によって印刷媒体上にインクを記録する場合には、通常、印刷媒体毎にインク量制限が存在する。そこで、インク量がインク量制限を超えたときに評価が低下するように関数を定義しておけば、インク量制限内でインク量を変化させながら評価関数の評価を向上させることが可能になる。
【００２４】
従って、印刷媒体上に過大な量のインクを記録するようなインク量データに補正することを防止することができる。むろん、インク量制限を超えたインク量を全く認めないようにするため、インク量制限を超えていることを示す関数値である場合に、そのインク量による補正を行わないように構成しても良い。インク量制限を超えるか否かを評価するためには種々の指標を採用可能である。例えば、予めインク量制限値を決めておき、印刷媒体上に記録されるインク量と当該インク量制限値との差分の大きさに相当する項を評価関数に含めるなどの構成を採用可能である。
【００２５】
また、本発明は、特定の複数のインク量データについて補正を行うことにより、滑らかな階調変化の色を出力可能な色変換テーブルを作成するものである。従って、予め作成された色変換テーブルにおける出力物では特定の複数の色についてトーンジャンプが発生する場合に、当該特定の複数の色あるいは特定の複数の色に近い色に相当するインク量データを補正対象とする。この特定の色としては、種々の色を採用可能であり、例えば、明度が異なる複数の無彩色を当該特定の色として採用可能である。これらの色を特定の色とすれば、グレーの色変換精度を向上することが可能であり、補正後の色変換テーブルによってグレーのグラデーションを非常に高画質に印刷させることが可能である。
【００２６】
むろん、特定の色としては無彩色に限られない。例えば、肌色および肌色に近い色を特定の色として、滑らかな階調変化の肌色を出力可能するための色変換テーブルとしても良いし、青色および青色に近い色を特定の色として、滑らかな階調変化の青色を出力可能するための色変換テーブルとしても良い。また、赤色および赤色に近い色を特定の色として、滑らかな階調変化の赤色を出力可能するための色変換テーブルとしても良いし、緑色および緑色に近い色を特定の色として、木々を含む風景等を滑らかな階調で表現するための色変換テーブルとしても良いなど、種々の構成を採用可能である。
【００２７】
ところで、上述した色変換テーブル補正装置は、単独で実施される場合もあるし、ある機器に組み込まれた状態で他の方法とともに実施されることもあるなど、発明の思想としては各種の態様を含むものであって、適宜、変更可能である。また、上述した評価関数に基づいて補正を行う手法は、所定の手順に従って処理を進めていくうえで、その根底にはその手順に発明が存在するということは当然である。したがって、本発明は方法としても適用可能であり、請求項９にかかる発明においても、基本的には同様の作用となる。本発明を実施しようとする際に、色変換テーブル補正装置にて所定のプログラムを実行させる場合もある。本発明は、そのプログラムとしても適用可能であり、請求項１０にかかる発明においても、基本的には同様の作用となる。
【００２８】
むろん、請求項２〜請求項８に記載された構成を上記方法やプログラムに対応させることも可能である。また、いかなる記憶媒体もプログラムを提供するために使用可能である。例えば、磁気記録媒体や光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一部がソフトウェアであって、一部がハードウェアで実現される場合においても本発明の思想において全く異なるものではなく、一部を記録媒体上に記録しておいて必要に応じて適宜読み込む形態のものも含まれる。さらに、一次複製品、二次複製品などの複製段階については全く同等である。
【００２９】
さらに、本発明によって補正された色変換テーブルを参照して印刷を実行する請求項１１のような印刷制御装置においても本発明を利用していると言える。むろん、印刷制御装置を実現するための方法あるいはプログラムであっても本発明を利用していると言える。
【発明を実施するための最良の形態】
【００３０】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
（１）本発明の概要
（２）色変換テーブル補正装置の構成
（３）スムージング処理
（３−１）評価関数Ｅn
（３−２）評価関数Ｅd
（３−３）評価関数Ｅq
（３−４）評価関数Ｅv
（３−５）評価関数Ｅi
（３−６）スムージング処理の流れ
（４）他の実施形態
【００３１】
（１）本発明の概要
図１は、本発明における処理の概要を説明するための説明図である。同図中央には色変換テーブルデータ（ＬＵＴ１５ａ）から抽出される補正対象のインク量データを示しており、本発明においてはこれら補正対象のインク量データに対してスムージング処理を行う。ＬＵＴ１５ａは、ｓＲＧＢ色空間におけるＲＧＢ（レッド、グリーン、ブルー）階調値を示すｓＲＧＢデータとＣＭＹＫｌｃｌｍ（シアン、マゼンタ、イエロー、ブラック、ライトシアン、ライトマゼンタ）の各インク色の階調値を示すＣＭＹＫｌｃｌｍデータ（インク量データ）との対応関係を規定している。
【００３２】
すなわち、ＬＵＴ１５ａは、ｓＲＧＢデータで画像の色を特定した画像データを入力し、ＣＭＹＫｌｃｌｍの各色インクを搭載した印刷装置にて印刷を実行する際に参照されるルックアップテーブルデータである。図１に示す例では、ｓＲＧＢデータの各成分は０〜２５５の階調値で表現され、各成分の階調値域を略１６等分し、得られた値を組み合わせて生成される階調値の組み合わせがＬＵＴ１５ａに登録されている。すなわち、ＲＧＢの各成分が、”０，１６，３２，，，，２５５”のいずれかの値を有するｓＲＧＢデータについて、その色と同じ色の出力を行わせるためのＣＭＹＫｌｃｌｍデータが対応づけられている。尚、図１に示す例ではＣＭＹＫｌｃｌｍデータにおいても、各成分を０〜２５５の階調値で表現し、各成分の階調値を組み合わせて出力色を表現する構成等を採用可能である。
【００３３】
ｓＲＧＢデータはｓＲＧＢ規格に準拠したデータであり、各ＲＧＢ値の組み合わせに対応する色は既知である。すなわち、既知の演算式等によって任意のｓＲＧＢデータをＬ*ａ*ｂ*空間等の機器非依存色空間内のデータに対応づけることができる。しかし、ＣＭＹＫｌｃｌｍデータは機器依存色であり、各ＣＭＹＫｌｃｌｍ値の組み合わせに対応する色は印刷装置の機種や印刷条件、印刷媒体等に依存する。
【００３４】
そこで、一般にはＬＵＴ１５ａを適用する対象の印刷装置、印刷条件、印刷媒体等を特定しつつＣＭＹＫｌｃｌｍデータによって複数のパッチを印刷し、測色機等によってそのＣＭＹＫｌｃｌｍデータにおける出力色を機器非依存色空間内のデータとして特定する。そして、機器非依存色空間内でｓＲＧＢデータが示す色とＣＭＹＫｌｃｌｍデータが示す色とを対応づけることにより、特定のｓＲＧＢデータと同色の色を出力するためのＣＭＹＫｌｃｌｍデータを対応付けてＬＵＴ１５ａを作成する。
【００３５】
ここで、ＬＵＴ１５ａに規定される色数は、特に限定されないが、一般には上述のようにして決定され、１７3個あるいはそれ以上であることが多い。このような膨大な数の色とほぼ同程度の色数のパッチについて印刷を実施し、測色を行うのは非常に困難な作業であり、実質的には不可能である。そこで、１７3個より少数、例えば、１０3個のパッチについて印刷を行って測色を行い、これらの測色結果から補間演算によってｓＲＧＢデータに対応するＣＭＹＫｌｃｌｍデータを算出するのが通常である。
【００３６】
しかし、このように作成したＬＵＴ１５ａにおける色変換精度には、上記補間演算による誤差、測色時の誤差等を含んでおり、非常に高精度の色変換が要求される特定の色については、このような誤差が画質低下の要因になってしまう。色の変換精度が無作為に変動すると、グレーのグラデーションなど階調変化がわかりやすい特定の色で特に画質が低下してしまう。本発明は、上述のような特定の色について高精度で所望の色に変換できるようにするためにＬＵＴ１５ａを補正するものであり、図１に示す例では、特定の色としてグレーを採用しており、抽出されたデータを同図中央に示している。
【００３７】
本実施形態におけるスムージング処理では、当該特定の色を示す各インク量データ（図１においてはＣＭＹＫｌｃｌｍデータ）に対して評価関数Ｅsを規定し、この評価関数Ｅsをできるだけ小さくするようにインク量データを変更することによってインク量データによる出力のグラデーションを滑らかにする。すなわち、評価関数Ｅsをできるだけ小さくするようにインク量データにおける各インクのインク量を最適化する。この最適化処理には種々のアルゴリズムを採用可能であるが、インク量は通常整数値であるので、整数値に対して適用するアルゴリズムであることが好ましい。
【００３８】
評価関数Ｅsは、インク量データが示す階調の変化を評価する複数の評価関数（Ｅq，Ｅv，Ｅi）の線形結合である。また、本実施形態では、評価関数Ｅn，Ｅdを定義し、評価関数Ｅsをできるだけ小さくするよう最適化する際にこれらの評価関数Ｅn，Ｅdが０より大きくならないように束縛条件を課している。これらの評価関数の値は、予め用意された評価関数データ１５ｂ、スムージングパラメータ１５ｃおよびインク量データによって計算される。
【００３９】
すなわち、図１に示すようにＣＭＹＫｌｃｌｍの各階調値がＣ0Ｍ0Ｙ0Ｋ0ｌｃ0ｌｍ0となっているインク量データから評価関数Ｅsを算出し、評価関数Ｅn，Ｅdによる束縛条件を課しながらインク量データを変動させる。この変動によってインク量データが最適化されると、そのときのインク量データＣ'0Ｍ'0Ｙ'0Ｋ'0ｌｃ'0ｌｍ'0によって元のインク量データを更新する。
【００４０】
評価関数Ｅsは、図１の中央に示す複数のインク量データによって印刷される印刷物の階調変化の滑らかさを評価する関数である。本発明では、この評価を向上させてインク量データを最適化しているので、インク量の更新によって得られたＬＵＴを参照して印刷を実行すると、階調変化が非常に滑らかな印刷物を得ることができる。また、この最適化処理において、インク量データの補正量は評価関数に基づいて決定され、人為的に決定される要素を含まないので、補正者の熟練など人為的な要素に影響されずに、容易かつ的確に色変換テーブルを補正することが可能である。
【００４１】
（２）色変換テーブル補正装置の構成
以下、本発明を実施するための構成を詳述する。図２は、本発明にかかる色変換テーブル補正装置として機能するコンピュータ１０の構成を示すブロック図である。図２においてコンピュータ１０は汎用的なパーソナルコンピュータにて実現可能であり、ディスプレイ１１とキーボード１３ａ、マウス１３ｂが接続されている。また、コンピュータ１０においては、図示しないＣＰＵ，ＲＡＭ，ＲＯＭ等のプログラム実行環境を備えており、図示しないＯＳの制御下で後述するスムージング処理プログラム２０や図示しないアプリケーションプログラム等を実行可能である。すなわち、利用者が行うキーボード１３ａ等の操作に応じてプログラムを実行させることができる。
【００４２】
スムージング処理プログラム２０は、インク量データ取得部２１と評価関数算出部２２と最適化部２３とを備えており、上記ＬＵＴ１５ａと評価関数データ１５ｂとスムージングパラメータ１５ｃとを参照してＬＵＴ１５ａの補正を実施することができる。尚、図２に示す例において、ＬＵＴ１５ａと評価関数データ１５ｂとスムージングパラメータ１５ｃとは予めコンピュータ１０が備えるＨＤＤ１５に記録されているが、上記キーボード１３ａやマウス１３ｂでパラメータ値や関数形の変更を実施可能に構成するなど、種々の構成を採用可能である。
【００４３】
評価関数データ１５ｂは、上記評価関数Ｅd，Ｅnおよび評価関数Ｅq，Ｅv，Ｅiの関数形を示すデータおよび評価関数を計算するために必要な演算の式を示すデータである。また、スムージングパラメータ１５ｃは、これらの評価関数を計算する際に使用されるパラメータ値を示すデータであり、詳細は後述する。
【００４４】
インク量データ取得部２１は、上記ＨＤＤ１５に記録されているＬＵＴ１５ａから、特定の色（上記図１に示す例ではグレー）のインク量データｉnを抽出し取得する。取得したインク量データｉnは、評価関数算出部２２に受け渡される。評価関数算出部２２は、当該インク量データｉnを取得し、また、上記ＨＤＤ１５に記録された評価関数データ１５ｂおよびスムージングパラメータ１５ｃから適宜必要なデータを抽出して、評価関数の値を算出する。
【００４５】
最適化部２３は、算出された評価関数Ｅq，Ｅv，Ｅiの値、インク量データｉn、スムージングパラメータ１５ｃを用いてインク量データｉnを最適化するための処理を行う。すなわち、上記評価関数Ｅd，Ｅnが示す束縛条件を満たし、また、評価関数Ｅsを小さくするように上記インク量データｉnを変動させる。評価関数算出部２２は、変動後のインク量データｉ'nを利用して再度、評価関数値を算出する。
【００４６】
本実施形態においては、評価関数算出部２２と最適化部２３とが以上の処理を繰り返すことによって、インク量データｉnを最適化する。むろん、この繰り返し工程においては、インク量データｉnを変動させるたびに評価関数Ｅsが小さくなるように処理することが必須ではない。すなわち、ある時点におけるインク量データｉnの変動によって評価関数Ｅsが大きくなったとしても、複数回の繰り返しの後に評価関数Ｅsが小さくなっていればよい。
【００４７】
尚、スムージング処理プログラム２０では、インク量データを変動させることにより評価関数の値が小さなインク量データを取得することができればよく、種々のアルゴリズムを採用可能である。この処理の詳細は後述する。  以上のようにしてインク量データｉnを最適化した後には、当該最適化されたインク量データｉnによってＬＵＴ１５ａのインク量データを更新する。すなわち、評価関数Ｅsによる評価を向上させるようにインク量データを補正する。このようにして補正されたＬＵＴを用いて印刷を実行すれば、階調変化が非常に滑らかな印刷物を得ることができる。
【００４８】
（３）スムージング処理
次に、以上の色変換テーブル補正装置において実行するスムージング処理を詳説する。スムージング処理によって利用される各評価関数の関数形は予め決められており、例えば、以下の様にして算出することができる。
【００４９】
（３−１）評価関数Ｅn
評価関数Ｅnは、インク量が負の値になっているか否かを評価するための評価関数であり、下記式（１）のように定義する。
【数１】
2005161550.tif 000003
ここで、Ｊはインク数を示す自然数であり、ｎは色を識別するための識別番号を示す自然数である。また、ｍはスムージング対象のインク量データを示す自然数であり、上記補正対象のインク量データを識別する番号である。従って、ｉmnは、ｍ番目のインク量データにおけるインク色ｎのインク量を表す。ｔｍｐnはインク色番号ｎの場合の一時変数である。
【００５０】
また、ｗnは重み係数であり、図２に示すように上記スムージングパラメータ１５ｃとして予め特定されている。式（１）は、インク量が負である場合にその大きさの二乗に対して重み係数ｗnを乗じて線形結合したものであり、本実施形態ではこの評価関数Ｅnが”０”より大きくならないように束縛条件をかける。従って、評価関数Ｅsをできるだけ小さな値にするインク量の最適化処理に際し、インク量が負の値にならないようにインク量を変動させることができる。
【００５１】
（３−２）評価関数Ｅd
評価関数Ｅdは、印刷媒体上に記録されるインク量がインク量制限以下であるか否かを評価するための評価関数であり、下記式（２）のように定義する。
【数２】
2005161550.tif 000004
ここで、Ｋはインク量制限の条件数を示す自然数であり、ｌはその識別番号を示す自然数であり、Ｊ，ｎ，ｍ，ｉmnは上記式（１）と同様である。Ｄｌは条件番号ｌのインク量を表し、ｕlnは条件番号ｌの場合にインク色番号ｎのインク量を加算するか否かを決定するための係数で、”０”あるいは”１”を取る。
【００５２】
例えば、条件番号ｌの条件がインク色番号ｎ＝ｎ１の１次色（単色）のインク量制限に関する条件であれば、ｕln＝１であり、それ以外のインク色番号に対してｕln＝０となる。条件番号ｌがトータルインク量に関する条件であるならば、全てのインク色番号でｕln＝１となる。また、ＤLlは条件番号ｌの場合の、インク量制限値を表している。すなわち、インク量制限には、同時に使用するインク色数、インクの組み合わせによって複数個の条件が存在し得るので、各条件に番号を付けて識別できるようにする。
【００５３】
尚、ｔｍｐlは条件番号ｌの場合の一時変数である。また、ｗdは重みを表す係数である。これらのｗd，ｕln，ＤLlは、図２に示すように上記スムージングパラメータ１５ｃとして予め特定されている。以上の式（２）においては、インク量（Ｄｌ）がインク量制限値（ＤLl）を超えた場合に上記一時変数ｔｍｐlが”０”より大きな値になり、その線形結合が評価関数Ｅdとなる。本実施形態ではこの評価関数Ｅdが”０”より大きくならないように束縛条件をかけるので、評価関数Ｅsをできるだけ小さな値にするインク量の最適化処理に際し、インク量制限値を超えないようにインク量を変動させることができる。
【００５４】
（３−３）評価関数Ｅq
評価関数Ｅqは、近接するインク量データ（図１に示す中央の補正対象インク量データのようにｓＲＧＢデータを大きさ順に並べたときに隣り合っているデータ）におけるインク量の変化率を評価するための評価関数であり、下記式（３）のように定義する。
【数３】
2005161550.tif 000005
ここで、Ｊ，ｎ，ｍは上記式（１）と同様であり、ｉqはインク量の２次微分ベクトルの各要素を示している。ｗqは重み係数であり、各インク量の２次微分値が評価関数Ｅqに寄与する度合いを決定する値である。
【００５５】
インク量の２次微分ベクトルは、種々の手法によって算出することができるが、本実施形態に適用する一例として式（４）に示すような１次微分を利用して式（５）に示す２次微分を算出する構成を採用可能である。
【数４】
2005161550.tif 000006
【００５６】
ここで、ｍは上記式（１）と同様にスムージング対象のインク量データを示す自然数であり、ここではスムージング対象のインク量データをＴ＋１個（番号０〜Ｔ）としている。ＲmはｓＲＧＢデータの階調値を示し、ベクトルＩmはインク量データの各色の階調値を要素とするベクトルを示している。
【００５７】
尚、本実施形態においてスムージング対象のｓＲＧＢデータはＲ＝Ｇ＝Ｂであるから、ｓＲＧＢデータはベクトル量とせず、スカラー量としてある。また、ここではｓＲＧＢデータの値が小さい順に番号ｍを振っており、階調値が小さい順にＲ0，Ｒ1，…，ＲTであり、各階調値に対応するインク量ベクトルがベクトルＩ0，Ｉ1，…，ＩTである。例えば、上記図１では、ｓＲＧＢデータの値”０”のインク量データが番号０のインク量データに対応し、ｓＲＧＢデータの値”２５５”のインク量データが番号Ｔのインク量データに対応する。
【００５８】
式（４）の第１式において、ベクトルＩpmは、階調値Ｒmの変化に対するインク量ベクトルＩmの変化を示しているので、これはインク量データの１次微分、すなわち、インク量ベクトルの変化率を示している。式（４）の第２式はこのような１次微分値となるｓＲＧＢデータの階調値Ｒpmを定義しており、同第２式に示すように、本実施形態では階調値Ｒmと階調値Ｒm+1との中点と定義した。
【００５９】
以上のように１次微分ベクトルＩpmとその階調値Ｒpmを定義すると、以下の式（５）によって２次微分ベクトルを計算することが可能になる。
【数５】
2005161550.tif 000007
【００６０】
ここで、ｍは上記式（４）と同様であるが、その値域は１〜Ｔ−１である。以上の式において、ｗqは、図２に示すように上記スムージングパラメータ１５ｃとして予め特定されている。式（５）において、ベクトルＩqmは、階調値Ｒpmの変化に対する１次微分ベクトルＩpmの変化を示しているので、これはインク量データの２次微分、すなわち、インク量ベクトルの変化率の変化率を示している。インク量ベクトルの変化率の変化率を評価することができれば、インク量データによる階調変化の滑らかさを評価することができる。
【００６１】
すなわち、インク量の変化率が急激に変わるような場合には、そのインク量データによる出力色の階調が急激に変化するトーンジャンプが発生しやすいが、インク量の変化率が滑らかに変わるのであれば、このようなトーンジャンプは発生しにくい。図３は、このような２次微分による評価の基本的な考え方を一例に基づいて説明する説明図である。同図においては、濃インク（ＣあるいはＭインク）と淡インク（ｌｃあるいはｌｍインク）とによって表現される出力色の明度とインク記録率との関係を示している。
【００６２】
同図に示す実線は、スムージング処理前のインク量データにおける例を示しており、表現可能な明度値域を０〜１００としたときに、暗い明度の０から明るくなるにつれて濃インクの記録率が低下し、ある明度から淡インクを使用し始め、ある明度で濃インクを記録しなくなり、それより明るい明度では淡インクのみを記録して徐々に明度を高くすることを示している。同図に示す例では、淡インクの使用／未使用を切り換える明度Ｌ0と濃インクの使用／未使用を切り換える明度Ｌ1とでトーンジャンプが発生しやすい。
【００６３】
実線に示す例のように、明度Ｌ0以下で淡インクを使用せず、明度Ｌ0以上で淡インクの使用量が直線的に増加すると、明度Ｌ0における淡インク量の２次微分値の絶対値は大きくなる。また、明度Ｌ1以上で濃インクを使用せず、明度Ｌ1以下で濃インクの使用量が直線的に増加すると、明度Ｌ1における濃インクの２次微分値の絶対値は大きくなる。むろん、これらの例のみならず、インク量の変化率が急激に変化すれば２次微分値の絶対値は大きくなる。また、濃淡インクを使用する場合のみならず、濃度の異なるインクを使用しない場合、３種類の濃度のインクを使用する場合等であっても２次微分値によってインク量の変化率が急激に変化すれば２次微分値の絶対値は大きくなる。
【００６４】
評価関数Ｅqにおいては、上述のように２次微分ベクトルにおける各要素の２乗に重み係数ｗqを乗じて線形結合している。従って、２次微分値が大きくなるほど、評価関数Ｅqの値が大きくなる。本実施形態においては、このような評価関数の定義において、評価関数Ｅsをできるだけ小さくするようにインク量データを変動させる。このため、２次微分値が小さなインク量データが得られる傾向が高く、図３に示すような実線のようにインク記録率の有無が急激に変化するものより、同図一点鎖線ようにインク記録率が滑らかに変化するようなインク量データが得られる。従って、トーンジャンプが発生しにくいインク量データを得ることができる。
【００６５】
（３−４）評価関数Ｅv
評価関数Ｅvは、ある色のインク量を代替可能な色のインクで代替した場合に元のインク量データによる出力色と代替後のインク量データによる出力色との差が大きいか否かを評価するための評価関数である。この評価関数としては、例えば、あるインクの微少量を代替可能なインクで代替する処理を定式化した関数によって定義することができる。すなわち、代替可能なインクによってインクの代替を行うと、インク量データにおける階調変化の滑らかさが改善する。例えば、濃インク量１と淡インク量４とがほぼ同明度の出力色になる場合に、濃インクを微少量１減らし、淡インクを微少量４増加させるようにインク量データを変更すれば、インク量データによる出力色をほとんど変化させることなく階調変化を滑らかにすることができる。
【００６６】
より具体的には下記式（６）のようにこの評価関数を定義することができる。
【数６】
2005161550.tif 000008
ここで、ｍは上記式（１）と同様であり、ｒはスムージング前のインク量データであることを示す識別符号であり、ｗvは補正前後のインク量をマトリクス変換した場合の差分が評価関数Ｅvに寄与する度合いを決定する値である。
【００６７】
ｓはマトリクス変換後の要素を示す識別符号であり、ｖmsは変動後のインク量データをマトリクスＡによって変換した結果の各要素を示しており、以下の式（７）における各要素である。
【数７】
2005161550.tif 000009
【００６８】
また、式（６）におけるｖrmsは変動前（スムージング処理前）のインク量データをマトリクスＡによって変換した結果の各要素を示しており、以下の式（８）における各要素である。
【数８】
2005161550.tif 000010
【００６９】
以上の式において、ｗv、マトリクスＡの各要素は、上記スムージングパラメータ１５ｃとして予め特定されている。尚、式（７），（８）においてマトリクスＡは、代替可能なインク同士における代替比率を要素とすることによって代替可能なインク同士の代替関係を示しており、例えば以下の式（９）などの値を採用可能である。
【数９】
2005161550.tif 000011
当該式（９）に示す例は、ＣＭＹＫｌｃｌｍデータを仮想的にＣＭＹデータに変換するマトリクスであり、マトリクスＡの１列目〜６列目までがＣ〜ｌｍに対応している。
【００７０】
すなわち、ＣＭＹＫｌｃｌｍの各色をＣＭＹ色空間に変換するに当たり、Ｃ，Ｍ，Ｙインクの各色はそれぞれ係数１が乗ぜられてＣＭＹ各色のみに寄与するのに対して、Ｋインクは係数１が乗ぜられてＣＭＹ全色に対して寄与する。これは、ＣＭＹ各インクを等量記録するとほぼ無彩色になることに基づいている。一方、濃インクであるＣ，Ｍインクの各色に対してそれぞれ係数１が乗ぜられてＣＭ各色のみに寄与するのに対して、淡インクｌｃ，ｌｍは係数０．２５が乗ぜられてＣＭ各色のみに寄与する。これは、上述の例と同様に濃インク量１による出力色と淡インク量４による出力色とがほぼ同明度になることに基づいている。
【００７１】
式（６）に示す評価関数Ｅvにおいては、上述のように補正前後のインク量データを変換した仮想的なＣＭＹ空間の各要素の差の２乗に重み係数ｗvを乗じて線形結合している。従って、仮想的なＣＭＹ空間の各要素で差が大きくなるほど、評価関数Ｅvの値が大きくなり、補正前後で色の実質的な変化が大きくなるほど評価関数Ｅvの値が大きくなる。
【００７２】
本実施形態では、このような評価関数の定義において、評価関数Ｅsをできるだけ小さくするようにインク量データを変動させる。この結果、色の実質的な変化が小さいようにインク量を変動させることができ、色を変化させることなく代替可能なインクの代替処理を実施することが可能になる。図４は、このようなインクの代替を説明する説明図である。同図においても濃インク（ＣあるいはＭインク）と淡インク（ｌｃあるいはｌｍインク）とによって表現される出力色の明度とインク記録率との関係を示している。また、同図に示す実線も上記図３と同様にスムージング処理前のインク量データにおける例を示している。
【００７３】
上記式（６）によれば、色の変動が小さな範囲でインクが代替されるようなインク量データの変動が許容されているので、例えば、上述の明度Ｌ0付近にて一点鎖線のように濃インクを減らし、淡インクを増加させた状態がインク量変動の選択肢として含まれる。また、上述の明度Ｌ1付近にて一点鎖線のように濃インクを増やし、淡インクを減少させた状態がインク量変動の選択肢として含まれる。むろん、これらの逆、すなわち、例えば、上述の明度Ｌ0付近にて濃インクを増加させ、淡インクを減少させた状態や明度Ｌ1付近にて濃インクを減らし、淡インクを増加させた状態もインク量変動の選択肢として含まれる。
【００７４】
一方、評価関数Ｅsは、評価関数Ｅvとともに上述の評価関数Ｅqを含むので、評価関数Ｅsをできるだけ小さくする処理の過程で、評価関数Ｅvと評価関数Ｅqとをともに小さくする。従って、この結果得られるインク量データにおいては、代替可能なインクについて代替を行うようにしてインク量を変動させながら、インク記録率が滑らかに変化するようなインク量データを取得することが可能になる。
【００７５】
（３−５）評価関数Ｅi
評価関数Ｅiは、スムージング処理による補正によって補正前のインク量が大きく変化するか否かを評価するための評価関数であり、下記式（１０）のように定義する。
【数１０】
2005161550.tif 000012
ここで、ｎ，ｍは上記式（１）と同様であり、ｒは上記式（６）と同様である。また、ｗinはインク色番号ｎにおいて、補正前後のインク量変化が評価関数Ｅiに寄与する度合いを決定する重み係数であり、ｗ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をできるだけ小さくするアルゴリズムとしては、アニーリング法に限られない。例えば、ニューラルネットワーク、遺伝的アルゴリズムを利用した最適化アルゴリズム等を採用可能である。すなわち、本発明のように評価関数によって各インク量データにおける階調変化を評価することができれば、いずれのアルゴリズムで最適化を行ったとしても階調を滑らかにすることが可能である。
【０１１０】
さらに、上述のＬＵＴ１５ａは、スムージング処理の前に予め用意されていればよく、スムージング処理の前に他の観点からインク量データに補正を施したものであっても良いし、スムージング処理の後に他の観点から補正を施しても良い。この構成によれば、特定の色あるいはその周辺の色をきれいなグラデーションで印刷することと、他の観点での補正による効果とを両立させることが可能になる。
【図面の簡単な説明】
【０１１１】
【図１】色変換テーブルの補正工程を概略的に説明する説明図である。
【図２】色変換テーブル補正装置のブロック図である。
【図３】２次微分による評価の考え方を説明する説明図である。
【図４】インクの代替を説明する説明図である。
【図５】スムージング処理のフローチャートである。
【図６】印刷制御装置のブロック図である。
【符号の説明】
【０１１２】
１０…コンピュータ、１１…ディスプレイ、１３ａ…キーボード、１３ｂ…マウス、１５ａ…ＬＵＴ、１５ｂ…評価関数データ、１５ｃ…スムージングパラメータ、２０…スムージング処理プログラム、２１…インク量データ取得部、２２…評価関数算出部、２３…最適化部
【図１】
2005161550.tif 000013
【図２】
2005161550.tif 000014
【図３】
2005161550.tif 000015
【図４】
2005161550.tif 000016
【図５】
2005161550.tif 000017
【図６】
2005161550.tif 000018