JP2023090079A - 3dルックアップテーブル回路及び3dルックアップテーブルの格子点の補間方法 - Google Patents
3dルックアップテーブル回路及び3dルックアップテーブルの格子点の補間方法 Download PDFInfo
- Publication number
- JP2023090079A JP2023090079A JP2021204835A JP2021204835A JP2023090079A JP 2023090079 A JP2023090079 A JP 2023090079A JP 2021204835 A JP2021204835 A JP 2021204835A JP 2021204835 A JP2021204835 A JP 2021204835A JP 2023090079 A JP2023090079 A JP 2023090079A
- Authority
- JP
- Japan
- Prior art keywords
- lookup table
- filter
- data
- input
- interpolation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
【課題】映像データの信号の変換処理に必要とされる変換処理精度に基づいて、3Dルックアップテーブルを構成する3Dルックアップテーブル回路及び特に補間方法を提供することを目的とする。【解決手段】入力されるデータ信号に対して、所定の変換処理を行うために3Dルックアップテーブルの構成を構築する3Dルックアップテーブル回路であって、入力信号の値から格子点のデータを読み出しアドレスを生成するLUTアドレス生成部と、LUTアドレス生成部より出力されたアドレスを元に格子点のデータを出力するメモリ部と、フィルタの計数を求めるための係数計算部と、メモリ部から読み出したデータと係数計算部で求めた係数を元に積和演算を行うフィルタ計算部とを有し、読み出す近傍要素を3次元の各軸からそれぞれ前後3個ずつ読み出してフィルタ計算によるフィルタ補間の処理を行う。【選択図】 図1
Description
本発明は、複雑なデジタル計算処理の効率化と、処理のリアルタイム性を両立させるために用いられる3Dルックアップテーブル回路について、詳しくは、入力されるデータ、特に、映像データの信号の変換処理に必要とされる変換処理精度に基づいて、3Dルックアップテーブルを構成する3Dルックアップテーブル回路及び特に補間方法に関するものである。
従来から、複雑なデジタル計算処理を行うには、ハード的に高性能な演算処理機能を有することが、必要条件として求められており、さらに、映像処理のようにリアルタイム性が求められる処理においては、より一層に高い性能が、ハード的に要求されている。
しかしながら、このような処理性能を満たすものは、大規模回路になり、また、費用の面からも実現することが困難な場合が多い。そこで、一般的に、予定される入力データに対する計算結果を予めルックアップテーブルに保存しておき、処理を行う際に、実際の計算を行う代わりに、ルックアップテーブルから目的のデータを読み出すルックアップテーブル回路を用いた方法が知られている。
近頃では、映像の処理において、ルックアップテーブルを用いた処理回路を実装している装置が多く存在し、特に、色の補正処理などでは、G/B/Rや、Y/Pb/Prの映像入力信号に対し、その3つの入力信号強度の比率を出力に反映させる必要があるため、3Dルックアップテーブルでの回路構成を持つものが主流となっている。
例えば、特許文献1には、R,G,B空間を複数の立方体に分割し、該分割された立方体に色補正値を設定し、入力されたR,G,B信号で前記立方体の一つを選択し、該選択された立方体に設定された色補正値を線形補間することによって入力R,G,B信号に対応するイエロー、マゼンダ、シアンの色補正信号を算出する色補正方式において、前記分割された立方体は所定の領域で密に分割されていることを特徴とする色補正方式が開示されている。
また、例えば、特許文献2には、第1の画像処理デバイスにおいて、ターゲットデバイスとした第2の画像処理デバイスを用いた場合の色再現を行うエミュレーションのために、上記第1の画像処理デバイスで使用する画像信号の色変換を行う色変換装置において、入力された画像信号の信号値を、三次元ルックアップテーブルを用いて出力信号値に変換するとともに、上記三次元ルックアップテーブルは、上記第2の画像処理デバイスの入出力特性を再現するための色変換と、上記第2の画像処理デバイスと上記第1の画像処理デバイスとの間の色域変換としての色変換と、上記第1の画像処理デバイスの入出力特性に応じた補正としての色変換と、としての各色変換要素が含まれた入出力値が設定されたものであることを特徴とする色変換装置が開示されている。
3DLUT(3次元ルックアップテーブル)を図で説明する際は、図3のように3次元の立方体の塊で示すのが一般的である。立方体群の内の1つの立方体をキューブと称する。また、キューブの頂点は、3DLUTのテーブルデータとし、キューブの頂点を格子点と称する。
従来の3DLUTの補間方法は、主に2つあり、立方体補間、三角錐補間が挙げられる。
1つ目の方法の立方体補間は、図4のように、入力信号に一番近いキューブを読み出し、その呼び出したキューブの8つの格子点を使用して3次元の線形補間を行う方法である。
1つ目の方法の立方体補間は、図4のように、入力信号に一番近いキューブを読み出し、その呼び出したキューブの8つの格子点を使用して3次元の線形補間を行う方法である。
2つ目の方法の三角錐補間は、図5のように、入力信号に一番近いキューブを読み出し、1つのキューブを更に6つの三角錐の領域に分類して、入力信号がどの領域に属するか確認し、属している領域の三角錐の頂点を用いて三角錐補間を行う方法である。この方法は、特許文献3に見られる。
従来の3DLUTの補間方法である立方体補間、三角錐補間は、ともに補間誤差によりバンディングなどの問題が発生する場合がある。これにより輝度、色味の階調が劣化してしまう。前記の補間の欠点の一例を挙げると、色空間はRGB、入力信号をマゼンタ色のランプ波形、3DLUTの補間を立体補間で行い、テーブルデータは、彩度下げてモノクロにする処理を行った場合、図6のような結果となる。
前記の一例の劣化の原因は、1つのキューブで補間を行っているからだと考えられる。通常3DLUTのテーブルデータを線形に変化させた場合は問題ないが、3DLUTのテーブルデータを非線形に変化させた場合は歪みが生じる場合がある。また、データによっては、1つのキューブで補間すると、キューブとキューブの境界部分を考慮していないので微分が不連続となってしまう問題が生じることがある。
本願は上述のような補間誤差等により発生する劣化や歪みの課題を大幅に軽減することのできる3Dルックアップテーブル回路及び3Dルックアップテーブルの格子点の補間方法を提供することにある。
上述の課題に対応するため、本発明は、以下の技術的手段を講じている。
即ち、請求項1記載の発明は、入力されるデータ信号に対して、所定の変換処理を行うために3Dルックアップテーブルの構成を構築する3Dルックアップテーブル回路であって、データ信号が入力される入力信号部と、入力信号の値からあらかじめ保存されている格子点のデータを読み出しアドレスを生成するLUTアドレス生成部と、前記LUTアドレス生成部より出力されたアドレスを元に格子点のデータを出力するメモリ部と、フィルタの計数を求めるための係数計算部と、前記メモリ部から読み出したデータと前記係数計算部で求めた係数を元に積和演算を行うフィルタ計算部と、前記フィルタ計算部の結果を出力する出力信号部と、を有することを特徴とする3Dルックアップテーブル回路である。
即ち、請求項1記載の発明は、入力されるデータ信号に対して、所定の変換処理を行うために3Dルックアップテーブルの構成を構築する3Dルックアップテーブル回路であって、データ信号が入力される入力信号部と、入力信号の値からあらかじめ保存されている格子点のデータを読み出しアドレスを生成するLUTアドレス生成部と、前記LUTアドレス生成部より出力されたアドレスを元に格子点のデータを出力するメモリ部と、フィルタの計数を求めるための係数計算部と、前記メモリ部から読み出したデータと前記係数計算部で求めた係数を元に積和演算を行うフィルタ計算部と、前記フィルタ計算部の結果を出力する出力信号部と、を有することを特徴とする3Dルックアップテーブル回路である。
また、請求項2記載の発明は、前記フィルタ計算部は前記3Dルックアップテーブルから読み出す近傍要素を3次元の各軸からそれぞれ複数読み出してフィルタ計算によるフィルタ補間の処理を行うことを特徴とする請求項1に記載の3Dルックアップテーブル回路である。
また、請求項3記載の発明は、前記フィルタ補間は読み出す近傍要素を3次元の各軸からそれぞれ前後3個ずつ読み出してフィルタ補間の処理を行うことを特徴とする請求項2に記載の3Dルックアップテーブル回路である。
また、請求項4記載の発明は、入力されるデータ信号に対して、所定の変換処理を行うために3Dルックアップテーブルの構成を構築する3Dルックアップテーブルの格子点の補間方法であって、データ信号が入力される入力信号手段と、入力信号の値からあらかじめ保存されている格子点のデータを読み出しアドレスを生成するLUTアドレス生成手段と、前記LUTアドレス生成部より出力されたアドレスを元に格子点のデータを出力するメモリ手段と、フィルタの計数を求めるための係数計算手段と、前記メモリ部から読み出したデータと前記係数計算部で求めた係数を元に積和演算を行うフィルタ計算手段と、前記フィルタ計算部の結果を出力する出力信号手段と、を有する3Dルックアップテーブル回路の3Dルックアップテーブルの格子点の補間方法において、前記3Dルックアップテーブルから読み出す近傍要素を3次元の各軸からそれぞれ複数読み出してフィルタ計算によるフィルタ補間の処理を行うことを特徴とする3Dルックアップテーブルの格子点の補間方法である。
また、請求項5記載の発明は、前記フィルタ補間は読み出す近傍要素を3次元の各軸からそれぞれ前後3個ずつ読み出してフィルタ補間の処理を行うことを特徴とする請求項2に記載の3Dルックアップテーブルの格子点の補間方法である。
本発明の3Dルックアップテーブル回路及び3Dルックアップテーブルの格子点の補間方法によって従来課題となっていた補間誤差によるバインディングの問題によって階調の劣化や歪みの発生を大きく抑えることができるので、理想ローパスの結果に近づき、歪みをほぼ無くすことができる。また、ルックアップテーブルのデータ量の増加を抑えることもできる。
本発明に係る3Dルックアップテーブル回路の第1の実施形態について、図面を参照しながら説明する。図1は本発明に係る3Dルックアップテーブル回路の第1の実施形態を示した構成概略図で、図2は本発明の格子点の補間方法をキューブを使用して表した図、図3は3Dルックアップテーブルを図で表したキューブの形状、図4は来の3Dルックアップテーブル補間方法である立方体補間を表した図、図5は従来の3Dルックアップテーブル補間方法である三角錐補間を表した図、図6は来の3Dルックアップテーブル補間方法を用いて処理した階調劣化の一例である。なお、図中及び明細書中の「LUT」は、ルックアップテーブルの略である。
まず、ルックアップテーブル回路において、誤差なく最も精度の高い処理変換の実施をするためには、入力されるデータに対するルックアップテーブル保存の変換処理データを、1対1で対応させる必要がある。しかしながら、すべての入力データに1対1で対応するルックアップテーブルを用意する場合、入力データビット数によっては、ルックアップテーブルのサイズ(データ数)が増大する。
例えば、入力データが10ビットとすると、ルックアップテーブルの数が、1024個必要となり、これが3次元構造である3Dルックアップテーブルでは、1024×1024×1024個のルックアップテーブルが必要となる。つまり、1次元で必要なルックアップテーブルの数に対して、3Dルックアップテーブルでは、3乗の割合で増大し、結果として、回路規模の巨大化を招いてしまう。
そのため、ルックアップテーブルを用いたデータ変換回路の多くでは、入力データに1対1で対応するのではなく、特定の間隔毎の入力データ値に対して、変換後の値をルック
アップテーブルに保存し、間引かれた入力データ値に対する変換は、近しい値の入力データ値に対応するルックアップテーブルの変換値を複数個読み出し、それらを補間処理することで、回路としての処理を実現している。
アップテーブルに保存し、間引かれた入力データ値に対する変換は、近しい値の入力データ値に対応するルックアップテーブルの変換値を複数個読み出し、それらを補間処理することで、回路としての処理を実現している。
よって、ルックアップテーブルでの変換処理精度が求められている場合は、入力データ値の特定の間隔を狭めて、間引かれた入力データ値の補間精度を上げることによって、回路としての変換処理精度の向上を図るわけである。一方で、変換処理精度が求められていない場合は、入力データ値の特定の間隔を大きくすることにより、補間精度が下がり、回路としての変換処理精度も下がることになるが、対応するルックアップテーブルの数は少なくすることが可能となる。
3DLUT(3次元ルックアップテーブル)を図で説明する際は、図3のように3次元の立方体の塊で示すのが一般的である。立方体群の内の1つの立方体をキューブと称する。また、キューブの頂点は、3DLUTのテーブルデータとし、キューブの頂点を格子点と称する。
続いて、本実施形態における3Dルックアップテーブル回路10は、図1に示すように、データ変換処理装置内に組み込まれ、入力されるデータ信号の変換処理に用いられるもので、入力されるデータ信号に応じて、このデータ信号の変換処理に要する変換処理精度を複数判別し、判別した変換処理精度に対応する複数のそれぞれ異なる変換処理精度を持つルックアップテーブルを所定順に連続的に繋げて組み合わせることによって、3Dルックアップテーブルの構成を構築するものである。
3Dルックアップテーブル回路10は、主に、データ信号が入力される入力信号部1と、入力信号の値からあらかじめ保存されている格子点のデータを読み出しアドレスを生成するLUTアドレス生成部2と、前記LUTアドレス生成部より出力されたアドレスを元に格子点のデータを出力するメモリ部3と、フィルタの計数を求めるための係数計算部4と、前記メモリ部から読み出したデータと前記係数計算部で求めた係数を元に積和演算を行うフィルタ計算部5と、前記フィルタ計算部の結果を出力する出力信号部6と、から構成される。
入力信号部1は映像信号が入力される。色空間は、RGB、YPbPrなどどれでも良いが、入力信号とメモリに書き込むのに想定した色空間は一致させることが必要となる。言い換えると、メモリに書き込むデータの色空間はどれでも良いが、3DLUTの格子点と入力信号の色空間は一致させる必要がある。
LUTアドレス生成部2は入力信号の値からあらかじめ保存されている格子点のデータを読み出しアドレスを生成しフィルタの係数の重みづけを生成する。定義は以下の通りとなる。入力信号をR,G,Bとする。入力信号に入力しうる最大値をRmax,Gmax,Bmaxとする。3DLUTの1軸の格子点の数をNとする。floor関数は小数点切り捨てとする。係数計算で使用する重みづけをweightr,weightg,weightbとする。メモリに読み出すアドレスをaddrとする。
メモリ部3はLUTアドレス生成部2より出力されたアドレスを元に3DLUTの格子点つまりメモリのデータを出力する。メモリの構成は主に2つのパターンがある。1つ目は、大きな1つのメモリで格子点のデータを保存するパターン、2つ目は、複数のメモリに分けて格子点のデータを保存するパターンである。その他様々なパターンがあるが、その一例としてフィルタのタップ数分メモリを用意する方法も挙げられる。なお、メモリの構成によってLUTアドレス生成とフィルタ計算でのデータの受け渡し方法が異なる。
係数計算部4はフィルタの計数を求める。本実施例では標本化関数を用いる。また、フィルタのタップは有限なので、連続性を保たせるために窓関数も活用する。定義は以下の通りとなる。フィルタのタップ数をnとする。窓関数をwindowとする。窓関数の種類はどれでもよい。例として以下の数式2のハミング窓が挙げられる。
フィルタ計算部5はメモリ部3から読み出したデータと係数計算部4で求めた係数を元に積和演算を行う。3DLUTは3入力なのでそれぞれの軸で積和演算を行う。定義はフィルタのタップ数をnとする。メモリから読み出したn3個のデータを以下の数式4とする。
本発明では3DLUTから読み出す近傍要素(キューブ)を増やしてフィルタ補間を行う。一例では図2のようにx,y,z軸それぞれ前後3個ずつ読み出す。
この方法であれば、理論上では、フィルタを理想ローパスとし、3DLUTの1軸の格子点の数を目的の色変換のナイキスト周波数よりも細かく取ることで歪みなしで補間できることが、サンプリング定理により保証される。
この方法であれば、理論上では、フィルタを理想ローパスとし、3DLUTの1軸の格子点の数を目的の色変換のナイキスト周波数よりも細かく取ることで歪みなしで補間できることが、サンプリング定理により保証される。
しかし、理想ローパスは無限個のフィルタのタップが必要なので実現不可能である。ところが、有限のフィルタのタップであっても、理想ローパスで必要な3DLUTの1軸の格子点の数より細かく取れば、理想ローパスの結果に近づき、歪みを限りなく無くすことができる。
本発明は、映像信号の補間に適しており、色空間はRGB、YPbPrなどどれにでも適用することができるので多種の映像処理に適用可能である。
A 入力信号
10 3Dルックアップテーブル回路
1 入力信号部
2 LUTアドレス生成部
3 メモリ部
4 係数計算部
5 フィルタ計算部
6 出力信号部
10 3Dルックアップテーブル回路
1 入力信号部
2 LUTアドレス生成部
3 メモリ部
4 係数計算部
5 フィルタ計算部
6 出力信号部
Claims (5)
- 入力されるデータ信号に対して、所定の変換処理を行うために3Dルックアップテーブルの構成を構築する3Dルックアップテーブル回路であって、
データ信号が入力される入力信号部と、
入力信号の値からあらかじめ保存されている格子点のデータを読み出しアドレスを生成するLUTアドレス生成部と、
前記LUTアドレス生成部より出力されたアドレスを元に格子点のデータを出力するメモリ部と、
フィルタの計数を求めるための係数計算部と、
前記メモリ部から読み出したデータと前記係数計算部で求めた係数を元に積和演算を行うフィルタ計算部と、
前記フィルタ計算部の結果を出力する出力信号部と、
を有することを特徴とする3Dルックアップテーブル回路。 - 前記フィルタ計算部は前記3Dルックアップテーブルから読み出す近傍要素を3次元の各軸からそれぞれ複数読み出してフィルタ計算によるフィルタ補間の処理を行うことを特徴とする請求項1に記載の3Dルックアップテーブル回路。
- 前記フィルタ補間は読み出す近傍要素を3次元の各軸からそれぞれ前後3個ずつ読み出してフィルタ補間の処理を行うことを特徴とする請求項2に記載の3Dルックアップテーブル回路。
- 入力されるデータ信号に対して、所定の変換処理を行うために3Dルックアップテーブルの構成を構築する3Dルックアップテーブルの格子点の補間方法であって、
データ信号が入力される入力信号手段と、
入力信号の値からあらかじめ保存されている格子点のデータを読み出しアドレスを生成するLUTアドレス生成手段と、
前記LUTアドレス生成部より出力されたアドレスを元に格子点のデータを出力するメモリ手段と、
フィルタの計数を求めるための係数計算手段と、
前記メモリ部から読み出したデータと前記係数計算部で求めた係数を元に積和演算を行うフィルタ計算手段と、
前記フィルタ計算部の結果を出力する出力信号手段と、
を有する3Dルックアップテーブル回路の3Dルックアップテーブルの格子点の補間方法において、
前記3Dルックアップテーブルから読み出す近傍要素を3次元の各軸からそれぞれ複数読み出してフィルタ計算によるフィルタ補間の処理を行うこと
を特徴とする3Dルックアップテーブルの格子点の補間方法。 - 前記フィルタ補間は読み出す近傍要素を3次元の各軸からそれぞれ前後3個ずつ読み出してフィルタ補間の処理を行うことを特徴とする請求項4に記載の3Dルックアップテーブルの格子点の補間方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021204835A JP2023090079A (ja) | 2021-12-17 | 2021-12-17 | 3dルックアップテーブル回路及び3dルックアップテーブルの格子点の補間方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021204835A JP2023090079A (ja) | 2021-12-17 | 2021-12-17 | 3dルックアップテーブル回路及び3dルックアップテーブルの格子点の補間方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023090079A true JP2023090079A (ja) | 2023-06-29 |
Family
ID=86937322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021204835A Pending JP2023090079A (ja) | 2021-12-17 | 2021-12-17 | 3dルックアップテーブル回路及び3dルックアップテーブルの格子点の補間方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023090079A (ja) |
-
2021
- 2021-12-17 JP JP2021204835A patent/JP2023090079A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9177357B2 (en) | Method for creating coefficient table and image scaling processor | |
US6636629B1 (en) | Image processing apparatus | |
JPH07192125A (ja) | 高速画像サイズ変更に応用するディジタル再標本化集積回路 | |
JP4361991B2 (ja) | 画像処理装置 | |
JP2001257899A (ja) | 色変換装置 | |
US8902474B2 (en) | Image processing apparatus, control method of the same, and program | |
JP2023090079A (ja) | 3dルックアップテーブル回路及び3dルックアップテーブルの格子点の補間方法 | |
JP7346039B2 (ja) | データ処理装置、データ処理方法、及びプログラム | |
US20080208941A1 (en) | Interpolation Process Circuit | |
US10424055B2 (en) | Image processing apparatus and method for controlling the same | |
US20070121126A1 (en) | Image conversion apparatus and image conversion method | |
JP2000022973A (ja) | 変換装置およびその方法、並びに、記録媒体 | |
US20090070395A1 (en) | Interpolation function generation circuit | |
JP4089728B2 (ja) | 多次元補間装置 | |
JPH03284054A (ja) | 画素密度変換装置 | |
JP5253305B2 (ja) | 縮小画像生成装置 | |
JP5164215B2 (ja) | データ変換装置 | |
JP7500254B2 (ja) | データ処理装置およびその制御方法 | |
JP2018061146A (ja) | 3dルックアップテーブル回路 | |
JP3591856B2 (ja) | 色変換装置および画像処理方法 | |
JP5987650B2 (ja) | 色変換装置 | |
US6486815B1 (en) | Oversampling circuit and digital/analog converter | |
JP3403912B2 (ja) | 色変換装置 | |
JPH0563967A (ja) | 3次元データ変換装置 | |
JP2627824B2 (ja) | 画像処理装置 |