(57)【特許請求の範囲】
【請求項１】
ビデオデータを符号化する方法であって、前記方法は、
ビデオデータのクロミナンスブロックに対応するビデオデータのルミナンスブロックのためのルミナンス動きベクトルに基づいて、前記クロミナンスブロックのためのクロミナンス動きベクトルを判断することであって、前記クロミナンス動きベクトルが、第１のフラクショナル部分を有する水平成分と、第２のフラクショナル部分を有する垂直成分とを備え、前記ルミナンス動きベクトルが第１の精度を有し、前記クロミナンス動きベクトルが前記第１の精度以上の第２の精度を有する、判断することと、
前記水平成分の前記第１のフラクショナル部分と前記垂直成分の前記第２のフラクショナル部分とに基づいて補間フィルタを選択することであって、前記補間フィルタを選択することが、補間フィルタのセットから前記補間フィルタを選択することを備え、補間フィルタの前記セットの各々が、前記ルミナンス動きベクトルの複数の可能なフラクショナルピクセル位置のうちの１つに対応する、選択することと、
前記選択された補間フィルタを使用して前記クロミナンス動きベクトルによって識別されるリファレンスブロックの値を補間することと、
前記リファレンスブロックを使用して前記クロミナンスブロックを符号化することと
を備える、方法。
【請求項２】
ビデオデータを復号する方法であって、前記方法は、
ビデオデータのクロミナンスブロックに対応するビデオデータのルミナンスブロックのためのルミナンス動きベクトルに基づいて、前記クロミナンスブロックのためのクロミナンス動きベクトルを判断することであって、前記クロミナンス動きベクトルが、第１のフラクショナル部分を有する水平成分と、第２のフラクショナル部分を有する垂直成分とを備え、前記ルミナンス動きベクトルが第１の精度を有し、前記クロミナンス動きベクトルが前記第１の精度以上の第２の精度を有する、判断することと、
前記水平成分の前記第１のフラクショナル部分と前記垂直成分の前記第２のフラクショナル部分とに基づいて補間フィルタを選択することであって、前記補間フィルタを選択することが、補間フィルタのセットから前記補間フィルタを選択することを備え、補間フィルタの前記セットの各々が、前記ルミナンス動きベクトルの複数の可能なフラクショナルピクセル位置のうちの１つに対応する、選択することと、
前記選択された補間フィルタを使用して前記クロミナンス動きベクトルによって識別されるリファレンスブロックの値を補間することと、
前記リファレンスブロックを使用して前記クロミナンスブロックを復号することと
前記クロミナンス動きベクトルを判断することが、前記クロミナンスブロックと前記ルミナンスブロックとを備える符号化されたマクロブロックのための前記ルミナンス動きベクトルを復号することを備え、
前記クロミナンスブロックを復号することが、
前記クロミナンスブロックのための残差クロミナンス値を復号することと、
前記リファレンスブロックと前記復号された残差クロミナンス値とを使用して前記クロミナンスブロックを復号することと
を備える、方法。
【請求項３】
前記ルミナンス動きベクトルが１／４ピクセル精度を有し、前記クロミナンス動きベクトルが１／８ピクセル精度を有する、請求項１または２に記載の方法。
【請求項４】
前記ルミナンス動きベクトルが１／８ピクセル精度を有し、前記クロミナンス動きベクトルが、１／１６ピクセル精度の動きベクトルを切り捨てた後に１／８ピクセル精度を有する、請求項１または２に記載の方法。
【請求項５】
前記補間フィルタを選択することは、前記第１のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得るとき、前記第１のフラクショナル部分に対応するフラクショナルピクセル位置に関連する補間フィルタを選択することを備える、請求項１または２に記載の方法。
【請求項６】
前記補間フィルタを選択することは、前記第１のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得ないが、前記第２の精度を有する動きベクトルによって表され得るとき、前記第１のフラクショナル部分に対応するフラクショナルピクセル位置に隣接するフラクショナルピクセル位置に関連する少なくとも１つの補間フィルタを選択することを備える、請求項１または２に記載の方法。
【請求項７】
前記補間フィルタを選択することは、
前記第１のフラクショナル部分によって識別される参照フラクショナルピクセル位置を識別することと、
第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左のフラクショナルピクセル位置に関連するとき、前記第１の補間フィルタを選択することと、
第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右のフラクショナルピクセル位置に関連するとき、前記第２の補間フィルタを選択することと
を備える、請求項１または２に記載の方法。
【請求項８】
前記リファレンスブロックの値を補間することは、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置に関連するとき、および前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置に関連するとき、前記第１の補間フィルタによって生成された値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための水平方向寄与値を平均化することと、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置がフルピクセル位置と垂直方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ左のフラクショナルピクセル位置の値と、前記第１の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記水平方向寄与値を平均化することと、
前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置が右隣接のフルピクセル位置と垂直方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ右のフラクショナルピクセル位置の値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記水平方向寄与値を平均化することと
を備える、請求項７に記載の方法。
【請求項９】
前記水平方向寄与値を平均化した後にのみ、丸め演算を実行することをさらに備える、請求項８に記載の方法。
【請求項１０】
前記補間フィルタを選択することは、前記第２のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得るとき、前記第２のフラクショナル部分に対応するフラクショナルピクセル位置に関連する補間フィルタを選択することを備える、請求項１または２に記載の方法。
【請求項１１】
前記補間フィルタを選択することは、前記第２のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得ないが、前記第２の精度を有する動きベクトルによって表され得るとき、前記第２のフラクショナル部分に対応するフラクショナルピクセル位置に隣接するフラクショナルピクセル位置に関連する少なくとも１つの補間フィルタを選択することを備える、請求項１または２に記載の方法。
【請求項１２】
前記補間フィルタを選択することは、
前記第２のフラクショナル部分によって識別される参照フラクショナルピクセル位置を識別することと、
第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上のフラクショナルピクセル位置に関連するとき、前記第１の補間フィルタを選択することと、
第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下のフラクショナルピクセル位置に関連するとき、前記第２の補間フィルタを選択することと
を備える、請求項１または２に記載の方法。
【請求項１３】
前記リファレンスブロックの値を補間することは、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置に関連するとき、および前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置に関連するとき、前記第１の補間フィルタによって生成された値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための垂直方向寄与値を平均化することと、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置がフルピクセル位置と水平方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ上のフラクショナルピクセル位置の値と、前記第１の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記垂直方向寄与値を平均化することと、
前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置が下隣接のフルピクセル位置と水平方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ下のフラクショナルピクセル位置の値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記垂直方向寄与値を平均化することと
を備える、請求項１２に記載の方法。
【請求項１４】
前記垂直方向寄与値を平均化した後にのみ、丸め演算を実行することをさらに備える、請求項１３に記載の方法。
【請求項１５】
前記補間フィルタの各々が、前記第１の精度を有する動きベクトルによって参照され得るフラクショナルピクセル位置に関連するように、既存のアップサンプリングフィルタから補間フィルタの前記セットを生成することをさらに備える、請求項１または２に記載の方法。
【請求項１６】
前記クロミナンス動きベクトルを判断することが、前記クロミナンスブロックと前記ルミナンスブロックとを備えるマクロブロックを符号化するために、前記ルミナンス動きベクトルを計算することを備え、
前記クロミナンスブロックを処理することが、
前記クロミナンスブロックと前記リファレンスブロックとの間の差に基づいて前記クロミナンスブロックのための残差クロミナンス値を計算することと、
前記残差クロミナンス値を出力することと
を備える、請求項１に記載の方法。
【請求項１７】
ビデオデータを復号するための装置であって、前記装置は、
ビデオデータのクロミナンスブロックに対応するビデオデータのルミナンスブロックのためのルミナンス動きベクトルに基づいて、前記クロミナンスブロックのためのクロミナンス動きベクトルを判断することであって、前記クロミナンス動きベクトルが、第１のフラクショナル部分を有する水平成分と、第２のフラクショナル部分を有する垂直成分とを備え、前記ルミナンス動きベクトルが第１の精度を有し、前記クロミナンス動きベクトルが前記第１の精度以上の第２の精度を有する、判断することと、
前記水平成分の前記第１のフラクショナル部分と前記垂直成分の前記第２のフラクショナル部分とに基づいて補間フィルタを選択することであって、前記補間フィルタを選択することが、補間フィルタのセットから前記補間フィルタを選択することを備え、補間フィルタの前記セットの各々が、前記ルミナンス動きベクトルの複数の可能なフラクショナルピクセル位置のうちの１つに対応する、選択することと、
前記選択された補間フィルタを使用して前記クロミナンス動きベクトルによって識別されるリファレンスブロックの値を補間することと、
前記リファレンスブロックを使用して前記クロミナンスブロックを復号することと
を行うように構成されたビデオ復号ユニットを備える、装置。
【請求項１８】
ビデオデータを符号化するための装置であって、前記装置は、
ビデオデータのクロミナンスブロックに対応するビデオデータのルミナンスブロックのためのルミナンス動きベクトルに基づいて、前記クロミナンスブロックのためのクロミナンス動きベクトルを判断することであって、前記クロミナンス動きベクトルが、第１のフラクショナル部分を有する水平成分と、第２のフラクショナル部分を有する垂直成分とを備え、前記ルミナンス動きベクトルが第１の精度を有し、前記クロミナンス動きベクトルが前記第１の精度以上の第２の精度を有する、判断することと、
前記水平成分の前記第１のフラクショナル部分と前記垂直成分の前記第２のフラクショナル部分とに基づいて補間フィルタを選択することであって、前記補間フィルタを選択することが、補間フィルタのセットから前記補間フィルタを選択することを備え、補間フィルタの前記セットの各々が、前記ルミナンス動きベクトルの複数の可能なフラクショナルピクセル位置のうちの１つに対応する、選択することと、
前記選択された補間フィルタを使用して前記クロミナンス動きベクトルによって識別されるリファレンスブロックの値を補間することと、
前記リファレンスブロックを使用して前記クロミナンスブロックを符号化することと
を行うように構成されたビデオ符号化ユニットを備え、
前記クロミナンスブロックを符号化するために、前記ビデオ符号化ユニットが、
前記クロミナンスブロックと前記リファレンスブロックとの間の差に基づいて前記クロミナンスブロックのための残差クロミナンス値を計算することと、
前記残差クロミナンス値を出力することと
を行うように構成された、装置。
【請求項１９】
前記ルミナンス動きベクトルが１／４ピクセル精度を有し、前記クロミナンス動きベクトルが１／８ピクセル精度を有する、請求項１７または１８に記載の装置。
【請求項２０】
前記補間フィルタを選択するために、前記ビデオ復号ユニットは、前記第１のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得るとき、前記第１のフラクショナル部分に対応するフラクショナルピクセル位置に関連する補間フィルタを選択するように構成された、請求項１７に記載の装置。
【請求項２１】
前記補間フィルタを選択するために、前記ビデオ復号ユニットは、前記第１のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得ないが、前記第２の精度を有する動きベクトルによって表され得るとき、前記第１のフラクショナル部分に対応するフラクショナルピクセル位置に隣接するフラクショナルピクセル位置に関連する少なくとも１つの補間フィルタを選択するように構成された、請求項１７に記載の装置。
【請求項２２】
前記補間フィルタを選択するために、前記ビデオ復号ユニットは、
前記第１のフラクショナル部分によって識別される参照フラクショナルピクセル位置を識別することと、
第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左のフラクショナルピクセル位置に関連するとき、前記第１の補間フィルタを選択することと、
第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右のフラクショナルピクセル位置に関連するとき、前記第２の補間フィルタを選択することと
を行うように構成された、請求項１７に記載の装置。
【請求項２３】
前記リファレンスブロックの値を補間するために、前記ビデオ復号ユニットは、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置に関連するとき、および前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置に関連するとき、前記第１の補間フィルタによって生成された値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための水平方向寄与値を平均化することと、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置がフルピクセル位置と垂直方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ左のフラクショナルピクセル位置の値と、前記第１の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記水平方向寄与値を平均化することと、
前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置が右隣接のフルピクセル位置と垂直方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ右のフラクショナルピクセル位置の値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記水平方向寄与値を平均化することと
を行うように構成された、請求項２２に記載の装置。
【請求項２４】
前記補間フィルタを選択するために、前記ビデオ復号ユニットは、前記第２のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得るとき、前記第２のフラクショナル部分に対応するフラクショナルピクセル位置に関連する補間フィルタを選択するように構成された、請求項１７に記載の装置。
【請求項２５】
前記補間フィルタを選択するために、前記ビデオ復号ユニットは、前記第２のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得ないが、前記第２の精度を有する動きベクトルによって表され得るとき、前記第２のフラクショナル部分に対応するフラクショナルピクセル位置に隣接するフラクショナルピクセル位置に関連する少なくとも１つの補間フィルタを選択するように構成された、請求項１７に記載の装置。
【請求項２６】
前記補間フィルタを選択するために、前記ビデオ復号ユニットは、
前記第２のフラクショナル部分によって識別される参照フラクショナルピクセル位置を識別することと、
第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上のフラクショナルピクセル位置に関連するとき、前記第１の補間フィルタを選択することと、
第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下のフラクショナルピクセル位置に関連するとき、前記第２の補間フィルタを選択することと
を行うように構成された、請求項１７に記載の装置。
【請求項２７】
前記リファレンスブロックの値を補間するために、前記ビデオ復号ユニットは、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置に関連するとき、および前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置に関連するとき、前記第１の補間フィルタによって生成された値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための垂直方向寄与値を平均化することと、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置がフルピクセル位置と水平方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ上のフラクショナルピクセル位置の値と、前記第１の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記垂直方向寄与値を平均化することと、
前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置が下隣接のフルピクセル位置と水平方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ下のフラクショナルピクセル位置の値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記垂直方向寄与値を平均化することと
を行うように構成された、請求項２６に記載の装置。
【請求項２８】
前記ビデオ復号ユニットは、前記補間フィルタの各々が、前記第１の精度を有する動きベクトルによって参照され得るフラクショナルピクセル位置に関連するように、既存のアップサンプリングフィルタから補間フィルタの前記セットを生成するように構成された、請求項１７に記載の装置。
【請求項２９】
前記クロミナンスブロックを復号するために、前記ビデオ復号ユニットが、
前記リファレンスブロックと受信残差クロミナンス値とから前記クロミナンスブロックを再構成する
ように構成された、請求項１７に記載の装置。
【請求項３０】
ビデオデータを符号化するための装置であって、前記装置は、
ビデオデータのクロミナンスブロックに対応するビデオデータのルミナンスブロックのためのルミナンス動きベクトルに基づいて、前記クロミナンスブロックのためのクロミナンス動きベクトルを判断するための手段であって、前記クロミナンス動きベクトルが、第１のフラクショナル部分を有する水平成分と、第２のフラクショナル部分を有する垂直成分とを備え、前記ルミナンス動きベクトルが第１の精度を有し、前記クロミナンス動きベクトルが前記第１の精度以上の第２の精度を有する、判断するための手段と、
前記水平成分の前記第１のフラクショナル部分と前記垂直成分の前記第２のフラクショナル部分とに基づいて補間フィルタを選択するための手段であって、前記補間フィルタを選択することが、補間フィルタのセットから前記補間フィルタを選択することを備え、補間フィルタの前記セットの各々が、前記ルミナンス動きベクトルの複数の可能なフラクショナルピクセル位置のうちの１つに対応する、選択するための手段と、
前記選択された補間フィルタを使用して前記クロミナンス動きベクトルによって識別されるリファレンスブロックの値を補間するための手段と、
前記リファレンスブロックを使用して前記クロミナンスブロックを符号化するための手段と
を備える、装置。
【請求項３１】
ビデオデータを復号するための装置であって、前記装置は、
ビデオデータのクロミナンスブロックに対応するビデオデータのルミナンスブロックのためのルミナンス動きベクトルに基づいて、前記クロミナンスブロックのためのクロミナンス動きベクトルを判断するための手段であって、前記クロミナンス動きベクトルが、第１のフラクショナル部分を有する水平成分と、第２のフラクショナル部分を有する垂直成分とを備え、前記ルミナンス動きベクトルが第１の精度を有し、前記クロミナンス動きベクトルが前記第１の精度以上の第２の精度を有する、判断するための手段と、
前記水平成分の前記第１のフラクショナル部分と前記垂直成分の前記第２のフラクショナル部分とに基づいて補間フィルタを選択するための手段であって、前記補間フィルタを選択することが、補間フィルタのセットから前記補間フィルタを選択することを備え、補間フィルタの前記セットの各々が、前記ルミナンス動きベクトルの複数の可能なフラクショナルピクセル位置のうちの１つに対応する、選択するための手段と、
前記選択された補間フィルタを使用して前記クロミナンス動きベクトルによって識別されるリファレンスブロックの値を補間するための手段と、
前記リファレンスブロックを使用して前記クロミナンスブロックを復号するための手段と、
を備え、復号するための前記手段が、
前記リファレンスブロックと受信残差クロミナンス値とから前記クロミナンスブロックを再構成するための手段
を備える、装置。
【請求項３２】
前記ルミナンス動きベクトルが１／４ピクセル精度を有し、前記クロミナンス動きベクトルが１／８ピクセル精度を有する、請求項３０または３１に記載の装置。
【請求項３３】
前記補間フィルタを選択するための前記手段は、前記第１のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得るとき、前記第１のフラクショナル部分に対応するフラクショナルピクセル位置に関連する補間フィルタを選択するための手段を備える、請求項３０または３１に記載の装置。
【請求項３４】
前記補間フィルタを選択するための前記手段は、前記第１のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得ないが、前記第２の精度を有する動きベクトルによって表され得るとき、前記第１のフラクショナル部分に対応するフラクショナルピクセル位置に隣接するフラクショナルピクセル位置に関連する少なくとも１つの補間フィルタを選択するための手段を備える、請求項３０または３１に記載の装置。
【請求項３５】
前記補間フィルタを選択するための前記手段は、
前記第１のフラクショナル部分によって識別される参照フラクショナルピクセル位置を識別するための手段と、
第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左のフラクショナルピクセル位置に関連するとき、前記第１の補間フィルタを選択するための手段と、
第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右のフラクショナルピクセル位置に関連するとき、前記第２の補間フィルタを選択するための手段と
を備える、請求項３０または３１に記載の装置。
【請求項３６】
前記リファレンスブロックの値を補間するための前記手段は、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置に関連するとき、および前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置に関連するとき、前記第１の補間フィルタによって生成された値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための水平方向寄与値を平均化するための手段と、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置がフルピクセル位置と垂直方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ左のフラクショナルピクセル位置の値と、前記第１の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記水平方向寄与値を平均化するための手段と、
前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置が右隣接のフルピクセル位置と垂直方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ右のフラクショナルピクセル位置の値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記水平方向寄与値を平均化するための手段と
を備える、請求項３５に記載の装置。
【請求項３７】
前記補間フィルタを選択するための前記手段は、前記第２のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得るとき、前記第２のフラクショナル部分に対応するフラクショナルピクセル位置に関連する補間フィルタを選択するための手段を備える、請求項３０または３１に記載の装置。
【請求項３８】
前記補間フィルタを選択するための前記手段は、前記第２のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得ないが、前記第２の精度を有する動きベクトルによって表され得るとき、前記第２のフラクショナル部分に対応するフラクショナルピクセル位置に隣接するフラクショナルピクセル位置に関連する少なくとも１つの補間フィルタを選択するための手段を備える、請求項３０または３１に記載の装置。
【請求項３９】
前記補間フィルタを選択するための前記手段は、
前記第２のフラクショナル部分によって識別される参照フラクショナルピクセル位置を識別するための手段と、
第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上のフラクショナルピクセル位置に関連するとき、前記第１の補間フィルタを選択するための手段と、
第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下のフラクショナルピクセル位置に関連するとき、前記第２の補間フィルタを選択するための手段と
を備える、請求項３０または３１に記載の装置。
【請求項４０】
前記リファレンスブロックの値を補間するための前記手段は、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置に関連するとき、および前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置に関連するとき、前記第１の補間フィルタによって生成された値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための垂直方向寄与値を平均化するための手段と、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置がフルピクセル位置と水平方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ上のフラクショナルピクセル位置の値と、前記第１の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記垂直方向寄与値を平均化するための手段と、
前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置が下隣接のフルピクセル位置と水平方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ下のフラクショナルピクセル位置の値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記垂直方向寄与値を平均化するための手段と
を備える、請求項３９に記載の装置。
【請求項４１】
前記補間フィルタの各々が、前記第１の精度を有する動きベクトルによって参照され得るフラクショナルピクセル位置に関連するように、既存のアップサンプリングフィルタから補間フィルタの前記セットを生成するための手段をさらに備える、請求項３０または３１に記載の装置。
【請求項４２】
前記クロミナンスブロックを符号化するための前記手段が、
前記クロミナンスブロックと前記リファレンスブロックとの間の差に基づいて前記クロミナンスブロックのための残差クロミナンス値を計算するための手段と、
前記残差クロミナンス値を出力するための手段と
を備える、請求項３０に記載の装置。
【請求項４３】
実行されると、
ビデオデータのクロミナンスブロックに対応するビデオデータのルミナンスブロックのためのルミナンス動きベクトルに基づいて、前記クロミナンスブロックのためのクロミナンス動きベクトルを判断することであって、前記クロミナンス動きベクトルが、第１のフラクショナル部分を有する水平成分と、第２のフラクショナル部分を有する垂直成分とを備え、前記ルミナンス動きベクトルが第１の精度を有し、前記クロミナンス動きベクトルが前記第１の精度以上の第２の精度を有する、判断することと、
前記水平成分の前記第１のフラクショナル部分と前記垂直成分の前記第２のフラクショナル部分とに基づいて補間フィルタを選択することであって、前記補間フィルタを選択することが、補間フィルタのセットから前記補間フィルタを選択することを備え、補間フィルタの前記セットの各々が、前記ルミナンス動きベクトルの複数の可能なフラクショナルピクセル位置のうちの１つに対応する、選択することと、
前記選択された補間フィルタを使用して前記クロミナンス動きベクトルによって識別されるリファレンスブロックの値を補間することと、
前記リファレンスブロックを使用して前記クロミナンスブロックを復号することと
をプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体。
【請求項４４】
実行されると、
ビデオデータのクロミナンスブロックに対応するビデオデータのルミナンスブロックのためのルミナンス動きベクトルに基づいて、前記クロミナンスブロックのためのクロミナンス動きベクトルを判断することであって、前記クロミナンス動きベクトルが、第１のフラクショナル部分を有する水平成分と、第２のフラクショナル部分を有する垂直成分とを備え、前記ルミナンス動きベクトルが第１の精度を有し、前記クロミナンス動きベクトルが前記第１の精度以上の第２の精度を有する、判断することと、
前記水平成分の前記第１のフラクショナル部分と前記垂直成分の前記第２のフラクショナル部分とに基づいて補間フィルタを選択することであって、前記補間フィルタを選択することが、補間フィルタのセットから前記補間フィルタを選択することを備え、補間フィルタの前記セットの各々が、前記ルミナンス動きベクトルの複数の可能なフラクショナルピクセル位置のうちの１つに対応する、選択することと、
前記選択された補間フィルタを使用して前記クロミナンス動きベクトルによって識別されるリファレンスブロックの値を補間することと、
前記リファレンスブロックを使用して前記クロミナンスブロックを符号化することと
を前記プロセッサに行わせる命令を備え、
前記クロミナンスブロックを符号化するために、前記命令はさらに、
前記クロミナンスブロックと前記リファレンスブロックとの間の差に基づいて前記クロミナンスブロックのための残差クロミナンス値を計算することと、
前記残差クロミナンス値を出力することと
を前記プロセッサに行わせる、コンピュータ可読記憶媒体。
【請求項４５】
前記ルミナンス動きベクトルが１／４ピクセル精度を有し、前記クロミナンス動きベクトルが１／８ピクセル精度を有する、請求項４３または４４に記載のコンピュータ可読記憶媒体。
【請求項４６】
前記補間フィルタを選択することを前記プロセッサに行わせる前記命令は、前記第１のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得るとき、前記第１のフラクショナル部分に対応するフラクショナルピクセル位置に関連する補間フィルタを選択することを前記プロセッサに行わせる命令を備える、請求項４３または４４に記載のコンピュータ可読記憶媒体。
【請求項４７】
前記補間フィルタを選択することを前記プロセッサに行わせる前記命令は、前記第１のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得ないが、前記第２の精度を有する動きベクトルによって表され得るとき、前記第１のフラクショナル部分に対応するフラクショナルピクセル位置に隣接するフラクショナルピクセル位置に関連する少なくとも１つの補間フィルタを選択することを前記プロセッサに行わせる命令を備える、請求項４３または４４に記載のコンピュータ可読記憶媒体。
【請求項４８】
前記補間フィルタを選択することを前記プロセッサに行わせる前記命令は、
前記第１のフラクショナル部分によって識別される参照フラクショナルピクセル位置を識別することと、
第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左のフラクショナルピクセル位置に関連するとき、前記第１の補間フィルタを選択することと、
第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右のフラクショナルピクセル位置に関連するとき、前記第２の補間フィルタを選択することと
を前記プロセッサに行わせる命令を備える、請求項４３または４４に記載のコンピュータ可読記憶媒体。
【請求項４９】
前記リファレンスブロックの値を補間することを前記プロセッサに行わせる前記命令は、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置に関連するとき、および前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置に関連するとき、前記第１の補間フィルタによって生成された値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための水平方向寄与値を平均化することと、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置がフルピクセル位置と垂直方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ左のフラクショナルピクセル位置の値と、前記第１の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記水平方向寄与値を平均化することと、
前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置が右隣接のフルピクセル位置と垂直方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ右のフラクショナルピクセル位置の値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記水平方向寄与値を平均化することと
を前記プロセッサに行わせる命令を備える、請求項４８に記載のコンピュータ可読記憶媒体。
【請求項５０】
前記補間フィルタを選択することを前記プロセッサに行わせる前記命令は、前記第２のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得るとき、前記第２のフラクショナル部分に対応するフラクショナルピクセル位置に関連する補間フィルタを選択することを前記プロセッサに行わせる命令を備える、請求項４３または４４に記載のコンピュータ可読記憶媒体。
【請求項５１】
前記補間フィルタを選択することを前記プロセッサに行わせる前記命令は、前記第２のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得ないが、前記第２の精度を有する動きベクトルによって表され得るとき、前記第２のフラクショナル部分に対応するフラクショナルピクセル位置に隣接するフラクショナルピクセル位置に関連する少なくとも１つの補間フィルタを選択することを前記プロセッサに行わせる命令を備える、請求項４３または４４に記載のコンピュータ可読記憶媒体。
【請求項５２】
前記補間フィルタを選択することを前記プロセッサに行わせる前記命令は、
前記第２のフラクショナル部分によって識別される参照フラクショナルピクセル位置を識別することと、
第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上のフラクショナルピクセル位置に関連するとき、前記第１の補間フィルタを選択することと、
第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下のフラクショナルピクセル位置に関連するとき、前記第２の補間フィルタを選択することと
を前記プロセッサに行わせる命令を備える、請求項４３または４４に記載のコンピュータ可読記憶媒体。
【請求項５３】
前記リファレンスブロックの値を補間することを前記プロセッサに行わせる前記命令は、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置に関連するとき、および前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置に関連するとき、前記第１の補間フィルタによって生成された値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための垂直方向寄与値を平均化することと、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置がフルピクセル位置と水平方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ上のフラクショナルピクセル位置の値と、前記第１の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記垂直方向寄与値を平均化することと、
前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置が下隣接のフルピクセル位置と水平方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ下のフラクショナルピクセル位置の値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記垂直方向寄与値を平均化することと
を前記プロセッサに行わせる命令を備える、請求項５２に記載のコンピュータ可読記憶媒体。
【請求項５４】
前記補間フィルタの各々が、前記第１の精度を有する動きベクトルによって参照され得るフラクショナルピクセル位置に関連するように、既存のアップサンプリングフィルタから補間フィルタの前記セットを生成することを前記プロセッサに行わせる命令をさらに備える、請求項４３または４４に記載のコンピュータ可読記憶媒体。
【請求項５５】
前記クロミナンスブロックを処理することを前記プロセッサに行わせる前記命令は、前記リファレンスブロックと受信残差クロミナンス値とから前記クロミナンスブロックを再構成することを前記プロセッサに行わせる命令を備える、請求項４３に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その全体が参照により本明細書に組み込まれる、２０１０年２月１８日に出願された米国仮特許出願第６１／３０５，８９１号の利益を主張する。
【０００２】
本開示は、ビデオコーディングに関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲーム機、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３またはＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、アドバンストビデオコーディング（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）（ＡＶＣ）によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法などのビデオ圧縮技法を実装して、デジタルビデオ情報をより効率的に送信および受信する。
【０００４】
ビデオ圧縮技法では、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および／または時間的予測を実行する。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライス（slice）がマクロブロック（macroblocks）に区分され得る。各マクロブロックはさらに区分され得る。イントラコード化される（Ｉ）フレームまたはスライス(intra-coded (I) frame and slice)中のマクロブロックは、近傍マクロブロックに関する空間的予測を使用して符号化される。インターコード化される（ＰまたはＢ）フレームまたはスライス（inter-coded (P or B) frame or slice）中のマクロブロックは、同じフレームまたはスライス中の近傍マクロブロックに関する空間的予測、あるいは他のリファレンスフレーム（reference frames）に関する時間的予測を使用し得る。
【発明の概要】
【０００５】
概して、本開示では、クロミナンス（chrominance）ビデオデータをコーディングするための技法について説明する。ビデオデータは、一般に、輝度情報を与えるルミナンス（luminance）ピクセルと、色彩情報を与えるクロミナンスピクセルという、２つのタイプのデータを含む。動きベクトル（ルミナンス動きベクトル）を計算するために、ルミナンスピクセルに関する動き推定プロセスが実行され得る、そして、その動きベクトル（ルミナンス動きベクトル）は、次いで、クロミナンスピクセル（クロミナンス動きベクトル）のために再利用され得る。クロミナンス領域中には、サブサンプリングにより、ルミナンスピクセルの半数のクロミナンスピクセルがあり得る。すなわち、各クロミナンス成分は行方向と列方向とにおいて２だけダウンサンプリングされ得る。その上、ルミナンス動きベクトルは１／４ピクセル精度（precision）を有し得、これにより、クロミナンスピクセルのためにルミナンス動きベクトルを再利用するために、クロミナンス動きベクトルは１／８ピクセル精度を有することになり得る。本開示は、クロミナンスブロックを符号化し、復号するために、１／８ピクセル位置など、フラクショナル（fractional）ピクセル位置の値を補間するための技法を提供する。本開示はまた、フラクショナルピクセル位置の値を補間するための補間フィルタを作成するための技法を提供する。
【０００６】
一例では、方法は、ビデオデータのクロミナンスブロックに対応するビデオデータのルミナンスブロックのためのルミナンス動きベクトルに基づいて、クロミナンスブロックのためのクロミナンス動きベクトルを判断すること(determining)であって、クロミナンス動きベクトルが、第１のフラクショナル部分(fractional portion)を有する水平成分（horizontal component）と、第２のフラクショナル部分を有する垂直成分(vertical component)とを備え、ルミナンス動きベクトルが第１の精度を有し、クロミナンス動きベクトルが第１の精度以上の第２の精度を有する、判断することと、水平成分の第１のフラクショナル部分と垂直成分の第２のフラクショナル部分とに基づいて補間フィルタを選択することであって、補間フィルタを選択することが、補間フィルタのセットから補間フィルタを選択することを備え、補間フィルタのセットの各々が、ルミナンス動きベクトルの複数の可能なフラクショナルピクセル位置のうちの１つに対応する、選択することと、選択された補間フィルタを使用してクロミナンス動きベクトルによって識別されるリファレンスブロック（reference block）の値を補間することと、リファレンスブロックを使用してクロミナンスブロックを処理することとを含む。
【０００７】
別の例では、装置は、ビデオデータのクロミナンスブロックに対応するビデオデータのルミナンスブロックのためのルミナンス動きベクトルに基づいて、クロミナンスブロックのためのクロミナンス動きベクトルを判断することであって、クロミナンス動きベクトルが、第１のフラクショナル部分を有する水平成分と、第２のフラクショナル部分を有する垂直成分とを備え、ルミナンス動きベクトルが第１の精度を有し、クロミナンス動きベクトルが第１の精度以上の第２の精度を有する、判断することと、水平成分の第１のフラクショナル部分と垂直成分の第２のフラクショナル部分とに基づいて補間フィルタを選択することであって、補間フィルタを選択することが、補間フィルタのセットから補間フィルタを選択することを備え、補間フィルタのセットの各々が、ルミナンス動きベクトルの複数の可能なフラクショナルピクセル位置のうちの１つに対応する、選択することと、選択された補間フィルタを使用してクロミナンス動きベクトルによって識別されるリファレンスブロックの値を補間することと、リファレンスブロックを使用してクロミナンスブロックを処理することとを行うように構成されたビデオコーディングユニットを含む。
【０００８】
別の例では、装置は、ビデオデータのクロミナンスブロックに対応するビデオデータのルミナンスブロックのためのルミナンス動きベクトルに基づいて、クロミナンスブロックのためのクロミナンス動きベクトルを判断するための手段であって、クロミナンス動きベクトルが、第１のフラクショナル部分を有する水平成分と、第２のフラクショナル部分を有する垂直成分とを備え、ルミナンス動きベクトルが第１の精度を有し、クロミナンス動きベクトルが第１の精度以上の第２の精度を有する、判断するための手段と、水平成分の第１のフラクショナル部分と垂直成分の第２のフラクショナル部分とに基づいて補間フィルタを選択するための手段であって、補間フィルタを選択することが、補間フィルタのセットから補間フィルタを選択することを備え、補間フィルタのセットの各々が、ルミナンス動きベクトルの複数の可能なフラクショナルピクセル位置のうちの１つに対応する、選択するための手段と、選択された補間フィルタを使用してクロミナンス動きベクトルによって識別されるリファレンスブロックの値を補間するための手段と、リファレンスブロックを使用してクロミナンスブロックを処理するための手段とを含む。
【０００９】
別の例では、コンピュータ可読記憶媒体などのコンピュータ可読媒体は、ビデオデータのクロミナンスブロックに対応するビデオデータのルミナンスブロックのためのルミナンス動きベクトルに基づいて、クロミナンスブロックのためのクロミナンス動きベクトルを判断することであって、クロミナンス動きベクトルが、第１のフラクショナル部分を有する水平成分と、第２のフラクショナル部分を有する垂直成分とを備え、ルミナンス動きベクトルが第１の精度を有し、クロミナンス動きベクトルが第１の精度以上の第２の精度を有する、判断することと、水平成分の第１のフラクショナル部分と垂直成分の第２のフラクショナル部分とに基づいて補間フィルタを選択することであって、補間フィルタを選択することが、補間フィルタのセットから補間フィルタを選択することを備え、補間フィルタのセットの各々が、ルミナンス動きベクトルの複数の可能なフラクショナルピクセル位置のうちの１つに対応する、選択することと、選択された補間フィルタを使用してクロミナンス動きベクトルによって識別されるリファレンスブロックの値を補間することと、リファレンスブロックを使用してクロミナンスブロックを処理することとをプログラマブルプロセッサに行わせる命令を含んでおり、たとえば、それらの命令で符号化される。
【００１０】
１つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、説明および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】クロミナンス動きベクトルのフラクショナルピクセル位置の値を補間するための技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】補間フィルタを選択するための技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図３】符号化されたビデオシーケンスを復号するビデオデコーダの一例を示すブロック図。
【図４】フルピクセル位置（full pixel position）に対するフラクショナルピクセル位置を示す概念図。
【図５Ａ】ルミナンスブロックのピクセル位置とクロミナンスブロックの対応するフラクショナルピクセル位置とを示す概念図。
【図５Ｂ】ルミナンスブロックのピクセル位置とクロミナンスブロックの対応するフラクショナルピクセル位置とを示す概念図。
【図５Ｃ】ルミナンスブロックのピクセル位置とクロミナンスブロックの対応するフラクショナルピクセル位置とを示す概念図。
【図６】クロミナンスブロックを符号化するためにフラクショナルピクセル位置の値を補間するための例示的な方法を示すフローチャート。
【図７】クロミナンスブロックを復号するためにフラクショナルピクセル位置の値を補間するための例示的な方法を示すフローチャート。
【図８】水平成分と垂直成分の両方についての成分寄与（component contributions）を計算するために使用されるべき補間フィルタを選択するための方法を示すフローチャート。
【図９】水平成分と垂直成分の両方についての成分寄与を計算するために使用されるべき補間フィルタを選択するための方法を示すフローチャート。
【図１０】既存のアップサンプリングフィルタ(up-sampling filter)から、本開示の技法に従って使用されるべき補間フィルタを作成するための例示的な方法を示すフローチャート。
【詳細な説明】
【００１２】
概して、本開示では、クロミナンスビデオデータをコーディングするための技法について説明する。ビデオデータ（たとえば、マクロブロック（macroblocks））は、輝度に関係するルミナンスピクセルと、色彩に関係するクロミナンスピクセルという、２つのタイプのピクセルを含み得る。データのブロック、たとえば、マクロブロックについてルミナンスピクセル値の半分のクロミナンスピクセル値があり得る。マクロブロックは、たとえば、ルミナンスデータとクロミナンスデータとを含み得る。ビデオエンコーダは、ルミナンス動きベクトルを計算するために、マクロブロックのルミナンスピクセルに関する動き推定を実行し得る。ビデオエンコーダは、次いで、そのルミナンス動きベクトルを使用して、マクロブロック中の同じ相対ピクセルをポイントするクロミナンス動きベクトルを生成し得る。ルミナンス動きベクトルは、フラクショナルピクセル精度、たとえば、１／４ピクセル精度を有し得る。
【００１３】
クロミナンスブロックのピクセルは、マクロブロック中のルミナンスブロックのピクセルに対してダウンサンプリングされ（downsampled）得る。このダウンサンプリング（downsampling）により、クロミナンス動きベクトルは、ルミナンス動きベクトルの精度よりも大きい精度のフラクショナルピクセル位置をポイントし得る。すなわち、コーディングユニットがクロミナンス動きベクトルとしてルミナンス動きベクトルを再利用するために、クロミナンス動きベクトルは、ルミナンス動きベクトルよりも大きい精度を有する必要があり得る。たとえば、ルミナンス動きベクトルが１／４ピクセル精度を有する場合、クロミナンス動きベクトルは１／８ピクセル精度を有し得る。いくつかの例では、ルミナンス動きベクトルは１／８ピクセル精度を有し得る。したがって、クロミナンス動きベクトルは１／１６ピクセル精度を有し得る。しかしながら、クロミナンス動きベクトルは１／８ピクセル精度に切り捨てられ（truncated）得る。したがって、クロミナンス動きベクトルは、ルミナンス動きベクトルの精度以上である精度を有し得る。
【００１４】
いくつかのビデオエンコーダは、リファレンスクロミナンスブロック、すなわち、クロミナンス動きベクトルがポイントするクロミナンスブロック、の１／８ピクセル位置の値を補間するために、双一次補間（bilinear interpolation）を使用する。双一次補間は、高速であるが、周波数応答が不十分であるので、予測誤差が増加することがある。本開示の技法によれば、ビデオエンコーダは、動きベクトルの水平成分および垂直成分に基づいて、動きベクトルによってポイントされるフラクショナルピクセル位置の値を補間するときに使用すべき補間フィルタを選択するように構成され得る。
【００１５】
動きベクトルは水平成分と垂直成分とを有し得る。本開示では、動きベクトルが｛ＭＶx，ＭＶy｝に従って定義されるように、水平成分を参照するために「ＭＶx」を使用し、垂直成分を参照するために「ＭＶy」を使用する。動きベクトルの水平および垂直成分はフル部分（full portion）とフラクショナル部分（fractional portion）とを有し得る。成分のフル部分は、動きベクトルが対応するフルピクセル位置を参照し、フラクショナル部分は、フルピクセル位置に対応するフラクショナル位置を参照し得る。フラクショナル部分は分数Ｎ／Ｍに対応し、ただしＮ＜Ｍである。たとえば、動きベクトルの成分が２  ３／８であると、その成分のフル部分は２になり、フラクショナル部分は３／８になる。動きベクトル成分が負であるとき、フルピクセル位置は、動きベクトル成分よりも小さい最大整数であるように選定され得る。したがって、一例として、動きベクトルの成分が−２  ３／８であると、その成分のフル部分は−３になり、フラクショナル部分は５／８になる。この場合、フラクショナル部分は、動きベクトル成分中に含まれている分数（fraction）とは異なることに留意されたい。概して、１／８精度を有するクロミナンスベクトルについて、動きベクトルが負であると仮定して、動きベクトル中に含まれている分数がＮ／８であると、その動きベクトルのフラクショナル部分は（８−Ｎ）／８になる。したがって、水平および垂直成分は、真分数（proper fraction）を有する帯分数（mixed numbers）として表され得る。その分数は、２進分数（dyadic fraction）、すなわち、２の累乗である分母を有する分数であり得る。
【００１６】
本開示では、水平成分のフラクショナル部分を「ｍx」と呼び、垂直成分のフラクショナル部分を「ｍy」と呼ぶ。本開示では、水平成分のフル部分を「ＦＰx」と呼び、垂直成分のフル部分を「ＦＰy」と呼ぶ。したがって、水平成分ＭＶxはＦＰx＋ｍxとして表され得、垂直成分ＭＶyはＦＰy＋ｍyとして表され得る。
【００１７】
本開示の技法は、フラクショナルピクセル位置を参照する動きベクトルの水平成分ｍxおよび垂直成分ｍyに基づいて、フラクショナルピクセル位置の値を補間するために使用すべき補間フィルタを選択することを含む。本技法はまた、ルミナンスピクセルのフラクショナル位置、たとえば、１／４ピクセル位置のセットについて補間フィルタのセットを定義することを含む。フラクショナルピクセル位置の値は、水平成分および垂直成分について判断された値の寄与（contributions）の組合せとして判断され得る。言い換えれば、フラクショナルピクセル位置の補間値（interpolated value）、すなわち、値（ｆｒａｃｔｉｏｎａｌ＿ｐｏｓｉｔｉｏｎ（ｍx，ｍy））は、それら成分のフラクショナル位置のセットについて判断された値の組合せとして判断され得る。
【００１８】
成分のフラクショナル部分がフルピクセル位置に等しい場合、その成分のフラクショナル部分の値はフルピクセル位置の値に等しいと判断され得る。成分のフラクショナル部分がルミナンスブロックのフラクショナルピクセル位置のセットのうちの１つに等しい場合、その成分のフラクショナル部分の値は、フラクショナル位置について定義されたフィルタを評価することによって判断され得る。他の場合、成分のフラクショナル部分の値は、隣接するフラクショナルピクセル位置からの寄与の平均として判断され得る。
【００１９】
一例として、ルミナンス動きベクトルが１／４ピクセル精度を有し、クロミナンス動きベクトルが、ルミナンスブロックに対して２倍にダウンサンプリングされたクロミナンスブロックに対応すると仮定する。その場合、ルミナンス動きベクトルの成分についての潜在的なフラクショナルピクセル位置は、０、１／４、１／２、および３／４である。この例では、本開示の技法によれば、フィルタは、１／４、１／２、および３／４のフラクショナル位置について定義され得る。これらのフィルタは、それぞれＦ1、Ｆ2、およびＦ3と呼ばれ得る。これらのフィルタは、１／４ピクセル精度、すなわち、ルミナンス動きベクトルと同じ精度を有する動きベクトルによって表され得るフラクショナル位置に対応するものとして表され得る。この例では、クロミナンス動きベクトルはさらに、フラクショナルピクセル位置１／８、３／８、５／８、および７／８を参照し得る。これらのフラクショナルピクセル位置は、１／８ピクセル精度を有する動きベクトルによっては参照され得るが、１／４ピクセル精度を有する動きベクトルによっては参照され得ない。
【００２０】
この例では、クロミナンス動きベクトルの成分が、０に等しいフラクショナル部分を有する場合、その成分の値は、その成分のフル部分によって参照されるフルピクセル位置に等しい。クロミナンス動きベクトルの成分が１／４、１／２、または３／４に等しいフラクショナル部分を有する場合、その成分の値は、Ｆ1、Ｆ2、またはＦ3の各々を実行することによって生成された値に等しい。他の場合、その成分の値は、隣接するフラクショナル位置の平均であり得る。
【００２１】
たとえば、成分のフラクショナル部分が１／８である場合、その成分の値は、フルピクセル位置の値と、Ｆ1を実行することによって生成された値との平均である。別の例として、成分のフラクショナル部分が３／８である場合、その成分の値は、Ｆ1を実行することによって生成された値と、Ｆ2を実行することによって生成された値との平均である。さらに別の例として、成分のフラクショナル部分が５／８である場合、その成分の値は、Ｆ2を実行することによって生成された値と、Ｆ3を実行することによって生成された値との平均である。さらに別の例として、成分のフラクショナル部分が７／８である場合、その成分の値は、Ｆ3を実行することによって生成された値と、隣接するフルピクセル位置、たとえば、ＦＰn+1の値との平均である。この例では、他の方向におけるフラクショナル部分は０であると仮定する。
【００２２】
このプロセスは、リファレンスクロミナンスブロック中の各ピクセルについて使用され得る。リファレンスクロミナンスブロックのフラクショナルピクセル位置の計算値はさらに、クロミナンス動きベクトルを使用して符号化されたクロミナンスブロックの残差値を計算するために使用され得る。すなわち、符号化されたクロミナンスブロックは、（上記で説明したプロセスに従って計算されたフラクショナルピクセル位置の値を有するリファレンスフレームのブロックに対応する）予測ブロックと、符号化されるべきクロミナンスブロックとの間の差として計算されるクロミナンス残差値に対応し得る。
【００２３】
デコーダは、クロミナンスブロックに対応するルミナンスブロックのためのルミナンス動きベクトルを受信し、そのルミナンス動きベクトルを使用してクロミナンスブロックのためのクロミナンス動きベクトルを形成し、上記で説明した同じ補間プロセスを使用してリファレンスフレームのためのフラクショナルピクセル位置の値を補間し得る。デコーダは、次いで、クロミナンスブロックの残差値を予測ブロックに追加することによってクロミナンスブロックを復号し得る。次いで、そのブロックは、表示されるべきピクセルのためのルミナンスおよびクロミナンスデータを生成するために、クロミナンスブロックとルミナンスブロックとを組み合わせることによって、レンダリングされ得る。
【００２４】
上記で説明したプロセスは、既存のアップサンプリングフィルタから、ルミナンスブロックのフラクショナルピクセル位置のセットの各々について補間フィルタを定義することを含む。本開示の技法はまた、そのような補間フィルタを定義するための例示的な方法を提供する。単一のアップサンプリングフィルタから補間フィルタを得るために、１つの例示的な方法が使用され得る。４倍にアップサンプリングされるべき１次元信号ｘ［ｎ］について考える。この場合、ｘ［ｎ］のあらゆる２つのサンプル間に３つの０を挿入することによって、別の信号ｙ［ｎ］が作成され得る。これはエイリアシング（aliasing）につながり得るが、これは、カットオフ周波数π／４を有するフィルタｈ［ｎ］を用いてｙ［ｎ］を低域フィルタ処理することによって除去され得る。そのフィルタを、０を中心とする（２Ｍ＋１個の）タップを有する線形位相であるとし、ここで、Ｍはユーザによって構成され得る。その場合、フィルタ処理された信号ｓ［ｎ］は、
【数１】
0005646654.tif 000002
【００２５】
のように書くことができる。
【００２６】
この例では、フィルタ処理演算は、畳み込み演算ではなく内積として表され得る。この例では、各ｎについて、ｎが４で割り切れるときのみｙ［ｎ］は０でないので、ｈ［ｎ］の係数のあるサブセットのみが特定のｎについてのｓ［ｎ］の計算のために必要とされる。そのサブセットは、（モジュロ演算子「％」を使用して、ｎ％４によって示される）ｎを４で割ることから生じる剰余によって判断され得る。一例として、Ｍ＝１１であり、ｈ［ｎ］が２３個のタップを有する場合について考える。その場合、ｎが１に等しいとき（および同様に（ｎ％４）が１に等しいとき）、  
ｓ［１］＝ｈ［−９］ｙ［−８］＋ｈ［−５］ｙ［−４］＋ｈ［−１］ｙ［０］＋ｈ［３］ｙ［４］＋ｈ［７］ｙ［８］＋ｈ［１１］ｙ［１２］  
になり、または、ｙ［ｎ］値を対応するｘ［ｎ］値と置換する等価な式を使用すると、
ｓ［１］＝ｈ［−９］ｘ［−２］＋ｈ［−５］ｘ［−１］＋ｈ［−１］ｘ［０］＋ｈ［３］ｘ［１］＋ｈ［７］ｘ［２］＋ｈ［１１］ｘ［３］
になる。
【００２７】
したがって、｛ｈ［−９］，ｈ［−５］，ｈ［−１］，ｈ［３］，ｈ［７］，ｈ［１１］｝は、１／４ピクセル位置の補間値を得るための６タップフィルタと考えられ得る。同じく、この例では、フィルタ処理演算が、従来の畳み込み演算の代わりに内積演算として表され、さもなければ上記のフィルタは時間反転され（time-reversed）得ることが強調される。この式では、ｈ［ｋ］は、２Ｍ＋１個の係数を有するフィルタｈのｋ番目の係数を指す。同様に、１／２ピクセル位置および３／４ピクセル位置に対して使用され得るフィルタは、それぞれ、
｛ｈ［−１０］，ｈ［−６］，ｈ［−２］，ｈ［２］，ｈ［６］，ｈ［１０］｝、および
｛ｈ［−１１］，ｈ［−７］，ｈ［−３］，ｈ［１］，ｈ［５］，ｈ［９］｝であり得る。
【００２８】
この例示的な方法は、１／４ピクセルフラクショナル位置において値を補間するための補間フィルタを生成するために使用され得る。概して、１／Ｎの精度（accuracy）のフラクショナルピクセル補間の場合、異なるフラクショナルピクセル位置ｍ／Ｎ、０≦ｍ＜Ｎのためのフィルタを生成するために、まず、カットオフ周波数π／Ｎをもつ線形位相低域フィルタを設計し、次いで、値ｎ％Ｎに対応するフィルタの異なるサブセットを発見することによって、同様の技法が適用され得る。
【００２９】
いくつかの例では、上記の例示的な方法によって生成されたフィルタはさらに改良され得る。たとえば、各フィルタについて、係数が１まで加算することが保証され得る。これは、補間値のためにＤＣバイアスを導入することを回避し得る。別の例として、元の低域フィルタｈ［ｎ］の場合、ｎが０に等しくないとき、ｈ［０］＝１およびｈ［４ｎ］＝０であることが保証され得る。これは、フィルタ処理するときに、ｘ［ｎ］の元のサンプルに影響を及ぼすことを回避し得る。
【００３０】
実装目的のために、フィルタ係数は、すべての係数が、２の累乗である公分母（common denominator）を有する場合、分数として表され得る。たとえば、公分母は３２であり得る。フィルタを実行するとき、フィルタ係数は、公分母（たとえば、３２）で乗算され、最も近い整数に四捨五入され得る。フィルタ係数が公分母、たとえば、３２まで加算することを保証するために、±１のさらなる調整が行われ得る。フィルタ係数（公分母を無視する）がより高い値まで加算するようにフィルタ係数を選定した場合、より良好な補間が達成されるが、中間フィルタ処理計算のためのビット深度（bit-depth）が増加し得る。例示的な一実装形態では、８ビットの入力ビット深度を有するビデオシーケンスの場合、クロミナンス補間が１６ビット精度で実行され得るように、３２まで加算するフィルタ係数を選定した。
【００３１】
例示的な一実装形態では、以下のフィルタ係数、
ｈ1＝｛２，−５，２８，９，−３，１｝；
ｈ2＝｛２，−６，２０，２０，−６，２｝；および
ｈ3＝｛１，−３，９，２８，−５，２｝.
を使用した。
【００３２】
ＩＰＰＰおよび階層型Ｂ構成（Hierarchical B configurations）の場合、クロミナンス成分補間のためにこれらのフィルタを使用すると、ＪＣＴ−ＶＣ標準化作業において使用されるテストシーケンスの等価ピーク信号対雑音比に対して、それぞれ１．４６％および０．６８％のビットレートの改善（減少）が得られた。
【００３３】
図１は、クロミナンス動きベクトルのフラクショナルピクセル位置の値を補間するための技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、通信チャネル１６を介して符号化されたビデオを宛先デバイス１４に送信するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、広範囲のデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４は、いわゆるセルラー電話または衛星無線電話のワイヤレスハンドセットなどのワイヤレス通信デバイスを、または通信チャネル１６を介してビデオ情報を通信することができ、その場合、通信チャネル１６がワイヤレスである任意のワイヤレスデバイスを、備え得る。
【００３４】
ただし、クロミナンス動きベクトルのフラクショナルピクセル位置の値を補間することに関する本開示の技法は、必ずしもワイヤレスアプリケーションまたは設定（setting）に限定されるとは限らない。たとえば、これらの技法は、無線テレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、または他のシナリオに適用し得る。したがって、通信チャネル１６は、符号化されたビデオデータの送信に好適なワイヤレスまたはワイヤード媒体の任意の組合せを備え得る。
【００３５】
図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、変調器／復調器（モデム）２２と、送信機２４とを含む。宛先デバイス１４は、受信機２６と、モデム２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。本開示によれば、ソースデバイス１２のビデオエンコーダ２０、および宛先デバイス１４のビデオデコーダ３０は、クロミナンスブロックを符号化または復号するためにリファレンスフレームのフラクショナルピクセル位置、たとえば、１／８ピクセル位置の値を補間するための補間フィルタを選択するための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスが他の構成要素または構成を含み得る。たとえば、ソースデバイス１２は、外部カメラなどの外部ビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、一体型ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【００３６】
図１の図示のシステム１０は一例にすぎない。クロミナンスブロックを符号化または復号するためにリファレンスフレームのフラクショナルピクセル位置の値を補間するための補間フィルタを選択するための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック（CODEC）」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。ビデオエンコーダ２０およびビデオデコーダ３０は、本開示の技法を実装し得るビデオコーディングユニットの例である。これらの技法を実装し得るビデオコーディングユニットの別の例は、ビデオコーデックである。
【００３７】
ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が宛先デバイス１４に送信するためのコード化されたビデオデータを生成する、そのようなコーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４の各々がビデオ符号化および復号構成要素を含むので、デバイス１２、１４は、実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオ電話通信のためのビデオデバイス１２とビデオデバイス１４との間の一方向または双方向のビデオ送信をサポートし得る。
【００３８】
ソースデバイス１２のビデオソース１８は、ビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからのビデオフィード（video feed）など、ビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ発生ビデオとの組合せを発生し得る。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付き携帯電話またはビデオ電話を形成し得る。ただし、上述のように、本開示で説明する技法は、一般にビデオコーディングに適用可能であり、ワイヤレスおよび／またはワイヤードアプリケーションに適用可能であり得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ発生ビデオはビデオエンコーダ２０によって符号化され得る。次いで、符号化されたビデオ情報は、通信規格に従ってモデム２２によって変調され、送信機２４を介して宛先デバイス１４に送信される。モデム２３は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機２４は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
【００３９】
宛先デバイス１４の受信機２６はチャネル１６を介して情報を受信し、モデム２８はその情報を復調する。この場合も、ビデオ符号化プロセスは、クロミナンスブロックを符号化するためにリファレンスフレームのフラクショナルピクセル位置の値を補間するための補間フィルタを選択するために、本明細書で説明する技法のうちの１つまたは複数を実装し得る。チャネル１６を介して通信される情報は、ビデオエンコーダ２０によって定義され、またビデオデコーダ３０によって使用される、マクロブロックおよび他のコード化ユニット、たとえば、ＧＯＰの特性および／または処理を記述するシンタックス要素を含むシンタックス情報を含み得る。ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００４０】
図１の例では、通信チャネル１６は、無線周波数（ＲＦ）スペクトルまたは１つまたは複数の物理的伝送線路など、ワイヤレスまたはワイヤードの任意の通信媒体、あるいはワイヤレスおよびワイヤードの媒体の任意の組合せを備え得る。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成し得る。通信チャネル１６は、一般に、ワイヤードまたはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス１２から宛先デバイス１４に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル１６は、ソースデバイス１２から宛先デバイス１４への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００４１】
ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ１０、アドバンストビデオコーディング（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、ビデオ圧縮規格に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例には、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびデコーダと統合され、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットはＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００４２】
ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、ジョイントビデオチーム（Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ）（ＪＶＴ）として知られる共同パートナーシップの成果として、ＩＳＯ／ＩＥＣ  動画像専門家グループ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）（ＭＰＥＧ）とともにＩＴＵ−Ｔ  ビデオ符号化専門家グループ（Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）（ＶＣＥＧ）によって策定された。いくつかの態様では、本開示で説明する技法は、Ｈ．２６４規格に概して準拠するデバイスに適用され得る。Ｈ．２６４規格は、ＩＴＵ−Ｔ  研究グループ（Ｓｔｕｄｙ  Ｇｒｏｕｐ）による２００５年３月付けのＩＴＵ−Ｔ勧告Ｈ．２６４「Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」に記載されており、本明細書ではＨ．２６４規格またはＨ．２６４仕様、あるいはＨ．２６４／ＡＶＣ規格または仕様と呼ぶことがある。ジョイントビデオチーム（Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ）（ＪＶＴ）はＨ．２６４／ＭＰＥＧ−４  ＡＶＣへの拡張に取り組み続けている。
【００４３】
ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなどの様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々を１つまたは複数のエンコーダまたはデコーダ中に含めることができ、そのいずれかは複合エンコーダ／デコーダ（コーデック）の一部としてそれぞれのカメラ、コンピュータ、モバイルデバイス、加入者デバイス、ブロードキャストデバイス、セットトップボックス、サーバなどに統合され得る。
【００４４】
ビデオシーケンスは、一般に一連のビデオフレームを含む。ピクチャグループ（a group of picture）（ＧＯＰ）は、概して、一連の１つまたは複数のビデオフレームを備える。ＧＯＰは、ＧＯＰ中に含まれるいくつかのフレームを記述するシンタックスデータを、ＧＯＰのヘッダ、ＧＯＰの１つまたは複数のフレームのヘッダ、または他の場所中に含み得る。各フレームは、それぞれのフレームについての符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。ビデオブロックは、マクロブロックまたはマクロブロックのパーティション（partition）に対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得る、指定のコーディング規格に応じてサイズが異なり得る。各ビデオフレームは複数のスライスを含み得る。各スライスは複数のマクロブロックを含み得る、それらはサブブロックとも呼ばれるパーティションに配置され得る。
【００４５】
一例として、ＩＴＵ−Ｔ  Ｈ．２６４規格は、ルーマ成分（luma components）については１６×１６、８×８、または４×４、およびクロマ成分（chroma components）については８×８など、様々なブロックサイズのイントラ予測（intra prediction）をサポートし、ならびにルーマ成分については１６×１６、１６×８、８×１６、８×８、８×４、４×８および４×４、およびクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測（inter prediction）をサポートする。本開示では、「Ｎ×Ｎ」と「Ｎ掛けるＮ」は、垂直寸法および水平寸法に関するブロックのピクセル寸法、たとえば、１６×１６ピクセル、または、１６掛ける１６ピクセルを指すために互換的に使用され得る。一般に、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、Ｎは、非負整数値（nonnegative integer value）を表す。ブロック中のピクセルは行と列に配置され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックはＮ×Ｍ個のピクセルを備え得る、ここで、Ｍは必ずしもＮに等しいとは限らない。概して、１６×１６ブロックに関して説明したが、本開示の技法は、ブロックの他のサイズ、たとえば、３２×３２、６４×６４、１６×３２、３２×１６、３２×６４、６４×３２、または他のブロックサイズに適用し得る。したがって、本開示の技法は、１６×１６よりも大きいサイズのマクロブロックに適用され得る。
【００４６】
１６×１６よりも小さいブロックサイズは１６×１６マクロブロックのパーティションと呼ばれることがある。ビデオブロックは、ピクセル領域中のピクセルデータのブロックを備え得る、あるいは、たとえば、コード化されたビデオブロックと予測ビデオブロックとの間のピクセル差分を表す残差ビデオブロックデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後の、変換領域中の変換係数のブロックを備え得る。場合によっては、ビデオブロックは、変換領域中の量子化された変換係数のブロックを備え得る。
【００４７】
より小さいビデオブロックは、より良好な解像度を与えることができ、高い詳細レベルを含むビデオフレームのロケーションのために使用され得る。一般に、マクロブロックおよび様々なパーティションはサブブロックと呼ばれることがあり、ビデオブロックと見なされ得る。さらに、スライスは、マクロブロックおよび／またはサブブロックなどの複数のビデオブロックであると見なされ得る。各スライスはビデオフレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体が復号可能なユニットであり得るか、またはフレームの他の部分が復号可能なユニットとして定義され得る。「コード化ユニット(coded unit)」または「コーディングユニット」という用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャグループ（ＧＯＰ）など、ビデオフレームの単独で復号可能な任意のユニット、または適用可能なコーディング技法に従って定義される別の単独で復号可能なユニットを指し得る。
【００４８】
本開示の技法によれば、ビデオエンコーダ２０は、クロミナンスブロックを符号化するためにリファレンスフレームのフラクショナルピクセル位置の値を補間するための補間フィルタを選択するように構成され得る。たとえば、マクロブロックを符号化する間、ビデオエンコーダ２０は、まず、インターモード（inter-mode）符号化プロセスを使用してマクロブロックの１つまたは複数のルミナンスブロックを符号化し得る。この符号化プロセスは、ルミナンスブロックのための１つまたは複数のルミナンス動きベクトルを生じ得る。次いで、ビデオエンコーダ２０は、ルミナンス動きベクトルのうちの１つのルミナンスブロックに対応するクロミナンスブロックのためのクロミナンス動きベクトルを計算し得る。すなわち、クロミナンスブロックは、同じマクロブロックのルミナンスブロックとコロケートされ（collocated）得る。
【００４９】
ビデオエンコーダ２０は、ルミナンスブロックの動き探索を実行し、クロミナンスブロックの動き探索によって生成されたルミナンス動きベクトルを再利用するように構成され得る。ルミナンス動きベクトルは、概して、リファレンスブロック内の特定のピクセル、たとえば、リファレンスブロックの左上のピクセルをポイントする。さらに、ルミナンス動きベクトルは、分数精度（fraction precision）、たとえば、１／４ピクセル精度を有し得る。リファレンスブロック中には４：１のルミナンスピクセル対クロミナンスピクセル比があり得る。すなわち、クロマブロック（chroma block）中の各行および列には、リファレンスマクロブロック中のコロケートされたルミナンスブロックに対して半数のピクセルがあり得る。
【００５０】
クロミナンスブロックを符号化するためにルミナンス動きベクトルを再利用するために、ビデオエンコーダ２０は、ルミナンスブロックと等しい数の、クロミナンスブロック中の潜在的なピクセル位置（フルまたはフラクショナル）を使用し得る。したがって、クロミナンス動きベクトルは、ピクセル当たりのフラクショナルピクセル位置の数に関して、ルミナンス動きベクトルよりも大きい精度を有し得る。これは、水平方向と垂直方向とにおいて半数のピクセルの間で等しい数のピクセル位置が分割された結果である。たとえば、ルミナンス動きベクトルが１／４ピクセル精度を有する場合、クロミナンス動きベクトルは１／８ピクセル精度を有し得る。概して、ルミナンスベクトルが１／Ｎの精度を有するとき、クロミナンス動きベクトルは１／２Ｎの精度を有し得る。いくつかの例では、クロミナンス動きベクトルは１／Ｎの精度に切り捨てられ得る。
【００５１】
１／４ピクセル精度を有するルミナンス動きベクトルの例では、ビデオエンコーダ２０は、各々がクロミナンスブロックのフラクショナル１／４ピクセル位置のうちの１つ（たとえば、ピクセルの１／４、２／４、および３／４）に関連する、３つの補間フィルタで構成され得る。ビデオエンコーダ２０は、まず、クロミナンス動きベクトルがポイントするロケーションを判断し得る。そのロケーションは、各々がフル部分とフラクショナル部分とを有する、水平成分および垂直成分によって定義され得る。ビデオエンコーダ２０は、水平成分および垂直成分のフラクショナル部分に基づいて補間フィルタを選択するように構成され得る。
【００５２】
概して、ビデオエンコーダ２０は、水平成分および垂直成分に対応する、水平方向寄与（horizontal contribution）と垂直方向寄与（vertical contribution）との組合せに基づいて、動きベクトルがポイントするロケーションの値を計算し得る。まず、それら成分のうちの１つが計算され得る、次いで、同様の状況にあるピクセルを使用して、第２番目の成分が計算され得る。たとえば、まず、水平成分が計算され、次いで、同じ水平位置を有する上および下にあるピクセルを使用して、動きベクトルによってポイントされるロケーションの値が計算され得る。まず、上および下にあるピクセルの値が補間され得る。
【００５３】
動きベクトルがフルピクセル位置をポイントする場合、すなわち、水平成分と垂直成分の両方が０値フラクショナル部分を有する場合、ビデオエンコーダ２０は、単に、動きベクトルによってポイントされるピクセルの値としてフルピクセル位置の値を使用し得る。一方、水平成分および垂直成分のフラクショナル部分のいずれかまたは両方が０でない場合、ビデオエンコーダ２０は、動きベクトルによってポイントされるロケーションの値を補間し得る。
【００５４】
２つの成分のうちの一方が非０値フラクショナル部分を有するが、他方の成分が０値フラクショナル部分を有する場合、ビデオエンコーダ２０は、ピクセル当たり１つの値のみを補間し得る。特に、ビデオエンコーダ２０は、０値フラクショナル部分を有する成分の寄与として、フルピクセル位置の値を使用し得る。たとえば、水平成分が０値フラクショナル部分を有し、垂直成分が１／４のフラクショナル部分を有する場合、ビデオエンコーダ２０は、垂直成分の値を補間し、水平成分のフルピクセル位置の値を使用し、これらの値を組み合わせて、動きベクトルによってポイントされるロケーションの値を計算し得る。
【００５５】
上記のように、ビデオエンコーダ２０は、１／４ピクセル位置の各々のための補間フィルタで構成され得る。この例では、これらのフィルタをＦ1、Ｆ2、およびＦ3とし、Ｆ1は１／４位置に対応し、Ｆ2は２／４位置に対応し、Ｆ3は３／４位置に対応する。成分が１／４ピクセル位置をポイントするとき、ビデオエンコーダ２０は、その成分のフラクショナル部分に対応するフィルタを使用してその成分の値を計算し得る。たとえば、垂直成分が１／４のフラクショナル部分を有する場合、ビデオエンコーダ２０は、フィルタＦ1を使用して垂直方向寄与を計算し得る。
【００５６】
成分が１／８ピクセル位置をポイントするとき、ビデオエンコーダ２０は、隣接するフィルタによって生成された値または隣接するフルピクセル値の平均を使用して、その成分の値を計算し得る。たとえば、水平成分が１／８のフラクショナル部分を有する場合、ビデオエンコーダ２０は、水平成分の値を、フルピクセル位置と、フィルタＦ1によって生成された値との平均として計算し得る。別の例として、水平成分が３／８のフラクショナル部分を有する場合、ビデオエンコーダ２０は、水平成分の値を、フィルタＦ1によって生成された値と、フィルタＦ2によって生成された値との平均として計算し得る。
【００５７】
特に、ｘを水平方向に対応するものとし、ｙを垂直方向に対応するものとする。（ｍx，ｍy）を、１／８ピクセル精度を有する動きベクトルのフラクショナルピクセル部分を示すものとする。したがって、この例では、ｍx，ｍy∈｛０，１／８，１／４，３／８，１／２，５／８，３／４，７／８｝である。（ｍx，ｍy）＝（０，０）に対応するリファレンスフレームピクセルをＰによって示し、予測値をＱによって示すものとする。フィルタＦ1、Ｆ2、およびＦ3を、それぞれ、ｍxおよびｍyのための１／４位置、１／２位置、および３／４位置に関連するものとする。フラクショナル表現がさらに低減され得ないように、Ｅ8を、分母として８を有する１／８ピクセル位置のセットを指すものとする。すなわち、Ｅ8＝｛１／８，３／８，５／８，７／８｝とする。Ｅ4を、１／４ピクセル位置以上を指すものとする。すなわち、Ｅ4＝｛０，１／４，１／２，３／４｝とする。
【００５８】
ビデオエンコーダ２０は、まず、ｍxもｍyもＥ8に属さない場合について考え得る（ステップ１）。この場合、ビデオエンコーダ２０は、次のようにＱの値を補間し得る。（ｍx，ｍy）＝（０，０）である場合、Ｑ＝Ｐである（ステップ１−１）。さもなければ、ｍx＝０である場合（ステップ１−２）、ビデオエンコーダ２０は、垂直成分ｍyの値のための適切な補間フィルタＦ1、Ｆ2、またはＦ3を適用することによってＱを計算し得る。たとえば、ｍy＝１／４である場合、ビデオエンコーダ２０はフィルタＦ1を使用し得る。同様に、ｍy＝０である場合（ステップ１−３）、ビデオエンコーダ２０は、水平成分ｍxの値のための適切な補間フィルタＦ1、Ｆ2、またはＦ3を適用することによってＱを計算し得る。たとえば、ｍx＝３／４である場合、ビデオエンコーダ２０はフィルタＦ3を使用し得る。最後に、ｍxおよびｍyが０でない場合（ステップ１−４）、ビデオエンコーダ２０は、フルピクセルロケーションが（０，０）であると仮定すると、ロケーション（０，ｍy）に対応する中間値を生成するために、ｍyの値に基づいてＦ1、Ｆ2、またはＦ3のうちの１つを適用し得る。その場合、ｍxの値に応じて、ビデオエンコーダ２０は、ｍxの値に基づいてＦ1、Ｆ2、またはＦ3のうちの１つを使用して（ｍx，ｍy）の値を計算し得る。ビデオエンコーダ２０は、まず、選択されたフィルタが参照し得る中間値として、（ｎ，ｍy）の値を補間し得る。たとえば、６タップフィルタの場合、まず、ｎ＝｛−２，−１，０，１，２，３｝がすぐに利用可能でなければ、それらが補間され得る。ビデオエンコーダ２０は、いくつかの例では、上述の補間順序の代わりに、まず水平方向において補間し、次に垂直方向において補間するように構成され得る。
【００５９】
別の場合として、ｍxまたはｍyがＥ8に属する場合（ステップ２）、ビデオエンコーダ２０は、次のように予測値Ｑを計算し得る。ｍx∈Ｅ8およびｍy∈Ｅ4である場合（ステップ２−１）、ビデオエンコーダ２０は、まず、Ｆ1、Ｆ2、またはＦ3のうちの適切な１つを使用してロケーション（０，ｍy）に対応する中間補間値（intermediate interpolated values）Ｑ1を計算し得る。次いで、ビデオエンコーダ２０は、Ｅ４から、ｍxに最も近い２つの値を計算し得る。これらの値を、ｍx0およびｍx1によって示すものとする。ビデオエンコーダ２０は、（ｍx0，ｍy）および（ｍx1，ｍy）にそれぞれ対応する、中間値Ｑ2およびＱ3を計算し得る。ｍx0＝０である場合、Ｑ2はＱ1からコピーされ得る。ｍx1＝１である場合、Ｑ2は、次の水平方向ピクセルのＱ1からコピーされ得る。ビデオエンコーダ２０は、Ｑ2とＱ3との平均としてＱを計算し得る。
【００６０】
一例として、動きベクトルのフラクショナル部分が（３／８，１／４）であることについて考える。その場合、まず、ビデオエンコーダ２０は、フィルタＦ1を使用して（０，１／４）に対応するＱ1を計算し得る。次いで、ビデオエンコーダ２０は、それぞれフィルタＦ1およびＦ2を使用して、（１／４，１／４）および（１／２，１／４）にそれぞれ対応するＱ2およびＱ3を計算し得る。最後に、ビデオエンコーダ２０は、Ｑを発見するためにこれらの２つの値を平均化し得る。
【００６１】
一方、ｍx∈Ｅ4およびｍy∈Ｅ8である場合（ステップ２−２）、ビデオエンコーダ２０は、まず、ｍxの値に基づいて、水平方向において適切な補間フィルタＦ1、Ｆ2、またはＦ3を使用して、またはｍxが０である場合はＰからコピーされて、ロケーション（ｍx，０）に対応する第１の中間補間値Ｑ1を計算し得る。次いで、ビデオエンコーダ２０は、Ｅ4から、ｍyに最も近い２つの値を計算し得る。これらの値を、ｍy0およびｍy1によって示すものとする。次いで、ビデオエンコーダ２０は、垂直方向において適切な補間フィルタを使用して、（ｍx，ｍy0）および（ｍx，ｍy1）に対応する補間値Ｑ2およびＱ3を計算し得る。ｍy0＝０である場合、ビデオエンコーダ２０は、Ｑ1からＱ2をコピーし得る。同様に、ｍy1＝１である場合、ビデオエンコーダ２０は、次の垂直方向ピクセルに対応するＱ1からＱ3をコピーし得る。次いで、ビデオエンコーダ２０は、Ｑ2とＱ3とを平均化することによって（ｍx，ｍy）に対する補間値Ｑを計算し得る。
【００６２】
最後に、ｍx∈Ｅ8およびｍy∈Ｅ8である場合がある（ステップ２−３）。この場合、ビデオエンコーダ２０は、Ｅ4から、ｍxに最も近い（ｍx0およびｍx1によって示される）２つの値を計算し得る。同様に、ビデオエンコーダ２０は、Ｅ4から、ｍyに最も近い（ｍy0およびｍy1によって示される）２つの値を計算し得る。次いで、４つの位置（ｍx0，ｍy0）、（ｍx0，ｍy1）、（ｍx1，ｍy0）、（ｍx1，ｍy1）の各々について、ビデオエンコーダ２０は、ｍxもｍyもＥ8に属さない（すなわち、ステップ１と同様の）場合と同様の方法で、中間値Ｑ1、Ｑ2、Ｑ3、およびＱ4を計算し得る。最後に、ビデオエンコーダ２０は、（ｍx，ｍy）の補間値Ｑを計算するために、中間補間値を平均化し得る。他の例では、ビデオエンコーダ２０は、最終補間値（final interpolated value）Ｑを発見するために、４つの中間値の代わりに、２つの中間値のみを計算するように構成され得る。たとえば、ビデオエンコーダ２０は、Ｑの最終補間値を得るために、対角位置（ｍx0，ｍy0）および（ｍx1，ｍy1）または（ｍx0，ｍy1）および（ｍx1，ｍy0）に対応する中間値のみを計算し、平均化するように構成され得る。
【００６３】
ｍx∈Ｅ4、またはｍy∈Ｅ8であるとき、平均化を使用して、２つの隣接する１／４ピクセル精度のピクセル位置から垂直方向において１／８ピクセル精度のピクセル位置を計算する代わりに、その位置を直接導出することが可能であり得ることを、当業者は認識されよう。フィルタＦ1、Ｆ2、およびＦ3は同じ長さを有するので、２つのフィルタの係数を追加することは、スケーリングファクタまで、等価な１／８ピクセル位置フィルタを与える。したがって、クロミナンス動きベクトルが３／８ピクセル位置をポイントする場合、Ｆ1およびＦ2のフィルタ係数は、（０，３／８）位置に対する直接フィルタを導出するために位置ごとに加算され得る。したがって、この例では、３／８位置に対応するフィルタは｛４，−１１，４８，２９，−９，３｝である。このフィルタのフィルタ係数が６４まで加算することに留意されたい。したがって、フィルタ処理後の右シフト演算は、適宜に調整される必要がある。フルピクセル位置に対応するフィルタは｛０，０，３２，０，０，０｝であると仮定される。ここで、Ｆ1、Ｆ2、およびＦ3が６つのタップを有し、それらが３２まで加算すると仮定した。同様に、次のフルピクセル位置に対応するフィルタは、｛０，０，０，３２，０，０｝である。
【００６４】
隣接する１／４ピクセル位置フィルタから１／８ピクセル位置フィルタを導出する代わりに、上記で説明したように、７つのフィルタ、すなわち、各１／８ピクセル位置について１つのフィルタを設計することが可能であり得る。
【００６５】
本開示で説明するフィルタ処理技法は、整数算術において実行され得る。そうするために、上述のステップは、ビデオエンコーダ２０のために変更され得る。表記上の便宜として、下付き文字Ｉは、前に説明したシンボルおよび演算についての整数算術後の結果を示すために追加される。シンボル「＜＜」および「＞＞」は、それぞれ左シフト演算および右シフト演算を指す。また、この例では、元のピクセルの値の範囲は［０，２５５］であると仮定する。整数算術は、この例では３２ビット精度で実行され得る。中間補間値は、丸め、右シフトおよびクリッピングが実行され得るまさにその最後のステップまで高い精度で維持され得る。したがって、基本概念は、フィルタ処理が適用されるときはいつでも、丸め、右シフトおよびクリッピングを即時に行う代わりに、複数のフィルタ処理されたピクセルが平均化される平均化ステップの後まで、これらの演算が延期され得ることである。
【００６６】
ステップ１−１の場合、変更は必要ない。ステップ１−２の場合、ビデオエンコーダ２０は、Ｑ＝（ＱI＋１６）＞＞５を計算し得る。ステップ１−３の場合、ビデオエンコーダ２０は、Ｑ＝（ＱI＋１６）＞＞５を計算し得る。ステップ１−４の場合、ビデオエンコーダ２０は、Ｑ＝（ＱI＋５１２）＞＞１０を計算し得る。ステップ２−１の場合、ｍy＝０である場合、ビデオエンコーダ２０はＱ1I＝Ｐ＜＜５を計算し得る。ｍx0＝０である場合、Ｑ2I＝（Ｑ2I＜＜５）を計算し得る。ｍx1＝０である場合、Ｑ3I＝（Ｑ3I＜＜５）を計算し得る。また、ステップ２−１の場合、ビデオエンコーダ２０は、最終的に、最小値２５５および最大値（０，（Ｑ2I＋Ｑ3I＋１０２４）＞＞１１）としてＱを計算し得る。ステップ２−２の場合、ｍx＝０である場合、ビデオエンコーダ２０はＱ1I＝Ｐ＜＜５を計算し得る。ｍy0＝０である場合、Ｑ2I＝（Ｑ21＜＜５）を計算し得る。ｍy1＝０である場合、Ｑ3I＝（Ｑ3I＜＜５）を計算し得る。また、ステップ２−２の場合、ビデオエンコーダ２０は、最終的に、最小値２５５および最大値（０，（Ｑ2I＋Ｑ3I＋１０２４）＞＞１１）としてＱを計算し得る。
【００６７】
ステップ２−３の場合、Ｑ1I、Ｑ2I、Ｑ3I、およびＱ4Iは、それぞれ（ｍx0，ｍy0）および（ｍx1，ｍy1）または（ｍx0，ｍy1）および（ｍx1，ｍy0）に対応する。これらの値は、最後の丸めステップ、右シフトステップ、およびクリッピングステップが適用される必要がないことを除いて、ステップ１と同様の方法で計算され得る。次いで、ステップ１−１を使用して計算された値の場合、中間補間値は１０だけ左シフトされ得る。ステップ１−２および１−３を使用して計算された値の場合、中間補間値は５だけ左シフトされ得る。最後に、ビデオエンコーダ２０は、最小値２５５、および最大値（０，（Ｑ1I＋Ｑ2I＋Ｑ3I＋Ｑ4I＋２０４８）＞＞１２）としてＱを計算し得る。
【００６８】
リファレンスクロミナンスブロックの各リファレンスピクセルの値を計算した後に、ビデオエンコーダ２０は、符号化されるべきクロミナンスブロックの残差を計算し得る。たとえば、ビデオエンコーダ２０は、符号化されるべきクロミナンスブロックと補間されたリファレンスブロックとの間の差分値を計算し得る。ビデオエンコーダ２０は、たとえば、絶対値差分和（sum of absolute difference）（ＳＡＤ）、２乗差分和（sum of squared difference）（ＳＳＤ）、平均絶対差（mean absolute difference）（ＭＡＤ）、平均２乗差（mean squared difference）（ＭＳＤ）など様々な差分計算技法を使用し得る。
【００６９】
予測データと残差データとを生成するためのイントラ予測コーディングまたはインター予測コーディングの後、および変換係数を生成するための（Ｈ．２６４／ＡＶＣで使用される４×４または８×８整数変換、あるいは離散コサイン変換ＤＣＴなどの）任意の変換の後、変換係数の量子化が実行され得る。量子化は、一般に、係数を表すために使用されるデータ量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にｎビット値をｍビット値に切り捨てることができ、ｎはｍよりも大きい。
【００７０】
量子化の後、たとえば、コンテンツ適応型可変長コーディング（content adaptive variable length coding）（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（context adaptive binary arithmetic coding）（ＣＡＢＡＣ）、または別のエントロピーコーディング方法に従って、量子化されたデータのエントロピーコーディング（zero run length coding）が実行され得る。エントロピーコーディング用に構成された処理ユニットまたは別の処理ユニットは、量子化された係数のゼロランレングスコーディング、および／またはコード化ブロックパターン（ＣＢＰ）値、マクロブロックタイプ、コーディングモード、（フレーム、スライス、マクロブロック、またはシーケンスなどの）コード化ユニットの最大マクロブロックサイズなどのシンタックス情報の生成など、他の処理機能を実行し得る。
【００７１】
ビデオデコーダ３０は、ビデオエンコーダ２０と同様の方法で１／８ピクセル精度のクロミナンス動きベクトルの値を補間するように構成され得る。リファレンスクロミナンスブロックの値を補間した後に、ビデオデコーダ３０は、クロミナンスを復号するために、受信した残差値をリファレンスクロミナンスブロックに追加し得る。
【００７２】
ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、適用可能なとき、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなどの様々な好適なエンコーダまたはデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含められ得る、そのいずれかは複合ビデオエンコーダ／デコーダ（コーデック）の一部として統合され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０を含む装置は、集積回路、マイクロプロセッサ、および／またはセルラー電話などのワイヤレス通信デバイスを備え得る。
【００７３】
図２は、補間フィルタを選択するための技法を実装し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０は、マクロブロックあるいはマクロブロックのパーティションまたはサブパーティションを含むビデオフレーム内のブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード（登録商標））は、いくつかの空間ベースの圧縮モードのいずれかを指し、単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。図２にはインターモード符号化のための構成要素が示されているが、ビデオエンコーダ２０はイントラモード符号化のための構成要素をさらに含み得ることを理解されたい。ただし、簡潔および明快のために、そのような構成要素は示されていない。
【００７４】
図２に示すように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、動き補償ユニット４４と、動き推定ユニット４２と、リファレンスフレームストア（reference frame store）６４と、加算器５０と、変換ユニット５２と、量子化ユニット５４と、エントロピーコーディングユニット５６とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクト（blockiness artifacts）を除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図２に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理するであろう。
【００７５】
符号化プロセス中に、ビデオエンコーダ２０はコーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロックに分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数のリファレンスフレーム中の１つまたは複数のブロックに対する受信したビデオブロックのインター予測コーディングを実行する。イントラ予測ユニットはまた、空間圧縮を行うために、コーディングすべきブロックと同じフレームまたはスライス中の１つまたは複数の近傍ブロックに対する受信したビデオブロックのイントラ予測コーディングを実行し得る。
【００７６】
モード選択ユニット４０は、たとえば、誤り結果に基づいてコーディングモード、すなわち、イントラまたはインターのうちの１つを選択し、残差ブロックデータを生成するために、得られたイントラコード化されたブロックまたはインターコード化されたブロックを加算器５０に供給し、リファレンスフレームとして使用するための符号化されたブロックを再構成するために、得られたイントラコード化されたブロックまたはインターコード化されたブロックを加算器６２に供給し得る。
【００７７】
動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のフレーム（または、他のコード化ユニット）内のコーディングされている現在のブロックに対する予測リファレンスフレーム（または、他のコード化ユニット）内の予測ブロックの変位（displacement）を示し得る。予測ブロックは、絶対値差分和（ＳＡＤ）、差分２乗和（ＳＳＤ）、または他の差分メトリックによって判断できるピクセル差分に関して、コーディングされるべきブロックに厳密に一致することがわかるブロックである。動きベクトルはまた、マクロブロックのパーティションの変位を示し得る。動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。この場合も、いくつかの例では、動き推定ユニット４２と動き補償ユニット４４は機能的に統合され得る。
【００７８】
動き推定ユニット４２は、ビデオブロックをリファレンスフレームストア６４中のリファレンスフレームのビデオブロックと比較することによってインターコード化されたフレームのビデオブロックの動きベクトルを計算する。リファレンスフレームストア６４は、ランダムアクセスメモリ（ＲＡＭ）などのメモリ中に実装され得るリファレンスフレームバッファを備え得る。動き補償ユニット４４はまた、リファレンスフレーム、たとえば、ＩフレームまたはＰフレームのサブ整数（sub-integer）ピクセルを補間し得る。ＩＴＵ  Ｈ．２６４規格では、リファレンスフレームを「リスト」と呼ぶ。したがって、リファレンスフレームストア６４に記憶されたデータをリストと見なし得る。動き推定ユニット４２は、リファレンスフレームストア６４からの１つまたは複数のリファレンスフレーム（またはリスト）のブロックを現在のフレーム、たとえば、ＰフレームまたはＢフレームの符号化されるべきブロックと比較する。リファレンスフレームストア６４中のリファレンスフレームがサブ整数ピクセルの値を含むとき、動き推定ユニット４２によって計算される動きベクトルはリファレンスフレームのサブ整数ピクセルロケーションを参照し得る。動き推定ユニット４２は、計算された動きベクトルをエントロピーコーディングユニット５６および動き補償ユニット４４に送る。動きベクトルによって識別されるリファレンスフレームブロックは予測ブロックと呼ばれることがある。動き補償ユニット４４はリファレンスフレームの予測ブロックの誤差値を計算する。
【００７９】
動き補償ユニット４４は、予測ブロックに基づいて予測データを計算し得る。たとえば、動き補償ユニット４４は、マクロブロックのルミナンスブロックとクロミナンスブロックの両方のための予測データを計算し得る。動き補償ユニット４４は、クロミナンス予測ブロックを形成するために、リファレンスブロックのサブ整数ピクセル位置の値を計算する、本開示の技法を実行するように構成され得る。ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、動き補償ユニット４４からの予測データを減算することによって残差ビデオブロックを形成する。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。変換ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。
【００８０】
変換ユニット５２は、概念的にＤＣＴと同様である、Ｈ．２６４規格によって定義される変換などの他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。量子化ユニット５４は、ビットレートをさらに低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。
【００８１】
量子化の後、エントロピーコーディングユニット５６が量子化された変換係数をエントロピーコーディングする。たとえば、エントロピーコーディングユニット５６は、コンテンツ適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、または別のエントロピーコーディング技法を実行し得る。エントロピーコーディングユニット５６によるエントロピーコーディングの後、符号化されたビデオは、別のデバイスに送信されるか、あるいは後で送信または検索するためにアーカイブされ得る。コンテキスト適応型バイナリ算術コーディングの場合、コンテキストは近傍マクロブロックに基づき得る。
【００８２】
場合によっては、エントロピーコーディングユニット５６またはビデオエンコーダ２０の別のユニットは、エントロピーコーディングに加えて他のコーディング機能を実行するように構成され得る。たとえば、エントロピーコーディングユニット５６はマクロブロックおよびパーティションのＣＢＰ値を判断するように構成され得る。また、場合によっては、エントロピーコーディングユニット５６は、マクロブロックまたはそれのパーティション中の係数のランレングスコーディング（run length coding）を実行し得る。特に、エントロピーコーディングユニット５６は、マクロブロックまたはパーティション中の変換係数をスキャンするためにジグザグスキャンまたは他のスキャンパターンを適用し、さらなる圧縮のためにゼロのラン（runs）を符号化し得る。エントロピーコーディングユニット５６はまた、符号化されたビデオビットストリーム中での送信のために適切なシンタックス要素とともにヘッダ情報を構成し得る。
【００８３】
逆量子化ユニット５８および逆変換ユニット６０は、それぞれ逆量子化および逆変換を適用して、たとえばリファレンスブロックとして後で使用するために、ピクセル領域において残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックをリファレンスフレームストア６４のフレームのうちの１つの予測ブロックに加算することによってリファレンスブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、リファレンスフレームストア６４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット４２および動き補償ユニット４４によってリファレンスブロックとして使用され得る。
【００８４】
図３は、符号化されたビデオシーケンスを復号するビデオデコーダ３０の一例を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、リファレンスフレームストア８２と、加算器８０とを含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図２）に関して説明した符号化パスとは概して逆の（reciprocal）復号パスを実行し得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信した動きベクトルに基づいて予測データを生成し得る。
【００８５】
動き補償ユニット７２は、ビットストリーム中で受信された動きベクトルを使用して、リファレンスフレームストア８２中のリファレンスフレーム中の予測ブロックを識別し得る。動き補償ユニット７２はまた、クロミナンス予測ブロックを形成するためにリファレンスブロックのサブ整数ピクセル位置の値を計算する、本開示の技法を実行するように構成され得る。イントラ予測ユニット７４は、ビットストリーム中で受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。逆量子化ユニット７６は、ビットストリーム中で供給されて、エントロピー復号ユニット７０によって復号された、量子化されたブロック係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、たとえば、Ｈ．２６４復号規格によって定義された従来のプロセスを含み得る。逆量子化プロセスはまた、量子化の程度を判断するために、同様に、適用すべき逆量子化の程度を判断する(determine)ために、各マクロブロックについてエンコーダ５０によって計算される量子化パラメータＱＰYの使用を含み得る。
【００８６】
逆変換ユニット５８は、逆変換、たとえば逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用して、ピクセル領域において残差ブロックを生成する。動き補償ユニット７２は動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブピクセル精度をもつ動き推定に使用すべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用される補間フィルタを使用して、リファレンスブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット７２は、受信したシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
【００８７】
動き補償ユニット７２は、シンタックス情報のいくつかを使用して、符号化されるビデオシーケンスの（１つまたは複数の）フレームを符号化するために使用されたマクロブロックのサイズと、符号化されたビデオシーケンスのフレームの各マクロブロックがどのように区分されているかを記述するパーティション情報と、各パーティションがどのように符号化されているかを示すモードと、各インター符号化されたマクロブロックまたはパーティションのための１つまたは複数のリファレンスフレーム（またはリスト）と、符号化されたビデオシーケンスを復号するための他の情報とを判断する。
【００８８】
加算器８０は、残差ブロックを、動き補償ユニット７２またはイントラ予測ユニットによって生成される対応する予測ブロックと合計して、復号されたブロックを形成する。所望される場合、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタが、復号されたブロックをフィルタ処理することにも適用され得る。復号されたビデオブロックは、次いで、リファレンスフレームストア８２に記憶され、リファレンスフレームストア８２は、リファレンスブロックをその後の動き補償に供給し、また、ディスプレイデバイス（図１のディスプレイデバイス３２など）上での提示のために復号されたビデオを生成する。
【００８９】
図４は、フルピクセル位置に対するフラクショナルピクセル位置を示す概念図である。特に、図４に、フルピクセル（ペル（pel））１００のフラクショナルピクセル位置を示す。フルピクセル１００は、１／２ピクセル位置１０２Ａ〜１０２Ｃ（ハーフペル（half pels）１０２）と、１／４ピクセル位置１０４Ａ〜１０４Ｌ（１／４ペル１０４）と、１／８ピクセル位置１０６Ａ〜１０６ＡＶ（１／８ペル１０６）とに対応する。これらの位置のうちの１つをポイントする動きベクトルは、フルペル（full pel）１００のロケーションに対応するフル部分と、１／８ピクセル精度をもつフラクショナル部分とをもつ水平成分および垂直成分を有し得る。
【００９０】
フルピクセル位置１００におけるピクセルの値は、対応するリファレンスフレーム中に含まれ得る。すなわち、フルピクセル位置１００におけるピクセルの値は、概して、たとえば、リファレンスフレームが表示されるときに最終的にレンダリングされ、表示されるリファレンスフレーム中のピクセルの実効値に対応する。（フラクショナルピクセル位置と総称される）１／２ピクセル位置１０２、１／４ピクセル位置１０４、および１／８ピクセル位置１０６の値は、本開示の技法に従って補間され得る。
【００９１】
特に、フラクショナル位置は、水平成分のフラクショナル部分と垂直成分のフラクショナル部分とを使用して定義され得る。水平方向フラクショナル部分を、｛０，１／８，２／８，３／８，４／８，５／８，６／８，７／８｝から選択され得るｍxに対応するものとする。垂直方向フラクショナル部分を、｛０，１／８，２／８，３／８，４／８，５／８，６／８，７／８｝から選択され得るｍyに対応するものとする。フィルタＦ1は、２／８（１／４）フラクショナル部分に関連する補間フィルタであり得る。フィルタＦ2は、４／８（１／２）フラクショナル部分に関連する補間フィルタであり得る。フィルタＦ3は、６／８（３／４）フラクショナル部分に関連する補間フィルタであり得る。水平成分のフィルタのリファレンスピクセルのラインが、垂直成分のフィルタのリファレンスピクセルのラインに直交し得ることを除いて、Ｆ1、Ｆ2、およびＦ3は、水平成分と垂直成分の両方に対して本質的に同じであり得る。
【００９２】
以下の表１に、成分のフラクショナル部分に基づいて、１／８ピクセル精度を有する動きベクトルの成分の寄与を計算するための技法を要約する。以下の表Ｎは「隣接ピクセル」を指し、「隣接ピクセル」は、成分が水平成分であるのか垂直成分であるのかに従って定義される。成分が水平成分である場合、隣接ピクセルは、フルピクセル１００の右に隣接するピクセルを参照する。成分が垂直成分である場合、隣接ピクセルはフルピクセル１００の下に隣接するピクセルを参照する。
【表１】
0005646654.tif 000003
【００９３】
このようにして、動きベクトルの成分が、ルミナンス動きベクトルの精度を有する動きベクトルによって表され得るフラクショナルピクセル位置を参照するとき、ビデオエンコーダ２０は、その成分の寄与を補間するためにフラクショナルピクセル位置に関連する補間フィルタを選択し得る。一方、その成分が、ルミナンス動きベクトルの精度を有する動きベクトルによって表され得ないが、クロミナンス動きベクトルの精度を有する動きベクトルによって表され得るフラクショナルピクセル位置を参照するとき、ビデオエンコーダ２０は、直接隣接するフラクショナルピクセル位置のための１つまたは複数の補間フィルタを選択し得る。
【００９４】
図５Ａ〜図５Ｃは、対応するクロミナンスピクセル位置およびルミナンスピクセル位置を示す概念図である。図５Ａ〜図５Ｃはまた、ルミナンス動きベクトルがどのようにクロミナンスブロックのために再利用され得るかを示している。前置きとして、図５Ａ〜図５Ｃはピクセル位置の部分行を示している。実際には、フルピクセル位置は、関連するフラクショナルピクセル位置の矩形格子（rectangular grid）を有し得ることを理解されたい。図５Ａ〜図５Ｃの例は、本開示において説明する概念を示すものであり、フラクショナル・クロミナンスピクセル位置とフラクショナル・ルミナンスピクセル位置との間の対応の網羅的なリストとして意図されていない。
【００９５】
図５Ａ〜図５Ｃは、フル・ルミナンスピクセル位置１１０と、１／２ルミナンスピクセル位置１１２と、１／４ルミナンスピクセル位置１１４Ａ、１１４Ｂと、フル・ルミナンスピクセル位置１１６とを含む、ルミナンスブロックのピクセル位置を示している。フル・ルミナンスピクセル位置１１６は、フル・ルミナンスピクセル位置１１０の右に隣接するピクセル位置と考えられ得る。
【００９６】
図５Ａ〜図５Ｃはまた、フル・クロミナンスピクセル位置１２０と、１／２クロミナンスピクセル位置１２２と、１／４クロミナンスピクセル位置１２４と、１／８クロミナンスピクセル位置１２６Ａ、１２６Ｂとを含む、クロミナンスブロックの対応するピクセル位置を示している。この例では、フル・クロミナンスピクセル１２０はフル・ルミナンスピクセル１１０に対応する。さらに、この例では、クロミナンスブロックは、ルミナンスブロックに対して２倍にダウンサンプリングされる。したがって、１／２クロミナンスピクセル１２２はフル・ルミナンスピクセル１１６に対応する。同様に、１／４クロミナンスピクセル１２４は１／２ルミナンスピクセル１１２に対応し、１／８クロミナンスピクセル１２６Ａは１／４ルミナンスピクセル１１４Ａに対応し、１／８クロミナンスピクセル１２６Ｂは１／４ルミナンスピクセル１１４Ｂに対応する。
【００９７】
図５Ａに、フル・ルミナンスピクセル位置１１０をポイントするルミナンス動きベクトル１１８Ａの例を示す。ビデオエンコーダ２０またはビデオデコーダ３０などのビデオコーディングユニットは、クロミナンスブロックに対して動き補償を実行するときにルミナンス動きベクトル１１８Ａを再利用し得る。したがって、クロミナンス動きベクトル１２８Ａは、フル・クロミナンスピクセル１２０とフル・ルミナンスピクセル１１０との間の対応により、フル・クロミナンスピクセル１２０をポイントし得る。クロミナンス動きベクトル１２８Ａによってポイントされるピクセルの値は、フル・クロミナンスピクセル１２０の値に等しくなり得る。したがって、予測クロミナンスブロック中の各ピクセルは、リファレンスフレーム中の対応するピクセルに等しく設定され得る。
【００９８】
図５Ｂに、１／２ルミナンスピクセル位置１１２をポイントするルミナンス動きベクトル１１８Ｂの例を示す。クロミナンス動きベクトル１２８Ｂは、今度は、１／４クロミナンスピクセル位置１２４をポイントする。ビデオコーディングユニットは、１／４クロミナンスピクセル位置１２４に関連する補間フィルタを使用して１／４クロミナンスピクセル位置１２４の値を補間し得る。
【００９９】
図５Ｃに、１／４ルミナンスピクセル位置１１４Ａをポイントするルミナンス動きベクトル１１８Ｃの例を示す。クロミナンス動きベクトル１２８Ｃは、今度は、１／８クロミナンスピクセル位置１２６Ａをポイントする。ビデオコーディングユニットは、フル・クロミナンスピクセル位置１２０の値と、１／４クロミナンスピクセル位置１２４に関連する補間フィルタ、たとえば、フィルタＦ1とを使用して、１／４クロミナンスピクセル位置１２４の値を補間し得る。ビデオコーディングユニットは、次いで、１／８クロミナンスピクセル位置１２６Ａの値を生成するためにフル・クロミナンスピクセル位置１２０の値と１／４クロミナンスピクセル位置１２４の値とを平均化し得る。
【０１００】
ルミナンス動きベクトルのためにより一層高い精度（たとえば１／８）が使用される場合がある。そのような場合、クロミナンスピクセル位置は、依然として１／８ピクセル精度を有するように四捨五入され得る（たとえば、切り捨てられ得る）。したがって、本開示の技法は、クロミナンス動きベクトルとルミナンス動きベクトルとが等しい精度を有していても、依然として、クロミナンスピクセル位置におけるクロミナンス値を判断するためにそのようなクロミナンスピクセル位置に適用され得る。
【０１０１】
図６は、クロミナンスブロックを符号化するためにフラクショナルピクセル位置の値を補間するための例示的な方法を示すフローチャートである。図６の方法については、説明のためにビデオエンコーダ２０に関して説明する。ただし、いかなるビデオ符号化ユニットも、図６のビデオ符号化ユニットと同様の方法を実行するように構成され得ることを理解されたい。
【０１０２】
初めに、ビデオエンコーダ２０は、符号化されるべきマクロブロックを受信する（１５０）。いくつかの例では、マクロブロックは、４つの８×８ピクセル・ルミナンスブロックと、２つの８×８クロミナンスブロックとを含み得る。マクロブロックは、４つのルミナンスブロックがルミナンスピクセルの１６×１６ブロックを互いに形成するように、各コーナー（corner）に接触する厳密に１つのルミナンスブロックを有し得る。２つのクロミナンスブロックは、互いと重複し得る、そして、４つのルミナンスブロックと重複し得る。その上、クロミナンスブロックは、クロミナンスブロックの４つのコーナーの各々がマクロブロックの４つのコーナーの各々に接触するように、ルミナンスブロックに対してダウンサンプリングされ得る。ビデオエンコーダ２０は、図６に関して説明したものと同様の技法を使用して、クロミナンスブロックのいずれかまたは両方の全部または一部分（たとえば、パーティション）を符号化するように構成され得る。
【０１０３】
ビデオエンコーダ２０は、インター符号化モードでマクロブロックを符号化し得る。したがって、ビデオエンコーダ２０は、マクロブロックと同様であるリファレンスフレーム中のブロックを判断するために、１つまたは複数のリファレンスフレームに関して動き探索を実行し得る。さらに、ビデオエンコーダ２０は、ルミナンスブロックのうちの１つに対して動き探索を実行する（１５２）。ビデオエンコーダ２０は、それによって、フラクショナルピクセル精度を有するルミナンス動きベクトルを計算し得る。ビデオエンコーダ２０は、動き探索を実行したときに、リファレンスブロックのフラクショナルピクセル位置の値を補間するように構成され得る。次いで、ビデオエンコーダ２０はルミナンスブロックを符号化し得る。
【０１０４】
ルミナンスブロックを符号化した後に、ビデオエンコーダ２０は、ルミナンス動きベクトルによってポイントされる位置に対応するリファレンスフレームのクロミナンス部分中の位置を判断するために、ルミナンス動きベクトルを再利用し得る。このようにして、ビデオエンコーダ２０は、ルミナンス動きベクトルに対応するクロミナンス動きベクトルによってポイントされるピクセル位置を判断する（determine）（１５４）。クロミナンス動きベクトルのピクセル位置は、ルミナンスピクセルに対してクロミナンスピクセルをダウンサンプリングすることにより、ルミナンスピクセルよりも大きい精度を有し得る。たとえば、ルミナンス動きベクトルが１／４ピクセル精度を有するとき、クロミナンス動きベクトルは１／８ピクセル精度を有し得る。
【０１０５】
ビデオエンコーダ２０は、次いで、クロミナンス動きベクトルによって識別されるピクセルのブロックを使用してクロミナンスブロックを符号化し得る。クロミナンス動きベクトルがフラクショナルピクセル位置をポイントするとき、ビデオエンコーダ２０は、リファレンスフレーム中のクロミナンス動きベクトルによって識別されるリファレンスブロックのフラクショナルピクセル位置の値を補間し得る。クロミナンス動きベクトルのピクセル位置は、その各々がフル部分とフラクショナル部分とを有し得る水平成分と垂直成分とを有し得る。ビデオエンコーダ２０は、まず、リファレンスブロック中のピクセルの各々の値に対する水平方向寄与を計算する（１５６）。
【０１０６】
特に、ビデオエンコーダ２０は、クロミナンス動きベクトルの水平成分がフルピクセル位置をポイントするのかフラクショナルピクセル位置をポイントするのかを判断し得る。水平成分がフラクショナル部分をポイントする場合、ビデオエンコーダ２０は、水平成分からの寄与を補間するのに使用するために、フラクショナル部分に基づいて、補間フィルタを選択し得る。同様に、ビデオエンコーダ２０は垂直成分寄与を計算する（１５８）。ビデオエンコーダ２０は、水平成分寄与と垂直成分寄与とを組み合わせる（１６０）。
【０１０７】
ビデオエンコーダ２０は、リファレンスブロックの各ピクセルに対してこのプロセスを実行し得る。次いで、ビデオエンコーダ２０は、符号化されるべきクロミナンスブロックの残差値を計算する（１６２）。すなわち、ビデオエンコーダ２０は、符号化されるべきクロミナンスブロックとリファレンスブロックとの間の差分を計算し得る。ビデオエンコーダ２０は、次いで、残差を符号化し、出力する（１６４）。デコーダは、クロミナンスブロックのための符号化された残差ブロックを受信した後に、符号化されたクロミナンスブロックを復号するためにルミナンス動きベクトルを再利用し得るので、ビデオエンコーダ２０は、クロミナンス動きベクトルを符号化する必要はない。
【０１０８】
図７は、クロミナンスブロックを復号するためにフラクショナルピクセル位置の値を補間するための例示的な方法を示すフローチャートである。図７の方法は、説明のためにビデオデコーダ３０に関して説明される。ただし、いかなるビデオ復号ユニットも、図７のビデオ復号ユニットと同様の方法を実行するように構成され得ることを理解されたい。
【０１０９】
初めに、ビデオデコーダ３０は、符号化されたマクロブロックを受信する（１８０）。特に、ビデオデコーダ３０は、インター符号化モードで符号化されたマクロブロックを受信し得る。したがって、符号化されたマクロブロックは、１つまたは複数のルミナンス動きベクトルと、マクロブロックの符号化されたルミナンスブロックおよびクロミナンスブロックの残差値とを含み得る。ビデオデコーダ３０は、まず、ルミナンス動きベクトルを復号する（１８２）。ルミナンスブロックを復号した後に、ビデオデコーダ３０はクロミナンスブロックを復号し得る。
【０１１０】
まず、ビデオデコーダ３０は、符号化されたクロミナンスブロックのためのリファレンスフレームのリファレンスブロックを識別し得る。リファレンスブロックは、符号化されたルミナンスブロックのためのリファレンスブロックとコロケートされるものとして識別され得る。すなわち、ビデオデコーダ３０は、符号化されたクロミナンスブロックのためのリファレンスブロックを識別するためにルミナンス動きベクトルを再利用し得る。ビデオデコーダ３０は、次いで、本開示の技法に従って、符号化されたクロミナンスブロックのためのリファレンスブロックの値を補間し得る。
【０１１１】
ビデオデコーダ３０は、リファレンスブロック中のピクセルのフラクショナルピクセル位置を判断する（１８４）。クロミナンス動きベクトルがフラクショナルピクセル位置をポイントするとき、ビデオデコーダ３０はリファレンスブロックのフラクショナルピクセル位置の値を補間し得る。クロミナンス動きベクトルのピクセル位置は、その各々がフル部分とフラクショナル部分とを有し得る水平成分と垂直成分とを有し得る。ビデオデコーダ３０は、まず、リファレンスブロック中のピクセルの各々の値に対する水平方向寄与を計算する（１８６）。
【０１１２】
特に、ビデオデコーダ３０は、クロミナンス動きベクトルの水平成分がフルピクセル位置をポイントするのか、フラクショナルピクセル位置をポイントするのかを判断し得る。水平成分がフラクショナル部分をポイントする場合、ビデオエンコーダ２０は、水平成分からの寄与を補間するのに使用するために、フラクショナル部分に基づいて、補間フィルタを選択し得る。同様に、ビデオデコーダ３０は、垂直成分寄与を計算する（１８８）。ビデオデコーダ３０は、水平成分寄与と垂直成分寄与とを組み合わせる（１９０）。
【０１１３】
次いで、ビデオデコーダ３０は、クロミナンスブロックの残差値を復号する（１９２）。ビデオデコーダ３０は、次いで、復号された残差値と上記で計算したリファレンスブロックとを組み合わせて、クロミナンスブロックを復号する（１９４）。このようにして、ビデオデコーダ３０は、復号された残差値とリファレンスブロックとを使用してクロミナンスブロックを復号し得る。最終的に、ディスプレイデバイス３２は、復号されたクロミナンスブロックをレンダリングし、表示する（１９６）。すなわち、ディスプレイデバイス３２（または宛先デバイス１４の別のユニット）は、復号されたルミナンスブロックから表示されるピクセルのルミナンス値と、復号されたクロミナンスブロックからのカラー値（color value）とを判断し得る。ディスプレイデバイス３２は、ルミナンス値およびクロミナンス値を含むマクロブロックを表示するために、ルミナンスおよびクロミナンス（ＹＰｂＰｒ値）で表されたピクセルを赤緑青（ＲＧＢ）値に変換し得る。
【０１１４】
図８および図９は、水平成分と垂直成分の両方についての成分寄与を計算するために使用されるべき補間フィルタを選択するための方法を示すフローチャートである。特に、ビデオエンコーダ、デコーダ、コーデック、または他のビデオ処理ユニットは、クロミナンス動きベクトルの成分が非０フラクショナル部分を含むとき、リファレンスブロックの値を補間する図８および図９の方法を実行し得る。図８および図９の例は、クロミナンス動きベクトルが１／８ピクセル精度を有する状況を対象とする。動きベクトルが１／８ピクセル精度よりも大きい精度を有するとき、リファレンスブロックの値を計算するために同様の方法が適用され得ることを理解されたい。その上、図８および図９の例は、ビデオエンコーダ２０に関して説明される。ただし、同様の技法がビデオデコーダ３０または他のビデオ処理ユニットによって適用され得ることを理解されたい。図８および９の例は、概して、図６のステップ１５６および１５８、ならびに図７のステップ１８６および１８８に対応し得る。
【０１１５】
初めに、ビデオエンコーダ２０は、動きベクトルの成分のフラクショナル部分を判断する（２１０）。図６の方法が実行されるとき、フラクショナル部分は０でないと仮定する。代わりにフラクショナル部分が０である場合、フルピクセルの値は、その成分のために使用され得る（または、他の成分がすでに計算されている場合、その他の成分の値が使用され得る）。また、図６の例では、これらの方法が実行されるとき、補間フィルタＦ1、Ｆ2、およびＦ3は、それぞれ１／４、２／４、および３／４フラクショナルピクセル位置に関連すると仮定する。
【０１１６】
ビデオエンコーダ２０は、まず、成分のフラクショナル部分が３つの１／４ピクセル位置のうちの１つに対応するかどうかを判断し得る。特に、ビデオエンコーダ２０は、成分のフラクショナル部分が１／４ピクセル位置に対応するかどうかを判断する（２１２）。対応する場合（２１２の「ＹＥＳ」ブランチ）、ビデオエンコーダ２０は、フィルタＦ1を実行することによって生成された値に基づいてその成分からの寄与を判断する（２１４）。対応しない場合（２１２の「ＮＯ」ブランチ）、ビデオエンコーダ２０は、成分のフラクショナル部分が２／４（または１／２）ピクセル位置に対応するかどうかを判断する（２１６）。対応する場合（２１６の「ＹＥＳ」ブランチ）、ビデオエンコーダ２０は、フィルタＦ2を実行することによって生成された値に基づいてその成分からの寄与を判断する（２１８）。対応しない場合（２１６の「ＮＯ」ブランチ）、ビデオエンコーダ２０は、成分のフラクショナル部分が３／４ピクセル位置に対応するかどうかを判断する（２２０）。対応する場合（２２０の「ＹＥＳ」ブランチ）、ビデオエンコーダ２０は、フィルタＦ3を実行することによって生成された値に基づいてその成分からの寄与を判断する（２２２）。
【０１１７】
ただし、ビデオエンコーダ２０が、成分のフラクショナル部分が３つの１／４ピクセル位置のうちの１つに対応しないと判断した場合、ビデオエンコーダ２０は、成分のフラクショナル部分が４つの残りの１／８ピクセル位置のうちの１つに対応するかどうかを判断し得る。特に、ビデオエンコーダ２０は、成分のフラクショナル部分が１／８ピクセル位置に対応するかどうかを判断する（２３０）。対応する場合（２３０の「ＹＥＳ」ブランチ）、ビデオエンコーダ２０は、フルピクセル値と、フィルタＦ1を実行することによって生成された値とを平均化することによって、その成分からの寄与を判断する（２３２）。いくつかの例では、フルピクセルの交点における位置の値が前に計算されていると仮定すると、ビデオエンコーダ２０は、フルピクセル値を使用するのではなく、その交点におけるこの位置の値と、評価されているピクセル位置とを使用し得る。
【０１１８】
一方、成分のフラクショナル部分が１／８ピクセル位置に対応しない場合（２３０の「ＮＯ」ブランチ）、ビデオエンコーダ２０は、成分のフラクショナル部分が３／８ピクセル位置に対応するかどうかを判断する（２３４）。成分のフラクショナル部分が３／８ピクセル位置に対応する場合（２３４の「ＹＥＳ」ブランチ）、ビデオエンコーダ２０は、フィルタＦ1を実行することによって生成された値と、フィルタＦ2を実行することによって生成された値とを平均化することによって、その成分からの寄与を判断する（２３６）。一方、成分のフラクショナル部分が３／８ピクセル位置に対応しない場合（２３４の「ＮＯ」ブランチ）、ビデオエンコーダ２０は、成分のフラクショナル部分が５／８ピクセル位置に対応するかどうかを判断する（２３８）。成分のフラクショナル部分が５／８ピクセル位置に対応する場合（２３８の「ＹＥＳ」ブランチ）、ビデオエンコーダ２０は、フィルタＦ2を実行することによって生成された値と、フィルタＦ3を実行することによって生成された値とを平均化することによって、その成分からの寄与を判断する（２４０）。
【０１１９】
一方、成分のフラクショナル部分が５／８ピクセル位置に対応しない場合（２３８の「ＮＯ」ブランチ）、すなわち、成分のフラクショナル部分が７／８位置に対応するとき、ビデオエンコーダ２０は、フィルタＦ3を実行することによって生成された値と、次のフルピクセル位置の値とを平均化することによって、その成分からの寄与を判断する（２４２）。いくつかの例では、次のフルピクセルの交点における位置の値が前に計算されていると仮定すると、ビデオエンコーダ２０は、次のフルピクセルのフルピクセル値を使用するのではなく、その交点におけるこの位置の値と、評価されているピクセル位置とを使用し得る。
【０１２０】
図１０は、既存のアップサンプリングフィルタから、本開示の技法に従って使用されるべき補間フィルタを作成するための例示的な方法を示すフローチャートである。たとえば、図１０の方法は、クロミナンス動きベクトが１／８ピクセル精度を有し得るクロミナンスリファレンスブロックの１／４ピクセル位置に関連するフィルタＦ1、Ｆ2、およびＦ3を設計するために使用され得る。ビデオエンコーダ２０に関して説明したが、他の処理ユニットも図１０の方法を実行し得る。一例では、ビデオエンコーダ２０がこの方法を実行する場合、ビデオエンコーダ２０は、各フィルタの係数を符号化し、ビデオデコーダ３０に送信し得る。既存のアップサンプリングフィルタは、既知のピクセルに適用されるときに、その既知のピクセルの値を生成すべきである。
【０１２１】
初めに、ビデオエンコーダ２０は既存のフィルタを受信する（２５０）。補間フィルタは、概して「タップ」とも呼ばれるいくつかの係数を有する。ビデオエンコーダ２０は、既存のフィルタのタップの数を判断する（２５２）。タップの数は（２Ｍ＋１）によって表され、タップは０を中心とし、Ｍは非負整数である。次いで、ビデオエンコーダ２０は（非負整数Ｎとして表される）アップサンプリングファクタを判断する（２５４）。たとえば、既存のフィルタからフィルタＦ1、Ｆ2、およびＦ3を生成するために、アップサンプリングファクタ（Ｎ）は４である。概して、アップサンプリングファクタは、生成されるべきフィルタが関連する位置の数＋１を指し得る。
【０１２２】
次いで、ビデオエンコーダ２０は、フラクショナルピクセル位置の各々について既存のフィルタのタップのサブセットを選択する（２５６）。特に、ｉを、既存のフィルタの特定の係数を指すものとする。すなわち、既存のフィルタｈは、ｉが範囲［−Ｍ，Ｍ］を有するような係数−Ｍ〜Ｍを含む。次いで、フラクショナルピクセル位置ｘについて、（ｉ＋ｘ）％Ｎ＝０である場合、フィルタからのｉに対する係数は、位置ｘのための作成されたフィルタ中に含まれる。モジュロ演算子％がＡ％Ｂ＝Ｒと定義され得る、ここで、ＡおよびＢは整数値であり、Ｒは、ある整数値Ｃについて、Ａ＊Ｃ＋Ｒ＝Ｂとなるような、Ｂよりも小さい非負整数値であることに留意されたい。したがって、Ａ％Ｂは、−Ａ％Ｂとは異なる残余Ｒ値を生成し得る。
【０１２３】
一例として、１／４、２／４（またはハーフ）、および３／４ピクセル位置にそれぞれ関連する３つのフィルタを作成するために、既存のアップサンプリングフィルタｈは、２３個の係数、たとえば、Ｍ＝１１を有し得る、そして、アップサンプリングファクタは４であり得る。その場合、位置ｘ＝１に関連する（１／４ピクセル位置に対応する）フィルタの係数のセットは｛ｈ［−９］，ｈ［−５］，ｈ［−１］，ｈ［３］，ｈ［７］，ｈ［１１］｝を含み得る。位置ｘ＝２に関連する（２／４ピクセル位置に対応する）フィルタの係数のセットは｛ｈ［−１０］，ｈ［−６］，ｈ［−２］，ｈ［２］，ｈ［６］，ｈ［１０］｝を含み得る、そして、位置ｘ＝３に関連する（２／４ピクセル位置に対応する）フィルタの係数のセットは｛ｈ［−１１］，ｈ［−７］，ｈ［−３］，ｈ［１］，ｈ［５］，ｈ［９］｝を含み得る。
【０１２４】
１つまたは複数の例では、説明した機能はハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装した場合、その機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従ってある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体など、有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である（non-transitory）有形コンピュータ可読記憶媒体、または（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明する技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータまたは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【０１２５】
いくつかの例では、上記の例示的な方法によって生成されたフィルタはさらに改良され得る。たとえば、各フィルタについて、係数が１まで加算することが保証され得る。これは、補間値のためにＤＣバイアスを導入することを回避し得る。別の例として、元の低域フィルタｈ［ｎ］の場合、ｈ［０］＝１およびｈ［Ｎ＊ｎ］＝０であることが保証され得る、ただし、ｎは０に等しくない。これは、フィルタ処理するときに、ｘ［ｎ］の元のサンプルに影響を及ぼすことを回避し得る。
【０１２６】
実装目的のために、フィルタ係数は、すべての係数が、２の累乗である公分母を有する場合、分数として表され得る。たとえば、公分母は３２であり得る。フィルタを実行するとき、フィルタ係数は、公分母（たとえば、３２）で乗算され、最も近い整数に四捨五入され得る。フィルタ係数が公分母、たとえば、３２まで加算することを保証するために、±１のさらなる調整が行われ得る。
【０１２７】
本明細書で開示する実施形態では、「マクロブロック」の符号化に関して説明したが、本明細書で説明したシステムおよび方法は、ビデオデータの単位を定義するピクセルの好適な区分に適用されることを認識されたい。特に、「ブロック」という用語は、処理およびコーディングのための単位へのビデオデータの任意の好適な区分を指すことができる。
【０１２８】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非過渡、非一時的、有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイ（登録商標）ディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１２９】
命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に提供され得る、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１３０】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実施され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明したように１つまたは複数のプロセッサを含んで、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０１３１】
様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
なお、本願の出願当初の請求項と同一の記載を以下に付記する。
［Ｃ１］  ビデオデータをコーディングする方法であって、前記方法は、
ビデオデータのクロミナンスブロックに対応するビデオデータのルミナンスブロックのためのルミナンス動きベクトルに基づいて、前記クロミナンスブロックのためのクロミナンス動きベクトルを判断することであって、前記クロミナンス動きベクトルが、第１のフラクショナル部分を有する水平成分と、第２のフラクショナル部分を有する垂直成分とを備え、前記ルミナンス動きベクトルが第１の精度を有し、前記クロミナンス動きベクトルが前記第１の精度以上の第２の精度を有する、判断することと、
前記水平成分の前記第１のフラクショナル部分と前記垂直成分の前記第２のフラクショナル部分とに基づいて補間フィルタを選択することであって、前記補間フィルタを選択することが、補間フィルタのセットから前記補間フィルタを選択することを備え、補間フィルタの前記セットの各々が、前記ルミナンス動きベクトルの複数の可能なフラクショナルピクセル位置のうちの１つに対応する、選択することと、
前記選択された補間フィルタを使用して前記クロミナンス動きベクトルによって識別されるリファレンスブロックの値を補間することと、
前記リファレンスブロックを使用して前記クロミナンスブロックを処理することと
を備える、方法。
［Ｃ２］  前記ルミナンス動きベクトルが１／４ピクセル精度を有し、前記クロミナンス動きベクトルが１／８ピクセル精度を有する、Ｃ１に記載の方法。
［Ｃ３］  前記ルミナンス動きベクトルが１／８ピクセル精度を有し、前記クロミナンス動きベクトルが、１／１６ピクセル精度の動きベクトルを切り捨てた後に１／８ピクセル精度を有する、Ｃ１に記載の方法。
［Ｃ４］  前記補間フィルタを選択することは、前記第１のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得るとき、前記第１のフラクショナル部分に対応するフラクショナルピクセル位置に関連する補間フィルタを選択することを備える、Ｃ１に記載の方法。
［Ｃ５］  前記補間フィルタを選択することは、前記第１のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得ないが、前記第２の精度を有する動きベクトルによって表され得るとき、前記第１のフラクショナル部分に対応するフラクショナルピクセル位置に隣接するフラクショナルピクセル位置に関連する少なくとも１つの補間フィルタを選択することを備える、Ｃ１に記載の方法。
［Ｃ６］  前記補間フィルタを選択することは、
前記第１のフラクショナル部分によって識別される参照フラクショナルピクセル位置を識別することと、
第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左のフラクショナルピクセル位置に関連するとき、前記第１の補間フィルタを選択することと、
第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右のフラクショナルピクセル位置に関連するとき、前記第２の補間フィルタを選択することと
を備える、Ｃ１に記載の方法。
［Ｃ７］  前記リファレンスブロックの値を補間することは、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置に関連するとき、および前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置に関連するとき、前記第１の補間フィルタによって生成された値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための水平方向寄与値を平均化することと、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置がフルピクセル位置と垂直方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ左のフラクショナルピクセル位置の値と、前記第１の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記水平方向寄与値を平均化することと、
前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置が右隣接のフルピクセル位置と垂直方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ右のフラクショナルピクセル位置の値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記水平方向寄与値を平均化することと
を備える、Ｃ６に記載の方法。
［Ｃ８］  前記水平方向寄与値を平均化した後にのみ、丸め演算を実行することをさらに備える、Ｃ７に記載の方法。
［Ｃ９］  前記補間フィルタを選択することは、前記第２のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得るとき、前記第２のフラクショナル部分に対応するフラクショナルピクセル位置に関連する補間フィルタを選択することを備える、Ｃ１に記載の方法。
［Ｃ１０］  前記補間フィルタを選択することは、前記第２のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得ないが、前記第２の精度を有する動きベクトルによって表され得るとき、前記第２のフラクショナル部分に対応するフラクショナルピクセル位置に隣接するフラクショナルピクセル位置に関連する少なくとも１つの補間フィルタを選択することを備える、Ｃ１に記載の方法。
［Ｃ１１］  前記補間フィルタを選択することは、
前記第２のフラクショナル部分によって識別される参照フラクショナルピクセル位置を識別することと、
第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上のフラクショナルピクセル位置に関連するとき、前記第１の補間フィルタを選択することと、
第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下のフラクショナルピクセル位置に関連するとき、前記第２の補間フィルタを選択することと
を備える、Ｃ１に記載の方法。
［Ｃ１２］  前記リファレンスブロックの値を補間することは、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置に関連するとき、および前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置に関連するとき、前記第１の補間フィルタによって生成された値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための垂直方向寄与値を平均化することと、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置がフルピクセル位置と水平方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ上のフラクショナルピクセル位置の値と、前記第１の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記垂直方向寄与値を平均化することと、
前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置が下隣接のフルピクセル位置と水平方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ下のフラクショナルピクセル位置の値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記垂直方向寄与値を平均化することと
を備える、Ｃ１１に記載の方法。
［Ｃ１３］  前記垂直方向寄与値を平均化した後にのみ、丸め演算を実行することをさらに備える、Ｃ１２に記載の方法。
［Ｃ１４］  前記補間フィルタの各々が、前記第１の精度を有する動きベクトルによって参照され得るフラクショナルピクセル位置に関連するように、既存のアップサンプリングフィルタから補間フィルタの前記セットを生成することをさらに備える、Ｃ１に記載の方法。
［Ｃ１５］  前記クロミナンス動きベクトルを判断することが、前記クロミナンスブロックと前記ルミナンスブロックとを備えるマクロブロックを符号化するために、前記ルミナンス動きベクトルを計算することを備え、
前記クロミナンスブロックを処理することが、
前記クロミナンスブロックと前記リファレンスブロックとの間の差に基づいて前記クロミナンスブロックのための残差クロミナンス値を計算することと、
前記残差クロミナンス値を出力することと
を備える、Ｃ１に記載の方法。
［Ｃ１６］  前記クロミナンス動きベクトルを判断することが、前記クロミナンスブロックと前記ルミナンスブロックとを備える符号化されたマクロブロックのための前記ルミナンス動きベクトルを復号することを備え、
前記クロミナンスブロックを処理することが、
前記クロミナンスブロックのための残差クロミナンス値を復号することと、
前記リファレンスブロックと前記復号された残差クロミナンス値とを使用して前記クロミナンスブロックを復号することと
を備える、Ｃ１に記載の方法。
［Ｃ１７］  ビデオデータをコーディングするための装置であって、前記装置は、
ビデオデータのクロミナンスブロックに対応するビデオデータのルミナンスブロックのためのルミナンス動きベクトルに基づいて、前記クロミナンスブロックのためのクロミナンス動きベクトルを判断することであって、前記クロミナンス動きベクトルが、第１のフラクショナル部分を有する水平成分と、第２のフラクショナル部分を有する垂直成分とを備え、前記ルミナンス動きベクトルが第１の精度を有し、前記クロミナンス動きベクトルが前記第１の精度以上の第２の精度を有する、判断することと、
前記水平成分の前記第１のフラクショナル部分と前記垂直成分の前記第２のフラクショナル部分とに基づいて補間フィルタを選択することであって、前記補間フィルタを選択することが、補間フィルタのセットから前記補間フィルタを選択することを備え、補間フィルタの前記セットの各々が、前記ルミナンス動きベクトルの複数の可能なフラクショナルピクセル位置のうちの１つに対応する、選択することと、
前記選択された補間フィルタを使用して前記クロミナンス動きベクトルによって識別されるリファレンスブロックの値を補間することと、
前記リファレンスブロックを使用して前記クロミナンスブロックを処理することと
を行うように構成されたビデオコーディングユニットを備える、装置。
［Ｃ１８］  前記ルミナンス動きベクトルが１／４ピクセル精度を有し、前記クロミナンス動きベクトルが１／８ピクセル精度を有する、Ｃ１７に記載の装置。
［Ｃ１９］  前記補間フィルタを選択するために、前記ビデオコーディングユニットは、前記第１のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得るとき、前記第１のフラクショナル部分に対応するフラクショナルピクセル位置に関連する補間フィルタを選択するように構成された、Ｃ１７に記載の装置。
［Ｃ２０］  前記補間フィルタを選択するために、前記ビデオコーディングユニットは、前記第１のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得ないが、前記第２の精度を有する動きベクトルによって表され得るとき、前記第１のフラクショナル部分に対応するフラクショナルピクセル位置に隣接するフラクショナルピクセル位置に関連する少なくとも１つの補間フィルタを選択するように構成された、Ｃ１７に記載の装置。
［Ｃ２１］  前記補間フィルタを選択するために、前記ビデオコーディングユニットは、
前記第１のフラクショナル部分によって識別される参照フラクショナルピクセル位置を識別することと、
第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左のフラクショナルピクセル位置に関連するとき、前記第１の補間フィルタを選択することと、
第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右のフラクショナルピクセル位置に関連するとき、前記第２の補間フィルタを選択することと
を行うように構成された、Ｃ１７に記載の装置。
［Ｃ２２］  前記リファレンスブロックの値を補間するために、前記ビデオコーディングユニットは、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置に関連するとき、および前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置に関連するとき、前記第１の補間フィルタによって生成された値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための水平方向寄与値を平均化することと、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置がフルピクセル位置と垂直方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ左のフラクショナルピクセル位置の値と、前記第１の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記水平方向寄与値を平均化することと、
前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置が右隣接のフルピクセル位置と垂直方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ右のフラクショナルピクセル位置の値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記水平方向寄与値を平均化することと
を行うように構成された、Ｃ２１に記載の装置。
［Ｃ２３］  前記補間フィルタを選択するために、前記ビデオコーディングユニットは、前記第２のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得るとき、前記第２のフラクショナル部分に対応するフラクショナルピクセル位置に関連する補間フィルタを選択するように構成された、Ｃ１７に記載の装置。
［Ｃ２４］  前記補間フィルタを選択するために、前記ビデオコーディングユニットは、前記第２のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得ないが、前記第２の精度を有する動きベクトルによって表され得るとき、前記第２のフラクショナル部分に対応するフラクショナルピクセル位置に隣接するフラクショナルピクセル位置に関連する少なくとも１つの補間フィルタを選択するように構成された、Ｃ１７に記載の装置。
［Ｃ２５］  前記補間フィルタを選択するために、前記ビデオコーディングユニットは、
前記第２のフラクショナル部分によって識別される参照フラクショナルピクセル位置を識別することと、
第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上のフラクショナルピクセル位置に関連するとき、前記第１の補間フィルタを選択することと、
第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下のフラクショナルピクセル位置に関連するとき、前記第２の補間フィルタを選択することと
を行うように構成された、Ｃ１７に記載の装置。
［Ｃ２６］  前記リファレンスブロックの値を補間するために、前記ビデオコーディングユニットは、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置に関連するとき、および前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置に関連するとき、前記第１の補間フィルタによって生成された値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための垂直方向寄与値を平均化することと、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置がフルピクセル位置と水平方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ上のフラクショナルピクセル位置の値と、前記第１の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記垂直方向寄与値を平均化することと、
前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置が下隣接のフルピクセル位置と水平方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ下のフラクショナルピクセル位置の値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記垂直方向寄与値を平均化することと
を行うように構成された、Ｃ２５に記載の装置。
［Ｃ２７］  前記ビデオコーディングユニットは、前記補間フィルタの各々が、前記第１の精度を有する動きベクトルによって参照され得るフラクショナルピクセル位置に関連するように、既存のアップサンプリングフィルタから補間フィルタの前記セットを生成するように構成された、Ｃ１７に記載の装置。
［Ｃ２８］  前記クロミナンスブロックを処理するために、前記ビデオコーディングユニットが、
前記クロミナンスブロックと前記リファレンスブロックとの間の差に基づいて前記クロミナンスブロックのための残差クロミナンス値を計算することと、
前記残差クロミナンス値を出力することと
を行うように構成された、Ｃ１７に記載の装置。
［Ｃ２９］  前記クロミナンスブロックを処理するために、前記ビデオコーディングユニットが、
前記リファレンスブロックと受信残差クロミナンス値とから前記クロミナンスブロックを再構成する
ように構成された、Ｃ１７に記載の装置。
［Ｃ３０］  ビデオデータをコーディングするための装置であって、前記装置は、
ビデオデータのクロミナンスブロックに対応するビデオデータのルミナンスブロックのためのルミナンス動きベクトルに基づいて、前記クロミナンスブロックのためのクロミナンス動きベクトルを判断するための手段であって、前記クロミナンス動きベクトルが、第１のフラクショナル部分を有する水平成分と、第２のフラクショナル部分を有する垂直成分とを備え、前記ルミナンス動きベクトルが第１の精度を有し、前記クロミナンス動きベクトルが前記第１の精度以上の第２の精度を有する、判断するための手段と、
前記水平成分の前記第１のフラクショナル部分と前記垂直成分の前記第２のフラクショナル部分とに基づいて補間フィルタを選択するための手段であって、前記補間フィルタを選択することが、補間フィルタのセットから前記補間フィルタを選択することを備え、補間フィルタの前記セットの各々が、前記ルミナンス動きベクトルの複数の可能なフラクショナルピクセル位置のうちの１つに対応する、選択するための手段と、
前記選択された補間フィルタを使用して前記クロミナンス動きベクトルによって識別されるリファレンスブロックの値を補間するための手段と、
前記リファレンスブロックを使用して前記クロミナンスブロックを処理するための手段と
を備える、装置。
［Ｃ３１］  前記ルミナンス動きベクトルが１／４ピクセル精度を有し、前記クロミナンス動きベクトルが１／８ピクセル精度を有する、Ｃ３０に記載の装置。
［Ｃ３２］  前記補間フィルタを選択するための前記手段は、前記第１のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得るとき、前記第１のフラクショナル部分に対応するフラクショナルピクセル位置に関連する補間フィルタを選択するための手段を備える、Ｃ３０に記載の装置。
［Ｃ３３］  前記補間フィルタを選択するための前記手段は、前記第１のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得ないが、前記第２の精度を有する動きベクトルによって表され得るとき、前記第１のフラクショナル部分に対応するフラクショナルピクセル位置に隣接するフラクショナルピクセル位置に関連する少なくとも１つの補間フィルタを選択するための手段を備える、Ｃ３０に記載の装置。
［Ｃ３４］  前記補間フィルタを選択するための前記手段は、
前記第１のフラクショナル部分によって識別される参照フラクショナルピクセル位置を識別するための手段と、
第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左のフラクショナルピクセル位置に関連するとき、前記第１の補間フィルタを選択するための手段と、
第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右のフラクショナルピクセル位置に関連するとき、前記第２の補間フィルタを選択するための手段と
を備える、Ｃ３０に記載の装置。
［Ｃ３５］  前記リファレンスブロックの値を補間するための前記手段は、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置に関連するとき、および前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置に関連するとき、前記第１の補間フィルタによって生成された値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための水平方向寄与値を平均化するための手段と、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置がフルピクセル位置と垂直方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ左のフラクショナルピクセル位置の値と、前記第１の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記水平方向寄与値を平均化するための手段と、
前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置が右隣接のフルピクセル位置と垂直方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ右のフラクショナルピクセル位置の値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記水平方向寄与値を平均化するための手段と
を備える、Ｃ３４に記載の装置。
［Ｃ３６］  前記補間フィルタを選択するための前記手段は、前記第２のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得るとき、前記第２のフラクショナル部分に対応するフラクショナルピクセル位置に関連する補間フィルタを選択するための手段を備える、Ｃ３０に記載の装置。
［Ｃ３７］  前記補間フィルタを選択するための前記手段は、前記第２のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得ないが、前記第２の精度を有する動きベクトルによって表され得るとき、前記第２のフラクショナル部分に対応するフラクショナルピクセル位置に隣接するフラクショナルピクセル位置に関連する少なくとも１つの補間フィルタを選択するための手段を備える、Ｃ３０に記載の装置。
［Ｃ３８］  前記補間フィルタを選択するための前記手段は、
前記第２のフラクショナル部分によって識別される参照フラクショナルピクセル位置を識別するための手段と、
第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上のフラクショナルピクセル位置に関連するとき、前記第１の補間フィルタを選択するための手段と、
第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下のフラクショナルピクセル位置に関連するとき、前記第２の補間フィルタを選択するための手段と
を備える、Ｃ３０に記載の装置。
［Ｃ３９］  前記リファレンスブロックの値を補間するための前記手段は、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置に関連するとき、および前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置に関連するとき、前記第１の補間フィルタによって生成された値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための垂直方向寄与値を平均化するための手段と、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置がフルピクセル位置と水平方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ上のフラクショナルピクセル位置の値と、前記第１の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記垂直方向寄与値を平均化するための手段と、
前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置が下隣接のフルピクセル位置と水平方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ下のフラクショナルピクセル位置の値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記垂直方向寄与値を平均化するための手段と
を備える、Ｃ３８に記載の装置。
［Ｃ４０］  前記補間フィルタの各々が、前記第１の精度を有する動きベクトルによって参照され得るフラクショナルピクセル位置に関連するように、既存のアップサンプリングフィルタから補間フィルタの前記セットを生成するための手段をさらに備える、Ｃ３０に記載の装置。
［Ｃ４１］  前記クロミナンスブロックを処理するための前記手段が、
前記クロミナンスブロックと前記リファレンスブロックとの間の差に基づいて前記クロミナンスブロックのための残差クロミナンス値を計算するための手段と、
前記残差クロミナンス値を出力するための手段と
を備える、Ｃ３０に記載の装置。
［Ｃ４２］  前記クロミナンスブロックを処理するための前記手段が、
前記リファレンスブロックと受信残差クロミナンス値とから前記クロミナンスブロックを再構成するための手段
を備える、Ｃ３０に記載の装置。
［Ｃ４３］  実行されると、
ビデオデータのクロミナンスブロックに対応するビデオデータのルミナンスブロックのためのルミナンス動きベクトルに基づいて、前記クロミナンスブロックのためのクロミナンス動きベクトルを判断することであって、前記クロミナンス動きベクトルが、第１のフラクショナル部分を有する水平成分と、第２のフラクショナル部分を有する垂直成分とを備え、前記ルミナンス動きベクトルが第１の精度を有し、前記クロミナンス動きベクトルが前記第１の精度以上の第２の精度を有する、判断することと、
前記水平成分の前記第１のフラクショナル部分と前記垂直成分の前記第２のフラクショナル部分とに基づいて補間フィルタを選択することであって、前記補間フィルタを選択することが、補間フィルタのセットから前記補間フィルタを選択することを備え、補間フィルタの前記セットの各々が、前記ルミナンス動きベクトルの複数の可能なフラクショナルピクセル位置のうちの１つに対応する、選択することと、
前記選択された補間フィルタを使用して前記クロミナンス動きベクトルによって識別されるリファレンスブロックの値を補間することと、
前記リファレンスブロックを使用して前記クロミナンスブロックを処理することと
をプロセッサに行わせる命令を記憶したコンピュータ可読媒体を備えるコンピュータプログラム製品。
［Ｃ４４］  前記ルミナンス動きベクトルが１／４ピクセル精度を有し、前記クロミナンス動きベクトルが１／８ピクセル精度を有する、Ｃ４３に記載のコンピュータプログラム製品。
［Ｃ４５］  前記補間フィルタを選択することを前記プロセッサに行わせる前記命令は、前記第１の
フラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得るとき、
前記第１のフラクショナル部分に対応するフラクショナルピクセル位置に関連する補間フ
ィルタを選択することを前記プロセッサに行わせる命令を備える、Ｃ４３に記載のコ
ンピュータプログラム製品。
［Ｃ４６］  前記補間フィルタを選択することを前記プロセッサに行わせる前記命令は、前記第１のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得ないが、前記第２の精度を有する動きベクトルによって表され得るとき、前記第１のフラクショナル部分に対応するフラクショナルピクセル位置に隣接するフラクショナルピクセル位置に関連する少なくとも１つの補間フィルタを選択することを前記プロセッサに行わせる命令を備える、Ｃ４３に記載のコンピュータプログラム製品。
［Ｃ４７］  前記補間フィルタを選択することを前記プロセッサに行わせる前記命令は、
前記第１のフラクショナル部分によって識別される参照フラクショナルピクセル位置を識別することと、
第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左のフラクショナルピクセル位置に関連するとき、前記第１の補間フィルタを選択することと、
第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右のフラクショナルピクセル位置に関連するとき、前記第２の補間フィルタを選択することと
を前記プロセッサに行わせる命令を備える、Ｃ４３に記載のコンピュータプログラム製品。
［Ｃ４８］  前記リファレンスブロックの値を補間することを前記プロセッサに行わせる前記命令は、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置に関連するとき、および前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置に関連するとき、前記第１の補間フィルタによって生成された値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための水平方向寄与値を平均化することと、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置がフルピクセル位置と垂直方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ左のフラクショナルピクセル位置の値と、前記第１の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記水平方向寄与値を平均化することと、
前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ左の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ右の前記フラクショナルピクセル位置が右隣接のフルピクセル位置と垂直方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ右のフラクショナルピクセル位置の値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記水平方向寄与値を平均化することと
を前記プロセッサに行わせる命令を備える、Ｃ４７に記載のコンピュータプログラム製品。
［Ｃ４９］  前記補間フィルタを選択することを前記プロセッサに行わせる前記命令は、前記第２のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得るとき、前記第２のフラクショナル部分に対応するフラクショナルピクセル位置に関連する補間フィルタを選択することを前記プロセッサに行わせる命令を備える、Ｃ４３に記載のコンピュータプログラム製品。
［Ｃ５０］  前記補間フィルタを選択することを前記プロセッサに行わせる前記命令は、前記第２のフラクショナル部分が、前記第１の精度を有する動きベクトルによって表され得ないが、前記第２の精度を有する動きベクトルによって表され得るとき、前記第２のフラクショナル部分に対応するフラクショナルピクセル位置に隣接するフラクショナルピクセル位置に関連する少なくとも１つの補間フィルタを選択することを前記プロセッサに行わせる命令を備える、Ｃ４３に記載のコンピュータプログラム製品。
［Ｃ５１］  前記補間フィルタを選択することを前記プロセッサに行わせる前記命令は、
前記第２のフラクショナル部分によって識別される参照フラクショナルピクセル位置を識別することと、
第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上のフラクショナルピクセル位置に関連するとき、前記第１の補間フィルタを選択することと、
第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下のフラクショナルピクセル位置に関連するとき、前記第２の補間フィルタを選択することと
を前記プロセッサに行わせる命令を備える、Ｃ４３に記載のコンピュータプログラム製品。
［Ｃ５２］  前記リファレンスブロックの値を補間することを前記プロセッサに行わせる前記命令は、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置に関連するとき、および前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置に関連するとき、前記第１の補間フィルタによって生成された値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための垂直方向寄与値を平均化することと、
前記第１の補間フィルタが前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置がフルピクセル位置と水平方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ上のフラクショナルピクセル位置の値と、前記第１の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記垂直方向寄与値を平均化することと、
前記第２の補間フィルタが前記参照フラクショナルピクセル位置のすぐ上の前記フラクショナルピクセル位置に関連するとき、および前記参照フラクショナルピクセル位置のすぐ下の前記フラクショナルピクセル位置が下隣接のフルピクセル位置と水平方向にコロケートされるとき、前記参照フラクショナルピクセル位置のすぐ下のフラクショナルピクセル位置の値と、前記第２の補間フィルタによって生成された値とから、前記参照フラクショナルピクセル位置のための前記垂直方向寄与値を平均化することと
を前記プロセッサに行わせる命令を備える、Ｃ５１に記載のコンピュータプログラム製品。
［Ｃ５３］  前記補間フィルタの各々が、前記第１の精度を有する動きベクトルによって参照され得るフラクショナルピクセル位置に関連するように、既存のアップサンプリングフィルタから補間フィルタの前記セットを生成することを前記プロセッサに行わせる命令をさらに備える、Ｃ４３に記載のコンピュータプログラム製品。
［Ｃ５４］  前記クロミナンスブロックを処理することを前記プロセッサに行わせる前記命令は、
前記クロミナンスブロックと前記リファレンスブロックとの間の差に基づいて前記クロミナンスブロックのための残差クロミナンス値を計算することと、
前記残差クロミナンス値を出力することと
を前記プロセッサに行わせる命令を備える、Ｃ４３に記載のコンピュータプログラム製品。
［Ｃ５５］  前記クロミナンスブロックを処理することを前記プロセッサに行わせる前記命令は、前記リファレンスブロックと受信残差クロミナンス値とから前記クロミナンスブロックを再構成することを前記プロセッサに行わせる命令を備える、Ｃ４３に記載のコンピュータプログラム製品。
【図１】
0005646654.tif 000004
【図２】
0005646654.tif 000005
【図３】
0005646654.tif 000006
【図４】
0005646654.tif 000007
【図５Ａ】
0005646654.tif 000008
【図５Ｂ】
0005646654.tif 000009
【図５Ｃ】
0005646654.tif 000010
【図６】
0005646654.tif 000011
【図７】
0005646654.tif 000012
【図８】
0005646654.tif 000013
【図９】
0005646654.tif 000014
【図１０】
0005646654.tif 000015