JP2840007B2 - 動きベクトル検出回路 - Google Patents

動きベクトル検出回路

Info

Publication number
JP2840007B2
JP2840007B2 JP11989393A JP11989393A JP2840007B2 JP 2840007 B2 JP2840007 B2 JP 2840007B2 JP 11989393 A JP11989393 A JP 11989393A JP 11989393 A JP11989393 A JP 11989393A JP 2840007 B2 JP2840007 B2 JP 2840007B2
Authority
JP
Japan
Prior art keywords
prediction error
motion vector
value
threshold value
equal
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.)
Expired - Fee Related
Application number
JP11989393A
Other languages
English (en)
Other versions
JPH06334896A (ja
Inventor
俊行 三宅
裕之 堅田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Consejo Superior de Investigaciones Cientificas CSIC
Original Assignee
Consejo Superior de Investigaciones Cientificas CSIC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Consejo Superior de Investigaciones Cientificas CSIC filed Critical Consejo Superior de Investigaciones Cientificas CSIC
Priority to JP11989393A priority Critical patent/JP2840007B2/ja
Priority to US08/221,744 priority patent/US5497338A/en
Priority to EP94105476A priority patent/EP0624981B1/en
Publication of JPH06334896A publication Critical patent/JPH06334896A/ja
Application granted granted Critical
Publication of JP2840007B2 publication Critical patent/JP2840007B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Picture Signal Circuits (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、動き補償予測を用いる
動画像符号化の際、予測対象画像と参照画像の間のブロ
ックマッチングによって動きベクトルを検出する回路に
関する。
【0002】
【従来の技術】ブロックマッチングによって動きベクト
ルを求める主な方式として文献「インターフェース A
ug.1922 pp138」に紹介されているフルサ
ーチ、3ステップサーチ等がある。
【0003】以下、従来の動きベクトル検出方式の計算
量について説明する。
【0004】ここで、subは減算、addは加算、o
psは計算量を示す。
【0005】また、ブロックは大きさが16×16の矩
形ブロック、動きベクトルの探索範囲は水平方向、垂直
方向ともに−15〜+15の矩形領域、動きベクトルの
精度は1画素単位であるものと仮定し、予測誤差として
は画素値の差分の絶対値の和を用いるものとする。
【0006】1.フルサーチ (1)ブロック内の全画素を用いて予測誤差PEを求め
る処理を、961(312)個の全ての候補ブロックに
対して行う。
【0007】(2)予測誤差PEが最小となる候補ブロ
ックへの動きベクトルを最適な動きベクトルとする。
【0008】上記の処理においてブロックマッチングに
必要となる計算量は、 予測誤差PEの計算:256(sub)+255(ad
d)=511ops 予測誤差PEと最小値の比較:1ops を961個の全ての候補ブロックに対して行うので、 (511+1)×961=492032ops となる。
【0009】2.3ステップサーチ (1)ブロック内の全画素を用いて予測誤差PEを求め
る処理を、動きベクトル(4m,4n)に対応する候補
ブロックに対して行う。
【0010】ここで、mおよびnはともに−3〜3の整
数である。
【0011】(2)(1)における予測誤差PEの最小
値をMIN_PE、MIN_PEを与える動きベクトル
を(x,y)とし、動きベクトル(x−2,y−2),
(x,y−2),(x+2,y−2),(x−2,y)
(x+2,y),(x−2,y+2),(x,y+
2),(x+2,y+2)に対応する8個の候補ブロッ
クに対して、ブロック内の全画素を用いた予測誤差PE
を求め、PE<MIN_PEであればMIN_PE=P
Eとする。
【0012】(3)(2)でMIN_PEを与える動き
ベクトルを(x,y)とし、動きベクトル(x−1,y
−1),(x,y−1),(x+1,y−1),(x−
1,y)(x+1,y),(x−1,y+1),(x,
y+1),(x+1,y+1)に対応する8個の候補ブ
ロックに対して、ブロック内の全画素を用いた予測誤差
PEを求め、PE<MIN_PEであればMIN_PE
=PEとする。
【0013】(4)(3)でMIN_PEを与える動き
ベクトルを最適な動きベクトルとする。
【0014】上記の処理においてブロックマッチングに
必要となる計算量は、 予測誤差PEの計算:511ops 予測誤差PEと最小値MIN_PEの比較:1ops (1)で予測誤差PEを求める回数:7×7=49回 (2)で予測誤差PEを求める回数:8回 (3)で予測誤差PEを求める回数:8回 なので、 (511+1)×(49+8+8)=33280ops となる。
【0015】3.2ステップサーチ (1)ブロック内の全画素を用いて予測誤差PEを求め
る処理を、動きベクトル(3m,3n)に対応する候補
ブロックに対して行う。
【0016】ここで、mおよびnはともに−5〜5の整
数である。
【0017】(2)(1)における予測誤差PEの最小
値をMIN_PE、MIN_PEを与える動きベクトル
を(x,y)とし、動きベクトル(x−1,y−1),
(x,y−1),(x+1,y−1),(x−1,y)
(x+1,y),(x−1,y+1),(x,y+
1),(x+1,y+1)に対応する8個の候補ブロッ
クに対して、ブロック内の全画素を用いた予測誤差PE
を求め、PE<MIN_PEであればMIN_PE=P
Eとする。
【0018】(3)(2)でMIN_PEを与える動き
ベクトルを最適な動きベクトルとする。
【0019】上記の処理においてブロックマッチングに
必要となる計算量は、 予測誤差PEの計算:511ops 予測誤差PEと最小値MIN_PEの比較:1ops (1)で予測誤差PEを求める回数:11×11=12
1回 (2)で予測誤差PEを求める回数:8回 なので、 (511+1)×(121+8)=66048ops となる。
【0020】
【発明が解決しようとする課題】しかしながら、フルサ
ーチは上記のようにブロックマッチングに莫大な計算量
を必要とする。
【0021】また、3ステップサーチおよび2ステップ
サーチは、一部の候補ブロックしか調べないので、正し
い動きベクトルが求められず、フルサーチの場合と比較
して、再生画像の画質が著しく劣化する。
【0022】本発明の目的は計算量を大幅に削減して
も、正しい動きベクトルを求めることができる方式を提
供することにある。
【0023】
【課題を解決するための手段】本発明は、動き補償予測
を用いる動画像符号化の際、L個の画素からなるブロッ
クを単位として、予測対象画像内の1個の該ブロックに
対して、参照画像内のN個の候補となる該ブロックとの
間でブロックマッチングを行い動きベクトルを検出する
動きベクトル検出回路において、ブロック内のL1(<
L)個の画素を用いて予測誤差PE1を求める処理を、
全ての候補ブロックに対して行う手段と横軸を予測誤差
PE1とするヒストグラムを作成する手段と、予測誤差
PE1の小さい方から頻度を蓄積し、その蓄積値がM
(<N)以下である最大の予測誤差PE1を閾値THと
し、ブロック内のL2(L1<L2≦L)個の画素を用
いて予測誤差PE2を求める処理を、予測誤差PE1が
閾値TH以下である候補ブロックに対してのみ行う手段
とを具備してなり、予測誤差PE2が最小となる候補ブ
ロックへの動きベクトルを最適な動きベクトルとするこ
とを特徴とする。
【0024】また、上記構成において、予測誤差PE2
を求める手段が、予測誤差PE1の小さい方からヒスト
グラムの頻度を蓄積し、その蓄積値がM以下である最大
の予測誤差PE1を閾値TH1、その時の累積値をm、
累積値がM以上になる最小の予測誤差PE1を閾値TH
2とし、予測誤差PE2を求める処理を、予測誤差PE
1が閾値TH1以下であるm個の候補ブロック、および
予測誤差PE1が閾値TH1より大きく閾値TH2以下
である候補ブロックの中の(M−m)個の候補ブロック
に対してのみ行うように構成されてもよいし、予測誤差
PE1が閾値TH以下である候補ブロックに関して、横
軸を予測誤差PE1とするヒストグラムを作成し、予測
誤差PE1の小さい方からヒストグラムの頻度を蓄積し
て、その蓄積値がM以下である最大の予測誤差PE1を
新たに閾値THとし、予測誤差PE2を求める処理を、
予測誤差PE1が閾値TH以下である候補ブロックに対
してのみ行うように構成されていてもよい。
【0025】後者の場合、更に、予測誤差PE2を求め
る手段が、予測誤差PE1の小さい方からヒストグラム
の頻度を蓄積し、その蓄積値がM以下である最大の予測
誤差PE1を閾値TH1、その時の蓄積値をm、蓄積値
がM以上になる最小の予測誤差PE1を閾値TH2と
し、予測誤差PE2を求める処理を、予測誤差PE1が
閾値TH1以下であるm個の候補ブロック、および予測
誤差PE1が閾値TH1より大きく閾値TH2以下であ
る候補ブロックの中の(M−m)個の候補ブロックに対
してのみ行うように構成されていてもよい。
【0026】
【作用】上記構成にてなる本発明によれば、まずブロッ
ク内のL1(<L)個の画素を用いて予測誤差PE1を
求める処理が、全ての候補ブロックに対して行われる。
次いで横軸を予測誤差PE1とするヒストグラムが作成
され、予測誤差PE1の小さい方から頻度が累積され、
その累積値がM(<N)以下である最大の予測誤差PE
1が閾値THとされる。次いで、予測誤差PE1が閾値
TH以下である候補ブロックに対してのみブロック内の
L2(L1<L2≦L)個の画素を用いて予測誤差PE
2を求める処理が行われる。
【0027】
【実施例】以下、図面を参照して実施例を説明する。い
ずれも、L個の画素からなるブロックを単位として、予
測対象画像内の1個の該ブロックに対して、参照画像内
のN個の候補ブロックとの間でブロックマッチングを行
い動きベクトルを検出する。
【0028】図1は本発明の一実施例を示すブロック図
である。
【0029】図1において、101はアドレス発生器
で、114の制御部からの制御信号に応じて、単位ブロ
ック内の、予測誤差PE1を求める際に用いられるL1
(<L)個の画素に対するアドレス情報、および、予測
誤差PE2を求める際に用いられるL2(L1<L2≦
L)個の画素に対するアドレス情報を発生する。
【0030】ここで、予測誤差PE2を求める際に用い
るL2個の画素は、予測誤差PE1を求める際に用いる
L1個の画素を含み、予測誤差PE2を求める際は、L
2個の画素のうち、予測誤差PE1を求める際に用いら
れなかった(L2−L1)個の画素に対するアドレス情
報のみを発生するものとする。
【0031】102もアドレス発生器で、制御部114
からの制御信号に応じて、115の動きベクトル発生部
からの動きベクトル情報に対応する候補ブロック内の、
予測誤差PE1を求める際に用いられるL1個の画素に
対するアドレス情報、および、予測誤差PE2を求める
際に用いられるL2個の画素に対するアドレス情報を発
生する。
【0032】ここで、予測誤差PE2を求める際に用い
るL2個の画素は、予測誤差PE1を求める際に用いる
L1個の画素を含み、予測誤差PE2を求める際は、候
補ブロック内のL2個の画素のうち、予測誤差PE1を
求める際に用いられなかった(L2−L1)個の画素に
対するアドレス情報のみを発生するものとする。
【0033】103は予測対象画像の情報をブロック単
位に格納するメモリで、アドレス発生部101からのア
ドレス情報に従って格納されている情報が読み出され
る。
【0034】104は参照画像内の探索領域の情報を格
納するメモリで、アドレス発生部102からのアドレス
情報に従って情報が読み出される。
【0035】105は予測誤差演算部で、予測対象ブロ
ックと候補ブロックの間の予測誤差を求める。
【0036】予測誤差PE2を求める場合は、L2個の
画素のうち、予測誤差PE1を求める際に用いられなか
った(L2−L1)個の画素についての予測誤差を求
め、その値を予測誤差PE1に加算することによって求
める。
【0037】予測誤差を求める方法としては、例えば、
予測対象ブロックと候補ブロックの対応する各画素間の
画素値の差分の絶対値や2乗値などの累積和を用いるこ
とができる。
【0038】106はヒストグラムの頻度を格納するた
めのメモリである。
【0039】107は累積値演算部で、予測誤差PE1
の小さい方からヒストグラムの頻度を累積加算してい
く。
【0040】108は比較部で、ヒストグラムの頻度の
累積値と、予測誤差PE2を求める候補ブロックの数の
最大値M(<N)を比較する。
【0041】109は全候補ブロックの予測誤差PE1
を格納するためのメモリである。
【0042】110はレジスタで、ヒストグラムの頻度
の累積値がM以下である最大の予測誤差PE1の値を閾
値THとして格納する。
【0043】111は比較部で、メモリ109に格納さ
れている予測誤差PE1と閾値THを比較する。
【0044】112は比較部で、予測誤差PE2と11
3のレジスタに格納された最小値MIN_PEを比較す
る。
【0045】レジスタ113は、予測誤差PE2の最小
値MIN_PEと、MIN_PEを与える動きベクトル
を格納する。
【0046】114は制御部で、予測誤差演算部10
5、比較部111、および比較部112の結果を受け
て、予測誤差PE1を求めるための制御信号、および予
測誤差PE2を求めるための制御信号を発生する。
【0047】115は動きベクトル発生部で、制御部1
14の制御によって、所定の順序で動きベクトルを発生
する。
【0048】以下に処理手順を説明する。
【0049】(0)予測誤差PE2を求める候補ブロッ
クの数の最大値をM(<N)とする。
【0050】(1)予測誤差演算部105で、ブロック
内のL1(<L)個の画素を用いて予測誤差PE1を求
め、予測誤差PE1をメモリ109に格納するととも
に、ヒストグラムメモリ106の予測誤差PE1が属す
位置の値をインクリメントする処理を全ての候補ブロッ
クに対して、動きベクトル発生部115が動きベクトル
を発生する順番に従って実施する。この処理により、ヒ
ストグラムメモリ106には、図2に示すような、横軸
を予測誤差PE1とするヒストグラムが設定されたこと
になる。
【0051】(2)図3に示すように、ヒストグラムメ
モリ106に対して、累積値演算部107で予測誤差P
E1の小さい方から頻度を累積加算し、比較部108で
その累積値をMと比較する処理を、累積値がM以上にな
るまで繰り返し、累積値がM以下である最大の予測誤差
PE1の値を閾値THとしてレジスタ110に格納す
る。
【0052】(3)比較部111で、メモリ109に格
納されている予測誤差PE1を順番に閾値THと比較
し、予測誤差PE1が閾値TH以下である候補ブロック
に対してのみ、予測誤差演算部105で、L2(L1<
L2≦L)個の画素を用いて予測誤差PE2を求める。
【0053】予測誤差PE2を求める際、比較部112
で予測誤差PE2と最小値MIN_PEを比較し、予測
誤差PE2が最小値MIN_PEより小さければ、予測
誤差PE2を新たに最小値MIN_PEとして、そのと
きの動きベクトルとともにレジスタ113に格納する。
【0054】(4)最後にレジスタ113に格納されて
いる動きベクトルを最適な動きベクトルとする。
【0055】なお、上記の処理の初期設定として、予測
誤差PE2の最小値MIN_PEを予測誤差PE2のと
り得る最大の値としてレジスタ113にセットする。
【0056】また、閾値THが0に設定された場合、動
きベクトルを決める手段としては、(1)特定の動きベ
クトルを用いる、(2)直前の予測対象ブロックと同じ
動きベクトルを用いる、(3)予測誤差PE1が最小と
なる候補ブロックへの動きベクトルを最適な動きベクト
ルとする、等の方法がある。
【0057】(1)の方法は、初期設定において、動き
ベクトルとして(0,0)等特定の値を113にセット
することで行える。
【0058】(2)の方法は、初期設定において、レジ
スタ113の動きベクトルの設定は行わず、直前の処理
の値を保持することで行える。
【0059】(3)の方法は、予測誤差PE1の最小値
とその時の動きベクトルの値を記憶する手段を設けるこ
とで行える。この場合、図4に示す401の比較部と4
02のレジスタを予測誤差演算部105に付加すること
になる。
【0060】ここで、401の比較部は、予測誤差PE
1と402のレジスタに格納された予測誤差PE1の最
小値を比較するもので、レジスタ402は、予測誤差P
E1の最小値とこれに対する動きベクトルを格納するも
のである。
【0061】レジスタ402は、予測誤差PE1が既に
格納されている予測誤差PE1の最小値より小さい場合
に更新される。
【0062】以下、上記の方式においてブロックマッチ
ングに必要な計算量について説明する。
【0063】ここで、subは減算、addは加算、o
psは計算量を示す。
【0064】また、ブロックは大きさが16×16の矩
形ブロック、動きベクトルの探索範囲は水平方向、垂直
方向ともに−15〜+15の矩形領域、動きベクトルの
精度は1画素単位であるものと仮定する。
【0065】予測誤差としては画素値の差分の絶対値の
和を用いるものとし、L1=16、L2=256と仮定
すると、上記の処理で必要となる計算量は、 予測誤差PE1の計算:16(sub)+15(ad
d)=31ops 予測誤差PE1と閾値THの比較:1ops 予測誤差PE2の計算:240(sub)+240(a
dd)=480ops 予測誤差PE2と最小値の比較:1ops となるので、予測誤差が求められるブロックの数をα
(<M)とすると、 (31+1)×312 +(480+1)×α=30752+481αops となる。
【0066】最大値は、30752+481Mopsで
ある。
【0067】以上のことから、予測誤差PE1が閾値T
H以下のM個以下の候補ブロックに対してのみ、予測誤
差PE2を求めることにより、計算量をフルサーチより
少なく、しかも一定値以下に削減することができる。
【0068】次に、本発明の動きベクトル検出回路の第
2の実施例を説明する。
【0069】図5は本発明の第2の実施例を示すブロッ
ク図である。
【0070】本実施例は、図1を参照して説明した第1
の実施例に対して、レジスタ110および比較部111
の働きが一部異なり、また、501の減算部、502の
レジスタ、503のカウンタ、504の比較部を付加し
たものである。
【0071】レジスタ110は、ヒストグラムの頻度の
累積値が、予測誤差PE2を求める候補ブロックの数の
最大値M(<N)以下である最大の予測誤差PE1の値
を閾値TH1、累積値がM以上になる最小の予測誤差P
E1の値を閾値TH2として格納する。
【0072】比較部111は、メモリ109に格納され
ている予測誤差PE1と閾値TH1および閾値TH2を
比較する。
【0073】減算部501は、Mと、ヒストグラムの予
測誤差PE1が閾値TH1以下である部分の頻度の累積
値mの差を求める。
【0074】レジスタ502は、減算部501で求めた
(M−m)の値を格納する。
【0075】カウンタ503は、予測誤差PE1が閾値
TH1より大きく閾値TH2以下である候補ブロックの
数を数える。
【0076】なお、予測誤差PE1が閾値TH1より大
きく閾値TH2以下である候補ブロックの中から(M−
m)個の候補ブロックを選出する手段としては、 (1)予測誤差PE1が小さい候補ブロックを選ぶ。
【0077】(2)動きベクトル発生部115におい
て、対応する動きベクトルが早く発生する候補ブロック
を選ぶ。
【0078】等の方法があるが、ここでは(2)の方法
を用いるものとする。
【0079】比較部504は、カウンタ503の値と
(M−m)の値を比較する。
【0080】以下に処理手順を説明する。
【0081】(0)カウンタ503を0、予測誤差PE
2を求める候補ブロックの数の最大値をM(<N)とす
る。
【0082】(1)予測誤差演算部105で、ブロック
内のL1(<L)個の画素を用いて予測誤差PE1を求
め、予測誤差PE1をメモリ109に格納するととも
に、ヒストグラムメモリ106の予測誤差PE1が属す
位置の値をインクリメントする処理を、全ての候補ブロ
ックに対して、動きベクトル発生部115が動きベクト
ルを発生する順番に従って実施する。
【0083】(2)図6に示すように、ヒストグラムメ
モリ106に対して、累積値演算部107で予測誤差P
E1の小さい方から頻度を累積加算し、比較部108で
その累積値をMと比較する処理を、累積値がM以上にな
るまで繰り返し、累積値がM以下である最大の予測誤差
PE1の値を閾値TH1としてレジスタ110に格納す
るとともに、その時の累積値をmとし、減算部501で
Mからmを減算した結果をレジスタ502に格納する。
また、累積値がM以上になる最小の予測誤差PE1の値
を閾値TH2としてレジスタ110に格納する。
【0084】mがMに等しい場合はTH2はTH1に等
しくなる。
【0085】(3)比較部111でメモリ109に格納
されている予測誤差PE1を順番に閾値TH1および閾
値TH2と比較し、予測誤差PE1が閾値TH1以下で
あれば、その候補ブロックに対して、予測誤差演算部1
05でL2(L1<L2≦L)個の画素を用いて予測誤
差PE2を求める。
【0086】予測誤差PE1が閾値TH1より大きく閾
値TH2以下であれば、カウンタ503をインクリメン
トし、比較部504でカウンタ503の値とレジスタ5
02の値を比較し、カウンタ503の値がレジスタ50
2の値以下であれば、その候補ブロックに対して予測誤
差PE2を求める。すなわち、予測誤差PE1が閾値T
H1より大きく閾値TH2以下である候補ブロックの中
で、動きベクトル発生器115において、対応する動き
ベクトルが早く発生する(M−m)個の候補ブロックに
対してのみ、予測誤差PE2を求めることになる。
【0087】なお、予測誤差PE2を求める際、比較部
112で予測誤差PE2と最小値MIN_PEを比較
し、予測誤差PE2が最小値MIN_PEより小さけれ
ば、予測誤差PE2を新たに最小値MIN_PEとし
て、そのときの動きベクトルとともにレジスタ113に
格納する。
【0088】(4)最後にレジスタ113に格納されて
いる動きベクトルを最適な動きベクトルとする。
【0089】なお、上記の処置の初期設定として、予測
誤差PE2の最小値MIN_PEを予測誤差PE2のと
り得る最大の値としてレジスタ113にセットする。
【0090】以下、上記の方式においてブロックマッチ
ングに必要な計算量について説明する。
【0091】ここで、subは減算、addは加算、o
psは計算量を示す。
【0092】また、ブロックは大きさが16×16の矩
形ブロック、動きベクトルの探索範囲は水平方向、垂直
方向ともに−15〜+15の矩形領域、動きベクトルの
精度は1画素単位であるものと仮定する。
【0093】予測誤差としては画素値の差分の絶対値の
和を用いるものとし、L1=16、L2=256と仮定
すると、上記の処理で必要となる計算量は、 予測誤差PE1の計算:16(sub)+15(ad
d)=31ops 予測誤差PE1と閾値TH1の比較:1ops 予測誤差PE1と閾値TH2の比較:1ops 予測誤差PE2の計算:240(sub)+240(a
dd)=480ops 予測誤差PE2と最小値の比較:1ops となるので、 (31+1+1)×312 +(480+1)×M=31713+481Mop s となる。
【0094】実際には、予測誤差PE1と閾値TH2の
比較は、予測誤差PE1が閾値TH1より大きい候補ブ
ロックに対してのみ行えばよく、また、予測誤差PE1
が閾値TH1より大きく、閾値TH2以下である候補ブ
ロックから(M−m)個が選び出されたら、それ以降は
実行しなくてよい。
【0095】以上のことから、予測誤差PE1が閾値T
H2以下のM個の候補ブロックに対してのみ、予測誤差
PE2を求めることにより、計算量をフルサーチより少
なく、しかも一定量に削減することができる。
【0096】上記の方式を現在ISOで標準化作業が進
められている動画像符号化方式MPEG2の動きベクト
ル検出部分に適用した場合についての結果を示す。
【0097】ここでは、予測誤差PE1を求める際、図
9に示す位置にある16個の画素を用い、Mは70とし
た。
【0098】なお、シーケンス1はパンニングをともな
う2秒間の動画像、シーケンス2は平滑領域が多く、ズ
ーミングをともなう2秒間の動画像である。
【0099】(1)PE1と閾値の比較により削除され
る候補ブロックの割合(単位:%) シーケンス1:92.31 シーケンス2:92.
33 (2)再生画像の輝度信号のSNR(単位:db) 参考のために、フルサーチの結果も併記する。
【0100】()内の値はフルサーチとの差である。
【0101】 以上の結果から、本方式は、フルサーチと比較して計算
量を約90%削減しても、再生画像の画質(SNR)が
ほぼ同等の動きベクトルが得られることがわかる。
【0102】次に、本発明にてなる動きベクトル検出回
路の第3の実施例を図7を参照して説明する。
【0103】図7は動きベクトル検出回路の第3の実施
例を示すブロック図である。
【0104】本実施例の動きベクトル検出回路は、図1
を参照して説明した第1の実施例に、予測誤差PE1と
閾値THとを比較する比較部701を付加するものであ
る。
【0105】以下に処理手順を説明する。
【0106】(0)予測誤差PE1の閾値をTH、予測
誤差PE2を求める候補ブロックの数の最大値をM(<
N)とする。
【0107】(1)予測誤差演算部105で、ブロック
内のL1(<L)個の画素を用いて予測誤差PE1を求
め、比較部701で予測誤差PE1と閾値THを比較
し、予測誤差PE1が閾値TH以下であれば、予測誤差
PE1をメモリ109に格納するとともに、ヒストグラ
ムメモリ106の予測誤差PE1が属す位置の値をイン
クリメントする処理を全ての候補ブロックに対して、動
きベクトル発生部115が動きベクトルを発生する順番
に従って実施する。
【0108】(2)ヒストグラムメモリ106に対し
て、累積値演算部107で予測誤差PE1の小さい方か
ら頻度を累積加算し、比較部108でその累積値をMと
比較する処理を、累積値がM以上になるまで繰り返し、
累積値がM以下である最大の予測誤差PE1の値を閾値
THとしてレジスタ110に格納する。
【0109】ヒストグラム全体の累積値がM以下である
場合は、閾値THは更新されない。
【0110】(3)比較部111で、メモリ109に格
納されている予測誤差PE1を順番に閾値THと比較
し、予測誤差PE1が閾値TH以下である候補ブロック
に対してのみ、予測誤差演算部105でL2(L1<L
2≦L)個の画素を用いて予測誤差PE2を求める。
【0111】予測誤差PE2を求める際、比較部112
で予測誤差PE2と最小値MIN_PEを比較し、予測
誤差PE2が最小値MIN_PEより小さければ、予測
誤差PE2を新たに最小値MIN_PEとして、そのと
きの動きベクトルとともにレジスタ113に格納する。
【0112】(4)最後にレジスタ113に格納されて
いる動きベクトルを最適な動きベクトルとする。
【0113】なお、上記の処理の初期設定として、予測
誤差PE2の最小値MIN_PEを予測誤差PE2のと
り得る最大の値としてレジスタ113にセットし、レジ
スタ110の初期値として更新前の閾値THをセットす
る。
【0114】また、上記(2)で閾値THが0に設定さ
れた場合の処理は、図1を参照して説明した第1の実施
例と同じである。
【0115】以下、上記の方式においてブロックマッチ
ングに必要な計算量について説明する。
【0116】ここで、subは減算、addは加算、o
psは計算量を示す。
【0117】また、ブロックは大きさが16×16の矩
形ブロック、動きベクトルの探索範囲は水平方向、垂直
方向ともに−15〜+15の矩形領域、動きベクトルの
精度は1画素単位であるものと仮定する。
【0118】予測誤差としては画素値の差分の絶対値の
和を用いるものとし、L1=16、L2=256と仮定
すると、上記の処理で必要となる計算量は、 予測誤差PE1の計算:16(sub)+15(ad
d)=31ops 予測誤差PE1と閾値THの比較:1ops 予測誤差PE2の計算:240(sub)+240(a
dd)=480ops 予測誤差PE2と最小値の比較:1ops となるので、予測誤差が求められるブロックの数をα
(<M)とすると、 (31+1)×312 +(480+1)×α=30752+481αops となる。
【0119】最大値は、30752+481Mopsで
ある。
【0120】以上のことから、予測誤差PE1が閾値T
H以下のM個以下の候補ブロックに対してのみ、予測誤
差PE2を求めることにより計算量をフルサーチより少
なく、しかも一定値以下に削減することができる。
【0121】次に、本発明にてなる動きベクトル検出回
路の第4の実施例を図8を参照して説明する。
【0122】図8は動きベクトル検出回路の第4の実施
例を示すブロック図である。
【0123】本実施例の動きベクトル検出回路は、図5
を参照して説明した第2の実施例に、予測誤差PE1と
閾値THとを比較する比較部801を付加するものであ
る。
【0124】比較部801は、予測誤差PE1と閾値T
Hを比較する。
【0125】なお、予測誤差PE1が閾値TH1より大
きく閾値TH2以下である候補ブロックの中から(M−
m)個の候補ブロックを選出する手段としては、動きベ
クトル発生部115において、対応する動きベクトルが
早く発生する候補ブロックを選ぶものとする。
【0126】以下に処理手順を説明する。
【0127】(0)カウンタ503を0、予測誤差PE
1の閾値をTH、予測誤差PE2を求める候補ブロック
の数の最大値をM(<N)とする。
【0128】(1)予測誤差演算部105で、ブロック
内のL1(<L)個の画素を用いて予測誤差PE1を求
め、比較部801で予測誤差PE1と閾値THを比較
し、予測誤差PE1が閾値TH以下であれば、予測誤差
PE1をメモリ109に格納するとともに、ヒストグラ
ムメモリ106の予測誤差PE1が属す位置の値をイン
クリメントする処理を、全ての候補ブロックに対して、
動きベクトル発生部115が動きベクトルを発生する順
番に従って実施する。
【0129】(2)ヒストグラムメモリ106に対し
て、累積値演算部107で予測誤差PE1の小さい方か
ら頻度を累積加算し、比較部108でその累積値をMと
比較する処理を、累積値がM以上になるまで繰り返し、
累積値がM以下である最大の予測誤差PE1の値を閾値
TH1としてレジスタ110に格納するとともに、その
時の累積値をmとし、減算部501でMからmを減算し
た結果をレジスタ502に格納する。
【0130】また、累積値がM以上になる最小の予測誤
差PE1の値を閾値TH2としてレジスタ110に格納
する。
【0131】mがMに等しい場合はTH2はTH1に等
しくなる。
【0132】ヒストグラム全体の累積値がM以下である
場合は、TH1=TH2=THとする。
【0133】(3)比較部111で、メモリ109に格
納されている予測誤差PE1を順番に閾値TH1および
閾値TH2と比較し、予測誤差PE1が閾値TH1以下
であれば、その候補ブロックに対して、予測誤差演算部
105でL2(L1<L2≦L)個の画素を用いて予測
誤差PE2を求める。
【0134】予測誤差PE1が閾値TH1より大きく閾
値TH2以下であれば、カウンタ503をインクリメン
トし、比較部504でカウンタ503の値とレジスタ5
02の値を比較し、カウンタ503の値がレジスタ50
2の値以下であれば、その候補ブロックに対して予測誤
差PE2を求める。すなわち、予測誤差PE1が閾値T
H1より大きく閾値TH2以下である候補ブロックの中
で、動きベクトル発生器115において、対応する動き
ベクトルが早く発生する(M−m)個の候補ブロックに
対してのみ、予測誤差PE2を求めることなる。
【0135】なお、予測誤差PE2を求める際、比較部
112で予測誤差PE2と最小値MIN_PEを比較
し、予測誤差PE2が最小値MIN_PEより小さけれ
ば、予測誤差PE2を新たに最小値MIN_PEとし
て、そのときの動きベクトルとともにレジスタ113に
格納する。
【0136】(4)最後にレジスタ113に格納されて
いる動きベクトルを最適な動きベクトルとする。
【0137】なお、上記の処理の初期設定として、予測
誤差PE2の最小値MIN_PEを予測誤差PE2のと
り得る最大の値としてレジスタ113にセットし、閾値
TH1、閾値TH2として閾値THをレジスタ110に
セットする。
【0138】以下、上記の方式においてブロックマッチ
ングに必要な計算量について説明する。
【0139】ここで、subは減算、addは加算、o
psは計算量を示す。
【0140】また、ブロックは大きさが16×16の矩
形ブロック、動きベクトルの探索範囲は水平方向、垂直
方向ともに−15〜+15の矩形領域、動きベクトルの
精度は1画素単位であるものと仮定する。
【0141】予測誤差としては画素値の差分の絶対値の
和を用いるものとし、L1=16、L2=256と仮定
すると、上記の処理で必要となる計算量は、 予測誤差PE1の計算:16(sub)+15(ad
d)=31ops 予測誤差PE1と閾値THの比較:1ops 予測誤差PE1と閾値TH1の比較:1ops 予測誤差PE1と閾値TH2の比較:1ops 予測誤差PE2の計算:240(sub)+240(a
dd)=480ops 予測誤差PE2と最小値の比較:1ops となるので、全画素についての予測誤差が求められるブ
ロックの数をα(<M)とすると、 (31+1+1+1)×312 +(480+1)×α=32674+481α ops となる。
【0142】最大値は、32674+481Mopsで
ある。
【0143】実際には、予測誤差PE1と閾値TH2の
比較は、予測誤差PE1が閾値TH1より大きい候補ブ
ロックに対してのみ行えばよく、また、予測誤差PE1
が閾値TH1より大きく、閾値TH2以下である候補ブ
ロックから(M−m)個が選び出されたら、それ以降は
実行しなくてよい。
【0144】以上のことから、予測誤差PE1が閾値T
H2以下のM個以下の候補ブロックに対してのみ、予測
誤差PE2を求めることにより、計算量をフルサーチよ
り少なく、しかも一定量以下に削減することができる。
【0145】上記の方式を現在ISOで標準化作業が進
められている動画像符号化方式MPEG2の動きベクト
ル検出部分に適用した場合についての結果を示す。
【0146】ここでは、予測誤差PE1を求める際、図
9に示す位置にある16個の画素を用い、Mは70とし
た。
【0147】なお、シーケンス1はパンニングをともな
う2秒間の動画像、シーケンス2は平滑領域が多く、ズ
ーミングをともなう2秒間の動画像である。
【0148】(1)PE1と閾値の比較により削除され
る候補ブロックの割合(単位:%) シーケンス1:95.93 シーケンス2:93.
47 (2)再生画像の輝度信号のSNR(単位:db) 参考のために、フルサーチの結果も併記する。
【0149】()内の値はフルサーチとの差である。
【0150】 以上の結果から、本方式は、フルサーチと比較して計算
量を約90%削減しても、再生画像の画質(SNR)が
ほぼ同等の動きベクトルが得られることがわかる。
【0151】
【発明の効果】以上説明したように、本発明にてなる動
きベクトル検出回路を用いれば、ブロックマッチングに
必要な計算量を大きく削減でき、かつフルサーチとほぼ
同等の精度の非常に高い動きベクトルを求めることがで
きる。
【図面の簡単な説明】
【図1】本発明にてなる動きベクトル検出回路の第1の
実施例のブロック図である。
【図2】横軸を予測誤差PE1とするヒストグラムを示
す図である。
【図3】第1の実施例における閾値THの決め方を説明
するための図である。
【図4】予測誤差PE1の最小値を求める手段のブロッ
ク図である。
【図5】本発明にてなる動きベクトル検出回路の第2の
実施例のブロック図である。
【図6】第2の実施例における閾値TH1、閾値TH2
の決め方を説明するための図である。
【図7】本発明にてなる動きベクトル検出回路の第3の
実施例のブロック図である。
【図8】本発明にてなる動きベクトル検出回路の第4の
実施例のブロック図である。
【図9】L1個の画素についての予測誤差を求める際に
用いる画素の一例を示す図である。
【符号の説明】
101 アドレス発生器 102 アドレス発生器 103 メモリ 104 メモリ 105 予測誤差演算部 106 ヒストグラムメモリ 107 累積値演算部 108 比較部 109 メモリ 110 レジスタ 111 比較部 112 比較部 113 レジスタ 114 制御部 115 動きベクトル発生部 401 比較部 402 レジスタ 501 減算部 502 レジスタ 503 カウンタ 504 比較部 701 比較部 801 比較部
フロントページの続き (56)参考文献 特開 平5−40828(JP,A) 特開 平2−256385(JP,A) 特開 平3−40687(JP,A) 特開 昭63−116584(JP,A) 特開 平4−207790(JP,A) 特開 昭60−116081(JP,A) (58)調査した分野(Int.Cl.6,DB名) H04N 5/14 - 5/217

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 動き補償予測を用いる動画像符号化の
    際、L個の画素からなるブロックを単位として、予測対
    象画像内の1個の該ブロックに対して、参照画像内のN
    個の候補となる該ブロックとの間でブロックマッチング
    を行い動きベクトルを検出する動きベクトル検出回路に
    おいて、 ブロック内のL1(<L)個の画素を用いて予測誤差P
    E1を求める処理を、全ての候補ブロックに対して行う
    手段と横軸を予測誤差PE1とするヒストグラムを作成
    する手段と、 予測誤差PE1の小さい方から頻度を蓄積し、その蓄積
    値がM(<N)以下である最大の予測誤差PE1を閾値
    THとし、ブロック内のL2(L1<L2≦L)個の画
    素を用いて予測誤差PE2を求める処理を、予測誤差P
    E1が閾値TH以下である候補ブロックに対してのみ行
    う手段とを具備してなり、予測誤差PE2が最小となる
    候補ブロックへの動きベクトルを最適な動きベクトルと
    することを特徴とする動きベクトル検出回路。
  2. 【請求項2】 請求項1に記載の動きベクトル検出回路
    において、 予測誤差PE2を求める手段が、予測誤差PE1の小さ
    い方からヒストグラムの頻度を蓄積し、その蓄積値がM
    以下である最大の予測誤差PE1を閾値TH1、その時
    の累積値をm、累積値がM以上になる最小の予測誤差P
    E1を閾値TH2とし、予測誤差PE2を求める処理
    を、予測誤差PE1が閾値TH1以下であるm個の候補
    ブロック、および予測誤差PE1が閾値TH1より大き
    く閾値TH2以下である候補ブロックの中の(M−m)
    個の候補ブロックに対してのみ行うように構成されてい
    ることを特徴とする動きベクトル検出方式。
  3. 【請求項3】 請求項1に記載の動きベクトル検出回路
    において、 予測誤差PE2を求める手段が、予測誤差PE1が閾値
    TH以下である候補ブロックに関して、横軸を予測誤差
    PE1とするヒストグラムを作成し、予測誤差PE1の
    小さい方からヒストグラムの頻度を蓄積して、その蓄積
    値がM以下である最大の予測誤差PE1を新たに閾値T
    Hとし、予測誤差PE2を求める処理を、予測誤差PE
    1が閾値TH以下である候補ブロックに対してのみ行う
    ように構成されていることを特徴とする動きベクトル検
    出回路。
  4. 【請求項4】 請求項3に記載の動きベクトル検出回路
    において、 予測誤差PE2を求める手段が、予測誤差PE1の小さ
    い方からヒストグラムの頻度を蓄積し、その蓄積値がM
    以下である最大の予測誤差PE1を閾値TH1、その時
    の蓄積値をm、蓄積値がM以上になる最小の予測誤差P
    E1を閾値TH2とし、予測誤差PE2を求める処理
    を、予測誤差PE1が閾値TH1以下であるm個の候補
    ブロック、および予測誤差PE1が閾値TH1より大き
    く閾値TH2以下である候補ブロックの中の(M−m)
    個の候補ブロックに対してのみ行うように構成されてい
    ることを特徴とする動きベクトル検出回路。
JP11989393A 1993-04-09 1993-05-21 動きベクトル検出回路 Expired - Fee Related JP2840007B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP11989393A JP2840007B2 (ja) 1993-05-21 1993-05-21 動きベクトル検出回路
US08/221,744 US5497338A (en) 1993-04-09 1994-03-31 Motion vector detecting circuit
EP94105476A EP0624981B1 (en) 1993-04-09 1994-04-08 Motion vector detecting circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11989393A JP2840007B2 (ja) 1993-05-21 1993-05-21 動きベクトル検出回路

Publications (2)

Publication Number Publication Date
JPH06334896A JPH06334896A (ja) 1994-12-02
JP2840007B2 true JP2840007B2 (ja) 1998-12-24

Family

ID=14772838

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11989393A Expired - Fee Related JP2840007B2 (ja) 1993-04-09 1993-05-21 動きベクトル検出回路

Country Status (1)

Country Link
JP (1) JP2840007B2 (ja)

Also Published As

Publication number Publication date
JPH06334896A (ja) 1994-12-02

Similar Documents

Publication Publication Date Title
JP4472986B2 (ja) 動き推定および/または補償
JP3149840B2 (ja) 動きベクトル検出装置及び方法
US7519230B2 (en) Background motion vector detection
EP0624981B1 (en) Motion vector detecting circuit
KR20060121856A (ko) 폐쇄 검출에 기초한 픽셀의 시간적 보간
US20050180506A1 (en) Unit for and method of estimating a current motion vector
JP2005505841A (ja) 動き推定のための装置及び方法
JP2005522762A (ja) 動き推定ユニット及び動きベクトル推定方法
JP4213035B2 (ja) オクルージョン領域を検出するオクルージョン検出器および方法
WO1999040726A2 (en) Motion or depth estimation
US8837595B2 (en) Motion estimation method
US8102915B2 (en) Motion vector fields refinement to track small fast moving objects
JP3175914B2 (ja) 画像符号化方法および画像符号化装置
US8582882B2 (en) Unit for and method of segmentation using average homogeneity
JP2006215655A (ja) 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体
AU2004200237B2 (en) Image processing apparatus with frame-rate conversion and method thereof
JP2840007B2 (ja) 動きベクトル検出回路
JP2006215657A (ja) 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体
JP3046689B2 (ja) 動きベクトル検出方法
JP3237815B2 (ja) 動きベクトル探索方法および装置
JPH08242454A (ja) グローバル動きパラメタ検出方法
JPH0614316A (ja) 動きベクトル検出装置
JP4378801B2 (ja) 画像処理方法および画像処理装置
JP2752007B2 (ja) 動きベクトル検出装置
JPH104555A (ja) 動きベクトル検出装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees