(57)【特許請求の範囲】
【請求項１】
ビデオシーケンスのコード化単位内のビデオブロックの符号化または復号化の間に動き補償プロセスを実行する方法において、
前記動き補償プロセスにおいて、１以上の参照ビデオ単位から、前にデコードされた再構築された参照ブロックを具備しピクセルのブロック内の整数ピクセル位置に対応する整数ピクセル値を含む前記ピクセルのブロックを得ること、
前記ピクセルのブロックを得ることの後に、調整された整数ピクセル値を発生するために、前記ピクセルのブロック内の他の整数ピクセル値に基づいて前記整数ピクセル値をフィルタ処理し、前記ピクセルのブロック内に既に存在する整数ピクセル位置に対応する前記調整された整数ピクセル値を生成するように、前記動き補償プロセスの間、前記フィルタ処理が適用され、動きベクトルがサブピクセル位置を指すとき前記フィルタ処理がサブピクセルの補間のために使用されること、
前記整数ピクセル値をフィルタ処理することの後に、前記調整された整数ピクセル値に基づいて前記ビデオブロックの前記符号化または前記復号化の間の前記動き補償プロセスにおける予測ブロックを発生すること、
を具備する方法。
【請求項２】
前記方法は、符号化プロセスの間に実行され、前記方法は、符号化されている現在のビデオブロックと前記予測ブロックとの間の差として、残差ビデオブロックを発生することをさらに具備する、請求項１の方法。
【請求項３】
前記方法は、符号化プロセスの間に実行され、前記方法は、整数フィルタ処理のためにコード化単位当たりフィルタ係数の１セットを符号化することをさらに具備する、請求項１の方法。
【請求項４】
前記方法は、符号化プロセスの間に実行され、前記方法は、各コード化単位内の異なるロケーションにおける整数フィルタ処理のために前記コード化単位当たりフィルタ係数の２以上のセットを符号化することをさらに具備する、請求項１の方法。
【請求項５】
フィルタ処理は２次元フィルタを適用することを具備する、請求項１の方法。
【請求項６】
前記２次元フィルタは、オフセットを持つ５×５フィルタを具備する、請求項５の方法。
【請求項７】
係数対称性は前記フィルタ処理のために使用される少なくともいくつかの係数の間に存在する、請求項１の方法。
【請求項８】
前記方法は、復号プロセスの間に実行され、前記方法は、復号されている現在のビデオブロックに関連する残差ビデオブロックと前記予測ブロックとの和として再構成されたビデオブロックを発生することをさらに具備する、請求項１の方法。
【請求項９】
前記方法は、復号プロセスの間に実行され、前記方法は、整数フィルタ処理のためにコード化単位当たりフィルタ係数の１セットを受信することをさらに具備する、請求項１の方法。
【請求項１０】
前記方法は、復号プロセスの間に実行され、前記方法は、コード化単位内の異なるロケーションにおける整数フィルタ処理のために前記コード化単位当たりフィルタ係数の２以上のセットを受信することをさらに具備する、請求項１の方法。
【請求項１１】
ビデオシーケンスのコード化単位内のビデオブロックの符号化または復号化の間に動き補償プロセスを実行し、
前記動き補償プロセスにおいて、１以上の参照ビデオ単位から、前にデコードされた再構築された参照ブロックを具備し、ピクセルのブロック内の整数ピクセル位置に対応する整数ピクセル値を含む、前記ピクセルのブロックを取得し、
前記ピクセルのブロックを得ることの後に、前記ピクセルのブロック内の他の整数ピクセル値に基づいて前記整数ピクセル値をフィルタ処理し、調整された整数ピクセル値を発生し、前記ピクセルのブロック内に既に存在する整数ピクセル位置に対応する前記調整された整数ピクセル値を生成するように、前記動き補償プロセスの間、前記フィルタ処理が適用され、動きベクトルがサブピクセル位置を指すとき前記フィルタ処理がサブピクセルの補間のために使用され、
前記整数ピクセル値をフィルタ処理することの後に、前記調整された整数ピクセル値に基づいて前記ビデオブロックの前記符号化または前記復号化の間の前記動き補償プロセスにおける予測ブロックを発生するビデオコーダを具備する装置。
【請求項１２】
前記ビデオコーダは、ビデオ符号化プロセスを実行し、前記ビデオコーダは、符号化されている現在のビデオブロックと前記予測ブロックとの間の差として、残差ビデオブロックを発生する、請求項１１の装置。
【請求項１３】
前記ビデオコーダは、ビデオ符号化プロセスを実行し、前記ビデオコーダは、整数フィルタ処理のためにコード化単位当たりフィルタ係数の１セットを符号化する、請求項１１の装置。
【請求項１４】
前記ビデオコーダは、ビデオ符号化プロセスを実行し、前記ビデオコーダは、コード化単位内の異なるロケーションにおける整数フィルタ処理のために前記コード化単位当たりフィルタ係数の２以上のセットを符号化する、請求項１１の装置。
【請求項１５】
前記整数ピクセル値をフィルタ処理することにおいて、前記装置は２次元フィルタを適用する、請求項１１の装置。
【請求項１６】
前記２次元フィルタは、オフセットを持つ５×５フィルタを具備する、請求項１５の装置。
【請求項１７】
係数対称性は前記フィルタ処理のために使用される少なくともいくつかの係数の間に存在する、請求項１１の装置。
【請求項１８】
前記ビデオコーダは、復号プロセスを実行し、前記ビデオコーダは、復号されている現在のビデオブロックに関連する残差ビデオブロックと前記予測ブロックとの和として再構成されたビデオブロックを発生する、請求項１１の装置。
【請求項１９】
前記ビデオコーダは、復号プロセスを実行し、前記ビデオコーダは、整数フィルタ処理のためにコード化単位当たりフィルタ係数の１セットを受信する、請求項１１の装置。
【請求項２０】
前記ビデオコーダは、復号プロセスを実行し、前記ビデオコーダは、コード化単位内の異なるロケーションにおける整数フィルタ処理のために前記コード化単位当たりフィルタ係数の２以上のセットを受信する、請求項１１の装置。
【請求項２１】
前記ビデオコーダは、集積回路を具備する、請求項１１の装置。
【請求項２２】
前記ビデオコーダは、マイクロプロセッサを具備する、請求項１１の装置。
【請求項２３】
前記装置は、前記ビデオコーダを含むワイヤレス通信装置を具備する、請求項１１の装置。
【請求項２４】
ビデオシーケンスのコード化単位内のビデオブロックの符号化または復号化の間に動き補償プロセスを実行し、
前記動き補償プロセスにおいて、１以上の参照ビデオ単位から、前にデコードされた再構築された参照ブロックを具備し、ピクセルのブロック内の整数ピクセル位置に対応する整数ピクセル値を含む、前記ピクセルのブロックを取得する手段と、
前記ピクセルのブロックを取得することの後に、調整された整数ピクセル値を発生するために前記ピクセルのブロック内の他の整数ピクセル値に基づいて前記整数ピクセル値をフィルタ処理する手段と、前記ピクセルのブロック内に既に存在する整数ピクセル位置に対応する前記調整された整数ピクセル値を生成するように、前記動き補償プロセスの間、前記フィルタ処理が適用され、動きベクトルがサブピクセル位置を指すとき前記フィルタ処理がサブピクセルの補間のために使用され、
前記整数ピクセル値をフィルタ処理する手段の後に、前記調整された整数ピクセル値に基づいて前記ビデオブロックの前記符号化または前記復号化の間の前記動き補償プロセスにおける予測ブロックを発生する手段と、を具備する装置。
【請求項２５】
前記装置は、符号化プロセスを実行し、前記装置は、符号化されている現在のビデオブロックと前記予測ブロックとの間の差として、残差ビデオブロックを発生するための手段を具備する、請求項２４の装置。
【請求項２６】
前記装置は、復号プロセスを実行し、前記装置は、整数フィルタ処理のためにコード化単位当たりフィルタ係数の１セットを受信するための手段をさらに具備する、請求項２４の装置。
【請求項２７】
前記装置は、符号化プロセスを実行し、前記装置は、コード化単位内の異なるロケーションにおける整数フィルタ処理のために前記コード化単位当たりフィルタ係数の２以上のセットを符号化するための手段をさらに具備する、請求項２４の装置。
【請求項２８】
フィルタ処理のための手段は２次元フィルタを適用するための手段を具備する、請求項２４の装置。
【請求項２９】
前記２次元フィルタは、オフセットを持つ５×５フィルタを具備する、請求項２８の装置。
【請求項３０】
係数対称性は前記フィルタ処理のために使用される少なくともいくつかの係数の間に存在する、請求項２４の装置。
【請求項３１】
前記装置は、復号プロセスを実行し、前記装置は、復号されている現在のビデオブロックに関連する残差ビデオブロックと前記予測ブロックとの和として再構成されたビデオブロックを発生するための手段をさらに具備する、請求項２４の装置。
【請求項３２】
前記装置は、復号プロセスを実行し、前記装置は、整数フィルタ処理のためにコード化単位当たりフィルタ係数の１セットを受信するための手段をさらに具備する、請求項２４の装置。
【請求項３３】
前記装置は、復号プロセスを実行し、前記装置は、コード化単位内の異なるロケーションにおける整数フィルタ処理のために前記コード化単位当たりフィルタ係数の２以上のセットを受信するための手段をさらに具備する、請求項２４の装置。
【請求項３４】
プロセッサに行わせる命令を備えるコンピュータ可読記憶媒体であって、
前記命令は、プロセッサに、
ビデオシーケンスのコード化単位内のビデオブロックの符号化または復号化の間に動き補償プロセスを実行させ、
前記動き補償プロセスにおいて、１以上の参照ビデオ単位から、前にデコードされた再構築された参照ブロックを具備しピクセルのブロック内の整数ピクセル位置に対応する整数ピクセル値を含む前記ピクセルのブロックを取得させ、
前記ピクセルのブロックを取得させることの後に、調整された整数ピクセル値を発生するために、前記ピクセルのブロック内の他の整数ピクセル値に基づいて前記整数ピクセル値をフィルタ処理させ、前記ピクセルのブロック内に既に存在する整数ピクセル位置に対応する前記調整された整数ピクセル値を生成するように、前記動き補償プロセスの間、前記フィルタ処理が適用され、動きベクトルがサブピクセル位置を指すとき前記フィルタ処理がサブピクセルの補間のために使用されること、
前記整数ピクセル値をフィルタ処理させることの後に、前記調整された整数ピクセル値に基づいて前記ビデオブロックの前記符号化または前記復号化の間の前記動き補償プロセスにおける予測ブロックを発生させるコンピュータ可読記憶媒体。
【請求項３５】
前記命令は、前記プロセッサに、符号化プロセスを実行することを行わせ、前記命令は、前記プロセッサに、符号化されている現在のビデオブロックと前記予測ブロックとの間の差として、残差ビデオブロックを発生することを行わせる、請求項３４のコンピュータ可読記憶媒体。
【請求項３６】
前記命令は、前記プロセッサに、符号化プロセスを実行することを行わせ、前記命令は、前記プロセッサに、整数フィルタ処理のためにコード化単位当たりフィルタ係数の１セットを符号化することを行わせる、請求項３４のコンピュータ可読記憶媒体。
【請求項３７】
前記命令は、前記プロセッサに、符号化プロセスを実行することを行わせ、前記命令は、前記プロセッサに、コード化単位内の異なるロケーションにおける整数フィルタ処理のために前記コード化単位当たりフィルタ係数の２以上のセットを符号化することを行わせる、請求項３４のコンピュータ可読記憶媒体。
【請求項３８】
前記整数ピクセル値をフィルタ処理することにおいて、前記命令は、前記プロセッサに、２次元フィルタを適用させる、請求項３４のコンピュータ可読記憶媒体。
【請求項３９】
前記２次元フィルタは、オフセットを持つ５×５フィルタを具備する、請求項３８のコンピュータ可読記憶媒体。
【請求項４０】
係数対称性は前記フィルタ処理のために使用される少なくともいくつかの係数の間に存在する、請求項３４のコンピュータ可読記憶媒体。
【請求項４１】
前記命令は、前記プロセッサに、復号プロセスを実行することを行わせ、前記命令は、前記プロセッサに、復号されている現在のビデオブロックに関連する残差ビデオブロックと前記予測ブロックとの和として再構成されたビデオブロックを発生することを行わせる、請求項３４のコンピュータ可読記憶媒体。
【請求項４２】
前記命令は、前記プロセッサに、復号プロセスを実行することを行わせ、前記命令は、整数フィルタ処理のためにコード化単位当たりフィルタ係数の１セットを受信する、請求項３４のコンピュータ可読記憶媒体。
【請求項４３】
前記命令は、前記プロセッサに、復号プロセスを実行することを行わせ、前記命令は、コード化単位内の異なるロケーションにおける整数フィルタ処理のために前記コード化単位当たりフィルタ係数の２以上のセットを受信する、請求項３４のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【関連出願】
【０００１】
本出願は、その内容全体が参照により本明細書に組み込まれる、２００８年４月１０日に出願された米国仮出願第６１／０４４，０２０号、２００８年４月１０日に出願された米国仮出願第６１／０４４，０２３号、２００８年４月１１日に出願された米国仮出願第６１／０４４，２４０号、および２００８年５月３０日に出願された米国仮出願第６１／０５７，３７３号の利益を主張する。
【技術分野】
【０００２】
本開示は、デジタルビデオ符号化および復号に関し、より詳細には、ビデオ符号化および復号に使用される予測データを発生するために適用されるフィルタ処理技法に関する。
【背景】
【０００３】
デジタルビデオ機能は、デジタルテレビ、デジタル直接ブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル録音デバイス、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話などを含む、広範囲にわたるデバイスに組み込むことができる。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、またはＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）によって定義された規格に記載されたビデオ圧縮技法などのビデオ圧縮技法を実装して、デジタルビデオをより効率的に送信および受信する。ビデオ圧縮技法では、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および／または時間的予測を実行することができる。
【０００４】
ブロックベースのインターコーディングは、時間的予測を利用して、ビデオシーケンスの連続したコード化単位のビデオブロック間の時間冗長性を低減または除去する非常に有用なコーディング技法である。コード化単位は、ビデオフレーム、ビデオフレームのスライス、ピクチャのグループ、または符号化ビデオブロックの別の定義された単位を備えることができる。インターコーディングの場合、ビデオ符号器は、動き推定および動き補償を実行して、２つ以上の隣接するコード化単位の対応するビデオブロックの移動を追跡する。動き推定は、１つまたは複数の参照フレームまたは他のコード化単位中の対応する予測ビデオブロックに対するビデオブロックの変位を示す動きベクトルを発生する。動き補償は、動きベクトルを使用して、１つまたは複数の参照フレームまたは他のコード化単位から予測ビデオブロックを発生する。動き補償の後、コード化されている元のビデオブロックから予測ビデオブロックを減算することによって、残差ビデオブロックが形成される。
【０００５】
ビデオ符号器はまた、残差ブロックの通信に関連するビットレートをさらに低減するために、変換、量子化およびエントロピーコーディングプロセスを適用することができる。変換技法は、離散コサイン変換（ＤＣＴ）または概念的に同様のプロセスを備えることができる。代替的に、ウェーブレット変換、整数変換、または他のタイプの変換を使用することができる。ＤＣＴプロセスでは、一例として、ピクセル値のセットが、周波数領域におけるピクセル値のエネルギーを表すことができる変換係数に変換される。量子化は、変換係数に適用され、一般に、任意の所与の変換係数に関連するビット数を低減するプロセスを必要とする。エントロピーコーディングは、一連のコーディングモード、動き情報、コード化ブロックパターン、および量子化変換係数を一括して圧縮する１つまたは複数のプロセスを備える。エントロピーコーディングの例には、限定はしないが、コンテンツ適応型可変長コーディング（ＣＡＶＬＣ）およびコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）がある。
【０００６】
コード化ビデオブロックは、予測ブロックを生成または識別するために使用できる予測情報と、コード化されているブロックと予測ブロックとの間の差を示す残差データブロックとによって表される。予測情報は、予測データブロックを識別するために使用される１つまたは複数の動きベクトルを備えることができる。動きベクトルが与えられれば、復号器は、残差をコーディングするために使用された予測ブロックを再構成することができる。したがって、残差ブロックのセットおよび動きベクトルのセット（場合によっては、いくつかの追加のシンタックス）が与えられれば、復号器は、最初に符号化されたビデオフレームを再構成することができる。連続したビデオフレームまたは他のタイプのコード化単位はしばしば極めて類似しているので、動き推定および動き補償に基づくインターコーディングは極めて良好な圧縮を達成することができる。符号化ビデオシーケンスは、残差データのブロック、動きベクトル、場合によっては他のタイプのシンタックスを備えることができる。
【０００７】
インターコーディングにおいて達成できる圧縮のレベルを改善するために補間技法が開発された。この場合、ビデオブロックをコーディングするために使用される、動き補償中に発生された予測データを、動き推定に使用されるビデオフレームまたは他のコード化単位のビデオブロックのピクセルから補間することができる。補間は、予測ハーフピクセル（ハーフペル）値および予測クォーターピクセル（クォーターペル）値を発生するためにしばしば実行される。ハーフペル値およびクォーターペル値はサブピクセルロケーションに関連する。ビデオシーケンス中の部分移動をキャプチャするために、部分動きベクトルを使用して、サブピクセル解像度でビデオブロックを識別し、それによって、整数ビデオブロックよりもコード化されているビデオブロックに類似した予測ブロックを与えることができる。
【概要】
【０００８】
概して、本開示では、ビデオ符号化および／または復号プロセスの予測ステージ中に符号器および復号器によって適用されるフィルタ処理技法について説明する。説明するフィルタ処理技法は、部分補間中に使用される予測データの精度を向上させ、場合によっては、ピクセルの整数ブロックの予測データを改善することができる。本開示には、補間のために使用できる有用な１２ピクセルフィルタサポート、係数対称性およびピクセル対称性を使用して、補間のためのフィルタサポートを構成するために符号器と復号器との間で送信する必要があるデータ量を低減する技法、およびサブピクセル補間と同様の方法で整数ピクセルロケーションにおいてデータをフィルタ処理するための技法を含む、いくつかの態様がある。本開示の他の態様は、使用されるフィルタのタイプ、場合によっては使用されるフィルタ係数を搬送するために、ビットストリーム中の情報を符号化するための技法に関する。フィルタ係数のための予測符号化技法についても説明する。本開示のこれらおよび他の態様は以下の説明から明らかになろう。
【０００９】
一例では、本開示は、ピクセルのブロック内の整数ピクセル位置に対応する整数ピクセル値を含む、前記ピクセルのブロックを得ること、前記ピクセルのブロック内の他の整数ピクセル値に基づいて前記整数ピクセル値をフィルタ処理し、前記整数ピクセル位置に対応する調整された整数ピクセル値を発生すること、前記調整された整数ピクセル値に基づいて予測ブロックを発生すること、を具備する方法方法を提供する。
【００１０】
別の例では、本開示は、ピクセルのブロック内の整数ピクセル位置に対応する整数ピクセル値を含む、前記ピクセルのブロックを取得し、前記ピクセルのブロック内の他の整数ピクセル値に基づいて前記整数ピクセル値をフィルタ処理し、前記整数ピクセル位置に対応する調整された整数ピクセル値を発生し、前記調整された整数ピクセル値に基づいて予測ブロックを発生する、ビデオコーダを具備する装置を提供する。
【００１１】
別の例では、本開示は、ピクセルのブロック内の整数ピクセル位置に対応する整数ピクセル値を含む、前記ピクセルのブロックを得るための手段と、前記ピクセルのブロック内の他の整数ピクセル値に基づいて前記整数ピクセル値をフィルタ処理し、前記整数ピクセル位置に対応する調整された整数ピクセル値を発生するための手段と、前記調整された整数ピクセル値に基づいて予測ブロックを発生するための手段と、を具備するデバイスを提供する。
【００１２】
本開示で説明する技法は、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せで実装できる。ソフトウェアで実装する場合、ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはデジタル信号プロセッサ（ＤＳＰ）など、１つまたは複数のプロセッサで実行できる。本技法を実行するソフトウェアは、最初にコンピュータ可読媒体に記憶し、プロセッサにロードして実行することができる。
【００１３】
したがって、本開示はまた、プロセッサによって実行されたとき、ピクセルのブロック内の整数ピクセル位置に対応する整数ピクセル値を含む、前記ピクセルのブロックを得ること、前記ピクセルのブロック内の他の整数ピクセル値に基づいて前記整数ピクセル値をフィルタ処理し、前記整数ピクセル位置に対応する調整された整数ピクセル値を発生すること、前記調整された整数ピクセル値に基づいて予測ブロックを発生すること、を前記プロセッサに行わせる命令を備えるコンピュータ可読記憶媒体を企図する。
【００１４】
本開示の１つまたは複数の態様の詳細について添付の図面および以下の説明において述べる。本開示で説明する技法の他の特徴、目的、および利点は、これらの説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１５】
【図１】図１は、本開示の技法を実装することができる１つの例示的なビデオ符号化および復号システムを示すブロック図である。
【図２】図２は、本開示に一致するフィルタ処理技法を実行することができるビデオ符号器の例を示すブロック図である。
【図３】図３は、予測データに関連する整数ピクセル位置と、補間予測データに関連するサブピクセル位置とを示す概念図である。
【図４】図４は、９つのサブピクセルロケーションに関する１２ピクセルフィルタサポートを示す概念図である。
【図５】図５は、３つの水平サブピクセルロケーションに関する水平６ピクセルフィルタサポートと、３つの垂直サブピクセルロケーションに関する垂直６ピクセルフィルタサポートとを示す概念図である。
【図６】図６は、整数ピクセルロケーションをフィルタ処理するための５ピクセル×５ピクセルフィルタサポートを示す概念図である。
【図７】図７は、本開示に一致する、４つの整数ピクセル位置と、フィルタ係数のためのピクセル対称性を使用することができるピクセル位置をグループ化するための陰影付きの１５個のサブピクセル位置とを示す概念図である。
【図８】図８は、サブピクセルに対する６つの水平線形ピクセルサポート位置を、係数対称性を示す陰影付きで示す概念図である。
【図９】図９は、サブピクセルに対する６つの水平線形ピクセルサポート位置を、係数対称性の欠如を示す陰影付きで示す概念図である。
【図１０】図１０は、サブピクセルに対する６つの垂直線形ピクセルサポート位置を、係数対称性を示す陰影付きで示す概念図である。
【図１１】図１１は、サブピクセルに対する６つの垂直線形ピクセルサポート位置を、係数対称性の欠如を示す陰影付きで示す概念図である。
【図１２】図１２は、サブピクセルに対する１２個の２次元ピクセルサポート位置を、係数対称性の欠如を示す陰影付きで示す概念図である。
【図１３】図１３は、サブピクセルに対する１２個の２次元ピクセルサポート位置を、係数対称性を示す陰影付きで示す概念図である。
【図１４】図１４は、サブピクセルに対する１２個の２次元ピクセルサポート位置を、係数対称性を示す陰影付きで示す概念図である。
【図１５】図１５は、サブピクセルに対する１２個の２次元ピクセルサポート位置を、係数対称性を示す陰影付きで示す概念図である。
【図１６】図１６は、本明細書で説明する方法で符号化されたビデオシーケンスを復号することができるビデオ復号器の例を示すブロック図である。
【図１７】図１７は、本開示に一致する１２ピクセルフィルタサポートを利用するビデオ符号器の例示的な動作を示す流れ図である。
【図１８】図１８は、本開示に一致する１２ピクセルフィルタサポートを利用するビデオ復号器の例示的な動作を示す流れ図である。
【図１９】図１９は、本開示に一致する係数対称性およびピクセル対称性を利用するビデオ符号器の例示的な動作を示す流れ図である。
【図２０】図２０は、本開示に一致する係数対称性およびピクセル対称性を利用するビデオ復号器の例示的な動作を示す流れ図である。
【図２１】図２１は、本開示に一致する、整数ピクセルロケーションのフィルタ処理を利用して、調整された整数ピクセル値を発生するビデオ符号器の例示的な動作を示す流れ図である。
【図２２】図２２は、本開示に一致する、整数ピクセルロケーションのフィルタ処理を利用して、調整された整数ピクセル値を発生するビデオ復号器の例示的な動作を示す流れ図である。
【図２３】図２３は、固定フィルタまたは適応フィルタに基づくビデオコーディングのレートひずみ定義補間のための技法を示す流れ図である。
【図２４】図２４は、予測コーディングを使用してフィルタ係数を符号化するための技法を示す流れ図である。
【図２５】図２５は、予測コーディングを使用してフィルタ係数を符号化するための技法を示す別の流れ図である。
【図２６】図２６は、予測コーディングを使用してフィルタ係数を復号するための技法を示す流れ図である。
【図２７】図２７は、予測コーディングできるフィルタ係数を示す概念グラフである。
【図２８】図２８は、予測コーディングできるフィルタ係数を示す概念グラフである。
【図２９】図２９は、予測技法が符号化に使用される整数ピクセルフィルタ係数のアレイの例を示す図である。
【詳細な説明】
【００１６】
本開示では、ビデオ符号化および／または復号プロセスの予測ステージ中に符号器および復号器によって適用されるフィルタ処理技法について説明する。説明するフィルタ処理技法は、部分補間中に使用される予測データの精度を向上させ、場合によっては、ピクセルの整数ブロックの予測データを改善することができる。本開示には、補間のために使用できる有用な１２ピクセルフィルタサポート、係数対称性およびピクセル対称性を使用して、補間のためのフィルタサポートを構成するために符号器と復号器との間で送信する必要があるデータ量を低減する技法、およびサブピクセル補間と同様の方法で整数ピクセルロケーションにおいてデータをフィルタ処理するための技法を含む、いくつかの態様がある。これらおよび他の技法について以下で詳細に説明する。
【００１７】
図１は、本開示の技法のうちの１つまたは複数を実装するために使用できる１つの例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、通信チャネル１５を介して符号化ビデオを宛先デバイス１６に送信するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１６は、広範囲のデバイスのいずれかを備えることができる。場合によっては、ソースデバイス１２および宛先デバイス１６は、いわゆるセルラー電話または衛星無線電話のワイヤレスハンドセットなどのワイヤレス通信デバイス、または通信チャネル１５を介してビデオ情報を伝達することができ、その場合、通信チャネル１５がワイヤレスである任意のワイヤレスデバイスを備える。ただし、予測コーディング中のフィルタ処理および予測データの発生に関係する本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるわけではない。本技法はまた、物理的ワイヤ、光ファイバまたは他の物理媒体もしくはワイヤレス媒体を介して通信するデバイスを含む、広範囲の他の設定およびデバイスにおいて有用である。さらに、本符号化技法または復号技法は、必ずしも他のデバイスと通信するわけではないスタンドアロンデバイスにおいても適用できる。
【００１８】
図１の例では、ソースデバイス１２は、ビデオソース２０と、ビデオ符号器２２と、変調器／復調器（モデム）２３と、送信機２４とを含むことができる。宛先デバイス１６は、受信機２６と、モデム２７と、ビデオ復号器２８と、ディスプレイデバイス３０とを含むことができる。本開示によれば、ソースデバイス１２のビデオ符号器２２は、ビデオ符号化プロセスの一部として本開示の技法のうちの１つまたは複数を適用するように構成できる。同様に、宛先デバイス１６のビデオ復号器２８は、ビデオ復号プロセスの一部として本開示の技法のうちの１つまたは複数を適用するように構成できる。
【００１９】
また、図１の図示のシステム１０は例示にすぎない。本開示の様々な技法は、ブロックベースの予測符号化をサポートする任意の符号化デバイスによって、または、ブロックベースの予測復号をサポートする任意の復号デバイスによって実行できる。ソースデバイス１２および宛先デバイス１６は、ソースデバイス１２が宛先デバイス１６に送信するためのコード化ビデオデータを発生するような、コーディングデバイスの例にすぎない。場合によっては、デバイス１２、１６の各々がビデオ符号化構成要素および復号構成要素を含むので、デバイス１２、１６は、ほぼ対称的に動作することができる。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャストまたはビデオ電話通信のためのビデオデバイス１２とビデオデバイス１６との間の一方向または双方向のビデオ送信をサポートすることができる。
【００２０】
ソースデバイス１２のビデオソース２０は、ビデオカメラ、あらかじめキャプチャされたビデオを含んでいるビデオアーカイブ、またはビデオコンテンツプロバイダからのビデオフィードなど、ビデオキャプチャデバイスを含むことができる。さらなる代替として、ビデオソース２０はソースビデオとしてのコンピュータグラフィックベースのデータ、またはライブビデオとアーカイブされたビデオとコンピュータ発生ビデオとの組合せを発生することができる。場合によっては、ビデオソース２０がビデオカメラである場合、ソースデバイス１２および宛先デバイス１６は、いわゆるカメラ付き携帯電話またはビデオ電話を形成することができる。各場合において、キャプチャされたビデオ、あらかじめキャプチャされたビデオ、またはコンピュータ発生ビデオをビデオ符号器２２によって符号化することができる。次いで、符号化ビデオ情報は、たとえば、符号分割多元接続（ＣＤＭＡ）または別の通信規格などの通信規格に従ってモデム２３によって変調され、送信機２４および通信チャネル１５を介して宛先デバイス１６に送信される。モデム２３は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含むことができる。送信機２４は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含むことができる。
【００２１】
宛先デバイス１６の受信機２６は通信チャネル１５を介して情報を受信し、モデム２７は情報を復調する。送信機２４と同様に、受信機２６は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを受信するために設計された回路を含むことができる。いくつかの例では、送信機２４および／または受信機２６を、受信回路と送信回路の両方を含む単一のトランシーバ構成要素内に組み込むことができる。モデム２７は、信号復調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含むことができる。いくつかの例では、モデム２３および２７は、変調と復調の両方を実行するための構成要素を含むことができる。
【００２２】
この場合も、ビデオ符号器２２によって実行されるビデオ符号化プロセスは、動き補償中に本明細書で説明する技法のうちの１つまたは複数を実装することができる。ビデオ復号器２８によって実行されるビデオ復号プロセスはまた、復号プロセスのその動き補償ステージ中にそのような技法を実行することができる。「コーダ」という用語は、本明細書では、ビデオ符号化またはビデオ復号を実行する専用コンピュータデバイスまたは装置を指すために使用される。「コーダ」という用語は、一般に、任意のビデオ符号器、ビデオ復号器、または複合符号器／復号器（コーデック）を指す。「コーディング」という用語は、符号化または復号を指す。ディスプレイデバイス３０は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイまたは別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備えることができる。
【００２３】
図１の例では、通信チャネル１５は、無線周波数（ＲＦ）スペクトルまたは１つまたは複数の物理的伝送線路など、ワイヤレスまたはワイヤードの任意の通信媒体、あるいはワイヤレスおよびワイヤード媒体の任意の組合せを備えることができる。通信チャネル１５は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成することができる。通信チャネル１５は、一般にビデオデータをソースデバイス１２から宛先デバイス１６に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル１５は、ソースデバイス１２から宛先デバイス１６への通信を可能にするのに有用なルータ、スイッチ、基地局、または任意の他の機器を含むことができる。
【００２４】
ビデオ符号器２２およびビデオ復号器２８は、代替的にＭＰＥＧ−４、Ｐａｒｔ１０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）として説明されるＩＴＵ−Ｔ  Ｈ．２６４規格など、ビデオ圧縮規格に従って動作することができる。ただし、本開示の技法は、いかなる特定のビデオコーディング規格にも限定されない。図１には示されていないが、いくつかの態様では、ビデオ符号器２２およびビデオ復号器２８は、それぞれオーディオ符号器および復号器と統合でき、適切なＭＵＸ−ＤＥＭＵＸユニットまたは他のハードウェアおよびソフトウェアを含み、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理することができる。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットはＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）など他のプロトコルに準拠することができる。
【００２５】
ビデオ符号器２２およびビデオ復号器２８はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せとして実装できる。ビデオ符号器２２およびビデオ復号器２８の各々を１つまたは複数の符号器または復号器中に含めることができ、そのいずれかは符号化機能および復号機能を与える複合コーデックの一部としてそれぞれモバイルデバイス、加入者デバイス、ブロードキャストデバイス、サーバなどに統合できる。
【００２６】
ビデオシーケンスは、一般に一連のビデオフレームを含む。ビデオ符号器２２は、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロック上で動作する。ビデオブロックは、サイズを固定することも変更することもでき、指定のコーディング規格に応じてサイズが異なることがある。各ビデオフレームは一連のスライスを含む。各スライスは一連のマクロブロックを含むことができ、それらはサブブロック中に配置することができる。一例として、ＩＴＵ−Ｔ  Ｈ．２６４規格は、ルーマ構成要素では１６×１６、８×８、または４×４、およびクロマ構成要素では８×８など、様々なブロックサイズのイントラ予測、ならびにルーマ構成要素では１６×１６、１６×８、８×１６、８×８、８×４、４×８および４×４、およびクロマ構成要素では対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。ビデオブロックは、ピクセルデータのブロック、または、たとえば離散コサイン変換（ＤＣＴ）もしくは概念的に同様の変換プロセスなどの変換プロセスの後の変換係数のブロックを備えることができる。
【００２７】
ビデオブロックは、小さいほどより良い解像度が得られ、高い詳細レベルを含むビデオフレームの位置決めに使用することができる。一般に、マクロブロックおよび様々なサブブロックをビデオブロックであると考えることができる。さらに、スライスは、マクロブロックおよび／またはサブブロックなど一連のビデオブロックであると考えることができる。各スライスはビデオフレームの単独で復号可能な単位とすることができる。代替的に、フレーム自体を復号可能なユニットとすることができるか、またはフレームの他の部分を復号可能なユニットとして定義することができる。「コード化単位」という用語は、フレーム全体、フレームのスライス、または使用されるコーディング技法に従って定義される別の単独で復号可能なユニットなど、ビデオフレームの単独で復号可能な任意のユニットを指す。
【００２８】
ビデオブロックを符号化するために、ビデオ符号器２２は、イントラ予測またはインター予測を実行して、予測ブロックを発生する。ビデオ符号器２２は、符号化すべき元のビデオブロックから予測ブロックを減算して、残差ブロックを発生する。したがって、残差ブロックは、コード化されているブロックと予測ブロックとの間の差を示す。ビデオ符号器２２は、残差ブロックに対して変換を実行して、変換係数のブロックを発生することができる。イントラベースまたはインターベースの予測コーディング技法および変換技法の後、ビデオ符号器２２は量子化を実行する。量子化は、一般に、係数を表すために使用されるデータ量をできるだけ低減するように係数を量子化するプロセスを指す。量子化の後、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）またはコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）など、エントロピーコーディング方法に従ってエントロピーコーディングを実行することができる。ビデオ符号器２２によって実行される符号化プロセスの各ステップのそれ以上の詳細について、以下に図２でより詳細に説明する。
【００２９】
宛先デバイス１６において、ビデオ復号器２８が符号化ビデオデータを受信する。ビデオ復号器２８は、ＣＡＶＬＣまたはＣＡＢＡＣなど、エントロピーコーディング方法に従って、受信したビデオデータをエントロピー復号して、量子化係数を得る。ビデオ復号器２８は、逆量子化（inverse quantization）（逆量子化（de-quantization））機能および逆変換機能を適用して、ピクセル領域中で残差ブロックを再構成する。ビデオ復号器２８はまた、符号化ビデオデータ中に含まれる（たとえば、コーディングモード、動きベクトル、フィルタ係数を定義するシンタックスなどの）制御情報またはシンタックス情報に基づいて予測ブロックを発生する。ビデオ復号器２８は、予測ブロックを再構成された残差ブロックと加算して、表示のための再構成されたビデオブロックを生成する。ビデオ符号器２２によって実行される符号化プロセスの各ステップのそれ以上の詳細について、以下に図１６でより詳細に説明する。
【００３０】
本開示の技法によれば、ビデオ符号器２２およびビデオ復号器２８は、動き補償中に１つまたは複数の補間フィルタ処理技法を使用することができる。特に、本開示の一態様によれば、ビデオ符号器２２および／またはビデオ復号器２８は、ピクセルのブロック内の整数ピクセル位置に対応する整数ピクセル値を含む、ピクセルのブロックを得ることと、整数ピクセル値に基づいてピクセルのブロックに関連するサブピクセル位置のサブピクセル値を計算することであって、サブピクセル値を計算することが、サブピクセル位置を放射状に囲む１２個以上の整数ピクセル位置のセットに対応するフィルタサポート位置の２次元アレイを定義する補間フィルタを適用することを備える、計算することと、サブピクセル値の少なくともいくつかに基づいて予測ブロックを発生することとを行うことができる。１２個以上の整数ピクセル位置のセットに対応するフィルタサポート位置の２次元アレイの例については、以下にさらに詳細に説明する。
【００３１】
本開示の別の態様によれば、ビデオ符号器２２および／またはビデオ復号器２８は、補間中に使用されるフィルタ係数の通信のためにソースデバイス１２と宛先デバイス１６との間で通信する必要があるデータ量を低減するために、対称性の態様を利用することができる。ビデオ符号器２２は、１５個の異なるサブピクセルロケーションに対して、１５個のサブピクセルロケーションの間の係数対称性とピクセル対称性とに基づいて発生された、フィルタ係数の８つのセットを判断し、フィルタ係数の８つのセットを符号化ビットストリームの一部として別のデバイスに出力することができる。このようにして、８つのセットは、ピクセル対称性および係数対称性の態様とともに、すべての１５個のハーフペル位置およびクォーターペルピクセル位置に対してフィルタ係数のすべてを定義することができる。その上、垂直次元および水平次元における１５個のサブピクセルロケーションのうちの異なるサブピクセルロケーション間のピクセル対称性は存在するが、サブピクセルロケーションの１５個のセットのうちの少なくともいくつかについての対角（斜め）次元におけるピクセル対称性は存在しない。１５個のロケーションのうちの少なくともいくつかについての対角次元におけるこのピクセル対称性の欠如により、ビデオ符号化および復号における補間およびビデオ品質を改善することができる。
【００３２】
宛先デバイス１６のビデオ復号器２８は、符号化ビデオビットストリームの一部としてフィルタ係数の８つのセットを受信し、フィルタ係数の８つのセットに基づいて１５個の異なるサブピクセルロケーションに対応するフィルタ係数の１５個のセットを発生し、１５個の異なるサブピクセルロケーションのうちの１つに対応するビデオ復号のための補間予測データを、フィルタ係数の１５個のセットのうちの１つに基づいて発生し、補間予測データに基づいて１つまたは複数のビデオブロックを復号することができる。
【００３３】
本開示の別の態様によれば、ビデオ符号器２２および／またはビデオ復号器２８は、調整された整数ピクセル値を発生するために整数ピクセル位置に対して補間的フィルタ処理を利用することができる。そのような補間的フィルタ処理は、特に照明変更、シーンフェードインまたはフェードアウト中に圧縮を改善し、ノイズを除去し、画像フレームのシャープ化を可能にし、特にフィルタ係数に対称性が課せられないとき、連続したビデオフレーム間の微細な物体の動きの符号化を改善するのに役立つ。
【００３４】
ビデオ符号器２２および／またはビデオ復号器２８の補間的フィルタ処理技法は、ピクセルのブロック内の整数ピクセル位置に対応する整数ピクセル値を含むピクセルのブロックを得ることと、整数ピクセル位置に対応する、調整された整数ピクセル値を発生するために、ピクセルのブロック内の他の整数ピクセル値に基づいて整数ピクセル値をフィルタ処理することと、調整された整数ピクセル値に基づいて予測ブロックを発生することとを含むことができる。
【００３５】
本開示の別の態様によれば、ビデオ符号器２２は、第１の補間フィルタに基づいてビデオデータの符号化のために第１の補間予測データを発生し、第２の補間フィルタに基づいてビデオデータのビデオ符号化のために第２の補間予測データを発生し、レートひずみ分析に基づいて第１の補間予測データと第２の補間予測データとの間で選択し、その選択に基づいてビデオデータを符号化し、その選択を示すためにシンタックスを符号化することができる。第１の補間フィルタは固定補間フィルタを備え、第２の補間フィルタは適応補間フィルタを備えることができるが、本開示は、必ずしもこれらの例に限定されるわけではない。
【００３６】
さらに、追加の補間予測データを発生するために、同じくレートひずみ分析中に考慮される追加の補間フィルタを適用することもできる。言い換えれば、本開示の技法は、２つの補間フィルタに基づいて第１および第２の補間予測データのみを発生することに限定されず、任意の数の補間フィルタに基づいて任意の複数の補間予測データを発生するために適用できる。重要なことには、レートひずみ分析補間予測データは、どのフィルタを選択すべきかを識別するために使用される。
【００３７】
一例では、方法は、複数の異なる補間フィルタに基づいてビデオデータの符号化のための予測データの複数の異なるバージョンを発生することと、レートひずみ分析に基づいて予測データの複数の異なるバージョンの間で選択することと、その選択に基づいてビデオデータを符号化することと、その選択を示すためにシンタックスを符号化することとを備えることができる。
【００３８】
本開示はまた、フィルタ係数を符号化するための技法を企図する。たとえば、ビデオ符号器２２は、ビデオ符号化中に予測データの補間のためのフィルタ係数のセットを識別し、固定補間フィルタに関連するフィルタ係数に対するフィルタ係数のセットの予測コーディングに基づいて、フィルタ係数のセットに関連する残差値を発生し、その残差値に量子化を適用し、量子化された残差値を符号化ビットストリームの一部として出力することができる。
【００３９】
ビデオ復号器２８は、フィルタ係数のセットに関連する残差値を受信し、残差値と固定補間フィルタに関連するフィルタ係数とのセットに基づいて予測復号を使用してフィルタ係数のセットを発生し、ビデオブロックの予測復号のために使用される予測データを補間するためにフィルタ係数のセットを適用することができる。
【００４０】
図２は、本開示に一致するフィルタ処理技法を実行することができるビデオ符号器５０の例を示すブロック図である。ビデオ符号器５０は、本明細書では「コーダ」と呼ぶ専用ビデオコンピュータデバイスまたは装置の一例である。ビデオ符号器５０は、デバイス２０のビデオ符号器２２、または異なるデバイスのビデオ符号器に対応することがある。ビデオ符号器５０はビデオフレーム内のブロックのイントラコーディングおよびインターコーディングを実行することができるが、説明を簡単にするために、イントラコーディング構成要素は図２に示していない。イントラコーディングは空間的予測を利用して、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去する。インターコーディングは時間的予測を利用して、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減または除去する。イントラモード（Ｉモード）は空間ベースの圧縮モードを指し、予測（Ｐモード）または双方向（Ｂモード）などのインターモードは、時間ベースの圧縮モードを指す。本開示の技法はインターコーディング中に適用し、したがって、説明を簡単で容易にするために、空間予測ユニットなどのイントラコーディングユニットは図２に示していない。
【００４１】
図２に示すように、ビデオ符号器５０は、符号化すべきビデオフレーム内のビデオブロックを受信する。図２の例では、ビデオ符号器５０は、予測ユニット３２と、メモリ３４と、加算器４８と、変換ユニット３８と、量子化ユニット４０と、エントロピーコーディングユニット４６とを含む。ビデオブロック再構成のために、ビデオ符号器５０はまた、逆量子化ユニット４２と、逆変換ユニット４４と、加算器５１とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図示せず）を含めることもできる。必要な場合、デブロッキングフィルタは一般に、加算器５１の出力をフィルタ処理するであろう。
【００４２】
予測ユニット３２は、動き推定（ＭＥ）ユニット３５と、動き補償（ＭＣ）ユニット３７とを含むことができる。本開示によれば、フィルタ３７は、予測ユニット３２中に含めることができ、動き推定および／または動き補償の一部として補間または補間的フィルタ処理を実行するために、ＭＥユニット３５とＭＣユニット３７の一方または両方によって起動できる。フィルタ３７は、実際は、本明細書で説明するように、多数の様々なタイプの補間および補間タイプフィルタ処理を可能にする複数の様々なフィルタを表すことができる。したがって、予測ユニット３２は複数の補間または補間的フィルタを含むことができる。符号化プロセス中に、ビデオ符号器５０は、コーディングすべき（図２で「ビデオブロック」と標示される）ビデオブロックを受信し、予測ユニット３２は、インター予測コーディングを実行して（図２で「予測ブロック」と標示される）予測ブロックを発生する。特に、ＭＥユニット３５は、動き推定を実行してメモリ３４中の予測ブロックを識別し、ＭＣユニット３７は、動き補償を実行して予測ブロックを発生することができる。
【００４３】
動き推定は一般に、ビデオブロックの動きを推定する動きベクトルを発生するプロセスと考えられる。動きベクトルは、たとえば、現在のフレーム（または、他のコード化単位）内のコーディングすべきブロックに対する、予測フレームまたは参照フレーム（または、他のコード化単位、たとえばスライス）内の予測ブロックの変位を示すことができる。参照フレーム（または、参照フレームの部分）は、時間的に、現在のビデオブロックが属するビデオフレーム（または、ビデオフレームの部分）より前に、またはその後に配置されることがある。動き補償は一般に、メモリ３４から予測ブロックをフェッチまたは発生するプロセス、あるいは、場合によっては、動き推定によって判断された動きベクトルに基づいて、フィルタ処理された予測データを補間するかまたはさもなければ発生するプロセスと考えられる。
【００４４】
ＭＥユニット３５は、コーディングすべきビデオブロックを１つまたは複数の参照フレーム（たとえば、前のフレームおよび／または後続のフレーム）のビデオブロックと比較することによって、そのビデオブロックに適した動きベクトルを選択する。ＭＥユニット３５は、部分ピクセル、部分ペル、またはサブピクセル動き推定と呼ばれることがある部分ピクセル精度を用いて動き推定を実行することができる。したがって、部分ピクセル、部分ペル、およびサブピクセル動き推定という用語は、互換的に使用できる。部分ピクセル動き推定では、ＭＥユニット３５は、整数ピクセルロケーション以外のロケーションへの変位を示す動きベクトルを選択することができる。このようにして、部分ピクセル動き推定により、予測ユニット３２は、整数ピクセル（または、フルピクセル）ロケーションよりも高い精度を用いて動きを追跡し、したがって、より正確な予測ブロックを発生することが可能になる。部分ピクセル動き推定は、ハーフピクセル精度、クォーターピクセル精度、８分の１ピクセル精度または任意のより微細な精度を有することができる。ＭＥユニット３５は、動き推定プロセス中に任意の必要な補間のために（１つまたは複数の）フィルタ３９を起動することができる。
【００４５】
部分ピクセル動き補償を実行するために、ＭＣユニット３７は、補間（補間フィルタ処理と呼ばれることがある）を実行して、サブピクセル解像度（サブピクセル値または部分ピクセル値と本明細書では呼ぶ）におけるデータを発生することができる。ＭＣユニット３７は、この補間のために（１つまたは複数の）フィルタ３９を起動することができる。予測ユニット３２は、本明細書で説明する技法を使用して補間（または、整数ピクセルの補間的フィルタ処理）を実行することができる。
【００４６】
コーディングすべきビデオブロックのための動きベクトルがＭＥユニット３５によって選択されると、ＭＣユニット３７は、その動きベクトルに関連する予測ビデオブロックを発生する。ＭＣユニット３７は、ＭＣユニット３５によって判断された動きベクトルに基づいて、メモリ３４から予測ブロックをフェッチすることができる。部分ピクセル精度をもつ動きベクトルの場合、ＭＣユニット３７は、そのようなデータをサブピクセル解像度に対して補間するために、たとえば、このプロセスのために（１つまたは複数の）フィルタ３９を起動して、メモリ３４からのデータをフィルタ処理する。場合によっては、サブピクセル予測データを発生するために使用された補間フィルタ処理技法またはモードは、コード化ビットストリームに含めるための、エントロピーコーディングユニット４６への１つまたは複数の補間シンタックス要素として示されることがある。実際、本開示のいくつかの態様は、搬送する必要があるシンタックスの量を低減するための、ピクセル対称性および係数対称性の使用に関係する。
【００４７】
予測ユニット３２が予測ブロックを発生した後、ビデオ符号器５０は、コーディングされている元のビデオブロックから予測ブロックを減算することによって（図２で「残差ブロック」と標示される）残差ビデオブロックを形成する。加算器４８は、この減算演算を実行する１つまたは複数の構成要素を表す。変換ユニット３８は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換ブロック係数を備えるビデオブロックを生成する。変換ユニット３８は、たとえば、概念的にＤＣＴと同様である、Ｈ．２６４規格によって定義される変換などの他の変換を実行することができる。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換をも使用することができる。いずれの場合も、変換ユニット３８は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル領域から周波数領域に変換することができる。
【００４８】
量子化ユニット４０は、ビットレートをさらに低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減することができる。量子化の後、エントロピーコーディングユニット４６が量子化変換係数をエントロピーコーディングする。たとえば、エントロピーコーディングユニット４６は、ＣＡＶＬＣ、ＣＡＢＡＣ、または別のエントロピーコーディング方法を実行することができる。
【００４９】
エントロピーコーディングユニット４６はまた、ビデオ符号器５０の予測ユニット３２または他の構成要素から得られた１つまたは複数の予測シンタックス要素をコーディングすることができる。１つまたは複数の予測シンタックス要素は、コーディングモード、１つまたは複数の動きベクトル、サブピクセルデータを発生するために使用された補間技法、フィルタ係数のセットまたはサブセット、あるいは予測ブロックの発生に関連する他の情報を含むことができる。係数予測および量子化ユニット４１は、本開示のいくつかの態様によれば、フィルタ係数などの予測シンタックスを予測符号化し、量子化することができる。エントロピーコーディングユニット４６によるエントロピーコーディングの後、符号化ビデオとシンタックス要素とを、別のデバイスに送信するか、あるいは後で送信または検索するためにアーカイブすることができる。
【００５０】
逆量子化ユニット４２および逆変換ユニット４４は、それぞれ逆量子化および逆変換を適用して、たとえば参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。（図２で「再構成された残差ブロック」と標示される）再構成された残差ブロックは、変換ユニット３８に与えられる残差ブロックの再構成されたバージョンを表すことができる。再構成された残差ブロックは、量子化演算および逆量子化演算によって生じた細部の損失により、加算器４８によって発生された残差ブロックとは異なることがある。加算器５１は、再構成された残差ブロックを、予測ユニット３２によって生成された動き補償された予測ブロックに加算して、メモリ３４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレームまたは後続のコード化単位中のブロックをその後コーディングするために使用できる参照ブロックとして予測ユニット３２によって使用される。
【００５１】
上述のように、予測ユニット３２は、部分ピクセル（または、サブピクセル）精度を用いて動き推定を実行することができる。予測ユニット３２は、部分ピクセル動き推定を使用するとき、本開示で説明する補間動作を使用してサブピクセル解像度（たとえば、サブピクセル値または部分ピクセル値）におけるデータを発生することができる。言い換えれば、補間動作を使用して、整数ピクセル位置間の位置における値を計算する。整数ピクセル位置間の距離の半分に配置されるサブピクセル位置をハーフピクセル（ハーフペル）位置と呼び、整数ピクセル位置とハーフピクセル位置との間の距離の半分に配置されるサブピクセル位置をクォーターピクセル（クォーターペル）位置と呼び、整数ピクセル位置（または、ハーフピクセル位置）とクォーターピクセル位置との間の距離の半分に配置されるサブピクセル位置を８分の１ピクセル（８分の１ペル）位置と呼び、以下同様である。
【００５２】
図３は、予測データに関連する整数ピクセル（または、フルピクセル）位置と、補間予測データに関連するサブピクセル（または、部分ピクセル）位置とを示す概念図である。図３の概念図では、異なるボックスが、フレームまたはフレームのブロック内のピクセルおよびサブピクセルロケーションまたは位置を表す。（実線のボックス中の）大文字は整数ピクセルロケーションを表し、（点線のボックス中の）小文字はサブピクセルロケーションを表す。特に、ピクセルロケーションＡ１〜Ａ６、Ｂ１〜Ｂ６、Ｃ１〜Ｃ６、Ｄ１〜Ｄ６、Ｅ１〜Ｅ６およびＦ１〜Ｆ６は、フレーム、スライスまたは他のコード化単位内の整数ピクセルロケーションの６×６アレイを表す。サブピクセルロケーション「ａ」〜「ｏ」は、整数ピクセルＣ３に関連する１５個のサブピクセルロケーション、たとえば、整数ピクセルロケーションＣ３とＣ４とＤ３とＤ４との間のサブピクセルロケーションを表す。同様のサブピクセルロケーションが、あらゆる整数ピクセルロケーションに対して存在する。サブピクセルロケーション「ａ」〜「ｏ」は、整数ピクセルＣ３に関連するあらゆるハーフペルおよびクォーターペルピクセルロケーションを表す。
【００５３】
整数ピクセルロケーションは、ビデオデータが最初に生成されたとき、フォトダイオードなどの物理的センサ要素に関連することがある。フォトダイオードは、センサのロケーションにおける光源の強度を測定し、ピクセル強度値を整数ピクセルロケーションに関連付けることができる。この場合も、各整数ピクセルロケーションは、１５個の（または場合によってはより多くの）サブピクセルロケーションの関連するセットを有することができる。整数ピクセルロケーションに関連するサブピクセルロケーションの数は、所望の精度に依存することがある。図３に示す例では、所望の精度はクォーターピクセル精度であり、その場合、整数ピクセルロケーションの各々が１５個の異なるサブピクセル位置と対応する。より多いまたはより少ないサブピクセル位置は、所望の精度に基づいて各整数ピクセルロケーションに関連することができる。ハーフピクセル精度の場合、たとえば、各整数ピクセルロケーションは、３つのサブピクセル位置と対応することがある。別の例として、整数ピクセルロケーションの各々は、８分の１のピクセル精度の場合、６３個のサブピクセル位置と対応することがある。各ピクセルロケーションは、１つまたは複数のピクセル値、たとえば、１つまたは複数の輝度およびクロミナンス値を定義することができる。
【００５４】
Ｙが輝度を表し、ＣｂおよびＣｒが３次元ＹＣｂＣｒ色空間のクロミナンスの２つの異なる値を表すことができる。各ピクセルロケーションは実際に、３次元色空間の３つのピクセル値を定義することができる。ただし、本開示の技法は、簡単のために１次元に対する予測に関する。技法について１次元のピクセル値に関して説明する限り、同様の技法を他の次元に拡張することができる。
【００５５】
図３の例では、整数ピクセル「Ｃ３」に関連するサブピクセルロケーションがクォーターピクセル精度で示される。ピクセルＣ３に関連する１５個のサブピクセル位置は、「ａ」、「ｂ」、「ｃ」、「ｄ」、「ｅ」、「ｆ」、「ｇ」、「ｈ」、「ｉ」、「ｊ」、「ｋ」、「ｌ」、「ｍ」、「ｎ」、および「ｏ」と標示される。他の整数ピクセルロケーションに関連する（以下でさらに詳細に説明するピクセルロケーションＣ３に関連する１５個の異なる部分ロケーションのうちの１つまたは複数を発生するために使用されるもの以外の）他の部分ロケーションのほとんどは、簡単のために示さない。サブピクセルロケーション「ｂ」、「ｈ」および「ｊ」をハーフピクセルロケーションと呼び、サブピクセルロケーション「ａ」、「ｃ」、「ｄ」、「ｅ」、「ｆ」、「ｇ」、「ｉ」、「ｋ」、「ｌ」、「ｍ」、および「ｏ」をクォーターピクセルロケーションと呼ぶ。
【００５６】
ビデオ符号器４０の予測ユニット３２は、ＭＣユニット３７による補間フィルタ処理を使用してサブピクセルロケーション「ａ」〜「ｏ」のピクセル値を判断することができる。ＩＴＵ−Ｔ  Ｈ．２６４規格に一致して、たとえば、予測ユニット３２は、ウィーナーフィルタなどの６タップ補間フィルタを使用して、ハーフピクセルロケーションのピクセル値を判断することができる。Ｈ．２６４規格の場合、６タップ補間フィルタのフィルタ係数は一般に、［１，−５，２０，２０，−５，１］であるが、他の係数を使用することができる。予測ユニット３２は最初に水平方向で、次いで垂直方向で補間フィルタを適用することができ、または、その逆も同様である。ハーフピクセル位置「ｂ」および「ｈ」の場合、各タップはそれぞれ、水平方向および垂直方向の整数ピクセル位置に対応することができる。特に、ハーフピクセル位置「ｂ」の場合、６タップフィルタのタップは、Ｃ１、Ｃ２、Ｃ３、Ｃ４、Ｃ５およびＣ６に対応する。同様に、ハーフピクセル位置「ｈ」の場合、６タップフィルタのタップは、Ａ３、Ｂ３、Ｃ３、Ｄ３、Ｅ３およびＦ３に対応する。たとえば、サブピクセル位置「ｂ」および「ｈ」のピクセル値を、式（１）および式（２）を使用して計算することができる。
【数１】
0005575747.tif 000002
【００５７】
ハーフピクセル位置「ｊ」の場合、６タップフィルタのタップは、位置Ｃ１〜Ｃ６とＤ１〜Ｄ６との間で水平に、または、位置Ａ３〜Ｆ３とＡ４〜Ｆ４との間で垂直に補間されたそれら自体に対応する。ハーフピクセルロケーション「ｊ」を、たとえば、式（３）または式（４）のうちの１つに従って、ハーフピクセル位置のあらかじめ補間されたピクセル値を使用する６タップフィルタを用いて計算することができる。
【数２】
0005575747.tif 000003
【００５８】
ただし、（図３に示すように）ａａはＡ３とＡ４との間の補間に対応し、ｂｂはＢ３とＢ４との間の補間に対応し、ｂはＣ３とＣ４との間の補間に対応し、ｈｈはＤ３とＤ４との間の補間に対応し、ｉｉはＥ３とＥ４との間の補間に対応し、ｊｊはＦ３とＦ４との間に補間に対応する。式４では、ｃｃはＣ１とＤ１との間の補間に対応し、ｄｄはＣ２とＤ２との間の補間に対応し、ｈはＣ３とＤ３との間の補間に対応し、ｅｅはＣ４とＤ４との間の補間に対応し、ｆｆはＣ５とＤ５との間の補間に対応し、ｇｇはＣ６とＤ６との間の補間に対応する。
【００５９】
Ｈ．２６４規格に一致して、予測ユニット３２は、双一次補間フィルタと、周囲の整数ピクセルロケーションおよびハーフピクセルロケーションのピクセル値とを使用して、クォーターピクセルロケーション「ａ」、「ｃ」、「ｄ」、「ｅ」、「ｆ」、「ｇ」、「ｉ」、「ｋ」、「ｌ」、「ｍ」、「ｎ」および「ｏ」におけるピクセル値を判断することができる。たとえば、予測ユニット３２は、Ｃ３のピクセル値と「ｂ」のピクセル値とを使用して、サブピクセル位置「ａ」に関連するピクセル値を判断し、「ｂ」のピクセル値とＣ４のピクセル値とを使用して、サブピクセル位置「ｃ」に関連するピクセル値を判断し、以下同様である。
【００６０】
サブピクセルロケーションにおける補間データを発生するためにＭＣユニット３７によって適用される実際のフィルタは、多種多様な実装形態によって異なることがある。一例として、予測ユニット３２は、以下で説明する適応補間フィルタ処理（ＡＩＦ）を使用して、補間値を定義することができる。ＩＴＵ−Ｔ  ＳＧ１６／Ｑ．６／ＶＣＥＧ（Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）委員会は、Ｈ．２６４よりも高いコーディング効率を提供するコーディング技術、特にＡＩＦを調査している。ＡＩＦは、特に高い解像度（たとえば、７２０ｉ／ｐまたは１０８０ｉ／ｐ）をもつビデオシーケンス上で、Ｈ．２６４規格で使用される補間フィルタ処理よりも大きいコーディング利得を提供する。ＡＩＦでは、サブピクセル位置ごとの補間フィルタは、予測誤差エネルギーを最小限に抑えることによって、ビデオフレームごとに分析的に計算される。これは、エイリアシング、量子化誤差および動き推定誤差、カメラノイズ、または元のビデオフレームおよび参照ビデオフレーム中に含まれる他のアーティファクトに対処するのに役立つ。次いで、フレームごとに分析的に導出された適応フィルタ係数は、予測され、量子化され、コード化され、ビデオビットストリームで送信される。本開示の技法の一部は、ＡＩＦ方式ならびに多くの他の補間方式内で動作することができる。
【００６１】
多くの様々なタイプのＡＩＦ方式が、本開示の態様に一致する。たとえば、第１の方式は２次元の分離不可能なＡＩＦ（ＮＳ−ＡＩＦ）であり、第２の方式は分離可能なＡＩＦ（Ｓ−ＡＩＦ）であり、第３の方式は方向フィルタをもつＡＩＦ（Ｄ−ＡＩＦ）である。これらのＡＩＦ方式の各々は、異なる補間技法およびサポートを使用するが、すべての３つのＡＩＦ方式は、同様の分析プロセスを使用してフィルタ係数を導出することができ、以下に一例として分離不可能なＡＩＦを使用して説明する。
【００６２】
６×６の２次元の分離不可能なフィルタが係数
【数３】
0005575747.tif 000004
【００６３】
を有すると仮定し、ただし、ｉ，ｊ＝０．．．５であり、ＳＰは、図３に示す１５個のサブピクセル位置（「ａ」〜「ｏ」）のうちの１つを表す。１５個のサブピクセル位置のうちの６つ、すなわち「ａ」、「ｂ」、「ｃ」、「ｄ」、「ｈ」および「ｌ」は１次元（１Ｄ）サブピクセル位置であり、予測ユニット３２は６タップ補間フィルタを使用してそのようなデータを補間することができることに留意されたい。サブピクセル位置「ａ」、「ｂ」、「ｃ」、「ｄ」、「ｈ」および「ｌ」は、２つの整数ピクセル位置間の水平線または垂直線に配置されるという点で１Ｄである。また、参照フレーム中の整数ピクセル位置（図３のＡ１〜Ｆ６）における予測ピクセルが、ピクセル値Ｐｉ，ｊ、ただしｉ，ｊ＝０．．．５をとると仮定する。すなわち、Ａ１は値Ｐ0,0をとり、Ａ６は値Ｐ5,0をとり、Ｆ１は値Ｐ5,0をとり、Ｆ６は値Ｐ5,5をとる。次いで、サブピクセル位置ＳＰにおける補間値ｐSP、ＳＰ∈｛ａ，．．．，ｏ｝を、以下の式を使用して予測ユニット３２によって計算することができる。
【数４】
0005575747.tif 000005
【００６４】
Ｓx,yを位置（ｘ，ｙ）における現在のビデオフレーム中のピクセル値とする。
【数５】
0005575747.tif 000006
【００６５】
ただし、（ｍｖｘ，ｍｖｙ）は動きベクトルであり、
【数６】
0005575747.tif 000007
【００６６】
は動きベクトルの整数成分であり、ＦＯはフィルタオフセットである。値
【数７】
0005575747.tif 000008
【００６７】
は、参照フレーム中の対応するピクセル位置である。たとえば、６タップフィルタの場合、ＦＯ＝６／２−１＝２である。サブピクセル位置ＳＰごとに、現在のフレーム中の実際のピクセル値と補間値との間の予測誤差エネルギー（ｅSP）2が、サブピクセル位置ＳＰに対応する動きベクトル精度を有するすべてのピクセルに対して、予測ユニット３２によって蓄積できる。予測誤差エネルギー（ｅSP）2を、以下の式を使用して予測ユニット３２によって計算することができる。
【数８】
0005575747.tif 000009
【００６８】
サブピクセル位置ａ〜ｏの各々に対して、ＭＣユニット３７は、フィルタ係数
【数９】
0005575747.tif 000010
【００６９】
に対する（ｅSP）2の導関数を計算することによって、式の個々のセットをセットアップすることができる。式の数は、この場合、現在のサブピクセル位置ＳＰに使用されるフィルタ係数の数に等しい。各２次元（２Ｄ）サブピクセル位置「ｅ」、「ｆ」、「ｇ」、「ｉ」、「ｊ」、「ｋ」、「ｍ」、「ｎ」、および「ｏ」に対して、予測ユニット３２は、６×６タップ２Ｄ補間フィルタを使用することができる。サブピクセル位置「ｅ」、「ｆ」、「ｇ」、「ｉ」、「ｊ」、「ｋ」、「ｍ」、「ｎ」、および「ｏ」は、２つの整数ピクセル位置間の垂直線または水平線に配置されないという点で２Ｄである。この場合、３６個の未知数をもつ３６個の式のシステムは、ＭＣユニット３７によって解決できる。残りの１Ｄサブピクセル位置「ａ」、「ｂ」、「ｃ」、「ｄ」、「ｈ」、および「ｌ」は、１Ｄ補間フィルタ（たとえば、１Ｄ６タップフィルタ）のみを必要とする。１Ｄ６タップフィルタの場合、６つの式のシステムは、ＭＣユニット３７によって解決できる。
【数１０】
0005575747.tif 000011
【００７０】
（１つまたは複数の）フィルタ３９は、予測データを発生するためにＭＣユニット３７によって使用できる１つのフィルタまたは多くの様々なフィルタのセットを表すことができる。
【００７１】
したがって、ＡＩＦフィルタを導出し、適用する１つの例示的なプロセスは、予測ユニット３２によって実行できる以下のステップを有することができる。
【００７２】
１．コーディングすべきあらゆるビデオブロックについて動きベクトル（ｍｖｘ，ｍｖｙ）を推定する。動き推定中に、固定補間フィルタ（たとえば、Ｈ．２６４／ＡＶＣの補間プロセス）を適用することができる。
【００７３】
２．これらの動きベクトルを使用して、現在のビデオフレームにわたってサブピクセル位置ＳＰごとに予測誤差エネルギーを蓄積する。次いで、上記の２つの予測エネルギー式に記載の予測誤差エネルギーを最小限に抑えることによって、サブピクセル位置ＳＰごとに、単独で適応型フィルタ係数
【数１１】
0005575747.tif 000012
【００７４】
を計算する。
【００７５】
３．新しい動きベクトルを推定する。この動き推定プロセス中に、ステップ２で計算された適応補間フィルタを適用することができる。適応補間フィルタを使用して、エイリアシング、カメラノイズなどによって生じた動き推定誤差を低減し、より良い動き予測を達成する。
【００７６】
上記のように、異なるＡＩＦ方式が同じ分析プロセスを使用することができる。異なる方式間の差は、大部分、補間フィルタが分離可能であるか分離不可能であるかにかかわらず、使用される一意のフィルタ係数の数、および、使用されるフィルタサポート（すなわち、サブピクセル位置の少なくとも一部分を補間するために使用される整数ピクセル位置）にある。これらの方式の各々では、符号化し、ビデオビットストリーム中で送信する必要があるフィルタ係数の数を低減するために、ＡＩＦフィルタにいくつかの対称性制約を課することがある。
【００７７】
ＮＳ−ＡＩＦの場合、たとえば、予測ユニット３２のＭＣユニット３７は、６つの係数を必要とする（各タップが整数ピクセル位置と対応するので６位置フィルタとも呼ばれる）１Ｄ６タップ補間フィルタを使用して、１Ｄサブピクセル位置「ａ」、「ｂ」、「ｃ」、「ｄ」、「ｈ」、および「ｌ」を補間することができる。１Ｄサブピクセルを補間するために使用される６位置フィルタの６つの係数はそれぞれ、図３に示す整数ピクセル位置のうちの１つと対応する。たとえば、サブピクセル位置「ａ」、「ｂ」、および「ｃ」の場合、係数に対応する６つの整数ピクセル位置は、Ｃ１、Ｃ２、Ｃ３、Ｃ４、Ｃ５およびＣ６であり、サブピクセル位置「ｄ」、「ｈ」、および「ｌ」の場合、係数に対応する６つの整数ピクセル位置は、Ａ３、Ｂ３、Ｃ３、Ｄ３、Ｅ３およびＦ３である。これらの整数ピクセル位置は補間フィルタの「フィルタサポート」を表す。
【００７８】
予測ユニット３２は、３６個のフィルタ係数を必要とする２Ｄ６×６補間フィルタを使用して、２Ｄサブピクセル位置「ｅ」、「ｆ」、「ｇ」、「ｉ」、「ｊ」、「ｋ」、「ｍ」、「ｎ」、および「ｏ」を補間することができる。２Ｄサブピクセルを補間するために使用される２Ｄ６×６補間フィルタの３６個の係数はそれぞれ、整数ピクセル位置Ａ１〜Ａ６、Ｂ１〜Ｂ６、Ｃ１〜Ｃ６、Ｄ１〜Ｄ６、Ｅ１〜Ｅ６およびＦ１〜Ｆ６と対応する。これらの整数ピクセル位置は補間フィルタの「フィルタサポート」を表す。追加の制限が課せられない、たとえば、係数対称性またはピクセル対称性がない場合、ビデオ符号器５０は、２Ｄサブピクセル位置のための３６個の係数の９つのセットと、１Ｄサブピクセル位置のための６つの係数の６つのセットとの合計３６０個の係数を符号化し、送信することがある。ビデオビットストリーム中のその数の係数を符号化し、送信することにより、コストのかかるビットオーバーヘッドが生じることになる。高いビットオーバーヘッドは、今度は、ひずみの所与のレベルに対するビットレートを増大させるので、望ましくない。
【００７９】
フィルタ係数を送信することに関連するビットオーバーヘッドを低減するために、補間フィルタにいくつかの対称性制限を課して、復号器２８に送信する必要がある一意のフィルタ係数の数を低減することができる。２つのタイプの対称性、すなわちピクセル対称性および係数対称性を、単独で、または組合せで課することがある。ピクセル対称性は、異なるサブピクセル位置に対して、フィルタ係数の同じセット（および、そのセットのミラーリングされ、反転され、および／または回転されたバージョン）を実施する。そのようなピクセル対称性が２つ以上のサブピクセルロケーションに関連するフィルタ係数に対して適用する限り、ピクセル対称性をサブピクセル対称性と呼ぶこともある。一方、係数対称性は、様々なフィルタサポート位置にとって他のフィルタサポート位置に対してある方向（たとえば、水平方向、垂直方向またはその両方）で対称的になるように、所与の補間フィルタを補間すべき所与のサブピクセル値に対して実施する。
【００８０】
ピクセル対称性はＮＳ−ＡＩＦで使用できる。図３を再び参照すると、
【数１２】
0005575747.tif 000013
【００８１】
をサブピクセル位置「ａ」に対するフィルタ係数のセットとし、次いで、サブピクセル位置「ｃ」に対するフィルタ係数のセットは、
【数１３】
0005575747.tif 000014
【００８２】
、すなわち、逆順序で、または水平に反転された同じ係数である。すなわち、サブピクセル位置「ａ」における予測ピクセル値ｐaと、サブピクセル位置「ｃ」における予測ピクセル値ｐcとをそれぞれ、（８）および（９）を使用して計算することができる。
【数１４】
0005575747.tif 000015
【００８３】
サブピクセル位置「ｄ」および「ｌ」はそれぞれ、サブピクセル位置「ａ」および「ｃ」と同じ補間フィルタ係数のセットを使用して補間できる。したがって、サブピクセル位置「ａ」および「ｃ」は、サブピクセル位置「ｄ」および「ｌ」に対するピクセル対称性を有することができる。
【００８４】
本開示の一態様は、サブピクセル位置「ｄ」および「ｌ」に対するサブピクセル位置「ａ」および「ｃ」との間のピクセル対称性を実際に除去することである。さらに、サブピクセル位置「ｉ」に対するサブピクセル位置「ｆ」に対してピクセル対称性を回避することがある。さらに、サブピクセル位置「ｎ」に対するサブピクセル位置「ｋ」に対してピクセル対称性を回避することがある。そのような場合、対角相関は低くなり、これらの場合に対角対称性を課することが非効率的または非効果的になる。
【００８５】
別の例として、
【数１５】
0005575747.tif 000016
【００８６】
をサブピクセル位置「ｅ」のための６×６  ２Ｄフィルタ係数のセットとする。その場合、位置「ｇ」のためのフィルタ係数のセットは、
【数１６】
0005575747.tif 000017
【００８７】
（水平に反転されたバージョン）である。同様に、サブピクセル位置「ｍ」のためのフィルタ係数のセットは、
【数１７】
0005575747.tif 000018
【００８８】
（垂直に反転されたバージョン）であり、サブピクセル位置「ｏ」のためのフィルタ係数のセットは、
【数１８】
0005575747.tif 000019
【００８９】
（最初に水平に反転され、次いで垂直に反転された）である。したがって、サブピクセル位置「ｅ」、「ｇ」、「ｍ」および「ｏ」は、ピクセル対称性を有する。上記に与えられた例と同様に、サブピクセル位置「ｂ」と「ｈ」との間の対称性、および位置「ｆ」と「ｉ」と「ｋ」と「ｎ」との間の対称性を課する。そのようなピクセル対称性制約下では、一意のフィルタセットの５つのグループ、すなわち、サブピクセルグループ「ａ」、「ｃ」、「ｄ」および「ｌ」のためのフィルタ係数の第１のセット、サブピクセルグループ「ｂ」および「ｈ」のためのフィルタ係数の第２のセット、サブピクセルグループ「ｅ」、「ｇ」、「ｍ」および「ｏ」のためのフィルタ係数の第３のセット、グループ「ｆ」、「ｉ」、「ｋ」、および「ｎ」のためのフィルタ係数の第４のセット、ならびにサブピクセルグループ「ｊ」のためのフィルタ係数の第５のセットのみが残る。
【００９０】
さらに、ＮＳ−ＡＩＦは、これらのフィルタセットの一部に対して、単独で、または上記のサブピクセル対称性との組合せで係数対称性制限を課することができる。場合によっては、対角係数対称性を故意に回避することができ、たとえば、対角係数対称性制約を削除することができる。一例では、サブピクセルロケーション「ａ」、「ｃ」、「ｄ」および「ｌ」を含むサブピクセル位置の第１のグループのためのフィルタに係数対称性を課さない。しかしながら、係数「ｂ」および「ｈ」を含むサブピクセル位置の第２のグループは、式（１０）による係数対称性を有することができる。
【数１９】
0005575747.tif 000020
【００９１】
同様に、サブピクセル位置「ｅ」、「ｆ」、および「ｊ」を含むサブピクセル位置の第３、第４および第５のグループのための補間フィルタのための係数はそれぞれ、式（１１）、（１２）、および（１３）にそれぞれ与えられる係数対称性を有することができる。
【数２０】
0005575747.tif 000021
【００９２】
上述のそのようなピクセル対称性および係数対称性制約下では、一意のフィルタ係数の数を、３６０（対称性制約なし）から、６（ａ）＋３（ｂ）＋２１（ｅ）＋１８（ｆ）＋６（ｊ）＝５４係数、すなわち、サブピクセル位置「ａ」を含むグループのための６つの係数、サブピクセル位置「ｂ」を含むグループのための３つの係数、サブピクセル位置「ｅ」を含むグループのための２１個の係数、サブピクセル位置「ｆ」を含むグループのための１８個の係数、およびサブピクセル位置「ｊ」を含むグループのための６つの係数まで低減することができる。したがって、ＮＳ−ＡＩＦでは、ビデオ符号器２２は、対称性制約がない場合のように３６０個ではなく、５４個の係数を符号化し、送信することができる。上述のように、５４個の係数は、上記の式（７）に基づいて分析的に解決できる。次いで、ビデオ符号器５０は、ビットストリーム中の係数を予測し、量子化し、（たとえば、符号付き指数ゴロム符号を使用して）コーディングし、送信することができる。フィルタ係数の予測コーディングについてのさらなる詳細については、以下にさらに詳細に論じる。係数予測および量子化ユニット４１は、本開示に一致するフィルタ係数の予測コーディングおよび量子化のために使用できる。
【００９３】
別のＡＩＦ方式、すなわち、Ｓ−ＡＩＦでは、予測ユニット３２は、ＮＳ−ＡＩＦで使用される分離不可能な補間フィルタの代わりに、水平方向および垂直方向で分離可能な補間フィルタを使用することができる。１Ｄサブピクセル位置の場合、予測ユニット３２（たとえば、予測ユニット３２のＭＣユニット３７）は、サブピクセルロケーションに応じて、水平方向フィルタのみ、または垂直方向フィルタのみを適用する。一例では、水平方向フィルタおよび垂直方向フィルタは６位置（または６タップ）フィルタを備える。予測ユニット３２は、フィルタサポートとして整数ピクセル位置Ｃ１、Ｃ２、Ｃ３、Ｃ４、Ｃ５、およびＣ６（図３参照）を用いて、サブピクセル位置「ａ」、「ｂ」、および「ｃ」に対して水平方向フィルタを適用し、フィルタサポートとして整数ピクセル位置Ａ３、Ｂ３、Ｃ３、Ｄ３、Ｅ３およびＦ３（図３参照）を用いて、サブピクセル位置「ｄ」、「ｈ」、および「ｌ」に対して垂直方向フィルタを適用する。残りのサブピクセル位置、すなわち、２Ｄサブピクセル位置に対して、予測ユニット３２は、最初に水平フィルタ処理、その後に垂直フィルタ処理を適用するか、または垂直フィルタ処理、その後に水平フィルタ処理を適用する。この場合も、分離可能な水平フィルタおよび垂直フィルタのために使用されるフィルタ係数を、上記の式（７）に従って計算することができる。対称性がなければ、Ｓ−ＡＩＦは、対称性をもたないＮＳ−ＡＩＦの場合のように、コーディングし、送信する必要がある係数の数を３６０係数から１４４係数まで低減することができる。
【００９４】
Ｓ−ＡＩＦは、補間フィルタの少なくともいくつかに１つまたは複数の対称性制限をさらに課することができる。ＮＳ−ＡＩＦのサブピクセル対称性とは異なり、Ｓ−ＡＩＦの場合、サブピクセル位置「ａ」および「ｃ」のために使用されるフィルタセットは、対称的、すなわち、互いを水平に反転したバージョンではない。代わりに、サブピクセル位置「ａ」および「ｃ」のために使用されるフィルタセットの係数はそれぞれ、互いと独立して、
【数２１】
0005575747.tif 000022
【００９５】
および
【数２２】
0005575747.tif 000023
【００９６】
として導出される。垂直移動する各サブピクセル位置に対して、サブピクセル対称性はＮＳ−ＡＩＦと同様である。すなわち、サブピクセル位置「ｄ」および「ｌ」のための係数、サブピクセル位置「ｅ」および「ｍ」のための係数、サブピクセル位置「ｆ」および「ｎ」のための係数、ならびにサブピクセル位置「ｇ」および「ｏ」のための係数はそれぞれ、互いを垂直に反転したバージョンである。たとえば、サブピクセル位置「ｄ」のための垂直フィルタの係数が
【数２３】
0005575747.tif 000024
【００９７】
である場合、サブピクセル位置「ｌ」のための垂直フィルタの係数は
【数２４】
0005575747.tif 000025
【００９８】
である。したがって、Ｓ−ＡＩＦ中で使用されるサブピクセル対称性は、１次元での垂直サブピクセル対称性のみを有する。しかしながら、Ｓ−ＡＩＦは水平サブピクセル対称性を有しない。Ｓ−ＡＩＦでのサブピクセル対称性は、符号化し、送信する必要がある係数の数を１４４係数から１０２係数まで低減することができる。
【００９９】
Ｓ−ＡＩＦは、ＮＳ−ＡＩＦのように、係数対称性を使用して、ビデオ符号器５０によって符号化し、送信する必要がある係数の数をさらに低減することもできる。Ｓ−ＡＩＦで使用される係数対称性は、Ｓ−ＡＩＦで１Ｄ（水平または垂直）６タップフィルタのみがあることを除いて、ＮＳ−ＡＩＦと同じとすることができる。言い換えれば、６×６  ２Ｄフィルタがない。Ｓ−ＡＩＦでは、各サブピクセル位置ＳＰ、ＳＰ∈｛ｂ，ｈ，ｉ，ｊ，ｋ｝に対して、フィルタ係数は、式（１４）に示す対称性を有することができる。
【数２５】
0005575747.tif 000026
【０１００】
したがって、サブピクセル対称性と係数対称性の両方を用いて、Ｓ−ＡＩＦフィルタは一意の１Ｄ６タップフィルタの１１個のセットを有することができ、そのうちの５つは、各々が３つの一意の係数を有する対称的なフィルタである。残りの６つのフィルタはそれぞれ、６つの一意の係数を有することができる。この場合、ビデオ符号器２２は、ビデオビットストリーム中の合計５１個の一意のフィルタ係数を量子化し、予測し、コーディングし、送信することができる。
【０１０１】
別のＡＩＦ方式、Ｄ−ＡＩＦでは、予測ユニット３２は、２Ｄサブピクセル位置「ｅ」、「ｆ」、「ｇ」、「ｉ」、「ｊ」、「ｋ」、「ｍ」、「ｎ」、および「ｏ」に対して方向フィルタを使用する。方向フィルタは６タップフィルタを備えることができ、係数は対称性を有するので、係数のサブセットのみを送信すればよい。本明細書で説明するように、フィルタサポートは、サブピクセル位置を補間する際に使用される参照フレームからのピクセル位置を指す。ＭＣユニット３７は、フィルタサポートとして整数ピクセル位置Ａ１、Ｂ２、Ｃ３、Ｄ４、Ｅ５およびＦ６を有する６位置（または、６タップ）対角補間フィルタを用いて、サブピクセル位置「ｅ」および「ｏ」を計算することができる。予測ユニット３２は、フィルタサポートとして整数ピクセル位置Ａ６、Ｂ５、Ｃ４、Ｄ３、Ｅ２およびＦ１を有する６位置対角補間フィルタを用いて、サブピクセル位置「ｇ」および「ｍ」を計算することができる。予測ユニット３２は、フィルタサポートとして整数ピクセル位置Ａ１、Ｂ２、Ｃ３、Ｄ４、Ｅ５、Ｆ６、Ａ６、Ｂ５、Ｃ４、Ｄ３、Ｅ２、およびＦ１を有する１２位置対角補間フィルタを用いて、サブピクセル位置「ｆ」、「ｉ」、「ｊ」、「ｋ」および「ｎ」を計算することができる。
【０１０２】
Ｄ−ＡＩＦは、ＮＳ−ＡＩＦに関して上述したのと同じサブピクセル対称性および係数対称性を使用することができる。サブピクセル対称性に関して、１５個のサブピクセル位置を補間するためのフィルタ係数の５つの一意のセットがあり、サブピクセル位置「ａ」、「ｃ」、「ｄ」および「ｌ」は同じフィルタ係数（たとえば、ミラーリングされ、反転され、および／または回転されたバージョン）を共有し、サブピクセル位置「ｅ」、「ｇ」、「ｍ」および「ｏ」は同じフィルタ係数（たとえば、ミラーリングされ、反転され、および／または回転されたバージョン）を共有し、サブピクセル位置「ｂ」および「ｈ」は同じフィルタ係数（水平フィルタである「ｂ」、および垂直フィルタである「ｈ」）を共有し、サブピクセル位置「ｆ」、「ｉ」、「ｋ」、および「ｎ」は同じフィルタ係数（たとえば、ミラーリングされ、反転され、および／または回転されたバージョン）を共有し、サブピクセル位置「ｊ」はそれ自体のフィルタ係数のセットを有する。
【０１０３】
係数対称性に関して、「ａ」、「ｃ」、「ｄ」および「ｌ」を含む第１のサブピクセルグループのためのフィルタ係数は、６つの一意の係数を有する１Ｄ６位置フィルタを使用し（すなわち、第１のグループは対称的ではない）、第２のサブピクセルグループ「ｂ」および「ｈ」のためのフィルタ係数は、３つの一意の係数を有する１Ｄ６位置フィルタを使用し（すなわち、ｂが対称的である）、サブピクセルグループ「ｅ」、「ｇ」、「ｍ」および「ｏ」のためのフィルタ係数の第３のセットは、６つの一意の係数を有する方向６位置フィルタを使用する。グループ「ｆ」、「ｉ」、「ｋ」、および「ｎ」のためのフィルタ係数の第４のセットは、６つの一意の係数を有する１２タップフィルタを使用し、グループ「ｊ」のためのフィルタ係数の第５のセットは、３つの一意の係数を有する。Ｄ−ＡＩＦ方式での一意の係数の総数は、６（ａ）＋３（ｂ）＋６（ｅ）＋６（ｆ）＋３（ｊ）＝２４係数である。これらのフィルタ係数を、予測し、量子化し、コーディングし、ビデオビットストリーム中で送信することができる。
【０１０４】
予測ユニット３２のＭＣユニット３７は、本明細書で説明する補間技法のうちの１つまたは複数を使用してサブピクセル位置の補間の精度を向上させ、および／または、符号化し、送信する必要がある補間フィルタ係数の数を低減することができる。補間のために使用できる放射形状をもつ有用な１２ピクセルフィルタサポート、係数対称性およびピクセル対称性を使用して、補間のためのフィルタサポートを構成するために符号器と復号器との間で送信する必要があるデータ量を低減する技法、従来の技法に対して対称性のいくつかの態様を除去するための技法、およびサブピクセル補間と同様の方法で整数ピクセルロケーションにおいてデータをフィルタ処理するための技法について、以下でより詳細で説明する。オフセット技法についても説明する。さらに、補間フィルタ間で選択するための技法、およびフィルタ係数を予測符号化するための技法についても説明する。
【０１０５】
図４は、９つのサブピクセルロケーションに関する１２ピクセルフィルタサポートを示す概念図である。本開示によれば、ＭＣユニット３７は、陰影付き整数ピクセル値に基づいて、サブピクセル位置「ｅ」、「ｆ」、「ｇ」、「ｉ」、「ｊ」、「ｋ」、「ｍ」、「ｎ」、および「ｏ」のサブピクセル値を計算することができる。この場合、サブピクセル値を計算することは、図４に示すように、サブピクセル位置を囲む１２個の（または場合によっては、より多くの）整数ピクセル位置のセットに対応するフィルタサポート位置の２次元アレイを定義する補間フィルタを適用することを備える。フィルタサポート位置は陰影付きで大文字を用いて示し、サブピクセル位置は点線と小文字のボックスとして示す。ＭＣユニット３７は、このようにして、ビデオブロックのあらゆるピクセルに対してピクセルを補間し、補間されたサブピクセル値に基づいて予測ブロックを発生することができる。１２位置フィルタサポートは、放射形状を有し、ＮＳ−ＡＩＦで使用される３６個の位置フィルタサポートと同様の周波数応答を有するが、補間の複雑さはかなり低減されている。
【０１０６】
図３から諒解できるように、サブピクセル値は１５個のハーフペル値およびクォーターペル値を備えることができる。フィルタサポート位置の２次元アレイを定義する補間フィルタは、図４に示すように１５個のハーフペル値およびクォーターペル値のうちの９つを定義するために適用される。
【０１０７】
サブピクセル位置を囲む、１２個以上の整数ピクセル位置のセットは、図４に陰影付きで示されており、９つのハーフペル値およびクォーターペル値を囲む４つの整数ピクセル位置Ｃ３、Ｃ４、Ｄ３およびＤ４、ならびに４つの整数ピクセル位置を囲む８つの整数ピクセル位置Ｂ３、Ｂ４、Ｃ２、Ｃ５、Ｄ２、Ｄ５、Ｅ３およびＥ４を含むことができる。図４に示すフィルタサポート位置の２次元アレイ中のフィルタサポート位置の各々は、サブピクセル位置に対する２つの整数ピクセル位置内にある。そのようなフィルタ処理は、ビデオ符号器５０（図２）によるビデオ符号化プロセス中に、またはビデオ復号器６０（図１６）によるビデオ復号プロセス中に、動き補償の一部を形成することができる。ビデオ符号化プロセス中に、予測ユニット３２は、予測シンタックス要素の一部として係数値の複数のセットをエントロピーコーディングユニット４６にフォワーディングする。図４に示すように、サブピクセル位置を囲む１２個以上の整数ピクセル位置のセットは、放射形状を有し、補間フィルタ（たとえば、図２の（１つまたは複数の）フィルタ３９）によって定義された９つのハーフペル値およびクォーターペル値に空間的に最も近い整数ピクセル位置のセットを備えることができる。
【０１０８】
エントロピーコーディングユニット４６は、係数値のセットを符号化し、符号化ビットストリームの一部として補間フィルタの係数値を出力し、次いで、符号化ビットストリームは別のデバイスに送信される。図４に示す各異なるサブピクセルロケーションに関して定義された係数値の複数のセットの各々は、１２個以上の整数ピクセル位置に対して異なる重み付けを定義することができる。係数値のＭ個のセットが１２個以上の整数ピクセル位置に対してＮ個の異なる重み付けを定義するように、ピクセル対称性が存在することができ、ただし、ＭおよびＮは正の整数であり、ＮはＭより大きい。言い換えれば、ピクセル対称性はピクセルロケーションの一部が他のピクセルロケーションのミラーリング、反転または回転された重み付けに依拠できるようにするので、他のサブピクセルロケーションとのピクセル対称性を有するロケーションに対して係数をコーディングする必要がない。
【０１０９】
図５は、３つの水平サブピクセルロケーションに関する水平６ピクセルフィルタサポートと、３つの垂直サブピクセルロケーションに関する垂直６ピクセルフィルタサポートとを示す概念図である。フィルタサポートロケーションを陰影付きで大文字を用いて示し、サブピクセルロケーションを陰影なしで小文字と点線を用いて示す。ＭＣユニット３７は、フィルタサポート位置Ｃ１〜Ｃ６の１次元アレイを定義する線形補間フィルタを適用することによってロケーション「ａ」、「ｂ」、および「ｃ」のサブピクセル値を計算することができる。ＭＣユニット３７はまた、フィルタサポート位置Ａ３〜Ｆ３の１次元アレイを定義する線形補間フィルタを適用することによってロケーション「ｄ」、「ｈ」、および「ｌ」のサブピクセル値を計算することができる。このようにして、線形補間フィルタは、図３に示す１５個のハーフペル値およびクォーターペル値のうちの６つのために使用できる。
【０１１０】
図６は、整数ピクセルロケーションをフィルタ処理するための５ピクセル×５ピクセルフィルタサポートを示す概念図である。この場合、補間的フィルタ処理は、調整された整数ピクセル値を発生するために整数ピクセルロケーションに関して適用できる。図６では、たとえば、位置Ｃ３における整数ピクセル値は、５×５ピクセルアレイＡ１〜Ａ５、Ｂ１〜Ｂ５、Ｃ１〜Ｃ５、Ｄ１〜Ｄ５およびＥ１〜Ｅ５に基づいてフィルタ処理できる。他のフィルタサポートを整数フィルタ処理に対して定義することができる。この場合、ＭＥユニット３５が整数ピクセルのブロックを識別する場合、ＭＣユニット３７は、フィルタ処理された整数ピクセル値を発生するために、図６に示す５×５ピクセルアレイ（または他のフィルタサポート）に基づいて、各ピクセルをフィルタ処理することができる。このようにして、補間的フィルタ処理を整数ピクセルに適用することができ、それにより、照明変更、あるいはシーンフェードインまたはフェードアウト時における符号化を改善することができる。さらに、整数フィルタ処理は、ノイズを除去し、画像フレームのシャープ化を可能にし、特にフィルタ係数に対称性が課せられないとき、連続したビデオフレーム間の微細な物体の動きの符号化を改善するのに役立つ。整数ペルフィルタ処理はまた、焦点変更を有するビデオシーケンスの品質および／または圧縮を改善することに極めて有用である。
【０１１１】
したがって、ビデオ符号器２２および／またはビデオ復号器２８は、調整された整数ピクセル値を発生するために整数ピクセル位置に対して補間的フィルタ処理を利用することができる。ビデオ符号器２２またはビデオ復号器２８は、たとえば、ピクセルのブロック内に整数ピクセル位置に対応する整数ピクセル値を含む、ピクセルのブロックを得ることができる。ビデオ符号器２２またはビデオ復号器２８は、整数ピクセル位置に対応する調整された整数ピクセル値を発生するために、ピクセルのブロック内の他の整数ピクセル値に基づいて整数ピクセル値をフィルタ処理し、調整された整数ピクセル値に基づいて予測ブロックを発生することができる。次いで、予測ブロックを使用して、プロセスが符号化中に、または復号中に実行されるかに応じて、ビデオブロックを符号化または復号することができる。
【０１１２】
符号化プロセス中に本技法を実行した場合、ビデオ符号器２２は、符号化されている現在のビデオブロックと予測ブロックとの間の差として残差ビデオブロックを発生することができる。ビデオ符号器２２はまた、整数フィルタ処理のためにコード化単位当たりフィルタ係数の１つのセットを符号化するか、または場合によっては、コード化単位内の異なるロケーションにおける整数フィルタ処理のためにコード化単位当たりフィルタ係数の２つ以上のセットを符号化することができる。図６の例では、整数フィルタ処理のためのフィルタサポートは、２次元フィルタ、たとえば、オフセットをもつ５×５フィルタを定義することができる。さらに、フィルタ処理のために使用される少なくともいくつかの係数間に係数対称性が存在するので、フィルタのためのすべての２５個の係数を判断するためには、２５個の異なる係数のサブセットのみがあればよい。他の多くのフィルタサイズおよび形状を整数ペルフィルタ処理に従って使用することができる。
【０１１３】
整数ペルフィルタ処理が復号プロセス中に実行される場合、本技法は、復号されている現在のビデオブロックに関連する残差ビデオブロックと予測ブロックとの和として再構成されたビデオブロックを発生することを備えることができる。この場合、復号デバイス（たとえば、宛先デバイス１６）は、整数フィルタ処理のためにコード化単位当たりフィルタ係数の１つのセットを受信するか、または、コード化単位内の異なるロケーションにおける整数フィルタ処理のためにコード化単位当たりフィルタ係数の２つ以上のセットを受信することができる。各コード化単位は、整数ペルフィルタ処理係数の１つまたは複数のセット、ならびにサブペルフィルタ処理係数のセット、たとえば、ハーフペル位置およびクォーターペル位置のためのすべて１５個のセットを発生するために使用できる８つのセットを有することができる。
【０１１４】
この場合も、整数ピクセル値の補間的フィルタ処理は、特に照明変更、シーンフェードインまたはフェードアウト中に圧縮を改善し、ノイズを除去し、画像フレームのシャープ化を可能にし、特にフィルタ係数に対称性が課せられないとき、連続したビデオフレーム間の微細な物体の動きの符号化を改善するのに役立つ。さらに、整数ペルフィルタ処理はまた、たとえば、焦点変更を有するビデオシーケンス中で、圧縮を改善するのに極めて有用であることがわかる。
【０１１５】
従来では、補間的フィルタ処理をＡＩＦでの整数ピクセル位置に対して実行しない。代わりに、参照フレーム中の対応する整数ピクセル位置を単に「そのまま」使用する。しかしながら、本開示によれば、フィルタを補間と同様の方法で整数ピクセルロケーションのために使用することができる。整数ピクセル位置のピクセル値はすでに存在するので、整数ピクセル位置に対する補間フィルタ処理は、技術的に誤った名称である。したがって、整数ピクセル位置のフィルタ処理を、本明細書では補間的フィルタ処理と呼び、新しい調整されたピクセル値を発生するために整数ピクセル値を単にフィルタ処理することとして考える。
【０１１６】
目的が参照フレーム中に存在しない値を得ることである、サブピクセル位置のための補間フィルタ処理とは異なり、参照フレーム中の整数位置におけるピクセルはすでに存在する。それでも、参照フレーム中の整数ピクセル位置に対してフィルタ処理を適用することは、いくつかの利益を提供する。たとえば、整数ピクセル位置がオフセットを含むとき、整数ピクセル位置のフィルタ処理により、フレーム間の照明変更をより良くキャプチャすることが可能になる。さらに、整数ピクセル位置に対するフィルタ処理により、整数ピクセル位置がフェードインおよびフェードアウトなどの特殊効果をキャプチャすることが可能になる。整数ピクセル位置に対するフィルタ処理により、いくつかの（カメラノイズなどの）信号ノイズを除去することもでき、および／または、必要な場合、シャープ化を実行する。さらに、整数ピクセルフィルタに対して対称性が課せられない場合、整数ピクセルフィルタは、クォーターピクセルの倍数ではない物体移動などの微細な物体の移動をキャプチャするのに役立つ。最後に、焦点変更が発生するとき、整数ピクセルフィルタ処理はまた、ビデオシーケンスの圧縮を改善することに有用である。
【０１１７】
いくつかの例では、整数ピクセル位置の補間フィルタ処理は動きベクトルに依存することがある。言い換えれば、予測ユニット３２のＭＣユニット３７は、ＭＥユニット３５によって識別される動きベクトルに基づいて補間フィルタ処理を適応的に適用することができる。たとえば、動きベクトルが整数ピクセル位置を指すとき、整数ピクセル位置の補間フィルタ処理を実行することができる。補間フィルタ処理により、整数ピクセル位置の調整されたピクセル値が生じる。動きベクトルがサブピクセル位置を指すとき、整数ピクセル位置のフィルタ処理を整数ピクセル値に関して実行しないが、そのフィルタ処理をサブピクセル値の補間のために使用することができる。このようにして、整数ピクセルフィルタ処理は動きベクトルに基づいて適応していると考えることができる。
【０１１８】
整数ピクセル位置の場合、式（１５）の形態の５×５補間フィルタを、サブピクセル位置フィルタを導出するために使用される同じ分析プロセスを使用して導出することができる。
【数２６】
0005575747.tif 000027
【０１１９】
ただし、ｐFPはフィルタ処理された整数ピクセル値であり、Ｐi,jは位置（ｉ，ｊ）における整数ピクセル値であり、ｈFPi,jは位置（ｉ，ｊ）のための係数であり、ｏFPはフィルタオフセットである。いくつかの例では、整数ピクセル位置のための補間フィルタは、フィルタオフセットを有していないことがある（すなわち、ｏFP＝０）。他の例では、フィルタオフセットｏFPはいくつかの技法のいずれかを使用することができる。サブピクセル位置ごとに異なるオフセットを定義することができ、たとえば、図３に示すサブピクセル位置ごとに異なる１５個のオフセットを定義することができる。整数ピクセルに対して別のオフセットを定義することができ、オフセットの総数は１６になる。参照により本明細書に組み込まれる、本出願と同じ日に出願され、整理番号第０８１３９９Ｕ２号を有し、Ｋａｒｃｚｅｗｉｃｚらによって出願された、同時係属および同一出願人による「OFFSETS AT SUB-PIXEL RESOLUTION」と題する米国特許出願第＿＿＿号は、異なるピクセルロケーションおよびサブピクセルロケーションのための多くのオフセットの使用について多くの追加の詳細を与える。
【０１２０】
送信すべきフィルタ係数の数を低減するために、式（１６）に記載の係数対称性を、整数ピクセルフィルタに課することができる。
【数２７】
0005575747.tif 000028
【０１２１】
係数対称性の他の形態を使用することもできる。係数対称性を課するどうかは、符号器によって決定され、復号器に知らされる。（１６）に記載の対称性が整数ピクセルフィルタに対して使用された場合、９つのフィルタ係数と１つのオフセットとを復号器に送信する必要がある。
【０１２２】
オフセットのコーディングは、最初に整数オフセットをコーディングし、次いで各部分オフセットをコーディングすることによって行われる。この場合、整数オフセットおよび部分オフセットを別様にコーディングする。整数オフセットは、符号付き指数ゴロム符号を使用してコーディングできる。整数オフセットの絶対値に応じて、部分オフセットを整数オフセットとは別様に量子化することができる。たとえば、整数オフセットが大きい絶対値を有するとき、より粗いレベルの量子化を部分オフセットに対して適用することができる。量子化の後、固定長符号を使用して部分オフセットをコーディングすることができる。一例として、以下の擬似コードに、整数オフセット値に基づいて定義された異なる固定長符号を使用して所与の部分オフセットをコーディングする方法を示す。
【０１２３】
オフセットＩを整数オフセットとする。
【０１２４】
オフセットＦを部分オフセットとする。
【０１２５】
オフセットＦビットを、オフセットＦを量子化するために使用されるビット数とする。
【０１２６】
ａｂｓ（ａ）をａの絶対値とする。
【数２８】
0005575747.tif 000029
【０１２７】
この場合、ビデオ符号器５０は、オフセット値の各々に対して、第１のビット数を所与のオフセット値の整数部分に割り当て、第２のビット数を所与のオフセット値の小数部分に割り当てる係数予測および量子化ユニット４１を使用することができ、第１および第２のビット数は、整数部分の絶対値に基づいて判断される。この場合、オフセット値の量子化バージョンは、オフセット値の量子化が上記の擬似コードに一致して実行された後、予測シンタックス要素として予測ユニット３２からフォワーディングされる。いずれの場合も、ビデオ符号器５０は、第２のビット数とは別様に第１のビット数を符号化することができる。
【０１２８】
図７は、本開示に一致する、４つの整数ピクセル位置と、フィルタ係数のためのピクセル対称性を使用することができるピクセル位置をグループ化するための陰影付きの１５個のサブピクセル位置とを示す概念図である。特に、図７は、整数ピクセル位置Ｃ３に対応するサブピクセル位置「ａ」〜「ｏ」を示す。図７に示すサブ整数ピクセル位置は、図４および図５のサブ整数ピクセル位置に対応する。すなわち、サブピクセルロケーション「ｅ」、「ｆ」、「ｇ」、「ｉ」、「ｊ」、「ｋ」、「ｍ」、「ｎ」、および「ｏ」は、図４に示す１２ピクセルサポートによって判断された値を有することができるが、サブピクセルロケーション「ａ」、「ｂ」、および「ｃ」、ならびにサブピクセルロケーション「ｄ」、「ｈ」、および「ｌ」は、図５に示す水平および線形ピクセルサポートによって判断された値を有することができる。
【０１２９】
このシナリオでは、ピクセルロケーション「ａ」のためのフィルタ係数がピクセルロケーション「ｃ」のためのフィルタ係数に対して対称的であるようにピクセル対称性を課することができる。同様に、ピクセルロケーション「ｄ」のためのフィルタ係数がピクセルロケーション「ｌ」のためのフィルタ係数に対して対称的であるようにピクセル対称性を課することができる。ピクセルロケーション「ｅ」のためのフィルタ係数がピクセルロケーション「ｇ」、「ｍ」、および「ｏ」のためのフィルタ係数に対して対称的であるようにピクセル対称性を課し、ピクセルロケーション「ｉ」のためのフィルタ係数がピクセルロケーション「ｋ」のためのフィルタ係数に対して対称的であるようにピクセル対称性を課し、ピクセルロケーション「ｆ」のためのフィルタ係数がピクセルロケーション「ｎ」のためのフィルタ係数に対して対称的であるようにピクセル対称性を課することができる。したがって、復号器がすべての１５個のピクセルロケーションのための係数値の完全なセットを発生することができるためには、ビデオビットストリームの一部として係数値の８つのセットのみを通信すればよい。さらに、係数の任意の所与のセットに対して、係数対称性は、係数値のサブセットのみを送信できるようにし、復号器は、サブセットおよび係数対称性に基づいて、所与のピクセルロケーションのための係数値の完全なセットを発生することができる。
【０１３０】
本開示の一態様は、サブピクセル位置「ｄ」および「ｌ」に対するサブピクセル位置「ａ」および「ｃ」との間のピクセル対称性を実際に除去することである。さらに、サブピクセル位置「ｉ」に対するサブピクセル位置「ｆ」に対してピクセル対称性を回避することがある。さらに、サブピクセル位置「ｎ」に対するサブピクセル位置「ｋ」に対してピクセル対称性を回避することがある。そのような場合、対角相関は低くなり、対角対称性を課することが非効率的または非効果的になる。このように、係数のすべての１５個のセットを発生するために使用される係数の８つのセットは、ピクセルロケーションの一部に対して対角次元における対称性を回避する限り、一部の従来の技法よりも大きいセットとなることがある。場合によっては、垂直次元における分散を可能にするために、対角ピクセル対称性および対角係数対称性を削除または回避することができる。
【０１３１】
図１を再び参照すると、ビデオ符号器２２は、フィルタ係数の８つのセットを判断し、また、フィルタ係数の８つのセットを使用して、係数対称性およびピクセル対称性に基づいて１５個の異なるサブピクセルロケーションに対応するフィルタ係数のすべての１５個のセットを発生し、符号化ビットストリームの一部としてフィルタ係数の８つのセットを出力することができる。フィルタ係数の８つのセットは、符号化ビットストリームのあらゆるコード化単位に対して出力され、または場合によっては、フィルタ係数の８つのセットのうちのいくつかの発生したセットは、コード化単位の異なるエリアに対して出力される。
【０１３２】
１５個のセットは、図３に示すあらゆるハーフペルおよびクォーターペルサブピクセルロケーションに対応し、８つのセット、係数対称性およびピクセル対称性は、あらゆるハーフペルおよびクォーターペルサブピクセルロケーションのためのフィルタサポートを定義する。宛先デバイス１６のビデオ復号器２８は、符号化ビデオビットストリームの一部としてフィルタ係数の８つのセットを受信し、フィルタ係数の８つのセットに基づいて１５個の異なるサブピクセルロケーションに対応するフィルタ係数の１５個のセットを発生し、１５個の異なるサブピクセルロケーションのうちの１つに対応するビデオ復号のための補間予測データを、フィルタ係数の１５個のセットのうちの１つに基づいて発生し、補間予測データに基づいて１つまたは複数のビデオブロックを復号することができる。
【０１３３】
係数対称性をもつ所与のセットが、所与のセットに関連する所与のサブピクセルロケーションのためのフィルタサポートに関連するフィルタ係数のサブセットを備えるように、フィルタ係数の８つのセットのうちの少なくともいくつかは係数対称性を有することができる。したがって、ビデオ復号器２８は、２つ以上の異なるサブピクセルロケーション間のピクセル対称性に少なくとも部分的に基づいて、フィルタ係数の１５個のセットを発生することができる。その上、係数対称性をもつ所与のセットが、所与のセットに関連する所与のサブピクセルロケーションのためのフィルタサポートに関連するフィルタ係数のサブセットを備えるように、ビデオ復号器２８は、２つ以上の異なるサブピクセルロケーション間のピクセル対称性に少なくとも部分的に基づいて、また、所与のセットのために定義された係数対称性に少なくとも部分的に基づいて、フィルタ係数の１５個のセットを発生することができる。
【０１３４】
この場合も、１５個のセットは、あらゆるハーフペルおよびクォーターペルサブピクセルロケーションに対応することができる。垂直次元および水平次元におけるフィルタ係数の１５個のセットのうちの異なるセット間にピクセル対称性は存在するが、フィルタ係数の１５個のセットのうちの少なくともいくつかに対する対角次元におけるピクセル対称性は存在しない。以下でより詳細に説明するように、８つのセットのうちの２つは、水平フィルタサポートのための１５個のセットのうちの３つを定義し、８つのセットのうちの２つは、垂直フィルタサポートのための１５個のセットのうちの３つを定義し、８つのセットのうちの４つは、２次元フィルタサポートのための１５個のセットのうちの９つを定義することができる。２次元サポートは、放射状に９つのサブピクセル位置を囲む有用な１２位置フィルタサポートを備えることができる。
【０１３５】
特に、補間予測データは、たとえば、図７に示す１５個のハーフペル値およびクォーターペル値を備えることができ、補間フィルタは、たとえば、図４に示す１２個のフィルタサポート位置の２次元アレイを定義し、１２個のフィルタサポート位置は、たとえば、図４にまた示す１５個のハーフペル値およびクォーターペル値のうちの９つを定義するために適用される。補間予測データを発生することは、たとえば、図５に示すように１５個のハーフペル値およびクォーターペル値のうちの６つのためのフィルタサポート位置の１次元アレイを定義する線形補間フィルタを適用することをさらに備えることができる。
【０１３６】
水平対称性および対角対称性の欠如は、サブピクセル位置「ａ」および「ｃ」に関して、またはサブピクセル位置「ｉ」および「ｋ」に関して見られる。この場合、サブ整数ピクセル位置「ａ」および「ｃ」は水平Ｘ軸に沿って対称的であるが、これらのピクセルに対する対角軸に沿って対称性が存在しないので、サブピクセルロケーション「ｄ」および「ｌ」はそれぞれサブピクセル位置「ａ」および「ｃ」に対して対称的ではない。同様に、サブピクセル位置「ｉ」および「ｋ」は水平Ｘ軸に沿って対称的であるが、これらのピクセルに対する対角軸に沿って対称性が存在しないので、サブピクセルロケーション「ｆ」および「ｎ」はそれぞれサブピクセル位置「ｉ」および「ｋ」に対して対称的ではない。
【０１３７】
ピクセル対称性は、第１のサブピクセル位置に対する係数の第１のセットが、第２のサブピクセル位置に対する係数の第２のセットに対して対称的であることを意味する。たとえば、ピクセルロケーション「ａ」はピクセルロケーション「ｃ」に対してピクセル対称性を有し、ピクセルロケーション「ｄ」はピクセルロケーション「ｌ」に対してピクセル対称性を有する。ピクセルロケーション「ｆ」はピクセルロケーション「ｎ」に対してピクセル対称性を有し、ピクセルロケーション「ｉ」はピクセルロケーション「ｋ」に対してピクセル対称性を有する。ピクセルロケーション「ｅ」は、ピクセルロケーション「ｇ」、「ｍ」、および「ｏ」に対してピクセル対称性を有する。図７に示す陰影は、このピクセル対称性を示しており、たとえば、共通の陰影は、他のピクセルロケーションに対して対称的であるピクセルロケーションに対応する。この場合、８つのピクセルロケーションのための係数は（ピクセル対称性の態様とともに）、すべての１５個のピクセルロケーションのための係数を定義することができる。さらに、係数の所与のセット内に係数対称性が存在することができるので、係数のそのセット中の係数のサブセットのみをビットストリームとともに通信すればよい。
【０１３８】
ビデオ符号器２２は、補間予測データに基づいて符号化ビデオデータを発生することができ、補間予測データは、１５個のハーフペル値およびクォーターペル値を備え、補間フィルタは、１５個のハーフペル値およびクォーターペル値のうちの９つを定義するために適用される１２個のフィルタサポート位置の２次元アレイを定義する。補間予測データに基づいて符号化ビデオデータを発生することは、１５個のハーフペル値およびクォーターペル値のうちの６つのためのフィルタサポート位置の１次元アレイを定義する線形補間フィルタを適用することをさらに備えることができる。
【０１３９】
図８は、サブピクセル位置「ｂ」に対する６つの水平線形ピクセルサポート位置Ｃ１〜Ｃ６を、係数対称性を示す陰影付きで示す概念図である。この場合、係数対称性は、フィルタサポート位置Ｃ１〜Ｃ６のための係数のセット全体を定義するために、３つのフィルタ係数のみがＣ１、Ｃ２およびＣ３のためにあればよいことを意味する。Ｃ１はＣ６と対称的であり、Ｃ２はＣ５と対称的であり、Ｃ３はＣ４と対称的である。したがって、サブピクセル位置「ｂ」を補間するために必要な６つの係数のセットを定義するために、符号化ビデオビットストリームの一部として３つの係数のみを通信すればよい。
【０１４０】
図９は、サブピクセルに対する６つの水平線形ピクセルサポート位置を、係数対称性の欠如を示す陰影付きで示す概念図である。したがって、サブピクセル位置「ａ」に関するフィルタサポートのための係数のセットを定義するためにすべての６つの係数が必要である。しかしながら、上記のように、ピクセル対称性は、サブピクセル位置「ａ」に関するこれらの同じ係数がまた、サブピクセル位置「ｃ」（図７参照）のためのフィルタサポートを導出するために使用できることを意味する。したがって、サブピクセル位置「ａ」および「ｃ」を補間するために必要な６つの係数のうちの２つの異なるセットを定義するために、符号化ビデオビットストリームの一部として６つの係数のみを通信すればよい。
【０１４１】
図１０は、サブピクセル「ｈ」に対する６つの垂直線形ピクセルサポート位置Ａ３、Ｂ３、Ｃ３、Ｄ３、Ｅ３およびＦ３を、係数対称性を示す陰影付きで示す概念図である。この場合、係数対称性は、フィルタサポート位置Ａ３、Ｂ３、Ｃ３、Ｄ３、Ｅ３およびＦ３のための係数のセット全体を定義するために、Ａ３、Ｂ３およびＣ３のために３つのフィルタ係数のみがあればよいことを意味する。Ａ３はＦ３と対称的であり、Ｂ３はＥ３と対称的であり、Ｃ３はＤ３と対称的である。したがって、サブピクセル位置「ｈ」を補間するために必要な６つの係数のセットを定義するために、符号化ビデオビットストリームの一部として３つの係数のみを通信すればよい。
【０１４２】
図１１は、サブピクセルに対する６つの垂直線形ピクセルサポート位置を、係数対称性の欠如を示す陰影付きで示す概念図である。したがって、サブピクセル位置「ｄ」に関するフィルタサポートのための係数のセットを定義するためにすべての６つの係数が必要である。しかしながら、上記のように、ピクセル対称性は、サブピクセル位置「ｄ」に関するこれらの同じ係数がまた、サブピクセル位置「ｌ」（図７参照）のためのフィルタサポートを導出するために使用できることを意味する。したがって、サブピクセル位置「ｄ」および「ｌ」を補間するために必要な６つの係数のうちの２つの異なるセットを定義するために、符号化ビデオビットストリームの一部として６つの係数のみを通信すればよい。
【０１４３】
図１２は、サブピクセル位置「ｅ」に対する１２個の２次元ピクセルサポート位置（大文字と陰影付きで示す整数ピクセル位置）を示す概念図である。陰影は係数対称性の欠如を示す。したがって、サブピクセル位置「ｅ」に関するフィルタサポートのための係数のセットを定義するために、すべての１２個の係数が必要である。しかしながら、上記のように、ピクセル対称性は、サブピクセル位置「ｅ」に関するこれらの同じ係数がまた、サブピクセル位置「ｇ」、「ｍ」、および「ｏ」（図７参照）のためのフィルタサポートを導出するために使用できることを意味する。したがって、１２個の係数は、サブピクセル位置「ｅ」のためのフィルタサポートを定義し、これらの同じ係数は、サブピクセル位置「ｇ」、「ｍ」、および「ｏ」のための係数のセットを導出するために使用できる。
【０１４４】
図１３は、サブピクセル「ｉ」に対する１２個の２次元ピクセルサポート位置（大文字で示される整数ピクセル位置）を、係数対称性を示す陰影付きで示す概念図である。この場合、係数対称性は、フィルタサポート位置Ｂ３、Ｂ４、Ｃ２、Ｃ３、Ｃ４およびＣ５のためのフィルタ係数を使用して、フィルタサポート位置Ｅ３、Ｅ４、Ｄ２、Ｄ３、Ｄ４およびＤ５のためのフィルタ係数を定義することができることを意味する。Ｂ３はＥ３と対称的であり、Ｂ４はＥ４と対称的であり、Ｃ２はＤ２と対称的であり、Ｃ３はＤ３と対称的であり、Ｃ４はＤ４と対称的であり、Ｃ５はＤ５と対称的である。したがって、サブピクセル位置「ｉ」を補間するために必要な１２個の係数のセットを定義するために、符号化ビデオビットストリームの一部として６つの係数のみを通信すればよい。さらに、上記のように、サブピクセル位置「ｉ」は、サブピクセル位置「ｋ」に対するピクセル対称性を有することができる。したがって、６つの係数の同じサブセットは、サブピクセル位置「ｉ」および「ｋ」のための１２個のフィルタ係数のセット全体を定義することができる。
【０１４５】
図１４は、サブピクセル「ｆ」に対する１２個の２次元ピクセルサポート位置（大文字で示される整数ピクセル位置）を、係数対称性を示す陰影付きで示す概念図である。この場合、係数対称性は、フィルタサポート位置Ｃ２、Ｄ２、Ｂ３、Ｃ３、Ｄ３およびＥ３のためのフィルタ係数を使用して、フィルタサポート位置Ｃ５、Ｄ５、Ｂ４、Ｃ４、Ｄ４およびＥ４のためのフィルタ係数を定義することができることを意味する。Ｃ２はＣ５と対称的であり、Ｄ２はＤ５と対称的であり、Ｂ３はＢ４と対称的であり、Ｃ３はＣ４と対称的であり、Ｄ３はＤ４と対称的であり、Ｅ３はＥ４と対称的である。したがって、サブピクセル位置「ｆ」を補間するために必要な１２個の係数のセットを定義するために、符号化ビデオビットストリームの一部として６つの係数のみを通信すればよい。さらに、上記のように、サブピクセル位置「ｆ」は、サブピクセル位置「ｎ」に対するピクセル対称性を有することができる。したがって、６つの係数の同じサブセットは、サブピクセル位置「ｆ」および「ｎ」のための１２個のフィルタ係数のセット全体を定義することができる。
【０１４６】
図１５は、サブピクセル「ｊ」に対する１２個の２次元ピクセルサポート位置（大文字で示される整数ピクセル位置）を、係数対称性を示す陰影付きで示す概念図である。この場合、係数対称性は、フィルタサポート位置Ｂ３、Ｂ４、Ｃ２、Ｃ３、Ｃ４、Ｃ５、Ｄ２、Ｄ３、Ｄ４、Ｄ５、Ｅ３およびＥ４のための１２個の係数のセット全体を定義するために、Ｂ３、Ｃ２およびＣ３のために、３つのフィルタ係数のみがあればよいことを意味する。Ｃ３はＣ４、Ｄ３およびＤ４と対称的であり、Ｃ２はＤ２、Ｃ５およびＥ４と対称的であり、Ｂ３はＢ４、Ｅ３およびＤ５と対称的である。したがって、サブピクセル位置「ｊ」を補間するために必要な１２個の係数のセットを定義するために、符号化ビデオビットストリームの一部として３つの係数のみを通信すればよい。
【０１４７】
図１６は、本明細書で説明する方法で符号化されたビデオシーケンスを復号することができるビデオ復号器の例を示すブロック図である。ビデオ復号器６０は、本明細書では「コーダ」と呼ぶ専用ビデオコンピュータデバイスまたは装置の一例である。ビデオ復号器６０は、量子化係数および予測シンタックス要素を発生するために、受信したビットストリームをエントロピー復号するエントロピー復号ユニット５２を含む。予測シンタックス要素は、コーディングモード、１つまたは複数の動きベクトル、サブピクセルデータを発生するために使用される補間技法を識別する情報、補間フィルタ処理中に使用するための係数、および／または予測ブロックの発生に関連する他の情報を含むことができる。
【０１４８】
予測シンタックス要素、たとえば、係数は、予測ユニット５５にフォワーディングされる。予測を使用して、固定フィルタの係数に対する係数、または互いに対する係数をコーディングした場合、係数予測および逆量子化ユニット５３は、実際の係数を定義するために、シンタックス要素を復号することができる。また、量子化を予測シンタックスのいずれかに適用した場合、係数予測および逆量子化ユニット５３は、そのような量子化を除去することもできる。たとえば、本開示に従って、フィルタ係数を予測コーディングし、量子化することができ、この場合、係数予測および逆量子化ユニット５３は、そのような係数を予測的に復号し、逆量子化するためにビデオ復号器６０によって使用できる。
【０１４９】
予測ユニット５５は、ビデオ符号器５０の予測ユニット３２に対して上記で詳細に説明したのとほとんど同じ方法で、メモリ６２に記憶されている予測シンタックス要素および１つまたは複数のあらかじめ復号されたブロックに基づいて、予測データを発生することができる。特に、予測ユニット５５は、動き補償中に本開示の補間フィルタ処理技法のうちの１つまたは複数を実行して、クォーターピクセル精度などの特定の精度で予測ブロックを発生することができる。したがって、本開示の技法のうちの１つまたは複数は、予測ブロックを発生する際に、ビデオ復号器６０によって使用できる。予測ユニット５５は、本開示の補間および補間的フィルタ処理技法のために使用されるフィルタを備える動き補償ユニットを含むことができる。動き補償構成要素は、説明を簡単で容易にするために図１６に示していない。
【０１５０】
逆量子化ユニット５６は、量子化された係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、Ｈ．２６４復号のために定義されたプロセスとすることができる。逆変換ユニット５８は、ピクセル領域における残差ブロックを生成するために、変換係数に逆変換、たとえば逆ＤＣＴまたは概念的に同様の逆変換プロセスを適用する。加算器６４は、残差ブロックを、予測ユニット５５によって発生された対応する予測ブロックと加算して、ビデオ符号器５０によって符号化された元のブロックの再構成されたバージョンを形成する。必要に応じて、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタを適用して、復号ブロックをフィルタ処理することもできる。次いで、復号ビデオブロックは参照フレームストア６２に記憶され、参照フレームストア６２は参照ブロックをその後の動き補償に供給し、ドライブディスプレイデバイス（図１のデバイス２８など）に対して復号ビデオをも生成する。
【０１５１】
ＮＳ−ＡＩＦ技法は、３６位置フィルタサポート（すなわち、２Ｄ６×６フィルタサポート）を有する補間フィルタを使用して、２Ｄサブピクセル位置のピクセル値を計算することができる。Ｓ−ＡＩＦは、最初に垂直次元よりも水平方向における補間フィルタ処理のためのフィルタサポートとして、分離可能な整数ピクセル位置を使用する。Ｄ−ＡＩＦは、２Ｄサブピクセル位置を計算するための、ＮＳ−ＡＩＦよりも複雑ではない補間フィルタを使用する。Ｄ−ＡＩＦでは、６位置フィルタサポートまたは１２位置対角フィルタサポートのいずれかを有する補間フィルタを使用して２Ｄサブピクセル位置を計算する。
【０１５２】
Ｄ−ＡＩＦに記載の対角フィルタサポートを使用することの１つの欠点は、フィルタ処理で使用される整数ピクセル位置が、補間すべき現在の位置からはるかに離れているということである。補間すべき現在の位置とフィルタサポートとして使用されるピクセルの位置との間の距離が増加するにつれて、空間ピクセル相関は減少する。したがって、Ｄ−ＡＩＦで使用される対角フィルタサポートは、正確な予測を形成することにあまり適していない。
【０１５３】
Ｄ−ＡＩＦによって提供される同じ低複雑度を維持しながら、補間すべき位置とのより高い相関をもつピクセル（すなわち、補間すべき位置により近い、または補間すべき位置からより短い距離のピクセル位置）を使用してより良い予測を行うために、図４に示す１２位置フィルタサポートを補間のために使用することができる。本開示で説明する１２位置フィルタサポートで使用される整数ピクセル位置は、サブピクセル位置を囲む４つの整数ピクセル位置すなわち、整数ピクセル位置Ｃ３、Ｃ４、Ｄ３およびＤ４を含み、４つの整数ピクセル位置は、２Ｄサブピクセル位置のコーナーの近くに配置されるので、「コーナー」整数ピクセル位置と呼ばれる。コーナー整数ピクセル位置に加えて、コーナー整数ピクセル位置に直接隣接する１つまたは複数の整数ピクセル位置を、フィルタサポートで使用することもできる。コーナー整数ピクセル位置に直接隣接する整数ピクセル位置は、コーナー整数ピクセル位置のすぐ上（上部または北の方向）、あるいは、すぐ下（下部または南の方向）の整数ピクセル位置、ならびに、コーナー整数ピクセル位置のすぐ左（または西）、あるいは、すぐ右（または東）の整数ピクセル位置を含むことができる。図４に示す例では、１２位置フィルタサポートは、整数ピクセルロケーションＢ３、Ｂ４、Ｃ２、Ｃ３、Ｃ４、Ｃ５、Ｄ２、Ｄ３、Ｄ４、Ｄ５、Ｅ３およびＥ４を含むことができる。これらの整数ピクセル位置のすべては、補間すべきサブピクセルの２つの整数ピクセル位置内に配置される。
【０１５４】
しかしながら、本開示の技法によるフィルタサポートは、追加の整数ピクセルロケーションを含むことができる。たとえば、フィルタサポートは、補間すべきサブピクセル位置の、放射形状を形成する３つの整数ピクセル位置内に配置された整数ピクセルロケーションを含むことができる。
【０１５５】
クォーターピクセル位置またはより微細な解像度でも、少なくとも２つの整数ピクセル位置内に配置された整数ピクセル位置に基づいて補間できる。このように、本開示のフィルタサポート技法は、Ｄ−ＡＩＦによって提供される同じ低複雑度を維持しながら、補間すべき位置とのより高い相関をもつ整数ピクセルを使用して、より良い補間予測を行う。
【０１５６】
上述のように、サブピクセル対称性は、１つまたは複数のサブピクセル位置のグループに対して、フィルタ係数の同じセット（ならびにセットのミラーリング、反転および／または回転されたバージョン）を実施することができる。式（５）における分析プロセスなどの分析プロセスを使用することは、すべてのサブピクセル位置、たとえば、クォーターピクセル精度の場合の１５個のサブピクセル位置に対して、補間フィルタ係数を導出するために使用できる。補間フィルタ係数の１５個のセットの間の相関の分析は、同じ次元（たとえば、垂直または水平次元）におけるサブピクセル位置（１Ｄサブピクセル位置と２Ｄサブピクセル位置の両方）のフィルタ係数間の比較的強い相関を明らかにする。それとは反対に、異なる対角方向におけるサブピクセル位置のフィルタ係数間の相関は、著しくより弱くなることがある。
【０１５７】
たとえば、両方とも水平次元にあるサブピクセル位置「ａ」と「ｃ」とのためのフィルタ係数間に高い相関が存在することがある。別の例として、両方とも垂直次元にあるサブピクセル位置「ｄ」と「ｌ」とのためのフィルタ係数間に高い相関が存在することがある。しかしながら、水平次元にあるサブピクセル位置「ａ」のためのフィルタ係数と、垂直次元にあるサブピクセル位置「ｄ」のためのフィルタ係数との間には、あるとしても、ほとんど相関がない。相関のこれらの観察に基づいて、対角次元におけるサブピクセル位置のフィルタ係数に対してサブピクセル対称性が課されないように、サブピクセル対称性を設計することができる。これは、本明細書で説明するように、いくつかの従来のプロセスのために必要となるセットよりも多いセットとすることができる係数の８つのセットをもたらす。いくつかのピクセルロケーションに対する対角ピクセル対称性を削除することによって、本明細書で説明するように、ビデオ符号化および圧縮を改善することができる。
【０１５８】
この場合も、図７は、サブピクセル対称性を有するサブピクセル位置のグループに属するピクセル位置を同じ陰影（またはハッチング）付きで示す。特に、サブピクセル位置「ａ」および「ｃ」は、サブピクセル対称性を有する第１のグループを形成し、サブピクセル位置「ｄ」および「ｌ」は、サブピクセル対称性を有する第２のグループを形成し、サブピクセル位置「ｅ」、「ｇ」、「ｍ」、および「ｏ」は、サブピクセル対称性を有する第３のグループを形成し、サブピクセル位置「ｆ」および「ｎ」は、サブピクセル対称性を有する第４のグループを形成し、サブピクセル位置「ｉ」および「ｋ」は、サブピクセル対称性を有する第５のグループを形成する。サブピクセル位置「ｂ」、「ｈ」、および「ｊ」は、任意の他のサブピクセル位置とのサブピクセル対称性を有しない。したがって、サブピクセル位置「ｂ」、「ｈ」、および「ｊ」はそれぞれ、それら自体のグループ、すなわち、第６、第７および第８のグループに属するものとして考えられる。様々なタイプのフィルタ処理がコード化単位の様々なエリアまたは機能に対して定義された場合、（係数対称性によりサブセットとすることができる）係数の各グループは、コード化単位当たり１回、または場合によっては、コード化単位当たり複数回通信できる。整数ペル補間的フィルタ処理のための係数はまた、コード化単位当たり１回または数回、送信できる。
【０１５９】
ＮＳ−ＡＩＦおよびＤ−ＡＩＦでは、同じ次元におけるサブピクセル位置、たとえば、垂直次元における２つのサブピクセル位置または水平次元における２つのサブピクセル位置間にサブピクセル対称性が存在する。いくつかの従来のＮＳ−ＡＩＦおよびＤ−ＡＩＦでは、異なる次元におけるサブピクセル位置間に対角線的にも対称性が存在する。たとえば、いくつかの従来のＮＳ−ＡＩＦおよびＤ−ＡＩＦでは、垂直次元におけるサブピクセル位置「ａ」と水平方向におけるサブピクセル位置「ｄ」との間にサブピクセル対称性が存在する。水平、垂直および対角次元におけるサブピクセル対称性とともに、補間フィルタ係数のわずか５つの一意のセットをクォーターピクセル精度に対して使用することができる。
【０１６０】
一方、いくつかのタイプのＳ−ＡＩＦの場合、水平次元におけるサブピクセル位置ではなく、垂直方向（または次元）におけるサブピクセル位置間にサブピクセル対称性が存在する。言い換えれば、同じ次元におけるサブピクセル位置に対してサブピクセル対称性が常に存在するわけではない。サブピクセル対称性はまた、対角次元において存在しない。したがって、いくつかのＳ−ＡＩＦ方式の対称性は、補間係数のより多くのセットを必要とする。特に、クォーターピクセル精度の場合、いくつかのＳ−ＡＩＦ方式は、補間係数の１１個の一意のセットを必要とする。
【０１６１】
本開示で説明し、図７に示すサブピクセル対称性方式は、ＮＳ−ＡＩＦおよびＤ−ＡＩＦのいくつかのタイプについて上述したサブピクセル対称性よりも正確な予測を生じることができる。特に、図７のサブピクセル対称性方式は、１次元において（たとえば、水平方向または垂直方向において）サブピクセル対称性を課するが、同時に両方の次元において（たとえば、対角線的に）サブピクセル対称性を課するわけではない。
【０１６２】
サブピクセル位置に対して対角線的にサブピクセル対称性を課さないことによって、補間フィルタ係数と異なる次元におけるサブピクセル位置との間の弱い相関は、補間に統合されない。補間係数のより多くの（たとえば、５つではなく８つの）セットが必要とされることがあるが、得られた補間予測データはより正確になることがある。ほとんど同じ方法で、対角係数対称性を回避または削除することもできる。
【０１６３】
予測ユニット３２は、上述のように係数対称性を課することもできる。特に、係数対称性を１次元（たとえば、水平方向または垂直方向）においてフィルタ係数に対して課するが、両方の次元に対して対角的に課するわけではない。たとえば、サブピクセル位置「ｅ」のためのフィルタ係数は、式（１１）で表される上述のＮＳ−ＡＩＦ方式の場合のように対角線的に対称的にならない。係数対称性を以下に式（１７）〜（２１）で要約する。
【数２９】
0005575747.tif 000030
【０１６４】
サブピクセル位置「ｆ」、「ｉ」、および「ｊ」の場合、図４に関して詳細に説明した１２位置フィルタが使用できる例では、いくつかのフィルタ係数、すなわち、
【数３０】
0005575747.tif 000031
【０１６５】
が０に等しいことに留意されたい。したがって、本開示で説明するサブピクセルおよび係数対称性は、フィルタサポート技法とともに、または、フィルタサポート技法とは別個に使用できる。図４で説明した１２位置フィルタサポートとともに使用されるとき、復号器に送信する必要があるこれらのサブピクセル位置のための６（ａ）＋３（ｂ）＋６（ｄ）＋３（ｈ）＋１２（ｅ）＋６（ｆ）＋６（ｉ）＋３（ｊ）＝４５個の一意の係数、すなわち、サブピクセル位置「ａ」を含むグループのための６つの係数、サブピクセル位置「ｂ」を含むグループのための３つの係数、サブピクセル位置「ｄ」を含むグループのための６つの係数、サブピクセル位置「ｈ」を含むグループのための３つの係数、サブピクセル位置「ｅ」を含むグループのための１２個の係数、サブピクセル位置「ｆ」を含むグループのための６つの係数、サブピクセル位置「ｉ」を含むグループのための６つの係数、サブピクセル位置「ｊ」を含むグループのための３つの係数がある。
【０１６６】
図１７は、本開示に一致する１２ピクセルフィルタサポートを利用するビデオ符号器の例示的な動作を示す流れ図である。図１７の技法について図２のビデオ符号器５０の観点から説明するが、他のデバイスでも同様の技法を実行することができる。図示のように、図１７では、予測ユニット３２のＭＣユニット３７は、整数ピクセル位置に対応する整数ピクセル値を含むピクセルのブロックをメモリ３４から得る（１７１）。（１つまたは複数の）フィルタ３９は、サブピクセル位置を囲む１２個以上の位置を備えるフィルタサポートに基づいてサブピクセル値を計算する（１７２）。上記でより詳細に説明したように、１２位置フィルタサポートを使用して、１５個の可能なサブピクセル補間のうちの９つを発生することができ、線形水平および線形垂直フィルタ処理を使用して、１５個の可能なサブピクセル補間のうちの６つを発生することができる。
【０１６７】
ＭＣユニット３７は、次いで、計算されたサブピクセル値に基づいて予測ブロックを発生する（１７３）。特に、ＭＣユニット３７は、補間サブピクセル値を備える補間予測ブロックを発生し、出力することができる。加算器４８は、次いで、たとえば、符号化されているビデオブロックから補間予測ブロックを減算することによって、補間予測ブロックに基づいて現在のビデオブロックを符号化（１７４）して、残差ブロックを発生する。次いで、それぞれ変換ユニット３８および量子化ユニット４０によって残差ブロックを変換および量子化する。エントロピーコーディングユニット４６によるエントロピーコーディングの後、ビデオ符号器５０は、符号化ビデオビットストリームとフィルタ情報とを出力する（１７５）。フィルタ情報は、本明細書で説明するように、１５個のサブペル位置のための係数のすべての１５個のセットを発生するために使用される、係数の８つのセットを備えることができる。フィルタ情報は、コード化単位ごとに１回出力され、または場合によっては、コード化単位の様々なエリアが様々なタイプのサブペル補間を使用するならば、コード化単位ごとに数回出力される。
【０１６８】
図１８は、本開示に一致する１２ピクセルフィルタサポートを利用するビデオ復号器の例示的な動作を示す流れ図である。したがって、図１８のプロセスは、図１７の符号化プロセスとは逆の復号プロセスと考えることができる。図１８の技法について図１６のビデオ復号器６０の観点から説明するが、他のデバイスでも同様の技法を実行することができる。図１８に示すように、ビデオ復号器６０は、符号化ビデオブロックとフィルタ情報とを受信する（１８１）。エントロピー復号ユニット５２は、この受信情報をエントロピー復号する。予測ユニット５５は、本開示の技法に従って補間動き補償を実行する。特に、予測ユニット５５は、整数ピクセル位置に対応する整数ピクセル値を含むピクセルのブロックをメモリ６２から得る（１８２）。予測ユニット５５は、受信した動きベクトルを使用して、補間をどのように実行するかを判断する。動きベクトルに基づいて、予測ユニット５５は、サブピクセル位置を囲む１２個以上の位置を備えるフィルタサポートに基づいてサブピクセル値を計算する（１８３）。このようにして、予測ユニット５５は、補間を使用して予測ブロックを発生する（１８４）。加算器６４を呼び出して予測ブロックを残差ブロックに加算（１８５）することによって、予測ブロックを使用して残差ビデオブロックを復号する。放射状にサブピクセル位置を囲む１２位置フィルタサポートの使用を含む、本明細書で説明する補間の様々な態様は、従来の技法よりも優れた品質の補間データを与えることによってビデオ符号化を改善することができる。
【０１６９】
図１９は、本開示に一致する係数対称性およびピクセル対称性を利用するビデオ符号器の例示的な動作を示す流れ図である。図１９の技法について図２のビデオ符号器５０の観点から説明するが、他のデバイスでも同様の技法を実行することができる。図示のように、図１９では、本明細書で説明するように、ビデオ符号器５０の予測ユニット３２は、係数対称性とピクセル対称性とに基づいて１５個のサブピクセル位置に対してフィルタ係数の８つのセットを定義する（２０１）。特に、予測ユニット３２は、ピクセル対称性を使用して、係数のセットを１５個から８つに低減し、さらに、所与のセットの係数間の係数対称性に基づいて、８つのセットの一部または全部について係数の数を低減することができる。予測ユニット３２は、次いで、補間フィルタ（（１つまたは複数の）フィルタ３９など）とフィルタ係数の８つのセットとを使用してビデオデータを符号化する（２０２）。ビデオ符号器５０は、符号化ビデオデータとフィルタ係数の８つのセットとを出力する（２０３）。補間に使用するフィルタ係数を復号デバイスに通知することができるように、符号化され、ビットストリーム中に出力された係数の８つのセットを、各コード化単位（たとえば、各フレームまたはスライス）とともに送信することができる。代替的に、コード化単位内の様々なロケーションにおいて様々なタイプの補間を可能にするために、係数の８つのセットの様々なグループを符号化し、各コード化単位とともに送信することができる。
【０１７０】
図２０は、本開示に一致する係数対称性およびピクセル対称性を利用するビデオ復号器の例示的な動作を示す流れ図である。この場合、ビデオ復号器６０の予測ユニット５５は、フィルタ係数の８つのセットを受信（１９１）し、その８つのセットと係数対称性とピクセル対称性とに基づいてフィルタ係数の１５個のセットを発生する。予測ユニット６０は、次いで、その補間フィルタをプログラムし、そのような補間フィルタを適用して、適切に補間予測データを発生する（１９３）。ビデオ復号器６０は、次いで、たとえば、加算器６４を呼び出して、予測ユニット５５によって補間された正しい予測データを、復号すべき残差ブロックに加算し、予測データに基づいてビデオブロックを復号する（１９４）。
【０１７１】
図２１は、本開示に一致する、整数ピクセルロケーションのフィルタ処理を利用して、調整された整数ピクセル値を発生するビデオ符号器の例示的な動作を示す流れ図である。これについては、補間に類似し、サブ整数値を発生しない限り、補間的フィルタ処理として上述した。そうではなく、このプロセスは、元の整数値と元の整数値を囲む他の整数値とに基づいてフィルタ処理される新しい整数値を発生する。
【０１７２】
図２１の技法について図２のビデオ符号器５０の観点から説明するが、他のデバイスでも同様の技法を実行することができる。図示のように、図２１では、予測ユニット３２のＭＣユニット３７は、整数ピクセルロケーションに対応する整数ピクセル値を含むピクセルのブロックをメモリ３４から得る（２１１）。予測ユニット３２の（１つまたは複数の）フィルタ３９は、調整された整数ピクセル値を発生するために、ピクセルのブロックの他の整数ピクセル値に基づいて整数ピクセル値をフィルタ処理する（２１２）。予測ユニット３２は、調整された整数ピクセル値に基づいて予測ブロックを発生（２１３）し、ビデオ符号器５０は、たとえば、加算器４８を呼び出して、符号化されているビデオブロックから予測ブロックを減算して残差ブロックを発生し、予測ブロックに基づいてビデオブロックを符号化（２１４）する。変換ユニット３８および量子化ユニット４０による残差ブロックの変換および量子化、ならびにエントロピーコーディングユニット４６によるエントロピーコーディングの後、ビデオ符号器５０は、符号化ビデオブロックとフィルタ情報とを出力する（２１５）。サブペル補間の場合と同様に、整数ピクセルロケーションに対する補間的フィルタ処理は、コード化単位ごとに１回、フィルタ情報の出力および通信に関与し、または場合によっては、コード化単位の様々なエリアが様々なタイプの整数補間的フィルタ処理を使用するならば、コード化単位ごとに数回、フィルタ情報の出力および通信に関与する。
【０１７３】
図２２は、本開示に一致する、整数ピクセルロケーションのフィルタ処理を利用して、調整された整数ピクセル値を発生するビデオ復号器の例示的な動作を示す流れ図である。ビデオ復号器６０の予測ユニット５５は、符号化ビデオブロックを受信し、（たとえば、コード化単位ごとに１回）フィルタ情報をも受信する（２２１）。予測ユニット５５は、整数ピクセル位置に対応する整数ピクセル値を含むピクセルのブロックをメモリ６２から得る（２２２）。予測ユニット５５は、調整された整数ピクセル値を発生するために、動き補償の一部としてフィルタ（図示せず）を呼び出して、ピクセルのブロックの他の整数ピクセル値に基づいて整数ピクセル値をフィルタ処理する（２２３）。予測ユニット５５は、調整された整数ピクセル値に基づいて予測ブロックを発生する（２２４）。ビデオ復号器６０は、次いで、たとえば、加算器６４を呼び出して、予測ユニット５５によって補間された予測ブロックを、復号すべき残差ビデオブロックに加算（２２５）し、予測ブロックに基づいてビデオブロックを復号する。
【０１７４】
図２３は、候補フィルタの２つのセットに基づくビデオコーディングのレートひずみ定義補間のための技法を示す流れ図である。この場合、予測ユニット３２のＭＣユニット３７は、予測データの２つ以上の異なるセットを発生することができ、あるセットは候補補間フィルタの第１のセットに基づき、別のセットは候補補間フィルタの第２のセットに基づく。ＭＣユニット３７は、次いで、レートひずみに基づく分析を使用して、レートおよびひずみの観点から最良の結果を生じる補間フィルタを選択することができる。このようにして、ＭＣユニット３７は、予測データのどのセットが最良の結果（すなわち、最小ひずみ）を生じるかを考慮するだけでなく、候補フィルタ処理の１つセットがそのフィルタ係数を復号器に搬送するためのビットオーバーヘッドがより少なくて済むことをも考慮する。
【０１７５】
図２３に示すように、予測ユニット３２のＭＣユニット３７は、第１の補間フィルタに基づいてビデオデータの符号化のための第１の補間予測データを発生する（２３１）。第１の補間フィルタは、一例では、ＩＴＵ−Ｔ  Ｈ．２６４補間フィルタに対応するフィルタなど、特定のビデオコーディング規格によって定義されたフィルタに対応する固定補間フィルタを備える。精度の付加のため、場合によっては、固定補間フィルタは、クォーターピクセル値を発生するために使用される、ハーフピクセル値の中間丸めなしのＩＴＵ−Ｔ  Ｈ．２６４補間フィルタに対応することができる。この場合、固定補間フィルタは、ハーフピクセル値を発生し、ハーフピクセル解像度に対する補間のために、そのような値を上向きに丸めることができる。しかしながら、そのようなハーフピクセル値がクォーターピクセル解像度に対する補間のためにも使用される限り、ＭＣユニット３７は、ハーフピクセル値の丸めなしバージョンを記憶し、クォーターピクセル解像度に対する補間のためにハーフピクセル値の丸めなしバージョンを使用することができる。参照により本明細書に組み込まれる、本出願と同じ日に出願され、整理番号第０８１３９９Ｕ１号を有し、Ｋａｒｃｚｅｗｉｃｚらによって出願された、同時係属および同一出願人による「ADVANCED INTERPOLATION TECHNIQUES FOR MOTION COMPENSATION IN VIDEO CODING」と題する米国特許出願第＿＿＿＿号は、クォーターピクセル値を発生するために使用される、ハーフピクセル値の中間丸めなしの補間フィルタ処理について多くの追加の詳細を与える。
【０１７６】
次に、予測ユニット３２のＭＣユニット３７は、第２の補間フィルタに基づいてビデオデータのビデオ符号化のための第２の補間予測データを発生する（２３２）。一例では、第２の補間フィルタは適応補間フィルタを備えることができる。この場合、適応補間に一致して、ＭＣユニット３７は、使用すべきフィルタ係数を定義することができる。特に、ＭＣユニット３７は、ＭＣユニット３７が、あらかじめ設定されたフィルタ係数を用いて開始し、暫定予測データを発生し、次いで、そのようなフィルタ係数がより望ましい予測データを定義するように適応プロセスにおいてフィルタ係数を調整する、適応補間プロセスを実行することができる。
【０１７７】
予測ユニット３２のＭＣユニット３７が、第１および第２の補間予測データを両方とも発生した後、ＭＣユニット３７は、レートひずみ分析に基づいて第１の補間予測データと第２の補間予測データとの間で選択する（２３３）。このようにして、ＭＣユニット３７は、予測データのどのセットが最良の結果（すなわち、最小ひずみ）を生じるかを考慮するだけでなく、第２の補間フィルタに対して第１の補間フィルタに必要とされる異なるデータ量（すなわち、異なるビットレート）をも考慮する。特に、（たとえば、第１の補間フィルタとして）固定補間フィルタが使用される場合、ビデオ符号器５０はビットストリーム中のフィルタ係数を符号化する必要はないが、（たとえば、第２の補間フィルタとして）適応補間フィルタが使用される場合、ビデオ符号器５０はフィルタ係数を符号化する必要がある。したがって、レートひずみ分析は、固定補間フィルタの使用が、フィルタ係数を復号器に搬送するために追加のビットを必要としないということを考慮することによって、予測データのどのセットが最良の結果（すなわち、最小レートひずみコスト）を生じるかを判断することができる。
【０１７８】
より詳細には、レートひずみ分析に基づいて第１の補間予測データと第２の補間予測データとの間で選択する（２３３）ことは、ビデオデータが第１の補間予測データによって符号化される場合、ビデオデータに関連する第１のレートひずみコストを計算することと、ビデオデータが第２の補間予測データによって符号化される場合、ビデオデータに関連する第２のレートひずみコストを計算することと、第１および第２のレートひずみコストに基づいて第１の補間予測データと第２の補間予測データとの間で選択することとを備えることができる。
【０１７９】
ビデオデータが第１の補間予測データによって符号化される場合、ビデオデータに関連するレートひずみコストは、フィルタ係数の符号化に関連するコストを定量化する第１の値に加えて、ビデオデータと第１の補間予測データとの間の差を示す第１の差のメトリック、たとえば、ピクセル値の平均２乗誤差（ＭＳＥ）またはピクセル値の絶対差の和（ＳＡＤ）またはピクセル値の２乗差の和（ＳＳＤ）を備えることができる。この場合、第１の補間フィルタが固定補間フィルタであるならば、コストを定量化する第１の値を０と定義することができる。同様に、第２のレートひずみコストは、フィルタ係数の符号化に関連するコストを定量化する第２の値に加えて、ビデオデータと第２の補間予測データとの間の差を示す第２の差のメトリック（ＭＳＥ、ＳＡＤまたはＳＳＤ）を備えることができる。第２の補間フィルタが適応補間フィルタである場合、フィルタ係数の符号化に関連するコストを定量化する第２の値は、適応補間フィルタ係数を符号化するために必要なビット数（ｒ）を備えることができ、または場合によっては、この数（ｒ）はラグランジュ乗数（λ）によって乗算される。
【０１８０】
レートひずみ分析に基づいて第１の補間予測データと第２の補間予測データとの間で選択（２３３）した後、予測ユニット３２のＭＣユニット３７は、その選択に基づいてビデオデータを符号化（２３４）し、その選択を示すためにシンタックスを符号化（２３５）する。シンタックスは、復号器が第１の補間フィルタを使用すべきか第２の補間フィルタを使用すべきかを定義する１ビットフラグまたはマルチビットフラグを備えることができる。復号器が複数のサブピクセルロケーションの各々に対して第１の補間フィルタを使用すべきか第２の補間フィルタを使用すべきかを示すために、ビデオシーケンスの各コード化単位の複数のサブピクセルロケーションの各々に対して図２３のプロセスを繰り返すことができる。サブピクセルロケーションは、クォーターピクセル解像度に対する補間に一致する１５個の可能なサブピクセルロケーションを備えるか、または異なる数のサブピクセルロケーションを備えることができる。図２３のプロセスは、復号器が整数ピクセルロケーションに対して第１の補間フィルタを使用すべきか第２の補間フィルタを使用すべきかを示すために、ビデオシーケンスの各コード化単位の整数ピクセルロケーションに対しても繰り返すことができる。
【０１８１】
ビデオ符号器５０（図２）が、その選択に基づいてビデオデータを符号化（２３４）し、その選択を示すためにシンタックスを符号化（２３５）した後、モデム２３および送信機２４（図１）は、符号化ビデオデータおよびシンタックスを変調し、宛先デバイス１７に送信することができる。第１の補間フィルタが固定であり、第２の補間フィルタが適応型である場合、送信機２４は、シンタックスが、符号化ビデオデータを発生するために第２の補間予測データが使用されたことを示すとき、フィルタ係数を送信し、シンタックスが、符号化ビデオデータを発生するために第１の補間予測データが使用されたことを示すとき、フィルタ係数を送信しない。このようにして、第１の補間フィルタが固定であり、第２の補間フィルタが適応型であるとき、シンタックスが、適応補間フィルタ処理が使用されたことを示す場合にのみフィルタ係数を送信し、適応補間フィルタ処理を使用すべきか否かの決定は、予測ビデオ品質だけでなく、送信ビットストリーム中のフィルタ係数の存在に影響を受けるビットレートをも考慮する。しかしながら、他の例では、第１および第２の補間フィルタは、両方とも固定、または両方とも適応型とすることができる。
【０１８２】
本開示の技法は、フィルタの３つ以上のセットが符号器によって選択されているときのシナリオを含む多くのシナリオにおいて適用できる。言い換えれば、追加の補間予測データを発生するために、同じくレートひずみ分析中に考慮される追加の補間フィルタをも適用することができる。言い換えれば、本方法は、２つの補間フィルタに基づいて第１および第２の補間予測データのみを発生することに限定されず、任意の数の補間フィルタに基づいて任意の複数の補間予測データを発生するために適用できる。重要なことには、レートひずみ分析補間予測データは、どのフィルタを選択すべきかを識別するために使用される。一例では、ビデオ符号器５０によって実行される方法は、複数の異なる補間フィルタに基づいてビデオデータの符号化のための予測データの複数の異なるバージョンを発生することと、レートひずみ分析に基づいて予測データの複数の異なるバージョンの間で選択することと、その選択に基づいてビデオデータを符号化することと、その選択を示すためにシンタックスを符号化することとを備えることができる。
【０１８３】
レートひずみ分析に基づいて補間フィルタを選択し、その選択を示すためにシンタックスを発生することに加えて、予測ユニット３２のＭＣユニット３７はまた、上記でより詳細に説明した、整数ピクセルフィルタ処理に対する同様のレートひずみ分析を行うことができる。特に、予測ユニット３２のＭＣユニット３７は、整数ピクセルロケーションのための予測データの２つ以上の異なるセット、たとえば、整数ピクセルフィルタ処理があるものと整数ピクセルフィルタ処理がないものとを発生し、整数ピクセルフィルタ処理が望まれるかどうかを判断するために、これらの２つの異なるセットに対するレートひずみ分析を行うことができる。したがって、予測ユニット３２のＭＣユニット３７は、整数ピクセルフィルタ処理をコード化単位に適用すべきかどうかを示すために、整数予測データの２つの異なるセットに関連するレートひずみ分析に基づいて別のシンタックス要素を発生することができ、整数予測データの第１のセットはフィルタ処理されず、整数予測データの第２のセットはフィルタ処理される。このようにして、整数ピクセルフィルタ処理を行うべきかどうかの決定は、特に、整数ピクセルフィルタ処理が、そのような整数ピクセルフィルタ処理を実行するために使用される整数ピクセルフィルタ係数の符号化および送信に関与するとき、ビデオコーディングの品質だけでなく、整数ピクセルフィルタ処理に関連する可能なビットオーバーヘッドにも基づくことができる。整数フィルタ処理は、Ｎ個の整数フィルタ（たとえば、Ｎは任意の正および複数の整数）をも考慮することができる。Ｎ個の整数フィルタの使用に一致して、上記の例は、Ｎが２であり、フィルタの１つがフィルタ処理を適用しない場合に対応する。
【０１８４】
補間フィルタ係数が実際に符号化され、ソースデバイス１２から宛先デバイス１６に送信されるときはいつでも、本開示はまた、そのような補間フィルタ係数をコーディングするための技法を企図する。フィルタ係数の説明する符号化はデータ圧縮を改善することができる。特に、本開示は、たとえば、固定フィルタ係数に対するフィルタ係数のための予測技法を企図する。さらに、本開示は、フィルタ係数の第１のセットに対するフィルタ係数の第２のセットのための予測技法を企図する。これらの方法では、データ圧縮を可能にするために、様々なフィルタ係数間の不完全な対称性を利用することができる。補間フィルタ係数のためのそのような予測技法の使用に加えて、本開示はまた、有用な量子化技法と、プレフィックスおよびサフィックスコーディングに基づく補間フィルタ係数のエントロピーコーディングとを提供する。以下で、本開示のこれらの態様についてより詳細に説明する。
【０１８５】
図２４は、予測コーディングを使用してフィルタ係数を符号化するための技法を示す流れ図である。この場合、ビデオ符号器５０によって使用されるフィルタ係数を固定フィルタのフィルタ係数に対して予測符号化し、フィルタ係数が符号化ビットストリームの一部として送信されるときのデータ圧縮をさらに改善することができる。
【０１８６】
図２４に示すように、予測ユニット３２のＭＣユニット３７は、ビデオ符号化中に予測データの補間のためのフィルタ係数のセットを識別する（２４１）。たとえば、ＭＣユニット３７は、適応補間フィルタ処理プロセスを実行することによってフィルタ係数のセットを識別することができる。この場合、ＭＣユニット３７は、適応補間フィルタ処理プロセスによってフィルタ係数のセットを判断し、適応補間フィルタ処理プロセスで識別したフィルタ係数に基づいて予測データを発生することができる。適応補間フィルタ処理では、本明細書でより詳細に説明するように、ＭＣユニット３７は、固定フィルタに基づいて予測データを発生し、次いで、予測データが、コーディングされているビデオデータにより類似するようにフィルタ係数を調整する、２パス手法を実行することができる。その場合、調整されたフィルタ係数は、使用され、ビットストリーム中に符号化されるフィルタ係数を定義する。
【０１８７】
フィルタ係数をビットストリームの一部として送信することができるように、そのようなフィルタ係数を符号化するために、係数予測および量子化ユニット４１は、固定補間フィルタに関連するフィルタ係数に対するフィルタ係数のセットの予測コーディングに基づいて、フィルタ係数のセットに関連する残差値を発生する（２４２）。特に、係数予測および量子化ユニット４１は、ＩＴＵ−Ｔ  Ｈ．２６４補間フィルタ、またはハーフピクセル値の中間丸めなしのＩＴＵ−Ｔ  Ｈ．２６４補間フィルタなどの固定フィルタに関連する対応するフィルタ係数から、適応補間フィルタ処理プロセスで判断されたフィルタ係数を減算する。実際のフィルタ係数を送信するのではなく、残差値を符号化し、送信することによって、ビットストリーム中で通信されるデータ量を低減することができる。この場合、フィルタ係数が符号化される方法を知るように復号器をプログラムすることができる。
【０１８８】
ビデオ符号器５０は、残差係数の予測と量子化との両方を行うために係数予測および量子化ユニット４１を呼び出し、エントロピーコーディングユニット４６は量子化残差をエントロピーコーディングする（２４３）。ビデオ符号器５０は、次いで、符号化ビットストリームの一部として残差値を出力する（２４４）。フィルタ係数に関連する残差値の量子化は、残差値を量子化することを含み、異なるフィルタ係数に関連する残差値の少なくともいくつかには異なるレベルの量子化が割り当てられる。このようにして、係数予測および量子化ユニット４１は、量子化と精度との望ましい平衡を達成するために、より大きい残差係数により多くの量子化を割り当て、より微細な残差係数により少ない量子化を割り当てることができる。より多くの量子化を使用すると、より多くのデータが削除され、より多くの圧縮を達成することができる。エントロピーコーディングユニット４６は、残差値の量子化の後、残差値にプレフィックス符号を割り当て、サフィックス符号を割り当て、符号値を割り当てることによって、残差値をエントロピーコーディングする。ビデオ符号器５０は、次いで、符号化ビットストリームの一部として残差値を出力する（２４４）。
【０１８９】
図２７は、予測コーディングできるいくつかの例示的なフィルタ係数を示す概念グラフである。この場合、フィルタ係数Ｏ1、Ｏ2、Ｏ3およびＯ4は、固定補間フィルタに関連するフィルタ係数を定義する。フィルタ係数Ｘ1、Ｘ2、Ｘ3およびＸ4は、固定補間フィルタのフィルタ係数にかなり類似している所望のフィルタ係数を定義する。したがって、それぞれフィルタ係数Ｏ1、Ｏ2、Ｏ3およびＯ4に基づいて、フィルタ係数Ｘ1、Ｘ2、Ｘ3およびＸ4を予測することができる。特に、Ｘ1とＯ1との差として第１の残差を形成することができる。同様に、Ｘ2とＯ2との差として第２の残差を形成し、Ｘ3とＯ3との差として第３の残差を形成し、Ｘ4とＯ4との差として第４の残差を形成することができる。残差は元のフィルタ係数よりも少ないデータを備え、それによってデータ圧縮を促進することができる。
【０１９０】
場合によっては、フィルタ係数のセットは、適応補間フィルタに関連するフィルタ係数の全セットの一部分のみを定義するフィルタ係数の第１のセットを備え、フィルタ係数の第２のセットは、フィルタ係数の第１のセットと係数対称性とに基づいて復号器によって判断できる。たとえば、それぞれＯ1およびＯ2に基づいて、フィルタ係数Ｘ1およびＸ2を予測符号化することができる。しかしながら、この場合、Ｘ3およびＸ4はＸ1およびＸ2と対称的であり、そのような対称性が課されていることが知れるように復号器をプログラムすることができる。したがって、対称性を使用することによって、この単純な例の係数Ｘ3およびＸ4をビットストリームから削除し、係数Ｘ1およびＸ2が予測復号された後、復号器において、知られている係数対称性に基づいて係数Ｘ3およびＸ4を計算することできる。
【０１９１】
図２５は、予測コーディングを使用してフィルタ係数を符号化するための技法を示す別の流れ図である。しかしながら、この場合、２つの異なるタイプの予測を使用する。図２５に示すように、予測ユニット３２のＭＣユニット３７は、ビデオ符号化中に予測データの補間のためのフィルタ係数のセットを識別する（２５１）。図２４のプロセスの場合と同様に、図２５では、ＭＣユニット３７は、適応補間フィルタ処理プロセスを実行することによってフィルタ係数のセットを識別することができる。この場合、ＭＣユニット３７は、適応補間フィルタ処理プロセスによってフィルタ係数のセットを判断し、適応補間フィルタ処理プロセスで識別したフィルタ係数に基づいて予測データを発生することができる。適応補間フィルタ処理では、ＭＣユニット３７は、固定フィルタに基づいて予測データを発生し、次いで、予測データが、コーディングされているビデオデータにより類似するようにフィルタ係数を調整する、２パス手法を実行することができる。その場合、調整されたフィルタ係数は、使用され、ビットストリーム中に符号化されるフィルタ係数を定義する。
【０１９２】
フィルタ係数をビットストリームの一部として送信することができるように、そのようなフィルタ係数を符号化するために、係数予測および量子化ユニット４１は、固定補間フィルタに関連するフィルタ係数に対する予測コーディングに基づいて、フィルタ係数の第１のセットに関連する残差値の第１のセットを発生する（２５２）。特に、係数予測および量子化ユニット４１は、ＩＴＵ−Ｔ  Ｈ．２６４補間フィルタ、またはハーフピクセル値の中間丸めなしのＩＴＵ−Ｔ  Ｈ．２６４補間フィルタなどの固定フィルタに関連する対応するフィルタ係数から、フィルタ係数の第１のセットを減算する。次に、係数予測および量子化ユニット４１は、フィルタ係数の第１のセットに対する予測コーディングに基づいて、フィルタ係数の第２のセットに関連する残差値の第２のセットを発生する（２５３）。特に、係数予測および量子化ユニット４１は、係数の第１のセットのミラーリングまたは回転された値からフィルタ係数の第２のセットを減算する。したがって、係数の第１のセットは固定フィルタの係数に基づいて予測コーディングされ、係数の第２のセットは係数の第１のセットに基づいて予測コーディングされる。実際のフィルタ係数を使用するのではなく、残差値を発生することによって、ビットストリーム中で通信されるデータ量を低減することができる。さらに、固定フィルタを使用して係数の第１のセットを予測し、次いで、係数の第１のセットを使用して係数の第２のセットを予測することによって、固定フィルタのみに依拠する予測に対して、さらなるデータ圧縮を達成することができる。
【０１９３】
図２４のプロセスの場合と同様に、図２５では、ビデオ符号器５０は、残差係数の予測コーディングと量子化との両方を行うために係数予測および量子化ユニット４１を呼び出し、エントロピーコーディングユニット４６は量子化残差をエントロピーコーディングする（２５４）。ビデオ符号器５０は、次いで、符号化ビットストリームの一部として残差値を出力する（２５４）。この場合も、フィルタ係数に関連する残差値の量子化は、残差値を量子化することを含み、異なるフィルタ係数に関連する残差値の少なくともいくつかには異なるレベルの量子化が割り当てられる。このようにして、係数予測および量子化ユニット４１は、量子化と精度との望ましい平衡を達成するために、より大きい残差係数により多くの量子化を割り当て、より微細な残差係数により少ない量子化を割り当てることができる。エントロピーコーディングユニット４６は、残差値の量子化の後、残差値にプレフィックス符号を割り当て、サフィックス符号を割り当て、符号値を割り当てることによって、残差値をエントロピーコーディングする。ビデオ符号器５０は、次いで、符号化ビットストリームの一部として残差値を出力する（２５５）。
【０１９４】
図２８は、図２５のプロセスに一致する、予測コーディングできるいくつかの例示的なフィルタ係数を示す概念グラフである。この場合、フィルタ係数Ｏ1およびＯ2は、固定補間フィルタに関連するフィルタ係数を定義する。フィルタ係数Ｘ1およびＸ2は、固定補間フィルタのフィルタ係数にかなり類似している所望のフィルタ係数の第１のセットを定義する。したがって、それぞれフィルタ係数Ｏ1およびＯ2に基づいて、フィルタ係数Ｘ1およびＸ2を予測することができる。特に、Ｘ1とＯ1との差として第１の残差を形成し、Ｘ2とＯ2との差として第２の残差を形成することができる。残差は元のフィルタ係数よりも少ないデータを備え、それによってデータ圧縮を促進することができる。次いで、残差は、係数予測および量子化ユニット４１によって量子化され、エントロピーコーディングユニット４６によってエントロピーコーディングされる。
【数３１】
0005575747.tif 000032
【０１９５】
および
【数３２】
0005575747.tif 000033
【０１９６】
は、逆量子化された残差を予測フィルタ係数Ｏ1およびＯ2に加算することによって発生される修正フィルタ係数を指す。
【０１９７】
次に、たとえば、特に、係数Ｘ1およびＸ2に基づいて定義された係数
【数３３】
0005575747.tif 000034
【０１９８】
および
【数３４】
0005575747.tif 000035
【０１９９】
からの、係数Ｘ1およびＸ2の第１のセットに基づいて、フィルタ係数Ｚ1およびＺ2の第２のセットを予測コーディングする。特に、Ｚ1と
【数３５】
0005575747.tif 000036
【０２００】
との差として第３の残差を形成し、Ｚ2と
【数３６】
0005575747.tif 000037
【０２０１】
との差として第４の残差を形成することができる。
【数３７】
0005575747.tif 000038
【０２０２】
および
【数３８】
0005575747.tif 000039
【０２０３】
は、Ｏ1およびＯ2よりもＺ1およびＺ2に類似しており、したがって、
【数３９】
0005575747.tif 000040
【０２０４】
および
【数４０】
0005575747.tif 000041
【０２０５】
を使用してＺ1およびＺ2を予測符号化することによって、さらなるデータ圧縮を促進することができる。
【０２０６】
図２６は、予測コーディングを使用してフィルタ係数を復号するための技法を示す流れ図である。図２６について図１６のビデオ復号器６０の観点から説明する。図示のように、ビデオ復号器６０は、フィルタ係数のセットに関連する残差値を受信する（２６１）。ビデオ復号器６０は、エントロピー復号ユニット５２によって残差値をエントロピー復号し、係数予測および逆量子化ユニット５３を呼び出して残差値を逆量子化（２６２）し、次いで、残差値を予測ユニット５５に送信する。予測ユニット５６は、残差値の予測復号を使用してフィルタ係数のセットを発生する（２６３）。
【０２０７】
特に、予測ユニット５６は、たとえば、図２７に概念的に示し、符号化の文脈で上述したように、残差値と固定補間フィルタに関連するフィルタ係数とに基づいてフィルタ係数の全セットを発生することができる。場合によっては、残差値と固定補間フィルタに関連するフィルタ係数とに基づいてフィルタ係数の第１のセットを発生し、対称性に基づいてフィルタ係数の第２のセットを発生することができる。場合によっては、たとえば、図２８に概念的に示し、符号化の文脈で上述したように、残差値と固定補間フィルタに関連するフィルタ係数とに基づいてフィルタ係数の第１のセットを発生し、追加の残差値とフィルタ係数の第１のセットとに基づいてフィルタ係数の第２のセットを発生することができる。いずれの場合も、ビデオ復号器６０の予測ユニット５６は、ビデオブロックの予測復号に使用される予測データを補間するためにフィルタ係数のセットを適用する（２６４）。特に、予測ユニット５６は、補間予測データに基づいてビデオブロックを復号することができるように、予測復号されたフィルタ係数を使用して、そのような補間予測データを発生するためにデータをフィルタ処理する。
【０２０８】
この場合も、予測復号されたフィルタ係数のセットは、適応補間フィルタに関連するフィルタ係数の全セットの一部分のみを定義するフィルタ係数の第１のセットを備えることができる。この場合、ビデオ復号器６０の係数予測および逆量子化ユニット５３は、フィルタ係数の第１のセットと係数対称性とに基づいてフィルタ係数の第２のセットを発生し、予測データを補間するためにフィルタ係数の第１および第２のセットを適用することができる。
【０２０９】
別の場合、予測復号されたフィルタ係数のセットは、適応補間フィルタに関連するフィルタ係数の全セットの一部分のみを定義するフィルタ係数の第１のセットを備えることができる。この場合、ビデオ復号器６０は、フィルタ係数の全セットに関連する追加の残差値を受信することができる。係数予測および逆量子化ユニット５３は、追加の残差値とフィルタ係数の第１のセットとに基づいて予測復号を使用してフィルタ係数の第２のセットを発生し、予測ユニット５５は、予測データを補間するためにフィルタ係数の第１および第２のセットを適用することができる。
【０２１０】
場合によっては、（図８、図９、図１０および図１１に示すサブピクセル位置ａ、ｂ、ｄ、ｈのためのフィルタを含む）１−Ｄフィルタを予測するために、Ｈ．２６４／ＡＶＣフィルタに基づく固定補間フィルタを使用することができる。図１２、図１３、図１４および図１５に示すサブピクセル位置ｅ、ｆ、ｉ、およびｊのためのフィルタを含む２−Ｄフィルタの場合、以下の予測方式の１つを使用することができる。
【０２１１】
１．予測を０（予測なし）に設定する。
【数４１】
0005575747.tif 000042
【０２１２】
２．トレーニングセットにわたって収集された平均フィルタなどの固定フィルタ予測を使用する。すなわち、
【数４２】
0005575747.tif 000043
【０２１３】
であり、
【数４３】
0005575747.tif 000044
【０２１４】
は、サブピクセル位置ＳＰのための平均フィルタ中の（ｉ，ｊ）番目のフィルタ係数である。
【０２１５】
３．係数中の可能な対称性を利用し、すでにコード化された係数を使用して、残りの係数を予測する。
【０２１６】
１−Ｄフィルタの場合、これらの３つの予測方法のいずれをも適用することができる。
【０２１７】
予測に関して、図２９に、予測技法が符号化に使用される整数ピクセルフィルタ係数のアレイの例を与える。この例では、整数ピクセルフィルタに対称性が課されないと仮定する。係数（ｈ０，０）、（ｈ０，１）、（ｈ１，０）、（ｈ１，１）、（ｈ２，０）、（ｈ２，１）（ｈ０，２）、（ｈ１，２）および（ｈ２，２）を最初に量子化し、コーディングする。次いで、すでにコーディングされた左上の係数（ｈ０，０）、（ｈ０，１）、（ｈ１，０）、（ｈ１，１）および（ｈ２，０）を使用して、右上の係数（ｈ０，３）、（ｈ１，３）、（ｈ２，３）、（ｈ０，４）、（ｈ１，４）、および（ｈ２，４）を予測する。次に、上半分のフィルタ係数（ｈ０，０）、（ｈ０，１）、（ｈ０，２）、（ｈ０，３）（ｈ０，４）、（ｈ１，０）、（ｈ１，１）、（ｈ１，２）、（ｈ１，３）および（ｈ１，４）を量子化し、コーディングした後、それらを使用して下半分のフィルタ係数（ｈ３，０）、（ｈ３，１）、（ｈ３，２）、（ｈ３，３）、（ｈ３，４）、（ｈ４，０）、（ｈ４，１）、（ｈ４，２）、（ｈ４，３）および（ｈ４，４）を予測する。他のフィルタ係数の予測を同様にして行うことができる。たとえば、対角線的に何らかの対称性を有するサブピクセル位置「ｅ」フィルタ（図１２参照）の場合、最初に右上の係数を量子化し、コーディングし、次いで、それらを使用して左下の係数を予測することができる。
【０２１８】
いずれの場合も、（たとえば、予測ユニット３２の係数予測および量子化ユニット４１による）係数の予測の後、（たとえば、係数予測および量子化ユニット４１によって）予測誤差を量子化する。上記で概説したように、いわゆる「不均一量子化」を使用することができる。この場合、係数予測および量子化ユニット４１によって適用される量子化精度は係数ロケーションに依存する。（一般に、フィルタの中心からより遠くに離れている）絶対値がより小さい係数では、より高い精度が望ましいことがわかっている。対照的に、（一般に、フィルタの中心により近い）絶対値がより大きい係数では、より低い精度が望ましい。
【０２１９】
係数予測および量子化ユニット４１によって、それぞれ以下の行列Ｑ1D、Ｑ2D、ＱFPを使用して、１Ｄフィルタ、２Ｄフィルタ、および整数ピクセルフィルタ中の係数の量子化精度を指定することができる。行列で与えられるビットの数が、それぞれの係数の符号を符号化するための１ビットを含むことに留意されたい。
【数４４】
0005575747.tif 000045
【０２２０】
係数予測および量子化ユニット４１は、単純なプレフィックスコーディング方式に基づいて、量子化された係数予測誤差、すなわち、係数残差をコーディングすることができる。最初に、予測誤差の絶対値の動的範囲をＮ個のビン、たとえばＮ＝６に分割する。絶対値の動的範囲が［０，．．．，２q-1−１］であり、ｑは（上記の行列で指定されたように）所与の係数位置の量子化精度である場合、各ビンｎ、ｎ＝０，．．．Ｎ−１は、以下の範囲に及ぶ。
【数４５】
0005575747.tif 000046
【０２２１】
この場合、単項プレフィックス符号を使用して、入力絶対値ｍが属するビンｂ、ｂ＝０，．．．，Ｎ−１をコーディングする（ｂ＋１ビットを必要とする）。次いで、（ｑ−Ｎ＋ｂ−１）ビットの固定長サフィックス符号を使用して、絶対値の残り、ｍ−ｂstartをコーディングする。最後に、１ビットを使用して予測誤差の符号をコーディングする。
【０２２２】
たとえば、１Ｄフィルタ中の中心係数の場合、係数予測および量子化ユニット４１によって９ビット精度を使用して予測誤差を量子化し、すなわち、ｑ＝９であり、そのうちの８つのビットが、誤差絶対値を量子化するために使用される。誤差絶対値が９７である場合、誤差絶対値は第４のビン内に入り、すなわち、ｂ＝４である。したがって、第４のビンを示すために単項プレフィックス符号「１１１１０」を符号化し、（ｑ−Ｎ＋ｂ−１）＝（９−６＋４−１）＝６ビットの固定長サフィックス符号を使用して、ｍ−ｂstartの残り＝９７−６４＝３３を符号化する。最後に、正の符号を示すためにビット「０」を符号化する。
【０２２３】
本開示の技法は、ワイヤレスハンドセットおよび集積回路（ＩＣ）またはＩＣのセット（すなわち、チップセット）を含む、多種多様なデバイスまたは装置で実施できる。機能的態様を強調するために与えられた任意の構成要素、モジュールまたはユニットについて説明したが、異なるハードウェアユニットによる実現を必ずしも必要とするわけではない。
【０２２４】
したがって、本明細書で説明する技法は、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せで実装できる。ハードウェアで実装する場合、モジュール、ユニットまたは構成要素として説明する特徴は、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装できる。ソフトウェアで実装する場合、これらの技法は、プロセッサで実行されると、上記で説明した方法の１つまたは複数を実行する命令を備えるコンピュータ可読媒体によって少なくとも部分的に実現できる。コンピュータ可読媒体は、コンピュータ可読記憶媒体を備え、パッケージング材料を含むことがあるコンピュータプログラム製品の一部をなすことができる。コンピュータ可読記憶媒体は、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、磁気または光学データ記憶媒体などを備えることができる。本技法は、追加または代替として、命令またはデータ構造の形態でコードを搬送または伝達し、コンピュータによってアクセス、読取り、および／または実行できるコンピュータ可読通信媒体によって、少なくとも部分的に実現できる。
【０２２５】
コードは、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の等価の集積回路またはディスクリート論理回路によって実行できる。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明する機能を、符号化および復号のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に提供することができ、または複合ビデオコーデックに組み込むことができる。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装できる。
【０２２６】
本開示の様々な態様について説明した。これらおよび他の態様は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］
ピクセルのブロック内の整数ピクセル位置に対応する整数ピクセル値を含む、前記ピクセルのブロックを得ること、
前記ピクセルのブロック内の他の整数ピクセル値に基づいて前記整数ピクセル値をフィルタ処理し、前記整数ピクセル位置に対応する調整された整数ピクセル値を発生すること、
前記調整された整数ピクセル値に基づいて予測ブロックを発生すること、
を具備する方法。
［２］
前記方法は、符号化プロセスの間に実行され、前記方法は、符号化されている現在のビデオブロックと前記予測ブロックとの間の差として、残差ビデオブロックを発生することをさらに具備する、［１］の方法。
［３］
前記方法は、符号化プロセスの間に実行され、前記方法は、整数フィルタ処理のためにコード化単位当たりフィルタ係数の１セットを符号化することをさらに具備する、［１］の方法。
［４］
前記方法は、符号化プロセスの間に実行され、前記方法は、コード化単位内の異なるロケーションにおける整数フィルタ処理のために前記コード化単位当たりフィルタ係数の２以上のセットを符号化することをさらに具備する、［１］の方法。
［５］
フィルタ処理は２次元フィルタを適用することを具備する、［１］の方法。
［６］
前記２次元フィルタは、オフセットを持つ５×５フィルタを具備する、［５］の方法。
［７］
係数対称性は前記フィルタ処理のために使用される少なくともいくつかの係数の間に存在する、［１］の方法。
［８］
前記方法は、復号プロセスの間に実行され、前記方法は、復号されている現在のビデオブロックに関連する残差ビデオブロックと前記予測ブロックとの和として再構成されたビデオブロックを発生することをさらに具備する、［１］の方法。
［９］
前記方法は、復号プロセスの間に実行され、前記方法は、整数フィルタ処理のためにコード化単位当たりフィルタ係数の１セットを受信することをさらに具備する、［１］の方法。
［１０］
前記方法は、復号プロセスの間に実行され、前記方法は、コード化単位内の異なるロケーションにおける整数フィルタ処理のために前記コード化単位当たりフィルタ係数の２以上のセットを受信することをさらに具備する、［１］の方法。
［１１］
ピクセルのブロック内の整数ピクセル位置に対応する整数ピクセル値を含む、前記ピクセルのブロックを取得し、
前記ピクセルのブロック内の他の整数ピクセル値に基づいて前記整数ピクセル値をフィルタ処理し、前記整数ピクセル位置に対応する調整された整数ピクセル値を発生し、
前記調整された整数ピクセル値に基づいて予測ブロックを発生する、
ビデオコーダを具備する装置。
［１２］
前記ビデオコーダは、ビデオ符号化プロセスを実行し、前記ビデオコーダは、符号化されている現在のビデオブロックと前記予測ブロックとの間の差として、残差ビデオブロックを発生する、［１１］の装置。
［１３］
前記ビデオコーダは、ビデオ符号化プロセスを実行し、前記ビデオコーダは、整数フィルタ処理のためにコード化単位当たりフィルタ係数の１セットを符号化する、［１１］の装置。
［１４］
前記ビデオコーダは、ビデオ符号化プロセスを実行し、前記ビデオコーダは、コード化単位内の異なるロケーションにおける整数フィルタ処理のために前記コード化単位当たりフィルタ係数の２以上のセットを符号化する、［１１］の装置。
［１５］
前記整数ピクセル値をフィルタ処理することにおいて、前記装置は２次元フィルタを適用する、［１１］の装置。
［１６］
前記２次元フィルタは、オフセットを持つ５×５フィルタを具備する、［１５］の装置。
［１７］
係数対称性は前記フィルタ処理のために使用される少なくともいくつかの係数の間に存在する、［１１］の装置。
［１８］
前記ビデオコーダは、復号プロセスを実行し、前記ビデオコーダは、復号されている現在のビデオブロックに関連する残差ビデオブロックと前記予測ブロックとの和として再構成されたビデオブロックを発生する、［１１］の装置。
［１９］
前記ビデオコーダは、復号プロセスを実行し、前記ビデオコーダは、整数フィルタ処理のためにコード化単位当たりフィルタ係数の１セットを受信する、［１１］の装置。
［２０］
前記ビデオコーダは、復号プロセスを実行し、前記ビデオコーダは、コード化単位内の異なるロケーションにおける整数フィルタ処理のために前記コード化単位当たりフィルタ係数の２以上のセットを受信する、［１１］の装置。
［２１］
前記ビデオコーダは、集積回路を具備する、［１１］の装置。
［２２］
前記ビデオコーダは、マイクロプロセッサを具備する、［１１］の装置。
［２３］
前記装置は、前記ビデオコーダを含むワイヤレス通信デバイスを具備する、［１１］の装置。
［２４］
ピクセルのブロック内の整数ピクセル位置に対応する整数ピクセル値を含む、前記ピクセルのブロックを得るための手段と、
前記ピクセルのブロック内の他の整数ピクセル値に基づいて前記整数ピクセル値をフィルタ処理し、前記整数ピクセル位置に対応する調整された整数ピクセル値を発生するための手段と、
前記調整された整数ピクセル値に基づいて予測ブロックを発生するための手段と、
を具備するデバイス。
［２５］
前記デバイスは、符号化プロセスを実行し、前記デバイスは、符号化されている現在のビデオブロックと前記予測ブロックとの間の差として、残差ビデオブロックを発生するための手段を具備する、［２４］のデバイス。
［２６］
前記デバイスは、符号化プロセスを実行し、前記デバイスは、整数フィルタ処理のためにコード化単位当たりフィルタ係数の１セットを符号化するための手段をさらに具備する、［２４］のデバイス。
［２７］
前記デバイスは、符号化プロセスを実行し、前記デバイスは、コード化単位内の異なるロケーションにおける整数フィルタ処理のために前記コード化単位当たりフィルタ係数の２以上のセットを符号化するための手段をさらに具備する、［２４］のデバイス。
［２８］
フィルタ処理のための手段は２次元フィルタを適用するための手段を具備する、［２４］のデバイス。
［２９］
前記２次元フィルタは、オフセットを持つ５×５フィルタを具備する、［２８］のデバイス。
［３０］
係数対称性は前記フィルタ処理のために使用される少なくともいくつかの係数の間に存在する、［２４］のデバイス。
［３１］
前記デバイスは、復号プロセスを実行し、前記デバイスは、復号されている現在のビデオブロックに関連する残差ビデオブロックと前記予測ブロックとの和として再構成されたビデオブロックを発生するための手段をさらに具備する、［２４］のデバイス。
［３２］
前記デバイスは、復号プロセスを実行し、前記デバイスは、整数フィルタ処理のためにコード化単位当たりフィルタ係数の１セットを受信するための手段をさらに具備する、［２４］のデバイス。
［３３］
前記デバイスは、復号プロセスを実行し、前記デバイスは、コード化単位内の異なるロケーションにおける整数フィルタ処理のために前記コード化単位当たりフィルタ係数の２以上のセットを受信するための手段をさらに具備する、［２４］のデバイス。
［３４］
プロセッサによって実行されたとき、
ピクセルのブロック内の整数ピクセル位置に対応する整数ピクセル値を含む、前記ピクセルのブロックを得ること、
前記ピクセルのブロック内の他の整数ピクセル値に基づいて前記整数ピクセル値をフィルタ処理し、前記整数ピクセル位置に対応する調整された整数ピクセル値を発生すること、
前記調整された整数ピクセル値に基づいて予測ブロックを発生すること、
を前記プロセッサに行わせる命令を備えるコンピュータ可読記憶媒体。
［３５］
前記命令は、前記プロセッサに、符号化プロセスを実行することを行わせ、前記命令は、前記プロセッサに、符号化されている現在のビデオブロックと前記予測ブロックとの間の差として、残差ビデオブロックを発生することを行わせる、［３４］のコンピュータ可読記憶媒体。
［３６］
前記命令は、前記プロセッサに、符号化プロセスを実行することを行わせ、前記命令は、前記プロセッサに、整数フィルタ処理のためにコード化単位当たりフィルタ係数の１セットを符号化することを行わせる、［３４］のコンピュータ可読記憶媒体。
［３７］
前記命令は、前記プロセッサに、符号化プロセスを実行することを行わせ、前記命令は、前記プロセッサに、コード化単位内の異なるロケーションにおける整数フィルタ処理のために前記コード化単位当たりフィルタ係数の２以上のセットを符号化することを行わせる、［３４］のコンピュータ可読記憶媒体。
［３８］
前記整数ピクセル値をフィルタ処理することにおいて、前記命令は、前記デバイスに、２次元フィルタを適用させる、［３４］のコンピュータ可読記憶媒体。
［３９］
前記２次元フィルタは、オフセットを持つ５×５フィルタを具備する、［３８］のコンピュータ可読記憶媒体。
［４０］
係数対称性は前記フィルタ処理のために使用される少なくともいくつかの係数の間に存在する、［３４］のコンピュータ可読記憶媒体。
［４１］
前記命令は、前記デバイスに、復号プロセスを実行することを行わせ、前記命令は、前記デバイスに、復号されている現在のビデオブロックに関連する残差ビデオブロックと前記予測ブロックとの和として再構成されたビデオブロックを発生することを行わせる、［３４］のコンピュータ可読記憶媒体。
［４２］
前記命令は、前記デバイスに、復号プロセスを実行することを行わせ、前記命令は、整数フィルタ処理のためにコード化単位当たりフィルタ係数の１セットを受信する、［３４］のコンピュータ可読記憶媒体。
［４３］
前記命令は、前記デバイスに、復号プロセスを実行することを行わせ、前記命令は、コード化単位内の異なるロケーションにおける整数フィルタ処理のために前記コード化単位当たりフィルタ係数の２以上のセットを受信する、［３４］のコンピュータ可読記憶媒体。
【図１】
0005575747.tif 000047
【図２】
0005575747.tif 000048
【図３】
0005575747.tif 000049
【図４】
0005575747.tif 000050
【図５】
0005575747.tif 000051
【図６】
0005575747.tif 000052
【図７】
0005575747.tif 000053
【図８】
0005575747.tif 000054
【図９】
0005575747.tif 000055
【図１０】
0005575747.tif 000056
【図１１】
0005575747.tif 000057
【図１２】
0005575747.tif 000058
【図１３】
0005575747.tif 000059
【図１４】
0005575747.tif 000060
【図１５】
0005575747.tif 000061
【図１６】
0005575747.tif 000062
【図１７】
0005575747.tif 000063
【図１８】
0005575747.tif 000064
【図１９】
0005575747.tif 000065
【図２０】
0005575747.tif 000066
【図２１】
0005575747.tif 000067
【図２２】
0005575747.tif 000068
【図２３】
0005575747.tif 000069
【図２４】
0005575747.tif 000070
【図２５】
0005575747.tif 000071
【図２６】
0005575747.tif 000072
【図２７】
0005575747.tif 000073
【図２８】
0005575747.tif 000074
【図２９】
0005575747.tif 000075