(57)【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
現在のブロックのベクトルによって参照される予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第１の残差ブロックに残差差分パルスコード変調（ＤＰＣＭ）が適用される方向を示す情報を復号することと、
前記方向を示す前記情報に基づいて前記第１の残差ブロックの走査順序を決定することと、ここにおいて、前記決定された走査順序は、第２の残差ブロックが前記現在のブロックをイントラ予測することから生成された場合、および前記復号した情報に示された前記方向と同じ方向を用いて前記第２の残差ブロックが残差ＤＰＣＭを適用された場合に、前記第２の残差ブロックに対して使用されるものと同じ走査順序であることが必要である、
前記決定された走査順序に基づいて前記第１の残差ブロックの前記残差データをエントロピー復号することと、
前記復号した残差データに基づいて前記現在のブロックを再構成することとを備える、方法。
【請求項２】
前記現在のブロックの前記ベクトルによって参照される前記予測ブロックと前記現在のブロックとの間の前記差分から生成された前記残差データは、残差値をピクセル領域から変換領域に変換する変換が前記残差値に適用されることなく前記予測ブロックと前記現在のブロックとの間の前記差分からの前記残差値を含む残差データを備える、請求項１に記載の方法。
【請求項３】
前記残差データをエントロピー復号することは、前記決定された走査順序に基づいて前記第１の残差ブロックの４×４サブブロックをエントロピー復号することを備える、請求項１に記載の方法。
【請求項４】
残差ＤＰＣＭが前記第１の残差ブロックに適用されるかどうかを示す情報を復号することと、
残差ＤＰＣＭが前記第１の残差ブロックに適用されるかどうかを示す前記復号した情報に基づいて、残差ＤＰＣＭが前記第１の残差ブロックに適用されるかどうかを決定することと、をさらに備え
残差ＤＰＣＭが適用される前記方向を示す情報を復号することは、残差ＤＰＣＭが前記第１の残差ブロックに適用されることを決定した場合、残差ＤＰＣＭが適用される前記方向を示す情報を復号することを備え、
好ましくは、残差ＤＰＣＭが前記第１の残差ブロックに適用されていないことを決定する場合、前記走査順序が対角線走査になることを決定する、請求項１に記載の方法。
【請求項５】
ビデオデータを符号化する方法であって、
現在のブロックのベクトルによって参照される予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第１の残差ブロックに残差差分パルスコード変調（ＤＰＣＭ）が適用される方向を決定することと、
前記残差ＤＰＣＭが適用される前記決定した方向に基づいて前記第１の残差ブロックの走査順序を決定することと、ここにおいて、前記決定された走査順序は、第２の残差ブロックが前記現在のブロックをイントラ予測することから生成された場合、および前記残差ＤＰＣＭが前記第１の残差ブロックに適用される前記決定した方向と同じ方向を用いて前記第２の残差ブロックが残差ＤＰＣＭを適用された場合に、前記第２の残差ブロックに対して使用されるものと同じ走査順序であることが必要である、
前記決定された走査順序に基づいて前記第１の残差ブロックの前記残差データをエントロピー符号化することと、
残差ＤＰＣＭが適用される前記決定した方向を示す情報を符号化することと、
前記符号化した残差データと残差ＤＰＣＭが適用される前記決定した方向を示す前記情報とを出力することとを備える、方法。
【請求項６】
前記現在のブロックの前記ベクトルは動きベクトルを備え、前記第１の残差ブロックは、前記現在のブロックのインター予測から生成され、前記現在のブロックのインター予測では、前記予測ブロックは前記現在のブロックと異なるピクチャ内にある、請求項１または請求項５に記載の方法。
【請求項７】
前記現在のブロックの前記ベクトルはブロックベクトルを備え、前記第１の残差ブロックは、前記現在のブロックのイントラブロックコピー予測から生成され、前記現在のブロックのイントラブロックコピー予測では、前記予測ブロックは、前記現在のブロックと同じピクチャ内にある、請求項１または請求項５に記載の方法。
【請求項８】
残差ＤＰＣＭが適用される前記方向は、水平または垂直方向であり、
前記第１の残差ブロックの前記走査順序を決定することは、
前記第２の残差ブロックが、水平残差ＤＰＣＭを適用され垂直走査を使用した場合、前記垂直走査を決定すること、または
前記第２の残差ブロックが、垂直残差ＤＰＣＭを適用され水平走査を使用した場合、前記水平走査を決定すること
のうちの１つを備える、請求項１または請求項５に記載の方法。
【請求項９】
前記第１の残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定することをさらに備え、
残差ＤＰＣＭが適用される前記方向は、水平または垂直方向であり、
前記第１の残差ブロックの前記走査順序を決定することは、
前記第１の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第２の残差ブロックが、水平残差ＤＰＣＭを適用され垂直走査を使用した場合、前記垂直走査を決定すること、または
前記第１の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第２の残差ブロックが、垂直残差ＤＰＣＭを適用され水平走査を使用した場合、前記水平走査を決定すること
のうちの１つを備える、請求項１または請求項５に記載の方法。
【請求項１０】
前記しきい値サイズは、８×８を備える、請求項９に記載の方法。
【請求項１１】
残差ＤＰＣＭが適用される前記方向は、水平または垂直方向であり、
前記第１の残差ブロックの前記走査順序を決定することは、
前記第２の残差ブロックが、水平残差ＤＰＣＭを適用され水平走査を使用した場合、前記水平走査を決定すること、または
前記第２の残差ブロックが、垂直残差ＤＰＣＭを適用され垂直走査を使用した場合、前記垂直走査を決定すること
のうちの１つを備える、請求項１または請求項５に記載の方法。
【請求項１２】
前記第１の残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定することをさらに備え、
残差ＤＰＣＭが適用される前記方向は、水平または垂直方向であり、
前記第１の残差ブロックの前記走査順序を決定することは、
前記第１の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第２の残差ブロックが、水平残差ＤＰＣＭを適用され水平走査を使用した場合、前記水平走査を決定すること、または
前記第１の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第２の残差ブロックが、垂直残差ＤＰＣＭを適用され垂直走査を使用した場合、前記垂直走査を決定すること
のうちの１つを備える、請求項１または請求項５に記載の方法。
【請求項１３】
ビデオデータを復号するためのデバイスであって、
現在のブロックのベクトルによって参照される予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第１の残差ブロックに残差差分パルスコード変調（ＤＰＣＭ）が適用される方向を示す情報を復号するための手段と、ここにおいて、前記方向を示す前記情報は、垂直残差ＤＰＣＭまたは水平残差ＤＰＣＭのうちの１つを示す情報を備える、
前記方向を示す前記情報に基づいて前記第１の残差ブロックの走査順序を決定するための手段と、ここにおいて、前記第１の残差ブロックの前記走査順序を決定するための前記手段は、
前記情報が水平残差ＤＰＣＭを示した場合、および前記第１の残差ブロックのサイズが８×８以下である場合、垂直走査を決定するための手段と、
前記情報が垂直残差ＤＰＣＭを示した場合、および前記第１の残差ブロックの前記サイズが８×８以下である場合、水平走査を決定するための手段と
を備え、
前記決定された走査順序に基づいて前記第１の残差ブロックの前記残差データをエントロピー復号するための手段と、
前記復号した残差データに基づいて前記現在のブロックを再構成するための手段とを備える、デバイス。
【請求項１４】
ビデオデータを符号化するためのデバイスであって、
現在のブロックのベクトルによって参照される予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第１の残差ブロックに残差差分パルスコード変調（ＤＰＣＭ）が適用される方向を決定するための手段と、
前記残差ＤＰＣＭが適用される前記決定した方向に基づいて前記第１の残差ブロックの走査順序を決定するための手段と、ここにおいて、前記決定された走査順序は、第２の残差ブロックが前記現在のブロックをイントラ予測することから生成された場合、および前記残差ＤＰＣＭが前記第１の残差ブロックに適用される前記決定した方向と同じ方向を用いて前記第２の残差ブロックが残差ＤＰＣＭを適用された場合に、前記第２の残差ブロックに対して使用されるものと同じ走査順序であることが必要である、
前記決定された走査順序に基づいて前記第１の残差ブロックの前記残差データをエントロピー符号化するための手段と、
残差ＤＰＣＭが適用される前記決定した方向を示す情報を符号化するための手段と、
前記符号化した残差データと残差ＤＰＣＭが適用される前記決定した方向を示す前記情報とを出力するための手段とを備える、デバイス。
【請求項１５】
実行されるとき、ビデオデータをコード化するためのデバイス用のビデオコーダに、請求項１から１２のうちのいずれか１つに記載の方法を実行させる命令が記憶された、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、その内容全体が参照により本明細書に組み込まれる、２０１３年６月５日に出願された米国仮出願第６１／８３１，５８１号の利益を主張する。
【０００２】
[0002]本開示は、ビデオコーディングおよび圧縮に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信、受信および記憶するための、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）によって定義された規格、現在開発中の高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間的（イントラピクチャ）予測および／または時間的（インターピクチャ）予測を実行する。ブロックベースのビデオコーディングの場合、ビデオスライスが、ツリーブロック、コーディングユニット（ＣＵ）および／またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化（Ｉ）スライスにおけるビデオブロックは、同じピクチャ内の隣接ブロックにおける参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス内のビデオブロックは、同じピクチャ中の隣接ブロック内の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【発明の概要】
【０００５】
[0005]一般に、本開示で説明する１つまたは複数の技法は、残差差分パルスコード変調（残差ＤＰＣＭまたはＲＤＰＣＭ）が適用される際のコーディングツールの調和に関する。いくつかの例では、残差ブロックにＲＤＰＣＭが適用される場合、残差ブロックに変換は適用されない（すなわち、変換がスキップまたはバイパスされる残差ブロックにのみＲＤＰＣＭが適用される）。いくつかの例では、現在のブロックをイントラ予測することから生成された残差ブロックにＲＤＰＣＭが適用される場合、ＲＤＰＣＭの順序（たとえば、方向）に基づいて残差ブロックに一定の走査順序が使用される。
【０００６】
[0006]本開示で説明する１つまたは複数の技法は、この概念をインター予測ブロックおよびイントラブロックコピー（イントラＢＣ）予測ブロックに拡張する。たとえば、１つまたは複数の技法は、ＲＤＰＣＭが適用される場合、インター予測またはイントラＢＣ予測から生成された残差ブロックにおいて使用するための走査順序を決定し、その結果、決定された走査順序は、イントラ予測を使用して残差ブロックが生成される場合、および同じ順序（水平方向または垂直方向）を有するＲＤＰＣＭが適用される場合に使用されるものと同じ走査順序である。このように、これらの技法は、イントラ予測およびインター予測またはイントラＢＣ予測においてＲＤＰＣＭに使用される走査順序を調和させる。
【０００７】
[0007]一例では、本開示は、ビデオデータを復号する方法について説明し、本方法は、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差データを含む第１の残差ブロックに残差差分パルスコード変調（ＤＰＣＭ）が適用される方向を示す情報を復号することと、方向を示す情報に基づいて第１の残差ブロックに関する走査順序を決定することと、ここにおいて、決定された走査順序は、第２の残差ブロックが現在のブロックをイントラ予測することから生成される場合、および復号情報に示される方向と同じ方向を用いて第２の残差ブロックが残差ＤＰＣＭを適用される場合に第２の残差ブロックにおいて使用されるものと同じ走査順序となることが必要である、決定された走査順序に基づいて第１の残差ブロックの残差データをエントロピー復号することと、復号残差データに基づいて現在のブロックを再構成することとを備える。
【０００８】
[0008]一例では、本開示は、ビデオデータを符号化する方法について説明し、本方法は、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差データを含む第１の残差ブロックに残差差分パルスコード変調（ＤＰＣＭ）が適用されるべき方向を決定することと、残差ＤＰＣＭが適用される決定方向に基づいて第１の残差ブロックに関する走査順序を決定することと、ここにおいて、決定された走査順序は、第２の残差ブロックが現在のブロックをイントラ予測することから生成される場合、および第１の残差ブロックに残差ＤＰＣＭが適用される決定方向と同じ方向を用いて第２の残差ブロックが残差ＤＰＣＭを適用される場合に第２の残差ブロックにおいて使用されるものと同じ走査順序となることが必要である、決定された走査順序に基づいて第１の残差ブロックの残差データをエントロピー符号化することと、残差ＤＰＣＭが適用される決定方向を示す情報を符号化することと、符号化残差データと残差ＤＰＣＭが適用される決定方向を示す情報とを出力することとを備える。
【０００９】
[0009]一例では、本開示は、ビデオデータを復号するためのデバイスについて説明し、本デバイスは、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差データを含む第１の残差ブロックを記憶するように構成されたビデオデータメモリと、ビデオデコーダとを備え、ビデオデコーダが、第１の残差ブロックに残差差分パルスコード変調（ＤＰＣＭ）が適用される方向を示す情報を復号することと、方向を示す情報に基づいて第１の残差ブロックに関する走査順序を決定することと、ここにおいて、決定された走査順序は、第２の残差ブロックが現在のブロックをイントラ予測することから生成される場合、および復号情報に示される方向と同じ方向を用いて第２の残差ブロックが残差ＤＰＣＭを適用される場合に第２の残差ブロックにおいて使用されるものと同じ走査順序となることが必要である、決定された走査順序に基づいて第１の残差ブロックの残差データをエントロピー復号することと、復号残差データに基づいて現在のブロックを再構成することとを行うように構成される。
【００１０】
[0010]一例では、本開示は、ビデオデータを符号化するためのデバイスについて説明し、本デバイスは、現在のブロックに関する予測ブロックを記憶するように構成されたビデオデータメモリと、ビデオエンコーダとを備え、ビデオエンコーダは、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差データを含む第１の残差ブロックに残差差分パルスコード変調（ＤＰＣＭ）が適用されるべき方向を決定することと、残差ＤＰＣＭが適用される決定方向に基づいて第１の残差ブロックに関する走査順序を決定することと、ここにおいて、決定された走査順序は、第２の残差ブロックが現在のブロックをイントラ予測することから生成される場合、および第１の残差ブロックに残差ＤＰＣＭが適用される決定方向と同じ方向を用いて第２の残差ブロックが残差ＤＰＣＭを適用される場合に第２の残差ブロックにおいて使用されるものと同じ走査順序となることが必要である、決定された走査順序に基づいて第１の残差ブロックの残差データをエントロピー符号化することと、残差ＤＰＣＭが適用される決定方向を示す情報を符号化することと、符号化残差データと残差ＤＰＣＭが適用される決定方向を示す情報とを出力することとを行うように構成される。
【００１１】
[0011]一例では、本開示は、ビデオデータを復号するためのデバイスについて説明し、本デバイスは、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差データを含む第１の残差ブロックに残差差分パルスコード変調（ＤＰＣＭ）が適用される方向を示す情報を復号するための手段と、ここにおいて、方向を示す情報は垂直残差ＤＰＣＭまたは水平残差ＤＰＣＭのうちの１つを示す情報を備える、方向を示す情報に基づいて第１の残差ブロックに関する走査順序を決定するための手段とを備えており、ここにおいて、第１の残差ブロックに関する走査順序を決定するための手段は、情報が水平残差ＤＰＣＭを示す場合、および第１の残差ブロックのサイズが８×８以下である場合に垂直走査を決定するための手段と、情報が垂直残差ＤＰＣＭを示す場合、および第１の残差ブロックのサイズが８×８以下である場合に水平走査を決定するための手段とを備える。本デバイスは、決定された走査順序に基づいて第１の残差ブロックの残差データをエントロピー復号するための手段と、復号残差データに基づいて現在のブロックを再構成するための手段とをさらに備える。
【００１２】
[0012]一例では、本開示は、記憶された命令を有するコンピュータ可読記憶媒体について説明し、これらの命令は、実行されるとき、ビデオデータを符号化するためのデバイスのためのビデオエンコーダに、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差データを含む第１の残差ブロックに残差差分パルスコード変調（ＤＰＣＭ）が適用されるべき方向を決定することと、ここにおいて、決定方向は垂直残差ＤＰＣＭまたは水平残差ＤＰＣＭのうちの１つを備える、残差ＤＰＣＭが適用される決定方向に基づいて第１の残差ブロックに関する走査順序を決定することと、ここにおいて、第１の残差ブロックの走査順序を決定するために、これらの命令は、ビデオエンコーダに、決定方向が水平残差ＤＰＣＭである場合、および第１の残差ブロックのサイズが８×８以下である場合に垂直走査を決定させ、または決定方向が垂直残差ＤＰＣＭである場合、および第１の残差ブロックのサイズが８×８以下である場合に水平走査を決定させる、決定された走査順序に基づいて第１の残差ブロックの残差データをエントロピー符号化することと、残差ＤＰＣＭが適用される決定方向を示す情報を符号化することと、符号化残差データと残差ＤＰＣＭが適用される決定方向を示す情報とを出力することとを行わせる。
【００１３】
[0013]１つまたは複数の例の詳細は、添付の図面および以下の説明において述べられる。他の特徴、目的、および利点は、その説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１４】
【図１】[0014]本開示の技法を利用し得る、例示的なビデオコーディングシステムを示すブロック図。
【図２】[0015]本開示の技法を実装し得る、例示的なビデオエンコーダを示すブロック図。
【図３】[0016]本開示の技法を実装し得る、例示的なビデオデコーダを示すブロック図。
【図４Ａ】[0017]概垂直モードのための残差ＤＰＣＭ方向を示す図。
【図４Ｂ】[0018]概水平モードのための残差ＤＰＣＭ方向を示す図。
【図５】[0019]本開示による、ビデオデータを符号化する例示的な技法を示すフローチャート。
【図６】[0020]本開示による、ビデオデータを復号する例示的な技法を示すフローチャート。
【発明を実施するための形態】
【００１５】
[0021]ビデオコーディングでは、ビデオコーダ（たとえば、ビデオエンコーダまたはビデオデコーダ）は、予測ブロックを形成する。ビデオエンコーダは、予測ブロックと現在のブロック（たとえば、予測されつつあるブロック）との間の残差と呼ばれる差分を決定する。残差値は、残差ブロックを形成する。ビデオデコーダは、残差ブロックを受信し、現在のブロックを再構成するために予測ブロックに残差ブロックの残差値を加算する。インター予測では、予測ブロックは、現在のブロックと異なるピクチャ内にあるか、または異なるピクチャのサンプルに基づいており、動きベクトルによって識別される。イントラ予測では、予測ブロックは、現在のブロックと同じピクチャ内のサンプルから形成されており、イントラ予測モードによって形成される。イントラブロックコピー（イントラＢＣ）予測では、予測ブロックは、現在のブロックと同じピクチャ内にあり、ブロックベクトルによって識別される。
【００１６】
[0022]出力される必要がある残差ブロックのデータ量を低減させるために、ビデオエンコーダは、残差ＤＰＣＭまたはＲＤＰＣＭと呼ばれる、残差ブロックに関する差分パルス符号変調（ＤＰＣＭ）を利用し得る。残差ＤＰＣＭでは、ビデオエンコーダは、前の行または列の残差値に基づいて残差ブロックの行または列の残差値を予測する。一例として、ビデオエンコーダは、行０の再構成された残差値から行１の残差値を減算する（たとえば、行０の第１の残差値から行１の第１の残差値を減算する、行０の第２の残差値から行１の第２の残差値を減算する、など）。ビデオエンコーダは、行０では残差値を信号伝送するが、行１では差分値を信号伝送し、行２では、行１の再構成された値との差分値を信号伝送する、など。ビデオエンコーダは、列ベースの残差ＤＰＣＭにおいて同様の技法を実行し得る。本開示で説明するように、減算は、減算結果に等しい値を決定することを指し、減算するか、または負の値を加算することによって実行され得る。
【００１７】
[0023]いくつかの例では、連続する行または列の残差値間の差分を符号化することは、実際の残差値を符号化することよりも少ないビットをもたらし得る。このように、残差ＤＰＣＭは、ビデオエンコーダが信号伝送する必要があるデータ量の低減につながり、それによって、帯域幅効率を上昇させ得る。
【００１８】
[0024]ビデオデコーダは、受信した値を復号する。たとえば、ビデオデコーダは、行０の残差値を復号し、行１の差分値を復号する。ビデオデコーダは、行１の残差値を決定するために行０の残差値をこれらの差分値と加算する。ビデオデコーダは、行２の差分値（たとえば、行１の残差値と行２の残差値との間の差分）も復号する。ビデオデコーダは、行２の残差値を決定するために行１の決定された残差値を行２の差分値と加算する、など。ビデオデコーダは、列ベースの残差ＤＰＣＭにおいて同様のステップを実施し得る。
【００１９】
[0025]いくつかの例では、ビデオエンコーダは、いくつかの他のコーディングツールとともにのみ残差ＤＰＣＭを利用し得る。たとえば、ビデオエンコーダは、残差ブロックまたは残差ブロックの量子化バージョンを生成するために、それぞれ、可逆（バイパスとも呼ばれる）コーディングまたは変換スキップコーディングを利用し得る。いくつかの例では、ビデオエンコーダは、残差ブロックが変換バイパス符号化または変換スキップ符号化される場合にのみ、残差ＤＰＣＭを利用し得る。残差ブロックに変換が適用される場合、残差ＤＰＣＭは、ビデオエンコーダにとって利用可能でない場合がある。
【００２０】
[0026]また、ビデオエンコーダは、様々な角度（たとえば、９０度、１８０度、または２７０度）だけ残差ブロックまたは量子化残差ブロックを回転させ得る。その上、ビデオエンコーダは、様々な順序（たとえば、対角線方向、水平方向、または垂直方向）で残差ブロックまたは量子化残差ブロックの係数を走査し得る。
【００２１】
[0027]いくつかの例では、ビデオエンコーダは、イントラ予測に使用される走査順序を、インター予測またはイントラＢＣ予測に使用される走査順序と調和させるように構成され得る。たとえば、現在のブロックをイントラ予測することから生成された残差ブロックにＲＤＰＣＭが適用される場合、ビデオエンコーダは、ＲＤＰＣＭが適用された残差ブロックを走査するために特定の走査順序を使用するように構成され得る。本開示で説明する技法では、ビデオエンコーダは、残差ブロックにＲＤＰＣＭが適用されるとき、現在のブロックをインター予測するか、または現在のブロックをイントラＢＣ予測することから生成された残差ブロックを走査するために、イントラ予測の場合に使用されるものと同じ走査順序を使用することを必要とするように構成され得る。
【００２２】
[0028]ビデオデコーダは、同様に構成され得る。たとえば、ビデオデコーダは、利用されるビデオエンコーダと同じ走査順序を使用し得る。たとえば、現在のブロックをイントラ予測することから生成された残差ブロックにＲＤＰＣＭが適用される場合、ビデオデコーダは、ＲＤＰＣＭが適用された残差ブロックを走査するために、使用されるビデオエンコーダと同じ走査順序を使用するように構成され得る。本開示で説明する技法では、ビデオエンコーダと同様に、ビデオデコーダは、残差ブロックにＲＤＰＣＭが適用されるとき、現在のブロックをインター予測するか、または現在のブロックをイントラＢＣ予測することから生成された残差ブロックを走査するために、イントラ予測の場合に使用されるものと同じ走査順序を使用することを必要とするように構成され得る。
【００２３】
[0029]このように、走査順序を選択するプロセスは、簡略化され得る。たとえば、ビデオエンコーダは、イントラ予測ブロックおよびインター予測ブロックまたはイントラＢＣ予測ブロックにＲＤＰＣＭが適用される場合の、残差ブロックの走査順序を決定するための異なる基準を使用するのではなく、イントラ予測ブロックおよびインター予測ブロックまたはイントラＢＣ予測ブロックにＲＤＰＣＭが適用される場合の、残差ブロックの走査順序を決定するための同じ基準を使用し得る。同様に、ビデオデコーダは、同じ基準を使用し得る。上述のように、いくつかの例では、適用されるＲＤＰＣＭに関して、残差ブロックは、変換バイパスコード化または変換スキップコード化される必要がある場合がある。
【００２４】
[0030]走査順序選択のそのような簡略化は、ビデオ符号化効率およびビデオ復号効率を上昇させ得る。たとえば、ビデオデコーダは、予測がイントラ予測、イントラブロックコピー予測、またはインター予測を使用して生成されたかとは無関係に、ＲＤＰＣＭ方向（たとえば、順序）に基づいてＲＤＰＣＭが適用された残差ブロックの走査順序を選択するように構成され得る。このことは、挙動の分岐を制限するか、または低減させる場合がある。たとえば、ビデオデコーダが、ＲＤＰＣＭが適用されるイントラ予測およびインター予測またはイントラＢＣ予測の走査順序を選択するための様々な方法で構成される場合、ビデオデコーダは、適切な走査順序を選択するために、ＲＤＰＣＭが適用される現在のブロックがイントラ予測またはインター予測もしくはイントラＢＣ予測されるかどうかを決定する計算サイクルを浪費する場合がある。
【００２５】
[0031]図１は、本開示の技法を利用し得る例示的なビデオコーディングシステム１０を示すブロック図である。本明細書で説明されるように、「ビデオコーダ」という用語は、総称的にビデオエンコーダとビデオデコーダの両方を指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化またはビデオ復号を総称的に指し得る。
【００２６】
[0032]図１に示されるように、ビデオコーディングシステム１０は、ソースデバイス１２と宛先デバイス１４とを含む。ソースデバイス１２は、符号化ビデオデータを生成する。したがって、ソースデバイス１２は、ビデオ符号化デバイスまたはビデオ符号化装置と呼ばれ得る。宛先デバイス１４は、ソースデバイス１２によって生成された符号化ビデオデータを復号することができる。したがって、宛先デバイス１４は、ビデオ復号デバイスまたはビデオ復号装置と呼ばれ得る。ソースデバイス１２および宛先デバイス１４は、ビデオコーディングデバイスまたはビデオコーディング装置の例であり得る。
【００２７】
[0033]ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック（たとえば、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、車内コンピュータなどを含む、広範囲のデバイスを備え得る。
【００２８】
[0034]宛先デバイス１４は、チャネル１６を介してソースデバイス１２から符号化ビデオデータを受信し得る。チャネル１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することが可能な１つまたは複数の媒体またはデバイスを備え得る。一例では、チャネル１６は、ソースデバイス１２が符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にする１つまたは複数の通信媒体を備えることができる。この例では、ソースデバイス１２は、ワイヤレス通信プロトコルなどの通信規格に従って、符号化ビデオデータを変調することができ、変調されたビデオデータを宛先デバイス１４に送信することができる。１つまたは複数の通信媒体は、高周波（ＲＦ）スペクトルまたは１つもしくは複数の物理伝送線路などの、ワイヤレスおよび／または有線の通信媒体を含み得る。１つまたは複数の通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク（たとえば、インターネット）などの、パケットベースネットワークの一部を形成し得る。チャネル１６は、ソースデバイス１２から宛先デバイス１４への通信を容易にするルータ、スイッチ、基地局、または他の機器などの、様々なタイプのデバイスを含み得る。
【００２９】
[0035]別の例では、チャネル１６は、ソースデバイス１２によって生成された符号化されたビデオデータを記憶する記憶媒体を含み得る。この例では、宛先デバイス１４は、（たとえば、ディスクアクセスまたはカードアクセスを介して）記憶媒体にアクセスし得る。記憶媒体は、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、または符号化ビデオデータを記憶するための他の適切なデジタル記憶媒体などの、様々なローカルにアクセスされるデータ記憶媒体を含み得る。
【００３０】
[0036]さらなる例では、チャネル１６は、ソースデバイス１２によって生成された符号化ビデオデータを記憶する、ファイルサーバまたは別の中間ストレージデバイスを含み得る。この例では、宛先デバイス１４は、（たとえば、ストリーミングまたはダウンロードを介して）ファイルサーバまたは他の中間ストレージデバイスに記憶された符号化ビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、符号化ビデオデータを宛先デバイス１４に送信することとが可能なタイプのサーバであり得る。例示的なファイルサーバとしては、（たとえば、ウェブサイト用の）ウェブサーバ、ファイル転送プロトコル（ＦＴＰ）サーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、およびローカルディスクドライブがある。
【００３１】
[0037]宛先デバイス１４は、インターネット接続などの標準的なデータ接続を介して符号化ビデオデータにアクセスし得る。例示的なタイプのデータ接続は、ファイルサーバに記憶されている符号化ビデオデータにアクセスするのに適した、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、有線接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せを含み得る。ファイルサーバからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。
【００３２】
[0038]本開示の技法は、ワイヤレスの用途または設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、（たとえば、インターネットを介した）ストリーミングビデオ送信、データ記憶媒体に記憶するためのビデオデータの符号化、データ記憶媒体に記憶されたビデオデータの復号、または他の用途などの様々なマルチメディア用途をサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオ電話などの用途をサポートするために、単方向または双方向のビデオ送信をサポートするように構成され得る。
【００３３】
[0039]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。いくつかの例では、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含み得る。ビデオソース１８は、ビデオキャプチャデバイス（たとえば、ビデオカメラ）、以前にキャプチャされたビデオデータを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、および／もしくはビデオデータを生成するためのコンピュータグラフィックスシステム、またはビデオデータのそのようなソースの組合せを含み得る。
【００３４】
[0040]ビデオエンコーダ２０は、ビデオソース１８からのビデオデータを符号化することができる。いくつかの例では、ソースデバイス１２は、出力インターフェース２２を介して宛先デバイス１４に符号化ビデオデータを直接送信する。他の例では、符号化ビデオデータはまた、復号および／または再生のための宛先デバイス１４による後のアクセスのために、記憶媒体またはファイルサーバに記憶され得る。
【００３５】
[0041]図１の例では、宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。いくつかの例では、入力インターフェース２８は、受信機および／またはモデムを含む。入力インターフェース２８は、チャネル１６を介して符号化ビデオデータを受信し得る。ディスプレイデバイス３２は、宛先デバイス１４と一体化され得るか、またはその外部にあり得る。概して、ディスプレイデバイス３２は、復号ビデオデータを表示する。ディスプレイデバイス３２は、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなどの、様々なディスプレイデバイスを備え得る。
【００３６】
[0042]いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、高効率ビデオコーディング（ＨＥＶＣ）規格などのビデオ圧縮規格、またはＨＥＶＣ範囲拡張などのその拡張に従って動作する。「ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  １０」または「ＷＤ１０」と呼ばれるＨＥＶＣ規格のドラフトは、Ｂｒｏｓｓら、「Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ（ＨＥＶＣ）ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  １０（ＦＤＩＳ＆Ｃｏｎｓｅｎｔに対して）」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１のビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）、第１２回会合：ジュネーブ、スイス、２０１３年１月１４〜２３日に記載されており、この文書は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１２＿Ｇｅｎｅｖａ／ｗｇ１１／ＪＣＴＶＣ−Ｌ１００３−ｖ２０．ｚｉｐから入手可能であり、その内容全体は参照により本明細書に組み込まれる。しかしながら、本開示の技法は、いかなる特定のコーディング規格またはコーディング技法にも限定されない。
【００３７】
[0043]図１は例にすぎず、本開示の技法は、ビデオ符号化デバイスとビデオ復号デバイスとの間の任意のデータ通信を必ずしも含まないビデオコーディング設定（たとえば、ビデオ符号化またはビデオ復号）に適用され得る。他の例では、データが、ローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどが行われる。ビデオ符号化デバイスはデータを符号化し、メモリに記憶することができ、および／または、ビデオ復号デバイスはメモリからデータを取り出し、復号することができる。多くの例では、ビデオ符号化およびビデオ復号は、互いに通信しないが、メモリにデータを符号化し、および／またはメモリからデータを取り出して復号するだけである、デバイスによって実行される。
【００３８】
[0044]ビデオエンコーダ２０およびビデオデコーダ３０は、各々１つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ハードウェア、またはそれらの任意の組合せなどの、様々な適切な回路のいずれかとして実装され得る。本技法がソフトウェアに部分的に実装される場合、デバイスは、適切な非一時的コンピュータ可読記憶媒体にソフトウェア用の命令を記憶することができ、本開示の技法を実行するために１つまたは複数のプロセッサを使用してハードウェア内でそれらの命令を実行することができる。（ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組合せなどを含む）上記のいずれもが、１つまたは複数のプロセッサであると見なされ得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダに含まれる場合があり、両者のいずれかがそれぞれのデバイス中の複合エンコーダ／デコーダ（ＣＯＤＥＣ）の一部として組み込まれる場合がある。
【００３９】
[0045]本開示は一般に、特定の情報を「シグナリングする」ビデオエンコーダ２０に言及し得る。「シグナリング」という用語は一般に、圧縮されたビデオデータを復号するために使用されるシンタックス要素および／または他のデータの通信を指し得る。そのような通信は、リアルタイムまたはほぼリアルタイムで発生し得る。代替的に、そのような通信は、符号化時に符号化されたビットストリーム中でシンタックス要素をコンピュータ可読記憶媒体に記憶する際に発生し得るなど、ある長さの時間にわたって発生することがあり、次いで、ビデオ復号デバイスが、これらのシンタックス要素を、この媒体に記憶された後の任意の時間に取り出し得る。
【００４０】
[0046]上記で簡単に述べられたように、ビデオエンコーダ２０は、ビデオデータを符号化する。ビデオデータは、１つまたは複数のピクチャを備え得る。ピクチャの各々は、ビデオの一部を形成する静止画像である。ビデオエンコーダ２０がビデオデータを符号化するとき、ビデオエンコーダ２０は、ビットストリームを生成し得る。ビットストリームは、ビデオデータのコード化表現を形成する、ビットのシーケンスを含み得る。ビットストリームは、コード化ピクチャと、関連のデータとを含み得る。コード化ピクチャは、ピクチャのコード化表現である。関連のデータは、ビデオパラメータセット（ＶＰＳ）と、シーケンスパラメータセット（ＳＰＳ）と、ピクチャパラメータセット（ＰＰＳ）と、他のシンタックス構造とを含み得る。ＳＰＳは、０個以上のピクチャのシーケンスに適用可能なパラメータを含み得る。ＰＰＳは、０個以上のピクチャに適用可能なパラメータを含み得る。
【００４１】
[0047]ピクチャは、ＳL、ＳCb、およびＳCrと示される３つのサンプルアレイを含み得る。ＳLは、ルーマサンプルの２次元アレイ（すなわち、ブロック）である。ルーマサンプルは、本明細書では「Ｙ」サンプルと呼ばれることもある。ＳCbは、Ｃｂクロミナンスサンプルの２次元アレイである。ＳCrは、Ｃｒクロミナンスサンプルの２次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれることもある。Ｃｂクロミナンスサンプルは、本明細書では「Ｕサンプル」と呼ばれることがある。Ｃｒクロミナンスサンプルは、本明細書では「Ｖサンプル」と呼ばれることがある。
【００４２】
[0048]いくつかの例において、ビデオエンコーダ２０は、ピクチャのクロマアレイ（すなわち、ＳCbおよびＳCr）をダウンサンプリングすることができる。たとえば、ビデオエンコーダ２０は、ＹＵＶ４：２：０ビデオフォーマット、ＹＵＶ４：２：２ビデオフォーマット、または４：４：４ビデオフォーマットを使用し得る。ＹＵＶ４：２：０ビデオフォーマットにおいて、ビデオエンコーダ２０は、クロマアレイの高さおよび幅がルーマアレイの２分の１になるようにクロマアレイをダウンサンプリングし得る。ＹＵＶ４：２：２ビデオフォーマットにおいて、ビデオエンコーダ２０は、クロマアレイの幅がルーマアレイの２分の１になり、かつクロマアレイの高さがルーマアレイと同じになるようにクロマアレイをダウンサンプリングし得る。ＹＵＶ４：４：４ビデオフォーマットにおいて、ビデオエンコーダ２０は、クロマアレイをダウンサンプリングしない。
【００４３】
[0049]ピクチャの符号化表現を生成するために、ビデオエンコーダ２０は、コーディングツリーユニット（ＣＴＵ）のセットを生成し得る。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロック、クロマサンプルの２つの対応するコーディングツリーブロック、およびコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造であり得る。コーディングツリーブロックは、サンプルのＮ×Ｎのブロックであり得る。ＣＴＵは、「ツリーブロック」または「最大コーディングユニット」（ＬＣＵ）とも呼ばれることもある。ＨＥＶＣのＣＴＵは、Ｈ．２６４／ＡＶＣなどの他の規格のマクロブロックに広い意味で類似し得る。しかしながら、ＣＴＵは、必ずしも特定のサイズに限定されるとは限らず、１つまたは複数のコーディングユニット（ＣＵ）を含み得る。
【００４４】
[0050]ピクチャを符号化することの一部として、ビデオエンコーダ２０は、ピクチャの各スライスの符号化表現（すなわち、コード化スライス）を生成することができる。コード化スライスを生成するために、ビデオエンコーダ２０は、一連のＣＴＵを符号化することができる。本開示は、ＣＴＵの符号化表現をコード化ＣＴＵと呼ぶことがある。いくつかの例では、スライスの各々は、整数個のコード化ＣＴＵを含む。
【００４５】
[0051]コード化ＣＴＵを生成するために、ビデオエンコーダ２０は、ＣＴＵのコーディングツリーブロックを１つまたは複数のコーディングブロック、したがって名称「コーディングツリーユニット」に分割するのに、これらのコーディングツリーブロックに対して４分木区分を再帰的に実行し得る。コーディングブロックは、サンプルのＮ×Ｎのブロックである。いくつかの例では、ＣＵは、ルーマサンプルアレイと、ＣｂサンプルアレイおよびＣｒサンプルアレイと、コーディングブロックのサンプルをコーディングするのに使用されるシンタックス構造とを有するピクチャの、ルーマサンプルの１つのコーディングブロックおよびクロマサンプルの２つの対応するコーディングブロックであり得る。ビデオエンコーダ２０は、ＣＵのコーディングブロックを１つまたは複数の予測ブロックに区分することができる。予測ブロックは、同じ予測が適用されるサンプルの矩形（すなわち、正方形または非正方形）ブロックであり得る。ＣＵの予測ユニット（ＰＵ）は、ルーマサンプルの予測ブロック、ピクチャのクロマサンプルの２つの対応する予測ブロック、および予測ブロックサンプルを予測するのに使用されるシンタックス構造であり得る。ビデオエンコーダ２０は、ＣＵの各ＰＵのルーマ予測ブロック、Ｃｂ予測ブロック、およびＣｒ予測ブロックのために、予測ルーマブロックと、予測Ｃｂブロックと、予測Ｃｒブロックとを生成することができる。
【００４６】
[0052]ビデオエンコーダ２０は、ＰＵのための予測ブロックを生成（たとえば、形成または識別）するために、イントラ予測、インター予測、またはイントラブロックコピー（イントラＢＣ）予測を使用し得る。ビデオエンコーダ２０がイントラ予測を使用する場合、ビデオエンコーダ２０は、ＰＵと関連付けられたピクチャの復号サンプルに基づいてＰＵの予測ブロックを形成することができる。
【００４７】
[0053]ビデオエンコーダ２０がインター予測を使用する場合、ビデオエンコーダ２０は、ＰＵと関連付けられたピクチャ以外の１つまたは複数のピクチャの復号サンプルに基づいてＰＵの予測ブロックを識別することができる。ビデオエンコーダ２０は、ＰＵの予測ブロックを生成するために単予測または双予測を使用することができる。ビデオエンコーダ２０が、ＰＵのための予測ブロックを生成するために単予測を使用するとき、ＰＵは、予測ブロックを参照する、単一の動きベクトル（ＭＶ）を有し得る。ビデオエンコーダ２０が、ＰＵのための予測ブロックを生成するために双予測を使用するとき、ＰＵは、２つのＭＶ（各々が異なる予測ブロックを参照する）を有し得る。
【００４８】
[0054]ビデオエンコーダ２０がＰＵの予測ブロックを識別するためにイントラＢＣ予測を使用する場合、ビデオエンコーダ２０は、ＰＵと関連付けられたピクチャの復号サンプルに基づいてＰＵの予測ブロックを識別することができる。イントラ予測は、ＰＵと関連付けられたピクチャ（すなわち、ＰＵを含むピクチャ）の復号サンプルに基づいてＰＵの予測ブロックを形成することができる。しかしながら、イントラ予測とは異なり、予測ブロックは、ブロックベクトルと呼ばれるベクトルによって識別されるが、イントラ予測における予測ブロックは、イントラ予測モードに基づいて形成される。したがって、イントラＢＣ予測は、そのための予測ブロックがＰＵと同じピクチャのサンプル内にあるか、それらのサンプルに基づいているという点でイントラ予測と同様であるが、イントラＢＣ予測は予測ブロックを識別するためにブロックベクトルに依拠し、イントラ予測は予測ブロックを形成するためにイントラ予測モードに基づいているという点で異なる。また、イントラＢＣ予測は、そのための予測ブロックがベクトル（たとえば、インター予測のための動きベクトルおよびイントラＢＣ予測のためのブロックベクトル）によって参照される点でインター予測と同様であるが、予測ブロックがイントラＢＣ予測では同じピクチャ内にあるか、または同じピクチャのサンプルに基づいており、インター予測では異なるピクチャ内にあるという点で異なる。
【００４９】
[0055]ビデオエンコーダ２０がＣＵの１つまたは複数のＰＵのための予測ブロック（たとえば、ルーマブロック、Ｃｂブロック、およびＣｒブロック）を識別した後、ビデオエンコーダ２０は、ＣＵのための１つまたは複数の残差ブロックを生成することができる。残差ブロック中の各サンプルは、ＣＵの予測ブロックのうちの１つの中のサンプルと、ＣＵの元のコーディングブロックのうちの１つの中の対応するサンプルとの間の差分を示し得る。たとえば、ビデオエンコーダ２０は、ＣＵのためのルーマ残差ブロックを生成することができる。ＣＵのルーマ残差ブロック中の各サンプルは、ＣＵの予測ルーマブロックのうちの１つの中のルーマサンプルとＣＵの元のルーマコーディングブロック中の対応するサンプルとの間の差分を示す。さらに、ビデオエンコーダ２０は、ＣＵのためのＣｂ残差ブロックを生成することができる。ＣＵのＣｂ残差ブロック中の各サンプルは、ＣＵの予測Ｃｂブロックのうちの１つの中のＣｂサンプルと、ＣＵの元のＣｂコーディングブロック中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ２０は、ＣＵのためのＣｒ残差ブロックを生成することもできる。ＣＵのＣｒ残差ブロック中の各サンプルは、ＣＵの予測Ｃｒブロックのうちの１つの中のＣｒサンプルと、ＣＵの元のＣｒコーディングブロック中の対応するサンプルとの間の差分を示し得る。
【００５０】
[0056]さらに、ビデオエンコーダ２０は、ＣＵの残差ブロック（たとえば、ルーマ残差ブロック、Ｃｂ残差ブロック、およびＣｒ残差ブロック）を１つまたは複数の変換ブロック（たとえば、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロック）に分解するために、４分木区分を使用し得る。変換ブロックは、同じ変換が適用されるサンプルの矩形ブロックであり得る。ＣＵの変換ユニット（ＴＵ）は、ルーマサンプルの変換ブロック、クロマサンプルの２つの対応する変換ブロック、および変換ブロックサンプルを変換するのに使用されるシンタックス構造であり得る。したがって、ＣＵの各ＴＵは、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックと関連付けられ得る。ＴＵと関連付けられたルーマ変換ブロックは、ＣＵのルーマ残差ブロックのサブブロックであり得る。Ｃｂ変換ブロックは、ＣＵのＣｂ残差ブロックのサブブロックであり得る。Ｃｒ変換ブロックは、ＣＵのＣｒ残差ブロックのサブブロックであり得る。
【００５１】
[0057]全部ではないが、一部の例では、ビデオエンコーダ２０は、ＴＵの変換ブロック（たとえば、ルーマ変換ブロック）に１つまたは複数の変換を適用することができる。この変換ザは、これらの値をピクセル領域から変換領域に転換する。ビデオエンコーダ２０は、一例として、ＴＵのためのルーマ係数ブロックを生成するために変換ブロックに変換を適用することができる。係数ブロックは、変換係数の２次元アレイであり得る。変換係数は、スカラー量であり得る。全部ではないが、一部の例では、ビデオエンコーダ２０は、ＴＵのためのＣｂ係数ブロックを生成するために、ＴＵのＣｂ変換ブロックに１つまたは複数の変換を適用することができる。全部ではないが、一部の例では、ビデオエンコーダ２０は、ＴＵのためのＣｒ係数ブロックを生成するために、ＴＵのＣｒ変換ブロックに１つまたは複数の変換を適用することができる。
【００５２】
[0058]全部ではないが、一部の例では、ビデオエンコーダ２０は、係数ブロック（たとえば、ルーマ係数ブロック、Ｃｂ係数ブロック、またはＣｒ係数ブロック）を生成した後、係数ブロックを量子化し得る。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減させるために変換係数が量子化され、さらなる圧縮を実現するプロセスを指す。
【００５３】
[0059]ビデオエンコーダ２０が係数ブロックを量子化した後、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素をエントロピー符号化することができる。たとえば、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）を実行することができる。エントロピー符号化では、ビデオエンコーダ２０は、特定の走査順序（たとえば、垂直走査、水平走査、または対角線走査）に従って量子化変換係数を走査する。ビデオエンコーダ２０は、ビットストリーム中でエントロピー符号化シンタックス要素を出力し得る。
【００５４】
[0060]残差ブロックを変換および量子化することは、情報の喪失をもたらす（たとえば、逆量子化および逆変換されたブロックは、元の残差ブロックとは異なる）。したがって、残差ブロックが変換および量子化されるビデオコーディングの例は、不可逆コーディングと呼ばれる。いくつかの例では、ビデオエンコーダ２０は、残差ブロックの変換をスキップすることができるが、残差ブロックを量子化する。ビデオコーディングのそのような例は、変換スキップコーディングと呼ばれる。変換スキップコーディングは、量子化が情報の喪失の原因であるので、不可逆コーディングの１つの変形形態であり得る。混同を避けるために、変換と量子化の両方を含むビデオコーディング方法を指すのに本説明では不可逆コーディングが使用され、変換はスキップされるが量子化は依然として実行されるビデオコーディング方法を指すのに本説明では変換スキップコーディングが使用される。
【００５５】
[0061]ビデオエンコーダ２０は、すべての場合において、変換スキップコーディングまたは不可逆コーディングを実行する必要はない。いくつかの例では、ビデオエンコーダ２０は、可逆コーディングを実行し得る。可逆コーディング（ｔｒａｎｓｑｕａｎｔバイパスと呼ばれることがある）では、ビデオエンコーダ２０は、残差ブロックを変換せず、残差ブロックを量子化しない。この例では、ビデオデコーダ３０によって再構成された残差ブロックは、ビデオエンコーダ２０によって生成された残差ブロックと同一であるが、不可逆コーディングおよび変換スキップコーディングでは、ビデオデコーダ３０によって再構成された残差ブロックは、ビデオエンコーダ２０によって生成された残差ブロックとはわずかに異なる場合がある。
【００５６】
[0062]言い換えれば、変換が適用されるとき、この変換は、残差ブロックの残差データの残差値をピクセル領域から変換領域に変換する。いくつかの例では、変換スキップまたは変換バイパスでは、残差データは、残差値をピクセル領域から変換領域に変換する変換が残差値に適用されることなく予測ブロックと現在のブロックとの間の差分からの残差値を含む。
【００５７】
[0063]ビデオデコーダ３０は、ビデオエンコーダ２０によって生成されたビットストリームを受信し得る。加えて、ビデオデコーダ３０は、ビットストリームからシンタックス要素を復号するためにビットストリームを構文解析し得る。ビデオデコーダ３０は、ビットストリームから復号されたシンタックス要素に少なくとも部分的に基づいてビデオデータのピクチャを再構築することができる。ビデオデータを再構築するためのプロセスは、概して、ビデオエンコーダ２０によって実行されるプロセスの逆であり得る。
【００５８】
[0064]すなわち、ビデオデコーダ３０は、不可逆コーディングのための量子化変換係数を決定するためにビットストリーム中のシンタックス要素をエントロピー復号することができ、ビデオエンコーダ２０が量子化残差ブロックを構成するために利用したものと同じ走査順序を利用することができる。不可逆コーディングでは、ビデオデコーダ３０は、次いで、変換係数を決定するために量子化変換係数を逆量子化することができる。さらに、不可逆コーディングでは、ビデオデコーダ３０は、残差ブロックの係数を決定するために変換係数に逆変換を適用することができる。
【００５９】
[0065]しかしながら、変換スキップコーディングでは、ビデオデコーダ３０は、量子化係数を決定するためにビットストリーム中のシンタックス要素をエントロピー復号し、ビデオエンコーダ２０が量子化残差ブロックを構成するために利用したものと同じ走査順序を利用し、次いで、残差ブロックの係数を決定するために量子化係数を逆量子化することができる。符号化プロセスにおいて変換がスキップされたので、逆変換は必要とされない。可逆コーディング（たとえば、変換バイパスまたは単純にバイパス）では、ビデオデコーダ３０は、ビットストリーム中のシンタックス要素をエントロピー復号することができ、ビデオエンコーダ２０が残差ブロックの係数を直接決定するために使用したものと同じ走査順序を利用することができる。符号化プロセスにおいて変換と量子化の両方がスキップされたので、逆量子化も逆変換も必要とされない。
【００６０】
[0066]ビデオデコーダ３０は、現在のブロックと同じピクチャ（たとえば、イントラ予測またはイントラＢＣ予測に関する）または異なるピクチャ（たとえば、インター予測に関する）内の予測ブロックを決定する。ビデオデコーダ３０は、現在のブロックのピクセル値を再構成するために（たとえば、現在のブロックを復号するために）予測ブロック内のピクセル値と残差ブロック内の対応する残差値とを使用する。
【００６１】
[0067]たとえば、ビデオデコーダ３０は、現在のＣＵのＰＵのための予測サンプルブロック（すなわち、予測ブロック）を決定するために、ＰＵのＭＶまたはブロックベクトルを使用することができる。加えて、ビデオエンコーダ２０が量子化を実行した場合、ビデオデコーダ３０は、現在のＣＵに関連付けられた残差データを逆量子化（たとえば、ビデオエンコーダ２０によって実行された量子化の逆）することができる。同様に、ビデオエンコーダ２０が変換を実行した場合、ビデオデコーダ３０は、現在のＣＵのＴＵに関連付けられた変換ブロックを再構成するために変換係数ブロックに関して逆変換（たとえば、ビデオエンコーダ２０によって実行された変換の逆）を実行することができる。ビデオデコーダ３０は、現在のＣＵのＰＵの予測サンプルブロックのサンプルを現在のＣＵのＴＵの変換ブロックの対応するサンプルに加算することによって、現在のＣＵのコーディングブロックを再構築することができる。ピクチャの各ＣＵのコーディングブロックを再構築することによって、ビデオデコーダ３０はピクチャを再構築することができる。
【００６２】
[0068]本開示で説明する技法、すなわち、信号伝送される必要があるビデオデータの量を低減させるための別の方法では、ビデオエンコーダ２０は、残差ブロックに残差差分パルスコード変調（残差ＤＰＣＭまたはＲＤＰＣＭ）を適用し得る。いくつかの例では、ビデオエンコーダ２０は、変換がスキップまたはバイパスされる場合にのみ、残差ＤＰＣＭを適用し得る。ビデオデコーダ３０は、残差ブロックを再構成するためにＲＤＰＣＭの逆を適用し得る。
【００６３】
[0069]ビデオエンコーダ２０は、様々な順序（たとえば、水平方向順序または垂直方向順序）でＲＤＰＣＭを適用する場合があるか、またはＲＤＰＣＭを適用しない場合があり、３つのモード、すなわち、水平ＲＤＰＣＭ、垂直ＲＤＰＣＭ、および非ＲＤＰＣＭをもたらす。いくつかの例では、ビデオエンコーダ２０は、ビデオデコーダ３０が残差ブロックを復号するために使用するＲＤＰＣＭが適用される順序を示す（たとえば、モードを示す）シンタックス要素を信号伝送することができる。
【００６４】
[0070]残差ＤＰＣＭの背後の基本的な考えは、垂直モードに関して現在の値を予測するために上側の行の値を使用し、垂直モードに関して現在の値を予測するために左側の列の値を使用することである。たとえば、サイズＭ（行）×Ｎ（列）ブロックがあると仮定されたい。この例では、ｒij，０≦ｉ≦（Ｍ−１），０≦ｊ≦（Ｎ−１）をＨＥＶＣ規格において指定されたイントラ予測もしくは動き補償インター予測、またはイントラＢＣ予測を実行した後の予測残差ブロックとする。これは、図４Ａおよび図４Ｂに示される。
【００６５】
[0071]図４Ａは、概垂直モードのための残差ＤＰＣＭ方向を示す。図４Ｂは、概水平モードのための残差ＤＰＣＭ方向を示す。図４Ａまたは図４Ｂの残差ブロックは、任意の成分（たとえば、ルーマ、クロマ、Ｒ、Ｇ、Ｂなど）を表し得る。
【００６６】
[0072]残差ＤＰＣＭにおいて、残差サンプルに予測が適用され、その結果、要素
【００６７】
【数１】
0006396439.tif 000002
【００６８】
を有する修正されたＭ×Ｎアレイ
【００６９】
【数２】
0006396439.tif 000003
【００７０】
が垂直残差ＤＰＣＭに関しては次のように得られ、
【００７１】
【数３】
0006396439.tif 000004
【００７２】
または、水平ＲＤＰＣＭに関しては次のように得られる。
【００７３】
【数４】
0006396439.tif 000005
【００７４】
[0073]ビデオエンコーダ２０は、ビデオデコーダ３０が受信する
【００７５】
【数５】
0006396439.tif 000006
【００７６】
の修正残差サンプルを元の残差サンプルＲの代わりに信号伝送する。言い換えれば、残差ブロックがサンプルＲを含む場合、ビデオエンコーダ２０は、ＲＤＰＣＭが適用された残差ブロックを表す、修正残差サンプル
【００７７】
【数６】
0006396439.tif 000007
【００７８】
を決定することができる。変換および量子化が実行される場合（たとえば、不可逆の場合）、または変換がスキップされ量子化が実行される場合（たとえば、変換スキップの場合）、または変換と量子化の両方がスキップされる場合（たとえば、可逆の場合）、ビデオエンコーダ２０は、ＲＤＰＣＭが適用された残差ブロックに関してそのような関数を実行し、ビデオデコーダ３０が元の残差ブロックの残差サンプル（たとえば、ＲＤＰＣＭ、変換、および／または量子化の前の残差ブロックの残差サンプル）を再構成する（たとえば、復号する）得られたビットストリームを信号伝送する。
【００７９】
[0074]ビデオデコーダ３０の側では、元の残差サンプルは、修正残差サンプルが構文解析された後、次のように、垂直ＲＤＰＣＭに関しては、
【００８０】
【数７】
0006396439.tif 000008
【００８１】
と再構成され、
または、水平ＲＤＰＣＭに関しては、
【００８２】
【数８】
0006396439.tif 000009
【００８３】
と再構成され得る。
【００８４】
[0075]いくつかの例では、可逆の場合は、すべてのＴＵサイズにおいて変換がスキップされるが、不可逆の場合は、４×４ブロックにおいてのみ変換がスキップされ得る。また、いくつかの例では、イントラブロックでは、水平走査または垂直走査が使用され得るが、これらの走査は、４×４ブロックサイズおよび８×８ブロックサイズに制限され得る。本開示で説明する技法は、（内容全体が参照により本明細書に組み込まれる、Ｓｏｌｅ  Ｒｏｊａｌｓらによる、「ＡｈＧ８：Ｒｅｓｉｄｕｅ  ｒｏｔａｔｉｏｎ  ａｎｄ  ｓｉｇｎｉｆｉｃａｎｃｅ  ｍａｐ  ｃｏｎｔｅｘｔ  ｆｏｒ  ｓｃｒｅｅｎ  ｃｏｎｔｅｎｔ  ｃｏｄｉｎｇ」という名称の文書ＪＣＴＶＣ−Ｍ０３３３、米国仮出願第６１／６７０，５６９号、第６１／８１５，１４８号、第６１／８３３，７８１号、および第６１，８９０，１０２号、ならびに米国出願第１３／９３９，０３７号および第１４／２５９，０４６号と同様に）ＲＤＰＣＭが走査および回転に基づいて適用され得る残差ブロックの調和またはこれらの残差ブロックに対する様々な制限を対象とする。
【００８５】
[0076]以下は、残差ＤＰＣＭに関する何らかの追加のコンテキストを提供する。ビデオコーディング共同研究部会（ＪＣＴＶＣ）の、インチョン、韓国における２０１３年４月の会合では、残差差分パルスコード変調（残差ＤＰＣＭまたはＲＤＰＣＭ）または同等のサンプル適応型角度イントラ予測（ＳＡＰ）もしくはＳＡＰ−ＨＶは、高効率ビデオコーディング（ＨＥＶＣ）規格の範囲拡張に関するドラフト仕様に採用された。残差ＤＰＣＭは、Ｌｅｅらによる「ＲＣＥ２：Ｔｅｓｔ  １−Ｒｅｓｉｄｕａｌ  ＤＰＣＭ  ｆｏｒ  ＨＥＶＣ  ｌｏｓｓｌｅｓｓ  ｃｏｄｉｎｇ」という名称の文書ＪＣＴＶＣ−Ｍ００７９に記載されている。ＳＡＰ−ＨＶは、Ｚｈｏｕらによる「ＲＣＥ２：Ｅｘｐｅｒｉｍｅｎｔａｌ  ｒｅｓｕｌｔｓ  ｏｎ  Ｔｅｓｔ  ３  ａｎｄ  Ｔｅｓｔ  ４」という名称の文書ＪＣＴＶＣ−Ｍ００５６，Ｔｅｓｔ  ４に記載されている。文書ＪＣＴＶＣ−Ｍ００７９およびＪＣＴＶＣ−Ｍ００５６は、それらの全体が参照により本明細書に組み込まれる。
【００８６】
[0077]残差ＤＰＣＭは、可逆コーディングに関するＩＮＴＲＡ垂直モードおよびＩＮＴＲＡ水平モード（たとえば、ビデオコーディングに関するイントラ予測）の予測残差にＤＰＣＭを適用する。内容全体が参照により本明細書に組み込まれる、米国仮出願第６１／８０９，８７０号、第６１／８１０，２１８号、および第６１／８４３，１４４号ならびに米国出願第１４／２２３，８７４号）は、変換がスキップされるとき、残差ＤＰＣＭがＩＮＴＲＡ垂直モードおよびＩＮＴＲＡ水平モードのコーディングにどのように拡張され得るか（たとえば、変換スキップコーディング）について説明する。
【００８７】
[0078]内容全体が参照により本明細書に組み込まれる、Ｎａｃｃａｒｉらによる「Ｉｎｔｅｒ−Ｐｒｅｄｉｃｔｉｏｎ  Ｒｅｓｉｄｕａｌ  ＤＰＣＭ」という名称の文書ＪＣＴＶＣ−Ｍ０４４２において、残差ＤＰＣＭの可逆コーディングモードに関するＩＮＴＥＲブロックへの拡張（たとえば、ビデオコーディングに関するインター予測）が提案される。残差ＤＰＣＭは、動き補償予測残差に適用される。いくつかの例では、残差ＤＰＣＭは、イントラＢＣ予測から生成された予測残差に適用される場合もある。
【００８８】
[0079]本開示は、以下の例に関する技法について説明する。以下の例は例示の目的で提供されているにすぎず、限定的と見なされるべきでないことを理解されたい。その上、これらの例は、必ずしも相互排他的であると見なされるべきでなく、これらの例に記載された技法のうちの１つまたは複数は、互いに組み合わせられ得る。言い換えれば、本開示で説明する例示的な技法の組合せまたは並べ替えは、可能である場合があり、本開示によって企図される。
【００８９】
[0080]上述のように、ビデオエンコーダ２０は、イントラ予測、インター予測、またはイントラＢＣ予測から生成された残差ブロックにＲＤＰＣＭを適用することができ、ＲＤＰＣＭが適用される場合、ビデオエンコーダ２０は、ＲＤＰＣＭの特定の順序（たとえば、水平ＲＤＰＣＭまたは垂直ＲＤＰＣＭなどのＲＤＰＣＭ方向）を適用する。いくつかの例では、ビデオエンコーダ２０は、残差ブロックが変換スキップコード化または変換バイパスコード化される場合にのみ、ＲＤＰＣＭを適用する。言い換えれば、残差ブロックに変換が適用される（たとえば、残差ブロックが変換スキップコード化も変換バイパスコード化もされない）場合、ビデオエンコーダ２０は、ＲＤＰＣＭを適用しない場合がある。
【００９０】
[0081]残差ブロックは、ＴＵに対応し得る。いくつかの例では、ビデオエンコーダ２０は、残差ブロックを複数のＴＵに分割し得る。混同を避けるために、本開示は、一般に、係数が（たとえば、ビデオエンコーダ２０によって）エントロピー符号化されるか、または（たとえば、ビデオデコーダ３０によって）エントロピー復号されるべきブロックを指すのに「残差ブロック」という用語を使用する。たとえば、ビデオエンコーダ２０が単一のＴＵを生成するために現在のブロックと予測ブロックとの間の差分から生じたブロックをさらには分割しない場合、残差ブロックは、このＴＵに対応する。ビデオエンコーダ２０が複数のＴＵを生成するために現在のブロックと予測ブロックとの間の差分から生じたブロックを分割する場合、残差ブロックは、複数のＴＵのうちの１つに対応する。
【００９１】
[0082]いくつかの例では、インター予測ブロックまたはイントラＢＣ予測ブロックでは、ビデオエンコーダ２０は、ＲＤＰＣＭがオンであるか、またはオフであるか（たとえば、ＲＤＰＣＭが適用されたか否か）とＴＵレベルにおけるＲＤＰＣＭ（適用される場合）の方向とを信号伝送する。これらの例では、予測ブロックと元のブロックとの間の差分から生じたブロックは、ＴＵに分割され、次いで、ビデオエンコーダ２０は、ＲＤＰＣＭが適用されたか否かを示す情報（たとえば、フラグなどのシンタックス要素）と各ＴＵに関するＲＤＰＣＭ（適用される場合）の方向の情報とを信号伝送する。
【００９２】
[0083]いくつかの例では、ビデオエンコーダ２０は、ＴＵレベルにおいてではなく、ＲＤＰＣＭが適用されたか否かを示す情報と、ＣＵレベルまたはＰＵレベルにおける方向（たとえば、ＲＤＰＣＭのモード／方向情報）とを信号伝送し得る。これらの例では、同じモード／方向は、すべてのＴＵに適用可能である。
【００９３】
[0084]ビデオデコーダ３０は、走査順序に基づいて係数値に走査を適用し、本開示は、走査順序を決定するための技法について説明する。たとえば、残差ブロック（たとえば、ＴＵ）に関して、ビデオエンコーダ２０およびビデオデコーダ３０は、残差ブロックがイントラ予測される場合にビデオエンコーダ２０およびビデオデコーダ３０が適用するＲＤＰＣＭがインター予測ブロックまたはイントラＢＣ予測ブロックに適用される場合に同じ走査順序を適用し得る。走査順序の例としては、対角線方向、水平方向、および垂直方向がある。いくつかの例では、水平走査および垂直走査は、残差ブロックのサイズがしきい値サイズ以下である（たとえば、ＴＵのブロックサイズが８×８以下である）場合にのみ、適用可能である場合がある。しかしながら、いくつかの例では、走査は、すべてのサイズを含む、他のサイズにも適用可能である場合がある。これらの例では、しきい値サイズは、８×８以外の何らかの他のサイズ、または考えられる最大のブロックサイズであり得る。
【００９４】
[0085]いくつかの例では、イントラ予測ブロックに関して、ＲＤＰＣＭは、いくつかのイントラ予測モードにおいてのみ、すべての残差ブロックサイズ（たとえば、ＴＵサイズ）に適用され得る。たとえば、水平イントラ予測モードでは、ビデオエンコーダ２０は、水平ＲＤＰＣＭを適用することができ、垂直イントラ予測モードでは、ビデオエンコーダ２０は、垂直ＲＤＰＣＭを適用することができる。イントラ予測ブロックにＲＤＰＣＭが適用される場合、ビデオエンコーダ２０は、ＲＤＰＣＭの順序（たとえば、ＲＤＰＣＭの方向）を信号伝送する必要がない場合がある。むしろ、ビデオエンコーダ２０は、イントラ予測モードを示す情報を信号伝送することができ、ビデオデコーダ３０は、この例では、ＲＤＰＣＭの方向がイントラ予測モードと同じであることを決定することができる。
【００９５】
[0086]このように、イントラ予測から生成されたＴＵ（たとえば、残差ブロック）に関して、ＲＤＰＣＭの適用は、ビデオエンコーダ２０がＲＤＰＣＭの方向を示す情報を信号伝送しないことがあるという点で暗黙的である場合があり、その理由は、ビデオデコーダ３０がＲＤＰＣＭの方向を示す情報を受信することなくＲＤＰＣＭの方向を決定することができるからである。たとえば、イントラ予測から生成された残差ブロックに関して、ビデオエンコーダ２０は、いくつかのイントラ予測モード（たとえば、水平モードまたは垂直モード）にＲＤＰＣＭを常に適用することができ、イントラ予測モードに基づいてＲＤＰＣＭの順序（たとえば、方向）（たとえば、水平イントラ予測モードの場合には水平ＲＤＰＣＭ、および垂直イントラ予測モードの場合には垂直ＲＤＰＣＭ）を決定することができる。これらの例では、ビデオエンコーダ２０は、イントラ予測モードを示す情報を信号伝送することができ、その情報から、ビデオデコーダ３０は、ＲＤＰＣＭが適用されたかどうかとＲＤＰＣＭの方向とを示す明示的な情報を受信することなく、ＲＤＰＣＭが適用されたかどうかとＲＤＰＣＭの方向とを決定することができる。
【００９６】
[0087]しかしながら、インター予測またはイントラＢＣ予測では、ＲＤＰＣＭは、常に適用されるとは限らない可能性がある。たとえば、ビデオエンコーダ２０は、現在のブロックをインター予測またはイントラＢＣ予測することから生成された残差ブロックにＲＤＰＣＭが適用されるべきかどうかを決定し、そうすることを決定した場合、ＲＤＰＣＭを適用することができる。したがって、イントラ予測とは異なり、インター予測ブロックまたはイントラＢＣ予測ブロックでは、ビデオエンコーダ２０は、ビットストリーム中への出力（たとえば、信号伝送）のために、現在のブロックのインター予測またはイントラＢＣ予測から生成された残差ブロックにＲＤＰＣＭが適用されたかどうかを示す情報を生成することができる。また、ＲＤＰＣＭが適用された場合、ビデオエンコーダ２０は、ビットストリーム中への出力（たとえば、信号伝送）のために、ＲＤＰＣＭが適用される順序（たとえば、方向）を示す情報を生成することができる。ビデオデコーダ３０は、ＲＤＰＣＭが適用されたかどうかを示す情報を受信および復号し、そうである場合、ＲＤＰＣＭが適用される順序（たとえば、方向）を受信および復号することができる。
【００９７】
[0088]残差ブロックに関して、ＲＤＰＣＭが適用されたか否かに関係なく、ビデオエンコーダ２０は、特定の走査順序（たとえば、垂直走査、水平走査、または対角線走査）を使用して残差ブロックの係数を走査する。一例として、８×８以上のサイズのＴＵでは、ビデオエンコーダ２０は、ＴＵを複数の４×４サブブロックに分割することができる。ビデオエンコーダ２０は、走査順序によって規定された方法で各サブブロックの係数を走査することができる。同様に、ビデオデコーダ３０は、ＴＵの係数を再構成するためにビデオエンコーダ２０によって使用されたものと同じ走査順序に基づいてＴＵの４×４サブブロックの係数を再コンパイルすることができる。
【００９８】
[0089]ビデオエンコーダ２０は、係数を走査するために使用される走査順序を決定し、走査順序を示す情報をビデオデコーダ３０に信号伝送することが可能である場合があり、その結果、ビデオデコーダ３０は、ビデオエンコーダ２０が使用したものと同じ走査順序を使用する。しかしながら、いくつかの例では、信号伝送される必要があるデータの量を低減させるために、ビデオエンコーダ２０およびビデオデコーダ３０は各々、残差ブロックに関する走査順序を決定するのに同じプロセスおよび基準を使用することができる。このように、ビデオエンコーダ２０は、信号伝送する必要がなく、ビデオデコーダ３０は、走査順序を示す情報を受信する必要がない。
【００９９】
[0090]たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、イントラ予測を使用して生成された残差ブロックに関する適用されたＲＤＰＣＭの順序（たとえば、適用されたＲＤＰＣＭの方向）に基づいて、イントラ予測を使用して生成された残差ブロック（たとえば、ＴＵ）に関する走査順序を決定するように構成され得る。いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０がイントラ予測から生成された残差ブロックに関する走査順序を決定するために使用する技法は、残差ブロックにおいて変換が実行されない場合（たとえば、変換スキップの場合または可逆（変換バイパス）の場合）に使用可能である場合がある。しかしながら、本開示で説明する技法は、変換スキップまたは可逆コーディングのいずれかにおいて変換がスキップされる場合にのみ限定されるものと見なされるべきでない。
【０１００】
[0091]一例として、ＨＥＶＣ範囲拡張に関するドラフト仕様の１つでは、イントラ予測された現在のブロックから生成された残差ブロックに垂直ＲＤＰＣＭが適用されたとき、ビデオエンコーダ２０およびビデオデコーダ３０は、走査順序が残差ブロックの４×４サブブロックにわたって、およびしきい値サイズ（たとえば、８×８）までの残差ブロックサイズにおける残差ブロックの各４×４サブブロック内で使用される水平走査になることを決定することができる。同様に、イントラ予測された現在のブロックから生成された残差ブロックに水平ＲＤＰＣＭが適用されたとき、ビデオエンコーダ２０およびビデオデコーダ３０は、走査順序が残差ブロックの４×４サブブロックにわたって、およびしきい値サイズ（たとえば、８×８）までの残差ブロックサイズにおける残差ブロックの各４×４サブブロック内で使用される垂直走査になることを決定することができる。残差ブロックサイズが８×８よりも大きい場合、ビデオエンコーダ２０およびビデオデコーダ３０は、対角線走査を利用するように構成され得る。
【０１０１】
[0092]上記の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、走査順序がＲＤＰＣＭの順序に直交する走査順序（たとえば、垂直ＲＤＰＣＭでは水平走査および水平ＲＤＰＣＭでは垂直走査）になることを決定するように構成され得る。ただし、本開示で説明する技法は、そのように限定されない。
【０１０２】
[0093]たとえば、内容全体が参照により本明細書に組み込まれる、Ｃｏｈｅｎらによる「Ｍｏｄｉｆｉｅｄ  ｃｏｅｆｆｉｃｉｅｎｔ  ｓｃａｎ  ｏｒｄｅｒ  ｍａｐｐｉｎｇ  ｆｏｒ  ｔｒａｎｓｆｏｒｍ  ｓｋｉｐ  ｍｏｄｅ」という名称の文書ＪＣＴＶＣ−Ｊ０３１３では、変換がスキップまたはバイパスされたとき、水平走査順序と垂直走査順序とを交換することが提案された。この場合、ビデオエンコーダ２０およびビデオデコーダ３０がイントラ予測された現在のブロックに関して生成された残差ブロックに対する水平走査を使用した場合、ビデオエンコーダ２０およびビデオデコーダ３０は、ＪＣＴＶＣ−Ｊ０３１３の技法に基づいて、イントラ予測された現在のブロックに関して生成された残差ブロックに対する垂直走査を使用する。また、ビデオエンコーダ２０およびビデオデコーダ３０がイントラ予測された現在のブロックに関して生成された残差ブロックに対する垂直走査を使用した場合、ビデオエンコーダ２０およびビデオデコーダ３０は、ＪＣＴＶＣ−Ｊ０３１３の技法に基づいて、イントラ予測された現在のブロックに関して生成された残差ブロックに対する水平走査を使用する。
【０１０３】
[0094]本開示で説明する技法では、ビデオエンコーダ２０およびビデオデコーダ３０は、ビデオエンコーダ２０およびビデオデコーダ３０がイントラ予測された現在のブロックに関して生成される、ＲＤＰＣＭが適用された残差ブロックの走査順序を決定するために利用する基準と同じ基準を、インター予測された現在のブロックまたはイントラＢＣ予測された現在のブロックに関して生成される、ＲＤＰＣＭが適用された残差ブロックの走査順序を決定するために利用することができる。このように、本開示で説明する技法は、イントラ予測、インター予測、およびイントラＢＣ予測において残差ブロックの係数を走査するために使用されるべき走査順序を決定するための技法を調和させる。
【０１０４】
[0095]たとえば、本開示で説明する技法は、イントラ予測から生成されたＲＤＰＣＭ適用の残差ブロックの走査順序を決定するために使用される方式を、インター予測またはイントラＢＣ予測から生成されたＲＤＰＣＭ適用の残差ブロックに拡張することができる。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、残差ブロックにＲＤＰＣＭが適用される順序に基づいて、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差ブロックの走査順序を決定することができる。現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差ブロックの例としては、インター予測から生成された残差ブロック、または現在のブロックをイントラＢＣ予測することから生成された残差ブロックがある。
【０１０５】
[0096]本開示で説明する技法では、ビデオエンコーダ２０およびビデオデコーダ３０が現在のブロックをインター予測またはイントラＢＣ予測することから生成された残差ブロックに関して決定する走査順序は、残差ブロックが、現在のブロックをイントラ予測することから生成され、現在のブロックをインター予測またはイントラＢＣ予測することから生成された残差ブロックに適用されたＲＤＰＣＭと同じ順序を用いてＲＤＰＣＭを適用される場合、残差データを含む残差ブロックに関して使用されるものと同じ走査順序である。イントラ予測から生成された残差ブロックの走査順序と同じである、インター予測またはイントラＢＣ予測から生成された残差ブロックの走査順序については、理解を助けるための要件として説明される。しかしながら、ビデオエンコーダ２０およびビデオデコーダ３０は、インター予測またはイントラＢＣ予測から生成された残差ブロックがどのように走査されるべきかを決定するために、イントラ予測から生成された残差ブロックがどのように走査されるかを決定するように求められる必要はない。むしろ、ビデオエンコーダ２０およびビデオデコーダ３０は、イントラ予測から生成された残差ブロックの走査順序を決定するために使用されるものと同じ基準をインター予測またはイントラＢＣ予測から生成された残差ブロックの走査順序を決定するために利用するように構成され得る。
【０１０６】
[0097]たとえば、イントラ予測の例と同様に、インター予測またはイントラＢＣ予測のいくつかの例において、ビデオエンコーダ２０は、変換がスキップまたはバイパスされるＴＵ（たとえば、残差ブロック）にのみＲＤＰＣＭを適用することができる。また、インター予測またはイントラＢＣ予測では、ビデオエンコーダ２０は、残差（たとえば、ＴＵ）にＲＤＰＣＭが適用されたかどうかを示す情報と、そうである場合、ＲＤＰＣＭの方向（たとえば、順序）とを信号伝送することができる。ビデオデコーダ３０は、信号伝送された情報に基づいて、残差ブロックの走査順序を決定することができる。このように、ビデオエンコーダ２０は、走査順序を示す情報を信号伝送する必要がない場合があり、ビデオデコーダ３０は、ＲＤＰＣＭの方向に基づいて走査順序を決定する場合がある。
【０１０７】
[0098]上述のように、残差ブロックの走査順序は、水平走査、垂直走査、および対角線走査のうちの１つであり得る。ビデオエンコーダ２０およびビデオデコーダ３０は、しきい値サイズ（たとえば、８×８）までのＴＵサイズ（たとえば、残差ブロックサイズ）に関する水平走査または垂直走査を利用することができる。ＴＵサイズがしきい値サイズよりも大きい（たとえば、８×８よりも大きい）場合、ビデオエンコーダ２０およびビデオデコーダ３０は、対角線走査を利用することができる。
【０１０８】
[0099]たとえば、いくつかの例では、現在のブロックをイントラ予測することから生成された残差ブロックに水平ＲＤＰＣＭが適用される場合、ビデオエンコーダ２０およびビデオデコーダ３０は、走査順序が垂直走査になることを決定する。これらの例では、インター予測またはイントラＢＣ予測から生成された残差ブロックに水平ＲＤＰＣＭが適用される場合、ビデオエンコーダ２０およびビデオデコーダ３０は、残差ブロックがイントラ予測から生成される場合とまったく同様に、走査順序が、しきい値サイズ（たとえば、８×８）までの残差ブロック（たとえば、ＴＵ）のサイズに関する垂直走査になることを決定する。同様に、いくつかの例では、現在のブロックをイントラ予測することから生成された残差ブロックに垂直ＲＤＰＣＭが適用される場合、ビデオエンコーダ２０およびビデオデコーダ３０は、走査順序が水平走査になることを決定する。これらの例では、インター予測またはイントラＢＣ予測から生成された残差ブロックに垂直ＲＤＰＣＭが適用される場合、ビデオエンコーダ２０およびビデオデコーダ３０は、残差ブロックがイントラ予測から生成される場合とまったく同様に、走査順序が、しきい値サイズ（たとえば、８×８）までの残差ブロック（たとえば、ＴＵ）のサイズに関する水平走査になることを決定する。
【０１０９】
[0100]ＪＣＴＶＣ−Ｊ０３１３に記載された場合などの、いくつかの場合には、現在のブロックをイントラ予測することから生成された残差ブロックに水平ＲＤＰＣＭが適用される場合、ビデオエンコーダ２０およびビデオデコーダ３０は、走査順序が水平走査になることを決定する。これらの例では、インター予測またはイントラＢＣ予測から生成された残差ブロックに水平ＲＤＰＣＭが適用される場合、ビデオエンコーダ２０およびビデオデコーダ３０は、ＪＣＴＶＣ−Ｊ０３１３に記載された技法において残差ブロックがイントラ予測から生成される場合とまったく同様に、走査順序が、しきい値サイズ（たとえば、８×８）までの残差ブロックサイズに関する水平走査になることを決定する。同様に、ＪＣＴＶＣ−Ｊ０３１３に記載された技法において、現在のブロックをイントラ予測することから生成された残差ブロックに垂直ＲＤＰＣＭが適用される場合、ビデオエンコーダ２０およびビデオデコーダ３０は、走査順序が垂直走査になることを決定する。これらの例では、インター予測またはイントラＢＣ予測から生成された残差ブロックに垂直ＲＤＰＣＭが適用される場合、ビデオエンコーダ２０およびビデオデコーダ３０は、残差ブロックがイントラ予測から生成される場合とまったく同様に、走査順序が、しきい値サイズ（たとえば、８×８）までの残差ブロックサイズに関する垂直走査になることを決定する。
【０１１０】
[0101]上述のように、残差ブロックがインター予測またはイントラＢＣ予測から生成される例では、ビデオエンコーダ２０は、ＲＤＰＣＭが適用される順序（たとえば、方向）（たとえば、垂直ＲＤＰＣＭまたは水平ＲＤＰＣＭが適用されるかどうか）を示す情報を符号化する（たとえば、出力および信号伝送のために生成する）ことができる。ビデオデコーダ３０は、ＲＤＰＣＭが適用される順序を示す情報を復号することができ、上述のように走査順序を決定することができる。いくつかの場合には、上記の例は、８×８までの残差ブロックサイズに適用可能であり得る（たとえば、水平走査順序または垂直走査順序は８×８までのブロックサイズに使用可能であり、対角線走査は８×８より大きいサイズに使用可能である場合がある）。
【０１１１】
[0102]上述した例では、ビデオエンコーダ２０およびビデオデコーダ３０は、しきい値サイズ（たとえば、８×８）以下のブロックサイズを有する残差ブロックにのみ水平走査または垂直走査を適用することができる。これらの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定することができる。ビデオエンコーダ２０およびビデオデコーダ３０は、ＲＤＰＣＭの方向（たとえば、水平方向または垂直方向）と、残差ブロックのサイズがしきい値サイズ以下であるかどうかとに基づいて残差ブロックの走査順序を決定することができる。
【０１１２】
[0103]さらに、ＲＤＰＣＭは、残差ブロックがインター予測またはイントラＢＣ予測から生成される際のすべての事例において適用されない場合がある。たとえば、インター予測またはイントラＢＣ予測にＲＤＰＣＭが適用される必要がないことをビデオエンコーダ２０が決定した場合、ビデオエンコーダ２０は、ＲＤＰＣＭが適用されないことを示す情報を信号伝送することができる。ＲＤＰＣＭが適用されない、そのような場合では、ビデオエンコーダ２０およびビデオデコーダ３０は、走査順序が対角線走査になることを決定することができる。この場合でさえ、イントラ予測との調和がある場合がある。たとえば、イントラ予測および変換スキップを用いて生成された残差ブロックにＲＤＰＣＭが適用されない場合、走査は、対角線方向になる場合がある。
【０１１３】
[0104]インター予測またはイントラＢＣ予測から生成された残差ブロックでは、ＲＤＰＣＭが適用される場合、ビデオエンコーダ２０は、ＲＤＰＣＭが適用されたことを示す情報を符号化する。いくつかの例では、ビデオエンコーダ２０は、ＴＵレベルではなく、ＰＵレベルまたはＣＵレベルにおいてそのような情報を符号化することができる。これらの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、走査順序が、ＰＵレベルコーディングの場合にＰＵ境界と交差せず、サイズ制限（たとえば、８×８まで）を満足する、すべてのＴＵに対する垂直走査または水平走査のうちの１つになることを決定することができる。いくつかの例では、ビデオエンコーダ２０は、サイズ制限を信号伝送することができ、ビデオデコーダ３０は、信号伝送からサイズ制限を決定する。言い換えれば、垂直走査または水平走査が使用され得る際の８×８のサイズ制限は、一例にすぎず、ビデオエンコーダ２０によってビデオデコーダ３０に信号伝送されるサイズ、またはビデオエンコーダ２０およびビデオデコーダ３０がプリプログラムされるサイズを含む、他のサイズが可能である。
【０１１４】
[0105]上記の例は、イントラ予測されたブロックの残差にＲＤＰＣＭが適用されたとき、およびインター予測またはイントラＢＣ予測されたブロックの残差にＲＤＰＣＭが適用されるときに走査順序を決定するために同じ技法が使用されるように走査順序を決定するための技法を調和させることについて説明した。ただし、本開示で説明する技法は、そのように限定されない。
【０１１５】
[0106]たとえば、現行のＨＥＶＣ規格では、不可逆コーディングにおいて、量子化（たとえば、変換スキップコーディング）が依然として実行される以外は、ビデオエンコーダ２０は、サイズ４×４のＴＵにのみ変換スキップを適用することができる。いくつかの例では、ビデオエンコーダ２０は、イントラ予測、インター予測、またはイントラＢＣ予測から生成された残差ブロックに対する残差ＤＰＣＭを、不可逆の場合に変換がスキップされ得る残差ブロックにのみ適用する（たとえば、残差ＤＰＣＭの適用を不可逆の場合に変換がスキップされ得るイントラブロックまたはインターブロックに制限する）ように構成され得る。ビデオデコーダ３０が概してビデオエンコーダ２０のプロセスの逆を実行するので、ビデオデコーダ３０は、同様に、イントラ予測、インター予測、またはイントラＢＣ予測から生成された残差ブロックに対する残差ＤＰＣＭを、不可逆の場合に変換がスキップされ得る残差ブロックにのみ適用する（たとえば、残差ＤＰＣＭの適用を不可逆の場合に変換がスキップされ得るイントラブロックまたはインターブロックに制限する）ように構成され得る。
【０１１６】
[0107]不可逆の場合に変換がスキップされ得る残差ブロックにのみＲＤＰＣＭが適用され得るという制限は、可逆の場合のビデオエンコーダ２０またはビデオデコーダ３０による残差ＤＰＣＭの適用を、不可逆の場合に変換がスキップされ得る、これらのブロックサイズに制限することもできる。現在、４×４ブロックに対して変換がスキップされる場合があり、しかしながら、（たとえば、ＨＥＶＣの将来のバージョンにおいて）８×８などの他のブロックサイズに対する変換スキップを行うのが可能である場合がある。
【０１１７】
[0108]少なくとも、米国仮出願第６１／８１５，１４８号または米国出願第１３／９３９，０２７号および第１４／２５９，０４６号では、予測残差の回転の適用を、不可逆コーディングモードにおいて変換がスキップされ得るブロックサイズに制限することが提案された。言い換えれば、ビデオエンコーダ２０およびビデオデコーダ３０は、不可逆コーディングモードにおいて変換がスキップされ得るブロックサイズに対してのみ予測残差を回転させるように構成され得る。いくつかの例では、ビデオエンコーダ２０は、情報を信号伝送することができ、ビデオデコーダ３０は、いくつかの例として、スライスヘッダ、ピクチャパラメータセット（ＰＰＳ）、および／またはシーケンスパラメータセット（ＳＰＳ）内で不可逆コーディングモードにおいて変換がスキップされ得るブロックサイズを示す情報を受信することができる。
【０１１８】
[0109]これら２つの概念を組み合わせることは、不可逆コーディングモードにおいて変換がスキップされ得るブロックサイズに対してのみ残差ＤＰＣＭおよび予測残差の回転が適用され得るという制限をもたらし得る。言い換えれば、いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、不可逆コーディングモードにおいて変換がスキップされる残差ブロックサイズに対してのみＲＤＰＣＭおよび予測残差の回転が適用され得るように構成され得る。
【０１１９】
[0110]このように、いくつかの場合には、変換スキップ、予測残差の回転、および残差ＤＰＣＭに関するサイズ間の調和が存在することがある。ビデオエンコーダ２０は、情報を信号伝送することができ、ビデオデコーダ３０は、変換スキップ、回転、または残差ＤＰＣＭが適用され得るブロックのサイズを示す情報を受信することができる。いくつかの場合には、変換スキップ、予測残差の回転、および残差ＤＰＣＭに関するサイズ間の調和が存在することがある。これらの場合には、変換スキップ、予測残差の回転、および残差ＤＰＣＭのサイズ間の調和のために、ビデオエンコーダ２０は、情報を信号伝送することができ、ビデオデコーダ３０は、変換スキップ、回転、または残差ＤＰＣＭのうちの１つのみのサイズを示す情報を受信することができる。これらの例では、ビデオデコーダ３０は、調和のためにサイズを示す情報がすべて（たとえば、この例では、変換スキップ、回転、および残差ＤＰＣＭ）に適用可能であることを決定することができ、ビデオエンコーダ２０は、変換スキップ、回転、および残差ＤＰＣＭが適用されるのが可能になる際のサイズを別個に信号伝送する必要がない場合がある。
【０１２０】
[0111]上記のように、ビデオエンコーダ２０は、そのような情報を信号伝送することができ、ビデオデコーダ３０は、スライスヘッダ、ＰＰＳ、および／またはＳＰＳにおいてそのような情報を受信することができる。いくつかの例では、ビデオデコーダ３０は、そのような情報を用いて事前構成される場合があり、ビデオエンコーダ２０は、そのような情報を必ずしも信号伝送する必要がない。調和を対象とするそのような技法は、本開示全体にわたって説明する例にも適用可能である場合がある。
【０１２１】
[0112]いくつかの例では、サイズ制限は、残差ＤＰＣＭが適用され得るブロックに課され得る。たとえば、ビデオエンコーダ２０は、いくつかの例として、スライスヘッダ、ピクチャパラメータセット（ＰＰＳ）、および／またはシーケンスパラメータセット（ＳＰＳ）におけるサイズ制限を示す情報を信号伝送することができる。ビデオデコーダ３０は、いくつかの例として、スライスヘッダ、ＰＰＳ、またはＳＰＳからサイズ制限を決定することができる。いくつかの事例では、ビデオエンコーダ２０がサイズ制限を示す情報を信号伝送することが必要でない場合があり、ビデオデコーダ３０は、そのような情報を用いて事前構成され得る。サイズ制限が存在する例では、いくつかの場合には、ビデオエンコーダ２０は、ビデオデコーダ３０による後続の取出しのためにそのような情報を信号伝送する場合があり、いくつかの場合には、ビデオデコーダ３０は、そのような情報を用いて事前構成される場合があり、ビデオエンコーダ２０は、サイズ制限を示す情報を信号伝送する必要がない。
【０１２２】
[0113]方形ブロックでは、残差ＤＰＣＭは、特定のサイズ（たとえば、８×８）までのブロックサイズにのみ適用され得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、特定のサイズまでの残差ブロックのブロックサイズにのみ残差ＤＰＣＭを適用するように構成され得る。この例では、ビデオエンコーダ２０は、８×８であるサイズを示す情報を信号伝送することができ、ビデオデコーダ３０は、８×８よりも大きい残差ブロックに対して、残差ＤＰＣＭが適用されない場合があることを決定することができる。いくつかの例では、ビデオデコーダ３０は、残差ＤＰＣＭが適用され得る残差ブロックサイズを示す情報を用いて事前構成される場合があり、ビデオエンコーダ２０は、そのような情報を信号伝送する必要がない場合がある。
【０１２３】
[0114]このサイズ制限は、可逆モードおよび不可逆モードに対して別個に設定される場合があり、ビデオデコーダ３０による後続の取出しのためにビデオエンコーダ２０によって信号伝送される場合があるか、または、ビデオデコーダ３０は、可逆モードおよび不可逆モードに対するサイズ制限を示す情報を用いて事前構成される場合がある。たとえば、不可逆モードでは、残差ＤＰＣＭに関するサイズ制限は、不可逆コーディングに関して変換がスキップされ得るブロックサイズ以下であり得る（およびいくつかの例では、そうでなければならない）。可逆モードでは、サイズ制限は、最小のＴＵサイズ以上であり得る（およびいくつかの例では、そうでなければならない）。
【０１２４】
[0115]これらの例では、不可逆モードにおいて、ビデオエンコーダ２０およびビデオデコーダ３０は、残差ブロックサイズが不可逆コーディングに関して変換がスキップされ得るブロックサイズよりも大きい場合、残差ＤＰＣＭを適用しない場合がある。また、可逆モードにおいて、ビデオエンコーダ２０およびビデオデコーダ３０は、残差ブロックサイズが最小のＴＵよりも小さい場合、残差ＤＰＣＭを適用しない場合がある。
【０１２５】
[0116]矩形ブロックでは、サイズ制限は、ブロックの幅および高さの最大値、またはブロックの幅および高さの最小値に適用され得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、ブロックの最大幅および／もしくは高さよりも大きいか、またはブロックの幅および高さよりも小さい残差ブロックサイズに対する残差ＤＰＣＭを制限される（たとえば、この残差ＤＰＣＭを避けるように構成される）場合がある。ビデオエンコーダ２０は、そのような情報を信号伝送することができ、ビデオデコーダ３０は、そのような情報を後で取り出すことができる。
【０１２６】
[0117]また、ＲＤＰＣＭのサイズ制限は、イントラ予測およびインター予測されたＣＵ／フレームに対して異なる場合がある。たとえば、イントラの場合には、ビデオエンコーダ２０およびビデオデコーダ３０は、８×８の最大サイズへの制限の悪影響を受けない（たとえば、８×８の最大サイズへの制限は性能における不利益がほとんどない）場合があるが、１６×１６および３２×３２のＲＤＰＣＭが除去されるので、複雑性は低減される。インターの場合には、この制限は、より大きいサイズ（たとえば、１６×１６）に設定される場合があり、その理由は、この場合には、低減による性能の不利益がより大きくなる場合があるからである。
【０１２７】
[0118]いくつかの例では、イントラコード化ブロックにおいて、８×８までのブロックサイズに対して、対角線走査に加えて、水平走査および垂直走査が使用され得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０が現在のブロックをイントラ予測することになっている場合、ビデオエンコーダ２０およびビデオデコーダ３０は、８×８までの残差ブロックサイズに関する残差ブロックの係数に対して水平走査または垂直走査を使用することができる。この例では、変換スキップサイズ、残差ＤＰＣＭが適用される最大のブロックサイズ、および予測残差が１８０度だけ（または９０度もしくは２７０度だけ）回転される最大ブロックサイズは、同じである必要がある場合がある。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０が変換スキップ、ＲＤＰＣＭ、ならびに１８０度、９０度、および／または２７０度だけの回転を適用し得る残差ブロックのブロックサイズ間の調和が存在する場合がある。
【０１２８】
[0119]いくつかの例では、インターブロックにＲＤＰＣＭを適用する（たとえば、インター予測またはイントラＢＣ予測から生成された残差ブロックにＲＤＰＣＭを適用する）場合には、ＲＤＰＣＭ（たとえば、水平ＲＤＰＣＭまたは垂直ＲＤＰＣＭ）の順序（方向）は、ＰＵの形状に依存する場合がある。たとえば、ＰＵが水平矩形形状を有する場合、その矩形形状が垂直方向によりも水平方向に長い場合、ビデオエンコーダ２０およびビデオデコーダ３０は、ＰＵが垂直ＲＤＰＣＭを使用することを決定することができる。ＰＵが垂直矩形形状である場合、その矩形形状が水平方向によりも垂直方向に長い場合、ビデオエンコーダ２０およびビデオデコーダ３０は、ＰＵが水平ＲＤＰＣＭを使用することを決定することができる。
【０１２９】
[0120]方形ＰＵでは、ビデオエンコーダ２０およびビデオデコーダ３０は、ＲＤＰＣＭが使用されないことを決定することができる。しかしながら、いくつかの例では、方形ＰＵは、同時に両方のＲＤＰＣＭを使用することもできる。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、垂直ＲＤＰＣＭを適用し、続いて水平ＲＤＰＣＭを適用することができる。上述の例示的な技法と同様に、ビデオエンコーダ２０およびビデオデコーダ３０が残差ブロックに適用する走査順序は、ＲＤＰＣＭの方向に基づいている場合がある（たとえば、ＪＣＴＶＣ−Ｊ０３１３に記載されているように、垂直ＲＤＰＣＭには水平走査、および水平ＲＤＰＣＭには垂直走査、またはその逆）。
【０１３０】
[0121]図２は、本開示の技法を実装し得る例示的なビデオエンコーダ２０を示すブロック図である。図２は、説明のために提供されるものであり、本開示で広く例示され説明される技法を限定するものと見なされるべきではない。説明の目的で、本開示は、ＨＥＶＣ規格の範囲拡張などの、ＨＥＶＣコーディングのコンテキストにおいてビデオエンコーダ２０について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
【０１３１】
[0122]図２に示すように、ビデオデータメモリ９９は、ビデオピクチャ内で現在のビデオブロックを符号化するために使用されるビデオデータを受信する。ビデオデータメモリ９９は、ビデオエンコーダ２０の（たとえば、ビデオデータを記憶するように構成された）構成要素によって符号化されるべきビデオデータを記憶するか、ビデオピクチャを符号化するために使用されるべきビデオデータを記憶することができる。ビデオデータメモリ９９に記憶されたビデオデータは、たとえば、ビデオソース１８から取得され得る。復号ピクチャバッファ１１６は、（たとえば、イントラ予測コーディングモード、インター予測コーディングモード、またはイントラＢＣ予測コーディングモードとも呼ばれる、イントラコーディングモード、インターコーディングモード、またはイントラＢＣコーディングモードで）ビデオエンコーダ２０によってビデオデータを符号化する際に使用するための、参照ビデオデータを記憶する復号ピクチャバッファ（ＤＰＢ）の一例である。ビデオデータメモリ９９およびＤＰＢ１１６は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ（登録商標））、または他のタイプのメモリデバイスなどの様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ９９およびＤＰＢ１１６は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ９９は、ビデオエンコーダ２０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【０１３２】
[0123]図２の例では、ビデオエンコーダ２０は、予測処理ユニット１００と、残差生成ユニット１０２と、変換処理ユニット１０４と、量子化ユニット１０６と、逆量子化ユニット１０８と、逆変換処理ユニット１１０と、再構成ユニット１１２と、フィルタユニット１１４と、復号ピクチャバッファ１１６と、エントロピー符号化ユニット１１８とを含む。予測処理ユニット１００は、インター予測処理ユニット１２０と、イントラ予測処理ユニット１２６とを含む。インター予測処理ユニット１２０は、動き推定ユニット１２２と、動き補償ユニット１２４とを含む。他の例では、ビデオエンコーダ２０は、より多数の、より少数の、または異なる機能構成要素を含み得る。いくつかの例において、インター予測処理ユニット１２０はまた、イントラＢＣ予測を実行するように構成され得る。この場合、動き推定ユニット１２２および動き補償ユニット１２４は、動きを推定および補償していないが、代わりに、イントラ予測が機能しない場合があるピクチャの小さい変化を推定および補償している場合もある。
【０１３３】
[0124]ビデオエンコーダ２０は、ビデオデータを受信することができる。ビデオエンコーダ２０は、ビデオデータのピクチャのスライス中の各ＣＴＵを符号化することができる。ＣＴＵの各々は、等しいサイズのルーマコーディングツリーブロック（ＣＴＢ）と、ピクチャの対応するクロマＣＴＢとに関連付けられ得る。ＣＴＵを符号化することの一部として、予測処理ユニット１００は、ＣＴＵのＣＴＢを徐々により小さいブロックに分割するために４分木区分を実行することができる。より小さいブロックは、ＣＵのコーディングブロックであり得る。たとえば、予測処理ユニット１００は、ＣＴＵと関連付けられたＣＴＢを４つの等しいサイズのサブブロックに区分し、サブブロックの１つまたは複数を、４つの等しいサイズのサブサブブロックに区分することができ、以下同様である。
【０１３４】
[0125]ビデオエンコーダ２０は、ＣＵの符号化表現（すなわち、コード化ＣＵ）を生成するために、ＣＴＵのＣＵを符号化することができる。ＣＵを符号化することの一部として、予測処理ユニット１００は、ＣＵの１つまたは複数のＰＵの間でＣＵと関連付けられたコーディングブロックを区分することができる。したがって、各ＰＵは、ルーマ予測ブロックと、対応するクロマ予測ブロックとに関連付けられる（すなわち、対応する）場合がある。ビデオエンコーダ２０およびビデオデコーダ３０は、様々なサイズを有するＰＵをサポートし得る。上記で示したように、ＣＵのサイズはＣＵのルーマコーディングブロックのサイズを指すことがあり、ＰＵのサイズはＰＵのルーマ予測ブロックのサイズを指すことがある。特定のＣＵのサイズが２Ｎ×２Ｎと仮定すると、ビデオエンコーダ２０およびビデオデコーダ３０は、イントラ予測の場合は２Ｎ×２ＮまたはＮ×ＮのＰＵサイズをサポートすることができ、インター予測の場合は２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、Ｎ×Ｎ、または同様の対称のＰＵサイズをサポートすることができる。ビデオエンコーダ２０およびビデオデコーダ３０は、インター予測用の２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズ用の非対称区分化をサポートすることもできる。
【０１３５】
[0126]インター予測処理ユニット１２０は、ＣＵの各ＰＵに対してインター予測を実行することによってＰＵの予測データを生成し、イントラＢＣ予測を除いて同様の機能を実行することができる。ＰＵの予測データは、ＰＵの予測サンプルブロック、およびＰＵの動き情報、またはＰＵのブロックベクトルを含み得る。インター予測処理ユニット１２０は、ＰＵがＩスライス中にあるのか、Ｐスライス中にあるのか、Ｂスライス中にあるのかに応じて、ＣＵのＰＵに対して異なる演算を実行し得る。Ｉスライス中では、すべてのＰＵがイントラ予測される。したがって、ＰＵがＩスライス中にある場合、インター予測処理ユニット１２０はＰＵに対してインター予測を実行しない。したがって、Ｉモードで符号化されるブロックでは、予測されるブロックは、同じフレーム内の以前に符号化された隣接ブロックからの空間的予測を使用して形成される。
【０１３６】
[0127]ＰＵがＰスライス中にある場合、動き推定ユニット１２２は、ＰＵのための参照領域について参照ピクチャのリスト（たとえば、「ＲｅｆＰｉｃＬｉｓｔ０」）中の参照ピクチャを探索し得る。ＰＵの参照領域は、ＰＵのサンプルブロックに最も密接に対応するサンプルブロックを含む参照ピクチャ内の領域であり得る。動き推定ユニット１２２は、ＰＵのための参照領域を含む参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０中の位置を示す参照インデックスを生成することができる。加えて、動き推定ユニット１２２は、ＰＵのコーディングブロックと参照領域に関連付けられた参照位置との間の空間変位を示すＭＶを生成することができる。たとえば、ＭＶは、現在の復号されたピクチャ中の座標から参照ピクチャ中の座標までのオフセットを提供する２次元ベクトルであり得る。動き推定ユニット１２２は、ＰＵの動き情報として参照インデックスおよびＭＶを出力することができる。動き補償ユニット１２４は、ＰＵの動きベクトルによって示された参照位置における実際のまたは補間されたサンプルに基づいて、ＰＵの予測サンプルブロックを生成することができる。
【０１３７】
[0128]ＰＵがＢスライス中にある場合、動き推定ユニット１２２は、ＰＵのために単予測または双予測を実行することができる。ＰＵのための単予測を実行するために、動き推定ユニット１２２は、ＰＵのための参照領域についてＲｅｆＰｉｃＬｉｓｔ０または第２の参照ピクチャリスト（「ＲｅｆＰｉｃＬｉｓｔ１」）の参照ピクチャを探索することができる。動き推定ユニット１２２は、ＰＵの動き情報として、参照領域を含む参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１中の位置を示す参照インデックスと、ＰＵのサンプルブロックと参照領域に関連付けられた参照位置との間の空間変位を示すＭＶと、参照ピクチャがＲｅｆＰｉｃＬｉｓｔ０中にあるかＲｅｆＰｉｃＬｉｓｔ１中にあるかを示す１つまたは複数の予測方向インジケータとを出力することができる。動き補償ユニット１２４は、ＰＵの動きベクトルによって示される参照領域における実際のサンプルまたは補間されたサンプルに少なくとも部分的に基づいて、ＰＵの予測サンプルブロックを生成することができる。
【０１３８】
[0129]ＰＵのための双方向インター予測を実行するために、動き推定ユニット１２２は、ＰＵのための参照領域についてＲｅｆＰｉｃＬｉｓｔ０中の参照ピクチャを探索することができ、ＰＵのための別の参照領域についてＲｅｆＰｉｃＬｉｓｔ１中の参照ピクチャを探索することもできる。動き推定ユニット１２２は、参照領域を含む参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１中の位置を示す参照ピクチャインデックスを生成することができる。加えて、動き推定ユニット１２２は、参照領域に関連付けられる参照位置とＰＵのサンプルブロックとの間の空間変位を示すＭＶを生成することができる。ＰＵの動き情報は、ＰＵの参照インデックスとＭＶとを含み得る。動き補償ユニット１２４は、ＰＵの動きベクトルによって示される参照領域における実際のサンプルまたは補間されたサンプルに少なくとも部分的に基づいて、ＰＵの予測サンプルブロックを生成することができる。
【０１３９】
[0130]本開示の１つまたは複数の技法によれば、予測処理ユニット１００内の１つまたは複数のユニットは、ビデオ符号化プロセスの一部として、本明細書で説明する技法のうちの１つまたは複数を実行することができる。ただし、本開示で説明する技法は、そのように限定されない。いくつかの例では、予測処理ユニット１００は、１つまたは複数の他のユニットと組み合わせて、本開示で説明する技法のうちの１つまたは複数を実行することができる。いくつかの例では、プロセッサ（図示せず）は、単独で、またはビデオエンコーダ２０の１つまたは複数のユニットと組み合わせて、本開示で説明する例示的な技法を実装することができる。たとえば、ビデオエンコーダ２０は、１つまたは複数のプロセッサを備えるものと見なされる場合があり、これらの１つまたは複数のプロセッサは、本開示で説明する例示的な技法を実装するように構成され得る。
【０１４０】
[0131]イントラ予測処理ユニット１２６は、ＰＵに対してイントラ予測を実行することによって、ＰＵの予測データを生成することができる。ＰＵの予測データは、ＰＵの予測サンプルブロックと様々なシンタックス要素とを含み得る。イントラ予測処理ユニット１２６は、Ｉスライス、Ｐスライス、およびＢスライス中のＰＵに対してイントラ予測を実行することができる。
【０１４１】
[0132]ＰＵに対してイントラ予測を実行するために、イントラ予測処理ユニット１２６は、ＰＵの予測データの複数のセットを生成するために、複数のイントラ予測モードを使用することができる。いくつかのイントラ予測モードでは、イントラ予測処理ユニット１２６は、そのイントラ予測モードに関連付けられた方向へ、ＰＵのサンプルブロック全体にわたって、隣接するＰＵのサンプルブロックからのサンプルを拡張することができる。隣接するＰＵは、ＰＵ、ＣＵ、およびＣＴＵについて左から右、上から下の符号化順序を仮定すると、ＰＵの上、右上、左上、または左にあり得る。イントラ予測処理ユニット１２６は、様々な数のイントラ予測モード、たとえば３３個の方向のイントラ予測モードを使用することができる。いくつかの例では、イントラ予測モードの数は、ＰＵに関連付けられた領域（たとえば、予測ブロック）のサイズに依存し得る。
【０１４２】
[0133]予測処理ユニット１００は、ＰＵのためにインター予測処理ユニット１２０によって生成された予測データ、またはＰＵのためにイントラ予測処理ユニット１２６によって生成された予測データの中から、ＣＵのＰＵの予測データを選択することができる。いくつかの例では、予測処理ユニット１００は、予測データのセットのレート／歪みの尺度に基づいて、ＣＵのＰＵの予測データを選択する。選択された予測データの予測サンプルブロックは、本明細書では、選択された予測サンプルブロックと呼ばれ得る。
【０１４３】
[0134]残差生成ユニット１０２は、ＣＵの残差ブロックベースのコーディングブロックと選択された予測ＰＵとを生成する（ＣＵのルーマコーディングブロック、Ｃｂコーディングブロック、およびＣｒコーディングブロック、ならびにＣＵのＰＵの選択された予測ルーマブロック、予測Ｃｂブロック、および予測Ｃｒブロックに基づいて、ＣＵのルーマ残差ブロックと、Ｃｂ残差ブロックと、Ｃｒ残差ブロックとを生成する）ことができる。たとえば、残差生成ユニット１０２は、残差ブロック中の各サンプルがＣＵのコーディングブロック中のサンプルとＣＵのＰＵの対応する選択された予測サンプルブロック中の対応するサンプルとの間の差分に等しい値を有するようにＣＵの残差ブロックを生成することができる。
【０１４４】
[0135]変換処理ユニット１０４は、ＣＵの（すなわち、ＣＵに関連付けられた）残差ブロックをＣＵのＴＵに関連付けられた変換ブロックに区分するために４分木区分を実行することができる。したがって、ＴＵは、ルーマ変換ブロックおよび２つのクロマ変換ブロックに対応する（すなわち、関連付けられる）場合がある。ＣＵのＴＵのルーマ変換ブロックおよびクロマ変換ブロックのサイズおよび位置は、ＣＵのＰＵの予測ブロックのサイズおよび位置に基づくことも基づかないこともある。「残差４分木」（ＲＱＴ）として知られる４分木構造は、領域の各々に関連付けられたノードを含み得る。ＣＵのＴＵは、ＲＱＴのリーフノードに対応し得る。
【０１４５】
[0136]変換処理ユニット１０４は、残差ブロック（たとえば、ＴＵ）の残差データの残差値をピクセル領域から変換領域に変換するためにＴＵの変換ブロックに１つまたは複数の変換を適用することによってＣＵの各ＴＵに関する変換係数ブロックを生成することができる。変換処理ユニット１０４は、ＴＵに関連付けられた変換ブロックに様々な変換を適用することができる。たとえば、変換処理ユニット１０４は、離散コサイン変換（ＤＣＴ）、方向変換、または概念的に同様の変換を変換ブロックに適用することができる。いくつかの例において、変換処理ユニット１０４は、変換ブロックに変換を適用しない。そのような例では、変換ブロックは、変換係数ブロックとして扱われ得る。
【０１４６】
[0137]量子化ユニット１０６は、係数ブロック中の変換係数を量子化することができる。量子化プロセスは、変換係数の一部またはすべてに関連付けられたビット深度を低減し得る。たとえば、ｎビット変換係数は量子化の間にｍビットの変換係数に切り捨てられてよく、ただし、ｎはｍよりも大きい。量子化ユニット１０６は、ＣＵに関連付けられた量子化パラメータ（ＱＰ）値に基づいて、ＣＵのＴＵに関連付けられた係数ブロックを量子化することができる。ビデオエンコーダ２０は、ＣＵに関連付けられたＱＰ値を調整することによって、ＣＵに関連付けられた係数ブロックに適用される量子化の程度を調整することができる。量子化は、情報の喪失をもたらすことがあり、したがって、量子化された変換係数は、元の係数よりも低い精度を有することがある。
【０１４７】
[0138]逆量子化ユニット１０８および逆変換処理ユニット１１０は、それぞれ、係数ブロックから残差ブロックを再構成するために、係数ブロックに逆量子化および逆変換を適用することができる。再構成ユニット１１２は、ＴＵに関連付けられた再構成された変換ブロックを生成するために、予測処理ユニット１００によって生成された１つまたは複数の予測サンプルブロックの対応するサンプルに、再構成された残差ブロックを加算することができる。ビデオエンコーダ２０は、このようにＣＵの各ＴＵのための変換ブロックを再構成することによって、ＣＵのコーディングブロックを再構成することができる。
【０１４８】
[0139]フィルタユニット１１４は、ＣＵに関連付けられたコーディングブロック中のアーティファクトのブロッキングを低減させるための１つまたは複数のデブロッキング動作、サンプル適応オフセット（ＳＡＯ）、または適応ループフィルタリング（ＡＬＦ）を含む、様々なフィルタリング動作のうちのいずれかを実行することができる。復号ピクチャバッファ１１６は、フィルタユニット１１４が、再構成されたコーディングブロックに対して１つまたは複数のデブロッキング動作を実行した後、再構成されたコーディングブロックを記憶することができる。インター予測処理ユニット１２０は、他のピクチャのＰＵに対してインター予測を実行するために、再構成されたコーディングブロックを含む参照ピクチャを使用することができる。加えて、イントラ予測処理ユニット１２６は、ＣＵと同じピクチャ中の他のＰＵに対してイントラ予測を実行するために、復号ピクチャバッファ１１６中の再構成されたコーディングブロックを使用することができる。
【０１４９】
[0140]エントロピー符号化ユニット１１８は、ビデオエンコーダ２０の他の機能構成要素からデータを受け取ることができる。たとえば、エントロピー符号化ユニット１１８は、量子化ユニット１０６から係数ブロックを受け取ることができ、予測処理ユニット１００からシンタックス要素を受け取ることができる。エントロピー符号化ユニット１１８は、エントロピー符号化データを生成するために、このデータに対して１つまたは複数のエントロピー符号化演算を実行することができる。
【０１５０】
[0141]いくつかの例では、ＲＤＰＣＭが適用されるとき、エントロピー符号化ユニット１１８は、ＲＤＰＣＭを実行することができる。たとえば、予測処理ユニット１００は、エントロピー符号化ユニット１１８に、ＲＤＰＣＭを適用するように命令し、残差ブロックに対して適用されるべきＲＤＰＣＭの順序（たとえば、水平ＲＤＰＣＭまたは垂直ＲＤＰＣＭ）を規定するように命令することができる。いくつかの例では、図２に示されていないビデオエンコーダ２０の構成要素は、ＲＤＰＣＭを実行することができる。上述のように、ＲＤＰＣＭは、残差生成ユニット１０２、変換処理ユニット１０４、または量子化ユニット１０６の出力であり得る、残差ブロックに適用される。
【０１５１】
[0142]いくつかの例では、エントロピー符号化ユニット１１８は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）演算、ＣＡＢＡＣ演算、ｖａｒｉａｂｌｅ−ｔｏ−ｖａｒｉａｂｌｅ（Ｖ２Ｖ）ｌｅｎｇｔｈコーディング演算、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）演算、確率間隔区分エントロピー（ＰＩＰＥ）コーディング演算、指数ゴロム符号化演算、または別のタイプのエントロピー符号化演算をデータに対して実行することができる。ビデオエンコーダ２０は、エントロピー符号化ユニット１１８によって生成されたエントロピー符号化されたデータを含むビットストリームを出力することができる。たとえば、ビットストリームは、ＣＵのＲＱＴを表すデータを含み得る。
【０１５２】
[0143]要素２０１は、変換スキップを実施するためのスイッチ（または概念スイッチ）を表す場合がある。制御信号２０２は変換スキップモードが実施されるべきかどうかを決定する予測処理ユニット１００からの信号を表すことができ、要素２０３は、逆変換処理および逆量子化処理をバイパスする復号ループを表すことができる。いくつかの例では、可逆コーディングは、変換および量子化をなくす。他の例では、可逆コーディングは、変換を実行して量子化処理だけをなくす。さらに他の例では、可逆コーディングは、変換および量子化を使用して実施され得るが、量子化パラメータは、あらゆる量子化データ喪失を避けるように選択され得る。これらおよび他の例は、本開示の範囲内にある。
【０１５３】
[0144]要素２０４および２０５は、変換スキップモードを実施するために使用され得るスイッチ（または概念スイッチ）を表す。変換スキップモードでは、残差データは変換処理ユニット１０４によって変換されないが、量子化ユニット１０６によって量子化される。したがって、要素２０４の破線は、２つの可能なデータパスを表す。１つのデータでは、残差データは量子化ユニット１０６によって量子化され、他のデータパスでは、残差データは量子化ユニット１０６によって量子化されない。同様に、ビデオエンコーダ２０の復号ループにおいて、残差データは逆量子化ユニット１０８によって逆量子化されるが、逆変換処理ユニット１１０によって変換されない。したがって、要素２０５の破線は、残差データが逆量子化ユニット１０８によって逆量子化されるが、逆変換処理ユニット１１０によって変換されない、代替的なデータパスを表す。
【０１５４】
[0145]本開示で説明する技法によれば、ビデオデータメモリ９９は、現在のブロックの予測ブロックを記憶するように構成され得る。ビデオエンコーダ２０は、第１の残差ブロックに残差差分パルスコード変調（ＲＤＰＣＭ）が適用される場合、第１の残差ブロックにＲＤＰＣＭが適用されるべき方向を決定するように構成され得る。この第１の残差ブロックは、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差データを含む。上述のように、残差ブロックは、エントロピー符号化されるべきブロックを指し、ＴＵに対応し得る。たとえば、現在のブロックと予測ブロックとの間の差分は、複数のＴＵにさらに分割されるか、またはこれ以上分割されない（たとえば、単一のＴＵとして保持される）ブロックをもたらす場合がある。残差ブロックは、これ以上分割されない単一のＴＵか、またはさらに分割されるＴＵのうちの１つである。
【０１５５】
[0146]ビデオエンコーダ２０はまた、残差ＤＰＣＭが適用される決定方向に基づいて第１の残差ブロックの走査順序を決定するように構成され得る。再び、第１の残差ブロックは、現在のブロックのインター予測またはイントラＢＣ予測から生成され、第１の残差ブロックに関して、変換がスキップまたはバイパスされ得る。残差ＤＰＣＭが適用される方向の例としては、垂直残差ＤＰＣＭおよび水平残差ＤＰＣＭがある。第１の残差ブロックに対する残差ＤＰＣＭが垂直残差ＤＰＣＭであることをビデオエンコーダ２０が決定した場合、および第１の残差ブロックのサイズが（しきい値サイズの一例として）８×８以下である場合、ビデオエンコーダ２０は、残差ブロックに対する（たとえば、各４×４サブブロックに対する）水平走査を決定することができる。第１の残差ブロックに対する残差ＤＰＣＭが水平残差ＤＰＣＭであることをビデオエンコーダ２０が決定した場合、および第１の残差ブロックのサイズが（しきい値サイズの一例として）８×８以下である場合、ビデオエンコーダ２０は、残差ブロックに対する（たとえば、各４×４サブブロックに対する）垂直走査を決定することができる。
【０１５６】
[0147]いくつかの例では、垂直走査または水平走査において、決定方向は、第２の残差ブロックが現在のブロックをイントラ予測することから生成された場合、および第１の残差ブロックに残差ＤＰＣＭが適用される決定方向と同じ方向を用いて第２の残差ブロックが残差ＤＰＣＭを適用された場合に、第２の残差ブロックに対して使用されるものと同じ走査順序であることが必要である場合がある。たとえば、いくつかの例では、そのような残差ブロックに使用される走査順序は、残差ブロックが現在のブロックをイントラ予測することから生成されるとき、および残差ブロックが現在のブロックをインター予測またはイントラブロックコピー予測することから生成されるときと同じであることが必要である場合がある。８×８以下のサイズに対してＲＤＰＣＭが適用される、インター予測、イントラＢＣ予測、およびイントラ予測に関する走査順序の調和については、理解を容易にするために説明され、生成された残差ブロックに関する走査順序の選択は、インター予測と、イントラＢＣ予測と、イントラ予測との間で調和される必要がないことを理解されたい。
【０１５７】
[0148]いくつかの例では、第１の残差ブロックに関する決定された走査順序は、第１の残差ブロックが８×８までのサイズ（たとえば、ＴＵのＴＵサイズは８×８以下である）を有する場合、第２の残差ブロックに対して使用されるものと同じ走査順序であることが必要である場合がある。たとえば、水平ＲＤＰＣＭの適用において、第２の残差ブロックが垂直方向に走査されてきた場合、ビデオエンコーダ２０は、第１の残差ブロックに関する走査順序が垂直走査になることを決定することができる。垂直ＲＤＰＣＭの適用において、第２の残差ブロックが水平方向に走査されてきた場合、ビデオエンコーダ２０は、第１の残差ブロックに関する走査順序が水平走査になることを決定することができる。別の例として、水平ＲＤＰＣＭの適用において、第２の残差ブロックが水平方向に走査されてきた場合、ビデオエンコーダ２０は、第１の残差ブロックに関する走査順序が水平走査になることを決定することができる。垂直ＲＤＰＣＭの適用において、第２の残差ブロックが垂直方向に走査されてきた場合、ビデオエンコーダ２０は、第１の残差ブロックに関する走査順序が垂直走査になることを決定することができる。
【０１５８】
[0149]ビデオエンコーダ２０は、決定された走査順序に基づいて第１の残差ブロックの残差データをエントロピー符号化することができ、残差ＤＰＣＭが適用される決定方向を示す情報を符号化することができる。ビデオエンコーダ２０は、符号化残差データと残差ＤＰＣＭが適用される決定方向を示す情報とを出力することができる。
【０１５９】
[0150]図３は、本開示の技法を実装するように構成された例示的なビデオデコーダ３０を示すブロック図である。図３は、説明のために提供されるものであり、本開示において広く例示され説明される技法を限定するものではない。説明の目的で、本開示は、ＨＥＶＣコーディング規格の範囲拡張などの、ＨＥＶＣコーディング規格のコンテキストにおいてビデオデコーダ３０について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
【０１６０】
[0151]図３の例では、ビデオデータメモリ１４９は、符号化ビデオを受信する。ビデオデータメモリ１４９は、ビデオデコーダ３０の構成要素によって復号されるために、符号化されたビデオビットストリームなどのビデオデータを記憶する（たとえば、ビデオデータを記憶するように構成される）場合がある。ビデオデータメモリ１４９に記憶されたビデオデータは、カメラなどのローカルビデオソースから、ビデオデータの有線もしくはワイヤレスのネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ１４９は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ（ＣＰＢ）を形成し得る。
【０１６１】
[0152]復号ピクチャバッファ１６２は、（たとえば、イントラコーディングモード、インターコーディングモード、およびイントラＢＣコーディングモードで）ビデオデコーダ３０によってビデオデータを復号する際に使用するための、参照ビデオデータを記憶する、復号されたピクチャバッファ（ＤＰＢ）の一例である。ビデオデータメモリ１４９およびＤＰＢ１６２は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ）、または他のタイプのメモリデバイスなどの様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ１４９およびＤＰＢ１６２は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ１４９は、ビデオデコーダ３０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【０１６２】
[0153]図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット１５０と、予測処理ユニット１５２と、逆量子化ユニット１５４と、逆変換処理ユニット１５６と、再構成ユニット１５８と、フィルタユニット１６０と、復号ピクチャバッファ１６２とを含む。予測処理ユニット１５２は、動き補償ユニット１６４とイントラ予測処理ユニット１６６とを含む。他の例では、ビデオデコーダ３０は、より多数の、より少数の、または異なる機能構成要素を含み得る。いくつかの例では、動き補償ユニット１６４またはイントラ予測処理ユニット１６６は、イントラＢＣ予測処理も実行するようにさらに構成され得る。
【０１６３】
[0154]ビデオデコーダ３０は、ビットストリームを受信することができる。エントロピー復号ユニット１５０は、ビットストリームからシンタックス要素を復号するためにビットストリームを構文解析することができる。エントロピー復号ユニット１５０は、ビットストリーム中のエントロピー符号化シンタックス要素をエントロピー復号することができる。予測処理ユニット１５２、逆量子化ユニット１５４、逆変換処理ユニット１５６、再構成ユニット１５８、およびフィルタユニット１６０は、ビットストリームから抽出（たとえば、取得）されたシンタックス要素に基づいて復号ビデオデータを生成することができる。
【０１６４】
[0155]いくつかの例では、エントロピー復号ユニット１５０は、変換スキップ、不可逆、および可逆を用いて符号化された残差ブロックを再構成するためにＲＤＰＣＭを実行するように構成され得る。いくつかの例では、エントロピー復号ユニット１５０以外の構成要素は、残差ブロックを再構成するためにＲＤＰＣＭを実施するように構成され得る。
【０１６５】
[0156]ビットストリームは、一連のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを備え得る。ビットストリームのＮＡＬユニットは、コード化スライスＮＡＬユニットを含み得る。ビットストリームを復号することの一部として、エントロピー復号ユニット１５０は、コード化スライスＮＡＬユニットからシンタックス要素を抽出し、エントロピー復号することができる。コード化スライスの各々は、スライスヘッダとスライスデータとを含み得る。スライスヘッダは、スライスに関するシンタックス要素を含み得る。スライスヘッダ中のシンタックス要素は、スライスを含むピクチャと関連付けられたＰＰＳを識別するシンタックス要素を含み得る。
【０１６６】
[0157]ビデオデコーダ３０は、ビットストリームからのシンタックス要素を復号することに加えて、区分されていないＣＵに対して再構成動作を実行することができる。区分されていないＣＵに対して再構成動作を実行するために、ビデオデコーダ３０は、ＣＵの各ＴＵに対して再構成動作を実行することができる。ＣＵの各ＴＵに対して再構成行することによって、ビデオデコーダ３０は、ＣＵの残差ブロックを再構成することができる。
【０１６７】
[0158]ＣＵのＴＵに対して再構成動作を実行することの一部として、逆量子化ユニット１５４は、ＴＵに関連付けられた係数ブロックを逆量子化（inverse quantize）、すなわち逆量子化（de-quantize）することができる。逆量子化ユニット１５４は、量子化の程度を決定するために、また同様に、逆量子化ユニット１５４が適用すべき逆量子化の程度を決定するために、ＴＵのＣＵに関連付けられたＱＰ値を使用することができる。つまり、圧縮比、すなわち、元のシーケンスと圧縮されたシーケンスとを表すために使用されるビット数の比は、変換係数を量子化するときに使用されるＱＰの値を調整することによって制御され得る。圧縮比はまた、採用されるエントロピーコーディングの方法に依存し得る。
【０１６８】
[0159]逆量子化ユニット１５４が係数ブロックを逆量子化した後、逆変換処理ユニット１５６は、ＴＵに関連付けられた残差ブロックを生成するために、係数ブロックに１つまたは複数の逆変換を適用することができる。たとえば、逆変換処理ユニット１５６は、逆ＤＣＴ、逆整数変換、逆カルーネンレーベ変換（ＫＬＴ）、逆回転変換、逆方向変換、または別の逆変換を、係数ブロックに適用することができる。
【０１６９】
[0160]イントラ予測を使用してＰＵが符号化される場合、イントラ予測処理ユニット１６６は、ＰＵの予測ブロックを生成するためにイントラ予測を実行することができる。イントラ予測処理ユニット１６６は、空間的に隣接するＰＵの予測ブロックに基づいて、ＰＵのための予測ブロック（たとえば、ルーマ予測ブロック、Ｃｂ予測ブロック、およびＣｒ予測ブロック）を生成するために、イントラ予測モードを使用することができる。イントラ予測処理ユニット１６６は、ビットストリームから復号された１つまたは複数のシンタックス要素に基づいて、ＰＵのイントラ予測モードを決定することができる。
【０１７０】
[0161]予測処理ユニット１５２は、ビットストリームから抽出されたシンタックス要素に基づいて、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）と第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）とを構成することができる。さらに、ＰＵがインター予測を使用して符号化される場合、エントロピー復号ユニット１５０は、ＰＵの動き情報を抽出（たとえば、決定）することができる。動き補償ユニット１６４は、ＰＵの動き情報に基づいて、ＰＵのための１つまたは複数の参照領域を決定することができる。動き補償ユニット１６４は、ＰＵのための１つまたは複数の参照領域におけるサンプルブロックに基づいて、ＰＵのための予測ブロック（たとえば、ルーマ予測ブロック、Ｃｂ予測ブロック、およびＣｒ予測ブロック）を生成することができる。
【０１７１】
[0162]本開示の１つまたは複数の技法によれば、予測処理ユニット１５２内の１つまたは複数のユニットは、ビデオ復号プロセスの一部として、本明細書で説明する技法を実行することができる。ただし、本開示で説明する技法は、そのように限定されない。いくつかの例では、予測処理ユニット１５２は、１つまたは複数の他のユニットと組み合わせて、本開示で説明する技法のうちの１つまたは複数を実行することができる。いくつかの例では、プロセッサ（図示せず）は、単独で、またはビデオデコーダ３０の１つまたは複数のユニットと組み合わせて、本開示で説明する例示的な技法を実装することができる。たとえば、ビデオデコーダ３０は、本開示で説明する例示的な技法を実装するように構成された、１つまたは複数のプロセッサを含むことができる。
【０１７２】
[0163]再構成ユニット１５８は、ＣＵのコーディングブロック（たとえば、ルーマコーディングブロック、Ｃｂコーディングブロック、およびＣｒコーディングブロック）を再構成するために、ＣＵのＴＵに関連付けられた変換ブロック（たとえば、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロック）と、ＣＵのＰＵの予測ブロック（たとえば、ルーマ予測ブロック、Ｃｂ予測ブロック、およびＣｒ予測ブロック）と（すなわち、適宜、イントラ予測データまたはインター予測データのいずれか）を使用することができる。たとえば、再構成ユニット１５８は、ＣＵのルーマコーディングブロックと、Ｃｂコーディングブロックと、Ｃｒコーディングブロックとを再構成するために、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックのサンプルを予測ルーマブロック、予測Ｃｂブロック、および予測Ｃｒブロックの対応するサンプルに加算することができる。
【０１７３】
[0164]フィルタユニット１６０は、ＣＵのコーディングブロック（たとえば、ルーマコーディングブロック、Ｃｂコーディングブロック、およびＣｒコーディングブロック）に関連付けられたアーティファクトのブロッキングを低減させるためのデブロッキング動作、ＳＡＯ、またはＡＬＦを含む様々なフィルタリング動作を実行することができる。ビデオデコーダ３０は、ＣＵのコーディングブロック（たとえば、ルーマコーディングブロック、Ｃｂコーディングブロック、およびＣｒコーディングブロック）を復号ピクチャバッファ１６２に記憶することができる。復号ピクチャバッファ１６２は、後続の動き補償、イントラ予測、および図１のディスプレイデバイス３２などのディスプレイデバイス上での表示のために参照ピクチャを提供することができる。たとえば、ビデオデコーダ３０は、復号ピクチャバッファ１６２中のルーマブロック、Ｃｂブロック、およびＣｒブロックに基づいて、他のＣＵのＰＵに対してイントラ予測演算またはインター予測演算を実行することができる。このように、ビデオデコーダ３０は、変換ブロックを生成し、変換ブロックに少なくとも部分的に基づいてコーディングブロックを生成し、コーディングブロックを表示のために出力するために、係数ブロックの変換係数レベルをビットストリームから抽出（たとえば、取得）し、変換係数レベルを逆量子化し、変換係数レベルに変換を適用することができる。
【０１７４】
[0165]要素３０２は、通常のコーディングパスを表すことができ、要素３０１は、逆変換プロセスおよび逆量子化プロセスをバイパスするバイパスコーディングパスを表すことができる。これらの異なるパスは単に例示的なものであり、可逆コーディングは、バイパスを伴わずに実行され得る。いくつかの例では、可逆コーディングは、変換および量子化をなくす。他の例では、可逆コーディングは、変換を実行して量子化プロセスだけをなくす。さらに他の例では、可逆コーディングは、変換および量子化を使用して実施され得るが、量子化パラメータは、あらゆる量子化データ喪失を避けるように選択され得る。これらおよび他の例は、本開示の範囲内にある。要素３０３は、変換スキップモードのために使用され得るパスの一例を表す。変換スキップモードでは、残差データは逆量子化ユニット１５４によって逆量子化され得るが、逆変換処理ユニット１５６の逆変換はスキップされ得る。
【０１７５】
[0166]いくつかの例では、ビデオデータメモリ１４９は、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差データを含む第１の残差ブロックを記憶するように構成され得る。ビデオデコーダ３０は、第１の残差ブロックに残差差分パルスコード変調（ＤＰＣＭ）が適用される場合、この残差ブロックに残差ＤＰＣＭが適用される方向を示す情報を復号するように構成され得る。上述のように、残差ブロックは、エントロピー符号化されるべきブロックを指し、ＴＵに対応し得る。たとえば、現在のブロックと予測ブロックとの間の差分は、複数のＴＵにさらに分割されるか、またはこれ以上分割されない（たとえば、単一のＴＵとして保持される）ブロックをもたらす場合がある。残差ブロックは、これ以上分割されない単一のＴＵか、またはさらに分割されるＴＵのうちの１つである。
【０１７６】
[0167]ビデオデコーダ３０はまた、方向を示す情報に基づいて第１の残差ブロックの走査順序を決定するように構成され得る。再び、第１の残差ブロックは、現在のブロックのインター予測またはイントラＢＣ予測から生成され、第１の残差ブロックに関して、変換がスキップまたはバイパスされ得る。残差ＤＰＣＭが適用される方向の例としては、垂直残差ＤＰＣＭおよび水平残差ＤＰＣＭがある。第１の残差ブロックに対する残差ＤＰＣＭが垂直残差ＤＰＣＭであることを示す情報をビデオデコーダ３０が復号した場合、および第１の残差ブロックのサイズが（しきい値サイズの一例として）８×８以下である場合、ビデオデコーダ３０は、残差ブロックに対する（たとえば、各４×４サブブロックに対する）水平走査を決定することができる。第１の残差ブロックに対する残差ＤＰＣＭが水平残差ＤＰＣＭであることをビデオデコーダ３０が決定した場合、および第１の残差ブロックのサイズが（しきい値サイズの一例として）８×８以下である場合、ビデオデコーダ３０は、残差ブロックに対する（たとえば、各４×４サブブロックに対する）垂直走査を決定することができる。
【０１７７】
[0168]いくつかの例では、決定された走査順序は、第２の残差ブロックが現在のブロックをイントラ予測することから生成された場合、および復号情報に示された方向と同じ方向を用いて第２の残差ブロックが残差ＤＰＣＭを適用された場合に、第２の残差ブロックに対して使用されるものと同じ走査順序であることが必要である場合がある。たとえば、いくつかの例では、そのような残差ブロックに使用される走査順序は、残差ブロックが現在のブロックをイントラ予測することから生成されるとき、および残差ブロックが現在のブロックをインター予測またはイントラブロックコピー予測することから生成されるときと同じであることが必要である場合がある。
【０１７８】
[0169]いくつかの例では、水平走査または垂直走査において、第１の残差ブロックに関する決定された走査順序は、第１の残差ブロックが８×８までのサイズ（たとえば、ＴＵのＴＵサイズは８×８以下である）を有する場合、第２の残差ブロックに対して使用されるものと同じ走査順序であることが必要である場合がある。たとえば、水平ＲＤＰＣＭの適用において、第２の残差ブロックが垂直方向に走査されてきた場合、ビデオデコーダ３０は、第１の残差ブロックに関する走査順序が垂直走査になることを決定することができる。垂直ＲＤＰＣＭの適用において、第２の残差ブロックが水平方向に走査されてきた場合、ビデオデコーダ３０は、第１の残差ブロックに関する走査順序が水平走査になることを決定することができる。別の例として、水平ＲＤＰＣＭの適用において、第２の残差ブロックが水平方向に走査されてきた場合、ビデオデコーダ３０は、第１の残差ブロックに関する走査順序が水平走査になることを決定することができる。垂直ＲＤＰＣＭの適用において、第２の残差ブロックが垂直方向に走査されてきた場合、ビデオデコーダ３０は、第１の残差ブロックに関する走査順序が垂直走査になることを決定することができる。
【０１７９】
[0170]ビデオデコーダ３０は、決定された走査順序に基づいて第１の残差ブロックの残差データをエントロピー復号することができる。ビデオデコーダ３０は、復号残差データに基づいて、現在のブロックを再構成する（たとえば、インター復号する）ことができる。
【０１８０】
[0171]図５は、本開示による、ビデオデータを符号化する例示的な技法を示すフローチャートである。図５に示す例では、残差差分パルスコード変調（ＤＰＣＭ）が適用されることになっている場合、ビデオエンコーダ２０は、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差データを含む第１の残差ブロックに残差ＤＰＣＭが適用されるべき方向を決定することができる（５００）。
【０１８１】
[0172]残差ＤＰＣＭが適用される方向の例としては、水平残差ＤＰＣＭおよび垂直残差ＤＰＣＭがある。一例として、現在のブロックのベクトルは動きベクトルである場合があり、第１の残差ブロックは、現在のブロックのインター予測から生成され得る。別の例として、現在のブロックのベクトルはブロックベクトルである場合があり、第１の残差ブロックは、現在のブロックのイントラブロックコピー予測から生成され得る。
【０１８２】
[0173]ビデオエンコーダ２０は、残差ＤＰＣＭが適用される決定方向に基づいて第１の残差ブロックの走査順序を決定することができる（５０２）。いくつかの例では、第１の残差ブロックのサイズは、走査順序の決定の因子になる場合もある（たとえば、水平走査または垂直走査は８×８以下のＴＵサイズにのみ利用可能である場合がある）。一例として、残差ＤＰＣＭの方向が垂直残差ＤＰＣＭになることをビデオエンコーダ２０が決定した場合、および第１の残差ブロックのサイズがしきい値サイズ（たとえば、８×８）以下である場合に、ビデオエンコーダ２０は、走査順序が水平走査になることを決定することができる。残差ＤＰＣＭの方向が水平残差ＤＰＣＭになることをビデオエンコーダ２０が決定した場合、および第１の残差ブロックのサイズがしきい値サイズ（たとえば、８×８）以下である場合に、ビデオエンコーダ２０は、走査順序が垂直走査になることを決定することができる。いくつかの例では、水平残差ＤＰＣＭでは水平走査が使用される場合があり、垂直残差ＤＰＣＭでは垂直走査が使用される場合がある。
【０１８３】
[0174]いくつかの例では、決定された走査順序は、第２の残差ブロックが現在のブロックをイントラ予測することから生成された場合、および第１の残差ブロックに残差ＤＰＣＭが適用される決定方向と同じ方向を用いて第２の残差ブロックが残差ＤＰＣＭを適用された場合に、第２の残差ブロックに対して使用されるものと同じ走査順序であることが必要である場合がある。一例として、水平残差ＤＰＣＭが適用されることになることをビデオエンコーダ２０が決定した場合、第１の残差ブロックのサイズが８×８以下である場合、および現在のブロックをイントラ予測することから生成される第２の残差ブロックが水平残差ＤＰＣＭを適用され垂直走査を使用した場合、ビデオエンコーダ２０は、第１の残差ブロックの走査順序が垂直走査になることを決定することができる。垂直残差ＤＰＣＭが適用されることになることをビデオエンコーダ２０が決定した場合、第１の残差ブロックのサイズが８×８以下である場合、および第２の残差ブロックが垂直残差ＤＰＣＭを適用され水平走査を使用した場合、ビデオエンコーダ２０は、第１の残差ブロックの走査順序が水平走査になることを決定することができる。
【０１８４】
[0175]一例として、水平残差ＤＰＣＭが適用されることになることをビデオエンコーダ２０が決定した場合、第１の残差ブロックのサイズが８×８以下である場合、および第２の残差ブロックが水平残差ＤＰＣＭを適用され水平走査を使用した場合、ビデオエンコーダ２０は、第１の残差ブロックの走査順序が水平走査になることを決定することができる。垂直残差ＤＰＣＭが適用されることになることをビデオエンコーダ２０が決定した場合、第１の残差ブロックが８×８以下である場合、および第２の残差ブロックが垂直残差ＤＰＣＭを適用され垂直走査を使用した場合、ビデオエンコーダ２０は、第１の残差ブロックの走査順序が垂直走査になることを決定することができる。
【０１８５】
[0176]このように、いくつかの例では、ビデオエンコーダ２０は、残差ブロック（たとえば、ＴＵ）のサイズを決定することができる。ビデオエンコーダ２０は、残差ＤＰＣＭの方向と残差ブロックの決定サイズとに基づいて走査順序を決定することができる。たとえば、残差ブロックのサイズがしきい値サイズ（たとえば、８×８）以下である場合、ビデオエンコーダ２０は、残差ＤＰＣＭの方向に基づいて走査順序が水平走査または垂直走査のうちの１つであることを決定することができる。残差ブロックのサイズがしきい値サイズ（たとえば、８×８）よりも大きい場合、ビデオエンコーダ２０は、対角線走査を利用することができる。８×８ブロックサイズは一例であり、他のサイズが可能である。
【０１８６】
[0177]ビデオエンコーダ２０は、決定された走査順序に基づいて第１の残差ブロックの残差データをエントロピー符号化することができる（５０４）。ビデオエンコーダ２０は、残差ＤＰＣＭが適用される決定方向を示す情報を符号化（たとえば、エントロピー符号化またはその他）をすることができる（５０６）。ビデオエンコーダ２０は、符号化残差データと残差ＤＰＣＭが適用される決定方向を示す情報とを出力することができ、ビデオデコーダ３０は、現在のブロックを再構成（たとえば、復号）するためにこれらのデータおよび情報を利用することができる（５０８）。
【０１８７】
[0178]図６は、本開示による、ビデオデータを復号する例示的な技法を示すフローチャートである。図６の例では、ビデオデコーダ３０は、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差データを含む第１の残差ブロックに残差差分パルスコード変調（ＤＰＣＭ）が適用されるべき方向を示す情報を復号することができる（６００）。いくつかの例では、残差ＤＰＣＭは、残差ブロックにおいて変換がスキップまたはバイパスされるときにのみ適用され得る。
【０１８８】
[0179]残差ＤＰＣＭが適用される方向の例としては、水平残差ＤＰＣＭおよび垂直残差ＤＰＣＭがある。一例として、現在のブロックのベクトルは動きベクトルである場合があり、第１の残差ブロックは、現在のブロックのインター予測から生成され得る。別の例として、現在のブロックのベクトルはブロックベクトルである場合があり、第１の残差ブロックは、現在のブロックのイントラブロックコピー予測から生成され得る。
【０１８９】
[0180]ビデオデコーダ３０は、方向を示す情報に基づいて第１の残差ブロックの走査順序を決定することができる（６０２）。いくつかの例では、第１の残差ブロックのサイズは、走査順序の決定の因子になる場合もある（たとえば、水平走査または垂直走査は８×８以下のＴＵサイズにのみ利用可能である場合がある）。一例として、残差ＤＰＣＭの方向が垂直残差ＤＰＣＭになることをビデオデコーダ３０が決定した場合、および第１の残差ブロックのサイズがしきい値サイズ（たとえば、８×８）以下である場合に、ビデオデコーダ３０は、走査順序が水平走査になることを決定することができる。残差ＤＰＣＭの方向が水平残差ＤＰＣＭになることをビデオデコーダ３０が決定した場合、および第１の残差ブロックのサイズがしきい値サイズ（たとえば、８×８）以下である場合に、ビデオデコーダ３０は、走査順序が垂直走査になることを決定することができる。いくつかの例では、水平残差ＤＰＣＭでは水平走査が使用される場合があり、垂直残差ＤＰＣＭでは垂直走査が使用される場合がある。
【０１９０】
[0181]いくつかの例では、決定された走査順序は、第２の残差ブロックが現在のブロックをイントラ予測することから生成された場合、および復号情報に示された方向と同じ方向を用いて第２の残差ブロックが残差ＤＰＣＭを適用された場合に、第２の残差ブロックに対して使用されるものと同じ走査順序であることが必要である場合がある。一例として、水平残差ＤＰＣＭが適用されることになることを示す情報をビデオデコーダ３０が復号した場合、第１の残差ブロックのサイズが８×８以下である場合、および第２の残差ブロックが水平残差ＤＰＣＭを適用され垂直走査を使用した場合、ビデオデコーダ３０は、第１の残差ブロックの走査順序が垂直走査になることを決定することができる。垂直残差ＤＰＣＭが適用されることになることを示す情報をビデオデコーダ３０が復号した場合、第１の残差ブロックのサイズが８×８以下である場合、および第２の残差ブロックが垂直残差ＤＰＣＭを適用され水平走査を使用した場合、ビデオデコーダ３０は、第１の残差ブロックの走査順序が水平走査になることを決定することができる。
【０１９１】
[0182]上述のように、第２の残差ブロックは、現在のブロックをイントラ予測することから生成されるブロックであり、ＲＤＰＣＭの方向は、イントラ予測モードに等しい。たとえば、垂直ＲＤＰＣＭはイントラ予測の垂直モードを意味し、水平ＲＤＰＣＭはイントラ予測の水平モードを意味する。この例では、走査順序は、ＲＤＰＣＭ方向およびイントラ予測モードに直交する。ただし、そのような直交性は、あらゆる例において必要であるとは限らない。
【０１９２】
[0183]別の例として、水平残差ＤＰＣＭが適用されることになることを示す情報をビデオデコーダ３０が復号した場合、第１の残差ブロックのサイズが８×８以下である場合、および第２の残差ブロックが水平残差ＤＰＣＭを適用され水平走査を使用した場合、ビデオデコーダ３０は、第１の残差ブロックの走査順序が水平走査になることを決定することができる。垂直残差ＤＰＣＭが適用されることになることを示す情報をビデオデコーダ３０が復号した場合、残差ブロックのサイズが８×８以下である場合、および第２の残差ブロックが垂直残差ＤＰＣＭを適用され垂直走査を使用した場合、ビデオデコーダ３０は、第１の残差ブロックの走査順序が垂直走査になることを決定することができる。
【０１９３】
[0184]このように、いくつかの例では、ビデオデコーダ３０は、残差ブロック（たとえば、ＴＵ）のサイズを決定することができる。ビデオデコーダ３０は、残差ＤＰＣＭの方向と残差ブロックの決定サイズとに基づいて走査順序を決定することができる。たとえば、残差ブロックのサイズがしきい値サイズ（たとえば、８×８）以下である場合、ビデオデコーダ３０は、残差ＤＰＣＭの方向に基づいて走査順序が水平走査または垂直走査のうちの１つであることを決定することができる。残差ブロックのサイズがしきい値サイズ（たとえば、８×８）よりも大きい場合、ビデオデコーダ３０は、対角線走査を利用することができる。８×８ブロックサイズは一例であり、他のサイズが可能である。
【０１９４】
[0185]ビデオデコーダ３０は、決定された走査順序に基づいて第１の残差ブロックの残差データをエントロピー復号することができる（６０４）。たとえば、残差データをエントロピー復号することは、決定された走査順序に基づいて第１の残差ブロックの４×４サブブロックをエントロピー復号することを含み得る。
【０１９５】
[0186]ビデオデコーダ３０は、復号残差データに基づいて、現在のブロックを再構成（たとえば、復号）することができる（６０６）。たとえば、現在のブロックのベクトルが、現在のブロックを含むピクチャ以外のピクチャ中の予測ブロックを参照する動きベクトルである場合、ビデオデコーダ３０は、現在のブロックをインター予測復号することができる。現在のブロックのベクトルが、現在のブロックを含むピクチャと同じピクチャ中の予測ブロックを参照するブロックベクトルである場合、ビデオデコーダ３０は、現在のブロックをイントラブロックコピー（イントラＢＣ）予測復号することができる。
【０１９６】
[0187]１つまたは複数の例では、本明細書で説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、たとえば、データ記憶媒体などの有形媒体、または、たとえば通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体に対応する、コンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、（１）非一時的である有形のコンピュータ可読記憶媒体または（２）信号もしくはキャリア波などの通信媒体に相当し得る。データ記憶媒体は、本開示で説明する技法の実装のために、命令、コードおよび／またはデータ構造を取り出すために１つもしくは複数のコンピュータまたは１つもしくは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含んでもよい。
【０１９７】
[0188]例として、それに限定されず、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、フラッシュメモリ、または命令またはデータ構造の形態で所望のプログラムコードを記憶するために使用可能であり、コンピュータによってアクセス可能な他の任意の媒体を備えることができる。さらに、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、ウェブサイト、サーバ、または他の遠隔ソースから、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して伝送される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、マイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まず、代わりに、非一時的な有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（ＣＤ）と、レーザーディスク（登録商標）と、光ディスクと、デジタル多用途ディスク（ＤＶＤ）と、フロッピー（登録商標）ディスクと、Ｂｌｕ−ｒａｙディスクとを含み、通常、ディスク（disk）は磁気的にデータを再生し、一方ディスク（disc）はレーザーを用いてデータを光学的に再生する。上述したものの組合せも、コンピュータ可読媒体の範囲の中に含められるべきである。
【０１９８】
[0189]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の等価な集積回路もしくはディスクリート論理回路などの１つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造または本明細書で説明される技法の実装形態に適した任意の他の構造のいずれをも指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアモジュールおよび／またはソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素で十分に実装され得る。
【０１９９】
[0190]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０２００】
[0191]様々な例について説明してきた。これらの例および他の例は以下の特許請求の範囲内に入る。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを復号する方法であって、
現在のブロックのベクトルによって参照される予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第１の残差ブロックに残差差分パルスコード変調（ＤＰＣＭ）が適用されるべき方向を示す情報を復号することと、
前記方向を示す前記情報に基づいて前記第１の残差ブロックの走査順序を決定することと、ここにおいて、前記決定された走査順序は、第２の残差ブロックが前記現在のブロックをイントラ予測することから生成された場合、および前記復号した情報に示された前記方向と同じ方向を用いて前記第２の残差ブロックが残差ＤＰＣＭを適用された場合に、前記第２の残差ブロックに対して使用されるものと同じ走査順序であることが必要である、
前記決定された走査順序に基づいて前記第１の残差ブロックの前記残差データをエントロピー復号することと、
前記復号した残差データに基づいて前記現在のブロックを再構成することと
を備える、方法。
［Ｃ２］
前記現在のブロックの前記ベクトルは動きベクトルを備え、前記第１の残差ブロックは、前記現在のブロックのインター予測から生成される、Ｃ１に記載の方法。
［Ｃ３］
前記現在のブロックの前記ベクトルはブロックベクトルを備え、前記第１の残差ブロックは、前記現在のブロックのイントラブロックコピー予測から生成される、Ｃ１に記載の方法。
［Ｃ４］
前記方向を示す情報を復号することは、垂直残差ＤＰＣＭまたは水平残差ＤＰＣＭのうちの１つを示す情報を復号することを備え、
前記第１の残差ブロックの前記走査順序を決定することは、
前記情報が水平残差ＤＰＣＭを示した場合、および前記第２の残差ブロックが、水平残差ＤＰＣＭを適用され垂直走査を使用した場合、前記垂直走査を決定すること、または
前記情報が垂直残差ＤＰＣＭを示した場合、および前記第２の残差ブロックが、垂直残差ＤＰＣＭを適用され水平走査を使用した場合、前記水平走査を決定すること
のうちの１つを備える、
Ｃ１に記載の方法。
［Ｃ５］
前記第１の残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定すること
をさらに備え、
前記方向を示す情報を復号することは、垂直残差ＤＰＣＭまたは水平残差ＤＰＣＭのうちの１つを示す情報を復号することを備え、
前記第１の残差ブロックの前記走査順序を決定することは、
前記情報が水平残差ＤＰＣＭを示した場合、前記第１の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第２の残差ブロックが、水平残差ＤＰＣＭを適用され垂直走査を使用した場合、前記垂直走査を決定すること、または
前記情報が垂直残差ＤＰＣＭを示した場合、前記第１の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第２の残差ブロックが、垂直残差ＤＰＣＭを適用され水平走査を使用した場合、前記水平走査を決定すること
のうちの１つを備える、
Ｃ１に記載の方法。
［Ｃ６］
前記しきい値サイズは、８×８を備える、Ｃ５に記載の方法。
［Ｃ７］
前記方向を示す情報を復号することは、垂直残差ＤＰＣＭまたは水平残差ＤＰＣＭのうちの１つを示す情報を復号することを備え、
前記第１の残差ブロックの前記走査順序を決定することは、
前記情報が水平残差ＤＰＣＭを示した場合、および前記第２の残差ブロックが、水平残差ＤＰＣＭを適用され水平走査を使用した場合、前記水平走査を決定すること、または
前記情報が垂直残差ＤＰＣＭを示した場合、および前記第２の残差ブロックが、垂直残差ＤＰＣＭを適用され垂直走査を使用した場合、前記垂直走査を決定すること
のうちの１つを備える、
Ｃ１に記載の方法。
［Ｃ８］
前記第１の残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定すること
をさらに備える方法であって、
前記方向を示す情報を復号することは、垂直残差ＤＰＣＭまたは水平残差ＤＰＣＭのうちの１つを示す情報を復号することを備え、
前記第１の残差ブロックの前記走査順序を決定することは、
前記情報が水平残差ＤＰＣＭを示した場合、前記第１の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第２の残差ブロックが、水平残差ＤＰＣＭを適用され水平走査を使用した場合、前記水平走査を決定すること、または
前記情報が垂直残差ＤＰＣＭを示した場合、前記第１の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第２の残差ブロックが、垂直残差ＤＰＣＭを適用され垂直走査を使用した場合、前記垂直走査を決定すること
のうちの１つを備える、
Ｃ１に記載の方法。
［Ｃ９］
前記現在のブロックの前記ベクトルによって参照される前記予測ブロックと前記現在のブロックとの間の前記差分から生成された前記残差データは、残差値をピクセル領域から変換領域に変換する変換が前記残差値に適用されることなく前記予測ブロックと前記現在のブロックとの間の前記差分からの前記残差値を含む残差データを備える、Ｃ１に記載の方法。
［Ｃ１０］
前記残差データをエントロピー復号することは、前記決定された走査順序に基づいて前記第１の残差ブロックの４×４サブブロックをエントロピー復号することを備える、Ｃ１に記載の方法。
［Ｃ１１］
残差ＤＰＣＭが前記第１の残差ブロックに適用されたかどうかを示す情報を復号することと、
残差ＤＰＣＭが前記第１の残差ブロックに適用されたかどうかを示す前記復号した情報に基づいて、残差ＤＰＣＭが前記第１の残差ブロックに適用されたかどうかを決定することと
をさらに備える方法であって、
残差ＤＰＣＭが適用される前記順序を示す情報を復号することは、残差ＤＰＣＭが前記第１の残差ブロックに適用されたことを決定した場合、残差ＤＰＣＭが適用される前記順序を示す情報を復号することを備える、
Ｃ１に記載の方法。
［Ｃ１２］
残差ＤＰＣＭが前記第１の残差ブロックに適用されていないことを決定した場合、前記走査順序が対角線走査になることを決定すること
をさらに備える、Ｃ１１に記載の方法。
［Ｃ１３］
ビデオデータを符号化する方法であって、
現在のブロックのベクトルによって参照される予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第１の残差ブロックに残差差分パルスコード変調（ＤＰＣＭ）が適用されるべき方向を決定することと、
前記残差ＤＰＣＭが適用される前記決定した方向に基づいて前記第１の残差ブロックの走査順序を決定することと、ここにおいて、前記決定された走査順序は、第２の残差ブロックが前記現在のブロックをイントラ予測することから生成された場合、および前記残差ＤＰＣＭが前記第１の残差ブロックに適用される前記決定した方向と同じ方向を用いて前記第２の残差ブロックが残差ＤＰＣＭを適用された場合に、前記第２の残差ブロックに対して使用されるものと同じ走査順序であることが必要である、
前記決定された走査順序に基づいて前記第１の残差ブロックの前記残差データをエントロピー符号化することと、
残差ＤＰＣＭが適用される前記決定した方向を示す情報を符号化することと、
前記符号化した残差データと残差ＤＰＣＭが適用される前記決定した方向を示す前記情報とを出力することと
を備える、方法。
［Ｃ１４］
前記現在のブロックの前記ベクトルは動きベクトルを備え、前記第１の残差ブロックは、前記現在のブロックのインター予測から生成される、Ｃ１３に記載の方法。
［Ｃ１５］
前記現在のブロックの前記ベクトルはブロックベクトルを備え、前記第１の残差ブロックは、前記現在のブロックのイントラブロックコピー予測から生成される、Ｃ１３に記載の方法。
［Ｃ１６］
方向を決定することは、水平残差ＤＰＣＭが適用されるか、または垂直残差ＤＰＣＭが適用されるかを決定することのうちの１つを備え、
前記第１の残差ブロックの前記走査順序を決定することは、
前記第２の残差ブロックが、水平残差ＤＰＣＭを適用され垂直走査を使用した場合、前記垂直走査を決定すること、または
前記第２の残差ブロックが、垂直残差ＤＰＣＭを適用され水平走査を使用した場合、前記水平走査を決定すること
のうちの１つを備える、
Ｃ１３に記載の方法。
［Ｃ１７］
前記第１の残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定すること
をさらに備え、
方向を決定することは、水平残差ＤＰＣＭが適用されるか、または垂直残差ＤＰＣＭが適用されることを決定することのうちの１つを備え、
前記第１の残差ブロックの前記走査順序を決定することは、
前記第１の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第２の残差ブロックが、水平残差ＤＰＣＭを適用され垂直走査を使用した場合、前記垂直走査を決定すること、または
前記第１の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第２の残差ブロックが、垂直残差ＤＰＣＭを適用され水平走査を使用した場合、前記水平走査を決定すること
のうちの１つを備える、
Ｃ１３に記載の方法。
［Ｃ１８］
前記しきい値サイズは、８×８を備える、Ｃ１７に記載の方法。
［Ｃ１９］
方向を決定することは、水平残差ＤＰＣＭが適用されるか、または垂直残差ＤＰＣＭが適用されることを決定することのうちの１つを備え、
前記第１の残差ブロックの前記走査順序を決定することは、
前記第２の残差ブロックが、水平残差ＤＰＣＭを適用され水平走査を使用した場合、前記水平走査を決定すること、または
前記第２の残差ブロックが、垂直残差ＤＰＣＭを適用され垂直走査を使用した場合、前記垂直走査を決定すること
のうちの１つを備える、
Ｃ１３に記載の方法。
［Ｃ２０］
前記第１の残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定すること
をさらに備え、
方向を決定することは、水平残差ＤＰＣＭが適用されるか、または垂直残差ＤＰＣＭが適用されることを決定することのうちの１つを備え、
前記第１の残差ブロックの前記走査順序を決定することは、
前記第１の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第２の残差ブロックが、水平残差ＤＰＣＭを適用され水平走査を使用した場合、前記水平走査を決定すること、または
前記第１の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第２の残差ブロックが、垂直残差ＤＰＣＭを適用され垂直走査を使用した場合、前記垂直走査を決定すること
のうちの１つを備える、
Ｃ１３に記載の方法。
［Ｃ２１］
ビデオデータを復号するためのデバイスであって、
現在のブロックのベクトルによって参照される予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第１の残差ブロックを記憶するように構成されたビデオデータメモリと、
ビデオデコーダとを備え、前記ビデオデコーダは、
残差差分パルスコード変調（ＤＰＣＭ）が前記第１の残差ブロックに適用される方向を示す情報を復号することと、
前記方向を示す前記情報に基づいて前記第１の残差ブロックの走査順序を決定することと、ここにおいて、前記決定された走査順序は、第２の残差ブロックが前記現在のブロックをイントラ予測することから生成された場合、および前記復号した情報に示された前記方向と同じ方向を用いて前記第２の残差ブロックが残差ＤＰＣＭを適用された場合に、前記第２の残差ブロックに対して使用されるものと同じ走査順序であることが必要である、
前記決定された走査順序に基づいて前記第１の残差ブロックの前記残差データをエントロピー復号することと、
前記復号した残差データに基づいて前記現在のブロックを再構成することと
を行うように構成される、デバイス。
［Ｃ２２］
前記現在のブロックの前記ベクトルは動きベクトルを備え、前記第１の残差ブロックは、前記現在のブロックのインター予測から生成される、Ｃ２１に記載のデバイス。
［Ｃ２３］
前記現在のブロックの前記ベクトルはブロックベクトルを備え、第１の残差ブロックは、前記現在のブロックのイントラブロックコピー予測から生成される、Ｃ２１に記載のデバイス。
［Ｃ２４］
前記ビデオデコーダは、前記第１の残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定するようにさらに構成され、ここにおいて、前記第１の残差ブロックの前記走査順序を決定するために、前記ビデオデコーダは、前記方向を示す前記情報と前記第１の残差ブロックの前記サイズが前記しきい値以下であるかどうかとに基づいて前記第１の残差ブロックの前記走査順序を決定するように構成される、Ｃ２１に記載のデバイス。
［Ｃ２５］
前記しきい値サイズは、８×８を備える、Ｃ２４に記載のデバイス。
［Ｃ２６］
前記デバイスは、
マイクロプロセッサと、
集積回路と、
ワイヤレス通信デバイスと
のうちの１つを備える、Ｃ２１に記載のデバイス。
［Ｃ２７］
ビデオデータを符号化するためのデバイスであって、
現在のブロックに関する予測ブロックを記憶するように構成されたビデオデータメモリと、
ビデオエンコーダとを備え、前記ビデオエンコーダは、
前記現在のブロックのベクトルによって参照される前記予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第１の残差ブロックに残差差分パルスコード変調（ＤＰＣＭ）が適用されるべき方向を決定することと、
前記残差ＤＰＣＭが適用される前記決定した方向に基づいて前記第１の残差ブロックの走査順序を決定することと、ここにおいて、前記決定された走査順序は、第２の残差ブロックが前記現在のブロックをイントラ予測することから生成された場合、および前記残差ＤＰＣＭが前記第１の残差ブロックに適用される前記決定した方向と同じ方向を用いて前記第２の残差ブロックが残差ＤＰＣＭを適用された場合に、前記第２の残差ブロックに対して使用されるものと同じ走査順序であることが必要である、
前記決定された走査順序に基づいて前記第１の残差ブロックの前記残差データをエントロピー符号化することと、
残差ＤＰＣＭが適用される前記決定した方向を示す情報を符号化することと、
前記符号化した残差データと残差ＤＰＣＭが適用される前記決定した方向を示す前記情報とを出力することと
を行うように構成される、デバイス。
［Ｃ２８］
前記現在のブロックの前記ベクトルは動きベクトルを備え、前記第１の残差ブロックは、前記現在のブロックのインター予測から生成される、Ｃ２７に記載のデバイス。
［Ｃ２９］
前記現在のブロックの前記ベクトルはブロックベクトルを備え、第１の残差ブロックは、前記現在のブロックのイントラブロックコピー予測から生成される、Ｃ２７に記載のデバイス。
［Ｃ３０］
前記ビデオエンコーダは、前記第１の残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定するようにさらに構成され、ここにおいて、前記第１の残差ブロックの前記走査順序を決定するために、前記ビデオエンコーダは、前記残差ＤＰＣＭが適用される前記決定した方向と前記第１の残差ブロックの前記サイズが前記しきい値以下であるかどうかとに基づいて前記第１の残差ブロックの前記走査順序を決定するように構成される、Ｃ２７に記載のデバイス。
［Ｃ３１］
前記しきい値サイズは、８×８を備える、Ｃ３０に記載のデバイス。
［Ｃ３２］
ビデオデータを復号するためのデバイスであって、
現在のブロックのベクトルによって参照される予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第１の残差ブロックに残差差分パルスコード変調（ＤＰＣＭ）が適用される方向を示す情報を復号するための手段と、ここにおいて、前記方向を示す前記情報は、垂直残差ＤＰＣＭまたは水平残差ＤＰＣＭのうちの１つを示す情報を備える、
前記方向を示す前記情報に基づいて前記第１の残差ブロックの走査順序を決定するための手段と、ここにおいて、前記第１の残差ブロックの前記走査順序を決定するための前記手段は、
前記情報が水平残差ＤＰＣＭを示した場合、および前記第１の残差ブロックの前記サイズが８×８以下である場合、垂直走査を決定するための手段と、
前記情報が垂直残差ＤＰＣＭを示した場合、および前記第１の残差ブロックの前記サイズが８×８以下である場合、水平走査を決定するための手段と
を備え、
前記決定された走査順序に基づいて前記第１の残差ブロックの前記残差データをエントロピー復号するための手段と、
前記復号した残差データに基づいて前記現在のブロックを再構成するための手段と
を備える、デバイス。
［Ｃ３３］
実行されるとき、ビデオデータを符号化するためのデバイス用のビデオエンコーダに、
現在のブロックのベクトルによって参照される予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第１の残差ブロックに残差差分パルスコード変調（ＤＰＣＭ）が適用されるべき方向を決定することと、ここにおいて、前記決定した方向は、垂直残差ＤＰＣＭまたは水平残差ＤＰＣＭのうちの１つを備える、
前記残差ＤＰＣＭが適用される前記決定した方向に基づいて前記第１の残差ブロックの走査順序を決定することと、ここにおいて、前記第１の残差ブロックの前記走査順序を決定するために、前記命令が前記ビデオエンコーダに、
前記決定した方向が前記水平残差ＤＰＣＭである場合、および前記第１の残差ブロックの前記サイズが８×８以下である場合、垂直走査を決定させ、または
前記決定した方向が前記垂直残差ＤＰＣＭである場合、および前記第１の残差ブロックの前記サイズが８×８以下である場合、水平走査を決定させる、
前記決定された走査順序に基づいて前記第１の残差ブロックの前記残差データをエントロピー符号化することと、
残差ＤＰＣＭが適用される前記決定した方向を示す情報を符号化することと、
前記符号化した残差データと残差ＤＰＣＭが適用される前記決定した方向を示す前記情報とを出力することと
を行わせる命令が記憶された、コンピュータ可読記憶媒体。
【図１】
0006396439.tif 000010
【図２】
0006396439.tif 000011
【図３】
0006396439.tif 000012
【図４Ａ】
0006396439.tif 000013
【図４Ｂ】
0006396439.tif 000014
【図５】
0006396439.tif 000015
【図６】
0006396439.tif 000016