(57)【特許請求の範囲】
【請求項１】
ビデオエンコーダがビデオデータを符号化する方法であって、
ビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードを決定することと、
前記イントラ予測モードの前記第１のセットよりも小さいイントラ予測モードの第２のセットから、前記第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、前記第２のイントラ予測モードは前記第１のイントラ予測モードとは異なり、前記イントラ予測モードの前記第２のセットは、ＩＴＵ−Ｔ  Ｈ．２６４に従って定義されたイントラ予測モードを備える、
前記第２のイントラ予測モードがマッピングされる方向性変換を決定することと、
前記第１のイントラ予測モードを使用して予測ブロックを生成することと、
前記ビデオデータの前記ブロックと前記予測ブロックとの間の差分に基づいて残差データを計算することと、
符号化されたビデオデータのブロックを復号するために、前記予測ブロックと残差ブロックを合成することと、
前記ブロックの前記残差データに前記方向性変換を適用することと、
前記第２のイントラ予測モードに関連付けられた走査パターンを使用して変換された前記残差データを走査することと、
前記第２のイントラ予測モードがマッピングされる回転変換を決定することと、
変換された前記残差ブロックに前記回転変換を適用することと
を備える、方法。
【請求項２】
前記第２のイントラ予測モードを決定することは、前記第１のイントラ予測モードがマッピングされる前記第２のイントラ予測モードを決定するために構成データを照会することを備え、
前記方向性変換を決定することは、前記第２のイントラ予測モードがマッピングされる前記方向性変換を決定するために前記構成データを照会することを備える、請求項１に記載の方法。
【請求項３】
イントラ予測モードの前記第２のセットが、前記イントラ予測モードの前記第１のセットのサブセットを備える、請求項１に記載の方法。
【請求項４】
変換された前記残差ブロックが２次元行列を備え、前記行列中の１つ以上の係数の値を０に等しく設定することをさらに備える、請求項１に記載の方法。
【請求項５】
前記残差データを走査することが、
１次元ベクトルを形成するために、変換された前記残差データを走査することと、
前記ベクトル中の１つ以上の係数の値を０に等しく設定することと
を備える、請求項１に記載の方法。
【請求項６】
前記ブロックに関連付けられた４分木データ構造のルートノードにおいて前記第１のイントラ予測モードの指示を記憶することをさらに備える、請求項１に記載の方法。
【請求項７】
ビデオエンコーダがビデオデータを符号化する方法であって、
ビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードを決定することと、
前記イントラ予測モードの前記第１のセットよりも小さいイントラ予測モードの第２のセットから、前記第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、前記第２のイントラ予測モードは前記第１のイントラ予測モードとは異なり、前記イントラ予測モードの前記第２のセットは、ＩＴＵ−Ｔ  Ｈ．２６４に従って定義されたイントラ予測モードを備える、
前記第２のイントラ予測モードがマッピングされる方向性変換を決定することと、
前記第１のイントラ予測モードを使用して予測ブロックを生成することと、
前記ビデオデータの前記ブロックと前記予測ブロックとの間の差分に基づいて残差データを計算することと、
符号化されたビデオデータのブロックを復号するために、前記予測ブロックと残差ブロックを合成することと、
前記ブロックの前記残差データに前記方向性変換を適用することと、
前記第２のイントラ予測モードに関連付けられた走査パターンを使用して変換された前記残差データを走査することと
を備え、
前記方向性変換が、前記第２のイントラ予測モードからマッピングされた第１の方向性変換を備え、前記残差データに前記第１の方向性変換を適用することが、第２の変換された残差データを生成するために前記第１の方向性変換に加えて、第２の異なる変換を使用して、変換された前記残差データを変換することをさらに備える、方法。
【請求項８】
前記第２のイントラ予測モードからマッピングされた走査インデックスを選択することをさらに備え、前記走査パターンが前記走査インデックスに対応する、請求項７に記載の方法。
【請求項９】
ビデオデータを符号化するための装置であって、
ビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、イントラ予測モードの前記第１のセットよりも小さいイントラ予測モードの第２のセットから、前記第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、前記第２のイントラ予測モードは前記第１のイントラ予測モードとは異なり、前記第２のイントラ予測モードがマッピングされる方向性変換を決定することと、前記イントラ予測モードの前記第２のセットは、ＩＴＵ−Ｔ  Ｈ．２６４に従って定義されたイントラ予測モードを備え、前記第１のイントラ予測モードを使用して予測ブロックを生成することと、前記ビデオデータの前記ブロックと前記予測ブロックとの間の差分に基づいて残差データを計算することと、符号化されたビデオデータのブロックを復号するために、前記予測ブロックと残差ブロックを合成することと、前記ブロックの前記残差データに前記方向性変換を適用することと、前記第２のイントラ予測モードに関連付けられた走査パターンを使用して、変換された前記残差データを走査することと
を行うように構成されたビデオエンコーダを備え、
前記ビデオエンコーダは、前記第２のイントラ予測モードがマッピングされる回転変換を決定することと、変換された前記残差データに前記回転変換を適用することとを行うように構成された、装置。
【請求項１０】
前記イントラ予測モードの前記第１のセットと前記イントラ予測モードの前記第２のセットとの間のマッピングの第１のセットと、前記イントラ予測モードの前記第２のセットと決定された前記方向性変換を備える方向性変換のセットとの間のマッピングの第２のセットとを与える構成データを記憶するコンピュータ可読記憶媒体をさらに備え、前記第２のイントラ予測モードを決定するために、前記ビデオエンコーダは、前記第１のイントラ予測モードがマッピングされる前記第２のイントラ予測モードを決定するために構成データを照会するように構成され、前記方向性変換を決定するために、前記ビデオエンコーダは、前記第２のイントラ予測モードがマッピングされる前記方向性変換を決定するために前記構成データを照会するように構成された、請求項９に記載の装置。
【請求項１１】
前記ビデオエンコーダが、前記方向性変換によって生成された１つ以上の変換係数の値を０に等しく設定するように構成された、請求項９に記載の装置。
【請求項１２】
ビデオデータを符号化するための装置であって、
ビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、イントラ予測モードの前記第１のセットよりも小さいイントラ予測モードの第２のセットから、前記第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、前記第２のイントラ予測モードは前記第１のイントラ予測モードとは異なり、前記第２のイントラ予測モードがマッピングされる方向性変換を決定することと、前記イントラ予測モードの前記第２のセットは、ＩＴＵ−Ｔ  Ｈ．２６４に従って定義されたイントラ予測モードを備え、前記第１のイントラ予測モードを使用して予測ブロックを生成することと、前記ビデオデータの前記ブロックと前記予測ブロックとの間の差分に基づいて残差データを計算することと、符号化されたビデオデータのブロックを復号するために、前記予測ブロックと残差ブロックを合成することと、前記ブロックの前記残差データに前記方向性変換を適用することと、前記第２のイントラ予測モードに関連付けられた走査パターンを使用して、変換された前記残差データを走査することと
を行うように構成されたビデオエンコーダを備え、
前記方向性変換が、前記第２のイントラ予測モードからマッピングされた第１の方向性変換を備え、前記ビデオエンコーダが、第２の変換された残差ブロックを生成するために前記第１の方向性変換に加えて第２の異なる変換を使用して、変換された前記残差ブロックを変換するように構成された、装置。
【請求項１３】
前記ビデオエンコーダが、前記第２のイントラ予測モードからマッピングされた走査インデックスを選択するように構成され、前記走査パターンが前記走査インデックスに対応する、請求項１２に記載の装置。
【請求項１４】
前記装置が、
集積回路と、
マイクロプロセッサと、
前記ビデオエンコーダを含むワイヤレス通信機器とのうちの少なくとも１つを備える、請求項９に記載の装置。
【請求項１５】
ビデオデータを符号化するための装置であって、
ビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信するための手段と、
前記イントラ予測モードの前記第１のセットよりも小さいイントラ予測モードの第２のセットから、前記第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定するための手段と、前記第２のイントラ予測モードは前記第１のイントラ予測モードとは異なり、前記イントラ予測モードの前記第２のセットは、ＩＴＵ−Ｔ  Ｈ．２６４に従って定義されたイントラ予測モードを備える、
前記第２のイントラ予測モードがマッピングされる方向性変換を決定するための手段と、
前記第１のイントラ予測モードを使用して予測ブロックを生成するための手段と、
前記ビデオデータの前記ブロックと前記予測ブロックとの間の差分に基づいて残差データを計算するための手段と、
符号化されたビデオデータのブロックを復号するために、前記予測ブロックと残差ブロックを合成する手段と、
前記ブロックの前記残差データに前記方向性変換を適用するための手段と、
前記第２のイントラ予測モードに関連付けられた走査パターンを使用して、変換された前記残差データを走査するための手段と、
前記第２のイントラ予測モードがマッピングされる回転変換を決定するための手段と、
変換された前記残差データに前記回転変換を適用するための手段と
を備える、装置。
【請求項１６】
ビデオデータを符号化するための機器のプロセッサによって実行されたとき、
ビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、
前記イントラ予測モードの前記第１のセットよりも小さいイントラ予測モードの第２のセットから、前記第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、前記第２のイントラ予測モードは前記第１のイントラ予測モードとは異なり、前記イントラ予測モードの第２のセットは、ＩＴＵ−Ｔ  Ｈ．２６４に従って定義されたイントラ予測モードを備える、
前記第２のイントラ予測モードがマッピングされる方向性変換を決定することと、
前記第１のイントラ予測モードを使用して予測ブロックを生成することと、
前記ビデオデータの前記ブロックと前記予測ブロックとの間の差分に基づいて残差データを計算することと、
符号化されたビデオデータのブロックを復号するために、前記予測ブロックと残差ブロックを合成することと、
前記ブロックの前記残差データに前記方向性変換を適用することと、
前記第２のイントラ予測モードに関連付けられた走査パターンを使用して、変換された残差データを走査することと、
前記第２のイントラ予測モードがマッピングされる回転変換を決定することと、
変換された前記残差データに前記回転変換を適用することと
を前記プロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体。
【請求項１７】
ビデオデコーダがビデオデータを復号する方法であって、
符号化されたビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、
前記イントラ予測モードの前記第１のセットよりも小さいイントラ予測モードの第２のセットから、前記第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、前記第２のイントラ予測モードは前記第１のイントラ予測モードとは異なり、前記イントラ予測モードの前記第２のセットは、ＩＴＵ−Ｔ  Ｈ．２６４に従って定義されたイントラ予測モードを備える、
前記第２のイントラ予測モードがマッピングされる逆方向性変換を決定することと、
前記ブロックの変換された残差データを再生するために、前記第２のセットの前記イントラ予測モードに関連付けられた逆走査パターンを使用して、前記ブロックの受信された係数を逆走査することと、
残差ブロックを取得するために前記ブロックの変換された前記残差データに前記逆方向性変換を適用することと、
前記第１のイントラ予測モードを使用して予測ブロックを生成することと、
符号化されたビデオデータの前記ブロックを復号するために、前記予測ブロックと前記残差ブロックを合成することと、
前記第２のイントラ予測モードがマッピングされる逆回転変換を決定することと、
中間の変換された残差データを生成するために変換された前記残差データに前記逆回転変換を適用することと
を備え、
前記逆方向性変換を適用することが、前記中間の変換された残差データに前記逆方向性変換を適用することを備える、方法。
【請求項１８】
前記第２のイントラ予測モードを決定することは、前記第１のイントラ予測モードがマッピングされる前記第２のイントラ予測モードを決定するために構成データを照会することを備え、
前記逆方向性変換を決定することは、前記第２のイントラ予測モードがマッピングされる前記逆方向性変換を決定するために前記構成データを照会することを備える、請求項１７に記載の方法。
【請求項１９】
前記イントラ予測モードの前記第２のセットが、前記イントラ予測モードの前記第１のセットのサブセットを備える、請求項１７に記載の方法。
【請求項２０】
前記第１のイントラ予測モードの前記指示を受信することが、
前記ブロックに関連付けられた４分木データ構造を受信することと、
前記４分木データ構造のルートノードから前記第１のイントラ予測モードの前記指示を取り出すことと
を備える、請求項１７に記載の方法。
【請求項２１】
前記逆方向性変換が、前記第２のイントラ予測モードからマッピングされた第１の逆方向性変換を備え、変換された前記残差データに前記第１の逆方向性変換を適用することが、前記残差ブロックを取得するために前記第１の逆方向性変換に加えて、第２の異なる逆変換を使用して前記ブロックの逆変換された前記残差データを逆変換することをさらに備える、請求項１７に記載の方法。
【請求項２２】
前記第２のイントラ予測モードからマッピングされた走査インデックスを選択することをさらに備え、前記逆走査パターンは前記走査インデックスに対応する、請求項２１に記載の方法。
【請求項２３】
ビデオデータを復号するための装置であって、
符号化されたビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、前記イントラ予測モードの前記第１のセットよりも小さいイントラ予測モードの第２のセットから、前記第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、前記第２のイントラ予測モードは前記第１のイントラ予測モードとは異なり、前記イントラ予測モードの前記第２のセットは、ＩＴＵ−Ｔ  Ｈ．２６４に従って定義されたイントラ予測モードを備え、前記第２のイントラ予測モードがマッピングされる逆方向性変換を決定することと、前記ブロックの変換された残差データを再生するために、前記第２のセットの前記イントラ予測モードに関連付けられた逆走査パターンを使用して、前記ブロックの受信された係数を逆走査することと、残差ブロックを取得するために前記ブロックの変換された前記残差データに前記逆方向性変換を適用することと、前記第１のイントラ予測モードを使用して予測ブロックを生成することと、符号化されたビデオデータの前記ブロックを復号するために、前記予測ブロックと前記残差ブロックを合成することとを行うように構成されたビデオデコーダを備え、
前記ビデオデコーダは、前記第２のイントラ予測モードがマッピングされる逆回転変換を決定することと、中間の変換された残差データを生成するために前記変換された残差データに前記逆回転変換を適用することとを行うように構成され、前記逆方向性変換を適用することが、前記中間の変換された残差データに前記逆方向性変換を適用することを備える、装置。
【請求項２４】
前記イントラ予測モードの前記第１のセットと前記イントラ予測モードの前記第２のセットとの間のマッピングの第１のセットと、前記イントラ予測モードの前記第２のセットと前記決定された方向性変換を備える方向性変換のセットとの間のマッピングの第２のセットとを与える構成データを記憶するコンピュータ可読記憶媒体をさらに備え、前記第２のイントラ予測モードを決定するために、前記ビデオデコーダは、前記第１のイントラ予測モードがマッピングされる前記第２のイントラ予測モードを決定するために前記構成データを照会するように構成され、前記方向性変換を決定するために、前記ビデオデコーダは、前記第２のイントラ予測モードがマッピングされる前記方向性変換を決定するために前記構成データを照会するように構成された、請求項２３に記載の装置。
【請求項２５】
前記第１のイントラ予測モードの前記指示を受信するために、前記ビデオデコーダが、前記ブロックに関連付けられた４分木データ構造を受信することと、前記４分木データ構造のルートノードから前記第１のイントラ予測モードの前記指示を取り出すこととを行うように構成された、請求項２３に記載の装置。
【請求項２６】
ビデオデータを復号するための装置であって、
符号化されたビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、前記イントラ予測モードの前記第１のセットよりも小さいイントラ予測モードの第２のセットから、前記第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、前記第２のイントラ予測モードは前記第１のイントラ予測モードとは異なり、前記イントラ予測モードの前記第２のセットは、ＩＴＵ−Ｔ  Ｈ．２６４に従って定義されたイントラ予測モードを備え、前記第２のイントラ予測モードがマッピングされる逆方向性変換を決定することと、前記ブロックの変換された残差データを再生するために、前記第２のセットの前記イントラ予測モードに関連付けられた逆走査パターンを使用して、前記ブロックの受信された係数を逆走査することと、残差ブロックを取得するために前記ブロックの変換された前記残差データに前記逆方向性変換を適用することと、前記第１のイントラ予測モードを使用して予測ブロックを生成することと、符号化されたビデオデータの前記ブロックを復号するために、前記予測ブロックと前記残差ブロックを合成することとを行うように構成されたビデオデコーダを備え、
前記逆方向性変換が、前記第２のイントラ予測モードからマッピングされた第１の逆方向性変換を備え、前記ビデオデコーダが、前記残差ブロックを取得するための前記第１の逆方向性変換に加えて第２の異なる逆変換を使用して逆変換された前記残差データを逆変換するように構成された、装置。
【請求項２７】
前記ビデオデコーダが、前記第２のイントラ予測モードからマッピングされた走査インデックスを選択するように構成され、前記逆走査パターンが前記走査インデックスに対応する、請求項２６に記載の装置。
【請求項２８】
集積回路と、
マイクロプロセッサと、
前記ビデオデコーダを含むワイヤレス通信機器とのうちの少なくとも１つを備える、請求項２３に記載の装置。
【請求項２９】
ビデオデータを復号するための装置であって、
符号化されたビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信するための手段と、
前記イントラ予測モードの前記第１のセットよりも小さいイントラ予測モードの第２のセットから、前記第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定するための手段と、前記第２のイントラ予測モードは前記第１のイントラ予測モードとは異なり、前記イントラ予測モードの前記第２のセットは、ＩＴＵ−Ｔ  Ｈ．２６４に従って定義されたイントラ予測モードを備える、
前記第２のイントラ予測モードがマッピングされる逆方向性変換を決定するための手段と、
前記ブロックの変換された残差データを再生するために、前記第２のセットの前記イントラ予測モードに関連付けられた逆走査パターンを使用して、前記ブロックの受信された係数を逆走査するための手段と、
残差ブロックを取得するために前記ブロックの変換された前記残差データに前記逆方向性変換を適用するための手段と、
前記第１のイントラ予測モードを使用して予測ブロックを生成するための手段と、
符号化されたビデオデータの前記ブロックを復号するために、前記予測ブロックと前記残差ブロックを合成するための手段と、
前記第２のイントラ予測モードがマッピングされる逆回転変換を決定するための手段と、
中間の変換された残差データを生成するために変換された前記残差データに前記逆回転変換を適用するための手段と
をさらに備え、
前記逆方向性変換を適用することが、前記中間の変換された残差データに前記逆方向性変換を適用することを備える、装置。
【請求項３０】
ビデオデータを復号するための機器のプロセッサによって実行されたとき、
符号化されたビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、
前記イントラ予測モードの前記第１のセットよりも小さいイントラ予測モードの第２のセットから、前記第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、前記第２のイントラ予測モードは前記第１のイントラ予測モードとは異なり、前記イントラ予測モードの前記第２のセットは、ＩＴＵ−Ｔ  Ｈ．２６４に従って定義されたイントラ予測モードを備える、
前記第２のイントラ予測モードがマッピングされる逆方向性変換を決定することと、
前記ブロックの変換された残差データを再生するために、前記第２のセットの前記イントラ予測モードに関連付けられた逆走査パターンを使用して、前記ブロックの受信された係数を逆走査することと、
残差ブロックを取得するために前記ブロックの変換された前記残差データに前記逆方向性変換を適用することと、
前記第１のイントラ予測モードを使用して予測ブロックを生成することと、
符号化されたビデオデータの前記ブロックを復号するために、前記予測ブロックと前記残差ブロックを合成することと、
前記第２のイントラ予測モードがマッピングされる逆回転変換を決定することと、
中間の変換された残差データを生成するために前記変換された残差データに前記逆回転変換を適用することと
を前記プロセッサに行わせる命令を記憶し、
前記逆方向性変換を適用することが、前記中間の変換された残差データに前記逆方向性変換を適用することを備える、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ビデオ符号化に関する。
【背景技術】
【０００２】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップ又はデスクトップコンピュータ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、セルラー電話又は衛星無線電話、ビデオ遠隔会議機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、デジタルビデオ情報をより効率的に送信及び受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）、（Ｈ．２６５とも呼ばれる）今度の高効率ビデオ符号化（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、及びそのような規格の拡張に記載されているビデオ圧縮技術など、ビデオ圧縮技術を実装する。
【０００３】
ビデオ圧縮技術では、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的予測及び／又は時間的予測を実行する。ブロックベースのビデオ符号化の場合、ビデオフレーム又はスライスはマクロブロックに区分され得る。各マクロブロックは更に区分され得る。イントラ符号化（Ｉ）フレーム又はスライス中のマクロブロックは、隣接マクロブロックに関する空間的予測を使用して符号化される。インター符号化（Ｐ又はＢ）フレーム又はスライス中のマクロブロックは、同じフレーム又はスライス中の隣接マクロブロックに関する空間的予測、或いは他の参照フレームに関する時間的予測を使用し得る。
【発明の概要】
【０００４】
概して、本開示では、ビデオデータを符号化するための技術について説明する。本開示では、ビデオ符号化プロセス中に残差ビデオデータを変換し、変換係数を走査するための技術について説明する。概して、符号化されるべきピクチャのブロックは、イントラモード符号化される（例えば、同じピクチャの他のブロックに対して符号化される）か又はインターモード符号化され得る（例えば、前に符号化されたピクチャのブロックに対して符号化され得る）。いずれの場合も、ビデオエンコーダは予測データと残差データとを形成する。ビデオエンコーダは、離散サイン変換、離散コサイン変換、方向性変換及び／又は回転変換など、１つ以上の様々な変換を使用して残差値を変換し得る。ビデオエンコーダは、例えば、ブロックをイントラモード符号化するときに使用される予測方向など、幾つかの基準に基づいて適用すべき１つ以上の変換を選択するように構成され得る。
【０００５】
ビデオエンコーダは、ビデオデータのブロックの残差データを変換することによって変換係数を計算し得、残差データは、元のブロックと予測ブロックとの間の画素差分値に対応する。変換係数は、変換されたブロックと（係数の数に関して）同じサイズを有する２次元行列に対応し得る。ビデオエンコーダは、変換係数を走査して２次元行列を１次元配列に変換し、それによって変換係数をシリアル化（直列化）し得る。本開示の技術によれば、ビデオエンコーダは、ブロックを変換するために使用される（１つ又は複数の）変換に基づいて選択された所定の走査パターンを適用し得る。幾つかの例では、本開示の技術によれば、ビデオエンコーダは、所定の走査パターンではなく、適応走査パターンを適用し得、ビデオエンコーダは適応走査パターンを周期的に更新し得る。走査パターンは、幾つかの例では、ブロックを予測するために使用される（１つ又は複数の）変換及び／又はイントラ予測モードに基づき得る。
【０００６】
一例では、ビデオデータを符号化する方法は、イントラ予測モードを使用して形成された予測ブロックに基づいてビデオデータのブロックの残差ブロックを計算することと、イントラ予測モードからマッピングされた変換を使用してその残差ブロックを変換することとを含む。
【０００７】
別の例では、ビデオデータを符号化するための装置であって、イントラ予測モードを使用して形成された予測ブロックに基づいてビデオデータのブロックの残差ブロックを計算することと、イントラ予測モードからマッピングされた変換を使用してその残差ブロックを変換することとを行うように構成されたビデオエンコーダを備える装置が提供される。
【０００８】
別の例では、ビデオデータを符号化するための装置は、イントラ予測モードを使用して形成された予測ブロックに基づいてビデオデータのブロックの残差ブロックを計算するための手段と、イントラ予測モードからマッピングされた変換を使用してその残差ブロックを変換するための手段とを含む。
【０００９】
別の例では、コンピュータプログラム製品は、実行されたとき、イントラ予測モードを使用して形成された予測ブロックに基づいてビデオデータのブロックの残差ブロックを計算することと、イントラ予測モードからマッピングされた変換を使用してその残差ブロックを変換することとを、ビデオデータを符号化するための機器のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を含む。
【００１０】
別の例では、ビデオデータを復号する方法は、ビデオデータのブロックを予測するために使用されるべきイントラ予測モードを決定することと、イントラ予測モードからマッピングされた逆変換を使用してブロックの変換された残差データを逆変換することとを含む。
【００１１】
別の例では、ビデオデータを復号するための装置は、ビデオデータのブロックを予測するために使用されるべきイントラ予測モードを決定することと、イントラ予測モードからマッピングされた逆変換を使用してブロックの変換された残差データを逆変換することとを行うように構成されたビデオデコーダを含む。
【００１２】
別の例では、ビデオデータを復号するための装置は、ビデオデータのブロックを予測するために使用されるべきイントラ予測モードを決定するための手段と、イントラ予測モードからマッピングされた逆変換を使用してブロックの変換された残差データを逆変換するための手段とを含む。
【００１３】
別の例では、実行されたとき、ビデオデータのブロックを予測するために使用されるべきイントラ予測モードを決定することと、イントラ予測モードからマッピングされた逆変換を使用してブロックの変換された残差データを逆変換することとを、ビデオデータを復号するための機器のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品が提供される。
【００１４】
別の例では、ビデオデータを符号化する方法は、ビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、イントラ予測モードの第１のセットよりも小さいイントラ予測モードの第２のセットから、第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、第２のイントラ予測モードがマッピングされる方向性変換を決定することと、ブロックの残差データに方向性変換を適用することとを含む。
【００１５】
別の例では、ビデオデータを符号化するための装置は、ビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、イントラ予測モードの第１のセットよりも小さいイントラ予測モードの第２のセットから、第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、第２のイントラ予測モードがマッピングされる方向性変換を決定することと、ブロックの残差データに方向性変換を適用することとを行うように構成されたビデオエンコーダを含む。
【００１６】
別の例では、ビデオデータを符号化するための装置は、ビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信するための手段と、イントラ予測モードの第１のセットよりも小さいイントラ予測モードの第２のセットから、第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定するための手段と、第２のイントラ予測モードがマッピングされる方向性変換を決定するための手段と、ブロックの残差データに方向性変換を適用するための手段とを含む。
【００１７】
別の例では、実行されたとき、ビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、イントラ予測モードの第１のセットよりも小さいイントラ予測モードの第２のセットから、第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、第２のイントラ予測モードがマッピングされる方向性変換を決定することと、ブロックの残差データに方向性変換を適用することとを、ビデオデータを符号化するための機器のプロセッサに行わせる命令を記憶したコンピュータ可読媒体を備えるコンピュータプログラム製品が提供される。
【００１８】
別の例では、ビデオデータを復号する方法は、符号化されたビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、イントラ予測モードの第１のセットよりも小さいイントラ予測モードの第２のセットから、第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、第２のイントラ予測モードがマッピングされる逆方向性変換を決定することと、ブロックの変換された残差データに逆方向性変換を適用することとを含む。
【００１９】
別の例では、ビデオデータを復号するための装置は、符号化されたビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、イントラ予測モードの第１のセットよりも小さいイントラ予測モードの第２のセットから、第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、第２のイントラ予測モードがマッピングされる逆方向性変換を決定することと、ブロックの変換された残差データに逆方向性変換を適用することとを行うように構成されたビデオデコーダを含む。
【００２０】
別の例では、ビデオデータを復号するための装置は、符号化されたビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信するための手段と、イントラ予測モードの第１のセットよりも小さいイントラ予測モードの第２のセットから、第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定するための手段と、第２のイントラ予測モードがマッピングされる逆方向性変換を決定するための手段と、ブロックの変換された残差データに逆方向性変換を適用するための手段とを含む。
【００２１】
別の例では、実行されたとき、符号化されたビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、イントラ予測モードの第１のセットよりも小さいイントラ予測モードの第２のセットから、第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、第２のイントラ予測モードがマッピングされる逆方向性変換を決定することと、ブロックの変換された残差データに逆方向性変換を適用することとを、ビデオデータを復号するための機器のプロセッサに行わせる命令を記憶したコンピュータ可読媒体を備えるコンピュータプログラム製品が提供される。
【００２２】
別の例では、ビデオデータを符号化する方法は、ビデオデータのブロックを符号化するために使用すべきイントラ予測モードを選択することと、複数の変換が可能であるサイズのサブブロックをブロックが含むかどうかを、サブブロックのサイズと選択されたイントラ予測モードとに基づいて決定することとを含む。サブブロックのサイズと選択されたイントラ予測モードとに基づいて、複数の変換が可能であるサイズのサブブロックをブロックが含むとき、本方法は、複数の可能な変換のうちの１つを選択することと、複数の可能な変換のうちの選択された１つを使用してサブブロックを変換することと、ブロックのサイズについての複数の可能な変換のうちの選択された１つの指示を与えることとを含む。
【００２３】
別の例では、ビデオデータを符号化するための装置は、ビデオデータのブロックを符号化するために使用すべきイントラ予測モードを選択することと、複数の変換が可能であるサイズのサブブロックをブロックが含むかどうかを、サブブロックのサイズと選択されたイントラ予測モードとに基づいて決定することと、サブブロックのサイズと選択されたイントラ予測モードとに基づいて、複数の変換が可能であるサイズのサブブロックをブロックが含むとき、複数の可能な変換のうちの１つを選択することと、複数の可能な変換のうちの選択された１つを使用してサブブロックを変換することと、ブロックのサイズについての複数の可能な変換のうちの選択された１つの指示を与えることとを行うように構成されたビデオエンコーダを含む。
【００２４】
別の例では、ビデオデータを符号化するための装置は、ビデオデータのブロックを符号化するために使用すべきイントラ予測モードを選択するための手段と、複数の変換が可能であるサイズのサブブロックをブロックが含むかどうかを、サブブロックのサイズと選択されたイントラ予測モードとに基づいて決定するための手段と、サブブロックのサイズと選択されたイントラ予測モードとに基づいて、複数の変換が可能であるサイズのサブブロックをブロックが含むとき、複数の可能な変換のうちの１つを選択するための手段と、複数の可能な変換のうちの選択された１つを使用してサブブロックを変換するための手段と、ブロックのサイズについての複数の可能な変換のうちの選択された１つの指示を与えるための手段とを含む。
【００２５】
別の例では、実行されたとき、ビデオデータのブロックを符号化するために使用すべきイントラ予測モードを選択することと、複数の変換が可能であるサイズのサブブロックをブロックが含むかどうかを、サブブロックのサイズと選択されたイントラ予測モードとに基づいて決定することと、サブブロックのサイズと選択されたイントラ予測モードとに基づいて、複数の変換が可能であるサイズのサブブロックをブロックが含むとき、複数の可能な変換のうちの１つを選択することと、複数の可能な変換のうちの選択された１つを使用してサブブロックを変換することと、ブロックのサイズについての複数の可能な変換のうちの選択された１つの指示を与えることとを、ビデオデータを符号化するための機器のプロセッサに行わせる命令を記憶したコンピュータ可読媒体を備えるコンピュータプログラム製品が提供される。
【００２６】
別の例では、ビデオデータを復号する方法は、ビデオデータのブロックを復号するために使用すべきイントラ予測モードの第１の指示を受信することと、複数の変換が可能であるサイズのサブブロックをブロックが含むかどうかを、サブブロックのサイズと指示されたイントラ予測モードとに基づいて決定することと、サブブロックのサイズと指示されたイントラ予測モードとに基づいて、複数の逆変換が可能であるサイズのサブブロックをブロックが含むとき、複数の可能な逆変換のうちの１つの第２の指示を受信することと、複数の可能な逆変換のうちの指示された１つを使用してサブブロックを逆変換することとを含む。
【００２７】
別の例では、ビデオデータを復号するための装置は、ビデオデータのブロックを復号するために使用すべきイントラ予測モードの第１の指示を受信することと、複数の変換が可能であるサイズのサブブロックをブロックが含むかどうかを、サブブロックのサイズと指示されたイントラ予測モードとに基づいて決定することと、サブブロックのサイズと指示されたイントラ予測モードとに基づいて、複数の逆変換が可能であるサイズのサブブロックをブロックが含むとき、複数の可能な逆変換のうちの１つの第２の指示を受信することと、複数の可能な逆変換のうちの指示された１つを使用してサブブロックを逆変換することとを行うように構成されたビデオデコーダを含む。
【００２８】
別の例では、ビデオデータを復号するための装置は、ビデオデータのブロックを復号するために使用すべきイントラ予測モードの第１の指示を受信するための手段と、複数の変換が可能であるサイズのサブブロックをブロックが含むかどうかを、サブブロックのサイズと指示されたイントラ予測モードとに基づいて決定するための手段と、サブブロックのサイズと指示されたイントラ予測モードとに基づいて、複数の逆変換が可能であるサイズのサブブロックをブロックが含むとき、複数の可能な逆変換のうちの１つの第２の指示を受信するための手段と、複数の可能な逆変換のうちの指示された１つを使用してサブブロックを逆変換するための手段とを含む。
【００２９】
別の例では、実行されたとき、ビデオデータのブロックを復号するために使用すべきイントラ予測モードの第１の指示を受信することと、複数の変換が可能であるサイズのサブブロックをブロックが含むかどうかを、サブブロックのサイズと指示されたイントラ予測モードとに基づいて決定することと、サブブロックのサイズと指示されたイントラ予測モードとに基づいて、複数の逆変換が可能であるサイズのサブブロックをブロックが含むとき、複数の可能な逆変換のうちの１つの第２の指示を受信することと、複数の可能な逆変換のうちの指示された１つを使用してサブブロックを逆変換することとを、ビデオデータを復号するための機器のプロセッサに行わせる命令を記憶したコンピュータ可読媒体を備えるコンピュータプログラム製品が提供される。
【００３０】
別の例では、ビデオデータを符号化する方法は、変換係数の１次元ベクトルを生成するために変換係数の２次元ブロックを走査することと、１次元ベクトル中の変換係数が有効であるかどうかを示す値を決定することと、少なくとも、上記値のうちの少なくとも１つの前に符号化された上記値の所定数中の有効係数の割合に基づいて選択されたコンテキストモデルを使用して上記値のうちの少なくとも１つをエントロピー符号化することとを含む。
【００３１】
別の例では、ビデオデータを符号化するための装置は、変換係数の１次元ベクトルを生成するために変換係数の２次元ブロックを走査することと、１次元ベクトル中の変換係数が有効であるかどうかを示す値を決定することと、少なくとも、上記値のうちの少なくとも１つの前に符号化された上記値の所定数中の有効係数の割合に基づいて選択されたコンテキストモデルを使用して上記値のうちの少なくとも１つをエントロピー符号化することとを行うように構成されたビデオエンコーダを含む。
【００３２】
別の例では、ビデオデータを符号化するための装置は、変換係数の１次元ベクトルを生成するために変換係数の２次元ブロックを走査するための手段と、１次元ベクトル中の変換係数が有効であるかどうかを示す値を決定するための手段と、少なくとも、上記値のうちの少なくとも１つの前に符号化された上記値の所定数中の有効係数の割合に基づいて選択されたコンテキストモデルを使用して上記値のうちの少なくとも１つをエントロピー符号化するための手段とを含む。
【００３３】
別の例では、実行されたとき、変換係数の１次元ベクトルを生成するために変換係数の２次元ブロックを走査することと、１次元ベクトル中の変換係数が有効であるかどうかを示す値を決定することと、少なくとも、上記値のうちの少なくとも１つの前に符号化された上記値の所定数中の有効係数の割合に基づいて選択されたコンテキストモデルを使用して上記値のうちの少なくとも１つをエントロピー符号化することとを、ビデオデータを符号化するための機器のプロセッサに行わせる命令を記憶したコンピュータ可読媒体を備えるコンピュータプログラム製品が提供される。
【００３４】
別の例では、ビデオデータを復号する方法は、符号化された変換係数の受信された１次元ベクトル中の符号化された変換係数が有効であるかどうかを示す値を受信することと、少なくとも、上記値のうちの少なくとも１つの前に復号された上記値の所定数中の有効係数の割合に基づいて選択されたコンテキストモデルを使用して上記値のうちの少なくとも１つをエントロピー復号することと、変換係数の２次元ブロックを生成するために１次元ベクトルを逆走査することとを含む。
【００３５】
別の例では、ビデオデータを復号するための装置は、符号化された変換係数の受信された１次元ベクトル中の符号化された変換係数が有効であるかどうかを示す値を受信することと、少なくとも、上記値のうちの少なくとも１つの前に復号された上記値の所定数中の有効係数の割合に基づいて選択されたコンテキストモデルを使用して上記値のうちの少なくとも１つをエントロピー復号することと、変換係数の２次元ブロックを生成するために１次元ベクトルを逆走査することとを行うように構成されたビデオデコーダを含む。
【００３６】
別の例では、ビデオデータを復号するための装置は、符号化された変換係数の受信された１次元ベクトル中の符号化された変換係数が有効であるかどうかを示す値を受信するための手段と、少なくとも、上記値のうちの少なくとも１つの前に復号された上記値の所定数中の有効係数の割合に基づいて選択されたコンテキストモデルを使用して上記値のうちの少なくとも１つをエントロピー復号するための手段と、変換係数の２次元ブロックを生成するために１次元ベクトルを逆走査するための手段とを含む。
【００３７】
別の例では、実行されたとき、符号化された変換係数の受信された１次元ベクトル中の符号化された変換係数が有効であるかどうかを示す値を受信することと、少なくとも、上記値のうちの少なくとも１つの前に復号された上記値の所定数中の有効係数の割合に基づいて選択されたコンテキストモデルを使用して上記値のうちの少なくとも１つをエントロピー復号することと、変換係数の２次元ブロックを生成するために１次元ベクトルを逆走査することとを、ビデオデータを復号するための機器のプロセッサに行わせる命令を記憶したコンピュータ可読媒体を備えるコンピュータプログラム製品が提供される。
【００３８】
一例では、ビデオデータを符号化する方法は、変換係数の中間の２次元ブロックを生成するために第１の変換を使用してビデオデータのブロックの残差データを変換することと、変換係数の２次元ブロックを生成するために回転変換を使用して変換係数の中間の２次元ブロックを変換することと、第１の変換及び回転変換のうちの少なくとも１つに関連付けられた統計値のセットを選択することと、統計値の選択されたセットに基づいて変換係数の２次元ブロックを適応的に走査することとを含み、統計値のセットは、変換係数の２次元ブロック中の位置が非ゼロになる可能性を与える。
【００３９】
別の例では、ビデオデータを符号化するための装置は、変換係数の中間の２次元ブロックを生成するために第１の変換を使用してビデオデータのブロックの残差データを変換することと、変換係数の２次元ブロックを生成するために回転変換を使用して変換係数の中間の２次元ブロックを変換することと、第１の変換及び回転変換のうちの少なくとも１つに関連付けられた統計値のセットを選択すること、統計値の選択されたセットに基づいて変換係数の２次元ブロックを適応的に走査することとを行うように構成され、統計値のセットは、変換係数の２次元ブロック中の位置が非ゼロになる可能性を与える、ビデオエンコーダを含む。
【００４０】
別の例では、ビデオデータを符号化するための装置は、変換係数の中間の２次元ブロックを生成するために第１の変換を使用してビデオデータのブロックの残差データを変換するための手段と、変換係数の２次元ブロックを生成するために回転変換を使用して変換係数の中間の２次元ブロックを変換するための手段と、第１の変換及び回転変換のうちの少なくとも１つに関連付けられた統計値のセットを選択するための手段と、統計値の選択されたセットに基づいて変換係数の２次元ブロックを適応的に走査するための手段とを含み、統計値のセットは、変換係数の２次元ブロック中の位置が非ゼロになる可能性を与える。
【００４１】
別の例では、実行されたとき、変換係数の中間の２次元ブロックを生成するために第１の変換を使用してビデオデータのブロックの残差データを変換することと、変換係数の２次元ブロックを生成するために回転変換を使用して変換係数の中間の２次元ブロックを変換することと、第１の変換及び回転変換のうちの少なくとも１つに関連付けられた統計値のセットを選択することと、統計値の選択されたセットに基づいて変換係数の２次元ブロックを適応的に走査することとを、ビデオデータを符号化するための機器のプロセッサに行わせる命令を記憶し、統計値のセットは、変換係数の２次元ブロック中の位置が非ゼロになる可能性を与える、コンピュータ可読媒体を備えるコンピュータプログラム製品が提供される。
【００４２】
別の例では、ビデオデータを復号する方法は、変換係数の２次元ブロックを生成するために第１の変換と回転変換の両方を使用してビデオデータのブロックの残差データが変換されたという指示を受信することと、第１の変換及び回転変換のうちの少なくとも１つに関連付けられた統計値のセットを選択することと、ブロックのための変換係数の２次元行列を生成するために、統計値の選択されたセットに基づいてブロックの残差データの符号化バージョンを含む受信された１次元ベクトルを適応的に逆走査することとを含み、統計値のセットは、変換係数の２次元ブロック中の位置が非ゼロになる可能性を与える。
【００４３】
別の例では、ビデオデータを復号するための装置は、変換係数の２次元ブロックを生成するために第１の変換と回転変換の両方を使用してビデオデータのブロックの残差データが変換されたという指示を受信することと、第１の変換及び回転変換のうちの少なくとも１つに関連付けられた統計値のセットを選択することと、ブロックのための変換係数の２次元行列を生成するために、統計値の選択されたセットに基づいてブロックの残差データの符号化バージョンを含む受信された１次元ベクトルを適応的に逆走査することとを行うように構成され、統計値のセットは、変換係数の２次元ブロック中の位置が非ゼロになる可能性を与える、ビデオデコーダを含む。
【００４４】
別の例では、ビデオデータを復号するための装置は、変換係数の２次元ブロックを生成するために第１の変換と回転変換の両方を使用してビデオデータのブロックの残差データが変換されたという指示を受信するための手段と、第１の変換及び回転変換のうちの少なくとも１つに関連付けられた統計値のセットを選択するための手段と、ブロックのための変換係数の２次元行列を生成するために、統計値の選択されたセットに基づいてブロックの残差データの符号化バージョンを含む受信された１次元ベクトルを適応的に逆走査するための手段とを含み、統計値のセットは、変換係数の２次元ブロック中の位置が非ゼロになる可能性を与える。
【００４５】
別の例では、実行されたとき、変換係数の２次元ブロックを生成するために第１の変換と回転変換の両方を使用してビデオデータのブロックの残差データが変換されたという指示を受信することと、第１の変換及び回転変換のうちの少なくとも１つに関連付けられた統計値のセットを選択することと、ブロックのための変換係数の２次元行列を生成するために、統計値の選択されたセットに基づいてブロックの残差データの符号化バージョンを含む受信された１次元ベクトルを適応的に逆走査することとを、ビデオデータを復号するための機器のプロセッサに行わせる命令を記憶し、統計値のセットは、変換係数の２次元ブロック中の位置が非ゼロになる可能性を与える、コンピュータ可読媒体を備えるコンピュータプログラム製品が提供される。
【００４６】
別の例では、ビデオデータを復号する方法は、ビデオデータのブロックのイントラ予測モードがＤＣイントラ予測モードであることを示す情報を受信することと、ビデオデータのブロック中にエッジが存在するかどうかを決定することと、ブロック中にエッジが存在すると決定した後に、エッジの角度を決定することと、イントラ予測モードがＤＣイントラ予測モードであることを示す情報と、ブロック中にエッジが存在するという決定とに基づいて、エッジの角度に近い角度を有する方向性イントラ予測モードからマッピングされた方向性逆変換を使用してブロックを逆変換することと、逆変換されたブロックを復号することとを含む。
【００４７】
別の例では、ビデオデータを復号するための装置は、ビデオデータのブロックのイントラ予測モードがＤＣイントラ予測モードであることを示す情報を受信することと、ビデオデータのブロック中にエッジが存在するかどうかを決定することと、ブロック中にエッジが存在すると決定した後に、エッジの角度を決定することと、イントラ予測モードがＤＣイントラ予測モードであることを示す情報と、ブロック中にエッジが存在するという決定とに基づいて、エッジの角度に近い角度を有する方向性イントラ予測モードからマッピングされた方向性逆変換を使用してブロックを逆変換することと、逆変換されたブロックを復号することとを行うように構成されたビデオデコーダを含む。
【００４８】
別の例では、ビデオデータを復号するための装置は、ビデオデータのブロックのイントラ予測モードがＤＣイントラ予測モードであることを示す情報を受信するための手段と、ビデオデータのブロック中にエッジが存在するかどうかを決定するための手段と、ブロック中にエッジが存在すると決定した後に、エッジの角度を決定するための手段と、エッジの角度を決定した後に、イントラ予測モードがＤＣイントラ予測モードであることを示す情報と、ブロック中にエッジが存在するという決定とに基づいて、エッジの角度に近い角度を有する方向性イントラ予測モードからマッピングされた方向性逆変換を使用してブロックを逆変換するための手段と、逆変換されたブロックを復号するための手段とを含む。
【００４９】
別の例では、コンピュータプログラム製品は、実行されたとき、ビデオデータのブロックのイントラ予測モードがＤＣイントラ予測モードであることを示す情報を受信することと、ビデオデータのブロック中にエッジが存在するかどうかを決定することと、ブロック中にエッジが存在すると決定した後に、エッジの角度を決定することと、イントラ予測モードがＤＣイントラ予測モードであることを示す情報と、ブロック中にエッジが存在するという決定とに基づいて、エッジの角度に近い角度を有する方向性イントラ予測モードからマッピングされた方向性逆変換を使用してブロックを逆変換することと、逆変換されたブロックを復号することとをプロセッサに行わせる命令を記憶したコンピュータ可読媒体を含む。
【００５０】
別の例では、ビデオデータを符号化する方法は、イントラ予測符号化されるべきブロックがブロック内にエッジを含んでいると決定することと、エッジ指向イントラ予測モードを使用して計算された予測値に基づいてブロックの残差ブロックを計算することと、ブロック中にエッジが存在するという決定と、エッジベースイントラ予測モードの選択とに基づいて、エッジの角度に近い角度を有する方向性イントラ予測モードからマッピングされた方向性変換を使用して、残差ブロックを変換することと、変換された残差ブロックを表す情報と、ブロックがＤＣイントラ予測モードを使用して予測されたことを示す情報とを出力することとを含む。
【００５１】
別の例では、ビデオデータを符号化するための装置は、イントラ予測符号化されるべきブロックがブロック内にエッジを含んでいると決定することと、エッジ指向イントラ予測モードを使用して計算された予測値に基づいてブロックの残差ブロックを計算することと、ブロック中にエッジが存在するという決定と、エッジベースイントラ予測モードの選択とに基づいて、エッジの角度に近い角度を有する方向性イントラ予測モードからマッピングされた方向性変換を使用して、残差ブロックを変換することと、変換された残差ブロックを表す情報と、ブロックがＤＣイントラ予測モードを使用して予測されたことを示す情報とを出力することとを行うように構成されたビデオエンコーダを含む。
【００５２】
別の例では、ビデオデータを符号化するための装置は、イントラ予測符号化されるべきブロックがブロック内にエッジを含んでいると決定するための手段と、エッジ指向イントラ予測モードを使用して計算された予測値に基づいてブロックの残差ブロックを計算するための手段と、ブロック中にエッジが存在するという決定と、エッジベースイントラ予測モードの選択とに基づいて、エッジの角度に近い角度を有する方向性イントラ予測モードからマッピングされた方向性変換を使用して、残差ブロックを変換するための手段と、変換された残差ブロックを表す情報と、ブロックがＤＣイントラ予測モードを使用して予測されたことを示す情報とを出力するための手段とを含む。
【００５３】
別の例では、コンピュータプログラム製品は、実行されたとき、イントラ予測符号化されるべきブロックがブロック内にエッジを含んでいると決定することと、エッジ指向イントラ予測モードを使用して計算された予測値に基づいてブロックの残差ブロックを計算することと、ブロック中にエッジが存在するという決定と、エッジベースイントラ予測モードの選択とに基づいて、エッジの角度に近い角度を有する方向性イントラ予測モードからマッピングされた方向性変換を使用して、残差ブロックを変換することと、変換された残差ブロックを表す情報と、ブロックがＤＣイントラ予測モードを使用して予測されたことを示す情報とを出力することとをプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を含む。
【図面の簡単な説明】
【００５４】
【図１】符号化ユニットの変換ユニットを符号化及び復号するための技術を利用し得る例示的なビデオ符号化及び復号システムを示すブロック図。
【図２】本開示で説明するビデオデータの変換ユニットを符号化するための技術のいずれか又は全てを実装し得るビデオエンコーダの一例を示すブロック図。
【図３】符号化されたビデオシーケンスを復号するビデオデコーダの一例を示すブロック図。
【図４】様々なイントラ予測モードに関連付けられた予測方向の例示的なセットを示す図式を示す概念図。
【図５】ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣ規格によって規定された様々なイントラ予測モードを示す概念図。
【図６】変換係数のブロックのジグザグ走査を示す概念図。
【図７Ａ】例示的な４分木（quadtree）を示す概念図。
【図７Ｂ】対応する最大符号化ユニット（ＬＣＵ）を示す概念図。
【図８】ブロックのために選択されたイントラ予測モードに基づいてブロックに適用すべき変換及び走査を選択するための例示的な方法を示すフローチャート。
【図９】ブロックのために選択されたイントラ予測モードに基づいてブロックに適用すべき変換及び走査を選択するための別の例示的な方法を示すフローチャート。
【図１０】特定のサイズのサブＣＵにイントラ予測モード及び変換を適用するための例示的な方法を示すフローチャート。
【図１１】残差値のブロックに適用される選択された変換に基づいて変換係数の適応走査を実行するための例示的な方法を示すフローチャート。
【図１２】適応的に走査される係数を記述するシンタックス要素を走査し、エントロピー符号化するときに使用すべきコンテキストモデルを選択するための例示的な方法を示すフローチャート。
【図１３】本開示の技術のうちの１つ又は複数を使用して符号化された変換ユニットを復号するための例示的な方法を示すフローチャート。
【図１４】ＤＣイントラ予測モードが信号伝達されるエッジを含むイントラ符号化ブロックに適用すべき変換を選択するための例示的な方法を示すフローチャート。
【発明を実施するための形態】
【００５５】
概して、本開示では、ビデオデータを符号化するための技術について説明する。より詳細には、本開示では、ビデオ符号化プロセス中に残差データを変換し、変換係数を走査することに関係する技術について説明する。符号化ビデオデータは予測データと残差データとを含み得る。ビデオエンコーダは、イントラ予測モード又はインター予測モード中に予測データを生成し得る。イントラ予測は、概して、あるピクチャのブロックを、同じピクチャの隣接する、前に符号化されたブロックに対して予測することを伴う。インター予測は、概して、あるピクチャのブロックを、前に符号化されたピクチャのデータに対して予測することを伴う。
【００５６】
イントラ予測又はインター予測の後に、ビデオエンコーダはブロックの残差値を計算し得る。この残差値は、概して、ブロックの予測データとブロックの真値との間の差に対応する。ブロックの残差値を更に圧縮するために、残差値は、（「エネルギー」とも呼ばれる）できるだけ多くのデータをできるだけ少数の係数に構成する変換係数のセットに変換され得る。変換係数は、元のブロックと同じサイズである係数の２次元行列に対応する。言い換えれば、元のブロック中の画素とちょうど同数の変換係数がある。但し、変換により、変換係数の多くは、０に等しい値を有し得る。
【００５７】
場合によっては、第１の変換によって生成された変換係数のサブセットに、回転変換などの２次変換が適用され得る。例えば、１６×１６残差ブロックを変換係数の１６×１６行列に変換した後に、最低周波数変換係数の８×８ブロックに回転変換が適用され得る。この例では２次変換として回転変換について説明したが、他の２次変換（例えば、ＫＬＴ、ＤＣＴなど）も２次変換として適用され得る。そのような２次変換はまた、ブロックのための信号伝達されたイントラ予測モードに基づいて選択され得る。
【００５８】
「ＤＣＴ変換」への言及は、固定小数点実装形態と浮動小数点実装形態の両方を含むものと理解されたい。即ち、ＤＣＴ変換の実装形態は、実際には、ＤＣＴ変換が有理数係数ではなく整数係数（即ち、固定小数点係数）を有するような、ＤＣＴの近似を備え得る。
【００５９】
幾つかの例では、変換は非分離可能変換を備え得る。非分離可能変換は一般に計算コストが高く、従って、ビデオ符号化機器は代わりに分離可能変換を適用し得る。概して、分離可能変換は、ブロックの行に適用される水平成分と、そのブロックの列に適用される垂直成分とを含む。このようにして、分離可能変換は、２直交変換成分とも呼ばれる、行変換成分と列変換成分とを有し得る。分離可能変換を定義するために２つの行列が使用され得、行列の各々は直交変換成分のうちの１つに対応する。非分離可能変換は、適用されたときに、分離可能変換の適用と概念的に同様の結果を、但し比較的より集約的な計算を介して生じる、１つの行列のみを含み得る。
【００６０】
残差データのブロックを変換すると、そのブロックの変換係数のセットが生成される。ビデオエンコーダは、次いで、ビデオデータを更に圧縮するために変換係数を量子化し得る。量子化は、概して、相対的に大きいセット内の値を相対的に小さいセット中の値にマッピングし、それによって、量子化された変換係数を表すために必要とされるデータの量を低減することを伴う。量子化の後に、ビデオエンコーダは、変換係数を走査して、量子化された変換係数を含む２次元行列から１次元ベクトルを生成し得る。ビデオエンコーダは、走査より前に又は走査の後に、幾つかの係数、例えば、行列の左上隅以外の全ての係数、又は配列の位置Ｎから終端までの配列中の全ての係数をゼロ設定し得る。
【００６１】
ビデオエンコーダは、次いで、データをなお一層圧縮するために、得られた配列をエントロピー符号化し得る。幾つかの例では、ビデオエンコーダは、例えば、コンテキスト適応型可変長符号化（ＣＡＶＬＣ）を使用して、配列の様々な可能な量子化された変換係数を表すために可変長コード（ＶＬＣ：variable length code）を使用するように構成され得る。他の例では、ビデオエンコーダは、例えば、コンテキスト適応型２値算術符号化（ＣＡＢＡＣ）を使用して、得られた量子化係数を符号化するために２値算術符号化を使用するように構成され得る。
【００６２】
本開示では、ビデオ符号化プロセス中の残差値の変換、量子化、走査、及びエントロピー符号化に関係する幾つかの技術について説明する。本技術は、ビデオ符号化及び／又は復号を実行するように構成されたビデオエンコーダ／デコーダ（コーデック）と処理ユニットとを含む、ビデオ符号化ユニットとビデオ復号ユニットの両方によって適用され得る。「ビデオ符号化ユニット」又は「ビデオ符号化機器」への言及は、ビデオデータの符号化、復号、又は符号化と復号の両方が可能なユニット又は機器を指すものと理解されたい。
【００６３】
高効率ビデオ符号化（ＨＥＶＣ）と現在呼ばれる、新しいビデオ符号化規格を開発するための取り組みが現在進行中である。この今度の規格はＨ．２６５とも呼ばれる。この規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ：HEVC Test Model）と呼ばれるビデオ符号化機器のモデルに基づく。ＨＭは、例えば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣによる機器に勝るビデオ符号化機器の幾つかの能力を仮定する。例えば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３４個ものイントラ予測符号化モードを提供する。
【００６４】
ＨＭでは、ビデオデータのブロックを符号化ユニット（ＣＵ：coding unit）と呼び、ＣＵは、１つ以上の予測ユニット（ＰＵ：prediction unit）及び／又は１つ以上の変換ユニット（ＴＵ：transform unit）を含み得る。ビットストリーム内のシンタックスデータが、画素の数に関して最大の符号化ユニットである最大符号化ユニット（ＬＣＵ：largest coding unit）を定義し得る。概して、ＣＵは、ＣＵがサイズの差異を有しないことを除いて、Ｈ．２６４のマクロブロックと同様の目的を有する。従って、ＣＵはサブＣＵに分割され得る。概して、本開示におけるＣＵへの言及は、ピクチャの最大符号化ユニット又はＬＣＵのサブＣＵを指すことがある。ＬＣＵはサブＣＵに分割され得、各サブＣＵは更にサブＣＵに分割され得る。ビットストリームのシンタックスデータは、ＣＵ深さと呼ばれる、ＬＣＵが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小符号化ユニット（ＳＣＵ：smallest coding unit）をも定義し得る。本開示ではまた、ＣＵ、ＰＵ、又はＴＵのいずれかを指すために「ブロック」という用語を使用する。
【００６５】
ＬＣＵは４分木データ構造に関連付けられ得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはＬＣＵに対応する。ＣＵが４つのサブＣＵに分割された場合、ＣＵに対応するノードは４つのリーフノードを含み、リーフノードの各々はサブＣＵのうちの１つに対応する。４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。例えば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。ＣＵが更に分割されない場合、そのＣＵはリーフＣＵと呼ばれる。本開示では、元のリーフＣＵの明示的分割が存在しなくても、リーフＣＵの４つのサブＣＵをリーフＣＵとも呼ぶ。例えば、１６×１６サイズのＣＵが更に分割されない場合、この１６×１６ＣＵが決して分割されなくても、４つの８×８サブＣＵをリーフＣＵとも呼ぶ。
【００６６】
その上、リーフＣＵのＴＵもそれぞれの４分木データ構造に関連付けられ得る。即ち、リーフＣＵは、リーフＣＵがどのようにＴＵに区分されるかを示す４分木を含み得る。本開示では、ＬＣＵがどのように区分されるかを示す４分木をＣＵ４分木と呼び、リーフＣＵがどのようにＴＵに区分されるかを示す４分木をＴＵ４分木と呼ぶ。ＴＵ４分木のルートノードは概してリーフＣＵに対応し、ＣＵ４分木のルートノードは概してＬＣＵに対応する。分割されないＴＵ４分木のＴＵはリーフＴＵと呼ばれる。
【００６７】
リーフＣＵは、１つ以上の予測ユニット（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵの全部又は一部分を表し、そのＰＵの参照サンプルを取り出すためのデータを含み得る。例えば、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（例えば、１／４画素精度もしくは１／８画素精度）、動きベクトルが指す参照フレーム、及び／又は動きベクトルの参照リスト（例えば、リスト０又はリスト１）を記述し得る。（１つ又は複数の）ＰＵを定義するリーフＣＵのデータはまた、例えば、ＣＵを１つ以上のＰＵに区分することを記述し得る。区分モードは、ＣＵが符号化されないか、イントラ予測モード符号化されるか、又はインター予測モード符号化されるかに応じて異なり得る。イントラ符号化の場合、ＰＵは、以下で説明するリーフ変換ユニットと同じように扱われ得る。
【００６８】
リーフＣＵは、１つ以上の変換ユニット（ＴＵ）を含み得る。変換ユニットは、上記で説明したように、ＴＵ４分木構造を使用して指定され得る。即ち、分割フラグは、リーフＣＵが４つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットは更に４つのサブＴＵに分割され得る。ＴＵが更に分割されないとき、そのＴＵはリーフＴＵと呼ばれ得る。概して、イントラ符号化の場合、リーフＣＵに属する全てのリーフＴＵは同じイントラ予測モードを共有する。即ち、概して、リーフＣＵの全てのＴＵの予測値を計算するために同じイントラ予測モードが適用される。イントラ符号化の場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフＴＵの残差値を、ＴＵに対応する予測値の一部と元のブロックとの間の差として計算し得る。残差値は変換され、量子化され、走査され得る。インター符号化の場合、ビデオエンコーダは、ＰＵレベルで予測を実行し、各ＰＵの残差を計算し得る。リーフＣＵに対応する残差値は変換され、量子化され、走査され得る。インター符号化の場合、リーフＴＵはＰＵよりも大きく又は小さくなり得る。イントラ符号化の場合、ＰＵは、対応するリーフＴＵと同一場所に配置され得る。幾つかの例では、リーフＴＵの最大サイズは、対応するリーフＣＵのサイズであり得る。
【００６９】
概して、本開示では、特に明記しない限り、リーフＣＵ及びリーフＴＵに言及するためにそれぞれＣＵ及びＴＵという用語を使用する。概して、本開示の技術は、ＣＵのデータを変換し、量子化し、走査し、エントロピー符号化することに関する。一例として、本開示の技術は、ブロックを予測するために使用されたイントラ予測モードに基づいてイントラ予測されたブロックの残差値を変換するために使用すべき変換を選択することを含む。本開示ではまた、イントラ予測モード方向に依存するそのような変換に言及するために「方向性変換（directional transform）」又は「設計変換（designed transform）」という用語を使用する。即ち、ビデオエンコーダは、変換ユニット（ＴＵ）に適用すべき方向性変換を選択し得る。上記のように、イントラ予測は、あるピクチャの現在のＣＵのＴＵを、同じピクチャの前に符号化されたＣＵ及びＴＵから予測することを含む。より詳細には、ビデオエンコーダは、特定のイントラ予測モードを使用してあるピクチャの現在のＴＵをイントラ予測し得る。
【００７０】
本開示の技術は、幾つかの変換をイントラ予測モードに関連付けることを含む。従って、本開示の技術によれば、イントラ予測モードと変換との間に１対１の対応があり得る。幾つかの例では、イントラ予測モードとそれの変換との間に多対１の対応があり得る。例えば、イントラ予測モードの大きいセットはイントラ予測モードのより小さいセットにマッピングされ得、イントラ予測モードのより小さいセットの各々はそれぞれの変換に１対１でマッピングされ得る。
【００７１】
変換はまた、それぞれの走査パターンにマッピングされ得る。幾つかの例では、イントラ予測モードは変換と走査の両方にマッピングされ得るが、他の例では、イントラ予測モードは変換にマッピングされ得、変換は走査にマッピングされ得る。様々な例において、変換と係数走査の様々な組合せが使用され得る。例えば、イントラ予測モードはモード依存方向性変換にマッピングされ得、全ての場合においてジグザグ走査が使用され得る。
【００７２】
幾つかの例では、イントラ予測モードを変換及び／又は走査パターンにマッピングするのではなく、ビデオエンコーダ２０は、適用すべき１つ以上の変換と走査パターンの組合せを信号伝達するように構成され得る。同様に、ビデオデコーダ３０は、イントラ予測モードと変換及び走査パターンとの間でマッピングするのではなく、受信された指示に基づいて適用すべき変換と走査パターンとを決定するように構成され得る。
【００７３】
変換は、離散コサイン変換（ＤＣＴ）と、カルーネンレーベ変換（ＫＬＴ：Karhunen-Loeve transform）とも呼ばれる８つの方向性変換とを含み得る。ＤＣＴは、概して、異なる周波数を有するコサイン関数の和であり、これらの関数は残差値に適用される。ＫＬＴは、概して、それぞれ２つの行列を含む。ＫＬＴにおける各行列は、変換されるべき残差ブロックと同じサイズである。ＫＬＴは、トレーニングセットデータから導出されるか、或いはビデオフレーム及び／又は予測残差のモデルを仮定して分析的に導出され得る。
【００７４】
ＨＭエンコーダは、幾つかのブロックサイズのための３４個のイントラ予測モードで構成され得る。従って、方向性イントラ予測モードと方向性変換との間の１対１のマッピングをサポートするために、ＨＭエンコーダ及びデコーダは、サポートされる各変換サイズについて最高６８個の行列を記憶する必要があろう。更に、全ての３４個のイントラ予測モードがサポートされるブロックサイズは、相対的に大きいブロック、例えば、１６×１６画素、３２×３２画素、又はより一層大きい画素になり得る。
【００７５】
幾つかの例では、本開示は、エンコーダ及びデコーダがサポートする必要がある方向性変換の数を低減するための技術を提供する。即ち、エンコーダ及びデコーダは、利用可能なイントラ予測モードの数よりも少ない方向性変換をサポートし得る。これらの技術によるエンコーダは、例えば、イントラ予測モードの相対的に大きいセットをイントラ予測モードのサブセットにマッピングし得る。サブセット中のイントラ予測モードの各々は方向性変換に関連付けられ得る。即ち、サブセット中のイントラ予測モードは、方向性変換のセットとの１対１の対応を有し得る。従って、大きいセット中のイントラ予測モードは、方向性変換のセットとの多対１の対応を有し得る。
【００７６】
例えば、３４個のＨＭ方向性イントラ予測モードの各々は、Ｈ．２６４の８つの方向性イントラ予測モードのうちの１つにマッピングされ得る。ビデオエンコーダは、従って、現在のＴＵの値をイントラ予測するために方向性予測モードを選択し、選択されたモードがマッピングされるサブセットからイントラ予測モードを決定し、次いで、そのサブセットからのイントラ予測モードにマッピングされる方向性変換を使用して現在のＴＵを変換し得る。更に、方向性変換の各々はそれぞれの走査パターンに関連付けられ得る。従って、エンコーダは、方向性変換に関連付けられた走査を実行して変換係数のベクトルを生成し得、次いで、それらの変換係数は量子化され得る。その上、エンコーダは、ベクトルの最大サイズを用いて構成され得る。即ち、エンコーダは、走査されるべき次の係数が非ゼロであるか否かにかかわらず、最大サイズに達したときに変換係数を走査するのを停止し得る。
【００７７】
上記で説明した技術を適用することによって、エンコーダは、上記で説明した技術が使用されるとき、特定のＴＵのために使用される変換を信号伝達する必要がなくなる。即ち、エンコーダとデコーダとは、それぞれ、大きいセットのイントラ予測モードの、サブセットのイントラ予測モードへの多対１のマッピング（many-to-one mapping）と、サブセットのイントラ予測モードの、方向性変換への１対１のマッピング（one-to-one mapping）とを用いて構成され得る。従って、大きいセットからイントラ予測モードを信号伝達することにより、デコーダは、ブロックを変換するために使用される変換を導出することができる。その上、これらの技術は、様々な方向性変換のための行列の記憶に割り振られ得るメモリが限られているレガシー機器によって実装され得る。
【００７８】
ＨＭエンコーダは、ブロックのイントラ予測モードの利用可能なセットがブロックのサイズに基づいて異なるように構成され得る。即ち、ＣＵのサイズによってそのＣＵのために利用可能なイントラ予測モードの数が決定され得、そこから、エンコーダは、ＴＵの係数を計算するために使用される値を予測するためにイントラ予測モードを選択し得る。以下の表１に、ＣＵのサイズと、そのサイズのＣＵのために利用可能なイントラ予測モードの数との間の対応の一例を示す。本開示では、元のリーフＣＵの明示的分割が存在しなくても、リーフＣＵの４つのサブＣＵをリーフＣＵとも呼ぶ。リーフＣＵが最小ＣＵサイズを有する場合、これらの４つのサブＣＵは異なるイントラ予測モードを選択することができる。従って、この表は４×４ＣＵサイズの項目を有する。
【表１】
0005944459.tif 000002
【００７９】
概して、ビデオエンコーダは、ビデオデコーダがブロックを適切に復号するためにそのブロックの予測方向を信号伝達し得る。幾つかの例では、ビデオエンコーダは、ＣＵに属する全てのＴＵに適用され得る、そのＣＵのための単一の予測方向を決定するように構成され得る。但し、表１に上記したように、ブロックの幾つかのサイズは、ブロックの他のサイズと比較して利用可能なイントラ予測モードがより少ない。そのような場合は、ＣＵブロックサイズにおける予測方向の数がＴＵブロックサイズのために使用されることを可能にすることによって解決され得る。代替的に、より大きいセットのイントラ予測モードが、より小さいセット、例えば、サブセットのイントラ予測モードにマッピングされ得る。上記で説明したように、より大きいセットのイントラ予測モードとより小さいセットのイントラ予測モードとの間に多対１の関係があり得る。
【００８０】
ＴＵ４分木構造は、大きいブロック（ＣＵ）の、より小さいブロック（ＴＵ）への分解につながり得る。（ＣＵの）ルートブロックの空間的予測モードはビットストリーム中で明示的に信号伝達され得る。得られたより小さいＴＵ４分木ブロック（ＴＵ）は、それらの予測モードを、（ＣＵに対応する）ＴＵ４分木のルートブロックの予測モードから継承し得る。但し、より小さいブロック（ＴＵ）によってサポートされる空間的予測方向の数は、ルートブロック（ＣＵ）の数とは異なり得る。これは、より小さいブロック（ＴＵ）のためにより多くの予測方向を可能にすることによって解決され得る。代替的に、より小さいブロック（ＴＵ）の予測モードは、ＣＵのイントラ予測方向と、より小さいブロック中のサポートされる予測方向との間の予測方向角度差を最小限に抑えることなど、所定の基準に従って、多対１又は１対１のマッピングによって、ルートブロック（ＣＵ）の予測モードから導出され得る。このマッピングに基づいて方向性変換と走査パターンとが選択され得る。
【００８１】
このようにして、ビデオエンコーダは、ＣＵのためにイントラ予測方向を１回信号伝達し得る。ＣＵが、信号伝達されたイントラ予測方向をサポートしないサイズのＴＵを含むと仮定すると、ビデオエンコーダは、マッピングに基づいてＴＵのイントラ予測モードを決定し得る。即ち、ビデオエンコーダは、より大きいセットの信号伝達されたイントラ予測モードがマッピングされるより小さいセットのイントラ予測モードを使用してＴＵを計算するために使用される予測ブロックをイントラ予測し得る。同様に、ビデオデコーダは、ビデオデコーダが受信したＣＵの各ＴＵについてイントラ予測モードを決定することができるように、同じ構成を含み得る。代替的に、ＴＵの予測モードの数は、対応するＣＵの予測モードの数に一致するように増加され得る。
【００８２】
幾つかの例では、幾つかのイントラ予測モードでは、特定のサイズのＴＵのために複数の変換が可能であり得る。そのような場合、ビデオデコーダは、イントラ予測モードのみからＴＵに適用すべき変換を導出することが可能でないことがある。従って、ビデオエンコーダは、複数の変換が可能であるサイズのＴＵのために使用すべき変換を信号伝達する必要があり得る。そのようなＴＵごとに変換を信号伝達するのではなく、この情報はＣＵレベルで信号伝達され得る。そのような場合、この変換は、ＣＵ中に含まれている全てのＴＵに適用され得る。信号伝達されたイントラ予測モードにただ１つの変換がマッピングされるサイズのＴＵについては、マッピングされた変換が使用され得る。
【００８３】
その上、複数の変換が可能であるサイズのＴＵをＣＵが含む場合、変換を指定するシンタックスが存在するだけでよい。ただ１つの変換が可能であるＴＵの場合、ビデオエンコーダ及びデコーダは、選択されたイントラ予測モードに基づいて使用すべき変換を決定し得る。但し、複数の変換が可能であるサイズのＴＵの場合、ビデオエンコーダは、例えば、ＣＵのＴＵ４分木のルートにおいて使用すべき変換を信号伝達することによって、ＣＵ中の全ての同様にサイズ決定されたＴＵのために使用すべき変換を明示的に信号伝達し得る。
【００８４】
このようにして、ビデオデコーダが、ＴＵに対応するＣＵのイントラ予測モードに基づいて複数の変換が可能であるサイズのＴＵに遭遇した場合、デコーダは、明示的信号伝達に基づいて適用すべき変換を決定し得る。他のＴＵの場合、ビデオデコーダは、ＣＵについて信号伝達されたイントラ予測モードに関連付けられた変換を使用し得る。
【００８５】
幾つかの例では、ビデオエンコーダは、ＣＵの残差値に２つ以上の変換（例えば、２つ以上の分離可能変換）を適用し得る。例えば、ビデオエンコーダは、第１の変換を使用してＣＵのＴＵを１回変換して、変換係数の第１のセットを生成し、次いで、その変換係数の第１のセットに第２の変換を適用して変換係数の第２のセットを生成し得る。ＴＵに２つ以上の変換を適用するこのプロセスはカスケード変換（cascaded transform）と呼ばれることがある。幾つかの例では、第２の変換は、第１の変換によって生成された係数のサブセットのみに適用され得る。第１の変換が第１の分離可能変換を備え得ると同時に、第２の変換は第２の分離可能変換を備え得ることを理解されたい。従って、カスケード変換は、第１の分離可能変換のために２つ、第２の分離可能変換のために別の２つ、合計４つの行列を係数に適用することによって適用され得る。
【００８６】
幾つかの例では、第２の変換（即ち、第２の分離可能変換）は回転変換（ＲＯＴ：rotational transform）に対応し得る。回転変換は、概して、変換基底の座標系を変化させるものと考えられ得る。例えば、ビデオエンコーダは、ＴＵに対して、最初に方向性変換を適用し、次いで回転変換を適用し得る。別の例として、ビデオエンコーダは、ＴＵに対して、最初にＤＣＴを適用し、次いでそのＴＵに回転変換を適用し得る。ビデオエンコーダは複数の回転変換を用いて構成され得る。ビデオエンコーダは更に、幾つかの方向性変換の後に及び／又は幾つかのイントラ予測モードと併せて回転変換を適用するように構成され得る。即ち、ビデオエンコーダは、方向性変換の幾つかの組合せと幾つかのイントラ予測モードとに対して回転変換を適用するように構成され得る。ある値、例えば、回転角によって異なる回転変換がインデックス付けされ得る。幾つかの例では、回転変換を使用して係数の全てが変換されるとは限らない。例えば、ビデオエンコーダは、ＴＵの低周波変換係数のみを回転変換するように構成され得る。
【００８７】
更に、幾つかの例では、本開示の技術は、ＴＵ内の検出されたエッジを有するＴＵをイントラモード予測することを含む。例えば、ビデオ符号化ユニットは、隣接ブロック中のエッジの存在を検出し、次いで、そのエッジが現在のＴＵ中に続くと決定し得る。そのようなＴＵをイントラ予測するためのエッジ処理予測モードが提供され得る。ビデオエンコーダは、このエッジベース予測モードを使用してＴＵを予測すべきか別の方向性イントラ予測モードを使用してＴＵを予測すべきかを決定し得る。ＴＵ中にエッジが存在すると決定されたとき、及びエッジベース予測モードが選択されているとき、使用されるイントラ予測モードを信号伝達するためにＤＣ予測モードを示す値が使用され得るが、エッジが存在するという決定により、この値はエッジ処理予測モードを示すと解釈され得る。更に、エッジの角度が決定され、上記で説明した方向性イントラ予測モードの方向性変換へのマッピングと同様の方法で方向性変換にマッピングされ得る。同様に、この例では方向性変換にマッピングされた走査パターンも使用され得る。
【００８８】
本開示はまた、１次元ベクトルを生成し、次いでその１次元ベクトルをエントロピー符号化することができるように、変換係数を走査するための技術を提供する。これらの技術によれば、ビデオエンコーダは、様々なファクタに基づいて固定走査パターンを選択するか、又は適応走査を実行するように構成され得る。例えば、ビデオエンコーダは固定走査パターンのセットを含み得る。ビデオエンコーダは、例えば、イントラ予測モード、ＴＵのために選択された変換、ＴＵが、ＴＵのために選択されたカスケード変換を使用して変換されるか、ＴＵのために選択された回転変換を使用して変換されるか、又はそれらの任意の組合せを使用して変換されるかなど、様々な基準に基づいて固定走査パターンのうちの１つを選択し得る。例えば、ビデオエンコーダは、イントラ予測モード、２次変換、又はそれらの組合せに基づいて予め定義された走査のセットのうちの１つを選択し得る。幾つかの例では、ビデオエンコーダは、上記で説明したファクタのうちの１つ以上に基づいて走査インデックスを選択し得、走査インデックスは固定走査又は適応走査のいずれかに対応し得る。
【００８９】
幾つかの例では、ビデオエンコーダは変換係数を適応的に走査するように構成され得る。ビデオエンコーダは、初期の固定走査パターンを記憶し得る。ビデオエンコーダがピクチャのブロックを符号化するとき、ビデオエンコーダは走査パターンを適応的に更新し得る。ビデオエンコーダは、例えば、位置における係数がゼロ値化される傾向があるかどうかを示す統計値を収集し得、特定の位置における係数が通常ゼロ値化される場合、ビデオエンコーダは、通常非ゼロ値を有する他の係数よりも後にその係数を走査することを選択し得る。その上、ビデオエンコーダは、例えば、イントラ予測モード、ＴＵのために選択された変換、ＴＵが、ＴＵのために選択されたカスケード変換を使用して変換されるか、ＴＵのために選択された回転変換を使用して変換されるか、又はそれらの任意の組合せを使用して変換されるかなど、ファクタの様々な組合せのための別々の固定走査及び／又は走査統計値を記憶し得る。幾つかの例では、ビデオエンコーダは、カスケード変換の各組合せ、例えば、第１の変換に後続する回転変換について別々の統計値を記憶し得る。幾つかの例では、ビデオエンコーダは、ビデオエンコーダがカスケード変換を適用するときは適応走査を使用し、ビデオエンコーダが単一の変換を適用するときは固定走査を使用し得る。
【００９０】
上記のように、変換係数の２次元行列を走査すると１次元ベクトルが生成され、次いで、その１次元ベクトルはエントロピー符号化され得る。幾つかの例では、ビデオエンコーダは、コンテキスト適応型２値算術符号化（ＣＡＢＡＣ）を使用して変換係数をエントロピー符号化し得る。ビデオエンコーダはまた、例えば、有効係数フラグ及び最終係数フラグなど、シンタックス要素をエントロピー符号化し得る。変換係数を適応的に走査するとき、ビデオエンコーダは、係数が有効であるか否か示すために有効係数フラグの値を設定し得る。ビデオエンコーダは、例えば、係数の値が非ゼロのとき、係数が有効であると決定するように構成され得る。ビデオエンコーダはまた、適応走査によって生成されたベクトル中の最終係数を示すために最終係数フラグの値を設定し得る。ビデオデコーダは、エントロピー符号化された係数を適応的に逆走査するために、これらのシンタックス要素を使用して局所的に記憶された統計値を更新し得る。本開示は、そのようなシンタックス要素を符号化するためにＣＡＢＡＣを実行するときにコンテキストモデルを選択するための技術を提供する。ビデオエンコーダは、例えば、要素の中でも、符号化されているＣＵのイントラ予測モードに基づいてコンテキストモデルを選択し得る。
【００９１】
図１は、符号化ユニットの変換ユニットを符号化及び復号するための技術を利用し得る例示的なビデオ符号化及び復号システム１０を示すブロック図である。図１に示すように、システム１０は、通信チャネル１６を介して符号化ビデオを宛先機器１４に送信するソース機器１２を含む。ソース機器１２及び宛先機器１４は、広範囲にわたる機器のいずれかを備え得る。場合によっては、ソース機器１２及び宛先機器１４は、ワイヤレスハンドセット、所謂セルラー無線電話又は衛星無線電話などのワイヤレス通信機器を備えるか、或いは通信チャネル１６を介してビデオ情報を通信することができ、その場合、通信チャネル１６がワイヤレスである、任意のワイヤレス機器を備え得る。
【００９２】
但し、変換ユニットの符号化及び復号に関係する本開示の技術は、必ずしもワイヤレスアプリケーション又は設定に限定されるとは限らない。例えば、これらの技術は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、又は他のシナリオに適用され得る。従って、通信チャネル１６は、符号化ビデオデータの送信又は記憶に好適なワイヤレス又はワイヤード媒体の任意の組合せを備え得る。
【００９３】
図１の例では、ソース機器１２は、ビデオソース１８と、ビデオエンコーダ２０と、変調器／復調器（モデム）２２と、送信機２４とを含む。宛先機器１４は、受信機２６と、モデム２８と、ビデオデコーダ３０と、表示装置３２とを含む。本開示によれば、ソース機器１２のビデオエンコーダ２０は、本開示の変換ユニットの符号化及び復号のための技術を適用するように構成され得る。他の例では、ソース機器及び宛先機器は他の構成要素又は構成を含み得る。例えば、ソース機器１２は、外部カメラなどの外部ビデオソース１８からビデオデータを受信し得る。同様に、宛先機器１４は、内蔵表示装置を含むのではなく、外部表示装置とインターフェースし得る。
【００９４】
図１の図示のシステム１０は一例にすぎない。変換ユニットの符号化及び復号のための技術は、任意のデジタルビデオ符号化及び／又は復号機器によって実行され得る。概して、本開示の技術はビデオ符号化機器又はビデオ復号機器によって実行されるが、本技術は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。ソース機器１２及び宛先機器１４は、ソース機器１２が宛先機器１４に送信するための符号化ビデオデータを生成する、そのような符号化機器の例にすぎない。幾つかの例では、機器１２、１４は、機器１２、１４の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。従って、システム１０は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、又はビデオテレフォニーのためのビデオ機器１２とビデオ機器１４との間の一方向又は双方向のビデオ送信をサポートし得る。
【００９５】
ソース機器１２のビデオソース１８は、ビデオカメラなどのビデオキャプチャ機器、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、及び／又はビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、又はライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース１８がビデオカメラである場合、ソース機器１２及び宛先機器１４は、所謂カメラ付き携帯電話又はビデオ電話を形成し得る。但し、上述のように、本開示で説明する技術は、概してビデオ符号化に適用可能であり得、ワイヤレス及び／又はワイヤードアプリケーションに適用可能であり得る。各場合において、撮像されたビデオ、以前に撮像されたビデオ、又はコンピュータ生成ビデオは、ビデオエンコーダ２０によって符号化され得る。符号化ビデオ情報は、次いで、通信規格に従ってモデム２２によって変調され、送信機２４を介して宛先機器１４に送信され得る。モデム２２は、信号変調のために設計された様々なミキサ、フィルタ、増幅器又は他の構成要素を含み得る。送信機２４は、増幅器、フィルタ、及び１つ以上のアンテナを含む、データを送信するために設計された回路を含み得る。
【００９６】
宛先機器１４の受信機２６はチャネル１６を介して情報を受信し、モデム２８はその情報を復調する。この場合も、ビデオ符号化プロセスは、変換ユニットを符号化及び復号するための本明細書で説明する技術のうちの１つ以上を実装し得る。チャネル１６を介して通信される情報は、ビデオエンコーダ２０によって定義され、またビデオデコーダ３０によって使用される、符号化ビデオデータの符号化ユニット又は他のユニット、例えば、ピクチャグループ（ＧＯＰ）、スライス、フレームなどの特性及び／又は処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ＣＵ４分木データ構造が、最大符号化ユニットのためのシンタックス情報の一部を形成し得る。即ち、各ＬＣＵは、ＬＣＵがどのようにサブＣＵに分割されるかを記述し得るＣＵ４分木の形態のシンタックス情報、及びＬＣＵとサブＣＵとがどのように符号化されるかに関する信号伝達情報を含み得る。同様に、ＴＵ４分木データ構造は、それぞれのリーフＣＵがどのようにＴＵに分割されるかを記述し得る、ＬＣＵのリーフＣＵのためのシンタックス情報の一部を形成し得る。
【００９７】
ビデオデコーダ３０は、ＣＵのＴＵを含む、受信されたピクチャのＣＵをどのように復号すべきかを決定するためにＣＵ４分木とＴＵ４分木とを使用し得る。ビデオデコーダ３０は、次いで、ＣＵを復号し、復号されたビデオデータを表示装置３２に送り得る。表示装置３２は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。
【００９８】
図１の例では、通信チャネル１６は、無線周波数（ＲＦ）スペクトル或いは１つ以上の物理伝送線路など、任意のワイヤレス又は有線通信媒体、若しくはワイヤレス媒体と有線媒体との任意の組合せを備え得る。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル１６は、概して、有線媒体又はワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソース機器１２から宛先機器１４に送信するのに好適な任意の通信媒体、又は様々な通信媒体の集合体を表す。通信チャネル１６は、ソース機器１２から宛先機器１４への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、又は任意の他の機器を含み得る。
【００９９】
ビデオエンコーダ２０及びビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ１０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、ビデオ圧縮規格に従って動作し得る。別の例として、ビデオエンコーダ２０及びビデオデコーダ３０は、高効率ビデオ符号化（ＨＥＶＣ）規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。但し、本開示の技術は、いかなる特定の符号化規格にも限定されない。他の例には、ＭＰＥＧ−２及びＩＴＵ−Ｔ  Ｈ．２６３がある。図１には示されていないが、幾つかの態様では、ビデオエンコーダ２０及びビデオデコーダ３０は、それぞれオーディオエンコーダ及びデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、又は他のハードウェア及びソフトウェアを含んで、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットはＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【０１００】
ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）として知られる共同パートナーシップの成果として、ＩＳＯ／ＩＥＣ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とともにＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）によって策定された。幾つかの態様では、本開示で説明する技術は、Ｈ．２６４規格に概して準拠する機器に適用され得る。Ｈ．２６４規格は、ＩＴＵ−Ｔ  Ｓｔｕｄｙ  Ｇｒｏｕｐによる２００５年３月付けのＩＴＵ−Ｔ勧告Ｈ．２６４「Advanced Video Coding for generic audiovisual services」に記載されており、本明細書ではＨ．２６４規格又はＨ．２６４仕様、或いはＨ．２６４／ＡＶＣ規格又は仕様と呼ぶことがある。Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）はＨ．２６４／ＭＰＥＧ−４  ＡＶＣへの拡張に取り組み続けている。
【０１０１】
ビデオエンコーダ２０及びビデオデコーダ３０はそれぞれ、１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、或いはそれらの任意の組合せとして実装され得る。本技術がソフトウェアで実装されるとき、機器は、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つ以上のプロセッサを使用してその命令を実行して、本開示の技術を実行し得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は１つ以上のエンコーダ又はデコーダ中に含まれ得、そのいずれも複合エンコーダ／デコーダ（コーデック）の一部としてそれぞれのカメラ、コンピュータ、モバイル機器、加入者機器、ブロードキャスト機器、セットトップボックス、サーバなどに統合され得る。
【０１０２】
ビデオシーケンスは、一般に一連のビデオフレームを含む。ピクチャグループ（ＧＯＰ）は、概して、一連の１つ以上のビデオフレームを備える。ＧＯＰは、ＧＯＰ中に含まれる幾つかのフレームを記述するシンタックスデータを、ＧＯＰのヘッダ、ＧＯＰの１つ以上のフレームのヘッダ、又は他の場所中に含み得る。各フレームは、それぞれのフレームについての符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内の符号化ユニットに対して動作する。符号化ユニットはＬＣＵ又はサブＣＵに対応し得、ＣＵという用語はＬＣＵ又はサブＣＵを指し得る。ＬＣＵのヘッダ情報は、ＬＣＵのサイズ、ＬＣＵが分割され得る回数（本開示ではＣＵ深さと呼ぶ）、及び他の情報を記述し得る。各ビデオフレームは複数のスライスを含み得、各スライスは複数のＬＣＵを含み得る。
【０１０３】
幾つかの例では、様々なＣＵサイズについての予測が実行され得る。ＬＣＵのサイズはシンタックス情報によって定義され得る。特定のリーフノードＣＵのサイズが２Ｎ×２Ｎであると仮定すると、幾つかの例では、イントラ予測サイズは２Ｎ×２Ｎ又はＮ×Ｎを含み得、インター予測対称サイズは２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、又はＮ×Ｎを含み得る。幾つかの例では、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、及びｎＲ×２Ｎのサイズを用いたインター予測のために非対称分割が使用され得る。非対称分割では、ＣＵの一方向は分割されないが、他の方向は２５％と７５％とに分割される。ＣＵのどの部分が２５％分割されるかは、「ｎ」に後続する「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、又は「Ｒｉｇｈｔ」の指示によって示される。従って、例えば、「２Ｎ×ｎＵ」は、水平方向に、上部の０．２Ｎ×０．５Ｎ  ＰＵと下部の２Ｎ×１．５Ｎ  ＰＵとで分割される２Ｎ×２Ｎ  ＣＵを指す。
【０１０４】
本開示では、「Ｎ×（x）Ｎ」と「Ｎ×（by）Ｎ」は、垂直寸法と水平寸法とに関するブロック（例えば、ＣＵ、ＰＵ、又はＴＵ）の画素寸法、例えば、１６×（x）１６画素又は１６×（by）１６画素を指すために互換的に使用され得る。一般に、１６×１６ブロックは、垂直方向に１６画素を有し（ｙ＝１６）、水平方向に１６画素を有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮ画素を有し、水平方向にＮ画素を有し、但し、Ｎは非負整数値を表す。ブロック中の画素は行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数の画素を有する必要はない。例えば、ブロックはＮ×Ｍ画素を備え得、Ｍは必ずしもＮに等しいとは限らない。
【０１０５】
ＣＵのＰＵは、（画素領域とも呼ばれる）空間領域中の画素データを備え得るが、ＣＵのＴＵは、例えば、残差ビデオデータに対する離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、又は概念的に同様の変換などの変換の適用後の、変換領域中の係数を生成するために変換され得る。残差データは、概して、ＰＵの値と、入力ビデオデータからの同一位置配置非符号化画素の値との間の画素差分を表す。係数は更に量子化され得る。ＴＵの変換係数は周波数領域中にあると言われることがある。
【０１０６】
ビデオエンコーダ２０は、符号化ユニットの変換ユニットの符号化を改善するために本開示の技術のいずれか又は全てを実装し得る。同様に、ビデオデコーダ３０は、符号化ユニットの変換ユニットの復号を改善するためにこれらの技術のいずれか又は全てを実装し得る。概して、本開示の技術は、イントラモード予測に基づいて係数の計算に続いて変換ユニットの係数を変換することを対象とする。但し、本開示の幾つかの態様はインター予測符号化に関しても実装され得る。例として、これらの技術はＴＵのイントラ予測符号化に関連して説明される。これらの技術の幾つかの態様は、インター予測符号化とともにも実行され得ることを理解されたい。
【０１０７】
ビデオエンコーダ２０は、ＬＣＵを受信し、そのＬＣＵを、各々がサブＣＵを備える、４つの象限（quadrant）に分割すべきかどうか、又はそのＬＣＵを分割せずに符号化すべきかどうかを決定し得る。ＬＣＵをサブＣＵに分割すると決定した後に、ビデオエンコーダ２０は、各サブＣＵを、各々がサブＣＵを備える、４つの象限に分割すべきかどうかを決定し得る。ビデオエンコーダ２０は、ＣＵを分割すべきかどうかを再帰的に決定することを続け得、分割の最大数はＬＣＵ深さによって示される。ビデオエンコーダ２０は、ＬＣＵとそのＬＣＵのサブＣＵとの分割を示すＣＵ４分木データ構造を与え得る。ＬＣＵはＣＵ４分木のルートノードに対応し得る。ＣＵ４分木の各ノードはＬＣＵのＣＵに対応し得る。その上、各ノードは、対応するＣＵが分割されるかどうかを示す分割フラグ値を含み得る。
【０１０８】
ＬＣＵが分割される場合、例えば、ビデオエンコーダ２０は、ＬＣＵが分割されることを示すためにルートノードにおいて分割フラグの値を設定し得る。次いで、ビデオエンコーダ２０は、もしあれば、ＬＣＵのサブＣＵのうちのどれが分割されるのかを示すためにルートノードの子ノードの値を設定し得る。分割されないＣＵはＣＵ４分木データ構造のリーフノードに対応し得、リーフノードは子ノードを有しない。その上、各リーフノードＣＵは、そのリーフノードＣＵのＴＵ４分木によって示される、１つ以上のＴＵを含み得る。
【０１０９】
ビデオエンコーダ２０は、４分木データ構造中のリーフノードに対応するＬＣＵの各サブＣＵを符号化し得る。例として、本開示では、リーフノードＣＵに対応するＴＵのイントラ予測符号化に関係する技術について説明する。イントラモード符号化では、ビデオエンコーダ２０は、ＴＵ４分木データ構造中のリーフノードに対応する各ＴＵについて予測ユニット（ＰＵ）を形成し得る。幾つかの例では、ビデオエンコーダ２０は、ＣＵについての３４個の異なるイントラ予測モードのうちの１つを選択し、ＴＵ４分木のルートノードにおいてその選択されたイントラ予測モードを信号伝達し得る。（ＣＵ４分木中のリーフノードＣＵにサイズが等しい）第１の最大ＴＵから開始して、ビデオエンコーダ２０は、最大ＴＵを区分すべきかどうか、及び、再帰的に、親ＴＵのサブＴＵを区分すべきかどうかを決定し得る。ビデオエンコーダ２０は、更に、ＴＵ４分木を含むＣＵのためのリーフノードＣＵ４分木においてイントラ予測モードを信号伝達し得、信号伝達されるイントラ予測モードは、ＣＵに対応するＴＵ４分木においてＴＵの各々の予測値を計算するために使用されるべきイントラ予測モードを記述し得る。ビデオエンコーダ２０は、選択されたイントラ予測モードに従って、隣接する、前に符号化されたビデオデータからＴＵの予測データを取り出す。このようにして、イントラ予測モードを使用して予測されるＣＵのＰＵは、ＣＵのＴＵと同じサイズである。
【０１１０】
本開示の技術によれば、例えば、現在のＣＵサイズにより、選択されたイントラ予測モードがそのＣＵのために利用可能でない場合、ビデオエンコーダ２０は、４分木のルートにおいて信号伝達されたモードがマッピングされるイントラ予測モードを選択し得る。即ち、ビデオエンコーダ２０は、多対１の対応で、モードの大きいセットのうちのモードの各々を、より小さいセットのモード、例えば、その大きいセットのサブセットにマッピングする情報を含み得る。ビデオエンコーダ２０は、次いで、より小さいセットからイントラ予測モードを使用してＣＵについての１つ以上のＰＵをイントラ予測し得る。このようにして、ビデオエンコーダ２０は、ＬＣＵのために１つのイントラ予測モードを信号伝達するだけでよいが、ビデオエンコーダ２０は、モードの各々とモードが使用されるサブＣＵとを明示的に信号伝達することなしにＬＣＵのサブＣＵをイントラ予測するために複数のモードを使用し得る。従って、ビットストリーム中に含まれる情報の量を増加させることなしに複数のイントラ予測モードが使用され得、それによってオーバーヘッドが低減される。別の実施形態では、サブＣＵサイズ又はＰＵサイズにかかわらずＬＣＵのために同じイントラ予測モードを使用することを可能にするために、ＣＵレベルにおいてより大きい数の予測方向が可能にされ得る。
【０１１１】
ビデオエンコーダ２０は、更に、ビデオエンコーダ２０が決定するＣＵ中のＴＵがエッジを含むことを予測するためのエッジベース予測モードで構成され得る。概して、エッジは、ＴＵを通る比較的真直ぐなラインに沿った高周波変動に対応する。例えば、エッジは、同じくＴＵ中に表された背景と対比されるＴＵ中に表された対象物の境界に沿って生じ得る。ＴＵ中のエッジを検出するために、ビデオエンコーダ２０は、ＴＵ中の画素の勾配を計算し、その勾配がＴＵを通るラインを識別するかどうかを決定し得る。現在のＴＵがエッジを含むと決定した後に、ビデオエンコーダ２０は、エッジベース予測モードを使用すべきかどうかを決定し得る。そのようなエッジが検出された場合、及びエッジベース予測モードが選択されているとき、ビデオエンコーダ２０は、通常ならばＤＣ予測モードの使用を示すであろう値を使用してエッジベース予測モードの使用を信号伝達し得る。即ち、現在のブロック中にエッジの存在を検出した後に、ビデオエンコーダ２０は、エッジベース予測モード及び他の方向性予測モードを含む（がＤＣモードを除く）セットからイントラ予測モードを選択し、エッジベース予測モードが選択されたとき、ＤＣ予測モードの使用を信号伝達するかのようにエッジベース予測モードの使用を信号伝達し得る。
【０１１２】
ＣＵのＴＵの予測データを生成するためのイントラ予測又はインター予測符号化の後に、ビデオエンコーダ２０は、ＴＵの予測データと元のデータとの間の画素ごとの差を表すＴＵの係数を備える、残差データを計算し得る。ビデオエンコーダ２０は、このようにしてＣＵのための残差データを含む１つ以上のＴＵを形成し得る。ビデオエンコーダ２０は、次いで、それらのＴＵを変換し得る。本開示の技術によれば、ビデオエンコーダ２０は、ＴＵのデータをイントラモード予測するために使用されたイントラ予測モードに基づいてＴＵに適用すべき変換を選択し得る。
【０１１３】
幾つかの例では、ビデオエンコーダ２０は、イントラ予測モードの大きいセットと、イントラ予測モードのより小さいセットとの間の多対１のマッピングを与える構成データを含み得る。例えば、ビデオエンコーダ２０は、ＨＭの３４個のイントラ予測モードとＨ．２６４の９つのイントラ予測モードとの間のマッピングを与える構成データを含み得る。その上、ビデオエンコーダ２０は、イントラ予測モードのより小さいセットと方向性変換との間のマッピングを与える構成データを含み得る。方向性変換のセットは、イントラ予測モードのより小さいセットと方向性変換のセットとの間に１対１のマッピングがあるように、イントラ予測モードのより小さいセットと同じサイズであり得る。このようにして、ビデオエンコーダ２０の構成データは、イントラ予測モードの大きいセットと方向性変換のセットとの間の間接的な多対１のマッピングを与え得る。代替的に、幾つかの例では、方向性変換の大きいセットと、ある方向性変換、又は離散コサイン変換、離散サイン変換、又は他の概念的に同様の変換など、他の設計変換の大きいセットとの１対１のマッピングがあり得る。いずれの場合も、マッピングを使用して、ビデオエンコーダ２０は、ＴＵを含むＣＵのために選択されたイントラ予測モードに基づいて各ＴＵの変換を選択し得る。
【０１１４】
幾つかの例では、特定のサイズのＴＵのために可能な複数の方向性変換があり得る。幾つかの例では、ビデオエンコーダ２０は、ＣＵに対応するＴＵ４分木データ構造のルート（即ち、ＣＵ４分木中のリーフノードＣＵ）において、選択されたイントラ予測モード（例えば、選択されたイントラ予測方向）を信号伝達し得、この選択されたイントラ予測モードはＣＵの全てのＴＵに適用され得る。ただ１つの変換が可能であるサイズをＣＵ中の全てのＴＵが有する場合、ビデオエンコーダ２０は、上記の例に従って進み得、ＬＣＵのための信号伝達されたイントラ予測モードからその変換が導出され得る。しかしながら、ＣＵ中の少なくとも１つのＴＵが、複数の変換が可能であるサイズである場合、ビデオエンコーダ２０は、可能な変換のうちの１つを選択し、ＴＵ４分木のルートノードにおいてその選択された変換を信号伝達し得る。従って、ビデオエンコーダ２０は、信号伝達された変換を使用して、複数の可能な変換に関連付けられたサイズを有するＣＵ中の各ＴＵを変換し得る。このようにして、ビデオエンコーダ２０は、余分な追加の帯域幅を消費することなしに、変換を明示的に信号伝達し得る。
【０１１５】
幾つかの例では、ビデオエンコーダ２０がＴＵの値を予測するためにエッジベースイントラ予測モードを適用するとき、ビデオエンコーダ２０は、エッジの角度に基づいてＴＵに適用すべき変換を選択し得る。上記で説明したように、ビデオエンコーダ２０は、現在のＴＵと境界を共有する、隣接するＴＵ中のエッジの検出に基づいて現在のＴＵ中にエッジが存在すると決定し得る。本開示の技術によれば、ビデオエンコーダ２０は、エッジの相対角度を計算し、エッジのその角度を使用して、イントラ予測モードの方向性変換を選択するのと同様の方法で方向性変換を選択し得る。例えば、ビデオエンコーダ２０は、エッジの角度を方向性イントラ予測モードの角度と比較し、エッジの角度に最も近い角度を有する方向性イントラ予測モードを決定し、次いで、その決定されたイントラ予測モードにマッピングされた変換を使用してエッジベース予測モード予測されたＴＵを変換し得る。
【０１１６】
幾つかの例では、ビデオエンコーダ２０は、本開示ではカスケード変換と呼ぶ、２つ以上の変換をＴＵに適用するように構成され得る。例えば、第１の変換は、一般的に方向性変換とも呼ばれる、離散コサイン変換（ＤＣＴ）又はカルーネンレーベ変換（ＫＬＴ）に対応し得る。方向性変換が、その方向性変換にマッピングされたイントラ予測モードに基づいて選択されたとき、その変換はモード依存方向性変換（ＭＤＤＴ：mode-dependent directional transform）と呼ばれることがある。本開示ではまた、予測モードのために特に選択された方向性変換、離散コサイン変換、離散サイン変換、又は他の概念的に同様の変換を含み得る、イントラ予測モードに基づいて選択された変換を設計変換と呼ぶ。
【０１１７】
第２の変換は回転変換に対応し得る。幾つかの例では、ビデオエンコーダ２０は複数の回転変換を用いて構成され得る。ビデオエンコーダ２０は、幾つかの例では、回転変換の各々のレート歪みコストを計算することを通して適用すべき回転変換のうちの１つを選択し得る。ビデオエンコーダ２０は、第１の変換よりもより少ない数の係数に回転変換を適用するように構成され得る。本開示の技術によれば、ビデオエンコーダ２０は、列変換行列と行変換行列とを含む、モード依存回転変換（ＭＤＲＯＴ：mode-dependent rotational transform）のための構成データを含み得る。イントラ予測モードは、第１の変換、例えば、ＭＤＤＴのうちの１つと、回転変換のうちの１つ、例えば、ＭＤＲＯＴのうちの１つの両方にマッピングされ得る。従って、ＣＵのための信号伝達されたイントラ予測モードはまた、ＬＣＵのＴＵに適用すべき第１の変換と、ＴＵに適用すべき第２の変換との指示を与え得る。例としてＭＤＲＯＴについて説明したが、第２の変換は、方向性変換など、他の変換を備え得ることを理解されたい。
【０１１８】
ＴＵの係数を変換することによって、ビデオエンコーダ２０は変換係数の行列を生成する。この行列はＴＵと同じサイズを有する。概して、変換プロセスは、データを更に圧縮する量子化のための残差データを準備する。量子化は、概して、係数を表すために使用されるデータの量ができるだけ低減されるように変換係数が量子化されるプロセスを指す。量子化プロセスは、係数の一部又は全部に関連するビット深さを低減し得る。例えば、量子化中にｎビット値がｍビット値に切り捨てられ得、但し、ｎはｍよりも大きい。
【０１１９】
幾つかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るベクトルを生成するために、予め定義された走査順序を利用して量子化変換係数を走査し得る。例えば、従来の変換又はモード依存変換の後に、ビデオエンコーダ２０は、ジグザグ走査を適用するように構成され得る。ビデオエンコーダ２０はまた、イントラ予測モード、及び／又はブロックに適用される１つ以上の変換に基づいて走査を適用するように構成され得る。幾つかの例では、ビデオエンコーダ２０は、ＴＵの係数の変換及び量子化の後に適応走査を実行し得る。幾つかの例では、ビデオエンコーダ２０は、可能な変換方式ごとに異なる走査方式を定義する構成データを備え得る。例えば、ビデオエンコーダ２０は、方向性変換のセットと予め定義された走査パターンのセットとの間の１対１のマッピングを備える構成データを含み得る。対応する方向性変換に続いてベクトル中の変換係数の配置を最適化するために、走査パターンは、特定の方向性変換後の走査の経験的テストに基づいて定義され得る。代替的に、ビデオエンコーダ２０は、イントラ予測モード（又は変換方式）がマッピングされ得る走査インデックスを定義する構成データを含み得、走査インデックスは、予め定義された走査又は適応走査のいずれかを示し得る。
【０１２０】
従って、各方向性変換は、経験的テストに基づいて、その方向性変換のために比較的最適化された関連する走査パターンを有し得る。ＴＵを含むＣＵのためのＴＵ４分木において信号伝達されるイントラ予測モードと、方向性変換及び走査パターンとの間のマッピングがあると仮定すると、上記のように、ビデオエンコーダ２０は、特定のＴＵのために使用される方向性変換又は走査パターンを信号伝達する必要はない。様々な例において、走査パターンは、選択された第１の変換（例えば、ＤＣＴ又はＭＤＤＴ）、選択された第２の変換（例えば、ＭＤＲＯＴ、ＤＣＴ、又は他の２次分離可能変換）、或いはその両方の組合せに依存することができる。幾つかの例では、２つのカスケード変換のうちの一方は、特定の方向（例えば、水平又は垂直）に適用される設計変換を備え得、ビデオエンコーダ２０は、構成データに基づいて、同じ方向又は直交方向に概して対応する走査順序を選択し得る。
【０１２１】
ビデオエンコーダ２０がＴＵにカスケード変換を適用する例では、ビデオエンコーダ２０は、カスケード変換から生じる係数を適応的に走査し得る。適応走査を実行するために、ビデオエンコーダ２０は、概して、変換係数の行列中の特定の位置が有効である（例えば、非ゼロである）可能性がより高いかより低いかを示す統計値を追跡し得る。ビデオエンコーダ２０は、走査パターンがこれらの統計的可能性に対応するように、走査パターンを経時的に適応させ得る。即ち、適応走査パターンにより、有効である（例えば、非ゼロである）確率が相対的により高い変換係数が、有効である確率が相対的により低い変換係数の前に走査されることを保証することが試みられ得る。代替的に、ビデオエンコーダ２０は、カスケード変換がマッピングされる走査インデックスを選択し得る。
【０１２２】
ビデオエンコーダ２０は、可能なカスケード変換ごとに別々に走査統計値を追跡し得る。例えば、変換行列中の特定の係数位置が異なり得る可能性は、カスケード変換中に適用される第１の変換と第２の変換とに基づく。従って、ビデオエンコーダ２０は、可能なカスケード変換ごとに統計値の別々の独立したセットを追跡し得る。一例として、イントラ予測モードがＭＤＤＴとＭＤＲＯＴ（又は他の２次分離可能変換）の両方にマッピングされると仮定すると、ビデオエンコーダ２０は、ＴＵに適用されるＭＤＤＴとＭＤＲＯＴ（又は他の２次変換）との組合せごとに独立した統計値を追跡し得る。別の例として、ビデオエンコーダ２０は、ビデオエンコーダ２０がＴＵにＤＣＴを適用するときのみ、カスケード変換を実行するように構成され得る。従って、ビデオエンコーダ２０は、ＤＣＴの後に適用されるＴＵのための選択されたＭＤＲＯＴ（又は他の２次分離可能変換）に基づいて、適応走査を実行し、適応走査を実行するための独立した統計値を追跡し得る。
【０１２３】
幾つかの例では、適応走査を使用するか所定の走査を使用するかにかかわらず、ビデオエンコーダ２０は、走査の後に配列中の係数をゼロ設定し得る。即ち、ビデオエンコーダ２０は、配列の位置Ｎから終端までの係数の値を０に等しく設定し得る。Ｎの値はＣＵのサイズ及び／又はＴＵのサイズに関係し得る。幾つかの例では、ビデオエンコーダ２０は、走査するより前に、行列中の変換係数、例えば、行列の左上隅にある係数以外の行列中の全ての係数をゼロ設定し得る。
【０１２４】
１次元ベクトルを形成するために変換行列を走査した後に、ビデオエンコーダ２０は、例えば、コンテンツ適応型可変長符号化（ＣＡＶＬＣ）、コンテキスト適応型２値算術符号化（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型２値算術符号化（ＳＢＡＣ）、又は別のエントロピー符号化方法に従って１次元ベクトルをエントロピー符号化し得る。
【０１２５】
ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルの可変長コードを選択し得る。ＶＬＣのコードワードは、相対的により短いコードがより可能性が高いシンボルに対応し、より長いコードがより可能性が低いシンボルに対応するように構築され得る。このようにして、ＶＬＣを使用すると、例えば、送信されるべきシンボルごとに等長コードワードを使用する場合よりも、ビット節約を達成し得る。
【０１２６】
ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルを符号化するために、あるコンテキストに適用すべきコンテキストモデルを選択し得る。コンテキストは、例えば、隣接値が非ゼロか否かに関係し得る。ビデオエンコーダ２０はまた、適応走査を実行するときに生成される有効係数フラグ及び最終係数フラグなど、シンタックス要素をエントロピー符号化し得る。本開示の技術によれば、ビデオエンコーダ２０は、コンテキストモデル選択のために使用されるファクタの中でも、例えば、イントラ予測方向、シンタックス要素に対応する係数の走査位置、ブロックタイプ、及び／又は変換タイプに基づいて、これらのシンタックス要素を符号化するために使用されるコンテキストモデルを選択し得る。
【０１２７】
ビデオデコーダ３０は、ビデオエンコーダ２０の方法と本質的に対称的な方法で動作し得る。例えば、ビデオデコーダ３０は、符号化されたＴＵデータを含む、符号化されたＣＵを表すエントロピー符号化されたデータを受信し得る。ＣＵがイントラ予測符号化されたと仮定すると、この受信データは、ＰＵデータを符号化するために使用されたイントラ予測モードを示す情報を含み得る。ビデオデコーダ３０は、この受信データを逆エントロピー符号化して符号化量子化係数を形成し得る。ビデオエンコーダ２０が可変長コードアルゴリズムを使用してデータをエントロピー符号化したとき、ビデオデコーダ３０は、受信コードワードに対応するシンボルを決定するために１つ以上のＶＬＣテーブルを使用し得る。ビデオエンコーダ２０が算術符号化アルゴリズムを使用してデータをエントロピー符号化したとき、ビデオデコーダ３０は、データを符号化するためにビデオエンコーダ２０によって使用されたのと同じコンテキストモデルに対応し得るデータを復号するために、コンテキストモデルを使用し得る。
【０１２８】
ビデオデコーダ３０は、次いで、ビデオエンコーダ２０によって使用された走査をミラーリングする逆走査を使用して、復号された係数を逆走査し得る。係数を適応的に逆走査するために、ビデオデコーダ３０は、ビデオエンコーダ２０によって適応走査を実行するために使用された統計値を再生成するために、有効係数フラグ及び最終係数フラグを含むシンタックス要素を復号し得る。ビデオデコーダ３０は、それによって、エントロピー復号プロセスから得られた１次元ベクトルから２次元行列を形成し得る。
【０１２９】
次に、ビデオデコーダ３０は、逆走査によって生成された２次元行列中の係数を逆量子化し得る。ビデオデコーダ３０は、次いで、２次元行列に１つ以上の逆変換を適用し得る。逆変換は、ビデオエンコーダ２０によって適用された変換に対応し得る。ビデオデコーダ３０は、例えば、ＴＵの係数を計算するために使用されるイントラ予測モードに基づいて、適用すべき逆変換を決定し得、特定のサイズのＴＵのために複数の変換が利用可能である場合は、現在復号されているＴＵを含むＣＵに対応するＴＵ４分木のルートにおいて情報が信号伝達され得る。このようにして、ビデオデコーダ３０は、ＴＵのために信号伝達されるイントラ予測モードに基づいて、ＴＵを再生するためにＴＵの逆量子化係数に適用されるべき１つ以上の逆変換を選択し得る。その上、ビデオデコーダ３０は、例えば、ＴＵ４分木において、イントラ予測モードの信号伝達された指示に対応するイントラ予測モードを使用してＴＵの予測値を計算し得る。幾つかの例では、ビデオデコーダ３０は、隣接ＴＵ中で検出されたエッジに基づいて、ＴＵ中にエッジが存在すると決定し得、ＤＣモードが信号伝達されたときは、ＴＵの値を予測するために、代わりにエッジベースモードを使用し得る。
【０１３０】
ビデオエンコーダ２０及びビデオデコーダ３０はそれぞれ、適用可能なとき、１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ又はデコーダ回路のいずれか、或いはそれらの任意の組合せとして実装され得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は１つ以上のエンコーダ又はデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ／デコーダ（コーデック）の一部として統合され得る。ビデオエンコーダ２０及び／又はビデオデコーダ３０を含む装置は、集積回路、マイクロプロセッサ、及び／又はセルラー電話などのワイヤレス通信機器を備え得る。
【０１３１】
図２は、本開示で説明するビデオデータの変換ユニットを符号化するための技術のいずれか又は全てを実装し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０は、ビデオフレーム内のＣＵのイントラ符号化及びインター符号化を実行し得る。イントラ符号化は、所与のビデオフレーム内のビデオの空間的冗長性を低減又は除去するために空間的予測に依拠する。インター符号化は、ビデオシーケンスの現在のフレームと前に符号化されたフレームとの間の時間的冗長性を低減又は除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、幾つかの空間ベースの圧縮モードのいずれかを指し、単方向予測（Ｐモード）又は双方向予測（Ｂモード）などのインターモードは、幾つかの時間ベースの圧縮モードのいずれかを指し得る。
【０１３２】
図２に示すように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測ユニット４６と、参照フレームストア６４と、加算器５０と、変換ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。図２に示す変換ユニット５２は、実際の変換を実行するユニットであり、ＣＵのＴＵと混同されるべきでない。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。更に、ビデオエンコーダ２０は、マッピングデータ６６など、構成データを含み得る。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図２に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理するであろう。
【０１３３】
符号化プロセス中に、ビデオエンコーダ２０は符号化されるべきビデオフレーム又はスライスを受信する。フレーム又はスライスは、複数のビデオブロック、例えば、最大符号化ユニット（ＬＣＵ）に分割され得る。動き推定ユニット４２及び動き補償ユニット４４は、時間圧縮を行うために、１つ以上の参照フレーム中の１つ以上のブロックに対して受信されたビデオブロックのインター予測符号化を実行する。イントラ予測ユニット４６は、空間圧縮を行うために、符号化されるべきブロックと同じフレーム又はスライス中の１つ以上の隣接ブロックに対して受信されたビデオブロックのイントラ予測符号化を実行し得る。
【０１３４】
モード選択ユニット４０は、例えば、（歪みと呼ばれることがある）誤差結果に基づいて符号化モード、即ち、イントラ又はインターのうちの１つを選択し、残差ブロックデータを生成するために、得られたイントラ符号化ブロック又はインター符号化ブロックを加算器５０に供給し、参照フレーム中で使用するための符号化ブロックを再構成するために、得られたイントラ符号化ブロック又はインター符号化ブロックを加算器６２に供給し得る。幾つかのビデオフレームはＩフレームに指定され得、Ｉフレーム中の全てのブロックはイントラ予測モードで符号化される。場合によっては、例えば、動き推定ユニット４２によって実行された動き探索によって得られたブロックの予測が不十分であったとき、イントラ予測ユニット４６は、Ｐフレーム又はＢフレーム中のブロックのイントラ予測符号化を実行し得る。
【０１３５】
動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、参照フレームの参照サンプルに対する、現在のフレーム中の予測ユニットの変位を示し得る。参照サンプルは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、又は他の差分メトリックによって決定され得る画素差分に関して、符号化されているＰＵを含むＣＵの部分にぴったり一致することがわかるブロックである。動き補償ユニット４４によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ユニットの値をフェッチ又は生成することを伴い得る。この場合も、幾つかの例では、動き推定ユニット４２と動き補償ユニット４４とは機能的に統合され得る。
【０１３６】
動き推定ユニット４２は、予測ユニットを参照フレームストア６４に記憶された参照フレームの参照サンプルと比較することによってインター符号化フレームの予測ユニットの動きベクトルを計算する。幾つかの例では、ビデオエンコーダ２０は、参照フレームストア６４に記憶された参照フレームのサブ整数画素位置の値を計算し得る。例えば、ビデオエンコーダ２０は、参照フレームの１／４画素位置、１／８画素位置、又は他の分数画素位置の値を計算し得る。従って、動き推定ユニット４２は、完全画素位置と分数画素位置とに対する動き探索を実行し、分数画素精度で動きベクトルを出力し得る。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。動きベクトルによって識別される参照フレームの部分は参照サンプルと呼ばれることがある。動き補償ユニット４４は、例えば、ＰＵの動きベクトルによって識別される参照サンプルを取り出すことによって、現在のＣＵの予測ユニットについての予測値を計算し得る。
【０１３７】
イントラ予測ユニット４６は、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、受信ブロックをイントラ予測符号化し得る。イントラ予測ユニット４６は、隣接する、前に符号化されたブロック、例えば、（ラスタ走査順序など）ブロックについての左から右、上から下への符号化順序を仮定すると、現在のブロックの上ブロック、右上ブロック、左上ブロック、又は左ブロックに対して受信ブロックを符号化し得る。イントラ予測ユニット４６は多種多様なイントラ予測モードで構成され得る。例えば、イントラ予測ユニット４６は、符号化されているＣＵのサイズに基づいて、一定数の方向性予測モード、例えば、３４個の方向性予測モードで構成され得る。
【０１３８】
イントラ予測ユニット４６は、例えば、様々なイントラ予測モードの誤差値を計算し、最も低い誤差値を生じるモードを選択することによってイントラ予測モードを選択し得る。方向性予測モードは、空間的に隣接する画素の値を合成し、その合成された値をＰＵ中の１つ以上の画素位置に適用するための機能を含み得る。ＰＵ中の全ての画素位置の値が計算されると、イントラ予測ユニット４６は、ＰＵと符号化されるべき受信ブロックとの間の画素差分に基づいて予測モードの誤差値を計算し得る。イントラ予測ユニット４６は、許容できる誤差値を生じるイントラ予測モードが発見されるまでイントラ予測モードをテストし続け得る。イントラ予測ユニット４６は、次いで、ＰＵを加算器５０に送り得る。
【０１３９】
本開示の技術によれば、イントラ予測ユニット４６は、エッジベース予測モードを使用してエッジを含むブロックを予測するように構成され得る。特に、イントラ予測ユニット４６は、隣接ブロックのうちの少なくとも１つの中にエッジが検出されるかどうか、及びそのエッジが前に符号化されたブロックと現在のブロックとの間の境界を横断するかどうかを決定するために、隣接する、前に符号化されたブロックの画素を分析し得る。エッジを検出するために、イントラ予測ユニット４６は、隣接する、前に符号化されたブロック中の画素の勾配を、水平方向と垂直方向の両方で計算し得る。隣接ブロックのうちの１つの中の複数の画素の勾配が、隣接ブロックと現在のブロックとの間の境界を横断する共通のラインに対して比較的直角であるとき、イントラ予測ユニット４６は、現在のブロックがエッジ（特に、上記で説明したように検出されたラインに沿ったエッジ）をも含むと決定し得る。このコンテキストにおける「エッジ」という用語は、画素のブロック内の比較的まっすぐなラインに沿った高周波変動を指し、別々に符号化されたブロック間の境界又は境界線を指すものではないことを理解されたい。
【０１４０】
従って、ブロック中にエッジが検出されたとき、イントラ予測ユニット４６は、エッジベース予測モードを使用してブロックを予測すべきか方向性イントラ予測モードを使用してブロックを予測すべきかを決定し得る。イントラ予測ユニット４６がエッジベース予測モードを選択したとき、イントラ予測ユニット４６は、イントラ予測モードを信号伝達する必要がある値の数を増加させるのを回避するために、ブロックを予測するためにＤＣ予測モードが使用されたことを信号伝達し得る。従って、図３に関してより詳細に説明するように、ビデオデコーダ３０などのビデオデコーダは、ブロック中にエッジが存在するとビデオデコーダが決定したとき、ブロックを予測するためにＤＣ予測モードが使用されたという指示（例えば、信号又はシンタックス情報）をエッジベース予測モードの指示として解釈するように構成され得る。
【０１４１】
ビデオエンコーダ２０は、符号化されている元のビデオブロックから、動き補償ユニット４４又はイントラ予測ユニット４６によって計算された予測データを減算することによって残差ブロックを形成する。加算器５０は、この減算演算を実行する１つ以上の構成要素を表す。残差ブロックは値の２次元行列に対応し得、残差ブロック中の値の数は、残差ブロックに対応するＰＵ中の画素の数と同じである。残差ブロック中の値は、ＰＵ中の同一位置配置画素と、符号化されるべき元のブロック中の同一位置配置画素との間の差分に対応し得る。
【０１４２】
変換ユニット５２は、残差ブロックから１つ以上の変換ユニット（ＴＵ）を形成し得る。変換ユニット５２は、離散コサイン変換（ＤＣＴ）、方向性変換、又は概念的に同様の変換などの変換をＴＵに適用して、変換係数を備えるビデオブロックを生成する。本開示の技術によれば、イントラ予測ユニット４６は、例えば、ＴＵに対応するＴＵ４分木のノードにおけるモードを信号伝達することによって、ＴＵのために選択されたイントラ予測モードの指示を変換ユニット５２に送り得る。従って、変換ユニット５２は、イントラ予測ユニット４６から受信されたイントラ予測モードの指示に基づいてＴＵに適用すべき変換を選択し得る。
【０１４３】
幾つかの例では、変換ユニット５２は、ＴＵを予測するために使用されるイントラ予測モードに基づいてＴＵに適用すべき方向性変換などの変換を選択するように構成される。即ち、マッピングデータ６６は、ＴＵを予測するために使用されるイントラ予測モードに基づいて適用されるべき変換を記述する構成データを記憶し得る。このようにして、変換ユニット５２は、残差ブロックを計算するために使用されるイントラ予測モードにマッピングされた変換を使用して残差ブロックを変換し得る。同様に、マッピングデータ６６は、ブロックの量子化変換係数に適用されるべき走査を選択するために使用され得る特定の走査インデックスに、イントラ予測モード、変換、又はその両方をマッピングし得る。
【０１４４】
幾つかの例では、マッピングデータ６６は、イントラ予測モードの大きいセットと、イントラ予測モードのより小さいセットとの間の多対１のマッピングを含む構成データを記憶し得る。より小さいセットはイントラ予測モードのサブセットを備え得る。幾つかの例では、大きいセットは、ＨＥＶＣテストモデルによってサポートされるイントラ予測モードを備え得、より小さいセットは、Ｈ．２６４によってサポートされるイントラ予測モードを備え得る。マッピングデータ６６はまた、イントラ予測モードのより小さいセットと変換との間の、１対１のマッピングなどのマッピングを含み得る。イントラ予測モードのより小さいセットは、対応するイントラ予測モードのために経験的に最良の変換結果を与えるように設計された方向性変換に１対１でマッピングされ得る。
【０１４５】
幾つかの例では、大きいセットのイントラ予測モードと、より小さいセットのイントラ予測モードは、それぞれの予測角度に関連付けられ得る。予測モードの大きいセットとより小さいセットとの間のマッピングは、従って、大きいセットのイントラ予測モードの予測角度に近い、より小さいセット中のイントラ予測モードのうちの１つの予測角度を選択することによって決定され得る。αが、大きいセットのイントラ予測モードのうちの１つの予測角度を表すとし、βｉが、より小さいセットのｉ番目のイントラ予測モードの予測角度を表すとする。イントラ予測モードをより小さいセットのイントラ予測モードのうちの１つにマッピングするために、ビデオエンコーダ２０は、αが与えられれば、以下の式１が満たされるようなβｉを見つけ得る。
【数１】
0005944459.tif 000003
【０１４６】
変換ユニット５２は、イントラ予測ユニット４６から選択されたイントラ予測モードの指示を受信し、次いで、マッピングデータ６６を照会して、加算器５０から受信された残差値を含むＴＵを変換するために使用すべき変換を決定し得る。ＴＵが、複数の可能な変換が可能であるサイズである場合、ビデオエンコーダ２０の変換ユニット５２又は別のユニットは、変換ユニット５２が同じＣＵ中のそのサイズの全てのＴＵに同じ変換を適用し得るように、そのサイズのＴＵのための変換を選択し得る。幾つかの例では、変換ユニット５２は更に、第１の変換からカスケードされる回転変換を実行するように構成され得る。即ち、第１の変換の後に、変換ユニット５２は回転変換を選択し、その回転変換を変換係数に適用し得る。変換ユニット５２は、例えば、現在のＴＵのＰＵを予測するために使用されるイントラ予測モードに基づいて回転変換を選択し得る。
【０１４７】
上記で説明したように、幾つかの例では、イントラ予測ユニット４６は、ブロックがエッジを含むかどうか（即ち、ブロック内の画素間の高周波変動）を決定するように構成される。エッジが検出されたとき、イントラ予測ユニット４６は、エッジベース予測モード又は従来の方向性イントラ予測モードのいずれかを選択し得る。即ち、イントラ予測ユニット４６は、エッジベース予測モードの代わりにＤＣ予測モードを使用し得る。幾つかの例では、ブロックがエッジベース予測モードを使用して予測されたとき、変換ユニット５２は、エッジの角度に極めて近い角度を有するイントラ予測モードの方向にマッピングされた（方向性変換などの）変換を選択する。即ち、変換ユニット５２は、幾つかの例では、ブロック内のエッジの角度を決定し、エッジの角度に極めて近い（例えば、それに対して最小距離を有する）角度を有する方向性イントラ予測モードにマッピングされた変換を選択する。幾つかの例では、変換ユニット５２は、ブロック中で検出されたエッジの角度に極めて近い角度を有する方向性イントラ予測モードにマッピングされた変換を選択するように構成される。
【０１４８】
ビデオエンコーダ２０はまた、通常ならばＤＣ予測モードの使用を信号伝達するために使用されるであろう値を使用してエッジベース予測モードの使用を信号伝達し得る。従って、ＤＣ予測モードが信号伝達されるが、ブロックを予測するためにエッジベース予測モードが使用され得る。同様に、ブロックを予測するためにエッジベース予測モードが使用され得るが、変換ユニット５２は、ブロック中で検出されたエッジの角度に近い角度を有するイントラ予測モードにマッピングされた変換を使用し得る。
【０１４９】
マッピングデータ６６は、ＤＣ予測モードが信号伝達されるブロック中でエッジが検出されたとき、変換ユニット５２が、そのエッジの角度に近い角度を有する変換を選択すべきことを指示する構成データを提供し得る。その上、上記で説明したように、マッピングデータ６６は、イントラ予測モードからのマッピングと、方向性変換に対する（そのイントラ予測モードを定義し得る）そのイントラ予測モードの角度とを含み得る。従って、変換ユニット５２は、マッピングデータ６６を照会して、ブロック中のエッジの角度に極めて近い角度を有するイントラ予測モードを決定し、その決定されたイントラ予測モードにマッピングされた変換を決定し得る。
【０１５０】
このように、ビデオエンコーダ２０は、イントラ予測モードを使用して形成された予測ブロックに基づいてビデオデータのブロックの残差ブロックを計算することと、イントラ予測モードにマッピングされた変換を使用してその残差ブロックを変換することとを行うように構成されたビデオエンコーダの一例である。ビデオエンコーダ２０はまた、ビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、イントラ予測モードのより小さいセットから、第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、第２のイントラ予測モードがマッピングされる方向性変換を決定することと、ブロックの残差データに方向性変換を適用することとを行うように構成されたビデオエンコーダの一例である。
【０１５１】
更に、ビデオエンコーダ２０はまた、ビデオデータのブロックを符号化するために使用すべきイントラ予測モードを選択することと、複数の変換が可能であるサイズのサブブロックをブロックが含むかどうかを、サブブロックのサイズと選択されたイントラ予測モードとに基づいて決定することと、サブブロックのサイズと選択されたイントラ予測モードとに基づいて、複数の変換が可能であるサイズのサブブロックをブロックが含むとき、複数の可能な変換のうちの１つを選択することと、複数の可能な変換のうちの選択された１つを使用してサブブロックを変換することと、ブロックのサイズについての複数の可能な変換のうちの選択された１つの指示を与えることとを行うように構成されたビデオエンコーダの一例である。
【０１５２】
その上、ビデオエンコーダ２０は、イントラ予測符号化されるべきブロックがブロック内にエッジを含んでいると決定することと、エッジ指向イントラ予測モードを使用して計算された予測値に基づいてブロックの残差ブロックを計算することと、エッジの角度に近い角度を有する方向性イントラ予測モードにマッピングされた方向性変換を使用して残差ブロックを変換することと、変換された残差ブロックを表す情報と、ブロックがＤＣイントラ予測モードを使用して予測されたことを示す情報とを出力することとを行うように構成されたビデオエンコーダの一例である。
【０１５３】
変換ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、次いで、その変換係数を量子化し得る。幾つかの例では、量子化ユニット５４は、次いで、量子化された変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット５６が走査を実行し得る。本開示では、エントロピー符号化ユニット５６が走査を実行するものとして説明するが、他の例では、量子化ユニット５４など、他の処理ユニットが走査を実行し得ることを理解されたい。
【０１５４】
幾つかの例では、エントロピー符号化ユニット５６は、イントラ予測ユニット４６又は変換ユニット５２から選択されたイントラ予測モードの指示を受信し得る。エントロピー符号化ユニット５６は、２次元行列を１次元ベクトルに変換するために、変換係数の行列に適用すべき走査を選択し得る。幾つかの例では、エントロピー符号化ユニット５６は走査の所定のセットから走査を選択する。マッピングデータ６６は、イントラ予測モードのより小さいセットを走査の所定のセットにマッピングし得る。エントロピー符号化ユニット５６は、例えば、ブロックタイプ（インターもしくはイントラ）、イントラ予測モード（イントラ符号化ブロックを仮定する）、及び／又はＴＵに適用される変換のタイプ（例えば、ＤＣＴ又はＫＬＴ）など、現在のＴＵの様々な特性に基づいて走査を選択し得る。
【０１５５】
幾つかの例では、エントロピー符号化ユニット５６は適応走査を実行するように構成され得る。初めに（例えば、現在のフレームの第１のＴＵについて）、エントロピー符号化ユニット５６は所定の走査パターンを使用し得る。時間とともに、エントロピー符号化ユニット５６は走査パターンを更新して適応走査を実行し得る。概して、適応走査の目的は、特定の変換係数が非ゼロになる確率を決定することである。その場合、走査順序は、概して、非ゼロである確率が最も高い係数から非ゼロである確率が最も低い係数に進む。エントロピー符号化ユニット５６は、様々な統計値及び計算を使用して経時的にこれらの確率を決定し得る。その上、エントロピー符号化ユニット５６は、イントラ予測モード、変換、カスケード変換、又はそれらの任意の組合せごとに別々の統計値を追跡し得る。
【０１５６】
エントロピー符号化ユニット５６は、変換係数が非ゼロである確率を決定し、適応走査順序を決定するために、高ダイナミックレンジテーブルと動的更新走査テーブルとを使用し得る。Ｎ×Ｎ  ＴＵを仮定すると、これらのテーブルの各々は、ＴＵの変換係数に対応する値をもつＮ×Ｎテーブルであり得る。高ダイナミックレンジテーブルは、各変換係数が非ゼロである確率を与える固定の予め決定されたテーブルであり得る。このテーブルはトレーニングデータのセットに基づいて計算され得る。その上、このテーブルは、適応走査順序の開始点を与えるために使用され得る。
【０１５７】
エントロピー符号化ユニット５６は、変換係数について最近決定された統計値を反映するために、動的更新走査テーブルを経時的に更新し得る。エントロピー符号化ユニット５６は、Ｎ×Ｎ変換行列中の特定の位置における各係数が非ゼロである回数のカウントを保持し得る。即ち、現在のフレームのＴＵごとに、エントロピー符号化ユニット５６は、現在の変換ブロック中の非ゼロ係数に対応する動的更新走査テーブル中の、特に、現在のＣＵのためのイントラ予測モード、変換、及び／又はカスケード変換に関連付けられた動的更新走査テーブル中の値を増分し得る。例えば、行２と列１とにおける変換係数が非ゼロである場合、エントロピー符号化ユニット５６は、行２と列１とにおける動的更新走査テーブル中の値に１を加算し得る。エントロピー符号化ユニット５６はまた、動的更新走査テーブル中の値が最大値を超えるのを防ぐために、それらの値を周期的に正規化し得る。
【０１５８】
現在のフレームの第１のＴＵに対して適応走査を実行するために、エントロピー符号化ユニット５６は、高ダイナミックレンジテーブルのみに基づいて走査し得る。エントロピー符号化ユニット５６はまた、例えば、動的更新走査テーブル中の全ての値を０に設定することによって、動的更新走査テーブルを初期化し得る。変換ブロック中の非ゼロ係数ごとに、エントロピー符号化ユニット５６は、現在のＴＵのためのイントラ予測モード及び変換又はカスケード変換に関連付けられた動的更新走査テーブル中の同一位置配置の値に１を加算し得る。同じイントラ予測モード及び変換又はカスケード変換を使用する後続のＴＵについて、エントロピー符号化ユニット５６は、最初に動的更新走査テーブルを参照して変換係数のどれが非ゼロである可能性が最も高いかを決定し、次いで、係数が非ゼロである可能性の降順に走査し得る。場合によっては、動的更新走査テーブル中の２つ以上の値が等しくなり得る。そのような場合、エントロピー符号化ユニット５６は、次にどの係数を走査すべきかを決定するために高ダイナミックレンジテーブルを参照する。このようにして、エントロピー符号化ユニット５６は、高ダイナミックレンジテーブルと動的更新走査テーブルとの組合せに基づいてイントラ予測モード、変換、又はカスケード変換（或いはそれらの任意の組合せ）ごとに適応走査を実行し得る。
【０１５９】
変換係数の２次元行列を走査することによって、エントロピー符号化ユニット５６は、変換係数を含む１次元配列を生成し得る。エントロピー符号化ユニット５６は、次いで、ＴＵを走査して配列を形成し、その走査に続いて、ビットレートを更に低減するために配列中の変換係数を量子化し得る。量子化プロセスは、係数の一部又は全部に関連するビット深さを低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。
【０１６０】
エントロピー符号化ユニット５６はまた、適応走査より前に又は適応走査中に、行列の係数のシンタックス要素をエントロピー符号化し得る。シンタックス要素は、特定の係数が有効である（例えば、非ゼロである）かどうかを示す有効係数フラグと、特定の係数が適応走査中に走査される最終係数であるかどうかを示す最終係数フラグとを含み得る。ビデオデコーダは、ビデオデコーダがエントロピー符号化ユニット５６によって符号化された係数を逆走査することができるように、これらのシンタックス要素を使用して動的更新走査テーブルを再構成し得る。
【０１６１】
シンタックス要素をエントロピー符号化するために、エントロピー符号化ユニット５６は、ＣＡＢＡＣを実行し、例えば、前に走査されたＮ個の係数の中の有効係数の数に基づいてコンテキストモデルを選択し得、但し、Ｎは、走査されているブロックのサイズに関係し得る整数値である。エントロピー符号化ユニット５６はまた、変換係数のブロックに変換された残差データを計算するために使用される予測モードと、その残差データを変換係数のブロックに変換するために使用される変換のタイプとに基づいてコンテキストモデルを選択し得る。対応する予測データがイントラ予測モードを使用して予測されたとき、エントロピー符号化ユニット５６は更に、イントラ予測モードの方向に基づいてコンテキストモデルの選択を行い得る。
【０１６２】
このように、ビデオエンコーダ２０は、変換係数の中間の２次元ブロックを生成するために第１の変換を使用してビデオデータのブロックの残差データを変換することと、変換係数の２次元ブロックを生成するために回転変換を使用して変換係数の中間の２次元ブロックを変換することと、第１の変換及び回転変換のうちの少なくとも１つに関連付けられた統計値のセットを選択することであって、統計値のセットは、変換係数の２次元ブロック中の位置が非ゼロになる可能性を与える、選択することと、統計値の選択されたセットに基づいて変換係数の２次元ブロックを適応的に走査することとを行うように構成されたビデオエンコーダの一例を表す。
【０１６３】
ビデオエンコーダ２０はまた、変換係数の１次元ベクトルを生成するために変換係数の２次元ブロックを走査することと、１次元ベクトル中の変換係数が有効であるかどうかを示す値を決定することと、少なくとも、上記値のうちの少なくとも１つの前に符号化された上記値の所定数中の有効係数の割合に基づいて選択されたコンテキストモデルを使用して上記値のうちの少なくとも１つをエントロピー符号化することとを行うように構成されたビデオエンコーダの一例を表す。
【０１６４】
幾つかの例では、変換ユニット５２は、幾つかの変換係数（即ち、幾つかの位置における変換係数）をゼロ設定するように構成され得る。例えば、変換ユニット５２は、変換後のＴＵの左上象限の外部にある全ての変換係数をゼロ設定するように構成され得る。別の例として、エントロピー符号化ユニット５６は、配列中のある位置の後に来る配列中の変換係数をゼロ設定するように構成され得る。幾つかの例では、エントロピー符号化ユニット５６は２次元行列を量子化し得、エントロピー符号化ユニット５６は走査を実行し得る。いずれの場合も、ビデオエンコーダ２０は、例えば、走査の前又は後に、変換係数のある部分をゼロ設定するように構成され得る。「ゼロ設定する」という句は、係数の値を０に等しく設定することを意味するように使用されるが、必ずしも係数をスキップ又は廃棄するとは限らない。
【０１６５】
量子化の後に、エントロピー符号化ユニット５６は量子化変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット５６は、コンテンツ適応型可変長符号化（ＣＡＶＬＣ）、コンテキスト適応型２値算術符号化（ＣＡＢＡＣ）、又は別のエントロピー符号化技術を実行し得る。エントロピー符号化ユニット５６によるエントロピー符号化の後に、符号化されたビデオは、別の機器に送信されるか、或いは後で送信又は取り出すためにアーカイブされ得る。コンテキスト適応型２値算術符号化の場合、コンテキストは隣接ブロックに基づき得る。
【０１６６】
場合によっては、エントロピー符号化ユニット５６又はビデオエンコーダ２０の別のユニットは、エントロピー符号化に加えて他の符号化機能を実行するように構成され得る。例えば、エントロピー符号化ユニット５６はブロックの符号化ブロックパターン（ＣＢＰ：coded block pattern）値を決定するように構成され得る。また、場合によっては、エントロピー符号化ユニット５６はブロック中の係数のランレングス符号化を実行し得る。
【０１６７】
逆量子化ユニット５８及び逆変換ユニット６０は、それぞれ逆量子化及び逆変換を適用して、例えば参照ブロックとして後で使用するために、画素領域において残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照フレームストア（参照フレーム記憶装置）６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つ以上の補間フィルタを適用して、動き推定において使用するサブ整数画素値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照フレームストア６４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインター符号化するために動き推定ユニット４２及び動き補償ユニット４４によって参照ブロックとして使用され得る。
【０１６８】
図３は、符号化されたビデオシーケンスを復号するビデオデコーダ３０の一例を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、参照フレームストア８２と、加算器８０とを含む。ビデオデコーダ３０は、幾つかの例では、ビデオエンコーダ２０（図２）に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて予測データを生成し得る。イントラ予測ユニット７４は、信号伝達されたイントラ予測モードと、現在のフレームの前に復号されたブロックからのデータとに基づいて現在のフレームの現在のブロックについての予測データを生成し得る。
【０１６９】
幾つかの例では、エントロピー復号ユニット７０又は逆量子化ユニット７６は、ビデオエンコーダ２０によって使用された走査をミラーリングする走査を使用して受信値を走査し得る。図３の例では、ビデオデコーダ３０は、マッピングデータ６６のデータと同様の又は同じデータを含み得る、マッピングデータ８４を含む。従って、ビデオデコーダ３０は、例えば、現在のブロックについての（例えば、現在のブロックを含むＬＣＵのための４分木のルートノードにおいて提示される）イントラ符号化モードの指示、現在のブロックに対する変換、現在のブロックに対するカスケード変換、又は走査を選択するためにビデオエンコーダ２０によって使用される他のファクタに基づいて走査を選択し得る。同様に、ビデオデコーダ３０は、適応走査を実行するか、又はこれらのファクタに基づいて所定の走査を選択するように構成され得る。このようにして、ビデオデコーダ３０は、係数の受信された１次元配列から量子化変換係数の２次元行列を生成し得る。
【０１７０】
逆量子化ユニット７６は、ビットストリーム中で供給され、エントロピー復号ユニット７０によって復号された量子化変換係数を逆量子化（inverse quantize）、即ち、逆量子化（de-quantize）する。逆量子化プロセスは、例えば、Ｈ．２６４復号規格又はＨＥＶＣによって定義された従来のプロセスを含み得る。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ＣＵについてビデオエンコーダ２０によって計算される量子化パラメータＱＰYの使用を含み得る。
【０１７１】
逆変換ユニット５８は、逆変換、例えば、逆ＤＣＴ、逆整数変換、逆回転変換、又は逆方向性変換を適用する。幾つかの例では、逆変換ユニット７８は、受信されたイントラ予測符号化ブロックについて信号伝達されるイントラ予測モードに基づいて逆変換を決定し得る。イントラ予測モードに基づいて、ブロックが、２つ以上の変換が可能であるサイズである場合、逆変換ユニット７８は、現在のブロックを含むＬＣＵのための４分木のルートノードにおける信号伝達された変換に基づいて現在のブロックに適用すべき変換を決定し得る。幾つかの例では、逆変換ユニット７８は、カスケード逆変換を適用し得、例えば、最初に逆回転変換を適用し、続いて逆方向性変換を適用し得る。
【０１７２】
例えば、信号伝達されたイントラ予測モードがＤＣ予測モードである、幾つかの例では、逆変換ユニット５８（又はビデオデコーダ３０の別のユニット）は、現在のブロック中にエッジが存在するかどうかを決定し得る。逆変換ユニット５８は、図２のビデオエンコーダ２０に関して説明した技術に実質的に対応する技術を使用してエッジが存在するかどうかを決定し得る。現在のブロック中にエッジが存在する場合、逆変換ユニット７８は、ブロック内のそのエッジの角度を決定し、そのエッジの角度に近い角度を有するイントラ予測モードにマッピングされた逆変換を選択し得る。
【０１７３】
上記で説明したように、マッピングデータ８４は、イントラ予測モードの角度、及びイントラ予測モードと逆変換との間のマッピングを与え得る。従って、ＤＣ予測モードが信号伝達されたとき、逆変換ユニット７８は、マッピングデータ８４を照会して、エッジの角度に極めて近い角度を有するイントラ予測モードにマッピングされた逆変換を決定し得る。更に、ブロック中にエッジが検出されたとき、イントラ予測ユニット７４は、ブロックを予測するために、ブロックについて信号伝達されたＤＣ予測モードではなく、エッジベース予測モードを適用し得る。マッピングデータ８４はまた、受信された量子化変換係数の逆走査を選択するために、イントラ予測モードからのマッピング、回転変換などの２次変換、又はそれらの組合せを走査インデックスに与え得る。
【０１７４】
動き補償ユニット７２は動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブ画素精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。動き補償ユニット７２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【０１７５】
動き補償ユニット７２及びイントラ予測ユニット７４は、（例えば、４分木によって与えられる）シンタックス情報の一部を使用して、符号化ビデオシーケンスの（１つ以上の）フレームを符号化するために使用されるＬＣＵのサイズと、符号化ビデオシーケンスのフレームの各ＣＵがどのように分割されるか（及び、同様に、サブＣＵがどのように分割されるか）を記述する分割情報と、各分割がどのように符号化されるかを示すモード（例えば、イントラ予測又はインター予測、及びイントラ予測の場合はイントラ予測符号化モード）と、各インター符号化ＰＵについての１つ以上の参照フレーム（及び／又はそれらの参照フレームの識別子を含んでいる参照リスト）と、符号化ビデオシーケンスを復号するための他の情報とを決定する。
【０１７６】
加算器８０は、残差ブロックを、動き補償ユニット７２又はイントラ予測ユニット７４によって生成される対応する予測ブロックと合成して、復号ブロックを形成する。所望される場合、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタを適用して復号ブロックをフィルタ処理することもある。復号されたビデオブロックは、次いで、参照フレームストア８２に記憶され、参照フレームストア８２は、参照ブロックを後続の動き補償に供給し、また、（図１の表示装置３２などの）表示装置上での提示のために復号されたビデオを生成する。
【０１７７】
このように、ビデオデコーダ３０は、ビデオデータのブロックを予測するために使用されるべきイントラ予測モードを決定することと、イントラ予測モードにマッピングされた逆変換を使用してブロックの変換された残差データを逆変換することとを行うように構成されたビデオデコーダの一例である。ビデオデコーダ３０はまた、符号化されたビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、イントラ予測モードのより小さいセットから、第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、第２のイントラ予測モードがマッピングされる逆方向性変換を決定することと、ブロックの変換された残差データに逆方向性変換を適用することとを行うように構成されたビデオデコーダの一例である。
【０１７８】
ビデオデコーダ３０はまた、ビデオデータのブロックを復号するために使用すべきイントラ予測モードの第１の指示を受信することと、複数の変換が可能であるサイズのサブブロックをブロックが含むかどうかを、サブブロックのサイズと指示されたイントラ予測モードとに基づいて決定することと、サブブロックのサイズと指示されたイントラ予測モードとに基づいて、複数の逆変換が可能であるサイズのサブブロックをブロックが含むとき、複数の可能な逆変換のうちの１つの第２の指示を受信することと、複数の可能な逆変換のうちの指示された１つを使用してサブブロックを逆変換することとを行うように構成されたビデオデコーダの一例である。
【０１７９】
ビデオデコーダ３０はまた、符号化された変換係数の受信された１次元ベクトル中の符号化された変換係数が有効であるかどうかを示す値を受信することと、少なくとも、上記値のうちの少なくとも１つの前に復号された上記値の所定数中の有効係数の割合に基づいて選択されたコンテキストモデルを使用して上記値のうちの少なくとも１つをエントロピー復号することと、変換係数の２次元ブロックを生成するために１次元ベクトルを逆走査することとを行うように構成されたビデオデコーダの一例である。
【０１８０】
ビデオデコーダ３０はまた、変換係数の２次元ブロックを生成するために第１の変換と回転変換の両方を使用してビデオデータのブロックの残差データが変換されたという指示を受信することと、第１の変換及び回転変換のうちの少なくとも１つに関連付けられ、変換係数の２次元ブロック中の位置が非ゼロになる可能性を与える統計値のセットを選択することと、ブロックのための変換係数の２次元行列を生成するために、統計値の選択されたセットに基づいてブロックの残差データの符号化バージョンを含む受信された１次元ベクトルを適応的に逆走査することとを行うように構成されたビデオデコーダの一例である。
【０１８１】
ビデオデコーダ３０は更に、ビデオデータのブロックのイントラ予測モードがＤＣイントラ予測モードであることを示す情報を受信することと、ブロックについてのＤＣイントラ予測モードの指示に基づいてビデオデータのブロック中のエッジの角度を決定することと、そのエッジの角度に近い角度を有する方向性イントラ予測モードにマッピングされた方向性逆変換を使用してブロックを逆変換することと、逆変換されたブロックを復号することとを行うように構成されたビデオデコーダの一例である。
【０１８２】
図４は、イントラ予測モードに関連付けられた方向の例示的なセットを示す図式１０４を示す概念図である。図４の例では、ブロック１０６は、選択されたイントラ予測モードに応じて隣接画素１００Ａ〜１００ＡＧ（隣接画素１００）から予測され得る。矢印１０２Ａ〜１０２ＡＧ（矢印１０２）は、様々なイントラ予測モードに関連付けられた方向又は角度を表す。図４の例は、ＨＭによって与えられるイントラ予測モードを表す。但し、他の例では、より多い又はより少ないイントラ予測モードが与えられ得る。ブロック１０６の例は８×８画素ブロックであるが、概して、ブロックは、任意の数の画素、例えば、４×４、８×８、１６×１６、３２×３２、６４×６４、１２８×１２８などを有し得る。ＨＭは正方形のＰＵを規定しているが、本開示の技術は、他のブロックサイズ、例えば、Ｎ×Ｍブロックにも適用され得、Ｎは必ずしもＭに等しいとは限らない。
【０１８３】
イントラ予測モードは、例えば、ブロック１０６の垂直側に直角な水平軸に対する、予測方向の角度に従って定義され得る。従って、矢印１０２の各々は、対応するイントラ予測モードの予測方向の特定の角度を表し得る。幾つかの例では、イントラ予測方向モードは、対応するイントラ予測モードがコンテキスト画素外挿のために使用する方向を表し得る、整数ペア（ｄｘ，ｄｙ）によって定義され得る。即ち、イントラ予測モードの角度はｄｙ／ｄｘとして計算され得る。言い換えれば、その角度は水平オフセットｄｘと垂直オフセットｄｙとによって表され得る。ブロック１０６中の位置（ｘ，ｙ）における画素の値は、ｄｙ／ｄｘの角度で位置（ｘ，ｙ）を通るラインが通る、隣接画素１００のうちの１つから決定され得る。
【０１８４】
幾つかの例では、矢印１０２によって表される角度に対応するイントラ予測モードの各々は特定の変換にマッピングされ得る。幾つかの例では、同じ変換に２つ以上のイントラ予測モードがマッピングされ得る。変換は、方向性変換、ＫＬＴ、回転変換、離散コサイン変換、離散サイン変換、フーリエ変換、又は特定のイントラ予測モードのために特に選択された他の変換に対応し得る。そのような変換は、変換が特定のイントラ予測モードのために選択されたという点で、一般に「設計」変換と呼ばれることがある。
【０１８５】
上記で説明したように、幾つかの例では、イントラ予測モードのセットは、多対１の対応によって、イントラ予測モードのより小さいセット、例えば、サブセットにマッピングされ得る。言い換えれば、モードの大きいセット中のイントラ予測モードの角度は、モードのより小さいセット中のイントラ予測モードの角度にマッピングされ得る。幾つかの例では、マッピングは数式を使用して実現され得る。例えば、この式は、ここではαと呼ぶ、実際の予測方向角度と、ここではβｉと呼ぶ、イントラ予測モードのより小さいセットの予測方向角度との間の絶対予測角度差を最小限に抑えるマッピングを与え得る。予測方向角度αを仮定すれば、この式は、上記の式（１）が満たされるようなβｉを与え得る。便宜のために式（１）を以下に再掲する。
【数２】
0005944459.tif 000004
【０１８６】
一例では、イントラ予測モードのより小さいセットは、矢印１０２Ｅ、１０２Ｉ、１０２Ｍ、１０２Ｑ、１０２Ｕ、１０２Ｙ、１０２ＡＣ、及び１０２ＡＧと同じである角度を有し得る。従って、矢印１０２の角度の各々は、矢印１０２Ｅ、１０２Ｉ、１０２Ｍ、１０２Ｑ、１０２Ｕ、１０２Ｙ、１０２ＡＣ、及び１０２ＡＧの角度のうちの１つにマッピングされ得る。一例として、矢印１０２Ａ〜１０２Ｅの角度は矢印１０２Ｅの角度にマッピングされ得、矢印１０２Ｆ〜１０２Ｉの角度は矢印１０２Ｉの角度にマッピングされ得、矢印１０２Ｊ〜１０２Ｍの角度は矢印１０２Ｍの角度にマッピングされ得、矢印１０２Ｎ〜１０２Ｑの角度は矢印１０２Ｑの角度にマッピングされ得、矢印１０２Ｒ〜１０２Ｕの角度は矢印１０２Ｕの角度にマッピングされ得、矢印１０２Ｖ〜１０２Ｙの角度は矢印１０２Ｙの角度にマッピングされ得、矢印１０２Ｚ〜１０２ＡＣの角度は矢印１０２ＡＣの角度にマッピングされ得、矢印１０２ＡＤ〜１０２ＡＧの角度は矢印１０２ＡＧの角度にマッピングされ得る。
【０１８７】
他のマッピングも与えられ得る。幾つかの例では、ビデオエンコーダ２０及びビデオデコーダ３０は多種多様なマッピングを用いて構成され得、ビデオエンコーダ２０は、例えば、ヘッダデータ、シーケンスパラメータセット（ＳＰＳ：sequence parameter set）、又は他の信号伝達されるデータ中で、特定のビットストリームのために使用されるマッピングを示す情報を提供し得る。
【０１８８】
上記で説明したように、幾つかの例では、（ビデオエンコーダ２０又はビデオデコーダ３０などの）ビデオ符号化機器は、ブロック中にエッジが存在するかどうかを決定するように構成され得る。例えば、ビデオ符号化機器は、１つ以上の隣接ブロックの画素の分析に基づいてブロック１０６中にエッジが存在するかどうかを決定するように構成され得、隣接ブロックは、隣接画素１００のうちの１つ以上を含み得る。概して、隣接する、前に符号化されたブロックは、ブロック１０６と境界を共有し得、その境界は隣接画素１００のうちの１つ以上に対応し得る。例えば、ブロック１０６の左に隣接するブロックは、その左に隣接するブロックとブロック１０６との間の境界を画定する、隣接画素１００Ｉ〜１００Ｐを含み得る。
【０１８９】
ビデオ符号化機器は、隣接する、前に符号化されたブロック中にエッジが存在するかどうかを決定するために、その隣接する、前に符号化されたブロック中の画素の勾配を計算するように構成され得る。ビデオ符号化機器は更に、隣接する、前に符号化されたブロックと、ブロック１０６など、現在のブロックとの間の境界をエッジが横断する（即ち、その境界と交差する）かどうかを決定し得る。上記で説明したブロック１０６の左に隣接するブロックの例に関して、ビデオ符号化機器は、左に隣接するブロック中の画素の勾配が、その左に隣接するブロックとブロック１０６との間の境界と交差するエッジの存在を示すかどうかを決定し得、この例では、境界は画素１００Ｉ〜１００Ｐによって画定される。左に隣接するブロック中の画素の勾配がエッジの存在を示し、画素１００Ｉ〜１００Ｐによって画定された境界をそのエッジが横断するとビデオ符号化機器が決定したとき、ビデオ符号化機器は、エッジがブロック１０６中に続いており、従って、ブロック１０６はエッジを含むと決定し得る。
【０１９０】
幾つかの例では、ブロック１０６のための信号伝達されたイントラ予測モードがＤＣ予測モードであり、ブロック１０６がエッジを含むとビデオ符号化機器が決定したとき、ビデオ符号化機器はエッジベースイントラ予測モードを使用してブロック１０６を予測し得る。その上、ビデオ符号化機器はエッジの角度を決定し得る。ビデオ符号化機器は、次いで、そのエッジの角度に最も極めて近い、矢印１０２によって全体的に示される予測モードの角度を決定し得る。ビデオ符号化機器は、次いで、エッジの角度に最も極めて近い角度を有するイントラ予測モードにマッピングされた（復号時に逆変換に対応し得る）変換を選択し、その選択された変換をブロック１０６の残差データに適用し得る。符号化プロセス中に、ビデオ符号化機器は、変換をブロック１０６のＴＵに適用し得、復号プロセス中に、ビデオ符号化機器は、ブロック１０６のための変換された残差データに逆変換を適用し得る。
【０１９１】
図５は、Ｈ．２６４のイントラ予測モード１１０Ａ〜１１０Ｉ（イントラ予測モード１１０）を示す概念図である。イントラ予測モード１１０Ｃは、ＤＣイントラ予測モードに対応し、従って、必ずしも実際の角度に関連付けられるとは限らない。残りのイントラ予測モード１１０は、図４の矢印１０２の角度と同様に、ある角度に関連付けられ得る。例えば、イントラ予測モード１１０Ａの角度は矢印１０２Ｙに対応し、イントラ予測モード１１０Ｂの角度は矢印１０２Ｉに対応し、イントラ予測モード１１０Ｄの角度は矢印１０２ＡＧに対応し、イントラ予測モード１１０Ｅの角度は矢印１０２Ｑに対応し、イントラ予測モード１１０Ｆの角度は矢印１０２Ｕに対応し、イントラ予測モード１１０Ｇの角度は矢印１０２Ｍに対応し、イントラ予測モード１１０Ｈの角度は矢印１０２ＡＤに対応し、イントラ予測モード１１０Ｉの角度は矢印１０２Ｅに対応する。
【０１９２】
イントラ予測モード１１０のうちの１つに直接対応しない矢印１０２の角度は、イントラ予測モード１１０のうちの１つにマッピングされ得る。例えば、矢印１０２のうちの１つの角度に近いイントラ予測モード１１０のうちの１つの角度は、矢印１０２のうちのその１つがマッピングされる角度に対応し得る。
【０１９３】
イントラ予測モード１１０の各々は、例えば、１対１の対応で、特定の変換にマッピングされ得る。例えば、ビデオエンコーダ２０又はビデオデコーダ３０など、ビデオ符号化機器は、イントラ予測モード１１０ＣをＤＣＴにマッピングし、他のイントラ予測モード１１０の各々を特定の方向性変換、例えば、ＫＬＴにマッピングする構成データを含み得る。従って、矢印１０２（図４）に関連付けられたイントラ予測モードの各々の角度は、イントラ予測モード１１０（図５）の角度にマッピングされ得る。イントラ予測モード１１０は、今度は、変換、例えば、方向性変換にマッピングされ得る。このようにして、矢印１０２（図４）に関連付けられたイントラ予測モードの各々の角度は方向性変換にマッピングされ得る。従って、ビデオエンコーダ２０及びビデオデコーダ３０は、ＴＵに対応するＰＵのために選択されたイントラ予測モードに基づいてＴＵに適用すべき方向性変換を決定し得る。
【０１９４】
図６は、係数１２０Ａ〜１２０Ｐ（係数１２０）の例示的なジグザグ走査を示す概念図である。係数１２０は、概して、ＴＵの画素の変換と量子化とから生じる量子化変換係数に対応する。ビデオエンコーダ２０は、例えば、残差ブロックへのＤＣＴの適用の後に、図６のジグザグ走査を使用して係数のブロックを走査するように構成され得る。この例では、ジグザグ走査は、係数１２０Ａから開始し、次いで係数１２０Ｂに進み、次いで係数１２０Ｅに進み、次いで係数１２０Ｉに進み、次いで係数１２０Ｆに進み、次いで係数１２０Ｃに進み、次いで係数１２０Ｄに進み、次いで係数１２０Ｇに進み、次いで係数１２０Ｊに進み、次いで係数１２０Ｍに進み、次いで係数１２０Ｎに進み、次いで係数１２０Ｋに進み、次いで係数１２０Ｈに進み、次いで係数１２０Ｌに進み、次いで係数１２０Ｏに進み、最後に係数１２０Ｐに進む。
【０１９５】
この走査を実行することによって、画素の係数の２次元構成は、係数１２０の各々の値を含む１次元配列に変換され得る。これらの値は、配列中に走査順に構成され得る。例えば、係数１２０Ａの値が配列中の最初にあり得、その後に係数１２０Ｂ、１２０Ｅ、１２０Ｉ、１２０Ｆなどの値が続き得る。
【０１９６】
他の変換のために他の予め定義された走査パターンも定義され得る。例えば、各方向性変換は、より高い周波数係数よりも、方向性変換から生じる低い周波数係数を早く配列中に配置するように設計された走査パターンに関連付けられ得る。方向性変換のうちの１つにより、より低い周波数係数が変換係数のブロックの左端の列に沿って生じ得、その場合、係数１２０Ａから開始し、次いで係数１２０Ｅに進み、次いで係数１２０Ｉに進み、次いで係数１２０Ｍに進み、次いで１２０Ｂなどに進む、対応する走査が定義され得る。別の例として、方向性変換のうちの別の１つにより、より低い周波数係数が変換係数のブロックの最上行に沿って生じ得、その場合、係数１２０Ａから開始し、次いで係数１２０Ｂに進み、次いで係数１２０Ｃに進み、次いで係数１２０Ｄに進み、次いで係数１２０Ｅなどに進む、対応する走査が定義され得る。
【０１９７】
幾つかの例では、ビデオエンコーダ２０は、予め定義された走査ではなく、適応走査を実行するように構成され得る。適応走査は、特定の係数（即ち、係数１２０に対応する係数）が有効であるかどうかを示す統計値に基づいて時間とともに変化し得る。その上、ビデオエンコーダ２０は、例えば、ブロックを予測するために選択されるイントラ予測モード、初期変換の後に適用すべき回転変換のインデックス、又は他のファクタに基づいて、統計値の別個のセットを計算し得る。
【０１９８】
幾つかの例では、ビデオエンコーダ２０は、これらの統計値のための、高ダイナミックレンジテーブル及び動的更新走査テーブルという２つのテーブルを含み得る。走査されるべきブロックがＮ×Ｎ係数を有すると仮定すると、これらの２つのテーブルの各々もＮ×Ｎサイズを有し得る。高ダイナミックレンジテーブルは、各変換係数が非ゼロである確率を与える固定の予め決定されたテーブルであり得る。このテーブルはトレーニングデータのセットに基づいて計算され得る。その上、このテーブルは、適応走査順序の開始点を与えるために使用され得る。概して、高ダイナミックレンジテーブルはビットストリームに対して静的（即ち、不変）であり得る。
【０１９９】
変換係数について最近決定された統計値を反映するために、動的更新走査テーブルは時間とともに更新され得る。特に、ビデオエンコーダ２０は、各係数が非ゼロである回数のカウントを保持し得る。即ち、変換ブロックごとに、ビデオエンコーダ２０は、現在の変換ブロック中の非ゼロ係数に対応する動的更新走査テーブル中の値を増分し得る。例えば、係数１２０Ｅに対応する変換係数が非ゼロである場合、ビデオエンコーダ２０は、係数１２０Ｅに対応する動的更新走査テーブル中の値に１を加算し得る。動的更新走査テーブル中の値はまた、値が最大値を超えるのを防ぐために周期的に正規化され得る。
【０２００】
フレームの第１の変換ユニットに対して適応走査を実行するために、ビデオエンコーダ２０は高ダイナミックレンジテーブルのみに基づいて走査し得る。ビデオエンコーダ２０はまた、例えば、動的更新走査テーブル中の全ての値を０に設定することによって、動的更新走査テーブルを初期化し得る。変換ブロック中の非ゼロ係数ごとに、ビデオエンコーダ２０は動的更新走査テーブル中の同一位置の値（collocated value）に１を加算し得る。後続のブロックについて、ビデオエンコーダ２０は、最初に動的更新走査テーブルを参照して変換係数のどれが非ゼロである可能性が最も高いかを決定し、次いで、係数が非ゼロである可能性の降順に走査し得る。場合によっては、動的更新走査テーブル中の２つ以上の値が等しくなり得る。そのような場合、量子化ユニット５４は、次にどの係数を走査すべきかを決定するために高ダイナミックレンジテーブルを参照する。このようにして、量子化ユニット５４は、高ダイナミックレンジテーブルと動的更新走査テーブルとの組合せに基づいて適応走査を実行し得る。
【０２０１】
高ダイナミックレンジテーブルは、幾つかの例では、全ての適応走査統計値に対して同じであり得る。従って、ビデオエンコーダ２０は、例えば、選択されたイントラ予測モード、回転変換インデックス、又はそれらの組合せに固有の動的更新走査テーブルを含み得る。幾つかの例では、ビデオエンコーダ２０は、回転変換が適用されないときは所定の静的走査の中から選択し、回転変換が適用されたときは適応走査を実行し、更に、選択されたイントラ予測モードと、選択された回転変換のインデックスとの一方又は両方に基づいて適応走査を実行するための統計値を選択するように構成され得る。代替的に、ビデオエンコーダ２０は、回転変換のインデックス、イントラ予測モード、又はそれらの組合せに基づいて、予め定義された走査を選択するように構成され得る。ビデオデコーダ３０は、ビデオエンコーダ２０と同様に適切な走査を選択するように構成され得る。
【０２０２】
図７Ａ及び図７Ｂは、例示的な４分木１５０と、対応する最大符号化ユニット１７２とを示す概念図である。図７Ａは、階層式に構成されたノードを含む、例示的な４分木１５０を示している。４分木１５０など、４分木中の各ノードは、子をもたないリーフノードであるか、又は４つの子ノードを有し得る。図７Ａの例では、４分木１５０はルートノード１５２を含む。ルートノード１５２は、リーフノード１５６Ａ〜１５６Ｃ（リーフノード１５６）とノード１５４とを含む、４つの子ノードを有する。ノード１５４はリーフノードでないので、ノード１５４は、この例ではリーフノード１５８Ａ〜１５８Ｄ（リーフノード１５８）である、４つの子ノードを含む。
【０２０３】
４分木１５０は、この例ではＬＣＵ１７２など、対応する最大符号化ユニット（ＬＣＵ）の特性を記述するデータを含み得る。例えば、４分木１５０は、それの構造により、サブＣＵへのＬＣＵの分割を記述し得る。ＬＣＵ１７２は２Ｎ×２Ｎのサイズを有すると仮定する。ＬＣＵ１７２は、この例では、４つのサブＣＵ１７６Ａ〜１７６Ｃ（サブＣＵ１７６）及び１７４を有し、各々はＮ×Ｎサイズである。サブＣＵ１７４は更に４つのサブＣＵ１７８Ａ〜１７８Ｄ（サブＣＵ１７８）に分割され、各々はサイズＮ／２×Ｎ／２である。この例では、４分木１５０の構造はＬＣＵ１７２の分割に対応する。即ち、ルートノード１５２はＬＣＵ１７２に対応し、リーフノード１５６はサブＣＵ１７６に対応し、ノード１５４はサブＣＵ１７４に対応し、リーフノード１５８はサブＣＵ１７８に対応する。
【０２０４】
４分木１５０のノードのデータは、ノードに対応するＣＵが分割されるかどうかを記述し得る。ＣＵが分割される場合、４分木１５０中に４つの追加のノードが存在し得る。幾つかの例では、４分木のノードは以下の擬似コードと同様に実装され得る。
【数３】
0005944459.tif 000005
【０２０５】
ｓｐｌｉｔ＿ｆｌａｇ値は、現在のノードに対応するＣＵが分割されるかどうかを表す１ビット値であり得る。ＣＵが分割されない場合、ｓｐｌｉｔ＿ｆｌａｇ値は「０」であり得るが、ＣＵが分割される場合、ｓｐｌｉｔ＿ｆｌａｇ値は「１」であり得る。４分木１５０の例に関して、分割フラグ値の配列は１０１００００００であり得る。
【０２０６】
幾つかの例では、サブＣＵ１７６及びサブＣＵ１７８の各々は、同じイントラ予測モードを使用してイントラ予測符号化され得る。従って、ビデオエンコーダ２０は、ルートノード１５２においてイントラ予測モードの指示を与え得る。その上、サブＣＵの幾つかのサイズは、特定のイントラ予測モードのために複数の可能な変換を有し得る。本開示の技術によれば、ビデオエンコーダ２０は、ルートノード１５２においてそのようなサブＣＵのために使用すべき変換の指示を与え得る。例えば、サイズＮ／２×Ｎ／２のサブＣＵでは複数の可能な変換が利用可能であり得る。ビデオエンコーダ２０は、ルートノード１５２において使用すべき変換を信号伝達し得る。従って、ビデオデコーダ３０は、ルートノード１５２において信号伝達されたイントラ予測モードと、ルートノード１５２において信号伝達された変換とに基づいてサブＣＵ１７８に適用すべき変換を決定し得る。
【０２０７】
従って、ビデオエンコーダ２０は、本開示の技術によれば、リーフノード１５６及びリーフノード１５８においてサブＣＵ１７６及びサブＣＵ１７８に適用すべき変換を信号伝達する必要はないが、代わりに、単に、ルートノード１５２において、イントラ予測モードと、幾つかの例では、幾つかのサイズのサブＣＵに適用すべき変換とを信号伝達し得る。このようにして、これらの技術は、ＬＣＵ１７２など、ＬＣＵのサブＣＵごとに変換機能を信号伝達するオーバーヘッドコストを低減し得る。
【０２０８】
幾つかの例では、サブＣＵ１７６及び／又はサブＣＵ１７８のイントラ予測モードは、ＬＣＵ１７２のイントラ予測モードとは異なり得る。ビデオエンコーダ２０及びビデオデコーダ３０は、ルートノード１５２において信号伝達されるイントラ予測モードを、サブＣＵ１７６及び／又はサブＣＵ１７８のために利用可能なイントラ予測モードにマッピングする機能を用いて構成され得る。この機能は、ＬＣＵ１７２のために利用可能なイントラ予測モードの、サブＣＵ１７６及び／又はサブＣＵ１７８のイントラ予測モードへの多対１のマッピングを与え得る。
【０２０９】
図７ＡではＣＵ４分木の一例を示したが、同様の４分木がリーフノードＣＵのＴＵに適用され得ることを理解されたい。即ち、リーフノードＣＵは、ＣＵのためのＴＵの区分を記述するＴＵ４分木を含み得る。ＴＵ４分木は、ＴＵ４分木がＣＵのＴＵのイントラ予測モードを個々に信号伝達し得ることを除いて、概してＣＵ４分木に似ていることがある。
【０２１０】
図８は、ブロックのために選択されたイントラ予測モードに基づいてブロックに適用すべき変換及び走査を選択するための例示的な方法を示すフローチャートである。説明のためにビデオエンコーダ２０（図２）の構成要素によって実行されるものとして一般的に説明するが、プロセッサ、処理ユニット、エンコーダ／デコーダ（コーデック）などのハードウェアベースの符号化ユニットなど、他のビデオ符号化ユニットも図８の方法を実行するように構成され得ることを理解されたい。
【０２１１】
図８の例では、変換ユニット５２は、初めに、現在のＴＵの残差データを受信する（１８０）。更に、変換ユニット５２はまた、ＴＵのために選択されたイントラ予測モードの指示を受信し得る。この指示から、変換ユニット５２はＴＵについての予測方向を決定する（１８２）。例えば、変換ユニット５２は、指示されたイントラ予測モードについての予測方向の角度を決定し得る。
【０２１２】
いずれの場合も、イントラ予測モードを決定した後に、変換ユニット５２は、イントラ予測モードから変換へのマッピングに基づいて残差データに適用すべき変換を選択する（１８６）。例えば、変換ユニット５２は、イントラ予測方向とマッピングデータ６６を照会することによって適用すべき変換を選択し、イントラ予測方向がマッピングされる変換を決定し得る。変換は、離散コサイン変換、又はモード依存方向性変換（ＭＤＤＴ）などの方向性変換に対応し得る。変換ユニット５２は、次いで、選択された変換を残差データに適用して残差データを変換する（１８８）。幾つかの例では、変換ユニット５２が、第１の変換の後に、回転変換など、２つ以上の変換を適用すべきであるという指示をマッピングデータ６６は更に含み得、その場合、変換ユニット５２は指示された回転変換を更に適用し得る。
【０２１３】
残差データを変換することによって、変換ユニット５２は、残差データと係数の同じ数を有する変換係数の２次元行列を生成し得る。図８の例では、量子化ユニット５４は、次いで、変換係数を量子化する（１９０）。幾つかの例では、量子化ユニット５４は、例えば、係数を量子化する前又は後に、係数の２次元行列を走査して１次元配列を生成し得る。代替的に、エントロピー符号化ユニット５６が２次元行列を走査し得る。
【０２１４】
この例では、エントロピー符号化ユニット５６は、マッピングデータ６６を照会して、量子化変換係数に適用すべき走査を選択する（１９２）。幾つかの例では、マッピングデータ６６は、イントラ予測モードを特定の予め定義された走査パターンにマッピングするデータを含み得る。幾つかの例では、マッピングデータ６６は、変換を予め定義された走査パターンにマッピングするデータを含み得る。例えば、回転変換が変換係数に適用されるべきであることをマッピングデータ６６が示す、幾つかの例では、マッピングデータ６６は、適応走査が実行されるべきであるか、又は回転変換がマッピングされた予め定義された走査が実行されるべきであるかを更に指示し得る。適応走査が実行される例では、マッピングデータ６６は、走査統計値、例えば、イントラ予測モードにマッピングされた高ダイナミックレンジテーブル及び動的更新走査テーブル、第１の変換のインデックス、回転変換のインデックス、それらの組合せ、及び／又は他のファクタを更に含み得る。
【０２１５】
エントロピー符号化ユニット５６は、次いで、選択された走査、例えば、予め定義された走査、又は選択された走査統計値に基づく適応走査を使用して量子化変換係数を走査する（１９４）。幾つかの例では、エントロピー符号化ユニット５６は、（変換係数の数よりも少ないか又はそれに等しいことがある）走査位置を用いて構成され得、その後、エントロピー符号化ユニット５６は配列中の係数値をゼロ設定し得る。走査位置に等しい幾つかの係数を走査した後に、エントロピー符号化ユニット５６は残りの配列値を０に等しく設定し得る。幾つかの例では、変換係数をゼロ設定することは走査の前又は後に行われ得る。
【０２１６】
幾つかの例では、エントロピー符号化ユニット５６は、次いで、走査の後に、配列中の走査された係数をエントロピー符号化する（１９６）。代替的に、幾つかの例では、エントロピー符号化ユニット５６は、係数が走査されるときにそれらの係数をエントロピー符号化し得る。いずれの場合も、エントロピー符号化ユニット５６は、係数をエントロピー符号化するためにＣＡＢＡＣ又はＣＡＶＬＣのいずれかを利用し得る。
【０２１７】
ＣＡＢＡＣを使用するとき、及び適応走査を実行するとき、エントロピー符号化ユニット５６は、有効係数フラグと最終係数フラグとを含むシンタックス要素をエントロピー符号化し得る。エントロピー符号化ユニット５６は、ブロックタイプ（イントラ又はインター）、選択されたイントラ予測モード（ブロックがイントラモードで予測されると仮定する）、及び／又は適用される変換のタイプ（例えば、ＤＣＴもしくは方向性／ＫＬＴ）に基づいて有効係数フラグをエントロピー符号化するためのコンテキストモデルを選択し得る。エントロピー符号化ユニット５６は、適応走査の順序インデックス、ブロックタイプ、空間的予測方向、及び／又は選択された変換に基づいて最終係数フラグをエントロピー符号化するためのコンテキストモデルを選択し得る。
【０２１８】
このように、図８の方法は、イントラ予測モードを使用して形成された予測ブロックに基づいてビデオデータのブロックの残差ブロックを計算することと、イントラ予測モードにマッピングされた変換を使用してその残差ブロックを変換することとを含む方法の一例を表す。
【０２１９】
図９は、残差データのブロックに適用すべき変換及び走査を選択するための別の例示的な方法を示すフローチャートである。概して、図９は実質的に図８に準拠する。但し、図９の例では、残差データと、ＴＵのために選択されたイントラ予測モードの指示とを受信した後に（１８０）、変換ユニット５２は、ＴＵを予測するための第１の予測方向を決定する（１８３）。例えば、変換ユニット５２は、指示されたイントラ予測モードについての予測方向の角度を決定し得る。
【０２２０】
変換ユニット５２は、次いで、第１の予測方向にマッピングされた第２の方向を決定する（１８４）。例えば、変換ユニット５２は、マッピングデータ６６を照会して、第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定し得る。幾つかの例では、変換ユニット５２は、指示されたイントラ予測モードの角度に近い角度を決定し、その決定された角度に対応する第２のイントラ予測モードを選択し得る。変換ユニット５２は、次いで、第２の予測データにマッピングされた変換を選択する（１８５）。複数の変換を選択することに対応し得る、変換を選択した後に、ビデオエンコーダ２０は、概して、図８に関して説明した対応するステップと同様の方法で図９の残りのステップを実行する。
【０２２１】
このように、図９の方法は、ビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、イントラ予測モードのより小さいセットから、第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、第２のイントラ予測モードがマッピングされる方向性変換を決定することと、ブロックの残差データに方向性変換を適用することとを含む方法の一例である。
【０２２２】
図１０は、特定のサイズのサブＣＵにイントラ予測モード及び変換を適用するための例示的な方法を示すフローチャートである。説明のためにビデオエンコーダ２０（図２）の構成要素によって実行されるものとして一般的に説明するが、プロセッサ、処理ユニット、エンコーダ／デコーダ（コーデック）などのハードウェアベースの符号化ユニットなど、他のビデオ符号化ユニットも図１０の方法を実行するように構成され得ることを理解されたい。また、他の例では、同様の方法は、説明する技術から逸脱することなく、図１０に示すステップに対する追加又は代替のステップを含むか、或いは異なる順序で図示のステップを実行し得ることを理解されたい。
【０２２３】
図１０に関して説明するように変換を選択し、適用するための技術は、図８のステップ１８６及び１８８に対応し得る。図１０に関して説明するように様々なサイズのブロックに様々なイントラ予測モードを適用するための技術は、図８のステップ１８０より前に実行され得る。
【０２２４】
イントラ予測ユニット４６は、画素のブロック、例えば、ＬＣＵを受信する（２００）。イントラ予測ユニット４６は、次いで、ＬＣＵに適用すべきイントラ予測モードを決定し、例えば、ＬＣＵに対応する４分木データ構造のルートノードにおいて、ＬＣＵについて決定されたイントラ予測モードを信号伝達する（２０１）。イントラ予測ユニット４６は、次いで、イントラ予測モードのサブセットのみが利用可能であるサブＣＵのサイズを決定する（２０２）。イントラ予測ユニット４６は更に、ＬＣＵを１つ以上のサブＣＵに区分し、イントラ予測モードのサブセットのみが利用可能であるサイズをサブＣＵのいずれかが有するかどうかを決定する（２０４）。
【０２２５】
イントラ予測モードのサブセットのみが利用可能であるサイズのサブＣＵをＬＣＵが含む場合（１８４の「ＹＥＳ」分岐）、イントラ予測ユニット４６は、ＬＣＵのために選択されたイントラ予測モードがマッピングされるイントラ予測モードを使用してそれらのサブＣＵをイントラ予測する（２０６）。一方、そのようなサイズであるサブＣＵをＬＣＵが含まない場合（１８４の「ＮＯ」分岐）、イントラ予測ユニット４６は、ＬＣＵのために信号伝達されたモードをＬＣＵの全てのサブブロックに適用する（２０８）。
【０２２６】
ビデオエンコーダ２０は、次いで、ＬＣＵのサブＣＵの残差値を計算し得る。次いで、変換ユニット５２は、ＬＣＵのための信号伝達されたイントラ予測モードに基づいて、複数の変換が可能であるサブＣＵサイズを決定する（２１０）。変換ユニット５２は更に、ＬＣＵのサブＣＵのいずれかが、複数の変換が可能であるサイズであるかどうかを決定する（２１２）。少なくとも１つのサブＣＵが、複数の変換が可能であるサイズである場合（１９２の「ＹＥＳ」分岐）、変換ユニット５２は、そのサイズのサブＣＵのために適用すべき変換を選択し、信号伝達する（２１４）。例えば、変換ユニット５２は、ＬＣＵの４分木のルートノードにおいてそのサイズのサブＣＵに適用すべき変換を信号伝達し得る。変換ユニット５２はまた、信号伝達された変換を、そのサイズのＬＣＵ中の全てのサブブロックに適用する（２１６）。一方、複数の変換が可能であるサブＣＵをＬＣＵが含んでいない場合（２１２の「ＮＯ」分岐）、変換ユニット５２は、ＬＣＵのための信号伝達されたイントラ予測モードに純粋に基づいて変換をＬＣＵのサブＣＵに適用し（２１８）、従って、変換に関する信号伝達は不要である。
【０２２７】
このように、図１０の方法は、ビデオデータのブロックを符号化するために使用すべきイントラ予測モードを選択することと、複数の変換が可能であるサイズのサブブロックをブロックが含むかどうかを、サブブロックのサイズと選択されたイントラ予測モードとに基づいて決定することと、サブブロックのサイズと選択されたイントラ予測モードとに基づいて、複数の変換が可能であるサイズのサブブロックをブロックが含むとき、複数の可能な変換のうちの１つを選択することと、複数の可能な変換のうちの選択された１つを使用してサブブロックを変換することと、ブロックのサイズについての複数の可能な変換のうちの選択された１つの指示を与えることとを含む方法の一例である。
【０２２８】
図１１は、ブロックに適用される選択された変換に基づいて適応走査を実行するための例示的な方法を示すフローチャートである。説明のためにビデオエンコーダ２０（図２）の構成要素によって実行されるものとして一般的に説明するが、プロセッサ、処理ユニット、エンコーダ／デコーダ（コーデック）などのハードウェアベースの符号化ユニットなど、他のビデオ符号化ユニットも図１１の方法を実行するように構成され得ることを理解されたい。
【０２２９】
また、他の例では、同様の方法は、説明する技術から逸脱することなく、図１１に示すステップに対する追加又は代替のステップを含むか、或いは異なる順序で図示のステップを実行し得ることを理解されたい。図１１に示す、カスケード変換の後に係数を適応的に走査するための技術は、図８のステップ１９２及び１９４に対応し得る。図１１の残差係数を適応的に走査するための技術は、イントラ予測又はインター予測の後に残差データに適用され得る。
【０２３０】
初めに、ビデオエンコーダ２０の変換ユニット５２が残差ブロックを受信する（２３０）。残差ブロックは、ＣＵのイントラ予測又はインター予測後の残差に対応し得る。残差ブロックは、ＣＵの対応する予測ユニットと同じサイズであるか又は異なるサイズであり得る。変換ユニット５２は、次いで、残差ブロックを変換する（２３２）。幾つかの例では、変換ユニット５２は、本開示の技術によれば、イントラ予測モードのサブセットからのイントラ予測モードに対応する方向性変換を適用し得る。他の例では、変換ユニット５２は離散コサイン変換を適用し得る。
【０２３１】
変換ユニット５２は、次いで、変換されたブロックに回転変換を適用する（２３４）。変換ユニット５２がＤＣＴを適用する８×８及びそれより大きいサイズの変換ユニット（ＴＵ）の場合、変換ユニット５２は、最低周波数８×８ＤＣＴ係数に回転変換を適用し得る。８×８よりも小さいＴＵの場合、変換ユニット５２は、ＴＵ全体に回転変換を適用し得る。ＴＵに対応するＰＵがイントラ予測符号化された場合、変換ユニット５２は、例えば、イントラ予測モードのサブセットが回転変換にマッピングされ得る、ＰＵを予測するために使用されるイントラ予測モードに基づいて回転変換を選択し得る。これらの回転変換はモード依存回転変換（ＭＤＲＯＴ）と呼ばれることがある。幾つかの例では、変換ユニット５２は、ＫＬＴであり得る、モード依存方向性変換（ＭＤＤＴ）の後に、回転変換（又は他の２次分離可能変換）をカスケードし得る。
【０２３２】
回転変換の後に、量子化ユニット５４は、幾つかの例では、変換係数を量子化し得る。次いで、エントロピー符号化ユニット５６は、変換係数の適応走査を実行するために使用すべき統計値のセットを選択し得る。統計値のセットは、高ダイナミックレンジ（ＨＤＲ：high dynamic range）テーブルと、動的更新（ＤＵ：dynamically updating）テーブルとを含み得る。ＨＤＲテーブル及びＤＵテーブルの一方又は両方は、特定のシナリオ、例えば、ＰＵを予測するためにイントラ予測が使用されたかインター予測が使用されたか、イントラ予測が使用されたときのＰＵのための特定のイントラ予測モード、ＰＵに対応するＴＵにＤＣＴが適用されたかＫＬＴが適用されたか、使用される回転変換のインデックス、又はそれらの任意の組合せについて選択され得る。このようにして、エントロピー符号化ユニット５６は、適応走査中に使用するためのＨＤＲ及び／又はＤＵテーブルを選択する（２３６）。
【０２３３】
上記で説明したように、ＨＤＲテーブルは、行列中の各位置の係数が非ゼロである確率を示すデータの予め定義されたセットを含み得る。ＨＤＲテーブルは、トレーニングデータのセットを使用して生成され得、ビットストリーム全体にわたって同じままであり得る。エントロピー符号化ユニット５６は、ＤＵテーブルの値を計算するために、ビデオデータのフレーム、スライス、ピクチャグループ、又は他のユニットに固有の統計値を収集し得る。ＤＵテーブルも、従って、行列中の各位置の係数が非ゼロである確率を示し得る。
【０２３４】
適応走査を実行するために、エントロピー符号化ユニット５６は、最初に、ＤＵテーブルを使用して、非ゼロ係数を含む確率が最も高い行列中の位置を決定する（２３８）。場合によっては、非ゼロ係数を有する確率が等しい行列中の２つ以上の位置があり得る。従って、エントロピー符号化ユニット５６は、非ゼロ係数を含む確率が同じである行列中の複数の位置があるかどうかを決定する（２４０）。非ゼロ係数を含む確率が同じである行列中の複数の位置がある場合（２４０の「ＹＥＳ」分岐）、エントロピー符号化ユニット５６は、ＨＤＲテーブルを使用して、非ゼロ係数を含む確率が最も高い行列中の位置を決定する（２４２）。
【０２３５】
エントロピー符号化ユニット５６は、次いで、決定された位置における係数を走査し、エントロピー符号化する（２４４）。エントロピー符号化ユニット５６はまた、走査された係数が事実上非ゼロであったかどうかを決定し、走査された係数が非ゼロであった、従って有効であったかどうかを示すように有効係数フラグの値を設定し得る。エントロピー符号化ユニット５６は、次いで、行列中の全ての係数が走査されたかどうかを決定する（２４６）。行列中の全ての係数が走査されているわけではない場合（２４６の「ＮＯ」分岐）、エントロピー符号化ユニット５６は、ＤＵテーブル（又は場合によってはＨＤＲテーブル）を使用して、非ゼロ係数を含む確率が次に高い行列中の位置を決定し、この位置における係数を走査し得る。
【０２３６】
全ての係数が走査された後に（２４６の「ＹＥＳ」分岐）、エントロピー符号化ユニットは走査を停止し得る。その上、幾つかの例では、エントロピー符号化ユニット５６は、対応する係数がフラグの最終係数であるかどうかを示すように係数ごとに最終係数フラグの値を設定し得る。全ての係数が走査されたと決定した後に（２４６の「ＹＥＳ」分岐）、エントロピー符号化ユニット５６は、最後に走査された係数に対応する最終係数フラグの値を１に等しく設定し得る。以下で説明するように図１２の技術を使用して、エントロピー符号化ユニット５６は、有効係数フラグと最終係数フラグとを含むシンタックス要素を符号化し得る。
【０２３７】
幾つかの例では、（適応であるか固定であるかにかかわらず）走査の後に、ビデオエンコーダ２０は、走査によって生成された配列中の係数、例えば、配列中の位置Ｎの後にある全ての係数をゼロ設定し得、但し、Ｎは０と配列の長さとの間の整数である。他の例では、ビデオエンコーダ２０は、（１つ以上の）変換或いは量子化の後に行列の幾つかの位置における係数をゼロ設定し得る。これらの位置は、例えば、行列の左上隅に対応し得る。概して、これらの係数をゼロ設定するとより高い周波数係数がゼロ設定され得、それにより、品質に多くの影響を及ぼすことなしに符号化効率が改善され得る。
【０２３８】
このように、図１１の方法は、変換係数の中間の２次元ブロックを生成するために第１の変換を使用してビデオデータのブロックの残差データを変換することと、変換係数の２次元ブロックを生成するために回転変換を使用して変換係数の中間の２次元ブロックを変換することと、第１の変換及び回転変換のうちの少なくとも１つに関連付けられた統計値のセットを選択することであって、統計値のセットは、変換係数の２次元ブロック中の位置が非ゼロになる可能性を与える、選択することと、統計値の選択されたセットに基づいて変換係数の２次元ブロックを適応的に走査することとを含む方法の一例である。
【０２３９】
図１２は、適応的に走査される係数を記述するシンタックス要素を走査し、エントロピー符号化するときに使用すべきコンテキストモデルを選択するための例示的な方法を示すフローチャートである。説明のためにビデオエンコーダ２０（図２）の構成要素によって実行されるものとして一般的に説明するが、プロセッサ、処理ユニット、エンコーダ／デコーダ（コーデック）などのハードウェアベースの符号化ユニットなど、他のビデオ符号化ユニットも図１２の方法を実行するように構成され得ることを理解されたい。
【０２４０】
また、他の例では、同様の方法は、説明する技術から逸脱することなく、図１２に示すステップに対する追加又は代替のステップを含むか、或いは異なる順序で図示のステップを実行し得ることを理解されたい。図１１に示すように適応的に走査される係数を記述するシンタックス要素を走査し、エントロピー符号化するときに使用すべきコンテキストモデルを選択するための技術は、図８のステップ１９２〜１９６に対応し得る。図１２の技術は、図１１の適応走査が実行されるより前に、その間に、又はその後に実行され得る。
【０２４１】
エントロピー符号化ユニット５６は、例えば、量子化ユニット５４から、量子化変換係数の行列を受信する（２５０）。概して、図１２の例示的な方法を使用して、エントロピー符号化ユニット５６は、受信された係数を記述するシンタックス要素を符号化し得る。シンタックス要素は、係数ごとに、有効係数フラグと最終係数フラグとを含み得る。有効係数フラグは、対応する係数が有効であるかどうか、例えば、対応する係数の値が０よりも大きいかどうかを示し得る。最終係数フラグは、対応する係数が適応走査の最終係数であるかどうかを示し得る。
【０２４２】
エントロピー符号化ユニット５６は、受信された行列中の有効係数の位置を決定し得る。エントロピー符号化ユニット５６は、受信された行列中の有効係数の位置を示すシンタックス要素を形成する（２５２）。例えば、行列中の係数ごとに、エントロピー符号化ユニット５６は、係数が０よりも大きいかどうかを決定し、係数が０よりも大きい場合は、係数と同一位置に配置されたシンタックス要素行列中の値を１に等しく設定し得、他の場合、エントロピー符号化ユニットは、係数と同一位置に配置された値を０に等しく設定し得る。エントロピー符号化ユニット５６は、次いで、シンタックス要素行列を使用して動的更新走査テーブルを更新する（２５４）。例えば、エントロピー符号化ユニット５６は、動的更新走査テーブル中の各要素の現在値に、シンタックス要素行列中の同一位置配置シンタックス要素の値を追加し得る。
【０２４３】
エントロピー符号化ユニット５６は、次いで、シンタックス要素行列中のシンタックス要素のうちの第１のシンタックス要素を走査する（２５６）。エントロピー符号化ユニット５６は、図６Ａに示す走査などのジグザグ走査、或いはブロックタイプ（インター予測又はイントラ予測されたブロック）、ブロックがイントラ予測符号化されたブロックである場合は空間的予測方向、及び／又は使用される変換のタイプ（例えば、ＤＣＴ又は方向性変換）に基づいて選択された走査を適用し得る。次に、エントロピー符号化ユニット５６は、走査されたシンタックス要素を符号化するためのコンテキストモデルを選択する（２５８）。概して、コンテキストモデルは、前に走査されたＮ個の係数中の有効な（例えば、非ゼロである）係数の数に基づいて選択され得、但し、Ｎは非ゼロ整数値である。Ｎはブロックのサイズに基づいて選択され得る。
【０２４４】
現在のシンタックス要素を符号化するために使用すべきコンテキストモデルを選択した後に、エントロピー符号化ユニット５６は、選択されたコンテキストモデルを使用して、走査されたシンタックス要素をエントロピー符号化する（２６０）。エントロピー符号化ユニット５６は、次いで、符号化されたシンタックス要素が、符号化されるべき最後のシンタックス要素であるかどうかを決定する（２６２）。シンタックス要素が最後のシンタックス要素である場合（２６２の「ＹＥＳ」分岐）、エントロピー符号化ユニット５６は係数を走査するのを停止し得る。一方、シンタックス要素が最後のシンタックス要素でない場合（２６２の「ＮＯ」分岐）、エントロピー符号化ユニット５６は、次のシンタックス要素を走査し（２６４）、例えば、前に走査されたＮ個の係数中の有効係数の数に基づいて、走査されたシンタックス要素を符号化するためのコンテキストモデルを再び選択し得る。
【０２４５】
図１２の例は、主に、特定の係数が有効であるか否かを記述するシンタックス要素に関して説明した。これらのシンタックス要素は、例えば、有効係数フラグ、例えば、対応する係数が有効であるか、例えば、非ゼロであるかどうかを示す１ビットフラグを含み得る。特定の係数が適応走査における最終係数であるかどうかを記述するシンタックス要素に関して同様の技術が適用され得ることを理解されたい。例えば、同様の技術は最終係数フラグに適用され得る。ＣＡＢＡＣを使用して最終係数フラグを符号化するとき、コンテキストモデルは、ブロックタイプ、空間的予測方向、及び／又は選択された変換に基づく適応走査における順序インデックスに基づき得る。
【０２４６】
図１２の技術は、ビデオエンコーダ２０などのビデオ符号化機器によって実行され得る。ビデオデコーダは、図１２に従って符号化されたシンタックス要素を使用して逆走査を実行し得る。例えば、ビデオデコーダ３０は、符号化されたブロックを予測するために使用されるイントラ予測モードの指示、その符号化されたブロックを変換するために使用される回転変換の指示、又は他のそのようなデータを受信し得る。ビデオエンコーダ２０及びビデオデコーダ３０は、それぞれ同じ高ダイナミックレンジテーブルを用いて構成され得る。ビデオエンコーダ２０が複数の高ダイナミックレンジテーブルを含む例では、ビデオエンコーダ２０及びビデオデコーダ３０は、それぞれ高ダイナミックレンジテーブルの同じセットを用いて構成され得る。そのような例では、ビデオデコーダ３０は、ビデオエンコーダ２０によって適応走査を実行するために使用された高ダイナミックレンジテーブルと同じ高ダイナミックレンジテーブルを選択するために、受信された情報を使用し得る。
【０２４７】
上記のように、ビデオエンコーダ２０は、行列中の特定の位置における係数が非ゼロである可能性（又は確率）を示す統計値に基づいて適応走査を実行し得る。ビデオエンコーダ２０は、この可能性を示す動的更新走査テーブルを維持し、走査されたブロックごとに動的更新走査テーブルを更新し得る。あるブロックの係数のうちのどれが有効であり、どの係数が適応走査における最終係数であるかを示すシンタックス要素を符号化することによって、ビデオエンコーダ２０は、受信係数を逆走査するために使用され得る情報をビデオデコーダ３０に提供し得る。
【０２４８】
例えば、ビデオデコーダ３０は、シンタックス要素を復号し、次いで、シンタックス要素を使用して動的更新走査テーブルのローカルバージョンを更新し得る。ビデオデコーダ３０は、次いで、符号化された係数をエントロピー復号し、有効である（例えば、非ゼロである）確率が次に高い行列の対応する位置にその復号された係数を配置し得る。このようにして、ビデオデコーダ３０は、適応逆走査を使用してエントロピー符号化された係数の受信されたベクトルから量子化変換係数の行列を再構成し得る。
【０２４９】
このように、図１２の方法は、変換係数の１次元ベクトルを生成するために変換係数の２次元ブロックを走査することと、１次元ベクトル中の変換係数が有効であるかどうかを示す値を決定することと、少なくとも、上記値のうちの少なくとも１つの前に符号化された上記値の所定数中の有効係数の割合に基づいて選択されたコンテキストモデルを使用して上記値のうちの少なくとも１つをエントロピー符号化することとを含む方法の一例である。
【０２５０】
図１３は、本開示の技術のうちの１つ以上を使用して符号化されたＴＵを復号するための例示的な方法を示すフローチャートである。説明のためにビデオデコーダ３０（図３）の構成要素によって実行されるものとして一般的に説明するが、プロセッサ、処理ユニット、エンコーダ／デコーダ（コーデック）などのハードウェアベースの符号化ユニットなど、他のビデオ復号ユニットも図１３の方法を実行するように構成され得ることを理解されたい。また、他の例では、同様の方法は、説明する技術から逸脱することなく、図１３に示すステップに対する追加又は代替のステップを含むか、或いは異なる順序で図示のステップを実行し得ることを理解されたい。
【０２５１】
初めに、ビデオデコーダ３０は、符号化された残差データを受信する（３００）。図１３の例では、残差データは、説明のために、イントラ予測モードで予測される１つ以上のＰＵを含むＣＵの残差に対応する。本開示の技術によれば、ビデオデコーダ３０は、受信された残差データに関連付けられた予測データについての第１の予測方向を決定する（３０２）。予測方向は、ＣＵに対応する４分木のルートにおいて信号伝達されるイントラ予測モードに対応し得る。
【０２５２】
ビデオデコーダ３０は、第１の予測方向にマッピングされた第２の予測方向を決定する（３０４）。例えば、マッピングデータ８４は、イントラ予測モードのセットの、イントラ予測モードのより小さいセット、例えば、サブセットへの多対１のマッピングを与え得る。従って、ビデオデコーダ３０は、マッピングデータ８４を参照して、第１の予測方向にマッピングされた第２の予測方向を決定し得る。ビデオデコーダ３０のエントロピー復号ユニット７０は、次いで、受信された係数をエントロピー復号することを開始する（３０６）。
【０２５３】
エントロピー復号ユニット７０はまた、エントロピー復号中に又はその後に係数を逆走査する（３０８）。幾つかの例では、エントロピー復号ユニット７０は、例えば、マッピングデータ８４によって示される、第２の予測方向がマッピングされる固定走査を逆にし得る。他の例では、例えば、第１の変換が回転変換によってカスケードされたとき、エントロピー復号ユニット７０は動的走査を逆にし得る。上記で説明したように、エントロピー復号ユニット７０は、そのような例では、ビデオエンコーダ２０などのエンコーダが残差データを適応的に走査したとき、エンコーダによって使用された動的更新テーブルと同じ動的更新テーブルをエントロピー復号ユニット７０が生成することができるように、有効係数フラグ及び最終係数フラグなどのシンタックス要素を受信し、復号し得る。
【０２５４】
いずれの場合も、逆走査の後に、エントロピー復号ユニット７０は、量子化変換係数を含む２次元行列を生成し得る。従って、逆量子化ユニット７６は、その行列の量子化変換係数を逆量子化する（３１０）。逆変換ユニット７８は、第２の予測方向にマッピングされた逆変換を選択し（３１２）、その選択された逆変換を使用して変換係数を逆変換する（３１４）。例えば、逆変換ユニット７６は、マッピングデータ８４を参照して逆変換を選択し得る。幾つかの例では、マッピングデータ８４は、適用すべき逆回転変換と別の逆変換の両方を示し得、その場合、逆変換ユニット７８は、変換係数に対して最初に逆回転変換を適用し、次いで他方の逆変換を適用し得る。
【０２５５】
本開示の技術によれば、幾つかの例では、複数の逆変換が可能である変換係数のサブブロックがあり得る。そのような例では、ビデオデコーダ３０は、ビデオエンコーダによって適用された変換の指示を使用して適用すべき逆変換を決定し得る。例えば、ビデオデコーダ３０は、残差データを含むブロックに対応する４分木のルートノードにおけるサブブロックのために使用される変換の指示を受信し得る。
【０２５６】
（１つ以上の）逆変換を適用した後に、ビデオデコーダ３０は、ビデオデータの符号化中にビデオエンコーダ２０によって計算された残差ブロックと同様の残差ブロックを取得する。イントラ予測ユニット７４は、残差データについての予測ユニットを加算器８０に供給し、加算器８０は、予測ユニットと残差データとを合成して、復号されたＣＵを生成する（３１６）。ビデオデコーダ３０は、復号されたＣＵを含む復号されたフレームを参照フレームストア８２中に集合させ得る。復号されたフレームは、次いで、表示のためにレンダリングされ得、及び／又は他のフレームを復号するときの参照のために使用され得る。
【０２５７】
このように、図１３の方法は、符号化されたビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、イントラ予測モードのより小さいセットから、第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、第２のイントラ予測モードがマッピングされる逆方向性変換を決定することと、ブロックの変換された残差データに逆方向性変換を適用することとを含む方法の一例である。
【０２５８】
図１３の方法はまた、ビデオデータのブロックを復号するために使用すべきイントラ予測モードの第１の指示を受信することと、複数の変換が可能であるサイズのサブブロックをブロックが含むかどうかを、サブブロックのサイズと指示されたイントラ予測モードとに基づいて決定することと、サブブロックのサイズと指示されたイントラ予測モードとに基づいて、複数の逆変換が可能であるサイズのサブブロックをブロックが含むとき、複数の可能な逆変換のうちの１つの第２の指示を受信することと、複数の可能な逆変換のうちの指示された１つを使用してサブブロックを逆変換することとを含む方法の一例である。
【０２５９】
図１３の方法はまた、変換係数の２次元ブロックを生成するために第１の変換と回転変換の両方を使用してビデオデータのブロックの残差データが変換されたという指示を受信することと、第１の変換及び回転変換のうちの少なくとも１つに関連付けられ、変換係数の２次元ブロック中の位置が非ゼロになる可能性を与える統計値のセットを選択することと、ブロックのための変換係数の２次元行列を生成するために、統計値の選択されたセットに基づいてブロックの残差データの符号化バージョンを含む受信された１次元ベクトルを適応的に逆走査することとを含む方法の一例である。
【０２６０】
図１３の方法はまた、符号化された変換係数の受信された１次元ベクトル中の符号化された変換係数が有効であるかどうかを示す値を受信することと、少なくとも、上記値のうちの少なくとも１つの前に復号された上記値の所定数中の有効係数の割合に基づいて選択されたコンテキストモデルを使用して上記値のうちの少なくとも１つをエントロピー復号することと、変換係数の２次元ブロックを生成するために１次元ベクトルを逆走査することとを含む方法の一例である。
【０２６１】
図１４は、ＤＣイントラ予測モードが信号伝達されるエッジを含むイントラ符号化ブロックに適用すべき変換を選択するための例示的な方法を示すフローチャートである。図３のビデオデコーダ３０に関して説明するが、図２のビデオエンコーダ２０、又は他のビデオ符号化機器によって同様の（逆の）技術が適用され得ることを理解されたい。
【０２６２】
ビデオエンコーダ３０は、イントラ符号化ブロック、例えば、ＴＵを受信する（１８０）。このブロックは、ＴＵ４分木中のノードに対応する変換係数のブロックを備え得る。ＴＵ４分木ノードは、そのブロックの予測値を計算するために適用されるべきイントラ予測モードの指示を含み得る。従って、ビデオデコーダ３０は、予測モードと、そのブロックについてＤＣ予測モードが信号伝達されたかどうかとを決定する（３５２）。ブロックについてＤＣ予測モードが信号伝達された場合（３５２の「ＹＥＳ」分岐）、ビデオデコーダ３０は更に、ブロック中にエッジが存在するかどうかを決定する（３５４）。例えば、上記で説明したように、ビデオデコーダ３０は、前に符号化されたブロック中にエッジが検出されるかどうか、及びそのエッジが前に符号化されたブロックと現在のブロックとの間の境界と交差するかどうかを決定するために、隣接する、前に符号化されたブロックを検査し得る。
【０２６３】
ブロック中にエッジが存在すると決定された場合（３５４の「ＹＥＳ」分岐）、ビデオデコーダ３０はエッジベース予測モードを使用してブロックの予測値を計算する（３５６）。更に、ビデオデコーダ３０は、エッジの角度を決定し（３５８）、そのエッジの角度に極めて近い角度をもつイントラモードを決定する（３６０）。例えば、ビデオデコーダ３０は、可能なイントラ予測モードのうちの１つ以上の角度と、そのエッジの角度との間の差を計算し、差が最も低いイントラ予測モードを選択し得る。
【０２６４】
とはいえ、この例では、ビデオデコーダ３０は、概してエッジベース予測モードを使用してブロックの値を予測するので、この予測モードを決定することは、概して、その予測モードにマッピングされた変換を決定するためにのみ実行される。即ち、ビデオデコーダ３０は、次いで、決定されたイントラ予測モード、即ち、エッジの角度に極めて近い角度を有するイントラ予測モードにマッピングされた変換を選択する（３６２）。ビデオデコーダ３０は、次いで、選択された変換を使用してブロックを変換する（３６４）。
【０２６５】
一方、ブロックについてＤＣ予測モードが信号伝達されなかった場合（３５２の「ＮＯ」分岐）、ビデオデコーダ３０は、信号伝達されたモードを使用してブロックを予測する（３５３）。ＤＣ予測モードが信号伝達されたときにブロック中にエッジが存在しないと決定された場合（３５４の「ＮＯ」分岐）、ビデオデコーダ３０は、信号伝達されたようにＤＣ予測モードを使用してブロックを予測する（３６６）。ビデオデコーダ３０はまた、予測モードにマッピングされた（例えば、信号伝達されたＤＣ又は方向性）変換、又は幾つかの例ではＤＣＴなどのデフォルト変換を選択する（３６８）。ビデオデコーダ３０はまた、この場合、選択された変換を使用してブロックを変換する（３６４）。
【０２６６】
この例ではブロックを逆変換することに対応する、ブロックを変換した後に、ビデオデコーダ３０は空間領域中の残差値のブロックを再生する。ブロックを復号するために、ビデオデコーダ３０は、その残差値のブロックを（ステップ３５３、３５６、又は３６６から得られる）予測ブロックに加算し得る。残差値を予測値に加算するこのステップは、簡潔のために図１４に示されていないが、ステップ３６４の後に実行され得る。
【０２６７】
このように、図１４の方法は、ビデオデータのブロックのイントラ予測モードがＤＣイントラ予測モードであることを示す情報を受信することと、ブロックについてのＤＣイントラ予測モードの指示に基づいてビデオデータのブロック中のエッジの角度を決定することと、そのエッジの角度に近い角度を有する方向性イントラ予測モードにマッピングされた方向性逆変換を使用してブロックを逆変換することと、逆変換されたブロックを復号することとを含む方法の一例である。
【０２６８】
上記のように、同様の方法は、例えば、ビデオエンコーダ２０によって実行され得る。そのような方法は、イントラ予測符号化されるべきブロックがブロック内にエッジを含んでいると決定することと、エッジ指向イントラ予測モードを使用して計算された予測値に基づいてブロックの残差ブロックを計算することと、エッジの角度に近い角度を有する方向性イントラ予測モードにマッピングされた方向性変換を使用して残差ブロックを変換することと、変換された残差ブロックを表す情報と、ブロックがＤＣイントラ予測モードを使用して予測されたことを示す情報とを出力することとを含み得る。
【０２６９】
１つ以上の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つ以上の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、或いはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルに従ってある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体又は通信媒体など、有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、或いは（２）信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技術の実装のための命令、コード及び／又はデータ構造を取り出すために１つ以上のコンピュータ或いは１つ以上のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０２７０】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気ストレージ機器、フラッシュメモリ、或いは命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。更に、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）及びディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）及びブルーレイ（登録商標）ディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０２７１】
命令は、１つ以上のデジタル信号プロセッサ（ＤＳＰ）などの１つ以上のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、或いは他の等価な集積回路又はディスクリート論理回路によって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明した技術の実装に好適な他の構造のいずれかを指し得る。更に、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用のハードウェア及び／又はソフトウェアモジュール内に提供され得、或いは複合コーデックに組み込まれ得る。また、本技術は、１つ以上の回路又は論理要素中に十分に実装され得る。
【０２７２】
本開示の技術は、ワイヤレスハンドセット、集積回路（ＩＣ）又はＩＣのセット（例えば、チップセット）を含む、多種多様な機器又は装置において実施され得る。本開示では、開示する技術を実行するように構成された機器の機能的態様を強調するために様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び／又はファームウェアとともに、上記で説明したように１つ以上のプロセッサを含んで、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって与えられ得る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを符号化する方法であって、
ビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、
イントラ予測モードの前記第１のセットよりも小さいイントラ予測モードの第２のセットから、前記第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、
前記第２のイントラ予測モードがマッピングされる方向性変換を決定することと、
前記ブロックの残差データに前記方向性変換を適用することとを備える、方法。
［Ｃ２］
前記第２のセットの前記イントラ予測モードの各々がそれぞれの走査パターンに関連付けられ、前記第２のイントラ予測モードに関連付けられた前記走査パターンを使用して前記変換された残差ブロックを走査することをさらに備える、Ｃ１に記載の方法。
［Ｃ３］
前記第２のイントラ予測モードがマッピングされる回転変換を決定することと、
前記変換された残差ブロックに前記回転変換を適用することとをさらに備える、Ｃ１に記載の方法。
［Ｃ４］
前記第２のイントラ予測モードを決定することは、前記第１のイントラ予測モードがマッピングされる前記第２のイントラ予測モードを決定するために構成データを照会することを備え、
前記方向性変換を決定することは、前記第２のイントラ予測モードがマッピングされる前記方向性変換を決定するために前記構成データを照会することを備える、Ｃ１に記載の方法。
［Ｃ５］
イントラ予測モードの前記第２のセットが、イントラ予測モードの前記第１のセットのサブセットを備える、Ｃ１に記載の方法。
［Ｃ６］
前記変換された残差ブロックが２次元行列を備え、前記方法が、前記行列中の１つまたは複数の係数の値を０に等しく設定することをさらに備える、Ｃ１に記載の方法。
［Ｃ７］
前記変換された残差ブロックが２次元行列を備え、前記方法が、
１次元ベクトルを形成するために前記変換された残差データを走査することと、
前記ベクトル中の１つ以上の係数の値を０に等しく設定することとをさらに備える、Ｃ１に記載の方法。
［Ｃ８］
前記ブロックに関連付けられた４分木データ構造のルートノードにおいて前記第１のイントラ予測モードの指示を記憶することをさらに備える、Ｃ１に記載の方法。
［Ｃ９］
前記変換が、前記イントラ予測モードからマッピングされた第１の変換を備え、前記ブロックを変換することが、第２の異なる変換を使用して前記ブロックを変換することをさらに備える、Ｃ１に記載の方法。
［Ｃ１０］
前記第１の変換および前記イントラ予測モードのうちの少なくとも１つからマッピングされた走査インデックスを選択することと、
前記走査インデックスに対応する走査パターンを使用して前記変換された残差ブロックを走査することとをさらに備える、Ｃ９に記載の方法。
［Ｃ１１］
ビデオデータを符号化するための装置であって、
ビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、イントラ予測モードの前記第１のセットよりも小さいイントラ予測モードの第２のセットから、前記第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、前記第２のイントラ予測モードがマッピングされる方向性変換を決定することと、前記ブロックの残差データに前記方向性変換を適用することとを行うように構成されたビデオエンコーダを備える、装置。
［Ｃ１２］
前記第２のセットの前記イントラ予測モードの各々がそれぞれの走査パターンに関連付けられ、前記ビデオエンコーダが、前記第２のイントラ予測モードに関連付けられた前記走査パターンを使用して前記変換された残差データを走査するように構成された、Ｃ１１に記載の装置。
［Ｃ１３］
前記ビデオエンコーダは、前記第２のイントラ予測モードがマッピングされる回転変換を決定することと、前記変換された残差データに前記回転変換を適用することとを行うように構成された、Ｃ１１に記載の装置。
［Ｃ１４］
イントラ予測モードの前記第１のセットとイントラ予測モードの前記第２のセットとの間のマッピングの第１のセットと、イントラ予測モードの前記第２のセットと決定された前記方向性変換を備える方向性変換のセットとの間のマッピングの第２のセットとを与える構成データを記憶するコンピュータ可読媒体をさらに備え、前記第２のイントラ予測モードを決定するために、前記ビデオエンコーダは、前記第１のイントラ予測モードがマッピングされる前記第２のイントラ予測モードを決定するために構成データを照会するように構成され、前記方向性変換を決定するために、前記ビデオエンコーダは、前記第２のイントラ予測モードがマッピングされる前記方向性変換を決定するために前記構成データを照会するように構成された、Ｃ１１に記載の装置。
［Ｃ１５］
前記ビデオエンコーダが、前記方向性変換によって生成された１つ以上の変換係数の値を０に等しく設定するように構成された、Ｃ１１に記載の装置。
［Ｃ１６］
前記変換が、前記イントラ予測モードからマッピングされた第１の変換を備え、前記ビデオエンコーダが、前記第１の変換に加えて第２の異なる変換を使用して前記ブロックを変換するように構成された、Ｃ１１に記載の装置。
［Ｃ１７］
前記ビデオエンコーダが、前記第１の変換および前記イントラ予測モードのうちの少なくとも１つからマッピングされた走査インデックスを選択することと、前記走査インデックスに対応する走査パターンを使用して前記変換された残差ブロックを走査することとを行うように構成された、Ｃ１６に記載の装置。
［Ｃ１８］
前記装置が、
集積回路と、
マイクロプロセッサと、
前記ビデオエンコーダを含むワイヤレス通信機器とのうちの少なくとも１つを備える、Ｃ１１に記載の装置。
［Ｃ１９］
ビデオデータを符号化するための装置であって、
ビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信するための手段と、
イントラ予測モードの前記第１のセットよりも小さいイントラ予測モードの第２のセットから、前記第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定するための手段と、
前記第２のイントラ予測モードがマッピングされる方向性変換を決定するための手段と、
前記ブロックの残差データに前記方向性変換を適用するための手段とを備える、装置。
［Ｃ２０］
前記第２のセットの前記イントラ予測モードの各々がそれぞれの走査パターンに関連付けられ、前記装置が、前記第２のイントラ予測モードに関連付けられた前記走査パターンを使用して、変換された前記残差データを走査するための手段をさらに備える、Ｃ１９に記載の装置。
［Ｃ２１］
前記第２のイントラ予測モードがマッピングされる回転変換を決定するための手段と、
変換された前記残差データに前記回転変換を適用するための手段とをさらに備える、Ｃ１９に記載の装置。
［Ｃ２２］
実行されたとき、
ビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、
イントラ予測モードの前記第１のセットよりも小さいイントラ予測モードの第２のセットから、前記第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、
前記第２のイントラ予測モードがマッピングされる方向性変換を決定することと、
前記ブロックの残差データに前記方向性変換を適用することとを、ビデオデータを符号化するための機器のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
［Ｃ２３］
前記第２のセットの前記イントラ予測モードの各々がそれぞれの走査パターンに関連付けられ、
前記第２のイントラ予測モードに関連付けられた前記走査パターンを使用して前記変換された残差データを走査することを前記プロセッサに行わせる命令をさらに備える、Ｃ２２に記載のコンピュータプログラム製品。
［Ｃ２４］
前記第２のイントラ予測モードがマッピングされる回転変換を決定することと、
前記変換された残差データに前記回転変換を適用することとを前記プロセッサに行わせる命令をさらに備える、Ｃ２２に記載のコンピュータプログラム製品。
［Ｃ２５］
ビデオデータを復号する方法であって、
符号化されたビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、
イントラ予測モードの前記第１のセットよりも小さいイントラ予測モードの第２のセットから、前記第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、
前記第２のイントラ予測モードがマッピングされる逆方向性変換を決定することと、
前記ブロックの変換された残差データに前記逆方向性変換を適用することとを備える、方法。
［Ｃ２６］
前記第２のセットの前記イントラ予測モードの各々がそれぞれの逆走査パターンに関連付けられ、
前記逆方向性変換を適用するより前に、前記第２のセットの前記イントラ予測モードに関連付けられた前記逆走査パターンを使用して、前記ブロックの受信された係数を逆走査することをさらに備える、Ｃ２５に記載の方法。
［Ｃ２７］
前記第２のイントラ予測モードがマッピングされる逆回転変換を決定することと、
中間の変換された残差データを生成するために前記変換された残差データに前記逆回転変換を適用することとをさらに備え、
前記逆方向性変換を適用することが、前記中間の変換された残差データに前記逆方向性変換を適用することを備える、Ｃ２５に記載の方法。
［Ｃ２８］
前記第２のイントラ予測モードを決定することは、前記第１のイントラ予測モードがマッピングされる前記第２のイントラ予測モードを決定するために構成データを照会することを備え、
前記方向性変換を決定することは、前記第２のイントラ予測モードがマッピングされる前記方向性変換を決定するために前記構成データを照会することを備える、Ｃ２５に記載の方法。
［Ｃ２９］
イントラ予測モードの前記第２のセットが、イントラ予測モードの前記第１のセットのサブセットを備える、Ｃ２５に記載の方法。
［Ｃ３０］
前記第１のイントラ予測モードの前記指示を受信することが、
前記ブロックに関連付けられた４分木データ構造を受信することと、
前記４分木データ構造のルートノードから前記第１のイントラ予測モードの前記指示を取り出すこととを備える、Ｃ２５に記載の方法。
［Ｃ３１］
前記逆変換が、前記イントラ予測モードからマッピングされた第１の逆変換を備え、前記ブロックを逆変換することが、第２の異なる逆変換を使用して前記ブロックの前記変換された残差データを逆変換することをさらに備える、Ｃ２５に記載の方法。
［Ｃ３２］
前記第１の逆変換および前記イントラ予測モードのうちの少なくとも１つからマッピングされた走査インデックスを選択することと、
前記走査インデックスに対応する走査パターンを使用して前記残差ブロックを逆走査することとをさらに備える、Ｃ３１に記載の方法。
［Ｃ３３］
ビデオデータを復号するための装置であって、
符号化されたビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、イントラ予測モードの前記第１のセットよりも小さいイントラ予測モードの第２のセットから、前記第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、前記第２のイントラ予測モードがマッピングされる逆方向性変換を決定することと、前記ブロックの変換された残差データに前記逆方向性変換を適用することとを行うように構成されたビデオデコーダを備える、装置。
［Ｃ３４］
前記第２のセットの前記イントラ予測モードの各々がそれぞれの逆走査パターンに関連付けられ、前記ビデオデコーダが、前記逆方向性変換を適用するより前に、前記第２のセットの前記イントラ予測モードに関連付けられた前記逆走査パターンを使用して、前記ブロックの受信された係数を逆走査するように構成された、Ｃ３３に記載の装置。
［Ｃ３５］
前記ビデオデコーダは、前記第２のイントラ予測モードがマッピングされる逆回転変換を決定することと、中間の変換された残差データを生成するために前記変換された残差データに前記逆回転変換を適用することとを行うように構成され、前記逆方向性変換を適用することが、前記中間の変換された残差データに前記逆方向性変換を適用することを備える、Ｃ３３に記載の装置。
［Ｃ３６］
イントラ予測モードの前記第１のセットとイントラ予測モードの前記第２のセットとの間のマッピングの第１のセットと、イントラ予測モードの前記第２のセットと前記決定された方向性変換を備える方向性変換のセットとの間のマッピングの第２のセットとを与える構成データを記憶するコンピュータ可読媒体をさらに備え、前記第２のイントラ予測モードを決定するために、前記ビデオデコーダは、前記第１のイントラ予測モードがマッピングされる前記第２のイントラ予測モードを決定するために前記構成データを照会するように構成され、前記方向性変換を決定するために、前記ビデオデコーダは、前記第２のイントラ予測モードがマッピングされる前記方向性変換を決定するために前記構成データを照会するように構成された、Ｃ３３に記載の装置。
［Ｃ３７］
前記第１のイントラ予測モードの前記指示を受信するために、前記ビデオデコーダが、前記ブロックに関連付けられた４分木データ構造を受信することと、前記４分木データ構造のルートノードから前記第１のイントラ予測モードの前記指示を取り出すこととを行うように構成された、Ｃ３３に記載の装置。
［Ｃ３８］
前記逆変換が、前記イントラ予測モードからマッピングされた第１の逆変換を備え、前記ビデオデコーダが、前記第１の逆変換に加えて第２の異なる逆変換を使用して前記ブロックを逆変換するように構成された、Ｃ３３に記載の装置。
［Ｃ３９］
前記ビデオデコーダが、前記第１の逆変換および前記イントラ予測モードのうちの少なくとも１つからマッピングされた走査インデックスを選択することと、前記走査インデックスに対応する走査パターンを使用して前記残差ブロックを逆走査することとを行うように構成された、Ｃ３８に記載の装置。
［Ｃ４０］
前記装置が、
集積回路と、
マイクロプロセッサと、
前記ビデオデコーダを含むワイヤレス通信機器とのうちの少なくとも１つを備える、Ｃ３３に記載の装置。
［Ｃ４１］
ビデオデータを復号するための装置であって、前記装置は、
符号化されたビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信するための手段と、
イントラ予測モードの前記第１のセットよりも小さいイントラ予測モードの第２のセットから、前記第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定するための手段と、
前記第２のイントラ予測モードがマッピングされる逆方向性変換を決定するための手段と、
前記ブロックの変換された残差データに前記逆方向性変換を適用するための手段とを備える、装置。
［Ｃ４２］
前記第２のセットの前記イントラ予測モードの各々がそれぞれの逆走査パターンに関連付けられ、前記装置が、前記逆方向性変換を適用するより前に、前記第２のセットの前記イントラ予測モードに関連付けられた前記逆走査パターンを使用して、前記ブロックの受信された係数を逆走査するための手段をさらに備える、Ｃ４１に記載の装置。
［Ｃ４３］
前記第２のイントラ予測モードがマッピングされる逆回転変換を決定するための手段と、
中間の変換された残差データを生成するために前記変換された残差データに前記逆回転変換を適用するための手段とをさらに備え、
前記逆方向性変換を適用することが、前記中間の変換された残差データに前記逆方向性変換を適用することを備える、Ｃ４１に記載の装置。
［Ｃ４４］
実行されたとき、
符号化されたビデオデータのブロックのためのイントラ予測モードの第１のセット中の第１のイントラ予測モードの指示を受信することと、
イントラ予測モードの前記第１のセットよりも小さいイントラ予測モードの第２のセットから、前記第１のイントラ予測モードがマッピングされる第２のイントラ予測モードを決定することと、
前記第２のイントラ予測モードがマッピングされる逆方向性変換を決定することと、
前記ブロックの変換された残差データに前記逆方向性変換を適用することとを、ビデオデータを復号するための機器のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
［Ｃ４５］
前記第２のセットの前記イントラ予測モードの各々がそれぞれの逆走査パターンに関連付けられ、
前記逆方向性変換を適用するより前に、前記第２のセットの前記イントラ予測モードに関連付けられた前記逆走査パターンを使用して、前記ブロックの受信された係数を逆走査することをさらに備える、Ｃ４４に記載のコンピュータプログラム製品。
［Ｃ４６］
前記第２のイントラ予測モードがマッピングされる逆回転変換を決定することと、
中間の変換された残差データを生成するために前記変換された残差データに前記逆回転変換を適用することとをさらに備え、
前記逆方向性変換を適用することが、前記中間の変換された残差データに前記逆方向性変換を適用することを備える、Ｃ４４に記載のコンピュータプログラム製品。
【図１】
0005944459.tif 000006
【図２】
0005944459.tif 000007
【図３】
0005944459.tif 000008
【図４】
0005944459.tif 000009
【図５】
0005944459.tif 000010
【図６】
0005944459.tif 000011
【図７Ａ】
0005944459.tif 000012
【図７Ｂ】
0005944459.tif 000013
【図８】
0005944459.tif 000014
【図９】
0005944459.tif 000015
【図１０】
0005944459.tif 000016
【図１１】
0005944459.tif 000017
【図１２】
0005944459.tif 000018
【図１３】
0005944459.tif 000019
【図１４】
0005944459.tif 000020