JP5164215B2 - データ変換装置 - Google Patents

データ変換装置 Download PDF

Info

Publication number
JP5164215B2
JP5164215B2 JP2008283851A JP2008283851A JP5164215B2 JP 5164215 B2 JP5164215 B2 JP 5164215B2 JP 2008283851 A JP2008283851 A JP 2008283851A JP 2008283851 A JP2008283851 A JP 2008283851A JP 5164215 B2 JP5164215 B2 JP 5164215B2
Authority
JP
Japan
Prior art keywords
ram
data
int
value
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008283851A
Other languages
English (en)
Other versions
JP2010114542A (ja
Inventor
武人 和泉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kawasaki Microelectronics Inc
Original Assignee
Kawasaki Microelectronics Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kawasaki Microelectronics Inc filed Critical Kawasaki Microelectronics Inc
Priority to JP2008283851A priority Critical patent/JP5164215B2/ja
Publication of JP2010114542A publication Critical patent/JP2010114542A/ja
Application granted granted Critical
Publication of JP5164215B2 publication Critical patent/JP5164215B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Description

本発明は、3次元の座標空間内の入力データを出力データに変換するデータ変換装置に関するものである。
画像処理によって色の変換や補正を行う場合、ルックアップテーブル(LUT)が用いられる。例えば、入力画像がRGBデータで表される色空間の場合、これと出力画像データの色空間とを対応づけた3次元LUTを用い、直接的に色変換を行う方法が良く知られている。
ここで、入力画像のRGBデータが各々8ビットで表現される色空間の場合、表現可能な色の数は
8×28×28=16,777,216となるが、この色の全てに対応する出力画像データが格納可能な3次元LUTを半導体回路内部に設けることは、LUT容量が膨大となり、現実的ではない。
そこで、入力画像のRGBデータの値を表すビット幅のうちのある一部のビットに対応する出力画像データのみを3次元LUTに格納し、該一部のビットにより特定された出力画像データと、入力画像データの残りのビットによって補間を行うことにより、最終的な出力画像データを作成し、色変換を実現するという手法により、LUT容量の削減を図ることが行われている。
例えば、入力画像のRGBデータを各々8ビットとすると、そのうち上位3ビットのRGBデータの組み合わせに対応する出力画像データを3次元LUTに格納し、入力画像のRGBデータの下位5ビットのデータを用いて補間を実施する方法である。このとき、3次元LUTに格納されるデータ数は、RGB各々が
(3ビットで表現される8通り)+(補間演算のための1通り)=9通り
となり、LUTデータ総数は、93=729となる。
図5に入力画像のRGBの3次元色空間を示す。を示す。図中の小さな丸で示される位置は格子点座標と呼ばれ、RGBのデータの上位3ビットのデータをアドレスとする3次元LUTに出力画像データが格納されている座標である。隣接する格子点座標の間隔は、この例の場合では32ステップ、すなわち5ビットに相当する(25=32)。RGBの各軸について、上位3ビットで表される格子点座標は、8ビットの画像データの0,32,64,96,128,160,192,224に相当し、補間演算のための格子点座標は256である。図5の3次元色空間は、図6に示す8個の格子点座標P0〜P7によって形成される512個の単位立方体の集合から成り立っている。
図5の3次元色空間内の任意の座標Ptの入力データを変換した画像データDtは、座標Ptが含まれる単位立方体を形成する8個の格子点座標P0〜P7の画像データと、入力画像データRGBの下位5ビットのデータから、補間演算によって求めることができる。
例えば、図6において、各格子点座標P0〜P7のデータをD0〜D7とし、座標Ptを通るようにRG平面、GB平面、BR平面からそれぞれ垂直に切断することで得られる8個の分割立方体をV0〜V7とし、PtからみてPn(n=0〜7)の反対側に存在する分割立方体の体積をVnとする(例えば、PtからみてP0の反対に位置する単位立方体はV0)と、座標Ptの入力データを変換した画像データDtは
Dt=(ΣDn・Vn)/323
の補間によって求めることができる。
ところが、上記のような補間演算によって座標Ptの出力画像データDtを求める際に、特にTVのような動画を表示するアプリケーションの場合には、各画素の入力画像データをリアルタイムで毎クロックサイクル処理する必要がある。このため、8個の格子点座標の画像データを用いる補間演算の場合は、同一のLUTを8個準備しておき、各LUTから同時に格子点座標データを読み出して補間処理を行う必要がある。このようなことから、例えば特許文献1では、実施例として同じ容量の格子点座標テーブルを8個使用することが記述されている。
しかし、全く同じLUTを8個用意することは、ハードウェアとしては回路規模が大きくなり、得策ではない。LUTは通常ではRAMで構成されるが、前記の例の場合では、729ワード×24ビットのRAMが8個、すなわち729×8=5832ワードのRAM容量必要となる。
ところが、本来、補間演算に使用する8個の格子点座標のデータは全て異なるデータであり、同一の格子点座標のデータが複数同時に読み出されることは無い。そこで、3次元空間を複数の単位立方体に分割し、各単位立方体の格子点座標に対応させて出力データを記憶させるとき、各格子点座標に対応する3次元入力データの偶数、奇数の8通りの組合せに基づき、出力データを8つに分割して、それぞれROM1〜ROM8に記憶させる技術が開示されている(特許文献2)。
特開2001−257899号公報 特開平5−63967号公報
しかし、特許文献2には、8つに分割した出力データを各ROM1〜ROM8のどのようなアドレスに記憶するかが記載されていない。すなわち、特許文献2には、ROM1〜ROM8のそれぞれに、RGBそれぞれの上位(N−2)ビットに、インクリメンタ1〜12で必要に応じて1を加えた値を供給することが記されているのみであり、これらの値をどのように利用してROM1〜ROM8にアクセスしているのかが記載されていない。しかし、例えば、RGBそれぞれの上位ビットに必要に応じて1を加えた数値をつなぎ合わせてアドレスを生成した場合を考えると、ROM1〜ROM8のそれぞれにRGBそれぞれの上位ビットを組み合わせた格子点の全て、および、補間演算のための格子点に対応するアドレスを設けることが必要になり、メモリ容量の削減を実現することができない。
本発明の目的は、高速処理を可能としながら、補間演算に必要なRAM容量を大幅に削減したデータ変換装置を提供することである。
上記目的を達成するために、請求項1にかかる発明のデータ変換装置は、それぞれがMビットの値で表されるX,Y,Z3次元の座標空間内の入力データを変換済みデータに変換するデータ変換装置であって、前記3次元のそれぞれMビットの値のうちの、上位Nビットの値の組合せの2N通りと補間演算用の1通りで表される格子点座標のそれぞれにおける変換係数もしくは出力データを対応するアドレスに記憶したルックアップテーブルと、変換対象の入力データの前記3次元空間内の座標に応じて、前記ルックアップテーブルから前記変換係数もしくは出力データを読み出す複数のアドレスを生成するアドレス生成部と、該アドレス生成部で生成された複数のアドレスから読み出された複数の変換係数もしくは出力データと、前記変換対象の入力データの3次元空間内の座標に基づいて、該変換対象の入力データが変換された変換済みデータを生成する補間演算部とを備え、前記ルックアップテーブルは、前記上位Nビットの値の組合せで表される格子点座標を、X,Y,Z方向のそれぞれの値が奇数であるか偶数であるかによって8組に分け、該8組のそれぞれに対応して設けられたRAMの、連続するアドレスに、前記変換係数もしくは出力データを記憶したものであり、前記アドレス生成部は、X,Y,Z方向のそれぞれの前記上位Nビットの値を受け取り、前記8組のそれぞれに対応して設けられたRAMの前記連続するアドレスを生成することを特徴とする。
請求項2にかかる発明は、請求項1に記載のデータ変換装置において、前記ルックアップテーブルは、前記8組に分けた格子点座標のそれぞれについて、X方向の値の増大に伴って第1のステップで増大し、Y方向の値の増大に伴って前記第1のステップよりも小さい第2のステップで増大し、Z方向の値の増大に伴って1ずつ増大するアドレスを設定し、前記変換係数もしくは出力データを、対応するRAMの該設定したアドレスに記憶したものであることを特徴とする。
請求項3にかかる発明は、請求項2に記載のデータ変換装置において、前記設定されるアドレスが、前記格子点座標のX、Y,Z方向の値をx、y、zとして、INT(x/2)、INT(y/2)、INT(z/2)をそれぞれ、x/2、y/2、z/2の整数部分として、Y方向の値が偶数でZ方向の値が偶数である格子点座標については、(2N-1+1)2×INT(x/2)+(2N-1+1)×INT(y/2)+INT(z/2)で、Y方向の値が偶数でZ方向の値が奇数である座標については、(2N-1+1)(2N-1)×INT(x/2)+(2N-1)×INT(y/2)+INT(z/2)で、Y方向の値が奇数でZ方向の値が偶数である格子点座標については、(2N-1+1)(2N-1)×INT(x/2)+(2N-1+1)×INT(y/2)+INT(z/2)で、Y方向の値が奇数でZ方向の値が奇数である格子点座標については、(22(N-1))×INT(x/2)+(2N-1)×INT(y/2)+INT(z/2)で、それぞれ表されることを特徴とする。
請求項4にかかる発明は、請求項3に記載のデータ変換装置において、前記アドレス生成回路は、前記変換対象の入力データの座標の上位NビットのX,Y,Z方向の値の組合せが含まれる格子点座標に対応するRAMについては、前記請求項3の対応する式でアドレスを生成し、他のRAMについては、前記上位NビットのX,Y,Z方向の値の1つもしくは複数に1を加えて、前記請求項3の対応する式でアドレスを生成することを特徴とする。
本発明のデータ変換装置によれば、LUTに格納する変換係数もしくは出力データを、入力データの上位Nビットが偶数であるか奇数であるかによって8つのRAMに振り分けて格納し、各RAMへのアクセスには、連続アドレスを利用するので、必要なRAM容量を大幅に削減することができる。
補間演算に必要なデータは、変換対象の入力データの座標Ptが含まれる単位立方体の頂点におけるデータであるので、全て異なるアドレスのデータとなる。したがって、補間演算に必要な各格子点座標のデータを別々のRAMに格納することが可能である。そして、本実施例では、各RAMのアドレス設定を工夫することにより、1個あたりのRAMの容量を削減し、全体として1つのLUTとなるように構成する。まず、各格子点座標のデータを入力データの上位Nビットが偶数であるか奇数であるかによって8つのRAMに振り分け、各RAMの連続アドレスに格納する。そして、これらのRAMへのアクセスの際には、入力データの上位Nビットが偶数であるか奇数あるかによって基準RAMを定め、入力データの上位Nビットの値から基準RAMのアドレスを求める。さらに、入力データの上位Nビットの値を補正した値から残りの7つのRAMアドレスを求める。
<実施例>
以下、本発明の実施例について説明する。ここでは、3次元LUTで説明する。なお簡単のため、以下の例では入力画像のRGBデータ各8ビットのうちの上位2ビットに対応する3次元LUTを8個のRAMで構成する。入力画像のRGBデータ各8ビットに対して、その上位2ビットに対応するLUTの大きさは
(22+1)3=125ワード
となる。RGBデータの下位6ビットに対しては、8つの格子点座標データを用いて線形補間を行う。この場合、LUTとして必要なRAMの容量は、
125×8=1000ワード
となる。ここでは、LUTを構成する8つの各RAMは、同一のデータを格納したものを想定している。
しかしながら、入力データの下位6ビットによる補間演算に必要な8つの格子点座標は、LUT上の異なるアドレスに格納されているため、8つのRAMの2つ以上に対して同一のアドレスから読み出しが行われることは無い。
そこで、[A]から[H]までの8つのRAMを用意し、LUTに格納すべき125個のデータをこの8つのRAMに振り分けて格納するようにする。図2(a)〜(e)はそのデータ振り分け方法の一例を表した図であり、簡単のためにRの入力データの上位2ビットがある値のときのGB平面の2次元LUTで表している。図2(a)はRの上位2ビットが「00」(上位2ビットの値が0)の場合、図2(b)はRの上位2ビットが「01」(上位2ビットの値が1)の場合、図2(c)はRの上位2ビットが「10」(上位2ビットの値が2)の場合、図2(d)はRの上位2ビットが「11」(上位2ビットの値が3)の場合のGB平面のLUTである。図2(e)は補間用(上位2ビットの値が4)のGB平面のLUTである。○は3次元LUTの格子点座標を表し、○の中のA〜Hは割り当てられたRAM[A]〜RAM[H]を表し、○の右下の数字は3次元LUTの格子点の番号を表す。Rの上位2ビットの値が偶数(0,2,4)のGB平面のデータはRAM[A]〜RAM[D]に格納される。またRの上位2ビットの値が奇数(1,3)の場合、GB平面のデータはRAM[E]〜RAM[H]に格納される。
このように125個のLUTデータを8つのRAM[E]〜RAM[H]に分割格納すると、RAM[A]には27個の格子点座標におけるデータが格納され、RAM[B],[C],[E]にはそれぞれ18個の格子点座標におけるデータが格納され、RAM[D],[F],[G]にはそれぞれ12個の格子点座標におけるデータが格納され、RAM[H]には8個の格子点座標におけるデータが格納される。よって、データの格納に必要なRAM容量は、27+18×3+12×3+8=125となるので、同一RAMを8個用意する従来の場合と比較し、必要なRAM容量は1/8となる。
そして、それぞれのRAMの0から始まるアドレスに、図2に示された3次元LUTの格子点の番号の順番に、データを記憶する。例えば、RAM[A]のアドレス0には図2(a)に示された番号0の格子点のデータを記憶し、続いて、アドレス1,2,3,4,5,6,7,8には図2(a)に示された番号2,4,10,12,14,20,22,24の格子点のデータを記憶する。続いて、アドレス9には図2(c)に示された番号50の格子点のデータを記憶し、続いて、アドレス10,11,12,13,14,15,16,17に、図2(c)に示された番号52,54,60,62,64,70,72,74の格子点のデータをそれぞれ記憶する。さらに、アドレス18,19,20,21,22,23,24,25,26に、図2(e)に示された番号100,102,104,110,112,114,120,122,124の格子点のデータをそれぞれ記憶する。
続いて、RAM[B]のアドレス0,1,2,3,4,5に、図2(a)に示された番号1,3,11,13,21,23の格子点のデータを、アドレス8,7,8,9,10,11に、図2(c)に示された番号51,53,61,63,71,73の格子点のデータを、アドレス12,13,14,15,16,17に、図2(e)に示された番号101,103,111,113,121,123の格子点のデータを記憶する。RAM[C]〜RAM[H]についても同様である。
図3に、RAM[A]〜RAM〔H]のアドレスと、図2(a)〜(e)に示された三次元LUTの格子点の番号との対応を示す。図3に示されたように、RAM[A]〜RAM[H]のそれぞれの、連続するアドレスに対応する格子点のデータが記憶される。従って、RAM[A]〜RAM[H]に必要なアドレスの個数は格子点の個数分だけであり、実際に、メモリ容量の削減を実現することができる。
図3に示されたRAM[A]〜RAM[H]のアドレスは、8組に分けた格子点座標のそれぞれについて、R方向の値の増大に伴って第1のステップで増大し、G方向の値の増大に伴って第1のステップよりも小さい第2のステップで増大し、B方向の値の増大に伴って1ずつ増大する。例えば、RAM[A]のアドレスは、図2(a)から図2(c)へ、そしてさらに、図2(e)へと移り、R方向の上位2ビットの値が0(00)→2(10)→4(補間用)と増大するに伴って9ずつ増大する。そして、図2(a)、(c)、(e)それぞれの、最下段から3段目へ、そしてさらに、最上段へと移り、G方向の上位2ビットの値が0(00)→2(10)→4(補間用)と増大するに伴って3ずつ増大する。さらに、図2(a)、(c)、(e)それぞれの、左端の列から左側から3列目へ、そしてさらに、右端の列へと移り、B方向の上位2ビット値が0(00)→2(10)→4(補間用)と増大するに伴って1ずつ増大する。同様に、RAM[E]のアドレスも、R方向の値の増大に伴って9ずつ増大し、G方向の値の増大に伴って3ずつ増大し、B方向の値の増大に伴って1ずっ増大する。
RAM[B]のアドレスは、図2(a)から図2(c)へ、そしてさらに、図2(e)へと移り、R方向の上位2ビットの値が0(00)→2(10)→4(補間用)と増大するに伴って6ずつ増大する。そして、図2(a)、(c)、(e)それぞれの、最下段から3段目へ、そしてさらに、最上段へと移り、G方向の上位2ビット値が0(00)→2(10)→4(補間用)と増大するに伴って2ずつ増大する。さらに、図2(a)、(c)、(e)それぞれの、左側から2列目から4列目へと移り、B方向の上位2ビット値が1(01)→3(11)と増大するに伴って1ずつ増大する。同様に、RAM[F]のアドレスも、R方向の値の増大に伴って6ずつ増大し、G方向の値の増大に伴って2ずつ増大し、B方向の値の増大に伴って1ずつ増大する。
同様に、RAM[C],[G]のアドレスは、R方向の値の増大に伴って6ずつ増大し、G方向の値の増大に伴って3ずつ増大し、B方向の値の増大に伴って1ずつ増大する。RAM[D],〔H]のアドレスは、R方向の値が増大するに伴って4ずつ増大し、G方向の値が増大するに伴って2ずつ増大し、B方向の値が増大に伴って1ずつ増大する。
このように、図2(a)〜(e)に示された125個のデータを、RAM〔A]〜RAM[H]の8個のRAMに分けて、それぞれのアドレスに記憶する。次に、入力データに対応する出力データを得るときには、8個のRAM[A]〜RAM[H]のそれぞれから1つずつのデータを読み出し、そのデータを利用した補間演算を行う。このとき、RAM[A]〜RAM[H]のそれぞれからデータを読み出すためのアドレスを次のようにして求める。
(1).入力データの上位2ビットが偶数(Even)であるか奇数(Odd)であるかによって、補間の基準となるRAMを、図4に示すように決定する。
(2).基準RAM[A]〜RAM[H]のアドレスは、入力データのRGB上位2ビットから以下の式で求める。INTは得られた値の整数を求める関数である。
Figure 0005164215
(3).補間演算のための残りの7つのRAMのアドレスは、基準RAMを求めたRGB値を、以下のように補正したR’、G’、B’を用いて、(2)の各式から求める。
基準RAMがRAM[A]の場合
RAM[B]:R’=R、 G’=G、 B’=B+1
RAM[C]:R’=R、 G’=G+1、 B’=B
RAM[D]:R’=R、 G’=G+1、 B’=B+1
RAM[E]:R’=R+1、 G’=G、 B’=B
RAM[F]:R’=R+1、 G’=G、 B’=B+1
RAM[G]:R’=R+1、 G’=G+1、 B’=B
RAM[H]:R’=R+1、 G’=G+1、 B’=B+1
基準RAMがRAM[B]の場合
RAM[A]:R’=R、 G’=G、 B’=B+1
RAM[C]:R’=R、 G’=G+1、 B’=B+1
RAM[D]:R’=R、 G’=G+1、 B’=B
RAM[E]:R’=R+1、 G’=G、 B’=B+1
RAM[F]:R’=R+1、 G’=G、 B’=B
RAM[G]:R’=R+1、 G’=G+1、 B’=B+1
RAM[H]:R’=R+1、 G’=G+1、 B’=B
基準RAMがRAM[C]の場合
RAM[A]:R’=R、 G’=G+1、 B’=B
RAM[B]:R’=R、 G’=G+1、 B’=B+1
RAM[D]:R’=R、 G’=G、 B’=B+1
RAM[E]:R’=R+1、 G’=G+1、 B’=B
RAM[F]:R’=R+1、 G’=G+1、 B’=B+1
RAM[G]:R’=R+1、 G’=G、 B’=B
RAM[H]:R’=R+1、 G’=G、 B’=B+1
基準RAMがRAM[D]の場合
RAM[A]:R’=R、 G’=G+1、 B’=B+1
RAM[B]:R’=R、 G’=G、 B’=B+1
RAM[C]:R’=R、 G’=G+1、 B’=B
RAM[E]:R’=R+1、 G’=G+1、 B’=B+1
RAM[F]:R’=R+1、 G’=G、 B’=B+1
RAM[G]:R’=R+1、 G’=G+1、 B’=B
RAM[H]:R’=R+1、 G’=G、 B’=B
基準RAMがRAM[E]の場合
RAM[A]:R’=R+1、 G’=G、 B’=B
RAM[B]:R’=R+1、 G’=G、 B’=B+1
RAM[C]:R’=R+1、 G’=G+1、 B’=B
RAM[D]:R’=R+1、 G’=G+1、 B’=B+1
RAM[F]:R’=R、 G’=G、 B’=B+1
RAM[G]:R’=R、 G’=G+1、 B’=B
RAM[H]:R’=R、 G’=G+1、 B’=B+1
基準RAMがRAM[F]の場合
RAM[A]:R’=R+1、 G’=G、 B’=B+1
RAM[B]:R’=R+1、 G’=G、 B’=B
RAM[C]:R’=R+1、 G’=G+1、 B’=B+1
RAM[D]:R’=R+1、 G’=G+1、 B’=B
RAM[E]:R’=R、 G’=G、 B’=B+1
RAM[G]:R’=R、 G’=G+1、 B’=B+1
RAM[H]:R’=R、 G’=G+1、 B’=B
基準RAMがRAM[G]の場合
RAM[A]:R’=R+1、 G’=G+1、 B’=B
RAM[B]:R’=R+1、 G’=G+1、 B’=B+1
RAM[C]:R’=R+1、 G’=G、 B’=B
RAM[D]:R’=R+1、 G’=G、 B’=B+1
RAM[E]:R’=R、 G’=G、 B’=B+1
RAM[F]:R’=R、 G’=G+1、 B’=B+1
RAM[H]:R’=R、 G’=G+1、 B’=B
基準RAMがRAM[H]の場合
RAM[A]:R’=R+1、 G’=G+1、 B’=B+1
RAM[B]:R’=R+1、 G’=G+1、 B’=B
RAM[C]:R’=R+1、 G’=G、 B’=B+1
RAM[D]:R’=R+1、 G’=G、 B’=B
RAM[E]:R’=R、 G’=G+1、 B’=B+1
RAM[F]:R’=R、 G’=G+1、 B’=B
RAM[G]:R’=R、 G’=G、 B’=B+1
(4).(2)の各式に(3)のRGB値を適用することにより、8分割したRAMのそれぞれのアドレスを求め、これらのRAMからなるLUTから補間用のデータを同時に読み出すことができる。このように、基準RAMを定めることにより、他のRAMについても、入力データの上位ビットを一定の規則に従って補正した値を用いて、基準RAMの場合と同一の式を用いてアドレスを求めることができる。これにより、アドレス生成回路の構成を単純化することができる。ただし、本発明において、他のアドレス生成方法を採用することも可能である。
そして、これら8個のRAMから読み出した8個のデータを利用した補間演算を行い、入力データに対応する変換済みデータを算出する。すなわち、LUTに格納されたデータが各格子点座標における出力データである場合には、読み出したデータを利用した補間演算により、直接、変換済みデータが算出される。LUTに格納されたデータが各格子点座標における変換係数である場合には、読み出したデータを利用した補間演算により、入力データに対応する変換係数を算出し、この変換係数を利用して入力データを変換して、変換済みデータを算出する。なお、従来技術では、体積を利用した補間演算方法について簡単に述べたが、本発明では補間演算の方法については特に限定されるものではない。
以上、入力画像のRGBデータの各上位2ビットによる5×5×5=125個のデータを格納した3次元LUTでの例を記述したが、上位Nビット(N≧2)による(2N+1)3のデータを格納した3次元LUTの場合は、上記(2)で示した基準RAMのアドレスを求める式は、
Figure 0005164215
で表すことができる。
8分割したLUTの各RAM容量については、RAM[A]の容量は(2N-1+1)3ワード、RAM[B],[C],[E]の容量は2N-1×(2N-1+1)2ワード、RAM[D],[F],[G]の容量は22(N-1)×(2N-1+1)ワード、RAM[H]の容量は23(N-1)ワードとなる。
したがって、上位3ビットによる9×9×9=729ワードのデータを格納する3次元LUTの場合は、125ワードのRAMが1個(RAM[A])、100ワードのRAMが3個(RAM[B],[C],[E])、80ワードのRAMが3個(RAM[D],[F],[G])、64ワードのRAMが1個(RAM[H])の合計729ワードのRAMでLUTが構成できることになり、729ワードのRAMを8個使用する従来の場合と比べて、729×7=5103ワードのRAM容量を削減できる。
図1は以上説明した手法によって構成したデータ変換装置を表す図である。図中、10は基準RAM選択部であり、入力画像のRGBデータの上位Nビットが奇数か偶数かによって基準RAMを選択する。20はRAMアドレス生成部であり、選択された基準RAMに応じて、前記した(2)〜(3)によってRAM[A]〜[H]のアドレスを生成する。30は3次元LUTであり、8分割したRAM[A]31〜RAM[H]38からなる。40は補間演算回路であり、3次元LUT30から同時に読み出された8個の格子点座標データと入力画像のRGBデータの下位(8−N)ビットのデータとを利用して補間演算を行ってRGBの変換済みデータを作成する。
また、上記LUT構成は、色変換等の場合のRGBによる3次元LUTだけではなく、例えば現在データと過去データから最適な補正値を決定するオーバドライブ回路で用いられるような2次元LUTにおいても、同様な方法でLUTを構成するRAMの削減が可能となる。この場合、2次元LUTによる4点補間が行われ、画像データ上位Nビットによる2次元LUTを考えると、4分割したLUTの各RAM容量は、(2N-1+1)2ワードのRAMが1個、2N-1×(2N-1+1)ワードのRAMが2個、22(N-1)ワードのRAMが1個となる。
また、上位4ビットによる17×17の2次元LUTの場合、81ワードのRAMが1個、72ワードのRAMが2個、64ワードのRAMが1個の合計289ワードのRAM容量でLUTが構成可能となり、289ワードのRAMからなるLUTを4点補間のため4個使用する場合と比較して、289×3=867ワードのRAM容量を削減できる。
本発明の1つの実施例のデータ変換装置の回路図である。 3次元LUTを構成する8個のRAMへの格子点座標データの格納の一例の説明図である。 各RAMのアドレスと格子点の番号との対応を示す説明図である。 基準RAM選択の説明図である。 3次元色空間の格子点座標を示す図である。 1つの単位立方体を示す図である。
符号の説明
10:基準RAM選択部、20:RAMアドレス生成部、30:LUT、31〜38:RAM、40:補間演算部

