(57)【特許請求の範囲】
【請求項１】
符号化マクロブロックから参照マクロブロックまでの動きベクトルを決める動き推定方法であって、
（ａ'）前記参照マクロブロックが含まれるフレームの全てのマクロブロックによって構成される範囲を探索エリアとするとともに、この探索エリアの所定の位置のマクロブロックを最初の現選択マクロブロックとして選択するステップと、
（ａ）前記最初の現選択マクロブロックからの距離に基づいて、前記探索エリアを、前記最初の現選択マクロブロックからの距離の逆数である密度を有する複数のサブエリアに分割するステップと、
（ｂ）現選択マクロブロックとして選択されたマクロブロックから当該マクロブロックが含まれる前記サブエリアの密度に対応する距離だけ離れている複数のマクロブロックのうち、均等に配置された所定数のマクロブロックを近傍マクロブロックとして設定し、前記符号化マクロブロックと前記現選択マクロブロックとして選択されたマクロブロックとの間、前記符号化マクロブロックと前記近傍マクロブロックとして設定された各マクロブロックとの間で歪みをそれぞれ得るステップと、
（ｃ）前記ステップ（ｂ）により得られた複数の歪みのうち最小の歪みを求め、最小の歪みを有する前記近傍マクロブロックを前記現選択マクロブロックとして識別するステップと、
（ｄ）前記ステップ（ｂ）から（ｃ）を繰り返し、前記ステップ（ｃ）で識別される現選択マクロブロックのうち、最小の歪みを有する現選択マクロブロックを求めるステップと、
（ｅ’）前記ステップ（ｄ）で得られた最小の歪みを有する前記現選択マクロブロックが、最大の密度を有するサブエリアに位置するか否かを判別するステップと、
（ｅ）前記ステップ（ｅ’）で、前記ステップ（ｄ）で得られた前記最小の歪みを有する前記現選択マクロブロックが前記最大の密度を有しない前記サブエリアに位置すると判別されたとき、前記最小の歪みを有する現選択マクロブロックを中心として当該現選択マクロブロックが位置するサブエリアの密度に対応する距離により範囲を調整したエリアを前記探索エリアとして再定義するとともに、前記最小の歪みを有する現選択マクロブロックを前記最初の現選択マクロブロックとして再定義するステップと、
（ｆ）前記ステップ（ｅ’）で、前記ステップ（ｄ）で得られた前記最小の歪みを有する現選択マクロブロックが前記最大の密度を有するサブエリア中に位置すると判別されるまで、前記ステップ（ａ）から（ｅ）を繰り返すステップと、
（ｇ）前記ステップ（ｆ）で前記最大の密度を有するサブエリアに位置すると判別された前記最小の歪みを有する現選択マクロブロックを、前記参照マクロブロックとして識別するステップとを含むことを特徴とする、動き推定方法。
【請求項２】
前記符号化マクロブロックおよび前記参照マクロブロックは、異なるフレームに属することを特徴とする、請求項１記載の動き推定方法。
【請求項３】
前記歪みは、絶対距離の合計または平均２乗誤差であることを特徴とする、請求項１記載の動き推定方法。
【請求項４】
前記複数のサブエリアは、前記最初の現選択マクロブロックを中心とするリング状であることを特徴とする、請求項１記載の動き推定方法。
【請求項５】
前記サブエリアは、前記最初の現選択マクロブロックに近いほど、大きな密度を有することを特徴とする、請求項４記載の動き推定方法。
【請求項６】
符号化マクロブロックから参照マクロブロックまでの動きベクトルを決める動き推定方法であって、
（ａ'）前記参照マクロブロックが含まれるフレームの全てのマクロブロックによって構成される範囲を探索エリアとするとともに、この探索エリアの所定の位置のマクロブロックを最初の現選択マクロブロックとして選択するステップと、
（ａ）前記最初の現選択マクロブロックからの距離に基づいて、前記探索エリアを、前記最初の現選択マクロブロックからの距離Ｄmの逆数である密度１／Ｄmを有する複数のサブエリアに分割するステップと、
（ｂ）現選択マクロブロックとして選択された座標（Ｘ，Ｙ）に位置するマクロブロックに対して、座標（Ｘ＋Ｄm、Ｙ−Ｄm），（Ｘ＋Ｄm、Ｙ），（Ｘ＋Ｄm、Ｙ＋Ｄm），（Ｘ、Ｙ−Ｄm），（Ｘ、Ｙ＋Ｄm），（Ｘ−Ｄm、Ｙ−Ｄm），（Ｘ−Ｄm、Ｙ），（Ｘ−Ｄm、Ｙ＋Ｄm）に位置するマクロブロックを近傍マクロブロックとして設定し、前記符号化マクロブロックと前記現選択マクロブロックとして選択されたマクロブロックとの間、前記符号化マクロブロックと前記近傍マクロブロックとして設定された各マクロブロックとの間で歪みをそれぞれ得るステップと、
（ｃ）前記ステップ（ｃ）により得られた複数の歪みのうち最小の歪みを求め、最小の歪みを有する前記近傍マクロブロックを前記現選択マクロブロックとして識別するステップと、
（ｄ）前記ステップ（ｂ）から（ｃ）を繰り返し、前記ステップ（ｃ）で識別される現選択マクロブロックのうち、最小の歪みを有する現選択マクロブロックを求めるステップと、
（ｅ’）前記ステップ（ｄ）で得られた最小の歪みを有する前記現選択マクロブロックが、最大の密度を有するサブエリアに位置するか否かを判別するステップと、
（ｅ）前記ステツプ（ｅ’）で、前記ステップ（ｄ）で得られた前記最小の歪みを有する前記現選択マクロブロックが、前記最大の密度を有しない前記サブエリアに位置すると判別されたとき、前記最小の歪みを有する現選択マクロブロックを中心として当該現選択マクロブロックが位置するサブエリアの密度に対応する距離により範囲を調整したエリアを前記探索エリアとして再定義するとともに、各サブエリアが密度１／Ｄ1、……、１／Ｄpを有し、かつ、密度１／Ｄm'のサブエリアはＤ1＋…＋Ｄ(p-1)≦Ｄm'≦Ｄ1＋…＋Ｄpの範囲を有するように、その再定義した探索エリアを複数のサブエリアに分割するステップと、
（ｆ）前記ステツプ（ｅ’）で、前記ステップ（ｄ）で得られた前記最小の歪みを有する現選択マクロブロックが前記最大の密度を有するサブエリア中に位置すると判別されるまで、前記ステップ（ｂ）から（ｅ）を繰り返すステップと、
（ｇ）前記ステップ（ｆ）で前記最大の密度を有するサブエリアに位置すると判別された前記最小の歪みを有する現選択マクロブロックを、前記参照マクロブロックとして識別するステップとを含むことを特徴とする、動き推定方法。
【請求項７】
前記符号化マクロブロックおよび前記参照マクロブロックは、異なるフレームに属することを特徴とする、請求項６記載の動き推定方法。
【請求項８】
前記歪みは、絶対距離の合計または平均２乗誤差であることを特徴とする、請求項６記載の動き推定方法。
【請求項９】
前記複数のサブエリアは、前記最初の現選択マクロブロックを中心とするリング状であることを特徴とすることを特徴とする、請求項６記載の動き推定方法。
【請求項１０】
座標（ｘi，ｙi）に選択された前記最初の現選択マクロブロックを中心とする、密度１／Ｄm（１≦ｍ≦ｎ）を有する前記サブエリアが、座標（Ｘ、Ｙ）にあるマクロブロックを含み、
【数１】
0004035560.tif 000004
【数２】
0004035560.tif 000005
の数式を満たすことを特徴とする、請求項９記載の動き推定方法。
【請求項１１】
前記サブエリアは、前記最初の現選択マクロブロックに近いほど、大きな密度を有することを特徴とする、請求項９記載の動き推定方法。
【請求項１２】
前記ステップ（ｄ）で得られた前記最小の歪みを有する前記現選択マクロブロックの座標を（ｘc，ｙc）とし、当該現選択マクロブロックが位置する最大の密度を有しない前記サブエリアの密度を１／Ｄmとすると、前記ステツプ（ｅ）で、前記探索エリアは、ｘc−Ｄm≦Ｘ≦ｘc＋Ｄmおよびｙc−Ｄm≦Ｙ≦ｙc＋Ｄmの数式を満たす前記マクロブロック（Ｘ、Ｙ）を含むエリアとして再定義されることを特徴とする、請求項６記載の動き推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動き推定方法に関し、特に、参照マクロブロックを識別する動き推定のクモの巣状探索方法（spider web search method）に関する。
【背景技術】
【０００２】
ＭＰＥＧ（Motion Picture Expert Group）ビデオシーケンスは、一つまたはそれ以上のピクチャグループからなり、その各グループは、一つまたはそれ以上のＩ、ＰまたはＢのタイプからなる。イントラピクチャ（Intra-coded pictures）であるＩピクチャは、他のピクチャを参照せず、それ自身で符号化される。予測符号化ピクチャ（Predictive-coded pictures）であるＰピクチャは、過去の参照ピクチャからの情報を使用する。双方向予測符号化ピクチャ（bi-directionally predictive-coded pictures）であるＢピクチャは、過去または／および未来のピクチャからの情報を使用するか、過去および未来どちらのピクチャ情報も使用しない。
【０００３】
動き推定は、近傍ピクチャ間のイメージ部分の変位を推定する処理である。例えば、隣接するピクチャにおいて移動中のサッカーボールは、異なる位置に表示される。変位は、例えば現ピクチャと、過去または未来の参照ピクチャ中で対応する変位エリアにおけるボールなど、特定エリア間で最も適したものを与える動きベクトルにより示される。現ピクチャ中の特定エリアと、参照ピクチャ中で対応する変位エリアとの差異を残差という。
【０００４】
一般に、動きベクトルの推定に用いられる動き推定方法には、画素帰納的アルゴリズムおよびブロックマッチングアルゴリズムの二種類が知られている。画素帰納的技術は、近傍フレーム中の対応する画素からの各画素の変位を反復的に予測する。反対にブロックマッチングアルゴリズムは、ブロックごとのフレーム間の変位を推定して差異を最小化するベクトルを選択する。
【０００５】
従来のブロックマッチング処理は、現イメージを符号化して画素情報の同一サイズブロックへ分割する。ＭＰＥＧ１およびＭＰＥＧ２のビデオ圧縮標準では、例えば各画素がマクロブロックにグループ化される。そして、それはそれぞれ二つの色成分に対して輝度サンプルの１６×１６サンプル配列および一つの８×８ブロックのサンプルからなる。輝度サンプルの１６×１６配列は、圧縮方法の入力ブロックとしてよく使用される四つの８×８ブロックを含む。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
探索範囲内で現ブロックをそれぞれの候補ブロックと比べるブロックマッチングアルゴリズムはフル探索と言われる。一般に、より大きな探索範囲はより正確な変位ベクトルを形成する。しかし、フル探索の計算量は探索エリアの大きさに比例し、ある応用においては非常に遅かった。フル探索ブロックマッチングアルゴリズムは、一画素精度を有する±Ｎ画素の探索範囲を超える１６×１６の画素サイズのマクロブロック上に応用し、それは例えば（２×Ｎ＋１）2のブロック比較が必要である。Ｎ＝１６では、１０８９  １６×１６のブロック比較が必要である。なぜなら各ブロック比較は、１６×１６または２５６の計算が必要であるため、この方法では計算が集中して演算が遅かった。単に探索範囲の大きさを小さくする技術には、最適なマッチングブロックが見つけられないという大きな問題点があった。
【０００７】
その結果、広い探索範囲においてマッチングブロックを探す早いアルゴリズムが強く求められていた。最速の探索技術は、フル探索エリアの疎らなサンプルだけの変位を計算することにより速度を上げていた。２−Ｄ対数探索においては、例えば疎らな間隔の候補のＭＳＥを計算することにより計算量を減らして、前回の反復中において最良の候補を囲むより近い間隔の候補を探すことに成功していた。共役方向探索においては、アルゴリズムが最小歪みを見つけるまで水平方向に探索する。次に、そのポイントから進み、アルゴリズムは最小が見つかるまで垂直方向に探索する。それら両方の方法はフル探索よりも早いが、最適なマッチングボックスを見つけることに関してはよく失敗していた。
【０００８】
フル探索の欠点を克服する他の方法には階層別探索技術がある。第１段階では、例えば適当な大きさのエリアに粗い探索などを行う。従来の階層別探索では、続く段階において、探索エリアの大きさを縮小した。三段階の階層別探索の一例として、非特許文献１がある。非特許文献１で述べられている階層別探索は、粗い探索が全ての画素情報を使用しておらず、不正確な開始点を形成することから、ある応用に対しては不十分であった。
【０００９】
【非特許文献１】Ｈ．Ｍ．Ｊｏｎｇ  ｅｔ  ａｌ．「三段階階層別探索ブロックマッチングアルゴリズム」ＩＥＥＥ  Ｔｒａｎｓ、Circuits and Systems for Video Technology, Vol.4, August 1994, pp.407-416
【００１０】
本発明の目的は、クモの巣状探索方法により参照マクロブロックを識別する、スピーディーで効果的な動き推定方法を提供することにある。
【課題を解決するための手段】
【００１１】
本発明は、符号化マクロブロックから参照マクロブロックまでの動きベクトルを決める動き推定方法を提供し、その方法は次のステップを含む。（ａ'）参照マクロブロックが含まれるフレームの全てのマクロブロックによって構成される範囲を探索エリアとするとともに、この探索エリアの所定の位置のマクロブロックを最初の現選択マクロブロックとして選択するステップ。（ａ）最初の現選択マクロブロックからの距離に基づいて、探索エリアを、最初の現選択マクロブロックからの距離の逆数である密度を有する複数のサブエリアに分割するステップ。（ｂ）現選択マクロブロックとして選択されたマクロブロックから当該マクロブロックが含まれるサブエリアの密度に対応する距離だけ離れている複数のマクロブロックのうち、均等に配置された所定数のマクロブロックを近傍マクロブロックとして設定し、符号化マクロブロックと現選択マクロブロックとして選択されたマクロブロックとの間、符号化マクロブロックと近傍マクロブロックとして設定された各マクロブロックとの間で歪みをそれぞれ得るステップ。（ｃ）ステップ（ｂ）により得られた複数の歪みのうち最小の歪みを求め、最小の歪みを有する近傍マクロブロックを現選択マクロブロックとして識別するステップ。（ｄ）ステップ（ｂ）から（ｃ）を繰り返し、ステップ（ｃ）で識別されるのうち、最小の歪みを有する現選択マクロブロックを求めるステップ。（ｅ’）ステップ（ｄ）で得られた最小の歪みを有する現選択マクロブロックが、最大の密度を有するサブエリアに位置するか否かを判別するステップ。（ｅ）ステップ（ｅ’）で、ステップ（ｄ）で得られた最小の歪みを有する現選択マクロブロックが、最大の密度を有しないサブエリアに位置すると判別されたとき、最小の歪みを有する現選択マクロブロックを中心として当該現選択マクロブロックが位置するサブエリアの密度に対応する距離により範囲を調整したエリアを探索エリアとして再定義するとともに、最小の歪みを有する現選択マクロブロックを最初の現選択マクロブロックとして再定義するステップ。（ｆ）ステップ（ｅ’）で、ステップ（ｄ）で得られた最小の歪みを有する現選択マクロブロックが、最大の密度を有するサブエリア中に位置すると判別されるまでステップ（ａ）から（ｅ）を繰り返すステップ。（ｇ）ステップ（ｆ）で最大の密度を有するサブエリアに位置すると判別された最小の歪みを有する現選択マクロブロックを、参照マクロブロックとして識別するステップ。
【００１２】
本発明は、符号化マクロブロックから参照マクロブロックまでの動きベクトルを決める動き推定方法を提供し、その方法は次のステップを含む。（ａ’）参照マクロブロックが含まれるフレームの全てのマクロブロックによって構成される範囲を探索エリアとするとともに、この探索エリアの所定の位置のマクロブロックを最初の現選択マクロブロックとして選択するステップ。（ａ）最初の現選択マクロブロックからの距離に基づいて、探索エリアを、最初の現選択マクロブロックからの距離Ｄmの逆数である密度１／Ｄmを有する複数のサブエリアに分割するステップ。（ｂ）現選択マクロブロックとして選択された座標（Ｘ，Ｙ）に位置するマクロブロックに対して、座標（Ｘ＋Ｄm、Ｙ−Ｄm），（Ｘ＋Ｄm、Ｙ），（Ｘ＋Ｄm、Ｙ＋Ｄm），（Ｘ、Ｙ−Ｄm），（Ｘ、Ｙ＋Ｄm），（Ｘ−Ｄm、Ｙ−Ｄm），（Ｘ−Ｄm、Ｙ），（Ｘ−Ｄm、Ｙ＋Ｄm）に位置するマクロブロックを近傍マクロブロックとして設定し、符号化マクロブロックと現選択マクロブロックとして選択されたマクロブロックとの間、符号化マクロブロックと近傍マクロブロックとして設定された各マクロブロックとの間で歪みをそれぞれ得るステップ。（ｃ）ステップ（ｃ）により得られた複数の歪みのうち最小の歪みを求め、最小の歪みを有する近傍マクロブロックを現選択マクロブロックとして識別するステップ。（ｄ）ステップ（ｂ）から（ｃ）を繰り返し、ステップ（ｃ）で識別される現選択マクロブロックのうち、最小の歪みを有する現選択マクロブロックを求めるステップ。（ｅ’）ステップ（ｄ）で得られた最小の歪みを有する現選択マクロブロックが、最大の密度を有するサブエリアに位置するか否かを判別するステップ。（ｅ）ステップ（ｄ）で得られた最小の歪みを有する現選択マクロブロックが、最大の密度を有しないサブエリアに位置すると判別されたとき、最小の歪みを有する現選択マクロブロックを中心として当該現選択マクロブロックが位置するサブエリアの密度に対応する距離により範囲を調整したエリアを探索エリアとして再定義するとともに、各サブエリアが密度１／Ｄ1、……、１／Ｄp（１≦ｐ≦ｎ）を有し、かつ、密度１／Ｄm'のサブエリアはＤ1＋…＋Ｄ(p-1)≦Ｄm'≦Ｄ1＋…＋Ｄpの範囲を有するように、その再定義した探索エリアを複数のサブエリアに分割するステップ。（ｆ）ステツプ（ｅ’）で、ステップ（ｄ）で得られた最小の歪みを有する現選択マクロブロックが、最大の密度を有するサブエリア中に位置すると判別されるまでステップ（ｂ）から（ｅ）を繰り返すステップ。（ｇ）ステップ（ｆ）で最大の密度を有するサブエリアに位置すると判別された最小の歪みを有する現選択マクロブロックを、参照マクロブロックとして識別するステップ。
【発明の効果】
【００１３】
本発明は、クモの巣探索方法により参照マクロブロックを識別するスピーディーで効果的な動き推定を提供する。クモの巣状探索は、他の推定アルゴリズムへ容易に実施して応用することができ、圧縮品質を犠牲にすることなく、計算量をさらに下げることができる。
【発明を実施するための最良の形態】
【００１４】
図１は、本発明の一実施例による動き推定方法を示す流れ図である。動き推定の目的は、符号化マクロブロックから参照マクロブロックまでの動きベクトルを決定することである。符号化マクロブロックおよび参照マクロブロックは、異なる二つのフレームに属する。図１に示すステップは、図２から図１０に示す実施例を参照しながら以下説明する。
【００１５】
ステップＳ１０において、ｎ離散化密度１／Ｄ1〜１／Ｄnは、例えば１、１／２、１／３および１／４の四つの密度のように予め決められる。
【００１６】
ステップＳ１１において、探索エリアは先ずフレーム中で全てのマクロブロックから構成され、それはそれぞれ１／Ｄ1〜１／Ｄnの密度を有するサブエリアへ分割される。サブエリアは、最初に選択されたマクロブロック（ｘi、Ｙi）において、リング状および同心状であり、サブエリアの密度はマクロブロックの中心に近いほど高い。具体的にいうと、密度１／Ｄm（１≦ｍ≦ｎ）はマクロブロック（Ｘ、Ｙ）を含み、ＸおよびＹは次の数式による。
【００１７】
【数３】
0004035560.tif 000002
【００１８】
【数４】
0004035560.tif 000003
【００１９】
図２に示すように、探索エリアは２１×２１配列のマクロブロックであり、マクロブロック（０、０）が最初に選択される。探索エリアは、それぞれが１、１／２、１／３および１／４の密度を有するサブエリアへ分割されるため、例えば密度１／３を有するサブエリアは４≦Ｘ≦６または−４≧Ｘ≧−６、および４≦Ｙ≦６または−４≧Ｘ≧−６であるマクロブロック（Ｘ、Ｙ）を含む。ここで注意しなければならないことは、最初に選択されたマクロブロックは、符号化フレーム中の符号化マクロブロックと同じ参照フレーム中に位置することが好ましいことである。
【００２０】
ステップＳ１２において、符号化マクロブロックと現選択マクロブロックとの間、および符号化マクロブロックと現選択マクロブロックの近傍との間の歪みが得られる。近傍は、現選択マクロブロックが位置するサブエリアの密度により決定される。具体的にいうと、密度１／Ｄmを有するサブエリア中の現選択マクロブロック（Ｘ、Ｙ）の近傍は、（Ｘ＋Ｄm、Ｙ）、（Ｘ−Ｄm、Ｙ）、（Ｘ＋Ｄm、Ｙ−Ｄm）、（Ｘ、Ｙ−Ｄm）、（Ｘ−Ｄm、Ｙ−Ｄm）、（Ｘ＋Ｄm、Ｙ＋Ｄm）、（Ｘ、Ｙ＋Ｄm）および（Ｘ−Ｄm、Ｙ＋Ｄm）に位置する。図３に示すように、最初に選択されたマクロブロックおよびその近傍の歪みを得ることができる。最初に選択されたマクロブロックは、密度１を有するサブエリア中に位置するため、その近傍は（１、１）、（１、０）、（１、−１）、（０、１）、（０、−１）、（−１、１）、（−１、０）および（−１、−１）に位置する。各歪みは、絶対距離の合計または二つのマクロブロック間の平均２乗誤差であることが好ましい。
【００２１】
ステップＳ１３において、現選択マクロブロックと符号化マクロブロックとの間の歪みが最小かどうかを判断する。最小である場合、処理はステップＳ１５へ進み、最小でない場合はステップＳ１４へ進む。
【００２２】
ステップＳ１４において、最小歪みを有する近傍は、現選択マクロブロックとして識別される。そして、処理はステップＳ１２へ戻る。図３から図７は、ステップＳ１２からＳ１４の反復を示す。図４に示すように、近傍（−１、１）は、符号化マクロブロックの最小歪みを有するため、現選択マクロブロックとして識別される。新たに選択されたマクロブロック（−１、１）は、密度１を有するサブエリア中に依然として位置するため、その近傍は（−２、２）、（−２、１）、（−２、０）、（−１、２）、（−１、０）、（０、２）、（０、１）および（０、０）に位置する。続いて、図５に示すように、近傍（−２、０）は最小歪みを有するため、現選択マクロブロックとして識別される。新たに選択されたマクロブロック（−２、０）は、密度１／２を有するサブエリア中に位置するため、その近傍は（−４、２）、（−４、０）、（−４、−２）、（−２、２）、（−２、−２）、（０、２）、（０、０）および（０、−２）に位置する。
【００２３】
次に、図６に示すように、近傍（−４、０）は最小歪みを有するため、現選択マクロブロックとして識別される。新たに選択されたマクロブロック（−４、０）は、密度１／３を有するサブエリア中に位置するため、その近傍は（−７、３）、（−７、０）、（−７、−３）、（−４、３）、（−４、−３）、（−１、３）、（−１、０）および（−１、−３）に位置する。図７に示すように、マクロブロック（−４、０）の近傍中、マクロブロック（−７、−３）は最小歪みを有するため、現選択マクロブロックとして識別される。新たに選択されたマクロブロック（−７、−３）は、密度１／４を有するサブエリア中に位置するため、その近傍は（−７、１）、（−７、−７）、（−３、１）、（−３、−３）および（−３、−７）に位置する。ここで注意しなければならないことは、他のものが探索エリア外にあるためマクロブロック（−７、−３）は５個の近傍だけを有することである。
【００２４】
ステップＳ１５において、最小歪みを有する現選択マクロブロックが最大密度を有するサブエリア中に位置するかどうかを判断する。そうである場合、処理はステップＳ１７へ進み、そうでない場合はステップＳ１６へ進む。
【００２５】
ステップＳ１６において、探索エリアは、現選択マクロブロックが位置するサブエリアの密度により再定義されて再分割される。具体的には、現選択マクロブロック（ｘc、ｙc）が、密度１／Ｄmを有するサブエリア中に位置する場合、探索エリアはマクロブロック（Ｘ、Ｙ）、ｘc−Ｄm≦Ｘ≦ｘc＋Ｄmおよびｙc−Ｄm≦Ｙ≦ｙc＋Ｄmを含むエリアとして再定義される。新たに再定義された探索エリアは、ステップＳ１１と同じ方法により、密度１／Ｄ1〜１／Ｄp（１≦ｐ≦ｎ）、Ｄ1＋…＋Ｄ(p-1)≦Ｄm≦Ｄ1＋…＋Ｄpを有するサブエリアへ分割される。
【００２６】
図８に示すように、現選択マクロブロックが（−７、−３）へ位置し、密度１／４を有するサブエリア中において、探索エリアが再定義されてマクロブロック（Ｘ、Ｙ）、−１０≦Ｘ≦−３および−７≦Ｙ≦１を含む。ここで注意しなければならないことは、フレーム外側のエリア（−１１、Ｙ）は除外されることである。また、新たに定義された探索エリアは、１＋２≦４≦１＋２＋３であるため、１、１／２および１／３を有する三つのエリアに分割される。
【００２７】
その後、処理はステップＳ１２へ戻る。図９に示すように、現選択マクロブロック（−７、−３）は、密度１を有する新たなサブエリア中に位置するため、その近傍は（−８、−４）、（−８、−３）、（−８、−２）、（−７、−４）、（−７、−２）、（−６、−４）、（−６、−３）および（−６、−２）に位置する。図１０に示すように、マクロブロック（−７、−３）の近傍中で、マクロブロック（−６、−４）は、符号化マクロブロックの最小歪みを有するため、現選択マクロブロックとして識別される。最後にステップＳ１５において、マクロブロック（−６、−４）は最小歪みを有し最大密度１を有するサブエリア中に位置する。最後に、処理はステップＳ１７へ進む。
【００２８】
ステップＳ１７において、最小歪みを有するものと、最大密度を有するサブエリアに位置する現選択マクロブロックは、参照マクロブロックとして識別される。その結果、符号化マクロブロックの動きベクトルが決定される。
【００２９】
シミュレーションの結果から、クモの巣状ウェブ探索方法を各テストビデオシーケンスへ応用すると機能が向上することが分かっている。クモの巣状探索方法は、ダイアモンドまたは２Ｄログ探索方法と組み合わせることにより速度を向上することができる。また、クモの巣探索方法は、参照マクロブロックのためのチェックポイント数を減らすことにより、ＰＳＮＲ劣化のインパクトを最小にすることができる。
【００３０】
本発明では好適な実施形態を前述の通り開示したが、これらは決して本発明を限定するものではなく、当該技術を熟知するものなら誰でも、本発明の主旨とエリアを脱しない範囲内で各種の変動や潤色を加えることができる。従って本発明の保護の範囲は、特許請求の範囲で指定した内容を基準とする。
【図面の簡単な説明】
【００３１】
【図１】本発明の一実施例による動き推定方法を示す流れ図である。
【図２】図１の実施例を示す図で、２１×２１配列のマクロブロックからなる探索エリアに最初に選択されたマクロブロックを示す図である。
【図３】最初に選択されたマクロブロック（０，０）と密度１を有するサブエリア中の近傍のマクロブロックを示す図である。
【図４】現選択マクロブロック（０，０）の近傍のマクロブロックのうち、新たに選択される最小歪みを有するマクロブロック（−１，１）とそれに対する密度１を有するサブエリア中の近傍のマクロブロックを示す図である。
【図５】図４に示す近傍のマクロブロックのうち、新たに選択される最小歪みを有するマクロブロック（−２，０）とそれに対する密度１／２を有するサブエリア中の近傍のマクロブロックを示す図である。
【図６】図５に示す近傍のマクロブロックのうち、新たに選択される最小歪みを有するマクロブロック（−４，０）とそれに対する密度１／３を有するサブエリア中の近傍のマクロブロックを示す図である。
【図７】図６に示す近傍のマクロブロックのうち、新たに選択される最小歪みを有するマクロブロック（−７，−３）とそれに対する密度１／４を有するサブエリア中の近傍のマクロブロックを示す図である。
【図８】図７に示す現選択マクロブロック（−７，−３）に対して探索エリアが再定義される状態を示す図である。
【図９】現選択マクロブロック（−７，−３）と密度１を有するサブエリア中の近傍のマクロブロックを示す図である。
【図１０】現選択マクロブロック（−７，−３）の近傍のマクロブロックのうち、新たに選択される最小歪みを有するマクロブロック（−６，−４）とそれに対する密度１を有するサブエリア中の近傍のマクロブロックを示す図である。
【図１】
0004035560.tif 000006
【図２】
0004035560.tif 000007
【図３】
0004035560.tif 000008
【図４】
0004035560.tif 000009
【図５】
0004035560.tif 000010
【図６】
0004035560.tif 000011
【図７】
0004035560.tif 000012
【図８】
0004035560.tif 000013
【図９】
0004035560.tif 000014
【図１０】
0004035560.tif 000015