JP2010016697A - 動きベクトル探索装置及びその制御方法 - Google Patents

動きベクトル探索装置及びその制御方法 Download PDF

Info

Publication number
JP2010016697A
JP2010016697A JP2008175903A JP2008175903A JP2010016697A JP 2010016697 A JP2010016697 A JP 2010016697A JP 2008175903 A JP2008175903 A JP 2008175903A JP 2008175903 A JP2008175903 A JP 2008175903A JP 2010016697 A JP2010016697 A JP 2010016697A
Authority
JP
Japan
Prior art keywords
block
search
motion vector
correlation value
blocks
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.)
Granted
Application number
JP2008175903A
Other languages
English (en)
Other versions
JP2010016697A5 (ja
JP5222049B2 (ja
Inventor
Susumu Igarashi
進 五十嵐
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2008175903A priority Critical patent/JP5222049B2/ja
Publication of JP2010016697A publication Critical patent/JP2010016697A/ja
Publication of JP2010016697A5 publication Critical patent/JP2010016697A5/ja
Application granted granted Critical
Publication of JP5222049B2 publication Critical patent/JP5222049B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】可変ブロックサイズ動き補償においては、予測誤差情報と付加伝送情報はトレードオフの関係にあるため、符号化効率と処理時間とを両立させることは困難であった。
【解決手段】
ブロック及びサブブロックごとに、相関値SAD_0〜SAD_4、及び探索ベクトルMV_0〜MV_4を保持する保持手段(106_0〜106_4,107_0〜107_4)を備える。ある探索精度において、該保持された相関値に基づいてブロックの分割構成を決定し(109)、さらに該保持された相関値と探索ベクトルに基づいて、より小さい探索精度における探索ベクトルを決定する。この処理を最終精度まで繰り返し、最終的な動きベクトルを得る。これにより、可変ブロックサイズ動き補償処理において、符号化効率を低下させることなく、短い処理時間でブロックの分割構成の決定及び動きベクトルの探索処理が可能となる。
【選択図】 図1

Description

本発明は、デジタル動画像における動きベクトルを探索する動きベクトル探索装置及びその制御方法に関する。
近年、MPEG(Moving Picture Experts Group)の国際標準動画像符号化方式に代表されるような、動画像圧縮符号化方式が普及している。この動画像圧縮符号化方式においては、現フレームの入力信号ブロックと動き補償により得られた参照フレームの局部復号信号ブロックとのフレーム間予測誤差信号を、DCT変換によって符号化しているため、動き補償予測符号化方式と呼ばれる。動き補償予測符号化方式においては、動画像のフレームをブロックに分割し、該ブロック単位でのマッチングを行う、所謂ブロックマッチング法により動きベクトルの探索が行なわれる。
また、分割するブロックをさらにサブブロックに分割し、該ブロックの単位あるいは該サブブロックの単位で動き補償を行う方法がある。これは可変ブロックサイズ動き補償などと呼ばれ、動き補償の単位となるブロックサイズを固定したやり方より、より高い符号化効率が期待できる方法として知られる(例えば、特許文献1参照)。
可変ブロックサイズ動き補償においては、ブロックサイズを細かくすることによって予測誤差は小さくなるものの、ブロックの分割情報や動きベクトル等の付加伝送情報が増大する傾向にある。一方、ブロックサイズを大きくすれば付加伝送情報は少なくてすむものの、予測誤差情報はブロックサイズを小さくとった場合に比べ多くなってしまう。このように、可変ブロックサイズ動き補償において、予測誤差情報と付加伝送情報はトレードオフの関係にある。このため、動きの激しい領域においてはブロックを細分化し、そうでない背景などの静止領域にはブロックサイズを大きくとる、等の調整を行う必要があった。
ここで図7に、従来の可変ブロックサイズ動き補償における探索・ブロック分割処理の一例を示す。まずステップS701において、予め定められた探索アルゴリズムに従い、全てのブロック・サブブロック候補について、MV(Motion Vector;動きベクトル)を探索する。その際、それぞれのMVにおけるSAD(Sum of Absolute Difference;差分絶対値和)を求める。このSADは、現フレームの処理対象ブロックと、参照ブロック間における相関を示す値として用いられ、その値が小さいほど相関が高いと評価される。次にステップS702において、ステップS701で求めたそれぞれのSAD及びMVに基いて、ブロックの構成を決定する。続いてステップS703において、ステップS702で決定したブロックの構成に対応するブロック若しくはサブブロックのMVを選択し、決定する。
また図8に、上述した図7とは異なる処理例を示す。まずステップS801において、全てのブロック・サブブロック候補について、参照フレームとのSADを求める。次にステップS802において、ステップS801で求めたそれぞれのSADに基いて、ブロックの構成を決定する。続いてステップS803において、ステップS802で決定したブロックの構成に対応するブロック若しくはサブブロックに対してのみ、予め定められた探索アルゴリズムに従ってMVを探索し、決定する。
特登録02716703号
しかしながら、上記図7に示した可変ブロックサイズ動き補償における探索処理によれば、全てのブロック・サブブロック候補についてMV探索を行うため、正確なブロック分割結果が得られる反面、MV探索処理において無駄が多い。したがって、結果として処理時間が増大してしまうという欠点があった。
また、図8に示した可変ブロックサイズ動き補償によれば、図7に示した処理よりも処理時間の面では有利である。しかしながら、参照フレームとのSADのみを用いてブロック構成を決定しているため、誤ったブロック分割がなされる確率が高くなり、符号化効率の面では不利になってしまうという欠点があった。
このように、従来の可変ブロックサイズ動き補償においては、符号化効率と処理時間とを両立させることは困難であった。
本発明は上述した問題を解決するためになされたものであり、以下のような機能を有する動きベクトル探索装置及びその制御方法を提供することを目的とする。すなわち、可変ブロックサイズ動き補償処理において、符号化効率を低下させることなく、短い処理時間でブロックの分割構成の決定及び動きベクトルの探索処理を可能とする。
上記問題を解決するための一手段として、本発明の動きベクトル探索装置は以下の構成を備える。
すなわち、動画像のフレームをブロックに分割し、該ブロック、もしくは該ブロックを構成する複数種類のサイズのサブブロックを単位とした可変ブロックサイズ動き補償を行う動きベクトル探索装置であって、現処理対象ブロックと、前記ブロック及び前記サブブロックに対応する全ての予測ブロックとの相関を示す相関値を保持する相関値保持手段と、前記現処理対象ブロックについて、前記全ての予測ブロックに対する探索ポイントを示す動きベクトルを探索ベクトルとして保持する動きベクトル保持手段と、現処理対象ブロックと、前記ブロック及び前記サブブロックに対応する全ての予測ブロックとの相関を示す相関値を算出する相関値算出手段と、前記全ての予測ブロックのそれぞれについて、前記相関値算出手段が出力した相関値と、前記相関値保持手段に保持された相関値のうち、より高い相関を示すほうを選択して前記相関値保持手段に保持する選択手段と、前記相関値保持手段に保持された相関値に応じて、前記ブロックを前記サブブロックに分割する際の分割構成を決定するブロック分割決定手段と、前記相関値保持手段に保持された相関値と、前記動きベクトル保持手段に保持された前記探索ベクトルに応じて、前記ブロック分割決定手段で決定されたブロック分割構成に対応する予測ブロックに対する探索ベクトルを決定して前記動きベクトル保持手段に保持する動きベクトル決定手段と、を有し、前記各手段は、前記予測ブロックにおける探索の精度が徐々に高くなるように繰り返し動作し、最終精度において前記動きベクトル決定手段により決定される探索ベクトルが、当該予測ブロックに対する最終的な動きベクトルとして決定されることを特徴とする。
以上の構成からなる本発明によれば、可変ブロックサイズ動き補償処理において、符号化効率を低下させることなく、短い処理時間でブロックの分割構成の決定及び動きベクトルの探索処理を可能とする。
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
<第1実施形態>
●システム構成
図1は、本実施形態における動きベクトル探索装置の構成を示すブロック図である。本実施形態の動きベクトル探索装置においては、複数種類のブロックサイズによる可変ブロックサイズ動き補償を行うが、許容される可変ブロックサイズ例を図2に示す。すなわち本実施形態においては、図2に示すような16×16画素サイズのブロック0と、8×8画素サイズのサブブロック1〜4のみに対応する例として説明する。すなわち、16×16画素サイズのブロック0の単位で動き補償を行う場合と、該ブロックを更に分割した8×8画素サイズの4つのサブブロック1〜4毎に動き補償を行う場合と、のいずれかを選択して動き補償を行う例を示す。なお、より多くのブロックサイズにも対応するように、本実施形態を変形することも可能であり、16×16画素サイズと8×8画素サイズに限定されるものではない。
図1において、SAD算出部101は、本実施形態における相関値算出手段として機能する。SAD算出部101には、現フレームにおいて動き補償の対象となる入力ブロック(現処理対象ブロック)と、動き補償部102より出力される、参照フレームより動き補償されて切り出された参照ブロック(すなわち動き予測用の予測ブロック)が入力される。そして、該入力ブロックと参照ブロックとの相関を示す値として、図2に示すブロック0及びサブブロック1〜4のそれぞれに対応する差分絶対値和(SAD)を、SAD_0,SAD_1,...,SAD_4、として算出する。このSAD値は、その値が小さいほど相関が高いと評価される。
動き補償部102は、後述する制御部110より随時出力される探索ベクトルを入力し、参照フレームより該探察ベクトルの示す位置のブロックを切り出し、参照ブロックとしてSAD算出部101へ出力する。この際、SAD算出部101の入力ブロックの入力タイミングと同期して参照ブロックが出力されるよう、制御される。以下、探索ベクトルを探索MV(MV:Motion Vector;動きベクトル)と表記する。
比較器103_0〜103_4はそれぞれ、SAD算出部101が出力するSAD_0〜SAD_4と、SAD保持部106_0〜106_4の出力するSADmin_0〜SADmin_4と、を入力する。そして、それらの比較結果を選択信号_0〜選択信号_4として、それぞれ選択器104_0〜104_4及び105_0〜105_4へと出力する。
選択器104_0〜104_4はそれぞれ、SAD算出部101が出力するSAD_0〜SAD_4と、SAD保持部106_0〜106_4の出力するSADmin_0〜SADmin_4を入力する。そして、比較器103_0〜103_4の出力する選択信号_0〜選択信号_4のタイミングに従って、それぞれが値の小さい方を選択してSAD保持部106_0〜106_4へと出力することにより、相関値を更新する。
選択器105_0〜105_4はそれぞれ、制御部110の出力する探索MVと、MV保持部107_0〜107_4の出力するMV_0〜MV_4を入力する。そして、そのいずれか一方を、比較器103_0〜103_4の出力する選択信号_0〜選択信号_4に従ってそれぞれ選択し、MV保持部107_0〜107_4へと出力する。
SAD保持部106_0〜106_4は、本実施形態における相関値保持手段として機能する。SAD保持部106_0は、選択器104_0の出力を入力とし、その値を保持してSADmin_0として、比較器103_0と選択器104_0、制御部110、ブロック分割決定部109へと出力する。また、制御部110の出力する初期化要求信号に従って初期化される。またSAD保持部106_1〜106_4はそれぞれ、選択器104_1〜104_4の出力を入力とし、その値をSADmin_1〜SADmin_4として保持する。そして、該相関値を比較器103_1〜103_4と選択器104_1〜104_4、制御部110及び加算器108へと出力する。また、制御部110の出力する初期化要求信号に従って、それぞれが初期化される。すなわち、SAD保持部106_0〜106_4に保持されるSAD値は、SAD算出部101より順次出力されるSAD値が、それ以前に出力されたSAD値以下であった場合に更新される。そしてブロック若しくはサブブロックの単位で動き探索が終了した時点で、適宜制御部110より初期化信号がアサートされ、それぞれの値が初期化される。なお、この初期化の際には、SAD値としてとり得る最大値が初期値として用いられる。
MV保持部107_0〜107_4は、本実施形態における動きベクトル保持手段として機能する。MV保持部107_0は、選択器105_0の出力を入力とし、その値を保持してMV_0として、制御部110へ出力する。また、制御部110の出力する初期化要求信号に従って初期化される。またMV保持部107_1〜107_4はそれぞれ、選択器105_1〜105_4の出力を入力とし、その値を保持してMV_1〜MV_4として、それぞれ選択器105_1〜105_4及び制御部110へ出力する。また、制御部110の出力する初期化要求信号に従って、それぞれが初期化される。すなわち、MV保持部107_0〜107_4はそれぞれ、対応するSAD保持部106_0〜106_4の更新がなされる際の探索MV値で更新される。
加算器108は、SAD保持部106_1〜106_4がそれぞれ出力するSADmin_1〜SADmin_4を入力とし、これら各サブブロックの持つSADの最小値を合計した合計値SADsumを、ブロック分割決定部109へ出力する。
ブロック分割決定部109は、SAD保持部106_0の出力するSADmin_0と、加算器108の出力するSADsum、及び制御部110の出力するブロック分割閾値レベルを入力する。そして、SADmin_0とSADsum、すなわち、ブロック0のSAD最小値と各サブブロックのSAD最小値の合計とを比較して、ブロック分割閾値レベルに基いてブロックを分割するか否かを判定する。該判定結果をブロック分割情報として、制御部110及び外部へと出力する。
制御部110は、本実施形態におけるベクトル決定手段として機能する。制御部110は、MV保持部107_0〜107_4の出力するMV_0〜MV_4と、SAD保持部106_0〜106_4の出力するSADmin_0〜SADmin_4、及びブロック分割決定部109の出力するブロック分割情報を入力とする。そして、外部へMVを出力するとともに、SAD保持部106_0〜106_4及びMV保持部107_0〜107_4に対して、初期化要求信号を出力する。また、動き補償部102及び選択器105_0〜105_4に探索MVを出力する。また、ブロック分割決定部109に対して、予め定められたブロック分割閾値レベルを出力する。
制御部110ではすなわち、予め定められた動き探索アルゴリズムに従って、ブロック若しくはサブブロックを単位とした探索シーケンスを実行する。該探索シーケンスにおいては、探索ポイントを定めてブロック及びサブブロックのSADを取得し、該取得結果に応じて次の探索ポイントを決定して出力する、といった動作を、動きベクトルが定まるまで繰り返す。そして動きベクトルが決定したら、該動きベクトルを外部へ出力し、次のブロック若しくはサブブロックの動き探索のために初期化要求信号をアサートする。また、動き探索シーケンスを行う際に、ブロック分割決定部109と連携して、ブロック及びサブブロックのSAD及びMV情報を基に、ブロック分割の単位を決定する。
●探索処理(概要)
以下、本実施形態の動きベクトル探索装置における探索処理について、まずその概要を説明する。
本実施形態の探索アルゴリズムとしては、図3に示すように、階層毎(第1レイヤ,第2レイヤ,第3レイヤ,・・・)に徐々に細かく探索を行っていく方式を説明する。すなわち、第1レイヤにおいては探索範囲内で探索ポイントがなるべく均等に散らばるように選択して粗い探索を行い、最もSAD値が小さかった探索ポイントを、次の第2レイヤにおける探索ポイントの中心に設定する。そして第2レイヤにおいては、第1レイヤよりも探索ポイント同士の距離を小さくしてより細かい精度での探索を行い、その中で最もSAD値が小さかった探索ポイントを、次の第3レイヤにおける探索ポイントの中心に設定する。このような各レイヤの設定を、探索を行うことのできる最も細かい精度になるまで繰り返す。そして、最終精度である最後のレイヤにおいて最もSAD値の小さかった探索ポイントを、動きベクトルとして決定する。
なお、本発明は図3に示した探索アルゴリズムに限定されるものではない。すなわち、、探索をある単位で区切って、各探索単位毎に次の探索の起点となるポイントを決定し、その起点を中心に次の単位の探索を行っていく方式の探索アルゴリズムであれば、本発明に適用可能である。また、本実施形態では説明の便宜上、以下で探索範囲を(-4,-4)〜(+3,+3)として説明するが、本発明はもちろん、この探索範囲に限定されない。
図4は、本実施形態における探索・ブロック分割処理を示すフローチャートである。
まずステップS401において、動き探索の第1段階において探索を行う全ての探索ポイントのSADを、全てのブロック・サブブロック候補について取得する。ここで、動き探索の第1段階とは、図3で示した第1レイヤでの探索に相当する。
次にステップS402において、ステップS401で求めたSADに基づいてブロック分割を決定するとともに、それぞれのブロック若しくはサブブロックの、次の探索段階で行う探索の起点を決定する。すなわち、図3で示した探索アルゴリズムであれば、第1レイヤで探索した全ての探索ポイントのうち、最小のSADを持つ探索ポイントが当該起点、すなわち第2レイヤにおける探索ポイントの中心に相当する。
次にステップS403において、ステップS402で決定したブロック分割の構成から求まる全てのブロック・サブブロックのうち、次の探索段階で行う探索の起点が同じもの同士でグループを作成する。
次にステップS404において、ステップS403で求めたグループ毎に、次の探索段階の全探索ポイントのSADを、当該グループに属する全てのブロック・サブブロックについて算出する。
そしてステップS405において、当該探索段階が最終階層であるか否かを判定する。なお、最終階層であるか否かの判定は、制御部110に予め設定された階層情報に基づいて行われる。最終段階である場合はステップS407に進み、ステップS404で求めたSADに基づいて各ブロック・サブブロックの動きベクトルを決定する。本実施形態では第2レイヤが最終段階であるため、ステップS405からステップS407へ進み、最終的な動きベクトルが決定される。一方、最終階層でない場合はステップS406に進み、ステップS404で求めたSADに基いて次の探索段階で行う探索の起点を各ブロック・サブブロックについて決定し、ステップS401へと移行する。
●探索処理(詳細)
以下、上述した図4に示す本実施形態の探索処理について、さらに詳細に説明する。
図5に、本実施形態において、あるブロック・サブブロックの動き探索及びブロック分割決定にいたる過程の、探索ポイントの軌跡を示す。同図において、各円は全ての探索ポイントとなりうる候補を表し、最も上の行に示す-4〜3の数字は水平方向の動きベクトル成分を表し、最も左の列に示す-4〜3の数字は垂直方向の動きベクトル成分を表している。また、各円内の数字は、本探索ポイントの推移例における探索の順序を表しており、以下、これを探索No.と称する。例えば、同図に示す探索No.1〜9のポイントは、図3における第1レイヤで探索するポイントに対応し、探索No.10〜17及び18〜25のポイントは、第2レイヤで探索するポイントに対応している。
また図6は、図1に示すベクトル探索装置の構成において、図5に示した探索シーケンスによる各値(SAD_0〜SAD_4,SADmin_0〜SADmin_4,及びMV_0〜MV_4)の推移を示した表である。同図において、「探索No.」は図5における探索No.に対応し、「探索ポイント」は対応する探索ポイントの位置を(水平成分,垂直成分)の座標形式で表している。
図6によれば、SADmin_0〜SADmin_4の各値は、それぞれSAD_0〜SAD_4の各値がそれ以前に現れたSAD_0〜SAD_4の各値以下になったタイミングで、当該SAD値で更新されることが分かる。また、このような更新が行われる際には、対応するMV_0〜MV_4の値も、そのときの探索ポイントの値で更新される。
上述したように探索No.1〜9は、図3における第1レイヤでの探索に相当する。この第1レイヤの探索において、ブロック0におけるSAD値(SAD_0)は、探索ポイント(-2,0)において最小であったため、探索No.4においてSADmin_0及びMV_0の値は、それぞれ40,(-2,0)に更新されている。
また、同じく第1レイヤの探索において、ブロック1におけるSAD値(SAD_1)は探索ポイント(2,2)において最小であったため、探索No.3においてSADmin_1及びMV_1の値は、それぞれ9,(2,2)に更新されている。
同じく第1レイヤの探索において、ブロック2におけるSAD値(SAD_2)は探索ポイント(-2,0)において最小であったため、探索No.4においてSADmin_2及びMV_2の値は、それぞれ9,(-2,0)に更新されている。
同じく第1レイヤの探索において、ブロック3におけるSAD値(SAD_3)は探索ポイント(-2,0)において最小であったため、探索No.4においてSADmin_3及びMV_3の値は、それぞれ10,(-2,0)に更新されている。
同じく第1レイヤの探索において、ブロック4におけるSAD値(SAD_4)は探索ポイント(2,2)において最小であったため、探索No.3においてSADmin_4及びMV_4の値は、それぞれ8,(2,2)に更新されている。
また、SADsumはSADmin_1〜SADmin_4の合計値であって、それらのいずれかが更新されたタイミングでSADsumも更新される。図5に示すシーケンス例であれば、第1レイヤにおいては探索No.4において最後の更新がなされ、その際の値は36である。これらSADsum及びSADmin_1〜SADmin_4の値は当然、探索シーケンスが進むに従って小さくなっていく。
図4のステップS401では、以上のように第1レイヤにおける全ての探索ポイント(探索No.1〜9)が評価される。すると次に、図4のステップS402に示したブロックの分割構成の決定がなされる。該決定は、少なくともその時点におけるSADmin_0の値、SADsumの値、及び制御部110の出力するブロック分割閾値レベル、に基いて行われる。すなわち、SADmin_0とSADsumの差分と、ブロック分割閾値レベルとの比較により、ブロックの分割構成が決定される。図6に示す例によれば、この時点ではSADmin_0の値は40、SADsumの値は36であるため、その差分は4である。ここで、ブロック分割閾値レベルの単位をSADに合わせるものとし、その値が例えば2であったとすると、当該差分値(4)はブロック分割閾値レベル値(2)よりも大きいため、ブロック分割を行うという決定がなされる。このように、本実施形態におけるブロック構成決定にあたっては、ブロックのSAD値と、サブブロックのSAD値の総和との差分をとり、該差分値を所定の閾値と比較することによって、ブロック分割の粒度を調整可能とする。
なお、本実施形態におけるブロック分割要の閾値レベルは、状況に応じて変化させても良い。例えば、該閾値レベルをMV_0〜MV_4の値に応じて適応的に変化させることにより、MV値に応じてブロック分割の粒度を調整することが可能となる。また、該閾値レベルをその時点におけるフレーム内で消費した累積処理時間に応じて変化させることにより、ブロック分割の粒度を変化させて処理時間を調整することが可能となる。
図4のステップS402では、上述したブロック分割構成の決定と同時に、それぞれのブロック・サブブロックの次の探索段階の起点が決定されるが、当該起点としては、その時点におけるMV_0〜MV_4の値がそのまま対応する。但し図6に示した例では、上述したブロック分割の決定処理においてサブブロック分割を行う決定がなされたため、これ以降のMV_0の値は、制御部110より初期化要求信号がアサートされるまで使用されない。
次に、図4のステップS403に示したように、4つのサブブロックで起点が同じもの同士でグループを作成する。この場合、MV_1とMV_4、MV_2とMV_3がそれぞれ等しい値となっているので、サブブロック1と4、サブブロック2と3、という2つのグループが作成される。
次に、図4のステップS404に示したように、上述したように作成された2つのグループ単位での探索を行う。サブブロック1と4で構成されるグループにおける第2レイヤの探索は探索No.10〜17に該当し、サブブロック2と3で構成されるグループにおける第2レイヤの探索は探索No.18〜25に該当する。
図6に示されるように、サブブロック1,4の最小SAD値であるSADmin_1,SADmin_4の値はそれぞれ7,6に更新され、対応するMV_1,MV_4はそれぞれ(1,1),(3,2)に更新される。そして、サブブロック2,3の最小SAD値であるSADmin_2,SADmin_3の値はそれぞれ8,8に更新され、対応するMV_2,MV_3はそれぞれ(-1,1),(-3,-1)に更新される。
次に、本実施形態では当該第2レイヤが最終レイヤであるため、図4のステップS407へと移行し、各サブブロックに対する最終的な動きベクトルがMV_1〜MV_4の値に決定され、制御部110よりMVとして出力される。
この後、次のブロック・サブブロックの動きベクトルを求めるために、制御部110は初期化要求信号をアサートして、SAD保持部106_0〜106_4及びMV保持部107_0〜107_4の初期化を行う。
以上の動作を、フレーム内の画像データを全て処理するまで繰り返し行うことにより、最適な動きベクトルが検出される。
以上説明したように本実施形態によれば、各ブロック・サブブロックに対応するSAD及びMVを保持し、それらをMV探索及びブロック構成決定の両工程で共有し、かつ該両工程を並行して行う。さらに、ブロック構成決定には、参照フレームとのSAD値のみならず動き補償された参照ブロック・サブブロックとのSAD値を用いる。これにより、良好なブロック分割結果を短時間で得ることが可能となる。
また、探索ポイントが重複するブロック及びサブブロック同士でグループを形成し、該グループごとに重複する探索ポイントのSAD値の算出を一括して同一期間内に行うことで、より処理の効率化を図ることが可能となる。
<他の実施形態>
本発明は例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インタフェース機器、撮影装置、webアプリケーション等)から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。なお、この場合のプログラムとは、実施形態において図に示したフローチャートに対応したコンピュータ可読のプログラムである。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては、以下に示す媒体がある。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM,DVD-R)などである。
プログラムの供給方法としては、以下に示す方法も可能である。すなわち、クライアントコンピュータのブラウザからインターネットのホームページに接続し、そこから本発明のコンピュータプログラムそのもの(又は圧縮され自動インストール機能を含むファイル)をハードディスク等の記録媒体にダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせることも可能である。すなわち該ユーザは、その鍵情報を使用することによって暗号化されたプログラムを実行し、コンピュータにインストールさせることができる。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、実行されることによっても、前述した実施形態の機能が実現される。すなわち、該プログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行うことが可能である。
本発明に係る一実施形態における動きベクトル探索装置の構成例を示すブロック図である。 本実施形態におけるブロック及びサブブロックの構成例を示す図である。 本実施形態における探索アルゴリズムの概念を示す図である。 本実施形態における探索・ブロック分割処理を示すフローチャートである。 本実施形態における探索ポイントの推移例を示す図である。 図5の推移例に対応する各SAD値及びMV値の推移例を示す表である。 従来の探索・ブロック分割処理の一例を示すフローチャートである。 従来の探索・ブロック分割処理の一例を示すフローチャートである。

