"ビデオデータを符号化する方法であって、参照サンプルのフル整数画素位置についての値を受信することと、前記フル整数画素位置のうちの1つの第1のサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第1のセットに補間フィルタを適用することと、前記フル整数画素位置のうちの前記1つの第2の異なるサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第2の異なるセットに前記補間フィルタを適用することと、前記第1のサブ整数画素と前記第2のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素のブロックを符号化することと、を備える方法。前記補間フィルタが第1の補間フィルタであり、前記フル整数画素位置のうちの前記1つの第3のサブ整数画素についての値を計算するために、前記フル整数画素位置についての値の第3のセットに第2の異なる補間フィルタを適用することを更に備える、請求項1に記載の方法。前記第1のサブ整数画素についての前記値を計算するために使用される前記補間フィルタの指標を与えることを更に備える、請求項1に記載の方法。画素の前記ブロックを符号化するために使用される前記フル整数画素位置のセットの指標を与えることを更に含み、前記セットが前記第1のセットと前記第2のセットとのうちの一方に対応する、請求項1に記載の方法。前記複数のフル整数画素位置のうちの前記1つに対応する予測単位の予測単位ヘッダ、前記予測単位を備えるコード化単位のコード化単位ヘッダ、前記コード化単位を備えるフレーム単位のフレームヘッダ、前記フレーム単位を備えるスライス単位のスライスヘッダ、又は前記フレーム単位を備えるシーケンス単位のシーケンスヘッダのうちの少なくとも1つにおける画素の前記ブロックを符号化するために使用される前記フル整数画素位置の前記セットの前記指標を与えることを更に備える、請求項4に記載の方法。整数画素位置の複数のセットから前記フル整数画素位置の前記セットを選択することであって、前記セットへのインデックスが、前記第1のサブ整数画素位置と前記第2のサブ整数画素位置とのうちの一方についての前記値を計算するために使用される前記フル整数画素位置の前記セットを示すように、前記フル整数画素位置の前記セットの前記指標が前記インデックスを識別する、選択することを更に備える、請求項4に記載の方法。前記フル整数画素位置についての前記値の前記第1のセットが、前記フル整数画素位置のうちの4つのフル整数画素位置の前記値、即ち、前記第1のサブ整数画素に関連する前記複数のフル整数画素位置のうちの前記1つのほぼ付近に位置するフル整数画素位置の前記値と、前記第1のサブ整数画素に関連する前記複数のフル整数画素位置のうちの前記1つのほぼ付近の対角方向の1つに位置するフル整数画素位置の前記値と、前記第1のサブ整数画素に関連する前記複数のフル整数画素位置のうちの前記1つのほぼ付近の水平方向の1つに位置するフル整数画素位置の前記値と、前記第1のサブ整数画素に関連する前記複数のフル整数画素位置のうちの前記1つのほぼ付近の垂直方向の1つに位置するフル整数画素位置の前記値とのうちの少なくとも1つを備える、請求項1に記載の方法。前記第1のサブ整数画素についての前記値が第1の値を備え、前記方法が、前記第1のサブ整数画素のための第2の値を計算するために前記フル整数画素位置についての値の第2のセットに前記補間フィルタを適用することと、前記第1の値と前記第2の値との各々のための誤差値を決定することと、少なくとも前記第1の値と前記第2の値との間の前記誤差値に基づいて、前記フル整数画素位置についての値の前記第1のセットと、前記フル整数画素位置についての値の前記第2のセットとのうちの一方を選択することとを更に備える、請求項1に記載の方法。データをコード化するための装置であって、参照サンプルのフル整数画素位置についての値を受信することと、前記フル整数画素位置のうちの1つの第1のサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第1のセットに補間フィルタを適用することと、前記フル整数画素位置のうちの前記1つの第2の異なるサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第2の異なるセットに前記補間フィルタを適用することと、前記第1のサブ整数画素と前記第2のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素のブロックをコード化することとを行うように構成されたビデオエンコーダを備える、装置。前記補間フィルタが第1の補間フィルタを備え、前記ビデオエンコーダが、前記フル整数画素位置のうちの1つの第3のサブ整数画素についての値を計算するために、前記フル整数画素位置についての値の第3のセットに第2の異なる補間フィルタを適用するように更に構成された、請求項9に記載の装置。前記ビデオエンコーダが、前記第1のサブ整数画素についての前記値を計算するために使用される前記補間フィルタの指標を与えるように構成された、請求項9に記載の装置。前記ビデオエンコーダが、画素の前記ブロックをコード化するために使用される前記フル整数画素位置のセットの指標を与えるように更に構成され、前記セットが前記第1のセットと前記第2のセットとのうちの一方に対応する、請求項9に記載の装置。画素の前記ブロックをコード化するために使用される前記フル整数画素位置の前記セットの前記指標が、前記フル整数画素位置のうちの前記1つに対応する予測単位の予測単位ヘッダ、前記予測単位を備えるコード化単位のコード化単位ヘッダ、前記コード化単位を備えるフレーム単位のフレームヘッダ、前記フレーム単位を備えるスライス単位のスライスヘッダ、又は前記フレーム単位を備えるシーケンス単位のシーケンスヘッダのうちの少なくとも1つにおいて与えられる、請求項12に記載の装置。前記ビデオエンコーダが、整数画素位置の複数のセットから前記フル整数画素位置の前記セットを選択するように更に構成され、前記セットへのインデックスが、前記第1のサブ整数画素位置と前記第2のサブ整数画素位置とのうちの一方についての前記値を計算するために使用される前記フル整数画素位置の前記セットを示すように、前記フル整数画素位置の前記セットの前記指標が前記インデックスを識別する、請求項9に記載の装置。前記フル整数画素位置についての前記値の前記第1のセットが、前記フル整数画素位置のうちの4つのフル整数画素位置の前記値、即ち、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近に位置するフル整数画素位置の前記値と、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近の対角方向の1つに位置するフル整数画素位置の前記値と、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近の水平方向の1つに位置するフル整数画素位置の前記値と、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近の垂直方向の1つに位置するフル整数画素位置の前記値とのうちの少なくとも1つを備える、請求項9に記載の装置。前記第1のサブ整数画素についての前記値が第1の値を備え、前記ビデオエンコーダが、前記第1のサブ整数画素のための第2の値を計算するために前記フル整数画素位置についての値の第2のセットに前記補間フィルタを適用することと、誤差値又は前記第1の値と前記第2の値との各々を決定することと、少なくとも前記第1の値と前記第2の値との間の前記誤差値に基づいて、前記フル整数画素位置についての値の前記第1のセットと、前記フル整数画素位置についての値の前記第2のセットとのうちの一方を選択することとを行うように更に構成された、請求項9に記載の装置。実行されたとき、参照サンプルのフル整数画素位置についての値を受信することと、前記フル整数画素位置のうちの1つの第1のサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第1のセットに補間フィルタを適用することと、前記フル整数画素位置のうちの前記1つの第2の異なるサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第2の異なるセットに前記補間フィルタを適用することと、前記第1のサブ整数画素と前記第2のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素のブロックを符号化することと、をビデオコード化装置のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。前記補間フィルタが第1の補間フィルタであり、前記命令が、前記フル整数画素位置のうちの1つの第3のサブ整数画素についての値を計算するために、前記フル整数画素位置についての値の第3のセットに第2の異なる補間フィルタを適用することを前記ビデオコード化装置に更に行わせる、請求項17に記載のコンピュータ可読記憶媒体。前記命令は、画素の前記ブロックを符号化するために使用される前記フル整数画素位置のセットの指標を与えることを前記ビデオコード化装置に更に行わせ、前記セットが前記第1のセット又は前記第2のセットのうちの一方に対応する、請求項17に記載のコンピュータ可読記憶媒体。画素の前記ブロックを符号化するために使用される前記フル整数画素位置の前記セットの前記指標が、前記フル整数画素位置のうちの前記1つに対応する予測単位の予測単位ヘッダ、前記予測単位を備えるコード化単位のコード化単位ヘッダ、前記コード化単位を備えるフレーム単位のフレームヘッダ、前記フレーム単位を備えるスライス単位のスライスヘッダ、又は前記フレーム単位を備えるシーケンス単位のシーケンスヘッダのうちの少なくとも1つにおいて与えられる、請求項19に記載のコンピュータ可読記憶媒体。前記フル整数画素位置についての前記値の前記第1のセットが、前記フル整数画素位置のうちの4つのフル整数画素位置の前記値、即ち、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近に位置するフル整数画素位置の前記値と、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近の対角方向の1つに位置するフル整数画素位置の前記値と、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近の水平方向の1つに位置するフル整数画素位置の前記値と、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近の垂直方向の1つに位置するフル整数画素位置の前記値とのうちの少なくとも1つを備える、請求項17に記載のコンピュータ可読記憶媒体。参照サンプルのフル整数画素位置についての値を受信するための手段と、前記フル整数画素位置のうちの1つの第1のサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第1のセットに補間フィルタを適用するための手段と、前記フル整数画素位置のうちの前記1つの第2の異なるサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第2の異なるセットに前記補間フィルタを適用するための手段と、前記第1のサブ整数画素と前記第2のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素のブロックをコード化するための手段とを備える装置。前記補間フィルタが第1の補間フィルタであり、前記装置が、前記フル整数画素位置のうちの前記1つの第3のサブ整数画素についての値を計算するために、前記フル整数画素位置についての値の第3のセットに第2の異なる補間フィルタを適用するための手段を更に備える、請求項22に記載の装置。画素の前記ブロックを符号化するために使用される前記フル整数画素位置のセットの指標を与えるための手段を更に備え、前記セットが前記第1のセットと前記第2のセットとのうちの一方に対応し、画素の前記ブロックを符号化するために使用される前記フル整数画素位置の前記セットの前記指標が、前記フル整数画素位置のうちの前記1つに対応する予測単位の予測単位ヘッダ、前記予測単位を備えるコード化単位のコード化単位ヘッダ、前記コード化単位を備えるフレーム単位のフレームヘッダ、前記フレーム単位を備えるスライス単位のスライスヘッダ、又は前記フレーム単位を備えるシーケンス単位のシーケンスヘッダのうちの少なくとも1つにおいて与えられる、請求項22に記載の装置。画素の前記ブロックを符号化するために使用される前記フル整数画素位置のセットの指標を与えるための手段であって、前記セットが前記第1のセットと前記第2のセットとのうちの一方に対応する、与えるための手段と、整数画素位置の複数のセットから前記フル整数画素位置の前記セットを選択するための手段と、を更に備え、前記複数のセットへのインデックスが、前記第1のサブ整数画素位置と前記第2のサブ整数画素位置とのうちの一方についての前記値を計算するために使用される前記フル整数画素位置の前記セットを示すように、前記フル整数画素位置の前記セットの前記指標が前記インデックスを識別する、請求項22に記載の装置。ビデオデータを復号する方法であって、フル整数画素位置を備える参照サンプルを受信することと、前記参照サンプルのサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置のセットの指標を受信することと、前記参照サンプルの前記サブ整数画素の前記値を計算するために、前記フル整数画素位置の前記セットに補間フィルタを適用することと、前記サブ整数画素の前記計算された値に対する画素のブロックを復号することとを備える方法。前記指標が第1の指標であり、前記フル整数画素位置の前記セットがフル整数画素位置の第1のセットであり、前記サブ整数画素が第1のサブ整数画素であり、前記参照サンプルの第2のサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置の第2のセットの指標を受信することと、前記参照サンプルの前記第2のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第2のセットに前記補間フィルタを適用することと、前記第2のサブ整数画素の前記計算された値に対する画素の第2のブロックを復号することと、を更に備える、請求項26に記載の方法。前記第2のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第2のセットに前記補間フィルタを適用することが、前記第1のサブ整数画素の前記値を計算することとは無関係に前記第2のサブ整数画素の前記値を計算することを更に備える、請求項27に記載の方法。前記参照サンプルの前記フル整数画素位置のセットの指標を受信することが、前記複数のフル整数画素位置のうちの前記1つに対応する予測単位の予測単位ヘッダ、前記予測単位を備えるコード化単位のコード化単位ヘッダ、前記コード化単位を備えるフレーム単位のフレームヘッダ、前記フレーム単位を備えるスライス単位のスライスヘッダ、又は前記フレーム単位を備えるシーケンス単位のシーケンスヘッダのうちの少なくとも1つにおいて前記指標を受信することを更に備える、請求項26に記載の方法。前記参照サンプルの前記第1のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第1のセットに前記補間フィルタを適用することが、第1の補間フィルタを適用することを更に備え、前記参照サンプルの前記第2のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第2のセットに前記補間フィルタを適用することが、第2の異なる補間フィルタを適用することを更に備える、請求項26に記載の方法。複数のセットへのインデックスが、前記参照サンプルのサブ整数画素についての前記値を計算するために使用される前記フル整数画素位置の前記セットを示すように、前記フル整数画素位置の前記セットの前記指標が前記インデックスを識別する、請求項26に記載の方法。前記フル整数画素位置についての前記値の前記セットが、前記フル整数画素位置のうちの4つのフル整数画素位置の前記値、即ち、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近に位置するフル整数画素位置の前記値と、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近の対角方向の1つに位置するフル整数画素位置の前記値と、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近の水平方向の1つに位置するフル整数画素位置の前記値と、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近の垂直方向の1つに位置するフル整数画素位置の前記値とのうちの少なくとも1つを備える、請求項26に記載の方法。前記参照サンプルの前記サブ整数画素の前記値を計算することが、前に復号された画素のブロックに少なくとも部分的に基づいて前記参照サンプルの前記サブ整数画素の前記値を計算することを更に備える、請求項26に記載の方法。データを復号するための装置であって、フル整数画素位置を備える参照サンプルを受信することと、前記参照サンプルのサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置のセットの指標を受信することと、前記参照サンプルの前記サブ整数画素の前記値を計算するために、前記フル整数画素位置の前記セットに補間フィルタを適用することと、前記サブ整数画素の前記計算された値に対する画素のブロックを復号することとを行うように構成されたビデオデコーダを備える、装置。前記指標が第1の指標であり、前記フル整数画素位置の前記セットがフル整数画素位置の第1のセットであり、前記サブ整数画素が第1のサブ整数画素であり、前記ビデオデコーダが、前記参照サンプルの第2のサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置の第2のセットの指標を受信することと、前記参照サンプルの前記第2のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第2のセットに前記補間フィルタを適用することと、前記第2のサブ整数画素の前記計算された値に対する画素の第2のブロックを復号することとを行うように更に構成された、請求項34に記載の装置。前記ビデオデコーダが、前記第1のサブ整数画素の前記値を計算することとは無関係に前記第2のサブ整数画素の前記値を計算するように更に構成された、請求項35に記載の装置。前記参照サンプルの前記第1のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第1のセットに前記補間フィルタを適用することが、第1の補間フィルタを適用することを更に備え、前記参照サンプルの前記第2のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第2のセットに前記補間フィルタを適用することが、第2の異なる補間フィルタを適用することを更に備える、請求項35に記載の装置。前記ビデオデコーダが、前記複数のフル整数画素位置のうちの前記1つに対応する予測単位の予測単位ヘッダ、前記予測単位を備えるコード化単位のコード化単位ヘッダ、前記コード化単位を備えるフレーム単位のフレームヘッダ、前記フレーム単位を備えるスライス単位のスライスヘッダ、又は前記フレーム単位を備えるシーケンス単位のシーケンスヘッダのうちの少なくとも1つにおいて前記参照サンプルの前記フル整数画素位置の前記セットの前記指標を受信するように更に構成された、請求項34に記載の装置。複数のセットへのインデックスが、前記参照サンプルのサブ整数画素についての前記値を計算するために使用される前記フル整数画素位置の前記セットを示すように、前記フル整数画素位置の前記セットの前記指標が前記インデックスを識別する、請求項34に記載の装置。前記フル整数画素位置についての前記値の前記セットが、前記フル整数画素位置のうちの4つのフル整数画素位置の前記値、即ち、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近に位置するフル整数画素位置の前記値と、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近の対角方向の1つに位置するフル整数画素位置の前記値と、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近の水平方向の1つに位置するフル整数画素位置の前記値と、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近の垂直方向の1つに位置するフル整数画素位置の前記値とのうちの少なくとも1つを備える、請求項34に記載の装置。前記ビデオデコーダが、前に復号された画素のブロックに少なくとも部分的に基づいて前記参照サンプルの前記サブ整数画素の前記値を計算するように更に構成された、請求項34に記載の装置。実行されたとき、フル整数画素位置を備える参照サンプルを受信することと、前記参照サンプルのサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置のセットの指標を受信することと、前記参照サンプルの前記サブ整数画素の前記値を計算するために、前記フル整数画素位置の前記セットに補間フィルタを適用することと、前記サブ整数画素の前記計算された値に対する画素のブロックを復号することとをビデオ復号装置のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。前記指標が第1の指標であり、前記フル整数画素位置の前記セットがフル整数画素位置の第1のセットであり、前記サブ整数画素が第1のサブ整数画素であり、前記命令が、前記参照サンプルの第2のサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置の第2のセットの指標を受信することと、前記参照サンプルの前記第2のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第2のセットに前記補間フィルタを適用することと、前記第2のサブ整数画素の前記計算された値に対する画素の第2のブロックを復号することとをビデオコード化装置に更に行わせる、請求項42に記載のコンピュータ可読記憶媒体。前記参照サンプルの前記フル整数画素位置のセットの指標を受信することが、前記複数のフル整数画素位置のうちの前記1つに対応する予測単位の予測単位ヘッダ、前記予測単位を備えるコード化単位のコード化単位ヘッダ、前記コード化単位を備えるフレーム単位のフレームヘッダ、前記フレーム単位を備えるスライス単位のスライスヘッダ、又は前記フレーム単位を備えるシーケンス単位のシーケンスヘッダのうちの少なくとも1つにおいて前記指標を受信することを更に備える、請求項42に記載のコンピュータ可読記憶媒体。前記参照サンプルの前記第1のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第1のセットに前記補間フィルタを適用することが、第1の補間フィルタを適用することを更に備え、前記参照サンプルの前記第2のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第2のセットに前記補間フィルタを適用することが、第2の異なる補間フィルタを適用することを更に備える、請求項43に記載のコンピュータ可読記憶媒体。前記フル整数画素位置についての前記値の前記セットが、前記フル整数画素位置のうちの4つのフル整数画素位置の前記値、即ち、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近に位置するフル整数画素位置の前記値と、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近の対角方向の1つに位置するフル整数画素位置の前記値と、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近の水平方向の1つに位置するフル整数画素位置の前記値と、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近の垂直方向の1つに位置するフル整数画素位置の前記値とのうちの少なくとも1つを備える、請求項42に記載のコンピュータ可読記憶媒体。フル整数画素位置を備える参照サンプルを受信するための手段と、前記参照サンプルのサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置のセットの指標を受信するための手段と、前記参照サンプルの前記サブ整数画素の前記値を計算するために、前記フル整数画素位置の前記セットに補間フィルタを適用するための手段と、前記サブ整数画素の前記計算された値に対する画素のブロックを復号するための手段とを備える装置。前記指標が第1の指標であり、前記フル整数画素位置の前記セットがフル整数画素位置の第1のセットであり、前記サブ整数画素が第1のサブ整数画素であり、前記参照サンプルの第2のサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置の第2のセットの指標を受信するための手段と、前記参照サンプルの前記第2のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第2のセットに補間フィルタを適用するための手段と、前記第2のサブ整数画素の前記計算された値に対する画素の第2のブロックを復号するための手段とを更に備える、請求項47に記載の装置。複数のセットへのインデックスが、前記参照サンプルのサブ整数画素についての前記値を計算するために使用される前記フル整数画素位置の前記セットを示すように、前記フル整数画素位置の前記セットの前記指標が前記インデックスを識別する、請求項47に記載の装置。前記フル整数画素位置についての前記値の前記セットが、前記フル整数画素位置のうちの4つのフル整数画素位置の前記値、即ち、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近に位置するフル整数画素位置の前記値と、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近の対角方向の1つに位置するフル整数画素位置の前記値と、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近の水平方向の1つに位置するフル整数画素位置の前記値と、前記第1のサブ整数画素に関連する前記フル整数画素位置のうちの前記1つのほぼ付近の垂直方向の1つに位置するフル整数画素位置の前記値とのうちの少なくとも1つを備える、請求項47に記載の装置。本開示では、ビデオコード化及び/又は復号プロセスのインター予測段階中にエンコーダとデコーダとによって適用され得るフィルタ処理技法について説明する。説明するフィルタ処理技法は、分数画素補間中に使用される予測データの精度を向上させ得、場合によっては、コード化利得を増加させ得る。本開示では、サブ画素サブ整数画素分数画素及びサブペルという用語を互換的に使用する。本開示には、任意の数のフル画素位置の任意の組合せに基づいてサブ画素位置を補間する技法と、前にコード化されたフレーム又はフレームの現在のコード化に基づいてサブ画素位置のための補間フィルタのためのサポートを選択するための技法とを含む、幾つかの態様がある。これら及び他の技法について以下で詳細に説明する。ブロックベースのインターコード化は、ビデオシーケンスの連続するコード化単位のビデオブロック間の時間的冗長性を低減又は除去するために時間的予測を利用するコード化技法である。コード化単位は、ビデオフレーム、ビデオフレームのスライス、ピクチャのグループ、又は符号化ビデオブロックの別の定義された単位を備え得る。インターコード化の場合、ビデオエンコーダは、2つ以上の隣接するコード化単位のビデオブロック間の動きを推定するために動き推定及び動き補償を実行する。動き推定のための技法を使用して、ビデオエンコーダは、1つ以上の参照フレーム又は他のコード化単位中の対応する予測ビデオブロックに対するビデオブロックの変位を示し得る動きベクトルを生成する。動き補償のための技法を使用して、ビデオエンコーダは、1つ以上の参照フレーム又は他のコード化単位から予測ビデオブロックを生成するために動きベクトルを使用し得る。動き補償の後、ビデオエンコーダは、コード化されている元のビデオブロックから予測ビデオブロックを減算することによって残差ビデオブロックを計算し得る。ビデオエンコーダはまた、残差ブロックの通信に関連するビットレートを更に低減するために、変換、量子化及びエントロピーコード化プロセスを適用し得る。変換技法は、離散コサイン変換DCT又は概念的に同様のプロセスを備え得る。代替的に、ウェーブレット変換、整数変換、又は他のタイプの変換が使用され得る。DCTプロセスでは、一例として、画素値のセットが、周波数領域における画素値のエネルギーを表し得る変換係数transformcoefficientに変換され得る。ビデオエンコーダはまた、変換係数を量子化し得、それは、概して、対応する変換係数に関連するビット数を低減するプロセスを伴い得る。エントロピーコード化は、ビットストリームへの出力のためにデータをまとめて圧縮する1つ以上のプロセスを含み得、圧縮データは、例えば、一連のコード化モード、動き情報、コード化ブロックパターン、及び量子化された変換係数を含み得る。エントロピーコード化の例には、限定はしないが、コンテンツ適応型可変長コード化CAVLC:contentadaptivevariablelengthcoding及びコンテキスト適応型バイナリ算術コード化CABAC:contextadaptivebinaryarithmeticcodingがある。コード化ビデオブロックは、予測ブロックを作成又は識別するために使用され得る予測情報と、元のブロックを再現するために予測ブロックに適用され得るデータの残差ブロックとによって表され得る。予測情報は、予測データブロックを識別するために使用される1つ以上の動きベクトルを備え得る。動きベクトルを使用して、デコーダは、残差ブロックをコード化するために使用された予測ブロックを再構成することが可能であり得る。従って、残差ブロックのセットと動きベクトルのセット場合によっては幾つかの追加のシンタックスとが与えられれば、デコーダは、最初に符号化されたビデオフレームを再構成することができる。連続ビデオフレーム又は他のタイプのコード化単位がしばしば類似しているので、動き推定及び動き補償に基づくインターコード化は、過大なデータ損失なしに比較的高い圧縮量を達成することができる。符号化ビデオシーケンスは、残差データのブロック、インター予測コード化されたときの動きベクトル、イントラ予測のためのイントラ予測モードの指標、及び場合によっては、シンタックスのタイプなどの他のデータを備え得る。インターコード化において達成され得る圧縮レベルのための予測精度を改善するために、サブ整数画素補間技法が開発されている。この場合、ビデオブロックをコード化するために使用される、動き補償中に生成される予測データは、サブ整数画素に対応し得、サブ整数画素の値は、動きベクトルが参照する基準ビデオフレーム又は他のコード化単位のビデオブロックのフル画素についての値から補間され得る。ビデオエンコーダは、補間技法を使用して、例えば、サポート、例えば、フル整数画素についての値及び/又は他のサブ整数画素位置の前にコード化された値のセットに補間フィルタを適用することによって、サブ整数画素位置についての値を計算し得る。サブ整数画素位置は、様々な例において、1/2画素、1/4画素、1/8画素、1/16画素、又は他の解像度など、様々な程度の解像度を有し得る。従って、ビデオエンコーダは、動き推定中に、サブ画素精度を有する動きベクトルを計算し得る。図1は、本開示の技法のうちの1つ又は複数を実施するために使用され得るビデオコード化及び復号システム10の一例を示すブロック図である。図1に示すように、システム10は、通信チャネル15を介して符号化ビデオを宛先機器16に送信する発信源機器12を含む。発信源機器12及び宛先機器16は、広範囲にわたる機器のいずれかを備え得る。場合によっては、発信源機器12及び宛先機器16のいずれか又は両方は、所謂セルラー電話又は衛星無線電話のワイヤレスハンドセットなどのワイヤレス通信機器、又は通信チャネル15を介してビデオ情報を通信することができ、その場合、通信チャネル15がワイヤレスである任意のワイヤレス機器を備え得る。但し、予測コード化中のフィルタ処理及び予測データの生成に関係する本開示の技法は、必ずしもワイヤレス適用例又は設定に限定されるわけではない。本技法はまた、物理的ワイヤ、光ファイバ又は他の物理媒体若しくはワイヤレス媒体を介して通信する機器を含む、広範囲の他の設定及び機器において有用であり得る。更に、本コード化技法又は復号技法は、必ずしも他の機器と通信するとは限らないスタンドアロン機器においても適用され得る。図1の例では、発信源機器12は、ビデオ発信源20と、ビデオエンコーダ22と、変調器/復調器モデム23と、送信機24とを含み得る。宛先機器16は、受信機26と、モデム27と、ビデオデコーダ28と、表示装置30とを含み得る。本開示によれば、発信源機器12のビデオエンコーダ22は、ビデオコード化プロセスの一部として本開示の技法のうちの1つ又は複数を適用するように構成され得る。同様に、宛先機器16のビデオデコーダ28は、ビデオ復号プロセスの一部として本開示の技法のうちの1つ又は複数を適用するように構成され得る。ここでも、図1の図示のシステム10は一例にすぎない。本開示の様々な技法は、ブロックベースの予測符号化をサポートする任意の符号化機器によって、又はブロックベースの予測復号をサポートする任意の復号機器によって実行され得る。発信源機器12及び宛先機器16は、発信源機器12が宛先機器16に送信するためのコード化ビデオデータを生成するような、コード化機器の例にすぎない。場合によっては、機器12、16の各々がビデオ符号化構成要素と復号構成要素とを含むので、機器12、16は、実質的に対称的に動作し得る。従って、システム10は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、又はビデオテレフォニーのためのビデオ機器12とビデオ機器16との間の一方向又は双方向のビデオ送信をサポートし得る。発信源機器12のビデオ発信源20は、ビデオカメラ、前に撮影されたビデオを含んでいるビデオアーカイブ、又はビデオコンテンツプロバイダからのビデオフィードなど、撮像装置を含み得る。さらなる代替として、ビデオ発信源20は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、又はライブビデオ、アーカイブビデオ、及び/又はコンピュータ生成ビデオの組合せを生成し得る。場合によっては、ビデオ発信源20がビデオカメラである場合、発信源機器12及び宛先機器16は、所謂カメラ付き携帯電話又はビデオ電話、又はタブレットコンピュータ機器など、ビデオデータを操作するように構成された他のモバイル機器を形成し得る。各場合において、撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成ビデオは、ビデオエンコーダ22によってコード化され得る。次いで、コード化ビデオ情報は、例えば、符号分割多元接続CDMA又は別の通信規格などの通信規格に従ってモデム23によって変調され、送信機24及び通信チャネル15を介して宛先機器16に送信され得る。モデム23は、信号変調のために設計された様々なミキサ、フィルタ、増幅器又は他の構成要素を含み得る。送信機24は、増幅器、フィルタ、及び1つ以上のアンテナを含む、データを送信するために設計された回路を含み得る。宛先機器16の受信機26は通信チャネル15を介して情報を受信し、モデム27はその情報を復調する。送信機24と同様に、受信機26は、増幅器、フィルタ、及び1つ以上のアンテナを含む、データを受信するために設計された回路を含み得る。幾つかの例では、送信機24及び/又は受信機26は、受信回路と送信回路の両方を含む単一のトランシーバ構成要素内に組み込まれ得る。モデム27は、信号復調のために設計された様々なミキサ、フィルタ、増幅器又は他の構成要素を含み得る。幾つかの例では、モデム23及び27は、変調と復調の両方を実行するための構成要素を含み得る。また、ビデオエンコーダ22によって実行されるビデオコード化プロセスは、動き推定と動き補償とを含み得るインター予測コード化中に本明細書で説明する技法のうちの1つ又は複数を実施し得る。ビデオデコーダ28によって実行されるビデオ復号プロセスはまた、復号プロセスの動き補償段階中にそのような技法を実行し得る。コーダという用語は、本明細書では、ビデオ符号化又はビデオ復号を実行する専用コンピュータ機器又は装置を指すために使用される。コーダという用語は、一般に、任意のビデオエンコーダ、ビデオデコーダ、又は複合エンコーダ/デコーダコーデックを指す。コード化という用語は、コード化又は復号を指す。表示装置30は、復号されたビデオデータをユーザに対して表示し、陰極線管CRT、液晶ディスプレイLCD、プラズマディスプレイ、有機発光ダイオードOLEDディスプレイ、又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。図1の例では、通信チャネル15は、無線周波数RFスペクトルあるいは1つ以上の物理伝送線路など、任意のワイヤレス又はワイヤード通信媒体、若しくはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル15は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル15は、概して、ビデオデータを発信源機器12から宛先機器16に送信するのに好適な任意の通信媒体、又は様々な通信媒体の集合体を表す。通信チャネル15は、発信源機器12から宛先機器16への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、又は任意の他の機器を含み得る。ビデオエンコーダ22及びビデオデコーダ28は、代替的にMPEG-4、Part10、AdvancedVideoCodingAVCとして説明されるITU-TH.264規格などのビデオ圧縮規格に従って動作し得る。但し、本開示の技法は、いかなる特定のビデオコード化規格にも限定されない。図1には示されていないが、幾つかの態様では、ビデオエンコーダ22及びビデオデコーダ28は、それぞれオーディオエンコーダ及びデコーダと統合され得、適切なMUX-DEMUXユニット、又は他のハードウェア及びソフトウェアを含んで、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方のコード化を処理し得る。適用可能な場合、MUX-DEMUXユニットは、ITUH.223マルチプレクサプロトコル、又はユーザデータグラムプロトコルUDPなどの他のプロトコルに準拠し得る。ビデオエンコーダ22及びビデオデコーダ28はそれぞれ、1つ以上のマイクロプロセッサ、デジタル信号プロセッサDSP、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGA、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組合せとして実施され得る。本開示の技法のいずれか又は全てがソフトウェアで実施されるとき、実施する機器は、ソフトウェアのための命令を記憶及び/又は実行するためのハードウェア、例えば、命令を記憶するためのメモリと命令を実行するための1つ以上の処理ユニットとを更に含み得る。ビデオエンコーダ22及びビデオデコーダ28の各々は1つ以上のエンコーダ又はデコーダ中に含まれ得、そのいずれかはコード化機能及び復号機能を与える複合コーデックの一部としてそれぞれモバイル機器、加入者機器、ブロードキャスト機器、サーバなどに統合され得る。ビデオシーケンスは、一般に、ビデオピクチャとも呼ばれる一連のビデオフレームを含む。ビデオエンコーダ22は、ビデオデータをコード化するために、個々のビデオフレーム内のビデオブロック上で動作する。ビデオブロックは、固定サイズ又は可変サイズを有し得、指定のコード化規格に応じてサイズが異なり得る。各ビデオフレームは一連のスライスを含む。ITU-TH.264規格では、例えば、各スライスは一連のマクロブロックを含み得、それらのマクロブロックはサブブロックに構成され得る。H.264規格は、ルーマ成分については16×16、8×8、又は4×4、及びクロマ成分については8×8など、様々なブロックサイズのイントラ予測をサポートし、ルーマ成分については16×16、16×8、8×16、8×8、8×4、4×8及び4×4、及びクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。ビデオブロックは、画素データのブロック、又は、例えば離散コサイン変換DCT若しくは概念的に同様の変換プロセスなどの変換プロセスの後の変換係数のブロックを備え得る。小さいビデオブロックほど、より良い解像度が得られ、複数の高い詳細レベルを含むビデオフレームの複数の位置に対して使用され得る。一般に、マクロブロック及び様々なサブブロックはビデオブロックであると見なされ得る。更に、スライスは、マクロブロック及び/又はサブブロックなど、一連のビデオブロックであると見なされ得る。各スライスはビデオフレームの単独で復号可能な単位であり得る。代替的に、フレーム自体が復号可能な単位であり得るか、又はフレームの他の部分が復号可能な単位として定義され得る。コード化単位という用語は、フレーム全体、フレームのスライス、ビデオデータのブロック、又は使用されるコード化技法に従って定義される別の単独で復号可能な単位など、ビデオフレームの単独で復号可能な任意の単位を指す。ビデオブロックをコード化するために、ビデオエンコーダ22は、イントラ予測又はインター予測を実行して、予測ブロックを生成する。ビデオエンコーダ22は、コード化されるべき元のビデオブロックから予測ブロックを減算して、残差ブロックを生成する。従って、残差ブロックは、コード化されているブロックと予測ブロックとの間の画素ごとの差を表し得る。ビデオエンコーダ22は、残差ブロックに対して変換を実行して、変換係数のブロックを生成し得る。イントラベース又はインターベースの予測コード化技法及び変換技法の後、ビデオエンコーダ22は変換係数を量子化し得る。量子化は、概して、係数を表すために使用されるデータ量をできるだけ低減するように係数を量子化するプロセスを指す。量子化の後、コンテキスト適応型可変長コード化CAVLC又はコンテキスト適応型バイナリ算術コード化CABACなど、エントロピーコード化方法に従ってエントロピーコード化が実行され得る。ビデオエンコーダ22によって実行されるコード化プロセスのさらなる詳細について、図2に関して以下で説明する。高効率ビデオコード化HEVCと現在呼ばれる、新しいビデオコード化規格を開発するための取り組みが現在進行中である。この今度の規格はH.265とも呼ばれる。この規格化の取り組みは、HEVCテストモデルHM:HEVCTestModelと呼ばれるビデオコード化機器のモデルに基づく。HMは、例えば、ITU-TH.264/AVCによる機器に勝るビデオコード化機器の幾つかの能力を仮定する。例えば、H.264は9つのイントラ予測コード化モードを提供するが、HMは33個ものイントラ予測コード化モードを提供する。HMは、ビデオデータのブロックをコード化単位CU:codingunitと称する。ビットストリーム内のシンタックスデータが、画素の数に関して最大のコード化単位である最大コード化単位LCU:largestcodingunitを定義し得る。概して、CUは、CUがサイズの差異を有しないことを除いて、H.264のマクロブロックと同様の目的を有する。従って、CUは、サブCUに分割され得る。概して、本開示におけるCUへの言及は、ピクチャの最大コード化単位又はLCUのサブCUを指すことがある。LCUはサブCUに分割され得、各サブCUはサブCUに分割され得る。ビットストリームのためのシンタックスデータは、CU深さと呼ばれる、LCUが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小コード化単位SCU:smallestcodingunitをも定義し得る。本開示ではまた、CU、予測単位PU:predictionunit、又は変換単位TU:transformunitのいずれかを指すためにブロックという用語を使用する。LCUは4分木データ構造に関連付けられ得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはLCUに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。4分木データ構造の各ノードは、対応するCUのシンタックスデータを与え得る。例えば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。分割されないCUは、1つ以上の予測単位PUを含み得る。概して、PUは、対応するCUの全部又は一部分を表し、そのPUの参照サンプルを取り出すためのデータを含む。例えば、PUがイントラモードコード化されるとき、PUは、PUのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモードコード化されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度例えば、1/4画素精度又は1/8画素精度、動きベクトルが指す参照フレーム、及び/又は動きベクトルの参照リスト例えば、リスト0又はリスト1を記述し得る。また、1つ以上のPUを定義するCUについてのデータは、例えば、1つ以上のPUへのCUの区分について記述し得る。区分モードは、CUがコード化されないか、イントラ予測モードコード化されるか、又はインター予測モードコード化されるかとの間で異なり得る。1つ以上のPUを有するCUは、1つ以上の変換単位TUをも含み得る。PUを使用した予測の後に、ビデオエンコーダは、PUに対応するCUの部分の残差値を計算し得る。残差値は、変換、走査、及び量子化され得る。TUは、必ずしもPUのサイズに制限されるとは限らない。従って、TUは、同じCUの対応するPUよりも大きいことも小さいこともある。幾つかの例では、TUの最大サイズは、対応するCUのサイズに対応し得る。上記のように、イントラ予測は、あるピクチャの現在のCUのPUを、同じピクチャの前にコード化されたCUから予測することを含む。より詳細には、ビデオエンコーダは、特定のイントラ予測モードを使用して、あるピクチャの現在のCUをイントラ予測し得る。HMエンコーダは、最高33個のイントラ予測モードで構成され得る。従って、方向性イントラ予測モードと方向性変換との間の1対1のマッピングをサポートするために、HMエンコーダ及びデコーダは、サポートされる各変換サイズについて66個の行列を記憶する必要があろう。更に、全ての33個のイントラ予測モードがサポートされるブロックサイズは、相対的に大きいブロック、例えば、32×32画素、64×64画素、又はより一層大きい画素になり得る。宛先機器16において、ビデオデコーダ28がコード化ビデオデータを受信する。ビデオデコーダ28は、量子化係数を得るために、CAVLC又はCABACなど、エントロピーコード化方法に従って、受信したビデオデータをエントロピー復号する。ビデオデコーダ28は、逆量子化inversequantization逆量子化de-quantization機能及び逆変換機能を適用して、画素領域中で残差ブロックを再構成する。ビデオデコーダ28はまた、コード化ビデオデータ中に含まれる例えば、コード化モード、動きベクトル、フィルタ係数を定義するシンタックスなどの制御情報又はシンタックス情報に基づいて予測ブロックを生成する。ビデオデコーダ28は、予測ブロックと再構成された残差ブロックとの合計を計算して、表示のための再構成されたビデオブロックを生成し得る。ビデオデコーダ28によって実行される例示的な復号プロセスのさらなる詳細について、図10に関して以下で説明する。本明細書で説明するように、Yが輝度を表し得、Cb及びCrが3次元YCbCr色空間のクロミナンスの2つの異なる値を表し得る。各画素位置は、実際に、3次元色空間の3つの画素値を定義し得る。但し、本開示の技法は、簡単のために1次元に対する予測に関する。技法について1次元の画素値に関して説明する限り、同様の技法が他の次元に拡張され得る。本開示の技法によれば、ビデオエンコーダ22及びビデオデコーダ28は、動き補償中に1つ以上の補間フィルタ処理技法を使用し得る。特に、本開示の一態様によれば、ビデオエンコーダ22及び/又はビデオデコーダ28は画素のブロックを取得し得、画素のブロックは、画素のブロック内の整数画素位置に対応する整数画素値を含む。ビデオエンコーダ22及び/又はビデオデコーダ28は、整数画素値に基づいて画素のブロックに関連するサブ画素位置についての値を計算し得、サブ画素値を計算することは、フィルタサポートの様々なセットに補間フィルタを適用することを備え、フィルタサポートのセットの各々は、画素のブロック中の1つ以上の整数画素位置のセットに対応する。ビデオエンコーダ22及び/又はビデオデコーダ28はまた、画素のブロックをコード化又は復号するために、サブ画素値のうちの少なくとも幾つかに基づいて予測ブロックを生成し得る。本開示の態様によれば、ビデオエンコーダ22及び/又はビデオデコーダ28は、フル整数画素位置の任意の組合せを備えるフィルタサポートに補間フィルタを適用し得る。ビデオエンコーダ22は、フル整数画素位置に関連する幾つかの例えば、15個の異なるサブ画素位置についてのフィルタ係数の複数のセットを決定し、フィルタ係数の15個のセットを符号化ビットストリームの一部として別の機器に出力し得る。このようにして、フィルタ係数の複数のセットは、全ての15個の1/2画素及び1/4画素位置についての全てのフィルタ係数を定義し得る。幾つかの例では、フル整数画素位置に関連する各1/2画素及び1/4画素についてのフィルタ係数のセットは、一意であり得る。他の例では、フル整数画素位置に関連するハーフペル及び1/4ペルについてのフィルタ係数のセットの一部又は全部は、同じであり得る。宛先機器16のビデオデコーダ28は、コード化ビデオビットストリームの一部としてフィルタ係数の1つ以上のセットを受信し、フィルタ係数の1つ以上のセットに基づいて、15個の異なるサブ画素位置に対応するフィルタ係数の15個のセットを生成し得る。ビデオデコーダ28はまた、フィルタ係数の複数のセットのうちの1つに基づいてビデオ復号のためのサブペル値を生成し得、補間予測データは、15個の異なるサブ画素位置のうちの1つに対応し、補間予測データに基づいて1つ以上のビデオブロックを復号する。本開示の別の態様によれば、ビデオエンコーダ22は、参照サンプルの複数のフル整数画素位置についての値を受信し、複数のフル整数画素位置のうちの1つの第1のサブ整数画素についての値を計算するために複数のフル整数画素位置についての値の第1のセットに補間フィルタを適用し、フル整数画素位置のうちの1つの第2の異なるサブ整数画素についての値を計算するために、複数のフル整数画素位置についての値の第2の異なるセットに同じ補間フィルタを適用し、第1のサブ整数画素と第2のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素の現在のブロックをコード化し得る。幾つかの例では、補間フィルタは第1の補間フィルタであり、ビデオエンコーダ22は更に、複数のフル整数画素位置のうちの1つの第3のサブ整数画素についての値を計算するために複数のフル整数画素位置についての値の第3のセットに第2の異なる補間フィルタを適用し得る。他の例では、サブ整数画素位置についての追加の値を計算するために複数のフル整数画素位置についての値の追加のフィルタ又はセットが使用される。ビデオエンコーダ22は、第1のサブ整数画素についての値を計算するために使用される補間フィルタの指標を与え得る。指標は、サポートの明示的指標を備え得る。代替的に、ビデオエンコーダ22及びビデオデコーダ28がサポートのセットで事前構成されたとき、指標はインデックス又は他の識別子に対応し得る。指標は、予測単位レベル、コード化単位レベル、フレームレベル、スライスレベル、又はシーケンスレベルのうちの1つにおいて与えられ得、各レベルは画素の現在のブロックに関係する。幾つかの例では、指標は、シーケンスパラメータセットSPS又はピクチャパラメータセットPPSにおいて与えられ得る。ビデオエンコーダ22は、指標を符号化ビットストリームの一部として別の機器に出力し得る。幾つかの例では、補間フィルタは、ITU-TH.264補間フィルタ、例えば、補間フィルタのセットから選択された固定補間フィルタ、又は適応補間フィルタである。その上、ビデオエンコーダ22は、上記で説明した技法と同様の技法を使用してフル画素のサブ整数画素の各々についてのサポートの指標を与え得る。補間フィルタは、分離可能フィルタ又は非分離可能フィルタであり得る。非分離可能フィルタは、中間フィルタ処理ステップを実行することなしにサブペルを直接生成するようにフィルタサポートが変更され得る、補間フィルタである。対照的に、分離可能フィルタは、フィルタ処理が別のフィルタ処理ステップに依存し得るフィルタである。例えば、双一次フィルタ処理では、第1のサブペル位置についての値を生成するために、最初にフィルタが水平方向に適用され得る。次いで、第2のサブペル位置についての値を生成するために、フィルタは転置され、第1のサブペル位置にわたって垂直方向に適用され得る。別の例では、方法は、複数のフル整数画素位置を備える参照サンプルを受信することと、参照サンプルのサブ整数画素についての値を補間するために使用される参照サンプルのフル整数画素位置のセットの指標を受信することと、参照サンプルのサブ整数画素の値を計算するために、フル整数画素位置のセットに補間フィルタを適用することと、サブ整数画素の計算された値に対する画素の現在のブロックを復号することとを備え得る。図2は、図1のビデオエンコーダ22の一例を更に詳細に示すブロック図である。ビデオエンコーダ22は、本開示に一致するインター予測技法を実行し得る。ビデオエンコーダ22は、本明細書ではコーダと呼ぶ専用ビデオコンピュータ機器又は装置の一例である。図2に示すように、ビデオエンコーダ22は、機器20のビデオエンコーダ22に対応する。但し、他の例では、ビデオエンコーダ22は、異なる機器に対応し得る。さらなる例では、他のユニット例えば、他のエンコーダ/デコーダCODECなども、ビデオエンコーダ22と同様の技法を実行することができる。ビデオエンコーダ22は、ビデオフレーム内のブロックのイントラコード化及びインターコード化を実行し得るが、説明を簡単にするために、イントラコード化構成要素は図2に示していない。イントラコード化は、所与のビデオフレーム内のビデオの空間的冗長性を低減又は除去するために空間的予測に依拠する。インターコード化は、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減又は除去するために時間的予測に依拠する。イントラモードIモードは、空間ベースの圧縮モードを指すことがある。予測Pモード又は双方向性Bモードなどのインターモードは、時間ベースの圧縮モードを指すことがある。本開示の技法はインターコード化中に適用され、従って、説明を簡単で容易にするために、空間予測ユニットなどのイントラコード化ユニットは図2に示していない。図2に示すように、ビデオエンコーダ22は、コード化されるべきビデオフレーム内のビデオブロックを受信する。図2の例では、ビデオエンコーダ22は、予測コード化ユニットMCU32と、メモリ34と、加算器48と、変換ユニット38と、量子化ユニット40と、エントロピーコード化ユニット46とを含む。ビデオブロック再構成のために、ビデオエンコーダ22はまた、逆量子化ユニット42と、逆変換ユニット44と、加算器51とを含む。幾つかの例では、再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタも含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器51の出力をフィルタ処理するであろう。一例では、図2に示すように、変換ユニット38は機能ブロックであり、HEVCの観点からTUでないことがある。予測ユニット32は、動き推定MEユニット35と、動き補償MCユニット37とを含み得る。1つ以上の補間フィルタ39本明細書ではフィルタ39と呼ぶは、本開示によれば、予測ユニット32中に含められ得、動き推定及び/又は動き補償の一部として補間を実行するために、MEユニット35とMCユニット37の一方又は両方によって起動され得る。サブ画素についての値が、隣接するフル画素についての値及び/又は隣接するサブ画素についての前に計算された値に基づいて計算される他の技法が含まれ得る。フィルタ39は、実際は、本明細書で説明するように、多数の様々なタイプの補間及び補間タイプフィルタ処理を可能にする複数の様々なフィルタを表し得る。従って、予測ユニット32は複数の補間又は補間のようなフィルタを含み得る。コード化プロセス中に、ビデオエンコーダ22は、コード化されるべき図2でビデオブロックと標示されるビデオブロックを受信し、予測ユニット32は、インター予測コード化を実行して図2で予測ブロックと標示される予測ブロックを生成する。特に、MEユニット35は、メモリ34中の予測ブロックを識別するために動き推定を実行し得、MCユニット37は、予測ブロックを生成するために動き補償を実行し得る。動き推定は、一般に、ビデオブロックの動きを推定する、動きベクトルを生成するプロセスと考えられる。動きベクトルは、例えば、現在のフレーム又は、他のコード化単位内のコード化されるべきブロックに対する、予測フレーム又は参照フレーム又は、他のコード化単位、例えばスライス内の予測ブロックの変位を示し得る。本開示の技法によれば、動きベクトルは、サブ整数画素精度を有し得る。例えば、動きベクトルの水平成分と垂直成分の両方は、それぞれのフル整数成分とサブ整数成分とを有し得る。参照フレーム又は、参照フレームの部分は、時間的に、現在のビデオブロックが属するビデオフレーム又は、ビデオフレームの部分より前に、又はその後に配置され得る。動き補償は、一般に、メモリ34から予測ブロックを取り込み又は生成するプロセスと考えられ、それは、動き推定によって決定された動きベクトルに基づいて予測データを補間するか、又は場合によっては生成することを含み得る。MEユニット35は、コード化されるべきビデオブロックを1つ以上の参照フレーム例えば、前のフレーム及び/又は後続のフレームの参照ブロックと比較することによって、そのビデオブロックのための動きベクトルを計算する。参照フレームについてのデータは、メモリ34に記憶され得る。MEユニット35は、分数画素、分数ペル、サブ整数、又はサブ画素動き推定と呼ばれることがある分数画素精度を用いて動き推定を実行し得る。従って、分数画素、分数ペル、サブ整数、及びサブ画素動き推定という用語は、互換的に使用され得る。分数画素動き推定では、MEユニット35は、整数画素位置以外の位置への変位を示す動きベクトルを計算し得る。従って、動きベクトルは、分数画素精度、例えば、1/2画素精度、1/4画素精度、1/8画素精度、又は他の分数画素精度を有し得る。このようにして、分数画素動き推定により、予測ユニット32は、整数画素又は、フル画素位置よりも高い精度を用いて動きを推定することが可能になり、従って、予測ユニット32は、より正確な予測ブロックを生成し得る。分数画素動き推定は、1/2画素精度、1/4画素精度、1/8画素精度、又は任意のより微細なサブ画素精度を有し得る。MEユニット35は、動き推定プロセス中に任意の必要な補間のために1又は複数のフィルタ39を起動し得る。幾つかの例では、メモリ34は、サブ整数画素についての補間値を記憶し得、その補間値は、例えば、1つ又は複数のフィルタ39を使用して加算器51によって計算され得る。例えば、加算器51は、メモリ34に記憶されるべき再構成されたブロックに、1つ又は複数のフィルタ39を適用し得る。分数画素動き補償を実行するために、MCユニット37は、補間フィルタ処理と呼ばれることがある補間を実行して、本明細書ではサブ画素値又は分数画素値と呼ぶサブ画素解像度におけるデータを生成し得る。MCユニット37は、この補間のために1つ又は複数のフィルタ39を起動し得る。予測ユニット32は、本明細書で説明する技法を使用して補間又は、整数画素の補間様フィルタ処理を実行し得る。このようにして、予測ユニット32は、参照ブロックのサブ整数画素位置についての値を計算し得、次いで、その値は、ビデオデータの予測ブロックを生成するために使用され得る。コード化されるべきビデオブロックのための動きベクトルがMEユニット35によって計算されると、MCユニット37は、その動きベクトルに関連する予測ビデオブロックを生成する。MCユニット37は、MCユニット35によって決定された動きベクトルに基づいて、メモリ34から予測ブロックを取り込み得る。分数画素精度をもつ動きベクトルの場合、MCユニット37は、そのようなデータをサブ画素解像度に対して補間するために、例えば、このプロセスのために1つ又は複数のフィルタ39を起動して、メモリ34からのデータをフィルタ処理し得る。場合によっては、そのようなデータをサブ画素解像度に対して補間するために使用されるフィルタ係数に対応するフル整数画素位置は、コード化ビットストリームに含めるための、エントロピーコード化ユニット46への1つ以上の補間シンタックス要素として示され得る。同様に、サブ画素予測データを生成するために使用された補間フィルタ処理技法又はモードも、コード化ビットストリームに含めるための、エントロピーコード化ユニット46への1つ以上の補間シンタックス要素として示され得る。予測ユニット32が予測ブロックを生成すると、ビデオエンコーダ22は、コード化されている元のビデオブロックから予測ブロックを減算することによって図2で残差ブロックと標示される残差ビデオブロックを形成する。加算器48は、この減算演算を実行する1つ以上の構成要素を表す。変換ユニット38は、離散コサイン変換DCT又は概念的に同様の変換など、変換を残差ブロックに適用し、残差変換ブロック係数を備えるビデオブロックを生成する。変換ユニット38は、例えば、概念的にDCTと同様である、H.264規格によって定義された変換など、他の変換を実行し得る。そのような変換は、例えば、カルーネンレーベ定理変換Karhunen-Loevetheoremtransformなどの方向性変換、ウェーブレット変換、整数変換、サブバンド変換、又は他のタイプの変換を含み得る。いずれの場合も、変換ユニット38は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報を画素領域から周波数領域に変換し得る。量子化ユニット40は、ビットレートを更に低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部又は全部に関連するビット深さを低減し得る。量子化の後、エントロピーコード化ユニット46が量子化変換係数をエントロピーコード化する。例えば、エントロピーコード化ユニット46は、CAVLC、CABAC、又は別のエントロピーコード化方法を実行し得る。エントロピーコード化ユニット46はまた、ビデオエンコーダ22の予測ユニット32又は他の構成要素から得られた1つ以上の動きベクトル及びサポート情報をコード化し得る。1つ以上の予測シンタックス要素は、コード化モード、1つ以上の動きベクトルについてのデータ例えば、水平及び垂直成分、参照リスト識別子、リストインデックス、及び/又は動きベクトル解像度シグナリング情報、サブ画素データを生成するために使用された補間技法の指標、フィルタ係数のセット又はサブセット、フィルタサポートとして使用されるフル整数画素位置又はサブ整数画素位置のセット、又は予測ブロックの生成に関連する他の情報を含み得る。エントロピーコード化ユニット46によるエントロピーコード化の後、コード化されたビデオ及びシンタックス要素は、別の機器に送信されるか、又は後で送信するか若しくは取り出すために例えば、メモリ34中にアーカイブされ得る。逆量子化ユニット42及び逆変換ユニット44は、それぞれ逆量子化及び逆変換を適用して、例えば、参照ブロックとして後で使用するために、画素領域中で残差ブロックを再構成する。図2で再構成された残差ブロックと標示される再構成された残差ブロックは、変換ユニット38に与えられる残差ブロックの再構成されたバージョンを表し得る。再構成された残差ブロックは、量子化演算及び逆量子化演算によって生じた細部の損失により、加算器48によって生成された残差ブロックとは異なり得る。加算器51は、再構成された残差ブロックを、予測ユニット32によって生成された動き補償された予測ブロックに加算して、メモリ34に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム又は後続のコード化単位中のブロックをその後コード化するために使用され得る参照ブロックとして予測ユニット32によって使用され得る。上記で説明したように、予測ユニット32は、分数画素又は、サブ画素精度を用いて動き推定を実行し得る。予測ユニット32は、分数画素動き推定を使用するとき、本開示で説明する補間演算を使用してサブ画素解像度例えば、サブ画素値又は分数画素値におけるデータを生成し得る。言い換えれば、補間演算は、整数画素位置間の位置における値を計算するために使用され得る。整数画素位置間の距離の1/2に配置されるサブ画素位置は1/2画素1/2ペル位置と呼ばれることがあり、整数画素位置と1/2画素位置との間の距離の1/2に配置されるサブ画素位置は1/4画素1/4ペル位置と呼ばれることがあり、整数画素位置又は、1/2画素位置と1/4画素位置との間の距離の1/2に配置されるサブ画素位置は1/8画素1/8ペル位置などと呼ばれる。本開示の技法によれば、同じフル画素の2つのサブ整数画素についての値を計算するために、補間フィルタ39のうちの同じ補間フィルタがサポートの2つ以上の異なるセットに適用され得る。以下でより詳細に説明するように、予測ユニット32は、例えば、フル画素の第1のサブ整数画素についての値を計算するために、サポートの第1のセットにフィルタ39のうちの1つを適用し、同じフル画素の第2のサブ整数画素についての値を計算するために、サポートの第2の異なるセットに同じ補間フィルタを適用し得る。その上、サポートのセットは、様々な形状、例えば、線形水平、垂直、左上から右下に傾斜する対角、右上から左下に傾斜する対角など、フル画素において交差するX字形、円形例えば、フル画素の周りの円形形状の画素、行列例えば、フル画素の複数の行における2つ以上の画素、又は他の形状を有し得る。このようにして、ビデオエンコーダ22は、参照サンプルの複数のフル整数画素位置についての値を受信し、複数のフル整数画素位置のうちの1つの第1のサブ整数画素についての値を計算するために複数のフル整数画素位置についての値の第1のセットに補間フィルタを適用し、フル整数画素位置のうちの1つの第2の異なるサブ整数画素についての値を計算するために、複数のフル整数画素位置についての値の第2の異なるセットに同じ補間フィルタを適用し、第1のサブ整数画素と第2のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素の現在のブロックをコード化するように構成されたビデオエンコーダの一例を表す。図3は、予測データに関連する整数画素又は、フル画素位置と、補間予測データに関連するサブ画素又は、分数画素位置とを示す概念図である。図3の概念図では、異なるボックスが、フレーム又はフレームのブロック内の画素及びサブ画素位置を表す。実線のボックス中の数字付き大文字は整数画素位置を表し、点線のボックス中の小文字はサブ画素位置を表す。特に、画素位置A1~A6、B1~B6、C1~C6、D1~D6、E1~E6、及びF1~F6は、フレーム、スライス、又は他のコード化単位内の整数画素位置の6×6アレイを表す。サブ画素位置a~oは、整数画素C3に関連する15個のサブ画素位置、例えば、整数画素位置C3とC4とD3とD4との間のサブ画素位置を表す。同様のサブ画素位置が、あらゆる整数画素位置に対して存在し得る。サブ画素位置a~oは、整数画素C3に関連する1/2ペル及び1/4ペル画素位置を表す。以下でより詳細に説明するように、例えば、サポートの異なるセットに同じ補間フィルタを適用することによって、サブ画素a~oのうちの2つ以上についての値を計算するために、同じ補間フィルタが使用され得る。整数画素位置は、ビデオデータが最初に生成されたとき、フォトダイオードなどの物理的センサ要素に関連し得る。フォトダイオードは、センサの位置における光源の強度を測定し、画素強度値を整数画素位置に関連付け得る。この場合も、各整数画素位置は、15個の又は場合によってはより多い又はより少ないサブ画素位置の関連するセットを有し得る。整数画素位置に関連するサブ画素位置の数は所望の精度に依存し得る。図3に示す例では、所望の精度は1/4画素精度であり、その場合、整数画素位置の各々は、15個の異なるサブ画素位置に関係する。より多い又はより少ないサブ画素位置は、所望の精度に基づいて各整数画素位置に関連し得る。1/2画素精度の場合、例えば、各整数画素位置は、3つのサブ画素位置に対応し得る。別の例として、整数画素位置の各々は、1/8画素精度の場合、63個のサブ画素位置に対応し得る。各画素位置は、1つ以上の画素値、例えば、1つ以上の輝度及びクロミナンス値を定義し得る。図3の例では、整数画素C3に関連するサブ画素位置が、1/4画素精度について示されている。画素C3に関連する15個のサブ画素位置は、a、b、c、d、e、f、g、h、i、j、k、l、m、n、及びoと標示される。他の整数画素位置に関連する以下で更に詳細に説明する画素位置C3に関連する15個の異なる部分位置のうちの1つ以上を生成するために使用されるもの以外の他の部分位置の殆んどは、簡単のために示さない。サブ画素位置b、h及びjは1/2画素位置と呼ばれることがあり、サブ画素位置a、c、d、e、f、g、i、k、l、m、n、及びoは1/4画素位置と呼ばれることがある。ビデオエンコーダ40の予測ユニット32は、MC処理ユニット37による補間フィルタ処理を使用してサブ画素位置a~oの画素値を決定し得る。予測ユニット32は、36タップ補間フィルタを使用してサブ画素位置a~oについての画素値を決定し得る。予測ユニット32は、サブ画素位置の各々について36個のフル整数画素位置全てに補間フィルタを適用し得る。他の例では、フル整数画素位置のサブセットは、サブ画素位置についての値を補間するためのフィルタサポートとして使用される。一例では、ビデオエンコーダ40の予測ユニット32は、ITU-TH.264規格に一致する補間フィルタを使用するMCU37によって補間フィルタ処理を使用して、サブ画素位置についての画素値a~oを決定し得る。ITU-TH.264規格に一致して、例えば、予測ユニット32は、ウィーナーフィルタWienerfilterなどの6タップ補間フィルタを使用して、1/2画素位置についての画素値を決定し得る。H.264規格の場合、6タップ補間フィルタのためのフィルタ係数は一般に[1,-5,20,20,-5,1]であるが、他の係数が使用され得る。予測ユニット32は、6つのフル整数画素位置の任意のセットに補間フィルタを適用し得る。一例では、1/2画素位置bの場合、6タップフィルタのタップは、B3、B4、C3、C4、D3、及びD4に対応し得る。他の例では、1/2画素位置bの場合の6タップフィルタのタップは、6つのフル整数画素位置の別のセットであり得る。同様に、一例では、1/2画素位置hの場合、6タップフィルタのタップは、C2、C3、C4、D2、D3、及びD4に対応し得る。例えば、サブ画素位置jについての画素値は、式1又は式2を使用して計算され得る。j1632j1632上記の式1及び式2は、フル整数画素位置の値が6タップフィルタの異なる係数にどのように関連し得るかの一例を示す。他の例では、フル整数画素位置の値は、6タップフィルタの異なる係数に対応し得る。一例では、サブ画素位置に最も近い、サブ画素位置についてのフィルタサポートにおけるフル整数画素位置は、フィルタ中でより高く重み付けされた係数を与えられるが、サブ画素位置からより遠いフル整数画素位置は、より低い重みを与えられる。他の例では、どのフル整数画素位置がどの係数に対応するかを決定するための他の方法が使用される。同じフルペルフル画素の異なるサブペルは、異なるサポートを使用して計算され得る。例えば、幾つかのサブ画素位置上記で説明したフル画素位置C3に関連するb及びhなどは、フル整数画素位置の同じ又は異なるサブセットを用いて計算され得るが、サブ画素位置は、他のサブ画素位置に基づいて決定され得る。例えば、フル画素位置C3にも関連する1/2画素位置jは、サブ画素位置に依存する双一次補間フィルタを使用して計算され得る。1/2画素位置jの場合、6タップフィルタのタップは、位置C1~C6とD1~D6との間で水平に、又は、位置A3~F3とA4~F4との間で垂直に補間されたそれら自体に対応する。1/2画素位置jは、例えば、式3又は式4のうちの1つに従って、1/2画素位置の予め補間された画素値を使用する6タップフィルタを用いて計算され得る。j1632j1632但し、図3に示すようにaaはA3とA4との間の補間に対応し、bbはB3とB4との間の補間に対応し、bはC3とC4との間の補間に対応し、hhはD3とD4との間の補間に対応し、iiはE3とE4との間の補間に対応し、jjはF3とF4との間に補間に対応する。式4では、ccはC1とD1との間の補間に対応し、ddはC2とD2との間の補間に対応し、hはC3とD3との間の補間に対応し、eeはC4とD4との間の補間に対応し、ffはC5とD5との間の補間に対応し、ggはC6とD6との間の補間に対応する。H.264規格に一致して、予測ユニット32は、双一次補間フィルタと、周囲の整数画素位置及び1/2画素位置の画素値とを使用して、1/4画素位置a、c、d、e、f、g、i、k、l、m、n及びoにおける幾つかの画素値を決定し得る。例えば、予測ユニット32は、C3の画素値とbの画素値とを使用して、サブ画素位置aに関連する画素値を決定し、bの画素値とC4の画素値とを使用して、サブ画素位置cに関連する画素値を決定し得、以下同様である。サブ画素位置において補間データを生成するためにMCユニット37によって適用される実際のフィルタには、多種多様な実装形態があり得る。一例として、予測ユニット32は、以下で説明する適応補間フィルタ処理AIFを使用して、補間値を定義し得る。ITU-TSG16/Q.6/VCEGVideoCodingExpertGroup委員会は、H.264よりも高いコード化効率を提供するコード化技術、特にAIFを調査している。AIFは、特に高い解像度例えば、720i/p又は1080i/pをもつビデオシーケンス上で、H.264規格で使用される補間フィルタ処理よりも大きいコード化利得を提供する。AIFでは、サブ画素位置ごとの補間フィルタは、予測誤差エネルギーを最小限に抑えることによって、ビデオフレームごとに分析的に計算される。これは、エイリアシング、量子化誤差及び動き推定誤差、カメラノイズ、又は元のビデオフレーム及び参照ビデオフレーム中に含まれる他のアーティファクトに対処するのに役立つ。次いで、フレームごとに分析的に導出された適応フィルタ係数は、予測され、量子化され、コード化され、ビデオビットストリームで送られ得る。本開示の技法の一部は、AIF方式ならびに多くの他の補間方式内で動作することができる。多くの様々なタイプのAIF方式が、本開示の態様に一致する。例えば、第1の方式は2次元の分離不可能なAIFNS-AIFであり、第2の方式は分離可能なAIFS-AIFであり、第3の方式は方向フィルタをもつAIFD-AIFである。これらのAIF方式の各々は、異なる補間技法及びサポートを使用するが、全ての3つのAIF方式は、同様の分析プロセスを使用してフィルタ係数を導出し得、以下に一例として分離不可能なAIFを使用して説明する。任意の所与のサブ画素位置のための異なるフル整数画素位置の場合に、これらのAIF方式のいずれかが使用され得る。但し、i,j=0...5であり、SPは、図3に示す15個のサブ画素位置a~oのうちの1つを表す。15個のサブ画素位置のうちの6つ、即ちa、b、c、d、h及びlは1次元1Dサブ画素位置であり、予測ユニット32は6タップ補間フィルタを使用してそのようなデータを補間し得ることに留意されたい。サブ画素位置a、b、c、d、h及びlは、2つの整数画素位置間の水平線又は垂直線に配置されるという点で1Dである。また、参照フレーム中の整数画素位置図3のA1~F6における予測画素が、画素値Pij、但しi,j=0...5をとると仮定する。即ち、A1は値P00をとり、...、A6は値P50をとり、...、F1は値P50をとり、...、F6は値P55をとる。次いで、サブ画素位置SPにおける補間値pSP、SP∈{a,...,o}は、以下の式を使用して予測ユニット32によって計算され得る。Sxyを位置x,yにおける現在のビデオフレーム中の画素値とする。例えば、6タップフィルタの場合、FO=6/2-1=2である。サブ画素位置SPごとに、現在のフレーム中の実際の画素値と補間値との間の予測誤差エネルギーeSP2が、サブ画素位置SPに対応する動きベクトル精度を有する全ての画素に対して、予測ユニット32によって蓄積され得る。予測誤差エネルギーeSP2は、以下の式を使用して予測ユニット32によって計算され得る。式の数は、この場合、現在のサブ画素位置SPに使用されるフィルタ係数の数に等しい。各サブ画素位置に対して、予測ユニット32は、6×6のタップ1D補間フィルタ例えば、1D6タップフィルタを使用し得る。他の例では、予測ユニット32は、異なるタップ補間フィルタ例えば、1D12タップフィルタを使用し得る。1D6タップフィルタの場合、6つの式のシステムは、MCユニット37によって解決され得る。1つ又は複数のフィルタ39は、予測データを生成するためにMCユニット37によって使用され得る1つのフィルタ又は多くの様々なフィルタのセットを表し得る。従って、AIFフィルタを導出し、適用する1つの例示的なプロセスは、予測ユニット32によって実行され得る以下のステップを有し得る。1.コード化されるべきあらゆるビデオブロックについて動きベクトルmvx,mvyを推定する。動き推定中に、固定補間フィルタ例えば、H.264/AVCの補間プロセスが適用され得る。3.新しい動きベクトルを推定する。この動き推定プロセス中に、ステップ2で計算された適応補間フィルタが適用され得る。適応補間フィルタを使用して、エイリアシング、カメラノイズなどによって生じた動き推定誤差が低減され得、より良い動き予測が達成される。上記のように、異なるAIF方式が同じ分析プロセスを使用し得る。異なる方式間の差は、大部分、補間フィルタが分離可能であるか分離不可能であるかにかかわらず、使用される一意のフィルタ係数の数と、サブ画素位置の少なくとも一部分を補間するために使用される整数画素位置などの使用されるフィルタサポートとにある。これらの方式の各々では、フル整数画素位置の異なるセットが、異なるサブ画素位置について使用され得る。NS-AIFの場合、例えば、予測ユニット32のMCユニット37は、6つの係数を必要とする各タップが整数画素位置と対応するので6位置フィルタとも呼ばれる1D6タップ補間フィルタを使用して、1Dサブ画素位置a、b、c、d、h、及びlを補間し得る。サブ画素を補間するために使用される6位置フィルタの6つの係数はそれぞれ、図3に示した整数画素位置のうちの1つに対応する。例えば、サブ画素位置aの場合、係数に対応する6つの整数画素位置は、C1、C2、C3、C4、C5、及びC6であり得る。他の例では、フル整数画素位置の任意の6つのメンバーサブセットは、サブ画素位置aについての値を計算するために使用され得る。これらの整数画素位置は補間フィルタのフィルタサポートの例を表す。幾つかの例では、フィルタサポートは、他のサブ整数画素についての前に計算された値を含み得る。別のAIF方式、即ち、S-AIFでは、予測ユニット32は、NS-AIFで使用される分離不可能な補間フィルタの代わりに、フル整数画素位置の任意のサブセットを使用する分離可能補間フィルタを使用し得る。例えば、1Dサブ画素位置の場合、予測ユニット32例えば、予測ユニット32のMCユニット37は、サブ画素位置に応じて、水平方向フィルタのみ、垂直方向フィルタのみ、対角フィルタ図4及び図5参照のみ、組み合わされた水平及び垂直方向フィルタ図5参照のみ、矩形フィルタ図7及び図8参照のみ、又はフィルタサポートの任意の他の組合せを適用する。一例では、対角フィルタは、6位置又は6タップフィルタを備える。予測ユニット32は、フィルタサポートとして整数画素位置A1、B2、C3、D4、E5、及びF6図4参照を用いてサブ画素位置e、j、及びoに対して対角フィルタを適用し、フィルタサポートとして整数画素位置A3、B3、C3、D3、E3及びF3図6参照を用いて、サブ画素位置d、h、及びlに対して垂直方向フィルタを適用する。残りのサブ画素位置、即ち、2Dサブ画素位置に対して、予測ユニット32は、対角フィルタ処理、その後に垂直フィルタ処理を適用するか、又は垂直フィルタ処理、その後に対角フィルタ処理を適用し得る。この場合も、分離可能な対角フィルタ及び垂直フィルタのために使用されるフィルタ係数は、適応補間フィルタ処理を対象とする例において上記の式7に従って計算され得る。他の例では、フィルタサポートの任意のサブセット及び形状が、サブ画素位置についての値を計算するために使用され得る。予測ユニット32のMCユニット37は、本明細書で説明する補間技法のうちの1つ以上を使用し得、その補間技法は、サブ画素位置についての値の補間中にコード化利得を増加させ、及び/又はサブ画素位置を補間するために使用されるフィルタサポートの可変性を増加させ得る。本開示は、対角サポート、又は放射形状をもつ12画素フィルタサポートなど補間のために使用され得るフィルタサポートのセットの他の例について以下で更に詳細に説明する。更に、補間フィルタ間で選択するための技法、フィルタサポートを選択するための技法、及びフィルタ係数を予測コード化するための技法についても説明する。図4は、サブ整数画素位置に関する対角6画素フィルタサポートを示す概念図である。本開示によれば、MCユニット37は、影付き整数画素値に基づいてサブ画素位置a~oのいずれかについてのサブ画素値を計算し得る。この場合、サブ画素値のいずれかを計算することは、図4に示すサブ画素位置に関連するフル整数画素位置と対角である6つの又は場合によってはより多くの整数画素位置のセットに対応するフィルタサポート位置の対角アレイを使用する補間フィルタを適用することを備える。フィルタサポート位置は陰影付きで大文字を用いて示し、サブ画素位置は点線と小文字のボックスとして示す。MCユニット37は、このようにして、ビデオブロック中の画素のサブセットのみに対して画素を補間し得、サブ画素値を補間することに基づいて予測ブロックを生成し得る。他の例では、MCユニット37は、このようにして、ビデオブロックのあらゆる画素に対して画素を補間し得る。6位置フィルタサポートは、この例では対角形状を有する。しかしながら、他の例では、任意の他の6位置フィルタサポートは、任意の他の形状を有することができる。サブ画素位置を通して対角になる6つ以上の整数画素位置のセットを図4に陰影付きで示す。フィルタサポートは、サブ画素位置を囲む4つの整数位置のうちの2つの整数位置C3及びD4、ならびにC3及びD4を通る対角線に沿った4つの整数画素位置A1、B2、E5、及びF6を含み得る。そのようなフィルタ処理は、ビデオエンコーダ22図2によるビデオコード化プロセス中に、又はビデオデコーダ28図10によるビデオ復号プロセス中に、動き補償の一部を形成し得る。ビデオコード化プロセス中に、予測ユニット32は、予測シンタックス要素の一部として係数値の複数のセットをエントロピーコード化ユニット46にフォワーディングし得る。図4に示すように、サブ画素位置を囲む6つ以上の整数画素位置のセットは、対角形状を有する。別の例では、フィルタサポートは、サブ画素位置を囲む4つの整数位置のうちの2つの整数位置C4及びD3、並びにC4及びD3を通る対角線に沿った4つの整数画素位置A6、B5、E2、及びF1を含み得る。幾つかの例では、サブ画素位置a~oのサブセットのみが、対角フィルタサポートを使用して決定される。他の例では、サブ画素位置a~oの全てが、対角フィルタサポートを使用して決定される。エントロピーコード化ユニット46は、係数値のセットをコード化し、コード化ビットストリームの一部として補間フィルタの係数値を出力し得、次いで、符号化ビットストリームは別の機器に送信され得る。図4に示す各異なるサブ画素位置に関して定義された係数値の複数のセットの各々は、6つ以上の整数画素位置に対して異なる重み付けを定義し得る。エントロピーコード化ユニット46はまた、フィルタサポートのセットをコード化し、符号化ビットストリームの一部としてフィルタサポートのセットを出力し得、次いで、コード化ビットストリームは別の機器に送信され得る。サブ整数画素位置の異なるセットは、フィルタサポートの異なるセットを有し得る。更に、フィルタサポートの異なるセットは、同じ又は異なる補間フィルタに適用され得る。図5は、サブ整数画素位置に関するx字形12画素フィルタサポートを示す概念図である。本開示によれば、MCユニット37は、影付き整数画素値に基づいてサブ画素位置a~oのいずれかについてのサブ画素値を計算し得る。この場合、サブ画素値のいずれかを計算することは、図5に示すサブ画素位置を囲む4つのフル整数画素位置と対角である12個の又は場合によってはより多くの整数画素位置のセットに対応するフィルタサポート位置のx字形アレイを定義する補間フィルタを適用することを備える。フィルタサポート位置は陰影付きで大文字を用いて示し、サブ画素位置は点線と小文字のボックスとして示す。MCユニット37は、このようにして、ビデオブロック中の画素のサブセットのみに対して画素を補間し得、サブ画素値を補間することに基づいて予測ブロックを生成し得る。他の例では、MCユニット37は、このようにして、ビデオブロックのあらゆる画素に対して画素を補間し得る。12個の位置フィルタサポートは、x字形を有する。しかしながら、他の例では、サブ画素位置のいずれかについての任意の他の12個の位置フィルタサポートは、任意の他の形状を有することができる。サブ画素位置を通してx字形になる12個以上の整数画素位置のセットを図5に陰影付きで示す。フィルタサポートは、サブ画素位置を囲む4つの整数位置C3、C4、D3、及びD4と、C3及びD4を通る対角線に沿った4つの整数画素位置A1、B2、E5、及びF6と、C4及びD3を通る対角線に沿った4つの整数画素位置A6、B5、E2、及びF1とを含み得る。そのようなフィルタ処理は、ビデオエンコーダ22図2によるビデオコード化プロセス中に、又はビデオデコーダ28図10によるビデオ復号プロセス中に、動き補償の一部を形成し得る。ビデオ符号化プロセス中に、予測ユニット32は、予測シンタックス要素の一部として係数値の複数のセットをエントロピーコード化ユニット46に転送し得る。幾つかの例では、サブ画素位置a~oのサブセットのみが、x字形フィルタサポートを使用して決定される。他の例では、サブ画素位置a~oの全てが、x字形フィルタサポートを使用して決定される。エントロピーコード化ユニット46は、係数値のセットをコード化し、コード化ビットストリームの一部として補間フィルタの係数値を出力し得、次いで、符号化ビットストリームは別の機器に送信され得る。図5に示す各異なるサブ画素位置に関して定義された係数値の複数のセットの各々は、12個以上の整数画素位置に対して異なる重み付けを定義し得る。エントロピーコード化ユニット46はまた、フィルタサポートのセットをコード化し、コード化ビットストリームの一部としてフィルタサポートのセットを出力し得、次いで、符号化ビットストリームは別の機器に送信され得る。図6は、少なくとも1つのサブ画素位置に関する十字形12画素フィルタサポートを示す概念図である。本開示によれば、MCユニット37は、影付き整数画素値に基づいて、フル画素位置に関連する任意のサブ画素位置についてのサブ画素値を計算し得る。この場合、サブ画素値のいずれかを計算することは、12個の又は場合によってはより多くの整数画素位置のセットに対応するフィルタサポート位置のt字形アレイを定義する補間フィルタを適用することを備え、整数画素位置のセットは、サブ画素位置を囲む4つのフル整数画素位置例えば、C3、C4、D3、及びD4、及び垂直整数画素位置例えば、A3、B3、E3、及びF3、並びに水平整数画素位置例えば、C1、C2、C5、及びC6を含み得る。フィルタサポート位置は陰影付きで大文字を用いて示し、幾つかのサブ画素位置は点線と小文字のボックスとして示す。MCユニット37は、このようにして、ビデオブロック中の画素のサブセットのみに対して画素を補間し得、サブ画素値を補間することに基づいて予測ブロックを生成し得る。他の例では、MCユニット37は、このようにして、ビデオブロックのあらゆる画素に対して画素を補間し得る。図6に示すように、3つの水平サブ画素位置a、b、及びcと、3つの垂直サブ画素位置d、h、及びlとは、12画素フィルタサポートを用いて予測され得る。しかしながら、他の例では、フル画素位置図6に示すC3などに関連する任意のサブ画素位置は、図6に示す12画素フィルタサポートを使用して予測され得る。同様に、エントロピーコード化ユニット46は、係数値のセットをコード化し、コード化ビットストリームの一部として補間フィルタの係数値を出力し得、次いで、符号化ビットストリームは別の機器に送信され得る。図5に示す各異なるサブ画素位置に関して定義された係数値の複数のセットの各々は、12個以上の整数画素位置に対して異なる重み付けを定義し得る。エントロピーコード化ユニット46はまた、フィルタサポートのセットをコード化し、符号化ビットストリームの一部としてフィルタサポートのセットを出力し得、次いで、符号化ビットストリームは別の機器に送信され得る。図7は、サブ画素位置に関する円形放射形とも呼ばれる12画素フィルタサポートを示す概念図である。上記で説明した異なるフィルタサポートの例と同様に、MCユニット37は、影付き整数画素値に基づいて、任意のサブ画素位置についてのサブ画素値を計算し得る。この場合、サブ画素値を計算することは、図7に示すように、サブ画素位置を囲む12個の又は場合によっては、より多い又はより少ない整数画素位置のセットに対応するフィルタサポート位置の2次元アレイを定義する補間フィルタを適用することを備える。フィルタサポート位置は陰影付きで大文字を用いて示し、サブ画素位置は点線と小文字のボックスとして示す。MCユニット37は、このようにして、ビデオブロックの任意の画素に対して画素を補間し得、補間されたサブ画素値に基づいて予測ブロックを生成し得る。12位置フィルタサポートは、放射形状を有し、NS-AIFで使用される36位置フィルタサポートと同様の周波数応答を有するが、補間の複雑さは低減されている。サブ画素位置を囲む、12個以上の整数画素位置のセットは、図4に陰影付きで示されており、15個のハーフペル値及びクォーターペル値を囲む4つの整数画素位置C3、C4、D3及びD4、ならびに4つの整数画素位置を囲む8つの整数画素位置B3、B4、C2、C5、D2、D5、E3及びE4を含み得る。図7に示すフィルタサポート位置の2次元アレイ中のフィルタサポート位置の各々は、サブ画素位置に対する2つの整数画素位置内にある。そのようなフィルタ処理は、ビデオエンコーダ22図2によるビデオコード化プロセス中に、又はビデオデコーダ28図16によるビデオ復号プロセス中に、動き補償の一部を形成し得る。ビデオコード化プロセス中に、予測ユニット32は、予測シンタックス要素の一部として係数値の複数のセットをエントロピーコード化ユニット46に転送する。図4に示したように、サブ画素位置を囲む12個の整数画素位置のセットは、放射形状を有し、補間フィルタ例えば、図2の1つ以上のフィルタ39によって定義されたサブペル値に空間的に最も近い整数画素位置のセットを備え得る。他の例では、図7に示す放射形状は、例えば、左側又は右側に1つのフル画素だけシフトされ得る。更に他の例では、フル整数画素位置の任意の数の任意のセットが、補間フィルタを用いてサブペル位置を予測するために使用される。図8は、少なくとも1つのサブ整数画素位置に関する方形4画素フィルタサポートを示す概念図である。本開示によれば、MCユニット37は、影付き整数画素値に基づいて、フル画素位置に関連する任意のサブ画素位置についてのサブ画素値を計算し得る。この場合、サブ画素値のいずれかを計算することは、4つの整数画素位置のセットに対応するフィルタサポート位置の方形アレイを定義する補間フィルタを適用することを備える。図8に示した例では、4つの整数画素位置は、サブ画素位置を囲む4つのフル整数画素位置、即ち、C3、C4、D3、及びD4を含む。フィルタサポート位置は陰影付きで大文字を用いて示し、幾つかのサブ画素位置は点線と小文字のボックスとして示す。MCユニット37は、このようにして、ビデオブロック中の画素のサブセットのみに対して画素を補間し得、サブ画素値を補間することに基づいて予測ブロックを生成し得る。他の例では、MCユニット37は、このようにして、ビデオブロックのあらゆる画素に対して画素を補間し得る。MCユニット37は、これらの4つの整数画素位置を使用してサブ画素位置を予測するために任意の適切なタイプの補間フィルタを使用し得る。他の例では、MCユニット37は、4つのフル整数画素位置の任意のセットを使用してサブ画素位置を補間し得る。図9は、サブ整数画素位置に関する矩形6画素フィルタサポートを示す概念図である。この例では、MCユニット37は、影付き整数画素値に基づいて、フル画素位置に関連する任意のサブ画素位置についてのサブ画素値を計算し得る。フィルタサポート位置は陰影付きで大文字を用いて示し、幾つかのサブ画素位置は点線と小文字のボックスとして示す。この場合、サブ画素値のいずれかを計算することは、6つの整数画素位置のセットに対応するフィルタサポート位置の矩形アレイを定義する補間フィルタを適用することを備える。図8に示した例では、6つの整数画素位置は、サブ画素位置を囲む4つのフル整数画素位置、ならびにサブ画素位置を囲む4つのフル整数画素位置に隣接する2つのさらなるフル整数画素位置を含む。図9では、サブ画素位置fが予測されるので、フィルタサポートは、サブ画素fの周りに配置された4つのフル画素位置C3、C4、D3、及びD4、ならびに隣接するフル画素位置B3及びB4を含む。他の例では、隣接するフル画素位置は、C2及びD2、C5及びD5、又はE3及びE4を含み得る。他の例では、MCユニット37は、6つのフル整数画素位置の任意のセットを使用してサブ画素位置を補間し得る。任意の好適な6タップ補間フィルタは、サブ整数画素位置を予測するために使用され得る。エントロピーコード化ユニット46は、係数値のセットをコード化し、符号化ビットストリームの一部として補間フィルタの係数値を出力し得、次いで、符号化ビットストリームは別の機器に送信され得る。図9に示す各異なるサブ画素位置に関して定義された係数値の複数のセットの各々は、12個以上の整数画素位置に対して異なる重み付けを定義し得る。エントロピーコード化ユニット46はまた、フィルタサポートのセットをコード化し、コード化ビットストリームの一部としてフィルタサポートのセットを出力し得、次いで、符号化ビットストリームは別の機器に送信され得る。再び図3を参照すると、単一の予測単位内のサブ整数画素位置の異なるセットは、同じ画像フレームからのフィルタサポートの異なるセットに同じ補間フィルタを適用していることがある。更に、同じ又は異なる補間フィルタは、単一の予測単位内のフィルタサポートの異なるセットに適用され得る。例えば、サブ画素位置eは、図4に示したように6つの対角サポートを使用して予測され得る。サブ画素eについてのフィルタサポートは、フル整数画素位置A1、B2、C3、D4、E5、及びF6を含み得る。サブ画素eのために使用される補間フィルタは、6タップウィーナーフィルタであり得る。同じ予測単位内で、サブ画素位置jは、図5に示したようにx字形を有する12個のフル整数画素位置のセットを使用して予測され得る。サブ画素jについてのフィルタサポートは、フル整数画素位置A1、A6、B2、B5、C3、C4、D3、D4、E2、E5、F1、及びF6を含み得る。サブ画素eのために使用される補間フィルタは、12タップウィーナーフィルタtwelve-tapWienerfilterであり得る。更に、サブ整数画素位置hは、図6に示したように十字形サポートを使用して予測され得る。サブ画素hについてのフィルタサポートは、A3、B3、C1、C2、C3、C4、C5、C6、D3、D4、E3、及びF3を含む12個のフル整数画素位置を含み得る。サブ画素hを予測するために使用される補間フィルタは、12タップ分離可能又は非分離可能フィルタであり得る。別のサブペル位置kは、図7に示したように予測され得る。サブ画素kについての円形のフィルタサポートは、B3、B4、C2、C3、C4、C5、D2、D3、D4、D5、E3、及びE4を含む12個のフル整数画素位置を含み得る。サブ画素hを予測するために使用される補間フィルタは、12タップフィルタであり得る。更に、図8に示したように、サブ整数画素位置mは、サブ画素mに最も近い4つのフル整数画素位置を使用して予測され得る。サブ画素mのためのC3、C4、D3、及びD4を含むフィルタサポートを用いた4タップ補間フィルタが使用され得る。別の例として、サブ整数画素位置fは、図9に示すように矩形サポートを使用して予測され得る。サブ画素fについてのフィルタサポートは、B3、B4、C3、C4、D3、及びD4を含む6つのフル整数画素位置を含み得る。サブ画素fを予測するために使用される補間フィルタは、12タップ分離可能又は非分離可能フィルタであり得る。予測単位のためのサブ画素位置を予測するために使用されるフィルタサポートの異なるセットのわずか数例について上記で説明した。本明細書で説明するように、サブ画素位置e、j、h、k、m、及びfはそれぞれ、異なるフィルタサポートを使用して予測される。これらのサブ画素位置のうちの幾つかは、同じ補間フィルタを使用して予測され得る。例えば、サブ画素e及びfは両方とも、6タップウィーナーフィルタsix-tapWienerfilterを使用して予測され得る。他のサブ画素位置は、他のサブ画素位置とは異なる補間フィルタを使用して予測され得る。他の例では、幾つかのフル整数画素位置は、サブ画素位置の値を計算することにおいて繰り返され得る。例えば、1D6タップ補間フィルタ1D6-tapinterpolationfilterが使用されている場合、サブ画素位置についてのサポートは、6つ未満のフル整数画素位置のセットを備え得る。そのような例では、フル整数画素位置のうちの1つ又は複数が繰り返される。一例では、サブ画素位置に最も近いそれらのフル整数画素位置は、繰り返されるフル整数画素位置である。同様に、一例では、1/2画素位置eの場合、6タップフィルタのタップは、B3、C3、C4、D3、及びD4に対応し得る。例えば、サブ画素位置eについての画素値は、式8を使用して計算され得る。e1632これらの特定の例で説明したように、サブペル位置は、別のサブペル位置に依存しない。しかしながら、他の例では、サブペル位置は、別のサブペル位置に依存し得る。各サブ画素位置についてのフィルタサポートの任意の組合せ及び補間フィルタの任意の選定を含む、多くの他の例が考えられる。他の多くのフィルタサイズ及び形状が、サブペルフィルタ処理に応じて使用され得る。図10は、本明細書で説明する方法でコード化されたビデオシーケンスを復号し得るビデオデコーダ28の一例を示すブロック図である。ビデオデコーダ28は、本明細書ではコーダと呼ぶ専用ビデオコンピュータ機器又は装置の一例である。図10に示すように、ビデオデコーダ28は、機器20のビデオデコーダ28に対応する。但し、他の例では、ビデオデコーダ28は、異なる機器に対応し得る。さらなる例では、他のユニット例えば、他のエンコーダ/デコーダCODECなども、ビデオデコーダ28と同様の技法を実行することができる。ビデオデコーダ28は、量子化係数及び予測シンタックス要素を生成するために、受信したビットストリームをエントロピー復号するエントロピー復号ユニット52を含む。予測シンタックス要素は、コード化モード、1つ以上の動きベクトル、サブ画素データを生成するために使用される補間技法を識別する情報、補間フィルタ処理中に使用するための係数、及び/又は予測ブロックの生成に関連する他の情報を含み得る。予測シンタックス要素、例えば、係数は、予測ユニット55に転送される。固定フィルタの係数に対して又は互いに対して係数をコード化するために予測が使用された場合、係数予測及び逆量子化ユニット53は、実際の係数を定義するためにシンタックス要素を復号することができる。また、量子化が予測シンタックスのいずれかに適用された場合、係数予測及び逆量子化ユニット53は、そのような量子化を除去することもできる。例えば、フィルタ係数は、本開示に従って予測コード化され、量子化され得、この場合、係数予測及び逆量子化ユニット53は、そのような係数を予測的に復号し、逆量子化するためにビデオデコーダ28によって使用され得る。予測ユニット55は、ビデオエンコーダ22の予測ユニット32に関して上記で詳細に説明したのと殆んど同じ方法で、メモリ62に記憶された予測シンタックス要素と1つ以上の前に復号されたブロックとに基づいて、予測データを生成し得る。特に、予測ユニット55は、動き補償中に本開示の補間フィルタ処理技法のうちの1つ以上を実行して、1/4画素精度などの特定の精度で予測ブロックを生成し得る。従って、本開示の技法のうちの1つ又は複数は、予測ブロックを生成する際にビデオデコーダ28によって使用され得る。予測ユニット55は、本開示の補間及び補間様フィルタ処理技法のために使用されるフィルタを備える動き補償ユニットを含み得る。動き補償構成要素は、説明を簡単で容易にするために図10に示していない。逆量子化ユニット56は、量子化された係数を逆量子化inversequantize、即ち、逆量子化dequantizeする。逆量子化プロセスは、H.264復号、又は任意の他の復号規格のために定義されたプロセスであり得る。逆変換ユニット58は、画素領域における残差ブロックを生成するために、変換係数に、逆変換、例えば、逆DCT又は概念的に同様の逆変換プロセスを適用する。加算器64は、残差ブロックを、予測ユニット55によって生成された対応する予測ブロックと加算して、ビデオエンコーダ22によってコード化された元のブロックの再構成されたバージョンを形成する。必要に応じて、ブロックノイズを除去するために、デブロッキングフィルタを適用して、復号ブロックをフィルタ処理し得る。次いで、復号ビデオブロックはメモリ62に記憶され、メモリ62は、その後の動き補償のために参照ブロックを与え、図1の機器28などの表示装置を駆動するために復号ビデオをも生成する。本開示の補間フィルタ処理技法を使用して、ビデオデコーダ28は、任意のサイズ又は形状のフィルタサポートを有する補間フィルタを使用してサブ画素位置についての画素値を計算し得る。一例では、ビデオデコーダ28は、36位置フィルタサポート即ち、図3に示す2D6×6フィルタサポートを使用してサブ画素についての画素値を計算するためにNS-AIF技法を使用する。別の例として、S-AIFは、補間フィルタ処理のためのフィルタサポートとして、分離可能整数画素位置を使用し得る。更に別の例では、D-AIFは、6位置フィルタサポート又は12位置対角フィルタサポートのいずれかを有する補間フィルタを使用してサブ画素位置を計算する。サブ画素位置を計算するために、任意のITU-TH.264補間フィルタなど、他の補間フィルタが使用され得る。次に、サブ画素位置をコード化又は復号するために、既知の、又は後で企図される任意の好適な補間フィルタが使用され得る。更に、ビデオデコーダ28は、固定補間フィルタ、交換補間フィルタ、又は適応補間フィルタである補間フィルタ、若しくはそれらの組合せを使用し得る。補間フィルタは、更に分離可能又は非分離可能であり得る。一例では、ビデオデコーダ28は、例えば、ビデオエンコーダ22からの受信したビットストリームにおいて適用すべきフィルタの指標、及びフィルタを適用すべきフィルタサポートのセットの指標を受信し得る。場合によっては、フィルタサポートは、所与のサブ画素とのそれの可能性のある相関に基づいて選定され得る。例えば、D-AIFに記載の対角フィルタサポートを使用することの1つの欠点は、フィルタ処理で使用される整数画素位置が、補間されるべき現在の位置からはるかに離れているということである。補間されるべき現在の位置とフィルタサポートとして使用される画素の位置との間の距離が増加するにつれて、空間画素相関は減少する。従って、D-AIFで使用される対角フィルタサポートは、正確な予測を形成することにあまり適していない。D-AIFによって提供される同じ低複雑度を維持しながら、補間されるべき位置とのより高い相関をもつ画素即ち、補間されるべき位置により近い、又は補間されるべき位置からより短い距離の画素位置を使用してより良い予測を行うために、フィルタサポートのより好適なセットがサブ画素に対して使用され得る例えば、図8に示した4位置フィルタサポートは、補間のために使用され得る。本開示で説明する4位置フィルタサポートで使用される整数画素位置は、サブ画素位置を囲む4つの整数画素位置即ち、整数画素位置C3、C4、D3、及びD4を含み、4つの整数画素位置は、サブ画素位置のコーナーの近くに配置されるので、コーナー整数画素位置と呼ばれることがある。コーナー整数画素位置に加えて、図9に示したように、コーナー整数画素位置に直接隣接する1つ以上の整数画素位置も、フィルタサポートで使用され得る。コーナー整数画素位置に直接隣接する整数画素位置は、コーナー整数画素位置のすぐ上上部又は北の方向又は、すぐ下下部又は南の方向の整数画素位置及び、コーナー整数画素位置のすぐ左又は西、又は、すぐ右又は東の整数画素位置を含み得る。これらの特定の例では、これらの整数画素位置の全ては、補間されるべきサブ画素の2つの整数画素位置内に配置される。しかしながら、本開示の技法によるフィルタサポートは、追加の整数画素位置を含み得る。例えば、フィルタサポートは、補間されるべきサブ画素位置の、放射形状を形成する3つの整数画素位置内に配置された整数画素位置を含み得る。更に、フィルタサポートは、サブ画素位置の4つ以上の整数画素位置内に配置された整数画素位置を含み得る。幾つかの例では、フィルタサポートは、所与のコード化ブロック中にフル整数画素位置の任意のサブセットを含み得る。1/4画素位置又はより微細な解像度でも、少なくとも2つの整数画素位置内に配置された整数画素位置に基づいて補間され得る。また、フィルタサポートは、サブ画素位置とのフル整数画素位置の相関に基づいて選定され得る。このように、本開示のフィルタサポート技法は、補間されるべき位置とのより高い相関をもつ整数画素を使用して、より良い補間予測を行う。更に、任意のサブペルは、そのサブペルが依存する別のサブペルを予測又は復号する必要なしに予測又は復号され得る。図11は、本開示に一致する画素フィルタサポートを利用するビデオエンコーダの例示的な動作を示す流れ図である。図11の技法について図2のビデオエンコーダ22の観点から説明するが、他の機器でも同様の技法を実行し得る。ビデオエンコーダ22は、参照サンプルの複数のフル整数画素位置についての値を受信する102。ビデオエンコーダ22は、複数のフル整数画素位置のうちの1つの第1のサブ整数画素についての値を計算するために、複数のフル整数画素位置についての値の第1のセットに補間フィルタを適用する104。ビデオエンコーダ22は、フル整数画素位置のうちの1つの第2の異なるサブ整数画素についての値を計算するために、複数のフル整数画素位置についての値の第2の異なるセットに同じ補間フィルタを適用する106。これらの計算された値に基づいて、ビデオエンコーダ22は、第1のサブ整数画素と第2のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素の現在のブロックをコード化し得る。図11に関して説明したビデオエンコーダ22の例示的な動作と同様の技法について、図12及び図13において更に説明する。図12は、本開示に一致する画素フィルタサポートを利用するビデオエンコーダの別の例示的な動作を示す流れ図である。図12の技法について図2のビデオエンコーダ22の観点から説明するが、他の機器でも同様の技法を実行し得る。図示のように、図12では、予測ユニット32のMCユニット37は、整数画素位置に対応する整数画素値を含む画素のブロックをメモリ34から得る112。各サブ画素位置について、エンコーダ22は、画素のブロック中でフル整数画素位置のサブセットを備えるフィルタサポートを決定する114。フィルタサポートを決定するための方法について、図12及び図13に関して以下で説明する。フィルタサポートを決定するための方法は、ビデオエンコーダ22など、使用されているエンコーダの特定の特性に依存し得る。1つ以上のフィルタ39は、サブ画素位置を囲む任意の数のフル整数画素位置を備えるフィルタサポートのセットに基づいてサブ画素値を計算する116。上記でより詳細に説明したように、フィルタサポートは任意の可能なサブ画素補間を生成するために使用され得る。フィルタサポートが決定されると、MCユニット37は、次いで、計算されたサブ画素値に基づいて予測ブロックを生成する118。特に、MCユニット37は、補間サブ画素値を備える補間予測ブロックを生成し、出力し得る。加算器48は、次いで、例えば、コード化されているビデオブロックから補間予測ブロックを減算することによって、補間予測ブロックに基づいて現在のビデオブロックをコード化120して、残差ブロックを生成する。次いで、残差ブロックは、それぞれ変換ユニット38及び量子化ユニット40によって変換及び量子化される。エントロピーコード化ユニット46によるエントロピーコード化の後、ビデオエンコーダ22は、コード化ビデオビットストリームとフィルタ情報とを出力する122。フィルタ情報は、本明細書で説明するように、各サブ画素位置をコード化するためにどんなフィルタサポートが使用されたかの指標を備え得る。フィルタ情報はまた、特定のサブ画素位置のためにどんな補間フィルタが使用されたかの指標を含み得る。フィルタ情報は、コード化単位ごとに1回出力され、又は場合によっては、コード化単位の様々なエリアが様々なタイプのサブペル補間を使用するならば、コード化単位ごとに数回出力され得る。図13は、本開示に一致するサブ整数画素のためのフィルタサポートを決定する例示的な方法を示す流れ図である。図13の技法について図2のビデオエンコーダ22の観点から説明するが、他の機器でも同様の技法を実行し得る。ビデオエンコーダ22は、画素のブロック中のサブ画素位置ごとにどのフィルタサポートを使用すべきかを決定するために、マルチパス技法を採用し得る。図13に示すように、ビデオエンコーダ22は、フル整数画素位置の第1のセットを使用して補間されるサブ画素位置に基づいて、画素のブロックについての第1の動きベクトルを計算する132。例えば、従来の動き推定方法を使用して、フレームについて動きベクトルが計算され得る。上記で説明したように、サブペル位置を予測するために、任意の形状又は数のフル整数画素位置が使用され得る。ビデオエンコーダ22は、第1の動きベクトルについての第1の誤差値を計算する134。一例では、エンコーダ22は、サブペル位置についての予測の平均2乗誤差を使用して第1の誤差値を計算し得る。ビデオエンコーダ22は、フル整数画素位置の第2のセットを使用して補間されるサブ画素位置に基づいて、画素のブロックについての第2の動きベクトルを計算する136。フル整数画素位置の第1のセットは、フル整数画素位置の第2のセットとは異なり得る。ビデオエンコーダ22は、第2の動きベクトルについての第2の誤差値を計算する138。同様に、第2の誤差値は、平均2乗誤差計算を使用して計算され得る。第1の誤差値と第2の誤差値との比較に基づいて、エンコーダ22は、フル整数画素位置の第1のセットと第2のセットとのうちの一方を選択する140。例えば、フル整数画素位置のセットが、サブ画素位置についてのより小さい誤りを生じるために、フル整数画素位置のそのセットは、サブ画素位置についてのフィルタサポートとして選択され得る。図13に示す技法は、画素のブロック中のサブ画素位置ごとに適用され得る。他の例では、図13に示す技法は、単一のサブ画素位置についての画素のブロック当たり1回適用され得る。一例では、この決定は、サブ画素ごとに行われ得る。更に、この例示的な方法は、複数の異なる補間フィルタの各々について実行され得る。そのような例では、フィルタサポート及び補間フィルタは、最小誤りを与えることなど、所与のファクタのために選定され得る。あるサブペル、例えば、サブペルbを指す全てのブロックについて、エンコーダ22は、フル整数画素位置の複数のセットを使用してサブペルbを予測する。次いで、エンコーダ22は、サブペルbの様々な予測について平均2乗誤差を計算し、最小誤りを与えるサブペルbの予測に対応するフル整数画素位置のセットを選択し得る。ビデオエンコーダ22は、サブ画素位置ごとに、このプロセスを繰り返し得る。他の例では、ビデオエンコーダ22は、同様の状況にあるサブ画素位置にフィルタサポートの同様のセットを適用する。図14は、本開示に一致するサブ整数画素のためのフィルタサポートを決定する別の例示的な方法を示す流れ図である。この例では、第1の前にコード化されたフレーム中のサブ画素位置ごとにフィルタサポートを決定する152。一例では、フィルタサポートは、図13に関して説明したように第1のフレームについて決定される。ビデオエンコーダ22は、フィルタサポートのセットが、先行するフレーム中の対応するサブ画素に適用されたとき、第2の後続のフレーム中の各サブ画素にフィルタサポートの同じセットを適用する154。例示的な方法は、マルチパス技法を実行することを回避する。サブペル位置についてのフィルタサポートを選択する他の方法は、サブ画素位置を囲む任意の数のフル整数画素位置のサブセットを選択することを含み得る。フル整数画素位置は、予測されるべきサブ画素位置の位置、サブ画素位置とのフル整数画素位置の相関、又はサブ画素位置へのフル整数画素位置の近接度を含む、任意の数のファクタに基づいて選択され得る。図3及び図7に示すように、サブ画素値についてのフィルタサポートの幾つかの例示的なセットは、サブ画素位置を囲む12個以上の位置を備えるフィルタサポートのセットに基づき得る。別の例では、図4~図7及び図9に示すように、1つ又は複数のフィルタ39は、サブ画素位置に関連するフル整数画素位置を含む6つ以上の位置を備えるフィルタサポートのセットに基づいて、サブ画素値を計算する。更に別の例では、図8に示したように、1つ又は複数のフィルタ39は、サブ画素位置を囲む4つのフル整数画素位置を備えるフィルタサポートのセットに基づいて、サブ画素値を計算する。図15は、本開示に一致するフィルタサポートを利用するビデオデコーダの例示的な動作を示す流れ図である。従って、図15のプロセスは、図11のコード化プロセスとは逆の復号プロセスと考えられ得る。図14について図10のビデオデコーダ28の観点から説明するが、他の機器でも同様の技法を実行し得る。ビデオデコーダ28は、複数のフル整数画素位置を備える参照サンプルを受信する172。一例では、ビデオデコーダ28は、ビデオエンコーダ22などのビデオエンコーダから参照サンプルを受信する。ビデオデコーダ28は、参照サンプルのフル整数画素位置のセットの指標を受信する174。フル整数画素位置のセットは、参照サンプルのサブ整数画素についての値を補間するために使用されていることがある。参照サンプルのサブ整数画素の値を計算するために、ビデオエンコーダ28が、フル整数画素位置のセットに補間フィルタを適用する176。ビデオデコーダ28はまた、サブ整数画素の計算された値に対する画素の現在のブロックを復号する178。図15に関して説明したビデオデコーダ28の例示的な動作と同様の技法について、図16において更に説明する。図16は、本開示に一致するフィルタサポートを利用するビデオデコーダの別の例示的な動作を示す流れ図である。従って、図16のプロセスは、図12のコード化プロセスとは逆の復号プロセスと考えられ得る。図14について図10のビデオデコーダ28の観点から説明するが、他の機器でも同様の技法を実行し得る。図14に示すように、ビデオデコーダ28は、符号化ビデオブロックとフィルタ情報とを受信する202。エントロピー復号ユニット52は、この受信情報をエントロピー復号し得る。予測ユニット55は、本開示の技法に従って補間動き補償を実行する。特に、予測ユニット55は、整数画素位置に対応する整数画素値を含む画素のブロックをメモリ62から得る204。予測ユニット55は、受信した動きベクトルを使用して、補間をどのように実行するかを決定し得る。動きベクトルに基づいて、予測ユニット55は、フィルタサポートのセットと補間フィルタのタイプとに基づいてサブ画素を計算する206。幾つかの例では、補間フィルタのタイプは、幾つかのサブ画素位置について同じままである。一例では、画素の現在のブロックをコード化するために使用されるフル整数画素位置のセットの指標は、画素の現在のブロックの予測単位レベル、コード化単位レベル、フレームレベル、スライスレベル、又はシーケンスレベルのうちの少なくとも1つでデコーダ28に与えられる。このようにして、予測ユニット55は、補間を使用して予測ブロックを生成する208。加算器64を呼び出して予測ブロックを残差ブロックに加算210することによって、予測ブロックを使用して残差ビデオブロックを復号する。サブ画素位置についてのフィルタサポートの異なるセットの使用を含む、本明細書で説明する補間の様々な態様は、従来の技法よりも良好な品質の補間データを与えることによってビデオコード化を改善し得る。本開示で説明する技法は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ユニット又は構成要素として説明する特徴は、集積論理機器に一緒に、又はディスクリートであるが相互運用可能な論理機器として別々に実装され得る。ソフトウェアで実装した場合、本技法は、実行されたときに、上記で説明した方法のうちの1つ又は複数を実行する命令を備えるコンピュータ可読媒体によって少なくとも部分的に実現され得る。コンピュータ可読媒体は、パッケージング材料を含む、コンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、シンクロナスダイナミックランダムアクセスメモリSDRAMなどのランダムアクセスメモリRAM、読取り専用メモリROM、不揮発性ランダムアクセスメモリNVRAM、電気的消去可能プログラマブル読取り専用メモリEEPROM、フラッシュメモリ、磁気又は光学データ記憶媒体などを備え得る。本技法は、追加又は代替として、命令又はデータ構造の形態でコードを搬送又は通信し、コンピュータによってアクセス、読取り、及び/又は実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。コードは、1つ以上のデジタル信号プロセッサDSPなどの1つ以上のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路ASIC、フィールドプログラマブル論理アレイFPGA、あるいは他の等価な集積回路又はディスクリート論理回路によって実行され得る。従って、本明細書で使用するプロセッサという用語は、前述の構造、又は本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。更に、幾つかの態様では、本明細書で説明した機能は、コード化及び復号のために構成された専用のソフトウェアユニット又はハードウェアユニット内に提供され得、あるいは複合ビデオエンコーダ/デコーダコーデックに組み込まれ得る。ユニットとしての様々な機能の図は、図示した機器の様々な機能的態様を強調するものであり、そのようなユニットが別々のハードウェア又はソフトウェア構成要素によって実現されなければならないことを必ずしも暗示するわけではない。そうではなく、1つ以上のユニットに関連する機能は、共通又は別個のハードウェア又はソフトウェア構成要素内に組み込まれ得る。本開示の様々な例について説明した。これら及び他の例は以下の特許請求の範囲内に入る。"