(57)【要約】【課題】  高精度の色変換を可能にするプロファイルの作成が困難であった。【解決手段】  第１色空間における格子点と第２色空間における格子点との対応関係を規定する基底格子点データを取得し、上記基底格子点データに規定された上記第１色空間における格子点の間に位置する派生格子点を形成するとともに当該派生格子点と第２色空間における格子点との対応関係を示す派生格子点データを取得し、第１色空間内の色成分値と第２色空間内の色成分値との関係を予め定義された理想関係に近づけることによって上記派生格子点に対応する第２色空間における格子点を最適化し、上記基底格子点データと上記最適化された値とに基づいて上記第１色空間における格子点と第２色空間における格子点との対応関係を規定する。【選択図】  図１
2005333575.tif 000002
【特許請求の範囲】
【請求項１】
第１色空間における格子点と第２色空間における格子点との対応関係を規定する基底格子点データを取得する基底格子点データ取得手段と、
上記基底格子点データに規定された上記第１色空間における格子点の間に位置する派生格子点を形成するとともに当該派生格子点と第２色空間における格子点との対応関係を示す派生格子点データを取得する派生格子点データ取得手段と、
第１色空間内の色成分値と第２色空間内の色成分値との関係を予め定義された理想関係に近づけることによって上記派生格子点に対応する第２色空間における格子点を最適化する最適化手段と、
上記基底格子点データと上記最適化された値とに基づいて上記第１色空間における格子点と第２色空間における格子点との対応関係を規定するプロファイルデータを生成するプロファイルデータ生成手段とを具備することを特徴とするプロファイル作成装置。
【請求項２】
上記基底格子点データに規定される第１色空間における格子点は、第１色空間に第１規則に従って配列する第１格子点と、第１色空間に第２規則に従って配列する第２格子点とを含むことを特徴とする上記請求項１に記載のプロファイル作成装置。
【請求項３】
上記第１規則は、上記第１色空間に形成される複数の平行な直線上に格子点を配列する規則であることを特徴とする上記請求項２に記載のプロファイル作成装置。
【請求項４】
上記第２規則は、隣接する複数の第１格子点からの距離の和が略最大になるように第２格子点を配列する規則であることを特徴とする上記請求項２または請求項３のいずれかに記載のプロファイル作成装置。
【請求項５】
上記第１規則と第２規則とのいずれかまたは双方は、第１色空間で直交格子を形成するように格子点を配列する規則であることを特徴とする上記請求項２〜請求項４のいずれかに記載のプロファイル作成装置。
【請求項６】
上記第１規則と第２規則とは、第１色空間で直交格子を形成するとともに、第１格子点を結ぶ直線と第２格子点を結ぶ直線とは互いに交わらないことを特徴とする上記請求項２〜請求項５のいずれかに記載のプロファイル作成装置。
【請求項７】
上記派生格子点データ取得手段は、第１色空間の色成分値を独立変数、第２色空間の色成分値を従属変数とした補間関数であって、補間対象の周囲の格子点における独立変数値と従属変数値と当該従属変数の２次微分値と補間対象の格子点における独立変数値とを含む関数によって上記派生格子点データを取得することを特徴とする上記請求項１〜請求項６のいずれかに記載のプロファイル作成装置。
【請求項８】
上記最適化手段では、上記第１色空間内の色成分値と第２色空間内の色成分値との関係を評価する評価関数を規定し、派生格子点に対応する第２色空間における格子点を変動させながら上記評価関数の評価を向上させることによって上記最適化を行うことを特徴とする上記請求項１〜請求項７のいずれかに記載のプロファイル作成装置。
【請求項９】
上記最適化手段では、上記第１色空間内の色成分値の変動に対して上記第２色空間内の色成分値に関する値の変動度合いが小さいほど上記理想関係に近くなるように各色成分値の関係を定義することを特徴とする上記請求項１〜請求項８のいずれかに記載のプロファイル作成装置。
【請求項１０】
上記プロファイルデータ生成手段は、第１色空間の色成分値を独立変数、第２色空間の色成分値を従属変数とした１次元の補間関数による補間演算を上記第１色空間の次元数と同じ回数繰り返した結果に相当する補間演算式を予め取得し、当該補間演算式を示す補間演算式データを予め所定の記録媒体に記録しておき、当該補間演算式データに基づいてプロファイルデータとすべき第１色空間における格子点に対応する第２色空間における格子点の色成分値を算出することを特徴とする上記請求項１〜請求項９のいずれかに記載のプロファイル作成装置。
【請求項１１】
上記補間演算データは、直線上に並ぶ格子点における独立変数値と従属変数値と高次微分値および補間対象の格子点における独立変数値に基づいて１次元の補間演算を実施する補間演算式を第１色空間の次元数と同じ回数繰り返すことにより、第１色空間内における任意の格子点における従属変数値をその独立変数値と当該格子点の周囲に存在する複数の格子点における独立変数値と従属変数値と高次微分値とで表現する補間演算式を算出し、この式を示すデータを上記補間演算データとすることを特徴とする上記請求項１０に記載のプロファイル作成装置。
【請求項１２】
第１色空間における格子点と第２色空間における格子点との対応関係を規定するプロファイルデータを作成するプロファイル作成方法であって、
上記第１色空間における格子点と第２色空間における格子点との対応関係を規定する基底格子点データを取得する基底格子点データ取得工程と、
上記基底格子点データに規定された上記第１色空間における格子点の間に位置する派生格子点を形成するとともに当該派生格子点と第２色空間における格子点との対応関係を示す派生格子点データを取得する派生格子点データ取得工程と、
第１色空間内の色成分値と第２色空間内の色成分値との関係を予め定義された理想関係に近づけることによって上記派生格子点に対応する第２色空間における格子点を最適化する最適化工程と、
上記基底格子点データと上記最適化された値とに基づいて上記第１色空間における格子点と第２色空間における格子点との対応関係を規定するプロファイルデータを生成するプロファイルデータ生成工程とを具備することを特徴とするプロファイル作成方法。
【請求項１３】
第１色空間における格子点と第２色空間における格子点との対応関係を規定するプロファイルデータを作成するプロファイル作成プログラムであって、
上記第１色空間における格子点と第２色空間における格子点との対応関係を規定する基底格子点データを取得する基底格子点データ取得機能と、
上記基底格子点データに規定された上記第１色空間における格子点の間に位置する派生格子点を形成するとともに当該派生格子点と第２色空間における格子点との対応関係を示す派生格子点データを取得する派生格子点データ取得機能と、
第１色空間内の色成分値と第２色空間内の色成分値との関係を予め定義された理想関係に近づけることによって上記派生格子点に対応する第２色空間における格子点を最適化する最適化機能と、
上記基底格子点データと上記最適化された値とに基づいて上記第１色空間における格子点と第２色空間における格子点との対応関係を規定するプロファイルデータを生成するプロファイルデータ生成機能とコンピュータに実現させることを特徴とするプロファイル作成プログラム。
【請求項１４】
上記請求項１にて作成されたプロファイルデータに基づいて印刷を実行させる印刷制御装置であって、
印刷対象の画像における画素毎の色を所定の表色系で表現した画像データを取得する画像データ取得手段と、
上記プロファイルデータに規定された対応関係に基づいて上記所定の表色系における任意の格子点を印刷装置にて使用する表色系における格子点に変換する色変換手段と、
色変換後の格子点に相当する色成分値によって記録材の使用量を特定して上記印刷装置に画像を形成させる印刷手段とを具備することを特徴とする印刷制御装置。
【請求項１５】
上記請求項１２にて作成されたプロファイルデータに基づいて印刷を実行させる印刷制御方法であって、
印刷対象の画像における画素毎の色を所定の表色系で表現した画像データを取得する画像データ取得工程と、
上記プロファイルデータに規定された対応関係に基づいて上記所定の表色系における任意の格子点を印刷装置にて使用する表色系における格子点に変換する色変換工程と、
色変換後の格子点に相当する色成分値によって記録材の使用量を特定して上記印刷装置に画像を形成させる印刷工程とを具備することを特徴とする印刷制御方法。
【請求項１６】
上記請求項１３にて作成されたプロファイルデータに基づいて印刷を実行させる印刷制御プログラムであって、
印刷対象の画像における画素毎の色を所定の表色系で表現した画像データを取得する画像データ取得機能と、
上記プロファイルデータに規定された対応関係に基づいて上記所定の表色系における任意の格子点を印刷装置にて使用する表色系における格子点に変換する色変換機能と、
色変換後の格子点に相当する色成分値によって記録材の使用量を特定して上記印刷装置に画像を形成させる印刷機能とをコンピュータに実現させることを特徴とする印刷制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロファイルの高精度化およびプロファイル作成の高速化に関する。
【背景技術】
【０００２】
ディスプレイやプリンタ等の画像機器では、それぞれの画像機器で使用される表色系における複数の色成分毎の階調値を指定することによって色を特定しているが、この色は一般に機器依存色である。従って、各画像機器間で同じ画像を同じ色で出力可能にするためにはカラーマッチングが必要であり、各表色系における階調値の対応関係を規定したプロファイルを利用するのが一般的である。このプロファイルにおいては、リソースを節約するため、考え得る総ての階調値の組合せについて対応関係を規定しているのではなく、予め決められたリソースで対応関係を規定する。
【０００３】
例えば、予め決められた数の参照点について階調値の対応関係を規定し、任意の階調値については補間演算によって対応関係を取得したり、予め決められた関数に従って対応関係を算出するなどの構成を採用している。いずれにしても、限られた数のデータから補間関数（例えば、非特許文献１参照）によってその間のデータを予測し、任意の階調値における対応関係を取得する。この構成により、一方の画像機器において指定された色を他方の画像機器によって再現する。
【非特許文献１】William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery，「NUMERICAL RECIPES in C（日本語版）」，技術評論社，平成１５年２月６日（第11刷），ｐ．１０４〜１０７，１１３，１１４
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述した従来の色変換プログラムでは、以下のような課題があった。
すなわち、色変換の精度は、プロファイルに規定する階調値自体と関数による補間演算の精度との双方に依存するが、上述の非特許文献１に記述されたスプライン補間は高精度に補間演算を実施可能な手法であるとされ、プロファイルを作成する際にはもっぱら上記階調値の選び方が工夫されていた。また、画像機器にて使用される表色系は一般に多次元であるが、多次元空間におけるスプライン補間演算は非常に煩雑であり、特に多数の参照点を利用する際には演算に非常に時間がかかってしまう。
本発明は、上記課題にかんがみてなされたもので、通常のスプライン補間演算より高精度の補間演算を提供することおよび高速に演算可能な手法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、請求項１にかかる発明は、予め得られている基底格子点データに基づいて格子点を増加させ、増加させて得られた派生格子点に対応する第２色空間の格子点を最適化する。この結果、単に増加させた格子点に基づいて補間演算を実施する場合と比較してより高精度に補間演算を実施することが可能になる。すなわち、派生格子点に対応させるべき第２色空間の格子点が正確に判明していない状況でスプライン補間等により格子点を増加させ、派生格子点および対応させるべき第２色空間の格子点を取得したとしても、両者が正確に対応づけられていることを担保することはできない。
【０００６】
しかし、本発明においては、この派生格子点に対応する第２色空間における格子点を最適化するので、正確な対応関係が判明していない状態で単に増加させた場合と比較して、より高精度に派生格子点に対応する第２色空間における格子点を取得することができる。従って、この対応関係に基づいてプロファイルを作成することによって、第１色空間と第２色空間とのデータを高精度に変換可能なプロファイルを取得することができる。
【０００７】
尚、色空間は色成分数と同じ次元数の空間として定義され、色空間の各次元に一つの色成分を対応させて各色成分の色成分値を特定することで色空間内に特定される点が色空間における格子点である。また、上記第１色空間と第２色空間は異なる色空間であり、第１色空間は画像機器によって色を特定する際に使用される色空間である。第２色空間は当該画像機器によって実際に出力される色を客観的に特定できる機器非依存色空間であることが好ましい。
【０００８】
例えば、前者としては印刷装置における記録材（インク，トナー等）を特定するためのＣＭＹ表色系やＲＧＢ表色系等が該当し、後者としてはＬ*ａ*ｂ*系，Ｌ*ｕ*ｖ*系，ＸＹＺ系等が該当する。むろん、ＣＭＹ表色系の色成分はＣＭＹ（シアン、マゼンタ、イエロー）に限定されず、ブラック（Ｋ）やライトシアン（ｌｃ）、ライトマゼンタ（ｌｍ）等、他の色を含んでもよい。また、印刷装置にて使用する色空間以外にも各種の画像機器、例えば、スキャナやディスプレイ等に本発明を適用することも可能である。
【０００９】
このような色空間において、各色空間の格子点を対応づけると機器依存色空間における格子点（色成分値）によって出力される色を客観的に特定することができ、プロファイルデータ生成手段にて生成されるプロファイルを参照することで両色空間における階調値の変換、すなわち色変換を実施することができる。尚、上記機器非依存色空間と他の色空間（ｓＲＧＢ空間等）との対応関係が予め判明しているのであれば、この対応関係によって当該他の色空間と上記機器依存色空間とで色変換を行うプロファイルを作成することも容易である。
【００１０】
本発明においては、基底格子点データに基づいて格子点を増加させて派生格子点を生成し、最適化した値を利用してプロファイルデータを生成するので、基底格子点データに規定する格子点の数はプロファイルデータに規定する格子点の数より少数で充分である。但し、基底格子点データは、派生格子点およびその最適化を行う際の前提として予め用意されるため、基底格子点データが規定する格子点の対応関係は正確である必要がある。
【００１１】
第１色空間における格子点と第２色空間における格子点とを正確に対応づけるためには、第１色空間における格子点（色成分値）によって実際に画像機器によって色を出力し、測色を行うことによって第２色空間における格子点（色成分値）を取得する構成が好ましい。測色を行う場合であっても、上述のように基底格子点データにおける格子点はプロファイルデータにおける格子点より少数であるため、実際に測色作業を実施可能な数に抑えることができる。このように、実際に測色作業を実施可能な数に抑えたとしても、本発明では上述の最適化を実施するので非常に高精度のプロファイルデータを作成可能である。
【００１２】
例えば、印刷装置等の画像機器にて使用するプロファイルデータで１７3個や３２3個程度の格子点を規定する場合であっても、測色によって基底格子点データとすべき格子点数は１０3個〜１２3個程度で充分である。派生格子点は、基底格子点データに規定された格子点であって、上記第１色空間における格子点の間に位置する格子点であり、派生格子点データは当該派生格子点と対応する第２色空間内の格子点とを対応づけたデータであればよい。
【００１３】
すなわち、基底格子点データにおける格子点（基底格子点）より格子点を増加させ、さらに最適化することによって高精度の補間演算を実施することができればよいので、派生格子点は基底格子点データにおける格子点の間に存在すればよい。色空間全体で有効に補間精度を向上させるためには、派生格子点とその周囲の基底格子点との距離をできるだけ遠くするのが好ましい。
【００１４】
すなわち、派生格子点と隣接する複数の基底格子点との距離の和が最大になるのが好ましい。例えば、基底格子点が色空間の軸に平行な直線上に均等に配列しているときには、各基底格子点の中点に派生格子点を配置するのが好ましい。この構成によれば、基底格子点のみによる補間で最も精度が落ちると思われる位置に派生格子点を配置し、この派生格子点の最適化によって効果的に補間精度を向上することができる。
【００１５】
最適化手段においては、第１色空間内の色成分値と第２色空間内の色成分値とが満たすべき理想的な関係を予測し、派生格子点に対応する第２色空間における格子点を微調整することによって当該理想的な関係に近づけることができればよい。すなわち、派生格子点データ取得手段で取得したデータと比較して少しでも理想的な関係に近づけることができれば補間精度の向上に寄与する。むろん、できるだけ理想的な関係に近い方が好ましい。
【００１６】
ここで、理想的な関係とは、予め理想的であるとして定義した関係であれば良く、真に理想的な関係を予め知ることが必須というわけではない。すなわち、第１色空間内の色成分値と第２色空間内の色成分値との理想的な関係を知るためには、全色成分値について測色をするなどの作業が必要になるが、この作業は非現実的である。しかし、第１色空間内の色成分値と第２色空間内の色成分値とが満たすべき関係を予測することはできる。
【００１７】
予測した関係を理想関係であるとし、第２色空間における格子点（色成分値）を微調整することでこの関係に近づけた結果、第１色空間における格子点による出力色に対して正確に対応する第２色空間における格子点（真の色成分値）に近づいていれば、上記派生格子点データを利用する場合と比較して高精度の補間演算を実施可能になる。従って、補間精度を向上させることができる限りにおいて、予測した関係を理想関係であるとし、最適化を行うことができる。尚、最適化されたか否かを判別するための構成は、理想関係に近づいているか否かを評価するための関数値が最小化されたか否かを判定する構成、所定の閾値以下であるか否かを判定する構成等種々の構成を採用可能である。
【００１８】
プロファイルデータ生成手段においては、基底格子点データと上記最適化された値とに基づいてプロファイルデータを生成することができればよい。すなわち、予め作成されている基底格子点と当該基底格子点に対応する正確な第２色空間内の格子点と派生格子点と当該派生格子点に対応する最適化された第２色空間内の格子点とを利用すれば、補間演算等によってプロファイルデータを作成することができる。このプロファイルデータとしては、複数の参照点について上記第１色空間における格子点と第２色空間における格子点とを対応づけるテーブルデータを採用しても良いし、所定の関数で両者を対応づけるデータであっても良い。
【００１９】
基底格子点の選び方としては、種々の規則を採用可能である。例えば、２つの規則によって選ばれた格子点を基底格子点とすることができる。すなわち、異なる２つの規則（第１規則と第２規則）によって選ばれた格子点を基底格子点とする。この構成は、従来のプロファイルデータの作成作業と比較したときに大きな利点となる。
【００２０】
プロファイルデータを作成する際に、従来は、異なる２つの規則に従って配列された格子点を利用している。すなわち、第１色空間において異なる２つの規則によって選ばれた格子点のそれぞれについて出力色を測色して第２色空間内の格子点に対応付け、第１規則に従って配列された格子点に基づいてスプライン補間等によって格子点を増加させてプロファイルデータを作成する。このとき、第２規則に従って配列された格子点は、作成済みのプロファイルデータによる変換精度の検証に利用される。
【００２１】
すなわち、従来はスプライン補間が充分に高精度であるという前提に基づき、プロファイルデータを参照し、スプライン補間演算を行う。このとき、補間対象を第２規則に従って配列された格子点とすれば、補間で得られた値と真の値（測色値）とを比較することができる。この結果、プロファイルデータによる変換精度が使用に耐えうるか否かを検証することができる。変換精度が充分に高精度でない場合には、格子点の配列や後述する分版処理の手法を変更し、プロファイルデータを再作成するなどしていた。
【００２２】
このように、第２規則に従って配列された格子点およびその測色値は、それ自体で従来のプロファイルデータを作成する際の精度向上に寄与するわけではないが、従来のプロファイルデータの検証に必須であった。そこで、本発明においては、両者ともにプロファイルデータを作成する際の基底格子点として使用する。尚、異なる規則に従って配列された格子点の双方を使ってスプライン補間を行い任意の格子点についての値を算出するのは容易ではないが、本発明のように派生格子点を生成すれば、スプライン補間演算を適用可能な格子点配置にすることができる。
【００２３】
但し、本発明においては、この派生格子点についてさらに最適化を行うので、最適化後の格子点は、単にスプライン補間を実施した場合と比較してより高精度に第１色空間における格子点と第２色空間における格子点との対応関係を規定している。従って、最適化後の格子点を利用してスプライン補間を実施したとしても、単なるスプライン補間の精度を超えた精度で補間を実施可能である。
【００２４】
第１規則の具体例としては、第１色空間に形成される複数の平行な直線上に格子点を配列する規則を採用可能である。すなわち、直線上に配列する複数の格子点を利用すれば、スプライン補間によって当該直線上の任意位置に存在する格子点に対応する第２色空間内の格子点を算出することができる。さらに、異なる直線上に存在する格子点を結ぶ直線を考えればこの直線上の格子点でスプライン補間を実施することによって多次元のスプライン補間を実施可能である。
【００２５】
従って、第１規則がこのような規則であれば、従来のプロファイルデータの作成作業でスプライン補間を行う際に参照される測色データを本発明の基底格子点として利用可能である。また、スプライン補間を実施できるように配列した格子点が基底格子点であれば、上記派生格子点データ取得手段においてスプライン補間を実施することによって容易に派生格子点データを取得することができる。尚、複数の平行な直線は一組に限られない。例えば、複数の平行な直線を一組で考え、異なる組に属する直線同士が平行でないことは許容する。すなわち、２次元以上のスプライン補間を実施できるような規則であってもよい。
【００２６】
第２規則の具体例としては、隣接する複数の第１格子点からの距離の和が略最大になるように第２格子点を配列する規則を採用可能である。すなわち、第１格子点に基づいてスプライン補間を実施する従来のプロファイルデータ作成作業では、その補間精度を効果的に検証するために、第１格子点からできるだけ距離の遠い位置の格子点を検証用の格子点とすることが多い。隣接する複数の第１格子点（補間で参照される第１格子点）からの距離の和が略最大となる第２格子点は、隣接する複数の第１格子点からできるだけ遠い格子点であるといえる。従って、第２規則がこのような規則であれば、従来のプロファイルデータの作成作業でスプライン補間の検証用に参照される測色データを本発明の基底格子点として利用可能である。
【００２７】
さらに、第１規則と第２規則とのいずれかまたは双方が第１色空間で直交格子を形成するように格子点を配列する規則であると好ましい。すなわち、直交軸によって形成される色空間内で各軸に相当する色成分値の値域を等分して複数の値を取得し、得られた値を色成分毎に一つずつ組み合わせると、直交格子が形成される。このように、直交格子を形成する格子点は非常に容易に設定することができるし、これらの格子を利用してスプライン補間演算を実施することは容易である。
【００２８】
また、直交格子であれば、階調値域の全体（色域の全体）を網羅し、色域の全体をほぼ均等に網羅する格子点を容易に形成することができる。このような格子点を選択すれば、プロファイルデータによって得られる色変換精度が色域内で大きく変動しないようにすることができる。むろん、均等の直交格子としない構成も採用可能である。例えば、色域内で局所的に色変換精度を向上させたい場合にその領域に多くの格子点を配置して基底格子点とする構成を可能である。
【００２９】
さらに、第１規則と第２規則とがともに直交格子を形成させる配置規則である場合に、第１格子点を結ぶ直線と第２格子点を結ぶ直線とが互いに交わらないように構成することが可能である。かかる構成においては、複数の直線上に位置する第１格子点によってスプライン補間を実施可能である。また、第２格子点は第１格子点同士を結ぶ直線上に存在しないので、このスプライン補間を実施する際に第１格子点と第２格子点とをともに利用して補間精度を向上させることはできない。
【００３０】
しかし、第１格子点が形成する直交格子の内側に規則正しく第２格子点を配置することが可能である。例えば、第１格子点が形成する正方形や立方体の中央に第２格子点を配置することができる。このような第１格子点および第２格子点は、上記従来のプロファイルデータを作成する際に参照する測色データと検証のために参照する測色データとの典型例である。従って、従来のプロファイルデータを作成する際に用意された格子点を本発明に容易に適用することが可能である。
【００３１】
派生格子点データ取得手段において派生格子点および対応する第２色空間内の格子点を取得する手法は種々の手法を採用可能であるが、その構成例として、特定の関数形の関数によって第１色空間における格子点と第２色空間における格子点との対応関係を規定する構成を採用するのが好ましい。具体的には、第１色空間の色成分値を独立変数、第２色空間の色成分値を従属変数とした補間関数を採用可能である。上述の非特許文献１に記載してあるように、典型的なスプライン補間関数を採用すると、この関数は補間対象の周囲の格子点における独立変数値と従属変数値と当該従属変数の２次微分値と補間対象の格子点における独立変数値とを含む関数形となる。
【００３２】
ここで、むろん補間対象の格子点における従属変数値以外の値は補間演算時に既知の値である。このように典型的なスプライン補間関数を採用して派生格子点データを取得する構成は、以下の利点がある。すなわち、スプライン補間関数を算出する際に２次微分値を算出するが、２次微分値は、第１色空間の色成分値に対して第２色空間の色成分値に関する値が変動する度合いを示していると言えるので、後述する最適化の際にこの値を利用することができ、最適化を行う際に必要とされる演算量を抑えることが可能である。また、後述する実施形態における高速化スプライン補間を利用すると、最適化後の格子点を利用して高速に補間演算を実施可能になるが、当該高速化スプライン補間においても２次微分値を利用しており、ここでも派生格子点データ取得手段での算出値を流用でき、演算量を抑えて高速な処理を行うことが可能になる。
【００３３】
最適化手段において最適化を行うための手法としては、種々の手法を採用可能であり、第１色空間内の色成分値と第２色空間内の色成分値との関係を評価する評価関数を規定する構成が好ましい。かかる構成によれば、派生格子点に対応する第２色空間における格子点を変動させながら上記評価関数の評価を向上させることによって最適化を実施することができる。より具体的には、準ニュートン法や共益勾配法等種々の手法を採用可能である。
【００３４】
すなわち、本発明においては、派生格子点に対応する第２色空間における真の格子点が判明していない状態であっても、評価関数の評価を向上させることによって上述の理想関係に近づくように当該評価関数を定義することができれば、容易に最適化を実施することができる。このための構成としては、種々の構成を採用可能であり、例えば、上記第１色空間内の色成分値の変動に対して上記第２色空間内の色成分値に関する値の変動度合いが小さいほど上記理想関係に近くなるように各色成分値の関係を定義する構成を採用可能である。
【００３５】
かかる構成によれば、第２色空間内の色成分値を微調整し、上記第１色空間内の色成分値の変動に対して上記第２色空間内の色成分値に関する値の変動度合いができるだけ小さくなるように最適化することができる。本願出願人の実験によれば、上記第１色空間内の色成分値の変動に対して上記第２色空間内の色成分値に関する値の変動度合いができるだけ小さい状態が理想関係であるとした定義により、従来のプロファイルデータより精度が向上したことが確認されている。
【００３６】
尚、当該変化度合いは、第１色空間内の色成分値の変動に対して上記第２色空間内の色成分値に関する値が変化する度合いであり、例えば、両者の関係を規定する関数の微分値（１次以上の微分値）の大きさを示す値（絶対値や自乗値）を採用可能である。上述のように従来のスプライン補間関数においては２次微分値を利用するので、本発明においてもこの値を流用するのが好ましい。また、評価関数に組み入れる微分値は派生格子点のみの微分値に限られない。例えば、派生格子点の周囲に存在する格子点についての微分値も評価関数に加えるような構成を採用すれば、派生格子点のみならず、周囲の格子点における上記変化度合いを考慮した最適化を実施することができる。
【００３７】
プロファイルデータ生成手段においては、上記基底格子点データと上記最適化された値とに基づいて上記第１色空間における格子点と第２色空間における格子点との対応関係を算出することができれば良く、種々の構成を採用可能である。すなわち、正確に第１色空間と第２色空間の格子点を対応づける基底格子点データと最適化された派生格子点が取得された後であれば、補間演算により、第１色空間内の任意の格子点について高精度に第２色空間内の格子点に対応づけることができる。
【００３８】
尚、ここで高速に処理を行うために、補間演算式を予め算出するとともに補間演算式データを予め所定の記録媒体に記録しておく構成を採用可能である。かかる構成によれば、当該補間演算式データを参照して必要な値を代数演算するのみで第１色空間における任意の格子点に対応する第２色空間における格子点を算出することができ、高速に処理を行うことができる。ここで、上記補間演算式は、１次元の補間演算の繰り返しによって構成することができる。むろん、本発明においては、上述のように前もって派生格子点を最適化してあるので、単に公知の１次元補間の繰り返しで得られる補間精度を超えた精度を実現することができる。
【００３９】
補間演算としては、種々の演算を採用可能であるが、ここでの補間演算式を得るための１次元補間演算式は、直線上に並ぶ格子点における独立変数値と従属変数値と高次微分値および補間対象の格子点における独立変数値に基づいて補間対象の格子点における従属変数値を算出する式が好ましい。すなわち、これらの独立変数値と従属変数値と高次微分値には、上記基底格子点データや最適化された値も含まれ得る。この場合は、これらの値を流用してプロファイルデータ生成手段における処理を実施することができる。尚、このような補間演算の具体例としては、スプライン補間が該当する。また、上記高次微分値には、異なる次元のそれぞれについて２次微分を行って得られる微分値も含む。
【００４０】
ところで、上述したプロファイル作成装置は、単独で実施される場合もあるし、ある機器に組み込まれた状態で他の方法とともに実施されることもあるなど、発明の思想としては各種の態様を含むものであって、適宜、変更可能である。また、上述したように、予め得られている格子点を水増しし、水増しした格子点の最適化を行うことで精度を向上させる手法は、所定の手順に従って処理を進めていくうえで、その根底にはその手順に発明が存在するということは当然である。したがって、本発明は方法としても適用可能であり、請求項１２にかかる発明においても、基本的には同様の作用となる。本発明を実施しようとする際に、プロファイル作成装置にて所定のプログラムを実行させる場合もある。本発明は、そのプログラムとしても適用可能であり、請求項１３にかかる発明においても、基本的には同様の作用となる。
【００４１】
また、以上のようにして作成されたプロファイルデータに基づいて印刷時の色変換を行えば、高精度に色変換を行うことができるので、請求項１４〜請求項１６の様な構成を採用することにより、高精度のカラーマッチングを行いながら印刷を実行することができる。尚、ここで、表色系における格子点の変換とは各表色系（色空間）における色成分値の変換である。また、印刷制御を実施する際には、入力画像データで使用される表色系と印刷装置で使用される表色系との変換が必要になるので、印刷制御に際して色変換を実施するためには、本発明によるプロファイルデータに基づいて両表色系の色変換を実施するプロファイルを予め作成しておけばよい。
【００４２】
むろん、他のプロファイルと本発明にかかるプロファイルとを利用して色変換を行っても良い。例えば、本発明にかかるプロファイルにて第２色空間が機器非依存色空間である場合、画像データで使用する表色系と機器非依存色空間との対応関係を規定するプロファイルを上記他のプロファイルとして用意しておけば、当該他のプロファイルと本発明にかかるプロファイルとを利用して容易に色変換を実施することができる。むろん、本発明にかかるプロファイルにおける第１色空間が印刷装置にて使用する表色系と異なる場合に、両者を対応づけるプロファイルを予め作成しておいても良い。
【００４３】
尚、請求項２〜請求項１１に記載された構成を上記プロファイル作成方法やプログラムあるいは印刷制御装置，方法，プログラムに対応させることも可能である。また、いかなる記憶媒体もプログラムを提供するために使用可能である。例えば、磁気記録媒体や光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一部がソフトウェアであって、一部がハードウェアで実現される場合においても本発明の思想において全く異なるものではなく、一部を記録媒体上に記録しておいて必要に応じて適宜読み込む形態のものも含まれる。さらに、一次複製品、二次複製品などの複製段階については全く問う余地なく同等である。
【発明を実施するための最良の形態】
【００４４】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
（１）本発明の概略：
（２）色変換テーブル作成装置の構成：
（２−１）従属変数値の最適化：
（２−２）高速化スプライン補間演算処理：
（２−３）３次元空間への拡張：
（２−４）作成された色変換テーブルデータに基づく色変換処理：
（３）他の実施形態：
【００４５】
（１）本発明の概略：
図１は、本発明にかかる色変換テーブル（ＬＵＴ）の作成を概略的に示す図である。本発明は、当該ＬＵＴの作成に際して従来実施されていたスプライン補間では得られない顕著な効果、すなわち、高精度化および高速化を実現している。ＬＵＴを作成するためには種々の手法を採用可能であるが、ここでは、プリンタで使用する記録材（インクやトナー）の量を直接的に指定するデータと機器非依存色空間中のデータとの対応関係を規定するＬＵＴについて説明する。
【００４６】
さらに、同図においてはプリンタにＣＭＹＫｌｃｌｍ（シアン，マゼンタ，イエロー，ブラック，ライトシアン，ライトマゼンタ）の各インクを搭載し、機器非依存色空間としてＬ*ａ*ｂ*色空間を利用する態様について説明する。ＣＭＹＫｌｃｌｍの各インク量は、通常、階調値（例えば、２５６階調の階調値）にて指定され、ＣＭＹＫｌｃｌｍのそれぞれについて階調値を０〜２５５まで独立に変化させることによって多数の色を表現する。
【００４７】
これらの階調値を指定するＣＭＹＫｌｃｌｍデータにおいては、インク量を指定することによって特定の色を示すことができるが、各階調値によって出力されるインクの量等はプリンタの機種や印刷モード等によって異なるので、このＣＭＹＫｌｃｌｍデータにて指定される色はいわゆる機器依存色である。従って、単にＣＭＹＫｌｃｌｍデータを決めただけでは、出力色がどのような色であるかを客観的に特定することができない。そこで、コンピュータから印刷指示がなされた画像の色を忠実に再現して印刷を行うために、ＬＵＴを参照して指定通りの色を印刷させるためのＣＭＹＫｌｃｌｍデータを算出する。
【００４８】
このために、ＬＵＴでは客観的に色を特定可能なＬ*ａ*ｂ*データとＣＭＹＫｌｃｌｍデータとの対応関係を規定する。但し、任意のＣＭＹＫｌｃｌｍデータの組合せに対してＬ*ａ*ｂ*データを対応づけると膨大な数となり、コンピュータにて扱う際のリソースが無駄になる。そこで、一定数（例えば、１７3個や３２3個）のＣＭＹＫｌｃｌｍデータとＬ*ａ*ｂ*データとについて対応関係を規定したＬＵＴを作成し、任意のＣＭＹＫｌｃｌｍデータに対応するＬ*ａ*ｂ*データは、演算によって求める。
【００４９】
上述のようにＣＭＹＫｌｃｌｍデータにて指定される色は機器依存色であるため、一般的には、ＣＭＹＫｌｃｌｍデータにて色を特定した複数のパッチを実際に印刷し、印刷結果を測色することによって正確なＬ*ａ*ｂ*値を取得してＬＵＴを作成する。このとき、上述のような１７3個程度のパッチを印刷し、誤りなく測色を行うのは大変な労力であるため、通常、印刷／測色作業を行える現実的な数、例えば１０3個程度のパッチ数を測色対象数としている。
【００５０】
測色数が最終的なＬＵＴにおけるＣＭＹＫｌｃｌｍデータの数より少なくても、測色したデータに基づいて補間演算を行えば、それより多数の点についてＣＭＹＫｌｃｌｍデータとＬ*ａ*ｂ*データとの対応関係を規定することができる。ここで、ＬＵＴに規定する各ＣＭＹＫｌｃｌｍデータは、プリンタの色域を網羅したり、印刷媒体上に記録できるインク量の上限を超えないようにしたり、インク滴によって生じる粒状感を抑えるようにするなど、種々の制約に基づいて決められる必要がある。
【００５１】
ＣＭＹＫｌｃｌｍの６次元データにおいて、各色成分毎の階調値を自由に組み合わせてこれらの制約を満たすようにすることは困難である。また、６次元のＣＭＹＫｌｃｌｍデータから補間演算によってＬ*ａ*ｂ*値を算出するのは煩雑である。そこで、より低次元の色空間であるとともに色域を単純な形状で表現可能な色空間で階調値を決定したあと、分版処理と呼ばれる手法によって６次元のＣＭＹＫｌｃｌｍデータを生成する。
【００５２】
すなわち、まず、図１の左上に示すように、仮想的に形成するＣＭＹ空間（仮想ＣＭＹ）で、各色成分毎の階調値を決定する。ここで、仮想ＣＭＹはＣＭＹの各色についてその濃さに相当する階調値を仮想的に考えたものである。尚、このＣＭＹの階調値はプリンタに搭載されたＣＭＹＫｌｃｌｍの各色インクのうち、ＣＭＹインクの量に対応すると考えることもできるが、各階調値の組合せによってどのような出力色になるのか定義する必要はなく、実際の出力色を示す必要のない色空間という意味で仮想ＣＭＹ空間と呼んでいる。
【００５３】
仮想ＣＭＹのように、３次元であれば、各色の階調値域を網羅するように色を選択することによって仮想ＣＭＹにおける色域の全域を網羅することは容易であり、例えば、各色の階調値域を均等に９等分し、値を組み合わせれば容易に１０3個のＣＭＹデータを生成することができる。分版処理は、特定の規則によって３次元で表現された色を６次元に変換する処理である。例えば、ＣＭＹの各色のインクを印刷媒体に記録することを想定すると、ＣＭＹ各色インクを略等量記録することによってほぼ無彩色、すなわちブラックを表現することができる。そこで、仮想ＣＭＹ階調値の一部を特定の規則でＫに置き換えると考えれば、ＣＭＹ階調値からほぼ同じ色に相当するＣＭＹＫ階調値を生成したと考えることができる。
【００５４】
さらに、ｌｃは淡いシアン、ｌｍは淡いマゼンタであるため、濃いシアンであるＣ階調値の一部を特定の規則でｌｃに置き換え、濃いマゼンタであるＭ階調値の一部を特定の規則でｌｍに置き換えることにより、ＣＭＹＫ階調値からほぼ同じ色に相当するＣＭＹＫｌｃｌｍ階調値を生成したと考えることができる。尚、このような置き換えの際に上述のように印刷媒体上に記録できるインク量の上限を超えないようにしたり、インク滴によって生じる粒状感を抑えるようにすることが可能である。このような分版処理によれば、仮想ＣＭＹとＣＭＹＫｌｃｌｍデータとを一対一に対応づけることができる。
【００５５】
従って、上述のように階調値域を等分して仮想ＣＭＹ階調値を特定し、当該仮想ＣＭＹ階調値を分版処理した後のＣＭＹＫｌｃｌｍデータに基づいて印刷し、測色を行うことによって、仮想ＣＭＹ階調値とＬ*ａ*ｂ*値とを対応づけることができる。以上のような分版処理の規則を適切に設定しておけば、上述の例のように仮想ＣＭＹ空間内で階調値域を均等に分割して得られる値の組合せを測色対象とすることができる。仮想ＣＭＹ空間の色域に均等に配置された格子点から、図１のＬＵＴ１に示すように１０3個の仮想ＣＭＹ階調値と測色値（Ｌ*ａ*ｂ*）とを対応づけたテーブル１を作成することができる。ここで、仮想ＣＭＹ空間を３次元直交空間と考えると、この値の組合せは、空間に均等に配列した直交格子点となる。
【００５６】
従来は、このテーブル１からスプライン補間演算によって所望の数（例えば、１７3個や３２3個）の仮想ＣＭＹ階調値についてＬ*ａ*ｂ*値との対応関係を取得し、当該仮想ＣＭＹ階調値を分版規則によってＣＭＹＫｌｃｌｍデータに変換することで、ＬＵＴを作成していた。すなわち、ＣＭＹＫｌｃｌｍデータとＬ*ａ*ｂ*データとを対応づけて従来のＬＵＴ２を作成していた。むろん、分版規則が確定している限り、仮想ＣＭＹ値とＬ*ａ*ｂ*値との対応関係を規定したＬＵＴであっても従来のＬＵＴ２と同等の対応関係を規定しているといえる。
【００５７】
ここで、ＬＵＴ２の実用性はスプライン補間の精度に依存しており、精度良くＣＭＹＫｌｃｌｍデータに対応するＬ*ａ*ｂ*値を算出できるか否かによって判断することができる。このため、一般的には、最も精度が低下すると考えられる点で、スプライン補間によって得られたＬ*ａ*ｂ*値とその実測値とを比較し、実用に耐える精度であるか否かを判断している。例えば、上記１０3個の仮想ＣＭＹ階調値から各色成分毎に隣接する２つの値を抽出し、その中間に相当する値をＣＭＹ各色で組み合わせることによって検証用の仮想ＣＭＹ階調値を生成する。すなわち、上記直交格子点の中央に相当する仮想ＣＭＹ階調値を取得する。
【００５８】
この仮想ＣＭＹ階調値に対して上記分版処理を実施し、得られたＣＭＹＫｌｃｌｍデータで印刷を行い、得られた印刷物を測色すれば、この仮想ＣＭＹ階調値に対応したＬ*ａ*ｂ*値が得られる。すなわち、図１に示すテーブル３を作成したことになる。尚、この例においては、テーブル３にて登録される測色値の数は９3個である。
【００５９】
このテーブル３を取得したら、当該テーブル３に規定される仮想ＣＭＹ階調値と同じ値の仮想ＣＭＹ階調値に対応するＬ*ａ*ｂ*値をテーブル１に基づいてスプライン補間演算で算出する。この結果、テーブル３に規定された実測値とテーブル１に基づく補間演算値とを比較することができ、当該比較によって従来のＬＵＴ２が実用に耐える精度であるか否かを判断することができる。
【００６０】
このような従来のＬＵＴ２においては、実用に耐える精度でなかった場合に分版処理の規則を変更するなどの対応が考えられるが、この対応では、補間精度を直接的に制御するのではないため、実際に補間精度を向上することが非常に困難である。また、実際には（１０3＋９3）個の測色値を取得しているが、スプライン補間演算に使用可能な測色値は１０3個であり、９3個の測色値は、補間精度の向上に直接寄与していない。さらに、精度向上のために９3個の測色値を利用するとしても、通常のスプライン補間演算では、１次元毎に補間演算を実施して多次元の補間値を取得する。従って、１０3個の直交格子点同士を結ぶ線上に存在しない９3個の測色値を利用するのは困難であった。
【００６１】
図２は、多次元空間におけるスプライン補間演算を説明するための図である。同図においては、簡単のために２次元空間における補間値をスプライン補間によって算出する様子を示しており、ｘが独立変数であるとともに２次元空間の位置に相当し、ｙが各位置に対応づけられた従属変数である。この例では独立変数の値が直交格子を形成しており、上記テーブル１の仮想ＣＭＹが当該独立変数、Ｌ*ａ*ｂ*値が当該従属変数に相当すると考えることができる。尚、多次元の従属変数値（例えばＬ*ａ*ｂ*値）を算出する際には、各次元毎に従属変数値を与える補間関数を想定すればよい（以下同じ）。
【００６２】
図２において、ｘ1は紙面横軸（Ｘ1方向）に沿って値が変化する変数を示し、ｘ2は紙面縦軸（Ｘ2方向）に沿って値が変化する変数を示している。また、添字iによってＸ1方向の格子点位置、添字jによってＸ2方向の格子点位置を区別している。各格子点上の従属変数値は添字ijによって区別している。２次元空間上の任意位置（ｘ1，ｘ2）について、その従属変数ｙをスプライン補間演算で算出するためには、まず、Ｘ1方向でスプライン補間を行い、続いてＸ2方向でスプライン補間を行う。
【００６３】
尚、１次元のスプライン補間演算は下記式（１）によって定義される。
【数１】
2005333575.tif 000003
ここで、従属変数値ｙj，ｙj+1は、それぞれ独立変数値ｘj，ｘj+1に対応づけられた値であり、ｙ''j，ｙ''j+1は、それぞれ独立変数値ｘj，ｘj+1におけるｘ方向の２次微分値である。
【００６４】
また、上記式（１）内のＡおよびＢは下記式（２）のように定義され、
【数２】
2005333575.tif 000004
上記式（１）内のＣおよびＤは下記式（３）のように定義される。
【数３】
2005333575.tif 000005
【００６５】
また、上記式（１）における２次微分値y''jは、式（１）のｘによる１次微分値が区間の境界で連続であるという条件を課すことにより求めることができる。式（１）をｘにより１次微分すると、以下の式（４）のように表すことができる。
【数４】
2005333575.tif 000006
【００６６】
ここで、区間ｘj-1〜ｘjで式（４）を評価した値と、区間ｘj〜ｘj+1で式（４）を評価した値が、ｘ＝ｘjで等しいとするなら、以下の式（５）に示す方程式を得ることができる。
【数５】
2005333575.tif 000007
式（５）で表す境界条件は、ｘ＝ｘ1〜ｘN-2における、（Ｎ−２）連立方程式を表しており、当該連立方程式を解くことにより、y''jを求めることができる。ここで、Ｎはｘ方向の格子点数を示している。尚、本明細書において、通常ｘ1はＸ1方向の任意位置を示すが、前述のｘ1〜ｘN-2ではＸ1方向の格子点に対して端から順に０〜Ｎ−１と番号を付け、その両端を除いた格子点の位置をｘ1〜ｘN-2としている。
【００６７】
以上の式（５）において、未知の２次微分値y''jはＮ個存在するが、上記連立方程式は（Ｎ−２）連立方程式であるので、さらに２個の条件を必要とする。典型的にはy''0およびy''N-1の値を指定すればよい。（例えば、一般に自然スプラインと呼ばれるy''0＝０、y''N-1＝０という条件を採用すればよい）詳細は、例えば、「NUMERICAL RECIPES in C（日本語版）」，技術評論社，p.105等に記述されている。以上のようにして、２次微分値を算出することができれば、上記式（１）に示すスプライン関数を定義することができ、定義された区間における任意の独立変数値に対応する従属変数値を算出することが可能になる。従って、同式（１）のスプライン補間演算式を算出するためには、Ｎ個の独立変数ｘ0〜ｘN-1および対応する従属変数ｙ0〜ｙN-1が必要である。
【００６８】
すなわち、上記図２における位置（ｘ1，ｘ2）に相当する従属変数値ｙをＸ2方向のスプライン補間演算式から算出するには同図に白丸で示す位置を含めた（ｘ1，ｘ20），・・・，（ｘ1，ｘ2j），・・・，（ｘ1，ｘ2N2-1）における従属変数値ｙ１0，・・・，ｙ１j，・・・，ｙ１N2-1が必要である。（ただし、Ｎ2はＸ2方向の格子点数を表す。また、図２の説明において、ｘ1は端の格子点位置ではなく同図に示すようなＸ1方向の任意位置を示す。）
【００６９】
さらに、それぞれの白丸で示す位置の従属変数値を取得するには、Ｘ1方向のスプライン補間演算が必要である。例えば、従属変数値ｙ１j-1を算出するには、位置（ｘ10，ｘ2j-1），・・・，（ｘ1i，ｘ2j-1），・・・，（ｘ1N1-1，ｘ2j-1）における従属変数値ｙ0j-1，・・・，ｙij-1，・・・，ｙN1-1j-1が必要である。（ただし、Ｎ1はＸ1方向のグリッド数を示す。）
【００７０】
結局、任意位置（ｘ1，ｘ2）について、その従属変数ｙをスプライン補間演算で算出するためには、まず、図２に示す実線の交点に相当するＮ1×Ｎ2個の格子点の独立変数および従属変数を利用してＸ1方向でスプライン補間演算を実施し、位置ｘ1における従属変数値を算出することになる。そして、得られたＮ2個の従属変数値に基づき、Ｘ2方向でスプライン補間演算を実施し、位置ｘ2における従属変数値ｙを取得することになる。むろん、スプライン補間演算を適用する方向はＸ2方向，Ｘ1方向の順でも良い。
【００７１】
以上のように、スプライン補間においては、１次元のスプライン補間演算を繰り返して多次元空間における任意の位置の従属変数値を取得するが、上記テーブル１の仮想ＣＭＹ階調値とテーブル３の仮想ＣＭＹ階調値とを比較すると、前者の格子は直交軸に平行な直線であって前者の格子点同士を結ぶ直線上にあるが、後者の格子はこの直線上に存在しない。従って、テーブル３の仮想ＣＭＹ階調値に対する測色値を取得済みであるとしても、テーブル１に基づいて１次元のスプライン補間演算を実施する際に、テーブル３の測色値を単純に流用することはできない。
【００７２】
そこで、本発明においては、従来のＬＵＴ作成において必ず測色する必要があった９3個の測色値を利用してスプライン補間演算をさらに高精度化するための構成を採用した。すなわち、本発明においては、まず、１０3個の測色値と９3個の検証用測色値との双方で直交格子を形成するように格子点を増やし、当該増加させた格子点における従属変数値を最適化することによって、単なるスプライン補間演算によって格子点を増加させた場合の精度以上の高精度化を実現している。
【００７３】
すなわち、上記図１に示す例における仮想ＣＭＹ空間において、テーブル１に規定された仮想ＣＭＹ階調値同士を直線で結び、また、テーブル３に規定された仮想ＣＭＹ階調値同士を直線で結び、これらの直線の交点を上記増加させた格子点と考える。この結果、総ての格子点によって、上記テーブル１における直交格子点より密度の高い直交格子点が形成される。従って、これらの格子点を利用してスプライン補間演算を実施することができる。
【００７４】
但し、上述のようにして格子点を増加させ、その従属変数値を決定する際に上述の手法と同様に従来のスプライン補間演算を実施するのみでは、これによって作成するＬＵＴの変換精度は上記従来のＬＵＴ２と同程度である。しかし、本発明においては、当該増加した格子点に対応する従属変数値を決定する際に、単にスプライン補間演算によって決定した従属変数値と比較してより真の値に近いと思われる従属変数値になるように最適化を行っている。この結果、各格子点位置における従属変数値がより高精度になる。
【００７５】
本発明では、当該増加した後の格子点に基づいて補間演算を行ってＬＵＴ（図１における本発明のＬＵＴ４）を作成しているので、従来のスプライン補間演算では得られなかった高精度の演算によってＬＵＴを作成することが可能になった。尚、本発明においては、ＬＵＴ４を作成するにあたり高速に補間演算を実施できるよう構成してあるが、詳細は後述する。
【００７６】
また、図１に示すＬＵＴの構成は一例であり、むろん、コンピュータで使用する表色系（例えばｓＲＧＢ表色系）とプリンタで使用する表色系との対応関係を規定するＬＵＴであっても良い。ｓＲＧＢ表色系における座標値は演算によってＬ*ａ*ｂ*値と対応づけることができるので、この対応関係と図１に示すＬＵＴ４における対応関係とを参照すれば、ｓＲＧＢ表色系とＣＭＹＫｌｃｌｍ表色系とを対応づけたＬＵＴを容易に作成することが可能である。
【００７７】
（２）色変換テーブル作成装置の構成：
次に、本発明におけるＬＵＴを作成する装置およびその処理について具体的に説明する。図３は本発明にかかる色変換テーブル作成装置を示すブロック図であり、図４は当該色変換テーブル作成装置にて実施する処理のフローチャートである。本発明は、ＬＵＴを作成するためのＬＵＴ作成プログラムを実行させることができるコンピュータ１０によって実現することができる。
【００７８】
図３では、当該コンピュータ１０の概略構成を示している。同図においてコンピュータ１０は汎用的なパーソナルコンピュータ等にて構成することができ、当該コンピュータ１０はディスプレイ１１やキーボード１２，マウス１３等のユーザインタフェースを備えるとともに、所定のプログラム実行系を備えている。すなわち、ＣＰＵ１４，ＲＡＭ１５，ＲＯＭ１６およびＨＤＤ１７等を備えており、図示しないオペレーティングシステムの制御下においてＬＵＴ作成プログラム２０を実行可能である。
【００７９】
当該ＬＵＴ作成プログラム２０は、スプライン補間部２０ａと２次微分値算出部２０ｂとブロック設定部２０ｃと目的関数算出部２０ｄと最適化処理部２０ｅと高速化スプライン補間部２０ｆとＬＵＴ作成部２０ｇとを備えている。このＬＵＴ作成プログラム２０は、ＨＤＤ１７に予め記録されたデータあるいは適宜生成したデータを用いてＬＵＴを作成する。尚、図３のＨＤＤ１７においては、予めＨＤＤ１７に記録されるデータを実線の矩形で示し、処理の過程で生成されるデータを破線の矩形で示している。
【００８０】
ＬＵＴの作成においては、予め測色データを用意しておく。すなわち、作成後のＬＵＴを参照して印刷を実施すべきプリンタにおいて予め上述の仮想ＣＭＹ階調値に基づいてパッチを印刷し、印刷されたパッチを測色しておく。この結果は、仮想ＣＭＹ階調値および仮想ＣＭＹ階調値に対応づけられた測色値を示すデータとしてＨＤＤ１７に記録される。図３に示す例では、測色データ１７ａが上記図１に示す１０3個の測色値に相当し、ＣＭＹの各色毎に階調値域を均等に分割し、得られた値を組み合わせてＣＭＹ階調値を生成するとともに、その階調値における印刷結果を測色し対応づけたデータである。当該測色データ１７ａにおける階調値は仮想ＣＭＹ空間で直交格子を形成する。
【００８１】
検証用測色データ１７ｂは、当該測色データ１７ａにて形成される仮想ＣＭＹ空間中の直交格子の中央に相当する仮想ＣＭＹ階調値とその測色値とを対応づけたデータである。尚、測色データ１７ａにおける格子点位置と、検証用測色データ１７ｂにおける格子点位置との関係は、図８の様な関係である。すなわち、測色データ１７ａに規定された仮想ＣＭＹ階調値によって白丸のような格子点が形成されるとき、検証用測色データ１７ｂに規定された仮想ＣＭＹ階調値は当該立方体の中央に位置する黒丸に相当する。この実施形態においては、測色データ１７ａによって仮想ＣＭＹ空間に形成される格子点が上記第１格子点に相当し、検証用測色データ１７ｂによって仮想ＣＭＹ空間に形成される格子点が上記第２格子点に相当する。従って、双方のデータによって仮想ＣＭＹ空間に形成される格子点が上記基底格子点に相当する。
【００８２】
ＬＵＴ作成プログラム２０のスプライン補間部２０ａは、予め決められたアルゴリズムに従って上記式（１）に示すスプライン補間演算を実施するモジュールであり、上記増加した格子点の従属変数値を算出する。すなわち、図３に示す例では、測色データ１７ａと検証用測色データ１７ｂとに規定された仮想ＣＭＹ格子点の中間の位置に相当する格子点を生成し、従属変数としてそのＬ*ａ*ｂ*値を算出する。この値は、最適化される前の初期値となる。
【００８３】
（２−１）従属変数値の最適化：
このために、まずスプライン補間部２０ａは、ＨＤＤ１７から測色データ１７ａおよび検証用測色データ１７ｂを取得し（ステップＳ１００）、増加すべき格子点の位置を決定する（ステップＳ１０５）。これらの格子点は測色データ１７ａおよび検証用測色データ１７ｂにおける仮想ＣＭＹ階調値の中間に位置する階調値の組合せであることから、ここでは、当該増加する格子点に関するデータを中間位置データと呼ぶ。尚、この中間位置データが上記派生格子点データに相当する。
【００８４】
図５はこれらの格子点の位置関係を簡単に説明するための図であり、図３に示す実施形態では仮想ＣＭＹ空間が３次元空間であるところ、図５では簡単のために２次元空間で示している。本明細書においては、以下、簡単のため２次元空間において本実施形態における処理を説明し、最後に同様の考え方を３次元に適用可能であることを示す。図５においては、測色データ１７ａに記述された仮想ＣＭＹ階調値による格子点の位置を白丸で示しており、検証用測色データ１７ｂに記述された仮想ＣＭＹ階調値による格子点の位置を黒丸で示している。検証用測色データ１７ｂにおける仮想ＣＭＹ階調値の格子点位置は、測色データ１７ａの格子点位置の中間であるため、２次元においては図５に黒丸で示すように白丸で形成される正方形の中央に相当する。
【００８５】
また、図５においては、中間位置データとして生成されるべき格子点の位置を白矩形で示している。本実施形態においては、格子点の増加によって測色データ１７ａより高密度の直交格子を形成するため、中間位置データ１７ｃとして増加すべき格子点の位置は図５にて隣接する白丸の中点あるいは隣接する黒丸の中点に相当する。このように格子点の位置を特定すれば、スプライン補間演算によって各格子点位置に対応する従属変数値を算出することができる。例えば、図５に示す格子点Ｌの従属変数値を算出するのであれば、測色データ１７ａの格子点Ｌ0・・・，Ｌj，・・・，ＬN2-1を利用する。
【００８６】
すなわち、２次微分値算出部２０ｂが、各格子点における境界条件から得られる上記式（５）につき、（Ｎ2−２）連立方程式を解くことにより、スプライン補間式に含まれる２次微分値y''1〜y''N2-2を算出する（ステップＳ１１０）。この値は、格子点Ｌ1〜ＬN2-2における２次微分値としてＨＤＤ１７に記録される（２次微分値データ１７ｄ）。尚、このステップＳ１１０における処理は、上記図５に白丸で示す測色データ１７ａの全格子点について実施される。
【００８７】
２次微分値と、上記測色データ１７ａに記述された格子点Ｌj，Ｌj+1の独立変数値と従属変数値とによれば、スプライン補間式ｙjのパラメータが総て得られたことになるので、格子点Ｌの位置に対応する従属変数値を算出する（ステップＳ１１５）。得られた従属変数値（実際にはＬ*ａ*ｂ*値）は、その位置、すなわち、独立変数値（実際には仮想ＣＭＹ階調値）と対応づけられ、中間位置データ１７ｃとしてＨＤＤ１７に記録される。
【００８８】
以上のようにして、隣接する白丸の中点あるいは隣接する黒丸の中点に相当する総ての位置の中間位置データを算出し、中間位置データ１７ｃとしてＨＤＤ１７に記録すると、測色データ１７ａ，検証用測色データ１７ｂ，中間位置データ１７ｃの仮想ＣＭＹ階調値によって、測色データ１７ａにおける格子点より小さな正方格子（空間内で正方格子の密度が大きいとも言える）が仮想ＣＭＹ空間に形成される。図５に示すように２次元空間で考えると、１つの対角に白丸および黒丸が存在し、他の対角にそれぞれ白矩形が存在する正方格子が当該正方格子に相当する。
【００８９】
以上の処理は、従来のスプライン補間による格子点の水増しにすぎない。すなわち、このように格子点を増加させることによって中間位置データ１７ｃを生成しても、増加する際に従来のスプライン補間演算を利用している以上、ＬＵＴの作成に際して従来のスプライン補間の演算精度を超えた高精度の補間を実施することはできない。そこで、本発明は、中間位置データ１７ｃにおける従属変数値を最適化することによってより高精度の補間を実施できるようにしている。
【００９０】
この処理は仮想ＣＭＹ空間内に設定されたブロック毎に実施され、中間位置データ１７ｃの仮想ＣＭＹ階調値から形成される格子点が着目しているブロック内に含まれる場合には、その従属変数値を最適化する。図５に示すように２次元で考えると、このブロックは、上記測色データ１７ａの仮想ＣＭＹ階調値による格子点が形成する最小の正方形であり、白丸によって形成される最小の正方形である。同図においては、正方形の一例を太い実線で示している。ブロック設定部２０ｃは当該ブロックを設定するためのモジュールであり、上記測色データ１７ａを取得し、仮想ＣＭＹ階調値の各格子点からブロックを形成し、所定の順序における最初のブロックを処理対象の着目ブロックとして設定する（ステップＳ１２０）。
【００９１】
目的関数算出部２０ｄは、中間位置データ１７ｃに記述された従属変数値が最適な値に近づいているか否かを評価するための関数Ｅを算出するモジュールであり、上記中間位置データ１７ｃに規定された位置に相当する格子点であって、着目ブロック内に存在する格子点について関数Ｅを算出する（ステップＳ１２５）。本実施形態においては、従属変数値が最適な値に近づくほど関数Ｅの値が小さくなるように定義している。従って、従属変数値を更新しながら関数Ｅを最小化すれば、従属変数値およびその２次微分値がほぼ最適な値となっているといえる。
【００９２】
尚、ここでいう最適な値を知ることは一般には困難である。すなわち、最適な値が既知というわけではなく、例えば、測色しなければ真の最適値は分からない。しかし、本願出願人は、最適な値として備えているべき特性を自ら定義し、その特性に近づくほど最適値に近づくと考えることにより、従属変数値の最適化を試みた。そして、最適化後の従属変数値を用いてＬＵＴを作成した方が、高精度に色変換可能なＬＵＴを作成することができた。従って、当該最適化を実施することによって従来のスプライン補間演算精度を超えることが可能であるという出願人の洞察が正しかったと言える。すなわち、本願出願人は、スプライン補間より高精度に補間演算を実施できるようにする仕組みを提供したと言える。
【００９３】
図６は、この考え方を説明するための説明図であり、同図における横軸は独立変数ｘ，縦軸は従属変数ｙである。このとき、区間ｘj〜ｘj+1のスプライン関数は上記式（１）によって定義される。スプライン補間演算を行う限り、区間ｘj〜ｘj+1における従属変数ｙの挙動は、スプライン関数を算出する際の条件によって決定され、積極的に制御することはできない。例えば、区間ｘj〜ｘj+1でスプライン補間によって得られる従属変数値が図６に示す実線のように変動するとき、この挙動はスプライン関数の境界条件等によって規定される。このとき、特に区間ｘj〜ｘj+1の中点である位置ｘaでの従属変数の真値が図６の黒矩形であり、スプライン関数での補間結果が白矩形であるとすれば、同位置ｘaでの補間精度は低下し得る。
【００９４】
そこで、本願出願人は、区間ｘj〜ｘj+1において図６の黒矩形で表される真値を通り、かつこの区間における従属変数ｙの変化ができるだけ小さくなる状態が最適であると定義した。すなわち、図６に示す実線よりは、破線の方が従属変数の真値に近いと考えたことになる。従属変数ｙの変化ができるだけ小さくなるようにするには、種々の手法を採用可能であるが、その一手法として、高次微分値をできるだけ小さくする構成を採用可能である。
【００９５】
より具体的には、増加した格子点を含めた直交格子においてスプライン関数を算出する場合を想定すれば、各格子点についての２次微分値を算出することができるので、この場合に得られる高次の微分値を利用する。そして、高次の微分値の大きさが小さいほど最適値に近いと考えて関数Ｅを定義する。このような関数Ｅを定義することができれば、最適化対象の従属変数を変動させ、その２次微分値とその周りの位置ｘj，ｘj+1における２次微分値を評価することによって最適化を行うことができる。
【００９６】
例えば、図５に示す２次元空間で考えると、下記式（６）のように関数Ｅを定義することができる。
【数６】
2005333575.tif 000008
【００９７】
ここで、ijは、測色データ１７ａと検証用測色データ１７ｂと中間位置データ１７ｃとによって形成される格子点に対して付された符号であり、図５に示すように、式（６）における（ｉ，ｊ）はブロックの中心に位置する検証用測色データ１７ｂの格子点に相当する。すなわち、（ｉ，ｊ）の組合せを考えることにより、式（６）は、ブロック内の全格子点についての各方向毎の２次微分値（式（６）の第１，２項）および２方向についての２次微分値（式（６）の第３項）を加え合わせた値になる。尚、２つ以上の方向についての２次微分値を以降、クロス２次微分値と呼ぶ。また、l、mはそれぞれi-1,i,i+1、j-1,j,j+1のいずれかであることから、式（６）は測色データ１７ａと検証用測色データ１７ｂと中間位置データ１７ｃとによって形成される格子点であって、上記ブロック内に存在する格子点を指定していると言える。
【００９８】
尚、本実施形態においては、後述する高速化スプライン補間演算において当該クロス２次微分値を利用することに基づいて関数Ｅに当該クロス２次微分値を含めている。すなわち、クロス２次微分値を関数Ｅに含めることでその値ができるだけ小さくなるように最適化することができ、高精度の補間演算に寄与している。但し、本願出願人が発明したように、できるだけ従属変数の変化が小さい状態を最適とするに際しては、当該クロス２次微分値を省略し、例えば、式（６）におけるかっこ内の第１項および第２項のみで関数Ｅを構成しても良い。
【００９９】
当該式（６）を算出するためには、上記式（５）と同様の境界条件を想定し、ブロックの境界に対する最隣接格子点（図５に示す格子Ｓ）の従属変数値および２次微分値を固定することによって算出することができる。例えば、図５に示す位置（ｉ，ｊ−１）の格子点について算出すべき２次微分値は、従属変数ｙij-1のについてのＸ1方向の２次微分値，Ｘ2方向の２次微分値およびクロス２次微分値である。
【０１００】
そこで、図５に示す位置（ｉ−２，ｊ−１），（ｉ＋２，ｊ−１）における２次微分値が既知であるとして（すなわち、上記ステップＳ１１０で算出した値が正しい値であるとして）固定するなら、例えば、位置（ｉ−２，ｊ−１），（ｉ−１，ｊ−１），（ｉ，ｊ−１），（ｉ＋１，ｊ−１），（ｉ＋２，ｊ−１）における独立変数をそれぞれｘi-2j-1，ｘi-1j-1，ｘij-1，ｘi+1j-1，ｘi+2j-1、従属変数をｙi-2j-1，ｙi-1j-1，ｙij-1，ｙi+1j-1，ｙi+2j-1として、以下の式（７）によって２次微分値を算出することができる。
【数７】
2005333575.tif 000009
【０１０１】
すなわち、これら３個の連立方程式において、２次微分値は５個存在するが、上記格子Ｓに相当する位置（ｉ−２，ｊ−１），（ｉ＋２，ｊ−１）における２次微分値を固定すれば、残りの３個の２次微分値を算出することができる。尚、式（７）における偏微分は総てＸ1方向の偏微分である。同様に位置（ｉ，ｊ−２）〜（ｉ，ｊ＋２）を結ぶ線分上の格子点に基づいてＸ2方向の偏微分を算出することができる。
【０１０２】
また、クロス２次微分値は、式（７）における従属変数値および２次微分値をそれぞれ２次微分値およびクロス２次微分値で読み替えることによって算出することができる。すなわち、Ｘ2方向の２次微分値を従属変数値と考え、この従属変数値を算出するためのＸ1方向での１次元スプライン関数を考えると、当該１次元スプライン関数における２次微分値がクロス２次微分値になっている。例えば、式（１）の第３項に相当する２次微分値の実体が式（６）におけるクロス２次微分値となっている。このクロス２次微分値も上記２次微分値算出部２０ｂによって算出され、算出結果を示すデータはクロス２次微分値データ１７ｅとしてＨＤＤ１７に記録される。
【０１０３】
以上のように、格子Ｓを固定すると考えれば、ブロック内の格子点について２次微分値とクロス２次微分値を算出することが可能になる。この２次微分値は、式（７）に示すように各格子点の従属変数値に依存する形で定義されるので、最適化対象である中間位置データ１７ｃの格子点（図５に示す白矩形）の従属変数値を変動させながら関数Ｅを最小化することで、当該白矩形における従属変数値を最適化することができる。
【０１０４】
以上のような考え方のもと、上記図４に示すステップＳ１２５にて目的関数算出部２０ｄが関数Ｅを算出したら、最適化処理部２０ｅは最適化対象の格子点における従属変数値が最適化されたか否かを判別する（ステップＳ１３０）。すなわち、当該関数Ｅの値が最小化されたか否かを判別する。同ステップＳ１３０にて、最適化対象の格子点における従属変数値が最適化されたと判別されない場合には、最適化処理部２０ｅが最適化対象の各格子点における従属変数値を更新し、２次微分値算出部２０ｂは各従属変数値を利用して２次微分値およびクロス２次微分値を算出する（ステップＳ１３５）。最適化処理部２０ｅは、これらの値を利用して上記ステップＳ１２５以降の処理を繰り返す。
【０１０５】
ステップＳ１３０にて、最適化対象の格子点における従属変数値が最適化されたと判別された場合には、従来のスプライン補間演算より真の値に近い値を算出可能な従属変数値および２次微分値（クロス２次微分値を含む）が得られたことになるので、これらをＨＤＤ１７に記録する（ステップＳ１４０）。尚、ここでは、最適化対象の格子点における従属変数値を変動させながら関数Ｅを最小化することができれば良く、各種の最適化手法、例えば、準ニュートン法や共益勾配法等種々のアルゴリズムを採用することができる。
【０１０６】
本実施形態では、以上の処理を全ブロックについて実施することによって中間位置データ１７ｃにおける各格子点の従属変数値を最適化する。このために、ブロック設定部２０ｃは上記測色データ１７ａが形成するブロックの総てについて処理を行ったか否かを判別し（ステップＳ１４５）、総てのブロックについて処理を行ったと判別されるまで処理を繰り返す。すなわち、ステップＳ１４５で総てのブロックについて処理を行ったと判別されなければ着目ブロックを未処理のブロックに変更し（ステップＳ１５０）、ステップＳ１２５以降の処理を繰り返す。
【０１０７】
ステップＳ１４５にて総てのブロックについて処理を行ったと判別されると、中間位置データ１７ｃにて指定される各格子点の総てについて最適化が終了したことになるので、高速化スプライン補間部２０ｆとＬＵＴ作成部２０ｇとがステップＳ１５５以降でＬＵＴを作成する。このためにまず、ＬＵＴ作成部２０ｇがＬＵＴとして登録すべき格子点を仮想ＣＭＹ空間内で抽出する（ステップＳ１５５）。ここでは、予め決められた格子点を抽出することができれば良く、上記図１に示す例のように１７3個のデータを登録するのであれば、例えば、仮想ＣＭＹ階調値の値域を１６等分し、得られた１７個の階調値を任意に組み合わせればよい。尚、本明細書ではこの格子点をＬＵＴ格子点と呼ぶ。
【０１０８】
当該ＬＵＴ格子点を仮想ＣＭＹ空間内で抽出したらその中の一つを選択し（ステップＳ１６０）、高速に処理を実施できる補間演算（この演算を高速化スプライン補間と呼ぶ）を実施する（ステップＳ１６５）。この高速化スプライン補間によれば、ＬＵＴ格子点の仮想ＣＭＹ階調値に対応する従属変数（Ｌ*ａ*ｂ*値）を取得することができる。そこで、ＬＵＴ作成部２０ｇはこれらの対応関係をＲＡＭ１５に一時記録する（ステップＳ１７０）。この対応関係の算出は、上記ＬＵＴ格子点の総てについて実施される。すなわち、ＬＵＴ作成部２０ｇは、総てのＬＵＴ格子点について処理が終了したか否かを判別し（ステップＳ１７５）、総てのＬＵＴ格子点について処理が終了したと判別されなければ処理対象を未処理のＬＵＴ格子点に変更し（ステップＳ１８０）、ステップＳ１６５以降の処理を繰り返す。
【０１０９】
ステップＳ１７５で、総てのＬＵＴ格子点について処理が終了したと判別されると、総てのＬＵＴ格子点について仮想ＣＭＹ階調値とＬ*ａ*ｂ*値との対応関係が定義されていることになるので、ＬＵＴ作成部２０ｇは、予め決められた上記分版規則に従って仮想ＣＭＹ階調値をＣＭＹＫｌｃｌｍデータに変換する。そして、変換後のＣＭＹＫｌｃｌｍデータとＬ*ａ*ｂ*値とを対応づけたＬＵＴを作成し、ＬＵＴ１７ｇとしてＨＤＤ１７に記録する。
【０１１０】
（２−２）高速化スプライン補間演算処理：
ここで、上記高速化スプライン補間演算について詳述する。当該高速化スプライン補間演算は、上述のように１次元の補間演算を繰り返すことなく多次元空間での補間値を取得するための処理であり、上述の測色データ１７ａと検証用測色データ１７ｂと中間位置データ１７ｃおよびこれらのデータによる格子点での２次微分値とクロス２次微分値とを利用して高速な補間処理を実施する。
【０１１１】
当該高速化スプライン補間は、多次元空間での補間を行う場合に計算すべき補間式を予め求めておき、上記２次微分値等を適用することによって実現される。ここでは、図２に示す２次元空間を例に説明する。この例に則して表現すると、格子点位置（ｘ1i，ｘ2j），（ｘ1i+1，ｘ2j），（ｘ1i，ｘ2j+1），（ｘ1i+1，ｘ2j+1）に囲まれた任意の位置（ｘ1，ｘ2）における従属変数値ｙを各格子点位置およびその従属変数値と２次微分値とから算出できるような式を予め算出する。
【０１１２】
ここで、位置（ｘ1，ｘ2j）と位置（ｘ1，ｘ2j+1）の従属変数値はＸ1方向のスプライン補間を考えると、式（８），式（９）によって与えられる。
【数８】
2005333575.tif 000010
【数９】
2005333575.tif 000011
【０１１３】
一方、位置（ｘ1，ｘ2）は、位置（ｘ1，ｘ2j）と位置（ｘ1，ｘ2j+1）とにおける従属変数および２次微分値によって式（１０），式（１１）のように表現される。
【数１０】
2005333575.tif 000012
【数１１】
2005333575.tif 000013
【０１１４】
ここで、式（１０）の右辺第３項、第４項における２次微分値は、式（８）をｘ2で２階微分したものであり、実際の２階微分を行うことにより、式（１２）のように定義することができる。
【数１２】
2005333575.tif 000014
【０１１５】
そこで、式（８），式（１２）を式（１０）に代入し、変形すると、下記式（１３）が得られる。
【数１３】
2005333575.tif 000015
【０１１６】
この式（１３）には、格子点位置（ｘ1i，ｘ2j），（ｘ1i+1，ｘ2j），（ｘ1i，ｘ2j+1），（ｘ1i+1，ｘ2j+1）および当該格子点に囲まれた矩形内で任意の位置（ｘ1，ｘ2）とそれぞれの従属変数値，２次微分値，クロス２次微分値のみが含まれる。従って、ＨＤＤ１７に記録済みの測色データ１７ａと検証用測色データ１７ｂと中間位置データ１７ｃおよびこれらのデータによる格子点での２次微分値とクロス２次微分値とを利用して、位置（ｘ1，ｘ2）における従属変数値ｙを算出することができる。
【０１１７】
すなわち、図５に示すような１つの対角に白丸および黒丸が存在し、他の対角にそれぞれ白矩形が存在する正方格子（測色データ１７ａが形成する格子より狭い格子）を利用して任意の位置の従属変数値を算出することができる。ここで、白丸および黒丸はそれぞれ測色データ１７ａと検証用測色データ１７ｂとに相当するので、実測値であり、従属変数値は正確である。一方、白矩形は中間位置データ１７ｃに相当するので実測値ではないが、上述のように最適化されているので従来のスプライン補間で算出するよりは正確に真の値に近い値を示すことができる。従って、これらの値に基づいて高速化スプライン補間を実施することで非常に正確な値を取得することができる。
【０１１８】
図７は、この処理を実施するためのフローチャートである。すなわち、上記高速化スプライン補間部２０ｆは、高速化スプライン補間演算を実施するために、ＨＤＤ１７を参照して測色データ１７ａと検証用測色データ１７ｂと中間位置データ１７ｃとを取得する（ステップＳ２００）。これにより、仮想ＣＭＹ空間における格子点位置と各格子点位置における従属変数値を取得することができる。さらに、ＨＤＤ１７を参照し、２次微分値データ１７ｄおよびクロス２次微分値データ１７ｅを取得する（ステップＳ２１０，Ｓ２２０）。
【０１１９】
これにより、上記式（１３）に従って、任意の位置について高速化スプライン補間を実施可能になるので、ＨＤＤ１７を参照して当該式（１３）を示す高速化スプライン補間式データ１７ｆを取得する（ステップＳ２３０）。すなわち、上記式（１３）を示すデータを予め作成しＨＤＤ１７に保存しておき、高速化スプライン補間部２０ｆはこのデータを参照して式（１３）を算出できるように構成しておく。
【０１２０】
例えば、式（１３）を直接的に示すデータによって高速化スプライン補間式データ１７ｆを構成し、ステップＳ２００〜Ｓ２２０で取得した値および補間位置（ＬＵＴ格子点の位置）を示すデータを各項に代入することによって演算を実行する構成等を採用可能である。ステップＳ２３０にて高速化スプライン補間式データ１７ｆを取得したら、上記ステップＳ１６５を実行する際に選択されているＬＵＴ格子点に対応する従属変数値（Ｌ*ａ*ｂ*値）を算出する（ステップＳ２４０）。この結果、補間演算が実施されたことになる。すなわち、１次元毎の補間演算を実施することなく、予め用意された高速化スプライン補間式データ１７ｆに基づいて単に代数演算を実施するのみで多次元の補間演算を実施したことになる。従って、非常に高速に補間演算を実施可能である。
【０１２１】
（２−３）３次元空間への拡張：
上述の例においては、主に２次元空間について説明したが、次元を３次元以上の多次元に拡張することは容易である。従って、上述の例で説明した技術事項を多次元に適用し高精度かつ高速の補間演算を実施することが可能であり、高精度に色変換可能なＬＵＴを作成することができる。ここでは、上記図３に示す測色データ１７ａの実例である３次元への拡張を説明する。
【０１２２】
図８は、３次元空間におけるブロックおよび測色データ１７ａ，検証用測色データ１７ｂ，中間位置データ１７ｃを説明する説明図である。すなわち、測色データ１７ａは、実際には仮想ＣＭＹ空間の階調値を備えており、当該仮想ＣＭＹ空間は３次元空間である。同図においても、測色データ１７ａによる格子点を白丸、検証用測色データ１７ｂによる格子点を黒丸、中間位置データ１７ｃによる格子点を白矩形で示している。
【０１２３】
このように、仮想ＣＭＹ空間において、測色データ１７ａによる格子点は立方体（立方格子）を形成し、検証用測色データ１７ｂによる格子点は当該立方体の中央に位置し、中間位置データ１７ｃによる格子点は当該立方体における稜の中点あるいは当該立方体における外面の中央に位置する。これらの格子点は仮想ＣＭＹ空間において測色データ１７ａによる格子点より小さな立方体からなる立方格子を形成している。尚、測色データ１７ａによる格子点のみで形成される最小の立方体（図８にて実線で示す立方体）が３次元におけるブロックに相当する。
【０１２４】
この状況において、当該測色データ１７ａによる格子点を頂点とする上述の立方体の最隣接格子の従属変数値（Ｌ*ａ*ｂ*値）と２次微分値とクロス２次微分値とを固定する。すなわち、図８に示す立方体の外面を構成する正方形と同じ面積かつ平行な面を有し、当該立方体に最も近い正方形（例えばＳ’）を考え、この立方体の外面に隣接する６個の正方形に含まれる格子点上の従属変数値と２次微分値とクロス２次微分値とを固定する。そして、各正方形に垂直な直線上にある格子点についてスプライン補間を考えると、上記図５と同様に最適化対象の格子点（白矩形）の従属変数値に依存する形で２次微分値およびクロス２次微分値を算出可能になる。
【０１２５】
この結果、２次微分値およびクロス２次微分値の大きさを評価する関数Ｅを下記式（１４）のように定義し、この関数を最小化することによって従属変数値を最適化することが可能になる。
【数１４】
2005333575.tif 000016
【０１２６】
ここで、ijkは、測色データ１７ａと検証用測色データ１７ｂと中間位置データ１７ｃとによって形成される格子点に対して付された符号であり、図８に示すように、式（１４）における（ｉ，ｊ，ｋ）はブロックの中心に位置する検証用測色データ１７ｂの格子点に相当するし、l、m、nがそれぞれi-1,i,i+1、j-1,j,j+1、k-1,k,k+1のいずれかをとることでブロック内の格子点を指定している（図８にはその一部を例示してある）。以上の関数Ｅに基づいて従属変数値を最適化できれば、高精度に補間演算を実施することが可能である。
【０１２７】
さらに、測色データ１７ａ，検証用測色データ１７ｂおよび最適化後の中間位置データ１７ｃは、測色データ１７ａによる格子点より高密度の立方体からなる立方格子を形成する。従って、当該高密度の立方体の頂点（１個の白丸，１個の黒丸，６個の白矩形）について算出されたデータ（従属変数値，２次微分値，クロス２次微分値）を使用すれば、３次元の高速化スプライン補間を実施することができる。すなわち、独立変数（ＣＭＹ）をそれぞれ（ｘ1，ｘ2，ｘ3）、従属変数をｙとすれば、下記式（１５）によって高速化スプライン補間を実施することができる。
【数１５】
2005333575.tif 000017
【０１２８】
尚、ここでは上記高密度の立方体の頂点を位置（i，j，k），（i+1，j，k），（i，j+1，k），（i+1，j+1，k），（i，j，k+1），（i+1，j，k+1），（i，j+1，k+1），（i+1，j+1，k+1）としてある。また、独立変数（ｘ1，ｘ2，ｘ3）における各方向の係数をＡ1〜Ｄ1、Ａ2〜Ｄ2、Ａ3〜Ｄ3としてある。３次元においても、当該式（１５）に対して上記高密度の立方体の各頂点におけるデータを代入すればよく、１次元のスプライン補間を繰り返す必要がないので、非常に高速に演算を行うことが可能である。
【０１２９】
（２−４）作成された色変換テーブルデータに基づく色変換処理：
以上のようにして作成されたＬＵＴは、汎用的なコンピュータにて汎用的に行われている印刷処理にて使用される。図９は、印刷時に当該ＬＵＴを使用するコンピュータ構成例を示すブロック図である。コンピュータ１１０は汎用的なパーソナルコンピュータであり、プリンタドライバ（ＰＲＴＤＲＶ）２１０と入力機器ドライバ（ＤＲＶ）２２０とディスプレイドライバ（ＤＲＶ）２３０とがＯＳ２００に組み込まれている。ディスプレイＤＲＶ２３０はディスプレイ１８０における画像データ等の表示を制御するドライバであり、入力機器ＤＲＶ２２０はシリアル通信用Ｉ／Ｆ１９０ａを介して入力される上記キーボード３１０やマウス３２０からのコード信号を受信して所定の入力操作を受け付けるドライバである。
【０１３０】
ＡＰＬ２５０は、カラー画像のレタッチ等を実行可能なアプリケーションプログラムであり、利用者は当該ＡＰＬ２５０の実行下において上記操作用入力機器を操作して当該カラー画像をプリンタ４００にて印刷させることができる。このようなカラー画像の印刷時に本発明によって作成されたＬＵＴが参照される。ＡＰＬ２５０にて作成される画像を示す画像データ１５０ａはＲＧＢの各色成分を階調表現したドットマトリクス状のデータであり、ｓＲＧＢ規格に準拠したデータであるとともに、ＨＤＤ１５０に保存される。
【０１３１】
上記ＰＲＴＤＲＶ２１０は印刷を実行するために、画像データ取得モジュール２１０ａと色変換モジュール２１０ｂとハーフトーン処理モジュール２１０ｃと印刷データ生成モジュール２１０ｄとを備えている。また、本発明によって作成されたＬＵＴ１７ｇおよびｓＲＧＢデータをＬ*ａ*ｂ*データに変換するためのＬＵＴ１５０ｂはＨＤＤ１５０に保存されている。ＡＰＬ２５０実行時に利用者が印刷実行指示を行うと、印刷にかかる画像データ１５０ａが画像データ取得モジュール２１０ａに取得され、画像データ取得モジュール２１０ａは上記色変換モジュール２１０ｂを起動する。
【０１３２】
色変換モジュール２１０ｂは、ｓＲＧＢデータをＣＭＹＫｌｃｌｍデータに変換するモジュールであり、ＬＵＴ１５０ｂを参照し、補間演算によって任意のｓＲＧＢデータをＬ*ａ*ｂ*データに変換する。さらに、ＬＵＴ１７ｇを参照し、補間演算によって当該Ｌ*ａ*ｂ*データをＣＭＹＫｌｃｌｍデータに変換する。すなわち、当該色変換モジュール２１０ｂは、ｓＲＧＢ表色系における任意の格子点をプリンタ４００にて使用するＣＭＹＫｌｃｌｍ表色系における格子点に変換する。
【０１３３】
色変換モジュール２１０ｂが色変換を行ってＣＭＹＫｌｃｌｍデータを生成すると、当該ＣＭＹＫｌｃｌｍデータは上記ハーフトーン処理モジュール２１０ｃに受け渡される。ハーフトーン処理モジュール２１０ｃは、各ドット毎のＣＭＹＫｌｃｌｍデータをより低階調のハーフトーンデータに変換する。印刷データ生成モジュール２１０ｄはかかるハーフトーンデータを受け取って、プリンタ４００で使用される順番に並べ替える並べ替え処理を行う。この並べ替え処理の後、画像の解像度などの所定の情報を付加して印刷データを生成し、ＵＳＢ用Ｉ／Ｆ１９０ｂを介してプリンタ４００に出力する。プリンタ４００においては当該印刷データに基づいて上記ディスプレイ１８０に表示された画像を印刷する。
【０１３４】
この印刷処理において、色変換は本発明によって作成されたＬＵＴを参照して行われる。このＬＵＴは、上述のように従属変数値を最適化したデータによって作成されているので、色変換モジュール２１０ｂでは非常に高精度に色変換を行うことができる。尚、以上のＰＲＴＤＲＶ２１０の構成はＰＲＴＤＲＶ２１０による非常に汎用的な印刷処理である。従って、本発明にかかる色変換テーブル作成方法にてＬＵＴを作成すれば、従来の印刷処理にて使用されていたＬＵＴを本発明によるＬＵＴに置き換えるだけで多くのプリンタにてハードウェア構成を全く変えることなく、非常に高画質の印刷を実行可能にすることができる。
【０１３５】
尚、上述の構成においてはコンピュータ１１０によって印刷制御装置を構成しているが、プリンタに搭載するプログラム実行環境によって本発明にかかる印刷制御処理を実施可能に構成し、プリンタ４００に対して直接的に接続されるデジタルカメラ等の画像機器から画像データを取得して印刷制御処理を行ってもよい。むろん、同様の構成においてデジタルカメラにて印刷制御処理を実施してもよいし、他にも分散処理によって本発明にかかる印刷制御処理を実施するなど種々の構成を採用可能である。画像を取り込むスキャナと画像を印刷するプリンタとが一体となったいわゆる複合機において本発明にかかる印刷制御処理を行ってもよい。
【０１３６】
（３）他の実施形態：
以上説明したように、本発明においては、従属変数値を最適化することによって従来のスプライン補間より高精度に補間演算を実施できるように格子点を増加させており、このような最適化を実施可能である限り、他にも種々の構成を採用可能である。例えば、上述のステップＳ１１０〜Ｓ１１５では、スプライン補間を実施して最適化を実施する前の従属変数値（初期値）を算出していたが、本発明においては最適化を実施するので、ここでは初期値を算出することができれば良い。
【０１３７】
具体的には、他の補間等によって算出しても良い。スプライン補間より高速な補間を採用すれば、処理の高速化を図ることができる。但し、従属変数値の最適化においては、初期値が真の値に近いほど一般的には、収束が速く、また、収束しやすいので、スプライン補間にて初期値を算出する構成によれば、できるだけ真の値に近い従属変数値を算出できるという効果がある。できるだけ真の値に近い従属変数値を算出するという意味では、多手段（図５に示す例では、測色用データ１７ａにより従属変数値を算出する手段と、検証用測色データ１７ｂにより従属変数を算出する２つの手段）のスプライン補間を実施して、その平均を算出するという構成を採用しても良い。
【０１３８】
また、処理対象となる着目ブロックの設定順序も特に限定されない。例えば、仮想ＣＭＹ空間の隅から順に着目ブロックを設定しても良いし、一通り最適化した後に最適化後の値を利用して再度着目ブロックを設定し、最適化を実施しても良い。また、上述の実施形態においては、最適化対象に相当する格子点の周囲に従属変数値と２次微分値とを固定する格子点が必要である。かかる構成において、仮想ＣＭＹ空間の外面に相当する格子点のように周囲に固定すべき格子点が存在しない場合であっても、本発明の処理によって全体として精度向上が図れる限りにおいて各種の対応が可能である。例えば、従属変数値を初期値に固定し、最適化対象から除外する構成等を採用可能である。
【０１３９】
さらに、本発明においては、測色データ１７ａや検証用測色データ１７ｂにおける格子点の中間に相当する格子点について従属変数値を最適化できれば良い。従って、上述の関数Ｅの関数形は他の関数形を採用し得る。すなわち、最適化対象の格子点における従属変数値あるいは微分値の特性について所定の理想状態を想定し、その理想状態に近づいているか否かを評価する関数を設定し、最適化処理を実施すれば、所望の理想状態に近づけることができる。また、上記実施形態のように、格子点間の関数を想定したときにその関数ができるだけ滑らかな状態を理想とするためには、上記関数Ｅのように高次微分値ができるだけ小さくなるような関数以外にも各種の関数を採用可能である。
【０１４０】
さらに、上記実施形態においては、仮想ＣＭＹ空間とＬ*ａ*ｂ*空間との対応関係を規定したＬＵＴを作成する構成を説明したが、本発明の適用対象は仮想ＣＭＹ空間や３次元空間に限られない。すなわち、上述の測色データ１７ａと検証用測色データ１７ｂとの関係をより多次元に適用することも可能である。例えば、測色データ１７ａと検証用測色データ１７ｂとにおいてＣＭＹＫｌｃｌｍデータとＬ*ａ*ｂ*データとの対応を規定しておき、ＣＭＹＫｌｃｌｍ空間を直交６次元空間と考えれば、上述の図５や図８に規定した格子点と同様の位置関係を定義することができ、この位置関係に対して従属変数値の最適化を適用することも可能である。
【０１４１】
さらに、上記実施形態においては、最適化を行った後にＬＵＴを作成するに際して上記高速化スプライン補間を使用していたが、最適化された従属変数値を利用するために高速化スプライン補間を使用しない構成も採用可能である。すなわち、最適化された従属変数値を利用して従来のスプライン補間を実施する構成を採用しても良い。但し、高速化スプライン補間においては、その処理を実施する段階で既に得られている２次微分値等を使用し、また、任意の格子点位置について一回で演算が可能である点で処理が高速であり、この意味で高速化スプライン補間を利用する構成が好ましい。
【図面の簡単な説明】
【０１４２】
【図１】ＬＵＴの作成を概略的に示す図である。
【図２】多次元空間のスプライン補間演算を説明するための図である。
【図３】色変換テーブル作成装置の構成例を示すブロック図である。
【図４】色変換テーブル作成装置の処理フローチャートである。
【図５】格子点の位置関係を説明するための図である。
【図６】高精度の補間演算を説明するための説明図である。
【図７】高速化スプライン補間のフローチャートである。
【図８】格子点の位置関係を説明するための図である。
【図９】ＬＵＴを使用するコンピュータ構成例を示すブロック図である。
【符号の説明】
【０１４３】
１０…コンピュータ、１４…ＣＰＵ、１５…ＲＡＭ、１６…ＲＯＭ、１７…ＨＤＤ、１７ａ…測色データ、１７ｂ…検証用測色データ、１７ｃ…中間位置データ、１７ｄ…２次微分値データ、１７ｅ…クロス２次微分値データ、１７ｆ…高速化スプライン補間式データ、１７ｇ…ＬＵＴ、２０…ＬＵＴ作成プログラム、２０ａ…スプライン補間部、２０ｂ…２次微分値算出部、２０ｃ…ブロック設定部、２０ｄ…目的関数算出部、２０ｅ…最適化処理部、２０ｆ…高速化スプライン補間部、２０ｇ…ＬＵＴ作成部
【図１】
2005333575.tif 000018
【図２】
2005333575.tif 000019
【図３】
2005333575.tif 000020
【図４】
2005333575.tif 000021
【図５】
2005333575.tif 000022
【図６】
2005333575.tif 000023
【図７】
2005333575.tif 000024
【図８】
2005333575.tif 000025
【図９】
2005333575.tif 000026