(57)【要約】【課題】動画像符号化のための動き推定技術。【解決手段】本開示は動画像符号化技術とその技術を実行する動画像符号化装置を説明する。１つの実施形態において、本開示は、符号化されるべき現在の動画像ブロックに近接する動画像ブロックに対して過去に計算された動きベクトルに基づいて動きベクトル予測子を計算し、そして、現在の動画像ブロックを符号化するために使用される予測動画像ブロックを検索する際に該動きベクトル予測子を使用する、動き推定器、及び、符号化されるべき現在の動画像ブロックと該予測動画像ブロックとの間の相違の指標となる差分ブロックを生成する動き補償器、を具備する動画像符号化装置を説明する。【選択図】      図５
2008523724.tif 000002
【特許請求の範囲】
【請求項１】
動画像符号化装置であって、
符号化されるべき現在の動画像ブロックに近接する動画像ブロックに対して過去に計算された動きベクトルに基づいて動きベクトル予測子を計算し、そして、該現在の動画像ブロックを符号化するために使用される予測動画像ブロックを検索する際に該動きベクトル予測子を使用する、動き推定器、及び
符号化されるべき該現在の動画像ブロックと該予測動画像ブロックとの間の相違の指標となる差分ブロックを生成する動き補償器
を具備する動画像符号化装置。
【請求項２】
動き推定器は、様々な動きベクトルに関連付けられるコストを定量化する歪測度値を生成するために、該動きベクトル予測子を使用する、請求項１の動画像符号化装置。
【請求項３】
動き推定器は該歪測度値に重み因子を割り当てるためにプログラム可能であって、該重み因子は様々な動きベクトルを符号化するために必要とされるビット数の相対的重要性を定義する、請求項２の動画像符号化装置。
【請求項４】
動き推定器は、現在の動画像ブロックに近接する動画像ブロックに対して過去に計算された２つ以上の動きベクトルの中央値として、該動きベクトル予測子を計算する、請求項１の動画像符号化装置。
【請求項５】
動き推定器は、
現在の動画像ブロックに近接する動画像ブロックに対して利用可能な動きベクトルがない場合、０値として、
唯１つの過去に計算された動画像ブロックが利用可能な場合、現在の動画像ブロックに近接する１つの過去に計算された動画像ブロックの動きベクトルの値として、
唯２つの過去に計算された動画像ブロックが利用可能な場合、現在の動画像ブロックに近接する２つの過去に計算された動画像ブロックの中央値に基づく値として、及び
３つの過去に計算された動画像ブロックが利用可能な場合、現在の動画像ブロックに近接する３つの過去に計算された動画像ブロックの中央値に基づく値として
動きベクトル予測子を計算する、請求項１の動画像符号化装置。
【請求項６】
動き推定器は、現在の動画像ブロックを符号化するために使用される予測動画像ブロックに向かう動きベクトルを識別するために、複数のステージにおいて異なる複数の空間分解能で検索を実行する、請求項１の動画像符号化装置。
【請求項７】
動き推定器は少なくとも３つのステージにおいて異なる複数の空間分解能の検索を実行する、請求項６の動画像符号化装置。
【請求項８】
該動きベクトル予測子は、少なくとも１つのステージにおいて、検索を範囲限定する、請求項６の動画像符号化装置。
【請求項９】
予測動画像ブロックは最適予測を具備する、請求項１の動画像符号化装置。
【請求項１０】
動画像符号化装置であって、
現在の動画像ブロックを符号化するために使用される予測動画像ブロックに向かう動きベクトルを識別する動き推定器であって、様々な動きベクトルに関連付けられるデータ量に少なくとも部分的に依存する歪測度値を計算することを含む、動き推定器、及び
符号化されるべき該現在の動画像ブロックと該予測動画像ブロックとの間の相違の指標となる差分ブロックを生成する動き補償器
を具備する動画像符号化装置。
【請求項１１】
動き推定器は該歪測度値に重み因子を割り当てるためにプログラム可能であって、該重み因子は現在の動画像ブロックを符号化するために使用される予測動画像ブロックに向かう動きベクトルを識別するに際して様々な動きベクトルに関連付けられるデータ量の重要性を定義する、請求項１０の動画像符号化装置。
【請求項１２】
動き推定器は、現在の動画像ブロックを符号化するために使用される予測動画像ブロックに向かう動きベクトルを識別するために、複数のステージにおいて異なる複数の空間分解能で検索を実行する、請求項１０の動画像符号化装置。
【請求項１３】
動画像符号化装置は符号化されるべき現在の動画像ブロックに近接する動画像ブロックに対して過去に計算された動きベクトルに基づいて動きベクトル予測子を計算する、ここにおいて該動きベクトル予測子は少なくとも１つのステージで検索を範囲限定しそして歪測度値を計算するためにも使用される、請求項１０の動画像符号化装置。
【請求項１４】
符号化されるべき現在の動画像ブロックに近接する動画像ブロックに対して過去に計算された動きベクトルに基づいて動きベクトル予測子を計算すること、及び
現在の動画像ブロックを符号化するために使用される予測動画像ブロックを検索する際に該動きベクトル予測子を使用すること
を具備する方法。
【請求項１５】
符号化されるべき現在の動画像ブロックと予測動画像ブロックとの間の相違の指標となる差分ブロックを生成することをさらに具備する、請求項１４の方法。
【請求項１６】
現在の動画像ブロックを符号化するために使用される予測動画像ブロックに向かう動きベクトルを識別することを更に具備し、該動きベクトル予測値に少なくとも部分的に依存する歪測度値を計算することを含む、請求項１４の方法。
【請求項１７】
該歪測度値は様々な動きベクトルを符号化するために必要とされるビット数を定量化する、請求項１６の方法。
【請求項１８】
現在の動画像ブロックに近接する動画像ブロックに対して過去に計算された２つ以上の動きベクトルの中央値として動きベクトル予測子の値を計算することを更に具備する、請求項１４の方法。
【請求項１９】
現在の動画像ブロックに近接する動画像ブロックに対して利用可能な動きベクトルがない場合、０値として、
唯１つの過去に計算された動画像ブロックが利用可能な場合、現在の動画像ブロックに近接する１つの過去に計算された動画像ブロックの動きベクトルの値として、
唯２つの過去に計算された動画像ブロックが利用可能な場合、現在の動画像ブロックに近接する２つの過去に計算された動画像ブロックの中央値に基づく値として、及び
３つの過去に計算された動画像ブロックが利用可能な場合、現在の動画像ブロックに近接する３つの過去に計算された動画像ブロックの中央値に基づく値として
動きベクトル予測子の値を計算することを更に具備する、請求項１４の方法。
【請求項２０】
現在の動画像ブロックを符号化するために使用される予測動画像ブロックに向かう動きベクトルを識別するために、複数のステージにおいて異なる複数の空間分解能で検索を実行することを更に具備する、請求項１４の方法。
【請求項２１】
少なくとも３つのステージにおいて異なる複数の空間分解能の検索を実行することを更に具備する、請求項２０の方法。
【請求項２２】
動きベクトル予測子は、少なくとも１つのステージにおいて、検索を範囲限定することを更に具備する、請求項２０の方法。
【請求項２３】
歪測度値に重み因子をプログラムするために入力を受信することを更に具備し、該重み因子は現在の動画像ブロックを符号化するために使用される予測動画像ブロックに向かう動きベクトルを識別するに際して様々な動きベクトルに関連付けられるデータ量の重要性を定義する、請求項２２の方法。
【請求項２４】
様々な動きベクトルに関連付けられるデータ量に少なくとも部分的に依存する歪測度値を計算することを含み、現在の動画像ブロックを符号化するために使用される予測動画像ブロックに向かう動きベクトルを識別すること、及び
符号化されるべき現在の動画像ブロックと該予測動画像ブロックとの間の相違の指標となる差分ブロックを生成すること
を具備する方法。
【請求項２５】
歪測度値に重み因子をプログラムするために入力を受信することを更に具備し、該重み因子は現在の動画像ブロックを符号化するために使用される予測動画像ブロックに向かう動きベクトルを識別するに際して様々な動きベクトルに関連付けられるデータ量の重要性を定義する、請求項２４の方法。
【請求項２６】
現在の動画像ブロックを符号化するために使用される予測動画像ブロックに向かう動きベクトルを識別するために、複数のステージにおいて異なる複数の空間分解能で検索を実行することを更に具備する、請求項２４の方法。
【請求項２７】
該動きベクトル予測子の値は符号化されるべき現在の動画像ブロックに近接する動画像ブロックに対して過去に計算された動きベクトルに基づいて計算される、そしてここにおいて該動きベクトル予測子の値は少なくとも１つのステージで検索を範囲限定しそして歪測度値を計算するためにも使用される、請求項２６の方法。
【請求項２８】
コンピュータ可読命令を具備するコンピュータ可読媒体であって、実行される時、
符号化されるべき現在の動画像ブロックに近接する動画像ブロックに対して過去に計算された動きベクトルに基づいて動きベクトル予測子の値を計算する、及び
現在の動画像ブロックを符号化するために使用される予測動画像ブロックを検索するに際して該動きベクトル予測子の値を使用する
コンピュータ可読媒体。
【請求項２９】
請求項２８のコンピュータ可読媒体であって、該命令は現在の動画像ブロックに近接する動画像ブロックに対して過去に計算された２つ以上の動きベクトルの中央値として該動きベクトル予測子の値を計算する。
【請求項３０】
請求項２８のコンピュータ可読媒体であって、該命令は現在の動画像ブロックを符号化するために使用される予測動画像ブロックに向かう動きベクトルを識別するために、複数のステージにおいて異なる複数の空間分解能で検索を実行する、ここにおいて該動きベクトル予測子の値は少なくとも１つのステージにおいて検索を範囲限定する。
【請求項３１】
請求項２８のコンピュータ可読媒体であって、該命令は、動きベクトル予測値に少なくとも部分的に依存する歪測度値を計算することによって、現在の動画像ブロックを符号化するために使用される予測動画像ブロックに向かう動きベクトルを識別する。
【請求項３２】
コンピュータ可読命令を具備するコンピュータ可読媒体であって、実行される時、
様々な動きベクトルに関連付けられるデータ量に少なくとも部分的に依存する歪測度値を計算することを含み、現在の動画像ブロックを符号化するために使用される予測動画像ブロックに向かう動きベクトルを識別する、及び
符号化されるべき現在の動画像ブロックと予測動画像ブロックとの間の相違の指標となる差分ブロックを生成する
コンピュータ可読媒体。
【請求項３３】
該命令は歪測度値に重み因子をプログラムするために入力を受信し、該重み因子は現在の動画像ブロックを符号化するために使用される予測動画像ブロックに向かう動きベクトルを識別するに際して様々な動きベクトルに関連付けられるデータ量の重要性を定義する、請求項３２のコンピュータ可読媒体。
【請求項３４】
該命令は、現在の動画像ブロックを符号化するために使用される予測動画像ブロックに向かう動きベクトルを識別するために、複数のステージにおいて異なる複数の空間分解能で検索を実行する、ここにおいて、該動きベクトル予測子の値は符号化されるべき現在の動画像ブロックに近接する動画像ブロックに対して過去に計算された動きベクトルの値に基づいて計算される、そしてここにおいて、該動きベクトル予測子の値は少なくとも１つのステージにおいて検索を範囲限定する、請求項３２のコンピュータ可読媒体。
【請求項３５】
符号化されるべき現在の動画像ブロックに近接する動画像ブロックに対して過去に計算された動きベクトルに基づいて動きベクトル予測子の値を計算するための手段、及び
現在の動画像ブロックを符号化するために使用される予測動画像ブロックを検索するに際して該動きベクトル予測子の値を使用するための手段
を具備する装置。
【請求項３６】
該装置はディジタル信号処理装置を具備し、そして、該計算するための手段及び該識別するための手段は該ディジタル信号処理装置上で実行するソフトウェアを具備する、請求項３５の装置。
【請求項３７】
様々な動きベクトルに関連付けられるデータ量に少なくとも部分的に依存する歪測度値を計算するための手段を含み、現在の動画像ブロックを符号化するために使用される予測動画像ブロックに向かう動きベクトルを識別するための手段、及び
符号化されるべき現在の動画像ブロックと予測動画像ブロックとの間の相違の指標となる差分ブロックを生成するための手段
を具備する装置。
【請求項３８】
該装置はディジタル信号処理装置を具備し、そして、該識別するための手段及び該生成するための手段は該ディジタル信号処理装置上で実行するソフトウェアを具備する、請求項３７の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はディジタル動画像処理に係わり、そして特に、動画像系列の符号化に関する。
【背景技術】
【０００２】
ディジタル・ビデオ機能は、ディジタル・テレビ、ディジタル直接放送システム、無線通信装置、携帯情報端末（personal digital assistants）（ＰＤＡｓ）、ラップトップ・コンピュータ、デスクトップ・コンピュータ、ディジタルカメラ、ディジタル記録装置、セルラ又は衛星無線電話、及びこれ等のようなものを含む、広範囲の装置に組み込まれることが出来る。ディジタル・ビデオ装置はフル・モーション動画像系列を創り、修正、送信、記憶、記録、そして、再生するに際して、従来のアナログ・ビデオ・システムを凌駕する極めて重要な改良を提供することが出来る。
【０００３】
多くの様々な動画像符号化標準がディジタル動画像系列を符号化するために確立されてきた。動画像専門家グループ（Moving Picture Experts Group）（ＭＰＥＧ）は、例えば、ＭＰＥＧ−１、ＭＰＥＧ−２及びＭＰＥＧ−４を含む多くの標準を開発してきた。その他の標準は、国際電気通信連合（International Telecommunication Union）（ＩＴＵ）Ｈ．２６３標準、カリフォルニア州クパチーノのアップル・コンピュータ社によって開発されたクィックタイム（商標）（QuickTimeTM）技術、ワシントン州レドモンドのマイクロソフト社によって開発されたビデオ・フォー・ウィンドウズ（登録商標）（Video for Windows（登録商標））、インテル社によって開発されたインデオ（商標）（IndeoTM）、ワシントン州シアトルのリアルネットワークス社からのリアルビデオ（商標）（RealVideoTM）、及び、スーパーマック社によって開発されたシネパック（商標）（CinepakTM）、を含む。ＩＴＵ  Ｈ．２６４標準及び多数のプロプライエタリ標準を含む、新しい標準が出現しそして発展し続けている。
【０００４】
多くの動画像符号化標準は、圧縮法でデータを符号化することによって動画像系列の改良された情報伝達速度を考慮している。データ圧縮は、動画フレームの効率的な伝送のために送信されるべきデータの総量を軽減することが出来る。大半の動画像符号化標準は、圧縮技術を使用せずに達成されることが出来るよりも狭い帯域幅上での動画像および画像の伝送を容易にするために設計された、例えば、グラフィックス及び動画像圧縮技術を利用する。
【０００５】
ＭＰＥＧ標準およびＩＴＵ  Ｈ．２６３標準とＩＴＵ  Ｈ．２６４標準は、例えば、フレーム間圧縮を提供するために、時間的またはフレーム間相関と呼ばれる、連続する動画フレーム間の類似性を利用する動画像符号化技術をサポートする。フレーム間圧縮技術は、動画フレームの画素ベースの表示を動き表示に変更することによって、フレームを横断するデータの冗長性を活用する。更に、ある複数の動画像符号化技術は、動画フレームを更に圧縮するために、空間的またはフレーム内相関と呼ばれる、フレーム内部の類似性を利用することが出来る。
【０００６】
データ圧縮に対応するために、ディジタル・ビデオ装置はディジタル動画像系列を圧縮するための符号化器、及び、ディジタル動画像系列を解凍するための復号器を含む。多くの場合、符号化器と復号器は、動画像の系列を明示するフレーム内の画素のブロック上で働く、統合された符号化器／復号器（encoder/decoder）（ＣＯＤＥＣ）を形成する。ＭＰＥＧ−４標準では、例えば、符号化器は、一般的に、送信されるべき動画フレームを１６×１６画素配列を構成することが出来る“マクロブロック”と呼ばれる動画像ブロックに分割する。ＩＴＵ  Ｈ．２６４標準は１６×１６動画像ブロック、１６×８動画像ブロック、８×１６動画像ブロック、８×８動画像ブロック、８×４動画像ブロック、４×８動画像ブロック、および、４×４動画像ブロックをサポートする。
【０００７】
動画フレーム内の各動画像ブロックに対して、符号化器は、“最適予測”（“best prediction”）と呼ばれる、最も類似する動画像ブロックを識別するために、１又は複数の直前先行の動画フレーム（或いは後続のフレーム）に属する同一サイズの動画像ブロックを検索する。現在の動画像ブロックを他のフレームの動画像ブロックと比較するプロセスは一般に動き推定と呼ばれる。一旦ある動画像ブロックに対して“最適予測”が識別されると、符号化器は現在の動画像ブロックと最適予測との間の差分を符号化することが出来る。現在の動画像ブロックと最適予測との間の差分を符号化するこのプロセスは動き補償と呼ばれるプロセスを含む。動き補償は、符号化されるべき現在の動画像ブロックと最適予測との間の相違の指標となる、差分ブロックを作るプロセスを含む。動き補償は、通常、動きベクトルを用いて最適予測ブロックをフェッチし、次に、入力ブロックから該最適予測を減算して差分ブロックを生成する処理のことを呼ぶ。
【０００８】
動き補償が差分ブロックを作った後、一連の追加の符号化ステップが、一般的には、差分ブロックを符号化するために実行される。これ等の追加の符号化ステップは用いられる符号化標準に依存するといえる。ＭＰＥＧ４準拠の符号化器では、例えば、該追加の符号化ステップは８×８離散余弦変換を含むことが出来て、スカラー量子化によって引き継がれ、ラスター・スキャンからジグザグ・スキャンへの並べ替えによって引き継がれ、ラン・レングス符号化によって引き継がれ、ハフマン符号化によって引き継がれる。符号化された差分ブロックは、先行フレームから何れの動画像ブロックが符号化のために使用されたかを示す動きベクトルと共に送信されることが出来る。復号器は動きベクトルと符号化された差分ブロックを受信し、そして、動画像系列を再構成するために受信された情報を復号する。
【０００９】
符号化処理を簡素化しそして改良することは極めて望ましい。この目的のために、様々な符号化技術が開発されてきた。動き推定は動画像符号化において最も計算の集中する処理の１つであるから、動き推定に対する改良は動画像符号化処理の顕著な改良を提供することが出来る。
【発明の開示】
【００１０】
［概要］
本開示は動画像符号化を改良することが出来る多数の動き推定技術を説明する。特に、本開示は動きベクトル予測子（motion vector predictor）（ＭＶＰ）の様々な非従来的利用を提案する。該予測子は所望の動きベクトルの初期推定であり、そして、一般的には隣接動画像ブロックに対して先行して計算された動きベクトルに基づいて計算される。複数の技術において、本開示は動きベクトル予測子を用いる歪測度値の計算を提案する。該歪測度値は他の動きベクトルに相対的な本動きベクトルのコストを定量化する。その他の技術では、動きベクトル予測子は、現在の動画像ブロックを符号化するために使用される予測動画像ブロックの検索を範囲限定するのに使用されることが出来る。様々な他の技術もまた説明される、その例として、複数のステージにおける異なる複数の空間分解能での検索を使用する技術があり、その技術は著しい性能劣化を伴うことなく符号化処理を加速することが出来る。
【００１１】
1つの実施形態では、本開示は、符号化されるべき現在の動画像ブロックに近接する複数の動画像ブロックに対して過去に計算された動きベクトルに基づいて動きベクトル予測子を計算すること、及び、該現在の動画像ブロックを符号化するために使用される予測動画像ブロックを検索するに際して該動きベクトル予測子を使用すること、を具備する方法を説明する。
【００１２】
別の実施形態では、本開示は、異なる複数の動きベクトルと関連付けられるデータ量に少なくとも部分的に依存する歪測度値を計算することを含み、現在の動画像ブロックを符号化するために使用される予測動画像ブロックに向かう動きベクトルを識別すること、及び、符号化されるべき該現在の動画像ブロックと予測動画像ブロックとの間の相違の指標となる差分ブロックを生成すること、を具備する方法を説明する。
【００１３】
本明細書で説明される前記およびその他の技術は、ハードウェア、ソフトウェア、ファームウェア、或いはそれ等の任意の組合せにおいて、ディジタル・ビデオ装置中に実装されることが出来る。ソフトウェア中に実装される場合、本技術は、実効命令されると、本明細書で説明される１又は複数の符号化技術を実行する、プログラム・コードを具備するコンピュータ可読媒体に対して向けられることが出来る。様々な実施形態の付加的詳細は添付図面と下記の説明で説明される。その他の特徴、目的および利点は該説明と図面から、及び、請求項から、明らかになる。
【発明を実施するための最良の形態】
【００１４】
［詳細な説明］
本開示は動画像符号化を改良するために使用されることが出来る動き推定技術を説明する。本技術は、一般には、動き推定の全体プロセスとの関係において説明されるけれども、１又は複数の技術が様々なシナリオで個々に使用されることが出来ることが理解される。様々な態様で、本開示は動きベクトル予測子（ＭＶＰ）の多数の非従来的利用を提案する。該予測子は所望の動きベクトルの初期推定である。ＭＶＰは、一般的には、隣接動画像ブロックに対して過去に計算された動きベクトルに基づいて計算される、例えば、記録されてきた近隣動画像ブロックの動きベクトルの中央値として計算される。しかしながら、例えば、隣接動画像ブロックに対する動きベクトルの平均、或いは、おそらくは更に複雑な数学的関数のような、他の数学的関数がＭＶＰを計算するために代わりに利用されることができる。
【００１５】
1つの実施形態では、本開示はＭＶＰを使用する歪測度値の計算を提案する。歪測度値は他の動きベクトルに相対的な動きベクトルのコストを定量化する。かくして、従来技術が、現在の動画像ブロックと予測動画像ブロックとの間の差分に専ら基づいて、予測動画像ブロック、例えば、符号化されるべき現在の動画像ブロックに対する最適予測、を識別するのに対して、本開示は動きベクトルそれ自体が可変ビット長を有することが出来ることを認める。それ故、本開示に従えば、説明される動き推定技術は、現在の動画像ブロックと予測動画像ブロックとの間の差分に加えて、歪測度値を介して、動きベクトル自身のコストを明らかにすることが出来る。歪測度に対する数学的関数が定義されることが出来て、ＭＶＰは歪測度に対して定義された該数学的関数の１変数を具備する。
【００１６】
本開示は又予測動画像ブロックの検索を範囲限定するためにＭＶＰを使用することを提案する。例として、例え予備的検索が最適予測動画像ブロックの候補になるようなＭＶＰに対応する所在位置を識別しない場合でも、後の検索はそれにも拘らず、しばしば最適予測をもたらす所在位置のような、ＭＶＰに対応する所在位置中で実行されることが可能である。特に、検索は複数のステージにおいて異なる複数の空間分解能で実行されることが出来る、そしてその場合、ＭＶＰでの又はＭＶＰ周辺での検索は、先行する検索がＭＶＰと関連付けられるような所在位置を識別したかどうかに関わらず、最も精細な空間分解能で実行されることが出来る。下記に更に詳細に説明されるように、前記およびその他の技術は動画像符号化の著しい改良、特に処理電力が限定されており電力消費が関心事である小さなハンドヘルド装置において、著しい改良を可能にすることが出来る。
【００１７】
図１は、情報源装置１２が通信回線１５を介して受信装置１４に動画像データの符号化された系列を送信する実例としてのシステムを説明するブロック図である。情報源装置１２と受信装置１４は共にディジタル・ビデオ装置である。特に、情報源装置１２は、例えば、ＭＰＥＧ−４標準、ＩＴＵ  Ｈ．２６３標準、ＩＴＵ  Ｈ．２６４標準、或いは、動画像符号化において動き推定を利用する任意の様々なその他の標準、の様な動画像標準に準拠して動画像データを符号化する。システム１０の装置１２、１４の一方又は双方は、動画像符号化処理を改良するために、下記に更に詳細に説明されるように、動き推定技術を実行する。
【００１８】
通信回線１５は無線回線、物理伝送線、光ファイバ、ローカル・エリア・ネットワーク、広域ネットワーク、又は、インターネット、公衆電話交換回線網（public switched telephone network）（ＰＳＴＮ）のような全地球ネットワーク、のようなパケット・ベースのネットワーク、或いは、データ伝送が可能なその他任意の通信回線、を具備することが出来る。従って、通信回線１５は、動画像データを情報源装置１２から受信装置１４へ伝送するための、任意の適切な通信媒体、或いは、多分様々な通信網および回線の集合、を表す。
【００１９】
情報源装置１２は動画像データを符号化しそして送信することが出来る任意のディジタル・ビデオ装置であることが出来る。情報源装置１２は、ディジタル動画像系列を記憶するためのビデオ・メモリ１６、該系列を符号化するための動画像符号化器１８、及び、該符号化された系列を情報源装置１４に通信回線１５を介して送信するための送信機２０を含むことが出来る。動画像符号化器１８は、本明細書で説明されるように、動画像符号化技術を制御するためにプログラム可能なソフトウェア・モジュールを実行する、例えば、様々なハードウェア、ソフトウェア又はファームウェア、或いは１又は複数のディジタル信号処理装置（digital signal processor）（ＤＳＰ）、を含むことが出来る。関連するメモリとロジック回路群が動画像符号化技術を制御する際該ＤＳＰを支えるために供給されることが出来る。説明されるように、動画像符号化器１８は動きベクトル予測子（ＭＶＰ）を計算し、そして、該ＭＶＰを非従来的な方法で使用するように構成されることが出来る。
【００２０】
従来、多くの符号化標準は、動画像系列を送るのに要求される帯域幅を縮小するために、動きベクトルの伝送を特定化する。しかしながら、ある標準に従えば、動きベクトルを送ることよりもむしろ、動きベクトルと動きベクトル予測子（ＭＶＰ）との間の差分が更に優れた圧縮のために送信される。従って、従来、ＭＶＰが計算されるのは、動きベクトルとＭＶＰとの間の差分が送信されると動きベクトルと比較して帯域幅を縮小することが出来るためである。繰り返すと、このことが圧縮を改良するのは、動きベクトルとＭＶＰとの間の差分は一般的には動きベクトルそれ自体よりも少ないビット数で符号化されることが出来るためである。
【００２１】
本開示はＭＶＰの様々な付加的利用を認める。１例として、ＭＶＰは動きベクトル自身のコストを定量化する歪測度を計算するために使用されることが出来る。動きベクトル自身のコストを定量化する、歪測度の具体的な数学的関数は、ＭＶＰを該数学的関数の１変数として用いて、下記に与えられる。
【００２２】
別の例として、ＭＶＰは、予測動画像ブロック、例えば、符号化される所定の動画像ブロックに対する最適予測、を識別するプロセスを改良することが出来る、検索を範囲限定するために使用されることが出来る。具体的には、検索はＭＶＰの所在位置に或いはその近傍に限定されることが出来る。このことは、検索が異なる複数の空間分解能で実行される場合には、特に有用である。ＭＶＰの所在位置での或いはその周辺の検索は、例えば、過去の検索が該ＭＶＰの所在位置を、動き推定のための良い候補となる動画像ブロック（以下、候補動画像ブロック）の所在位置らしいとは、例え識別しなかった場合でも、検索ステージで実行されることが出来る。
【００２３】
情報源装置１２は、動画像系列を捕捉しそして該捕捉された系列をメモリ１６に記憶する、ビデオ・カメラのような、動画像捕捉装置２３を含むことも出来る。特に、動画像捕捉装置２３は、電荷結合素子（charge coupled device）（ＣＣＤ）、電荷注入素子、１連のフォトダイオード、相補性金属酸化膜半導体（complementary metal oxide semiconductor）（ＣＭＯＳ）素子、或いは動画像又はディジタル動画像系列を捕捉することが出来る任意の他の感光素子、を含むことが出来る。
【００２４】
更なる例として、動画像捕捉装置２３は、例えばテレビ、ビデオ・カセット・レコーダ、カムコーダ、或いは別のビデオ装置からの、アナログ動画像データをディジタル動画像データに変換する、ビデオ・コンバータであることが出来る。ある実施形態では、情報源装置１２は通信回線１５を介して実時間動画像系列を送信するために構成されることが出来る。その場合、受信装置１４は実時間動画像系列を受信し、そして、利用者に向けて該動画像系列を表示する。それに代わって、情報源装置１２は、動画像データ・ファイル、即ち実時間ではない、として受信装置１４に送られる動画像系列を捕捉しそして符号化することが出来る。かくして、情報源装置１２と受信装置１４は、例えば移動無線通信網における、ビデオ・クリップ再生、ビデオ・メール、或いはテレビ会議、のようなアプリケーションに対応することが出来る。装置１２と１４は図１に具体的には図示されてはいない様々な他の構成要素を含むことが出来る。
【００２５】
受信装置１４は動画像データを受信しそして復号できる任意のビデオ装置の形態を取ることが出来る。例えば、受信装置１４は、例えば中間回線、ルータ、その他の通信網装置、およびその様なものを介して、送信機２０から符号化されたディジタル動画像系列を受信するための受信機２２を含むことが出来る。受信装置１４は、又、該系列を復号するための動画像復号器２４、及び、利用者に向け該系列を表示するための表示装置２６を含むことが出来る。ある実施形態では、しかしながら、受信装置１４は組み込まれた表示装置１４を含まないことが出来る。その場合、受信装置１４は、例えばテレビやモニタのような、個別的表示装置を駆動するために、受信された動画像データを復号する受信機として働くことが出来る。
【００２６】
情報源装置１２と受信装置１４に対する実例の装置は、コンピュータ通信網上に置かれるサーバ、ワークステーション又は他のデスクトップ計算装置、及び、ラップトップ・コンピュータ或いは携帯情報端末（ＰＤＡ）のような移動計算装置、を含む。他の例は、ディジタル・テレビ放送衛星および受信装置を含み、該受信装置は例えば、ディジタル・テレビ、ディジタル・カメラ、ディジタル・ビデオ・カメラ又はその他のディジタル記録装置、動画像処理能力を有する携帯電話のようなディジタル・ビデオ電話、動画像処理能力のある他の無線ビデオ装置との直接双方向通信装置、及びその様なものがある。
【００２７】
ある場合、情報源装置１２と受信装置１４はそれぞれ、ディジタル動画像データを符号化及び復号化するための符号化器／復号器（ＣＯＤＥＣ）（図示されない）を含む。特に、情報源装置１２と受信装置１４は共に、メモリとディスプレイと同様に送信機と受信機を含むことが出来る。下記に概説される多くの符号化技術は、符号化器を含むディジタル・ビデオ装置との関係において説明される。しかしながら、符号化器はＣＯＤＥＣの一部を形成することができることが理解される。その場合、該ＣＯＤＥＣは、ハードウェア、ソフトウェア、ファームウェア、ＤＳＰ，マイクロプロセッサ、特定用途向け集積回路（application specific integrated circuit）（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（field programmable gate array）（ＦＰＧＡ）、個別ハードウェア部品、或いはこれ等の様々な組合せ、の内部で実装されることが出来る。
【００２８】
情報源装置１２内の動画像符号化器１８は、動画像データを符号化するために、一連の動画フレーム内の画素のブロック上で動作する。例えば、動画像符号化器１８は動き推定及技術び動き補償技術を実行することが出来て、該技術においては、送信されるべき動画フレームは（動画像ブロックと呼ばれる）画素のブロックに分割される。該動画像ブロックは、説明目的としては、任意のサイズのブロックを具備することが出来る、そして、所定の動画像系列の内部で変化することが出来る。一例として、ＩＴＵ  Ｈ．２６４標準は１６×１６動画像ブロック、１６×８動画像ブロック、８×１６動画像ブロック、８×８動画像ブロック、８×４動画像ブロック、４×８動画像ブロック、及び、４×４動画像ブロックをサポートする。動画像符号化においてより小さな動画像ブロックの使用は符号化においてより良い分解能を与えることが出来る、そして、より高度なレベルの詳細を含む動画フレームの配置に対して特別に使用されることが出来る。その上、動画像符号化器１８は４×４動画像ブロック上で動作し、そして、必要に応じて該４×４動画像ブロックからより大きな動画像ブロックを再構成するように設計されることが出来る。
【００２９】
動画像ブロック中の各画素は、色や輝度のような画素の視覚的特性を色差と輝度の値の中に定義するｎ−ビット、例えば８ビット、によって表されることが出来る。しかしながら、人間の視覚は色度よりも輝度の変化により敏感であるから、動き推定は、しばしば、輝度成分上で遂行される。従って、動き推定の目的のために、全ｎ−ビットの値は所定の画素に対する輝度を定量化することが出来る。本開示の原理は、しかしながら、画素の書式には限定されない、そして、より単純なより少数ビットの画素書式を用いる使用に対して、或いは、より複雑なより多数ビットの画素書式を用いる使用に対して、拡張されることが出来る。
【００３０】
動画フレーム中の各動画像ブロックに対して、情報源装置１２の動画像符号化器１８は、予測動画像ブロックと呼ばれる、類似した動画像ブロックを識別するために、１又は複数の既に送信された先行する動画フレーム（或いは後続の動画フレーム）に対してメモリ１６中に記憶された動画像ブロックを検索することによって動き推定を実行する。ある場合には、予測動画像ブロックは先行または後続動画フレームからの“最適予測”を構成することが出来る、尤も本開示はこの点に関しては限定されない。動画像符号化器１８は、符号化されるべき現在の動画像ブロックと最適予測との間の相違の指標となる、差分ブロックを作るために動き補償を実行する。動き補償は、通常、動きベクトルを用いて最適予測ブロックをフェッチし、次に、入力ブロックから該最適予測を減算して差分ブロックを生成する処理のことを呼ぶ。
【００３１】
動き補償が差分ブロックを作った後、一連の追加の符号化ステップが、一般的には、差分ブロックを符号化するために実行される。これ等の追加の符号化ステップは使用される符号化標準に依存するといえる。ＭＰＥＧ４準拠の符号化器では、例えば、該追加の符号化ステップは８×８離散余弦変換を含むことが出来て、スカラー量子化によって引き継がれ、ラスター・スキャンからジグザグ・スキャンへの並べ替えによって引き継がれ、ラン・レングス符号化によって引き継がれ、ハフマン符号化によって引き継がれる。
【００３２】
一旦符号化されると、符号化された差分ブロックは、符号化のために使用された先行フレーム（又は後続フレーム）から動画像ブロックを識別する動きベクトルと共に送信されることが出来る。この方式において、各フレームを独立した画像として符号化する代わりに、動画像符号化器１８は隣接フレームとの間の差分を符号化する。この様な技術は動画像系列の各フレームを正確に表すために必要とされるデータの総量を著しく縮小することが出来る。
【００３３】
動きベクトルは符号化される動画像ブロックの左上側の隅に相対的な画素の位置を定義する、尤も動きベクトルに対する他の書式が使用されることは可能である。何れにせよ、動きベクトルを用いて動画像ブロックを符号化することによって、動画像データの流れの伝送に要求される帯域幅は著しく縮小されることが出来る。
【００３４】
ある複数の場合において、動画像符号化器１８は、フレーム間符号化に加えて、フレーム内符号化をサポートすることが出来る。フレーム内符号化は、動画フレームを更に圧縮するために、空間的相関またはフレーム内相関と呼ばれる、フレーム内部の類似性を利用する。フレーム内圧縮は、一般的には、例えば離散的余弦変換（ＤＣＴ）符号化のような、静止画像を圧縮するためのテクスチャ符号化に基づく。フレーム内圧縮はしばしばフレーム間圧縮と共に使用されるが、ある実装においては代替として使用されることも出来る。
【００３５】
受信装置１４の受信機２２は、動きベクトル及び、符号化された動画像ブロックと動き推定で使用される最適予測との間の符号化された差を示す、符号化された差分ブロックの形式で、符号化された動画像データを受信することが出来る。ある場合では、しかしながら、動きベクトルを送るよりもむしろ、動きベクトルとＭＶＰとの間の差が送信される。何れにせよ、復号器２４は、表示装置２６を介して利用者に表示するための動画像系列を生成するために、動画像復号を実行する。受信装置１４の復号器２４は符号化器／復号器（ＣＯＤＥＣ）として実装されることも出来る。その場合、情報源装置１２と受信装置１４は共に、動画像系列を符号化し、送信し、受信し、そして、復号する能力を有することができる。
【００３６】
本開示に従って、動画像符号化器１８は、符号化されるべき現在の動画像ブロックのためにＭＶＰを計算するが、しかし、該ＭＶＰを１又は複数の非従来的方法で使用する。例えば、ＭＶＰは、動きベクトル自身のコストを明らかにすることを助けるために、該コストを定量化する歪測度値の計算を介して、使用されることが出来る。また、ＭＶＰは最適予測動画像ブロックの検索を範囲限定する或いは調整するために使用されることも出来る。
【００３７】
図２は、情報源装置１２に対応するといえる、装置３０の具体例のブロック図である。一般には、装置３０は、フレーム間動画像符号化のために、動き推定技術と動き補償技術を実行することが出来るディジタル・ビデオ装置を具備する。
【００３８】
図２に示されるように、装置３０は、動画像系列を符号化するための動画像符号化器３２、及び、符号化の前後で動画像系列を記憶するためのビデオ・メモリ３４を含む。装置３０はまた、該符号化された系列を別の装置に送信するための送信機３６、及び、恐らくは動画像系列を捕捉しそして該捕捉された系列をメモリ３４に記憶するための、例えばビデオ・カメラのような、動画像捕捉装置３８、も含むことが出来る。装置３０の様々な構成要素は通信バス３５を介して通信的に接続されることが出来る。例えば、フレーム間符号化素子、種々のフィルタ、或いはその他の構成要素のような、様々なその他の構成要素が装置３０に含まれることも可能であるが、しかし、簡明を期するために具体的には図示されてない。
【００３９】
ビデオ・メモリ３４は、一般的には、比較的大きなメモリ空間を具備する。ビデオ・メモリ３４は、例えば、ダイナミック・ランダム・アクセス・メモリ（dynamic random access memory）（ＤＲＡＭ）、或いは、フラッシュ・メモリ（FLASH memory）を具備することが出来る。その他の例では、ビデオ・メモリ３４は不揮発性メモリ或いは任意の他のデータ格納装置を具備できる。
【００４０】
動画像符号化器３２は動画像符号化を実行することが可能な装置の一部を形成することが出来る。１つの具体的な例として、動画像符号化器３２は無線電話のためのチップ・セットを具備することが出来て、ハードウェア、ソフトウェア、ファームウェア及び／又はプロセッサ又はディジタル信号処理装置（ＤＳＰ）のある組合せを含む。動画像符号化器３２はローカル・メモリ３７を含み、該メモリはビデオ・メモリ３４と比べてより小規模でより高速なメモリ空間を具備することが出来る。例として、ローカル・メモリ３７はシンクロナス・ランダム・アクセス・メモリ（synchronous random access memory）（ＳＲＡＭ）を具備することが出来る。ローカル・メモリ３７は、プロセッサの集中的な符号化処理の期間におけるデータへの非常に高速なアクセスに備えるために、動画像符号化器３２の他の構成要素と統合された“オンチップ”メモリを構成することが出来る。所定の動画フレームの符号化の期間中、符号化されるべき現在の動画像ブロックはビデオ・メモリ３４からローカル・メモリ３７へと読み出されることが出来る。最適予測を探索する際に使用される検索空間も又ビデオ・メモリ３４からローカル・メモリ３７へと読み出されることが出来る。
【００４１】
検索空間は１又は複数の先行動画フレーム（又は後続フレーム）の画素のサブセットからなることが出来る。選択されるサブセットは、符号化されるべき現在の動画像ブロックと密接に合致する最適予測の識別のための、可能性の高い所在位置として予め識別されることが出来る。その上、該検索空間は、もし異なる検索ステージが使用される場合、動き推定の粗さを切り替えることが出来る。その場合、検索空間は、該検索空間のサイズに関して次第に小さくなることが出来て、これ等後の検索は過去の検索よりも高い分解能で実行される。
【００４２】
ローカル・メモリ３７は、符号化されるべき現在の動画像ブロック及び、フレーム間符号化で使用される１又は複数の異なる動画フレームのあるもの又は全てからなる、検索空間を記憶させられる。動き推定器４０は最適予測を識別するために現在の動画像ブロックを検索空間中の様々な動画像ブロックと比較する。ある場合には、しかしながら、符号化のための適切な合致が、全ての可能な候補者を具体的に照合することなく、更に迅速に識別されることが出来る。その場合、適切な合致は、実効的な動画像符号化には適切ではあっても、実際には“最適”予測ではないことがあり得る。一般には、成句“予測動画像ブロック”は適切な合致のことを呼び、それは最適予測であり得る。
【００４３】
動き推定器４０は、符号化されるべき現在の動画像ブロックとメモリ３７の検索空間中の候補動画像ブロックとの比較を実行する。ある場合には、候補動画像ブロックは小数補間のために生成される非整数画素値を含むことが出来る。例として、動き推定器４０は、望まれるならば、累積絶対誤差（sum of absolute difference）（ＳＡＤ）技術、累積２乗誤差（sum of squared difference）（ＳＳＤ）技術、或いはその他の比較技術、を実行することが出来る。ＳＡＤ技術は、現在の動画像ブロックが比較される候補動画像ブロックの画素値を用いて、符号化されるべき現在の動画像ブロックの画素値との間の絶対差の計算を実行するタスクを含む。これ等の絶対差の計算結果は、現在の動画像ブロックと候補動画像ブロックとの間の相違の指標となる差分値を定義するために、合計される、即ち、累積される。８×８画素の画像ブロックに対しては、６４個の差が計算されそして合計されることが出来る。１６×１６画素の画像ブロックに対しては、２５６個の差が計算されそして合計されることが出来る。全計算結果の総合計は候補動画像ブロックに対する差分値を定義することが出来る。
【００４４】
より低い差分値は一般に、候補動画像ブロックがより良い合致であること、従って、より高い差分値、即ち、増大した歪、を与える他の候補動画像ブロックよりも動き推定符号化における使用のためのより良い候補であること、を示す。ある場合には、累積差分値が定められた閾値を超えて、或いは、例え他の候補動画像ブロックが未だ調べられてないにも拘らず、適切な合致が早期に識別されて、計算が終了させられることがあり得る。
【００４５】
ＳＳＤ技術も又、候補動画像ブロックの画素値を用いて符号化されるべき現在の動画像ブロックの画素値との間の、差計算を実行するタスクを含む。しかしながら、ＳＳＤ技術では、差計算の結果は２乗され、次に、２乗値は、現在の動画像ブロックと、現在のマクロ・ブロックが比較されている、候補動画像ブロックとの間の相違の指標となる差分値を定義するために、合計される、即ち、累積される。それに代わって、動き推定器４０は、例えば、平均２乗誤差（Mean Square Error）（ＭＳＥ）、正規化相互相関関数（Normalized Cross Correlation Function）（ＮＣＣＦ）、或いは別の適切な比較アルゴリズムを使用することが出来る。
【００４６】
結局、動き推定器は、符号化されるべき動画像ブロックに最も密接に合致する候補動画像ブロックである、“最適予測”を識別することが出来る。しかしながら、多くの場合、適切な合致が最適予測の前に所在を突き止められることが出来て、それ等の場合、該適切な合致が符号化のために使用されることが出来る。繰り返すが、予測動画像ブロックは適切な合致を指し、それは最適予測であり得る。
【００４７】
予測動画像ブロックを識別することに加えて、動き推定器４０は動きベクトル予測子（ＭＶＰ）を生成する。ある複数の動画像符号化標準は動きベクトルの伝送を更に圧縮するためにＭＶＰを利用する。それ等の場合、動きベクトルを送信するよりもむしろ、該標準は、圧縮を更に改良するために、動きベクトルとＭＶＰとの間の差分の伝送を要求することが出来る。本開示に従えば、しかしながら、ＭＶＰを利用する更なる技術が詳らかにされ、それは、動画像符号化を更に一層改良することが出来る。
【００４８】
特に、本開示はＭＶＰの多数の非従来的使用を提案する。ＭＶＰは一般的には隣接動画像ブロックに対して先行して計算された動きベクトルに基づいて計算される、例えば、記録されてきた隣接動画像ブロックの動きベクトルの中央値として、隣接動画像ブロックの動きベクトルの平均値として、或いは、符号化されるべき現在の動画像ブロックに近接する動画像ブロックの動きベクトルに基づいた別の数学的計算として。
【００４９】
１つの例では、歪測度値がＭＶＰを使用して計算される。特に、ＭＶＰは歪測度値を定量化する数学的関数の１変数であることが出来る。歪測度値は動きベクトルの、他の動きベクトルと比べた、コストを定量化する。かくして、従来技術が予測動画像ブロックを、例えば、符号化されるべき現在の動画像ブロックに対する最適予測を、専ら現在の動画像ブロックと予測動画像ブロックとの間の差分に基づいて、識別するのに対して、本開示は、動きベクトル自身は可変ビット長を有することが出来る、ということを認める。それ故、本開示に従えば、説明される動き推定技術は、現在の動画像ブロックと予測動画像ブロックとの間の差分に更に加えて、歪測度値を介して動きベクトル自身のコストを明らかにすることが出来る。歪測度は動きベクトルと関連付けられるデータ量に少なくとも部分的には依存する、従って、歪測度は複数の動きベクトルをそれ等と関連付けられるデータ量に基づいて区別するために使用されることが出来る。
【００５０】
本開示は又予測動画像ブロックの検索を範囲限定するためにＭＶＰを使用することを提案する。例えば、予備検索がＭＶＰに対応する所在位置を最適予測動画像ブロックの可能性のある候補として例え識別しなくても、後の検索はそれにも拘らずＭＶＰに対応する所在位置で（或いはＭＶＰの近傍で）実行されることが出来る。そのような所在位置はしばしば最適予測を与えるからである。特に、検索は複数のステージにおいて異なる複数の空間分解能で実行されることが出来て、その場合、ＭＶＰ周辺の検索は、先行する検索がＭＶＰと関連付けられるそのような所在位置を識別したかどうかに関わりなく、最精細の空間分解能で実行される。
【００５１】
一旦最適予測が動画像ブロックに対して動き推定器４０によって識別されると、動き補償器４２は現在の動画像ブロックと最適予測との間の相違の指標となる差分ブロックを作る。動画像ブロック符号化器４４は差分ブロックを圧縮するために更に差分ブロックを符号化することが出来る、そして、符号化された差分ブロックは、検索空間からの何れの候補動画像ブロックが符号化のために使用されたかを識別するための動きベクトル（又は、該動きベクトルとＭＶＰとの差）と共に、別の装置への伝送のために転送されることが出来る。単純化するため、動き補償の後で符号化を実行するために使用される付加的構成要素は差分ブロック符号化器４４として一般化される、というのは具体的な構成要素はサポートされる具体的標準次第で変わるからである。換言すると、差分ブロック符号化器４４は、本明細書で説明されたように生成される、差分ブロック上で１又は複数の通常の符号化技術を実行することが出来る。
【００５２】
動き推定は時々動画像符号化の最も重大な部分と呼ばれる。動き推定は、例えば、一般的には動画像符号化の任意の他のプロセスよりも大量の計算資源を必要とする。この理由のために、計算上の複雑さを低減することが出来、そして又、圧縮率の向上を助けることが出来る方法で動き推定を実行することは非常に望ましい。本明細書で説明される動き推定技術は、複数の空間分解能で検索を実行し、それによって一切精度を損なわずに計算の複雑さを低減する検索方式を利用することによって、これ等の目標を進めることが出来る。更に、動きベクトルを符号化するコストを含むコスト関数が提案される（歪測度）。動き推定器４０は又、動画像符号化の精度を改良するために検索空間の複数の候補所在位置を使用することが出来る、そして、複数の候補周りの検索領域はプログラム可能であることが出来て、従って、プロセスをフレーム・レートと画像サイズに従ってスケーラブルにする。最後に、動き推定器４０は多数の小さな正方ブロック、例えば４×４ブロック、に対してコスト関数を結合して、種々のより大きなブロック形、例えば４×８ブロック、８×４ブロック、８×８ブロック、８×１６ブロック、１６×８ブロック、１６×１６ブロック、等々、に対するコストを得ることが出来る。
【００５３】
多くの動作と計算に対して、動きベクトル予測子（ＭＶＰ）は該動き予測子から離れる動きベクトルに対してコスト因子を加えるために使用される。ＭＶＰは、複数ステージ検索の特に高分解能ステージにおいて、検索を範囲限定するために使用されることが出来る、付加的な初期動きベクトルを提供することも出来る。
【００５４】
図３は具体例の動き推定器４０Ａのブロック図であり、それは図２の動き推定器４０に対応するといえる。一般に、動き推定器４０は、ハードウェア、ソフトウェア、ファームウェア、１又は複数のプロセッサ又はディジタル信号処理装置（ＤＳＰ）、或いはこれ等の任意の組合せ、として実装されることが出来る。図３の例では、動き推定器４０ＡはＤＳＰ上で実行するソフトウェア・モジュール５１、５２、５３を具備する。図示のように、動き推定器４０Ａは、ＭＶＰを計算する、ＭＶＰ計算モジュール５１を含む。例えば、ＭＶＰ計算モジュール５１は、符号化されるべき現在の動画像ブロック近傍の動画像ブロックに対して過去に計算された、２個以上の動きベクトルの中央値としてＭＶＰを計算することが出来る。更に具体的な例として、ＭＶＰ計算モジュール５１はＭＶＰを、現在の動画像ブロック近傍の動画像ブロックに対して利用可能な動きベクトルがない場合、０値として計算することが出来る；過去に計算された動画像ブロックが唯１個だけ利用可能な場合、現在の動画像ブロック近傍の１個の過去に計算された動画像ブロックの動きベクトルの値として計算することが出来る；過去に計算された動画像ブロックが２個だけ利用可能な場合、現在の動画像ブロック近傍の２個の過去に計算された動画像ブロックの中央値に基づく値として計算することが出来る；或いは、３個の過去に計算された動画像ブロックが利用可能な場合、現在の動画像ブロック近傍の３個の過去に計算された動画像ブロックの中央値に基づく値として計算することが出来る。
【００５５】
動き推定器４０Ａは検索モジュール５２も含む。検索モジュール５２は、一般に、符号化されるべき現在の動画像ブロックを検索空間中の、例えばローカル・メモリ３７（図２）に記憶された、様々な候補動画像ブロックと比較するために検索を実行する。ある場合には、複数の検索が分解能を向上させるレベルで実行されることが出来る。
【００５６】
動き推定器４０Ａは、本明細書で概説されるように、歪測度を生成するための歪測度計算モジュール５３も含む。歪測度計算モジュール５３は、例えば、様々な動きベクトルと関連付けられるコストを定量化する歪測度値を生成するためにＭＶＰを利用する。歪測度計算モジュール５３は歪測度値に重み因子を割り当てるためにプログラム可能であることも出来る。該重み因子は様々な動きベクトルを符号化するために必要とされるビット数の相対的な重要性を定義する。これは符号化されるべき系列のフレーム数またはフレーム・レートに基づくスケーラビリティを可能にすることが出来る。歪測度値は、そのようなスケーラビリティを容易にするために、様々な動きベクトルを符号化するために必要とされるビット数を定量化する。
【００５７】
図４は具体例の動き推定器４０Ｂのブロック図であって、それは図２の動き推定器４０に対応するといえる。図４の動き推定器４０は図３の動き推定器４０Ａに非常に良く似ているといえる。例えば、動き推定器４０Ｂは本明細書で説明されるようなＭＶＰを計算するためのＭＶＰ計算モジュール６１、及び、本明細書で概説されるような歪測度を生成するための歪測度計算モジュール６３、を含むことができる。
【００５８】
図４の動き推定器４０Ｂは、しかしながら、現在の動画像ブロックを符号化するために使用される予測動画像に向かう動きベクトルを識別するために、複数のステージにおいて異なる複数の空間分解能で検索を実行する。本例では、動き推定器４０Ｂは３つのステージにおいて異なる複数の空間分解能で検索をそれぞれ実行する、検索ステージ１（６５）、検索ステージ２（６６）、検索ステージ３（６７）を含む。検索ステージ１（６５）は低分解能で比較的大きな検索空間上の検索、例えば４画素毎の検索、を実行できる。検索ステージ２（６６）は第１検索の結果を使用することが出来て、良い結果をもたらした第１検索空間の領域周辺のより小さな検索空間に範囲限定し、そして、中間的な分解能での追加の検索、例えば１画素おきの検索、を実行する。検索ステージ３（６７）は第２検索の結果を使用することが出来て、良い結果をもたらした第２検索空間の領域周辺の更により小さな検索空間を範囲限定し、そして、高い分解能での追加の検索、例えば、１画素毎或いは可能性として小数画素分解能での検索、を実行する。その上、ある場合には、ステージ２又はステージ１が良い符号化のための有力な候補であるとしてＭＶＰ周辺の領域を識別したかどうかに関係なく、ＭＶＰがステージ３（６７）での検索を範囲限定するために使用されることが出来る。
【００５９】
図２を更に一般的に再び参照すると、動き推定器４０は２つの上部の近隣マクロブロックの動きベクトルを供給することが出来る、そして、該動きベクトルの番号、即ち、０、１、又は２、を示すことも出来る。一般には、動き推定器４０は、現在のブロックの上部のマクロブロックと同様に直ぐ左隣のマクロブロックの動きベクトルの値にアクセスすることが出来る、というのは、これ等の動きベクトルは過去に計算されることが出来たからである。対照的に、直ぐ右隣のマクロブロックの動きベクトル及び現在のブロックの下方のマクロブロックの動きベクトルは、一般的には、利用可能ではない。もし計算が異なる方向に実行されるならば、しかしながら、利用可能な動きベクトルは異なることがあり得る。
【００６０】
整数動き推定の場合、動き推定器４０は左マクロブロックの動きベクトルに対して整数値を有する、そして、それは１６×１６ブロック形の動きベクトルを使用する。小数動き推定の場合、動き推定器４０は、右１６×８ブロック又は上８×１６ブロック又は右上８×８ブロック何れかの動きベクトル、或いは、１６×１６ブロックの動きベクトル、に対して小数値を使用する（小数値動き推定のためにどのブロック形が検索されているか次第である）。
【００６１】
ＭＶＰ、動きベクトル予測子、を計算するために下記の手順が使用される。本例では、ＭＶＰは３つの隣接マクロブロックの動きベクトルから計算される。
【００６２】
ＭＶＰ＝０、利用可能な隣接動きベクトルがない場合。
【００６３】
ＭＶＰ＝１つの利用可能なＭＶ、１つの隣接動きベクトルが利用可能な場合。
【００６４】
ＭＶＰ＝ｍｅｄｉａｎ（２ＭＶｓ，０）、２つの隣接動きベクトルが利用可能な場合。
【００６５】
ＭＶＰ＝ｍｅｄｉａｎ（３ＭＶｓ）、３つの隣接動きベクトルが全て利用可能な場合。
【００６６】
図５は、動き推定への３ステージのアプローチを説明する図である。領域７１Ａと７１Ｂは理論的な最大検索領域に対応する。領域７３Ａ、７３Ｂ、７３Ｃと７３Ｄは実際に要求される検索領域を構成する、そして、領域７５Ａ、７５Ｂ、７５Ｃと７５Ｄは検索点格子を構成する。ステージ１、２及び３は、上述で説明されたＭＶＰ計算モジュールの１つに対応する、ＭＶＰ計算７９に従い、図５においてラベルで分けられる。下記の説明は、図５を参照して、実行上の具体的な実施形態を説明し、本開示の範囲を限定することは意味されない。
【００６７】
例として、図５のステージ１では、最大ブロック形１６×１６のための最適動きベクトルに対する全面的な或いは完全な検索が１／４領域（各方向４だけアンダーサンプリングされる）で実行されることが出来る。これは実際にアンダーサンプリングされるブロックの大きさが４×４であることを意味する。検索は完全であるから、このステージは出発点あるいは初期候補を全く必要としない。
【００６８】
検索範囲は検索領域、即ち、選択された参照フレームにおける輝度サンプルの領域、を決定する。何れかの方向での完全サンプルにおいて±３２の検索範囲を使用することが望ましいことがある。これは検索領域を、最大ブロック・サイズ１６×１６に対して、ディメンション６４＋１６＝８０のサンプルの平方にさせる。アンダーサンプリングされる領域での検索範囲は従って１７×１７（各方向±８）である。
【００６９】
第１ステージ（ステージ１）では、検索領域は、アンダーサンプリングのために、ディメンション２０サンプルの平方に対応することができる。検索領域を限定するサンプルは、記憶されたディメンション８０の平方をサブサンプリングすることによって、即ち、４本毎の線で４サンプル毎に読み出すことによって、得られることが出来る。
【００７０】
下記の式は、ステージ１のために、歪測度、Ｄ、を計算するために使用されることが出来る。この歪測度は何れの動きベクトル候補、ＭＶ、に対しても計算され、ステージ１における全ての候補を横断して最小化される。
【数１】
2008523724.tif 000003
【００７１】
上式で、ｓｉｊ、ｐｉｊはそれぞれ現在の入力ブロックのサンプル及び１／４アンダーサンプリングされた領域における検索領域から得られた予測ブロックである。ＭＶ＝｛ＭＶｘ，ＭＶｙ｝は現在の動きベクトル候補を１／４アンダーサンプリングされた領域で定義する。λは、所望のレート−歪性能を得るために調整される又はプログラムされることが出来る動きベクトルのコスト因子である。従って、λをプログラムすることによって、動き推定器は具体的なレートあるいはフレーム・サイズにおいて性能目標を念頭において限定されることが出来る。ＭＶＰ＝｛ＭＶＰｘ，ＭＶＰｙ｝は動きベクトル予測子である。
【００７２】
ステージ２に進む前に、上述のメトリック（metric）を最小化した後に得られる、最適動きベクトル、ＭＶ＊＝｛ＭＶｘ＊，ＭＶｙ＊｝が下記のように変換される。
【００７３】
ＭＶＩ＝｛２ＭＶｘ＊−ＵＩ，２ＭＶｙ＊−ＵＩ｝
上式で、ＭＶＩはステージ２への入力であり、ＵＩは（動き推定器から転送される）０又は１の何れかに等しいオフセットである。
【００７４】
ステージ２では、（各方向−３から４まで）８×８の範囲の検索が、再度１６×１６の最大ブロック形の上で、（各方向２だけアンダーサンプリングされる）１／２領域において実行される。これは実際のアンダーサンプリングされたブロック・サイズは８×８であることを意味する。更に、ステージ２の検索がステージ１の最適動きベクトルの周辺、即ちＭＶＩ上、で実行される。複数の検索がステージ２で実行されることも出来る、例えば、２以上の適切な動きベクトルがステージ１で識別された場合である。ステージ２では、検索領域はディメンション１５の平方（８×８ブロックに対する８×８検索範囲）であることが出来る。検索領域を範囲限定するサンプルは、記憶されたディメンション８０の平方をサブサンプリングすることによって、即ち、２本毎の線で２サンプル毎に読み出すことによって、得られることが出来る。
【００７５】
そこで下記の式は、ステージ２に対する歪測度、Ｄ、を計算するために使用されることが出来る。該歪測度は何れの動きベクトル候補、ＭＶ、に対しても再び計算され、そして、ステージ２に対する全ての候補を横断して最小化される。
【数２】
2008523724.tif 000004
【００７６】
上式で、ｓｉｊ、ｐｉｊはそれぞれ現在の入力ブロックのサンプル及び１／２アンダーサンプリングされた領域における検索領域から得られた予測ブロックである。ＭＶ＝｛ＭＶｘ，ＭＶｙ｝は１／２アンダーサンプリングされた領域における現在の動きベクトル候補である。
【００７７】
ステージ３では、上述のメトリックを最小化した後に得られるステージ２からの最適動きベクトル、ＭＶ＊＊＝｛ＭＶｘ＊＊，ＭＶｙ＊＊｝、が下記のように変換される。
【００７８】
ＭＶＩＩ＝｛２ＭＶｘ＊＊−ＵＩＩ，２ＭＶｙ＊＊−ＵＩＩ｝
上式で、ＭＶＩＩは次ステージへの入力であり、ＵＩＩは０又は１の何れかに等しいオフセットである。再び、しかしながら、複数の検索がステージ３で実行されることも出来る、例えば、２以上の適切な動きベクトルがステージ２で識別された場合である。
【００７９】
ステージ３では、検索は２つの初期動きベクトル周辺で、その１つは上述で説明されたように検索され計算されるステージ２の最適動きベクトル周辺で、即ちＭＶＩＩ上で、実行される。そして、他はＭＶＰ−｛ＵＩＩＩ，ＵＩＩＩ｝（ここで、ＵＩＩＩは動き推定器から転送される０又は１何れかに等しいオフセットである）。換言すれば、ＭＶＰは、検索空間の領域がステージ１又は２の間に識別されるかどうかに関わらず、ステージ３での検索を範囲限定するために使用される。具体的には、検索空間の領域がステージ１又は２の間に識別されるかどうかに関わらず、ステージ３の検索はＭＶＰに或いはその周辺に限定されることが出来る。
【００８０】
ステージ３では検索は標準的にサンプルされた整数分解能領域で実行される。従って、最大ブロック・サイズは、１６×１６のブロック形状に対応して、１６×１６である。ステージ３の期間中、動き推定器４０（図２）は様々な形状のブロック、例えば１６×８ブロック、８×１６ブロック、８×８ブロック等々、に対する最適動きベクトル及び歪メトリックを計算しそしてそれ等を追跡することも出来る。１つの例では、動き推定器４０はステージ３の期間中９個の動きベクトルと９個の歪メトリックを追跡する。
【００８１】
検索範囲は、プログラムされることが可能な、何れかの初期動きベクトルの周辺の４×４（−２から＋１まで）或いは８×８（−３から＋４まで）の何れかであることができる。全検索領域、即ちディメンション８０の平方、はローカル・メモリ中で利用可能であり、もしサブサンプリングがなければ、検索はこれらのローカルに記憶されたサンプル上で直接実行されることが出来る。
【００８２】
次に下記の式は、あらゆるブロック形状の全てのブロックに対して、歪測度、Ｄ、を計算するために使用されることが出来る、そして、これ等は何れの動きベクトル候補、ＭＶ、に対しても計算される量であり、そして、全ての候補を横断して最小化される。
【数３】
2008523724.tif 000005
【００８３】
上式で、ｓｉｊ、ｐｉｊはそれぞれ現在の入力ブロックのサンプル及び検索領域から得られた予測ブロックである。ＭＶ＝｛ＭＶｘ，ＭＶｙ｝は１／２アンダーサンプリングされた領域における現在の動きベクトル候補である。
【００８４】
多数の様々な実施形態が説明された。本技術は動き推定を改良することによって動画像符号化を改良する能力を持つことが出来る。本技術はハードウェア、ソフトウェア、ファームウェア、或いはそれ等の任意の組合せ中に実装されることが出来る。ソフトウェア中に実装される場合、本技術は、動画像系列を符号化する装置において実効命令されると、上記に記載された１又は複数の方法を実行する、プログラム・コードを具備するコンピュータ可読媒体に対して向けられることが出来る。その場合、該コンピュータ可読媒体は、例えば、シンクロナス・ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ）、読出し専用メモリ（ＲＯＭ）、不揮発性ランダム・アクセス・メモリ（ＮＶＲＡＭ）、電気的消去可能プログラム可能読み出し専用メモリ（electrically erasable programmable read-only memory）（ＥＥＰＲＯＭ）、フラッシュ・メモリ、及び同様なメモリのような、ランダム・アクセス・メモリ（ＲＡＭ）を具備することが出来る。
【００８５】
プログラム・コードはコンピュータ可読命令の形式でメモリ上に記憶されることが出来る。その場合、ＤＳＰのようなプロセッサは、本明細書中で説明された１又は複数の技術を遂行するために、メモリ中に記憶された命令を実行することが出来る。ある場合には、本技術は、符号化処理を加速する動き推定器のような様々なハードウェア構成要素を発動するＤＳＰによって実行されることが出来る。他の場合には、動画像符号化器はマイクロプロセッサとして、１又は複数の特定用途向け集積回路（ＡＳＩＣ）として、１又は複数のフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）として、或いは、何か他のハードウェア−ソフトウェアの組合せとして、実装されることが出来る。これ等およびその他の実施形態は下記の請求項の範囲内である。
【図面の簡単な説明】
【００８６】
【図１】図１は、情報源ディジタル・ビデオ装置が動画像データの符号化された系列を受信ディジタル・ビデオ装置に送信する実例的なシステムを説明するブロック図である。
【図２】図２は本開示の実施形態に従うディジタル・ビデオ装置の具体例のブロック図である。
【図３】図３は図２で説明されたディジタル・ビデオ装置において使用されることが出来る具体例の動き推定器のブロック図である。
【図４】図４は図２で説明されたディジタル・ビデオ装置において使用されることが出来る具体例の動き推定器のブロック図である。
【図５】図５は、検索が本開示の実施形態に従い複数のステージにおいて異なる複数の空間分解能で実行される、本開示に準じた技術を説明する図である。
【符号の説明】
【００８７】
１０…システム、１５…通信回線、３０…情報源装置１２に対応する具体例の装置、３５…通信バス、ＭＶＰ…動きベクトル予測子。
【図１】
2008523724.tif 000006
【図２】
2008523724.tif 000007
【図３】
2008523724.tif 000008
【図４】
2008523724.tif 000009
【図５】
2008523724.tif 000010
【国際調査報告】
2008523724.tif 000011
2008523724.tif 000012
2008523724.tif 000013
2008523724.tif 000014
2008523724.tif 000015