Claims (10)

  1. 動画像のフレームをブロックに分割し、該ブロック、もしくは該ブロックを構成する複数種類のサイズのサブブロックを単位とした可変ブロックサイズ動き補償を行う動きベクトル探索装置であって、
    現処理対象ブロックと、前記ブロック及び前記サブブロックに対応する全ての予測ブロックとの相関を示す相関値を保持する相関値保持手段と、
    前記現処理対象ブロックについて、前記全ての予測ブロックに対する探索ポイントを示す動きベクトルを探索ベクトルとして保持する動きベクトル保持手段と、
    現処理対象ブロックと、前記ブロック及び前記サブブロックに対応する全ての予測ブロックとの相関を示す相関値を算出する相関値算出手段と、
    前記全ての予測ブロックのそれぞれについて、前記相関値算出手段が出力した相関値と、前記相関値保持手段に保持された相関値のうち、より高い相関を示すほうを選択して前記相関値保持手段に保持する選択手段と、
    前記相関値保持手段に保持された相関値に応じて、前記ブロックを前記サブブロックに分割する際の分割構成を決定するブロック分割決定手段と、
    前記相関値保持手段に保持された相関値と、前記動きベクトル保持手段に保持された前記探索ベクトルに応じて、前記ブロック分割決定手段で決定されたブロック分割構成に対応する予測ブロックに対する探索ベクトルを決定して前記動きベクトル保持手段に保持する動きベクトル決定手段と、を有し、
    前記各手段は、前記予測ブロックにおける探索の精度が徐々に高くなるように繰り返し動作し、最終精度において前記動きベクトル決定手段により決定される探索ベクトルが、当該予測ブロックに対する最終的な動きベクトルとして決定されることを特徴とする動きベクトル探索装置。
  2. 前記動きベクトル決定手段は、ある探索の精度において、前記相関値が最も高い相関を示す探索ポイントを示す動きベクトルを、当該予測ブロックに対する探索ベクトルとして決定することを特徴とする請求項1に記載の動きベクトル探索装置。
  3. ある探索の精度において、前記動きベクトル決定手段により決定された探索ベクトルが重複するブロック及びサブブロック同士でグループを形成し、
    次の探索の精度においては、前記各手段は前記グループごとに実行されることを特徴とする請求項2に記載の動きベクトル探索装置。
  4. 前記ブロック分割決定手段は、前記相関値保持手段に保持された相関値のうち、前記ブロックに対応する相関値と、該ブロックを構成する前記サブブロックに対応する相関値の総和と、の差分をとり、該差分値と予め設定した閾値との比較結果に応じて、前記分割構成を決定することを特徴とする請求項1乃至3のいずれか1項に記載の動きベクトル探索装置。
  5. 前記閾値は、前記動きベクトル保持手段に保持された探索ベクトルに応じて決定されることを特徴とする請求項4に記載の動きベクトル探索装置。
  6. 前記閾値は、フレーム内での累積処理時間に応じて決定されることを特徴とする請求項4に記載の動きベクトル探索装置。
  7. 前記相関値は、現処理対象ブロックと予測ブロックとの差分の絶対値和を示す値であることを特徴とする請求項1乃至6のいずれか1項に記載の動きベクトル探索装置。
  8. 動画像のフレームをブロックに分割し、該ブロック、もしくは該ブロックを構成する複数種類のサイズのサブブロックを単位とした可変ブロックサイズ動き補償を行うために、現処理対象ブロックと、前記ブロック及び前記サブブロックに対応する全ての予測ブロックとの相関を示す相関値を保持する相関値保持手段と、前記現処理対象ブロックについて、前記全ての予測ブロックに対する探索ポイントを示す動きベクトルを探索ベクトルとして保持する動きベクトル保持手段と、を有する動きベクトル探索装置の制御方法であって、
    現処理対象ブロックと、前記ブロック及び前記サブブロックに対応する全ての予測ブロックとの相関を示す相関値を算出する相関値算出ステップと、
    前記全ての予測ブロックのそれぞれについて、前記相関値算出ステップにおいて出力された相関値と、前記相関値保持手段に保持された相関値のうち、より高い相関を示すほうを選択して前記相関値保持手段に保持する選択ステップと、
    前記相関値保持手段に保持された相関値に応じて、前記ブロックを前記サブブロックに分割する際の分割構成を決定するブロック分割決定ステップと、
    前記相関値保持手段に保持された相関値と、前記動きベクトル保持手段に保持された前記探索ベクトルに応じて、前記ブロック分割決定ステップにおいて決定されたブロック分割構成に対応する予測ブロックに対する探索ベクトルを決定して前記動きベクトル保持手段に保持する動きベクトル決定ステップと、を有し、
    前記各ステップは、前記予測ブロックにおける探索の精度が徐々に高くなるように繰り返し実行され、最終精度において前記動きベクトル決定ステップにおいて決定される探索ベクトルが、当該予測ブロックに対する最終的な動きベクトルとして決定されることを特徴とする動きベクトル探索装置の制御方法。
  9. コンピュータを請求項1乃至7のいずれか1項に記載の動きベクトル探索装置として機能させるためのプログラム。
  10. 請求項9に記載のプログラムを記録したコンピュータ可読な記録媒体。
