(57)【要約】【課題】  動きの大きな動画像においても、動きベクトルの検出を可能とすること。【解決手段】  現マクロブロックを中心にサーチウィンドウを設定するのではなく、現画像と参照画像との動きを表すグローバルベクトルを求め、グローバルベクトルの信頼性を用いて参照画像中のサーチウィンドウの形状や位置を設定する。【選択図】  図８
2007174202.tif 000002
【特許請求の範囲】
【請求項１】
現画像を構成する複数のマクロブロックの各々について、参照画像に設定された探索領域で探索することにより、前記複数のマクロブロックの各々の動きベクトルを検出する動きベクトル検出装置であって、
前記現画像と前記参照画像との動きベクトルであるグローバルベクトルを求めるグローバルベクトル決定手段と、
前記グローバルベクトルの信頼性を判定する信頼性判定手段と、
前記グローバルベクトルの信頼性の判定結果に応じて前記探索領域の形状を決定する探索領域決定手段と、
前記参照画像の前記決定された探索領域内で前記現画像のマクロブロックを探索し、当該マクロブロックに対する動きベクトルを検出する動きベクトル探索手段とを有することを特徴とする動きベクトル検出装置。
【請求項２】
現画像を構成する複数のマクロブロックの各々について、参照画像に設定された探索領域で探索することにより、前記複数のマクロブロックの各々の動きベクトルを検出する動きベクトル検出装置であって、
前記現画像と前記参照画像との動きベクトルであるグローバルベクトルを求めるグローバルベクトル決定手段と、
前記グローバルベクトルの信頼性を判定する信頼性判定手段と、
前記グローバルベクトルの信頼性の判定結果に応じて前記探索領域の位置を決定する探索領域決定手段と、
前記参照画像の前記決定された探索領域内で前記現画像のマクロブロックを探索し、当該マクロブロックに対する動きベクトルを検出する動きベクトル探索手段とを有することを特徴とする動きベクトル検出装置。
【請求項３】
現画像を構成する複数のマクロブロックの各々について、参照画像に設定された探索領域で探索することにより、前記複数のマクロブロックの各々の動きベクトルを検出する動きベクトル検出装置であって、
前記現画像と前記参照画像との動きベクトルであるグローバルベクトルを求めるグローバルベクトル決定手段と、
前記グローバルベクトルの信頼性を判定する信頼性判定手段と、
前記グローバルベクトルの信頼性の判定結果に応じて前記探索領域の形状及び位置を決定する探索領域決定手段と、
前記参照画像の前記決定された探索領域内で前記現画像のマクロブロックを探索し、当該マクロブロックに対する動きベクトルを検出する動きベクトル探索手段とを有することを特徴とする動きベクトル検出装置。
【請求項４】
前記探索領域決定手段は、前記信頼性判定手段によって前記グローバルベクトルの信頼性が高いと判定されたときに、前記グローバルベクトルの水平方向、垂直方向の成分値に応じて前記探索領域を決定することを特徴とする請求項１乃至３の何れか１項記載の動きベクトル検出装置。
【請求項５】
現画像を構成する複数のマクロブロックの各々について、参照画像に設定された探索領域で探索することにより、前記複数のマクロブロックの各々の動きベクトルを検出する動きベクトル検出装置であって、
前記現画像と前記参照画像との動きベクトルであるグローバルベクトルを求めるグローバルベクトル決定手段と、
前記グローバルベクトルの信頼性を判定する信頼性判定手段と、
前記信頼性判定手段によって前記グローバルベクトルの信頼性が高いと判定されたときに、前記グローバルベクトルの向きと大きさに応じて前記探索領域の形状を決定する探索領域決定手段と、
前記参照画像の前記決定された探索領域内で前記現画像のマクロブロックを探索し、当該マクロブロックに対する動きベクトルを検出する動きベクトル探索手段とを有することを特徴とする動きベクトル検出装置。
【請求項６】
さらに、前記検出した動きベクトルを保存する保存手段を有し、前記グローバルベクトルの信頼性が低い場合、前記探索領域決定手段は前記保存手段に保存された動きベクトルを用いて前記探索領域の形状及び位置の少なくとも一方を決定することを特徴とする請求項１乃至５の何れか１項記載の動きベクトル検出装置。
【請求項７】
さらに、前記検出した動きベクトルを保存する保存手段を有し、前記グローバルベクトルの信頼性が低い場合、前記探索領域決定手段は前記保存手段に保存された動きベクトルの水平方向及び垂直方向の成分値から前記探索領域の形状を決定することを特徴とする請求項１乃至５の何れか１項記載の動きベクトル検出装置。
【請求項８】
さらに、前記検出した動きベクトルを保存する保存手段を有し、前記グローバルベクトルの信頼性が低い場合、前記探索領域決定手段はゼロ動きベクトル又は予め定義された動きベクトルを用いて前記探索領域の形状及び位置の少なくとも一方を決定することを特徴とする請求項１乃至５の何れか１項記載の動きベクトル検出装置。
【請求項９】
さらに、前記検出した動きベクトルを保存する保存手段を有し、前記グローバルベクトルの信頼性が低い場合、前記探索領域決定手段はゼロ動きベクトル又は予め定義された動きベクトルのそれぞれに対して予め設定されている探索領域の形状を選択することを特徴とする請求項８記載の動きベクトル検出装置。
【請求項１０】
前記現画像及び参照画像を複数のエリアに分割し、前記エリアごとにグローバルベクトルを決定して、前記エリアごとにグローバルベクトルの信頼性の判定結果に応じて探索領域の位置を決定する処理を行うことを特徴とする請求項１乃至９の何れか１項記載の動きベクトル検出装置。
【請求項１１】
請求項１乃至１０のいずれか１項に記載の動きベクトル検出装置を用いて検出された動きベクトルを用いて前記現画像の動き補償予測による符号化を行う動き補償予測符号化装置。
【請求項１２】
現画像を構成する複数のマクロブロックの各々について、参照画像に設定された探索領域で探索することにより、前記複数のマクロブロックの各々の動きベクトルを検出する動きベクトル検出方法であって、
前記現画像と前記参照画像との動きベクトルであるグローバルベクトルを求めるグローバルベクトル決定ステップと、
前記グローバルベクトルの信頼性を判定する信頼性判定ステップと、
前記グローバルベクトルの信頼性の判定結果に応じて前記探索領域の形状及び位置の少なくとも一方を決定する探索領域決定ステップと、
前記参照画像の前記決定された探索領域内で前記現画像のマクロブロックを探索し、当該マクロブロックに対する動きベクトルを検出する動きベクトル探索ステップとを有することを特徴とする動きベクトル検出方法。
【請求項１３】
コンピュータ装置を請求項１乃至請求項１２のいずれか１項に記載の動きベクトル検出装置として機能させるプログラム。
【請求項１４】
請求項１３記載のプログラムを格納したコンピュータ装置読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動きベクトル検出装置及びその方法に関するものであり、更に詳しくは画像間の動きの大小を考慮した適応的な動きベクトルの検出が行える動きベクトル検出装置及び方法に関する。
【背景技術】
【０００２】
近年、音声信号、映像信号など所謂マルチメディアに関連する情報のデジタル化が急進しており、これに対応して映像信号の圧縮符号化復号化技術が注目されている。圧縮符号化及び復号化技術により、映像信号の格納に必要な記憶容量や伝送に必要な帯域を減少させることができるため、マルチメディア産業には極めて重要な技術である。
【０００３】
これらの圧縮符号化復号化技術は、多くの映像信号が有する自己相関性の高さ（すなわち、冗長性）を利用して情報量／データ量を圧縮している。映像信号が有する冗長性には、時間冗長性及び二次元の空間冗長性があり、時間冗長性は、ブロック単位の動き推定及び動き補償を用いて低減することが出来、一方、空間冗長性は、離散コサイン変換（ＤＣＴ）を用いて低減させることが出来る。
【０００４】
圧縮符号化復号化技術として知られるＭＰＥＧ方式などではこれらの手法により映像信号の冗長性を低減させ、経時的に変わるビデオフレーム／フィールドのデータ圧縮効果を向上させる。時間冗長性を低減させるためのブロック単位の動き推定とは、連続して入力する参照フレーム／フィールド（過去のフレーム／フィールド）と現在フレーム／フィールドとの間で最も近似するブロックを探し出す作業であり、対応するブロックの移動方向、移動量を表すベクトルを動きベクトルという。従って、動き推定とは動きベクトルの推定と同義である。
【０００５】
一般に動きベクトルを推定する方法としては、ブロックマッチング方式が用いられる。ブロックマッチング方式とは、参照フレーム／フィールドと現在フレーム／フィールドように２枚の映像をブロック単位で比較し、信号類型の整合度に基づいてブロック単位で動きを推定する方法をいう。かかるブロックマッチング方式により、参照フレーム／フィールドと現在フレーム／フィールドとからブロックごとに動きベクトルを推定し、推定された動きベクトルを用いて動き補償予測を行う。このブロックマッチング方式については例えば特許文献１に記載されているが、図２を用いて説明する。
【０００６】
図２はブロックマッチング方式を用いた動きベクトル検出装置を示すブロック図である。同図において動きベクトル検出装置は、現在フレーム／フィールド保存部２０、参照フレームフィールド保存部２１、現在マクロブロック保存バッファ２２、参照サーチウィンドウ保存バッファ２３、動きベクトル探索部２４から成っている。
【０００７】
現在フレーム／フィールド保存部２０と参照フレーム／フィールド保存部２１はそれぞれ現在フレーム／フィールドと参照フレーム／フィールドが保存され、動きベクトルの推定に用いられる。現在マクロブロック保存バッファ２２は現在フレーム／フィールド保存部２０から現在のマクロブロックの画像を取り出す。参照サーチウィンドウ保存バッファ２３は現在のマクロブロックの中心に探索領域の中心を設定し探索領域の範囲（以下、サーチウィンドウと呼ぶ）分だけ参照フレームフィールド保存部２１から画像を取り出す。動きベクトル探索部２４ではサーチウィンドウ内で現在のマクロブロックの画像を探索し、現在のマクロブロックについての最終的な動きベクトルを推定する。
【０００８】
また、ブロックマッチング方式には、図３に示すように、図２の動きベクトル検出装置に、動きベクトル探索部２４で推定された動きベクトルを保存する動きベクトル保存器３５を持たせた構成も存在する。この構成では、参照フレーム／フィールド保存部２１に動きベクトル保存器３５から一つ前のマクロブロックについて推定した動きベクトルを提供する。参照フレーム／フィールド保存部２１は、一つ前のマクロブロックの動きベクトル分だけ現在マクロブロックからずらした位置に探索領域の中心位置を設定し、参照サーチウィンドウ保存バッファ２３へ参照画像を出力する。
【０００９】
ブロックマッチング方式のようにマクロブロックごとに動きベクトルの検出／推定を行い、この動きベクトルを用いて動き補償予測を行う方法を、局所的な検出をするという意味から、以後まとめてローカル動き補償と呼ぶことにする。またブロック単位の動きベクトルをローカル動きベクトルと呼ぶことにする。
【００１０】
これまで説明してきたローカル動き補償方式は現在国際標準方式Ｈ．２６１、Ｈ．２６３、ＭＰＥＧ１、ＭＰＥＧ２、ＭＰＥＧ４で用いられており、最も広く採用されている動き補償方式である。
【特許文献１】特開平０４−３２３７８０号公報（第２頁）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、ローカル動き補償方式においては１フレームより少ない数の画素からなるサーチウィンドウを用いているため、現在のマクロブロックの中心に探索領域の中心を設定した場合や一つ前のマクロブロックの動きベクトルを用いてサーチウィンドウの中心の位置決めを行った場合、野球中継のように画像間の動きが速いか、画面全体がパンニング（ｐａｎｉｎｇ）される画像はサーチウィンドウ内に存在しなくなる。この場合、従来のローカル動き補償方式においては画像フレーム間の差異値を得るノン・イントラ符号化を行わず、その代わりにイントラ符号化を行うため、圧縮率が低下し、符号化データ量が多くなってしまう問題点がある。
【００１２】
従って、本発明の目的は、前述した問題点を解決し、フレーム或いはフィールド間の動きが大きい画像に対して、その動きを考慮した適切な動きベクトルの検出が行える動きベクトル検出装置及びその方法を提供することにある。
【００１３】
また、フレーム或いはフィールド間の動きが小さい場合には高い圧縮率を維持し、かつフレーム或いはフィールド間の動きが大きい画像の場合にも圧縮率の高い符号化が行える動き補償予測符号化装置を提供することを本発明の更なる目的とする。
【課題を解決するための手段】
【００１４】
上述の目的は、現画像を構成する複数のマクロブロックの各々について、参照画像に設定された探索領域で探索することにより、前記複数のマクロブロックの各々の動きベクトルを検出する動きベクトル検出装置であって、前記現画像と前記参照画像との動きベクトルであるグローバルベクトルを求めるグローバルベクトル決定手段と、前記グローバルベクトルの信頼性を判定する信頼性判定手段と、前記グローバルベクトルの信頼性の判定結果に応じて前記探索領域の形状を決定する探索領域決定手段と、前記参照画像の前記決定された探索領域内で前記現画像のマクロブロックを探索し、当該マクロブロックに対する動きベクトルを検出する動きベクトル探索手段とを有することを特徴とする動きベクトル検出装置によって達成される。
【００１５】
また、上述の目的は、現画像を構成する複数のマクロブロックの各々について、参照画像に設定された探索領域で探索することにより、前記複数のマクロブロックの各々の動きベクトルを検出する動きベクトル検出装置であって、前記現画像と前記参照画像との動きベクトルであるグローバルベクトルを求めるグローバルベクトル決定手段と、前記グローバルベクトルの信頼性を判定する信頼性判定手段と、前記グローバルベクトルの信頼性の判定結果に応じて前記探索領域の位置を決定する探索領域決定手段と、前記参照画像の前記決定された探索領域内で前記現画像のマクロブロックを探索し、当該マクロブロックに対する動きベクトルを検出する動きベクトル探索手段とを有することを特徴とする動きベクトル検出装置によっても達成される。
【００１６】
さらに、上述の目的は、現画像を構成する複数のマクロブロックの各々について、参照画像に設定された探索領域で探索することにより、前記複数のマクロブロックの各々の動きベクトルを検出する動きベクトル検出方法であって、前記現画像と前記参照画像との動きベクトルであるグローバルベクトルを求めるグローバルベクトル決定ステップと、前記グローバルベクトルの信頼性を判定する信頼性判定ステップと、前記グローバルベクトルの信頼性の判定結果に応じて前記探索領域の形状及び位置の少なくとも一方を決定する探索領域決定ステップと、前記参照画像の前記決定された探索領域内で前記現画像のマクロブロックを探索し、当該マクロブロックに対する動きベクトルを検出する動きベクトル探索ステップとを有することを特徴とする動きベクトル検出方法によっても達成される。
【発明の効果】
【００１７】
本発明によれば、フレーム或いはフィールド間の動きが大きい画像に対して、その動きを考慮した適切な動きベクトルの検出が行えるので、動きベクトル検出の精度が向上し、動きが大きい場合であっても圧縮率を向上させることができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して本発明をその好適な実施形態に基づき詳細に説明する。
【実施例１】
【００１９】
図１は本発明の実施例となる動きベクトル検出装置の構成例を示すブロック図である。図１の動きベクトル検出装置は、参照フレーム／フィールド保存部１００、現在フレーム／フィールド保存部１０１、グローバルベクトル決定部１０２、グローバルベクトル信頼性判定部１０３、サーチウィンドウ位置・形状決定部１０４を有する。すなわち、グローバルベクトルを用いて動きベクトルの探索領域（サーチウィンドウ）を決定する構成である。さらに、動きベクトル探索部１０５、動きベクトル保存部１０６、参照サーチウィンドウ保存バッファ１０７及び現在マクロブロック保存バッファ１０８を備え、以上の構成により動きベクトルの検出を行う。
【００２０】
係る構成において、以下にその具体的な動作を説明する。参照フレーム／フィールド保存部１００と現在フレーム／フィールド保存部１０１には、動きベクトル検出／推定のための参照フレーム／フィールド（参照画像）と現在フレーム／フィールド（現画像）がそれぞれ保存される。
【００２１】
グローバルベクトル決定部１０２は、参照フレーム／フィールド保存部１００及び現在フレーム／フィールド保存部１０１から提供される参照フレーム／フィールドの画素値全てと現在フレーム／フィールドの画素値全てを用いて、参照フレーム／フィールドに対する現在フレーム／フィールドの空間的な位置の差を示すグローバルベクトルを決定する。
【００２２】
グローバルベクトル信頼性判定部１０３は、グローバルベクトル決定部１０２が決定したグローバルベクトルの信頼度を判定する。サーチウィンドウ決定部１０４はグローバルベクトル又は一つ前のローカル動きベクトルから参照サーチウィンドウの位置・形状を決定する。
【００２３】
動きベクトル探索部１０５、動きベクトル保存部１０６及び参照サーチウィンドウ保存バッファ１０７、現在マクロブロック保存バッファ１０８は図２及び図３で説明した同名の構成要素と同一でよいため説明を省略する。
【００２４】
以上説明した本実施例の動きベクトル検出装置の動作を、図４のフローチャートを用いて説明する。
【００２５】
まず、グローバルベクトル決定部１０２は、参照フレーム／フィールド（参照画像）と現在フレーム／フィールド（現画像）との動きベクトルであるグローバルベクトルを検出するため、これら画像間の位置関係毎に評価関数を演算する（ステップＳ１０３）
参照フレーム／フィールドと現在フレーム／フィールドとが最大相関度を有する移動距離及び方向を表すグローバルベクトルを推定するためには、次のようなＭＳＥ（Ｍｅａｎ  Ｓｑｕａｒｅ  Ｅｒｒｏｒ）（数１）、ＭＡＥ（Ｍｅａｎ  Ａｂｓｏｌｕｔｅ  Ｅｒｒｏｒ）（数２）、あるいはＭＡＤ（Ｍｅａｎ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒ  ｅｎｃｅ）などの評価関数を用いることができる。
【００２６】
【数１】
2007174202.tif 000003
【００２７】
ここで、Ｓｃｕｒ（ｍ，ｎ）は現在のフレーム／フィールドでの（ｍ，ｎ）番目の画素値、Ｓｒｅｆ（ｍ，ｎ）は参照フレーム、フィールドでの（ｍ，ｎ）番目の画素値を示す。（ｉ，ｊ）は参照フレーム／フィールドに対する現在のフレーム／フィールドの空間的な位置をそれぞれ示している。
【００２８】
（ただし、Ｍ，Ｎを１フレーム／フィールドでの水平及び垂直画素数とすると、ｍ＝ｋ×ｑ，ｎ＝ｌ×ｒであり、ｋ，ｌは０≦ｍ≦Ｍ、１≦ｋ≦Ｍ，０≦ｎ≦Ｎ，１≦ｌ≦Ｎを満たす自然数である。また、Ｑ，ＲはＭ−ｋ≦Ｑ≦Ｍ，Ｎ−ｌ≦Ｒ≦Ｎを満たす。）
この評価関数は画素値の差に基づいたものであり、最も小さいＭＡＥ値やＭＳＥ値となるベクトルをグローバルベクトルとして決定する。
【００２９】
ＭＡＥ値を例にした場合の、グローバルベクトルの選定方法の例を図９に示す。参照フレームを所定の方向に１画素ずつずらしていき、画素の移動距離ごとにＭＡＥ値の総和の平均を取る。そして平均ＭＡＥ値が最小となるときの移動量がグローバルベクトルの選定基準となる。この処理を例えば所定の方向と直交する他の方向についても実行し、この方向で平均ＭＡＥ値が最小となる移動量が求まれば、２つの移動量とその移動方向からグローバルベクトルを決定することができる。
【００３０】
また、この時に求まるＭＡＥ値やＭＳＥ値をグローバルベクトル信頼性判定部１０３でグローバルベクトル信頼値ＧＲＶ（Ｇｌｏｂａｌ  Ｖｅｃｔｏｒ  Ｒｅｌｉａｂｌｅ  Ｖａｌｕｅ）として用いる。このように、グローバルベクトル決定部１０２は上述の評価関数の演算を行った後、最大相関度を示す位置への動きベクトルをグローバルベクトルとして定め、グローバルベクトル信頼性判定部１０３にグローバルベクトル信頼値ＧＲＶ及びグローバルベクトルを送信する（ステップＳ１０５）。
【００３１】
（グローバルベクトルの信頼性の判定）
次に、グローバルベクトル信頼性判定部１０３により、グローバルベクトル決定部１０２が決定したグローバルベクトルの信頼性を判定する（ステップＳ１０７）。この判定方法の例を図１０に示す。
【００３２】
本実施例において、グローバルベクトル信頼性判定部１０３はグローバルベクトル決定部１０２から送信されてきたグローバルベクトル信頼値ＧＲＶと予め設定してある閾値とを比較し、グローバルベクトル信頼値ＧＲＶの値が閾値以下ならばグローバルベクトルの信頼性が高いと判定する。この時、サーチウィンドウの位置決定にグローバルベクトルを用いるため、サーチウィンドウ位置・形状決定部１０４にグローバルベクトルを送信する。
【００３３】
一方、グローバルベクトル信頼値ＧＲＶの値が閾値より大きければグローバルベクトルの信頼性が低いと判断する。この場合には、グローバルベクトルの代わりに動きベクトル保存部１０６から一つ前のローカル動きベクトルをサーチウィンドウ位置・形状決定部１０４に送信させる。なお、この場合には動きが無いことを意味するゼロ動きベクトルを一つ前のローカル動きベクトルの代わりに送信することも出来る。また、その他、使用者が定義可能な任意の動きベクトルを一つ前のローカル動きベクトルの代わりに送信しても良い。
【００３４】
（サーチウィンドウの位置・形状の決定）
サーチウィンドウ位置・形状決定部１０４は送信されてきた動きベクトル（グローバルベクトルに応じて（ステップＳ１０９）又は一つ前のローカル動きベクトル（ステップＳ１１１））に従いサーチウィンドウの位置と形状を決定する。
【００３５】
まず、サーチウィンドウの中心を、現在のマクロブロックに対応する参照フレーム／フィールドのマクロブロックから、動きベクトルの分だけずらした位置に指定する。続いて水平方向・垂直方向各々に対して、予め設定してある閾値と動きベクトルの水平方向・垂直方向の値を比較してサーチウィンドウの形状を決定する。具体的には図６のように水平方向の閾値としてＴＨｈ（−ＴＨｈ）、垂直方向の閾値ＴＨＶ（−ＴＨＶ）を設定し、動きベクトルの水平方向、垂直方向の値がグラフの何処に属するかでサーチウィンドウの形状を決定する。例えば動きベクトルの水平方向の値ｘが０＜ｘ＜ＴＨｈ、垂直方向の値ｙがＴＨＶ＜ｙの時、図６の（ｃ）の領域に属するためサーチウィンドウは図５の（ii）の形状となる。一方、ｘ＜−ＴＨｈ、ｙ＜−ＴＨＶの時、図６の（ｍ）の領域に属するためサーチウィンドウは図５の（ｖ）の形状となる。
【００３６】
このように、サーチウィンドウがとり得る形状は図５（i）〜（ｖ）で表わされるとおりである。さらに、図５（i）〜（ｖ）で表わされるサーチウィンドウの各形状が、図６（ａ）〜（ｐ）のように場合分けされた領域に応じて決定される。
【００３７】
次に、図６において、例えば０＜ｘ＜ＴＨｈ、ＴＨＶ＜ｙのとき（図６（ｃ）のとき）のサーチウィンドウの位置・形状を決定する様子を図７（i）に示す。同様に、ｘ＜−ＴＨｈ、ｙ＜−ＴＨＶのとき（図６（ｍ）のとき）のサーチウィンドウの位置・形状を決定する様子を図７（ii）に示す。
【００３８】
現在フレーム／フィールド保存部１０１は、現在マクロブロックの画像データを取り出し、現在マクロブロック保存バッファ１０８に送信する。それと同時に、現在マクロブロックの位置情報を参照フレーム／フィールド保存部１００に伝達する。そして、参照フレーム／フィールド保存部１００は、サーチウィンドウ位置・形状決定部１０４が決定したサーチウィンドウの位置・形状に従って、現在マクロブロックの位置に応じた必要な探索範囲の画像データを取り出し、サーチウィンドウ保存バッファ１０７に送信する。この様子を模式的に表わしたものが、図７（i）及び図７（ii）となる。
【００３９】
このように、グローバルベクトルの信頼性が高い時は形状をグローバルベクトルに追随させ、グローバルベクトルが指す位置の周辺を探索するようにサーチウィンドウの位置を決定し、信頼性が低い時はマクロブロックの周辺を探索するようにサーチウィンドウの位置・形状を決定する。この様子を模式的に表わしたものが図８である。
【００４０】
（動きベクトルの探索）
次に、動きベクトル探索部１０５は、サーチウィンドウ内でマクロブロックと類似した領域の探索を行い、現在のマクロブロックに対応する動きベクトルを検出／推定する（ステップＳ１１３）。推定した動きベクトルは外部に出力するほか、動きベクトル保存部１０６に送信し、グローバルベクトルの信頼性が低い場合の次のマクロブロックでの動きベクトル推定で用いる。
【００４１】
ここで、Ｎ×Ｎサイズのマクロブロックの動きベクトルを参照フレーム／フィールドで±ｐ画素の範囲で探索するとすると、サーチウィンドウの大きさは（Ｎ＋２ｐ）×（Ｎ＋２ｐ）となる。ここで、動きベクトルの候補になり得る総ての位置で上述した評価関数を計算した後、最大相関度を示す位置へのベクトルを動きベクトルに決める。
【００４２】
最大相関度を有する動きベクトルを推定するためには、前述のＭＳＥ（Ｍｅａｎ  Ｓｑｕａｒｅ  Ｅｒｒｏｒ）（数３）、ＭＡＥ（Ｍｅａｎ  Ａｂｓｏｌｕｔｅ  Ｅｒｒｏｒ）（数４）、あるいはＭＡＤ（Ｍｅａｎ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）  などの評価関数を用いて次のように求められる。
【００４３】
【数２】
2007174202.tif 000004
【００４４】
ここで、Ｓｒｅｆは参照フレーム／フィールド、Ｓｃｕｒ，ｋは現在のフレーム、フィールドでｋ番目のマクロブロックを示す。（ｉ，ｊ）は現在フレーム／フィールドのｋ番目のマクロブロックに対する参照フレーム／フィールドの空間的な位置をそれぞれ示している。
【００４５】
（ただし、Ｘ及びＹをサーチウィンドウの水平及び垂直画素数とすると、ｘ＝ｇ×ｕ，ｙ＝ｈ×ｖであり、ｇ、ｈは０≦ｘ≦Ｘ、１≦ｇ≦Ｘ，０≦ｙ≦Ｙ，１≦ｈ≦Ｙを満たす自然数である。また、Ｕ，ＶはＸ−ｇ≦Ｕ≦Ｘ，Ｙ−ｈ≦Ｖ≦Ｙを満たす。）
この評価関数は画素の差に基づいたものであり、最も小さいＭＡＥ値やＭＳＥ値を有する場合を現在のマクロブロックにおける最終的な動きベクトルとして選定する。
【００４６】
選定されたマクロブロックの動きベクトルは、該マクロブロックを符号化するための不図示の符号化装置における符号化処理に利用される。上記符号化装置はＭＰＥＧ２やＨ．２６４／ＭＰＥＧ４−ＡＶＣ等の動き補償予測符号化装置であって、本実施例の動きベクトル検出装置を包含或いは併設して構成されることによって、動きの大きい画像であっても高能率の圧縮符号化が行えるようになる。
【００４７】
ところで、上述した本実施例では、一つの現画像・参照画像に対して一つのグローバルベクトルを算出しているが、現画像・参照画像を複数のエリアに分割して各々のエリアに対してグローバルベクトル（ＧＲＶ）を算出し、画面内の複数のＧＲＶによってエリアごとに適切なサーチウィンドウを決定する構成をとることもできる。図１３は画像を４分割した場合の例である。図１３において、（１３−１）のエリアではグローバルベクトルは右上方向を指しているが、ＧＲＶが低かったため、マクロブロックを中心としてサーチウィンドウを設定している例である。一方、（１３−２）のエリアではＧＲＶが高くグローバルベクトルが右方向を指しているためサーチウィンドウをマクロブロックの右側におき、形状を図５（ｉｉｉ）に決定した例である。また、（１３−３）はＧＲＶが高くグローバルベクトルが左下方向を指しているためサーチウィンドウをマクロブロックの左下におき、形状を図５の（ｖ）に決定した例である。さらに、（１３−４）は、ＧＲＶが高くグローバルベクトルが右上方向を指しているためサーチウィンドウをマクロブロックの右上におき、形状を図５の（ｖ）に決定した場合である。このように画像を複数のエリアに分割して処理することによって、エリアごとの動きに追随したより確度の高い動きベクトルの検出が行えるようになる。これにより、画面の一部のみが大きく動いているようなシーン等に対しても効果的となる。
【００４８】
このように本実施例によれば、上述の構成により、現画像と参照画像との動きベクトルであるグローバルベクトルを求め、グローバルベクトルを用いて参照サーチウィンドウを設定することにより、現在のマクロブロックを参照サーチウィンドウの中心としたり、一つ前のローカル動きベクトルを用いて参照サーチウィンドウを設定する場合に比べ、大きな動きを有する画像に対しても適切な動きベクトルを検出することができる。従って、本実施例による動きベクトル検出装置を用いることにより、動きの大きい場面において動きベクトルを決定できず、イントラ符号化を行い、符号量が多くなる従来の動き補償符号化システムにおける問題を解決し、動き補償予測符号化効率を向上させることが可能になる。
【実施例２】
【００４９】
続いて本発明の第２の実施例に係る動きベクトル検出装置について説明する。実施例２に係る動きベクトル検出装置は、図１の動きベクトル検出装置におけるサーチウィンドウ位置・形状決定部１０４で閾値を２つ持っている点が実施例１の構成と異なる部分であり、その他に関しては実施例１と同じ構成及び機能を有する。従って、本実施例においては図１を用いて説明を行い、かつ同様の構成要素については重複する説明は省略する。
【００５０】
以下、図１１のフローチャートを併せて参照しながら、本実施例の動きベクトル検出装置の動作について説明する。
【００５１】
まず、グローバルベクトル決定までの処理（ステップＳ１０３、Ｓ１０５）については実施例１と同様である。
【００５２】
本実施例においては、次にステップＳ２０７においてグローバルベクトル信頼性判定部１０３が行う信頼性判定処理と、その結果に応じたサーチウィンドウの設定処理が実施例１と異なる。具体的にはステップＳ２０７においてグローバルベクトル信頼性判定部１０３が信頼性判定を行う際、閾値を複数用いる。そして、信頼値ＧＲＶと複数の閾値との関係に応じて、サーチウィンドウの位置・形状を変化させる。本実施例ではグローバルベクトル信頼性判定部１０３が２つの閾値Ｔｈ１、Ｔｈ２を用いて信頼性評価を行う場合を例に挙げて説明する。
【００５３】
この場合、グローバルベクトル信頼値ＧＲＶと閾値Ｔｈ１，Ｔｈ２とが取りうる関係は以下の３通りである。
【００５４】
【数３】
2007174202.tif 000005
【００５５】
そして、本実施例のグローバルベクトル信頼性判定部１０３は、数５の（i）、（ii）、（iii）の順に信頼性が落ちる、つまり（ii）の条件を満たす場合が最も信頼性が高いものと判定する。そして、その判定結果に応じてサーチウィンドウの位置と形状を変化させる（ステップＳ２０９、Ｓ２１１、Ｓ２１３）。
【００５６】
具体的には信頼性が最も高い場合（i）には、サーチウィンドウの位置はグローバルベクトルの指し示す位置とし、さらにはサーチウィンドウの形状もグローバルベクトルの指し示す方向に追随させたものに変化させる。次に信頼性が高い（ii）の場合は（i）の場合に比べ、グローバルベクトルの信頼性が落ちるため、サーチウィンドウの位置はグローバルベクトルの指し示す位置にずらすもののサーチウィンドウの形状は動きが無い状態で用いられる図５（i）のものとする。
【００５７】
また、（iii）の場合にはグローバルベクトルの信頼性がさらに落ちるため、サーチウィンドウの位置決めにグローバルベクトルを用いず、グローバルベクトルの代わりに動きベクトル保存部１０６から一つ前のローカル動きベクトルあるいは動きが無いことを意味するゼロ動きベクトル、その他、使用者が定義可能な任意の動きベクトルを用いてサーチウィンドウの位置を決定する。
【００５８】
本実施例ではゼロ動きベクトルを用いるものとし、マクロブロックの周辺部にサーチウィンドウを設定する。更にサーチウィンドウの形状も動きが無い状態で用いられる図５（i）のものとする。
【００５９】
図１２に、本実施例における、グローバルベクトルの信頼性に応じたサーチウィンドウ範囲の制御を模式的に示す。このように、本実施例においては、グローバルベクトルの信頼性によりサーチウィンドウの位置・形状の両方をグローバルベクトルにより変化させるか、サーチウィンドウの位置のみグローバルベクトルで変化させるか、サーチウィンドウの位置・形状をグローバルベクトルに依存させないかを決定する。
【００６０】
サーチウィンドウ位置・形状決定部１０４はグローバルベクトル信頼性判定部１０３から送信されてくるグローバルベクトルと、サーチウィンドウの位置・形状に応じて、参照フレーム／フィールド保存部１００、現在フレーム／フィールド保存部１０１から各々動きベクトル推定に必要な画像を取り出し、参照サーチウィンドウ保存バッファ１０７と現在マクロブロック保存バッファ１０８に送信する。
【００６１】
そして、動きベクトル探索部１０５は、実施例１において説明したようにして、マクロブロックの動きベクトルを検出し（ステップＳ１１３）、出力する。
【００６２】
本実施例ではグローバルベクトルとグローバルベクトル信頼値ＧＲＶを用いてサーチウィンドウの位置及び形状を決定していたが、上述の数３あるいは数４で求められる値のうち最小のものを信頼値として、ローカル動きベクトルとその信頼値ＬＲＶ（Ｌｏｃａｌ  Ｖｅｃｔｏｒ  Ｒｅｌｉａｂｌｅ  Ｖａｌｕｅ）を用いてサーチウィンドウの位置及び形状を決定してもよい。
【００６３】
以上説明したように本実施例によれば、グローバルベクトルの信頼度に応じてサーチウィンドウの大きさを制御するため、グローバルベクトルの信頼性が低い場合でもローカル動きベクトルを探索できる可能性を高めることができる。また、ローカル動きベクトル保存部１０６が不要となり、より簡便な構成を実現できる。
【００６４】
（他の実施形態）
上述の各実施例で説明した動きベクトル検出装置は、動き補償予測符号化装置に好適に適用することができ、結果として大きな動きを有する画像に対する圧縮率を向上させることが可能である。
【００６５】
上述の実施例においては、１つの機器から構成される動きベクトル検出装置についてのみ説明したが、同等の機能を複数の機器から構成されるシステムによって実現しても良い。
【００６６】
尚、前述した実施例の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いて当該プログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを実行することによって同等の機能が達成される場合も本発明に含む。
【００６７】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【００６８】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００６９】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【００７０】
有線／無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイル等、クライアントコンピュータ上で本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムデータファイル）を記憶し、接続のあったクライアントコンピュータにプログラムデータファイルをダウンロードする方法などが挙げられる。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに配置することも可能である。
【００７１】
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルを複数のユーザに対してダウンロードさせるサーバ装置も本発明に含む。
【００７２】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件を満たしたユーザに対して暗号化を解く鍵情報を、例えばインターネットを介してホームページからダウンロードさせることによって供給し、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００７３】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施例の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施例の機能が実現され得る。
【００７４】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施例の機能が実現され得る。
【図面の簡単な説明】
【００７５】
【図１】本発明の第１の実施例に係る動きベクトル検出装置の構成例を示すブロック図である。
【図２】従来の動きベクトル検出装置の構成例を示すブロック図である。
【図３】従来の動きベクトル検出装置の別の構成例を示すブロック図である。
【図４】本発明の第１の実施例に係る動きベクトル検出装置の動作を説明するフローチャートである。
【図５】設定可能なサーチウィンドウの形状を説明するための図である。
【図６】グローバルベクトルの水平方向・垂直方向の値に応じたサーチウィンドウの形状決定方法を説明するための図である。
【図７】第１の実施例におけるグローバルベクトルの信頼性に応じたサーチウィンドウ位置・形状の決定方法の一例である。
【図８】第１の実施例におけるグローバルベクトルの信頼性に応じたサーチウィンドウ位置・形状の決定方法を説明するための図である。
【図９】第１の実施例におけるグローバルベクトルの決定方法を説明するための図である。
【図１０】第１の実施例におけるグローバルベクトルの信頼性の判定方法を説明するための図である。
【図１１】本発明の第２の実施例に係る動きベクトル検出装置の動作を説明するフローチャートである。
【図１２】第２の実施例におけるグローバルベクトルの信頼性に応じたサーチウィンドウ位置・形状の決定方法を説明するための図である。
【図１３】第１の実施例における画像を複数のエリアに分割し各エリアに対してグローバルベクトル及びＧＲＶを求めた際のサーチウィンドウ位置・形状の決定方法を説明するための図である。
【符号の説明】
【００７６】
１００  現在フレーム／フィールド保存部
１０１  参照フレーム／フィールド保存部
１０２  グローバルベクトル決定部
１０３  グローバルベクトル信頼性判定部
１０４  サーチウィンドウ位置・形状決定部
１０５  動きベクトル探索部
１０６  動きベクトル保存部
１０７  サーチウィンドウ保存バッファ
１０８  現在マクロブロック保存バッファ
【図１】
2007174202.tif 000006
【図２】
2007174202.tif 000007
【図３】
2007174202.tif 000008
【図４】
2007174202.tif 000009
【図５】
2007174202.tif 000010
【図６】
2007174202.tif 000011
【図７】
2007174202.tif 000012
【図８】
2007174202.tif 000013
【図９】
2007174202.tif 000014
【図１０】
2007174202.tif 000015
【図１１】
2007174202.tif 000016
【図１２】
2007174202.tif 000017
【図１３】
2007174202.tif 000018