(57)【特許請求の範囲】
【請求項１】
ビデオデータを符号化する方法であって、
ビデオエンコーダが、前記ビデオデータの予測ブロックを決定することと、
前記ビデオエンコーダが、決定された前記予測ブロックのサイズとは異なる変換ブロックサイズを有する、前記予測ブロックの変換ブロックを決定することと、
前記ビデオエンコーダが、イントラ予測モードと前記変換ブロックサイズとに基づいて変換と走査モードの組合せのサブセットを決定することと、
前記ビデオエンコーダが、決定された前記変換ブロックに関する変換と走査モードの組合せの前記サブセットから変換と走査モードを選択することと、
前記ビデオエンコーダが、変換係数の２次元アレイを生成するように、前記イントラ予測モードに基づいて前記予測ブロックを予測することに関連する残差データに選択された前記変換を適用することと、
前記ビデオエンコーダが、変換係数の１次元アレイを生成するために、選択された前記走査モードを変換係数の前記２次元アレイの少なくとも一部を含む前記変換ブロックに適用することとを備える方法。
【請求項２】
前記ビデオエンコーダが、変換係数の前記１次元アレイと変換係数の前記２次元アレイとのうちの少なくとも１つ中の前記変換係数を量子化することと、
前記ビデオエンコーダが、変換係数の前記１次元アレイをエントロピーコード化することとをさらに備える、請求項１に記載の方法。
【請求項３】
前記ビデオエンコーダが、符号化ビデオビットストリーム中でインデックスを信号伝達することを更に含み、前記インデックスが選択された前記変換と走査モードを示す、請求項１に記載の方法。
【請求項４】
前記インデックスが固定数のビットによって表され、前記インデックスがＣＡＢＡＣ又はＣＡＶＬＣを使用してエントロピーコード化される、請求項３に記載の方法。
【請求項５】
前記ビデオエンコーダが、符号化ビデオビットストリーム中でインデックスを信号伝達することを更に含み、前記インデックスが選択された前記変換を示し、変換と走査モードの組合せの前記サブセットは、変換が特定の走査モードにマッピングされるように決定される、請求項１に記載の方法。
【請求項６】
符号化ビデオビットストリーム中でインデックスを信号伝達することを更に含み、前記インデックスが選択された前記変換を示し、変換と走査モードの組合せの前記サブセット中の前記走査モードの各々が前記イントラ予測モードに基づく、請求項１に記載の方法。
【請求項７】
ビデオデータを復号する方法であって、
ビデオデコーダが、イントラ予測モードに従って符号化された符号化ビデオデータを受信することと、
前記符号化ビデオデータの予測ブロックを決定することと、
決定された前記予測ブロックのサイズとは異なる変換ブロックサイズを有する前記予測ブロックの変換ブロックを決定することと、
前記ビデオデコーダが、前記符号化ビデオデータをエントロピー復号し、それによって変換係数の１次元アレイを作成する、エントロピー復号することと、
前記ビデオデコーダが、変換と走査モードの組合せのサブセットから変換を決定することと、ここにおいて前記サブセットは前記イントラ予測モードと前記変換ブロックサイズとに基づく、
前記ビデオデコーダが、決定された前記変換ブロックに関する変換と走査モードの組合せの前記サブセットから走査モードを決定することと、
前記ビデオデコーダが、変換係数の２次元アレイを生成するために、決定された前記走査モードを用いて、決定された前記変換ブロックに関連する変換係数の前記１次元アレイを走査することと、
前記ビデオデコーダが、前記イントラ予測モードに基づいて前記予測ブロックを予測することに関連する残差ビデオデータを生成するために、決定された前記変換を用いて変換係数の前記２次元アレイを逆変換することとを備える方法。
【請求項８】
前記ビデオデコーダが、復号ビデオデータを生成するために、前記イントラ予測モードに従って前記残差ビデオデータに対してイントラ予測ビデオコード化プロセスを実行することをさらに備える、請求項７に記載の方法。
【請求項９】
前記ビデオデコーダが、決定された前記変換と決定された前記走査モードとを示すインデックスを受信することと、
ＣＡＢＡＣ又はＣＡＶＬＣを使用して前記インデックスをエントロピー復号することとをさらに備える、請求項７に記載の方法。
【請求項１０】
前記インデックスが２ビットインデックスである、請求項９に記載の方法。
【請求項１１】
前記ビデオデコーダが、決定された前記変換を示すインデックスを受信することを更に含み、前記走査モードが決定された前記変換に基づいて決定される、請求項７に記載の方法。
【請求項１２】
前記ビデオデコーダが、決定された前記変換を示すインデックスを受信することを更に含み、前記走査モードが前記イントラ予測モードに基づいて決定される、請求項７に記載の方法。
【請求項１３】
ビデオデータを符号化するように構成された装置であって、
前記ビデオデータを記憶するように構成されたビデオメモリと、
前記ビデオメモリと通信しているビデオエンコーダとを備え、前記ビデオエンコーダが、
前記ビデオデータの予測ブロックを決定することと、
決定された前記予測ブロックのサイズとは異なる変換ブロックサイズを有する前記予測ブロックの変換ブロックを決定することと、
イントラ予測モードと前記変換ブロックサイズとに基づいて変換と走査モードの組合せのサブセットを決定することと、
決定された前記変換ブロックに関する変換と走査モードの組合せの前記サブセットから変換と走査モードの組合せを選択することと、
変換係数の２次元アレイを生成するように、前記イントラ予測モードに基づいて前記予測ブロックを予測することに関連する残差データに選択された前記変換を適用することと、
変換係数の１次元アレイを生成するために、選択された前記走査モードを変換係数の前記２次元アレイの少なくとも一部を含む前記変換ブロックに適用することとを行うように構成される、装置。
【請求項１４】
前記ビデオエンコーダが、
変換係数の前記１次元アレイと変換係数の前記２次元アレイとのうちの少なくとも１つ中の前記変換係数を量子化することと、
変換係数の前記１次元アレイをエントロピーコード化することとを行うようにさらに構成された、請求項１３に記載の装置。
【請求項１５】
前記ビデオエンコーダは、
符号化ビデオビットストリーム中でインデックスを信号伝達するように更に構成され、前記インデックスが選択された前記変換と走査モードを示す、請求項１３に記載の装置。
【請求項１６】
前記インデックスが固定数のビットによって表され、前記インデックスがＣＡＢＡＣ又はＣＡＶＬＣを使用してエントロピーコード化される、請求項１５に記載の装置。
【請求項１７】
前記ビデオエンコーダは、
符号化ビデオビットストリーム中でインデックスを信号伝達するように更に構成され、前記インデックスが選択された前記変換を示し、変換と走査モードの組合せの前記サブセットは、変換が特定の走査モードにマッピングされるように決定される、請求項１３に記載の装置。
【請求項１８】
前記ビデオエンコーダは、
符号化ビデオビットストリーム中でインデックスを信号伝達するように更に構成され、前記インデックスが選択された前記変換を示し、変換と走査モードの組合せの前記サブセット中の前記走査モードの各々が前記イントラ予測モードに基づく、請求項１３に記載の装置。
【請求項１９】
ビデオデータを復号するように構成された装置であって、
前記ビデオデータを記憶するように構成されたビデオメモリと、
前記ビデオメモリと通信しているビデオデコーダとを備え、前記ビデオデコーダが、
イントラ予測モードに従って符号化された符号化ビデオデータを受信することと、
前記符号化ビデオデータの予測ブロックを決定することと、
決定された前記予測ブロックのサイズとは異なる変換ブロックサイズを有する前記予測ブロックの変換ブロックを決定することと、
前記符号化ビデオデータをエントロピー復号し、それによって変換係数の１次元アレイを作成する、エントロピー復号することと、
変換と走査モードの組合せのサブセットから変換を決定することと、ここにおいて前記サブセットは前記イントラ予測モードと前記変換ブロックサイズとに基づく、
決定された前記変換ブロックに関する変換と走査モードの組合せの前記サブセットから走査モードを決定することと、
変換係数の２次元アレイを生成するために、決定された前記走査モードを用いて、決定された前記変換ブロックに関連する変換係数の前記１次元アレイを走査することと、
前記イントラ予測モードに基づいて前記予測ブロックを予測することに関連する残差ビデオデータを生成するために、決定された前記変換を用いて変換係数の前記２次元アレイを逆変換することとを行うように構成される、装置。
【請求項２０】
前記ビデオデコーダが、
復号ビデオデータを生成するために、前記イントラ予測モードに従って前記残差ビデオデータに対してイントラ予測ビデオコード化プロセスを実行することを行うようにさらに構成された、請求項１９に記載の装置。
【請求項２１】
前記ビデオデコーダが、
前記決定された変換と前記決定された走査モードとを示すインデックスを受信することと、
ＣＡＢＡＣ又はＣＡＶＬＣを使用して前記インデックスをエントロピー復号することとを行うようにさらに構成された、請求項１９に記載の装置。
【請求項２２】
前記インデックスが２ビットインデックスである、請求項２１に記載の装置。
【請求項２３】
前記ビデオデコーダは、
決定された前記変換を示すインデックスを受信するように更に構成され、前記走査モードが前記決定された変換に基づいて決定される、請求項１９に記載の装置。
【請求項２４】
前記ビデオデコーダは、
決定された前記変換を示すインデックスを受信するように更に構成され、前記走査モードが前記イントラ予測モードに基づいて決定される、請求項１９に記載の装置。
【請求項２５】
ビデオデータを符号化するように構成された装置であって、
前記ビデオデータの予測ブロックを決定するための手段と、
決定された前記予測ブロックのサイズとは異なる変換ブロックサイズを有する、前記予測ブロックの変換ブロックを決定するための手段と、
イントラ予測モードと前記変換ブロックサイズとに基づいて変換と走査モードの組合せのサブセットを決定するための手段と、
決定された前記変換ブロックに関する変換と走査モードの組合せの前記サブセットから変換と走査モードの組合せを選択するための手段と、
変換係数の２次元アレイを生成するように、前記イントラ予測モードに基づいて前記予測ブロックを予測することに関連する残差データに前記選択された変換を適用するための手段と、
変換係数の１次元アレイを生成するために、前記選択された走査モードを変換係数の前記２次元アレイの少なくとも一部を含む前記変換ブロックに適用するための手段とを備える装置。
【請求項２６】
ビデオデータを復号するように構成された装置であって、
イントラ予測モードに従って符号化された符号化ビデオデータを受信するための手段と、
前記符号化ビデオデータの予測ブロックを決定するための手段と、
決定された前記予測ブロックのサイズとは異なる変換ブロックサイズを有する前記予測ブロックの変換ブロックを決定するための手段と、
前記符号化ビデオデータをエントロピー復号し、それによって変換係数の１次元アレイを作成する、エントロピー復号するための手段と、
変換と走査モードの組合せのサブセットから変換を決定するための手段と、ここにおいて前記サブセットが前記イントラ予測モードと前記変換ブロックサイズとに基づく、
決定された前記変換ブロックに関する変換と走査モードの組合せの前記サブセットから走査モードを決定するための手段と、
変換係数の２次元アレイを生成するために、決定された前記走査モードを用いて、決定された前記変換ブロックに関連する変換係数の前記１次元アレイを走査するための手段と、
前記イントラ予測モードに基づいて前記予測ブロックを予測することに関連する残差ビデオデータを生成するために、決定された前記変換を用いて変換係数の前記２次元アレイを逆変換するための手段とを備える装置。
【請求項２７】
実行されたとき、
ビデオデータの予測ブロックを決定することと、
決定された前記予測ブロックのサイズとは異なる変換ブロックサイズを有する前記予測ブロックの変換ブロックを決定することと、
イントラ予測モードと前記変換ブロックサイズとに基づいて変換と走査モードの組合せのサブセットを決定することと、
決定された前記変換ブロックに関する変換と走査モードの組合せの前記サブセットから変換と走査モードの組合せを選択することと、
変換係数の２次元アレイを生成するように、前記イントラ予測モードに基づいて前記予測ブロックを予測することに関連する残差データに選択された前記変換を適用することと、
変換係数の１次元アレイを生成するために、選択された前記走査モードを変換係数の前記２次元アレイに適用することとを、前記ビデオデータを符号化するための機器の１つ以上のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体。
【請求項２８】
実行されたとき、
イントラ予測モードに従って符号化された符号化ビデオデータを受信することと、
ビデオデータの予測ブロックを決定することと、
決定された予測ブロックのサイズとは異なる変換ブロックサイズを有する前記予測ブロックの変換ブロックを決定することと、
前記符号化ビデオデータをエントロピー復号し、それによって変換係数の１次元アレイを作成する、エントロピー復号することと、
変換と走査モードの組合せのサブセットから変換を決定することと、ここにおいて前記サブセットは前記イントラ予測モードと前記変換ブロックサイズとに基づく、
決定された前記変換ブロックに関する変換と走査モードの組合せの前記サブセットから走査モードを決定することと、
変換係数の２次元アレイを生成するために、決定された前記走査モードを用いて、決定された前記変換ブロックに関連する変換係数の前記１次元アレイを走査することと、
前記イントラ予測モードに基づいて前記予測ブロックを予測することに関連する残差ビデオデータを生成するために、決定された前記変換を用いて変換係数の前記２次元アレイを逆変換することとを、前記ビデオデータを復号するための機器の１つ以上のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その全体が参照により本明細書に組み込まれる、２０１０年１２月２９日に出願された米国仮出願第６１／４２８，１１１号の利益を主張する。
【０００２】
関連出願の相互参照
本特許出願は、各々が本出願の譲受人に譲渡され、参照により本明細書に明確に組み込まれる、
２０１１年７月７日に出願された米国特許出願第１３／１７８，４２７号、２０１１年７月７日に出願された米国特許出願第１３／１７８，４３４号、及び２０１１年７月７日に出願された米国特許出願第１３／１７８，４３８号の同時係属米国特許出願に関する。
【０００３】
本開示は、ビデオコード化に関し、より詳細には、ビデオコード化プロセスによって生成される変換係数を生成し、走査するための技法に関する。
【背景技術】
【０００４】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップ又はデスクトップコンピュータ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、セルラー電話又は衛星無線電話、ビデオ遠隔会議機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、デジタルビデオ情報をより効率的に送信、受信及び記憶するための、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）によって定義された規格、現在開発中の高効率ビデオコード化（ＨＥＶＣ：High Efficiency Video Coding）規格、及びそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実施する。
【０００５】
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的予測及び／又は時間的予測を含む。ブロックベースのビデオコード化の場合、ビデオフレーム又はスライスはブロックに区分され得る。各ブロックはさらに区分され得る。イントラコード化（Ｉ）フレーム又はスライス中のブロックは、同じフレーム又はスライス中の隣接ブロック中の参照サンプルに関する空間的予測を使用して符号化される。インターコード化（Ｐ又はＢ）フレーム又はスライス中のブロックは、同じフレーム又はスライス中の隣接ブロック中の参照サンプルに関する空間的予測、あるいは他の参照フレーム中の参照サンプルに関する時間的予測を使用し得る。空間的予測又は時間的予測は、コード化されるべきブロックの予測ブロックを生じる。残差データは、コード化されるべき元のブロックと予測ブロックとの間の画素差分を表す。
【０００６】
インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックをポイントする動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコード化モードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、画素領域から変換領域に変換されて残差変換係数を生じ得、残差変換係数は、次いで量子化され得る。最初は２次元アレイ中に構成される量子化された変換係数は、エントロピーコード化のために変換係数の１次元ベクトルを生成するために、特定の順序で走査され得る。
【発明の概要】
【０００７】
概して、本開示では、ビデオデータをコード化するための技法について説明する。本開示では、ビデオコード化プロセス中に残差ビデオデータを変換し、変換係数を走査するための技法について説明する。概して、コード化されるべきピクチャのブロックは、イントラモード符号化される（例えば、同じピクチャの他のブロックに対して符号化される）か又はインターモード符号化され得る（例えば、前にコード化されたピクチャのブロックに対して符号化され得る）。いずれの場合も、ビデオエンコーダは予測データと残差データとを形成する。
【０００８】
本開示の一例では、ビデオエンコーダは、イントラ予測モードに基づいて変換と走査モードの組合せのサブセットを決定することと、変換と走査モードの組合せのサブセットから変換と走査モードの組合せを選択することと、変換係数の２次元アレイを生成するように、イントラ予測モードに基づいてブロックを予測することに関連する残差データに選択された変換を適用することと、変換係数の１次元アレイを生成するために、選択された走査モードを変換係数の２次元アレイに適用することとを行うように構成され得る。
【０００９】
ビデオエンコーダは、選択された変換と走査モードの組合せを示すインデックスを信号伝達するようにさらに構成され得る。他の例では、インデックスは変換のみを示し得る。そのような場合、ビデオデコーダは、変換に基づいて走査モードを推論し得るか、又はイントラ予測モードに基づいて走査モードを推論し得る。この場合、変換は、全ての可能な変換から又は変換のサブセットから選定され得、サブセットはイントラ予測モードに基づいて決定される。
【００１０】
本開示の別の例では、ビデオデコーダは、イントラ予測モードに従って符号化された符号化ビデオデータを受信することと、符号化ビデオデータをエントロピー復号することであって、それによって変換係数の１次元アレイを作成する、エントロピー復号することと、変換と走査モードの組合せのサブセットから変換を決定することであって、サブセットがイントラ予測モードに基づく、決定することと、変換と走査モードの組合せのサブセットから走査モードを決定することと、変換係数の２次元アレイを生成するために、決定された走査モードを用いて変換係数の１次元アレイを走査することと、イントラ予測モードに基づいてブロックを予測することに関連する残差ビデオデータを生成するために、決定された変換を用いて変換係数の２次元アレイを逆変換することとを行うように構成され得る。
【００１１】
本開示の別の例では、ビデオエンコーダは、離散サイン変換、離散コサイン変換、設計変換、及び／又は２Ｄ離散コサイン変換などの１次変換と２Ｄ回転変換などの２次変換との組合せなど、複数の変換からの変換を使用して残差データを変換し得る。変換は、直交方向（例えば、垂直及び水平方向）に適用される成分を有する２Ｄ分離可能変換であり得る。２次変換は、１次変換の変換係数に適用され得る。２Ｄ１次変換と２Ｄ２次変換との組合せは、単一の２Ｄ変換と見なされ得る。ビデオエンコーダは、変換係数の２次元アレイを作成するために、残差データに変換を適用し得る。ビデオエンコーダは、２次元アレイ中の変換係数を変換係数の１次元アレイに走査するための走査モードを選択するように構成され得る。走査モードは、２次元アレイを作成するために使用された変換に基づいて選択され得る。一例では、変換は走査モードにマッピングされ得る。使用された変換及び／又は走査モードはビデオデコーダに信号伝達され得る。選択された走査モードを用いた走査の後に、変換係数の１次元アレイはエントロピー符号化され得る。
【００１２】
本開示の別の例では、ビデオデコーダは、変換係数の１次元アレイを取り出すために符号化ビデオデータをエントロピー復号し得る。ビデオデコーダは、次いで、変換係数の１次元アレイを変換係数の２次元アレイに変換するための逆走査プロセスを実行する。ビデオデコーダは、ビデオエンコーダによって使用されたのと同じ走査モードを（逆に）使用する。これは、ビデオエンコーダによって使用された変換を示す信号伝達要素を取り出すことと、次いで、変換又は変換の組合せにマッピングされる走査モードを選択することとによって、ビデオデコーダによって決定され得る。逆走査の後に、ビデオエンコーダは、次いで、残差データを取り出すために、変換係数の２次元アレイに逆変換を適用し得る。
【００１３】
１つ以上の例の詳細を添付の図面及び以下の説明に記載する。他の特徴、目的、及び利点は、その説明及び図面、並びに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１４】
【図１】例示的なイントラ予測モード方向を示す概念図。
【図２】変換係数を走査するための例示的な走査モードを示す図。
【図３】変換と走査モードとの間のマッピングを示す図。
【図４】例示的なビデオ符号化及び復号システムを示すブロック図。
【図５】例示的なビデオエンコーダを示すブロック図。
【図６】例示的なエントロピー符号化ユニットを示すブロック図。
【図７】例示的なビデオデコーダを示すブロック図。
【図８】例示的なエントロピー復号ユニットを示すブロック図。
【図９】ビデオを符号化する例示的な方法を示すフローチャート。
【図１０Ａ】ビデオを符号化する他の例示的な方法を示すフローチャート。
【図１０Ｂ】ビデオを符号化する他の例示的な方法を示すフローチャート。
【図１１】ビデオを復号する例示的な方法を示すフローチャート。
【図１２】ビデオを符号化する例示的な方法を示すフローチャート。
【図１３Ａ】ビデオを符号化する他の例示的な方法を示すフローチャート。
【図１３Ｂ】ビデオを符号化する他の例示的な方法を示すフローチャート。
【図１３Ｃ】ビデオを符号化する他の例示的な方法を示すフローチャート。
【図１４】ビデオを復号する例示的な方法を示すフローチャート。
【図１５】ビデオを復号する別の例示的な方法を示すフローチャート。
【発明を実施するための形態】
【００１５】
概して、本開示では、ビデオデータをコード化するための技法について説明する。より詳細には、本開示では、ビデオコード化プロセス中に残差データを変換し、変換係数を走査することに関係する技法について説明する。一例では、本開示は、変換を走査モードにマッピングすることを提案する。
【００１６】
デジタルビデオ機器は、デジタルビデオ情報をより効率的に送信及び受信するためのビデオ圧縮技法を実施する。ビデオ圧縮は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的（フレーム内）予測及び／又は時間的（フレーム間）予測技法を適用し得る。
【００１７】
一例として、Ｊｏｉｎｔ  Ｃｏｏｐｅｒａｔｉｖｅ  Ｔｅａｍ  ｆｏｒ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）によって現在開発中の高効率ビデオコード化（ＨＥＶＣ）規格に従うビデオコード化では、ビデオフレームがコード化ユニットに区分され得る。コード化ユニットは、概して、ビデオ圧縮のために様々なコード化ツールが適用される基本ユニットとして働く画像領域を指す。コード化ユニットは、一般に方形であり、例えば、ＩＴＵ−Ｔ  Ｈ．２６４などの他のビデオコード化規格の下での所謂マクロブロックと同様であると見なされ得る。本出願では、例示のために、開発中のＨＥＶＣ規格の現在提案されている態様の幾つかに従うコード化について説明する。但し、本開示で説明する技法は、Ｈ．２６４又は他の規格に従って定義されるビデオコード化プロセス若しくはプロプライエタリビデオコード化プロセスなど、他のビデオコード化プロセスのために有用であり得る。
【００１８】
望ましいコード化効率を達成するために、コード化ユニット（ＣＵ）はビデオコンテンツに応じて可変サイズを有し得る。さらに、コード化ユニットは、予測又は変換のためにより小さいブロックに分割され得る。具体的には、各コード化ユニットは、予測ユニット（ＰＵ）と変換ユニット（ＴＵ）とにさらに区分され得る。予測ユニットは、Ｈ．２６４規格などの他のビデオコード化規格の下での所謂パーティションと同様であると見なされ得る。変換ユニット（ＴＵ）は、概して、変換係数を生成するために変換が適用される残差データのブロックを指す。本開示ではまた、ＣＵ、ＰＵ、又はＴＵのいずれかを指すために「ブロック」という用語を使用する。
【００１９】
コード化ユニットは、通常、Ｙとして示されるルミナンス成分と、Ｕ及びＶとして示される２つのクロマ成分とを有する。ビデオサンプリングフォーマットに応じて、サンプル数で表されるＵ及びＶ成分のサイズは、Ｙ成分のサイズと同じであるか又はそれとは異なり得る。
【００２０】
ブロック（例えば、ビデオデータの予測ユニット）をコード化するために、ブロックの予測子が最初に導出される。予測ブロックとも呼ばれる予測子は、イントラ（Ｉ）予測（即ち、空間的予測）又はインター（Ｐ又はＢ）予測（即ち、時間的予測）のいずれかを通して導出され得る。従って、幾つかの予測ユニットは、同じフレーム（又はスライス）中の隣接参照ブロック中の参照サンプルに関する空間的予測を使用してイントラコード化（Ｉ）され得、他の予測ユニットは、前にコード化された他のフレーム（又はスライス）中の参照サンプルのブロックに関して単方向にインターコード化（Ｐ）されるか又は双方向にインターコード化（Ｂ）され得る。各場合において、参照サンプルは、コード化されるべきブロックの予測ブロックを形成するために使用され得る。
【００２１】
ＨＥＶＣの規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコード化機器のモデルに基づく。ＨＭは、例えば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣによる機器に勝るビデオコード化機器の幾つかの能力を仮定する。例えば、Ｈ．２６４は９つのイントラ予測符号化モードを与えるが、ＨＭは３５個ものイントラ予測符号化モードを与える。
【００２２】
ＨＥＶＣにおける３５個のイントラ予測モードは、１つのＤＣモードと、１つの平面モードと、３３個の異なる方向性予測モードとを含む。方向性予測モードを用いて、そのモードによって示されるある方向に沿った隣接ブロックの再構成された画素に基づいて予測が実行される。異なる予測モードに関連する方向を図１に示す。
【００２３】
予測ブロックの識別時に、元のビデオデータブロックとそれの予測ブロックとの間の差分が決定される。この差分は残差データと呼ばれることがあり、コード化されるべきブロック中の画素値と、コード化ブロックを表すように選択された予測ブロック中の画素値との間の画素差分を示す。より良好な圧縮を達成するために、予測残差データは、例えば、離散コサイン変換（ＤＣＴ）、離散サイン変換（ＤＳＴ）、整数変換、カルーネンレーベ変換（ＫＬＴ：Karhunen-Loeve transform）、又は別の変換を使用して変換され得る。ＫＬＴは、シーケンスのセットをトレーニングすることによって生成された残差ブロックから設計され得るか、又は予測残差の相関モデルから導出され得る。シーケンスのセットをトレーニングすることによって生成された残差ブロックから変換を設計するための他の方法を使用することが可能であり得る。本開示ではまた、そのような変換を指すために「設計変換」という用語を使用する。
【００２４】
「ＤＣＴ変換」又は他の同様の変換への言及は、固定小数点実装形態と浮動小数点実施形態の両方を含むものと理解されたい。一例として、ＤＣＴ変換の実施形態は、実際には、ＤＣＴ変換が有理数係数ではなく整数係数（即ち、固定小数点係数）を有するような、ＤＣＴの近似を備え得る。
【００２５】
幾つかの例では、変換は非分離可能変換を備え得る。非分離可能変換は一般に計算コストが高く、従って、ビデオコード化機器は代わりに分離可能変換を適用し得る。概して、分離可能変換は、ブロックの行に適用される水平成分と、そのブロックの列に適用される垂直成分とを含む。このようにして、分離可能変換は、２直交変換成分とも呼ばれる、行変換成分と列変換成分とを有し得る。分離可能変換を定義するために２つの行列が使用され得、行列の各々は直交変換成分のうちの１つに対応する。非分離可能変換は、適用されたときに、分離可能変換の適用と概念的に同様の結果を、但し比較的より集約的な計算を介して生じる、１つの行列のみを含み得る。
【００２６】
ＴＵなどの変換ブロック中の残差データは、空間的画素領域に存在する画素差分値の２次元（２Ｄ）アレイで構成され得る。変換は、周波数領域などの変換領域において残差画素値を変換係数の２次元アレイに変換する。さらなる圧縮のために、変換係数は、エントロピーコード化に先立って量子化され得る。次いで、エントロピーコーダは、量子化された変換係数にコンテキスト適応型可変長コード化（ＣＡＶＬＣ：Context Adaptive Variable Length Coding）、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ：Context Adaptive Binary Arithmetic Coding）などのエントロピーコード化を適用する。
【００２７】
量子化された変換係数のブロックをエントロピーコード化するために、ブロック中の量子化された変換係数の２次元（２Ｄ）アレイが、特定の走査順序に従って変換係数の順序付き１次元（１Ｄ）アレイ、即ち、ベクトルに再構成されるように、走査プロセスが通常実行される。次いで、変換係数のベクトルにエントロピーコード化が適用される。変換ユニット中の量子化された変換係数の走査は、エントロピーコーダのために変換係数の２Ｄアレイをシリアル化する。幾つかの例では、ビデオエンコーダは、例えば、コンテキスト適応型可変長コード化（ＣＡＶＬＣ）を使用して、アレイの様々な可能な量子化変換係数を表すために可変長コード（ＶＬＣ）を使用するように構成され得る。他の例では、ビデオエンコーダは、例えば、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を使用して、得られた量子化係数を符号化するためにバイナリ算術コード化を使用するように構成され得る。
【００２８】
一般に、２次元アレイ中に指定される変換係数は、２次元アレイから適切に読み取られた場合、ランレングスコード化を可能にする方法で、そのアレイ内でグループ化される。適切な読みは、非０係数ができるだけうまく一緒にグループ化されることと、０値係数ができるだけうまく一緒にグループ化されることとを暗示する。エンコーダは、走査モードを使用して、２次元アレイから変換係数を抽出し得る。これらの走査モードは、変換係数の１次元アレイを生成するために、図２に示すように、対角走査、水平走査又は垂直走査を実行するか、若しくは変換係数の２次元アレイにわたる他のタイプの走査を実行し得る。例えば、適応走査も実行され得る。
【００２９】
対角走査モード１７を実行するとき、ビデオコード化機器は対角パターンで２次元アレイを横断する。図２は、４×４ブロックの１つの可能な例を示す概念図である。同様に、水平走査モード１９を使用するビデオコード化機器は水平パターンで２次元アレイを横断する。垂直走査モード２１を使用するビデオコード化機器は垂直パターンで２次元アレイを横断する。これらの走査モードの各々は順方向又は逆方向に実行され得る。順方向における走査モードは、アレイの左上隅（即ち、アレイのＤＣ係数）からアレイの右下隅（即ち、アレイのより高い周波数係数）まで進む。逆に、逆方向における走査モードは、アレイの右下隅からアレイの左上隅まで進む。
【００３０】
１つの従来の例では、ビデオエンコーダは、図２の例に示す３つの走査モードの各々を実行し、これらの走査モードの各々に従って変換係数を走査した結果を評価する。これらの走査モードを評価するために、エンコーダは、走査の後に１次元アレイ中で変換係数が一緒にグループ化される程度を決定し得る。エンコーダは、次いで、１次元アレイ内で変換係数の最良のグルーピングを与える実行された走査モードのうちの１つを選択し、この走査モードが変換係数を走査するために使用されたことを信号伝達する。
【００３１】
別の例では、提案されたＨＥＶＣ規格は、イントラ予測のための変換と走査モードとの１２個の異なる組合せを現在規定している。ＨＥＶＣにおけるイントラ予測のための現在の変換は、水平ＤＣＴ／垂直ＤＳＴと、水平ＤＳＴ／垂直ＤＣＴと、水平ＤＣＴ／垂直ＤＣＴと、水平ＤＳＴ／垂直ＤＳＴとを含む。現在の走査モードは、図２に示すように、水平走査モードと、垂直走査モードと、対角走査モードとを含む。各イントラ予測モードについて、各組合せがテストされ、最良のビットレートを実現する（又はビットレートしきい値を満たす）変換／走査モードの組合せが使用のために選定される。全ての１２個の組合せをテストすることは、しばしば、エンコーダの計算負担を増加させる。さらに、変換と走査モードの組合せは符号化ビットストリーム中で信号伝達される。１２個の組合せがあるので、組合せを信号伝達するために比較的多数のビットが使用され、従って、ビットレートが増加する。ＨＥＶＣにおける１２個の組合せの例は一例にすぎない。本開示の技法は、任意の数の変換と走査モードの組合せをもつ任意のビデオコード化方式に適用可能であり得、任意のタイプの変換と任意のタイプの走査モードとを用いて適用可能である。以下でさらに詳細に説明するように、本開示は、計算量を低減することと、ビットストリームコード化効率を改善することとのための技法を与える。
【００３２】
本開示では、ビデオコード化プロセス中の残差値の変換、量子化、走査、及びエントロピー符号化に関係する幾つかの技法について説明する。本技法は、ビデオ符号化及び／又は復号を実行するように構成されたビデオエンコーダ／デコーダ（コーデック）と処理ユニットとを含む、ビデオ符号化ユニットとビデオ復号ユニットの両方によって適用され得る。「ビデオコード化ユニット」又は「ビデオコード化機器」への言及は、ビデオデータの符号化、復号、又は符号化と復号の両方が可能なユニット又は機器を指すものと理解されたい。
【００３３】
概して、本開示の技法は、残差データを変換し、ＴＵの変換係数を走査することに関する。一例では、本開示の技法は、残差データを作成する際に使用されたイントラ予測モードに基づいて変換と走査モードの組合せのサブセットを決定することを含む。組合せの数を組合せの総数のサブセットに低減することによって、変換と走査モードとを選択することの計算負担が低減され得る。さらに、変換と走査モードの組合せは、組合せを示すインデックスとして符号化ビデオビットストリーム中で信号伝達され得る。各イントラ予測モードのためのサブセット中の組合せの総数が、４つ以下の組合せに限定される場合、組合せのインデックスは２ビットと同程度に小さくなり得る。インデックスは、コンテキスト適応型バイナリ算術コーダ（ＣＡＢＡＣ：context adaptive binary arithmetic coder）又はコンテキスト適応型可変長コード（ＣＡＶＬＣ：context adaptive variable length code）を使用してエントロピーコード化され得る。これにより、オーバーヘッド信号伝達が大幅に低減し、従って、ビットレートを低減し得る。
【００３４】
各イントラ予測モードのためのサブセットの好適な組合せは、トレーニングシーケンスのセットに関して各イントラ予測モードのための１２個の可能な変換走査組合せの各々に対応するレート歪みコストを評価することと、シーケンスのトレーニングセットにわたって最良のレート歪みコストを与える組合せのサブセットを選定することとによって決定され得る。一例として、水平予測モードでは、２つの組合せのみが使用されるとき、サブセットは、（１）水平ＤＳＴ／垂直ＤＣＴ及び垂直走査と、（２）水平ＤＣＴ／垂直ＤＣＴ及び対角走査とになるように選定され得る。
【００３５】
この例では、ビデオエンコーダは、イントラ予測モードに従って残差データを計算する。イントラ予測モードに基づいて変換と走査モードの組合せのサブセットを決定する。サブセットから変換と走査モードの組合せを選択する。サブセット内での選択は、サブセット中の変換と走査モードの各組合せをテストすることと、最低レート歪みコストを実現する組合せを選択することとに基づき得る。
【００３６】
次いで、変換係数の２次元アレイを生成するように、選択された変換を残差データに適用する。変換係数の１次元アレイを生成するために、選択された走査モードを変換係数の２次元アレイに適用する。変換係数の１次元アレイをエントロピーコード化し、従って、符号化ビデオビットストリームを形成し得る。
【００３７】
選択された変換と走査モードの組合せは、インデックスを使用して符号化ビデオビットストリーム中で信号伝達され得る。インデックスは、イントラ予測モードに基づくサブセットに対する組合せを示す。サブセットが、４つ以下の組合せに限定される場合、インデックスは２ビットと同程度に小さくなり得る。インデックスは、ＣＡＢＡＣ又はＣＡＶＬＣを使用してエントロピーコード化され得る。ビデオエンコーダ及びビデオデコーダは、各サブセットのための（従って、各イントラ予測モードのための）変換と走査モードの組合せを示す構成データ、並びにサブセットのための特定の組合せへのインデックスのマッピングを記憶し得る。
【００３８】
別の信号伝達例では、インデックスは選択された変換のみを示す。その場合、走査モードは変換に基づく。従って、各変換は特定の走査モードにマッピングする。変換と走査モードとの間のマッピングは、ビデオエンコーダとビデオデコーダの両方に構成データとして記憶され得る。
【００３９】
別の信号伝達例では、インデックスは選択された変換を示す。その場合、走査モードはイントラ予測モードに基づく。従って、サブセットもイントラ予測モードに基づくので、サブセット中のあらゆる組合せのための走査モードは同じになることになる。ビデオエンコーダ及びビデオデコーダは、走査モードとイントラ予測モードとの間の関係を示す構成データを記憶し得る。
【００４０】
別の例として、本開示の技法は、イントラ予測されたブロック又はインター予測されたブロックの残差値を変換するために使用すべき変換を選択することと、選択された変換に基づいて走査モードを選択することとを含む。一例では、変換は走査モードにマッピングされる。走査モードは、走査された係数について計算された統計値に基づいて時間とともに走査順序を変更する適応走査とは対照的な、水平、垂直、対角又はジグザグ走査など、あらかじめ定義された走査を定義し得る。この例の技法は、上記で説明したサブセット技法と併せて実施され得るか又は独立して実施され得る。
【００４１】
言い換えれば、ビデオコード化機器は、変換から、その変換が適用されるときに適用されるべき走査へのマッピングを指定する構成データのセットを含み得る。例えば、マッピングを指定する構成データはメモリに記憶され得る。このようにして、ビデオエンコーダは、適用されるべき変換の指示を単に与え得、ビデオデコーダは、データのコード化セットに適用すべき逆変換と逆走査の両方を決定し得る。即ち、単一のシンタックス要素を使用して、ビデオデコーダは、変換係数の２次元行列を再生するためにシリアル化変換係数のセットに適用すべき逆走査、並びに残差データのブロックを再生するために２次元行列に適用すべき逆変換を決定し得る。
【００４２】
本開示で説明する技法によれば、上記で説明したように、複数の走査及び評価を実行する必要性を回避するために、非分離可能変換と分離可能変換とを含む変換が幾つかの走査モードにマッピングされ得る。変換係数の２次元アレイを作成するために幾つかの変換が使用されるときに、幾つかの走査モードが選択される可能性が高いことを、テスト結果が示した。全ての利用可能な走査モードをテストするのではなく、本開示の技法は、そのようなテストの必要をなくすことによって、走査モードを選定する際の低減された計算量を可能にする。その上、これらの技法は、走査の別個の指示を与える必要がないので、ビットストリーム中でのビット使用量の低減をも可能にする。前に説明したように、変換から走査へのマッピングは、多数のトレーニングシーケンスを符号化することと、変換の各タイプについて、特定の変換に関するレート歪みの意味でどの走査モードが最良であり得るかを決定するために、各走査モードについてレート歪みコストを評価することとによって生成され得る。例えば、水平ＤＣＴ／垂直ＤＳＴがブロックに適用される場合には、水平走査が最良であり得る。同様に、水平ＤＳＴ／垂直ＤＣＴが適用される場合には、垂直走査が最良であり得る。
【００４３】
図３は、テスト結果においてうまく動作することが示された、変換と走査モードとの間の例示的なマッピングを示す概念図である。ビデオコード化機器は、変換から走査へのこれら又は他のマッピングを表す構成データのセットを含み得る。一例として、水平ＤＣＴ／垂直ＤＣＴ変換は対角走査モードにマッピングされ得る。
【００４４】
別の例として、垂直方向における第１の設計変換成分と水平方向におけるＤＣＴ成分とを含む分離可能変換は水平走査モードにマッピングされ得る。設計変換は、ＫＬＴ、ＤＣＴ、ＤＳＴ、又はある結果を生じるように特に設計された、他の変換、若しくは分離可能変換の変換成分を指し、そのような設計は、しばしば、大量のトレーニングを通して達成される。即ち、設計変換を定義する入力係数値は、イントラ予測から生じる幾つかの予測残差ブロックの相関又は同様の統計値に基づいて決定され得る。代替的に、そのような統計値は、モデルを残差値に適合させるために使用され得、そのモデルは、次に、変換を導出するために使用され得る。これは、イントラ予測モードから変換へのマッピングを決定することと、次いで、同じ変換が適用される全てのブロックの相関統計値に基づいて変換を設計することとの複数の反復を伴い得る。
【００４５】
別の例として、垂直方向におけるＤＣＴ成分と水平方向における第２の設計変換成分とを含む分離可能変換は垂直走査モードにマッピングされ得る。
【００４６】
また、組合せは幾つかの方法で変更され得る。例えば、垂直方向におけるＤＣＴ成分又は何らかの他の変換成分と水平方向における第１の設計変換成分とを含む分離可能変換は水平走査モードにマッピングされ得る。同様に、垂直方向における第２の設計変換成分と水平方向におけるＤＣＴ成分又は何らかの他の変換成分とを含む分離可能変換は垂直走査にマッピングされ得る。
【００４７】
これらの組合せが変更され得る別の例では、水平方向における第１の設計変換成分と垂直方向における第２の設計変換成分とを含む分離可能変換は水平走査モードにマッピングされ得る。
【００４８】
代替的に、水平方向における第３の設計変換成分と垂直方向における第４の設計変換成分とを含む分離可能変換は垂直走査モードにマッピングされ得る。
【００４９】
「第１の」、「第２の」などの数字識別子の使用は、順序の意味ではなく名称の意味で理解されたい。即ち、「第１の」の指定は、セット中の順序の第１の要素としてではなく、同様の要素のセット中の任意の要素を指すものと理解されたい。
【００５０】
採用された変換と走査モードの組合せにかかわらず、エンコーダは、符号化ビデオビットストリーム中で組合せを信号伝達し得るか、又は代替的に、エンコーダとデコーダの両方は、共通の方法で組合せを選択するために、同じ論理、ルール、及び／又はソフトウェアを採用し得る。例えば、ビデオデコーダは、ブロックサイズ、コード化モードなど、１つ以上のコード化特性からエンコーダによって使用された変換を推論し得る。一例では、走査モードは、使用された変換又は変換の組合せからマッピングされるので、エンコーダは、符号化されたビデオビットストリーム中で使用された変換を単に信号伝達し得る。別の例では、ビデオエンコーダは、エンコーダによって適用された変換を逆転させるためにビデオデコーダが使用すべきである逆変換を信号伝達し得る。次いで、ビデオデコーダは、逆変換の信号伝達された指示からエンコーダによって使用された変換を推論し得る。エンコーダによって使用された変換を示す情報を受信することによって、ビデオデコーダは、適切な走査モードを確認するための単純な検索を実行し得る。
【００５１】
この例の技法は、ビデオエンコーダが、変換係数のあらゆる２次元アレイに関して走査モードの全てを実行する必要性を回避することと、代わりに、適用された変換からのマッピングに基づいて走査モードのうちの１つを選択することを実現することとを可能にする。その上、これらの技法は、ビデオエンコーダが、適用されるべき変換と走査の両方を表す単一の値を単に与えることを可能にし、従って、変換と走査の両方を別々に信号伝達することに対してビットストリーム中のビットの数を低減し得る。一般に、マッピングは、サンプルデータの大きいセットについて、走査がマッピングされる変換についての最良の結果を与えると決定された走査を、マッピングされた走査モードが表すように定義される。従って、その走査は、変換係数の１次元アレイを生成するためのグルーピングに関して、利用可能な走査モードのうちの最良の走査モードであると考えられ得る。従って、本開示の技法は、ビデオデータの効率的な符号化を実現するために、これらの関連付けを活用する。
【００５２】
図４は、本開示の例による、残差データを変換し、変換係数を走査するための技法を利用するように構成され得る例示的なビデオ符号化及び復号システム１０を示すブロック図である。図４に示すように、システム１０は、通信チャネル１６を介して符号化ビデオを宛先機器１４に送信するソース機器１２を含む。符号化ビデオデータはまた、記憶媒体３４又はファイルサーバ３６に記憶され得、必要に応じて宛先機器１４によってアクセスされ得る。記憶媒体又はファイルサーバに記憶されたとき、ビデオエンコーダ２０は、コード化ビデオデータを記憶媒体に記憶するための、ネットワークインターフェース、コンパクトディスク（ＣＤ）又はデジタルビデオディスク（ＤＶＤ）バーナー又はスタンピングファシリティ機器、若しくは他の機器など、別の機器にコード化ビデオデータを与え得る。同様に、ネットワークインターフェース、ＣＤ又はＤＶＤリーダーなど、ビデオデコーダ３０とは別個の機器が、記憶媒体からコード化ビデオデータを取り出し、取り出されたデータをビデオデコーダ３０に与え得る。
【００５３】
ソース機器１２及び宛先機器１４は、デスクトップコンピュータ、ノートブック（即ち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、所謂スマートフォンなどの電話ハンドセット、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソールなどを含む、広範囲にわたる機器のいずれかを備え得る。多くの場合、そのような機器はワイヤレス通信が可能であり得る。従って、通信チャネル１６は、符号化ビデオデータの送信に好適なワイヤレスチャネル、ワイヤードチャネル、又はワイヤレスチャネルとワイヤードチャネルとの組合せを備え得る。同様に、ファイルサーバ３６は、インターネット接続を含む任意の標準データ接続を介して宛先機器１４によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ接続）、ワイヤード接続（例えば、ＤＳＬ、ケーブルモデムなど）、又は両方の組合せを含み得る。
【００５４】
本開示の例による、残差データを変換し、変換係数を走査するための技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、例えばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、又は他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、及び／又はビデオテレフォニーなどの適用例をサポートするために、一方向又は双方向のビデオ送信をサポートするように構成され得る。
【００５５】
図４の例では、ソース機器１２は、ビデオソース１８と、ビデオエンコーダ２０と、変調器／復調器２２と、送信機２４とを含む。ソース機器１２において、ビデオソース１８は、ビデオカメラなどのビデオキャプチャ機器、以前に撮影されたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、及び／又はソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、若しくはそのようなソースの組合せを含み得る。一例として、ビデオソース１８がビデオカメラである場合、ソース機器１２及び宛先機器１４は、所謂カメラ付き携帯電話又はビデオ電話を形成し得る。但し、本開示で説明する技法は、概してビデオコード化に適用可能であり得、ワイヤレス及び／又はワイヤード適用例に適用され得る。
【００５６】
撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成ビデオはビデオエンコーダ２０によって符号化され得る。符号化されたビデオ情報は、ワイヤレス通信プロトコルなどの通信規格に従ってモデム２２によって変調され、送信機２４を介して宛先機器１４に送信され得る。モデム２２は、信号変調のために設計された様々なミキサ、フィルタ、増幅器又は他の構成要素を含み得る。送信機２４は、増幅器、フィルタ、及び１つ以上のアンテナを含む、データを送信するために設計された回路を含み得る。
【００５７】
ビデオエンコーダ２０によって符号化された、撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成ビデオはまた、後で消費するために記憶媒体３４又はファイルサーバ３６に記憶され得る。記憶媒体３４は、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、又は符号化ビデオを記憶するための他の好適なデジタル記憶媒体を含み得る。記憶媒体３４に記憶された符号化ビデオは、次いで、復号及び再生のために宛先機器１４によってアクセスされ得る。
【００５８】
ファイルサーバ３６は、符号化ビデオを記憶することと、その符号化ビデオを宛先機器１４に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（例えば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）機器、ローカルディスクドライブ、又は符号化ビデオデータを記憶することと、符号化ビデオデータを宛先機器に送信することとが可能な他タイプの機器を含む。ファイルサーバ３６からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、又は両方の組合せであり得る。ファイルサーバ３６は、インターネット接続を含む任意の標準データ接続を介して宛先機器１４によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ接続）、ワイヤード接続（例えば、ＤＳＬ、ケーブルモデム、イーサネット（登録商標）、ＵＳＢなど）、又は両方の組合せを含み得る。
【００５９】
図４の例では、宛先機器１４は、受信機２６と、モデム２８と、ビデオデコーダ３０と、表示装置３２とを含む。宛先機器１４の受信機２６はチャネル１６を介して情報を受信し、モデム２８はその情報を復調して、ビデオデコーダ３０のための復調されたビットストリームを生成する。チャネル１６を介して通信される情報は、ビデオデータを復号する際にビデオデコーダ３０が使用する、ビデオエンコーダ２０によって生成された様々なシンタックス情報を含み得る。そのようなシンタックスはまた、記憶媒体３４又はファイルサーバ３６に記憶された符号化ビデオデータとともに含まれ得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は、ビデオデータを符号化又は復号することが可能であるそれぞれのエンコーダデコーダ（コーデック）の一部を形成し得る。
【００６０】
表示装置３２は、宛先機器１４と一体化されるか又はその外部にあり得る。幾つかの例では、宛先機器１４は、一体型表示装置を含み、また、外部表示装置とインターフェースするように構成され得る。他の例では、宛先機器１４は表示装置であり得る。概して、表示装置３２は、復号されたビデオデータをユーザに対して表示し、液晶表示器（ＬＣＤ）、プラズマ表示器、有機発光ダイオード（ＯＬＥＤ）表示器、又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。
【００６１】
図４の例では、通信チャネル１６は、無線周波数（ＲＦ）スペクトル又は１つ以上の物理伝送線路など、任意のワイヤレス又はワイヤード通信媒体、若しくはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル１６は、概して、ワイヤード媒体又はワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソース機器１２から宛先機器１４に送信するのに好適な任意の通信媒体、又は様々な通信媒体の集合体を表す。通信チャネル１６は、ソース機器１２から宛先機器１４への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、又は任意の他の機器を含み得る。
【００６２】
ビデオエンコーダ２０及びビデオデコーダ３０は、現在開発中の高効率ビデオコード化（ＨＥＶＣ）規格などのビデオ圧縮規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０及びビデオデコーダ３０は、代替的にＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格、又はそのような規格の拡張など、他のプロプライエタリ又は業界標準に従って動作し得る。但し、本開示の技法は、いかなる特定のコード化規格にも限定されない。他の例には、ＭＰＥＧ−２及びＩＴＵ−Ｔ  Ｈ．２６３がある。
【００６３】
図４には示されていないが、幾つかの態様では、ビデオエンコーダ２０及びビデオデコーダ３０は、それぞれオーディオエンコーダ及びオーディオデコーダと統合され得、また、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための適切なＭＵＸ−ＤＥＭＵＸユニット、又は他のハードウェア及びソフトウェアを含み得る。適用可能な場合、幾つかの例では、ＭＵＸ−ＤＥＭＵＸユニットはＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００６４】
ビデオエンコーダ２０及びビデオデコーダ３０はそれぞれ、１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、又はそれらの任意の組合せとして実装され得る。本技法がソフトウェアで部分的に実施されるとき、機器は、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つ以上のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は１つ以上のエンコーダ又はデコーダ中に含まれ得、そのいずれも、それぞれの機器において複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００６５】
ビデオエンコーダ２０は、ビデオコード化プロセスにおいて残差データを変換し、変換係数を走査するための本開示の技法のいずれか又は全てを実施し得る。同様に、ビデオデコーダ３０は、ビデオコード化プロセスにおいて残差データを変換し、変換係数を走査するためのこれらの技法のいずれか又は全てを実施し得る。本開示で説明するビデオコーダは、ビデオエンコーダ又はビデオデコーダを指し得る。同様に、ビデオコード化ユニットは、ビデオエンコーダ又はビデオデコーダを指し得る。同様に、ビデオコード化はビデオ符号化又はビデオ復号を指し得る。
【００６６】
本開示の一例では、ソース機器１２のビデオエンコーダ２０は、イントラ予測モードに従って残差データを計算することと、イントラ予測モードに基づいて変換と走査モードの組合せのサブセットを決定することと、変換と走査モードの組合せのサブセットから変換と走査モードの組合せを選択することと、変換係数の２次元アレイを生成するように、選択された変換を残差データに適用することと、変換係数の１次元アレイを生成するために、選択された走査モードを変換係数の２次元アレイに適用することとを行うように構成され得る。
【００６７】
本開示の別の例では、宛先機器１４のビデオデコーダ３０は、イントラ予測モードに従って符号化された符号化ビデオデータを受信することと、符号化ビデオデータをエントロピー復号することであって、それによって変換係数の１次元アレイを作成する、エントロピー復号することと、変換と走査モードの組合せのサブセットから変換を決定することであって、サブセットがイントラ予測モードに基づく、決定することと、変換と走査モードの組合せのサブセットから走査モードを決定することと、変換係数の２次元アレイを生成するために、決定された走査モードを用いて変換係数の１次元アレイを走査することと、残差ビデオデータを生成するために、決定された変換を用いて変換係数の２次元アレイを逆変換することとを行うように構成され得る。
【００６８】
本開示の別の例では、ソース機器１２のビデオエンコーダ２０は、少なくとも１つのフレームの部分に対応する残差データを計算することと、複数の変換から変換を選択することと、変換係数の２次元アレイを生成するように、残差データを変換するために、選択された変換を残差データに適用することと、複数の走査モードから走査モードを選択することであって、選択された走査モードが選択された変換からマッピングされる、選択することと、変換係数の１次元アレイを生成するために、選択された走査モードを変換係数の２次元アレイに適用することとを行うように構成され得る。
【００６９】
本開示の別の例では、宛先機器１４のビデオデコーダ３０は、少なくとも１つのフレームの部分に対応する符号化ビデオデータをエントロピー復号することであって、それによって変換係数の１次元アレイを作成する、エントロピー復号することと、複数の変換から変換を決定することと、複数の走査モードから走査モードを選択することであって、選択された走査モードが決定された変換からマッピングされる、選択することと、変換係数の２次元アレイを生成するために、選択された走査モードを変換係数の１次元アレイに適用することとを行うように構成され得る。ビデオデコーダ３０は、さらに、決定された変換に対応する逆変換を変換係数の２次元アレイに適用し得る。
【００７０】
図５は、本開示で説明するように、残差データを変換し、変換係数を走査するための技法を使用し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０について、例示のためにＨＥＶＣコード化のコンテキストにおいて説明するが、変換係数の走査を必要とし得る他のコード化規格又は方法に関して本開示を限定するものではない。ビデオエンコーダ２０は、ビデオフレーム内のＣＵのイントラコード化及びインターコード化を実行し得る。イントラコード化は、所与のビデオフレーム内のビデオデータの空間的冗長性を低減又は除去するために空間的予測に依拠する。インターコード化は、ビデオシーケンスの現在のフレームと前にコード化されたフレームとの間の時間的冗長性を低減又は除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、幾つかの空間ベースのビデオ圧縮モードのいずれかを指し得る。単方向予測（Ｐモード）又は双方向予測（Ｂモード）などのインターモードは、幾つかの時間ベースのビデオ圧縮モードのいずれかを指し得る。
【００７１】
図５に示すように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図４の例では、ビデオエンコーダ２０は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測ユニット４６と、参照フレームバッファ６４と、加算器５０と、変換ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。図５に示す変換ユニット５２は、残差データのブロックに実際の変換又は変換の組合せを適用するユニットであり、ＣＵの変換ユニット（ＴＵ）と呼ばれることもある変換係数のブロックと混同されるべきでない。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図５に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理することになる。
【００７２】
符号化プロセス中に、ビデオエンコーダ２０は、コード化されるべきビデオフレーム又はスライスを受信する。フレーム又はスライスは、複数のビデオブロック、例えば、最大コード化ユニット（ＬＣＵ）に分割され得る。動き推定ユニット４２及び動き補償ユニット４４は、時間圧縮を行うために、１つ以上の参照フレーム中の１つ以上のブロックに対する受信したビデオブロックのインター予測コード化を実行する。イントラ予測ユニット４６は、空間圧縮を行うために、コード化されるべきブロックと同じフレーム又はスライス中の１つ以上の隣接ブロックに対する受信したビデオブロックのイントラ予測コード化を実行し得る。
【００７３】
モード選択ユニット４０は、例えば、各モードについての誤差（即ち、歪み）結果に基づいて、コード化モードのうちの１つ、即ち、イントラ又はインターを選択し得、得られたイントラ又はインター予測ブロック（例えば、予測単位（ＰＵ））を、残差ブロックデータを生成するために加算器５０に与え、参照フレーム中で使用する符号化ブロックを再構成するために加算器６２に与える。加算器６２は、以下でより詳細に説明するように、予測されたブロックを、そのブロックについての、逆変換ユニット６０からの逆量子化され逆変換されたデータと合成して、符号化ブロックを再構成する。幾つかのビデオフレームはＩフレームに指定され得、Ｉフレーム中の全てのブロックはイントラ予測モードで符号化される。場合によっては、例えば、動き推定ユニット４２によって実行された動き探索によって得られたブロックの予測が不十分であったとき、イントラ予測ユニット４６は、Ｐフレーム又はＢフレーム中のブロックのイントラ予測符号化を実行し得る。
【００７４】
動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、参照フレームの参照サンプルに対する、現在のフレーム中の予測ユニットの変位を示し得る。参照サンプルは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、又は他の差分メトリックによって決定され得る画素差分に関して、コード化されているＰＵを含むＣＵの部分にぴったり一致することがわかるブロックであり得る。参照サンプルは、参照フレーム又は参照スライス内のどこにでも発生し得、必ずしも、参照フレーム又はスライスのブロック（例えば、コード化単位）境界において発生するとは限らない。幾つかの例では、参照サンプルは分数画素位置において発生し得る。動き補償ユニット４４によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測単位の値をフェッチ又は生成することを伴い得る。この場合も、幾つかの例では、動き推定ユニット４２と動き補償ユニット４４とは機能的に統合され得る。
【００７５】
動き推定ユニット４２は、予測ユニットを参照フレームバッファ６４に記憶された参照フレームの参照サンプルと比較することによってインターコード化フレームの予測ユニットの動きベクトルを計算する。例えば、動き推定ユニット４２は、例えば、絶対値差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、平均絶対差（ＭＡＤ：mean absolute difference）、平均２乗差（ＭＳＤ：mean squared difference）などを使用して、予測単位と検討されている参照サンプルとの間の画素ごとの差分を表すアグリゲート値を計算し得る。幾つかの例では、ビデオエンコーダ２０は、参照フレームバッファ６４に記憶された参照フレームのサブ整数画素位置の値を計算し得る。例えば、ビデオエンコーダ２０は、参照フレームの１／４画素位置、１／８画素位置、又は他の分数画素位置の値を計算し得る。従って、動き推定ユニット４２は、フル画素位置と分数画素位置とに対する動き探索を実行し、分数画素精度で動きベクトルを出力し得る。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。動きベクトルによって識別される参照フレームの部分は参照サンプルと呼ばれることがある。動き補償ユニット４４は、例えば、ＰＵの動きベクトルによって識別される参照サンプルを取り出すことによって、現在のＣＵの予測単位についての予測値を計算し得る。
【００７６】
イントラ予測ユニット４６は、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、受信ブロックをイントラ予測し得る。イントラ予測ユニット４６は、隣接する前にコード化されたブロック、例えば、ブロックについての左から右へ、上から下への符号化順序を仮定すると、現在のブロックの上、右上、左上、又は左のブロックに対して受信ブロックを予測し得る。イントラ予測ユニット４６は多種多様なイントラ予測モードで構成され得る。例えば、イントラ予測ユニット４６は、符号化されているＣＵのサイズに基づいて、一定数の方向性予測モード、例えば、３４個の方向性予測モードと１つの平面予測モードとで構成され得る。図１にイントラ予測モードの例を示す。
【００７７】
イントラ予測ユニット４６は、例えば、様々なイントラ予測モードの誤差値を計算し、最も低い誤差値を生じるモードを選択することによって、イントラ予測モードを選択し得る。方向性予測モードは、空間的に隣接する画素の値を合成し、その合成された値をＰＵ中の１つ以上の画素位置に適用するための機能を含み得る。ＰＵ中の全ての画素位置の値が計算されると、イントラ予測ユニット４６は、ＰＵと符号化されるべき受信ブロックとの間の画素差分に基づいて予測モードの誤差値を計算し得る。イントラ予測ユニット４６は、許容できる誤差値を生じるイントラ予測モードが発見されるまでイントラ予測モードをテストし続け得る。イントラ予測ユニット４６は、次いで、ＰＵを加算器５０に送り得る。
【００７８】
本開示の技法は、いずれの予測モードでも（即ち、インター予測とイントラ予測の両方で）、残差データの変換の際に使用するために適用可能である。従って、本開示のコンテキストでは、残差コード化ユニットは、動き補償ユニット又はイントラ予測ユニットのいずれかを指し得る。即ち、変換ユニット５２によって受信された残差データは、対応するブロックについてのイントラ予測されたデータ又はインター予測されたデータに対して計算され得る。
【００７９】
ビデオエンコーダ２０は、コード化されている元のビデオブロックから、動き補償ユニット４４又はイントラ予測ユニット４６によって計算された予測データを減算することによって残差ブロックを形成する。加算器５０は、この減算演算を実行する１つ以上の構成要素を表す。残差ブロックは画素差分値の２次元行列に対応し得、残差ブロック中の値の数は、残差ブロックに対応するＰＵ中の画素の数と同じである。残差ブロック中の値は、ＰＵ中のコロケート画素の値と、コード化されるべき元のブロック中のコロケート画素（同一箇所の画素）の値との間の差分、即ち、誤差に対応し得る。差分は、コード化されるブロックのタイプに応じてクロマ差分又はルーマ差分になり得る。
【００８０】
変換ユニット５２は、残差ブロックから１つ以上の変換単位（ＴＵ）を形成し得る。変換ユニット５２は、複数の変換の中から（直交方向に適用される２つの変換成分を含む分離可能変換を備え得る）変換を選択する。変換は、ブロックサイズ、コード化モードなど、１つ以上のコード化特性に基づいて選択され得る。本開示の一例によれば、変換は、イントラ予測モードに基づいて変換と走査モードの組合せのサブセットから選択され得る。変換と走査モードの組合せのサブセットは、ビデオエンコーダが使用することが可能である変換と走査モードの組合せの総数よりも少ない。
【００８１】
変換ユニット５２は、次いで、選択された変換をＴＵに適用して、変換係数の２次元アレイを備えるビデオブロックを生成する。上記で説明したように、選択され得る潜在的な変換は、予測モード依存変換、水平方向におけるＤＣＴ成分と組み合わせられた垂直方向における第１の設計変換成分を含む分離可能変換、水平方向における第２の設計変換成分と組み合わせられた垂直方向におけるＤＣＴ成分を含む分離可能変換、垂直方向における第２の設計変換成分と組み合わせられた水平方向における第１の設計変換成分を含む分離可能変換、垂直方向における第４の設計変換成分と組み合わせられた水平方向における第３の設計変換成分を含む分離可能変換、又は残差データを変換する際に使用するのに好適な他の変換を含む。
【００８２】
変換ユニット５２、又はビデオエンコーダの別のユニット（エントロピー符号化ユニット５６など）は、ビデオデコーダ（例えば、図３のビデオデコーダ３０）が使用する、符号化ビデオビットストリーム中で選択された変換を信号伝達し得る。別の例では、変換ユニット５２は、変換ユニット５２によって使用された変換に基づいて、ビデオデコーダによって使用されるべき逆変換の指示を信号伝達し得る。示された逆変換は、変換ユニット５２によって実行されたプロセスを逆転させるであろう。このコンテキストでは、符号化ビットストリーム中で変換又は逆変換を信号伝達することは、エンコーダからデコーダへのそのような要素のリアルタイム送信を必要とするのではなく、そのようなシンタックス要素がビットストリーム中に符号化され、任意の方法でデコーダにとってアクセス可能にされることを意味する。これは、（例えば、ビデオ会議における）リアルタイム送信、並びに（例えば、ストリーミング、ダウンロード、ディスクアクセス、カードアクセス、ＤＶＤ、ブルーレイなどにおける）デコーダによる将来の使用のために符号化ビットストリームをコンピュータ可読媒体に記憶することを含み得る。
【００８３】
変換ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、次いで、その変換係数を量子化し得る。次いで、エントロピー符号化ユニット５６が、走査モードに従って、行列中の量子化された変換係数の走査を実行し得る。本開示では、エントロピー符号化ユニット５６が走査を実行するものとして説明する。但し、他の例では、量子化ユニット５４などの他の処理ユニットが走査を実行することができることを理解されたい。
【００８４】
本開示の一例では、エントロピー符号化ユニット５６（又はビデオエンコーダの何らかの他のユニット）は、変換と走査モードの組合せのサブセットから変換と走査モードとを選択する。変換と走査モードの組合せはテストプロセスを通して一緒に選択され得、最低レート歪みコストを生成する組合せが選定される。この例では、選択された組合せを示すインデックスは符号化ビデオビットストリーム中で信号伝達され得る。インデックスは、ＣＡＢＡＣ又はＣＡＶＬＣを使用してエントロピーコード化され得る。
【００８５】
別の例では、走査モードは変換に基づいて選択される。即ち、各変換は特定の走査モードにマッピングされる。そのようなマッピングは、エンコーダとデコーダの両方において記憶され得る。従って、変換を示すインデックスが符号化ビデオビットストリーム中で信号伝達され、次いで、マッピングに基づいてビデオデコーダによって走査モードが推測される。変換のインデックスは、ＣＡＢＡＣ又はＣＡＶＬＣを使用してエントロピーコード化され得る。
【００８６】
別の例では、走査モードはイントラ予測モードに基づいて選択される。即ち、サブセットもイントラ予測モードに基づくので、サブセット中の変換と走査モードの各組合せは同じ走査モードを有する。イントラ予測モードと走査モードとの間の関係は、エンコーダとデコーダの両方において記憶され得る。従って、変換を示すインデックスが符号化ビデオビットストリーム中で信号伝達され、次いで、イントラ予測モードに基づいてビデオデコーダによって走査モードが推測される。
【００８７】
本開示の別の例では、エントロピー符号化ユニット５６は、変換係数の２次元アレイを作成するために使用された変換に基づいて走査モードを選択する。この例では、変換と走査モードとは、イントラ予測モードに基づく組合せのサブセットに限定されない。そうではなく、各変換は特定の走査モードにマッピングされる。この場合、変換は、ビデオエンコーダに対して許可される全ての可能な変換から又はサブセットから選定され得る。サブセットは、イントラ予測モード及び／又はブロックサイズに基づいて選定され得る。従って、ビデオエンコーダ２０は、複数の変換の各々からそれぞれの走査モードへのマッピングを定義する構成データのセットを記憶するメモリを含み得る。上記で説明したように、そのようなマッピングの例を図３に示す。この技法があるとすれば、エントロピー符号化ユニット５６は、全ての可能な走査モードをテストし、どの走査モードが最良の性能を与えたかに関する評価を行う必要はない。代わりに、選択は、使用された変換に基づく。同様に、エントロピー符号化ユニット５６は、変換を示すために使用される信号とは別に走査を信号伝達する必要はない。エントロピー符号化ユニット５６は、次いで、変換係数の１次元アレイを生成するために、選択された走査モードを変換係数の２次元アレイに適用する。
【００８８】
変換係数が１次元アレイに走査されると、エントロピー符号化ユニット５６は、ＣＡＶＬＣ、ＣＡＢＡＣ、シンタックスベースコンテキスト適応型バイナリ算術コード化（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、又は別のエントロピーコード化方法などのエントロピーコード化を係数に適用し得る。さらに、エントロピー符号化ユニット５６は、動きベクトル（ＭＶ）情報と、ビデオデコーダ３０においてビデオデータを復号する際に有用な様々なシンタックス要素のいずれかと、を符号化し得る。
【００８９】
ＣＡＶＬＣを実行するために、エントロピー符号化ユニット５６は、送信されるべきシンボルの可変長コードを選択し得る。ＶＬＣのコードワードは、相対的により短いコードがより可能性が高いシンボルに対応し、より長いコードがより可能性が低いシンボルに対応するように構築され得る。このようにして、ＶＬＣの使用は、例えば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。
【００９０】
ＣＡＢＡＣを実行するために、エントロピー符号化ユニット５６は、送信されるべきシンボルを符号化するために、あるコンテキストに適用すべきコンテキストモデルを選択し得る。コンテキストは、例えば、隣接値が非０か否かに関係し得る。エントロピー符号化ユニット５６はまた、選択された変換を表す信号など、シンタックス要素をエントロピー符号化し得る。本開示の技法によれば、エントロピー符号化ユニット５６は、コンテキストモデル選択のために使用されるファクタの中でも、例えば、イントラ予測モードのためのイントラ予測方向、シンタックス要素に対応する係数の走査位置、ブロックタイプ、及び／又は変換タイプに基づいて、これらのシンタックス要素を符号化するために使用されるコンテキストモデルを選択し得る。
【００９１】
エントロピー符号化ユニット５６によるエントロピーコード化の後に、得られた符号化ビデオは、ビデオデコーダ３０などの別の機器に送信されるか、又は後で送信するか若しくは取り出すためにアーカイブされ得る。
【００９２】
場合によっては、エントロピー符号化ユニット５６又はビデオエンコーダ２０の別のユニットは、エントロピーコード化に加えて他のコード化機能を実行するように構成され得る。例えば、エントロピー符号化ユニット５６はＣＵ及びＰＵのコード化ブロックパターン（ＣＢＰ）値を決定するように構成され得る。また、場合によっては、エントロピー符号化ユニット５６は係数のランレングスコード化を実行し得る。
【００９３】
逆量子化ユニット５８及び逆変換ユニット６０は、それぞれ逆量子化及び逆変換を適用して、例えば参照ブロックとして後で使用するために、画素領域において残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照フレームバッファ６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つ以上の補間フィルタを適用して、動き推定において使用するサブ整数画素値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照フレームバッファ６４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコード化するために動き推定ユニット４２及び動き補償ユニット４４によって参照ブロックとして使用され得る。
【００９４】
図６は、図５のビデオエンコーダにおいて使用するエントロピー符号化ユニット５６の一例を示すブロック図である。図６は、本開示による、走査モードを選択するための技法を含む、エントロピー符号化ユニット５６の様々な機能的態様を示している。エントロピー符号化ユニット５６は、走査モード選択ユニット９０と、２Ｄ−１Ｄ走査ユニット９２と、エントロピー符号化エンジン９４と、走査モードメモリ９６とを含み得る。
【００９５】
走査モード選択ユニット９０は、変換係数の２次元アレイを変換係数の１次元アレイに走査するために２Ｄ−１Ｄ走査ユニット９２によって使用されるべき走査モードを選択する。走査モード選択ユニット９０は、図２に示した対角、垂直、及び水平走査モードを含む、複数の走査モードの中から走査モードを選択し得る。本開示の一例では、走査モードは、イントラ予測モードに基づいて変換と走査モードの組合せのサブセットから選択され得る。サブセットからの走査モードの選択は、サブセット中の最良の（即ち、レート歪みコストが最も低い）変換と走査モードの組合せに基づき得るか、変換依存であり得るか、又はイントラ予測モード依存であり得る。別の例では、本開示は、変換と走査モードのサブセットが使用されないことと、走査モードの選択が、使用された変換に基づくこととを提案する。特に、複数の変換の各変換は特定の走査モードにマッピングされる。走査モードメモリ９６は、走査モード選択ユニット９０がこれらのマッピングされた関係（例えば、変換に対する走査モード、イントラ予測モードに対する走査モード）を取り出すことができるように、それらを構成データとして記憶し得る。
【００９６】
２Ｄ−１Ｄ走査ユニット９２は、変換係数の１次元アレイを生成するために、選択された走査モードを変換係数の２次元アレイに適用する。次いで、エントロピー符号化エンジン９４は、走査された係数にエントロピー符号化プロセスを適用する。上記で説明したように、エントロピー符号化エンジン９４は、ＣＡＢＡＣ、ＣＡＶＬＣ、又は別のエントロピーコード化アルゴリズムを使用し得る。エントロピー符号化エンジン９４は、符号化ビデオを搬送するビットストリームを生成する。ビットストリームは、別の機器に送信されるか、又は後で取り出すためにデータ記憶アーカイブに記憶され得る。残差変換係数データに加えて、ビットストリームは、動きベクトルデータと、ビットストリーム中の符号化ビデオを復号する際に有用な様々なシンタックス要素とを搬送し得る。
【００９７】
説明しやすいように別個の機能的ユニットとして示されているが、走査順序及びコンテキスト選択ユニット９０、２Ｄ−１Ｄ走査ユニット９２、エントロピー符号化エンジン９４、及び走査モードメモリ９６の構造及び機能は互いに高度に統合され得ることに留意されたい。
【００９８】
図７は、符号化ビデオシーケンスを復号するビデオデコーダ３０の一例を示すブロック図である。図６の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、参照フレームバッファ８２と、加算器８０とを含む。ビデオデコーダ３０は、幾つかの例では、ビデオエンコーダ２０（図５参照）に関して説明した符号化パス(encoding pass)とは概して逆の復号パス(decoding pass)を実行し得る。
【００９９】
エントロピー復号ユニット７０は、変換係数の１次元アレイを取り出すために、符号化ビットストリームに対してエントロピー復号プロセスを実行する。使用されるエントロピー復号プロセスは、ビデオエンコーダ２０によって使用されたエントロピーコード化（例えば、ＣＡＢＡＣ、ＣＡＶＬＣなど）に依存する。エンコーダによって使用されたエントロピーコード化プロセスは、符号化ビットストリーム中で信号伝達され得るか、又は所定のプロセスであり得る。
【０１００】
幾つかの例では、エントロピー復号ユニット７０（又は逆量子化ユニット７６）は、ビデオエンコーダ２０のエントロピー符号化ユニット５６（又は量子化ユニット５４）によって使用された走査モードをミラーリングする走査を使用して受信値を走査し得る。係数の走査は逆量子化ユニット７６において実行され得るが、走査については、例示のために、エントロピー復号ユニット７０によって実行されるものとして説明する。さらに、説明しやすいように別個の機能ユニットとして示されているが、ビデオデコーダ３０のエントロピー復号ユニット７０、逆量子化ユニット７６、及び他のユニットの構造及び機能は互いに高度に統合され得る。
【０１０１】
本開示の一例によれば、ビデオデコーダ３０は、符号化ビデオビットストリーム中で、変換と走査モードの組合せのサブセットからの変換と走査モードの組合せを示すインデックスを受信し得、サブセットはイントラ予測モードに基づく。インデックスは、サブセット中に４つ以下の組合せがある状況では、２ビットと同程度に小さい長さを有するバイナリ値によって表され得る。インデックスは、ＣＡＢＡＣ又はＣＡＶＬＣを使用してエントロピーコード化されていることがある。他の例では、インデックスは、変換と走査モードの組合せのサブセットから使用された変換のみを示し得る。この例では、走査モードは、変換依存あるいはイントラ予測モード及び／又はブロックサイズ依存のいずれかであり得る。ビデオデコーダは、走査モードが、変換又はイントラ予測モードからどのようにマッピングされるか、又は変換又はイントラ予測モードにどのように関係するかを示す構成データを記憶し得る。
【０１０２】
本開示の他の例によれば、ビデオデコーダ３０は、符号化ビットストリームから、変換係数の２次元アレイを作成するために、ビデオエンコーダ２０によって使用された変換を識別する信号伝達情報を受信し得る。この例では、変換と走査モードの組合せは、イントラ予測モードに基づくサブセットに限定されない。別の例では、ビデオデコーダは、符号化ビットストリームから、エンコーダによって適用された変換を逆転させるために使用されるべき逆変換を示す信号伝達情報を受信し得る。エンコーダによって使用された変換は特定の走査モードにマッピングされるので、エントロピー復号ユニット７０は、信号伝達された変換又は逆変換から、走査を逆転させるために必要とされる走査モードを決定し得る。別の例として、エントロピー復号ユニット７０は、ブロックサイズ、コード化モードなど、１つ以上のコード化特性からエンコーダによって使用された変換又は変換の組合せを推論し得る。走査モードが決定されると、エントロピー復号ユニット７０は、変換係数の２次元アレイを生成するために、変換係数の１次元アレイに走査モードを適用する。エントロピー復号ユニット７０によって生成された変換係数の２次元アレイは、依然として量子化形態であり得、ビデオエンコーダ２０のエントロピー符号化ユニット５６によって走査された変換係数の２次元アレイに概して一致し得る。
【０１０３】
逆量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された、量子化変換係数を逆量子化（inverse quantize）、即ち、逆量子化（de-quantize）する。逆量子化プロセスは、例えば、ＨＥＶＣのために提案されたプロセス又はＨ．２６４復号規格によって定義されたプロセスと同様の、従来のプロセスを含み得る。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ＣＵについてビデオエンコーダ２０によって計算される量子化パラメータＱＰの使用を含み得る。逆量子化ユニット７６は、係数が１次元アレイから２次元アレイに変換される前又は変換された後に変換係数を逆量子化し得る。
【０１０４】
逆変換ユニット５８は、ビデオエンコーダ２０の変換ユニット５２とともに使用する、上記で説明した変換の逆などの逆変換を適用する。一例では、逆変換は、ビデオエンコーダによって使用された変換と走査モードの組合せを示すインデックスから推測され得る。変換と走査モードの組合せは、イントラ予測モード及び／又はブロックサイズに基づく変換と走査モードの組合せのサブセットからのものであり得る。
【０１０５】
他の例では、逆変換ユニット７８は、変換のみについてのビデオエンコーダ２０からの信号伝達に基づいて、又はブロックサイズ、コード化モードなど、１つ以上のコード化特性から変換を推論することによって、逆変換を決定し得る。幾つかの例では、逆変換ユニット７８は、現在のブロックを含むＬＣＵのための４分木のルートノードにおける信号伝達された変換に基づいて、現在のブロックに適用すべき変換を決定し得る。代替的に、変換は、ＬＣＵ４分木中のリーフノードＣＵのためのＴＵ４分木のルートにおいて信号伝達され得る。幾つかの例では、逆変換ユニット７８は、逆変換ユニット７８が、復号されている現在のブロックの変換係数に２つ以上の逆変換（例えば、逆２Ｄ離散コサイン変換などの１次変換及び逆回転変換などの２次変換）を適用する、カスケード逆変換を適用し得る。
【０１０６】
動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて予測データを生成し得る。イントラ予測ユニット７４は、信号伝達されたイントラ予測モードと、現在のフレームの前に復号されたブロックからのデータとに基づいて現在のフレームの現在のブロックについての予測データを生成し得る。
【０１０７】
動き補償ユニット７２は動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブ画素精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用される補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。動き補償ユニット７２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【０１０８】
動き補償ユニット７２及びイントラ予測ユニット７４は、ＨＥＶＣの例では、（例えば、４分木によって与えられる）シンタックス情報の一部を使用して、符号化ビデオシーケンスの（１つ以上の）フレームを符号化するために使用されるＬＣＵのサイズを決定し得る。動き補償ユニット７２及びイントラ予測ユニット７４はまた、シンタックス情報を使用して、符号化ビデオシーケンスのフレームの各ＣＵがどのように分割されるか（及び、同様に、サブＣＵがどのように分割されるか）を記述する分割情報を決定する。シンタックス情報はまた、各分割がどのように符号化されるかを示すモード（例えば、イントラ又はインター予測、及びイントラ予測の場合はイントラ予測符号化モード）と、各インター符号化ＰＵについての１つ以上の参照フレーム（及び／又はそれらの参照フレームの識別子を含んでいる参照リスト）と、符号化ビデオシーケンスを復号するための他の情報とを含み得る。
【０１０９】
加算器８０は、残差ブロックを、動き補償ユニット７２又はイントラ予測ユニット７４によって生成される対応する予測ブロックと合成して、復号ブロックを形成する。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。復号ビデオブロックは、次いで、参照フレームバッファ８２に記憶され、参照フレームバッファ８２は、その後の動き補償のための参照ブロックを与え、また、（図４の表示装置３２などの）表示装置上での提示のために復号ビデオを生成する。
【０１１０】
上述のように、本開示で提示する、残差データを変換し、変換係数を走査するための技法は、エンコーダとデコーダの両方に適用可能である。ビデオエンコーダは、走査モードを適用して、２次元アレイから１次元アレイに変換係数を走査し得、ビデオデコーダは、例えば、エンコーダとは逆に走査モードを適用して、１次元アレイから２次元アレイに変換係数を走査し得る。代替的に、ビデオデコーダは、走査モードを適用して、１次元アレイから２次元アレイに変換係数を走査し得、ビデオエンコーダは、例えば、デコーダとは逆に走査モードを適用して、２次元アレイから１次元アレイに変換係数を走査し得る。従って、コーダによる走査は、エンコーダによる２Ｄ−１Ｄ走査又はデコーダによる１Ｄ−２Ｄ走査を指し得る。さらに、走査モードに従う走査は、２Ｄ−１Ｄ走査のための走査モードでの走査、１Ｄ−２Ｄ走査のための走査モードでの走査、１Ｄ−２Ｄ走査のための走査モードの逆での走査、又は２Ｄ−１Ｄ走査のための走査モードの逆での走査を指し得る。従って、走査モードは、エンコーダによる走査又はデコーダによる走査のために確立され得る。
【０１１１】
図８は、図７のビデオデコーダにおいて使用するエントロピー復号ユニット７０の一例を示すブロック図である。図８は、本開示による、変換係数を走査するためのエントロピー復号ユニット７０の様々な機能的態様を示している。図８に示すように、エントロピー復号ユニット７０は、走査モード決定ユニット１００と、１Ｄ−２Ｄ走査ユニット１０２と、エントロピー復号エンジン１０４と、走査モードメモリ１０６とを含み得る。
【０１１２】
エントロピー復号エンジン１０４は、ビデオデコーダ３０に送信されたか又は記憶装置からビデオデコーダ３０によって取り出された符号化ビデオをエントロピー復号する。例えば、エントロピー復号エンジン１０４は、符号化ビデオを搬送するビットストリームにエントロピー復号プロセス、例えば、ＣＡＶＬＣ、ＣＡＢＡＣ又は別のプロセスを適用して、変換係数の１次元アレイを復元し得る。残差変換係数データに加えて、エントロピー復号エンジン１０４は、エントロピー復号を適用して、動きベクトルデータと、ビットストリーム中の符号化ビデオを復号する際に有用な様々なシンタックス要素とを再生し得る。エントロピー復号エンジン１０４は、符号化ビデオビットストリーム中の信号伝達に基づいて、又はビットストリーム中の他の情報から適切なプロセスを推論することによって、どのエントロピー復号プロセス、例えば、ＣＡＶＬＣ、ＣＡＢＡＣ又は別のプロセスを選択すべきかを決定し得る。
【０１１３】
１Ｄ−２Ｄ走査ユニット１０２は、変換係数の２次元アレイを生成するために、変換係数の１次元アレイに走査モードを適用する。エンコーダが変換係数を量子化した場合、１Ｄ−２Ｄ走査ユニット１０２によって生成された変換係数の２次元アレイも量子化される。適用される走査モードは、ビデオエンコーダによって使用された走査モードの逆である。走査モード決定ユニット１００がこの走査モードを決定する。
【０１１４】
一例では、走査モード決定ユニット１００は、ビデオエンコーダによって使用された変換と走査モードの組合せを示すインデックスを受信することによって走査モードを決定し得る。変換と走査モードの組合せは、イントラ予測モード及び／又はブロックサイズに基づく変換と走査モードの組合せのサブセットからのものである。インデックスは、サブセット中に４つ以下の組合せがある状況では、２ビットインデックスと同程度に小さくなり得る。インデックスは、ＣＡＢＡＣ又はＣＡＶＬＣを使用してエントロピーコード化され得る。他の例では、インデックスは、変換と走査モードの組合せのサブセットから使用された変換のみを示し得る。この例では、走査モードは、変換依存又はイントラ予測モード及び／又はブロックサイズ依存のいずれかであり得る。ビデオデコーダは、走査モードが、変換又はイントラ予測モードからどのようにマッピングされるか、若しくは変換又はイントラ予測モードにどのように関係するかを示す構成データを走査モードメモリ１０６に記憶し得る。
【０１１５】
別の例では、走査モード決定ユニット１００は、ビデオエンコーダによって使用された変換の信号伝達を取り出すことによって走査モードを決定し得る。この例では、変換及び／又は走査モードは、イントラ予測モードに基づく変換と走査モードの組合せのサブセットに限定されない。別の例では、走査モード決定ユニット１００は、ビデオデコーダによって使用されるべき逆変換の信号伝達からビデオエンコーダによって使用された変換を推論し得る。変換は特定の走査モードにマッピングされるので、走査モード決定ユニットは、決定された変換と走査モードとの間の関連付けを示すマッピングを調べることによって走査モードを決定し得る。そのようなマッピングは走査モードメモリ１０６に記憶され得る。別の例では、走査モード決定ユニット１００は、ブロックサイズ、コード化モードなど、１つ以上のコード化特性からエンコーダによって使用された変換を推論し得る。
【０１１６】
図９は、ビデオを符号化する例示的な方法を示すフローチャートである。初めに、ビデオエンコーダが、イントラ予測モードに従って残差データを計算する（１０５）。イントラ予測モード及び／又はブロックサイズに基づいて、ビデオエンコーダは変換と走査モードの組合せのサブセットを決定する（１０６）。一例では、変換と走査モードの組合せのサブセットは、可能である変換と走査モードの総数よりも少ない。例えば、ＨＥＶＣ規格では、１２個の変換と走査モードの組合せが現在可能である。各イントラ予測モードのための組合せのサブセットは、何らかのより小さい数（例えば、４つの組合せ）に設定され得る。
【０１１７】
次に、ビデオエンコーダは、変換と走査モードの組合せのサブセットから変換と走査モードの組合せを選択する（１０７）。ビデオエンコーダは、変換係数の２次元アレイを生成するように、選択された変換を残差データに適用し（１０８）、変換係数の１次元アレイを生成するために、選択された走査モードを変換係数の２次元アレイに適用する（１０９）。ビデオエンコーダは、次いで、符号化ビデオビットストリームを生成するために、変換係数の１次元アレイをエントロピーコード化する（１１０）。
【０１１８】
図１０Ａ及び図１０Ｂは、ビデオを符号化する追加の方法ステップを示すフローチャートである。エントロピーコード化に加えて、ビデオエンコーダはまた、符号化ビデオビットストリーム中で、選択された変換と走査モードの組合せを示すインデックスを信号伝達する（１１１）。変換と走査モードの組合せの数が、４つ以下に限定される場合、インデックスはわずか２ビットになり得る。インデックスは、ＣＡＢＡＣ又はＣＡＶＬＣを使用してエントロピーコード化され得る。
【０１１９】
別の例では、ビデオエンコーダは、符号化ビデオビットストリーム中で、選択された変換を示すインデックスを信号伝達する（１１２）。この場合、走査モードは、走査モードと、変換又はイントラ予測モードのいずれかとの間の所定の関係によって決定される。一例では、サブセット中の各変換は特定の走査モードにマッピングされる。別の例では、変換と走査モードの組合せのサブセット中の走査モードの各々はイントラ予測モードに基づく。
【０１２０】
図１１は、ビデオを復号する例示的な方法を示すフローチャートである。ビデオエンコーダが、イントラ予測モードに従って符号化された符号化ビデオデータを受信する（１１３）。ビデオデコーダはインデックスをも受信し得る。一例では、インデックスは、ビデオデータを符号化するためにエンコーダによって使用された変換と走査モードの両方を示す。別の例では、インデックスは、エンコーダによって使用された変換のみを示し得る。この場合、走査モードは、変換依存又はイントラ予測モード依存のいずれかであり得る。即ち、デコーダは、変換と走査モードとの間の関係又は走査モードとイントラ予測モードとの間の関係を示す構成データを記憶し得る。
【０１２１】
次に、ビデオデコーダは、符号化ビデオデータをエントロピー復号し、それによって変換係数の１次元アレイを作成する（１１４）。ビデオデコーダは、変換と走査モードの組合せのサブセットから変換を決定し、サブセットはイントラ予測モードに基づく（１１５）。上述のように、変換は、符号化ビデオビットストリーム中で送られたインデックスから決定され得る。ビデオデコーダはまた、変換と走査モードの組合せのサブセットから走査モードを決定する（１１６）。上述のように、走査モードは、インデックス、決定された変換、又はイントラ予測モードから決定され得る。ビデオデコーダは、次いで、変換係数の２次元アレイを生成するために、決定された走査モードを用いて変換係数の１次元アレイを走査し（１１７）、残差ビデオデータを生成するために、決定された変換を用いて変換係数の２次元アレイを逆変換する（１１８）。ビデオデコーダは、次いで、復号ビデオデータを生成するために、イントラ予測モードに従って残差ビデオデータに対してイントラ予測ビデオコード化プロセスを実行する（１１９）。
【０１２２】
図１２は、ビデオを符号化する例示的な方法を示すフローチャートである。図１２の方法は、少なくとも１つのフレームを備えるビデオデータをコード化するためのステップを含む。最初に、ビデオエンコーダ２０（図４及び図５）などのビデオエンコーダが、少なくとも１つのフレームの部分に対応する残差データを計算する（１２０）。ビデオエンコーダは複数の変換から変換を選択する（１２２）。変換は、ブロックサイズ、コード化モードなど、１つ以上のコード化特性に基づいて選択され得る。ビデオエンコーダは、変換係数の２次元アレイを生成するように、残差データを変換するために、選択された変換を残差データに適用する（１２４）。ビデオエンコーダは複数の走査モードから走査モードを選択し、選択された走査モードは、選択された１つ以上の変換からマッピングされる（１２６）。上記で説明したように、変換を特定の走査モードにマッピングすることによって、本開示の技法は、複数の走査モードを実行し、評価する必要性を回避する。即ち、選択された走査モードを２次元アレイに適用することは、変換係数の１次元アレイを生成するために、複数の走査モードのうちの他の走査モードを２次元アレイに適用することなしに、選択された走査モードのみを２次元アレイに適用することを備える。次に、ビデオエンコーダは、変換係数の１次元アレイを生成するために、選択された走査モードを変換係数の２次元アレイに適用する（１２８）。
【０１２３】
以下は、変換と走査モードとの間のマッピングの例である。一例では、選択された変換は、水平方向における離散コサイン変換及び垂直方向における離散コサイン変換であり、対角走査モードにマッピングされる。
【０１２４】
別の例では、選択された変換は、残差データにわたって水平方向に適用される設計変換成分と残差データにわたって垂直方向に適用される離散コサイン変換（ＤＣＴ）成分とを含む分離可能変換である。水平設計変換及び垂直ＤＣＴは垂直走査モードにマッピングされる。設計変換は、水平方向においてそのような変換を使用するであろうトレーニングシーケンスからのブロックのセットからトレーニングされた設計変換を備える。
【０１２５】
別の例では、選択された変換は、残差データにわたって水平方向に適用される離散コサイン変換（ＤＣＴ）成分と残差データにわたって垂直方向に適用される設計変換成分とを含む分離可能変換である。水平ＤＣＴ及び垂直設計変換は水平走査モードにマッピングされる。設計変換は、垂直方向においてそのような変換を使用するであろうトレーニングシーケンスからのブロックのセットからトレーニングされた設計変換を備える。
【０１２６】
別の例では、選択された変換は、残差データにわたって水平方向に適用される第１の設計変換成分と残差データにわたって垂直方向に適用される第２の設計変換成分とを含む分離可能変換である。水平方向の第１の設計変換及び垂直方向の第２の設計変換は水平走査モードにマッピングされる。第１及び第２の設計変換の各々は、水平走査モードとともにそれぞれの方向においてそのような変換を使用するであろうトレーニングシーケンスからのブロックのセットからトレーニングされた設計変換を備える。
【０１２７】
別の例では、選択された変換は、残差データにわたって水平方向に適用される第３の設計変換成分と残差データにわたって垂直方向に適用される第４の設計変換成分とを含む分離可能変換である。水平方向の第３の設計変換及び垂直方向の第４の設計変換は垂直走査モードにマッピングされる。第３及び第４の設計変換の各々は、垂直走査モードとともにそれぞれの方向においてそのような変換を使用するであろうトレーニングシーケンスからのブロックのセットからトレーニングされた設計変換を備える。
【０１２８】
図１３Ａ、図１３Ｂ、及び図１３Ｃは、ビデオを符号化する他の例示的な方法を示すフローチャートである。ステップ１２０に先立って、ビデオエンコーダ２０などのビデオエンコーダは、複数の変換の各々を複数の走査モードの各々にマッピングする（１３０）。このステップはエンコーダによってアクティブに実行され得るが、エンコーダの構成より前にマッピングが行われ得ること、及びマッピングがビデオエンコーダハードウェアに記憶又はプログラムされ得ることも企図される。同様に、同様のマッピングがビデオデコーダ３０（図４及び図７）などのビデオデコーダに記憶され得る。
【０１２９】
別の例では、ステップ１２４とステップ１２６との間に、ビデオエンコーダは２次元アレイ中の変換係数の各々を量子化する（１２５）。さらに、ステップ１２８の後に、ビデオエンコーダは変換係数の１次元アレイをエントロピー符号化する（１３４）。
【０１３０】
図１４は、ビデオを復号する例示的な方法を示すフローチャートである。図１０は、少なくとも１つのフレームを備えるビデオデータを復号する例示的な方法を示している。最初に、ビデオデコーダ３０などのビデオデコーダが、少なくとも１つのフレームの部分に対応する符号化ビデオデータをエントロピー復号し、それによって変換係数の１次元アレイを作成する（１３６）。ビデオデコーダは複数の変換から変換を決定する（１３８）。変換は、符号化ビデオビットストリーム中の明示的信号伝達を介して決定され得るか、又はブロックサイズ、コード化モードなど、１つ以上のコード化特性から推測され得る。ビデオデコーダは複数の走査モードから走査モードを選択し、選択された走査モードは、決定された変換からマッピングされる（１４０）。ビデオデコーダは、変換係数の２次元アレイを生成するために、選択された走査モードを変換係数の１次元アレイに適用する（１４２）。
【０１３１】
図１５は、ビデオを復号する別の例示的な方法を示すフローチャートである。ステップ１４２に続いて、ビデオデコーダは、変換係数の２次元アレイ中に定義された変換係数を逆量子化する（１４４）。次に、ビデオデコーダは、逆量子化された変換係数に、決定された変換に基づく逆変換を適用する（１４６）。
【０１３２】
１つ以上の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ソフトウェアで実装した場合、機能は、１つ以上の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルに従ってある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体又は通信媒体など、有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コード及び／又はデータ構造を取り出すために１つ以上のコンピュータあるいは１つ以上のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１３３】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気ストレージ機器、フラッシュメモリ、あるいは命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）及びディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）、及びブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１３４】
命令は、１つ以上のデジタル信号プロセッサ（ＤＳＰ）などの１つ以上のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路又はディスクリート論理回路によって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用ハードウェア及び／又はソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つ以上の回路又は論理要素において完全に実装され得る。
【０１３５】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、又はＩＣのセット（例えば、チップセット）を含む、多種多様な機器又は装置において実装され得る。本開示では、開示した技法を実行するように構成された機器の機能的態様を強調するために、様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び／又はファームウェアとともに、上記で説明した１つ以上のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって与えられ得る。
【０１３６】
様々な例について説明した。これら及び他の例は以下の特許請求の範囲内に入る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［１］  ビデオデータを符号化する方法であって、イントラ予測モードに基づいて変換と走査モードの組合せのサブセットを決定することと、変換と走査モードの組合せの前記サブセットから変換と走査モードの組合せを選択することと、変換係数の２次元アレイを生成するように、前記イントラ予測モードに基づいてブロックを予測することに関連する残差データに選択された前記変換を適用することと、変換係数の１次元アレイを生成するために、選択された前記走査モードを変換係数の前記２次元アレイに適用することと、を備える方法。
［２］  変換係数の前記１次元アレイと変換係数の前記２次元アレイとのうちの少なくとも１つ中の前記変換係数を量子化することと、変換係数の前記１次元アレイをエントロピーコード化することと、をさらに備える、［１］に記載の方法。
［３］  符号化ビデオビットストリーム中でインデックスを信号伝達することを更に含み、前記インデックスが選択された前記変換と走査モードの組合せを示す、
［１］に記載の方法。
［４］  前記インデックスが固定数のビットによって表され、前記インデックスがＣＡＢＡＣ又はＣＡＶＬＣを使用してエントロピーコード化される、［３］に記載の方法。
［５］  符号化ビデオビットストリーム中でインデックスを信号伝達することを更に含み、前記インデックスが選択された前記変換を示し、変換と走査モードの組合せの前記サブセットは、変換が特定の走査モードにマッピングされるように決定される、
［１］に記載の方法。
［６］  符号化ビデオビットストリーム中でインデックスを信号伝達することを更に含み、前記インデックスが選択された前記変換を示し、変換と走査モードの組合せの前記サブセット中の前記走査モードの各々が前記イントラ予測モードに基づく、［１］に記載の方法。
［７］  変換と走査モードの組合せの前記サブセットが前記イントラ予測モードとブロックサイズとに基づいて決定される、［１］に記載の方法。
［８］  ビデオデータを復号する方法であって、イントラ予測モードに従って符号化された符号化ビデオデータを受信することと、前記符号化ビデオデータをエントロピー復号し、それによって変換係数の１次元アレイを作成する、エントロピー復号することと、前記イントラ予測モードに基づく、変換と走査モードの組合せのサブセットから変換を決定することと、変換と走査モードの組合せの前記サブセットから走査モードを決定することと、変換係数の２次元アレイを生成するために、決定された前記走査モードを用いて変換係数の前記１次元アレイを走査することと、前記イントラ予測モードに基づいてブロックを予測することに関連する残差ビデオデータを生成するために、決定された前記変換を用いて変換係数の前記２次元アレイを逆変換することと、を備える方法。
［９］  復号ビデオデータを生成するために、前記イントラ予測モードに従って前記残差ビデオデータに対してイントラ予測ビデオコード化プロセスを実行すること、をさらに備える、［８］に記載の方法。
［１０］  決定された前記変換と前記決定された走査モードとを示すインデックスを受信することと、ＣＡＢＡＣ又はＣＡＶＬＣを使用して前記インデックスをエントロピー復号することと、をさらに備える、［８］に記載の方法。
［１１］  前記インデックスが２ビットインデックスである、［１０］に記載の方法。
［１２］  決定された前記変換を示すインデックスを受信することを更に含み、前記走査モードが決定された前記変換に基づいて決定される、
［８］に記載の方法。
［１３］  決定された前記変換を示すインデックスを受信することを更に含み、前記走査モードが前記イントラ予測モードに基づいて決定される、
［８］に記載の方法。
［１４］  ビデオデータを符号化するように構成された装置であって、イントラ予測モードに基づいて変換と走査モードの組合せのサブセットを決定することと、変換と走査モードの組合せの前記サブセットから変換と走査モードの組合せを選択することと、変換係数の２次元アレイを生成するように、前記イントラ予測モードに基づいてブロックを予測することに関連する残差データに選択された前記変換を適用することと、変換係数の１次元アレイを生成するために、選択された前記走査モードを変換係数の前記２次元アレイに適用することと、を行うように構成されたビデオエンコーダ
を備える装置。
［１５］  前記ビデオエンコーダが、変換係数の前記１次元アレイと変換係数の前記２次元アレイとのうちの少なくとも１つ中の前記変換係数を量子化することと、変換係数の前記１次元アレイをエントロピーコード化することと、を行うようにさらに構成された、［１４］に記載の装置。
［１６］  前記ビデオエンコーダは、符号化ビデオビットストリーム中でインデックスを信号伝達するように更に構成され、前記インデックスが選択された前記変換と走査モードの組合せを示す、
［１４］に記載の装置。
［１７］  前記インデックスが固定数のビットによって表され、前記インデックスがＣＡＢＡＣ又はＣＡＶＬＣを使用してエントロピーコード化される、［１６］に記載の装置。
［１８］  前記ビデオエンコーダは、符号化ビデオビットストリーム中でインデックスを信号伝達するように更に構成され、前記インデックスが選択された前記変換を示し、変換と走査モードの組合せの前記サブセットは、変換が特定の走査モードにマッピングされるように決定される、
［１４］に記載の装置。
［１９］  前記ビデオエンコーダは、符号化ビデオビットストリーム中でインデックスを信号伝達するように更に構成され、前記インデックスが選択された前記変換を示し、変換と走査モードの組合せの前記サブセット中の前記走査モードの各々が前記イントラ予測モードに基づく、
［１４］に記載の装置。
［２０］  変換と走査モードの組合せの前記サブセットが前記イントラ予測モードとブロックサイズとに基づいて決定される、［１４］に記載の装置。
［２１］  ビデオデータを復号するように構成された装置であって、イントラ予測モードに従って符号化された符号化ビデオデータを受信することと、前記符号化ビデオデータをエントロピー復号し、それによって変換係数の１次元アレイを作成する、エントロピー復号することと、前記イントラ予測モードに基づく、変換と走査モードの組合せのサブセットから変換を決定することと、変換と走査モードの組合せの前記サブセットから走査モードを決定することと、変換係数の２次元アレイを生成するために、決定された前記走査モードを用いて変換係数の前記１次元アレイを走査することと、前記イントラ予測モードに基づいてブロックを予測することに関連する残差ビデオデータを生成するために、決定された前記変換を用いて変換係数の前記２次元アレイを逆変換することと、を行うように構成されたビデオデコーダ
を備える装置。
［２２］  前記ビデオデコーダが、復号ビデオデータを生成するために、前記イントラ予測モードに従って前記残差ビデオデータに対してイントラ予測ビデオコード化プロセスを実行すること、を行うようにさらに構成された、［２１］に記載の装置。
［２３］  前記ビデオデコーダが、前記決定された変換と前記決定された走査モードとを示すインデックスを受信することと、ＣＡＢＡＣ又はＣＡＶＬＣを使用して前記インデックスをエントロピー復号することと、を行うようにさらに構成された、［２１］に記載の装置。
［２４］  前記インデックスが２ビットインデックスである、［２３］に記載の装置。
［２５］  前記ビデオデコーダは、決定された前記変換を示すインデックスを受信するように更に構成され、前記走査モードが前記決定された変換に基づいて決定される、
［２１］に記載の装置。
［２６］  前記ビデオデコーダは、決定された前記変換を示すインデックスを受信するように更に構成され、前記走査モードが前記イントラ予測モードに基づいて決定される、
［２１］に記載の装置。
［２７］  ビデオデータを符号化するように構成された装置であって、イントラ予測モードに基づいて変換と走査モードの組合せのサブセットを決定するための手段と、変換と走査モードの組合せの前記サブセットから変換と走査モードの組合せを選択するための手段と、変換係数の２次元アレイを生成するように、前記イントラ予測モードに基づいてブロックを予測することに関連する残差データに前記選択された変換を適用するための手段と、変換係数の１次元アレイを生成するために、前記選択された走査モードを変換係数の前記２次元アレイに適用するための手段と、を備える装置。
［２８］  ビデオデータを復号するように構成された装置であって、イントラ予測モードに従って符号化された符号化ビデオデータを受信するための手段と、前記符号化ビデオデータをエントロピー復号し、それによって変換係数の１次元アレイを作成する、エントロピー復号するための手段と、前記サブセットが前記イントラ予測モードに基づく、変換と走査モードの組合せのサブセットから変換を決定するための手段と、変換と走査モードの組合せの前記サブセットから走査モードを決定するための手段と、変換係数の２次元アレイを生成するために、決定された前記走査モードを用いて変換係数の前記１次元アレイを走査するための手段と、前記イントラ予測モードに基づいてブロックを予測することに関連する残差ビデオデータを生成するために、決定された前記変換を用いて変換係数の前記２次元アレイを逆変換するための手段と、を備える装置。
［２９］  実行されたとき、イントラ予測モードに基づいて変換と走査モードの組合せのサブセットを決定することと、変換と走査モードの組合せの前記サブセットから変換と走査モードの組合せを選択することと、変換係数の２次元アレイを生成するように、前記イントラ予測モードに基づいてブロックを予測することに関連する残差データに選択された前記変換を適用することと、変換係数の１次元アレイを生成するために、選択された前記走査モードを変換係数の前記２次元アレイに適用することと、を、ビデオデータを符号化するための機器のプロセッサに行わせる命令を記憶したコンピュータ可読媒体を備えるコンピュータプログラム製品。
［３０］  実行されたとき、イントラ予測モードに従って符号化された符号化ビデオデータを受信することと、前記符号化ビデオデータをエントロピー復号し、それによって変換係数の１次元アレイを作成する、エントロピー復号することと、前記イントラ予測モードに基づく、変換と走査モードの組合せのサブセットから変換を決定することと、変換と走査モードの組合せの前記サブセットから走査モードを決定することと、変換係数の２次元アレイを生成するために、決定された前記走査モードを用いて変換係数の前記１次元アレイを走査することと、前記イントラ予測モードに基づいてブロックを予測することに関連する残差ビデオデータを生成するために、決定された前記変換を用いて変換係数の前記２次元アレイを逆変換することと、を、ビデオデータを復号するための機器のプロセッサに行わせる命令を記憶したコンピュータ可読媒体を備えるコンピュータプログラム製品。
［３１］  少なくとも１つのフレームを備えるビデオデータを符号化する方法であって、前記少なくとも１つのフレームの部分に対応する残差データを計算することと、複数の変換から変換を選択することと、変換係数の２次元アレイを生成するように、選択された前記変換を前記残差データに適用することと、複数の走査モードから走査モードを選択することと、ここで選択された前記走査モードが前記選択された変換からマッピングされる、変換係数の１次元アレイを生成するために、選択された前記走査モードを変換係数の前記２次元アレイに適用することと、を備える、方法。
［３２］  前記複数の変換の各々を前記複数の走査モードの各々にマッピングすること、をさらに備える、［３１］に記載の方法。
［３３］  前記走査モードを選択することは、選択された前記走査モードが選択された前記変換からどのようにマッピングされるかを示す構成データにアクセスすることを含む、［３１］に記載の方法。
［３４］  選択された前記走査モードを前記２次元アレイに適用することが、変換係数の前記１次元アレイを生成するために、前記複数の走査モードのうちの他の走査モードを前記２次元アレイに適用することなしに、選択された前記走査モードのみを前記２次元アレイに適用することを備える、［３１］に記載の方法。
［３５］  選択された前記変換が、前記残差データにわたって水平方向に適用される水平離散コサイン変換と前記残差データにわたって垂直方向に適用される垂直離散コサイン変換とを含む分離可能変換であり、前記水平離散コサイン変換と前記垂直離散コサイン変換とを含む前記分離可能変換が対角走査モードにマッピングされる、［３１］に記載の方法。
［３６］  選択された前記変換が、前記残差データにわたって水平方向に適用される設計変換成分と前記残差データにわたって垂直方向に適用される離散コサイン変換成分とを含む分離可能変換であり、水平方向に適用される前記設計変換成分と垂直方向に適用される前記離散コサイン変換成分とを含む前記分離可能変換が垂直走査モードにマッピングされる、［３１］に記載の方法。
［３７］  選択された前記変換が、前記残差データにわたって垂直方向に適用される設計変換成分と前記残差データにわたって水平方向に適用される離散コサイン変換成分とを含む分離可能変換であり、垂直方向に適用される前記設計変換成分と水平方向に適用される前記離散コサイン変換成分とを含む前記分離可能変換が水平走査モードにマッピングされる、［３１］に記載の方法。
［３８］  選択された前記変換が、前記残差データにわたって水平方向に適用される第１の設計変換成分と前記残差データにわたって垂直方向に適用される第２の設計変換成分とを含む分離可能変換であり、前記第１の設計変換成分と前記第２の設計変換成分とを含む前記分離可能変換が水平走査モードにマッピングされる、［３１］に記載の方法。
［３９］  選択された前記変換が、前記残差データにわたって水平方向に適用される水平離散サイン変換と前記残差データにわたって垂直方向に適用される垂直離散コサイン変換とを含む分離可能変換であり、前記水平離散サイン変換と前記垂直離散コサイン変換とを含む前記分離可能変換が垂直走査モードにマッピングされる、［３１］に記載の方法。
［４０］  選択された前記変換が、前記残差データにわたって水平方向に適用される水平離散コサイン変換と前記残差データにわたって垂直方向に適用される垂直離散サイン変換とを含む分離可能変換であり、前記水平離散コサイン変換と前記垂直離散サイン変換とを含む前記分離可能変換が水平走査モードにマッピングされる、［３１］に記載の方法。
［４１］  選択された前記変換が、前記残差データにわたって水平方向に適用される第３の設計変換成分と前記残差データにわたって垂直方向に適用される第４の設計変換成分とを含む分離可能変換であり、前記第３の設計変換成分と前記第４の設計変換成分とを含む前記分離可能変換が垂直走査モードにマッピングされる、［３１］に記載の方法。
［４２］  変換係数の前記１次元アレイと変換係数の前記２次元アレイとのうちの少なくとも１つ中の前記変換係数を量子化することと、変換係数の前記１次元アレイをエントロピー符号化することと、をさらに備える、［３１］に記載の方法。
［４３］  少なくとも１つのフレームを備えるビデオデータを復号する方法であって、前記少なくとも１つのフレームの部分に対応する符号化ビデオデータをエントロピー復号し、それによって変換係数の１次元アレイを作成する、エントロピー復号することと、複数の変換から変換を決定することと、複数の走査モードから走査モードを選択することと、ここで、選択された前記走査モードが決定された前記変換からマッピングされる、変換係数の２次元アレイを生成するために、選択された前記走査モードを変換係数の前記１次元アレイに適用することと、を備える、方法。
［４４］  前記走査モードを選択することが、前記複数の走査モードのうちの１つへの前記決定された変換の前記マッピングを示す構成データにアクセスすることを含む、［４３］に記載の方法。
［４５］  前記選択された変換が、前記残差データにわたって水平方向に適用される水平離散コサイン変換と前記残差データにわたって垂直方向に適用される垂直離散コサイン変換とを含む分離可能変換であり、前記水平離散コサイン変換と前記垂直離散コサイン変換とを含む前記分離可能変換が対角走査モードにマッピングされる、［４３］に記載の方法。
［４６］  選択された前記変換が、前記残差データにわたって水平方向に適用される設計変換成分と前記残差データにわたって垂直方向に適用される離散コサイン変換成分とを含む分離可能変換であり、水平方向に適用される前記設計変換成分と垂直方向に適用される前記離散コサイン変換成分とを含む前記分離可能変換が垂直走査モードにマッピングされる、［４３］に記載の方法。
［４７］  選択された前記変換が、前記残差データにわたって垂直方向に適用される設計変換成分と前記残差データにわたって水平方向に適用される離散コサイン変換成分とを含む分離可能変換であり、垂直方向に適用される前記設計変換成分と水平方向に適用される前記離散コサイン変換成分とを含む前記分離可能変換が水平走査モードにマッピングされる、［４３］に記載の方法。
［４８］  選択された前記変換が、前記残差データにわたって水平方向に適用される第１の設計変換成分と前記残差データにわたって垂直方向に適用される第２の設計変換成分とを含む分離可能変換であり、前記第１の設計変換成分と前記第２の設計変換成分とを含む前記分離可能変換が水平走査モードにマッピングされる、［４３］に記載の方法。
［４９］  選択された前記変換が、前記残差データにわたって水平方向に適用される水平離散サイン変換と前記残差データにわたって垂直方向に適用される垂直離散コサイン変換とを含む分離可能変換であり、前記水平離散サイン変換と前記垂直離散コサイン変換とを含む前記分離可能変換が垂直走査モードにマッピングされる、［４３］に記載の方法。
［５０］  選択された前記変換が、前記残差データにわたって水平方向に適用される水平離散コサイン変換と前記残差データにわたって垂直方向に適用される垂直離散サイン変換とを含む分離可能変換であり、前記水平離散コサイン変換と前記垂直離散サイン変換とを含む前記分離可能変換が水平走査モードにマッピングされる、［４３］に記載の方法。
［５１］  選択された前記変換が、前記残差データにわたって水平方向に適用される第３の設計変換成分と前記残差データにわたって垂直方向に適用される第４の設計変換成分とを含む分離可能変換であり、前記第３の設計変換成分と前記第４の設計変換成分とを含む前記分離可能変換が垂直走査モードにマッピングされる、［４３］に記載の方法。
［５２］  変換係数の前記２次元アレイ中に定義された前記変換係数を逆量子化することと、前記逆量子化された変換係数に逆変換を適用することを更に含み、前記逆変換が前記決定された変換に基づく、
［４３］に記載の方法。
［５３］  少なくとも１つのフレームを備えるビデオデータを符号化するように構成された装置であって、前記少なくとも１つのフレームの部分に対応する残差データを計算することと、複数の変換から変換を選択することと、変換係数の２次元アレイを生成するように、選択された前記変換を前記残差データに適用することと、複数の走査モードから走査モードを選択することと、ここで、選択された前記走査モードが前記選択された変換からマッピングされる、変換係数の１次元アレイを生成するために、選択された前記走査モードを変換係数の前記２次元アレイに適用することと、を行うように構成されたビデオエンコーダ
を備える、装置。
［５４］  前記ビデオエンコーダが、変換係数の前記１次元アレイを生成するために、前記複数の走査モードのうちの他の走査モードを前記２次元アレイに適用することなしに、選択された前記走査モードのみを前記２次元アレイに適用するようにさらに構成された、［５３］に記載の装置。
［５５］  前記ビデオエンコーダが、前記複数の走査モードのうちの１つへの選択された前記変換の前記マッピングを示す構成データにアクセスするようにさらに構成された、［５３］に記載の装置。
［５６］  選択された前記変換が、前記残差データにわたって水平方向に適用される水平離散コサイン変換と前記残差データにわたって垂直方向に適用される垂直離散コサイン変換とを含む分離可能変換であり、前記水平離散コサイン変換と前記垂直離散コサイン変換とを含む前記分離可能変換が対角走査モードにマッピングされる、［５３］に記載の装置。
［５７］  選択された前記変換が、前記残差データにわたって水平方向に適用される設計変換成分と前記残差データにわたって垂直方向に適用される離散コサイン変換成分とを含む分離可能変換であり、水平方向に適用される前記設計変換成分と垂直方向に適用される前記離散コサイン変換成分とを含む前記分離可能変換が垂直走査モードにマッピングされる、［５３］に記載の装置。
［５８］  選択された前記変換が、前記残差データにわたって垂直方向に適用される設計変換成分と前記残差データにわたって水平方向に適用される離散コサイン変換成分とを含む分離可能変換であり、垂直方向に適用される前記設計変換成分と水平方向に適用される前記離散コサイン変換成分とを含む前記分離可能変換が水平走査モードにマッピングされる、［５３］に記載の装置。
［５９］  選択された前記変換が、前記残差データにわたって水平方向に適用される第１の設計変換成分と前記残差データにわたって垂直方向に適用される第２の設計変換成分とを含む分離可能変換であり、前記第１の設計変換成分と前記第２の設計変換成分とを含む前記分離可能変換が水平走査モードにマッピングされる、［５３］に記載の装置。
［６０］  選択された前記変換が、前記残差データにわたって水平方向に適用される水平離散サイン変換と前記残差データにわたって垂直方向に適用される垂直離散コサイン変換とを含む分離可能変換であり、前記水平離散サイン変換と前記垂直離散コサイン変換とを含む前記分離可能変換が垂直走査モードにマッピングされる、［５３］に記載の装置。
［６１］  選択された前記変換が、前記残差データにわたって水平方向に適用される水平離散コサイン変換と前記残差データにわたって垂直方向に適用される垂直離散サイン変換とを含む分離可能変換であり、前記水平離散コサイン変換と前記垂直離散サイン変換とを含む前記分離可能変換が水平走査モードにマッピングされる、［５３］に記載の装置。
［６２］  選択された前記変換が、前記残差データにわたって水平方向に適用される第３の設計変換成分と前記残差データにわたって垂直方向に適用される第４の設計変換成分とを含む分離可能変換であり、前記第３の設計変換成分と前記第４の設計変換成分とを含む前記分離可能変換が垂直走査モードにマッピングされる、［５３］に記載の装置。
［６３］  前記ビデオエンコーダが、変換係数の前記１次元アレイと変換係数の前記２次元アレイとのうちの少なくとも１つ中の前記変換係数を量子化することと、変換係数の前記１次元アレイをエントロピー符号化することと、を行うようにさらに構成された、［５３］に記載の装置。
［６４］  少なくとも１つのフレームを備えるビデオデータを復号するように構成された装置であって、前記少なくとも１つのフレームの部分に対応する符号化ビデオデータをエントロピー復号し、それによって変換係数の１次元アレイを作成する、エントロピー復号することと、複数の変換から変換を決定することと、複数の走査モードから走査モードを選択することと、ここで、選択された前記走査モードが決定された前記変換からマッピングされる、変換係数の２次元アレイを生成するために、選択された前記走査モードを変換係数の前記１次元アレイに適用することと、を行うように構成されたビデオデコーダ
を備える、装置。
［６５］  前記ビデオデコーダが、前記複数の走査モードのうちの１つへの前記決定された変換の前記マッピングを示す構成データにアクセスするようにさらに構成された、［６４］に記載の装置。
［６６］  前記ビデオデコーダが、前記複数の走査モードのうちの１つへの前記選択された変換の前記マッピングを示す構成データにアクセスするようにさらに構成された、［６４］に記載の装置。
［６７］  選択された前記変換が、前記残差データにわたって水平方向に適用される水平離散コサイン変換と前記残差データにわたって垂直方向に適用される垂直離散コサイン変換とを含む分離可能変換であり、前記水平離散コサイン変換と前記垂直離散コサイン変換とを含む前記分離可能変換が対角走査モードにマッピングされる、［６４］に記載の装置。
［６８］  選択された前記変換が、前記残差データにわたって水平方向に適用される設計変換成分と前記残差データにわたって垂直方向に適用される離散コサイン変換成分とを含む分離可能変換であり、水平方向に適用される前記設計変換成分と垂直方向に適用される前記離散コサイン変換成分とを含む前記分離可能変換が垂直走査モードにマッピングされる、［６４］に記載の装置。
［６９］  選択された前記変換が、前記残差データにわたって垂直方向に適用される設計変換成分と前記残差データにわたって水平方向に適用される離散コサイン変換成分とを含む分離可能変換であり、垂直方向に適用される前記設計変換成分と水平方向に適用される前記離散コサイン変換成分とを含む前記分離可能変換が水平走査モードにマッピングされる、［６４］に記載の装置。
［７０］  選択された前記変換が、前記残差データにわたって水平方向に適用される第１の設計変換成分と前記残差データにわたって垂直方向に適用される第２の設計変換成分とを含む分離可能変換であり、前記第１の設計変換成分と前記第２の設計変換成分とを含む前記分離可能変換が水平走査モードにマッピングされる、［６４］に記載の装置。
［７１］  選択された前記変換が、前記残差データにわたって水平方向に適用される水平離散サイン変換と前記残差データにわたって垂直方向に適用される垂直離散コサイン変換とを含む分離可能変換であり、前記水平離散サイン変換と前記垂直離散コサイン変換とを含む前記分離可能変換が垂直走査モードにマッピングされる、［６４］に記載の装置。
［７２］  選択された前記変換が、前記残差データにわたって水平方向に適用される水平離散コサイン変換と前記残差データにわたって垂直方向に適用される垂直離散サイン変換とを含む分離可能変換であり、前記水平離散コサイン変換と前記垂直離散サイン変換とを含む前記分離可能変換が水平走査モードにマッピングされる、［６４］に記載の装置。
［７３］  選択された前記変換が、前記残差データにわたって水平方向に適用される第３の設計変換成分と前記残差データにわたって垂直方向に適用される第４の設計変換成分とを含む分離可能変換であり、前記第３の設計変換成分と前記第４の設計変換成分とを含む前記分離可能変換が垂直走査モードにマッピングされる、［６４］に記載の装置。
［７４］  前記ビデオデコーダが、変換係数の前記２次元アレイ中に定義された前記変換係数を逆量子化することと、前記逆量子化された変換係数に逆変換を適用することであって、前記逆変換が前記決定された変換に基づく、適用することと、を行うようにさらに構成された、［６４］に記載の装置。
［７５］  少なくとも１つのフレームを備えるビデオデータを符号化するように構成された装置であって、前記少なくとも１つのフレームの部分に対応する残差データを計算するための手段と、複数の変換から変換を選択するための手段と、変換係数の２次元アレイを生成するように、選択された前記変換を前記残差データに適用するための手段と、複数の走査モードから走査モードを選択するための手段であって、選択された前記走査モードが選択された前記変換からマッピングされる、選択するための手段と、変換係数の１次元アレイを生成するために、選択された前記走査モードを変換係数の前記２次元アレイに適用するための手段と、を備える、装置。
［７６］  少なくとも１つのフレームを備えるビデオデータを復号するように構成された装置であって、前記少なくとも１つのフレームの部分に対応する符号化ビデオデータをエントロピー復号し、それによって変換係数の１次元アレイを作成する、エントロピー復号するための手段と、複数の変換から変換を決定するための手段と、複数の走査モードから走査モードを選択し、選択された前記走査モードが前記決定された変換からマッピングされる、選択するための手段と、変換係数の２次元アレイを生成するために、選択された前記走査モードを変換係数の前記１次元アレイに適用するための手段と、を備える、装置。
［７７］  実行されたとき、前記少なくとも１つのフレームの部分に対応する残差データを計算することと、複数の変換から変換を選択することと、変換係数の２次元アレイを生成するように、選択された前記変換を前記残差データに適用することと、複数の走査モードから走査モードを選択することと、選択された前記走査モードが前記選択された変換からマッピングされる、変換係数の１次元アレイを生成するために、選択された前記走査モードを変換係数の前記２次元アレイに適用することと、を、少なくとも１つのフレームを備えるビデオデータを符号化するための機器のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
［７８］  実行されたとき、前記少なくとも１つのフレームの部分に対応する符号化ビデオデータをエントロピー復号し、それによって変換係数の１次元アレイを作成する、エントロピー復号することと、複数の変換から変換を決定することと、複数の走査モードから走査モードを選択することと、選択された前記走査モードが前記決定された変換からマッピングされる、変換係数の２次元アレイを生成するために、選択された前記走査モードを変換係数の前記１次元アレイに適用することと、を、少なくとも１つのフレームを備えるビデオデータを復号するための機器のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
【図１】
0005960309.tif 000002
【図２】
0005960309.tif 000003
【図３】
0005960309.tif 000004
【図４】
0005960309.tif 000005
【図５】
0005960309.tif 000006
【図６】
0005960309.tif 000007
【図７】
0005960309.tif 000008
【図８】
0005960309.tif 000009
【図９】
0005960309.tif 000010
【図１０Ａ】
0005960309.tif 000011
【図１０Ｂ】
0005960309.tif 000012
【図１１】
0005960309.tif 000013
【図１２】
0005960309.tif 000014
【図１３Ａ】
0005960309.tif 000015
【図１３Ｂ】
0005960309.tif 000016
【図１３Ｃ】
0005960309.tif 000017
【図１４】
0005960309.tif 000018
【図１５】
0005960309.tif 000019