JP2008175903A 2008-07-04 2008-07-04 動きベクトル探索装置及びその制御方法 Expired - Fee Related JP5222049B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008175903A JP5222049B2 (ja) 2008-07-04 2008-07-04 動きベクトル探索装置及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008175903A JP5222049B2 (ja) 2008-07-04 2008-07-04 動きベクトル探索装置及びその制御方法

Publications (3)

Publication Number Publication Date
JP2010016697A true JP2010016697A (ja) 2010-01-21
JP2010016697A5 JP2010016697A5 (ja) 2011-08-11
JP5222049B2 JP5222049B2 (ja) 2013-06-26

Family

ID=41702357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008175903A Expired - Fee Related JP5222049B2 (ja) 2008-07-04 2008-07-04 動きベクトル探索装置及びその制御方法

Country Status (1)

Country Link
JP (1) JP5222049B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140135855A (ko) * 2013-05-15 2014-11-27 세종대학교산학협력단 동영상 처리 방법 및 장치
KR101914667B1 (ko) 2016-09-19 2018-11-02 세종대학교산학협력단 동영상 처리 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01238389A (ja) * 1988-03-18 1989-09-22 Fujitsu Ltd 動画像の予測符号化方式
JPH08223578A (ja) * 1995-02-13 1996-08-30 Nippon Telegr & Teleph Corp <Ntt> 動きベクトル探索方法および装置
JP2003284091A (ja) * 2002-03-25 2003-10-03 Toshiba Corp 動画像符号化方法及び動画像符号化装置
JP2005252593A (ja) * 2004-03-03 2005-09-15 Mitsubishi Electric Corp 動きベクトル探索装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01238389A (ja) * 1988-03-18 1989-09-22 Fujitsu Ltd 動画像の予測符号化方式
JPH08223578A (ja) * 1995-02-13 1996-08-30 Nippon Telegr & Teleph Corp <Ntt> 動きベクトル探索方法および装置
JP2003284091A (ja) * 2002-03-25 2003-10-03 Toshiba Corp 動画像符号化方法及び動画像符号化装置
JP2005252593A (ja) * 2004-03-03 2005-09-15 Mitsubishi Electric Corp 動きベクトル探索装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140135855A (ko) * 2013-05-15 2014-11-27 세종대학교산학협력단 동영상 처리 방법 및 장치
KR101659343B1 (ko) 2013-05-15 2016-09-27 세종대학교산학협력단 동영상 처리 방법 및 장치
KR101914667B1 (ko) 2016-09-19 2018-11-02 세종대학교산학협력단 동영상 처리 방법 및 장치

