JP2004048512A - 動画像符号化方法と動画像符号化回路 - Google Patents

動画像符号化方法と動画像符号化回路 Download PDF

Info

Publication number
JP2004048512A
JP2004048512A JP2002204886A JP2002204886A JP2004048512A JP 2004048512 A JP2004048512 A JP 2004048512A JP 2002204886 A JP2002204886 A JP 2002204886A JP 2002204886 A JP2002204886 A JP 2002204886A JP 2004048512 A JP2004048512 A JP 2004048512A
Authority
JP
Japan
Prior art keywords
motion vector
search
block
frame
coded block
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
Application number
JP2002204886A
Other languages
English (en)
Inventor
Eiji Yamamoto
山本 英治
Masaaki Hisanaga
久永 正明
Hidekazu Tanaka
田中 英一
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2002204886A priority Critical patent/JP2004048512A/ja
Publication of JP2004048512A publication Critical patent/JP2004048512A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】単位探索範囲あたりの探索演算コストを抑え、かつ探索範囲を効率よく決定することを可能とする動きベクトル検出動作を実現した動画符号化方法と動画符号化回路を提供する。
【解決手段】動きベクトル検出の傾向情報を利用して、動きベクトルの探索範囲を探索の過程において動的に最適な位置に変更し、最適な動きベクトルを検出することができる。また、動きベクトル探索の過程において動きベクトル候補に対する閾値を設けることにより動きベクトルを得るに必要な演算量を最適化し、余剰となった演算量を次の動きベクトルを得るのに必要な演算量に加えることにより、探索範囲を拡大し最適な動きベクトルを検出することができる。
【選択図】   図4

Description

