(57)【特許請求の範囲】
【請求項１】
奇数フィールド及び偶数フィールドから構成されるインタレース走査された動画像フレームから動きベクトルを検出する動きベクトル検出装置において、
参照画フレーム内のマクロブロックである参照画マクロブロックに対して、評価計算によって極小値が得られた前記参照画マクロブロックを探索開始位置として、前記探索開始位置から前記参照画マクロブロックを、探索パターンに含まれる各探索移動情報にしたがって探索移動させる参照画マクロブロック探索移動部と、
前記参照画マクロブロック内の画素と、原画フレームのマクロブロックである原画マクロブロック内の画素との差分絶対値和または差分自乗和を算出する前記評価計算を行い、１回当たりの前記探索パターンに含まれる複数の前記探索移動情報で、前記参照画マクロブロックを探索移動させて求めた探索移動回数分の評価計算値の中から前記極小値を検出し、前記参照画マクロブロックを探索移動させながら前記極小値を求めていく過程で、前記極小値の中の最小値を検出する評価計算部と、
前記参照画マクロブロックを探索移動させるための前記探索パターンを発生し、前記参照画マクロブロックを垂直方向に探索移動させる場合には、前記探索パターンの前記探索移動情報に対して、前記原画マクロブロックと前記参照画マクロブロックとの間で、フィールド間をまたいで同一フィールド上での前記評価計算及び異なるフィールド上での前記評価計算が行われるように、２ｎ（ｎ＝１、２、・・・）ライン分、探索移動範囲を広げる拡張探索を行うための拡張探索情報を、外部指示にもとづき設定する探索パターン発生部と、
前記最小値を持つ参照画マクロブロックを、前記原画マクロブロックの相関性の最も高いマクロブロックとしてみなして、前記最小値を持つ参照画マクロブロックと、前記原画マクロブロックとの間の移動量及び移動方向を動きベクトルとして検出する動きベクトル検出部と、
を備え、
前記参照画マクロブロック探索移動部は、前記原画フレームがフレーム間順方向予測符号化フレームの場合には、前記参照画マクロブロックの垂直方向への探索移動時には前記拡張探索を実行し、前記原画フレームが双方向予測符号化フレームの場合には、前記参照画マクロブロックの垂直方向への探索移動であっても前記拡張探索の実行は停止する、
ことを特徴とする動きベクトル検出装置。
【請求項２】
前記評価計算部は、前記評価計算を行う複数の演算器を有し、１回当たりの前記探索パターンに含まれる複数の前記探索移動情報で、前記参照画マクロブロックを探索移動させて、探索移動回数分の前記評価計算を行う場合には、前記探索パターン発生部は、複数の前記演算器に前記評価計算を振り分けて並列動作させる指示を前記探索移動情報に含めることを特徴とする請求項１記載の動きベクトル検出装置。
【請求項３】
前記評価計算部は、第１の演算器と第２の演算器を有し、前記原画フレームがフレーム間順方向予測符号化フレームの場合には、前記原画フレームより時間的に前方向に位置する参照画フレームである前方向参照画フレームと、前記原画フレームとの間で、前記第１の演算器と前記第２の演算器の両方を使用して前記評価計算を行い、前記原画フレームが双方向予測符号化フレームの場合には、前記第１の演算器を使用して、前記前方向参照画フレームと、前記原画フレームとの間で前記評価計算を行い、かつ前記第２の演算器を使用して、前記原画フレームより時間的に後方向に位置する参照画フレームである後方向参照画フレームと、前記原画フレームとの間で前記評価計算を行うことを特徴とする請求項２記載の動きベクトル検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動きベクトル検出装置に関し、特に奇数フィールド及び偶数フィールドから構成されるインタレース走査された動画像フレームから動きベクトルを検出する動きベクトル検出装置に関する。
【背景技術】
【０００２】
ディジタルテレビやDVD、インターネット上の動画配信やディジタルカメラの動画像蓄積などでは、動画像情報の圧縮符号化方式として、ISO/IECによって標準化されたMPEG（MPEG-1/MPEG-2/MPEG-4）やITU-Tによって標準化されたH.261, H.262, H.264が多く適用されている。
【０００３】
これらの符号化方式では、時間的に連続であるフレーム間は相関性が高いという動画像の特性を利用した情報量の圧縮を行っており、その相関関係を求めるために符号化フレームの処理単位として、１６画素×１６画素のマクロブロック（ＭＢ：macro block）毎に、符号化フレームと時間的に前後関係にある参照フレームとの間の動きベクトル検出を行っている。
【０００４】
動きベクトル検出では、符号化フレームのマクロブロック単位に参照フレームのマクロブロックマッチング演算を行い、相関の度合いを示す評価値を算出するが、一般的にこの制御は探索範囲に比例して演算の処理量が増大し、専用のハードウェア回路で実現されることが多い。
【０００５】
一方、近年になって携帯型の符号化装置やソフトウェアで実現できる動きベクトル検出のアルゴリズムとして、ダイアモンド探索（Diamond Search）と呼ばれる演算回数の少ない探索方式が開発されている。
【０００６】
ダイアモンド探索アルゴリズムは、参照画フレーム内の参照画マクロブロックを一定方向にずらして、参照画マクロブロック内の画素と、原画フレームの内の原画マクロブロック内の画素との評価計算を、１回の探索範囲内で参照画マクロブロックをずらした分だけ行う。
【０００７】
そして、評価計算によって得られた評価値の中の極小値を選択し、極小値となった参照画マクロブロックを基準にして再び、参照画マクロブロックを一定方向にずらして評価計算を行っていく。
【０００８】
このような操作を繰り返しながら、極小値の中で最も小さい値の最小値を検出し、最小値となった参照画マクロブロックを、原画マクロブロックに対して相関性の最も高い参照画マクロブロックとして検出するものである。ダイアモンド探索は、ブロックマッチング演算の繰り返し回数を比較的抑えることができ、小規模の回路で低消費電力に実現できるという特徴がある。
【０００９】
動きベクトル検出の演算量を低減させる従来技術として、１次探索で得られるフレーム動きベクトル候補の検出精度を動きの小さな部分では１画素精度として、１／２画素精度のフレーム動きベクトルの２次探索で必要な探索点数を削減する技術が提案されている（例えば、特許文献１）。
【特許文献１】特開平１１−７５１９５号公報（段落番号〔００２４〕〜〔００４１〕，第１図）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記のような従来のダイアモンド探索アルゴリズムでは、ノンインタレース（非飛び越し）信号のように、参照画フレーム内の隣接する画素間の相関が高い場合には、最適な動きベクトルの検出が可能であるが、入力素材がインタレース（飛び越し）信号の場合は、隣接画素がフィールド間にまたがることにより、フィールド間で時間的な変化が大きい場合などは、最適な極小値を検出することができず、誤判定の可能性が高くなるといった問題があった。
【００１１】
このため、インタレース入力画像に対しても、最適な極小値検出を行うためには、単純には１回あたりの探索領域を増やせば誤判定される可能性は小さくなるのだが、無条件に探索領域を増やして探索回数を増やすことはダイアモンド探索の長所である、回路の小型化・低消費電力の特徴を損なうことになるといった問題があった。
【００１２】
本発明はこのような点に鑑みてなされたものであり、動きベクトル検出の演算量の増加を適度に抑えながら、演算対象領域を適切に増やして、精度の高い動きベクトル検出を行う動きベクトル検出装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、奇数フィールド及び偶数フィールドから構成されるインタレース走査された動画像フレームから動きベクトルを検出する動きベクトル検出装置が提供される。この動きベクトル検出装置は、参照画フレーム内のマクロブロックである参照画マクロブロックに対して、評価計算によって極小値が得られた前記参照画マクロブロックを探索開始位置として、前記探索開始位置から前記参照画マクロブロックを、探索パターンに含まれる各探索移動情報にしたがって探索移動させる参照画マクロブロック探索移動部と、前記参照画マクロブロック内の画素と、原画フレームのマクロブロックである原画マクロブロック内の画素との差分絶対値和または差分自乗和を算出する前記評価計算を行い、１回当たりの前記探索パターンに含まれる複数の前記探索移動情報で、前記参照画マクロブロックを探索移動させて求めた探索移動回数分の評価計算値の中から前記極小値を検出し、前記参照画マクロブロックを探索移動させながら前記極小値を求めていく過程で、前記極小値の中の最小値を検出する評価計算部と、前記参照画マクロブロックを探索移動させるための前記探索パターンを発生し、前記参照画マクロブロックを垂直方向に探索移動させる場合には、前記探索パターンの前記探索移動情報に対して、前記原画マクロブロックと前記参照画マクロブロックとの間で、フィールド間をまたいで同一フィールド上での前記評価計算及び異なるフィールド上での前記評価計算が行われるように、２ｎ（ｎ＝１、２、・・・）ライン分、探索移動範囲を広げる拡張探索を行うための拡張探索情報を、外部指示にもとづき設定する探索パターン発生部と、前記最小値を持つ参照画マクロブロックを、前記原画マクロブロックの相関性の最も高いマクロブロックとしてみなして、前記最小値を持つ参照画マクロブロックと、前記原画マクロブロックとの間の移動量及び移動方向を動きベクトルとして検出する動きベクトル検出部とを備える。
【００１４】
ここで、前記参照画マクロブロック探索移動部は、前記原画フレームがフレーム間順方向予測符号化フレームの場合には、前記参照画マクロブロックの垂直方向への探索移動時には前記拡張探索を実行し、前記原画フレームが双方向予測符号化フレームの場合には、前記参照画マクロブロックの垂直方向への探索移動であっても前記拡張探索の実行は停止する。
【発明の効果】
【００１５】
動きベクトル検出の演算量の増加を適度に抑えながら演算対象領域を適切に増やして、精度の高い動きベクトル検出を行うことが可能になる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態を図面を参照して説明する。図１は動きベクトル検出装置の原理図である。動きベクトル検出装置１０は、参照画マクロブロック探索移動部１１、評価計算部１２、探索パターン発生部１３、動きベクトル検出部１４から構成され、奇数フィールド（以下、oddフィールド）及び偶数フィールド（以下、evenフィールド）から構成されるインタレース走査された動画像フレームから動きベクトルを検出する装置である。
【００１７】
すなわち、１フレームがoddフィールド及びevenフィールドで構成される原画フレームＦ０と、１フレームがoddフィールド及びevenフィールドで構成される参照画フレームＦ１とから動きベクトルを検出する。
【００１８】
原画フレームＦ０とは、処理対象フレームであり、参照画フレームＦ１とは、原画フレームＦ０に対して、時間的に前に符号化処理されたフレームである。なお、H.264の場合は、参照画像は原画像に対して時間的に前後のどちらのフレームからも参照可能である。
【００１９】
参照画マクロブロック探索移動部１１は、参照画フレームＦ１内のマクロブロックである参照画マクロブロックに対して、評価計算によって極小値が得られた参照画マクロブロック（参照画マクロブロックＭ１とする）を探索開始位置として、その探索開始位置から参照画マクロブロックＭ１を探索パターンにしたがって探索移動させる。図では例えば、垂直上方向、水平右方向に探索移動している様子が示されている。
【００２０】
ここで、“参照画マクロブロックの探索移動”とは、探索範囲が移動するという意味であり、探索領域としての１６画素×１６画素のマクロブロック形状の探索テンプレートがフレーム内を移動するといったイメージになる。
【００２１】
図２は探索移動の概略を説明するための図である。簡単に説明するために、１ブロックを３画素×３画素とする。参照画フレーム内のブロックＢ１を例えば、水平方向に１画素分右に探索移動させるということは（探索移動後のブロックをブロックＢ２と示す）、評価対象の画素として、ブロックＢ１に含まれる画素ｐ１〜ｐ３、ｐ５〜ｐ７、ｐ９〜ｐ１１であったものが、次の評価対象の画素は、ブロックＢ２に含まれる画素ｐ２〜ｐ４、ｐ６〜ｐ８、ｐ１０〜ｐ１２になるということである（すなわち、３画素×３画素領域の探索テンプレートが１画素分右へ移動したということ）。
【００２２】
図１の説明に戻り、評価計算部１２は、参照画マクロブロックＭ１内の画素と、原画フレームＦ０のマクロブロックである原画マクロブロックＭ０内の画素との差分絶対値和または差分自乗和を算出する評価計算を行う。このとき、１回当たりの探索パターンで指示される複数の探索移動情報で、参照画マクロブロックＭ１を探索移動させて求めた探索移動回数分の評価計算値（評価値）の中から極小値を検出する。
【００２３】
例えば、１回当たりの探索パターンで参照画マクロブロックＭ１を５方向に探索移動させるならば（１回当たりの探索パターンに５つの探索移動情報が含まれているならば）、それぞれの方向での評価計算を行って、５つの評価計算値を求め、その中から最も小さな値の極小値を検出するということになる（評価計算値が小さいほど相関が高いということ）。また、評価計算部１２は、参照画マクロブロックを探索移動させながら極小値を求めていく過程で、極小値の中の最小値を検出する（最小値の検出については図３及び図４のステップＳ３で後述する）。
【００２４】
探索パターン発生部１３は、参照画マクロブロックＭ１を探索移動させるための探索パターンを発生して、探索パターンを参照画マクロブロック探索移動部１１へ通知する。このとき、参照画マクロブロックＭ１を垂直方向（垂直上方向または垂直下方向）に探索移動させる場合には、探索パターンに含まれる探索移動情報に対して、原画マクロブロックＭ０と参照画マクロブロックＭ１との間で、フィールド間をまたいで同一フィールド上での評価計算及び異なるフィールド上での評価計算が行われるように、２ｎ（ｎ＝１、２、・・・）ライン分、探索移動範囲を広げる拡張探索を行うための拡張探索情報を、外部指示にもとづき設定する（拡張探索の具体的な内容については図１２〜図１８で後述する）。
【００２５】
動きベクトル検出部１４は、評価計算部１２で求められた最小値を持つ参照画マクロブロックを、原画マクロブロックＭ０の相関性の最も高いマクロブロックとしてみなして、最小値を持つ参照画マクロブロックと、原画マクロブロックＭ０との間の移動量及び移動方向を動きベクトルとして検出する。
【００２６】
次に本発明の詳細を説明する前に、従来のダイアモンド探索（以下、従来のダイアモンド探索を基本ＤＳと呼ぶ）の動作と、本発明が解決すべき問題について図３〜図６を用いて詳しく説明する。
【００２７】
図３は基本ＤＳの動作概要を示す図である。マクロブロック単位で原画フレームの動きベクトルを検出する場合、原画フレームのマクロブロックＭＢ０と、参照画フレームの参照画マクロブロックＭＢ１との間で画素値の差分絶対値和または差分自乗和を算出する評価計算を行う。
【００２８】
評価計算では、原画マクロブロックＭＢ０と参照画マクロブロックＭＢ１とで、マクロブロック内で互いに同じ位置の画素値の差分を求め、１６×１６画素分の差分値の絶対値和または自乗和を求める。
【００２９】
例えば、原画マクロブロックＭＢ０の画素値をａi,j（i＝１〜１６、j＝１〜１６）、参照画マクロブロックＭＢ１の画素値をｂi,j（i＝１〜１６、j＝１〜１６）とすると、原画マクロブロックＭＢ０と参照画マクロブロックＭＢ１に対する評価計算式は式（１）となり、式（１）で算出された値が評価値Ｃである（式（１）では差分絶対値和を求めている）。
【００３０】
【数１】
0004531006.tif 000002
評価値を求めたら、参照画マクロブロックＭＢ１の全体を、水平または垂直方向に１画素分ずらし（探索移動し）、このずらした参照画マクロブロックと、原画マクロブロックＭＢ０との評価計算を上記と同様に再度行う。
【００３１】
例えば、参照画マクロブロックＭＢ１の元の位置から水平方向マイナス（図の左方向）に１画素分ずらしたマクロブロックをマクロブロックＭＢ１（ｈ−）とすると、原画フレームのマクロブロックＭＢ０と、新たなマクロブロックＭＢ１（ｈ−）との間で式（１）を用いての評価計算を行う。
【００３２】
このように、探索開始時の参照画マクロブロックＭＢ１に対して、参照画マクロブロックＭＢ１を水平・垂直方向それぞれに１画素分移動すると（移動元を含めて５方向の探索となる）、合計５方向の参照画マクロブロックと、原画マクロブロックＭＢ０との評価計算を行うことになるので、５通りの評価値が得られることになり、これらの評価値の中で最も小さい評価値（極小値）を選択する。
【００３３】
そして、選択した極小の評価値となったときの参照画フレームのマクロブロックを基準にして、再び水平・垂直方向に１画素分ずらした参照画マクロブロックと、原画マクロブロックＭＢ０との評価計算を行っていく。
【００３４】
このような操作を続けていくことで、参照画フレーム内で最小の評価値となる参照画マクロブロックＭＢminを求めることができ、このときの参照画マクロブロックＭＢminの位置が、マクロブロックＭＢ０と最も相関が高いということになる。
【００３５】
すなわち、参照画フレームが、原画フレームよりも１フレーム前の場合には、参照画フレームから原画フレームへのフレーム遷移時間内において、参照画マクロブロックＭＢminの位置からマクロブロックＭＢ０の位置へ物体が動いているということになり、このときの移動量及び移動方向を動きベクトルＶとして検出することができる。
【００３６】
図４は基本ＤＳの探索パターンを示す図である。図中の丸印は、探索マクロブロックを示しており、丸に書かれている番号は探索順序を示している。二重丸は探索開始点のマクロブロックを示し、色塗りの丸は探索済みのマクロブロックを示している。また、各ステップで行う１回当たりの探索パターンとしては、５点探索（探索開始点及び探索開始点を基準に水平・垂直に１画素ずらした探索）を基本に行うものとする（１つのマクロブロックを“点”と表現している）。なお、以降で説明する原画フレーム及び参照画フレームは、ノンインタレース信号のフレームである。
【００３７】
〔Ｓ１〕探索開始点＃１を起点として、起点を中心とした水平、垂直±１ベクトルの計５点に対しての探索を行う（探索開始点＃１は、過去のベクトル探索結果から決定されるか、初期点として与えられるものとする）。
【００３８】
評価計算の流れを示すと、（探索開始点＃１の評価計算（参照画フレーム内の探索開始点＃１の位置に存在する参照画マクロブロックと、原画フレーム内のある位置に存在する原画マクロブロックとの間で行う評価計算ということ。以下同様））→（探索開始点＃１から水平方向−１へ移動した探索点＃２の評価計算）→（探索開始点＃１から水平方向＋１へ移動した探索点＃３の評価計算）→（探索開始点＃１から垂直方向−１へ移動した探索点＃４の評価計算）→（探索開始点＃１から垂直方向＋１へ移動した探索点＃５の評価計算）となる。そして、評価計算を行った５点の中で評価値が、極小値となる探索点へ探索開始点を移動し、ステップＳ２へ遷移する。
【００３９】
〔Ｓ２〕ステップＳ１で求めた５つの評価値の中で、探索点＃３で求めた評価値が最も極小の値であったとして、探索開始点がステップＳ１における探索点＃３に移動した様子を示している。
【００４０】
ステップＳ２において（＃番号を付け直す）、新たな探索開始点＃１に対して、再び水平、垂直±１ベクトルずらした５点探索により評価計算を行うが、現在の探索開始点＃１と、この探索開始点＃１の水平−１方向に位置する探索点とはすでに探索済みのため、これらの探索点の評価計算は行わない（演算済みの探索点に関しては再評価を行わない）。
【００４１】
したがって、評価計算の流れは、（探索開始点＃１から水平方向＋１へ移動した探索点＃２の評価計算）→（探索開始点＃１から垂直方向−１へ移動した探索点＃３の評価計算）→（探索開始点＃１から垂直方向＋１へ移動した探索点＃４の評価計算）となる（実質、３点探索）。そして、評価計算を行った３点の中で評価値が、極小値となる探索点へ探索開始点を移動し、ステップＳ３へ遷移する。
【００４２】
〔Ｓ３〕ステップＳ２で求めた３つの評価値の中で、探索点＃４で求めた評価値が最も極小の値であったとして、探索開始点がステップＳ２における探索点＃４に移動した様子を示している。
【００４３】
ステップＳ３において（＃番号を付け直す）、新たな探索開始点＃１に対して、再び水平、垂直±１ベクトルずらした５点探索により評価計算を行うが、現在の探索開始点＃１と、探索開始点＃１の水平−１方向に位置する探索点と、探索開始点＃１の垂直−１方向に位置する探索点とはすでに探索済みのため、これら探索点の評価計算は行わない。
【００４４】
したがって、評価計算の流れは、（探索開始点＃１から垂直方向＋１へ移動した探索点＃２の評価計算）→（探索開始点＃１から水平方向＋１へ移動した探索点＃３の評価計算）となる（実質、２点探索）。
【００４５】
ここで、探索開始点＃１の評価値よりも、探索点＃２の評価値、または探索点＃３の評価値のいずれかが小さければ、小さい方の探索点に探索開始点が移動して再び探索を行うことになるが、もし、探索点＃２、＃３の評価値よりも探索開始点＃１の評価値の方が小さければ、移動先がなくなったということになるので、この時点で探索は終了し、ステップＳ３のときの探索開始点＃１の評価値が最小値であると検出して、ステップＳ３の探索開始点＃１が最も原画マクロブロックに対して相関の高いマクロブロックであると検出される。
【００４６】
図５は１６画素×１６画素のマクロブロックで見た５点探索を示す図である。上述の５点探索の動作をマクロブロックで説明するための図であり、図中の丸は１つの画素を表している。
【００４７】
探索１番目では、原画マクロブロックＭＢ０と、参照画マクロブロックＭＢ１（図の左側の太実線枠）との各画素値における評価計算（式（１））を行い、評価値Ｃａを求める。
【００４８】
探索２番目では、原画マクロブロックＭＢ０と、参照画マクロブロックＭＢ１を水平方向左に１画素移動させた参照画マクロブロックＭＢ１（ｈ−）との各画素値における評価計算を行い、評価値Ｃｂを求める。
【００４９】
探索３番目では、原画マクロブロックＭＢ０と、参照画マクロブロックＭＢ１を水平方向右に１画素移動させた参照画マクロブロックＭＢ１（ｈ＋）との各画素値における評価計算を行い、評価値Ｃｃを求める。
【００５０】
探索４番目では、原画マクロブロックＭＢ０と、参照画マクロブロックＭＢ１を垂直方向上に１画素（１ライン）移動させた参照画マクロブロックＭＢ１（ｖ−）との各画素値における評価計算を行い、評価値Ｃｄを求める。
【００５１】
探索５番目では、原画マクロブロックＭＢ０と、参照画マクロブロックＭＢ１を垂直方向下に１画素（１ライン）移動させた参照画マクロブロックＭＢ１（ｖ＋）との各画素値における評価計算を行い、評価値Ｃｅを求める。
【００５２】
そして、評価値Ｃａ〜Ｃｅの中から最も極小の評価値を選択し、選択した評価値のマクロブロックを基準（探索開始点）にして、再び探索を行っていく。このような操作を続けていくと、最終的には参照画フレームのマクロブロックの移動先がなくなり、そのときの移動元（探索開始点）である参照画マクロブロックが、原画マクロブロックに対して、相関性の最も高いマクロブロックとして検出される。
【００５３】
次に基本ＤＳの問題点について説明する。基本ＤＳの場合、元の入力素材がノンインタレース信号であれば、参照画フレームの隣接する画素間の相関は高いので、図３〜図５で上述したような処理を繰り返すことにより、高い確度で最適な動きベクトルを検出することが可能である。
【００５４】
しかし、入力素材がインタレース信号の場合は、隣接画素がフィールド間にまたがることになるため、フィールド間で時間的な映像変化が大きいと、評価計算を行っていく過程で、最適な極小値を判定する際に誤判定を行う可能性が高くなるといった問題があった。
【００５５】
図６は基本ＤＳの問題点を示す図である。インタレース信号において、１フレームは、oddフィールドとevenフィールドから構成され、図では各フィールド上の垂直方向の画素の並びを示している。
【００５６】
ここで例えば、基本ＤＳにおいて、１回当たりの探索パターンで５点探索を行う場合を考えたとき、４点目の探索で参照画フレームのoddフィールドの画素ｐｒ４と、原画フレームのoddフィールドの画素ｐｏ４との差分ｄ４が求められ、次に５点目の探索で参照画フレームのevenフィールドの画素ｐｒ５と、原画フレームのoddフィールドの画素ｐｏ４との差分ｄ５が求められたとする。このとき、５点探索による移動が終わった時点で、求められた評価値の中で差分ｄ５が最も小さければ、画素ｐｒ５で極小値が得られたと判定することになる（なお、本来はマクロブロック単位で評価計算を行うが、ここでは画素単位で説明している）。
【００５７】
しかし、フィールド間で時間的な映像変化が大きく、空間内で相関性が高い（同一フィールド内で相関性が高い）画像をフレーム単位にベクトル探索する場合には、例えば、参照画フレームのoddフィールドの画素ｐｒ６と、原画フレームのoddフィールドの画素ｐｏ４との差分ｄ５ａの方が、差分ｄ５よりも小さい値をとる（相関が高い）可能性があるため（したがって、この場合は、１回当たりの探索パターンで、画素ｐｒ５ではなく、画素ｐｒ６で極小値が得られることが正しい判定といえる）、インタレース信号に対して基本ＤＳを適用すると、誤判定する可能性が高くなり、最適な極小値を得られないおそれがあり、その結果、正確な動きベクトルを検出することができない場合があるといった問題があった。
【００５８】
インタレース信号のフレームの垂直方向の隣接画素探索では、原画のフィールドとは異なる位相の探索も行うことになるが（すなわち、参照画のoddと原画のoddの探索、または参照画のevenと原画のevenの探索といった同相探索だけでなく、参照画のoddと原画のevenの探索、または参照画のevenと原画のoddの探索といった異相探索も行うということ）、この場合、原画のフィールドと同相（原画フィールドと参照画フィールドが同じフィールド）・異相（原画フィールドと参照画フィールドが異なるフィールド）の両者を評価する際に、上記の問題を解決するために、単純に１回あたりの探索領域を大きくして探索を行って、極小値を決定するというアルゴリズムにすると、それは演算量と消費電力の増加を伴うことになってしまう。
【００５９】
したがって、評価値算出時に誤判定される可能性が小さくなる程度に、探索領域を適切に増やして、または探索点・探索形状を最適化する必要があり、また、動きベクトル検出の演算量を大幅に増加させることなく、かつ回路の小型化・低消費電力の特徴を損なうことなく、インタレース入力画像に対しても効率のよい探索を行うことが必要であり、このような動きベクトル検出制御の開発が強く望まれている。
【００６０】
本発明の動きベクトル検出装置では、動きベクトル検出の演算量の増加を適度に抑えながら、演算対象領域を適切に増やして、精度の高い動きベクトル検出を行う動きベクトル検出装置を提供するものである。
【００６１】
次に動きベクトル検出装置１０の構成及び動作について説明する。図７は動きベクトル検出装置１０の構成を示す図である。動きベクトル検出装置１０は、参照画マクロブロック探索移動部１１、評価計算部１２、探索パターン発生部１３、動きベクトル検出部１４、フレームメモリ１５、原画マクロブロック記憶部１６から構成される。
【００６２】
また、参照画マクロブロック探索移動部１１は、参照画マクロブロック読み出し部１１−１と、参照画フレーム記憶部１１−２から構成され、評価計算部１２は、０系演算器１２１と１系演算器１２２を含む画像相関評価演算部１２０と、極小値／最小値検出部１２−１とから構成される。
【００６３】
なお、評価計算部１２の画像相関評価演算部１２０は、実際には２以上の複数の評価演算器で構成することが可能であるが、図では、０系演算器１２１と１系演算器１２２の２台の演算器を含む構成としている。
【００６４】
フレームメモリ１５は、インタレース信号の入力動画フレームを格納する。原画マクロブロック記憶部１６は、フレームメモリ１５から読み出された処理対象の原画マクロブロックを記憶する。
【００６５】
探索パターン発生部１３は、探索パターンテーブルを有し（図２４で後述）、テーブルに設定された探索移動情報を、参照画マクロブロック探索移動部１１へ送信する。この探索移動情報の中には、参照画マクロブロックを垂直方向に探索移動させる場合には、フィールド間をまたいで探索移動範囲を広げる拡張探索を行うための拡張探索情報や０系演算器１２１と１系演算器１２２のどちらに評価計算を実行させるかの選択指示等が含まれる。また、探索パターン発生部１３には、探索初期の開始点やテーブル内容の設定を外部指定により設定可能である。
【００６６】
参照画マクロブロック読み出し部１１−１は、探索移動情報から参照画フレーム内の参照画マクロブロックの読み出し位置を決定して、参照画フレーム記憶部１１−２で記憶されている参照画フレームに対し、決定した位置の参照画マクロブロックを読み出す。
【００６７】
そして、０系演算器１２１側で評価計算を実行させる場合には、読み出した参照画マクロブロックを０系演算器１２１へ送信し、１系演算器１２２で評価計算を実行させる場合には、読み出した参照画マクロブロックを１系演算器１２２へ送信する。
【００６８】
画像相関評価演算部１２０内の０系演算器１２１と１系演算器１２２は、並列動作して、自己に割り振られた評価計算を実行し、極小値／最小値検出部１２−１は、評価値の中から極小値を検出し、また最小値を検出する。
【００６９】
動きベクトル検出部１４は、最小値を受信して、最小値を持つ参照画マクロブロックを、原画マクロブロックの相関性の最も高いマクロブロックとしてみなして、最小値を持つ参照画マクロブロックと、原画マクロブロックとの間の移動量及び移動方向を動きベクトルとして検出して出力する。
【００７０】
次に動きベクトル検出装置１０の探索動作について詳しく説明する。図８は探索パターン例を示す図である。図中の丸や三角の形状は、参照画フレーム内の探索マクロブロック（参照画マクロブロック）を示しており、形状内の番号は探索順序を示している。
【００７１】
二重丸は、該当探索パターンにおける探索開始点の参照画マクロブロックを示す。また、二重丸と普通の丸印は、０系演算器１２１で評価計算が実行される参照画マクロブロックを示し、三角印は、１系演算器１２２で評価計算が実行される参照画マクロブロックを示している。
【００７２】
パターンＰＴ１は、探索開始初期時における探索パターンである。探索開始点＃１を起点として、起点を中心として水平方向、垂直方向の探索を行う。この場合、水平方向には±１ベクトルの探索を行うが、垂直方向にはフィールド間をまたがるように、垂直方向±１及び垂直方向±２の探索を行う。
【００７３】
具体的に評価計算の流れを見ていくと、まず、０系演算器１２１（以下、単に０系と表記する）による探索開始点＃１の評価計算（参照画フレーム内の探索開始点＃１の位置に存在する参照画マクロブロックと、原画フレーム内のある位置に存在する原画マクロブロックとの間の評価計算ということ。以下同様）と、１系演算器１２２（以下、単に１系と表記する）による探索点＃２の評価計算とを並列して実行する。
【００７４】
その後は、（０系による探索点＃３の評価計算と１系による探索点＃４の評価計算との並列処理）→（０系による探索点＃５の評価計算と１系による探索点＃６の評価計算との並列処理）→（０系による探索点＃７の評価計算）となる。そして、評価計算を行ったこれら７点の中で、評価値が極小値となる探索点へ探索開始点を移動し、次の探索パターンへ遷移することになる。探索点＃１〜＃７のそれぞれが極小値となった場合の次段階の各探索パターン例については、図１９〜図２３で後述する。
【００７５】
ここで、パターンＰＴ１から次の探索パターンへ移っての探索動作を説明する前に、パターンＰＴ１の内容をフレーム上のブロックから見た場合の探索動作について図９〜図１５を用いて説明する。
【００７６】
図９〜図１５はフレーム上のブロックから見た探索移動を示す図である。パターンＰＴ１の探索移動をフレーム上のブロック移動で示している。図中の丸印は画素を表し、白塗り丸印はoddフィールド上の画素、色塗り丸印はevenフィールド上の画素を表している。
【００７７】
また、説明及び図を簡単にするために、１ブロック構成は、３画素×３画素とする。なお、以降の説明は、フレーム上のブロックの探索移動を明確にするための説明なので、０系、１系のどちらの演算器で評価計算を行うかについては特に言及しない。
【００７８】
図９は参照画ブロックが探索開始点にある図である。原画ブロックｍ０は、原画フレーム上の図に示す位置にあり、画素ｐｏ１〜ｐｏ９で構成される。探索開始点＃１である参照画ブロック＃１は、参照画フレーム上の図に示す位置にあり、画素ｐｒ８〜ｐｒ１０、ｐｒ１３〜ｐｒ１５、ｐｒ１８〜ｐｒ２０で構成される。
【００７９】
このときの評価計算は、画素ｐｒ８と画素ｐｏ１との差分の絶対値（以下、｜ｐｒ８−ｐｏ１｜と示す）、｜ｐｒ９−ｐｏ２｜、｜ｐｒ１０−ｐｏ３｜、｜ｐｒ１３−ｐｏ４｜、・・・、｜ｐｒ２０−ｐｏ９｜の総和を算出して評価値Ｃ１を求める。
【００８０】
図１０は参照画ブロックが水平−１方向に探索移動した図である。探索点＃２である参照画ブロック＃２は、画素ｐｒ７〜ｐｒ９、ｐｒ１２〜ｐｒ１４、ｐｒ１７〜ｐｒ１９で構成される。このときの評価計算は、｜ｐｒ７−ｐｏ１｜、｜ｐｒ８−ｐｏ２｜、｜ｐｒ９−ｐｏ３｜、｜ｐｒ１２−ｐｏ４｜、・・・、｜ｐｒ１９−ｐｏ９｜の総和を算出して評価値Ｃ２を求める。
【００８１】
図１１は参照画ブロックが水平＋１方向に移動した図である。探索点＃３である参照画ブロック＃３は、画素ｐｒ９〜ｐｒ１１、ｐｒ１４〜ｐｒ１６、ｐｒ１９〜ｐｒ２１で構成される。このときの評価計算は、｜ｐｒ９−ｐｏ１｜、｜ｐｒ１０−ｐｏ２｜、｜ｐｒ１１−ｐｏ３｜、｜ｐｒ１４−ｐｏ４｜、・・・、｜ｐｒ２１−ｐｏ９｜の総和を算出して評価値Ｃ３を求める。
【００８２】
図１２は参照画ブロックが垂直＋２方向に移動した図である。探索点＃４である参照画ブロック＃４は、画素ｐｒ１８〜ｐｒ２０、ｐｒ２３〜ｐｒ２５、ｐｒ２７〜ｐｒ２９で構成される。このときの評価計算は、｜ｐｒ１８−ｐｏ１｜、｜ｐｒ１９−ｐｏ２｜、｜ｐｒ２０−ｐｏ３｜、｜ｐｒ２３−ｐｏ４｜、・・・、｜ｐｒ２９−ｐｏ９｜の総和を算出して評価値Ｃ４を求める。
【００８３】
図１３は参照画ブロックが垂直−２方向に移動した図である。探索点＃５である参照画ブロック＃５は、画素ｐｒ１〜ｐｒ３、ｐｒ４〜ｐｒ６、ｐｒ８〜ｐｒ１０で構成される。このときの評価計算は、｜ｐｒ１−ｐｏ１｜、｜ｐｒ２−ｐｏ２｜、｜ｐｒ３−ｐｏ３｜、｜ｐｒ４−ｐｏ４｜、・・・、｜ｐｒ１０−ｐｏ９｜の総和を算出して評価値Ｃ５を求める。
【００８４】
図１４は参照画ブロックが垂直＋１方向に移動した図である。探索点＃６である参照画ブロック＃６は、画素ｐｒ１３〜ｐｒ１５、ｐｒ１８〜ｐ２０、ｐｒ２３〜ｐｒ２５で構成される。このときの評価計算は、｜ｐｒ１３−ｐｏ１｜、｜ｐｒ１４−ｐｏ２｜、｜ｐｒ１５−ｐｏ３｜、｜ｐｒ１８−ｐｏ４｜、・・・、｜ｐｒ２５−ｐｏ９｜の総和を算出して評価値Ｃ６を求める。
【００８５】
図１５は参照画ブロックが垂直−１方向に移動した図である。探索点＃７である参照画ブロック＃７は、画素ｐｒ４〜ｐｒ６、ｐｒ８〜ｐ１０、ｐｒ１３〜ｐｒ１５で構成される。このときの評価計算は、｜ｐｒ４−ｐｏ１｜、｜ｐｒ５−ｐｏ２｜、｜ｐｒ６−ｐｏ３｜、｜ｐｒ８−ｐｏ４｜、・・・、｜ｐｒ１５−ｐｏ９｜の総和を算出して評価値Ｃ７を求める。そして、評価値Ｃ１〜Ｃ７の中から最も極小の評価値を選択し、選択した評価値を持つ参照画ブロックを基準にして、再び探索を行っていくことになる。
【００８６】
ここで、パターンＰＴ１のように、１回当たりの探索パターンにおいて、水平方向に参照画ブロックを探索移動する場合は、図１０、図１１に示すように基本ＤＳと同様、水平−１方向、水平＋１方向に１画素分探索移動している。
【００８７】
一方、１回当たりの探索パターンにおいて、垂直方向に参照画ブロックを探索移動する場合では、図１２〜図１５に示すように、原画ブロックｍ０と参照画ブロックとの間で、同一フィールド上での評価計算及び異なるフィールド上での評価計算が行われるように、フィールド間をまたいで２ｎ（ｎ＝１、２、・・・）ライン分探索移動範囲を広げる拡張探索を行っている。
【００８８】
例えば、垂直上方向を見ると、図１５では垂直−１方向に参照画ブロックを探索移動することで、原画ブロックｍ０と参照画ブロック＃７との間で異なるフィールド上での評価計算が行われ、図１３では垂直−２方向に参照画ブロックを探索移動することで、原画ブロックｍ０と参照画ブロック＃５との間で同一フィールド上での評価計算が行われている。
【００８９】
また、垂直下方向を見ると、図１４では垂直＋１方向に参照画ブロックを探索移動することで、原画ブロックｍ０と参照画ブロック＃６との間で異なるフィールド上での評価計算が行われ、図１２では垂直＋２方向に参照画ブロックを探索移動することで、原画ブロックｍ０と参照画ブロック＃４との間で同一フィールド上での評価計算が行われている。
【００９０】
oddフィールド及びevenフィールドからなるフィールド構成のフレーム上で、参照画ブロックを垂直方向に移動させる場合、従来の例えば、基本ＤＳのようなアルゴリズムでは、参照画ブロックを１画素分単純に探索移動させていたが、本発明の動きベクトル検出装置１０では、参照画ブロックを垂直方向に移動させる場合には、フィールド間をまたいで、すなわち、参照画ブロックを２ｎライン分探索移動させるようにする。このような探索移動を本発明では拡張探索（または拡張探索移動）と呼んでおり、上述のパターンＰＴ１は、ｎ＝１の例を示すものである。
【００９１】
図１６は画素単位で見た拡張探索を示す概略図である。丸印は画素であり、白塗り丸印はoddフィールド上の画素、色塗り丸印はevenフィールド上の画素である。なお、垂直上方向の探索移動のみ示す（垂直下方向の探索移動も同様のため）。
【００９２】
ｎ＝１の拡張探索移動の場合は、２画素（２ライン）分探索移動することになるので、画素ｐ１から１ライン上に移動したevenフィールド上の画素ｐ２と、２ライン上に移動したoddフィールド上の画素ｐ３までが１回当たりの探索パターンで探索移動する範囲となる。
【００９３】
同様にして、ｎ＝２の拡張探索移動の場合は、４画素（４ライン）分探索移動することになるので、画素ｐ１から１ライン上に移動したevenフィールド上の画素ｐ２と、２ライン上に移動したoddフィールド上の画素ｐ３と、３ライン上に移動したevenフィールド上の画素ｐ４と、４ライン上に移動したoddフィールド上の画素ｐ５までを１回当たりの探索パターンで探索移動する範囲となる。以降同様である。
【００９４】
図１７、図１８はマクロブロック単位で見た拡張探索を示す概略図である。図１７は垂直−１方向、−２方向の拡張探索移動を示し、図１８は垂直＋１方向、＋２方向の拡張探索移動を示す。
【００９５】
図１７において、ｎ＝１で、参照画マクロブロックＭＢ１の最上段ラインがoddフィールドにある場合、１回当たりの探索パターンで、参照画マクロブロックＭＢ１を垂直上方向に探索移動させる際には、フィールド間をまたぐように、参照画マクロブロックＭＢ１の最上段ラインの１ライン上のevenフィールドと、最上段ラインの２ライン上のoddフィールドまでを探索移動範囲とする。
【００９６】
図１８において、ｎ＝１で、参照画マクロブロックＭＢ１の最下段ラインがevenフィールドにある場合、１回当たりの探索パターンで、参照画マクロブロックＭＢ１を垂直下方向に探索移動させる際には、フィールド間をまたぐように、参照画マクロブロックＭＢ１の最下段ラインの１ライン下のoddフィールドと、最下段ラインの２ライン下のevenフィールドまでを探索移動範囲とする。
【００９７】
図１７、図１８の内容を一般的に記すと、ｎ＝１の場合で、探索開始位置の参照画マクロブロック内の最上段ラインがodd／evenフィールドにあって、参照画マクロブロックを垂直上方向に探索移動させる場合には、１回当たりの探索パターンで、最上段ラインの１ライン上のeven／oddフィールドと、最上段ラインの２ライン上のodd／evenフィールドまでを探索移動範囲とする拡張探索を行う。また、ｎ＝１の場合で、探索開始位置の参照画マクロブロック内の最下段ラインがodd／evenフィールドにあって、参照画マクロブロックを垂直下方向に探索移動させる場合には、１回当たりの探索パターンで、最下段ラインの１ライン下のeven／oddフィールドと、最下段ラインの２ライン下のodd／evenフィールドまでを探索移動範囲とする拡張探索を行う（演算量との兼ね合いで、ｎ＝１の拡張探索が最も多く使用されることが予想されるため、図１７、図１８を用いて、ｎ＝１の場合について詳しく説明した）。
【００９８】
以上説明したように、垂直方向探索移動時には拡張探索を行うことにより、図６で上述したような、評価値算出時に誤判定される可能性を低減することが可能になる。また、動きベクトル検出装置１０が行うこのような拡張探索は、単純に１回あたりの探索領域を増やしたり、探索回数を増やしたりしているものではなく、評価値算出時に誤判定される可能性が小さくなる程度に、探索領域を適切に増やして、または探索点・探索形状を最適化するものであるため、元の動きベクトル検出の演算量を大幅に増加させることなく、かつ回路の小型化・低消費電力の特徴を損なうことがなく、インタレース入力画像の動きベクトル検出を効率よくかつ高精度に行うことが可能になる。
【００９９】
ここで、垂直方向の探索移動時には必ず拡張探索を行うようにすると、当然、動きベクトル検出の精度は上がり、単純に探索領域を増加させる手法と比べれば、はるかに演算量を減らして、高精度の探索処理が可能になるのだが、さらに演算量の低減を図りたいような場合には、垂直方向の探索移動時にいつも拡張探索を行うのではく、ある状態のときに垂直方向の探索移動を行う場合に、拡張探索を行うようにする。
【０１００】
具体的には、パターンＰＴ１のような探索開始初期時の探索パターンにおいて、参照画マクロブロックを垂直方向に探索移動させる場合には、常に拡張探索を行うようにする。
また、探索パターンＰ０→探索パターンＰ１→探索パターンＰ２というように移行する流れの中で、前回の探索パターンＰ１で垂直方向へ探索移動することで極小値が得られた場合、次の探索パターンＰ２に対して、参照画マクロブロックを垂直方向に探索移動させる場合には、常に拡張探索を行うようにする。
【０１０１】
なぜなら、前回の探索パターンＰ１で垂直方向へ探索移動した際に極小値が得られたということは、前回の探索パターンＰ１で拡張探索を行った結果から、その極小値を得ることができたという可能性があるからであり、このことは、探索パターンＰ０〜Ｐ２で処理している現状のフレームは、フィールド間で時間的な映像変化が大きく、同一フィールド内で相関性が高いといった可能性があるからである。
【０１０２】
このように、上記の２つの状態の場合には拡張探索を必ず行い、それ以外は垂直方向へ探索移動する場合であっても、拡張探索は行わないようにすることで、動きベクトル検出の精度を上げながらも、さらに演算量の低減を図ることが可能になる。
【０１０３】
次にパターンＰＴ１以降の探索パターン例について説明する。図１９は探索パターン例を示す図である。図８で示したパターンＰＴ１から次段階の探索パターンであるパターンＰＴ２の例を示している。図中の記号の意味は図８と同じであるが、黒塗り記号は探索が終わった位置を示している。
【０１０４】
（ａ）パターンＰＴ２−０は、パターンＰＴ１で算出した７つの評価値の中で、パターンＰＴ１のときの探索開始点＃１の評価値が極小値であったときの探索パターンである（したがって、探索開始点は移動しないので、パターンＰＴ１のときの探索開始点と同じ位置にある）。
【０１０５】
パターンＰＴ２−０において、＃番号を振り直して説明すると、探索開始点＃１から斜め上下方向及び水平左右方向に対して、探索開始点＃１を除き計１０点の探索を行っている。
【０１０６】
評価計算の流れは、（０系による探索点＃２の評価計算と１系による探索点＃３の評価計算との並列処理）→（０系による探索点＃４の評価計算と１系による探索点＃５の評価計算との並列処理）→（０系による探索点＃６の評価計算と１系による探索点＃７の評価計算との並列処理）→（０系による探索点＃８の評価計算と１系による探索点＃９の評価計算との並列処理）→（０系による探索点＃１０の評価計算と１系による探索点＃１１の評価計算との並列処理）となる。
【０１０７】
（ｂ）パターンＰＴ２−１ａは、パターンＰＴ１で算出した７つの評価値の中で、パターンＰＴ１のときの探索点＃７の評価値が極小値であったときの探索パターンである。なお、パターンＰＴ２−１ｂとは、パターンＰＴ２−１ａに対して上下対称のパターンであり（すなわち、パターンＰＴ１のときの探索点＃６の評価値が極小値であったときのパターン）、図示及び説明は省略する。
【０１０８】
パターンＰＴ２−１ａにおいて＃番号を振り直して説明すると、探索開始点＃１から水平左右方向、垂直上方向、斜め上方向に対して、探索開始点＃１自身も含めて計６点の探索を行っている。
【０１０９】
評価計算の流れは、（０系による探索点＃１の評価計算）→（０系による探索点＃２の評価計算と１系による探索点＃３の評価計算との並列処理）→（０系による探索点＃４の評価計算と１系による探索点＃５の評価計算との並列処理）→（０系による探索点＃６の評価計算）となる。
【０１１０】
なお、パターンＰＴ２−１ａは、前回のパターンＰＴ１で垂直方向へ探索移動することで極小値が得られた場合の探索パターンであるので、パターンＰＴ２−１ａにおいて垂直上方向の探索移動を行う際は、垂直−１方向と垂直−２方向の拡張探索移動を行っている。なお、探索開始点＃１の１ライン上の探索点は、パターンＰＴ１ですでに探索済みのため、２ライン上の探索点＃６の評価計算のみ行うことになる。
【０１１１】
（ｃ）パターンＰＴ２−２ａは、パターンＰＴ１で算出した７つの評価値の中で、パターンＰＴ１のときの探索点＃５の評価値が極小値であったときの探索パターンである。なお、パターンＰＴ２−２ｂとは、パターンＰＴ２−２ａに対して上下対称のパターンであり（すなわち、パターンＰＴ１のときの探索点＃４の評価値が極小値であったときのパターン）、図示及び説明は省略する。
【０１１２】
パターンＰＴ２−２ａにおいて＃番号を振り直して説明すると、探索開始点＃１から水平左右方向、垂直上方向、斜め上方向に対して、探索開始点＃１自身も含めて計７点の探索を行っている。
【０１１３】
評価計算の流れは、（０系による探索点＃１の評価計算）→（０系による探索点＃２の評価計算と１系による探索点＃３の評価計算との並列処理）→（０系による探索点＃４の評価計算と１系による探索点＃５の評価計算との並列処理）→（０系による探索点＃６の評価計算と１系による探索点＃７の評価計算との並列処理）となる。
【０１１４】
なお、パターンＰＴ２−２ａは、前回のパターンＰＴ１で垂直方向へ探索移動することで極小値が得られた場合の探索パターンであるので、パターンＰＴ２−２ａにおいて垂直上方向の探索移動を行う際は、垂直−１方向と垂直−２方向の拡張探索移動を行っている。
【０１１５】
（ｄ）パターンＰＴ２−３ａは、パターンＰＴ１で算出した７つの評価値の中で、パターンＰＴ１のときの探索点＃３の評価値が極小値であったときの探索パターンである。なお、パターンＰＴ２−３ｂとは、パターンＰＴ２−３ａに対して左右対称のパターンであり（すなわち、パターンＰＴ１のときの探索点＃２の評価値が極小値であったときのパターン）、図示及び説明は省略する。
【０１１６】
パターンＰＴ２−３ａにおいて＃番号を振り直して説明すると、探索開始点＃１から水平右方向及び水平右方向の周辺に対して、探索開始点＃１自身も含めて計７点の探索を行っている。
【０１１７】
評価計算の流れは、（０系による探索点＃１の評価計算）→（０系による探索点＃２の評価計算と１系による探索点＃３の評価計算との並列処理）→（０系による探索点＃４の評価計算と１系による探索点＃５の評価計算との並列処理）→（０系による探索点＃６の評価計算と１系による探索点＃７の評価計算との並列処理）となる。
【０１１８】
次にパターンＰＴ２以降の探索パターン例について説明する。なお、探索移動の動作については上記で詳しく説明したので、以降では探索パターンの状態を簡潔に示すだけに留める。
【０１１９】
図２０は探索パターン例を示す図である。パターンＰＴ２−０の次の段階の探索パターンＰＴ３を示す図である。パターンＰＴ３ａ−１は、パターンＰＴ２−０で算出した１０個の評価値の中で、パターンＰＴ２−０のときの探索点＃４の評価値が極小値であったときの探索パターンである。なお、パターンＰＴ３ａ−１と対象の左右（＃５が極小のとき）、上下（＃６が極小のとき）、上下左右（＃７が極小のとき）の関係にあるパターンの図示及び説明は省略する。
【０１２０】
パターンＰＴ３ａ−２は、パターンＰＴ２−０で算出した１０個の評価値の中で、パターンＰＴ２−０のときの探索点＃８の評価値が極小値であったときの探索パターンである。なお、パターンＰＴ３ａ−２と対象の左右（＃９が極小のとき）、上下（＃１０が極小のとき）、上下左右（＃１１が極小のとき）の関係にあるパターンの図示及び説明は省略する。
【０１２１】
パターンＰＴ３ａ−３は、パターンＰＴ２−０で算出した１０個の評価値の中で、パターンＰＴ２−０のときの探索点＃２の評価値が極小値であったときの探索パターンである。なお、パターンＰＴ３ａ−３と対象の左右（＃３が極小のとき）の関係にあるパターンの図示及び説明は省略する。
【０１２２】
図２１は探索パターン例を示す図である。パターンＰＴ２−１ａの次の段階の探索パターンＰＴ４を示す図である。パターンＰＴ４ａ−１は、パターンＰＴ２−１ａで算出した６個の評価値の中で、パターンＰＴ２−１ａのときの探索点＃６の評価値が極小値であったときの探索パターンである。パターンＰＴ４ａ−１は、前回のパターンＰＴ２−１ａで垂直方向へ探索移動することで極小値が得られた場合の探索パターンであるので、パターンＰＴ４ａ−１において垂直上方向の探索移動を行う際は、拡張探索移動を行っている。
【０１２３】
パターンＰＴ４ａ−２は、パターンＰＴ２−１ａで算出した６個の評価値の中で、パターンＰＴ２−１ａのときの探索点＃４の評価値が極小値であったときの探索パターンである。なお、パターンＰＴ４ａ−２と対象の左右（＃２が極小のとき）の関係にあるパターンの図示及び説明は省略する。
【０１２４】
パターンＰＴ４ａ−３は、パターンＰＴ２−１ａで算出した６個の評価値の中で、パターンＰＴ２−１ａのときの探索点＃５の評価値が極小値であったときの探索パターンである。なお、パターンＰＴ４ａ−３と対象の左右（＃３が極小のとき）の関係にあるパターンの図示及び説明は省略する。
【０１２５】
図２２は探索パターン例を示す図である。パターンＰＴ２−２ａの次の段階の探索パターンＰＴ５を示す図である。パターンＰＴ５ａ−１は、パターンＰＴ２−２ａで算出した７個の評価値の中で、パターンＰＴ２−２ａのときの探索点＃６の評価値が極小値であったときの探索パターンである。パターンＰＴ５ａ−１は、前回のパターンＰＴ２−２ａで垂直方向へ探索移動することで極小値が得られた場合の探索パターンであるので、パターンＰＴＴ５ａ−１において垂直上方向の探索移動を行う際は、拡張探索移動を行っている。
【０１２６】
パターンＰＴ５ａ−２では、パターンＰＴ２−２ａで算出した７個の評価値の中で、パターンＰＴ２−２ａのときの探索点＃７の評価値が極小値であったときの探索パターンである。
【０１２７】
パターンＰＴ５ａ−３では、パターンＰＴ２−２ａで算出した７個の評価値の中で、パターンＰＴ２−２ａのときの探索点＃４の評価値が極小値であったときの探索パターンである。なお、パターンＰＴ５ａ−３と対象の左右（＃２が極小のとき）の関係にあるパターンの図示及び説明は省略する。
【０１２８】
パターンＰＴ５ａ−４では、パターンＰＴ２−２ａで算出した７個の評価値の中で、パターンＰＴ２−２ａのときの探索点＃５の評価値が極小値であったときの探索パターンである。なお、パターンＰＴ５ａ−４と対象の左右（＃３が極小のとき）の関係にあるパターンの図示及び説明は省略する。
【０１２９】
図２３は探索パターン例を示す図である。パターンＰＴ２−３ａの次の段階の探索パターンＰＴ６を示す図である。パターンＰＴ６ａ−１は、パターンＰＴ２−３ａで算出した７個の評価値の中で、パターンＰＴ２−３ａのときの探索点＃５の評価値が極小値であったときの探索パターンである。パターンＰＴ６ａ−１は、前回のパターンＰＴ２−３ａで垂直方向へ探索移動することで極小値が得られた場合の探索パターンであるので、パターンＰＴ６ａ−１において垂直上方向の探索移動を行う際は、拡張探索移動を行っている。なお、パターンＰＴ６ａ−１と上下対称（＃７が極小のとき）の関係にあるパターンの図示及び説明は省略する。
【０１３０】
パターンＰＴ６ａ−２は、パターンＰＴ２−３ａで算出した７個の評価値の中で、パターンＰＴ２−３ａのときの探索点＃４の評価値が極小値であったときの探索パターンである。なお、パターンＰＴ６ａ−２と上下対称（＃６が極小のとき）の関係にあるパターンの図示及び説明は省略する。
【０１３１】
パターンＰＴ６ａ−３では、パターンＰＴ２−３ａで算出した７個の評価値の中で、パターンＰＴ２−３ａのときの探索点＃３の評価値が極小値であったときの探索パターンである。
【０１３２】
パターンＰＴ６ａ−４では、パターンＰＴ２−３ａで算出した７個の評価値の中で、パターンＰＴ２−３ａのときの探索点＃２の評価値が極小値であったときの探索パターンである。
【０１３３】
なお、上記の探索パターンでは、拡張探索を行うこと、探索開始点の移動方向にしたがって適応的に形状を変えること、３ステップ目までの探索点の合計が一定数を超えないこと（上記の例では合計２２探索点を超えないこととし、この上限は演算能力に依存する）としたものである。図８、図１９〜図２３で示した探索形状は一例であって、他の探索形状で探索移動を行ってもよい。１回当たりの探索パターンに対して、ユーザからの外部指定により、任意の探索形状及び探索領域の設定が可能である。
【０１３４】
次に探索パターン発生部１３のテーブル構成について説明する。図２４は探索パターンテーブルを示す図である。探索パターン発生部１３は、外部から書き替え可能な探索パターンテーブルＴ１を有する。探索パターンテーブルＴ１は、アドレス、パターン内最終探索点フラグ、探索移動方向、次パターン読み出し先頭アドレス、演算器割り当ての項目から構成される（アドレスを除く各項目の値が探索移動情報に該当する）。
【０１３５】
アドレスは、テーブルの各行の内容を記憶するメモリのアドレスを示す。パターン内最終探索点フラグは、１回当たりの探索パターンの最終探索点を示す欄であり、最終探索点では１、途中の探索点は０としている。探索移動方向は、探索点の移動方向を示す。次パターン読み出し先頭アドレスは、次の探索パターンの読み出し先頭アドレスを示す。演算器割り当ては、０系または１系のいずれの演算器に評価計算を割り当てるかを示す。
【０１３６】
図２４に示すテーブル設定例は、図８で示したパターンＰＴ１の状態を示している。例えば、探索点移動方向の（水平、垂直）＝（０、０）、（−１、０）、（＋１、０）、（０、−１）、（０、＋１）、（０、−２）、（０、＋２）はそれぞれ、パターンＰＴ１の探索点＃１〜＃７に該当しており、演算器割り当てで０／１系が割り当てられ、アドレス０ｘ０６の探索点＃７でパターンＰＴ１は終了するので、１回当たりの探索パターンの最終探索点を示す欄に１が立っている。
【０１３７】
また、アドレス０ｘ００の次の探索パターンの読み出し先頭アドレスには０ｘ０７が記載されており、これは探索点＃１で極小値となった場合の次の探索パターンであるパターンＰＴ２−０の先頭アドレスが０ｘ０７から始まることを示しており、アドレス０ｘ０７以降からパターンＰＴ２−０の各探索点の情報が設定されていることを表すものである。
【０１３８】
また、同様にアドレス０ｘ０６の次の探索パターンの読み出し先頭アドレスには０ｘ＊＊が記載されており、これは探索点＃７で極小値となった場合の次の探索パターンであるパターンＰＴ２−１ａの先頭アドレスが０ｘ＊＊から始まることを示しており、アドレス０ｘ＊＊以降からパターンＰＴ２−１ａの各探索点の情報が設定されていることを表すものである（アドレス０ｘ０１〜０ｘ０５の次の探索パターンの読み出し先頭アドレスは図では空白となっているが、実際には次探索パターンの先頭アドレスが記載されているものである）。
【０１３９】
図２５は探索パターン読み出しフローを示す図である。
〔Ｓ１１〕１回当たりの探索パターンのパターン内先頭アドレスを設定する。
〔Ｓ１２〕アドレス順に探索パターン（探索移動情報）を読み出す。
【０１４０】
〔Ｓ１３〕最終探索点ならステップＳ１５へ、そうでなければステップＳ１４へいく。
〔Ｓ１４〕次のアドレスを更新する。
〔Ｓ１５〕１回当たりの探索パターンの探索が終了したことを確認する。
【０１４１】
〔Ｓ１６〕次探索パターンのパターン先頭アドレスを決定する。
次に動きベクトル検出装置１０の変形例について説明する。第１の変形例は、原画フレームのピクチャタイプによって、動きベクトル検出の予測方向を切り替えるものである。また、このとき、ピクチャタイプに応じて、０系演算器１２１、１系演算器１２２の使い分け、かつ拡張探索／基本ＤＳの使い分けも行う。なお、装置構成は基本的に図７と同様である。
【０１４２】
図２６はピクチャタイプによる予測方向を示す図である。原画フレームがフレーム間順方向予測符号化フレーム（Ｐピクチャ：Predictive picture）の場合には、原画のＰピクチャより時間的に前方向に位置する参照画フレームである前方向参照画フレーム（Ｐピクチャ）との間で０系演算器１２１と１系演算器１２２の両方を使用して評価計算を行う（矢印Ａ１）。
【０１４３】
また、原画フレームが双方向予測符号化フレーム（Ｂピクチャ：Bi-directionally predictive-coded picture）の場合には、０系演算器１２１を使用して、前方向参照画フレーム（Ｐピクチャ）と、原画のＢピクチャとの間で評価計算を行い、かつ１系演算器１２２を使用して、原画のＢピクチャより時間的に後方向に位置する参照画フレームである後方向参照画フレーム（Ｐピクチャ）と、原画のＢピクチャとの間で評価計算を行う（矢印Ａ２）。
【０１４４】
図２７はピクチャタイプによる探索モード、演算器の切り分けを示す図である。原画フレームがＰピクチャの場合、予測方向は、時間的に前に位置する前方向参照画フレームであるＰピクチャを使用し、探索モードは拡張探索とする（すなわち、参照画マクロブロックの垂直方向への探索移動を行う場合には拡張探索を行う）。また、評価計算には０系演算器１２１、１系演算器１２２の両方を使用して、原画フレームと前方向参照画フレームとの間で評価計算を行う。
【０１４５】
一方、原画フレームがＢピクチャの場合、予測方向は、時間的に前に位置する前方向参照画フレームであるＰピクチャと、時間的に後に位置する参照画フレームである後方向参照画フレームであるＰピクチャを使用し、探索モードは基本ＤＳとする（すなわち、参照画マクロブロックの垂直方向への探索移動を行う場合であっても拡張探索は行わない）。そして、評価計算で用いる演算器としては、前方向参照画フレーム（Ｐピクチャ）と、原画フレームとの評価計算では０系演算器１２１を使用し、後方向参照画フレーム（Ｐピクチャ）と、原画フレームとの評価計算では１系演算器１２２を使用する。
【０１４６】
ここで、ＭＰＥＧ符号化では、符号化を行うピクチャのタイプによって探索を行う予測方向が異なり、Ｐピクチャでは１つの予測方向、Ｂピクチャでは２つの予測方向からの探索を行う。したがって、同じ探索数を探す場合であっても、原画フレームがＢピクチャのときは、Ｐピクチャのときと比べて２倍の演算量が必要になる。
【０１４７】
このため、上記のように、処理負荷が重いＢピクチャの場合には（原画フレームがＢピクチャの場合には）、拡張探索は行わずに基本ＤＳを行い、かつ０系、１系両方の演算器を用いて評価計算を行うようにする。また、処理負荷が軽いＰピクチャの場合には（原画フレームがＰピクチャの場合には）、拡張探索を行い、０系、１系両方の演算器を用いて評価計算を行うようにする。このように、ピクチャタイプによって、探索モード、演算器を適切に割り当てることで、動きベクトル検出の演算量の増加を適度に抑えながら演算対象領域を適切に増やして、精度の高い動きベクトル検出を行うことが可能になる。
【０１４８】
次に第２の変形例について説明する。第２の変形例は、参照画マクロブロックの垂直方向への探索移動時において、処理対象の原画マクロブロックが画面中央に位置している場合にのみ拡張探索を行うものである。
【０１４９】
図２８は第２の変形例の内容を示す図である。図を簡略して、９ライン×１６マクロブロックを１フレームとした図を示す。画面上側の１、２ライン目と、画面下側の８、９ライン目には基本ＤＳを行い、画面中央の３〜７ライン目に存在するマクロブロックには拡張探索を行うようにする。
【０１５０】
探索パターン発生部１３では、原画フレームの画面上側のｎライン及び画面下側のｍラインの領域にある原画マクロブロックにおける探索移動時には、参照画マクロブロックの垂直方向への探索移動を行う場合であっても拡張探索は行わないようにし、原画フレームの画面中央のｎ＋１ライン目からｍ−１ライン目までの領域にある原画マクロブロックにおける探索移動時には、参照画マクロブロックの垂直方向への探索移動を行う場合には拡張探索を行うような探索パターンを発生する。
【０１５１】
このように、画面の上下端には基本ＤＳを割り当て、比較的に人が注目しやすい画面中央部に対してのみ拡張探索を割り当てることで、動きベクトル検出の演算量の増加を適度に抑えながら演算対象領域を適切に増やして、精度の高い動きベクトル検出を行うことが可能になる。
【０１５２】
次に第３の変形例について説明する。第３の変形例は、参照画マクロブロックの垂直方向への探索移動時において、処理対象の原画マクロブロックの周辺マクロブロックの動きベクトルの変化が大きい場合にのみ拡張探索を行うものである。
【０１５３】
図２９は第３の変形例の内容を示す図である。現在処理対象の原画マクロブロックＭＢ０に対して、同一フレーム内の原画マクロブロックＭＢ０の周辺に位置する、過去に処理した原画マクロブロックのグループを原画マクロブロックグループｇ１とする。このとき、原画マクロブロックグループｇ１内のそれぞれの原画マクロブロックを用いて、ある位置の参照画マクロブロックとでベクトル探索した際に、動きベクトルの変化が比較的大きかったような場合には、原画マクロブロックＭＢ０の動きベクトルも大きくなるものと予想して、現在処理対象となっている、原画マクロブロックＭＢ０と、対応する参照画マクロブロックとのベクトル探索時には拡張探索を割り当てる。
【０１５４】
図３０は第３の変形例の内容を示す図である。原画マクロブロックＭＢ０と参照画マクロブロックＭＢ１とのベクトル探索を行う場合に、参照画マクロブロックＭＢ１の周辺に位置する、過去に処理した参照画マクロブロックのグループを参照画マクロブロックグループｇ２とする。
【０１５５】
このとき、参照画マクロブロックグループｇ２内のそれぞれの参照画マクロブロックを用いて、ある位置の原画マクロブロックとでベクトル探索した際に、動きベクトルの変化が比較的大きかったような場合には、参照画マクロブロックＭＢ１を使用した動きベクトルも大きくなるものと予想して、現在処理対象となっている、原画マクロブロックＭＢ０と参照画マクロブロックＭＢ１とのベクトル探索時には拡張探索を割り当てる。図２９、図３０のように、フレーム内で適切な部分に拡張探索を割り当てることにより、演算効率をより向上させることが可能になる。
【０１５６】
次に動きベクトル検出装置１０の効果について説明する。図３１は動きベクトル検出装置１０の効果を示す図である。縦軸はＳＮＲ（ｄＢ）、横軸はストリームサイズ（バイト）であり、ＲＤ（Rate Distortion）曲線を示している。
【０１５７】
ＲＤ曲線は、ある符号化レートに対してどれだけＳ／Ｎが出ているかを示す曲線である。符号化レートが高ければ、情報がその分多く割り当てられるので、それだけＳ／Ｎも高くなるが、各符号化レートの中でどれだけＳ／Ｎが改善されているかをこの曲線から知ることができる。図に示すグラフから、すべての符号化レートに対して、基本ＤＳアルゴリズムよりも拡張探索アルゴリズムの方がＳ／Ｎが大きくなっており、最大で０．５ｄＢ程度の特性の向上が見られることがわかる。
【０１５８】
なお、上記では主にH.264で定められた１６画素×１６画素のマクロブロック単位で動きベクトル検出を行うこととして説明したが、本発明の技術内容からわかるように、１つのブロック形状に限定されるものではなく、Ｎ画素×Ｍ画素といった任意のブロック単位で本発明の拡張探索移動や動きベクトル検出を行ってもよい。また、上記では垂直方向の探索時に拡張探索を行うとしたが、斜め上方向や斜め下方向などのベクトル探索時にも拡張探索を適用することが可能である。
【０１５９】
（付記１）  奇数フィールド及び偶数フィールドから構成されるインタレース走査された動画像フレームから動きベクトルを検出する動きベクトル検出装置において、
参照画フレーム内のマクロブロックである参照画マクロブロックに対して、評価計算によって極小値が得られた前記参照画マクロブロックを探索開始位置として、前記探索開始位置から前記参照画マクロブロックを、探索パターンに含まれる各探索移動情報にしたがって探索移動させる参照画マクロブロック探索移動部と、
前記参照画マクロブロック内の画素と、原画フレームのマクロブロックである原画マクロブロック内の画素との差分絶対値和または差分自乗和を算出する前記評価計算を行い、１回当たりの前記探索パターンに含まれる複数の前記探索移動情報で、前記参照画マクロブロックを探索移動させて求めた探索移動回数分の評価計算値の中から前記極小値を検出し、前記参照画マクロブロックを探索移動させながら前記極小値を求めていく過程で、前記極小値の中の最小値を検出する評価計算部と、
前記参照画マクロブロックを探索移動させるための前記探索パターンを発生し、前記参照画マクロブロックを垂直方向に探索移動させる場合には、前記探索パターンの前記探索移動情報に対して、前記原画マクロブロックと前記参照画マクロブロックとの間で、フィールド間をまたいで同一フィールド上での前記評価計算及び異なるフィールド上での前記評価計算が行われるように、２ｎ（ｎ＝１、２、・・・）ライン分、探索移動範囲を広げる拡張探索を行うための拡張探索情報を、外部指示にもとづき設定する探索パターン発生部と、
前記最小値を持つ参照画マクロブロックを、前記原画マクロブロックの相関性の最も高いマクロブロックとしてみなして、前記最小値を持つ参照画マクロブロックと、前記原画マクロブロックとの間の移動量及び移動方向を動きベクトルとして検出する動きベクトル検出部と、
を有することを特徴とする動きベクトル検出装置。
【０１６０】
（付記２）  前記参照画マクロブロック探索移動部は、前記探索パターンにもとづいて、ｎ＝１の場合で、探索開始位置の参照画マクロブロック内の最上段ラインが奇数／偶数フィールドにあって、前記参照画マクロブロックを垂直上方向に探索移動させる場合には、１回当たりの前記探索パターンで、前記最上段ラインの１ライン上の偶数／奇数フィールドと、前記最上段ラインの２ライン上の奇数／偶数フィールドまでを探索移動範囲とする前記拡張探索を行い、ｎ＝１の場合で、探索開始位置の参照画マクロブロック内の最下段ラインが奇数／偶数フィールドにあって、前記参照画マクロブロックを垂直下方向に探索移動させる場合には、１回当たりの前記探索パターンで、前記最下段ラインの１ライン下の偶数／奇数フィールドと、前記最下段ラインの２ライン下の奇数／偶数フィールドまでを探索移動範囲とする前記拡張探索を行うことを特徴とする付記１記載の動きベクトル検出装置。
【０１６１】
（付記３）  前記評価計算部は、前記評価計算を行う複数の演算器を有し、１回当たりの前記探索パターンに含まれる複数の前記探索移動情報で、前記参照画マクロブロックを探索移動させて、探索移動回数分の前記評価計算を行う場合には、前記探索パターン発生部は、複数の前記演算器に前記評価計算を振り分けて並列動作させる指示を前記探索移動情報に含めることを特徴とする付記１記載の動きベクトル検出装置。
【０１６２】
（付記４）  前記評価計算部は、第１の演算器と第２の演算器を有し、前記原画フレームがフレーム間順方向予測符号化フレームの場合には、前記原画フレームより時間的に前方向に位置する参照画フレームである前方向参照画フレームと、前記原画フレームとの間で、前記第１の演算器と前記第２の演算器の両方を使用して前記評価計算を行い、前記原画フレームが双方向予測符号化フレームの場合には、前記第１の演算器を使用して、前記前方向参照画フレームと、前記原画フレームとの間で前記評価計算を行い、かつ前記第２の演算器を使用して、前記原画フレームより時間的に後方向に位置する参照画フレームである後方向参照画フレームと、前記原画フレームとの間で前記評価計算を行うことを特徴とする付記３記載の動きベクトル検出装置。
【０１６３】
（付記５）  前記参照画マクロブロック探索移動部は、前記原画フレームが前記フレーム間順方向予測符号化フレームの場合には、前記参照画マクロブロックの垂直方向への探索移動時には前記拡張探索を行い、前記原画フレームが前記双方向予測符号化フレームの場合には、前記参照画マクロブロックの垂直方向への探索移動であっても前記拡張探索は行わないことを特徴とする付記４記載の動きベクトル検出装置。
【０１６４】
（付記６）  前記参照画マクロブロック探索移動部は、探索開始初期時の探索パターンと、前回の探索パターンで垂直方向へ探索移動することで前記極小値が得られた場合の次の探索パターンとに対して、前記参照画マクロブロックを垂直方向に探索移動させる場合には、常に前記拡張探索を行うことを特徴とする付記１記載の動きベクトル検出装置。
【０１６５】
（付記７）  前記探索パターン発生部は、１回当たりの前記探索パターンに対して、外部から設定可能な任意の探索形状の前記探索パターンを発生することを特徴とする付記１記載の動きベクトル検出装置。
【０１６６】
（付記８）  前記探索パターン発生部は、前記参照画マクロブロックの垂直方向への探索移動時に、処理対象の前記原画マクロブロックが画面中央に位置している場合にのみ前記拡張探索を行うように前記拡張探索情報を設定することを特徴とする付記１記載の動きベクトル検出装置。
【０１６７】
（付記９）  前記探索パターン発生部は、前記参照画マクロブロックの垂直方向への探索移動時に、処理対象の前記原画マクロブロックの周辺マクロブロックの動きベクトルの変化が大きい場合にのみ前記拡張探索を行うように前記拡張探索情報を設定することを特徴とする付記１記載の動きベクトル検出装置。
【０１６８】
（付記１０）  奇数フィールド及び偶数フィールドから構成されるインタレース走査された動画像フレームから動きベクトルを検出する動きベクトル検出方法において、
参照画フレーム内のマクロブロックである参照画マクロブロックに対して、評価計算によって極小値が得られた前記参照画マクロブロックを探索開始位置として、前記探索開始位置から前記参照画マクロブロックを、探索パターンに含まれる各探索移動情報にしたがって探索移動させ、
前記参照画マクロブロック内の画素と、原画フレームのマクロブロックである原画マクロブロック内の画素との差分絶対値和または差分自乗和を算出する前記評価計算を行い、
１回当たりの前記探索パターンに含まれる複数の前記探索移動情報で、前記参照画マクロブロックを探索移動させて求めた探索移動回数分の評価計算値の中から前記極小値を検出し、
前記参照画マクロブロックを探索移動させながら前記極小値を求めていく過程で、前記極小値の中の最小値を検出し、
前記参照画マクロブロックを探索移動させるための前記探索パターンを発生し、前記参照画マクロブロックを垂直方向に探索移動させる場合には、前記探索パターンの前記探索移動情報に対して、前記原画マクロブロックと前記参照画マクロブロックとの間で、フィールド間をまたいで同一フィールド上での前記評価計算及び異なるフィールド上での前記評価計算が行われるように、２ｎ（ｎ＝１、２、・・・）ライン分、探索移動範囲を広げる拡張探索を行うための拡張探索情報を、外部指示にもとづき設定し、
前記最小値を持つ参照画マクロブロックを、前記原画マクロブロックの相関性の最も高いマクロブロックとしてみなして、前記最小値を持つ参照画マクロブロックと、前記原画マクロブロックとの間の移動量及び移動方向を動きベクトルとして検出することを特徴とする動きベクトル検出方法。
【図面の簡単な説明】
【０１６９】
【図１】動きベクトル検出装置の原理図である。
【図２】探索移動の概略を説明するための概略図である。
【図３】基本ＤＳの動作概要を示す図である。
【図４】基本ＤＳの探索パターンを示す図である。
【図５】１６画素×１６画素のマクロブロックで見た５点探索を示す図である。
【図６】基本ＤＳの問題点を示す図である。
【図７】動きベクトル検出装置の構成を示す図である。
【図８】探索パターン例を示す図である。
【図９】フレーム上のブロックから見た探索移動を示す図である。
【図１０】フレーム上のブロックから見た探索移動を示す図である。
【図１１】フレーム上のブロックから見た探索移動を示す図である。
【図１２】フレーム上のブロックから見た探索移動を示す図である。
【図１３】フレーム上のブロックから見た探索移動を示す図である。
【図１４】フレーム上のブロックから見た探索移動を示す図である。
【図１５】フレーム上のブロックから見た探索移動を示す図である。
【図１６】画素単位で見た拡張探索を示す概略図である。
【図１７】マクロブロック単位で見た拡張探索を示す概略図である。
【図１８】マクロブロック単位で見た拡張探索を示す概略図である。
【図１９】探索パターン例を示す図である。
【図２０】探索パターン例を示す図である。
【図２１】探索パターン例を示す図である。
【図２２】探索パターン例を示す図である。
【図２３】探索パターン例を示す図である。
【図２４】探索パターンテーブルを示す図である。
【図２５】探索パターン読み出しフローを示す図である。
【図２６】ピクチャタイプによる予測方向を示す図である。
【図２７】ピクチャタイプによる探索モード、演算器の切り分けを示す図である。
【図２８】第２の変形例の内容を示す図である。
【図２９】第３の変形例の内容を示す図である。
【図３０】第３の変形例の内容を示す図である。
【図３１】動きベクトル検出装置の効果を示す図である。
【符号の説明】
【０１７０】
１０  動きベクトル検出装置
１１  参照画マクロブロック探索移動部
１２  評価計算部
１３  探索パターン発生部
１４  動きベクトル検出部
Ｆ０  原画フレーム
Ｍ０  原画マクロブロック
Ｆ１  参照画フレーム
Ｍ１  参照画マクロブロック
【図１】
0004531006.tif 000003
【図２】
0004531006.tif 000004
【図３】
0004531006.tif 000005
【図４】
0004531006.tif 000006
【図５】
0004531006.tif 000007
【図６】
0004531006.tif 000008
【図７】
0004531006.tif 000009
【図８】
0004531006.tif 000010
【図９】
0004531006.tif 000011
【図１０】
0004531006.tif 000012
【図１１】
0004531006.tif 000013
【図１２】
0004531006.tif 000014
【図１３】
0004531006.tif 000015
【図１４】
0004531006.tif 000016
【図１５】
0004531006.tif 000017
【図１６】
0004531006.tif 000018
【図１７】
0004531006.tif 000019
【図１８】
0004531006.tif 000020
【図１９】
0004531006.tif 000021
【図２０】
0004531006.tif 000022
【図２１】
0004531006.tif 000023
【図２２】
0004531006.tif 000024
【図２３】
0004531006.tif 000025
【図２４】
0004531006.tif 000026
【図２５】
0004531006.tif 000027
【図２６】
0004531006.tif 000028
【図２７】
0004531006.tif 000029
【図２８】
0004531006.tif 000030
【図２９】
0004531006.tif 000031
【図３０】
0004531006.tif 000032
【図３１】
0004531006.tif 000033