(57)【要約】【課題】符号化にＭＢＡＦＦを適用し、動きベクトル検出をステップサーチ法で行う場合のハードウェア規模を抑制する。【解決手段】ステップサーチ法による最初のステップである大域サーチを、フレーム構造またはフィールド構造のうち予め決められたマクロブロックペア構造に対してのみ行う。そして、その結果に基づき、符号化対象のマクロブロックに対する以降のステップの動きベクトル探索を、フレーム構造およびフィールド構造の何れのマクロブロックペア構造を用いて行うかを決定する。大域サーチを行うための動きベクトル探索部が１つで済み、動きベクトル検出部の規模を削減することができる。【選択図】図２
2010016780.tif 000002
【特許請求の範囲】
【請求項１】
インタレース方式の動画像フレームを所定サイズに分割してなる符号化ブロックを、該動画像フレームのトップフィールドおよびボトムフィールドのラインが交互に配置されるフレーム構造と、該トップフィールドおよびボトムフィールドの何れか一方のラインからなるフィールド構造とを適応的に切り替えて形成し、該符号化ブロックについて検出された動きベクトルに基づき該符号化ブロックの予測符号化を行う符号化装置に用いられ、探索範囲の動画像データに対して段階的に精度を上げると共に段階的に該探索範囲を狭めてＮ（ただしＮは２以上の整数）段階で該動きベクトルの検出を行う動きベクトル検出装置であって、
探索範囲に応じたサイズで、前記フレーム構造のブロックと、前記フィールド構造のブロックの少なくとも一方を形成するブロック形成手段と、
前記ブロック形成手段で形成された前記フィールド構造または前記フレーム構造の前記ブロックに対して、前記Ｎ段階のうち最も精度が低く且つ最も探索範囲が広い方からＭ（ただしＭ＜Ｎ）段階目までの動きベクトル検出を行う第１の動きベクトル検出手段と、
前記ブロック形成手段で形成された前記フィールド構造の前記ブロックに対して、前記Ｎ段階のうち最も精度の高いＮ段階目までの動きベクトル検出を、（Ｍ＋１）段階目から段階毎に精度を上げて順次行い、該（Ｍ＋１）段階目の動きベクトル検出のための探索範囲の位置を前記第１の動きベクトル検出手段により検出された前記動きベクトルに基づき決定する第２の動きベクトル検出手段と、
前記ブロック形成手段で形成された前記フレーム構造の前記ブロックに対して、前記Ｎ段階のうち最も精度の高いＮ段階目までの動きベクトル検出を、（Ｍ＋１）段階目から段階毎に精度を上げて順次行い、該（Ｍ＋１）段階目の動きベクトル検出のための探索範囲の位置を前記第１の動きベクトル検出手段により検出された前記動きベクトルに基づき決定する第３の動きベクトル検出手段と、
前記第２の動きベクトル検出手段および前記第３の動きベクトル検出手段それぞれの前記Ｎ段階目の動きベクトル検出結果に基づき、前記符号化ブロックを前記フィールド構造または前記フレーム構造のうち何方で形成するかを決定すると共に、該第２の動きベクトル検出手段および前記第３の動きベクトル検出手段のそれぞれにより検出された動きベクトルのうち何方を出力するかを判定する決定手段と、
前記第１の動きベクトル検出手段で検出された動きベクトルを、該第１の動きベクトル検出手段が前記動きベクトル検出の対象とした前記ブロックの前記構造とは別の前記構造に対応させて補正する動きベクトル補正手段と
を有し、
前記第２または前記第３の動きベクトル検出手段は、
前記第１の動きベクトル検出手段で検出に用いた前記ブロックの前記構造とは別の前記構造に対して前記（Ｍ＋１）段階目の動きベクトル検出を行う場合に、該（Ｍ＋１）段階目の動きベクトル検出のための前記探索範囲の位置を、前記動きベクトル補正手段で補正された動きベクトルにより決定する
ことを特徴とする動きベクトル検出装置。
【請求項２】
前記第１の動きベクトル検出手段により検出された前記動きベクトルの確からしさを示す値と閾値とを比較し、比較の結果に基づき、前記第２の動きベクトル検出手段による動きベクトル検出と前記第３の動きベクトル検出手段による動きベクトル検出とを併用して行うか否かを判定する判定手段をさらに有し、
前記判定手段は、前記比較の結果、前記確からしさを示す値が前記閾値以下だと判断したら、前記第２の動きベクトル検出手段による動きベクトル検出と前記第３の動きベクトル検出手段による動きベクトル検出とを併用して行うと判定する
ことを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項３】
前記第１の動きベクトル検出手段は、前記フィールド構造の前記ブロックに対して動きベクトル検出を行い、
前記判定手段は、前記動きベクトルの確からしさを示す値が前記閾値より大きいと判定したら、前記第３の動きベクトル検出手段による動きベクトル検出を行わず、前記第２の動きベクトル検出手段による動きベクトル検出を行うと判定し、
前記決定手段は、前記第２の動きベクトル検出手段により検出された動きベクトルを出力すると共に、前記符号化ブロックを前記フィールド構造で形成するように決定する
ことを特徴とする請求項２に記載の動きベクトル検出装置。
【請求項４】
前記第１の動きベクトル検出手段は、前記フレーム構造の前記ブロックに対して動きベクトル検出を行い、
前記判定手段は、前記動きベクトルの確からしさを示す値が前記閾値より大きいと判定したら、前記第２の動きベクトル検出手段による動きベクトル検出を行わず、前記第３の動きベクトル検出手段による動きベクトル検出を行うと判定し、
前記決定手段は、前記第３の動きベクトル検出手段により検出された動きベクトルを出力すると共に、前記符号化ブロックを前記フレーム構造で形成するように決定する
ことを特徴とする請求項２に記載の動きベクトル検出装置。
【請求項５】
前記動画像データのフレームまたはフィールド全体での動き量を示すグローバルベクトルを推定するグローバルベクトル探索手段をさらに有し、
前記第１の動きベクトル検出手段は、前記グローバルベクトル探索手段により探索された前記グローバルベクトルを閾値と比較し、該グローバルベクトルが該閾値より大きいと判断したら、前記フィールド構造の前記ブロックに対して動きベクトル検出を行うと決定し、該グローバルベクトルが該閾値以下であると判断したら、前記フィールド構造の前記ブロックに対して動きベクトル検出を行うと決定する
ことを特徴とする請求項１乃至請求項４の何れか１項に記載の動きベクトル検出装置。
【請求項６】
インタレース方式の動画像フレームを所定サイズに分割してなる符号化ブロックを、該動画像フレームのトップフィールドおよびボトムフィールドのラインが交互に配置されるフレーム構造と、該トップフィールドおよびボトムフィールドの何れか一方のラインからなるフィールド構造とを適応的に切り替えて形成し、該符号化ブロックについて検出された動きベクトルに基づき該符号化ブロックの予測符号化を行う符号化装置に用いられ、探索範囲の動画像データに対して段階的に精度を上げると共に段階的に該探索範囲を狭めてＮ（Ｎは２以上の整数）段階で該動きベクトルの検出を行う動きベクトル検出方法であって、
探索範囲に応じたサイズで、前記フレーム構造のブロックと、前記フィールド構造のブロックの少なくとも一方を形成するブロック形成ステップと、
前記ブロック形成ステップで形成された前記フィールド構造または前記フレーム構造の前記ブロックに対して、前記Ｎ段階のうち最も精度が低く且つ最も探索範囲が広い方からＭ（ただしＭ＜Ｎ）段階目までの動きベクトル検出を行う第１の動きベクトル検出ステップと、
前記ブロック形成ステップで形成された前記フィールド構造の前記ブロックに対して、前記Ｎ段階のうち最も精度の高いＮ段階目までの動きベクトル検出を、（Ｍ＋１）段階目から段階毎に精度を上げて順次行い、該（Ｍ＋１）段階目の動きベクトル検出のための探索範囲の位置を前記第１の動きベクトル検出ステップにより検出された前記動きベクトルに基づき決定する第２の動きベクトル検出ステップと、
前記ブロック形成ステップで形成された前記フレーム構造の前記ブロックに対して、前記Ｎ段階のうち最も精度の高いＮ段階目までの動きベクトル検出を、（Ｍ＋１）段階目から段階毎に精度を上げて順次行い、該（Ｍ＋１）段階目の動きベクトル検出のための探索範囲の位置を前記第１の動きベクトル検出ステップにより検出された前記動きベクトルに基づき決定する第３の動きベクトル検出ステップと、
前記第２の動きベクトル検出ステップおよび前記第３の動きベクトル検出ステップそれぞれの前記Ｎ段階目の動きベクトル検出結果に基づき、前記符号化ブロックを前記フィールド構造または前記フレーム構造のうち何方で形成するかを決定すると共に、該第２の動きベクトル検出ステップおよび前記第３の動きベクトル検出ステップのそれぞれにより検出された動きベクトルのうち何方を出力するかを判定する決定ステップと、
前記第１の動きベクトル検出ステップで検出された動きベクトルを、該第１の動きベクトル検出ステップが前記動きベクトル検出の対象とした前記ブロックの前記構造とは別の前記構造に対応させて補正する動きベクトル補正ステップと
を有し、
前記第２または前記第３の動きベクトル検出ステップは、
前記第１の動きベクトル検出ステップで検出に用いた前記ブロックの前記構造とは別の前記構造に対して前記（Ｍ＋１）段階目の動きベクトル検出を行う場合に、該（Ｍ＋１）段階目の動きベクトル検出のための前記探索範囲の位置を、前記動きベクトル補正ステップで補正された動きベクトルにより決定する
ことを特徴とする動きベクトル検出方法。
【請求項７】
コンピュータを請求項１乃至請求項５の何れか１項に記載の動きベクトル検出装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、動画像データの１画面を所定に分割したブロック単位で動きベクトルを検出する動きベクトル検出装置および動きベクトル検出方法に関する。
【背景技術】
【０００２】
動画像データの圧縮符号化方式として、従来から、ＭＰＥＧ１方式、ＭＰＥＧ２方式やＭＰＥＧ４方式が広く用いられている。このような圧縮符号化方式では、１フレームまたは１フィールドをマクロブロックと呼ばれる所定画素数の領域に分割し、このマクロブロックを単位にして、動き補償を用いた予測符号化や直交変換処理、量子化処理、可変長符号化を施す。
【０００３】
また、近年では、より高い符号化効率を実現するＨ．２６４／ＭＰＥＧ−４  ＡＶＣ（以下、Ｈ．２６４と略称する）方式が制定され、その実用化が急速に進んでいる。Ｈ．２６４では、上述の従来の方式に対し、直交変換処理をアダマール変換および整数精度ＤＣＴを用いて行うことにより誤差の蓄積を抑制する。それと共に、フレーム内予測符号化および動き補償を用いたフレーム間予測符号化とを行い、より精度の高い予測符号化を実現している。
【０００４】
さらに、Ｈ．２６４では、インタレース信号を扱う場合に、マクロブロックレベルで適応的にフレーム構造およびフィールド構造を切り替える機能が、符号化のオプション機能として盛り込まれている。この機能を、ＭＢＡＦＦ(Macro Block Adaptive Field/Frame)と呼ぶ。ＭＢＡＦＦを用いて符号化を行うＭＢＡＦＦモードでは、垂直方向に隣接する２個のマクロブロックからなるマクロブロックペア単位で、フレームまたはフィールドの符号化を行う。
【０００５】
図７は、マクロブロックペアの構造を概略的に示す。マクロブロックペア９０１がフレーム構造を持つマクロブロックペアを示す。また、マクロブロックペア９０２がフィールド構造を持つマクロブロックペアを示す。１つのマクロブロックは、１６画素×１６ラインからなり、マクロブロックペアは、１６画素×３２ラインのサイズを有する。
【０００６】
フィールド構造のマクロブロックペア９０２は、フレーム構造のマクロブロックペア９０１の奇数ラインを上側のマクロブロックに纏め、偶数ラインを下側のマクロブロックに纏めた構造となっている。換言すれば、フィールド構造のマクロブロックペア９０２の上側のマクロブロックは、トップフィールドの画像データから構成され、下側のマクロブロックは、ボトムフィールドの画像データから構成される。
【０００７】
マクロブロックペアに対する符号化は、マクロブロックペアを構成する上下のマクロブロックそれぞれに対して行われる。したがって、フィールド構造のマクロブロックペア９０２については、トップフィールドおよびボトムフィールドそれぞれに対して、マクロブロック単位で符号化を行うことができる。
【０００８】
周知のように、フィールドは、フレーム画像を奇数ラインと偶数ラインとに分けた画像であって、奇数ラインによるフィールドと偶数ラインによるフィールドとをフレーム間隔の１／２の時間間隔で交互に表示することで、１枚のフレーム画像を表現している。１枚のフレーム画像を構成する２枚のフィールド画像の間には、無視できない時間差がある。そのため、動きのある部分と無い部分とが混在する映像に対しては、マクロブロックペアの構造をフレーム構造およびフィールド構造とで適応的に切り替えて符号化すると、画面全体で構造を固定した場合に比べ、符号化効率が向上することが知られている。
【０００９】
図８は、動きのある部分と無い部分とが混在した映像の例を示す。図８において、人物の部分が動きのある部分であって、風景の部分が動きの無い部分であるものとする。マクロブロックペアの構造として、動きのある部分に対してはフィールド構造が適しており、動きの無い部分に対してはフレーム構造が適している。符号化の際には、画面をマクロブロックに分割し、上下２個のマクロブロックのペア毎に映像を解析して、当該マクロブロックペアの構造をフレーム構造およびフィールド構造の何れにするかを、マクロブロックペア毎に適応的に判断する。
【００１０】
図９は、ＭＢＡＦＦにより、１画面にフレーム構造のマクロブロックペア９０１とフィールド構造のマクロブロックペア９０２とを混在させた例を示す。フレーム構造のマクロブロックペア９０１と、フィールド構造のマクロブロックペア９０２とが任意の順序で配列していることが分かる。
【００１１】
なお、Ｈ．２６４の規格では、上述のようなマクロブロックペア構造を取ることが可能なシンタクスが規定されているに過ぎない。つまり、符号化過程においてどのような方法を用いてフィールド構造およびフレーム構造をマクロブロックペア単位で変更するかは、符号化装置の実装方法に委ねられている。
【００１２】
ところで、上述のＭＰＥＧ２やＭＰＥＧ４、Ｈ．２６４といった、動き補償を用いた予測符号化を行う符号化装置をハードウェア規模で見た場合、動きベクトル検出機能の全体に占める割合が支配的であることが知られている。そのため、動きベクトルの検出処理を簡略化するための動きベクトル検出アルゴリズムは、従来から様々に提案されている。
【００１３】
このようなアルゴリズムとして、近年では、ステップサーチ（階層的検索）法が最も広く用いられている。ステップサーチ法では、動きベクトルの探索を複数のステップに分けて行う。探索精度をステップ毎に段階的に高め、探索対象を順次絞り込んでいくことで、動きベクトル検出の負荷を軽減することができる。
【００１４】
図１０は、ステップサーチ法を用いて動きベクトル探索を行う例を概略的に示す。図１０の例では、以下の３ステップで動きベクトル探索を行っている。なお、Ｈ．２６４においては、１／４画素精度までの動きベクトルを用いることができる。
第１ステップ：大域サーチ
第２ステップ：１画素精度サーチ
第３ステップ：１／４画素精度サーチ
【００１５】
第１ステップで画面内の大まかな動きベクトルを検出し、第２ステップで、第１ステップで検出された動きベクトルの周辺エリアで整数精度での動きベクトルを検出する。そして、第３ステップで、第２ステップで検出された動きベクトルの周辺エリアで１／４精度での動きベクトルを検出する。
【００１６】
図１０において、先ず第１ステップの大域サーチにより、動きベクトルを検出すべきマクロブロック７０１の動きベクトル７０２が検出される。次に、第２ステップの１画素精度サーチにより、大域サーチにより検出された動きベクトル７０２に基づき、探索範囲７０３内で動きベクトルが探索される。最後に、第３ステップの１／４画素精度サーチにより、１画素精度サーチにより検出された動きベクトル７０４に基づき探索を行う範囲が探索範囲７０５に絞り込まれ、この探索範囲７０５内で動きベクトルが探索される。１／４画素精度サーチによる探索で検出された動きベクトル７０６に基づき、最終的な動きベクトル７０７を得る。
【００１７】
図１１は、上述した３ステップのステップサーチを実現するための、従来技術による動きベクトル検出装置の一例の構成を示す。この図１１に示される構成は、フレーム構造またはフィールド構造のみに対応した動きベクトル検出装置の例である。
【００１８】
図１１において、フレームメモリまたはフィールドメモリであるメモリ６０１に、符号化対象となる１フレーム分または１フィールド分の画像データと、参照画像データとなる画像データとが格納される。メモリ６０１に格納される参照画像データは、入力画像データと予測画像データとの差分を直交変換および量子化し、さらに逆量子化および逆直交変換して予測画像データを加算することで再構築したものである。以下では、煩雑さを避けるために、メモリ６０１をフレームメモリとし、符号化対象となる画像データは、１フレーム分がメモリ６０１に格納されるものとする。
【００１９】
第１ステージＭＥ部６０２、第２ステージＭＥ部６０３および第３ステージＭＥ部６０４は、それぞれ上述した大域サーチ、１画素精度サーチおよび１／４画素精度サーチを行う。なお、ＭＥは、Motion Estimationの略である。先ず、第１ステージＭＥ部６０２がメモリ６０１から符号化対象となる画像データのマクロブロック７０１と、参照画像データとを読み出し、大域的に動きベクトルの探索を行う。その結果検出された動きベクトル７０２は、第２ステージＭＥ部６０３に供給される。
【００２０】
第２ステージＭＥ部６０３は、第１ステージＭＥ部６０２から供給された動きベクトル７０２に基づき探索範囲７０３を設定し、メモリ６０１から、当該探索範囲７０３の符号化対象の画像データを読み出すと共に、参照画像データを読み出す。そして、読み出されたデータに基づき１画素精度サーチによる動きベクトルの探索を行う。その結果検出された動きベクトル７０４は、第３ステージＭＥ部６０４に供給される。
【００２１】
第３ステージＭＥ部６０４でも同様に、第２ステージＭＥ部６０３から供給された動きベクトル７０４に基づき探索範囲７０５を設定し、メモリ６０１から、当該探索範囲７０５の符号化対象の画像データを読み出すと共に、参照画像データを読み出す。そして、読み出されたデータに基づき、１／４画素精度サーチによる動きベクトル７０６の探索を行う。
【００２２】
第３ステージＭＥ部６０４は、動きベクトル探索の結果を示す動きベクトル検出結果を出力する。この動きベクトル検出結果は、マクロブロックタイプ判定部６０５に供給される。マクロブロックタイプ判定部６０５は、供給された動きベクトル検出結果に基づき動きベクトル７０７を出力する。また、マクロブロックタイプ判定部６０５は、この動きベクトル検出結果を評価し、符号化対象のマクロブロックがイントラ符号化およびインター符号化の何れに適しているかを判定し、判定結果をマクロブロックタイプとして出力する。
【００２３】
特許文献１には、ＭＢＡＦＦモードで、コスト計算に基づいてマクロブロック単位の符号化モードを決定する技術が記載されている。
【特許文献１】特開２００６−８０９２５号公報
【発明の開示】
【発明が解決しようとする課題】
【００２４】
ここで、上述したＭＢＡＦＦをステップサーチ法に適用した場合について考える。既に説明したように、ＭＢＡＦＦでは、マクロブロックペアを解析して、マクロブロックペアの構造をフレーム構造およびフィールド構造の何れにするかを決定する必要がある。この決定処理は、フレーム構造のマクロブロックペアとフィールド構造のマクロブロックペアのそれぞれで実際に動きベクトルを検出し、検出結果を評価することで行われる。
【００２５】
図１２は、ステップサーチ法をＭＢＡＦＦに適用した場合の、従来技術による動きベクトル検出装置の一例の構成を示す。動きベクトル検出装置は、図示されるように、フレーム構造のマクロブロックペアに対してステップサーチ法による動きベクトル検出を行うための第１ステージＭＥ部１１０５、第２ステージＭＥ部１１０６および第３ステージＭＥ部１１０７を持つ。さらに、この動きベクトル検出装置は、フィールド構造のマクロブロックペアに対してステップサーチ法による動きベクトル検出を行うための第１ステージＭＥ部１１０２、第２ステージＭＥ部１１０３および第３ステージＭＥ部１１０４を持つ。
【００２６】
これら第１ステージＭＥ部１１０５、第２ステージＭＥ部１１０６および第３ステージＭＥ部１１０７は、図１１を用いて説明した第１ステージＭＥ部６０２、第２ステージＭＥ部６０３および第３ステージＭＥ部６０４とそれぞれ同様の処理を行う。さらに、第１ステージＭＥ部１１０２、第２ステージＭＥ部１１０３および第３ステージＭＥ部１１０４も、上述の第１ステージＭＥ部６０２、第２ステージＭＥ部６０３および第３ステージＭＥ部６０４とそれぞれ同様の処理を行う。
【００２７】
より具体的には、第１ステージＭＥ部１１０２および第１ステージＭＥ部１１０５は、それぞれメモリ１１０１から同一のマクロブロックペアを読み出し、大域サーチによる動きベクトル検出を行う。以降、フィールド構造で処理を行う第２ステージＭＥ部１１０３および第３ステージＭＥ部１１０４は、既に説明したように、順次、前段の動きベクトル検出結果を受け取って、メモリ１１０１からデータを読み出して動きベクトル検出を行う。フレーム構造で処理を行う第２ステージＭＥ部１１０６および第３ステージＭＥ部１１０７でも同様に、順次、前段の動きベクトル検出結果を受け取って、メモリ１１０１から読み出したデータに対して動きベクトル検出を行う。
【００２８】
第３ステージＭＥ部１１０４の動きベクトル検出結果および第３ステージＭＥ部１１０７の動きベクトル検出結果は、それぞれモード判定部１１０８に供給される。モード判定部１１０８は、第３ステージＭＥ部１１０４および第３ステージＭＥ部１１０７から供給された動きベクトル検出結果を評価し、符号化対象のマクロブロックペアの構造をフレーム構造およびフィールド構造の何れにするかを決定する。また、この決定結果に従い、第３ステージＭＥ部１１０４および第３ステージＭＥ部１１０７から供給された動きベクトル検出結果に基づく動きベクトルを選択する。
【００２９】
このように、ＭＢＡＦＦをステップサーチ法に適用した場合には、図１１で説明したフレーム構造またはフィールド構造の一方のみに対応した動きベクトル検出装置に比べ、動きベクトル検出部（ステージ）が各ステップで複数になっている。同一の機能を有する動きベクトル検出部をステップサーチ法によるステップ毎に、それぞれ独立して複数具備することは、ハードウェア規模を増大することになり、コストアップの要因になるという問題点があった。
【００３０】
なお、上述の特許文献１は、フレーム構造のマクロブロックペアおよびフィールド構造のマクロブロックペアのそれぞれに対して、予測信号および予測誤差信号の生成、直交変換、量子化、ならびに、ハフマン符号化からなる仮符号化を行う。そして、仮符号化の結果に基づき、実際の符号化をフィールド構造のマクロブロックペアに対して行うか、フレーム構造のマクロブロックペアに対して行うかを決定している。そのため、特許文献１においては、フレーム構造のマクロブロックペアおよびフィールド構造のマクロブロックペアのそれぞれについて、仮符号化を行うための構成が必要となり、その分のハードウェア規模が増大してしまう。
【００３１】
したがって、この発明の目的は、符号化にＭＢＡＦＦを適用し、動きベクトル検出をステップサーチ法で行う場合のハードウェア規模を抑制できる動きベクトル検出装置および動きベクトル検出方法を提供することにある。
【課題を解決するための手段】
【００３２】
本発明は、上述した課題を解決するために、インタレース方式の動画像フレームを所定サイズに分割してなる符号化ブロックを、動画像フレームのトップフィールドおよびボトムフィールドのラインが交互に配置されるフレーム構造と、トップフィールドおよびボトムフィールドの何れか一方のラインからなるフィールド構造とを適応的に切り替えて形成し、符号化ブロックについて検出された動きベクトルに基づき符号化ブロックの予測符号化を行う符号化装置に用いられ、探索範囲の動画像データに対して段階的に精度を上げると共に段階的に探索範囲を狭めてＮ（Ｎは２以上の整数）段階で動きベクトルの検出を行う動きベクトル検出装置であって、探索範囲に応じたサイズで、フレーム構造のブロックと、フィールド構造のブロックの少なくとも一方を形成するブロック形成手段と、ブロック形成手段で形成されたフィールド構造またはフレーム構造のブロックに対して、Ｎ段階のうち最も精度が低く且つ最も探索範囲が広い方からＭ（ただしＭ＜Ｎ）段階目までの動きベクトル検出を行う第１の動きベクトル検出手段と、ブロック形成手段で形成されたフィールド構造のブロックに対して、Ｎ段階のうち最も精度の高いＮ段階目までの動きベクトル検出を、（Ｍ＋１）段階目から段階毎に精度を上げて順次行い、（Ｍ＋１）段階目の動きベクトル検出のための探索範囲の位置を第１の動きベクトル検出手段により検出された動きベクトルに基づき決定する第２の動きベクトル検出手段と、ブロック形成手段で形成されたフレーム構造のブロックに対して、Ｎ段階のうち最も精度の高いＮ段階目までの動きベクトル検出を、（Ｍ＋１）段階目から段階毎に精度を上げて順次行い、（Ｍ＋１）段階目の動きベクトル検出のための探索範囲の位置を第１の動きベクトル検出手段により検出された動きベクトルに基づき決定する第３の動きベクトル検出手段と、第２の動きベクトル検出手段および第３の動きベクトル検出手段それぞれのＮ段階目の動きベクトル検出結果に基づき、符号化ブロックをフィールド構造またはフレーム構造のうち何方で形成するかを決定すると共に、第２の動きベクトル検出手段および第３の動きベクトル検出手段のそれぞれにより検出された動きベクトルのうち何方を出力するかを判定する決定手段と、第１の動きベクトル検出手段で検出された動きベクトルを、第１の動きベクトル検出手段が動きベクトル検出の対象としたブロックの構造とは別の構造に対応させて補正する動きベクトル補正手段とを有し、第２または第３の動きベクトル検出手段は、第１の動きベクトル検出手段で検出に用いたブロックの構造とは別の構造に対して（Ｍ＋１）段階目の動きベクトル検出を行う場合に、（Ｍ＋１）段階目の動きベクトル検出のための探索範囲の位置を、動きベクトル補正手段で補正された動きベクトルにより決定することを特徴とする動きベクトル検出装置である。
【００３３】
また、本発明は、インタレース方式の動画像フレームを所定サイズに分割してなる符号化ブロックを、動画像フレームのトップフィールドおよびボトムフィールドのラインが交互に配置されるフレーム構造と、トップフィールドおよびボトムフィールドの何れか一方のラインからなるフィールド構造とを適応的に切り替えて形成し、符号化ブロックについて検出された動きベクトルに基づき符号化ブロックの予測符号化を行う符号化装置に用いられ、探索範囲の動画像データに対して段階的に精度を上げると共に段階的に探索範囲を狭めてＮ（Ｎは２以上の整数）段階で動きベクトルの検出を行う動きベクトル検出方法であって、探索範囲に応じたサイズで、フレーム構造のブロックと、フィールド構造のブロックの少なくとも一方を形成するブロック形成ステップと、ブロック形成ステップで形成されたフィールド構造またはフレーム構造のブロックに対して、Ｎ段階のうち最も精度が低く且つ最も探索範囲が広い方からＭ（ただしＭ＜Ｎ）段階目までの動きベクトル検出を行う第１の動きベクトル検出ステップと、ブロック形成ステップで形成されたフィールド構造のブロックに対して、Ｎ段階のうち最も精度の高いＮ段階目までの動きベクトル検出を、（Ｍ＋１）段階目から段階毎に精度を上げて順次行い、（Ｍ＋１）段階目の動きベクトル検出のための探索範囲の位置を第１の動きベクトル検出ステップにより検出された動きベクトルに基づき決定する第２の動きベクトル検出ステップと、ブロック形成ステップで形成されたフレーム構造のブロックに対して、Ｎ段階のうち最も精度の高いＮ段階目までの動きベクトル検出を、（Ｍ＋１）段階目から段階毎に精度を上げて順次行い、（Ｍ＋１）段階目の動きベクトル検出のための探索範囲の位置を第１の動きベクトル検出ステップにより検出された動きベクトルに基づき決定する第３の動きベクトル検出ステップと、第２の動きベクトル検出ステップおよび第３の動きベクトル検出ステップそれぞれのＮ段階目の動きベクトル検出結果に基づき、符号化ブロックをフィールド構造またはフレーム構造のうち何方で形成するかを決定すると共に、第２の動きベクトル検出ステップおよび第３の動きベクトル検出ステップのそれぞれにより検出された動きベクトルのうち何方を出力するかを判定する決定ステップと、第１の動きベクトル検出ステップで検出された動きベクトルを、第１の動きベクトル検出ステップが動きベクトル検出の対象としたブロックの構造とは別の構造に対応させて補正する動きベクトル補正ステップとを有し、第２または第３の動きベクトル検出ステップは、第１の動きベクトル検出ステップで検出に用いたブロックの構造とは別の構造に対して（Ｍ＋１）段階目の動きベクトル検出を行う場合に、（Ｍ＋１）段階目の動きベクトル検出のための探索範囲の位置を、動きベクトル補正ステップで補正された動きベクトルにより決定することを特徴とする動きベクトル検出方法である。
【発明の効果】
【００３４】
本発明は、上述した構成を有するため、符号化にＭＢＡＦＦを適用し、動きベクトル検出をステップサーチ法で行う場合のハードウェア規模を抑制できる。
【発明を実施するための最良の形態】
【００３５】
以下、本発明の実施形態を、図面を参照しながら説明する。本発明では、インタレース方式の動画像データの符号化をＭＢＡＦＦにより行い、動画像データの動きベクトルをステップサーチ法を用いて検出する構成に関する。すなわち、本発明では、ステップサーチ法による最初のステップである大域サーチを、フレーム構造またはフィールド構造のうち予め決められたマクロブロックペア構造に対してのみ行う。そして、その結果に基づき、符号化対象のマクロブロックに対する以降のステップの動きベクトル探索を、フレーム構造およびフィールド構造の何れのマクロブロックペア構造を用いて行うかを決定する。大域サーチを行うための動きベクトル探索部が１つで済み、動きベクトル検出部の規模を削減することができる。
【００３６】
図１は、本発明に適用可能な符号化装置１の一例の構成を示す。符号化装置１に対して、インタレース方式の動画像データが入力される。この動画像データは、動画像フレームのトップフィールドおよびボトムフィールドの画像データが１フレームの奇数ラインおよび偶数ラインにそれぞれ配置されて、フレーム単位で入力される。
【００３７】
符号化装置１に入力された動画像データは、フレーム単位でフレームメモリ１０に格納される。フレームメモリ１０に格納された動画像データは、所定サイズ、例えば符号化ブロックとしての１６画素×１６ラインのマクロブロックが画面の垂直方向に２個並べられた、マクロブロックペア単位で読み出される。このマクロブロックペア単位の動画像データは、動きベクトル検出部２３に供給される。
【００３８】
動きベクトル検出部２３は、後述するフレームメモリ２１から読み出された再構成画像データを参照画像データとして、フレームメモリ１０から読み出されたマクロブロックペアの動きベクトルを検出する。それと共に、動きベクトル検出部２３は、動きベクトルの検出結果に基づき、後述する方法により、符号化対象のマクロブロックペアをフレーム構造として扱うか、フィールド構造として扱うかを決定する。動きベクトル検出部２３で検出された動きベクトルは、インター予測部２２に供給される。また、マクロブロックペアの構造を示す情報（ＭＢＰ情報と呼ぶ）は、インター予測部２２および動き補償（減算）部１１にそれぞれ供給される。
【００３９】
動き補償（減算）部１１は、フレームメモリ１０から画像データをマクロブロックペア単位で読み出し、この読み出された画像データから、後述するインター予測部２２から供給される予測画像データを減算し、画像残差データを生成する。
【００４０】
なお、動き補償（減算）部１１は、動きベクトル検出部２３から供給されたＭＢＰ情報に基づき、フレームメモリ１０から読み出された画像データの並べ替えを行い、並べ替えられた画像データに対して減算処理を行う。すなわち、動き補償（減算）部１１は、ＭＢＰモードがフィールド構造を示していれば、マクロブロックペアの奇数ラインのデータを上側のマクロブロックに纏め、偶数ラインのデータを下側のマクロブロックに纏める。これにより、トップフィールドのデータからなるマクロブロックが上側に配置され、ボトムフィールドのデータからなるマクロブロックが下側に配置されたマクロブロックペアが形成される。ＭＢＰモードがフレーム構造を示していれば、動き補償（減算）部１１は、フレームメモリ１０から読み出したマクロブロックペアのデータをそのまま用いる。
【００４１】
動き補償（減算）部１１から出力された画像残差データは、整数変換部１２に供給される。整数変換部１２は、供給されたマクロブロックペアを上下のマクロブロックに分解し、さらに８画素×８ラインや４画素×４ラインといったブロックに分割する。そして、分割されたブロックを単位として、画像データに対してアダマール変換や整数精度ＤＣＴといった直交変換処理を行い、ＤＣＴ係数に変換する。ＤＣＴ係数は、量子化部１３に供給される。
【００４２】
量子化部１３は、量子化制御部１４の制御に従い、供給されたＤＣＴ係数の量子化をマクロブロック単位で行う。量子化部１３から出力された量子化値は、２値化部１５に供給される。２値化部１５は、供給された量子化値や、量子化を行ったマクロブロックに付随する各種データを２値化して出力する。２値化部１５の出力は、エントロピー符号化部１６に供給され、エントロピー符号化されてビットストリームとして出力される。
【００４３】
一方、量子化部１３から出力された量子化値は、逆量子化部１７にも供給される。量子化値は、逆量子化部１７で逆量子化され、逆整数変換部１８で逆整数変換され、ローカルデコード画像データとされる。ローカルデコード画像データは、加算部１９に供給される。加算部１９は、ローカルデコード画像データと後述するインター予測部２２から供給される予測画像データとを加算し、再構成画像データを形成する。この再構成画像データは、フレームメモリ２４に格納されると共に、デブロッキングフィルタ２０に供給される。
【００４４】
デブロッキングフィルタ２０は、供給された再構成画像データに対してフィルタ処理を施し、符号化歪みを軽減させる。デブロッキングフィルタ２０で符号化歪みが軽減された再構成画像データは、フレームメモリ２１に格納される。
【００４５】
インター予測部２２は、動きベクトル検出部２３で検出された動きベクトルに基づき、フレームメモリ２１から再構成画像データをマクロブロックペア単位で読み出す。インター予測部２２は、フレームメモリ２１から読み出した再構成画像データと、動きベクトル検出部２３で検出された動きベクトルとに基づきフレーム間予測処理を行い、予測画像データを生成する。生成された予測画像データは、スイッチ２６の一方の入力端に供給される。
【００４６】
イントラ予測部２５は、フレームメモリ２４に格納された再構成画像データを用いてフレーム内予測処理を行い、予測画像データを生成する。イントラ予測部２５から出力されたイントラ予測画像データは、スイッチ２６の他方の入力端に供給される。
【００４７】
スイッチ２６は、イントラ予測およびインター予測の何方を用いるかを選択する。イントラ予測部２５から出力されたイントラ予測画像データと、インター予測部２２から出力されたインター予測画像データとのうち一方を選択し、選択された予測画像データを動き補償（減算）部１１に供給すると共に、加算部１９に供給する。
【００４８】
なお、図１では、フレームメモリ１０および２１がそれぞれ独立した構成であるように示されているが、これはこの例に限定されない。すなわち、フレームメモリ１０および２１を１つのメモリの異なる領域としてもよい。
【００４９】
また、この符号化装置１は、図示されないＣＰＵにより、所定のプログラムに従って制御される。ＣＰＵは、符号化装置１を専用に制御するものでもよいし、この符号化装置１が組み込まれるより上位のシステムを制御するものでもよい。ＣＰＵは、図示されないＲＯＭおよびＲＡＭを有し、ＲＯＭに予め格納されたプログラムに従いＲＡＭをワークメモリとして動作し、符号化装置１の各部を制御する。
【００５０】
＜第１の実施形態＞
次に、本発明の第１の実施形態について説明する。本発明は、図１を用いて説明した符号化装置１の構成のうち、動きベクトル検出部２３に適用される。図２は、本発明の第１の実施形態による動きベクトル検出部２３の一例の構成を示す。なお、図２において、フレームまたはフィールドメモリ１０７は、図１におけるフレームメモリ１０および２１に対応する。フレームまたはフィールドメモリ１０７は、符号化装置１に対して入力された動画像データと、デブロッキングフィルタ２０から供給された再構成画像データとが、それぞれ異なる領域に格納されるものとする。以下、フレームまたはフィールドメモリ１０７を、メモリ１０７と略称する。
【００５１】
図２に例示される動きベクトル検出部２３は、大域サーチ、１画素精度サーチおよび１／４画素精度サーチの３つのステージにより、３ステップで動きベクトルの探索を行い、動きベクトルを検出する。
【００５２】
図２において上側に示される第１ステージＭＥ部１０１、第２ステージＭＥ部１０２および第３ステージＭＥ部１０３は、それぞれ、フィールド構造のマクロブロックペアに対する大域サーチ、１画素精度サーチおよび１／４画素精度サーチを行う。また、図２において下側に示される第２ステージＭＥ部１０５および第３ステージＭＥ部１０６は、それぞれ、フレーム構造のマクロブロックペアに対する１画素精度サーチおよび１／４画素精度サーチを行う。
【００５３】
本発明の第１の実施形態では、第１ステージＭＥ部１０１の、フィールド構造のマクロブロックペアに対する大域サーチの結果に基づき、１画素精度サーチ及び１／４画素精度サーチを行うマクロブロックペアの構造（フレーム構造／フィールド構造）を決定する。
【００５４】
第１ステージＭＥ部１０１は、メモリ１０７から符号化対象となる画像データのマクロブロックペアを読み出してデータの並び替えを行い、それぞれトップフィールドおよびボトムフィールドの画像データから構成される２つのマクロブロックを形成する。また、第１ステージＭＥ部１０１は、メモリ１０７から参照画像としての再構成画像データを読み出して、トップフィールドおよびボトムフィールドそれぞれの参照画像データを形成する。そして、マクロブロックペアを構成するマクロブロック毎に動きベクトルの探索を行い、動きベクトルを検出する。第１ステージＭＥ部１０１は、第１の動きベクトル検出手段として機能する。
【００５５】
第２ステージＭＥ部１０２は、第１ステージＭＥ部１０１により検出された動きベクトルに基づき探索範囲を設定する。探索範囲は、トップフィールドおよびボトムフィールドそれぞれに対して設定されることになる。第２ステージＭＥ部１０２は、メモリ１０７から、設定されたそれぞれの探索範囲のブロックの画像データと、当該探索範囲に対応するそれぞれの参照画像データを読み出す。そして、それぞれの符号化対象の画像データについて、１画素精度サーチにより動きベクトルの探索を行い、動きベクトルを検出する。
【００５６】
第３ステージＭＥ部１０３は、第２ステージＭＥ部１０２により検出された動きベクトルに基づき、トップフィールドおよびボトムフィールドそれぞれに対して探索範囲を設定する。第３ステージＭＥ部１０３は、メモリ１０７から、設定されたそれぞれの探索範囲からなるブロックの画像データと、当該探索範囲に対応するそれぞれの参照画像データを読み出す。そして、それぞれの符号化対処の画像データについて、１／４画素精度サーチにより動きベクトルの探索を行い、動きベクトルを検出する。第３ステージＭＥ部１０３による、トップフィールドおよびボトムフィールドそれぞれの検出結果は、モード判定部１１０に供給される。モード判定部１１０の処理については、後述する。第２ステージＭＥ部１０２および第３ステージＭＥ部１０３は、第２の動きベクトル検出手段として機能する。
【００５７】
一方、フレームモードによる動きベクトル検出を行う第２ステージＭＥ部１０５は、後述する動きベクトル補正部１０４から供給される動きベクトルに基づき、探索範囲を設定する。探索範囲は、マクロブロックペアの上側および下側の２つのマクロブロックのそれぞれに対して設定されることになる。第２ステージＭＥ部１０５は、メモリ１０７から、設定されたそれぞれの探索範囲のブロックの画像データと、当該探索範囲に対応するそれぞれの参照画像データを読み出す。そして、それぞれの符号化対象の画像データについて、１画素精度サーチにより動きベクトルの探索を行い、動きベクトルを検出する。
【００５８】
第３ステージＭＥ部１０６は、第２ステージＭＥ部１０５により検出された動きベクトルに基づき、マクロブロックペアの上側および下側の２つのマクロブロックのそれぞれに対して探索範囲を設定する。第３ステージＭＥ部１０６は、メモリ１０７から、設定されたそれぞれの探索範囲のブロックの画像データと、当該探索範囲に対応するそれぞれの参照画像データを読み出す。そして、それぞれの符号化対処の画像データについて、１／４画素精度サーチにより動きベクトルの探索を行い、動きベクトルを検出する。第３ステージＭＥ部１０６による、マクロブロックペアの上側および下側の２つのマクロブロックそれぞれの検出結果は、モード判定部１１０に供給される。第２ステージＭＥ部１０５および第３ステージＭＥ部１０６は、第３の動きベクトル検出手段として機能する。
【００５９】
なお、符号化装置１が備えるＣＰＵをブロック形成手段として機能させることができる。例えば、第１ステージＭＥ部１０１、第２ステージＭＥ部１０２および第３ステージＭＥ部１０３におけるフィールド構造のブロックを、このＣＰＵの制御により形成することができる。第２ステージＭＥ部１０５および第３ステージＭＥ部１０６におけるフレーム構造のブロックについても、同様である。
【００６０】
判定手段としての差分値評価部１０８は、第１ステージＭＥ部１０１で検出された動きベクトルの評価を行う。評価は、第１ステージＭＥ部１０１において動きベクトルの検出過程で算出された、符号化対象の画像データと、参照画像データとの画素毎の差分の絶対値を合計した、差分絶対値和を用いて行う。
【００６１】
第１ステージＭＥ部１０１において、符号化対象のマクロブロックに対して、参照画像データを例えば１乃至数画素ステップで順次移動させる。そして、各ステップ毎に、次式（１）により画素毎に画素値の差分を取り、この差分の絶対値をマクロブロックについて合計し、差分絶対値和Ｓを求める。なお、数式（１）において、Ｃｘ，ｙは、符号化対象のマクロブロックにおける画素の輝度成分の値（以下、輝度値と呼ぶ）を示す。Ｒｘ，ｙは、参照画像データにおける画素の輝度値を示す。
【００６２】
【数１】
2010016780.tif 000003
【００６３】
参照画像データを符号化対象のマクロブロックに対して移動させたときに、この差分絶対値和Ｓが最も小さい位置の動きベクトルが、第１ステージＭＥ部１０１の検出結果として選択される。
【００６４】
差分値評価部１０８では、この、第１ステージＭＥ部１０１の検出結果として選択された差分絶対値和Ｓの評価を行う。この差分絶対値和Ｓの値が小さいほど、第１ステージＭＥ部１０１で検出された動きベクトルがより確からしいといえる。換言すれば、差分絶対値和Ｓは、第１ステージＭＥ部１０１で検出された動きベクトルの確からしさを示す値である。以下、差分絶対値和Ｓの逆数を取った値Ｐを、第１ステージＭＥ部１０１で検出された動きベクトルの確からしさを示す値として用いることにする。この場合、値Ｐが大きいほど、第１ステージＭＥ部１０１で検出された動きベクトルがより確からしいことを示す。本第１の実施形態では、実験的に求めた閾値Ｔ１を用い、この閾値Ｔ１と確からしさを示す値Ｐとを比較することで、差分絶対値和Ｓを評価し、下記の制御を行う。
【００６５】
(a) Ｐ＞Ｔ１のとき：フレーム構造での動きベクトル検出を行わない。
(b) Ｐ≦Ｔ１のとき：第２ステージ以降は、フレーム構造およびフィールド構造での動きベクトル検出を併用する。
【００６６】
すなわち、Ｐ＞Ｔ１（値Ｐが閾値より大きい）のときは、フィールド構造での動きベクトル検出を行う第１ステージＭＥ部１０１による検出結果の精度が十分と判断する。そして、以降、第２ステージＭＥ部１０２および第２ステージＭＥ部１０３により、そのまま、フィールド構造での動きベクトル検出を行う。
【００６７】
一方、Ｐ≦Ｔ１（値Ｐが閾値以下）のときは、符号化対象のマクロブロックが、フィールド構造での動きベクトル検出に適していない可能性があると判断する。この場合、第２ステージＭＥ部１０２および第３ステージＭＥ部１０３で、フィールド構造での動きベクトル検出を行うと共に、第２ステージＭＥ部１０５および第３ステージＭＥ部１０６でのフレーム構造での動きベクトル検出も行う。
【００６８】
このように、本第１の実施形態では、フィールド構造での動きベクトル検出は、常時、第１ステージＭＥ部１０１、第２ステージＭＥ部１０２および第３ステージＭＥ部１０３の全てで行う。そして、第１ステージＭＥ部１０１での動きベクトル検出結果に応じて、フレーム構造での動きベクトル検出を、第２ステージＭＥ部１０５および第３ステージＭＥ部１０６にてさらに行うか否かを決定する。この第２ステージＭＥ部１０５および第３ステージＭＥ部１０６に対する動きベクトル検出の実行制御は、差分値評価部１０８の上述した評価結果に基づき、適応的フレーム構造ＭＥ実行制御部１０９において行われる。
【００６９】
なお、第１ステージＭＥ部１０１による動きベクトル検出は、マクロブロックペアを構成する２つのマクロブロックのそれぞれについて行われる。そのため、上述した差分絶対値和Ｓと閾値Ｔ１の比較による判定結果が、この２つのマクロブロック間で異なる場合が起こり得る。すなわち、マクロブロックペアを構成する一方のマクロブロックではＳ＜Ｔ１となり、他方のマクロブロックではＳ≧Ｔ１となることが有り得る。このような場合には、何らかの方法を用いて判定結果のうち一方を選択する必要がある。
【００７０】
一例として、差分絶対値和Ｓと閾値Ｔ１との差分の絶対値|Ｄ|を２つのマクロブロックのそれぞれについて求める。そして、この差分の絶対値|Ｄ|が小さい方のマクロブロックに対応する判定結果を、当該マクロブロックペアの判定結果として採用することが考えられる。
【００７１】
動きベクトルの検出においては、動きベクトルを探索する探索範囲を、各ステージ毎に予め指定しておく必要がある。本第１の実施形態では、フレーム構造での動きベクトル検出を行う第２ステージＭＥ部１０５における探索範囲を、フィールド構造での動きベクトル検出を行う第１ステージＭＥ部１０１で検出された動きベクトルを補正した値に基づき設定する。
【００７２】
この動きベクトルの補正処理は、動きベクトル補正手段としての動きベクトル補正部１０４において行われる。例えば、適応的フレーム構造ＭＥ実行制御部１０９は、第１ステージＭＥ部１０１で得られた動きベクトルを差分値評価部１０８を介して受け取り、動きベクトル補正部１０４に渡す。動きベクトル補正部１０４は、この受け取った動きベクトルを後述するようにして補正し、補正された動きベクトルを第２ステージＭＥ部１０５に渡す。
【００７３】
より具体的には、以下のようになる。すなわち、フィールド構造のマクロブロックペアのマクロブロックに対して第１ステージＭＥ部１０１で検出された動きベクトルを（ＦＩｘ,ＦＩｙ）とする。また、フレーム構造のマクロブロックペアのマクロブロックに対して第２ステージＭＥ部１０５が探索範囲を設定するための初期ベクトルを（ＦＲｘ,ＦＲｙ）とする。この場合、ベクトル（ＦＩｘ,ＦＩｙ）とベクトル（ＦＲｘ,ＦＲｙ）との関係は、以下の数式（２）および数式（３）により求められる。
【００７４】
ＦＲｘ＝ＦＩｘ        ・・・（２）
ＦＲｙ＝２×ＦＩｙ    ・・・（３）
【００７５】
このように、動きベクトル補正部１０４で、フィールド構造のマクロブロックペアのマクロブロックより検出された動きベクトルの、垂直成分のみを２倍する補正を行った動きベクトルを算出する。そして、この補正された動きベクトルを、フレーム構造での１画素精度サーチを行う、第２ステージの探索範囲の設定に用いている。なお、探索範囲の設定は、探索範囲の中央に対して行うものとする。
【００７６】
モード判定部１１０における処理について説明する。決定手段としてのモード判定部１１０は、フィールド構造のマクロブロックペアについて求められた動きベクトルと、フレーム構造のマクロブロックペアについて求められた動きベクトルとを評価する。そして、評価結果に基づき、符号化対象のマクロブロックペアの構造として、フィールド構造およびフレーム構造の何れを適用するかを決定する。それと共に、モード判定部１１０は、評価結果に基づき、符号化対象のマクロブロックペアのマクロブロックタイプを決定する。
【００７７】
符号化対象のマクロブロックペアの構造は、以下のようにして決定する。モード判定部１１０は、第３ステージＭＥ部１０３がフィールド構造のマクロブロックペアのマクロブロックについて最終的に求めた動きベクトルで示される、１６画素×１６ラインのブロックに上述した数式（１）を適用し、差分絶対値和Ｓｉを求める。同様に、第３ステージＭＥ部１０６がフレーム構造のマクロブロックペアのマクロブロックについて最終的に求めた動きベクトルで示される、１６画素×１６ラインのブロックに数式（１）を適用し、差分絶対値和Ｓｒを求める。そして、差分絶対値和Ｓｉと差分絶対値和Ｓｒとを比較し、下記のように、マクロブロックペアの構造を決定する。そして、決定されたマクロブロックペアの構造に対応する動きベクトルを、この動きベクトル検出部２３から出力する。また、決定された符号化モードを示す情報は、インター予測部２２および動き補償（減算）部１１に供給される。
【００７８】
(a) Ｓｒ≧Ｓｉのとき：マクロブロックペアの構造をフィールド構造とする。
(b) Ｓｒ＜Ｓｉのとき：マクロブロックペアの構造をフレーム構造とする。
【００７９】
さらに、実験的に求めた閾値Ｉｔｈを導入し、差分絶対値和ＳｉおよびＳｒと閾値Ｉｔｈとを比較することで、マクロブロックモードを選択することができる。なお、マクロブロックモードは、マクロブロックに対する予測符号化をイントラ予測（イントラモード）およびインター予測（インターモード）の何れで行うかを示す。関数ｍｉｎ( )は、括弧内の値の最小値を求める関数であるものとする。モード判定部１１０は、マクロブロックモードの選択結果に応じて、スイッチ２６を制御する。
【００８０】
(a) ｍｉｎ(Ｓｒ,Ｓｉ)≧Ｉｔｈのとき：イントラモードとする。
(b) ｍｉｎ(Ｓｒ,Ｓｉ)＜Ｉｔｈのとき：インターモードとする。
【００８１】
ところで、動きベクトル検出機能においては、参照画像データに対して広範囲に亘って探索を行う。そのため、参照画像データを格納しているメモリのアクセス帯域（一定時間当たりのアクセスバイト数）が大きくなり、これが設計時の重要な課題となっている。また、参照画像データを格納しているメモリに対するアクセス量が多いと、消費電力も増大してしまう。
【００８２】
図３は、動きベクトル検出において参照画像データを格納しているメモリに対する、従来技術によるメモリアクセス量と、本発明を適用した場合のメモリアクセス量とを比較して示す。図３に示す値は、実験的に求めた値であり、実装方法や探索範囲のサイズなどにより値が異なる。しかしながら、どのような実装においても典型的なのは、探索範囲が異なる複数のステージのうち、大域サーチを行う第１ステージのアクセス量が支配的であるということである。これは、第１ステージが大域サーチにより最も広範囲の参照画像データをメモリから読み出すため、自明である。
【００８３】
図３においては、フィールド構造での大域サーチを行う第１ステージのアクセス量を１．０として正規化している。この正規化された第１ステージのアクセス量に対し、第２ステージのアクセス量が０．１、第３ステージのアクセス量が０．０１と対比される。そのため、従来技術における、フィールド構造のみでステップサーチ法による動き探索を行った場合のメモリアクセス量Ａｆは、数式（４）のように求められる。
Ａｆ＝１．０＋０．１＋０．０１＝１．１１    ・・・（４）
【００８４】
また、従来技術にて図１２を用いて説明した、総当たり法（ブルートフォース法）においては、全てのステージの探索処理をフィールド構造およびフレーム構造の両方のマクロブロックペアに対して行う。そのため、総当たり法による処理量は、フィールド構造のみ、あるいは、フレーム構造のみのマクロブロックペアに対して動き探索を行った場合の処理量の２倍となる。したがって、総当たり法を用いてＭＢＡＦＦを実行した場合の、メモリに対する総アクセス量Ａｍは、数式（５）のように求められる。
Ａｍ＝（１．０＋０．１＋０．０１）×２＝２．２２    ・・・（５）
【００８５】
一方、本発明の第１の実施形態によれば、差分値評価部１０８における評価結果に基づきフィールド構造での動き探索とフレーム構造での動き探索とを共に実行する場合、第１ステージの処理が一系統削減される。したがって、メモリアクセス量Ａｄは、数式（６）のように求められる。
Ａｄ＝１．０＋（０．１＋０．０１）×２＝１．２２    ・・・（６）
【００８６】
上述した数式（５）の結果と比較すると、Ａｄ／Ａｆ≒１．１となり、従来技術による、フィールド構造のみで動き探索を行った場合に対して略１割のメモリアクセス量の増加だけで、ＭＢＡＦＦを実行することができる。これは、差分値評価部１０８における評価結果に基づきフィールド構造のみで動き探索を行う場合には、メモリアクセス量がさらに少なくなる。
【００８７】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。上述した第１の実施形態では、フィールド構造での第１ステージの動きベクトル検出結果に基づき、第２ステージ以降の処理を決定した。これに対して、本第２の実施形態では、第２ステージ以降の処理を、フレーム構造での第１ステージの動きベクトル検出結果に基づき決定するようにしている。
【００８８】
図４は、本発明の第２の実施形態による動きベクトル検出部２３の一例の構成を示す。なお、図４において、上述の図２と共通する部分には同一の符号を付し、詳細な説明を省略する。
【００８９】
第１の動きベクトル検出手段としての第１ステージＭＥ部２０２は、フレーム構造での大域サーチを行う。すなわち、第１ステージＭＥ部２０２は、メモリ１０７から参照画像としての再構成画像データを読み出す。また、第１ステージＭＥ部２０２は、メモリ１０７から読み出した、マクロブロックペアの上側のマクロブロックと下側のマクロブロックのそれぞれについて、例えば１乃至数画素ステップで動きベクトルの探索を行い、動きベクトルの検出を行う。
【００９０】
差分値評価部１０８は、第１ステージＭＥ部２０２で検出された動きベクトルの評価を行う。すなわち、差分値評価部１０８は、第１ステージＭＥ部２０２において動きベクトルの検出過程で算出された、符号化対象の画像データと、参照画像データとの差分絶対値和Ｓを、上述した数式（１）を用いて求める。そして、求められた差分絶対値和Ｓの逆数を取った確からしさを示す値Ｐと、実験的に求めた閾値Ｔ２とを比較することで、差分絶対値和Ｓを評価し、下記の制御を行う。
【００９１】
(a) Ｐ＞Ｔ２のとき：フィールド構造での動きベクトル検出を行わない。
(b) Ｐ≦Ｔ２のとき：第２ステージ以降は、フレーム構造およびフィールド構造での動きベクトル検出を併用する。
【００９２】
すなわち、Ｐ＞Ｔ２のときは、フレーム構造での動きベクトルの検出を行う第１ステージＭＥ部２０２による検出結果の精度が十分と判断する。そして、以降、第２ステージＭＥ部１０５および第２ステージＭＥ部１０６により、そのまま、フレーム構造での動きベクトル検出を行う。
【００９３】
一方、Ｐ≦Ｔ２のときは、符号化対象のマクロブロックが、フレーム構造での動きベクトル検出に適していない可能性があると判断する。この場合、第２ステージＭＥ部１０５および第３ステージＭＥ部１０６で、フレーム構造での動きベクトル検出を行うと共に、第２ステージＭＥ部１０２および第３ステージＭＥ部１０３でのフィールド構造での動きベクトル検出も行う。
【００９４】
すなわち、本第２の実施形態は、符号化対象となる画像に、より動きが少ない場合に有効であると考えられる。
【００９５】
このように、本第２の実施形態では、フレーム構造のマクロブロックペアに対する動きベクトル検出は、常時、第１ステージＭＥ部２０２、第２ステージＭＥ部１０５および第３ステージＭＥ部１０６の全てで行う。そして、フレームモードにおける第１ステージＭＥ部２０２での動きベクトル検出結果に応じて、フィールド構造のマクロブロックペアに対する動きベクトル検出を、第２ステージＭＥ部１０２および第３ステージＭＥ部１０３においてさらに行うか否かを決定する。この第２ステージＭＥ部１０２および第３ステージＭＥ部１０３に対する動きベクトル検出の実行制御は、差分値評価部１０８の上述した評価結果に基づき、適応的フィールド構造ＭＥ実行制御部２００において行われる。
【００９６】
動きベクトル補正手段としての動きベクトル補正部２０１は、数式（７）および（８）に示されるように、フレーム構造のマクロブロックについて第１ステージＭＥ部２０２で検出された動きベクトルに対して、垂直成分のみ１／２倍にする補正を行う。なお、数式（７）および（８）において、ベクトル（ＦＲｘ,ＦＲｙ）は、フレーム構造のマクロブロックペアのマクロブロックに対して第１ステージＭＥ部２０２で検出された動きベクトルである。また、ベクトル（ＦＩｘ,ＦＩｙ）は、フィールド構造のマクロブックペアのマクロブロックに対して第２ステージＭＥ部１０２が探索範囲を設定するための初期ベクトルである。
【００９７】
ＦＩｘ＝ＦＲｘ        ・・・（７）
ＦＩｙ＝ＦＲｙ／２    ・・・（８）
【００９８】
なお、値ＦＩｙは、値ＦＲｙを２で除することで求めているため、小数点以下の端数を持った値となることがある。大域サーチにより得られたベクトル（ＦＲｘ,ＦＲｙ）は、大雑把なベクトル値であって、特に正確さを要求されない。そのため、ＦＲｙの除算後の丸め処理については、切り捨てあるいは四捨五入など、方法を問わない。
【００９９】
＜第３の実施形態＞
次に、本発明の第３の実施形態について説明する。本第３の実施形態は、上述した第１の実施形態による動きベクトル検出と、第２の実施形態による動きベクトル検出との何方を実行するか、予めフレーム単位で決定するための機能を備えている。図５は、本発明の第３の実施形態による動きベクトル検出部２３の一例の構成を示す。なお、図５において、上述した図２および図４と共通する部分には同一の符号を付し、詳細な説明を省略する。
【０１００】
図５において、グローバルベクトル探索手段としてのグローバルベクトル探索部３００は、時間的に隣接するフレームまたはフィールド間で、フレームまたはフィールド全体での動き量を推定する。このフレームまたはフィールド全体での動き量の推定方法は、様々な方法が提案および実用化されている。一例として、時間的に隣接するフレームまたはフィールド間で、位置が対応するライン同士を比較することで、フレームまたはフィールド全体の動きを推定することが考えられる。この方法では、画面内の左右方向の動きを推定することができる。一般的に、このような、フレームまたはフィールド全体の動きを推定する目的で検出されたベクトルを、グローバルベクトルと呼ぶ。
【０１０１】
グローバルベクトル探索部３００は、例えば、フレームメモリ１０に格納されたフレームと、フレームメモリ１０に入力されるフレームとが入力され、対応するラインを順次比較して、グローバルベクトル（ＶＧｘ,ＶＧｙ）を求める。これに限らず、例えば符号化装置１が搭載される画像処理装置において、表示パネルに動画像データを出力する際に行われる、インタレース／プログレッシブ変換（Ｉ／Ｐ変換）を利用して、グローバルベクトルを求めることもできる。
【０１０２】
本第３の実施形態では、このグローバルベクトル（ＶＧｘ,ＶＧｙ）の値を評価して、上述した第１の実施形態による動きベクトル検出と、第２の実施形態による動きベクトル検出との何方を実行するかを判定する。具体的には、グローバルベクトルの水平成分であるベクトルＶＧｘと、実験的に求めた閾値ＶＴｘとを比較することで、下記の制御を行う。
【０１０３】
(a) ＶＧｘ＞ＶＴｘのとき：第１の実施形態による動きベクトル検出を行う。
(b) ＶＧｘ≦ＶＴｘのとき：第２の実施形態による動きベクトル検出を行う。
【０１０４】
これによれば、画像データにおいて水平方向の動きが一定以上あり、グローバルベクトルによる水平方向の動きベクトルが閾値ＶＴｘを越えたときに、フィールド構造での動き探索を優先的に処理する。一方、画像データにおいて水平方向の動きが少なく、グローバルベクトルによる水平方向の動きベクトルが閾値ＶＴｘ以下のときに、フレーム構造での動き探索を優先的に処理する。
【０１０５】
なお、グローバルベクトルは、必ずしも１フレームに対して１つではなく、例えばフレーム内を所定に分割した広域エリア毎に検出するようにもできる。この場合、当該広域エリア毎に、同様な判定を行うことができる。
【０１０６】
グローバルベクトル探索部３００による判定結果は、第１ステージＭＥ部３０３に供給される。第１ステージＭＥ部３０３は、大域サーチによる動きベクトル検出を、マクロブロックペアの構造をフレーム構造とフィールド構造で切り替えて実行可能に構成される。第１ステージＭＥ部３０３は、グローバルベクトル探索部３００から供給された判定結果に応じて、動きベクトルの検出をフィールド構造およびフレーム構造のうち何れを用いて行うかを決定する。
【０１０７】
動きベクトルの検出をフレーム構造のマクロブックペアに対して行う場合、メモリ１０７から読み出した符号化対象のマクロブロックペアの上下２つのマクロブロックに対して、それぞれ動きベクトルの検出を行う。一方、動きベクトルの検出をフィールド構造のマクロブックペアに対して行う場合、メモリ１０７から読み出した符号化対象のマクロブロックペアから、トップフィールドおよびボトムフィールドのマクロブロックをそれぞれ形成する。そして、トップフィールドおよびボトムフィールドそれぞれのマクロブロックに対して動きベクトル検出を行う。
【０１０８】
適応的ＭＥ実行制御部３０１は、図４における差分値評価部１０８と適応的フィールド構造ＭＥ実行制御部２００とを含む。すなわち、適応的ＭＥ実行制御部３０１は、第１ステージＭＥ部３０３においてフレーム構造での動きベクトル検出を行った場合、当該動きベクトルの検出過程で算出された差分絶対値和Ｓと閾値Ｔ２とを比較する。比較結果に応じて、第２ステージ以降、フレーム構造での動きベクトル検出のみを行うか、フレーム構造およびフィールド構造での動きベクトル検出を併用して行うかを判定する。
【０１０９】
そして、判定結果に基づき、第２ステージＭＥ部１０２および第３ステージＭＥ部１０３による動きベクトル検出の実行制御を行う。フレーム構造およびフィールド構造での動きベクトル検出を併用して行う場合、第１ステージＭＥ部３０３で検出された、フレーム構造のマクロブロックペアに対する動きベクトルが、第２ステージＭＥ部１０５に供給される。
【０１１０】
適応的ＭＥ実行制御部３０２も、上述の適応的ＭＥ実行制御部３０１と同様である。すなわち、適応的ＭＥ実行制御部３０２は、差分値評価部１０８と、図２における適応的フレーム構造ＭＥ実行制御部１０９とを含む。すなわち、適応的ＭＥ実行制御部３０２は、第１ステージＭＥ部３０３においてフィールド構造での動きベクトル検出を行った場合、当該動きベクトルの検出過程で算出された差分絶対値和Ｓと閾値Ｔ１とを比較する。比較結果に応じて、第２ステージ以降、フィールド構造での動きベクトル検出のみを行うか、フレーム構造およびフィールド構造での動きベクトル検出を併用して行うかを判定する。
【０１１１】
そして、判定結果に基づき、第２ステージＭＥ部１０５および第３ステージＭＥ部１０６による動きベクトル検出の実行制御を行う。フレーム構造およびフィールド構造での動きベクトル検出を併用して行う場合、第１ステージＭＥ部３０３で検出された、フィールド構造のマクロブックペアに対する動きベクトルが、第２ステージＭＥ部１０５に供給される。
【０１１２】
図６は、本第３の実施形態による一例の処理を示すフローチャートである。符号化対象の１フレーム分の画像データが符号化装置１に入力されると、ステップＳ３００で、グローバルベクトル探索部３００によりグローバルベクトルＶＧが検出される。そして、次のステップＳ３０１で、グローバルベクトルの水平成分ＶＧｘと閾値ＶＴｘとが比較される。比較の結果、グローバルベクトルの水平成分ＶＧｘが閾値ＶＴｘを越えていると判断されれば、処理はステップＳ３０２に移行される。
【０１１３】
ステップＳ３０２では、第１ステージＭＥ部３０３において、フィールド構造のマクロブロックペアに対して、大域サーチによる動きベクトル検出が行われる。そして、次のステップＳ３３０３で、適応的ＭＥ実行制御部３０２において、第１ステージＭＥ部３０３による動きベクトルの検出過程で算出された差分絶対値和の逆数Ｐと閾値Ｔ１とが比較される。比較の結果、値Ｐが閾値Ｔ１より大きいと判断されたら、処理はステップＳ３０４およびステップＳ３０７に移行され、フィールド構造およびフレーム構造のマクロブロックペアを併用して、動きベクトルの検出を行う。
【０１１４】
ステップＳ３０４〜ステップＳ３０６の処理と、ステップＳ３０７およびステップＳ３０８の処理とは、並列的に実行することが可能である。ステップＳ３０４で、動きベクトル補正部１０４において、上述した数式（２）および数式（３）により、第１ステージＭＥ部３０３で検出されたフィールド構造による動きベクトルが補正されて、フレーム構造による動きベクトルとされる。そして、次のステップＳ３０５で、ステップＳ３０４で補正された動きベクトルに基づき、第２ステージＭＥ部１０５でフレーム構造での１画素精度サーチが行われる。そして、ステップＳ３０６で、ステップＳ３０５で検出された動きベクトルに基づき、第３ステージＭＥ部１０６でフレーム構造での１／４画素精度サーチが行われる。
【０１１５】
一方、ステップＳ３０７では、第１ステージＭＥ部３０３で検出された動きベクトルに基づき、第２ステージＭＥ部１０２でフィールド構造での１画素精度サーチが行われる。そして、次のステップＳ３０８で、ステップＳ３０７で検出された動きベクトルに基づき、第３ステージＭＥ部１０３でフィールド構造での１／４画素精度サーチが行われる。
【０１１６】
ステップＳ３０６の処理およびステップＳ３０８の処理が終了すると、処理はステップＳ３０９に移行される。ステップＳ３０９では、モード判定部１１０により、ステップＳ３０６で動きベクトルを検出する過程の差分絶対値和Ｓｒと、ステップＳ３０８で動きベクトルを検出する過程の差分絶対値和Ｓｉとを比較して、マクロブロックペアの構造を決定する。そして、ステップＳ３３０で、差分絶対値和ＳｒおよびＳｉと、閾値Ｉｔｈとを比較して、マクロブロックモードを選択する。
【０１１７】
一方、上述のステップＳ３０３において、値Ｐと閾値Ｔ１との比較の結果、差分絶対値和Ｓの逆数Ｐが閾値Ｔ１以下だと判断されたら、処理はステップＳ３１０に移行され、フィールド構造のマクロブロックペアに対する動きベクトルの検出のみが行われる。ステップＳ３１０では、第２ステージＭＥ部１０２により、第１ステージＭＥ部３０３で検出された動きベクトルに基づき、フィールド構造での１画素精度サーチが行われる。そして、次のステップＳ３１１で、第３ステージＭＥ部１０３により、第２ステージＭＥ部１０２で検出された動きベクトルに基づき、フィールド構造での１／４画素精度サーチが行われる。
【０１１８】
この場合は、フィールド構造のマクロブロックペアに対する動きベクトルの検出のみが行われているので、モード判定部１１０によるマクロブロックペアの構造の判定は行われない。処理はステップＳ３３１に移行され、モード判定部１１０により、マクロブロックモードが選択される。ここでは、ステップＳ３１１で動きベクトルを検出する過程の差分絶対値和Ｓｉと閾値Ｉｔｈとを比較して、マクロブロックモードの選択を行う。
【０１１９】
上述したステップＳ３０１で、グローバルベクトルの水平成分ＶＧｘと閾値ＶＴｘとの比較の結果、グローバルベクトルの水平成分ＶＧｘが閾値ＶＴｘ以下だと判断されたら、処理はステップＳ３２０に移行される。
【０１２０】
ステップＳ３２０では、第１ステージＭＥ部３０３において、フレーム構造のマクロブロックペアに対して大域サーチによる動きベクトル検出が行われる。そして、次のステップＳ３２１で、適応的ＭＥ実行制御部３０１において、第１ステージＭＥ部３０３による動きベクトルの検出過程で算出された差分絶対値和Ｓの逆数Ｐと閾値Ｔ２とが比較される。比較の結果、値Ｐが閾値Ｔ２より大きいと判断されたら、処理はステップＳ３２６およびステップＳ３２４に移行され、フィールド構造およびフレーム構造のマクロブロックペアを併用して、動きベクトルの検出を行う。
【０１２１】
ステップＳ３２６〜ステップＳ３２８の処理と、ステップＳ３２４およびステップＳ３２５の処理とは、並列的に実行することが可能である。ステップＳ３２６で、動きベクトル補正部２０１において、上述した数式（７）および数式（８）により、第１ステージＭＥ部３０３で検出されたフレーム構造による動きベクトルが補正されて、フィールド構造による動きベクトルとされる。そして、次のステップＳ３２７で、ステップＳ３２６で補正された動きベクトルに基づき、第２ステージＭＥ部１０２でフィールド構造での１画素精度サーチが行われる。そして、ステップＳ３２８で、ステップＳ３２７で検出された動きベクトルに基づき、第３ステージＭＥ部１０３でフィールド構造での１／４画素精度サーチが行われる。
【０１２２】
一方、ステップＳ３２４では、第１ステージＭＥ部３０３で検出された動きベクトルに基づき、第２ステージＭＥ部１０５でフレームド構造での１画素精度サーチが行われる。そして、次のステップＳ３２５で、ステップＳ３２４で検出された動きベクトルに基づき、第３ステージＭＥ部１０６でフレーム構造での１／４画素精度サーチが行われる。
【０１２３】
ステップＳ３２８の処理およびステップＳ３２５の処理が終了すると、処理はステップＳ３２９に移行される。ステップＳ３２９では、モード判定部１１０により、ステップＳ３２５で動きベクトルを検出する過程の差分絶対値和Ｓｒと、ステップＳ３２８で動きベクトルを検出する過程の差分絶対値和Ｓｉとを比較して、マクロブロックペアの構造を決定する。そして、ステップＳ３３３で、差分絶対値和ＳｒおよびＳｉと、閾値Ｉｔｈとを比較して、マクロブロックモードを選択する。
【０１２４】
一方、上述のステップＳ３２１において、差分絶対値和Ｓの逆数Ｐと閾値Ｔ２との比較の結果、値Ｐが閾値Ｔ２以下だったら、処理はステップＳ３２２に移行され、フレーム構造のマクロブロックペアに対する動きベクトルの検出のみが行われる。ステップＳ３２２では、第２ステージＭＥ部１０５により、第１ステージＭＥ部３０３で検出された動きベクトルに基づき、フレーム構造での１画素精度サーチが行われる。そして、次のステップＳ３２３で、第３ステージＭＥ部１０６により、第２ステージＭＥ部１０５で検出された動きベクトルに基づき、フレーム構造での１／４画素精度サーチが行われる。
【０１２５】
この場合は、フレーム構造のマクロブロックペアに対する動きベクトル検出のみが行われているため、モード判定部１１０によるマクロブロックペアの構造の判定は行われない。処理はステップＳ３３２に移行され、モード判定部１１０により、マクロブロックモードが選択される。ここでは、ステップＳ３２３で動きベクトルを検出する過程の差分絶対値和Ｓｒと閾値Ｉｔｈとを比較して、マクロブロックモードの選択を行う。
【０１２６】
このように、本発明の第３の実施形態では、フレーム構造およびフィールド構造のマクロブロックペアの何方に対する動きベクトル検出を優先して行うかを、グローバルベクトルに基づき、適応的に制御することができる。そのため、画像の全体的な動きに応じてマクロブロックペアの構造を適切に設定することが可能となり、符号化効率を向上させることができる。また、メモリアクセス量が多い大域サーチを行う第１ステージの動きベクトル検出部が１つのみで済むため、ステップサーチ法を用い、ＭＢＡＦＦに対応した動きベクトル検出装置を、より小規模なハードウェア構成で実現することができる。
【０１２７】
なお、上述した各実施形態では、ステップサーチ法により、大域サーチ、１画素精度サーチおよび１／４画素精度サーチの３ステージにより、３ステップで動き探索を行っているが、これはこの例に限定されない。すなわち、本発明は、段階的に探索精度を上げると共に探索範囲を狭めて動き探索を行う処理を、Ｎ（ただしＮは２以上の整数）ステップに拡張しＮ段階で行うようにできる。例えば、探索精度が最も低く、且つ、探索範囲が最も広い１段階目の動き探索から、段階毎に、探索精度を高めると共に探索範囲を狭めて、動き探索を順次行う。Ｎ段階目で検出された動きベクトルが最終的な動きベクトルとされる。
【０１２８】
また、上述した各実施例では、大域サーチを行う第１ステージをフィールド構造またはフレーム構造の何れかに対してのみ行うようにしていた。そして、その結果に基づき、第２ステージ以降を、フィールド構造での動きベクトル検出とフレーム構造での動きベクトル検出とを併用して行うか否かを判断していた。これはこの例に限らず、探索精度が粗く且つ探索範囲が広い方い第１ステージから第Ｍステージ（ただしＭ＜Ｎ）までを、フィールド構造またはフレーム構造の何れかに対してのみ行うようにもできる。この場合、第Ｍステージの動きベクトル検出結果に基づき、第（Ｍ＋１）ステージ以降をフィールド構造での動きベクトル検出とフレーム構造での動きベクトル検出とを併用して行うか否かを判断することになる。
【０１２９】
＜他の実施形態＞
上述の各実施形態は、システム或は装置のコンピュータ（或いはＣＰＵ、ＭＰＵ等）によりソフトウェア的に実現することも可能である。
【０１３０】
従って、上述の各実施形態をコンピュータで実現するために、該コンピュータに供給されるコンピュータプログラム自体も本発明を実現するものである。つまり、上述の各実施形態の機能を実現するためのコンピュータプログラム自体も本発明の一つである。
【０１３１】
なお、上述の各実施形態を実現するためのコンピュータプログラムは、コンピュータで読み取り可能であれば、どのような形態であってもよい。例えば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等で構成することができるが、これらに限るものではない。
【０１３２】
上述の各実施形態を実現するためのコンピュータプログラムは、記憶媒体又は有線／無線通信によりコンピュータに供給される。プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記憶媒体、ＭＯ、ＣＤ、ＤＶＤ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【０１３３】
有線／無線通信を用いたコンピュータプログラムの供給方法としては、コンピュータネットワーク上のサーバを利用する方法がある。この場合、本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムファイル）をサーバに記憶しておく。プログラムファイルとしては、実行形式のものであっても、ソースコードであっても良い。
【０１３４】
そして、このサーバにアクセスしたクライアントコンピュータに、プログラムファイルをダウンロードすることによって供給する。この場合、プログラムファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに分散して配置することも可能である。
【０１３５】
つまり、上述の各実施形態を実現するためのプログラムファイルをクライアントコンピュータに提供するサーバ装置も本発明の一つである。
【０１３６】
また、上述の各実施形態を実現するためのコンピュータプログラムを暗号化して格納した記憶媒体を配布し、所定の条件を満たしたユーザに、暗号化を解く鍵情報を供給し、ユーザの有するコンピュータへのインストールを許可してもよい。鍵情報は、例えばインターネットを介してホームページからダウンロードさせることによって供給することができる。
【０１３７】
また、上述の各実施形態を実現するためのコンピュータプログラムは、すでにコンピュータ上で稼働するＯＳの機能を利用するものであってもよい。
【０１３８】
さらに、上述の各実施形態を実現するためのコンピュータプログラムは、その一部をコンピュータに装着される拡張ボード等のファームウェアで構成してもよいし、拡張ボード等が備えるＣＰＵで実行するようにしてもよい。
【図面の簡単な説明】
【０１３９】
【図１】本発明に適用可能な符号化装置の一例の構成を示すブロック図である。
【図２】本発明の第１の実施形態による動きベクトル検出部の一例の構成を示すブロック図である。
【図３】動きベクトル検出において参照画像データを格納しているメモリに対する、従来技術によるメモリアクセス量と、本発明を適用した場合のメモリアクセス量とを比較して示す略線図である。
【図４】本発明の第２の実施形態による動きベクトル検出部の一例の構成を示すブロック図である。
【図５】本発明の第３の実施形態による動きベクトル検出部の一例の構成を示すブロック図である。
【図６】本第３の実施形態による一例の処理を示すフローチャートである。
【図７】マクロブロックペアの構造を概略的に示す略線図である。
【図８】動きのある部分と無い部分とが混在した映像の例を示す略線図である。
【図９】ＭＢＡＦＦにより、１画面にフレーム構造のマクロブロックペアとフィールド構造のマクロブロックペアとを混在させた例を示す略線図である。
【図１０】ステップサーチ法を用いて動きベクトル探索を行う例を概略的に示す略線図である。
【図１１】３ステップのステップサーチを実現するための、従来技術による動きベクトル検出装置の一例の構成を示すブロック図である。
【図１２】ＭＢＡＦＦをステップサーチ法に適用した場合の、従来技術による動きベクトル検出装置の一例の構成を示すブロック図である。
【符号の説明】
【０１４０】
１  符号化装置
１０  フレームメモリ
２０  デブロッキングフィルタ
２１  フレームメモリ
２２  インター予測部
２３  動きベクトル検出部
１０１  第１ステージＭＥ部
１０２  第２ステージＭＥ部
１０３  第３ステージＭＥ部
１０４  動きベクトル補正部
１０５  第２ステージＭＥ部
１０６  第３ステージＭＥ部
１０７  フレームまたはフィールドメモリ
１０８  差分値評価部
１０９，３０２  適応的フレーム構造ＭＥ実行制御部
１１０  モード判定部
２００，３０１  適応的フィールド構造ＭＥ実行制御部
２０１  動きベクトル補正部
２０２  第１ステージＭＥ部
３００  グローバルベクトル探索部
３０３  第１ステージＭＥ部
【図１】
2010016780.tif 000004
【図２】
2010016780.tif 000005
【図３】
2010016780.tif 000006
【図４】
2010016780.tif 000007
【図５】
2010016780.tif 000008
【図６】
2010016780.tif 000009
【図７】
2010016780.tif 000010
【図８】
2010016780.tif 000011
【図９】
2010016780.tif 000012
【図１０】
2010016780.tif 000013
【図１１】
2010016780.tif 000014
【図１２】
2010016780.tif 000015