JP2004056305A - Motion vector detection method, motion vector detection device, and program - Google Patents
Motion vector detection method, motion vector detection device, and program Download PDFInfo
- Publication number
- JP2004056305A JP2004056305A JP2002208710A JP2002208710A JP2004056305A JP 2004056305 A JP2004056305 A JP 2004056305A JP 2002208710 A JP2002208710 A JP 2002208710A JP 2002208710 A JP2002208710 A JP 2002208710A JP 2004056305 A JP2004056305 A JP 2004056305A
- Authority
- JP
- Japan
- Prior art keywords
- image
- motion vector
- activity
- approximate
- reduced resolution
- 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
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【課題】本発明は、画像階層化及び動きベクトル検出における演算量を削減すると共に、高い動きベクトル検出精度を得ることができる動きベクトル検出方法を提供する。
【解決手段】本発明の動きベクトル検出方法は、第1画像及び第2画像から2組の近似画像群及びアクティビティデータ群を算出する階層化画像の算出において、動きベクトル検出精度の向上に寄与しない高周波成分を算出するための計算を省略して演算量を削減し、ブロックマッチングにおいては動きベクトル検出精度向上に寄与しないアクティビティデータに対するブロックマッチングを省略することにより演算量を削減することにより、全体的な計算量を削減する。
【選択図】 なしAn object of the present invention is to provide a motion vector detection method capable of reducing a calculation amount in image layering and motion vector detection and obtaining high motion vector detection accuracy.
A motion vector detection method according to the present invention does not contribute to improvement of motion vector detection accuracy in calculating a hierarchical image in which two sets of approximate image groups and activity data groups are calculated from a first image and a second image. The calculation amount is reduced by omitting the calculation for calculating the high-frequency component. In the block matching, the calculation amount is reduced by omitting the block matching for the activity data that does not contribute to the improvement of the motion vector detection accuracy. Reduce computational complexity.
[Selection diagram] None
Description
【0001】
【発明の属する技術分野】本発明は、動きベクトル検出方法及び動きベクトル検出装置であって、特に時間的に異なる2つの画像データをそれぞれ階層化してからブロックマッチングを行い、動きベクトルを検出する技術に関する。
【0002】
【従来の技術】動画像信号の高能率符号化方式の国際規格の1つであるMPEG2(Moving Picture Experts Group 2)は、空間方向の冗長度削減に直交変換である離散コサイン変換を用い、時間方向の冗長度削減にフレーム間予測・動き補償を用いるハイブリッド符号化に分類される方法である。
【0003】
フレーム間予測には、ブロックマッチング法を用いる。
ブロックマッチング法では、第1画像及び第1画像と時間的に異なる画像を表す第2画像について、それぞれの画像を小さな矩形領域であるブロックに分割する。第1画像上で注目する注目ブロックと、第2画像上で当該注目ブロックと同位置のブロックを±m×±n画素の探索範囲内で水平方向にx画素,垂直方向にy画素だけずらしたしたシフトブロックとの類似度を、所定の評価関数にて評価し、評価値が最小となるシフト量v=(x,y)を動きベクトルとするものである。
【0004】
評価関数としては、絶対値差分がよく用いられる。
上記のブロックマッチング法では、探索範囲内をくまなく探索し絶対値差分を求める必要があるため、演算量が大きくなり、装置自体が大型化したり演算時間が長くなる問題がある。
上記問題を解決する手法の一つに階層型動きベクトル検出方法がある。
【0005】
これは第1画像及び第2画像の各々について低域通過処理を施して低解像度の近似画像(以下、階層1と呼ぶ)を作成し、順次同様の低域通過処理を適用してより高い階層の近似画像(階層2、階層3、・・・)を作成する画像階層化ステップと、下位階層において、上位階層で検出した動きベクトル候補の周囲の小探索領域で動きベクトル候補を検出し、順次下位階層の動きベクトル候補を求めていき、最終的に原画像の動きベクトルを検出する動きベクトル検出ステップからなる。
【0006】
この方法によると大幅な演算量削減が望める一方、低域通過処理により上位階層になる程画像の特徴量である高周波成分が除去されるため、動きベクトル検出の精度が大きく低下する問題があった。
この問題に対し、特開平7−222157では低域通過処理によって選別される画像の高周波成分をアクティビティ画像(アクティビティデータとも言う)としてブロックマッチングに用いて検出精度を向上させる階層型動きベクトル検出方法が提案されており、上記低域通過処理については平均値化処理を用いる方法が提案されている。
【0007】
【発明が解決しようとする課題】しかしながら従来の方法では、精度の高い動きベクトル検出を行うためには、アクティビティデータの算出に大きな演算量が必要である。さらに、画像の高解像度化、高画質化により単位時間あたりに実行すべき演算量は増加する一方であり、LSIで演算を実現させる場合に消費電力、発熱量の増加につながっている。
【0008】
上記の問題に鑑み、本発明は、画像階層化ステップ及び動きベクトル検出ステップにおける演算量を削減すると共に、動きベクトル検出精度を従来程度の水準に維持できる動きベクトル検出方法を提供することを目的とする。
【0009】
【課題を解決するための手段】
上記課題を解決するため、本発明の動きベクトル検出方法は、原解像度でそれぞれ表された第1画像と第2画像との間の動きベクトルを検出する動きベクトル検出方法であって、当該第1画像及び当該第2画像に含まれる低周波成分を当該原解像度よりも低い縮小解像度でそれぞれ表す第1近似画像及び第2近似画像、及び当該第1画像及び第2画像に含まれる高周波成分を当該縮小解像度でそれぞれ表す第1アクティビティ画像及び第2アクティビティ画像を算出する算出ステップと、当該第1アクティビティ画像により表された高周波成分の総量が所定閾値以上であるか否かを判断する判断ステップと、当該閾値以上であると判断された場合、当該第1近似画像と当該第2近似画像との比較結果、及び当該第1アクティビティ画像と当該第2アクティビティ画像との比較結果の双方を用いて動きベクトル候補を選出し、その他の場合、当該第1近似画像と当該第2近似画像との比較結果のみを用いて動きベクトル候補を選出する選出ステップと、当該動きベクトル候補を用いて動きベクトルを検出する検出ステップとを含む。
【0010】
【発明の実施の形態】
発明の実施の形態における動きベクトル検出装置について図面を参照しながら説明する。
1. 全体構成
図1は、本実施の形態における動きベクトル検出装置10の全体構成を示すブロック図である。動きベクトル検出装置10は、第1画像メモリ101、第2画像メモリ102、算出手段103、階層化第1画像メモリ104、階層化第2画像メモリ105、判断手段106及び動きベクトル検出手段107から構成される。
【0011】
動きベクトル検出装置10は、具体的にはプロセッサ、プログラムを記憶しているROM(Read Only Memory)、作業用のRAM(Random Access Memory)等のソフトウェア及びハードウェアにより実現される。各構成要素の機能は、プロセッサがROMに記憶されているプログラムを実行することにより実現される。構成要素間におけるデータの受け渡しは、RAM等のハードウェアを介して行われる。
【0012】
第1画像メモリ101は、入力された第1画像を保持する。
第2画像メモリ102は、入力された第2画像を保持する。
算出手段103は、第1画像メモリ101に保持している第1画像及び第2画像メモリ102に保持している第2画像を、それぞれ階層化第1画像メモリ104及び階層化第2画像メモリ105に読み出し、当該読み出した第1画像及び第2画像のそれぞれに含まれる低周波成分を当該各画像よりも低くかつ段階的に低下する複数の解像度をもって示す2組の近似画像群、及び当該第1画像及び第2画像のそれぞれに含まれる高周波成分を当該複数の解像度をもって示す2組のアクティビティデータ群を算出する。
【0013】
階層化第1画像メモリ104は、算出手段103が第1画像から算出した前記近似画像群及びアクティビティデータ群を保持する。
階層化第2画像メモリ105は、算出手段103が第2画像から算出した前記近似画像群及びアクティビティデータ群を保持する。
判断手段106は、算出手段103が第1画像から算出した各階層のアクティビティデータの重要度を評価し、第1画像及び第2画像の各階層のアクティビティデータを動きベクトル検出に用いるか否かを判断する。
【0014】
動きベクトル検出手段107は、低解像度の階層で選出した動きベクトル候補を順次高解像度の階層の動きベクトル候補の選出に利用し、動きベクトルを検出する。
2.データ構造
図2は、算出手段103が算出する各データの関係を模式的に示した図である。
【0015】
200及び201は、入力された原画像である第1画像と第2画像を示す。
202及び203は、第1画像200から算出した低域通過成分である近似画像及び高域通過成分を用いて生成するアクティビティデータを示し、204及び205は、第2画像201から算出した近似画像及びアクティビティデータを示す。
【0016】
前記202、203、204及び205は、階層1に属する。
同様に206及び207は、前記近似画像202から算出した近似画像及びアクティビティデータを示し、208及び209は、前記近似画像204から算出した近似画像及びアクティビティデータを示す。
前記206、207、208及び209は、階層2に属する。
【0017】
210は、202及び206からなる近似画像群を示し、211は203及び207からなるアクティビティデータ群を示す。
同様に212は204及び208からなる近似画像群を示し、213は205及び209からなるアクティビティデータ群を示す。
ここで表記について説明する。
【0018】
第1画像及び第2画像を、原画像においてブロックマッチングを行う単位であるブロック(16画素×16画素)に区分し、水平方向にi番目、垂直方向にj番目の位置の第1画像のブロックをBLK(i,j)、第2画像のブロックをrBLK(i,j)と表記する。
同様に、第1画像から算出した階層nの近似画像におけるブロックである近似画像ブロックをapxBLKn(i,j)と表記し、階層nのアクティビティデータにおけるブロックであるアクティビティブロックをactBLKn(i,j)と表記する。
また第2画像から算出した階層nの近似画像ブロックをrapxBLKn(i,j)と表記し、第2画像から算出した階層nでのアクティビティブロックをractBLKn(i,j)と表記する。
【0019】
apxBLKn(i,j)、rapxBLKn(i,j)、actBLKn(i,j)、ractBLKn(i,j)の各ブロックの画素数は、BLK(i,j)及びrBLK(i,j)の画素数に比べ、水平方向、垂直方向にそれぞれ1/(2のn乗)となる。
次に、図3を用い、原画像から近似画像群及びアクティビティデータ群を算出する画像階層化処理について説明する。
【0020】
図3は、画像階層化処理時の階層化第1画像メモリ104及び階層化第2画像105の内容を示している。
ここでは、第1画像について階層化する例を説明し、第2画像については説明が重複するので、説明を割愛する。
階層化第1画像メモリ104の内容は、画像階層化処理が進むに従い、図3の300から301、302へと変化する。
【0021】
300は、算出手段103が、第1画像を第1画像メモリ102から階層化第1画像メモリ104へ読み出した時の階層化第1画像メモリ104の内容である。
301は、300から階層1の近似画像及びアクティビティデータを算出した時の階層化第1画像メモリ104の内容である。
【0022】
302は、階層1の近似画像から、階層2の近似画像及びアクティビティデータを算出した時の階層化第1画像メモリ104の内容である。
図3中のam、bm、cm、dm(mは任意の自然数)は、それぞれ原画像を構成する画素データを表す。
図3中のapxnm(m、nは共に自然数)は近似画像を構成する画素データを表し、actnm(m、nは共に自然数)はアクティビティデータを構成するデータを表す。
【0023】
また、m、nは任意の自然数であり、nは各データが属する階層を示している。
算出手段103は、300を2画素×2画素の小画素領域に区分し、全ての小画素領域について小画素領域毎に定位置計算のウェーブレット変換を行い、階層1の近似画像及びアクティビティデータを得る。
【0024】
定位置計算のウェーブレット変換の詳細は後述する。
303は、画素データa1、b1、c1、d1を持つ2画素×2画素の小画素領域である。
算出手段103が、小画素領域303に対し定位置計算のウェーブレット変換を行った結果、303の内容が、近似画像を表す画素データapx11とアクティビティデータを表すデータact11からなる304に示す内容になる。
【0025】
ここで、304中にapx11が2個含まれるが、第1のapx11は、動きベクトル検出の際に使用する。
第2のapx11は、階層2の近似画像及びアクティビティデータを算出する演算に使用し、当該演算実施中に値が書き換えられる。
300内の全ての小画素領域に対しウェーブレット変換を行った結果、階層化第1画像メモリ104の内容が301で表す内容となる。
【0026】
301について、apx1mで示した画素の集まりが階層1の近似画像を構成し、図2中202に対応している。
またact1mで示したデータの集まりが階層1のアクティビティデータを構成し、図2中203に対応している。
以上のように算出した階層1の近似画像及びアクティビティデータの画素数は、原画像の画素数に比べ水平方向、垂直方向にそれぞれ1/2となる。
【0027】
更に、階層1の近似画像を用い、階層2の近似画像及び階層2のアクティビティデータを算出する。
301内の近似画像を表す画素データを2画素×2画素の小画素領域に区分し、全ての小画素領域について小画素領域毎にウェーブレット変換を行い階層2の近似画像及びアクティビティデータを得る。
【0028】
図3中301で斜線を施した、階層1の近似画像を表すapx11、apx12、apx13、apx14を2画素×2画素の小画素領域とし、当該小画素領域に対し、定位置計算のウェーブレット変換を行った結果、図3中302で斜線を施した階層2の近似画像を表す画素データであるapx21及び階層2のアクティビティデータを表すデータであるact21を得る。
【0029】
301内の全ての小画素領域に対しウェーブレット変換を行った結果、階層化第1画像メモリ104の内容は、302で表す内容となる。
302について、apx2mで示した画素の集まりが階層2の近似画像を構成し、図2中206に対応している。
またact2mで示したデータの集まりが階層2のアクティビティデータを構成し、図2中207に対応している。
【0030】
以上のように算出した階層2の近似画像及びアクティビティデータの画素数は、階層1の近似画像及びアクティビティデータの画素数に比べ水平方向、垂直方向にそれぞれ1/2となる。
階層nの近似画像及びアクティビティデータの画素数は、原画像に比べ水平方向、垂直方向にそれぞれ1/(2のn乗)となる。
【0031】
3階層化を行った時の階層化第1画像メモリ104の内容である302内には、階層1の近似画像及びアクティビティデータを表すデータと、階層2の近似画像及びアクティビティデータを表すデータが混在する。
また第2画像についても、第1画像の場合と同様に階層化処理を行い、算出した近似画像群及びアクティビティデータ群を階層化第2画像メモリ105に保持する。
3. 処理
3.1 全体処理
図4は、動きベクトル検出装置10の全体処理の概略を示すフローチャートである。
【0032】
算出手段103が近似画像群及びアクティビティデータ群の算出処理であるステップS401を行い、判断手段106と動きベクトル検出手段107が、動きベクトル検出処理であるステップS402を行う。
3.2 近似画像群及びアクティビティデータ群の算出処理
ステップS401では、算出手段103が、第1画像メモリ101内の第1画像を階層化第1画像メモリ104に読み出し、また第2画像メモリ102内の第2画像を階層化第2画像メモリ105に読み出し、各々の画像に対しリフティング構成のウェーブレット変換を適用する。
【0033】
リフティング構成とは離散ウェーブレット変換を定位置計算で実行する構成法であり、メモリの使用量が少ない、アドレスのデコード処理が少ない等の利点がある。
詳細は、公知論文 W.Sweldens,The lifting scheme: A custom design construction ofbiorthogonal wavelets, J.Appl.Comput.Harmonic Analysis, 3 (1996)に記載されているため、ここでは説明を省略する。
3.2.1 Haarウェーブレット変換
ステップS401では、低域通過成分として平均値を、高域通過成分として偏差を算出するリフティング構成のHaarウェーブレット変換を用いる。
【0034】
図5は、2画素×2画素の小画素領域に対し、リフティング構成の2次元Haarウェーブレット変換を実行する例である。
階層化第1画像メモリ104及び階層化第2画像メモリ105内に読み出した第1画像及び第2画像のそれぞれを図3中303と同様の2画素×2画素からなる小画素領域に区分し、小画素領域毎に前記リフティング構成のウェーブレット変換を適用する。
【0035】
ここでは、画素データがそれぞれa,b,c,dである小画素領域に対し、リフティング構成のウェーブレット変換を適用する例について説明する。
図5の各行はメモリ領域内のデータに行う演算とその結果であり、上から下へ順次処理が進行していることを示し、各列は各メモリ領域に対応し、最右列には使用する演算の種類を示す。
【0036】
演算開始時、前記画素データaをメモリ領域Aに保持し,前記画素データb,c,dを、それぞれメモリ領域B、C、Dに保持している。
ここではメモリ領域Aについてのみ説明を行い、メモリ領域B、メモリ領域C,メモリ領域Dについては、メモリ領域Aについての説明と重複するので、説明を割愛する。
【0037】
図5中のメモリ領域Aの列501の各欄は、上下に区切っており、上半分502,504,506,508が実施する演算、下半分503、505、507、509が演算後のメモリ領域Aの内容を示す。
501について、S0からS3までの動作を順を追って説明する。
S0において、502では演算を行わず、503に示す初期データaをメモリ領域Aに格納する。
【0038】
S0からS1に移行する際、メモリ領域Aの内容aとメモリ領域Bの内容bを加算(A+B)する演算504を行い、メモリ領域Aの内容は505に示す演算結果a+bとなる。
S1からS2に移行する際、S1でのメモリ領域Aの内容であるa+bと、S1でのメモリ領域Cの内容であるc+dを加算(A+C)する演算506を行い、メモリ領域Aの内容は607に示す演算結果a+b+c+dとなる。
【0039】
S2からS3に移行する際、S2でのメモリ領域Aの内容に対し割算(シフト)演算508を行い、メモリ領域Aの内容は、509に示す演算結果(a+b+c+d)/4となる
S0からS3まで行った結果、メモリ領域Aには、低域通過成分であるLL成分の(a+b+c+d)/4が、同様にメモリ領域Bには、水平方向のエッジ強調成分であるHL成分である(b+d)/2−(a+c)/2が、メモリ領域Cには、垂直方向のエッジ強調成分であるLH成分である(c+d)/2−(a+b)/2が、メモリ領域Dには、水平垂直方向のエッジ強調成分であるHH成分である(d−c)−(b−a)が格納されている。
【0040】
ここで、LL成分が低域通過成分、LH、HL及びHH成分が高域通過成分である。
算出手段103では、さらに、アクティビティデータの算出に使用する高域通過成分のみを算出することにより、演算量を削減できる。
アクティビティデータの算出に使用する高域通過成分としては、アクティビティデータとしてノイズの影響を受けやすいHH成分は用いず、第1画像がフレーム画像の場合、水平方向のエッジ強調成分であるHL成分と垂直方向のエッジ強調成分であるLH成分との絶対値平均(|HL|+|LH|)/2を用い、フィールド画像である場合、水平方向に比べて垂直方向に帯域制限されているため、LH成分のみを用いる。
3.2.2 簡略化リフティングスキーム
アクティビティデータの算出に使用しない高域通過成分は算出不要であり、算出手段103は前記リフティング構成のウェーブレット変換における高域通過成分を算出する過程で、不要な演算を省略することによりリフティング構成を簡略化する(以下、簡略化リフティングスキームと呼ぶ)。
【0041】
図6は、アクティビティデータとして(|HL|+|LH|)/2を採用し、2次元Haarウェーブレット変換を行う簡略化リフティングスキームの例である。
アクティビティデータを(|HL|+|LH|)/2とする場合、HH成分を算出する必要がないため、最終的にHH成分が算出されるメモリ領域Dへの演算は省略し、全体の処理を簡略化する。
【0042】
図7は、アクティビティデータとしてLH成分を採用し、2次元Haarウェーブレット変換を行う簡略化リフティングスキームの例である。
この場合、HL成分、HH成分を算出する必要が無いため、省略可能な演算がさらに増え演算量の削減効果が大きくなる。
ここで、図6及び図7のどちらの場合にも近似値であるLL成分は、次の階層での定位置計算で書き換えられるが、この近似値は後段の動きベクトル検出手段107でのブロックマッチングにも用いるため、採用しない高域通過成分のメモリ領域Dにコピーしておく。
3.2.3 従来例との演算量比較
図12に、従来方式の画像階層化ステップを示す。
【0043】
従来方式の画像階層化ステップでは、小画素領域内のデータa,b,c,dにおいて、近似値として平均値Avg=(a+b+c+d)/4を使用し、アクティビティとしてAct=(|a−Avg|+|b−Avg|+|c−Avg|+|d−Avg|)/4を使用する。
従来方式を用いて小画素領域について近似画像及びアクティビティを算出するのに要する演算は、図12に示すように、加算3回、減算4回、絶対値加算3回、シフト演算(除算)2回となる。
【0044】
一方本発明の前記簡略化リフティングスキームを用いると、上記演算は、図6の場合、加算4回、減算3回、絶対値加算1回、シフト演算2回であり、従来方式に比べ、減算が加算に置き換わり、絶対値加算2回を削減できる。
また、図7の場合、加算3回、減算1回、絶対値加算0回、シフト演算2回であり、従来方式に比べ、減算3回、絶対値加算3回を削減できる。
3.2.4 第1及び第2階層化画像メモリにおける適用
図8は、ステップS401を詳細に説明するフローである。
【0045】
本実施例では、原画像から階層1の近似画像及びアクティビティデータを算出し、当該階層1の近似画像から階層2の近似画像及びアクティビティデータを算出する3階層化について説明する。
ステップS801では演算対象の階層nを0とし、ステップS802では階層数Nを3とする。
【0046】
ステップS803では、n>(N−1)を判定し、YESの場合は処理を終了し、NOの場合ステップS804に進む。
ステップS804では、階層nの原画像(n=0の場合)或いは近似画像(n≠0の場合)内の全ての小画素領域についてウェーブレット変換を行ったかどうか判定し、YESの場合ステップS806でn=n+1とし、ステップS803に進み、NOの場合、ステップS805に進み、演算を行っていない小画素領域についてウェーブレット変換を行う。
【0047】
ステップS805で行う小画素領域に対するウェーブレット変換については、前述した通りである。
3.3 動きベクトル検出処理
図4中ステップS402の動きベクトル検出処理の詳細を図9、10、11を用いて説明する。
【0048】
図9は、ステップS402の処理を詳細に説明したものである。
ここでは、図9において、原画像における水平方向1番目、垂直方向1番目の位置のブロックであるBLK(1,1)の動きベクトル検出の例で説明する。
ステップS901では、原画像において、全てのブロックの動きベクトルを検出したかどうか判断する。
【0049】
検出した場合、処理を終了する。
検出していない場合、ステップS902に進む。
ステップS902では、原画像において、動きベクトルを検出していないブロックを選出する。
本実施例では、BLK(1,1)の動きベクトルを検出するものとする。
【0050】
ステップS903では、演算対象となる階層nをN−1とする。
ステップS401において画像を3階層化しているため、N=3とする。
ステップS904では、最上位階層のアクティビティブロックの重要度を評価する。
ここでは、BLK(1,1)から算出した最上位階層のアクティビティブロックであるactBLK2(1,1)の重要度の評価を行う。
【0051】
アクティビティブロックactBLKn(1,1)の重要度の評価は、判断手段106がactBLKn(1,1)内の各画素データ値のデータ総和を算出し、当該データ総和が予め設定したしきい値α以上であれば、当該アクティビティブロックの重要度は高いと判定し、しきい値α未満であれば当該アクティビティブロックの重要度は低いと判定する。
【0052】
前記しきい値αを高く設定すると、重要度が低いと判断されるアクティビティブロックが増え、逆に前記しきい値αを低く設定すると重要度が低いと判断されるアクティビティブロックは減る。
例えば、ブロックサイズが2画素×2画素である場合、画素値を256階調とするとアクティビティブロック内データの総和は0〜255×4となり、当該ブロック内総和最大値の25%を前記しきい値に設定するとしきい値は255となる。
【0053】
アクティビティデータとしてウェーブレット変換後の画像の高域通過成分を用いる場合、変動が小さく一様な画像領域でのアクティビティデータは無視できる値となり、後述する動きベクトル検出ステップにおける検出精度向上に貢献しない。
よって、判断手段106は、アクティビティブロックの重要度が高い場合ブロックマッチングにアクティビティデータを用い、重要度が低い場合には、ブロックマッチングにアクティビティデータを用いないと判断する。
【0054】
判断手段106が、アクティビティブロックを用いると判断した場合ステップS905に進み、用いないと判断した場合ステップS906に進む。
ステップS905では、動きベクトル検出手段107が、近似画像及びアクティビティデータを用いて、ブロックマッチングを行い動きベクトル候補MVC(N−1)を検出する。
【0055】
図10は、apxBLKn(1,1)についてのブロックマッチングを説明する図である。
図11は、動きベクトル検出について説明する図である。
apxBLKn(1,1)についてブロックマッチングを行う場合、apxBLKn(1,1)とシフトブロックとの類似度を評価関数により評価する。
【0056】
シフトブロックとは図10に示すように、apxBLKn(i,j)に対し同じi,jであるrapxBLKn(i,j)を、探索領域の範囲内で、水平方向、及び垂直方向に画素単位でずらしたものである。
また前記評価関数としては、偏差絶対総和や偏差2乗総和などをよく用いる。図10は、図中apxBLKn(1,1)をactBLKn(1,1)と読み替え、rapxBLKn(1,1)をractBLKn(1,1)と読み替えることにより、アクティビティブロックについてのブロックマッチングについても説明する図となる。
【0057】
actBLKn(1,1)についてのブロックマッチングは、apxBLKn(1,1)の場合と同様に、ractBLKn(1,1)を探索領域の範囲内で画素単位にシフトしたシフトブロックとの類似度を評価関数により評価する。
apxBLKn(1,1)についての評価関数による評価値とactBLKn(1,1)についての評価関数による評価値に重みw(0<w≦1)を付けた値とを加えた結果をブロックマッチングの最終的な評価値とする。
【0058】
前記ブロックマッチングの最終的な評価値が最小となるシフトブロックのシフト量が動きベクトルとなる。
最上位階層n=2の場合、動きベクトル検出手段107が、apxBLK2(1,1)及びactBLK2(1,1)について、探索領域SR2(1,1)(水平方向±12画素、垂直方向±8画素)内で前記ブロックマッチングを行い、図11に示す動きベクトル候補MVC(2)(1,1)を算出する。
【0059】
ステップS906では、actBLK2(1,1)を用いず、apxBLK2(1,1)について、探索領域SR2(1,1)(水平方向±12画素、垂直方向±8画素)内で前記ブロックマッチングを行い、図11に示す動きベクトル候補MVC(2)(1,1)を算出する。
ステップS907では、演算対象となる階層nについて、n=n−1とする。
【0060】
ステップS908では、nが原画像を表す0であるかどうかを判定する。
n=0である場合、ステップS912へ進む。
n≠0の場合、ステップS909へ進む。
ステップS909では、判断手段106が、階層nのアクティビティブロックの重要度を評価する。
【0061】
本実施例では、BLK(1,1)から算出した階層1のアクティビティブロックであるactBLK1(1,1)の重要度の評価を行う。
重要度の評価は、ステップS904で行った方法と同じ方法を用いる。
判断手段106が、アクティビティブロックを用いると判断した場合ステップS910に進み、用いないと判断した場合ステップS911に進む。
【0062】
ステップS910及びステップS911では、動きベクトル検出手段107が、最上位階層及び原画像を除く階層nにおいて、近似画像及びアクティビティデータを用いて動きベクトル候補MVC(n)(i,j)を検出する。
ブロックマッチングにおける探索領域は、MVC(n+1)(i,j)を用い、小探索領域を設定する。
【0063】
n=1の場合である階層1においては、図11に示すように探索領域SR1(1,1)(水平方向±24画素、垂直方向±16画素)内にMVC(2)(1,1)を2倍した位置から±2画素の小探索領域SSR1(1,1)を設定する。ここでステップS910では、小探索領域SSR1(1,1)内で、apxBLK1(1,1)及びactBLK1(1,1)についてブロックマッチングを行い、動きベクトル候補MVC(1)(1,1)を算出し、ステップS911では、小探索領域SSR1(1,1)内で、apxBLK1(1,1)のみについてブロックマッチングを行い、動きベクトル候補MVC(1)(1,1)を算出する。
【0064】
ステップS912では、原画像において動きベクトルを検出する。
ブロックマッチングには、原画像同士である第1画像と第2画像を用いる。
図11に示すように原画像中の探索領域SR(1,1)(水平方向±48画素、垂直方向±32画素)内にMVC(1)(1,1)を2倍した位置およびその周囲水平・垂直±2画素の小探索領域SSR(1,1)を設定し、SSR(1,1)内でブロックマッチングを行い、整数画素精度の動きベクトルMV(1,1)を検出する。
4.まとめ
以上説明したように、動きベクトル検出装置10は、第1画像及び第2画像から2組の近似画像群及びアクティビティデータ群を算出する階層化画像の算出において、動きベクトル検出精度の向上に寄与しない高周波成分を算出するための計算を省略して演算量を削減し、ブロックマッチングにおいては動きベクトル検出精度向上に寄与しないアクティビティデータに対するブロックマッチングを省略することにより演算量を削減することにより、全体的な計算量を削減する。またノイズの影響を受けやすい高域通過成分をアクティビティデータの算出に用いないことにより、ノイズに対し頑健なブロックマッチングを行う。
(その他の変形例)
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)本発明は、実施の形態で説明したステップを含む方法であるとしてもよい。また、これらの方法を、コンピュータシステムを用いて実現するためのコンピュータプログラムであるとしてもよいし、前記プログラムを表すデジタル信号であるとしてもよい。
【0065】
また、本発明は、前記プログラム又は前記デジタル信号を記録したコンピュータ読取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、半導体メモリ等であるとしてもよい。
(2)最上位階層と原画像の間の間の階層においては探索領域SRn内に小探索領域SSRnを設定し、実施の形態で説明した例では当該SSRnのサイズを水平・垂直±2画素としているが、±1画素でもよいし誤検出抑制のため広くとっても良い。
(3)最上位階層において判断手段が行った、ブロックマッチングにアクティビティブロックを用いるか否かの判断結果を、下位階層において使用してもよい。
(4)最上位階層での全探索の結果において、ブロックマッチングの評価値が小さい順に複数の動きベクトル候補MVCを採用し、当該複数の動きベクトル候補を下位階層で用いてもよい。
(5)階層化した近似画像及びアクティビティデータを用いて動きベクトル検出を行う動きベクトル検出装置において、アクティビティデータの重要度を評価し、重要でないデータのブロックマッチングを省略する方法を、実施の形態で示した実施例に示したウェーブレット変換以外の方法で画像を階層化する場合に用いてもよい。
【0066】
【発明の効果】
(1)本発明の動きベクトル検出方法は、原解像度でそれぞれ表された第1画像と第2画像との間の動きベクトルを検出する動きベクトル検出方法であって、当該第1画像及び当該第2画像に含まれる低周波成分を当該原解像度よりも低い縮小解像度でそれぞれ表す第1近似画像及び第2近似画像、及び当該第1画像及び第2画像に含まれる高周波成分を当該縮小解像度でそれぞれ表す第1アクティビティ画像及び第2アクティビティ画像を算出する算出ステップと、当該第1アクティビティ画像により表された高周波成分の総量が所定閾値以上であるか否かを判断する判断ステップと、当該閾値以上であると判断された場合、当該第1近似画像と当該第2近似画像との比較結果、及び当該第1アクティビティ画像と当該第2アクティビティ画像との比較結果の双方を用いて動きベクトル候補を選出し、その他の場合、当該第1近似画像と当該第2近似画像との比較結果のみを用いて動きベクトル候補を選出する選出ステップと、当該動きベクトル候補を用いて動きベクトルを検出する検出ステップとを含む。
【0067】
この構成によれば、動きベクトル検出方法は、動きベクトルの検出精度向上に寄与しないアクティビティ画像についてのブロックマッチング演算を省略することにより、動きベクトル検出についての演算量を削減すると共に、動きベクトル検出精度を従来程度の水準で維持できる。
(2)また、本発明の動きベクトル検出方法は、原解像度でそれぞれ表された第1画像と第2画像との間の動きベクトルを検出する動きベクトル検出方法であって、当該原解像度よりも低くかつ段階的に低下する複数の縮小解像度の各々について、当該第1画像及び当該第2画像に含まれる低周波成分を当該縮小解像度でそれぞれ表す第1近似画像及び第2近似画像、及び当該第1画像及び第2画像に含まれる高周波成分を当該縮小解像度でそれぞれ表す第1アクティビティ画像及び第2アクティビティ画像を算出する算出ステップと、各縮小解像度について、当該縮小解像度の第1アクティビティ画像により表された高周波成分の総量が所定閾値以上であるか否かを判断する判断ステップと各縮小解像度について、当該閾値以上であると判断された場合、当該縮小解像度の第1近似画像と当該縮小解像度の第2近似画像との比較結果、及び当該縮小解像度の第1アクティビティ画像と当該縮小解像度の第2アクティビティ画像との比較結果の双方を用いて動きベクトル候補を選出し、その他の場合、当該縮小解像度の第1近似画像と当該縮小解像度の第2近似画像との比較結果のみを用いて動きベクトル候補を選出する選出ステップと、当該動きベクトル候補を当該縮小解像度の低い順に段階的に用いて動きベクトルを検出する検出ステップとを含む。
【0068】
この構成によれば、(1)と同様の効果が得られる。
(3)また、前記(2)の動きベクトル検出方法において、前記判断ステップは、所定の縮小解像度よりも高い縮小解像度について、当該所定の縮小解像度における判断結果と同一の判断結果が得られたものとして前記判断を省略してもよい。
【0069】
この構成によれば、当該所定の縮小解像度よりも高い縮小解像度のアクティビティ画像について、当該判断を行うための演算が不要となり、動きベクトル検出についての演算量を削減すると共に、動きベクトル検出精度を従来程度の水準で維持できる。
(4)また、前記(1)乃至(3)のいずれかの動きベクトル検出方法において、前記算出ステップは、リフティング構成のウェーブレット変換を用いて、前記各近似画像及び各アクティビティ画像を算出してもよい。
【0070】
この構成によれば、(1)と同様の効果が得られる。
(5)また、前記(4)の動きベクトル検出方法において、前記算出ステップは、リフティング構成のHaarウェーブレット変換を用いて、前記各近似画像及び各アクティビティ画像を算出してもよい。
この構成によれば、(1)と同様の効果が得られる。
(6)また、前記(4)又は(5)の動きベクトル検出方法において、画像を複数の周波数帯域に分割する演算を行う前記リフティング構成のウェーブレット変換及び前記リフティング構成のHaarウェーブレット変換について、前記算出ステップは、前記各近似画像及び前記各アクティビティ画像の算出に用いる周波数帯域のみを抜き出す演算を行ってもよい。
【0071】
この構成によれば、アクティビティ画像の算出に使用しない周波数帯域を抜き出すための演算を省略出来るため、演算量を削減することができる。
(7)また、前記(6)の動きベクトル検出方法において、前記算出ステップは、前記第1画像が、飛越走査画像であるか順次走査画像であるかによって、アクティビティ画像の算出に用いる周波数帯域を選択してもよい。
【0072】
この構成によれば、アクティビティ画像の算出に使用しない周波数帯域を抜き出すための演算を省略出来るため、演算量を削減すると共に、動きベクトル検出精度を従来程度の水準で維持できる。
(8)本発明の動きベクトル検出装置は、原解像度でそれぞれ表された第1画像と第2画像との間の動きベクトルを検出する動きベクトル検出装置であって、当該第1画像及び当該第2画像に含まれる低周波成分を当該原解像度よりも低い縮小解像度でそれぞれ表す第1近似画像及び第2近似画像、及び当該第1画像及び第2画像に含まれる高周波成分を当該縮小解像度でそれぞれ表す第1アクティビティ画像及び第2アクティビティ画像を算出する算出手段と、当該第1アクティビティ画像により表された高周波成分の総量が所定閾値以上であるか否かを判断する判断手段と、当該閾値以上であると判断された場合、当該第1近似画像と当該第2近似画像との比較結果、及び当該第1アクティビティ画像と当該第2アクティビティ画像との比較結果の双方を用いて動きベクトル候補を選出し、その他の場合、当該第1近似画像と当該第2近似画像との比較結果のみを用いて動きベクトル候補を選出する選出手段と、当該動きベクトル候補を用いて動きベクトルを検出する検出手段とを含む。
【0073】
この構成によれば、動きベクトル検出装置は、動きベクトルの検出精度向上に寄与しないアクティビティ画像についてのブロックマッチング演算を省略することにより、動きベクトル検出についての演算量を削減すると共に、動きベクトル検出精度を従来程度の水準で維持できる。
(9)また本発明の動きベクトル検出装置は、原解像度でそれぞれ表された第1画像と第2画像との間の動きベクトルを検出する動きベクトル検出装置であって、当該原解像度よりも低くかつ段階的に低下する複数の縮小解像度の各々について、当該第1画像及び当該第2画像に含まれる低周波成分を当該縮小解像度でそれぞれ表す第1近似画像及び第2近似画像、及び当該第1画像及び第2画像に含まれる高周波成分を当該縮小解像度でそれぞれ表す第1アクティビティ画像及び第2アクティビティ画像を算出する算出手段と、各縮小解像度について、当該縮小解像度の第1アクティビティ画像により表された高周波成分の総量が所定閾値以上であるか否かを判断する判断手段と各縮小解像度について、当該閾値以上であると判断された場合、当該縮小解像度の第1近似画像と当該縮小解像度の第2近似画像との比較結果、及び当該縮小解像度の第1アクティビティ画像と当該縮小解像度の第2アクティビティ画像との比較結果の双方を用いて動きベクトル候補を選出し、その他の場合、当該縮小解像度の第1近似画像と当該縮小解像度の第2近似画像との比較結果のみを用いて動きベクトル候補を選出する選出手段と、当該動きベクトル候補を当該縮小解像度の低い順に段階的に用いて動きベクトルを検出する検出手段とを含む。
【0074】
この構成によれば、(1)と同様の効果が得られる。
(10)また、前記(9)の動きベクトル検出装置において、前記判断手段は、所定の縮小解像度よりも高い縮小解像度について、当該所定の縮小解像度における判断結果と同一の判断結果が得られたものとして前記判断を省略してもよい。
この構成によれば、当該所定の縮小解像度よりも高い縮小解像度のアクティビティ画像について、当該判断を行うための演算が不要となり、動きベクトル検出についての演算量を削減すると共に、動きベクトル検出精度を従来程度の水準で維持できる。
(11)また、前記(8)乃至(10)のいずれかの動きベクトル検出装置において、前記算出手段は、リフティング構成のウェーブレット変換を用いて、前記各近似画像及び各アクティビティ画像を算出してもよい。
【0075】
この構成によれば、(1)と同様の効果が得られる。
(12)また、前記(11)の動きベクトル検出装置において、前記算出手段は、リフティング構成のHaarウェーブレット変換を用いて、前記各近似画像及び各アクティビティ画像を算出してもよい。
この構成によれば、(1)と同様の効果が得られる。
(13)また、前記(11)又は(12)の動きベクトル検出装置において、画像を複数の周波数帯域に分割する演算を行う前記リフティング構成のウェーブレット変換及び前記リフティング構成のHaarウェーブレット変換について、前記算出手段は、前記各近似画像及び前記各アクティビティ画像の算出に用いる周波数帯域のみを抜き出す演算を行ってもよい。
【0076】
この構成によれば、アクティビティ画像の算出に使用しない周波数帯域を抜き出すための演算を省略出来るため、演算量を削減すると共に、動きベクトル検出精度を従来程度の水準で維持できる。
(14)また、前記(13)の動きベクトル検出装置において、前記算出手段は、前記第1画像が、飛越走査画像であるか順次走査画像であるかによって、アクティビティ画像の算出に用いる周波数帯域を選択してもよい。
【0077】
この構成によれば、アクティビティ画像の算出に使用しない周波数帯域を抜き出すための演算を省略出来るため、演算量を削減すると共に、動きベクトル検出精度を従来程度の水準で維持できる。
(15)本発明のプログラムは、原解像度でそれぞれ表された第1画像と第2画像との間の動きベクトルを検出する動きベクトル検出装置をコンピュータを用いて実現するためのコンピュータ実行可能なプログラムであって、
当該第1画像及び当該第2画像に含まれる低周波成分を当該原解像度よりも低い縮小解像度でそれぞれ表す第1近似画像及び第2近似画像、及び当該第1画像及び第2画像に含まれる高周波成分を当該縮小解像度でそれぞれ表す第1アクティビティ画像及び第2アクティビティ画像を算出する算出ステップと、
当該第1アクティビティ画像により表された高周波成分の総量が所定閾値以上であるか否かを判断する判断ステップと、
当該閾値以上であると判断された場合、当該第1近似画像と当該第2近似画像との比較結果、及び当該第1アクティビティ画像と当該第2アクティビティ画像との比較結果の双方を用いて動きベクトル候補を選出し、その他の場合、当該第1近似画像と当該第2近似画像との比較結果のみを用いて動きベクトル候補を選出する選出ステップと、
当該動きベクトル候補を用いて動きベクトルを検出する検出ステップとを含む。
【0078】
この構成によれば、当該プログラムを用いる動きベクトル検出装置は、(1)と同様の効果を有する。
【図面の簡単な説明】
【図1】動きベクトル検出装置10の全体構成の一例を示している。
【図2】算出手段が算出する各データの関係を模式的に示した図である。
【図3】原画像、近似画像群及びアクティビティデータ群のデータ保持形式を示す。
【図4】動きベクトル検出装置の全体処理の概略を示すフローチャートである。
【図5】リフティング構成の2次元Haarウェーブレット変換を説明する図である。
【図6】アクティビティデータとして(|HL|+|LH|)/2を採用し、2次元Haarウェーブレット変換を行う簡略化リフティングスキームの例である。
【図7】アクティビティデータとしてLH成分を採用し、2次元Haarウェーブレット変換を行う簡略化リフティングスキームの例である。
【図8】画像階層化を詳細に説明するフローである。
【図9】動きベクトル検出処理を詳細に説明するフローである。
【図10】apxBLKn(1,1)についてのブロックマッチングを説明する図である。
【図11】動きベクトル検出について説明する図である。
【図12】従来方式の画像階層化ステップを示す。
【符号の説明】
10 動きベクトル検出装置
101 第1画像メモリ
102 第2画像メモリ
103 算出手段
104 階層化第1画像メモリ
105 階層化第2画像メモリ
106 判断手段
107 動きベクトル検出手段
200 第1画像
201 第2画像
202 第1画像についての階層1の近似画像
203 第1画像についての階層1のアクティビティデータ
204 第2画像についての階層1の近似画像
205 第2画像についての階層1のアクティビティデータ
206 第1画像についての階層2の近似画像
207 第1画像についての階層2のアクティビティデータ
208 第2画像についての階層2の近似画像
209 第2画像についての階層2のアクティビティデータ
210 第1画像についての近似画像群
211 第1画像についてのアクティビティデータ群
212 第2画像についての近似画像群
213 第2画像についてのアクティビティデータ群
300 原画像を表す階層化画像メモリ内容
301 2階層化後の階層化画像メモリ内容
302 3階層化後の階層化画像メモリ内容
303 小画素領域
304 小画素領域
501 メモリ領域A列
502 S0での演算
503 S0での演算結果
504 S1での演算
505 S1での演算結果
506 S2での演算
507 S2での演算結果
508 S3での演算
509 S3での演算結果[0001]
BACKGROUND OF THE
[0002]
2. Description of the Related Art MPEG2 (Moving Picture Experts Group 2), which is one of the international standards for a high-efficiency coding method for a moving picture signal, uses a discrete cosine transform, which is an orthogonal transform, to reduce redundancy in a spatial direction. This is a method that is classified as hybrid coding that uses inter-frame prediction / motion compensation to reduce directional redundancy.
[0003]
A block matching method is used for inter-frame prediction.
In the block matching method, the first image and the second image representing an image temporally different from the first image are divided into small rectangular blocks. A block of interest on the first image and a block at the same position as the block of interest on the second image are shifted by x pixels in the horizontal direction and y pixels in the vertical direction within a search range of ± m × ± n pixels. The similarity with the shifted block is evaluated by a predetermined evaluation function, and the shift amount v = (x, y) that minimizes the evaluation value is used as a motion vector.
[0004]
As the evaluation function, an absolute value difference is often used.
In the block matching method described above, since it is necessary to search all over the search range and find the absolute value difference, there is a problem that the amount of calculation becomes large, the device itself becomes large, and the calculation time becomes long.
One of the techniques for solving the above problem is a hierarchical motion vector detection method.
[0005]
This is because low-pass processing is performed on each of the first image and the second image to create a low-resolution approximate image (hereinafter referred to as layer 1), and similar low-pass processing is sequentially applied to higher-level layers. , An image hierarchization step of creating an approximate image (
[0006]
According to this method, a great reduction in the amount of calculation can be expected. On the other hand, the high-frequency component, which is the feature amount of the image, is removed in the higher hierarchy by the low-pass processing, so that there is a problem that the accuracy of motion vector detection is greatly reduced. .
To solve this problem, Japanese Patent Application Laid-Open No. 7-222157 discloses a hierarchical motion vector detection method in which high-frequency components of an image selected by low-pass processing are used as an activity image (also referred to as activity data) for block matching to improve detection accuracy. A method using an averaging process has been proposed for the low-pass process.
[0007]
However, in the conventional method, a large amount of calculation is required to calculate the activity data in order to perform highly accurate motion vector detection. Further, the higher the resolution and the higher the quality of an image, the more the amount of calculation to be executed per unit time is increasing, which leads to an increase in power consumption and heat generation when the calculation is realized by an LSI.
[0008]
In view of the above problems, an object of the present invention is to provide a motion vector detection method that can reduce the amount of calculation in the image layering step and the motion vector detection step, and can maintain the motion vector detection accuracy at a conventional level. I do.
[0009]
[Means for Solving the Problems]
In order to solve the above problem, a motion vector detection method according to the present invention is a motion vector detection method for detecting a motion vector between a first image and a second image each represented by an original resolution. The first approximate image and the second approximate image representing the low-frequency component included in the image and the second image at a reduced resolution lower than the original resolution, respectively, and the high-frequency component included in the first image and the second image, A calculating step of calculating a first activity image and a second activity image each represented by a reduced resolution; a determining step of determining whether or not the total amount of high frequency components represented by the first activity image is equal to or greater than a predetermined threshold; If it is determined that the value is equal to or greater than the threshold, the comparison result between the first approximate image and the second approximate image, and the first activity image and the A selection step of selecting a motion vector candidate using both the comparison result with the two activity images, and in other cases, selecting a motion vector candidate using only the comparison result between the first approximate image and the second approximate image And a detecting step of detecting a motion vector using the motion vector candidate.
[0010]
BEST MODE FOR CARRYING OUT THE INVENTION
A motion vector detection device according to an embodiment of the present invention will be described with reference to the drawings.
1. overall structure
FIG. 1 is a block diagram illustrating an overall configuration of a motion
[0011]
The motion
[0012]
The
The
The calculating
[0013]
The hierarchical
The hierarchical
The determining
[0014]
The motion vector detecting means 107 detects a motion vector by sequentially using the motion vector candidates selected in the low-resolution hierarchy for selecting the motion vector candidates in the high-resolution hierarchy.
2. data structure
FIG. 2 is a diagram schematically showing the relationship between the respective data calculated by the calculating
[0015]
[0016]
The 202, 203, 204 and 205 belong to the first layer.
Similarly, 206 and 207 indicate the approximate image and activity data calculated from the
The above 206, 207, 208 and 209 belong to
[0017]
Similarly,
Here, the notation will be described.
[0018]
The first image and the second image are divided into blocks (16 pixels × 16 pixels), which are units for performing block matching in the original image, and the first image block at the i-th position in the horizontal direction and the j-th position in the vertical direction Is denoted as BLK (i, j), and the block of the second image is denoted as rBLK (i, j).
Similarly, an approximate image block that is a block in the approximate image of the hierarchy n calculated from the first image is denoted as apxBLKn (i, j), and an activity block that is a block in the activity data of the hierarchy n is actBLKn (i, j). Notation.
Also, an approximate image block of hierarchy n calculated from the second image is denoted as rapxBLKn (i, j), and an activity block at hierarchy n calculated from the second image is denoted as ractBLKn (i, j).
[0019]
The number of pixels of each block of apxBLKn (i, j), rapxBLKn (i, j), actBLKn (i, j) and ractBLKn (i, j) is the number of pixels of BLK (i, j) and rBLK (i, j). It is 1 / (2 n) in each of the horizontal and vertical directions as compared to the number.
Next, an image layering process for calculating an approximate image group and an activity data group from an original image will be described with reference to FIG.
[0020]
FIG. 3 shows the contents of the hierarchical
Here, an example in which the first image is hierarchized will be described, and the description of the second image will be redundant.
The contents of the hierarchical
[0021]
[0022]
In FIG. 3, am, bm, cm, and dm (m is an arbitrary natural number) respectively represent pixel data constituting the original image.
In FIG. 3, apxnm (m and n are both natural numbers) represents pixel data forming an approximate image, and actnm (m and n are both natural numbers) represents data forming activity data.
[0023]
Further, m and n are arbitrary natural numbers, and n indicates a layer to which each data belongs.
The calculation means 103 divides 300 into small pixel regions of 2 pixels × 2 pixels, performs a wavelet transform of a fixed position calculation for each of the small pixel regions for each small pixel region, and obtains an approximate image of
[0024]
Details of the wavelet transform for the fixed position calculation will be described later.
As a result of the calculation means 103 performing the wavelet transform for the fixed position calculation on the
[0025]
Here, two apx11 are included in 304, and the first apx11 is used when detecting a motion vector.
The second apx11 is used for an operation for calculating an approximate image and activity data of the
As a result of performing the wavelet transform on all the small pixel areas in 300, the content of the hierarchical
[0026]
Regarding 301, a group of pixels indicated by apx1m constitutes an approximate image of the first layer, and corresponds to 202 in FIG.
A collection of data indicated by act1m forms the activity data of the first tier, and corresponds to 203 in FIG.
The number of pixels of the approximate image and the activity data of the
[0027]
Further, the approximate image of the
The pixel data representing the approximate image in 301 is divided into small pixel regions of 2 pixels × 2 pixels, and a wavelet transform is performed for all the small pixel regions for each small pixel region, thereby obtaining an approximate image of
[0028]
In FIG. 3, apx11, apx12, apx13, and apx14, which represent the approximate image of the
[0029]
As a result of performing the wavelet transform on all the small pixel areas in 301, the content of the hierarchical
Regarding 302, a group of pixels indicated by apx2m forms an approximate image of the
A collection of data indicated by act2m constitutes the activity data of the
[0030]
The number of pixels of the approximate image and the activity data of the
The number of pixels of the approximate image and the activity data of the layer n is 1 / (2 n) in the horizontal direction and the vertical direction, respectively, as compared with the original image.
[0031]
In the
The second image is also subjected to the layering process as in the case of the first image, and the calculated approximate image group and activity data group are stored in the layered
3. processing
3.1 Overall processing
FIG. 4 is a flowchart showing an outline of the overall processing of the motion
[0032]
The
3.2 Calculation of approximate image group and activity data group
In step S401, the calculating
[0033]
The lifting configuration is a configuration method in which the discrete wavelet transform is executed by the fixed position calculation, and has advantages such as a small memory usage and a small address decoding process.
For details, see the known paper W.S. Sweldens, The lifting scheme: A custom design construction of biological waves, J. Amer. Appl. Comput. Since it is described in Harmonic Analysis, 3 (1996), the description is omitted here.
3.2.1 Haar wavelet transform
In step S401, a Haar wavelet transform having a lifting configuration for calculating an average value as a low-pass component and calculating a deviation as a high-pass component is used.
[0034]
FIG. 5 shows an example in which a two-dimensional Haar wavelet transform having a lifting configuration is performed on a small pixel area of 2 pixels × 2 pixels.
Each of the first image and the second image read into the hierarchical
[0035]
Here, an example will be described in which a lifting configuration wavelet transform is applied to a small pixel region in which pixel data is a, b, c, and d, respectively.
Each row in FIG. 5 is an operation to be performed on data in the memory area and its result, and indicates that processing is progressing sequentially from top to bottom, each column corresponds to each memory area, and the rightmost column is used. Indicates the type of operation to be performed.
[0036]
At the start of the calculation, the pixel data a is stored in the memory area A, and the pixel data b, c, and d are stored in the memory areas B, C, and D, respectively.
Here, only the memory area A will be described, and the description of the memory area B, the memory area C, and the memory area D will be omitted because it is the same as that of the memory area A.
[0037]
Each column of a
Regarding 501, the operation from S0 to S3 will be described in order.
In S0, the calculation is not performed in 502, and the initial data a shown in 503 is stored in the memory area A.
[0038]
When shifting from S0 to S1, an
When shifting from S1 to S2, an
[0039]
When shifting from S2 to S3, a division (shift)
As a result of performing from S0 to S3, (a + b + c + d) / 4 of the LL component, which is a low-pass component, is stored in the memory area A, and similarly, HL component, which is an edge enhancement component in the horizontal direction, is stored in the memory area B. In the memory area C, (c + d) / 2- (a + b) / 2, which is an LH component which is an edge enhancement component in the vertical direction, and in the memory area D, (b + d) / 2- (a + c) / 2 (Dc)-(ba), which is an HH component that is an edge enhancement component in the horizontal and vertical directions, is stored.
[0040]
Here, the LL component is a low-pass component, and the LH, HL, and HH components are high-pass components.
The calculating means 103 can further reduce the amount of calculation by calculating only the high-pass components used for calculating the activity data.
As the high-pass component used for calculating the activity data, an HH component that is easily affected by noise is not used as the activity data. When the first image is a frame image, an HL component that is a horizontal edge enhancement component and a vertical component are used. The average value of the absolute value (| HL | + | LH |) / 2 with the LH component which is the edge enhancement component in the direction is used. In the case of a field image, the band is limited in the vertical direction as compared with the horizontal direction. Use only components.
3.2.2 Simplified lifting scheme
The high-pass components that are not used for calculating the activity data need not be calculated, and the calculating
[0041]
FIG. 6 is an example of a simplified lifting scheme that employs (| HL | + | LH |) / 2 as activity data and performs two-dimensional Haar wavelet transform.
When the activity data is (| HL | + | LH |) / 2, it is not necessary to calculate the HH component, so that the calculation for the memory area D where the HH component is finally calculated is omitted, and the entire processing is performed. To simplify.
[0042]
FIG. 7 is an example of a simplified lifting scheme that employs LH components as activity data and performs two-dimensional Haar wavelet transform.
In this case, since it is not necessary to calculate the HL component and the HH component, the number of operations that can be omitted further increases, and the effect of reducing the amount of operation increases.
Here, the LL component, which is an approximate value in both cases of FIGS. 6 and 7, is rewritten by the fixed-position calculation in the next layer. Is copied to the memory area D of the high-pass component that is not adopted.
3.2.3 Computational amount comparison with conventional example
FIG. 12 shows a conventional image hierarchization step.
[0043]
In the image hierarchization step of the conventional method, an average value Avg = (a + b + c + d) / 4 is used as an approximate value for data a, b, c, and d in a small pixel area, and Act = (| a-Avg | + | B-Avg | + | c-Avg | + | d-Avg |) / 4 is used.
As shown in FIG. 12, the calculations required to calculate the approximate image and the activity for the small pixel region using the conventional method include three additions, four subtractions, three absolute value additions, and two shift operations (division). It becomes.
[0044]
On the other hand, when the simplified lifting scheme of the present invention is used, in the case of FIG. 6, the above operations are four additions, three subtractions, one absolute value addition, and two shift operations. This can be replaced with addition, and two absolute value additions can be reduced.
In addition, in the case of FIG. 7, three additions, one subtraction, zero absolute value addition, and two shift operations are performed, and three subtractions and three absolute value additions can be reduced compared to the conventional method.
3.2.4 Application in first and second hierarchical image memories
FIG. 8 is a flowchart illustrating Step S401 in detail.
[0045]
In the present embodiment, a description will be given of a three-layer structure in which an approximate image and activity data of
In step S801, the layer n to be operated is set to 0, and in step S802, the number N of layers is set to 3.
[0046]
In step S803, it is determined that n> (N-1). If YES, the process ends. If NO, the process proceeds to step S804.
In step S804, it is determined whether the wavelet transform has been performed for all the small pixel areas in the original image (when n = 0) or the approximate image (when n ≠ 0) of the hierarchy n, and in the case of YES, n is determined in step S806. = N + 1, the process proceeds to step S803, and in the case of NO, the process proceeds to step S805, and the wavelet transform is performed on the small pixel region where the calculation is not performed.
[0047]
The wavelet transform for the small pixel area performed in step S805 is as described above.
3.3 Motion vector detection processing
Details of the motion vector detection processing in step S402 in FIG. 4 will be described with reference to FIGS.
[0048]
FIG. 9 illustrates the process of step S402 in detail.
Here, in FIG. 9, an example of detection of a motion vector of BLK (1, 1) which is a block at the first position in the horizontal direction and the first position in the vertical direction in the original image will be described.
In step S901, it is determined whether or not motion vectors of all blocks have been detected in the original image.
[0049]
If detected, the process ends.
If not, the process proceeds to step S902.
In step S902, a block in which a motion vector has not been detected is selected from the original image.
In this embodiment, it is assumed that a motion vector of BLK (1, 1) is detected.
[0050]
In step S903, the hierarchy n to be calculated is set to N-1.
Since the image is divided into three layers in step S401, N = 3.
In step S904, the importance of the activity block in the highest hierarchy is evaluated.
Here, the importance of actBLK2 (1, 1), which is the highest-level activity block calculated from BLK (1, 1), is evaluated.
[0051]
The evaluation of the importance of the activity block actBLKn (1, 1) is performed by the judging means 106 calculating the sum of data of each pixel data value in actBLKn (1, 1), and the sum of the data is equal to or larger than a preset threshold α. If it is, the activity block is determined to be high in importance, and if less than the threshold value α, the activity block is determined to be low in importance.
[0052]
When the threshold α is set high, the number of activity blocks determined to be low in importance increases, and when the threshold α is set low, the activity blocks determined to be low in importance decrease.
For example, when the block size is 2 pixels × 2 pixels, if the pixel value is 256 gradations, the sum of the data in the activity block is 0 to 255 × 4, and 25% of the maximum value of the sum in the block is set to the threshold value. , The threshold becomes 255.
[0053]
When the high-pass component of the image after the wavelet transform is used as the activity data, the activity data in a uniform image region with small fluctuations has a negligible value, and does not contribute to the improvement of the detection accuracy in the motion vector detection step described later.
Therefore, the
[0054]
If the
In step S905, the motion
[0055]
FIG. 10 is a diagram illustrating block matching for apxBLKn (1, 1).
FIG. 11 is a diagram illustrating motion vector detection.
When performing block matching for apxBLKn (1,1), the similarity between apxBLKn (1,1) and the shift block is evaluated using an evaluation function.
[0056]
As shown in FIG. 10, a shift block refers to rapxBLKn (i, j), which is the same i, j for apxBLKn (i, j), within the search area in the horizontal and vertical directions in pixel units. It is staggered.
Further, as the evaluation function, a deviation absolute sum, a deviation square sum, or the like is often used. FIG. 10 also describes block matching for an activity block by replacing apxBLKn (1,1) with actBLKn (1,1) and replacing rapxBLKn (1,1) with ractBLKn (1,1). It becomes a figure.
[0057]
In the block matching for actBLKn (1,1), similar to the case of apxBLKn (1,1), the similarity to a shifted block obtained by shifting ractBLKn (1,1) in pixel units within the range of the search area is evaluated. Evaluate by function.
The result obtained by adding the evaluation value of the apxBLKn (1,1) by the evaluation function and the evaluation value of the actBLKn (1,1) by the evaluation function and a value with a weight w (0 <w ≦ 1) is added to the block matching. This is the final evaluation value.
[0058]
The shift amount of the shift block that minimizes the final evaluation value of the block matching is the motion vector.
In the case of the highest hierarchy n = 2, the motion vector detecting means 107 determines that the search region SR2 (1,1) (horizontal ± 12 pixels, vertical ± 8 pixels) for the apxBLK2 (1,1) and the actBLK2 (1,1). The block matching is performed within the pixel) to calculate a motion vector candidate MVC (2) (1,1) shown in FIG.
[0059]
In step S906, the block matching is performed on the apxBLK2 (1,1) in the search region SR2 (1,1) (± 12 pixels in the horizontal direction and ± 8 pixels in the vertical direction) without using actBLK2 (1,1). , The motion vector candidate MVC (2) (1, 1) shown in FIG.
In step S907, n = n-1 is set for the hierarchy n to be operated.
[0060]
In step S908, it is determined whether or not n is 0 representing the original image.
If n = 0, the process proceeds to step S912.
If n ≠ 0, the process proceeds to step S909.
In step S909, the
[0061]
In the present embodiment, the importance of actBLK1 (1,1), which is the activity block of
The importance is evaluated using the same method as the method performed in step S904.
If the determining
[0062]
In step S910 and step S911, the motion
As a search area in block matching, a small search area is set using MVC (n + 1) (i, j).
[0063]
In
[0064]
In step S912, a motion vector is detected in the original image.
For block matching, a first image and a second image, which are original images, are used.
As shown in FIG. 11, a position where the MVC (1) (1, 1) is doubled in the search area SR (1, 1) (± 48 pixels in the horizontal direction and ± 32 pixels in the vertical direction) in the original image and its surroundings A small search area SSR (1, 1) of ± 2 pixels in the horizontal and vertical directions is set, block matching is performed in the SSR (1, 1), and a motion vector MV (1, 1) with integer pixel precision is detected.
4. Conclusion
As described above, the motion
(Other modifications)
Although the present invention has been described based on the above embodiment, it is needless to say that the present invention is not limited to the above embodiment. The following cases are also included in the present invention.
(1) The present invention may be a method including the steps described in the embodiment. Further, the method may be a computer program for realizing the method using a computer system, or may be a digital signal representing the program.
[0065]
Further, the present invention is a computer-readable recording medium on which the program or the digital signal is recorded, for example, a flexible disk, hard disk, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, semiconductor memory, and the like. It may be.
(2) A small search area SSRn is set in the search area SRn in the hierarchy between the highest hierarchy and the original image. In the example described in the embodiment, the size of the SSRn is set to ± 2 pixels in the horizontal and vertical directions. However, it may be ± 1 pixel, or may be large for suppressing erroneous detection.
(3) The determination result of whether or not to use the activity block for block matching performed by the determination means in the highest hierarchy may be used in the lower hierarchy.
(4) A plurality of motion vector candidates MVC may be employed in the order of smaller block matching evaluation values in the result of the full search in the highest hierarchy, and the plurality of motion vector candidates may be used in the lower hierarchy.
(5) A method for evaluating the importance of activity data and omitting block matching of unimportant data in a motion vector detection device that performs motion vector detection using hierarchically approximated images and activity data is described in the embodiment. It may be used when hierarchizing images by a method other than the wavelet transform shown in the illustrated embodiment.
[0066]
【The invention's effect】
(1) A motion vector detection method according to the present invention is a motion vector detection method for detecting a motion vector between a first image and a second image each represented by an original resolution, wherein the first image and the second The first approximate image and the second approximate image representing the low-frequency components included in the two images at a reduced resolution lower than the original resolution, and the high-frequency components included in the first and second images are respectively represented at the reduced resolution. A calculating step of calculating the first activity image and the second activity image to be represented, a determining step of determining whether or not the total amount of the high-frequency components represented by the first activity image is equal to or greater than a predetermined threshold; If it is determined that there is, the comparison result between the first approximate image and the second approximate image, and the first activity image and the second activity A selection step of selecting a motion vector candidate using both the comparison result with the image and, in other cases, selecting a motion vector candidate using only the comparison result between the first approximate image and the second approximate image; Detecting a motion vector using the motion vector candidate.
[0067]
According to this configuration, the motion vector detection method reduces the amount of calculation for motion vector detection by omitting the block matching calculation for an activity image that does not contribute to improving the detection accuracy of the motion vector, and reduces the motion vector detection accuracy. Can be maintained at a conventional level.
(2) Further, the motion vector detection method of the present invention is a motion vector detection method for detecting a motion vector between the first image and the second image represented by the original resolution, respectively. For each of a plurality of reduced resolutions that are low and gradually reduced, a first approximate image and a second approximate image each representing a low frequency component included in the first image and the second image with the reduced resolution, and A calculating step of calculating a first activity image and a second activity image representing the high-frequency components included in the one image and the second image at the reduced resolution, respectively, and each reduced resolution is represented by a first activity image of the reduced resolution. The determination step of determining whether or not the total amount of the high-frequency components is equal to or greater than a predetermined threshold value, and determining that each of the reduced resolutions is equal to or greater than the threshold value. In this case, both the comparison result of the first approximate image of the reduced resolution with the second approximate image of the reduced resolution and the comparison result of the first activity image of the reduced resolution and the second activity image of the reduced resolution are both included. And selecting a motion vector candidate by using only the comparison result between the first approximate image of the reduced resolution and the second approximate image of the reduced resolution in other cases. A step of detecting a motion vector using the motion vector candidates step by step in ascending order of the reduced resolution.
[0068]
According to this configuration, the same effect as (1) can be obtained.
(3) In the motion vector detection method according to (2), in the determination step, for a reduced resolution higher than a predetermined reduced resolution, the same determination result as the determination result at the predetermined reduced resolution is obtained. The above determination may be omitted.
[0069]
According to this configuration, for an activity image having a reduced resolution higher than the predetermined reduced resolution, the calculation for making the determination is unnecessary, and the amount of calculation for motion vector detection is reduced, and the motion vector detection accuracy is reduced. It can be maintained at a standard level.
(4) In the motion vector detecting method according to any one of (1) to (3), the calculating step may calculate the approximate images and the activity images using a wavelet transform having a lifting configuration. Good.
[0070]
According to this configuration, the same effect as (1) can be obtained.
(5) In the motion vector detection method according to (4), the calculating step may calculate the approximate images and the activity images by using a Haar wavelet transform having a lifting configuration.
According to this configuration, the same effect as (1) can be obtained.
(6) In the motion vector detection method according to (4) or (5), the calculation is performed on the lifting wavelet transform and the lifting Haar wavelet transform that perform an operation of dividing an image into a plurality of frequency bands. The step may perform an operation of extracting only a frequency band used for calculating each of the approximate images and each of the activity images.
[0071]
According to this configuration, the calculation for extracting the frequency band not used for calculating the activity image can be omitted, so that the calculation amount can be reduced.
(7) In the motion vector detection method according to (6), the calculating step includes determining a frequency band used for calculating an activity image depending on whether the first image is an interlaced scanning image or a progressive scanning image. You may choose.
[0072]
According to this configuration, since the calculation for extracting the frequency band not used for calculating the activity image can be omitted, the calculation amount can be reduced, and the motion vector detection accuracy can be maintained at a level comparable to the conventional level.
(8) The motion vector detection device of the present invention is a motion vector detection device that detects a motion vector between a first image and a second image each represented by an original resolution. The first approximate image and the second approximate image representing the low-frequency components included in the two images at a reduced resolution lower than the original resolution, and the high-frequency components included in the first and second images are respectively represented at the reduced resolution. Calculating means for calculating the first activity image and the second activity image to be represented; determining means for determining whether or not the total amount of high-frequency components represented by the first activity image is equal to or greater than a predetermined threshold; If it is determined that there is, the comparison result between the first approximate image and the second approximate image and the comparison between the first activity image and the second activity image Selecting means for selecting a motion vector candidate using both of the comparison results, and in other cases, selecting means for selecting a motion vector candidate using only the comparison result between the first approximate image and the second approximate image; Detecting means for detecting a motion vector using the candidate.
[0073]
According to this configuration, the motion vector detection device reduces the amount of calculation for motion vector detection by omitting the block matching calculation for the activity image that does not contribute to the improvement of the detection accuracy of the motion vector. Can be maintained at a conventional level.
(9) Further, the motion vector detecting device of the present invention is a motion vector detecting device which detects a motion vector between the first image and the second image each represented by the original resolution, and is lower than the original resolution. And a first approximate image and a second approximate image each representing a low-frequency component included in the first image and the second image with the reduced resolution for each of the plurality of reduced resolutions that gradually decrease, and the first approximate image. Calculating means for calculating a first activity image and a second activity image representing the high-frequency components included in the image and the second image at the reduced resolution, respectively, and each reduced resolution is represented by the first activity image at the reduced resolution. Judgment means for judging whether or not the total amount of high-frequency components is equal to or greater than a predetermined threshold value, and for each reduced resolution, when it is determined that the total amount is equal to or greater than the threshold value. Using both the comparison result of the first approximate image of the reduced resolution and the second approximate image of the reduced resolution, and the comparison result of the first activity image of the reduced resolution and the second activity image of the reduced resolution. A selecting means for selecting a motion vector candidate, and in other cases, selecting a motion vector candidate using only a comparison result between the first approximate image of the reduced resolution and the second approximate image of the reduced resolution; And a detecting means for detecting a motion vector by using stepwise in order of the reduced resolution.
[0074]
According to this configuration, the same effect as (1) can be obtained.
(10) In the motion vector detecting device according to (9), the determination unit obtains the same determination result as the determination result at the predetermined reduced resolution for a reduced resolution higher than the predetermined reduced resolution. The above determination may be omitted.
According to this configuration, for an activity image having a reduced resolution higher than the predetermined reduced resolution, the calculation for making the determination is unnecessary, and the amount of calculation for motion vector detection is reduced, and the motion vector detection accuracy is reduced. It can be maintained at a standard level.
(11) In the motion vector detecting device according to any one of (8) to (10), the calculating unit may calculate each of the approximate images and each of the activity images using a wavelet transform having a lifting configuration. Good.
[0075]
According to this configuration, the same effect as (1) can be obtained.
(12) In the motion vector detecting device according to (11), the calculation means may calculate each of the approximate images and each of the activity images using a Haar wavelet transform having a lifting configuration.
According to this configuration, the same effect as (1) can be obtained.
(13) In the motion vector detecting device according to (11) or (12), the calculation is performed on the lifting wavelet transform and the lifting Haar wavelet transform that perform an operation of dividing an image into a plurality of frequency bands. The means may perform an operation of extracting only a frequency band used for calculating each of the approximate images and each of the activity images.
[0076]
According to this configuration, since the calculation for extracting the frequency band not used for calculating the activity image can be omitted, the calculation amount can be reduced, and the motion vector detection accuracy can be maintained at a level comparable to the conventional level.
(14) In the motion vector detecting device according to (13), the calculating means determines a frequency band used for calculating an activity image depending on whether the first image is an interlaced scanning image or a progressive scanning image. You may choose.
[0077]
According to this configuration, since the calculation for extracting the frequency band not used for calculating the activity image can be omitted, the calculation amount can be reduced, and the motion vector detection accuracy can be maintained at a level comparable to the conventional level.
(15) A computer-executable program for realizing, by using a computer, a motion vector detecting device that detects a motion vector between a first image and a second image each represented by an original resolution. And
A first approximation image and a second approximation image representing low-frequency components included in the first image and the second image at a reduced resolution lower than the original resolution, respectively, and a high-frequency component included in the first image and the second image; A calculating step of calculating a first activity image and a second activity image each representing a component at the reduced resolution;
A determining step of determining whether or not the total amount of the high-frequency components represented by the first activity image is equal to or greater than a predetermined threshold;
If it is determined that the motion vector is equal to or greater than the threshold value, the motion vector is calculated using both the comparison result between the first approximate image and the second approximate image and the comparison result between the first activity image and the second activity image. Selecting a candidate, and in other cases, selecting a motion vector candidate using only a comparison result between the first approximate image and the second approximate image;
Detecting a motion vector using the motion vector candidate.
[0078]
According to this configuration, the motion vector detecting device using the program has the same effect as (1).
[Brief description of the drawings]
FIG. 1 shows an example of the overall configuration of a motion
FIG. 2 is a diagram schematically showing a relationship between respective data calculated by a calculation unit.
FIG. 3 shows a data holding format of an original image, an approximate image group, and an activity data group.
FIG. 4 is a flowchart showing an outline of the overall processing of the motion vector detecting device.
FIG. 5 is a diagram illustrating a two-dimensional Haar wavelet transform having a lifting configuration.
FIG. 6 is an example of a simplified lifting scheme that employs (| HL | + | LH |) / 2 as activity data and performs two-dimensional Haar wavelet transform.
FIG. 7 is an example of a simplified lifting scheme that employs an LH component as activity data and performs a two-dimensional Haar wavelet transform.
FIG. 8 is a flowchart for explaining image layering in detail.
FIG. 9 is a flowchart illustrating a motion vector detection process in detail.
FIG. 10 is a diagram illustrating block matching for apxBLKn (1, 1).
FIG. 11 is a diagram illustrating motion vector detection.
FIG. 12 shows a conventional image layering step.
[Explanation of symbols]
10. Motion vector detection device
101 first image memory
102 Second image memory
103 Calculation means
104 Hierarchical first image memory
105 Hierarchical second image memory
106 Judgment means
107 Motion vector detecting means
200 First image
201 Second image
202 Approximate image of
203
204 Approximate image of
205 Activity data of
206 Approximate image of
207
208 Approximate image of
209
210 Approximate image group for first image
211 Activity data group for the first image
212 Approximate image group for second image
213 Activity data group for second image
300 Hierarchical image memory contents representing original image
301 Layered image memory contents after two layers
302 Contents of layered image memory after three layers
303 small pixel area
304 small pixel area
501 column of memory area A
Operation at 502 S0
Calculation result at 503 S0
504 Operation in S1
Calculation result at 505 S1
506 Operation in S2
507 Operation result in S2
508 Operation in S3
509 Calculation result in S3
Claims (15)
当該第1画像及び当該第2画像に含まれる低周波成分を当該原解像度よりも低い縮小解像度でそれぞれ表す第1近似画像及び第2近似画像、及び当該第1画像及び第2画像に含まれる高周波成分を当該縮小解像度でそれぞれ表す第1アクティビティ画像及び第2アクティビティ画像を算出する算出ステップと、
当該第1アクティビティ画像により表された高周波成分の総量が所定閾値以上であるか否かを判断する判断ステップと、
当該閾値以上であると判断された場合、当該第1近似画像と当該第2近似画像との比較結果、及び当該第1アクティビティ画像と当該第2アクティビティ画像との比較結果の双方を用いて動きベクトル候補を選出し、その他の場合、当該第1近似画像と当該第2近似画像との比較結果のみを用いて動きベクトル候補を選出する選出ステップと、
当該動きベクトル候補を用いて動きベクトルを検出する検出ステップと
を含むことを特徴とする動きベクトル検出方法。A motion vector detection method for detecting a motion vector between a first image and a second image each represented at an original resolution,
A first approximation image and a second approximation image representing low-frequency components included in the first image and the second image at a reduced resolution lower than the original resolution, respectively, and a high-frequency component included in the first image and the second image; A calculating step of calculating a first activity image and a second activity image each representing a component at the reduced resolution;
A determining step of determining whether or not the total amount of the high-frequency components represented by the first activity image is equal to or greater than a predetermined threshold;
If it is determined that the motion vector is equal to or greater than the threshold value, the motion vector is calculated using both the comparison result between the first approximate image and the second approximate image and the comparison result between the first activity image and the second activity image. Selecting a candidate, and in other cases, selecting a motion vector candidate using only a comparison result between the first approximate image and the second approximate image;
A detecting step of detecting a motion vector using the motion vector candidate.
当該原解像度よりも低くかつ段階的に低下する複数の縮小解像度の各々について、当該第1画像及び当該第2画像に含まれる低周波成分を当該縮小解像度でそれぞれ表す第1近似画像及び第2近似画像、及び当該第1画像及び第2画像に含まれる高周波成分を当該縮小解像度でそれぞれ表す第1アクティビティ画像及び第2アクティビティ画像を算出する算出ステップと、
各縮小解像度について、当該縮小解像度の第1アクティビティ画像により表された高周波成分の総量が所定閾値以上であるか否かを判断する判断ステップと
各縮小解像度について、当該閾値以上であると判断された場合、当該縮小解像度の第1近似画像と当該縮小解像度の第2近似画像との比較結果、及び当該縮小解像度の第1アクティビティ画像と当該縮小解像度の第2アクティビティ画像との比較結果の双方を用いて動きベクトル候補を選出し、その他の場合、当該縮小解像度の第1近似画像と当該縮小解像度の第2近似画像との比較結果のみを用いて動きベクトル候補を選出する選出ステップと、
当該動きベクトル候補を当該縮小解像度の低い順に段階的に用いて動きベクトルを検出する検出ステップと
を含むことを特徴とする動きベクトル検出方法。A motion vector detection method for detecting a motion vector between a first image and a second image each represented at an original resolution,
For each of a plurality of reduced resolutions lower than the original resolution and gradually reduced, a first approximate image and a second approximate image each representing a low-frequency component included in the first image and the second image with the reduced resolution. A calculation step of calculating an image and a first activity image and a second activity image representing the high-frequency components included in the first image and the second image at the reduced resolution, respectively;
For each reduced resolution, a determination step of determining whether the total amount of high-frequency components represented by the first activity image of the reduced resolution is equal to or greater than a predetermined threshold, and it is determined that each reduced resolution is equal to or greater than the threshold. In this case, both the comparison result of the first approximate image of the reduced resolution and the second approximate image of the reduced resolution and the comparison result of the first activity image of the reduced resolution and the second activity image of the reduced resolution are used. A motion vector candidate, and in other cases, selecting a motion vector candidate using only a comparison result between the first approximate image of the reduced resolution and the second approximate image of the reduced resolution,
A step of detecting a motion vector by using the motion vector candidates step by step in ascending order of the reduced resolution.
所定の縮小解像度よりも高い縮小解像度について、当該所定の縮小解像度における判断結果と同一の判断結果が得られたものとして前記判断を省略する
ことを特徴とする請求項2に記載の動きベクトル検出方法。The determining step includes:
3. The motion vector detecting method according to claim 2, wherein the determination is omitted for a reduced resolution higher than the predetermined reduced resolution, assuming that the same determination result as the determination result at the predetermined reduced resolution is obtained. .
ことを特徴とする請求項1乃至3のいずれかに記載の動きベクトル検出方法。4. The motion vector detecting method according to claim 1, wherein the calculating step calculates the approximate images and the activity images using a wavelet transform having a lifting configuration.
ことを特徴とする請求項4に記載の動きベクトル検出方法。5. The motion vector detecting method according to claim 4, wherein the calculating step calculates the approximate images and the activity images using a Haar wavelet transform having a lifting configuration.
前記算出ステップは、前記各近似画像及び前記各アクティビティ画像の算出に用いる周波数帯域のみを抜き出す演算を行う
ことを特徴とする請求項4又は5に記載の動きベクトル検出方法。In the lifting structure wavelet transform and the lifting structure Haar wavelet transform for performing an operation of dividing an image into a plurality of frequency bands,
6. The motion vector detecting method according to claim 4, wherein the calculating step performs an operation of extracting only a frequency band used for calculating each of the approximate images and each of the activity images.
ことを特徴とする請求項6に記載の動きベクトル検出方法。The motion vector detection according to claim 6, wherein the calculating step selects a frequency band used for calculating an activity image depending on whether the first image is an interlaced scanning image or a progressive scanning image. Method.
当該第1画像及び当該第2画像に含まれる低周波成分を当該原解像度よりも低い縮小解像度でそれぞれ表す第1近似画像及び第2近似画像、及び当該第1画像及び第2画像に含まれる高周波成分を当該縮小解像度でそれぞれ表す第1アクティビティ画像及び第2アクティビティ画像を算出する算出手段と、
当該第1アクティビティ画像により表された高周波成分の総量が所定閾値以上であるか否かを判断する判断手段と、
当該閾値以上であると判断された場合、当該第1近似画像と当該第2近似画像との比較結果、及び当該第1アクティビティ画像と当該第2アクティビティ画像との比較結果の双方を用いて動きベクトル候補を選出し、その他の場合、当該第1近似画像と当該第2近似画像との比較結果のみを用いて動きベクトル候補を選出する選出手段と、
当該動きベクトル候補を用いて動きベクトルを検出する検出手段と
を含むことを特徴とする動きベクトル検出装置。A motion vector detection device that detects a motion vector between a first image and a second image each represented by an original resolution,
A first approximation image and a second approximation image representing low-frequency components included in the first image and the second image at a reduced resolution lower than the original resolution, respectively, and a high-frequency component included in the first image and the second image; Calculating means for calculating a first activity image and a second activity image each representing a component at the reduced resolution;
Determining means for determining whether or not the total amount of high frequency components represented by the first activity image is equal to or greater than a predetermined threshold;
If it is determined that the motion vector is equal to or larger than the threshold value, the motion vector is calculated using both the comparison result between the first approximate image and the second approximate image and the comparison result between the first activity image and the second activity image. Selecting means for selecting a candidate, and in other cases, selecting a motion vector candidate using only a comparison result between the first approximate image and the second approximate image;
Detecting means for detecting a motion vector using the motion vector candidate.
当該原解像度よりも低くかつ段階的に低下する複数の縮小解像度の各々について、当該第1画像及び当該第2画像に含まれる低周波成分を当該縮小解像度でそれぞれ表す第1近似画像及び第2近似画像、及び当該第1画像及び第2画像に含まれる高周波成分を当該縮小解像度でそれぞれ表す第1アクティビティ画像及び第2アクティビティ画像を算出する算出手段と、
各縮小解像度について、当該縮小解像度の第1アクティビティ画像により表された高周波成分の総量が所定閾値以上であるか否かを判断する判断手段と
各縮小解像度について、当該閾値以上であると判断された場合、当該縮小解像度の第1近似画像と当該縮小解像度の第2近似画像との比較結果、及び当該縮小解像度の第1アクティビティ画像と当該縮小解像度の第2アクティビティ画像との比較結果の双方を用いて動きベクトル候補を選出し、その他の場合、当該縮小解像度の第1近似画像と当該縮小解像度の第2近似画像との比較結果のみを用いて動きベクトル候補を選出する選出手段と、
当該動きベクトル候補を当該縮小解像度の低い順に段階的に用いて動きベクトルを検出する検出手段と
を含むことを特徴とする動きベクトル検出装置。A motion vector detection device that detects a motion vector between a first image and a second image each represented by an original resolution,
For each of a plurality of reduced resolutions lower than the original resolution and gradually reduced, a first approximate image and a second approximate image each representing a low-frequency component included in the first image and the second image with the reduced resolution. Calculating means for calculating an image and a first activity image and a second activity image each representing a high-frequency component included in the first image and the second image at the reduced resolution;
For each reduced resolution, the determination means for determining whether or not the total amount of high frequency components represented by the first activity image of the reduced resolution is equal to or greater than a predetermined threshold value, and it is determined that each reduced resolution is equal to or greater than the threshold value. In this case, both the comparison result between the first approximate image at the reduced resolution and the second approximate image at the reduced resolution and the comparison result between the first activity image at the reduced resolution and the second activity image at the reduced resolution are used. Selecting means for selecting a motion vector candidate, and in other cases, selecting a motion vector candidate using only a comparison result between the first approximate image of the reduced resolution and the second approximate image of the reduced resolution,
Detecting means for detecting a motion vector by using the motion vector candidates step by step in ascending order of the reduced resolution.
所定の縮小解像度よりも高い縮小解像度について、当該所定の縮小解像度における判断結果と同一の判断結果が得られたものとして前記判断を省略する
ことを特徴とする請求項9に記載の動きベクトル検出装置。The determining means includes:
10. The motion vector detecting device according to claim 9, wherein, for a reduced resolution higher than the predetermined reduced resolution, the determination is omitted assuming that the same determination result as the determination result at the predetermined reduced resolution is obtained. .
ことを特徴とする請求項8乃至10のいずれかに記載の動きベクトル検出装置。The motion vector detecting device according to claim 8, wherein the calculating unit calculates the approximate images and the activity images using a wavelet transform having a lifting configuration.
ことを特徴とする請求項11に記載の動きベクトル検出装置。12. The motion vector detecting device according to claim 11, wherein the calculating unit calculates the approximate images and the activity images using a Haar wavelet transform having a lifting configuration.
前記算出手段は、前記各近似画像及び前記各アクティビティ画像の算出に用いる周波数帯域のみを抜き出す演算を行う
ことを特徴とする請求項11又は12に記載の動きベクトル検出装置。In the lifting structure wavelet transform and the lifting structure Haar wavelet transform for performing an operation of dividing an image into a plurality of frequency bands,
13. The motion vector detecting device according to claim 11, wherein the calculating unit performs an operation of extracting only a frequency band used for calculating each of the approximate images and each of the activity images.
ことを特徴とする請求項13に記載の動きベクトル検出装置。14. The motion vector detecting apparatus according to claim 13, wherein the calculating unit selects a frequency band used for calculating an activity image depending on whether the first image is an interlaced scanning image or a progressive scanning image. apparatus.
当該第1画像及び当該第2画像に含まれる低周波成分を当該原解像度よりも低い縮小解像度でそれぞれ表す第1近似画像及び第2近似画像、及び当該第1画像及び第2画像に含まれる高周波成分を当該縮小解像度でそれぞれ表す第1アクティビティ画像及び第2アクティビティ画像を算出する算出ステップと、
当該第1アクティビティ画像により表された高周波成分の総量が所定閾値以上であるか否かを判断する判断ステップと、
当該閾値以上であると判断された場合、当該第1近似画像と当該第2近似画像との比較結果、及び当該第1アクティビティ画像と当該第2アクティビティ画像との比較結果の双方を用いて動きベクトル候補を選出し、その他の場合、当該第1近似画像と当該第2近似画像との比較結果のみを用いて動きベクトル候補を選出する選出ステップと、
当該動きベクトル候補を用いて動きベクトルを検出する検出ステップと
を前記コンピュータに実行させる
ことを特徴とするプログラム。A computer-executable program for realizing, using a computer, a motion vector detection device that detects a motion vector between a first image and a second image each represented by an original resolution,
A first approximation image and a second approximation image representing low-frequency components included in the first image and the second image at a reduced resolution lower than the original resolution, respectively, and a high-frequency component included in the first image and the second image; A calculating step of calculating a first activity image and a second activity image each representing a component at the reduced resolution;
A determining step of determining whether or not the total amount of the high-frequency components represented by the first activity image is equal to or greater than a predetermined threshold;
If it is determined that the motion vector is equal to or greater than the threshold value, the motion vector is calculated using both the comparison result between the first approximate image and the second approximate image and the comparison result between the first activity image and the second activity image. Selecting a candidate, and in other cases, selecting a motion vector candidate using only a comparison result between the first approximate image and the second approximate image;
A step of detecting a motion vector using the motion vector candidate.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002208710A JP2004056305A (en) | 2002-07-17 | 2002-07-17 | Motion vector detection method, motion vector detection device, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002208710A JP2004056305A (en) | 2002-07-17 | 2002-07-17 | Motion vector detection method, motion vector detection device, and program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004056305A true JP2004056305A (en) | 2004-02-19 |
Family
ID=31932781
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002208710A Pending JP2004056305A (en) | 2002-07-17 | 2002-07-17 | Motion vector detection method, motion vector detection device, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2004056305A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100924642B1 (en) | 2007-11-27 | 2009-11-02 | 한양대학교 산학협력단 | Motion Estimation Method Using Block Matching Algorithm |
| JP2010288110A (en) * | 2009-06-12 | 2010-12-24 | Sony Corp | Image processing apparatus and image processing method |
-
2002
- 2002-07-17 JP JP2002208710A patent/JP2004056305A/en active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100924642B1 (en) | 2007-11-27 | 2009-11-02 | 한양대학교 산학협력단 | Motion Estimation Method Using Block Matching Algorithm |
| JP2010288110A (en) * | 2009-06-12 | 2010-12-24 | Sony Corp | Image processing apparatus and image processing method |
| US8542741B2 (en) | 2009-06-12 | 2013-09-24 | Sony Corporation | Image processing device and image processing method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3753578B2 (en) | Motion vector search apparatus and method | |
| CN103167218B (en) | A kind of super resolution ratio reconstruction method based on non-locality and equipment | |
| JP4405516B2 (en) | Rectangular motion search | |
| CN102282851A (en) | Image processing device, decoding method, intra-frame decoder, intra-frame decoding method, and intra-frame encoder | |
| KR20050095931A (en) | Method and apparatus for generating motion vector in hierarchical motion estimation | |
| CN101232573B (en) | Image processing apparatus and method thereof | |
| JP5089610B2 (en) | Block-based motion estimation method and apparatus | |
| CN114531596A (en) | Image processing method and device | |
| JP5492223B2 (en) | Motion vector detection apparatus and method | |
| JP2000299864A (en) | Moving image processing method | |
| CN114598877A (en) | Inter-frame prediction method and related equipment | |
| JP4525064B2 (en) | Motion vector detection apparatus, motion vector detection method, and computer program | |
| JP2004056305A (en) | Motion vector detection method, motion vector detection device, and program | |
| JP4957780B2 (en) | Motion compensated predictive coding apparatus, motion compensated predictive coding method, and program | |
| JP4622264B2 (en) | Motion vector detection apparatus, motion vector detection method, and computer program | |
| JP2008306413A (en) | Image coding apparatus and image coding method | |
| CN100399831C (en) | Motion vector detection device and method for detecting motion vectors | |
| JP4597103B2 (en) | Motion vector search method and apparatus | |
| JP2853973B2 (en) | Hierarchical motion vector detection method and apparatus | |
| JP4207764B2 (en) | Motion vector detection apparatus, motion vector detection method, and computer program | |
| JPH08265773A (en) | Method for detecting hierarchical motion vector and device therefor | |
| WO2012165428A1 (en) | Video encoding device | |
| JP4250598B2 (en) | Motion compensation IP conversion processing apparatus and motion compensation IP conversion processing method | |
| JP3189655B2 (en) | Apparatus and method for detecting motion vector | |
| JP4207763B2 (en) | Motion vector detection apparatus, motion vector detection method, and computer program |