(57)【要約】【課題】  本発明は、色変換ルックアップテーブルを作成する方法を提供する。【解決手段】  色変換ルックアップテーブルを作成する方法が提供される。色変換の対象のスライスの概念的な表現が表示される。色変換の対象は無彩色軸（５０２）と複数の色軸とを有する色座標系によって定義される。スライスは無彩色軸（５０２）に直交する共通の面にある色座標系上の複数のグリッドポイントによって定義される。加えて、スライスは複数の色軸の少なくとも１軸が最小値または最大値である色変換対象の複数の表面に沿って境界が規定される。方法は、特定のグリッドポイントに対してデザインルールを適用して他のグリッドポイントに対する出力値を決定する工程を更に含む。スライスに対する出力値はルックアップテーブル（２０８）の一部に格納される。３Ｄルックアップテーブルを作成するためのツールも説明される。【選択図】図９
2014075795.tif 000002
【特許請求の範囲】
【請求項１】
色変換ルックアップテーブルを作成する方法であって、
色変換の対象のスライスの概念的な表現を形成する工程であって、
色変換の対象は、複数の色軸と、無彩色軸とを有する色座標系により定義され、
各色軸は、個別の最小値から最大値までの範囲の値を含み、
前記無彩色軸は、最小量の着色剤の色値から最大量の着色剤の色値までの範囲の値を含み、
前記スライスは、前記色座標系における、前記無彩色軸に直交する共通平面内の複数の格子点により定義され、
前記スライスは前記複数の色軸のうちの少なくとも１つが最小値または最大値となる前記色変換の対象の複数の面に沿って境界が規定されている、
工程と、
前記スライスと前記無彩色軸との交点に適用される第１のデザインルールのパラメータを含むユーザーのインプットを受け付ける工程と、
前記色変換の対象の少なくとも１つの表面上の格子点に適用される第２のデザインルールのパラメータを含むユーザーのインプットを受け付ける工程と、
前記交点と前記平面との間に位置する格子点に関する出力を第３のデザインルールに従って決定する工程と、
前記ルックアップテーブルの一部に前記スライスに関する前記出力を保存する工程と、
を含む方法。
【請求項２】
前記色変換の対象の複数の前記スライスについて、前記決定する工程と、前記保存する工程とを繰り返す工程をさらに含む、請求項１のに記載の方法。
【請求項３】
前記決定する工程および前記保存する工程は、前記色変換の対象の全てのスライスについて繰り返される、請求項２に記載の方法。
【請求項４】
前記形成する工程は、出力装置に表示する工程を含む、請求項１から３のいずれか１つに記載の方法。
【請求項５】
前記出力装置は表示装置であり、前記概念的な表現は、前記表示装置に表示される前記スライスのグラフィックな表現である、請求項４に記載の方法。
【請求項６】
前記表示装置に１つ以上のスライスを表示する工程をさらに含む、請求項５に記載の方法。
【請求項７】
前記色変換の対象は、６面を有する色変換立方体であり、
前記複数の面は、前記６面から選択され、
前記無彩色軸は、前記色変換立方体の第１の頂点から、前記色変換立方体の対角線上の前記第１の頂点と反対側にある頂点に存在する第２の頂点まで延びており、
前記複数の色軸と、前記無彩色軸は、それぞれ、前記第１の頂点に存在する、対応する最小値を有する、請求項１から６のいずれかに記載の方法。
【請求項８】
前記ルックアップテーブルを用いて、画像形成装置において画像を形成する工程を含む、請求項１から７のいずれか１つに記載の方法。
【請求項９】
前記交点と、前記面との間に存在する格子点の出力値を前記決定する工程は、前記出力値が、前記スライスにわたってなだらかに混合するように第１のマッピングを変更する工程を含み、
前記変換する工程は、前記第３のデザインルールに従う、請求項１から８のいずれか１つに記載の方法。
【請求項１０】
３次元色変換ルックアップテーブルを作成する方法であって、
第１の装置と関連付けられた第１の色空間から第２の装置と関連付けられた第２の色空間に変換するための色変換立方体の無彩色軸の断面スライスの少なくとも一部を表示する工程であって、
前記少なくとも１つの無彩色軸の断面スライスは、前記色変換立方体の無彩色軸との交点と、前記色変換立方体の複数の表面上の複数のグリッドポイントとの間に位置する複数の内部グリッドポイントを含む、同一平面上に位置する複数のグリッドポイントを有し、
前記少なくとも１つの無彩色軸との断面スライスは、前記無彩色軸に対して直角である工程と、
前記交点を前記色変換立方体の複数の表面のうちの１つの表面上の点と接続し、また、前記複数の内部グリッドポイントのうちの１つの内部グリッドポイントを通過する直線を特定する工程と、
前記交点に対応する第１の出力値を決定する工程であって、前記第１の出力値は第１のデザインルールに基づいている工程と、
前記色変換立方体の複数の表面のうちの１つの面上の前記ポイントに対応する第２の出力値を決定する工程であって、前記第２の出力は、第２のデザインルールに基づく工程と、
前記内部グリッドポイントに対応する第３の出力値を決定する工程であって、前記第３の出力値は、第３のデザインルールに基づく工程と、
前記第１、第２、および第３の出力値をルックアップテーブルに格納する工程と、を含む方法。
【請求項１１】
前記第３のデザインルールは、前記内部グリッドポイントと関連付けられた距離を算出する工程を含む補間を含む、請求項１０に記載の方法。
【請求項１２】
前記距離は、ソースカラーコード値で表される距離である、請求項１１に記載の方法。
【請求項１３】
前記距離は、（ａ）前記内部ポイントと、前記交点との間、および（ｂ）前記内部ポイントと前記表面上の前記グリッドポイントとの間の色値としての差である、請求項１１または１２に記載の方法。
【請求項１４】
前記第１のデザインルールは、着色剤の量を特定する工程を含み、前記第２のデザインルールは、前記表面上のグリッドポイントの色の特徴を特定する工程を含む、請求項１０から１３のいずれか１つに記載の方法。
【請求項１５】
前記色変換立方体の少なくとも２枚の、無彩色軸に直交する断面スライスを部分的に表示する工程を更に含む、請求項１０から１４のいずれか１つに記載の方法。
【請求項１６】
前記交点を、前記色変換立方体の前記表面上の追加のポイントとつなぐ追加の直線を特定する工程であって、前記追加の直線は、追加の内部グリッドポイントを通る工程と、
前記色変換立方体の表面上の前記追加のグリッドポイントに対応する追加の第２の出力を決定する工程と、
前記追加の内部グリッドポイントに対応する追加の第３の出力値を決定する工程と、
をさらに含む、請求項１０から請求項１５のいずれか１つに記載の方法。
【請求項１７】
前記第２の装置は、プリンタを含み、
前記ルックアップテーブル内に格納された前記出力値にアクセスし、前記第１の色空間から前記第２の色空間に変換する工程と、
前記アクセスされた出力値を用いて印刷を行う工程と、
を含む、請求項１０から１６のいずれか１つに記載の方法。
【請求項１８】
前記第３のデザインルールは、前記第１のデザインルールと前記第２のデザインルールとの間における混合を含み、
前記混合は、補間により決定される、請求項１０から１７のいずれか１つに記載の方法。
【請求項１９】
プロセッサと、
データ記憶装置と、
前記データ記憶装置に格納されており、コンピュータによる実行時において、前記コンピュータに、請求項１から１８のいずれか１つに記載の方法の工程を実行させるプログラム命令とを備えるコンピュータ。
【請求項２０】
コンピュータによる実行時に、コンピュータに、請求項１から１８のいずれか１つに記載の方法の工程を実行させるプログラム。
【請求項２１】
非一時的なコンピュータ読み取り可能な記録媒体であって、
作成される３Ｄルックアップテーブルのサイズを決定する工程と、
前記３Ｄルックアップテーブルに対応する色変換の対象の少なくとも一部の表現を表示する工程と、
前記ルックアップテーブルに適用されるデザインルールを特定するユーザからの入力を受け付ける工程と、
前記受け付けたデザインルールを前記色変換の対象に適用し、前記色変換の対象のための出力値を決定する工程と、
前記決定された値を格納する工程と、
をプロセッサに実行させるための命令を含む記録媒体。
【請求項２２】
前記３Ｄルックアップテーブルは、ＮｘＮｘＮルックアップテーブルであり、
前記色変換の対象は、３Ｎ―２の無彩色の軸のスライスを有し、
前記表示される表現は、前記無彩色の軸のスライスの少なくとも１つのスライスの図である、
請求項２１に記載の非一時的なコンピュータ読み取り可能な記録媒体。
【請求項２３】
前記デザインルールは、
（１）前記色変換の対象の無彩色の軸の交点における、無彩色軸の各スライスに適用される第１のデザインルールと、
（２）前記色変換の対象の表面の少なくとも１つのグリッドポイントに適用される第２のデザインルールと、
（３）前記交点と、前記表面との間に位置する少なくとも１つの内部グリッドポイントに適用される第３のデザインルールと、
のうちの少なくとも２つを含む、
請求項２１または２２に記載の非一時的なコンピュータ読み取り可能な記録媒体。
【請求項２４】
前記第３のデザインルールは、補間を行い、前記無彩色の軸と、前記表面との間のポイントについて、色変換の対象における混合された値を決定する工程を含み、
前記命令は、補間がどのように実行されるかについてのユーザからの入力を受け付ける工程を更に含む、請求項２３に記載の非一時的なコンピュータ読み取り可能な記録媒体。
【請求項２５】
前記補間は距離に基づくものである、請求項２４に記載の非一時的なコンピュータ読み取り可能な記録媒体。
【請求項２６】
前記距離は、色値としての距離と、ソースカラーコード値としての距離とからなるグループより選択される、請求項２５に記載の非一時的なコンピュータ読み取り可能な記録媒体。
【請求項２７】
前記プロセッサに、前記出力値を決定するために受け付けた前記デザインルールを、前記色変換の対象に適用させる工程は、前記プロセッサに、少なくとも一つの所定の色マッピングにアクセスさせる工程を含む、請求項２１から２６のいずれか１つに記載の非一時的なコンピュータ読み取り可能な記録媒体。
【請求項２８】
プロセッサと、
データ記憶装置と、
前記プロセッサによる実行時に、前記プロセッサに、
作成される３Ｄルックアップテーブルのサイズを決定する工程と、
前記３Ｄルックアップテーブルに対応する色変換対象の少なくとも一部の表現を表示する工程と、
前記ルックアップテーブルに適用されるデザインルールを特定するユーザからの入力を受け付ける工程と、
前記受け付けたデザインルールを前記色変換の対象に適用し、前記色変換の対象に対する出力値を決定する工程と、
前記決定された値を格納する工程と、
を実行させるプログラム命令と、
を含む３Ｄルックアップテーブルを作成するシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は色変換ルックアップテーブルの作成に関する。
【背景技術】
【０００２】
例えばコンピュータモニタのような第１の装置上の色から例えば画像形成装置（例えばカラープリンタ）のような第２の装置上の色を正確に再現することは困難を伴いうる。モニタは、典型的には、赤・緑・青（ＲＧＢ）画素を使用して色を表示する。その一方で、大部分の最新のカラープリンタは、典型的には、シアン、マゼンタ、イエロー、および黒（ＣＭＹＫ）のインクまたはトナーを使用して表示する（印刷する）。印刷ページ上の再現された色がモニタ上のソースカラーにどれくらい近いかに基づいて、再現された色の質を評価することができる。他の場合には、例えば、色質は、ユーザーの好み（例えば特定の肌色の好み）に基づいて評価することができる。モニタとカラープリンタ間での色域（ｃｏｌｏｒ  ｇａｍｕｔ）の不一致により、とりわけ、色域の境界（すなわち、色の出力の最小値および最大値）における色質に対応する色変換が必要となる。
【０００３】
この種の色変換を実行することを目的として、第２の装置（または中間の装置（例えばソフトウェアを実行しているコンピュータ））は、ＲＧＢからＣＭＹＫへの色の写像（マッピング）を実行するように構成されることができる。第一に、印刷ジョブに用いられるソースカラーは、例えば、各色について８ビット、全部で２４ビットに対応する、ＲＧＢ値として表現される。カラープリンタの場合、印刷コントローラは、印刷ページ上の色を再現するためにＲＧＢ値をＣＭＹＫ値にマッピングする色変換を実行することができる。２つの色空間の関係は、以下の通りに定義できる：
式１：（Ｃ、Ｍ、Ｙ、Ｋ）＝ｆ（Ｒ、Ｇ、Ｂ）
式２：Ｃ＝ｆＣ（Ｒ、Ｇ、Ｂ）
式３：Ｍ＝ｆＭ（Ｒ、Ｇ、Ｂ）
式４：Ｙ＝ｆＹ（Ｒ、Ｇ、Ｂ）
式５：Ｋ＝ｆＫ（Ｒ、Ｇ、Ｂ）
上述の式（１）−（５）に記載の機能は、単純な大域的な定義を有しているものではなく、その代わりにポイント間のマッピング（ｐｏｉｎｔ−ｔｏ−ｐｏｉｎｔ  ｍａｐｐｉｎｇｓ）として定義される。プリントコントローラ（または他の装置）は、理論上は、そのような色変換を各画素についてコンピュータによって実行する一方、多くの関連する計算は、プリントプロセスを遅延させる可能性があるので、魅力的でない解法である。その代わりに、典型的な色変換は、予め計算された、あるいは実験的に決定された数値が記憶された一つ以上のルックアップテーブル（ＬＵＴ）を使用する。このとき、ＲＧＢ値からＣＭＹＫ値を算出する代わりに、色変換においては、１つ以上のＬＵＴの対応するＣＭＹＫ値にアクセスすることを目的として、指標としてＲＧＢ値を使用することがある。そして、プリンタは、例えば対応するインクまたはトナーの量を付与することにより、決定されたＣＭＹＫ値を使用してページに「マーキング」を行う。
【０００４】
例えば、ある例の色空間において、皮膚および緑色の草の色は、それぞれ、（２２８、１７４、１６０）および（９５、２００、１２）のＲＧＢ値を有する。一つ以上の適切なルックアップテーブルを使用して、色変換により、印刷する際に使われる、第２の色空間におけるＣＭＹＫ値として、ぞれぞれ、（０、８４、７１、２３）および（１４０、０、２４７、０）を出力することができる。
【０００５】
ＬＵＴのサイズおよび構成は、印刷速度、印刷品質（例えば色の再現および変遷（ｔｒａｎｓｉｔｉｏｎ）の精度）、およびコスト（例えばメモリサイズおよびタイプ）に影響する可能性がある。色順応のような色マッチング（カラーマッチング）や適切なカラーリングのような、設計目的（デザインゴール）が達成されるように、色変換ルックアップテーブル（ＬＵＴ）を作り出すことが、色の設計者（デザイナー）にとっての主要な関心となっている。
【０００６】
このように、印刷速度またはコストを犠牲にせずに、正確な色の変換（ｃｏｎｖｅｒｓｉｏｎ）および変遷（ｔｒａｎｓｉｔｉｏｎ）を提供するＬＵＴを作成する改良された方法が望まれている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】ＵＳ２００７／０２２９８６２
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、実行時に用いることができる色変換ルックアップテーブルを作成する方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願明細書において記載される各種実施形態は、実行時のカラーＬＵＴの設計を支援する。下記の方法は、好ましくは、画像形成装置のような、特定の装置のために使われるＬＵＴを作成する目的で、ソフトウェアを実行しているコンピュータにおいて実行される。同様の実施形態が他の態様で実施されることも可能である。
【００１０】
第１実施例によれば、実行時の色変換ルックアップテーブル（ｒｕｎ−ｔｉｍｅ  ｃｏｌｏｒ  ｃｏｎｖｅｒｓｉｏｎ  ＬＵＴ）を作成する方法が提供される。色変換の対象（ｃｏｌｏｒ  ｃｏｎｖｅｒｓｉｏｎ  ｏｂｊｅｃｔ）のスライス（ｓｌｉｃｅ）の概念的な表現（ｃｏｎｃｅｐｔｕａｌ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）が、コンピュータの出力装置上において、ユーザに対して表示される。色変換の対象は、無彩色の軸（ｎｅｕｔｒａｌ  ａｘｉｓ）と複数の色軸（ｃｏｌｏｒ  ａｘｅｓ）とを有する色座標系によって定義される。各色軸は、対応する最小値から最大値にわたる値を含む。その一方で、無彩色の軸は、最小の着色剤の量（すなわち白）に対応する値から最大の着色剤の量（すなわち黒）に対応する値にわたる値を含む。スライスは、無彩色の軸に対して直角の共通面（同一平面）にある色座標系上の複数のグリッドポイント（ｇｒｉｄ  ｐｏｉｎｔ）によって定義される。加えて、スライスは、複数の色軸の少なくとも１軸が最小値または最大値である色変換の対象の複数の表面に沿って境界が規定される。好ましい実施例においては、色変換の対象は、対角線の無彩色の軸が、色軸の原点（立方体の１つの頂点にある）から、原点の反対側の立方体の頂点までにわたっている、３つの色軸によって定義される立方体である。
【００１１】
第１実施形態による方法は、さらに、（ａ）スライスの、無彩色軸に対する交点に適用される第１のデザインルール（ｄｅｓｉｇｎ  ｒｕｌｅ）についてのパラメータを含むユーザーの入力を受け付ける工程と、（ｂ）色変換の対象の表面の少なくとも１つの面上に存在するグリッドポイントの出力値に適用される第２のデザインルールについてのパラメータを含むユーザー入力を受け付ける工程と、を更に含む。方法は、第１のデザインルールと第２のデザインルールとの間における変遷（ｔｒａｎｓｉｔｉｏｎ）を算出することによって、交点と表面との間に位置するグリッドポイントについての出力値を決定することをさらに含む。この変遷（変換）は、例えば、特定の内部グリッドポイントの、交点および／または表面までの距離に関する第３のデザインルールに基づいて算出されてもよい。スライスのための出力値は、ルックアップテーブルの一部に格納される。
【００１２】
他の実施形態によれば、３次元色変換ルックアップテーブルを作成する方法は、第１の装置に関連付けられた第１の色空間（ｃｏｌｏｒ  ｓｐａｃｅ）を第２の装置と関連付けられた第２の色空間に変換するための、色変換立方体の無彩色の軸の断面のスライスの少なくとも一部を表示する工程を含む。少なくとも一つの無彩色の軸の断面スライスは、例えば、（１）スライスと、色変換立方体の無彩色の軸との交点と、（２）色変換立方体の複数の表面上（すなわち、スライスの端辺（ｅｄｇｅ）上）の複数のグリッドポイントとの間に位置する複数の内部グリッドポイントを含む複数の同―平面上のグリッドポイントを含んでいてもよい。加えて、少なくとも一つの無彩色の軸の断面スライスは、無彩色の軸に対して直角である。
【００１３】
第２実施形態における方法は、上記交点と色変換立方体の複数の表面のうちの１つの面上のポイントとを接続し、内部グリッドポイントを通過する直線を特定する工程を含む。交点に対応する第一出力値および色変換立方体の複数の表面のうちの１つの面上のポイントに対応する第２の出力値の両方が決定される。第１の出力値は第１のデザインルールに基づき、第２の出力値は第２のデザインルールに基づく。第３のデザインルールに基づく内部グリッドポイントに対応する第３の出力値も得られる。第３のデザインルールは、例えば、第１のデザインルールと第２のデザインルール間の混合であってもよい。混合は、例えば、距離を算出することによって決定される。第１、第２、および第３の出力値は、ルックアップテーブルに格納される。
【００１４】
付加的な実施形態は、プロセッサと、データ格納部と、データ格納部に格納されており、コンピュータによる実行に応じて、コンピュータに、上記の例示の実施形態の少なくとも１つに従って動作を実行させるプログラム命令と、を含んでいるコンピュータを含んでいてもよい。
【００１５】
更なる実施形態は、コンピュータによる実行に応じて、コンピュータに、上記の例示の実施形態の少なくとも１つに従って動作を実行させるプログラムを含んでいてもよい。
【００１６】
さらに他の実施形態は、プロセッサに以下を実行させる、すなわち、作成される３Ｄルックアップテーブルのサイズを決定し、３Ｄルックアップテーブルに対応する色変換の対象の少なくとも一部の表現を表示し、ルックアップテーブルに適用されるデザインルールを特定するユーザからの入力を受け付け、色変換の対象に特定されたデザインルールを適用し、色変換の対象に対する出力値を決定し、決定された値を格納する、命令を備える非一時的なコンピュータ読み取り可能な記録媒体を含んでいてもよい。
【００１７】
更なる実施形態における、３Ｄルックアップテーブルを作成するシステムまたはツールは、プロセッサと、データ格納部と、プログラム命令とを含む。プログラム命令は、プロセッサによる実行に応じて、プロセッサに、（ｉ）作成される３Ｄルックアップテーブルのサイズを決定し、（ｉｉ）３Ｄルックアップテーブルに対応する色変換の対象の少なくとも一部の表現を表示し、（ｉｉｉ）ルックアップテーブルに適用されるデザインルールを特定するユーザからの入力を受け付け、（ｉｖ）色変換の対象に受け付けたデザインルールを適用し、色変換の対象に対する出力値を決定し、（ｖ）決定された値をデータ格納部に格納する工程を行わせる。
【００１８】
必要に応じて添付の図面の参照して、以下の詳細な説明を読むことによって、他の態様および利点が、当業者にとって明らかになる。
【発明の効果】
【００１９】
本発明によれば、実行時に用いられる色変換ルックアップテーブルを作成する方法が提供される。
【図面の簡単な説明】
【００２０】
【図１】図１は、画像形成装置における色変換を説明する簡略化された機能ブロック図である。
【図２】図２は、画像形成装置のプリントコントローラにおける色変換機能を説明する簡略化された機能ブロック図である。
【図３】図３は、本明細書に記載の種々の実施形態における、３次元の補間を用いた３Ｄ  ＬＵＴの色変換立方体のＬＵＴを説明する簡略化されたブロック図である。
【図４】図４は、本願明細書に記載の種々の実施形態における、３次元ルックアップテーブルの色変換立方体のルックアップテーブルの追加の構成を示す簡略化されたブロック図である。
【図５】図５は、無彩色軸と交わる断面（ＮＡＸ、ｎｅｕｔｒａｌ−ａｘｉｓ  ｃｒｏｓｓ−ｓｅｃｔｉｏｎ）のスライスを得る３次元ＬＵＴの色変換立方体のＬＵＴを示す概念上のブロック図である。
【図６】図６は、一実施形態における、ＮＡＸスライスを示す簡略化された概念上のブロック図である。
【図７Ａ】図７Ａは、一実施形態における、ＮＡＸスライス（スライス７）を示す簡略化された概念上のブロック図である。
【図７Ｂ】図７Ｂは、一実施形態における、他のＮＡＸスライス（スライス６）を示す簡略化された概念上のブロック図である。
【図８】図８は、例示の設計アプリケーション（ｄｅｓｉｇｎ  ａｐｐｌｉｃａｔｉｏｎ）が記載されている、他のＮＡＸスライスを示している簡略化された概念上のブロック図である。
【図９】図９は、一実施形態における、実行時の色変換ＬＵＴの作成方法を示すフロー図である。
【図１０】図１０は、一実施形態における、３次元色変換ＬＵＴを作成する方法を示すフロー図である。
【図１１】図１１ａ―ｙは、一実施形態における、９ｘ９ｘ９の色変換立方体の全２５のＮＡＸスライスを示す簡略化された概念上のブロック図である。
【図１２】図１２は、一実施形態における、ＮＡＸスライス上における、無彩色軸、面、および無彩色軸の断面の間の相関を示す簡略化された概念上のブロック図である。
【図１３】図１３は、一実施形態における、設計ツール（ｄｅｓｉｇｎ  ｔｏｏｌ）を使用する３Ｄ  ＬＵＴを作成する方法を示すフロー図である。
【図１４】図１４は、一実施形態における、３Ｄ  ＬＵＴを作成するシステムまたはツールを示す簡略化されたブロック図である。
【図１５】図１５―２３は、図１４に示される設計ツールにおける例示の動作画面である。
【発明を実施するための形態】
【００２１】
本発明の実施形態は、色変換のための実行時のＬＵＴ（ｒｕｎ−ｔｉｍｅ  ＬＵＴ）の作成に貢献できる。図１−４は、カラープリンタの色変換を実行するための、典型的なプリントコントローラの配列および３Ｄ  ＬＵＴの構成の例を示す。図３―１３は、所望の設計目的に基づいて無彩色軸の断面（ｎｅｕｔｒａｌ−ａｘｉｓ  ｃｒｏｓｓ−ｓｅｃｔｉｏｎ（ＮＡＸ））技術を用いて、一つ以上の実行時の色変換３Ｄ  ＬＵＴを作成する実施形態を詳細に説明する。
【００２２】
図１は、例えばカラープリンタのような、画像形成装置１００における色変換を示す、簡略化された機能ブロック図である。画像形成装置１００は、ＲＧＢ―ＣＭＹＫ変換ユニット１０４を有するプリントコントローラ１０２を含み、色変換プロセスを実行する。色変換プロセスにより、例えば、コンピュータモニタのような、第１の装置に関連付けられた第１の色域１０６が、例えば、画像形成装置のような、第２の装置に関連付けられた第２の色域へと変換される。具体的には、ＲＧＢ−ＣＭＹＫ変換ユニット１０４は、ＲＧＢ値とＣＭＹＫ値との関係が、一定間隔あるいは不規則な間隔で格子（ｇｒｉｄ）として記載されている一つ以上の色変換ＬＵＴ（例えば、図２参照）を参照し、ＲＧＢ成分から構成される画像をＣＭＹＫ成分から構成される画像（色変換後画像）に変換する。
【００２３】
この例では、第１の色域１０６は、赤（Ｒ）１１２、緑（Ｇ）１１４、および青（Ｂ）１１６の組合せによって規定され、第２の色域は、シアン（Ｃ）１１８、マゼンタ（Ｍ）１２０、およびイエロー（Ｙ）１２２の組合せで規定される。例えば、黒（Ｋ）の着色剤１２４が、ある特定の黒の再現を支援する、および／またはカラートナーまたはインクの使用を減らす目的で、含まれていてもよい。第１および第２の色域１０６および１０８は、典型的には、装置依存の色域である（例えば第２の色域は、例えばインクまたはトナーの特性、用紙種等のような要素に依存する。）。従って、例えばＣＩＥＬＡＢ空間のような、デバイスに依存しない色空間への変換（ｔｒａｎｓｆｏｍａｔｉｏｎ、転換）、またはそのような色空間からの変換が、中間工程として実行されてもよい。必要に応じて、本願明細書に記載のある実施形態に、この中間工程の変換および逆の変換が含まれうると理解されることができる。
【００２４】
各Ｒ、Ｇ、Ｂの入力値が８ビットであるＲＧＢの３成分の色域１０６に対する考えられる全ての入力値を含む単一のＬＵＴを提供することを目的として、サイズが２５６ｘ２５６ｘ２５６を有する（１６，７７７，２１６のグリッドポイント）３Ｄ  ＬＵＴが求められてきている。ＣＭＹＫの４成分の出力システムは、そのような４種のＬＵＴ（すなわちＣ、Ｍ、ＹおよびＫの各々に対するＬＵＴ）が必要とされる。このサイズのＬＵＴは、現在、一般的な効率的で費用効果的なプリントコントローラに対しては非実用的である。
【００２５】
その代わりに、効率的で費用効果的なオペレーションを維持する目的で、「まばらな」グリッドポイントを有する３Ｄ  ＬＵＴを利用することができる。例えば、２５６ｘ２５６ｘ２５６  ＬＵＴの代わりに、１７ｘ１７ｘ１７  ＬＵＴを、出力値の算出に用いることができる。２５６ｘ２５６ｘ２５６  ＬＵＴにおけるほぼ１７，０００，０００のグリッドポイントの代わりに、１７ｘ１７ｘ１７  ＬＵＴは、５，０００以下のグリッドポイントを有する。３Ｄ  ＬＵＴにおける各格子点は、ＲＧＢ入力に対応するＣＭＹＫ出力を含むＲＧＢインデックス（Ｒ、Ｇ、およびＢ）に対応する。特定の入力（Ｒ、Ｇ、Ｂ）が、まばらなグリッドポイントのうちの１つに存在しない場合、プリントコントローラ（または他のモジュール）は、出力値（Ｃ、Ｍ、Ｙ、Ｋ）を求めるのに、３Ｄ補間を使用する。例えば、この種の補間（ｉｎｔｅｒｐｏｌａｔｉｏｎ）は、四面体の補間（四面体補間法（ｔｅｔｒａｈｅｄｒａｌ  ｉｎｔｅｒｐｏｌａｔｉｏｎ））を含んでいてもよい。
【００２６】
図２は、図１に示されるプリントコントローラ１０２を示す簡略化された機能ブロック図である。プリントコントローラ１０２は、好ましくは、特定の色の入力ソース値からＣＭＹＫへと色を変換するラスター処理ユニット（Ｒａｓｔｅｒ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＲＰＵ））２００を含むハードウェア（例えばエイシック（Ａｐｐｌｉｃａｔｉｏｎ−Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（ＡＳＩＣ））を用いて、構成されている。ＲＰＵ  ２００は、Ｃｏｌｏｒ  Ｃｏｎｖｅｒｓｉｏｎ（ＣＣＯＮＶ）モジュール２０２を含み、１つ以上の３Ｄ  ＬＵＴ  ２０８を使用して色変換を実行する。３Ｄ  ＬＵＴは、好ましくは、例えばリードオンリーメモリ（ＲＯＭ）のような、不揮発性のデータ収納部に格納される。ＣＣＯＮＶモジュール２０２は、入力色値２０４（例えばファームウェアによって一元化される）を印刷で使用するために、ＣＭＹＫ色値２０６に変換する。
【００２７】
図３は、本願明細書において記載されている各種実施形態における、３Ｄ  ＬＵＴ色変換立方体３００を示す簡略化されたブロック図である。色変換立方体３００は、各々が立方体３００の共通の頂点から始まり、対応するＲ、ＧおよびＢの頂点まで及ぶ赤の軸３０２、緑の軸３０４および青の軸３０６を含む色座標系を含む。この座標系３０８においては、３成分の入力値（Ｒ、Ｇ、Ｂ）が３Ｄ  ＬＵＴ内部の格子点３１２へと結ばれることができる。この格子点３１２は、対応するＣＭＹＫ出力値を含む。特定の３成分の入力値（Ｒ、Ｇ、Ｂ）が格子点上にない場合、出力値を決定するために補間を用いることができる。適切な補間方法は、特定の入力値から最も近い格子点（グリッドポイント）までのユークリッドの距離に基づく。図示するように、補間は、８つの最も近いグリッドポイントによって規定される補間の補助立方体（ｓｕｂ  ｃｕｂｅ）３１０を使用する。一実施形態においては、この補間の補助立方体３１０内に位置する入力値は、これらの８つのグリッドポイント（他の隣接するグリッドポイントであってもよい）に関連付けられた出力値を有していてもよい。四面体補間法においては、４つのグリッドポイントを選択的に使用するのに対し、三線補間は、出力を計算するために、全８つの最も近いグリッドポイントの出力値を使用する。
【００２８】
図４は、本願明細書において記載されている各種実施形態における、３Ｄ  ＬＵＴの色変換立方体４００のさらなる構成を説明する簡略化されたブロック図である。立方体４００は立方体３００と同じＲ、Ｇ、Ｂ座標系を使用するが、立方体４００においては、それぞれ黒（着色剤をフルに使用する）および白（着色剤なし）に対応する「完全な黒」の頂点４０２および「完全な白」の頂点４０４も併せて示している。無彩色の軸４０６は、完全な黒の頂点４０２と完全な白の頂点４０４との間の対角線にわたる。無彩色の軸４０６は、黒（完全な黒の頂点４０２の近くのダークグレイ）から白（完全な白の頂点４０４の近くの淡い灰色）の範囲の全体にわたっている連続的なグレーの階調を表す。無彩色軸４０６（ｎｅｕｔｒａｌ  ａｘｉｓ）は、無彩色のグレーの軸（ｎｅｕｔｒａｌ  ｇｒａｙ  ａｘｉｓ）と称されることもある。
【００２９】
図４には、シアン（Ｃ）４１０、マゼンタ（Ｍ）４１２、およびイエロー（Ｙ）４１４に対応する頂点も示されている。ＣＭＹ面から、それらのそれぞれの辺と頂点により境界が規定されるように、ＲＧＢ面を分離しているエッジが、図４では２重線で示されている。立方体４００は、立方体３００と同様に、ＲＧＢ入力グリッド値４０８が、ＣＭＹＫ出力値に対応している３Ｄ  ＬＵＴの概念上のモデルである。ＲＧＢおよびＣＭＹの軸は、対応する色の最低値および最大値を表すためにどのような値を用いるかに依存して、目盛りが異なる。加えて、立方体４００は、３Ｄ  ＬＵＴを概念化することに有効である一方、３Ｄ  ＬＵＴの物理的な実行においては、実際にはこのような態様では格納されなくてもよい。その代わりに、３Ｄ  ＬＵＴは、立方体４００内に表された各格子点に対応するメモリロケーションの、経時的な、またはそれ以外の写像配列（ｍａｐｐｅｄ  ａｒｒａｙ）として実現されていてもよい。ＣＭＹＫ出力値の場合、各グリッドポイントに対応する、４つの（適切なビット長の）メモリロケーションが、一般的には存在する。４つのメモリロケーションは、それぞれ、Ｃ、Ｍ、ＹまたはＫの出力値に対応する。
【００３０】
理想的な色マッピング（ｃｏｌｏｒ  ｍａｐｐｉｎｇ）においては、ＣＭＹＫの出力値は、入力値を比色の観点から正確に整合する。換言すれば、色マッピングは、基本的な色の再現方法であり、市販の分光測光法および比色計測器を用いて検証可能である。より高度な目的として、人間の視覚で認識される正確な発色（ｃｏｌｏｒ  ａｐｐｅａｒａｎｃｅ）への色マッピングが試みられている。
【００３１】
しかしながら、入出力装置間の色域の不一致に起因して、理想的な色マッピングは、一般的には、全ての色について可能であるというわけではない。従って、色変換ＬＵＴの設計者（デザイナー）は、その代わりに、入出力色の間に、マッピングの適切な人為的操作を受け入れる。加えて、円滑な移行（変遷）も維持すると共に、ラスター画像処理ユニット（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ（ＲＩＰ）ユニット）により用いられる実行時色変換ＬＵＴが、全ての操作された色マッピングを適切に保存していることを、設計者は確かめなければならない。
【００３２】
このように、かなり多くの数の３Ｄグリッドポイントの一般的な色マッピング（例えば比色マッチ）は別として、カラーＬＵＴの設計者は、一般的には３つのゴールを考えている：（１）入力値の色域の境界上、すなわち、３Ｄ  ＬＵＴ４００（色変換立方体）の境界を示す６面上におけるプリンタのＣＭＹＫ値の特別な特性を実行する、（２）無彩色軸上の入力値に対して、使用されるＫの着色剤の量に対応する、プリンタのＣＭＹＫ値の正確な組合せを特定する、（３）色域の境界上の入力値と、無彩色軸上の入力値との間の内部のグリッドポイントの出力値を決定する。これらの３つのゴールは、本発明の実施形態において、利用できる設計ルール（デザインルール（ｄｅｓｉｇｎ  ｒｕｌｅ）の例である。
【００３３】
図５―８および１１―２３は、本発明の実施形態における、実行時の３Ｄ  ＬＵＴを作成するために用いることができる設計環境を例示している。無彩色軸の断面を用いる技術は、都合の良い環境において、実際の設計目的（前の段落に列挙された目的（デザインルール））に対処する。この環境においては、デザイナー（および／または装置またはシステム）が、例えば、明確に、例えば色変換立方体４００のような、３Ｄ  ＬＵＴ色変換立方体の各格子点の色マッピングの性質を決めることができる。
【００３４】
図５は、無彩色軸の断面５０８を得ることができる３Ｄ  ＬＵＴ色変換立方体５００を示す概念上のブロック図である。立方体４００のように、立方体５００は、第１の頂点（例えば完全な黒の頂点）から第２の逆の頂点（例えば完全な白の頂点）にわたっている無彩色の軸５０２を含む。この無彩色の軸５０２に沿って、複数のスライス（例えばスライス５０４および５０６）が、無彩色の軸５０２に対して直交する複数の平面の断面となるように定義されてもよい。無彩色の軸５０２に沿ったスライスの位置に応じて、各平面の断面（スライス）は、立方体の３つまたは６つの面により境界が規定される。立方体５００の完全な黒および完全な白の頂点により近いスライスは、三角形である（三角形のスライス５０６および５１２参照）。その一方で、無彩色の軸の中間部分近傍ではスライスの端辺としての役割を果たす面の数が増加することから、無彩色の軸５０２の中間点の近くのスライスは六角形である（六角形のスライス５１０参照）。これらのＮＡ（Ｎｅｕｔｒａｌ  Ａｃｉｓ（無彩色の軸））の断面のスライスは、それぞれ、それらの幾何学的な中心で無彩色の軸５０２と交差する。
【００３５】
以下に概要を説明するように、実行時の３Ｄ  ＬＵＴのデザイナー（設計者）にとって、ＮＡＸスライス（ＮＡＸ  ｓｌｉｃｅ）５０８は、利点を供給する。これらの利点は、少なくとも部分的には、ＮＡＸスライスによってもたらされる幾何学的な対称性によりもたらされる。例えば、図５および６に示すように、有限の大きさの３Ｄ  ＬＵＴの色変換立方体（例えば立方体５００）に対し、各ＮＡＸスライス（この例では、三角形のスライス５０６）は、無彩色の軸５０２との交点６００を有する（交点は、色軸（立方体の端辺）と無彩色の軸（立方体の対角線）との間の長さの相対的な違いにより、格子点に必ずしもあるとは限らない）。これらの無彩色の軸５０２との交点６００の全ては、直線６０２により、色変換立方体５００の面５１４上の各グリッドポイント６０４に結ばれていてもよい。加えて、立方体５００の内部グリッドポイント６０６（すなわち無彩色の軸５０２と立方体の面５１６との間のグリッドポイント）は、全て、対応する無彩色軸との交点６００を、３Ｄ  ＬＵＴ色変換立方体５００の面上の明確に定義された点６０４（必ずしもグリッドポイントでなくてもよい）を接続するように、引かれることができるそれぞれの直線（ＮＡＸ平面の）上にある。図６に示される例においては、無彩色の軸との交点６００は、内部のグリッドポイント６０６を通り、面５１６の点６０４まで、直線６０２を介して接続される。
【００３６】
図７Ａは、一実施形態における、ＮＡＸスライス７００を示す簡略化された概念上のブロック図である。ＮＡＸスライス７００は、ＮＡＸ  ＬＵＴの作成方法を容易に説明できるように、付加的な面上のグリッドポイントおよび内部グリッドポイントが示されているという点以外は、ＮＡＸスライス５０６と同様である。図７Ａにおいて、無彩色の軸との交点７０２は、スライス７００の中心に中空の円として示され、色立方体（ｃｏｌｏｒ  ｃｕｂｅ）の面上の複数のグリッドポイントは黒丸で示され（グリッドポイント７０４参照）、複数の内部グリッドポイントは、クロスハッチングで表される円として示されている（グリッドポイント７０６参照）。ＮＡＸスライス７００は、図１１ｇに示されるスライス７に対応する。
【００３７】
同様に、図７Ｂは、他のＮＡＸスライス７５０を例示している簡略化された概念上のブロック図である。ＮＡＸスライス７５０は、無彩色の軸が、ＮＡＸスライス７５０と、グリッドポイント上では交わらないという点以外は、ＮＡＸスライス７００と類似している。その代わりに、無彩色の軸は、グリッドポイントではないＮＡＸ平面の明確に定義されるポイント７５２で、ＮＡＸスライス７５０を横切る。ここに示した例では、無彩色の軸は、（Ｒ、Ｇ、Ｂ）＝（１．６７、１．６７、１．６７）という点で、ＮＡＸスライス７５０を横切る。図示のように、ＮＡＸスライス７５０上のグリッドポイントは、（Ｒ、Ｇ、Ｂ）＝（０，０，５）の第１の頂点から、（Ｒ、Ｇ、Ｂ）＝（５，０，０）の第２の頂点、（Ｒ、Ｇ、Ｂ）＝（０，５，０）の第３の頂点までの範囲に存在する。また、図示されているように、無彩色の軸との交点を内部のグリッドポイントと接続する直線７５４、７５６および７５８は、これらの明確に定義された点でＮＡＸスライス７５０の面を横切る。ここに示した例では、これらの明確に定義された点は、（２．５，０，２．５）、（２．５，２．５，０）、そして、（０，２．５，２．５）である。ＮＡＸスライス７５０は、図１１ｆに示されるスライス６に対応する。
【００３８】
図７Ａを再び参照して、ＮＡＸスライス（および無彩色の軸に沿った平行なＮＡＸスライス）を用いて、実行時の３Ｄ  ＬＵＴを作成するデザイナー（設計者）や装置は、第１に、無彩色の軸上のグリッドポイント（例えば交点７０２）、および面上のグリッドポイント（例えば７０４）や、他の明確に定義された点に対する写像元から写像先への色マッピング（ｓｏｕｒｃｅ−ｔｏ−ｄｅｓｔｉｎａｔｉｏｎ  ｃｏｌｏｒ  ｍａｐｐｉｎｇ）を準備してもよい。一つ以上の設計目的においては、これは、以下を必要とする。すなわち、（１）無彩色の軸上のグリッドポイント上の出力値としてＫの着色剤（Ｋ  ｃｏｌｏｒａｎｔ）のみを利用すること（例えばカラーインクまたはトナーを節約する、および／またはより良好なカラーマッチング（ｃｏｌｏｒｉｍｅｔｒｉｃ  ｍａｔｃｈ）を提供する目的で）、そして（２）プリンタの鮮明なＣＭＹＫ出力値を、色としての正確性とトレードすること（すなわち主観的な好み（好適な色）のマッピングと、正確な色のマッチングとのトレード）を必要としてもよい。更なる実施形態として、写真画像に対しては、無彩色の軸上のグリッドポイントが、常に、（Ｋ着色剤だけよりむしろ）ＣＭＹＫの混合で表されることを、設計目的は、含んでいてもよい。同様に、特定のユーザアプリケーションに応じて、設計目的は、比色のマッチング（ｃｏｌｏｒｉｍｅｔｒｉｃ  ｍａｔｃｈｉｎｇ）とユーザの好みとの間における、面上のグリッドポイントの色域のマッピングを変化させることを含んでいてもよい。他の設計目的（デザインルール）、例えば、内部の点（ｉｎｔｅｒｉｏｒ  ｐｏｉｎｔ、無彩色軸のグリッドポイントと面上のグリッドポイントとの間の点）に関連する設計目的が、ＮＡＸスライス７００を用いて、追加的に、または代わりに実行されてもよい。内部グリッドポイントに関連する設計目的は、例えば、内部のグリッドポイントと、無彩色の軸および／または面上のグリッドポイントとの距離に応じた様々な処理を含んでいてもよい。これらの設計目的は、上述してきた種々の実施形態それぞれにおいて、ある特定のグリッドポイントに適用できるデザインルールの基本原理の例であってもよい。
【００３９】
少なくとも第１および第２のデザインルールが、無彩色の軸との交点（例えばグリッドポイント７０２または他の明確に定義された点）および面上の点（例えばグリッドポイント７０４）とのマッピングに適用されると、各内部グリッドポイントのカラーマッピングは、無彩色の軸との交点と面上の点との間をつなぐ直線を参照することにより、進行することができる。無彩色の軸におけるカラーマッピングから、面上のカラーマッピングへの移行は、ＮＡＸスライス全体において、継ぎ目がないのが好ましく、例えば、第３のデザインルールに従って実行されてもよい。例えば、無彩色の軸との交点に最も近い内部グリッドポイントは、無彩色の軸との交点の１つの着色剤のみの色マッピング（より顕著にＫの着色剤が影響する）に、より類似していてもよい。反対に、立方体表面（スライス境界）に最も近い内部グリッドポイントは、面上のポイントに対して使用される「ｓｎａｐ−ｔｏ―ｐｒｉｎｔ−ｐｒｉｍａｒｉｅｓ」の方法による結果に、より類似していてもよい。複数のＮＡＸスライスにわたって、無彩色の軸、立方体面上および内部のポイントの変換に、同じ第３のデザインルールが適用されることにより（すなわちスライス内というより寧ろスライス間において適用することにより）、スライス間の出力色値も、滑らかな変化を呈することができる。
【００４０】
図８は、実施形態の設計アプリケーションが記載されている、他のＮＡＸスライス８００を示している簡略化された概念上のブロック図である。ＮＡＸスライス８００は、無彩色の軸との交点８０２、色立方体の表面上のポイント（例えばグリッドポイント８０４）、および内部グリッドポイント（例えばグリッドポイント８０６）を含む。図示するように、第１の領域（点線８０８に囲まれて示される）は、無彩色の軸との交点８０２に比較的近い内部グリッドポイントから選択されたグリッドポイントを含んでいる。図７Ａを参照して上述したデザインルールのため、第１のデザインルールによれば、第１の領域の内部グリッドポイントは、概して、主としてＫの着色剤を使用する色再現に従う（おそらく種々の範囲において）。ここで上述したように、無彩色の軸との交点８０２は、好ましくは、Ｋの着色剤のみを使用して色再現される。反対に、面上のグリッドポイント（すなわち実線８１０と８１２との間の点）は、図７Ａを参照して上述した第２のデザインルールにより、プリンタデバイスの飽和した色（ｓａｔｕｒａｔｅｄ  ｐｒｉｎｔｅｒ  ｄｅｖｉｃｅ  ｃｏｌｏｒｓ）に主観的にマッピングされる。最後に、好ましくは第３のデザインルールに従って、点線８０８と実線８１０との間の第２の領域内の内部のグリッドポイントは、滑らかに変換（例えば混合）される。なお、線８０８、８１０および８１２は、単に説明のために図示されただけあって、デザインルールをグリッドポイントに適用する１つの任意の可能性を示しているだけである。代わりに、他のグループ化（ｇｒｏｕｐｉｎｇ）やデザインルールのアプリケーションが、用いられてもよい。
【００４１】
第３のデザインルールにより規定される変換は、例えば、カラー立方体表面上のグリッドポイントに対するデザインルールと、無彩色の軸との交点の近くのグリッドポイントに対するデザインルールとの間の混合であってもよく、また、多くの異なるオプションに従って作られてもよい。第１のオプションにおいては、無彩色の軸との交点から、および／または面上のグリッドポイントから、つながる直線に沿って、内部グリッドポイントまでの「距離」を測定する。この距離は、デザイナー（設計者）の特定の目的（目標）に従っており、例えば、ソースカラーのコード値における距離であってもよい。これは、変換（変遷（ｔｒａｎｓｉｔｉｏｎ）の工程において、最も直接的な測定である可能性がある。使われることができる他の距離としては、（１）特定の内部のポイントと無彩色の軸との交点との間、そして（２）特定の内部のポイントと面上のグリッドポイントとの間のソースカラーのコード値という観点からの色値の差であってもよい。他の変形例が、内部グリッドポイントに対する色マッピングを支援するために用いることもできる。
【００４２】
実行時の３Ｄ  ＬＵＴ（ｒｕｎ−ｔｉｍｅ  ３Ｄ  ＬＵＴ）を作成するための上述の設計環境の各種実施形態を利用することによって、実際的な設計目的が対処されてもよい。図９および１０は、この種の環境を用いた実行時の色変換ルックアップテーブルを作成する方法を示す。
【００４３】
図９は、一実施形態における、実行時の色変換ＬＵＴを作成する方法９００を例示しているフロー図である。
【００４４】
ブロック９０２において、色変換の対象（例えば３Ｄ  ＬＵＴの色変換立方体）の無彩色の軸に対するスライスの概念的な表現（ｃｏｎｃｅｐｔｕａｌ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）がユーザに示される。例えば、図８に示されるスライス８００のようなスライスの図が、コンピュータモニタまたは他の出力装置に表示され、これにより、ユーザが、マウスおよび／または他の入力装置を使用して、スライスに作用することができる。色変換の対象（ｃｏｌｏｒ  ｃｏｎｖｅｒｓｉｏｎ  ｏｂｊｅｃｔ）は、例えばＲ、ＧおよびＢ軸のような、複数の色軸を有する色座標系によって定義される。加えて、色変換の対象は、無彩色の軸（例えばＫの着色剤の軸）も含む。各色軸は、好ましくは、それぞれ、最小の色値から最大の色値にわたっている色値を含んでおり、その一方で、無彩色の軸は最小の着色剤の量から最大の着色剤の量にわたっている色値を含む。スライスは、無彩色の軸に直交する共通の面内にある、カラー座標系上の複数のグリッドポイントによって定義される。加えて、スライスは、複数の色軸の少なくとも１つの軸（すなわち入力値）が最小の色値または最大の色値となる色変換の対象の複数の面に沿って、境界が規定される。
【００４５】
ブロック９０４においては、第１のデザインルールに対するパラメータを含むユーザーの入力が受け付けられる。第１のデザインルールは、例えば、スライスの無彩色の軸との交点におけるグリッドポイントに適用されてもよい。
【００４６】
ブロック９０６においては、第２のデザインルールに対するパラメータを含むユーザーの入力が受け付けられる。第２のデザインルールは、例えば、色変換の対象における複数の面のうちの少なくとも１つの面上にあるグリッドポイントにおける出力値に適用されてもよい。
【００４７】
ブロック９０８においては、好ましくは第３のデザインルールに従って、交点と面との間に位置する内部グリッドポイントに対する出力が決定される。これは、例えば、図８を参照して上述した距離の概念を用いることによって、第１のデザインルールと第２のデザインルールとの間の変換（または混合）を算出することを含んでいてもよい。また、第３のデザインルールは、無彩色の軸との交点におけるグリッドポイントと、面上のグリッドポイントとの間における変換において用いられる他の技術を含んでいてもよい。この第３のデザインルールは、例えば、ユーザーの入力（例えばユーザーによる選択またはユーザーによる規定を介して）として受け付けられることができ、または、例えば、内部的にプログラムされたデザインルールであってもよい。
【００４８】
ブロック９１０において、スライスに対する出力が、ルックアップテーブルの一部に格納される。ここでは、メモリへの書き込みに関する一般的な技術が、例えば使われてもよい。
【００４９】
方法９００は、好ましくは、スライス内の全てのグリッドポイントに対して、そして、色変換の対象における全てのスライスに対して、実行される。
【００５０】
ブロック９０２―９１０は、図９に図示されているのと異なる順番で実行されてもよい。加えて、ある実施形態においては、更にオートメーション化した３Ｄ  ＬＵＴの設計を容易にすることを目的として、ブロック９０２―９１０のうちの一つ以上が省略されてもよい。ブロックが、追加されてもよい。
【００５１】
図１０は、他の実施例における、３次元色変換ＬＵＴを作成する方法１０００を例示しているフロー図である。
【００５２】
ブロック１００２において、色変換立方体のＮＡＸスライスの少なくとも一部が表示される。色変換立方体（例えば立方体４００）は、第一装置（例えばモニタ）と関連付けられた第１の色空間から第２の装置（例えばプリンタ）と関連付けられた第２の色空間への変換のための概念的なモデルを提供する。少なくとも一つのＮＡＸスライスは、その上に位置する同一平面上にある複数のグリッドポイント（図８参照）を有しており、それらの複数のグリッドポイントは、色変換立方体の無彩色の軸との交点と、色変換立方体の面上（すなわちＮＡＸスライスのエッジ上）の複数のポイント間に位置する複数の内部グリッドポイント（例えばグリッドポイント８０６）を含む。加えて、少なくとも一つのＮＡＸスライスは、無彩色の軸に対して垂直である。
【００５３】
ブロック１００４において、交点と、色変換立方体の複数の面のうちの１つの面上のグリッドポイントとをつなぐ直線が特定される。本実施形態においては、スライスの幾何学的な形状に起因して、この直線は、内部グリッドポイントも通る。
【００５４】
ブロック１００６において、第１のデザインルールに基づいて、交点に対応する第一の出力値が決定される。
【００５５】
ブロック１００８において、第２のデザインルールに基づいて、色変換立方体の面のうちの１つの面のグリッドポイントに対応する第２の出力値が決定される。
【００５６】
ブロック１０１０において、内部グリッドポイントに対応する第３の出力値が決定される。第３の出力値は、第３のデザインルールに基づいてもよい。第３のデザインルールの１例としては、第１のデザインルールと第２のデザインルールとの間の混合である。例えば、第３のデザインルールは、図８を参照して説明した、距離を算出することを含んでいてもよい。
【００５７】
ブロック１０１２において、第１、第２、および第３の出力値が、ルックアップテーブルに格納される。
【００５８】
方法１０００は、好ましくは、スライス内の全てのグリッドポイントに対して、そして、色変換立方体内の全てのスライスに対して実行される。
【００５９】
ブロック１００２―１０１２は、図１０に示されるのと異なる順番において実行されてもよい。加えて、実施形態によっては、更にオートメーション化した３Ｄ  ＬＵＴの設計を容易にすることを目的として、ブロック１００２―１０１２の１つ以上が省略されてもよい。また、追加のブロックが導入されてもよい。
【００６０】
図１１ａ―ｙは、一実施形態における、９ｘ９ｘ９ユニットの３Ｄ  ＬＵＴの色変換立方体によって作られる全２５のＮＡＸスライスを例示している簡略化された概念的なブロック図である。各ＮＡＸスライス（例えば１１００参照）は、図１１ａ―ｙが作られるあらゆるスライスを例示するという点以外は、ＮＡＸスライス７００およびＮＡＸスライス５０６に機能的に同等である。
【００６１】
図１１ａに図示するように、第１のスライス１１００は、無彩色の軸のいずれかの一端に位置する、すなわち、この軸上における、Ｋの着色剤の量における最大値および最小値のいずれかに対応する端にあるポイント１１０２を含む。ポイント１１０２は、色変換立方体（例えば、色変換立方体５００参照）の角と無彩色の軸とが交差する所に位置する。反対に、２５枚目のスライス１１１０２を示す図１１ｙにおいては、色変換立方体の、第１のスライス１１００の反対側の角と、無彩色の軸とが交差する所に位置する。スライス１１１０２は、スライス１１００において使用される着色剤の量の逆の大きさの量に対応することになってもよい。例えば、スライス１１００が第１の量の着色剤（例えばＫの着色剤の最大量（例えば「完全な黒」の頂点４０２））に対応する場合、スライス１１１０２は、第２の量の着色剤（例えばＫの着色剤の最小量（例えば「完全な白」の頂点４０４））に対応することになってもよい。
【００６２】
図１１ｂは、本実施形態において作成される２番目のＮＡＸスライス１１０４の概念的なブロック図である。ＮＡＸスライス１１０４上の３つのポイント１１０６の各々は、色立方体表面上に位置するグリッドポイントである。同様に、図１１ｃは、色変換立方体の面上に存在する複数（６）のグリッドポイント１１１０によって作られる３番目のスライス１１０８を示す。
【００６３】
図１１ｄは、色変換立方体のエッジに沿って位置する複数（９）のポイント１１１４を有し、また、ポイント１１１６で無彩色の軸と交差する４番目のＮＡＸスライス１１１２を例示する。図１１ｅは、色変換立方体の３つの面に沿って位置する複数（１２）のポイント１１２２と、３つの内部グリッドポイント１１２０とを有する５番目のスライス１１１８を例示する。図１１ｆは、６つの内部グリッドポイント１１２６が内側に存在する色変換立方体の面上の複数（１５）のポイント１１２８を有する６番目のスライス１１２４を例示する。図１１ｇは、グリッドポイント１１３４で無彩色の軸と交差し、９つの内部ポイント１１３２と、外側の複数（１８）のポイント１１３６とで構成される７番目のスライス１１３０を示す。図１１ｈは、色変換立方体の面上の複数（２１）のポイント１１４２と、複数（１５）の内部ポイント１１４０によって作られる８番目のスライスを示す。図１１ｉは、色変換立方体の面上の複数（２４）の位置１１４６と、複数（２１）の内部ポイント１１４８によって作られる９番目のスライス１１４４を例示する。
【００６４】
図１１ｊは、無彩色の軸に直交し、図示の例において不規則な六角形である１０番目のスライス１１５０を例示する。スライス１１５０は無彩色の軸の中間部に接近しており、三角形のスライスから六角形のスライスへと変化するところとなる。スライス１１５０は、立方体の面上の複数（２７）のポイント１１５４と、面の内部の複数（３５）のポイント１１５２とを有する。グリッドポイント１１５６は、スライス１１５０の、無彩色の軸との交点である。
【００６５】
図１１ｋは、１１番目のスライス１１５８の具体例を示しており、スライス１１５８も、不規則な六角形であり、複数（２７）の外側のポイント１１６０と、複数（４２）の内部のポイント１１６２とを有する。同様に、図１１ｌは、色変換立方体の面上の複数（２７）のポイント１１６８と、複数（４６）の内部グリッドポイント１１６６とで作られる１２番目のスライス１１６４を例示する。
【００６６】
図１１ｍは、無彩色の軸の中間点において形成されるＮＡＸスライス１１７０を例示しており、ＮＡＸスライス１１７０は、軸に直交しており、正六角形となっている。複数（２４）の外側のグリッドポイント１１７４は、色変換立方体の面上に存在し、複数（３６）の内部グリッドポイント１１７２を囲む。この平面は、グリッドポイント１１７８で無彩色の軸と交差する。
【００６７】
図１１ｎは、色変換立方体の１４番目のスライス１１８０を例示する。１４番目のスライス１１８０は、図１１ｌに示される１２番目のスライスの逆の形状である。同様に、図１１ｏ―１１ｙに示される残りのスライスの各々は、図１１ａ―１１ｋに示されるスライスの逆の形状である（例えば、図１１ｏに示されるスライスは図１１ｋに示されるスライスの逆の形状であり、図１１ｐに示されるスライスは、図１１ｊに示されるスライスの逆の形状である）。
【００６８】
図１１ａ―１１ｙのスライスに示されるグリッドポイントは、単なる例示である。他の実施形態においては、グリッドポイントが、異なる態様で間隔をあけてまたは異なる態様で方向付けて配置されていてもよい。
【００６９】
一実施形態においては、デザイナー（設計者）または装置が、色変換立方体または他の３次元的な構成（３Ｄ  ｃｏｎｆｉｇｕｌａｔｉｏｎ）に対して、各軸（端辺）に沿ってユニットの所望の数を入力してもよく、作られる平面スライスの数は一つ以上の方程式を使用して算出されてもよい。一実施形態においては、３Ｄ  ＬＵＴの形状が立方体であるときに使われる、下記方程式６により、直交平面の数を算出する（Ｎは色変換立方体（すなわちＮｘＮｘＮ立方体）上の辺当たりのユニットの数に等しい）：
式６：立方体の場合のスライスの総数（Ｎｕｍｂｅｒ  ｏｆ  Ｓｌｉｃｅｓ  Ｔｏｔａｌ（ｃｕｂｅ））＝３Ｎ―２
従って、図１１ａ−１１ｙに示す例においては、色変換立方体の各辺は９つのユニットを有しており、合計２５枚のスライスを形成する。図４を参照して上述したデザインルールに従って、各スライスにおけるグリッドポイントに対し、色マッピングが行われる。
【００７０】
図１２は、無彩色の軸との断面が抽出される３Ｄ  ＬＵＴの色変換立方体１２００のスライスを例示している概念的なブロック図である。立方体１２００は、図５に示す立方体５００と同様に、第１の頂点（例えば「完全な黒」（ｆｕｌｌ  ｂｌａｃｋ）の頂点）から第２の逆の頂点（例えば「完全な白」（ｆｕｌｌ  ｗｈｉｔｅ）の頂点）におよぶ無彩色の軸１２０４を含む。図１２には、無彩色の軸１２０４に対して直交する一のスライス１２０２が示される。Ｒ、Ｇ、Ｂ座標系１２０６は、図３に示される座標系３０８と同様である。一実施形態においては、座標系１２０６によって、例えばＲＧＢのような、複数の成分の入力が、３Ｄ  ＬＵＴの変換立方体内に配置されてもよい。三角形のＮＡＸスライス１２０２は、３Ｄ変換立方体の３つの面に沿った、例えば１２１４として示されるような複数の外側のグリッドポイント（ｅｘｔｅｒｉｏｒ  ｇｒｉｄ  ｐｏｉｎｔ）と、例えば１２２６として示されるような複数の内部グリッドポイントとを有する。
【００７１】
図１２においては、平面ＮＡＸスライス１２０２の重心は、（Ｒ、Ｇ、Ｂ）＝（１．６７、１．６７、１．６７）において無彩色の軸と交差する。図１２においては、スライスの３つの中線が、各頂点（１２０８、１２１６、１２２０）を、三角形の平面の反対側の各中点に、接続する。
スライス１２０２の重心は、３つの中線が交差する所である。このポイント１２２２は、正確にスライス１２０２の無彩色の軸１２０４との交点に一致する。重心１２２２が不明確なグリッドポイントであるので、この例では、本実施形態のデザインルールに従って、ポイント間の線形補間または他の方法がこのポイントにおける正確なＣＭＹＫの出力値を算出するのに用いられてもよい。図１２の３つの中線は、さらに、内部グリッドポイント１２２６の対称的な性質を示す。一実施形態においては、対称的な性質により、補間を支援する。
【００７２】
図１３は、一実施形態における、ユーザの所望のＣＭＹＫの適用を規定する設計ツールについての方法１３００を例示するフロー図である。
【００７３】
ブロック１３０２において、３Ｄ  ＬＵＴの所望の寸法（すなわちＮｘＮｘＮ）に関するユーザー入力が受け付けられる。対応する色変換立方体が、例えばモニタのような第１の装置に関連付けられた第１の色空間の、例えばプリンタのような第２の装置に関連付けられた第２の色空間への変換を提供する。一実施形態においては、ユーザー入力は、一度だけ選択される（例えばプログラマによって）予め格納された値または所定の値である。あるいは、例えば、ユーザー入力が、グラフィカル・ユーザ・インタフェースを介してユーザにより入力されてもよい。
【００７４】
ブロック１３０４において、無彩色の軸に対して直交する断面スライスの数が算出される。一実施形態においては、方程式６が用いられる。ブロック１３０２および／または１３０４は、例えば最初のセットアップの間、またはプログラム処理の間に、その度にまたは一度だけ実行されてもよい。例えば各スライス上のグリッドポイントの数のような、他の基本的なパラメータは、この時点で決定されてもよい。
【００７５】
ブロック１３０６において、１のスライス、いくつかのスライス、または全てのスライスが、色マッピングのためにユーザに表示される。好ましくは、各内部グリッドポイント（例えば１１２０）、無彩色の軸のグリッドポイント（例えば１１１６）、および外側のグリッドポイント（例えば１１０６）が、各スライスについて表示される。加えて、３Ｄ  ＬＵＴは、面の領域（例えば５１６）、および無彩色の軸（例えば１２０４）を、色変換立方体について表示してもよい。
【００７６】
ブロック１３０８において、グリッドポイントに適用されるデザインルールのパラメータを含むユーザー入力が受け付けられる。単なる例示の実施形態ではあるが以下のような好ましい例がある。第１の所望の態様（ｆｉｒｓｔ  ｐｒｅｆｅｒｅｎｃｅ）は、色変換立方体の面（例えば５１６）および各ＮＡＸスライス（例えば１１２２）のエッジにあるポイントに対するものである。これらのポイントは、例えば、極めて鮮明な様に（ｅｘｔｒｅｍｅｌｙ  ｖｉｖｉｄ）、力強い様に（ｐｕｎｃｈｙ）、または、例えば、写真のようにリアルな様に（ｐｈｏｔｏ  ｒｅｌａｌｉｓｔｉｃ）マッピングされてもよい。第２の所望の態様（ｓｅｃｏｎｄ  ｐｒｅｆｅｒｅｎｃｅ）は、無彩色の軸（例えば１２０４）の所望のマッピングを格納する。無彩色の軸のマッピングの技術は、黒色トナー（Ｋの着色剤）のみ、ＣＭＹＫの混合、または大部分の黒色トナー（すなわちＫ）とＣＭＹの混合物との組合せを含んでいてもよい。第３の所望の態様（ｔｈｉｒｄ  ｐｒｅｆｅｒｅｎｃｅ）は、各内部ポイント（例えば１１２０）のうち要求される特徴を格納する。一実施形態においては、内部ポイントのマッピング技術は、写真のような様（ｐｈｏｔｏｇｒａｐｈｉｃ）、力強い様（ｐｕｎｃｈｙ）、あるいは第１のカラー装置と関連付けられた第１の色空間を忠実に複製する、モニターにマッチする色（ｍｏｎｉｔｏｒ−ｍａｔｃｈｉｎｇ  ｃｏｌｏｒｓ）を作るＣＭＹＫの混合を含んでいてもよい。
【００７７】
他の１つの所望の態様は、全３種類のグリッドポイントを混合する方法である。図８を参照して説明したように、グリッドポイントを混合するプロセスとしては、複数の異なるものがある。第１のオプションは、無彩色の軸の交点から、および／または面上のグリッドポイントから接続される直線に沿って、内部グリッドポイントとの「距離」を測定することである。この距離は、デザイナー（設計者）の特定の目的（目標）に従っており、例えば、ソースコード値での距離であってもよい。使われることができる他の距離としては、（１）特定の内部ポイントと無彩色の軸との間の、（２）特定の内部ポイントと面上のグリッドポイントとの間のソースコート値という観点からの色値の差（ｃｏｌｏｒｉｍｅｔｉｒｃ  ｄｉｆｆｅｒｅｎｃｅ）であってもよい。内部ポイントに対する色マッピングを支援するために他の変形例を用いることもできる。
【００７８】
ブロック１３１８において、色マッピングの所望の態様が、全ての内部のグリッドポイント（例えば１１２０）、外側のグリッドポイント（例えば１１１０）、および無彩色の軸のグリッドポイント（例えば１１１６）に対するマッピングを決定するのに用いられる。ブロック１３２０においては、ブロック１３１６において選択される混合方法（ｂｌｅｎｄｉｎｇ  ｍｅｔｈｏｄ）を使用して、マッピングが混合されてもよい。あるいは、混合は、例えば、内部グリッドポイントに対して、ブロック１３１８において実行される混合の一部であってもよい。混合は、全てのＮＡＸスライス（そして、互いに隣接するＮＡＸスライス間の）全体の円滑な変換を促進する。
【００７９】
ブロック１３２２において、各グリッドポイントに対するマッピングがＬＵＴに格納される。
【００８０】
ブロック１３２４において、例えばＲＧＢカラーのような第１の色値が、色変換立方体内の所定の位置にマッピングされる。もしそのポイントが、３Ｄ  ＬＵＴに格納される所定のグリッドポイント（例えば１２２２）にない場合、関連する色値が、例えば、図８を参照して上述したような、ポイント間の距離を算出することによって、補間で決定されてもよい。
【００８１】
変換元から変換先へのカラーマッピング方法（ｓｏｕｒｃｅ−ｔｏ−ｄｅｓｔｉｎａｔｉｏｎ  ｃｏｌｏｒ  ｍａｐｐｉｎｇ  ｍｅｔｈｏｄ）１３００により、少なくとも２つの特定の設計目的を満たすように支援する目的で方法が提供される。まず、カラー３Ｄ  ＬＵＴの設計者（デザイナー）は、入力の色域の境界上に対する色のプリンタのＣＭＹＫ値の特異的な特性を実装し、グリッドポイントを、第１のカラー装置に正確にカラーマッチングさせる、あるいは、グリッドポイントを高濃度のＣＭＹＫ値を用いて、極めて鮮明な様に表してもよい。次に、設計者（デザイナー）は、入力された無彩色の軸上の色に対して、使用されるＫの着色剤の量に対応するプリンタのＣＭＹＫ値の正確な構成を特定してもよい。さらにまた、各ＮＡＸスライス（例えば１１００）は、一義的になるように混合され、色マッピングが各内部グリッドポイントについて確定されてもよい。これにより、各ＮＡＸスライス（例えば１１１８）において、色変換立方体の面上のポイント（例えば１１２２）に、内部ポイント（例えば１１２０）を継ぎ目なく合成することになる。また、ある実施形態においては、１のＮＡＸスライスから次のＮＡＸスライスへと、統一したデザインルールを適用することにより、色変換立方体全体についての滑らかな変換が促進される。
【００８２】
図１４―２３は、上記の一つ以上の実施形態を実施するのに用いることができるカラーテーブル構築システム（またはカラーテーブル構築ツール）１４００の例を示す。システム（またはツール）１４００によって、設計者（色彩科学の専門家である必要がない）が、複数の次元の色データを視覚化する、あるいは操作することを必要とすることなく、カラーテーブルを設計することができる。その代わりに、システム（またはツール）１４００により、設計者に対し、簡潔に理解するのが可能な二次元の領域の設計オプションを正確に伝達するために、ＮＡＸスライスが提供される。設計者に提供される３つの設計オプションは、（１）大多数の色の全体のスタイル、（２）無彩色の灰色の成分、および（３）最も飽和した入力値の処置を含む。加えて、内部グリッドポイントに関する所望の態様（すなわち面上のグリッドポイントと無彩色の軸の交点との間の変換）が特定されてもよい。設計者の作業は、例えば、色彩科学の科学者が、例えば様々な装置間における限界や、色域の不一致の要因となる異なる様式のマッピングの準備のような、背景作業を完了した後に、完了してもよい。
【００８３】
図１４に示すように、システム（またはツール）１４００は、例えば、表示装置のような出力装置１４０２と、キーボード、マウスおよび／またはトラックボールのような入力装置１４０４とを含む。出力装置１４０２および入力装置１４０４は、ソフトウェアを実行しているプロセッサと通信する。例えば、プロセッサは、出力装置１４０２または入力装置１４０４と同じハウジング内において統合されていてもよい。あるいは、ソフトウェアを実行しているプロセッサは、例えばネットワーク上のように、遠隔で配置されていてもよい。さらにもう一つの変形例として、複数のプロセッサが、ソフトウェアを実行してもよい。例えば、ソフトウェアは、インターネットを介してウェブブラウザによってアクセスされるウェブベースのアプリケーションであってもよい。
【００８４】
出力装置１４０２は、プロセッサ上で実行されるソフトウェアにより、グラフィカル・ユーザ・インタフェース（ＧＵＩ）１４０６を表示する。図１５―２３は、ＧＵＩ１４０６上に、色デザイナー（ユーザ）に表示されることができる例示のスクリーンショットを示す。
【００８５】
図１５は、ユーザが、作成する３Ｄ  ＬＵＴのサイズを特定することができるように、ユーザに提示されるスクリーンショット１５００を例示する。ここに示した例では、ユーザは、カスタムサイズを特定するオプションと同様に、２つの所定サイズ（９ｘ９ｘ９および１７ｘ１７ｘ１７）のような、複数のオプションを示される。
【００８６】
一旦３Ｄ  ＬＵＴのサイズが特定されると、ソフトウェアを実行しているプロセッサはＮＡＸの色変換の対象（この例では、立方体）の基本的なパラメータを計算する。第一に、ＮｘＮｘＮの３Ｄ  ＬＵＴに対し、３Ｎ―２のＮＡＸスライスが特定される。各スライスの範囲内で、全ての内部グリッドポイントに対し、無彩色の軸および面上のポイントについて、関連する情報が集められる。面上のグリッドポイント、無彩色の軸のグリッドポイント、および内部のグリッドポイントの領域の各々に対して、関連するＲＧＢ−ＣＭＹＫのマッピングが、ユーザに表示するために決定される。図１６および１７は、ユーザが操作することができる領域を示すためにユーザに示されることができるスクリーンショット１６００および１７００を示す。図に示すように、これらの指示のためのスクリーンショット１６００および１７００は、ユーザに、カラーデザインや変換または混合と同様に、複数の面上のグリッドポイント、無彩色の軸のグリッドポイント、および内部のグリッドポイントを有する断面の概念を説明する。
【００８７】
図１８―２０は、ユーザが、構成される３Ｄ  ＬＵＴにおいて使われる色設計の目的を入力するように要求するスクリーンショット１８００、１９００、および２０００を示す。図に示すように、スクリーンショット１８００は、ユーザに、内部ポイント（すなわち「大半」のグリッドポイント）がどのようにマッピングされるかの特定を要求する。この例では、写真のように写実的（ｐｈｏｔｏｇｒａｐｈｉｃ）、力強い（ｐｕｎｃｈｙ）、またはモニタへの正確なマッチング、の３つのオプションが示される。他の選択肢が提供されてもよく、その選択肢は、特性として、主観的であっても客観的であってもよい。これらのオプションは、内部グリッドポイントに関する、上記の第３のデザインルールの例である。スクリーンショット１９００は、ユーザに、無彩色の軸がどのように印刷されるか、すなわち、黒い（Ｋ）トナーだけか、ＣＭＹＫの混合か、または大部分はＫを用いて、若干のＣＭＹＫ混合を加えて用いるかについて特定することを要求する。代わりに他の選択肢が提示されてもよい。ソフトウェアは、無彩色の軸（または他の領域）に対して、例えば黒い（Ｋ）トナーだけを用いるというような、特定の値をデフォルトで設定してもよい。無彩色の軸に関連したこの選択肢は、上記の第１のデザインルールの例である。スクリーンショット２０００は、ユーザに、面がどのように印刷されるか、すなわち、示される実施例において、極めて鮮明であるか（ｅｘｔｒｅｍｅｌｙ  ｖｉｖｉｄ）、力強いか（パンチがきいているか（ｐｕｎｃｈｙ））、または、写真のように写実的な（ｐｈｏｔｏ−ｒｅａｌｉｓｔｉｃ）であるか、について特定することを要求する。特性としてより主観的な選択肢については、ＧＵＩは、出力される色がどのように現れるか、例を示してもよい。この第３のスクリーンショットは、上述した第２のデザインルールがどのように入力されることができるかについて説明する。スクリーンショット１８００、１９００、および２０００は、ＮＡＸ色変換の対象に対するデザインルールに対応する入力を集める（受け付ける）。
【００８８】
図２１は、選択されたデザインルールに対応するマッピングがどのように混合されるかについて特定することを、ユーザに要求するスクリーンショット２１００を示す。混合は、内部ポイント（無彩色の軸上のポイントと面上のポイントと間のポイント）に適用される。ここに示した例では、ユーザは、次の２つの選択、１）グリッドポイントの入力されたＲＧＢ値の間の数としての「距離」に基づく混合、そして、２）入力されたグリッドポイント間の色値としての差／距離に基づく混合、を示される。ユーザの入力は、面上のポイント、無彩色の軸上のポイント、および内部のポイント（これらは混合されることになっている）に対する選択されたＲＧＢ−ＣＭＹＫマッピングを取得するためにプロセッサにより実行されるソフトウェアにより用いられる。
【００８９】
内部グリッドポイントに対するマッピングの混合は、各グリッドポイントのオリジナルのＣＭＹＫ出力値を（これらに対応するＲＧＢ入力値は、例えば、装置間における限界や色域の不一致に対して用意された複数のマッピングにおける各グリッドポイントに対して設定されているので）、指定されたグリッドポイント（すなわち、無彩色の軸や面上のポイントであり、これらはいずれも変化しないままである）におけるＣＭＹＫ出力値と、選択された距離の大きさに従って、混合することを含む（図２０参照）。各内部グリッドポイントは、同一ＮＡＸ平面の直線上に存在する、無彩色の軸および面上の点を有する。指定された無彩色の軸および面上のポイントがグリッドポイントにはない可能性があるので、混合に対して必要とされるＣＭＹＫ値は、近傍の無彩色の軸および面上のグリッドの位置から、補間（ｉｎｔｅｒｐｏｌａｔｉｏｎ）される。
【００９０】
図２２は、プロセッサ上で実行しているソフトウェアにおけるＮＡＸスライスの作成の進捗を示すために、ユーザに表示されるスクリーンショット２２００を例示する。この種のスクリーンは、比較的多くの計算を必要とする比較的遅いプロセッサ、または、比較的大きな３Ｄ  ＬＵＴの作成時において、有益であるかもしれない。
【００９１】
図２３は、完結した３Ｄ  ＬＵＴに基づいて、結果として生じる出力がどのように見えるかについて示すことを目的として、（カラーで）ユーザに表示されることができるスクリーンショット２３００を例示する。スクリーンショット２３００において表示される画像は、３Ｄ  ＬＵＴに含まれる色変換の「確認用画像（ｓｏｆｔ  ｐｒｏｏｆ）」としての役割を果たすことができる。スクリーンショット２３００の目標としては、３Ｄ  ＬＵＴ作成の完了後の象徴的な表示ほど、忠実な色に適合していなくてもよい。これは、装置（表示およびプリンタ）の違いに起因する。忠実度の合理的なレベルで示されることができる１つの特徴としては、円滑な変換（ｓｍｏｏｔｈ  ｔｒａｎｓｉｔｉｏｎｓ）があるといえる。
【００９２】
本願明細書において記載されている実施形態に対するさまざまな改変と変形態様が当業者にとって明らかであることを理解されたい。本願発明の内容の精神と範囲から逸脱することなく、そして、その意図された利点を損なうことなく、この種の改変と変形態様がなされることができる。従って、この種の改変および変形は、添付の請求の範囲によってカバーされることが意図されるものである。
【００９３】
色変換ルックアップテーブルを作成する方法であって、色変換の対象のスライスの概念的な表現を形成する工程であって、色変換の対象は、複数の色軸と、無彩色軸とを有する色座標系により定義され、各色軸は、個別の最小値から最大値までの範囲の値を含み、前記無彩色軸は、最小量の着色剤の色値から最大量の着色剤の色値までの範囲の値を含み、前記スライスは、前記色座標系における、前記無彩色軸に直交する共通平面内の複数の格子点により定義され、前記スライスは前記複数の色軸のうちの少なくとも１つが最小値または最大値となる前記色変換の対象の複数の面に沿って境界が規定されている、工程と、前記スライスと前記無彩色軸との交点に適用される第１のデザインルールのパラメータを含むユーザーのインプットを受け付ける工程と、前記色変換の対象の少なくとも１つの表面上の格子点に適用される第２のデザインルールのパラメータを含むユーザーのインプットを受け付ける工程と、前記交点と前記平面との間に位置する格子点に関する出力を第３のデザインルールに従って決定する工程と、前記ルックアップテーブルの一部に前記スライスに関する前記出力を保存する工程と、を含む。
【００９４】
上記の方法は、前記色変換の対象の複数の前記スライスについて、前記決定する工程と、前記保存する工程とを繰り返す工程をさらに含む。
【００９５】
上記の方法において、前記決定する工程および前記保存する工程は、前記色変換の対象の全てのスライスについて繰り返される。
【００９６】
上記の方法において、前記形成する工程は、出力装置に表示する工程を含む。
【００９７】
上記の方法において、前記出力装置は表示装置であり、前記概念的な表現は、前記表示装置に表示される前記スライスのグラフィックな表現である。
【００９８】
上記の方法は、前記表示装置に１つ以上のスライスを表示する工程をさらに含む。
【００９９】
上記の方法において、前記色変換の対象は、６面を有する色変換立方体であり、前記複数の面は、前記６面から選択され、前記無彩色軸は、前記色変換立方体の第１の頂点から、前記色変換立方体の対角線上の前記第１の頂点と反対側にある頂点に存在する第２の頂点まで延びており、前記複数の色軸と、前記無彩色軸は、それぞれ、前記第１の頂点に存在する、対応する最小値を有する。
【０１００】
上記の方法は、前記ルックアップテーブルを用いて、画像形成装置において画像を形成する工程を含む。
【０１０１】
上記の方法において、前記交点と、前記面との間に存在する格子点の出力値を前記決定する工程は、前記出力値が、前記スライスにわたってなだらかに混合するように第１のマッピングを変更する工程を含み、前記変換する工程は、前記第３のデザインルールに従う。
【０１０２】
３次元色変換ルックアップテーブルを作成する方法は、第１の装置と関連付けられた第１の色空間から第２の装置と関連付けられた第２の色空間に変換するための色変換立方体の無彩色軸の断面スライスの少なくとも一部を表示する工程であって、前記少なくとも１つの無彩色軸の断面スライスは、前記色変換立方体の無彩色軸との交点と、前記色変換立方体の複数の表面上の複数のグリッドポイントとの間に位置する複数の内部グリッドポイントを含む、同一平面上に位置する複数のグリッドポイントを有し、前記少なくとも１つの無彩色軸との断面スライスは、前記無彩色軸に対して直角である工程と、前記交点を前記色変換立方体の複数の表面のうちの１つの表面上の点と接続し、また、前記複数の内部グリッドポイントのうちの１つの内部グリッドポイントを通過する直線を特定する工程と、前記交点に対応する第１の出力値を決定する工程であって、前記第１の出力値は第１のデザインルールに基づいている工程と、前記色変換立方体の複数の表面のうちの１つの面上の前記ポイントに対応する第２の出力値を決定する工程であって、前記第２の出力は、第２のデザインルールに基づく工程と、前記内部グリッドポイントに対応する第３の出力値を決定する工程であって、前記第３の出力値は、第３のデザインルールに基づく工程と、前記第１、第２、および第３の出力値をルックアップテーブルに格納する工程と、を含む。
【０１０３】
上記の方法において、前記第３のデザインルールは、前記内部グリッドポイントと関連付けられた距離を算出する工程を含む補間を含む。
【０１０４】
上記の方法において、前記距離は、ソースカラーコード値で表される距離である。
【０１０５】
上記の方法において、前記距離は、（ａ）前記内部ポイントと、前記交点との間、および（ｂ）前記内部ポイントと前記表面上の前記グリッドポイントとの間の色値としての差である。
【０１０６】
上記の方法において、前記第１のデザインルールは、着色剤の量を特定する工程を含み、前記第２のデザインルールは、前記表面上のグリッドポイントの色の特徴を特定する工程を含む。
【０１０７】
上記の方法は、前記色変換立方体の少なくとも２枚の、無彩色軸に直交する断面スライスを部分的に表示する工程を更に含む。
【０１０８】
上記の方法は、前記交点を、前記色変換立方体の前記表面上の追加のポイントとつなぐ追加の直線を特定する工程であって、前記追加の直線は、追加の内部グリッドポイントを通る工程と、前記色変換立方体の表面上の前記追加のグリッドポイントに対応する追加の第２の出力を決定する工程と、前記追加の内部グリッドポイントに対応する追加の第３の出力値を決定する工程と、をさらに含む。
【０１０９】
上記の方法において、前記第２の装置は、プリンタを含み、前記ルックアップテーブル内に格納された前記出力値にアクセスし、前記第１の色空間から前記第２の色空間に変換する工程と、前記アクセスされた出力値を用いて印刷を行う工程と、を含む。
【０１１０】
上記の方法において、前記第３のデザインルールは、前記第１のデザインルールと前記第２のデザインルールとの間における混合を含み、前記混合は、補間により決定される。
【０１１１】
コンピュータは、プロセッサと、データ記憶装置と、前記データ記憶装置に格納されており、コンピュータによる実行時において、前記コンピュータに、上記のいずれかの方法の工程を実行させるプログラム命令とを備える。
【０１１２】
プログラムは、コンピュータによる実行時に、コンピュータに、請求項１から１８のいずれか１つに記載の方法の工程を実行させる。
【０１１３】
非一時的なコンピュータ読み取り可能な記録媒体は、作成される３Ｄルックアップテーブルのサイズを決定する工程と、前記３Ｄルックアップテーブルに対応する色変換の対象の少なくとも一部の表現を表示する工程と、前記ルックアップテーブルに適用されるデザインルールを特定するユーザからの入力を受け付ける工程と、前記受け付けたデザインルールを前記色変換の対象に適用し、前記色変換の対象のための出力値を決定する工程と、前記決定された値を格納する工程と、をプロセッサに実行させるための命令を含む。
【０１１４】
上記の非一時的なコンピュータ読み取り可能な記録媒体において、前記３Ｄルックアップテーブルは、ＮｘＮｘＮルックアップテーブルであり、前記色変換の対象は、３Ｎ―２の無彩色の軸のスライスを有し、前記表示される表現は、前記無彩色の軸のスライスの少なくとも１つのスライスの図である。
【０１１５】
上記の非一時的なコンピュータ読み取り可能な記録媒体において、前記デザインルールは、（１）前記色変換の対象の無彩色の軸の交点における、無彩色軸の各スライスに適用される第１のデザインルールと、（２）前記色変換の対象の表面の少なくとも１つのグリッドポイントに適用される第２のデザインルールと、（３）前記交点と、前記表面との間に位置する少なくとも１つの内部グリッドポイントに適用される第３のデザインルールと、のうちの少なくとも２つを含む。
【０１１６】
上記の非一時的なコンピュータ読み取り可能な記録媒体において、前記第３のデザインルールは、補間を行い、前記無彩色の軸と、前記表面との間のポイントについて、色変換の対象における混合された値を決定する工程を含み、前記命令は、補間がどのように実行されるかについてのユーザからの入力を受け付ける工程を更に含む。
【０１１７】
上記の非一時的なコンピュータ読み取り可能な記録媒体において、前記補間は距離に基づくものである。
【０１１８】
上記の非一時的なコンピュータ読み取り可能な記録媒体において、前記距離は、色値としての距離と、ソースカラーコード値としての距離とからなるグループより選択される。
【０１１９】
上記の非一時的なコンピュータ読み取り可能な記録媒体において、前記プロセッサに、前記出力値を決定するために受け付けた前記デザインルールを、前記色変換の対象に適用させる工程は、前記プロセッサに、少なくとも一つの所定の色マッピングにアクセスさせる工程を含む。
【０１２０】
３Ｄルックアップテーブルを作成するシステムは、プロセッサと、データ記憶装置と、前記プロセッサによる実行時に、前記プロセッサに、作成される３Ｄルックアップテーブルのサイズを決定する工程と、前記３Ｄルックアップテーブルに対応する色変換対象の少なくとも一部の表現を表示する工程と、前記ルックアップテーブルに適用されるデザインルールを特定するユーザからの入力を受け付ける工程と、前記受け付けたデザインルールを前記色変換の対象に適用し、前記色変換の対象に対する出力値を決定する工程と、前記決定された値を格納する工程と、を実行させるプログラム命令と、を含む。
【産業上の利用可能性】
【０１２１】
本発明は、実行時に用いられるルックアップテーブルの作成に適用できる。
【符号の説明】
【０１２２】
１００  画像形成装置
１０２  プリントコントローラ
１０４  色変換ユニット
１０６  第１の色域
１０８  第２の色域
２００  ラスタ処理ユニット
２０２  色変換モジュール
２０４  入力色値
２０６  ＣＭＹＫ色値
２０８  ３Ｄ  ＬＵＴ
３００、４００、５００、１２００  ３Ｄ  ＬＵＴ  色変換立方体
１４００  システム
１４０２  出力装置
１４０４  入力装置
４０６  グラフィカルユーザーインターフェイス
１５００、１６００、１７００、１８００、１９００、２０００、２１００、２２００、２３００  スクリーンショット
【図１】
2014075795.tif 000003
【図２】
2014075795.tif 000004
【図３】
2014075795.tif 000005
【図４】
2014075795.tif 000006
【図５】
2014075795.tif 000007
【図６】
2014075795.tif 000008
【図７Ａ】
2014075795.tif 000009
【図７Ｂ】
2014075795.tif 000010
【図８】
2014075795.tif 000011
【図９】
2014075795.tif 000012
【図１０】
2014075795.tif 000013
【図１１ａ】
2014075795.tif 000014
【図１１ｂ】
2014075795.tif 000015
【図１１ｃ】
2014075795.tif 000016
【図１１ｄ】
2014075795.tif 000017
【図１１ｅ】
2014075795.tif 000018
【図１１ｆ】
2014075795.tif 000019
【図１１ｇ】
2014075795.tif 000020
【図１１ｈ】
2014075795.tif 000021
【図１１ｉ】
2014075795.tif 000022
【図１１ｊ】
2014075795.tif 000023
【図１１ｋ】
2014075795.tif 000024
【図１１ｌ】
2014075795.tif 000025
【図１１ｍ】
2014075795.tif 000026
【図１１ｎ】
2014075795.tif 000027
【図１１ｏ】
2014075795.tif 000028
【図１１ｐ】
2014075795.tif 000029
【図１１ｑ】
2014075795.tif 000030
【図１１ｒ】
2014075795.tif 000031
【図１１ｓ】
2014075795.tif 000032
【図１１ｔ】
2014075795.tif 000033
【図１１ｕ】
2014075795.tif 000034
【図１１ｖ】
2014075795.tif 000035
【図１１ｗ】
2014075795.tif 000036
【図１１ｘ】
2014075795.tif 000037
【図１１ｙ】
2014075795.tif 000038
【図１２】
2014075795.tif 000039
【図１３】
2014075795.tif 000040
【図１４】
2014075795.tif 000041
【図１５】
2014075795.tif 000042
【図１６】
2014075795.tif 000043
【図１７】
2014075795.tif 000044
【図１８】
2014075795.tif 000045
【図１９】
2014075795.tif 000046
【図２０】
2014075795.tif 000047
【図２１】
2014075795.tif 000048
【図２２】
2014075795.tif 000049
【図２３】
2014075795.tif 000050
【外国語明細書】
Title:            Method, Computing Device, Program, Computer Readable Medium, and System
FIELD OF THE INVENTION
[0001]      The present invention relates to creating a color-conversion look-up table.
BACKGROUND
[0002]      It can be a challenge to accurately reproduce colors from a first device, such as a computer monitor, to colors on a second device, such as an image forming device (e.g. color printer).  Monitors typically display colors using red, green, and blue (RGB) pixels, while most modern color printers typically display using cyan, magenta, yellow, and black (CMYK) inks or toners.  The reproduced color quality may be evaluated based on how true the reproduced colors on the printed page are to the source color on a monitor.  In other cases, the color quality may be evaluated based on preferences of the user, such as preferences toward particular skin tones, for example.  The mismatched color gamuts between monitors and color printers require color conversions that account for behavior at the gamut boundaries (i.e. minimum and maximum color outputs), among other things.
[0003]      To perform such color conversion, the second device (or an intermediate device, such as a computer running software) can be configured to map colors from RGB to CMYK.  First, source colors for a print job are represented as RGB values, such as 8 bits for each color, corresponding to 24 total bits.  In the case of a color printer, a print controller may then perform color conversion to map the RGB values to CMYK values to reproduce the colors on a printed page.  The relationships between the two color spaces may be defined as follows:
Equation 1:  (C, M, Y, K) = f (R, G, B)
Equation 2:  C = fC (R, G, B)
Equation 3:  M = fM (R, G, B)
Equation 4:  Y = fY (R, G, B)
Equation 5:  K = fK (R, G, B)
[0004]      The functions listed in equations 1-5 above do not have simple global definitions and are instead defined as point-to-point mappings.  While the print controller (or other device) could theoretically perform such color conversion computationally for each pixel, the large number of calculations involved makes this an unattractive solution because it would likely slow the printing process.  Instead, typical color conversions use one or more Look-Up Tables (LUTs) having previously calculated or empirically determined values stored therein.  So, instead of calculating CMYK values from RGB values, the color conversion involves using the RGB values as an index to access corresponding CMYK values in the one or more LUTs.  The printer then uses the determined CMYK values to “mark” the page, such as by depositing corresponding amounts of ink or toner.  
[0005]      For example, human skin and green grass may have RGB values of (228, 174, 160) and (95, 200, 12), respectively, according to a particular color space.  Using one or more suitable look-up tables, the color conversion could output the mapped respective CMYK values (0, 84, 71, 23) and (140, 0, 247, 0) in a second color space, to be used in printing.
[0006]      The size and configuration of the LUTs can influence printing speed, printing quality (e.g. accuracy of color reproduction and transitions), and cost (e.g. memory size and type).  Of primary interest to the color designer is to create color-conversion LUTs that result in design goals (such as colorimetric matches or preferential coloring) to be achieved.  
[0007]      Thus, an improved method for creating a LUT that provides accurate color conversion and transitions, without sacrificing printing speed or cost, is desired.
CITATION LIST
PATENT LITERATURE 
[0008]      
US2007/0229862
SUMMARY
TECHNICAL PROBLEM
[0009]      The present invention may provide method for creating a run-time color-conversion look-up table.
SOLUTION TO PROBLEM
[0010]      Various embodiments set forth herein assist in designing a run-time color LUT.  The methods described below are preferably implemented on a computer running software, in order to create a LUT to be used for a particular device, such as an image forming device.  Other implementations are possible as well.
[0011]      In accordance with a first embodiment, a method for creating a run-time color-conversion look-up table is provided.  A conceptual representation of a slice of a color conversion object is presented to a user on a computer output device.  The color conversion object is defined by a color coordinate system having a neutral axis and a plurality of color axes.   Each color axis includes values ranging from a respective minimum value to a respective maximum value, while the neutral axis includes values ranging from a minimum colorant amount (i.e. white) to a maximum colorant amount (i.e. black).  The slice is defined by a plurality of grid points on the color coordinate system that are in a common plane orthogonal to the neutral axis.  In addition, the slice is bound along a plurality of faces of the color conversion object for which at least one of the plurality of color axes is at a minimum or maximum value.  In a preferred embodiment, the color conversion object is a cube defined by three color axes, with the diagonal neutral axis spanning from an origin of the color axes (located at one vertex of the cube) to the vertex of the cube opposite that origin.
[0012]      The method according to the first embodiment further includes (a) receiving a user input that includes a parameter for a first design rule to be applied to an intersection of the slice with the neutral axis and (b) receiving a user input that includes a parameter for a second design rule to be applied to outputs at grid points located on at least one of the faces of the color conversion object.  The method also includes determining outputs for grid points located between the intersection and the faces by calculating a transition between the first design rule and the second design rule.  This transition may, for example, be calculated based on a third design rule, such as distance of a particular interior grid point to the intersection and/or the face(s).  The outputs for the slice are stored in a portion of the look-up table.
[0013]      According to another embodiment, a method for creating a three-dimensional color-conversion look-up table includes displaying at least a portion of a neutral-axis cross-sectional slice of a color-conversion cube for converting between a first color space associated with a first device to a second color space associated with a second device.  The at least one neutral-axis cross-sectional slice may include, for example, a plurality of co-planar grid points located thereon, including a plurality of interior grid points located between (1) an intersection of the slice with the neutral axis of the color-conversion cube and (2) a plurality of grid points on a plurality of faces of the color conversion cube (i.e. on the edge of the slice).  In addition, the at least one neutral-axis cross-sectional slice is orthogonal to the neutral axis.
[0014]      The method according to the second embodiment includes identifying a straight line connecting the intersection with a point on one of the faces of the color-conversion cube, where the straight line also passes through an interior grid point.  A first output corresponding to the intersection and a second output corresponding to the point on one of the faces of the color conversion cube are both determined.  The first output is based on a first design rule, while the second output is based on a second design rule.  A third output corresponding to the interior grid point is also derived, where the third output is based on a third design rule.  The third design rule may, for example, be a blend between the first design rule and the second design rule.   The blend is determined by calculating a distance, for example.  The first, second, and third outputs are stored in the look-up table.
[0015]      Additional embodiment may include a computing device including a processor, data storage, and, program instructions, stored in the data storage, that, upon execution by a computing device, cause the computing device to perform operations in accordance with at least one of the example embodiments above. 
[0016]      Further embodiments may include a program that, upon execution by a computing device, causes the computing device to perform operations in accordance with at least one of the example embodiments above.
[0017]      Yet further embodiment may include a non-transient computer readable medium comprising instructions for causing a processor to perform the following, determining a size of a 3D look-up table to be created, displaying a representation of at least a portion of a color-conversion object corresponding to the 3D look-up table, receiving inputs from a user specifying design rules to be applied to the look-up table, applying the received design rules to the color-conversion object to determine output values for the color-conversion object, and storing the determined values.
[0018]      A system or a tool for creating a 3D look-up table according to further embodiment includes a processor, data storage, and program instructions. The program instructions may, upon execution by the processor, cause the processor to perform (i) determining a size of a 3D look-up table to be created, (ii) displaying a representation of at least a portion of a color-conversion object corresponding to the 3D look-up table, (iii) receiving inputs from a user specifying design rules to be applied to the look-up table, (iv) applying the received design rules to the color-conversion object to determine output values for the color-conversion object, and (v) storing the determined values in the data storage. 
[0019]      These as well as other aspects and advantages will become apparent to those of ordinary skill in the art by reading the following detailed description with reference where appropriate to the accompanying drawings.
ADVANTAGEOUS EFFECTS
[0020]      According to the present invention, method for creating a run-time color-conversion look-up table may be provided.
BRIEF DESCRIPTION OF THE DRAWINGS
[0021]      Fig. 1 is a simplified functional block diagram illustrating color conversion in an image forming device.
[0022]      Fig. 2 is a simplified functional block diagram illustrating color conversion functions in a print controller of an image forming device.
[0023]      Fig. 3 is a simplified block diagram illustrating a 3D LUT color conversion cube LUT with 3D interpolation, in accordance with various embodiments described herein.
[0024]      Fig. 4 is a simplified block diagram illustrating additional components of a 3D LUT color conversion cube LUT, in accordance with various embodiments described herein.
[0025]      Fig. 5 is a conceptual block diagram illustrating a 3D LUT color conversion cube, from which neutral-axis cross-section (NAX) slices are derived. 
[0026]      Fig. 6 is a simplified conceptual block diagram illustrating a NAX slice, in accordance with one embodiment.   
[0027]      Fig. 7A is a simplified conceptual block diagram illustrating a NAX slice, in (slice 7) accordance with one embodiment.
[0028]      Fig. 7B is a simplified conceptual block diagram illustrating another NAX slice (slice 6), in accordance with one embodiment.
[0029]      Fig. 8 is a simplified conceptual block diagram illustrating another NAX slice, for which an example design application is described.
[0030]      Fig. 9 is a flow diagram illustrating a method for creating a run-time color-conversion  LUT in accordance with one embodiment.
[0031]      Fig. 10 is a flow diagram illustrating a method for creating a three-dimensional color-conversion LUT, in accordance with one embodiment.
[0032]      Figs. 11a-y are simplified conceptual block diagrams illustrating all 25 NAX slices in a 9x9x9 conversion cube, in accordance with one embodiment.
[0033]      Fig. 12 is a simplified conceptual block diagram illustrating the correlation, on a NAX slice, between the neutral axis, faces, and the neutral-axis intersection in accordance with one embodiment. 
[0034]      Fig. 13 is a flow diagram illustrating a method for creating a 3D LUT using a design tool, in accordance with one embodiment.
[0035]      Fig. 14 is a simplified block diagram illustrating a system or a tool for creating a 3D LUT, in accordance with one embodiment.
[0036]      Figs. 15-23 are example screenshots for the design tool shown in Fig. 14.
Detailed Description
[0037]      Embodiments of the present invention assist in creating a run-time LUT for color conversion.  Figs. 1-4 illustrate a typical print controller arrangement and 3D LUT configuration for use in performing color conversion for a color printer.  Figs. 3-13 set forth, in detail, embodiments for utilizing a neutral-axis cross-section (NAX) technique to create one or more run-time color-conversion 3D LUTs based on desired design goals.
[0038]      Fig. 1 is a simplified functional block diagram illustrating color conversion in an image forming device 100, such as a color printer.  The image forming device 100 includes a print controller 102 with an RGB-to-CMYK converting unit 104 to execute a color conversion process.  The color conversion process may, for example, convert from a first color gamut 106 associated with a first device, such as a computer monitor, to a second color gamut 108 associated with a second device, such as the image forming device.  Specifically, RGB-to-CMYK converting unit 104 references one or more color conversion LUTs (see, e.g., Fig. 2) in which the relationship between the RGB values and the CMYK values is expressed at regular or irregular intervals as a grid to convert an image composed of RGB components into an image (color-converted image) composed of CMYK components.
[0039]      In this example, the first color gamut 106 is specified by combinations of red (R) 112, green (G) 114, and blue (B) 116, while the second color gamut is specified by combinations of Cyan (C) 118, Magenta (M) 120, and Yellow (Y) 122.  A black (K) colorant 124 may also be included, to assist in reproducing certain blacks and/or to reduce color toner or ink usage, for example.  The first and second color gamuts 106 and 108 are typically device-dependent (e.g. the second color gamut depends on factors such as ink or toner characteristics, paper-type, etc.).  Therefore, transformation to and from a device-independent color space, such as the CIELAB space may be performed as an intermediate step.  This intermediate transformation and reverse transformation is understood to be included in certain embodiments described herein, as appropriate.
[0040]      In order to provide a single LUT that includes every possible input for a three-component RGB gamut 106 where each R, G, and B input has 8 bits, a 3D LUT having a size 256x256x256 (16,777,216 grid points) would be required.  A four-component CMYK output system would require four such 3D LUTs (i.e. one for each of C, M, Y, and K).  This size LUT is currently impractical for typical efficient and cost-effective print controllers.
[0041]      Instead, in order to maintain efficient, cost-effective operation, a 3D LUT having “sparse” grid points may be utilized.  For example, instead of a 256x256x256 LUT, a 17x17x17 LUT may be used to find the output.  Instead of almost 17 million grid points for a 256x256x256 LUT, the 17x17x17 LUT has under 5,000 grid points.  Each grid point in the 3D LUT corresponds to an RGB index (R, G, and B) that contains a CMYK output corresponding to the RGB inputs.   If a particular input (R, G, B) is not on one of the sparse grid points, the print controller (or other module) uses 3D interpolation to find the output (C, M, Y, K).  Such interpolation may include tetrahedral interpolation, for example.
[0042]      Fig. 2 is a simplified functional block diagram illustrating the print controller 102 shown in Fig. 1.  The print controller 102 is preferably comprised of hardware (e.g. an Application-Specific Integrated Circuit (ASIC)) including a Raster Processing Unit (RPU) 200 that converts color from certain color input sources to CMYK.  The RPU 200 includes a Color Conversion (CCONV) module 202 to implement color conversion using one or more 3D LUTs 208.  The 3D LUTs are preferably stored in a non-volatile data storage, such as in a Read-Only Memory (ROM), for example.  The CCONV module 202 converts input colors 204 (e.g. unified by firmware) to CMYK colors 206 for use in printing.  
[0043]      Fig. 3 is a simplified block diagram illustrating a 3D LUT color conversion cube 300, in accordance with various embodiments described herein.  The color conversion cube 300 includes a color coordinate system comprising a red axis 302, a green axis 304, and a blue axis 306, each originating at a common vertex of the cube 300 and spanning toward additional respective R, G, and B vertices.  This coordinate system 308 allows a three-component (R, G, B) input to be tied to a grid point 312 inside the 3D LUT.  This grid point 312 contains the corresponding CMYK output.  If a particular three-component (R, G, B) input is not located on a grid point, then interpolation may be used to determine the output.  Suitable interpolation methods are based on the Euclidean distance from the particular input to the nearest grid points.  As illustrated, the interpolation uses an interpolation subcube 310 framed by eight nearest grid points.  Inputs located within this interpolation subcube 310 may have output values related to these eight grid points (and possibly other neighboring grid points), according to one embodiment.  Trilinear interpolation uses the outputs of all eight nearest grid points to compute the output, while tetrahedral interpolation selectively uses four grid points.
[0044]      Fig. 4 is a simplified block diagram illustrating additional components of a 3D LUT color conversion cube 400, in accordance with various embodiments described herein.  The cube 400 utilizes the same R, G, B coordinate system as the cube 300, but the illustration of cube 400 also shows a “full black” vertex 402 and a “full white” vertex 404, corresponding respectively to white (no colorant) and black (full colorant).  A neutral axis 406 spans the diagonal between the full black vertex 402 and the full white vertex 404.  The neutral axis 406 represents a continuous gray gradient ranging from black (dark gray near the full black vertex 402) all the way to white (light gray near the full white vertex 404).  The neutral axis 406 may also be referred to as the neutral gray axis.
[0045]      Also shown in Fig. 4 are vertices corresponding to Cyan (C) 410, Magenta (M) 412, and Yellow (Y) 414.  The edges separating the RGB faces from the CMY faces (as bounded by their respective vertices and edges) are shown in double-lined form in Fig. 4.  The cube 400, like cube 300, is a conceptual model of a 3D LUT, in which an RGB input grid point 408 corresponds to a CMYK output.  Note that the RGB and CMY axes may be scaled differently, depending on what values are used to represent minimums and maximums in the corresponding color gamuts.  In addition, while the cube 400 may be useful for conceptualizing a 3D LUT, the physical implementation of a 3D LUT might not be stored as such in actuality.  Instead, the 3D LUT will likely be implemented as a mapped array (sequential or otherwise) of memory locations corresponding to each of the grid points represented in the cube 400.  In the case of a CMYK output, there would typically be four memory locations (of appropriate bit-length) corresponding to each grid point.  Each of the four memory locations corresponds respectively to a C, M, Y, or K output value.
[0046]      For ideal color mappings, the CMYK outputs would be exact colorimetric matches to inputs.  In other words, the color mapping would be a fundamental color reproduction, verifiable using a commercially available spectrophotometric and colorimetric instrument.  As a more advanced goal, color mappings to exact color appearance (as perceived by the human eye), may be attempted.
[0047]      However, due to mismatches in the color gamuts between input and output devices, ideal mappings are typically not possible for all colors.  Therefore, designers of color conversion LUTs instead settle for graceful manipulation of mappings between input and output colors.  In addition, the designers should ensure that the run-time color-conversion LUT used by the Raster Image Processing (RIP) unit properly captures all the manipulated color mappings while also preserving smooth transitions.  
[0048]      Thus, aside from generally mapping a significant number of 3D grid points (e.g. colorimetric match), a designer of a color LUT will typically have three goals:  (1) implementing special properties in the printer CMYK values for colors on the input gamut boundary, i.e. the six faces bounding the 3D LUT (color conversion cube) 400; (2) specifying an exact composition of the printer CMYK values, corresponding to the amount of K colorant used, for colors on the input neutral axis; and (3) determining outputs of interior grid points between the input gamut boundary and the input neutral axis.  These three goals are examples of design rule bases that may be utilized in accordance with embodiments of the present invention.
[0049]      Figs. 5-8 and 11-23 illustrate a design environment that may be used to create run-time 3D LUTs in accordance with embodiments of the present invention.  The neutral-axis cross-section technique addresses practical design goals (such as the goals listed in the preceding paragraph) in a convenient environment to allow the designer (and/or a device or system) to unambiguously determine the nature of the color mapping of each grid point in a 3D LUT color conversion cube, such as the color conversion cube 400, for example. 
[0050]      Fig. 5 is a conceptual block diagram illustrating a 3D LUT color conversion cube 500, from which neutral-axis cross-sections 508 are derived.  The cube 500, like cube 400, includes a neutral axis 502 spanning from a first vertex (e.g. a full black vertex) to a second opposite vertex (e.g. a full white vertex).  Along this neutral axis 502, a plurality of slices (e.g. slices 504 and 506) can be defined as being a plurality of planar sections that are orthogonal to the neutral axis 502.  Each planar section (slice) is bound by three or six faces of the cube, depending on the position of the slice along the neutral axis 502.  Slices nearer the full black and full white vertices of the cube 500 are triangular (see triangular slices 506 and 512), while those near the midpoint of the neutral axis 502 are hexagonal (see hexagonal slice 510), due to the increased number of faces that will serve as slice edges near the middle portion of the neutral axis.  These NA (Neutral Axis) cross-sectional slices each intersect the neutral axis 502 at their respective geometric centers.
[0051]      The NAX slices 508 provide advantages to a designer of run-time 3D LUTs, as will be outlined below.  These advantages are at least partially due to the geometric symmetries afforded by the NAX slices.  For example, as shown in Figs. 5 and 6, for a finite-sized 3D LUT color conversion cube (such as cube 500), each NAX slice (in this example, triangular slice 506) has an intersection 600 with the neutral axis 502 (although not always on a grid point, due to the relative differences in length between the color axes (cube edges) and the neutral axis (cube diagonal)).  These intersections 600 with the neutral axis 502 can all be connected with straight lines 602 to respective grid points 604 on the faces 514 of the color conversion cube 500.  In addition, the interior grid points 606 of the cube 500 (i.e. those between the neutral axis 502 and the cube’s faces 516) are all on respective straight lines (in a NAX plane) that can be drawn to connect the neutral-axis intersection 600 with a corresponding well-defined point 604 (not necessarily a grid point) on the face of the 3D LUT color conversion cube 500.  In the example shown in Fig. 6, the neutral-axis intersection 600 is connected via straight line 602 through an interior grid point 606 to a point 604 on the face 516.
[0052]      Fig. 7A is a simplified conceptual block diagram illustrating a NAX slice 700, in accordance with one embodiment.  The NAX slice 700 is similar to the NAX slice 506, except additional face grid points and interior grid points are illustrated, to help demonstrate the NAX LUT-creation method.  In Fig. 7A, the neutral-axis intersection 702 is shown as a hollow circle at the center of the slice 700, a plurality of grid points on the color-cube faces are shown as filled circles (see, e.g., grid point 704), and a plurality of interior grid points are shown as circles having cross-hatching (see, e.g., grid point 706).  The NAX slice 700 corresponds to slice 7 shown in Fig. 11g.
[0053]      Similarly, Fig. 7B is a simplified conceptual block diagram illustrating another NAX slice 750.  The NAX slice 750 is similar to the NAX slice 700, except that the neutral axis does not intersect the NAX slice 750 at a grid point.  Instead, the neutral axis intersects the NAX slice 750 at a well-defined point 752 on the NAX plane that is not a grid point.  In the example shown, the neutral axis intersects the NAX slice 750 at (R, G, B) = (1.67, 1.67, 1.67).  As shown the grid points of the NAX slice 750 range from (R, G, B) = (0, 0, 5) at a first vertex to (R, G, B) = (5, 0, 0) at a second vertex to (R, G, B) = (0, 5, 0) at a third vertex.  Also as shown, straight lines 754, 756, and 758 that connect the neutral-axis intersection with interior grid points intersect the faces of the NAX slice 750 at well-defined points.  In the example shown, these well-defined points are at (2.5, 0, 2.5), (2.5, 2.5, 0), and (0, 2.5, 2.5).  The NAX slice 750 corresponds to slice 6 shown in Fig. 11f.
[0054]      With reference again to Fig. 7A, a designer or device using the NAX slice 700 (and other parallel NAX slices along the neutral axis) to create a run-time 3D LUT for color mapping may first set up the source-to-destination color mapping for the neutral axis grid points (e.g. intersection 702) and the face grid points (e.g. 704) or other well-defined point.  In accordance with one or more design goals, this may entail (1) using only K colorants for output on the neutral axis grid points (e.g. to save color ink or toner and/or to provide a better colorimetric match) and (2) trading color accuracy for vivid printer CMYK output (i.e. mapping according to a subjective preference (preferred colors) versus exact colorimetric matching).  As further examples, for photographic images, a design goal may include ensuring that the neutral axis grid points are always a blend of CMYK (rather than only K colorants).  Similarly, a design goal may include varying the gamut mapping on the face grid points between colorimetric matches and preferences, depending on the particular user application.  Other design goals may additionally or alternatively be implemented using the NAX slice 700, such as design goals that pertain to interior points (between the neutral axis grid points and the face grid points).  Design goals pertaining to the interior grid points may include varying treatment depending on the distance of the interior grid points to the neutral axis and/or face grid points, for example.  These design goals are examples of bases for design rules that may be applied to certain grid points, per the discussion above, in accordance with various embodiments.
[0055]            Once at least first and second design rules have been applied to map the neutral axis intersection (e.g. grid point 702 or other well-defined point) and the face points (e.g. grid point 704), the color mapping of each interior grid point can proceed by reference to the straight connecting line between the neutral axis intersection and the face points.  The transition from the nature of the neutral-axis color mapping to that of the face color mapping is preferably seamless across a NAX slice, and may, for example, be conducted according to a third design rule.  For example, interior grid points nearest the neutral-axis intersection may more closely resemble the colorant-only colorimetric mapping (more significant K influence) of the neutral-axis intersection.  Conversely, interior grid points nearest the cube faces (slice boundaries) may more closely resemble the “snap-to-printer-primaries” approach used for the face points.  With the same third design rule applied across NAX slices to the neutral axis, cube faces, and interior point transitions (i.e. inter-slice, rather than intra-slice), the slice-to-slice output colors will also exhibit smooth variations.
[0056]            Fig. 8 is a simplified conceptual block diagram illustrating another NAX slice 800, for which an example design application will be described.  The NAX slice 800 includes a neutral-axis intersection 802, grid points on the color-cube faces (e.g. grid point 804), and interior grid points (e.g. grid point 806).  As illustrated, a first region (shown bounded by dashed line 808) consists of a selection of interior points relatively closer to the neutral-axis intersection 802.  For the design rules set forth above with reference to Fig. 7A, the interior grid points in the first region generally follow (perhaps to varying extent) the colorimetric reproduction that favors the K colorant, according to the first design rule. Recall that the neutral-axis intersection 802 preferably has a colorimetric reproduction using only K colorant.  Conversely, the grid points on the face (i.e. those points between solid lines 810 and 812) are subjectively mapped to saturated printer device colors, per the second design rule described above with reference to Fig. 7A.   Finally, the interior grid points in a second region between the dashed line 808 and the solid line 810 are subjected to a smooth transition (e.g. a blend), preferably in accordance with a third design rule.  Note that the lines 808, 810, and 812 are for illustrative purposes only and show one arbitrary possibility for applying the design rules to the grid points.  Other groupings and design rule applications may alternatively be used.
[0057]      The transition specified by the third design rule may, for example, be a blend between the design rules for the grid points on the color-cube face and for the grid points near the neutral-axis intersection and may be made according to a number of different options.  A first option is to gauge an interior grid point’s “distance” along the connecting straight line from the neutral-axis intersection and/or from the grid point on the face.  The distance is according to the designer’s particular goals, and may be, for example, a distance in source color code values.  This is likely to be the most direct gauge of a transition.  An alternative distance that could be used is the colorimetric difference in terms of the source color code values between (1) the particular interior point and the neutral-axis intersection, and (2) the particular interior point and the grid point on the face.  Other alternatives may also be used to assist in color mapping for the interior grid points. 
[0058]      Utilizing various embodiments of the design environment described above to create run-time 3D LUTs allows practical design goals to be addressed.  Figs. 9 and 10 set forth methods for creating run-time color-conversion look-up tables using such an environment.
[0059]      Fig. 9 is a flow diagram illustrating a method 900 for creating a run-time color-conversion LUT, in accordance with one embodiment.
[0060]      In block 902, a conceptual representation of a neutral-axis slice of a color conversion object, such as a 3D LUT color conversion cube, is presented to a user.  For example, a graphical representation of a slice, such as the slice 800 shown in Fig. 8, could be displayed on computer monitor or other output device to allow a user to interact with the slice using a mouse and/or other input device.  The color conversion object is defined by a color coordinate system having a plurality of color axes, such as R, G, and B axes.  In addition, the color conversion object also includes a neutral axis (e.g. a K colorant axis).  Each color axis preferably includes values ranging from a respective minimum value to a respective maximum value, while the neutral axis includes values ranging from a minimum colorant amount to a maximum colorant amount.  The slice is defined by a plurality of grid points on the color coordinate system that are in a common plane orthogonal the neutral axis.  In addition, the slice is bound along a plurality of faces of the color conversion object for which at least one of the plurality of color axes (i.e. inputs) is at a minimum or maximum value.
[0061]      In block 904, a user input is received that includes a parameter for a first design rule.  The first design rule, for example, may be applied to any grid point at an intersection of the slice with the neutral axis.
[0062]      In block 906, a user input is received that includes a parameter for a second design rule.  The second design rule, for example, may be applied to outputs at grid points located on at least one of the faces of the color conversion object.  
[0063]      In block 908, outputs for interior grid points located between the intersection and the faces are determined, preferably in accordance with a third design rule.  This may include, for example, calculating a transition (or blend) between the first design rule and the second design rule, such as by using the distance concept, as discussed above with reference to Fig. 8.  The third design rule may alternatively include some other technique for transitioning between grid points at the neutral axis intersection and grid points at the face.  This third design rule may be received as a user input (e.g. through a user selection or specification) or may be an internally programmed design rule, for example.
[0064]      In block 910, the outputs for the slice are stored in a portion of the look-up table.  Conventional memory-write techniques may be used, for example.
[0065]      The method 900 is preferably performed for all grid points in the slice, and for all slices in the color conversion object.
[0066]      The blocks 902-910 may be performed in a different order from that illustrated in Fig. 9.  In addition, in some embodiments, one or more of the blocks 902-910 may be omitted to further facilitate automated 3D LUT design.  Additional blocks may also be introduced.
[0067]      Fig. 10 is a flow diagram illustrating a method 1000 for creating a three-dimensional color-conversion LUT, in accordance with another embodiment.
[0068]      In block 1002, at least a portion of a NAX slice of a color-conversion cube is displayed.  The color conversion cube (e.g. cube 400) provides a conceptual model for converting from a first color space associated with a first device, such as a monitor, to a second color space associated with a second device, such as a printer.  The at least one NAX slice has a plurality of co-planar grid points located thereon (see, e.g., Fig. 8), including a plurality of interior grid points (e.g. grid point 806) located between an intersection with a neutral axis of the color-conversion cube and a plurality of points on the faces of the color conversion cube (i.e. on the edges of the NAX slice).  In addition, the at least one NAX slice is orthogonal to the neutral axis.
[0069]      In block 1004, a straight line connecting the intersection with a grid point on one of the faces of the color conversion cube is identified.  The straight line also passes through an interior grid point in this embodiment, due to the regular geometry of the slice.  
[0070]      In block 1006, a first output corresponding to the intersection is determined, based on a first design rule.
[0071]      In block 1008, a second output corresponding to the grid point on the one of the faces of the color conversion cube is determined, based on a second design rule.
[0072]      In block 1010, a third output corresponding to the interior grid point is determined.  The third output may be based on a third design rule.  One example of the third design rule is a blend between the first design rule and the second design rule.   For example, the third design rule may include calculating a distance, as was described with reference to Fig. 8.
[0073]      In block 1012, the first, second, and third outputs are stored in the look-up table.
[0074]      The method 1000 is preferably performed for all grid points in the slice, and for all slices in the color-conversion cube.
[0075]      The blocks 1002-1012 may be performed in a different order from that illustrated in Fig. 10.  In addition, in some embodiments, one or more of the blocks 1002-1012 may be omitted to further facilitate automated 3D LUT design.  Additional blocks may also be introduced.
[0076]      Figs. 11a-y are simplified conceptual block diagrams illustrating all 25 NAX slices created by a 9x9x9 unit 3D LUT color conversion cube, in accordance with one embodiment. Each NAX slice (see, e.g., 1100) is functionally similar to NAX slice 700 and NAX slice 506, except Figs. 11a-y illustrate every slice that would be created.
[0077]      As illustrated in Fig. 11a, a first slice 1100 includes a point 1102 that would be located on either end of the neutral axis line, thus located at either the relative maximum or minimum K colorant application. The single point 1102 would be located at the intersection of the neutral axis and the corner of a color conversion cube (see, e.g., color conversion cube 500).  Conversely, Fig. 11y, which is the twenty-fifth slice 11102, is located at the intersection of the neutral axis and the corner of the color conversion cube opposite the first slice 1100.  Slice 11102 would be the opposite amount of colorant used in slice 1100.  For example, if slice 1100 is a first amount of colorant (e.g. the respective maximum amount of K colorant (e.g. a “full black” vertex 402)), then slice 11102 would be a second amount of colorant (e.g. the respective minimum amount of K colorant (e.g. a “full white” vertex 404)).
[0078]      Fig. 11b is a conceptual block diagram of NAX slice 1104 showing the second slice that would be created according to the present example.  Each of the three points 1106 on the NAX slice 1104 is a grid point located on a color cube face.  Similarly, Fig. 11c shows the third slice 1108 created with a plurality (six) of grid points 1110 located on the faces of the color conversion cube. 
[0079]      Fig. 11d illustrates the fourth NAX slice 1112 with a plurality (nine) of points 1114 along the edges of the color conversion cube and intersecting the neutral axis at point 1116. Figure 11e illustrates the fifth slice 1118 with a plurality (twelve) of points 1122 along three faces of the color conversion cube, and three interior grid points 1120. Fig. 11f illustrates the sixth slice 1124 with a plurality (15) of points 1128 on the faces of the color conversion cube with six interior grid points 1126. Fig. 11g depicts the seventh slice 1130, which intersects the neutral axis at grid point 1134, consisting of nine interior points 1132 and a plurality (18) of exterior points 1136. Fig. 11h shows the eighth slice created with a plurality (21) of points 1142 on the faces of the color conversion cube and a plurality (15) of interior points 1140. Fig. 11i illustrates the ninth slice 1144 that would be created with the plurality (24) of points 1146 on the faces of the color conversion cube and a plurality (21) of interior points 1148. 
[0080]      Fig. 11j illustrates the tenth slice 1150 orthogonal to the neutral axis, which is an irregular hexagon in the illustrated example. Slice 1150 approaches the mid-section of the neutral axis, resulting in the change from a triangular slice to a hexagonal slice.  Slice 1150 has a plurality (27) of points 1154 on the faces of the cube and a plurality (35) of points 1152 on the interior of the plane. Grid point 1156 is the intersection of slice 1150 with the neutral axis. 
[0081]      Fig. 11k is an illustration of the eleventh slice 1158, which is also an irregular hexagon, with a plurality (27) of exterior points 1160 and a plurality (42) of interior points 1162.  Likewise, Fig. 11l illustrates the twelfth slice 1164 created, with a plurality (27) of points 1168 on the face of the color conversion cube and a plurality (46) of interior grid points 1166. 
[0082]      Fig. 11m illustrates the NAX slice 1170 formed at the mid-point of the neutral axis, orthogonal to the axis, resulting in a regular hexagon. The plurality (24) of exterior grid points 1174 lie on the faces of the color conversion cube, surrounding a plurality (36) of interior grid points 1172.  The plane intersects the neutral axis at grid point 1178. 
[0083]      Fig. 11n illustrates the fourteenth slice 1180 of the color conversion cube. The fourteenth slice 1180 is the reciprocal of the twelfth slice shown in Fig. 11l.  Similarly, each of the remaining slices shown in Figs. 11o-11y is the reciprocal of the slices shown in Figs. 11a-11k (e.g. the slice in Fig. 11o is the reciprocal of the slice in Fig. 11k; the slice shown in Fig. 11p is the reciprocal of the slice in Fig. 11j). 
[0084]      The grid points shown in the slices of Figs. 11a-11y are merely an example.  Other embodiments may have differently spaced or orientated grid points. 
[0085]      In accordance with one embodiment, a designer or device may enter the desired number of units along each axis (edge) for a color conversion cube, or other 3D configuration, and the number of planar slices created can be calculated using one or more equations.  Equation 6, used when the 3D LUT shape is cubical, calculates the number of orthogonal planes, in accordance with one embodiment, where N equals the number of units per side on a color conversion cube (i.e. an NxNxN cube):
[0086]      Equation 6: Number of Slices Total (cube) = 3N-2
[0087]      So, for the example of Figs. 11a-11y, each side of the conversion cube has nine units, creating a total of 25 slices.  The grid points for each slice are then assigned color mappings, in accordance with the design rules described above with reference to Fig. 4. 
[0088]      Fig. 12 is a conceptual block diagram illustrating a slice of a 3D LUT color conversion cube 1200 from which neutral-axis cross-sections are derived.  The cube 1200, like the cube 500 in Fig. 5, includes a neutral axis 1204 spanning from a first vertex (e.g. a “full black” vertex) to a second opposite vertex (e.g. a “full white” vertex). Shown in Fig. 12 is a single slice 1202 that is orthogonal to the neutral axis 1204.  The R, G, B coordinate system 1206 is the same as coordinate system 308 shown in Fig. 3. The coordinate system 1206 allows a multi-component input, such as RGB, to be placed inside the 3D LUT conversion cube, in accordance with one embodiment. The triangular NAX slice 1202 has a plurality of exterior grid points (e.g. 1214) along three faces of the 3D conversion cube, and a plurality of interior grid points (e.g. 1226). 
[0089]      In Fig. 12, the centroid of the planar NAX slice 1202 intersects the neutral-axis at (R, G, B) = (1.67, 1.67, 1.67).  In Fig. 12, the three medians of the slice connect each vertex (1208, 1216, 1220) with a straight line to the midpoint of each opposite side of the triangular plane. The centroid of the slice 1202 is at the intersection of the three medians.  This point 1222 is the exact point of intersection between the slice 1202 and the neutral axis 1204.  Since the centroid 1222 is an undefined grid point, in this example, linear interpolation between points, or other methods, could be used to calculate the correct CMYK output for this point, in accordance with the design rules of this embodiment.  The three medians in Fig. 12 further show the symmetric nature of the interior grid points 1226.  The symmetrical nature assists with interpolation, in accordance with one embodiment.  
[0090]      Fig. 13 is a flow diagram illustrating a method 1300 for a design tool to create user desired preferences for the application of CMYK, in accordance with one embodiment. 
[0091]      In block 1302, a user input is received for a desired size of a 3D LUT (i.e. NxNxN).  The corresponding color conversion cube provides for converting a first color space associated with a first device, such as a monitor, to a second color space associated with a second device, such as a printer.  In one embodiment, the user input is a prestored or predefined value chosen only once (e.g. by a programmer).  Alternatively, the user input could be entered by a user through a graphical user interface, for example.
[0092]      In block 1304, the number of cross-sectional slices orthogonal to the neutral axis is calculated.  Equation 6 is used in one embodiment.  Blocks 1302 and/or 1304 may be performed each time or only once, such as during an initial setup or programming process.  Other fundamentals, such as the number of grid points on each slice, may also be determined at this time.
[0093]      In block 1306, one, some, or all of the slices are displayed to the user for color mapping. Each interior grid point (e.g. 1120), neutral axis grid point (e.g. 1116), and exterior grid point (e.g. 1106) are preferably displayed for each slice.  In addition, the 3D LUT may display the face regions (e.g. 516) and the neutral axis (e.g. 1204) for the color conversion cube.  
[0094]      In block 1308, user inputs are received that include parameters for design rules to be applied to the grid points.  The following preferences are merely examples.  A first preference is for the points located on the face (e.g. 516) of a color conversion cube and edge of each NAX slice (e.g. 1122).  These points may be mapped as extremely vivid, punchy, or photo-realistic, for example.    A second preference stores the mapping preferences of the neutral axis (e.g. 1204).  Mapping techniques for the neutral axis may include black toner (K colorant) only, CMYK blended, or mostly black toner (i.e. K) with some CMY mix.    A third preference stores the characteristics desired of each interior point (e.g. 1120).  Mapping techniques for interior points may include a mixture of CMYK that creates photographic, punchy, or monitor-matching colors that closely replicate a first color space associated with the first color device, in accordance with one embodiment.
[0095]      One other preference is the method for blending all three types of grid points.  As described in Fig. 8, there are multiple different processes for blending the grid points.  A first option is to gauge an interior grid point’s “distance” along the connecting straight line from the neutral-axis intersection and/or from the grid point on the face.  The distance is according to the designer’s particular goals, and may be, for example, a distance in source code values.  An alternative distance that could be used is the colorimetric difference in terms of the source color code values between (1) the particular interior point and the neutral-axis intersection, and (2) the particular interior point and the grid point on the face. Other alternatives may also be used to assist in color mapping for the interior points. 
[0096]      In Block 1318, the color mapping preferences are used to determine mappings for all interior (e.g. 1120), exterior (e.g. 1110), and neutral axis (e.g. 1116) grid points.  In block 1320, the mappings can be blended using the blending method chosen in block 1316.  Alternatively, the blending can be part of block 1318 performed, for example, for interior grid points.  Blending promotes smooth transitions across the entire NAX slice (and between adjacent NAX slices).
[0097]      In Block 1322, the mapping for each grid point is stored in the LUT. 
[0098]      In Block 1324, the first color value, such as an RGB color, is mapped to a location in the color conversion cube.  If the point is not on a pre-defined grid point (e.g. 1222) stored in the 3D LUT, the pertinent color value may be determined through interpolation, such as by calculating a distance between points, as was described with reference to Fig. 8. 
[0099]            The source-to-destination color mapping method 1300 provides a method to assist in meeting at least two specific design goals.  First, a designer of a color 3D LUT can implement special properties in the printer CMYK values for colors on the input gamut boundary, causing the grid points to be exact color matches of the first color device or appear as extremely vivid through high CMYK concentrations. Second, a designer can specify an exact composition of the printer CMYK values, corresponding to the amount of K colorant used, for colors on the input neutral axis. Furthermore, each NAX slice (e.g. 1100) can be unambiguously blended and the color mapping can be finalized for each interior grid point. This leads to a seamless merging of interior points (e.g. 1120) on each NAX slice (e.g. 1118) to points on the face of the color conversion cube (e.g. 1122). Also, the application of uniform design rules from one NAX slice to the next promotes smooth transitions for the entire color conversion cube, in accordance with one embodiment. 
[00100]     Figs. 14-23 illustrate an example of a color table construction system (or a color table construction tool) 1400 that may be used to implement one or more embodiments described above.  The system (or the tool) 1400 allows a designer, who need not be a color science expert, to design color tables without needing to visualize and manipulate color data in multiple dimensions.  Instead, the system (or the tool) 1400 provides the designer with NAX slices to concisely convey the design options in an easy-to-comprehend two-dimensional domain.  The three design options provided to the designer include:  1)  the overall style of the majority of colors, (2) the composition of neutral grays, and (3) the treatment of the most saturated inputs.  Additionally, preferences regarding the interior grid points (i.e. transition between face grid points and the neutral axis intersection) may be specified.  The work of the designer may be completed, for example, after a color scientist has done background work, such as preparing different styles of mappings to account for various device-to-device limitations and color gamut mismatches.
[00101]     As shown in Fig. 14, the system (or the tool) 1400 includes an output device 1402, such as a display and an input device 1404, such as a keyboard, mouse and/or trackball, for example.  The output device 1402 and input device 1404 are in communication with a processor running software.  For example, processor could be integrated in the same housing as the output device 1402 or the input device 1404.  Alternatively, the processor running software could be located remotely, such as across a network.  As yet another alternative, more than one processor could run the software.  For example, the software could be a web-based application accessed through a web browser via the Internet.
[00102]     The output device 1402 displays a graphical user interface (GUI) 1406 in accordance with the software run on the processor.  Figs. 15-23 illustrate example screenshots that may be displayed to a color designer (user) on the GUI 1406.
[00103]     Fig. 15 illustrates a screenshot 1500 that is presented to the user so that the user can specify the size of the 3D LUT to be created.  In the example shown, the user is presented with a plurality of options:  two predetermined sizes (9x9x9 and 17x17x17), as well as an option to specify a custom size.
[00104]     Once the size of the 3D LUT is specified, the processor running software computes the fundamental parameters of the NAX color conversion object (in this example, a cube).  First, for an NxNxN 3D LUT, the 3N-2 NAX slices are identified.  Within each slice, the relational information for all interior grid points is collected with respect to the neutral axis and face points.  The pertinent RGB-to-CMYK mappings for each of the faces, neutral axis, and interior point regions are determined for presenting to the user.  Figs. 16 and 17 illustrate screenshots 1600 and 1700 that may be presented to the user to illustrate the regions on which the user may operate.  As shown, these instructional screenshots 1600 and 1700 describe to the user the concepts of the faces, neutral axis and cross sectional slices with interior grid points, as well as color design and transitioning or blending.
[00105]     Figs. 18-20 illustrate screenshots 1800, 1900, and 2000 that request that the user input color design goals to be used in the 3D LUT to be constructed.  As shown, the screenshot 1800 requests that the user specify how the interior points (i.e. the “bulk” of the grid points) are mapped.  Three choices are shown in this example:  photographic, punchy, or exact monitor match.  Other choices may be provided, either subjective or objective in nature.  These choices are examples of the third design rule discussed above, relating to interior grid points.  The screenshot 1900 requests the user to specify how the neutral axis is printed:  black (K) toner only, CMYK blend, or mostly K, some CMYK mix.  Other choices alternatively may be presented.  The software could also default to a particular value for the neutral axis (or other regions), such as black (K) toner only.  This choice related to the neutral axis is an example of the first design rule discussed above.  The screenshot 2000 requests the user to specify how the faces are printed:  extremely vivid, punchy, or photo-realistic, in the example shown.  For choices that are more subjective in nature, the GUI could also present examples of how the color output might appear.  This third screenshot illustrates how the second design rule (discussed above) may be input.  The screenshots 1800, 1900, and 2000 collect inputs corresponding to design rules for the NAX color conversion object.
[00106]     Fig. 21 illustrates a screenshot 2100 that requests the user to specify how the mappings corresponding to the selected design rules are blended.  The blending will be applied to the interior points (between the neutral axis and faces points).  In the example shown, the user is presented with two choices:  1) a blending based on the numerical “distance” among the input RGB values at grid points, and 2) a blending based on the colorimetric difference/distances among input grid points.  The user’s input is used by the software run by the processor to retrieve the selected RGB-to-CMYK mappings for the faces, neutral axis, and interior points (which are to be blended).
[00107]     The blending of mapping for the interior grid points includes mixing the original CMYK output value at each grid point (since these RGB inputs are set for each grid point in the plurality of mappings prepared for device-to-device limitations and gamut mismatches, for example) with CMYK outputs of designated grid points (i.e. the neutral axis or face points, which both remain unchanged) according to the selected “distance” measure (see Fig. 20).  Each interior grid point has designated neutral axis and face points, lying on a straight line in the same NAX plane.  Since the designated neutral axis and face location may not lie on a grid point, the CMYK values needed for blending are interpolated from neighborhood neutral axis and face grid locations.
[00108]     Fig. 22 illustrates a screenshot 2200 that may be displayed to the user to show the progress of NAX slice creation in the software running on the processor.  This type of screen may be useful for slower processors or for larger 3D LUTs that require more calculations.
[00109]     Fig. 23 illustrates a screenshot 2300 that may be displayed (in color) to the user to demonstrate what the resulting output would likely look like, based on the finished 3D LUT.  The images presented in the screenshot 2300 could serve as a “soft proof” of color conversions contained in the 3D LUT.  The goal of the screenshot 2300 is not as much geared toward color fidelity as it is toward a symbolic gesture of completion of the 3D LUT construction.  This is because of the differences between the devices (display and printer).  One feature that could be demonstrated with a reasonable level of fidelity is smooth transitions.   
[00110]     It should be understood that various changes and modifications to the embodiments presently described herein will be apparent to those skilled in the art.  Such changes and modifications can be made without departing from the spirit and scope of the present subject matter and without diminishing its intended advantages.  It is therefore intended that such changes and modifications be covered by the appended claims.
[00111]     A method for creating a run-time color-conversion look-up table comprises: forming a conceptual representation of a slice of a color conversion object, wherein the color conversion object is defined by a color coordinate system having a plurality of color axes and further including a neutral axis, wherein each color axis includes values ranging from a respective minimum value to a respective maximum value, wherein the neutral axis includes values ranging from a minimum colorant amount to a maximum colorant amount, wherein the slice is defined by a plurality of grid points on the color coordinate system that are in a common plane orthogonal to the neutral axis, and wherein the slice is bound along a plurality of faces of the color conversion object for which at least one of the plurality of color axes is at a minimum or maximum value; receiving a user input that includes a parameter for a first design rule to be applied at an intersection of the slice with the neutral axis; receiving a user input that includes a parameter for a second design rule to be applied at grid points located on at least one of the faces of the color conversion object; determining outputs for grid points located between the intersection and the faces according to a third design rule; and storing the outputs for the slice in a portion of the look-up table.
[00112]     The above method further comprises repeating the determining and storing for a plurality of slices in the color conversion object. 
[00113]     In the above method, the determining and storing are repeated for all of the slices in the color conversion object.
[00114]     In the above method, forming comprises displaying on an output device.
[00115]     In the above method, the output device is a display and the conceptual representation is a graphical representation of the slice displayed on the display.
[00116]     The above method further comprises displaying more than one slice on the display.
[00117]     In the above method, the color conversion object is a color conversion cube having six faces, the plurality of faces are selected from the six faces, the neutral axis extends from a first vertex of the color conversion cube to a second vertex located at a diagonally opposite vertex of the color conversion cube, and the plurality of color axes and the neutral axis each have their respective minimum values located at the first vertex.
[00118]     The above method further comprises printing an image on an image forming device using the look-up table. 
[00119]     In the above method, determining outputs for grid points located between the intersection and the faces includes altering a first mapping to blend the outputs smoothly across the slice, and the altering is in accordance with the third design rule. 
[00120]     A method for creating a three-dimensional color-conversion look-up table, comprises:displaying at least a portion of a neutral-axis cross-sectional slice of a color-conversion cube for converting from a first color space associated with a first device to a second color space associated with a second device, the at least one neutral-axis cross-sectional slice having a plurality of co-planar grid points located thereon including a plurality of interior grid points located between an intersection with a neutral axis of the color-conversion cube and a plurality of grid points on a plurality of faces of the color conversion cube, and the at least one neutral-axis cross-sectional slice being orthogonal to the neutral axis; identifying a straight line connecting the intersection with a point on one of the faces of the color conversion cube, the straight line also passing through an interior grid point from the plurality of interior grid points; determining a first output corresponding to the intersection, wherein the first output is based on a first design rule; determining a second output corresponding to the point on the one of the faces of the color conversion cube, wherein the second output is based on a second design rule; determining a third output corresponding to the interior grid point, wherein the third output is based on a third design rule; and storing the first, second, and third outputs in the look-up table.  
[00121]     In the above method, the third design rule includes an interpolation that includes calculating a distance associated with the interior grid point.
[00122]     In the above method, the distance is a distance in source color code values.
[00123]     In the above method, the distance is a colorimetric difference between (a) the interior point and the intersection and (b) the interior point and the grid point on the face.
[00124]     In the above method, the first design rule includes specifying an amount of colorant and wherein the second design rule includes specifying a color characteristic at a grid point on the face.
[00125]     The above method further comprises displaying portions of at least two neutral-axis cross section slices of the color-conversion cube. 
[00126]     The above method further comprises: identifying additional straight lines connecting the intersection with additional points on the faces of the color conversion cube, the additional straight lines passing through additional interior grid points; determining additional second outputs corresponding to the additional grid points on the faces of the color conversion cube; and determining additional third outputs corresponding to the additional interior grid points.
[00127]     In the above method, the second device comprises a printer, further comprises: accessing the stored outputs in the look-up table to convert from the first color space to the second color space; and printing using the accessed outputs.
[00128]     In the above method, the third design rule includes a blend between the first design rule and the second design rule, and the blend is determined by interpolation.
[00129]     A computing device comprises: a processor; data storage; and program instructions, stored in the data storage, that, upon execution by a computing device, cause the computing device to perform operations of the above method.
[00130]     A program that, upon execution by a computing device, causes the computing device to perform operations of the above method.
[00131]     A non-transient computer readable medium comprises instructions for causing a processor to perform the following: determining a size of a 3D look-up table to be created; displaying a representation of at least a portion of a color-conversion object corresponding to the 3D look-up table; receiving inputs from a user specifying design rules to be applied to the look-up table; applying the received design rules to the color-conversion object to determine output values for the color-conversion object; and storing the determined values.
[00132]     In the above non-transient computer readable medium, the 3D look-up table is an NxNxN look-up table, the color-conversion object is a cube having 3N-2 neutral-axis slices, and the displayed representation is an illustration of at least one of the neutral-axis slices.
[00133]     In the above non-transient computer readable medium, the design rules include at least two of (1) a first design rule to be applied to each neutral-axis slice at an intersection with a neutral-axis of the color-conversion object, (2) a second design rule to be applied to at least one grid point on a face of the color-conversion object, and (3) a third design rule to be applied to at least one interior grid point located between the intersection and the face. 
[00134]     In the above non-transient computer readable medium, the third design rule includes interpolating to determine blended values for the color-conversion object for points between the neutral axis and the face, and the instructions further comprise receiving an input from the user specifying how the interpolation is to be performed. 
[00135]     In the above non-transient computer readable medium, the interpolation is based on a distance.
[00136]     In the above non-transient computer readable medium, the distance is selected from the group consisting of a colorimetric distance and a distance in source color code values. 
[00137]     In the above non-transient computer readable medium, causing the processor to apply the received design rules to the color-conversion object to determine the output values includes causing the processor to access at least one predetermined color mapping. 
[00138]     A system for creating a 3D look-up table comprises: a processor; data storage; and program instructions that, upon execution by the processor, cause the processor to perform the following: determining a size of a 3D look-up table to be created; displaying a representation of at least a portion of a color-conversion object corresponding to the 3D look-up table; receiving inputs from a user specifying design rules to be applied to the look-up table; applying the received design rules to the color-conversion object to determine output values for the color-conversion object; and storing the determined values.
INDUSTRIAL APPLICABILITY
[00139]     The present invention may be applicable to creating a run-time color-conversion look-up table may be provided.
REFFERENCE SIGNS LIST
[00140]     
100   Image Forming Device
102   Print Controller
104   Color Conversion Unit
106   First Color Gamut
108   Second Color Gamut
200   Raster Processing Unit
202   Color Conversion Module
204   Input Colors
206   CMYK Colors
208   3D LUT
300, 400, 500, 1200     3D LUT Color Conversion Cube
1400  System
1402  Output Device
1404  Input Device
406   Graphical User Interface
1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300      Screen Shots
1.    A method for creating a run-time color-conversion look-up table comprising:
forming a conceptual representation of a slice of a color conversion object, wherein the color conversion object is defined by a color coordinate system having a plurality of color axes and further including a neutral axis, wherein each color axis includes values ranging from a respective minimum value to a respective maximum value, wherein the neutral axis includes values ranging from a minimum colorant amount to a maximum colorant amount, wherein the slice is defined by a plurality of grid points on the color coordinate system that are in a common plane orthogonal to the neutral axis, and wherein the slice is bound along a plurality of faces of the color conversion object for which at least one of the plurality of color axes is at a minimum or maximum value;
receiving a user input that includes a parameter for a first design rule to be applied at an intersection of the slice with the neutral axis;
receiving a user input that includes a parameter for a second design rule to be applied at grid points located on at least one of the faces of the color conversion object;
determining outputs for grid points located between the intersection and the faces according to a third design rule; and
storing the outputs for the slice in a portion of the look-up table.
2.    The method of claim 1, further comprising repeating the determining and storing for a plurality of slices in the color conversion object.
3     The method of claim 2, wherein the determining and storing are repeated for all of the slices in the color conversion object.
4.    The method of any one of claim 1 to claim 3, wherein forming comprises displaying on an output device.
5.    The method of claim 4, wherein the output device is a display and the conceptual representation is a graphical representation of the slice displayed on the display.
6.    The method of claim 5, further comprising displaying more than one slice on the display.
7.    The method of any one of claim 1 to claim 6, wherein the color conversion object is a color conversion cube having six faces, wherein the plurality of faces are selected from the six faces, wherein the neutral axis extends from a first vertex of the color conversion cube to a second vertex located at a diagonally opposite vertex of the color conversion cube, and wherein the plurality of color axes and the neutral axis each have their respective minimum values located at the first vertex.
8.    The method of any one of claim 1 to claim 7, further comprising printing an image on an image forming device using the look-up table.
9.    The method of any one of claim 1 to claim 8, wherein determining outputs for grid points located between the intersection and the faces includes altering a first mapping to blend the outputs smoothly across the slice, and wherein the altering is in accordance with the third design rule.
10.   A method for creating a three-dimensional color-conversion look-up table, comprising:
displaying at least a portion of a neutral-axis cross-sectional slice of a color-conversion cube for converting from a first color space associated with a first device to a second color space associated with a second device, the at least one neutral-axis cross-sectional slice having a plurality of co-planar grid points located thereon including a plurality of interior grid points located between an intersection with a neutral axis of the color-conversion cube and a plurality of grid points on a plurality of faces of the color conversion cube, and the at least one neutral-axis cross-sectional slice being orthogonal to the neutral axis;
identifying a straight line connecting the intersection with a point on one of the faces of the color conversion cube, the straight line also passing through an interior grid point from the plurality of interior grid points;
determining a first output corresponding to the intersection, wherein the first output is based on a first design rule;
determining a second output corresponding to the point on the one of the faces of the color conversion cube, wherein the second output is based on a second design rule;
determining a third output corresponding to the interior grid point, wherein the third output is based on a third design rule; and
storing the first, second, and third outputs in the look-up table.    
11.   The method of claim 10, wherein the third design rule includes an interpolation that includes calculating a distance associated with the interior grid point.
12.   The method of claim 11, wherein the distance is a distance in source color code values.
13.   The method of claim 11 or claim 12, wherein the distance is a colorimetric difference between (a) the interior point and the intersection and (b) the interior point and the grid point on the face.
14.   The method of any one of claim 10 to claim 13, wherein the first design rule includes specifying an amount of colorant and wherein the second design rule includes specifying a color characteristic at a grid point on the face.
15.   The method of any one of claim 10 to claim 14, further comprising displaying portions of at least two neutral-axis cross section slices of the color-conversion cube.
16.   The method of any one of claim 10 to claim 15, further comprising:
identifying additional straight lines connecting the intersection with additional points on the faces of the color conversion cube, the additional straight lines passing through additional interior grid points;
determining additional second outputs corresponding to the additional grid points on the faces of the color conversion cube; and
determining additional third outputs corresponding to the additional interior grid points.
17.   The method of any one of claim 10 to claim 16, wherein the second device comprises a printer, further comprising:
accessing the stored outputs in the look-up table to convert from the first color space to the second color space; and 
printing using the accessed outputs.
18.   The method of any one of claim 10 to claim 17, wherein the third design rule includes a blend between the first design rule and the second design rule, and wherein the blend is determined by interpolation.
19.   A computing device comprising:
a processor;
data storage; and 
program instructions, stored in the data storage, that, upon execution by a computing device, cause the computing device to perform operations of the method of any one of Claim 1 to Claim 18.
20.   A program that, upon execution by a computing device, causes the computing device to perform operations of the method of any one of Claim 1 to Claim 18.
21.   A non-transient computer readable medium comprising instructions for causing a processor to perform the following:
determining a size of a 3D look-up table to be created;
displaying a representation of at least a portion of a color-conversion object corresponding to the 3D look-up table;
receiving inputs from a user specifying design rules to be applied to the look-up table;
applying the received design rules to the color-conversion object to determine output values for the color-conversion object; and
storing the determined values.
22.   The non-transient computer readable medium of claim 21, wherein the 3D look-up table is an NxNxN look-up table, wherein the color-conversion object is a cube having 3N-2 neutral-axis slices, and wherein the displayed representation is an illustration of at least one of the neutral-axis slices.
23.   The non-transient computer readable medium of claim 21 or claim 22, wherein the design rules include at least two of (1) a first design rule to be applied to each neutral-axis slice at an intersection with a neutral-axis of the color-conversion object, (2) a second design rule to be applied to at least one grid point on a face of the color-conversion object, and (3) a third design rule to be applied to at least one interior grid point located between the intersection and the face.
24.   The non-transient computer readable medium of claim 23, wherein the third design rule includes interpolating to determine blended values for the color-conversion object for points between the neutral axis and the face, and wherein the instructions further comprise receiving an input from the user specifying how the interpolation is to be performed.
25.   The non-transient computer readable medium of claim 24, wherein the interpolation is based on a distance.
26.   The non-transient computer readable medium of claim 25, wherein the distance is selected from the group consisting of a colorimetric distance and a distance in source color code values.
27.   The non-transient computer readable medium of any one of claim 21 to claim 26, wherein causing the processor to apply the received design rules to the color-conversion object to determine the output values includes causing the processor to access at least one predetermined color mapping. 
28.   A system for creating a 3D look-up table comprising: 
a processor;
data storage; and
program instructions that, upon execution by the processor, cause the processor to perform the following:
determining a size of a 3D look-up table to be created;
displaying a representation of at least a portion of a color-conversion object corresponding to the 3D look-up table;
receiving inputs from a user specifying design rules to be applied to the look-up table;
applying the received design rules to the color-conversion object to determine output values for the color-conversion object; and
storing the determined values.
PROBLEM TO BE SOLVED
The present invention may provide a method for creating a run-time color-conversion look-up table is provided.
SOLUTION
A method for creating a run-time color-conversion look-up table is provided.  A conceptual representation of a slice of a color conversion object is presented.  The color conversion object is defined by a color coordinate system having a neutral axis (502) and a plurality of color axes.   The slice is defined by a plurality of grid points on the color coordinate system that are in a common plane orthogonal to the neutral axis (502).  In addition, the slice is bound along a plurality of faces of the color conversion object for which at least one of the plurality of color axes is at a minimum or maximum value.  The method further includes applying design rules for certain grid points and determining outputs for other grid points.  The outputs for the slice are stored in a portion of the look-up table (208).  A tool for creating a 3D look-up table is also described.
REPRESENTATIVE DRAWING: Fig. 9
2014075795.tif 000051
2014075795.tif 000052
2014075795.tif 000053
2014075795.tif 000054
2014075795.tif 000055
2014075795.tif 000056
2014075795.tif 000057
2014075795.tif 000058
2014075795.tif 000059
2014075795.tif 000060
2014075795.tif 000061
2014075795.tif 000062
2014075795.tif 000063
2014075795.tif 000064
2014075795.tif 000065
2014075795.tif 000066
2014075795.tif 000067
2014075795.tif 000068
2014075795.tif 000069
2014075795.tif 000070
2014075795.tif 000071
2014075795.tif 000072
2014075795.tif 000073
2014075795.tif 000074
2014075795.tif 000075
2014075795.tif 000076
2014075795.tif 000077
2014075795.tif 000078
2014075795.tif 000079
2014075795.tif 000080
2014075795.tif 000081