JP2004038693A - Data conversion method and image processing device - Google Patents
Data conversion method and image processing device Download PDFInfo
- Publication number
- JP2004038693A JP2004038693A JP2002196481A JP2002196481A JP2004038693A JP 2004038693 A JP2004038693 A JP 2004038693A JP 2002196481 A JP2002196481 A JP 2002196481A JP 2002196481 A JP2002196481 A JP 2002196481A JP 2004038693 A JP2004038693 A JP 2004038693A
- Authority
- JP
- Japan
- Prior art keywords
- data
- correction
- grid point
- coefficient
- color conversion
- 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
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
- Controls And Circuits For Display Device (AREA)
- Color, Gradation (AREA)
- Image Processing (AREA)
- Processing Of Color Television Signals (AREA)
Abstract
【課題】ガンマ補正装置と色変換装置をそなえる画像処理装置において、メモリの容量増大を伴わずに、回路を簡略化する。
【解決手段】入力された画像データに応じて、γ補正データを出力するγ補正テーブル25と、3次元空間の座標として表わされ、γ補正テーブル15から出力されたγ補正データに応じて、格子点データを出力するルックアップテーブル11と、格子点データとγ補正データから算出した係数データとを用いて補間演算を行い、色変換データを出力する8点補間演算部13とを備えた。
【選択図】 図2In an image processing apparatus having a gamma correction device and a color conversion device, a circuit is simplified without increasing the capacity of a memory.
A gamma correction table that outputs gamma correction data in accordance with input image data, and a gamma correction data that is represented as coordinates in a three-dimensional space and output from a gamma correction table. A lookup table 11 for outputting grid point data, and an eight-point interpolation calculator 13 for performing an interpolation operation using the grid point data and coefficient data calculated from the γ correction data and outputting color conversion data.
[Selection] Fig. 2
Description
【0001】
【発明の属する技術分野】
本発明は、データ変換方法および画像処理装置に関し、より詳細には、特にカラー画像データに対して行われるγ変換や色変換等のデータ変換方法および画像処理装置に関する。
【0002】
【従来の技術】
カラー画像データに対するγ変換や色変換は、例えば、パーソナルコンピュータで処理したカラー画像データに基づく画像を、ディスプレイで表示したり、プリンタで印刷する際の画像処理として行われる。このようなデジタル機器で扱われるカラー画像データは、例えば、RGBのそれぞれの色信号に対応したデジタル信号として表現される。
【0003】
RGBデータによって表現される色は、スキャナなどの入力機器、ディスプレイなどの表示器に依存した特性を有している。従って、RGBデータは、一意に色を決定することができる表現方法ではない。RGBデータの全ての値が同じであっても、人間の視覚にとって異なる色を表現している可能性がある。そこで、デバイスには依存しないCIEXYZ系が標準として用いられている。RGBデータをXYZ色空間に関係づけることにより、RGBデータが表す色を特定することができる。RGBデータは、次の式(1)および(2)によってXYZ色空間に関係づけられる。
【0004】
【数1】
【0005】
【数2】
【0006】
上述したように、表示器等のデバイスに応じてRGBの特性が異なる場合には、式(1)および(2)におけるγおよびXr,Yr,Zr,Xg,Yg,Zg,Xb,Yb,Zbの各値も異なる。特に、γの値は、デバイスに大きく依存しRGBの特性に影響を受ける。
【0007】
γの値は、ガンマ値と呼ばれ、人間の有する明度変化に対する知覚が、信号Yに対して線形ではなく、暗い方により敏感であることから用いられる補正係数である。デジタル信号でRGBを表す場合、信号Yに対してリニアな量子化を行うと、暗部での階調が充分滑らかに表現できないため、γを1より大きな値にして、RGBの変化と人間に知覚される変化とを一致させている。なお、ガンマ値は、上述のようにRGBの特性に応じて、概ね1.4〜2.2である。
【0008】
ガンマ値には幅があるため、色変換処理において想定しているRGBのガンマ値と、入力された画像データのRGBのガンマ値とが異なる状況が発生する。ガンマ値の不一致が発生している場合に、何ら補正することなく色変換を行うと、正常な結果を得ることができない。
【0009】
例えば、ガンマ値が一致しない場合には、明るさが変化し、変換された画像が本来より暗くなったり、逆に明るくなったりする。一方、変換マトリックスのパラメータであるXr,Yr,Zrなどが一致しない場合には、主として色相、彩度が変化する。色相、彩度などが多少ずれることは、明るさが変化することよりも画像の評価におよぼす影響は小さい。従って、RGBデータに対する色変換処理においては、ガンマ値の違いを補正することが重要となる。
【0010】
ガンマ値の補正を含む色変換処理の方法として、ガンマ値の違いを補正する複数の1次元テーブル(以下、ガンマ変換テーブルという)を用意する。複数のガンマ変換テーブルを、入力画像データのガンマ値に応じて切り替えて適用し、補正された画像データに対して色変換を行なう。例えば、テーブルに設定されている標準の色変換において、ガンマ値が1.8を想定しているとする。ガンマ値が1.4と2.2の特性を有する画像データが入力された場合には、1.8/1.4と1.8/2.2のγ補正に相当する変換を行う1次元のテーブルを用意する。入力画像データのRGBそれぞれの値を、1次元テーブルにより補正した後、色変換を行う。
【0011】
例えば、ガンマ変換、log変換等の画像信号の非線形変換は、ルックアップテーブル(以下、LUTという)を用いて行われることが多い。非線形変換を演算によって求めようとする場合、その演算が極めて複雑になり、演算回路の規模が大きくなるからである。これに対して、例えば、8ビットのビデオ信号に所定の非線形変換を行う処理を、LUTを用いて行えば、メモリ容量は256バイトで足り、演算も比較的簡易である。なお、ある種の画像信号を別の種類の画像信号に変換するためのLUTは、一般に1次元LUTと呼ばれている。
【0012】
一方、近年のデスクトップパブリッシング(以下、DTPという)環境の普及に伴い、カラー画像の扱いが容易となり、扱われる機会が増えた。DTPにおけるカラー画像の入力機器としては、スキャナ、ビデオカメラ等が知られている。また、出力機器としては、インクジェット方式,染料熱昇華方式または電子写真方式等の各種カラープリンタが知られている。これらカラー入出力機器は、それぞれ固有の色空間を有しているため、あるスキャナから得たカラー画像データを、そのまま他のカラープリンタに転送して画像をプリント出力する場合、プリンタから出力された画像の色が、スキャナの画像の色と一致することは少ない。カラープリンタにおいて、両者の色を一致させて良好な色再現を行なうには、入力機器の色空間を、出力機器の色空間に変換する処理が必要になる(以下、この処理を色変換処理という)。色変換処理は、具体的には、入力機器の色空間をなす3色(一般的には、R(赤)、B(青)、G(緑)の3色)の画像信号を参照して、出力機器の色空間をなすY(イエロー)、M(マゼンタ)、C(シアン)の3色またはこれにBk(ブラック)を加えた4色の画像信号に変換する。
【0013】
ところで、このような入力機器の3色の画像信号を、出力機器の複数の色の1つに変換する処理を、上述したLUTだけを用いて行う場合を考える。画像信号の1色を8ビットで表すと、入力24ビット、出力8ビットのLUTとなり16Mbyteの容量のメモリが必要となり、さらに、出力機器で用いられる色の数だけ上述のメモリが必要となる。この場合、総メモリ容量は、48〜64Mバイトとなって、比較的大容量のメモリを必要とする。
【0014】
このような方法は、コストの点から実用的ではなく、色変換処理でLUTを用いる場合には、LUTのメモリ容量を少なくすべく、LUTと補間処理を併用することが行われている。補間方法として、例えば、8点補間法がよく知られている。
【0015】
色変換の対象である3つの色信号Ri、Gi、Bi(各色n+mビット)を、Ri=Rh・2m+Rf、Gi=Gh・2m+Gf、Bi=Bh・2m+Bfと表わすとき、それらの上位nビット信号Rh、Gh、Bhと、下位mビット信号Rf、Gf、Bfを用いて補間処理を行なう。LUTには上位nビット信号Rh、Gh、Bhが入力され、これに基づく8つのアドレスによってそれぞれに対応する8つのテーブルデータが読み出される。この8つのテーブルデータに対して、下位mビット信号Rf、Gf、Bfを係数とした補間演算を行ない、上記3つの色信号Ri、Gi、Biに対する変換後のデータ、例えばY、M、C、Bkの1つの色データがそれぞれ求められる。
【0016】
LUTには、上位nビット信号Rh、Gh、Bhについて、それぞれ2n個の値Rh=0、1、2、…、2n−1、Gh=0、1、2、…、2n−1、Bh=0、1、2、…、2n−1のすべての組み合わせ(23n通り)に対応して、読み出されるべき色データが格納されている。換言すれば、LUTの内容は、これらの組み合わせを3次元空間の座標として表すと、その座標によって特定される点(以下、格子点という)において読み出される色データ(以下、格子点データという)が対応づけられるものとして説明される。すなわち、格子点データは、上位ビット信号Rh、Gh、Bh信号を連結した3・nビットのデータをアドレスとして読み出される。
【0017】
図1に、LUTの内容を3次元空間の座標として表した図を示す。8つの頂点(格子点)に対応した格子点データを、図1に示す。各格子点間を、2m個の点で分割した座標が、下位ビット信号(Rf、Gf、Bf)の値により求められる。補間処理は、上述したようにLUTから読出される格子点データを、変換対象である3つの色信号Ri、Gi、Biで表わされる点について、上記8つの格子点データに上記下位ビット信号(Rf、Gf、Bf)の値により求められる内分比を係数として乗じることにより変換データを求める。
【0018】
具体的には、図1に示す立方体の各々の格子点における格子点データを、D(R座標、G座標、B座標)とし、8点補間処理によって求める変換データをHi(Ri、Gi、Bi)とするとき、変換データHiは、
Hi(Ri,Gi,Bi)=2−3m・[(2m−Rf)・(2m−Gf)・(2m−Bf)・D(Rh,Gh,Bh)+Rf・(2m−Gf)・(2m−Bf)・D(Rh+1,Gh,Bh)+(2m−Rf)・Gf・(2m−Bf)・D(Rh,Gh+1,Bh)+(2m−Rf)・(2m−Gf)・Bf・D(Rh,Gh,Bh+1)+Rf・Gf・(2m−Bf)・D(Rh+1,Gh+1,Bh)+(2m−Rf)・Gf・Bf・D(Rh,Gh+1,Bh+1)+Rf・(2m−Gf)・Bf・D(Rh+1,Gh,Bh+1)+Rf・Gf・Bf・D(Rh+1,Gh+1,Bh+1)] (3)
によって求めることができる。
【0019】
このような演算を行うために必要な8つの格子点データを、LUTから図1に示す立方体単位で読み出す場合には、一般的なアドレッシング方法として、(Rh、Gh、Bh)各nBitを結合したアドレス(3・n)ビットを用いて、
D(Rh,Gh,Bh)、D(Rh+1,Gh,Bh)、D(Rh,Gh+1,Bh)、D(Rh,Gh,Bh+1)、D(Rh+1,Gh+1,Bh)、D(Rh,Gh+1,Bh+1)、D(Rh+1,Gh,Bh+1)、D(Rh+1,Gh+1,Bh+1)
の8つのデータを読み出している。
【0020】
【発明が解決しようとする課題】
しかしながら、従来のLUTとアドレッシング方法によると、例えば、LUTの各軸の空間分割数がl、すなわちR、G、B各軸が0〜lとすると、アドレス(Rh、Gh、Bh)が(l、l、l)の場合には、
D(l+1,l,l)、D(l,l+1,l)、D(l,l,l+1)、D(l+1,l+1,l)、D(l,l+1,l+1)、D(l+1,l,l+1)、D(l+1,l+1,l+1)
といったデータがLUTに存在しないため、例外的に、
D(l+1,l,l)、D(l,l+1,l)、D(l,l,l+1)、D(l+1,l+1,l)、D(l,l+1,l+1)、D(l+1,l,l+1)、D(l+1,l+1,l+1)
をあらかじめ格納しておき、これら8つのデータを用いて式(3)の演算を行っていた。同様に、アドレス(Rh、Gh、Bh)が、
(Rx,Gy,l)、(Rx,l,Bz)、(l,Gy,By)、(Rx,l,l)、(l,Gy,l)、(l,l,Bz)
(ただし、Rx、Gy、Bzは各々0〜(l−1)の値)として表されるアドレスについても、LUTに存在しないデータがあり、例外的にデータを別に用意して式(3)の演算を行っていた。従って、従来のデータ変換装置は、例外的な処理が多くなり、回路が複雑になるだけでなく、LUTの容量も大きくなるという問題があった。
【0021】
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、ガンマ補正装置と色変換装置をそなえる画像処理装置において、メモリの容量増大を伴わずに、回路を簡略化することができるデータ変換方法および画像処理装置を提供することにある。
【0022】
【課題を解決するための手段】
本発明は、このような目的を達成するために、請求項1に記載の発明は、入力された画像データに応じて、γ補正テーブルよりγ補正データを読み出して、出力するγ補正ステップと、該γ補正ステップから出力された前記γ補正データに応じて、3次元空間の座標として表わされたルックアップテーブルより読み出した格子点データと、前記γ補正データから算出した係数データとを用いて補間演算を行い、色変換データを出力する色変換処理ステップとを備えたことを特徴とする。
【0023】
請求項2に記載の発明は、請求項1に記載の前記γ補正データは、前記入力された画像データのγ特性を線形特性に補正し、前記ルックアップテーブルの前記座標における各軸の分割数より1小さい格子点をアクセスするようにスケーリングしたデータであることを特徴とする。
【0024】
請求項3に記載の発明は、請求項1に記載の前記色変換処理ステップは、前記γ補正ステップから出力された前記γ補正データを、前記座標における各軸ごとに分割する分割ステップと、該分割ステップで分割された前記γ補正データの上位ビットを用いて、前記ルックアップテーブルより8つの格子点データを読み出し、補間空間となる立方体を特定する特定ステップと、前記分割ステップで分割された前記γ補正データの下位ビットに係数を乗算し、前記補間空間における格子点の内分比となる係数データを出力する係数演算ステップと、前記特定ステップで読み出された前記格子点データと、前記係数演算ステップで出力された係数データとを積和演算して、色変換データを出力する補間演算ステップとを含むことを特徴とする。
【0025】
請求項4に記載の発明は、入力された画像データに応じて、γ補正データを出力するγ補正テーブルと、3次元空間の座標として表わされ、前記γ補正テーブルから出力された前記γ補正データに応じて、格子点データを出力するルックアップテーブルと、前記格子点データと前記γ補正データから算出した係数データとを用いて補間演算を行い、色変換データを出力する色変換処理手段とを備えたことを特徴とする。
【0026】
請求項5に記載の発明は、請求項4に記載の前記γ補正データは、前記入力された画像データのγ特性を線形特性に補正し、前記ルックアップテーブルの前記座標における各軸の分割数より1小さい格子点をアクセスするようにスケーリングしたデータであることを特徴とする。
【0027】
請求項6に記載の発明は、請求項4に記載の前記色変換処理手段は、前記γ補正テーブルから出力された前記γ補正データを、前記座標における各軸ごとに分割する分割手段と、該分割手段で分割された前記γ補正データの上位ビットを用いて、前記ルックアップテーブルより8つの格子点データを読み出し、補間空間となる立方体を特定する特定手段と、前記分割手段で分割された前記γ補正データの下位ビットに係数を乗算し、前記補間空間における格子点の内分比となる係数データを出力する係数演算手段と、前記特定手段で読み出された前記格子点データと、前記係数演算手段で出力された係数データとを積和演算して、色変換データを出力する補間演算手段とを含むことを特徴とする。
【0028】
請求項7に記載の発明は、請求項6に記載の前記ルックアップテーブルは、前記格子点データのバイト長と同じバーストレングスを有するSDRAMで構成され、1つの格子点を指定することにより、前記8つの格子点データを1度に読み出せるように構成されていることを特徴とする。
【0029】
請求項8に記載の発明は、コンピュータに、請求項1、2または3に記載の各ステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする。
【0030】
請求項9に記載の発明は、コンピュータに、請求項1、2または3記載の各ステップを実行させるためのプログラムであることを特徴とする。
【0031】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳細に説明する。
図2は、本発明の一実施形態にかかる画像処理装置を示したブロック図である。画像処理装置は、γ補正装置16と色変換装置10とから構成されている。γ補正装置16は、γ特性を持ったRGBデータを線形特性に補正するための装置である。γ補正装置16のγ―LUT15には、色変換装置10に最適な入力データにγ補正データをスケーリングしたデータが格納されている。γ補正装置16は、入力されたRGB画像データに対応して、補正後のスケーリングデータを出力する装置である。
【0032】
色変換装置10は、各軸の空間分割数が15(2進数で各軸0〜1111と表される)である3次元ルックアップテーブルと、このテーブルから読み出された8つの格子点データを用いた8点補間演算を行う。このようにして、R、G、B各色12ビットの画像データを、Y、M、C、Bk各色8ビットのプリントデータに変換する。より具体的には、プリンタで用いるプリントデータを作成する画像処理の一環として実行される色変換処理に適用したものである。
【0033】
色変換装置10は、上述した画像処理装置、具体的にはパーソナルコンピュータのハードウエアと、ハードウェア上で動作するプリンタドライバ等のソフトウエアとの協働によって実現される。なお、本発明は、このようなパーソナルコンピュータとプリンタとの組合せにのみ適用されるものでなく、複写機など広くプリント装置で用いるプリントデータを作成する画像処理に適用できる。従って、プリンタや複写機などのプリント装置自体が、以下に示す色変換処理を行なう構成も本発明の範囲に含まれることはもちろんである。
【0034】
色変換装置10の上位下位分割部14は、γ補正装置16より出力された(Rs、Gs、Bs)を、それぞれ上位4ビット(Rh、Gh、Bh)と下位8ビット(Rf、Gf、Bf)とに分割する。各々の上位4ビット(Rh,Gh,Bh)は、3次元ルックアップテーブル(3D−LUT)11の参照アドレスとして用いられる。下位8ビットデータ(Rf,Gf,Bf)は、係数演算部12で係数演算される。色変換処理手段に相当する8点補間演算部13は、3D−LUT11の格子点データと係数演算部12の係数データとを用いて、補間演算を行い、色変換データを出力する。
【0035】
3D−LUT11は、図5および図6で後述するように、1つの参照アドレス(Rh、Gh、Bh)によって8つの格子点データを出力する。すなわち、3つの上位4ビットデータ(Rh、Gh、Bh)は、図1に示したような1つの立方体における1つの頂点の座標に対応することによって、その立方体を補間空間として特定する。具体的には、3D−LUT11は、上記1つの頂点を含む立方体の8つの頂点(格子点)に対応したデータとして、
D(Rh,Gh,Bh)、D(Rh+1,Gh,Bh)、D(Rh+1,Gh,Bh+1)、D(Rh,Gh,Bh+1)、D(Rh,Gh+1,Bh)、D(Rh+1,Gh+1,Bh)、D(Rh+1,Gh+1,Bh+1)D(Rh,Gh+1,Bh+1)
という8つの格子点データを出力する。
【0036】
係数演算部12は、3つの下位8ビットデータ(Rf、Gf、Bf)に基づき、上述した式(3)における(2m−Rf)・(2m−Gf)・(2m−Bf)など、格子点データの係数を演算する。この係数は、図1から明らかなように、補間対象点(Ri、Gi、Bi)が属する補間空間において、補間対象点の格子点間の内分比に係わる。
【0037】
8点補間演算部13は、上述のように3D−LUT11から出力される8つの格子点データと、係数演算部12によって得られる係数とを用いて、演算式(3)に従い、積和演算を行なう。その結果、色変換データ、すなわち本実施形態においてはY、M、C、Bkの1つのデータであるHiを出力する。以上説明した補間演算を、Y、M、C、Bkのそれぞれについて行ない、Y、M、C、Bkの色変換データを得ることができる。
【0038】
γ補正装置16が、γ=2の特性を持った入力RGBデータDinを、線形特性に変換し、スケーリングする場合について詳細に説明する。図3に、γ補正装置のγ―LUT15の一例を示す。γ補正テーブル30に示めされたγ補正データDγは、γ=2の特性を持った入力RGBデータDinを、線形特性に補正した12ビットデータである。γ補正データDγは、γ=2の特性を持った入力RGBデータDinに対して、Dγ=((Din/255))1/2×4095で与えられる。従来のγ補正装置においては、γ補正データDγを、入力RGBデータに対応して出力するのが一般的である。スケーリングデータDsは、γ補正データDγを、さらに(3839/4095)倍にスケーリングした12ビットデータである。ここでは、入力RGBデータDinに対応したスケーリングデータDsを出力する。
【0039】
図4を用いて、色変換装置におけるスケーリングの方法について詳細に説明する。γ―LUT15から出力された(h+f)=12ビットのγ補正データDγ40は、色変換装置10の上位下位分割部14において、上位h=4ビットのRhと下位f=8ビットのRfとからなるデータ41に分割される。ここで、各軸の分割数をn、nの2進表示の桁数をhとする。さらに、色変換装置10の3D−LUT11より、各軸の分割数n=15を代入した場合にスケーリングされるスケーリングデータDsの最大値42が出力される。
【0040】
色変換装置10におけるスケーリングでは、最大値42に示すように、Rhには(n−1)、すなわち14が与えられ、スケーリングデータDsの最大値は、S=(n−1)×2f+2f−1として与えられる。従って、スケーリングデータDsは、Ds=Dγ×(S/(2(h+f)−1))となり、γ補正テーブル30には、入力RGBデータに対するスケーリングデータDsが格納される。
【0041】
以上説明したように、色変換装置10の3D−LUT11に対するアドレス(Rh、Gh、Bh)の最大値は(1110、1110、1110)となり、従来のようにアドレス(Rh、Gh、Bh)が(1111、1111、1111)を始めとする3D−LUT11の端部をアクセスすることがなくなり、例外的に3D−LUT11の端部を処理する必要がなくなる。
【0042】
本実施形態における3D−LUT11にはSDRAM(Synchronous Dynamic Random Access Memory)を用いて、バーストモードにより読出すことにより、1回のアドレッシングで8つの格子点データを読み出すことができる。上述した補間空間における8つの格子点データを単位として、3D−LUT11を構成するSDRAMに格納するとともに、この1単位のデータを1回のアドレッシングによって出力するようにする。以下、本実施形態における3D−LUT11における格子点データの格納およびその読出しの構成を説明する。
【0043】
図5は、本実施形態にかかる3D−LUTを構成するSDRAMのメモリ構造を示す図である。SDRAMのメモリ構造は、4つのバンク0〜3から構成されている。それぞれのバンクは、ローアドレスとコラムアドレスによって特定されるアドレスに1単位のデータが格納される。この1単位のデータは、32ビットの奥行きを有したセルアレイに格納され、セルアレイのデータを、DQM(データマスク)信号によってバイト単位で制御することができる。
【0044】
このようなメモリ構造において、アドレッシングは、BS(バンクセレクト)信号がデコードされて1つのバンクが選択される。選択されたバンクのローアドレスが確定(バンクアクティブ)し、次にコラムアドレスが確定して格納されたデータが読み出される。この読出しの際、上述したようにDQM信号によってその読出し量がバイト単位で制御される。
【0045】
SDRAMにおけるバーストモードは、ローアドレスが確定(バンクがアクティブ)した後、次のローアドレスに変化するまで、すなわち、バンクアクティブの間、CLK(クロック)信号の1クロック毎にコラムアドレスが変化して所定のコラムアドレス分(バーストレングス)のデータを読み出すモードである。この所定のコラムアドレス分のデータをすべて読み出した後、プリチャージが行われる。
【0046】
図6に、SDRAMによって構成される3D−LUTおける読出しのタイミングを示す。図6に示すタイミング▲1▼〜○14は、クロック信号の1クロックごとのタイミングを示している。3D−LUT11を構成するSDRAMは、バーストレングスが8(コラムアドレス分)のバーストモードに設定されており、最初に、上述した上位4ビットデータ(Rh、Gh、Bh)に基づいて生成されるBS信号(不図示)を、デコードすることによって1つのバンクが選択される。
【0047】
次に、タイミング▲1▼で、同様に上位4ビットデータ(Rh、Gh、Bh)に基づいて生成されるローアドレスが確定する。タイミング▲3▼では、コラムアドレスが確定し、同時にリードコマンドが発行される。このような、バンクの選択から最終的に1つのコラムアドレスを確定する1回のアドレッシングは、8つの格子点からなる図1に示した補間空間における1つの格子点(Rh,Gh,Bh)のアドレスを確定する。
【0048】
タイミング▲5▼〜○12で、上記8つの格子点に対応した8つのコラムアドレスにより、設定したバーストレングスの8個の格子点データD0〜D7、
D(Rh,Gh,Bh)、D(Rh+1,Gh,Bh)、D(Rh,Gh+1,Bh)、D(Rh,Gh,Bh+1)、D(Rh+1,Gh+1,Bh)、D(Rh+1,Gh,Bh+1)、D(Rh,Gh+1,Bh+1)、D(Rh+1,Gh+1,Bh+1)
が、CLK信号に同期して読み出される。この際、DQM信号(不図示)によって、1個の読出しデータは1バイトに制御される。換言すれば、それぞれ1バイトで表される格子点データは、各バンクのセルアレイにおける最初の8ビット(1バイト)に格納されたものである。以上の読出しの後、タイミング○13で、選択されたバンクのプリチャージを行う。
【0049】
このようにして、8バイト分(1バイト×8格子点)の格子点データを一括して読み出すバーストリードモードでは、1回のアドレッシングを含む14クロックで、8バイトのデータを読み出すことができる。
【0050】
図7は、1バイト単位でデータを読み出した場合のタイミングチャートである。タイミング▲1▼で、ローアドレスが確定し、タイミング▲3▼でコラムアドレスの確定およびリードコマンドの発行がされる。しかし、1バイトごとの読出しでは、タイミング▲5▼で、1バイトの格子点データが読み出された後、タイミング▲6▼で、バンクのプリチャージを行ない、以下、同様の処理を8回繰り返す。このため、1バイト単位のメモリアクセスで8バイトのデータを読み出すには、56クロック(7クロック×8回繰り返し)必要となる。
【0051】
SDRAMは、ローアドレスおよびコラムアドレスが確定した後、バーストレングスの分だけ、CLK信号のクロックに同期して自動的にコラムアドレスをインクリメントしデータを読み出す。従って、3D−LUT11に対するアドレッシングは1回で済む。すなわち、3次元ルックアップテーブルを構成する立方体の1つの格子点を指定すれば、立方体の8つの格子点データを1度に読み出すことができる。
【0052】
図8は、本実施形態にかかる3D−LUTの格子点データの格納状態を模式的に示す図である。3D−LUT11のメモリの容量について、さらに詳しく説明する。図8は、図1に示した1つの補間空間(補間立体)が3次元的に複数連続したものとして示したものである。
【0053】
R、G、Bデータのそれぞれ上位4ビットを3D−LUT11の参照アドレスとしていることから、それぞれの格子点は、R、G、B各軸について16分割して得られる座標0000〜1111によって特定することができる。ここで、上述したように、1回のアドレッシングで立方体を指定するためのアドレスを同図に示す座標で(Rh,Gh,Bh)とすると、読み出される立方体の格子点データは、
D(Rh,Gh,Bh)、D(Rh+1,Gh,Bh)、D(Rh,Gh+1,Bh)、D(Rh,Gh,Bh+1)、D(Rh+1,Gh+1,Bh)、D(Rh+1,Gh,Bh+1)、D(Rh,Gh+1,Bh+1)、D(Rh+1,Gh+1,Bh+1)
で表される8つの格子点データである。
【0054】
本実施形態では、変換される色信号の上位ビット数は4ビットであり、かつ3D−LUT11の出力データ幅が8ビットであるから、メモリに必要な容量は、補間空間を構成する図1に示した[立方体の総数(15×15×15=3375個)]×[1度に読み出される格子点数(8個)]×[1つの格子データの量(8ビット)]×[4色]となり、約108Kバイトになる。
【0055】
図9に、各軸の空間分割数が15の3D−LUTに必要な拡張データを示す。3D−LUT11のR、G、B各軸に、さらに1加えた各軸の空間分割数が16のLUTとして表される。すなわち、変換される色信号の上位ビット数は、4ビットであり、かつ3D−LUT11の出力データ幅が8ビットであるから、メモリに必要な容量は、補間空間を構成する図1に示した[立方体の総数(16×16×16=4096個)]×[1度に読み出される格子点数(8個)]×[1つの格子データの量(8ビット)]×[4色]となり、約131Kバイトになる。従って、上述した本実施形態の3D−LUT11は、23Kバイト容量が少なくて済むことになる。
【0056】
本発明は上述のように、複数の機器(たとえばホストコンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても一つの機器(たとえば複写機、ファクシミリ装置)からなる装置に適用してもよい。
【0057】
また、上述した実施形態の機能を実現するように各種のデバイスを動作させるように、各種デバイスと接続された装置あるいはシステム内のコンピュータに、実施形態に記載された機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)を格納されたプログラムに従って各種デバイスを動作させることによって実施したものも本発明の範疇に含まれる。
【0058】
この場合、ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、およびそのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記憶媒体は本発明を構成する。
【0059】
かかるプログラムコードを格納する記憶媒体としては例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0060】
コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけではなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)、あるいは他のアプリケーションソフト等と協働して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【0061】
さらに供給されたプログラムコードが、コンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後そのプログラムコードの指示に基づいてその機能拡張ボードや機能格張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も本発明に含まれることは言うまでもない。
【0062】
【発明の効果】
以上説明したように、本発明によれば、ルックアップテーブルが補間演算の補間空間を構成する複数の格子点それぞれの格子点データを、補間空間ごとに格納する。ルックアップテーブルからデータを読み出す際に、例外的な処理を必要としないので、回路が簡略化され、ルックアップテーブルに必要なメモリ容量を、従来のアドレッシング方法に比べて少なくすることが可能となる。
【図面の簡単な説明】
【図1】LUTの内容を3次元空間の座標として表した図である。
【図2】本発明の一実施形態にかかる画像処理装置を示したブロック図である。
【図3】γ補正装置のγ―LUTの一例を示す図である。
【図4】色変換装置におけるスケーリングの方法を説明するための図である。
【図5】本実施形態にかかる3D−LUTを構成するSDRAMのメモリ構造を示す図である。
【図6】SDRAMによって構成される3D−LUTおける読出しのタイミングを示すタイミングチャートである。
【図7】1バイト単位でデータを読み出した場合のタイミングチャートである。
【図8】本実施形態にかかる3D−LUTの格子点データの格納状態を模式的に示す図である。
【図9】各軸の空間分割数が15の3D−LUTに必要な拡張データを示す図である。
【符号の説明】
10 色変換装置
11 3次元ルックアップテーブル(3D−LUT)
12 係数演算部
13 8点補間演算部
14 上位下位分割部
15 γ―LUT
16 γ補正装置[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a data conversion method and an image processing apparatus, and more particularly, to a data conversion method such as γ conversion and color conversion performed on color image data and an image processing apparatus.
[0002]
[Prior art]
The gamma conversion and color conversion of the color image data are performed, for example, as image processing when an image based on the color image data processed by a personal computer is displayed on a display or printed by a printer. The color image data handled by such a digital device is represented, for example, as a digital signal corresponding to each of the RGB color signals.
[0003]
Colors represented by RGB data have characteristics depending on input devices such as scanners and display devices such as displays. Therefore, RGB data is not an expression method that can uniquely determine a color. Even if all the values of the RGB data are the same, different colors may be expressed for human vision. Therefore, a CIEXYZ system which does not depend on a device is used as a standard. By associating the RGB data with the XYZ color space, the color represented by the RGB data can be specified. RGB data is related to the XYZ color space by the following equations (1) and (2).
[0004]
(Equation 1)
[0005]
(Equation 2)
[0006]
As described above, when the RGB characteristics are different depending on the device such as the display device, γ and Xr, Yr, Zr, Xg, Yg, Zg, Xb, Yb, and Zb in Expressions (1) and (2) are used. Are also different. In particular, the value of γ greatly depends on the device and is affected by RGB characteristics.
[0007]
The value of γ is called a gamma value, and is a correction coefficient used because a human perception of a change in brightness is not linear with respect to the signal Y but is more sensitive to darker ones. In the case where RGB is represented by a digital signal, if linear quantization is performed on the signal Y, gradation in a dark portion cannot be sufficiently expressed, so that γ is set to a value larger than 1 to change RGB and perceive to humans. Will be consistent with the changes that will be made. The gamma value is approximately 1.4 to 2.2 depending on the RGB characteristics as described above.
[0008]
Since the gamma value has a range, a situation occurs in which the RGB gamma value assumed in the color conversion processing is different from the RGB gamma value of the input image data. If color conversion is performed without any correction when the gamma values do not match, a normal result cannot be obtained.
[0009]
For example, if the gamma values do not match, the brightness changes, and the converted image becomes darker or brighter than it should be. On the other hand, when the parameters Xr, Yr, Zr, etc. of the transformation matrix do not match, mainly the hue and saturation change. A slight shift in hue, saturation, etc., has a smaller effect on image evaluation than a change in brightness. Therefore, in the color conversion processing for the RGB data, it is important to correct the difference in the gamma value.
[0010]
As a method of color conversion processing including gamma value correction, a plurality of one-dimensional tables (hereinafter, referred to as gamma conversion tables) for correcting differences in gamma values are prepared. A plurality of gamma conversion tables are switched and applied according to the gamma value of the input image data, and color conversion is performed on the corrected image data. For example, assume that the gamma value is assumed to be 1.8 in the standard color conversion set in the table. When image data having characteristics of gamma values of 1.4 and 2.2 are input, one-dimensional conversion that performs conversion corresponding to 1.8 / 1.4 and 1.8 / 2.2 gamma correction is performed. Prepare a table. After correcting the respective RGB values of the input image data using a one-dimensional table, color conversion is performed.
[0011]
For example, non-linear conversion of image signals such as gamma conversion and log conversion is often performed using a look-up table (hereinafter, referred to as LUT). This is because, when a non-linear conversion is to be obtained by calculation, the calculation becomes extremely complicated and the scale of the calculation circuit becomes large. On the other hand, for example, if processing for performing a predetermined non-linear conversion on an 8-bit video signal is performed using an LUT, the memory capacity is only 256 bytes, and the operation is relatively simple. An LUT for converting a certain kind of image signal into another kind of image signal is generally called a one-dimensional LUT.
[0012]
On the other hand, with the spread of desktop publishing (hereinafter referred to as DTP) environments in recent years, handling of color images has become easier, and opportunities for handling have been increased. Scanners, video cameras, and the like are known as color image input devices in DTP. As output devices, various color printers such as an ink jet system, a dye sublimation system, and an electrophotographic system are known. Since these color input / output devices have their own color spaces, when color image data obtained from a certain scanner is directly transferred to another color printer to print out an image, the color output data is output from the printer. The color of the image rarely matches the color of the image of the scanner. In a color printer, a process of converting a color space of an input device to a color space of an output device is required to perform good color reproduction by matching the two colors (hereinafter, this process is referred to as a color conversion process). ). Specifically, the color conversion processing refers to image signals of three colors (generally, three colors of R (red), B (blue), and G (green)) forming a color space of the input device. The image signal is converted into an image signal of three colors of Y (yellow), M (magenta) and C (cyan) or a color signal of four colors obtained by adding Bk (black) to the color space of the output device.
[0013]
By the way, consider a case where such a process of converting an image signal of three colors of an input device into one of a plurality of colors of an output device is performed using only the LUT described above. If one color of an image signal is represented by 8 bits, a 24-bit input and 8-bit output LUT are required, and a memory having a capacity of 16 Mbytes is required. Further, the above-mentioned memories are required for the number of colors used in the output device. In this case, the total memory capacity is 48 to 64 Mbytes, which requires a relatively large capacity memory.
[0014]
Such a method is not practical in terms of cost, and when an LUT is used in the color conversion processing, the LUT and the interpolation processing are used together in order to reduce the memory capacity of the LUT. As an interpolation method, for example, an 8-point interpolation method is well known.
[0015]
The three color signals Ri, Gi, and Bi (n + m bits for each color) to be subjected to color conversion are represented by Ri = Rh · 2 m + Rf, Gi = Gh · 2 m + Gf, Bi = Bh · 2 m When expressed as + Bf, an interpolation process is performed using the upper n-bit signals Rh, Gh, Bh and the lower m-bit signals Rf, Gf, Bf. The upper n-bit signals Rh, Gh, Bh are input to the LUT, and eight table data corresponding to each are read by eight addresses based on the signals. Interpolation is performed on the eight table data using the lower m-bit signals Rf, Gf, and Bf as coefficients, and the converted data for the three color signals Ri, Gi, Bi, for example, Y, M, C, One color data of Bk is obtained.
[0016]
The LUT has 2 bits for each of the upper n-bit signals Rh, Gh, and Bh. n Values Rh = 0, 1, 2,..., 2 n -1, Gh = 0, 1, 2,..., 2 n -1, Bh = 0, 1, 2, ..., 2 n All combinations of -1 (2 3n ), The color data to be read is stored. In other words, when these combinations are represented as coordinates in a three-dimensional space, the color data (hereinafter, referred to as grid point data) read out at a point specified by the coordinates (hereinafter, referred to as grid points) is expressed as the contents of the LUT. It is described as being associated. In other words, the lattice point data is read out using the address of 3 · n bits obtained by connecting the upper bit signals Rh, Gh, and Bh signals.
[0017]
FIG. 1 shows a diagram representing the contents of the LUT as coordinates in a three-dimensional space. FIG. 1 shows grid point data corresponding to eight vertices (grid points). The distance between each grid point is 2 m The coordinates divided by the points are obtained from the values of the lower bit signals (Rf, Gf, Bf). In the interpolation process, the lattice point data read from the LUT is converted into the above-mentioned eight lattice point data at the points represented by the three color signals Ri, Gi, and Bi to be converted by the lower bit signal (Rf). , Gf, Bf) are multiplied as coefficients to obtain conversion data.
[0018]
Specifically, the grid point data at each grid point of the cube shown in FIG. 1 is D (R coordinate, G coordinate, B coordinate), and the conversion data obtained by the eight-point interpolation process is Hi (Ri, Gi, Bi). )), The conversion data Hi is
Hi (Ri, Gi, Bi) = 2 -3m ・ [(2 m −Rf) · (2 m −Gf) · (2 m −Bf) · D (Rh, Gh, Bh) + Rf · (2 m −Gf) · (2 m −Bf) · D (Rh + 1, Gh, Bh) + (2 m −Rf) · Gf · (2 m −Bf) · D (Rh, Gh + 1, Bh) + (2 m −Rf) · (2 m −Gf) · Bf · D (Rh, Gh, Bh + 1) + Rf · Gf · (2 m −Bf) · D (Rh + 1, Gh + 1, Bh) + (2 m −Rf) · Gf · Bf · D (Rh, Gh + 1, Bh + 1) + Rf · (2 m −Gf) · Bf · D (Rh + 1, Gh, Bh + 1) + Rf · Gf · Bf · D (Rh + 1, Gh + 1, Bh + 1)] (3)
Can be determined by:
[0019]
When eight pieces of grid point data necessary for performing such an operation are read out from the LUT in a cubic unit shown in FIG. 1, (Rh, Gh, Bh) nBits are combined as a general addressing method. Using the address (3 · n) bits,
D (Rh, Gh, Bh), D (Rh + 1, Gh, Bh), D (Rh, Gh + 1, Bh), D (Rh, Gh, Bh + 1), D (Rh + 1, Gh + 1, Bh), D (Rh, Gh + 1) , Bh + 1), D (Rh + 1, Gh, Bh + 1), D (Rh + 1, Gh + 1, Bh + 1)
Are read out.
[0020]
[Problems to be solved by the invention]
However, according to the conventional LUT and addressing method, for example, if the number of spatial divisions of each axis of the LUT is l, that is, each of the R, G, and B axes is 0 to l, the address (Rh, Gh, Bh) becomes (l , L, l),
D (l + 1, l, l), D (l, l + 1, l), D (l, l, l + 1), D (l + 1, l + 1, l), D (l, l + 1, l + 1), D (l + 1, l) , L + 1), D (l + 1, l + 1, l + 1)
Since there is no such data in the LUT, exceptionally,
D (l + 1, l, l), D (l, l + 1, l), D (l, l, l + 1), D (l + 1, l + 1, l), D (l, l + 1, l + 1), D (l + 1, l) , L + 1), D (l + 1, l + 1, l + 1)
Is stored in advance, and the calculation of Expression (3) is performed using these eight data. Similarly, the address (Rh, Gh, Bh) is
(Rx, Gy, l), (Rx, l, Bz), (l, Gy, By), (Rx, l, l), (l, Gy, l), (l, l, Bz)
Regarding addresses represented as (where Rx, Gy, and Bz are each 0 to (l-1)), there is data that does not exist in the LUT. Calculation was being performed. Therefore, the conventional data conversion device has a problem that not only the number of exceptional processes increases, the circuit becomes complicated, but also the capacity of the LUT increases.
[0021]
The present invention has been made in view of such a problem, and an object thereof is to simplify a circuit in an image processing apparatus having a gamma correction device and a color conversion device without increasing the memory capacity. It is an object of the present invention to provide a data conversion method and an image processing device capable of performing the above.
[0022]
[Means for Solving the Problems]
In order to achieve such an object, the present invention provides a γ correction step of reading γ correction data from a γ correction table according to input image data and outputting the read γ correction data, According to the γ correction data output from the γ correction step, using grid point data read from a look-up table represented as coordinates in a three-dimensional space and coefficient data calculated from the γ correction data A color conversion processing step of performing an interpolation operation and outputting color conversion data.
[0023]
According to a second aspect of the present invention, in the γ correction data according to the first aspect, the γ characteristic of the input image data is corrected to a linear characteristic, and the number of divisions of each axis in the coordinates of the look-up table. The data is characterized by being scaled so as to access a smaller grid point.
[0024]
According to a third aspect of the present invention, in the color conversion step of the first aspect, the gamma correction data output from the gamma correction step is divided for each axis in the coordinates. Using the upper bits of the γ-correction data divided in the dividing step, reading out eight grid point data from the look-up table, specifying a cube to be an interpolation space, and specifying the cube as the interpolation space. a coefficient calculation step of multiplying a lower bit of γ correction data by a coefficient and outputting coefficient data that is an internal division ratio of a grid point in the interpolation space; and the grid point data read in the specific step; An interpolation operation step of performing a product-sum operation on the coefficient data output in the operation step and outputting color conversion data.
[0025]
According to a fourth aspect of the present invention, there is provided a gamma correction table for outputting gamma correction data in accordance with input image data, and the gamma correction output as a coordinate in a three-dimensional space and output from the gamma correction table. A color conversion processing unit that performs an interpolation operation using a lookup table that outputs grid point data and coefficient data calculated from the grid point data and the γ correction data according to the data, and outputs color conversion data. It is characterized by having.
[0026]
According to a fifth aspect of the present invention, in the γ correction data according to the fourth aspect, the γ characteristic of the input image data is corrected to a linear characteristic, and the number of divisions of each axis in the coordinates of the lookup table is provided. The data is characterized by being scaled so as to access a smaller grid point.
[0027]
According to a sixth aspect of the present invention, the color conversion processing unit according to the fourth aspect further comprises: a dividing unit that divides the γ correction data output from the γ correction table for each axis in the coordinates. Using the upper bits of the γ-correction data divided by the dividing means, reads out the eight grid point data from the look-up table, and specifies the cubic to be the interpolation space; coefficient calculating means for multiplying the lower bits of the γ correction data by a coefficient and outputting coefficient data which is an internal division ratio of the grid points in the interpolation space; the grid point data read by the specifying means; and the coefficient And an interpolation operation means for performing a product-sum operation on the coefficient data output by the operation means and outputting color conversion data.
[0028]
According to a seventh aspect of the present invention, the look-up table according to the sixth aspect is configured by an SDRAM having a burst length equal to a byte length of the grid point data, and by specifying one grid point, It is characterized in that eight grid point data can be read at one time.
[0029]
According to an eighth aspect of the present invention, there is provided a computer-readable recording medium storing a program for causing a computer to execute each of the steps described in the first, second, or third aspect.
[0030]
A ninth aspect of the present invention is a program for causing a computer to execute each step of the first, second, or third aspect.
[0031]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 2 is a block diagram illustrating an image processing apparatus according to an embodiment of the present invention. The image processing device includes a
[0032]
The
[0033]
The
[0034]
The upper /
[0035]
The 3D-
D (Rh, Gh, Bh), D (Rh + 1, Gh, Bh), D (Rh + 1, Gh, Bh + 1), D (Rh, Gh, Bh + 1), D (Rh, Gh + 1, Bh), D (Rh + 1, Gh + 1) , Bh), D (Rh + 1, Gh + 1, Bh + 1) D (Rh, Gh + 1, Bh + 1)
Is output.
[0036]
The
[0037]
The eight-point
[0038]
The case where the
[0039]
The scaling method in the color conversion device will be described in detail with reference to FIG. The (h + f) = 12-bit γ
[0040]
In the scaling in the
[0041]
As described above, the maximum value of the address (Rh, Gh, Bh) for the 3D-
[0042]
In the 3D-
[0043]
FIG. 5 is a diagram showing a memory structure of the SDRAM constituting the 3D-LUT according to the present embodiment. The memory structure of the SDRAM is composed of four banks 0-3. Each bank stores one unit of data at an address specified by a row address and a column address. This one unit of data is stored in a cell array having a depth of 32 bits, and the data of the cell array can be controlled in byte units by a DQM (data mask) signal.
[0044]
In such a memory structure, in addressing, one bank is selected by decoding a BS (bank select) signal. The row address of the selected bank is determined (bank active), and then the column address is determined and the stored data is read. At the time of this reading, the amount of reading is controlled in byte units by the DQM signal as described above.
[0045]
In the burst mode in the SDRAM, after the row address is determined (the bank is activated), the column address is changed every clock of the CLK (clock) signal until the next row address changes, that is, while the bank is active. In this mode, data of a predetermined column address (burst length) is read. After reading all the data for the predetermined column address, precharge is performed.
[0046]
FIG. 6 shows a read timing in the 3D-LUT constituted by the SDRAM. Timings (1) to (14) shown in FIG. 6 indicate the timing of each clock of the clock signal. The SDRAM constituting the 3D-
[0047]
Next, at the timing (1), the row address generated based on the upper 4-bit data (Rh, Gh, Bh) is similarly determined. At timing (3), the column address is determined, and a read command is issued at the same time. Such one-time addressing that finally determines one column address from the selection of a bank is performed by using one grid point (Rh, Gh, Bh) in the interpolation space shown in FIG. Confirm the address.
[0048]
At timings {circle around (5)} to {circle around (12)}, eight column addresses corresponding to the above eight lattice points are used to set eight lattice point data D0 to D7 of the set burst length.
D (Rh, Gh, Bh), D (Rh + 1, Gh, Bh), D (Rh, Gh + 1, Bh), D (Rh, Gh, Bh + 1), D (Rh + 1, Gh + 1, Bh), D (Rh + 1, Gh) , Bh + 1), D (Rh, Gh + 1, Bh + 1), D (Rh + 1, Gh + 1, Bh + 1)
Are read out in synchronization with the CLK signal. At this time, one read data is controlled to one byte by a DQM signal (not shown). In other words, the grid point data represented by 1 byte is stored in the first 8 bits (1 byte) in the cell array of each bank. After the above reading, the precharge of the selected bank is performed at the timing ○ 13.
[0049]
In this manner, in the burst read mode in which grid data of 8 bytes (1 byte × 8 grid points) is read at a time, 8-byte data can be read in 14 clocks including one addressing.
[0050]
FIG. 7 is a timing chart when data is read in units of one byte. At timing (1), the row address is determined, and at timing (3), the column address is determined and a read command is issued. However, in the reading for each byte, after 1-byte grid point data is read at timing (5), the bank is precharged at timing (6), and the same process is repeated eight times thereafter. . Therefore, 56 clocks (7 clocks × 8 repetitions) are required to read 8 bytes of data by memory access in units of 1 byte.
[0051]
After the row address and the column address are determined, the SDRAM automatically increments the column address and reads data by the burst length in synchronization with the clock of the CLK signal. Therefore, addressing for the 3D-
[0052]
FIG. 8 is a diagram schematically illustrating a storage state of grid point data of the 3D-LUT according to the present embodiment. The memory capacity of the 3D-
[0053]
Since the upper 4 bits of each of the R, G, and B data is used as a reference address of the 3D-
D (Rh, Gh, Bh), D (Rh + 1, Gh, Bh), D (Rh, Gh + 1, Bh), D (Rh, Gh, Bh + 1), D (Rh + 1, Gh + 1, Bh), D (Rh + 1, Gh) , Bh + 1), D (Rh, Gh + 1, Bh + 1), D (Rh + 1, Gh + 1, Bh + 1)
Are the eight grid point data represented by.
[0054]
In the present embodiment, since the number of high-order bits of the color signal to be converted is 4 bits and the output data width of the 3D-
[0055]
FIG. 9 shows extended data necessary for a 3D-LUT in which the number of spatial divisions of each axis is 15. The R, G, and B axes of the 3D-
[0056]
As described above, the present invention can be applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.) or to an apparatus including one device (for example, a copying machine or a facsimile machine). May be.
[0057]
In addition, software for realizing the functions described in the embodiments is provided to an apparatus connected to the various devices or a computer in the system so as to operate various devices so as to realize the functions of the above-described embodiments. The present invention also includes a case where the present invention is implemented by supplying a program code and causing a computer (CPU or MPU) of the system or apparatus to operate various devices according to a stored program.
[0058]
In this case, the program code of the software itself realizes the function of the above-described embodiment, and the program code itself and a unit for supplying the program code to the computer, for example, a storage medium storing the program code are: The present invention is constituted.
[0059]
As a storage medium for storing such a program code, for example, a floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, CD-ROM, magnetic tape, nonvolatile memory card, ROM, or the like can be used.
[0060]
When the computer executes the supplied program code, not only the functions of the above-described embodiments are realized, but also the program code is executed by an OS (Operating System) running on the computer or other application software. It goes without saying that such a program code is also included in the embodiment of the present invention when the functions of the above-described embodiment are realized in cooperation.
[0061]
Further, the supplied program code is stored in a memory provided in a function expansion board of a computer or a function expansion unit connected to the computer, and then, based on an instruction of the program code, a CPU provided in the function expansion board or the function expansion unit. It is needless to say that the present invention includes a case in which the functions of the above-described embodiments are implemented by performing part or all of the actual processing.
[0062]
【The invention's effect】
As described above, according to the present invention, the lookup table stores the grid point data of each of the plurality of grid points forming the interpolation space of the interpolation operation for each interpolation space. Since no exceptional processing is required when reading data from the lookup table, the circuit is simplified, and the memory capacity required for the lookup table can be reduced as compared with the conventional addressing method. .
[Brief description of the drawings]
FIG. 1 is a diagram showing the contents of an LUT as coordinates in a three-dimensional space.
FIG. 2 is a block diagram illustrating an image processing apparatus according to an embodiment of the present invention.
FIG. 3 is a diagram illustrating an example of a γ-LUT of the γ correction device.
FIG. 4 is a diagram for explaining a scaling method in the color conversion device.
FIG. 5 is a diagram showing a memory structure of an SDRAM constituting a 3D-LUT according to the embodiment;
FIG. 6 is a timing chart showing a read timing in a 3D-LUT constituted by an SDRAM.
FIG. 7 is a timing chart when data is read in units of one byte.
FIG. 8 is a diagram schematically illustrating a storage state of grid point data of a 3D-LUT according to the present embodiment.
FIG. 9 is a diagram showing extended data necessary for a 3D-LUT in which the number of spatial divisions for each axis is 15;
[Explanation of symbols]
10 Color converter
11 Three-dimensional lookup table (3D-LUT)
12 Coefficient operation unit
13 8-point interpolation calculator
14 Upper and lower divisions
15 γ-LUT
16 γ correction device
Claims (9)
該γ補正ステップから出力された前記γ補正データに応じて、3次元空間の座標として表わされたルックアップテーブルより読み出した格子点データと、前記γ補正データから算出した係数データとを用いて補間演算を行い、色変換データを出力する色変換処理ステップと
を備えたことを特徴とするデータ変換方法。A gamma correction step of reading and outputting gamma correction data from the gamma correction table in accordance with the input image data;
According to the γ correction data output from the γ correction step, using grid point data read from a look-up table represented as coordinates in a three-dimensional space and coefficient data calculated from the γ correction data A color conversion processing step of performing an interpolation operation and outputting color conversion data.
前記入力された画像データのγ特性を線形特性に補正し、
前記ルックアップテーブルの前記座標における各軸の分割数より1小さい格子点をアクセスするようにスケーリングしたデータであることを特徴とする請求項1に記載のデータ変換方法。The γ correction data is:
Correct the γ characteristic of the input image data to a linear characteristic,
2. The data conversion method according to claim 1, wherein the data is scaled so as to access a grid point smaller than the number of divisions of each axis in the coordinates of the lookup table by one.
前記γ補正ステップから出力された前記γ補正データを、前記座標における各軸ごとに分割する分割ステップと、
該分割ステップで分割された前記γ補正データの上位ビットを用いて、前記ルックアップテーブルより8つの格子点データを読み出し、補間空間となる立方体を特定する特定ステップと、
前記分割ステップで分割された前記γ補正データの下位ビットに係数を乗算し、前記補間空間における格子点の内分比となる係数データを出力する係数演算ステップと、
前記特定ステップで読み出された前記格子点データと、前記係数演算ステップで出力された係数データとを積和演算して、色変換データを出力する補間演算ステップと
を含むことを特徴とする請求項1に記載のデータ変換方法。The color conversion processing step includes:
A dividing step of dividing the γ correction data output from the γ correction step for each axis in the coordinates,
Using the upper bits of the γ correction data divided in the division step, read out the eight grid point data from the look-up table, and specify a cube to be an interpolation space,
A coefficient calculation step of multiplying a lower bit of the γ correction data divided in the division step by a coefficient and outputting coefficient data that is an internal division ratio of a grid point in the interpolation space;
An interpolation operation step of performing a product-sum operation on the grid point data read in the specific step and the coefficient data output in the coefficient operation step and outputting color conversion data. Item 2. The data conversion method according to Item 1.
3次元空間の座標として表わされ、前記γ補正テーブルから出力された前記γ補正データに応じて、格子点データを出力するルックアップテーブルと、
前記格子点データと前記γ補正データから算出した係数データとを用いて補間演算を行い、色変換データを出力する色変換処理手段と
を備えたことを特徴とする画像処理装置。A gamma correction table that outputs gamma correction data according to the input image data;
A look-up table that is represented as coordinates in a three-dimensional space and outputs grid point data according to the γ correction data output from the γ correction table;
An image processing apparatus comprising: a color conversion processing unit that performs an interpolation operation using the grid point data and coefficient data calculated from the γ correction data and outputs color conversion data.
前記入力された画像データのγ特性を線形特性に補正し、
前記ルックアップテーブルの前記座標における各軸の分割数より1小さい格子点をアクセスするようにスケーリングしたデータであることを特徴とする請求項4に記載の画像処理装置。The γ correction data is:
Correct the γ characteristic of the input image data to a linear characteristic,
5. The image processing apparatus according to claim 4, wherein the data is scaled so as to access a grid point smaller than the number of divisions of each axis in the coordinates of the lookup table by one.
前記γ補正テーブルから出力された前記γ補正データを、前記座標における各軸ごとに分割する分割手段と、
該分割手段で分割された前記γ補正データの上位ビットを用いて、前記ルックアップテーブルより8つの格子点データを読み出し、補間空間となる立方体を特定する特定手段と、
前記分割手段で分割された前記γ補正データの下位ビットに係数を乗算し、前記補間空間における格子点の内分比となる係数データを出力する係数演算手段と、
前記特定手段で読み出された前記格子点データと、前記係数演算手段で出力された係数データとを積和演算して、色変換データを出力する補間演算手段と
を含むことを特徴とする請求項4に記載の画像処理装置。The color conversion processing means,
A dividing unit that divides the γ correction data output from the γ correction table for each axis in the coordinates,
Using the upper bits of the γ correction data divided by the division means, read out eight grid point data from the look-up table, to specify a cube to be an interpolation space,
Coefficient calculating means for multiplying a lower bit of the γ correction data divided by the dividing means by a coefficient, and outputting coefficient data that is an internal division ratio of grid points in the interpolation space,
An interpolating means for performing a product-sum operation on the grid point data read by the specifying means and the coefficient data output by the coefficient calculating means to output color conversion data. Item 5. The image processing device according to item 4.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002196481A JP2004038693A (en) | 2002-07-04 | 2002-07-04 | Data conversion method and image processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002196481A JP2004038693A (en) | 2002-07-04 | 2002-07-04 | Data conversion method and image processing device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004038693A true JP2004038693A (en) | 2004-02-05 |
Family
ID=31704558
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002196481A Withdrawn JP2004038693A (en) | 2002-07-04 | 2002-07-04 | Data conversion method and image processing device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2004038693A (en) |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005295545A (en) * | 2004-04-02 | 2005-10-20 | Xerox Corp | Color device profile having buffered lookup table |
| JP2006133765A (en) * | 2004-10-22 | 2006-05-25 | Samsung Electronics Co Ltd | Display device and driving device thereof |
| WO2008012969A1 (en) * | 2006-07-25 | 2008-01-31 | Sharp Kabushiki Kaisha | Multiple original color display device |
| JP2010524408A (en) * | 2007-04-11 | 2010-07-15 | レッド.コム,インコーポレイテッド | Video camera |
| US8013875B2 (en) | 2006-03-23 | 2011-09-06 | Fujitsu Semiconductor Limited | Color signal adjustment module in image display apparatus |
| US8878952B2 (en) | 2007-04-11 | 2014-11-04 | Red.Com, Inc. | Video camera |
| CN104732903A (en) * | 2013-12-18 | 2015-06-24 | 丁炜慷 | Three-primary-color joint gamma calibration |
| JP2015154270A (en) * | 2014-02-14 | 2015-08-24 | キヤノン株式会社 | Image processing apparatus, data creating device, image processing method and data creating method |
| US9521384B2 (en) | 2013-02-14 | 2016-12-13 | Red.Com, Inc. | Green average subtraction in image data |
| US11503294B2 (en) | 2017-07-05 | 2022-11-15 | Red.Com, Llc | Video image data processing in electronic devices |
-
2002
- 2002-07-04 JP JP2002196481A patent/JP2004038693A/en not_active Withdrawn
Cited By (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005295545A (en) * | 2004-04-02 | 2005-10-20 | Xerox Corp | Color device profile having buffered lookup table |
| JP2006133765A (en) * | 2004-10-22 | 2006-05-25 | Samsung Electronics Co Ltd | Display device and driving device thereof |
| US7636487B2 (en) | 2004-10-22 | 2009-12-22 | Samsung Electronics Co., Ltd. | Display device and driving device thereof |
| US8013875B2 (en) | 2006-03-23 | 2011-09-06 | Fujitsu Semiconductor Limited | Color signal adjustment module in image display apparatus |
| WO2008012969A1 (en) * | 2006-07-25 | 2008-01-31 | Sharp Kabushiki Kaisha | Multiple original color display device |
| US9230299B2 (en) | 2007-04-11 | 2016-01-05 | Red.Com, Inc. | Video camera |
| US9596385B2 (en) | 2007-04-11 | 2017-03-14 | Red.Com, Inc. | Electronic apparatus |
| US8872933B2 (en) | 2007-04-11 | 2014-10-28 | Red.Com, Inc. | Video camera |
| US8878952B2 (en) | 2007-04-11 | 2014-11-04 | Red.Com, Inc. | Video camera |
| US9019393B2 (en) | 2007-04-11 | 2015-04-28 | Red.Com, Inc. | Video processing system and method |
| US9792672B2 (en) | 2007-04-11 | 2017-10-17 | Red.Com, Llc | Video capture devices and methods |
| US8358357B2 (en) | 2007-04-11 | 2013-01-22 | Red.Com, Inc. | Video camera |
| JP2010524408A (en) * | 2007-04-11 | 2010-07-15 | レッド.コム,インコーポレイテッド | Video camera |
| US9245314B2 (en) | 2007-04-11 | 2016-01-26 | Red.Com, Inc. | Video camera |
| US9436976B2 (en) | 2007-04-11 | 2016-09-06 | Red.Com, Inc. | Video camera |
| US9787878B2 (en) | 2007-04-11 | 2017-10-10 | Red.Com, Llc | Video camera |
| US9716866B2 (en) | 2013-02-14 | 2017-07-25 | Red.Com, Inc. | Green image data processing |
| US9521384B2 (en) | 2013-02-14 | 2016-12-13 | Red.Com, Inc. | Green average subtraction in image data |
| US10582168B2 (en) | 2013-02-14 | 2020-03-03 | Red.Com, Llc | Green image data processing |
| JP2016541030A (en) * | 2013-12-18 | 2016-12-28 | 丁 ▲うぇい▼康DING, Weikang | Gamma correction common to all three primary colors |
| KR101934465B1 (en) * | 2013-12-18 | 2019-01-02 | 워이캉 딩 | Three-primary-colour combination gamma calibration |
| CN104732903A (en) * | 2013-12-18 | 2015-06-24 | 丁炜慷 | Three-primary-color joint gamma calibration |
| JP2015154270A (en) * | 2014-02-14 | 2015-08-24 | キヤノン株式会社 | Image processing apparatus, data creating device, image processing method and data creating method |
| US10152945B2 (en) | 2014-02-14 | 2018-12-11 | Canon Kabushiki Kaisha | Image processing apparatus capable of performing conversion on input image data for wide dynamic range |
| US11503294B2 (en) | 2017-07-05 | 2022-11-15 | Red.Com, Llc | Video image data processing in electronic devices |
| US11818351B2 (en) | 2017-07-05 | 2023-11-14 | Red.Com, Llc | Video image data processing in electronic devices |
| US12301806B2 (en) | 2017-07-05 | 2025-05-13 | RED Digital Cinema, Inc. | Video image data processing in electronic devices |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5241373A (en) | Apparatus for correction of color signal values | |
| US4477833A (en) | Method of color conversion with improved interpolation | |
| US5428465A (en) | Method and apparatus for color conversion | |
| JP4705917B2 (en) | Method and apparatus for converting from a source color space to a target color space | |
| KR101273730B1 (en) | Color adjusting apparatus, display apparatus, printing apparatus, image processing apparatus, color adjustment method, gui display method, and program | |
| US5568284A (en) | Image recording apparatus | |
| JPH11313219A (en) | Color data conversion method | |
| JPH0730772A (en) | Image processing device | |
| US7843606B2 (en) | Color converter, color converting method, and computer readable medium | |
| JP2004038693A (en) | Data conversion method and image processing device | |
| JP2000505268A (en) | Interpolation method in n-dimensional color space | |
| JP2009004865A (en) | Profile creation method and profile creation apparatus | |
| US20020122207A1 (en) | Fast Interpolation of large color lookup tables | |
| US5666436A (en) | Method and apparatus for transforming a source image to an output image | |
| US4953104A (en) | Page buffer for an electronic gray-scale color printer | |
| JPH10200772A (en) | Color image forming device | |
| JP3519230B2 (en) | Color correction method for image data | |
| US5940067A (en) | Reduced memory indexed color graphics system for rendered images with shading and fog effects | |
| KR100510308B1 (en) | Image processing device | |
| US6002795A (en) | Method and apparatus for transforming a source image to an output image | |
| US5450532A (en) | Cache memory system for a color ink jet printer | |
| US7298893B2 (en) | Image processing device and image processing method | |
| US20030020934A1 (en) | Color region compressing method | |
| JP2004072397A (en) | Image processing apparatus and image processing method | |
| US7898707B2 (en) | Normalization method, and multi-dimensional interpolation method and apparatus |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050704 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20070802 |