Claims (4)

  1. それぞれがMビットの値で表されるX,Y,Z3次元の座標空間内の入力データを変換済みデータに変換するデータ変換装置であって、
    前記3次元のそれぞれMビットの値のうちの、上位Nビットの値の組合せの2N通りと補間演算用の1通りで表される格子点座標のそれぞれにおける変換係数もしくは出力データを対応するアドレスに記憶したルックアップテーブルと、
    変換対象の入力データの前記3次元空間内の座標に応じて、前記ルックアップテーブルから前記変換係数もしくは出力データを読み出す複数のアドレスを生成するアドレス生成部と、
    該アドレス生成部で生成された複数のアドレスから読み出された複数の変換係数もしくは出力データと、前記変換対象の入力データの3次元空間内の座標に基づいて、該変換対象の入力データが変換された変換済みデータを生成する補間演算部とを備え、
    前記ルックアップテーブルは、前記上位Nビットの値の組合せで表される格子点座標を、X,Y,Z方向のそれぞれの値が奇数であるか偶数であるかによって8組に分け、該8組のそれぞれに対応して設けられたRAMの、連続するアドレスに、前記変換係数もしくは出力データを記憶したものであり、
    前記アドレス生成部は、X,Y,Z方向のそれぞれの前記上位Nビットの値を受け取り、前記8組のそれぞれに対応して設けられたRAMの前記連続するアドレスを生成することを特徴とするデータ変換装置。
  2. 前記ルックアップテーブルは、前記8組に分けた格子点座標のそれぞれについて、X方向の値の増大に伴って第1のステップで増大し、Y方向の値の増大に伴って前記第1のステップよりも小さい第2のステップで増大し、Z方向の値の増大に伴って1ずつ増大するアドレスを設定し、前記変換係数もしくは出力データを、対応するRAMの該設定したアドレスに記憶したものであることを特徴とする請求項1記載のデータ変換装置。
  3. 前記設定されるアドレスが、前記格子点座標のX、Y,Z方向の値をx、y、zとして、INT(x/2)、INT(y/2)、INT(z/2)をそれぞれ、x/2、y/2、z/2の整数部分として、
    Y方向の値が偶数でZ方向の値が偶数である格子点座標については、(2N-1+1)2×INT(x/2)+(2N-1+1)×INT(y/2)+INT(z/2)で、
    Y方向の値が偶数でZ方向の値が奇数である座標については、(2N-1+1)(2N-1)×INT(x/2)+(2N-1)×INT(y/2)+INT(z/2)で、
    Y方向の値が奇数でZ方向の値が偶数である格子点座標については、(2N-1+1)(2N-1)×INT(x/2)+(2N-1+1)×INT(y/2)+INT(z/2)で、
    Y方向の値が奇数でZ方向の値が奇数である格子点座標については、(22(N-1))×INT(x/2)+(2N-1)×INT(y/2)+INT(z/2)で、
    それぞれ表されることを特徴とする請求項2記載のデータ変換装置。
  4. 前記アドレス生成回路は、
    前記変換対象の入力データの座標の上位NビットのX,Y,Z方向の値の組合せが含まれる格子点座標に対応するRAMについては、前記請求項3の対応する式でアドレスを生成し、
    他のRAMについては、前記上位NビットのX,Y,Z方向の値の1つもしくは複数に1を加えて、前記請求項3の対応する式でアドレスを生成することを特徴とする請求項3記載のデータ変換装置。
JP2008283851A 2008-11-05 2008-11-05 データ変換装置 Expired - Fee Related JP5164215B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008283851A JP5164215B2 (ja) 2008-11-05 2008-11-05 データ変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008283851A JP5164215B2 (ja) 2008-11-05 2008-11-05 データ変換装置

Publications (2)

Publication Number Publication Date
JP2010114542A JP2010114542A (ja) 2010-05-20
JP5164215B2 true JP5164215B2 (ja) 2013-03-21

Family

ID=42302779

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008283851A Expired - Fee Related JP5164215B2 (ja) 2008-11-05 2008-11-05 データ変換装置

Country Status (1)

Country Link
JP (1) JP5164215B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6448410B2 (ja) * 2015-02-26 2019-01-09 キヤノン株式会社 データ変換装置およびその制御方法、プログラム
WO2020227905A1 (zh) * 2019-05-13 2020-11-19 华为技术有限公司 预失真参数更新装置及方法、预失真处理系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4837722A (en) * 1986-05-14 1989-06-06 Massachusetts Institute Of Technology Digital high speed 3-dimensional interpolation machine
JP2008203527A (ja) * 2007-02-20 2008-09-04 Seiko Epson Corp 画像処理装置、画像表示装置および画像出力方法

Also Published As

Publication number Publication date
JP2010114542A (ja) 2010-05-20