Also Published As

Publication number Publication date
JP5222049B2 (ja) 2013-06-26

Similar Documents

Publication Publication Date Title
US8149915B1 (en) Refinement of motion vectors in hierarchical motion estimation
KR101342268B1 (ko) 모션 보상을 위한 자연 형상 영역
JP5467701B2 (ja) 動きベクトル探索方法及び装置、そのプログラム並びにプログラムを記録した記録媒体
US8229233B2 (en) Method and apparatus for estimating and compensating spatiotemporal motion of image
JP2008109632A (ja) 動きベクトル検出装置及びその方法
JP4514203B2 (ja) 動きベクトル検出装置及び方法
JP2008061133A (ja) 画像符号化装置及び画像符号化方法
JP2013183360A (ja) 動画像符号化装置及びプログラム、動画像復号装置及びプログラム、並びに、動画像配信システム
JP4865662B2 (ja) エントロピー符号化装置、エントロピー符号化方法およびコンピュータプログラム
JP5222049B2 (ja) 動きベクトル探索装置及びその制御方法
JP2009509415A (ja) 適応的影響エリアフィルタ
JP2007166545A (ja) 動きベクトル検出装置及び方法
JP2008061135A (ja) 画像符号化装置および画像符号化方法
JP5906993B2 (ja) 符号化装置、符号化方法、及びプログラム
JP2009021864A (ja) 動きベクトル探索装置
JP2007174202A (ja) 動きベクトル検出装置およびその方法
JP4032049B2 (ja) 動きベクトル検出方法及びその装置
JP2009267726A (ja) 動画像符号化装置、録画装置、動画像符号化方法、動画像符号化プログラム
JP2009272701A (ja) 動きベクトル探索装置及びその制御方法
JP4902510B2 (ja) 符号化装置及び符号化方法
CN115086678B (zh) 视频编码方法和装置、视频解码方法和装置
US20160173854A1 (en) Multiview video coding method using non-referenced view video group
US20230110665A1 (en) Image processing apparatus and method, and storage medium
JP2010021892A (ja) 動きベクトル探索装置及びその制御方法、及び動画像撮像装置
JP5517436B2 (ja) 動きベクトル検出装置及びプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110624

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120511

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120706

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130308

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160315

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160315

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees