"ビデオデータを符号化する方法であって、ビデオデータのブロックのためのイントラ予測モードの第1のセット中の第1のイントラ予測モードの指示を受信することと、イントラ予測モードの前記第1のセットよりも小さいイントラ予測モードの第2のセットから、前記第1のイントラ予測モードがマッピングされる第2のイントラ予測モードを決定することと、前記第2のイントラ予測モードがマッピングされる方向性変換を決定することと、前記ブロックの残差データに前記方向性変換を適用することとを備える、方法。前記第2のセットの前記イントラ予測モードの各々がそれぞれの走査パターンに関連付けられ、前記第2のイントラ予測モードに関連付けられた前記走査パターンを使用して前記変換された残差ブロックを走査することをさらに備える、請求項1に記載の方法。前記第2のイントラ予測モードがマッピングされる回転変換を決定することと、前記変換された残差ブロックに前記回転変換を適用することとをさらに備える、請求項1に記載の方法。前記第2のイントラ予測モードを決定することは、前記第1のイントラ予測モードがマッピングされる前記第2のイントラ予測モードを決定するために構成データを照会することを備え、前記方向性変換を決定することは、前記第2のイントラ予測モードがマッピングされる前記方向性変換を決定するために前記構成データを照会することを備える、請求項1に記載の方法。イントラ予測モードの前記第2のセットが、イントラ予測モードの前記第1のセットのサブセットを備える、請求項1に記載の方法。前記変換された残差ブロックが2次元行列を備え、前記方法が、前記行列中の1つまたは複数の係数の値を0に等しく設定することをさらに備える、請求項1に記載の方法。前記変換された残差ブロックが2次元行列を備え、前記方法が、1次元ベクトルを形成するために前記変換された残差データを走査することと、前記ベクトル中の1つ以上の係数の値を0に等しく設定することとをさらに備える、請求項1に記載の方法。前記ブロックに関連付けられた4分木データ構造のルートノードにおいて前記第1のイントラ予測モードの指示を記憶することをさらに備える、請求項1に記載の方法。前記変換が、前記イントラ予測モードからマッピングされた第1の変換を備え、前記ブロックを変換することが、第2の異なる変換を使用して前記ブロックを変換することをさらに備える、請求項1に記載の方法。前記第1の変換および前記イントラ予測モードのうちの少なくとも1つからマッピングされた走査インデックスを選択することと、前記走査インデックスに対応する走査パターンを使用して前記変換された残差ブロックを走査することとをさらに備える、請求項9に記載の方法。ビデオデータを符号化するための装置であって、ビデオデータのブロックのためのイントラ予測モードの第1のセット中の第1のイントラ予測モードの指示を受信することと、イントラ予測モードの前記第1のセットよりも小さいイントラ予測モードの第2のセットから、前記第1のイントラ予測モードがマッピングされる第2のイントラ予測モードを決定することと、前記第2のイントラ予測モードがマッピングされる方向性変換を決定することと、前記ブロックの残差データに前記方向性変換を適用することとを行うように構成されたビデオエンコーダを備える、装置。前記第2のセットの前記イントラ予測モードの各々がそれぞれの走査パターンに関連付けられ、前記ビデオエンコーダが、前記第2のイントラ予測モードに関連付けられた前記走査パターンを使用して前記変換された残差データを走査するように構成された、請求項11に記載の装置。前記ビデオエンコーダは、前記第2のイントラ予測モードがマッピングされる回転変換を決定することと、前記変換された残差データに前記回転変換を適用することとを行うように構成された、請求項11に記載の装置。イントラ予測モードの前記第1のセットとイントラ予測モードの前記第2のセットとの間のマッピングの第1のセットと、イントラ予測モードの前記第2のセットと決定された前記方向性変換を備える方向性変換のセットとの間のマッピングの第2のセットとを与える構成データを記憶するコンピュータ可読媒体をさらに備え、前記第2のイントラ予測モードを決定するために、前記ビデオエンコーダは、前記第1のイントラ予測モードがマッピングされる前記第2のイントラ予測モードを決定するために構成データを照会するように構成され、前記方向性変換を決定するために、前記ビデオエンコーダは、前記第2のイントラ予測モードがマッピングされる前記方向性変換を決定するために前記構成データを照会するように構成された、請求項11に記載の装置。前記ビデオエンコーダが、前記方向性変換によって生成された1つ以上の変換係数の値を0に等しく設定するように構成された、請求項11に記載の装置。前記変換が、前記イントラ予測モードからマッピングされた第1の変換を備え、前記ビデオエンコーダが、前記第1の変換に加えて第2の異なる変換を使用して前記ブロックを変換するように構成された、請求項11に記載の装置。前記ビデオエンコーダが、前記第1の変換および前記イントラ予測モードのうちの少なくとも1つからマッピングされた走査インデックスを選択することと、前記走査インデックスに対応する走査パターンを使用して前記変換された残差ブロックを走査することとを行うように構成された、請求項16に記載の装置。前記装置が、集積回路と、マイクロプロセッサと、前記ビデオエンコーダを含むワイヤレス通信機器とのうちの少なくとも1つを備える、請求項11に記載の装置。ビデオデータを符号化するための装置であって、ビデオデータのブロックのためのイントラ予測モードの第1のセット中の第1のイントラ予測モードの指示を受信するための手段と、イントラ予測モードの前記第1のセットよりも小さいイントラ予測モードの第2のセットから、前記第1のイントラ予測モードがマッピングされる第2のイントラ予測モードを決定するための手段と、前記第2のイントラ予測モードがマッピングされる方向性変換を決定するための手段と、前記ブロックの残差データに前記方向性変換を適用するための手段とを備える、装置。前記第2のセットの前記イントラ予測モードの各々がそれぞれの走査パターンに関連付けられ、前記装置が、前記第2のイントラ予測モードに関連付けられた前記走査パターンを使用して、変換された前記残差データを走査するための手段をさらに備える、請求項19に記載の装置。前記第2のイントラ予測モードがマッピングされる回転変換を決定するための手段と、変換された前記残差データに前記回転変換を適用するための手段とをさらに備える、請求項19に記載の装置。実行されたとき、ビデオデータのブロックのためのイントラ予測モードの第1のセット中の第1のイントラ予測モードの指示を受信することと、イントラ予測モードの前記第1のセットよりも小さいイントラ予測モードの第2のセットから、前記第1のイントラ予測モードがマッピングされる第2のイントラ予測モードを決定することと、前記第2のイントラ予測モードがマッピングされる方向性変換を決定することと、前記ブロックの残差データに前記方向性変換を適用することとを、ビデオデータを符号化するための機器のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。前記第2のセットの前記イントラ予測モードの各々がそれぞれの走査パターンに関連付けられ、前記第2のイントラ予測モードに関連付けられた前記走査パターンを使用して前記変換された残差データを走査することを前記プロセッサに行わせる命令をさらに備える、請求項22に記載のコンピュータプログラム製品。前記第2のイントラ予測モードがマッピングされる回転変換を決定することと、前記変換された残差データに前記回転変換を適用することとを前記プロセッサに行わせる命令をさらに備える、請求項22に記載のコンピュータプログラム製品。ビデオデータを復号する方法であって、符号化されたビデオデータのブロックのためのイントラ予測モードの第1のセット中の第1のイントラ予測モードの指示を受信することと、イントラ予測モードの前記第1のセットよりも小さいイントラ予測モードの第2のセットから、前記第1のイントラ予測モードがマッピングされる第2のイントラ予測モードを決定することと、前記第2のイントラ予測モードがマッピングされる逆方向性変換を決定することと、前記ブロックの変換された残差データに前記逆方向性変換を適用することとを備える、方法。前記第2のセットの前記イントラ予測モードの各々がそれぞれの逆走査パターンに関連付けられ、前記逆方向性変換を適用するより前に、前記第2のセットの前記イントラ予測モードに関連付けられた前記逆走査パターンを使用して、前記ブロックの受信された係数を逆走査することをさらに備える、請求項25に記載の方法。前記第2のイントラ予測モードがマッピングされる逆回転変換を決定することと、中間の変換された残差データを生成するために前記変換された残差データに前記逆回転変換を適用することとをさらに備え、前記逆方向性変換を適用することが、前記中間の変換された残差データに前記逆方向性変換を適用することを備える、請求項25に記載の方法。前記第2のイントラ予測モードを決定することは、前記第1のイントラ予測モードがマッピングされる前記第2のイントラ予測モードを決定するために構成データを照会することを備え、前記方向性変換を決定することは、前記第2のイントラ予測モードがマッピングされる前記方向性変換を決定するために前記構成データを照会することを備える、請求項25に記載の方法。イントラ予測モードの前記第2のセットが、イントラ予測モードの前記第1のセットのサブセットを備える、請求項25に記載の方法。前記第1のイントラ予測モードの前記指示を受信することが、前記ブロックに関連付けられた4分木データ構造を受信することと、前記4分木データ構造のルートノードから前記第1のイントラ予測モードの前記指示を取り出すこととを備える、請求項25に記載の方法。前記逆変換が、前記イントラ予測モードからマッピングされた第1の逆変換を備え、前記ブロックを逆変換することが、第2の異なる逆変換を使用して前記ブロックの前記変換された残差データを逆変換することをさらに備える、請求項25に記載の方法。前記第1の逆変換および前記イントラ予測モードのうちの少なくとも1つからマッピングされた走査インデックスを選択することと、前記走査インデックスに対応する走査パターンを使用して前記残差ブロックを逆走査することとをさらに備える、請求項31に記載の方法。ビデオデータを復号するための装置であって、符号化されたビデオデータのブロックのためのイントラ予測モードの第1のセット中の第1のイントラ予測モードの指示を受信することと、イントラ予測モードの前記第1のセットよりも小さいイントラ予測モードの第2のセットから、前記第1のイントラ予測モードがマッピングされる第2のイントラ予測モードを決定することと、前記第2のイントラ予測モードがマッピングされる逆方向性変換を決定することと、前記ブロックの変換された残差データに前記逆方向性変換を適用することとを行うように構成されたビデオデコーダを備える、装置。前記第2のセットの前記イントラ予測モードの各々がそれぞれの逆走査パターンに関連付けられ、前記ビデオデコーダが、前記逆方向性変換を適用するより前に、前記第2のセットの前記イントラ予測モードに関連付けられた前記逆走査パターンを使用して、前記ブロックの受信された係数を逆走査するように構成された、請求項33に記載の装置。前記ビデオデコーダは、前記第2のイントラ予測モードがマッピングされる逆回転変換を決定することと、中間の変換された残差データを生成するために前記変換された残差データに前記逆回転変換を適用することとを行うように構成され、前記逆方向性変換を適用することが、前記中間の変換された残差データに前記逆方向性変換を適用することを備える、請求項33に記載の装置。イントラ予測モードの前記第1のセットとイントラ予測モードの前記第2のセットとの間のマッピングの第1のセットと、イントラ予測モードの前記第2のセットと前記決定された方向性変換を備える方向性変換のセットとの間のマッピングの第2のセットとを与える構成データを記憶するコンピュータ可読媒体をさらに備え、前記第2のイントラ予測モードを決定するために、前記ビデオデコーダは、前記第1のイントラ予測モードがマッピングされる前記第2のイントラ予測モードを決定するために前記構成データを照会するように構成され、前記方向性変換を決定するために、前記ビデオデコーダは、前記第2のイントラ予測モードがマッピングされる前記方向性変換を決定するために前記構成データを照会するように構成された、請求項33に記載の装置。前記第1のイントラ予測モードの前記指示を受信するために、前記ビデオデコーダが、前記ブロックに関連付けられた4分木データ構造を受信することと、前記4分木データ構造のルートノードから前記第1のイントラ予測モードの前記指示を取り出すこととを行うように構成された、請求項33に記載の装置。前記逆変換が、前記イントラ予測モードからマッピングされた第1の逆変換を備え、前記ビデオデコーダが、前記第1の逆変換に加えて第2の異なる逆変換を使用して前記ブロックを逆変換するように構成された、請求項33に記載の装置。前記ビデオデコーダが、前記第1の逆変換および前記イントラ予測モードのうちの少なくとも1つからマッピングされた走査インデックスを選択することと、前記走査インデックスに対応する走査パターンを使用して前記残差ブロックを逆走査することとを行うように構成された、請求項38に記載の装置。前記装置が、集積回路と、マイクロプロセッサと、前記ビデオデコーダを含むワイヤレス通信機器とのうちの少なくとも1つを備える、請求項33に記載の装置。ビデオデータを復号するための装置であって、前記装置は、符号化されたビデオデータのブロックのためのイントラ予測モードの第1のセット中の第1のイントラ予測モードの指示を受信するための手段と、イントラ予測モードの前記第1のセットよりも小さいイントラ予測モードの第2のセットから、前記第1のイントラ予測モードがマッピングされる第2のイントラ予測モードを決定するための手段と、前記第2のイントラ予測モードがマッピングされる逆方向性変換を決定するための手段と、前記ブロックの変換された残差データに前記逆方向性変換を適用するための手段とを備える、装置。前記第2のセットの前記イントラ予測モードの各々がそれぞれの逆走査パターンに関連付けられ、前記装置が、前記逆方向性変換を適用するより前に、前記第2のセットの前記イントラ予測モードに関連付けられた前記逆走査パターンを使用して、前記ブロックの受信された係数を逆走査するための手段をさらに備える、請求項41に記載の装置。前記第2のイントラ予測モードがマッピングされる逆回転変換を決定するための手段と、中間の変換された残差データを生成するために前記変換された残差データに前記逆回転変換を適用するための手段とをさらに備え、前記逆方向性変換を適用することが、前記中間の変換された残差データに前記逆方向性変換を適用することを備える、請求項41に記載の装置。実行されたとき、符号化されたビデオデータのブロックのためのイントラ予測モードの第1のセット中の第1のイントラ予測モードの指示を受信することと、イントラ予測モードの前記第1のセットよりも小さいイントラ予測モードの第2のセットから、前記第1のイントラ予測モードがマッピングされる第2のイントラ予測モードを決定することと、前記第2のイントラ予測モードがマッピングされる逆方向性変換を決定することと、前記ブロックの変換された残差データに前記逆方向性変換を適用することとを、ビデオデータを復号するための機器のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。前記第2のセットの前記イントラ予測モードの各々がそれぞれの逆走査パターンに関連付けられ、前記逆方向性変換を適用するより前に、前記第2のセットの前記イントラ予測モードに関連付けられた前記逆走査パターンを使用して、前記ブロックの受信された係数を逆走査することをさらに備える、請求項44に記載のコンピュータプログラム製品。前記第2のイントラ予測モードがマッピングされる逆回転変換を決定することと、中間の変換された残差データを生成するために前記変換された残差データに前記逆回転変換を適用することとをさらに備え、前記逆方向性変換を適用することが、前記中間の変換された残差データに前記逆方向性変換を適用することを備える、請求項44に記載のコンピュータプログラム製品。概して、本開示では、ビデオデータを符号化するための技術について説明する。より詳細には、本開示では、ビデオ符号化プロセス中に残差データを変換し、変換係数を走査することに関係する技術について説明する。符号化ビデオデータは予測データと残差データとを含み得る。ビデオエンコーダは、イントラ予測モード又はインター予測モード中に予測データを生成し得る。イントラ予測は、概して、あるピクチャのブロックを、同じピクチャの隣接する、前に符号化されたブロックに対して予測することを伴う。インター予測は、概して、あるピクチャのブロックを、前に符号化されたピクチャのデータに対して予測することを伴う。イントラ予測又はインター予測の後に、ビデオエンコーダはブロックの残差値を計算し得る。この残差値は、概して、ブロックの予測データとブロックの真値との間の差に対応する。ブロックの残差値を更に圧縮するために、残差値は、エネルギーとも呼ばれるできるだけ多くのデータをできるだけ少数の係数に構成する変換係数のセットに変換され得る。変換係数は、元のブロックと同じサイズである係数の2次元行列に対応する。言い換えれば、元のブロック中の画素とちょうど同数の変換係数がある。但し、変換により、変換係数の多くは、0に等しい値を有し得る。場合によっては、第1の変換によって生成された変換係数のサブセットに、回転変換などの2次変換が適用され得る。例えば、16×16残差ブロックを変換係数の16×16行列に変換した後に、最低周波数変換係数の8×8ブロックに回転変換が適用され得る。この例では2次変換として回転変換について説明したが、他の2次変換例えば、KLT、DCTなども2次変換として適用され得る。そのような2次変換はまた、ブロックのための信号伝達されたイントラ予測モードに基づいて選択され得る。DCT変換への言及は、固定小数点実装形態と浮動小数点実装形態の両方を含むものと理解されたい。即ち、DCT変換の実装形態は、実際には、DCT変換が有理数係数ではなく整数係数即ち、固定小数点係数を有するような、DCTの近似を備え得る。幾つかの例では、変換は非分離可能変換を備え得る。非分離可能変換は一般に計算コストが高く、従って、ビデオ符号化機器は代わりに分離可能変換を適用し得る。概して、分離可能変換は、ブロックの行に適用される水平成分と、そのブロックの列に適用される垂直成分とを含む。このようにして、分離可能変換は、2直交変換成分とも呼ばれる、行変換成分と列変換成分とを有し得る。分離可能変換を定義するために2つの行列が使用され得、行列の各々は直交変換成分のうちの1つに対応する。非分離可能変換は、適用されたときに、分離可能変換の適用と概念的に同様の結果を、但し比較的より集約的な計算を介して生じる、1つの行列のみを含み得る。残差データのブロックを変換すると、そのブロックの変換係数のセットが生成される。ビデオエンコーダは、次いで、ビデオデータを更に圧縮するために変換係数を量子化し得る。量子化は、概して、相対的に大きいセット内の値を相対的に小さいセット中の値にマッピングし、それによって、量子化された変換係数を表すために必要とされるデータの量を低減することを伴う。量子化の後に、ビデオエンコーダは、変換係数を走査して、量子化された変換係数を含む2次元行列から1次元ベクトルを生成し得る。ビデオエンコーダは、走査より前に又は走査の後に、幾つかの係数、例えば、行列の左上隅以外の全ての係数、又は配列の位置Nから終端までの配列中の全ての係数をゼロ設定し得る。ビデオエンコーダは、次いで、データをなお一層圧縮するために、得られた配列をエントロピー符号化し得る。幾つかの例では、ビデオエンコーダは、例えば、コンテキスト適応型可変長符号化CAVLCを使用して、配列の様々な可能な量子化された変換係数を表すために可変長コードVLC:variablelengthcodeを使用するように構成され得る。他の例では、ビデオエンコーダは、例えば、コンテキスト適応型2値算術符号化CABACを使用して、得られた量子化係数を符号化するために2値算術符号化を使用するように構成され得る。本開示では、ビデオ符号化プロセス中の残差値の変換、量子化、走査、及びエントロピー符号化に関係する幾つかの技術について説明する。本技術は、ビデオ符号化及び/又は復号を実行するように構成されたビデオエンコーダ/デコーダコーデックと処理ユニットとを含む、ビデオ符号化ユニットとビデオ復号ユニットの両方によって適用され得る。ビデオ符号化ユニット又はビデオ符号化機器への言及は、ビデオデータの符号化、復号、又は符号化と復号の両方が可能なユニット又は機器を指すものと理解されたい。高効率ビデオ符号化HEVCと現在呼ばれる、新しいビデオ符号化規格を開発するための取り組みが現在進行中である。この今度の規格はH.265とも呼ばれる。この規格化の取り組みは、HEVCテストモデルHM:HEVCTestModelと呼ばれるビデオ符号化機器のモデルに基づく。HMは、例えば、ITU-TH.264/AVCによる機器に勝るビデオ符号化機器の幾つかの能力を仮定する。例えば、H.264は9つのイントラ予測符号化モードを提供するが、HMは34個ものイントラ予測符号化モードを提供する。HMでは、ビデオデータのブロックを符号化ユニットCU:codingunitと呼び、CUは、1つ以上の予測ユニットPU:predictionunit及び/又は1つ以上の変換ユニットTU:transformunitを含み得る。ビットストリーム内のシンタックスデータが、画素の数に関して最大の符号化ユニットである最大符号化ユニットLCU:largestcodingunitを定義し得る。概して、CUは、CUがサイズの差異を有しないことを除いて、H.264のマクロブロックと同様の目的を有する。従って、CUはサブCUに分割され得る。概して、本開示におけるCUへの言及は、ピクチャの最大符号化ユニット又はLCUのサブCUを指すことがある。LCUはサブCUに分割され得、各サブCUは更にサブCUに分割され得る。ビットストリームのシンタックスデータは、CU深さと呼ばれる、LCUが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小符号化ユニットSCU:smallestcodingunitをも定義し得る。本開示ではまた、CU、PU、又はTUのいずれかを指すためにブロックという用語を使用する。LCUは4分木データ構造に関連付けられ得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはLCUに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。4分木データ構造の各ノードは、対応するCUのシンタックスデータを与え得る。例えば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。CUが更に分割されない場合、そのCUはリーフCUと呼ばれる。本開示では、元のリーフCUの明示的分割が存在しなくても、リーフCUの4つのサブCUをリーフCUとも呼ぶ。例えば、16×16サイズのCUが更に分割されない場合、この16×16CUが決して分割されなくても、4つの8×8サブCUをリーフCUとも呼ぶ。その上、リーフCUのTUもそれぞれの4分木データ構造に関連付けられ得る。即ち、リーフCUは、リーフCUがどのようにTUに区分されるかを示す4分木を含み得る。本開示では、LCUがどのように区分されるかを示す4分木をCU4分木と呼び、リーフCUがどのようにTUに区分されるかを示す4分木をTU4分木と呼ぶ。TU4分木のルートノードは概してリーフCUに対応し、CU4分木のルートノードは概してLCUに対応する。分割されないTU4分木のTUはリーフTUと呼ばれる。リーフCUは、1つ以上の予測ユニットPUを含み得る。概して、PUは、対応するCUの全部又は一部分を表し、そのPUの参照サンプルを取り出すためのデータを含み得る。例えば、PUがインターモード符号化されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度例えば、1/4画素精度もしくは1/8画素精度、動きベクトルが指す参照フレーム、及び/又は動きベクトルの参照リスト例えば、リスト0又はリスト1を記述し得る。1つ又は複数のPUを定義するリーフCUのデータはまた、例えば、CUを1つ以上のPUに区分することを記述し得る。区分モードは、CUが符号化されないか、イントラ予測モード符号化されるか、又はインター予測モード符号化されるかに応じて異なり得る。イントラ符号化の場合、PUは、以下で説明するリーフ変換ユニットと同じように扱われ得る。リーフCUは、1つ以上の変換ユニットTUを含み得る。変換ユニットは、上記で説明したように、TU4分木構造を使用して指定され得る。即ち、分割フラグは、リーフCUが4つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットは更に4つのサブTUに分割され得る。TUが更に分割されないとき、そのTUはリーフTUと呼ばれ得る。概して、イントラ符号化の場合、リーフCUに属する全てのリーフTUは同じイントラ予測モードを共有する。即ち、概して、リーフCUの全てのTUの予測値を計算するために同じイントラ予測モードが適用される。イントラ符号化の場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフTUの残差値を、TUに対応する予測値の一部と元のブロックとの間の差として計算し得る。残差値は変換され、量子化され、走査され得る。インター符号化の場合、ビデオエンコーダは、PUレベルで予測を実行し、各PUの残差を計算し得る。リーフCUに対応する残差値は変換され、量子化され、走査され得る。インター符号化の場合、リーフTUはPUよりも大きく又は小さくなり得る。イントラ符号化の場合、PUは、対応するリーフTUと同一場所に配置され得る。幾つかの例では、リーフTUの最大サイズは、対応するリーフCUのサイズであり得る。概して、本開示では、特に明記しない限り、リーフCU及びリーフTUに言及するためにそれぞれCU及びTUという用語を使用する。概して、本開示の技術は、CUのデータを変換し、量子化し、走査し、エントロピー符号化することに関する。一例として、本開示の技術は、ブロックを予測するために使用されたイントラ予測モードに基づいてイントラ予測されたブロックの残差値を変換するために使用すべき変換を選択することを含む。本開示ではまた、イントラ予測モード方向に依存するそのような変換に言及するために方向性変換directionaltransform又は設計変換designedtransformという用語を使用する。即ち、ビデオエンコーダは、変換ユニットTUに適用すべき方向性変換を選択し得る。上記のように、イントラ予測は、あるピクチャの現在のCUのTUを、同じピクチャの前に符号化されたCU及びTUから予測することを含む。より詳細には、ビデオエンコーダは、特定のイントラ予測モードを使用してあるピクチャの現在のTUをイントラ予測し得る。本開示の技術は、幾つかの変換をイントラ予測モードに関連付けることを含む。従って、本開示の技術によれば、イントラ予測モードと変換との間に1対1の対応があり得る。幾つかの例では、イントラ予測モードとそれの変換との間に多対1の対応があり得る。例えば、イントラ予測モードの大きいセットはイントラ予測モードのより小さいセットにマッピングされ得、イントラ予測モードのより小さいセットの各々はそれぞれの変換に1対1でマッピングされ得る。変換はまた、それぞれの走査パターンにマッピングされ得る。幾つかの例では、イントラ予測モードは変換と走査の両方にマッピングされ得るが、他の例では、イントラ予測モードは変換にマッピングされ得、変換は走査にマッピングされ得る。様々な例において、変換と係数走査の様々な組合せが使用され得る。例えば、イントラ予測モードはモード依存方向性変換にマッピングされ得、全ての場合においてジグザグ走査が使用され得る。幾つかの例では、イントラ予測モードを変換及び/又は走査パターンにマッピングするのではなく、ビデオエンコーダ20は、適用すべき1つ以上の変換と走査パターンの組合せを信号伝達するように構成され得る。同様に、ビデオデコーダ30は、イントラ予測モードと変換及び走査パターンとの間でマッピングするのではなく、受信された指示に基づいて適用すべき変換と走査パターンとを決定するように構成され得る。変換は、離散コサイン変換DCTと、カルーネンレーベ変換KLT:KarhunenLoevetransformとも呼ばれる8つの方向性変換とを含み得る。DCTは、概して、異なる周波数を有するコサイン関数の和であり、これらの関数は残差値に適用される。KLTは、概して、それぞれ2つの行列を含む。KLTにおける各行列は、変換されるべき残差ブロックと同じサイズである。KLTは、トレーニングセットデータから導出されるか、或いはビデオフレーム及び/又は予測残差のモデルを仮定して分析的に導出され得る。HMエンコーダは、幾つかのブロックサイズのための34個のイントラ予測モードで構成され得る。従って、方向性イントラ予測モードと方向性変換との間の1対1のマッピングをサポートするために、HMエンコーダ及びデコーダは、サポートされる各変換サイズについて最高68個の行列を記憶する必要があろう。更に、全ての34個のイントラ予測モードがサポートされるブロックサイズは、相対的に大きいブロック、例えば、16×16画素、32×32画素、又はより一層大きい画素になり得る。幾つかの例では、本開示は、エンコーダ及びデコーダがサポートする必要がある方向性変換の数を低減するための技術を提供する。即ち、エンコーダ及びデコーダは、利用可能なイントラ予測モードの数よりも少ない方向性変換をサポートし得る。これらの技術によるエンコーダは、例えば、イントラ予測モードの相対的に大きいセットをイントラ予測モードのサブセットにマッピングし得る。サブセット中のイントラ予測モードの各々は方向性変換に関連付けられ得る。即ち、サブセット中のイントラ予測モードは、方向性変換のセットとの1対1の対応を有し得る。従って、大きいセット中のイントラ予測モードは、方向性変換のセットとの多対1の対応を有し得る。例えば、34個のHM方向性イントラ予測モードの各々は、H.264の8つの方向性イントラ予測モードのうちの1つにマッピングされ得る。ビデオエンコーダは、従って、現在のTUの値をイントラ予測するために方向性予測モードを選択し、選択されたモードがマッピングされるサブセットからイントラ予測モードを決定し、次いで、そのサブセットからのイントラ予測モードにマッピングされる方向性変換を使用して現在のTUを変換し得る。更に、方向性変換の各々はそれぞれの走査パターンに関連付けられ得る。従って、エンコーダは、方向性変換に関連付けられた走査を実行して変換係数のベクトルを生成し得、次いで、それらの変換係数は量子化され得る。その上、エンコーダは、ベクトルの最大サイズを用いて構成され得る。即ち、エンコーダは、走査されるべき次の係数が非ゼロであるか否かにかかわらず、最大サイズに達したときに変換係数を走査するのを停止し得る。上記で説明した技術を適用することによって、エンコーダは、上記で説明した技術が使用されるとき、特定のTUのために使用される変換を信号伝達する必要がなくなる。即ち、エンコーダとデコーダとは、それぞれ、大きいセットのイントラ予測モードの、サブセットのイントラ予測モードへの多対1のマッピングmanytoonemappingと、サブセットのイントラ予測モードの、方向性変換への1対1のマッピングonetoonemappingとを用いて構成され得る。従って、大きいセットからイントラ予測モードを信号伝達することにより、デコーダは、ブロックを変換するために使用される変換を導出することができる。その上、これらの技術は、様々な方向性変換のための行列の記憶に割り振られ得るメモリが限られているレガシー機器によって実装され得る。HMエンコーダは、ブロックのイントラ予測モードの利用可能なセットがブロックのサイズに基づいて異なるように構成され得る。即ち、CUのサイズによってそのCUのために利用可能なイントラ予測モードの数が決定され得、そこから、エンコーダは、TUの係数を計算するために使用される値を予測するためにイントラ予測モードを選択し得る。以下の表1に、CUのサイズと、そのサイズのCUのために利用可能なイントラ予測モードの数との間の対応の一例を示す。本開示では、元のリーフCUの明示的分割が存在しなくても、リーフCUの4つのサブCUをリーフCUとも呼ぶ。リーフCUが最小CUサイズを有する場合、これらの4つのサブCUは異なるイントラ予測モードを選択することができる。従って、この表は4×4CUサイズの項目を有する。概して、ビデオエンコーダは、ビデオデコーダがブロックを適切に復号するためにそのブロックの予測方向を信号伝達し得る。幾つかの例では、ビデオエンコーダは、CUに属する全てのTUに適用され得る、そのCUのための単一の予測方向を決定するように構成され得る。但し、表1に上記したように、ブロックの幾つかのサイズは、ブロックの他のサイズと比較して利用可能なイントラ予測モードがより少ない。そのような場合は、CUブロックサイズにおける予測方向の数がTUブロックサイズのために使用されることを可能にすることによって解決され得る。代替的に、より大きいセットのイントラ予測モードが、より小さいセット、例えば、サブセットのイントラ予測モードにマッピングされ得る。上記で説明したように、より大きいセットのイントラ予測モードとより小さいセットのイントラ予測モードとの間に多対1の関係があり得る。TU4分木構造は、大きいブロックCUの、より小さいブロックTUへの分解につながり得る。CUのルートブロックの空間的予測モードはビットストリーム中で明示的に信号伝達され得る。得られたより小さいTU4分木ブロックTUは、それらの予測モードを、CUに対応するTU4分木のルートブロックの予測モードから継承し得る。但し、より小さいブロックTUによってサポートされる空間的予測方向の数は、ルートブロックCUの数とは異なり得る。これは、より小さいブロックTUのためにより多くの予測方向を可能にすることによって解決され得る。代替的に、より小さいブロックTUの予測モードは、CUのイントラ予測方向と、より小さいブロック中のサポートされる予測方向との間の予測方向角度差を最小限に抑えることなど、所定の基準に従って、多対1又は1対1のマッピングによって、ルートブロックCUの予測モードから導出され得る。このマッピングに基づいて方向性変換と走査パターンとが選択され得る。このようにして、ビデオエンコーダは、CUのためにイントラ予測方向を1回信号伝達し得る。CUが、信号伝達されたイントラ予測方向をサポートしないサイズのTUを含むと仮定すると、ビデオエンコーダは、マッピングに基づいてTUのイントラ予測モードを決定し得る。即ち、ビデオエンコーダは、より大きいセットの信号伝達されたイントラ予測モードがマッピングされるより小さいセットのイントラ予測モードを使用してTUを計算するために使用される予測ブロックをイントラ予測し得る。同様に、ビデオデコーダは、ビデオデコーダが受信したCUの各TUについてイントラ予測モードを決定することができるように、同じ構成を含み得る。代替的に、TUの予測モードの数は、対応するCUの予測モードの数に一致するように増加され得る。幾つかの例では、幾つかのイントラ予測モードでは、特定のサイズのTUのために複数の変換が可能であり得る。そのような場合、ビデオデコーダは、イントラ予測モードのみからTUに適用すべき変換を導出することが可能でないことがある。従って、ビデオエンコーダは、複数の変換が可能であるサイズのTUのために使用すべき変換を信号伝達する必要があり得る。そのようなTUごとに変換を信号伝達するのではなく、この情報はCUレベルで信号伝達され得る。そのような場合、この変換は、CU中に含まれている全てのTUに適用され得る。信号伝達されたイントラ予測モードにただ1つの変換がマッピングされるサイズのTUについては、マッピングされた変換が使用され得る。その上、複数の変換が可能であるサイズのTUをCUが含む場合、変換を指定するシンタックスが存在するだけでよい。ただ1つの変換が可能であるTUの場合、ビデオエンコーダ及びデコーダは、選択されたイントラ予測モードに基づいて使用すべき変換を決定し得る。但し、複数の変換が可能であるサイズのTUの場合、ビデオエンコーダは、例えば、CUのTU4分木のルートにおいて使用すべき変換を信号伝達することによって、CU中の全ての同様にサイズ決定されたTUのために使用すべき変換を明示的に信号伝達し得る。このようにして、ビデオデコーダが、TUに対応するCUのイントラ予測モードに基づいて複数の変換が可能であるサイズのTUに遭遇した場合、デコーダは、明示的信号伝達に基づいて適用すべき変換を決定し得る。他のTUの場合、ビデオデコーダは、CUについて信号伝達されたイントラ予測モードに関連付けられた変換を使用し得る。幾つかの例では、ビデオエンコーダは、CUの残差値に2つ以上の変換例えば、2つ以上の分離可能変換を適用し得る。例えば、ビデオエンコーダは、第1の変換を使用してCUのTUを1回変換して、変換係数の第1のセットを生成し、次いで、その変換係数の第1のセットに第2の変換を適用して変換係数の第2のセットを生成し得る。TUに2つ以上の変換を適用するこのプロセスはカスケード変換cascadedtransformと呼ばれることがある。幾つかの例では、第2の変換は、第1の変換によって生成された係数のサブセットのみに適用され得る。第1の変換が第1の分離可能変換を備え得ると同時に、第2の変換は第2の分離可能変換を備え得ることを理解されたい。従って、カスケード変換は、第1の分離可能変換のために2つ、第2の分離可能変換のために別の2つ、合計4つの行列を係数に適用することによって適用され得る。幾つかの例では、第2の変換即ち、第2の分離可能変換は回転変換ROT:rotationaltransformに対応し得る。回転変換は、概して、変換基底の座標系を変化させるものと考えられ得る。例えば、ビデオエンコーダは、TUに対して、最初に方向性変換を適用し、次いで回転変換を適用し得る。別の例として、ビデオエンコーダは、TUに対して、最初にDCTを適用し、次いでそのTUに回転変換を適用し得る。ビデオエンコーダは複数の回転変換を用いて構成され得る。ビデオエンコーダは更に、幾つかの方向性変換の後に及び/又は幾つかのイントラ予測モードと併せて回転変換を適用するように構成され得る。即ち、ビデオエンコーダは、方向性変換の幾つかの組合せと幾つかのイントラ予測モードとに対して回転変換を適用するように構成され得る。ある値、例えば、回転角によって異なる回転変換がインデックス付けされ得る。幾つかの例では、回転変換を使用して係数の全てが変換されるとは限らない。例えば、ビデオエンコーダは、TUの低周波変換係数のみを回転変換するように構成され得る。更に、幾つかの例では、本開示の技術は、TU内の検出されたエッジを有するTUをイントラモード予測することを含む。例えば、ビデオ符号化ユニットは、隣接ブロック中のエッジの存在を検出し、次いで、そのエッジが現在のTU中に続くと決定し得る。そのようなTUをイントラ予測するためのエッジ処理予測モードが提供され得る。ビデオエンコーダは、このエッジベース予測モードを使用してTUを予測すべきか別の方向性イントラ予測モードを使用してTUを予測すべきかを決定し得る。TU中にエッジが存在すると決定されたとき、及びエッジベース予測モードが選択されているとき、使用されるイントラ予測モードを信号伝達するためにDC予測モードを示す値が使用され得るが、エッジが存在するという決定により、この値はエッジ処理予測モードを示すと解釈され得る。更に、エッジの角度が決定され、上記で説明した方向性イントラ予測モードの方向性変換へのマッピングと同様の方法で方向性変換にマッピングされ得る。同様に、この例では方向性変換にマッピングされた走査パターンも使用され得る。本開示はまた、1次元ベクトルを生成し、次いでその1次元ベクトルをエントロピー符号化することができるように、変換係数を走査するための技術を提供する。これらの技術によれば、ビデオエンコーダは、様々なファクタに基づいて固定走査パターンを選択するか、又は適応走査を実行するように構成され得る。例えば、ビデオエンコーダは固定走査パターンのセットを含み得る。ビデオエンコーダは、例えば、イントラ予測モード、TUのために選択された変換、TUが、TUのために選択されたカスケード変換を使用して変換されるか、TUのために選択された回転変換を使用して変換されるか、又はそれらの任意の組合せを使用して変換されるかなど、様々な基準に基づいて固定走査パターンのうちの1つを選択し得る。例えば、ビデオエンコーダは、イントラ予測モード、2次変換、又はそれらの組合せに基づいて予め定義された走査のセットのうちの1つを選択し得る。幾つかの例では、ビデオエンコーダは、上記で説明したファクタのうちの1つ以上に基づいて走査インデックスを選択し得、走査インデックスは固定走査又は適応走査のいずれかに対応し得る。幾つかの例では、ビデオエンコーダは変換係数を適応的に走査するように構成され得る。ビデオエンコーダは、初期の固定走査パターンを記憶し得る。ビデオエンコーダがピクチャのブロックを符号化するとき、ビデオエンコーダは走査パターンを適応的に更新し得る。ビデオエンコーダは、例えば、位置における係数がゼロ値化される傾向があるかどうかを示す統計値を収集し得、特定の位置における係数が通常ゼロ値化される場合、ビデオエンコーダは、通常非ゼロ値を有する他の係数よりも後にその係数を走査することを選択し得る。その上、ビデオエンコーダは、例えば、イントラ予測モード、TUのために選択された変換、TUが、TUのために選択されたカスケード変換を使用して変換されるか、TUのために選択された回転変換を使用して変換されるか、又はそれらの任意の組合せを使用して変換されるかなど、ファクタの様々な組合せのための別々の固定走査及び/又は走査統計値を記憶し得る。幾つかの例では、ビデオエンコーダは、カスケード変換の各組合せ、例えば、第1の変換に後続する回転変換について別々の統計値を記憶し得る。幾つかの例では、ビデオエンコーダは、ビデオエンコーダがカスケード変換を適用するときは適応走査を使用し、ビデオエンコーダが単一の変換を適用するときは固定走査を使用し得る。上記のように、変換係数の2次元行列を走査すると1次元ベクトルが生成され、次いで、その1次元ベクトルはエントロピー符号化され得る。幾つかの例では、ビデオエンコーダは、コンテキスト適応型2値算術符号化CABACを使用して変換係数をエントロピー符号化し得る。ビデオエンコーダはまた、例えば、有効係数フラグ及び最終係数フラグなど、シンタックス要素をエントロピー符号化し得る。変換係数を適応的に走査するとき、ビデオエンコーダは、係数が有効であるか否か示すために有効係数フラグの値を設定し得る。ビデオエンコーダは、例えば、係数の値が非ゼロのとき、係数が有効であると決定するように構成され得る。ビデオエンコーダはまた、適応走査によって生成されたベクトル中の最終係数を示すために最終係数フラグの値を設定し得る。ビデオデコーダは、エントロピー符号化された係数を適応的に逆走査するために、これらのシンタックス要素を使用して局所的に記憶された統計値を更新し得る。本開示は、そのようなシンタックス要素を符号化するためにCABACを実行するときにコンテキストモデルを選択するための技術を提供する。ビデオエンコーダは、例えば、要素の中でも、符号化されているCUのイントラ予測モードに基づいてコンテキストモデルを選択し得る。図1は、符号化ユニットの変換ユニットを符号化及び復号するための技術を利用し得る例示的なビデオ符号化及び復号システム10を示すブロック図である。図1に示すように、システム10は、通信チャネル16を介して符号化ビデオを宛先機器14に送信するソース機器12を含む。ソース機器12及び宛先機器14は、広範囲にわたる機器のいずれかを備え得る。場合によっては、ソース機器12及び宛先機器14は、ワイヤレスハンドセット、所謂セルラー無線電話又は衛星無線電話などのワイヤレス通信機器を備えるか、或いは通信チャネル16を介してビデオ情報を通信することができ、その場合、通信チャネル16がワイヤレスである、任意のワイヤレス機器を備え得る。但し、変換ユニットの符号化及び復号に関係する本開示の技術は、必ずしもワイヤレスアプリケーション又は設定に限定されるとは限らない。例えば、これらの技術は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、又は他のシナリオに適用され得る。従って、通信チャネル16は、符号化ビデオデータの送信又は記憶に好適なワイヤレス又はワイヤード媒体の任意の組合せを備え得る。図1の例では、ソース機器12は、ビデオソース18と、ビデオエンコーダ20と、変調器/復調器モデム22と、送信機24とを含む。宛先機器14は、受信機26と、モデム28と、ビデオデコーダ30と、表示装置32とを含む。本開示によれば、ソース機器12のビデオエンコーダ20は、本開示の変換ユニットの符号化及び復号のための技術を適用するように構成され得る。他の例では、ソース機器及び宛先機器は他の構成要素又は構成を含み得る。例えば、ソース機器12は、外部カメラなどの外部ビデオソース18からビデオデータを受信し得る。同様に、宛先機器14は、内蔵表示装置を含むのではなく、外部表示装置とインターフェースし得る。図1の図示のシステム10は一例にすぎない。変換ユニットの符号化及び復号のための技術は、任意のデジタルビデオ符号化及び/又は復号機器によって実行され得る。概して、本開示の技術はビデオ符号化機器又はビデオ復号機器によって実行されるが、本技術は、一般にコーデックと呼ばれるビデオエンコーダ/デコーダによっても実行され得る。ソース機器12及び宛先機器14は、ソース機器12が宛先機器14に送信するための符号化ビデオデータを生成する、そのような符号化機器の例にすぎない。幾つかの例では、機器12、14は、機器12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。従って、システム10は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、又はビデオテレフォニーのためのビデオ機器12とビデオ機器14との間の一方向又は双方向のビデオ送信をサポートし得る。ソース機器12のビデオソース18は、ビデオカメラなどのビデオキャプチャ機器、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、及び/又はビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、又はライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソース機器12及び宛先機器14は、所謂カメラ付き携帯電話又はビデオ電話を形成し得る。但し、上述のように、本開示で説明する技術は、概してビデオ符号化に適用可能であり得、ワイヤレス及び/又はワイヤードアプリケーションに適用可能であり得る。各場合において、撮像されたビデオ、以前に撮像されたビデオ、又はコンピュータ生成ビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオ情報は、次いで、通信規格に従ってモデム22によって変調され、送信機24を介して宛先機器14に送信され得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器又は他の構成要素を含み得る。送信機24は、増幅器、フィルタ、及び1つ以上のアンテナを含む、データを送信するために設計された回路を含み得る。宛先機器14の受信機26はチャネル16を介して情報を受信し、モデム28はその情報を復調する。この場合も、ビデオ符号化プロセスは、変換ユニットを符号化及び復号するための本明細書で説明する技術のうちの1つ以上を実装し得る。チャネル16を介して通信される情報は、ビデオエンコーダ20によって定義され、またビデオデコーダ30によって使用される、符号化ビデオデータの符号化ユニット又は他のユニット、例えば、ピクチャグループGOP、スライス、フレームなどの特性及び/又は処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。CU4分木データ構造が、最大符号化ユニットのためのシンタックス情報の一部を形成し得る。即ち、各LCUは、LCUがどのようにサブCUに分割されるかを記述し得るCU4分木の形態のシンタックス情報、及びLCUとサブCUとがどのように符号化されるかに関する信号伝達情報を含み得る。同様に、TU4分木データ構造は、それぞれのリーフCUがどのようにTUに分割されるかを記述し得る、LCUのリーフCUのためのシンタックス情報の一部を形成し得る。ビデオデコーダ30は、CUのTUを含む、受信されたピクチャのCUをどのように復号すべきかを決定するためにCU4分木とTU4分木とを使用し得る。ビデオデコーダ30は、次いで、CUを復号し、復号されたビデオデータを表示装置32に送り得る。表示装置32は、復号されたビデオデータをユーザに対して表示し、陰極線管CRT、液晶ディスプレイLCD、プラズマディスプレイ、有機発光ダイオードOLEDディスプレイ、又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。図1の例では、通信チャネル16は、無線周波数RFスペクトル或いは1つ以上の物理伝送線路など、任意のワイヤレス又は有線通信媒体、若しくはワイヤレス媒体と有線媒体との任意の組合せを備え得る。通信チャネル16は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル16は、概して、有線媒体又はワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソース機器12から宛先機器14に送信するのに好適な任意の通信媒体、又は様々な通信媒体の集合体を表す。通信チャネル16は、ソース機器12から宛先機器14への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、又は任意の他の機器を含み得る。ビデオエンコーダ20及びビデオデコーダ30は、代替的にMPEG-4、Part10、AdvancedVideoCodingAVCと呼ばれるITU-TH.264規格など、ビデオ圧縮規格に従って動作し得る。別の例として、ビデオエンコーダ20及びビデオデコーダ30は、高効率ビデオ符号化HEVC規格に従って動作し得、HEVCテストモデルHMに準拠し得る。但し、本開示の技術は、いかなる特定の符号化規格にも限定されない。他の例には、MPEG-2及びITU-TH.263がある。図1には示されていないが、幾つかの態様では、ビデオエンコーダ20及びビデオデコーダ30は、それぞれオーディオエンコーダ及びデコーダと統合され得、適切なMUX-DEMUXユニット、又は他のハードウェア及びソフトウェアを含んで、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、MUX-DEMUXユニットはITUH.223マルチプレクサプロトコル、又はユーザデータグラムプロトコルUDPなどの他のプロトコルに準拠し得る。ITU-TH.264/MPEG-4AVC規格は、JointVideoTeamJVTとして知られる共同パートナーシップの成果として、ISO/IECMovingPictureExpertsGroupMPEGとともにITU-TVideoCodingExpertsGroupVCEGによって策定された。幾つかの態様では、本開示で説明する技術は、H.264規格に概して準拠する機器に適用され得る。H.264規格は、ITU-TStudyGroupによる2005年3月付けのITU-T勧告H.264AdvancedVideoCodingforgenericaudiovisualservicesに記載されており、本明細書ではH.264規格又はH.264仕様、或いはH.264/AVC規格又は仕様と呼ぶことがある。JointVideoTeamJVTはH.264/MPEG-4AVCへの拡張に取り組み続けている。ビデオエンコーダ20及びビデオデコーダ30はそれぞれ、1つ以上のマイクロプロセッサ、デジタル信号プロセッサDSP、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGA、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、或いはそれらの任意の組合せとして実装され得る。本技術がソフトウェアで実装されるとき、機器は、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、1つ以上のプロセッサを使用してその命令を実行して、本開示の技術を実行し得る。ビデオエンコーダ20及びビデオデコーダ30の各々は1つ以上のエンコーダ又はデコーダ中に含まれ得、そのいずれも複合エンコーダ/デコーダコーデックの一部としてそれぞれのカメラ、コンピュータ、モバイル機器、加入者機器、ブロードキャスト機器、セットトップボックス、サーバなどに統合され得る。ビデオシーケンスは、一般に一連のビデオフレームを含む。ピクチャグループGOPは、概して、一連の1つ以上のビデオフレームを備える。GOPは、GOP中に含まれる幾つかのフレームを記述するシンタックスデータを、GOPのヘッダ、GOPの1つ以上のフレームのヘッダ、又は他の場所中に含み得る。各フレームは、それぞれのフレームについての符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内の符号化ユニットに対して動作する。符号化ユニットはLCU又はサブCUに対応し得、CUという用語はLCU又はサブCUを指し得る。LCUのヘッダ情報は、LCUのサイズ、LCUが分割され得る回数本開示ではCU深さと呼ぶ、及び他の情報を記述し得る。各ビデオフレームは複数のスライスを含み得、各スライスは複数のLCUを含み得る。幾つかの例では、様々なCUサイズについての予測が実行され得る。LCUのサイズはシンタックス情報によって定義され得る。特定のリーフノードCUのサイズが2N×2Nであると仮定すると、幾つかの例では、イントラ予測サイズは2N×2N又はN×Nを含み得、インター予測対称サイズは2N×2N、2N×N、N×2N、又はN×Nを含み得る。幾つかの例では、2N×nU、2N×nD、nL×2N、及びnR×2Nのサイズを用いたインター予測のために非対称分割が使用され得る。非対称分割では、CUの一方向は分割されないが、他の方向は25と75とに分割される。CUのどの部分が25分割されるかは、nに後続するUp、Down、Left、又はRightの指示によって示される。従って、例えば、2N×nUは、水平方向に、上部の0.2N×0.5NPUと下部の2N×1.5NPUとで分割される2N×2NCUを指す。本開示では、N×xNとN×byNは、垂直寸法と水平寸法とに関するブロック例えば、CU、PU、又はTUの画素寸法、例えば、16×x16画素又は16×by16画素を指すために互換的に使用され得る。一般に、16×16ブロックは、垂直方向に16画素を有しy=16、水平方向に16画素を有するx=16。同様に、N×Nブロックは、一般に、垂直方向にN画素を有し、水平方向にN画素を有し、但し、Nは非負整数値を表す。ブロック中の画素は行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数の画素を有する必要はない。例えば、ブロックはN×M画素を備え得、Mは必ずしもNに等しいとは限らない。CUのPUは、画素領域とも呼ばれる空間領域中の画素データを備え得るが、CUのTUは、例えば、残差ビデオデータに対する離散コサイン変換DCT、整数変換、ウェーブレット変換、又は概念的に同様の変換などの変換の適用後の、変換領域中の係数を生成するために変換され得る。残差データは、概して、PUの値と、入力ビデオデータからの同一位置配置非符号化画素の値との間の画素差分を表す。係数は更に量子化され得る。TUの変換係数は周波数領域中にあると言われることがある。ビデオエンコーダ20は、符号化ユニットの変換ユニットの符号化を改善するために本開示の技術のいずれか又は全てを実装し得る。同様に、ビデオデコーダ30は、符号化ユニットの変換ユニットの復号を改善するためにこれらの技術のいずれか又は全てを実装し得る。概して、本開示の技術は、イントラモード予測に基づいて係数の計算に続いて変換ユニットの係数を変換することを対象とする。但し、本開示の幾つかの態様はインター予測符号化に関しても実装され得る。例として、これらの技術はTUのイントラ予測符号化に関連して説明される。これらの技術の幾つかの態様は、インター予測符号化とともにも実行され得ることを理解されたい。ビデオエンコーダ20は、LCUを受信し、そのLCUを、各々がサブCUを備える、4つの象限quadrantに分割すべきかどうか、又はそのLCUを分割せずに符号化すべきかどうかを決定し得る。LCUをサブCUに分割すると決定した後に、ビデオエンコーダ20は、各サブCUを、各々がサブCUを備える、4つの象限に分割すべきかどうかを決定し得る。ビデオエンコーダ20は、CUを分割すべきかどうかを再帰的に決定することを続け得、分割の最大数はLCU深さによって示される。ビデオエンコーダ20は、LCUとそのLCUのサブCUとの分割を示すCU4分木データ構造を与え得る。LCUはCU4分木のルートノードに対応し得る。CU4分木の各ノードはLCUのCUに対応し得る。その上、各ノードは、対応するCUが分割されるかどうかを示す分割フラグ値を含み得る。LCUが分割される場合、例えば、ビデオエンコーダ20は、LCUが分割されることを示すためにルートノードにおいて分割フラグの値を設定し得る。次いで、ビデオエンコーダ20は、もしあれば、LCUのサブCUのうちのどれが分割されるのかを示すためにルートノードの子ノードの値を設定し得る。分割されないCUはCU4分木データ構造のリーフノードに対応し得、リーフノードは子ノードを有しない。その上、各リーフノードCUは、そのリーフノードCUのTU4分木によって示される、1つ以上のTUを含み得る。ビデオエンコーダ20は、4分木データ構造中のリーフノードに対応するLCUの各サブCUを符号化し得る。例として、本開示では、リーフノードCUに対応するTUのイントラ予測符号化に関係する技術について説明する。イントラモード符号化では、ビデオエンコーダ20は、TU4分木データ構造中のリーフノードに対応する各TUについて予測ユニットPUを形成し得る。幾つかの例では、ビデオエンコーダ20は、CUについての34個の異なるイントラ予測モードのうちの1つを選択し、TU4分木のルートノードにおいてその選択されたイントラ予測モードを信号伝達し得る。CU4分木中のリーフノードCUにサイズが等しい第1の最大TUから開始して、ビデオエンコーダ20は、最大TUを区分すべきかどうか、及び、再帰的に、親TUのサブTUを区分すべきかどうかを決定し得る。ビデオエンコーダ20は、更に、TU4分木を含むCUのためのリーフノードCU4分木においてイントラ予測モードを信号伝達し得、信号伝達されるイントラ予測モードは、CUに対応するTU4分木においてTUの各々の予測値を計算するために使用されるべきイントラ予測モードを記述し得る。ビデオエンコーダ20は、選択されたイントラ予測モードに従って、隣接する、前に符号化されたビデオデータからTUの予測データを取り出す。このようにして、イントラ予測モードを使用して予測されるCUのPUは、CUのTUと同じサイズである。本開示の技術によれば、例えば、現在のCUサイズにより、選択されたイントラ予測モードがそのCUのために利用可能でない場合、ビデオエンコーダ20は、4分木のルートにおいて信号伝達されたモードがマッピングされるイントラ予測モードを選択し得る。即ち、ビデオエンコーダ20は、多対1の対応で、モードの大きいセットのうちのモードの各々を、より小さいセットのモード、例えば、その大きいセットのサブセットにマッピングする情報を含み得る。ビデオエンコーダ20は、次いで、より小さいセットからイントラ予測モードを使用してCUについての1つ以上のPUをイントラ予測し得る。このようにして、ビデオエンコーダ20は、LCUのために1つのイントラ予測モードを信号伝達するだけでよいが、ビデオエンコーダ20は、モードの各々とモードが使用されるサブCUとを明示的に信号伝達することなしにLCUのサブCUをイントラ予測するために複数のモードを使用し得る。従って、ビットストリーム中に含まれる情報の量を増加させることなしに複数のイントラ予測モードが使用され得、それによってオーバーヘッドが低減される。別の実施形態では、サブCUサイズ又はPUサイズにかかわらずLCUのために同じイントラ予測モードを使用することを可能にするために、CUレベルにおいてより大きい数の予測方向が可能にされ得る。ビデオエンコーダ20は、更に、ビデオエンコーダ20が決定するCU中のTUがエッジを含むことを予測するためのエッジベース予測モードで構成され得る。概して、エッジは、TUを通る比較的真直ぐなラインに沿った高周波変動に対応する。例えば、エッジは、同じくTU中に表された背景と対比されるTU中に表された対象物の境界に沿って生じ得る。TU中のエッジを検出するために、ビデオエンコーダ20は、TU中の画素の勾配を計算し、その勾配がTUを通るラインを識別するかどうかを決定し得る。現在のTUがエッジを含むと決定した後に、ビデオエンコーダ20は、エッジベース予測モードを使用すべきかどうかを決定し得る。そのようなエッジが検出された場合、及びエッジベース予測モードが選択されているとき、ビデオエンコーダ20は、通常ならばDC予測モードの使用を示すであろう値を使用してエッジベース予測モードの使用を信号伝達し得る。即ち、現在のブロック中にエッジの存在を検出した後に、ビデオエンコーダ20は、エッジベース予測モード及び他の方向性予測モードを含むがDCモードを除くセットからイントラ予測モードを選択し、エッジベース予測モードが選択されたとき、DC予測モードの使用を信号伝達するかのようにエッジベース予測モードの使用を信号伝達し得る。CUのTUの予測データを生成するためのイントラ予測又はインター予測符号化の後に、ビデオエンコーダ20は、TUの予測データと元のデータとの間の画素ごとの差を表すTUの係数を備える、残差データを計算し得る。ビデオエンコーダ20は、このようにしてCUのための残差データを含む1つ以上のTUを形成し得る。ビデオエンコーダ20は、次いで、それらのTUを変換し得る。本開示の技術によれば、ビデオエンコーダ20は、TUのデータをイントラモード予測するために使用されたイントラ予測モードに基づいてTUに適用すべき変換を選択し得る。幾つかの例では、ビデオエンコーダ20は、イントラ予測モードの大きいセットと、イントラ予測モードのより小さいセットとの間の多対1のマッピングを与える構成データを含み得る。例えば、ビデオエンコーダ20は、HMの34個のイントラ予測モードとH.264の9つのイントラ予測モードとの間のマッピングを与える構成データを含み得る。その上、ビデオエンコーダ20は、イントラ予測モードのより小さいセットと方向性変換との間のマッピングを与える構成データを含み得る。方向性変換のセットは、イントラ予測モードのより小さいセットと方向性変換のセットとの間に1対1のマッピングがあるように、イントラ予測モードのより小さいセットと同じサイズであり得る。このようにして、ビデオエンコーダ20の構成データは、イントラ予測モードの大きいセットと方向性変換のセットとの間の間接的な多対1のマッピングを与え得る。代替的に、幾つかの例では、方向性変換の大きいセットと、ある方向性変換、又は離散コサイン変換、離散サイン変換、又は他の概念的に同様の変換など、他の設計変換の大きいセットとの1対1のマッピングがあり得る。いずれの場合も、マッピングを使用して、ビデオエンコーダ20は、TUを含むCUのために選択されたイントラ予測モードに基づいて各TUの変換を選択し得る。幾つかの例では、特定のサイズのTUのために可能な複数の方向性変換があり得る。幾つかの例では、ビデオエンコーダ20は、CUに対応するTU4分木データ構造のルート即ち、CU4分木中のリーフノードCUにおいて、選択されたイントラ予測モード例えば、選択されたイントラ予測方向を信号伝達し得、この選択されたイントラ予測モードはCUの全てのTUに適用され得る。ただ1つの変換が可能であるサイズをCU中の全てのTUが有する場合、ビデオエンコーダ20は、上記の例に従って進み得、LCUのための信号伝達されたイントラ予測モードからその変換が導出され得る。しかしながら、CU中の少なくとも1つのTUが、複数の変換が可能であるサイズである場合、ビデオエンコーダ20は、可能な変換のうちの1つを選択し、TU4分木のルートノードにおいてその選択された変換を信号伝達し得る。従って、ビデオエンコーダ20は、信号伝達された変換を使用して、複数の可能な変換に関連付けられたサイズを有するCU中の各TUを変換し得る。このようにして、ビデオエンコーダ20は、余分な追加の帯域幅を消費することなしに、変換を明示的に信号伝達し得る。幾つかの例では、ビデオエンコーダ20がTUの値を予測するためにエッジベースイントラ予測モードを適用するとき、ビデオエンコーダ20は、エッジの角度に基づいてTUに適用すべき変換を選択し得る。上記で説明したように、ビデオエンコーダ20は、現在のTUと境界を共有する、隣接するTU中のエッジの検出に基づいて現在のTU中にエッジが存在すると決定し得る。本開示の技術によれば、ビデオエンコーダ20は、エッジの相対角度を計算し、エッジのその角度を使用して、イントラ予測モードの方向性変換を選択するのと同様の方法で方向性変換を選択し得る。例えば、ビデオエンコーダ20は、エッジの角度を方向性イントラ予測モードの角度と比較し、エッジの角度に最も近い角度を有する方向性イントラ予測モードを決定し、次いで、その決定されたイントラ予測モードにマッピングされた変換を使用してエッジベース予測モード予測されたTUを変換し得る。幾つかの例では、ビデオエンコーダ20は、本開示ではカスケード変換と呼ぶ、2つ以上の変換をTUに適用するように構成され得る。例えば、第1の変換は、一般的に方向性変換とも呼ばれる、離散コサイン変換DCT又はカルーネンレーベ変換KLTに対応し得る。方向性変換が、その方向性変換にマッピングされたイントラ予測モードに基づいて選択されたとき、その変換はモード依存方向性変換MDDT:modedependentdirectionaltransformと呼ばれることがある。本開示ではまた、予測モードのために特に選択された方向性変換、離散コサイン変換、離散サイン変換、又は他の概念的に同様の変換を含み得る、イントラ予測モードに基づいて選択された変換を設計変換と呼ぶ。第2の変換は回転変換に対応し得る。幾つかの例では、ビデオエンコーダ20は複数の回転変換を用いて構成され得る。ビデオエンコーダ20は、幾つかの例では、回転変換の各々のレート歪みコストを計算することを通して適用すべき回転変換のうちの1つを選択し得る。ビデオエンコーダ20は、第1の変換よりもより少ない数の係数に回転変換を適用するように構成され得る。本開示の技術によれば、ビデオエンコーダ20は、列変換行列と行変換行列とを含む、モード依存回転変換MDROT:modedependentrotationaltransformのための構成データを含み得る。イントラ予測モードは、第1の変換、例えば、MDDTのうちの1つと、回転変換のうちの1つ、例えば、MDROTのうちの1つの両方にマッピングされ得る。従って、CUのための信号伝達されたイントラ予測モードはまた、LCUのTUに適用すべき第1の変換と、TUに適用すべき第2の変換との指示を与え得る。例としてMDROTについて説明したが、第2の変換は、方向性変換など、他の変換を備え得ることを理解されたい。TUの係数を変換することによって、ビデオエンコーダ20は変換係数の行列を生成する。この行列はTUと同じサイズを有する。概して、変換プロセスは、データを更に圧縮する量子化のための残差データを準備する。量子化は、概して、係数を表すために使用されるデータの量ができるだけ低減されるように変換係数が量子化されるプロセスを指す。量子化プロセスは、係数の一部又は全部に関連するビット深さを低減し得る。例えば、量子化中にnビット値がmビット値に切り捨てられ得、但し、nはmよりも大きい。幾つかの例では、ビデオエンコーダ20は、エントロピー符号化され得るベクトルを生成するために、予め定義された走査順序を利用して量子化変換係数を走査し得る。例えば、従来の変換又はモード依存変換の後に、ビデオエンコーダ20は、ジグザグ走査を適用するように構成され得る。ビデオエンコーダ20はまた、イントラ予測モード、及び/又はブロックに適用される1つ以上の変換に基づいて走査を適用するように構成され得る。幾つかの例では、ビデオエンコーダ20は、TUの係数の変換及び量子化の後に適応走査を実行し得る。幾つかの例では、ビデオエンコーダ20は、可能な変換方式ごとに異なる走査方式を定義する構成データを備え得る。例えば、ビデオエンコーダ20は、方向性変換のセットと予め定義された走査パターンのセットとの間の1対1のマッピングを備える構成データを含み得る。対応する方向性変換に続いてベクトル中の変換係数の配置を最適化するために、走査パターンは、特定の方向性変換後の走査の経験的テストに基づいて定義され得る。代替的に、ビデオエンコーダ20は、イントラ予測モード又は変換方式がマッピングされ得る走査インデックスを定義する構成データを含み得、走査インデックスは、予め定義された走査又は適応走査のいずれかを示し得る。従って、各方向性変換は、経験的テストに基づいて、その方向性変換のために比較的最適化された関連する走査パターンを有し得る。TUを含むCUのためのTU4分木において信号伝達されるイントラ予測モードと、方向性変換及び走査パターンとの間のマッピングがあると仮定すると、上記のように、ビデオエンコーダ20は、特定のTUのために使用される方向性変換又は走査パターンを信号伝達する必要はない。様々な例において、走査パターンは、選択された第1の変換例えば、DCT又はMDDT、選択された第2の変換例えば、MDROT、DCT、又は他の2次分離可能変換、或いはその両方の組合せに依存することができる。幾つかの例では、2つのカスケード変換のうちの一方は、特定の方向例えば、水平又は垂直に適用される設計変換を備え得、ビデオエンコーダ20は、構成データに基づいて、同じ方向又は直交方向に概して対応する走査順序を選択し得る。ビデオエンコーダ20がTUにカスケード変換を適用する例では、ビデオエンコーダ20は、カスケード変換から生じる係数を適応的に走査し得る。適応走査を実行するために、ビデオエンコーダ20は、概して、変換係数の行列中の特定の位置が有効である例えば、非ゼロである可能性がより高いかより低いかを示す統計値を追跡し得る。ビデオエンコーダ20は、走査パターンがこれらの統計的可能性に対応するように、走査パターンを経時的に適応させ得る。即ち、適応走査パターンにより、有効である例えば、非ゼロである確率が相対的により高い変換係数が、有効である確率が相対的により低い変換係数の前に走査されることを保証することが試みられ得る。代替的に、ビデオエンコーダ20は、カスケード変換がマッピングされる走査インデックスを選択し得る。ビデオエンコーダ20は、可能なカスケード変換ごとに別々に走査統計値を追跡し得る。例えば、変換行列中の特定の係数位置が異なり得る可能性は、カスケード変換中に適用される第1の変換と第2の変換とに基づく。従って、ビデオエンコーダ20は、可能なカスケード変換ごとに統計値の別々の独立したセットを追跡し得る。一例として、イントラ予測モードがMDDTとMDROT又は他の2次分離可能変換の両方にマッピングされると仮定すると、ビデオエンコーダ20は、TUに適用されるMDDTとMDROT又は他の2次変換との組合せごとに独立した統計値を追跡し得る。別の例として、ビデオエンコーダ20は、ビデオエンコーダ20がTUにDCTを適用するときのみ、カスケード変換を実行するように構成され得る。従って、ビデオエンコーダ20は、DCTの後に適用されるTUのための選択されたMDROT又は他の2次分離可能変換に基づいて、適応走査を実行し、適応走査を実行するための独立した統計値を追跡し得る。幾つかの例では、適応走査を使用するか所定の走査を使用するかにかかわらず、ビデオエンコーダ20は、走査の後に配列中の係数をゼロ設定し得る。即ち、ビデオエンコーダ20は、配列の位置Nから終端までの係数の値を0に等しく設定し得る。Nの値はCUのサイズ及び/又はTUのサイズに関係し得る。幾つかの例では、ビデオエンコーダ20は、走査するより前に、行列中の変換係数、例えば、行列の左上隅にある係数以外の行列中の全ての係数をゼロ設定し得る。1次元ベクトルを形成するために変換行列を走査した後に、ビデオエンコーダ20は、例えば、コンテンツ適応型可変長符号化CAVLC、コンテキスト適応型2値算術符号化CABAC、シンタックスベースコンテキスト適応型2値算術符号化SBAC、又は別のエントロピー符号化方法に従って1次元ベクトルをエントロピー符号化し得る。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルの可変長コードを選択し得る。VLCのコードワードは、相対的により短いコードがより可能性が高いシンボルに対応し、より長いコードがより可能性が低いシンボルに対応するように構築され得る。このようにして、VLCを使用すると、例えば、送信されるべきシンボルごとに等長コードワードを使用する場合よりも、ビット節約を達成し得る。CABACを実行するために、ビデオエンコーダ20は、送信されるべきシンボルを符号化するために、あるコンテキストに適用すべきコンテキストモデルを選択し得る。コンテキストは、例えば、隣接値が非ゼロか否かに関係し得る。ビデオエンコーダ20はまた、適応走査を実行するときに生成される有効係数フラグ及び最終係数フラグなど、シンタックス要素をエントロピー符号化し得る。本開示の技術によれば、ビデオエンコーダ20は、コンテキストモデル選択のために使用されるファクタの中でも、例えば、イントラ予測方向、シンタックス要素に対応する係数の走査位置、ブロックタイプ、及び/又は変換タイプに基づいて、これらのシンタックス要素を符号化するために使用されるコンテキストモデルを選択し得る。ビデオデコーダ30は、ビデオエンコーダ20の方法と本質的に対称的な方法で動作し得る。例えば、ビデオデコーダ30は、符号化されたTUデータを含む、符号化されたCUを表すエントロピー符号化されたデータを受信し得る。CUがイントラ予測符号化されたと仮定すると、この受信データは、PUデータを符号化するために使用されたイントラ予測モードを示す情報を含み得る。ビデオデコーダ30は、この受信データを逆エントロピー符号化して符号化量子化係数を形成し得る。ビデオエンコーダ20が可変長コードアルゴリズムを使用してデータをエントロピー符号化したとき、ビデオデコーダ30は、受信コードワードに対応するシンボルを決定するために1つ以上のVLCテーブルを使用し得る。ビデオエンコーダ20が算術符号化アルゴリズムを使用してデータをエントロピー符号化したとき、ビデオデコーダ30は、データを符号化するためにビデオエンコーダ20によって使用されたのと同じコンテキストモデルに対応し得るデータを復号するために、コンテキストモデルを使用し得る。ビデオデコーダ30は、次いで、ビデオエンコーダ20によって使用された走査をミラーリングする逆走査を使用して、復号された係数を逆走査し得る。係数を適応的に逆走査するために、ビデオデコーダ30は、ビデオエンコーダ20によって適応走査を実行するために使用された統計値を再生成するために、有効係数フラグ及び最終係数フラグを含むシンタックス要素を復号し得る。ビデオデコーダ30は、それによって、エントロピー復号プロセスから得られた1次元ベクトルから2次元行列を形成し得る。次に、ビデオデコーダ30は、逆走査によって生成された2次元行列中の係数を逆量子化し得る。ビデオデコーダ30は、次いで、2次元行列に1つ以上の逆変換を適用し得る。逆変換は、ビデオエンコーダ20によって適用された変換に対応し得る。ビデオデコーダ30は、例えば、TUの係数を計算するために使用されるイントラ予測モードに基づいて、適用すべき逆変換を決定し得、特定のサイズのTUのために複数の変換が利用可能である場合は、現在復号されているTUを含むCUに対応するTU4分木のルートにおいて情報が信号伝達され得る。このようにして、ビデオデコーダ30は、TUのために信号伝達されるイントラ予測モードに基づいて、TUを再生するためにTUの逆量子化係数に適用されるべき1つ以上の逆変換を選択し得る。その上、ビデオデコーダ30は、例えば、TU4分木において、イントラ予測モードの信号伝達された指示に対応するイントラ予測モードを使用してTUの予測値を計算し得る。幾つかの例では、ビデオデコーダ30は、隣接TU中で検出されたエッジに基づいて、TU中にエッジが存在すると決定し得、DCモードが信号伝達されたときは、TUの値を予測するために、代わりにエッジベースモードを使用し得る。ビデオエンコーダ20及びビデオデコーダ30はそれぞれ、適用可能なとき、1つ以上のマイクロプロセッサ、デジタル信号プロセッサDSP、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGA、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ又はデコーダ回路のいずれか、或いはそれらの任意の組合せとして実装され得る。ビデオエンコーダ20及びビデオデコーダ30の各々は1つ以上のエンコーダ又はデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダコーデックの一部として統合され得る。ビデオエンコーダ20及び/又はビデオデコーダ30を含む装置は、集積回路、マイクロプロセッサ、及び/又はセルラー電話などのワイヤレス通信機器を備え得る。図2は、本開示で説明するビデオデータの変換ユニットを符号化するための技術のいずれか又は全てを実装し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、ビデオフレーム内のCUのイントラ符号化及びインター符号化を実行し得る。イントラ符号化は、所与のビデオフレーム内のビデオの空間的冗長性を低減又は除去するために空間的予測に依拠する。インター符号化は、ビデオシーケンスの現在のフレームと前に符号化されたフレームとの間の時間的冗長性を低減又は除去するために時間的予測に依拠する。イントラモードIモードは、幾つかの空間ベースの圧縮モードのいずれかを指し、単方向予測Pモード又は双方向予測Bモードなどのインターモードは、幾つかの時間ベースの圧縮モードのいずれかを指し得る。図2に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図2の例では、ビデオエンコーダ20は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、参照フレームストア64と、加算器50と、変換ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。図2に示す変換ユニット52は、実際の変換を実行するユニットであり、CUのTUと混同されるべきでない。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。更に、ビデオエンコーダ20は、マッピングデータ66など、構成データを含み得る。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ図2に図示せずも含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理するであろう。符号化プロセス中に、ビデオエンコーダ20は符号化されるべきビデオフレーム又はスライスを受信する。フレーム又はスライスは、複数のビデオブロック、例えば、最大符号化ユニットLCUに分割され得る。動き推定ユニット42及び動き補償ユニット44は、時間圧縮を行うために、1つ以上の参照フレーム中の1つ以上のブロックに対して受信されたビデオブロックのインター予測符号化を実行する。イントラ予測ユニット46は、空間圧縮を行うために、符号化されるべきブロックと同じフレーム又はスライス中の1つ以上の隣接ブロックに対して受信されたビデオブロックのイントラ予測符号化を実行し得る。モード選択ユニット40は、例えば、歪みと呼ばれることがある誤差結果に基づいて符号化モード、即ち、イントラ又はインターのうちの1つを選択し、残差ブロックデータを生成するために、得られたイントラ符号化ブロック又はインター符号化ブロックを加算器50に供給し、参照フレーム中で使用するための符号化ブロックを再構成するために、得られたイントラ符号化ブロック又はインター符号化ブロックを加算器62に供給し得る。幾つかのビデオフレームはIフレームに指定され得、Iフレーム中の全てのブロックはイントラ予測モードで符号化される。場合によっては、例えば、動き推定ユニット42によって実行された動き探索によって得られたブロックの予測が不十分であったとき、イントラ予測ユニット46は、Pフレーム又はBフレーム中のブロックのイントラ予測符号化を実行し得る。動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、参照フレームの参照サンプルに対する、現在のフレーム中の予測ユニットの変位を示し得る。参照サンプルは、絶対値差分和SAD:sumofabsolutedifference、2乗差分和SSD:sumofsquaredifference、又は他の差分メトリックによって決定され得る画素差分に関して、符号化されているPUを含むCUの部分にぴったり一致することがわかるブロックである。動き補償ユニット44によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ユニットの値をフェッチ又は生成することを伴い得る。この場合も、幾つかの例では、動き推定ユニット42と動き補償ユニット44とは機能的に統合され得る。動き推定ユニット42は、予測ユニットを参照フレームストア64に記憶された参照フレームの参照サンプルと比較することによってインター符号化フレームの予測ユニットの動きベクトルを計算する。幾つかの例では、ビデオエンコーダ20は、参照フレームストア64に記憶された参照フレームのサブ整数画素位置の値を計算し得る。例えば、ビデオエンコーダ20は、参照フレームの1/4画素位置、1/8画素位置、又は他の分数画素位置の値を計算し得る。従って、動き推定ユニット42は、完全画素位置と分数画素位置とに対する動き探索を実行し、分数画素精度で動きベクトルを出力し得る。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。動きベクトルによって識別される参照フレームの部分は参照サンプルと呼ばれることがある。動き補償ユニット44は、例えば、PUの動きベクトルによって識別される参照サンプルを取り出すことによって、現在のCUの予測ユニットについての予測値を計算し得る。イントラ予測ユニット46は、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測の代替として、受信ブロックをイントラ予測符号化し得る。イントラ予測ユニット46は、隣接する、前に符号化されたブロック、例えば、ラスタ走査順序などブロックについての左から右、上から下への符号化順序を仮定すると、現在のブロックの上ブロック、右上ブロック、左上ブロック、又は左ブロックに対して受信ブロックを符号化し得る。イントラ予測ユニット46は多種多様なイントラ予測モードで構成され得る。例えば、イントラ予測ユニット46は、符号化されているCUのサイズに基づいて、一定数の方向性予測モード、例えば、34個の方向性予測モードで構成され得る。イントラ予測ユニット46は、例えば、様々なイントラ予測モードの誤差値を計算し、最も低い誤差値を生じるモードを選択することによってイントラ予測モードを選択し得る。方向性予測モードは、空間的に隣接する画素の値を合成し、その合成された値をPU中の1つ以上の画素位置に適用するための機能を含み得る。PU中の全ての画素位置の値が計算されると、イントラ予測ユニット46は、PUと符号化されるべき受信ブロックとの間の画素差分に基づいて予測モードの誤差値を計算し得る。イントラ予測ユニット46は、許容できる誤差値を生じるイントラ予測モードが発見されるまでイントラ予測モードをテストし続け得る。イントラ予測ユニット46は、次いで、PUを加算器50に送り得る。本開示の技術によれば、イントラ予測ユニット46は、エッジベース予測モードを使用してエッジを含むブロックを予測するように構成され得る。特に、イントラ予測ユニット46は、隣接ブロックのうちの少なくとも1つの中にエッジが検出されるかどうか、及びそのエッジが前に符号化されたブロックと現在のブロックとの間の境界を横断するかどうかを決定するために、隣接する、前に符号化されたブロックの画素を分析し得る。エッジを検出するために、イントラ予測ユニット46は、隣接する、前に符号化されたブロック中の画素の勾配を、水平方向と垂直方向の両方で計算し得る。隣接ブロックのうちの1つの中の複数の画素の勾配が、隣接ブロックと現在のブロックとの間の境界を横断する共通のラインに対して比較的直角であるとき、イントラ予測ユニット46は、現在のブロックがエッジ特に、上記で説明したように検出されたラインに沿ったエッジをも含むと決定し得る。このコンテキストにおけるエッジという用語は、画素のブロック内の比較的まっすぐなラインに沿った高周波変動を指し、別々に符号化されたブロック間の境界又は境界線を指すものではないことを理解されたい。従って、ブロック中にエッジが検出されたとき、イントラ予測ユニット46は、エッジベース予測モードを使用してブロックを予測すべきか方向性イントラ予測モードを使用してブロックを予測すべきかを決定し得る。イントラ予測ユニット46がエッジベース予測モードを選択したとき、イントラ予測ユニット46は、イントラ予測モードを信号伝達する必要がある値の数を増加させるのを回避するために、ブロックを予測するためにDC予測モードが使用されたことを信号伝達し得る。従って、図3に関してより詳細に説明するように、ビデオデコーダ30などのビデオデコーダは、ブロック中にエッジが存在するとビデオデコーダが決定したとき、ブロックを予測するためにDC予測モードが使用されたという指示例えば、信号又はシンタックス情報をエッジベース予測モードの指示として解釈するように構成され得る。ビデオエンコーダ20は、符号化されている元のビデオブロックから、動き補償ユニット44又はイントラ予測ユニット46によって計算された予測データを減算することによって残差ブロックを形成する。加算器50は、この減算演算を実行する1つ以上の構成要素を表す。残差ブロックは値の2次元行列に対応し得、残差ブロック中の値の数は、残差ブロックに対応するPU中の画素の数と同じである。残差ブロック中の値は、PU中の同一位置配置画素と、符号化されるべき元のブロック中の同一位置配置画素との間の差分に対応し得る。変換ユニット52は、残差ブロックから1つ以上の変換ユニットTUを形成し得る。変換ユニット52は、離散コサイン変換DCT、方向性変換、又は概念的に同様の変換などの変換をTUに適用して、変換係数を備えるビデオブロックを生成する。本開示の技術によれば、イントラ予測ユニット46は、例えば、TUに対応するTU4分木のノードにおけるモードを信号伝達することによって、TUのために選択されたイントラ予測モードの指示を変換ユニット52に送り得る。従って、変換ユニット52は、イントラ予測ユニット46から受信されたイントラ予測モードの指示に基づいてTUに適用すべき変換を選択し得る。幾つかの例では、変換ユニット52は、TUを予測するために使用されるイントラ予測モードに基づいてTUに適用すべき方向性変換などの変換を選択するように構成される。即ち、マッピングデータ66は、TUを予測するために使用されるイントラ予測モードに基づいて適用されるべき変換を記述する構成データを記憶し得る。このようにして、変換ユニット52は、残差ブロックを計算するために使用されるイントラ予測モードにマッピングされた変換を使用して残差ブロックを変換し得る。同様に、マッピングデータ66は、ブロックの量子化変換係数に適用されるべき走査を選択するために使用され得る特定の走査インデックスに、イントラ予測モード、変換、又はその両方をマッピングし得る。幾つかの例では、マッピングデータ66は、イントラ予測モードの大きいセットと、イントラ予測モードのより小さいセットとの間の多対1のマッピングを含む構成データを記憶し得る。より小さいセットはイントラ予測モードのサブセットを備え得る。幾つかの例では、大きいセットは、HEVCテストモデルによってサポートされるイントラ予測モードを備え得、より小さいセットは、H.264によってサポートされるイントラ予測モードを備え得る。マッピングデータ66はまた、イントラ予測モードのより小さいセットと変換との間の、1対1のマッピングなどのマッピングを含み得る。イントラ予測モードのより小さいセットは、対応するイントラ予測モードのために経験的に最良の変換結果を与えるように設計された方向性変換に1対1でマッピングされ得る。幾つかの例では、大きいセットのイントラ予測モードと、より小さいセットのイントラ予測モードは、それぞれの予測角度に関連付けられ得る。予測モードの大きいセットとより小さいセットとの間のマッピングは、従って、大きいセットのイントラ予測モードの予測角度に近い、より小さいセット中のイントラ予測モードのうちの1つの予測角度を選択することによって決定され得る。αが、大きいセットのイントラ予測モードのうちの1つの予測角度を表すとし、βiが、より小さいセットのi番目のイントラ予測モードの予測角度を表すとする。イントラ予測モードをより小さいセットのイントラ予測モードのうちの1つにマッピングするために、ビデオエンコーダ20は、αが与えられれば、以下の式1が満たされるようなβiを見つけ得る。変換ユニット52は、イントラ予測ユニット46から選択されたイントラ予測モードの指示を受信し、次いで、マッピングデータ66を照会して、加算器50から受信された残差値を含むTUを変換するために使用すべき変換を決定し得る。TUが、複数の可能な変換が可能であるサイズである場合、ビデオエンコーダ20の変換ユニット52又は別のユニットは、変換ユニット52が同じCU中のそのサイズの全てのTUに同じ変換を適用し得るように、そのサイズのTUのための変換を選択し得る。幾つかの例では、変換ユニット52は更に、第1の変換からカスケードされる回転変換を実行するように構成され得る。即ち、第1の変換の後に、変換ユニット52は回転変換を選択し、その回転変換を変換係数に適用し得る。変換ユニット52は、例えば、現在のTUのPUを予測するために使用されるイントラ予測モードに基づいて回転変換を選択し得る。上記で説明したように、幾つかの例では、イントラ予測ユニット46は、ブロックがエッジを含むかどうか即ち、ブロック内の画素間の高周波変動を決定するように構成される。エッジが検出されたとき、イントラ予測ユニット46は、エッジベース予測モード又は従来の方向性イントラ予測モードのいずれかを選択し得る。即ち、イントラ予測ユニット46は、エッジベース予測モードの代わりにDC予測モードを使用し得る。幾つかの例では、ブロックがエッジベース予測モードを使用して予測されたとき、変換ユニット52は、エッジの角度に極めて近い角度を有するイントラ予測モードの方向にマッピングされた方向性変換などの変換を選択する。即ち、変換ユニット52は、幾つかの例では、ブロック内のエッジの角度を決定し、エッジの角度に極めて近い例えば、それに対して最小距離を有する角度を有する方向性イントラ予測モードにマッピングされた変換を選択する。幾つかの例では、変換ユニット52は、ブロック中で検出されたエッジの角度に極めて近い角度を有する方向性イントラ予測モードにマッピングされた変換を選択するように構成される。ビデオエンコーダ20はまた、通常ならばDC予測モードの使用を信号伝達するために使用されるであろう値を使用してエッジベース予測モードの使用を信号伝達し得る。従って、DC予測モードが信号伝達されるが、ブロックを予測するためにエッジベース予測モードが使用され得る。同様に、ブロックを予測するためにエッジベース予測モードが使用され得るが、変換ユニット52は、ブロック中で検出されたエッジの角度に近い角度を有するイントラ予測モードにマッピングされた変換を使用し得る。マッピングデータ66は、DC予測モードが信号伝達されるブロック中でエッジが検出されたとき、変換ユニット52が、そのエッジの角度に近い角度を有する変換を選択すべきことを指示する構成データを提供し得る。その上、上記で説明したように、マッピングデータ66は、イントラ予測モードからのマッピングと、方向性変換に対するそのイントラ予測モードを定義し得るそのイントラ予測モードの角度とを含み得る。従って、変換ユニット52は、マッピングデータ66を照会して、ブロック中のエッジの角度に極めて近い角度を有するイントラ予測モードを決定し、その決定されたイントラ予測モードにマッピングされた変換を決定し得る。このように、ビデオエンコーダ20は、イントラ予測モードを使用して形成された予測ブロックに基づいてビデオデータのブロックの残差ブロックを計算することと、イントラ予測モードにマッピングされた変換を使用してその残差ブロックを変換することとを行うように構成されたビデオエンコーダの一例である。ビデオエンコーダ20はまた、ビデオデータのブロックのためのイントラ予測モードの第1のセット中の第1のイントラ予測モードの指示を受信することと、イントラ予測モードのより小さいセットから、第1のイントラ予測モードがマッピングされる第2のイントラ予測モードを決定することと、第2のイントラ予測モードがマッピングされる方向性変換を決定することと、ブロックの残差データに方向性変換を適用することとを行うように構成されたビデオエンコーダの一例である。更に、ビデオエンコーダ20はまた、ビデオデータのブロックを符号化するために使用すべきイントラ予測モードを選択することと、複数の変換が可能であるサイズのサブブロックをブロックが含むかどうかを、サブブロックのサイズと選択されたイントラ予測モードとに基づいて決定することと、サブブロックのサイズと選択されたイントラ予測モードとに基づいて、複数の変換が可能であるサイズのサブブロックをブロックが含むとき、複数の可能な変換のうちの1つを選択することと、複数の可能な変換のうちの選択された1つを使用してサブブロックを変換することと、ブロックのサイズについての複数の可能な変換のうちの選択された1つの指示を与えることとを行うように構成されたビデオエンコーダの一例である。その上、ビデオエンコーダ20は、イントラ予測符号化されるべきブロックがブロック内にエッジを含んでいると決定することと、エッジ指向イントラ予測モードを使用して計算された予測値に基づいてブロックの残差ブロックを計算することと、エッジの角度に近い角度を有する方向性イントラ予測モードにマッピングされた方向性変換を使用して残差ブロックを変換することと、変換された残差ブロックを表す情報と、ブロックがDCイントラ予測モードを使用して予測されたことを示す情報とを出力することとを行うように構成されたビデオエンコーダの一例である。変換ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、次いで、その変換係数を量子化し得る。幾つかの例では、量子化ユニット54は、次いで、量子化された変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が走査を実行し得る。本開示では、エントロピー符号化ユニット56が走査を実行するものとして説明するが、他の例では、量子化ユニット54など、他の処理ユニットが走査を実行し得ることを理解されたい。幾つかの例では、エントロピー符号化ユニット56は、イントラ予測ユニット46又は変換ユニット52から選択されたイントラ予測モードの指示を受信し得る。エントロピー符号化ユニット56は、2次元行列を1次元ベクトルに変換するために、変換係数の行列に適用すべき走査を選択し得る。幾つかの例では、エントロピー符号化ユニット56は走査の所定のセットから走査を選択する。マッピングデータ66は、イントラ予測モードのより小さいセットを走査の所定のセットにマッピングし得る。エントロピー符号化ユニット56は、例えば、ブロックタイプインターもしくはイントラ、イントラ予測モードイントラ符号化ブロックを仮定する、及び/又はTUに適用される変換のタイプ例えば、DCT又はKLTなど、現在のTUの様々な特性に基づいて走査を選択し得る。幾つかの例では、エントロピー符号化ユニット56は適応走査を実行するように構成され得る。初めに例えば、現在のフレームの第1のTUについて、エントロピー符号化ユニット56は所定の走査パターンを使用し得る。時間とともに、エントロピー符号化ユニット56は走査パターンを更新して適応走査を実行し得る。概して、適応走査の目的は、特定の変換係数が非ゼロになる確率を決定することである。その場合、走査順序は、概して、非ゼロである確率が最も高い係数から非ゼロである確率が最も低い係数に進む。エントロピー符号化ユニット56は、様々な統計値及び計算を使用して経時的にこれらの確率を決定し得る。その上、エントロピー符号化ユニット56は、イントラ予測モード、変換、カスケード変換、又はそれらの任意の組合せごとに別々の統計値を追跡し得る。エントロピー符号化ユニット56は、変換係数が非ゼロである確率を決定し、適応走査順序を決定するために、高ダイナミックレンジテーブルと動的更新走査テーブルとを使用し得る。N×NTUを仮定すると、これらのテーブルの各々は、TUの変換係数に対応する値をもつN×Nテーブルであり得る。高ダイナミックレンジテーブルは、各変換係数が非ゼロである確率を与える固定の予め決定されたテーブルであり得る。このテーブルはトレーニングデータのセットに基づいて計算され得る。その上、このテーブルは、適応走査順序の開始点を与えるために使用され得る。エントロピー符号化ユニット56は、変換係数について最近決定された統計値を反映するために、動的更新走査テーブルを経時的に更新し得る。エントロピー符号化ユニット56は、N×N変換行列中の特定の位置における各係数が非ゼロである回数のカウントを保持し得る。即ち、現在のフレームのTUごとに、エントロピー符号化ユニット56は、現在の変換ブロック中の非ゼロ係数に対応する動的更新走査テーブル中の、特に、現在のCUのためのイントラ予測モード、変換、及び/又はカスケード変換に関連付けられた動的更新走査テーブル中の値を増分し得る。例えば、行2と列1とにおける変換係数が非ゼロである場合、エントロピー符号化ユニット56は、行2と列1とにおける動的更新走査テーブル中の値に1を加算し得る。エントロピー符号化ユニット56はまた、動的更新走査テーブル中の値が最大値を超えるのを防ぐために、それらの値を周期的に正規化し得る。現在のフレームの第1のTUに対して適応走査を実行するために、エントロピー符号化ユニット56は、高ダイナミックレンジテーブルのみに基づいて走査し得る。エントロピー符号化ユニット56はまた、例えば、動的更新走査テーブル中の全ての値を0に設定することによって、動的更新走査テーブルを初期化し得る。変換ブロック中の非ゼロ係数ごとに、エントロピー符号化ユニット56は、現在のTUのためのイントラ予測モード及び変換又はカスケード変換に関連付けられた動的更新走査テーブル中の同一位置配置の値に1を加算し得る。同じイントラ予測モード及び変換又はカスケード変換を使用する後続のTUについて、エントロピー符号化ユニット56は、最初に動的更新走査テーブルを参照して変換係数のどれが非ゼロである可能性が最も高いかを決定し、次いで、係数が非ゼロである可能性の降順に走査し得る。場合によっては、動的更新走査テーブル中の2つ以上の値が等しくなり得る。そのような場合、エントロピー符号化ユニット56は、次にどの係数を走査すべきかを決定するために高ダイナミックレンジテーブルを参照する。このようにして、エントロピー符号化ユニット56は、高ダイナミックレンジテーブルと動的更新走査テーブルとの組合せに基づいてイントラ予測モード、変換、又はカスケード変換或いはそれらの任意の組合せごとに適応走査を実行し得る。変換係数の2次元行列を走査することによって、エントロピー符号化ユニット56は、変換係数を含む1次元配列を生成し得る。エントロピー符号化ユニット56は、次いで、TUを走査して配列を形成し、その走査に続いて、ビットレートを更に低減するために配列中の変換係数を量子化し得る。量子化プロセスは、係数の一部又は全部に関連するビット深さを低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。エントロピー符号化ユニット56はまた、適応走査より前に又は適応走査中に、行列の係数のシンタックス要素をエントロピー符号化し得る。シンタックス要素は、特定の係数が有効である例えば、非ゼロであるかどうかを示す有効係数フラグと、特定の係数が適応走査中に走査される最終係数であるかどうかを示す最終係数フラグとを含み得る。ビデオデコーダは、ビデオデコーダがエントロピー符号化ユニット56によって符号化された係数を逆走査することができるように、これらのシンタックス要素を使用して動的更新走査テーブルを再構成し得る。シンタックス要素をエントロピー符号化するために、エントロピー符号化ユニット56は、CABACを実行し、例えば、前に走査されたN個の係数の中の有効係数の数に基づいてコンテキストモデルを選択し得、但し、Nは、走査されているブロックのサイズに関係し得る整数値である。エントロピー符号化ユニット56はまた、変換係数のブロックに変換された残差データを計算するために使用される予測モードと、その残差データを変換係数のブロックに変換するために使用される変換のタイプとに基づいてコンテキストモデルを選択し得る。対応する予測データがイントラ予測モードを使用して予測されたとき、エントロピー符号化ユニット56は更に、イントラ予測モードの方向に基づいてコンテキストモデルの選択を行い得る。このように、ビデオエンコーダ20は、変換係数の中間の2次元ブロックを生成するために第1の変換を使用してビデオデータのブロックの残差データを変換することと、変換係数の2次元ブロックを生成するために回転変換を使用して変換係数の中間の2次元ブロックを変換することと、第1の変換及び回転変換のうちの少なくとも1つに関連付けられた統計値のセットを選択することであって、統計値のセットは、変換係数の2次元ブロック中の位置が非ゼロになる可能性を与える、選択することと、統計値の選択されたセットに基づいて変換係数の2次元ブロックを適応的に走査することとを行うように構成されたビデオエンコーダの一例を表す。ビデオエンコーダ20はまた、変換係数の1次元ベクトルを生成するために変換係数の2次元ブロックを走査することと、1次元ベクトル中の変換係数が有効であるかどうかを示す値を決定することと、少なくとも、上記値のうちの少なくとも1つの前に符号化された上記値の所定数中の有効係数の割合に基づいて選択されたコンテキストモデルを使用して上記値のうちの少なくとも1つをエントロピー符号化することとを行うように構成されたビデオエンコーダの一例を表す。幾つかの例では、変換ユニット52は、幾つかの変換係数即ち、幾つかの位置における変換係数をゼロ設定するように構成され得る。例えば、変換ユニット52は、変換後のTUの左上象限の外部にある全ての変換係数をゼロ設定するように構成され得る。別の例として、エントロピー符号化ユニット56は、配列中のある位置の後に来る配列中の変換係数をゼロ設定するように構成され得る。幾つかの例では、エントロピー符号化ユニット56は2次元行列を量子化し得、エントロピー符号化ユニット56は走査を実行し得る。いずれの場合も、ビデオエンコーダ20は、例えば、走査の前又は後に、変換係数のある部分をゼロ設定するように構成され得る。ゼロ設定するという句は、係数の値を0に等しく設定することを意味するように使用されるが、必ずしも係数をスキップ又は廃棄するとは限らない。量子化の後に、エントロピー符号化ユニット56は量子化変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット56は、コンテンツ適応型可変長符号化CAVLC、コンテキスト適応型2値算術符号化CABAC、又は別のエントロピー符号化技術を実行し得る。エントロピー符号化ユニット56によるエントロピー符号化の後に、符号化されたビデオは、別の機器に送信されるか、或いは後で送信又は取り出すためにアーカイブされ得る。コンテキスト適応型2値算術符号化の場合、コンテキストは隣接ブロックに基づき得る。場合によっては、エントロピー符号化ユニット56又はビデオエンコーダ20の別のユニットは、エントロピー符号化に加えて他の符号化機能を実行するように構成され得る。例えば、エントロピー符号化ユニット56はブロックの符号化ブロックパターンCBP:codedblockpattern値を決定するように構成され得る。また、場合によっては、エントロピー符号化ユニット56はブロック中の係数のランレングス符号化を実行し得る。逆量子化ユニット58及び逆変換ユニット60は、それぞれ逆量子化及び逆変換を適用して、例えば参照ブロックとして後で使用するために、画素領域において残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照フレームストア参照フレーム記憶装置64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つ以上の補間フィルタを適用して、動き推定において使用するサブ整数画素値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照フレームストア64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインター符号化するために動き推定ユニット42及び動き補償ユニット44によって参照ブロックとして使用され得る。図3は、符号化されたビデオシーケンスを復号するビデオデコーダ30の一例を示すブロック図である。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照フレームストア82と、加算器80とを含む。ビデオデコーダ30は、幾つかの例では、ビデオエンコーダ20図2に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて予測データを生成し得る。イントラ予測ユニット74は、信号伝達されたイントラ予測モードと、現在のフレームの前に復号されたブロックからのデータとに基づいて現在のフレームの現在のブロックについての予測データを生成し得る。幾つかの例では、エントロピー復号ユニット70又は逆量子化ユニット76は、ビデオエンコーダ20によって使用された走査をミラーリングする走査を使用して受信値を走査し得る。図3の例では、ビデオデコーダ30は、マッピングデータ66のデータと同様の又は同じデータを含み得る、マッピングデータ84を含む。従って、ビデオデコーダ30は、例えば、現在のブロックについての例えば、現在のブロックを含むLCUのための4分木のルートノードにおいて提示されるイントラ符号化モードの指示、現在のブロックに対する変換、現在のブロックに対するカスケード変換、又は走査を選択するためにビデオエンコーダ20によって使用される他のファクタに基づいて走査を選択し得る。同様に、ビデオデコーダ30は、適応走査を実行するか、又はこれらのファクタに基づいて所定の走査を選択するように構成され得る。このようにして、ビデオデコーダ30は、係数の受信された1次元配列から量子化変換係数の2次元行列を生成し得る。逆量子化ユニット76は、ビットストリーム中で供給され、エントロピー復号ユニット70によって復号された量子化変換係数を逆量子化inversequantize、即ち、逆量子化dequantizeする。逆量子化プロセスは、例えば、H.264復号規格又はHEVCによって定義された従来のプロセスを含み得る。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、CUについてビデオエンコーダ20によって計算される量子化パラメータQPYの使用を含み得る。逆変換ユニット58は、逆変換、例えば、逆DCT、逆整数変換、逆回転変換、又は逆方向性変換を適用する。幾つかの例では、逆変換ユニット78は、受信されたイントラ予測符号化ブロックについて信号伝達されるイントラ予測モードに基づいて逆変換を決定し得る。イントラ予測モードに基づいて、ブロックが、2つ以上の変換が可能であるサイズである場合、逆変換ユニット78は、現在のブロックを含むLCUのための4分木のルートノードにおける信号伝達された変換に基づいて現在のブロックに適用すべき変換を決定し得る。幾つかの例では、逆変換ユニット78は、カスケード逆変換を適用し得、例えば、最初に逆回転変換を適用し、続いて逆方向性変換を適用し得る。例えば、信号伝達されたイントラ予測モードがDC予測モードである、幾つかの例では、逆変換ユニット58又はビデオデコーダ30の別のユニットは、現在のブロック中にエッジが存在するかどうかを決定し得る。逆変換ユニット58は、図2のビデオエンコーダ20に関して説明した技術に実質的に対応する技術を使用してエッジが存在するかどうかを決定し得る。現在のブロック中にエッジが存在する場合、逆変換ユニット78は、ブロック内のそのエッジの角度を決定し、そのエッジの角度に近い角度を有するイントラ予測モードにマッピングされた逆変換を選択し得る。上記で説明したように、マッピングデータ84は、イントラ予測モードの角度、及びイントラ予測モードと逆変換との間のマッピングを与え得る。従って、DC予測モードが信号伝達されたとき、逆変換ユニット78は、マッピングデータ84を照会して、エッジの角度に極めて近い角度を有するイントラ予測モードにマッピングされた逆変換を決定し得る。更に、ブロック中にエッジが検出されたとき、イントラ予測ユニット74は、ブロックを予測するために、ブロックについて信号伝達されたDC予測モードではなく、エッジベース予測モードを適用し得る。マッピングデータ84はまた、受信された量子化変換係数の逆走査を選択するために、イントラ予測モードからのマッピング、回転変換などの2次変換、又はそれらの組合せを走査インデックスに与え得る。動き補償ユニット72は動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブ画素精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。動き補償ユニット72は、受信されたシンタックス情報に従って、ビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。動き補償ユニット72及びイントラ予測ユニット74は、例えば、4分木によって与えられるシンタックス情報の一部を使用して、符号化ビデオシーケンスの1つ以上のフレームを符号化するために使用されるLCUのサイズと、符号化ビデオシーケンスのフレームの各CUがどのように分割されるか及び、同様に、サブCUがどのように分割されるかを記述する分割情報と、各分割がどのように符号化されるかを示すモード例えば、イントラ予測又はインター予測、及びイントラ予測の場合はイントラ予測符号化モードと、各インター符号化PUについての1つ以上の参照フレーム及び/又はそれらの参照フレームの識別子を含んでいる参照リストと、符号化ビデオシーケンスを復号するための他の情報とを決定する。加算器80は、残差ブロックを、動き補償ユニット72又はイントラ予測ユニット74によって生成される対応する予測ブロックと合成して、復号ブロックを形成する。所望される場合、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタを適用して復号ブロックをフィルタ処理することもある。復号されたビデオブロックは、次いで、参照フレームストア82に記憶され、参照フレームストア82は、参照ブロックを後続の動き補償に供給し、また、図1の表示装置32などの表示装置上での提示のために復号されたビデオを生成する。このように、ビデオデコーダ30は、ビデオデータのブロックを予測するために使用されるべきイントラ予測モードを決定することと、イントラ予測モードにマッピングされた逆変換を使用してブロックの変換された残差データを逆変換することとを行うように構成されたビデオデコーダの一例である。ビデオデコーダ30はまた、符号化されたビデオデータのブロックのためのイントラ予測モードの第1のセット中の第1のイントラ予測モードの指示を受信することと、イントラ予測モードのより小さいセットから、第1のイントラ予測モードがマッピングされる第2のイントラ予測モードを決定することと、第2のイントラ予測モードがマッピングされる逆方向性変換を決定することと、ブロックの変換された残差データに逆方向性変換を適用することとを行うように構成されたビデオデコーダの一例である。ビデオデコーダ30はまた、ビデオデータのブロックを復号するために使用すべきイントラ予測モードの第1の指示を受信することと、複数の変換が可能であるサイズのサブブロックをブロックが含むかどうかを、サブブロックのサイズと指示されたイントラ予測モードとに基づいて決定することと、サブブロックのサイズと指示されたイントラ予測モードとに基づいて、複数の逆変換が可能であるサイズのサブブロックをブロックが含むとき、複数の可能な逆変換のうちの1つの第2の指示を受信することと、複数の可能な逆変換のうちの指示された1つを使用してサブブロックを逆変換することとを行うように構成されたビデオデコーダの一例である。ビデオデコーダ30はまた、符号化された変換係数の受信された1次元ベクトル中の符号化された変換係数が有効であるかどうかを示す値を受信することと、少なくとも、上記値のうちの少なくとも1つの前に復号された上記値の所定数中の有効係数の割合に基づいて選択されたコンテキストモデルを使用して上記値のうちの少なくとも1つをエントロピー復号することと、変換係数の2次元ブロックを生成するために1次元ベクトルを逆走査することとを行うように構成されたビデオデコーダの一例である。ビデオデコーダ30はまた、変換係数の2次元ブロックを生成するために第1の変換と回転変換の両方を使用してビデオデータのブロックの残差データが変換されたという指示を受信することと、第1の変換及び回転変換のうちの少なくとも1つに関連付けられ、変換係数の2次元ブロック中の位置が非ゼロになる可能性を与える統計値のセットを選択することと、ブロックのための変換係数の2次元行列を生成するために、統計値の選択されたセットに基づいてブロックの残差データの符号化バージョンを含む受信された1次元ベクトルを適応的に逆走査することとを行うように構成されたビデオデコーダの一例である。ビデオデコーダ30は更に、ビデオデータのブロックのイントラ予測モードがDCイントラ予測モードであることを示す情報を受信することと、ブロックについてのDCイントラ予測モードの指示に基づいてビデオデータのブロック中のエッジの角度を決定することと、そのエッジの角度に近い角度を有する方向性イントラ予測モードにマッピングされた方向性逆変換を使用してブロックを逆変換することと、逆変換されたブロックを復号することとを行うように構成されたビデオデコーダの一例である。図4は、イントラ予測モードに関連付けられた方向の例示的なセットを示す図式104を示す概念図である。図4の例では、ブロック106は、選択されたイントラ予測モードに応じて隣接画素100A~100AG隣接画素100から予測され得る。矢印102A~102AG矢印102は、様々なイントラ予測モードに関連付けられた方向又は角度を表す。図4の例は、HMによって与えられるイントラ予測モードを表す。但し、他の例では、より多い又はより少ないイントラ予測モードが与えられ得る。ブロック106の例は8×8画素ブロックであるが、概して、ブロックは、任意の数の画素、例えば、4×4、8×8、16×16、32×32、64×64、128×128などを有し得る。HMは正方形のPUを規定しているが、本開示の技術は、他のブロックサイズ、例えば、N×Mブロックにも適用され得、Nは必ずしもMに等しいとは限らない。イントラ予測モードは、例えば、ブロック106の垂直側に直角な水平軸に対する、予測方向の角度に従って定義され得る。従って、矢印102の各々は、対応するイントラ予測モードの予測方向の特定の角度を表し得る。幾つかの例では、イントラ予測方向モードは、対応するイントラ予測モードがコンテキスト画素外挿のために使用する方向を表し得る、整数ペアdx,dyによって定義され得る。即ち、イントラ予測モードの角度はdy/dxとして計算され得る。言い換えれば、その角度は水平オフセットdxと垂直オフセットdyとによって表され得る。ブロック106中の位置x,yにおける画素の値は、dy/dxの角度で位置x,yを通るラインが通る、隣接画素100のうちの1つから決定され得る。幾つかの例では、矢印102によって表される角度に対応するイントラ予測モードの各々は特定の変換にマッピングされ得る。幾つかの例では、同じ変換に2つ以上のイントラ予測モードがマッピングされ得る。変換は、方向性変換、KLT、回転変換、離散コサイン変換、離散サイン変換、フーリエ変換、又は特定のイントラ予測モードのために特に選択された他の変換に対応し得る。そのような変換は、変換が特定のイントラ予測モードのために選択されたという点で、一般に設計変換と呼ばれることがある。上記で説明したように、幾つかの例では、イントラ予測モードのセットは、多対1の対応によって、イントラ予測モードのより小さいセット、例えば、サブセットにマッピングされ得る。言い換えれば、モードの大きいセット中のイントラ予測モードの角度は、モードのより小さいセット中のイントラ予測モードの角度にマッピングされ得る。幾つかの例では、マッピングは数式を使用して実現され得る。例えば、この式は、ここではαと呼ぶ、実際の予測方向角度と、ここではβiと呼ぶ、イントラ予測モードのより小さいセットの予測方向角度との間の絶対予測角度差を最小限に抑えるマッピングを与え得る。予測方向角度αを仮定すれば、この式は、上記の式1が満たされるようなβiを与え得る。便宜のために式1を以下に再掲する。一例では、イントラ予測モードのより小さいセットは、矢印102E、102I、102M、102Q、102U、102Y、102AC、及び102AGと同じである角度を有し得る。従って、矢印102の角度の各々は、矢印102E、102I、102M、102Q、102U、102Y、102AC、及び102AGの角度のうちの1つにマッピングされ得る。一例として、矢印102A~102Eの角度は矢印102Eの角度にマッピングされ得、矢印102F~102Iの角度は矢印102Iの角度にマッピングされ得、矢印102J~102Mの角度は矢印102Mの角度にマッピングされ得、矢印102N~102Qの角度は矢印102Qの角度にマッピングされ得、矢印102R~102Uの角度は矢印102Uの角度にマッピングされ得、矢印102V~102Yの角度は矢印102Yの角度にマッピングされ得、矢印102Z~102ACの角度は矢印102ACの角度にマッピングされ得、矢印102AD~102AGの角度は矢印102AGの角度にマッピングされ得る。他のマッピングも与えられ得る。幾つかの例では、ビデオエンコーダ20及びビデオデコーダ30は多種多様なマッピングを用いて構成され得、ビデオエンコーダ20は、例えば、ヘッダデータ、シーケンスパラメータセットSPS:sequenceparameterset、又は他の信号伝達されるデータ中で、特定のビットストリームのために使用されるマッピングを示す情報を提供し得る。上記で説明したように、幾つかの例では、ビデオエンコーダ20又はビデオデコーダ30などのビデオ符号化機器は、ブロック中にエッジが存在するかどうかを決定するように構成され得る。例えば、ビデオ符号化機器は、1つ以上の隣接ブロックの画素の分析に基づいてブロック106中にエッジが存在するかどうかを決定するように構成され得、隣接ブロックは、隣接画素100のうちの1つ以上を含み得る。概して、隣接する、前に符号化されたブロックは、ブロック106と境界を共有し得、その境界は隣接画素100のうちの1つ以上に対応し得る。例えば、ブロック106の左に隣接するブロックは、その左に隣接するブロックとブロック106との間の境界を画定する、隣接画素100I~100Pを含み得る。ビデオ符号化機器は、隣接する、前に符号化されたブロック中にエッジが存在するかどうかを決定するために、その隣接する、前に符号化されたブロック中の画素の勾配を計算するように構成され得る。ビデオ符号化機器は更に、隣接する、前に符号化されたブロックと、ブロック106など、現在のブロックとの間の境界をエッジが横断する即ち、その境界と交差するかどうかを決定し得る。上記で説明したブロック106の左に隣接するブロックの例に関して、ビデオ符号化機器は、左に隣接するブロック中の画素の勾配が、その左に隣接するブロックとブロック106との間の境界と交差するエッジの存在を示すかどうかを決定し得、この例では、境界は画素100I~100Pによって画定される。左に隣接するブロック中の画素の勾配がエッジの存在を示し、画素100I~100Pによって画定された境界をそのエッジが横断するとビデオ符号化機器が決定したとき、ビデオ符号化機器は、エッジがブロック106中に続いており、従って、ブロック106はエッジを含むと決定し得る。幾つかの例では、ブロック106のための信号伝達されたイントラ予測モードがDC予測モードであり、ブロック106がエッジを含むとビデオ符号化機器が決定したとき、ビデオ符号化機器はエッジベースイントラ予測モードを使用してブロック106を予測し得る。その上、ビデオ符号化機器はエッジの角度を決定し得る。ビデオ符号化機器は、次いで、そのエッジの角度に最も極めて近い、矢印102によって全体的に示される予測モードの角度を決定し得る。ビデオ符号化機器は、次いで、エッジの角度に最も極めて近い角度を有するイントラ予測モードにマッピングされた復号時に逆変換に対応し得る変換を選択し、その選択された変換をブロック106の残差データに適用し得る。符号化プロセス中に、ビデオ符号化機器は、変換をブロック106のTUに適用し得、復号プロセス中に、ビデオ符号化機器は、ブロック106のための変換された残差データに逆変換を適用し得る。図5は、H.264のイントラ予測モード110A~110Iイントラ予測モード110を示す概念図である。イントラ予測モード110Cは、DCイントラ予測モードに対応し、従って、必ずしも実際の角度に関連付けられるとは限らない。残りのイントラ予測モード110は、図4の矢印102の角度と同様に、ある角度に関連付けられ得る。例えば、イントラ予測モード110Aの角度は矢印102Yに対応し、イントラ予測モード110Bの角度は矢印102Iに対応し、イントラ予測モード110Dの角度は矢印102AGに対応し、イントラ予測モード110Eの角度は矢印102Qに対応し、イントラ予測モード110Fの角度は矢印102Uに対応し、イントラ予測モード110Gの角度は矢印102Mに対応し、イントラ予測モード110Hの角度は矢印102ADに対応し、イントラ予測モード110Iの角度は矢印102Eに対応する。イントラ予測モード110のうちの1つに直接対応しない矢印102の角度は、イントラ予測モード110のうちの1つにマッピングされ得る。例えば、矢印102のうちの1つの角度に近いイントラ予測モード110のうちの1つの角度は、矢印102のうちのその1つがマッピングされる角度に対応し得る。イントラ予測モード110の各々は、例えば、1対1の対応で、特定の変換にマッピングされ得る。例えば、ビデオエンコーダ20又はビデオデコーダ30など、ビデオ符号化機器は、イントラ予測モード110CをDCTにマッピングし、他のイントラ予測モード110の各々を特定の方向性変換、例えば、KLTにマッピングする構成データを含み得る。従って、矢印102図4に関連付けられたイントラ予測モードの各々の角度は、イントラ予測モード110図5の角度にマッピングされ得る。イントラ予測モード110は、今度は、変換、例えば、方向性変換にマッピングされ得る。このようにして、矢印102図4に関連付けられたイントラ予測モードの各々の角度は方向性変換にマッピングされ得る。従って、ビデオエンコーダ20及びビデオデコーダ30は、TUに対応するPUのために選択されたイントラ予測モードに基づいてTUに適用すべき方向性変換を決定し得る。図6は、係数120A~120P係数120の例示的なジグザグ走査を示す概念図である。係数120は、概して、TUの画素の変換と量子化とから生じる量子化変換係数に対応する。ビデオエンコーダ20は、例えば、残差ブロックへのDCTの適用の後に、図6のジグザグ走査を使用して係数のブロックを走査するように構成され得る。この例では、ジグザグ走査は、係数120Aから開始し、次いで係数120Bに進み、次いで係数120Eに進み、次いで係数120Iに進み、次いで係数120Fに進み、次いで係数120Cに進み、次いで係数120Dに進み、次いで係数120Gに進み、次いで係数120Jに進み、次いで係数120Mに進み、次いで係数120Nに進み、次いで係数120Kに進み、次いで係数120Hに進み、次いで係数120Lに進み、次いで係数120Oに進み、最後に係数120Pに進む。この走査を実行することによって、画素の係数の2次元構成は、係数120の各々の値を含む1次元配列に変換され得る。これらの値は、配列中に走査順に構成され得る。例えば、係数120Aの値が配列中の最初にあり得、その後に係数120B、120E、120I、120Fなどの値が続き得る。他の変換のために他の予め定義された走査パターンも定義され得る。例えば、各方向性変換は、より高い周波数係数よりも、方向性変換から生じる低い周波数係数を早く配列中に配置するように設計された走査パターンに関連付けられ得る。方向性変換のうちの1つにより、より低い周波数係数が変換係数のブロックの左端の列に沿って生じ得、その場合、係数120Aから開始し、次いで係数120Eに進み、次いで係数120Iに進み、次いで係数120Mに進み、次いで120Bなどに進む、対応する走査が定義され得る。別の例として、方向性変換のうちの別の1つにより、より低い周波数係数が変換係数のブロックの最上行に沿って生じ得、その場合、係数120Aから開始し、次いで係数120Bに進み、次いで係数120Cに進み、次いで係数120Dに進み、次いで係数120Eなどに進む、対応する走査が定義され得る。幾つかの例では、ビデオエンコーダ20は、予め定義された走査ではなく、適応走査を実行するように構成され得る。適応走査は、特定の係数即ち、係数120に対応する係数が有効であるかどうかを示す統計値に基づいて時間とともに変化し得る。その上、ビデオエンコーダ20は、例えば、ブロックを予測するために選択されるイントラ予測モード、初期変換の後に適用すべき回転変換のインデックス、又は他のファクタに基づいて、統計値の別個のセットを計算し得る。幾つかの例では、ビデオエンコーダ20は、これらの統計値のための、高ダイナミックレンジテーブル及び動的更新走査テーブルという2つのテーブルを含み得る。走査されるべきブロックがN×N係数を有すると仮定すると、これらの2つのテーブルの各々もN×Nサイズを有し得る。高ダイナミックレンジテーブルは、各変換係数が非ゼロである確率を与える固定の予め決定されたテーブルであり得る。このテーブルはトレーニングデータのセットに基づいて計算され得る。その上、このテーブルは、適応走査順序の開始点を与えるために使用され得る。概して、高ダイナミックレンジテーブルはビットストリームに対して静的即ち、不変であり得る。変換係数について最近決定された統計値を反映するために、動的更新走査テーブルは時間とともに更新され得る。特に、ビデオエンコーダ20は、各係数が非ゼロである回数のカウントを保持し得る。即ち、変換ブロックごとに、ビデオエンコーダ20は、現在の変換ブロック中の非ゼロ係数に対応する動的更新走査テーブル中の値を増分し得る。例えば、係数120Eに対応する変換係数が非ゼロである場合、ビデオエンコーダ20は、係数120Eに対応する動的更新走査テーブル中の値に1を加算し得る。動的更新走査テーブル中の値はまた、値が最大値を超えるのを防ぐために周期的に正規化され得る。フレームの第1の変換ユニットに対して適応走査を実行するために、ビデオエンコーダ20は高ダイナミックレンジテーブルのみに基づいて走査し得る。ビデオエンコーダ20はまた、例えば、動的更新走査テーブル中の全ての値を0に設定することによって、動的更新走査テーブルを初期化し得る。変換ブロック中の非ゼロ係数ごとに、ビデオエンコーダ20は動的更新走査テーブル中の同一位置の値collocatedvalueに1を加算し得る。後続のブロックについて、ビデオエンコーダ20は、最初に動的更新走査テーブルを参照して変換係数のどれが非ゼロである可能性が最も高いかを決定し、次いで、係数が非ゼロである可能性の降順に走査し得る。場合によっては、動的更新走査テーブル中の2つ以上の値が等しくなり得る。そのような場合、量子化ユニット54は、次にどの係数を走査すべきかを決定するために高ダイナミックレンジテーブルを参照する。このようにして、量子化ユニット54は、高ダイナミックレンジテーブルと動的更新走査テーブルとの組合せに基づいて適応走査を実行し得る。高ダイナミックレンジテーブルは、幾つかの例では、全ての適応走査統計値に対して同じであり得る。従って、ビデオエンコーダ20は、例えば、選択されたイントラ予測モード、回転変換インデックス、又はそれらの組合せに固有の動的更新走査テーブルを含み得る。幾つかの例では、ビデオエンコーダ20は、回転変換が適用されないときは所定の静的走査の中から選択し、回転変換が適用されたときは適応走査を実行し、更に、選択されたイントラ予測モードと、選択された回転変換のインデックスとの一方又は両方に基づいて適応走査を実行するための統計値を選択するように構成され得る。代替的に、ビデオエンコーダ20は、回転変換のインデックス、イントラ予測モード、又はそれらの組合せに基づいて、予め定義された走査を選択するように構成され得る。ビデオデコーダ30は、ビデオエンコーダ20と同様に適切な走査を選択するように構成され得る。図7A及び図7Bは、例示的な4分木150と、対応する最大符号化ユニット172とを示す概念図である。図7Aは、階層式に構成されたノードを含む、例示的な4分木150を示している。4分木150など、4分木中の各ノードは、子をもたないリーフノードであるか、又は4つの子ノードを有し得る。図7Aの例では、4分木150はルートノード152を含む。ルートノード152は、リーフノード156A~156Cリーフノード156とノード154とを含む、4つの子ノードを有する。ノード154はリーフノードでないので、ノード154は、この例ではリーフノード158A~158Dリーフノード158である、4つの子ノードを含む。4分木150は、この例ではLCU172など、対応する最大符号化ユニットLCUの特性を記述するデータを含み得る。例えば、4分木150は、それの構造により、サブCUへのLCUの分割を記述し得る。LCU172は2N×2Nのサイズを有すると仮定する。LCU172は、この例では、4つのサブCU176A~176CサブCU176及び174を有し、各々はN×Nサイズである。サブCU174は更に4つのサブCU178A~178DサブCU178に分割され、各々はサイズN/2×N/2である。この例では、4分木150の構造はLCU172の分割に対応する。即ち、ルートノード152はLCU172に対応し、リーフノード156はサブCU176に対応し、ノード154はサブCU174に対応し、リーフノード158はサブCU178に対応する。4分木150のノードのデータは、ノードに対応するCUが分割されるかどうかを記述し得る。CUが分割される場合、4分木150中に4つの追加のノードが存在し得る。幾つかの例では、4分木のノードは以下の擬似コードと同様に実装され得る。split_flag値は、現在のノードに対応するCUが分割されるかどうかを表す1ビット値であり得る。CUが分割されない場合、split_flag値は0であり得るが、CUが分割される場合、split_flag値は1であり得る。4分木150の例に関して、分割フラグ値の配列は101000000であり得る。幾つかの例では、サブCU176及びサブCU178の各々は、同じイントラ予測モードを使用してイントラ予測符号化され得る。従って、ビデオエンコーダ20は、ルートノード152においてイントラ予測モードの指示を与え得る。その上、サブCUの幾つかのサイズは、特定のイントラ予測モードのために複数の可能な変換を有し得る。本開示の技術によれば、ビデオエンコーダ20は、ルートノード152においてそのようなサブCUのために使用すべき変換の指示を与え得る。例えば、サイズN/2×N/2のサブCUでは複数の可能な変換が利用可能であり得る。ビデオエンコーダ20は、ルートノード152において使用すべき変換を信号伝達し得る。従って、ビデオデコーダ30は、ルートノード152において信号伝達されたイントラ予測モードと、ルートノード152において信号伝達された変換とに基づいてサブCU178に適用すべき変換を決定し得る。従って、ビデオエンコーダ20は、本開示の技術によれば、リーフノード156及びリーフノード158においてサブCU176及びサブCU178に適用すべき変換を信号伝達する必要はないが、代わりに、単に、ルートノード152において、イントラ予測モードと、幾つかの例では、幾つかのサイズのサブCUに適用すべき変換とを信号伝達し得る。このようにして、これらの技術は、LCU172など、LCUのサブCUごとに変換機能を信号伝達するオーバーヘッドコストを低減し得る。幾つかの例では、サブCU176及び/又はサブCU178のイントラ予測モードは、LCU172のイントラ予測モードとは異なり得る。ビデオエンコーダ20及びビデオデコーダ30は、ルートノード152において信号伝達されるイントラ予測モードを、サブCU176及び/又はサブCU178のために利用可能なイントラ予測モードにマッピングする機能を用いて構成され得る。この機能は、LCU172のために利用可能なイントラ予測モードの、サブCU176及び/又はサブCU178のイントラ予測モードへの多対1のマッピングを与え得る。図7AではCU4分木の一例を示したが、同様の4分木がリーフノードCUのTUに適用され得ることを理解されたい。即ち、リーフノードCUは、CUのためのTUの区分を記述するTU4分木を含み得る。TU4分木は、TU4分木がCUのTUのイントラ予測モードを個々に信号伝達し得ることを除いて、概してCU4分木に似ていることがある。図8は、ブロックのために選択されたイントラ予測モードに基づいてブロックに適用すべき変換及び走査を選択するための例示的な方法を示すフローチャートである。説明のためにビデオエンコーダ20図2の構成要素によって実行されるものとして一般的に説明するが、プロセッサ、処理ユニット、エンコーダ/デコーダコーデックなどのハードウェアベースの符号化ユニットなど、他のビデオ符号化ユニットも図8の方法を実行するように構成され得ることを理解されたい。図8の例では、変換ユニット52は、初めに、現在のTUの残差データを受信する180。更に、変換ユニット52はまた、TUのために選択されたイントラ予測モードの指示を受信し得る。この指示から、変換ユニット52はTUについての予測方向を決定する182。例えば、変換ユニット52は、指示されたイントラ予測モードについての予測方向の角度を決定し得る。いずれの場合も、イントラ予測モードを決定した後に、変換ユニット52は、イントラ予測モードから変換へのマッピングに基づいて残差データに適用すべき変換を選択する186。例えば、変換ユニット52は、イントラ予測方向とマッピングデータ66を照会することによって適用すべき変換を選択し、イントラ予測方向がマッピングされる変換を決定し得る。変換は、離散コサイン変換、又はモード依存方向性変換MDDTなどの方向性変換に対応し得る。変換ユニット52は、次いで、選択された変換を残差データに適用して残差データを変換する188。幾つかの例では、変換ユニット52が、第1の変換の後に、回転変換など、2つ以上の変換を適用すべきであるという指示をマッピングデータ66は更に含み得、その場合、変換ユニット52は指示された回転変換を更に適用し得る。残差データを変換することによって、変換ユニット52は、残差データと係数の同じ数を有する変換係数の2次元行列を生成し得る。図8の例では、量子化ユニット54は、次いで、変換係数を量子化する190。幾つかの例では、量子化ユニット54は、例えば、係数を量子化する前又は後に、係数の2次元行列を走査して1次元配列を生成し得る。代替的に、エントロピー符号化ユニット56が2次元行列を走査し得る。この例では、エントロピー符号化ユニット56は、マッピングデータ66を照会して、量子化変換係数に適用すべき走査を選択する192。幾つかの例では、マッピングデータ66は、イントラ予測モードを特定の予め定義された走査パターンにマッピングするデータを含み得る。幾つかの例では、マッピングデータ66は、変換を予め定義された走査パターンにマッピングするデータを含み得る。例えば、回転変換が変換係数に適用されるべきであることをマッピングデータ66が示す、幾つかの例では、マッピングデータ66は、適応走査が実行されるべきであるか、又は回転変換がマッピングされた予め定義された走査が実行されるべきであるかを更に指示し得る。適応走査が実行される例では、マッピングデータ66は、走査統計値、例えば、イントラ予測モードにマッピングされた高ダイナミックレンジテーブル及び動的更新走査テーブル、第1の変換のインデックス、回転変換のインデックス、それらの組合せ、及び/又は他のファクタを更に含み得る。エントロピー符号化ユニット56は、次いで、選択された走査、例えば、予め定義された走査、又は選択された走査統計値に基づく適応走査を使用して量子化変換係数を走査する194。幾つかの例では、エントロピー符号化ユニット56は、変換係数の数よりも少ないか又はそれに等しいことがある走査位置を用いて構成され得、その後、エントロピー符号化ユニット56は配列中の係数値をゼロ設定し得る。走査位置に等しい幾つかの係数を走査した後に、エントロピー符号化ユニット56は残りの配列値を0に等しく設定し得る。幾つかの例では、変換係数をゼロ設定することは走査の前又は後に行われ得る。幾つかの例では、エントロピー符号化ユニット56は、次いで、走査の後に、配列中の走査された係数をエントロピー符号化する196。代替的に、幾つかの例では、エントロピー符号化ユニット56は、係数が走査されるときにそれらの係数をエントロピー符号化し得る。いずれの場合も、エントロピー符号化ユニット56は、係数をエントロピー符号化するためにCABAC又はCAVLCのいずれかを利用し得る。CABACを使用するとき、及び適応走査を実行するとき、エントロピー符号化ユニット56は、有効係数フラグと最終係数フラグとを含むシンタックス要素をエントロピー符号化し得る。エントロピー符号化ユニット56は、ブロックタイプイントラ又はインター、選択されたイントラ予測モードブロックがイントラモードで予測されると仮定する、及び/又は適用される変換のタイプ例えば、DCTもしくは方向性/KLTに基づいて有効係数フラグをエントロピー符号化するためのコンテキストモデルを選択し得る。エントロピー符号化ユニット56は、適応走査の順序インデックス、ブロックタイプ、空間的予測方向、及び/又は選択された変換に基づいて最終係数フラグをエントロピー符号化するためのコンテキストモデルを選択し得る。このように、図8の方法は、イントラ予測モードを使用して形成された予測ブロックに基づいてビデオデータのブロックの残差ブロックを計算することと、イントラ予測モードにマッピングされた変換を使用してその残差ブロックを変換することとを含む方法の一例を表す。図9は、残差データのブロックに適用すべき変換及び走査を選択するための別の例示的な方法を示すフローチャートである。概して、図9は実質的に図8に準拠する。但し、図9の例では、残差データと、TUのために選択されたイントラ予測モードの指示とを受信した後に180、変換ユニット52は、TUを予測するための第1の予測方向を決定する183。例えば、変換ユニット52は、指示されたイントラ予測モードについての予測方向の角度を決定し得る。変換ユニット52は、次いで、第1の予測方向にマッピングされた第2の方向を決定する184。例えば、変換ユニット52は、マッピングデータ66を照会して、第1のイントラ予測モードがマッピングされる第2のイントラ予測モードを決定し得る。幾つかの例では、変換ユニット52は、指示されたイントラ予測モードの角度に近い角度を決定し、その決定された角度に対応する第2のイントラ予測モードを選択し得る。変換ユニット52は、次いで、第2の予測データにマッピングされた変換を選択する185。複数の変換を選択することに対応し得る、変換を選択した後に、ビデオエンコーダ20は、概して、図8に関して説明した対応するステップと同様の方法で図9の残りのステップを実行する。このように、図9の方法は、ビデオデータのブロックのためのイントラ予測モードの第1のセット中の第1のイントラ予測モードの指示を受信することと、イントラ予測モードのより小さいセットから、第1のイントラ予測モードがマッピングされる第2のイントラ予測モードを決定することと、第2のイントラ予測モードがマッピングされる方向性変換を決定することと、ブロックの残差データに方向性変換を適用することとを含む方法の一例である。図10は、特定のサイズのサブCUにイントラ予測モード及び変換を適用するための例示的な方法を示すフローチャートである。説明のためにビデオエンコーダ20図2の構成要素によって実行されるものとして一般的に説明するが、プロセッサ、処理ユニット、エンコーダ/デコーダコーデックなどのハードウェアベースの符号化ユニットなど、他のビデオ符号化ユニットも図10の方法を実行するように構成され得ることを理解されたい。また、他の例では、同様の方法は、説明する技術から逸脱することなく、図10に示すステップに対する追加又は代替のステップを含むか、或いは異なる順序で図示のステップを実行し得ることを理解されたい。図10に関して説明するように変換を選択し、適用するための技術は、図8のステップ186及び188に対応し得る。図10に関して説明するように様々なサイズのブロックに様々なイントラ予測モードを適用するための技術は、図8のステップ180より前に実行され得る。イントラ予測ユニット46は、画素のブロック、例えば、LCUを受信する200。イントラ予測ユニット46は、次いで、LCUに適用すべきイントラ予測モードを決定し、例えば、LCUに対応する4分木データ構造のルートノードにおいて、LCUについて決定されたイントラ予測モードを信号伝達する201。イントラ予測ユニット46は、次いで、イントラ予測モードのサブセットのみが利用可能であるサブCUのサイズを決定する202。イントラ予測ユニット46は更に、LCUを1つ以上のサブCUに区分し、イントラ予測モードのサブセットのみが利用可能であるサイズをサブCUのいずれかが有するかどうかを決定する204。イントラ予測モードのサブセットのみが利用可能であるサイズのサブCUをLCUが含む場合184のYES分岐、イントラ予測ユニット46は、LCUのために選択されたイントラ予測モードがマッピングされるイントラ予測モードを使用してそれらのサブCUをイントラ予測する206。一方、そのようなサイズであるサブCUをLCUが含まない場合184のNO分岐、イントラ予測ユニット46は、LCUのために信号伝達されたモードをLCUの全てのサブブロックに適用する208。ビデオエンコーダ20は、次いで、LCUのサブCUの残差値を計算し得る。次いで、変換ユニット52は、LCUのための信号伝達されたイントラ予測モードに基づいて、複数の変換が可能であるサブCUサイズを決定する210。変換ユニット52は更に、LCUのサブCUのいずれかが、複数の変換が可能であるサイズであるかどうかを決定する212。少なくとも1つのサブCUが、複数の変換が可能であるサイズである場合192のYES分岐、変換ユニット52は、そのサイズのサブCUのために適用すべき変換を選択し、信号伝達する214。例えば、変換ユニット52は、LCUの4分木のルートノードにおいてそのサイズのサブCUに適用すべき変換を信号伝達し得る。変換ユニット52はまた、信号伝達された変換を、そのサイズのLCU中の全てのサブブロックに適用する216。一方、複数の変換が可能であるサブCUをLCUが含んでいない場合192のNO分岐、変換ユニット52は、LCUのための信号伝達されたイントラ予測モードに純粋に基づいて変換をLCUのサブCUに適用し218、従って、変換に関する信号伝達は不要である。このように、図10の方法は、ビデオデータのブロックを符号化するために使用すべきイントラ予測モードを選択することと、複数の変換が可能であるサイズのサブブロックをブロックが含むかどうかを、サブブロックのサイズと選択されたイントラ予測モードとに基づいて決定することと、サブブロックのサイズと選択されたイントラ予測モードとに基づいて、複数の変換が可能であるサイズのサブブロックをブロックが含むとき、複数の可能な変換のうちの1つを選択することと、複数の可能な変換のうちの選択された1つを使用してサブブロックを変換することと、ブロックのサイズについての複数の可能な変換のうちの選択された1つの指示を与えることとを含む方法の一例である。図11は、ブロックに適用される選択された変換に基づいて適応走査を実行するための例示的な方法を示すフローチャートである。説明のためにビデオエンコーダ20図2の構成要素によって実行されるものとして一般的に説明するが、プロセッサ、処理ユニット、エンコーダ/デコーダコーデックなどのハードウェアベースの符号化ユニットなど、他のビデオ符号化ユニットも図11の方法を実行するように構成され得ることを理解されたい。また、他の例では、同様の方法は、説明する技術から逸脱することなく、図11に示すステップに対する追加又は代替のステップを含むか、或いは異なる順序で図示のステップを実行し得ることを理解されたい。図11に示す、カスケード変換の後に係数を適応的に走査するための技術は、図8のステップ192及び194に対応し得る。図11の残差係数を適応的に走査するための技術は、イントラ予測又はインター予測の後に残差データに適用され得る。初めに、ビデオエンコーダ20の変換ユニット52が残差ブロックを受信する230。残差ブロックは、CUのイントラ予測又はインター予測後の残差に対応し得る。残差ブロックは、CUの対応する予測ユニットと同じサイズであるか又は異なるサイズであり得る。変換ユニット52は、次いで、残差ブロックを変換する232。幾つかの例では、変換ユニット52は、本開示の技術によれば、イントラ予測モードのサブセットからのイントラ予測モードに対応する方向性変換を適用し得る。他の例では、変換ユニット52は離散コサイン変換を適用し得る。変換ユニット52は、次いで、変換されたブロックに回転変換を適用する234。変換ユニット52がDCTを適用する8×8及びそれより大きいサイズの変換ユニットTUの場合、変換ユニット52は、最低周波数8×8DCT係数に回転変換を適用し得る。8×8よりも小さいTUの場合、変換ユニット52は、TU全体に回転変換を適用し得る。TUに対応するPUがイントラ予測符号化された場合、変換ユニット52は、例えば、イントラ予測モードのサブセットが回転変換にマッピングされ得る、PUを予測するために使用されるイントラ予測モードに基づいて回転変換を選択し得る。これらの回転変換はモード依存回転変換MDROTと呼ばれることがある。幾つかの例では、変換ユニット52は、KLTであり得る、モード依存方向性変換MDDTの後に、回転変換又は他の2次分離可能変換をカスケードし得る。回転変換の後に、量子化ユニット54は、幾つかの例では、変換係数を量子化し得る。次いで、エントロピー符号化ユニット56は、変換係数の適応走査を実行するために使用すべき統計値のセットを選択し得る。統計値のセットは、高ダイナミックレンジHDR:highdynamicrangeテーブルと、動的更新DU:dynamicallyupdatingテーブルとを含み得る。HDRテーブル及びDUテーブルの一方又は両方は、特定のシナリオ、例えば、PUを予測するためにイントラ予測が使用されたかインター予測が使用されたか、イントラ予測が使用されたときのPUのための特定のイントラ予測モード、PUに対応するTUにDCTが適用されたかKLTが適用されたか、使用される回転変換のインデックス、又はそれらの任意の組合せについて選択され得る。このようにして、エントロピー符号化ユニット56は、適応走査中に使用するためのHDR及び/又はDUテーブルを選択する236。上記で説明したように、HDRテーブルは、行列中の各位置の係数が非ゼロである確率を示すデータの予め定義されたセットを含み得る。HDRテーブルは、トレーニングデータのセットを使用して生成され得、ビットストリーム全体にわたって同じままであり得る。エントロピー符号化ユニット56は、DUテーブルの値を計算するために、ビデオデータのフレーム、スライス、ピクチャグループ、又は他のユニットに固有の統計値を収集し得る。DUテーブルも、従って、行列中の各位置の係数が非ゼロである確率を示し得る。適応走査を実行するために、エントロピー符号化ユニット56は、最初に、DUテーブルを使用して、非ゼロ係数を含む確率が最も高い行列中の位置を決定する238。場合によっては、非ゼロ係数を有する確率が等しい行列中の2つ以上の位置があり得る。従って、エントロピー符号化ユニット56は、非ゼロ係数を含む確率が同じである行列中の複数の位置があるかどうかを決定する240。非ゼロ係数を含む確率が同じである行列中の複数の位置がある場合240のYES分岐、エントロピー符号化ユニット56は、HDRテーブルを使用して、非ゼロ係数を含む確率が最も高い行列中の位置を決定する242。エントロピー符号化ユニット56は、次いで、決定された位置における係数を走査し、エントロピー符号化する244。エントロピー符号化ユニット56はまた、走査された係数が事実上非ゼロであったかどうかを決定し、走査された係数が非ゼロであった、従って有効であったかどうかを示すように有効係数フラグの値を設定し得る。エントロピー符号化ユニット56は、次いで、行列中の全ての係数が走査されたかどうかを決定する246。行列中の全ての係数が走査されているわけではない場合246のNO分岐、エントロピー符号化ユニット56は、DUテーブル又は場合によってはHDRテーブルを使用して、非ゼロ係数を含む確率が次に高い行列中の位置を決定し、この位置における係数を走査し得る。全ての係数が走査された後に246のYES分岐、エントロピー符号化ユニットは走査を停止し得る。その上、幾つかの例では、エントロピー符号化ユニット56は、対応する係数がフラグの最終係数であるかどうかを示すように係数ごとに最終係数フラグの値を設定し得る。全ての係数が走査されたと決定した後に246のYES分岐、エントロピー符号化ユニット56は、最後に走査された係数に対応する最終係数フラグの値を1に等しく設定し得る。以下で説明するように図12の技術を使用して、エントロピー符号化ユニット56は、有効係数フラグと最終係数フラグとを含むシンタックス要素を符号化し得る。幾つかの例では、適応であるか固定であるかにかかわらず走査の後に、ビデオエンコーダ20は、走査によって生成された配列中の係数、例えば、配列中の位置Nの後にある全ての係数をゼロ設定し得、但し、Nは0と配列の長さとの間の整数である。他の例では、ビデオエンコーダ20は、1つ以上の変換或いは量子化の後に行列の幾つかの位置における係数をゼロ設定し得る。これらの位置は、例えば、行列の左上隅に対応し得る。概して、これらの係数をゼロ設定するとより高い周波数係数がゼロ設定され得、それにより、品質に多くの影響を及ぼすことなしに符号化効率が改善され得る。このように、図11の方法は、変換係数の中間の2次元ブロックを生成するために第1の変換を使用してビデオデータのブロックの残差データを変換することと、変換係数の2次元ブロックを生成するために回転変換を使用して変換係数の中間の2次元ブロックを変換することと、第1の変換及び回転変換のうちの少なくとも1つに関連付けられた統計値のセットを選択することであって、統計値のセットは、変換係数の2次元ブロック中の位置が非ゼロになる可能性を与える、選択することと、統計値の選択されたセットに基づいて変換係数の2次元ブロックを適応的に走査することとを含む方法の一例である。図12は、適応的に走査される係数を記述するシンタックス要素を走査し、エントロピー符号化するときに使用すべきコンテキストモデルを選択するための例示的な方法を示すフローチャートである。説明のためにビデオエンコーダ20図2の構成要素によって実行されるものとして一般的に説明するが、プロセッサ、処理ユニット、エンコーダ/デコーダコーデックなどのハードウェアベースの符号化ユニットなど、他のビデオ符号化ユニットも図12の方法を実行するように構成され得ることを理解されたい。また、他の例では、同様の方法は、説明する技術から逸脱することなく、図12に示すステップに対する追加又は代替のステップを含むか、或いは異なる順序で図示のステップを実行し得ることを理解されたい。図11に示すように適応的に走査される係数を記述するシンタックス要素を走査し、エントロピー符号化するときに使用すべきコンテキストモデルを選択するための技術は、図8のステップ192~196に対応し得る。図12の技術は、図11の適応走査が実行されるより前に、その間に、又はその後に実行され得る。エントロピー符号化ユニット56は、例えば、量子化ユニット54から、量子化変換係数の行列を受信する250。概して、図12の例示的な方法を使用して、エントロピー符号化ユニット56は、受信された係数を記述するシンタックス要素を符号化し得る。シンタックス要素は、係数ごとに、有効係数フラグと最終係数フラグとを含み得る。有効係数フラグは、対応する係数が有効であるかどうか、例えば、対応する係数の値が0よりも大きいかどうかを示し得る。最終係数フラグは、対応する係数が適応走査の最終係数であるかどうかを示し得る。エントロピー符号化ユニット56は、受信された行列中の有効係数の位置を決定し得る。エントロピー符号化ユニット56は、受信された行列中の有効係数の位置を示すシンタックス要素を形成する252。例えば、行列中の係数ごとに、エントロピー符号化ユニット56は、係数が0よりも大きいかどうかを決定し、係数が0よりも大きい場合は、係数と同一位置に配置されたシンタックス要素行列中の値を1に等しく設定し得、他の場合、エントロピー符号化ユニットは、係数と同一位置に配置された値を0に等しく設定し得る。エントロピー符号化ユニット56は、次いで、シンタックス要素行列を使用して動的更新走査テーブルを更新する254。例えば、エントロピー符号化ユニット56は、動的更新走査テーブル中の各要素の現在値に、シンタックス要素行列中の同一位置配置シンタックス要素の値を追加し得る。エントロピー符号化ユニット56は、次いで、シンタックス要素行列中のシンタックス要素のうちの第1のシンタックス要素を走査する256。エントロピー符号化ユニット56は、図6Aに示す走査などのジグザグ走査、或いはブロックタイプインター予測又はイントラ予測されたブロック、ブロックがイントラ予測符号化されたブロックである場合は空間的予測方向、及び/又は使用される変換のタイプ例えば、DCT又は方向性変換に基づいて選択された走査を適用し得る。次に、エントロピー符号化ユニット56は、走査されたシンタックス要素を符号化するためのコンテキストモデルを選択する258。概して、コンテキストモデルは、前に走査されたN個の係数中の有効な例えば、非ゼロである係数の数に基づいて選択され得、但し、Nは非ゼロ整数値である。Nはブロックのサイズに基づいて選択され得る。現在のシンタックス要素を符号化するために使用すべきコンテキストモデルを選択した後に、エントロピー符号化ユニット56は、選択されたコンテキストモデルを使用して、走査されたシンタックス要素をエントロピー符号化する260。エントロピー符号化ユニット56は、次いで、符号化されたシンタックス要素が、符号化されるべき最後のシンタックス要素であるかどうかを決定する262。シンタックス要素が最後のシンタックス要素である場合262のYES分岐、エントロピー符号化ユニット56は係数を走査するのを停止し得る。一方、シンタックス要素が最後のシンタックス要素でない場合262のNO分岐、エントロピー符号化ユニット56は、次のシンタックス要素を走査し264、例えば、前に走査されたN個の係数中の有効係数の数に基づいて、走査されたシンタックス要素を符号化するためのコンテキストモデルを再び選択し得る。図12の例は、主に、特定の係数が有効であるか否かを記述するシンタックス要素に関して説明した。これらのシンタックス要素は、例えば、有効係数フラグ、例えば、対応する係数が有効であるか、例えば、非ゼロであるかどうかを示す1ビットフラグを含み得る。特定の係数が適応走査における最終係数であるかどうかを記述するシンタックス要素に関して同様の技術が適用され得ることを理解されたい。例えば、同様の技術は最終係数フラグに適用され得る。CABACを使用して最終係数フラグを符号化するとき、コンテキストモデルは、ブロックタイプ、空間的予測方向、及び/又は選択された変換に基づく適応走査における順序インデックスに基づき得る。図12の技術は、ビデオエンコーダ20などのビデオ符号化機器によって実行され得る。ビデオデコーダは、図12に従って符号化されたシンタックス要素を使用して逆走査を実行し得る。例えば、ビデオデコーダ30は、符号化されたブロックを予測するために使用されるイントラ予測モードの指示、その符号化されたブロックを変換するために使用される回転変換の指示、又は他のそのようなデータを受信し得る。ビデオエンコーダ20及びビデオデコーダ30は、それぞれ同じ高ダイナミックレンジテーブルを用いて構成され得る。ビデオエンコーダ20が複数の高ダイナミックレンジテーブルを含む例では、ビデオエンコーダ20及びビデオデコーダ30は、それぞれ高ダイナミックレンジテーブルの同じセットを用いて構成され得る。そのような例では、ビデオデコーダ30は、ビデオエンコーダ20によって適応走査を実行するために使用された高ダイナミックレンジテーブルと同じ高ダイナミックレンジテーブルを選択するために、受信された情報を使用し得る。上記のように、ビデオエンコーダ20は、行列中の特定の位置における係数が非ゼロである可能性又は確率を示す統計値に基づいて適応走査を実行し得る。ビデオエンコーダ20は、この可能性を示す動的更新走査テーブルを維持し、走査されたブロックごとに動的更新走査テーブルを更新し得る。あるブロックの係数のうちのどれが有効であり、どの係数が適応走査における最終係数であるかを示すシンタックス要素を符号化することによって、ビデオエンコーダ20は、受信係数を逆走査するために使用され得る情報をビデオデコーダ30に提供し得る。例えば、ビデオデコーダ30は、シンタックス要素を復号し、次いで、シンタックス要素を使用して動的更新走査テーブルのローカルバージョンを更新し得る。ビデオデコーダ30は、次いで、符号化された係数をエントロピー復号し、有効である例えば、非ゼロである確率が次に高い行列の対応する位置にその復号された係数を配置し得る。このようにして、ビデオデコーダ30は、適応逆走査を使用してエントロピー符号化された係数の受信されたベクトルから量子化変換係数の行列を再構成し得る。このように、図12の方法は、変換係数の1次元ベクトルを生成するために変換係数の2次元ブロックを走査することと、1次元ベクトル中の変換係数が有効であるかどうかを示す値を決定することと、少なくとも、上記値のうちの少なくとも1つの前に符号化された上記値の所定数中の有効係数の割合に基づいて選択されたコンテキストモデルを使用して上記値のうちの少なくとも1つをエントロピー符号化することとを含む方法の一例である。図13は、本開示の技術のうちの1つ以上を使用して符号化されたTUを復号するための例示的な方法を示すフローチャートである。説明のためにビデオデコーダ30図3の構成要素によって実行されるものとして一般的に説明するが、プロセッサ、処理ユニット、エンコーダ/デコーダコーデックなどのハードウェアベースの符号化ユニットなど、他のビデオ復号ユニットも図13の方法を実行するように構成され得ることを理解されたい。また、他の例では、同様の方法は、説明する技術から逸脱することなく、図13に示すステップに対する追加又は代替のステップを含むか、或いは異なる順序で図示のステップを実行し得ることを理解されたい。初めに、ビデオデコーダ30は、符号化された残差データを受信する300。図13の例では、残差データは、説明のために、イントラ予測モードで予測される1つ以上のPUを含むCUの残差に対応する。本開示の技術によれば、ビデオデコーダ30は、受信された残差データに関連付けられた予測データについての第1の予測方向を決定する302。予測方向は、CUに対応する4分木のルートにおいて信号伝達されるイントラ予測モードに対応し得る。ビデオデコーダ30は、第1の予測方向にマッピングされた第2の予測方向を決定する304。例えば、マッピングデータ84は、イントラ予測モードのセットの、イントラ予測モードのより小さいセット、例えば、サブセットへの多対1のマッピングを与え得る。従って、ビデオデコーダ30は、マッピングデータ84を参照して、第1の予測方向にマッピングされた第2の予測方向を決定し得る。ビデオデコーダ30のエントロピー復号ユニット70は、次いで、受信された係数をエントロピー復号することを開始する306。エントロピー復号ユニット70はまた、エントロピー復号中に又はその後に係数を逆走査する308。幾つかの例では、エントロピー復号ユニット70は、例えば、マッピングデータ84によって示される、第2の予測方向がマッピングされる固定走査を逆にし得る。他の例では、例えば、第1の変換が回転変換によってカスケードされたとき、エントロピー復号ユニット70は動的走査を逆にし得る。上記で説明したように、エントロピー復号ユニット70は、そのような例では、ビデオエンコーダ20などのエンコーダが残差データを適応的に走査したとき、エンコーダによって使用された動的更新テーブルと同じ動的更新テーブルをエントロピー復号ユニット70が生成することができるように、有効係数フラグ及び最終係数フラグなどのシンタックス要素を受信し、復号し得る。いずれの場合も、逆走査の後に、エントロピー復号ユニット70は、量子化変換係数を含む2次元行列を生成し得る。従って、逆量子化ユニット76は、その行列の量子化変換係数を逆量子化する310。逆変換ユニット78は、第2の予測方向にマッピングされた逆変換を選択し312、その選択された逆変換を使用して変換係数を逆変換する314。例えば、逆変換ユニット76は、マッピングデータ84を参照して逆変換を選択し得る。幾つかの例では、マッピングデータ84は、適用すべき逆回転変換と別の逆変換の両方を示し得、その場合、逆変換ユニット78は、変換係数に対して最初に逆回転変換を適用し、次いで他方の逆変換を適用し得る。本開示の技術によれば、幾つかの例では、複数の逆変換が可能である変換係数のサブブロックがあり得る。そのような例では、ビデオデコーダ30は、ビデオエンコーダによって適用された変換の指示を使用して適用すべき逆変換を決定し得る。例えば、ビデオデコーダ30は、残差データを含むブロックに対応する4分木のルートノードにおけるサブブロックのために使用される変換の指示を受信し得る。1つ以上の逆変換を適用した後に、ビデオデコーダ30は、ビデオデータの符号化中にビデオエンコーダ20によって計算された残差ブロックと同様の残差ブロックを取得する。イントラ予測ユニット74は、残差データについての予測ユニットを加算器80に供給し、加算器80は、予測ユニットと残差データとを合成して、復号されたCUを生成する316。ビデオデコーダ30は、復号されたCUを含む復号されたフレームを参照フレームストア82中に集合させ得る。復号されたフレームは、次いで、表示のためにレンダリングされ得、及び/又は他のフレームを復号するときの参照のために使用され得る。このように、図13の方法は、符号化されたビデオデータのブロックのためのイントラ予測モードの第1のセット中の第1のイントラ予測モードの指示を受信することと、イントラ予測モードのより小さいセットから、第1のイントラ予測モードがマッピングされる第2のイントラ予測モードを決定することと、第2のイントラ予測モードがマッピングされる逆方向性変換を決定することと、ブロックの変換された残差データに逆方向性変換を適用することとを含む方法の一例である。図13の方法はまた、ビデオデータのブロックを復号するために使用すべきイントラ予測モードの第1の指示を受信することと、複数の変換が可能であるサイズのサブブロックをブロックが含むかどうかを、サブブロックのサイズと指示されたイントラ予測モードとに基づいて決定することと、サブブロックのサイズと指示されたイントラ予測モードとに基づいて、複数の逆変換が可能であるサイズのサブブロックをブロックが含むとき、複数の可能な逆変換のうちの1つの第2の指示を受信することと、複数の可能な逆変換のうちの指示された1つを使用してサブブロックを逆変換することとを含む方法の一例である。図13の方法はまた、変換係数の2次元ブロックを生成するために第1の変換と回転変換の両方を使用してビデオデータのブロックの残差データが変換されたという指示を受信することと、第1の変換及び回転変換のうちの少なくとも1つに関連付けられ、変換係数の2次元ブロック中の位置が非ゼロになる可能性を与える統計値のセットを選択することと、ブロックのための変換係数の2次元行列を生成するために、統計値の選択されたセットに基づいてブロックの残差データの符号化バージョンを含む受信された1次元ベクトルを適応的に逆走査することとを含む方法の一例である。図13の方法はまた、符号化された変換係数の受信された1次元ベクトル中の符号化された変換係数が有効であるかどうかを示す値を受信することと、少なくとも、上記値のうちの少なくとも1つの前に復号された上記値の所定数中の有効係数の割合に基づいて選択されたコンテキストモデルを使用して上記値のうちの少なくとも1つをエントロピー復号することと、変換係数の2次元ブロックを生成するために1次元ベクトルを逆走査することとを含む方法の一例である。図14は、DCイントラ予測モードが信号伝達されるエッジを含むイントラ符号化ブロックに適用すべき変換を選択するための例示的な方法を示すフローチャートである。図3のビデオデコーダ30に関して説明するが、図2のビデオエンコーダ20、又は他のビデオ符号化機器によって同様の逆の技術が適用され得ることを理解されたい。ビデオエンコーダ30は、イントラ符号化ブロック、例えば、TUを受信する180。このブロックは、TU4分木中のノードに対応する変換係数のブロックを備え得る。TU4分木ノードは、そのブロックの予測値を計算するために適用されるべきイントラ予測モードの指示を含み得る。従って、ビデオデコーダ30は、予測モードと、そのブロックについてDC予測モードが信号伝達されたかどうかとを決定する352。ブロックについてDC予測モードが信号伝達された場合352のYES分岐、ビデオデコーダ30は更に、ブロック中にエッジが存在するかどうかを決定する354。例えば、上記で説明したように、ビデオデコーダ30は、前に符号化されたブロック中にエッジが検出されるかどうか、及びそのエッジが前に符号化されたブロックと現在のブロックとの間の境界と交差するかどうかを決定するために、隣接する、前に符号化されたブロックを検査し得る。ブロック中にエッジが存在すると決定された場合354のYES分岐、ビデオデコーダ30はエッジベース予測モードを使用してブロックの予測値を計算する356。更に、ビデオデコーダ30は、エッジの角度を決定し358、そのエッジの角度に極めて近い角度をもつイントラモードを決定する360。例えば、ビデオデコーダ30は、可能なイントラ予測モードのうちの1つ以上の角度と、そのエッジの角度との間の差を計算し、差が最も低いイントラ予測モードを選択し得る。とはいえ、この例では、ビデオデコーダ30は、概してエッジベース予測モードを使用してブロックの値を予測するので、この予測モードを決定することは、概して、その予測モードにマッピングされた変換を決定するためにのみ実行される。即ち、ビデオデコーダ30は、次いで、決定されたイントラ予測モード、即ち、エッジの角度に極めて近い角度を有するイントラ予測モードにマッピングされた変換を選択する362。ビデオデコーダ30は、次いで、選択された変換を使用してブロックを変換する364。一方、ブロックについてDC予測モードが信号伝達されなかった場合352のNO分岐、ビデオデコーダ30は、信号伝達されたモードを使用してブロックを予測する353。DC予測モードが信号伝達されたときにブロック中にエッジが存在しないと決定された場合354のNO分岐、ビデオデコーダ30は、信号伝達されたようにDC予測モードを使用してブロックを予測する366。ビデオデコーダ30はまた、予測モードにマッピングされた例えば、信号伝達されたDC又は方向性変換、又は幾つかの例ではDCTなどのデフォルト変換を選択する368。ビデオデコーダ30はまた、この場合、選択された変換を使用してブロックを変換する364。この例ではブロックを逆変換することに対応する、ブロックを変換した後に、ビデオデコーダ30は空間領域中の残差値のブロックを再生する。ブロックを復号するために、ビデオデコーダ30は、その残差値のブロックをステップ353、356、又は366から得られる予測ブロックに加算し得る。残差値を予測値に加算するこのステップは、簡潔のために図14に示されていないが、ステップ364の後に実行され得る。このように、図14の方法は、ビデオデータのブロックのイントラ予測モードがDCイントラ予測モードであることを示す情報を受信することと、ブロックについてのDCイントラ予測モードの指示に基づいてビデオデータのブロック中のエッジの角度を決定することと、そのエッジの角度に近い角度を有する方向性イントラ予測モードにマッピングされた方向性逆変換を使用してブロックを逆変換することと、逆変換されたブロックを復号することとを含む方法の一例である。上記のように、同様の方法は、例えば、ビデオエンコーダ20によって実行され得る。そのような方法は、イントラ予測符号化されるべきブロックがブロック内にエッジを含んでいると決定することと、エッジ指向イントラ予測モードを使用して計算された予測値に基づいてブロックの残差ブロックを計算することと、エッジの角度に近い角度を有する方向性イントラ予測モードにマッピングされた方向性変換を使用して残差ブロックを変換することと、変換された残差ブロックを表す情報と、ブロックがDCイントラ予測モードを使用して予測されたことを示す情報とを出力することとを含み得る。1つ以上の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つ以上の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、或いはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルに従ってある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体又は通信媒体など、有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、1非一時的である有形コンピュータ可読記憶媒体、或いは2信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技術の実装のための命令、コード及び/又はデータ構造を取り出すために1つ以上のコンピュータ或いは1つ以上のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROM又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気ストレージ機器、フラッシュメモリ、或いは命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。更に、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線DSL、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスクdisk及びディスクdiscは、コンパクトディスクdiscCD、レーザディスクdisc、光ディスクdisc、デジタル多用途ディスクdiscDVD、フロッピー登録商標ディスクdisk及びブルーレイ登録商標ディスクdiscを含み、ディスクdiskは、通常、データを磁気的に再生し、ディスクdiscは、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。命令は、1つ以上のデジタル信号プロセッサDSPなどの1つ以上のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路ASIC、フィールドプログラマブル論理アレイFPGA、或いは他の等価な集積回路又はディスクリート論理回路によって実行され得る。従って、本明細書で使用するプロセッサという用語は、前述の構造、又は本明細書で説明した技術の実装に好適な他の構造のいずれかを指し得る。更に、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内に提供され得、或いは複合コーデックに組み込まれ得る。また、本技術は、1つ以上の回路又は論理要素中に十分に実装され得る。本開示の技術は、ワイヤレスハンドセット、集積回路IC又はICのセット例えば、チップセットを含む、多種多様な機器又は装置において実施され得る。本開示では、開示する技術を実行するように構成された機器の機能的態様を強調するために様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び/又はファームウェアとともに、上記で説明したように1つ以上のプロセッサを含んで、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって与えられ得る。"