JP2007174392A - データ変換装置、データ変換装置の制御方法およびプログラム - Google Patents
データ変換装置、データ変換装置の制御方法およびプログラム Download PDFInfo
- Publication number
- JP2007174392A JP2007174392A JP2005370893A JP2005370893A JP2007174392A JP 2007174392 A JP2007174392 A JP 2007174392A JP 2005370893 A JP2005370893 A JP 2005370893A JP 2005370893 A JP2005370893 A JP 2005370893A JP 2007174392 A JP2007174392 A JP 2007174392A
- Authority
- JP
- Japan
- Prior art keywords
- data
- dimensional
- vertex
- lut
- signal
- 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.)
- Withdrawn
Links
Images
Landscapes
- Color Image Communication Systems (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
【課題】色空間変換などに利用可能なデータ変換装置における回路規模を低減する。
【解決手段】 データ変換装置において、N次元データの各成分を上位ビットと下位ビットに分割する分割手段と、N次元座標空間における位置に対応するデータをルックアップテーブル(LUT)として記憶する記憶手段と、入力されたN次元データの座標を内部に含むN次元超四面体の(N+1)個の頂点位置に対応するデータのアドレスを生成するアドレス生成手段と、生成されたアドレスに基づいて記憶手段に対し2回のアクセスを行うことにより記憶手段からデータを読み出す読出手段と、読出手段で読み出したデータと前記下位ビットの値とに基づいて補間演算を行い変換結果のデータとして出力する補間演算手段とを備え、記憶手段は超立方体の各頂点に対応するデータを2N−2個に分割し記憶していることを特徴とするデータ変換装置。
【選択図】図11
【解決手段】 データ変換装置において、N次元データの各成分を上位ビットと下位ビットに分割する分割手段と、N次元座標空間における位置に対応するデータをルックアップテーブル(LUT)として記憶する記憶手段と、入力されたN次元データの座標を内部に含むN次元超四面体の(N+1)個の頂点位置に対応するデータのアドレスを生成するアドレス生成手段と、生成されたアドレスに基づいて記憶手段に対し2回のアクセスを行うことにより記憶手段からデータを読み出す読出手段と、読出手段で読み出したデータと前記下位ビットの値とに基づいて補間演算を行い変換結果のデータとして出力する補間演算手段とを備え、記憶手段は超立方体の各頂点に対応するデータを2N−2個に分割し記憶していることを特徴とするデータ変換装置。
【選択図】図11
Description
本発明は、色空間変換などに利用可能なデータ変換技術に関するものである。
近年、入力機器としては、スキャナ、ビデオカメラなどが普及し、一方、出力機器としては、インクジェット、染料熱昇華型あるいは電子写真などの方式を用いた、各種カラープリンタが普及している。ところで、これらのカラー入出力機器は、それぞれが固有の色空間を取り扱うようになっている。そのため、例えばあるスキャナで得たカラー画像データを、そのままカラープリンタに転送して印刷した場合、印刷されたカラー画像の色がスキャナによって読取られたオリジナルのカラー画像の色と一致することはほとんどない。このようなデバイス間での色再現性の問題を解決するため、入力デバイスの色空間を出力デバイスの色空間に変換する処理(以降、色空間変換と呼ぶ)が必要となる。そのため、色空間変換機能が各種入出力機器に搭載されている。
この色空間変換とは、入力γ補正,輝度濃度変換,マスキング,黒生成,UCR,出力γ補正等を含む処理を指す。一般的には、入力デバイスの3色(例えば、レッド,ブルー,グリーン)のデジタル画像データを、出力デバイスの3色(例えば、シアン,マゼンタ,イエロー)あるいは4色(例えば、シアン,マゼンタ,イエロー,ブラック)のデジタル画像データに変換することが多い。また、電子写真方式の複写機などの場合、稼働時間とともにプリンタエンジンの色再現特性が変化するため、定期的なキャリブレーションが必要となる。このような場合は、入力デバイスの4色(例えば、CMYK)から出力デバイスの4色(例えば、CMYK)の変換も必要となる。色空間変換の実現方法として、予め入力値に対応する出力値をルックアップ・テーブル(以下、“LUT”)としてメモリに記憶しておき、デジタル画像データの各入力画素に対しLUTを参照し出力値を導出する方法がある。なお、このLUTを用いた色空間変換方法では、LUTの記憶に必要なメモリ容量を削減するため補間演算を併用するのが一般的である。例えば、3色入力のデジタル画像データに対する色空間変換は三次元補間演算を用いて実現する。また、4色入力のデジタル画像データに対する色空間変換は、四次元補間演算を用いて実現する。
図1は、三次元ルックアップ・テーブル(3D−LUT)を用い三次元補間演算を行なう色空間変換装置の機能ブロックを例示的に示す図である。デジタル画像信号(R、G、B)101の各成分は、データ分割部110により上位ビット102と下位ビット103に分離される。上位ビット102は3D−LUT120から参照値RD104を読み出す際に利用される。また、下位ビット103は重み係数gとして補間演算に使用される。補間演算部130は重み係数gと参照値RD104との積和演算により出力値X105を導出している。このようにして、入力されたデジタル画像信号(R、G、B)101は色空間変換装置により変換され、出力値X105が得られる。
図2は、三次元の色空間(例えば、RGB空間)を単位立体により分割した状態を示す図である。3D−LUT120には、この単位立体の頂点に対応する色空間変換後のデータである参照値RD104が格納されている。つまり、デジタル画像信号101の各成分の上位ビット102により決定される色空間の座標に対応する単位立体を選択し(図2の網掛け部分)、この単位立体の頂点に対応する参照値RD104を補間演算に使用するのである。なお、このとき使用される三次元補間演算の方法としては四面体補間法がある。図3は、四面体補間法に用いられる6つのタイプの四面体を示す図である。四面体補間法では、入力されたデジタル画像信号101の座標が選択された単位立体内の(1)Type0〜(6)Type5のどの四面体内に属するかを判断し、属すると判断された四面体の頂点座標に対応する4つの参照値RD104を用い補間演算を行う。
さらに、三次元四面体補間法は多次元の場合に拡張可能である。以下に多次元超四面体補間法について説明する。図2に示す三次元直交座標に固定された空間を多次元化し、N次元直交座標に固定された空間にした場合、単位立体は多次元の単位超立体(N次元超立体、もしくは超六面体と呼ぶ)に多次元化される。そして、図3に示す三次元四面体補間法で使用された四面体は、この多次元化により超四面体と呼ばれるN+1面体に多次元化される。この超四面体は、単位超立体の基準点と対角点を結ぶ線と、超立体の互いに直交し、かつ連結しているN本の稜線によって形成される。そして1つの単位超立体を分割し、N!個の超四面体を作ることができる。単位超立体から超四面体を切り出す過程で選択したN本の稜線は互いに垂直であり、N次元直交座標の各軸方向にそれぞれ平行であるため、各軸方向の出力変移量の線形和を基準点出力値に加算した値が多次元補間演算の出力となる。したがって、選択された稜線の両端点における参照値の差分値に、各稜線上での基準点からの距離を乗算して、それら乗算値を基準点の参照値に累積加算することで補間演算を行うことが出来る。
ところで、高速に3D−LUTから参照値を読み出し補間を実行する技術として、例えば以下の2つの技術が開示されている。双方ともに、多次元LUTを複数のサブメモリに分割記憶することで、参照値の読み出しを並列化しN次元補間演算を高速に処理している。
(i)三次元立方体(トライリニア)補間法を高速に実行する技術(特許文献1)
この技術は、3D−LUTを8個の領域に分割記憶し、3D−LUTから参照値を並列に読み出すことで高速化を実現している。3D−LUTの8分割の方法を図4を用いて説明する。図4は、図2で示したRGB空間の一部分を切り出したものである。図中の8種のマーク(●、△、◇、▽、○、◆、■、◎)は、それぞれ同一の記憶領域に格納される参照値のRGB空間上での位置(格子点)を示している。つまり、●印で示されている位置の参照値は0番の記憶領域に格納される。同様に、△印は1番、◇印は2番、▽印は3番、○印は4番、◆印は5番、■印は6番、◎印は7番の記憶領域にそれぞれ格納される。そのため、単位立体の各頂点に対応する参照値がすべて異なるメモリに記憶されていることから、各頂点に対応する参照値を並列に読み出す際にアクセスが競合することはない。なお、各格子点における参照値は重複することなく均等に8個の記憶領域に格納されている。なお、以降では、多次元LUTを複数の記憶領域に格納する際の、それぞれの記憶領域を“サブメモリ”と呼ぶ。なお、上述の記述を用いて多次元補間演算を行なう際には、多次元LUTを2N個のサブメモリに分割記憶すればよい。
この技術は、3D−LUTを8個の領域に分割記憶し、3D−LUTから参照値を並列に読み出すことで高速化を実現している。3D−LUTの8分割の方法を図4を用いて説明する。図4は、図2で示したRGB空間の一部分を切り出したものである。図中の8種のマーク(●、△、◇、▽、○、◆、■、◎)は、それぞれ同一の記憶領域に格納される参照値のRGB空間上での位置(格子点)を示している。つまり、●印で示されている位置の参照値は0番の記憶領域に格納される。同様に、△印は1番、◇印は2番、▽印は3番、○印は4番、◆印は5番、■印は6番、◎印は7番の記憶領域にそれぞれ格納される。そのため、単位立体の各頂点に対応する参照値がすべて異なるメモリに記憶されていることから、各頂点に対応する参照値を並列に読み出す際にアクセスが競合することはない。なお、各格子点における参照値は重複することなく均等に8個の記憶領域に格納されている。なお、以降では、多次元LUTを複数の記憶領域に格納する際の、それぞれの記憶領域を“サブメモリ”と呼ぶ。なお、上述の記述を用いて多次元補間演算を行なう際には、多次元LUTを2N個のサブメモリに分割記憶すればよい。
(ii)三次元四面体補間法を高速に実行する技術(特許文献2)
この技術は、3D−LUTを4つのサブメモリに分割記憶し、3D−LUTから参照値を並列に読み出すことで高速化を実現している。ただし、使用するサブメモリの数が(i)の場合に比較しより少ない。図5は、図4と同じく図2で示したRGB空間の一部分を切り出したものである。図中の4種のマーク(●、◇、▽、◎)は、それぞれ同一の記憶領域に格納される参照値のRGB空間上での位置(格子点)を示している。つまり、●印で示されている位置の参照値は0番の記憶領域に格納される。同様に、◇印は1番、▽印は2番、◎印は3番の記憶領域にそれぞれ格納される。三次元四面体補間法の場合、選択された四面体の頂点に対応する4つの参照値を並列に読み出すことにより補間演算を高速化できる。また、(i)の場合と同様、各格子点における参照値は重複することなく均等に4個のサブメモリに格納されている。なお、上述の記述を用いて多次元補間演算を行なう際には、N次元入力の超四面体(N+1面体)補間法に対し、多次元LUTを(N+1)個のサブメモリに分割記憶すればよい。
この技術は、3D−LUTを4つのサブメモリに分割記憶し、3D−LUTから参照値を並列に読み出すことで高速化を実現している。ただし、使用するサブメモリの数が(i)の場合に比較しより少ない。図5は、図4と同じく図2で示したRGB空間の一部分を切り出したものである。図中の4種のマーク(●、◇、▽、◎)は、それぞれ同一の記憶領域に格納される参照値のRGB空間上での位置(格子点)を示している。つまり、●印で示されている位置の参照値は0番の記憶領域に格納される。同様に、◇印は1番、▽印は2番、◎印は3番の記憶領域にそれぞれ格納される。三次元四面体補間法の場合、選択された四面体の頂点に対応する4つの参照値を並列に読み出すことにより補間演算を高速化できる。また、(i)の場合と同様、各格子点における参照値は重複することなく均等に4個のサブメモリに格納されている。なお、上述の記述を用いて多次元補間演算を行なう際には、N次元入力の超四面体(N+1面体)補間法に対し、多次元LUTを(N+1)個のサブメモリに分割記憶すればよい。
なお、図5に示した3D−LUTの分割においては、任意の四面体について各頂点に対応する参照値がすべて異なるメモリに記憶されていることから、各頂点に対応する参照値を並列に読み出す際にアクセスが競合することはない。このことを、図6を参照して説明する、
図6は、三次元四面体補間法における、基準点から対角点までの単位立体の各頂点を三次元マンハッタン距離Dmを用いて分類した図である。なお、N次元直交座標に固定された空間上の2点A,Bの距離を下記式で定義し、N次元マンハッタン距離Dmとしている。
図6は、三次元四面体補間法における、基準点から対角点までの単位立体の各頂点を三次元マンハッタン距離Dmを用いて分類した図である。なお、N次元直交座標に固定された空間上の2点A,Bの距離を下記式で定義し、N次元マンハッタン距離Dmとしている。
Aの座標を(X0<i1>,X1<j1>,X2<k1>,・・・XN−2<a1>,XN−1<b1>)
Bの座標を(X0<i2>,X1<j2>,X2<k2>,・・・XN−2<a2>,XN−1<b2>)
とした時、
Dm=|X0<i1>−X0<i2>|+|X1<j1>−X1<j2>|+|X2<k1>−X2<k2>|+・・・+|XN−2<a1>−XN−2<a2>|+|XN−1<b1>−XN−1<b2>|
図に示されるように、マンハッタン距離Dm=0となる基準点(X0<i>,X1<j>,X2<k>)に対して、
マンハッタン距離Dm=1となる点は(X0<i+1>,X1<j>,X2<k>)、(X0<i>,X1<j+1>,X2<k>)、(X0<i>,X1<j>,X2<k+1>)の3点、
マンハッタン距離Dm=2となる点は(X0<i+1>,X1<j+1>,X2<k>)、(X0<i>,X1<j+1>,X2<k+1>)、(X0<i+1>,X1<j>,X2<k+1>)の3点、
マンハッタン距離Dm=3となる点は対角点である(X0<i+1>,X1<j+1>,X2<k+1>)の1点となる。
Bの座標を(X0<i2>,X1<j2>,X2<k2>,・・・XN−2<a2>,XN−1<b2>)
とした時、
Dm=|X0<i1>−X0<i2>|+|X1<j1>−X1<j2>|+|X2<k1>−X2<k2>|+・・・+|XN−2<a1>−XN−2<a2>|+|XN−1<b1>−XN−1<b2>|
図に示されるように、マンハッタン距離Dm=0となる基準点(X0<i>,X1<j>,X2<k>)に対して、
マンハッタン距離Dm=1となる点は(X0<i+1>,X1<j>,X2<k>)、(X0<i>,X1<j+1>,X2<k>)、(X0<i>,X1<j>,X2<k+1>)の3点、
マンハッタン距離Dm=2となる点は(X0<i+1>,X1<j+1>,X2<k>)、(X0<i>,X1<j+1>,X2<k+1>)、(X0<i+1>,X1<j>,X2<k+1>)の3点、
マンハッタン距離Dm=3となる点は対角点である(X0<i+1>,X1<j+1>,X2<k+1>)の1点となる。
ところで、単位超立体から補間演算に使用する超四面体を選択する工程は、基準点からどの頂点を通って対角点に到達するかという経路選択問題と置き換えることが出来る。そのため、マンハッタン距離Dmが同一の頂点群からは常に1つの頂点のみが選択される。つまり、マンハッタン距離が同一の頂点群を同じサブメモリに記憶した場合は、同一のサブメモリから異なる2頂点が同時には読み出されることはないことが分かる。そのため、前述したように同一のサブメモリへアクセスが競合することはないのである。図6において、Mem0,Mem1,…,Mem3と記載された太線で囲まれた頂点がそれぞれサブメモリに記憶されることになるため、三次元四面体補間法では、3D−LUTを4個のサブメモリに分割記憶できることが理解できる。
図7は、四次元超四面体補間法における、基準点から対角点までの単位立体の各頂点を四次元マンハッタン距離Dmを用いて分類した図である。図7において、Mem0,Mem1,…,Mem4と記載された太線で囲まれた頂点がそれぞれサブメモリに記憶され、四次元超四面体補間法では、多次元LUTを5個のサブメモリに分割記憶できることが理解できる。
米国特許4837722号明細書
特開平10−307911号公報
しかしながら、特許文献1に開示されている技術では、多次元四面体補間法を採用する場合、読み出し回路の規模が大きくなるという問題がある。なぜなら、補間演算に必要なN+1個の参照値をサブメモリから並列読み出しするために、メモリインターフェースなどの周辺回路を2N個持つ必要があるからである。
一方、特許文献2に開示されている技術では、多次元四面体補間法を採用する場合、周辺回路はN+1個に抑えられるため読み出し回路規模は小さい。しかし、Nが(2の冪乗−1)で表される数でないときは、サブメモリの個数が2の冪乗にならない。たとえばN=4の場合、サブメモリの個数は5個となる。サブメモリの個数が2の冪乗でない場合、サブメモリをアクセスするためのアドレス生成をシフト演算やビットマスクだけでは実現できず、割り算器などを用いた複雑なアドレス生成回路が必要となる。また、一般的にメモリは2の冪乗のワード数を記憶可能な容量として製品化されているため、これらのメモリ製品を利用してサブメモリを構成する場合、メモリの使用に無駄が生じる。つまり、1ランク容量の大きなメモリ製品を使用する必要がある。さらに、補間演算においては、乗算器、引き算器、加算器が夫々3個づつ必要であり、ハードウエア規模の増大を招いていた。
本発明は上記問題点に鑑みなされたものであり、色空間変換などに利用可能なデータ変換装置における回路規模を低減することを目的としている。
各成分が複数ビットで表わされるN次元(Nは3以上の整数)データを入力し、N次元データのN次元座標空間内の位置に応じたデータを出力するデータ変換装置において、N次元データの各成分を上位ビットと下位ビットに分割する分割手段と、上位ビットにより取り得るN次元座標空間における位置に対応するデータをルックアップテーブル(LUT)として記憶する記憶手段と、入力されたN次元データの座標を内部に含むN次元超四面体のN+1個の頂点位置に対応するデータを記憶手段に対し2回のアクセスを行うことにより読み出す読出手段と、読出手段で読み出したデータと下位ビットの値とに基づいて補間演算を行い変換結果のデータとして出力する補間演算手段とを備え、記憶手段はN次元超四面体を含む超立方体の頂点間のマンハッタン距離をD、前記超立方体の基準となる頂点から等マンハッタン距離にある各頂点の数をN、3次の二項分布の係数1、3、3、1で示されるデータ個数を示す要素をG(i)(iは1〜2N−3)と定義したとき、
となるようにG(i)を設定し、G(i)の第1、第3係数で示される個数の頂点に対応するデータを第(i×2−1)番目のLUTに格納し、G(i)の第2、第4係数で示される個数の頂点に対応するデータを第(i×2)番目のLUTに格納することにより、超立方体の各頂点に対応するデータを2N−2個に分割し記憶している。
となるようにG(i)を設定し、G(i)の第1、第3係数で示される個数の頂点に対応するデータを第(i×2−1)番目のLUTに格納し、G(i)の第2、第4係数で示される個数の頂点に対応するデータを第(i×2)番目のLUTに格納することにより、超立方体の各頂点に対応するデータを2N−2個に分割し記憶している。
そして、読出手段は、上位ビットによりN次元超立方体を特定し、N次元超立方体の頂点により構成されるN次元超四面体を下位ビットにより特定する。
さらに、読出手段は、記憶手段におけるN次元超四面体のN+1個の頂点位置に対応するデータが記憶されているアドレスを生成するアドレス生成手段を備える。
そして、アドレス生成手段は、読出手段による記憶手段に対する2回のアクセスを識別するための情報を有するアドレスを生成する。
N次元座標空間における複数の位置に対応するデータをルックアップテーブル(LUT)として記憶する記憶手段を備え、各成分が複数ビットで表わされるN次元(Nは3以上の整数)データを入力し、N次元データのN次元座標空間内の位置に応じたデータを出力するデータ変換装置の制御方において、N次元データの各成分を上位ビットと下位ビットに分割する分割工程と、入力されたN次元データの座標を内部に含むN次元超四面体のN+1個の頂点位置に対応するデータを記憶手段に対し2回のアクセスを行うことにより読み出す読出工程と、読出工程で読み出したデータと下位ビットの値とに基づいて補間演算を行い変換結果のデータとして出力する補間演算工程とを備え、記憶手段はN次元超四面体を含む超立方体の頂点間のマンハッタン距離をD、前記超立方体の基準となる頂点から等マンハッタン距離にある各頂点の数をN、3次の二項分布の係数1、3、3、1で示されるデータ個数を示す要素をG(i)(iは1〜2N−3)と定義したとき、
となるようにG(i)を設定し、G(i)の第1、第3係数で示される個数の頂点に対応するデータを第(i×2−1)番目のLUTに格納し、G(i)の第2、第4係数で示される個数の頂点に対応するデータを第(i×2)番目のLUTに格納することにより、超立方体の各頂点に対応するデータを2N−2個に分割し記憶している。
となるようにG(i)を設定し、G(i)の第1、第3係数で示される個数の頂点に対応するデータを第(i×2−1)番目のLUTに格納し、G(i)の第2、第4係数で示される個数の頂点に対応するデータを第(i×2)番目のLUTに格納することにより、超立方体の各頂点に対応するデータを2N−2個に分割し記憶している。
N次元座標空間における複数の位置に対応するデータをルックアップテーブル(LUT)として記憶する記憶手段を備え、各成分が複数ビットで表わされるN次元(Nは3以上の整数)データを入力し、N次元データのN次元座標空間内の位置に応じたデータを出力するデータ変換装置の制御プログラムにおいて、N次元データの各成分を上位ビットと下位ビットに分割する分割工程を実行するためのプログラムコードと、入力されたN次元データの座標を内部に含むN次元超四面体のN+1個の頂点位置に対応するデータを記憶手段に対し2回のアクセスを行うことにより読み出す読出工程を実行するためのプログラムコードと、読出工程で読み出したデータと下位ビットの値とに基づいて補間演算を行い変換結果のデータとして出力する補間演算工程を実行するためのプログラムコードとを備え、記憶手段はN次元超四面体を含む超立方体の頂点間のマンハッタン距離をD、前記超立方体の基準となる頂点から等マンハッタン距離にある各頂点の数をN、3次の二項分布の係数1、3、3、1で示されるデータ個数を示す要素をG(i)(iは1〜2N−3)と定義したとき、
となるようにG(i)を設定し、G(i)の第1、第3係数で示される個数の頂点に対応するデータを第(i×2−1)番目のLUTに格納し、G(i)の第2、第4係数で示される個数の頂点に対応するデータを第(i×2)番目のLUTに格納することにより、超立方体の各頂点に対応するデータを2N−2個に分割し記憶している。
となるようにG(i)を設定し、G(i)の第1、第3係数で示される個数の頂点に対応するデータを第(i×2−1)番目のLUTに格納し、G(i)の第2、第4係数で示される個数の頂点に対応するデータを第(i×2)番目のLUTに格納することにより、超立方体の各頂点に対応するデータを2N−2個に分割し記憶している。
本発明によれば、色空間変換などに利用可能なデータ変換装置における回路規模の低減を可能とする技術を提供することができる。
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
(第1実施形態)
<概要>
第1実施形態ではカラー複写機に搭載された3次元(RGB)入力の色空間変換装置について説明する。ここでは、補間演算に必要な四面体の4頂点に対応する参照値を2回のルックアップテーブル(LUT)参照サイクルにより読み出す。また、四面体の基準頂点からのマンハッタン距離の偶奇に基づきLUTを分割記憶している。このように構成することにより、LUTの分割数を2個に抑制すると共に、分割個数を2のべき乗に設定可能となり、回路規模の低減が可能となる。
<概要>
第1実施形態ではカラー複写機に搭載された3次元(RGB)入力の色空間変換装置について説明する。ここでは、補間演算に必要な四面体の4頂点に対応する参照値を2回のルックアップテーブル(LUT)参照サイクルにより読み出す。また、四面体の基準頂点からのマンハッタン距離の偶奇に基づきLUTを分割記憶している。このように構成することにより、LUTの分割数を2個に抑制すると共に、分割個数を2のべき乗に設定可能となり、回路規模の低減が可能となる。
<装置構成>
図8は、第1実施形態に係るカラー複写機800の例示的な内部構成図である。カラー複写機800は、画像読取部820、画像処理部830、プリンタ部840、および、各部を制御する制御部810から構成されている。
図8は、第1実施形態に係るカラー複写機800の例示的な内部構成図である。カラー複写機800は、画像読取部820、画像処理部830、プリンタ部840、および、各部を制御する制御部810から構成されている。
画像読取部820は、CCDセンサ824、アナログ信号処理部826等により構成される。レンズ822を介しCCDセンサ824に結像された原稿の画像が、CCDセンサ824によりR,G,Bのアナログ電気信号に変換される。アナログ電気信号に変換された画像情報は、アナログ信号処理部826に入力され、R,G,Bの各色毎に補正等が行われた後にアナログ・デジタル変換(A/D変換)される。デジタル化されたフルカラー信号(以下、デジタル画像信号という)は、画像処理部830に入力される。
画像処理部830は、入力されたデジタル画像信号に対し、入力γ補正、色空間変換、濃度補正、スクリーン処理を施し、プリンタ部840へ処理後のデジタル画像信号を出力する。なお、色空間変換処理の詳細については後述する。
プリンタ部840は、例えば、不図示の、レーザ等からなる露光制御部、画像形成部、転写紙の搬送制御部等により構成され、入力されたデジタル画像信号により転写紙上に画像を記録する。
制御部810は、演算制御用のCPU812、固定データやプログラムを格納するROM814、データの一時保存やプログラムのロードに使用されるRAM816等により構成される。そして、画像読取部820、画像処理部830、プリンタ部840等を制御し、本装置のシーケンスを統括的に制御する。外部記憶装置818は、本装置が使用するパラメータやプログラムを記憶するHDD等の装置である。RAM816のデータやプログラム等は、外部記憶装置818からロードされる構成としても構わない。
<色空間変換処理>
図9は、第1実施形態に係る画像処理部830内の色空間変換部のブロック構成図である。以下、図9を参照し画像処理部830で行なわれる色空間変換処理について説明する。
図9は、第1実施形態に係る画像処理部830内の色空間変換部のブロック構成図である。以下、図9を参照し画像処理部830で行なわれる色空間変換処理について説明する。
画像処理部830内の色空間変換部はN次元の入力信号に対し、LUTから読み取った参照値と補間演算とを利用して新たな信号を出力する。
データ分割部910には前述のデジタル画像信号905が入力される。このデジタル画像信号905はN本の入力信号である。データ分割部910は、デジタル画像信号905を上位ビット信号912と下位ビット信号914に分割する。デジタル画像信号905がN本の入力信号であるため、データ分割後の上位ビット信号912と下位ビット信号914はともにN本の信号となる。
例えば、上位ビット信号912は、補間演算のときに使用される単位超立体の個数に応じてそのビット数(ビット長)が決定される。たとえば、N次元空間のある軸について単位超立体が2x−1個ある場合、その軸に対応する上位ビット信号912のビット数はxビットとなる。なお、下位ビット信号914は、デジタル画像信号905のビット数から上位ビット信号912のビット数を差し引いた、残りのビット数で表現される。
順序判定部930は、N本の下位ビット信号914を受け取り、下位ビット信号914の大小関係を判定し、順序信号932として出力する。この順序信号932は、前述の単位超立体から補間演算に使用する超四面体(N+1面体)の稜線を選択する工程に従い、予め定められたN!通りの稜線選択パターンを指し示す信号である。
重み係数算出部940は、下位ビット信号914をもとに補間演算の重み係数信号942を算出し、補間演算部970に出力する。このとき下位ビット信号914から重み係数942を算出する方法は、対応表を予めテーブル化し、テーブルから重み係数942を読み出すことで変換しても良いし、予め定められた計算式を用いて導出しても良い。
参照値読み出し部950は、N本の上位ビット信号912と参照信号932とに基づいて多次元LUT960からN+1個の参照値を2以上のサイクルで読み出し、参照値信号952として出力する。多次元LUT960は複数個のサブメモリで実現されており、参照値読み出し部950はサブメモリの個数と等しい本数のアドレス信号954を各サブメモリに出力して各サブメモリをアクセスし、各サブメモリからデータ信号962を受け取る。
補間演算部970は、N+1本の参照値信号952とN本の重み係数信号942を受け、前述した補間演算式に従い補間演算を行い、1本以上の出力信号975を出力する。
<多次元LUTおよび参照値読み出し部>
次に、多次元LUT960および参照値読み出し部950についてさらに詳しく説明する。第1実施形態では、N=3である場合に用いられる三次元ルックアップ・テーブル(以下、“3D−LUT”と呼ぶ)の構成方法について説明する。
次に、多次元LUT960および参照値読み出し部950についてさらに詳しく説明する。第1実施形態では、N=3である場合に用いられる三次元ルックアップ・テーブル(以下、“3D−LUT”と呼ぶ)の構成方法について説明する。
図10は、図2で示したRGB空間の一部分を切り出したものである。図中の2種のマーク(●、◇)は、それぞれ同一の記憶領域に格納される参照値のRGB空間上での位置(格子点)を示している。つまり、●印で示されている位置の参照値は0番の記憶領域に格納され、◇印は1番の記憶領域に格納される。例えば、三次元四面体補間法の場合、基準点を頂点1000とすると、頂点1000の参照値、およびと、対角点側頂点(頂点2)である3個の頂点1004,1005,1006の計4個の参照値を同一のメモリMem0に格納する。また、基準値側頂点(頂点1)である3個の頂点1001,1002,1003の参照値、および、対角点1007の計4個の参照値を同一のメモリMem1に格納する。そして、後述するように、選択された四面体の頂点に対応する4つの参照値を2回の読み出しサイクルにより読み出す。
図11は、参照値読み出し部1101および3D−LUT1100の内部構成を例示的に示す図である。なお、参照値読み出し部1101および3D−LUT1100はそれぞれ、図9の参照値読み出し部950および多次元LUT960に相当する。
1102はアドレス生成回路であり、1103,1104,1105の3個のデジタル画像信号の上位ビット信号Rh[x−1:0],Gh[x−1:0],Bh[x−1:0]であり、1106は図9の932に対応する順序信号である。ここで、xは前述のビット数を示している。1107,1108は3次元補間の基準点又は対角点側頂点(頂点2),基準値側頂点(頂点1)又は対角点のそれぞれの参照値をメモリから読み出すためのアドレス信号MA0,MA1である。また、1109,1110はそれぞれ、アドレス選択回路1111,1112及び、データ選択回路1119,1120の選択信号となる、サブメモリ・バンク選択信号SEL0,SEL1である。
そして、1115,1116はそれぞれサブメモリ(Mem0),サブメモリ(Mem1)であり、1111,1112はそれぞれ、サブメモリ1115,1116のアドレス選択回路である。1113,1114はそれぞれ、アドレス選択回路1111,1112から出力されたアドレス信号であり、それぞれサブメモリ1115,1116に供給される。
また、1119,1120はそれぞれデータ選択回路である。1117,1118はそれぞれサブメモリ1115,1116からの出力データ信号MD0,MD1であり、全てのデータ選択回路1119,1120に供給される。1121,1122は図9の952に対応する信号であり、それぞれ、3次元補間の基準点又は頂点2,頂点1又は対角点の参照値を示す。また、1123は図示していない制御部で生成される、メモリの時分割処理のサイクルを制御するための制御信号CSELであり、アドレス生成回路1102に入力される。
次に、図11の動作を説明する。アドレス生成回路1102が3個の信号Rh[x−1:0],Gh[x−1:0],Bh[x−1:0]を受けて、2組のアドレス信号MA0,MA1とサブメモリ・バンク選択信号SEL0,SEL1[1:0]を出力する。ここで、2本のメモリ・バンク選択信号は、各々が異なる値である。
そして、アドレス信号MA0,MA1とサブメモリ・バンク選択信号SEL0,SEL1が全てのアドレス選択回路1111,1112に入力される。各アドレス選択回路1111,1112は各々が異なるサブメモリ・バンクID“SmB_ID”を有している。そして、自らが対応するサブメモリ・バンクID“SmB_ID”と入力されたサブメモリ・バンク選択信号が等しいアドレス信号を2本の中から1つ選択して出力し、サブメモリにアクセスする。サブメモリ1115,1116はそれぞれ受け取ったアドレス値1113,1114の格子点データを出力データ信号1117,1118として全てのデータ選択回路1119,1120に供給する。データ選択回路1119,1120ではそれぞれ入力されているサブメモリ・バンク選択信号SEL0,SEL1にしたがって、2本のサブメモリの出力から1本を選択して、参照データ1121,1122として出力する。
<参照点読み出しおよびアドレスの生成>
図12は、参照値読み出し部1101が3D−LUT1100から4個の参照値を2サイクルで読み出す際のタイミングチャートである。
図12は、参照値読み出し部1101が3D−LUT1100から4個の参照値を2サイクルで読み出す際のタイミングチャートである。
1200はクロック信号CLKである。1201は制御信号CSELである。1202はサブメモリ・バンク選択信号SEL0、1203はサブメモリ・バンク選択信号SEL1である。1204はアドレス信号MA0、1205はデータ信号MD0、1206はアドレス信号MA1、1207はデータ信号MD1である。1208は出力信号1121、1209は出力信号1122のタイミングチャートを夫々示す。なお、510はタイミングチャートの動作を説明する為に付したサイクル番号を示す。
ここで、図11で示した参照データ読み出し部及びLUTは、クロック信号CLKの立ち上がり同期で動作するものとし、1201〜1209の各信号は、クロック信号CLKの立ち上がりに同期して変化するものとする。
制御信号CSELは、クロック信号1サイクルごとに変化し、上記2サイクルで参照データをを読み出す動作中で何サイクル目であるかを示している。また、サブメモリ・バンク選択信号SEL0及びSEL1は後述する演算により生成される信号であり、2サイクルごとに値が変化する信号である。アドレス信号MA0は基準点又は頂点2の参照値をサブメモリから読み出すためのアドレス信号であり、制御信号CSELが’0’のときは、基準点のアドレス値を、’1’の時は頂点2のアドレス値を出力する。一方、アドレス信号MA1は頂点1又対角点の参照値をサブメモリから読み出すためのアドレス信号であり、制御信号CSELが’0’のときは、対角点のアドレス値を、’1’の時は頂点1のアドレス値を出力する。
まず、サブメモリ・バンク選択信号SEL0が’0’(SEL1は’1’)の場合に関してサブメモリから参照値を読み出す動作を説明する。
基準点の参照値をサブメモリから読み出す動作に関しては、サイクル番号0において、アドレス信号MA0は基準点のアドレス値を示しており、かつ、サブメモリ・バンク選択信号SEL0が’0’である。その為、アドレス選択回路1111にてアドレス信号MAが選択されて、サブメモリ1115に入力され、サイクル番号1にてデータ信号MD0を介して、基準点の参照値が読み出される。その後、データ選択回路1119にてデータ信号MD0が選択されて、出力信号1121に基準点の参照値が出力される。同様な動作を、1サイクル遅れて、頂点2に関して行うことにより、頂点2の参照値の読み出しが可能となる。
同様に、対角点の参照値をサブメモリから読み出す動作に関しては、サイクル番号0において、アドレス信号MB0は対角点のアドレス値を示しており、かつ、サブメモリ・バンク選択信号SEL1が’1’である。その為、アドレス選択回路1112にてアドレス信号MBが選択されて、サブメモリ1116に入力され、サイクル番号1にてデータ信号MD1を介して、対角点の参照値が読み出される。その後、データ選択回路1120にてデータ信号MD1が選択されて、出力信号1122に対角点の参照値が出力される。同様な動作を、1サイクル遅れて、頂点1に関して行うことにより、頂点1の参照値の読み出しが可能となる。
次に、サブメモリ・バンク選択信号SEL0が’1’(SEL1は’0’)の場合に関してサブメモリから参照値を読み出す動作を説明する。
基準点の参照値をサブメモリから読み出す動作に関しては、サイクル番号2において、アドレス信号MA0は基準点のアドレス値を示しており、かつ、サブメモリ・バンク選択信号SEL0が’1’である。その為、アドレス選択回路1112にてアドレス信号MAが選択されて、サブメモリ1116に入力され、サイクル番号3にてデータ信号MD1を介して、基準点の参照値が読み出される。その後、データ選択回路1119にてデータ信号MD1が選択されて、出力信号1121に基準点の参照値が出力される。同様な動作を、1サイクル遅れて、頂点2に関して行うことにより、頂点2の参照値の読み出しが可能となる。
同様に、対角点の参照値をサブメモリから読み出す動作に関しては、サイクル番号2において、アドレス信号MB0は対角点のアドレス値を示しており、かつ、サブメモリ・バンク選択信号SEL1が’0’である。その為、アドレス選択回路1111にてアドレス信号MBが選択されて、サブメモリ1115に入力され、サイクル番号3にてデータ信号MD0を介して、対角点の参照値が読み出される。その後、データ選択回路1120にてデータ信号MD0が選択されて、出力信号1122に対角点の参照値が出力される。同様な動作を、1サイクル遅れて、頂点1に関して行うことにより、頂点1の参照値の読み出しが可能となる。
次に、アドレス生成回路1102の動作を説明する。ここでは、R−G平面上4×4ブロック単位にメモリへマッピングするものとする。
(1) 基準点用アドレス信号MA0の算出方法(アドレス信号1107として時分割で出力)
基準点の4×4ブロックのアドレスBA0は
BA0=Bh[x−1:0]&Rh[x−1:2]&Gh[x−1:2];(ただし、’&’はビット連結を表す)
また、基準点の4×4ブロック内のアドレスIBA0は
IBA0=Gh[1:0]&Rh[1:0];
となるが、4×4ブロック内を4つのメモリに分散するのでいずれか一方の軸のアドレスは不要となる。ここでは、G軸の連続性を優先するが、但し、頂点2とメモリを共有化するので、R成分を1ビット残しておく。
基準点の4×4ブロックのアドレスBA0は
BA0=Bh[x−1:0]&Rh[x−1:2]&Gh[x−1:2];(ただし、’&’はビット連結を表す)
また、基準点の4×4ブロック内のアドレスIBA0は
IBA0=Gh[1:0]&Rh[1:0];
となるが、4×4ブロック内を4つのメモリに分散するのでいずれか一方の軸のアドレスは不要となる。ここでは、G軸の連続性を優先するが、但し、頂点2とメモリを共有化するので、R成分を1ビット残しておく。
IBA0’=Rh[1]&Gh[1:0];
とする。従って、基準点のメモリのアドレス信号MA0は、G軸の連続性を考慮して
MA0=Bh[x−1:0]&Rh[x−1:2]&Gh[x−1:2]&Rh[1]&Gh[1:0]
=Bh[x−1:0]&Rh[x−1:1]&Gh[x−1:0];
と算出する。
とする。従って、基準点のメモリのアドレス信号MA0は、G軸の連続性を考慮して
MA0=Bh[x−1:0]&Rh[x−1:2]&Gh[x−1:2]&Rh[1]&Gh[1:0]
=Bh[x−1:0]&Rh[x−1:1]&Gh[x−1:0];
と算出する。
サブメモリ・バンク選択信号SEL0[1:0]はフルアダー1個で構成され、
SEL0=FA0(Bh[0],Rh[0],Gh[0])[0];
と算出する。
SEL0=FA0(Bh[0],Rh[0],Gh[0])[0];
と算出する。
(2) 基準側頂点(頂点1)用アドレス信号MA1の算出(アドレス信号1108として時分割で出力)
基準側頂点は1軸を+1した座標である。そのため、Rh,Gh,Bhをインクリメントした値を各々Rh’,Gh’,Bh’、図9の下位ビット信号914をRl,Gl,Blとすると、Rl,Gl,Blの大小関係を順序信号1106にしたがって、基準側頂点のメモリのアドレス信号MA1は、
MA1=Bh[x−1:0]&Rh’[x−1:1]&Gh[x−1:0];(Rl>Gl>Bl or Rl≧Bl≧Gl)
MA1=Bh[x−1:0]&Rh[x−1:1]&Gh’[x−1:0];(Gl>Bl>Rl or Gl≧Rl≧Bl)
MA1=Bh’[x−1:0]&Rh[x−1:1]&Gh[x−1:0];(Bl>Rl>Gl or Bl≧Gl≧Rl)
と算出する。
基準側頂点は1軸を+1した座標である。そのため、Rh,Gh,Bhをインクリメントした値を各々Rh’,Gh’,Bh’、図9の下位ビット信号914をRl,Gl,Blとすると、Rl,Gl,Blの大小関係を順序信号1106にしたがって、基準側頂点のメモリのアドレス信号MA1は、
MA1=Bh[x−1:0]&Rh’[x−1:1]&Gh[x−1:0];(Rl>Gl>Bl or Rl≧Bl≧Gl)
MA1=Bh[x−1:0]&Rh[x−1:1]&Gh’[x−1:0];(Gl>Bl>Rl or Gl≧Rl≧Bl)
MA1=Bh’[x−1:0]&Rh[x−1:1]&Gh[x−1:0];(Bl>Rl>Gl or Bl≧Gl≧Rl)
と算出する。
サブメモリ・バンク選択信号SEL1は
SEL1=not SEL0;
と算出する。
SEL1=not SEL0;
と算出する。
(3) 対角側頂点(頂点2)用アドレス信号MA0の算出(アドレス信号1107として時分割で出力)
対角側頂点は2軸を+1した座標であるので、Rl,Gl,Blの大小関係を順序信号406にしたがって、対角側頂点のメモリのアドレス信号MA0は
MA0=Bh[x−1:0]&Rh’[x−1:1]&Gh’[x−1:0];(Rl>Gl>Bl or Gl≧Rl≧Bl)
MA0=Bh’[x−1:0]&Rh[x−1:1]&Gh’[x−10];(Gl>Bl>Rl or Bl≧Gl≧Rl)
MA0=Bh’[x−1:0]&Rh’[x−1:1]&Gh[x−1:0];(Bl>Rl>Gl or Rl≧Bl≧Gl)
と算出する。
対角側頂点は2軸を+1した座標であるので、Rl,Gl,Blの大小関係を順序信号406にしたがって、対角側頂点のメモリのアドレス信号MA0は
MA0=Bh[x−1:0]&Rh’[x−1:1]&Gh’[x−1:0];(Rl>Gl>Bl or Gl≧Rl≧Bl)
MA0=Bh’[x−1:0]&Rh[x−1:1]&Gh’[x−10];(Gl>Bl>Rl or Bl≧Gl≧Rl)
MA0=Bh’[x−1:0]&Rh’[x−1:1]&Gh[x−1:0];(Bl>Rl>Gl or Rl≧Bl≧Gl)
と算出する。
サブメモリ・バンク選択信号はSEL0である。
(4) 対角点用アドレス信号MA1の算出(アドレス信号1108として時分割で出力)
対角点は3軸を+1した座標であるので、対角点のメモリのアドレス信号MA1は
MA1=Bh’[x−1:0]&Rh’[x−1:1]&Gh’[x−1:0];
と算出する。
(4) 対角点用アドレス信号MA1の算出(アドレス信号1108として時分割で出力)
対角点は3軸を+1した座標であるので、対角点のメモリのアドレス信号MA1は
MA1=Bh’[x−1:0]&Rh’[x−1:1]&Gh’[x−1:0];
と算出する。
サブメモリ・バンク選択信号はSEL1である。
<補間演算動作>
図13は、第1実施形態に係る補間演算部における演算を例示的に示す図である。
図13は、第1実施形態に係る補間演算部における演算を例示的に示す図である。
1300は、図11の出力信号1121から、基準点又は頂点2の参照値の値が入力される入力信号であり、1301は、出力信号1122から、頂点1又は対角点の参照値の値が入力される入力信号である。これらは図9の参照値信号952に対応している。1302,1303,1304は2入力1出力セレクタであり、制御信号の値が’0’のとき、0側の入力を、’1’の時1側の入力を選択して出力する。1305,1306はDフリップフロップ(以下D−FFと称す)である。1307,1308は引き算器であり、1309,1310は乗算器であり、1311,1312,1313は加算器である。1314,1315は3入力1出力セレクタであり、順序信号1317に従って、重み係数ΔR,ΔG,ΔBのうちから選択して出力する。1316は図11と同一な制御信号CSELであり、1317は図9の順序信号932及び図11の順序信号1113と同一な信号である。1319は補間演算の結果を出力するための出力信号である。なお、重み係数ΔR,ΔG,ΔBは、公知の四面体補間法で用いられる重み係数が利用可能である。
図14は、第1実施形態に係る補間演算部におけるタイミングチャートである。
1401は図12の1200と同一のクロック信号CLKである。1402は図5の1201と同一な制御信号CSELである。1403は入力信号1300、1404は入力信号1301である。1405はD−FF1305の出力である。1406は減算器1307の出力、1407は減算器1308の出力である。1408は乗算器1309の出力、1409は乗算器1310の出力である。1410はD−FF1306の出力である。1411は加算器1311の出力、1412は加算器1312の出力、1413は加算器1313の出力のタイミングチャートを夫々示す。ここで、図11で示した参照値読み出し部及びLUTと同様に、図13の補間演算部は、クロック信号CLKの立ち上がり同期で動作するものとし、1402〜1413の各信号は、クロック信号CLKの立ち上がりに同期して変化するものとする。
まず、サイクル番号1において、制御信号CSELは’1’であり、入力端子1300より基準点の参照値が、入力端子1301より対角点の参照値が入力される。この時、D−FF1305にはセレクタ1302を介して基準点の参照値が格納される。また、減算器1308においては、セレクタ1303を通して基準点の参照値が入力されるため、(対角点の参照値 − 基準点の参照値)の演算が行われる。その後、乗算器1310においては、セレクタ1315にて順序信号1317の値により、重み係数が選択される。選択された重み係数をΔaとすると、
((対角点の参照値 − 基準点の参照値)xΔa)
の演算が行われ、演算結果をD−FF1306に格納する。
((対角点の参照値 − 基準点の参照値)xΔa)
の演算が行われ、演算結果をD−FF1306に格納する。
サイクル番号2において、制御信号CSELは’0’であり、入力端子1300より頂点2の参照値が、入力端子1301より頂点1の参照値が入力される。そして、減算器1307において、
(頂点2の参照値 − 基準点の参照値)
の演算が行われる。その後、乗算器1309においては、セレクタ1314にて順序信号1317の値により、重み係数が選択される。選択された重み係数をΔcとすると、
((頂点2の参照値 − 基準点の参照値)xΔc)
の演算が行われ、演算結果が加算器1313に入力される。また、減算器1308においては、セレクタ1303を通してD−FF1305の出力である、基準点の参照値が入力されるため、
(頂点1の参照値 − 基準点の参照値)
の演算が行われる。その後、乗算器1310においては、セレクタ1315にて順序信号1317の値により、重み係数が選択される。選択された重み係数をΔbとすると、
((頂点1の参照値 − 基準点の参照値)xΔb)
の演算が行われ、演算結果が加算器1312に入力される。加算器1312においては、乗算器1310の出力と、D−FF1306の出力の加算である、
((対角点の参照値 − 基準点の参照値)xΔa + (頂点1の参照値 − 基準点の参照値)xΔb)
の演算が行われ、演算結果が加算器1313に入力される。その後、加算器1313において、加算器1311の出力と加算器1312の出力の加算である、
(基準点の参照値 + (頂点2の参照値 − 基準点の参照値)xΔc + (対角点の参照値 − 基準点の参照値)xΔa + (頂点1の参照値 − 基準点の参照値)xΔb)
の演算が行われ、補間演算結果として出力信号1319から出力される。
(頂点2の参照値 − 基準点の参照値)
の演算が行われる。その後、乗算器1309においては、セレクタ1314にて順序信号1317の値により、重み係数が選択される。選択された重み係数をΔcとすると、
((頂点2の参照値 − 基準点の参照値)xΔc)
の演算が行われ、演算結果が加算器1313に入力される。また、減算器1308においては、セレクタ1303を通してD−FF1305の出力である、基準点の参照値が入力されるため、
(頂点1の参照値 − 基準点の参照値)
の演算が行われる。その後、乗算器1310においては、セレクタ1315にて順序信号1317の値により、重み係数が選択される。選択された重み係数をΔbとすると、
((頂点1の参照値 − 基準点の参照値)xΔb)
の演算が行われ、演算結果が加算器1312に入力される。加算器1312においては、乗算器1310の出力と、D−FF1306の出力の加算である、
((対角点の参照値 − 基準点の参照値)xΔa + (頂点1の参照値 − 基準点の参照値)xΔb)
の演算が行われ、演算結果が加算器1313に入力される。その後、加算器1313において、加算器1311の出力と加算器1312の出力の加算である、
(基準点の参照値 + (頂点2の参照値 − 基準点の参照値)xΔc + (対角点の参照値 − 基準点の参照値)xΔa + (頂点1の参照値 − 基準点の参照値)xΔb)
の演算が行われ、補間演算結果として出力信号1319から出力される。
以上説明したとおり、3次元の場合の色空間変換処理である第1実施形態によれば、多次元LUT960を2つのサブメモリに格納すると共に、2サイクルで参照点を読み出して補間演算する技術について説明した。このように構成することにより、背景技術で述べた2つの特許文献に開示された技術に比較し、より少ないサブメモリとすることが出来、LUT読み出しの周辺回路の規模を低減可能とすることが可能となる。また、補間演算回路についても、加算器3個、引き算器2個、乗算器2個で実現可能であり、回路規模の低減に寄与する。
(第2実施形態)
<概要>
第2実施形態では色空間変換部への入力値が4次元である場合について説明する。補間演算に必要な4次元超四面体の5頂点に対応する参照値を2回のルックアップテーブル(LUT)参照サイクルにより読み出す。第1実施形態で説明した3次元LUTと同様に、4次元LUTを超四面体の基準頂点からのマンハッタン距離に基づき分割記憶する。このように構成することにより、LUTの分割数を4個に抑制すると共に、分割個数を2のべき乗に設定可能となり、回路規模の低減が可能となる。なお、装置構成などは第1実施形態とほぼ同様のため、ここでは多次元LUTおよび参照値読み出し部について詳細に説明する。
<概要>
第2実施形態では色空間変換部への入力値が4次元である場合について説明する。補間演算に必要な4次元超四面体の5頂点に対応する参照値を2回のルックアップテーブル(LUT)参照サイクルにより読み出す。第1実施形態で説明した3次元LUTと同様に、4次元LUTを超四面体の基準頂点からのマンハッタン距離に基づき分割記憶する。このように構成することにより、LUTの分割数を4個に抑制すると共に、分割個数を2のべき乗に設定可能となり、回路規模の低減が可能となる。なお、装置構成などは第1実施形態とほぼ同様のため、ここでは多次元LUTおよび参照値読み出し部について詳細に説明する。
<多次元LUTおよび参照値読み出し部>
図15は、四次元超四面体補間法における、基準点から対角点までの単位立体の各頂点を四次元マンハッタン距離Dmを用いて分類した図である。まず、四次元の単位超立体を図に示される2つの領域1500および1501に分割する。なお、同一領域内のマンハッタン距離が図に示される関係を維持する限りにおいて、任意の2領域に分割可能である。
図15は、四次元超四面体補間法における、基準点から対角点までの単位立体の各頂点を四次元マンハッタン距離Dmを用いて分類した図である。まず、四次元の単位超立体を図に示される2つの領域1500および1501に分割する。なお、同一領域内のマンハッタン距離が図に示される関係を維持する限りにおいて、任意の2領域に分割可能である。
まず、四次元の単位超立体の基準点(x0<i>,x1<j>,x2<k>,x3<l>)から(x0<i+1>,x1<j+1>,x2<k+1>,x3<l>)までの23個の頂点に対し、三次元四面体補間法のときの3次元LUTの分割記憶方法を適用する(領域1500)。
また、残った単位超立体の頂点(x0<i>,x1<j>,x2<k>,x3<l+1>)から(x0<i+1>,x1<j+1>,x2<k+1>,x3<l+1>)までの23個の頂点に対し、同様に三次元四面体補間法のときの3次元LUTの分割記憶方法を適用する(図中、領域1501)。
その結果、図中Mem0,…Mem3と記載された太線で囲まれた頂点がそれぞれ同一のサブメモリに記憶されることになる。つまり、領域1500、1501夫々において、マンハッタン距離Dmが偶数の頂点と奇数の頂点でメモリ分割を行うことにより、多次元LUTを2×2個のサブメモリに分割記憶するのである。
図16は、参照値読み出し部1601および多次元LUT1600の内部構成を例示的に示す図である。なお、参照値読み出し部1601および多次元LUT1600はそれぞれ、図9の参照値読み出し部950および多次元LUT960に相当する。
1602はアドレス生成回路である。1603,1604,1605,1606の4個のデジタル画像信号の上位ビット信号Ch[x−1:0],Mh[x−1:0],Yh[x−1:0]Kh[x−1:0]である。1646は図9の932に対応する順序信号である。ここで、xは前述のビット数を示している。1607,1608,1609,1610は3次元補間の基準点,基準値側頂点(頂点1),頂点2,対角点側頂点(頂点3),対角点のそれぞれの参照値をメモリから読み出すためのアドレス信号MA0,MA1,MA2,MA3である。1611,1612,1613,1614はそれぞれ、アドレス選択回路1615,1616,1617,1618及び、データ選択回路1631,1632,1633,1634の選択信号となる、サブメモリ・バンク選択信号SEL0[1:0],SEL1[1:0],SEL2[1:0],SEL3[1:0]である。
1623,1624,1625,1626はそれぞれサブメモリ(Mem0),サブメモリ(Mem1),サブメモリ(Mem2),サブメモリ(Mem3)である。また、1615,1616,1617,1618はそれぞれ、サブメモリ1623,1624,1625,1626のアドレス選択回路である。1619,1620,1621,1622はそれぞれ、アドレス選択回路1615,1616,1617,1618から出力されたアドレス信号であり、それぞれサブメモリ1623,1624,1625,1626に供給される。
また、1631,1632,1633,1634はそれぞれデータ選択回路である。1627,1628,1629,1630はそれぞれサブメモリ1623,1624,1625,1626からの出力データ信号である。出力データ信号は全てのデータ選択回路1631,1632,1633,1634に供給される。1635,1636,1637はセレクタである。1638,1639,1640の選択信号SEL1H,SEL3H,SEL2Hにより夫々、データ選択回路1631又は1632の出力、データ選択回路1631又は1632の出力、データ選択回路1630又は1633の出力を選択する。そして、出力信号1641,1642,1643,1644,1645に出力する。1641,1642,1643,1644,1645は図9の952と同等な参照信号であり、それぞれ、4次元補間の基準点,頂点1,頂点3,頂点2,対角点の参照値を示す。
次に、図16の動作を説明する。アドレス生成回路902がCMYKの4個の信号Ch[x−1:0],Mh[x−1:0],Yh[x−1:0],Kh[x−1:0]を受けて、4組のアドレス信号MA0,MA1,MA2,MA3を出力する。また、サブメモリ・バンク選択信号SEL0[1:0],SEL1[1:0],SEL2[1:0],SEL3[1:0]を出力する。ここで、MA0には基準点と頂点2の参照点を読み出すためのアドレスが多重化されている。同様に、MA1及びMA2には頂点1と頂点3の参照点を読み出すためのアドレスが多重化されている。また、MA3には頂点2と対角点の参照点を読み出すためのアドレスが多重化されている。ここで、4本のメモリ・バンク選択信号は、各々が異なる値である。
そして、アドレス信号MA0,MA1,MA2,MA3とサブメモリ・バンク選択信号SEL0[1:0],SEL1[1:0],SEL2[1:0],SEL3[1:0]が全てのアドレス選択回路1615,1616,1617,1618に入力される。各アドレス選択回路1615,1616,1617,1618は各々が異なるサブメモリ・バンクID“SmB_ID”を有している。自らが対応するサブメモリ・バンクID“SmB_ID”と入力されたサブメモリ・バンク選択信号が等しいアドレス信号を4本の中から1つ選択して出力し、サブメモリにアクセスする。
サブメモリ1623,1624,1625,1626はそれぞれ受け取ったアドレス値1619,1620,1621,1622の参照値を出力データ信号1627,1628,1629,1630として全てのデータ選択回路1631,1632,1633,1634に供給する。データ選択回路1631,1632,1633,1634ではそれぞれ入力されているサブメモリ・バンク選択信号SEL0,1,2,3にしたがって、4本のサブメモリの出力から1本を選択する。つまり、基準点又は頂点2の参照値として出力信号1641及びセレクタ1637に出力する。頂点1又は頂点3の参照値としてセレクタ1635及び1636に出力する。頂点1又は頂点3の参照値としてセレクタ1635及び1636に出力する。頂点2又は対角点の参照値としてセレクタ1637及び出力信号1641に出力する。
さらに前述のように、セレクタ1635,1636,1637においては、それぞれ選択信号SEL1H,SEL3H,SEL2Hにしたがって出力する。つまり、データ選択回路1632又は1633、データ選択回路1632又は1633、データ選択回路1631又は1634の出力を選択して、出力信号1642,1643,1644に出力する。
<アドレスの生成>
次にアドレス生成回路1602の動作を説明する。ここでは、C−M平面上4×4ブロック単位にメモリへマッピングするものとする。
次にアドレス生成回路1602の動作を説明する。ここでは、C−M平面上4×4ブロック単位にメモリへマッピングするものとする。
(1) 基準点用アドレス信号MA0の算出方法(アドレス信号1607として時分割で出力)
基準点の4×4ブロックのアドレスBA0は、4次元四面体補間方では、3次元四面体補間法のときに3次元LUTを2個を2セット用いるため、その選択信号にKh[0]を用いる場合、
BA0=Kh[x−1:1]&Yh[x−1:0]&Ch[x−1:2]&Mh[x−1:2];(ただし、’&’はビット連結を表す)
また、基準点の4×4ブロック内のアドレスIBA0は
IBA0=Ch[1:0]&Mh[1:0];
となるが、4×4ブロック内を4つのメモリに分散するのでいずれか一方の軸のアドレスは不要となる。但し、頂点2とメモリを共有化するので、C成分を1ビット残しておく。
基準点の4×4ブロックのアドレスBA0は、4次元四面体補間方では、3次元四面体補間法のときに3次元LUTを2個を2セット用いるため、その選択信号にKh[0]を用いる場合、
BA0=Kh[x−1:1]&Yh[x−1:0]&Ch[x−1:2]&Mh[x−1:2];(ただし、’&’はビット連結を表す)
また、基準点の4×4ブロック内のアドレスIBA0は
IBA0=Ch[1:0]&Mh[1:0];
となるが、4×4ブロック内を4つのメモリに分散するのでいずれか一方の軸のアドレスは不要となる。但し、頂点2とメモリを共有化するので、C成分を1ビット残しておく。
従って、基準点のメモリのアドレスMA0は、M軸の連続性を考慮して
MA0=Kh[x−1:1]&Yh[x−1:0]&Ch[x−1:2]&Mh[x−1:2]&Ch[1]&Mh[1.:0]
=Kh[x−1:0]&Yh[x−1:0]&Ch[x−1:1]&Mh[x−1:0];
と算出する。
MA0=Kh[x−1:1]&Yh[x−1:0]&Ch[x−1:2]&Mh[x−1:2]&Ch[1]&Mh[1.:0]
=Kh[x−1:0]&Yh[x−1:0]&Ch[x−1:1]&Mh[x−1:0];
と算出する。
(2) 頂点1用アドレス信号MA1及びMA2の算出方法(アドレス信号1608及び1609として時分割で出力)
頂点1は1軸を+1した座標である。そのため、Ch,Mh,Yh,Khをインクリメントした値を夫々Ch’,Mh’,Yh’,Kh’、図9の下位ビット信号914をCl,Ml,Yl,Klとすると、Cl,Ml,Yl,Klの大小関係を順序信号1642にしたがって、3次元の場合と同様に考えることにより、頂点1のメモリのアドレスMA1(MA2)及び1637の選択信号SEL1Hは、
・Cl>Ml>Yl>Kl or Cl>Ml>Kl≧Yl or Cl>Kl≧Ml>Yl or Cl>Yl≧Ml>Kl or Cl>Yl>Kl≧Ml or Cl>Kl≧Yl≧Ml のとき
MA1(MA2)=Kh[x−1:1]&Yh[x−1:0]&Ch’[x−1:1]&Mh[x−1:0];
SEL1H=Kh[0];
・Ml≧Cl>Yl>Kl or Ml≧Cl>Kl≧Yl or Ml>Kl≧Cl>Yl or Ml>Yl≧Cl>Kl or Ml>Yl>Kl≧Cl or Ml>Kl≧Yl≧Cl のとき
MA1(MA2)=Kh[x−1:1]&Yh[x−1:0]&Ch[x−1:1]&Mh’[x−1:0];
SEL1H=Kh[0];
・Yl≧Cl>Ml>Kl or Yl≧Cl>Kl≧Ml or Yl>Kl≧Cl>Ml or Yl≧Ml≧Cl>Kl or Yl≧Ml>Kl≧Cl or Yl>Kl≧Ml≧Cl のとき
MA1(MA2)=Kh[x−1:1]&Yh’[x−1:0]&Ch[x−1:1]&Mh[x−1:0];
SEL1H=Kh[0];
・Kl≧Cl>Ml>Yl or Kl≧Cl>Yl≧Ml or Kl≧Ml≧Cl>Yl or Kl≧Ml>Yl≧Cl or Kl≧Yl≧Cl>Ml or Kl≧Yl≧Ml≧Cl のとき
MA1(MA2)=Kh’[x−1:1]&Yh[x−1:0]&Ch[x−1:1]&Mh[x−1:0];
SEL1H=Kh’[0];
と算出する。
頂点1は1軸を+1した座標である。そのため、Ch,Mh,Yh,Khをインクリメントした値を夫々Ch’,Mh’,Yh’,Kh’、図9の下位ビット信号914をCl,Ml,Yl,Klとすると、Cl,Ml,Yl,Klの大小関係を順序信号1642にしたがって、3次元の場合と同様に考えることにより、頂点1のメモリのアドレスMA1(MA2)及び1637の選択信号SEL1Hは、
・Cl>Ml>Yl>Kl or Cl>Ml>Kl≧Yl or Cl>Kl≧Ml>Yl or Cl>Yl≧Ml>Kl or Cl>Yl>Kl≧Ml or Cl>Kl≧Yl≧Ml のとき
MA1(MA2)=Kh[x−1:1]&Yh[x−1:0]&Ch’[x−1:1]&Mh[x−1:0];
SEL1H=Kh[0];
・Ml≧Cl>Yl>Kl or Ml≧Cl>Kl≧Yl or Ml>Kl≧Cl>Yl or Ml>Yl≧Cl>Kl or Ml>Yl>Kl≧Cl or Ml>Kl≧Yl≧Cl のとき
MA1(MA2)=Kh[x−1:1]&Yh[x−1:0]&Ch[x−1:1]&Mh’[x−1:0];
SEL1H=Kh[0];
・Yl≧Cl>Ml>Kl or Yl≧Cl>Kl≧Ml or Yl>Kl≧Cl>Ml or Yl≧Ml≧Cl>Kl or Yl≧Ml>Kl≧Cl or Yl>Kl≧Ml≧Cl のとき
MA1(MA2)=Kh[x−1:1]&Yh’[x−1:0]&Ch[x−1:1]&Mh[x−1:0];
SEL1H=Kh[0];
・Kl≧Cl>Ml>Yl or Kl≧Cl>Yl≧Ml or Kl≧Ml≧Cl>Yl or Kl≧Ml>Yl≧Cl or Kl≧Yl≧Cl>Ml or Kl≧Yl≧Ml≧Cl のとき
MA1(MA2)=Kh’[x−1:1]&Yh[x−1:0]&Ch[x−1:1]&Mh[x−1:0];
SEL1H=Kh’[0];
と算出する。
(3) 頂点2用アドレス信号MA0及びMA3の算出方法(アドレス信号1607及び1610として時分割で出力)
頂点2は2軸を+1した座標であるので、頂点2のメモリのアドレスMA0(MA3)及びメモリセレクト信号SEL2Hは、
・Cl>Ml>Yl>Kl or Cl>Ml>Kl≧Yl or Ml≧Cl>Yl>Kl or Ml≧Cl>Kl≧Yl のとき
MA0(MA3)=Kh[x−1:1]&Yh[x−1:0]&Ch’[x−1:1]&Mh’[x−1:0];
SEL2H=Kh[0];
・Cl>Yl≧Ml>Kl or Cl>Yl>Kl≧Ml or Yl≧Cl>Ml>Kl or Yl≧Cl>Kl≧Ml のとき
MA0(MA3)=Kh[x−1:1]&Yh’[x−1:0]&Ch’[x−1:1]&Mh[x−10];
SEL2H=Kh[0];
・Cl>Kl≧Ml>Yl or Cl>Kl≧Yl≧Ml or Kl≧Cl>Ml>Yl or Kl≧Cl>Yl≧Ml のとき
MA0(MA3)=Kh’[x−1:1]&Yh[x−1:0]&Ch’[x−1:1]&Mh[x−10];
SEL2H=Kh’[0];
・Ml>Yl≧Cl>Kl or Ml>Yl>Kl≧Cl or Yl≧Ml≧Cl>Kl or Yl≧Ml>Kl≧Cl のとき
MA0(MA3)=Kh[x−1:1]&Yh’[x−1:0]&Ch[x−1:1]&Mh’[x−1:0];
SEL2H=Kh[0];
・Ml>Kl≧Cl>Yl or Ml>Kl≧Yl≧Cl or Kl≧Ml≧Cl>Yl or Kl≧Ml>Yl≧Cl のとき
MA0(MA3)=Kh’[x−1:1]&Yh[x−1:0]&Ch[x−1:1]&Mh’[x−1:0];
SEL2H=Kh’[0];
・Yl>Kl≧Cl>Ml or Yl>Kl≧Ml≧Cl or Kl≧Yl≧Cl>Ml or Kl≧Yl≧Ml≧Cl のとき
MA0(MA3)=Kh’[x−1:1]&Yh’[x−1:0]&Ch[x−1:1]&Mh[x−1:0];
SEL2H=Kh’[0];
と算出する。
頂点2は2軸を+1した座標であるので、頂点2のメモリのアドレスMA0(MA3)及びメモリセレクト信号SEL2Hは、
・Cl>Ml>Yl>Kl or Cl>Ml>Kl≧Yl or Ml≧Cl>Yl>Kl or Ml≧Cl>Kl≧Yl のとき
MA0(MA3)=Kh[x−1:1]&Yh[x−1:0]&Ch’[x−1:1]&Mh’[x−1:0];
SEL2H=Kh[0];
・Cl>Yl≧Ml>Kl or Cl>Yl>Kl≧Ml or Yl≧Cl>Ml>Kl or Yl≧Cl>Kl≧Ml のとき
MA0(MA3)=Kh[x−1:1]&Yh’[x−1:0]&Ch’[x−1:1]&Mh[x−10];
SEL2H=Kh[0];
・Cl>Kl≧Ml>Yl or Cl>Kl≧Yl≧Ml or Kl≧Cl>Ml>Yl or Kl≧Cl>Yl≧Ml のとき
MA0(MA3)=Kh’[x−1:1]&Yh[x−1:0]&Ch’[x−1:1]&Mh[x−10];
SEL2H=Kh’[0];
・Ml>Yl≧Cl>Kl or Ml>Yl>Kl≧Cl or Yl≧Ml≧Cl>Kl or Yl≧Ml>Kl≧Cl のとき
MA0(MA3)=Kh[x−1:1]&Yh’[x−1:0]&Ch[x−1:1]&Mh’[x−1:0];
SEL2H=Kh[0];
・Ml>Kl≧Cl>Yl or Ml>Kl≧Yl≧Cl or Kl≧Ml≧Cl>Yl or Kl≧Ml>Yl≧Cl のとき
MA0(MA3)=Kh’[x−1:1]&Yh[x−1:0]&Ch[x−1:1]&Mh’[x−1:0];
SEL2H=Kh’[0];
・Yl>Kl≧Cl>Ml or Yl>Kl≧Ml≧Cl or Kl≧Yl≧Cl>Ml or Kl≧Yl≧Ml≧Cl のとき
MA0(MA3)=Kh’[x−1:1]&Yh’[x−1:0]&Ch[x−1:1]&Mh[x−1:0];
SEL2H=Kh’[0];
と算出する。
(4) 頂点3用アドレス信号MA1及びMA2の算出方法(アドレス信号1608及び1609として時分割で出力)
頂点2は3軸を+1した座標であるので、頂点3のメモリのアドレスMA1(MA2)及びメモリセレクト信号SEL3Hは、
・Cl>Ml>Yl>Kl or Cl>Yl≧Ml>Kl or Ml≧Cl>Yl>Kl or Yl≧Ml≧Cl>Kl のとき
MA1(MA2)=Kh[x−1:1]&Yh’[x−1:0]&Ch’[x−1:1]&Mh’[x−1:0];
SEL3H=Kh[0];
・Cl>Yl>Kl≧Ml or Cl>Kl≧Yl≧Ml or Yl>Kl≧Cl>Ml or Yl≧Cl>Kl≧Ml のとき
MA1(MA2)=Kh’[x−1:1]&Yh’[x−1:0]&Ch’[x−1:1]&Mh[x−1:0];
SEL3H=Kh’[0];
・Cl>Kl≧Ml>Yl or Cl>Ml>Kl≧Yl or Ml≧Cl>Kl≧Yl or Kl≧Cl>Ml>Yl のとき
MA1(MA2)=Kh’[x−1:1]&Yh[x−1:0]&Ch’[x−1:1]&Mh’[x−1:0];
SEL3H=Kh’[0];
・Ml>Kl≧Yl≧Cl or Ml>Yl>Kl≧Cl or Yl≧Ml>Kl≧Cl or Yl>Kl≧Ml≧Cl のとき
MA1(MA2)=Kh’[x−1:1]&Yh’[x−1:0]&Ch[x−1:1]&Mh’[x−1:0];
SEL3H=Kh’[0];
と算出する。
頂点2は3軸を+1した座標であるので、頂点3のメモリのアドレスMA1(MA2)及びメモリセレクト信号SEL3Hは、
・Cl>Ml>Yl>Kl or Cl>Yl≧Ml>Kl or Ml≧Cl>Yl>Kl or Yl≧Ml≧Cl>Kl のとき
MA1(MA2)=Kh[x−1:1]&Yh’[x−1:0]&Ch’[x−1:1]&Mh’[x−1:0];
SEL3H=Kh[0];
・Cl>Yl>Kl≧Ml or Cl>Kl≧Yl≧Ml or Yl>Kl≧Cl>Ml or Yl≧Cl>Kl≧Ml のとき
MA1(MA2)=Kh’[x−1:1]&Yh’[x−1:0]&Ch’[x−1:1]&Mh[x−1:0];
SEL3H=Kh’[0];
・Cl>Kl≧Ml>Yl or Cl>Ml>Kl≧Yl or Ml≧Cl>Kl≧Yl or Kl≧Cl>Ml>Yl のとき
MA1(MA2)=Kh’[x−1:1]&Yh[x−1:0]&Ch’[x−1:1]&Mh’[x−1:0];
SEL3H=Kh’[0];
・Ml>Kl≧Yl≧Cl or Ml>Yl>Kl≧Cl or Yl≧Ml>Kl≧Cl or Yl>Kl≧Ml≧Cl のとき
MA1(MA2)=Kh’[x−1:1]&Yh’[x−1:0]&Ch[x−1:1]&Mh’[x−1:0];
SEL3H=Kh’[0];
と算出する。
(5) 対角点用アドレス信号MA3の算出方法(アドレス信号1610として時分割で出力)
対角点は全軸を+1した座標であるので、対角点のメモリのアドレスMA3は、
MA3=Kh’[x−1:1]&Yh’[x−1:0]&Ch’[x−1:1]&Mh’[x−1:0];
と算出する。
対角点は全軸を+1した座標であるので、対角点のメモリのアドレスMA3は、
MA3=Kh’[x−1:1]&Yh’[x−1:0]&Ch’[x−1:1]&Mh’[x−1:0];
と算出する。
また、サブメモリ・バンク信号SEL0[1:0],SEL1[1:0],SEL2[1:0],SEL3[1:0]は、
SEL0[0]=FA0(Yh[0],Ch[0],Mh[0])[0];
SEL0[1]=FA1(Yh[1],Ch[1],Mh[1])[0] xor FA0(Yh[0],Ch[0],Mh[0])[1];
(FA0, FA1はフルアダーによる演算)
SEL1[0]= not SEL0[0];
SEL1[1]=SEL0[1] xor SEL0[0];
SEL2[0]= not SEL0[0];
SEL2[1]= not (SEL0[1] xor SEL0[0]);
SEL3[0]=SEL0[0];
SEL3[1]= not SEL0[1];
と算出する。
SEL0[0]=FA0(Yh[0],Ch[0],Mh[0])[0];
SEL0[1]=FA1(Yh[1],Ch[1],Mh[1])[0] xor FA0(Yh[0],Ch[0],Mh[0])[1];
(FA0, FA1はフルアダーによる演算)
SEL1[0]= not SEL0[0];
SEL1[1]=SEL0[1] xor SEL0[0];
SEL2[0]= not SEL0[0];
SEL2[1]= not (SEL0[1] xor SEL0[0]);
SEL3[0]=SEL0[0];
SEL3[1]= not SEL0[1];
と算出する。
<補間演算動作>
図17は、第2実施形態に係る補間演算部における演算を例示的に示す図である。
図17は、第2実施形態に係る補間演算部における演算を例示的に示す図である。
1700は、図16の出力信号1641から、基準点の参照値の値が入力される入力信号である。1701は、出力信号1642から頂点1の参照値の値が入力される入力信号である。1702は、1644から頂点2の参照値の値が入力される入力信号である。1703は、出力信号1643から頂点3の参照値の値が入力される入力信号である。1704は、出力信号1645から対角点の参照値の値が入力される入力信号である。これらは図9の参照値信号952に対応している。
1705,1706,1707,1708,1709,1710は2入力1出力セレクタであり、制御信号の値が’0’のとき、0側の入力を、’1’の時1側の入力を選択して出力する。1711,1712,1713はD−FFである。1714,1715は引き算器であり、1716,1717は乗算器であり、1718,1719,1720,1721は加算器である。1722,1723は4入力1出力セレクタであり、順序信号1725に従って、補間演算の重み係数ΔC,ΔM,ΔY,ΔKを選択出力する。1724は図11と同一な制御信号CSELであり、1725は図9の順序信号932及び図16の順序信号1646と同一な信号である。1727は補間演算の結果を出力するための出力信号である。
図18は、第2実施形態に係る補間演算部におけるタイミングチャートである。
1800はタイミングチャートの動作を説明する為のサイクル番号である。1801はクロック信号CLKである。1802は制御信号CSELである。1803は入力信号1700、1804は入力信号1701、1805は入力信号1702、1806は入力信号1703、1807は入力信号1704である。1808はD−FF1711の出力である。1809は減算器1714の出力、1810は減算器1715の出力である。1811は乗算器1716の出力である。1812はD−FF1712の出力である。1813は乗算器1717の出力である。1814はD−FF1713の出力である。1815は加算器1718の出力、1816は加算器1719の出力、1817は加算器1720の出力、1818は加算器1721の出力のタイミングチャートを夫々示す。ここで、図17の補間演算部は、クロック信号CLKの立ち上がり同期で動作するものとし、1802〜1818の各信号は、クロック信号CLKの立ち上がりに同期して変化するものとする。
まず、サイクル番号1において、制御信号CSELは’1’であり、入力信号1700より基準点の参照値が、入力信号1701より頂点1の参照値が、入力信号1704より対角点の参照値が入力される。この時、D−FF1711にはセレクタ1705を介して基準点の参照値が格納される。また、減算器1714においては、セレクタ1706を通して基準点の参照値が入力され、かつセレクタ1707を通して対角点の参照値が入力されるため、
(対角点の参照値 − 基準点の参照値)
の演算が行われる。その後、乗算器1716においては、セレクタ1722にて順序信号1725の値により、重み係数が選択される。選択された重み係数をΔaとすると、
((対角点の参照値 − 基準点の参照値)xΔa)
の演算が行われる。そして演算結果をD−FF1712に格納する。同様に、減算器1715においては、セレクタ1706を通して基準点の参照値が入力され、かつセレクタ1708を通して頂点1の参照値が入力されるため、
(頂点1の参照値 − 基準点の参照値)
の演算が行われる。その後、乗算器1717においては、セレクタ1723にて順序信号1725の値により、重み係数が選択される。選択された重み係数をΔbとすると、
((頂点1の参照値 − 基準点の参照値)xΔb)
の演算が行われる。そして演算結果をD−FF1713に格納する。
(対角点の参照値 − 基準点の参照値)
の演算が行われる。その後、乗算器1716においては、セレクタ1722にて順序信号1725の値により、重み係数が選択される。選択された重み係数をΔaとすると、
((対角点の参照値 − 基準点の参照値)xΔa)
の演算が行われる。そして演算結果をD−FF1712に格納する。同様に、減算器1715においては、セレクタ1706を通して基準点の参照値が入力され、かつセレクタ1708を通して頂点1の参照値が入力されるため、
(頂点1の参照値 − 基準点の参照値)
の演算が行われる。その後、乗算器1717においては、セレクタ1723にて順序信号1725の値により、重み係数が選択される。選択された重み係数をΔbとすると、
((頂点1の参照値 − 基準点の参照値)xΔb)
の演算が行われる。そして演算結果をD−FF1713に格納する。
次に、サイクル番号2において、制御信号CSELは’0’であり、入力信号1702より頂点2の参照値が、入力信号1703より頂点3の参照値が入力される。そして、減算器1714において、
(頂点2の参照値 − 基準点の参照値)
の演算が行われる。その後、乗算器1716においては、セレクタ1022にて順序信号1725の値により、重み係数が選択される。選択された重み係数をΔcとすると、
((頂点2の参照値 − 基準点の参照値)xΔc)
の演算が行われる。そして演算結果が加算器1718に入力される。また、減算器1015においては、
(頂点3の参照値 − 基準点の参照値)
の演算が行われる。その後、乗算器1717においては、セレクタ1723にて順序信号1725の値により、重み係数が選択される。選択された重み係数をΔdとすると、
((頂点3の参照値 − 基準点の参照値)xΔd)
の演算が行われる。そして演算結果が加算器1719に入力される。加算器1718においては、乗算器1716の出力と、D−FF1712の出力の加算である、
((対角点の参照値 − 基準点の参照値)xΔa + (頂点2の参照値 − 基準点の参照値)xΔc)
の演算が行われ、演算結果が加算器1720に入力される。また、加算器1719においては、乗算器1717の出力と、D−FF1713の出力の加算である、
((頂点1の参照値 − 基準点の参照値)xΔb + (頂点3の参照値 − 基準点の参照値)xΔd)
の演算が行われ、演算結果が加算器1720に入力される。
(頂点2の参照値 − 基準点の参照値)
の演算が行われる。その後、乗算器1716においては、セレクタ1022にて順序信号1725の値により、重み係数が選択される。選択された重み係数をΔcとすると、
((頂点2の参照値 − 基準点の参照値)xΔc)
の演算が行われる。そして演算結果が加算器1718に入力される。また、減算器1015においては、
(頂点3の参照値 − 基準点の参照値)
の演算が行われる。その後、乗算器1717においては、セレクタ1723にて順序信号1725の値により、重み係数が選択される。選択された重み係数をΔdとすると、
((頂点3の参照値 − 基準点の参照値)xΔd)
の演算が行われる。そして演算結果が加算器1719に入力される。加算器1718においては、乗算器1716の出力と、D−FF1712の出力の加算である、
((対角点の参照値 − 基準点の参照値)xΔa + (頂点2の参照値 − 基準点の参照値)xΔc)
の演算が行われ、演算結果が加算器1720に入力される。また、加算器1719においては、乗算器1717の出力と、D−FF1713の出力の加算である、
((頂点1の参照値 − 基準点の参照値)xΔb + (頂点3の参照値 − 基準点の参照値)xΔd)
の演算が行われ、演算結果が加算器1720に入力される。
その後、加算器1720において、加算器1718の出力と加算器1719の出力の加算である、
((対角点の参照値 − 基準点の参照値)xΔa + (頂点2の参照値 − 基準点の参照値)xΔc + (頂点1の参照値 − 基準点の参照値)xΔb + (頂点3の参照値 − 基準点の参照値)xΔd)
の演算が行われ、演算結果が加算器1721に入力される。そして、加算器1721において、加算器1720の出力とD−FF1711の出力の加算である、
(基準点の参照値 + (対角点の参照値 − 基準点の参照値)xΔa + (頂点2の参照値 − 基準点の参照値)xΔc + (頂点1の参照値 − 基準点の参照値)xΔb + (頂点3の参照値 − 基準点の参照値)xΔd)
の演算が行われ、補間演算結果として出力信号1727から出力される。
((対角点の参照値 − 基準点の参照値)xΔa + (頂点2の参照値 − 基準点の参照値)xΔc + (頂点1の参照値 − 基準点の参照値)xΔb + (頂点3の参照値 − 基準点の参照値)xΔd)
の演算が行われ、演算結果が加算器1721に入力される。そして、加算器1721において、加算器1720の出力とD−FF1711の出力の加算である、
(基準点の参照値 + (対角点の参照値 − 基準点の参照値)xΔa + (頂点2の参照値 − 基準点の参照値)xΔc + (頂点1の参照値 − 基準点の参照値)xΔb + (頂点3の参照値 − 基準点の参照値)xΔd)
の演算が行われ、補間演算結果として出力信号1727から出力される。
以上説明したとおり、4次元の場合のデータ変換処理である第2実施形態によれば、多次元LUT960を4つのサブメモリに格納すると共に、2サイクルで参照点を読み出して補間演算する技術について説明した。このように構成することにより、背景技術で述べた2つの特許文献に開示された技術に比較し、より少ないサブメモリとすることが出来、LUT読み出しの周辺回路の規模を低減可能とすることが可能となる。また、補間演算回路についても、加算器4個、引き算器2個、乗算器2個で実現可能であり、回路規模の低減に寄与する。
(第3実施形態)
<概要>
第3実施形態では色空間変換部への入力値がN次元である場合について説明する。補間演算に必要なN次元超四面体のN+1頂点に対応する参照値を2回のルックアップテーブル(LUT)参照サイクルにより読み出す。第1実施形態で説明した3次元LUTと同様に、N次元LUTを超四面体の基準頂点からのマンハッタン距離に基づき分割記憶する。このように構成することにより、LUTの分割数を2N−2個に抑制すると共に、分割個数を2のべき乗に設定可能となり、回路規模の低減が可能となる。なお、装置構成などは第1実施形態とほぼ同様のため、ここでは多次元LUTおよび参照値読み出し部について詳細に説明する。
<概要>
第3実施形態では色空間変換部への入力値がN次元である場合について説明する。補間演算に必要なN次元超四面体のN+1頂点に対応する参照値を2回のルックアップテーブル(LUT)参照サイクルにより読み出す。第1実施形態で説明した3次元LUTと同様に、N次元LUTを超四面体の基準頂点からのマンハッタン距離に基づき分割記憶する。このように構成することにより、LUTの分割数を2N−2個に抑制すると共に、分割個数を2のべき乗に設定可能となり、回路規模の低減が可能となる。なお、装置構成などは第1実施形態とほぼ同様のため、ここでは多次元LUTおよび参照値読み出し部について詳細に説明する。
<多次元LUTおよび参照値読み出し部>
図19は、N次元超四面体補間法における、基準点から対角点までの単位立体の各頂点をN次元マンハッタン距離Dmを用いて分類した図である。まず、N次元の単位超立体を図に示される2N−3個の領域に分割する。なお、同一領域内のマンハッタン距離が図に示される関係を維持する限りにおいて、任意の2N−3個の領域に分割可能である。
図19は、N次元超四面体補間法における、基準点から対角点までの単位立体の各頂点をN次元マンハッタン距離Dmを用いて分類した図である。まず、N次元の単位超立体を図に示される2N−3個の領域に分割する。なお、同一領域内のマンハッタン距離が図に示される関係を維持する限りにおいて、任意の2N−3個の領域に分割可能である。
具体的には、N次元超四面体補間法において、頂点(x0<i>,x1<j>,x2<k>,…)から(x0<i+1>,x1<j+1>,x2<k+1>,…)までの23個の頂点ごとに、三次元四面体補間法のときの3次元LUTの分割記憶方法を適用すればよい。
分割された領域は2N−3個あり、1つの領域に対し2個のサブメモリを用いて分割記憶される、そのため、多次元LUTは全部で2N−2個のサブメモリに分割記憶されることとなる。以後、これらの個々の領域をクラスタリング単位と呼び、この単位の数だけサブメモリが集まったものをクラスタ・サブメモリと呼び、領域総数(=2N−3)をクラスタ数と呼ぶことにする。
なお、図19では第2実施形態(N=4)における図15の領域1500及び1501に対応する領域(クラスタ・サブメモリ)を単位矩形で表している。また、クラスタ・サブメモリを示す矩形内には、Dm=0,1,2,3におけるそれぞれの頂点の数1,3,3,1が表記してある。
N次元の場合は、Dm=0〜Nに対して、頂点がそれぞれNC0,NC1,NC2,…,NCN−1,NCN個必要である。そこで、図19に示すように
S=N−3C0+N−3C1+…+N−3CN−4+N−3CN−3
と表されるS個のクラスタ・サブメモリを、各Dmにおけるサブメモリ上の頂点の数の和が、上述した頂点の数になるようにマッピングすることにより、各Dmにおける所望の数の頂点の参照値をメモリに格納することが可能となる理解できる。そして、それぞれのクラスタ・サブメモリについて基準点からのマンハッタン距離Dmが偶数の頂点と奇数の頂点で別々のサブメモリに参照点を格納することにより、2N−2個のサブメモリに格納することが出来る。
S=N−3C0+N−3C1+…+N−3CN−4+N−3CN−3
と表されるS個のクラスタ・サブメモリを、各Dmにおけるサブメモリ上の頂点の数の和が、上述した頂点の数になるようにマッピングすることにより、各Dmにおける所望の数の頂点の参照値をメモリに格納することが可能となる理解できる。そして、それぞれのクラスタ・サブメモリについて基準点からのマンハッタン距離Dmが偶数の頂点と奇数の頂点で別々のサブメモリに参照点を格納することにより、2N−2個のサブメモリに格納することが出来る。
なお、図20は、図19において、N=5,6,7の場合のそれぞれの分類図である。また、図21は、N=3〜7の場合における従来の技術との比較を示す図である。図21は、多次元LUTの各軸が15個の単位超立体(参照値は各軸16点)により分割されている場合を例にとり、参照値の総数、サブメモリの個数、サブメモリ当たりの参照値の数を示している。図から分かるように、従来例1(特許文献1)では、サブメモリ当たりの参照値の数は2の冪乗の数となっているが、サブメモリへの分割数が2N個必要である。また、従来例2(特許文献2)では、サブメモリへの分割数はN+1個に低減可能であるが、Nが(2の冪乗−1)の値でない場合サブメモリ当たりの参照値の数は2の冪乗の数にならない。一方、本実施形態によれば、サブメモリへの分割数を2N−2個に低減可能であると共に、サブメモリ1つ当たりに記憶される参照値の数が常に2の冪乗個となる。そのため、サブメモリへのアクセスするためのアドレス生成をN個の信号値の分割された上位ビット信号又は上位ビット信号に1加算した値のビット連結により容易に生成することが可能である。つまり、割り算器が不要となり回路規模を抑制可能となる。
以上説明したように、N次元の場合のデータ変換処理である第3実施形態によれば、多次元LUT960を2N−2個のサブメモリに格納すると共に、2サイクルで参照点を読み出して補間演算する技術について説明した。このように構成することにより、背景技術で述べた2つの特許文献に開示された技術に比較し、より少ないサブメモリとすることが出来、LUT読み出しの周辺回路の規模を低減可能とすることが可能となる。また、サブメモリをアクセスするためのアドレス生成が簡易となる。
(他の実施形態)
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明のクレームに含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
Claims (6)
- 各成分が複数ビットで表わされるN次元(Nは3以上の整数)データを入力し、該N次元データのN次元座標空間内の位置に応じたデータを出力するデータ変換装置であって、
N次元データの各成分を上位ビットと下位ビットに分割する分割手段と、
前記上位ビットにより取り得るN次元座標空間における位置に対応するデータをルックアップテーブル(LUT)として記憶する記憶手段と、
入力された前記N次元データの座標を内部に含むN次元超四面体のN+1個の頂点位置に対応するデータを、前記記憶手段に対し2回のアクセスを行うことにより読み出す読出手段と、
前記読出手段で読み出したデータと前記下位ビットの値とに基づいて補間演算を行い変換結果のデータとして出力する補間演算手段と、
を備え、
前記記憶手段は、前記N次元超四面体を含む超立方体の各頂点間のマンハッタン距離をD、前記超立方体の基準となる頂点から等マンハッタン距離にある各頂点の数をN、3次の二項分布の係数1、3、3、1で示されるデータ個数を示す要素をG(i)(iは1〜2N−3)と定義したとき、
となるようにG(i)を設定し、G(i)の第1、第3係数で示される個数の頂点に対応するデータを第(i×2−1)番目のLUTに格納し、G(i)の第2、第4係数で示される個数の頂点に対応するデータを第(i×2)番目のLUTに格納することにより、前記超立方体の各頂点に対応するデータを2N−2個に分割し記憶している
ことを特徴とするデータ変換装置。 - 前記読出手段は、前記上位ビットによりN次元超立方体を特定し、該N次元超立方体の頂点により構成される前記N次元超四面体を前記下位ビットにより特定することを特徴とする請求項1に記載のデータ変換装置。
- 前記読出手段は、前記記憶手段における前記N次元超四面体のN+1個の頂点位置に対応するデータが記憶されているアドレスを生成するアドレス生成手段を備えることを特徴とする請求項1または請求項2に記載のデータ変換装置。
- 前記アドレス生成手段は、前記読出手段による前記記憶手段に対する2回のアクセスを識別するための情報を有するアドレスを生成することを特徴とする請求項3に記載のデータ変換装置。
- N次元座標空間における複数の位置に対応するデータをルックアップテーブル(LUT)として記憶する記憶手段を備え、各成分が複数ビットで表わされるN次元(Nは3以上の整数)データを入力し、該N次元データのN次元座標空間内の位置に応じたデータを出力するデータ変換装置の制御方法であって、
N次元データの各成分を上位ビットと下位ビットに分割する分割工程と、
入力された前記N次元データの座標を内部に含むN次元超四面体のN+1個の頂点位置に対応するデータを、前記記憶手段に対し2回のアクセスを行うことにより読み出す読出工程と、
前記読出工程で読み出したデータと前記下位ビットの値とに基づいて補間演算を行い変換結果のデータとして出力する補間演算工程と、
を備え、
前記記憶手段は、前記N次元超四面体を含む超立方体の各頂点間のマンハッタン距離をD、前記超立方体の基準となる頂点から等マンハッタン距離にある各頂点の数をN、3次の二項分布の係数1、3、3、1で示されるデータ個数を示す要素をG(i)(iは1〜2N−3)と定義したとき、
となるようにG(i)を設定し、G(i)の第1、第3係数で示される個数の頂点に対応するデータを第(i×2−1)番目のLUTに格納し、G(i)の第2、第4係数で示される個数の頂点に対応するデータを第(i×2)番目のLUTに格納することにより、前記超立方体の各頂点に対応するデータを2N−2個に分割し記憶している
ことを特徴とするデータ変換装置の制御方法。 - N次元座標空間における複数の位置に対応するデータをルックアップテーブル(LUT)として記憶する記憶手段を備え、各成分が複数ビットで表わされるN次元(Nは3以上の整数)データを入力し、該N次元データのN次元座標空間内の位置に応じたデータを出力するデータ変換装置の制御プログラムであって、
N次元データの各成分を上位ビットと下位ビットに分割する分割工程を実行するためのプログラムコードと、
入力された前記N次元データの座標を内部に含むN次元超四面体のN+1個の頂点位置に対応するデータを、前記記憶手段に対し2回のアクセスを行うことにより読み出す読出工程を実行するためのプログラムコードと、
前記読出工程で読み出したデータと前記下位ビットの値とに基づいて補間演算を行い変換結果のデータとして出力する補間演算工程を実行するためのプログラムコードと、
を備え、
前記記憶手段は、前記N次元超四面体を含む超立方体の各頂点間のマンハッタン距離をD、前記超立方体の基準となる頂点から等マンハッタン距離にある各頂点の数をN、3次の二項分布の係数1、3、3、1で示されるデータ個数を示す要素をG(i)(iは1〜2N−3)と定義したとき、
となるようにG(i)を設定し、G(i)の第1、第3係数で示される個数の頂点に対応するデータを第(i×2−1)番目のLUTに格納し、G(i)の第2、第4係数で示される個数の頂点に対応するデータを第(i×2)番目のLUTに格納することにより、前記超立方体の各頂点に対応するデータを2N−2個に分割し記憶している
ことを特徴とする制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005370893A JP2007174392A (ja) | 2005-12-22 | 2005-12-22 | データ変換装置、データ変換装置の制御方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005370893A JP2007174392A (ja) | 2005-12-22 | 2005-12-22 | データ変換装置、データ変換装置の制御方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007174392A true JP2007174392A (ja) | 2007-07-05 |
Family
ID=38300342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005370893A Withdrawn JP2007174392A (ja) | 2005-12-22 | 2005-12-22 | データ変換装置、データ変換装置の制御方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007174392A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010157797A (ja) * | 2008-12-26 | 2010-07-15 | Konica Minolta Business Technologies Inc | 画像形成装置および色変換プログラム |
JP2019091439A (ja) * | 2017-11-16 | 2019-06-13 | アピカル リミテッド | 画像データ補間 |
-
2005
- 2005-12-22 JP JP2005370893A patent/JP2007174392A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010157797A (ja) * | 2008-12-26 | 2010-07-15 | Konica Minolta Business Technologies Inc | 画像形成装置および色変換プログラム |
US8335019B2 (en) | 2008-12-26 | 2012-12-18 | Konica Minolta Business Technologies, Inc. | Image formation apparatus, color conversion program embodied on computer readable medium, and color conversion method |
JP2019091439A (ja) * | 2017-11-16 | 2019-06-13 | アピカル リミテッド | 画像データ補間 |
JP7327732B2 (ja) | 2017-11-16 | 2023-08-16 | アーム・リミテッド | 画像データ補間の方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH10136216A (ja) | カラー画像処理装置 | |
JP2000184224A (ja) | 入力カラ―を出力カラ―に変換する方法、及び電子画像形成システム | |
JP3976849B2 (ja) | 補間器入力データを生成する装置 | |
US7215440B2 (en) | Fast interpolation of large color lookup tables | |
JP4974853B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP4724413B2 (ja) | データ分類方法 | |
JP2903808B2 (ja) | 色信号変換方法および装置 | |
JPH10276337A (ja) | カラー画像処理装置 | |
JP2007049494A (ja) | 色変換テーブルの作成方法、画像処理装置、画像処理方法、画像形成装置及び記録媒体 | |
JPH10200772A (ja) | カラー画像形成装置 | |
JP4250493B2 (ja) | 色変換マトリックス生成方法、色変換テーブル作成方法およびプログラム | |
JPH0575848A (ja) | 補間方式および色補正方法 | |
JPH10117291A (ja) | 補間器入力データの経路を決める装置 | |
US7898707B2 (en) | Normalization method, and multi-dimensional interpolation method and apparatus | |
JP2007174392A (ja) | データ変換装置、データ変換装置の制御方法およびプログラム | |
JPH10307911A (ja) | 多次元補間方法及びその装置 | |
JPH11261831A (ja) | 色信号変換用3次元ルックアップテーブルの濃度変動除去方法およびこれを行う画像出力装置 | |
JP4810615B2 (ja) | 多次元補間装置、多次元補間方法、及びコンピュータプログラム | |
JPH10200776A (ja) | 色変換装置および色変換方法並びに記録媒体 | |
JP2004172809A (ja) | カラーマネジメントシステム | |
JP3911898B2 (ja) | 色変換装置および方法 | |
JP2005167503A (ja) | 画像処理装置およびそれを備えた画像形成装置 | |
JP3683947B2 (ja) | 画像処理装置及び方法 | |
JPH11238127A (ja) | 刈り込み放射状補間および刈り込み四面体補間の共用補間回路 | |
JP2000022975A (ja) | データ変換装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090303 |