JP4429626B2 - 既知ノードの関数値に基づいて入力ノードの関数値を演算する方法及びシステム - Google Patents
既知ノードの関数値に基づいて入力ノードの関数値を演算する方法及びシステム Download PDFInfo
- Publication number
- JP4429626B2 JP4429626B2 JP2003123617A JP2003123617A JP4429626B2 JP 4429626 B2 JP4429626 B2 JP 4429626B2 JP 2003123617 A JP2003123617 A JP 2003123617A JP 2003123617 A JP2003123617 A JP 2003123617A JP 4429626 B2 JP4429626 B2 JP 4429626B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- function value
- nodes
- lookup table
- input
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/17—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
- G06F17/175—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method of multidimensional data
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Image Processing (AREA)
- Color Image Communication Systems (AREA)
- Complex Calculations (AREA)
- Facsimile Image Signal Circuits (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
【発明の属する技術分野】
本発明は、隣接ポイントの既知もしくは測定された関数値を補間することで、1つのポイントの関数値を演算する方法及びシステムに関する。より詳細には色空間変換のための多次元補間方法及びシステムに関する。
【0002】
【従来の技術】
多次元空間における1つのポイントの関数値を、一連の他のポイントの既知の関数値に基づいて決定することが要求される信号処理や画像処理の多くの分野で、多次元補間を行うことが必要となっている。既知関数値を有するポイントを一般に「ノード」と呼んでいるが、本明細書においては、便宜上、用語「ポイント」と「ノード」は互換性をもつものとし、用語「既知ノード」は既知関数値を有するポイントを表すものとする。これまでの多くの特許出願では、便宜上既知ノードは等間隔に離間された固定的なグリッド位置にあるよう選択され、それらのグリッド位置を測定することで既知関数値を得ていた。同数のノードの位置を必ずしも規則的なグリッド位置に制限せず、任意の位置とするように最適化すれば、非直線空間における補間精度が著しく向上することは周知である。しかし、任意のノード位置を可能とするには一層複雑な演算が必要となるため、このような方式は一般に実用化されていない。
【0003】
【発明が解決しようとする課題】
上記のことから、容易に実施でき、規則的なグリッド位置にノードが位置される従来の方法と比べて柔軟性と性能に優れた補間方法が求められている。
【0004】
【課題を解決するための手段】
既知のノードの関数値に基づいて入力ノードの関数値を演算する方法及びシステムが開示される。既知ノード及び対応する既知ノード関数値のデータベースが作成される。既知ノードは、任意の2つの隣接既知ノード間の距離が2の整数乗の数となる位置に置かれる。入力ノードが、第一のノード関数値を有する第一のノードと、第一のノードに隣接する、第二のノード関数値を有する第二のノードの間に位置するよう、既知ノードのデータベースから第一のノードが検索される。入力ノードと第一のノードの差δが演算される。次いで、δは、第一のノードと第二のノードの間の距離の、底を2とした対数であるk位置だけ右にシフトされる。入力ノードの関数値は、第一のノード関数値を、シフトされたδと、第二のノード関数値と第一のノード関数値の差との積と組み合わせることで演算される。
【0005】
【発明の実施の形態】
本発明の方法をSCC(スキャナ色空間変換)に応用すると、(測定規準法ΔEで測定した場合、)従来の方法に比べて色補間精度がほぼ2倍に向上することが実験によりわかった。
【0006】
本発明の方法は、隣接ノード間の(非正規化)距離を2の整数乗の数に限定することで、任意のノード位置に関連する複雑性を低減する。本発明の新規な方法は、簡単で容易に実施でき、既知ノードのノードインデックス、既知ノード、及び隣接する既知ノード間の距離の、底を2とした対数であるノード間指数を記憶する、小さなルックアップテーブル(例えば、図5乃至図8を参照のこと。)を追加するだけでよい。
【0007】
本発明の方法は、特に色空間変換のための多次元補間に適している。デジタル情報化の進んだ今日では、カラードキュメントはRGBで走査され、CMYKで印刷されることが多い。このため、印刷工程の一部でデータの色空間を(例えば、RGBからCMYKへ)変換することが必要である。CMYK印刷工程の大部分が、マーキングデバイスの特性や、多色トナー/インクの複雑な相互作用のために、著しく非直線的であることはよく知られている。
【0008】
わかりやすくするため、色空間変換の具体例を用いて本発明を説明する。但し、本発明は汎用であり、信号処理及び画像処理を含む多くの他の分野に適用できる。
【0009】
色空間変換の問題に対処する方法の1つは、特定のマーキングエンジンに適用されると所与のRGB値を最もよく再現する、好適なCMYK値をテーブルに記憶させるものである。テーブルの内容は、試行錯誤的な実験により決定してもよい。このようなテーブルをいったん作成すれば、所望のCMYK値をリアルタイムでルックアップすることは容易である。しかし、可能なRGBカラーは無数にあり、テーブル全体のサイズが大きくなりすぎるため、このようなテーブルは実用性に欠ける。例えば、RGB及びCMYKの各色の8ビットの通常表示は、(CMYKの各色に1つずつの)4つのテーブル(各224バイト)を必要とする。10ビットのRGB入力の場合、この数字は230バイトとなる。このように大きなメモリはコストが高く、実用的でない。
【0010】
メモリサイズの問題を解決する一般的な方法は、ノードに粗い三次元テーブルを用い、次いで細かい三次元補間段階を利用する方法である。ノード数(所望の品質に応じて9、17、33など)は可能な色数よりもずっと少ないため、テーブルサイズは管理しやすいサイズにとどめることができる。テーブルは、現在のRGBポイントに最も近いノードについての所望のCMYK値をルックアップするために使われる。次いで、補間段階で、CMYK空間が隣接ノード間で概ね区分的直線であるという仮定の下で、最も近いノードのCMYK値に基づいて、(推定された)出力CMYK値を計算する。近似精度は、ノード数、ノードの相対位置及びカラー変換の非直線性により異なる。
【0011】
数種類の補間方式が文献において提案されている。周知の多直線補間方式を選択するのが自然であるが、多直線補間方式よりもずっと効率的に実施できる多面体補間方式などの技術もある。これらの相違を、上述した三次元補間を例に取って説明する。三直線補間の場合、まず最も近い8つのノード(図1に、所与の注目ポイントを包囲する立方体のコーナー部分として示されている)を識別し、それぞれ対応するCMYK値をテーブルでルックアップする。次に、所与のポイントから各ノードへの距離分数に基づいた推定値を決定するため、CMYK値を(直接又は一連の対で)直線的に補間する。あるいは、四面体補間法では、立方体を更に多数の四面体に分割する(本明細書では、四面体とは体積がゼロでない、ノード数が最少の物体をいう)。第一のステップで、所与のポイントが上記の四面体のいずれに位置するかを決定する。次に、この決定された四面体のコーナーに対応する4つのノード(帯域幅とテーブルルックアップ数は三直線補間の場合の半分である。)のCMYK値のみをテーブルでルックアップすればよい。最後に、所与のポイントから四面体の各コーナーへの距離分数に基づいた推定値を決定するため、CMYK値を(直接又は一連の対で)直線的に補間する。最終的な補間フェーズを実施するために必要な乗算器及び加算器の数は、三直線補間の場合に比べてずっと少なくてすむ。従って四面体補間法は三直線補間法に比べてずっと効率的に実施でき、補間速度は約2倍となる。
【0012】
本発明の方法は、上記の三直線補間法や四面体補間法を含む多様な補間方式に適用できる。
【0013】
次元数がいくつであっても、区分的直線近似による多次元補間段階を順次低減して複数の一次元補間とすることができる。
【0014】
図1は、三直線補間の例示的な一連の3つの段階を示す。例えば、三直線の場合、図1のステップ1で示されるように、まず4つの一次元直線補間を必要とする第一の次元に沿って対で補間する。得られた4つの値を、更に2つの一次元直線補間(ステップ2)を必要とする、第二の次元に沿って対で使用する。最後に、得られた2つの値を、更に1つの一次元補間を必要とする第三の次元に沿って補間し、最終結果(ステップ3)を得る。従って、三直線補間では、3段階のシーケンスで実施される合計7つの一次元直線補間回路が必要である。多次元補間を同一直線上で行う限りこの結果は正しく、どの次元を最初に補間するかという順序は最終結果とは無関係である。
【0015】
色空間の非直線性は非常に複雑である場合が多く、簡単なモデルで容易に表現することができないため、実際にはルックアップテーブルと一次元直線補間による上記の一般的な補間方法が広く利用されている。従来の手法は、測定するルックアップテーブルのノードを固定的で一様なグリッド上に制限するものであった。ノードが等距離に配置されていると仮定すれば実施は容易であろうが、実用上これを正当化するのは難しい。視覚的重要性が高い空間領域や、非直線性の程度がより高い領域、すなわち区分的直線近似が粗いままではその精度が十分でない領域により多くのノードを割り当てることが望ましい。固定ノード方式の利点の1つは、ベースノードまでの距離分数の計算がかなり容易であるという点と、立方体(三直線補間法の場合)又は特定の四面体(四面体補間法の場合)の体積が空間のどこにおいても一定であるという点である。
【0016】
他方で、ノード位置を完全に任意に選択できるようにすると、従来の方式ではその複雑性が著しく増加する。この理由として、ノード間の距離が変化する可能性があること、及び立方体や四面体のサイズの変化を補償するため、除算を必要とする多次元正規化演算を行う必要があることが挙げられる。このような除算の実施はコストが高いことは周知である。
【0017】
本発明の方法では、任意の隣接ノード間の整数により非正規化された距離を2進の2の乗数とするという制約付きで、ノード間の距離を任意に設定することができる。この考え方は、2の整数乗の数による除算は単純なシフト演算として実施できることに基づく。2乗の2の乗数システムは、小さいステップと大きいステップとを同時に記述するのに好都合な対数目盛であることから、上記の更なる制約はあまり大きな制約とはならない。また、本発明の方法では、所望の再生忠実度を満たすためのノード位置を、最大限に柔軟に選択できる。本発明の方法では、均一なグリッドを使用する方法と比べ、一般に少ないノード数で同様な精度を得ることができる。更に、実施が容易であるため、ノード位置を完全に任意に設定する方法に対し、コスト(ASIC設計のシリコンゲート数や演算上の複雑さなど)を大幅に削減することができる。
【0018】
従来の方法で使用するルックアップテーブルは、入力ドメインから出力ドメインへ非直線にマッピングすることを含む。色空間変換への応用では、いくつかの用途で好適であるように、入力ドメインを例えばRGB空間、もしくはよりデバイスインディペンダントな中間的空間(例えばYCbCr空間やCIE−Lab空間、ここでCIE−Lab空間とは、1931年にCommission Internationale d'Eclairageにより最初に導入されたカラーモデルの1976年のアップデート版を指す)とし、出力ドメインをデバイス(マーキングエンジン)CMYK空間としてもよい。デバイスRGBから任意の上記色空間への非直線マッピング関数は一般的に知られておらず、また複雑であるため簡単な方法では実施できない。このため、ルックアップテーブルの内容は、通常は較正工程の一部として実験により決定される。
【0019】
一般に、ルックアップテーブルが与えられたときの基本的な一次元補間ステップは次のように表せる(図2参照のこと)。
【0020】
【数1】
【0021】
式中、xは入力ポイント、V[i+1]及びV[i]はそれぞれノード[i+1]及びノード[i]における関数値、i及びi+1はノードインデックスである。δiはポイントxからベースノードiまでの距離、Δiはノード(i)とノード(i+1)との間の距離、V0は入力ポイントxでの補間値である。等式(1)の実施は、次の3つの演算を含む。
(1)ベースノードの検索
この演算は、ノード[i] < x <ノード[i+1]となるような「最も近い」ベースノードであるノード[i]を検索するための比較ロジックを含む。解の一義性を保証するため、ノードの関数値は一般にノードインデックスに対して単調であるとみなす。)
(2)分数部の演算
この演算は、ハードウェアで実施するにはコストの高い一般的な除算を必要とする、正規化距離の分数部δi/Δiを計算する。
(3)補間
最終補間値V0を演算するには乗算1回と加算2回(減算は加算として計数)が必要である。
【0022】
単純な固定的直線ノード間隔を利用する従来の方法では、任意の2つのノード間の空間は一定(すなわちΔi = Δ= 定数(i))である。間隔が一定である場合、因数δi/Δは既知であり、正規化因数として予め算出することができる。しかし、間隔を均一とするという制約があるため、上記のように最高品質を達成するために色空間のノード分布を柔軟に変更することはできない。他方、完全にプログラム可能なノード間隔では最大限の柔軟性が得られるが、上記のように任意の除算を行うことが必要なため、実施コストが高く、複雑である。
【0023】
本発明は完全にプログラム可能なノード間隔方式のもつ柔軟性(すなわち、高品質)と、上述の固定的な直線ノード間隔方式のもつ単純性(すなわち、低コスト)の両方に対処する。本発明は、2の乗数のノード間隔設定を行うプログラム可能なノードアーキテクチャを含む。
【0024】
【数2】
【0025】
式中、Nは自然数の群、kiはノードの対毎に異なる整数定数である。ノード間隔Δiを2の乗数で表すと、除算は単純に実施できる次式のような右シフト演算で行われる。
【0026】
【数3】
【0027】
図3は、本発明の方法の1つの実施形態300のフローチャートである。既知のノードのデータベースが作成される。既知ノードは、任意の隣接する既知ノード間の距離が2の整数乗の数となるよう選択される(ブロック302)。所与の入力ノードxについて、入力ノードxがノード1と、隣接するノード2の間に位置するよう、データベースからベースノードであるノード1が検索される(ブロック304)。ノード2とノード1の差は、2kである。ノード1とノード2の関数値はそれぞれV(ノード1)とV(ノード2)である(これらの関数値はデータベースに記憶されている。)。関数値V(ノード1)から補間が開始されることから、ノード1をベースノードと呼ぶ。入力ノードxとノード1の差δが演算される(ブロック306)。値δはk位置だけ右に対数的にシフトされる(ブロック308)。kはベースノードであるノード1と第二のノードであるノード2の間の距離の、底を2とした対数である。関数値V(x)は、V(ノード1)を、シフトされたδと、V(ノード2)とV(ノード1)の差との積と組み合わせることで演算される(ブロック310)。
【0028】
ベースノードは、一般に入力色空間の起点に応じて選択される。入力色空間の起点が0である応用例の場合(例えば、R、G、Bの範囲が0から255であるRGB色空間の場合)、ベースノードは通常入力ノードよりも正でないように選択される。このとき、V(ノード2) - V(ノード1)は正である。入力色空間の起点が0でなく、中間範囲のいずれかにある応用例の場合(例えば(a, b)又は(cb, cr)が−128から+127の範囲にあるCIE−Lab空間又はYCbCr色空間の場合)、ベースノードは、通常入力ノードxが起点より大きい場合は入力ノードxより正でないよう、また入力ノードxが起点より小さい場合は入力ノードxより正であるように選択される(例えば、図7を参照のこと)。このとき、V(ノード2) - V(ノード1)は、起点よりも大きい入力ノードxについては正であり、起点よりも小さい入力ノードxについては負である。
【0029】
多くの用例において、k値(すなわち、ノード間指数)は予め演算し、データベースに記憶させることができる。用例によってはk値を必要に応じてリアルタイムで演算してもよい。
【0030】
次の例は、RGBからCMYKへの色空間変換応用例に関してデータベースがどのように構築されるかを示す。まず、任意のRGBノードとそれに対応する好適なCMYK値のテーブルを作成する。好適なCMYK値とは、特定のマーキングエンジンに適用されると、対応するRGB値を最適に再現するものである。テーブルの内容は、マーキングエンジンの出力の特定のポイント(複数)の実際のカラー値を測定する精密機器を用いて試行錯誤的な実験によって決定することができる。テーブルが作成されると、選択されたRGBポイントのセットについて、CMYK値を得るためにテーブルの内容に対して上述した四面体法などの補間法を利用することができる。これらのRGBポイント(複数)は、任意の2つの隣接するRGBポイント間の間隔が2の整数乗の数となるように選択される。選択されたRGBノード及びそれらの対応するCMYK値のみを使用してデータベースが作成される。
【0031】
図4は、本発明のシステムの1つの実施形態400のブロック図である。システム400は、データベース410、検索モジュール420及び演算モジュール430を含む。演算モジュール430は、組合せモジュール432、シフトモジュール434及び乗算モジュール436を含む。
【0032】
データベース410は、既知ノード、対応する既知ノード関数値及びノード間指数のリストを記憶している。既知ノードは、任意の2つの隣接する既知ノード間の距離が2の整数乗の数となるように位置される。リストの境界に位置しない既知ノードは、各々、対応する既知ノードとそれぞれの隣接既知ノードとの間の各距離の、底を2とした対数を表す2つのノード間指数と関連づけられる。
【0033】
検索モジュール420は、入力ノードがベースノードと、ベースノードに隣接する第二のノードの間に位置するよう、データベースからベースノードを検索する。検索方向は、入力ノードの上下に関係なく、起点位置に基づいてプログラム可能である。
【0034】
組合せモジュール432は、入力ノードとベースノードの差(及び第二のノード関数値とベースノード関数値の差ΔVを演算する。シフトモジュール434は、δをk位置分(kは第二のノードについてベースノードと関連したノード間指数)右にシフトする。乗算モジュール436は、シフトされたδと差ΔVを乗算し、積値を出力する。組合せモジュール432は、ベースノード関数値を得られた積値と組み合わせ、入力ノードの関数値V(x)を生成する。
【0035】
図4に示すように、演算モジュール430はデータベースと通信してもよい。これは、検索モジュール420が検索により得た全データを演算モジュール430に送らない場合に当てはまる。例えば、検索モジュール420は、ベースノードのノードインデックスのみを送ることもできる。演算モジュールは、送られたノードインデックスを利用して、データベース410で他のデータをルックアップする。検索モジュール420が演算モジュール430に全ての所要データを送る実施形態では、演算モジュール430はデータベース410にアクセスする必要はない。
【0036】
第一実施形態では、データベース410は、既知ノードに対応するノードインデックス、既知ノード、対応するノード関数値及びノード間指数を含む、1つのルックアップテーブルを含む。
【0037】
第二実施形態では、ノード間指数はルックアップテーブルに記憶されず、必要に応じて算出される。
【0038】
第三実施形態では、データベース410は、メインルックアップテーブル及びエキストラルックアップテーブルを含む。メインルックアップテーブルは、既知ノードに対応するノードインデックス及びこれに対応するノード関数値を含む。エキストラルックアップテーブルは、既知ノードに対応するノードインデックス、既知ノード及びノード間指数を含む。
【0039】
ノード間指数は、任意の2つの隣接ノード間の距離の、底を2とした対数である。
【0040】
【数4】
【0041】
このエキストラルックアップテーブルを、色空間の各次元と関連したメインルックアップテーブルに加えて使用することができる。メインルックアップテーブルは、従来のルックアップテーブルと同様に、既知ノードに対応するノードインデックス及び対応するノード関数値を含む。従来の補間法ではノード間隔が一定であるため、従来のルックアップテーブルはノードインデックスのみを含み、ノード値は含まない。(メインルックアップテーブル及びエキストラルックアップテーブルを使用する)このような実施形態では、ベースノードの検索はまずエキストラルックアップテーブルで行われる。得られたベースノードインデックスを利用して、メインルックアップテーブルのベースノード関数値と隣接ノードの関数値がルックアップされる。
【0042】
図5は、本発明の新規なアーキテクチャで使用できる小さいエキストラルックアップテーブルの一例を示す。以下の例示的な擬似コードは、所与の入力xに対し、補間出力V0がどのように演算されるかを説明している。この擬似コードで使用する二分探索アルゴリズムは、ベースノードを探索するサーチエンジンとして利用できる多くの周知のサーチアルゴリズムの一例である。
【0043】
【数5】
【0044】
理論上、本発明のアーキテクチャは、任意のビット−精度入力を任意のビット−精度出力にマッピングすることができる。ルックアップテーブルでは入力と出力が表にされているので、任意のビット−精度表現をテーブルに収容することができる。実際には、ビット−精度の選択は、信号(色)を表示するのに使われるビット数及び実施コストに応じて異なる。本発明の新規なアーキテクチャでは、ビット−精度の選択に制限を設けない。
【0045】
図5は、(ノード値カラムに*で示す)起点0の付近に密度の高いサンプルを必要とする色空間変換の一例を示す。起点に近いノードでは、ノード間隔が、起点から遠いノードに比べて狭くなっている点に注意されたい。図5では、ノード間隔は起点付近では4、起点から離れるに従い8、16、32となっている。RGB入力色空間を用いる(実際には平方根ルールが使われることが多い)場合には、このようなノード分布が望ましいことがわかっている。図5の「指数」カラムの行はノードインデックス及びノード値カラムの行と位置合わせされていない。これは、ルックアップテーブルの境界に位置しない各ノードが2つのノード間指数に関連づけられることを示している。例えば、ノードインデックスが2、ノード値が8であるノードは、隣接するノードインデックスが1、ノード値が4であるノードに対してはノード間指数2に、ノードインデックスが3、ノード値が16であるノードについてはノード間指数3に関連づけられている。なお、ノード値は、ノードの関数値ではなくノード自体を表している(ノード関数値はこのエキストラルックアップテーブルにではなく、メインルックアップテーブルに記憶されている)。図5は8ビットの数字で表された入力ノードに関して使用される。
【0046】
図6は、図5に示した8ビット入力ではなく、10ビット入力を適用したエキストラルックアップテーブルの一例を示している。図6でも、起点は0である。
【0047】
場合により、システムは異なる入力色空間、例えばCIE(L,a,b)、Fax(L,a,b)などをサポートする必要がある。CIE(L,a,b)では、a及びbチャネルの起点は共に128である。Fax(L,a,b)では、aチャネルの起点は128、bチャネルの起点は96である。本発明の新規なアーキテクチャは非常に柔軟であり、起点が様々に異なる場合や、異なる入力色空間が必要である場合に、実施形態を変更することなくこれらを容易にサポートできる。それゆえに、アーキテクチャは実施においては不変且つ汎用である。異なるルックアップテーブルを使用すれば異なる要求を満たすことができる。
【0048】
図7及び図8は、それぞれ起点が128及び96の信号用のエキストラルックアップテーブルの一例を示す。図7のテーブルは、CIE(L,a,b)空間のa,bチャネル、及びFax(L,a,b)空間のaチャネルに対して使用される。図8のテーブルは、Fax(L,a,b)空間のbチャンネルに対して使用される。Fax(L,a,b)空間については、図7に示したテーブルをaチャネル用にルックアップテーブルにロードし、次いでbチャネル用に図8に示したテーブルを再ロードしてもよい。
【0049】
本発明の新規な方法を、スキャナRGB入力をCIE(L,a,b)カラー出力に変換するスキャナ色変換への応用でテストした。較正目標として、標準のITU−8チャートを使用した。本発明の2の乗数によるノード間隔方式の性能を、従来の固定的直線ノード間隔方式の性能と比較するため、(より高密度な補間を行うべく)ノード数を2倍とした非直線ノード間隔の基準実施形態をベンチマークとして使用した。従来の方法と本発明の方法によりそれぞれ得られた出力CIE−Lab値と、ベンチマークにより得られた出力CIE−Lab値との間の色差信号ΔEによって、変換精度を測定した。
【0050】
従来の固定的直線ノード間隔方式と本発明の新規な2の乗数のノード間隔方式の両方について、ノード数を同一とし、17×17×17のルックアップテーブルと四面体補間を利用した。非常に高密度な補間を行う基準実施形態について、非直線的な立方根ノード間隔とした32×32×32のルックアップテーブルを使用した。これらの2つの方法のノード位置を次に示す。
直線:0 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 255
2乗:0 4 8 16 32 48 64 80 96 112 128 144 160 176 192 224 255
【0051】
直線ノード間隔方式と2の乗数ノード間隔方式について得られた平均ΔEは、それぞれ2.67、1.53であった。この実験で、本発明の新規な2の乗数アーキテクチャは、固定的直線ノード間隔アーキテクチャに比べて変換精度が著しく高く、且つ余分な演算量が少なくて済むことがわかった。また、この実験により、本発明の方法をスキャナ色空間変換に応用すると、従来の方法と比べて色の忠実度が約2倍に向上することがわかった。このように、新規な2の乗数ノード間隔アーキテクチャは、柔軟性と複雑性の間で良好なトレードオフ(バランスの取れた考量)をもたらす。本発明のアーキテクチャは、固定的直線ノード間隔アーキテクチャとは異なり、画像品質要求を更に満たすべく、非直線ノード間隔を柔軟に選択することが可能である。また、本発明の新規なアーキテクチャは、完全にプログラム可能なノードアーキテクチャに比べて単純で、実施上の費用対効果が大きい。
【0052】
特定の例示的実施形態を詳述し、添付図面に示したが、これらの実施形態はあくまで例であり、包括的な発明を制限するものではない。包括的な発明の範囲から逸脱することなく、本発明の上記の又は他の実施形態に種々の修正を加えることができる。ゆえに、本発明は開示された特定の実施形態や配列に限定されず、請求の範囲で定義される本発明の範囲及び精神から逸脱しない変更、改変及び修正は全て本発明に含まれる。
【図面の簡単な説明】
【図1】三直線補間の3つのステップを示す図である。
【図2】1つの次元における補間ステップを示す図である。
【図3】本発明の方法の一実施形態を示すフローチャートである。
【図4】本発明のシステムの一実施形態を示すブロック図である。
【図5】本発明の新規なアーキテクチャにおいて、メインルックアップテーブルと連動させて使用できる小さいエキストラルックアップテーブルの一例を示す図である。
【図6】図5に示す8ビット入力ではなく、10ビット入力を用いたエキストラルックアップテーブルの一例を示す図である。
【図7】128を起点とする信号用の例示的なルックアップテーブルを示す図である。
【図8】96を起点とする信号用の例示的なルックアップテーブルを示す図である。
Claims (2)
- (a)任意の2つの隣接した既知ノード間の距離が2の整数乗の数となるように位置される既知ノード、及び対応する既知ノード関数値のデータベースを作成するステップと、
(b)入力ノードが、第一のノード関数値を有する第一のノードと、前記第一のノードに隣接する、第二のノード関数値を有する第二のノードの間に位置するように、既知ノードの前記データベースから前記第一のノードを検索するステップと、
(c)前記入力ノードと前記第一のノードとの差δを演算するステップと、
(d)前記δをk位置だけ右にシフトするステップであって、前記kは、前記第一のノードと前記第二のノードの間の距離の、底を2とした対数であるステップと、
(e)前記第一のノード関数値を、シフトされた前記δと、前記第二のノード関数値と前記第一のノード関数値の差との積と組み合わせることで前記入力ノードの関数値を演算するステップと、
を含む、既知ノードの関数値に基づいて入力ノードの関数値を演算する方法であって、
前記ステップ(a)が、
第一のルックアップテーブルと第二のルックアップテーブルを生成するステップと、
前記第一及び第二のルックアップテーブルをデータベースへロードするステップと、
を含み、
前記第一のルックアップテーブルは、前記既知ノードに対応するノードインデックス及びこれに対応するノード関数値を含み、
前記第二のルックアップテーブルは、前記既知ノードに対応するノードインデックス、前記既知ノード及びノード間指数を含み、前記第二のルックアップテーブルの境界に位置しない各既知ノードは、対応する既知ノードとそれぞれの隣接既知ノードとの間の各距離の、底を2とした対数を表す2つのノード間指数と関連づけられ、
前記既知ノードは、第1の多次元空間の1つの次元に対応し、
前記第1のルックアップテーブル内の前記ノード関数値は、前記第1の多次元空間とは異なる別の第2の多次元空間の1つの次元に対応し、
前記第1の多次元空間は、前記ステップ(b)における前記第一のノードを検索する起点となる起点を有し、
前記第二のルックアップテーブルには、前記既知ノードが配置されると共に、前記検索起点に近い位置に配置された既知ノードの間隔は、前記検索起点より遠い位置に配置された既知ノードの間隔より狭く、
前記検索起点は、前記配置された既知ノードの内の中央の既知ノード又は中央の既知ノードの隣に配置された既知ノードに位置する
ことを特徴とする既知ノードの関数値に基づいて入力ノードの関数値を演算する方法。 - (a)任意の2つの隣接した既知ノード間の距離が2の整数乗の数となるように位置される既知ノード、及び対応する既知ノード関数値を記憶したデータベースと、
(b)入力ノードが、第一のノード関数値を有する第一のノードと、前記第一のノードに隣接する、第二のノード関数値を有する第二のノードの間に位置するように、既知ノードの前記データベースから前記第一のノードを検索する検索手段と、
(c)前記入力ノードと前記第一のノードとの差δを演算する差δ演算手段と、
(d)前記δをk位置だけ右にシフトするシフト手段であって、前記kは、前記第一のノードと前記第二のノードの間の距離の、底を2とした対数である、該シフト手段と、
(e)前記第一のノード関数値を、シフトされた前記δと、前記第二のノード関数値と前記第一のノード関数値の差との積と組み合わせることで前記入力ノードの関数値を演算する関数値演算手段と、
を含む、既知ノードの関数値に基づいて入力ノードの関数値を演算するシステムであって、
前記データベースは、第一のルックアップテーブルと第二のルックアップテーブルを記憶し、
前記第一のルックアップテーブルは、前記既知ノードに対応するノードインデックス及びこれに対応するノード関数値を含み、
前記第二のルックアップテーブルは、前記既知ノードに対応するノードインデックス、前記既知ノード及びノード間指数を含み、前記第二のルックアップテーブルの境界に位置しない各既知ノードは、対応する既知ノードとそれぞれの隣接既知ノードとの間の各距離の、底を2とした対数を表す2つのノード間指数と関連づけられ、
前記既知ノードは、第1の多次元空間の1つの次元に対応し、
前記第1のルックアップテーブル内の前記ノード関数値は、前記第1の多次元空間とは異なる別の第2の多次元空間の1つの次元に対応し、
前記第1の多次元空間は、前記検索手段における前記第一のノードを検索する起点となる検索起点を有し、
前記第二のルックアップテーブルには、前記既知ノードが配置されると共に、前記検索起点に近い位置に配置された既知ノードの間隔は、前記検索起点より遠い位置に配置された既知ノードの間隔より狭く、
前記検索起点は、前記配置された既知ノードの内の中央の既知ノード又は中央の既知ノードの隣に配置された既知ノードに位置する
ことを特徴とする既知ノードの関数値に基づいて入力ノードの関数値を演算するシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/134,236 US6975331B2 (en) | 2002-04-26 | 2002-04-26 | Method and system for efficient interpolation using programmable node spacing |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004030608A JP2004030608A (ja) | 2004-01-29 |
JP4429626B2 true JP4429626B2 (ja) | 2010-03-10 |
Family
ID=29249177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003123617A Expired - Fee Related JP4429626B2 (ja) | 2002-04-26 | 2003-04-28 | 既知ノードの関数値に基づいて入力ノードの関数値を演算する方法及びシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US6975331B2 (ja) |
EP (1) | EP1376382A3 (ja) |
JP (1) | JP4429626B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7382489B2 (en) * | 2002-07-01 | 2008-06-03 | Xerox Corporation | Efficient interpolation technique using programmable node spacing |
US7233695B2 (en) * | 2002-07-01 | 2007-06-19 | Xerox Corporation | Scan color conversion method |
JP4468270B2 (ja) * | 2005-08-31 | 2010-05-26 | キヤノン株式会社 | 正規化方法および多次元補間装置およびプログラム |
RU2450342C1 (ru) * | 2011-08-01 | 2012-05-10 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Южно-Российский государственный университет экономики и сервиса" (ФГБОУ ВПО "ЮРГУЭС") | Устройство для восстановления изображений |
RU2580456C1 (ru) * | 2014-12-30 | 2016-04-10 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Донской государственный технический университет" (ФГБОУ ВПО "ДГТУ") | Устройство восстановления искаженных значений пикселей изображений |
RU2582554C1 (ru) * | 2014-12-30 | 2016-04-27 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Донской государственный технический университет" (ФГБОУ ВПО "ДГТУ") | Устройство восстановления двумерных сигналов на основе реконструкции искаженных пикселей изображений |
CN113255264B (zh) * | 2021-06-07 | 2021-10-01 | 上海国微思尔芯技术股份有限公司 | 增量分割处理方法、装置、计算机设备和存储介质 |
CN115082323B (zh) * | 2022-08-19 | 2022-11-04 | 深流微智能科技(深圳)有限公司 | 图像处理方法、装置、电子设备及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3438781A1 (de) * | 1984-10-23 | 1986-04-24 | Robert Bosch Gmbh, 7000 Stuttgart | Elektronische steuereinrichtung fuer eine kraftstoffeinspritzanlage |
US5184317A (en) * | 1989-06-14 | 1993-02-02 | Pickett Lester C | Method and apparatus for generating mathematical functions |
JPH04207516A (ja) * | 1990-11-30 | 1992-07-29 | Norio Akamatsu | 補間方法 |
US5818744A (en) * | 1994-02-02 | 1998-10-06 | National Semiconductor Corp. | Circuit and method for determining multiplicative inverses with a look-up table |
US5904222A (en) * | 1996-11-06 | 1999-05-18 | Ford Motor Company | Variable assist power steering using vehicle speed and steering pressure |
US6040926A (en) * | 1997-12-12 | 2000-03-21 | Hewlett-Packard Company | Common non-symmetric pruned radial and non-symmetric pruned tetrahedral interpolation hardware implementation |
US6335800B1 (en) | 1998-12-11 | 2002-01-01 | Xerox Corporation | Method of multidimensional interpolation for color transformations |
US7215440B2 (en) * | 2000-12-28 | 2007-05-08 | Xerox Corporation | Fast interpolation of large color lookup tables |
-
2002
- 2002-04-26 US US10/134,236 patent/US6975331B2/en not_active Expired - Fee Related
-
2003
- 2003-04-23 EP EP03252544A patent/EP1376382A3/en not_active Withdrawn
- 2003-04-28 JP JP2003123617A patent/JP4429626B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1376382A3 (en) | 2004-02-04 |
US6975331B2 (en) | 2005-12-13 |
EP1376382A2 (en) | 2004-01-02 |
US20030201997A1 (en) | 2003-10-30 |
JP2004030608A (ja) | 2004-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6766051B2 (en) | Adaptive tree-base lookup for non-separably divided color tables | |
JP2000184224A (ja) | 入力カラ―を出力カラ―に変換する方法、及び電子画像形成システム | |
JPH08500945A (ja) | カラー出力装置の特性表示の方法と装置 | |
US8477371B2 (en) | Color lookup table generation which minimizes interpolation errors over the entire color space of a color gamut | |
EP1221812B1 (en) | Fast interpolation of large color lookup tables | |
US20020067848A1 (en) | Principal axis look-up for color correction | |
JP4429626B2 (ja) | 既知ノードの関数値に基づいて入力ノードの関数値を演算する方法及びシステム | |
EP4010894A1 (en) | Color calibration of display modules using a reduced number of display characteristic measurements | |
JP2634136B2 (ja) | 算術装置 | |
US6049400A (en) | Non-symmetric tetrahedral and non-symmetric pruned tetrahedral interpolation | |
US7023585B1 (en) | Multi-dimensional edge interpolation | |
EP0923048B1 (en) | Apparatus for tetrahedral and pruned tetrahedral interpolation | |
US6031642A (en) | Tetrahedral and pruned tetrahedral interpolation | |
US6040925A (en) | Radial and pruned radial interpolation | |
GB2333921A (en) | Non-symmetric radial and non-symmetric pruned radial interpolation | |
JP2004096751A (ja) | 色空間変換 | |
EP0923037B1 (en) | Common pruned radial and pruned tetrahedral interpolation hardware implementation | |
WO1995033331A1 (en) | Real time transformation between color spaces | |
JP2017050617A (ja) | 格子点群生成方法、格子点群生成プログラムおよび格子点群生成装置 | |
JP2001008044A (ja) | 画像処理装置 | |
Vondran | Radial and Pruned Tetrahedral Interpolation Techniques | |
Chittineni | On Device Independent Color Characterization Modeling and Management | |
JP2018201180A (ja) | 格子点群生成方法、格子点群生成プログラムおよび格子点群生成装置 | |
JP2000069306A (ja) | 色管理装置および方法およびプログラムを記録する記録媒体 | |
JPH08321956A (ja) | データ変換装置およびデータ変換装置の信号処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060428 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090617 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090623 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090924 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090929 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091016 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091117 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091216 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121225 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131225 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |