"ビデオコーディングプロセス中にビデオデータのブロックに関連する係数をコーディングする方法であって、前記方法は、前記ブロックに関連する走査順序が第1の走査順序を備えるとき、前記走査順序に従う前記ブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングすることと、前記走査順序が前記第1の走査順序とは異なる第2の走査順序を備えるとき、前記走査順序に従う前記ブロック内の前記最後非ゼロ係数の前記位置を示す交換されたx座標およびy座標をコーディングすることと、を備える方法。前記第1の走査順序と前記第2の走査順序とは互いに対して対称的である、請求項1に記載の方法。前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記水平走査順序と前記垂直走査順序とは、前記ブロック内の共通の位置において始まる、請求項1に記載の方法。前記走査順序が、前記第1の走査順序および前記第2の走査順序とは異なる第3の走査順序を備えるとき、前記x座標およびy座標をコーディングすること、をさらに備える、請求項1に記載の方法。前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記第3の走査順序はジグザグ走査順序を備え、前記水平走査順序と、前記垂直走査順序と、前記ジグザグ走査順序とは、前記ブロック内の共通の位置において始まる、請求項4に記載の方法。前記x座標およびy座標のそれぞれが所与の値を備える確率を示す統計値を決定することをさらに備え、前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングすることは、前記x座標が所与の値を備える前記確率が、前記x座標と、前記交換されたy座標とをコーディングするために使用され、前記y座標が所与の値を備える前記確率が、前記y座標と、前記交換されたx座標とをコーディングするために使用されるように、前記統計値に基づいてコーディングすることを備える、請求項1に記載の方法。前記x座標が所与の値を備える前記確率が、前記x座標と、前記交換されたy座標とを使用して更新され、前記y座標が所与の値を備える前記確率が、前記y座標と、前記交換されたx座標とを使用して更新されるように、前記x座標およびy座標と、前記交換されたx座標およびy座標とに基づいて前記統計値を更新すること、をさらに備える、請求項6に記載の方法。前記統計値に基づいて、前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングすることは、少なくとも1つのコンテキストに基づいて前記統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスを実行すること、を備え、前記少なくとも1つのコンテキストは、前記x座標およびy座標と、前記交換されたx座標およびy座標と、前記走査順序とのうちの1つを含む、請求項6に記載の方法。前記x座標およびy座標と、前記交換されたx座標およびy座標との各々は、1つまたは複数のビンのシーケンスを備え、前記x座標およびy座標と、前記交換されたx座標およびy座標とのうちの前記1つに基づいて前記統計値を含む前記コンテキストモデルを適用することを含む前記コンテキスト適応型エントロピーコーディングプロセスを実行することによって、前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングすることは、他方の座標に対応する前記シーケンスの少なくとも1つのビンの値に少なくとも部分的に基づいて前記コンテキストモデルから前記統計値を選択することによって、前記座標のうちの1つに対応する前記シーケンスの少なくとも1つのビンをコーディングすることを備える、請求項8に記載の方法。前記x座標およびy座標と、前記交換されたx座標およびy座標との各々は、1つまたは複数のビンのシーケンスを備え、前記方法は、インターリーブ式に、前記座標のうちの1つに対応する前記シーケンスの前記1つまたは複数のビンと、前記他方の座標に対応する前記シーケンスの前記1つまたは複数のビンとをコーディングすることをさらに備える、請求項1に記載の方法。前記走査順序を識別する情報をコーディングすること、をさらに備える、請求項1に記載の方法。前記ブロック内の他の非ゼロ係数の位置を識別する情報をコーディングすること、をさらに備える、請求項11に記載の方法。ビデオコーディングプロセス中にビデオデータのブロックに関連する係数をコーディングする方法であって、前記方法は、前記ブロックに関連する走査順序に従う前記ブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングすること、を備え、前記走査順序は複数の走査順序のうちの1つを備え、前記複数の走査順序の各々は、前記ブロック内の共通の位置において始まり、前記x座標およびy座標をコーディングすることは、前記x座標が前記共通の位置に対応するかどうかを示す情報をコーディングすることと、前記y座標が前記共通の位置に対応するかどうかを示す情報をコーディングすることと、前記x座標が前記共通の位置に対応せず、前記y座標が前記共通の位置に対応しない場合、前記走査順序を識別する情報をコーディングすることと、前記x座標が前記共通の位置に対応しない場合、前記走査順序に基づいて前記x座標をコーディングすることと、前記y座標が前記共通の位置に対応しない場合、前記走査順序に基づいて前記y座標をコーディングすることと、を備える、方法。前記走査順序に基づいて前記x座標および前記y座標をコーディングすることは、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスを実行することを備え、前記少なくとも1つのコンテキストは前記走査順序を含む、請求項13に記載の方法。ビデオコーディングプロセス中にビデオデータのブロックに関連する係数をコーディングするための装置であって、前記装置は、前記ブロックに関連する走査順序が第1の走査順序を備えるとき、前記走査順序に従う前記ブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングし、前記走査順序が前記第1の走査順序とは異なる第2の走査順序を備えるとき、前記走査順序に従う前記ブロック内の前記最後非ゼロ係数の前記位置を示す交換されたx座標およびy座標をコーディングするように構成されたビデオコーダを備える装置。前記第1の走査順序と前記第2の走査順序とは互いに対して対称的である、請求項15に記載の装置。前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記水平走査順序と前記垂直走査順序とは、前記ブロック内の共通の位置において始まる、請求項15に記載の装置。前記ビデオコーダは、前記走査順序が第3の走査順序を備えるとき、前記x座標およびy座標をコーディングするようにさらに構成された、請求項15に記載の装置。前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記第3の走査順序はジグザグ走査順序を備え、前記水平走査順序と、前記垂直走査順序と、前記ジグザグ走査順序とは、前記ブロック内の共通の位置において始まる、請求項18に記載の装置。前記ビデオコーダは、前記x座標およびy座標のそれぞれが所与の値を備える確率を示す統計値を決定するようにさらに構成され、前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングするために、前記ビデオコーダは、前記x座標が所与の値を備える前記確率が、前記x座標と、前記交換されたy座標とをコーディングするために使用され、前記y座標が所与の値を備える前記確率が、前記y座標と、前記交換されたx座標とをコーディングするために使用されるように、前記統計値に基づいてコーディングするように構成された、請求項15に記載の装置。前記ビデオコーダは、前記x座標が所与の値を備える前記確率が、前記x座標と、前記交換されたy座標とを使用して更新され、前記y座標が所与の値を備える前記確率が、前記y座標と、前記交換されたx座標とを使用して更新されるように、前記x座標およびy座標と、前記交換されたx座標およびy座標とに基づいて前記統計値を更新するようにさらに構成された、請求項20に記載の装置。前記統計値に基づいて、前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングするために、前記ビデオコーダは、前記ビデオコーダが少なくとも1つのコンテキストに基づいて前記統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスを実行するように構成され、前記少なくとも1つのコンテキストは、前記x座標およびy座標と、前記交換されたx座標およびy座標と、前記走査順序とのうちの1つを含む、請求項20に記載の装置。前記x座標およびy座標と、前記交換されたx座標およびy座標との各々が、1つまたは複数のビンのシーケンスを備え、前記ビデオコーダが、前記x座標およびy座標と、前記交換されたx座標およびy座標とのうちの前記1つに基づいて前記統計値を含む前記コンテキストモデルを適用することを含む、前記コンテキスト適応型エントロピーコーディングプロセスを実行することによって、前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングするために、前記ビデオコーダは、他方の座標に対応する前記シーケンスの少なくとも1つのビンの値に少なくとも部分的に基づいて前記コンテキストモデルから前記統計値を選択することによって、前記座標のうちの1つに対応する前記シーケンスの少なくとも1つのビンをコーディングするように構成された、請求項22に記載の装置。前記x座標およびy座標と、前記交換されたx座標およびy座標との各々は、1つまたは複数のビンのシーケンスを備え、前記ビデオコーダは、インターリーブ式に、前記座標のうちの1つに対応する前記シーケンスの前記1つまたは複数のビンと、前記他方の座標に対応する前記シーケンスの前記1つまたは複数のビンとをコーディングするようにさらに構成された、請求項15に記載の装置。前記装置は、集積回路と、マイクロプロセッサと、前記ビデオコーダを含むワイヤレス通信デバイスと、のうちの少なくとも1つを備える、請求項15に記載の装置。ビデオコーディングプロセス中にビデオデータのブロックに関連する係数をコーディングするための装置であって、前記装置は、前記ブロックに関連する走査順序に従う前記ブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングするように構成されたビデオコーダを備え、前記走査順序は複数の走査順序のうちの1つを備え、前記複数の走査順序の各々は、前記ブロック内の共通の位置において始まり、前記x座標およびy座標をコーディングするために、前記ビデオコーダは、前記x座標が前記共通の位置に対応するかどうかを示す情報をコーディングし、前記y座標が前記共通の位置に対応するかどうかを示す情報をコーディングし、前記x座標が前記共通の位置に対応せず、前記y座標が前記共通の位置に対応しない場合、前記走査順序を識別する情報をコーディングし、前記x座標が前記共通の位置に対応しない場合、前記走査順序に基づいて前記x座標をコーディングし、前記y座標が前記共通の位置に対応しない場合、前記走査順序に基づいて前記y座標をコーディングするように構成された、装置。前記走査順序に基づいて前記x座標および前記y座標をコーディングするために、前記ビデオコーダは、前記ビデオコーダが少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスを実行するように構成され、前記少なくとも1つのコンテキストは前記走査順序を含む、請求項26に記載の装置。前記装置は、集積回路と、マイクロプロセッサと、前記ビデオコーダを含むワイヤレス通信デバイスと、のうちの少なくとも1つを備える、請求項26に記載の装置。ビデオコーディングプロセス中にビデオデータのブロックに関連する係数をコーディングするためのデバイスであって、前記デバイスは、前記ブロックに関連する走査順序が第1の走査順序を備えるとき、前記走査順序に従う前記ブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングする手段と、前記走査順序が前記第1の走査順序とは異なる第2の走査順序を備えるとき、前記走査順序に従う前記ブロック内の前記最後非ゼロ係数の前記位置を示す交換されたx座標およびy座標をコーディングする手段と、を備えるデバイス。前記第1の走査順序と前記第2の走査順序とは互いに対して対称的である、請求項29に記載のデバイス。前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記水平走査順序と前記垂直走査順序とは、前記ブロック内の共通の位置において始まる、請求項29に記載のデバイス。前記走査順序が第3の走査順序を備えるとき、前記x座標およびy座標をコーディングする手段、をさらに備える請求項29に記載のデバイス。前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記第3の走査順序はジグザグ走査順序を備え、前記水平走査順序と、前記垂直走査順序と、前記ジグザグ走査順序とは、前記ブロック内の共通の位置において始まる、請求項32に記載のデバイス。前記x座標およびy座標のそれぞれが所与の値を備える確率を示す統計値を決定する手段をさらに備え、前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングする手段は、前記x座標が所与の値を備える前記確率が、前記x座標と、前記交換されたy座標とをコーディングするために使用され、前記y座標が所与の値を備える前記確率が、前記y座標と、前記交換されたx座標とをコーディングするために使用されるように、前記統計値に基づいてコーディングする手段を備える、請求項29に記載のデバイス。前記x座標が所与の値を備える前記確率が、前記x座標と、前記交換されたy座標とを使用して更新され、前記y座標が所与の値を備える前記確率が、前記y座標と、前記交換されたx座標とを使用して更新されるように、前記x座標およびy座標と、前記交換されたx座標およびy座標とに基づいて前記統計値を更新する手段をさらに備える、請求項34に記載のデバイス。前記統計値に基づいて、前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングする前記手段は、少なくとも1つのコンテキストに基づいて前記統計値を含むコンテキストモデルを適用する手段を含むコンテキスト適応型エントロピーコーディングプロセスを実行する手段を備え、前記少なくとも1つのコンテキストは、前記x座標およびy座標と、前記交換されたx座標およびy座標と、前記走査順序とのうちの1つを含む、請求項34に記載のデバイス。前記x座標およびy座標と、前記交換されたx座標およびy座標との各々は、1つまたは複数のビンのシーケンスを備え、前記x座標およびy座標と、前記交換されたx座標およびy座標とのうちの前記1つに基づいて前記統計値を含む前記コンテキストモデルを適用する前記手段を含む前記コンテキスト適応型エントロピーコーディングプロセスを実行する前記手段を備える、前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングする前記手段は、他方の座標に対応する前記シーケンスの少なくとも1つのビンの値に少なくとも部分的に基づいて前記コンテキストモデルから前記統計値を選択することによって、前記座標のうちの1つに対応する前記シーケンスの少なくとも1つのビンをコーディングする手段を備える、請求項36に記載のデバイス。前記x座標およびy座標と、前記交換されたx座標およびy座標との各々は、1つまたは複数のビンのシーケンスを備え、前記デバイスは、インターリーブ式に、前記座標のうちの1つに対応する前記シーケンスの前記1つまたは複数のビンと、前記他方の座標に対応する前記シーケンスの前記1つまたは複数のビンとをコーディングする手段をさらに備える、請求項29に記載のデバイス。ビデオコーディングプロセス中にビデオデータのブロックに関連する係数をコーディングするためのデバイスであって、前記デバイスは、前記ブロックに関連する走査順序に従う前記ブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングする手段を備え、前記走査順序は複数の走査順序のうちの1つを備え、前記複数の走査順序の各々が、前記ブロック内の共通の位置において始まり、前記x座標およびy座標をコーディングする手段は、前記x座標が前記共通の位置に対応するかどうかを示す情報をコーディングする手段と、前記y座標が前記共通の位置に対応するかどうかを示す情報をコーディングする手段と、前記x座標が前記共通の位置に対応せず、前記y座標が前記共通の位置に対応しない場合、前記走査順序を識別する情報をコーディングする手段と、前記x座標が前記共通の位置に対応しない場合、前記走査順序に基づいて前記x座標をコーディングする手段と、前記y座標が前記共通の位置に対応しない場合、前記走査順序に基づいて前記y座標をコーディングする手段と、を備える、デバイス。前記走査順序に基づいて前記x座標および前記y座標をコーディングする前記手段は、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用するための手段を含むコンテキスト適応型エントロピーコーディングプロセスを実行する手段を備え、前記少なくとも1つのコンテキストは前記走査順序を含む、請求項39に記載のデバイス。実行されたとき、プロセッサに、ビデオコーディングプロセス中にビデオデータのブロックに関連する係数をコーディングさせる命令を備えるコンピュータ可読媒体であって、前記命令は、前記プロセッサに、前記ブロックに関連する走査順序が第1の走査順序を備えるとき、前記走査順序に従う前記ブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングさせ、前記走査順序が前記第1の走査順序とは異なる第2の走査順序を備えるとき、前記走査順序に従う前記ブロック内の前記最後非ゼロ係数の前記位置を示す交換されたx座標およびy座標をコーディングさせる、コンピュータ可読媒体。前記第1の走査順序と前記第2の走査順序とは互いに対して対称的である、請求項41に記載のコンピュータ可読媒体。前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記水平走査順序と前記垂直走査順序とは、前記ブロック内の共通の位置において始まる、請求項41に記載のコンピュータ可読媒体。前記プロセッサに、前記走査順序が第3の走査順序を備えるとき、前記x座標およびy座標をコーディングさせる命令をさらに備える、請求項41に記載のコンピュータ可読媒体。前記第1の走査順序は水平走査順序を備え、前記第2の走査順序は垂直走査順序を備え、前記第3の走査順序はジグザグ走査順序を備え、前記水平走査順序と、前記垂直走査順序と、前記ジグザグ走査順序とは、前記ブロック内の共通の位置において始まる、請求項44に記載のコンピュータ可読媒体。前記プロセッサに、前記x座標およびy座標のそれぞれが所与の値を備える確率を示す統計値を決定させる命令をさらに備え、前記プロセッサに、前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングさせる前記命令は、前記プロセッサに、前記x座標が所与の値を備える前記確率が、前記x座標と、前記交換されたy座標とをコーディングするために使用され、前記y座標が所与の値を備える前記確率が、前記y座標と、前記交換されたx座標とをコーディングするために使用されるように、前記統計値に基づいてコーディングさせる命令を備える、請求項41に記載のコンピュータ可読媒体。前記プロセッサに、前記x座標が所与の値を備える前記確率が、前記x座標と、前記交換されたy座標とを使用して更新され、前記y座標が所与の値を備える前記確率が、前記y座標と、前記交換されたx座標とを使用して更新されるように、前記x座標およびy座標と、前記交換されたx座標およびy座標とに基づいて前記統計値を更新させる命令をさらに備える、請求項46に記載のコンピュータ可読媒体。前記プロセッサに、前記統計値に基づいて、前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングさせる前記命令は、前記プロセッサに、少なくとも1つのコンテキストに基づいて前記統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスを実行させる命令を備え、前記少なくとも1つのコンテキストは、前記x座標およびy座標と、前記交換されたx座標およびy座標と、前記走査順序とのうちの1つを含む、請求項46に記載のコンピュータ可読媒体。前記x座標およびy座標と、前記交換されたx座標およびy座標との各々は、1つまたは複数のビンのシーケンスを備え、前記プロセッサに、前記x座標およびy座標と、前記交換されたx座標およびy座標とのうちの前記1つに基づいて前記統計値を含む前記コンテキストモデルを適用することを含む前記コンテキスト適応型エントロピーコーディングプロセスを実行させる前記命令を備える、前記プロセッサに、前記x座標およびy座標と、前記交換されたx座標およびy座標とをコーディングさせる前記命令は、前記プロセッサに、他方の座標に対応する前記シーケンスの少なくとも1つのビンの値に少なくとも部分的に基づいて前記コンテキストモデルから前記統計値を選択することによって、前記座標のうちの1つに対応する前記シーケンスの少なくとも1つのビンをコーディングさせる命令を備える請求項48に記載のコンピュータ可読媒体。前記x座標およびy座標と、前記交換されたx座標およびy座標との各々は、1つまたは複数のビンのシーケンスを備え、前記コンピュータ可読媒体は、前記プロセッサに、インターリーブ式に、前記座標のうちの1つに対応する前記シーケンスの前記1つまたは複数のビンと、前記他方の座標に対応する前記シーケンスの前記1つまたは複数のビンとをコーディングさせる命令をさらに備える、請求項41に記載のコンピュータ可読媒体。実行されたとき、プロセッサに、ビデオコーディングプロセス中にビデオデータのブロックに関連する係数をコーディングさせる命令を備えるコンピュータ可読媒体であって、前記命令は、前記プロセッサに、前記ブロックに関連する走査順序に従う前記ブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングさせ、前記走査順序は複数の走査順序のうちの1つを備え、前記複数の走査順序の各々は、前記ブロック内の共通の位置において始まり、前記プロセッサに、前記x座標およびy座標をコーディングさせる前記命令は、前記プロセッサに、前記x座標が前記共通の位置に対応するかどうかを示す情報をコーディングさせ、前記y座標が前記共通の位置に対応するかどうかを示す情報をコーディングさせ、前記x座標が前記共通の位置に対応せず、前記y座標が前記共通の位置に対応しない場合、前記走査順序を識別する情報をコーディングさせ、前記x座標が前記共通の位置に対応しない場合、前記走査順序に基づいて前記x座標をコーディングさせ、前記y座標が前記共通の位置に対応しない場合、前記走査順序に基づいて前記y座標をコーディングさせる命令を備える、コンピュータ可読媒体。前記プロセッサに、前記走査順序に基づいて前記x座標および前記y座標をコーディングさせる前記命令は、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスを実行させる命令を備え、前記少なくとも1つのコンテキストは前記走査順序を含む、請求項51に記載のコンピュータ可読媒体。0029本開示は、ビデオデータのブロックに関連する走査順序に従うブロック内の最後非ゼロまたは最後有効係数の位置を識別する情報、すなわち、ブロックの最後有効係数位置情報をコーディングするための技法を含む、ビデオコーディングプロセス中にブロックに関連する係数をコーディングするための技法について説明する。本開示の技法は、ビデオデータのブロックに関連する走査順序を識別する情報、すなわち、ブロックの走査順序情報に基づいて特定のブロックの最後有効係数位置情報をコーディングすることによって、ブロックをコーディングするために使用されるブロックのための最後有効係数位置情報のコーディングの効率を改善し得る。言い換えれば、本技法は、情報がコーディングされるとき、ブロックの最後有効係数位置情報の圧縮を改善し得る。本開示の技法はまた、ブロックの最後有効係数位置情報をコーディングするとき、複数の走査順序のうちの1つがブロックをコーディングするために使用されるときに共通の統計値を使用して特定のブロックの最後有効係数位置情報をコーディングすることによって、他のシステムに対して複雑さがより少ないコーディングシステムを使用することを可能にし得る。0030本開示では、コーディングという用語は、エンコーダにおいて行われる符号化、またはデコーダにおいて行われる復号を指す。同様に、コーダという用語は、エンコーダ、デコーダ、または複合エンコーダ/デコーダコーデックを指す。コーダ、エンコーダ、デコーダおよびコーデックという用語はすべて、本開示に一致するビデオデータのコーディング符号化および/または復号のために設計された特定の機械を指す。0031概して、これらの技法の開発において実行された経験的テストにより、ビデオデータのブロックのための最後有効係数位置情報と走査順序情報との間の相関関係が証明されている。たとえば、ブロックに関連する走査順序、すなわち、ブロックをコーディングするために使用される走査順序に従うビデオデータのブロック内の最後有効係数の位置は、走査順序に依存し得る。言い換えれば、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率を示す統計値は、ブロックをコーディングするためにどの走査順序が使用されるか応じて変動し得る。したがって、ブロックの最後有効係数位置情報をコーディングするために使用される統計値が、ブロックの走査順序情報に少なくとも部分的に基づいて選択されるように、コンテキスト適応型エントロピーコーディングを使用して最後有効係数位置情報をコーディングすることにより、統計値がより正確になり得、したがって、最後有効係数位置情報のコーディングがより効率的になり得る。0032さらに、本開示の技法によれば、ビデオデータのブロックの最後有効係数位置情報は、ブロックに関連する走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標を使用してコーディングされ得る。これらの場合、上記で説明した統計値は、走査順序に従うブロック内の最後有効係数の位置に対応する座標、たとえば、x座標またはy座標が所与の値たとえば、0、1、2などを備える確率を示し得る。いくつかの走査順序、たとえば、第1の走査順序と第2の走査順序とは、互いに対して対称的または少なくとも部分的に対称的であり得るので、走査順序が第1の走査順序を備えるときにx座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにy座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。同様に、走査順序が第1の走査順序を備えるときにy座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにx座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。すなわち、走査順序が第1の走査順序を備えるときのx座標およびy座標はそれぞれ、走査順序が第2の走査順序を備えるときのスワップまたは交換されたx座標およびy座標とそれぞれ同じまたは同様である、所与の値を備える確率を有し得る。したがって、x座標およびy座標と、交換されたx座標およびy座標とは、共通の統計値を使用してコーディングされ得る。0033したがって、共通の統計値を使用して、走査順序が第1の走査順序を備えるときにx座標およびy座標をコーディングすることと、走査順序が第2の走査順序を備えるときに交換されたx座標およびy座標をコーディングすることとにより、コーディングシステムの複雑さが低減され得る。さらに、また、x座標およびy座標と、交換されたx座標およびy座標とに基づいて共通の統計値を更新することにより、より正確な統計値が生じ得、それによって、この場合も、最後有効係数位置情報のコーディングがより効率的になり得る。0034一例として、本開示の技法は、ビデオデータの特定のブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標をコーディングすることと、走査順序が第2の走査順序を備えるとき、走査順序に従うブロック内の最後有効係数の位置を示す交換されたx座標およびy座標をコーディングすることとによって、コーディング効率を改善し、コーディングシステムの複雑さを低減し得る。0035この例では、x座標およびy座標と、交換されたx座標およびy座標とは、コンテキスト適応型エントロピーコーディングのために共通の統計値を使用してコーディングされ得、それにより、他のシステム、たとえば、ビデオデータのブロックをコーディングするためにシステム内で使用され得る走査順序ごとに別個の統計値を含むシステムに対してより少ない複雑さを有するコーディングシステムを使用することになり得る。さらに、共通の統計値は、x座標およびy座標と、交換されたx座標およびy座標とに基づいて更新され得、これにより、他の技法を使用して更新された同様の統計値、たとえば、ビデオデータのブロックをコーディングするためにシステム内で使用され得る特定の走査順序のために更新された統計値よりも統計値が正確になり得る。その結果、x座標およびy座標、ならびに交換されたx座標およびy座標、すなわち、ブロックの最後有効係数位置情報は、他の方法を使用してコーディングされた同様の情報よりも効率的にコーディングされ得る。0036別の例として、本開示の技法は、必要な程度まで、増分的にinanincrementalmannerビデオデータのブロックの最後有効係数位置情報をコーディングすることによってコーディング効率を改善し得る。その結果、最後有効係数位置情報は、他の技法、たとえば、常に全体としてブロックの最後有効係数位置情報をコーディングすることを使用したときよりも、少ない情報を使用してコーディングされ得る。さらに、最後有効係数位置情報を全体としてコーディングすることが必要である場合、この情報をコーディングするために使用される統計値が、ブロックの走査順序情報に少なくとも部分的に基づいて選択されるように、コンテキスト適応型エントロピーコーディングを使用して情報をコーディングすることによって、コーディング効率は改善され得る。このようにして最後有効係数位置情報をコーディングすることにより、他の方法、たとえば、ブロックの走査順序情報を考慮することなしに統計値を選択することを使用したときよりも、正確な統計値を使用することになり得、この場合も、最後有効係数位置情報のコーディングがより効率的になり得る。0037上記で説明した例では、統計値を使用してビデオデータのブロックの最後有効係数位置情報をコーディングするために、この情報は、1つまたは複数のコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含む、コンテキスト適応型バイナリ算術コーディングCABACプロセスを実行することによってコーディングされ得る。他の例では、コンテキスト適応型可変長コーディングCAVLC、確率間隔区分エントロピーコーディングPIPE、および他のコンテキスト適応型エントロピーコーディングプロセスなど、他のコンテキスト適応型エントロピーコーディングプロセスでも本開示の技法を使用し得る。本開示では、例示のためにCABACについて説明するが、本開示で広く説明する技法に関して限定されない。また、本技法は、たとえば、ビデオデータに加えて、他のデータのタイプのコーディングに一般に適用され得る。0038上記で説明した方法でビデオデータの1つまたは複数のブロックのための最後有効係数位置情報をコーディングすることにより、他の方法に対してより効率的なコーディング方法を使用することと、他のシステムに対してより少ない複雑さを有するコーディングシステムを使用することとが可能になり得る。このようにして、本開示の技法を使用すると、この情報を含むコード化ビットストリームの相対的ビット節約と、この情報をコーディングするために使用されるシステムの複雑さの相対的低減とが存在し得る。0039図1は、本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的にコーディングするための技法を実装し得るビデオ符号化および復号システム10の一例を示すブロック図である。図1に示すように、システム10は、通信チャネル16を介して符号化ビデオを宛先デバイス14に送信するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレスハンドセット、いわゆるセルラー無線電話または衛星無線電話などのワイヤレス通信デバイス、あるいは通信チャネル16を介してビデオ情報を通信することができる任意のワイヤレスデバイスを備え得、その場合、通信チャネル16はワイヤレスである。0040ただし、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的にコーディングすることに関係する本開示の技法は、必ずしもワイヤレスアプリケーションまたは設定に限定されるとは限らない。これらの技法は、オーバージエアテレビジョンブロードキャスト、ケーブルテレビジョン送信、衛星テレビジョン送信、ストリーミングインターネットビデオ送信、記憶媒体上に符号化されるかまたは記憶媒体から取り出され、復号される符号化デジタルビデオ、あるいは他のシナリオを含む、符号化または復号が実行される任意のシナリオに一般的に適用され得る。したがって、通信チャネル16は必要とされず、本開示の技法は、たとえば、符号化デバイスと復号デバイスとの間のデータ通信なしに、符号化が適用されるかまたは復号が適用される設定に適用され得る。0041図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、変調器/復調器モデム22と、送信機24とを含む。宛先デバイス14は、受信機26と、モデム28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。本開示に従って、ソースデバイス12のビデオエンコーダ20および/または宛先デバイス14のビデオデコーダ30は、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的にコーディングするための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含み得る。たとえば、ソースデバイス12は、外部カメラなど、外部ビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。0042図1の図示のシステム10は一例にすぎない。ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的にコーディングするための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般にコーデックと呼ばれるビデオエンコーダ/デコーダによっても実行され得る。その上、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14に送信するためのコード化ビデオデータを生成する、そのようなコーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオテレフォニーのための、ビデオデバイス12とビデオデバイス14との間の一方向または双方向のビデオ送信をサポートし得る。0043ソースデバイス12のビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および/またはビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤードアプリケーションに適用され得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオ情報は、次いで、通信規格に従ってモデム22によって変調され、送信機24を介して宛先デバイス14に送信され得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機24は、増幅器、フィルタ、および1つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。0044宛先デバイス14の受信機26はチャネル16を介して情報を受信し、モデム28はその情報を復調する。この場合も、上記で説明したビデオ符号化プロセスは、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的にコーディングするために本明細書で説明する技法のうちの1つまたは複数を実装し得る。チャネル16を介して通信される情報は、ビデオデータのブロックたとえば、マクロブロック、またはコーディングユニットの特性および/または処理を記述するシンタックス要素、たとえば、ブロックの最後有効係数位置情報および/または走査順序情報、ならびに他の情報を含む、ビデオエンコーダ20によって定義され、ビデオデコーダ30によっても使用されるシンタックス情報を含み得る。ディスプレイデバイス32は、復号されたビデオデータをユーザに対して表示し、陰極線管CRT、液晶ディスプレイLCD、プラズマディスプレイ、有機発光ダイオードOLEDディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。0045図1の例では、通信チャネル16は、無線周波数RFスペクトルあるいは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル16は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル16は、概して、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス12から宛先デバイス14に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル16は、ソースデバイス12から宛先デバイス14への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。他の例では、符号化または復号デバイスは、そのようなデバイス間の通信なしに本開示の技法を実装し得る。たとえば、符号化デバイスは、本開示の技法に一致する符号化ビットストリームを符号化し、記憶し得る。代替的に、復号デバイスは、符号化ビットストリームを受信するかまたは取り出し、本開示の技法に一致するビットストリームを復号し得る。0046ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG-4、Part10、アドバンストビデオコーディングAVCと呼ばれるITU-TH.264規格など、ビデオ圧縮規格に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例には、MPEG-2、ITU-TH.263、および現在開発中の高効率ビデオコーディングHEVC規格がある。概して、本開示の技法について、HEVCに関して説明するが、これらの技法は、同様に他のビデオコーディング規格と併せて使用され得ることを理解されたい。図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なMUX-DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、MUX-DEMUXユニットは、ITUH.223マルチプレクサプロトコル、またはユーザデータグラムプロトコルUDPなどの他のプロトコルに準拠し得る。0047ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサDSP、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGA、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダおよびデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合エンコーダ/デコーダコーデックの一部としてそれぞれのカメラ、コンピュータ、モバイルデバイス、加入者デバイス、ブロードキャストデバイス、セットトップボックス、サーバなどに統合され得る。0048ビデオシーケンスは、一般に一連のビデオフレームを含む。ピクチャのグループGOP:groupofpicturesは、概して、一連の1つまたは複数のビデオフレームを備える。GOPは、GOP中に含まれるいくつかのフレームを記述するシンタックスデータを、GOPのヘッダ中、GOPの1つまたは複数のフレームのヘッダ中、または他の場所に含み得る。各フレームは、それぞれのフレームのための符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ、たとえば、ビデオエンコーダ20は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。ITU-TH.264規格によれば、ビデオブロックは、マクロブロックまたはマクロブロックのパーティションに対応し得る。他の規格、たとえば、以下でさらに詳細に説明するHEVCによれば、ビデオブロックは、コーディングユニットたとえば、最大コーディングユニット、またはコーディングユニットのパーティションに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。各ビデオフレームは、複数のスライス、すなわち、ビデオフレームの部分を含み得る。各スライスは複数のビデオブロックを含み得、それらのビデオブロックは、サブブロックとも呼ばれるパーティションに構成され得る。0049指定のコーディング規格に応じて、ビデオブロックは、16×16、8×8、4×4、2×2など、様々なN×Nサブブロックサイズに区分され得る。本開示では、N×NとNbyNは、垂直寸法および水平寸法に関するブロックのピクセル寸法、たとえば、16×16ピクセルまたは16by16ピクセルを指すために互換的に使用され得る。一般に、16×16ブロックは、垂直方向に16ピクセルを有しy=16、水平方向に16ピクセルを有するx=16。同様に、N×Nブロックは、一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ただし、Nは非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックはN×Mピクセルを備え得、ただし、Mは必ずしもNに等しいとは限らない。一例として、ITU-TH.264規格では、サイズが16×16ピクセルであるブロックはマクロブロックと呼ばれることがあり、16×16ピクセルよりも小さいブロックは、16×16マクロブロックのパーティションと呼ばれることがある。他の規格、たとえば、HEVCでは、ブロックは、より一般的にそれらのサイズに関して、たとえば、各々が固定サイズではなく可変サイズを有する、コーディングユニットおよびそれのパーティションとして定義され得る。0050ビデオブロックは、ピクセル領域におけるピクセルデータのブロックを備え得、あるいは、たとえば、所与のビデオブロックのための残差データへの離散コサイン変換DCT、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後の、変換領域における変換係数のブロックを備え得、残差データは、ブロックのビデオデータと、ブロックのために生成される予測データとの間のピクセル差分を表す。場合によっては、ビデオブロックは、変換領域における量子化変換係数のブロックを備え得、所与のビデオブロックのための残差データへの変換の適用後に、得られた変換係数も量子化される。0051ブロック区分は、ブロックベースのビデオコーディング技法において重要な目的をはたす。ビデオデータをコーディングするためにより小さいブロックを使用すると、高レベルのディテールを含むビデオフレームのロケーションのためのデータの予測がより良くなり得、したがって、残差データとして表される得られた誤差すなわち、ソースビデオデータからの予測データの偏差が低減し得る。ただし、潜在的に残差データは低減されるが、そのような技法では、より小さいブロックがビデオフレームに対してどのように区分されるかを示すための追加のシンタックス情報が必要とされ得、コード化ビデオビットレートの増加が生じ得る。したがって、いくつかの技法では、ブロック区分は、追加のシンタックス情報によるコード化ビデオデータのビットレートの得られる増加に対して、残差データの望ましい減少を平衡させることに依存し得る。0052概して、ブロック、およびそれの様々なパーティションすなわち、サブブロックは、ビデオブロックと見なされ得る。さらに、スライスは、複数のビデオブロックたとえば、マクロブロック、もしくはコーディングユニット、および/またはサブブロックマクロブロックのパーティション、またはサブコーディングユニットであると見なされ得る。各スライスはビデオフレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体が復号可能なユニットであり得るか、またはフレームの他の部分が復号可能なユニットとして定義され得る。さらに、シーケンスとも呼ばれるGOPが、復号可能なユニットとして定義され得る。0053高効率ビデオコーディングHEVCと現在呼ばれる、新しいビデオコーディング規格を開発するための取り組みが現在進行中である。新生のHEVC規格はH.265と呼ばれることもある。この規格化の取り組みは、HEVCテストモデルHM:HEVCTestModelと呼ばれるビデオコーディングデバイスのモデルに基づく。HMは、たとえば、ITU-TH.264/AVCによるデバイスに勝るビデオコーディングデバイスのいくつかの能力を仮定する。たとえば、H.264は9つのイントラ予測符号化モードを与えるが、HMは、たとえば、イントラ予測コーディングされるブロックのサイズに基づいて、35個ものイントラ予測符号化モードを与える。0054HMは、ビデオデータのブロックをコーディングユニットCUと呼ぶ。CUは、圧縮のために様々なコーディングツールがそれに適用される基本ユニットとして働く矩形画像領域を指し得る。H.264では、それはマクロブロックと呼ばれることもある。ビットストリーム内のシンタックスデータは、ピクセルの数に関して最大のコーディングユニットである最大コーディングユニットLCU:largestcodingunitを定義し得る。概して、CUは、CUがサイズの差異を有しないことを除いて、H.264のマクロブロックと同様の目的を有する。したがって、CUはサブCUに区分または分割され得る。0055LCUは、LCUがどのように区分されるかを示す4分木quadtreeデータ構造に関連し得る。概して、4分木データ構造は、LCUのCUごとに1つのノードを含み、ルートノードはLCUに対応し、他のノードはLCUのサブCUに対応する。所与のCUが4つのサブCUに分割された場合、分割されたCUに対応する4分木中のノードは4つの子ノードを含み、子ノードの各々はサブCUのうちの1つに対応する。4分木データ構造の各ノードは、対応するCUのシンタックス情報を与え得る。たとえば、4分木のノードは、そのノードに対応するCUが4つのサブCUに分割されるかどうかを示す、CUのための分割フラグを含み得る。所与のCUのシンタックス情報は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。0056分割されないCUすなわち、末端に対応するCU、または所与の4分木中のリーフノードは、1つまたは複数の予測ユニットPUを含み得る。概して、PUは、対応するCUの全部または一部を表し、CUの予測を実行するためにそのPUの参照サンプルを取り出すためのデータを含む。たとえば、CUがイントラモード符号化されるとき、PUは、PUのイントラ予測モードを記述するデータを含み得る。別の例として、CUがインターモード符号化されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度たとえば、1/4ピクセル精度もしくは1/8ピクセル精度、動きベクトルがポイントする参照フレーム、および/または動きベクトルの参照リストたとえば、リスト0もしくはリスト1を記述し得る。CUの1つまたは複数のPUを定義するCUのデータはまた、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUがコーディングされないか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかとの間で異なり得る。00571つまたは複数のPUを有するCUはまた、1つまたは複数の変換ユニットTU:transformunitを含み得る。上記で説明したように、1つまたは複数のPUを使用したCUの予測の後に、ビデオエンコーダは、1つまたは複数のPUに対応するCUのそれぞれの部分のために1つまたは複数の残差ブロックを計算し得る。残差ブロックは、CUのビデオデータと、1つまたは複数のPUのための予測データとの間のピクセル差分を表し得る。残差値のセットは、変換され、走査され、量子化されて、量子化変換係数のセットが定義され得る。TUは、CUに関して上記で説明した4分木データ構造と実質的に同様である変換係数のパーティション情報を示すパーティションデータ構造を定義し得る。TUは、必ずしもPUのサイズに制限されるとは限らない。したがって、TUは、同じCUの対応するPUよりも大きいことも小さいこともある。いくつかの例では、TUの最大サイズは、対応するCUのサイズに対応し得る。一例では、CUに対応する残差サンプルは、残差4分木RQT:residualquadtreeとして知られる4分木構造を使用してより小さいユニットに再分割され得る。この場合、RQTのリーフノードは、対応する残差サンプルがそれについて変換され、量子化され得る、TUとして参照され得る。0058予測データと残差データとを生成するためのイントラ予測符号化またはインター予測符号化の後に、および変換係数を生成するためのH.264/AVCにおいて使用される4×4または8×8整数変換、あるいは離散コサイン変換DCTなどの任意の変換の後に、変換係数の量子化が実行され得る。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にnビット値がmビット値に切り捨てられ得、ただし、nはmよりも大きい。0059量子化の後に、量子化データすなわち、量子化変換係数のエントロピーコーディングが実行され得る。エントロピーコーディングは、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的にコーディングすることに関して本開示の技法に準拠し得、また、コンテキスト適応型可変長コーディングCAVLC、CABAC、PIPE、または別のエントロピーコーディング方法など、他のエントロピーコーディング技法を使用し得る。たとえば、量子化変換係数の大きさおよび対応する符号たとえば、1、または-1として表される係数値が、エントロピーコーディング技法を使用して符号化され得る。0060上記で説明した予測、変換、および量子化は、指定のコーディング規格に応じて、ビデオデータの任意のブロックについて、たとえば、CUのPUおよび/またはTUに、またはマクロブロックに対して実行され得ることに留意されたい。したがって、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的にコーディングすることに関係する本開示の技法は、ビデオデータの任意のブロックに、たとえば、マクロブロック、またはCUのTUを含む、量子化変換係数の任意のブロックに適用され得る。さらに、ビデオデータのブロックたとえば、マクロブロック、またはCUのTUは、対応するビデオデータのルミナンス成分Yと、第1のクロミナンス成分Uと、第2のクロミナンス成分Vとの各々を含み得る。したがって、本開示の技法は、ビデオデータの所与のブロックのY、U、およびV成分の各々について実行され得る。0061上記で説明したようにビデオデータのブロックを符号化するために、所与のブロック内の有効係数の位置に関する情報も生成され、符号化され得る。その後、上記で説明したように、有効係数の値が符号化され得る。H.264/AVCおよび新生のHEVC規格では、コンテキスト適応型エントロピーコーディングプロセス、たとえば、CABACプロセスを使用するとき、ビデオデータのブロック内の有効係数の位置は、有効係数の値を符号化するより前に符号化され得る。ブロック内の有効係数のうちのすべての位置を符号化するプロセスは、有効性マップSM:significancemap符号化と呼ばれることがある。以下でより詳細に説明する図4A~図4Cは、量子化変換係数の4×4ブロック、および対応するSMデータの一例を示す概念図である。0062典型的なSM符号化プロシージャは、以下のように説明され得る。ビデオデータの所与のブロックについて、ブロック内に少なくとも1つの有効係数がある場合のみ、SMは符号化され得る。ビデオデータの所与のブロック内の有効係数の存在は、ビデオデータ中のピクセルのエリアに関連するルミナンスブロックおよびクロミナンスブロックなどのブロックのセットのためにコーディングされた2進値である、たとえば、シンタックス要素codedblockpatternまたはCBPを使用してコード化ブロックパターンにおいて示され得る。CBP中の各ビットは、たとえば、シンタックス要素codedblockflagに対応するコード化ブロックフラグと呼ばれ、それの対応するブロック内に少なくとも1つの有効係数があるかどうかを示すために使用される。言い換えれば、コード化ブロックフラグは、変換係数の単一のブロック内に有効係数があるかどうかを示す1ビットシンボルであり、CBPは、関係するビデオデータブロックのセットのためのコード化ブロックフラグのセットである。0063対応するブロック内に有効係数が存在しないことをコード化ブロックフラグが示すたとえば、フラグが0に等しい場合、ブロックのためのさらなる情報は符号化されなくてよい。しかしながら、対応するブロック内に少なくとも1つの有効係数が存在することをコード化ブロックフラグが示すたとえば、フラグが1に等しい場合、ブロックのSMが、ブロックに関連する係数走査順序に従うことによって符号化され得る。走査順序は、SM符号化の一部としてブロック内の各係数の有効性が符号化される順序を定義し得る。言い換えれば、走査は、係数の有効性を判断するために、係数の2次元ブロックを1次元表現に直列化し得る。様々な走査順序たとえば、ジグザグ、水平、および、垂直が使用され得る。同じく以下でより詳細に説明する図5A~図5Cが、ビデオデータの8×8ブロックのための使用され得る様々な走査順序のうちのいくつかの例を示している。ただし、本開示の技法は、対角走査順序、ジグザグ、水平、垂直、および/または対角走査順序の組合せである走査順序、ならびに、部分的にジグザグであり、部分的に水平であり、部分的に垂直であり、および/または部分的に対角である走査順序を含む、多種多様な他の走査順序に対しても適用され得る。さらに、本開示の技法はまた、ビデオデータの前にコーディングされたブロックたとえば、コーディングされている現在ブロックと同じブロックサイズまたはコーディングモードを有するブロックに関連する統計値に基づいてそれ自体で適応的である走査順序を考慮し得る。たとえば、適応走査順序は、場合によっては、ブロックに関連する走査順序であり得る。0064所与のブロック内に少なくとも1つの有効係数が存在することを示すコード化ブロックフラグと、ブロックの走査順序とを仮定すれば、ブロックのSMは以下のように符号化され得る。量子化変換係数の2次元ブロックは、最初に、走査順序を使用して1次元アレイにマッピングされ得る。アレイ中の各係数について、走査順序に従って、たとえば、シンタックス要素significantcoeffflagに対応する1ビット有効係数フラグが符号化され得る。すなわち、アレイ中の各位置に2進値が割り当てられ得、この2進値は、対応する係数が有効である場合は1に設定され、対応する係数が非有効すなわち、0である場合は0に設定され得る。所与の有効係数フラグが、対応する係数が有効であることを示す1に等しい場合、対応する係数がアレイ内のすなわち、走査順序を仮定すれば、ブロック内の最後有効係数であるかどうかを示し得る、たとえば、シンタックス要素lastsignificantcoeffflagに対応する追加の1ビット最後有効係数フラグも符号化され得る。特に、各最後有効係数フラグは、対応する係数がアレイ内の最後有効係数である場合は1に設定され、そうでない場合は0に設定され得る。このようにして最後アレイ位置に達し、SM符号化プロセスが、1に等しい最後有効係数フラグによって終了されなかった場合、アレイしたがって、走査順序を仮定すれば、ブロック中の最後係数は有効であると推測され得、最後アレイ位置について最後有効係数フラグは符号化されなくてよい。0065図4B~図4Cは、アレイ形式ではなくマップで提示された、図4Aに示すブロックのSMデータに対応する、有効係数フラグと最後有効係数フラグとのセットの例をそれぞれ示す概念図である。他の例では、上記で説明した有効係数フラグおよび最後有効係数フラグは異なる値に設定され得ることに留意されたいたとえば、有効係数フラグは、対応する係数が有効である場合は0に設定され、対応する係数が非有効である場合は1に設定され得、最後有効係数フラグは、対応する係数が最後有効係数である場合は0に設定され、対応する係数が最後有効係数でない場合は1に設定され得る。0066SMが符号化された後に、上記で説明したように、ブロック中の各有効係数の値すなわち、たとえば、それぞれシンタックス要素coeffabslevelminus1およびcoeffsignflagによって示される、各有効係数の大きさおよび符号も符号化され得る。0067いくつかの技法によれば、上記で説明したように、ビデオデータのブロックをコーディングするために、固定走査順序、たとえば、ジグザグ走査順序が使用され得る。他の技法によれば、ブロックをコーディングするために複数の走査順序が使用され得る。いくつかの例では、時間にわたって走査順序が適応され、所与の時間に係数の特定のブロックをコーディングするために現在適応されている走査順序が使用される、適応係数走査ACS:adaptivecoefficientscanningが使用され得る。さらに他の技法では、ビデオエンコーダ20は、1つまたは複数の圧縮効率メトリックに基づいていくつかの走査順序をテストし、ブロックを符号化するために最良の走査順序を選択し得る。さらに、ビデオエンコーダ20は、たとえば、ジグザグ走査順序ではインデックス0を、水平走査順序では1を、および垂直走査順序では2を使用していくつかの走査順序のうちのいずれか1つを表し得るACSインデックスを符号化することによってビデオデコーダ30に走査順序を示し得る。0068いくつかの技法によれば、ビデオエンコーダ20は、最後有効係数が走査順序において一般にDC位置と呼ばれるブロック内の左上位置に対応する最初の位置にないときのみ、ACSインデックスを符号化し得る。以下でもより詳細に説明する図5および図6に示すように、すべての可能な走査順序はDC位置から開始し得るので、ブロック内の最後唯一有効係数がDC位置にある場合、ビデオデコーダ30は、ビデオエンコーダ20によって使用された走査順序の指示を必要としないので、ビデオエンコーダ20はこのようにしてACSインデックスを符号化し得る。0069ブロック内の最後有効係数がDC位置にない場合、ビデオエンコーダ20は以下の方法でACSインデックスを符号化し得る。ビデオエンコーダ20は、走査順序がジグザグ走査順序たとえば、bin1=0であるか否たとえば、bin1=1かを示す第1の信号たとえば、bin1を符号化し得る。走査順序がジグザグ走査順序でない場合、ビデオエンコーダ20は、走査順序が水平走査順序であるかたとえば、bin2=0垂直走査順序であるかたとえば、bin2=1を示す第2の信号たとえば、bin2を符号化し得る。同様に、ビデオデコーダ30は、ACSインデックスを判断するために、第1の信号と第2の信号とを受信し、復号し得る。したがって、ACSインデックスを常にコーディングするのではなく、ビデオエンコーダ20および/またはビデオデコーダ30は、最後有効係数がDC位置にないときのみ、ACSインデックスをコーディングし得る。0070前に説明したように、本開示の技法によれば、ビデオデータの特定のブロックのための最後有効係数位置情報は、ブロックに関連する走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標を使用してコーディングされ得る。いくつかの例では、x座標は、ブロック内の位置の列番号に対応し得、y座標は、ブロック内の位置の行番号に対応し得る。たとえば、行番号および列番号は、ブロック内の基準またはオリジン位置、たとえば、DC位置に対応する行番号および列番号に関係し得る。したがって、これらの技法によれば、ビデオデータのブロックの最後有効係数位置情報は、前に説明したように、SMコーディングを使用するのではなく、ブロックに関連する走査順序に従うブロック内の最後有効係数の位置のx座標およびy座標を明示的にコーディングすることによってコーディングされ得る。そのような技法によれば、x座標およびy座標は、ブロックのための残りのSMデータすなわち、有効係数フラグ、または有効係数位置情報とは無関係にコーディングされ得る。たとえば、x座標およびy座標は、ブロックの有効係数位置情報をコーディングするより前にコーディングされ得る。0071本開示の技法に一致するいくつかの例では、x座標およびy座標をコーディングするために、ビデオエンコーダ20および/またはビデオデコーダ30は、さらに、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率を示す統計値を決定し得る。特に、統計値は、走査順序に従うブロック内の最後有効係数の位置に対応する座標、たとえば、x座標またはy座標が所与の値たとえば、0、1、2などを備える確率を示し得る。言い換えれば、統計値は、前に説明したx座標およびy座標の各々が所与の値を備える確率を示し得る。ビデオエンコーダ20および/またはビデオデコーダ30は、統計値を決定し、その統計値に基づいて、たとえば、コンテキスト適応型エントロピーコーディングを使用してx座標およびy座標をコーディングし得る。いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオデータの前にコーディングされたブロックの最後有効係数位置情報、たとえば、前にコーディングされたブロックのx座標およびy座標の値を使用して統計値を決定し得る。他の例では、ビデオエンコーダ20および/またはビデオデコーダ30は、それぞれの座標が特定の値を備える確率を反映するようにx座標およびy座標に基づいて統計値を更新し得る。前に説明したように、統計値は、ブロックをコーディングするためにどの走査順序が使用されるかに応じて変動し得る。0072本開示の技法に一致する一例として、統計値に基づいてx座標およびy座標をコーディングするために、ビデオエンコーダ20および/またはビデオデコーダ30は、少なくとも1つのコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスたとえば、CABACプロセスを実行し得る。たとえば、少なくとも1つのコンテキストは、x座標およびy座標と、走査順序とのうちの1つを含み得る。この例では、ビデオエンコーダ20および/またはビデオデコーダ30は、統計値を含む特定のコンテキストモデルを選択するために走査順序を使用し得る。すなわち、ビデオエンコーダ20および/またはビデオデコーダ30は、ブロックをコーディングするために特定の走査順序を使用するとき、x座標およびy座標をコーディングするために一意の統計値を選択し得る。0073さらに、一方の座標たとえば、y座標が他方の座標たとえば、x座標の後にコーディングされる場合、ビデオエンコーダ20および/またはビデオデコーダ30は、コンテキストとして前にコーディングされた他方の座標の値を使用して座標をコーディングし得る。すなわち、x座標およびy座標のうち前にコーディングされた座標の値を使用して、他方の現在コーディングされている座標が所与の値を備える確率を示すコンテキストモデル内の統計値をさらに選択し得る。ビデオエンコーダ20および/またはビデオデコーダ30は、次いで、選択された統計値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによってx座標およびy座標をコーディングし得る。0074本開示の技法に一致する別の例として、x座標およびy座標は、1つまたは複数のビット、またはビンのシーケンスを備える単項unaryコードワードを使用してそれぞれ表され得る。言い換えれば、x座標およびy座標は2値化され得る。したがって、統計値に基づいてx座標およびy座標をコーディングするために、ビデオエンコーダ20および/またはビデオデコーダ30は、コンテキスト適応型エントロピーコーディングプロセスを実行することによって特定の座標に対応するコードワードの各ビンをコーディングし得る。この例では、座標が所与の値を備える確率を示す、コンテキストモデル中に含まれる統計値は、座標に対応するコードワードの各ビンが所与の値たとえば、0または1を備える確率を示す確率推定値を含み得る。さらに、統計値は、コードワード内のそれぞれのビンの位置に応じて、コードワードのビンごとに異なる確率推定値を含み得る。いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、たとえば、前に説明したように、前にコーディングされたブロックの最後有効係数位置情報に基づいて統計値を決定することの一部として、ビデオデータの前にコーディングされたブロックのための対応するビン、たとえば、前にコーディングされたブロックのためのx座標およびy座標に対応するコードワードのビンの値を使用して確率推定値を決定し得る。他の例では、ビデオエンコーダ20および/またはビデオデコーダ30はまた、たとえば、前にも説明したように、x座標およびy座標に基づいて統計値を更新することの一部として、各ビンの値を使用して確率推定値を更新し得る。ビデオエンコーダ20および/またはビデオデコーダ30は、確率推定値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって各ビンをコーディングし得る。0075上記で説明した技法の1つの欠点は、ビデオデータのブロックの最後有効係数位置情報をコーディングするとき、ビデオエンコーダ20および/またはビデオデコーダ30が、ブロックをコーディングするためにビデオエンコーダ20および/またはビデオデコーダ30によって使用される走査順序に応じて異なる統計値を使用し得ることである。言い換えれば、ビデオエンコーダ20および/またはビデオデコーダ30はそれぞれ、ブロックをコーディングするために複数の走査順序が使用されるとき、ビデオデータのブロックの最後有効係数位置情報をコーディングするために、統計値の複数のセットを決定し、保守たとえば、更新し得る。場合によっては、互いに対して対称的である走査順序のために決定され、保守される統計値のセットは、前に説明したように、同じまたは同様の情報を含み得る。これらの場合、統計値のセットを決定し、保守することにより、コーディングシステムリソースの非効率的な使用と、不要なコーディングシステム複雑さとがもたらされ得る。0076上記で説明した技法の別の欠点は、ビデオエンコーダ20および/またはビデオデコーダ30が共通の統計値を使用してビデオデータのブロックの最後有効係数位置情報をコーディングするとき、ブロックをコーディングするために使用される走査順序にかかわらず、統計値が、走査順序ごとに個々に決定され、保守たとえば、更新された統計値ほど正確でないことがあることである。すなわち、共通の統計値は、ビデオデータの所与のブロックをコーディングするために使用される特定の走査順序のために個々に決定され、保守された統計値よりも不正確に、ブロックに関連する走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の位置の確率を示し得る。これらの場合、共通の統計値を使用して最後有効係数位置情報をコーディングすることにより、コーディング効率が低減され得る。0077上記で説明した技法のさらに別の欠点は、場合によっては、ビデオエンコーダ20および/またはビデオデコーダ30が、ビデオデータのブロック内の共通の位置、たとえば、DC位置において始まる複数の走査順序のうちの1つを使用してブロックをコーディングし得ることである。これらの場合、ブロックに関連する走査順序に従うブロック内の最後有効係数の位置が共通の位置に対応するとき、共通の位置にある係数を超えてブロック内に他の有効係数はない。したがって、ビデオエンコーダ20および/またはビデオデコーダ30は、ブロック内の最後有効係数の位置をコーディングする必要はない。言い換えれば、たとえば、前に説明したようにx座標およびy座標を使用して表される、全体としてブロックの最後有効係数位置情報をコーディングすることは、これはこの場合もコーディング効率が低減し得るので、この場合は必要でないことがある。0078さらに、上記の例では、ブロック内の最後有効係数の位置が共通の位置に対応せず、ブロックの最後有効係数位置情報がそれの全体としてコーディングされなければならないとき、この情報は、場合によっては、正確でない統計値、たとえば、ブロックの最後有効係数位置情報と走査順序情報との間の前に説明した相関関係を利用しない統計値を使用してコーディングされ得、それにより、この場合もコーディング効率が低減し得る。0079したがって、本開示では、他の技法に対してより効率的にビデオデータのブロックの最後有効係数位置情報をコーディングすることと、他のシステムに対してより少ない複雑さを有するコーディングシステムを使用することとを可能にし得る技法について説明する。一例として、最後有効係数位置情報は、ブロックをコーディングするために複数の走査順序のうちの1つが使用されるとき、共通の統計値を使用してこの情報をコーディングすることによって、たとえば、ブロックをコーディングするために使用される走査順序に応じて、この情報を示すx座標およびy座標ならびに交換されたx座標およびy座標をコーディングすることによって、他のシステムに対してより少ない複雑さを有するコーディングシステムを使用してコーディングされ得る。この例によれば、最後有効係数位置情報はまた、x座標およびy座標と、交換されたx座標およびy座標とに基づいて共通の統計値を更新し、それによってより正確な統計値を生じることにより、より効率的にコーディングされ得る。別の例として、最後有効係数位置情報は、必要な程度まで、増分的にこの情報をコーディングすること、および、全体としてこの情報をコーディングするときに走査順序に基づいてそのように行うこと、たとえば、コンテキストとして走査順序を使用することにより、より効率的にコーディングされ得る。0080いくつかの例では、ソースデバイス12のビデオエンコーダ20は、ビデオデータのいくつかのブロックたとえば、1つまたは複数のマクロブロック、あるいはCUのTUを符号化するように構成され得、宛先デバイス14のビデオデコーダ30は、ビデオエンコーダ20から、たとえば、モデム28および受信機26から、符号化されたビデオデータを受信するように構成され得る。本開示の技法によれば、一例として、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオデータの特定のブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標をコーディングするように構成され得る。ビデオエンコーダ20および/またはビデオデコーダ30は、さらに、走査順序が第2の走査順序を備えるとき、走査順序に従うブロック内の最後有効係数の位置を示す交換されたx座標およびy座標をコーディングするように構成され得る。たとえば、第2の走査順序は、第1の走査順序とは異なり得る。0081この例では、第1の走査順序と第2の走査順序とは、互いに対して対称的または少なくとも部分的に対称的であり得る。たとえば、第1の走査順序は水平走査順序であり得、第2の走査順序は垂直走査順序であり得、水平走査順序と垂直走査順序とは、ブロック内の共通の位置において始まる。たとえば、共通の位置は、前に説明したように、DC位置であり得る。0082この例では、x座標およびy座標と、交換されたx座標およびy座標とをコーディングするために、ビデオエンコーダ20および/またはビデオデコーダ30は、さらに、x座標およびy座標の各々が所与の値を備える確率を示す統計値を決定するように構成され得、x座標およびy座標と、交換されたx座標およびy座標とをコーディングすることは、この統計値に基づいてコーディングすることを備える。たとえば、x座標が所与の値を備える確率は、x座標と、交換されたy座標とをコーディングするために使用され得、y座標が所与の値を備える確率は、y座標と、交換されたx座標とをコーディングするために使用され得る。ビデオエンコーダ20および/またはビデオデコーダ30は、さらに、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新するように構成され得る。たとえば、x座標が所与の値を備える確率は、x座標と、交換されたy座標とを使用して更新され得、y座標が所与の値を備える確率は、y座標と、交換されたx座標とを使用して更新され得る。0083一例として、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とをコーディングするために、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオエンコーダ20および/またはビデオデコーダ30が少なくとも1つのコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスたとえば、CABACプロセスを実行するように構成され得る。たとえば、少なくとも1つのコンテキストは、x座標およびy座標と、交換されたx座標およびy座標と、走査順序とのうちの1つを含み得る。0084いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、さらに、走査順序が第3の走査順序を備えるとき、x座標およびy座標をコーディングするように構成され得ることに留意されたい。たとえば、第3の走査順序は、第1の走査順序および第2の走査順序とは異なり得る。一例として、第3の走査順序は、ジグザグ走査順序、または対角走査順序であり得、ジグザグ走査順序または対角走査順序はまた、ブロック内の共通の位置、たとえば、DC位置において始まる。0085この例では、場合によっては、ビデオエンコーダ20および/またはビデオデコーダ30は、さらに、走査順序を識別する情報、すなわち、ブロックの走査順序情報をコーディングするように構成され得る。さらに、場合によっては、ビデオエンコーダ20および/またはビデオデコーダ30は、さらに、ブロック内の他の有効係数の位置を識別する情報、すなわち、ブロックの有効係数位置情報をコーディングするように構成され得る。0086別の例として、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオデータの特定のブロックに関連する走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標をコーディングするように構成され得る。たとえば、走査順序は、複数の走査順序のうちの1つであり得、複数の走査順序の各々は、ブロック内の共通の位置、たとえば、DC位置において始まる。0087この例では、x座標およびy座標をコーディングするために、ビデオエンコーダ20および/またはビデオデコーダ30は、x座標が共通の位置に対応するかどうかを示す情報をコーディングすることと、y座標が共通の位置に対応するかどうかを示す情報をコーディングすることと、x座標が共通の位置に対応せず、y座標が共通の位置に対応しない場合、走査順序を識別する情報をコーディングすることとを行うように構成され得る。ビデオエンコーダ20および/またはビデオデコーダ30は、さらに、x座標が共通の位置に対応しない場合、走査順序に基づいてx座標をコーディングすることと、y座標が共通の位置に対応しない場合、走査順序に基づいてy座標をコーディングすることとを行うように構成され得る。0088この例では、走査順序に基づいてx座標およびy座標をコーディングするために、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオエンコーダ20および/またはビデオデコーダ30が少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスたとえば、CABACプロセスを実行するように構成され得る。たとえば、少なくとも1つのコンテキストは走査順序を含み得る。0089いずれの場合も、上記で説明した方法で、ブロックの最後有効係数位置情報、ならびに、場合によっては、走査順序情報および有効係数位置情報、すなわち、SMデータをコーディングした後に、ビデオエンコーダ20および/またはビデオデコーダ30はまた、ブロック内の各有効係数の値たとえば、それぞれシンタックス要素coeffabslevelminus1およびcoeffsignflagによって示される、各有効係数の大きさおよび符号signをコーディングし得る。0090したがって、本開示の技法により、ビデオエンコーダ20および/またはビデオデコーダ30は、他の方法を使用したときよりも効率的にブロックの最後有効係数位置情報をコーディングすることが可能になり得、ビデオエンコーダ20および/またはビデオデコーダ30は、他のシステムに対してより少ない複雑さを有することが可能になり得る。このようにして、本開示の技法を使用すると、最後有効係数位置情報を含むコード化ビットストリームの相対的ビット節約と、この情報をコーディングするために使用されるビデオエンコーダ20および/またはビデオデコーダ30の複雑さの相対的低減とが存在し得る。0091ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、適用可能なとき、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサDSP、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGA、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダまたはデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダコーデックの一部として統合され得る。ビデオエンコーダ20および/またはビデオデコーダ30を含む装置は、集積回路、マイクロプロセッサ、および/またはセルラー電話などのワイヤレス通信デバイスを備え得る。0092図2は、本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的に符号化するための技法を実装し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、マクロブロック、CU、およびそれのパーティションまたはサブパーティションを含む、ビデオフレーム内のブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラIモードは、いくつかの空間ベースの圧縮モードのいずれかを指し、単方向予測Pモードまたは双方向予測Bモードなどのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。0093図2に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内のビデオデータの現在ブロックを受信する。図2の例では、ビデオエンコーダ20は、動き補償ユニット44と、動き推定ユニット42と、メモリ64と、加算器50と、変換モジュール52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換モジュール60と、加算器62とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ図2に図示せずも含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理することになる。0094符号化プロセス中に、ビデオエンコーダ20は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット42および動き補償ユニット44は、時間圧縮を行うために、1つまたは複数の参照フレーム中の1つまたは複数のブロックに対して所与の受信ビデオブロックのインター予測コーディングを実行し得る。イントラ予測モジュール46は、空間圧縮を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して所与の受信ビデオブロックのイントラ予測コーディングを実行し得る。0095モード選択ユニット40は、コーディング結果たとえば、得られたコーディングレートおよびひずみレベルに基づいて、ならびにコーディングされている所与の受信ブロックを含むフレームまたはスライスのためのフレームまたはスライスタイプに基づいて、コーディングモードのうちの1つ、すなわち、1つのモードあるいは複数のイントラまたはインターコーディングモードを選択し、残差ブロックデータを生成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器50に与え、参照フレームまたは参照スライス中で使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器62に与え得る。概して、イントラ予測は、隣接する、前にコーディングされたブロックに対して現在ブロックを予測することを伴い、一方、インター予測は、現在ブロックを時間的に予測するために、動き推定および動き補償を伴う。0096動き推定ユニット42および動き補償ユニット44は、ビデオエンコーダ20のインター予測要素を表す。動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在フレームまたは他のコード化ユニット内でコーディングされている現在ブロックに対する予測参照フレームまたは他のコード化ユニット内の予測ブロックの変位を示し得る。予測ブロックは、絶対値差分和SAD:sumofabsolutedifference、2乗差分和SSD:sumofsquaredifference、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。動きベクトルはまた、ブロックのパーティションの変位を示し得る。動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。この場合も、いくつかの例では、動き推定ユニット42と動き補償ユニット44とは機能的に統合され得る。0097動き推定ユニット42は、ビデオブロックをメモリ64中の参照フレームのビデオブロックと比較することによってインターコード化フレームのビデオブロックの動きベクトルを計算し得る。動き補償ユニット44はまた、この比較のために、参照フレーム、たとえば、IフレームまたはPフレームのサブ整数ピクセルを補間し得る。一例として、ITUH.264規格には、符号化されている現在フレームよりも前の表示順序を有する参照フレームを含むリスト0、および符号化されている現在フレームよりも後の表示順序を有する参照フレームを含むリスト1という2つのリストが記載されている。したがって、メモリ64に記憶されるデータは、これらのリストに従って編成され得る。0098動き推定ユニット42は、メモリ64からの1つまたは複数の参照フレームのブロックを、現在フレーム、たとえば、PフレームまたはBフレームの符号化されるべきブロックと比較し得る。メモリ64中の参照フレームがサブ整数ピクセルの値を含むとき、動き推定ユニット42によって計算される動きベクトルは参照フレームのサブ整数ピクセルロケーションを参照し得る。動き推定ユニット42および/または動き補償ユニット44はまた、サブ整数ピクセル位置の値がメモリ64に記憶されていない場合、メモリ64に記憶された参照フレームのサブ整数ピクセル位置の値を計算するように構成され得る。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送り得る。動きベクトルによって識別される参照フレームブロックは、インター予測ブロック、または、より一般的に、予測ブロックと呼ばれることがある。動き補償ユニット44は、予測ブロックに基づいて予測データを計算し得る。0099イントラ予測モジュール46は、上記で説明したように、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測モジュール46は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測モジュール46は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測モジュール46または、いくつかの例では、モード選択ユニット40は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測モジュール46は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみまたは誤差の量、ならびに符号化されたブロックを生成するために使用されるビットレートすなわち、ビット数を決定する。イントラ予測モジュール46は、どのイントラ予測モードがブロックにとって最良のレートひずみ値を呈するかを決定するために、様々な符号化されたブロックについてのひずみおよびレートから比を計算し得る。0100たとえば、イントラ予測またはインター予測を使用して、現在ブロックを予測した後、ビデオエンコーダ20は、コーディングされている元のビデオブロックから、動き補償ユニット44またはイントラ予測モジュール46によって計算された予測データを減算することによって残差ビデオブロックを形成し得る。加算器50は、この減算演算を実行し得る1つまたは複数の構成要素を表す。変換モジュール52は、離散コサイン変換DCTまたは概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成し得る。変換モジュール52は、概念的にDCTと同様である、H.264規格によって定義された変換など、他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換モジュール52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成し得る。変換は、残差情報をピクセル領域から周波数領域などの変換領域に変換し得る。量子化ユニット54は、ビットレートをさらに低減するために残差変換係数を量子化し得る。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。0101量子化の後に、エントロピー符号化ユニット56は、CAVLC、CABAC、PIPEまたは別のエントロピーコーディング技法を含み得る、量子化変換係数をエントロピー符号化し得る。エントロピー符号化ユニット56によるエントロピーコーディングの後に、符号化されたビデオは、別のデバイスに送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。0102場合によっては、エントロピー符号化ユニット56またはビデオエンコーダ20の別のユニットは、上記で説明したように量子化変換係数をエントロピーコーディングすることに加えて、他のコーディング機能を実行するように構成され得る。たとえば、エントロピー符号化ユニット56は、符号化されたビデオビットストリーム中で送信するための適切なシンタックス要素とともに、ブロックたとえば、マクロブロック、CU、またはLCU、あるいはブロックを含んでいるビデオフレームのためのヘッダ情報を構築し得る。いくつかのコーディング規格によれば、そのようなシンタックス要素は、前に説明したように、ブロックたとえば、マクロブロック、またはCUのTUの最後有効係数位置情報を含み得る。前にも説明したように、最後有効係数位置情報は、非効率的にコーディングされた場合、全体的な圧縮ビデオビットレートの高い割合を消費し得る。したがって、本開示では、他の方法を使用したときよりも効率的にブロックの最後有効係数位置情報をコーディングすることを可能にし得る技法について説明する。さらに、本開示では、ブロックの最後有効係数位置情報をコーディングするとき、他のシステムに対してより少ない複雑さを有するコーディングシステムを使用することについて説明する。0103いくつかの例では、ビデオエンコーダ20のエントロピー符号化ユニット56は、ビデオデータのいくつかのブロックたとえば、1つまたは複数のマクロブロック、またはCUのTUを符号化するように構成され得る。本開示の技法によれば、一例として、エントロピー符号化ユニット56は、ビデオデータの特定のブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標を符号化するように構成され得る。エントロピー符号化ユニット56は、さらに、走査順序が第2の走査順序を備えるとき、走査順序に従うブロック内の最後有効係数の位置を示す交換されたx座標およびy座標を符号化するように構成され得る。たとえば、第2の走査順序は、第1の走査順序とは異なり得る。0104この例では、第1の走査順序と第2の走査順序とは、互いに対して対称的または少なくとも部分的に対称的であり得る。たとえば、第1の走査順序は水平走査順序であり得、第2の走査順序は垂直走査順序であり得、水平走査順序と垂直走査順序とは、ブロック内の共通の位置、たとえば、DC位置において始まる。0105特に、第1の走査順序および第2の走査順序はそれぞれ、エントロピー符号化ユニット56によってブロックを符号化するために使用され得る走査順序であり得る。たとえば、第1の走査順序および第2の走査順序は、ビデオエンコーダ20とビデオデコーダ30とを備える対応するコーディングシステム10内で、ビデオエンコーダ20によってビデオデータのブロックを符号化するために使用され、ビデオデコーダ30によってブロックを復号するために使用される走査順序であり得る。いくつかの例では、第1の走査順序および第2の走査順序は、ブロックをコーディングするためにシステム10内で使用される走査順序のうちのいくつかのみであり得る。他の例では、第1の走査順序および第2の走査順序は、ブロックをコーディングするためにシステム10内で使用される唯一の走査順序であり得る。0106さらに、また、交換されたx座標およびy座標は、ブロックの最後有効係数位置情報に対応するが、前に説明したように、他の技法を使用したときよりも効率的にこの情報を符号化することを可能にするために、エントロピー符号化ユニット56によってさらに処理される、すなわち、交換される。特に、交換されたx座標およびy座標により、前にも説明したように、ブロックの最後有効係数位置情報を示す、x座標およびy座標と、交換されたx座標およびy座標とを符号化するために共通の統計値を使用することが可能になり得る。0107この例では、x座標およびy座標と、交換されたx座標およびy座標とを符号化するために、エントロピー符号化ユニット56は、さらに、x座標およびy座標の各々が所与の値を備える確率を示す統計値を決定するように構成され得、x座標およびy座標と、交換されたx座標およびy座標とを符号化することは、この統計値に基づいて符号化することを備える。たとえば、x座標が所与の値を備える確率は、x座標と、交換されたy座標とを符号化するために使用され得、y座標が所与の値を備える確率は、y座標と、交換されたx座標とを符号化するために使用され得る。0108概して、統計値は、走査順序が第1の走査順序を備えるとき、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率を示し得る。特に、統計値は、走査順序が第1の走査順序を備えるときに走査順序に従うブロック内の最後有効係数の位置に対応する座標、たとえば、x座標またはy座標が所与の値たとえば、0、1、2などを備える確率を示し得る。0109前に説明したように、第1の走査順序と第2の走査順序とは、互いに対して対称的または少なくとも部分的に対称的であり得るので、走査順序が第1の走査順序を備えるときにx座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにy座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。同様に、走査順序が第1の走査順序を備えるときにy座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにx座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。すなわち、走査順序が第1の走査順序を備えるときのx座標およびy座標はそれぞれ、走査順序が第2の走査順序を備えるときの交換されたx座標およびy座標とそれぞれ同じまたは同様である、所与の値を備える確率を有し得る。したがって、統計値は、交換されたx座標およびy座標の各々が所与の値を備える確率をさらに示し得る。いくつかの例では、エントロピー符号化ユニット56は、ビデオデータの前に符号化されたブロックの最後有効係数位置情報、たとえば、前に符号化されたブロックのx座標およびy座標ならびに交換されたx座標およびy座標の値を使用して統計値を決定し得る。0110エントロピー符号化ユニット56は、x座標が所与の値を備える確率が、x座標と、交換されたy座標とを使用して更新され、y座標が所与の値を備える確率が、y座標と、交換されたx座標とを使用して更新されるように、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新するようにさらに構成され得る。たとえば、更新された統計値は、上記で説明した方法でビデオデータの後で符号化されるブロックの最後有効係数位置情報を符号化するために使用され得る。0111一例として、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とを符号化するために、エントロピー符号化ユニット56は、エントロピー符号化ユニット56が少なくとも1つのコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスたとえば、CABACプロセスを実行するように構成され得る。たとえば、少なくとも1つのコンテキストは、x座標およびy座標と、交換されたx座標およびy座標と、走査順序とのうちの1つを含み得る。前述のように、CABACに加えて、コーディングのためにx座標およびy座標を交換することについて説明する技法は、CAVLC、PIPE、または他のコンテキスト適応型エントロピーコーディング技法など、他のコンテキスト適応型エントロピーコーディング技法においても使用され得る。0112この例では、エントロピー符号化ユニット56は、走査順序、たとえば、水平走査順序または垂直走査順序を使用して、統計値を含む特定のコンテキストモデルを選択し得る。すなわち、エントロピー符号化ユニット56は、ブロックを符号化するために第1の走査順序を使用するときにx座標およびy座標を符号化することと、ブロックを符号化するために第2の走査順序を使用するときに交換されたx座標およびy座標を符号化することとのために同じ統計値を選択し得る。さらに、ある座標たとえば、y座標が別の座標たとえば、x座標の後に符号化される場合、エントロピー符号化ユニット56は、コンテキストとして他方の前に符号化された座標の値を使用して座標を符号化し得る。すなわち、ブロックを符号化するために使用される走査順序に応じた、x座標およびy座標、または交換されたx座標およびy座標のうち前に符号化された座標の値を使用して、他方の現在符号化されている座標が所与の値を備える確率を示すコンテキストモデル内の統計値をさらに選択し得る。エントロピー符号化ユニット56は、次いで、選択された統計値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって、x座標およびy座標と、交換されたx座標およびy座標とを符号化し得る。0113前にも説明したように、この例では、x座標およびy座標と、交換されたx座標およびy座標とは、1つまたは複数のビンのシーケンスを備える単項unaryコードワードを使用してそれぞれ表され得る、すなわち、2値化され得る。したがって、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とを符号化するために、エントロピー符号化ユニット56は、コンテキスト適応型エントロピーコーディングプロセスを実行することによって特定の座標に対応するコードワードの各ビンを符号化し得る。この例では、座標が所与の値を備える確率を示す、コンテキストモデル中に含まれる統計値は、座標に対応するコードワードの各ビンが所与の値たとえば、0または1を備える確率を示す確率推定値を含み得る。さらに、統計値は、コードワード内のそれぞれのビンの位置に応じて、コードワードのビンごとに異なる確率推定値を含み得る。いくつかの例では、エントロピー符号化ユニット56は、たとえば、前に説明したように、前に符号化されたブロックの最後有効係数位置情報に基づいて統計値を決定することの一部として、ビデオデータの前に符号化されたブロックのための対応するビン、たとえば、前に符号化されたブロックのためのx座標およびy座標と、交換されたx座標およびy座標とに対応するコードワードのビンの値を使用して確率推定値を決定し得る。他の例では、エントロピー符号化ユニット56はまた、たとえば、前にも説明したように、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新することの一部として、各ビンの値を使用して確率推定値を更新し得る。エントロピー符号化ユニット56は、確率推定値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって各ビンを符号化し得る。0114別の例として、場合によっては、一方のたとえば、x座標のための単項コードワードのビンの値が異なると、他方のたとえば、y座標のための単項コードワードの対応するビンの確率推定値が異なり得る。したがって、上記で説明したように、一方の座標のための単項コードワードのビンに対応する確率推定値を使用してそのビンを符号化するときに、他方の座標のための単項コードワードのビン、たとえば、対応するビンの値に関する情報を含む確率推定値を使用すると、確率推定値が正確になり得、したがって、効率的な符号化が可能になり得る。たとえば、他方の座標のための単項コードワードのビンは、一方の座標のための単項コードワードのビンに対応するビンであり得、たとえば、ビンは、それらのそれぞれのコードワード内の同じまたは同様のビン位置にあり得る。コンテキストとして前に符号化されたビンを使用して、このインターリーブ式に、x座標およびy座標、ならびに交換されたx座標およびy座標または、一般に、ビデオデータのブロックの最後有効係数位置情報を示すx座標およびy座標を符号化することにより、それぞれのx座標およびy座標の相互情報を使用することが可能になり得、それにより、座標をより効率的に符号化することが可能になり得る。0115他の例では、エントロピー符号化ユニット56は、概して、インターリーブ式に、x座標およびy座標と、交換されたx座標およびy座標とを符号化するように構成され得る。いくつかの例では、エントロピー符号化ユニット56は、インターリーブ式に、それぞれのx座標およびy座標のためのコードワードの個々のビンを符号化するように構成され得る。他の例では、エントロピー符号化ユニット56は、インターリーブ式に、コードワードのビンのグループを符号化するように構成され得る。たとえば、x座標およびy座標の各々のためのコードワードのいくつかのビンは、第1のコーディングモードたとえば、標準コーディングモードを使用して符号化され得、コードワードの残りのビンは、第2のコーディングモードたとえば、バイパスコーディングモードを使用して符号化され得る。したがって、エントロピー符号化ユニット56は、第1のたとえば、標準コーディングモードを使用してコーディングされる他方の座標に対応するコードワードの1つまたは複数のビンを符号化するより前に、第1のコーディングモードを使用してコーディングされる座標のうちの1つに対応するコードワードの1つまたは複数のビンを符号化し、その後、第2のたとえば、バイパスコーディングモードを使用してコーディングされる他方の座標に対応するコードワードの1つまたは複数のビンを符号化するより前に、第2のコーディングモードを使用してコーディングされる一方の座標に対応するコードワードの1つまたは複数のビンを符号化するように構成され得る。他の例では、エントロピー符号化ユニット56は、一緒に第2のコーディングモードを使用してコーディングされるコードワードのビンを符号化するように構成され得る。0116したがって、上記で説明した方法でx座標およびy座標の各々のためのコードワードのビンの符号化を分離することにより、一緒に特定のコーディングモードたとえば、バイパスモードを使用して符号化されるビンをグループ化することが可能になり得、それによってコーディングスループットが改善され得る。0117言い換えれば、x座標およびy座標と、交換されたx座標およびy座標との各々が、1つまたは複数のビンのシーケンスを備える場合、エントロピー符号化ユニット56は、x座標およびy座標と、交換されたx座標およびy座標とのうちの1つに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスを実行することによって、x座標およびy座標と、交換されたx座標およびy座標とを符号化するように構成され得る。エントロピー符号化ユニット56は、他方の座標に対応するシーケンスの少なくとも1つのビンの値に少なくとも部分的に基づいてコンテキストモデルから統計値を選択することによって、座標のうちの1つに対応するシーケンスの少なくとも1つのビンを符号化することによって、それぞれのx座標およびy座標を符号化するように構成され得る。さらに、エントロピー符号化ユニット56は、インターリーブ式に、座標のうちの1つに対応するシーケンスの1つまたは複数のビンと、他方の座標に対応するシーケンスの1つまたは複数のビンとを符号化するように構成され得る。0118したがって、最後有効係数位置情報を符号化するために、エントロピー符号化ユニット56は、コンテキストとして前に符号化されたビンを使用して、インターリーブ式に、x座標およびy座標と、交換されたx座標およびy座標とを符号化するように構成され得る。すなわち、エントロピー符号化ユニット56は、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスを実行することによって所与の座標のための単項コードワードの各ビンを符号化するように構成され得、少なくとも1つのコンテキストは、前に説明したように、単項コードワード内のビンの位置と、他方の座標のための単項コードワードの1つまたは複数の前に符号化されたビンの値とを含み得る。さらに、エントロピー符号化ユニット56は、概して、インターリーブ式に、x座標およびy座標と、交換されたx座標およびy座標とを符号化するように構成され得る。0119本開示の技法に一致する他の例では、他のタイプのコードワード、たとえば、短縮単項truncatedunaryコードワード、指数ゴロムコードワード、連結コードワード、ならびに様々なコーディング技法の組合せが使用され得ることに留意されたい。0120また、いくつかの例では、エントロピー符号化ユニット56は、さらに、走査順序が第3の走査順序を備えるとき、x座標およびy座標を符号化するように構成され得ることに留意されたい。たとえば、第3の走査順序は、第1の走査順序および第2の走査順序とは異なり得る。一例として、第3の走査順序は、ジグザグ走査順序、または対角走査順序であり得、ジグザグ走査順序または対角走査順序はまた、ブロック内の共通の位置、たとえば、DC位置において始まる。0121この例では、エントロピー符号化ユニット56は、さらに、走査順序を識別する情報、すなわち、ブロックの走査順序情報を符号化するように構成され得る。代替的に、前に説明したように、エントロピー符号化ユニット56は、エントロピー符号化ユニット56がブロックを符号化するために適応走査順序を使用するとき、ブロックの走査順序情報を符号化することを省略し得る。さらに、場合によっては、エントロピー符号化ユニット56は、さらに、ブロック内のすべての他の有効係数の位置を識別する情報、すなわち、ブロックの有効係数位置情報を符号化するように構成され得る。0122たとえば、ブロックの有効係数位置情報は、前に説明したように、有効係数フラグのシーケンスを使用して表され得る。前にも説明したように、有効係数位置情報は、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスたとえば、CABACプロセスを実行することによってシーケンスの各有効係数フラグを符号化することによって符号化され得、少なくとも1つのコンテキストは、走査順序に従うブロック内のフラグの位置を含み得る。0123コンテキストモデルは、各フラグが所与の値たとえば、0または1を備える確率を示す確率推定値を含み得る。いくつかの例では、エントロピー符号化ユニット56は、ビデオデータの前に符号化されたブロックのための対応する有効係数フラグの値を使用して確率推定値を決定し得る。他の例では、エントロピー符号化ユニット56はまた、フラグが所与の値を備える確率を反映するために各フラグの値を使用して確率推定値を更新し得る。たとえば、更新された確率推定値は、上記で説明した方法でビデオデータの後で符号化されるブロックの有効係数位置情報を符号化するために使用され得る。0124別の例として、エントロピー符号化ユニット56は、ビデオデータの特定のブロックに関連する走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標を符号化するように構成され得る。たとえば、走査順序は、複数の走査順序のうちの1つであり得、複数の走査順序の各々は、ブロック内の共通の位置、たとえば、DC位置において始まる。0125この例では、x座標およびy座標を符号化するために、エントロピー符号化ユニット56は、x座標が共通の位置に対応するかどうかを示す情報を符号化することと、y座標が共通の位置に対応するかどうかを示す情報を符号化することと、x座標が共通の位置に対応せず、y座標が共通の位置に対応しない場合、走査順序を識別する情報を符号化することとを行うように構成され得る。エントロピー符号化ユニット56は、さらに、x座標が共通の位置に対応しない場合、走査順序に基づいてx座標を符号化することと、y座標が共通の位置に対応しない場合、走査順序に基づいてy座標を符号化することとを行うように構成され得る。0126この例では、走査順序に基づいてx座標およびy座標を符号化するために、エントロピー符号化ユニット56は、エントロピー符号化ユニット56が少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスたとえば、CABACプロセスを実行するように構成され得る。たとえば、少なくとも1つのコンテキストは走査順序を含み得る。0127さらに、一例として、エントロピー符号化ユニット56は、ある座標たとえば、y座標を別の座標たとえば、x座標の後に符号化するように構成され得、エントロピー符号化ユニット56は、コンテキストとして他方の前に符号化された座標の値を使用して一方の座標を符号化するように構成され得る。x座標およびy座標の各々が1つまたは複数のビンのシーケンスを備える別の例として、エントロピー符号化ユニット56は、他方の座標に対応するシーケンスの少なくとも1つのビン、たとえば、対応するビンの値に少なくとも部分的に基づいてコンテキストモデルから統計値を選択することによって、座標のうちの1つに対応するシーケンスの少なくとも1つのビンを符号化するように構成され得る。さらに、エントロピー符号化ユニット56は、インターリーブ式に、座標のうちの1つに対応するシーケンスの1つまたは複数のビンと、他方の座標に対応するシーケンスの1つまたは複数のビンとを符号化するように構成され得る。0128いずれの場合も、上記で説明した方法で、ブロックの最後有効係数位置情報、ならびに、場合によっては、走査順序情報および有効係数位置情報、すなわち、SMデータを符号化した後に、エントロピー符号化ユニット56はまた、ブロック内の各有効係数の値たとえば、それぞれシンタックス要素coeffabslevelminus1およびcoeffsignflagによって示される、各有効係数の大きさおよび符号signを符号化し得る。0129したがって、本開示の技法により、エントロピー符号化ユニット56は、他の方法を使用したときよりも効率的にブロックの最後有効係数位置情報を符号化することが可能になり得、エントロピー符号化ユニット56は、他のシステムに対してより少ない複雑さを有することが可能になり得る。このようにして、本開示の技法を使用すると、最後有効係数位置情報を含むコード化ビットストリームの相対的ビット節約と、この情報を符号化するために使用されるエントロピー符号化ユニット56の複雑さの相対的低減とが存在し得る。0130逆量子化ユニット58および逆変換ユニット60は、それぞれ逆量子化および逆変換を適用して、たとえば、参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット44は、残差ブロックをメモリ64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、メモリ64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。0131このように、ビデオエンコーダ20は、ビデオデータのブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングし、走査順序が第1の走査順序とは異なる第2の走査順序を備えるとき、その走査順序に従うブロック内の最後非ゼロ係数の位置を示す交換されたx座標およびy座標をコーディングするように構成されたビデオコーダの一例を表す。0132図3は、本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて符号化された最後有効係数位置情報を効率的に復号するための技法を実装し得るビデオデコーダ30の一例を示すブロック図。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測モジュール74と、逆量子化ユニット76と、逆変換ユニット78と、メモリ82と、加算器80とを含む。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20図2に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて予測データを生成し得る。0133いくつかの例では、ビデオデコーダ30は、ビデオエンコーダ20から符号化ビデオデータたとえば、1つまたは複数のマクロブロック、あるいはCUのTUを受信するように構成され得る。本開示の技法によれば、一例として、エントロピー復号ユニット70は、ビデオデータの特定のブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標を復号するように構成され得る。エントロピー復号ユニット70は、さらに、走査順序が第2の走査順序を備えるとき、走査順序に従うブロック内の最後有効係数の位置を示す交換されたx座標およびy座標を復号するように構成され得る。たとえば、第2の走査順序は、第1の走査順序とは異なり得る。0134この例では、第1の走査順序と第2の走査順序とは、互いに対して対称的または少なくとも部分的に対称的であり得る。たとえば、第1の走査順序は水平走査順序であり得、第2の走査順序は垂直走査順序であり得、水平走査順序と垂直走査順序とは、ブロック内の共通の位置、たとえば、DC位置において始まる。0135特に、第1の走査順序および第2の走査順序はそれぞれ、エントロピー復号ユニット70によってブロックを復号するために使用され得る走査順序であり得る。たとえば、第1の走査順序および第2の走査順序は、ビデオエンコーダ20とビデオデコーダ30とを備える対応するコーディングシステム10内で、ビデオエンコーダ20によってビデオデータのブロックを符号化するために使用され、ビデオデコーダ30によってブロックを復号するために使用される走査順序であり得る。いくつかの例では、第1の走査順序および第2の走査順序は、ブロックをコーディングするためにシステム10内で使用される走査順序のうちのいくつかのみであり得る。他の例では、第1の走査順序および第2の走査順序は、ブロックをコーディングするためにシステム10内で使用される唯一の走査順序であり得る。0136さらに、また、交換されたx座標およびy座標は、ブロックの最後有効係数位置情報に対応するが、前に説明したように、他の技法を使用したときよりも効率的にこの情報を復号することを可能にするために、エントロピー復号ユニット70によってさらに処理される、すなわち、交換される。特に、交換されたx座標およびy座標により、前にも説明したように、ブロックの最後有効係数位置情報を示す、x座標およびy座標と、交換されたx座標およびy座標とを復号するために共通の統計値を使用することが可能になり得る。0137この例では、x座標およびy座標と、交換されたx座標およびy座標とを復号するために、エントロピー復号ユニット70は、さらに、x座標およびy座標の各々が所与の値を備える確率を示す統計値を決定するように構成され得、x座標およびy座標と、交換されたx座標およびy座標とを復号することは、この統計値に基づいて復号することを備える。たとえば、x座標が所与の値を備える確率は、x座標と、交換されたy座標とを復号するために使用され得、y座標が所与の値を備える確率は、y座標と、交換されたx座標とを復号するために使用され得る。0138概して、統計値は、走査順序が第1の走査順序を備えるとき、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率を示し得る。特に、統計値は、走査順序が第1の走査順序を備えるときに走査順序に従うブロック内の最後有効係数の位置に対応する座標、たとえば、x座標またはy座標が所与の値たとえば、0、1、2などを備える確率を示し得る。0139前に説明したように、第1の走査順序と第2の走査順序とは、互いに対して対称的または少なくとも部分的に対称的であり得るので、走査順序が第1の走査順序を備えるときにx座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにy座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。同様に、走査順序が第1の走査順序を備えるときにy座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにx座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。すなわち、走査順序が第1の走査順序を備えるときのx座標およびy座標はそれぞれ、走査順序が第2の走査順序を備えるときの交換されたx座標およびy座標とそれぞれ同じまたは同様である、所与の値を備える確率を有し得る。したがって、統計値は、交換されたx座標およびy座標の各々が所与の値を備える確率をさらに示し得る。いくつかの例では、エントロピー復号ユニット70は、ビデオデータの前に復号されたブロックの最後有効係数位置情報、たとえば、前に復号されたブロックのx座標およびy座標ならびに交換されたx座標およびy座標の値を使用して統計値を決定し得る。0140エントロピー復号ユニット70は、さらに、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新するように構成され得る。たとえば、x座標が所与の値を備える確率は、x座標と、交換されたy座標とを使用して更新され得、y座標が所与の値を備える確率は、y座標と、交換されたx座標とを使用して更新され得る。たとえば、更新された統計値は、上記で説明した方法でビデオデータの後で復号されるブロックの最後有効係数位置情報を復号するために使用され得る。0141一例として、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とを復号するために、エントロピー復号ユニット70は、エントロピー復号ユニット70が少なくとも1つのコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスたとえば、CABACプロセスを実行するように構成され得る。たとえば、少なくとも1つのコンテキストは、x座標およびy座標と、交換されたx座標およびy座標と、走査順序とのうちの1つを含み得る。前述のように、CABACに加えて、コーディングのためにx座標およびy座標を交換することについて説明する技法は、CAVLC、PIPE、または他のコンテキスト適応型技法など、他のコンテキスト適応型コーディング技法においても使用され得る。0142この例では、エントロピー復号ユニット70は、走査順序、たとえば、水平走査順序または垂直走査順序を使用して、統計値を含む特定のコンテキストモデルを選択し得る。すなわち、エントロピー復号ユニット70は、ブロックを復号するために第1の走査順序を使用するときにx座標およびy座標を復号することと、ブロックを復号するために第2の走査順序を使用するときに交換されたx座標およびy座標を復号することとのために同じ統計値を選択し得る。さらに、ある座標たとえば、y座標が別の座標たとえば、x座標の後に復号される場合、エントロピー復号ユニット70は、コンテキストとして前に復号された別の座標の値を使用して座標を復号し得る。すなわち、ブロックを復号するために使用される走査順序に応じた、x座標およびy座標、または交換されたx座標およびy座標のうち前に復号された座標の値を使用して、他方の現在復号されている座標が所与の値を備える確率を示すコンテキストモデル内の統計値をさらに選択し得る。エントロピー復号ユニット70は、次いで、選択された統計値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって、x座標およびy座標と、交換されたx座標およびy座標とを復号し得る。0143前にも説明したように、この例では、x座標およびy座標と、交換されたx座標およびy座標とは、1つまたは複数のビンのシーケンスを備える単項コードワードを使用してそれぞれ表され得る、すなわち、2値化され得る。したがって、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とを復号するために、エントロピー復号ユニット70は、コンテキスト適応型エントロピーコーディングプロセスを実行することによって特定の座標に対応するコードワードの各ビンを復号し得る。この例では、座標が所与の値を備える確率を示す、コンテキストモデル中に含まれる統計値は、座標に対応するコードワードの各ビンが所与の値たとえば、0または1を備える確率を示す確率推定値を含み得る。さらに、統計値は、コードワード内のそれぞれのビンの位置に応じて、コードワードのビンごとに異なる確率推定値を含み得る。いくつかの例では、エントロピー復号ユニット70は、たとえば、前に説明したように、前に復号されたブロックの最後有効係数位置情報に基づいて統計値を決定することの一部として、ビデオデータの前に復号されたブロックのための対応するビン、たとえば、前に復号されたブロックのためのx座標およびy座標と、交換されたx座標およびy座標とに対応するコードワードのビンの値を使用して確率推定値を決定し得る。他の例では、エントロピー復号ユニット70はまた、たとえば、前にも説明したように、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新することの一部として、各ビンの値を使用して確率推定値を更新し得る。エントロピー復号ユニット70は、確率推定値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって各ビンを復号し得る。0144別の例として、場合によっては、一方のたとえば、x座標のための単項コードワードのビンの値が異なると、他方のたとえば、y座標のための単項コードワードの対応するビンの確率推定値が異なり得る。したがって、上記で説明したように、一方の座標のための単項コードワードのビンに対応する確率推定値を使用してそのビンを復号するときに、他方の座標のための単項コードワードのビン、たとえば、対応するビンの値に関する情報を含む確率推定値を使用すると、確率推定値が正確になり得、したがって、効率的な復号が可能になり得る。たとえば、他方の座標のための単項コードワードのビンは、一方の座標のための単項コードワードのビンに対応するビンであり得、たとえば、ビンは、それらのそれぞれのコードワード内の同じまたは同様のビン位置にあり得る。0145コンテキストとして前に復号されたビンを使用して、このインターリーブ式に、x座標およびy座標、ならびに交換されたx座標およびy座標または、一般に、ビデオデータのブロックの最後有効係数位置情報を示すx座標およびy座標を復号することにより、それぞれのx座標およびy座標の相互情報を使用することが可能になり得、それにより、座標をより効率的に復号することが可能になり得る。0146他の例では、エントロピー復号ユニット70は、概して、インターリーブ式に、x座標およびy座標と、交換されたx座標およびy座標とを復号するように構成され得る。いくつかの例では、エントロピー復号ユニット70は、インターリーブ式に、それぞれのx座標およびy座標のためのコードワードの個々のビンを復号するように構成され得る。他の例では、エントロピー復号ユニット70は、インターリーブ式に、コードワードのビンのグループを復号するように構成され得る。たとえば、x座標およびy座標の各々のためのコードワードのいくつかのビンは、第1のコーディングモードたとえば、標準コーディングモードを使用して復号され得、コードワードの残りのビンは、第2のコーディングモードたとえば、バイパスコーディングモードを使用して復号され得る。したがって、エントロピー復号ユニット70は、第1のたとえば、標準コーディングモードを使用してコーディングされる他方の座標に対応するコードワードの1つまたは複数のビンを復号するより前に、第1のコーディングモードを使用してコーディングされる座標のうちの1つに対応するコードワードの1つまたは複数のビンを復号し、その後、第2のたとえば、バイパスコーディングモードを使用してコーディングされる他方の座標に対応するコードワードの1つまたは複数のビンを復号するより前に、第2のコーディングモードを使用してコーディングされる一方の座標に対応するコードワードの1つまたは複数のビンを復号するように構成され得る。他の例では、エントロピー復号ユニット70は、一緒に第2のコーディングモードを使用してコーディングされるコードワードのビンを復号するように構成され得る。0147したがって、上記で説明した方法でx座標およびy座標の各々のためのコードワードのビンの復号を分離することにより、一緒に特定のコーディングモードたとえば、バイパスモードを使用して復号されるビンをグループ化することが可能になり得、それによってコーディング効率も改善され得る。0148言い換えれば、x座標およびy座標と、交換されたx座標およびy座標との各々が、1つまたは複数のビンのシーケンスを備える場合、エントロピー復号ユニット70は、x座標およびy座標と、交換されたx座標およびy座標とのうちの1つに基づく統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスを実行することによって、x座標およびy座標と、交換されたx座標およびy座標とを復号するように構成され得る。エントロピー復号ユニット70は、他方の座標に対応するシーケンスの少なくとも1つのビンの値に少なくとも部分的に基づいてコンテキストモデルから統計値を選択することによって、座標のうちの1つに対応するシーケンスの少なくとも1つのビンを復号することにより、それぞれのx座標およびy座標を復号するように構成され得る。さらに、エントロピー復号ユニット70は、インターリーブ式に、座標のうちの1つに対応するシーケンスの1つまたは複数のビンと、他方の座標に対応するシーケンスの1つまたは複数のビンとを復号するように構成され得る。0149したがって、最後有効係数位置情報を復号するために、エントロピー復号ユニット70は、コンテキストとして前に復号されたビンを使用して、インターリーブ式に、x座標およびy座標と、交換されたx座標およびy座標とを復号するように構成され得る。すなわち、エントロピー復号ユニット70は、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスを実行することによって所与の座標のための単項コードワードの各ビンを復号するように構成され得、少なくとも1つのコンテキストは、前に説明したように、単項コードワード内のビンの位置と、他方の座標のための単項コードワードの1つまたは複数の前に復号されたビンの値とを含み得る。さらに、エントロピー符号化ユニット56は、概して、インターリーブ式に、x座標およびy座標と、交換されたx座標およびy座標とを符号化するように構成され得る。0150本開示の技法に一致する他の例では、他のタイプのコードワード、たとえば、短縮単項コードワード、指数ゴロムコードワード、連結コードワード、ならびに様々なコーディング技法の組合せが使用され得ることに留意されたい。0151また、いくつかの例では、エントロピー復号ユニット70は、さらに、走査順序が第3の走査順序を備えるとき、x座標およびy座標を復号するように構成され得ることに留意されたい。たとえば、第3の走査順序は、第1の走査順序および第2の走査順序とは異なり得る。一例として、第3の走査順序は、ジグザグ走査順序、または対角走査順序であり得、ジグザグ走査順序または対角走査順序はまた、ブロック内の共通の位置、たとえば、DC位置において始まる。0152この例では、場合によっては、エントロピー復号ユニット70は、さらに、走査順序を識別する情報、すなわち、ブロックの走査順序情報を復号するように構成され得る。代替的に、前に説明したように、エントロピー復号ユニット70は、エントロピー復号ユニット70がブロックを復号するために適応走査順序を使用するとき、ブロックの走査順序情報を復号することを省略し得る。さらに、場合によっては、エントロピー復号ユニット70は、さらに、ブロック内の他の有効係数の位置を識別する情報、すなわち、ブロックの有効係数位置情報を復号するように構成され得る。0153たとえば、ブロックの有効係数位置情報は、前に説明したように、有効係数フラグのシーケンスを使用して表され得る。前にも説明したように、有効係数位置情報は、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスたとえば、CABACプロセスを実行することによってシーケンスの各有効係数フラグを復号することにより復号され得、少なくとも1つのコンテキストは、走査順序に従うブロック内のフラグの位置を含み得る。0154この場合も、コンテキストモデルは、各フラグが所与の値たとえば、0または1を備える確率を示す確率推定値を含み得る。いくつかの例では、エントロピー復号ユニット70は、ビデオデータの前に復号されたブロックのための対応する有効係数フラグの値を使用して確率推定値を決定し得る。他の例では、エントロピー復号ユニット70はまた、フラグが所与の値を備える確率を反映するために各フラグの値を使用して確率推定値を更新し得る。たとえば、更新された確率推定値は、上記で説明した方法でビデオデータの後で復号されるブロックの有効係数位置情報を復号するために使用され得る。0155別の例として、エントロピー復号ユニット70は、ビデオデータの特定のブロックに関連する走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標を復号するように構成され得る。たとえば、走査順序は、複数の走査順序のうちの1つであり得、複数の走査順序の各々は、ブロック内の共通の位置、たとえば、DC位置において始まる。0156この例では、x座標およびy座標を復号するために、エントロピー復号ユニット70は、x座標が共通の位置に対応するかどうかを示す情報を復号することと、y座標が共通の位置に対応するかどうかを示す情報を復号することと、x座標が共通の位置に対応せず、y座標が共通の位置に対応しない場合、走査順序を識別する情報を復号することとを行うように構成され得る。エントロピー復号ユニット70は、さらに、x座標が共通の位置に対応しない場合、走査順序に基づいてx座標を復号することと、y座標が共通の位置に対応しない場合、走査順序に基づいてy座標を復号することとを行うように構成され得る。0157この例では、走査順序に基づいてx座標およびy座標を復号するために、エントロピー復号ユニット70は、エントロピー復号ユニット70が少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスたとえば、CABACプロセスを実行するように構成され得る。たとえば、少なくとも1つのコンテキストは走査順序を含み得る。0158さらに、一例として、エントロピー復号ユニット70は、一方の座標たとえば、y座標を他方の座標たとえば、x座標の後に復号するように構成され得、エントロピー復号ユニット70は、コンテキストとして前に復号された当該他方の座標の値を使用して当該一方の座標を復号するように構成され得る。x座標およびy座標の各々が1つまたは複数のビンのシーケンスを備える別の例として、エントロピー復号ユニット70は、他方の座標に対応するシーケンスの少なくとも1つのビン、たとえば、対応するビンの値に少なくとも部分的に基づいてコンテキストモデルから統計値を選択することにより、座標のうちの1つに対応するシーケンスの少なくとも1つのビンを復号するように構成され得る。さらに、エントロピー復号ユニット70は、インターリーブ式に、座標のうちの1つに対応するシーケンスの1つまたは複数のビンと、他方の座標に対応するシーケンスの1つまたは複数のビンとを復号するように構成され得る。0159いずれの場合も、上記で説明した方法で、ブロックの最後有効係数位置情報、ならびに、場合によっては、走査順序情報および有効係数位置情報、すなわち、SMデータを復号した後に、エントロピー復号ユニット70はまた、ブロック内の各有効係数の値たとえば、それぞれシンタックス要素coeffabslevelminus1およびcoeffsignflagによって示される、各有効係数の大きさおよび符号を復号し得る。0160したがって、本開示の技法により、エントロピー復号ユニット70は、他の方法を使用したときよりも効率的にブロックの最後有効係数位置情報を復号することが可能になり得、エントロピー復号ユニット70は、他のシステムに対してより少ない複雑さを有することが可能になり得る。このようにして、本開示の技法を使用すると、最後有効係数位置情報を含むコード化ビットストリームの相対的ビット節約と、この情報を復号するために使用されるエントロピー復号ユニット70の複雑さの相対的低減とが存在し得る。0161動き補償ユニット72は、ビットストリーム中で受信された動きベクトルを使用して、メモリ82中の参照フレーム中の予測ブロックを識別し得る。イントラ予測モジュール74は、ビットストリーム中で受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。0162イントラ予測モジュール74は、たとえば、隣接する、前に復号されたブロックのピクセルを使用して、符号化ブロックをイントラ予測するために符号化ブロックのイントラ予測モードの指示を使用し得る。ブロックがインター予測モード符号化される例では、動き補償ユニット72は、符号化ブロックについての動き補償予測データを取り出すために、動きベクトルを定義する情報を受信し得る。いずれの場合も、動き補償ユニット72またはイントラ予測モジュール74は、予測ブロックを定義する情報を加算器80に与え得る。0163逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット70によって復号された量子化ブロック係数を逆量子化inversequantize、すなわち、逆量子化dequantizeする。逆量子化プロセスは、たとえば、H.264復号規格によって定義される、またはHEVCテストモデルによって実行されるなど、従来のプロセスを含み得る。逆量子化プロセスはまた、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、各ブロックについてビデオエンコーダ20によって計算される量子化パラメータQPYの使用を含み得る。0164逆変換モジュール78は、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用して、ピクセル領域において残差ブロックを生成する。動き補償ユニット72は動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブピクセル精度をもつ動き推定に使用されるべき補間フィルタの識別子がシンタックス要素中に含まれ得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット72は、受信されたシンタックス情報に従って、ビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。0165動き補償ユニット72は、符号化ブロックのためのシンタックス情報のいくつかを使用して、符号化ビデオシーケンスの1つまたは複数のフレームを符号化するために使用されるブロックのサイズと、符号化ビデオシーケンスのフレームまたはスライスの各ブロックがどのように区分されるかを記述するパーティション情報と、各パーティションがどのように符号化されるかを示すモードと、各インター符号化ブロックまたはパーティションのための1つまたは複数の参照フレームおよび参照フレームリストと、符号化ビデオシーケンスを復号するための他の情報とを決定する。イントラ予測モジュール74はまた、上記で説明したように、たとえば、隣接する、前に復号されたブロックのピクセルを使用して、符号化ブロックをイントラ予測するために符号化ブロックのシンタックス情報を使用し得る。0166加算器80は、残差ブロックを、動き補償ユニット72またはイントラ予測モジュール74によって生成される対応する予測ブロックと合計して、復号ブロックを形成する。必要に応じて、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタを適用して、復号ブロックをフィルタ処理し得る。復号ビデオブロックは、次いで、メモリ82に記憶され、メモリ82は、参照ブロックを後続の動き補償に与え、また、図1のディスプレイデバイス32などのディスプレイデバイス上での提示のために復号ビデオを生成する。0167このように、ビデオデコーダ30は、ビデオデータのブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングすることと、走査順序が第1の走査順序とは異なる第2の走査順序を備えるとき、走査順序に従うブロック内の最後非ゼロ係数の位置を示す交換されたx座標およびy座標をコーディングすることと、を行うように構成されたビデオコーダの一例を表す。0168図4A~図4Cは、ビデオデータのブロックと、対応する有効係数位置情報と、最後有効係数位置情報との一例を示す概念図である。図4Aに示すように、ビデオデータのブロック、たとえば、マクロブロック、またはCUのTUは、量子化変換係数を含み得る。たとえば、図4Aに示すように、ブロック400は、前に説明した予測、変換、および量子化技法を使用して生成された量子化変換係数を含み得る。この例では、ブロック400が2N×2Nのサイズを有すると仮定し、ただし、Nは2に等しい。したがって、ブロック400は、図4Aに同じく示すように、4×4のサイズを有し、16個の量子化変換係数を含む。さらに、以下でより詳細に説明する図5Aに示すように、ブロック400に関連する走査順序がジグザグ走査順序であると仮定する。0169この例では、ジグザグ走査順序に従うブロック400内の最後有効係数は、ブロック400内の位置406にある、1に等しい量子化変換係数である。他の例では、上記で説明したように、ブロックは、ブロック400のサイズよりも小さいまたは大きいサイズを有し得、ブロック400よりも多いまたは少ない量子化変換係数を含み得る。さらに他の例では、ブロック400に関連する走査順序は、異なる走査順序、たとえば、水平走査順序、垂直走査順序、対角走査順序、または別の走査順序であり得る。0170図4Bは、前に説明したように、有効係数フラグデータ、すなわち、マップまたはブロック形式で表された有効係数フラグの一例を示している。図4Bの例において、ブロック402は、図4Aに示すブロック400に対応し得る。言い換えれば、ブロック402の有効係数フラグはブロック400の量子化変換係数に対応し得る。図4Bに示すように、1に等しいブロック402の有効係数フラグは、ブロック400の有効係数に対応する。同様に、0に等しいブロック402の有効係数フラグは、ブロック400の0または非有効係数に対応する。0171この例では、ジグザグ走査順序に従うブロック400内の最後有効係数に対応するブロック402の有効係数フラグは、ブロック402内の位置408にある、1に等しい有効係数フラグである。他の例では、有効係数または非有効係数を示すために使用される有効係数フラグの値は変えられ得るたとえば、0に等しい有効係数フラグが有効係数に対応し得、1に等しい有効係数フラグが非有効係数に対応し得る。0172図4Cは、前にも説明したように、最後有効係数フラグデータ、すなわち、マップまたはブロック形態で表された最後有効係数フラグの一例を示している。図4Cの例において、ブロック404は、それぞれ、図4Aおよび図4Bに示すブロック400およびブロック402に対応し得る。言い換えれば、ブロック404の最後有効係数フラグは、ブロック400の量子化変換係数と、ブロック402の有効係数フラグとに対応し得る。0173図4Cに示すように、ブロック404内の位置410にある、1に等しいブロック404の最後有効係数フラグは、ブロック400の最後有効係数と、ジグザグ走査順序に従う、1に等しいブロック402の有効係数フラグのうちの最後有効係数フラグとに対応する。同様に、0に等しいブロック404の最後有効係数フラグすなわち、すべての残りの最後有効係数フラグは、ブロック400の0または非有効係数と、ジグザグ走査順序に従うそのような有効係数フラグのうちの最後有効係数フラグ以外の1に等しいブロック402のすべての有効係数フラグとに対応する。0174走査順序に従う最後有効係数を示すために使用される最後有効係数フラグの値は変えられ得るたとえば、0に等しい最後有効係数フラグが、走査順序に従う最後有効係数に対応し得、1に等しい最後有効係数フラグが、すべての残りの係数に対応し得る。いずれの場合も、ブロック402の有効係数フラグと、ブロック404の最後有効係数フラグとは、ブロック400のためのSMデータと総称されることがある。0175上記で説明したように、ビデオデータのブロックの有効係数位置情報は、ブロックに関連する走査順序を使用して、ブロックの有効係数フラグを、図4Bに示すブロック402に示されている2次元ブロック表現から1次元アレイに直列化することによって示され得る。図4A~図4Bに示すブロック400~402の例では、この場合もジグザグ走査順序を仮定すると、ブロック400の有効係数位置情報は、ブロック402の有効係数フラグを1次元アレイに直列化することによって示され得る。すなわち、ブロック400の有効係数位置情報は、ジグザグ走査順序に従ってブロック402の有効係数フラグのシーケンスを生成することによって示され得る。0176この例では、生成シーケンスは、ジグザグ走査順序に従ってブロック402の最初の6つの有効係数フラグを表す、値111111に対応し得る。生成シーケンスは、ブロック400内のブロック位置の範囲に対応する有効係数フラグを含み、ジグザグ走査順序における最初のブロック位置すなわち、DC位置から開始し、ジグザグ走査順序に従うブロック400の最後有効係数に対応するすなわち、ブロック404の1に等しい最後有効係数フラグに対応するブロック位置で終了することに留意されたい。0177上記でも説明したように、ブロックの最後有効係数位置情報は、ブロックに関連する走査順序を使用して、ブロックの最後有効係数フラグを、図4Cに示すブロック404に示されている2次元ブロック表現から1次元アレイに直列化することによって示され得る。図4A~図4Cに示すブロック400~404の例では、この場合もジグザグ走査順序を仮定すると、ブロック400の最後有効係数位置情報は、ブロック404の最後有効係数フラグを1次元アレイに直列化することによって示され得る。すなわち、ブロック400の最後有効係数位置情報は、ジグザグ走査順序に従ってブロック404の最後有効係数フラグのシーケンスを生成することによって示され得る。この例では、生成シーケンスは、ジグザグ走査順序に従ってブロック404の最初の6つの最後有効係数フラグを表す、値000001に対応し得る。0178この場合も、生成シーケンスは、ジグザグ走査順序における最初のブロック位置から開始し、ジグザグ走査順序に従うブロック400の最後有効係数に対応するすなわち、ブロック404の1に等しい最後有効係数フラグに対応するブロック位置で終了する、ブロック400内のブロック位置の範囲に対応する最後有効係数フラグを含み得ることに留意されたい。したがって、この例では、シーケンス中に、ジグザグ走査順序による1に等しい最後有効係数フラグの後に最後有効係数フラグは含まれない。概して、ビデオデータのブロックに関連する走査順序に従う1に等しい最後有効係数フラグの後の最後有効係数フラグは、ブロックの最後有効係数位置情報を示すことを必要とされないことがある。したがって、いくつかの例では、これらのフラグは、この情報を示すために使用される最後有効係数フラグの生成シーケンスから省略される。0179また、上記で説明したように、最後有効係数が走査順序に従う最後ブロック位置たとえば、右下ブロック位置内に位置する場合、その位置はブロックの最後有効係数を含んでいると推測され得るので、生成シーケンスは、最後ブロック位置に対応する最後有効係数フラグを含まなくてよいことに留意されたい。したがって、この例では、生成シーケンスは、値000000000000000に対応し得、最後ブロック位置に対応する最後有効係数フラグは、シーケンス中に含まれず、1に等しいと推測される。0180図5A~図5Cは、それぞれ、ジグザグ走査順序と、水平走査順序と、垂直走査順序とを使用して走査されるビデオデータのブロックの例を示す概念図である。図5A~図5Cに示すように、ビデオデータの8×8ブロック、たとえば、マクロブロック、またはCUのTUは、円で示された対応するブロック位置において64個の量子化変換係数を含み得る。たとえば、ブロック500~504はそれぞれ、同じく前に説明した予測、変換、および量子化技法を使用して生成された64個の量子化変換係数を含み得、各対応するブロック位置は円で示されている。この例では、ブロック500~504が2N×2Nのサイズを有すると仮定し、ただし、Nは4に等しい。したがって、ブロック500~504は8×8のサイズを有する。0181図5Aに示すように、ブロック500に関連する走査順序はジグザグ走査順序である。ジグザグ走査順序は、図5Aの矢印によって示されるように対角的にブロック500の量子化変換係数を走査する。同様に、図5Bおよび図5Cに示すように、ブロック502および504に関連する走査順序は、それぞれ水平走査順序および垂直走査順序である。同じく図5Bおよび図5Cの矢印によって示されるように、水平走査順序は、水平線ごとに、またはラスタ的にブロック502の量子化変換係数を走査するが、垂直走査順序は、垂直線ごとに、または回転されたラスタ的にブロック504の量子化変換係数を走査する。0182他の例では、上記で説明したように、ブロックは、ブロック500~504のサイズよりも小さいまたは大きいサイズを有し得、より多いまたはより少ない量子化変換係数と、対応するブロック位置とを含み得る。これらの例では、ブロックに関連する走査順序は、図5A~図5Cの8×8ブロック500~504の例に示すのと実質的に同様の方法でブロックの量子化変換係数を走査し得、前に説明した走査順序のいずれかに従って、たとえば、4×4ブロック、または16×16ブロックが走査され得る。0183前に説明したように、本開示の技法は、対角走査順序、ジグザグ、水平、垂直、および/または対角走査順序の組合せである走査順序、ならびに、部分的にジグザグであり、部分的に水平であり、部分的に垂直であり、および/または部分的に対角である走査順序を含む、多種多様な他の走査順序に対しても適用され得る。さらに、本開示の技法はまた、ビデオデータの前にコーディングされたブロックたとえば、コーディングされている現在ブロックと同じブロックサイズまたはコーディングモードを有するブロックに関連する統計値に基づいてそれ自体で適応的である走査順序を考慮し得る。たとえば、適応走査順序は、場合によっては、ビデオデータのブロックに関連する走査順序であり得る。0184図6A~図6Cは、本開示の技法に一致する、走査順序情報に基づいてそれの最後有効係数位置情報がコーディングされるビデオデータのブロックの例を示す概念図である。図6Aに示すように、ブロック600は、矢印によって示され、図5Bを参照しながら上記で説明したように、水平走査順序に従って0から15に順序付けられた16個のブロック位置を含み得る。16個のブロック位置の各々は、図4Aを参照しながら上記で説明したように、量子化変換係数を含んでいることがある。図6Aに同じく示すように、位置2に対応する、水平走査順序に従うブロック600内の第3の位置は、位置606と呼ぶことがある。この例では、位置606は、x座標が2に等しく、y座標が0に等しい、xおよびy座標2,0を使用して表され得、xおよびy座標0,0に対応する基準位置または原点は、上記で説明したように、ブロック600の左上隅、すなわち、DC位置にある。この例では、位置606は、水平走査順序に従ってブロック600内の最後有効係数の位置に対応すると仮定する。0185さらに、ブロック600について、水平走査順序に従うブロック600内の最後有効係数の位置に対応する、ブロック600内の所与の位置の確率を示す統計値が存在すると仮定する。特に、統計値は、水平走査順序に従うブロック内の最後有効係数の位置に対応する座標、たとえば、x座標またはy座標が所与の値たとえば、0、1、2などを備える確率を示し得る。言い換えれば、統計値は、前に説明したx座標およびy座標2,0の各々が所与の値を備える確率を示し得る。0186さらに、いくつかの例では、x座標およびy座標は、たとえば、少なくとも1つのコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスたとえば、CABACプロセスを実行することによって、統計値に基づいてコーディングされ得る。たとえば、少なくとも1つのコンテキストは、x座標およびy座標と、走査順序とのうちの1つを含み得る。この例では、走査順序、たとえば、水平走査順序は、統計値を含む特定のコンテキストモデルを選択するために使用され得る。さらに、一方の座標たとえば、y座標が他方の座標たとえば、x座標の後にコーディングされる場合、当該一方の座標は、コンテキストとして前にコーディングされた当該他方の座標の値を使用してコーディングされ得る。すなわち、x座標およびy座標のうち前にコーディングされた座標の値を使用して、他方の現在コーディングされている座標が所与の値を備える確率を示すコンテキストモデル内の統計値をさらに選択し得る。0187さらに、いくつかの例では、x座標およびy座標は、1つまたは複数のビンのシーケンスを備える単項コードワードを使用してそれぞれ表され得る、すなわち、2値化され得る。したがって、統計値に基づいてx座標およびy座標をコーディングするために、特定の座標に対応するコードワードの各ビンは、コンテキスト適応型エントロピーコーディングプロセスを実行することによってコーディングされ得る。この例では、座標が所与の値を備える確率を示す、コンテキストモデル中に含まれる統計値は、座標に対応するコードワードの各ビンが所与の値たとえば、0または1を備える確率を示す確率推定値を含み得る。さらに、統計値は、コードワード内のそれぞれのビンの位置に応じて、コードワードのビンごとに異なる確率推定値を含み得る。0188図6Bにさらに示すように、ブロック602はまた、この場合も0から15に順序付けられた16個のブロック位置を含み得るが、この場合は、矢印によって示され、図5Cを参照しながら上記で説明したように、垂直走査順序に従う。16個のブロック位置の各々は、図4Aを参照しながら上記で説明したように、量子化変換係数を含んでいることがある。図6Bに同じく示すように、位置2に対応する、垂直走査順序に従うブロック602内の第3の位置は、位置608と呼ぶことがある。この例では、位置608は、x座標が0に等しく、y座標が2に等しい、xおよびy座標0,2を使用して表され得、xおよびy座標0,0に対応する基準位置または原点は、上記で説明したように、この場合もブロック602の左上隅、すなわち、DC位置にある。この例では、位置608は、垂直走査順序に従ってこの場合もブロック602内の最後有効係数の位置に対応すると仮定する。0189図6A~図6Bの例において、ブロック600の水平走査順序は、水平走査順序に従うブロック600内の最後有効係数の位置のx座標2が所与の値を備える確率が、垂直走査順序に従うブロック602内の最後有効係数の位置のy座標2が同じ値を備える確率と同じまたは同様であるように、ブロック602の垂直走査順序に関して対称的であり得、その逆も同様である。同様に、水平走査順序に従うブロック600内の最後有効係数の位置のy座標0が所与の値を備える確率は、垂直走査順序に従うブロック602内の最後有効係数の位置のx座標0が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。すなわち、ブロック600内の位置606のx座標およびy座標2,0はそれぞれ、ブロック602内の位置608の交換されたx座標およびy座標0,2とそれぞれ同じまたは同様である、所与の値を備える確率を有し得る。図6Bの破線矢印によって示されるように、ブロック602内の位置608の交換されたx座標およびy座標0,2は、x座標およびy座標2,0を使用して表され得るブロック602内の位置610に対応し得る。0190したがって、本開示の技法によれば、水平走査順序に従うブロック600内の最後有効係数の位置に対応するブロック600内の所与の位置の確率を示す共通の統計値は、前に説明したように、ブロック600内の位置606のx座標およびy座標2,0、ならびにブロック602内の位置608の交換されたx座標およびy座標0,2をコーディングするために使用され得る。0191図6Cにさらに示すように、ブロック604はまた、この場合も0から15に順序付けられた16個のブロック位置を含み得るが、この場合は、矢印によって示され、図5Aを参照しながら上記で説明したように、ジグザグ走査順序に従う。16個のブロック位置の各々は、図4Aを参照しながら上記で説明したように、量子化変換係数を含み得る。図6Cに同じく示すように、位置2に対応する、ジグザグ走査順序に従うブロック604内の第3の位置は、位置612と呼ぶことがある。この例では、位置612は、x座標が0に等しく、y座標が1に等しい、xおよびy座標0,1を使用して表され得、xおよびy座標0,0に対応する基準位置または原点は、上記で説明したように、この場合もブロック604の左上隅、すなわち、DC位置にある。この例では、位置612は、ジグザグ走査順序に従ってこの場合もブロック604内の最後有効係数の位置に対応すると仮定する。0192図6Cの例では、ブロック604のジグザグ走査順序は、それぞれブロック600およびブロック602の水平走査順序または垂直走査順序に関して対称的でないことがある。したがって、ブロック600またはブロック602内の最後有効係数の位置に対応するx座標およびy座標と、ブロック604内の最後有効係数の位置に対応するx座標およびy座標との間には、上記で説明した確率の一致または類似性が存在しないことがある。とはいえ、ブロック604内の最後有効係数の位置に対応するx座標およびy座標は、図6A~図6Bの例を参照しながら上記で説明した共通の統計値を使用してコーディングされ得る。たとえば、x座標およびy座標をコーディングするために共通の統計値を使用すると、それぞれの座標が特定の値を備える確率を正確に反映しないことがあるが、とはいえ、このように座標をコーディングすると、前に説明したように、別々の統計値ではなく、共通の統計値を使用することによりコーディング効率が改善され、それにより潜在的にシステム複雑さが低減され得る。0193図7は、本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的にコーディングするための方法の一例を示すフローチャートである。図7の技法は、概して、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せのいずれで実装されるかにかかわらず、任意の処理ユニットまたはプロセッサによって実行され得、ソフトウェアまたはファームウェアで実装されるとき、ソフトウェアまたはファームウェアのための命令を実行するために、対応するハードウェアが提供され得る。例として、図7の技法について、ビデオエンコーダ20図1および図2および/またはビデオデコーダ30図1および図3に関して説明するが、他のデバイスが同様の技法を実行するように構成され得ることを理解されたい。その上、図7に示すステップは、異なる順序でまたは並列に実行され得、本開示の技法から逸脱することなく、追加のステップが追加され、いくつかのステップが省略され得る。0194初めに、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオデータのブロックに関連する走査順序が第1の走査順序であるか第2の走査順序であるかを判断する700。たとえば、ブロックは、前に説明したように、マクロブロック、またはCUのTUであり得る。さらに、第1の走査順序と第2の走査順序とは、互いに対して対称的または少なくとも部分的に対称的であり得る。たとえば、前にも説明したように、第1の走査順序は水平走査順序であり得、第2の走査順序は垂直走査順序であり得、水平走査順序と垂直走査順序とは、ブロック内の共通の位置、たとえば、DC位置において始まる。0195特に、第1の走査順序および第2の走査順序はそれぞれ、ビデオエンコーダ20および/またはビデオデコーダ30によってブロックをコーディングするために使用され得る走査順序であり得る。たとえば、第1の走査順序および第2の走査順序は、ビデオエンコーダ20とビデオデコーダ30とを備える対応するコーディングシステム10内で、ビデオエンコーダ20によってビデオデータのブロックを符号化するために使用され、ビデオデコーダ30によってブロックを復号するために使用される走査順序であり得る。いくつかの例では、第1の走査順序および第2の走査順序は、ブロックをコーディングするためにシステム10内で使用される走査順序のうちのいくつかのみであり得る。他の例では、第1の走査順序および第2の走査順序は、ブロックをコーディングするためにシステム10内で使用される唯一の走査順序であり得る。このようにして、図7の例示的な方法は、ビデオデータのブロックをコーディングするために複数の走査順序を使用する任意のコーディングシステムに適用可能であり得る。0196ビデオエンコーダ20は、直接的に、たとえば、ブロックを符号化することの一部として、走査順序が第1の走査順序であるか第2の走査順序であるかの決定を行い得る。ビデオデコーダ30は、ブロックの走査順序情報を復号することによってこの決定を行い得る。たとえば、ビデオエンコーダ20は、図8の例示的な方法においてより詳細に説明するように走査順序情報を符号化し得、ビデオデコーダ30は、図9の例示的な方法において同じくより詳細に説明するようにその情報を復号し得る。0197走査順序が第1の走査順序である場合702、ビデオエンコーダ20および/またはビデオデコーダ30は、さらに、走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標、すなわち、ブロックの最後有効係数位置情報をコーディングする704。しかしながら、走査順序が第2の走査順序である場合702、ビデオエンコーダ20および/またはビデオデコーダ30は、代わりに、走査順序に従うブロック内の最後有効係数の位置を示す交換されたx座標およびy座標をコーディングする706。この例では、また、交換されたx座標およびy座標は、ブロックの最後有効係数位置情報に対応するが、前に説明したように、他の技法を使用したときよりも効率的にこの情報をコーディングすることを可能にするために、ビデオエンコーダ20および/またはビデオデコーダ30によってさらに処理される、すなわち、交換される。特に、交換されたx座標およびy座標により、前にも説明したように、ブロックの最後有効係数位置情報を示す、x座標およびy座標と、交換されたx座標およびy座標とをコーディングするために共通の統計値を使用することが可能になり得る。いずれの場合も、x座標およびy座標を使用して表されるか、交換されたx座標およびy座標を使用して表されるかにかかわらず、ブロックの最後有効係数位置情報は、ビデオエンコーダ20の場合には符号化され得、ビデオデコーダ30の場合には復号され得る。0198x座標およびy座標と、交換されたx座標およびy座標とをコーディングするために、ビデオエンコーダ20および/またはビデオデコーダ30は、さらに、走査順序が第1の走査順序を備えるとき、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率を示す統計値を決定し得る。特に、統計値は、走査順序が第1の走査順序を備えるときに走査順序に従うブロック内の最後有効係数の位置に対応する座標、たとえば、x座標またはy座標が所与の値たとえば、0、1、2などを備える確率を示し得る。言い換えれば、統計値は、前に説明したx座標およびy座標の各々が所与の値を備える確率を示し得る。0199第1の走査順序と第2の走査順序とは、互いに対して対称的または少なくとも部分的に対称的であり得るので、走査順序が第1の走査順序を備えるときにx座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにy座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。同様に、走査順序が第1の走査順序を備えるときにy座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにx座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。すなわち、走査順序が第1の走査順序を備えるときのx座標およびy座標はそれぞれ、走査順序が第2の走査順序を備えるときの交換されたx座標およびy座標とそれぞれ同じまたは同様である、所与の値を備える確率を有し得る。したがって、統計値は、交換されたx座標およびy座標の各々が所与の値を備える確率をさらに示し得る。いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオデータの前にコーディングされたブロックの最後有効係数位置情報、たとえば、前にコーディングされたブロックの、x座標およびy座標と、交換されたx座標およびy座標との値を使用して統計値を決定し得る。0200この例では、ビデオエンコーダ20および/またはビデオデコーダ30は、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とをコーディングし得る。たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、x座標が所与の値を備える確率が、x座標と、交換されたy座標とをコーディングするために使用され、y座標が所与の値を備える確率が、y座標と、交換されたx座標とをコーディングするために使用されるように、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とをコーディングし得る。さらに、ビデオエンコーダ20および/またはビデオデコーダ30は、それぞれの座標が特定の値を備える確率を反映するように、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新し得る。この例では、x座標が所与の値を備える確率は、x座標と、交換されたy座標とを使用して更新され得、y座標が所与の値を備える確率は、y座標と、交換されたx座標とを使用して更新され得る。たとえば、更新された統計値は、上記で説明した方法でビデオデータの後でコーディングされるブロックの最後有効係数位置情報をコーディングするために使用され得る。0201いくつかの例では、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とをコーディングするために、ビデオエンコーダ20および/またはビデオデコーダ30は、少なくとも1つのコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスたとえば、CABACプロセスを実行し得る。たとえば、少なくとも1つのコンテキストは、x座標およびy座標と、交換されたx座標およびy座標と、走査順序とのうちの1つを含み得る。この例では、ビデオエンコーダ20および/またはビデオデコーダ30は、走査順序、たとえば、水平走査順序または垂直走査順序を使用して、統計値を含む特定のコンテキストモデルを選択し得る。すなわち、ビデオエンコーダ20および/またはビデオデコーダ30は、ブロックをコーディングするために第1の走査順序を使用するときにx座標およびy座標をコーディングすることと、ブロックをコーディングするために第2の走査順序を使用するときに交換されたx座標およびy座標をコーディングすることとのために同じ統計値を選択し得る。0202さらに、一方の座標たとえば、y座標が他方の座標たとえば、x座標の後にコーディングされる場合、ビデオエンコーダ20および/またはビデオデコーダ30は、コンテキストとして当該他方の前にコーディングされた座標の値を使用して当該一方の座標をコーディングし得る。すなわち、ブロックをコーディングするために使用される走査順序に応じた、x座標およびy座標、または交換されたx座標およびy座標のうち前にコーディングされた座標の値を使用して、他方の現在コーディングされている座標が所与の値を備える確率を示すコンテキストモデル内の統計値をさらに選択し得る。ビデオエンコーダ20および/またはビデオデコーダ30は、次いで、選択された統計値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって、x座標およびy座標と、交換されたx座標およびy座標とをコーディングし得る。0203この例では、x座標およびy座標と、交換されたx座標およびy座標とは、1つまたは複数のビットまたはビンのシーケンスを備える単項コードワードを使用してそれぞれ表され得る、すなわち、2値化され得る。したがって、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とをコーディングするために、ビデオエンコーダ20および/またはビデオデコーダ30は、コンテキスト適応型エントロピーコーディングプロセスを実行することによって特定の座標に対応するコードワードの各ビンをコーディングし得る。この例では、座標が所与の値を備える確率を示す、コンテキストモデル中に含まれる統計値は、座標に対応するコードワードの各ビンが所与の値たとえば、0または1を備える確率を示す確率推定値を含み得る。さらに、統計値は、コードワード内のそれぞれのビンの位置に応じて、コードワードのビンごとに異なる確率推定値を含み得る。いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、たとえば、前に説明したように、前にコーディングされたブロックの最後有効係数位置情報に基づいて統計値を決定することの一部として、ビデオデータの前にコーディングされたブロックのための対応するビン、たとえば、前にコーディングされたブロックのための、x座標およびy座標と、交換されたx座標およびy座標とに対応するコードワードのビンの値を使用して確率推定値を決定し得る。他の例では、ビデオエンコーダ20および/またはビデオデコーダ30はまた、たとえば、前にも説明したように、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新することの一部として、各ビンの値を使用して確率推定値を更新し得る。ビデオエンコーダ20および/またはビデオデコーダ30は、確率推定値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって各ビンをコーディングし得る。0204別の例として、ビデオエンコーダ20および/またはビデオデコーダ30は、他方の座標に対応するシーケンスの少なくとも1つのビン、たとえば、対応するビンの値に少なくとも部分的に基づいてコンテキストモデルから統計値を選択することによって、座標のうちの1つに対応するシーケンスの少なくとも1つのビンをコーディングすることによって、x座標およびy座標と、交換されたx座標およびy座標とをコーディングし得る。さらに、ビデオエンコーダ20および/またはビデオデコーダ30は、インターリーブ式に、座標のうちの1つに対応するシーケンスの1つまたは複数のビンと、他方の座標に対応するシーケンスの1つまたは複数のビンとをコーディングするように構成され得る。0205最後に、いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、走査順序に従うブロック内のすべての他の有効係数の位置を示す情報、すなわち、ブロックの有効係数位置情報をコーディングする708。たとえば、ブロックの有効係数位置情報は、前に説明したように、有効係数フラグのシーケンスを使用して表され得る。前にも説明したように、有効係数位置情報は、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスたとえば、CABACプロセスを実行することによってシーケンスの各有効係数フラグをコーディングすることによりコーディングされ得、少なくとも1つのコンテキストは、走査順序に従うブロック内のフラグの位置を含み得る。0206この例では、コンテキストモデルは、各フラグが所与の値たとえば、0または1を備える確率を示す確率推定値を含み得る。いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、ビデオデータの前にコーディングされたブロックのための対応する有効係数フラグの値を使用して確率推定値を決定し得る。他の例では、ビデオエンコーダ20および/またはビデオデコーダ30はまた、フラグが所与の値を備える確率を反映するために各フラグの値を使用して確率推定値を更新し得る。たとえば、更新された確率推定値は、上記で説明した方法でビデオデータの後でコーディングされるブロックの有効係数位置情報をコーディングするために使用され得る。0207このように、図7の方法は、ビデオデータのブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングし、走査順序が第1の走査順序とは異なる第2の走査順序を備えるとき、走査順序に従うブロック内の最後非ゼロ係数の位置を示す交換されたx座標およびy座標をコーディングする方法の一例を表す。0208図8は、本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的に符号化するための方法の一例を示すフローチャートである。図8の技法は、概して、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せのいずれで実装されるかにかかわらず、任意の処理ユニットまたはプロセッサによって実行され得、ソフトウェアまたはファームウェアで実装されるとき、ソフトウェアまたはファームウェアのための命令を実行するために、対応するハードウェアが提供され得る。例として、図8の技法について、エントロピー符号化ユニット56図2に関して説明するが、他のデバイスが同様の技法を実行するように構成され得ることを理解されたい。その上、図8に示すステップは、異なる順序でまたは並列に実行され得、本開示の技法から逸脱することなく、追加のステップが追加され、いくつかのステップが省略され得る。0209初めに、エントロピー符号化ユニット56が、ビデオデータのブロックを受信する800。たとえば、ブロックは、前に説明したように、マクロブロック、またはCUのTUであり得る。エントロピー符号化ユニット56は、さらに、ブロックに関連する走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標、すなわち、ブロックの最後有効係数位置情報を決定する802。たとえば、走査順序は、エントロピー符号化ユニット56によってブロックを符号化するために使用される走査順序であり得、前に説明したように、ブロック内の共通の位置において始まる複数の走査順序のうちの1つであり得る。前にも説明したように、共通の位置はDC位置に対応し得る。さらに、x座標およびy座標は、1つまたは複数のビンのシーケンスを備える単項コードワードを使用してそれぞれ表され得る。0210エントロピー符号化ユニット56は、さらに、走査順序が第1の走査順序であるか第2の走査順序であるかを決定する804。たとえば、第1の走査順序および第2の走査順序は、前に説明したように、ビデオエンコーダ20とビデオデコーダ30とを備える対応するコーディングシステム10内で、エントロピー符号化ユニット56によってビデオデータのブロックを符号化するために使用され得る走査順序であり得る。いくつかの例では、第1の走査順序および第2の走査順序は、ブロックをコーディングするためにシステム10内で使用され得る走査順序のうちのいくつかのみであり得る。他の例では、第1の走査順序および第2の走査順序は、ブロックをコーディングするためにシステム10内で使用される唯一の走査順序であり得る。前に説明したように、第1の走査順序と第2の走査順序とは、互いに対して対称的または少なくとも部分的に対称的であり得る。たとえば、第1の走査順序は水平走査順序であり得、第2の走査順序は垂直走査順序であり得る。エントロピー符号化ユニット56は、直接的に、たとえば、ブロックを符号化することの一部として、走査順序が第1の走査順序であるか第2の走査順序であるかの決定を行い得る。0211走査順序が第1の走査順序である場合806、エントロピー符号化ユニット56は、さらに、x座標およびy座標を符号化する808。しかしながら、走査順序が第2の走査順序である場合806、エントロピー符号化ユニット56は、代わりに、x座標とy座標とを交換し、交換されたx座標およびy座標を符号化する810。前に説明したように、また、交換されたx座標およびy座標は、ブロックの最後有効係数位置情報に対応するが、他の技法を使用したときよりも効率的にこの情報を符号化することを可能にするために、エントロピー符号化ユニット56によってさらに処理される、すなわち、交換される。特に、交換されたx座標およびy座標により、前にも説明したように、ブロックの最後有効係数位置情報を示す、x座標およびy座標と、交換されたx座標およびy座標とを符号化するために共通の統計値を使用することが可能になり得る。いずれの場合も、エントロピー符号化ユニット56は、x座標およびy座標として表されるか交換されたx座標およびy座標として表されるかにかかわらず、ブロックの最後有効係数位置情報を符号化し得る。0212x座標およびy座標と、交換されたx座標およびy座標とを符号化するために、エントロピー符号化ユニット56は、さらに、走査順序が第1の走査順序を備えるとき、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率を示す統計値を決定し得る。特に、統計値は、走査順序が第1の走査順序を備えるときに走査順序に従うブロック内の最後有効係数の位置に対応する座標、たとえば、x座標またはy座標が所与の値たとえば、0、1、2などを備える確率を示し得る。言い換えれば、統計値は、前に説明したx座標およびy座標の各々が所与の値を備える確率を示し得る。0213第1の走査順序と第2の走査順序とは、互いに対して対称的または少なくとも部分的に対称的であり得るので、走査順序が第1の走査順序を備えるときにx座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにy座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。同様に、走査順序が第1の走査順序を備えるときにy座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにx座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。すなわち、走査順序が第1の走査順序を備えるときのx座標およびy座標はそれぞれ、走査順序が第2の走査順序を備えるときの交換されたx座標およびy座標とそれぞれ同じまたは同様である、所与の値を備える確率を有し得る。したがって、統計値は、交換されたx座標およびy座標の各々が所与の値を備える確率をさらに示し得る。いくつかの例では、エントロピー符号化ユニット56は、ビデオデータの前に符号化されたブロックの最後有効係数位置情報、たとえば、前に符号化されたブロックのx座標およびy座標ならびに交換されたx座標およびy座標の値を使用して統計値を決定し得る。0214この例では、エントロピー符号化ユニット56は、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とを符号化し得る。たとえば、エントロピー符号化ユニット56は、x座標が所与の値を備える確率が、x座標と、交換されたy座標とを符号化するために使用され、y座標が所与の値を備える確率が、y座標と、交換されたx座標とを符号化するために使用されるように、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とを符号化し得る。さらに、エントロピー符号化ユニット56は、それぞれの座標が特定の値を備える確率を反映するように、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新し得る。この例では、x座標が所与の値を備える確率は、x座標と、交換されたy座標とを使用して更新され得、y座標が所与の値を備える確率は、y座標と、交換されたx座標とを使用して更新され得る。たとえば、更新された統計値は、上記で説明した方法でビデオデータの後で符号化されるブロックの最後有効係数位置情報を符号化するために使用され得る。0215いくつかの例では、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とを符号化するために、エントロピー符号化ユニット56は、少なくとも1つのコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスたとえば、CABACプロセスを実行し得る。たとえば、少なくとも1つのコンテキストは、x座標およびy座標と、交換されたx座標およびy座標と、走査順序とのうちの1つを含み得る。この例では、エントロピー符号化ユニット56は、走査順序、たとえば、水平走査順序または垂直走査順序を使用して、統計値を含む特定のコンテキストモデルを選択し得る。すなわち、エントロピー符号化ユニット56は、ブロックを符号化するために第1の走査順序を使用するときにx座標およびy座標を符号化することと、ブロックを符号化するために第2の走査順序を使用するときに交換されたx座標およびy座標を符号化することとのために同じ統計値を選択し得る。0216さらに、ある座標たとえば、y座標が別の座標たとえば、x座標の後に符号化される場合、エントロピー符号化ユニット56は、コンテキストとして他方の前に符号化された座標の値を使用して座標を符号化し得る。すなわち、ブロックを符号化するために使用される走査順序に応じた、x座標およびy座標と、交換されたx座標およびy座標とのうち前に符号化された座標の値を使用して、他方の現在符号化されている座標が所与の値を備える確率を示すコンテキストモデル内の統計値をさらに選択し得る。エントロピー符号化ユニット56は、次いで、選択された統計値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって、x座標およびy座標と、交換されたx座標およびy座標とを符号化し得る。0217この例では、x座標およびy座標と、交換されたx座標およびy座標とは、1つまたは複数のビンのシーケンスを備える単項コードワードを使用してそれぞれ表され得る、すなわち、2値化され得る。したがって、統計値に基づいて、x座標およびy座標と、交換されたx座標およびy座標とを符号化するために、エントロピー符号化ユニット56は、コンテキスト適応型エントロピーコーディングプロセスを実行することによって特定の座標に対応するコードワードの各ビンを符号化し得る。この例では、座標が所与の値を備える確率を示す、コンテキストモデル中に含まれる統計値は、座標に対応するコードワードの各ビンが所与の値たとえば、0または1を備える確率を示す確率推定値を含み得る。さらに、統計値は、コードワード内のそれぞれのビンの位置に応じて、コードワードのビンごとに異なる確率推定値を含み得る。いくつかの例では、エントロピー符号化ユニット56は、たとえば、前に説明したように、前に符号化されたブロックの最後有効係数位置情報に基づいて統計値を決定することの一部として、ビデオデータの前に符号化されたブロックのための対応するビン、たとえば、前に符号化されたブロックのためのx座標およびy座標と、交換されたx座標およびy座標とに対応するコードワードのビンの値を使用して確率推定値を決定し得る。他の例では、エントロピー符号化ユニット56はまた、たとえば、前にも説明したように、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新することの一部として、各ビンの値を使用して確率推定値を更新し得る。エントロピー符号化ユニット56は、確率推定値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって各ビンを符号化し得る。0218前に説明したように、別の例として、エントロピー符号化ユニット56は、他方の座標に対応するシーケンスの少なくとも1つのビン、たとえば、対応するビンの値に少なくとも部分的に基づいてコンテキストモデルから統計値を選択することによって、座標のうちの1つに対応するシーケンスの少なくとも1つのビンを符号化することによって、x座標およびy座標と、交換されたx座標およびy座標とを符号化し得る。さらに、エントロピー符号化ユニット56は、インターリーブ式に、座標のうちの1つに対応するシーケンスの1つまたは複数のビンと、他方の座標に対応するシーケンスの1つまたは複数のビンとを符号化し得る。0219いずれの場合も、エントロピー符号化ユニット56は、さらに、走査順序を識別する情報、すなわち、ブロックの走査順序情報を符号化する812。走査順序が、ビデオデータのブロックをコーディングするためにシステム10内で使用される2つの走査順序のうちの1つを含む、いくつかの例では、エントロピー符号化ユニット56は、単一のビンを使用して走査順序情報を符号化し得る。たとえば、エントロピー符号化ユニット56は、走査順序が第1の走査順序であるかたとえば、bin=0、第2の走査順序であるかbin=1を示すための単一のビンを符号化し得る。走査順序が、システム10によってビデオデータのブロックをコーディングするために使用され得る3つの走査順序のうちの1つを含む、他の例では、エントロピー符号化ユニット56は、1つと2つとの間のビンを使用して走査順序情報を符号化し得る。たとえば、エントロピー符号化ユニット56は、走査順序が第1の走査順序であるかどうかを示すための第1のビンを符号化し得るたとえば、走査順序が第1の走査順序である場合はbin1=0であり、他の場合はbin1=1である。第1のビンは走査順序が第1の走査順序でないことを示す場合、エントロピー符号化ユニット56は、走査順序が第2の走査順序であるかたとえば、bin2=0、第3の走査順序であるかたとえば、bin2=1を示すための第2のビンを符号化し得る。他の例では、ビンの他の値を使用することを含む、ブロックの走査順序情報を符号化する他の方法が使用され得る。いくつかの例では、エントロピー符号化ユニット56は、ビットストリーム中で直接各ビンをシグナリングし得る。他の例では、エントロピー符号化ユニット56は、さらに、x座標およびy座標と、交換されたx座標およびy座標とのうちの1つに対応するコードワードのビンを符号化することに関して上記で説明したのと同様の方法でコンテキスト適応型エントロピーコーディングプロセスたとえば、CABACプロセスを使用して各ビンを符号化し得る。代替的に、前に説明したように、エントロピー符号化ユニット56は、エントロピー符号化ユニット56がブロックを符号化するために適応走査順序を使用するとき、ブロックの走査順序情報を符号化することを省略し得る。0220いくつかの例では、エントロピー符号化ユニット56は、さらに、走査順序に従うブロック内のすべての他の有効係数の位置を示す情報、すなわち、ブロックの有効係数位置情報を符号化する814。前に説明したように、たとえば、ブロックの有効係数位置情報は、有効係数フラグのシーケンスを使用して表され得る。前にも説明したように、有効係数位置情報は、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスたとえば、CABACプロセスを実行することによってシーケンスの各有効係数フラグを符号化することにより符号化され得、少なくとも1つのコンテキストは、走査順序に従うブロック内のフラグの位置を含み得る。0221コンテキストモデルは、各フラグが所与の値たとえば、0または1を備える確率を示す確率推定値を含み得る。いくつかの例では、エントロピー符号化ユニット56は、ビデオデータの前に符号化されたブロックのための対応する有効係数フラグの値を使用して確率推定値を決定し得る。他の例では、エントロピー符号化ユニット56はまた、フラグが所与の値を備える確率を反映するために各フラグの値を使用して確率推定値を更新し得る。たとえば、更新された確率推定値は、上記で説明した方法でビデオデータの後で符号化されるブロックの有効係数位置情報を符号化するために使用され得る。0222最後に、エントロピー符号化ユニット56は、ブロックの走査順序情報に基づいて最後有効係数位置情報を符号化することを停止する816。たとえば、エントロピー符号化ユニット56は、上記で説明したように、他のコーディングタスク、たとえば、当該のブロックまたは後続のブロックのための他のシンタックス要素の符号化に進み得る。0223このように、図8の方法は、ビデオデータのブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングし、走査順序が第1の走査順序とは異なる第2の走査順序を備えるとき、走査順序に従うブロック内の最後非ゼロ係数の位置を示す交換されたx座標およびy座標をコーディングする方法の一例を表す。0224図9は、本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて符号化された最後有効係数位置情報を効率的に復号するための方法の一例を示すフローチャートである。図9の技法は、概して、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せのいずれで実装されるかにかかわらず、任意の処理ユニットまたはプロセッサによって実行され得、ソフトウェアまたはファームウェアで実装されるとき、ソフトウェアまたはファームウェアのための命令を実行するために、対応するハードウェアが提供され得る。例として、図9の技法について、エントロピー復号ユニット70図3に関して説明するが、他のデバイスが同様の技法を実行するように構成され得ることを理解されたい。その上、図9に示すステップは、異なる順序でまたは並列に実行され得、本開示の技法から逸脱することなく、追加のステップが追加され、いくつかのステップが省略され得る。0225初めに、エントロピー復号ユニット70が、ビデオデータのブロックのための符号化された有効性データを受信する900。たとえば、ブロックは、前に説明したように、マクロブロック、またはCUのTUであり得る。エントロピー復号ユニット70は、さらに、ブロックに関連する走査順序に従うブロック内の最後有効係数の位置を示す座標、すなわち、ブロックの最後有効係数位置情報を決定するために有効性データを復号する902。走査順序は、エントロピー符号化ユニット、たとえば、図2のエントロピー符号化ユニット56によってブロックを符号化するために使用される走査順序であり得、前に説明したように、ブロック内の共通の位置において始まる複数の走査順序のうちの1つであり得る。前にも説明したように、共通の位置はDC位置に対応し得る。さらに、決定された座標は、1つまたは複数のビンのシーケンスを備える単項コードワードを使用してそれぞれ表され得る。0226図8の例を参照しながら上記で説明したように、決定された座標は、走査順序に応じて、走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標または交換されたx座標およびy座標に対応し得る。たとえば、座標は、走査順序が第1の走査順序を備えるとき、x座標およびy座標に対応し得、走査順序が第2の走査順序を備えるとき、交換されたx座標およびy座標に対応し得る。x座標およびy座標と、交換されたx座標およびy座標とは、ブロックの最後有効係数位置情報に対応するが、交換されたx座標およびy座標は、他の技法を使用したときよりも効率的にこの情報をコーディングすることを可能にするためにさらに処理される、すなわち、交換される。特に、交換されたx座標およびy座標により、前にも説明したように、ブロックの最後有効係数位置情報を示す、x座標およびy座標と、交換されたx座標およびy座標とをコーディングするために共通の統計値を使用することが可能になり得る。0227いずれの場合も、図8のエントロピー符号化ユニット56の例を参照しながら前に説明したのと同様の方法で、座標を決定するように有効性データを復号するために、エントロピー復号ユニット70は、さらに、走査順序が第1の走査順序を備えるとき、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率を示す統計値を決定し得る。特に、走査順序が第1の走査順序を備えるときに走査順序に従うブロック内の最後有効係数の位置に対応する座標、たとえば、x座標またはy座標が統計値は、所与の値たとえば、0、1、2などを備える確率を示し得る。言い換えれば、統計値は、前に説明したx座標およびy座標の各々が所与の値を備える確率を示し得る。0228第1の走査順序と第2の走査順序とは、互いに対して対称的または少なくとも部分的に対称的であり得るので、走査順序が第1の走査順序を備えるときにx座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにy座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。同様に、走査順序が第1の走査順序を備えるときにy座標が所与の値を備える確率は、走査順序が第2の走査順序を備えるときにx座標が同じ値を備える確率と同じまたは同様であり得、その逆も同様である。すなわち、走査順序が第1の走査順序を備えるときのx座標およびy座標はそれぞれ、走査順序が第2の走査順序を備えるときの交換されたx座標およびy座標とそれぞれ同じまたは同様である、所与の値を備える確率を有し得る。したがって、統計値は、交換されたx座標およびy座標の各々が所与の値を備える確率をさらに示し得る。いくつかの例では、エントロピー復号ユニット70は、ビデオデータの前に復号されたブロックの最後有効係数位置情報、たとえば、前に復号されたブロックのx座標およびy座標ならびに交換されたx座標およびy座標の値を使用して統計値を決定し得る。0229この例では、エントロピー復号ユニット70は、統計値に基づいて、座標、すなわち、x座標およびy座標、または交換されたx座標およびy座標を決定するために、有効性データを復号し得る。たとえば、エントロピー復号ユニット70は、x座標が所与の値を備える確率が、x座標と、交換されたy座標とを決定するように有効性データを復号するために使用され、y座標が所与の値を備える確率が、y座標と、交換されたx座標とを決定するように有効性データを復号するために使用されるように、統計値に基づいてx座標およびy座標または交換されたx座標およびy座標を決定するために有効性データを復号し得る。さらに、エントロピー復号ユニット70は、それぞれの座標が特定の値を備える確率を反映するように、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新し得る。この例では、x座標が所与の値を備える確率は、x座標と、交換されたy座標とを使用して更新され得、y座標が所与の値を備える確率は、y座標と、交換されたx座標とを使用して更新され得る。たとえば、更新された統計値は、上記で説明した方法でビデオデータの後で復号されるブロックの有効係数位置情報を決定するように有効性データを復号するために使用され得る。0230いくつかの例では、統計値に基づいてx座標およびy座標または交換されたx座標およびy座標を決定するように有効性データを復号するために、エントロピー復号ユニット70は、少なくとも1つのコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスたとえば、CABACプロセスを実行し得る。たとえば、少なくとも1つのコンテキストは、x座標およびy座標と、交換されたx座標およびy座標と、走査順序とのうちの1つを含み得る。この例では、エントロピー復号ユニット70は、走査順序、たとえば、水平走査順序または垂直走査順序を使用して、統計値を含む特定のコンテキストモデルを選択し得る。すなわち、エントロピー復号ユニット70は、ブロックを復号するために第1の走査順序を使用するときにx座標およびy座標を決定し、ブロックを復号するために第2の走査順序を使用するときに交換されたx座標およびy座標を決定するように、有効性データを復号するために同じ統計値を選択し得る。0231x座標およびy座標と、交換されたx座標およびy座標とは、1つまたは複数のビンのシーケンスを備える単項コードワードを使用してそれぞれ表され得る、すなわち、2値化され得る。したがって、統計値に基づいてx座標およびy座標または交換されたx座標およびy座標を判断するように有効性データを復号するために、エントロピー復号ユニット70は、コンテキスト適応型エントロピーコーディングプロセスを実行することによって特定の座標に対応するコードワードの各ビンを決定するために有効性データを復号し得る。この例では、座標が所与の値を備える確率を示す、コンテキストモデル中に含まれる統計値は、座標に対応するコードワードの各ビンが所与の値たとえば、0または1を備える確率を示す確率推定値を含み得る。さらに、統計値は、コードワード内のそれぞれのビンの位置に応じて、コードワードのビンごとに異なる確率推定値を含み得る。いくつかの例では、エントロピー復号ユニット70は、たとえば、前に説明したように、前に復号されたブロックの最後有効係数位置情報に基づいて統計値を決定することの一部として、ビデオデータの前に復号されたブロックのための対応するビン、たとえば、前に復号されたブロックのためのx座標およびy座標と、交換されたx座標およびy座標とに対応するコードワードのビンの値を使用して確率推定値を決定し得る。他の例では、エントロピー復号ユニット70はまた、たとえば、前にも説明したように、x座標およびy座標と、交換されたx座標およびy座標とに基づいて統計値を更新することの一部として、各ビンの値を使用して確率推定値を更新し得る。エントロピー復号ユニット70は、確率推定値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって各ビンを決定するために有効性データを復号し得る。0232前に説明したように、別の例として、エントロピー復号ユニット70は、他方の座標に対応するシーケンスの少なくとも1つのビン、たとえば、対応するビンの値に少なくとも部分的に基づいてコンテキストモデルから統計値を選択することによって、座標のうちの1つに対応するシーケンスの少なくとも1つのビンを復号することによって、x座標およびy座標と、交換されたx座標およびy座標とを復号し得る。さらに、エントロピー復号ユニット70は、インターリーブ式に、座標のうちの1つに対応するシーケンスの1つまたは複数のビンと、他方の座標に対応するシーケンスの1つまたは複数のビンとを復号し得る。0233エントロピー復号ユニット70は、さらに、ブロックのための符号化された走査順序データを受信する904。エントロピー復号ユニット70は、さらに、走査順序を識別する情報、すなわち、ブロックの走査順序情報を決定するために走査順序データを復号する906。代替的に、前に説明したように、エントロピー復号ユニット70は、エントロピー復号ユニット70がブロックを復号するために適応走査順序を使用するとき、ブロックのための符号化された走査順序データを受信および復号しなくてよい。いずれの場合も、エントロピー復号ユニット70は、さらに、走査順序が第1の走査順序であるか第2の走査順序であるかを決定する908。たとえば、第1の走査順序および第2の走査順序は、前に説明したように、ビデオエンコーダ20とビデオデコーダ30とを備える対応するコーディングシステム10内で、エントロピー復号ユニット70によってビデオデータのブロックを復号するために使用され得る走査順序であり得る。第1の走査順序および第2の走査順序は、ブロックをコーディングするためにシステム10内で使用され得る走査順序のうちのいくつかのみであり得る。他の例では、第1の走査順序および第2の走査順序は、ブロックをコーディングするためにシステム10内で使用される唯一の走査順序であり得る。場合によっては、第1の走査順序と第2の走査順序とは、互いに対して対称的または少なくとも部分的に対称的であり得る。たとえば、第1の走査順序は水平走査順序であり得、第2の走査順序は垂直走査順序であり得る。エントロピー復号ユニット70は、ブロックの判断された走査順序情報を使用して走査順序が第1の走査順序であるか第2の走査順序であるかの決定を行い得る。0234走査順序が第1の走査順序である場合910、エントロピー復号ユニット70は、決定されたx座標およびy座標を使用してブロックを復号し続け得る。いくつかの例では、エントロピー復号ユニット70は、さらに、ブロックのための残りの符号化された有効性データを受信する914。エントロピー復号ユニット70は、さらに、走査順序に従うブロック内のすべての他の有効係数の位置を示す情報、すなわち、ブロックの有効係数位置情報を決定するために残りの有効性データを復号する916。前に説明したように、たとえば、ブロックの有効係数位置情報は、有効係数フラグのシーケンスを使用して表され得る。前にも説明したように、残りの有効性データは、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスたとえば、CABACプロセスを実行することによってシーケンスの各有効係数フラグを決定するように残りの有効性データを復号することにより有効係数位置情報を決定するために復号され得、少なくとも1つのコンテキストは、走査順序に従うブロック内のフラグの位置を含み得る。0235コンテキストモデルは、各フラグが所与の値たとえば、0または1を備える確率を示す確率推定値を含み得る。いくつかの例では、エントロピー復号ユニット70は、ビデオデータの前に復号されたブロックのための対応する有効係数フラグの値を使用して確率推定値を決定し得る。他の例では、エントロピー復号ユニット70はまた、フラグが所与の値を備える確率を反映するために各フラグの値を使用して確率推定値を更新し得る。たとえば、更新された確率推定値は、上記で説明した方法でビデオデータの後で復号されるブロックの有効係数位置情報を決定するように残りの有効性データを復号するために使用され得る。0236しかしながら、走査順序が第2の走査順序である場合910、エントロピー復号ユニット70は、ステップ914および916に関して上記で説明したのと同様の方法で、決定されたx座標とy座標とを交換し912、交換されたx座標およびy座標を使用してブロックを復号し続け得る。前に説明したように、x座標およびy座標と、交換されたx座標およびy座標とは、ブロックの最後有効係数位置情報に対応するが、交換されたx座標およびy座標は、他の技法を使用したときよりも効率的にこの情報をコーディングすることを可能にするためにさらに処理される。0237最後に、エントロピー復号ユニット70は、ブロックの走査順序情報に基づいて最後有効係数位置情報を復号することを停止する918。たとえば、エントロピー復号ユニット70は、上記で説明したように、他のコーディングタスク、たとえば、当該のブロックまたは後続のブロックのための他のシンタックス要素の復号に進み得る。0238このように、図9の方法は、ビデオデータのブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングし、走査順序が第1の走査順序とは異なる第2の走査順序を備えるとき、走査順序に従うブロック内の最後非ゼロ係数の位置を示す交換されたx座標およびy座標をコーディングする方法の一例を表す。0239図10は、本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて最後有効係数位置情報を効率的に符号化するための方法の別の例を示すフローチャートである。図10の技法は、概して、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せのいずれで実装されるかにかかわらず、任意の処理ユニットまたはプロセッサによって実行され得、ソフトウェアまたはファームウェアで実装されるとき、ソフトウェアまたはファームウェアのための命令を実行するために、対応するハードウェアが提供され得る。例として、図10の技法について、エントロピー符号化ユニット56図2に関して説明するが、他のデバイスが同様の技法を実行するように構成され得ることを理解されたい。その上、図10に示すステップは、異なる順序でまたは並列に実行され得、本開示の技法から逸脱することなく、追加のステップが追加され、いくつかのステップが省略され得る。0240初めに、エントロピー符号化ユニット56が、ビデオデータのブロックを受信する1000。たとえば、ブロックは、前に説明したように、マクロブロック、またはCUのTUであり得る。エントロピー符号化ユニット56は、さらに、ブロックに関連する走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標、すなわち、ブロックの最後有効係数位置情報を決定する1002。たとえば、走査順序は、エントロピー符号化ユニット56によってブロックを符号化するために使用される走査順序であり得、ビデオエンコーダ20とビデオデコーダ30とを備える対応するコーディングシステム10内でビデオデータのブロックをコーディングするために使用される複数の走査順序のうちの1つであり得る。たとえば、複数の走査順序の各々は、ブロック内の共通の位置、たとえば、DC位置において始まり得る。さらに、前にも説明したように、x座標およびy座標は、1つまたは複数のビンのシーケンスを備える単項コードワードを使用してそれぞれ表され得る。0241エントロピー符号化ユニット56は、さらに、x座標およびy座標がそれぞれブロック内の共通の位置に対応するかどうかを決定する1004。この共通の位置はDC位置に対応し得る。エントロピー符号化ユニット56は、上記で説明したように、直接的に、たとえば、x座標およびy座標を決定することの一部として上記の決定を行い得る。0242エントロピー符号化ユニット56は、さらに、x座標が共通の位置に対応するかどうかの指示を符号化する1006。同様に、エントロピー符号化ユニット56は、さらに、y座標が共通の位置に対応するかどうかの指示を符号化する1008。エントロピー符号化ユニット56は、単一のビンを使用して各指示を符号化し得る。たとえば、エントロピー符号化ユニット56は、x座標が共通の位置に対応するかたとえば、bin1=1そうでないかbin1=0を示す第1のビンと、y座標が共通の位置に対応するかたとえば、bin2=1そうでないかbin2=0を示す第2のビンとを符号化し得る。いくつかの例では、エントロピー符号化ユニット56は、ビットストリーム中で直接各ビンをシグナリングし得る。他の例では、エントロピー符号化ユニット56は、さらに、たとえば、コンテキストに基づいてコンテキストモデルを適用することを含むCABACプロセスを実行することによって、図7~図9を参照しながら上記で説明したのと同様の方法でコンテキスト適応型エントロピーコーディングプロセスを使用して各ビンを符号化し得る。0243x座標およびy座標がそれぞれ共通の位置に対応する場合1010、エントロピー符号化ユニット56は、ブロックの走査順序情報に基づいて最後有効係数位置情報を符号化することを停止する1024。言い換えれば、x座標およびy座標がそれぞれ共通の位置に対応する場合、走査順序に従うブロック内の最後唯一有効係数を超えるさらなる有効係数はブロック内に存在しない。そのような場合、エントロピー符号化ユニット56は、ブロックについて、さらなる最後有効係数位置情報、あるいは走査順序情報または有効係数位置情報を符号化する必要がない。そのような場合、エントロピー符号化ユニット56は、他のコーディングタスク、たとえば、当該のブロックまたは後続のブロックのための他のシンタックス要素の符号化に進み得る。0244x座標およびy座標がそれぞれ共通の位置に対応しない場合1010、エントロピー符号化ユニット56は、さらに、走査順序を識別する情報、すなわち、ブロックの走査順序情報を符号化する1012。走査順序が、ビデオデータのブロックをコーディングするためにシステム10内で使用される2つの走査順序のうちの1つを含む、いくつかの例では、エントロピー符号化ユニット56は、単一のビンを使用して走査順序情報を符号化し得る。たとえば、エントロピー符号化ユニット56は、走査順序が第1の走査順序であるかたとえば、bin=0、第2の走査順序であるかbin=1を示すための単一のビンを符号化し得る。走査順序が、システム10によってビデオデータのブロックをコーディングするために使用され得る3つの走査順序のうちの1つを含む、他の例では、エントロピー符号化ユニット56は、1つと2つとの間のビンを使用して走査順序情報を符号化し得る。たとえば、エントロピー符号化ユニット56は、走査順序が第1の走査順序であるかどうかを示すための第1のビンを符号化し得るたとえば、走査順序が第1の走査順序である場合はbin1=0であり、他の場合はbin1=1である。第1のビンは走査順序が第1の走査順序でないことを示す場合、エントロピー符号化ユニット56は、走査順序が第2の走査順序であるかたとえば、bin2=0、第3の走査順序であるかたとえば、bin2=1を示すための第2のビンを符号化し得る。他の例では、ビンの他の値を使用することを含む、ブロックの走査順序情報を符号化する他の方法が使用され得る。いくつかの例では、エントロピー符号化ユニット56は、ビットストリーム中で直接各ビンをシグナリングし得る。他の例では、エントロピー符号化ユニット56は、さらに、たとえば、コンテキストに基づいてコンテキストモデルを適用することを含むCABACプロセスを実行することによって、図7~図9を参照しながら上記で説明したのと同様の方法でコンテキスト適応型エントロピーコーディングプロセスを使用して各ビンを符号化し得る。代替的に、前に説明したように、エントロピー符号化ユニット56は、エントロピー符号化ユニット56がブロックを符号化するために適応走査順序を使用するとき、ブロックの走査順序情報を符号化しなくてよい。0245いずれの場合も、x座標が共通の位置に対応しない場合1014、エントロピー符号化ユニット56は、さらに、走査順序に基づいてx座標を符号化する1016。同様に、y座標が共通の位置に対応しない場合1018、エントロピー符号化ユニット56は、さらに、走査順序に基づいてy座標を符号化する1020。x座標およびy座標を符号化するために、エントロピー符号化ユニット56は、さらに、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率を示す統計値を決定し得る。特に、統計値は、走査順序に従うブロック内の最後有効係数の位置に対応する座標、たとえば、x座標またはy座標が所与の値たとえば、0、1、2などを備える確率を示し得る。言い換えれば、統計値は、前に説明したx座標およびy座標の各々が所与の値を備える確率を示し得る。いくつかの例では、エントロピー符号化ユニット56は、ビデオデータの前に符号化されたブロックの最後有効係数位置情報、たとえば、前に符号化されたブロックのx座標およびy座標の値を使用して統計値を決定し得る。0246いくつかの例では、統計値は、走査順序に応じて変動し得る。特に、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率は、走査順序に応じて変動し得る。すなわち、走査順序が異なると、ブロックの最後有効係数位置情報のための統計値が異なり得る。したがって、統計値に基づいてブロックの最後有効係数位置情報を符号化するとき、走査順序に少なくとも部分的に基づいて統計値を選択することにより、正確な統計値を使用することになり得、したがって、効率的な符号化が可能になり得る。したがって、エントロピー符号化ユニット56は、統計値に基づいてx座標およびy座標を符号化し得、エントロピー符号化ユニット56は、走査順序に少なくとも部分的に基づいて統計値を選択する。したがって、エントロピー符号化ユニット56は、走査順序に基づいてx座標およびy座標を符号化し得る。さらに、エントロピー符号化ユニット56は、それぞれの座標が特定の値を備える確率を反映するようにx座標およびy座標に基づいて統計値を更新し得る。たとえば、更新された統計値は、上記で説明した方法でビデオデータの後で符号化されるブロックの最後有効係数位置情報を符号化するために使用され得る。0247いくつかの例では、統計値に基づいてx座標およびy座標を符号化するために、エントロピー符号化ユニット56は、少なくとも1つのコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスたとえば、CABACプロセスを実行し得る。たとえば、少なくとも1つのコンテキストは、x座標およびy座標と、走査順序とのうちの1つを含み得る。この例では、エントロピー符号化ユニット56は、統計値を含む特定のコンテキストモデルを選択するために走査順序を使用し得る。このようにして、エントロピー符号化ユニット56は、走査順序に基づいてx座標およびy座標を符号化し得る。さらに、一方の座標たとえば、y座標が他方の座標たとえば、x座標の後に符号化される場合、エントロピー符号化ユニット56は、コンテキストとして前に符号化された当該他方の座標の値を使用して当該一方の座標を符号化し得る。すなわち、x座標およびy座標のうち前に符号化された座標の値を使用して、他方の現在符号化されている座標が所与の値を備える確率を示すコンテキストモデル内の統計値をさらに選択し得る。エントロピー符号化ユニット56は、次いで、選択された統計値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによってx座標およびy座標を符号化し得る。0248この例では、x座標およびy座標は、1つまたは複数のビンのシーケンスを備える単項コードワードを使用してそれぞれ表され得る、すなわち、2値化され得る。したがって、統計値に基づいてx座標およびy座標を符号化するために、エントロピー符号化ユニット56は、コンテキスト適応型エントロピーコーディングプロセスを実行することによって特定の座標に対応するコードワードの各ビンを符号化し得る。この例では、座標が所与の値を備える確率を示す、コンテキストモデル中に含まれる統計値は、座標に対応するコードワードの各ビンが所与の値たとえば、0または1を備える確率を示す確率推定値を含み得る。さらに、統計値は、コードワード内のそれぞれのビンの位置に応じて、コードワードのビンごとに異なる確率推定値を含み得る。いくつかの例では、エントロピー符号化ユニット56は、たとえば、前に説明したように、前に符号化されたブロックの最後有効係数位置情報に基づいて統計値を決定することの一部として、ビデオデータの前に符号化されたブロックのための対応するビン、たとえば、前に符号化されたブロックのためのx座標およびy座標に対応するコードワードのビンの値を使用して確率推定値を決定し得る。他の例では、エントロピー符号化ユニット56はまた、たとえば、前にも説明したように、x座標およびy座標に基づいて統計値を更新することの一部として、各ビンの値を使用して確率推定値を更新し得る。エントロピー符号化ユニット56は、確率推定値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって各ビンを符号化し得る。0249前に説明したように、別の例として、エントロピー符号化ユニット56は、他方の座標に対応するシーケンスの少なくとも1つのビン、たとえば、対応するビンの値に少なくとも部分的に基づいてコンテキストモデルから統計値を選択することによって、座標のうちの1つに対応するシーケンスの少なくとも1つのビンを符号化することによって、x座標およびy座標を符号化し得る。さらに、エントロピー符号化ユニット56は、インターリーブ式に、座標のうちの1つに対応するシーケンスの1つまたは複数のビンと、他方の座標に対応するシーケンスの1つまたは複数のビンとを符号化し得る。0250いくつかの例では、各座標を符号化するより前に、エントロピー符号化ユニット56は、他の方法を使用したときよりも座標が効率的にコーディングされることを可能にするために各座標から値1を減算し得る。たとえば、エントロピー符号化ユニット56は、座標をコーディングするために使用される情報の量を低減するために、座標を符号化するより前に各座標から値1を減算し得る。同様に、エントロピー復号ユニット、たとえば、図11の例においてより詳細に説明するエントロピー復号ユニット70は、座標を決定するために、座標を復号した後に各座標に値1を加算し得る。0251いくつかの例では、エントロピー符号化ユニット56は、さらに、走査順序に従うブロック内のすべての他の有効係数の位置を示す情報、すなわち、ブロックの有効係数位置情報を符号化する1022。前に説明したように、ブロックの有効係数位置情報は、有効係数フラグのシーケンスを使用して表され得る。前にも説明したように、有効係数位置情報は、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスたとえば、CABACプロセスを実行することによってシーケンスの各有効係数フラグを符号化することにより符号化され得、少なくとも1つのコンテキストは、走査順序に従うブロック内のフラグの位置を含み得る。0252この例では、コンテキストモデルは、各フラグが所与の値たとえば、0または1を備える確率を示す確率推定値を含み得る。いくつかの例では、エントロピー符号化ユニット56は、ビデオデータの前に符号化されたブロックのための対応する有効係数フラグの値を使用して確率推定値を決定し得る。他の例では、エントロピー符号化ユニット56はまた、フラグが所与の値を備える確率を反映するために各フラグの値を使用して確率推定値を更新し得る。たとえば、更新された確率推定値は、上記で説明した方法でビデオデータの後で符号化されるブロックの有効係数位置情報を符号化するために使用され得る。0253最後に、エントロピー符号化ユニット56は、ブロックの走査順序情報に基づいて最後有効係数位置情報を符号化することを停止する1024。たとえば、エントロピー符号化ユニット56は、前に説明したように、他のコーディングタスク、たとえば、当該のブロックまたは後続のブロックのための他のシンタックス要素の符号化に進み得る。0254このように、図10の方法は、ビデオデータのブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングし、走査順序が第1の走査順序とは異なる第2の走査順序を備えるとき、走査順序に従うブロック内の最後非ゼロ係数の位置を示す交換されたx座標およびy座標をコーディングする方法の一例を表す。0255図11は、本開示の技法に一致する、ビデオデータのブロックの走査順序情報に基づいて符号化された最後有効係数位置情報を効率的に復号するための方法の別の例を示すフローチャートである。図11の技法は、概して、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せのいずれで実装されるかにかかわらず、任意の処理ユニットまたはプロセッサによって実行され得、ソフトウェアまたはファームウェアで実装されるとき、ソフトウェアまたはファームウェアのための命令を実行するために、対応するハードウェアが提供され得る。例として、図11の技法について、エントロピー復号ユニット70図3に関して説明するが、他のデバイスが同様の技法を実行するように構成され得ることを理解されたい。その上、図11に示すステップは、異なる順序でまたは並列に実行され得、本開示の技法から逸脱することなく、追加のステップが追加され、いくつかのステップが省略され得る。0256初めに、エントロピー復号ユニット70は、ビデオデータのブロックのための第1の信号を受信する1100。ブロックは、前に説明したように、マクロブロック、またはCUのTUであり得る。エントロピー復号ユニット70は、さらに、ブロックに関連する走査順序に従うブロック内の最後有効係数の位置を示すx座標が共通の位置に対応するかどうかの指示を決定するために第1の信号を復号する1102。同様に、エントロピー復号ユニット70は、さらに、ブロックのための第2の信号を受信する1104。エントロピー復号ユニット70は、さらに、走査順序に従うブロック内の最後有効係数の位置を示すy座標が共通の位置に対応するかどうかの指示を決定するために第2の信号を復号する1106。0257たとえば、走査順序は、エントロピー符号化ユニット、たとえば、エントロピー符号化ユニット56によってブロックを符号化するために使用される走査順序であり得、ビデオエンコーダ20とビデオデコーダ30とを備える対応するコーディングシステム10においてビデオデータのブロックをコーディングするために使用される複数の走査順序のうちの1つであり得る。たとえば、複数の走査順序の各々は、前に説明したように、共通の位置において始まり得る。この共通の位置はDC位置に対応し得る。0258さらに、各指示は単一のビンを備え得る。たとえば、エントロピー復号ユニット70は、x座標が共通の位置に対応するかたとえば、bin1=1そうでないかbin1=0を示す第1のビンを決定するために第1の信号を復号し、y座標が共通の位置に対応するかたとえば、bin2=1そうでないかbin2=0を示す第2のビンを決定するために第2の信号を復号し得る。いくつかの例では、エントロピー復号ユニット70は、ビットストリーム中で直接各ビンを受信し得る。すなわち、第1の信号および第2の信号は、それぞれ第1のビンおよび第2のビンを備え得る。他の例では、エントロピー復号ユニット70は、たとえば、コンテキストに基づいてコンテキストモデルを適用することを含むCABACプロセスを実行することによって、図7~図9を参照しながら上記で説明したのと同様の方法でコンテキスト適応型エントロピーコーディングプロセスを使用してそれぞれのビンを決定するために第1の信号および第2の信号を復号し得る。0259x座標およびy座標がそれぞれ共通の位置に対応する場合1108、エントロピー復号ユニット70は、ブロックの走査順序情報に基づいて、符号化された最後有効係数位置情報を復号することを停止する1130。言い換えれば、x座標およびy座標がそれぞれ共通の位置に対応する場合、走査順序に従うブロック内の最後唯一有効係数を超えるさらなる有効係数はブロック内に存在しない。そのような場合、エントロピー復号ユニット70は、ブロックについて、さらなる最後有効係数位置情報、あるいは走査順序情報または有効係数位置情報を復号する必要がない。たとえば、そのような場合、エントロピー復号ユニット70は、他のコーディングタスク、たとえば、当該のブロックまたは後続のブロックのための他のシンタックス要素の復号に進み得る。0260x座標およびy座標がそれぞれ共通の位置に対応しない場合1108、エントロピー復号ユニット70は、さらに、ブロックのための符号化された走査順序データを受信する1110。エントロピー復号ユニット70は、さらに、走査順序を識別する情報、すなわち、ブロックの走査順序情報を決定するために走査順序データを復号する1112。走査順序が、ビデオデータのブロックをコーディングするためにシステム10内で使用される2つの走査順序のうちの1つを含む、いくつかの例では、エントロピー復号ユニット70は、単一のビンを決定するために走査順序データを復号し得る。たとえば、単一のビンは、走査順序が第1の走査順序であるかたとえば、bin=0、第2の走査順序であるかbin=1を示し得る。走査順序が、システム10内でビデオデータのブロックをコーディングするために使用され得る3つの走査順序のうちの1つを含む、他の例では、エントロピー復号ユニット70は、1つと2つとの間のビンを決定するために走査順序データを復号し得る。たとえば、エントロピー復号ユニット70は、走査順序が第1の走査順序であるかどうかを示す第1のビンを決定し得るたとえば、走査順序が第1の走査順序である場合はbin1=0であり、他の場合はbin1=1である。第1のビンは走査順序が第1の走査順序でないことを示す場合、エントロピー復号ユニット70は、走査順序が第2の走査順序であるかたとえば、bin2=0、第3の走査順序であるかたとえば、bin2=1を示す第2のビンを決定し得る。他の例では、ビンの他の値を使用することを含む、ブロックの走査順序情報を決定する他の方法が使用され得る。いくつかの例では、エントロピー復号ユニット70は、ビットストリーム中で直接各ビンを受信し得る。すなわち、走査順序データは1つまたは複数のビンを備え得る。他の例では、エントロピー復号ユニット70は、たとえば、コンテキストに基づいてコンテキストモデルを適用することを含むCABACプロセスを実行することによって、図7~図9を参照しながら上記で説明したのと同様の方法でコンテキスト適応型エントロピーコーディングプロセスを使用して各ビンを判断するために走査順序データを復号し得る。代替的に、前に説明したように、エントロピー復号ユニット70は、エントロピー復号ユニット70がブロックを復号するために適応走査順序を使用するとき、ブロックのための符号化された走査順序データを受信し、復号しなくてよい。0261いずれの場合も、x座標が共通の位置に対応しない場合1114、エントロピー復号ユニット70は、さらに、符号化されたx座標を受信し1116、走査順序に基づいてx座標を復号する1118。同様に、y座標が共通の位置に対応しない場合1120、エントロピー復号ユニット70は、さらに、符号化されたy座標を受信し1122、走査順序に基づいてy座標を復号する1124。前に説明したように、符号化されたx座標およびy座標を復号するために、エントロピー復号ユニット70は、さらに、エントロピー符号化ユニット56に関して上記で説明したのと実質的に同様の方法で、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率を示す統計値を決定し得る。統計値は、走査順序に従うブロック内の最後有効係数の位置に対応する座標、たとえば、x座標またはy座標が所与の値たとえば、0、1、2などを備える確率を示し得る。言い換えれば、統計値は、前に説明したx座標およびy座標の各々が所与の値を備える確率を示し得る。いくつかの例では、エントロピー復号ユニット70は、ビデオデータの前に復号されたブロックの最後有効係数位置情報、たとえば、前に復号されたブロックのx座標およびy座標の値を使用して統計値を決定し得る。0262いくつかの例では、統計値は、走査順序に応じて変動し得る。特に、走査順序に従うブロック内の最後有効係数の位置に対応するブロック内の所与の位置の確率は、走査順序に応じて変動し得る。すなわち、走査順序が異なると、ブロックの最後有効係数位置情報のための統計値が異なり得る。したがって、統計値に基づいてブロックのための符号化された最後有効係数位置情報を復号するとき、走査順序に少なくとも部分的に基づいて統計値を選択することにより、正確な統計値を使用することになり得、したがって、効率的な復号が可能になり得る。したがって、エントロピー復号ユニット70は、統計値に基づいて、符号化されたx座標およびy座標を復号し得、エントロピー復号ユニット70は、走査順序に少なくとも部分的に基づいて統計値を選択する。したがって、エントロピー復号ユニット70は、走査順序に基づいて、符号化されたx座標およびy座標を復号し得る。さらに、エントロピー復号ユニット70は、それぞれの座標が特定の値を備える確率を反映するようにx座標およびy座標に基づいて統計値を更新し得る。たとえば、更新された統計値は、上記で説明した方法でビデオデータの後で復号されるブロックのための符号化された最後有効係数位置情報を復号するために使用され得る。0263いくつかの例では、統計値に基づいて、符号化されたx座標およびy座標を復号するために、エントロピー復号ユニット70は、少なくとも1つのコンテキストに基づいて統計値を含むコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスたとえば、CABACプロセスを実行し得る。たとえば、少なくとも1つのコンテキストは、x座標およびy座標と、走査順序とのうちの1つを含み得る。この例では、エントロピー復号ユニット70は、統計値を含む特定のコンテキストモデルを選択するために走査順序を使用し得る。このようにして、エントロピー復号ユニット70は、走査順序に基づいて、符号化されたx座標およびy座標を復号し得る。さらに、ある符号化された座標たとえば、y座標が、別の符号化された座標たとえば、x座標の後に復号される場合、エントロピー復号ユニット70は、コンテキストとして他方の前に復号された座標の値を使用して座標を復号し得る。すなわち、x座標およびy座標のうち前に復号された座標の値を使用して、他方の現在復号されている座標が所与の値を備える確率を示すコンテキストモデル内の統計値をさらに選択し得る。エントロピー復号ユニット70は、次いで、選択された統計値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって、符号化されたx座標およびy座標を復号し得る。0264x座標およびy座標は、1つまたは複数のビンのシーケンスを備える単項コードワードを使用してそれぞれ表され得る、すなわち、2値化され得る。したがって、統計値に基づいて、符号化されたx座標およびy座標を復号するために、エントロピー復号ユニット70は、コンテキスト適応型エントロピーコーディングプロセスを実行することによって特定の座標に対応するコードワードの各ビンを復号し得る。この例では、座標が所与の値を備える確率を示す、コンテキストモデル中に含まれる統計値は、座標に対応するコードワードの各ビンが所与の値たとえば、0または1を備える確率を示す確率推定値を含み得る。さらに、統計値は、コードワード内のそれぞれのビンの位置に応じて、コードワードのビンごとに異なる確率推定値を含み得る。いくつかの例では、エントロピー復号ユニット70は、たとえば、前に説明したように、前に復号されたブロックの最後有効係数位置情報に基づいて統計値を決定することの一部として、ビデオデータの前に復号されたブロックのための対応するビン、たとえば、前に復号されたブロックのためのx座標およびy座標に対応するコードワードのビンの値を使用して確率推定値を決定し得る。他の例では、エントロピー復号ユニット70はまた、たとえば、前にも説明したように、x座標およびy座標に基づいて統計値を更新することの一部として、各ビンの値を使用して確率推定値を更新し得る。エントロピー復号ユニット70は、確率推定値を使用して、コンテキスト適応型エントロピーコーディングプロセスを実行することによって各ビンを復号し得る。0265前に説明したように、別の例として、エントロピー復号ユニット70は、他方の座標に対応するシーケンスの少なくとも1つのビン、たとえば、対応するビンの値に少なくとも部分的に基づいてコンテキストモデルから統計値を選択することによって、座標のうちの1つに対応するシーケンスの少なくとも1つのビンを復号することによって、x座標およびy座標を復号し得る。さらに、エントロピー復号ユニット70は、インターリーブ式に、座標のうちの1つに対応するシーケンスの1つまたは複数のビンと、他方の座標に対応するシーケンスの1つまたは複数のビンとを復号し得る。0266各座標を復号すると、エントロピー復号ユニット70は、他の方法を使用したときよりも座標が効率的にコーディングされることを可能にするために各座標に値1を加算し得る。たとえば、前にも説明したように、エントロピー符号化ユニット、たとえば、エントロピー符号化ユニット56は、座標をコーディングするために使用される情報の量を低減するために、最初に各座標から値1を減算することによってx座標およびy座標を符号化し得る。したがって、エントロピー復号ユニット70は、座標を判断するために、座標を復号した後に各座標に値1を加算し得る。0267いくつかの例では、エントロピー復号ユニット70は、さらに、ブロックのための符号化された有効性データを受信する1126。これらの例では、エントロピー復号ユニット70は、走査順序に従うブロック内のすべての他の有効係数の位置を示す情報、すなわち、ブロックの有効係数位置情報を決定するために有効性データを復号する1128。前に説明したように、ブロックの有効係数位置情報は、有効係数フラグのシーケンスを使用して表され得る。前にも説明したように、有効係数位置情報は、少なくとも1つのコンテキストに基づいてコンテキストモデルを適用することを含むコンテキスト適応型エントロピーコーディングプロセスたとえば、CABACプロセスを実行することによってシーケンスの各有効係数フラグを復号することにより復号され得、少なくとも1つのコンテキストは、走査順序に従うブロック内のフラグの位置を含み得る。0268この例では、コンテキストモデルは、各フラグが所与の値たとえば、0または1を備える確率を示す確率推定値を含み得る。いくつかの例では、エントロピー復号ユニット70は、ビデオデータの前に復号されたブロックのための対応する有効係数フラグの値を使用して確率推定値を決定し得る。他の例では、エントロピー復号ユニット70はまた、フラグが所与の値を備える確率を反映するために各フラグの値を使用して確率推定値を更新し得る。たとえば、更新された確率推定値は、上記で説明した方法でビデオデータの後で復号されるブロックのための符号化された有効係数位置情報を復号するために使用され得る。0269最後に、エントロピー復号ユニット70は、ブロックの走査順序情報に基づいて、符号化された最後有効係数位置情報を復号することを停止する1130。たとえば、エントロピー復号ユニット70は、前に説明したように、他のコーディングタスク、たとえば、当該のブロックまたは後続のブロックのための他のシンタックス要素の復号に進み得る。0270このように、図11の方法は、ビデオデータのブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後非ゼロ係数の位置を示すx座標およびy座標をコーディングし、走査順序が第1の走査順序とは異なる第2の走査順序を備えるとき、走査順序に従うブロック内の最後非ゼロ係数の位置を示す交換されたx座標およびy座標をコーディングする方法の一例を表す。0271したがって、本開示の技法によれば、符号化ビットストリームは、ビデオデータのブロックのための、すなわち、そのブロックに関連する係数のための最後有効係数位置情報を備え得る。特に、ビデオエンコーダ20は、ブロックに関連する走査順序が第1の走査順序を備えるとき、その走査順序に従うブロック内の最後有効係数の位置を示すx座標およびy座標を符号化し、走査順序が第2の走査順序を備えるとき、走査順序に従うブロック内の最後有効係数の位置を示す交換されたx座標およびy座標を符号化し得る。たとえば、第2の走査順序は、第1の走査順序とは異なり得る。ビデオデコーダ30は、今度は、ブロックの最後有効係数位置情報を復号し得る。特に、ビデオデコーダ30は、走査順序が第1の走査順序を備えるとき、x座標およびy座標を復号し得、走査順序が第2の走査順序を備えるとき、交換されたx座標およびy座標を復号し得る。0272したがって、本開示はまた、符号化ビットストリームを含む、その上に記憶されたデータ構造を備えるコンピュータ可読媒体を企図する。コンピュータ可読媒体に記憶された符号化ビットストリームは、特定のフォーマットを使用して符号化されたビデオデータと、x座標およびy座標を使用して表される、ビデオデータのブロックに関連する走査順序に従うブロック内の最後有効係数の位置を識別する符号化情報とを備え得る。ビットストリーム内でx座標およびy座標が符号化される特定の順序は、ブロックに関連する走査順序が第1の走査順序を備えるか第2の走査順序を備えるかに依存する。より詳細には、走査順序が第1の走査順序を備える場合、ビットストリームは、x座標およびy座標を使用して符号化されたブロックの最後有効係数位置情報を含み得る。この場合、ブロックの最後有効係数位置情報は復号され得、得られたx座標およびy座標は、ブロックを復号するために直接使用され得る。代替的に、走査順序が第2の走査順序を備える場合、ビットストリームは、交換されたx座標およびy座標を使用して符号化されたブロックの最後有効係数位置情報を含み得る。この場合、最後有効係数位置情報は復号され得、交換されたx座標およびy座標はさらに交換され、得られたx座標およびy座標を使用してブロックが復号され得る。02731つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、1非一時的である有形コンピュータ可読記憶媒体、あるいは2信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。0274限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスクdiskおよびディスクdiscは、コンパクトディスクdiscCD、レーザディスクdisc、光ディスクdisc、デジタル多用途ディスクdiscDVD、フロッピー登録商標ディスクdiskおよびブルーレイ登録商標ディスクdiscを含み、ディスクdiskは、通常、データを磁気的に再生し、ディスクdiscは、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。0275命令は、1つまたは複数のデジタル信号プロセッサDSPなどの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路ASIC、フィールドプログラマブル論理アレイFPGA、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用するプロセッサという用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。0276本開示の技法は、ワイヤレスハンドセット、集積回路IC、またはICのセットたとえば、チップセットを含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。0277様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。"