(57)【要約】【課題】ビデオ・エンコーディングのための非整数ピクセルの共用。【解決手段】本明細書は、ビデオ・エンコーディング技術及びそのような技術を実行するビデオ・エンコーディング装置を説明する。１実施形態では、本明細書は、映像推定のために非整数ピクセル値を発生する映像推定器、少なくとも３個の整数ピクセル値の入力を受信するフィルタを含む映像推定器、を具備するビデオ・エンコーディング装置を説明する。ビデオ・エンコーディング装置は、しかも、映像推定器によって発生された非整数ピクセル値を記憶するメモリ、及び映像補正のために記憶された非整数ピクセル値を使用する映像補正器、も含む。【選択図】図１
2006129436.tif 000002
【特許請求の範囲】
【請求項１】
映像推定のために非整数ピクセル値を発生する映像推定器、１方向補間のために少なくとも３個の整数ピクセル値の入力を受信するフィルタを含む映像推定器；
映像推定器によって発生された非整数ピクセル値を記憶するメモリ；及び
映像補正のために記憶された非整数ピクセル値を使用する映像補正器、
を具備する、ビデオ・エンコーディング装置。
【請求項２】
非整数ピクセル値は、１／２ピクセル値を具備し、
映像推定器は、映像補正のために１／４ピクセル値を記憶することなく、映像推定のために１／２ピクセル値を使用して１／４ピクセル値を発生する；及び
映像補正器は、映像補正のために１／２ピクセル値を使用して１／４ピクセル値を再発生する、
請求項１の装置。
【請求項３】
映像推定器は、映像推定及び映像補正のために１／２ピクセル値を発生するための６−タップ・フィルタ、及び映像推定のために１／４ピクセル値を発生する２−タップ・フィルタを含む；及び
映像補正器は、映像補正のために１／４ピクセル値を再発生するための他の１個の２−タップ・フィルタを含む、
請求項２の装置。
【請求項４】
映像推定器は、水平及び垂直補間のために映像推定及び映像補正のための１／２ピクセル値を発生する２個の６−タップ・フィルタ、及び水平及び垂直補間のために映像推定のための１／４ピクセル値を発生する１個の２−タップ・フィルタを含む；及び
映像補正器は、水平及び垂直補間のために映像補正のための１／４ピクセル値を再発生する他の１個の２−タップ・フィルタを含む、
請求項２の装置。
【請求項５】
装置は、ＩＴＵ  Ｈ．２６４ビデオ・エンコーディング標準に準拠し、６−タップ・フィルタ及び２−タップ・フィルタに対するタップ加重は、ＩＴＵ  Ｈ．２６４ビデオ・エンコーディング標準よって指定される、請求項４の装置。
【請求項６】
映像推定器は、記憶された非整数ピクセル値に基づいて映像推定のために追加の非整数ピクセル値を発生する第２のフィルタを含む、請求項１の装置。
【請求項７】
映像推定器は、映像補正のために追加の非整数ピクセル値を記憶することなく、映像推定のために追加の非整数ピクセル値を発生する、及び映像補正器は、映像補正のために追加の非整数ピクセル値を再発生するための第３のフィルタを含む、請求項６の装置。
【請求項８】
装置は、４ピクセル×４ピクセル・ビデオ・ブロックに映像推定及び映像補正を実行する、請求項１の装置。
【請求項９】
装置は、４ピクセル×４ピクセル・サブビデオ・ブロックより大きなビデオ・ブロックに対する差異行列及び映像ベクトルを発生するためにパイプライン方式で映像推定及び映像補正を実行する、請求項８の装置。
【請求項１０】
装置は、ディジタル・テレビ、ワイアレス通信装置、パーソナル・ディジタル・アシスタント、ラップトップ・コンピュータ、デスクトップ・コンピュータ、ディジタル・カメラ、ディジタル記録装置、ビデオ能力を有するセルラ無線電話機、及びビデオ能力を有する衛星無線電話機の少なくとも１を含む、請求項１の装置。
【請求項１１】
メモリは、ローカル・チップ搭載メモリを具備し、装置は、バスを介してローカル・チップ搭載メモリに電気的に接続されたチップ外ビデオ・メモリをさらに具備する、請求項１の装置。
【請求項１２】
映像推定器及び映像補正器によってエンコードされたビデオ・フレームを送信するための送信機をさらに具備する、請求項１の装置。
【請求項１３】
リアルタイムでビデオ・フレームを取り込むためのビデオ取り込み装置、リアルタイムでビデオ・フレームをエンコードするために配置された映像推定器及び映像補正器、及びリアルタイムでエンコードされたビデオ・フレームを送信するために配置された送信機をさらに具備する、請求項１２の装置。
【請求項１４】
非整数ピクセル値の発生は、水平又は垂直ピクセル補間を具備する、請求項１の装置。
【請求項１５】
映像推定及び映像補正のための非整数ピクセル値を発生するために少なくとも３個の整数ピクセル値の入力を受信する第１のフィルタ；
映像推定のための追加の非整数ピクセル値を発生するために非整数ピクセル値の入力を受信する第２のフィルタ；及び
映像補正のための追加の非整数ピクセル値を発生するために非整数ピクセル値の入力を受信する第３のフィルタ、
を具備する、ビデオ・エンコーディング装置。
【請求項１６】
第１のフィルタは、映像推定及び映像補正のための非整数ピクセル値を発生するために整数ピクセル値の６個の入力を受信する６−タップ・フィルタを具備する；
第２のフィルタは、映像推定のための追加の非整数ピクセル値を発生するために非整数ピクセル値の２個の入力を受信する２−タップ・フィルタを具備する；及び
第３のフィルタは、映像補正のための追加の非整数ピクセル値を発生するために非整数ピクセル値の２個の入力を受信する２−タップ・フィルタを具備する、
請求項１５の装置。
【請求項１７】
装置は、ＩＴＵ  Ｈ．２６４ビデオ・エンコーディング標準に準拠し、６−タップ・フィルタ及び２−タップ・フィルタに対するタップ加重は、ＩＴＵ  Ｈ．２６４ビデオ・エンコーディング標準によって指定される、請求項１５の装置。
【請求項１８】
フィルタは、水平補間のために非整数ピクセル値を発生する、請求項１５の装置。
【請求項１９】
垂直補間のために映像推定及び映像補正のための非整数ピクセル値を発生するために整数ピクセル値の６個の入力を受信する６−タップ・フィルタを具備する他の１個の第１のフィルタ；
垂直補間のために映像推定のための追加の非整数ピクセル値を発生するために非整数ピクセル値の２個の入力を受信する２−タップ・フィルタを具備する他の１個の第２のフィルタ；及び
垂直補間のために映像補正のための追加の非整数ピクセル値を発生するために非整数ピクセル値の２個の入力を受信する２−タップ・フィルタを具備する他の１個の第３のフィルタ、
をさらに具備する、請求項１８の装置。
【請求項２０】
水平又は垂直補間のために少なくとも３個の整数ピクセル値の入力を受信するフィルタを使用して映像推定のために非整数ピクセル値を発生すること；
映像推定のために非整数ピクセル値を使用すること；
非整数ピクセル値を記憶すること；及び
映像補正のために記憶された非整数ピクセル値を使用すること、
を具備する、ビデオ・エンコーディングの方法。
【請求項２１】
非整数ピクセル値は、１／２ピクセル値を具備し、方法は、
映像補正のために１／４ピクセル値を記憶することなく、映像推定のために１／４ピクセル値を発生すること；及び
映像補正のために１／４ピクセル値を再発生すること、
をさらに具備する、請求項２０の方法。
【請求項２２】
１／２ピクセル値を発生することは、６−タップ・フィルタを適用することを具備する；及び
１／４ピクセル値を発生することは、２−タップ・フィルタを適用することを具備する、
請求項２１の方法。
【請求項２３】
方法は、ＩＴＵ  Ｈ．２６４ビデオ・エンコーディング標準に準拠し、６−タップ・フィルタ及び２−タップ・フィルタに対するタップ加重は、ＩＴＵ  Ｈ．２６４ビデオ・エンコーディング標準によって指定される、請求項２２の方法。
【請求項２４】
記憶された非整数ピクセル値に基づいて映像推定のために追加の非整数ピクセル値を発生することをさらに具備する、請求項２０の方法。
【請求項２５】
映像補正のために追加の非整数ピクセル値を記憶させることなく、映像推定のために追加の非整数ピクセル値を発生すること、及び映像補正のために追加の非整数ピクセル値を再発生することをさらに具備する、請求項２４の方法。
【請求項２６】
４ピクセル×４ピクセル・ビデオ・ブロックに映像推定及び映像補正を実行することをさらに具備する、請求項２０の方法。
【請求項２７】
４ピクセル×４ピクセル・サブビデオ・ブロックより大きなビデオ・ブロックに対する差異行列及び映像ベクトルを発生するためにパイプライン方式で映像推定及び映像補正を実行することをさらに具備する、請求項２６の方法。
【請求項２８】
実行される場合に：
水平又は垂直補間のために少なくとも３個の整数ピクセル値の入力を受信するフィルタを使用して非整数ピクセル値を発生する；
映像推定のために非整数ピクセル値を使用する；
非整数ピクセル値を記憶する；及び
映像補正のために記憶された非整数ピクセル値を使用する、
命令を具備する、コンピュータ読み取り可能な媒体。
【請求項２９】
非整数ピクセル値は、１／２ピクセル値を具備する、請求項２８のコンピュータ読み取り可能な媒体であって、実行される場合に：
映像補正のために１／４ピクセル値を記憶させることなく、映像推定のために１／４ピクセル値を発生する；及び
映像補正のために１／４ピクセル値を再発生する、
命令をさらに具備する、コンピュータ読み取り可能な媒体。
【請求項３０】
命令は、実行される場合に：
６−タップ・フィルタを適用することによって１／２ピクセル値を発生する；及び
２−タップ・フィルタを適用することによって１／４ピクセル値を発生する、
請求項２９のコンピュータ読み取り可能な媒体。
【請求項３１】
実行される場合に、４ピクセル×４ピクセル・ビデオ・ブロックに映像推定及び映像補正を実行する命令をさらに具備する、請求項２８のコンピュータ読み取り可能な媒体。
【請求項３２】
実行される場合に、４ピクセル×４ピクセル・サブビデオ・ブロックより大きなビデオ・ブロックに対する差異行列及び映像ベクトルを発生するためにパイプライン方式で映像推定及び映像補正を実行する命令をさらに具備する、請求項３１のコンピュータ読み取り可能な媒体。
【請求項３３】
水平又は垂直補間のための少なくとも３個の整数ピクセル値の入力を使用して映像推定のために非整数ピクセル値を発生するための手段；
映像推定において非整数ピクセル値を使用するための手段；
非整数ピクセル値を記憶させるための手段；及び
映像補正のために記憶された非整数ピクセル値を使用するための手段、
を具備する、装置。
【請求項３４】
整数ピクセル値の６個の入力を使用して映像推定のために非整数ピクセル値を発生するための手段；
記憶された非整数ピクセル値の２個の入力を使用して映像推定のために追加の非整数ピクセル値を発生するための手段；及び
記憶された非整数ピクセル値の２個の入力を使用して映像補正のために追加の非整数ピクセル値を発生するための手段、
をさらに具備する、請求項３３の装置。
【請求項３５】
映像推定のために非整数ピクセル値を発生する映像推定器、２方向補間のために少なくとも５個の整数ピクセル値の入力を受信するフィルタを含む映像推定器；
映像推定器によって発生された非整数ピクセル値を記憶するメモリ；及び
映像補正のために記憶された非整数ピクセル値を使用する映像補正器、
を具備する、ビデオ・エンコーディング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、ディジタル・ビデオ処理に係り、特に、ビデオ・シーケンスのエンコーディングに関する。
【背景技術】
【０００２】
ディジタル・ビデオ能力は、ディジタル・テレビ、ディジタル直接同報通信システム、ワイアレス通信装置、パーソナル・ディジタル・アシスタンツ（personal digital assistants）（ＰＤＡ）、ラップトップ・コンピュータ、デスクトップ・コンピュータ、ディジタル・カメラ、ディジタル記録装置、セルラ又は衛星無線電話機、及びその他を含む広範囲の装置に組み込まれることができる。ディジタル・ビデオ装置は、完全動画ビデオ・シーケンスを作成すること、修正すること、送信すること、記憶すること、及び上演することにおいて、従来のアナログ・ビデオ・システムに対して、著しい改善を提供できる。
【０００３】
多数の異なったビデオ・エンコーディング標準が、ディジタル・ビデオ・シーケンスをエンコーディングするために確立されてきている。例えば、ムービング・ピクチャ・エキスパート・グループ（Moving Picture Expert Group）（ＭＰＥＧ）は、ＭＰＥＧ−１、ＭＰＥＧ−２及びＭＰＥＧ−４を含む多数の標準を開発している。その他の標準は、国際電気通信組合（International Telecommunication Union）（ＩＴＵ）Ｈ．２６３標準、カルフォルニア州クーパティーノのアップル・コンピュータ社によって開発されたクイックタイム（QuickTimeTM）技術、ワシントン州レッドモンドのマイクロソフト社によって開発されたウィンドウズ（登録商標）（Windows（登録商標）TM）のためのビデオ、インテル社によって開発されたインデオ（IndeoTM）、ワシントン州シアトルのリアルネットワーク社からのリアルビデオ（RealVideoTM）、及びスーパーマック社によって開発されたシネパック（CinepakTM）を含む。ＩＴＵ  Ｈ．２６４標準及び専用の標準（propriety standards）を含む、新しい標準が、出現し続け、発展し続けている。
【０００４】
多くのビデオ・エンコーディング標準は、データを圧縮された方式でエンコーディングすることによってビデオ・シーケンスの向上した送信レートを可能にする。圧縮は、ビデオ・フレームの効率的な送信のために送信されることが必要なデータの全体量を削減できる。大多数のビデオ・エンコーディング標準は、例えば、圧縮しないで実現されることができるバンド幅よりも狭いバンド幅を介してビデオ及び画像送信を容易にするために設計されたグラフィックス圧縮技術及びビデオ圧縮技術を利用する。
【０００５】
ＭＰＥＧ標準及びＩＴＵ  Ｈ．２６３とＩＴＵ  Ｈ．２６４標準は、例えば、フレーム間圧縮を提供するために、一時的な相関又はフレーム間相関（inter-frame correlation）として呼ばれる、連続したビデオ・フレーム間の類似性を利用するビデオ・エンコーディング技術をサポートする。フレーム間圧縮技術は、ビデオ・フレームのピクセル−ベースの表示を映像表示に変換することによって複数のフレームにわたるデータの冗長性を利用する。さらに、ある種のビデオ・エンコーディング技術は、ビデオ・フレームをさらに圧縮するために、空間相関又はフレーム内相関（intra-frame correlation）として呼ばれる、フレーム内の類似性を利用できる。
【０００６】
圧縮をサポートするために、ディジタル・ビデオ装置は、一般的にディジタル・ビデオ・シーケンスを圧縮するためのエンコーダ、及びディジタル・ビデオ・シーケンスを復元する（decompress）ためのデコーダを含む。多くの場合に、エンコーダ及びデコーダは、統合されたエンコーダ／デコーダ（ＣＯＤＥＣ）を形成する。ＣＯＤＥＣは、ビデオ画像のシーケンスを規定するフレーム内のピクセルのブロックを取り扱う。ＭＰＥＧ−４標準において、例えば、エンコーダは、一般的に、送信されようとしているビデオ・フレームを、１６×１６ピクセル配列を具備する“マクロブロック”に分割する。ＩＴＵ  Ｈ．２６４標準は、１６×１６ビデオ・ブロック、１６×８ビデオ・ブロック、８×１６ビデオ・ブロック、８×８ビデオ・ブロック、８×４ビデオ・ブロック、４×８ビデオ・ブロック及び４×４ビデオ・ブロックをサポートする。
【０００７】
ビデオ・フレーム中の各ビデオ・ブロックに対して、エンコーダは、１又はそれより多くの直前のビデオ・フレーム（又は後続のフレーム）の同様の大きさにされたビデオ・ブロックを検索して、“最善予測（best prediction）”と呼ばれる、最も似ているビデオ・ブロックを同定する。現在のビデオ・ブロックをその他のフレームのビデオ・ブロックと比較するプロセスは、映像推定（motion estimation）として一般に呼ばれる。一旦“最善予測”がビデオ・ブロックに対して同定されると、エンコーダは、現在のビデオ・ブロックと最善予測との間の差異をエンコードできる。現在のビデオ・ブロックと最善予測との間の差異をエンコーディングするこのプロセスは、映像補正（motion compensation）として呼ばれるプロセスを含む。映像補正は、エンコードされようとしている現在のビデオ・ブロックと最善予測との間の差異を示す、差異ブロックを生成するプロセスを具備する。映像補正は、通常、映像ベクトルを使用して最善予測ブロックを引き出し、それから差異ブロック発生するために入力ブロックから最善予測を差し引く行為を呼ぶ。
【０００８】
映像補正が差異ブロックを生成した後で、一連の追加のエンコーディング・ステップが、一般に、差異ブロックをエンコードするために実行される。これらの追加のエンコーディング・ステップは、使用されようとしているエンコーディング標準に依存することがある。ＭＰＥＧ４準拠エンコーダにおいて、例えば、追加のエンコーディング・ステップは、８×８離散コサイン変換、引き続いてスカラ・イコライゼーション、引き続いてラスタ−ジグザグ再配列、引き続いてラン長エンコーディング、引き続いてハフマン・エンコーディングを含むことができる。
【０００９】
エンコードされた差異ブロックは、映像ベクトルとともに送信されることができる。映像ベクトルは、前のフレームからのどのビデオ・ブロックがエンコーディングのために使用されたかを示す。エンコーダは、映像ベクトル及びエンコードされた差異ブロックを受信し、ビデオ・シーケンスを再構成するために受信された情報をデコードする。
【００１０】
複数の標準において、１／２ピクセル値も、映像推定及び映像補正の間に発生される。ＭＰＥＧ４では、例えば、１／２ピクセル値は、２個の隣接するピクセル間の平均ピクセル値として発生される。１／２ピクセルは、候補ビデオ・ブロックにおいて使用され、映像推定の間に同定された最善予測の一部分を形成できる。２−タップ・フィルタが、映像推定及び映像補正プロセスにおいて必要であるので、比較的単純な２−タップ・フィルタは、１／２ピクセル値を発生するために使用されることができる。非整数ピクセル値の発生は、フレーム間相関の分解能を改善できるが、一般にエンコーディング及びデコーディング・プロセスを複雑にする。
【発明の開示】
【００１１】
［サマリー］
本明細書は、ビデオ・エンコーディング技術及びそのような技術を実施するビデオ・エンコーディング装置を説明する。説明されたビデオ・エンコーディング技術は、映像推定及び映像補正において非整数ピクセル値を容認する広範な各種のエンコーディング標準に対して有用である可能性がある。特に、ＩＴＵ  Ｈ．２６４標準のようなビデオ・エンコーディング標準は、ここに説明された技術から具体的に利益を受けることができる。ＩＴＵ  Ｈ．２６４標準は、映像推定及び映像補正において１／２ピクセル値及び１／４ピクセル値を使用する。より一般的に、所定の方向、例えば、垂直又は水平、の非整数ピクセル値の発生において３−タップ・フィルタ又はそれより大きなフィルタを指定するいずれかの標準は、ここに説明された技術から利益を受けることができる。その技術は、処理オーバーヘッドが装置サイズ及び電池消耗に著しく影響することがある携帯装置に対して特に有用である。
【００１２】
１実施形態では、本明細書は、映像推定のために非整数ピクセル値を発生する映像推定器を具備するビデオ・エンコーディング装置を説明する。映像推定器は、少なくとも３個の整数ピクセル値の入力を受信するフィルタを含む。装置は、しかも、映像推定器によって発生された非整数ピクセル値を記憶するメモリ、及び映像補正のために記憶された非整数ピクセル値を使用する映像補正器を含む。ＩＴＵ  Ｈ．２６４標準に準拠させるために、例えば、映像推定器は、６−タップ・フィルタを使用して１／２ピクセル値を発生でき、そして映像推定及び映像補正の両者における使用のために１／２ピクセル値を記憶する。映像推定器は、しかも、２−タップ・フィルタを使用して１／４ピクセル値を発生でき、そして、映像補正のために１／４ピクセル値を記憶することなく、映像推定に１／４ピクセル値を使用する。その場合には、映像補正器は、映像推定器によって発生され記憶されている１／２ピクセル値を使用するが、他の１個の２−タップ・フィルタを使用して１／４ピクセル値を再発生する。ある場合には、別々のフィルタが、水平及び垂直補間の両者のために実施されるが、任意の大きな（３タップ又はより大きな）フィルタの出力が、映像推定及び映像補正のために再使用される。その他の場合には、同一の大きなフィルタが、水平及び垂直補間の両者に対して使用されることができる。これらの場合には、しかしながら、エンコーディング装置のクロック速度が、速くされる必要がある可能性がある。
【００１３】
ここに説明されたこれらの技術及びその他の技術は、ハードウェア、ソフトウェア、ファームウェア、若しくはそれらの任意の組み合わせのディジタル・ビデオ装置において実行されることができる。ソフトウェアで実行されるのであれば、本技術は、実行される場合に、ここに説明された１又はそれより多くのエンコーディング技術を実行する、プログラム・コードを具備するコンピュータ読み取り可能な媒体へ向けられることができる。種々の実施形態のさらなる詳細は、添付されている図面及び下記の説明に述べられる。その他の特徴、目的及び利点は、説明及び図面から、並びに特許請求の範囲から明らかになる。
【発明を実施するための最良の形態】
【００１４】
図１は、ソース装置１２が通信リンク１５を介して受信装置１４へエンコードされたビデオ・データのシーケンスを送信する一例のシステム１０を説明するブロック図である。ソース装置１２及び受信装置１４は、両者ともディジタル・ビデオ装置である。特に、ソース装置１２は、ＩＴＵ  Ｈ．２６４ビデオ・エンコーディング標準のようなビデオ標準に整合するビデオ・データをエンコードする。ＩＴＵ  Ｈ．２６４標準は、映像推定及び映像補正において非整数ピクセル値を容認する。システム１０は、非整数ピクセル値が発生され、記憶され、そして映像推定及び映像補正の両者に使用される技術を実施する。これは、同一の非整数ピクセル値を発生するために映像推定及び映像補正の両者において大きなフィルタの必要性を削除する。ここに説明された技術は、垂直又は水平補間に対してのような、所定の方向における非整数ピクセル値の発生において３−タップ・フィルタ又はそれより大きなフィルタを指定するいずれかの公表された標準又は専用の標準で特に有用である可能性がある。しかしながら、本明細書にしたがって、より小さなフィルタ（２−タップ・フィルタ）によって発生されたいずれかの非整数ピクセル値は、後で使用するためにこれらの値を記憶することなく、必要な場合に発生されることができる。
【００１５】
通信リンク１５は、ワイアレス・リンク、物理送信ライン、光ファイバ、ローカル・エリア・ネットワークのようなパケット・ベースのネットワーク、インターネットのようなワイド・エリア・ネットワーク又はグローバル・ネットワーク、公衆交換電話ネットワーク（ＰＳＴＮ）、若しくはデータを転送できるいずれかのその他の通信リンクを具備できる。それゆえ、通信リンク１５は、ソース装置１２から受信装置１４へビデオ・データを送信するためのいずれかの適切な通信媒体、若しくはおそらく異なるネットワーク及びリンクの集合体を表す。
【００１６】
ソース装置１２は、ビデオ・データをエンコーディングでき、送信できる任意のディジタル・ビデオ装置であることができる。ソース装置１２は、ディジタル・ビデオ・シーケンスを記憶するためのビデオ・メモリ１６、シーケンスをエンコードするためのビデオ・エンコーダ１８、及びソース装置１２へ通信リンク１５を介してエンコードされたシーケンスを送信するための送信機２０を含むことができる。ビデオ・エンコーダ１８は、ここで説明されるように、例えば、各種のハードウェア、ソフトウェア又はファームウェア、若しくは１又はそれより多くのディジタル・シグナル・プロセッサ（ＤＳＰ）を含むことができる。ＤＳＰは、ビデオ・エンコーディング技術を制御するためにプログラム可能なソフトウェア・モジュールを与える。関係するメモリ及び論理回路系は、ビデオ・エンコーディング技術を制御することにおいてＤＳＰをサポートするために与えられることができる。説明されるように、ビデオ・エンコーダ１８は、非整数ピクセル値を発生するために構成されることができ、映像推定及び映像補正の両者に対して発生された非整数ピクセル値を使用できる。
【００１７】
ソース装置１２は、しかも、ビデオ・シーケンスを取り込むために、ビデオ・カメラのようなビデオ取り込み装置２３を含むことができ、メモリ１６に取り込まれたシーケンスを記憶させることができる。特に、ビデオ取り込み装置２３は、電荷結合素子（charge coupled device）（ＣＣＤ）、電荷注入素子、フォトダイオードのアレイ、相補型ＭＯＳ（complementary metal oxide semiconductor）（ＣＭＯＳ）装置、若しくはビデオ画像又はディジタル・ビデオ・シーケンスを取り込むことができるいずれかのその他の光応答素子を含むことができる。
【００１８】
さらなる例として、ビデオ取り込み装置２３は、例えば、テレビ、ビデオ・カッセト・レコーダ、カムコーダ、若しくはその他のビデオ装置からのアナログ・ビデオ・データをディジタル・ビデオ・データへ変換するビデオ変換器である可能性がある。いくつかの実施形態では、ソース装置１２は、通信リンク１５を介してリアル−タイム・ビデオ・シーケンスを送信するために構成されることができる。その場合には、受信装置１４は、リアル−タイム・ビデオ・シーケンスを受信でき、ユーザへビデオ・シーケンスを表示できる。あるいは、ソース装置１２は、ビデオ・データ・ファイルとして、すなわち、リアル−タイムではなく、受信装置１４へ送られるビデオ・シーケンスを取り込むことができ、エンコードできる。そのようにして、ソース装置１２及び受信装置１４は、例えば、移動ワイアレス・ネットワークにおいて、ビデオ・クリップ再生、ビデオ・メール、又はテレビ会議のようなアプリケーションをサポートできる。装置１２及び１４は、図１に具体的に図示されていない各種のその他の装置を含むことができる。
【００１９】
受信装置１４は、ビデオ・データを受信することができ、デコードすることができるいずれかのディジタル・ビデオ装置の形式を取ることができる。例えば、受信装置１４は、例えば、中間リンク、ルータ、その他のネットワーク装置、及びその他を介して、送信機２０からエンコードされたディジタル・ビデオ・シーケンスを受信するための受信機２２を含むことができる。受信装置１４は、しかも、シーケンスをデコーディングするためのビデオ・デコーダ２４、及びユーザへシーケンスを表示するための表示装置２６を含むことができる。ある実施形態では、しかしながら、受信装置１４は、統合された表示装置２６を含まないことができる。そのような場合には、受信装置１４は、単独の表示装置、例えば、テレビ又はモニタ、を駆動するために受信されたビデオ・データをデコードする受信機として働くことができる。
【００２０】
ソース装置１２及び受信装置１４に関する例の装置は、コンピュータ・ネットワーク上に置かれたサーバ、ワークステーション又はその他のデスクトップ演算装置、及びラップトップ・コンピュータ又はパーソナル・ディジタル・アシスタンツ（ＰＤＡ）のような移動演算装置を含む。その他の例は、ディジタル・テレビ放送衛星、及び受信装置を含む。受信装置は、例えば、ディジタル・テレビ、ディジタル・カメラ、ディジタル・ビデオ・カメラ、若しくはその他のディジタル記録装置、ビデオ能力を有する携帯電話機のようなディジタル・ビデオ電話機、ビデオ能力がある直接双方向通信装置、その他のワイアレス・ビデオ装置、及びその他、である。
【００２１】
ある場合には、ソース装置１２及び受信装置１４は、それぞれ、ディジタル・ビデオ・データをエンコーディング及びデコーディングするためにエンコーダ／デコーダ（ＣＯＤＥＣ）（図示せず）を含む。特に、ソース装置１２及び受信装置１４の両者は、送信機及び受信機、同様にメモリ及び表示装置を含むことができる。下記に概略を示されたエンコーディング技術の多くは、エンコーダを含むディジタル・ビデオ装置の状況で説明される。しかしながら、エンコーダは、ＣＯＤＥＣの一部を形成することが理解される。その場合には、ＣＯＤＥＣは、ハードウェア、ソフトウェア、ファームウェア、ＤＳＰ、マイクロプロセッサ、用途特定集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、単体ハードウェア素子、若しくはこれらの種々の組み合わせの中で実行されることができる。しかも、ここに説明されたエンコーディング技術は、各種のディジタル・フィルタ又はハードウェア素子がエンコーディング及びデコーディング・アプリケーションの両者に対して使用されることを可能にすることができる。
【００２２】
ソース装置１２内部のビデオ・エンコーダ１８は、ビデオ・データをエンコードするためにビデオ・フレームのシーケンスの内部のピクセルのブロック上で動作する。例えば、ビデオ・エンコーダ１８は、送信されようとしているビデオ・フレームがピクセルのブロック（ビデオ・ブロックと呼ばれる）に分割される映像補正技術及び映像推定技術を実行できる。ビデオ・ブロックは、説明の目的で、任意のサイズのブロックを具備でき、所定のビデオ・シーケンスの範囲内で変化できる。一例として、ＩＴＵ  Ｈ．２６４標準は、１６×１６ビデオ・ブロック、１６×８ビデオ・ブロック、８×１６ビデオ・ブロック、８×８ビデオ・ブロック、８×４ビデオ・ブロック、４×８ビデオ・ブロック及び４×４ビデオ・ブロックをサポートする。より小さなビデオ・ブロックは、エンコーディングにおいてより良い分解能を提供でき、そして高いレベルの詳細を含むビデオ・フレームの位置選定のために具体的に使用されることができる。さらに、下記に説明されるように、ビデオ・エンコーダ１８は、パイプライン方式で４×４ビデオ・ブロック上で動作するように設計されることができ、そして、必要に応じて、４×４ビデオ・ブロックからより大きなビデオ・ブロックを再構成できる。
【００２３】
ビデオ・ブロック中の各ピクセルは、クロミナンス（chrominance）及びルミナンス（luminance）の値で色彩及び強度のようなピクセルの視覚的な特性を規定するｎ−ビットの値、例えば、８ビット、によって表されることができる。しかしながら、映像推定は、人間の視覚が、色度（chromaticity）よりもルミナンスの変化により敏感であるため、ルミナンス成分にだけしばしば実行される。したがって、映像推定の目的のために、ｎ−ビット値の全体は、所定のピクセルに対してルミナンスを定量化できる。本明細書の原理は、しかしながら、ピクセルのフォーマットに制限されず、そしてより単純なより少ないビット・フォーマット又はより複雑なより大きなビット・フォーマットを用いた使用に対して拡張されることができる。
【００２４】
ビデオ・フレーム中の各ビデオ・ブロックに対して、ソース装置１２のビデオ・エンコーダ１８は、類似のビデオ・ブロックを同定するために１又はそれより多くの既に送信された前のビデオ・フレーム（又は、後続のビデオ・フレーム）に対してメモリ１６中に記憶されたビデオ・ブロックを検索することによって映像推定を実行する。前のビデオ・フレーム又は後続のビデオ・フレームからの“最善予測”を決定すると、ビデオ・エンコーダ１８は、映像補正を実行して、エンコードされようとしている現在のビデオ・ブロックと最善予測との間の差異を表す差異ブロックを生成する。映像補正は、通常、映像ベクトルを使用して最善予測ブロックを取り込み、そして差異ブロックを発生するために入力ブロックから最善予測を差し引く行為を呼ぶ。
【００２５】
映像補正プロセスが差異ブロックを生成した後で、一連の追加のエンコーディング・ステップが、一般的に差異ブロックをエンコードするために実行される。これらの追加のエンコーディング・ステップは、使用されるエンコーディング標準に依存することができる。ＭＰＥＧ４準拠エンコーダでは、例えば、追加のエンコーディング・ステップは、８×８離散コサイン変換、引き続いてスカラ量子化、引き続いてラスタ−ジグザグ再配列、引き続いてラン長エンコーディング、引き続いてハフマン・エンコーディングを含むことができる。
【００２６】
一旦、エンコードされると、エンコードされた差異ブロックは、映像ベクトルとともに送信されることができる。映像ベクトルは、エンコーディングに対して使用された前のフレーム（又は、後続のフレーム）からビデオ・ブロックを同定する。このような方法で、独立した画像として各フレームをエンコーディングする代わりに、ビデオ・エンコーダ１８は、隣接するフレーム間の差異をエンコードする。そのような技術は、ビデオ・シーケンスの各フレームを正確に表すために必要なデータの量を顕著に削減できる。
【００２７】
映像ベクトルは、エンコードされようとしているビデオ・ブロックの左上角に対して相対的にピクセルの位置を規定できる。しかしながら、映像ベクトルに関するその他のフォーマットが使用されることができる。いずれの場合でも、映像ベクトルを使用してビデオ・ブロックをエンコーディングすることによって、ビデオ・データのストリームの送信のために必要なバンド幅は、著しく削減されることができる。
【００２８】
ある場合には、ビデオ・エンコーダ１８は、フレーム間エンコーディングに加えて、フレーム内エンコーディングをサポートできる。フレーム内エンコーディングは、空間相関又はフレーム内相関と呼ばれるフレーム内の類似性を利用して、ビデオ・フレームをさらに圧縮する。フレーム内圧縮は、一般的に、離散コサイン変換（ＤＣＴ）エンコーディングのような、静止画を圧縮するためのテクスチャ・エンコーディングに基づく。フレーム内圧縮は、しばしばフレーム間圧縮とともに使用されるが、ある種の実施において代案として使用されることもできる。
【００２９】
受信装置１４の受信機２２は、映像ベクトルの形式でエンコードされたビデオ・データを受信でき、そしてエンコードされようとしているビデオ・ブロックと映像推定において使用された最善予測との間のエンコードされた差異を表すエンコードされた差異ブロックを受信できる。デコーダ２４は、表示装置２６を介してユーザに対する表示のためのビデオ・シーケンスを発生させるためにビデオ・デコーディングを実行する。受信装置１４のデコーダ２４も、エンコーダ／デコーダ（ＣＯＤＥＣ）として実行されることもできる。その場合には、ソース装置１２及び受信装置１４の両者は、ディジタル・ビデオ・シーケンスをエンコーディングし、送信し、受信し、そしてデコーディングする能力がある可能性がある。
【００３０】
本明細書にしたがって、所定の方向（水平又は垂直）にビデオ・エンコーディングしている間に、３個又はそれより多くの入力ピクセル値から発生された非整数ピクセル値は、ビデオ・エンコーダ１８のローカル・メモリ中に記憶されることができ、それから映像推定及び映像補正の両者に対して使用されることができる。記憶された非整数ピクセル値は、別々にバッファされることがでる、若しくは、必要な場合に非整数ピクセル値が位置を決められることができ同定されることができる限りは、いずれかの特定のメモリ位置に割り当てられることができる。対照的に、所定の方向の２個の入力ピクセル値から発生された非整数ピクセル値は、長時間にわたって記憶される必要がないが、一般に映像推定又は映像補正に対して必要な場合に計算されることができる。
【００３１】
図２は、ビデオ・エンコーダ１８Ａを含む装置１２Ａのイグゼンプラリなブロック図である。図２の装置１２Ａは、図１の装置１２に対応できる。図２に示されたように、装置１２Ａは、ビデオ・シーケンスをエンコードするためにビデオ・エンコーダ１８Ａ、及びエンコーディングの前後にビデオ・シーケンスを記憶させるためのビデオ・メモリ１６Ａを含む。装置１２Ａは、しかも、エンコードされたシーケンスを他の１個の装置へ送信するための送信機２０Ａ、そしておそらくビデオ・シーケンスを取り込みメモリ１６Ａ中に取り込んだシーケンスを記憶させるために、ビデオ・カメラのようなビデオ取り込み装置２３Ａも含む。装置１２Ａの種々の素子は、通信バス３５Ａを介して通信的に接続されることができる。フレーム内エンコーダ素子、各種のフィルタ、又はその他の素子のような、各種のその他の素子も、装置１２Ａに含まれることができるが、単純化のために具体的に図示されない。
【００３２】
ビデオ・メモリ１６Ａは、一般的に、比較的大きなメモリ空間を具備する。ビデオ・メモリ１６Ａは、例えば、ダイナミック・ランダム・アクセス・メモリ（dynamic random access memory）（ＤＲＡＭ）又はフラッシュ・メモリを具備できる。その他の例では、ビデオ・メモリ１６Ａは、不揮発性メモリ若しくはいずれかのその他のデータ記憶装置を具備できる。
【００３３】
ビデオ・エンコーダ１８Ａは、ビデオ・メモリ１６Ａに対して相対的に小さなそして早いメモリ空間を具備することができるローカル・メモリ２５Ａを含む。例として、ローカル・メモリ２５Ａは、シンクロナス・ランダム・アクセス・メモリ（synchronous random access memory）（ＳＲＡＭ）を具備できる。ローカル・メモリ２５Ａは、しかも、ビデオ・エンコーダ１８Ａのその他の構成要素とともに集積された“チップ搭載”メモリを具備できて、プロセッサ集中型のエンコーディング・プロセスの間にデータへの非常に高速なアクセスを提供する。所定のビデオ・フレームのエンコーディングの間に、エンコードされようとしている現在のビデオ・ブロックは、ビデオ・メモリ１６Ａからローカル・メモリ２５Ａへロードされることができる。最善予測の位置を決定することに使用される検索空間も、ビデオ・メモリ１６Ａからローカル・メモリ２５Ａへロードされることができる。検索空間は、１又はそれより多くの前のビデオ・フレーム（又は後続のフレーム）のピクセルのサブセットを具備できる。選択されたサブセットは、エンコードされようとしている現在のビデオ・ブロックにぴったりと符合する最善予測の同定のために可能性のある位置として事前に同定されることができる。
【００３４】
多くのビデオ標準において、部分ピクセル又は非整数ピクセルも、エンコーディング・プロセスの間に考慮に入れられる。例えば、ＭＰＥＧ−４において、１／２ピクセル値は、２個の隣接するピクセル間の平均値として計算される。ＭＰＥＧ−４に準拠したエンコーダにおいて、２個の隣接するピクセル間の平均値は、比較的単純なディジタル・フィルタを使用して、必要に応じて、所定の方向に対して容易に発生されることができる。比較的単純なディジタル・フィルタは、２個の入力及び１個の出力を有し、一般に２−タップ・ディジタル・フィルタと呼ばれる。
【００３５】
例として、単純なＭＰＥＧ２又はＭＰＥＧ４の場合には、補間が水平及び垂直の両者に実行されるのであれば、２−タップ・ディジタル・フィルタは、各方向に対して使用されることができる。あるいは、２方向の補間は、１個の４−タップ平均化フィルタとして行われることができる。フィルタが、所定の方向に２個より多くの入力を指定する場合、若しくは２方向補間に対して５個より多くの入力を指定する場合に、ここに説明される技術は、非常に有用になる。
【００３６】
ディジタル・フィルタのタップ加重は、エンコーディング標準によって指定される。ＭＰＥＧ−４をサポートするために、映像推定器２６Ａ及び映像補正器２８Ａは、類似の２−タップ・ディジタル・フィルタを含むことができる。２−タップ・ディジタル・フィルタは、ローカル・メモリ２５Ａにロードされた検索空間の整数ピクセル値を使用していつでも水平及び垂直方向に対して１／２ピクセル値が発生されることを可能にする。
【００３７】
いくつかのより新しい標準に関して、しかしながら、非整数ピクセルの発生は、より複雑である。例えば、多数のより新しい標準は、その２個のピクセルより多くの重み付けされた合計に基づいて所定の方向の１／２ピクセル値の発生を指定する。１つの特定の例として、ＩＴＵ  Ｈ．２６４標準は、６個のピクセル間の重み付けされた平均として水平及び垂直方向の両者における１／２ピクセル値の計算を指定する。部分水平ピクセルに対して、１／２ピクセル値の左の３個のピクセルは、１／２ピクセル値の右の３個のピクセルと同様に重み付けされる。部分垂直ピクセルに関して、１／２ピクセル値の上の３個のピクセルは、１／２ピクセル値の下の３個のピクセルと同様に重み付けされる。両方に場合に、６個の入力及び１個の出力を有するフィルタ（６−タップ・ディジタル・フィルタ）が、一般に１／２ピクセル値を発生するために必要である。
【００３８】
さらに、ＩＴＵ  Ｈ．２６４標準は、しかも、１／４ピクセル値の発生も指定する。１／４ピクセル値は、整数ピクセルと隣接する１／２ピクセルとの間の平均として計算される。それゆえ、１／４ピクセル値の発生は、一般的に、１／２ピクセル値を発生するために６−タップ・フィルタの使用を含み、引き続き１／４ピクセル値を発生するための２−タップ・フィルタの使用を含む。複数の専用の標準は、しかも、非整数ピクセル発生のためにその他の重み付け平均化ルールを使用する。これは、非整数ピクセル値の発生に対して著しい複雑性を与える可能性がある。
【００３９】
本明細書にしたがって、所定の方向の３個又はそれより多くの入力ピクセル値から発生された非整数ピクセル値は、検索空間の一部分としてローカル・メモリ２５Ａに記憶されることができる。記憶された非整数ピクセル値は、必要な場合に、非整数ピクセル値が位置を見つけられそして同定される限りは、別々にバッファされることができる、若しくはいずれかの特定のメモリ位置に割り当てられることができる。対照的に、２入力ピクセル値から発生された非整数ピクセル値は、任意の非常に長時間にわたり記憶される必要がないが、一般に必要に応じて計算されることができる。
【００４０】
本明細書は、非常に長時間にわたっていずれかの非整数ピクセル値を記憶させるためにローカル・メモリ２５Ａの追加のメモリ空間に対する必要性と、入力をフィルタし非整数ピクセル値を発生するために必要なハードウェア又は処理パワーとの間のトレードオフを容認する。２−タップ・フィルタは、一方向に実行することは非常に単純であり、そしてそれゆえ、２−タップ・フィルタは、必要な場合に、２入力から非整数ピクセル値を発生するためにビデオ・エンコーダの多くの位置で使用されることができる。しかしながら、一方向に対して３個より大きな入力を有するフィルタ、そして具体的にＩＴＵ  Ｈ．２６４標準に準拠して使用される６−タップ・フィルタは、より複雑である。これらのより大きなフィルタが必要である場合に、３個又はより多くの入力を受信する１個のフィルタを与えること、そしてその後、必要な場合に、エンコーディング・プロセスにおける再使用のためにローカル・メモリ２５Ａ中に大きなフィルタの出力を記憶する又はバッファすることはさらに有利である。
【００４１】
例えば、ビデオ・エンコーダ１８Ａは、映像推定器２６Ａ及び映像補正器２８Ａを含む。これらは、それぞれビデオ・エンコーディング・プロセスにおいて映像推定及び映像補正を実行する。図２に示されたように、映像推定器２６Ａ及び映像補正器２８Ａの両者は、それぞれ１又はそれより多くの非整数ピクセル演算ユニット３２Ａ及び３６Ａを含む。（複数の）非整数ピクセル演算ユニット３２Ａ及び３６Ａは、１若しくはそれより多くのディジタル・フィルタを具備できる。しかしながら、２−タップ・ディジタル・フィルタが（複数の）非整数ピクセル演算ユニット３２Ａ及び３６Ａの両者において重複する可能性がある一方で、いずれかのＮ−タップ・フィルタ（ここで、Ｎは３以上の整数を表す）は、ユニット３２Ａ及び３６Ａの１つだけで与えられることができる。３個より多くの入力を有するフィルタの出力は、エンコーディング・プロセスにおいて後で使用するために又は再使用するためにローカル・メモリ２５Ａ中に記憶されることができる。
【００４２】
ある場合には、別々のフィルタが水平及び垂直補間の両方に対して与えられるが、（３タップ又はより大きな）いずれかの大きなフィルタの出力は、映像推定及び映像補正に対して再使用されることができる。その他の場合には、同一の大きなフィルタが、水平及び垂直補間の両者に対して使用されることができ、そして、大きなフィルタの出力は、映像推定及び映像補正の両者に対する使用のために記憶されることができる。これらの場合には、しかしながら、１個のフィルタが水平及び垂直補間に対して使用されるので、クロック速度が増加される必要性があり、これは、電力消費を増加させることがある。
【００４３】
ローカル・メモリ２５Ａは、エンコードされようとしている現在のビデオ・ブロック及び検索空間でロードされる。検索空間は、フレーム間エンコーディングにおいて使用された１又はそれより多くの異なるビデオ・フレームのいくつか又は全てを具備する。映像推定器２６Ａは、最善予測を同定するために現在のビデオ・ブロックを検索空間中の種々のビデオ・ブロックと比較する。ある場合には、しかしながら、エンコーディングのための適切な符合が、各可能性のある候補を具体的にチェックすることなく、より早く同定されることがある。そして、その場合には、適切な符合は、効率的なビデオ・エンコーディングのために適切であるにも拘らず、実際には“最善”予測ではないことがある。
【００４４】
映像推定器２６Ａは、非整数ピクセル値を使用するエンコーディング・スキームをサポートする。特に、非整数ピクセル演算ユニット３２Ａは、検索空間を部分又は非整数ピクセル値に拡張する非整数ピクセル値を発生できる。水平非整数ピクセル値及び垂直非整数ピクセル値の両者が、発生されることができる。２個の入力から発生されたいずれかの非整数ピクセル値が、使用されることができ、それから、これらの非整数ピクセル値が、必要に応じて、２個の入力から容易に再発生させられるので、破棄される、又はローカル・メモリ２５Ａに上書きされる。しかしながら、３個又はそれより多くの入力から発生されたいずれかの非整数ピクセル値が、使用されることができ、３個又はそれより多くの入力から発生されたこれらの非整数ピクセル値は発生すること及び再発生することがより複雑であるので、エンコーディング・プロセスにおける引き続く使用のためにローカル・メモリ２５Ａ中に維持される。
【００４５】
ビデオ・ブロック符合ユニット３４Ａは、エンコードされようとしている現在のビデオ・ブロックとメモリ２５Ａの検索空間中の候補ビデオ・ブロックとの間の比較を実行する。候補ビデオ・ブロックは、（複数の）非整数ピクセル演算ユニット３２Ａによって発生された非整数ピクセル値を含むいずれかの候補ビデオ・ブロックを含む。例えば、ビデオ・ブロック符合ユニット３４Ａは、差異プロセッサ、若しくは最善予測（又は単に適切な予測）を同定するために差異計算を実行するソフトウェア・ルーチンを具備する。
【００４６】
例として、ビデオ・ブロック符合ユニット３４Ａは、ＳＡＤ技術（絶対差異の合計技術：sum of absolute difference techniques）、ＳＳＤ技術（二乗差異の合計技術：sum of squared difference techniques）、又は、希望されるならば、その他の比較技術を実行できる。ＳＡＤ技術は、現在のビデオ・ブロックがそれに対して比較されようとしている候補ビデオ・ブロックのピクセル値を用いて、エンコードされようとしている現在のビデオ・ブロックのピクセル間の絶対的な差異演算を実行するタスクを含む。これらの絶対的な差異演算の結果は、現在のビデオ・ブロックと候補ビデオ・ブロックとの間の差異を表す差異値を規定するために合計される、すなわち、累積される。８×８ピクセル画像ブロックに対して、６４の差異が、算出されそして合計され、且つ１６×１６ピクセル・マクロブロックに対して、２５６の差異が、算出されそして合計される。全ての演算の全体の合計は、候補ビデオ・ブロックに対する差異値を規定できる。
【００４７】
より低い差異値は、一般に、候補ビデオ・ブロックがより良く符合することを示し、そしてそれゆえ、より高い差異値、すなわち、歪の増加、を生み出す他の候補ビデオ・ブロックよりも映像推定エンコーディングにおける使用のためにより良い候補であることを示す。ある場合には、演算は、累積された差異値が規定されたしきい値を超えたときに終了されることができ、若しくはその他の候補ビデオ・ブロックがまだ考慮に入れられていない場合でさえも、適切な符合が早期に認められた場合に終了されることができる。
【００４８】
ＳＳＤ技術は、しかも、候補ビデオ・ブロックのピクセル値を用いてエンコードされようとしている現在のビデオ・ブロックの複数のピクセル値の間の差異演算を実行するタスクも含む。しかしながら、ＳＳＤ技術において、差異演算の結果は、二乗され、そしてそれから、二乗された値は、現在のビデオ・ブロックと候補ビデオ・ブロックとの間の差異を示す差異値を規定するために合計される、すなわち、累積される。その候補ビデオ・ブロックに対して、現在のマクロブロックは、比較されようとしている。あるいは、ビデオ・ブロック符合ユニット３４Ａは、その他の比較技術を使用できる。例えば、二乗平均誤差（Mean Square Error）（ＭＳＥ）、規格化されたクロス相関関数（Normalized Cross Correlation Function）（ＮＣＣＦ）、若しくは他の１つの好適な比較アルゴリズムである。
【００４９】
最終的に、ビデオ・ブロック符合ユニット３４Ａは、“最善予測”を同定できる。最善予測は、エンコードされようとしているビデオ・ブロックに最もぴったりと符合する候補ビデオ・ブロックである。しかしながら、多くの場合に、適切な符合が最善予測の前に位置を見つけられることができ、その場合には、適切な符合はエンコーディングに対して使用されることができることが、理解される。以下の説明では、参照は、ビデオ・ブロック符合ユニット３４Ａによって同定された“最善予測”に対してなされるが、本明細書はその点に制限されないことが理解され、そして任意の適切な符合が、使用されることができ、おそらく最善予測よりもさらに迅速に同定されることができる。
【００５０】
ある実施形態では、ビデオ・ブロック符合ユニット３４Ａは、パイプライン方式で実行されることができる。例えば、ビデオ・ブロック符合ユニット３４Ａは、１より多くのビデオ・ブロックを同時に取り扱う処理パイプラインを具備できる。さらに、ある場合には、エンコードされようとしているビデオ・ブロックのサイズが、４ピクセル×４ピクセル・ビデオ・ブロックより大きい場合でさえも、処理パイプラインは、４ピクセル×４ピクセル・ビデオ・ブロック上で動作するように設計されることができる。その場合には、４ピクセル×４ピクセル候補ビデオ・ブロックの隣接するセットに対する差異演算は、大きなビデオ・ブロックに対する差異演算を表すために合計されることができる。大きなビデオ・ブロックは、例えば、２個の４ピクセル×４ピクセル候補を具備する４ピクセル×８ピクセル・ビデオ・ブロック、２個の４ピクセル×４ピクセル候補を具備する８ピクセル×４ピクセル・ビデオ・ブロック、４個の４ピクセル×４ピクセル候補を具備する８ピクセル×８ピクセル・ビデオ・ブロック、８個の４ピクセル×４ピクセル候補を具備する８ピクセル×１６ピクセル・ビデオ・ブロック、８個の４ピクセル×４ピクセル候補を具備する１６ピクセル×８ピクセル・ビデオ・ブロック、１６個の４ピクセル×４ピクセル候補を具備する１６ピクセル×１６ピクセル・ビデオ・ブロック、及びその他である。
【００５１】
いずれの場合でも、一旦、最善予測がビデオ・ブロックに対してビデオ・ブロック符合ユニット３４Ａによって同定されると、映像補正器２８は、現在のビデオ・ブロックと最善予測との間の差異を示している差異ブロックを生成する。ビデオ・ブロック・エンコーダ３９Ａは、差異ブロックを圧縮するために差異ブロックをさらにエンコードでき、そしてエンコードされた差異ブロックは、映像ベクトルとともに他の１個の装置への送信のために転送できる。映像ベクトルは、検索空間からのどの候補ビデオ・ブロックがエンコーディングに対して使用されたかを示す。単純化のために、映像補正の後でエンコーディングを実行するために使用される追加の構成要素は、特定の構成要素がサポートされようとしている特定の標準に依存して変化するはずであるので、差異ブロック・エンコーダ３９Ａとして一般化される。言い換えると、差異ブロック・エンコーダ３９Ａは、上記に説明されたように発生された差異ブロックに１又はそれより多くの従来のエンコーディング技術を実行できる。
【００５２】
映像補正器２８Ａは、最善予測のいずれかの非整数ピクセルを発生するために（複数の）非整数ピクセル演算ユニット３６Ａを含む。上記に概要を示されたように、しかしながら、映像補正器２８Ａの（複数の）非整数ピクセル演算ユニット３６Ａは、所定の方向に対する２−タップ・ディジタル・フィルタを含むだけであり、一般に大きなディジタル・フィルタを含まない。その理由は、映像推定器２６Ａの（複数の）非整数ピクセル演算ユニット３２Ａのいずれかの大きなディジタル・フィルタの出力は、映像推定及び映像補正の両者に使用するためにローカル・メモリ２５Ａ中に記憶されるためである。したがって、映像補正器２８Ａにおける所定の方向に対して３個又はそれより多くの入力を必要とするディジタル・フィルタを与える必要性が、回避されることができる。
【００５３】
差異ブロック計算ユニット３８Ａは、一般に現在のビデオ・ブロックと最善予測との間の差異を表す差異ブロックを発生する。差異ブロックは、しかも、“予測行列”又は“残差（residual）”としても呼ばれることがある。差異ブロックは、一般に最善予測のピクセル値と現在のビデオ・ブロックにおける差異を表す値の行列である。言い換えると：
差異ブロック＝最善予測のピクセル値−現在のビデオ・ブロックのピクセル値
ビデオ・ブロック・エンコーダ３９は、差異ブロックを圧縮するために差異ブロックをエンコードし、そしてエンコードされたビデオ・ブロックは、その後、他の１個の装置への送信のために送信機２０Ａへ転送される。ある場合には、エンコードされたビデオ・ブロックは、ビデオ・メモリ１６Ａに一時的に記憶されることができる。ビデオ・メモリ１６Ａでは、エンコードされたビデオ・ブロックは、累積され、それからビデオ・フレームのストリームとして送信機２０Ａによって送られる。いずれの場合でも、エンコードされたビデオ・ブロックは、エンコードされた差異ブロック及び映像ベクトルの形式を取ることができる。差異ブロックは、最善予測と現在のビデオ・ブロックのピクセル値の差異を表す。映像ベクトルは、フレームの範囲内で若しくはフレームから発生された部分ピクセルの範囲内でのいずれかで、最善予測の位置を同定する。異なるビデオ標準では、どのフレームへ映像ベクトルを適用するかを同定する種々の方法がある。例えば、参照画像インデックスを利用するＨ．２６４において、及びＭＰＥＧ４又はＭＰＥＧ２において、この情報は、マクロブロック・ヘッダ情報で搬送される。
【００５４】
図３は、ビデオ・エンコーダ１８Ｂを含む装置１２Ｂのイグゼンプラリなブロック図である。図３の装置１２Ｂは、図１の装置１２に対応することができ、図２の装置１２Ａに類似する。図３の装置１２Ｂは、図２に説明された装置１２Ａのさらに特定の実施形態を表す。装置１２Ｂは、例えば、ＩＴＵ  Ｈ．２６４ビデオ・エンコーディング標準に準拠することができる。
【００５５】
図３に示されたように、装置１２Ｂは、ビデオ・シーケンスをエンコードするためのビデオ・エンコーダ１８Ｂ、及びエンコーディングの前後のビデオ・シーケンスを記憶させるためのビデオ・メモリ１６Ｂを含む。装置１２Ｂは、しかも、エンコードされたシーケンスを他の１個の装置へ送信するための送信機２０Ｂ、そしておそらくビデオ・シーケンスを取り込み、メモリ１６Ｂ中に取り込んだシーケンスを記憶させるために、ビデオ・カメラのようなビデオ取り込み装置２３Ｂも含むことができる。装置１２Ｂの種々の素子は、通信バス３５Ｂを介して通信的に接続されることができる。フレーム内エンコーダ素子、各種のフィルタ、又はその他の素子のような、各種のその他の素子も、装置１２Ｂに含まれることができるが、単純化のために具体的に図示されない。
【００５６】
ビデオ・メモリ１６Ｂは、一般的に、比較的大きなメモリ空間を具備する。ビデオ・メモリ１６Ｂは、例えば、ＤＲＡＭ、フラッシュ・メモリ、おそらく不揮発性メモリ、又はいずれかのその他のデータ記憶装置を具備できる。
【００５７】
ビデオ・エンコーダ１８Ｂは、ビデオ・メモリ１６Ｂに対して相対的に小さなそして早いメモリ空間を具備することができるローカル・メモリ２５Ｂを含む。例として、ローカル・メモリ２５Ｂは、シンクロナス・ランダム・アクセス・メモリ（ＳＲＡＭ）を具備できる。ローカル・メモリ２５Ｂは、しかも、ビデオ・エンコーダ１８Ｂのその他の構成要素とともに集積された“チップ搭載”メモリを具備できて、プロセッサ集中型のエンコーディング・プロセスの間にデータへの非常に高速なアクセスを提供する。所定のビデオ・フレームのエンコーディングの間に、エンコードされようとしている現在のビデオ・ブロックは、ビデオ・メモリ１６Ｂからローカル・メモリ２５Ｂへロードされることができる。
【００５８】
映像推定器２６Ｂは、最善予測を同定するために現在のビデオ・ブロックを検索空間中の種々のビデオ・ブロックと比較する。映像推定器２６Ｂは、１／２ピクセル値及び１／４ピクセル値を使用するＩＴＵ  Ｈ．２６４エンコーディング・スキームをサポートする。特に、非整数ピクセル演算ユニット３２Ｂは、１／２ピクセル補間のために６−タップ・フィルタ３１を、及び１／４ピクセル補間のために２−タップ・フィルタ３３を含むことができる。水平１／２と１／４ピクセル値及び垂直１／２と１／４ピクセル値の両者が、発生されることがある。
【００５９】
１／２ピクセル値は、ＩＴＵ  Ｈ．２６４ビデオ・エンコーディング標準にしたがって、６個の連続したピクセルの重み付けされた平均として６−タップ・フィルタ３１により発生される。１／４ピクセル値は、整数ピクセル値と隣接する１／２ピクセル値の平均として２−タップ・フィルタ３３により発生される。言い換えると、フィルタのタップ加重は、ＩＴＵ  Ｈ．２６４ビデオ・エンコーディング標準によって指定されることができるけれども、本明細書は、その点に限定されない。
【００６０】
ある場合には、別々の６−タップ・フィルタが、水平補間及び垂直補間の両者のために映像推定器２６Ｂ中に与えられ、両方の６−タップ・フィルタの出力は、映像推定及び映像補正において使用されることができる。その他の場合には、同一の６−タップ・フィルタが、水平補間及び垂直補間の両者のために使用されることができる。後者の場合には、しかしながら、クロック速度は、速められる必要があり、これは電力消費を増加させる。したがって、映像推定において別々の水平補間及び垂直補間のために２個の６−タップ・フィルタを与えることがさらに望まれることがあり、それから、映像補正において水平補間及び垂直補間のために両方の６−タップ・ディジタル・フィルタの出力を再使用する。映像推定器２６Ｂが、水平及び垂直１／２ピクセル補間に２個の６−タップ・フィルタを与えるか、１個の６−タップ・フィルタが水平及び垂直１／２ピクセル補間の両者に対して使用されるかどうかに拘らず、１個の２−タップ・ディジタル・フィルタが、１／４ピクセル補間に対して映像推定器２６Ｂ及び映像補正器２８Ｂのそれぞれに与えられることができる。しかしながら、追加の２−タップ・フィルタも、しかも処理速度を増加させるために含まれるはずである。
【００６１】
いずれの場合でも、本明細書にしたがって、６−タップ・フィルタ３１の１／２ピクセル出力は、映像推定及び映像補正の両者のために使用される。言い換えると、６−タップ・フィルタ３１の１／２ピクセル出力は、映像推定のために使用され、その後、映像補正におけるその後の使用のためにメモリ２５Ｂに記憶される。対照的に、２−タップ・フィルタ３３の１／４ピクセル出力は、映像推定のためにだけ使用され、その後、破棄される又はメモリ２５Ｂにおいて上書きされる。
【００６２】
ビデオ・ブロック符合ユニット３４Ｂは、エンコードされようとしている現在のビデオ・ブロックとメモリ２５Ｂの検索空間中の候補ビデオ・ブロックとの間の比較を実行する。候補ビデオ・ブロックは、非整数ピクセル演算ユニット３２Ｂによって発生された１／４又は１／２ピクセル値を含むいずれかの候補ビデオ・ブロックを含む。例えば、ビデオ・ブロック符合ユニット３４Ｂは、差異プロセッサ、若しくは最善予測（又は単に適正な予測）を同定するために差異計算を実行するソフトウェア・ルーチンを具備できる。例として、ビデオ・ブロック符合ユニット３４Ｂは、ＳＡＤ技術、ＳＳＤ技術、又は、二乗平均誤差（ＭＳＥ）、規格化されたクロス相関関数（ＮＣＣＦ）、若しくは他の１つの好適な比較アルゴリズムのような、その他の比較技術を実行できる。
【００６３】
最終的に、ビデオ・ブロック符合ユニット３４Ｂは、“最善予測”を同定できる。最善予測は、エンコードされようとしているビデオ・ブロックに最もぴったりと符合する候補ビデオ・ブロックである。ある実施形態では、ビデオ・ブロック符合ユニット３４Ｂは、パイプライン方式で実行されることができる。例えば、ビデオ・ブロック符合ユニット３４Ｂは、１より多くのビデオ・ブロックを同時に取り扱う処理パイプラインを具備できる。さらに、ある場合では、エンコードされようとしているビデオ・ブロックのサイズが、４ピクセル×４ピクセル・ビデオ・ブロックよりも大きい場合でさえも、処理パイプラインは、４ピクセル×４ピクセル・ビデオ・ブロック上で動作するように設計されることができる。パイプライン型の実施形態では、１／４ピクセル記憶に割り当てられたメモリは、ピクセルがパイプラインに一旦考慮に入れられると上書きされる。これは、必要なメモリの量を削減できる。当然、１／２ピクセル値は、ここに概要を述べたように、引き続く使用のために記憶される。
【００６４】
一旦、最善予測がビデオ・ブロックに対してビデオ・ブロック符合ユニット３４Ｂによって同定されると、映像補正器２８Ｂは、現在のビデオ・ブロックと最善予測との間の差異を示している差異ブロックを発生できる。映像補正器２８Ｂは、差異ブロック・エンコーダ３９Ｂへ差異ブロックを転送できる。差異ブロック・エンコーダ３９Ｂは、ＩＴＵ  Ｈ．２６４エンコーディング標準によってサポートされる各種の追加のエンコーディングを実行する。差異ブロック・エンコーダ３９Ｂは、映像ベクトルとともに他の１個の装置への送信のためにバス３５Ｂを介して送信機２０Ｂへエンコードされた差異ブロックを転送する。映像ベクトルは、どちらの候補ビデオ・ブロックがエンコーディングに対して使用されたかを示す。
【００６５】
映像補正器２８Ｂは、ローカル・メモリ２５Ｂに未だ記憶されていない最善予測のいずれかの非整数ピクセルを発生するための非整数ピクセル演算ユニット３６Ｂを含む。映像補正器２８Ｂの非整数ピクセル演算ユニット３６Ｂは、１／４ピクセル値を発生するための２−タップ・ディジタル・フィルタを含むだけであり、一般に１／２ピクセル値を発生するための６−タップ・ディジタル・フィルタを含まない。その理由は、映像推定器２６Ｂの６−タップ・ディジタル・フィルタ３１の１／２ピクセル出力は、映像推定及び映像補正の両者に対して使用するためにローカル・メモリ２５Ｂ中に記憶されるためである。したがって、映像補正器２８Ｂ中に６−タップ・ディジタル・フィルタを与える必要性は、回避されることができる。再び、２−タップ・ディジタル・フィルタは、著しいチップ回路領域を必要とせずに非常に容易に与えられることができる。６−タップ・ディジタル・フィルタは、対照的に、もっともっと複雑である。したがって、所定のビデオ・ブロックのエンコーディング・プロセスの間に長い時間にわたって６−タップ・ディジタル・フィルタ３１の１／２ピクセル出力をバッファするために必要な追加のメモリ空間は、追加の６−タップ・ディジタル・フィルタに対する必要性を削除できるため価値がある。
【００６６】
差異ブロック計算ユニット３８Ｂは、一般に現在のビデオ・ブロックと最善予測との間の差異を表す差異ブロックを発生する。再び、差異ブロックは、一般に下記のように計算される：
差異ブロック＝最善予測のピクセル値−現在のビデオ・ブロックのピクセル値
映像補正器２８Ｂは、差異ブロック・エンコーダ３９Ｂへ差異ブロックを転送する。差異ブロック・エンコーダ３９Ｂは、差異ブロックをエンコードし圧縮して、そして他の１個の装置への送信のために送信機２０Ｂへエンコードされた差異ブロックを送る。送信された情報は、エンコードされた差異ブロック及び映像ベクトルの形式を取ることができる。差異ブロックは、最善予測と現在のビデオ・ブロックのピクセル値の差異を表す。映像ベクトルは、フレームの内部で又はフレームから発生された部分ピクセルの内部のいずれかで、最善予測の位置を同定する。
【００６７】
図４は、４ピクセル×４ピクセル・ビデオ・ブロックに対応する位置の付近に形成されたイグゼンプラリな検索空間４０の図である。特に、検索空間４０は、前のビデオ・フレーム又は後続のビデオ・フレームのピクセルを具備できる。エンコードされようとしている現在のビデオ・ブロックは、検索空間４０の最も中心のピクセル４２の位置に対応する現在のフレームの４ピクセル×４ピクセル・ビデオ・ブロックを具備できる。
【００６８】
図５は、１／２ピクセル値の列を含むイグゼンプラリな検索空間５０の図である。“Ｂｘｘ”と名前を付けられたピクセル値は、水平１／２ピクセル値に対応し、ここで説明されたように、６−タップ・ディジタル・フィルタによって発生されることができる。例えば、ピクセルＢ００は、ピクセルＡ００−Ａ０５（図４）の重み付けされた平均を具備できる。フィルタのタップ加重は、異なる整数ピクセルに与えられる重み付けを規定でき、サポートされている標準によって指定されることができる。“Ｂｘｘ”と名前を付けられた水平１／２ピクセル値は、ここで説明されたように、ローカル・メモリ中に記憶されることができ、映像推定及び映像補正の両者のために再使用されることができる。実際の記憶スキームは、異なる実行において変化することができる。一例では、水平バッファは、水平１／２ピクセル値、すなわち、“Ｂｘｘ”と名前を付けられたもの、を具体的に記憶するためにローカル・メモリ中に維持される。
【００６９】
図６は、１／２ピクセル値の行及び列を含むイグゼンプラリな検索空間６０の他の１つの図である。“Ｃｘｘ”と名前を付けられたピクセル値は、垂直１／２ピクセル値に対応し、ここで説明されたように、映像推定器の６−タップ・ディジタル・フィルタによって発生されることができる。例えば、ピクセルＣ００は、ピクセルＡ０２−Ａ５２（図５）の重み付けされた平均を具備でき、ピクセルＣ０１は、ピクセルＢ００−Ｂ０５（図５）の重み付けされた平均を具備できる。“Ｃｘｘ”と名前を付けられた垂直１／２ピクセル値は、ここで説明されたように、ローカル・メモリ中に記憶されることができ、映像推定及び映像補正の両者のために再使用されることができる。しかしながら、記憶スキームは、異なる実行において変化することができる。一例では、垂直バッファは、垂直１／２ピクセル値、すなわち、“Ｃｘｘ”と名前を付けられたもの、を具体的に記憶するためにローカル・メモリ中に維持される。
【００７０】
追加のバッファは、１／４ピクセル値に対して割り当てられることができるが、このバッファは、大きさがさらに制限されることがある。１／４ピクセル値は、１／４ピクセル・バッファ中に記憶されることができるが、その後、考慮に入れられた後で、その他の１／４ピクセル値で上書きされることができる。本明細書は、２−タップ・ディジタル・フィルタが、チップ装備の観点から、追加のメモリ空間より費用がかからないことを理解する。追加のメモリ空間は、そうでなければ、所定のビデオ・ブロックのエンコーディング・プロセス全体のために各発生された１／４ピクセル値を記憶させることを必要とされる。
【００７１】
付け加えると、同一のハードウェアは、エンコーディング及びデコーディングの両者に対して使用されることができる。デコーディング・スキームは、集中的でなく、一般に必要に応じて、ピクセル値の発生を必要とする。本明細書にしたがって、映像推定器及び映像補正器において使用される同一のディジタル・フィルタは、しかも、いずれかの非整数ピクセル値を発生するためにデコーディングにおいて使用されることができる。
【００７２】
図７は、４ピクセル×４ピクセル・ビデオ・ブロックをデコードするために使用されることができる検索空間７０の図である。その場合に、いずれかの水平又は垂直ピクセル値が検索空間７０に基づいて発生される必要があるならば、映像推定器の６−タップ・ディジタル・フィルタが、使用されることができる。ピクセル７２のセットは、水平ピクセル値の全てを規定する。６−タップ・ディジタル・フィルタがＩＴＵ  Ｈ．２６４標準に準拠して使用される場合に、水平ピクセル値は、検索空間７０から発生されることができる。示されたように、ピクセルＢ００は、ピクセルＡ００−Ａ０５の重み付けされた合計を具備し、ピクセル３１Ｂは、ピクセルＡ３１−Ａ３６の重み付けされた合計を具備する。整数ピクセルの重み付けされた合計に対応する垂直１／２ピクセル値は、類似の方法で発生されることができるが、単純化のために具体的に図示されない。
【００７３】
しかも、追加の垂直１／２ピクセル値は、ピクセル７４の他の１つのセットを規定するために、ピクセル７２のセットから発生されることができる。例えば、ピクセルＣ０３は、ピクセルＢ０３−Ｂ５３の重み付けされた合計を具備できる。いずれかの１／４ピクセル値は、整数ピクセル値及び隣接する１／２ピクセル値である入力を有する２−タップ・ディジタル・フィルタを使用して、必要に応じて、同様に発生されることができる。例えば、ピクセルＡ０２により近いピクセルＡ０２とＡ０３との間の１／４ピクセル値は、Ａ０２とＢ００の平均であるはずである。同様に、ピクセルＡ０３により近いピクセルＡ０２とＡ０３との間の１／４ピクセル値は、Ｂ００とＡ０３の平均であるはずである。
【００７４】
重要なことに、エンコーディングのために使用された同一のハードウェア、すなわち、６−タップ・ディジタル・フィルタ及び各種の２−タップ・ディジタル・フィルタ、は、入力としての検索空間７０に基づいて、デコーディングのために必要ないずれかの出力を発生するために使用されることができる。したがって、ここに説明されたエンコーディング技術は、同一のハードウェアがエンコーディング及びデコーディングの両者に対して使用されることができるデコーディング・スキームと完全に整合する。
【００７５】
図８は、ビデオ・エンコーディング技術を説明するフロー図である。例示の目的のために、図８は、図３の装置１２Ｂの観点から説明される。ビデオ・エンコーディング技術は、図８に説明された全てのステップ、若しくは説明されたステップのサブセットを具備できる。図８に示されたように、ビデオ・エンコーダ１８Ｂは、ビデオ・メモリ１６Ｂからローカル・メモリ２５Ｂへ整数ピクセルの検索領域をロードする（８１）。ビデオ・ブロック符合ユニット３４Ｂは、それから直ぐに、整数ビデオ・ブロック、すなわち、整数ピクセル値だけを有するビデオ・ブロック、に対して映像推定差異演算を実行し始めることができる（８２）。一方で、６−タップ・ディジタル・フィルタ３１は、整数ピクセルの種々のサブセットの重み付けされた合計に基づいて１／２ピクセル値を発生する（８３）。重要な点は、ビデオ・エンコーダ１８Ｂは、映像推定において使用するだけでなく、引き続く映像補正における使用のために発生された１／２ピクセル値を記憶する（８４）。
【００７６】
この点で、ビデオ・ブロック符合ユニット３４Ｂは、１／２整数ビデオ・ブロック、すなわち、１／２整数ピクセル値を含むいずれかのビデオ・ブロック、に対して映像推定差異演算を実行できる（８５）。２−タップ・ディジタル・フィルタ３３は、１／４ピクセル値を、例えば、整数ピクセル値と隣接する１／２ピクセル値との平均として、発生する（８６）。１／４ピクセル値は、映像推定に対して使用されることができるが、いずれかの引き続く使用のために記憶される必要がない。ビデオ・ブロック符合ユニット３４Ｂは、１／４整数ビデオ・ブロック、すなわち、１／４整数ピクセル値を含むいずれかのビデオ・ブロック、に対して映像推定差異演算を実行できる（８７）。
【００７７】
一旦、１／２ピクセル・ブロック及び１／４ピクセル・ブロックを含む各候補ビデオ・ブロックが、エンコードされようとしている現在のビデオ・ブロックに対して比較されると、映像推定器２６Ｂは、最善予測を同定する（８８）。しかしながら、上記に述べられたように、本明細書は、しかも、効果的なビデオ・エンコーディング及び圧縮のために好適な符合（match）であるにも拘らず、“最善の”符合である必要がない、適切な符合の使用を熟慮する。映像補正は、その後、実行される。
【００７８】
映像補正の間に、映像補正器２８Ｂは、６−タップ・フィルタ３１により発生され、ローカル・メモリ２５Ｂに記憶された１／２ピクセル値を使用する（８９）。しかしながら、２−タップ・フィルタ３７は、映像補正のために必要ないずれかの１／４ピクセル値を発生する（９０）。その場合には、２−タップ・フィルタ３７は、２−タップ・ディジタル・フィルタ３３によって以前に発生された少なくともいくつかの１／４ピクセル値を再発生できる。差異ブロック計算ユニット３８Ｂは、差異ブロック、例えば、エンコードされようとしている現在のビデオ・ブロックと最善予測ビデオ・ブロックとの間の差異を示す、を発生する（９１）。差異ブロックは、それからエンコードされ、ビデオ・エンコーディングに対して使用された候補ビデオ・ブロックの位置を同定する映像ベクトルとともに送信される。
【００７９】
複数の異なる実施形態が説明されてきた。技術は、非整数ピクセル演算を実行するために使用されるハードウェアとローカル・メモリ空間との間の効果的なバランスを実現することによって、ビデオ・エンコーディングを改善することができる。これらの方法及びおそらくその他の方法では、技術は、ＩＴＵ  Ｈ．２６４標準のような標準、若しくは多岐にわたる専用標準のいずれかを含む非整数ピクセル値を使用するいずれかのその他のビデオ・エンコーディング標準にしたがってビデオ・エンコーディングを改善できる。特に、ビデオ・エンコーディング標準が、特定の方向での非整数ピクセル値の発生において、３−タップ・フィルタ又はそれより大きなフィルタの使用を要求する場合にはいつでも、技術は、特に有効である。言い換えると、ビデオ・エンコーディング標準が、一方向の補間に対して３−タップ・フィルタ又はそれより大きなフィルタの使用を要求する場合にはいつでも、技術は、特に有効である。しかも、標準が、２方向の補間において５−タップ・フィルタ又はそれより大きなフィルタを使用して実行されることができるのであれば、技術は、有用である可能性もある。サポートされる所定の標準は、種々のフィルタのタップ加重を指定できる。
【００８０】
技術は、ハードウェア、ソフトウェア、ファームウェア、若しくはそれらの任意の組み合わせにおいて実行されることができる。ソフトウェアで実行されるのであれば、技術は、実行される場合に、装置においてビデオ・シーケンスをエンコードし上記に述べられた１又はそれより多くの方法を実行するプログラム・コードを具備するコンピュータ読み取り可能な媒体に向けられることができる。その場合には、コンピュータ読み取り可能な媒体は、シンクロナス・ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ）のようなダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、不揮発性ランダム・アクセス・メモリ（ＮＶＲＡＭ）、電気的書き込み可能な読み取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、及びその他を具備できる。
【００８１】
プログラム・コードは、コンピュータ読み取り可能な命令の形式でメモリに記憶されることができる。その場合には、ＤＳＰのようなプロセッサは、ここに説明された技術の１又はそれより多くを実行するためにメモリに記憶された命令を実行できる。ある場合には、技術は、エンコーディング・プロセスを加速するために映像推定器のような各種のハードウェア構成要素を呼び出すＤＳＰによって実行されることができる。その他の場合には、ビデオ・エンコーダは、マイクロプロセッサ、１又はそれより多くの用途特定集積回路（ＡＳＩＣ）、１又はそれより多くのフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、若しくはある種のその他のハードウェア−ソフトウェアの組み合わせとして与えられることができる。これらの実施形態及びその他の実施形態は、本発明の特許請求の範囲の範囲内である。
【図面の簡単な説明】
【００８２】
【図１】図１は、ソース・ディジタル・ビデオ装置が受信ディジタル・ビデオ装置へビデオ・データのエンコードされたシーケンスを送信する一例のシステムを説明するブロック図である。
【図２】図２は、ビデオ・エンコーダを含む装置のイグゼンプラリなブロック図である。
【図３】図３は、ビデオ・エンコーダを含む装置の他の１つのイグゼンプラリなブロック図である。
【図４】図４は、４−ピクセル×４−ピクセル・ビデオ・ブロックに対応する位置の近くに形成されたイグゼンプラリな検索空間の図である。
【図５】図５は、１／２ピクセル値の列を含むイグゼンプラリな検索空間の図である。
【図６】図６は、１／２ピクセル値の行及び列を含むイグゼンプラリな検索空間の図である。
【図７】図７は、検索空間及びデコーディングをサポートするために検索空間から発生されることができる種々のピクセルの図である。
【図８】図８は、ビデオ・エンコーディング技術を説明するフロー図である。
【符号の説明】
【００８３】
１０…システム，３５…通信バス，４０，５０，６０，７０…検索空間。
【図１】
2006129436.tif 000003
【図２】
2006129436.tif 000004
【図３】
2006129436.tif 000005
【図４】
2006129436.tif 000006
【図５】
2006129436.tif 000007
【図６】
2006129436.tif 000008
【図７】
2006129436.tif 000009
【図８】
2006129436.tif 000010
【外国語明細書】
2006129436000001.pdf