【0001】
【発明の属する技術分野】
この発明は、動画像符号化方法と動画像符号化回路に関し、特に、動画像の符号化技術におけるフレーム間予測符号化を行うための動きベクトル検出技術に利用して有効な技術に関するものである。
【0002】
【従来の技術】
MPEG(Moving Picture Experts Group) などの動画像符号化方式において、動画像シーケンスの各フレームを符号化ブロックに分割し、符号化ブロック毎に過去や未来、または過去と未来のフレームから検出した動きベクトルを用いて予測ブロックを求める動き補償フレーム間予測とフレーム間予測を用いず符号化ブロック自身を符号化するフレーム内符号化がある。
【0003】
本願発明に先立って検討された動画像符号化器のブロック図を図10に示す。この動画像符号化器は、入力画像611を一時的に記憶する入力フレームメモリ601、符号化ブロックと予測ブロックの差分ブロックを計算する減算器602、差分ブロックを符号化する符号化器603、セレクタ604、動きベクトル検出回路610によって計算された情報から符号化モードを決定する符号化モード判定回路605、符号化データを復号する復号器606、復号された差分ブロックと予測ブロックとを加算して復号ブロックを生成する加算器607、予測ブロックを生成する動き補償予測回路608、復号された参照フレームを記憶する参照フレームメモリ609、動き補償フレーム間予測のための動きベクトルを算出する動きベクトル検出回路610から成り、符号化器603から符号化されたストリーム612が出力される。
【0004】
以下、図10を用いて先に検討された動画像符号化器の動作について説明する。入力画像611は一旦入力フレームメモリ601に書き込まれ、入力フレームメモリ601から読み出された入力画像を分割した符号化ブロックは、動きベクトル検出回路610に入力される。動きベクトル検出回路610は参照フレームメモリ609から参照フレームの参照画像データを読み出し、符号化ブロックとの間でマッチング誤差演算を行い動きベクトルを検出する。
【0005】
動き補償予測回路608は、動きベクトル検出回路610によって検出された動きベクトルが示す参照画像データを参照フレームメモリ609から読み出し、その参照画像データを用いて予測ブロックを生成する。また、フレーム間予測における予測誤差を符号化モード判定回路605に出力する。符号化モード判定回路605は、入力フレームメモリ601が出力する符号化ブロックの発生符号量予測を行い、動き補償予測回路608が出力する予測ブロックの予測誤差を用いて、符号化ブロックの発生符号量予測と予測ブロックの予測誤差の大小比較を行なう。
【0006】
セレクタ604は、符号化モード判定回路605によって決定された符号化方法に従って出力を切り替える。符号化ブロックの発生符号量予測の方が予測誤差より小さい場合はフレーム内符号化モードと判定する。この場合、セレクタ604で“0”が選択される。予測誤差の方が符号化ブロックの発生符号量予測の方より小さい場合はフレーム間予測と判定する。この場合、セレクタ604で動き補償予測回路608から出力される予測ブロックが選択される。減算器602は符号化ブロックと予測ブロックとの間の差分を算出する。
【0007】
差分は動きベクトル検出回路610によって検出された動きベクトルとともに符号化器603で符号化され、符号化ストリームが出力される。符号化ストリームは復号器606で復号され、復号された差分ブロックは加算器607において予測ブロックと加算される。加算器607の出力は、フレームに対する予測に用いる参照フレームとして参照参照フレームメモリ609に記憶される。
【0008】
動き補償予測における動きベクトル探索方法の例を図12に示す。動きベクトルの探索方式としては、参照フレーム801の探索範囲802の予測ブロック804に対し、予測ブロック候補804と符号化フレーム806にある符号化ブロック807との間の差分を計算し、差分が最小となる候補の符号化ブロック807と参照フレーム上で同一の位置にあるブロック805から見た向きと大きさを動きベクトル803とするブロックマッチング方式が一般的である。
【0009】
動き補償予測におけるブロックマッチング方式の動きベクトル探索回路の例を図11に示す。符号化の対象となる符号化画像データ709と参照フレームメモリ708から読み出された、探索位置演算器701に記憶された探索位置の参照画像データ710が絶対値差分演算器702に入力され両者の絶対値差分が計算される。これを符号化ブロック内の画素分繰り返し,その結果が累算器703および絶対値差分和メモリ704に格納される。
【0010】
符号化ブロックのすべての画素に対する演算が終了すると,その結果は最適解メモリ706に格納される。同時にそのときの探索位置も動きベクトル候補として格納される。以上の演算を探索範囲内で水平または垂直に1画素移動させ繰り返し行う。その演算結果は比較器707で過去の演算結果と比較され、絶対値差分和の小さいほうがセレクタ705により最適解として最適解メモリ706に格納される。絶対値差分和が新しい値に更新された場合は動きベクトルもそのときの探索位置に更新される。探索範囲全てについて演算を終了したとき最適解メモリに格納された値が最適な動きベクトル711となる。
【0011】
このように、ブロックマッチング方式の動きベクトル探索では、符号化ブロック画素数と探索範囲画素数の積の絶対値差分演算が必要となるため、探索範囲を参照フレーム全体まで広くすると総演算量が膨大となる問題がある。このため、探索範囲を参照フレームの一部分に限定し所要演算量を抑えることが一般に行われる。
【0012】
動きベクトルが探索範囲を超える様な動きの大きな画像が入力された場合には、適切な予測ブロックを検出することができないため符号化効率が低下する。単に探索領域の拡大を行うだけでは、先に述べたようにブロックマッチング演算の回数が増えることで演算量の増加、処理時間の増加という問題がある。ブロックマッチング演算の並列処理を行い、演算量の処理時間を抑える方法もあるが、動きベクトル検出回路の規模が大きくなるという問題がある。
【0013】
この問題の改善手法として、過去の符号化における動きベクトル情報を利用して次の探索範囲を効率よく求める方式が特開平05−32833号公報、特開平10−304371号公報に開示されている。
【0014】
【発明が解決しようとする課題】
過去の符号化における動きベクトル情報は常に利用可能なわけではない。例えば、符号化開始時は過去にフレーム間予測符号化を用いて符号化されたフレームが無いため時間的過去のフレームの動きベクトル情報は全く利用できない。このため、過去の動きベクトル情報から次の探索範囲を予測する手段を有し、探索範囲を効率よく絞り込むことが可能であっても、過去の動きベクトル情報が利用できない場合も想定しなければならないため、実際には探索範囲をある程度以下にすることはできない。
【0015】
特開平05−32833号公報や特開平10−304371号公報で開示された改善手法では探索範囲あたりの演算量は前記図11に示した手法に比べ削減されていないため、全体として探索演算量をある程度以下には減らすことができない。その場合、特開平05−32833号公報や特開平10−304371号公報で開示された改善手法で設けられている次の探索範囲の予測を最適に行うための過去の動きベクトル検出時の情報を記憶するための手段を多く備えた場合、回路規模が従来の固定された範囲の探索を行う動きベクトル検出方式よりも増加する。
【0016】
本発明は以上の問題点に鑑みなされたものであり、その目的とするところは、単位探索範囲あたりの探索演算コストを抑え、かつ探索範囲を効率よく決定することを可能とする動きベクトル検出動作を実現した動画符号化方法と動画符号化回路を提供することにある。この発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【0017】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば、下記の通りである。本発明は動きベクトル検出の傾向情報を利用して、動きベクトルの探索範囲を探索の過程において動的に最適な位置に変更し、最適な動きベクトルを検出する。また、動きベクトル探索の過程において動きベクトル候補に対する閾値を設けることにより動きベクトルを得るに必要な演算量を最適化し、余剰となった演算量を次の動きベクトルを得るのに必要な演算量に加えることにより、探索範囲を拡大し最適な動きベクトルを検出する。
【0018】
【発明の実施の形態】
本発明の動きベクトル探索方法について図1を用い説明する。この実施例の動きベクトル探索方法は、特に制限されないが、前記図10の動画符号化器に用いられる。ある符号化ブロックの動きベクトル探索において、過去の符号化情報より予測された動きベクトル104の情報を元にし、動きベクトル探索を開始する時点で符号化ブロック109に対する初期の探索範囲102を決定する。決定した初期の探索範囲内で動きベクトル探索を開始する。
【0019】
本発明ではさらに探索開始後、動きベクトル探索の過程において動きベクトル検出の傾向情報を求め、これを利用して動きベクトル探索の探索範囲をより最適な位置に変更する。また、動きベクトル探索の過程において動きベクトル探索演算における個々の動きベクトル候補の判定演算時の終了閾値を設けることにより無駄な演算を削減し、結果として発生する余剰な演算時間を利用して探索範囲を拡大する。
【0020】
これら探索範囲の変更を動きベクトル探索が終了するまで探索の過程において随時行い、動きベクトル探索範囲をより最適な位置へ動的に変更する。動きベクトル探索が終了する時点で最終的な探索範囲103は初期の探索範囲102とは形状が異なり、また探索面積は広くなる。以上の方法により、例えば予測ブロック106のように初期の探索範囲102では探索対象とならない位置に最適解がある場合においても本発明で用いられる探索範囲103では動きベクトル探索を可能とし、最適な動きベクトル105を検出する。
【0021】
初めに符号化する任意のブロックの動きベクトルの探索演算方法を図2と図3のフローチャートに沿って説明する。図2の▲1▼ないし▲5▼は、図3の▲1▼ないし▲5▼に対応している。符号化するブロックの探索範囲の初期値218、閾値(th_value)の初期値202、最大許容演算量(c_rest) の初期値203は、次のようにして求められる。
【0022】
探索範囲の初期値218は次に示す式(1)および式(2)を用いて、過去のフレームにおける同一位置ブロックの動きベクトルおよび参照フレームと符号化フレームの距離より求められる探索範囲の中心座標(h_prd, v_prd)、符号化 するブロックの位置座標(k,j)、符号化ブロックの水平サイズp 、符号化ブロ ックの垂直サイズq 、現在の探索位置(m,l)から次式(1)および式(2)を満たす範囲として求められる。
abs( m − k×p − h _prd) <( h_max / 2)   ・・・・・・・・・・・・ (1)
abs( l − j×q − v _prd) <( v_max / 2)   ・・・・・・・・・・・・ (2)
【0023】
ここで、
abs( ):絶対値を計算する関数
k     :符号化ブロックの水平位置
j     :符号化ブロックの垂直位置
m     :現在の探索位置の水平位置
l     :現在の探索位置の垂直位置
p     :符号化ブロックの水平サイズ
q     :符号化ブロックの垂直サイズ
h_max :初期探索範囲の水平方向の長さ
v_max :初期探索範囲の垂直方向の長さ
である。
【0024】
動きベクトルの探索演算で用いる閾値(th_value)の初期値202は、符号化するブロックの画像データから得られる閾値または符号化するブロックと同一位置ブロックの過去のフレームにおける予測符号量から得られる閾値から求める。符号化するブロックの画像データから得られる閾値は次に示す式(3)から求める。
【0025】
【式3】
Figure 2004048512
【0026】
ここで、
th_in:閾値
n    :ブロック内の画素数
n   :符号化ブロックの画素データ
p    :符号化ブロックの水平サイズ
q    :符号化ブロックの垂直サイズ
abs( )  :絶対値を計算する関数
mean( )  :ブロック内画素の平均値
である。
【0027】
符号化するブロックと同一位置ブロックの過去のフレームにおける予測符号量から得られる閾値は、符号化するブロックと同一位置ブロックの過去のフレームにおける予測符号量に対し、前回の動きベクトル探索時の絶対値差分和に参照フレームと符号化フレームの距離で決定する係数を乗じた値から求められる。閾値(th_value)の初期値202は、符号化するブロックと同一位置ブロックの過去のフレームにおける予測符号量から得られる閾値が無い場合、式(3)から得られる符号化するブロックの画像データから得られる閾値を用いる。逆に、符号化するブロックと同一位置ブロックの過去のフレームにおける予測符号量から得られる閾値がある場合、式(3)から得られる符号化するブロックの画像データから得られる予測符号量から得られる閾値と符号化するブロックと同一位置ブロックの過去のフレームにおける閾値を比較し、値の小さい方を閾値(th_value)の初期値202として用いる。
【0028】
最大許容演算量(c_rest) の初期値203は、初期状態の探索範囲形状を完全に探索した場合の所要演算時間とし、式(4)で示す値とする。
c_rest = h_max × v_max × p×q          ・・・・・・・・・・・・ (4)
【0029】
ここで、
c_rest  :所要演算量初期値
p       :符号化ブロックの水平サイズ
q       :符号化ブロックの垂直サイズ
h_max   :初期探索範囲の水平方向の長さ
v_max  :初期探索範囲の垂直方向の長さ
である。
【0030】
探索位置(x,y)の初期値219は、初期探索範囲の中心座標(h_prd, v_prd)と初期探索範囲の水平方向の長さ h_max および初期探索範囲の垂直方向の長さv_max から求められる値である。また、探索画素相対位置(i) は探索位置(x,y)の初期値219からの相対的な画素位置を示し、204にて探索画素相対位置(i)を0にする。次に、絶対値差分和(absdiff)の初期値205および探索ブロックない画素位置(j)の初期値206を0にした後、パターンマッチング演算の実行に移る。
【0031】
絶対値差分和演算207は、探索位置(x,y)と探索ブロック内画素位置(j)で示された位置の符号化ブロックの画像データと参照ブロックの画像データから得られる絶対値差分値を絶対値差分和(absdiff)に加算し、その結果を再び絶対値差分和(absdiff)に代入する。
【0032】
絶対値差分和(absdiff)の値が閾値(th_value)の値よりも小さいとき、探索ブロック内に最適な動きベクトル候補が得られる可能性があると判断し209に移る。逆に、絶対値差分和(absdiff)の値が閾値(th_value)以上の値になったとき、探索ブロック範囲内にさらなる最適な動きベクトル候補が得られないと判断し215に移る。絶対値差分和演算が符号化ブロックの全画素数に対し完了していない場合、210にて最大許容演算量(c_rest)を減算する。
【0033】
211は演算量の制限による絶対値差分和演算の打ち切りを示す。211にて最大許容演算量(c_rest)が0になった場合、符号化ブロックの画全素分の絶対値差分和演算が終了していなくても符号化ブロックの動きベクトルの探索を終了する。逆に、最大許容演算量(c_rest)が0でない場合、探索ブロック内画素位置(j)の値を1加算し、次の画素との絶対値差分和演算207を行う。
【0034】
209にて絶対値差分和演算207が符号化ブロックの全画素数に対し行われた場合、それまでに得られた動きベクトル候補が探索ブロック内の最適なものとなるため、213にて動きベクトルの更新を行う。また、そのときの絶対値差分和(absdiff)は探索ブロック内の最適な閾値となるため、214にて閾値の更新を行う。
【0035】
215にて、探索範囲内の全ての画素に対し符号化ブロックの画像データと参照ブロックの画像データとの比較が終了していない場合、216にて次の探索範囲の中心座標( h_prd, v_prd)の演算を行う。探索範囲の中心座標を水平方向移動させるか、垂直方向に移動させるかは任意である。215にて、探索範囲内の全ての画素に対し符号化ブロックの画像データと参照ブロックの画像データとの比較が終了した場合、217に移りパターンマッチング演算は終了する。このとき、探索範囲内での最適な動きベクトルが得られる。
【0036】
本発明の動きベクトル探索回路による探索演算と閾値の関係について図4を用いて説明する。1回のパターンマッチング演算に必要な演算量を mと仮定する。絶対値差分和が n (但しm>n)の演算量で閾値を超えた場合、その探索位置はそれ以上演算を続けても最適な動きベクトル候補を得られないと判断され、図4(a)のグラフに示すようにその探索位置の演算はブロック内画素分の演算が終了していなくても途中で打ち切る。mからnを減じた演算量が次回以降のパターンマッチング演算に繰り越される。
【0037】
1回のパターンマッチング演算が演算途中で閾値に達せずにブロック内画素すべてについて終了した場合、そのときの探索位置および絶対値差分和が動きベクトル候補として選択される。またこの場合、図4(b)のグラフに示すように、絶対値差分和が閾値を下回っているのでその絶対値差分和が次回以降のパターンマッチング演算における新たな閾値として選択される。
【0038】
以上の演算を探索位置毎に行うと、閾値の変化は図4(c)のようになる。パターンマッチング演算が演算途中で閾値に達することなく動きベクトル候補が検出された個所が図中○で示された位置であり、その中から◎の探索個所が最適解として選択される。すべての探索範囲において絶対値差分和が閾値を上回り、動きベクトルが検出されない場合はフレーム内符号化と判定し処理する。
【0039】
動きベクトル検出の傾向情報について説明する。動きベクトル検出の傾向情報とは、符号化ブロックの動きベクトル探索の過程において検出される動きベクトル候補が探索領域のどの部分に偏在するかを示す情報である。動きベクトル検出の傾向情報で得られる動きベクトル候補を多く検出できる部分に、動きベクトル探索を集中させれば、最適な動きベクトルを検出できる可能性が大きくなる。
【0040】
水平または垂直方向に探索を行う場合において、ある1ラインの探索が終了した時点で動きベクトル候補の座標(h_vec2,v_vec2)が検出されるとする。次ライン以降の探索が進むに従い動きベクトル候補の加算平均を求め、動きベクトル候補の平均値の座標(h_prd2,v_prd2)として保持する。
h_prd2 = h_prd2×((t−1)/t) +  h_vec2×(1/t) ・・・・・・・・(5)
v_prd2 = v_prd2×((t−1)/t) +  v_vec2×(1/t)     ・・・・・・(6)
ここで、t :そのラインまでに求められた動きベクトル候補の総数である。
【0041】
得られた動きベクトル候補の平均値の座標を、そのラインまで動きベクトル探索が終了した時点での動きベクトル検出の傾向情報とする。水平または垂直方向に探索を行う場合、1ラインの探索が終了した時点で初期の探索範囲の中心座標(h_prd, v_prd)に対して動きベクトル候補の平均値の座標(h_prd2,v_prd2)を追加し、探索範囲を決定する式(1)および式(2)は以下の式(7)および式(8)に示すように変形する。
abs(m − k × p − ( h_prd+ h_prd2)/2 ) < (h_max/2)   ・・・・(7)
abs(l − j × q − ( v_prd+ v_prd2)/2 ) < (v_max/2)   ・・・・(8)
【0042】
ここで、
abs( ):絶対値を計算する関数
k   :符号化ブロックの水平位置
j  :符号化ブロックの垂直位置
m  :現在の探索位置の水平位置
l  :現在の探索位置の垂直位置
p  :符号化ブロックの水平サイズ
q  :符号化ブロックの垂直サイズ
h_max :初期の探索範囲の水平方向の長さ
v_max :初期の探索範囲の垂直方向の長さ
h_prd :初期の探索範囲の中央の水平位置
v_prd :初期の探索範囲の中央の垂直位置
h_prd2:動きベクトル候補の平均値の水平位置
v_prd2:動きベクトル候補の平均値の垂直位置
である。但し、水平方向に探索を行う場合は式(8)は適用せず、垂直方向に探索を行う場合は式(7)は適用しない。
【0043】
図5に動きベクトル検出の傾向情報と探索範囲の変化の関係を示す。line0で示すライン上の探索範囲の探索が終了した時点で動きベクトル最適解候補403が得られたと仮定する。この結果を式(5)から式(8)に当てはめると、line1で示すライン上の探索範囲の位置は初期の探索範囲と比較して左へ2画素移動する。
【0044】
line1で示すライン上の探索範囲の探索が終了した時点で動きベクトル最適解候補が得られなかった場合、探索位置は変化しない。line2で示すライン上の探索範囲の探索が終了した時点で動きベクトル最適解候補402が得られたと仮定する。この結果を式(5)から式(8)に当てはめると、line3で示すライン上の探索範囲の位置は初期の探索範囲と比較して左へ3画素移動される。このような処理をライン毎に繰り返す。
【0045】
その結果として、ライン毎に探索範囲が移動し、探索範囲は動きベクトル検出情報が示す位置に探索の中心が近づくように変形する。このように、動きベクトル探索過程で実際に求まった動きベクトル検出の傾向情報を以降の探索範囲に反映させることで、より適切な探索範囲へ変更が可能となる。
【0046】
図6に絶対値差分演算の演算量と探索範囲の変化の関係を示す。閾値判定により動きベクトル探索が途中で打ち切られた場合、実際に行われた絶対値差分演算の演算量は打ち切られなかった場合のパターンマッチングの所要演算量より少ない。この演算量の差分を繰越演算量として記憶しておく。繰り越された演算量を1つの探索位置におけるパターンマッチング演算の所要演算量で割った値の画素分だけ探索範囲を追加することが可能となる。1ライン分の動きベクトル探索演算が終了した時点での繰越演算量から追加可能な次のラインの探索範囲を広くする。
【0047】
図6はブロックサイズが水平2画素、垂直2画素の場合のある符号化ブロックの動きベクトル探索を示す。図は探索範囲のline0で示すライン上の探索位置の探索における絶対値差分和および絶対値差分演算回数を示す。1ラインの初期の探索範囲502は11画素であり、ブロックサイズから得られる必要な絶対値差分演算回数は44回である。
【0048】
図6で絶対値差分和が閾値503を上回っている部分はパターンマッチング演算が途中で打ち切られる。その結果、実際に行われる絶対値差分演算回数505は25となる。差分の19回は繰越演算量となる。これを1回のパターンマッチングに必要な絶対値差分演算回数である4で割った商は4となり、4画素分の探索ができる演算量が繰り越されたことを意味する。図7の509に示すように次のline1で繰り越された演算量を利用して探索範囲を左右2画素拡大することが可能となる。この処理がライン毎に繰り返されると、探索範囲は初期の探索範囲よりも広くなるように変化する。
【0049】
以上に述べた動きベクトル探索範囲の変形および拡大の効果について、前記図1を用い説明する。動きベクトル探索過程で実際に求まった動きベクトル検出の傾向情報を以降の動きベクトル探索に動的に反映させることで、最終的な探索範囲103は初期の探索範囲102よりも適切な探索位置へ変更される。また、探索の過程において絶対値差分演算を最適に行い余剰となった演算量を用いて探索範囲を拡大するので、最終的な探索範囲103は初期の探索範囲102よりも広くなる。
【0050】
このように、従来手法において初期の探索範囲102で示される範囲を探索する為に必要な演算量で、本発明では最終的な探索範囲103で示される範囲の探索が可能となる。その結果、例えば予測ブロック106のように従来の手法では探索できなかった位置とのパターンマッチングが可能となり、最適な動きベクトル105が検出可能となる。
【0051】
本発明に係る動きベクトル探索回路の一実施例のブロック図を図8に示す。この実施例は、特に制限されないが、前記図10の動画符号化器の動きベクトル検出回路として用いられる。
【0052】
本発明の動きベクトル探索方法を用いた動きベクトル探索回路は、参照画像データの探索位置を制御する探索位置演算器901、動きベクトル探索の総演算時間を格納する演算量メモリ902、符号化画像データ913および過去の符号化情報912より閾値初期値を算出する閾値初期値演算器903、算出された閾値初期値を格納する閾値メモリ904、閾値および最適解を選択するセレクタ905、各探索位置の絶対値差分演算時の演算結果と閾値を比較する比較器906、符号化の対象となる符号化画像データ913と参照フレームメモリから読み出された参照画像データの絶対値差分を計算する絶対値差分演算器907、絶対値差分演算器907の結果を符号化ブロック内の画素分累算する累算器908およびそれを格納する絶対値差分和メモリ909、最適な動きベクトル候補と絶対値差分和を格納する最適解メモリ910からなり、最適解メモリ910から動きベクトル探索結果である動きベクトル914と次に過去の符号化情報として用いられる絶対値差分和915が出力される。
【0053】
図2、図3で示した本発明の動きベクトル探索方法の探索範囲の初期値218は探索位置演算器901で求められる。閾値の初期値202は閾値初期値演算器903で行われる。閾値初期値演算器903は、符号化画像データ913および過去の符号化情報912より閾値初期値を算出する。算出された閾値初期値は閾値メモリ904に格納する。最大許容演算量設定203は演算量メモリ902で行われる。演算量メモリ902は動きベクトル探索の総演算時間を格納する。
【0054】
探索位置の初期値219は探索位置演算器901の制御部で行われる。絶対値差分和の初期化205およびブロック内画素位置の初期化206は絶対値差分和メモリ909の制御時に行われる。絶対値差分和演算207は絶対値差分演算器907、累算器908および絶対値差分和メモリ909で行われる。
【0055】
符号化の対象となる符号化画像データ913と参照フレームメモリから読み出された探索位置演算器901に記憶された探索位置の参照画像データ912が絶対値差分演算器907に入力され両者の絶対値差分が計算される。計算結果は累算器908で絶対値差分和メモリ909が出力する、それまでの絶対値差分和演算結果に加算され絶対値差分和メモリ909へ再び格納される。
【0056】
閾値と絶対値差分和の比較208は比較器906で行われる。各探索位置の絶対値差分演算207の演算結果が比較器906で閾値と比較され、絶対値差分和が閾値以上の値になった場合、その探索位置以降の絶対値差分演算は打ち切られる。閾値との比較が符号化ブロック画素数分行われたどうかの判断は絶対値差分和メモリ909の制御時に行われる。
【0057】
絶対値差分和演算207を符号化ブロックの画素分繰り返し、その結果が累算器908および絶対値差分和メモリ909に格納される。演算量の再設定210は演算量メモリ902の制御時に行われる。絶対値差分和演算終了時にその位置の動きベクトル探索の所要演算時間を計算し、求まった値を演算量メモリ902に格納された値から減じる。
【0058】
残り演算量の判定は演算量メモリ902の制御時に行われる。判定の結果、演算量メモリの値が0となった場合は以降の動きベクトル探索演算を打ち切る。探索ブロック内画素位置212の制御は絶対値差分和メモリの制御時に行われる。動きベクトル更新213は比較器906、セレクタ905および最適解メモリ910で行われる。各探索位置の絶対値差分演算終了時に絶対値差分和メモリ909の値が閾値メモリ904の値を下回っていた場合、絶対値差分和メモリ909に格納されている値が最適解として最適解メモリ910に格納される。
【0059】
最適解メモリ910に格納されている絶対値差分和が新しい値に更新された場合は最適解メモリ910に格納されている動きベクトルもそのときの探索位置から求まる動きベクトルを新しい値として更新する。閾値更新214は比較器906、セレクタ905および閾値メモリ904で行われる。探索位置の再設定216は探索位置演算器901の制御時に行われる。
【0060】
205から212の動作を探索位置演算器901で探索範囲内を水平または垂直に1画素ずつ移動させ繰り返し行う。探索終了の判定215は探索位置演算器901の制御時に行われる。探索範囲全てについて演算を終了したとき最適解メモリに格納された値が最適な動きベクトルとなり、最適解メモリ910から出力される。
【0061】
図9には、この発明が適用された携帯電話装置の一実施例のブロック図が示されている。マイク(送話器)、スピーカ(受話器)に対応して音声インターフェスが設けられる。アンテナに対応して送信電波を出力し、受信電波を入力する高周波インターフェイスが設けられる。カメラに対応して画像インターフェイスが設けられる。画像インターフェイスには、アナログ画像信号をデジタル画像信号に変換するAD変換回路も含まれる。信号処理はマイクロプロセッサ、DSP(デジタル・シグナル・プロセッサ)及びASIC(論理回路)からり、かかる信号処理回路に前記図10の符号化回路とそれに用いられる図8に示したような動きベクトル検出回路が含まれる。
【0062】
また、データを記憶するメモリ回路が設けられる。メモリ回路は、ダイナミック型RAM、スタティック型RAMや不揮発性メモリ(フラッシュメモリ)が用いられる。そして、液晶コントローラ(LSI)と液晶パネルが設けられて必要な表示動作が行われる。ダイヤル入力や文字入力のためのスイッチ(ボタンや動作モードの切り替えを行うスイッチ(ボタン)は、信号処理部に含まれる。このような携帯電話装置では、動画像処理が高速に行われるために高品質の動画情報を送信及び受信することができる。それ故、この発明に係る動画像符号化方法及び符号化回路は、携帯テレビ電話装置に好適なものとなる。
【0063】
以上本発明者よりなされた発明を実施例に基づき具体的に説明したが、本願発明は前記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。動画像符号化方法そのものは種々の実施形態を採ることができる。この発明は、動画符号化方法又は動画符号化回路における動きベクトルを探索に広く利用できる。
【0064】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。本発明は動きベクトル検出の傾向情報を利用して、動きベクトルの探索範囲を探索の過程において動的に最適な位置に変更し、最適な動きベクトルを検出することができる。また、動きベクトル探索の過程において動きベクトル候補に対する閾値を設けることにより動きベクトルを得るに必要な演算量を最適化し、余剰となった演算量を次の動きベクトルを得るのに必要な演算量に加えることにより、探索範囲を拡大し最適な動きベクトルを検出することができる。
【図面の簡単な説明】
【図1】この発明に係る動きベクトル探索方法の説明図である。
【図2】この発明に係る動きベクトル探索方法を説明するための一部フローチャート図である。
【図3】この発明に係る動きベクトル探索方法を説明するための残り一部フローチャート図である。
【図4】この発明に係る動きベクトル探索方法の閾値判定動作の説明図である。
【図5】この発明に係る動きベクトル探索方法の変形例の説明図である。
【図6】この発明に係る動きベクトル探索方法の閾値判定動作の拡大図説明図である。
【図7】この発明に係る動きベクトル探索方法の説明図である。
【図8】この発明に係る動きベクトル探索回路の一実施例を示すブロック図である。
【図9】この発明が適用された携帯電話機の一実施例を示すブロック図である。
【図10】本願発明に先立って検討された動画像符号化器のブロック図である。
【図11】図10の動きベクトル探索回路のブロック図である。
【図12】図10の動き補償予測における動きベクトル探索方法の説明図である。
【符号の説明】
101…参照フレーム、102…初期の探索範囲、103…最終的な探索範囲、104…過去の符号化情報により予測された動きベクトル、105…検出された動きベクトル、106…予測ブロック、107…符号化ブロックと同一位置にあるブロック、108…符号化フレーム、109…符号化ブロック、201〜219…本発明の動きベクトル探索方法の演算処理ステップ、
401…実際の探索範囲、402…line2の動きベクトル最適解候補、403…line0の動きベクトル最適解候補、404…初期の探索範囲、405…過去のフレーム情報により予測された探索位置の中心座標、            501…絶対値差分和、502…初期の探索範囲、503…閾値、504…探索位置、505…演算回数、506…実際の探索範囲、507…初期の探索範囲、508…過去のフレーム情報により予測された探索位置の中心座標、509…追加された探索領域、
601…入力フレームメモリ、602…減算器、603…符号化器、604…セレクタ、605…符号化モード判定回路、606…復号器、607…加算器、608…動き補償予測回路、609…参照フレームメモリ、610…動きベクトル検出回路、611…入力画像、612…符号化ストリーム、
701…探索位置演算器、702…絶対値差分演算器、703…累算器、704…絶対値差分和メモリ、705…セレクタ、706…最適解メモリ、707…比較器、708…参照画像フレームメモリ、709…符号化画像データ、710…参照画像データ、711…動きベクトル、712…絶対値差分和、
801…参照フレーム、802…探索範囲、803…動きベクトル、804…予測ブロック、805…符号化ブロックと同一位置にあるブロック、806…符号化フレーム、807…符号化ブロック、
901…探索位置演算器、902…演算量メモリ、903…閾値初期値演算器、904…閾値メモリ、905…セレクタ、906…比較器、907…絶対値差分演算器、908…累算器、909…絶対値差分和メモリ、910…最適解メモリ、911…参照フレームメモリ、912…過去の符号化情報、913…符号化画像データ、914…動きベクトル、915…絶対値差分和。

Claims (8)

  1. 動画像の各フレームをブロックに分割し、各符号化ブロックを参照フレームからのフレーム間予測を用いて符号化する動画像符号化方法であって、
    上記各符号化ブロックを参照フレームからのフレーム間予測を用いて符号化する動画像符号化の動きベクトル検出における各符号化ブロックの動きベクトルの探索において、動きベクトル探索の過程で検出される動きベクトル候補が探索領域のどの部分に偏在するかを示す情報である動きベクトルの傾向情報を用いて探索範囲を動的に変形させて最適な動きベクトルを探索してなることを特徴とする動画像符号化方法。
  2. 請求項1において、
    各符号化ブロックの動きベクトルの探索において、動きベクトル探索演算における個々の動きベクトル候補の判定演算時の終了閾値を設けて動きベクトル候補の判定演算を強制的に終了させることにより発生する余剰な演算時間を用いて探索範囲を拡大してより最適な動きベクトルを探索してなることを特徴とする動画像符号化方法。
  3. 請求項1において、
    各符号化ブロックの動きベクトルの探索において、動きベクトル探索の過程で検出される動きベクトル候補の加算平均を求め、動きベクトル候補の平均値の座標として保持することにより、動きベクトル探索の過程におけるその時点までの動きベクトルの傾向情報として用いてなることを特徴とする動画像符号化方法。
  4. 請求項1において、
    現フレームと参照フレームの時間的距離、符号化ブロックのフレーム間予測における予測誤差、符号化ブロックのフレーム内予測における予測符号量、現フレームの符号化ブロックと時間的に相関の高い過去のフレームの符号化ブロックに対する動きベクトルの大きさあるいは向き、現フレームの符号化ブロックと空間的に相関の高い現フレームの符号化済み符号化ブロックに対する動きベクトルの大きさあるいは向きを用いて得られる値を動きベクトル候補の判定演算時の終了閾値の初期値とし、
    上記各符号化ブロックの動きベクトルの探索において、動きベクトル探索の各探索位置で検出される動きベクトル候補の絶対値差分和を利用して動きベクトル候補の判定演算時の終了閾値を探索の過程で更新してなることを特徴とする動画像符号化方法。
  5. 動画像の各フレームをブロックに分割し、各符号化ブロックを参照フレームからのフレーム間予測を用いて符号化する動画像符号化回路であって、
    動きベクトル探索領域の予測ブロックと符号化ブロックとの間で演算を行う動きベクトル検出手段と、
    フレーム間予測における動きベクトル判定閾値を計算する動きベクトル判定閾値計算手段と、
    動きベクトル探索における探索位置を制御する手段と、
    現フレームにおける動きベクトル探索の過程における動きベクトル検出の傾向情報を記憶する手段とを備え、
    上記動きベクトルの傾向情報を用いて探索範囲を動的に変形させて最適な動きベクトルを探索してなることを特徴とする動画像符号化回路。
  6. 請求項5において、
    動きベクトル探索領域の予測ブロックと符号化ブロックとの間で演算を行う動きベクトル検出手段と、
    フレーム間予測における動きベクトル判定閾値を計算する動きベクトル判定閾値計算手段と、
    動きベクトル探索における探索位置を制御する手段と、
    動きベクトル探索における所要演算量を記憶する演算量メモリとを備え、
    個々の動きベクトル候補の判定演算時の終了閾値を設けて動きベクトル候補の判定演算を強制的に終了させることにより発生する余剰な演算時間を用いて探索範囲を拡大してより最適な動きベクトルを探索してなることを特徴とする動画像符号化回路
  7. 請求項5において、
    動きベクトル探索の過程で検出される動きベクトル候補の加算平均を求める手段と、
    動きベクトル候補の平均値の座標を保持する手段とを備え、
    動きベクトル探索の過程におけるその時点までの動きベクトルの傾向情報として用いてなることを特徴とする動画像符号化回路。
  8. 請求項5において、
    現フレームと参照フレームの時間的距離を記憶する手段と、
    符号化ブロックのフレーム間予測における予測誤差を記憶する手段と、
    符号化ブロックのフレーム内予測における予測符号量を記憶する手段と、
    現フレームの符号化ブロックと時間的に相関の高い過去のフレームの符号化ブロックに対する動きベクトルの大きさあるいは向きを記憶する手段と、
    現フレームの符号化ブロックと空間的に相関の高い現フレームの符号化済み符号化ブロックに対する動きベクトルの大きさあるいは向きをを記憶する手段と、
    終了閾値の初期値を算出する手段と、
    終了閾値を記憶する手段と、
    各符号化ブロックの動きベクトルの探索において、動きベクトル探索の各探索位置で検出される動きベクトル候補の絶対値差分和から終了閾値を更新する手段とを備え、
    動きベクトル探索の各探索位置で検出される動きベクトル候補の絶対値差分和を利用して動きベクトル候補の判定演算時の終了閾値を探索の過程で更新してなることを特徴とする動画像符号化回路。
JP2002204886A 2002-07-12 2002-07-12 動画像符号化方法と動画像符号化回路 Pending JP2004048512A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002204886A JP2004048512A (ja) 2002-07-12 2002-07-12 動画像符号化方法と動画像符号化回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002204886A JP2004048512A (ja) 2002-07-12 2002-07-12 動画像符号化方法と動画像符号化回路

Publications (1)

Publication Number Publication Date
JP2004048512A true JP2004048512A (ja) 2004-02-12

Family

ID=31710331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002204886A Pending JP2004048512A (ja) 2002-07-12 2002-07-12 動画像符号化方法と動画像符号化回路

Country Status (1)

Country Link
JP (1) JP2004048512A (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007183901A (ja) * 2005-12-30 2007-07-19 Altek Corp 動画の処理方法
JP2011091794A (ja) * 2009-10-20 2011-05-06 Intel Corp 動き推定の探索範囲の適応選択方法及び装置
JP2011151509A (ja) * 2010-01-20 2011-08-04 Hitachi Kokusai Electric Inc 画像処理装置
JP2011211498A (ja) * 2010-03-30 2011-10-20 Sanyo Electric Co Ltd 画像符号化装置および画像符号化方法
US8917769B2 (en) 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
JP2016063358A (ja) * 2014-09-17 2016-04-25 株式会社ソシオネクスト 符号化回路、符号化方法
US9509995B2 (en) 2010-12-21 2016-11-29 Intel Corporation System and method for enhanced DMVD processing
WO2016194828A1 (ja) * 2015-06-03 2016-12-08 オリンパス株式会社 演算装置、演算方法、及びプログラム
US9654792B2 (en) 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US10250885B2 (en) 2000-12-06 2019-04-02 Intel Corporation System and method for intracoding video data
CN111263097A (zh) * 2019-09-19 2020-06-09 华为技术有限公司 媒体数据传输方法及相关设备
CN112639838A (zh) * 2018-10-12 2021-04-09 奥林巴斯株式会社 运算处理装置

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10701368B2 (en) 2000-12-06 2020-06-30 Intel Corporation System and method for intracoding video data
US10250885B2 (en) 2000-12-06 2019-04-02 Intel Corporation System and method for intracoding video data
JP2007183901A (ja) * 2005-12-30 2007-07-19 Altek Corp 動画の処理方法
US9654792B2 (en) 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US8917769B2 (en) 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
US11765380B2 (en) 2009-07-03 2023-09-19 Tahoe Research, Ltd. Methods and systems for motion vector derivation at a video decoder
US9445103B2 (en) 2009-07-03 2016-09-13 Intel Corporation Methods and apparatus for adaptively choosing a search range for motion estimation
US10863194B2 (en) 2009-07-03 2020-12-08 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US9538197B2 (en) 2009-07-03 2017-01-03 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
US10404994B2 (en) 2009-07-03 2019-09-03 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US9955179B2 (en) 2009-07-03 2018-04-24 Intel Corporation Methods and systems for motion vector derivation at a video decoder
JP2011091794A (ja) * 2009-10-20 2011-05-06 Intel Corp 動き推定の探索範囲の適応選択方法及び装置
JP2011151509A (ja) * 2010-01-20 2011-08-04 Hitachi Kokusai Electric Inc 画像処理装置
JP2011211498A (ja) * 2010-03-30 2011-10-20 Sanyo Electric Co Ltd 画像符号化装置および画像符号化方法
US9509995B2 (en) 2010-12-21 2016-11-29 Intel Corporation System and method for enhanced DMVD processing
JP2016063358A (ja) * 2014-09-17 2016-04-25 株式会社ソシオネクスト 符号化回路、符号化方法
WO2016194828A1 (ja) * 2015-06-03 2016-12-08 オリンパス株式会社 演算装置、演算方法、及びプログラム
CN112639838A (zh) * 2018-10-12 2021-04-09 奥林巴斯株式会社 运算处理装置
CN111263097A (zh) * 2019-09-19 2020-06-09 华为技术有限公司 媒体数据传输方法及相关设备
CN111263097B (zh) * 2019-09-19 2024-01-02 华为技术有限公司 媒体数据传输方法及相关设备

Similar Documents

Publication Publication Date Title
TWI555387B (zh) 視訊解碼裝置、視訊編碼裝置、視訊解碼方法、視訊編碼方法、及儲存媒體(二)
US10341679B2 (en) Encoding system using motion estimation and encoding method using motion estimation
WO2001010135A1 (en) Moving vector detecting method
JP2003274416A (ja) 適応型動き推定装置及び推定方法
JP2009135991A (ja) ダイレクトモード動きベクトルの導出方法
JP2000236552A (ja) 動きベクトル検出装置
JP2004048512A (ja) 動画像符号化方法と動画像符号化回路
JP2006074474A (ja) 動画像符号化装置、動画像符号化方法および動画像符号化プログラム
KR100490730B1 (ko) 비디오 영상 압축 시스템에서의 적응적 패턴을 이용한움직임 예측 장치 및 방법
US7860165B2 (en) Framework for fine-granular computational-complexity scalable motion estimation
JPH10304371A (ja) 動きベクトル検出装置
JPH04180383A (ja) 動き補償フレーム間予測符号化における動きベクトルの探索回路
JP2005064655A (ja) 動きベクトル検出方法及び動きベクトル検出装置
AU2014210568B2 (en) Video decoding apparatus, video coding apparatus, video decoding method, video coding method, and storage medium
US20080056367A1 (en) Multi-step directional-line motion estimation
JP2005244542A (ja) 動画像符号化装置、動画像符号化方法
JP2006166061A (ja) 動きベクトル検出方法
AU2015272009A1 (en) Video decoding apparatus, video coding apparatus, video decoding method, video coding method, and storage medium
JPH06169454A (ja) ベクトル相関検出回路
JP2004088309A (ja) 動きベクトル検出方法、動きベクトル検出装置、動画像符号化方法、動画像符号化装置、通信装置。