ビデオデータを符号化する方法であって、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して、ビデオデータの符号化単位の予測単位を符号化することと、コンテキスト適応型バイナリ算術符号化を使用して、前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定することと、前記コンテキスト適応型バイナリ算術符号化に従って、決定された前記コンテキストを使用して前記指標をエントロピー符号化することと、を備え、前記コンテキストが、前記符号化単位の深さと、前記予測単位のサイズと、前記予測単位のタイプとのうちの少なくとも1つを備える、方法。前記第1のサブ画素精度が1/4画素精度を備え、前記第2のサブ画素精度が1/8画素精度を備える、請求項1に記載の方法。前記符号化単位が2N×2N画素のサイズを有し、前記予測単位の前記タイプが、2N×2N画素と、2N×N画素と、N×2N画素と、N×N画素とのうちの1つのサイズを有する前記予測単位に対応し、Nが、0よりも大きい整数値である、請求項1に記載の方法。前記予測単位を符号化することが、前記符号化単位のルミナンスデータの前記動きベクトルを計算することを備え、前記ルミナンスデータが前記予測単位に対応し、前記動きベクトルが前記ルミナンスデータに対して1/8画素精度を有し、双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを符号化することと、を更に備える、請求項1に記載の方法。前記予測単位が第1の予測単位を備え、前記方法が、前記第1の予測単位を符号化するときに前記第1のサブ画素精度を有する第1の動きベクトル差分値を計算することと、前記第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化することと、前記ビデオデータの第2の予測単位を符号化するときに前記第2のサブ画素精度を有する第2の動きベクトル差分値を計算することと、前記第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化することと、、を更に備える、請求項1に記載の方法。前記第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化することは、前記第1の動きベクトル差分値を、前記第1の符号化方式によって定義された第1の閾値と比較することと、前記第1の動きベクトル差分値が前記第1の閾値よりも小さいときに、第1の単項コードワードを使用して前記第1の動きベクトル差分値を符号化することと、前記第1の動きベクトル差分値が前記第1の閾値よりも大きいかそれに等しいときに、第1のゴロムコードワードを使用して前記第1の動きベクトル差分値を符号化することと、を備え、前記第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化することは、前記第2の動きベクトル差分値を、前記第2の符号化方式によって定義された第2の閾値と比較することと、前記第2の動きベクトル差分値が前記第2の閾値よりも小さいときに、第2の単項コードワードを使用して前記第2の動きベクトル差分値を符号化することと、前記第2の動きベクトル差分値が前記第2の閾値よりも大きいかそれに等しいときに、第2のゴロムコードワードを使用して前記第2の動きベクトル差分値を符号化することと、を備える、請求項5に記載の方法。前記第1の動きベクトル差分符号化方式が1/4画素精度に関連し、前記第2の動きベクトル差分符号化方式が1/8画素精度に関連する、請求項5に記載の方法。前記第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化することが、前記第1の動きベクトル差分値をエントロピー符号化するために使用すべき第1のコンテキストモデルを選択することを備え、前記第1のコンテキストモデルが前記第1のサブ画素精度に関連し、前記第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化することが、前記第2の動きベクトル差分値をエントロピー符号化するために使用すべき第2のコンテキストモデルを選択することを備え、前記第2のコンテキストモデルが前記第2のサブ画素精度に関連する、請求項5に記載の方法。ビデオデータを符号化する方法であって、ルミナンスデータに対して1/8画素精度を有する動きベクトルを使用して、ビデオデータの符号化単位の前記ルミナンスデータを符号化することと、双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを符号化することと、を備える、方法。ビデオデータを符号化する方法であって、ビデオデータの第1の予測単位を符号化するときに第1のサブ画素精度を有する第1の動きベクトル差分値を計算することと、前記第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化することと、前記ビデオデータの第2の予測単位を符号化するときに第2の異なるサブ画素精度を有する第2の動きベクトル差分値を計算することと、前記第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化することと、を備える、方法。ビデオデータを符号化するための装置であって、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して、ビデオデータの符号化単位の予測単位を符号化することと、コンテキスト適応型バイナリ算術符号化を使用して、前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定することと、コンテキスト適応型バイナリ算術符号化に従って、前記決定されたコンテキストを使用して前記指標をエントロピー符号化することとを行うように構成され、前記コンテキストが、前記符号化単位の深さと、前記予測単位のサイズと、前記予測単位のタイプとのうちの少なくとも1つを備える、ビデオエンコーダを備える、装置。前記ビデオエンコーダが、前記符号化単位のルミナンスデータの前記動きベクトルを計算することを行うように構成され、前記ルミナンスデータが前記予測単位に対応し、前記動きベクトルが前記ルミナンスデータに対して1/8画素精度を有し、前記ビデオエンコーダが、双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを符号化することとを行うように構成された、請求項11に記載の装置。前記予測単位が第1の予測単位を備え、前記ビデオエンコーダが、前記第1の予測単位を符号化するときに前記第1のサブ画素精度を有する第1の動きベクトル差分値を計算することと、前記第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化することと、前記ビデオデータの第2の予測単位を符号化するときに前記第2のサブ画素精度を有する第2の動きベクトル差分値を計算することと、前記第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化することと、を行うように構成された、請求項11に記載の装置。前記第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化するために、前記ビデオエンコーダが、前記第1の動きベクトル差分値を、前記第1の符号化方式によって定義された第1の閾値と比較することと、前記第1の動きベクトル差分値が前記第1の閾値よりも小さいときに、第1の単項コードワードを使用して前記第1の動きベクトル差分値を符号化することと、前記第1の動きベクトル差分値が前記第1の閾値よりも大きいかそれに等しいときに、第1のゴロムコードワードを使用して前記第1の動きベクトル差分値を符号化することとを行うように構成され、前記第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化するために、前記ビデオエンコーダが、前記第2の動きベクトル差分値を、前記第2の符号化方式によって定義された第2の閾値と比較することと、前記第2の動きベクトル差分値が前記第2の閾値よりも小さいときに、第2の単項コードワードを使用して前記第2の動きベクトル差分値を符号化することと、前記第2の動きベクトル差分値が前記第2の閾値よりも大きいかそれに等しいときに、第2のゴロムコードワードを使用して前記第2の動きベクトル差分値を符号化することとを行うように構成された、請求項13に記載の装置。前記第1の動きベクトル差分符号化方式が1/4画素精度に関連し、前記第2の動きベクトル差分符号化方式が1/8画素精度に関連する、請求項13に記載の装置。前記第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化するために、前記ビデオエンコーダが、前記第1の動きベクトル差分値をエントロピー符号化するために使用すべき第1のコンテキストモデルを選択するように構成され、前記第1のコンテキストモデルが前記第1のサブ画素精度に関連し、前記第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化するために、前記ビデオエンコーダが、前記第2の動きベクトル差分値をエントロピー符号化するために使用すべき第2のコンテキストモデルを選択するように構成され、前記第2のコンテキストモデルが前記第2のサブ画素精度に関連する、請求項13に記載の装置。前記装置が、集積回路と、マイクロプロセッサと、前記ビデオエンコーダを含むワイヤレス通信機器と、のうちの少なくとも1つを備える、請求項11に記載の装置。ビデオデータを符号化するための装置であって、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して、ビデオデータの符号化単位の予測単位を符号化するための手段と、コンテキスト適応型バイナリ算術符号化を使用して、前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定するための手段と、前記コンテキスト適応型バイナリ算術符号化に従って、前記決定されたコンテキストを使用して前記指標をエントロピー符号化するための手段と、を備え、前記コンテキストが、前記符号化単位の深さと、前記予測単位のサイズと、前記予測単位のタイプとのうちの少なくとも1つを備える、装置。前記予測単位を符号化するための前記手段が、前記符号化単位のルミナンスデータの前記動きベクトルを計算するための手段を備え、前記ルミナンスデータが前記予測単位に対応し、前記動きベクトルが前記ルミナンスデータに対して1/8画素精度を有し、双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算するための手段と、前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを符号化するための手段と、を更に備える、請求項18に記載の装置。前記予測単位が第1の予測単位を備え、前記第1の予測単位を符号化するときに前記第1のサブ画素精度を有する第1の動きベクトル差分値を計算するための手段と、、前記第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化するための手段と、前記ビデオデータの第2の予測単位を符号化するときに前記第2のサブ画素精度を有する第2の動きベクトル差分値を計算するための手段と、前記第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化するための手段と、を更に備える、請求項18に記載の装置。前記第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化するための前記手段は、前記第1の動きベクトル差分値を、前記第1の符号化方式によって定義された第1の閾値と比較するための手段と、前記第1の動きベクトル差分値が前記第1の閾値よりも小さいときに、第1の単項コードワードを使用して前記第1の動きベクトル差分値を符号化するための手段と、前記第1の動きベクトル差分値が前記第1の閾値よりも大きいかそれに等しいときに、第1のゴロムコードワードを使用して前記第1の動きベクトル差分値を符号化するための手段と、を備え、前記第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化するための前記手段は、前記第2の動きベクトル差分値を、前記第2の符号化方式によって定義された第2の閾値と比較するための手段と、前記第2の動きベクトル差分値が前記第2の閾値よりも小さいときに、第2の単項コードワードを使用して前記第2の動きベクトル差分値を符号化するための手段と、前記第2の動きベクトル差分値が前記第2の閾値よりも大きいかそれに等しいときに、第2のゴロムコードワードを使用して前記第2の動きベクトル差分値を符号化するための手段と、を備える、請求項20に記載の装置。前記第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化するための前記手段が、前記第1の動きベクトル差分値をエントロピー符号化するために使用すべき第1のコンテキストモデルを選択するための手段を備え、前記第1のコンテキストモデルが前記第1のサブ画素精度に関連し、前記第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化するための前記手段が、前記第2の動きベクトル差分値をエントロピー符号化するために使用すべき第2のコンテキストモデルを選択するための手段を備え、前記第2のコンテキストモデルが前記第2のサブ画素精度に関連する、請求項20に記載の装置。実行されたとき、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して、ビデオデータの符号化単位の予測単位を符号化することと、コンテキスト適応型バイナリ算術符号化を使用して、前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定することと、コンテキスト適応型バイナリ算術符号化に従って、前記決定されたコンテキストを使用して前記指標をエントロピー符号化することと、を、ビデオデータを符号化するための機器のプロセッサに行わせる命令を記憶し、前記コンテキストが、前記符号化単位の深さと、前記予測単位のサイズと、前記予測単位のタイプとのうちの少なくとも1つを備える、コンピュータ可読記憶媒体を備えるコンピュータプログラム製品。前記予測単位を符号化することを前記プロセッサに行わせる前記命令が、前記符号化単位のルミナンスデータの前記動きベクトルを計算することを前記プロセッサに行わせる命令を備え、前記ルミナンスデータが前記予測単位に対応し、前記動きベクトルが前記ルミナンスデータに対して1/8画素精度を有し、双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを符号化することと、を前記プロセッサに行わせる命令を更に備える、請求項23に記載のコンピュータプログラム製品。前記予測単位が第1の予測単位を備え、前記第1の予測単位を符号化するときに前記第1のサブ画素精度を有する第1の動きベクトル差分値を計算することと、前記第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化することと、前記ビデオデータの第2の予測単位を符号化するときに前記第2のサブ画素精度を有する第2の動きベクトル差分値を計算することと、前記第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化することと、を前記プロセッサに行わせる命令を更に備える、請求項23に記載のコンピュータプログラム製品。前記第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化することを前記プロセッサに行わせる前記命令は、前記第1の動きベクトル差分値を、前記第1の符号化方式によって定義された第1の閾値と比較することと、前記第1の動きベクトル差分値が前記第1の閾値未満のときに、第1の単項コードワードを使用して前記第1の動きベクトル差分値を符号化することと、前記第1の動きベクトル差分値が前記第1の閾値以上のときに、第1のゴロムコードワードを使用して前記第1の動きベクトル差分値を符号化することと、を前記プロセッサに行わせる命令を備え、前記第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化することを前記プロセッサに行わせる前記命令は、前記第2の動きベクトル差分値を、前記第2の符号化方式によって定義された第2の閾値と比較することと、前記第2の動きベクトル差分値が前記第2の閾値未満のときに、第2の単項コードワードを使用して前記第2の動きベクトル差分値を符号化することと、前記第2の動きベクトル差分値が前記第2の閾値以上のときに、第2のゴロムコードワードを使用して前記第2の動きベクトル差分値を符号化することと、を前記プロセッサに行わせる命令を備える、請求項25に記載のコンピュータプログラム製品。前記第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を符号化することを前記プロセッサに行わせる前記命令が、前記第1の動きベクトル差分値をエントロピー符号化するために使用すべき第1のコンテキストモデルを選択することを前記プロセッサに行わせる命令を備え、前記第1のコンテキストモデルが前記第1のサブ画素精度に関連し、前記第2の動きベクトル差分符号化方式を使用して前記第2の動きベクトル差分値を符号化することを前記プロセッサに行わせる前記命令が、前記第2の動きベクトル差分値をエントロピー符号化するために使用すべき第2のコンテキストモデルを選択することを前記プロセッサに行わせる命令を備え、前記第2のコンテキストモデルが前記第2のサブ画素精度に関連する、請求項25に記載のコンピュータプログラム製品。ビデオデータを復号する方法であって、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信することと、前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信することと、前記指標を復号するためのコンテキストを決定することと、コンテキスト適応型バイナリ算術符号化に従って、前記決定されたコンテキストを使用して前記指標をエントロピー復号することと、を備え、前記コンテキストが、前記符号化単位の深さと、前記予測単位のサイズと、前記予測単位のタイプとのうちの少なくとも1つを備える、方法。前記第1のサブ画素精度が1/4画素精度を備え、前記第2のサブ画素精度が1/8画素精度を備える、請求項28に記載の方法。前記符号化単位が2N×2N画素のサイズを有し、前記予測単位の前記タイプが、2N×2N画素と、2N×N画素と、N×2N画素と、N×N画素とのうちの1つのサイズを有する前記予測単位に対応し、Nが、0よりも大きい整数値である、請求項28に記載の方法。前記指標は、前記動きベクトルが前記符号化単位のルミナンスデータに対して1/8画素精度を有することを示し、前記ルミナンスデータが前記予測単位に対応し、前記方法が、双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを復号することと、を更に備える、請求項28に記載の方法。前記予測単位が第1の予測単位を備え、前記第1の予測単位の第1の動きベクトル差分値を受信することと、前記第1のサブ画素精度に関連する第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号することと、前記ビデオデータの第2の予測単位の第2の動きベクトル差分値を受信することと、前記第2のサブ画素精度に関連する第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号することと、を更に備え、前記第1の動きベクトル差分値が前記第1のサブ画素精度を有し、前記第2の動きベクトル差分値が前記第2のサブ画素精度を有する、請求項28に記載の方法。前記第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号することは、前記第1の動きベクトル差分値を表す第1のコードワードを受信することと、前記第1の動きベクトル差分値が前記第1の動きベクトル差分復号方式の第1の閾値未満かどうかを決定することと、前記第1の動きベクトル差分値が前記第1の閾値未満のときに、前記第1のコードワードを第1の単項コードワードとして復号することと、前記第1の動きベクトル差分値が前記第1の閾値以上のときに、前記第1のコードワードを第1のゴロムコードワードとして復号することと、を備え、前記第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号することは、前記第2の動きベクトル差分値を表す第2のコードワードを受信することと、前記第2の動きベクトル差分値が前記第2の動きベクトル差分復号方式の第2の閾値未満かどうかを決定することと、前記第2の動きベクトル差分値が前記第1の閾値未満のときに、前記第2のコードワードを第2の単項コードワードとして復号することと、前記第2の動きベクトル差分値が前記第1の閾値以上のときに、前記第2のコードワードを第2のゴロムコードワードとして復号することと、を備える、請求項32に記載の方法。前記第1の動きベクトル差分値が前記第1の動きベクトル差分復号方式の前記第1の閾値未満かどうかを決定することは、前記第1の動きベクトル差分値が前記第1の閾値未満かどうかを示す情報を受信することを備え、前記第2の動きベクトル差分値が前記第2の動きベクトル差分復号方式の前記第2の閾値未満かどうかを決定することは、前記第2の動きベクトル差分値が前記第2の閾値未満かどうかを示す情報を受信することを備える、請求項33に記載の方法。前記第1の動きベクトル差分復号方式が1/4画素精度に関連し、前記第2の動きベクトル差分復号方式が1/8画素精度に関連する、請求項32に記載の方法。前記第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号することが、前記第1の動きベクトル差分値をエントロピー復号するために使用すべき第1のコンテキストモデルを選択することを備え、前記第1のコンテキストモデルが前記第1のサブ画素精度に関連し、前記第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号することが、前記第2の動きベクトル差分値をエントロピー復号するために使用すべき第2のコンテキストモデルを選択することを備え、前記第2のコンテキストモデルが前記第2のサブ画素精度に関連する、請求項32に記載の方法。ビデオデータを復号する方法であって、ビデオデータの符号化単位のルミナンスデータに対して1/8画素精度を有する動きベクトルを受信することと、双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを復号することと、を備える、方法。ビデオデータを復号する方法であって、ビデオデータの第1の予測単位の第1の動きベクトル差分値を受信することと、前記第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して前記第1の動きベクトル差分値を復号することと、前記ビデオデータの第2の予測単位の第2の動きベクトル差分値を受信することと、受信することと、前記第2のサブ画素精度に関連する第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号することと、を備え、前記第1の動きベクトル差分値が第1のサブ画素精度を有し、前記第2の動きベクトル差分値が第2の異なるサブ画素精度を有する、方法。ビデオデータを復号するための装置であって、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信することと、前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信することと、前記指標を復号するためのコンテキストを決定することと、コンテキスト適応型バイナリ算術符号化に従って、前記決定されたコンテキストを使用して前記指標をエントロピー復号することとを行うように構成され、前記コンテキストが、前記符号化単位の深さと、前記予測単位のサイズと、前記予測単位のタイプとのうちの少なくとも1つを備える、ビデオデコーダを備える、装置。前記指標は、前記動きベクトルが前記符号化単位のルミナンスデータに対して1/8画素精度を有することを示し、前記ルミナンスデータが前記予測単位に対応し、前記ビデオデコーダが、双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを復号することとを行うように更に構成された、請求項39に記載の装置。前記予測単位が第1の予測単位を備え、前記ビデオデコーダが、前記第1の予測単位の第1の動きベクトル差分値を受信することと、前記第1のサブ画素精度に関連する第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号することと、前記ビデオデータの第2の予測単位の第2の動きベクトル差分値を受信することと、前記第2のサブ画素精度に関連する第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号することと、を行うように構成され、前記第1の動きベクトル差分値が前記第1のサブ画素精度を有し、前記第2の動きベクトル差分値が前記第2のサブ画素精度を有する、請求項39に記載の装置。前記第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号するために、前記ビデオデコーダが、前記第1の動きベクトル差分値を表す第1のコードワードを受信することと、前記第1の動きベクトル差分値が前記第1の動きベクトル差分復号方式の第1の閾値未満かどうかを決定することと、前記第1の動きベクトル差分値が前記第1の閾値未満のときに、前記第1のコードワードを第1の単項コードワードとして復号することと、前記第1の動きベクトル差分値が前記第1の閾値以上のときに、前記第1のコードワードを第1のゴロムコードワードとして復号することとを行うように構成され、前記第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号するために、前記ビデオデコーダが、前記第2の動きベクトル差分値を表す第2のコードワードを受信することと、前記第2の動きベクトル差分値が前記第2の動きベクトル差分復号方式の第2の閾値未満かどうかを決定することと、前記第2の動きベクトル差分値が前記第1の閾値未満のときに、前記第2のコードワードを第2の単項コードワードとして復号することと、前記第2の動きベクトル差分値が前記第1の閾値以上のときに、前記第2のコードワードを第2のゴロムコードワードとして復号することとを行うように構成された、請求項41に記載の装置。前記第1の動きベクトル差分復号方式が1/4画素精度に関連し、前記第2の動きベクトル差分復号方式が1/8画素精度に関連する、請求項41に記載の装置。前記第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号するために、前記ビデオデコーダが、前記第1の動きベクトル差分値をエントロピー復号するために使用すべき第1のコンテキストモデルを選択するように構成され、前記第1のコンテキストモデルが前記第1のサブ画素精度に関連し、前記第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号するために、前記ビデオデコーダが、前記第2の動きベクトル差分値をエントロピー復号するために使用すべき第2のコンテキストモデルを選択するように構成され、前記第2のコンテキストモデルが前記第2のサブ画素精度に関連する、請求項41に記載の装置。前記装置が、集積回路と、マイクロプロセッサと、前記ビデオデコーダを含むワイヤレス通信機器と、のうちの少なくとも1つを備える、請求項39に記載の装置。ビデオデータを復号するための装置であって、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信するための手段と、前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信するための手段と、前記指標を復号するためのコンテキストを決定するための手段と、コンテキスト適応型バイナリ算術符号化に従って、前記決定されたコンテキストを使用して前記指標をエントロピー復号するための手段と、を備え、前記コンテキストが、前記符号化単位の深さと、前記予測単位のサイズと、前記予測単位のタイプとのうちの少なくとも1つを備える、装置。前記指標は、前記動きベクトルが前記符号化単位のルミナンスデータに対して1/8画素精度を有することを示し、前記ルミナンスデータが前記予測単位に対応し、双線形補間を使用して、前記動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算するための手段と、前記参照ブロックの前記双線形補間値に基づいて前記符号化単位のクロミナンスデータを復号するための手段と、を更に備える、請求項46に記載の装置。前記予測単位が第1の予測単位を備え、前記第1の予測単位の第1の動きベクトル差分値を受信するための手段と、前記第1のサブ画素精度に関連する第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号するための手段と、前記ビデオデータの第2の予測単位の第2の動きベクトル差分値を受信するための手段と、前記第2のサブ画素精度に関連する第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号するための手段と、を更に備え、前記第1の動きベクトル差分値が前記第1のサブ画素精度を有し、前記第2の動きベクトル差分値が前記第2のサブ画素精度を有する、請求項46に記載の装置。前記第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号するための前記手段は、前記第1の動きベクトル差分値を表す第1のコードワードを受信するための手段と、前記第1の動きベクトル差分値が前記第1の動きベクトル差分復号方式の第1の閾値未満かどうかを決定するための手段と、前記第1の動きベクトル差分値が前記第1の閾値未満のときに、前記第1のコードワードを第1の単項コードワードとして復号するための手段と、前記第1の動きベクトル差分値が前記第1の閾値以上のときに、前記第1のコードワードを第1のゴロムコードワードとして復号するための手段と、を備え、前記第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号するための前記手段は、前記第2の動きベクトル差分値を表す第2のコードワードを受信するための手段と、前記第2の動きベクトル差分値が前記第2の動きベクトル差分復号方式の第2の閾値未満かどうかを決定するための手段と、前記第2の動きベクトル差分値が前記第1の閾値未満のときに、前記第2のコードワードを第2の単項コードワードとして復号するための手段と、前記第2の動きベクトル差分値が前記第1の閾値以上のときに、前記第2のコードワードを第2のゴロムコードワードとして復号するための手段と、を備える、請求項48に記載の装置。前記第1の動きベクトル差分復号方式を使用して前記第1の動きベクトル差分値を復号するための前記手段が、前記第1の動きベクトル差分値をエントロピー復号するために使用すべき第1のコンテキストモデルを選択するための手段を備え、前記第1のコンテキストモデルが前記第1のサブ画素精度に関連し、前記第2の動きベクトル差分復号方式を使用して前記第2の動きベクトル差分値を復号するための前記手段が、前記第2の動きベクトル差分値をエントロピー復号するために使用すべき第2のコンテキストモデルを選択するための手段を備え、前記第2のコンテキストモデルが前記第2のサブ画素精度に関連する、請求項48に記載の装置。実行されたとき、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信することと、前記動きベクトルが前記第1のサブ画素精度を有するのか前記第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信することと、前記指標を復号するためのコンテキストを決定することと、コンテキスト適応型バイナリ算術符号化に従って、前記決定されたコンテキストを使用して前記指標をエントロピー復号することと、を、ビデオデータを復号するための機器のプロセッサに行わせる命令を記憶し、前記コンテキストが、前記符号化単位の深さと、前記予測単位のサイズと、前記予測単位のタイプとのうちの少なくとも1つを備える、コンピュータ可読記憶媒体を備えるコンピュータプログラム製品概して、本開示では、ビデオデータのブロックを符号化するために使用される動きベクトルのために動きベクトル精度を適応的に選択することと、動きベクトルの選択された動きベクトル精度を信号伝達することとのための技法について説明する。本技法は、分数画素精度と呼ばれることがある、異なるレベルのサブ整数画素精度間で適応的に選択することを含み得る。例えば、本技法は、ビデオデータのブロックを符号化するために使用される動きベクトルのために1/4画素精度と1/8画素精度との間で適応的に選択することを含み得る。本開示中の1/8画素精度という用語は、1画素の1/8の精度、例えば、フル画素位置0/8、1画素の1/8、1画素の2/8即ち1画素の1/4、1画素の3/8、1画素の4/8即ち1画素の1/2及び1画素の2/4、1画素の5/8、1画素の6/8即ち1画素の3/4、又は1画素の7/8のうちの1つを指すものとする。従来のH.264エンコーダ及びデコーダは、1/4画素精度を有する動きベクトルをサポートする。幾つかの事例では、1/8画素精度は、1/4画素精度に勝る幾つかの利点を提供し得る。但し、あらゆる動きベクトルを1/8画素精度に符号化することは、非常に多くの符号化ビットを必要とし得、それは1/8画素精度動きベクトルの利益を上回り得る。本開示の技法は、適切な場合は1/8画素精度動きベクトルを使用することと、他の場合は1/4画素精度動きベクトルを使用することと、特定のブロックに対してエンコーダが使用した精度をデコーダが決定し得るように、動きベクトルが1/8画素精度を有するのか1/4画素精度を有するのかを信号伝達することとを含む。動きベクトルが、例えば、1/4画素精度を有するのか1/8画素精度を有するのかを示すフラグとして、各動きベクトルのためのビットストリームにフルビットを追加することを回避するために、本開示は、コンテキスト適応型バイナリ算術符号化CABACなどのバイナリ算術符号化方式を使用して、動きベクトルのサブ画素精度の指標を符号化することを提案する。CABACは、確率推定値を最適化するためにコンテキスト情報例えば、近くの要素を使用する確率モデルに基づいて、情報の分数ビットを符号化するための技法を与える。本開示の技法によれば、ビデオデータのブロック例えば、符号化単位の予測単位の動きベクトルのサブ画素精度の指標を符号化するためのコンテキストは、ブロックについてのサイズ情報に対応し得る。符号化単位の予測単位PU:predictionunitについてのサイズ情報は、1つ以上のソースから導出され得る。高効率ビデオ符号化HEVC:HighEfficiencyVideoCodingによれば、ビデオデータのピクチャは、ITU-TH.264/AVCにおけるマクロブロックと概念的に同様である複数の最大符号化単位LCU:largestcodingunitを含む。LCUは4つのサブCUサブ符号化単位に区分され得、サブCUの各々は、更に、4つのサブCUに区分され得る。CUが2N×2N画素のサイズを有すると仮定すると、CUは、サブCUが重複しないように、N×N画素のサイズをそれぞれ有するサブCUに区分され得る。CUの1つの属性は、現在のCUに到達するようになされた区分の数に概して対応するCUの深さである。例えば、LCUが2N×2Nのサイズを有し、LCUのサブCUを備える現在のCUがN/4のサイズを有すると仮定すると、現在のCUの深さは3になる。このようにして、符号化単位の深さは、以下の式に従って決定され得る。上式で、LCU及びCUは、水平方向及び垂直方向に等しい数の画素を有すると仮定され、sizeCUは、CUの水平方向画素の数を戻し、CUは、LCUのサブCUを形成する。その上、サブCUとしてCUを含むLCUのサイズが知られていると仮定すると、CUのサイズは、以下の式に従って、CUの深さに基づいて決定され得る。予測単位についてのサイズ情報はまた、予測単位自体についてのサイズ情報を含み得る。例えば、サイズ情報は、予測単位の水平方向及び/又は垂直方向画素の数に対応し得る。サイズ情報は、予測単位のタイプの指標をも含み得る。タイプは、予測単位を含むCUのサイズに対する予測単位の形状及びサイズに対応し得る。例えば、CUが2N×2N画素のサイズを有すると仮定すると、対称予測単位タイプは、2N×2N、2N×N、N×2N、又はN×Nを含み得、非対称予測単位タイプは、2N×nU、2N×nD、nL×2N、及びnR×2Nを含み得る。非対称タイプでは、nXは、Xに対応する方向に沿った0.5Nと1.5Nの分割を指し、但し、X=Uは、PUの上側部分が0.5Nの高さを有することを指し、X=Dは、PUの下側部分が0.5Nの高さを有することを指し、X=Lは、PUの左側部分が0.5Nの幅を有することを指し、X=Rは、PUの右側部分が0.5Nの幅を有することを指す。例えば、2N×nUタイプとして分割されたPUを有する2N×2N画素のCUの場合、CUの上側非対称PUは、2N×0.5N画素のサイズを有し、CUの下側非対称PUは、2N×1.5N画素のサイズを有することになる。このようにして、CUのPUの動きベクトルのサブ画素精度の指標を符号化するためのコンテキストは、CUを含むLCUに対するCUの深さとして記述され得るCUのサイズと、PUの画素次元に関して及び/又は例えば、予測単位のタイプを使用してCUのサイズに対して記述され得るPUのサイズとのいずれか又は全てを含み得る。一例として、PUのための動きベクトルは、1/8画素精度又は1/4画素精度のいずれかを有し得、指標は、動きベクトルが1/8画素精度を有するのか1/4画素精度を有するのかを示す1ビットフラグを備え得る。他の例では、他の精度が利用可能であり得る。動きベクトルのサブ画素精度は、CUのルミナンスデータに対して示され得る。概して、CUのクロミナンスデータは、CUのルミナンスデータよりも低い空間解像度を有する。例えば、クロミナンスデータは、水平方向と垂直方向の両方にルミナンスデータの1/2の解像度を有し得る。しかしながら、ルミナンスデータについて計算された動きベクトルは、クロミナンスデータを符号化するために再利用され得る。従って、動きベクトルは、CUのルミナンスデータに対するよりもCUのクロミナンスデータに対して高い精度を有し得る。例えば、動きベクトルがルミナンスデータに対して1/8画素精度を有し、クロミナンスデータがルミナンスデータの1/2の水平及び垂直解像度を有する場合、動きベクトルは、クロミナンスデータに対して1/16画素精度を有し得る。本開示は、双線形補間を使用してクロミナンスデータの1/16画素位置の値を計算することを提案する。動きベクトルを使用してルミナンスデータとクロミナンスデータとを符号化することに加えて、動きベクトル自体が符号化され得る。例えば、ビデオエンコーダは、動きベクトルと動き予測子motionpredictorとの間の差分を計算することによって動きベクトルを符号化し得る。ビデオエンコーダは、ビデオデータの近くのブロックの動きベクトルとして動き予測子を選択し得る。例えば、ビデオエンコーダは、動き予測子として動きベクトルの中央値を選択し、次いで、予測単位の動きベクトルと動き予測子との間の差分として動きベクトル差分を計算し得る。本開示は、更に、予測単位の動きベクトルのサブ画素精度に基づいて、予測単位の動きベクトル差分値を符号化するための技法を提供する。一例として、動きベクトルの潜在的なサブ画素精度に対して、異なる動きベクトル差分符号化方式が定義され得る。例えば、動きベクトルが1/8画素精度又は1/4画素精度のいずれかを有し得るとき、1/8画素精度に対しては第1の動きベクトル差分符号化方式が定義され得、1/4画素精度に対しては第2の動きベクトル差分符号化方式が定義され得る。このようにして、ビデオエンコーダは、第1の動きベクトル差分符号化方式を使用して1/8画素精度動きベクトルの動きベクトル差分値を符号化し、第2の動きベクトル差分符号化方式を使用して1/4画素精度動きベクトルの動きベクトル差分値を符号化し得る。一例として、動きベクトル差分符号化方式は、符号化方式に固有の閾値を含むように定義され得る。動きベクトル差分値が閾値を下回るとき、動きベクトル差分値は、第1のタイプのエントロピー符号化例えば、ゴロム符号化を使用して符号化され得、動きベクトル差分が閾値に等しいか又はそれよりも大きいとき、動きベクトル差分値は、第2のタイプのエントロピー符号化例えば、ゴロム符号化を使用して符号化され得る。閾値は、動きベクトル差分値に対応する動きベクトルのサブ画素精度、例えば、1/4画素精度又は1/8画素精度に基づいて変動し得る。図1は、適応動きベクトル解像度をサポートするための本開示の技法を利用し得る例示的なビデオ符号化及び復号システム10を示すブロック図である。例えば、システム10は、動きベクトルに対応するビデオデータのブロックのサイズを含むコンテキスト情報に基づいて、動きベクトルのサブ画素精度の指標を符号化及び復号し得る。システム10はまた、双線形補間を使用してクロミナンスデータの1/16サブ画素位置の値を補間し得る。システム10はまた、動きベクトル差分に対応する動きベクトルのサブ画素精度に対応する異なる動きベクトル差分符号化方式を利用し得る。図1に示すように、システム10は、通信チャネル16を介して符号化ビデオを宛先機器14に送信する発信源機器12を含む。発信源機器12及び宛先機器14は、広範囲にわたる機器のいずれかを備え得る。場合によっては、発信源機器12及び宛先機器14は、ワイヤレスハンドセット、所謂セルラー無線電話又は衛星無線電話などのワイヤレス通信機器を備えるか、若しくは通信チャネル16を介してビデオ情報を通信することができ、その場合、通信チャネル16がワイヤレスである、任意のワイヤレス機器を備え得る。但し、概して、動きベクトルの適応サブ画素精度をサポートするための技法に関する本開示の技法は、必ずしもワイヤレスアプリケーション又は設定に限定されるとは限らない。例えば、これらの技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、又は他のシナリオに適用し得る。従って、通信チャネル16は、符号化ビデオデータの送信に好適なワイヤレス又はワイヤード媒体の任意の組合せを備え得る。図1の例では、発信源機器12は、ビデオ発信源18と、ビデオエンコーダ20と、変調器/復調器モデム22と、送信機24とを含む。宛先機器14は、受信機26と、モデム28と、ビデオデコーダ30と、表示装置32とを含む。本開示によれば、発信源機器12のビデオエンコーダ20は、動きベクトルの適応サブ画素精度をサポートするための技法を適用するように構成され得る。他の例では、発信源機器及び宛先機器は他の構成要素又は構成を含み得る。例えば、発信源機器12は、外部カメラなどの外部ビデオ発信源18からビデオデータを受信し得る。同様に、宛先機器14は、一体型表示装置を含むのではなく、外部表示装置とインターフェースし得る。図1の図示のシステム10は一例にすぎない。動きベクトルの適応サブ画素精度をサポートするための技法は、任意のデジタルビデオ符号化及び/又は復号機器によって実行され得る。概して、本開示の技法はビデオ符号化機器によって実行されるが、本技法は、一般にコーデックと呼ばれるビデオエンコーダ/デコーダによっても実行され得る。更に、本開示の技法はビデオプリプロセッサによっても実行され得る。発信源機器12及び宛先機器14は、発信源機器12が宛先機器14に送信するための符号化ビデオデータを生成する、そのような符号化機器の例にすぎない。幾つかの例では、機器12、14の各々がビデオ符号化構成要素及び復号構成要素を含むので、機器12、14は、実質的に対称的に動作し得る。従って、システム10は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、又はビデオテレフォニーのためのビデオ機器12とビデオ機器14との間の一方向又は双方向のビデオ送信をサポートし得る。発信源機器12のビデオ発信源18は、ビデオカメラなどの撮像装置、以前に撮影されたビデオを含んでいるビデオアーカイブ、及び/又はビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオ発信源18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、又はライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオ発信源18がビデオカメラである場合、発信源機器12及び宛先機器14は、所謂カメラ付き携帯電話又はビデオ電話を形成し得る。但し、上述のように、本開示で説明する技法は、概してビデオ符号化に適用可能であり得、ワイヤレス及び/又はワイヤードアプリケーションに適用され得る。各場合において、撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成ビデオはビデオエンコーダ20によって符号化され得る。符号化されたビデオ情報は、次いで、通信規格に従ってモデム22によって変調され、送信機24を介して宛先機器14に送信され得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器又は他の構成要素を含み得る。送信機24は、増幅器、フィルタ、及び1つ以上のアンテナを含む、データを送信するために設計された回路を含み得る。宛先機器14の受信機26はチャネル16を介して情報を受信し、モデム28はその情報を復調する。この場合も、ビデオ符号化プロセスは、動きベクトルの適応サブ画素精度をサポートするための本明細書で説明する技法のうちの1つ以上を実施し得る。チャネル16を介して通信される情報は、マクロブロック及び他の符号化単位、例えば、ピクチャグループGOPの特性及び/又は処理を記述するシンタックス要素を含む、ビデオデコーダ30によっても使用される、ビデオエンコーダ20によって定義されるシンタックス情報を含み得る。表示装置32は、復号されたビデオデータをユーザに対して表示し、陰極線管CRT、液晶表示器LCD、プラズマ表示器、有機発光ダイオードOLED表示器、又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。図1の例では、通信チャネル16は、無線周波数RFスペクトルあるいは1つ以上の物理伝送線路など、任意のワイヤレス又はワイヤード通信媒体、又はワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル16は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル16は、概して、ワイヤード媒体又はワイヤレス媒体の任意の好適な組合せを含む、ビデオデータを発信源機器12から宛先機器14に送信するのに好適な任意の通信媒体、又は様々な通信媒体の集合体を表す。通信チャネル16は、発信源機器12から宛先機器14への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、又は任意の他の機器を含み得る。ビデオエンコーダ20及びビデオデコーダ30は、代替的にMPEG-4、Part10、AdvancedVideoCodingAVCと呼ばれるITU-TH.264規格など、ビデオ圧縮規格に従って動作し得る。但し、本開示の技法は、いかなる特定の符号化規格にも限定されない。他の例には、MPEG-2及びITU-TH.263がある。図1には示されていないが、幾つかの態様では、ビデオエンコーダ20及びビデオデコーダ30は、それぞれオーディオエンコーダ及びオーディオデコーダと統合され得、また、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための適切なMUX-DEMUXユニット、又は他のハードウェア及びソフトウェアを含み得る。適用可能な場合、MUX-DEMUXユニットはITUH.223マルチプレクサプロトコル、又はユーザデータグラムプロトコルUDPなどの他のプロトコルに準拠し得る。ITU-TH.264/MPEG-4AVC規格は、JointVideoTeamJVTとして知られる共同パートナーシップの成果として、ISO/IECMovingPictureExpertsGroupMPEGとともにITU-TVideoCodingExpertsGroupVCEGによって策定された。幾つかの態様では、本開示で説明する技法は、H.264規格に概して準拠する機器に適用され得る。H.264規格は、ITU-TStudyGroupによる2005年3月付けのITU-T勧告H.264AdvancedVideoCodingforgenericaudiovisualservicesに記載されており、本明細書ではH.264規格又はH.264仕様、あるいはH.264/AVC規格又は仕様と呼ぶことがある。JointVideoTeamJVTは、H.264/AVCへの拡張に取り組み続けており、また、例えばHEVCのための新しい規格を開発し続けている。ビデオエンコーダ20及びビデオデコーダ30はそれぞれ、1つ以上のマイクロプロセッサ、デジタル信号プロセッサDSP、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGA、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、又はそれらの任意の組合せとして実施され得る。ビデオエンコーダ20及びビデオデコーダ30の各々は1つ以上のエンコーダ又はデコーダ中に含まれ得、そのいずれも複合エンコーダ/デコーダコーデックの一部としてそれぞれのカメラ、コンピュータ、モバイル機器、加入者機器、ブロードキャスト機器、セットトップボックス、サーバなどに統合され得る。ビデオシーケンスは、一般に、一連のビデオフレームを含む。ピクチャグループGOPは、概して、一連の1つ以上のビデオフレームを備える。GOPは、GOP中に含まれる幾つかのフレームを記述するシンタックスデータを、GOPのヘッダ、GOPの1つ以上のフレームのヘッダ、又は他の場所中に含み得る。各フレームは、それぞれのフレームについての符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。ビデオブロックは、マクロブロック又はマクロブロックの区分に対応し得る。ビデオブロックは、固定サイズ又は可変サイズを有し得、指定の符号化規格に応じてサイズが異なり得る。各ビデオフレームは複数のスライスを含み得る。各スライスは複数のマクロブロックを含み得、それらのマクロブロックは、サブブロックとも呼ばれる区分に構成され得る。一例として、ITU-TH.264規格は、ルーマ成分については16×16、8×8、又は4×4、及びクロマ成分については8×8など、様々なブロックサイズのイントラ予測をサポートし、ならびにルーマ成分については16×16、16×8、8×16、8×8、8×4、4×8及び4×4、及びクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。本開示では、N×xNとN×byNは、垂直寸法及び水平寸法に関するブロックの画素寸法、例えば、16×x16画素又は16×by16画素を指すために互換的に使用され得る。概して、16×16ブロックは、垂直方向に16画素を有しy=16、水平方向に16画素を有するx=16。同様に、N×Nブロックは、概して、垂直方向にN画素を有し、水平方向にN画素を有し、Nは、非負整数値を表す。ブロック中の画素は行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数の画素を有する必要はない。例えば、ブロックはN×M画素を備え得、Mは必ずしもNに等しいとは限らない。16×16よりも小さいブロックサイズは16×16マクロブロックの区分と呼ばれることがある。ビデオブロックは、画素領域中の画素データのブロックを備え得、又は、例えば、符号化ビデオブロックと予測ビデオブロックとの画素差分を表す残差ビデオブロックデータへの離散コサイン変換DCT、整数変換、ウェーブレット変換、若しくは概念的に同様の変換などの変換の適用後の、変換領域中の変換係数のブロックを備え得る。場合によっては、ビデオブロックは、変換領域中の量子化変換係数のブロックを備え得る。小さいビデオブロックほど、より良い解像度が得られ、高い詳細レベルを含むビデオフレームのロケーションのために使用され得る。一般に、マクロブロック、及びサブブロックと呼ばれることがある様々な区分は、ビデオブロックと見なされ得る。更に、スライスは、マクロブロック及び/又はサブブロックなど、複数のビデオブロックであると見なされ得る。各スライスはビデオフレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体が復号可能なユニットであり得るか、又はフレームの他の部分が復号可能なユニットとして定義され得る。符号化単位という用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャグループGOPなど、ビデオフレームの単独で復号可能な任意のユニット、又は適用可能な符号化技法に従って定義される別の単独で復号可能なユニットを指すことがある。高効率ビデオ符号化HEVCと現在呼ばれる、新しいビデオ符号化規格を開発するための取り組みが現在進行中である。この今度の規格は、通称H.265とも呼ばれる。この規格化の取り組みは、HEVCテストモデルHM:HEVCTestModelと呼ばれるビデオ符号化機器のモデルに基づく。HMは、例えば、ITU-TH.264/AVCによる機器に勝るビデオ符号化機器の幾つかの能力を仮定する。例えば、H.264は9つのイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供する。HMは、ビデオデータのブロックを符号化単位CU:codingunitと称する。ビットストリーム内のシンタックスデータは、画素の数に関する最大符号化単位LCUである最大符号化単位を定義し得る。概して、CUは、CUがサイズの差異を有しないことを除いて、H.264のマクロブロックと同様の目的を有する。従って、CUはサブCUに分割され得る。概して、本開示におけるCUへの言及は、ピクチャの最大符号化単位又はLCUのサブCUを指すことがある。LCUはサブCUに分割され得、各サブCUはサブCUに分割され得る。ビットストリームのシンタックスデータは、CU深さと呼ばれる、LCUが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小符号化単位SCU:smallestcodingunitをも定義し得る。本開示ではまた、CU、PU、又はTUのいずれかを指すためにブロックという用語を使用する。その上、本開示において、符号化単位又はCUに関与する例に言及する場合、符号化単位の代わりにマクロブロックに関する他の例が与えられ得ることを理解されたい。LCUは4分木データ構造に関連付けられ得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはLCUに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。4分木データ構造の各ノードは、対応するCUのシンタックスデータを与え得る。例えば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。例えば、4分木データ構造中のリーフノードに対応する分割されないCUは、1つ以上の予測単位PUを含み得る。概して、PUは、対応するCUの全部又は一部分を表し、そのPUの参照サンプルを取り出すためのデータを含む。例えば、PUがイントラモード符号化されるとき、PUは、PUのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度例えば、1/4画素精度又は1/8画素精度、動きベクトルが指し示す参照フレーム、及び/又は動きベクトルの参照リスト例えば、リスト0若しくはリスト1を記述し得る。1つ又は複数のPUを定義するCUのデータはまた、例えば、CUを1つ以上のPUに区分することを記述し得る。区分モードは、CUが符号化されないか、イントラ予測モード符号化されるか、又はインター予測モード符号化されるかとの間で異なり得る。1つ以上のPUを有するCUは、1つ以上の変換ユニットTU:transformunitをも含み得る。PUを使用した予測の後に、ビデオエンコーダは、PUに対応するCUの部分の残差値を計算し得る。残差値は変換され、量子化され、走査され得る。TUは、必ずしもPUのサイズに制限されるとは限らない。従って、TUは、同じCUの対応するPUよりも大きいことも小さいこともある。幾つかの例では、TUの最大サイズは、TUを含むCUのサイズに対応し得る。本開示の技法によれば、ビデオエンコーダ20は、異なるサブ整数画素精度の動きベクトルを有する1つ以上のPUを使用してCUをインターモード符号化し得る。例えば、ビデオエンコーダ20は、PUに対して1/4画素精度を有する動きベクトルを使用すること、又は1/8画素精度を有する動きベクトルを使用することの間で選択し得る。ビデオエンコーダ20はまた、PUの動きベクトルのサブ画素精度の指標を与え得る。ビデオエンコーダ20は、CABACを使用して指標を符号化し得、CABACを使用してサブ画素精度の指標を符号化するためのコンテキストを選択し得る。コンテキストは、PUについてのサイズ情報、例えば、PUを含むCUの深さ、PUのサイズ、及び/又はPUのタイプに対応し得る。従って、コンテキストはPUについてのサイズ情報に対応し得る。これらの技法は、PUが、異なるCU深さにおいて異なるサイズを有し得ることを認識する。異なる動きベクトル解像度即ち、動きベクトルのサブ整数画素精度の使用についての統計値は、異なるサイズのPUでは異なり得る。例えば、1/4画素精度を有する動きベクトルの使用の可能性は、異なるCUサイズ、PUサイズ、及びPUタイプ間で異なり得る。同様に、1/8画素精度を有する動きベクトルの使用の可能性は、異なるCUサイズ、PUサイズ、及びPUタイプ間で異なり得る。従って、本開示は、PUについてのサイズ情報に応じて独立したコンテキストモデリングを使用するための技法を提供する。ビデオエンコーダ20は、動きベクトルのサブ整数画素精度の指標例えば、適応動きベクトル解像度AMVRES:adaptivemotionvectorresolutionフラグを符号化するために1つ以上のコンテキストを使用し得る。コンテキストはCU深さに依存しまた、幾つかのCU深さによって共有され得、PUサイズに依存しまた、幾つかのPUサイズによって共有され得、及び/又はPUタイプに依存し得るまた、幾つかのPUタイプによって共有され得る。このようにして、発信源機器12は、ルミナンスデータに対して1/8画素精度を有する動きベクトルを使用してビデオデータの符号化単位のルミナンスデータを符号化することと、双線形補間を使用して、動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、参照ブロックの双線形補間値に基づいて符号化単位のクロミナンスデータを符号化することとを行うように構成されたビデオエンコーダを含む装置の一例である。ビデオエンコーダ20はまた、例えば、動き予測子とも呼ばれる動きベクトル予測子に対する動きベクトルの動きベクトル差分値を計算することによって動きベクトルを符号化し得る。ビデオエンコーダ20は、動きベクトルのサブ画素精度に基づいて、動きベクトル差分MVD:motionvectordifference値を別様に符号化し得る。即ち、ビデオエンコーダ20は、各々が動きベクトルの異なる可能なサブ画素精度に対応する異なるMVD値符号化方式で構成され得る。例えば、ビデオエンコーダ20が、動きベクトルのために1/4画素精度と1/8画素精度との間で選択することが可能である場合、ビデオエンコーダ20は、1/4画素精度動きベクトルに対応するMVD値を符号化するための第1のMVD符号化方式と、1/8画素精度動きベクトルに対応するMVD値を符号化するための第2のMVD符号化方式とで構成され得る。このようにして、ビデオエンコーダ20は、第1のMVD符号化方式を使用して、1/4画素精度を有する動きベクトルに対応するMVD値を符号化し得、第2のMVD符号化方式を使用して、1/8画素精度を有する動きベクトルに対応するMVD値を符号化し得る。一例として、一般的なMVD符号化方式は閾値を含み得る。MVD値が閾値よりも小さいとき、ビデオエンコーダ20は、単項コードを使用してMVD値を符号化し得る。一方、MVD値が閾値よりも大きいとき、ビデオエンコーダ20は、ゴロムコードを使用してMVD値を符号化し得る。1/8画素精度を有する動きベクトルのMVD値は、1/4画素精度を有する同様の動きベクトルのMVD値の約2倍の大きさである。例えば、1/8画素精度において動きベクトルの垂直成分が10であり、動き予測子が20である場合、MVD値は10になる。一方、1/4画素精度における同じ動きベクトルは垂直成分5と動き予測子10とを有し、従って、MVD値は5になる。動きベクトル差分の統計値は、1/8画素精度に対して1/4画素精度では異なる可能性がある。従って、この例では、ビデオエンコーダ20は、符号化されている動きベクトルのサブ整数画素精度に応じて異なる閾値を含み得る。サブ整数画素位置の値を計算するために、ビデオエンコーダ20は様々な補間フィルタを含み得る。例えば、サブ整数画素位置の値を計算するために双線形補間が使用され得る。ビデオエンコーダ20は、PUのルミナンスデータに関して動き探索を実行して、PUのルミナンスデータを使用して動きベクトルを計算するように構成され得る。ビデオエンコーダ20は、次いで、PUのクロミナンスデータを符号化するために動きベクトルを再利用し得る。一般に、クロミナンスデータは、対応するルミナンスデータよりも低い解像度、例えば、ルミナンスデータの1/4の解像度を有する。従って、クロミナンスデータの動きベクトルは、ルミナンスデータの動きベクトルよりも高い精度を有し得る。例えば、ルミナンスデータの1/4画素精度動きベクトルは、クロミナンスデータに対して1/8画素精度を有し得る。同様に、ルミナンスデータの1/8画素精度動きベクトルは、クロミナンスデータに対して1/16画素精度を有し得る。幾つかの例では、ビデオエンコーダ20は、例えば、ビットストリーム中で、MVD値がMVD符号化方式の閾値を超えるかどうかの指標を与え得る。このようにして、発信源機器12は、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用してビデオデータの符号化単位の予測単位を符号化することと、コンテキスト適応型バイナリ算術符号化を使用して、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定することと、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー符号化することとを行うように構成され、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える、ビデオエンコーダを含む装置の一例である。HMは、クロミナンスデータを符号化するときに、ルミナンスデータの1/8画素精度動きベクトルを1/4画素精度に量子化するように構成されている。従って、HMは、クロミナンスデータに対して1/8画素精度を有する動きベクトルを常に使用する。HMの設計者は、1/16画素精度を有する動きベクトルを使用することは著しくより複雑であると考えた。一方、本開示の技法は、動きベクトルが、対応するルミナンスデータに対して1/8画素精度を有するときに、1/16画素精度動きベクトルを使用してクロミナンスデータを符号化することを提案する。ルミナンスデータの動きベクトルが1/8画素精度を有するときにクロミナンスデータを符号化するために、本開示は、双線形補間を使用して1/16画素位置の値を補間することを提案する。本開示の技法を作り出すための経験的テストは、1/16画素精度動きベクトルを使用することの複雑さは、クロミナンスデータの値を計算するために1/8画素精度動きベクトルを使用することの複雑さと同じであるという予期しない結果を示した。このようにして、発信源機器12は、ビデオデータの第1の予測単位を符号化するときに第1の動きベクトル差分値を計算することと、第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して第1の動きベクトル差分値を符号化することと、ビデオデータの第2の予測単位を符号化するときに第2の動きベクトル差分値を計算することと、第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して第2の動きベクトル差分値を符号化することと、を行うように構成され、第1の動きベクトル差分値が第1のサブ画素精度を有し、第2の動きベクトル差分値が第2の異なるサブ画素精度を有する、ビデオエンコーダを含む装置の一例である。予測データと残差データとを生成するためのイントラ予測符号化又はインター予測符号化の後、及び変換係数を生成するためのH.264/AVCで使用される4×4又は8×8整数変換、あるいは離散コサイン変換DCTなどの任意の変換の後、変換係数の量子化が実行され得る。量子化は、概して、係数を表すために使用されるデータ量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減し得る。例えば、量子化中にnビット値がmビット値に切り捨てられ得、nはmよりも大きい。量子化の後に、例えば、コンテンツ適応型可変長符号化CAVLC:contentadaptivevariablelengthcoding、コンテキスト適応型バイナリ算術符号化CABAC、又は別のエントロピー符号化方法に従って、量子化データのエントロピー符号化が実行され得る。エントロピー符号化用に構成された処理ユニット、又は別の処理ユニットは、量子化係数のゼロランレングス符号化、及び/又は符号化ブロックパターンCBP:codedblockpattern値、マクロブロックタイプ、符号化モード、LCUサイズなどのシンタックス情報の生成など、他の処理機能を実行し得る。宛先機器14のビデオデコーダ30は、本開示のビデオエンコーダ20の技法のいずれか又は全てと同様の、概して対称的な技法を実行するように構成され得る。例えば、ビデオデコーダ30は、CUのPUの動きベクトルのサブ画素精度の指標が符号化されたコンテキストを定義する情報を受信するように構成され得る。ビデオエンコーダ20は、CUとPUとを含むLCUのための4分木におけるコンテキスト情報を与え得、ビデオデコーダ30は、そのコンテキスト情報を受信し得る。コンテキスト情報は、CU及び/又はPUについてのサイズ情報、例えば、CUの深さ、PUのサイズ、及び/又はPUのタイプに対応し得る。ビデオデコーダ30は、例えば、動きベクトルが1/4画素精度を有するのか1/8画素精度を有するのかを決定するために、コンテキスト情報を使用して、動きベクトルのサブ画素精度の指標を復号し得る。例えば、ビデオデコーダ30は、動きベクトルのサブ画素精度の指標をエントロピー復号するために、コンテキスト情報を使用して逆エントロピー符号化プロセスを実行し得る。このようにして、宛先機器14は、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信することと、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信することと、指標を復号するためのコンテキストを決定することと、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー復号することとを行うように構成され、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える、ビデオデコーダを含む装置の一例である。上述のように、動きベクトルは、動きベクトルと動き予測子との間の差分として計算されるMVD値を使用して符号化され得る。ビデオデコーダ30は、動き予測子を選択するためのビデオエンコーダ20の技法と概して同様の技法で構成され得る。例えば、ビデオエンコーダ20とビデオデコーダ30の両方は、前に符号化された隣接PUの動きベクトルの中央値として現在のPUのための動き予測子を選択するように構成され得る。従って、ビデオデコーダ30は、動き予測子に動きベクトルのMVD値を追加することによって動きベクトルを復号し得る。その上、本開示の技法によれば、ビデオデコーダ30は、動きベクトルのサブ画素精度に基づいて、異なるMVD復号方式で構成され得る。従って、ビデオデコーダ30は、上記で説明したサブ画素精度の受信された指標から決定された動きベクトルのサブ画素精度に基づいて、適用すべきMVD復号方式を選択し得る。例えば、ビデオデコーダ30は、第1のMVD値が1/8画素精度の指標に対応するときに、第1のMVD値に第1のMVD符号化方式を適用し得、ビデオデコーダ30は、第2のMVD値が1/4画素精度の指標に対応するときに、第2のMVD値に第2のMVD符号化方式を適用し得る。他の例では、他のMVD符号化方式が動きベクトルの他のサブ画素精度に対応し得る。このようにして、宛先機器14は、ビデオデータの第1の予測単位の第1の動きベクトル差分値を受信することと、第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して第1の動きベクトル差分値を復号することと、ビデオデータの第2の予測単位の第2の動きベクトル差分値を受信することと、第2のサブ画素精度に関連する第2の動きベクトル差分復号方式を使用して第2の動きベクトル差分値を復号することと、を行うように構成されたビデオデコーダを含み、第1の動きベクトル差分値が第1のサブ画素精度を有し、第2の動きベクトル差分値が第2の異なるサブ画素精度を有する、装置の一例である。更に、ビデオデコーダ30は、CUのクロミナンスデータを復号するために、CUのルミナンスデータのために受信された動きベクトルを再利用するように構成され得る。この場合も、ルミナンスデータの動きベクトルが、例えば、1/8画素精度を有し、CUのクロミナンスデータが1/4水平方向と垂直方向の両方に1/2解像度にダウンサンプリングされる場合、動きベクトルは、クロミナンスデータに対して1/16画素精度を有し得る。ビデオデコーダ30は、ルミナンスデータの1/8画素精度動きベクトルを1/4画素精度に量子化するのではなく、双線形補間を使用して1/16画素精度位置の値を補間するように構成され得る。このようにして、宛先機器14は、ビデオデータの符号化単位のルミナンスデータに対して1/8画素精度を有する動きベクトルを受信することと、双線形補間を使用して、動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、参照ブロックの双線形補間値に基づいて符号化単位のクロミナンスデータを復号することとを行うように構成されたビデオデコーダを含む装置の一例である。ビデオエンコーダ20及びビデオデコーダ30はそれぞれ、適用可能なとき、1つ以上のマイクロプロセッサ、デジタル信号プロセッサDSP、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGA、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ又はデコーダ回路のいずれか、若しくはそれらの任意の組合せとして実施され得る。ビデオエンコーダ20及びビデオデコーダ30の各々は1つ以上のエンコーダ又はデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダコーデックの一部として統合され得る。ビデオエンコーダ20及び/又はビデオデコーダ30を含む装置は、集積回路、マイクロプロセッサ、及び/又はセルラー電話などのワイヤレス通信機器を備え得る。図2は、適応動きベクトル解像度をサポートするための技法を実施し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、LCUとCUとPUとを含むビデオフレーム内のブロックのイントラ予測及びインター予測を実行し、TUとして符号化され得る残差値を計算し得る。イントラ符号化は、所与のビデオフレーム内のビデオの空間的冗長性を低減又は除去するために空間的予測に依拠する。インター符号化は、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減又は除去するために時間的予測に依拠する。イントラモードIモードは、幾つかの空間ベースの圧縮モードのいずれかを指し、単方向予測Pモード又は双方向予測Bモードなどのインターモードは、幾つかの時間ベースの圧縮モードのいずれかを指し得る。動き推定ユニット42及び動き補償ユニット44はインター予測符号化を実行し得、イントラ予測ユニット46はイントラ予測符号化を実行し得る。図2に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図2の例では、ビデオエンコーダ20は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、参照フレーム記憶部64と、加算器50と、変換ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ図2に図示せずも含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理することになる。符号化プロセス中に、ビデオエンコーダ20は符号化されるべきビデオフレーム又はスライスを受信する。フレーム又はスライスは、複数のビデオブロック例えば、LCUに分割され得る。動き推定ユニット42及び動き補償ユニット44は、時間圧縮を行うために、1つ以上の参照フレーム中の1つ以上のブロックに対する受信したビデオブロックのインター予測符号化を実行する。イントラ予測ユニット46は、空間圧縮を行うために、符号化されるべきブロックと同じフレーム又はスライス中の1つ以上の隣接ブロックに対する受信したビデオブロックのイントラ予測符号化を実行し得る。モード選択ユニット40は、例えば、誤差結果に基づいて符号化モード、即ち、イントラ又はインターのうちの1つを選択し、残差ブロックデータを生成するために、得られたイントラ符号化ブロック又はインター符号化ブロックを加算器50に与え、参照フレームとして使用するための符号化ブロックを再構成するために、得られたイントラ符号化ブロック又はインター符号化ブロックを加算器62に与え得る。モード選択ユニット40がブロックのためにインターモード符号化を選択すると、解像度選択ユニット48はそのブロックの動きベクトルの解像度を選択し得る。例えば、解像度選択ユニット48は、そのブロックの動きベクトルのために1/8画素精度又は1/4画素精度を選択し得る。一例として、解像度選択ユニット48は、ブロックを符号化するために1/4画素精度動きベクトルを使用することと、ブロックを符号化するために1/8画素精度動きベクトルを使用することとの間の誤差差分を比較するように構成され得る。動き推定ユニット42は、第1の符号化パスにおいて1つ以上の1/4画素精度動きベクトルを使用してブロックを符号化することと、第2の符号化パスにおいて1つ以上の1/8画素精度動きベクトルを使用してブロックを符号化することとを行うように構成され得る。動き推定ユニット42は、更に、第3の符号化パスにおいてブロックに対して1つ以上の1/4画素精度動きベクトルと1つ以上の1/8画素精度動きベクトルとの様々な組合せを使用し得る。解像度選択ユニット48は、ブロックの各符号化パスのレート歪み値を計算し、レート歪み値間の差分を計算し得る。差分が閾値を超えると、解像度選択ユニット48は、ブロックを符号化するために1/8画素精度動きベクトルを選択し得る。解像度選択ユニット48はまた、インターモード予測プロセス中にブロックを符号化するとき、動きベクトルに対して1/8画素精度を使用すべきか又は1/4画素精度を使用すべきかを決定するために、レート歪み情報を評価し、ビットバジェットbitbudgetを分析し、及び/又は他のファクタを分析し得る。インターモード符号化されるべきブロックのために1/8画素精度又は1/4画素精度を選択した後、モード選択ユニット40又は動き推定は、動きベクトルの選択された精度を示すメッセージ例えば、信号を動き推定ユニット42に送り得る。動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、現在のフレーム又は、他の符号化単位内の符号化されている現在のブロックに対する予測参照フレーム又は、他の符号化単位内の予測ブロックの変位を示し得る。予測ブロックは、絶対値差分和SAD:sumofabsolutedifference、2乗差分和SSD:sumofsquaredifference、又は他の差分メトリックによって決定され得る画素差分に関して、符号化されるべきブロックにぴったり一致することが分かるブロックである。動きベクトルはまた、マクロブロックの区分の変位を示し得る。動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックを取込む又は生成することに関与し得る。この場合も、幾つかの例では、動き推定ユニット42と動き補償ユニット44とは機能的に統合され得る。動き推定ユニット42は、ビデオブロックを参照フレーム記憶部64中の参照フレームのビデオブロックと比較することによってインター符号化フレームのビデオブロックの動きベクトルを計算する。動き補償ユニット44はまた、参照フレーム、例えば、Iフレーム又はPフレームのサブ整数画素を補間し得る。一例として、ITUH.264規格には、符号化されている現在のフレームよりも前の表示順序を有する参照フレームを含むリスト0、及び符号化されている現在のフレームよりも後の表示順序を有する参照フレームを含むリスト1の2つのリストが記載されている。従って、参照フレーム記憶部64に記憶されたデータは、これらのリストに従って編成され得る。本開示の技法によれば、動き補償ユニット44は、CUのルミナンスデータの動きベクトルが1/8画素精度を有するときに、CUのクロミナンスデータの1/16画素位置の値を補間するように構成され得る。クロミナンスデータの1/16画素位置の値を補間するために、動き補償ユニット44は双線形補間bilinearinterpolationを利用し得る。従って、加算器50は、参照ブロックの1/16画素位置の双線形補間値に対するCUのクロミナンスデータの残差を計算し得る。このようにして、ビデオエンコーダ20は、符号化単位のルミナンスデータが、ルミナンスデータに対して1/8画素精度を有する動きベクトルを使用して符号化されたとき、双線形補間を使用して、動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算し、参照ブロックの双線形補間値に基づいて符号化単位のクロミナンスデータを符号化し得る。動き推定ユニット42は、参照フレーム記憶部64からの1つ以上の参照フレームのブロックを現在のフレーム、例えば、Pフレーム又はBフレームの符号化すべきブロックと比較する。参照フレーム記憶部64中の参照フレームがサブ整数画素の値を含むとき、動き推定ユニット42によって計算される動きベクトルは参照フレームのサブ整数画素位置を参照し得る。動き推定ユニット42及び/又は動き補償ユニット44はまた、サブ整数画素位置の値が参照フレーム記憶部64に記憶されていない場合、参照フレーム記憶部64に記憶された参照フレームのサブ整数画素位置の値を計算するように構成され得る。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。動きベクトルによって識別される参照フレームブロックは予測ブロックと呼ばれることがある。ビデオエンコーダ20の動き推定ユニット42、動き補償ユニット44、モード選択ユニット40、又は別のユニットはまた、ブロックを符号化するために使用される動きベクトルについての1/4画素精度の使用か又は1/8画素精度の使用かを信号伝達し得る。例えば、動き推定ユニット42は、動きベクトルのサブ整数画素精度の指標をエントロピー符号化ユニット56に送り得る。動き推定ユニット42はまた、動きベクトルに対応するPUについてのサイズ情報に関係するコンテキスト情報をエントロピー符号化ユニット56に与え得、サイズ情報は、PUを含むCUの深さ、PUのサイズ、及び/又はPUのタイプのいずれか又は全てを含み得る。動き補償ユニット44は、予測ブロックに基づいて予測データを計算し得る。ビデオエンコーダ20は、符号化されている元のビデオブロックから、動き補償ユニット44からの予測データを減算することによって残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つ以上の構成要素を表す。変換ユニット52は、離散コサイン変換DCT又は概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換ユニット52は、概念的にDCTと同様である、H.264規格によって定義される変換などの他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換又は他のタイプの変換も使用され得る。いずれの場合も、変換ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報を画素値領域から周波数領域などの変換領域に変換し得る。量子化ユニット54は、ビットレートを更に低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。量子化の後、エントロピー符号化ユニット56が量子化変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット56は、コンテンツ適応型可変長符号化CAVLC、コンテキスト適応型バイナリ算術符号化CABAC、又は別のエントロピー符号化技法を実行し得る。エントロピー符号化ユニット56によるエントロピー符号化の後、符号化されたビデオは、別の機器に送信されるか、あるいは後で送信するか又は取り出すためにアーカイブされ得る。コンテキスト適応型バイナリ算術符号化の場合、コンテキストは隣接マクロブロックに基づき得る。場合によっては、エントロピー符号化ユニット56又はビデオエンコーダ20の別のユニットは、エントロピー符号化に加えて他の符号化機能を実行するように構成され得る。例えば、エントロピー符号化ユニット56はマクロブロック及び区分のCBP値を決定するように構成され得る。また、場合によっては、エントロピー符号化ユニット56は、マクロブロック又はそれの区分中の係数のランレングス符号化を実行し得る。特に、エントロピー符号化ユニット56は、マクロブロック又は区分中の変換係数を走査するためにジグザグ走査又は他の走査パターンを適用し、さらなる圧縮のためにゼロのランを符号化し得る。エントロピー符号化ユニット56はまた、符号化されたビデオビットストリーム中での送信のために適切なシンタックス要素を用いてヘッダ情報を構成し得る。本開示の技法によれば、エントロピー符号化ユニット56は、例えば、動きベクトルが1/4画素精度を有するのか1/8画素精度を有するのか様々な例では、他のサブ画素精度を有するのかを示すための、動きベクトルのサブ画素精度の指標を符号化するように構成され得る。エントロピー符号化ユニット56は、CABACを使用して指標を符号化し得る。更に、エントロピー符号化ユニット56は、動きベクトルに対応するPUについてのサイズ情報を示す、CABACを実行するためのコンテキスト情報を使用して指標を符号化し得、サイズ情報は、PUを含むCUの深さ、PUのサイズ、及び/又はPUのタイプのいずれか又は全てを含み得る。動き推定ユニット42は、更に、動きベクトルの動きベクトル差分MVD値を計算し、動きベクトル自体ではなくMVD値をエントロピー符号化ユニット56に受け渡し得る。エントロピー符号化ユニット56は、各々が動きベクトルのサブ画素精度に関係する様々なMVD符号化方式で構成され得る。従って、エントロピー符号化ユニット56は、MVD値に対応する動きベクトルのサブ画素精度に対応するMVD符号化方式を使用して、動きベクトルのMVD値を符号化し得る。一例として、エントロピー符号化ユニット56は、1/4画素精度のための第1のMVD符号化方式と1/8画素精度のための第2のMVD符号化方式とで構成され得る。第1のMVD符号化方式は、MVD値が閾値よりも小さいときに単項コードワードを使用してMVD値を符号化することと、MVD値が閾値よりも大きいかそれに等しいときにゴロムコードワードを使用してMVD値を符号化することとを備え得る。第1の符号化方式の閾値は、例えば、値10を備え得る。第2のMVD符号化方式は、MVD値が閾値よりも小さいときに単項コードワードを使用してMVD値を符号化することと、またMVD値が閾値よりも大きいかそれに等しいときにゴロムコードワードを使用してMVD値を符号化することとを備え得、第2のMVD符号化方式の閾値は、例えば、値5を備え得る。第1及び第2のMVD符号化方式における単項コードワードとゴロムコードワードとは、1/4及び1/8画素精度動きベクトルに対応するMVD値について収集された異なる統計値に基づいて異なり得る。エントロピー符号化ユニット56は、MVD値の符号化例えば、単項又はゴロム表現を出力し得る。幾つかの例では、エントロピー符号化ユニット56は、MVD値がそれの対応する閾値を超えたかどうかの1ビットフラグなどの指標を与え得、従って暗黙的に、符号化表現が単項コードワードを備えるのかゴロムコードワードを備えるのかについての指標を与え得る。逆量子化ユニット58及び逆変換ユニット60は、それぞれ逆量子化及び逆変換を適用して、例えば参照ブロックとして後で使用するために、画素領域において残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照フレーム記憶部64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つ以上の補間フィルタを適用して、動き推定において使用するサブ整数画素値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照フレーム記憶部64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインター符号化するために動き推定ユニット42及び動き補償ユニット44によって参照ブロックとして使用され得る。このようにして、図2は、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用してビデオデータの符号化単位の予測単位を符号化することと、コンテキスト適応型バイナリ算術符号化を使用して、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定することと、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー符号化することとを行うように構成され、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える、ビデオエンコーダの一例を表す。同様に、図2は、ルミナンスデータに対して1/8画素精度を有する動きベクトルを使用してビデオデータの符号化単位のルミナンスデータを符号化することと、双線形補間を使用して、動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、参照ブロックの双線形補間値に基づいて符号化単位のクロミナンスデータを符号化することとを行うように構成されたビデオエンコーダの一例を表す。更に、図2は、ビデオデータの第1の予測単位を符号化するときに第1のサブ画素精度を有する第1の動きベクトル差分値を計算することと、第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して第1の動きベクトル差分値を符号化することと、ビデオデータの第2の予測単位を符号化するときに第2の異なるサブ画素精度を有する第2の動きベクトル差分値を計算することと、第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して第2の動きベクトル差分値を符号化することと、を行うように構成されたビデオエンコーダの一例を表す。図3は、符号化されたビデオシーケンスを復号するビデオデコーダ30の一例を示すブロック図である。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照フレーム記憶部82と、加算器80とを含む。ビデオデコーダ30は、幾つかの例では、ビデオエンコーダ20図2に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて予測データを生成し得る。エントロピー復号ユニット70は、例えば、ネットワーク、ブロードキャストを介して又は物理媒体から符号化されたビットストリームを受信し得る。符号化されたビットストリームはエントロピー符号化ビデオデータを含み得る。本開示の技法によれば、エントロピー符号化ビデオデータは、CUのPUの動きベクトルのサブ整数画素精度のエントロピー符号化指標を含み得る。エントロピー符号化ビデオデータは、CUとPUとを含むLCUのための4分木データ構造をも含み得る。4分木データ構造は、PUについてのサイズ情報、例えば、PUを含むCUの深さ、PUのサイズ、及び/又はPUのタイプを記述するデータを含み得る。エントロピー復号ユニット70は、動きベクトルのサブ画素精度の指標をエントロピー復号するときにコンテキスト情報としてサイズ情報を使用し得る。このようにして、エントロピー復号ユニット70は、動きベクトルのサブ整数画素精度の指標を復号し、その指標を動き補償ユニット72に送り得る。エントロピー復号ユニット70はまた、PUの符号化された動きベクトル差分MVD値を受信し得る。エントロピー復号ユニット70は、動きベクトルに対して決定されたサブ整数画素精度を使用して、PUのMVD値に適用すべきエントロピー復号方式を決定し得る。特に、エントロピー復号ユニット70は、各々が動きベクトルのそれぞれのサブ画素精度に関連する様々な異なるMVD復号方式で構成され得る。エントロピー復号ユニット70は、MVD値を復号するために、上記で説明したように復号された指標によって示されるサブ画素精度に関連するMVD復号方式を選択し得る。エントロピー復号ユニット70は、復号されたMVD値を動き補償ユニット72に送り得、動き補償ユニット72は、例えば、前に符号化された隣接PUの動きベクトルの中央値に対応し得る動き予測子に対するPUの動きベクトルを復号し得る。動き補償ユニット72は、ビットストリーム中で受信された動きベクトルを使用して、参照フレーム記憶部82中の参照フレーム中の予測ブロックを識別し得る。イントラ予測ユニット74は、ビットストリーム中で受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット70によって復号された量子化ブロック係数を逆量子化inversequantize、即ち、逆量子化dequantizeする。逆量子化プロセスは、例えば、H.264復号規格によって定義された従来のプロセスを含み得る。逆量子化プロセスはまた、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、各マクロブロックについてビデオエンコーダ20によって計算される量子化パラメータQPYの使用を含み得る。逆変換ユニット58は、逆変換、例えば、逆DCT、逆整数変換、又は概念的に同様の逆変換プロセスを変換係数に適用して、画素領域において残差ブロックを生成する。動き補償ユニット72は動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブ画素精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用される補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。動き補償ユニット72は、受信されたシンタックス情報に従って、ビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。本開示の技法によれば、動き補償ユニット72は、動きベクトルがルミナンスデータに対して1/8画素精度を有するときに、参照ブロックのクロミナンスデータの1/16画素位置の値を補間し得る。例えば、動き補償ユニット72は、双線形補間を使用して、参照ブロックの1/16画素位置の値を補間し得る。動き補償ユニット72は、シンタックス情報の幾つかを使用して、符号化されたビデオシーケンスの1つ以上のフレーム及び/又は1つ以上のスライスを符号化するために使用されたLCU及びCUのサイズと、符号化されたビデオシーケンスのフレームの各マクロブロックがどのように区分されるかを記述する区分情報と、各区分がどのように符号化されるかを示すモードと、各インター符号化CUのための1つ以上の参照フレーム及び参照フレームリストと、符号化されたビデオシーケンスを復号するための他の情報とを決定する。加算器80は、残差ブロックを、動き補償ユニット72又はイントラ予測ユニットによって生成される対応する予測ブロックと加算して、復号されたブロックを形成する。所望される場合、ブロッキネスアーティファクトを除去するために、復号されたブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。復号されたビデオブロックは、次いで、参照フレーム記憶部82に記憶され、参照フレーム記憶部82は、その後の動き補償のための参照ブロックを与え、また、表示装置図1の表示装置32など上での提示のために復号されたビデオを生成する。このようにして、図3は、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信することと、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信することと、指標を復号するためのコンテキストを決定することであって、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える、決定することと、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー復号することとを行うように構成されたビデオデコーダの一例を表す。図3はまた、ビデオデータの符号化単位のルミナンスデータに対して1/8画素精度を有する動きベクトルを受信することと、双線形補間を使用して、動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、参照ブロックの双線形補間値に基づいて符号化単位のクロミナンスデータを復号することとを行うように構成されたビデオデコーダの一例を表す。図3は、更に、ビデオデータの第1の予測単位の第1の動きベクトル差分値を受信することと、第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して第1の動きベクトル差分値を復号することと、ビデオデータの第2の予測単位の第2の動きベクトル差分値を受信することと、第2のサブ画素精度に関連する第2の動きベクトル差分復号方式を使用して第2の動きベクトル差分値を復号することとを行うように構成され、第1の動きベクトル差分値が第1のサブ画素精度を有し、第2の動きベクトル差分値が第2の異なるサブ画素精度を有する、ビデオデコーダの一例を表す。図4は、フル画素位置に対する分数画素位置を示す概念図である。特に、図4は、フル画素ペル100に対する分数画素位置を示している。フル画素100は、1/2画素位置102A~102C1/2ペル102と、1/4画素位置104A~104L1/4ペル104と、1/8画素位置106A~106AV1/8ペル106とに対応する。図4は、ブロックの1/8画素位置106が随意に含まれ得ることを示すために、破線の輪郭を使用してこれらの位置を示している。即ち、動きベクトルが1/8画素精度を有する場合、動きベクトルは、フル画素位置100、1/2画素位置102、1/4画素位置104、又は1/8画素位置106のいずれかをポイントし得る。しかしながら、動きベクトルが1/4画素精度を有する場合、動きベクトルは、フル画素位置100、1/2画素位置102、又は1/4画素位置104のいずれかをポイントし得るが、1/8画素位置106はポイントしないであろう。更に、他の例では、他の精度、例えば、1/16画素精度、1/32画素精度などが使用され得ることを理解されたい。フル画素位置100における画素の値は、対応する参照フレーム中に含まれ得る。即ち、フル画素位置100における画素の値は、概して、例えば、参照フレームが表示されたときに最終的にレンダリングされ表示される、参照フレーム中の画素の実効値に対応する。分数画素位置と総称される1/2画素位置102、1/4画素位置104、及び1/8画素位置106の値は、適応補間フィルタ又は固定補間フィルタ、例えば、様々なウィーナーフィルタWienerfilter、双線形フィルタ、又は他のフィルタなど、様々な数のタップ係数のフィルタを使用して補間され得る。概して、分数画素位置の値は、隣接するフル画素位置又は前に決定された分数画素位置の値に対応する1つ以上の隣接画素から補間され得る。本開示の技法によれば、ビデオエンコーダ20などのビデオエンコーダは、例えば、1/8画素精度と1/4画素精度との間で動きベクトルのサブ画素精度を適応的に選択し得る。ビデオエンコーダ20は、各動きベクトル、各CU、各LCU、各スライス、各フレーム、各GOP、又はビデオデータの他の符号化単位についてこの選択を行い得る。ビデオエンコーダ20が動きベクトルに対して1/4画素精度を選択したとき、動きベクトルは、フル画素位置100、1/2画素位置102、又は1/4画素位置104のいずれかを参照し得る。ビデオエンコーダ20が動きベクトルに対して1/8画素精度を選択したとき、動きベクトルは、フル画素位置100、1/2画素位置102、1/4画素位置104、又は1/8画素位置106のいずれかを参照し得る。図5A~図5Cは、対応するクロミナンス画素位置及びルミナンス画素位置を示す概念図である。図5A~図5Cはまた、ルミナンスデータについて計算された動きベクトルがどのようにクロミナンスデータのために再利用され得るかを示している。前置きとして、図5A~図5Cは画素位置の部分行を示している。実際には、フル画素位置は、図4に示したものなど、関連する分数画素位置の矩形格子を有し得ることを理解されたい。図5A~図5Cの例は、本開示において説明する概念を示すものであり、分数クロミナンス画素位置と分数ルミナンス画素位置との間の対応の網羅的なリストとして意図されていない。図5A~図5Cは、フルルミナンス画素位置110と、1/2ルミナンス画素位置116と、1/4画素位置112と、1/8ルミナンス画素位置114A、114Bとを含む、ルミナンスブロックの画素位置を示している。図5A~図5Cはまた、フルクロミナンス画素位置120と、1/4クロミナンス画素位置122と、1/8クロミナンス画素位置124と、1/16クロミナンス画素位置126A、126Bとを含む、クロミナンスブロックの対応する画素位置を示している。この例では、フルクロミナンス画素120はフルルミナンス画素110に対応する。更に、この例では、クロミナンスブロックは、ルミナンスブロックに対して、水平及び垂直に2分の1にダウンサンプリングされる。従って、1/4クロミナンス画素122は1/2ルミナンス画素116に対応する。同様に、1/8クロミナンス画素124は1/4ルミナンス画素112に対応し、1/16クロミナンス画素126Aは1/8ルミナンス画素114Aに対応し、1/16クロミナンス画素126Bは1/8ルミナンス画素114Bに対応する。図5Aに、フルルミナンス画素位置110を指し示すルミナンス動きベクトル118Aの例を示す。ビデオエンコーダ20又はビデオデコーダ30などのビデオ符号化ユニットは、クロミナンスブロックに対して動き補償を実行するときにルミナンス動きベクトル118Aを再利用し得る。従って、クロミナンス動きベクトル128Aは、フルクロミナンス画素120とフルルミナンス画素110との間の対応により、フルクロミナンス画素120を指し示し得る。クロミナンス動きベクトル128Aによってポイントされる画素の値は、フルクロミナンス画素120の値に等しくなり得る。従って、予測クロミナンスブロック中の各画素は、参照フレーム中の対応する画素に等しく設定され得る。図5Bに、1/4ルミナンス画素位置112を指し示すルミナンス動きベクトル118Bの例を示す。クロミナンス動きベクトル128Bは、今度は、1/8クロミナンス画素位置124を指し示す。ビデオ符号化ユニットは、1/8クロミナンス画素位置124に関連する補間フィルタを使用して1/8クロミナンス画素位置124の値を補間し得る。図5Cに、1/8ルミナンス画素位置114Aを指し示すルミナンス動きベクトル118Cの例を示す。クロミナンス動きベクトル128Cは、今度は、1/16クロミナンス画素位置126Aを指し示す。ビデオ符号化ユニットは、本開示の技法によれば、双線形補間を使用して1/16クロミナンス画素位置126Aの値を補間し得る。例えば、ビデオエンコーダ20は、ルミナンスデータについて計算された動きベクトル例えば、ルミナンス動きベクトル118Cがルミナンスデータの1/8画素位置114Aを参照するとき、CUのクロミナンスデータを符号化するために、双線形補間を使用して1/16画素位置126Aの値を補間し得る。同様に、ビデオエンコーダ30は、ルミナンスデータのために受信された動きベクトル例えば、ルミナンス動きベクトル118Cがルミナンスデータの1/8画素位置114Aを参照するとき、CUのクロミナンスデータを復号するために、双線形補間を使用して1/16画素位置126Aの値を補間し得る。図6は、本開示の技法による、ビデオデータを符号化するための例示的な方法を示すフローチャートである。例としてビデオエンコーダ20図1及び図2に関して説明するが、図6の技法はいずれのビデオ符号化ユニットによっても実行され得ることを理解されたい。その上、本開示の技法から逸脱することなく、図6に示すステップは異なる順序で実行され得、幾つかのステップは省略され得、追加のステップが追加され得る。初めに、ビデオエンコーダ20がビデオデータのブロック例えば、CUを受信する150。解像度選択ユニット48が、1/8画素精度動きベクトルを使用してCUのPUを符号化すべきか、又は1/4画素精度動きベクトルを使用してCUのPUを符号化すべきかを決定する152。例えば、ビデオエンコーダ20は、1/8画素精度を使用する符号化パスと、1/4画素精度を使用する別の符号化パスの2つの符号化パスを実行し得、解像度選択ユニット48は、2つの符号化パスから生じるレート歪み値を比較して、PUを符号化するために1/8画素精度動きベクトルを使用すべきか1/4画素精度動きベクトルを使用すべきかを決定し得る。幾つかの例では、例えば、解像度選択ユニット48が、1/8画素精度動きベクトルが使用されるべきと決定した場合、ビデオエンコーダ20は、参照フレーム記憶部64に記憶されたクロミナンス参照フレームの1/16画素位置の値を双線形補間する154。ビデオエンコーダ20は、1/16画素位置の値を常に補間する必要はなく、従って、ステップ154は、このステップが随意であることを示すために破線の輪郭を用いて示されている。いずれの場合も、ビデオエンコーダ20は、次いで、選択された精度の動きベクトルを使用してブロック例えば、CUを符号化する156。例えば、動き推定ユニット42が、CUのPUの動き探索を実行し、PUのルミナンスデータを参照フレームのルミナンスデータと比較して、ルミナンスデータに対して選択された精度を有する動きベクトルを計算し得る。次いで、動き補償ユニット44が、動きベクトルを使用してPUのルミナンスデータを取り出し、また、同じ動きベクトルを使用してPUのクロミナンスデータを取り出し得る。動き補償ユニット44は、双線形補間を再び使用して、参照ブロックの1/16画素位置の値を計算し得る。動き補償ユニット44は、参照ブロックをPUの予測値として加算器50に与えて、PUの残差、例えば、予測値とPUの実効値との間の差を加算器50に計算させ得る。このようにして、図6の方法は、ルミナンスデータに対して1/8画素精度を有する動きベクトルを使用してビデオデータの符号化単位のルミナンスデータを符号化することと、双線形補間を使用して、動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、参照ブロックの双線形補間値に基づいて符号化単位のクロミナンスデータを符号化することとを含む方法の一例を表す。動き推定ユニット42又は解像度選択ユニット48は、動きベクトルの選択されたサブ画素精度の指標、及びPUについてのサイズ情報をエントロピー符号化ユニット56に与え得る。PUについてのサイズ情報は、例えば、PUを含むCUの深さ、PUのサイズ、及び/又はPUのタイプを含み得る。エントロピー符号化ユニット56は、サイズ情報に基づいてPUのコンテキストを決定する158。エントロピー符号化ユニット56は、PUの決定されたコンテキストに基づいて、動きベクトルのサブ整数画素精度の指標をエントロピー符号化する160。このようにして、図6は、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用してビデオデータの符号化単位の予測単位を符号化することと、コンテキスト適応型バイナリ算術符号化を使用して、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定することと、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー符号化することとを含み、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える、方法の一例を表す。動き推定ユニット42はまた、例えば、動き予測子に対する動きベクトルの動きベクトル差分値を計算する162。幾つかの例では、エントロピー符号化ユニット56、動き補償ユニット44、又はビデオエンコーダ20の別のユニットが動きベクトル差分値を計算し得る。いずれの場合も、ビデオエンコーダ20は、例えば、前に符号化された隣接PUの動きベクトルの中央値として動き予測子を選択し得る。ビデオエンコーダ20は、次いで、現在のPUの動きベクトルと動き予測子との間の差分を計算し得る。次いで、エントロピー符号化ユニット56は、現在のPUの動きベクトルのサブ整数画素精度に基づいて、動きベクトル差分値を符号化するために使用すべき動きベクトル差分符号化方式を選択し得る。エントロピー符号化ユニット56は、次いで、動きベクトルのサブ画素精度に基づく動きベクトル差分符号化方式を使用して動きベクトル差分値を符号化する164。図6の方法は複数回実行され得、本方法の各実行は、異なるサブ整数画素精度の動きベクトルに対応し得る。従って、図6の方法を実行することは、ビデオデータの第1の予測単位を符号化するときに第1の動きベクトル差分値を計算することと、第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して第1の動きベクトル差分値を符号化することと、ビデオデータの第2の予測単位を符号化するときに第2の動きベクトル差分値を計算することと、第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して第2の動きベクトル差分値を符号化することと、含み、第1の動きベクトル差分値が第1のサブ画素精度を有すし、第2の動きベクトル差分値が第2の異なるサブ画素精度を有する、方法の一例を備え得る。符号化された動きベクトルを形成するための動きベクトル差分値と動きベクトルのサブ整数画素精度の指標とを符号化した後に、エントロピー符号化ユニット56は、符号化された動きベクトルと動きベクトルの精度の指標とを出力する166。幾つかの例では、例えば、様々な動きベクトル符号化方式が、それぞれのサブ整数画素精度に対応する異なる閾値を含むとき、エントロピー符号化ユニット56は、動きベクトル差分がそれぞれの閾値を超えたかどうかの指標、例えば、1ビットフラグをも出力し得る。図7は、動きベクトルのサブ整数画素精度の指標をエントロピー符号化するための例示的な方法を示すフローチャートである。例としてビデオエンコーダ20図1及び図2に関して説明するが、図7の技法はいずれのビデオ符号化ユニットによっても実行され得ることを理解されたい。その上、本開示の技法から逸脱することなく、図7に示すステップは異なる順序で実行され得、幾つかのステップは省略され得、追加のステップが追加され得る。初めに、ビデオエンコーダ20がビデオデータのブロック例えば、CUを受信する200。解像度選択ユニット48が、1/8画素精度動きベクトルを使用してCUのPUを符号化すべきか、又は1/4画素精度動きベクトルを使用してCUのPUを符号化すべきかを決定する202。例えば、ビデオエンコーダ20は、1/8画素精度を使用する符号化パスと、1/4画素精度を使用する別の符号化パスの2つの符号化パスを実行し得、解像度選択ユニット48は、2つの符号化パスから生じるレート歪み値を比較して、PUを符号化するために1/8画素精度動きベクトルを使用すべきか1/4画素精度動きベクトルを使用すべきかを決定し得る。ビデオエンコーダ20は、次いで、選択された精度の動きベクトルを使用してCUを符号化する204。例えば、動き推定ユニット42が、CUのPUの動き探索を実行し、PUのルミナンスデータを参照フレームのルミナンスデータと比較して、ルミナンスデータに対して選択された精度を有する動きベクトルを計算し得る。次いで、動き補償ユニット44が、動きベクトルを使用してPUのルミナンスデータを取り出し、また、同じ動きベクトルを使用してPUのクロミナンスデータを取り出し得る。エントロピー符号化ユニット56が、動きベクトルの選択された精度の指標、ならびにCUのPUについてのサイズ情報を受信する206。サイズ情報は、CUの深さ、PUのサイズ、及び/又はPUのタイプのいずれか又は全てを含み得る。エントロピー符号化ユニット56は、サイズ情報に基づいて、動きベクトルの選択された精度の指標を符号化するためのコンテキストを決定する208。幾つかの例では、エントロピー符号化ユニット56は、コンテキストと、コンテキストにおける動きベクトルの精度との各ペアリングについての統計値を収集し得る。このようにして、エントロピー符号化ユニット56は、特定のコンテキストにおける動きベクトルの特定のサブ画素精度の可能性を決定し得る。これらの統計値に基づいて、エントロピー符号化ユニット56は、動きベクトルのコンテキストに基づいて動きベクトルの精度の指標をエントロピー符号化する210。例えば、エントロピー符号化ユニット56は、分数ビットを使用して指標を符号化するためにコンテキスト適応型バイナリ算術符号化を実行し得る。このようにして、図7は、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用してビデオデータの符号化単位の予測単位を符号化することと、コンテキスト適応型バイナリ算術符号化を使用して、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについての指標を符号化するためのコンテキストを決定することでと、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー符号化することとを含み、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える、方法の一例を表す。図8は、動きベクトルが、対応するルミナンスデータに対して1/8画素精度を有するときに、クロミナンスデータの1/16画素位置の値を計算するための例示的な方法を示すフローチャートである。例としてビデオエンコーダ20図1及び図2に関して説明するが、図8の技法はいずれのビデオ符号化ユニットによっても実行され得ることを理解されたい。その上、本開示の技法から逸脱することなく、図8に示すステップは異なる順序で実行され得、幾つかのステップは省略され得、追加のステップが追加され得る。初めに、ビデオエンコーダ20がビデオデータのブロック例えば、CUを受信する220。図8の例では、解像度選択ユニット48が、PUの動きベクトルに対して1/8画素精度を使用してCUのPUを符号化することを決定する222。この決定に基づいて、動き補償ユニット44が、参照フレーム記憶部64によって記憶された参照フレーム中のルミナンスデータの1/8画素位置の値を計算する224。次いで、動き推定ユニット42が、参照フレームのルミナンスデータに対するPUの動き探索を実行する226。例えば、動き推定ユニット42は、PUのルミナンスデータと参照フレームのルミナンスデータとの間の誤差を計算して、参照フレームの1/8画素位置ならびにフル画素位置を分析し得る。動き推定ユニット42は、次いで、PUのための参照ブロック、例えば、最も低い誤差を生じる参照ブロックを選択する228。次いで、ビデオエンコーダ20は、参照ブロックのルミナンスデータに対するPUのルミナンスデータを符号化する230。例えば、加算器50が、参照ブロックのルミナンスデータと、符号化されているPUとの間の画素ごとの差分を計算して、残差ブロックを形成し得る。ビデオエンコーダ20は、次いで、例えば、残差ブロックを変換することと、変換されたブロックを量子化することと、量子化され変換されたブロックの係数を走査及び符号化することとによって、残差ブロックを符号化して変換ユニットTUを形成し得る。動き補償ユニット44はまた、参照ブロックのクロミナンスデータの値を補間し得る。本開示の技法によれば、動き推定ユニット42によって生成された動きベクトルが1/8画素精度を有するとき、動き補償ユニット44は、双線形補間を使用して、参照ブロックのクロミナンスデータの1/16画素位置の値を補間する232。次いで、ビデオエンコーダ20は、補間された参照ブロックに対するPUのクロミナンスデータを符号化する234。例えば、加算器50は、参照ブロックとPUのクロミナンス部分との間の画素ごとの差分として残差ブロックを計算し得る。この場合も、この残差ブロックは、ルミナンスブロックと同様の方法で、変換され、量子化され、走査され、エントロピー符号化され得る。このようにして、図8は、ルミナンスデータに対して1/8画素精度を有する動きベクトルを使用してビデオデータの符号化単位のルミナンスデータを符号化することと、双線形補間を使用して、動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、参照ブロックの双線形補間値に基づいて符号化単位のクロミナンスデータを符号化することとを含む方法の一例を表す。図9は、動きベクトルのサブ画素精度に基づくエントロピー符号化方式を使用して、動きベクトルの動きベクトル差分値をエントロピー符号化するための例示的な方法を示すフローチャートである。例としてビデオエンコーダ20図1及び図2に関して説明するが、図9の技法はいずれのビデオ符号化ユニットによっても実行され得ることを理解されたい。その上、本開示の技法から逸脱することなく、図9に示すステップは異なる順序で実行され得、幾つかのステップは省略され得、追加のステップが追加され得る。初めに、ビデオエンコーダ20がビデオデータのブロック例えば、CUを受信する250。解像度選択ユニット48が、1/8画素精度動きベクトルを使用してCUのPUを符号化すべきか、又は1/4画素精度動きベクトルを使用してCUのPUを符号化すべきかを決定する252。例えば、ビデオエンコーダ20は、1/8画素精度を使用する符号化パスと、1/4画素精度を使用する別の符号化パスの2つの符号化パスを実行し得、解像度選択ユニット48は、2つの符号化パスから生じるレート歪み値を比較して、PUを符号化するために1/8画素精度動きベクトルを使用すべきか1/4画素精度動きベクトルを使用すべきかを決定し得る。ビデオエンコーダ20は、次いで、選択された精度の動きベクトルを使用してCUを符号化する254。例えば、動き推定ユニット42が、CUのPUの動き探索を実行し、PUのルミナンスデータを参照フレームのルミナンスデータと比較して、ルミナンスデータに対して選択された精度を有する動きベクトルを計算し得る。次いで、動き補償ユニット44が、動きベクトルを使用してPUのルミナンスデータを取り出し、また、同じ動きベクトルを使用してPUのクロミナンスデータを取り出し得る。次いで、エントロピー符号化ユニット56が動きベクトル自体を符号化し得る。例えば、エントロピー符号化ユニット56は、例えば、前に符号化された隣接PUの動きベクトルの中央値として動きベクトルのための動き予測子を選択する256。エントロピー符号化ユニット56は、次いで、受信されたPUの動きベクトルと動き予測子との間の動きベクトル差分MVDを計算する258。エントロピー符号化ユニット56は、次いで、現在のPUの動きベクトルの選択された精度に関連するMVD符号化方式を選択する260。エントロピー符号化ユニット56は、次いで、選択されたMVD符号化方式を使用してMVDを符号化する262。一例として、エントロピー符号化ユニット56は、1/4画素精度動きベクトルに対応するMVD値を符号化するための第1のMVD符号化方式と、1/8画素精度動きベクトルに対応するMVD値を符号化するための第2のMVD符号化方式とを含み得る。エントロピー符号化ユニット56が、動きベクトルが1/4画素精度を有するという指標を受信した場合、エントロピー符号化ユニット56は、第1のMVD符号化方式を使用して動きベクトルのMVD値を符号化し得る。一方、エントロピー符号化ユニット56が、動きベクトルが1/8画素精度を有するという指標を受信した場合、エントロピー符号化ユニット56は、第2のMVD符号化方式を使用して動きベクトルのMVD値を符号化し得る。第1のMVD符号化方式は、MVD値が閾値を下回るときは単項コードワードを使用してMVD値を符号化することと、他の場合はゴロムコードワードを使用してMVD値を符号化することとを備え得る。第1のMVD符号化方式の閾値は動きベクトルの1/4画素精度に対応し得る。同様に、単項コードワード及びゴロムコードワードは動きベクトルの1/4画素精度に対応し得る。従って、エントロピー符号化ユニット56が、1/4画素精度を有する第1の動きベクトルを受信したとき、エントロピー符号化ユニット56は、第1の動きベクトルのMVD値が第1のMVD符号化方式の閾値以上であるかどうかを決定し、それに応じて単項コードワード又はゴロムコードワードを使用してMVD値を符号化し得る。エントロピー符号化ユニット56はまた、MVD値が閾値を超えたかどうかの指標を与え得る。第2のMVD符号化方式は、MVD値が閾値を下回るときは単項コードワードunarycodewordを使用してMVD値を符号化することと、他の場合はゴロムコードワードを使用してMVD値を符号化することとを備え得る。第2のMVD符号化方式の閾値は動きベクトルの1/8画素精度に対応し得る。同様に、単項コードワード及びゴロムコードワードは動きベクトルの1/8画素精度に対応し得る。従って、エントロピー符号化ユニット56が、1/8画素精度を有する第2の動きベクトルを受信したとき、エントロピー符号化ユニット56は、第2の動きベクトルのMVD値が第2のMVD符号化方式の閾値以上であるかどうかを決定し、それに応じて単項コードワード又はゴロムコードワードを使用してMVD値を符号化し得る。エントロピー符号化ユニット56はまた、MVD値が閾値を超えたかどうかの指標を与え得る。このようにして、図9は、2回以上実行されるとき、ビデオデータの第1の予測単位を符号化するときに第1のサブ画素精度を有する第1の動きベクトル差分値を計算することと、第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して第1の動きベクトル差分値を符号化することとビデオデータの第2の予測単位を符号化するときに第2の異なるサブ画素精度を有する第2の動きベクトル差分値を計算することと、第2のサブ画素精度に関連する第2の動きベクトル差分符号化方式を使用して第2の動きベクトル差分値を符号化することと、を含み得る方法の一例を表す。図10は、本開示の技法による、ビデオデータを復号するための例示的な方法を示すフローチャートである。例としてビデオデコーダ30図1及び図3に関して説明するが、図10の技法はいずれのビデオ符号化ユニットによっても実行され得ることを理解されたい。その上、本開示の技法から逸脱することなく、図10に示すステップは異なる順序で実行され得、幾つかのステップは省略され得、追加のステップが追加され得る。初めに、ビデオデコーダ30がビデオデータの符号化ブロック例えば、CUのPUを受信する280。CUは、4分木データ構造に関連付けられ得るLCUに対応し得る。4分木データ構造は、CUについてのサイズ情報など、CUの特性を記述し得る。サイズ情報は、例えば、CUの深さ、PUのサイズ、及び/又はPUのタイプを含み得る。このようにして、ビデオデコーダ30は、CUのPUについてのサイズ情報を受信する282。例として、PUはCUのインター予測値に対応すると仮定する。従って、PUは、特定のサブ整数画素精度を有する動きベクトルに関連し得る。従って、ビデオデコーダ30は、更に、PUの動きベクトルのサブ画素精度の符号化された指標を受信する284。動きベクトル自体が、例えば、動きベクトル差分MVD値として符号化され得、従って、ビデオデコーダ30は、更に、動きベクトルの符号化されたMVD値を受信する286。ビデオデコーダ30は、例えば、CABACに従って、またコンテキストデータとしてPUについてのサイズ情報を使用して、動きベクトルのサブ整数画素精度の符号化された指標を復号する288。ビデオデコーダ30はまた、動きベクトルの示されたサブ画素精度に関連するMVD復号方式を使用してMVD値を復号する290。ビデオデコーダ30は、次いで、エンコーダによって適用された技法と同様の技法を使用して、動きベクトルのための動き予測子を選択し、動き予測子に動きベクトル差分値を追加して、動き予測子を再生し得る。ビデオデコーダ30は、復号された動きベクトルを使用して、動きベクトルによって参照される参照ブロックに対する受信されたCUのルミナンスデータを復号する292。ビデオデコーダ30は、動きベクトルのサブ整数画素精度に基づいて、参照ブロックのサブ整数画素位置の値を補間し得る。ビデオデコーダ30は、ルミナンスデータの予測値として参照ブロックを使用し得る。ビデオデコーダ30は、更に、例えば、TUを逆走査し、逆量子化し、逆変換することによってCUのTUを復号して、CUの残差ブロックを再生し得る。ビデオデコーダ30は、残差ブロックと予測値とを組み合わせて、PUに対応するCUの部分を復号し得る。動きベクトルが1/8画素精度を有するとき、ビデオデコーダ30は、参照ブロックのクロミナンスデータの1/16画素位置の値を双線形補間する294。このようにして、ビデオデコーダ30は、CUのクロミナンス部分の予測値を生成し得る。ルミナンスデータと同様に、ビデオデコーダ30は、1/16画素位置の値が計算された、動きベクトルによって参照される参照ブロックに対するCUのクロミナンスデータを復号する296。ビデオデコーダ30は、次いで、復号されたクロミナンスデータとルミナンスデータとを含む復号されたCUを出力する298。このようにして、図10は、第1のサブ画素精度又は第2の異なるサブ画素精度のうちの1つを有する動きベクトルを使用して符号化された、ビデオデータの符号化単位の符号化予測単位を受信することと、動きベクトルが第1のサブ画素精度を有するのか第2のサブ画素精度を有するのかについてのコンテキスト適応型バイナリ算術符号化指標を受信することと、指標を復号するためのコンテキストを決定することであって、コンテキストが、符号化単位の深さと、予測単位のサイズと、予測単位のタイプとのうちの少なくとも1つを備える、決定することと、コンテキスト適応型バイナリ算術符号化に従って、決定されたコンテキストを使用して指標をエントロピー復号することとを含む方法の一例を表す。図10はまた、ビデオデータの符号化単位のルミナンスデータに対して1/8画素精度を有する動きベクトルを受信することと、双線形補間を使用して、動きベクトルによって識別される参照ブロックのクロミナンスデータの1/16画素位置の値を計算することと、参照ブロックの双線形補間値に基づいて符号化単位のクロミナンスデータを復号することとを含む方法の一例を表す。図10は、更に、ビデオデータの第1の予測単位の第1の動きベクトル差分値を受信することと、第1のサブ画素精度に関連する第1の動きベクトル差分符号化方式を使用して第1の動きベクトル差分値を復号することと、ビデオデータの第2の予測単位の第2の動きベクトル差分値を受信することと、第2のサブ画素精度に関連する第2の動きベクトル差分復号方式を使用して第2の動きベクトル差分値を復号することと、を含み、第1の動きベクトル差分値が第1のサブ画素精度を有し、第2の動きベクトル差分値が第2の異なるサブ画素精度を有する、方法の一例を表す。1つ以上の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ソフトウェアで実装した場合、機能は、1つ以上の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、又はコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルに従ってある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体又は通信媒体など、有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、1非一時的である有形コンピュータ可読記憶媒体、又は2信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コード及び/又はデータ構造を取り出すために1つ以上のコンピュータ又は1つ以上のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROM又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気ストレージ機器、フラッシュメモリ、あるいは命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線DSL、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスクdisk及びディスクdiscは、コンパクトディスクdiscCD、レーザディスクdisc、光ディスクdisc、デジタル多用途ディスクdiscDVD、フロッピー登録商標ディスクdisk及びブルーレイ登録商標ディスクdiscを含み、ディスクdiskは、通常、データを磁気的に再生し、ディスクdiscは、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。命令は、1つ以上のデジタル信号プロセッサDSPなどの1つ以上のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路ASIC、フィールドプログラマブル論理アレイFPGA、あるいは他の等価な集積回路又はディスクリート論理回路によって実行され得る。従って、本明細書で使用するプロセッサという用語は、前述の構造、又は本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。更に、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内に与えられ得、若しくは複合コーデックに組み込まれ得る。また、本技法は、1つ以上の回路又は論理要素において完全に実装され得る。本開示の技法は、ワイヤレスハンドセット、集積回路IC、又はICのセット例えば、チップセットを含む、多種多様な機器又は装置において実装され得る。本開示では、開示した技法を実行するように構成された機器の機能的態様を強調するために、様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び/又はファームウェアとともに、上記で説明した1つ以上のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、若しくは相互動作ハードウェアユニットの集合によって与えられ得る。