(57)【要約】      （修正有）【課題】ビデオデータのブロックをコード化するためにエンコーダとデコーダとによって適用されるサブ整数画素の値を計算するための技法を提供する。【解決手段】ビデオエンコーダが、参照サンプルのフル整数画素位置についての値を受信することと、フル整数画素位置のうちの１つの第１のサブ整数画素についての値を計算するために、フル整数画素位置についての値の第１のセットに補間フィルタを適用することと、フル整数画素位置のうちの１つの第２の異なるサブ整数画素についての値を計算するために、フル整数画素位置についての値の第２の異なるセットに補間フィルタを適用することと、第１のサブ整数画素と第２のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素の現在のブロックをコード化することとを行うように構成される。【選択図】図２
2015046907.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを符号化する方法であって、
参照サンプルのフル整数画素位置についての値を受信することと、
前記フル整数画素位置のうちの１つの第１のサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第１のセットに補間フィルタを適用することと、
前記フル整数画素位置のうちの前記１つの第２の異なるサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第２の異なるセットに前記補間フィルタを適用することと、
前記第１のサブ整数画素と前記第２のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素のブロックを符号化することと、
を備える方法。
【請求項２】
前記補間フィルタが第１の補間フィルタであり、前記フル整数画素位置のうちの前記１つの第３のサブ整数画素についての値を計算するために、前記フル整数画素位置についての値の第３のセットに第２の異なる補間フィルタを適用することを更に備える、請求項１に記載の方法。
【請求項３】
前記第１のサブ整数画素についての前記値を計算するために使用される前記補間フィルタの指標を与えることを更に備える、請求項１に記載の方法。
【請求項４】
画素の前記ブロックを符号化するために使用される前記フル整数画素位置のセットの指標を与えることを更に含み、前記セットが前記第１のセットと前記第２のセットとのうちの一方に対応する、請求項１に記載の方法。
【請求項５】
前記複数のフル整数画素位置のうちの前記１つに対応する予測単位の予測単位ヘッダ、前記予測単位を備えるコード化単位のコード化単位ヘッダ、前記コード化単位を備えるフレーム単位のフレームヘッダ、前記フレーム単位を備えるスライス単位のスライスヘッダ、又は前記フレーム単位を備えるシーケンス単位のシーケンスヘッダのうちの少なくとも１つにおける画素の前記ブロックを符号化するために使用される前記フル整数画素位置の前記セットの前記指標を与えることを更に備える、請求項４に記載の方法。
【請求項６】
整数画素位置の複数のセットから前記フル整数画素位置の前記セットを選択することであって、前記セットへのインデックスが、前記第１のサブ整数画素位置と前記第２のサブ整数画素位置とのうちの一方についての前記値を計算するために使用される前記フル整数画素位置の前記セットを示すように、前記フル整数画素位置の前記セットの前記指標が前記インデックスを識別する、選択することを更に備える、請求項４に記載の方法。
【請求項７】
前記フル整数画素位置についての前記値の前記第１のセットが、前記フル整数画素位置のうちの４つのフル整数画素位置の前記値、即ち、前記第１のサブ整数画素に関連する前記複数のフル整数画素位置のうちの前記１つのほぼ付近に位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記複数のフル整数画素位置のうちの前記１つのほぼ付近の対角方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記複数のフル整数画素位置のうちの前記１つのほぼ付近の水平方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記複数のフル整数画素位置のうちの前記１つのほぼ付近の垂直方向の１つに位置するフル整数画素位置の前記値とのうちの少なくとも１つを備える、請求項１に記載の方法。
【請求項８】
前記第１のサブ整数画素についての前記値が第１の値を備え、前記方法が、
前記第１のサブ整数画素のための第２の値を計算するために前記フル整数画素位置についての値の第２のセットに前記補間フィルタを適用することと、
前記第１の値と前記第２の値との各々のための誤差値を決定することと、
少なくとも前記第１の値と前記第２の値との間の前記誤差値に基づいて、前記フル整数画素位置についての値の前記第１のセットと、前記フル整数画素位置についての値の前記第２のセットとのうちの一方を選択することと
を更に備える、請求項１に記載の方法。
【請求項９】
データをコード化するための装置であって、参照サンプルのフル整数画素位置についての値を受信することと、前記フル整数画素位置のうちの１つの第１のサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第１のセットに補間フィルタを適用することと、前記フル整数画素位置のうちの前記１つの第２の異なるサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第２の異なるセットに前記補間フィルタを適用することと、前記第１のサブ整数画素と前記第２のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素のブロックをコード化することとを行うように構成されたビデオエンコーダを備える、装置。
【請求項１０】
前記補間フィルタが第１の補間フィルタを備え、前記ビデオエンコーダが、前記フル整数画素位置のうちの１つの第３のサブ整数画素についての値を計算するために、前記フル整数画素位置についての値の第３のセットに第２の異なる補間フィルタを適用するように更に構成された、請求項９に記載の装置。
【請求項１１】
前記ビデオエンコーダが、前記第１のサブ整数画素についての前記値を計算するために使用される前記補間フィルタの指標を与えるように構成された、請求項９に記載の装置。
【請求項１２】
前記ビデオエンコーダが、画素の前記ブロックをコード化するために使用される前記フル整数画素位置のセットの指標を与えるように更に構成され、前記セットが前記第１のセットと前記第２のセットとのうちの一方に対応する、請求項９に記載の装置。
【請求項１３】
画素の前記ブロックをコード化するために使用される前記フル整数画素位置の前記セットの前記指標が、前記フル整数画素位置のうちの前記１つに対応する予測単位の予測単位ヘッダ、前記予測単位を備えるコード化単位のコード化単位ヘッダ、前記コード化単位を備えるフレーム単位のフレームヘッダ、前記フレーム単位を備えるスライス単位のスライスヘッダ、又は前記フレーム単位を備えるシーケンス単位のシーケンスヘッダのうちの少なくとも１つにおいて与えられる、請求項１２に記載の装置。
【請求項１４】
前記ビデオエンコーダが、整数画素位置の複数のセットから前記フル整数画素位置の前記セットを選択するように更に構成され、前記セットへのインデックスが、前記第１のサブ整数画素位置と前記第２のサブ整数画素位置とのうちの一方についての前記値を計算するために使用される前記フル整数画素位置の前記セットを示すように、前記フル整数画素位置の前記セットの前記指標が前記インデックスを識別する、請求項９に記載の装置。
【請求項１５】
前記フル整数画素位置についての前記値の前記第１のセットが、前記フル整数画素位置のうちの４つのフル整数画素位置の前記値、即ち、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近に位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の対角方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の水平方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の垂直方向の１つに位置するフル整数画素位置の前記値とのうちの少なくとも１つを備える、請求項９に記載の装置。
【請求項１６】
前記第１のサブ整数画素についての前記値が第１の値を備え、前記ビデオエンコーダが、前記第１のサブ整数画素のための第２の値を計算するために前記フル整数画素位置についての値の第２のセットに前記補間フィルタを適用することと、誤差値又は前記第１の値と前記第２の値との各々を決定することと、少なくとも前記第１の値と前記第２の値との間の前記誤差値に基づいて、前記フル整数画素位置についての値の前記第１のセットと、前記フル整数画素位置についての値の前記第２のセットとのうちの一方を選択することとを行うように更に構成された、請求項９に記載の装置。
【請求項１７】
実行されたとき、
参照サンプルのフル整数画素位置についての値を受信することと、
前記フル整数画素位置のうちの１つの第１のサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第１のセットに補間フィルタを適用することと、
前記フル整数画素位置のうちの前記１つの第２の異なるサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第２の異なるセットに前記補間フィルタを適用することと、
前記第１のサブ整数画素と前記第２のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素のブロックを符号化することと、
をビデオコード化装置のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
【請求項１８】
前記補間フィルタが第１の補間フィルタであり、前記命令が、前記フル整数画素位置のうちの１つの第３のサブ整数画素についての値を計算するために、前記フル整数画素位置についての値の第３のセットに第２の異なる補間フィルタを適用することを前記ビデオコード化装置に更に行わせる、請求項１７に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記命令は、画素の前記ブロックを符号化するために使用される前記フル整数画素位置のセットの指標を与えることを前記ビデオコード化装置に更に行わせ、前記セットが前記第１のセット又は前記第２のセットのうちの一方に対応する、請求項１７に記載のコンピュータ可読記憶媒体。
【請求項２０】
画素の前記ブロックを符号化するために使用される前記フル整数画素位置の前記セットの前記指標が、前記フル整数画素位置のうちの前記１つに対応する予測単位の予測単位ヘッダ、前記予測単位を備えるコード化単位のコード化単位ヘッダ、前記コード化単位を備えるフレーム単位のフレームヘッダ、前記フレーム単位を備えるスライス単位のスライスヘッダ、又は前記フレーム単位を備えるシーケンス単位のシーケンスヘッダのうちの少なくとも１つにおいて与えられる、請求項１９に記載のコンピュータ可読記憶媒体。
【請求項２１】
前記フル整数画素位置についての前記値の前記第１のセットが、前記フル整数画素位置のうちの４つのフル整数画素位置の前記値、即ち、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近に位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の対角方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の水平方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の垂直方向の１つに位置するフル整数画素位置の前記値とのうちの少なくとも１つを備える、請求項１７に記載のコンピュータ可読記憶媒体。
【請求項２２】
参照サンプルのフル整数画素位置についての値を受信するための手段と、
前記フル整数画素位置のうちの１つの第１のサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第１のセットに補間フィルタを適用するための手段と、
前記フル整数画素位置のうちの前記１つの第２の異なるサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第２の異なるセットに前記補間フィルタを適用するための手段と、
前記第１のサブ整数画素と前記第２のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素のブロックをコード化するための手段と
を備える装置。
【請求項２３】
前記補間フィルタが第１の補間フィルタであり、前記装置が、前記フル整数画素位置のうちの前記１つの第３のサブ整数画素についての値を計算するために、前記フル整数画素位置についての値の第３のセットに第２の異なる補間フィルタを適用するための手段を更に備える、請求項２２に記載の装置。
【請求項２４】
画素の前記ブロックを符号化するために使用される前記フル整数画素位置のセットの指標を与えるための手段を更に備え、
前記セットが前記第１のセットと前記第２のセットとのうちの一方に対応し、
画素の前記ブロックを符号化するために使用される前記フル整数画素位置の前記セットの前記指標が、前記フル整数画素位置のうちの前記１つに対応する予測単位の予測単位ヘッダ、前記予測単位を備えるコード化単位のコード化単位ヘッダ、前記コード化単位を備えるフレーム単位のフレームヘッダ、前記フレーム単位を備えるスライス単位のスライスヘッダ、又は前記フレーム単位を備えるシーケンス単位のシーケンスヘッダのうちの少なくとも１つにおいて与えられる、請求項２２に記載の装置。
【請求項２５】
画素の前記ブロックを符号化するために使用される前記フル整数画素位置のセットの指標を与えるための手段であって、前記セットが前記第１のセットと前記第２のセットとのうちの一方に対応する、与えるための手段と、
整数画素位置の複数のセットから前記フル整数画素位置の前記セットを選択するための手段と、
を更に備え、
前記複数のセットへのインデックスが、前記第１のサブ整数画素位置と前記第２のサブ整数画素位置とのうちの一方についての前記値を計算するために使用される前記フル整数画素位置の前記セットを示すように、前記フル整数画素位置の前記セットの前記指標が前記インデックスを識別する、請求項２２に記載の装置。
【請求項２６】
ビデオデータを復号する方法であって、
フル整数画素位置を備える参照サンプルを受信することと、
前記参照サンプルのサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置のセットの指標を受信することと、
前記参照サンプルの前記サブ整数画素の前記値を計算するために、前記フル整数画素位置の前記セットに補間フィルタを適用することと、
前記サブ整数画素の前記計算された値に対する画素のブロックを復号することと
を備える方法。
【請求項２７】
前記指標が第１の指標であり、前記フル整数画素位置の前記セットがフル整数画素位置の第１のセットであり、前記サブ整数画素が第１のサブ整数画素であり、
前記参照サンプルの第２のサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置の第２のセットの指標を受信することと、
前記参照サンプルの前記第２のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第２のセットに前記補間フィルタを適用することと、
前記第２のサブ整数画素の前記計算された値に対する画素の第２のブロックを復号することと、
を更に備える、請求項２６に記載の方法。
【請求項２８】
前記第２のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第２のセットに前記補間フィルタを適用することが、前記第１のサブ整数画素の前記値を計算することとは無関係に前記第２のサブ整数画素の前記値を計算することを更に備える、請求項２７に記載の方法。
【請求項２９】
前記参照サンプルの前記フル整数画素位置のセットの指標を受信することが、前記複数のフル整数画素位置のうちの前記１つに対応する予測単位の予測単位ヘッダ、前記予測単位を備えるコード化単位のコード化単位ヘッダ、前記コード化単位を備えるフレーム単位のフレームヘッダ、前記フレーム単位を備えるスライス単位のスライスヘッダ、又は前記フレーム単位を備えるシーケンス単位のシーケンスヘッダのうちの少なくとも１つにおいて前記指標を受信することを更に備える、請求項２６に記載の方法。
【請求項３０】
前記参照サンプルの前記第１のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第１のセットに前記補間フィルタを適用することが、第１の補間フィルタを適用することを更に備え、
前記参照サンプルの前記第２のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第２のセットに前記補間フィルタを適用することが、第２の異なる補間フィルタを適用することを更に備える、請求項２６に記載の方法。
【請求項３１】
複数のセットへのインデックスが、前記参照サンプルのサブ整数画素についての前記値を計算するために使用される前記フル整数画素位置の前記セットを示すように、前記フル整数画素位置の前記セットの前記指標が前記インデックスを識別する、請求項２６に記載の方法。
【請求項３２】
前記フル整数画素位置についての前記値の前記セットが、前記フル整数画素位置のうちの４つのフル整数画素位置の前記値、即ち、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近に位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の対角方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の水平方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の垂直方向の１つに位置するフル整数画素位置の前記値とのうちの少なくとも１つを備える、請求項２６に記載の方法。
【請求項３３】
前記参照サンプルの前記サブ整数画素の前記値を計算することが、前に復号された画素のブロックに少なくとも部分的に基づいて前記参照サンプルの前記サブ整数画素の前記値を計算することを更に備える、請求項２６に記載の方法。
【請求項３４】
データを復号するための装置であって、フル整数画素位置を備える参照サンプルを受信することと、前記参照サンプルのサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置のセットの指標を受信することと、前記参照サンプルの前記サブ整数画素の前記値を計算するために、前記フル整数画素位置の前記セットに補間フィルタを適用することと、前記サブ整数画素の前記計算された値に対する画素のブロックを復号することとを行うように構成されたビデオデコーダを備える、装置。
【請求項３５】
前記指標が第１の指標であり、前記フル整数画素位置の前記セットがフル整数画素位置の第１のセットであり、前記サブ整数画素が第１のサブ整数画素であり、前記ビデオデコーダが、前記参照サンプルの第２のサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置の第２のセットの指標を受信することと、前記参照サンプルの前記第２のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第２のセットに前記補間フィルタを適用することと、前記第２のサブ整数画素の前記計算された値に対する画素の第２のブロックを復号することとを行うように更に構成された、請求項３４に記載の装置。
【請求項３６】
前記ビデオデコーダが、前記第１のサブ整数画素の前記値を計算することとは無関係に前記第２のサブ整数画素の前記値を計算するように更に構成された、請求項３５に記載の装置。
【請求項３７】
前記参照サンプルの前記第１のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第１のセットに前記補間フィルタを適用することが、第１の補間フィルタを適用することを更に備え、
前記参照サンプルの前記第２のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第２のセットに前記補間フィルタを適用することが、第２の異なる補間フィルタを適用することを更に備える、請求項３５に記載の装置。
【請求項３８】
前記ビデオデコーダが、前記複数のフル整数画素位置のうちの前記１つに対応する予測単位の予測単位ヘッダ、前記予測単位を備えるコード化単位のコード化単位ヘッダ、前記コード化単位を備えるフレーム単位のフレームヘッダ、前記フレーム単位を備えるスライス単位のスライスヘッダ、又は前記フレーム単位を備えるシーケンス単位のシーケンスヘッダのうちの少なくとも１つにおいて前記参照サンプルの前記フル整数画素位置の前記セットの前記指標を受信するように更に構成された、請求項３４に記載の装置。
【請求項３９】
複数のセットへのインデックスが、前記参照サンプルのサブ整数画素についての前記値を計算するために使用される前記フル整数画素位置の前記セットを示すように、前記フル整数画素位置の前記セットの前記指標が前記インデックスを識別する、請求項３４に記載の装置。
【請求項４０】
前記フル整数画素位置についての前記値の前記セットが、前記フル整数画素位置のうちの４つのフル整数画素位置の前記値、即ち、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近に位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の対角方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の水平方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の垂直方向の１つに位置するフル整数画素位置の前記値とのうちの少なくとも１つを備える、請求項３４に記載の装置。
【請求項４１】
前記ビデオデコーダが、前に復号された画素のブロックに少なくとも部分的に基づいて前記参照サンプルの前記サブ整数画素の前記値を計算するように更に構成された、請求項３４に記載の装置。
【請求項４２】
実行されたとき、
フル整数画素位置を備える参照サンプルを受信することと、
前記参照サンプルのサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置のセットの指標を受信することと、
前記参照サンプルの前記サブ整数画素の前記値を計算するために、前記フル整数画素位置の前記セットに補間フィルタを適用することと、
前記サブ整数画素の前記計算された値に対する画素のブロックを復号することと
をビデオ復号装置のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
【請求項４３】
前記指標が第１の指標であり、前記フル整数画素位置の前記セットがフル整数画素位置の第１のセットであり、前記サブ整数画素が第１のサブ整数画素であり、前記命令が、前記参照サンプルの第２のサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置の第２のセットの指標を受信することと、前記参照サンプルの前記第２のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第２のセットに前記補間フィルタを適用することと、前記第２のサブ整数画素の前記計算された値に対する画素の第２のブロックを復号することとをビデオコード化装置に更に行わせる、請求項４２に記載のコンピュータ可読記憶媒体。
【請求項４４】
前記参照サンプルの前記フル整数画素位置のセットの指標を受信することが、前記複数のフル整数画素位置のうちの前記１つに対応する予測単位の予測単位ヘッダ、前記予測単位を備えるコード化単位のコード化単位ヘッダ、前記コード化単位を備えるフレーム単位のフレームヘッダ、前記フレーム単位を備えるスライス単位のスライスヘッダ、又は前記フレーム単位を備えるシーケンス単位のシーケンスヘッダのうちの少なくとも１つにおいて前記指標を受信することを更に備える、請求項４２に記載のコンピュータ可読記憶媒体。
【請求項４５】
前記参照サンプルの前記第１のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第１のセットに前記補間フィルタを適用することが、第１の補間フィルタを適用することを更に備え、
前記参照サンプルの前記第２のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第２のセットに前記補間フィルタを適用することが、第２の異なる補間フィルタを適用することを更に備える、請求項４３に記載のコンピュータ可読記憶媒体。
【請求項４６】
前記フル整数画素位置についての前記値の前記セットが、前記フル整数画素位置のうちの４つのフル整数画素位置の前記値、即ち、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近に位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の対角方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の水平方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の垂直方向の１つに位置するフル整数画素位置の前記値とのうちの少なくとも１つを備える、請求項４２に記載のコンピュータ可読記憶媒体。
【請求項４７】
フル整数画素位置を備える参照サンプルを受信するための手段と、
前記参照サンプルのサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置のセットの指標を受信するための手段と、
前記参照サンプルの前記サブ整数画素の前記値を計算するために、前記フル整数画素位置の前記セットに補間フィルタを適用するための手段と、
前記サブ整数画素の前記計算された値に対する画素のブロックを復号するための手段と
を備える装置。
【請求項４８】
前記指標が第１の指標であり、前記フル整数画素位置の前記セットがフル整数画素位置の第１のセットであり、前記サブ整数画素が第１のサブ整数画素であり、
前記参照サンプルの第２のサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置の第２のセットの指標を受信するための手段と、
前記参照サンプルの前記第２のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第２のセットに補間フィルタを適用するための手段と、
前記第２のサブ整数画素の前記計算された値に対する画素の第２のブロックを復号するための手段と
を更に備える、請求項４７に記載の装置。
【請求項４９】
複数のセットへのインデックスが、前記参照サンプルのサブ整数画素についての前記値を計算するために使用される前記フル整数画素位置の前記セットを示すように、前記フル整数画素位置の前記セットの前記指標が前記インデックスを識別する、請求項４７に記載の装置。
【請求項５０】
前記フル整数画素位置についての前記値の前記セットが、前記フル整数画素位置のうちの４つのフル整数画素位置の前記値、即ち、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近に位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の対角方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の水平方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の垂直方向の１つに位置するフル整数画素位置の前記値とのうちの少なくとも１つを備える、請求項４７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その内容全体が参照により本明細書に組み込まれる、２０１０年１２月１０日に出願された米国仮出願第６１／４２２，０５１号の利益を主張する。
【０００２】
本開示は、ビデオコード化の分野に関し、例えば、ビデオデータをコード化及び復号することに関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、無線電話ハンドセットなどのワイヤレス通信機器、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップ又はデスクトップコンピュータ、デジタルカメラ、デジタル記録機器、ビデオゲーム機器、ビデオゲームコンソールなどを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、デジタルビデオをより効率的に送信及び受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４、又はＨ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）などのビデオ圧縮技法を実装する。ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的予測及び時間的予測を実行する。
【発明の概要】
【０００４】
本開示では、ビデオコード化及び／又は復号プロセスのインター予測段階中にエンコーダ及びデコーダによって適用され得るフィルタ処理技法について説明する。説明するフィルタ処理技法は、分数画素補間(fractional pixel interpolation)中に使用される予測データの精度を向上させ得、場合によっては、コード化利得を増加させ得る。本開示には、フル画素位置の様々な組合せに補間フィルタを適用することに基づいてサブ画素位置についての値を補間する技法を含む、幾つかの態様がある。補間フィルタが適用される値は、一般に「サポート」と呼ばれる。これらの技法はまた、例えば、前にコード化されたフレーム又はフレームの現在のコード化などのファクタに基づいて、サブ画素位置のための補間フィルタを適用すべきサポートを選択することを含む。
【０００５】
一態様では、ビデオデータをコード化する方法は、参照サンプルのフル整数画素位置についての値を受信することを備える。本方法はまた、フル整数画素位置のうちの１つの第１のサブ整数画素についての値を計算するために、フル整数画素位置についての値の第１のセットに補間フィルタを適用することを含む。更に、本方法はまた、フル整数画素位置のうちの１つの第２の異なるサブ整数画素についての値を計算するために、フル整数画素位置についての値の第２の異なるセットに補間フィルタを適用することを含む。本方法は、第１のサブ整数画素と第２のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素のブロックをコード化することを更に備える。
【０００６】
別の態様では、機器は、参照サンプルのフル整数画素位置についての値を受信するように構成されたビデオコーダを備える。ビデオコーダはまた、フル整数画素位置のうちの１つの第１のサブ整数画素についての値を計算するために、フル整数画素位置についての値の第１のセットに補間フィルタを適用するように構成される。同様に、ビデオコーダは、フル整数画素位置のうちの１つの第２の異なるサブ整数画素についての値を計算するために、フル整数画素位置についての値の第２の異なるセットに補間フィルタを適用するように構成される。ビデオコーダは、第１のサブ整数画素と第２のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素のブロックをコード化するように更に構成される。
【０００７】
別の態様では、コンピュータ可読媒体は、ビデオコード化機器中で実行されたときに機器にビデオブロックをコード化させる命令を備える。特に、命令は、参照サンプルのフル整数画素位置についての値を受信することと、フル整数画素位置のうちの１つの第１のサブ整数画素についての値を計算するために、フル整数画素位置についての値の第１のセットに補間フィルタを適用することとを機器に行わせる。命令はまた、フル整数画素位置のうちの１つの第２の異なるサブ整数画素についての値を計算するために、フル整数画素位置についての値の第２の異なるセットに補間フィルタを適用することを機器に行わせる。命令は更に、第１のサブ整数画素と第２のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素のブロックをコード化することを機器に行わせる。
【０００８】
別の態様では、参照サンプルのフル整数画素位置についての値を受信するための手段を備える機器が提供される。本機器は、フル整数画素位置のうちの１つの第１のサブ整数画素についての値を計算するために、フル整数画素位置についての値の第１のセットに補間フィルタを適用するための手段を更に備える。また、本機器は、フル整数画素位置のうちの１つの第２の異なるサブ整数画素についての値を計算するために、フル整数画素位置についての値の第２の異なるセットに補間フィルタを適用するための手段と、第１のサブ整数画素と第２のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素のブロックをコード化するための手段とを備える。
【０００９】
更に別の態様では、ビデオデータを復号する方法は、フル画素位置を備える参照サンプルを受信することを備える。本方法はまた、参照サンプルのサブ整数画素についての値を補間するために使用される参照サンプルのフル整数画素位置のセットの指標を受信することを含む。更に、本方法はまた、参照サンプルのサブ整数画素の値を計算するために、フル整数画素位置のセットに補間フィルタを適用することを含む。本方法は、サブ整数画素の計算された値に対する画素のブロックを復号することを更に備える。
【００１０】
別の態様では、機器が、フル整数画素位置を備える参照サンプルを受信するように構成されたビデオデコーダを備える。ビデオデコーダはまた、参照サンプルのサブ整数画素についての値を補間するために使用される参照サンプルのフル整数画素位置のセットの指標を受信するように構成される。同様に、ビデオデコーダは、参照サンプルのサブ整数画素の値を計算するために、フル整数画素位置のセットに補間フィルタを適用するように構成される。ビデオデコーダは、サブ整数画素の計算された値に対する画素のブロックを復号するように更に構成される。
【００１１】
別の態様では、コンピュータ可読媒体が、ビデオコード化機器中で実行されたときに機器にビデオブロックをコード化させる命令を備える。特に、命令は、フル整数画素位置を備える参照サンプルを受信することと、参照サンプルのサブ整数画素についての値を補間するために使用される参照サンプルのフル整数画素位置のセットの指標を受信することとを機器に行わせる。命令はまた、参照サンプルのサブ整数画素の値を計算するために、フル整数画素位置のセットに補間フィルタを適用することを機器に行わせる。命令は、サブ整数画素の計算された値に対する画素のブロックを復号することを機器に更に行わせる。
【００１２】
別の態様では、機器が、フル画素位置を備える参照サンプルを受信するための手段と、参照サンプルのサブ整数画素についての値を補間するために使用すべき参照サンプルのフル整数画素位置のセットの指標を受信するための手段とを備える。本機器は、フル整数画素位置のセットを使用して参照サンプルのサブ整数画素の値を計算するための手段を更に備える。本機器は、サブ整数画素の計算された値に対する画素のブロックを復号するための手段を更に含む。
【００１３】
本開示で説明する技法は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ソフトウェアで実行された場合、ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又はデジタル信号プロセッサ（ＤＳＰ）、又は他の等価の集積若しくはディスクリート論理回路など、１つ以上のプロセッサを指すことがあるプロセッサで実行され得る。本技法を実行する命令を備えるソフトウェアは、最初にコンピュータ可読媒体に記憶され、プロセッサによってロードされ、実行され得る。
【００１４】
従って、本開示はまた、プロセッサに、本開示で説明する様々な技法のいずれかを実行させる命令を備えるコンピュータ可読媒体を企図する。場合によっては、コンピュータ可読媒体はコンピュータプログラム製品の一部を形成し得、コンピュータプログラム製品は、製造業者に販売され得、及び／又は機器中で使用され得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得、場合によってはパッケージング材料をも含み得る。
【００１５】
本開示はまた、情報を搬送する電磁信号に適用され得る。例えば、電磁信号は、参照サンプルのサブ整数画素についての値を補間するために使用されるフル画素サポートに関係する情報を備え得る。幾つかの例では、信号は、本明細書で説明する技法を実装する機器から発生されるか、又はその機器によって送信され得る。他の例では、本開示は、本明細書で説明する技法を実施する機器において受信され得る信号に適用され得る。
【００１６】
本開示の１つ以上の態様の詳細を添付の図面及び以下の説明に記載する。本開示で説明する技法の他の特徴、目的、及び利点は、これらの説明及び図面、並びに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１７】
【図１】本開示の技法のうちの１つ又は複数を実施するために使用され得るビデオコード化及び復号システムの一例を示すブロック図。
【図２】図１のビデオエンコーダの一例を更に詳細に示すブロック図。
【図３】予測データに関連する整数画素位置と、補間予測データに関連するサブ画素位置との一例を示す概念図。
【図４】サブ整数画素位置に対する対角６画素フィルタサポートの一例を示す概念図。
【図５】サブ整数画素位置に対するｘ字形（x−shaped）１２画素フィルタサポートの一例を示す概念図。
【図６】３つの水平サブ画素位置と３つの垂直サブ画素位置とに対する１２画素フィルタサポートの一例を示す概念図。
【図７】サブ画素位置に対する１２画素フィルタサポートの一例を示す概念図。
【図８】サブ整数画素位置に対する方形（square−shaped）４画素フィルタサポートの一例を示す概念図。
【図９】サブ整数画素位置に対する矩形（rectangular−shaped）６画素フィルタサポートの一例を示す概念図。
【図１０】図１のビデオデコーダの一例を更に詳細に示すブロック図。
【図１１】本開示に一致する画素フィルタサポートを利用するビデオエンコーダの例示的な動作を示す流れ図。
【図１２】本開示に一致する画素フィルタサポートを利用するビデオエンコーダの別の例示的な動作を示す流れ図。
【図１３】本開示に一致するサブ整数画素のためのフィルタサポートを決定する例示的な方法を示す流れ図。
【図１４】本開示に一致するサブ整数画素のためのフィルタサポートを決定する別の例示的な方法を示す流れ図。
【図１５】本開示に一致するフィルタサポートを利用するビデオデコーダの例示的な動作を示す流れ図。
【図１６】本開示に一致するフィルタサポートを利用するビデオデコーダの別の例示的な動作を示す流れ図。
【発明を実施するための形態】
【００１８】
本開示では、ビデオコード化及び／又は復号プロセスのインター予測段階中にエンコーダとデコーダとによって適用され得るフィルタ処理技法について説明する。説明するフィルタ処理技法は、分数画素補間中に使用される予測データの精度を向上させ得、場合によっては、コード化利得を増加させ得る。本開示では、「サブ画素」「サブ整数画素」「分数画素」及び「サブペル」という用語を互換的に使用する。本開示には、任意の数のフル画素位置の任意の組合せに基づいてサブ画素位置を補間する技法と、前にコード化されたフレーム又はフレームの現在のコード化に基づいてサブ画素位置のための補間フィルタのためのサポートを選択するための技法とを含む、幾つかの態様がある。これら及び他の技法について以下で詳細に説明する。
【００１９】
ブロックベースのインターコード化は、ビデオシーケンスの連続するコード化単位のビデオブロック間の時間的冗長性を低減又は除去するために時間的予測を利用するコード化技法である。コード化単位は、ビデオフレーム、ビデオフレームのスライス、ピクチャのグループ、又は符号化ビデオブロックの別の定義された単位を備え得る。インターコード化の場合、ビデオエンコーダは、２つ以上の隣接するコード化単位のビデオブロック間の動きを推定するために動き推定及び動き補償を実行する。動き推定のための技法を使用して、ビデオエンコーダは、１つ以上の参照フレーム又は他のコード化単位中の対応する予測ビデオブロックに対するビデオブロックの変位を示し得る動きベクトルを生成する。動き補償のための技法を使用して、ビデオエンコーダは、１つ以上の参照フレーム又は他のコード化単位から予測ビデオブロックを生成するために動きベクトルを使用し得る。動き補償の後、ビデオエンコーダは、コード化されている元のビデオブロックから予測ビデオブロックを減算することによって残差ビデオブロックを計算し得る。
【００２０】
ビデオエンコーダはまた、残差ブロックの通信に関連するビットレートを更に低減するために、変換、量子化及びエントロピーコード化プロセスを適用し得る。変換技法は、離散コサイン変換（ＤＣＴ）又は概念的に同様のプロセスを備え得る。代替的に、ウェーブレット変換、整数変換、又は他のタイプの変換が使用され得る。ＤＣＴプロセスでは、一例として、画素値のセットが、周波数領域における画素値のエネルギーを表し得る変換係数（transform coefficient）に変換され得る。ビデオエンコーダはまた、変換係数を量子化し得、それは、概して、対応する変換係数に関連するビット数を低減するプロセスを伴い得る。エントロピーコード化は、ビットストリームへの出力のためにデータをまとめて圧縮する１つ以上のプロセスを含み得、圧縮データは、例えば、一連のコード化モード、動き情報、コード化ブロックパターン、及び量子化された変換係数を含み得る。エントロピーコード化の例には、限定はしないが、コンテンツ適応型可変長コード化（ＣＡＶＬＣ：content adaptive variable length coding）及びコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ：context adaptive binary arithmetic coding）がある。
【００２１】
コード化ビデオブロックは、予測ブロックを作成又は識別するために使用され得る予測情報と、元のブロックを再現するために予測ブロックに適用され得るデータの残差ブロックとによって表され得る。予測情報は、予測データブロックを識別するために使用される１つ以上の動きベクトルを備え得る。動きベクトルを使用して、デコーダは、残差ブロックをコード化するために使用された予測ブロックを再構成することが可能であり得る。従って、残差ブロックのセットと動きベクトルのセット（場合によっては幾つかの追加のシンタックス）とが与えられれば、デコーダは、最初に符号化されたビデオフレームを再構成することができる。連続ビデオフレーム又は他のタイプのコード化単位がしばしば類似しているので、動き推定及び動き補償に基づくインターコード化は、過大なデータ損失なしに比較的高い圧縮量を達成することができる。符号化ビデオシーケンスは、残差データのブロック、（インター予測コード化されたときの）動きベクトル、イントラ予測のためのイントラ予測モードの指標、及び場合によっては、シンタックスのタイプなどの他のデータを備え得る。
【００２２】
インターコード化において達成され得る圧縮レベルのための予測精度を改善するために、サブ整数画素補間技法が開発されている。この場合、ビデオブロックをコード化するために使用される、動き補償中に生成される予測データは、サブ整数画素に対応し得、サブ整数画素の値は、動きベクトルが参照する基準ビデオフレーム又は他のコード化単位のビデオブロックのフル画素についての値から補間され得る。ビデオエンコーダは、補間技法を使用して、例えば、サポート、例えば、フル整数画素についての値及び／又は他のサブ整数画素位置の前にコード化された値のセットに補間フィルタを適用することによって、サブ整数画素位置についての値を計算し得る。サブ整数画素位置は、様々な例において、１／２画素、１／４画素、１／８画素、１／１６画素、又は他の解像度など、様々な程度の解像度を有し得る。従って、ビデオエンコーダは、動き推定中に、サブ画素精度を有する動きベクトルを計算し得る。
【００２３】
図１は、本開示の技法のうちの１つ又は複数を実施するために使用され得るビデオコード化及び復号システム１０の一例を示すブロック図である。図１に示すように、システム１０は、通信チャネル１５を介して符号化ビデオを宛先機器１６に送信する発信源機器１２を含む。発信源機器１２及び宛先機器１６は、広範囲にわたる機器のいずれかを備え得る。場合によっては、発信源機器１２及び宛先機器１６のいずれか又は両方は、所謂セルラー電話又は衛星無線電話のワイヤレスハンドセットなどのワイヤレス通信機器、又は通信チャネル１５を介してビデオ情報を通信することができ、その場合、通信チャネル１５がワイヤレスである任意のワイヤレス機器を備え得る。但し、予測コード化中のフィルタ処理及び予測データの生成に関係する本開示の技法は、必ずしもワイヤレス適用例又は設定に限定されるわけではない。本技法はまた、物理的ワイヤ、光ファイバ又は他の物理媒体若しくはワイヤレス媒体を介して通信する機器を含む、広範囲の他の設定及び機器において有用であり得る。更に、本コード化技法又は復号技法は、必ずしも他の機器と通信するとは限らないスタンドアロン機器においても適用され得る。
【００２４】
図１の例では、発信源機器１２は、ビデオ発信源２０と、ビデオエンコーダ２２と、変調器／復調器（モデム）２３と、送信機２４とを含み得る。宛先機器１６は、受信機２６と、モデム２７と、ビデオデコーダ２８と、表示装置３０とを含み得る。本開示によれば、発信源機器１２のビデオエンコーダ２２は、ビデオコード化プロセスの一部として本開示の技法のうちの１つ又は複数を適用するように構成され得る。同様に、宛先機器１６のビデオデコーダ２８は、ビデオ復号プロセスの一部として本開示の技法のうちの１つ又は複数を適用するように構成され得る。
【００２５】
ここでも、図１の図示のシステム１０は一例にすぎない。本開示の様々な技法は、ブロックベースの予測符号化をサポートする任意の符号化機器によって、又はブロックベースの予測復号をサポートする任意の復号機器によって実行され得る。発信源機器１２及び宛先機器１６は、発信源機器１２が宛先機器１６に送信するためのコード化ビデオデータを生成するような、コード化機器の例にすぎない。場合によっては、機器１２、１６の各々がビデオ符号化構成要素と復号構成要素とを含むので、機器１２、１６は、実質的に対称的に動作し得る。従って、システム１０は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、又はビデオテレフォニーのためのビデオ機器１２とビデオ機器１６との間の一方向又は双方向のビデオ送信をサポートし得る。
【００２６】
発信源機器１２のビデオ発信源２０は、ビデオカメラ、前に撮影されたビデオを含んでいるビデオアーカイブ、又はビデオコンテンツプロバイダからのビデオフィードなど、撮像装置を含み得る。さらなる代替として、ビデオ発信源２０は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、又はライブビデオ、アーカイブビデオ、及び／又はコンピュータ生成ビデオの組合せを生成し得る。場合によっては、ビデオ発信源２０がビデオカメラである場合、発信源機器１２及び宛先機器１６は、所謂カメラ付き携帯電話又はビデオ電話、又はタブレットコンピュータ機器など、ビデオデータを操作するように構成された他のモバイル機器を形成し得る。各場合において、撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成ビデオは、ビデオエンコーダ２２によってコード化され得る。次いで、コード化ビデオ情報は、例えば、符号分割多元接続（ＣＤＭＡ）又は別の通信規格などの通信規格に従ってモデム２３によって変調され、送信機２４及び通信チャネル１５を介して宛先機器１６に送信され得る。モデム２３は、信号変調のために設計された様々なミキサ、フィルタ、増幅器又は他の構成要素を含み得る。送信機２４は、増幅器、フィルタ、及び１つ以上のアンテナを含む、データを送信するために設計された回路を含み得る。
【００２７】
宛先機器１６の受信機２６は通信チャネル１５を介して情報を受信し、モデム２７はその情報を復調する。送信機２４と同様に、受信機２６は、増幅器、フィルタ、及び１つ以上のアンテナを含む、データを受信するために設計された回路を含み得る。幾つかの例では、送信機２４及び／又は受信機２６は、受信回路と送信回路の両方を含む単一のトランシーバ構成要素内に組み込まれ得る。モデム２７は、信号復調のために設計された様々なミキサ、フィルタ、増幅器又は他の構成要素を含み得る。幾つかの例では、モデム２３及び２７は、変調と復調の両方を実行するための構成要素を含み得る。
【００２８】
また、ビデオエンコーダ２２によって実行されるビデオコード化プロセスは、動き推定と動き補償とを含み得るインター予測コード化中に本明細書で説明する技法のうちの１つ又は複数を実施し得る。ビデオデコーダ２８によって実行されるビデオ復号プロセスはまた、復号プロセスの動き補償段階中にそのような技法を実行し得る。「コーダ」という用語は、本明細書では、ビデオ符号化又はビデオ復号を実行する専用コンピュータ機器又は装置を指すために使用される。「コーダ」という用語は、一般に、任意のビデオエンコーダ、ビデオデコーダ、又は複合エンコーダ／デコーダ（コーデック）を指す。「コード化」という用語は、コード化又は復号を指す。表示装置３０は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。
【００２９】
図１の例では、通信チャネル１５は、無線周波数（ＲＦ）スペクトルあるいは１つ以上の物理伝送線路など、任意のワイヤレス又はワイヤード通信媒体、若しくはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル１５は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル１５は、概して、ビデオデータを発信源機器１２から宛先機器１６に送信するのに好適な任意の通信媒体、又は様々な通信媒体の集合体を表す。通信チャネル１５は、発信源機器１２から宛先機器１６への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、又は任意の他の機器を含み得る。
【００３０】
ビデオエンコーダ２２及びビデオデコーダ２８は、代替的にＭＰＥＧ−４、Ｐａｒｔ１０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）として説明されるＩＴＵ−Ｔ  Ｈ．２６４規格などのビデオ圧縮規格に従って動作し得る。但し、本開示の技法は、いかなる特定のビデオコード化規格にも限定されない。図１には示されていないが、幾つかの態様では、ビデオエンコーダ２２及びビデオデコーダ２８は、それぞれオーディオエンコーダ及びデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、又は他のハードウェア及びソフトウェアを含んで、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方のコード化を処理し得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００３１】
ビデオエンコーダ２２及びビデオデコーダ２８はそれぞれ、１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組合せとして実施され得る。本開示の技法のいずれか又は全てがソフトウェアで実施されるとき、実施する機器は、ソフトウェアのための命令を記憶及び／又は実行するためのハードウェア、例えば、命令を記憶するためのメモリと命令を実行するための１つ以上の処理ユニットとを更に含み得る。ビデオエンコーダ２２及びビデオデコーダ２８の各々は１つ以上のエンコーダ又はデコーダ中に含まれ得、そのいずれかはコード化機能及び復号機能を与える複合コーデックの一部としてそれぞれモバイル機器、加入者機器、ブロードキャスト機器、サーバなどに統合され得る。
【００３２】
ビデオシーケンスは、一般に、ビデオピクチャとも呼ばれる一連のビデオフレームを含む。ビデオエンコーダ２２は、ビデオデータをコード化するために、個々のビデオフレーム内のビデオブロック上で動作する。ビデオブロックは、固定サイズ又は可変サイズを有し得、指定のコード化規格に応じてサイズが異なり得る。各ビデオフレームは一連のスライスを含む。ＩＴＵ−Ｔ  Ｈ．２６４規格では、例えば、各スライスは一連のマクロブロックを含み得、それらのマクロブロックはサブブロックに構成され得る。Ｈ．２６４規格は、ルーマ成分については１６×１６、８×８、又は４×４、及びクロマ成分については８×８など、様々なブロックサイズのイントラ予測をサポートし、ルーマ成分については１６×１６、１６×８、８×１６、８×８、８×４、４×８及び４×４、及びクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。ビデオブロックは、画素データのブロック、又は、例えば離散コサイン変換（ＤＣＴ）若しくは概念的に同様の変換プロセスなどの変換プロセスの後の変換係数のブロックを備え得る。
【００３３】
小さいビデオブロックほど、より良い解像度が得られ、複数の高い詳細レベルを含むビデオフレームの複数の位置に対して使用され得る。一般に、マクロブロック及び様々なサブブロックはビデオブロックであると見なされ得る。更に、スライスは、マクロブロック及び／又はサブブロックなど、一連のビデオブロックであると見なされ得る。各スライスはビデオフレームの単独で復号可能な単位であり得る。代替的に、フレーム自体が復号可能な単位であり得るか、又はフレームの他の部分が復号可能な単位として定義され得る。「コード化単位」という用語は、フレーム全体、フレームのスライス、ビデオデータのブロック、又は使用されるコード化技法に従って定義される別の単独で復号可能な単位など、ビデオフレームの単独で復号可能な任意の単位を指す。
【００３４】
ビデオブロックをコード化するために、ビデオエンコーダ２２は、イントラ予測又はインター予測を実行して、予測ブロックを生成する。ビデオエンコーダ２２は、コード化されるべき元のビデオブロックから予測ブロックを減算して、残差ブロックを生成する。従って、残差ブロックは、コード化されているブロックと予測ブロックとの間の画素ごとの差を表し得る。ビデオエンコーダ２２は、残差ブロックに対して変換を実行して、変換係数のブロックを生成し得る。イントラベース又はインターベースの予測コード化技法及び変換技法の後、ビデオエンコーダ２２は変換係数を量子化し得る。量子化は、概して、係数を表すために使用されるデータ量をできるだけ低減するように係数を量子化するプロセスを指す。量子化の後、コンテキスト適応型可変長コード化（ＣＡＶＬＣ）又はコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）など、エントロピーコード化方法に従ってエントロピーコード化が実行され得る。ビデオエンコーダ２２によって実行されるコード化プロセスのさらなる詳細について、図２に関して以下で説明する。
【００３５】
高効率ビデオコード化（ＨＥＶＣ）と現在呼ばれる、新しいビデオコード化規格を開発するための取り組みが現在進行中である。この今度の規格はＨ．２６５とも呼ばれる。この規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ：HEVC Test Model）と呼ばれるビデオコード化機器のモデルに基づく。ＨＭは、例えば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣによる機器に勝るビデオコード化機器の幾つかの能力を仮定する。例えば、Ｈ．２６４は９つのイントラ予測コード化モードを提供するが、ＨＭは３３個ものイントラ予測コード化モードを提供する。
【００３６】
ＨＭは、ビデオデータのブロックをコード化単位（ＣＵ：coding unit）と称する。ビットストリーム内のシンタックスデータが、画素の数に関して最大のコード化単位である最大コード化単位（ＬＣＵ：largest coding unit）を定義し得る。概して、ＣＵは、ＣＵがサイズの差異を有しないことを除いて、Ｈ．２６４のマクロブロックと同様の目的を有する。従って、ＣＵは、サブＣＵに分割され得る。概して、本開示におけるＣＵへの言及は、ピクチャの最大コード化単位又はＬＣＵのサブＣＵを指すことがある。ＬＣＵはサブＣＵに分割され得、各サブＣＵはサブＣＵに分割され得る。ビットストリームのためのシンタックスデータは、ＣＵ深さと呼ばれる、ＬＣＵが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小コード化単位（ＳＣＵ：smallest coding unit）をも定義し得る。本開示ではまた、ＣＵ、予測単位（ＰＵ：prediction unit）、又は変換単位（ＴＵ：transform unit）のいずれかを指すために「ブロック」という用語を使用する。
【００３７】
ＬＣＵは４分木データ構造に関連付けられ得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはＬＣＵに対応する。ＣＵが４つのサブＣＵに分割された場合、ＣＵに対応するノードは４つのリーフノードを含み、リーフノードの各々はサブＣＵのうちの１つに対応する。４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。例えば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。
【００３８】
分割されないＣＵは、１つ以上の予測単位（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵの全部又は一部分を表し、そのＰＵの参照サンプルを取り出すためのデータを含む。例えば、ＰＵがイントラモードコード化されるとき、ＰＵは、ＰＵのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモードコード化されるとき、ＰＵは、ＰＵの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（例えば、１／４画素精度又は１／８画素精度）、動きベクトルが指す参照フレーム、及び／又は動きベクトルの参照リスト（例えば、リスト０又はリスト１）を記述し得る。また、（１つ以上の）ＰＵを定義するＣＵについてのデータは、例えば、１つ以上のＰＵへのＣＵの区分について記述し得る。区分モードは、ＣＵがコード化されないか、イントラ予測モードコード化されるか、又はインター予測モードコード化されるかとの間で異なり得る。
【００３９】
１つ以上のＰＵを有するＣＵは、１つ以上の変換単位（ＴＵ）をも含み得る。ＰＵを使用した予測の後に、ビデオエンコーダは、ＰＵに対応するＣＵの部分の残差値を計算し得る。残差値は、変換、走査、及び量子化され得る。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。従って、ＴＵは、同じＣＵの対応するＰＵよりも大きいことも小さいこともある。幾つかの例では、ＴＵの最大サイズは、対応するＣＵのサイズに対応し得る。
【００４０】
上記のように、イントラ予測は、あるピクチャの現在のＣＵのＰＵを、同じピクチャの前にコード化されたＣＵから予測することを含む。より詳細には、ビデオエンコーダは、特定のイントラ予測モードを使用して、あるピクチャの現在のＣＵをイントラ予測し得る。ＨＭエンコーダは、最高３３個のイントラ予測モードで構成され得る。従って、方向性イントラ予測モードと方向性変換との間の１対１のマッピングをサポートするために、ＨＭエンコーダ及びデコーダは、サポートされる各変換サイズについて６６個の行列を記憶する必要があろう。更に、全ての３３個のイントラ予測モードがサポートされるブロックサイズは、相対的に大きいブロック、例えば、３２×３２画素、６４×６４画素、又はより一層大きい画素になり得る。
【００４１】
宛先機器１６において、ビデオデコーダ２８がコード化ビデオデータを受信する。ビデオデコーダ２８は、量子化係数を得るために、ＣＡＶＬＣ又はＣＡＢＡＣなど、エントロピーコード化方法に従って、受信したビデオデータをエントロピー復号する。ビデオデコーダ２８は、逆量子化（inverse quantization）（逆量子化（de−quantization））機能及び逆変換機能を適用して、画素領域中で残差ブロックを再構成する。ビデオデコーダ２８はまた、コード化ビデオデータ中に含まれる（例えば、コード化モード、動きベクトル、フィルタ係数を定義するシンタックスなどの）制御情報又はシンタックス情報に基づいて予測ブロックを生成する。ビデオデコーダ２８は、予測ブロックと再構成された残差ブロックとの合計を計算して、表示のための再構成されたビデオブロックを生成し得る。ビデオデコーダ２８によって実行される例示的な復号プロセスのさらなる詳細について、図１０に関して以下で説明する。
【００４２】
本明細書で説明するように、Ｙが輝度を表し得、Ｃｂ及びＣｒが３次元ＹＣｂＣｒ色空間のクロミナンスの２つの異なる値を表し得る。各画素位置は、実際に、３次元色空間の３つの画素値を定義し得る。但し、本開示の技法は、簡単のために１次元に対する予測に関する。技法について１次元の画素値に関して説明する限り、同様の技法が他の次元に拡張され得る。
【００４３】
本開示の技法によれば、ビデオエンコーダ２２及びビデオデコーダ２８は、動き補償中に１つ以上の補間フィルタ処理技法を使用し得る。特に、本開示の一態様によれば、ビデオエンコーダ２２及び／又はビデオデコーダ２８は画素のブロックを取得し得、画素のブロックは、画素のブロック内の整数画素位置に対応する整数画素値を含む。ビデオエンコーダ２２及び／又はビデオデコーダ２８は、整数画素値に基づいて画素のブロックに関連するサブ画素位置についての値を計算し得、サブ画素値を計算することは、フィルタサポートの様々なセットに補間フィルタを適用することを備え、フィルタサポートのセットの各々は、画素のブロック中の１つ以上の整数画素位置のセットに対応する。ビデオエンコーダ２２及び／又はビデオデコーダ２８はまた、画素のブロックをコード化又は復号するために、サブ画素値のうちの少なくとも幾つかに基づいて予測ブロックを生成し得る。
【００４４】
本開示の態様によれば、ビデオエンコーダ２２及び／又はビデオデコーダ２８は、フル整数画素位置の任意の組合せを備えるフィルタサポートに補間フィルタを適用し得る。ビデオエンコーダ２２は、フル整数画素位置に関連する幾つかの（例えば、１５個の）異なるサブ画素位置についてのフィルタ係数の複数のセットを決定し、フィルタ係数の１５個のセットを符号化ビットストリームの一部として別の機器に出力し得る。このようにして、フィルタ係数の複数のセットは、全ての１５個の１／２画素及び１／４画素位置についての全てのフィルタ係数を定義し得る。幾つかの例では、フル整数画素位置に関連する各１／２画素及び１／４画素についてのフィルタ係数のセットは、一意であり得る。他の例では、フル整数画素位置に関連するハーフペル及び１／４ペルについてのフィルタ係数のセットの一部又は全部は、同じであり得る。
【００４５】
宛先機器１６のビデオデコーダ２８は、コード化ビデオビットストリームの一部としてフィルタ係数の１つ以上のセットを受信し、フィルタ係数の１つ以上のセットに基づいて、１５個の異なるサブ画素位置に対応するフィルタ係数の１５個のセットを生成し得る。ビデオデコーダ２８はまた、フィルタ係数の複数のセットのうちの１つに基づいてビデオ復号のためのサブペル値を生成し得、補間予測データは、１５個の異なるサブ画素位置のうちの１つに対応し、補間予測データに基づいて１つ以上のビデオブロックを復号する。
【００４６】
本開示の別の態様によれば、ビデオエンコーダ２２は、参照サンプルの複数のフル整数画素位置についての値を受信し、複数のフル整数画素位置のうちの１つの第１のサブ整数画素についての値を計算するために複数のフル整数画素位置についての値の第１のセットに補間フィルタを適用し、フル整数画素位置のうちの１つの第２の異なるサブ整数画素についての値を計算するために、複数のフル整数画素位置についての値の第２の異なるセットに同じ補間フィルタを適用し、第１のサブ整数画素と第２のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素の現在のブロックをコード化し得る。幾つかの例では、補間フィルタは第１の補間フィルタであり、ビデオエンコーダ２２は更に、複数のフル整数画素位置のうちの１つの第３のサブ整数画素についての値を計算するために複数のフル整数画素位置についての値の第３のセットに第２の異なる補間フィルタを適用し得る。他の例では、サブ整数画素位置についての追加の値を計算するために複数のフル整数画素位置についての値の追加のフィルタ又はセットが使用される。
【００４７】
ビデオエンコーダ２２は、第１のサブ整数画素についての値を計算するために使用される補間フィルタの指標を与え得る。指標は、サポートの明示的指標を備え得る。代替的に、ビデオエンコーダ２２及びビデオデコーダ２８がサポートのセットで事前構成されたとき、指標はインデックス又は他の識別子に対応し得る。指標は、予測単位レベル、コード化単位レベル、フレームレベル、スライスレベル、又はシーケンスレベルのうちの１つにおいて与えられ得、各レベルは画素の現在のブロックに関係する。幾つかの例では、指標は、シーケンスパラメータセット（ＳＰＳ）又はピクチャパラメータセット（ＰＰＳ）において与えられ得る。ビデオエンコーダ２２は、指標を符号化ビットストリームの一部として別の機器に出力し得る。幾つかの例では、補間フィルタは、ＩＴＵ−Ｔ  Ｈ．２６４補間フィルタ、（例えば、補間フィルタのセットから選択された）固定補間フィルタ、又は適応補間フィルタである。その上、ビデオエンコーダ２２は、上記で説明した技法と同様の技法を使用してフル画素のサブ整数画素の各々についてのサポートの指標を与え得る。
【００４８】
補間フィルタは、分離可能フィルタ又は非分離可能フィルタであり得る。非分離可能フィルタは、中間フィルタ処理ステップを実行することなしにサブペルを直接生成するようにフィルタサポートが変更され得る、補間フィルタである。対照的に、分離可能フィルタは、フィルタ処理が別のフィルタ処理ステップに依存し得るフィルタである。例えば、双一次フィルタ処理では、第１のサブペル位置についての値を生成するために、最初にフィルタが水平方向に適用され得る。次いで、第２のサブペル位置についての値を生成するために、フィルタは転置され、第１のサブペル位置にわたって垂直方向に適用され得る。
【００４９】
別の例では、方法は、複数のフル整数画素位置を備える参照サンプルを受信することと、参照サンプルのサブ整数画素についての値を補間するために使用される参照サンプルのフル整数画素位置のセットの指標を受信することと、参照サンプルのサブ整数画素の値を計算するために、フル整数画素位置のセットに補間フィルタを適用することと、サブ整数画素の計算された値に対する画素の現在のブロックを復号することとを備え得る。
【００５０】
図２は、図１のビデオエンコーダ２２の一例を更に詳細に示すブロック図である。ビデオエンコーダ２２は、本開示に一致するインター予測技法を実行し得る。ビデオエンコーダ２２は、本明細書では「コーダ」と呼ぶ専用ビデオコンピュータ機器又は装置の一例である。図２に示すように、ビデオエンコーダ２２は、機器２０のビデオエンコーダ２２に対応する。但し、他の例では、ビデオエンコーダ２２は、異なる機器に対応し得る。さらなる例では、他のユニット（例えば、他のエンコーダ／デコーダ（ＣＯＤＥＣ）など）も、ビデオエンコーダ２２と同様の技法を実行することができる。
【００５１】
ビデオエンコーダ２２は、ビデオフレーム内のブロックのイントラコード化及びインターコード化を実行し得るが、説明を簡単にするために、イントラコード化構成要素は図２に示していない。イントラコード化は、所与のビデオフレーム内のビデオの空間的冗長性を低減又は除去するために空間的予測に依拠する。インターコード化は、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減又は除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、空間ベースの圧縮モードを指すことがある。予測（Ｐモード）又は双方向性（Ｂモード）などのインターモードは、時間ベースの圧縮モードを指すことがある。本開示の技法はインターコード化中に適用され、従って、説明を簡単で容易にするために、空間予測ユニットなどのイントラコード化ユニットは図２に示していない。
【００５２】
図２に示すように、ビデオエンコーダ２２は、コード化されるべきビデオフレーム内のビデオブロックを受信する。図２の例では、ビデオエンコーダ２２は、予測コード化ユニット（ＭＣＵ）３２と、メモリ３４と、加算器４８と、変換ユニット３８と、量子化ユニット４０と、エントロピーコード化ユニット４６とを含む。ビデオブロック再構成のために、ビデオエンコーダ２２はまた、逆量子化ユニット４２と、逆変換ユニット４４と、加算器５１とを含む。幾つかの例では、再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタも含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器５１の出力をフィルタ処理するであろう。一例では、図２に示すように、変換ユニット３８は機能ブロックであり、ＨＥＶＣの観点から「ＴＵ」でないことがある。
【００５３】
予測ユニット３２は、動き推定（ＭＥ）ユニット３５と、動き補償（ＭＣ）ユニット３７とを含み得る。１つ以上の補間フィルタ３９（本明細書では「フィルタ３９」と呼ぶ）は、本開示によれば、予測ユニット３２中に含められ得、動き推定及び／又は動き補償の一部として補間を実行するために、ＭＥユニット３５とＭＣユニット３７の一方又は両方によって起動され得る。サブ画素についての値が、隣接するフル画素についての値及び／又は隣接するサブ画素についての前に計算された値に基づいて計算される他の技法が含まれ得る。フィルタ３９は、実際は、本明細書で説明するように、多数の様々なタイプの補間及び補間タイプフィルタ処理を可能にする複数の様々なフィルタを表し得る。従って、予測ユニット３２は複数の補間又は補間のようなフィルタを含み得る。コード化プロセス中に、ビデオエンコーダ２２は、コード化されるべき（図２で「ビデオブロック」と標示される）ビデオブロックを受信し、予測ユニット３２は、インター予測コード化を実行して（図２で「予測ブロック」と標示される）予測ブロックを生成する。特に、ＭＥユニット３５は、メモリ３４中の予測ブロックを識別するために動き推定を実行し得、ＭＣユニット３７は、予測ブロックを生成するために動き補償を実行し得る。
【００５４】
動き推定は、一般に、ビデオブロックの動きを推定する、動きベクトルを生成するプロセスと考えられる。動きベクトルは、例えば、現在のフレーム（又は、他のコード化単位）内のコード化されるべきブロックに対する、予測フレーム又は参照フレーム（又は、他のコード化単位、例えばスライス）内の予測ブロックの変位を示し得る。本開示の技法によれば、動きベクトルは、サブ整数画素精度を有し得る。例えば、動きベクトルの水平成分と垂直成分の両方は、それぞれのフル整数成分とサブ整数成分とを有し得る。参照フレーム（又は、参照フレームの部分）は、時間的に、現在のビデオブロックが属するビデオフレーム（又は、ビデオフレームの部分）より前に、又はその後に配置され得る。動き補償は、一般に、メモリ３４から予測ブロックを取り込み又は生成するプロセスと考えられ、それは、動き推定によって決定された動きベクトルに基づいて予測データを補間するか、又は場合によっては生成することを含み得る。
【００５５】
ＭＥユニット３５は、コード化されるべきビデオブロックを１つ以上の参照フレーム（例えば、前のフレーム及び／又は後続のフレーム）の参照ブロックと比較することによって、そのビデオブロックのための動きベクトルを計算する。参照フレームについてのデータは、メモリ３４に記憶され得る。ＭＥユニット３５は、分数画素、分数ペル、サブ整数、又はサブ画素動き推定と呼ばれることがある分数画素精度を用いて動き推定を実行し得る。従って、分数画素、分数ペル、サブ整数、及びサブ画素動き推定という用語は、互換的に使用され得る。分数画素動き推定では、ＭＥユニット３５は、整数画素位置以外の位置への変位を示す動きベクトルを計算し得る。従って、動きベクトルは、分数画素精度、例えば、１／２画素精度、１／４画素精度、１／８画素精度、又は他の分数画素精度を有し得る。このようにして、分数画素動き推定により、予測ユニット３２は、整数画素（又は、フル画素）位置よりも高い精度を用いて動きを推定することが可能になり、従って、予測ユニット３２は、より正確な予測ブロックを生成し得る。分数画素動き推定は、１／２画素精度、１／４画素精度、１／８画素精度、又は任意のより微細なサブ画素精度を有し得る。ＭＥユニット３５は、動き推定プロセス中に任意の必要な補間のために（１又は複数の）フィルタ３９を起動し得る。幾つかの例では、メモリ３４は、サブ整数画素についての補間値を記憶し得、その補間値は、例えば、（１つ又は複数の）フィルタ３９を使用して加算器５１によって計算され得る。例えば、加算器５１は、メモリ３４に記憶されるべき再構成されたブロックに、（１つ又は複数の）フィルタ３９を適用し得る。
【００５６】
分数画素動き補償を実行するために、ＭＣユニット３７は、（補間フィルタ処理と呼ばれることがある）補間を実行して、（本明細書ではサブ画素値又は分数画素値と呼ぶ）サブ画素解像度におけるデータを生成し得る。ＭＣユニット３７は、この補間のために（１つ又は複数の）フィルタ３９を起動し得る。予測ユニット３２は、本明細書で説明する技法を使用して補間（又は、整数画素の補間様フィルタ処理）を実行し得る。このようにして、予測ユニット３２は、参照ブロックのサブ整数画素位置についての値を計算し得、次いで、その値は、ビデオデータの予測ブロックを生成するために使用され得る。
【００５７】
コード化されるべきビデオブロックのための動きベクトルがＭＥユニット３５によって計算されると、ＭＣユニット３７は、その動きベクトルに関連する予測ビデオブロックを生成する。ＭＣユニット３７は、ＭＣユニット３５によって決定された動きベクトルに基づいて、メモリ３４から予測ブロックを取り込み得る。分数画素精度をもつ動きベクトルの場合、ＭＣユニット３７は、そのようなデータをサブ画素解像度に対して補間するために、例えば、このプロセスのために（１つ又は複数の）フィルタ３９を起動して、メモリ３４からのデータをフィルタ処理し得る。場合によっては、そのようなデータをサブ画素解像度に対して補間するために使用されるフィルタ係数に対応するフル整数画素位置は、コード化ビットストリームに含めるための、エントロピーコード化ユニット４６への１つ以上の補間シンタックス要素として示され得る。同様に、サブ画素予測データを生成するために使用された補間フィルタ処理技法又はモードも、コード化ビットストリームに含めるための、エントロピーコード化ユニット４６への１つ以上の補間シンタックス要素として示され得る。
【００５８】
予測ユニット３２が予測ブロックを生成すると、ビデオエンコーダ２２は、コード化されている元のビデオブロックから予測ブロックを減算することによって（図２で「残差ブロック」と標示される）残差ビデオブロックを形成する。加算器４８は、この減算演算を実行する１つ以上の構成要素を表す。変換ユニット３８は、離散コサイン変換（ＤＣＴ）又は概念的に同様の変換など、変換を残差ブロックに適用し、残差変換ブロック係数を備えるビデオブロックを生成する。変換ユニット３８は、例えば、概念的にＤＣＴと同様である、Ｈ．２６４規格によって定義された変換など、他の変換を実行し得る。そのような変換は、例えば、（カルーネンレーベ定理変換（Karhunen−Loeve theorem transform）などの）方向性変換、ウェーブレット変換、整数変換、サブバンド変換、又は他のタイプの変換を含み得る。いずれの場合も、変換ユニット３８は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報を画素領域から周波数領域に変換し得る。
【００５９】
量子化ユニット４０は、ビットレートを更に低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部又は全部に関連するビット深さを低減し得る。量子化の後、エントロピーコード化ユニット４６が量子化変換係数をエントロピーコード化する。例えば、エントロピーコード化ユニット４６は、ＣＡＶＬＣ、ＣＡＢＡＣ、又は別のエントロピーコード化方法を実行し得る。
【００６０】
エントロピーコード化ユニット４６はまた、ビデオエンコーダ２２の予測ユニット３２又は他の構成要素から得られた１つ以上の動きベクトル及びサポート情報をコード化し得る。１つ以上の予測シンタックス要素は、コード化モード、１つ以上の動きベクトルについてのデータ（例えば、水平及び垂直成分、参照リスト識別子、リストインデックス、及び／又は動きベクトル解像度シグナリング情報）、サブ画素データを生成するために使用された補間技法の指標、フィルタ係数のセット又はサブセット、フィルタサポートとして使用されるフル整数画素位置又はサブ整数画素位置のセット、又は予測ブロックの生成に関連する他の情報を含み得る。エントロピーコード化ユニット４６によるエントロピーコード化の後、コード化されたビデオ及びシンタックス要素は、別の機器に送信されるか、又は後で送信するか若しくは取り出すために（例えば、メモリ３４中に）アーカイブされ得る。
【００６１】
逆量子化ユニット４２及び逆変換ユニット４４は、それぞれ逆量子化及び逆変換を適用して、例えば、参照ブロックとして後で使用するために、画素領域中で残差ブロックを再構成する。（図２で「再構成された残差ブロック」と標示される）再構成された残差ブロックは、変換ユニット３８に与えられる残差ブロックの再構成されたバージョンを表し得る。再構成された残差ブロックは、量子化演算及び逆量子化演算によって生じた細部の損失により、加算器４８によって生成された残差ブロックとは異なり得る。加算器５１は、再構成された残差ブロックを、予測ユニット３２によって生成された動き補償された予測ブロックに加算して、メモリ３４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム又は後続のコード化単位中のブロックをその後コード化するために使用され得る参照ブロックとして予測ユニット３２によって使用され得る。
【００６２】
上記で説明したように、予測ユニット３２は、分数画素（又は、サブ画素）精度を用いて動き推定を実行し得る。予測ユニット３２は、分数画素動き推定を使用するとき、本開示で説明する補間演算を使用してサブ画素解像度（例えば、サブ画素値又は分数画素値）におけるデータを生成し得る。言い換えれば、補間演算は、整数画素位置間の位置における値を計算するために使用され得る。整数画素位置間の距離の１／２に配置されるサブ画素位置は１／２画素（１／２ペル）位置と呼ばれることがあり、整数画素位置と１／２画素位置との間の距離の１／２に配置されるサブ画素位置は１／４画素（１／４ペル）位置と呼ばれることがあり、整数画素位置（又は、１／２画素位置）と１／４画素位置との間の距離の１／２に配置されるサブ画素位置は１／８画素（１／８ペル）位置などと呼ばれる。
【００６３】
本開示の技法によれば、同じフル画素の２つのサブ整数画素についての値を計算するために、補間フィルタ３９のうちの同じ補間フィルタがサポートの２つ以上の異なるセットに適用され得る。以下でより詳細に説明するように、予測ユニット３２は、例えば、フル画素の第１のサブ整数画素についての値を計算するために、サポートの第１のセットにフィルタ３９のうちの１つを適用し、同じフル画素の第２のサブ整数画素についての値を計算するために、サポートの第２の異なるセットに同じ補間フィルタを適用し得る。その上、サポートのセットは、様々な形状、例えば、線形（水平、垂直、左上から右下に傾斜する対角、右上から左下に傾斜する対角など）、フル画素において交差するＸ字形、円形（例えば、フル画素の周りの円形形状の画素）、行列（例えば、フル画素の複数の行における２つ以上の画素）、又は他の形状を有し得る。
【００６４】
このようにして、ビデオエンコーダ２２は、参照サンプルの複数のフル整数画素位置についての値を受信し、複数のフル整数画素位置のうちの１つの第１のサブ整数画素についての値を計算するために複数のフル整数画素位置についての値の第１のセットに補間フィルタを適用し、フル整数画素位置のうちの１つの第２の異なるサブ整数画素についての値を計算するために、複数のフル整数画素位置についての値の第２の異なるセットに同じ補間フィルタを適用し、第１のサブ整数画素と第２のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素の現在のブロックをコード化するように構成されたビデオエンコーダの一例を表す。
【００６５】
図３は、予測データに関連する整数画素（又は、フル画素）位置と、補間予測データに関連するサブ画素（又は、分数画素）位置とを示す概念図である。図３の概念図では、異なるボックスが、フレーム又はフレームのブロック内の画素及びサブ画素位置を表す。（実線のボックス中の）数字付き大文字は整数画素位置を表し、（点線のボックス中の）小文字はサブ画素位置を表す。特に、画素位置Ａ１〜Ａ６、Ｂ１〜Ｂ６、Ｃ１〜Ｃ６、Ｄ１〜Ｄ６、Ｅ１〜Ｅ６、及びＦ１〜Ｆ６は、フレーム、スライス、又は他のコード化単位内の整数画素位置の６×６アレイを表す。サブ画素位置「ａ」〜「ｏ」は、整数画素Ｃ３に関連する１５個のサブ画素位置、例えば、整数画素位置Ｃ３とＣ４とＤ３とＤ４との間のサブ画素位置を表す。同様のサブ画素位置が、あらゆる整数画素位置に対して存在し得る。サブ画素位置「ａ」〜「ｏ」は、整数画素Ｃ３に関連する１／２ペル及び１／４ペル画素位置を表す。以下でより詳細に説明するように、例えば、サポートの異なるセットに同じ補間フィルタを適用することによって、サブ画素ａ〜ｏのうちの２つ以上についての値を計算するために、同じ補間フィルタが使用され得る。
【００６６】
整数画素位置は、ビデオデータが最初に生成されたとき、フォトダイオードなどの物理的センサ要素に関連し得る。フォトダイオードは、センサの位置における光源の強度を測定し、画素強度値を整数画素位置に関連付け得る。この場合も、各整数画素位置は、１５個の（又は場合によってはより多い又はより少ない）サブ画素位置の関連するセットを有し得る。整数画素位置に関連するサブ画素位置の数は所望の精度に依存し得る。図３に示す例では、所望の精度は１／４画素精度であり、その場合、整数画素位置の各々は、１５個の異なるサブ画素位置に関係する。より多い又はより少ないサブ画素位置は、所望の精度に基づいて各整数画素位置に関連し得る。１／２画素精度の場合、例えば、各整数画素位置は、３つのサブ画素位置に対応し得る。別の例として、整数画素位置の各々は、１／８画素精度の場合、６３個のサブ画素位置に対応し得る。各画素位置は、１つ以上の画素値、例えば、１つ以上の輝度及びクロミナンス値を定義し得る。
【００６７】
図３の例では、整数画素「Ｃ３」に関連するサブ画素位置が、１／４画素精度について示されている。画素Ｃ３に関連する１５個のサブ画素位置は、「ａ」、「ｂ」、「ｃ」、「ｄ」、「ｅ」、「ｆ」、「ｇ」、「ｈ」、「ｉ」、「ｊ」、「ｋ」、「ｌ」、「ｍ」、「ｎ」、及び「ｏ」と標示される。他の整数画素位置に関連する（以下で更に詳細に説明する画素位置Ｃ３に関連する１５個の異なる部分位置のうちの１つ以上を生成するために使用されるもの以外の）他の部分位置の殆んどは、簡単のために示さない。サブ画素位置「ｂ」、「ｈ」及び「ｊ」は１／２画素位置と呼ばれることがあり、サブ画素位置「ａ」、「ｃ」、「ｄ」、「ｅ」、「ｆ」、「ｇ」、「ｉ」、「ｋ」、「ｌ」、「ｍ」、「ｎ」、及び「ｏ」は１／４画素位置と呼ばれることがある。
【００６８】
ビデオエンコーダ４０の予測ユニット３２は、ＭＣ処理ユニット３７による補間フィルタ処理を使用してサブ画素位置「ａ」〜「ｏ」の画素値を決定し得る。予測ユニット３２は、３６タップ補間フィルタを使用してサブ画素位置「ａ」〜「ｏ」についての画素値を決定し得る。予測ユニット３２は、サブ画素位置の各々について３６個のフル整数画素位置全てに補間フィルタを適用し得る。他の例では、フル整数画素位置のサブセットは、サブ画素位置についての値を補間するためのフィルタサポートとして使用される。
【００６９】
一例では、ビデオエンコーダ４０の予測ユニット３２は、ＩＴＵ−Ｔ  Ｈ．２６４規格に一致する補間フィルタを使用するＭＣＵ３７によって補間フィルタ処理を使用して、サブ画素位置についての画素値「ａ」〜「ｏ」を決定し得る。ＩＴＵ−Ｔ  Ｈ．２６４規格に一致して、例えば、予測ユニット３２は、ウィーナーフィルタ（Wiener filter）などの６タップ補間フィルタを使用して、１／２画素位置についての画素値を決定し得る。Ｈ．２６４規格の場合、６タップ補間フィルタのためのフィルタ係数は一般に［１，−５，２０，２０，−５，１］であるが、他の係数が使用され得る。予測ユニット３２は、６つのフル整数画素位置の任意のセットに補間フィルタを適用し得る。一例では、１／２画素位置「ｂ」の場合、６タップフィルタのタップは、Ｂ３、Ｂ４、Ｃ３、Ｃ４、Ｄ３、及びＤ４に対応し得る。他の例では、１／２画素位置「ｂ」の場合の６タップフィルタのタップは、６つのフル整数画素位置の別のセットであり得る。同様に、一例では、１／２画素位置「ｈ」の場合、６タップフィルタのタップは、Ｃ２、Ｃ３、Ｃ４、Ｄ２、Ｄ３、及びＤ４に対応し得る。例えば、サブ画素位置「ｊ」についての画素値は、式（１）又は式（２）を使用して計算され得る。
【００７０】
j = ((A1 - 5＊B2 ＋20＊C3 ＋ 20＊D4 - 5＊E5 ＋ F6) ＋ 16)/32            (1)
j = ((A6 - 5＊B5 ＋20＊C4 ＋ 20＊D3 - 5＊E2 ＋ F1) ＋ 16)/32            (2)
上記の式１及び式２は、フル整数画素位置の値が６タップフィルタの異なる係数にどのように関連し得るかの一例を示す。他の例では、フル整数画素位置の値は、６タップフィルタの異なる係数に対応し得る。一例では、サブ画素位置に最も近い、サブ画素位置についてのフィルタサポートにおけるフル整数画素位置は、フィルタ中でより高く重み付けされた係数を与えられるが、サブ画素位置からより遠いフル整数画素位置は、より低い重みを与えられる。他の例では、どのフル整数画素位置がどの係数に対応するかを決定するための他の方法が使用される。
【００７１】
同じフルペル（フル画素）の異なるサブペルは、異なるサポートを使用して計算され得る。例えば、幾つかのサブ画素位置（上記で説明したフル画素位置Ｃ３に関連する「ｂ」及び「ｈ」など）は、フル整数画素位置の同じ又は異なるサブセットを用いて計算され得るが、サブ画素位置は、他のサブ画素位置に基づいて決定され得る。例えば、フル画素位置Ｃ３にも関連する１／２画素位置「ｊ」は、サブ画素位置に依存する双一次補間フィルタを使用して計算され得る。１／２画素位置「ｊ」の場合、６タップフィルタのタップは、位置Ｃ１〜Ｃ６とＤ１〜Ｄ６との間で水平に、又は、位置Ａ３〜Ｆ３とＡ４〜Ｆ４との間で垂直に補間されたそれら自体に対応する。１／２画素位置「ｊ」は、例えば、式（３）又は式（４）のうちの１つに従って、１／２画素位置の予め補間された画素値を使用する６タップフィルタを用いて計算され得る。
【００７２】
j = ((aa - 5＊bb ＋20＊b ＋ 20＊hh - 5＊ii ＋ jj) ＋ 16)/32              (3)
j = ((cc - 5＊dd ＋20＊h ＋ 20＊ee - 5＊ff ＋ gg) ＋ 16)/32              (4)
但し、（図３に示すように）ａａはＡ３とＡ４との間の補間に対応し、ｂｂはＢ３とＢ４との間の補間に対応し、ｂはＣ３とＣ４との間の補間に対応し、ｈｈはＤ３とＤ４との間の補間に対応し、ｉｉはＥ３とＥ４との間の補間に対応し、ｊｊはＦ３とＦ４との間に補間に対応する。式４では、ｃｃはＣ１とＤ１との間の補間に対応し、ｄｄはＣ２とＤ２との間の補間に対応し、ｈはＣ３とＤ３との間の補間に対応し、ｅｅはＣ４とＤ４との間の補間に対応し、ｆｆはＣ５とＤ５との間の補間に対応し、ｇｇはＣ６とＤ６との間の補間に対応する。
【００７３】
Ｈ．２６４規格に一致して、予測ユニット３２は、双一次補間フィルタと、周囲の整数画素位置及び１／２画素位置の画素値とを使用して、１／４画素位置「ａ」、「ｃ」、「ｄ」、「ｅ」、「ｆ」、「ｇ」、「ｉ」、「ｋ」、「ｌ」、「ｍ」、「ｎ」及び「ｏ」における幾つかの画素値を決定し得る。例えば、予測ユニット３２は、Ｃ３の画素値と「ｂ」の画素値とを使用して、サブ画素位置「ａ」に関連する画素値を決定し、「ｂ」の画素値とＣ４の画素値とを使用して、サブ画素位置「ｃ」に関連する画素値を決定し得、以下同様である。
【００７４】
サブ画素位置において補間データを生成するためにＭＣユニット３７によって適用される実際のフィルタには、多種多様な実装形態があり得る。一例として、予測ユニット３２は、以下で説明する適応補間フィルタ処理（ＡＩＦ）を使用して、補間値を定義し得る。ＩＴＵ−Ｔ  ＳＧ１６／Ｑ．６／ＶＣＥＧ（Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）委員会は、Ｈ．２６４よりも高いコード化効率を提供するコード化技術、特にＡＩＦを調査している。ＡＩＦは、特に高い解像度（例えば、７２０ｉ／ｐ又は１０８０ｉ／ｐ）をもつビデオシーケンス上で、Ｈ．２６４規格で使用される補間フィルタ処理よりも大きいコード化利得を提供する。ＡＩＦでは、サブ画素位置ごとの補間フィルタは、予測誤差エネルギーを最小限に抑えることによって、ビデオフレームごとに分析的に計算される。これは、エイリアシング、量子化誤差及び動き推定誤差、カメラノイズ、又は元のビデオフレーム及び参照ビデオフレーム中に含まれる他のアーティファクトに対処するのに役立つ。次いで、フレームごとに分析的に導出された適応フィルタ係数は、予測され、量子化され、コード化され、ビデオビットストリームで送られ得る。本開示の技法の一部は、ＡＩＦ方式ならびに多くの他の補間方式内で動作することができる。
【００７５】
多くの様々なタイプのＡＩＦ方式が、本開示の態様に一致する。例えば、第１の方式は２次元の分離不可能なＡＩＦ（ＮＳ−ＡＩＦ）であり、第２の方式は分離可能なＡＩＦ（Ｓ−ＡＩＦ）であり、第３の方式は方向フィルタをもつＡＩＦ（Ｄ−ＡＩＦ）である。これらのＡＩＦ方式の各々は、異なる補間技法及びサポートを使用するが、全ての３つのＡＩＦ方式は、同様の分析プロセスを使用してフィルタ係数を導出し得、以下に一例として分離不可能なＡＩＦを使用して説明する。任意の所与のサブ画素位置のための異なるフル整数画素位置の場合に、これらのＡＩＦ方式のいずれかが使用され得る。
【数１】
2015046907.tif 000003
【００７６】
但し、ｉ，ｊ＝０．．．５であり、ＳＰは、図３に示す１５個のサブ画素位置（「ａ」〜「ｏ」）のうちの１つを表す。１５個のサブ画素位置のうちの６つ、即ち「ａ」、「ｂ」、「ｃ」、「ｄ」、「ｈ」及び「ｌ」は１次元（１Ｄ）サブ画素位置であり、予測ユニット３２は６タップ補間フィルタを使用してそのようなデータを補間し得ることに留意されたい。サブ画素位置「ａ」、「ｂ」、「ｃ」、「ｄ」、「ｈ」及び「ｌ」は、２つの整数画素位置間の水平線又は垂直線に配置されるという点で１Ｄである。また、参照フレーム中の整数画素位置（図３のＡ１〜Ｆ６）における予測画素が、画素値Ｐi,j、但しｉ，ｊ＝０．．．５をとると仮定する。即ち、Ａ１は値Ｐ0,0をとり、．．．、Ａ６は値Ｐ5,0をとり、．．．、Ｆ１は値Ｐ5,0をとり、．．．、Ｆ６は値Ｐ5,5をとる。次いで、サブ画素位置ＳＰにおける補間値ｐSP、ＳＰ∈｛ａ，．．．，ｏ｝は、以下の式を使用して予測ユニット３２によって計算され得る。
【数２】
2015046907.tif 000004
【００７７】
Ｓx,yを位置（ｘ，ｙ）における現在のビデオフレーム中の画素値とする。
【数３】
2015046907.tif 000005
【００７８】
例えば、６タップフィルタの場合、ＦＯ＝６／２−１＝２である。サブ画素位置ＳＰごとに、現在のフレーム中の実際の画素値と補間値との間の予測誤差エネルギー（ｅSP）2が、サブ画素位置ＳＰに対応する動きベクトル精度を有する全ての画素に対して、予測ユニット３２によって蓄積され得る。予測誤差エネルギー（ｅSP）2は、以下の式を使用して予測ユニット３２によって計算され得る。
【数４】
2015046907.tif 000006
【数５】
2015046907.tif 000007
【００７９】
式の数は、この場合、現在のサブ画素位置ＳＰに使用されるフィルタ係数の数に等しい。各サブ画素位置に対して、予測ユニット３２は、６×６のタップ１Ｄ補間フィルタ（例えば、１Ｄ６タップフィルタ）を使用し得る。他の例では、予測ユニット３２は、異なるタップ補間フィルタ（例えば、１Ｄ１２タップフィルタ）を使用し得る。１Ｄ６タップフィルタの場合、６つの式のシステムは、ＭＣユニット３７によって解決され得る。
【数６】
2015046907.tif 000008
【００８０】
（１つ又は複数の）フィルタ３９は、予測データを生成するためにＭＣユニット３７によって使用され得る１つのフィルタ又は多くの様々なフィルタのセットを表し得る。
【００８１】
従って、ＡＩＦフィルタを導出し、適用する１つの例示的なプロセスは、予測ユニット３２によって実行され得る以下のステップを有し得る。
【００８２】
１．コード化されるべきあらゆるビデオブロックについて動きベクトル（ｍｖｘ，ｍｖｙ）を推定する。動き推定中に、固定補間フィルタ（例えば、Ｈ．２６４／ＡＶＣの補間プロセス）が適用され得る。
【数７】
2015046907.tif 000009
【００８３】
３．新しい動きベクトルを推定する。この動き推定プロセス中に、ステップ２で計算された適応補間フィルタが適用され得る。適応補間フィルタを使用して、（エイリアシング、カメラノイズなどによって生じた）動き推定誤差が低減され得、より良い動き予測が達成される。
【００８４】
上記のように、異なるＡＩＦ方式が同じ分析プロセスを使用し得る。異なる方式間の差は、大部分、補間フィルタが分離可能であるか分離不可能であるかにかかわらず、使用される一意のフィルタ係数の数と、（サブ画素位置の少なくとも一部分を補間するために使用される整数画素位置などの）使用されるフィルタサポートとにある。これらの方式の各々では、フル整数画素位置の異なるセットが、異なるサブ画素位置について使用され得る。
【００８５】
ＮＳ−ＡＩＦの場合、例えば、予測ユニット３２のＭＣユニット３７は、６つの係数を必要とする（各タップが整数画素位置と対応するので６位置フィルタとも呼ばれる）１Ｄ６タップ補間フィルタを使用して、１Ｄサブ画素位置「ａ」、「ｂ」、「ｃ」、「ｄ」、「ｈ」、及び「ｌ」を補間し得る。サブ画素を補間するために使用される６位置フィルタの６つの係数はそれぞれ、図３に示した整数画素位置のうちの１つに対応する。例えば、サブ画素位置「ａ」の場合、係数に対応する６つの整数画素位置は、Ｃ１、Ｃ２、Ｃ３、Ｃ４、Ｃ５、及びＣ６であり得る。他の例では、フル整数画素位置の任意の６つのメンバーサブセットは、サブ画素位置「ａ」についての値を計算するために使用され得る。これらの整数画素位置は補間フィルタの「フィルタサポート」の例を表す。幾つかの例では、フィルタサポートは、他のサブ整数画素についての前に計算された値を含み得る。
【００８６】
別のＡＩＦ方式、即ち、Ｓ−ＡＩＦでは、予測ユニット３２は、ＮＳ−ＡＩＦで使用される分離不可能な補間フィルタの代わりに、フル整数画素位置の任意のサブセットを使用する分離可能補間フィルタを使用し得る。例えば、１Ｄサブ画素位置の場合、予測ユニット３２（例えば、予測ユニット３２のＭＣユニット３７）は、サブ画素位置に応じて、水平方向フィルタのみ、垂直方向フィルタのみ、対角フィルタ（図４及び図５参照）のみ、組み合わされた水平及び垂直方向フィルタ（図５参照）のみ、矩形フィルタ（図７及び図８参照）のみ、又はフィルタサポートの任意の他の組合せを適用する。一例では、対角フィルタは、６位置（又は６タップ）フィルタを備える。予測ユニット３２は、フィルタサポートとして整数画素位置Ａ１、Ｂ２、Ｃ３、Ｄ４、Ｅ５、及びＦ６（図４参照）を用いてサブ画素位置「ｅ」、「ｊ」、及び「ｏ」に対して対角フィルタを適用し、フィルタサポートとして整数画素位置Ａ３、Ｂ３、Ｃ３、Ｄ３、Ｅ３及びＦ３（図６参照）を用いて、サブ画素位置「ｄ」、「ｈ」、及び「ｌ」に対して垂直方向フィルタを適用する。残りのサブ画素位置、即ち、２Ｄサブ画素位置に対して、予測ユニット３２は、対角フィルタ処理、その後に垂直フィルタ処理を適用するか、又は垂直フィルタ処理、その後に対角フィルタ処理を適用し得る。この場合も、分離可能な対角フィルタ及び垂直フィルタのために使用されるフィルタ係数は、適応補間フィルタ処理を対象とする例において上記の式（７）に従って計算され得る。他の例では、フィルタサポートの任意のサブセット及び形状が、サブ画素位置についての値を計算するために使用され得る。
【００８７】
予測ユニット３２のＭＣユニット３７は、本明細書で説明する補間技法のうちの１つ以上を使用し得、その補間技法は、サブ画素位置についての値の補間中にコード化利得を増加させ、及び／又はサブ画素位置を補間するために使用されるフィルタサポートの可変性を増加させ得る。本開示は、（対角サポート、又は放射形状をもつ１２画素フィルタサポートなど）補間のために使用され得るフィルタサポートのセットの他の例について以下で更に詳細に説明する。更に、補間フィルタ間で選択するための技法、フィルタサポートを選択するための技法、及びフィルタ係数を予測コード化するための技法についても説明する。
【００８８】
図４は、サブ整数画素位置に関する対角６画素フィルタサポートを示す概念図である。本開示によれば、ＭＣユニット３７は、影付き整数画素値に基づいてサブ画素位置「ａ」〜「ｏ」のいずれかについてのサブ画素値を計算し得る。この場合、サブ画素値のいずれかを計算することは、図４に示すサブ画素位置に関連するフル整数画素位置と対角である６つの（又は場合によってはより多くの）整数画素位置のセットに対応するフィルタサポート位置の対角アレイを使用する補間フィルタを適用することを備える。フィルタサポート位置は陰影付きで大文字を用いて示し、サブ画素位置は点線と小文字のボックスとして示す。ＭＣユニット３７は、このようにして、ビデオブロック中の画素のサブセットのみに対して画素を補間し得、サブ画素値を補間することに基づいて予測ブロックを生成し得る。他の例では、ＭＣユニット３７は、このようにして、ビデオブロックのあらゆる画素に対して画素を補間し得る。
【００８９】
６位置フィルタサポートは、この例では対角形状を有する。しかしながら、他の例では、任意の他の６位置フィルタサポートは、任意の他の形状を有することができる。サブ画素位置を通して対角になる６つ以上の整数画素位置のセットを図４に陰影付きで示す。フィルタサポートは、サブ画素位置を囲む４つの整数位置のうちの２つの整数位置Ｃ３及びＤ４、ならびにＣ３及びＤ４を通る対角線に沿った４つの整数画素位置Ａ１、Ｂ２、Ｅ５、及びＦ６を含み得る。そのようなフィルタ処理は、ビデオエンコーダ２２（図２）によるビデオコード化プロセス中に、又はビデオデコーダ２８（図１０）によるビデオ復号プロセス中に、動き補償の一部を形成し得る。ビデオコード化プロセス中に、予測ユニット３２は、予測シンタックス要素の一部として係数値の複数のセットをエントロピーコード化ユニット４６にフォワーディングし得る。
【００９０】
図４に示すように、サブ画素位置を囲む６つ以上の整数画素位置のセットは、対角形状を有する。別の例では、フィルタサポートは、サブ画素位置を囲む４つの整数位置のうちの２つの整数位置Ｃ４及びＤ３、並びにＣ４及びＤ３を通る対角線に沿った４つの整数画素位置Ａ６、Ｂ５、Ｅ２、及びＦ１を含み得る。幾つかの例では、サブ画素位置「ａ」〜「ｏ」のサブセットのみが、対角フィルタサポートを使用して決定される。他の例では、サブ画素位置「ａ」〜「ｏ」の全てが、対角フィルタサポートを使用して決定される。
【００９１】
エントロピーコード化ユニット４６は、係数値のセットをコード化し、コード化ビットストリームの一部として補間フィルタの係数値を出力し得、次いで、符号化ビットストリームは別の機器に送信され得る。図４に示す各異なるサブ画素位置に関して定義された係数値の複数のセットの各々は、６つ以上の整数画素位置に対して異なる重み付けを定義し得る。エントロピーコード化ユニット４６はまた、フィルタサポートのセットをコード化し、符号化ビットストリームの一部としてフィルタサポートのセットを出力し得、次いで、コード化ビットストリームは別の機器に送信され得る。サブ整数画素位置の異なるセットは、フィルタサポートの異なるセットを有し得る。更に、フィルタサポートの異なるセットは、同じ又は異なる補間フィルタに適用され得る。
【００９２】
図５は、サブ整数画素位置に関するｘ字形１２画素フィルタサポートを示す概念図である。本開示によれば、ＭＣユニット３７は、影付き整数画素値に基づいてサブ画素位置「ａ」〜「ｏ」のいずれかについてのサブ画素値を計算し得る。この場合、サブ画素値のいずれかを計算することは、図５に示すサブ画素位置を囲む４つのフル整数画素位置と対角である１２個の（又は場合によってはより多くの）整数画素位置のセットに対応するフィルタサポート位置のｘ字形アレイを定義する補間フィルタを適用することを備える。フィルタサポート位置は陰影付きで大文字を用いて示し、サブ画素位置は点線と小文字のボックスとして示す。ＭＣユニット３７は、このようにして、ビデオブロック中の画素のサブセットのみに対して画素を補間し得、サブ画素値を補間することに基づいて予測ブロックを生成し得る。他の例では、ＭＣユニット３７は、このようにして、ビデオブロックのあらゆる画素に対して画素を補間し得る。
【００９３】
１２個の位置フィルタサポートは、ｘ字形を有する。しかしながら、他の例では、サブ画素位置のいずれかについての任意の他の１２個の位置フィルタサポートは、任意の他の形状を有することができる。サブ画素位置を通してｘ字形になる１２個以上の整数画素位置のセットを図５に陰影付きで示す。フィルタサポートは、サブ画素位置を囲む４つの整数位置Ｃ３、Ｃ４、Ｄ３、及びＤ４と、Ｃ３及びＤ４を通る対角線に沿った４つの整数画素位置Ａ１、Ｂ２、Ｅ５、及びＦ６と、Ｃ４及びＤ３を通る対角線に沿った４つの整数画素位置Ａ６、Ｂ５、Ｅ２、及びＦ１とを含み得る。そのようなフィルタ処理は、ビデオエンコーダ２２（図２）によるビデオコード化プロセス中に、又はビデオデコーダ２８（図１０）によるビデオ復号プロセス中に、動き補償の一部を形成し得る。ビデオ符号化プロセス中に、予測ユニット３２は、予測シンタックス要素の一部として係数値の複数のセットをエントロピーコード化ユニット４６に転送し得る。
【００９４】
幾つかの例では、サブ画素位置「ａ」〜「ｏ」のサブセットのみが、ｘ字形フィルタサポートを使用して決定される。他の例では、サブ画素位置「ａ」〜「ｏ」の全てが、ｘ字形フィルタサポートを使用して決定される。
【００９５】
エントロピーコード化ユニット４６は、係数値のセットをコード化し、コード化ビットストリームの一部として補間フィルタの係数値を出力し得、次いで、符号化ビットストリームは別の機器に送信され得る。図５に示す各異なるサブ画素位置に関して定義された係数値の複数のセットの各々は、１２個以上の整数画素位置に対して異なる重み付けを定義し得る。エントロピーコード化ユニット４６はまた、フィルタサポートのセットをコード化し、コード化ビットストリームの一部としてフィルタサポートのセットを出力し得、次いで、符号化ビットストリームは別の機器に送信され得る。
【００９６】
図６は、少なくとも１つのサブ画素位置に関する十字形１２画素フィルタサポートを示す概念図である。本開示によれば、ＭＣユニット３７は、影付き整数画素値に基づいて、フル画素位置に関連する任意のサブ画素位置についてのサブ画素値を計算し得る。この場合、サブ画素値のいずれかを計算することは、１２個の（又は場合によってはより多くの）整数画素位置のセットに対応するフィルタサポート位置のｔ字形アレイを定義する補間フィルタを適用することを備え、整数画素位置のセットは、サブ画素位置を囲む４つのフル整数画素位置（例えば、Ｃ３、Ｃ４、Ｄ３、及びＤ４）、及び垂直整数画素位置（例えば、Ａ３、Ｂ３、Ｅ３、及びＦ３）、並びに水平整数画素位置（例えば、Ｃ１、Ｃ２、Ｃ５、及びＣ６）を含み得る。フィルタサポート位置は陰影付きで大文字を用いて示し、幾つかのサブ画素位置は点線と小文字のボックスとして示す。ＭＣユニット３７は、このようにして、ビデオブロック中の画素のサブセットのみに対して画素を補間し得、サブ画素値を補間することに基づいて予測ブロックを生成し得る。他の例では、ＭＣユニット３７は、このようにして、ビデオブロックのあらゆる画素に対して画素を補間し得る。
【００９７】
図６に示すように、３つの水平サブ画素位置「ａ」、「ｂ」、及び「ｃ」と、３つの垂直サブ画素位置「ｄ」、「ｈ」、及び「ｌ」とは、１２画素フィルタサポートを用いて予測され得る。しかしながら、他の例では、フル画素位置（図６に示すＣ３など）に関連する任意のサブ画素位置は、図６に示す１２画素フィルタサポートを使用して予測され得る。
【００９８】
同様に、エントロピーコード化ユニット４６は、係数値のセットをコード化し、コード化ビットストリームの一部として補間フィルタの係数値を出力し得、次いで、符号化ビットストリームは別の機器に送信され得る。図５に示す各異なるサブ画素位置に関して定義された係数値の複数のセットの各々は、１２個以上の整数画素位置に対して異なる重み付けを定義し得る。エントロピーコード化ユニット４６はまた、フィルタサポートのセットをコード化し、符号化ビットストリームの一部としてフィルタサポートのセットを出力し得、次いで、符号化ビットストリームは別の機器に送信され得る。
【００９９】
図７は、サブ画素位置に関する円形（放射形とも呼ばれる）１２画素フィルタサポートを示す概念図である。上記で説明した異なるフィルタサポートの例と同様に、ＭＣユニット３７は、影付き整数画素値に基づいて、任意のサブ画素位置についてのサブ画素値を計算し得る。この場合、サブ画素値を計算することは、図７に示すように、サブ画素位置を囲む１２個の（又は場合によっては、より多い又はより少ない）整数画素位置のセットに対応するフィルタサポート位置の２次元アレイを定義する補間フィルタを適用することを備える。フィルタサポート位置は陰影付きで大文字を用いて示し、サブ画素位置は点線と小文字のボックスとして示す。ＭＣユニット３７は、このようにして、ビデオブロックの任意の画素に対して画素を補間し得、補間されたサブ画素値に基づいて予測ブロックを生成し得る。１２位置フィルタサポートは、放射形状を有し、ＮＳ−ＡＩＦで使用される３６位置フィルタサポートと同様の周波数応答を有するが、補間の複雑さは低減されている。
【０１００】
サブ画素位置を囲む、１２個以上の整数画素位置のセットは、図４に陰影付きで示されており、１５個のハーフペル値及びクォーターペル値を囲む４つの整数画素位置Ｃ３、Ｃ４、Ｄ３及びＤ４、ならびに４つの整数画素位置を囲む８つの整数画素位置Ｂ３、Ｂ４、Ｃ２、Ｃ５、Ｄ２、Ｄ５、Ｅ３及びＥ４を含み得る。図７に示すフィルタサポート位置の２次元アレイ中のフィルタサポート位置の各々は、サブ画素位置に対する２つの整数画素位置内にある。そのようなフィルタ処理は、ビデオエンコーダ２２（図２）によるビデオコード化プロセス中に、又はビデオデコーダ２８（図１６）によるビデオ復号プロセス中に、動き補償の一部を形成し得る。ビデオコード化プロセス中に、予測ユニット３２は、予測シンタックス要素の一部として係数値の複数のセットをエントロピーコード化ユニット４６に転送する。
【０１０１】
図４に示したように、サブ画素位置を囲む１２個の整数画素位置のセットは、放射形状を有し、補間フィルタ（例えば、図２の（１つ以上の）フィルタ３９）によって定義されたサブペル値に空間的に最も近い整数画素位置のセットを備え得る。他の例では、図７に示す放射形状は、例えば、左側又は右側に１つのフル画素だけシフトされ得る。更に他の例では、フル整数画素位置の任意の数の任意のセットが、補間フィルタを用いてサブペル位置を予測するために使用される。
【０１０２】
図８は、少なくとも１つのサブ整数画素位置に関する方形４画素フィルタサポートを示す概念図である。本開示によれば、ＭＣユニット３７は、影付き整数画素値に基づいて、フル画素位置に関連する任意のサブ画素位置についてのサブ画素値を計算し得る。この場合、サブ画素値のいずれかを計算することは、４つの整数画素位置のセットに対応するフィルタサポート位置の方形アレイを定義する補間フィルタを適用することを備える。図８に示した例では、４つの整数画素位置は、サブ画素位置を囲む４つのフル整数画素位置、即ち、Ｃ３、Ｃ４、Ｄ３、及びＤ４を含む。フィルタサポート位置は陰影付きで大文字を用いて示し、幾つかのサブ画素位置は点線と小文字のボックスとして示す。
【０１０３】
ＭＣユニット３７は、このようにして、ビデオブロック中の画素のサブセットのみに対して画素を補間し得、サブ画素値を補間することに基づいて予測ブロックを生成し得る。他の例では、ＭＣユニット３７は、このようにして、ビデオブロックのあらゆる画素に対して画素を補間し得る。ＭＣユニット３７は、これらの４つの整数画素位置を使用してサブ画素位置を予測するために任意の適切なタイプの補間フィルタを使用し得る。他の例では、ＭＣユニット３７は、４つのフル整数画素位置の任意のセットを使用してサブ画素位置を補間し得る。
【０１０４】
図９は、サブ整数画素位置に関する矩形６画素フィルタサポートを示す概念図である。この例では、ＭＣユニット３７は、影付き整数画素値に基づいて、フル画素位置に関連する任意のサブ画素位置についてのサブ画素値を計算し得る。フィルタサポート位置は陰影付きで大文字を用いて示し、幾つかのサブ画素位置は点線と小文字のボックスとして示す。この場合、サブ画素値のいずれかを計算することは、６つの整数画素位置のセットに対応するフィルタサポート位置の矩形アレイを定義する補間フィルタを適用することを備える。図８に示した例では、６つの整数画素位置は、サブ画素位置を囲む４つのフル整数画素位置、ならびにサブ画素位置を囲む４つのフル整数画素位置に隣接する２つのさらなるフル整数画素位置を含む。図９では、サブ画素位置「ｆ」が予測されるので、フィルタサポートは、サブ画素「ｆ」の周りに配置された４つのフル画素位置Ｃ３、Ｃ４、Ｄ３、及びＤ４、ならびに隣接するフル画素位置Ｂ３及びＢ４を含む。
【０１０５】
他の例では、隣接するフル画素位置は、Ｃ２及びＤ２、Ｃ５及びＤ５、又はＥ３及びＥ４を含み得る。他の例では、ＭＣユニット３７は、６つのフル整数画素位置の任意のセットを使用してサブ画素位置を補間し得る。任意の好適な６タップ補間フィルタは、サブ整数画素位置を予測するために使用され得る。
【０１０６】
エントロピーコード化ユニット４６は、係数値のセットをコード化し、符号化ビットストリームの一部として補間フィルタの係数値を出力し得、次いで、符号化ビットストリームは別の機器に送信され得る。図９に示す各異なるサブ画素位置に関して定義された係数値の複数のセットの各々は、１２個以上の整数画素位置に対して異なる重み付けを定義し得る。エントロピーコード化ユニット４６はまた、フィルタサポートのセットをコード化し、コード化ビットストリームの一部としてフィルタサポートのセットを出力し得、次いで、符号化ビットストリームは別の機器に送信され得る。
【０１０７】
再び図３を参照すると、単一の予測単位内のサブ整数画素位置の異なるセットは、同じ画像フレームからのフィルタサポートの異なるセットに同じ補間フィルタを適用していることがある。更に、同じ又は異なる補間フィルタは、単一の予測単位内のフィルタサポートの異なるセットに適用され得る。例えば、サブ画素位置「ｅ」は、図４に示したように６つの対角サポートを使用して予測され得る。サブ画素「ｅ」についてのフィルタサポートは、フル整数画素位置Ａ１、Ｂ２、Ｃ３、Ｄ４、Ｅ５、及びＦ６を含み得る。サブ画素「ｅ」のために使用される補間フィルタは、６タップウィーナーフィルタであり得る。同じ予測単位内で、サブ画素位置「ｊ」は、図５に示したようにｘ字形を有する１２個のフル整数画素位置のセットを使用して予測され得る。サブ画素「ｊ」についてのフィルタサポートは、フル整数画素位置Ａ１、Ａ６、Ｂ２、Ｂ５、Ｃ３、Ｃ４、Ｄ３、Ｄ４、Ｅ２、Ｅ５、Ｆ１、及びＦ６を含み得る。サブ画素「ｅ」のために使用される補間フィルタは、１２タップウィーナーフィルタ（twelve−tap Wiener filter）であり得る。
【０１０８】
更に、サブ整数画素位置「ｈ」は、図６に示したように十字形サポートを使用して予測され得る。サブ画素「ｈ」についてのフィルタサポートは、Ａ３、Ｂ３、Ｃ１、Ｃ２、Ｃ３、Ｃ４、Ｃ５、Ｃ６、Ｄ３、Ｄ４、Ｅ３、及びＦ３を含む１２個のフル整数画素位置を含み得る。サブ画素「ｈ」を予測するために使用される補間フィルタは、１２タップ分離可能又は非分離可能フィルタであり得る。別のサブペル位置「ｋ」は、図７に示したように予測され得る。サブ画素「ｋ」についての円形のフィルタサポートは、Ｂ３、Ｂ４、Ｃ２、Ｃ３、Ｃ４、Ｃ５、Ｄ２、Ｄ３、Ｄ４、Ｄ５、Ｅ３、及びＥ４を含む１２個のフル整数画素位置を含み得る。サブ画素「ｈ」を予測するために使用される補間フィルタは、１２タップフィルタであり得る。
【０１０９】
更に、図８に示したように、サブ整数画素位置「ｍ」は、サブ画素「ｍ」に最も近い４つのフル整数画素位置を使用して予測され得る。サブ画素「ｍ」のためのＣ３、Ｃ４、Ｄ３、及びＤ４を含むフィルタサポートを用いた４タップ補間フィルタが使用され得る。別の例として、サブ整数画素位置「ｆ」は、図９に示すように矩形サポートを使用して予測され得る。サブ画素「ｆ」についてのフィルタサポートは、Ｂ３、Ｂ４、Ｃ３、Ｃ４、Ｄ３、及びＤ４を含む６つのフル整数画素位置を含み得る。サブ画素「ｆ」を予測するために使用される補間フィルタは、１２タップ分離可能又は非分離可能フィルタであり得る。
【０１１０】
予測単位のためのサブ画素位置を予測するために使用されるフィルタサポートの異なるセットのわずか数例について上記で説明した。本明細書で説明するように、サブ画素位置「ｅ」、「ｊ」、「ｈ」、「ｋ」、「ｍ」、及び「ｆ」はそれぞれ、異なるフィルタサポートを使用して予測される。これらのサブ画素位置のうちの幾つかは、同じ補間フィルタを使用して予測され得る。例えば、サブ画素「ｅ」及び「ｆ」は両方とも、６タップウィーナーフィルタ（six−tap Wiener filter）を使用して予測され得る。他のサブ画素位置は、他のサブ画素位置とは異なる補間フィルタを使用して予測され得る。
【０１１１】
他の例では、幾つかのフル整数画素位置は、サブ画素位置の値を計算することにおいて繰り返され得る。例えば、１Ｄ６タップ補間フィルタ（1D 6−tap interpolation filter）が使用されている場合、サブ画素位置についてのサポートは、６つ未満のフル整数画素位置のセットを備え得る。そのような例では、フル整数画素位置のうちの１つ又は複数が繰り返される。一例では、サブ画素位置に最も近いそれらのフル整数画素位置は、繰り返されるフル整数画素位置である。同様に、一例では、１／２画素位置「ｅ」の場合、６タップフィルタのタップは、Ｂ３、Ｃ３、Ｃ４、Ｄ３、及びＤ４に対応し得る。例えば、サブ画素位置「ｅ」についての画素値は、式（８）を使用して計算され得る。
【０１１２】
e = ((B3 - 5＊C4 ＋20＊C3 ＋ 20＊C3 - 5＊D3 ＋ D4) ＋ 16)/32        (8)
これらの特定の例で説明したように、サブペル位置は、別のサブペル位置に依存しない。しかしながら、他の例では、サブペル位置は、別のサブペル位置に依存し得る。各サブ画素位置についてのフィルタサポートの任意の組合せ及び補間フィルタの任意の選定を含む、多くの他の例が考えられる。他の多くのフィルタサイズ及び形状が、サブペルフィルタ処理に応じて使用され得る。
【０１１３】
図１０は、本明細書で説明する方法でコード化されたビデオシーケンスを復号し得るビデオデコーダ２８の一例を示すブロック図である。ビデオデコーダ２８は、本明細書では「コーダ」と呼ぶ専用ビデオコンピュータ機器又は装置の一例である。図１０に示すように、ビデオデコーダ２８は、機器２０のビデオデコーダ２８に対応する。但し、他の例では、ビデオデコーダ２８は、異なる機器に対応し得る。さらなる例では、他のユニット（例えば、他のエンコーダ／デコーダ（ＣＯＤＥＣ）など）も、ビデオデコーダ２８と同様の技法を実行することができる。
【０１１４】
ビデオデコーダ２８は、量子化係数及び予測シンタックス要素を生成するために、受信したビットストリームをエントロピー復号するエントロピー復号ユニット５２を含む。予測シンタックス要素は、コード化モード、１つ以上の動きベクトル、サブ画素データを生成するために使用される補間技法を識別する情報、補間フィルタ処理中に使用するための係数、及び／又は予測ブロックの生成に関連する他の情報を含み得る。
【０１１５】
予測シンタックス要素、例えば、係数は、予測ユニット５５に転送される。固定フィルタの係数に対して又は互いに対して係数をコード化するために予測が使用された場合、係数予測及び逆量子化ユニット５３は、実際の係数を定義するためにシンタックス要素を復号することができる。また、量子化が予測シンタックスのいずれかに適用された場合、係数予測及び逆量子化ユニット５３は、そのような量子化を除去することもできる。例えば、フィルタ係数は、本開示に従って予測コード化され、量子化され得、この場合、係数予測及び逆量子化ユニット５３は、そのような係数を予測的に復号し、逆量子化するためにビデオデコーダ２８によって使用され得る。
【０１１６】
予測ユニット５５は、ビデオエンコーダ２２の予測ユニット３２に関して上記で詳細に説明したのと殆んど同じ方法で、メモリ６２に記憶された予測シンタックス要素と１つ以上の前に復号されたブロックとに基づいて、予測データを生成し得る。特に、予測ユニット５５は、動き補償中に本開示の補間フィルタ処理技法のうちの１つ以上を実行して、１／４画素精度などの特定の精度で予測ブロックを生成し得る。従って、本開示の技法のうちの１つ又は複数は、予測ブロックを生成する際にビデオデコーダ２８によって使用され得る。予測ユニット５５は、本開示の補間及び補間様フィルタ処理技法のために使用されるフィルタを備える動き補償ユニットを含み得る。動き補償構成要素は、説明を簡単で容易にするために図１０に示していない。
【０１１７】
逆量子化ユニット５６は、量子化された係数を逆量子化（inverse quantize）、即ち、逆量子化（dequantize）する。逆量子化プロセスは、Ｈ．２６４復号、又は任意の他の復号規格のために定義されたプロセスであり得る。逆変換ユニット５８は、画素領域における残差ブロックを生成するために、変換係数に、逆変換、例えば、逆ＤＣＴ又は概念的に同様の逆変換プロセスを適用する。加算器６４は、残差ブロックを、予測ユニット５５によって生成された対応する予測ブロックと加算して、ビデオエンコーダ２２によってコード化された元のブロックの再構成されたバージョンを形成する。必要に応じて、ブロックノイズを除去するために、デブロッキングフィルタを適用して、復号ブロックをフィルタ処理し得る。次いで、復号ビデオブロックはメモリ６２に記憶され、メモリ６２は、その後の動き補償のために参照ブロックを与え、（図１の機器２８などの）表示装置を駆動するために復号ビデオをも生成する。
【０１１８】
本開示の補間フィルタ処理技法を使用して、ビデオデコーダ２８は、任意のサイズ又は形状のフィルタサポートを有する補間フィルタを使用してサブ画素位置についての画素値を計算し得る。一例では、ビデオデコーダ２８は、３６位置フィルタサポート（即ち、図３に示す２Ｄ６×６フィルタサポート）を使用してサブ画素についての画素値を計算するためにＮＳ−ＡＩＦ技法を使用する。別の例として、Ｓ−ＡＩＦは、補間フィルタ処理のためのフィルタサポートとして、分離可能整数画素位置を使用し得る。更に別の例では、Ｄ−ＡＩＦは、６位置フィルタサポート又は１２位置対角フィルタサポートのいずれかを有する補間フィルタを使用してサブ画素位置を計算する。サブ画素位置を計算するために、任意のＩＴＵ−Ｔ  Ｈ．２６４補間フィルタなど、他の補間フィルタが使用され得る。次に、サブ画素位置をコード化又は復号するために、既知の、又は後で企図される任意の好適な補間フィルタが使用され得る。更に、ビデオデコーダ２８は、固定補間フィルタ、交換補間フィルタ、又は適応補間フィルタである補間フィルタ、若しくはそれらの組合せを使用し得る。補間フィルタは、更に分離可能又は非分離可能であり得る。一例では、ビデオデコーダ２８は、（例えば、ビデオエンコーダ２２からの）受信したビットストリームにおいて適用すべきフィルタの指標、及びフィルタを適用すべきフィルタサポートのセットの指標を受信し得る。
【０１１９】
場合によっては、フィルタサポートは、所与のサブ画素とのそれの可能性のある相関に基づいて選定され得る。例えば、Ｄ−ＡＩＦに記載の対角フィルタサポートを使用することの１つの欠点は、フィルタ処理で使用される整数画素位置が、補間されるべき現在の位置からはるかに離れているということである。補間されるべき現在の位置とフィルタサポートとして使用される画素の位置との間の距離が増加するにつれて、空間画素相関は減少する。従って、Ｄ−ＡＩＦで使用される対角フィルタサポートは、正確な予測を形成することにあまり適していない。
【０１２０】
Ｄ−ＡＩＦによって提供される同じ低複雑度を維持しながら、補間されるべき位置とのより高い相関をもつ画素（即ち、補間されるべき位置により近い、又は補間されるべき位置からより短い距離の画素位置）を使用してより良い予測を行うために、フィルタサポートのより好適なセットがサブ画素に対して使用され得る（例えば、図８に示した４位置フィルタサポートは、補間のために使用され得る）。本開示で説明する４位置フィルタサポートで使用される整数画素位置は、サブ画素位置を囲む４つの整数画素位置即ち、整数画素位置Ｃ３、Ｃ４、Ｄ３、及びＤ４を含み、４つの整数画素位置は、サブ画素位置のコーナーの近くに配置されるので、「コーナー」整数画素位置と呼ばれることがある。コーナー整数画素位置に加えて、図９に示したように、コーナー整数画素位置に直接隣接する１つ以上の整数画素位置も、フィルタサポートで使用され得る。コーナー整数画素位置に直接隣接する整数画素位置は、コーナー整数画素位置のすぐ上（上部又は北の方向）又は、すぐ下（下部又は南の方向）の整数画素位置及び、コーナー整数画素位置のすぐ左（又は西）、又は、すぐ右（又は東）の整数画素位置を含み得る。これらの特定の例では、これらの整数画素位置の全ては、補間されるべきサブ画素の２つの整数画素位置内に配置される。
【０１２１】
しかしながら、本開示の技法によるフィルタサポートは、追加の整数画素位置を含み得る。例えば、フィルタサポートは、補間されるべきサブ画素位置の、放射形状を形成する３つの整数画素位置内に配置された整数画素位置を含み得る。更に、フィルタサポートは、サブ画素位置の４つ以上の整数画素位置内に配置された整数画素位置を含み得る。幾つかの例では、フィルタサポートは、所与のコード化ブロック中にフル整数画素位置の任意のサブセットを含み得る。
【０１２２】
１／４画素位置又はより微細な解像度でも、少なくとも２つの整数画素位置内に配置された整数画素位置に基づいて補間され得る。また、フィルタサポートは、サブ画素位置とのフル整数画素位置の相関に基づいて選定され得る。このように、本開示のフィルタサポート技法は、補間されるべき位置とのより高い相関をもつ整数画素を使用して、より良い補間予測を行う。更に、任意のサブペルは、そのサブペルが依存する別のサブペルを予測又は復号する必要なしに予測又は復号され得る。
【０１２３】
図１１は、本開示に一致する画素フィルタサポートを利用するビデオエンコーダの例示的な動作を示す流れ図である。図１１の技法について図２のビデオエンコーダ２２の観点から説明するが、他の機器でも同様の技法を実行し得る。ビデオエンコーダ２２は、参照サンプルの複数のフル整数画素位置についての値を受信する（１０２）。
【０１２４】
ビデオエンコーダ２２は、複数のフル整数画素位置のうちの１つの第１のサブ整数画素についての値を計算するために、複数のフル整数画素位置についての値の第１のセットに補間フィルタを適用する（１０４）。ビデオエンコーダ２２は、フル整数画素位置のうちの１つの第２の異なるサブ整数画素についての値を計算するために、複数のフル整数画素位置についての値の第２の異なるセットに同じ補間フィルタを適用する（１０６）。これらの計算された値に基づいて、ビデオエンコーダ２２は、第１のサブ整数画素と第２のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素の現在のブロックをコード化し得る。図１１に関して説明したビデオエンコーダ２２の例示的な動作と同様の技法について、図１２及び図１３において更に説明する。
【０１２５】
図１２は、本開示に一致する画素フィルタサポートを利用するビデオエンコーダの別の例示的な動作を示す流れ図である。図１２の技法について図２のビデオエンコーダ２２の観点から説明するが、他の機器でも同様の技法を実行し得る。図示のように、図１２では、予測ユニット３２のＭＣユニット３７は、整数画素位置に対応する整数画素値を含む画素のブロックをメモリ３４から得る（１１２）。各サブ画素位置について、エンコーダ２２は、画素のブロック中でフル整数画素位置のサブセットを備えるフィルタサポートを決定する（１１４）。フィルタサポートを決定するための方法について、図１２及び図１３に関して以下で説明する。フィルタサポートを決定するための方法は、ビデオエンコーダ２２など、使用されているエンコーダの特定の特性に依存し得る。
【０１２６】
（１つ以上の）フィルタ３９は、サブ画素位置を囲む任意の数のフル整数画素位置を備えるフィルタサポートのセットに基づいてサブ画素値を計算する（１１６）。上記でより詳細に説明したように、フィルタサポートは任意の可能なサブ画素補間を生成するために使用され得る。
【０１２７】
フィルタサポートが決定されると、ＭＣユニット３７は、次いで、計算されたサブ画素値に基づいて予測ブロックを生成する（１１８）。特に、ＭＣユニット３７は、補間サブ画素値を備える補間予測ブロックを生成し、出力し得る。加算器４８は、次いで、例えば、コード化されているビデオブロックから補間予測ブロックを減算することによって、補間予測ブロックに基づいて現在のビデオブロックをコード化（１２０）して、残差ブロックを生成する。次いで、残差ブロックは、それぞれ変換ユニット３８及び量子化ユニット４０によって変換及び量子化される。エントロピーコード化ユニット４６によるエントロピーコード化の後、ビデオエンコーダ２２は、コード化ビデオビットストリームとフィルタ情報とを出力する（１２２）。フィルタ情報は、本明細書で説明するように、各サブ画素位置をコード化するためにどんなフィルタサポートが使用されたかの指標を備え得る。フィルタ情報はまた、特定のサブ画素位置のためにどんな補間フィルタが使用されたかの指標を含み得る。フィルタ情報は、コード化単位ごとに１回出力され、又は場合によっては、コード化単位の様々なエリアが様々なタイプのサブペル補間を使用するならば、コード化単位ごとに数回出力され得る。
【０１２８】
図１３は、本開示に一致するサブ整数画素のためのフィルタサポートを決定する例示的な方法を示す流れ図である。図１３の技法について図２のビデオエンコーダ２２の観点から説明するが、他の機器でも同様の技法を実行し得る。ビデオエンコーダ２２は、画素のブロック中のサブ画素位置ごとにどのフィルタサポートを使用すべきかを決定するために、マルチパス技法を採用し得る。
【０１２９】
図１３に示すように、ビデオエンコーダ２２は、フル整数画素位置の第１のセットを使用して補間されるサブ画素位置に基づいて、画素のブロックについての第１の動きベクトルを計算する（１３２）。例えば、従来の動き推定方法を使用して、フレームについて動きベクトルが計算され得る。上記で説明したように、サブペル位置を予測するために、任意の形状又は数のフル整数画素位置が使用され得る。ビデオエンコーダ２２は、第１の動きベクトルについての第１の誤差値を計算する（１３４）。一例では、エンコーダ２２は、サブペル位置についての予測の平均２乗誤差を使用して第１の誤差値を計算し得る。
【０１３０】
ビデオエンコーダ２２は、フル整数画素位置の第２のセットを使用して補間されるサブ画素位置に基づいて、画素のブロックについての第２の動きベクトルを計算する（１３６）。フル整数画素位置の第１のセットは、フル整数画素位置の第２のセットとは異なり得る。ビデオエンコーダ２２は、第２の動きベクトルについての第２の誤差値を計算する（１３８）。同様に、第２の誤差値は、平均２乗誤差計算を使用して計算され得る。
【０１３１】
第１の誤差値と第２の誤差値との比較に基づいて、エンコーダ２２は、フル整数画素位置の第１のセットと第２のセットとのうちの一方を選択する（１４０）。例えば、フル整数画素位置のセットが、サブ画素位置についてのより小さい誤りを生じるために、フル整数画素位置のそのセットは、サブ画素位置についてのフィルタサポートとして選択され得る。図１３に示す技法は、画素のブロック中のサブ画素位置ごとに適用され得る。他の例では、図１３に示す技法は、単一のサブ画素位置についての画素のブロック当たり１回適用され得る。
【０１３２】
一例では、この決定は、サブ画素ごとに行われ得る。更に、この例示的な方法は、複数の異なる補間フィルタの各々について実行され得る。そのような例では、フィルタサポート及び補間フィルタは、最小誤りを与えることなど、所与のファクタのために選定され得る。
【０１３３】
あるサブペル、例えば、サブペル「ｂ」を指す全てのブロックについて、エンコーダ２２は、フル整数画素位置の複数のセットを使用してサブペル「ｂ」を予測する。次いで、エンコーダ２２は、サブペル「ｂ」の様々な予測について平均２乗誤差を計算し、最小誤りを与えるサブペル「ｂ」の予測に対応するフル整数画素位置のセットを選択し得る。ビデオエンコーダ２２は、サブ画素位置ごとに、このプロセスを繰り返し得る。他の例では、ビデオエンコーダ２２は、同様の状況にあるサブ画素位置にフィルタサポートの同様のセットを適用する。
【０１３４】
図１４は、本開示に一致するサブ整数画素のためのフィルタサポートを決定する別の例示的な方法を示す流れ図である。この例では、第１の前にコード化されたフレーム中のサブ画素位置ごとにフィルタサポートを決定する（１５２）。一例では、フィルタサポートは、図１３に関して説明したように第１のフレームについて決定される。ビデオエンコーダ２２は、フィルタサポートのセットが、先行するフレーム中の対応するサブ画素に適用されたとき、第２の後続のフレーム中の各サブ画素にフィルタサポートの同じセットを適用する（１５４）。例示的な方法は、マルチパス技法を実行することを回避する。
【０１３５】
サブペル位置についてのフィルタサポートを選択する他の方法は、サブ画素位置を囲む任意の数のフル整数画素位置のサブセットを選択することを含み得る。フル整数画素位置は、予測されるべきサブ画素位置の位置、サブ画素位置とのフル整数画素位置の相関、又はサブ画素位置へのフル整数画素位置の近接度を含む、任意の数のファクタに基づいて選択され得る。
【０１３６】
図３及び図７に示すように、サブ画素値についてのフィルタサポートの幾つかの例示的なセットは、サブ画素位置を囲む１２個以上の位置を備えるフィルタサポートのセットに基づき得る。別の例では、図４〜図７及び図９に示すように、（１つ又は複数の）フィルタ３９は、サブ画素位置に関連するフル整数画素位置を含む６つ以上の位置を備えるフィルタサポートのセットに基づいて、サブ画素値を計算する。更に別の例では、図８に示したように、（１つ又は複数の）フィルタ３９は、サブ画素位置を囲む４つのフル整数画素位置を備えるフィルタサポートのセットに基づいて、サブ画素値を計算する。
【０１３７】
図１５は、本開示に一致するフィルタサポートを利用するビデオデコーダの例示的な動作を示す流れ図である。従って、図１５のプロセスは、図１１のコード化プロセスとは逆の復号プロセスと考えられ得る。図１４について図１０のビデオデコーダ２８の観点から説明するが、他の機器でも同様の技法を実行し得る。
【０１３８】
ビデオデコーダ２８は、複数のフル整数画素位置を備える参照サンプルを受信する（１７２）。一例では、ビデオデコーダ２８は、ビデオエンコーダ２２などのビデオエンコーダから参照サンプルを受信する。ビデオデコーダ２８は、参照サンプルのフル整数画素位置のセットの指標を受信する（１７４）。フル整数画素位置のセットは、参照サンプルのサブ整数画素についての値を補間するために使用されていることがある。
【０１３９】
参照サンプルのサブ整数画素の値を計算するために、ビデオエンコーダ２８が、フル整数画素位置のセットに補間フィルタを適用する（１７６）。ビデオデコーダ２８はまた、サブ整数画素の計算された値に対する画素の現在のブロックを復号する（１７８）。図１５に関して説明したビデオデコーダ２８の例示的な動作と同様の技法について、図１６において更に説明する。
【０１４０】
図１６は、本開示に一致するフィルタサポートを利用するビデオデコーダの別の例示的な動作を示す流れ図である。従って、図１６のプロセスは、図１２のコード化プロセスとは逆の復号プロセスと考えられ得る。図１４について図１０のビデオデコーダ２８の観点から説明するが、他の機器でも同様の技法を実行し得る。
【０１４１】
図１４に示すように、ビデオデコーダ２８は、符号化ビデオブロックとフィルタ情報とを受信する（２０２）。エントロピー復号ユニット５２は、この受信情報をエントロピー復号し得る。予測ユニット５５は、本開示の技法に従って補間動き補償を実行する。特に、予測ユニット５５は、整数画素位置に対応する整数画素値を含む画素のブロックをメモリ６２から得る（２０４）。予測ユニット５５は、受信した動きベクトルを使用して、補間をどのように実行するかを決定し得る。
【０１４２】
動きベクトルに基づいて、予測ユニット５５は、フィルタサポートのセットと補間フィルタのタイプとに基づいてサブ画素を計算する（２０６）。幾つかの例では、補間フィルタのタイプは、幾つかのサブ画素位置について同じままである。一例では、画素の現在のブロックをコード化するために使用されるフル整数画素位置のセットの指標は、画素の現在のブロックの予測単位レベル、コード化単位レベル、フレームレベル、スライスレベル、又はシーケンスレベルのうちの少なくとも１つでデコーダ２８に与えられる。このようにして、予測ユニット５５は、補間を使用して予測ブロックを生成する（２０８）。加算器６４を呼び出して予測ブロックを残差ブロックに加算（２１０）することによって、予測ブロックを使用して残差ビデオブロックを復号する。サブ画素位置についてのフィルタサポートの異なるセットの使用を含む、本明細書で説明する補間の様々な態様は、従来の技法よりも良好な品質の補間データを与えることによってビデオコード化を改善し得る。
【０１４３】
本開示で説明する技法は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ユニット又は構成要素として説明する特徴は、集積論理機器に一緒に、又はディスクリートであるが相互運用可能な論理機器として別々に実装され得る。ソフトウェアで実装した場合、本技法は、実行されたときに、上記で説明した方法のうちの１つ又は複数を実行する命令を備えるコンピュータ可読媒体によって少なくとも部分的に実現され得る。コンピュータ可読媒体は、パッケージング材料を含む、コンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気的消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、磁気又は光学データ記憶媒体などを備え得る。本技法は、追加又は代替として、命令又はデータ構造の形態でコードを搬送又は通信し、コンピュータによってアクセス、読取り、及び／又は実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
【０１４４】
コードは、１つ以上のデジタル信号プロセッサ（ＤＳＰ）などの１つ以上のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路又はディスクリート論理回路によって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。更に、幾つかの態様では、本明細書で説明した機能は、コード化及び復号のために構成された専用のソフトウェアユニット又はハードウェアユニット内に提供され得、あるいは複合ビデオエンコーダ／デコーダ（コーデック）に組み込まれ得る。ユニットとしての様々な機能の図は、図示した機器の様々な機能的態様を強調するものであり、そのようなユニットが別々のハードウェア又はソフトウェア構成要素によって実現されなければならないことを必ずしも暗示するわけではない。そうではなく、１つ以上のユニットに関連する機能は、共通又は別個のハードウェア又はソフトウェア構成要素内に組み込まれ得る。
【０１４５】
本開示の様々な例について説明した。これら及び他の例は以下の特許請求の範囲内に入る。
【図１】
2015046907.tif 000010
【図２】
2015046907.tif 000011
【図３】
2015046907.tif 000012
【図４】
2015046907.tif 000013
【図５】
2015046907.tif 000014
【図６】
2015046907.tif 000015
【図７】
2015046907.tif 000016
【図８】
2015046907.tif 000017
【図９】
2015046907.tif 000018
【図１０】
2015046907.tif 000019
【図１１】
2015046907.tif 000020
【図１２】
2015046907.tif 000021
【図１３】
2015046907.tif 000022
【図１４】
2015046907.tif 000023
【図１５】
2015046907.tif 000024
【図１６】
2015046907.tif 000025
【手続補正書】
【提出日】平成26年11月7日(2014.11.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
１つ以上の前に復号されたフレームに基づいて、フル整数画素のサブ整数画素についてのサポートのセットを決定することと、前記セットのサポートがフル整数画素位置の組合せを備える、
前記サブ整数画素についての値を計算するために、前記セットのサポートに補間フィルタを適用することと、
前記サブ整数画素に部分的に基づいて予測ブロックを生成することと、
元のブロックを再現するために前記予測ブロックに残差ブロックを適用することと
を備える、方法。
【請求項２】
前記セットのサポートが第１のセットのサポートであり、前記サブ整数画素が第１のサブ整数画素であり、前記整数画素が第１の整数画素であり、
前記１つ以上の前に復号されたフレームに基づいて、第２のセットのサポートを決定することと、
第２の整数画素の第２のサブ整数画素の前記値を計算するために前記第２のセットのサポートに前記補間フィルタを適用することと、前記予測ブロックが、前記第１のサブ整数画素と前記第２のサブ整数画素とに部分的に基づく、
をさらに備える、請求項１に記載の方法。
【請求項３】
前記第２のセットのサポートに前記補間フィルタを適用することが、前記第１のサブ整数画素についての前記値を計算することとは無関係に前記第２のサブ整数画素についての前記値を計算することを備える、請求項２に記載の方法。
【請求項４】
前記セットのサポートが、前記フル整数画素位置のうちの４つのフル整数画素位置の前記値、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの１つの付近に位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つの付近の対角方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つの付近の水平方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つの付近の垂直方向の１つに位置するフル整数画素位置の前記値とのうちの少なくとも１つを備える、請求項１に記載の方法。
【請求項５】
データを復号するための装置であって、
１つ以上の前に復号されたフレームに基づいて、フル整数画素のサブ整数画素についてのサポートのセットを決定することと、前記セットのサポートがフル整数画素位置の組合せを備える、
前記サブ整数画素についての値を計算するために、前記セットのサポートに補間フィルタを適用することと、
前記サブ整数画素に部分的に基づいて予測ブロックを生成することと、
元のブロックを再現するために前記予測ブロックに残差ブロックを適用することと
を行うように構成されたビデオデコーダを備える、装置。
【請求項６】
前記セットのサポートが第１のセットのサポートであり、前記サブ整数画素が第１のサブ整数画素であり、前記整数画素が第１の整数画素であり、前記ビデオデコーダは、
前記１つ以上の前に復号されたフレームに基づいて、第２のセットのサポートを決定することと、
第２の整数画素の第２のサブ整数画素の値を計算するために前記第２のセットのサポートに前記補間フィルタを適用することと、前記予測ブロックが、前記第１のサブ整数画素と前記第２のサブ整数画素とに部分的に基づく、
を行うようにさらに構成された、請求項５に記載の装置。
【請求項７】
前記ビデオデコーダが、前記第１のサブ整数画素についての前記値を計算することとは無関係に前記第２のサブ整数画素についての前記値を計算するように構成された、請求項６に記載の装置。
【請求項８】
前記セットのサポートが、前記フル整数画素位置のうちの４つのフル整数画素位置の前記値、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの１つの付近に位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つの付近の対角方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つの付近の水平方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つの付近の垂直方向の１つに位置するフル整数画素位置の前記値とのうちの少なくとも１つを備える、請求項５に記載の装置。
【請求項９】
実行されたとき、
１つ以上の前に復号されたフレームに基づいて、フル整数画素のサブ整数画素についてのサポートのセットを決定することと、前記セットのサポートがフル整数画素位置の組合せを備える、
前記サブ整数画素についての値を計算するために、前記セットのサポートに補間フィルタを適用することと、
前記サブ整数画素に部分的に基づいて予測ブロックを生成することと、
元のブロックを再現するために前記予測ブロックに残差ブロックを適用することと
をビデオ復号装置のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体。
【請求項１０】
前記セットのサポートが第１のセットのサポートであり、前記サブ整数画素が第１のサブ整数画素であり、前記整数画素が第１の整数画素であり、
前記命令は、
前記１つ以上の前に復号されたフレームに基づいて、第２のセットのサポートを決定することと、
第２の整数画素の第２のサブ整数画素の値を計算するために前記第２のセットのサポートに前記補間フィルタを適用することと、前記予測ブロックが、前記第１のサブ整数画素と前記第２のサブ整数画素とに部分的に基づく、
をビデオコード化装置にさらに行わせる、請求項９に記載のコンピュータ可読記憶媒体。
【請求項１１】
前記セットのサポートが、前記フル整数画素位置のうちの４つのフル整数画素位置の前記値、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの１つの付近に位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つの付近の対角方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つの付近の水平方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つの付近の垂直方向の１つに位置するフル整数画素位置の前記値とのうちの少なくとも１つを備える、請求項９に記載のコンピュータ可読記憶媒体。
【請求項１２】
１つ以上の前に復号されたフレームに基づいて、整数画素のサブ整数画素についてのサポートのセットを決定するための手段と、
前記サブ整数画素についての値を計算するために、前記セットのサポートに補間フィルタを適用するための手段と、
前記サブ整数画素に部分的に基づいて予測ブロックを生成するための手段と、
元のブロックを再現するために前記予測ブロックに残差ブロックを適用するための手段と
を備える装置。
【請求項１３】
前記セットのサポートが第１のセットのサポートであり、前記サブ整数画素が第１のサブ整数画素であり、前記整数画素が第１の整数画素であり、
前記１つ以上の前に復号されたフレームに基づいて、第２のセットのサポートを決定するための手段と、
第２のサブ整数画素の値を計算するために前記第２のセットのサポートに補間フィルタを適用するための手段と、前記予測ブロックが、前記第１のサブ整数画素と前記第２のサブ整数画素とに部分的に基づく、
をさらに備える、請求項１２に記載の装置。
【請求項１４】
前記セットのサポートが、前記フル整数画素位置のうちの４つのフル整数画素位置の前記値、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの１つの付近に位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つの付近の対角方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つの付近の水平方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つの付近の垂直方向の１つに位置するフル整数画素位置の前記値とのうちの少なくとも１つを備える、請求項１２に記載の装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１４５
【補正方法】変更
【補正の内容】
【０１４５】
本開示の様々な例について説明した。これら及び他の例は以下の特許請求の範囲内に入る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［１］  ビデオデータを符号化する方法であって、参照サンプルのフル整数画素位置についての値を受信することと、前記フル整数画素位置のうちの１つの第１のサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第１のセットに補間フィルタを適用することと、前記フル整数画素位置のうちの前記１つの第２の異なるサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第２の異なるセットに前記補間フィルタを適用することと、前記第１のサブ整数画素と前記第２のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素のブロックを符号化することと、を備える方法。
［２］  前記補間フィルタが第１の補間フィルタであり、前記フル整数画素位置のうちの前記１つの第３のサブ整数画素についての値を計算するために、前記フル整数画素位置についての値の第３のセットに第２の異なる補間フィルタを適用することを更に備える、［１］に記載の方法。
［３］  前記第１のサブ整数画素についての前記値を計算するために使用される前記補間フィルタの指標を与えることを更に備える、［１］に記載の方法。
［４］  画素の前記ブロックを符号化するために使用される前記フル整数画素位置のセットの指標を与えることを更に含み、前記セットが前記第１のセットと前記第２のセットとのうちの一方に対応する、［１］に記載の方法。
［５］  前記複数のフル整数画素位置のうちの前記１つに対応する予測単位の予測単位ヘッダ、前記予測単位を備えるコード化単位のコード化単位ヘッダ、前記コード化単位を備えるフレーム単位のフレームヘッダ、前記フレーム単位を備えるスライス単位のスライスヘッダ、又は前記フレーム単位を備えるシーケンス単位のシーケンスヘッダのうちの少なくとも１つにおける画素の前記ブロックを符号化するために使用される前記フル整数画素位置の前記セットの前記指標を与えることを更に備える、［４］に記載の方法。
［６］  整数画素位置の複数のセットから前記フル整数画素位置の前記セットを選択することであって、前記セットへのインデックスが、前記第１のサブ整数画素位置と前記第２のサブ整数画素位置とのうちの一方についての前記値を計算するために使用される前記フル整数画素位置の前記セットを示すように、前記フル整数画素位置の前記セットの前記指標が前記インデックスを識別する、選択することを更に備える、［４］に記載の方法。
［７］  前記フル整数画素位置についての前記値の前記第１のセットが、前記フル整数画素位置のうちの４つのフル整数画素位置の前記値、即ち、前記第１のサブ整数画素に関連する前記複数のフル整数画素位置のうちの前記１つのほぼ付近に位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記複数のフル整数画素位置のうちの前記１つのほぼ付近の対角方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記複数のフル整数画素位置のうちの前記１つのほぼ付近の水平方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記複数のフル整数画素位置のうちの前記１つのほぼ付近の垂直方向の１つに位置するフル整数画素位置の前記値とのうちの少なくとも１つを備える、［１］に記載の方法。
［８］  前記第１のサブ整数画素についての前記値が第１の値を備え、前記方法が、前記第１のサブ整数画素のための第２の値を計算するために前記フル整数画素位置についての値の第２のセットに前記補間フィルタを適用することと、前記第１の値と前記第２の値との各々のための誤差値を決定することと、少なくとも前記第１の値と前記第２の値との間の前記誤差値に基づいて、前記フル整数画素位置についての値の前記第１のセットと、前記フル整数画素位置についての値の前記第２のセットとのうちの一方を選択することと
を更に備える、［１］に記載の方法。
［９］  データをコード化するための装置であって、参照サンプルのフル整数画素位置についての値を受信することと、前記フル整数画素位置のうちの１つの第１のサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第１のセットに補間フィルタを適用することと、前記フル整数画素位置のうちの前記１つの第２の異なるサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第２の異なるセットに前記補間フィルタを適用することと、前記第１のサブ整数画素と前記第２のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素のブロックをコード化することとを行うように構成されたビデオエンコーダを備える、装置。
［１０］  前記補間フィルタが第１の補間フィルタを備え、前記ビデオエンコーダが、前記フル整数画素位置のうちの１つの第３のサブ整数画素についての値を計算するために、前記フル整数画素位置についての値の第３のセットに第２の異なる補間フィルタを適用するように更に構成された、［９］に記載の装置。
［１１］  前記ビデオエンコーダが、前記第１のサブ整数画素についての前記値を計算するために使用される前記補間フィルタの指標を与えるように構成された、［９］に記載の装置。
［１２］  前記ビデオエンコーダが、画素の前記ブロックをコード化するために使用される前記フル整数画素位置のセットの指標を与えるように更に構成され、前記セットが前記第１のセットと前記第２のセットとのうちの一方に対応する、［９］に記載の装置。
［１３］  画素の前記ブロックをコード化するために使用される前記フル整数画素位置の前記セットの前記指標が、前記フル整数画素位置のうちの前記１つに対応する予測単位の予測単位ヘッダ、前記予測単位を備えるコード化単位のコード化単位ヘッダ、前記コード化単位を備えるフレーム単位のフレームヘッダ、前記フレーム単位を備えるスライス単位のスライスヘッダ、又は前記フレーム単位を備えるシーケンス単位のシーケンスヘッダのうちの少なくとも１つにおいて与えられる、［１２］に記載の装置。
［１４］  前記ビデオエンコーダが、整数画素位置の複数のセットから前記フル整数画素位置の前記セットを選択するように更に構成され、前記セットへのインデックスが、前記第１のサブ整数画素位置と前記第２のサブ整数画素位置とのうちの一方についての前記値を計算するために使用される前記フル整数画素位置の前記セットを示すように、前記フル整数画素位置の前記セットの前記指標が前記インデックスを識別する、［９］に記載の装置。
［１５］  前記フル整数画素位置についての前記値の前記第１のセットが、前記フル整数画素位置のうちの４つのフル整数画素位置の前記値、即ち、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近に位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の対角方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の水平方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の垂直方向の１つに位置するフル整数画素位置の前記値とのうちの少なくとも１つを備える、［９］に記載の装置。
［１６］  前記第１のサブ整数画素についての前記値が第１の値を備え、前記ビデオエンコーダが、前記第１のサブ整数画素のための第２の値を計算するために前記フル整数画素位置についての値の第２のセットに前記補間フィルタを適用することと、誤差値又は前記第１の値と前記第２の値との各々を決定することと、少なくとも前記第１の値と前記第２の値との間の前記誤差値に基づいて、前記フル整数画素位置についての値の前記第１のセットと、前記フル整数画素位置についての値の前記第２のセットとのうちの一方を選択することとを行うように更に構成された、［９］に記載の装置。
［１７］  実行されたとき、参照サンプルのフル整数画素位置についての値を受信することと、前記フル整数画素位置のうちの１つの第１のサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第１のセットに補間フィルタを適用することと、前記フル整数画素位置のうちの前記１つの第２の異なるサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第２の異なるセットに前記補間フィルタを適用することと、前記第１のサブ整数画素と前記第２のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素のブロックを符号化することと、をビデオコード化装置のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
［１８］  前記補間フィルタが第１の補間フィルタであり、前記命令が、前記フル整数画素位置のうちの１つの第３のサブ整数画素についての値を計算するために、前記フル整数画素位置についての値の第３のセットに第２の異なる補間フィルタを適用することを前記ビデオコード化装置に更に行わせる、［１７］に記載のコンピュータ可読記憶媒体。
［１９］  前記命令は、画素の前記ブロックを符号化するために使用される前記フル整数画素位置のセットの指標を与えることを前記ビデオコード化装置に更に行わせ、前記セットが前記第１のセット又は前記第２のセットのうちの一方に対応する、［１７］に記載のコンピュータ可読記憶媒体。
［２０］  画素の前記ブロックを符号化するために使用される前記フル整数画素位置の前記セットの前記指標が、前記フル整数画素位置のうちの前記１つに対応する予測単位の予測単位ヘッダ、前記予測単位を備えるコード化単位のコード化単位ヘッダ、前記コード化単位を備えるフレーム単位のフレームヘッダ、前記フレーム単位を備えるスライス単位のスライスヘッダ、又は前記フレーム単位を備えるシーケンス単位のシーケンスヘッダのうちの少なくとも１つにおいて与えられる、［１９］に記載のコンピュータ可読記憶媒体。
［２１］  前記フル整数画素位置についての前記値の前記第１のセットが、前記フル整数画素位置のうちの４つのフル整数画素位置の前記値、即ち、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近に位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の対角方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の水平方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の垂直方向の１つに位置するフル整数画素位置の前記値とのうちの少なくとも１つを備える、［１７］に記載のコンピュータ可読記憶媒体。
［２２］  参照サンプルのフル整数画素位置についての値を受信するための手段と、前記フル整数画素位置のうちの１つの第１のサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第１のセットに補間フィルタを適用するための手段と、前記フル整数画素位置のうちの前記１つの第２の異なるサブ整数画素についての値を計算するために、前記フル整数画素位置についての前記値の第２の異なるセットに前記補間フィルタを適用するための手段と、前記第１のサブ整数画素と前記第２のサブ整数画素とのうちの一方を指す動きベクトルを使用して画素のブロックをコード化するための手段と
を備える装置。
［２３］  前記補間フィルタが第１の補間フィルタであり、前記装置が、前記フル整数画素位置のうちの前記１つの第３のサブ整数画素についての値を計算するために、前記フル整数画素位置についての値の第３のセットに第２の異なる補間フィルタを適用するための手段を更に備える、［２２］に記載の装置。
［２４］  画素の前記ブロックを符号化するために使用される前記フル整数画素位置のセットの指標を与えるための手段を更に備え、前記セットが前記第１のセットと前記第２のセットとのうちの一方に対応し、画素の前記ブロックを符号化するために使用される前記フル整数画素位置の前記セットの前記指標が、前記フル整数画素位置のうちの前記１つに対応する予測単位の予測単位ヘッダ、前記予測単位を備えるコード化単位のコード化単位ヘッダ、前記コード化単位を備えるフレーム単位のフレームヘッダ、前記フレーム単位を備えるスライス単位のスライスヘッダ、又は前記フレーム単位を備えるシーケンス単位のシーケンスヘッダのうちの少なくとも１つにおいて与えられる、［２２］に記載の装置。
［２５］  画素の前記ブロックを符号化するために使用される前記フル整数画素位置のセットの指標を与えるための手段であって、前記セットが前記第１のセットと前記第２のセットとのうちの一方に対応する、与えるための手段と、整数画素位置の複数のセットから前記フル整数画素位置の前記セットを選択するための手段と、を更に備え、前記複数のセットへのインデックスが、前記第１のサブ整数画素位置と前記第２のサブ整数画素位置とのうちの一方についての前記値を計算するために使用される前記フル整数画素位置の前記セットを示すように、前記フル整数画素位置の前記セットの前記指標が前記インデックスを識別する、［２２］に記載の装置。
［２６］  ビデオデータを復号する方法であって、フル整数画素位置を備える参照サンプルを受信することと、前記参照サンプルのサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置のセットの指標を受信することと、前記参照サンプルの前記サブ整数画素の前記値を計算するために、前記フル整数画素位置の前記セットに補間フィルタを適用することと、前記サブ整数画素の前記計算された値に対する画素のブロックを復号することと
を備える方法。
［２７］  前記指標が第１の指標であり、前記フル整数画素位置の前記セットがフル整数画素位置の第１のセットであり、前記サブ整数画素が第１のサブ整数画素であり、前記参照サンプルの第２のサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置の第２のセットの指標を受信することと、前記参照サンプルの前記第２のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第２のセットに前記補間フィルタを適用することと、前記第２のサブ整数画素の前記計算された値に対する画素の第２のブロックを復号することと、を更に備える、［２６］に記載の方法。
［２８］  前記第２のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第２のセットに前記補間フィルタを適用することが、前記第１のサブ整数画素の前記値を計算することとは無関係に前記第２のサブ整数画素の前記値を計算することを更に備える、［２７］に記載の方法。
［２９］  前記参照サンプルの前記フル整数画素位置のセットの指標を受信することが、前記複数のフル整数画素位置のうちの前記１つに対応する予測単位の予測単位ヘッダ、前記予測単位を備えるコード化単位のコード化単位ヘッダ、前記コード化単位を備えるフレーム単位のフレームヘッダ、前記フレーム単位を備えるスライス単位のスライスヘッダ、又は前記フレーム単位を備えるシーケンス単位のシーケンスヘッダのうちの少なくとも１つにおいて前記指標を受信することを更に備える、［２６］に記載の方法。
［３０］  前記参照サンプルの前記第１のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第１のセットに前記補間フィルタを適用することが、第１の補間フィルタを適用することを更に備え、前記参照サンプルの前記第２のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第２のセットに前記補間フィルタを適用することが、第２の異なる補間フィルタを適用することを更に備える、［２６］に記載の方法。
［３１］  複数のセットへのインデックスが、前記参照サンプルのサブ整数画素についての前記値を計算するために使用される前記フル整数画素位置の前記セットを示すように、前記フル整数画素位置の前記セットの前記指標が前記インデックスを識別する、［２６］に記載の方法。
［３２］  前記フル整数画素位置についての前記値の前記セットが、前記フル整数画素位置のうちの４つのフル整数画素位置の前記値、即ち、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近に位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の対角方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の水平方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の垂直方向の１つに位置するフル整数画素位置の前記値とのうちの少なくとも１つを備える、［２６］に記載の方法。
［３３］  前記参照サンプルの前記サブ整数画素の前記値を計算することが、前に復号された画素のブロックに少なくとも部分的に基づいて前記参照サンプルの前記サブ整数画素の前記値を計算することを更に備える、［２６］に記載の方法。
［３４］  データを復号するための装置であって、フル整数画素位置を備える参照サンプルを受信することと、前記参照サンプルのサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置のセットの指標を受信することと、前記参照サンプルの前記サブ整数画素の前記値を計算するために、前記フル整数画素位置の前記セットに補間フィルタを適用することと、前記サブ整数画素の前記計算された値に対する画素のブロックを復号することとを行うように構成されたビデオデコーダを備える、装置。
［３５］  前記指標が第１の指標であり、前記フル整数画素位置の前記セットがフル整数画素位置の第１のセットであり、前記サブ整数画素が第１のサブ整数画素であり、前記ビデオデコーダが、前記参照サンプルの第２のサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置の第２のセットの指標を受信することと、前記参照サンプルの前記第２のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第２のセットに前記補間フィルタを適用することと、前記第２のサブ整数画素の前記計算された値に対する画素の第２のブロックを復号することとを行うように更に構成された、［３４］に記載の装置。
［３６］  前記ビデオデコーダが、前記第１のサブ整数画素の前記値を計算することとは無関係に前記第２のサブ整数画素の前記値を計算するように更に構成された、［３５］に記載の装置。
［３７］  前記参照サンプルの前記第１のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第１のセットに前記補間フィルタを適用することが、第１の補間フィルタを適用することを更に備え、前記参照サンプルの前記第２のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第２のセットに前記補間フィルタを適用することが、第２の異なる補間フィルタを適用することを更に備える、［３５］に記載の装置。
［３８］  前記ビデオデコーダが、前記複数のフル整数画素位置のうちの前記１つに対応する予測単位の予測単位ヘッダ、前記予測単位を備えるコード化単位のコード化単位ヘッダ、前記コード化単位を備えるフレーム単位のフレームヘッダ、前記フレーム単位を備えるスライス単位のスライスヘッダ、又は前記フレーム単位を備えるシーケンス単位のシーケンスヘッダのうちの少なくとも１つにおいて前記参照サンプルの前記フル整数画素位置の前記セットの前記指標を受信するように更に構成された、［３４］に記載の装置。
［３９］  複数のセットへのインデックスが、前記参照サンプルのサブ整数画素についての前記値を計算するために使用される前記フル整数画素位置の前記セットを示すように、前記フル整数画素位置の前記セットの前記指標が前記インデックスを識別する、［３４］に記載の装置。
［４０］  前記フル整数画素位置についての前記値の前記セットが、前記フル整数画素位置のうちの４つのフル整数画素位置の前記値、即ち、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近に位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の対角方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の水平方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の垂直方向の１つに位置するフル整数画素位置の前記値とのうちの少なくとも１つを備える、［３４］に記載の装置。
［４１］  前記ビデオデコーダが、前に復号された画素のブロックに少なくとも部分的に基づいて前記参照サンプルの前記サブ整数画素の前記値を計算するように更に構成された、［３４］に記載の装置。
［４２］  実行されたとき、フル整数画素位置を備える参照サンプルを受信することと、前記参照サンプルのサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置のセットの指標を受信することと、前記参照サンプルの前記サブ整数画素の前記値を計算するために、前記フル整数画素位置の前記セットに補間フィルタを適用することと、前記サブ整数画素の前記計算された値に対する画素のブロックを復号することと
をビデオ復号装置のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
［４３］  前記指標が第１の指標であり、前記フル整数画素位置の前記セットがフル整数画素位置の第１のセットであり、前記サブ整数画素が第１のサブ整数画素であり、前記命令が、前記参照サンプルの第２のサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置の第２のセットの指標を受信することと、前記参照サンプルの前記第２のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第２のセットに前記補間フィルタを適用することと、前記第２のサブ整数画素の前記計算された値に対する画素の第２のブロックを復号することとをビデオコード化装置に更に行わせる、［４２］に記載のコンピュータ可読記憶媒体。
［４４］  前記参照サンプルの前記フル整数画素位置のセットの指標を受信することが、前記複数のフル整数画素位置のうちの前記１つに対応する予測単位の予測単位ヘッダ、前記予測単位を備えるコード化単位のコード化単位ヘッダ、前記コード化単位を備えるフレーム単位のフレームヘッダ、前記フレーム単位を備えるスライス単位のスライスヘッダ、又は前記フレーム単位を備えるシーケンス単位のシーケンスヘッダのうちの少なくとも１つにおいて前記指標を受信することを更に備える、［４２］に記載のコンピュータ可読記憶媒体。
［４５］  前記参照サンプルの前記第１のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第１のセットに前記補間フィルタを適用することが、第１の補間フィルタを適用することを更に備え、前記参照サンプルの前記第２のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第２のセットに前記補間フィルタを適用することが、第２の異なる補間フィルタを適用することを更に備える、［４３］に記載のコンピュータ可読記憶媒体。
［４６］  前記フル整数画素位置についての前記値の前記セットが、前記フル整数画素位置のうちの４つのフル整数画素位置の前記値、即ち、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近に位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の対角方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の水平方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の垂直方向の１つに位置するフル整数画素位置の前記値とのうちの少なくとも１つを備える、［４２］に記載のコンピュータ可読記憶媒体。
［４７］  フル整数画素位置を備える参照サンプルを受信するための手段と、前記参照サンプルのサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置のセットの指標を受信するための手段と、前記参照サンプルの前記サブ整数画素の前記値を計算するために、前記フル整数画素位置の前記セットに補間フィルタを適用するための手段と、前記サブ整数画素の前記計算された値に対する画素のブロックを復号するための手段と
を備える装置。
［４８］  前記指標が第１の指標であり、前記フル整数画素位置の前記セットがフル整数画素位置の第１のセットであり、前記サブ整数画素が第１のサブ整数画素であり、前記参照サンプルの第２のサブ整数画素についての値を補間するために使用される前記参照サンプルの前記フル整数画素位置の第２のセットの指標を受信するための手段と、前記参照サンプルの前記第２のサブ整数画素の前記値を計算するために、前記フル整数画素位置の前記第２のセットに補間フィルタを適用するための手段と、前記第２のサブ整数画素の前記計算された値に対する画素の第２のブロックを復号するための手段と
を更に備える、［４７］に記載の装置。
［４９］  複数のセットへのインデックスが、前記参照サンプルのサブ整数画素についての前記値を計算するために使用される前記フル整数画素位置の前記セットを示すように、前記フル整数画素位置の前記セットの前記指標が前記インデックスを識別する、［４７］に記載の装置。
［５０］  前記フル整数画素位置についての前記値の前記セットが、前記フル整数画素位置のうちの４つのフル整数画素位置の前記値、即ち、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近に位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の対角方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の水平方向の１つに位置するフル整数画素位置の前記値と、前記第１のサブ整数画素に関連する前記フル整数画素位置のうちの前記１つのほぼ付近の垂直方向の１つに位置するフル整数画素位置の前記値とのうちの少なくとも１つを備える、［４７］に記載の装置。
【外国語明細書】
2015046907000001.pdf