(57)【要約】【課題】色ルックアップテーブル最適化機構を提供する。【解決手段】印刷システムが開示される。印刷システムは、最適化論理および色エンジンを含む色管理ユニットを含む。最適化論理は、入力色から出力色へのマッピングから導出された多次元色管理ルックアップテーブルを生成し、前記多次元色管理ルックアップテーブルは、複数の入力色空間次元および出力色空間次元のそれぞれの間の対応を指定する格子点の非一様な間隔をもつ。色エンジンは、入力色空間での入力色を受領し、前記多次元色管理ルックアップテーブルを介して多次元補間を実行して、前記入力色を出力色空間における出力色にマッピングし、前記出力色を返す。【選択図】図５
2019153294.tif 000002
【特許請求の範囲】
【請求項１】
命令が記憶されている少なくとも一つのコンピュータ可読媒体であって、前記命令は、一つまたは複数のプロセッサによって実行されたときに前記プロセッサに：
入力色から出力色へのマッピングから導出された多次元色管理ルックアップテーブルを生成する段階であって、前記多次元色管理ルックアップテーブルは、複数の入力色空間次元および出力色空間次元のそれぞれの間の対応を指定する格子点の間の補間誤差を最小にするよう最適化された格子点の非一様な間隔をもつ、段階と；
入力色空間での入力色を受領する段階と；
前記多次元色管理ルックアップテーブルを介して多次元補間を実行して、前記入力色を出力色空間における出力色にマッピングする段階と；
前記出力色を返す段階とを実行させるものである、
コンピュータ可読媒体。
【請求項２】
前記多次元色管理ルックアップテーブルを生成する段階が：
前記複数の入力色空間次元のそれぞれにおける格子点の前記最適化を初期化し；
前記複数の入力色空間次元のそれぞれにおける格子点の数を最適化し；
前記複数の入力色空間次元のそれぞれにおける内部格子点を最適化することを含む、
請求項１記載のコンピュータ可読媒体。
【請求項３】
前記格子点の前記最適化を初期化することが：
前記入力色空間次元におけるそれぞれの色に対応する補間された出力色を決定する補間プロセスを実行し；
前記補間された出力色のそれぞれについて、前記複数の出力色空間次元のそれぞれにおける最低次の誤差項を決定することを含む、
請求項２記載のコンピュータ可読媒体。
【請求項４】
前記最低次の誤差項は、前記入力色空間次元における色に対する最近接距離格子点に対応する補間された出力色の誤差を含む、請求項３記載のコンピュータ可読媒体。
【請求項５】
前記複数の入力色空間次元のそれぞれにおける格子点の数を最適化することが：
前記入力色空間次元のそれぞれについて、コスト関数を関連付け；
前記コスト関数に基づいて前記入力色空間次元の間の格子点の数を割り当てることを含む、
請求項４記載のコンピュータ可読媒体。
【請求項６】
前記格子点の数が、前記入力色空間次元のそれぞれにわたる前記コスト関数の和が、格子点の最大数に対する制約条件のもとで最小化されるように割り当てられる、請求項５記載のコンピュータ可読媒体。
【請求項７】
前記格子点の数が、それぞれの入力色空間次元にわたる前記コスト関数の最大の和に対する制約条件のもとで前記格子点の数が最小化されるように割り当てられる、請求項６記載のコンピュータ可読媒体。
【請求項８】
前記入力色空間次元のそれぞれにおける内部格子点を最適化することが：
前記入力色空間次元のそれぞれについて内部格子点のベクトルを形成し；
内部格子点の前記ベクトルについて、すべての入力色空間色および出力色空間次元にわたる最小化を実行することを含む、
請求項５記載のコンピュータ可読媒体。
【請求項９】
格子点のベクトルを形成することが：
内部格子点を選択し；
選択された内部格子点に対する前記最小化を実行し；
前記内部格子点についての最適な値ベクトルを決定することを含む、
請求項８記載のコンピュータ可読媒体。
【請求項１０】
前記最小化は、すべての可能な最適格子点を含むが最適格子よりずっと多くの点をもつ細かい格子に基づいて決定される、すべての入力色空間色にわたる平方誤差和に基づく、請求項８記載のコンピュータ可読媒体。
【請求項１１】
最適化論理および色エンジンを含む色管理ユニットを記憶する少なくとも一つのメモリ・デバイスと；
前記少なくとも一つのメモリ・デバイスに結合された一つまたは複数のプロセッサとを有する印刷システムであって、前記プロセッサは：
入力色から出力色へのマッピングから導出された多次元色管理ルックアップテーブルを生成する段階であって、前記多次元色管理ルックアップテーブルは、複数の入力色空間次元および出力色空間次元のそれぞれの間の対応を指定する格子点の間の補間誤差を最小にするよう最適化された格子点の非一様な間隔をもつ、段階を実行する前記最適化論理と、入力色空間での入力色を受領し、前記多次元色管理ルックアップテーブルを介して多次元補間を実行して、前記入力色を出力色空間における出力色にマッピングし、前記出力色を返す前記色エンジンとをとを実行する、
印刷システム。
【請求項１２】
前記多次元色管理ルックアップテーブルを生成する段階が：
前記複数の入力色空間次元のそれぞれにおける格子点の前記最適化を初期化し；
前記複数の入力色空間次元のそれぞれにおける格子点の数を最適化し；
前記複数の入力色空間次元のそれぞれにおける内部格子点を最適化することを含む、
請求項１１記載の印刷システム。
【請求項１３】
前記格子点の前記最適化を初期化することが：
前記入力色空間次元におけるそれぞれの色に対応する補間された出力色を決定する補間プロセスを実行し；
前記補間された出力色のそれぞれについて、前記複数の出力色空間次元のそれぞれにおける最低次の誤差項を決定することを含む、
請求項１２記載の印刷システム。
【請求項１４】
前記最低次の誤差項は、前記入力色空間次元における色に対する最近接距離格子点に対応する補間された出力色の誤差を含む、請求項１３記載の印刷システム。
【請求項１５】
前記複数の入力色空間次元のそれぞれにおける格子点の数を最適化することが：
前記入力色空間次元のそれぞれについて、コスト関数を関連付け；
前記コスト関数に基づいて前記入力色空間次元の間の格子点の数を割り当てることを含む、
請求項１４記載の印刷システム。
【請求項１６】
前記格子点の数が、前記入力色空間次元のそれぞれにわたる前記コスト関数の和が、格子点の最大数に対する制約条件のもとで最小化されるように割り当てられる、請求項１５記載の印刷システム。
【請求項１７】
前記格子点の数が、それぞれの入力色空間次元にわたる前記コスト関数の最大の和に対する制約条件のもとで前記格子点の数が最小化されるように割り当てられる、請求項１６記載の印刷システム。
【請求項１８】
前記入力色空間次元のそれぞれにおける内部格子点を最適化することが：
前記入力色空間次元のそれぞれについて内部格子点のベクトルを形成し；
内部格子点の前記ベクトルについて、すべての入力色空間色および出力色空間次元にわたる最小化を実行することを含む、
請求項１５記載の印刷システム。
【請求項１９】
格子点のベクトルを形成することが：
内部格子点を選択し；
選択された内部格子点に対する前記最小化を実行し；
前記内部格子点についての最適な値ベクトルを決定することを含む、
請求項１８記載の印刷システム。
【請求項２０】
前記最小化は、すべての可能な最適格子点を含む格子に基づいて決定される、すべての入力色空間色にわたる平方誤差和に基づく、請求項１８記載の印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、色管理の分野に、詳細には色管理を介して入力色を真の出力色にマッピングすることに関する。
【背景技術】
【０００２】
色管理アプリケーションは、入力色空間からの入力色を出力色空間における出力色にマッピングする、入力色の多次元補間を実行するために、しばしば高次元のルックアップテーブル（LUT）を実装する。LUTは典型的には、すべてのプロファイル、意図およびオプションについて十分な精度を達成するために、入力色空間における各色次元において多数の一様な間隔のノードを含み、各次元は同数の格子点をもつ。
【０００３】
しかしながら、入力色空間が三次元以上であることが実に多く、その結果、ルックアップテーブルは比較的大規模なコンピューティング資源を消費する。たとえば、各色次元においてたった33点をもつCMYKからCMYKへの装置ルックアップテーブルごとに4MBが必要とされ、それでも各次元におけるこれら33個のノードは、要求される色精度を保証するための空間の十分なサンプリングを提供しないことがありうる。同様に、RGBからCMYKへの装置ルックアップテーブルごとに150kBが必要とされることがある。このため、ルックアップテーブルがオンザフライで生成されるか大容量記憶からメモリに読み込まれる必要があるので、ルックアップテーブル・サイズは、処理中にどのくらい迅速に装置（たとえばプリンター）が色オプション（たとえば入力プロファイル、出力プロファイル、レンダリング意図など）を切り換えられるかを制限する。
【０００４】
特化した色動作が要求される（たとえば黒強制（Force-Black）または黒保存（Preserve-Black））場合には、全体的な色空間およびLUTは二つに分けられることがある。ある局所的になめらかな部分空間（たとえば修正された領域）から別の部分空間（たとえば標準領域）へのこの遷移は、一般には、空間の特定の軸には載らず、よって、過渡成分を十分に解像するためには、より高い度合いのサンプリング（より細かい格子）が要求される。空間のこの高いサンプリングは遷移領域をきれいに解像するために要求される一方、これは一般に前記二つの（比較的なめらかな）部分空間を過剰サンプリングすることにもなる。これは、LUTサイズがますます大きくなることがあるので、色管理ルーチンに対してますます負担になる。たとえば、CMYKからCMYKのLUTのための黒強制／黒保存は次元当たり57個以上のノードを必要とすることがある（しかもこれでさえ、すべての場合において正確ではない）。これは40MBを超えるサイズのLUTにつながることがある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
よって、色ルックアップテーブルを最適化する機構が望まれている。
【課題を解決するための手段】
【０００６】
ある実施形態では、入力色から出力色へのマッピングから導出された多次元色管理ルックアップテーブルを生成する段階であって、前記多次元色管理ルックアップテーブルは、複数の入力色空間次元および出力色空間次元のそれぞれの間の対応を指定する格子点の非一様な間隔をもつ、段階と、入力色空間での入力色を受領する段階と、前記多次元色管理ルックアップテーブルを介して多次元補間を実行して、前記入力色を出力色空間における出力色にマッピングする段階と、前記出力色を返す段階とを含む、方法が開示される。
【図面の簡単な説明】
【０００７】
本発明のよりよい理解が、下記の図面との関連での下記の詳細な説明から得られる。
【０００８】
【図１】印刷システムのある実施形態のブロック図である。
【０００９】
【図２】印刷コントローラのある実施形態のブロック図である。
【００１０】
【図３】色管理ユニットのある実施形態を示す図である。
【００１１】
【図４】色管理プロセスのある実施形態を示す流れ図である。
【００１２】
【図５】多次元ルックテーブルを生成するプロセスのある実施形態を示す流れ図である。
【００１３】
【図６】一様なサンプリング格子を示すグラフである。
【００１４】
【図７】最適化されたサンプリング格子のある実施形態を示すグラフである。
【００１５】
【図８】コンピュータ・システムのある実施形態を示す図である。
【発明を実施するための形態】
【００１６】
色ルックアップテーブルを最適化する機構が記載される。以下の記述では、説明の目的のため、本発明の十全な理解を与えるよう数多くの個別的詳細が記載される。しかしながら、本発明がこうした個別的詳細のいくつかがなくても実施されうることは当業者には明白であろう。他方、よく知られた構造および装置は、本発明の基礎になる原理を埋没させるのを避けるために、ブロック図の形で示されている。
【００１７】
本明細書における「一つの実施形態」または「ある実施形態」への言及は、その実施形態との関連で記載される特定の特徴、構造または特性が本発明の少なくとも一つの実施形態に含まれることを意味する。本明細書の随所で「ある実施形態では」という句が現われるが、必ずしもみなが同じ実施形態を指しているのではない。
【００１８】
本稿を通じて、「論理」、「コンポーネント」、「モジュール」、「エンジン」、「モデル」、「ユニット」などのような用語は交換可能に言及されることがあり、例として、ソフトウェア、ハードウェアおよび／またはソフトウェアとハードウェアの任意の組み合わせ、たとえばファームウェアを含みうる。さらに、特定のブランド、単語、用語、句、名称および／または頭字語が使われたとしても、それは実施形態を、製品または本稿以外の文献においてそのラベルを担持するソフトウェアまたはデバイスに限定するものと読まれるべきではない。
【００１９】
図１は、印刷システム１３０のある実施形態を示すブロック図である。ホスト・システム１１０が、プリンター１６０を介してシート・イメージ１２０を印刷媒体１８０（たとえば紙）に印刷するよう、印刷システム１３０と通信する。結果として得られる印刷媒体１８０はカラーで、および／または白黒を含むいくつものグレー階調のうちの任意のもの（たとえばシアン、マゼンタ、イエローおよびブラック（CMYK））で印刷されてもよい。ホスト・システム１１０は、パーソナル・コンピュータ、サーバーまたはさらにはデジタル撮像装置、たとえばデジタル・カメラもしくはスキャナーのような、任意のコンピューティング装置を含みうる。
【００２０】
シート・イメージ１２０は、印刷媒体１８０のシート上にどのように像が印刷されるべきかを記述する任意のファイルまたはデータでありうる。たとえば、シート・イメージ１２０は、ポストスクリプト・データ、プリンター命令言語（PCL）データおよび／または他の任意のプリンター言語データを含みうる。印刷コントローラ１４０はシート・イメージを処理して、プリンター１６０を介した印刷媒体１８０への印刷のために伝送されるべきビットマップ１５０を生成する。印刷システム１３０は、比較的大量に（たとえば毎分100ページ超）印刷するよう動作可能な高速プリンターであってもよい。印刷媒体１８０は連続用紙、カットシート用紙および／または印刷に好適な他の任意の有体な媒体であってもよい。印刷システム１３０は、一般化された形では、シート・イメージ１２０に基づいて、ビットマップ１５０を（たとえばトナー、インクなどを介して）印刷媒体１８０に呈するプリンター１６０を含む。他の実施形態では、印刷コントローラ１４０およびプリンター１６０は、同じ装置において、または結合をもつ別個の装置において実装されうる。
【００２１】
印刷コントローラ１４０は、印刷媒体１８０への印刷に従うビットマップ１５０を生成するためにシート・イメージ１２０を変換するよう動作可能ないかなるシステム、装置、ソフトウェア、回路および／または他の好適なコンポーネントであってもよい。この点で、印刷コントローラ１４０は処理およびデータ記憶機能を含んでいてもよい。
【００２２】
図２は、印刷コントローラ１４０のある実施形態を示すブロック図である。印刷コントローラ１４０（たとえばDFEすなわちデジタル・フロントエンド）は、その一般化された形では、色管理モジュール２１０と、解釈器モジュール２１２と、ハーフトーン化モジュール２１４とを含む。色管理モジュール２１０は、入力色空間からプリンター１６０色空間への色マッピングを提供する。
【００２３】
解釈器モジュール２１２は、印刷ジョブの画像（たとえば生のシート面〔シートサイド〕画像またはプリンター言語データ、たとえばシート・イメージ１２０）を解釈、レンダリング、ラスタ化または他の仕方で変換して、シート面ビットマップにするよう動作可能である。解釈器モジュール２１２によって生成されるシート面ビットマップは、それぞれ、印刷ジョブの画像（たとえば連続階調画像（CTI:  Continuous  Tone  Image））を表わすピクセルの二次元アレイであり、フル・シート面ビットマップとも称される。二次元ピクセル・アレイが「フル」シート面ビットマップと考えられるのは、かかるビットマップが画像のピクセルの集合全体を含むからである。解釈器モジュール２１２は、複数の生のシート面を同時並行して解釈またはレンダリングするよう動作可能であり、それによりレンダリングのレートは実質的に、プロダクション印刷エンジンのイメージングのレートにマッチする。ハーフトーン化モジュール２１４は、シート面ビットマップを、インクのハーフトーン・パターンとして表現するよう動作可能である。たとえば、ハーフトーン化モジュール２１４は、諸ピクセルを、紙に印加するためのCMYKインクのハーフトーン・パターンに変換してもよい。
【００２４】
ある実施形態では、色管理ユニット２１０は、プリンター１６０において印刷されるべき特定のオブジェクト内の各ピクセルについてのCMYK値を決定するマッピングによって、色管理される作業フローを実行する。図３は、色管理ユニット２１０のある実施形態を示すブロック図である。色管理ユニット２１０は、一つまたは複数の色キャッシュ３１０と、色ルックアップテーブル（LUT）３２０とを含む。色キャッシュ３１０は、色マッピング・データを記憶するハードウェアおよび／またはソフトウェア・コンポーネントであってもよく、それによりそのデータに対する将来の要求は、より高速にサービスされることができる。ある実施形態では、色管理ユニット２１０は、入力色を受領すると色管理動作を実行する色エンジン（CE）３３０を含む。
【００２５】
図４は、CE  ３３０によって実行される色管理プロセス４００のある実施形態を示す流れ図である。処理ブロック４１０において、入力色が色キャッシュ３１０にあるかどうかについて判定がなされる。もしあれば、該入力色に対応する出力色は色キャッシュ３１０から取得される（処理ブロック４３０）。処理ブロック４４０では、出力色が返される。判断ブロック４２０において、入力色がキャッシュ３１０にないという判定がされる場合には、処理ブロック４５０において、LUT  ３２０において多次元補間が実行されて、入力色空間からの入力色を、出力色空間における出力色に変換する。処理ブロック４６０では、入力色および出力色はキャッシュ３１０に記憶される。処理ブロック４４０では、出力色が返される。
【００２６】
上記で論じたように、単一の高次元LUT内で多次元補間を実行することは、すべてのプロファイル、意図およびオプションについて十分な精度を達成するためには、それぞれの入力色空間次元において多数のノードを必要とする。そのようなLUT構成は典型的には、それぞれの入力色空間次元において一様な間隔の同数のノードを指定する。いくつかの色次元は他の色次元よりも有意に少ないノードを必要とすることがありうるので、これは不十分な結果となる。よって、現在のところ、多次元補間を正確に実行するために大きなルックアップテーブルを維持することが必要となっている。
【００２７】
図３に戻って参照すると、色管理モジュール２２０は、入力色から出力色へのマッピングから導出される多次元色管理ルックアップテーブル（たとえばLUT  ３２０）を最適化するよう実装される最適化論理３５０を含む。ある実施形態では、最適化論理３５０は、複数の入力色空間次元および出力色空間次元のそれぞれの間の対応を指定する格子点の非一様な間隔をもつ構成においてLUT  ３２０を生成する。
【００２８】
図５は、最適化された格子点をもつ多次元ルックアップテーブルを生成するためのプロセス５００のある実施形態を示す流れ図である。プロセス５００は、ハードウェア（たとえば回路、専用論理、プログラム可能な論理など）、ソフトウェア（たとえば処理装置上で実行される命令）またはそれらの組み合わせを含みうる処理論理によって実行されてもよい。ある実施形態では、プロセス５００は、最適化論理３５０によって実行されてもよい。プロセス５００は、呈示の簡明のために線形序列で示されているが、それらのうちの任意の数が並列に、非同期的に、あるいは異なる順序で実行されることができることが考えられている。簡明および理解の容易のため、図１ないし図４を参照して論じた詳細の多くはここでは論じたり繰り返したりしない。
【００２９】
プロセス５００は、最適化のための初期化が行なわれる処理ブロック５１０で始まる。ある実施形態では、初期化は、入力色空間における色の少なくとも一部に対応する出力色を決定することを含んでいてもよい。そのような実施形態では、これらの決定された出力色および対応する入力色は、入力色空間から出力色空間への変換を表わすサーベイ点として使用されてもよく、多次元ルックアップテーブルの格子点を最適化するための基礎になりうる。
【００３０】
あるさらなる実施形態では、格子点最適化の初期化は、入力色空間におけるそれぞれの色に対応する補間された出力色を決定する補間プロセスを実行することを含んでいてもよい。これは、入力色空間の諸次元にまたがる色の細かい格子に関わってもよい。それぞれの入力色空間点に関連付けられた出力色は、公式のような他の何らかの手段によって、あるいは色プロファイルから直接、得られてもよい。
【００３１】
ある実施形態では、前記の細かい格子は、各入力次元において一様な間隔であり、最終的な最適化されたLUTよりも、各次元において有意に多くの点を含んでおり；必須ではないが、入力色空間におけるすべての点を含んでいてもよい。ある実施形態では、細かい格子におけるそれぞれの色に対応する出力色を決定するために、n次元線形補間が実行される。しかしながら、他の実施形態は他の補間プロセスを実装してもよい。
【００３２】
あるさらなる実施形態では、最低次の誤差項（δyj）が、それぞれの出力色空間次元において、補間された出力色のそれぞれについて決定される。そのような実施形態では、最低次の誤差項は、入力色空間次元における色への最近接距離格子点に対応する補間された出力色の誤差を含む。n次元線形補間については、補間計算は、最近接格子点を中心とするテーラー展開における限られた数の項に帰着し、該展開における最低次の欠けている項は次のように表わされる：
【数１】
2019153294.tif 000003
ここで、yjは、入力色空間次元における入力色（xi）に対する最近接格子点におけるn次元線形補間の間に出力色空間次元において見出される出力色を表わす。上記で言及した最低次の誤差項は、誤差展開における項であって、δxiが増加するにつれてδyjの最も遅い増加レートをもつものとして定義される。線形補間については、最低次の誤差項はδyjである。
【００３３】
処理ブロック５２０では、それぞれの色空間次元において格子点の数が最適化される。ある実施形態では、格子点の数は、それぞれの入力次元iに関連付けられたコスト関数J(i)を計算し、次元iにおける格子点の数の関数としてJ(i)を表にすることによって最適化される。全体的なコスト関数Jは、J(i)の入力次元iにわたる和である。ひとたび全体的なコスト関数が評価されたら、それぞれの次元における格子点の数が、制約条件のもとで、関数の制約条件付き最適化の既知の方法を使って、最小化されることができる。
【００３４】
ある実施形態では、使用される制約条件は、全体的なコスト関数Jの最大の許容できる値である。しかしながら、別の実施形態では、使用される制約条件は、最適化されたLUTにおける格子点の、最大の許容できる総数である。最適化されたLUTにおける格子点の総数は、それぞれの入力次元における格子点の数の積である。
【００３５】
ある実施形態では、次元iについてのコスト関数J(i)は、入力次元iに関するδyj2項の、入力色空間{xk}にわたり、かつ出力次元jにわたる和として定義され、
【数２】
2019153294.tif 000004
となる。
【００３６】
しかしながら、他の実施形態では、次元iについてのコスト関数は、入力次元iに関するいずれか特定のδyj2項の最大の絶対値として定義されてもよい。処理ブロック５３０では、それぞれの入力色空間次元について、内部の格子点が最適化される。ある実施形態では、内部の格子点は、まず、それぞれの入力色空間次元について内部の格子点のベクトルを形成することによって最適化される。そのような実施形態では、ベクトルは、内部の格子点を選択することによって形成される。たとえば、格子点を選択することは、各次元のすべての格子点のリストにおいて、最初（または最低の座標値、点0）および最後（たとえば最高の座標値）の点を脱落させることを含んでいてもよい。
【００３７】
端点が落とされるのは、それらが固定されているからである。これに対し、内部の格子点は固定されていないので、動くことが許容される。その後、制約条件付き最小化が、それぞれの入力色空間次元における内部の点に対して、互いを超えて（あるいは等しくなるよう）動くことは許容されないような仕方で、実行され、それぞれの格子点の内部の点の最適な値ベクトル（たとえば最適な格子）が決定される。
【００３８】
ひとたびそれぞれの入力色空間次元について内部の格子点のベクトルが形成されたら、格子についてのコスト関数が（たとえば先述した方法の一つを介して）計算され、内部の格子点のそのベクトルに関連付けられる。次いで、内部の格子点の位置を調整することによりコスト関数が（たとえば勾配降下法を用いて）最小化される。ある実施形態では、すべての入力色空間色にわたる平方誤差和が、細かい格子に基づいて決定される。最終的な最適格子はその細かい格子の部分集合をなす。
【００３９】
あるさらなる実施形態では、細かい格子点にわたる和は、粗い格子点の各対の間の中心の細かい格子点を含み、二つの粗い格子点の間のコスト関数の和は、該中心の点におけるコスト関数によって近似される。ここで、コスト関数はしばしば強い最大を示す。ひとたび内部の格子点が最適化されたら、ルックアップテーブルにおいて各次元について、非一様な格子点間隔が達成される。
【００４０】
もう一つの実施形態では、各次元においてコスト関数を完全に最適化することは必要なく、その代わり、入力空間の各次元が一回たどられて、前のLUTノードに基づく局所的な補間誤差に対する近似が過剰になるときは常にLUTノードを加えるのでもよい。このように、各次元は独立して解析され、必要なときにノードが加えられる。
【００４１】
線形補間を使うある実施形態では、たとえば補間誤差は局所的な曲率（たとえば諸入力色に対する諸出力色の二回偏微分の平方の和）にほぼ比例する。そのような実施形態では、特定の次元内で、その次元に沿った特定の点において、局所的な曲率が調べられてもよく、最大の許容できる局所的な格子間隔が、局所的な曲率および最大の許容できる最低次誤差項に基づいて計算される。
【００４２】
さらに、他のすべての入力座標値にわたる最悪ケースの曲率または他のすべての入力座標にわたる曲率の和または統計的サンプルに基づくこれらの近似が、特定の入力座標の特定の値における局所的な曲率を評価するために使われてもよい。局所的な曲率の評価を与えられれば、この特定の入力次元におけるこの点における最大の受け入れ可能な近似的補間誤差を与える最大格子点距離が計算されうる。
【００４３】
その後、次のLUTノードが、前のノードからこの最大格子点距離のところに加えられ、解析はそのノードにおいて続けられる。これは、最大入力座標に達するまで続けられる。それぞれの追加されたノードにおいて、次のノードへの距離が、その領域における最悪ケースの平均曲率と、その点における受け入れ可能な値に低次誤差項を制限する格子点距離を計算することとに基づいて、計算される。これは、最も最適なLUTを生じる可能性は少ないだろうが、単一のパスで、有界な補間誤差をもつLUTを与える。結果として得られるLUTは、限られた補間誤差をもち、それでいて管理できるサイズである。
【００４４】
非一様な格子間隔をもつ最適化されたルックアップテーブルは、一様な格子間隔を用いる通常のルックアップテーブルに比べて、より小さな補間誤差を与える。図６は、一様なサンプリングを示すグラフであり、一方、図７は最適化された非一様なサンプリング格子のある実施形態を示すグラフである。例解目的のため、どちらの格子も、一つの入力次元、一つの出力次元を含み、それについて補間が実行される。さらに、格子は、線形補間関数（実線）についての曲線および実際の（または所望される）色マッピング関数（点線）についての曲線を含む。図６で見て取れるように、一様な格子は、（ほぼ格子点(190,.5)で始まる）高めの値において、比較的大きな補間誤差（実際の（または所望される）出力色と補間された出力色との間の差）を受ける。しかしながら、図７は、非一様な格子構成では、同じ諸点についてずっと小さな補間誤差があることを示す。
【００４５】
図８は、印刷システム１３０および／または印刷コントローラ１４０が実装されうるコンピュータ・システム９００を示している。コンピュータ・システム９００は、情報を通信するためのシステム・バス９２０と、情報を処理するためのバス９２０に結合されたプロセッサ９１０とを含む。
【００４６】
コンピュータ・システム９００はさらに、情報およびプロセッサ９１０によって実行される命令を記憶するための、バス９２０に結合された、ランダム・アクセス・メモリ（RAM）または他の動的記憶デバイス９２５（ここではメイン・メモリと称される）を有する。メイン・メモリ９２５はまた、プロセッサ９１０による命令の実行の間に一時変数または他の中間情報を記憶するためにも使われてもよい。コンピュータ・システム９００は、プロセッサ９１０によって使用される静的な情報および命令を記憶するための、バス９２０に結合された読み出し専用メモリ（ROM）およびまたは他の静的記憶デバイス９２６をも含んでいてもよい。
【００４７】
磁気ディスクまたは光ディスクおよびその対応するドライブのようなデータ記憶デバイス９２７も、情報および命令を記憶するために、コンピュータ・システム９００に結合されていてもよい。コンピュータ・システム９００は、I/Oインターフェース９３０を介して第二のI/Oバス９５０に結合されることもできる。表示装置９２４、入力装置（たとえばキーボード（または英数字入力装置）９２３およびまたはカーソル制御装置９２２）を含む複数のI/OデバイスがI/Oバス９５０に結合されてもよい。通信装置９２１は、他のコンピュータ（サーバーまたはクライアント）にアクセスするためのものである。通信装置９２１はモデム、ネットワーク・インターフェース・カードまたはイーサネット〔登録商標〕、トークンリングまたは他の型のネットワークに結合するために使われるような他のよく知られたインターフェース・デバイスを有していてもよい。
【００４８】
本発明の実施形態は、上記のようなさまざまな段階を含みうる。これらの段階は、機械実行可能命令において具現されてもよい。該命令は、汎用または特殊目的のプロセッサにある種の段階を実行させるために使用されることができる。あるいはまた、これらの段階は、前記段階を実行するための固定結線論理を含む特定のハードウェア・コンポーネントによって、あるいはプログラムされたコンピュータ・コンポーネントおよびカスタム・ハードウェア・コンポーネントの任意の組み合わせによって実行されてもよい。
【００４９】
本発明の要素は、機械実行可能命令を記憶するための機械可読媒体として提供されてもよい。機械可読媒体は、これに限られないが、フロッピーディスケット、光ディスク、CD-ROMおよび光磁気ディスク、ROM、RAM、EPROM、EEPROM、磁気式または光学式カード、伝搬媒体または電子的な命令を記憶するために好適な他の型の媒体／機械可読媒体を含みうる。たとえば、本発明は、コンピュータ・プログラムとしてダウンロードされてもよく、該コンピュータ・プログラムは、リモート・コンピュータ（たとえばサーバー）から要求元コンピュータ（たとえばクライアント）に搬送波または他の伝搬媒体において具現されたデータ信号によって、通信リンク（たとえばモデムまたはネットワーク接続）を介して転送されてもよい。
【００５０】
本発明の多くの変更および修正が、上記の記述を読んだ当業者には明白となるにちがいないが、例として図示され、記載されたどの具体的な実施形態も、決して限定するものと考えられることは意図されていないことが理解される。よって、さまざまな実施形態の詳細への言及は、請求項の範囲を限定することは意図されておらず、請求項自身も、本発明にとって本質的であると見なされる特徴を記載するだけである。
【符号の説明】
【００５１】
１１０  ホスト・システム
１２０  シート・イメージ
１３０  CMYK印刷システム
１４０  印刷コントローラ
１５０  ビットマップ
１６０  プリンター
１８０  印刷媒体
２１０  色管理モジュール
２１２  解釈器モジュール
２１４  ハーフトーン化モジュール
３１０  色キャッシュ
３２０  LUT
３３０  CE
３５０  最適化論理
４１０  入力色を受領
４２０  キャッシュ内の色？
４３０  キャッシュから色を取得
４４０  出力色を返す
４５０  LUTにおいて補間
４６０  入力および出力色をキャッシュに追加
５１０  初期化
５２０  格子点の数を最適化
５３０  内部格子点を最適化
【図１】
2019153294.tif 000005
【図２】
2019153294.tif 000006
【図３】
2019153294.tif 000007
【図４】
2019153294.tif 000008
【図５】
2019153294.tif 000009
【図６】
2019153294.tif 000010
【図７】
2019153294.tif 000011
【図８】
2019153294.tif 000012