特開2020-4002(P2020-4002A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社メガチップスの特許一覧

特開2020-4002局所特徴量算出回路および局所特徴量算出方法
<>
  • 特開2020004002-局所特徴量算出回路および局所特徴量算出方法 図000006
  • 特開2020004002-局所特徴量算出回路および局所特徴量算出方法 図000007
  • 特開2020004002-局所特徴量算出回路および局所特徴量算出方法 図000008
  • 特開2020004002-局所特徴量算出回路および局所特徴量算出方法 図000009
  • 特開2020004002-局所特徴量算出回路および局所特徴量算出方法 図000010
  • 特開2020004002-局所特徴量算出回路および局所特徴量算出方法 図000011
  • 特開2020004002-局所特徴量算出回路および局所特徴量算出方法 図000012
  • 特開2020004002-局所特徴量算出回路および局所特徴量算出方法 図000013
  • 特開2020004002-局所特徴量算出回路および局所特徴量算出方法 図000014
  • 特開2020004002-局所特徴量算出回路および局所特徴量算出方法 図000015
  • 特開2020004002-局所特徴量算出回路および局所特徴量算出方法 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2020-4002(P2020-4002A)
(43)【公開日】2020年1月9日
(54)【発明の名称】局所特徴量算出回路および局所特徴量算出方法
(51)【国際特許分類】
   G06T 1/20 20060101AFI20191206BHJP
【FI】
   G06T1/20 Z
【審査請求】未請求
【請求項の数】11
【出願形態】OL
【全頁数】28
(21)【出願番号】特願2018-121868(P2018-121868)
(22)【出願日】2018年6月27日
(71)【出願人】
【識別番号】591128453
【氏名又は名称】株式会社メガチップス
(74)【代理人】
【識別番号】100080159
【弁理士】
【氏名又は名称】渡辺 望稔
(74)【代理人】
【識別番号】100152984
【弁理士】
【氏名又は名称】伊東 秀明
(72)【発明者】
【氏名】渡辺 祥則
【テーマコード(参考)】
5B057
【Fターム(参考)】
5B057CA08
5B057CA12
5B057CA16
5B057CB08
5B057CB12
5B057CB16
5B057CC02
5B057CH08
5B057CH14
5B057DB02
5B057DB09
(57)【要約】
【課題】回路規模、消費電力およびコストを低減し、かつ計算時間を短縮することができる局所特徴量算出回路および局所特徴量算出方法を提供する。
【解決手段】局所特徴量算出回路においては、ブロック単位特徴量算出回路が、ブロック画像の局所特徴量を算出し、バッファが、複数のブロック画像の局所特徴量を保持する。一時読み出しレジスタが、バッファから順次読み出される、補間処理で用いられる横方向のm個および縦方向のn個のブロック画像からなるt個のブロック画像のうちの縦方向のn個のブロック画像の局所特徴量を順次保持し、ブロックレジスタが、一時読み出しレジスタから同時に出力される、縦方向のn個のブロック画像の局所特徴量をm個のレジスタ群に順次シフトして保持する。補間回路が、ブロックレジスタから同時に出力される、t個のブロック画像の局所特徴量の間を補間して画像のピクセルの局所特徴量を算出する。
【選択図】図1
【特許請求の範囲】
【請求項1】
画像を縦方向および横方向に分割した複数のブロック画像の各々について、前記ブロック画像の特徴量である局所特徴量を算出するブロック単位特徴量算出回路と、
前記複数のブロック画像の局所特徴量を保持するバッファと、
mおよびnを2以上の整数とし、tを4以上の整数として、処理対象のピクセルを含むブロック画像およびその周囲のブロック画像の局所特徴量の間の補間処理で用いられる、横方向のm個および縦方向のn個のブロック画像からなるt個のブロック画像のうちの前記縦方向のn個のブロック画像に対応するn個のレジスタを有し、1ピクセル時間単位で、前記バッファから順次読み出される、前記縦方向のn個のブロック画像の局所特徴量を前記n個のレジスタに順次保持する一時読み出しレジスタと、
前記縦方向のn個のブロック画像に対応するn個のレジスタからなるレジスタ群を、前記横方向のm個のブロック画像に対応するm個有し、1ブロック時間毎に、前記一時読み出しレジスタから同時に出力される、前記縦方向のn個のブロック画像の局所特徴量を前記m個のレジスタ群に順次シフトして保持するブロックレジスタと、
前記1ブロック時間毎に、前記ブロックレジスタから同時に出力される、前記補間処理で用いられるt個のブロック画像の局所特徴量の間を補間して前記画像のピクセルの局所特徴量を算出する補間回路と、を備える、局所特徴量算出回路。
【請求項2】
前記ブロック単位特徴量算出回路は、前記ブロック画像の局所特徴量として、前記ブロック画像の全てのピクセルのデータの平均値、中央値、最大値、最小値、最頻値または代表ピクセル値を算出する、請求項1に記載の局所特徴量算出回路。
【請求項3】
前記ブロック単位特徴量算出回路は、現フレームの画像における前記処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の各々について、前記ブロック画像の局所特徴量を算出し、
さらに、1ブロックライン時間単位で、前記ブロック単位特徴量算出回路から出力される、前記現フレームの画像における前記処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の局所特徴量を保持し、前記現フレームの画像における前記処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の局所特徴量を保持してから、前記補間処理で用いられるn個のブロック画像として、前記バッファに書き込まれた1フレーム前の画像における前記処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の局所特徴量の前記バッファからの読み出しが完了するまでの一定のブロックライン時間遅延させて出力する一時書き込みレジスタと、
前記一時書き込みレジスタから同時に出力される、前記ブロックラインに含まれる複数のブロック画像の局所特徴量を順次出力するマルチプレクサと、を備え、
前記マルチプレクサから順次出力されるブロック画像の局所特徴量が前記バッファに書き込まれる、請求項1または2に記載の局所特徴量算出回路。
【請求項4】
さらに、前記マルチプレクサから順次出力される、前記処理対象のピクセルを含むブロック画像およびその周囲のブロック画像の局所特徴量を用いてフィルタリング処理を行うフィルタ回路を備え、
前記フィルタ回路から出力されるブロック画像の局所特徴量が前記バッファに書き込まれる、請求項3に記載の局所特徴量算出回路。
【請求項5】
前記現フレームの画像の最初のブロックラインから、最後のブロックラインの前記一定のブロックライン時間前までの前記処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の局所特徴量は、前記一定のブロックライン時間遅延されたブロックラインに含まれる最後のラインの後ろの水平ブランキング期間において、前記一定のブロックライン時間遅延されたブロックラインの次のブロックラインに含まれる左端のブロック画像に対応する、前記補間処理で用いられる複数のブロック画像の局所特徴量が前記バッファから読み出された後、前記バッファに書き込まれ、前記最後のブロックラインから前記一定のブロックライン時間前までの前記処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の局所特徴量は、前記一定のブロックライン時間遅延された垂直ブランキング期間において、前記バッファに書き込まれた後、次のフレームの画像の左上のブロック画像に対応する、前記補間処理で用いられる複数のブロック画像の局所特徴量が前記バッファから読み出される、請求項3または4に記載の局所特徴量算出回路。
【請求項6】
次の処理対象のピクセルを含むブロック画像が前記ブロックラインの左端のブロック画像である場合、前記ブロックラインに含まれるライン毎に、前記次の処理対象のピクセルを含むブロックラインの前の水平ブランキング期間において、前記左端のブロック画像を含む前記縦方向のn個のブロック画像の局所特徴量が前記バッファから順次読み出されて前記一時読み出しレジスタに順次保持され、前記一時読み出しレジスタから同時に出力される、前記左端のブロック画像を含む縦方向のn個のブロック画像の局所特徴量が前記ブロックレジスタのm個のレジスタ群の全てに書き込まれた後、前記左端のブロック画像の右側のブロック画像から、前記左端のブロック画像に対応する、前記補間処理で用いられる横方向のm個のブロック画像のうちの右端のブロック画像までのi個のブロック画像のうちのj番目(1≦j≦i)のブロック画像を含む縦方向のn個のブロック画像の局所特徴量が前記バッファから順次読み出されて前記一時読み出しレジスタに順次保持され、前記一時読み出しレジスタから同時に出力される、前記j番目のブロック画像を含む縦方向のn個のブロック画像の局所特徴量が前記ブロックレジスタのm個のレジスタ群にシフトされることが、前記i個のブロック画像のうちの1番目のブロック画像からi番目のブロック画像まで繰り返される、請求項3ないし5のいずれか一項に記載の局所特徴量算出回路。
【請求項7】
前記次の処理対象のピクセルを含むブロック画像が前記左端のブロック画像の右側のブロック画像から、前記ブロックラインの右端のブロック画像の(m−1)/2個前までのブロック画像のいずれかである場合、前記ブロックラインに含まれるライン毎に、前記次の処理対象のピクセルを含むブロック画像の1つ前のブロック画像のタイミングにおいて、前記次の処理対象のピクセルを含むブロック画像に対応する前記m個のブロック画像のうちの右端の縦方向のn個のブロック画像の局所特徴量が前記バッファから順次読み出されて前記一時読み出しレジスタに順次保持され、前記処理対象のピクセルが前記次の処理対象のピクセルを含むブロック画像に移動するタイミングで、前記一時読み出しレジスタから同時に出力される、前記m個のブロック画像のうちの右端の縦方向のn個のブロック画像の局所特徴量が前記ブロックレジスタのm個のレジスタ群にシフトされる、請求項6に記載の局所特徴量算出回路。
【請求項8】
前記次の処理対象のピクセルを含むブロック画像が前記ブロックラインの右端のブロック画像から、前記ブロックラインの右端のブロック画像の(m−1)/2個のブロック画像のいずれかである場合、前記ブロックラインに含まれるライン毎に、前記次の処理対象のピクセルを含むブロック画像の1つ前のブロック画像のタイミングにおいて、前記次の処理対象のピクセルを含むブロック画像に対応する前記m個のブロック画像のうちの右端の縦方向のn個のブロック画像の局所特徴量が前記バッファから読み出されることなく、前記処理対象のピクセルが前記次の処理対象のピクセルを含むブロック画像に移動するタイミングで、前記一時読み出しレジスタから同時に出力される前記縦方向のn個のブロック画像の局所特徴量が前記ブロックレジスタのm個のレジスタ群にシフトされる、請求項6または7に記載の局所特徴量算出回路。
【請求項9】
さらに、前記ブロック画像の局所特徴量を前記バッファに書き込むためのライトアドレス、および、前記ブロック画像の局所特徴量を前記バッファから読み出すためのリードアドレスを生成するマイクロプロセッサを備える、請求項1ないし8のいずれか一項に記載の局所特徴量算出回路。
【請求項10】
前記補間回路は、前記ブロック画像における最大のブロックアドレスに基づいて、前記ブロック画像における処理対象のピクセルのブロックアドレスにより算出される重み付け係数と、隣接する前記ブロック画像の局所特徴量と、を演算することにより、前記ブロック画像における処理対象のピクセルの局所特徴量を算出する、請求項1ないし9のいずれか一項に記載の局所特徴量算出回路。
【請求項11】
ブロック単位特徴量算出回路が、画像を縦方向および横方向に分割した複数のブロック画像の各々について、前記ブロック画像の特徴量である局所特徴量を算出するステップと、
バッファが、前記複数のブロック画像の局所特徴量を保持するステップと、
mおよびnを2以上の整数とし、tを4以上の整数として、処理対象のピクセルを含むブロック画像およびその周囲のブロック画像の局所特徴量の間の補間処理で用いられる、横方向のm個および縦方向のn個のブロック画像からなるt個のブロック画像のうちの前記縦方向のn個のブロック画像に対応するn個のレジスタを有する一時読み出しレジスタが、1ピクセル時間単位で、前記バッファから順次読み出される、前記縦方向のn個のブロック画像の局所特徴量を前記n個のレジスタに順次保持するステップと、
前記縦方向のn個のブロック画像に対応するn個のレジスタからなるレジスタ群を、前記横方向のm個のブロック画像に対応するm個有するブロックレジスタが、1ブロック時間毎に、前記一時読み出しレジスタから同時に出力される、前記縦方向のn個のブロック画像の局所特徴量を前記m個のレジスタ群に順次シフトして保持するステップと、
補間回路が、前記1ブロック時間毎に、前記ブロックレジスタから同時に出力される、前記補間処理で用いられるt個のブロック画像の局所特徴量の間を補間して前記画像のピクセルの局所特徴量を算出するステップと、を含む、局所特徴量算出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、広いダイナミックレンジを持つHDR(High Dynamic Range)画像等の画像を分割した複数のブロック画像の各々について、ブロック画像の特徴量である局所特徴量を算出する局所特徴量算出回路および局所特徴量算出方法に関する。
【背景技術】
【0002】
CRT(Cathode Ray Tube)を用いていた時代よりも広いダイナミックレンジを持つHDR画像を記録するために、HDR10およびHLG(Hybrid Log Gamma)などのフォーマットが提唱され、利用されている。HDR10では、表示されるべき画像の絶対的な輝度が記録される。HLGでは、SDR(Standard Dynamic Range)画像と同様にディスプレイが表示可能な最大輝度を最大値とする相対的な値が記録されるが、その低輝度領域はSDR画像と同じであり、高輝度領域の変換関数(変換曲線)は指数関数になる。
【0003】
これに対して、ディスプレイの標準的なガンマ値γである2.2の二乗のガンマ曲線の逆変換曲線を用いてピクセルのデータを変換する従来の画像はSDR画像と呼ばれる。
【0004】
上記の広いダイナミックレンジを持つHDR画像を、狭いダイナミックレンジを持つディスプレイに表示するための変換を行う手法はトーンマッピングと呼ばれ、このトーンマッピングを行う回路がトーンマッピング回路である。しかし、ディスプレイの最大輝度、最小輝度などの性能は多様なため、その限られた輝度領域にHDR画像の全ての階調を再現することは不可能であり、明部または暗部の一部の階調は失われることになる。
【0005】
画像またはこれを分割したブロック画像毎に平均輝度または多数のピクセル輝度が属する階調領域(階調範囲)を算出し、その領域内に圧縮して表示することにより階調が潰れる領域を削減することができる。このような局所的な情報を用いた処理を行う場合、人間の視覚特性などの理由から、輝度値そのものではなくその対数値を用いて処理が行われている。HDR10で使われているPQ(Perceptual Quantization)カーブおよびHLGの変換関数の高輝度領域はこのような特性を取り込み、対数関数に近い関数を用いて輝度信号が表現されている。
【0006】
例えば、画像の情報によらず、y=[0,1]の範囲内にトーンマッピングを行う場合の変換関数としては、単純なものとして、y=x/(1+x)の変換関数および区分線形関数などがある。
【0007】
また、局所的な情報を取り入れた変換関数としては、非特許文献1に記載されているように、入力画像L(x,y)に対して下記式(1)に示すローパスフィルタRi(x,y,s)(sはフィルタの大きさを表す係数)をかけて下記式(2)に示す画像Vi(x,y,s)を算出し、画像Vi(x,y,s)に対して下記式(3)に示す関係となる関数などが知られている。
【0008】
【数1】
【0009】
また、非特許文献2では、対数空間における勾配を計算し、それを圧縮することによりトーンマッピングが行われている。
【0010】
非特許文献3では、複数のスケールの画像を作成し、それぞれのスケールの画像にS字型の非線形変換を施した後に合成する方法が提唱されている。
【0011】
非特許文献4では、それぞれのスケールの画像に対して並列に処理を行うことで高速化を達成する方法も提案されている。
【0012】
また、特許文献1では、対数入力画像に対して少なくとも2つの異なるスケールレシオ画像を生成し、それを対数入力画像に加えることによりトーンマッピングが行われている。
【0013】
特許文献2では、まずHDR画像における対数ルミナンスピクセル値のヒストグラムから対数グローバルトーンマッピングされたルミナンス画像を計算し、そこから局所的な対数レシオ画像を計算し、それに基づいてダウンスケーリングされた第2対数トーンマッピング画像および第2レシオ画像を生成する処理を繰り返して画像の符号化を行い、JPEG−HDR画像が作成されている。
【0014】
特許文献3では、送信部が伝送ビデオデータを補助情報(レベルマッピング・カーブ情報および/または電光変換特性情報)と共に送信し、受信部が伝送ビデオデータを受信し、処理部が伝送ビデオデータのレベルを補助情報に基づいて変換している。また、図15、18および19には、受信画像にHDR逆変換を施した後に電光変換関数(EOTF:Electro-Optical Transfer Function)を用いてレベルマッピングが行われている。
【0015】
特許文献4では、局所的処理部が、入力信号が示すピクセル値をバッファに記憶し、補正対象ピクセルおよびその周囲の参照ピクセルのピクセル値をバッファから順次読み出してレジスタに記憶し、補正対象ピクセルおよび参照ピクセルのピクセル値をレジスタからパラレルに出力して、補正対象ピクセルのピクセル値を参照ピクセルのピクセル値に基づいて補正した補正値を求め、大域的処理部が、1フレーム前の1フレーム分の補正値と補正対象ピクセルの補正値とにより更なる補正値を求めることにより、画像の全体的な補正処理が行われている。
【先行技術文献】
【特許文献】
【0016】
【特許文献1】特開2015−212978号公報
【特許文献2】特表2015−508589号公報
【特許文献3】国際公開第2015/111467号
【特許文献4】特開2017−174195号
【非特許文献】
【0017】
【非特許文献1】Erik Reinhard、外3名、" Photographic tone reproduction for digital images"、[online]、2002-07-01、ACM New York, NY, USA、"ACM Transactions on Graphics (TOG) - Proceedings of ACM SIGGRAPH 2002"、Volume 21 Issue 3, July 2002、[平成30年2月26日検索]、インターネット<URL:https://dl.acm.org/citation.cfm?id=566575>
【非特許文献2】Raanan Fattal、外2名、"Gradient Domain High Dynamic Range Compression"、[online]、"School of Computer Science and Engineering"、"The Hebrew University of Jerusalem"、[平成30年2月26日検索]、インターネット<URL: http://www.cs.huji.ac.il/~danix/hdr/>
【非特許文献3】Sylvain Paris、外2名、"Local Laplacian Filters: Edge-aware Image Processing with a Laplacian Pyramid"、[online]、March 2015、"ACM Transactions on Graphics (Proceedings of SIGGRAPH 2011)"、"Communications of the ACM"、Vol. 58, No. 3、インターネット<URL:https://people.csail.mit.edu/sparis/publi/2011/siggraph/>
【非特許文献4】Mathieu Aubry、外4名、"Fast Local Laplacian Filters: Theory and Applications "、[online]、2014、"ACM Transactions on Graphics"、[平成30年2月26日検索]、インターネット<URL: http://www.di.ens.fr/~aubry/llf.html>
【発明の概要】
【発明が解決しようとする課題】
【0018】
画像またはブロック画像の情報によらない一様な変換関数を用いる場合、明部では白つぶれ、暗部では黒潰れが起きる。そのため画面またはブロック画像の輝度分布に応じて、多数のピクセルが属する階調の領域に多くのビットを割り振るマッピングが提唱され、実施されているが、出力画像の連続性と、回路規模、計算時間および消費電力の観点での計算コストとの両立は簡単ではなかった。特に、モバイルディスプレイへの組み込み用途などでは計算結果の厳密さよりも計算負荷の軽さが求められている。
【0019】
また、1フレーム内で処理が完結しない場合、処理対象の画像をフレームメモリに格納する必要があり、回路規模、消費電力およびコストが増大する。
【0020】
本発明の目的は、回路規模、消費電力およびコストを低減し、かつ計算時間を短縮することができる局所特徴量算出回路および局所特徴量算出方法を提供することにある。
【課題を解決するための手段】
【0021】
上記目的を達成するために、本発明は、画像を縦方向および横方向に分割した複数のブロック画像の各々について、前記ブロック画像の特徴量である局所特徴量を算出するブロック単位特徴量算出回路と、
前記複数のブロック画像の局所特徴量を保持するバッファと、
mおよびnを2以上の整数とし、tを4以上の整数として、処理対象のピクセルを含むブロック画像およびその周囲のブロック画像の局所特徴量の間の補間処理で用いられる、横方向のm個および縦方向のn個のブロック画像からなるt個のブロック画像のうちの前記縦方向のn個のブロック画像に対応するn個のレジスタを有し、1ピクセル時間単位で、前記バッファから順次読み出される、前記縦方向のn個のブロック画像の局所特徴量を前記n個のレジスタに順次保持する一時読み出しレジスタと、
前記縦方向のn個のブロック画像に対応するn個のレジスタからなるレジスタ群を、前記横方向のm個のブロック画像に対応するm個有し、1ブロック時間毎に、前記一時読み出しレジスタから同時に出力される、前記縦方向のn個のブロック画像の局所特徴量を前記m個のレジスタ群に順次シフトして保持するブロックレジスタと、
前記1ブロック時間毎に、前記ブロックレジスタから同時に出力される、前記補間処理で用いられるt個のブロック画像の局所特徴量の間を補間して前記画像のピクセルの局所特徴量を算出する補間回路と、を備える、局所特徴量算出回路を提供する。
【0022】
ここで、前記ブロック単位特徴量算出回路は、前記ブロック画像の局所特徴量として、前記ブロック画像の全てのピクセルのデータの平均値、中央値、最大値、最小値、最頻値または代表ピクセル値を算出することが好ましい。
【0023】
また、前記ブロック単位特徴量算出回路は、現フレームの画像における前記処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の各々について、前記ブロック画像の局所特徴量を算出し、
さらに、1ブロックライン時間単位で、前記ブロック単位特徴量算出回路から出力される、前記現フレームの画像における前記処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の局所特徴量を保持し、前記現フレームの画像における前記処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の局所特徴量を保持してから、前記補間処理で用いられるn個のブロック画像として、前記バッファに書き込まれた1フレーム前の画像における前記処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の局所特徴量の前記バッファからの読み出しが完了するまでの一定のブロックライン時間遅延させて出力する一時書き込みレジスタと、
前記一時書き込みレジスタから同時に出力される、前記ブロックラインに含まれる複数のブロック画像の局所特徴量を順次出力するマルチプレクサと、を備え、
前記マルチプレクサから順次出力されるブロック画像の局所特徴量が前記バッファに書き込まれることが好ましい。
【0024】
さらに、前記マルチプレクサから順次出力される、前記処理対象のピクセルを含むブロック画像およびその周囲のブロック画像の局所特徴量を用いてフィルタリング処理を行うフィルタ回路を備え、
前記フィルタ回路から出力されるブロック画像の局所特徴量が前記バッファに書き込まれることが好ましい。
【0025】
また、前記現フレームの画像の最初のブロックラインから、最後のブロックラインの前記一定のブロックライン時間前までの前記処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の局所特徴量は、前記一定のブロックライン時間遅延されたブロックラインに含まれる最後のラインの後ろの水平ブランキング期間において、前記一定のブロックライン時間遅延されたブロックラインの次のブロックラインに含まれる左端のブロック画像に対応する、前記補間処理で用いられる複数のブロック画像の局所特徴量が前記バッファから読み出された後、前記バッファに書き込まれ、前記最後のブロックラインから前記一定のブロックライン時間前までの前記処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の局所特徴量は、前記一定のブロックライン時間遅延された垂直ブランキング期間において、前記バッファに書き込まれた後、次のフレームの画像の左上のブロック画像に対応する、前記補間処理で用いられる複数のブロック画像の局所特徴量が前記バッファから読み出されることが好ましい。
【0026】
また、次の処理対象のピクセルを含むブロック画像が前記ブロックラインの左端のブロック画像である場合、前記ブロックラインに含まれるライン毎に、前記次の処理対象のピクセルを含むブロックラインの前の水平ブランキング期間において、前記左端のブロック画像を含む前記縦方向のn個のブロック画像の局所特徴量が前記バッファから順次読み出されて前記一時読み出しレジスタに順次保持され、前記一時読み出しレジスタから同時に出力される、前記左端のブロック画像を含む縦方向のn個のブロック画像の局所特徴量が前記ブロックレジスタのm個のレジスタ群の全てに書き込まれた後、前記左端のブロック画像の右側のブロック画像から、前記左端のブロック画像に対応する、前記補間処理で用いられる横方向のm個のブロック画像のうちの右端のブロック画像までのi個のブロック画像のうちのj番目(1≦j≦i)のブロック画像を含む縦方向のn個のブロック画像の局所特徴量が前記バッファから順次読み出されて前記一時読み出しレジスタに順次保持され、前記一時読み出しレジスタから同時に出力される、前記j番目のブロック画像を含む縦方向のn個のブロック画像の局所特徴量が前記ブロックレジスタのm個のレジスタ群にシフトされることが、前記i個のブロック画像のうちの1番目のブロック画像からi番目のブロック画像まで繰り返されることが好ましい。
【0027】
また、前記次の処理対象のピクセルを含むブロック画像が前記左端のブロック画像の右側のブロック画像から、前記ブロックラインの右端のブロック画像の(m−1)/2個前までのブロック画像のいずれかである場合、前記ブロックラインに含まれるライン毎に、前記次の処理対象のピクセルを含むブロック画像の1つ前のブロック画像のタイミングにおいて、前記次の処理対象のピクセルを含むブロック画像に対応する前記m個のブロック画像のうちの右端の縦方向のn個のブロック画像の局所特徴量が前記バッファから順次読み出されて前記一時読み出しレジスタに順次保持され、前記処理対象のピクセルが前記次の処理対象のピクセルを含むブロック画像に移動するタイミングで、前記一時読み出しレジスタから同時に出力される、前記m個のブロック画像のうちの右端の縦方向のn個のブロック画像の局所特徴量が前記ブロックレジスタのm個のレジスタ群にシフトされることが好ましい。
【0028】
また、前記次の処理対象のピクセルを含むブロック画像が前記ブロックラインの右端のブロック画像から、前記ブロックラインの右端のブロック画像の(m−1)/2個のブロック画像のいずれかである場合、前記ブロックラインに含まれるライン毎に、前記次の処理対象のピクセルを含むブロック画像の1つ前のブロック画像のタイミングにおいて、前記次の処理対象のピクセルを含むブロック画像に対応する前記m個のブロック画像のうちの右端の縦方向のn個のブロック画像の局所特徴量が前記バッファから読み出されることなく、前記処理対象のピクセルが前記次の処理対象のピクセルを含むブロック画像に移動するタイミングで、前記一時読み出しレジスタから同時に出力される前記縦方向のn個のブロック画像の局所特徴量が前記ブロックレジスタのm個のレジスタ群にシフトされることが好ましい。
【0029】
さらに、前記ブロック画像の局所特徴量を前記バッファに書き込むためのライトアドレス、および、前記ブロック画像の局所特徴量を前記バッファから読み出すためのリードアドレスを生成するマイクロプロセッサを備えることが好ましい。
【0030】
また、前記補間回路は、前記ブロック画像における最大のブロックアドレスに基づいて、前記ブロック画像における処理対象のピクセルのブロックアドレスにより算出される重み付け係数と、隣接する前記ブロック画像の局所特徴量と、を演算することにより、前記ブロック画像における処理対象のピクセルの局所特徴量を算出することが好ましい。
【0031】
また、本発明は、ブロック単位特徴量算出回路が、画像を縦方向および横方向に分割した複数のブロック画像の各々について、前記ブロック画像の特徴量である局所特徴量を算出するステップと、
バッファが、前記複数のブロック画像の局所特徴量を保持するステップと、
mおよびnを2以上の整数とし、tを4以上の整数として、処理対象のピクセルを含むブロック画像およびその周囲のブロック画像の局所特徴量の間の補間処理で用いられる、横方向のm個および縦方向のn個のブロック画像からなるt個のブロック画像のうちの前記縦方向のn個のブロック画像に対応するn個のレジスタを有する一時読み出しレジスタが、1ピクセル時間単位で、前記バッファから順次読み出される、前記縦方向のn個のブロック画像の局所特徴量を前記n個のレジスタに順次保持するステップと、
前記縦方向のn個のブロック画像に対応するn個のレジスタからなるレジスタ群を、前記横方向のm個のブロック画像に対応するm個有するブロックレジスタが、1ブロック時間毎に、前記一時読み出しレジスタから同時に出力される、前記縦方向のn個のブロック画像の局所特徴量を前記m個のレジスタ群に順次シフトして保持するステップと、
補間回路が、前記1ブロック時間毎に、前記ブロックレジスタから同時に出力される、前記補間処理で用いられるt個のブロック画像の局所特徴量の間を補間して前記画像のピクセルの局所特徴量を算出するステップと、を含む、局所特徴量算出方法を提供する。
【発明の効果】
【0032】
本発明によれば、画像における複数のブロック画像の局所特徴量をバッファに保持するため、局所特徴量を保持するために必要なメモリ容量を大幅に削減することができる。従って、回路規模を大幅に削減し、消費電力およびコストを大幅に低減することができる。
【0033】
また、補間処理で用いられる縦方向のn個のブロック画像の局所特徴量をブロックレジスタのm個のレジスタ群に順次シフトし、t個のブロック画像の局所特徴量をブロックレジスタから同時に出力することにより、隣り合う2つのブロック画像において、(m−1)個のレジスタ群に保持される局所特徴量を共通に使用して、バッファからブロック画像の局所特徴量を読み出す回数を大幅に減らし、かつ計算時間を大幅に短縮することができる。
【図面の簡単な説明】
【0034】
図1】本発明に係る局所特徴量算出回路の構成を表す一実施形態のブロック図である。
図2】HDR画像を表す一実施形態の概念図である。
図3】ブロック画像を表す一実施形態の概念図である。
図4図1に示すブロック単位特徴量算出回路および一時書き込みレジスタの構成を表す一実施形態のブロック図である。
図5図1に示す一時読み出しレジスタおよびブロックレジスタの構成を表す一実施形態のブロック図である。
図6】1ブロックラインに含まれる複数のブロック画像の局所特徴量をバッファに書き込むタイミングを表す一実施形態の概念図である。
図7】補間処理で用いられるブロック画像の局所特徴量をバッファから読み出すタイミングを表す一実施形態の概念図である。
図8】ブロック画像の局所特徴量をバッファに書き込むタイミングと、ブロック画像の局所特徴量をバッファから読み出すタイミングとの関係を表す一実施形態の概念図である。
図9】ブロック画像を4分割した第I〜IV象限を表す一実施形態の概念図である。
図10】処理対象のピクセルを含むブロック画像および補間処理で用いられるブロック画像を表す一実施形態の概念図である。
図11】本発明に係る局所特徴量算出回路の構成を表す別の実施形態のブロック図である。
【発明を実施するための形態】
【0035】
以下に、添付の図面に示す好適実施形態に基づいて、本発明の局所特徴量算出回路および局所特徴量算出方法を詳細に説明する。
【0036】
図1は、本発明に係る局所特徴量算出回路の構成を表す一実施形態のブロック図である。図1に示す局所特徴量算出回路10は、HDR画像を縦方向にN個(Nは2以上の整数)、および横方向にM個(Mは2以上の整数)に分割した複数のブロック画像の各々について、ブロック画像の特徴量である局所特徴量を算出する。また、局所特徴量算出回路10は、ブロック画像に含まれる各々のピクセルの特徴量であるピクセルの局所特徴量を算出する。
【0037】
局所特徴量算出回路10は、画像アドレス生成回路12と、ブロックアドレス生成回路14と、水平ブランキングカウント回路16と、垂直ブランキングカウント回路18と、マルチプレクサ20と、周期カウンタ22と、ライトアドレス生成回路24と、リードアドレス生成回路26と、ブロック単位特徴量算出回路28と、一時書き込みレジスタ30と、マルチプレクサ32と、フィルタ回路34と、バッファ36と、一時読み出しレジスタ38と、ブロックレジスタ40と、補間回路42と、を備えている。
【0038】
局所特徴量算出回路10において、画像アドレス生成回路12には、画像同期信号として、外部から、HDR画像のピクセルのデータが入力される表示期間を表すデータイネーブル信号DE、および、垂直ブランキング期間の開始タイミングを表す垂直同期信号VSYNCが入力される。
画像アドレス生成回路12は、データイネーブル信号DEおよび垂直同期信号VSYNCに基づいて、1ピクセル時間毎に、現フレームのHDR画像における処理対象のピクセルの横方向(水平方向)および縦方向(垂直方向)のアドレス(座標)x,yを生成する。
なお、1ピクセル時間は、ピクセルクロックP_Clock(図2参照)の1周期に相当する時間である。
【0039】
本実施形態の場合、画像アドレス生成回路12は、データイネーブル信号DEおよび垂直同期信号VSYNCに基づいて、HDR画像の表示期間(有効領域)、水平ブランキング期間および垂直ブランキング期間(無効領域)を検出する。また、表示期間において、水平方向のピクセル数をピクセルクロックP_Clockでカウントし、かつ、垂直方向のライン数をカウントすることにより、HDR画像の横方向および縦方向のピクセルのアドレスx,yを生成する。
【0040】
続いて、ブロックアドレス生成回路14には、1ピクセル時間毎に、画像アドレス生成回路12からHDR画像のピクセルのアドレスx,yが入力され、外部からブロック画像の横方向のピクセル数(幅)block_widthおよび縦方向のピクセル数(高さ)block_heightを表すサイズ情報が入力される。
ブロックアドレス生成回路14は、HDR画像のピクセルのアドレスx,yおよび、上記のブロック画像のサイズ情報に基づいて、図2に示すように、1ブロック時間毎に、現フレームのHDR画像における処理対象のピクセルの位置を含むブロック画像の横方向および縦方向の位置を表すインデックスqx,qy、および、図3に示すように、1ピクセル時間毎に、現フレームのHDR画像のブロック画像内における処理対象のピクセルのアドレスを表すブロックアドレスrx,ryを生成する。
なお、1ブロック時間は、1ブロック画像の横方向のピクセル数block_width×ピクセルクロックP_Clockの1周期に相当する時間である。
【0041】
本実施形態の場合、ブロックアドレス生成回路14は、HDR画像のピクセルのアドレスx,yを、それぞれ、ブロック画像の横方向のピクセル数、すなわちblock_width、および縦方向のピクセル数、すなわちblock_heightで除算し、その除算結果の商をブロック画像の横方向および縦方向のインデックスqx,qyとし、余りを横方向および縦方向のブロックアドレスrx,ryとすることにより、ブロック画像のインデックスqx,qyおよびブロックアドレスrx,ryを生成する。
【0042】
図2において、HDR画像における左上のブロック画像のインデックスqx,qy=0,0であり、右下のブロック画像のインデックスqx,qy=M−1,N−1である。つまり、M,Nは、HDR画像におけるブロック画像の横方向および縦方向の数を表す。また、図3において、ブロック画像における左上のピクセルのブロックアドレスrx,ry=0,0であり、右下のピクセルのブロックアドレスrx,ry=wx,wyである。つまり、wx=block_width-1,wy=block_height-1を表す。
【0043】
続いて、水平ブランキングカウント回路16および垂直ブランキングカウント回路18には、外部からデータイネーブル信号DEおよび垂直同期信号VSYNCが入力される。
水平ブランキングカウント回路16は、データイネーブル信号DEに基づいて、1ピクセル時間毎に、水平ブランキング期間において水平ブランキングカウント値hblank_countをカウントする。また、垂直ブランキングカウント回路18は、垂直同期信号VSYNCに基づいて、1ピクセル時間毎に、垂直ブランキング期間において垂直ブランキングカウント値vblank_countをカウントする。
【0044】
本実施形態の場合、水平ブランキングカウント回路16は、データイネーブル信号DEに基づいて水平ブランキング期間の開始タイミングを検出し、図2に示すように、水平ブランキング期間の開始タイミングからピクセルクロックP_Clockをカウントした水平ブランキングカウント値hblank_countを出力する。また、垂直ブランキングカウント回路18は、垂直同期信号VSYNCに基づいて垂直ブランキング期間の開始タイミングを検出し、垂直ブランキング期間の開始タイミングからピクセルクロックP_Clockをカウントした垂直ブランキングカウント値vblank_countを出力する。
【0045】
続いて、マルチプレクサ20には、水平ブランキングカウント回路16から水平ブランキングカウント値hblank_countが入力され、垂直ブランキングカウント回路18から垂直ブランキングカウント値vblank_countが入力される。また、マルチプレクサ20には、外部から垂直同期信号VSYNCが入力される。
マルチプレクサ20は、垂直同期信号VSYNCに基づいて、水平ブランキングカウント値hblank_countと垂直ブランキングカウント値vblank_countとを切り替え、ブランキングカウント値blank_countとして出力する。
【0046】
本実施形態の場合、マルチプレクサ20は、垂直同期信号VSYNCに基づいて垂直ブランキング期間なのか否かを検出し、垂直ブランキング期間において、ブランキングカウント値blank_countとして垂直ブランキングカウント値vblank_countを出力する。また、垂直ブランキング期間ではない場合、水平ブランキング期間において、ブランキングカウント値blank_countとして水平ブランキングカウント値hblank_countを出力する。
【0047】
続いて、周期カウンタ22には、マルチプレクサ20からブランキングカウント値blank_countが入力される。また、周期カウンタ22には、外部から、ブロック画像のサイズ情報および補間処理で用いられる縦方向のブロック画像の数の情報が入力される。
周期カウンタ22は、ブランキングカウント値blank_count、ブロック画像のサイズ情報、および、補間処理で用いられる縦方向のブロック画像の数の情報に応じて、1ピクセル時間毎に、ブランキング期間において周期的に変化する周期カウント値prxを出力する。
【0048】
本実施形態の場合、補間処理において、縦方向の3個(n=3)および横方向の3個(m=3)からなる9個のブロック画像の局所特徴量が用いられる場合で説明する。周期カウンタ22は、水平ブランキング期間の開始のタイミングでリセットされて0となり、その後、水平ブランキング期間において、周期カウント値prxとして、水平ブランキングカウント値hblank_countを、ブロック画像の縦方向の数のn=3で除算した余りの値0,1,2を繰り返し出力する。
【0049】
また、周期カウンタ22は、垂直ブランキング期間の開始のタイミングでリセットされて0となり、その後、垂直ブランキング期間において、周期カウント値prxとして、(垂直ブランキングカウント値vblank_count−1ブロックラインに含まれるブロック画像の数)を、ブロック画像の縦方向の数のn=3で除算した余りの値0,1,2を繰り返し出力する。なお、周期カウント値prxは、垂直ブランキングカウント値vblank_countが1ブロックラインに含まれるブロック画像の数以上の値となるまでは負数になるが、その期間、周期カウント値prxは使用されない。
【0050】
続いて、ライトアドレス生成回路24には、水平ブランキングカウント回路16から水平ブランキングカウント値hblank_countが入力され、垂直ブランキングカウント回路18から垂直ブランキングカウント値vblank_countが入力され、ブロックアドレス生成回路14からブロック画像の縦方向のインデックスqyが入力される。
ライトアドレス生成回路24は、水平ブランキングカウント値hblank_count、垂直ブランキングカウント値vblank_count、ブロック画像の縦方向のインデックスqyに基づいて、ブロック画像の局所特徴量をバッファ36に書き込むためのライトアドレスwaddrを生成する。
【0051】
続いて、リードアドレス生成回路26には、水平ブランキングカウント回路16から水平ブランキングカウント値hblank_countが入力され、垂直ブランキングカウント回路18から垂直ブランキングカウント値vblank_countが入力される。
リードアドレス生成回路26は、水平ブランキングカウント値hblank_countおよび垂直ブランキングカウント値vblank_countに基づいて、ブロック画像の局所特徴量をバッファ36から読み出すためのリードアドレスraddrを生成する。
【0052】
上記HDR画像のピクセルのアドレスx,y、ブロック画像のインデックスqx,qyおよびブロックアドレスrx,ry、水平ブランキングカウント値hblank_countおよび垂直ブランキングカウント値vblank_count、周期カウント値prx、ならびに、ライトアドレスwaddrおよびリードアドレスraddr等は、ピクセルクロックP_Clockに同期して生成される。
【0053】
続いて、ブロック単位特徴量算出回路28には、1ピクセル時間毎に、外部からHDR画像のピクセルのデータが入力される。また、ブロック単位特徴量算出回路28には、外部からブロック画像のサイズ情報が入力される。
ブロック単位特徴量算出回路28は、HDR画像を縦方向および横方向に分割した複数のブロック画像の各々について、ブロック画像の全てのピクセルのデータおよびブロック画像のサイズ情報に基づいて、ブロック画像の特徴量である局所特徴量を算出する。
【0054】
ブロック単位特徴量算出回路28には、HDR画像のピクセルのデータとして、HDR画像の1ライン目の左端から有効領域の右端までのピクセルのデータが順次入力される。以後同様にして、2ライン目から有効領域の最終ラインまでの各々のラインについて、左端から右端までのピクセルのデータが順次入力される。
【0055】
ブロック単位特徴量算出回路28は、ブロック画像の局所特徴量として、1ブロックライン時間毎に、ブロック画像の全てのピクセルのデータの平均値、中央値、最大値、最小値、最頻値または代表ピクセル値等を算出する。代表ピクセル値は、ブロック画像の全てのピクセルのうちの左上のピクセル、中央のピクセルというように、ブロック画像において、あらかじめ決められた位置(アドレス)のピクセルのデータである。
なお、1ブロックライン時間は、1ブロックラインの横方向のピクセル数×1ブロックラインの縦方向のピクセル数×ピクセルクロックP_Clockの1周期に相当する時間である。
【0056】
本実施形態の場合、HDR画像は縦方向のN=100個および横方向のM=100個からなる10000個のブロック画像に分割される。ブロック単位特徴量算出回路28は、現フレームのHDR画像における処理対象のピクセルを含むブロックラインに含まれるM=100個のブロック画像の各々について、ブロック画像の局所特徴量として、ブロック画像の全てのピクセルのデータの平均値を算出する。
【0057】
図4は、図1に示すブロック単位特徴量算出回路および一時書き込みレジスタの構成を表す一実施形態のブロック図である。図4に示すブロック単位特徴量算出回路28は、1ブロックラインに含まれる複数(M=100個)のブロック画像の数に一致する複数(M=100個)の累積加算器44および平均値算出回路46を備えている。図4において、最上部から最下部までの複数の累積加算器は、1ブロックラインの左端から右端までの複数のブロック画像に対応する。
【0058】
累積加算器44は、加算器48と、レジスタ50と、を備えている。加算器48には、HDR画像のピクセルのデータおよびレジスタ50の出力が入力され、レジスタ50には、加算器48の出力が入力される。
累積加算器44は、1ピクセル時間毎に、加算器48によりブロック画像に属するピクセルのデータとレジスタ50の出力とを加算し、その加算値をレジスタ50に保持することを繰り返すことにより、ブロック画像の全てのピクセルのデータを累積加算する。
【0059】
平均値算出回路46には、累積加算器44から累積加算値が入力され、外部からブロック画像のサイズ情報が入力される。
平均値算出回路46は、ブロック画像のサイズ情報に基づいて、累積加算値を、ブロック画像の全ピクセル数で除算することにより、ブロック画像の全てのピクセルのデータの平均値を算出する。平均値算出回路46は、例えばブロック画像の全ピクセル数が2p(pは1以上の整数)である場合、累積加算値を下位ビット方向にpビットシフトすることにより容易に除算することができる。
【0060】
続いて、一時書き込みレジスタ30には、1ブロックライン時間単位で、ブロック単位特徴量算出回路28から1ブロックラインに含まれる複数のブロック画像、すなわちM=100の局所特徴量が入力される。
一時書き込みレジスタ30は、1ブロックライン時間単位で、ブロック単位特徴量算出回路28から同時に出力される、現フレームのHDR画像における処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の局所特徴量を保持し、現フレームのHDR画像における処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の局所特徴量を保持してから、補間処理で用いられるn個のブロック画像として、バッファ36に書き込まれた1フレーム前のHDR画像における処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の局所特徴量のバッファ36からの読み出しが完了するまでの一定のブロックライン時間遅延させて出力する。
【0061】
本実施形態の場合、一時書き込みレジスタ30は、図4に示すように、1ブロックラインに含まれるM=100個のブロック画像の数に一致する100個のレジスタ52を有する第1および第2のレジスタ群54、56を備えている。これは、本実施形態の場合、補間処理に使用する縦方向のブロック画像数n=3であるため、n−1=2のレジスタ群を備えていることを意味する。第1のレジスタ群54には、ブロック単位特徴量算出回路28から同時に出力される、ブロックラインに含まれる複数(M=100個)のブロック画像の局所特徴量が入力される。第1のレジスタ群54の出力は、第2のレジスタ群56に入力される。
処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の局所特徴量は、一時書き込みレジスタ30により2ブロックライン時間遅延される。このため、後述するように、現フレームのHDR画像における処理対象のピクセルを含むブロック画像の補間処理で使用するバッファ36のデータは、その補間処理が終了するまで上書きされることがない。
【0062】
続いて、マルチプレクサ32には、一時書き込みレジスタ30から1ブロックラインに含まれる複数のブロック画像M=100の局所特徴量が入力される。
マルチプレクサ32は、一時書き込みレジスタ30から同時に出力される、ブロックラインに含まれる複数のブロック画像の局所特徴量を順次出力する。
【0063】
本実施形態の場合、マルチプレクサ32は、水平ブランキング期間および垂直ブランキング期間において、ブランキングカウント値blank_countに応じて、ブロックラインの左端から有効領域の右端までのブロック画像の局所特徴量を順次出力する。
【0064】
続いて、フィルタ回路34には、マルチプレクサ32からブロック画像の局所特徴量が入力される。
フィルタ回路34は、マルチプレクサ32から順次出力される、処理対象のピクセルを含むブロック画像およびその周囲のブロック画像の局所特徴量を用いてフィルタリング処理を行う。
【0065】
補間処理によりピクセルの局所特徴量は滑らかに変化するが、隣り合うブロック画像の局所特徴量が急激に変化する場合がある。フィルタ回路34は、隣り合う複数のブロック画像の局所特徴量の変化を滑らかにするローパスフィルタの役割を果たし、フィルタリング処理として、例えば処理対象のピクセルを含むブロック画像およびその周囲のブロック画像の局所特徴量を重み付けして加算平均等を算出する。
【0066】
なお、フィルタ回路34は、補間処理で用いられるブロック画像の局所特徴量の数よりも多い数のブロック画像の局所特徴量を用いてフィルタリング処理を行うことが好ましい。また、フィルタ回路34は必須の構成要素ではない。フィルタ回路34を備えていない場合、マルチプレクサ32から順次出力されるブロック画像の局所特徴量がバッファ36に順次書き込まれる。
【0067】
続いて、バッファ36には、1ピクセル時間単位で、フィルタ回路34からブロック画像の局所特徴量が入力される。また、バッファ36には、ライトアドレス生成回路24からライトアドレスwaddrが入力され、リードアドレス生成回路26からリードアドレスraddrが入力され、外部からライトイネーブル信号wenおよびリードイネーブル信号renが入力される。
バッファ36は、1ピクセル時間単位で、フィルタ回路34から出力される、現フレームのHDR画像の複数のブロック画像の局所特徴量を、ライトイネーブル信号wenに同期して、ライトアドレスwaddrにより指定されるアドレスに保持する(書き込む)。また、バッファ36は、1フレーム前のHDR画像のブロック画像の局所特徴量を、リードイネーブル信号renに同期して、リードアドレスraddrにより指定されるアドレスから出力する(読み出す)。詳細の動作については、後述する。
【0068】
本実施形態の場合、処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の局所特徴量は、図6に示すように、そのブロックラインに含まれる最後のラインの後ろの水平ブランキング期間において、読出し動作の完了後に、バッファ36に書き込まれる。
【0069】
ブロック画像の横方向および縦方向のピクセルサイズ*ブロック画像の横方向および縦方向の数がHDR画像の横方向および縦方向のピクセル数と等しくない場合、つまり、ブロック画像のピクセルサイズに満たないブロック画像がHDR画像の右端または下端に存在する場合、ブロック画像のピクセルサイズに満たないブロック画像の局所特徴量として、その左側または上側のブロック画像の局所特徴量が使用されてもよい。そのため、1フレームの最後では、水平ブランキング期間において、一時書き込みレジスタ30から出力される、ブロックラインに含まれる複数のブロック画像の局所特徴量のバッファ36への書き込みをせず、フレームの垂直有効信号が入力される場合には、それが無効になった場合に、あるいは垂直同期信号VSYNCのみが入力される場合には、それが有効になった場合に、つまり、垂直ブランキング期間において、垂直ブランキングカウント値vblank_countのカウントを開始するのと同時にバッファ36への書き込みを開始するのでもよい。
【0070】
一方、補間処理で用いられるブロック画像の、1フレーム前の局所特徴量は、補間処理において複数のブロック画像の局所特徴量が同時に使用されることを考慮して、さらにはアドレス計算に必要な時間およびバッファ36からのデータの読み出しのレイテンシ等を考慮して、処理対象のピクセルを含むブロック画像に対応する、補間処理で用いられる複数のブロック画像の局所特徴量が実際に使用される前に、バッファ36から先読みされる。
【0071】
図7に示すように、補間処理で使用するブロックサイズが、m=3、n=3の場合、処理対象のピクセルを含むブロック画像の3つ前のブロック画像のタイミングにおいて、9個のブロック画像のうちの左側の縦方向の3個のブロック画像0、3、6の1フレーム前の局所特徴量が読み出される。また、2つ前のブロック画像のタイミングにおいて、中央の縦方向の3個のブロック画像1、4、7の1フレーム前の局所特徴量が読み出され、1つ前のブロック画像のタイミングにおいて、右側の縦方向の3個のブロック画像2、5、8の1フレーム前の局所特徴量が読み出される。縦方向の3個のブロック画像の局所特徴量の読み出しは、ブロックラインに含まれるライン毎に、3つ前のブロック画像から1つ前のブロック画像までの各ブロック画像のタイミングにおいて、ブロックアドレスrx=0から3ピクセルクロックP_Clockで行われる。
【0072】
なお、バッファ36は、HDR画像の全てのブロック画像の局所特徴量を保持する容量を備えるものであれば特に限定されないが、本実施形態の場合、SRAM(Static Random Access Memory)が使用されている。
【0073】
続いて、図5に示すように、一時読み出しレジスタ38には、1ピクセル時間単位で、バッファ36からブロック画像の1フレーム前の局所特徴量が入力され、周期カウンタ22から周期カウント値prxが入力され、ブロックアドレス生成回路14から横方向のブロックアドレスrxが入力される。
一時読み出しレジスタ38は、mおよびnを2以上の整数とし、tを4以上の整数として、処理対象のピクセルを含むブロック画像およびその周囲のブロック画像の1フレーム前の局所特徴量の間の補間処理で用いられる、横方向のm個(図5では、m=3)および縦方向のn個(図5では、n=3)のブロック画像からなるt個(図5では、t=9)のブロック画像のうちの縦方向の3個のブロック画像に対応する3個のレジスタ58を有する。一時読み出しレジスタ38は、周期カウント値prxおよび横方向のブロックアドレスrxに基づいて、1ピクセル時間単位で、バッファ36から順次読み出される、縦方向の3個のブロック画像の局所特徴量を3個のレジスタ58に順次保持する。一時読み出しレジスタ38からは、1ブロック時間毎に、3個のレジスタ58に保持された3個のブロック画像の局所特徴量が同時に出力される。
【0074】
本実施形態の場合、補間処理で用いられるブロック画像は9個、その縦方向のブロック画像の数は3個であり、図5に示すように、一時読み出しレジスタ38は3個のレジスタ58を備えている。一時読み出しレジスタ38は、例えばブロックアドレスrx=0、1、2のタイミングでバッファ36から読み出される、縦方向の3個のブロック画像の局所特徴量を、周期カウント値prx=0、1、2に応じて3個のレジスタ58に順次保持する。
【0075】
続いて、ブロックレジスタ40には、1ブロック時間毎に、一時読み出しレジスタ38から3個のブロック画像の局所特徴量が同時に入力される。また、ブロックレジスタ40には、マルチプレクサ20からブランキングカウント値blank_countが入力され、ブロックアドレス生成回路14から横方向のブロックアドレスrxが入力される。
ブロックレジスタ40は、9個のブロック画像のうちの縦方向の3個のブロック画像に対応する3個のレジスタ60からなるレジスタ群62を、9個のブロック画像のうちの横方向の3個のブロック画像に対応する3個有する。つまり、ブロックレジスタ40は、9個のレジスタ60を有する。ブロックレジスタ40は、1ブロック時間毎に、一時読み出しレジスタ38から同時に出力される、縦方向の3個のブロック画像の局所特徴量を、3個のレジスタ群62の全てに書き込むまたは順次シフトして保持する。ブロックレジスタ40からは、9個のレジスタ60に保持された9個のブロック画像の局所特徴量が同時に出力される。
【0076】
ブランキングカウント値blank_count=0の場合、つまり、水平ブランキング期間および垂直ブランキング期間の開始タイミングにおいて、縦方向の3個のブロック画像の局所特徴量が一時読み出しレジスタ38から同時に出力され、ブロックレジスタ40の3個のレジスタ群62の全てに書き込まれる。つまり、3個のレジスタ群62には、同じ縦方向の3個のブロック画像の局所特徴量が書き込まれる。
【0077】
また、ブロックアドレスrx=0の場合、つまり、ブロック画像の開始タイミングにおいて、縦方向の3個のブロック画像の局所特徴量が一時読み出しレジスタ38から同時に出力され、ブロックレジスタ40の3個のレジスタ群62に順次シフトされる。つまり、隣り合う2つのブロック画像に対応する3個のレジスタ群62のうちの2個のレジスタ群62に保持されるブロック画像の局所特徴量は同じになる。
【0078】
本実施形態の場合、図5に示すように、補間処理で用いられるブロック画像は、処理対象のピクセルを含むブロック画像およびその周囲の8個のブロック画像からなる、縦方向の3個および横方向の3個からなる9個のブロック画像0〜8である。ブロックレジスタ40は、縦方向の3個のブロック画像の数に一致する3個のレジスタ60を有するレジスタ群62を、横方向の3個のブロック画像の数に一致する3個有する。つまり、ブロックレジスタ90は、縦方向の3個および横方向の3個からなる9個のレジスタ60を備えている。
【0079】
図5に示すブロックレジスタ40において、「4」は、図7に示す処理対象のピクセルを含むブロック画像の1フレーム前の局所特徴量を表し、「1」および「7」は、その1ブロックライン時間前および1ブロックライン時間後のブロック画像の1フレーム前の局所特徴量を表す。「1、4、7」は、処理対象のピクセルを含む縦方向の3個のブロック画像の1フレーム前の局所特徴量、「2、5、8」は、処理対象のピクセルを含むブロック画像の右側の縦方向の3個のブロック画像の1フレーム前の局所特徴量、「0、3、6」は、処理対象のピクセルを含むブロック画像の左側の縦方向の3個のブロック画像の1フレーム前の局所特徴量を表す。
【0080】
なお、本実施形態の場合、補間処理で用いられる9個のブロック画像の1フレーム前の局所特徴量のみを先読みするため、水平ブランキング期間において、縦方向のn個のブロック画像の局所特徴量をブロックレジスタ40のm個のレジスタ群の全てに書き込み、シフトしない。しかし、より多くのブロック画像の局所特徴量を先読みする場合、縦方向の複数個のブロック画像の局所特徴量をブロックレジスタ40の複数個のレジスタ群に書き込んだ後、さらにシフトする場合もあり得る。
【0081】
続いて、補間回路42には、1ブロック時間毎に、ブロックレジスタ40からt個のブロック画像の1フレーム前の局所特徴量が入力され、画像アドレス生成回路12から現フレームのHDR画像のピクセルのアドレスx,yが入力される。
補間回路42は、HDR画像のピクセルのアドレスx,yに基づいて、1ブロック時間毎に、ブロックレジスタ40から同時に出力される、補間処理で用いられるt個のブロック画像の局所特徴量の間を補間してHDR画像のピクセルの局所特徴量を算出する。
【0082】
本実施形態の場合、9個のブロック画像の局所特徴量を用いて補間処理が行われる。補間の方法は特に限定されないが、例えば処理対象のピクセルを含むブロック画像およびその左右の2個のブロック画像からなる横方向の3個のブロック画像の局所特徴量の間を補間し、同様にその1ブロックライン時間前および1ブロックライン時間後の横方向の3個のブロック画像の間の局所特徴量の間をそれぞれ補間する。また、処理対象のピクセルを含むブロック画像およびその上下の2個のブロック画像からなる縦方向の3個のブロック画像の局所特徴量の間を補間し、同様にその左側および右側の縦方向の3個のブロック画像の間の局所特徴量の間をそれぞれ補間する。
【0083】
なお、9個のブロック画像の局所特徴量の全てを用いて補間処理を行ってもよいし、あるいは、処理対象のピクセルを含むブロック画像およびその周囲の1以上のブロック画像の局所特徴量を用いて補間処理を行ってもよい。
【0084】
以下、補間処理について一例を挙げて説明する。
【0085】
本実施形態の場合、図9に示すように、ブロック画像のサイズ情報をもとに、横方向および縦方向の中央位置においてブロック画像を分割することにより、ブロック画像を4分割した第I〜IV象限について、それぞれ異なる補間処理が行われる。
【0086】
補間処理で用いられる基本演算式は以下の通りである。
Interpolate(a, b, r, w)=(a*(w-r)+b*r)/w
(r>w/2)の場合には、以下の演算式が用いられる。
Interpolate3(a, b, c, r, w)=Interpolate(b, c, r-w/2, w)
(r≦w/2)の場合には、以下の演算式が用いられる。
Interpolate3(a, b, c, r, w)=Interpolate(a, b, r+w/2, w)
ここで、a、b、cは、処理対象のピクセルの位置により算出される重み付け係数であり、隣接するブロック画像の補間値を調整する。rはブロック画像における処理対象のピクセルのブロックアドレスrx,ryであり、wはブロック画像における最大のブロックアドレスwx,wyである。InterpolateおよびInterpolate3は、補間処理を行う関数を表す。
【0087】
第I象限(rx>wx/2, ry≦wy/2)
Step1:補間値=Interpolate3(Interpolate(block[1], block[2], rx-wx/2, wx), Interpolate(block[4], block[5], rx-wx/2, wx), Interpolate(block[7], block[8], rx-wx/2, wx), ry, wy)
Step2:補間値=Interpolate(Interpolate(block[1], block[2], rx-wx/2, wx), Interpolate(block[4], block[5], rx-wx/2, wx), ry+wy/2, wy)
Step3:補間値=(Interpolate(block[1], block[2], rx-wx/2, wx)*(wy-(ry+wy/2))+Interpolate(block[4], block[5], rx-wx/2, wx)*(ry+wy/2))/wy
Step4:補間値=((block[1]*(wx-(rx-wx/2))+block[2]*(rx-wx/2))/wx)*(wy-(ry+wy/2))+((block[4]*(wx-(rx-wx/2))+block[5]*(rx-wx/2))/wx)*(ry+wy/2))/wy
すなわち、第I象限において、ブロック画像における最大のブロックアドレスwx,wy、つまり、ブロック画像のサイズ情報に基づいて、ブロック画像における処理対象のピクセルのブロックアドレスrx,ry、つまり、ブロック画像内における処理対象のピクセルの位置情報により算出される重みづけ係数と、隣接するブロック画像の局所特徴量とを演算することにより、処理対象のピクセルの補間値を算出する。
【0088】
第II象限(rx≦wx/2, ry≦wy/2)
Step1:補間値=Interpolate3(Interpolate(block[0], block[1], rx+wx/2, wx), Interpolate(block[3], block[4], rx+wx/2, wx), Interpolate(block[6], block[7], rx+wx/2, wx), ry, wy)
Step2:補間値=Interpolate(Interpolate(block[0], block[1], rx+wx/2, wx), Interpolate(block[3], block[4], rx+wx/2, wx), ry+wy/2, wy)
【0089】
第III象限(rx≦wx/2, ry>wy/2)
Step1:補間値=Interpolate3(Interpolate(block[0], block[1], rx+wx/2, wx), Interpolate(block[3], block[4], rx+wx/2, wx), Interpolate(block[6], block[7], rx+wx/2, wx), ry, wy)
Step2:補間値=Interpolate(Interpolate(block[3], block[4], rx+wx/2, wx), Interpolate(block[6], block[7], rx+wx/2, wx), ry-wy/2, wy)
【0090】
第IV象限(rx>wx/2, ry>wy/2)
Step1:補間値=Interpolate3(Interpolate(block[1], block[2], rx-wx/2, wx), Interpolate(block[4], block[5], rx-wx/2, wx), Interpolate(block[7], block[8], rx-wx/2, wx), ry, wy);
Step2:補間値=Interpolate(Interpolate(block[4], block[5], rx-wx/2, wx), Interpolate(block[7], block[8], rx-wx/2, wx), ry-wy/2, wy)
【0091】
補間値は、現フレームのHDR画像のピクセルの局所特徴量であり、block[0]〜block[8]は、t=9個の1フレーム前のブロック画像の局所特徴量である。なお、第II〜IV象限において、Step2からStep3,4への展開方法は第I象限の場合と同様であるから、その記載を省略している。
【0092】
次に、局所特徴量算出回路10の動作を説明する。
【0093】
局所特徴量算出回路10においては、画像アドレス生成回路12により、データイネーブル信号DEおよび垂直同期信号VSYNCに基づいて、現フレームのHDR画像における処理対象のピクセルのアドレスx,yが生成される。
【0094】
続いて、ブロックアドレス生成回路14により、現フレームのHDR画像のピクセルのアドレスx,yおよびブロック画像のサイズ情報に基づいて、現フレームのHDR画像における処理対象のピクセルを含むブロック画像のインデックスqx,qyおよびブロックアドレスrx,ryが生成される。
【0095】
また、水平ブランキングカウント回路16により、データイネーブル信号DEに基づいて、水平ブランキング期間の開始タイミングからピクセルクロックP_Clockをカウントした水平ブランキングカウント値hblank_countが出力される。
垂直ブランキングカウント回路18により、垂直同期信号VSYNCに基づいて、垂直ブランキング期間の開始タイミングからピクセルクロックP_Clockをカウントした垂直ブランキングカウント値vblank_countが出力される。
【0096】
続いて、マルチプレクサ20により、垂直同期信号VSYNCに基づいて、水平ブランキングカウント値hblank_countと垂直ブランキングカウント値vblank_countとが切り替えられ、垂直ブランキング期間において、ブランキングカウント値blank_countとして垂直ブランキングカウント値vblank_countが出力され、水平ブランキング期間において、ブランキングカウント値blank_countとして水平ブランキングカウント値hblank_countが出力される。
【0097】
続いて、周期カウンタ22により、ブランキングカウント値blank_countが動作する期間において、補間処理で用いられるブロック画像の縦方向の数に同期して、周期カウント値prx=0、1、2が繰り返し出力される。
【0098】
また、ライトアドレス生成回路24により、水平ブランキングカウント値hblank_count、垂直ブランキングカウント値vblank_countおよびブロック画像の縦方向のインデックスqyに基づいて、バッファ36のライトアドレスwaddrが生成される。
リードアドレス生成回路26により、水平ブランキングカウント値hblank_countおよび垂直ブランキングカウント値vblank_countに基づいて、バッファ36のリードアドレスraddrが生成される。
【0099】
一方、ブロック単位特徴量算出回路28により、現フレームのHDR画像における処理対象のピクセルを含むブロックラインに含まれるM=100個のブロック画像の各々について、ブロック画像の全てのピクセルのデータおよびブロック画像のサイズ情報に基づいて、ブロック画像の局所特徴量として、ブロック画像の全てのピクセルのデータの例えば平均値が算出される。
【0100】
続いて、ブロック単位特徴量算出回路28から同時に出力される、現フレームのHDR画像における処理対象のピクセルを含むブロックラインに含まれるM=100個のブロック画像の局所特徴量が、一時書き込みレジスタ30に保持される。
【0101】
ここで、局所特徴量算出回路10においては、1フレーム前のHDR画像のブロック画像の局所特徴量のバッファ36からの読み出し、および、現フレームのHDR画像のブロック画像の局所特徴量のバッファ36への書き込みが順次行われる。ここで、補間処理で用いられるブロック画像のサイズ、m*nに相当する数のレジスタを保有しているため、書き込みと読出しが同時に行われることはない。また、処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の局所特徴量は、水平ブランキング期間または垂直ブランキング期間においてバッファ36に書き込まれる。詳細は後述する。
【0102】
本実施形態の場合、補間処理において、m=3、n=3、t=9としているため、処理対象のピクセルを含むブロック画像およびその周囲の8個のブロック画像からなる9個のブロック画像の局所特徴量がバッファ36から順次読み出される。つまり、現フレームのHDR画像における処理対象のピクセルを含むブロックラインおよびその1ブロックライン時間前および1ブロックライン時間後のブロックラインのブロック画像の1フレーム前の局所特徴量がバッファ36から読み出される。
【0103】
現フレームのHDR画像における処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の局所特徴量を、その計算終了の直後にバッファ36に保存すると、補間処理で用いられる1フレーム前のHDR画像のブロック画像の局所特徴量が現フレームのHDR画像のブロック画像の局所特徴量で上書きされる。従って、補間処理での使用が終わるまでの間、1フレーム前のHDR画像のブロック画像の局所特徴量を現フレームのHDR画像のブロック画像の局所特徴量で上書きして消さないように、現フレームのHDR画像のブロック画像の局所特徴量は一時書き込みレジスタ30に保持される。
【0104】
図10に示すように、現フレームのHDR画像における処理対象のピクセルを含むブロック画像がブロック画像4である場合、図10に示される破線よりも上側にある現フレームのHDR画像のブロック画像0,1,2の局所特徴量の計算は既に終了している。また、ブロック画像3,4,5の局所特徴量は計算中であり、ブロック画像6,7,8の局所特徴量はまだ計算が開始されていない状態である。
【0105】
もしもブロック画像0,1,2の局所特徴量が、その計算終了の直後にバッファ36に上書きされると、現フレームのHDR画像における処理対象のピクセルの補間処理で用いられるブロック画像0〜8のうち、ブロック画像0,1,2の局所特徴量は現フレームのHDR画像のブロック画像の局所特徴量で上書きされることとなり、その他のブロック画像3,4,5およびブロック画像6,7,8の局所特徴量は1フレーム前のHDR画像のブロック画像の局所特徴量となってしまう。
【0106】
つまり、補間処理で用いられるブロック画像の局所特徴量として、異なるフレームのHDR画像のブロック画像の局所特徴量が混在することになる。異なるフレームのHDR画像の局所特徴量が混在した状態で補間処理を行なうのは問題があるため、この問題を回避するために、現フレームのHDR画像の計算済みのブロック画像0,1,2の局所特徴量は、一時書き込みレジスタ30に一定のブロックライン時間保持される。
【0107】
従って、処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の局所特徴量は、そのブロックラインに含まれる最後のラインの後ろの水平ブランキング期間においてバッファ36に書き込むことができず、処理対象のピクセルを含むブロックラインの次のブロックラインに含まれる最後のラインの後ろの水平ブランキング期間以降の水平ブランキング期間または垂直ブランキング期間においてバッファ36に書き込む必要がある。
【0108】
一時書き込みレジスタ30においては、処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の局所特徴量が第1のレジスタ群54に保持され、次のブロックラインのタイミングで第1のレジスタ群54の出力が第2のレジスタ群56にシフトされる。これにより、一時書き込みレジスタ30に保持された複数のブロック画像の局所特徴量は、2ブロックライン時間遅延されて出力される。
【0109】
なお、補間処理で用いられる周辺のブロック画像の数が増えると、一時書き込みレジスタ30の段数、つまり、現フレームのHDR画像のブロック画像の局所特徴量を保持しておく時間も増える。例えば、補間処理において縦方向のn=5個および横方向のm=5個からなるt=25個のブロック画像の局所特徴量を用いる場合、一時書き込みレジスタ30の段数は、縦方向の3個および横方向の3個のブロック画像の場合よりも横方向に2段増え、現フレームのHDR画像のブロック画像の局所特徴量は4ブロックライン時間保持される。
【0110】
続いて、マルチプレクサ32により、ブランキングカウント値blank_countに応じて、一時書き込みレジスタ30から同時に出力されるM=100個のブロック画像の局所特徴量が順次出力される。
【0111】
続いて、フィルタ回路34により、マルチプレクサ32から順次出力される、処理対象のピクセルを含むブロック画像およびその周囲のブロック画像の局所特徴量を用いてフィルタリング処理が行われる。
【0112】
続いて、フィルタ回路34から出力される、現フレームのHDR画像における処理対象のピクセルを含むブロックラインのM=100個のブロック画像の局所特徴量が、ライトイネーブル信号wenに同期して、ライトアドレスwaddrにより指定されるバッファ36のアドレスに順次書き込まれる。
【0113】
一方、バッファ36に保持されている、1フレーム前のHDR画像に含まれる複数のブロック画像の局所特徴量の中から、次の処理対象のピクセルを含むブロック画像に対応する、補間処理で用いられる複数のブロック画像の局所特徴量が、リードイネーブル信号renに同期して、リードアドレスraddrにより指定されるバッファ36のアドレスから順次読み出される。
【0114】
ここで、現フレームのHDR画像の最初のブロックラインから、最後のブロックラインの一定のブロックライン時間前までの処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の局所特徴量は、一定のブロックライン時間遅延されたブロックラインに含まれる最後のラインの後ろの水平ブランキング期間において、一定のブロックライン時間遅延されたブロックラインの次のブロックラインに含まれる左端のブロック画像に対応する、現フレームのHDR画像における処理対象のピクセルの補間処理で用いられる複数のブロック画像の1フレーム前の局所特徴量がバッファ36から読み出された後に、バッファ36に書き込まれる。
【0115】
本実施形態の場合、図8に示すように、処理対象のピクセルを含むブロックラインに含まれるM=100個のブロック画像の局所特徴量は、2ブロックライン時間遅延されたブロックラインに含まれる最後のラインの後ろの水平ブランキング期間において、その次のブロックラインの左端のブロック画像に対応する、補間処理で用いられる6個のブロック画像0、3、6および1、4、7の局所特徴量がバッファ36から読み出された後、バッファ36に書き込まれる例を示しているが、ブロックライン時間の遅延量は、これに限られず、垂直ブランキング期間にすべての処理が完了すればよい。
【0116】
本例では、6個のブロック画像0、3、6およびブロック画像1、4、7の局所特徴量の読み出しは、ブロックラインに含まれるライン毎に、水平ブランキング期間において、その開始タイミングから6ピクセルクロックP_Clockで行われる。また、M=100個のブロック画像の局所特徴量の書き込みは、6個のブロック画像0、3、6および1、4、7の局所特徴量の読み出しが完了した後、M=100ピクセルクロックP_Clockで行われる。
なお、図8は、1ブロックラインに4ラインが含まれる場合の例である。ブロックラインに含まれる最後のラインに対応するブロック画像の局所特徴量の読み出しのタイミングのみが記載さている箇所も4ラインの各々について同様に読み出しが行われる。
【0117】
また、最後のブロックラインから一定のブロックライン時間前までの処理対象のピクセルを含むブロックラインに含まれる複数のブロック画像の局所特徴量は、一定のブロックライン時間遅延された垂直ブランキング期間において、バッファ36に書き込まれた後、次のフレームのHDR画像の左上のブロック画像に対応する、補間処理で用いられる複数のブロック画像の局所特徴量がバッファ36から読み出される。
【0118】
本実施形態の場合、図8に示すように、処理対象のピクセルを含むブロックラインに含まれるM=100個のブロック画像の局所特徴量が、1ブロックライン時間遅延された垂直ブランキング期間において、バッファ36に書き込まれた後、次のフレームのHDR画像の左上のブロック画像に対応する、補間処理で用いられる4個のブロック画像3、6および4、7の局所特徴量がバッファ36から読み出される例である。
【0119】
M=100個のブロック画像の局所特徴量の書き込みは、垂直ブランキング期間において、その開始タイミングから100ピクセルクロックP_Clockで行われる。また、4個のブロック画像3、6および4、7の局所特徴量の読み出しは、100個のブロック画像の局所特徴量の書き込みが完了した後、ブロックラインに含まれるライン毎に、4ピクセルクロックP_Clockで行われる。
【0120】
続いて、バッファ36から順次読み出される、補間処理で用いられる9個のブロック画像のうちの処理対象のピクセルを含む縦方向の3個のブロック画像の局所特徴量が、一時読み出しレジスタ38の3個のレジスタに順次保持される。
処理対象のピクセルを含む縦方向の3個のブロック画像の局所特徴量が一時読み出しレジスタ38に保持された後、この3個のブロック画像の局所特徴量は、一時読み出しレジスタ38から同時に出力される。
【0121】
続いて、一時読み出しレジスタ38から同時に出力される、処理対象のピクセルを含む縦方向の3個のブロック画像の局所特徴量が、次のブロック画像の開始タイミングにおいて、ブロックレジスタ40の3個のレジスタ群に順次シフトされる。
処理対象のピクセルを含むブロック画像に対応する、補間処理で用いられる9個のブロック画像の局所特徴量がブロックレジスタ40に保持された後、この9個のブロック画像の局所特徴量は、ブロックレジスタ40から同時に出力される。
【0122】
ここで、次の処理対象のピクセルを含むブロック画像がブロックラインの左端のブロック画像である場合、図8に示すように、ブロックラインに含まれるライン毎に、次の処理対象のピクセルを含むブロックラインの前の水平ブランキング期間において、左端のブロック画像を含む縦方向の3個(n個)のブロック画像の局所特徴量がバッファ36から順次読み出されて一時読み出しレジスタ38に順次保持される。
続いて、一時読み出しレジスタ38から同時に出力される、左端のブロック画像を含む縦方向の3個のブロック画像の局所特徴量がブロックレジスタ40の3個(m個)のレジスタ群62の全てに書き込まれる。
その後、左端のブロック画像の右側のブロック画像から、左端のブロック画像に対応する、補間処理で用いられる横方向の3個(m個)のブロック画像のうちの右側(右端)のブロック画像までのi個のブロック画像のうちのj番目(1≦j≦i)のブロック画像を含む縦方向の3個のブロック画像の局所特徴量がバッファ36から順次読み出されて一時読み出しレジスタ38に順次保持され、一時読み出しレジスタ38から同時に出力される、j番目のブロック画像を含む縦方向の3個のブロック画像の局所特徴量がブロックレジスタ40の3個のレジスタ群62に順次シフトされることが、i個のブロック画像のうちの1番目のブロック画像からi番目のブロック画像まで繰り返される。
【0123】
次の処理対象のピクセルを含むブロック画像がブロックラインの左端のブロック画像である場合、処理対象のピクセルを含むブロック画像に対応する9個のブロック画像のうちの左側の縦方向の3個のブロック画像は存在しないが、上記の処理により、存在しない左側の縦方向の3個のブロック画像の局所特徴量として、左端のブロック画像を含む縦方向の3個のブロック画像の局所特徴量が使用される。
【0124】
次の処理対象のピクセルを含むブロック画像がブロックラインの左端のブロック画像の右側のブロック画像から、ブロックラインの右端のブロック画像の(m−1)/2個前まで、本実施形態においては1個前までのブロック画像のいずれかである場合、ブロックラインに含まれるライン毎に、次の処理対象のピクセルを含むブロック画像の1つ前のブロック画像のタイミングにおいて、次の処理対象のピクセルを含むブロック画像に対応する横方向の3個のブロック画像のうちの右側(右端)の縦方向の3個のブロック画像の局所特徴量がバッファ36から順次読み出されて一時読み出しレジスタ38に順次保持される。
そして、処理対象のピクセルが次の処理対象のピクセルを含むブロック画像に移動するタイミングで、一時読み出しレジスタ38から同時に出力される、横方向の3個のブロック画像のうちの右側の縦方向の3個のブロック画像の局所特徴量がブロックレジスタ40の3個のレジスタ群にシフトされる。
【0125】
次の処理対象のピクセルを含むブロック画像がブロックラインの右端のブロック画像から、ブロックラインの右端のブロック画像の(m−1)/2個のブロック画像のいずれかである場合、つまり、本実施形態においてはブロックラインの右端のブロック画像である場合、ブロックラインに含まれるライン毎に、次の処理対象のピクセルを含むブロック画像の1つ前のブロック画像のタイミングにおいて、次の処理対象のピクセルを含むブロック画像に対応する横方向の3個のブロック画像のうちの右側(右端)の縦方向の3個のブロック画像の局所特徴量がバッファから読み出されることなく、処理対象のピクセルが次の処理対象のピクセルを含むブロック画像に移動するタイミングで、一時読み出しレジスタ38から同時に出力される縦方向の3個のブロック画像の局所特徴量がブロックレジスタの3個のレジスタ群にシフトされる。
【0126】
例えば、処理対象のピクセルを含むブロック画像がブロックラインの右端のブロック画像である場合、処理対象のピクセルを含むブロック画像に対応する9個のブロック画像のうちの右側の縦方向の3個のブロック画像は存在しないが、上記の処理により、存在しない右側の縦方向の3個のブロック画像の局所特徴量として、右端のブロック画像を含む縦方向の3個のブロック画像の局所特徴量が使用される。
ブロックラインの右端のブロック画像から、ブロックラインの右端のブロック画像の(m−1)/2個のブロック画像のうちの右端のブロック画像以外のブロック画像についても同様である。
【0127】
処理対象のピクセルを含むブロック画像がHDR画像の左上、右上、左下および右下のブロック画像である場合も同様に処理される。
【0128】
そして、補間回路42により、ブロックレジスタ40から同時に出力される、補間処理で用いられるt=9個の1フレーム前のHDR画像のブロック画像の局所特徴量の間が補間されて現フレームのHDR画像のピクセルの局所特徴量が算出される。
【0129】
局所特徴量算出回路10においては、HDR画像の全てのピクセルの局所特徴量ではなく、HDR画像における複数のブロック画像の局所特徴量をバッファ36に保持するため、局所特徴量を保持するために必要なバッファ36のメモリ容量を大幅に削減することができる。従って、回路規模を大幅に削減し、消費電力およびコストを大幅に低減することができる。
【0130】
また、補間処理で用いられる縦方向のn個のブロック画像の局所特徴量をブロックレジスタ40のm個のレジスタ群62に順次シフトし、t個のブロック画像の局所特徴量をブロックレジスタ40から同時に出力することにより、隣り合う2つのブロック画像において、(m−1)個のレジスタ群62に保持される局所特徴量を共通に使用して、バッファ36からブロック画像の局所特徴量を読み出す回数を大幅に減らし、かつ計算時間を大幅に短縮することができる。
【0131】
なお、例えばバッファ36のライトアドレスおよびリードアドレス等は、専用のハードウェアに限らず、CPU(Central Processing Unit)等のマイクロプロセッサを利用して生成することもできる。
【0132】
図11は、本発明に係る局所特徴量算出回路の構成を表す別の実施形態のブロック図である。図11に示す局所特徴量算出回路11は、図1に示す局所特徴量算出回路10において、ライトアドレス生成回路24およびリードアドレス生成回路26の代わりに、CPU64を備えている。
【0133】
つまり、局所特徴量算出回路11は、画像アドレス生成回路12と、ブロックアドレス生成回路14と、水平ブランキングカウント回路16と、垂直ブランキングカウント回路18と、マルチプレクサ20と、周期カウンタ22と、ブロック単位特徴量算出回路28と、一時書き込みレジスタ30と、マルチプレクサ32と、フィルタ回路34と、バッファ36と、一時読み出しレジスタ38と、ブロックレジスタ40と、補間回路42と、CPU64と、を備えている。
【0134】
以下、CPU64について説明し、これ以外の他の構成要素の繰り返しの説明は省略する。
【0135】
CPU64には、画像アドレス生成回路12から出力されるHDR画像のピクセルのアドレスx,y、ブロックアドレス生成回路14から出力されるブロック画像の縦方向のインデックスqy、水平ブランキングカウント回路16から出力される水平ブランキングカウント値hblank_count、垂直ブランキングカウント回路18から出力される垂直ブランキングカウント値vblank_count、および、マルチプレクサ20から出力されるブランキングカウント値blank_countが入力される。
【0136】
CPU64は、HDR画像のピクセルのアドレスx,y、ブロック画像の縦方向のインデックスqy、水平ブランキングカウント値hblank_countおよび垂直ブランキングカウント値vblank_countに基づいて、バッファ36のライトアドレスwaddr、ライトイネーブル信号wen、リードアドレスraddrおよびリードイネーブル信号renを生成する。また、CPU64は、ブランキングカウント値blank_countおよびブロック画像のサイズ情報等を出力する。
【0137】
このように、CPU64を使用することにより、バッファ36のライトアドレスwaddrおよびリードアドレスraddr等の生成の他、各部位の制御をしたり、他の回路とCPU64を共通に使用したりして、より柔軟に設計を行うことができる。一方、ブロック単位特徴量算出回路28、一時書き込みレジスタ30、一時読み出しレジスタ38およびブロックレジスタ40等は、複数のデータを同時に処理して同時に出力する必要があるため、専用のハードウェアで構成する方が望ましい。
【0138】
本発明の局所特徴量算出回路は、例えばブロック画像の局所特徴量を用いてトーンマッピングを行うトーンマッピング回路において好適に利用可能であるが、トーンマッピング回路に限らず、ブロック画像の局所特徴量を用いる各種の回路においても利用可能である。また、本発明の局所特徴量算出回路は、HDR画像に限らず、各種の画像に対して適用可能である。
【0139】
以上、本発明について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【符号の説明】
【0140】
10、11 局所特徴量算出回路
12 画像アドレス生成回路
14 ブロックアドレス生成回路
16 水平ブランキングカウント回路
18 垂直ブランキングカウント回路
20 マルチプレクサ
22 周期カウンタ
24 ライトアドレス生成回路
26 リードアドレス生成回路
28 ブロック単位特徴量算出回路
30 一時書き込みレジスタ
32 マルチプレクサ
34 フィルタ回路
36 バッファ
38 一時読み出しレジスタ
40 ブロックレジスタ
42 補間回路
44 累積加算器
46 平均値算出回路
48 加算器
50、52、58、60 レジスタ
54、56、62 レジスタ群
64 CPU
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11