(57)【特許請求の範囲】
【請求項１】
ビデオ符号化のために予測ビデオデータを生成するためのビデオデータを補間する方法であって、
整数ピクセル値に基づいて、２分の１ピクセル値を生成することと、
２分の１ピクセル補間値を生成するために、前記２分の１ピクセル値を丸めることと、
前記２分の１ピクセル値の丸めなしバージョンとして前記２分の１ピクセル値を保存することと、
前記２分の１ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、４分の１ピクセル値を生成することと、
複数の前記２分の１ピクセル値の前記丸めなしバージョンに基づいて、別の２分の１ピクセル値の第１の丸められたバージョンを生成することと、
前記別の２分の１ピクセル値の第２の丸められたバージョンを生成するために前記別の２分の１ピクセル値の前記第１の丸められたバージョンを丸めることと、ここにおいて、予測ビデオデータの第１のセットは、前記別の２分の１ピクセル値の前記第１の丸められたバージョンを丸めることによって生成される前記別の２分の１ピクセル値の前記第２の丸められたバージョンをさらに含み、
前記別の２分の１ピクセル値の前記第１の丸められたバージョン及び前記２分の１ピクセル値の前記丸めなしバージョンに基づいて追加的な４分の１ピクセル値を生成することと、ここにおいて、予測ビデオデータの前記第２のセットは、前記別の２分の１ピクセル値の前記第1の丸められたバージョン及び前記２分の１ピクセル値の前記丸めなしバージョンに基づいて生成される前記追加的な４分の１ピクセル値をさらに含み、
を備え、
予測ビデオデータの前記第１セットが、前記２分の１ピクセル値を丸めることによって生成される前記２分の１ピクセル補間値を含み、
予測ビデオデータの前記第１セットと異なる予測ビデオデータの第２のセットが、前記２分の１ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて生成される前記４分の１ピクセル値を含む、
方法。
【請求項２】
前記値のどの１つも、１６ビットデータ構造内に保存することができ、ここにおいて、前記別の２分の１ピクセル値の前記第1の丸められたバージョンを生成することは、前記別の２分の１ピクセル値の前記第1の丸められたバージョンが前記１６ビットデータ構造内に保存され得るように、前記別の２分の１ピクセル値の前記第1の丸められたバージョンを生成することを含む、請求項１に記載の方法。
【請求項３】
前記整数ピクセル値、前記２分の１ピクセル値、および／または前記４分の１ピクセル値に基づいて、１つまたは複数のビデオブロックを符号化すること
をさらに備える、請求項１に記載の方法。
【請求項４】
前記整数ピクセル値、前記２分の１ピクセル値、および／または前記４分の１ピクセル値に基づいて、１つまたは複数のビデオブロックを復号すること
をさらに備える、請求項１に記載の方法。
【請求項５】
ビデオ符号化のために予測ビデオデータを生成するためのビデオデータを補間する装置であって、
整数ピクセル値に基づいて、２分の１ピクセル値を生成し、
２分の１ピクセル補間値を生成するために、前記２分の１ピクセル値を丸め、
前記２分の１ピクセル値の丸めなしバージョンとして前記２分の１ピクセル値を保存し、
前記２分の１ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、４分の１ピクセル値を生成し、
複数の前記２分の１ピクセル値の前記丸めなしバージョンに基づいて、別の２分の１ピクセル値の第１の丸められたバージョンを生成し、
前記別の２分の１ピクセル値の第２の丸められたバージョンを生成するために前記別の２分の１ピクセル値の前記第１の丸められたバージョンを丸め、ここにおいて、予測ビデオデータの第１のセットは、前記別の２分の１ピクセル値の前記第１の丸められたバージョンを丸めることによって生成される前記別の２分の１ピクセル値の前記第２の丸められたバージョンをさらに含み、
前記別の２分の１ピクセル値の前記第１の丸められたバージョン及び前記２分の１ピクセル値の前記丸めなしバージョンに基づいて追加的な４分の１ピクセル値を生成し、ここにおいて、予測ビデオデータの前記第２のセットは、前記別の２分の１ピクセル値の前記第1の丸められたバージョン及び前記２分の１ピクセル値の前記丸めなしバージョンに基づいて生成される前記追加的な４分の１ピクセル値をさらに含み、
ように構成された
動き補償ユニットを含み、
予測ビデオデータの前記第１セットが、前記２分の１ピクセル値を丸めることによって生成される前記２分の１ピクセル補間値を含み、
予測ビデオデータの前記第１セットと異なる予測ビデオデータの第２のセットが、前記２分の１ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて生成される前記４分の１ピクセル値を含む、
装置。
【請求項６】
前記値のどの１つも、１６ビットデータ構造内に保存することができ、ここにおいて、前記動き補償ユニットが、前記別の２分の１ピクセル値の前記第1の丸められたバージョンが前記１６ビットデータ構造内に保存され得るように、前記別の2分の１ピクセル値の前記第1の丸められたバージョンを生成するように構成された
請求項５に記載の装置。
【請求項７】
前記動き補償ユニットを含むビデオ符号器を備え、前記ビデオ符号器が、
前記整数ピクセル値、前記２分の１ピクセル値、および／または前記４分の１ピクセル値に基づいて、１つまたは複数のビデオブロックを予測的に符号化するように構成された
請求項５に記載の装置。
【請求項８】
前記動き補償ユニットを含むビデオ復号器を備え、前記ビデオ復号器が、
前記整数ピクセル値、前記２分の１ピクセル値、および／または前記４分の１ピクセル値に基づいて、１つまたは複数のビデオブロックを予測的に復号するように構成された
請求項５に記載の装置。
【請求項９】
集積回路を備える、請求項５に記載の装置。
【請求項１０】
マイクロプロセッサを備える、請求項５に記載の装置。
【請求項１１】
実行された場合にデバイスにビデオ符号化のために予測ビデオデータを生成するためのビデオデータを補間させる命令であって、
整数ピクセル値に基づいて、２分の１ピクセル値を生成することと、
２分の１ピクセル補間値を生成するために、前記２分の１ピクセル値を丸めることと、
前記２分の１ピクセル値の丸めなしバージョンとして前記２分の１ピクセル値を保存することと、
前記２分の１ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、４分の１ピクセル値を生成することと、
複数の前記２分の１ピクセル値の前記丸めなしバージョンに基づいて、別の２分の１ピクセル値の第１の丸められたバージョンを生成することと、
前記別の２分の１ピクセル値の第２の丸められたバージョンを生成するために前記別の２分の１ピクセル値の前記第１の丸められたバージョンを丸めることと、ここにおいて、予測ビデオデータの第１のセットは、前記別の２分の１ピクセル値の前記第１の丸められたバージョンを丸めることによって生成される前記別の２分の１ピクセル値の前記第２の丸められたバージョンをさらに含み、
前記別の２分の１ピクセル値の前記第１の丸められたバージョン及び前記２分の１ピクセル値の前記丸めなしバージョンに基づいて追加的な４分の１ピクセル値を生成することと、ここにおいて、予測ビデオデータの前記第２のセットは、前記別の２分の１ピクセル値の前記第1の丸められたバージョン及び前記２分の１ピクセル値の前記丸めなしバージョンに基づいて生成される前記追加的な４分の１ピクセル値をさらに含み、
を前記デバイスに行わせる命令を備え、
予測ビデオデータの前記第１セットが、前記２分の１ピクセル値を丸めることによって生成される前記２分の１ピクセル補間値を含み、
予測ビデオデータの前記第１セットと異なる予測ビデオデータの第２のセットが、前記２分の１ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて生成される前記４分の１ピクセル値を含む、
コンピュータ可読記憶媒体。
【請求項１２】
前記値のどの１つも、１６ビットデータ構造内に保存することができ、ここにおいて、前記別の２分の１ピクセル値の前記第1の丸められたバージョンを前記デバイスに生成させる前記命令は、前記別の２分の１ピクセル値の前記第1の丸められたバージョンが前記１６ビットデータ構造内に保存され得るように、前記別の２分の１ピクセル値の前記第1の丸められたバージョンを前記デバイスに生成させる命令を含む、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１３】
実行された場合に
前記整数ピクセル値、前記２分の１ピクセル値、および／または前記４分の１ピクセル値に基づいて、１つまたは複数のビデオブロックを符号化すること
をデバイスに行わせる命令をさらに備える、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１４】
実行された場合に
前記整数ピクセル値、前記２分の１ピクセル値、および／または前記４分の１ピクセル値に基づいて、１つまたは複数のビデオブロックを復号すること
をデバイスに行わせる命令をさらに備える、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１５】
ビデオ符号化のために予測ビデオデータを生成するためのビデオデータを補間するデバイスであって、
整数ピクセル値に基づいて、２分の１ピクセル値を生成するための手段と、
２分の１ピクセル補間値を生成するために、前記２分の１ピクセル値を丸めることと、
前記２分の１ピクセル値の丸めなしバージョンとして前記２分の１ピクセル値を保存するための手段と、
前記２分の１ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、４分の１ピクセル値を生成するための手段と、
複数の前記２分の１ピクセル値の前記丸めなしバージョンに基づいて、別の２分の１ピクセル値の第１の丸められたバージョンを生成するための手段と、
前記別の２分の１ピクセル値の第２の丸められたバージョンを生成するために前記別の２分の１ピクセル値の前記第１の丸められたバージョンを丸めるための手段と、ここにおいて、予測ビデオデータの第１のセットは、前記別の２分の１ピクセル値の前記第１の丸められたバージョンを丸めることによって生成される前記別の２分の１ピクセル値の前記第２の丸められたバージョンをさらに含み、
前記別の２分の１ピクセル値の前記第１の丸められたバージョン及び前記２分の１ピクセル値の前記丸めなしバージョンに基づいて追加的な４分の１ピクセル値を生成するための手段と、ここにおいて、予測ビデオデータの前記第２のセットは、前記別の２分の１ピクセル値の前記第1の丸められたバージョン及び前記２分の１ピクセル値の前記丸めなしバージョンに基づいて生成される前記追加的な４分の１ピクセル値をさらに含み、
を備え、
予測ビデオデータの前記第１セットが、前記２分の１ピクセル値を丸めることによって生成される前記２分の１ピクセル補間値を含み、
予測ビデオデータの前記第１セットと異なる予測ビデオデータの第２のセットが、前記２分の１ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて生成される前記４分の１ピクセル値を含む、
デバイス。
【請求項１６】
前記値のどの１つも、１６ビットデータ構造内に保存することができ、ここにおいて、前記別の２分の１ピクセル値の前記第1の丸められたバージョンを生成するための手段は、前記別の２分の１ピクセル値の前記第1の丸められたバージョンが前記１６ビットデータ構造内に保存され得るように、前記別の2分の１ピクセル値の前記第1の丸められたバージョンを生成するための手段を含む
請求項１５に記載のデバイス。
【請求項１７】
前記整数ピクセル値、前記２分の１ピクセル値、および／または前記４分の１ピクセル値に基づいて、１つまたは複数のビデオブロックを符号化するための手段
をさらに備える、請求項１５に記載のデバイス。
【請求項１８】
前記整数ピクセル値、前記２分の１ピクセル値、および／または前記４分の１ピクセル値に基づいて、１つまたは複数のビデオブロックを復号するための手段
をさらに備える、請求項１５に記載のデバイス。
【請求項１９】
ビデオデータを符号化するデバイスであって、
前記ビデオデータを符号化するように構成された動き補償ユニットを含むビデオ符号器と、
前記動き補償ユニットによって符号化された前記ビデオデータを別のデバイスに送信するように構成された無線送信機とを具備し、
前記動き補償ユニットは、前記ビデオデータを符号化するために、整数ピクセル値に基づいて、２分の１ピクセル値を生成し、２分の１ピクセル補間値を生成するために、前記２分の１ピクセル値を丸め、前記２分の１ピクセル値の丸めなしバージョンとして前記２分の１ピクセル値を保存し、前記２分の１ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、４分の１ピクセル値を生成し、複数の前記２分の１ピクセル値の前記丸めなしバージョンに基づいて、別の２分の１ピクセル値の第１の丸められたバージョンを生成し、前記別の２分の１ピクセル値の第２の丸められたバージョンを生成するために前記別の２分の１ピクセル値の前記第１の丸められたバージョンを丸め、ここにおいて、予測ビデオデータの第１のセットは、前記別の２分の１ピクセル値の前記第１の丸められたバージョンを丸めることによって生成される前記別の２分の１ピクセル値の前記第２の丸められたバージョンをさらに含み、前記別の２分の１ピクセル値の前記第１の丸められたバージョン及び前記２分の１ピクセル値の前記丸めなしバージョンに基づいて追加的な４分の１ピクセル値を生成し、ここにおいて、予測ビデオデータの前記第２のセットは、前記別の２分の１ピクセル値の前記第1の丸められたバージョン及び前記２分の１ピクセル値の前記丸めなしバージョンに基づいて生成される前記追加的な４分の１ピクセル値をさらに含む、
ように構成されており、
予測ビデオデータの前記第１セットが、前記２分の１ピクセル値を丸めることによって生成される前記２分の１ピクセル補間値を含み、
予測ビデオデータの前記第１セットと異なる予測ビデオデータの第２のセットが、前記２分の１ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて生成される前記４分の１ピクセル値を含む、
デバイス。
【請求項２０】
無線通信ハンドセットを備える、請求項１９に記載のデバイス。
【請求項２１】
ビデオデータを復号するデバイスであって、
前記ビデオデータを受信するように構成された無線受信機と、
前記ビデオデータを復号するように構成された動き補償ユニットを含むビデオ復号器であって、前記動き補償ユニットが、前記ビデオデータを復号するために、
整数ピクセル値に基づいて、２分の１ピクセル値を生成し、
２分の１ピクセル補間値を生成するために、前記２分の１ピクセル値を丸め、
前記２分の１ピクセル値の丸めなしバージョンとして前記２分の１ピクセル値を保存し、
前記２分の１ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、４分の１ピクセル値を生成し、
複数の前記２分の１ピクセル値の前記丸めなしバージョンに基づいて、別の２分の１ピクセル値の第１の丸められたバージョンを生成し、
前記別の２分の１ピクセル値の第２の丸められたバージョンを生成するために前記別の２分の１ピクセル値の前記第１の丸められたバージョンを丸め、ここにおいて、予測ビデオデータの第１のセットは、前記別の２分の１ピクセル値の前記第１の丸められたバージョンを丸めることによって生成される前記別の２分の１ピクセル値の前記第２の丸められたバージョンをさらに含み、
前記別の２分の１ピクセル値の前記第１の丸められたバージョン及び前記２分の１ピクセル値の前記丸めなしバージョンに基づいて追加的な４分の１ピクセル値を生成し、ここにおいて、予測ビデオデータの前記第２のセットは、前記別の２分の１ピクセル値の前記第1の丸められたバージョン及び前記２分の１ピクセル値の前記丸めなしバージョンに基づいて生成される前記追加的な４分の１ピクセル値をさらに含む、ように構成され、
予測ビデオデータの前記第１セットが、前記２分の１ピクセル値を丸めることによって生成される前記２分の１ピクセル補間値を含み、
予測ビデオデータの前記第１セットと異なる予測ビデオデータの第２のセットが、前記２分の１ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて生成される前記４分の１ピクセル値を含む、ビデオ復号器と
を備えるデバイス。
【請求項２２】
無線通信ハンドセットを備える、請求項２１に記載のデバイス。
【請求項２３】
動き補償のために、予測ビデオデータの前記第１セット及び予測ビデオデータの前記第２のセットを１つ以上使用することをさらに具備する請求項１に記載の方法。
【請求項２４】
前記動き補償ユニットは、動き補償のために、予測ビデオデータの前記第１セット及び予測ビデオデータの前記第２のセットを１つ以上使用するようにさらに構成されている請求項５に記載の装置。
【請求項２５】
実行された場合に、
動き補償のために、予測ビデオデータの前記第１セット及び予測ビデオデータの前記第２のセットを１つ以上使用するようにデバイスに行わせる命令をさらに備える、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項２６】
動き補償のために、予測ビデオデータの前記第１セット及び予測ビデオデータの前記第２のセットを１つ以上使用するための手段をさらに備える、請求項１５に記載のデバイス。
【請求項２７】
前記別の２分の１ピクセルの前記第１の丸められたバージョンを生成することは、前記２分の１ピクセル値の第１の複数の前記丸めなしバージョンのクリッピングされたバージョン及び前記２分の１ピクセル値の第２の複数の前記丸めなしバージョンのクリッピングなしのバージョンに基づいて、前記別の２分の１ピクセル値の前記第１の丸められたバージョンを生成することを含む、請求項１に記載の方法。
【請求項２８】
前記動き補正ユニットは、前記２分の１ピクセル値の第１の複数の前記丸めなしバージョンのクリッピングされたバージョン及び前記２分の１ピクセル値の第２の複数の前記丸めなしバージョンのクリッピングなしバージョンに基づいて、前記別の２分の１ピクセルの前記第１の丸められたバージョンを生成することを含む請求項５に記載の装置。
【請求項２９】
前記別の２分の１ピクセル値の前記第１の丸められたバージョンを前記デバイスに生成させる前記命令は、前記２分の１ピクセル値の第１の複数の前記丸めなしバージョンのクリッピングされたバージョン及び前記２分の１ピクセル値の第２の複数の前記丸めなしバージョンのクリッピングなしのバージョンに基づいて、前記別の２分の１ピクセル値の前記第１の丸められたバージョンを前記デバイスに生成させる命令を含む、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項３０】
前記別の２分の１ピクセルの前記第１の丸められたバージョンを生成するための手段は、前記２分の１ピクセル値の第１の複数の前記丸めなしバージョンのクリッピングされたバージョン及び前記２分の１ピクセル値の第２の複数の前記丸めなしバージョンのクリッピングなしのバージョンに基づいて、前記別の２分の１ピクセル値の前記第１の丸められたバージョンを生成するための手段を含む、請求項１５に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００８年４月１０日に出願された米国仮出願第６１／０４４，０２３号、２００８年４月１１日に出願された米国仮出願第６１／０４４，２４０号、および２００８年５月３０日に出願された米国仮出願第６１／０５７，３７３号の利益を主張し、それらの内容はすべて、参照により本明細書に組み込まれる。
【０００２】
本開示は、ディジタルビデオ符号化に関し、より詳細には、ビデオ符号化において使用される予測データの分数補間（fractional interpolation）に関する。
【背景技術】
【０００３】
ディジタルビデオ機能は、ディジタルテレビ、ディジタルダイレクト放送システム、無線放送システム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、ディジタルカメラ、ディジタル記録デバイス、ビデオゲームデバイス、ビデオゲームコンソール、およびセルラまたは衛星無線電話などを含む、多種多様なデバイスに組み込むことができる。ディジタルビデオデバイスは、ディジタルビデオ情報をより効率的に送受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４、またはＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４パート１０高度ビデオ符号化（ＡＶＣ（Advanced Video Coding））などの、ビデオ圧縮技術を実施する。ビデオ圧縮技術は、ビデオシーケンスにおいて本質的な冗長性を低減または除去するために、空間的予測および／または時間的予測を実行することができる。
【０００４】
ブロックベースのインター符号化（inter-coding）は、ビデオシーケンスの連続する符号化単位（coded unit）のビデオブロック間の時間的冗長性を低減または除去するために時間的予測に依存する、非常に役立つ符号化技術である。符号化単位は、ビデオフレーム、ビデオフレームのスライス、グループオブピクチャ（group of pictures）、またはビデオブロックの別の定義単位を備えることができる。インター符号化の場合、ビデオ符号器は、２つ以上の隣接する符号化単位の対応するビデオブロックの動きを追跡するために、動き推定（motion estimation）および動き補償（motion compensation）を実行する。動き推定は、動きベクトル（motion vector）を生成し、動きベクトルは、１つまたは複数の参照フレームまたは他の符号化単位内の対応する予測ビデオブロックに対するビデオブロックの変位を表す。動き補償は、動きベクトルを使用して、参照フレームまたは他の符号化単位から予測ビデオブロックを生成する。動き補償の後、符号化される元のビデオブロックから予測ビデオブロックを減算することによって、残差ビデオブロックが形成される。
【０００５】
ビデオ符号器は、残差ブロックの伝達に関連するビットレートをさらに低減するために、変換プロセス、量子化プロセス、およびエントロピー符号化プロセスを適用することもできる。変換技術は、離散コサイン変換（ＤＣＴ（discrete cosine transform））または概念的に類似のプロセスを備えることができる。代替的に、ウェーブレット変換（wavelet transform）、整数変換（integer transform）、または他のタイプの変換を使用することもできる。ＤＣＴプロセスでは、一例として、１組のピクセル値は、周波数領域におけるピクセル値のエネルギーを表すことができる変換係数に変換される。量子化は、変換係数に適用され、任意の与えられた変換係数に関連するビットの数を制限するプロセスを一般に含む。エントロピー符号化は、量子化された変換係数の系列を一括して圧縮する１つまたは複数のプロセスを備える。エントロピー符号化の例は、コンテンツ適応可変長符号化（ＣＡＶＬＣ（content adaptive variable length coding））およびコンテキスト適応バイナリ算術符号化（ＣＡＢＡＣ（context adaptive binary arithmetic coding））を含むが、それらに限定されない。
【０００６】
符号化ビデオブロックは、予測ブロックを生成または識別するのに使用できる予測情報と、符号化されるブロックと予測ブロックの間の差分を表すデータの残差ブロックとによって表すことができる。予測情報は、データの予測ブロックを識別するのに使用される１つまたは複数の動きベクトルを備えることができる。動きベクトルが与えられると、復号器は、残差を符号化するのに使用された予測ブロックを再構成することができる。したがって、１組の残差ブロックおよび１組の動きベクトル（ならびにおそらくはいくつかの追加的なシンタックス）が与えられると、復号器は、最初に符号化されたビデオフレームを再構成することができる場合がある。連続するビデオフレームまたは他のタイプの符号化単位は、しばしば非常に類似しているので、動き推定および動き補償に基づいたインター符号化は、非常に良好な圧縮を達成することができる。符号化ビデオシーケンスは、残差データのブロックと、動きベクトルと、おそらくは他のタイプのシンタックスとを備えることができる。
【０００７】
インター符号化において達成できる圧縮のレベルを改善するために、補間技術が開発された。この場合、ビデオブロックを符号化するのに使用できる、動き補償の最中に生成される予測データを、動き推定において使用されるビデオフレームまたは他の符号化単位のビデオブロックのピクセルから補間することができる。補間はしばしば、予測２分の１ピクセル値（ハーフペル）および予測４分の１ピクセル値（クォータペル）を生成するために実行される。そのような補間はしばしば、ビデオ符号化において使用される予測フレームまたは他の符号化単位の実際のビデオブロックよりも、符号化されるビデオブロックにはるかによく類似する予測ブロックを生成する。
【発明の概要】
【０００８】
一般に、本開示は、ビデオ符号化の動き補償プロセスの最中に、符号器および復号器によって実行される補間技術について説明する。本開示の技術によれば、符号器は、複数の事前定義された補間フィルタを適用して、複数の異なる補間予測データを生成することができる。最高レベルの圧縮を達成する補間予測データを選択することができ、使用された補間フィルタをシンタックスとして符号化し、符号化ビデオデータの一部として復号デバイスに伝達することができる。補間フィルタは、予測単位あたり１回（例えば予測フレームあたり１回）定義することができ、またはブロックベースで定義することができる（例えば、予測単位内の異なるビデオブロックに異なるフィルタリングを適用することができる）。代替的に、補間フィルタは、サンプルベースで定義することができ、またはサブサンプルベースで定義することができる。
【０００９】
復号器は、符号化ビデオデータを受け取り、符号器によって使用された補間フィルタを識別するために、シンタックスを解釈することができる。このようにして、復号器は、その動き補償プロセスの最中に、符号化プロセスの最中に使用されたのと同じ補間フィルタを識別し、使用することができる。符号器において多数の異なる補間フィルタを検討することによって、固定的な補間フィルタを有する技術と比べて、圧縮を改善することができる。同時に、この技術は、符号化プロセスの一部として補間フィルタ係数を適応的に定義する従来の適応補間フィルタリングよりも、複雑さを著しく低減することができる。本開示のいくつかの態様によれば、良好な圧縮をもたらす可能性が高い補間フィルタ係数の組を事前定義するために、テストビデオシーケンスに対して適応補間フィルタリングまたは他の技術を実施することによって、異なる補間フィルタを事前定義することができる。代替的に、異なる数のフィルタ係数（異なる数のタップ）または異なるタイプのフィルタを完全に事前定義し、その後、符号化プロセスおよび復号プロセスの最中に、それを選択し、使用することもできる。
【００１０】
加えて、本開示は、２分の１ピクセル値の従来の丸めに起因する符号化の非効率性を認識もし、中間丸めを削減または排除することによって補間を改善できる技術を提供する。この場合、補間された２分の１ピクセル値は、２分の１ピクセル補間の目的で丸めることができる。しかし、１つまたは複数の補間された２分の１ピクセル値に基づいて生成できる４分の１ピクセル値は、２分の１ピクセル値の丸めなしバージョンに依存することができる。これによって、２分の１ピクセル値から４分の１ピクセル値への丸め誤差の伝播を排除することができる。場合によっては、１６ビット記憶要素を使用して、２分の１ピクセルの任意の中間値を保存できることを保証するために、最終的な値の精度を犠牲にすることがない僅少な丸め（slight rounding）を、１つの特定の２分の１ピクセル値に適用することができる。特に、あらゆるピクセルロケーションに対して、１５個の可能なサブピクセルロケーションが定義される場合、特定の２分の１ピクセル値の１つを、他の２分の１ピクセル値に基づいて生成する必要がある（すなわち、２つのレベルの２分の１ピクセル補間を必要とする）場合があり、この特定の２分の１ピクセル値は、１６ビット記憶要素を使用して、すべての補間値を保存できることを保証するために、丸めを必要とする場合がある。
【００１１】
いずれの場合も、中間丸め作業の排除は、本明細書で説明されるように、複数の事前定義された補間フィルタの実施によって、またはよらずに、行うことができる。例えば、中間丸めの排除は、本明細書で説明されるように、複数の事前定義された補間フィルタを使用する実施との関連で実行することができる。代替的に、中間丸めの排除は、適応補間フィルタリング（ＡＩＦ（adaptive interpolation filtering））など、より従来的な補間との関連で実行することができる。
【００１２】
一例では、本開示は、ビデオデータを符号化する方法を提供する。その方法は、予測データを生成することであって、複数の異なる事前定義された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間することを含む、予測データを生成することを備える。方法は、予測データに基づいて、ビデオデータを符号化することも備える。
【００１３】
別の例では、本開示は、ビデオデータを復号する方法を提供する。復号方法は、複数の異なる事前定義された補間フィルタから補間フィルタを識別するシンタックス要素を受け取ることと、予測データを生成することであって、シンタックス要素によって識別された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間することを含む、予測データを生成することと、予測データに基づいて、ビデオデータを復号することとを備える。
【００１４】
別の例では、本開示は、ビデオ符号化のために予測ビデオデータを補間する方法を提供する。その方法は、整数ピクセル値に基づいて、２分の１ピクセル値を生成することと、２分の１ピクセル補間値を生成するために、２分の１ピクセル値を丸めることと、２分の１ピクセル値の丸めなしバージョンとして２分の１ピクセル値を保存することと、２分の１ピクセル値の丸めなしバージョンと整数ピクセル値とに基づいて、４分の１ピクセル値を生成することとを備える。
【００１５】
別の例では、本開示は、ビデオデータを符号化する装置を提供し、その装置は、予測データを生成する動き補償ユニットを含むビデオ符号器を備える。動き補償ユニットは、複数の異なる事前定義された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間し、ビデオ符号器は、予測データに基づいて、ビデオデータを符号化する。
【００１６】
別の例では、本開示は、ビデオデータを復号する装置を提供し、その装置は、動き補償ユニットを含むビデオ復号器を備える。ビデオ復号器は、複数の異なる事前定義された補間フィルタから補間フィルタを識別するシンタックス要素を受け取る。動き補償ユニットは、予測データを生成することであって、シンタックス要素によって識別された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間することを含む、予測データを生成することを行う。その後、ビデオ復号器は、予測データに基づいて、ビデオデータを復号する。
【００１７】
別の例では、本開示は、ビデオ符号化のために予測ビデオデータを補間する装置を提供し、その装置は、整数ピクセル値に基づいて、２分の１ピクセル値を生成し、２分の１ピクセル補間値を生成するために、２分の１ピクセル値を丸め、２分の１ピクセル値の丸めなしバージョンとして２分の１ピクセル値を保存し、２分の１ピクセル値の丸めなしバージョンと整数ピクセル値とに基づいて、４分の１ピクセル値を生成する、動き補償ユニットを含む。
【００１８】
別の例では、本開示は、ビデオデータを符号化するデバイスを提供し、そのデバイスは、予測データを生成するための手段であって、複数の異なる事前定義された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間するための手段を含む、予測データを生成するための手段と、予測データに基づいて、ビデオデータを符号化するための手段とを備える。
【００１９】
別の例では、本開示は、ビデオデータを復号するデバイスを提供し、そのデバイスは、複数の異なる事前定義された補間フィルタから補間フィルタを識別するシンタックス要素を受け取るための手段と、予測データを生成するための手段であって、シンタックス要素よって識別された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間するための手段を含む、予測データを生成ための手段と、予測データに基づいて、ビデオデータを復号するための手段とを備える。
【００２０】
別の例では、本開示は、ビデオ符号化のために予測ビデオデータを補間するデバイスを提供し、そのデバイスは、整数ピクセル値に基づいて、２分の１ピクセル値を生成するための手段と、２分の１ピクセル補間値を生成するために、２分の１ピクセル値を丸めるための手段と、２分の１ピクセル値の丸めなしバージョンとして２分の１ピクセル値を保存するための手段と、２分の１ピクセル値の丸めなしバージョンと整数ピクセル値とに基づいて、４分の１ピクセル値を生成するための手段とを備える。
【００２１】
別の例では、本開示は、ビデオデータを符号化するデバイスを提供し、そのデバイスは、複数の異なる事前定義された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間することによって予測データを生成し、予測データに基づいてビデオデータを符号化する、動き補償ユニットを含むビデオ符号器と、ビデオデータを別のデバイスに送信する無線送信機とを備える。
【００２２】
別の例では、本開示は、ビデオデータを復号するデバイスを提供し、そのデバイスは、ビデオデータを受信する無線受信機と、ビデオ復号器であって、複数の異なる事前定義された補間フィルタから補間フィルタを識別するシンタックス要素を受け取ることと、予測データを生成することであって、シンタックス要素よって識別された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間することを含む、予測データを生成することと、予測データに基づいてビデオデータを復号することとを行う、動き補償ユニットを含むビデオ復号器とを備える。
【００２３】
別の例では、本開示は、ビデオデータを符号化するデバイスを提供し、そのデバイスは、整数ピクセル値に基づいて、２分の１ピクセル値を生成し、２分の１ピクセル補間値を生成するために、２分の１ピクセル値を丸め、２分の１ピクセル値の丸めなしバージョンとして２分の１ピクセル値を保存し、２分の１ピクセル値の丸めなしバージョンと整数ピクセル値とに基づいて、４分の１ピクセル値を生成する、動き補償ユニットを含むビデオ符号器と、動き補償ユニットによって符号化されたビデオデータを別のデバイスに送信する無線送信機とを備える。
【００２４】
別の例では、本開示は、ビデオデータを復号するデバイスを提供し、そのデバイスは、ビデオデータを受信する無線受信機と、ビデオデータを復号する動き補償ユニットを含むビデオ復号器とを備える。ビデオデータを復号する際、動き補償ユニットは、整数ピクセル値に基づいて、２分の１ピクセル値を生成し、２分の１ピクセル補間値を生成するために、２分の１ピクセル値を丸め、２分の１ピクセル値の丸めなしバージョンとして２分の１ピクセル値を保存し、２分の１ピクセル値の丸めなしバージョンと整数ピクセル値とに基づいて、４分の１ピクセル値を生成する。
【００２５】
本開示で説明される技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせで実施することができる。ソフトウェアで実施される場合、そのソフトウェアは、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレー（ＦＰＧＡ）、またはディジタル信号プロセッサ（ＤＳＰ）など、１つまたは複数のプロセッサで実行することができる。技術を実行するソフトウェアは、最初にコンピュータ可読媒体内に保存することができ、プロセッサにロードして、実行することができる。
【００２６】
したがって、本開示は、実行された場合にデバイスにビデオデータを符号化させる命令であって、予測データを生成することであって、複数の異なる事前定義された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間することを含む、予測データを生成することと、予測データに基づいて、ビデオデータを符号化することとをデバイスに行わせる命令を備える、コンピュータ可読記憶媒体も企図している。
【００２７】
本開示は、実行された場合にデバイスにビデオデータを復号させる命令であって、複数の異なる事前定義された補間フィルタから補間フィルタを識別するシンタックス要素を受け取った際に、予測データを生成することであって、シンタックス要素よって識別された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間することを含む、予測データを生成することと、予測データに基づいて、ビデオデータを復号することとをデバイスに行わせる命令を備える、コンピュータ可読記憶媒体も企図している。
【００２８】
加えて、本開示は、実行された場合にデバイスにビデオ符号化のために予測ビデオデータを補間させる命令であって、整数ピクセル値に基づいて、２分の１ピクセル値を生成することと、２分の１ピクセル補間値を生成するために、２分の１ピクセル値を丸めることと、２分の１ピクセル値の丸めなしバージョンとして２分の１ピクセル値を保存することと、２分の１ピクセル値の丸めなしバージョンと整数ピクセル値とに基づいて、４分の１ピクセル値を生成することとをデバイスに行わせる命令を備える、コンピュータ可読記憶媒体も企図している。
【００２９】
本開示の１つまたは複数の態様の詳細が、添付の図面および以下の説明において示される。本開示で説明される技術の他の特徴、目的、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００３０】
【図１】ビデオ符号化および復号システムを示す例示的なブロック図。
【図２】本開示に従ったビデオ符号器の一例を示すブロック図。
【図３】本開示に従ったビデオ復号器の一例を示すブロック図。
【図４Ａ】予測ビデオブロックのピクセルを備えることができる整数ピクセルと補間ピクセルを示す概念図。
【図４Ｂ】予測ビデオブロックのピクセルを備えることができる整数ピクセルと補間ピクセルを示す概念図。
【図４Ｃ】予測ビデオブロックのピクセルを備えることができる整数ピクセルと補間ピクセルを示す概念図。
【図４Ｄ】予測ビデオブロックのピクセルを備えることができる整数ピクセルと補間ピクセルを示す概念図。
【図５】本開示に従った技術を説明する流れ図。
【図６】本開示に従った技術を説明する流れ図。
【図７】本開示に従った技術を説明する流れ図。
【図８】本開示に従った技術を説明する流れ図。
【発明を実施するための形態】
【００３１】
本開示は、ビデオ符号化の動き補償プロセスの最中に符号器および復号器によって実行される様々な補間技術について説明する。本開示の一態様によれば、符号器は、複数の異なる補間予測データを生成するために、複数の事前定義された補間フィルタを適用することができる。最高レベルの圧縮を達成する補間予測データを、符号器において選択することができ、使用された補間フィルタを、シンタックスとして符号化し、符号化ビデオデータの一部として復号デバイスに伝達することができる。補間予測データは、参照データを備える。符号化データの残差ブロックを定めるために、符号化されるビデオデータ（例えばビデオブロック）を、補間予測データ（例えば補間予測参照ブロック）から減算することができ、その後、残差ブロックに変換、量子化、およびエントロピー符号化を施すことができる。
【００３２】
補間フィルタは、予測単位あたり１回（例えば予測フレームあたり１回）定義することができ、またはサンプルベースで定義することができる（例えば、予測単位内の異なるビデオブロックまたは異なるサンプルロケーションに異なるフィルタリングを適用することができる）。異なる補間フィルタは、例えば、異なる組のフィルタ係数、異なる数のフィルタ係数、またはおそらくは異なるフィルタタイプによって定義することができる。いずれの場合も、複数の事前定義された補間フィルタを提供することによって、改善されたデータ圧縮のための補間データを提供することができる。
【００３３】
復号器は、符号化ビデオデータを受け取り、符号器によって使用された補間フィルタを識別するために、シンタックスを解釈することができる。このようにして、復号器は、その動き補償プロセスの最中に、符号化プロセスの最中に使用されたのと同じ補間フィルタを識別し、使用することができる。やはり、符号器において多数の異なる補間フィルタを検討することによって、単一の定められた補間フィルタを有する技術と比べて、圧縮を改善することができる。同時に、この技術は、符号化プロセスの一部として補間フィルタを（フィルタ係数を選択することによって）適応的に定義する従来の適応補間フィルタリングよりも、複雑さを著しく低減することができる。一例として、良好な圧縮をもたらす可能性が高い補間フィルタ係数の組を事前定義するために、テストビデオシーケンスに対して適応補間フィルタリングまたは他の技術を実施することによって、補間フィルタを事前定義することができる。
【００３４】
本開示の別の態様では、４分の１ピクセル補間のための２分の１ピクセル値の中間丸めを排除または著しく削減する補間技術が説明される。中間丸めを排除または著しく削減する補間技術は、事前定義された補間フィルタを使用する上述の技術とともに、または別に使用することができる。言い換えると、中間丸めを排除または著しく削減する補間技術は、１つまたは複数の事前定義された補間フィルタによる補間の最中に使用することができるが、固定的な補間フィルタを使用する補間またはおそらくは適応的な改良補間技術とともに使用することもできる。
【００３５】
本開示は、２分の１ピクセル値の従来の丸めが原因で生じ得る符号化の非効率性を認識し、中間丸めを排除または削減することによって補間を改善する技術を提案する。この場合、補間された２分の１ピクセル値は、２分の１ピクセル補間の目的で丸めることができる。しかし、１つまたは複数の補間された２分の１ピクセル値に基づいて生成できる４分の１ピクセル値は、２分の１ピクセル値の丸めなしバージョンに依存することができる。これによって、２分の１ピクセル値から４分の１ピクセル値への丸め誤差の伝播を排除することができる。場合によっては、１６ビットデータ構造を使用して、任意の中間値を保存できることを保証するために、僅少な丸めを２分の１ピクセル値のいくつかに適用することができる。場合によっては、丸めを適切に実行することによって、最終的な精度に対する僅少な丸めの影響をゼロにすることができる。いずれの場合も、中間丸めの排除または削減は、本明細書で説明されるように、複数の事前定義された補間フィルタの実施とともに、または別に行うことができる。
【００３６】
図１は、本開示の技術を実施できる１つの例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示されるように、システム１０は、符号化ビデオを通信チャネル１５を介して送信先デバイス１６に送信する送信元デバイス１２を含む。送信元デバイス１２および送信先デバイス１６は、多種多様なデバイスのいずれかを備えることができる。場合によっては、送信元デバイス１２および送信先デバイス１６は、通信チャネル１５を介してビデオ情報を伝達できる、無線ハンドセット、いわゆるセルラもしくは衛星無線電話、または任意の無線デバイスなどの、無線通信デバイスを備え、どの場合も、通信チャネル１５は無線である。しかし、動き補償補間に関する本開示の技術は、必ずしも無線適用例または環境に限定されない。
【００３７】
図１の例では、送信元デバイス１２は、ビデオソース２０と、ビデオ符号器２２と、変調器／復調器（モデム）２３と、送信機２４とを含むことができる。送信先デバイス１６は、受信機２６と、モデム２７と、ビデオ復号器２８と、表示デバイス３０とを含むことができる。本開示によれば、送信元デバイス１２のビデオ符号器２２は、ビデオ符号化プロセスの一部として、本開示の１つまたは複数の補間技術を適用するように構成することができる。同様に、送信先デバイス１６のビデオ復号器２８は、ビデオ復号プロセスの一部として、本開示の１つまたは複数の補間技術を適用するように構成することができる。
【００３８】
図１の図示されたシステム１０は、例示的なものにすぎない。本開示の補間技術は、サブピクセル解像度に対して動き補償補間をサポートする任意の符号化デバイスによって実行することができる。送信元デバイス１２および送信先デバイス１６は、そのような符号化デバイスの単なる例にすぎない。この場合、送信元デバイス１２は、送信先デバイス１６に送信するための符号化ビデオデータを生成する。デバイス１２、１６は、デバイス１２、１６の各々が、例えば組み合わせ符号器−復号器（ＣＯＤＥＣ）内にビデオ符号化コンポーネントとビデオ復号コンポーネントを含むような、実質的に対称的な方法で動作することができる。したがって、システム１０は、例えば、ビデオストリーミング、ビデオ再生、ビデオ放送、またはビデオ電話のための、ビデオデバイス１２、１６の間の単方向または双方向伝送をサポートすることができる。
【００３９】
送信元デバイス１２のビデオソース２０は、ビデオカメラ、以前キャプチャされたビデオを含むビデオアーカイブ、またはビデオコンテンツプロバイダからのビデオフィードなどの、ビデオキャプチャデバイスを含むことができる。さらなる代替として、ビデオソース２０は、ソースビデオとしてコンピュータグラフィックスベースのデータを生成することができ、またはライブビデオ、アーカイブビデオ、およびコンピュータ生成ビデオの組み合わせを生成することができる。場合によっては、ビデオソース２０がビデオカメラである場合、送信元デバイス１２および送信先デバイス１６は、いわゆるカメラ電話またはビデオ電話を形成することができる。どの場合も、キャプチャ、事前キャプチャ、またはコンピュータ生成されたビデオは、ビデオ符号器２２によって符号化することができる。その後、符号化ビデオ情報は、モデム２３によって、例えば符号分割多元接続（ＣＤＭＡ）または別の通信規格などの、通信規格に従って変調することができ、送信機２４を介して送信先デバイス１６に送信することができる。モデム２３は、様々な混合器、フィルタ、増幅器、または信号変調用に設計された他のコンポーネントを含むことができる。無線適用例の場合、送信機２４は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含むことができる。
【００４０】
送信先デバイス１６の受信機２６は、チャネル１５を介して情報を受信し、モデム２７は、その情報を復調する。やはり、ビデオ符号化プロセスは、動き補償の最中の補間を改善するために、本明細書で説明される技術の１つまたは複数を実施することができる。ビデオ復号器２８によって実行されるビデオ復号プロセスも、復号プロセスの動き補償ステージの最中に補間を実行することができる。表示デバイス３０は、ユーザに復号ビデオデータを表示し、ブラウン管、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプの表示デバイスなど、様々な表示デバイスのいずれかを備えることができる。
【００４１】
図１の例では、通信チャネル１５は、無線周波数（ＲＦ）スペクトル、または１つもしくは複数の物理通信回線、あるいは無線媒体と有線媒体の任意の組み合わせなど、任意の無線または有線通信媒体を備えることができる。通信チャネル１５は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成することができる。通信チャネル１５は一般に、ビデオデータを送信元デバイス１２から送信先デバイス１６に送信するための、任意の適切な通信媒体、または異なる通信媒体の集まりを表す。
【００４２】
ビデオ符号器２２およびビデオ復号器２８は、代替的にＭＰＥＧ−４パート１０高度ビデオ符号化（ＡＶＣ）とも呼ばれる、ＩＴＵ−Ｔ  Ｈ．２６４規格などの、ビデオ圧縮規格に従って動作することができる。しかし、本開示の技術は、いずれか特定の符号化規格に限定されない。図１には示されていないが、いくつかの態様では、ビデオ符号器２２およびビデオ復号器２８は各々、オーディオ符号器およびオーディオ復号器と統合することができ、共通のデータストリームまたは別々のデータストリーム内のオーディオとビデオ両方の符号化を処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含むことができる。妥当な場合には、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠することができる。
【００４３】
ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、ＩＴＵ−Ｔのビデオ符号化エキスパートグループ（ＶＣＥＧ（Video Coding Experts Group））とＩＳＯ／ＩＥＣのムービングピクチャエキスパートグループ（ＭＰＥＧ（Moving Picture Experts Group））が一緒になって、ジョイントビデオチーム（ＪＶＴ（Joint Video Team））として知られる共同パートナシップの成果物として策定した。いくつかの態様では、本開示で説明される技術は、一般にＨ．２６４規格に準拠するデバイスに適用することができる。Ｈ．２６４規格は、ＩＴＵ−Ｔのスタディグループによる、２００５年３月日付の、ＩＴＵ−Ｔ勧告Ｈ．２６４、汎用的なオーディオビジュアルサービスのための高度ビデオ符号化において説明されており、同勧告は、本明細書では、Ｈ．２６４規格もしくはＨ．２６４仕様、またはＨ．２６４／ＡＶＣ規格もしくは仕様と呼ばれることがある。ジョイントビデオチーム（ＪＶＴ）は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣを拡張する作業を続けている。
【００４４】
ビデオ符号器２２およびビデオ復号器２８は各々、１つまたは複数のマイクロプロセッサ、ディジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレー（ＦＰＧＡ）、個別論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせとして実施することができる。ビデオ符号器２２およびビデオ復号器２８の各々は、１つまたは複数の符号器または復号器内に含むことができ、そのどちらも、組み合わせＣＯＤＥＣの一部として、個々の移動体デバイス、加入者デバイス、放送デバイス、またはサーバなどに統合することができる。
【００４５】
ビデオシーケンスは一般に、一連のビデオフレームを含む。ビデオ符号器２２は、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して操作を施す。ビデオブロックは、固定サイズまたは可変サイズを有することができ、指定された符号化規格によってサイズが異なることができる。各ビデオフレームは、一連のスライスを含む。各スライスは、一連のマクロブロックを含むことができ、マクロブロックは、サブブロックに配列することができる。一例として、ＩＴＵ−Ｔ  Ｈ．２６４規格は、輝度（luma）成分についての１６×１６、８×８、または４×４、色度（chroma）成分についての８×８など、様々なブロックサイズにおけるイントラ予測（intra prediction）をサポートするばかりでなく、輝度成分についての１６×１６、１６×８、８×１６、８×８、８×４、４×８、または４×４、色度成分についての対応するスケールサイズなど、様々なブロックサイズにおけるインター予測（inter prediction）もサポートする。ビデオブロックは、ピクセルデータのブロック、または例えば、離散コサイン変換もしくは概念的に類似の変換プロセスなどの変換プロセスに従った、変換係数のブロックを備えることができる。
【００４６】
より小さなビデオブロックは、より良い解像度を提供することができ、高レベルの詳細を含むビデオフレームのロケーションに対して使用することができる。一般に、マクロブロック（ＭＢ）および様々なサブブロックは、ビデオブロックであると見なすことができる。加えて、スライスは、ＭＢおよび／またはサブブロックなどの一連のビデオブロックであると見なすことができる。各スライスは、ビデオフレームの独立に復号可能な単位とすることができる。ビデオ符号器２２およびビデオ復号器２８は、インターベースの予測符号化を実行し、インターベースの予測符号化は、予測参照データの生成と、残差データを生成するための、予測参照データからの符号化されるビデオブロックの減算とを含み、残差データには後で、変換、量子化、およびエントロピー符号化を施すことができる。インターベースの予測符号化は、本開示による予測データの補間を含むことができる。
【００４７】
（本開示の補間技術を含む）インターベースの予測符号化と、（Ｈ．２６４／ＡＶＣにおいて使用される４×４もしくは８×８整数変換、または離散コサイン変換ＤＣＴなどの）任意の変換に続いて、量子化を実行することができる。量子化は一般に、係数を表すのに使用されるデータの量をおそらくは削減するために、係数を量子化するプロセスのことを指す。量子化プロセスは、係数の一部または全部に関連するビット深さを減少させることができる。例えば、１６ビット値は、量子化の間に１５ビット値に丸めることができる。量子化に続いて、例えば、コンテンツ適応可変長符号化（ＣＡＶＬＣ）、コンテキスト適応バイナリ算術符号化（ＣＡＢＡＣ）、または別のエントロピー符号化方法による、エントロピー符号化を実行することができる。
【００４８】
本開示の技術によれば、ビデオ符号器２２は、複数の異なる補間予測データを生成するために、複数の事前定義された補間フィルタを適用することができる。最高レベルの圧縮を達成する補間予測データを、ビデオ符号器２２によって選択することができ、選択された補間予測データのために使用された補間フィルタは、シンタックスとして符号化し、符号化ビデオデータの一部として送信先デバイス１６に伝達することができる。この場合、ビデオ復号器２８は、符号化ビデオデータを受け取り、ビデオ符号器２２によって使用された補間フィルタを識別するために、シンタックスを解釈することができる。したがって、ビデオ復号器２８は、その動き補償復号プロセスの最中に、符号化プロセスの最中に使用されたのと同じ補間フィルタを識別し、使用することができる。事前定義された異なる補間フィルタは、異なる組のフィルタ係数（フィルタタップ）を有する類似のフィルタを備えることができる。代替的に、事前定義された異なる補間フィルタは、異なる数のフィルタタップ、またはおそらくは全く異なるタイプのフィルタ構成を有するフィルタを備えることもできる。
【００４９】
また、本開示の別の態様によれば、ビデオ符号器２２およびビデオ復号器２８は、４分の１ピクセル補間のための２分の１ピクセル値の中間丸めを排除または著しく削減する補間技術を適用することができる。この場合、ビデオ符号器２２およびビデオ復号器２８は、２分の１ピクセル補間の目的で、補間された２分の１ピクセル値を丸めることができる。しかし、４分の１ピクセル補間の場合、ビデオ符号器２２およびビデオ復号器２８は、２分の１ピクセル値から４分の１ピクセル値への丸め誤差の伝播を低減または排除するために、２分の１ピクセル値の丸めなしバージョンを保存し、使用することができる。場合によっては、固定サイズの記憶要素（例えば１６ビットレジスタ）を使用して、任意の中間値を保存できることを保証するために、僅少な丸めを、２つのレベルの補間を必要とする１つの特定の２分の１ピクセル値に適用することができる。場合によっては、本明細書で説明されるように、丸めを適切に実行することによって、最終的な精度に対する僅少な丸めの影響をゼロにすることができる。
【００５０】
図２は、本開示に従った動き補償補間を実行できるビデオ符号器５０の一例を示すブロック図である。ビデオ符号器５０は、デバイス２０のビデオ符号器２２または異なるデバイスのビデオ符号器に対応することができる。ビデオ符号器５０は、ビデオフレーム内のブロックのイントラ符号化およびインター符号化を実行することができるが、イントラ符号化は図示されていない。イントラ符号化は、与えられたビデオフレーム内のビデオの空間冗長性を低減または排除するために、空間的予測に依存する。インター符号化は、ビデオシーケンスの隣接フレーム内のビデオの時間冗長性を低減または排除するために、時間的予測に依存する。イントラモード（Ｉモード（登録商標））は、空間ベースの圧縮モードを指すことができ、予測（Ｐモード）または双方向（Ｂモード）などのインターモードは、時間ベースの圧縮モードを指すことができる。本開示の技術は一般に、インター符号化の最中に適用することができ、したがって、空間的予測ユニットなどのイントラ符号化ユニットは、説明を簡潔で分かりやすくするために、図２には図示されていない。しかし、本開示の丸め技術は、空間的予測およびイントラ符号化技術にも適用可能なことがある。
【００５１】
図２に示されるように、ビデオ符号器５０は、符号化されるビデオフレーム内の現在のビデオブロックを受け取る。図２の例では、ビデオ符号器５０は、動き推定ユニット３２と、動き補償ユニット３５と、参照フレームストア３４と、加算器４８と、変換ユニット３８と、量子化ユニット４０と、エントロピー符号化ユニット４６とを含む。ビデオブロック再構成の場合、ビデオ符号器５０は、逆量子化ユニット４２と、逆変換ユニット４４と、加算器５１も含む。ブロック境界をフィルタリングして、再構成ビデオから濃淡むらアーチファクト（blockiness artifact）を除去するために、デブロッキングフィルタ（図示されず）を含むこともできる。望ましい場合、デブロッキングフィルタは一般に、加算器５１のアウトプットをフィルタリングする。
【００５２】
符号化プロセスの最中、ビデオ符号器５０は、符号化されるビデオブロックを受け取り、動き推定ユニット３２および動き補償ユニット３５は、インター予測符号化を実行する。動き推定ユニット３２および動き補償ユニット３５は、高度に統合することができるが、概念的な目的で別々に示されている。動き推定は一般に、ビデオブロックの動きを推定する動きベクトルを生成するプロセスと見なされる。動きベクトルは、例えば、現在のフレーム（または他の符号化単位）内の符号化される現在のブロックに対する、予測フレーム（または他の符号化単位）内の予測ブロックの変位を表すことができる。動き補償は一般に、動き推定によって決定された動きベクトルに基づいて、予測ブロックをフェッチまたは生成するプロセスと見なされる。やはり、動き推定ユニット３２および動き補償ユニット３５は、機能的に統合することができる。本開示で説明される補間技術は、動き補償ユニット３５によって実行されるものとして説明される。しかし、補間は、最良の動きベクトルの選択を容易にするために、動き推定の最中に実行することもできる。
【００５３】
本開示によれば、動き推定３２は、ビデオブロックを予測符号化単位（例えば以前のフレーム）のビデオブロックと比較することによって、符号化されるビデオブロックにとって適切な動きベクトルを選択する。この時点で、動き補償ユニット３５は、サブピクセル解像度で予測データを生成するために、補間を実行することができる。場合によっては、動き推定の最中には、補間は、固定的な補間フィルタに基づくことができる。他の場合には、（以下で概説されるような）動き補償の最中に適用される異なる補間フィルタを、動きベクトル選択の目的で、動き推定プロセスの最中に使用することもできる。
【００５４】
動き推定ユニット３２が、符号化されるビデオブロックのための動きベクトルを選択すると、動き補償ユニット３５は、その動きベクトルに関連する予測ビデオブロックを生成する。しかし、本開示によれば、動き補償ユニット３５は、サブピクセル解像度を有する任意の予測ビデオブロックのいくつかのバージョンを検討することができる。この場合、動き補償ユニット３５は、符号化されるビデオブロックのための複数の異なる補間予測データを生成するために、複数の事前定義された補間フィルタを適用することができる。その後、動き補償ユニット３５は、最高レベルの圧縮を達成する補間予測データ（例えば、補間フィルタの１つに関連する補間ビデオブロック）を選択する。補間データを生成するのに使用された補間フィルタは、補間シンタックスとして符号化することができ、符号化ビットストリームに含めて、エントロピー符号化ユニット４６に伝達することができる。動き補償ユニット３５が、最良の補間フィルタを選択し、適用すると、動き補償ユニット３５は、その補間フィルタを使用して、予測データを生成し、ビデオ符号器は、残差データを生成するために、加算器４８を利用して、その予測データを符号化されるビデオブロックから減算する。
【００５５】
また、本開示の別の態様によれば、ビデオ符号器２２およびビデオ復号器２８は、４分の１ピクセル補間のための２分の１ピクセル値の中間丸めを排除または著しく低減する補間技術を適用することができる。この場合、ビデオ符号器２２およびビデオ復号器２８は、２分の１ピクセル補間の目的で、補間された２分の１ピクセル値を丸めることができる。しかし、４分の１ピクセル補間の場合、ビデオ符号器２２およびビデオ復号器２８は、２分の１ピクセル値から４分の１ピクセル値への丸め誤差の伝播を低減または排除するために、２分の１ピクセル値の丸めなしバージョンを保存し、使用することができる。場合によっては、固定サイズの記憶要素（例えば１６ビットレジスタ）を使用して、任意の中間値を保存できることを保証するために、僅少な丸めを、２つのレベルの補間を必要とする１つの特定の２分の１ピクセル値に適用することができる。
【００５６】
述べられたように、動き補償ユニット３５が、予測データ（例えば補間予測ビデオブロック）を生成すると、ビデオ符号器５０は、符号化される元のビデオブロックから予測データを減算することによって、残差ビデオブロックを形成する。加算器４８は、この減算演算を実行する１つまたは複数のコンポーネントを表す。変換ユニット３８は、離散コサイン変換（ＤＣＴ）または概念的に類似の変換などの変換を残差ブロックに適用して、残差変換ブロック係数を備えるビデオブロックを生成する。変換ユニット３８は、例えば、概念的にＤＣＴに類似したＨ．２６４規格によって定義された変換など、他の変換を実行することもできる。ウェーブレット変換、整数変換、サブバンド変換（sub-band transform）、または他のタイプの変換も使用することができる。いずれの場合も、変換ユニット３８は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル領域から周波数領域に変換することができる。
【００５７】
量子化ユニット４０は、ビットレートをさらに低減するために、残差変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深さを減少させることができる。例えば、１６ビット値は、量子化の間に１５ビット値に丸めることができる。量子化に続いて、エントロピー符号化ユニット４６は、量子化された変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット４６は、コンテンツ適応可変長符号化（ＣＡＶＬＣ）、コンテキスト適応バイナリ算術符号化（ＣＡＢＡＣ）、または別のエントロピー符号化方法を実行することができる。エントロピー符号化ユニット４６によるエントロピー符号化に続いて、符号化されたビデオは、別のデバイスに送信することができ、または後で送信もしくは取り出すためにアーカイブすることができる。符号化されたビットストリームは、エントロピー符号化残差ブロックと、そのようなブロックの動きベクトルと、動き補償ユニット３５によって適用された補間フィルタを識別する補間シンタックスを含む他のシンタックスとを含むことができる。
【００５８】
逆量子化ユニット４２および逆変換ユニット４４は、例えば参照ブロックとして後で使用するための、ピクセル領域における残差ブロックを再構成するために、それぞれ逆量子化および逆変換を適用する。加算器５１は、再構成残差ブロックを動き補償ユニット３５によって生成された動き補償予測ブロックに加算して、参照フレームストア３４内に保存される再構成ビデオブロックを生成する。再構成ビデオブロックは、後続のビデオフレーム内のブロックをインター符号化するために、動き推定ユニット３２および動き補償ユニット３５によって参照ブロックとして使用することができる。
【００５９】
図３は、本明細書で説明される方法で符号化されたビデオシーケンスを復号する、ビデオ復号器６０の一例を示すブロック図である。ビデオ復号器６０は、復号のために本開示の補間技術を実行する動き補償ユニット５５を含む。特に復号側では、動き補償ユニット５５は、複数の異なる事前定義された補間フィルタから補間フィルタを識別するシンタックス要素を、エントロピー復号ユニット５２から受け取ることができる。動き補償ユニット５５は、予測データを生成することができ、予測データの生成は、シンタックス要素によって識別された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間することを含む。具体的には、動き補償ユニット５５は、エントロピー復号ユニット５２から受け取った動きベクトルと、（図３では補間シンタックスと呼ばれる）シンタックス要素によって定義された補間とに基づいて、予測データを生成することができる。この補間予測データに基づいて、ビデオデータ（例えば再構成残差ビデオブロック）を復号することができる。
【００６０】
エントロピー復号ユニット５２は、受け取ったビットストリームをエントロピー復号して、量子化された係数ならびにシンタックス（例えば、動き補償ユニット５５に送られる補間シンタックスおよび動きベクトル）を生成する。逆量子化ユニット５６は、量子化されたブロック係数を逆量子化、すなわち脱量子化（de-quantize）する。逆量子化プロセスは、Ｈ．２６４復号によって定義されるような従来のプロセスとすることができる。逆変換ユニット５８は、ピクセル領域における残差ブロックを生成するために、例えば逆ＤＣＴまたは概念的に類似の逆変換プロセスなどの逆変換を変換係数に適用する。動き補償ユニット５５は、例えば、シンタックス要素（すなわち補間シンタックス）によって識別される補間フィルタ係数の組に基づいた補間を含む、本明細書で説明される方法で、動き補償ブロックを生成する。
【００６１】
加算器６４は、残差ブロックを動き補償ユニット５５によって生成された対応する予測ブロックと加算することによって、残差ブロックを復号して、復号ブロックを形成する。望ましい場合、濃淡むらアーチファクトを除去するために、デブロッキングフィルタを適用して、復号ブロックをフィルタリングすることもできる。その後、復号ビデオブロックは、参照フレームストア６２内に保存され、参照フレームストアは、以降の動き補償に参照ブロックを提供し、（図１のデバイス３０などの）駆動表示デバイスへの復号ビデオも生成する記憶要素である。
【００６２】
やはり、本開示の技術は、予測ビデオブロックのピクセル値がサブピクセル解像度にまで補間される動き補償補間に関する。符号器は、複数の事前定義された補間フィルタから望ましい補間フィルタを識別するために、本開示の技術を使用する。異なるフィルタは、異なる組のフィルタ係数、異なる数のフィルタ係数、または異なるフィルタタイプによって特徴付けることができる。復号器は、符号器によって使用されたのと同じ補間フィルタ係数の望ましい組を識別するために、符号器から送られたシンタックス要素を解釈する。
【００６３】
図４Ａ〜図４Ｄは、予測ビデオブロックのピクセルを備えることができる整数ピクセルと補間ピクセルを示す概念図である。図４の概念的な図では、異なるボックスがピクセルを表す。（実線のボックス内の）大文字は、整数ピクセルロケーションを表し、（破線のボックス内の）小文字は、補間ピクセルロケーションを表す。本明細書では、文字ラベルは、ピクセルロケーションもしくはピクセル位置を表すために使用することができ、または様々なロケーションに関連するピクセル値を指すこともできる。ピクセルロケーション「ａａ」、「ｂｂ」、「ｃｃ」、「ｄｄ」、「ｅｅ」、「ｆｆ」、「ｇｇ」、「ｈｈ」、「ｉｉ」、「ｊｊ」は、ピクセルロケーション「Ｃ３」に関連する様々な分数ロケーションのうち、分数補間において使用される２分の１ピクセルロケーションである。
【００６４】
あらゆるピクセルロケーションは、例えば、ＩＴＵ  Ｈ．２６４／ＡＶＣ規格に準拠する補間によれば、関連する１５個の異なる分数ロケーションを有することができる。図４Ａ〜図４Ｄの例では、ピクセル「Ｃ３」に関連するこれらの１５個の異なる分数ロケーションが示されている。説明を簡潔で分かりやすくするために、（ピクセル「Ｃ３」に関連する１５個の異なる分数ロケーションの１つまたは複数を生成するのに使用される上で言及されたもの以外の）他の分数ロケーションの大部分は示されていない。
【００６５】
ＩＴＵ  Ｈ．２６４／ＡＶＣ規格では、２分の１ピクセル位置における輝度信号を獲得するために、係数［１，−５，２０，２０，−５，１］を有する６タップのウィーナフィルタ（Wiener filter）が一般に使用される。その後、４分の１ピクセルロケーションにおける輝度信号を獲得するために、双線形フィルタ（bilinear filter）が使用される。双線形フィルタは、Ｈ．２６４／ＡＶＣでは最大１／８ピクセル精度を有することができる、色度成分のための分数ピクセル補間においても使用することができる。
【００６６】
図４Ｂには、ピクセルロケーション「ｂ」および「ｈ」の２分の１ピクセル補間が、水平方向および垂直方向のそれぞれにおいて示されている。この場合、ピクセルロケーション「ｂ」は、整数ピクセル「Ｃ１」、「Ｃ２」、「Ｃ３」、「Ｃ４」、「Ｃ５」、「Ｃ６」に基づいて、補間することができる。同様に、ピクセルロケーション「ｈ」は、整数ピクセル「Ａ３」、「Ｂ３」、「Ｃ３」、「Ｄ３」、「Ｅ３」、「Ｆ３」に基づいて、補間することができる。本明細書で説明されるように、ピクセルロケーション「ｂ」および「ｈ」の異なる補間値を生成するために、異なる補間フィルタ（例えば異なる組のフィルタタップ）を適用することができる。図４Ｂでは、補間ピクセルロケーション「ｂ」および「ｈ」は、網掛けで示され、整数ピクセルロケーション「Ｃ１」、「Ｃ２」、「Ｃ３」、「Ｃ４」、「Ｃ５」、「Ｃ６」、「Ａ３」、「Ｂ３」、「Ｃ３」、「Ｄ３」、「Ｅ３」、「Ｆ３」は、平行斜線で示されている。
【００６７】
図４Ｃは、２つのレベルの補間を必要とすることがある１つの特殊な場合を示している。具体的には、ピクセルロケーション「ｊ」は、ピクセルロケーション「ｊ」自体が他の２分の１ピクセル値に基づいて補間される限りにおいて、他の２分の１ピクセルロケーションとは異なる。例えば、ピクセルロケーション「ｊ」は、水平方向において、２分の１ピクセル補間値「ｃｃ」、「ｄｄ」、「ｈ」、「ｅｅ」、「ｆｆ」、「ｇｇ」に基づいて補間することができる。代替的に、ピクセルロケーション「ｊ」は、垂直方向において、２分の１ピクセル補間値「ａａ」、「ｂｂ」、「ｂ」、「ｈｈ」、「ｉｉ」、「ｊｊ」に基づいて補間することができる。図４Ｃでは、補間ピクセルロケーション「ｊ」は、網掛けで示され、垂直方向における２分の１ピクセル補間値「ａａ」、「ｂｂ」、「ｂ」、「ｈｈ」、「ｉｉ」、「ｊｊ」は、右上がりの平行斜線で示され、２分の１ピクセル補間値「ｃｃ」、「ｄｄ」、「ｈ」、「ｅｅ」、「ｆｆ」、「ｇｇ」は、右下がりの平行斜線で示されている。
【００６８】
図４Ｄは、４分の１ピクセルロケーション「ａ」、「ｃ」、「ｄ」、「ｅ」、「ｆ」、「ｇ」、「ｉ」、「ｋ」、「ｌ」、「ｍ」、「ｎ」、「ｏ」を網掛けで示し、そのような４分の１ピクセル補間のために使用される整数ロケーションおよび２分の１ピクセルロケーション（例えば、「Ｃ３」、「ｂ」、「Ｃ４」、「ｈ」、「ｊ」、「ｅｅ」、「Ｄ３」、「ｈｈ」、「Ｄ４」）を平行斜線で示している。
【００６９】
動き推定の後、与えられたビデオブロックにとって最良の動きベクトルを、例えばおそらくは符号化レートと品質とのバランスをとるためのレートひずみモデル（rate-distortion model）を使用して、識別することができる。その後、予測ビデオブロックが、動き補償の最中に、最良の動きベクトルを使用して形成される。上で概説されたように、元のビデオブロックから予測ビデオブロックを減算することによって、残差ビデオブロックが形成される。その後、残差ブロックに変換が適用され、ビットレートをさらに低減するために、変換係数が量子化およびエントロピー符号化される。
【００７０】
図４Ａ〜図４Ｄを再び参照すると、これらの図は、（フルピクセルとも呼ばれる）整数ピクセルサンプルを大文字が記された実線ボックスで示している。任意の与えられた整数ピクセルサンプルに対して、全部で１５個のサブピクセル位置が存在し、図４Ａ〜図４Ｄでは、整数ピクセルサンプル「Ｃ３」について、「ａ」から「ｏ」のラベルを有するサブピクセルが示されている。Ｈ．２６４／ＡＶＣでは、１次元６タップウィーナフィルタを使用して、２分の１ピクセル位置「ｂ」、「ｈ」、「ｊ」を最初に計算することができる。述べられたように、２分の１ピクセル位置「ｊ」は、６タップフィルタリングを使用する２つのレベルのこの補間を必要とすることがある。この場合、ピクセル位置「ｊ」に対して、最初は水平方向に、次に垂直方向に補間フィルタが適用され、データが１６ビット記憶要素内に保存できることを保証するために、おそらく１次元の補間の後には補間ピクセル値の中間丸めが行われる。その後、双線形フィルタと、すでに計算された２分の１ピクセルサンプルとを使用するフィルタリングを介して、残りの４分の１ピクセル位置が補間される。
【００７１】
ＩＴＵ−Ｔ  ＳＧ１６／Ｑ．６／ＶＣＥＧ（ビデオ符号化エキスパートグループ）委員会は、Ｈ．２６４／ＡＶＣよりも高い符号化効率を提供する符号化技術を探求している。そのような探求は、ＫＴＡ（重要技術領域（Key Technology Areas））フォーラムにおいて行われている。ＫＴＡに採用された符号化ツールの１つは、適応補間フィルタ（ＡＩＦ）と呼ばれる。ＡＩＦは、Ｈ．２６４／ＡＶＣにおいて、特に高解像度（例えば７２０ｐ）のビデオシーケンスにおいて、大きな符号化利得を提供する。ＡＩＦでは、各サブピクセル位置のための補間フィルタは、予測誤差エネルギーを最小化することによって、各ビデオフレームについて解析的に計算される。その後、各フレームについて解析的に導出されるフィルタ係数が、予測され、量子化され、符号化され、ビデオビットストリームで送信される。
【００７２】
本開示の技術は、ＡＩＦによって達成されるものに匹敵する符号化改善を達成することができるが、ＡＩＦに比べて実施の複雑さを低減する。説明される技術は、各ビデオフレームのためのフィルタ係数を導出するために、解析的プロセスを必要としなくてよい。代わりに、一例では、フィルタ係数の異なる組が、リアルタイム用途のために、事前計算および事前定義される。この場合、フィルタ係数の事前定義は、テストシーケンスに適用されたＡＩＦ、または他の選択基準に基づくことができる。
【００７３】
３つの異なるタイプのＡＩＦ方式が、ＫＴＡに採用されている。第１のタイプは、２次元分離不能ＡＩＦ（ＮＳ−ＡＩＦ（non-separable AIF））であり、第２のタイプは、分離可能ＡＩＦ（Ｓ−ＡＩＦ（separable AIF））であり、第３のタイプは、方向性フィルタを備えるＡＩＦ（ＤＡＩＦ（AIF with directional filters））である。しかし、３つのＡＩＦ方式はすべて、フィルタ係数を導出するのに同じ解析的プロセスを使用し、そのプロセスは、以下では一例として、分離不能ＡＩＦを使用して説明される。
【００７４】
６×６の２次元分離不能フィルタが、係数
【数１】
0005654087.tif 000002
【００７５】
を有し、ｉ、ｊ＝０．．．５、ＳＰは図４Ａ〜図４Ｄに示される１５個のサブピクセル位置（ａからｏ）のうちの１つを表すと仮定する。１５個のサブピクセル位置のうちの６個「ａ」、「ｂ」、「ｃ」、「ｄ」、「ｈ」、「ｌ」は、６タップフィルタを使用して補間できる、１次元サブピクセル位置であることに留意されたい。また、参照フレームの整数ピクセル位置（図４Ａ〜図４ＤにおけるＡ１からＦ６）における予測ピクセルが、ピクセル値Ｐｉ，ｊをとり、ｉ、ｊ＝０．．．５であると仮定する。すなわち、Ａ１は値Ｐ０，０をとり、．．．、Ａ６は値Ｐ５，０をとり、．．．、Ｆ１は値Ｐ５，０をとり、．．．、Ｆ６は値Ｐ５，５をとる。その後、サブピクセル位置ＳＰ、ＳＰ∈｛ａ，．．．，ｏ｝における補間値ｐＳＰを、以下の式を使用して計算することができる。
【数２】
0005654087.tif 000003
【００７６】
Ｓｘ，ｙを、現在のビデオフレームの位置（ｘ，ｙ）におけるピクセル値であるとする。
【数３】
0005654087.tif 000004
【００７７】
とし、ここで、（ｍｖｘ，ｍｖｙ）は動きベクトルであり、
【数４】
0005654087.tif 000005
【００７８】
は動きベクトルの整数成分であり、ＦＯはフィルタオフセットである。例えば、６タップフィルタの場合、ＦＯ＝６／２−１＝２である。各サブピクセル位置ＳＰについて、現在のフレームにおける実際のピクセル値と補間値の間の予測誤差エネルギー
【数５】
0005654087.tif 000006
【００７９】
は、サブピクセル位置ＳＰに対応する動きベクトル精度を有するすべてのピクセルについて累積することができる。予測誤差エネルギー
【数６】
0005654087.tif 000007
【００８０】
は、以下の式を使用して計算される。
【数７】
0005654087.tif 000008
【００８１】
サブピクセル位置「ａ」．．．「ｏ」の各々について、フィルタ係数
【数８】
0005654087.tif 000009
【００８２】
に関して
【数９】
0005654087.tif 000010
【００８３】
の微分を計算することによって、式の個々の組を設定することができる。この場合、式の数は、現在のサブペル位置ＳＰのために使用されるフィルタ係数の数に等しい。６×６タップ２次元フィルタを使用する各２次元サブピクセル位置「ｅ」、「ｆ」、「ｇ」、「ｉ」、「ｊ」、「ｋ」、「ｍ」、「ｎ」、「ｏ」については、３６個の未知数を有する３６個の式からなる連立式を解くことができる。１次元フィルタを必要とするだけの残りのサブピクセル位置「ａ」、「ｂ」、「ｃ」、「ｄ」、「ｈ」、「ｌ」については、６個の式からなる連立式を解くことができる。
【数１０】
0005654087.tif 000011
【００８４】
要約すると、ＡＩＦフィルタを導出し、適用するプロセス例は、以下のステップを含むことができる。
【００８５】
１．動きベクトル（ｍｖｘ，ｍｖｙ）は、符号化されるあらゆるビデオフレームについて推定することができる。動き推定の最中には、固定的な補間フィルタ（例えばＨ．２６４／ＡＶＣの補間プロセス）を適用することができる。
【００８６】
２．これらの動きベクトルを使用して、各サブピクセル位置ＳＰの予測誤差エネルギーを、現在のビデオフレームにわたって累積することができる。その後、上記の２つの予測エネルギー式におけるように、予測誤差エネルギーを最小化することによって、各サブピクセル位置ＳＰについて独立に、適応フィルタ係数
【数１１】
0005654087.tif 000012
【００８７】
を計算することができる。
【００８８】
３．その後、新しい動きベクトルを推定することができる。この動き推定プロセスの最中に、ステップ２において計算された適応補間フィルタを適用することができる。適応補間フィルタを使用することで、エイリアシング（aliasing）、カメラノイズなどによって生じる動き推定誤差が低減され、より良い動き予測を達成することができる。
【００８９】
３つの既存のＡＩＦ方式はすべて、上で与えられたような同じ解析的プロセスを使用する。これらの方式の間の相違は、補間フィルタが分離可能かどうか、およびどのフィルタサポート（すなわち補間するために使用される整数ピクセル位置）が使用されるかに関わらず、使用される一意的なフィルタ係数の数に大部分は存する。これらの方式の各々において、ビデオビットストリームで送信される必要があるフィルタ係数の数を削減するために、ある対称性制約がＡＩＦフィルタに課される。
【００９０】
上で言及されたように、Ｈ．２６４／ＡＶＣでは、補間は中間丸め演算を用いて実行される。従来は、２分の１ピクセル位置（「ｂ」、「ｈ」、「ｊ」）は、４分の１ピクセル位置を獲得するために使用される前に、フィルタリングされ、丸められていた。さらに、４分の１ピクセル値を獲得するために使用される双線形フィルタリングの最中に、上方丸め（upward rounding）が使用されることがある（すなわち、従来の双線形フィルタにおいて、（ａ＋ｂ＋１）＞＞１が使用されることがある）。そのような頻繁で偏向した丸め演算は、補間フィルタの精度を低下させることがある。特に、Ｈ．２６４／ＡＶＣにおいて使用される６タップウィーナフィルタおよび双線形フィルタから直接導出されるより高精度な補間フィルタが、Ｈ．２６４／ＡＶＣにおいて、特に７２０ｐシーケンスなどの高精細度ビデオシーケンスについて、著しい利得を提供することを、シミュレーションが示した。ＡＩＦ方式（ＮＳ−ＡＩＦ、Ｓ−ＡＩＦ、ＤＡＩＦ）によって達成される利得のかなりの部分は、これらのＡＩＦ方式がＨ．２６４／ＡＶＣよりも高精度のフィルタを使用するという事実からもたらされ得る。
【００９１】
本開示によれば、相対的に簡単なオフセットを有する切替補間フィルタ（ＳＩＦＯ（switched interpolation filter with offset））を使用することができる。符号器側において非常にコストのかかるプロセスになる、各フレームのフィルタ係数の適応的な導出の代わりに、ＳＩＦＯ方式は、例えば、複数の異なる事前定義された組の補間フィルタ係数によってそれぞれが定義され得る、複数の固定的なフィルタの間で選択を行う。補間フィルタの選択は、フレームレベルまたはサブピクセル位置レベルにおいて行うことができ、それぞれフレームベース選択またはサンプルベース選択と呼ばれることがある。望ましい場合は、予測の後で、ＤＣオフセットを追加することもでき、ＤＣオフセットをフレームベースまたはサンプルベースで追加することもできる。したがって、１つまたは複数のＤＣオフセットを、各フレームに対して定義することができ、異なるＤＣオフセット（またはＤＣオフセットの組）を、フレームの異なるビデオブロックに対して定義することができる。異なるＤＣオフセットを、各ピクセルおよびサブピクセル補間位置に対して定義することができる。フレームは、符号化単位の一例であり、「フレームベース選択」という語句は、より広義には、符号化単位ベース選択のことを指す。場合によっては、例えば、フレームのスライスまたは部分を、個々の符号化単位として別々に符号化することができる。
【００９２】
固定的なフィルタの異なる組は、それぞれ図２および図３の動き補償ユニット３５、５５によって使用することができる。その例は、標準Ｈ．２６４フィルタセット、Ｈ．２６４／ＡＶＣに基づくがより高い精度をもつ（２分の１ピクセル位置のための中間丸め、および４分の１ピクセル位置のための偏向的な丸めを伴わない）フィルタセット、またはカスタマイズされた補間フィルタの１つもしくは複数の組を含む。カスタマイズされた補間フィルタの１つもしくは複数の組は、１組のトレーニングビデオシーケンスを使用することによって獲得することができる。予測誤差エネルギーを最小化する適応フィルタは、ＡＩＦ方式において使用される解析的プロセスをトレーニングビデオシーケンスに適用することによって導出することができる。その後、各サブピクセル位置のための平均フィルタを計算し、本明細書で説明されたように、動き補償ユニット３５、５５によって適用されるカスタマイズされた補間フィルタとして使用することができる。
【００９３】
特定のサブピクセル位置のための平均フィルタは、すべてのフィルタ係数の合計が最大で１．０になるように正規化することもできる。平均フィルタは、ある固定小数点精度（例えば１３ビット精度）に量子化することもできる。フィルタ係数における固定小数点精度の使用は、異なるプラットフォームにわたる実施がドリフトを起こさないことを保証する。さらに、真の固定小数点実施は、そのような事前定義されたフィルタ係数から導出することができる。どのカスタマイズされたフィルタも、異なる特性を有することができる。具体的には、異なるフィルタは、分離不能フィルタまたは分離可能フィルタとすることができ、異なるフィルタは、異なるフィルタサポート（例えば、６×６または４×４）を定義することができる。
【００９４】
いずれの場合も、任意の与えられた事例における最良の予測（例えば最小の予測誤差エネルギー）を提供するフィルタセットは、符号化プロセスの最中に、動き補償ユニット３５によって選択することができる。やはり、フィルタセット選択は、フレームベースまたはサンプルベースとすることができ、すなわち、フィルタは、各フレーム（もしくは他の符号化単位）について選択することができ、または各フレームの異なるビデオブロックについて選択することができる。多数の参照フレームが使用される場合、異なる参照フレームに対して異なるフィルタセットを選択することができる。さらに、いくつかの参照フレームは、フレームベースのフィルタ選択を有することができるが、他の参照フレームは、サンプルベースのフィルタ選択を有することができる。フレームベースのフィルタ選択が使用される場合、およびカスタマイズされたフィルタセットが選択される場合、標準フィルタは、依然として２分の１ピクセル位置（例えば、位置「ｂ」、「ｈ」、「ｊ」）に適用することができるが、カスタマイズされたフィルタセットは、他のサブピクセル位置に適用することができる。
【００９５】
補間の最中に、オフセットも加算することができる。予測値へのＤＣオフセットの加算は、異なるビデオフレーム間での、閃光や暗くなる空など、照度変化をキャプチャする助けとなることがある。本開示の方式では、ＤＣオフセットは、フレームレベル（フレーム内のすべてのピクセルが同じＤＣオフセットを使用する）、またはサンプル位置レベル（異なるピクセルロケーションは異なるＤＣオフセットを有する）において適用することができる。サンプルベースのＤＣオフセットが使用される場合、整数ピクセルロケーションおよび１５個の可能な非整数ピクセルロケーションが各々、異なるオフセットを定義できるように、１６個のＤＣオフセットの合計をビデオビットストリームで送信する必要があることがある。サンプルベースのＤＣオフセットの適用は、簡単だが有効な動き区分化ツールとして役立つことがあるので、有益なことがある。例えば、静止背景として暗くなる空と、前景として運動する物体を含むビデオフレームを取り上げる。この場合、背景および前景は、異なる度合いの照度変化を有することがあり、サンプルベースのＤＣオフセットの使用が、前景および背景における異なる度合いの照度変化をキャプチャする助けとなることがある。
【００９６】
多数の参照フレームが使用される場合、異なる参照フレームのために異なるＤＣオフセットを計算し、送ることができる。さらに、いくつかの参照フレームは、フレームベースのＤＣオフセットを有することができるが、他のものは、サンプルベースのＤＣオフセットを有することができる。１つの特定の方式は、時間的距離が現在のフレームに最も近い参照フレームにのみサンプルベースのＤＣオフセットを使用し、他のすべての参照フレームにはフレームベースのＤＣオフセットを使用するものである。使用されたオフセットのタイプおよび異なるピクセルロケーションにおけるそのようなオフセットの大きさを復号器に通知するための情報を、ビットストリーム内に符号化することができる。
【００９７】
サブピクセル動きベクトルは、補間される必要がある、参照ピクチャにおけるサブピクセル位置を指す。Ｈ．２６４は、タップ値（１，−５，２０，２０，−５，１）を有する６タップフィルタを用いる水平および垂直フィルタリングによって、サブピクセルｂおよびｈ（図４Ａ〜図４を参照）が以下のように計算できる、サブピクセルのための１つの補間プロセスを定義する。
【数１２】
0005654087.tif 000013
【００９８】
ここで、「Ｃ１」、「Ｃ２」、「Ｃ３」、「Ｃ４」、「Ｃ５」、「Ｃ６」は、水平方向において「ｂ」を取り囲む６個の最も近い整数ピクセルを表し、ピクセル「Ｃ３」、「Ｃ４」が最も近く、ピクセル「Ｃ２」、「Ｃ５」が次に最も近く、ピクセル「Ｃ１」、「Ｃ６」がその次に最も近い。
【数１３】
0005654087.tif 000014
【００９９】
ここで、「Ａ３」、「Ｂ３」、「Ｃ３」、「Ｄ３」、「Ｅ３」、「Ｆ３」は、垂直方向において「ｈ」を取り囲む６個の最も近い整数ピクセルを表し、ピクセル「Ｃ３」、「Ｄ３」が最も近く、ピクセル「Ｂ３」、「Ｅ３」が次に最も近く、ピクセル「Ａ３」、「Ｆ３」がその次に最も近い。
【０１００】
この場合、「ｂ」および「ｈ」の値は、以下のように定義することができ、
【数１４】
0005654087.tif 000015
【０１０１】
ここで、「＞＞」は右シフト演算である。本開示では、「＞＞」は右シフト演算を表し、「＜＜」は左シフト演算を表す。
【０１０２】
サブピクセル「ｊ」を補間するため、最初に中間値「ｊ１」が以下のように導出され、
【数１５】
0005654087.tif 000016
【０１０３】
ここで、「ａａ１」、「ｂｂ１」、「ｈｈ１」、「ｉｉ１」、「ｊｊ１」として表される中間値は、「ａａ」、「ｂｂ」、「ｈｈ」、「ｉｉ」、「ｊｊ」の位置におけるｂ１の計算と同じ方法で、水平に６タップフィルタを適用することによって導出される。最終値ｊは、以下のように計算することができる。
【数１６】
0005654087.tif 000017
【０１０４】
「ａ」、「ｃ」、「ｄ」、「ｌ」、「ｆ」、「ｉ」、「ｋ」、「ｎ」と命名された４分の１ピクセル位置におけるピクセルは、表１に従って、整数ピクセル位置および２分の１ピクセル位置における２つの最も近いピクセルを平均し、その後、上方丸めを適用することによって導出することができる。
【表１】
0005654087.tif 000018
【０１０５】
「ｅ」、「ｇ」、「ｍ」、「ｏ」と命名された４分の１ピクセル位置におけるピクセルは、表２に従って、対角線方向の２分の１ピクセル位置における２つの最も近いピクセルを平均し、その後、上方丸めを適用することによって計算される。
【表２】
0005654087.tif 000019
【０１０６】
それらの４分の１ピクセルの最終値は、最終的には区間（０，２５５）内の値にクリッピングすることができる。
【０１０７】
中間ステップを通して可能な限り最高の精度を維持するため、補間プロセスのまさに最終ステップになるまで、いずれのシフト演算、丸め演算、およびクリッピング演算も回避することができる。Ｈ．２６４規格で定義された実施とは異なり、「ａ」、「ｃ」、「ｄ」、「ｌ」、「ｆ」、「ｉ」、「ｋ」、「ｎ」と命名された４分の１ピクセル位置におけるピクセルは、表３に従って、整数ピクセル位置および２分の１ピクセル位置「ｂ」、「ｈ」、「ｊ」、「ｅｅ」、「ｈｈ」における２つの最も近いピクセルを平均し、上方丸めを施すことによって導出される。
【表３】
0005654087.tif 000020
【０１０８】
この場合、「ｅｅ１」、「ｈｈ１」として表される中間値は、上で列挙された「ｈ１」、「ｂ１」の計算と同じ方法で、しかし「ｅｅ」、「ｈｈ」の位置において、６タップフィルタを垂直および水平に適用することによって導出される。丸めは、本明細書で説明されるように、「ｅｅ１」、「ｈｈ１」の生成のこのステージにおいては回避することができる。
【０１０９】
「ｅ」、「ｇ」、「ｍ」、「ｏ」と命名された４分の１ピクセル位置におけるピクセルは、表４に従って、対角線方向の２分の１ピクセル位置における２つの最も近いピクセルを平均し、上方丸めを施すことによって計算することができる。
【表４】
0005654087.tif 000021
【０１１０】
それらの４分の１ピクセルの最終値は、区間（０，２５５）内の値にクリッピングすることができる。中間値の全精度を保存することによって、補間されたサブピクセルはより正確になる。特に、ロケーション「ｂ」、「ｈ」、「ｅｅ」、「ｈｈ」における２分の１ピクセル値は、４分の１ピクセル生成の目的で、「ｂ１」、「ｈ１」、「ｅｅ１」、「ｈｈ１」と表される丸めなしの値とすることができる。
【０１１１】
残念ながら、位置ｊにおける補間は、２つのレベルの２分の１ピクセル補間を必要とするので、値「ｊ」の補間は、より複雑になることがあり得る。特に、「ｊ」を補間するため、２０ビットが中間値「ｊ１」を表すために必要とされることがある。この場合、「ｊ」の中間バージョン「ｊ１」は、１６ビット内に収めるために丸められることがある。この場合、上で説明された演算は、すべての演算が、精度を犠牲にすることなく、１６ビットデータ構造内に収まるように、僅かな修正を施して実施することができる。「ｂ」および「ｈ」の補間は、それらの中間バージョン「ｂ１」および「ｈ１」が他のサブピクセル補間のために保存され得ることを除いて、上で定義されたものと同じとすることができる。以下の表は、１６ビット記憶要素における他のサブピクセルのための補間プロセスを示している。以下の表では、各列において定義される演算は、それぞれの表を通して逐次的に実行される。網掛けの行は、プロセスの最後で実行され、他のサブピクセル位置の補間のためには使用されない演算を含む。
【表５】
0005654087.tif 000022
【表６】
0005654087.tif 000023
【０１１２】
以下の表７は、ピクセルロケーション「ｊ」におけるピクセル値を導出する１６ビット実施を示している。すべての１Ｄ  ２分の１ピクセル「ａａ１」、「ｂｂ１」、「ｂ１」、「ｈｈ１」、「ｉｉ１」、「ｊｊ１」は、シフトダウンなしに獲得される。オーバーフローを回避するためのクリッピング範囲は、（−２３７２，１８６４０）である。やはり、表の網掛けの行は、補間プロセスの最後においてのみ実行される演算を示し、これらの結果は、他のサブピクセル位置の補間のためには使用されない。中間値「ｊ１」は、「ｆ」、「ｉ」、「ｋ」、「ｎ」の補間のためにセーブされる。
【表７】
0005654087.tif 000024
【０１１３】
以下の表８は、中間値「ｊ１」を補間するのに使用する位置である｛ｆ，ｉ，ｋ，ｎ｝を補間する１６ビット実施のためにとることができるステップを示している。
【表８】
0005654087.tif 000025
【０１１４】
要するに、上述の説明は、実施にとって望ましい、１６ビット記憶要素を超えることのない、あらゆる可能なサブピクセルロケーション「ａ」、「ｂ」、「ｃ」、「ｄ」、「ｅ」、「ｆ」、「ｇ」、「ｈ」、「ｉ」、「ｊ」、「ｋ」、「ｌ」、「ｍ」、「ｎ」、「ｏ」を補間するための完全な技術を示している。大部分の中間２分の１ピクセル値は、４分の１ピクセル補間の目的で、丸めを施さずに保たれる。しかし、ピクセルロケーション「ｊ」は、２つのレベルの２分の１ピクセル補間を必要とするので、その２分の１ピクセル値を生成する目的で、中間結果の丸めを必要とすることがある特別の場合である。しかし、本開示によれば、ピクセルロケーション「ｊ」における丸めは、「ｊ」に依存する４分の１ピクセルの最終値の精度に影響しない。
【０１１５】
図５は、本開示に従ったビデオ符号化の１つまたは複数の態様による流れ図である。図５は、図２に示されたビデオ符号器５０の全体図から説明される。特に、動き補償ユニット３５は、予測データを生成し（１０１）、予測データの生成は、複数の事前定義された補間フィルタに基づいて補間を行うことを含む。その後、動き補償ユニット３５は、事前定義された補間フィルタの各々に関連する予測データに基づいて、ビデオデータを、例えばビデオブロックを符号化する（１０２）。例えば、動き補償ユニット３５は、異なる残差ブロックを互いに比較して、最良の残差ブロックを見つけることができるように、加算器４８を起動して、事前定義された補間フィルタの各々に関連する残差ブロックを生成することができる。動き補償ユニット３５は、最高レベルの圧縮を達成するビデオデータを選択する（１０３）。特に、選択されたビデオデータは、最終アウトプットである、加算器４８の「残差ブロック」アウトプットとして示されている。加算器４８のこの最終アウトプットは、変換ユニット３８によって変換され、量子化ユニット４０によって量子化され、エントロピー符号化ユニット４６によってエントロピー符号化される。
【０１１６】
動き補償ユニット３５は、最高レベルの圧縮を達成する選択された残差ビデオデータに関連する特定の補間フィルタも識別する（１０４）。動き補償ユニット３５は、補間シンタックス要素をエントロピー符号化ユニット４６に転送する。補間シンタックス要素は、使用された特定の補間フィルタを識別する。エントロピー符号化ユニット４６は、アウトプットビットストリームの一部を形成するために、シンタックス要素を符号化する（１０５）。このようにして、送信先デバイスがビデオ再構成の最中に適切な補間フィルタリングを実行できるように、ビデオ符号器５０において使用された補間フィルタ（例えば、使用されたフィルタ係数、または他のフィルタ設計もしくはパラメータ）を、送信先デバイスに伝達することができる。
【０１１７】
補間フィルタリングは、フレーム毎ベースで定義することができ、またはビデオブロック毎ベースで定義することができる。また別の場合では、補間フィルタリングは、サンプル毎ベースで定義することができ、またはサブサンプル毎ベースで定義することができる。「ビデオ単位」という用語は、ビデオフレーム、ビデオブロック、ビデオサンプル、またはビデオサブサンプルを指すことができる。いずれの場合も、ビデオ符号器５０は、ビデオデータの異なる符号化単位のための予測データを生成するのに使用される、異なる参照ビデオ単位のための異なる補間フィルタを識別するために、異なるシンタックス要素を符号化することができる。代替的に、ビデオ符号器は、参照ビデオデータの異なるビデオブロックのために使用される異なる補間フィルタを識別するために、異なるシンタックス要素を符号化することができる。いずれの場合も、補間フィルタは、テストビデオシーケンスを使用して、事前定義することができる。この場合、例えば、望ましい結果を達成する異なる補間フィルタを定義するために、適応補間フィルタ（ＡＩＦ）をビデオシーケンスに適用することができ、これらの補間フィルタは、動き補償ユニット３５内にプログラムすることができる。
【０１１８】
図６は、本開示に従ったビデオ復号の１つまたは複数の態様による流れ図である。図６は、図２に示されたビデオ符号器５０の全体図から説明される。特に、ビデオ符号器６０は、符号化されたビデオデータを受け取り（１１１）、複数の補間フィルタから補間フィルタを識別するシンタックス要素を受け取る（１１２）。符号化されたビットストリームは、符号化された残差ビデオデータと、符号器において使用された補間フィルタを識別するシンタックス要素の両方を含むことができる。エントロピー復号ユニット５２は、受け取ったビットストリームを復号して、逆量子化ユニット５６および逆変換ユニット５８に送られる、変換および量子化された残差ブロックを解析出力（parse out）し、ならびに動き補償ユニット５５に送られる、補間シンタックス要素および動きベクトルを解析出力する。
【０１１９】
動き補償ユニット５５は、予測データを生成し（１１３）、予測データの生成は、シンタックス要素によって識別される補間フィルタに基づいた補間を含む。ビデオ復号器６０は、予測データに基づいてビデオデータを復号する（１１４）。特に、動き補償ユニット５５によって生成された予測データは、ピクセル領域においてビデオデータを再構成するために、加算器６４を介して残差データと合成することができる。その後、復号されたビデオは、予測における後の使用のために、参照フレームストア６２内に保存することができ、ユーザに提示するために、例えばディスプレイまたは他の出力装置を介してアウトプットすることもできる。
【０１２０】
符号化と同様に、復号プロセスの最中の補間フィルタリングも、フレーム毎ベースで定義することができ、またはビデオブロック毎ベース、サンプル毎ベース、もしくはサブサンプル毎ベースで定義することができる。特に、ビデオ復号器６０は、ビデオデータの異なる符号化単位のための予測データを生成するのに使用される、異なる参照ビデオ単位のための異なる補間フィルタを識別するために、異なるシンタックス要素を復号することができ、または代替的に、ビデオ復号器６０は、参照ビデオデータの異なるビデオブロックのために使用される異なる補間フィルタを識別するために、異なるシンタックス要素を復号することができる。いずれの場合も、補間フィルタは、テストビデオシーケンスを使用して、事前定義することができ、シンタックスを使用して、動き補償ユニット５５内で適切な補間フィルタを識別し、起動できるように、これらの補間フィルタは、動き補償ユニット５５内にプログラムすることができる。
【０１２１】
図７は、符号化プロセスの最中に動き補償ユニット３５によって、または復号プロセスの最中に動き補償ユニット５５によって実行され得る補間技術を示している。図７に示されるように、動き補償ユニット３５または５５は、整数ピクセル値に基づいて２分の１ピクセル値を生成する（１２１）。例えば、これらの２分の１ピクセル値は、図４Ａ〜図４Ｄのロケーション「ｂ」および「ｈ」におけるピクセル値に対応することができる。動き補償ユニット３５または５５は、２分の１ピクセル補間値を生成するために、これらの２分の１ピクセル値を丸めるが（１２２）、２分の１ピクセル値の丸めなしバージョンを保存もする（１２３）。動き補償ユニット３５および５５は、２分の１ピクセル値の丸めなしバージョンに対応する中間値のこの一時記憶を容易にするために、記憶要素を有することができる。その後、動き補償ユニット３５または５５は、丸めなし２分の１ピクセル値と、整数ピクセル値とに基づいて、４分の１ピクセル値を生成することができる（１２４）。これらの４分の１ピクセル値は、例えば、図４Ａ〜図４Ｄに示されるロケーション「ａ」、「ｃ」、「ｄ」、「ｌ」に対応することができる。
【０１２２】
上で説明されたように、図４Ａ〜図４Ｄのロケーション「ｊ」における２分の１ピクセル値は、ロケーション「ｊ」が２つのレベルの２分の１ピクセル補間を必要とすることがあるので、中間値の何らかの丸めを必要とすることがある。図８は、１６ビットなどの固定ビット実施内で補間値のすべて（図４Ａ〜図４Ｄに示された「ａ」から「ｏ」）を生成するために、符号化プロセスの最中に動き補償ユニット３５によって、または復号プロセスの最中に動き補償ユニット５５によって実行され得る補間技術を示している。
【０１２３】
図７のプロセスと同様に、図８のプロセスは、動き補償ユニット３５または５５が、例えば、図４Ａ〜図４Ｄのロケーション「ｂ」および「ｈ」におけるピクセル値に対応し得る整数ピクセル値に基づいて、２分の１ピクセル値を生成する（１３１）ことで開始する。その後、動き補償ユニット３５または５５は、２分の１ピクセル補間値を生成するために、これらの２分の１ピクセル値を丸めるが（１３２）、２分の１ピクセル値の丸めなしバージョンを保存もする（１３３）。
【０１２４】
次に、動き補償ユニット３５または５５は、丸めなし２分の１ピクセル値に基づいて、追加的な２分の１ピクセル値（図４Ａ〜図４Ｄのロケーション「ｊ」に対応する値）を生成する。動き補償ユニット３５または５５は、「ｊ」に依存する４分の１ピクセルの精度を犠牲にすることなく、追加的な２分の１ピクセル値（図４Ａ〜図４Ｄのロケーション「ｊ」に対応する値）が固定的なビット深さ内に収まることを保証するために、必要な場合は、この値を丸める（１３５）。その後、動き補償ユニット３５または５５は、丸めなしの２分の１ピクセル値と、追加的な２分の１ピクセル値と、整数ピクセル値とに基づいて、４分の１ピクセル値を生成することができる（１３６）。このようにして、図４Ｄにおいて網掛けで示された４分の１ピクセル値のすべて（例えば、ロケーション「ａ」、「ｃ」、「ｄ」、「ｅ」、「ｆ」、「ｇ」、「ｉ」、「ｋ」、「ｌ」、「ｍ」、「ｎ」、「ｏ」）を生成することができる。上記の表および説明は、このプロセスにおいて実行され得る演算についてのより具体的な詳細を提供する。
【０１２５】
図７および図８の技術は、多くの異なる補間事例に適用することができる。特に、これらの技術は、事前定義された補間フィルタを使用する本明細書で説明された他の技術とともに、または別に使用することができる。言い換えると、中間丸めを排除または著しく削減する図７および図８の技術は、１つまたは複数の事前定義された補間フィルタによる補間の最中に使用することができるが、固定的な補間フィルタを使用する補間またはおそらくは適応的な改良補間技術とともに使用することもできる。したがって、本明細書で説明される異なる技術は、必ずしも一緒に実行される必要はないが、多くの異なる補間環境または状況において、望ましい適用例を有することができる。
【０１２６】
本開示の技術は、無線ハンドセットを含む多種多様なデバイスまたは装置、および集積回路（ＩＣ）またはＩＣの組（すなわちチップセット）において具現することができる。いずれのコンポーネント、モジュール、またはユニットも、機能的態様を強調するように説明され、提供されており、必ずしも異なるハードウェアユニットなどによる実現を必要とするわけではない。
【０１２７】
したがって、本明細書で説明される技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせで実施することができる。ハードウェアで実施される場合、モジュール、ユニット、またはコンポーネントとして説明された機能はいずれも、統合された論理デバイスにおいて一緒に、または別個だが相互運用可能な論理デバイスとして別々に実施することができる。ソフトウェアで実施される場合、技術は、プロセッサで実行された場合に上で説明された方法の１つまたは複数を実行する命令を備えるコンピュータ可読媒体によって、少なくとも部分的に実現することができる。コンピュータ可読媒体は、コンピュータ可読記憶媒体を備えることができ、パッケージング材料を含み得るコンピュータプログラム製品の一部を形成することができる。コンピュータ可読記憶媒体は、同期型ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、および磁気または光データ記憶媒体などを備えることができる。技術は、追加的または代替的に、コンピュータによってアクセス、読み取り、および／または実行され得る、命令またはデータ構造の形態をとるコードを伝送または伝達するコンピュータ可読通信媒体によって、少なくとも部分的に実現することができる。
【０１２８】
コードは、１つまたは複数のディジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレー（ＦＰＧＡ）、または他の等価な統合もしくは個別論理回路などの、１つまたは複数のプロセッサによって実行することができる。したがって、本明細書で使用される「プロセッサ」という用語は、上記の構造または本明細書で説明された技術の実施に適した他の任意の構造のいずれかを指すことができる。加えて、いくつかの態様では、本明細書で説明される機能は、符号化および復号のために構成された専用のソフトウェアモジュールもしくはハードウェアモジュール内で提供することができ、または組み合わされたビデオ符号器−復号器（ＣＯＤＥＣ）内に含むことができる。また、技術は、１つまたは複数の回路または論理要素で完全に実施することができる。
【０１２９】
本開示の様々な態様が説明された。上記および他の態様は、以下の特許請求の範囲内に
ある。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］ビデオ符号化のために予測ビデオデータを補間する方法であって、
整数ピクセル値に基づいて、２分の１ピクセル値を生成することと、
２分の１ピクセル補間値を生成するために、前記２分の１ピクセル値を丸めることと、
前記２分の１ピクセル値の丸めなしバージョンとして前記２分の１ピクセル値を保存することと、
前記２分の１ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、４分の１ピクセル値を生成することと
を備える方法。
［２］複数の前記２分の１ピクセル値の前記丸めなしバージョンに基づいて、別の２分の１ピクセル値を生成することと、
前記別の２分の１ピクセル値と前記２分の１ピクセル値の前記丸めなしバージョンとに基づいて、追加的な４分の１ピクセル値を生成することと
をさらに備える、上記［１］に記載の方法。
［３］前記値のどの１つも、１６ビットデータ構造内に保存することができ、
複数の前記２分の１ピクセル値の前記丸めなしバージョンに基づいて、別の２分の１ピクセル値を生成することと、
前記別の２分の１ピクセル値を前記１６ビットデータ構造内に保存できるように、前記別の２分の１ピクセル値を丸めることと、
前記別の２分の１ピクセル値と前記２分の１ピクセル値の前記丸めなしバージョンとに基づいて、追加的な４分の１ピクセル値を生成することと
をさらに備える、上記［１］に記載の方法。
［４］前記整数ピクセル値、前記２分の１ピクセル値、および／または前記４分の１ピクセル値に基づいて、１つまたは複数のビデオブロックを符号化すること
をさらに備える、上記［１］に記載の方法。
［５］前記整数ピクセル値、前記２分の１ピクセル値、および／または前記４分の１ピクセル値に基づいて、１つまたは複数のビデオブロックを復号すること
をさらに備える、上記［１］に記載の方法。
［６］ビデオ符号化のために予測ビデオデータを補間する装置であって、
整数ピクセル値に基づいて、２分の１ピクセル値を生成し、
２分の１ピクセル補間値を生成するために、前記２分の１ピクセル値を丸め、
前記２分の１ピクセル値の丸めなしバージョンとして前記２分の１ピクセル値を保存し、
前記２分の１ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、４分の１ピクセル値を生成する
動き補償ユニットを含む装置。
［７］前記動き補償ユニットが、
複数の前記２分の１ピクセル値の前記丸めなしバージョンに基づいて、別の２分の１ピクセル値を生成し、
前記別の２分の１ピクセル値と前記２分の１ピクセル値の前記丸めなしバージョンとに基づいて、追加的な４分の１ピクセル値を生成する、
上記［６］に記載の装置。
［８］前記値のどの１つも、１６ビットデータ構造内に保存することができ、前記動き補償ユニットが、
複数の前記２分の１ピクセル値の前記丸めなしバージョンに基づいて、別の２分の１ピクセル値を生成し、
前記別の２分の１ピクセル値を前記１６ビットデータ構造内に保存できるように、前記別の２分の１ピクセル値を丸め、
前記別の２分の１ピクセル値と前記２分の１ピクセル値の前記丸めなしバージョンとに基づいて、追加的な４分の１ピクセル値を生成する、
上記［６］に記載の装置。
［９］前記動き補償ユニットを含むビデオ符号器を備え、前記ビデオ符号器が、
前記整数ピクセル値、前記２分の１ピクセル値、および／または前記４分の１ピクセル値に基づいて、１つまたは複数のビデオブロックを予測的に符号化する、
上記［６］に記載の装置。
［１０］前記動き補償ユニットを含むビデオ復号器を備え、前記ビデオ復号器が、
前記整数ピクセル値、前記２分の１ピクセル値、および／または前記４分の１ピクセル値に基づいて、１つまたは複数のビデオブロックを予測的に復号する、
上記［６］に記載の装置。
［１１］集積回路を備える、上記［６］に記載の装置。
［１２］マイクロプロセッサを備える、上記［６］に記載の装置。
［１３］実行された場合にデバイスにビデオ符号化のために予測ビデオデータを補間させる命令であって、
整数ピクセル値に基づいて、２分の１ピクセル値を生成することと、
２分の１ピクセル補間値を生成するために、前記２分の１ピクセル値を丸めることと、
前記２分の１ピクセル値の丸めなしバージョンとして前記２分の１ピクセル値を保存することと、
前記２分の１ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、４分の１ピクセル値を生成することと
を前記デバイスに行わせる命令を備える、コンピュータ可読記憶媒体。
［１４］  実行された場合に
複数の前記２分の１ピクセル値の前記丸めなしバージョンに基づいて、別の２分の１ピクセル値を生成することと、
前記別の２分の１ピクセル値と前記２分の１ピクセル値の前記丸めなしバージョンとに基づいて、追加的な４分の１ピクセル値を生成することと
をデバイスに行わせる命令をさらに備える、上記［１３］に記載のコンピュータ可読記憶媒体。
［１５］前記値のどの１つも、１６ビットデータ構造内に保存することができ、実行された場合に
複数の前記２分の１ピクセル値の前記丸めなしバージョンに基づいて、別の２分の１ピクセル値を生成することと、
前記別の２分の１ピクセル値を前記１６ビットデータ構造内に保存できるように、前記別の２分の１ピクセル値を丸めることと、
前記別の２分の１ピクセル値と前記２分の１ピクセル値の前記丸めなしバージョンとに基づいて、追加的な４分の１ピクセル値を生成することと
をデバイスに行わせる命令をさらに備える、上記［１３］に記載のコンピュータ可読記憶媒体。
［１６］実行された場合に
前記整数ピクセル値、前記２分の１ピクセル値、および／または前記４分の１ピクセル値に基づいて、１つまたは複数のビデオブロックを符号化すること
をデバイスに行わせる命令をさらに備える、上記［１３］に記載のコンピュータ可読記憶媒体。
［１７］実行された場合に
前記整数ピクセル値、前記２分の１ピクセル値、および／または前記４分の１ピクセル値に基づいて、１つまたは複数のビデオブロックを復号すること
をデバイスに行わせる命令をさらに備える、上記［１３］に記載のコンピュータ可読記憶媒体。
［１８］ビデオ符号化のために予測ビデオデータを補間するデバイスであって、
整数ピクセル値に基づいて、２分の１ピクセル値を生成するための手段と、
２分の１ピクセル補間値を生成するために、前記２分の１ピクセル値を丸めることと、
前記２分の１ピクセル値の丸めなしバージョンとして前記２分の１ピクセル値を保存するための手段と、
前記２分の１ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、４分の１ピクセル値を生成するための手段と
を備えるデバイス。
［１９］複数の前記２分の１ピクセル値の前記丸めなしバージョンに基づいて、別の２分の１ピクセル値を生成するための手段と、
前記別の２分の１ピクセル値と前記２分の１ピクセル値の前記丸めなしバージョンとに基づいて、追加的な４分の１ピクセル値を生成するための手段と
をさらに備える、上記［１８］に記載のデバイス。
［２０］前記値のどの１つも、１６ビットデータ構造内に保存することができ、
複数の前記２分の１ピクセル値の前記丸めなしバージョンに基づいて、別の２分の１ピクセル値を生成するための手段と、
前記別の２分の１ピクセル値を前記１６ビットデータ構造内に保存できるように、前記別の２分の１ピクセル値を丸めるための手段と、
前記別の２分の１ピクセル値と前記２分の１ピクセル値の前記丸めなしバージョンとに基づいて、追加的な４分の１ピクセル値を生成するための手段と
をさらに備える、上記［１８］に記載のデバイス。
［２１］前記整数ピクセル値、前記２分の１ピクセル値、および／または前記４分の１ピクセル値に基づいて、１つまたは複数のビデオブロックを符号化するための手段
をさらに備える、上記［１８］に記載のデバイス。
［２２］前記整数ピクセル値、前記２分の１ピクセル値、および／または前記４分の１ピクセル値に基づいて、１つまたは複数のビデオブロックを復号するための手段
をさらに備える、上記［１８］に記載のデバイス。
［２３］ビデオデータを符号化するデバイスであって、
整数ピクセル値に基づいて、２分の１ピクセル値を生成し、２分の１ピクセル補間値を生成するために、前記２分の１ピクセル値を丸め、前記２分の１ピクセル値の丸めなしバージョンとして前記２分の１ピクセル値を保存し、前記２分の１ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、４分の１ピクセル値を生成する動き補償ユニットを含むビデオ符号器と、
前記動き補償ユニットによって符号化された前記ビデオデータを別のデバイスに送信する無線送信機と
を備えるデバイス。
［２４］無線通信ハンドセットを備える、上記［２３］に記載のデバイス。
［２５］ビデオデータを復号するデバイスであって、
前記ビデオデータを受信する無線受信機と、
前記ビデオデータを復号する動き補償ユニットを含むビデオ復号器であって、前記動き補償ユニットが、
整数ピクセル値に基づいて、２分の１ピクセル値を生成し、
２分の１ピクセル補間値を生成するために、前記２分の１ピクセル値を丸め、
前記２分の１ピクセル値の丸めなしバージョンとして前記２分の１ピクセル値を保存し、
前記２分の１ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、４分の１ピクセル値を生成する、
ビデオ復号器と
を備えるデバイス。
［２６］無線通信ハンドセットを備える、上記［２５］に記載のデバイス。
【図１】
0005654087.tif 000026
【図２】
0005654087.tif 000027
【図３】
0005654087.tif 000028
【図４Ａ】
0005654087.tif 000029
【図４Ｂ】
0005654087.tif 000030
【図４Ｃ】
0005654087.tif 000031
【図４Ｄ】
0005654087.tif 000032
【図５】
0005654087.tif 000033
【図６】
0005654087.tif 000034
【図７】
0005654087.tif 000035
【図８】
0005654087.tif 000036