IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 池上通信機株式会社の特許一覧

特開2023-900793Dルックアップテーブル回路及び3Dルックアップテーブルの格子点の補間方法
<>
  • 特開-3Dルックアップテーブル回路及び3Dルックアップテーブルの格子点の補間方法 図1
  • 特開-3Dルックアップテーブル回路及び3Dルックアップテーブルの格子点の補間方法 図2
  • 特開-3Dルックアップテーブル回路及び3Dルックアップテーブルの格子点の補間方法 図3
  • 特開-3Dルックアップテーブル回路及び3Dルックアップテーブルの格子点の補間方法 図4
  • 特開-3Dルックアップテーブル回路及び3Dルックアップテーブルの格子点の補間方法 図5
  • 特開-3Dルックアップテーブル回路及び3Dルックアップテーブルの格子点の補間方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023090079
(43)【公開日】2023-06-29
(54)【発明の名称】3Dルックアップテーブル回路及び3Dルックアップテーブルの格子点の補間方法
(51)【国際特許分類】
   G06F 1/03 20060101AFI20230622BHJP
   G06F 17/10 20060101ALI20230622BHJP
【FI】
G06F1/03
G06F17/10 D
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2021204835
(22)【出願日】2021-12-17
(71)【出願人】
【識別番号】000209751
【氏名又は名称】池上通信機株式会社
(74)【代理人】
【識別番号】100145470
【弁理士】
【氏名又は名称】藤井 健一
(72)【発明者】
【氏名】東海林 吉充
(72)【発明者】
【氏名】横溝 利紀
【テーマコード(参考)】
5B056
【Fターム(参考)】
5B056BB28
5B056BB52
5B056BB71
5B056FF06
(57)【要約】
【課題】映像データの信号の変換処理に必要とされる変換処理精度に基づいて、3Dルックアップテーブルを構成する3Dルックアップテーブル回路及び特に補間方法を提供することを目的とする。
【解決手段】入力されるデータ信号に対して、所定の変換処理を行うために3Dルックアップテーブルの構成を構築する3Dルックアップテーブル回路であって、入力信号の値から格子点のデータを読み出しアドレスを生成するLUTアドレス生成部と、LUTアドレス生成部より出力されたアドレスを元に格子点のデータを出力するメモリ部と、フィルタの計数を求めるための係数計算部と、メモリ部から読み出したデータと係数計算部で求めた係数を元に積和演算を行うフィルタ計算部とを有し、読み出す近傍要素を3次元の各軸からそれぞれ前後3個ずつ読み出してフィルタ計算によるフィルタ補間の処理を行う。
【選択図】 図1
【特許請求の範囲】
【請求項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ルックアップテーブルの格子点の補間方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複雑なデジタル計算処理の効率化と、処理のリアルタイム性を両立させるために用いられる3Dルックアップテーブル回路について、詳しくは、入力されるデータ、特に、映像データの信号の変換処理に必要とされる変換処理精度に基づいて、3Dルックアップテーブルを構成する3Dルックアップテーブル回路及び特に補間方法に関するものである。
【背景技術】
【0002】
従来から、複雑なデジタル計算処理を行うには、ハード的に高性能な演算処理機能を有することが、必要条件として求められており、さらに、映像処理のようにリアルタイム性が求められる処理においては、より一層に高い性能が、ハード的に要求されている。
【0003】
しかしながら、このような処理性能を満たすものは、大規模回路になり、また、費用の面からも実現することが困難な場合が多い。そこで、一般的に、予定される入力データに対する計算結果を予めルックアップテーブルに保存しておき、処理を行う際に、実際の計算を行う代わりに、ルックアップテーブルから目的のデータを読み出すルックアップテーブル回路を用いた方法が知られている。
【0004】
近頃では、映像の処理において、ルックアップテーブルを用いた処理回路を実装している装置が多く存在し、特に、色の補正処理などでは、G/B/Rや、Y/Pb/Prの映像入力信号に対し、その3つの入力信号強度の比率を出力に反映させる必要があるため、3Dルックアップテーブルでの回路構成を持つものが主流となっている。
【0005】
例えば、特許文献1には、R,G,B空間を複数の立方体に分割し、該分割された立方体に色補正値を設定し、入力されたR,G,B信号で前記立方体の一つを選択し、該選択された立方体に設定された色補正値を線形補間することによって入力R,G,B信号に対応するイエロー、マゼンダ、シアンの色補正信号を算出する色補正方式において、前記分割された立方体は所定の領域で密に分割されていることを特徴とする色補正方式が開示されている。
【0006】
また、例えば、特許文献2には、第1の画像処理デバイスにおいて、ターゲットデバイスとした第2の画像処理デバイスを用いた場合の色再現を行うエミュレーションのために、上記第1の画像処理デバイスで使用する画像信号の色変換を行う色変換装置において、入力された画像信号の信号値を、三次元ルックアップテーブルを用いて出力信号値に変換するとともに、上記三次元ルックアップテーブルは、上記第2の画像処理デバイスの入出力特性を再現するための色変換と、上記第2の画像処理デバイスと上記第1の画像処理デバイスとの間の色域変換としての色変換と、上記第1の画像処理デバイスの入出力特性に応じた補正としての色変換と、としての各色変換要素が含まれた入出力値が設定されたものであることを特徴とする色変換装置が開示されている。
【0007】
3DLUT(3次元ルックアップテーブル)を図で説明する際は、図3のように3次元の立方体の塊で示すのが一般的である。立方体群の内の1つの立方体をキューブと称する。また、キューブの頂点は、3DLUTのテーブルデータとし、キューブの頂点を格子点と称する。
【0008】
従来の3DLUTの補間方法は、主に2つあり、立方体補間、三角錐補間が挙げられる。
1つ目の方法の立方体補間は、図4のように、入力信号に一番近いキューブを読み出し、その呼び出したキューブの8つの格子点を使用して3次元の線形補間を行う方法である。
【0009】
2つ目の方法の三角錐補間は、図5のように、入力信号に一番近いキューブを読み出し、1つのキューブを更に6つの三角錐の領域に分類して、入力信号がどの領域に属するか確認し、属している領域の三角錐の頂点を用いて三角錐補間を行う方法である。この方法は、特許文献3に見られる。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開平5-328114号公報
【特許文献2】特開2008-85980号公報
【特許文献3】特開2010-287918号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
従来の3DLUTの補間方法である立方体補間、三角錐補間は、ともに補間誤差によりバンディングなどの問題が発生する場合がある。これにより輝度、色味の階調が劣化してしまう。前記の補間の欠点の一例を挙げると、色空間はRGB、入力信号をマゼンタ色のランプ波形、3DLUTの補間を立体補間で行い、テーブルデータは、彩度下げてモノクロにする処理を行った場合、図6のような結果となる。
【0012】
前記の一例の劣化の原因は、1つのキューブで補間を行っているからだと考えられる。通常3DLUTのテーブルデータを線形に変化させた場合は問題ないが、3DLUTのテーブルデータを非線形に変化させた場合は歪みが生じる場合がある。また、データによっては、1つのキューブで補間すると、キューブとキューブの境界部分を考慮していないので微分が不連続となってしまう問題が生じることがある。
【0013】
本願は上述のような補間誤差等により発生する劣化や歪みの課題を大幅に軽減することのできる3Dルックアップテーブル回路及び3Dルックアップテーブルの格子点の補間方法を提供することにある。
【課題を解決するための手段】
【0014】
上述の課題に対応するため、本発明は、以下の技術的手段を講じている。
即ち、請求項1記載の発明は、入力されるデータ信号に対して、所定の変換処理を行うために3Dルックアップテーブルの構成を構築する3Dルックアップテーブル回路であって、データ信号が入力される入力信号部と、入力信号の値からあらかじめ保存されている格子点のデータを読み出しアドレスを生成するLUTアドレス生成部と、前記LUTアドレス生成部より出力されたアドレスを元に格子点のデータを出力するメモリ部と、フィルタの計数を求めるための係数計算部と、前記メモリ部から読み出したデータと前記係数計算部で求めた係数を元に積和演算を行うフィルタ計算部と、前記フィルタ計算部の結果を出力する出力信号部と、を有することを特徴とする3Dルックアップテーブル回路である。
【0015】
また、請求項2記載の発明は、前記フィルタ計算部は前記3Dルックアップテーブルから読み出す近傍要素を3次元の各軸からそれぞれ複数読み出してフィルタ計算によるフィルタ補間の処理を行うことを特徴とする請求項1に記載の3Dルックアップテーブル回路である。
【0016】
また、請求項3記載の発明は、前記フィルタ補間は読み出す近傍要素を3次元の各軸からそれぞれ前後3個ずつ読み出してフィルタ補間の処理を行うことを特徴とする請求項2に記載の3Dルックアップテーブル回路である。
【0017】
また、請求項4記載の発明は、入力されるデータ信号に対して、所定の変換処理を行うために3Dルックアップテーブルの構成を構築する3Dルックアップテーブルの格子点の補間方法であって、データ信号が入力される入力信号手段と、入力信号の値からあらかじめ保存されている格子点のデータを読み出しアドレスを生成するLUTアドレス生成手段と、前記LUTアドレス生成部より出力されたアドレスを元に格子点のデータを出力するメモリ手段と、フィルタの計数を求めるための係数計算手段と、前記メモリ部から読み出したデータと前記係数計算部で求めた係数を元に積和演算を行うフィルタ計算手段と、前記フィルタ計算部の結果を出力する出力信号手段と、を有する3Dルックアップテーブル回路の3Dルックアップテーブルの格子点の補間方法において、前記3Dルックアップテーブルから読み出す近傍要素を3次元の各軸からそれぞれ複数読み出してフィルタ計算によるフィルタ補間の処理を行うことを特徴とする3Dルックアップテーブルの格子点の補間方法である。
【0018】
また、請求項5記載の発明は、前記フィルタ補間は読み出す近傍要素を3次元の各軸からそれぞれ前後3個ずつ読み出してフィルタ補間の処理を行うことを特徴とする請求項2に記載の3Dルックアップテーブルの格子点の補間方法である。
【発明の効果】
【0019】
本発明の3Dルックアップテーブル回路及び3Dルックアップテーブルの格子点の補間方法によって従来課題となっていた補間誤差によるバインディングの問題によって階調の劣化や歪みの発生を大きく抑えることができるので、理想ローパスの結果に近づき、歪みをほぼ無くすことができる。また、ルックアップテーブルのデータ量の増加を抑えることもできる。
【図面の簡単な説明】
【0020】
図1】本発明の3Dルックアップテーブル回路の構成概略図である。
図2】本発明の格子点の補間方法をキューブを使用して表した図である。
図3】3Dルックアップテーブルを図で表したキューブの形状である。
図4】従来の3Dルックアップテーブル補間方法である立方体補間を表した図である。(a)は全体図、(b)は入力信号近傍を拡大した図である。
図5】従来の3Dルックアップテーブル補間方法である三角錐補間を表した図である。(a)は全体図、(b)は入力信号近傍を拡大した図、(c)は三角錐補間の例である。
図6】従来の3Dルックアップテーブル補間方法を用いて処理した階調劣化の一例である。
【発明を実施するための形態】
【0021】
本発明に係る3Dルックアップテーブル回路の第1の実施形態について、図面を参照しながら説明する。図1は本発明に係る3Dルックアップテーブル回路の第1の実施形態を示した構成概略図で、図2は本発明の格子点の補間方法をキューブを使用して表した図、図3は3Dルックアップテーブルを図で表したキューブの形状、図4は来の3Dルックアップテーブル補間方法である立方体補間を表した図、図5は従来の3Dルックアップテーブル補間方法である三角錐補間を表した図、図6は来の3Dルックアップテーブル補間方法を用いて処理した階調劣化の一例である。なお、図中及び明細書中の「LUT」は、ルックアップテーブルの略である。
【0022】
まず、ルックアップテーブル回路において、誤差なく最も精度の高い処理変換の実施をするためには、入力されるデータに対するルックアップテーブル保存の変換処理データを、1対1で対応させる必要がある。しかしながら、すべての入力データに1対1で対応するルックアップテーブルを用意する場合、入力データビット数によっては、ルックアップテーブルのサイズ(データ数)が増大する。
【0023】
例えば、入力データが10ビットとすると、ルックアップテーブルの数が、1024個必要となり、これが3次元構造である3Dルックアップテーブルでは、1024×1024×1024個のルックアップテーブルが必要となる。つまり、1次元で必要なルックアップテーブルの数に対して、3Dルックアップテーブルでは、3乗の割合で増大し、結果として、回路規模の巨大化を招いてしまう。
【0024】
そのため、ルックアップテーブルを用いたデータ変換回路の多くでは、入力データに1対1で対応するのではなく、特定の間隔毎の入力データ値に対して、変換後の値をルック
アップテーブルに保存し、間引かれた入力データ値に対する変換は、近しい値の入力データ値に対応するルックアップテーブルの変換値を複数個読み出し、それらを補間処理することで、回路としての処理を実現している。
【0025】
よって、ルックアップテーブルでの変換処理精度が求められている場合は、入力データ値の特定の間隔を狭めて、間引かれた入力データ値の補間精度を上げることによって、回路としての変換処理精度の向上を図るわけである。一方で、変換処理精度が求められていない場合は、入力データ値の特定の間隔を大きくすることにより、補間精度が下がり、回路としての変換処理精度も下がることになるが、対応するルックアップテーブルの数は少なくすることが可能となる。
【0026】
3DLUT(3次元ルックアップテーブル)を図で説明する際は、図3のように3次元の立方体の塊で示すのが一般的である。立方体群の内の1つの立方体をキューブと称する。また、キューブの頂点は、3DLUTのテーブルデータとし、キューブの頂点を格子点と称する。
【0027】
続いて、本実施形態における3Dルックアップテーブル回路10は、図1に示すように、データ変換処理装置内に組み込まれ、入力されるデータ信号の変換処理に用いられるもので、入力されるデータ信号に応じて、このデータ信号の変換処理に要する変換処理精度を複数判別し、判別した変換処理精度に対応する複数のそれぞれ異なる変換処理精度を持つルックアップテーブルを所定順に連続的に繋げて組み合わせることによって、3Dルックアップテーブルの構成を構築するものである。
【0028】
3Dルックアップテーブル回路10は、主に、データ信号が入力される入力信号部1と、入力信号の値からあらかじめ保存されている格子点のデータを読み出しアドレスを生成するLUTアドレス生成部2と、前記LUTアドレス生成部より出力されたアドレスを元に格子点のデータを出力するメモリ部3と、フィルタの計数を求めるための係数計算部4と、前記メモリ部から読み出したデータと前記係数計算部で求めた係数を元に積和演算を行うフィルタ計算部5と、前記フィルタ計算部の結果を出力する出力信号部6と、から構成される。
【0029】
入力信号部1は映像信号が入力される。色空間は、RGB、YPbPrなどどれでも良いが、入力信号とメモリに書き込むのに想定した色空間は一致させることが必要となる。言い換えると、メモリに書き込むデータの色空間はどれでも良いが、3DLUTの格子点と入力信号の色空間は一致させる必要がある。
【0030】
LUTアドレス生成部2は入力信号の値からあらかじめ保存されている格子点のデータを読み出しアドレスを生成しフィルタの係数の重みづけを生成する。定義は以下の通りとなる。入力信号をR,G,Bとする。入力信号に入力しうる最大値をRmax,Gmax,Bmaxとする。3DLUTの1軸の格子点の数をNとする。floor関数は小数点切り捨てとする。係数計算で使用する重みづけをweight,weight,weightとする。メモリに読み出すアドレスをaddrとする。
【0031】
アドレスを生成する数式は以下の数式1となる。この場合、一番近傍のアドレスを求めるものであり、各軸それぞれ、入力信号に一番近い格子点の前後n個のデータを読み出す。合計でnの3乗個になる。
【数1】
【0032】
メモリ部3はLUTアドレス生成部2より出力されたアドレスを元に3DLUTの格子点つまりメモリのデータを出力する。メモリの構成は主に2つのパターンがある。1つ目は、大きな1つのメモリで格子点のデータを保存するパターン、2つ目は、複数のメモリに分けて格子点のデータを保存するパターンである。その他様々なパターンがあるが、その一例としてフィルタのタップ数分メモリを用意する方法も挙げられる。なお、メモリの構成によってLUTアドレス生成とフィルタ計算でのデータの受け渡し方法が異なる。
【0033】
係数計算部4はフィルタの計数を求める。本実施例では標本化関数を用いる。また、フィルタのタップは有限なので、連続性を保たせるために窓関数も活用する。定義は以下の通りとなる。フィルタのタップ数をnとする。窓関数をwindowとする。窓関数の種類はどれでもよい。例として以下の数式2のハミング窓が挙げられる。
【数2】
【0034】
また、フィルタの係数は、3入力それぞれに分かれており、それぞれをC,C,Cとする。そうすると数式は以下の数式3のようになる。
【数3】
【0035】
フィルタ計算部5はメモリ部3から読み出したデータと係数計算部4で求めた係数を元に積和演算を行う。3DLUTは3入力なのでそれぞれの軸で積和演算を行う。定義はフィルタのタップ数をnとする。メモリから読み出したn3個のデータを以下の数式4とする。
【数4】
【0036】
フィルタ計算は以下の数式5の通りである。
【数5】
【0037】
本発明では3DLUTから読み出す近傍要素(キューブ)を増やしてフィルタ補間を行う。一例では図2のようにx,y,z軸それぞれ前後3個ずつ読み出す。
この方法であれば、理論上では、フィルタを理想ローパスとし、3DLUTの1軸の格子点の数を目的の色変換のナイキスト周波数よりも細かく取ることで歪みなしで補間できることが、サンプリング定理により保証される。
【0038】
しかし、理想ローパスは無限個のフィルタのタップが必要なので実現不可能である。ところが、有限のフィルタのタップであっても、理想ローパスで必要な3DLUTの1軸の格子点の数より細かく取れば、理想ローパスの結果に近づき、歪みを限りなく無くすことができる。
【産業上の利用可能性】
【0039】
本発明は、映像信号の補間に適しており、色空間はRGB、YPbPrなどどれにでも適用することができるので多種の映像処理に適用可能である。
【符号の説明】
【0040】
A 入力信号
10 3Dルックアップテーブル回路
1 入力信号部
2 LUTアドレス生成部
3 メモリ部
4 係数計算部
5 フィルタ計算部
6 出力信号部
図1
図2
図3
図4
図5
図6