(57)【要約】      （修正有）【課題】多次元ルックアップテーブル補間システム及び方法。【解決手段】１又は２次元テーブルのルックアップを使用して第２のルックアップテーブルのための適切なインデックス及びフラクションを提供する技術である。第２のルックアップテーブルは多次元ルックアップテーブルでもよい。１又は２次元ルックアップテーブルは、標準的な線形補間技術を使用して、入力値と第２のルックアップテーブルから得られる出力値との間で非線形変換を可能にする。１又は２次元ルックアップテーブルは、第２のルックアップテーブル内のノードへ入力値を非線形写像し、フラクショナル値を非線形写像し、又は、その両方を非線形写像する。【選択図】図２
2006060824.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードを収容し、前記複数のノードが対応する出力値を有するスパース多次元ルックアップテーブルと、
入力値を前記スパース多次元ルックアップテーブル内の対応するノードへ写像する補間ルックアップテーブルと、
を備え、
前記補間ルックアップテーブルによって受信された入力値が前記補間ルックアップテーブルの前記スパース多次元ルックアップテーブルへの写像に基づいて出力値へ変換される、
システム。
【請求項２】
前記スパース多次元ルックアップテーブルが等間隔である、請求項１に記載のシステム。
【請求項３】
前記補間ルックアップテーブルの前記スパース多次元ルックアップテーブルへの写像が非線形である、請求項２に記載のシステム。
【請求項４】
前記補間ルックアップテーブルはｎ個の入力値を受信するように構成され、
前記スパース多次元ルックアップテーブルはｍ個のノードを有し、
ｎ及びｍがゼロよりも大きい整数であり、ｎがｍよりも大きい、
請求項１に記載のシステム。
【請求項５】
前記補間ルックアップテーブルは、前記入力値に対する前記対応するノードと次のノードとの間の間隔に対応するフラクショナル値を生成するように構成される、請求項１に記載のシステム。
【請求項６】
前記補間ルックアップテーブルから前記フラクショナル値を受信し、前記スパース多次元ルックアップテーブルから前記入力値に対応する前記出力値を受信するように構成され、前記出力値と合成された前記フラクショナル値の線形補間に基づいて調整出力値を生成する線形補間器をさらに備える、
請求項５に記載のシステム。
【請求項７】
前記フラクショナル値は前記補間ルックアップテーブル内で非等間隔である、請求項６に記載のシステム。
【請求項８】
前記補間からの入力値の前記スパース多次元ルックアップテーブル内の前記出力値への写像が非線形である、請求項７に記載のシステム。
【請求項９】
前記補間ルックアップテーブルはｎ個の入力値を受信するように構成され、
２番目のルックアップテーブルはｍ個のノードを有し、
ｎ及びｍがゼロよりも大きい整数であり、ｎがｍよりも大きい、
請求項８に記載のシステム。
【請求項１０】
前記補間ルックアップテーブルは１次元浮動小数点ルックアップテーブルであり、
浮動小数点値が前記インデックスと前記フラクションを加算することにより生成される、
請求項１に記載のシステム。
【請求項１１】
前記補間ルックアップテーブルは２次元ルックアップテーブルであり、
一方の次元が前記スパース多次元ルックアップテーブルへの前記インデックスを与え、２番目の次元がフラクショナル値を与える、
請求項１に記載のシステム。
【請求項１２】
等間隔型スパース多次元ルックアップテーブル内で対応する出力値に対応するノードを探すことにより出力値を決定するため適合した手段と、
入力値を受信し、前記入力値に応答して前記入力値を、前記等間隔型スパース多次元ルックアップテーブル内の前記ノードに対応するインデックスへ変換するために補間ルックアップテーブルを利用するため適合した手段と、
を備え、
出力値を決定するため適合した手段が入力値を受信するため適合した手段に応答する、
システム。
【請求項１３】
前記補間ルックアップテーブルは前記入力値を前記インデックスへ非線形変換する、請求項１２に記載のシステム。
【請求項１４】
前記入力値を受信するため適合した手段はｎ個の入力値を受信するように構成され、
前記出力値テーブルを決定するため適合した手段はｍ個のノードを有し、
ｎ及びｍがゼロよりも大きい整数であり、ｎがｍよりも大きく、
前記補間ルックアップテーブルは前記ｎ個の入力値を前記ｍ個のノードへ写像する、
請求項１２に記載のシステム。
【請求項１５】
補間するため適合した手段をさらに備え、
前記入力値を受信するため適合した手段は、前記等間隔型スパース多次元ルックアップテーブル内の連続する出力値の間の距離に対応するフラクショナル値を生成するように構成され、
前記補間するため適合した手段は、出力値の間の前記距離の前記フラクショナル値に対応する補間フラクショナル値を計算し、前記補間フラクショナル値を前記出力値に加算する、
請求項１２に記載のシステム。
【請求項１６】
前記受信するため適合した手段によって生成される前記フラクショナル値は非線形である、請求項１５に記載のシステム。
【請求項１７】
前記補間ルックアップテーブルは１次元浮動小数点テーブルである、請求項１５に記載のシステム。
【請求項１８】
インデックス値に基づいてスパース多次元ルックアップテーブルから出力値を取得するため適合した手段と、
入力値を受信し、補間テーブルを使用して前記入力値を対応するインデックス値へ変換するため適合した手段と、
を含む、コンピュータ読み取り可能な命令の媒体。
【請求項１９】
前記入力値と前記対応するインデックス値との間の関係が非線形である、請求項１８に記載のコンピュータ読み取り可能な命令の媒体。
【請求項２０】
補間するため適合した手段をさらに含み、
前記入力値を受信するため適合した手段が前記多次元ルックアップテーブルに格納された出力値の間の距離に対応するフラクショナル値を生成するように構成され、
前記補間するため適合した手段は、出力値の間の距離の前記フラクショナル値に対応する補間フラクショナル値を計算し、前記補間フラクショナル値を前記出力値に加算する、
請求項１９に記載のコンピュータ読み取り可能な命令の媒体。
【請求項２１】
前記受信するため適合した手段は前記フラクショナル値を非線形に生成するように構成される、請求項２０に記載のコンピュータ読み取り可能な命令の媒体。
【請求項２２】
等間隔型スパースルックアップテーブルを使用して非線形補間を実行する方法であって、
出力値へ変換するため入力値を受信し、
補間ルックアップテーブルを使用して前記入力値をインデックス値へ変換し、
前記インデックス値に基づいて前記多次元ルックアップテーブルから出力値を取り出す
ことを含む、方法。
【請求項２３】
前記補間ルックアップテーブルは、前記入力値と前記インデックス値との間に非線形関係を与える、請求項２２に記載の方法。
【請求項２４】
前記入力値の変換は、前記等間隔型多次元ルックアップテーブルのノード間の距離に基づいてフラクショナル値を生成し、
フラクショナル出力値を生成するため前記フラクショナル値を補間し、
前記フラクショナル出力値に基づいて前記出力値を調整する
ことをさらに含む、
請求項２２に記載の方法。
【請求項２５】
前記フラクショナル値は非線形である、請求項２４に記載の方法。
【請求項２６】
前記入力値の変換は、前記インデックス値及び前記フラクショナル値に対応する、浮動小数点値を有する補間ルックアップテーブルを使用する、請求項２４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に補間技術に係わり、ルックアップテーブルを使用する色変換のための補間技術に関する。
【背景技術】
【０００２】
ある形式の補間と共にｎ次元スパースルックアップテーブルを利用するｎ成分座標空間からｍ成分座標空間への変換は、特に、３次元対３次元、３次元対４次元、４次元対３次元、及び、４次元対４次元の入力／出力変換のための色再現パイプラインにおいてよく用いられる。入力値の出力値への写像は一般に非線形である。スパースルックアップテーブル及び線形補間を使用すると変換プロセスに大きい誤差を生じることがある。
【０００３】
多次元ルックアップテーブル内の非線形ノードスペーシング、及び／又は、非線形補間技術を使用する多数の解決策が提案されている。しかし、多数の色変換パイプラインにおいて、多次元ルックアップテーブルは線形ノードスペーシングに制限され、たとえば、Ａｄｏｂｅ社  ＰｏｓｔＳｃｒｉｐｔ（登録商標）の場合、ＣＩＥＢａｓｅｄＤＥＦ及びＣＩＥＢａｓｅｄＤＥＦＧ色空間アレイの「テーブル」定義と、カラーレンダリングディレクトリ内の「レンダーテーブル」定義は線形ノードスペーシングが要求される。非線形補間技術の使用は、線形補間と比べると、性能の観点から非常に制限的である。線形ノードスペーシング及び線形補間の利用は、色忠実性又は色精度にマイナスの影響を与える可能性がある。
【０００４】
線形ノードスペーシング及び線形補間による多次元ルックアップテーブルの実装は、出力値の間で補間を実行するために、入力色値を、必要な出力値を取り囲む値すべてのテーブルルックアップのためのインデックスの組と残余すなわちフラクションの組とに変換するプロセスである。ルックアップ及び補間プロセスのため必要なインデックス（ｉｎｄｅｘ）及びフラクション（ｆｒａｃｔｉｏｎ）は、計算、ビットマスクなどによって得られる。
【０００５】
図１を参照すると、線形補間と非線形補間のグラフ的な比較１００が示されている。出力はＹ軸に沿ってプロットされ、入力はＸ軸に沿ってプロットされる。ＸＩとＸＩ＋１によって制限された領域が補間される。Ｙ１からＹＩ＋１までの線形補間に対する値は、
【数１】
2006060824.tif 000003
【０００６】
によって与えられ、式中、ＹＩ＋１及びＹＩはそれぞれスパースルックアップテーブル（ＬＵＴ）内のノードＸＩ＋１及びＸＩに格納された値であり、ｆｘはフラクショナル（ｆｒａｃｔｉｏｎａｌ）補間値である。フラクショナル値ｆｘは、線形補間値ｙ１を生ずる式、
【数２】
2006060824.tif 000004
【０００７】
によって計算できる。
【０００８】
データの線形補間は誤差ｙｎ−ｙ１を生ずる。正確な値ｙｎは、ｘ１の値をｘｎまでシフトすることによりｆｘの非線形性が補償された線形補間によって得られる。或いは、非線形補間はこの誤差をゼロまで削減する（１次元補間の場合）。多次元ルックアップテーブルを用いるならば、同じフラクショナル値又は残余が複数回使用され、適切なフラクションは全ての補間に対して厳密に正しくはならない。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、補間のため使用されるフラクショナル値は、線形補間と比較したとき、全体的な誤差をかなり削減させるように設定可能である。しかしながら、リアルタイム中にフラクショナル値を計算するため非線形関数を使用することは、性能面で厳しい不利益を生ずる。
【課題を解決するための手段】
【００１０】
本発明の一態様によれば、１次元テーブルルックアップを使用して多次元ルックアップテーブルのための適切なインデックス及びフラクションを提供する技術が本明細書に開示される。非線形ノード分布がテーブル内のインデックスの非線形割り当てによって実現され、非線形補間がテーブル内のフラクションの非線形割り当てによって実現され、又は、両方が実現される。インデックステーブルは、非線形ノードスペーシングを有する多次元ルックアップテーブルと同じ結果を得るためテーブル内に分布したインデックスを収容可能である。フラクションテーブルは非線形補間技術と同じ結果を生じるため予め計算可能である。インデックステーブルとフラクションテーブルの両方には、線形ノードスペーシングを有する多次元テーブルに非常に複雑な非線形機能を一体として与える非線形値がロードされる。代替的なアプローチは、インデックスが浮動小数点数エントリーの整数部であり、フラクションが浮動小数点エントリーの小数部である、すなわち、
ｌ＋ｆ＝＞ｌ．ｆ
である浮動小数点数の１次元ルックアップテーブルを使用する。
【００１１】
本発明の一態様によれば、スパースルックアップテーブル及び補間ルックアップテーブルを備えるシステムが本明細書に開示される。スパースルックアップテーブルは複数のノードを収容し、複数のノードは対応する出力値を表す。補間ルックアップテーブルは入力値をスパースルックアップテーブル内の対応するノードへ写像する。かくして、補間ルックアップテーブルによって受信された入力値は、補間ルックアップテーブルのスパースルックアップテーブルへの写像に基づいて出力値へ変換される。
【００１２】
本発明の一態様によれば、等間隔で並べられたノードを有する等間隔型スパース多次元ルックアップテーブル内でノードを探すことにより出力値を決定するため適合した手段を備えるシステムが本明細書に開示される。このシステムは、入力値を受信し、入力値に応答して入力値を等間隔型多次元ルックアップテーブル内のノードに対応するインデックスへ変換するため適合した手段をさらに備える。入力値を受信するため適合した手段は、補間ルックアップテーブルを使用して、入力値をインデックスへ非線形変換する。
【００１３】
本発明の一態様によれば、インデックス値に基づいて多次元ルックアップテーブルから出力値を取得するため適合した手段と、入力値を受信し、入力値を対応するインデックス値へ変換するため適合した手段とを含む、命令のコンピュータ読み取り可能な媒体が本明細書に開示される。入力値と対応するインデックス値との間の関係は非線形である。
【００１４】
本発明の一態様によれば、等間隔型多次元ルックアップテーブルを使用して非線形補間を実行する方法が本明細書に開示される。この方法は出力値へ変換するため入力値を受信するステップを含む。この方法はまた、入力値を、多次元ルックアップテーブル内のノードに対応するインデックス値へ非線形変換するステップを含む。この方法は、インデックス値に基づいて多次元ルックアップテーブルから出力値を取り出すステップをさらに含む。
【００１５】
本発明のさらに別の目的は、本発明を実施するため適したベストモードの１つを単なる一例として、本発明の好ましい一実施例が明らかにされ説明された以下の記述から当業者に容易に理解されるであろう。当然のことながら、本発明は他の異なる実施形態が可能であり、そのいくつかの詳細は本発明から全く逸脱することなく種々の明白な態様において変更が可能である。したがって、図面及び明細書本文は、限定としてではなく本質的に例示とみなされる。
【００１６】
明細書に組み込まれ、その一部を形成する添付図面は、本発明のいくつかの態様を例証し、明細書本文と一体となって本発明の原理を説明するために役立つ。
【発明を実施するための最良の形態】
【００１７】
明細書の記載の全体を通して、明らかにされた好ましい実施形態及び実施例は本発明の限定ではなく、典型であると考えられるべきである。本発明の一形態は、１若しくは２次元ルックアップテーブル又は１次元浮動小数点テーブル（補間テーブル）と等間隔型スパースルックアップテーブルの組み合わせを使用し、入力値と、出力値を計算するため標準的な線形補間技術を使用して等間隔型ルックアップテーブルから取得された出力値との間の非線形変換を可能にする。本発明は、入力値をルックアップテーブル内のインデックス値へ非線形写像し、フラクショナル値を非線形補間し、又は、両方を実行する。テーブルへの入力値の個数は、希望ビット長、たとえば、２５６色のための８ビット、４０９６色のための１２ビットなどのような色変換系の色標本の個数に一致する。２つのテーブルは、種々の「パッキング技術」、たとえば、２次元テーブル、ビットシフト及び加算、２つの部分による数表現などを使用して１つのテーブルに削減することが可能である。インデックステーブル及びフラクションテーブルの内容は希望の振る舞い又は精度を与えるため予め計算可能である。インデックステーブルは、非線形ノードスペーシングを有する多次元ルックアップテーブルと同じ結果を生ずるようにテーブル内に分布したインデックスを有する。フラクションテーブルは非線形補間技術と同じ結果を生ずるため予め計算可能である。インデックステーブルとフラクションテーブルの両方は、線形ノードスペーシングを有する多次元テーブルに非常に複雑な非線形機能を一体として与える非線形値がロードされる。
【００１８】
次に、図２を参照すると、本発明の一態様によるシステム２００のブロック図が示されている。システム２００は、入力値を出力値へ変換する多次元ルックアップテーブル２１０を使用する。システム２００は、メモリが付随したプロセッサ上で動くコンピュータソフトウェア、コンピュータハードウェア、又は、コンピュータハードウェアとソフトウェアの組み合わせによって実装可能である。テーブル２１０は出力値に対応するノードを有する。本発明の一態様によれば、ノードは、Ｐｏｓｔｓｃｒｉｐｔ（商標）環境における色変換ルックアップテーブルでたびたび使用されるように、等間隔に並べられる。入力値２０２は、出力値２１４へ変換するためルックアップテーブル２１０へ供給される。入力値２０２は１又は２次元ルックアップテーブル２０４へ入力される。ルックアップテーブル２０４（補間テーブル）は、インデックスをパス２０６に沿ってテーブル２１０へ供給し、フラクションをパス２０６に沿って線形補間器２１２へ供給する。１又は２次元テーブル２０４は、入力値２０２と出力値２１４との間で非線形変換を可能にするため、ルックアップテーブル２１０への非線形写像、線形補間器２１２によって使用されるフラクショナル値（ｆｒａｃｔｉｏｎａｌ  ｖａｌｕｅ）の非線形写像、又は、それらの両方を行う。たとえば、さらに後述されるように、ｎ個の入力値に対して、テーブル２０４はｎ個のエントリーを有する。テーブル２０８はｍ個のノードを有し、各ノードが出力値に対応する。ｎがｍより大きい場合、実際にはｎはｍよりも非常に大きくなる可能性があるが、線形写像のため、ｍ／ｘ個の入力値がテーブル２１０内の対応するノードへ写像され、ここで、ｘは変化しない（たとえば、ｍ／ｎである）。しかし、非線形スペーシングの場合、ｘの値はテーブル２１０のノードへ写像された入力値２０２の個数によって変化する。たとえば、最初の４個の入力値２０２はノード０へ写像され、次の３個の値はノード２へ写像され、以下同様である。入力値２０２とテーブル２１０内のノードとの間には１対１の対応関係がないので、フラクショナル成分も存在する。フラクショナル成分はｎ対ｍの写像とは独立である。それは入力値とｍとの間の関係によって決まる。値ｎはＬＵＴを構築する都合上の数である。
【００１９】
本発明の一形態によれば、テーブル２０４は、以下で詳述されるように、フラクショナル値を線形補間器２１２へ線形に割り当て又は非線形に割り当てる。かくして、テーブル２０４は、インデックスをテーブル２１０のノードへ、フラクションを線形補間器２１２へ線形に割り当てるため、インデックスをテーブル２１０のノードへ非線形に割り当て、フラクションを線形補間器２１２へ線形に割り当てるため、インデックスをテーブル２１０のノードへ線形に割り当て、フラクションを線形補間器２１２へ非線形に割り当てるため、又は、インデックスをテーブル２１０のノードへ、フラクション（ｆｒａｃｔｉｏｎ）を線形補間器２１２へ非線形に割り当てるために使用可能である。
【００２０】
線形補間器２１２は、補間されたフラクショナル値をルックアップテーブル２１０から取得された出力値と結合する。たとえば、線形補間器２１２は、補間されたフラクショナル値をルックアップテーブル２１０から取得された出力値と合計する。一実施例として、テーブル２１０のノードに４個の入力値２０２が写像され、各ノードが隣接ノードから１の差で等間隔に並べられるならば、フラクショナル成分の線形補間の場合に、各入力値２０２は、その間隔をそのノードへ写像された入力値の個数で除算した数、すなわち、１／４（０．２５）の差で少しずつ異なる。このようにして、１番目の入力値は出力値に０を加えたものに一致し、２番目の入力値は出力値に０．２５を加えたものに一致し、３番目の入力値は出力値に０．５を加えたものに一致し、４番目の入力値は出力値の０．７５を加えたものに一致する。非線形フラクショナル割り当ての場合、フラクショナル成分は均等に間隔が設けられない。したがって、一実施例として、４個の入力値が同じ出力値に写像される場合、１番目の入力値は出力値に０を加えたものに一致するが、２番目の入力値は出力値に０．２を加えたものに一致し（直前の入力値との差は０．２）、３番目の入力値は出力値に０．５を加えたものに一致し（直前の入力値との差は０．３）、４番目の入力値は出力値に０．９を加えたものに一致する（直前の入力値との差は０．４）。
【００２１】
図３は、本発明の一形態による入力値の線形分布ノードへの非線形割り当ての一実施例３００のブロック図である。この実施例はフラクショナル値を含まない。１次元ルックアップテーブル３０２（補間テーブル）は、多次元ルックアップテーブル３０４のノードへ連結されたインデックスに対応するレベル３０６、３１０、３１２、３１４、３１６、３２０を格納する。１次元ルックアップテーブル３０２は、レベル０の３０６から始まりレベルｎの３２０までのｎ個の値を有する。多次元ルックアップテーブル３０４はｍ個のノードを有する。本実施例に示されるように、ｎはｍよりも大きい。テーブル３０２のｎ個のインデックスはルックアップテーブル３０４のｍ個のノードへ写像される。図３の実施例に示されるように、レベル０  ３０６、レベル１  ３１０、レベル２  ３１２及びレベル３  ３１４はノード０  ３０８へ写像される。線形システムの場合、４レベルごとに対応するノードへ写像される。しかし、図３に示されるように、レベルｎ  ３２０はルックアップテーブル３０４のノードｍ  ３２２へ連結された唯一のインデックスである。したがって、ルックアップテーブル３０４が線形分布テーブルである場合でさえ、入力値の下方レベルでは、４個の入力値がルックアップテーブル３０２を介してルックアップテーブル３０４の１個のノードへ写像され、上方の入力値では、唯一の入力値がルックアップ３０２を介してルックアップテーブル３０４の１個のノードへ連結されるので、ルックアップテーブル３０２は、入力値のルックアップテーブル３０４への割り当てを非線形割り当てに変換する。本発明の一形態ではこの技術を使用することにより、非線形方式におけるノードの全体的な写像は、多次元ルックアップテーブル３０４の全体に亘る誤差の分布を改善することが可能である。ノード写像は任意であるため、非常にフレキシブルな変換プロセスを実現するために、あらゆる効果を１次元インデックスルックアップテーブル３０２で実施可能である。
【００２２】
本発明の一態様によれば、図２のテーブル２０４は多次元ルックアップテーブル２１０へ写像されたテーブル３０２と同様に構成された２次元テーブルでもよく、多次元テーブル２１０は多次元ルックアップテーブル３０４と同様に構成される。このようなアプリケーションは、１台の装置からの色が別の装置へ出力されるべく変換される色変換アプリケーションにおいて特に役立つ。
【００２３】
非線形出力がどのようにして取得できるかを実証するための一実施例として、ｎ＝１６の場合、０．３の出力値に対して、線形システムにおいて、これは０．３×１６である４．８、すなわち、線形補間器２１２によって変換され多次元ルックアップテーブル２１０の出力に加算される４／５のフラクショナル部を伴う多次元ルックアップテーブルの４番目のノードへ写像する。線形補間器２１２は、補間値を決めるため、選択されたノードの出力値及び次のノードの出力値を使用する。ノード４が出力値８を有し、ノード５が出力値１０を有するならば（たとえば、各ノードの出力値はノード値の２倍に等しい）、線形補間器２１２は、
（１０−８）＊（４／５）＝１．６
をノード４の出力値である８に加算し、出力の９．６を生じる。しかし、１次元ルックアップテーブル３０２と同様に構成された１次元ルックアップテーブル２０４を使用することにより、出力値はノード１の出力（本実施例では２）になるであろう。線形補間器２１２の出力は、同一の
（４−２）＊（４／５）＝１．６
であり、多次元ルックアップテーブル２１０の異なるノードが使用されているので、最終出力値は、１次元ルックアップテーブル２０４を伴わずに多次元ルックアップテーブル２１０を使用することにより得られた９．６ではなく、３．６になる。
【００２４】
図４はフラクショナル値の非線形写像の一実施例のブロック図４００である。本実施例において、テーブル４０２（補間テーブル）のインデックスは線形に割り当てられ、フラクション４０６は非線形に割り当てられる。０からｎまでの入力値４０８は１対１の対応関係でルックアップテーブル４０２内のインデックス４０４及びフラクションに写像される。図示されるように、６個の入力値４０８が同じインデックス４０４に写像される。各インデックス４０４は多次元ルックアップテーブル４１０内の各ノードへ対応する。同じ量のインデックス４０４が多次元ルックアップテーブル４１０内の各ノードへ写像されるので、インデックス４０４は線形写像される。しかし、フラクション４０６は線形に割り当てられない。多次元ルックアップテーブル４１０内の各ノードは同じ６個のフラクション０．０、０．１、０．２、０．４、０．６及び０．９が写像されるが、フラクションは各ノードに対し線形に割り当てられない。その理由は、各入力値に対するフラクションの間のスペーシングが線形ではなく、たとえば、最初の２個の入力値の間のスペーシングは０．１であり、最後の２個の入力値の間のスペーシングが０．３であるからである。
【００２５】
本発明の一態様によれば、テーブル２０４は、テーブル４０２と同様に構成されたテーブルを使用することによりフラクショナル値を線形補間器２１２へ非線形に割り当てることができる。テーブル４０２のように構成されたテーブルを使用することにより、テーブル２０４はインデックスをテーブル２１０のノードへ線形に割り当て、フラクションを線形補間器２１２へ非線形に割り当てることができる。
【００２６】
図５は、インデックス（Ｉｎｄｉｃｅｓ）及びフラクショナル値（Ｆｒａｃｔｉｏｎｓ）の非線形写像の一実施例のブロック図５００である。ルックアップテーブル５０２（補間テーブル）は、多次元ルックアップテーブル５０４への写像と共に対応する入力値を用いて表される。最初の１０個の入力値（０．．．９）に対し、インデックスは多次元ルックアップテーブル５０４のノード０へ写像され、フラクションは入力値０から９の各入力値に対し０．１の差で０．０から０．９まで線形に変化する。入力値１０から１４はノード１に写像され、フラクションは、入力値１０と１１の間では０．１の差で変化し始め、入力値１３と１４の間では０．３の差で、最終的に入力値ｎ−１とｎの間では０．６の差で非線形に変化する。したがって、ルックアップテーブル５０２を調べることによってわかるように、１０個の入力値がノード０へ写像され、次に５個の入力値がノード２へ写像され、最終的に２個の入力値ｎ−１及びｎがノードｍへ写像されるので、インデックスは非線形である。同様に、フラクションもまた非線形写像される。入力値０から９に対し、フラクショナル値は０．０から０．９まで線形に変化し、各入力値の差は０．１である。しかし、入力値１０−１４に対し、フラクションは０．１、０．２、０．２及び０．３の差であり、入力値ｎ−１及びｎに対し、フラクションは０．６の差である。したがって、ルックアップテーブル５０２と同様にルックアップテーブル２０４（図２）を構成することにより、等間隔型多次元テーブル２１０を使用して取得されるインデックス及びフラクションは非線形特性を補償することができる。ｘ１に対する線形補間がｙｎの正確な値ではなくｙ１を生ずる図１の実施例を使用すると、本発明は、ｘをｘ１からｘｎへシフトすることにより線形補間を使用して正確な値ｙｎを取得できるようにする。
【００２７】
本発明の一態様によれば、テーブル２０４（図２）は、テーブル５０２と同様にテーブル２０４を構成することにより、インデックスをテーブル２１０へ、フラクショナル値を線形補間器２１２へ非線形に割り当てる。これは、入力値２０２の出力値２１４への非常にフレキシブルな非線形写像を可能にさせる。
【００２８】
上記の説明は１次元のテーブルを例示しているが、本発明は任意の次数に適切に適合させることができる。１次元システムの場合、線形補間器は２個のインデックスを使用して補間する。多次元システムの場合、線形補間器は次元ごとに２個のインデックス（たとえば、３次元システムの場合、６個のインデックス）を使用する。
【００２９】
上記の構造的な特徴及び機能的な特徴を考慮すると、本発明の種々の態様による方法は図６を参照してより良く理解されるであろう。説明を簡単にするため、図６の方法は連続的に実行するように図示、記載されるが、ある種の態様は、本発明によれば、異なる順番で行われ、及び／又は、ここに図示、記載がなされている他の態様と同時に行われるので、本発明は説明された順番によって限定されないことが理解され認められるべきである。その上、説明された特徴のすべてが本発明の一態様による方法を実施するために要求されるとは限らない。この方法は、メモリが付随したプロセッサ上で動くコンピュータソフトウェア、コンピュータハードウェア、又は、コンピュータハードウェアとソフトウェアの組み合わせによって実装可能である。
【００３０】
次に図６を参照して、等間隔型多次元ルックアップテーブルを使用して非線形補間を実行する方法６００を説明する。６０２において、出力値へ変換されるべき入力値が受信される。入力値はインデックス及びフラクションとして受信されるか、又は、必要な場合には入力値はビット数に応じてインデックスとフラクションへ変換される（たとえば、０．６２という値は０．６２に１２８を乗算することにより８ビット値に変換され、インデックス７９とフラクション値０．３６が生じる。）。
【００３１】
６０４において、入力値は、等間隔型多次元ルックアップテーブル内のノードに対応するインデックス値へ非線形変換される。入力値は、入力値を等間隔型多次元ルックアップテーブル内のインデックス値へ写像する１又は２次元ルックアップテーブルを使用して、インデックス値へ非線形変換される。１又は２次元ルックアップテーブルは、多次元ルックアップテーブル内のノードに割り当てられる入力値の個数を変化させることにより入力値を非線形変換する。線形変換の場合、同数の入力値が多次元ルックアップテーブル内の各ノードへ写像される。一実施例として、１６個の入力値と、８個のノードをもつ等間隔型多次元ルックアップテーブルとに対して、各ノードは、２個の連続した入力値、たとえば、入力値０、１をノード１（インデックス値１）へ写像し、入力値２、３をノード２（インデックス値２）へ写像し、以下同様に続き、入力値１５、１６をノード８（インデックス値８）へ写像し、一方、非線形スペーシングの場合、１ノードあたりの入力値の個数は変化し、たとえば、４個の入力値（０，１，２，３）がノード１（インデックス値１）へ写像され、３個の入力値（４，５，６）がノード２（インデックス値２）へ写像され、全ての入力値がノードへ写像されるまで同様に続く。出力値は次に６０６において、インデックス値に基づいて多次元ルックアップテーブルから取り出される。
【００３２】
６０８において、等間隔型多次元ルックアップテーブルのノード間の距離に基づくフラクショナル値が生成される。フラクショナル値は線形補間又は非線形補間される。たとえば、図３のテーブル３０２と同様に構成された１次元ルックアップテーブルはフラクショナル値を線形補間するため使用され、テーブル４０２（図４）又は５０２（図５）と同様に構成されたルックアップテーブルは非線形補間のため使用される。６１０において、フラクショナル値はフラクショナル出力値を生成するため補間される。フラクショナル出力値は、対応するインデックス値に対する出力値の間の実際の差に基づいている。たとえば、インデックス値１が出力値１０に対応し、インデックス値２が出力値１５に対応するならば、フラクショナル値は０と５（１５−１０）との間に収まる。たとえば、フラクショナル値が０．８であるならば、フラクショナル出力値は
５＊０．８＝４
である。
【００３３】
６１２において、出力値はフラクショナル出力値に基づいて調整される。これは、出力値をフラクショナル出力値と結合することによって行われる。最後の段落の実施例を使用すると、入力値１．８に対して、インデックス１に対する出力値は１０であり、フラクショナル出力値は４であり、調整出力値は、出力値をフラクショナル出力値と加算することにより、すなわち、
１０＋４＝１４
によって得られる。
【００３４】
本発明の一態様によれば、入力値を多次元ルックアップテーブルへ写像するため使用される１又は２次元ルックアップテーブルは、希望の線形出力又は非線形出力を生成するため調整可能である。本発明の別の態様によれば、本発明はカラーレンダリング装置のような装置のため多次元ルックアップテーブルを準備することが可能であり、何らかの調整が必要であるならば、入力値を多次元ルックアップテーブルへ写像する１又は２次元ルックアップテーブルによって調整が行われる。
【００３５】
以上の説明事項には本発明の典型的な実施が含まれる。当然ながら、本発明を説明することを目的として考えられるあらゆるコンポーネント又は方法の組み合わせを記載することは不可能であるが、当業者は本発明の多数のさらなる組み合わせ及び並べ換えが可能であることを認めるであろう。したがって、本発明は、公平に、法律的に、公正に権利付与された範囲に応じて解釈される請求項に記載された事項の精神及び範囲に含まれるこのような代替、変更及び変形のすべてを包含すること意図する。
【図面の簡単な説明】
【００３６】
【図１】線形補間と非線形補間を比較するグラフである。
【図２】本発明の一態様によるシステムのブロック図である。
【図３】入力の線形分布ノードへの非線形割り当ての一例のブロック図である。
【図４】フラクショナル値の線形分布ノードへの非線形割り当ての一例のブロック図である。
【図５】インデックス値及びフラクショナル値の線形分布ノードへの非線形割り当ての一例のブロック図である。
【図６】本発明の一実施形態により等間隔型多次元ルックアップテーブルを使用して非線形補間を実行するブロック図である。
【図１】
2006060824.tif 000005
【図２】
2006060824.tif 000006
【図３】
2006060824.tif 000007
【図４】
2006060824.tif 000008
【図５】
2006060824.tif 000009
【図６】
2006060824.tif 000010
【外国語明細書】
2006060824000001.pdf