JP2002304621A - 大きいカラー・ルックアップテーブルの高速補間 - Google Patents
大きいカラー・ルックアップテーブルの高速補間Info
- Publication number
- JP2002304621A JP2002304621A JP2001388850A JP2001388850A JP2002304621A JP 2002304621 A JP2002304621 A JP 2002304621A JP 2001388850 A JP2001388850 A JP 2001388850A JP 2001388850 A JP2001388850 A JP 2001388850A JP 2002304621 A JP2002304621 A JP 2002304621A
- Authority
- JP
- Japan
- Prior art keywords
- color space
- vertex
- color
- function
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
- H04N1/6016—Conversion to subtractive colour signals
- H04N1/6019—Conversion to subtractive colour signals using look-up tables
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
- Image Processing (AREA)
Abstract
換を効率的に行う。 【解決手段】 最初の色空間内で表される画素値を、処
理装置内に受信し、最終色空間内で、予め定義されたル
ックアップテーブル内の、上記画素値及び中間点補間の
関数として上記画素値を表す、変換された画素値を特定
し、出力装置を介して、上記最終色空間内で、上記変換
された画素値を生成する方法。及び、第一の色空間で、
指定された色値を特定するための手段と、ルックアップ
テーブルからの、変換された色空間値であって、上記指
定された色値及び中間点補間の関数として予め決定さ
れ、最終色空間で指定された色を表す上記色空間値、を
受信するための処理装置と、上記変換された色空間値を
格納するためのメモリ装置と、上記変換された色空間値
を生成するための出力装置を備えた、最終色空間で、指
定された色を生成するシステム。
Description
第二の色空間への、色の変換に関連する。本発明は、3
次元ルックアップテーブル内の補間と関連して適用で
き、3次元ルックアップテーブル内の補間を特に参照す
ることによって説明される。しかし、本発明はまた、他
の同様の適用も可能であることを理解して欲しい。
を、一つの色空間から他の色空間に変換するために実行
される。画像は、装置に依存しない色空間あるいは装置
依存の色空間を用いることによって表され得る。装置に
依存しない色空間は、入力及び出力装置間の、独立した
色画像化を可能とするために、特定の入力及び出力装置
から独立した色画像を表す。一般的に、色画像は、色画
像がレンダーされる前に、元画像の測色法がその再製画
像に整合することを保証するために、出力装置の装置に
依存する色空間に変換される。そのような変換は、元画
像が装置依存の色空間で定義されているか、あるいは装
置から独立した色空間で定義されているか関らずに実行
される。例えば、外部装置と接続されていないスキャナ
とプリンタからなる、閉じたシステムは、元色画像が装
置に依存しない色空間に変換されることを必要としな
い。そのような閉じたシステムは、第一の色空間によっ
て表される色画像を生成し、引き続きその色空間を、再
製前に、第二の色空間に変換する色変換システムを持
つ。独立色画像化が可能な色変換システムは、複数の画
像出力装置間ですぐに変換可能な、第三のあるいは装置
から独立した色空間内の色画像を表す。
クステーション上で動作する色画像生成プログラムのよ
うな、入力画像端末によって生成され得る。スキャナあ
るいはワークステーションによって処理される色画像
は、画素(ピクセル)の2次元配列からなる。画像の各
画素の色は、複数の色空間を用いて表され得る。スキャ
ナ出力は、共通に、例えば、赤,緑,及び青(RGB)の
加色三原色色空間のような三刺激値の色空間に変換され
る。これらの値は、一般的に、CIE色空間の標準XY
Z座標の線形な変換であるか、あるいは、それらの値の
訂正された変換である。コンピュータによって生成され
た画像の場合、コンピュータワークステーションは、ワ
ークステーションのカラーモニタ上の色画像を、生成
し、編集し、あるいは “ソフトコピー”を眺めるため
に、ユーザによって動作させられる。ワークステーショ
ンのユーザインターフェースにて、ユーザによって選択
された色はまた、加色混合の三原色RGBのような3刺
激値の色空間内で、定義され得る。
プリンタのような画像出力端末上での再製前に、減法三
原色のシアン、マゼンタ、黄色、及び黒(CMYK)あ
るいは(簡単にCMY)色空間に変換されなければなら
ない。CMY色空間は、一般的に、色の付いた染料、あ
るいは紙の上のトナーの調合物を表現するために用いら
れる。プリンタは一般的に、各ページ上に、複数のイン
クあるいは染料の層を付加することによって動作する。
プリンタによる色の付加の応答は、比較的非線形となる
傾向がある。従って、色は、特定のプリンタために定義
され、それにより、プリンタのために定義された空間
は、装置依存である。従って、プリンタは、装置依存の
色空間内で、例えばワークステーションから情報を受信
する。プリンタはその後、その情報を、その装置依存の
色空間に変換しなければならない。ここに、スキャナあ
るいはワークステーションにおいて生成された、複数の
画像の複数の色空間と、プリンタにおいて生成されるべ
き画像の色空間の間の変換を行うための多くの異なった
方法が存在する。
いはそれ以上の次元の色空間へのマッピングポントから
なる。このマッピングは、記号付け装置あるいはプリン
タシステムの(上述のように一般的には非線形である)
物理的性質に依存する。この問題を解決するための、効
果的なアプローチは、補間を伴った、粗い3次元ルック
アップテーブルを用いることである。ルックアップテー
ブルは、異なる装置間の任意のマッピングを提供し、補
間は、テーブルのサイズを減少させるので、多くの数の
サンプル点を格納するために、多くのメモリの量が必要
とされない。一般的に、ルックアップテーブルは、色空
間の3つの色座標の各々のための、均一の格子の上の値
を含む。補間のための共通のアプローチは、全ての8つ
の頂点の線形な重み付けを与える、3つの線に囲まれた
補間である。また、四面体の補間では、平行六面体が四
面体に分割される。各四面体内の点は、その4つの頂点
に基づいて補間される。四面体の補間は、163の節点の
ルックアップテーブルにおける個々の点を発見するため
に適切である一方、643の節点、あるいはそれ以上の節
点のテーブルと共に用いられたときには、不必要な計算
を実行する。
定義されるので、3次元ルックアップテーブルが共通に
用いられる。RGB空間では、スキャナあるいはコンピ
ュータで、空間は、黒が3次元座標システムの原点0,
0,0にあり、白が3次元座標システムの最大値(8ビッ
トシステムでは255,255,255に位置することになる)
にある、3次元として定義され得る。それゆえ、原点か
ら広がる3軸の各々が、赤,緑,及び青のそれぞれを定
義する。プリンタのために、各軸がシアン,マゼンタ,
及び黄色を表す、同様の構成がなされ得る。しかしなが
ら、提案されている8ビットシステムでは、1600万以上
(即ち2563)の可能な色が存在することになり、合理性
のある空間の量の範囲内では、この数は、RGBからC
MYへの1:1マッピングとしては多すぎる。従って、R
GBからCMYへのマッピングを行うためには、比較的
少ない数のサンプルだけが伝統的に用いられている。
されたデータを数学的モデリングと結合する、遅い方法
を用いて構成されている。そのようなサイズが163の範
囲のテーブルを構成するために必要とされる時間の範囲
は、使用される方法に従って、数分から1〜2時間まで
である。2563(補間が必要とされない)あるいは643の
大きなテーブルサイズであっても、それぞれ、4096ある
いは64倍の長さの時間を必要とする。例えば、一つのエ
ントリを計算するためにもし1秒が必要だとすると、163
テーブルの4096エントリを計算するのに68分かかること
になる。その比率でいくと、2563テーブルで224=16,7
77,216エントリを計算するのに194日かかり、643テー
ブルで 218=262,144エントリを計算するのに49分か
かることになる。従って、伝統的な技術を用いてそのよ
うな高い密度のテーブルを計算することは、実際的では
ない。
規で改善された方法及び装置を提供する。
れた色値を変換するための方法は、第一の色空間内で指
定された色値を特定する。変換された色空間値は、最終
ルックアップテーブルから受信される。変換された色空
間値は、指定された色値及び中間点の補間の関数として
事前に決定されており、第二の色空間内の指定された色
を表す。変換された色空間値は、メモリ装置内に格納さ
れる。
空間値が受信される前に、最終ルックアップテーブル
が、最終ルックアップテーブルと比べてより低い解像度
を持ち、複数の変換テーブルを含む、最初のルックアッ
プテーブルの関数として生成される。
の色のために、最終ルックアップテーブルの解像度の関
数として、いくつかの中間点補間が実行される本発明の
より限定された面に従って、最終ルックアップテーブル
内で現在の色の関数として定義される、アンカー頂点を
決定することによって、そして、最終ルックアップテー
ブル内で現在の色及びアンカー頂点の関数として定義さ
れる、現在の頂点を決定することによって、中間点補間
が実行される。現在の中間色は、アンカー頂点及び現在
の頂点の関数として、中間点補間を実行することによっ
て決定される。
て、もし、一つの中間点以上の補間が実行されれば、最
終ルックアップテーブル内で定義される第二の現在の頂
点が、現在の色,アンカー頂点、及び現在の頂点、の関
数として定義される。第二の現在の中間色が、第二の現
在の頂点の関数及びアンカー頂点及び第一の現在の頂点
のうちの一つの関数として、中間点補間を実行すること
によって決定される。
対応する座標より小さくて、かつ最大の座標を持つ、第
一の色空間内の節点の関数として、最終ルックアップテ
ーブル内で定義される頂点、を決定することによって、
アンカー頂点及び現在の頂点が決定される。
アップテーブルが予め規定された解像度より小さいなら
ば、複数の中間色空間変換値が、最終ルックアップテー
ブルから受信される。変換された色空間値が、中間色空
間変換値の関数として決定される。
し、予め規定された解像度が、入力色の解像度の半分で
あれば、2つの変換値が、最終ルックアップテーブルか
ら受信される。
ルックアップテーブルの一つの次元に沿った節点間の複
数の空間の番号を、テーブル“解像度”として引用する
こととする。従って、173=4913の節点を持つ17×17×1
7テーブルは、16の解像度を持つ。テーブルはまた,16
×16×16の立方体(各々が8個の節点を持つ)を含むと
して観察され得る。ガンマウト境界におけるものを除
く、全ての立方体は、それらの全ての頂点(節点)を、
隣の立方体と共有する。ガンマウト境界における節点
は、それらの頂点の全てでは無く、そのいくつかを、隣
接する立方体と共有する。与えられた立方体は、その、
より低い左前面の頂点の位置(即ち、最も小さい座標値
を持つ頂点)によって特定される。いくつかの立方体の
ための正面の頂点で、下方の左にある、全ての節点のた
めのテーブルへの索引には4ビット必要なので、テーブ
ルは4ビット解像度を持つと言われる。
色空間から第二の(最終)色空間への、指定された色値
(画素値)の変換をするためのシステム10には、入力装
置12(例えば走査装置),表示装置14,メモリ装置16,
処理装置20,及び出力装置22を含む。処理装置20は、メ
モリ装置16及び出力装置22の双方と通信する。好ましい
実施例では、メモリ装置16は、処理装置20内に含まれ
る。しかし、他の構成もまた考えられる。第一及び第二
の色空間は、例えば、装置依存の色空間(例えばRGB
あるいはCMYK)あるいは測色上の色空間(例えばL
*a*b)でありうることを理解して欲しい。更に、入力
及び出力装置12,22がそれぞれ、CMYK色空間で動作
する一方、表示装置14は、例えば、RGB色空間で動作
し得る。
れた色値(画素値)を変換するための方法24は、ステッ
プAで開始する。複数の色空間の間で色値を変換するた
めに、好ましくはメモリ装置16に格納される3次元ルッ
クアップテーブルは、3あるいは4ビットの解像度(即
ち9×9×9あるいは17×17×17節点)を持つことが想定
される。以下に更に詳細に説明されるように、6,7,
あるいは8ビット解像度(即ち65×65×65,129×129×
129、あるいは257×257×257)節点を持つ最終ルックア
ップテーブルは、ステップBで決定される。最終ルック
アップテーブルは、ステップCで、メモリ装置16に格納
される。最初のルックアップテーブルよりも、最終ルッ
クアップテーブルはより多くの節点を持つので、最終ル
ックアップテーブルは、最初のルックアップテーブルに
比較してより高い解像度を持つ。ルックアップテーブル
の節点は、対応する色値(画素値)を変換(変形)する
ための、最初の色空間から最終色空間への変換値(変形
値)を含む。
ると、ステップDで、画像30がメモリ装置内16に走査さ
れる。画像30は、最初の色空間(例えば、RGBのよう
な装置依存の色空間)で走査され、メモリ装置16に格納
される前に、第二の色空間(例えば、L*a*bのような
測色上の色空間)に変換されることを理解して欲しい。
更に、画像データは、画素毎に変換される。
色)が、画像30内で、ステップEで特定される。現在の
画素値の関数として選択される変換値(変形値)は、ス
テップFで、最終ルックアップテーブルから処理装置20
内に受信される。もし最終ルックアップテーブルの解像
度が8ビットより小さいなら、複数の中間変換値が選択
され、処理はステップGとともに継続する。もし最終ル
ックアップテーブルの解像度が8ビット以上なら、単一
変換値が選択され、処理はステップHに移る。ステップ
Gでは、単一変換値が複数の変換値から計算される。単
一変換値は、ステップHで、メモリ装置16に格納され
る。このやり方で、現在の画素値は、第一の色空間から
第二の色空間に変換され、メモリ装置16に格納される。
な色空間に変換するために、類似の変換工程が実行され
得ることを理解して欲しい。この場合には、現在の画素
値は、ステップIで、出力装置22を介して、オプション
で生成される。出力装置22は、好ましくは、ゼログラフ
ィー環境で動作し、白黒あるいはカラー出力のいずれか
を生成する、デジタル出力装置(例えば印刷装置)であ
る。
30内で変換されるために維持されるか否かの決定がなさ
れる。もし、より多くの画素値が変換されるべきなら、
次の現在の画素値を特定するために、制御はステップE
に戻る。もし、より多くの画素値が変換されるべきでな
いなら、工程を停止するために、制御はステップKに移
る。
テップGは、ステップG1で開始する。好ましい実施例
では、最終ルックアップテーブルの解像度は、27(129
×129×129節点)と想定される。関心のある現在の色
は、ステップG2で特定される。
プテーブルは、129×129×129節点(頂点)の立方体40
として表される。その後、問題の(ガンマウト境界以外
の)位置(頂点)だけが、球体で印されたこれらの点4
2a,42b,42c,42d,42e,42f,42
g,42h(頂点)である。他の点は、他の同様の立方
体と共有される。もし、最終ルックアップテーブルが7
ビット解像度を持つなら、何らかの8ビット解像度の点
を発見するためには、頂点42a,42b,42c,4
2d,42e,42f,42g,42h(アンカー頂
点)の一つと、アンカー頂点の7つの隣接点の一つを平
均することで十分であることが図4から明らかである。
例えば、下側の左の頂点42aが、ステップG3で、アン
カー頂点として選ばれる。その後、7つの隣接する頂点
42b,42c,42d,42e,42f,42g,4
2hの一つが、ステップG4で、現在の頂点(例えば42
b)として選ばれる。アンカー頂点42aは、最初の色空
間で、現在の興味の対象である色の座標より小さい座標
を持つ、最も近い節点である。現在の頂点42bは、現在
の興味の対象である色が、アンカー頂点及び現在の頂点
42bからの線に沿って中間に位置するように選択され
る。即ち、現在の興味の対象である色を含む立方体を特
定するのは、その節点である。中間頂点(中間色)42i
は、ステップG5で、アンカー頂点42aと現在の頂点42
bの間の中間点補間を介して決定される。工程はステッ
プG6で停止する。
は26、あるいは6ビットである。変換を決定する単純な
方法は、第一に中間節点の組を突き止めることである。
これらの中間節点は、現在の興味の対象である色のため
の、変換された画素値の計算に貢献する、仮定的27ビッ
ト格子の節点である。これらの節点は、その後、7ビッ
ト解像度から8ビット解像度に変換するための方法に類
似する方法で計算される。最終の色を得るために、7ビ
ット解像度から8ビット解像度に変換するための、中間
節点が用いられる。この単純な変換は、明らかに、7ビ
ット解像度から8ビット解像度に行くために要求される
操作の3倍の操作を含み、2つの中間節点を得るための
2倍の操作を含み、それらを使用するために1回の操作
が必要である。しかし、以下に説明されるように、7ビ
ット解像度から8ビット解像度に行くためのコストの2
倍以下にコストを低減することが可能である。
は、四面体及び他の伝統的な補間方法より、極めて少な
い計算コストしか伴わない。2つの点q及びrの間の中
間点pが、
れば、これは、
の加算及び一つのシフトが必要とされる。もし、2つの
中間点平均化操作を計算することを望むなら、
翻訳される。更に、2つの別々の中間点細分に比べて、
そのような計算は平均的にはより正確である。中間点平
均化には、一般的な補間技術に比較して、乗算,大きな
ゲインが必要でないことを知って欲しい。以下に述べる
ように、各入力色のための3次元補間は、出力分離当
り、2つの中間点平均化操作、よりは少ない操作で実行
されうる。
64×64×64タイリング(即ち、64個の立方体、あるいは
65個の節点が、各方向に存在する)を示す。7ビット表
現の、どこの点も、64×64×64タイリング内の2つの節
点間の中間点補間を介して決定される。8ビット表現を
持つ全ての点の中で、低位ビット0のものは、257×257
×257格子と129×129×129格子の双方の上に位置する。
これらは、おおよそ、各8つの点に対して1つを表す。
それらの位置以外の、8ビット解像度の点は、仮定的7
ビット解像度表現内の、2つの節点(少なくともその内
一つは64×64×64タイリング内の頂点である)の間の中
間点補間を介して決定される。元64×64×64タイリング
の少なくとも一つの頂点を最終中間点補間で用いること
ができ、最終中間点補間で用いられる他の頂点が、元64
×64×64タイリングからの中間点補間を用いて計算され
うるので、この方法は、2つの中間点補間のみを必要と
する。このやり方では、常に、最大で2つの平均化(64
×64×64タイリングからの、最大で3つの点を含む)が
存在する。
論理を単純にするため、この場合は、その点自身で平均
化がなされる。その場合及び付加的な7つの場合には、
最初の平均化の結果は、必要な結果をもたらす。
解像度を持つ最終色ルックアップテーブルが与えられる
こと、あるいは計算されていることが想定される。例え
ば、RGB色空間内の単一点は、セル索引j,k,及び
Lを得るために、6つの高位ビットを用いることによっ
て補間される。低位ビットは、
|(B<<4) に従って連鎖される。
選択は、高速の補償にはさほど適していない。例えば、
図4で球として表された全ての節点は、2つの節点を、
立方体の頂点において平均化することによって計算され
得る。平均して、どの節点が他の節点であるべきかを計
算することは困難ではないが、一旦節点42aがアンカー
節点として選択されると、その情報を、計算されるべき
節点の、低位ビット上に索引付けされたルックアップテ
ーブルに格納する方がより早い。第二の例として、節点
42c(前面の左端)と42e(主対角線に沿っている)の
間の点(図示せず)を考慮してほしい。その節点は、立
方体の頂面の中心に位置する、節点42a及び中間節点
(図示せず)の平均として計算されることになる。これ
らの3つの節点及びそれらの補間の順序を選択するため
に、ルックアップ技術を使用することは、第一の例にお
けるよりも、より魅力的である。
てのビットが、256要素ルックアップテーブルへの索引
として用いられる。256要素ルックアップテーブル内の
エントリは、64節点毎に反復する。10個の1ビットの
数b0...b9(ソフトウェア環境ではバイトとして
格納されうる)は、テーブルから検索される。もしb0
が0なら、一つの平均のみが必要である。必要とされる
平均は、その後、ルックアップテーブルから、以下の関
数として検索されることになる。
[L+b6]+1)>>1(時間で7/64番め),(ここでLUTは“ルッ
クアップテーブル”を表す) もしb0が0でなければ、以下の2つの平均化操作が必要
となる。
b6]+LUT[j+b7][k+b8][L+b9]<<1)+2>>2 このバージョンは、(2つあるいは1つの補間のいずれ
が必要か、に従って)一つの分岐を含み、(現代の機器
にとっては典型的なような)分岐が高価な機器に利用可
能である。代替の手段(依然として1つの分岐を持つ
が、この場合には、ジャンプテーブルを通しての分岐で
あり、ルックアップは1つ少ない)は、スイッチ命令文
のための制御変数として、低索引(LowIndex)を用い
る。要約すると、必要な操作カウントは以下に与えられ
る。ここで、Nは出力次元の数である。
約することは、余分のシフト,スイッチ,あるいは1次
元ルックアップを行うことに、容易に勝ることが予想さ
れる。
ブルを要求する一方、そのような大きなルックアップテ
ーブルが、色マネジメントシステムに付きまとう必要は
無いことに気づいて欲しい。画像を処理する少し前に、
容易に伝統的なサイズの(例えば16×16×16から64×64
×64までの)ルックアップテーブルをアップサンプル
(upsample)することができる。実際、今述べた上述の
技術は、ルックアップテーブルを、各次元において2の
因数によって、必要なサイズに至るまで、反復してアッ
プサンプル(upsample)するために可能な一つの方法を
提供する。しかし、補間方法は常に立方体からの限られ
た数の頂点を使用するので、再帰的に用いられた場合、
満足できる結果を提供しにくい。それゆえ、線形補間あ
るいは立方体補間を用いて、テーブルをアップサンプル
(upsample)するための方法が提供される。
の)技術を用いて、スパーステーブル(疎テーブル)が
構築されることを理解して欲しい。そして、フルテーブ
ルが、その後、補間を用いて作られる。補間は、高速二
分技術を用いる。アプリケーションに応じて、3次線形
あるいは3次立方体補間のいずれかが使用されうる。典
型的なテーブルサイズは9×9×9あるいは17×17×17で
ある。上述の方法は、最終テーブル上で高速補間を用い
るが、速度を犠牲にすることによって、四面体の補間、
あるいは3次線形補間を用いる補間もまた用いられるこ
とができる。
の構築は、遅い(典型的なワークステーション上での現
行の技術を用いて、17×17×17テーブルをもたらす典型
的な特性付けには、9分かかる。しかし、マルチプル・
レンダリング,プリントモード,メディア等を意図する
場合、フルの特性付けには、数時間かかりうる)。特徴
付けは、比較的なめらかである。その意味は、例え、最
も要求の厳しいアプリケーションでも、立方体の補間で
8×8×8テーブルで十分、と考えられるということであ
る。ハイエンドのアプリケーションに対して、フルのテ
ーブルを生成する(即ち256×256×256=224のエント
リ)ことさえ可能であるが、エントリの数に比例して時
間がかかり、もし173テーブルで9分かかるなら、(お
およそ212のエントリ)、その後、フルテーブルには、4
000倍の時間、あるいは1ヶ月近くを必要とすることに
なる。
×5)は、2との問題を提示する。第一に、変換プロセ
スに固有の非線形性の捕捉に失敗しうる(これは、装置
に依存する。そして、潜在する関数が高曲率を持つ領域
での大きな誤差が存在することを明白にする)。第二
に、節点間で発生する線形補間によるアーティファクト
が発生しうる(補間値生成におけるよじれから潜在的に
生成されるアーティファクトは、より、ぎこちなく走査
される)。適度のサイズのテーブル(例えば9×9×9)
は、継続して線形の補間アーティファクトを持ち得る
が、より良く装置のふるまいを捕捉し得る。17×17×17
のテーブルは、典型的特徴付けの全ての情報内容を含む
が、最も要求が厳しいアプリケーションにとって、線形
補間は依然として問題となることがあり得る。33×33×
33を越えると、線形補間が画像品質の問題をもたらす可
能性は非常に低い。しかし、非常に大きなテーブルは、
補間の必要性を減少させ、あるいは除去させる。RGB
からL*a*b(スキャナ用)へ変換する、256×256×25
6テーブルは、一つのテーブルルックアップにおいて必
要な色をリターンさせるが、48Mバイトのメモリを必要
とする。129×129×129テーブルは、たった6Mバイトの
メモリ(及び補間用の2つの加算とシフト)を必要とす
る。各補間は中間点細分なので、たとえ129×129×129
テーブルであっても、多くの計算の節約がなされる。
ルを用いることには価値があるので本発明はそのような
大きなテーブルの構築を扱う。中間点細分は、曲線及び
表面を計算する、既知の、高速な手段である。そして、
このことは、ボリューム(volume)に一般化できる。中
間点細分は数値的に安定だが、補間を行うための唯一の
方法では無い。例えば、何らかのサイズの何らかの補間
値を伴ったテーブルを構築するために、前方差分化を用
いることができる。そして、大きなスケールファクター
にとっては、これは更に高速である。しかし、(以下
の)タイミングテストに示されるように、中間点細分
は、ほとんどのアプリケーションのために、十分に高速
である。
度である位、入力テーブルが十分高い密度である場合、
入力テーブルサイズから最終テーブルサイズへの変換
は、以下のように、反復中間点細分によって為され得
る。
次元当り2n+1のエントリを持ち、入力テーブルが2m+1の
エントリを持つと仮定する(ここでn>m)。浮動小数
点の実施においては、入力テーブルの各エントリがその
最終位置内にあるように、まずテーブルをまばらに格納
し、その後、各次元毎に、k=mからn-1まで、存在す
るエントリの各組ei,ei+2 n-kについて、新たなエン
トリ
はテーブルサイズの現在のロガリズム(底が2),そし
て、他の次元は固定されている。
において、テーブルサイズは、2倍になる。そして、こ
れは、テーブルが、現在の次元における、その最終サイ
ズに達するまで継続する。これが各次元で繰り返され
る。このようにして、テーブルは、9×9×9から9×9×1
7へ,9×9×33へ,・・・9×9×257へ、その後、9×17
×257へ,・・・、そして最終的に、129×257×257から
257×257×257へ成長し得る。
とともに、事前にロードされねばならない。その後、新
しいエントリを形成するための表現は、単純に、
ットは破棄されねばならない。
への成長には、分離あたり、たった13秒しかかからない
ことが発見された。
に、立方体補間を使用し得る。ベジェ立方体は、節点の
補間、及び、適切に配列された“中間節点”C1の連続
性を提供する。他の方法もまた使用できる。ひとつの次
元で、工程は2つのステップで進む。 1.中間節点を以下のように生成:
トni・・・ni+3を以下のように細分する。ni,i+1を
(ni+ni+1)/2として計算し、同様に、ni+1,i+2及び
ni+2,i+3を計算する。今計算された、3つの隣接する
組を平均して、ni,i+2及びni+1,i+3を得る。今計算さ
れた組を平均して、ni,i+3を得る。このセグメント
を、2つのセグメントni,ni,i+1 ,ni,i+2 ,n
i,i+3及びni,i+3 ,ni+1,i+3 ,ni+2,i+3,ni+3
に置換する。最後の反復で、加入した新しいセグメン
ト結合だけが維持される必要がある。これが、各次元
で、3次線形補間として反復される。固定点補間での正
確性のために、細分のレベル当り、3つの防御ビットが
必要とされる。これは、依然として非常に高速の(フル
の257×257×257テーブルのために、1分離当り約80
秒)線形補間に比べて、約6倍の費用がかかる。
ーブル(257×257×257あるいは129×129×129)であ
る。他のアプリケーションは、装置の高速再特徴付けで
ある。もし装置が、8×8×8テーブルの情報によって、
うまく特徴付けされているが、線形補間アーティファク
トを避けるために、システムが16×16×16あるいは更に
32×32×32を用いるなら、8×8×8テーブルは、16×16
×16の1/8の時間で、あるいは、32×32×32の1/64の時
間で(つまり数分で)計算され得、その後、立方体中間
点補間によって、1秒以内にスケールアップされる(た
とえ32×32×32のケースであっても)。
へ色値を変換するためののシステム。
へ色値を変換するためのフローチャート。
るためのフローチャート。
Claims (5)
- 【請求項1】 最初の色空間内で表される画素値を、処
理装置内に受信し、 上記画素値及び予め定義されたルックアップテーブル内
の中間点補間の関数として、最終色空間内での上記画素
値を表す、変換された画素値を特定し、 出力装置を介して、上記最終色空間内で、上記変換され
た画素値を生成するステップを含む、 最終色空間で画素値を生成するための方法。 - 【請求項2】 請求項1に記載の、最終色空間内で画素
値を生成する方法であって、上記特定するステップが、 上記ルックアップテーブルの解像度の関数として、複数
の中間点補間を実行し、 上記画素値の関数として、上記ルックアップテーブル内
で定義される、アンカー頂点を決定し、 上記画素値及び当該アンカー頂点の関数として、上記ル
ックアップテーブル内で定義される、現在の頂点を決定
し、 上記アンカー頂点及び当該現在の頂点の関数として、上
記中間点補間を実行することによって、現在の中間画素
値を決定し、そして、 現在の色,上記アンカー頂点,及び上記現在の頂点の関
数として、最終ルックアップテーブル内で定義される、
第二の現在の頂点を決定し、そして、 当該第二の現在の頂点の関数、及び、上記アンカー頂点
と上記第一の現在の頂点のうちの一つの関数として、中
間点補間を実行することによって、第二の現在の中間色
を決定するステップを含む、請求項1に記載の、最終色
空間内で画素値を生成する方法。 - 【請求項3】 第一の色空間で、指定された色値を特定
するための手段と、 ルックアップテーブルからの、変換された色空間値であ
って、上記指定された色値及び中間点補間の関数として
予め決定され、最終色空間で指定された色を表す上記色
空間値、を受信するための処理装置と、 上記変換された色空間値を格納するためのメモリ装置
と、 上記変換された色空間値を生成するための出力装置を備
えた、最終色空間で、指定された色を生成するためのシ
ステム。 - 【請求項4】 上記処理装置が、画素値の関数として上
記ルックアップテーブル内で定義されたアンカー頂点の
関数として、及び当該画素値と当該アンカー頂点の関数
として上記ルックアップテーブル内で定義された第一の
現在の頂点の関数として、上記中間点補間を実行し、現
在の中間画素値が上記中間点補間を介して上記アンカー
頂点と上記第一の現在の頂点の関数として決定される、
請求項3に記載の最終色空間で画素値を生成するための
システム。 - 【請求項5】 上記処理装置が、現在の画素値,上記ア
ンカー頂点,及び上記第一の現在の頂点の関数として上
記ルックアップテーブル内で定義された第二の現在の頂
点の関数として、付加的な中間点補間を実行し、第二の
現在の中間画素値が、当該中間点補間を介して、上記第
二の現在の頂点の関数、及び上記アンカー頂点と上記第
一の現在の頂点のうち一つの関数として決定される、請
求項4に記載の最終色空間内で画素値を生成するための
システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/750552 | 2000-12-28 | ||
US09/750,552 US7215440B2 (en) | 2000-12-28 | 2000-12-28 | Fast interpolation of large color lookup tables |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002304621A true JP2002304621A (ja) | 2002-10-18 |
Family
ID=25018306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001388850A Pending JP2002304621A (ja) | 2000-12-28 | 2001-12-21 | 大きいカラー・ルックアップテーブルの高速補間 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7215440B2 (ja) |
EP (1) | EP1221812B1 (ja) |
JP (1) | JP2002304621A (ja) |
BR (1) | BR0106513A (ja) |
DE (1) | DE60135537D1 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3684158B2 (ja) * | 2001-01-29 | 2005-08-17 | キヤノン株式会社 | 色情報処理方法およびプログラム |
US6801212B1 (en) * | 2002-03-29 | 2004-10-05 | Cypress Semiconductor Corp. | Apparatus and method for color data interpolation |
US6975331B2 (en) * | 2002-04-26 | 2005-12-13 | Xerox Corporation | Method and system for efficient interpolation using programmable node spacing |
US7382489B2 (en) * | 2002-07-01 | 2008-06-03 | Xerox Corporation | Efficient interpolation technique using programmable node spacing |
KR20040107614A (ko) * | 2003-06-05 | 2004-12-23 | 삼성전자주식회사 | Mpd에 색재현을 위한 색신호 처리장치 및 그 방법 |
JP3734175B2 (ja) * | 2003-11-26 | 2006-01-11 | デンセイ・ラムダ株式会社 | 遅延装置、電源装置および信号遅延用プログラム |
JP2008505533A (ja) * | 2004-06-30 | 2008-02-21 | アドビ システムズ, インコーポレイテッド | N次元面体補間 |
US7755817B2 (en) * | 2004-12-07 | 2010-07-13 | Chimei Innolux Corporation | Color gamut mapping |
US7876330B2 (en) * | 2007-03-30 | 2011-01-25 | Kabushiki Kaisha Toshiba | Color conversion apparatus, filter processing apparatus and color conversion method |
US7864366B2 (en) * | 2007-09-11 | 2011-01-04 | Xerox Corporation | Method and system for improved space filling interpolation |
US20090213135A1 (en) * | 2008-02-26 | 2009-08-27 | Nokia Corporation | Providing color space conversion |
US9323438B2 (en) | 2010-07-15 | 2016-04-26 | Apple Inc. | Media-editing application with live dragging and live editing capabilities |
US8963947B2 (en) * | 2011-01-25 | 2015-02-24 | Dolby Laboratories Licensing Corporation | Enhanced lookup of display driving values |
US8775480B2 (en) | 2011-01-28 | 2014-07-08 | Apple Inc. | Media clip management |
US9997196B2 (en) | 2011-02-16 | 2018-06-12 | Apple Inc. | Retiming media presentations |
US11747972B2 (en) | 2011-02-16 | 2023-09-05 | Apple Inc. | Media-editing application with novel editing tools |
US10733957B2 (en) * | 2018-09-26 | 2020-08-04 | Apple Inc. | Method and system for display color calibration |
CN113450440B (zh) * | 2021-06-22 | 2023-05-26 | 网易(杭州)网络有限公司 | 渲染图像的方法、装置、计算机可读存储介质和电子设备 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4837722A (en) * | 1986-05-14 | 1989-06-06 | Massachusetts Institute Of Technology | Digital high speed 3-dimensional interpolation machine |
JPH0644236B2 (ja) * | 1989-03-08 | 1994-06-08 | 富士ゼロックス株式会社 | 記録装置のモニタ制御装置 |
DE4012905A1 (de) * | 1990-04-23 | 1991-10-24 | Linotype Ag | Verfahren und vorrichtung zur erzeugung einer digitalen drucktabelle fuer druckfarben bei bildreproduktionsgeraeten |
US5432892A (en) * | 1992-11-25 | 1995-07-11 | International Business Machines Corporation | Volummetric linear interpolation |
US5390035A (en) * | 1992-12-23 | 1995-02-14 | International Business Machines Corporation | Method and means for tetrahedron/octahedron packing and tetrahedron extraction for function approximation |
US5751926A (en) * | 1992-12-23 | 1998-05-12 | International Business Machines Corporation | Function approximation using a centered cubic packing with tetragonal disphenoid extraction |
US5471324A (en) * | 1994-04-05 | 1995-11-28 | Xerox Corporation | Color printer calibration with improved color mapping linearity |
US5481583A (en) * | 1994-08-24 | 1996-01-02 | Picker International, Inc. | Higher order preinterpolator for backprojection |
JPH0877341A (ja) * | 1994-08-29 | 1996-03-22 | Xerox Corp | カラー画像処理装置及び方法 |
US5748176A (en) * | 1995-07-20 | 1998-05-05 | Hewlett-Packard Company | Multi-variable colorimetric data access by iterative interpolation and subdivision |
US5917963A (en) * | 1995-09-21 | 1999-06-29 | Canon Kabushiki Kaisha | Image processing apparatus and image processing method |
US5862253A (en) * | 1996-05-03 | 1999-01-19 | Harlequin Group Plc | Color imaging system and process with high-speed rendering |
US5870077A (en) * | 1997-02-26 | 1999-02-09 | Hewlett-Packard Company | Method for tristimulus color data non-linear storage, retrieval, and interpolation |
US6163617A (en) * | 1997-11-26 | 2000-12-19 | Picker International, Inc. | Backprojection with a multi-color rendering engine |
US6040925A (en) * | 1997-12-12 | 2000-03-21 | Hewlett-Packard Company | Radial and pruned radial interpolation |
US6049400A (en) * | 1997-12-12 | 2000-04-11 | Hewlett-Packard Company | Non-symmetric tetrahedral and non-symmetric pruned tetrahedral interpolation |
US6278747B1 (en) * | 1998-03-13 | 2001-08-21 | International Business Machines Corporation | Method and apparatus for performing digital detection of data stored on an optical medium |
US6985543B1 (en) * | 1998-03-27 | 2006-01-10 | Marvell International Ltd. | Digital servo channel for recording apparatus |
US6760489B1 (en) * | 1998-04-06 | 2004-07-06 | Seiko Epson Corporation | Apparatus and method for image data interpolation and medium on which image data interpolation program is recorded |
US6496608B1 (en) * | 1999-01-15 | 2002-12-17 | Picsurf, Inc. | Image data interpolation system and method |
-
2000
- 2000-12-28 US US09/750,552 patent/US7215440B2/en not_active Expired - Fee Related
-
2001
- 2001-12-19 DE DE60135537T patent/DE60135537D1/de not_active Expired - Lifetime
- 2001-12-19 EP EP01130304A patent/EP1221812B1/en not_active Expired - Lifetime
- 2001-12-21 JP JP2001388850A patent/JP2002304621A/ja active Pending
- 2001-12-28 BR BR0106513-0A patent/BR0106513A/pt not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
US20020122207A1 (en) | 2002-09-05 |
EP1221812B1 (en) | 2008-08-27 |
EP1221812A3 (en) | 2005-07-20 |
DE60135537D1 (de) | 2008-10-09 |
BR0106513A (pt) | 2002-09-24 |
US7215440B2 (en) | 2007-05-08 |
EP1221812A2 (en) | 2002-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4290296B2 (ja) | 入力カラーを出力カラーに変換する方法、及び電子画像形成システム | |
EP0611231B1 (en) | Method for cross-device color calibration and enhancement using explicit constraints | |
EP0700198B1 (en) | System for correcting color images using tetrahedral interpolation over a hexagonal lattice | |
JP3371964B2 (ja) | カラー出力装置の特性表示の方法と装置 | |
JP2002304621A (ja) | 大きいカラー・ルックアップテーブルの高速補間 | |
JP3493104B2 (ja) | カラー画像処理装置 | |
US7684084B2 (en) | Multiple dimensional color conversion to minimize interpolation error | |
JPH0795431A (ja) | 色較正のための凸補間の方法および装置 | |
EP0681396A2 (en) | Method and apparatus for calibrating a four color printer | |
JP3273204B2 (ja) | 4色カラープリンタの色分解画像処理方法及び装置 | |
JPH0730772A (ja) | 画像処理装置 | |
JPH08237495A (ja) | 選択されたカラーを正確に描写するためのカラープリンタ校正方法 | |
JP3976849B2 (ja) | 補間器入力データを生成する装置 | |
US6707938B2 (en) | Principal axis look-up for color correction | |
JPH11205620A (ja) | 3次元ルックアップテーブルの補正法およびこれを行う画像処理装置ならびにこれを備えたデジタルカラープリンタ | |
Bala et al. | Efficient color transformation implementation | |
JP4429439B2 (ja) | カラー変換方法及び変換プロセッサ | |
EP0923048B9 (en) | Apparatus for tetrahedral and pruned tetrahedral interpolation | |
EP0923049A2 (en) | Apparatus for tetrahedral and pruned tetrahedral interpolation | |
US5966474A (en) | Non-symmetric radial and non-symmetric pruned radial interpolation | |
EP0923037B1 (en) | Common pruned radial and pruned tetrahedral interpolation hardware implementation | |
JPH11220630A (ja) | 3次元ルックアップテーブルの作成法およびこれを行う画像処理装置ならびにこれを備えたデジタルカラープリンタ | |
JP2001320593A (ja) | 画像処理装置およびそれを備えた画像形成装置ならびに画像処理方法 | |
JP2005167503A (ja) | 画像処理装置およびそれを備えた画像形成装置 | |
JPH09107485A (ja) | 色変換方法および色変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041220 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071210 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071217 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080317 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080414 |