(57)【特許請求の範囲】
【請求項１】
予め定められた格子間隔を有する規則的な格子点により定義され、第一の色空間の色値を第二の色空間の色値に変換するカラールックアップテーブルを生成する色処理装置であって、
前記第一の色空間において第一の間隔を有する格子点に対応するカラーパッチを測色して得られる前記第二の色空間で示される第一の測色値、および、前記第一の色空間において第二の間隔（第二の間隔＜第一の間隔）を有する格子点の一部に対応するカラーパッチを測色して得られる前記第二の色空間で示される第二の測色値を取得する取得手段と、
前記第一の測色値に対応する格子点および前記第二の測色値に対応する格子点を含むように、前記カラールックアップテーブルの規則的な格子点を設定する設定手段と、
前記設定手段が設定した格子点に対応する前記第二の色空間の色値を求め、前記求めた第二の色空間の色値を前記カラールックアップテーブルに格納する格納手段とを有し、
前記格納手段は、ターゲットの格子点に対応する測色値が前記第一および前記第二の測色値に存在するか否かを判定し、前記ターゲットの格子点に対応する測色値が存在すると判定した場合は前記ターゲットの格子点に対応する測色値を前記カラールックアップテーブルに格納し、前記ターゲットの格子点に対応する測色値が存在しないと判定した場合は前記第一および前記第二の測色値から前記ターゲットの格子点に対応する前記第二の色空間の色値を計算して、前記計算した第二の色空間の色値を前記カラールックアップテーブルに格納することを特徴とする色処理装置。
【請求項２】
前記第二の間隔は、前記第一の間隔の半分であることを特徴とする請求項1に記載された色処理装置。
【請求項３】
前記設定手段が設定する前記カラールックアップテーブルの規則的な格子点は、前記第一の測色値に対応する格子点および前記第二の測色値に対応する格子点の大半を含むことを特徴とする請求項1に記載された色処理装置。
【請求項４】
第一の色空間の色値を第二の色空間の色値に変換するカラールックアップテーブルを生成する色処理装置であって、
前記第一の色空間において第一の間隔を有する格子点に対応する第一の色点に応じた第一のカラーパッチを測色して得られる前記第二の色空間で示される第一の測色値、および、前記第一の色点とは異なる前記第一の色空間における第二の色点に応じた第二のカラーパッチを測色して得られる前記第二の色空間で示される第二の測色値を取得する取得手段と、
前記第一の色空間において第二の間隔（第二の間隔＜第一の間隔）を有する規則的な格子点を設定する設定手段と、
前記第一および前記第二の測色値から、前記設定手段が設定した格子点に対応する前記第二の色空間の色値を求め、前記求めた第二の色空間の色値を前記カラールックアップテーブルに格納する格納手段とを有し、
前記格納手段は、前記第二の色点の近傍に位置する前記設定手段が設定した格子点に対応する前記第二の色空間の色値を、前記第二の色点の測色値に基づき修正することを特徴とする色処理装置。
【請求項５】
前記格納手段は、前記第二の色点の近傍に位置する前記設定手段が設定した格子点を、前記カラールックアップテーブルを用いて前記色変換を行う際に使用する補間アルゴリズムに応じて選択することを特徴とする請求項4に記載された色処理装置。
【請求項６】
前記格納手段は、前記第二の色点と、前記第二の色点の近傍に位置する前記設定手段が設定した格子点の距離に応じて、前記修正を行うことを特徴とする請求項4または請求項5に記載された色処理装置。
【請求項７】
コンピュータを制御して、請求項1から請求項6の何れか一項に記載された各手段として機能させるコンピュータプログラムが格納されたコンピュータが読取可能な記憶媒体。
【請求項８】
予め定められた格子間隔を有する規則的な格子点により定義され、第一の色空間の色値を第二の色空間の色値に変換するカラールックアップテーブルを生成する色処理方法であって、
前記第一の色空間において第一の間隔を有する格子点に対応するカラーパッチを測色して得られる前記第二の色空間で示される第一の測色値、および、前記第一の色空間において第二の間隔（第二の間隔＜第一の間隔）を有する格子点の一部に対応するカラーパッチを測色して得られる前記第二の色空間で示される第二の測色値を取得する取得ステップと、
前記第一の測色値に対応する格子点および前記第二の測色値に対応する格子点を含むように、前記カラールックアップテーブルの規則的な格子点を設定する設定ステップと、
前記設定ステップで設定した格子点に対応する前記第二の色空間の色値を求め、前記求めた第二の色空間の色値を前記カラールックアップテーブルに格納する格納ステップとを有し、
前記格納ステップは、ターゲットの格子点に対応する測色値が前記第一および前記第二の測色値に存在するか否かを判定し、前記ターゲットの格子点に対応する測色値が存在すると判定した場合は前記ターゲットの格子点に対応する測色値を前記カラールックアップテーブルに格納し、前記ターゲットの格子点に対応する測色値が存在しないと判定した場合は前記第一および前記第二の測色値から前記ターゲットの格子点に対応する前記第二の色空間の色値を計算して、前記計算した第二の色空間の色値を前記カラールックアップテーブルに格納することを特徴とする色処理方法。
【請求項９】
第一の色空間の色値を第二の色空間の色値に変換するカラールックアップテーブルを生成する色処理方法であって、
前記第一の色空間において第一の間隔を有する格子点に対応する第一の色点に応じた第一のカラーパッチを測色して得られる前記第二の色空間で示される第一の測色値、および、前記第一の色点とは異なる前記第一の色空間における第二の色点に応じた第二のカラーパッチを測色して得られる前記第二の色空間で示される第二の測色値を取得する取得ステップと、
前記第一の色空間において第二の間隔（第二の間隔＜第一の間隔）を有する規則的な格子点を設定する設定ステップと、
前記第一および前記第二の測色値から、前記設定ステップで設定した格子点に対応する前記第二の色空間の色値を求め、前記求めた第二の色空間の色値を前記カラールックアップテーブルに格納する格納ステップとを有し、
前記格納ステップは、前記第二の色点の近傍に位置する前記設定手段が設定した格子点に対応する前記第二の色空間の色値を、前記第二の色点の測色値に基づき修正することを特徴とする色処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、第一の色空間の色値を第二の色空間の色値に変換するカラールックアップテーブルを生成する色処理に関する。
【０００２】
【従来の技術】
カラーシステムは、多くの場合、色空間の間の変換にルックアップテーブル（LUT）を採用する。例えば、カラープリンタで出力するために、デバイスに独立な色をプリンタの色材の値に変換するのにLUTを使用するのが普通である。
【０００３】
【発明が解決しようとする課題】
上記のようなLUTは、デバイス色空間のカラーパッチの妥当なサイズのサンプルについて、デバイスのサンプル出力を測色して作成される。このようなカラーパッチは、デバイス色空間に沿って規則的な間隔で一様に配置されていることが好ましい。サンプルをデバイス色空間に亘って規則的な間隔で一様に配置する理由は、LUTのエントリにアクセスする場合、所望の色の色座標をLUTに簡単にマッピングできるため、コンピュータのスループットおよびスピードが大幅に向上するからである。対照的に、間隔が一様ではないLUTは、所望の色をLUT内の格子点にマッピングするための前処理ステップを必要とし、この前処理ステップは、LUTアクセス時のスピードおよびスループットが大きく低下させる。
【０００４】
一方、デバイス色空間のいくつかの領域は、（肌色の色調のように）適切な色再現が必要だという点で、あるいは、デバイス色座標をわずかに変えただけでも非線形性が大きくなるという点で重要である。このような領域では、サンプルの間隔を狭めてより多くのカラーパッチを得て、これら重要な領域における色精度および忠実度を高めることが望ましい。しかし、正規化されたLUTが望ましければ、少数の重要な領域のサンプリングを増やすために、色材空間の全体の至る所でサンプリングを増やす必要がある。このような増加は、新たな格子点それぞれで測定を行う必要があり、大抵は時間を消費し、かつ非効率である。例えば、サンプリングを8×8×8×8=4,096パッチのLUTから9×9×9×9=6,561カラーパッチに増やすには、対応する測色を行うとともに、2,465個の追加カラーパッチが必要である。
【０００５】
Rollestonへ与えられた米国特許第5,594,557号は、いくつかの重要な領域における色精度を高めるためにある方法を提案する。Rollestonの特許によれば、局所的な非線形領域において、計算で求められた非測定の色、並びに、実際に測定された色に基づき、ルックアップテーブルに追加データ点が供給される。Rollestonの方法には二つの欠点がある。第一に、結果としてのプリンタLUTは、格子点の間隔が一定でないという意味で、規則的ではない。したがって、LUTのエントリへのアクセスは、色の値とLUT内の対応アドレスとの間の前処理マップを必要とし、そのため、アクセスが遅くなる。第二に、結果としてのLUTは完全には埋められない。したがって、LUTの格子上で一致(identically)が見つからない色用の後処理において、非一様な補間を伴うより複雑な補間が必要になる。
【０００６】
本発明は、上述の問題を解決するためのものであり、精度が改善された正規化ルックアップテーブルを生成することを目的とする。
【０００９】
【課題を解決するための手段】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１０】
本発明にかかる色処理装置は、予め定められた格子間隔を有する規則的な格子点により定義され、第一の色空間の色値を第二の色空間の色値に変換するカラールックアップテーブルを生成する色処理装置であって、前記第一の色空間において第一の間隔を有する格子点に対応するカラーパッチを測色して得られる前記第二の色空間で示される第一の測色値、および、前記第一の色空間において第二の間隔（第二の間隔＜第一の間隔）を有する格子点の一部に対応するカラーパッチを測色して得られる前記第二の色空間で示される第二の測色値を取得する取得手段と、前記第一の測色値に対応する格子点および前記第二の測色値に対応する格子点を含むように、前記カラールックアップテーブルの規則的な格子点を設定する設定手段と、前記設定手段が設定した格子点に対応する前記第二の色空間の色値を求め、前記求めた第二の色空間の色値を前記カラールックアップテーブルに格納する格納手段とを有し、前記格納手段は、ターゲットの格子点に対応する測色値が前記第一および前記第二の測色値に存在するか否かを判定し、前記ターゲットの格子点に対応する測色値が存在すると判定した場合は前記ターゲットの格子点に対応する測色値を前記カラールックアップテーブルに格納し、前記ターゲットの格子点に対応する測色値が存在しないと判定した場合は前記第一および前記第二の測色値から前記ターゲットの格子点に対応する前記第二の色空間の色値を計算して、前記計算した第二の色空間の色値を前記カラールックアップテーブルに格納することを特徴とする。
【００１１】
また、第一の色空間の色値を第二の色空間の色値に変換するカラールックアップテーブルを生成する色処理装置であって、前記第一の色空間において第一の間隔を有する格子点に対応する第一の色点に応じた第一のカラーパッチを測色して得られる前記第二の色空間で示される第一の測色値、および、前記第一の色点とは異なる前記第一の色空間における第二の色点に応じた第二のカラーパッチを測色して得られる前記第二の色空間で示される第二の測色値を取得する取得手段と、前記第一の色空間において第二の間隔（第二の間隔＜第一の間隔）を有する規則的な格子点を設定する設定手段と、前記第一および前記第二の測色値から、前記設定手段が設定した格子点に対応する前記第二の色空間の色値を求め、前記求めた第二の色空間の色値を前記カラールックアップテーブルに格納する格納手段とを有し、前記格納手段は、前記第二の色点の近傍に位置する前記設定手段が設定した格子点に対応する前記第二の色空間の色値を、前記第二の色点の測色値に基づき修正することを特徴とする。
【００１２】
本発明にかかる色処理方法は、予め定められた格子間隔を有する規則的な格子点により定義され、第一の色空間の色値を第二の色空間の色値に変換するカラールックアップテーブルを生成する色処理方法であって、前記第一の色空間において第一の間隔を有する格子点に対応するカラーパッチを測色して得られる前記第二の色空間で示される第一の測色値、および、前記第一の色空間において第二の間隔（第二の間隔＜第一の間隔）を有する格子点の一部に対応するカラーパッチを測色して得られる前記第二の色空間で示される第二の測色値を取得する取得ステップと、前記第一の測色値に対応する格子点および前記第二の測色値に対応する格子点を含むように、前記カラールックアップテーブルの規則的な格子点を設定する設定ステップと、前記設定ステップで設定した格子点に対応する前記第二の色空間の色値を求め、前記求めた第二の色空間の色値を前記カラールックアップテーブルに格納する格納ステップとを有し、前記格納ステップは、ターゲットの格子点に対応する測色値が前記第一および前記第二の測色値に存在するか否かを判定し、前記ターゲットの格子点に対応する測色値が存在すると判定した場合は前記ターゲットの格子点に対応する測色値を前記カラールックアップテーブルに格納し、前記ターゲットの格子点に対応する測色値が存在しないと判定した場合は前記第一および前記第二の測色値から前記ターゲットの格子点に対応する前記第二の色空間の色値を計算して、前記計算した第二の色空間の色値を前記カラールックアップテーブルに格納することを特徴とする。
【００１３】
また、第一の色空間の色値を第二の色空間の色値に変換するカラールックアップテーブルを生成する色処理方法であって、前記第一の色空間において第一の間隔を有する格子点に対応する第一の色点に応じた第一のカラーパッチを測色して得られる前記第二の色空間で示される第一の測色値、および、前記第一の色点とは異なる前記第一の色空間における第二の色点に応じた第二のカラーパッチを測色して得られる前記第二の色空間で示される第二の測色値を取得する取得ステップと、前記第一の色空間において第二の間隔（第二の間隔＜第一の間隔）を有する規則的な格子点を設定する設定ステップと、前記第一および前記第二の測色値から、前記設定ステップで設定した格子点に対応する前記第二の色空間の色値を求め、前記求めた第二の色空間の色値を前記カラールックアップテーブルに格納する格納ステップとを有し、前記格納ステップは、前記第二の色点の近傍に位置する前記設定手段が設定した格子点に対応する前記第二の色空間の色値を、前記第二の色点の測色値に基づき修正することを特徴とする。
【００１８】
【発明の実施の形態】
【概要】
簡単に述べると、本発明に従えば、重要な領域における色精度を高めた正規化された色LUTを生成するために、色空間全体の至る所で広い間隔で実測が行われ、重要な領域において追加実測が行われる。その後、実際には測定されていない格子点におけるLUTの値を、実際に測定された値の補間（加重平均など）により求め、重要な領域における測定間隔によって定義される格子に基づきLUTが正規化される。
【００１９】
一代表例では、最初に8×8×8×8＝4,096の格子点を有する正規化されたLUTで測定が行われる。その後、8×8×8×8のLUTの格子点間の正確に中点で、重要な領域の測定が行われる。そして、実測された最初の8×8×8×8のLUTの値の間における補間により、実測されていない格子点の値が挿入されて、LUTは16×16×16×16の格子点配列に再正規化される。
【００２０】
LUTは完全に正規化されているので、LUTのエントリへのアドレスは入力色座標から容易に求められ、LUTへのアクセススピードを高めることが可能である。さらに、LUTは、格子点のそれぞれすべてにエントリを含むから、変換された色出力値を即座に得ることが可能であり、通常は、非一様な補間のような後処理は不要である。
【００２１】
したがって、第一の面によれば、本発明は、第一の間隔によるカラーパッチの測定、および、第一の間隔の間の中間点の重要な色領域のカラーパッチの測定により、精度が改善された正規化されたプリンタLUTの生成に関するものである。その後、正規化されたLUTへの全測定点の挿入、および、実際には測定されていない格子点における、正規化LUTへの補間値の挿入により、第一の間隔よりも狭い第二のLUT間隔で正規化されたLUTが作成される。
【００２２】
本発明のより一般的な面は、とくに、「偏心点(eccentric points)」、つまり既存の格子点の間で正確に中間に位置しない点の測定に有用である。このような偏心点の正確な色再現は、それら偏心点がロゴの特定の色を表していたり、標準化された再現試験における特定の色を表しているという状況において、とくに重要である。そのような偏心点に関する、そのような基準(criteria)は、巨大な完全に正規化されたLUTを必要とする場合があるから、偏心点の位置に対応する格子点の間隔を狭めること、および、完全に正規化されたLUTをそのまま維持することは、通常、現実的ではない。したがって、このような場合、それらの格子点に実測された値があったとしても、完全に正規化されたLUTの偏心点近傍の格子点のエントリは補間値で置き換えられる。それらの格子点の補間値は、正確にその偏心点の実測値である偏心点の値を求めるために計算される。
【００２３】
したがって、本発明のこの面によれば、カラールックアップテーブルを第二の色空間の色値に変換される第一の色空間の色値によって生成するために、カラールックアップテーブルを一定の格子間隔の規則的な格子点によって定義するために、第二の色空間において、第一の色空間における複数色値の第一組の実測結果が得られる、その際、複数色値の第一組を第一の格子間隔の格子点における実質的な全色値にする。第一の格子間隔は、一定の格子間隔よりも広い。第一の色空間における複数色値の第二組の実測結果が得られ、その第二組は、第一の格子間隔の格子点の間の点の色値になり、偏心点を含む。その後、カラールックアップテーブル用に一定の格子間隔が選択される、その際、一定の格子間隔は、第一の格子間隔よりも狭く、かつ、少なくとも幾つかの格子点を含む。その後、一定の格子間隔で定義される全格子点それぞれについて、カラールックアップテーブルのエントリが計算される、各格子点に隣接する第一および第二組の色値から加重平均された実測値により各格子点のエントリが計算される。したがって、特定の格子点のエントリは、隣接する格子点の実測値の補間値に等しく、格子点は実測結果と合致しない。格子点が実測結果と合致すれば、格子点のエントリは、その格子点が偏心格子点に隣接していない限り、実測結果に等しい。後者の場合、格子点のエントリは加重平均値であり、格子点におけるエントリの後処理補間は、測定された偏心点を与える。
【００２４】
完全に正規化されたLUTの格子上に正確に配置された点さえも、それらの格子点が偏心点に隣接する場合は、補間値で置き換えられるから、それらの偏心点の色の忠実度および精度は、LUTの過度の拡大を必要とせずに保存される。つまり、偏心点と通常格子点とを輝度レベルでしか区別しない場合、本発明の第一の面を完全に適用すると、正規化されたプリンタLUTは40億個のエントリを有する結果になる。そのような結果は、実測値を含む格子点さえも、偏心点の正確な色の再現および忠実度を実現するために、補間値で置き換えるから、それらの偏心点がLUTの任意の格子点により表されないとしても、本発明の第二の面にしたがい大部分は回避される。
【００２５】
この簡単な説明は、本発明の本質がすばやく理解されるために提供された。以下の好ましい実施形態の詳細な説明と、それに関連する添付図面とを参照すれば、本発明のより完全な理解を得ることができる。
【００２６】
【第１実施形態】
図1は、正規化されたプリンタLUTを生成する代表的なコンピュータ装置の外観を示す図である。図1に示されるように、コンピュータ装置10は、ユーザに対して画像を表示する表示画面12を有すディスプレイモニタ13へ接続されたパーソナルコンピュータ（PC）である。コンピュータ装置10は、さらに、リムーバブルディスク媒体を読み書きするフロッピディスクドライブ14、データファイルおよびアプリケーションプログラムファイルを格納する固定ディスクドライブ15、テキストデータの入力および表示画面12に表示されたオブジェクトの操作を可能にするキーボード16、並びに、表示画面12に表示されたオブジェクトの操作を可能にするマウスなどのポインティングデバイス17を備える。カラーレーザビームプリンタやインクジェットプリンタなどのカラープリンタ20も、コンピュータ装置10に接続される。本実施形態の一つの目的は、プリンタ20を特徴付ける際に使用する正規化されたプリンタLUTを生成することである。
【００２７】
コンピュータ装置10には、プリンタ20のカラーパッチのサンプルをスキャンする、または、プリンタ20から印刷出力された他のサンプルをスキャンするためのカラースキャナ25も接続されている。カラープリンタ20およびカラースキャナ25の組み合わせは、本実施形態において、正規化されたプリンタLUTの生成用に、入力手段がデバイスに依存するデータ（以下「デバイス依存データ」と呼ぶ）の実測結果をどのようにして得るかを示す例である。他の例としては、帯状チャート(strip chart)記録計またはX-Yキャリブレーションテーブル、あるいは、一般的な測色計（Gretagのような）など、プリンタ20の色サンプルを測定する手動または自動の装置がある。さらに、厳密には、プリンタ20およびスキャナ25は実際にコンピュータ装置10に接続される必要はない。むしろ、他の装置によって得られたターゲットプリンタのデバイス依存データの実測結果が、ネットワークインタフェイス27、または、リムーバブルディスク媒体の交換を介するなどにより、コンピュータ装置10に提供されるだろう。
【００２８】
図2は、コンピュータ装置10の内部構成例を示す詳細なブロック図である。図2に示されるように、コンピュータ装置10は、プログラム可能で、コンピュータバス31へインタフェイスされたマイクロプロセッサのような中央処理装置（CPU）30を備える。さらに、表示モニタ13とインタフェイスするためのディスプレイインタフェイス32、ネットワーク27とインタフェイスするためのネットワークインタフェイス33、スキャナ25とインタフェイスするための測定インタフェイス34、プリンタ20とインタフェイスするためのプリンタインタフェイス35、および、フロッピディスクドライブ14とインタフェイスするフロッピディスクドライブインタフェイス36もコンピュータバス31にインタフェイスする。RAMなどのメインメモリ37は、CPU30にメモリストレージへのアクセスを提供するために、コンピュータバス31にインタフェイスする。とくに、固定ディスク15に格納されたコードなどのストアードプログラム命令シーケンスが実行される場合、CPU30は、そのコードを固定ディスク15（または、ネットワーク27またはフロッピディスクドライブ14を介してアクセスされる媒体のような他の記憶媒体）からメインメモリ37へロードし、メインメモリ37に格納されたプログラム命令シーケンスを実行する。勿論、オペレーティングシステムによって実行されるディスクスワップルーチンにより、メモリの複数のセグメントが固定ディスク15との間でスワップされるだろう。
【００２９】
ROM39は、起動命令シーケンスおよびキーボード16などを操作するための基本入出力オペレーティングシステム（BIOS）シーケンスなど不変の命令シーケンスを格納するために用意されている。
【００３０】
図2に示されるように、固定ディスク15は、プログラム命令シーケンスをコンピュータで実行可能な命令シーケンス（またはコンピュータで実行可能なコード）の形式で格納する。したがって、固定ディスク15には、オペレーティングシステムとともに、グラフィクスアプリケーションプログラム、ドローウィングアプリケーションプログラム、デスクトップパブリッシングアプリケーションプログラムなどの様々なアプリケーションプログラム、さらに、画像データファイル、データベースファイルなどの様々なデータファイルが格納されている。とくに、固定ディスク15には、プリンタ20にカラーパッチなどの色サンプルを印刷させる、および、スキャナ25にカラーパッチの測色値(colorimetric values)を測定させ、それを実測結果（42および44）として格納させる、CPU30が実行可能なコード40が格納されている。さらに、固定ディスク15には、本発明の正規化されたプリンタLUTを生成するコード41も格納されている。とくに、コード41は、コード40によって得られる実測結果を表す広い間隔のLUT45に基づくなどにより、正規化されたプリンタLUT46を生成する。
【００３１】
図3Aは、LUT45のような広い間隔のプリンタLUTの代表的な図である。図3Aに示されるように、LUT45は、三次元格子52上に規則的に配列された格子点51などの格子点の三次元格子として配列されている。この格子は、広い間隔で整列された正規化格子で、図3Aに示す間隔の例は、プリンタ20のデバイスに依存する色空間（以下「デバイス色空間」と呼ぶ）を構成するシアン、マゼンタおよびイエローの成分それぞれの輝度範囲の1/4である。したがって、LUT45は、点51などの点の5×5×5の格子として整列され、C=M=Y=0の最小点54からC=M=Y=255の最大点55までの範囲に亘る。各格子点51においてLUT45のエントリが格納され、このエントリによりデバイス色空間の座標に対応するデバイスに独立な測色結果が提供される。デバイスに独立な測色空間（以下「デバイス独立色空間」と呼ぶ）として適当なものは、CIE L*a*b*色空間などの知覚的に均等な色空間である。
【００３２】
図3Bは、正規化されたプリンタLUT46を説明する図である。図3Bに示されるように、プリンタLUT46は、プリンタLUT46の間隔がより密集していることを除き、LUT45と似ている。したがって、LUT46は、LUT45の間隔よりも狭い、一定の間隔の規則的な格子62上に配列された格子点61などの格子点を含む。ここでは、間隔はちょうどLUT45の半分で、LUT46は狭い間隔のLUTになる。その結果、プリンタ20のデバイス色空間を定義するシアン、マゼンタおよびイエローの原色ごとに9×9×9の格子が形成され、その格子は、各原色の最小値からその最大輝度値までの範囲に亘る。本発明の一つの目的は、このような格子点それぞれについて実測することなく、LUT46内の格子点それぞれのエントリに初期値を入力することである。
【００３３】
LUT45および46は、実際に固定ディスク15に格納する必要はない、あるいは、少なくとも、図3Aおよび図3Bに示されるマトリクス形式で格納する必要はない。むしろ、LUTの各格子点のエントリを格納するだけでよい。
【００３４】
LUT45および46の具体的な格子間隔、および、その結果の格子密度は代表的なものに過ぎない。したがって、LUT45の広い格子間隔およびLUT46の狭い格子間隔は実質的にどのような値でも構わないが、LUT46の格子間隔はLUT45の格子間隔よりも狭くなければならない。一般的な例として8×8×8格子のLUT45および16×16×16格子のLUT46があり、これは、LUT46を2のべき乗の規模にして、かつ、LUT46をLUT45の密度のちょうど二倍にするのが好ましいことを示している。しかし、格子間隔が正確に2の要素で関係付けられる必要はなく、3や4などの要素も可能である。さらに、格子間隔が整数要素に関係付けられる必要もなく、間隔が分母が正数の分数(integral fractions)に関係付けられるだけでよく、LUT45を8×8×8格子にし、その一方で、LUT46を12×12×12格子にすることが可能である。
【００３５】
さらに、プリンタ20は三原色値（つまりシアン、マゼンタおよびイエロー）の組み合わせでカラー画像を構成すると仮定されているので、三次元ルックアップテーブルが得られる。代わりに、四原色値（例えばシアン、マゼンタ、イエローおよびブラック）を使用すれば、四次元ルックアップテーブルが得られるが、これは、プリンタ20が実行する下色除去の特徴に依存するもので、厳密に必要であるというわけではない。しかしながら、ルックアップテーブルには多次元が与えられ、ルックアップテーブルの各エントリは、対応するデバイスに依存する印刷出力の色をデバイス独立色空間で測定した結果を含む。
【００３６】
図4は、正規化されたプリンタLUTを生成するプロセスステップを説明するフローチャートである。図4に示されるプロセスステップは、固定ディスク15に格納されているコード41のような、コンピュータ可読媒体にコードとして格納されたコンピュータが実行可能なプロセスステップである。簡単にいうと、図4によれば、第一の色空間（デバイス色空間など）の色値を第二の色空間（デバイス独立色空間など）の色値に変換するとともに、一定の格子間隔の規則的な格子点でカラールックアップテーブルを定義することにより、カラールックアップテーブルが生成される。
【００３７】
カラールックアップテーブルを生成するために、第一の色空間における複数色値の第一組について、まず第二の色空間における実測結果を得るが、複数色値の第一組とは、一定の格子間隔よりも広い第一の格子間隔の格子点上の実質的に全色値である。さらに実測結果の第二組が得られるが、第二組とは、第一の格子間隔の格子点の間の点における複数色値である。
【００３８】
その後、一定の格子間隔が選択されるが、その一定の格子間隔は、第一の格子間隔よりも狭く、かつ、第一の格子間隔と、第一の格子間隔の間において得られた実測値の測定場所との関係に基づき選択される。その後、一定の格子間隔で定義されるすべての格子点ごとに、カラールックアップテーブルのエントリが計算される。格子点と実測結果を得るための格子点とが正確に一致する場合、そのような格子点のエントリは、その実測結果に等しい。他方、格子点と実測結果の格子点とが一致しない場合、そのような格子点のエントリは、そのような格子点の実測結果に基づき計算された値に等しい。計算値を求める一方法は、実測値の加重平均によるものである。
【００３９】
より詳しくは、ステップS401では、CMYやCMYKなどのデバイス色空間の複数の印刷値のL*a*b*などのデバイス独立色空間における実測結果を得る。このような実測結果は、デバイス独立色空間の実測結果を得るためにスキャナ25によってスキャンされるカラーパッチサンプルをプリンタ20に印刷させるコード40を実行することで得られる。好ましくは、ステップS401で得られる実測結果は、広い格子間隔のLUT45のような粗いルックアップテーブルの格子点の実質的に全色値を含む。すべての色を測定する必要はなく、とくに、緩やかに色が変化する特性だけを有する色領域の色は、他の領域よりもまばらに測定されるだろう。
【００４０】
ステップS402では、第一の格子間隔の間の位置でエクストラな(extra)実測結果を得る。とくに、エクストラな実測結果は、デバイスに依存する色の極僅かな変化に対して、色特性が急激に、または、非線形に変化する重要な領域で求められる。ステップS402で測定される特定の色は、検討されている特定のプリンタ20の色特性に関連してケースバイケースで決定される。このようなエクストラな測定結果が求められる色領域は、以降は「重要な領域」と呼ばれ、前述したように、デバイス色空間の座標の極僅かな変化に対して、非線形な、または、急激な変化がある色領域に関係するだろう。このような重要な領域を選択する理由は他にもあり、その領域の色（肌色の階調など）を正確に再現することが難しいとか、その領域の色が他の色よりも重要である（会社のロゴに関係する色など）といった単純な理由により、重要な領域が選択される場合がある。一つ以上の重要な領域が存在するだろうし、エクストラな実測結果はそれら重要な領域それぞれで求められる。
【００４１】
図5Aは、ステップS401およびS402の結果として得られる実測結果を説明する図である。図5Aは、第一の格子間隔72を有する格子71の二次元部分70を示す。図5Aに示されるように、実質的に全格子点の実測結果74が作成されるが、正確なカラーモデリングが比較的直線的に進む領域に対応して、格子点75の測定結果は作成されていない。他方、領域76などの重要な領域では、符号77で示されるエクストラな実測結果などが作成される。
【００４２】
図4に戻り、ステップS404で、正規化されたプリンタLUT用の一定の格子間隔が計算される。一定の格子間隔は、ステップS401で作成された測定結果の間隔72、および、ステップS402で作成された測定結果の格子点の間の点の位置に基づき選択される。好ましくは、一定の格子間隔は、全測定点が、規則的な格子の一部として測定されたものだろうと、重要な領域の格子点の間の点の一部として測定されたものだろうと、それらすべてを含むように選択される。したがって、例えば、第一の格子間隔72の間の点で追加の実測を行った場合、それらの測定が格子点間のちょうど中間に位置すれば、正規化されたLUTの一定の格子間隔は間隔72のちょうど半分に選択される。ただし、ステップS404で選択される一定の格子間隔は、厳密には、実測値すべてを含む必要はなく、むしろ、選択される一定の格子間隔は、LUTの境界のみを含むことが可能である。しかし、測定された点の大半を含まないように一定の格子間隔を選択することは、正規化されたLUTが、測定値の大半を含むように間隔を選択した場合よりも多くの補間値を含むことになり、あまり望ましい状況ではない。
【００４３】
その後、ステップS404で選択された一定の格子間隔によって定義されているすべての格子点ごとにエントリを計算するために、ステップS405からS412のプロセスへ進む。とくに、ステップS405ではLUT46のターゲット格子点を選択し、ステップS406ではターゲット格子点と（ステップS401またはS402の）実測点と一致するか否かを検査する。ターゲット格子点が実測点と一致すれば、ステップS407へ進み、LUT46のターゲット格子点のエントリへ実測値を格納する。その後、ステップS408へ進み、エントリを計算する必要があるLUT46の格子点が残っているか否かを判定する。
【００４４】
他方、ステップS406で、LUT46のターゲット格子点が何れの実測点とも一致しないと判定されると、そのような格子点に隣接する実測点の実測値に応じて、そのような格子点のエントリの値を計算するステップS410からS412へ分岐する。とくに、ステップS410ではターゲット格子点に隣接する実測値を有する複数の点が識別され、ステップS411ではそれらの実測値の加重平均を計算し、ステップS412ではターゲット格子点のエントリとして加重平均値を格納する。
【００４５】
図5Bは、ステップSS405からS412に関連するLUT46の二次元部分80を示している。図5Bに示されるように、LUTの格子81用に一定の格子間隔82が選択されている。実測結果が利用可能な一定の格子間隔で定義される格子点ごとに、実測結果がLUTのエントリとして格納される。したがって、格子点84では、ステップS401で得られた実測値（図5Aの点74に対応する）がLUTのエントリとして格納される。同様に、格子点85でも、ステップS402で得られた実測値（図5Aの点77に対応する）がLUTのエントリとして格納される。他方、実測値が得られていない格子点については、値が計算され、格子点のエントリとして格納される。したがって、符号86で示すような格子点の値は、利用可能な実測値がないので、加重平均を使うなどして、隣接する実測値から計算される。同様に、とくに重要とは見なされないために実測がスキップされた点87の値も、隣接する測定値から計算される。
【００４６】
上記の処理により、プリンタLUTの全格子点それぞれの実測を必要とせずに、完全に正規化されたプリンタLUTが得られる。
【００４７】
【第２実施形態】
次に、広い間隔のLUTの間の追加実測が「偏心点」の追加測定を含む第2実施形態を説明する。偏心点は、LUT45の広い格子間隔の間にある点であるが、偏心点を正確に含む完全に正規化されたLUTを生成するには、非常に大きなサイズの完全に正規化されたLUTを必要とする位置にある。例えば、図5Aの点77などの非偏心点は、LUT45の粗い格子間隔の間のちょうど半ばに配置されていて、LUT45の八倍（三次元LUTの場合）または16（四次元LUTの場合）倍のサイズでしかない完全に正規化されたLUT46を生成することができる。したがって、結果として得られる完全に正規化されたLUT46のサイズは、現在のコンピュータ装置において実用的なものである。つまり、4,096の格子点の8×8×8×8格子構造をもつ広い間隔のLUT45から始めて、格子点間のちょうど半ばに配置された幾つかの追加実測結果から完全に正規化されたLUT46を得ることができ、完全に正規化されたLUT46は、65,536のエントリをもつ16×16×16×16格子として整列される。そのようなテーブルは大きいが、今日のコンピュータ装置で容易に取り扱えないほどの大きさではない。
【００４８】
他方、偏心点の例として、各軸が0から255の範囲の256個の輝度値のどれかを取ることができる色空間上の8×8×8×8格子配列のLUT45を考察する。格子点からちょうど1輝度レベルだけ離れた位置にある点で追加実測が得られると、その点は「偏心点」として考慮される、何故かというと、その点は格子点から1輝度レベルだけ離れた位置に配置されているので、上記の手順に従えば、256×256×256×256=4,294,967,296のエントリ点、つまり40億を超えるエントリを有する完全に正規化されたLUTが生成されてしまうからである。明らかに、今日のコンピュータ装置にとって、それほど多数のエントリを有するLUTはまったく実用的ではない。
【００４９】
この両極端の間で、偏心点になるものは現在のコンピュータ装置の能力と得られるLUTのサイズに対する実用上の制限に対し当然の考慮を払ったうえで柔軟な定義の対象になる。
【００５０】
一般に、偏心点を含む実験による測定を行っている状況では、通常そのような偏心点を正確に含むことのないように、得られた完全に正規化されたLUTに対する一定の格子間隔を選択する。ただし、そのような偏心点の測定は正確な色再現が追求される重要な領域での測色に対応していることを認識した上で、完全に正規化されたLUTの実際に測定されたエントリを修正して偏心点の値を補正する。とくに、その最終的用途では、ルックアップテーブル内のエントリに対して、色補間（四面体またはトリリニア色補間など）を行い、LUTの格子点上に同一のものが見つからないデバイスに依存する色値に対するデバイスに独立な色値を求める。したがって、ルックアップテーブルを使用する際の特定の補間手法についての知識を身につければ、実測値が実際にLUT内の格納されていなくても補間を使って偏心点の正確な値を求められるように、LUT内のエントリを調整することが可能である。
【００５１】
図6Aおよび6Bは、このような状況をさらに明確に示している。とくに図6Aは、正確な色再現を必要とする重要な領域91をもつルックアップテーブル45の二次元部分90を示している。ルックアップテーブルは、格子93上の広い格子間隔92で定義され、格子上の格子点の実測結果94を含む。さらに、第1実施形態で既に説明したように、格子から離れている点95について実測を行う。
【００５２】
さらに、偏心点96も測定する。以上からわかるように、偏心点96があるため間隔の狭いLUTを完全に正規化するには、非常に大きなサイズの正規化されたLUTが必要になる。
【００５３】
したがって、図6Bに示されるように、完全に正規化されたLUTの一定の間隔は、偏心点96を含まないように選択される。図6Bは、追加測定95を含むが、偏心点96は含まない、選択された一定の間隔112をもつ完全に正規化されたLUT46の二次元部分110を示している。第1実施形態と同様に、完全に正規化されたLUT上の全格子点それぞれにエントリがあり、それらのエントリは、実測値が利用できない場合は計算で求め、あるいは、実測値が利用できる場合はその実測値自体にする。ただし、偏心点に隣接する点のエントリは、偏心点に対する実測値に基づいて修正する。とくに、格子点113のエントリ（このようなエントリが、計算で求めたエントリであるか、実際の実測値であるかに関係なく）は、偏心点114の実測結果に基づいて修正する。修正は、ルックアップテーブルを使用する際の最終的な補間手法により、ルックアップテーブル内のどこかにそのような測定値が実際に格納されていないとしても、偏心点114の正確な実測値が得られるように手直しする。
【００５４】
図7は、第2実施形態における処理を説明するフローチャートである。図7は、固定ディスク15上のコード41など、コンピュータが読取可能な媒体上にコンピュータが実行可能なコードとして格納されているプロセスステップを示している。ステップS701およびS702は、ステップS401およびS402と似ており、第一の格子間隔の間の点での実測結果と合わせて、第一の格子間隔で実測結果を得る。ただし、ステップS702では、実測結果には、偏心点の実測結果が含まれる。
【００５５】
ステップS703では、完全に正規化されたLUT45に対する一定の格子間隔を計算する。一定の格子間隔は、格子の間隔はステップS701の格子間隔の場合よりも狭くなるように計算し、ステップS702での実測結果の位置とともにステップS701での格子間隔に応じて選択する。ただし、格子間隔は、とくに、ステップS702で測定した少なくとも数個の偏心点を除外し、得られる完全に正規化されたLUTのサイズが実用的な範囲にとどまるように選択する。
【００５６】
ステップS705からS716では、ステップS704で選択した格子間隔の全格子点それぞれについてエントリを計算する。そこで、ステップS704では、LUT46のターゲット格子点を選択する。ステップS705では、選択されたターゲット格子点の近傍に偏心点があるかどうかを判定する。特定のターゲット格子点の近傍に偏心点があるかどうかは、得られる完全に正規化されたLUTを最終的に使用する際の補間方法によって異なる。例えば、四面体補間では四つの近傍があるが、トリリニア補間では六つの近傍がある。
【００５７】
ターゲット格子点の近傍に偏心点がない場合、処理はステップS706からS712へ進むが、多かれ少なかれ対応するステップS406からS412までの処理に似ている。したがって、ターゲット格子点が実測点と一致する場合（ステップS706）は、実測結果を格子点のエントリとして格納するように進むが（ステップS707）、ターゲット格子点が実測点と一致しない場合は、ターゲット格子点に隣接する実測結果を有する複数の点を識別し（ステップS710）、それら点の実測値の加重平均を計算し（ステップS711）、計算された値をLUTのエントリとして格納する（ステップS712）、という方向に分岐する。その後、ステップS708で未処理のターゲット格子点がLUT46に残っていると判定された場合に、処理はステップS704に戻る。
【００５８】
他方、ステップS705で、ターゲット格子点の近傍に偏心点がある場合、処理はステップS714からS716へ分岐して、偏心点のすべての近傍を修正することになる。とくに、既に説明したように、偏心点に隣接する（完全に正規化されたLUTを最終的に使用する際の実際の補間方法の意味で隣接する）全格子点のエントリを修正し、近傍の補間により、補間の結果得られた値から偏心点の正確な実測結果を、そのような実測結果が実際にLUT内に格納されないとしても、得られるように修正する。
【００５９】
さらに、ステップS714では、補間アルゴリズムの測定距離を使用して近傍の重みを計算する。これらの重みと近傍点のエントリを使用して、すべての近傍格子点のエントリを再計算する（ステップS715）。例えば、エントリがL*a*b*空間のデバイスに独立した座標にある場合、測定距離はΔL*Δa*Δb*として測定される。これらの距離に基づく重みを計算し、さらに正規化して、重みの総和が1になるようにする。次に、近傍のそれぞれについて、またΔL*、Δa*およびΔb*のそれぞれについて、正規化された重みを適用し、すべての近傍格子点についてエントリを再計算する。その後、再計算したエントリを格納する（ステップS716）。
【００６０】
前述のように、完全に正規化されたLUTを生成して偏心点の実験による測定結果を補正し、それと同時に今日のコンピュータ装置を考えた場合に実用的と思われるサイズであるLUTを保持できるということが認められる。
【００６１】
【他の実施形態】
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６２】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６３】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００６４】
また、上記では本発明を特定の例示的形態について説明した。本発明は上述の実施形態に限定されるものではなく、当業者なら本発明の精神および範囲を逸脱することなくさまざまな変更および修正を加えられることを理解されたい。
【００６５】
【発明の効果】
以上説明したように、本発明によれば、精度が改善された正規化ルックアップテーブルを生成することができる。
【図面の簡単な説明】
【図１】正規化されたプリンタLUTを生成する代表的なコンピュータ装置の外観図、
【図２】図1のコンピュータ装置の内部構造を示す詳細なブロック図、
【図３Ａ】間隔の広いプリンタLUTを示す図、
【図３Ｂ】間隔の狭いプリンタLUTを示す図、
【図４】第1実施形態に基づき正規化されたプリンタLUTを生成する処理を示すフローチャート、
【図５Ａ】第1実施形態に基づく間隔の広いプリンタLUTを示す図、
【図５Ｂ】第1実施形態に基づく間隔の狭いプリンタLUTを示す図、
【図６Ａ】偏心点の影響を説明するための図、
【図６Ｂ】偏心点の影響を説明するための図、
【図７】第2実施形態に基づき正規化されたプリンタLUTを生成する処理を示すフローチャートである。
【図１】
0004164214.tif 000002
【図２】
0004164214.tif 000003
【図３Ａ】
0004164214.tif 000004
【図３Ｂ】
0004164214.tif 000005
【図４】
0004164214.tif 000006
【図５Ａ】
0004164214.tif 000007
【図５Ｂ】
0004164214.tif 000008
【図６Ａ】
0004164214.tif 000009
【図６Ｂ】
0004164214.tif 000010
【図７】
0004164214.tif 000011