Similar Documents

Publication Publication Date Title
JP2006060824A (ja) 多次元ルックアップテーブル補間システム及び方法
KR101518357B1 (ko) 색 맵된 이미지의 예측 스케일링을 위한 방법 및 시스템
JP2000505268A (ja) n次元の色空間における補間方法
JP5164215B2 (ja) データ変換装置
JP4921268B2 (ja) 画像スケーリングに用いられる画像処理システムおよび方法
JP5887809B2 (ja) 画像処理装置及びプログラム
JP2006246196A (ja) シェーディング補正装置、シェーディング補正方法
JP6448410B2 (ja) データ変換装置およびその制御方法、プログラム
JP3757884B2 (ja) データ変換方法、データ変換回路及びデータ変換プログラム
JP2008017059A (ja) 非線形変換装置および非線形変換方法
JP2014192541A (ja) 色変換装置、色変換方法、及び電子機器
JP4402523B2 (ja) データ変換方法、データ変換装置、プログラム及び記憶媒体
JP4658821B2 (ja) ベジェ曲線生成回路
JP7547046B2 (ja) データ変換装置、データ変換方法、及びプログラム
US6801212B1 (en) Apparatus and method for color data interpolation
JP2006173829A (ja) 色変換装置
JPH06230768A (ja) 画像メモリ装置
JP2002344757A (ja) 色補間方法及び色補間装置
JP2016163070A5 (ja)
KR100304659B1 (ko) 색보정방법및회로
JP2023090079A (ja) 3dルックアップテーブル回路及び3dルックアップテーブルの格子点の補間方法
JP2011188386A (ja) ラインメモリ
JP2004309736A (ja) 特殊効果装置、アドレス信号生成装置、アドレス信号生成方法及びアドレス信号生成プログラム
JP2002354276A (ja) 色変換方法および色変換装置
JP3871027B2 (ja) 色データ変換装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120912

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121214

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5164215

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees