(57)【要約】【課題】ビデオフレームに対する効率的な動き推定方法及びビデオエンコーダを提供する。【解決手段】動き推定対象ビデオフレームをダウンサンプリングして低解像度のフレームを提供する段階と、低解像度フレームでブロック単位の動きベクトルを推定する段階と、前記ブロックをアップサンプリングして、高解像度フレームでブロック単位の動きベクトルを推定するための初期値を生成する段階と、を含むビデオフレームに対する動き推定方法。【選択図】図３
2005304005.tif 000002
【特許請求の範囲】
【請求項１】
（ａ）動き推定対象ビデオフレームをダウンサンプリングして低解像度のフレームを提供する段階と、
（ｂ）低解像度フレームでブロック単位の動きベクトルを推定する段階と、
（ｃ）前記ブロックをアップサンプリングして、高解像度フレームでブロック単位の動きベクトルを推定するための初期値を生成する段階と、を含むビデオフレームに対する動き推定方法。
【請求項２】
前記（ｃ）段階でアップサンプリングはメディアンフィルタリングにより行われる請求項１に記載の動き推定方法。
【請求項３】
前記（ｃ）段階で一つの初期値を生成する時、メディアンフィルターに前記動きベクトルのうち３個が入力される請求項２に記載の動き推定方法。
【請求項４】
前記初期値を利用して高解像度ブロックの動きベクトルを探索し、動きベクトルが探索されたブロックを所定の個数単位でダウンサンプリングして、同じ解像度のさらに大きいサイズブロック単位の動きベクトル探索のための初期値を生成する段階をさらに含む請求項１に記載の動き推定方法。
【請求項５】
前記高解像度の動きベクトルのうちインターフレームコーディングに使われる動きベクトルを選別する段階をさらに含む請求項４に記載の動き推定方法。
【請求項６】
請求項１ないし５のうちいずれか１項に記載の方法を実行するためのコンピュータ可読プログラムを記録した記録媒体。
【請求項７】
動き推定対象ビデオフレームをダウンサンプリングして低解像度のフレームを提供し、低解像度フレームでブロック単位の動きベクトルを推定し、前記ブロックをアップサンプリングして高解像度フレームでブロック単位の動きベクトルを推定するための初期値を生成し、該生成された初期値を利用して高解像度の動き推定を行う動き推定モジュールと、
前記動き推定モジュールにより推定された動きベクトルを利用して再構成された参照フレームを比較して、前記ビデオフレームに対する残余フレームを生成する比較モジュールと、を含むビデオエンコーダ。
【請求項８】
前記動き推定モジュールは、ビデオフレームそれぞれに対して低解像度フレームを生成する低解像度フレーム生成モジュールと、前記低解像度フレーム生成により生成された各解像度のビデオフレームに対してブロック単位で動きベクトルを探索する動きベクトル探索モジュールと、前記探索された動きベクトルをフィルタリングして他のブロックに対する動きベクトル探索に使われる初期値を設定する初期値設定モジュールと、を含む請求項７に記載のビデオエンコーダ。
【請求項９】
前記動き推定モジュールは、前記ビデオフレームをインターフレームコーディングする時に使用する動きベクトルを選別する選別モジュールをさらに含む請求項８に記載のビデオエンコーダ。
【請求項１０】
前記初期値設定モジュールは、初期値設定のためにメディアンフィルタリングを使用する請求項８に記載のビデオエンコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はビデオフレームに対する動き推定方法及びビデオエンコーダに関する。
【背景技術】
【０００２】
一般的に動画像は空間的相関性と時間的相関性とを同時に持つ。このように空間的及び時間的相関性を持つ動画像から空間的及び時間的重複性を除去する過程がビデオコーディングである。
【０００３】
ビデオコーディングで、空間的重複性は空間的変換過程を通じて除去し、時間的重複性は動き推定及び動き補償過程を通じて除去する。
【０００４】
現在知られた空間的変換の代表的なアルゴリズムに、離散コサイン変換（Ｄｉｓｃｒｅｔｅ Ｃｏｓｉｎｅ Ｔｒａｎｓｆｏｒｍ；以下、ＤＣＴ）と、ウェーブレット変換とがある。ＤＣＴは、イメージフレームの画像を周波数別に分解する。周波数が０である成分や低周波成分が、高周波成分に比べて重要な情報となる。ＤＣＴは、現在ＭＰＥＧ−２ビデオコーディングアルゴリズムとして採択されている。ウェーブレット変換は、イメージフレームを相異なる周波数帯域及び解像度を持つ複数の副帯域に分解する。すなわち、元来のイメージを１／４サイズに縮少した低周波サブバンド（Ｌサブバンド）と、高周波サブバンド（Ｈサブバンド）とに分解する。分解された低周波サブバンドはまた、１／４サイズに縮少した低周波サブバンド（ＬＬサブバンド）と、高周波サブバンド（ＬＨサブバンド）とに分解する。低周波サブバンド（ＬサブバンドまたはＬＬサブバンド）はサイズは小さいが、全体イメージフレームの大部分のエネルギーを含む。
【０００５】
動画像では時間的重複性が空間的重複性よりさらに大きい特性を持つ。時間的重複性はフレーム間コーディングを通じて除去できる。フレーム間コーディング方法は、連続フレーム間の動きを推定する動き推定過程、その推定された動き情報を利用した動き補償過程、及び動き補償されたフレームと現在フレーム間の差分フレームを求める過程で構成される。ビデオコーディングで動き推定方法としては、ブロック整合アルゴリズム（Ｂｌｏｃｋ Ｍａｔｃｈｉｎｇ Ａｌｇｏｒｉｔｈｍ；以下、ＢＭＡ）が使われる。ＢＭＡは簡単なアルゴリズムであって、ハードウェアで容易に具現できるが、動きに対する適切な探索領域及びブロックのサイズを決定し難く、一定のサイズのブロックに分けて動きを推定するために区画化現象が発生する短所がある。また、ＢＭＡで完全探索を行う場合に膨大な演算能力を必要とする。実際にビデオコーディングにおいて、動き推定過程は全体計算能力の７０〜８０％程度を占める程に多くの演算能力を必要とする。このような短所を回避するためにいろいろな方法が研究されているが、階層的動きベクトル探索方法がその中一つである。
【０００６】
階層的動きベクトル探索は、いろいろな解像度のピラミッド構造を持つ現在フレーム及び参照フレームを構成した後、最低解像度の動きベクトルを再調整して次第に高い解像度の動きベクトルを反復的に推定するアルゴリズムであって、現在のブロックを細部的に分けて分析しつつ最高解像度の動きベクトルを生成するアルゴリズムである。階層的動きベクトル探索は、ＢＭＡに比べて探索時間が短く、かつ低解像度で全域動きを推定し、高解像度で局部動きを推定してスムーズな動きベクトル長を作る特性を持つ。
【０００７】
従来の階層的動きベクトル探索方法は、最低解像度の基底帯域または最上位階層で推定した動きベクトルを下位階層の動きベクトル探索で初期値として使用するが、上位階層（または低解像度）で推定された動きベクトルに２を乗算するか、または同じ階層で推定された動きベクトルをそのまま使用する。階層的動きベクトル探索方法で、初期値は動きベクトル探索の演算量と密接な関係がある。これにより異なる解像度または同じ解像度で推定された動きベクトルを利用してさらに効率的に動き推定を行う方法が必要である。
【特許文献１】特開平８−２６５７７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は前述した必要性を満足させるためのものであり、本発明は異なる解像度または同じ解像度で推定された動きベクトルを利用した効率的な動き推定方法を提供することをその目的とする。
【０００９】
本発明はまた、異なる解像度または同じ解像度で推定された動きベクトルを利用した効率的な動き推定方法を利用したビデオエンコーダを提供することをその目的とする。
【課題を解決するための手段】
【００１０】
前記目的を達成するために、本発明の一実施例によるビデオフレームに対する動き推定方法は、動き推定対象ビデオフレームをダウンサンプリングして低解像度のフレームを提供する段階と、低解像度フレームでブロック単位の動きベクトルを推定する段階と、前記ブロックをアップサンプリングして、高解像度フレームでブロック単位の動きベクトルを推定するための初期値を生成する段階と、を含む。
【００１１】
前記目的を達成するために、本発明の一実施例によるビデオエンコーダは、動き推定対象ビデオフレームをダウンサンプリングして低解像度のフレームを提供し、低解像度フレームでブロック単位の動きベクトルを推定し、前記ブロックをアップサンプリングして高解像度フレームでブロック単位の動きベクトルを推定するための初期値を生成し、該生成された初期値を利用して高解像度の動き推定を行う動き推定モジュールと、前記動き推定モジュールにより推定された動きベクトルを利用して再構成された参照フレームを比較して、前記ビデオフレームに対する残余フレームを生成する比較モジュールと、を含む。
【発明の効果】
【００１２】
本発明によれば、インターフレームコーディングに使われる動きベクトルの初期値を適切に設定して動き推定に必要な演算量を減らしうる。
【発明を実施するための最良の形態】
【００１３】
以下、添付された図面を参照して本発明の実施例を詳細に説明する。
【００１４】
図１は、階層的動きベクトル探索過程を示すフローチャートである。
【００１５】
まず、現在フレーム及び参照フレームに対してピラミッド構造を持つ低解像度フレームを生成する（Ｓ１１０）。最下位階層には最高解像度の元来フレームを置き、元来フレームを低域通過フィルタリング（またはダウンサンプリング）してフレームの解像度の低い上位階層を生成し、低解像度フレームを生成する。このように解像度階層は元来フレームと低解像度フレームとで２階層であるが、３以上の階層になることもある。
【００１６】
低解像度フレームが生成されれば、まず最低解像度（最上位階層）の動きベクトル探索を行う。さらに詳細に説明すれば、最上位階層で一定のサイズ、例えば８×８サイズのブロック単位で動きベクトルを推定する（Ｓ１２０）。その後、ブロックを４個の４×４サイズの子ブロックに分離し、各子ブロックの動きベクトルを探索する（Ｓ１２２）。
【００１７】
最上位階層に対する動きベクトル探索が終われば、下位階層（ｎｅｘｔ ｌａｙｅｒ）に対して動きベクトル探索を行う。まず以前階層で推定された動きベクトルを基準に初期値を設定する（Ｓ１３０）。従来の初期値設定は、以前階層で推定された動きベクトルを２倍にする方式で行い、本発明の実施例による初期値設定については後述する。初期値設定が終われば、その設定された初期値を基準にあらゆるノードの動きベクトルを再調整する（Ｓ１３２）。再調整とは、低解像度で推定された動きベクトル値を高解像度で再び探索することを意味する。ノードとは、以前階層で分離された子ブロックに該当する現在階層のブロックを意味する。例えば、最上位階層での４Ｘ４ブロックに該当する現在階層での８Ｘ８ブロックを意味する。あらゆるノードに対する動きベクトル再調整が終われば、８Ｘ８サイズの各ノードを再び子ブロックに分離して動きベクトル探索を行う（Ｓ１３６）。子ブロックに対する動きベクトル探索のために先ず初期値設定（Ｓ１３４）を行うが、動きベクトル再調整により得たノードの動きベクトルを初期値として使用する。
【００１８】
現在階層に対する動きベクトル再調整及び子ブロックに対する動きベクトル探索が終わった後、現在階層より高解像度の下位階層があるならば高解像度の下位階層に対する動きベクトル探索を行う。すなわち、現在階層の子ブロックに該当する下位階層のノードに対する初期値を設定してノードの動きベクトルを再調整する過程を行う。その後、ノードを再び子ブロックに分離し、再調整された動きベクトルを初期値として子ブロックに対する動きベクトル探索を行う。
【００１９】
あらゆる階層に対する動きベクトル探索が終われば選別過程を行う（Ｓ１４０）。選別過程は、分離されたブロックを併合する過程を行って動きベクトルに割当てられたビットの量を減らす。
【００２０】
図２は、従来の可変ブロック動きベクトル探索過程を示す図面である。便宜上、二つの階層を基準に動き推定を行う場合を例として説明する。
【００２１】
第２階層は、原解像度の階層であって最高解像度を持つ階層であり、最上位階層は、最低解像度の階層であって第２階層をダウンサンプリングした階層である。
【００２２】
まず、最上位階層のフレームのブロック２１０に対する動きを推定する。動き推定は現在フレームのブロックと対応する参照フレームのブロック間の動きを求める過程である。すなわち、現在フレームのブロックに対応する参照フレームのブロックの位置を変えつつ、両ブロックの差をコーディングする時に最小のコストとなる位置を探す。このような過程を経てブロック２１０の動きベクトルを推定した後に４個のブロック２１２に分離し、その分離された各ブロック２１２に対する動きを探索する。
【００２３】
最上位階層の動きベクトル探索が終われば第２階層に対する動きベクトル探索を行う。まず、ブロック２２０は、ブロック２１０の動きベクトルに２を乗算した値を初期値として動きを再調整する。また、ブロック２２２は、ブロック２１２の動きベクトルに２を乗算した値を初期値として動きを再調整する。動き再調整が終われば、各ブロック２２２を４個のブロック２２４に分離した後、その分離されたブロック２２４の動きを探索する。この時、分離されたブロック２２４の動きベクトル探索に使われる初期値として、分離される前の各ブロック２２２の再調整された動きベクトルを使用する。
【００２４】
ブロック２２０と、ブロック２２０を分離して得たブロック２２２、２２４とに対する動きベクトルをいずれも求めれば、選別過程を経てインターコーディングに使われる可変ブロック２３０を決定する。
【００２５】
要約すれば、階層的動きベクトル探索は、いろいろな解像度の現在フレーム及び参照フレームを構成した後、最低解像度の動きベクトルを利用して段々高い解像度の動きベクトルを反復的に推定し、現在ブロックを細部的に分離しつつ最高解像度の動きベクトルを生成する。このような階層的動きベクトル探索の核心的過程は、再調整及び分離過程であるといえる。図２のように、従来の方式では再調整または分離過程で使用する初期値を設定する時、単純に上位階層の動きベクトルに２を乗算するか、または同一階層のベクトルを使用することによって効率的な動きベクトル探索を行えないこともあり、したがって、動きベクトルコーディングのためのビットが損失される恐れがある。
【００２６】
図３は、本発明の一実施例による可変ブロック動きベクトル探索過程を示す図面である。便宜上、二つの階層を基準に動き推定を行う場合を例として説明する。
【００２７】
第２階層は、原解像度の階層であって最高解像度を持つ階層であり、最上位階層は、最低解像度の階層であって第２階層をダウンサンプリングした階層である。
【００２８】
まず、最上位階層のフレームのブロック３１０に対する動きを推定する。動き推定は現在フレームのブロックと対応する参照フレームのブロック間の動きを求める過程である。すなわち、現在フレームのブロックに対応する参照フレームのブロックの位置を変えつつ、両ブロックの差をコーディングする時に最小のコストとなる位置を探す。このような過程を経てブロック３１０の動きベクトルを推定した後に４個のブロック３１２に分離し、その分離された各ブロック３１２に対する動きを探索する。
【００２９】
最上位階層の動きベクトル探索が終われば第２階層に対する動きベクトル探索を行う。第２階層の動きベクトル探索に使われる初期値は、アップサンプリング及びダウンサンプリング過程を通じて得る。ブロック３２４の初期値は、ブロック３１２をアップサンプリング（アップサンプリング２）して得られる。ブロック３２２の初期値は、ブロック３２４をダウンサンプリング（ダウンサンプリング２）して得てもよく、ブロック３１０をアップサンプリング（アップサンプリング１）して得てもよい。ブロック３２０の初期値は、ブロック３２２をダウンサンプリング（ダウンサンプリング１）して得られる。ブロック３２２の初期値は、アップサンプリング２からダウンサンプリング２を経て選択されてもよく、アップサンプリング１を通じて選択されてもよい。両方式の選択基準は、イメージテクスチャーの複雑度である。アップサンプリング及びダウンサンプリングについてのさらに詳細な説明は後述する。
【００３０】
初期値の設定されたブロック３２０、３２２、３２４に対する動きベクトルを再調整または推定した後、選別過程を経て原解像度のフレームに対する可変ブロック３３０の動きベクトルを決定する。選別過程は動きベクトル（またはブロック）の併合であると要約できるが、小さなブロックでコーディングする場合より大きいブロックでコーディングする場合がさらに有利な場合には、大きいブロックを基準にコーディングする。
【００３１】
図４は、本発明の一実施例によるアップサンプリング及びダウンサンプリング過程を示す図面である。アップサンプリング及びダウンサンプリングは公知のフィルターを使用して行える。例えば、メディアンフィルター、Ｂｉ−Ｃｕｂｉｃフィルター、Ｂｉ−ｌｉｎｅａｒフィルター、Ｑｕａｄｒａｔｉｃフィルターなどが使われうる。
【００３２】
低解像度の上位階層フレーム４１０をアップサンプリングすれば、高解像度の下位階層フレーム４２０となる。アップサンプリングを通じて上位階層のブロック毎に下位階層の４個のブロックに対する動きベクトル探索のための初期値を設定できる。初期値が設定されれば、動き探索を通じて下位階層の動きベクトルを決定する。メディアンフィルターを使用する場合を例として説明する。フレーム４１０のブロック４をアップサンプリングしてフレーム４２０のブロックａ、ｂ、ｃ、ｄを生成する時、各ブロックａ、ｂ、ｃ、ｄの動きベクトル（初期値）は数式１により決定できる。
【００３３】
【数１】
2005304005.tif 000003
【００３４】
ＭＶａ、ＭＶｂ、ＭＶｃ、ＭＶｄはそれぞれ子ブロックａ、ｂ、ｃ、ｄの動きベクトルであり、ＭＶ１、ＭＶ３、ＭＶ４、ＭＶ５、ＭＶ８はそれぞれブロック１、３、４、５、８の動きベクトルである。ｍｅｄｉａｎはメディアン関数であって、入力ベクトル値のうち中間値を出力する関数である。メディアン関数に乗算する２は、アップサンプリングにより解像度が高くなったために動きベクトルをスケーリングした値である。アップサンプリングされた子ブロックの動きベクトルを求める数式１は例示的なものであり、周辺ベクトルを利用してメディアンフィルターではない他のフィルターを使用する場合や、入力ベクトル値の数を別にする場合も本発明の技術的範囲に含まれると解釈せねばならない。
【００３５】
最低解像度の最上位階層フレーム４１０のブロック４から下位階層のフレーム４３０のブロックｅの動きを再調整する時は、アップサンプリング過程を経て生成された下位階層の４個のブロックａ、ｂ、ｃ、ｄをダウンサンプリングして得た動きベクトル値を初期値と設定する。ダウンサンプリングする時もメディアンフィルタリングを使用できる。しかし、４個の動きベクトルを入力されて一つの値を出力せねばならないために、メディアンフィルタリングを使用する時は中間値の二つの動きベクトル値のうち平均に近いベクトルを選択する。それ以外に、ダウンサンプリング方式で動きベクトルの平均を取ることもある。一方、ブロックの形態が正方形ではない長方形が支援される場合には、４個のブロックではない２個のブロックまたは６個あるいは８個のブロックをダウンサンプリングして一つの動きベクトルを求めることもある。
【００３６】
図５は、ビデオエンコーダの構成を示すブロック図である。
【００３７】
図５に図示されたビデオエンコーダは、閉ループ型ビデオエンコーダである。閉ループ型ビデオエンコーダは、インターフレームコーディング過程で入力された元来ビデオフレームではない既にコーディングされたフレームをデコーディングして再構成したフレームを参照する。これに対し、開ループ型ビデオエンコーダは、インターフレームコーディング過程で入力された元来ビデオフレームを参照する。閉ループ型ビデオエンコーダの性能が開ループ型ビデオエンコーダ性能より優秀であるが、一部のビデオコーディングアルゴリズム、例えば動き補償時間的フィルタリングのようなアルゴリズムは開ループ型のみを利用できる。本実施例では、閉ループ型ビデオエンコーダを基準に説明するが、それは例示的なものである。
【００３８】
まず、ビデオエンコーダにビデオ信号値入力されれば、イントラフレームにコーディングするか、またはインターフレームにコーディングするかを決定する。イントラフレームは他のフレームを参照せずにコーディングされるフレームを意味し、インターフレームは他のフレームを参照してコーディングされるフレームを意味する。
【００３９】
イントラフレームは、動き推定モジュール５１０を経ずに直ちに変換モジュール５４０と量子化モジュール５５０及びエントロピーエンコーダ５６０を経てコーディングされる。一方、量子化されたイントラフレームは逆量子化モジュール５７０及び逆変換モジュール５８０を経て再構成される。
【００４０】
インターフレームは、動き推定モジュール５１０を経て動きを推定する。動き推定モジュール５１０は、参照フレーム保存モジュール５９０に保存された参照フレーム及びインターフレームを入力されて可変サイズのブロック単位で動きを推定する。本発明は動き推定に係り、動き推定モジュールのさらに詳細な説明は図６を参照して説明する。動き補償モジュール５２０は、参照フレームの動きを補償してインターフレームと比較される参照フレームを再構成する。インターフレームは、比較モジュール５２２で再構成された参照フレームと比較されて残余フレームとなる。変換モジュール５４０は、残余フレームを変換アルゴリズムで変換させて空間的重複を除去する。変換アルゴリズムとしてＤＣＴが使われることもあるが、ウェーブレット変換が使われることもある。量子化モジュール５５０は、変換されたフレームを量子化して情報量を減少させる。一方、量子化されたフレームは、スキャニングを経て再配列されて１次元ビット列となり、エントロピーエンコーダ５６０を経て圧縮されて最終ビットストリームが生成される。
【００４１】
量子化されたイントラフレームまたはインターフレームは、再構成されて他のフレームの参照フレームとして使われる。量子化されたイントラフレームは、逆量子化モジュール５７０及び逆変換モジュール５８０を経て再構成される。量子化されたインターフレームは、逆量子化モジュール５７０及び逆変換モジュール５８０を経て残余フレームとなり、残余フレームは、動きが補償された参照フレームと、加算モジュール５２４で加算されて再構成される。動きが補償された参照フレームは、参照フレーム保存モジュール５９０に保存された参照フレームを動き補償モジュール５２０で動き補償して得るが、動きベクトルは、インターフレームコーディング過程で得た動きベクトルを利用する。再構成されたフレームは、参照フレーム保存モジュール５９０に保存して他のインターフレームをコーディングする時に参照する。
【００４２】
図６は、本発明の一実施例による動き推定モジュールの構成を示すブロック図である。
【００４３】
動き推定モジュール５１０は、現在フレーム及び参照フレームの低解像度フレームを生成する低解像度フレーム生成モジュール６１０と、現在フレームと参照フレーム間の動きベクトルを探索する動きベクトル探索モジュール６２０と、動き探索に使われる初期値設定モジュール６３０と、選別過程を通じて動きが推定される単位ブロックを決定する選別モジュール６４０と、を含む。
【００４４】
低解像度フレーム生成モジュール６１０は、現在フレーム及び参照フレームをそれぞれダウンサンプリングして低解像度のフレームを得る。解像度の段階は２段階でも、３段階以上でもよい。低解像度フレームが生成されれば、動きベクトル探索モジュール６２０は、最上位階層（最低解像度）のフレームと参照フレームとを比較して動きベクトルを推定する。推定された動きベクトルは、初期値設定モジュール６３０を経て前述した方式で初期値設定に使われる。設定された初期値で、動きベクトル探索モジュール６２０は下位階層に対する動き探索を行う。このような方式で最高解像度（元来解像度）の動きベクトル探索が終われば、選別モジュール６４０は、最小のビットで動きベクトルをコーディングできるようにブロックを併合する。このような方式で可変ブロック毎に得た動きベクトルは、動き補償モジュール５２０に伝達されて動き推定に使われる。また、動きベクトルは、エントロピーエンコーダ５６０に伝えられて最終生成されるビットストリームに含まれうる。
【００４５】
図５と図６の実施例で、‘モジュール’は、ソフトウェアまたはＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）または特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ；ＡＳＩＣ）のようなハードウェア構成要素を意味し、モジュールは所定の役割を行う。しかし、モジュールはソフトウェアまたはハードウェアに限定されるものではない。モジュールは、アドレッシング可能な保存媒体に存在すべく構成されても良く、１つまたはそれ以上のプロセッサーによって実行されるように構成されても良い。したがって、一例としてモジュールは、ソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素及びタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバー、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、及び変数を含む。構成要素とモジュールから提供される機能は、より少数の構成要素及びモジュールで結合されるか、追加的な構成要素とモジュールにさらに分離されうる。また、構成要素とモジュールは、通信システム内の１つまたはそれ以上のコンピュータによって動画像を再生させるように具現されることもある。
【００４６】
本発明が属する技術分野で当業者ならば本発明がその技術的思想や必須特徴を変更せずとも他の具体的な形に実施されうるということが理解できるであろう。したがって、前述した実施例はあらゆる面で例示的なものであり、限定的なものと理解してはならない。本発明の範囲は前述した詳細な説明よりは特許請求の範囲によって現れ、特許請求の範囲の意味及び範囲、そしてその均等概念から導かれるあらゆる変更または変形された形が本発明の範囲に含まれると解釈せねばならない。
【産業上の利用可能性】
【００４７】
本発明のビデオフレームに対する動き推定方法及びビデオエンコーダは、ビデオコーディング技術分野に好適に適用できる。
【図面の簡単な説明】
【００４８】
【図１】階層的動きベクトル探索過程を示すフローチャートである。
【図２】従来の可変ブロック動きベクトル探索過程を示す図面である。
【図３】本発明の一実施例による可変ブロック動きベクトル探索過程を示す図面である。
【図４】本発明の一実施例によるアップサンプリング及びダウンサンプリング過程を示す図面である。
【図５】ビデオエンコーダの構成を示すブロック図である。
【図６】本発明の一実施例による動き推定モジュールの構成を示すブロック図である。
【符号の説明】
【００４９】
３１０，３１２，３２０，３２２，３２４  ブロック
３３０  可変ブロック
【図１】
2005304005.tif 000004
【図２】
2005304005.tif 000005
【図３】
2005304005.tif 000006
【図４】
2005304005.tif 000007
【図５】
2005304005.tif 000008
【図６】
2005304005.tif 000009