JP2023090079A - 3dルックアップテーブル回路及び3dルックアップテーブルの格子点の補間方法 - Google Patents

3dルックアップテーブル回路及び3dルックアップテーブルの格子点の補間方法 Download PDF

Info

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
Application number
JP2021204835A
Other languages
English (en)
Inventor
吉充 東海林
Yoshimitsu Shoji
利紀 横溝
Toshinori Yokomizo
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.)
Ikegami Tsushinki Co Ltd
Original Assignee
Ikegami Tsushinki Co Ltd
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 Ikegami Tsushinki Co Ltd filed Critical Ikegami Tsushinki Co Ltd
Priority to JP2021204835A priority Critical patent/JP2023090079A/ja
Publication of JP2023090079A publication Critical patent/JP2023090079A/ja
Pending legal-status Critical Current

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次元の線形補間を行う方法である。
2つ目の方法の三角錐補間は、図5のように、入力信号に一番近いキューブを読み出し、1つのキューブを更に6つの三角錐の領域に分類して、入力信号がどの領域に属するか確認し、属している領域の三角錐の頂点を用いて三角錐補間を行う方法である。この方法は、特許文献3に見られる。
特開平5-328114号公報 特開2008-85980号公報 特開2010-287918号公報
従来の3DLUTの補間方法である立方体補間、三角錐補間は、ともに補間誤差によりバンディングなどの問題が発生する場合がある。これにより輝度、色味の階調が劣化してしまう。前記の補間の欠点の一例を挙げると、色空間はRGB、入力信号をマゼンタ色のランプ波形、3DLUTの補間を立体補間で行い、テーブルデータは、彩度下げてモノクロにする処理を行った場合、図6のような結果となる。
前記の一例の劣化の原因は、1つのキューブで補間を行っているからだと考えられる。通常3DLUTのテーブルデータを線形に変化させた場合は問題ないが、3DLUTのテーブルデータを非線形に変化させた場合は歪みが生じる場合がある。また、データによっては、1つのキューブで補間すると、キューブとキューブの境界部分を考慮していないので微分が不連続となってしまう問題が生じることがある。
本願は上述のような補間誤差等により発生する劣化や歪みの課題を大幅に軽減することのできる3Dルックアップテーブル回路及び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ルックアップテーブル回路の構成概略図である。 本発明の格子点の補間方法をキューブを使用して表した図である。 3Dルックアップテーブルを図で表したキューブの形状である。 従来の3Dルックアップテーブル補間方法である立方体補間を表した図である。(a)は全体図、(b)は入力信号近傍を拡大した図である。 従来の3Dルックアップテーブル補間方法である三角錐補間を表した図である。(a)は全体図、(b)は入力信号近傍を拡大した図、(c)は三角錐補間の例である。 従来の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関数は小数点切り捨てとする。係数計算で使用する重みづけをweight,weight,weightとする。メモリに読み出すアドレスをaddrとする。
アドレスを生成する数式は以下の数式1となる。この場合、一番近傍のアドレスを求めるものであり、各軸それぞれ、入力信号に一番近い格子点の前後n個のデータを読み出す。合計でnの3乗個になる。
Figure 2023090079000002
メモリ部3はLUTアドレス生成部2より出力されたアドレスを元に3DLUTの格子点つまりメモリのデータを出力する。メモリの構成は主に2つのパターンがある。1つ目は、大きな1つのメモリで格子点のデータを保存するパターン、2つ目は、複数のメモリに分けて格子点のデータを保存するパターンである。その他様々なパターンがあるが、その一例としてフィルタのタップ数分メモリを用意する方法も挙げられる。なお、メモリの構成によってLUTアドレス生成とフィルタ計算でのデータの受け渡し方法が異なる。
係数計算部4はフィルタの計数を求める。本実施例では標本化関数を用いる。また、フィルタのタップは有限なので、連続性を保たせるために窓関数も活用する。定義は以下の通りとなる。フィルタのタップ数をnとする。窓関数をwindowとする。窓関数の種類はどれでもよい。例として以下の数式2のハミング窓が挙げられる。
Figure 2023090079000003
また、フィルタの係数は、3入力それぞれに分かれており、それぞれをC,C,Cとする。そうすると数式は以下の数式3のようになる。
Figure 2023090079000004
フィルタ計算部5はメモリ部3から読み出したデータと係数計算部4で求めた係数を元に積和演算を行う。3DLUTは3入力なのでそれぞれの軸で積和演算を行う。定義はフィルタのタップ数をnとする。メモリから読み出したn3個のデータを以下の数式4とする。
Figure 2023090079000005
フィルタ計算は以下の数式5の通りである。
Figure 2023090079000006
本発明では3DLUTから読み出す近傍要素(キューブ)を増やしてフィルタ補間を行う。一例では図2のようにx,y,z軸それぞれ前後3個ずつ読み出す。
この方法であれば、理論上では、フィルタを理想ローパスとし、3DLUTの1軸の格子点の数を目的の色変換のナイキスト周波数よりも細かく取ることで歪みなしで補間できることが、サンプリング定理により保証される。
しかし、理想ローパスは無限個のフィルタのタップが必要なので実現不可能である。ところが、有限のフィルタのタップであっても、理想ローパスで必要な3DLUTの1軸の格子点の数より細かく取れば、理想ローパスの結果に近づき、歪みを限りなく無くすことができる。
本発明は、映像信号の補間に適しており、色空間はRGB、YPbPrなどどれにでも適用することができるので多種の映像処理に適用可能である。
A 入力信号
10 3Dルックアップテーブル回路
1 入力信号部
2 LUTアドレス生成部
3 メモリ部
4 係数計算部
5 フィルタ計算部
6 出力信号部

Claims (5)

  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個ずつ読み出してフィルタ補間の処理を行うことを特徴とする請求項4に記載の3Dルックアップテーブルの格子点の補間方法。
JP2021204835A 2021-12-17 2021-12-17 3dルックアップテーブル回路及び3dルックアップテーブルの格子点の補間方法 Pending JP2023090079A (ja)

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)

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) 画像処理装置