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

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

▶ キヤノン株式会社の特許一覧

<>
  • 特許-データ処理装置およびその制御方法 図1
  • 特許-データ処理装置およびその制御方法 図2
  • 特許-データ処理装置およびその制御方法 図3
  • 特許-データ処理装置およびその制御方法 図4
  • 特許-データ処理装置およびその制御方法 図5
  • 特許-データ処理装置およびその制御方法 図6
  • 特許-データ処理装置およびその制御方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-07
(45)【発行日】2024-06-17
(54)【発明の名称】データ処理装置およびその制御方法
(51)【国際特許分類】
   H04N 23/60 20230101AFI20240610BHJP
   H04N 5/20 20060101ALI20240610BHJP
【FI】
H04N23/60 500
H04N5/20
【請求項の数】 15
(21)【出願番号】P 2020067822
(22)【出願日】2020-04-03
(65)【公開番号】P2021164139
(43)【公開日】2021-10-11
【審査請求日】2023-03-24
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】溝口 真彦
(72)【発明者】
【氏名】田中 章嗣
(72)【発明者】
【氏名】五十嵐 真弥
【審査官】村山 絢子
(56)【参考文献】
【文献】特開2006-041878(JP,A)
【文献】特開平07-014026(JP,A)
【文献】特開2020-135283(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/00
H04N 23/40-23/76
H04N 23/90-23/959
H04N 5/222-5/257
H04N 5/14-5/213
G06T 1/00-5/50
G06T 7/00-7/90
(57)【特許請求の範囲】
【請求項1】
ルックアップテーブル(LUT)と補間演算とを利用して入力データから出力データを算出するデータ処理装置であって、
隣接する2つの入力データ範囲に対応し、前記LUTにおける間隔が互いに異なる少なくとも2つの補間範囲を決定する範囲決定手段と、
前記少なくとも2つの補間範囲それぞれに対して、前記LUTを参照して3つの参照データを生成する第1の生成手段と、
前記少なくとも2つの補間範囲それぞれに対して、前記第1の生成手段により生成された3つの参照データに基づいて前記補間演算に用いる二次補間関数の係数を生成する第2の生成手段と、
入力データに対応する補間範囲に対して前記第2の生成手段により生成された係数を用いた前記補間演算を行うことにより出力データを算出する補間演算手段と、
を有し、
前記第1の生成手段は、前記少なくとも2つの補間範囲それぞれにおける二次補間関数が該少なくとも2つの補間範囲の境界で滑らかに接続されるような前記3つの参照データを生成し、
前記第1の生成手段は、間欠的に動作するように構成される
ことを特徴とするデータ処理装置。
【請求項2】
前記第1の生成手段は、前記少なくとも2つの補間範囲それぞれにおける二次補間関数が該少なくとも2つの補間範囲の境界で値が一致しかつ傾きが一致するような前記3つの参照データを生成する
ことを特徴とする請求項1に記載のデータ処理装置。
【請求項3】
前記第1の生成手段は、外部から演算開始信号が入力された場合に前記3つの参照データを生成して第1の保持手段に格納し、
前記第2の生成手段は、入力データに対応した補間範囲の参照アドレスに従って前記第1の保持手段に格納された参照データを取得し前記係数を生成する
ことを特徴とする請求項1又は2に記載のデータ処理装置。
【請求項4】
前記入力データは、画像を構成する画素のRGB成分値であり、
前記第1の保持手段は、異なるRGB成分値に対して共有される
ことを特徴とする請求項3に記載のデータ処理装置。
【請求項5】
前記第2の生成手段は、間欠的に動作するように構成され、
前記第1の生成手段は、外部から演算開始信号が入力された場合に前記3つの参照データを生成して第1の保持手段に格納し、
前記第2の生成手段は、前記第1の生成手段により前記3つの参照データを生成された場合に前記係数を生成して第2の保持手段に格納し、
前記補間演算手段は、入力データに対応した補間範囲の参照アドレスに従って前記第2の保持手段に格納された係数を取得する
ことを特徴とする請求項1又は2に記載のデータ処理装置。
【請求項6】
前記入力データは、動画像を構成するフレーム画像の画素値又は座標値であり
前記演算開始信号は、VブランキングまたはHブランキングの期間に入力される
ことを特徴とする請求項3乃至5の何れか1項に記載のデータ処理装置。
【請求項7】
前記演算開始信号は、前記LUTが変更された場合に入力される
ことを特徴とする請求項3乃至5の何れか1項に記載のデータ処理装置。
【請求項8】
前記少なくとも2つの補間範囲は、第1の間隔を有する第1の補間範囲と該第1の間隔と異なる第2の間隔を有する第2の補間範囲であり、
前記第1の生成手段は、前記第1の補間範囲に対する前記3つの参照データのうち前記境界に隣接する2つの参照データの第1の中点の座標と、前記第2の補間範囲に対する前記3つの参照データのうち前記境界に隣接する2つの参照データの第2の中点の座標と、が一致し、かつ、前記第1の補間範囲に対する前記3つの参照データのうち前記境界に隣接する2つの参照データを結ぶ第1の線分の傾きと、前記第2の補間範囲に対する前記3つの参照データのうち前記境界に隣接する2つの参照データを結ぶ第2の線分の傾きと、が一致するように、前記少なくとも2つの補間範囲それぞれに対する前記3つの参照データを生成する
ことを特徴とする請求項1乃至7の何れか1項に記載のデータ処理装置。
【請求項9】
前記第2の生成手段は、前記第1の補間範囲に対する二次補間関数が前記第1の中点を通りかつ前記第1の線分に接し、かつ、前記第2の補間範囲に対する二次補間関数が前記第2の中点を通りかつ前記第2の線分に接するように、前記少なくとも2つの補間範囲それぞれに対する前記係数を生成する
ことを特徴とする請求項8に記載のデータ処理装置。
【請求項10】
前記LUTを格納する保存手段を更に有する
ことを特徴とする請求項1乃至9の何れか1項に記載のデータ処理装置。
【請求項11】
前記第1の生成手段は、前記LUTに含まれる参照データを用いて該LUTに含まれない1つ以上の参照データを生成する
ことを特徴とする請求項1乃至10の何れか1項に記載のデータ処理装置。
【請求項12】
前記LUTの格子間隔は不均等であり、各格子間隔は2のべき乗である
ことを特徴とする請求項1乃至11の何れか1項に記載のデータ処理装置。
【請求項13】
前記少なくとも2つの補間範囲の比は2のべき乗である
ことを特徴とする請求項1乃至12の何れか1項に記載のデータ処理装置。
【請求項14】
ルックアップテーブル(LUT)と補間演算とを利用して入力データから出力データを算出するデータ処理装置の制御方法であって、
隣接する2つの入力データ範囲に対応し、前記LUTにおける間隔が互いに異なる少なくとも2つの補間範囲を決定する範囲決定工程と、
前記少なくとも2つの補間範囲それぞれに対して、前記LUTを参照して3つの参照データを生成する第1の生成工程と、
前記少なくとも2つの補間範囲それぞれに対して、前記第1の生成工程により生成された3つの参照データに基づいて前記補間演算に用いる二次補間関数の係数を生成する第2の生成工程と、
入力データに対応する補間範囲に対して前記第2の生成工程により生成された係数を用いた前記補間演算を行うことにより出力データを算出する補間演算工程と、
を含み、
前記第1の生成工程では、前記少なくとも2つの補間範囲それぞれにおける二次補間関数が該少なくとも2つの補間範囲の境界で滑らかに接続されるような前記3つの参照データを生成し、
前記第1の生成工程は、間欠的に実行される
ことを特徴とする制御方法。
【請求項15】
コンピュータを、請求項1乃至13の何れか1項に記載のデータ処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ変換処理に関するものである。
【背景技術】
【0002】
画像の階調を補正・変換する階調変換関数や、画像の形状を補正・変形する幾何変換関数は、画像の座標位置を変数とする大域関数や局所関数によって近似することができ、その多くは多項式や射影変換のような有理多項式で表現される。ただし、局所関数で近似できる場合でも、該局所関数の適用領域をきちんと定めて、該局所関数を領域境界で切り換えるのは困難である。そこで画像の補正や変形等を行うデータ処理では、局所関数値をある画素間隔ごとの格子点で評価した値をLUT(ルックアップテーブル)に保持し、該LUTから読み出した格子点の関数値を補間して、補正値や変形値として用いることが一般的に行われている。
【0003】
LUTに格納するデータは、実時間で計算する必要がないため、複雑な演算を要する高次の多項式や各種関数を用いてなるべく高精度に計算されて生成されている。それに対し、LUTから読み出したデータの補間処理等は、実時間で行う必要があるため、特許文献1に記載されているように、1次補間または3次補間を行うのが一般的である。また、特許文献2には、1次補間と3次補間の中間の性能および演算規模となる2次補間に関する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2011-81477号公報
【文献】特表平9-511079号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、高次の多項式で補間しようとすれば、乗算や加算を何回も行う必要がある上に、該多項式の係数を実時間で計算する必要がある。そのため、回路構成は大規模になってしまう。例えば映像機器では、画素レートと演算回路の動作周波数とがほぼ同じであり、画素毎に演算を行うには、演算式に現れる乗算回数と同じだけの乗算器が必要になる。近年は、8K×4Kなどの高解像度映像が登場し、演算回路の動作周波数より画素レートの方が高い状況では演算回路を並列駆動する必要があり、さらに回路規模ならびに消費電力が大きくなる。
【0006】
本発明は、このような問題に鑑みてなされたものであり、高精度なデータ変換をより低い消費電力で実現可能とする技術を提供することを目的としている。
【課題を解決するための手段】
【0007】
上述の問題点を解決するため、本発明に係るデータ処理装置は以下の構成を備える。すなわち、ルックアップテーブル(LUT)と補間演算とを利用して入力データから出力データを算出するデータ処理装置は、
隣接する2つの入力データ範囲に対応し、前記LUTにおける間隔が互いに異なる少なくとも2つの補間範囲を決定する範囲決定手段と、
前記少なくとも2つの補間範囲それぞれに対して、前記LUTを参照して3つの参照データを生成する第1の生成手段と、
前記少なくとも2つの補間範囲それぞれに対して、前記第1の生成手段により生成された3つの参照データに基づいて前記補間演算に用いる二次補間関数の係数を生成する第2の生成手段と、
入力データに対応する補間範囲に対して前記第2の生成手段により生成された係数を用いた前記補間演算を行うことにより出力データを算出する補間演算手段と、
を有し、
前記第1の生成手段は、前記少なくとも2つの補間範囲それぞれにおける二次補間関数が該少なくとも2つの補間範囲の境界で滑らかに接続されるような前記3つの参照データを生成し、
前記第1の生成手段は、間欠的に動作するように構成される。
【発明の効果】
【0008】
本発明によれば、高精度なデータ変換をより低い消費電力で実現可能とする技術を提供することができる。
【図面の簡単な説明】
【0009】
図1】第1実施形態に係るデータ処理装置の構成を示す図である。
図2】二次補間処理の概念を説明する図である。
図3】不等格子間隔二次補間処理の概念を説明する図である。
図4】係数演算部の構成を示す図である。
図5】第1実施形態における係数演算部の処理を示すフローチャートである。
図6】第2実施形態における係数演算部の処理を示すフローチャートである。
図7】二次補間処理の他の例を説明する図である。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0011】
(第1実施形態)
本発明に係るデータ処理装置の第1実施形態として、画像データを処理するデータ処理装置を例に挙げて以下に説明する。以下では、データ処理としてガンマ補正などで用いられる画像データの階調変換処理を想定して説明する。その場合、後述の入力データおよび出力データは、画像データを構成する画素の画素値(例えばRGB成分値)である。ただし、データ処理として画像形状を補正・変形する処理などにも適用可能である。その場合、後述の入力データおよび出力データは、画像データを構成する画素の座標値である。
【0012】
<装置構成>
図1は、第1実施形態に係るデータ処理装置100の構成を示す図である。図1(A)はデータ処理装置100の機能構成を示し、図1(B)はデータ処理装置100のハードウェア構成を示している。
【0013】
データ処理装置100は、入力データ10に対してデータ処理を施し出力データ15に変換する装置である。すなわち、入力データ10である画像データを構成する画素値に対してガンマ変換処理を行い出力データ15の画素値を生成する。入力データ10は、例えば、画像データ、画像の輝度や座標等のデータである。
【0014】
参照データ保存部101は、入力データ10と出力データ15との関係をテーブルデータ(LUT)として格納している。例えば、ガンマ補正の入出力関係を離散値のデータとして格納している。LUTは保存参照データ13として係数演算部103に供給される。
【0015】
補間範囲決定部102は、後述するデータ補間処理を実行するために、入力データ10に応じた二次補間関数の係数(二次関数係数14)の算出に必要な補間範囲を決定し、参照アドレス12として出力する。
【0016】
係数演算部103は、参照アドレス12と保存参照データ13とに基づいて二次関数係数14を算出する。詳細は後述するが、係数演算部103における二次関数係数14の生成には、LUTに記録された参照データを基に新たな参照データを生成することが含まれる。
【0017】
補間演算部104は、二次関数係数14によって表現される二次近似曲線を基に補間処理演算を行うことにより、入力データ10から出力データ15を生成する。
【0018】
図4は、係数演算部の構成を示す図であり、図4(A)は第1実施形態における係数演算部103の構成を示している。
【0019】
参照データ更新部201は、後述する手法により、保存参照データ13を基にした演算を行うことで、保存参照データ13に含まれていない参照データを生成し、更新参照データ21を出力する。参照データの生成については後述する。
【0020】
更新参照データ保持部202は、更新参照データ21を保持し、データ選択部203に更新参照データ21を提供する。
【0021】
データ選択部203は、補間範囲決定部102から受信した参照アドレス12に基づいて、更新参照データ保持部202から対応する更新参照データ21を取得し係数データ演算部204に提供する。
【0022】
係数データ演算部204は、選択参照データ23から二次関数係数14を演算し出力する。二次関数係数14は、画像の階調を補正・変換する階調変換関数を二次関数で近似した場合の係数データである。
【0023】
図1(B)に示すように、データ処理装置100は、CPU111、RAM112、ROM113、通信I/F(インタフェース)114、記録I/F115、表示I/F116等を有している。例えば、一般的なパーソナルコンピュータ(PC)が利用可能である。
【0024】
データ処理装置100は、記録I/F115を介してハードディスクや半導体メモリ等の記録媒体120と接続され、表示I/F116を介して液晶ディスプレイ等の表示装置121に接続されているとする。また、データ処理装置100は、通信I/F114を介して、例えば撮像装置130や各種のNW(ネットワーク)131にも接続可能となされている。
【0025】
ROM113は、本実施形態に係るデータ処理プログラムを含む各種プログラム等を保持している。ROM113のプログラムはRAM112に展開されてCPU111により実行される。RAM112は、プログラムが展開される他、CPU111の作業領域として使用され、入力された画像データや処理途中の画像データ等を一時的に記憶する。
【0026】
通信I/F114は、例えば撮像装置130やネットワーク131との間で通信を行う。例えば撮像装置130やネットワーク131から送られてきた画像データなどを、通信I/F114が受信すると、それら画像データは、CPU111による制御の下で、一時的にRAM112に蓄積される。そして、それら画像データは、CPU111により必要に応じて各種画像処理等が施された後、表示I/F116を介して表示装置121の画面上に表示されたり、記録I/F115を介して記録媒体120に記録されたりする。
【0027】
CPU111は、データ処理装置100における各種処理や制御を行い、また、本実施形態に係るデータ処理プログラム等を実行して、後述するようなデータ変換処理を含む各種の画像処理を行うことができる。
【0028】
なお、以下の説明では、図1(A)に示すデータ処理装置100の各機能部を、CPU111によるソフトウェア処理で実現するものとして説明するが、1以上の機能部を専用回路等によるハードウェア処理により実現してもよい。
【0029】
<二次補間処理の概要>
まず、データ処理装置100において行われるデータ補間処理の基本となる二次補間処理の理論について説明する。
【0030】
図2は、格子間隔が一定である場合の二次補間処理の概念を説明する図である。格子間隔とはLUTにおける離散的な格子点間の間隔を意味する。
【0031】
図2において、Y1、Y2、Y3、Y4は、更新参照データ21に含まれる離散データである。これらY1、Y2、Y3、Y4はそれぞれ、X1、X2、X3、X4に対応する出力値である。X1、X2、X3、X4の格子間隔は一定(DIS)となっている。
【0032】
また、補間範囲A,Bは、隣接する2つの参照データの中点から次の中点までの範囲として決定される。そのため、補間範囲A,Bの幅は格子間隔と一致している(すなわちDIS)。
【0033】
例えば、入力データ10がXinである場合、Xinに対応した最近傍の更新参照データ21はY2である。そして、Y2の近傍(前後)にある更新参照データ21はY1とY3である。
【0034】
補間範囲は補間範囲決定部102により求められる。図2の例では、Y1とY2との間の中点M1から、Y2とY3との間の中点M2までが、補間範囲Aとして算出される。この補間範囲Aを求める際に用いられる3つの更新参照データ21は、順にY(-1)=Y1、Y(0)=Y2、Y(1)=Y3である。
【0035】
また、補間演算部104は、後述する2つの線分を算出して、当該2つの線分と中点M1、M2とを基に二次近似曲線を求める。補間演算部104は、求めた二次近似曲線を用いた補間処理を実行することにより、出力データ15として補間出力データYoutを生成する。
【0036】
補間演算部104で実行される補間処理の理論式は以下の数式(1)で表される。なお、数式(1)中のxは、補間範囲内における入力データ10の相対位置を格子間隔(DIS)で規格化した値(すなわち、xは0~1の値)である。また数式(1)中のYは出力データ15である。
【0037】
Y=(Ca・x+Cb)・x+Cc ・・・(1)
ここで、Ca=(Y(-1)-2・Y(0)+Y(1))/2
Cb=Y(0)-Y(-1)
Cc=(Y(-1)+Y(0))/2
補間演算部104は、数式(1)によって表現される二次近似曲線を基に補間処理を行う。二次近似曲線は、図2の補間範囲Aでは、中点M1並びに中点M2を通り、かつ、Y1とY2とを結ぶ線分並びにY2とY3とを結ぶ線分に接する曲線となる。
【0038】
補間範囲Bの二次近似曲線についても、補間範囲Aの場合と同様にして求められる。すなわち、補間範囲Bでは、中点M2並びに中点M3を通り、かつ、Y2とY3とを結ぶ線分並びにY3とY4とを結ぶ線分に接する曲線となる。
【0039】
つまり、隣接する2つの補間範囲(補間範囲Aと補間範囲B)において、中点M2およびY2とY3とを結ぶ線分は共通して使用される。そのため、当該2つの補間範囲の境界部において二次近似曲線は必ず滑らかに繋がることになる。
【0040】
ただし、当該二次近似曲線は、参照データを通らず、テーブルデータとして保持されている一連の参照データによって、入力データから出力データの変換特性が定まるものである。よって、データ処理装置100では、あらかじめ決められた変換特性を実現したいガンマ変換等に好適なデータ補間を実現することができる。
【0041】
<不等格子間隔における二次補間処理の概要>
非線形性が強い関数(高次関数)によるデータ変換を、LUTと補間処理によって高精度に実現するためには、テーブルデータの格子間隔を狭くするか、あるいは高次の補間処理が必要となる。しかしながら、LUTにおける格子間隔が狭いほどデータ量は増大することになる。また、補間処理における近似曲線の次数が高くなるほど演算規模は増大することになる。そこで、少なくとも一部が不等格子間隔のLUTを用いることによりテーブルデータのデータ容量の増大を抑制し、二次近似曲線による補間を行うことを考える。
【0042】
図3は、不等格子間隔における二次補間処理の概念を説明する図である。図示されるように、テーブルデータにおける格子間隔が不均等であり、入力データ範囲に応じて適用する格子間隔が変化する。
【0043】
このような不均等な格子間隔は、例えば非線形性が強い階調変換関数などに好適である。例えば、非線形性が強い低階調領域では狭い格子間隔を適用し、線形性が強い高階調領域では広い格子間隔を適用する。これにより、低階調から高階調までの全域の階調変換精度を高く維持したまま、テーブルデータ量を低減することが可能となる。
【0044】
ただしこの場合、上述の格子間隔が一定の場合と異なり、隣接する2つの補間範囲において、格子間隔並びに補間間隔が異なる状態になることがある。そのため、隣接する2つの補間範囲の二次近似曲線を滑らかに接続するための施策が必要となる。
【0045】
そこで、第1実施形態では、隣接する2つの補間範囲の二次近似曲線を滑らかに接続可能とするため、参照データ更新部201により新たな参照データを生成する。
【0046】
<参照データの生成>
上述したように、参照データ更新部201は、保存参照データ13を基にした演算を行うことで、保存参照データ13に含まれていない参照データを生成し、更新参照データ21を出力する。具体的には、隣接する2つの補間範囲の境界部(つまり、図3の中点M2)において、二次補間に用いる二次近似曲線が滑らかに繋がるような参照データを生成する。ここでは、数式(2)ならびに数式(3)を満たすような2つの参照データY1’およびY2’を生成する。
【0047】
2+X3=X1’+X2
2+Y3=Y1’+Y2’ ・・・(2)
数式(2)の1つ目の式は各々の入力データの中点が一致することを意味し、二つ目の式は各々の出力データの中点が一致することを意味する。ゆえに、数式(2)を満たすことで、補間範囲A並びに補間範囲Bの境界部となる中点M2の座標が一致することになる。そのため、両補間範囲を跨いだ場合であっても二次近似曲線は連続する(繋がる)ことになる。
【0048】
(Y3-Y2)/(X3-X2)=(Y2’-Y1’)/(X2’-X1’)
3-X2=DIS_A
2’-X1’=DIS_B ・・・(3)
数式(3)は隣接する参照データ間を結ぶ線分の傾きが同じであることを意味している。ゆえに、数式(3)を満たすことによって、補間範囲A並びに補間範囲Bの境界部となる中点M2の座標における、二次近似曲線の傾きを一致させることができる。
【0049】
上述の参照データ更新部201における処理を図3を参照して説明する。図3に示している各点のうち、□で表している点(Y1、Y2、Y3)並びに△で表している点(Y3’)はテーブルデータとして参照データ保存部101に予め保持されている。
【0050】
一方で、〇で表している点(Y1’、Y2’)は数式(2)および数式(3)から導出される数式(4)により、参照データ更新部201で生成される点である。
【0051】
1’=(1/2)・[(Y2+Y3)+(DIS_B/DIS_A)・(Y3-Y2)]
2’=(1/2)・[(Y2+Y3)-(DIS_B/DIS_A)・(Y3-Y2)] ・・・(4)
数式(4)を満たすことで、補間範囲A並びに補間範囲Bの境界部となる中点M2の座標における、二次近似曲線の傾きを一致させることができる。
【0052】
すなわち、不等格子間隔のテーブルデータから、隣接する2つの補間範囲の二次近似曲線を滑らかに接続可能とする参照データを生成することが出来る。
【0053】
なお、テーブルデータを選択する際並びに相対位置xを算出する際並びに数式(4)の関係式の演算負荷を軽減するため、各格子間隔は、2のべき乗の関係にあることが望ましい。ただし、2のべき乗の関係に限定されるものではない。
【0054】
さらに図3で示している格子間隔において、DIS_BがDIS_Aの2倍である例を図示しているが、格子間隔の関係はこれに限定されるものではない。例えば3倍、4倍、あるいは0.5倍、0.25倍などでもよい。
【0055】
また、数式(4)において、Y2とY3からY1’とY2’を生成する例を示しているが、これに限ったものではない。例えば、Y1’とY2’からY2とY3を生成してもよい。その際は、数式(2)および数式(3)を基にしてY2とY3について解いた算出式を用いればよい。
【0056】
さらには、テーブルデータの保持の仕方に関しても上述の例に限定されない。例えば、図7は、参照データ更新部201における処理の概念の別の例を説明する図である。図7に示している各点のうち、□で表している点(Y1、Y2)、並びに、△で表している点(Y2’、Y3’)はテーブルデータとして参照データ保存部101に予め保持されている。
【0057】
一方で、〇で表している点(Y3、Y1’)は数式(2)および数式(3)から導出される数式(5)により、参照データ更新部201で生成される。
3 =(1/(DIS_A+DIS_B))・[2・DIS_A・Y2’+(DIS_B-DIS_A)・Y2
1’=(1/(DIS_A+DIS_B))・[DIS_A-DIS_B)・Y2’+2・DIS_B・Y2] ・・・(5)
【0058】
<装置の動作>
上述した係数演算部103での処理動作(すなわち、参照データの生成および二次近似曲線の係数算出)は、常時実行する必要はなく、間欠的に実行すれば足りるものである。そのため、係数演算部103を間欠的に動作させることにより消費電力の低減が可能となる。そこで、係数演算部103における処理の少なくとも一部を、演算開始信号が入力されたタイミングで実施するよう構成する。特に、第1実施形態では、係数演算部103における参照データ更新部201と更新参照データ保持部202の処理を演算開始信号が入力されたタイミングで実施する形態について説明する。なお、演算開始信号は、参照データ保存部101に保存されたテーブルデータが更新された際、あるいは、フレーム毎などのタイミングで外部(上位で動作するアプリケーションなど)から入力される信号である。
【0059】
図5は、第1実施形態におけるデータ処理装置100が実行する処理のフローチャートである。係数演算部103で実施される処理は、演算開始信号11の入力を基に実施される処理(S501~S505)と、参照アドレス12の入力に基づき実施される処理(S506~S508)とに区別される。以下、図4(A)、図5を用いてそれぞれの処理の内容を順に説明する。
【0060】
ステップS501では、参照データ更新部201は、演算開始信号11を受けとったかどうかの判定を行う。演算開始信号11を受けとった場合、S502に進む。なお、演算開始信号11を受け取らなかった場合は、演算開始信号11の受け取りを待機する。すなわち、演算開始信号11を受け取るまで、参照データ更新部201と更新参照データ保持部202は動作しない。
【0061】
ステップS502では、参照データ更新部201は、すべての補間範囲に対応する保存参照データ13を参照するためのアドレスを生成し、ステップS503では、参照データ更新部201は、逐次に保存参照データ13を取得する。
【0062】
ステップS504では、参照データ更新部201は、取得した保存参照データ13を基に、上述した参照データ生成の方法に従って、更新参照データ21を生成する。例えば図3では、保存参照データ13はY2(DIS_A)、Y3(DIS_A)、Y3’(DIS_B)である。また、更新参照データ21はY1’(DIS_B)、Y2’(DIS_B)、Y3’(DIS_B)である。つまりここでは、更新参照データ21は1つの補間範囲に対して3個存在する。
【0063】
ステップS505では、更新参照データ保持部202は、すべての補間範囲に対応する更新参照データ21をすべて保持する。例えば、補間範囲の数が10個で、更新参照データ21のビット幅が11ビットの場合、3×10×11ビットのデータが保持されることになる。
【0064】
ステップS506では、データ選択部203は、参照アドレス12が入力されたかどうかの判定を行う。参照アドレス12が入力された場合、S507に進む。なお、参照アドレス12を受け取らなかった場合は、参照アドレス12の受け取りを待機する。すなわち、参照アドレス12を受け取るまで、データ選択部203と係数データ演算部204は動作しない。
【0065】
ステップS507では、データ選択部203は、入力データ10に対応する参照アドレス12に従って、更新参照データ保持部202に保持されている保持更新参照データ22から選択参照データ23を選択し出力する。
【0066】
例えば、入力データ10に基づき補間範囲決定部102が決定した補間範囲が図3の補間範囲Aである場合、得られる選択参照データ23はY(-1)=Y1、Y(0)=Y2、Y(1)=Y3である。一方、補間範囲Bである場合、得られる選択参照データ23はY(-1)=Y1’、Y(0)=Y2’、Y(1)=Y3’である。
【0067】
ステップS508では、係数データ演算部204は、数式(1)に基づいて選択参照データ23(Y(-1)、Y(0)、Y(1))から二次関数係数14(Ca、Cb、Cc)を演算し出力する。
【0068】
上述のように、参照データ更新部201と更新参照データ保持部202は演算開始信号11が入力された場合にのみ動作する。そのため、それらの消費電力を低減することができる。演算開始信号11は、入力データが入力される期間以外かつ入力データの入力開始前までに参照データ更新部201および更新参照データ保持部202の処理が完了できるように入力される。
【0069】
上述したように、例えば、演算開始信号11は、参照データ保存部101のテーブルデータが更新された場合に入力される。また、動画像を構成するフレーム画像毎に参照データの更新を行う場合には、非画像入力期間(Vブランキング)に合わせて入力される。また、水平走査間の非画像入力期間(Hブランキング)に合わせて入力するよう構成してもよい。
【0070】
以上説明したとおり第1実施形態によれば、不等格子間隔のテーブルデータと二次補間処理とを利用することにより、テーブルデータのデータ量を低減しつつデータ処理を高精度かつ少ない演算量で実現可能となる。特に、係数演算部103における更新参照データの生成動作を間欠的に行うことにより消費電力の増加を抑制することが可能となる。
【0071】
<第2実施形態>
第2実施形態では、係数演算部103における消費電力をより低減する形態について説明する。データ処理装置100の全体構成は第1実施形態と同様であるが、係数演算部103の構成が第1実施形態とは異なる。
【0072】
図4(B)は、第2実施形態における係数演算部103の構成を示している。第1実施形態(図4(A))とは、係数データ演算部204の論理的な位置が異なるとともに、更新参照データ保持部202の代わりに係数データ保持部205が配置される。
【0073】
特に、第2実施形態では、数演算部103における参照データ更新部201、係数データ演算部204、係数データ保持部205の処理を演算開始信号が入力されたタイミングで実施する形態について説明する。
【0074】
<装置の動作>
図6は、第2実施形態におけるデータ処理装置100が実行する処理のフローチャートである。係数演算部103で実施される処理は、演算開始信号11の入力を基に実施される処理(S601~S606)と、参照アドレス12の入力に基づき実施される処理(S607~S608)とに区別される。以下、図4(B)、図6を用いてそれぞれの処理の内容を順に説明する。
【0075】
ステップS601では、参照データ更新部201は、演算開始信号11を受けとったかどうかの判定を行う。演算開始信号11を受けとった場合、S602に進む。なお、演算開始信号11を受け取らなかった場合は、演算開始信号11の受け取りを待機する。すなわち、演算開始信号11を受け取るまで、参照データ更新部201、係数データ演算部204、係数データ保持部205は動作しない。
【0076】
ステップS602では、参照データ更新部201は、すべての補間範囲に対応する保存参照データ13を参照するためのアドレスを生成し、ステップS603では、参照データ更新部201は、逐次に保存参照データ13を取得する。
【0077】
ステップS604では、参照データ更新部201は、取得した保存参照データ13を基に、上述した参照データ生成の方法に従って、更新参照データ21を生成する。例えば図3では、保存参照データ13はY2(DIS_A)、Y3(DIS_A)、Y3’(DIS_B)である。また、更新参照データ21はY1’(DIS_B)、Y2’(DIS_B)、Y3’(DIS_B)である。つまりここでは、更新参照データ21は1つの補間範囲に対して3個存在する。
【0078】
ステップS605では、係数データ演算部204は、数式(1)に基づいて更新参照データ21から仮二次関数係数24を演算し出力する。そして、ステップS606では、係数データ保持部205は、すべての補間範囲に対応する仮二次関数係数24をすべて保持する。例えば、補間範囲の数が10個で、仮二次関数係数24のビット幅が13ビットの場合、3×10×13ビットのデータが保持されることになる。
【0079】
ステップS607では、データ選択部203は、参照アドレス12が入力されたかどうかの判定を行う。参照アドレス12が入力された場合、S608に進む。なお、参照アドレス12を受け取らなかった場合は、参照アドレス12の受け取りを待機する。すなわち、参照アドレス12を受け取るまで、データ選択部203は動作しない。
【0080】
ステップS608では、データ選択部203は、入力データ10に対応する参照アドレス12に従って、係数データ保持部205に保持されている保持二次関数係数25から二次関数係数14を選択し出力する。
【0081】
以上説明したとおり第2実施形態によれば、第1実施形態と同様に、不等格子間隔のテーブルデータと二次補間処理とを利用することにより、テーブルデータのデータ量を低減しつつデータ処理を高精度かつ少ない演算量で実現可能となる。特に、係数演算部103における更新参照データの生成動作および二次関数係数の演算動作を間欠的に行うことにより消費電力の増加を抑制することが可能となる。すなわち、第1実施形態と比較すると、係数演算部103において保持するデータ量が若干増えるものの、より消費電力を低減することが可能となる。
【0082】
(変形例)
上述の各実施形態では入力データが1つの場合について説明した。しかし、例えば画素のRGB成分値など3つの入力データに対して補間処理を実施する場合にも適用可能である。また、RGBそれぞれにおける補間カーブが同一である場合、3つの入力データに対して1つの回路を共有する構成とすることで回路規模を削減することが可能である。たとえば、第1実施形態では、参照データ更新部201および更新参照データ保持部202を共有するとよい。また、第2実施形態では、参照データ更新部201、係数データ演算部204、係数データ保持部205を共有するとよい。さらに、共有する回路は非画像入力期間に演算を完了させればよいため、マルチサイクルでの演算を実施することでさらに回路規模を削減することが可能である。
【0083】
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0084】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0085】
10 入力データ; 11 演算開始信号; 12 参照アドレス; 13 保存参照データ; 14 二次関数係数; 15 出力データ; 100 データ処理装置; 101 参照データ保存部; 102 補間範囲決定部; 103 係数演算部; 104 補間演算部
図1
図2
図3
図4
図5
図6
図7