(57)【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
残差信号が変換を伴わずに量子化されるかどうかを規定するシンタックス要素に基づいて、少なくとも鋭いエッジを有するビデオデータに対するイントラ予測のために使用される１つまたは複数のフィルタを適応的に無効にすることと、
前記ビデオデータの現在のピクチャの現在のビデオスライスの現在のブロックのための予測ブロックを前記現在のピクチャの以前に復号されたブロックからのデータとシグナリングされたイントラ予測モードとに基づいて生成するために、前記イントラ予測を行うことと
を備え、
前記１つまたは複数のフィルタは、モード依存イントラ平滑化（ＭＤＩＳ）フィルタ、双線形補間フィルタ、エッジフィルタ、またはＤＣイントラ予測モードフィルタのうちの少なくとも１つを含み、
前記ＭＤＩＳフィルタは、異なるブロックサイズおよびイントラ予測モードについて異なるように、参照サンプルに適用され、
角度予測が前記予測ブロックを生成するために使用されるとき、前記予測ブロックの各々のそれぞれの予測されたサンプルは、前記それぞれのサンプルの位置を、サブピクセル位置の最近傍の前記参照サンプルのうちの２つの間の前記サブピクセル位置に投影すること、および前記サブピクセル位置の最近傍の前記２つの参照サンプルを使用して１／３２ピクセル精度で補間するように前記双線形補間フィルタを適用することで前記それぞれの予測されたサンプルを補間することによって取得され、
前記エッジフィルタは、勾配ベースの平滑化を使用して、前記予測ブロックの第１の予測の列と前記予測ブロックの第１の予測の行とをフィルタリングし、
前記ＤＣイントラ予測モードフィルタは、２タップの有限インパルス応答（ＦＩＲ）フィルタとともにＤＣの値を使用して前記予測ブロックの前記第１の予測の行と前記予測ブロックの前記第１の予測の列とをフィルタリングし、３タップのフィルタを使用して前記予測ブロックの角のサンプルをフィルタリングする、
方法。
【請求項２】
前記シンタックス要素は予測ユニット（ＰＵ）においてシグナリングされる、請求項１に記載の方法。
【請求項３】
前記１つまたは複数のフィルタを適応的に無効にすることは、前記１つまたは複数のフィルタが無効にされるかどうかを示す無効化フラグの値を決定することを備える、請求項１に記載の方法。
【請求項４】
前記シンタックス要素がオンにされる場合、前記無効化フラグがオンにされ、
前記無効化フラグがオンである場合、前記１つまたは複数のフィルタが無効にされる、請求項３に記載の方法。
【請求項５】
前記２タップのＦＩＲフィルタは、第１のＦＩＲフィルタであり、
前記無効化フラグが１に等しく、隣接参照サンプルの経路に沿って適用される３タップのフィルタである第２の有限インパルス応答（ＦＩＲ）フィルタの結果が閾値を上回ると決定される場合、前記１つまたは複数のフィルタが無効にされる、請求項３に記載の方法。
【請求項６】
復号されたビデオブロックを形成するために、残差ブロックを対応する予測ブロックと加算することをさらに備え、前記対応する予測ブロックは前記予測ブロックを含む、請求項１に記載の方法。
【請求項７】
前記双線形補間フィルタを適用することで前記それぞれの予測されたサンプルを補間することは、前記それぞれの予測されたサンプルを次のように補間することを備え、
【数１】
0006580562.tif 000045
ここにおいて、ｒｅｆ［ｘ＋ｉＩｄｘ＋１］およびｒｅｆ［ｘ＋ｉＩｄｘ＋２］は、前記サブピクセル位置の最近傍の前記参照サンプルであり、ｉＦａｃｔは、前記サブピクセル位置の最近傍の前記参照サンプルの間の重み付けである、
請求項１に記載の方法。
【請求項８】
ビデオデータを符号化する方法であって、
少なくとも鋭いエッジを有するビデオデータに対するイントラ予測のために使用される１つまたは複数のフィルタを適応的に無効にすることと、
前記１つまたは複数のフィルタを前記無効にすることを制御するシンタックス要素をシグナリングすることと、前記シンタックス要素は、残差信号が変換を伴わずに量子化されるかどうかを規定する、
前記ビデオデータの現在のピクチャの現在のビデオスライスの現在のビデオブロックのための予測ブロックを生成するために、前記イントラ予測を行うことと
を備え、
前記１つまたは複数のフィルタは、モード依存イントラ平滑化（ＭＤＩＳ）フィルタ、双線形補間フィルタ、エッジフィルタ、またはＤＣイントラ予測モードフィルタのうちの少なくとも１つを含み、
前記ＭＤＩＳフィルタは、異なるブロックサイズおよびイントラ予測モードについて異なるように、参照サンプルに適用され、
角度予測が、前記予測ブロックを生成するために使用されるとき、前記予測ブロックの各々のそれぞれの予測されたサンプルは、前記それぞれのサンプルの位置を、サブピクセル位置の最近傍の前記参照サンプルのうちの２つの間の前記サブピクセル位置に投影すること、および前記サブピクセル位置の最近傍の前記２つの参照サンプルを使用して１／３２ピクセル精度で補間するように前記双線形補間フィルタを適用することで前記それぞれの予測されたサンプルを補間することによって取得され、
前記エッジフィルタは、勾配ベースの平滑化を使用して、前記予測ブロックの第１の予測の列と前記予測ブロックの第１の予測の行とをフィルタリングし、
前記ＤＣイントラ予測モードフィルタは、２タップの有限インパルス応答（ＦＩＲ）フィルタとともにＤＣの値を使用して前記予測ブロックの前記第１の予測の行と前記予測ブロックの前記第１の予測の列とをフィルタリングし、３タップのフィルタを使用して前記予測ブロックの角のサンプルをフィルタリングする、
方法。
【請求項９】
前記シンタックス要素は予測ユニット（ＰＵ）においてシグナリングされる、請求項８に記載の方法。
【請求項１０】
前記１つまたは複数のフィルタを適応的に無効にすることは、前記１つまたは複数のフィルタが無効にされるかどうかを示す無効化フラグの値を決定することを備える、請求項８に記載の方法。
【請求項１１】
前記シンタックス要素がオンにされる場合、前記無効化フラグがオンにされ、
前記無効化フラグがオンである場合、前記１つまたは複数のフィルタが無効にされる、請求項１０に記載の方法。
【請求項１２】
前記２タップのＦＩＲフィルタは、第１のＦＩＲフィルタであり、
前記無効化フラグが１に等しく、隣接参照サンプルの経路に沿って適用される３タップのフィルタである第２の有限インパルス応答（ＦＩＲ）フィルタの結果が閾値を上回ると決定される場合、前記１つまたは複数のフィルタが無効にされる、請求項１０に記載の方法。
【請求項１３】
前記双線形補間フィルタを適用することで前記それぞれの予測されたサンプルを補間することは、前記それぞれの予測されたサンプルを次のように補間することを備え、
【数２】
0006580562.tif 000046
ここにおいて、ｒｅｆ［ｘ＋ｉＩｄｘ＋１］およびｒｅｆ［ｘ＋ｉＩｄｘ＋２］は、前記サブピクセル位置の最近傍の前記参照サンプルであり、ｉＦａｃｔは、前記サブピクセル位置の最近傍の前記参照サンプルの間の重み付けである、
請求項８に記載の方法。
【請求項１４】
ビデオデータを記憶するように構成されたコンピュータ可読媒体と、
１つまたは複数のプロセッサとを備え、前記１つまたは複数のプロセッサは、
残差信号が変換を伴わずに量子化されるかどうかを規定するシンタックス要素に基づいて、少なくとも鋭いエッジを有するビデオデータに対するイントラ予測のために使用される１つまたは複数のフィルタを適応的に無効にし、
前記ビデオデータの現在のピクチャの現在のビデオスライスの現在のブロックのための予測ブロックを前記現在のピクチャの以前に復号されたブロックからのデータとシグナリングされたイントラ予測モードとに基づいて生成するために、前記イントラ予測を行うように構成され、
前記１つまたは複数のフィルタは、モード依存イントラ平滑化（ＭＤＩＳ）フィルタ、双線形補間フィルタ、エッジフィルタ、またはＤＣイントラ予測モードフィルタのうちの少なくとも１つを含み、
前記ＭＤＩＳフィルタは、異なるブロックサイズおよびイントラ予測モードについて異なるように、参照サンプルに適用され、
角度予測が前記予測ブロックを生成するために使用されるとき、前記予測ブロックの各々のそれぞれの予測されたサンプルは、前記それぞれのサンプルの位置を、サブピクセル位置の最近傍の前記参照サンプルのうちの２つの間の前記サブピクセル位置に投影すること、および前記サブピクセル位置の最近傍の前記２つの参照サンプルを使用して１／３２ピクセル精度で補間するように前記双線形補間フィルタを適用することで前記それぞれの予測されたサンプルを補間することによって取得され、
前記エッジフィルタは、勾配ベースの平滑化を使用して、前記予測ブロックの第１の予測の列と前記予測ブロックの第１の予測の行とをフィルタリングし、
前記ＤＣイントラ予測モードフィルタは、２タップの有限インパルス応答（ＦＩＲ）フィルタとともにＤＣの値を使用して前記予測ブロックの前記第１の予測の行と前記予測ブロックの前記第１の予測の列とをフィルタリングし、３タップのフィルタを使用して前記予測ブロックの角のサンプルをフィルタリングする、
ビデオ復号デバイス。
【請求項１５】
前記シンタックス要素は予測ユニット（ＰＵ）においてシグナリングされる、請求項１４に記載のビデオ復号デバイス。
【請求項１６】
前記１つまたは複数のフィルタを適応的に無効にすることの一部として、前記１つまたは複数のプロセッサは、前記１つまたは複数のフィルタが無効にされるかどうかを示す無効化フラグの値を決定する、請求項１４に記載のビデオ復号デバイス。
【請求項１７】
前記シンタックス要素がオンにされる場合、前記無効化フラグがオンにされ、
前記無効化フラグがオンである場合、前記１つまたは複数のフィルタが無効にされる、請求項１６に記載のビデオ復号デバイス。
【請求項１８】
前記２タップのＦＩＲフィルタは、第１のＦＩＲフィルタであり、
前記無効化フラグが１に等しく、隣接参照サンプルの経路に沿って適用される３タップのフィルタである第２の有限インパルス応答（ＦＩＲ）フィルタの結果が閾値を上回ると決定される場合、前記１つまたは複数のフィルタが無効にされる、請求項１６に記載のビデオ復号デバイス。
【請求項１９】
前記１つまたは複数のプロセッサは、
復号されたビデオブロックを形成するために、残差ブロックを対応する予測ブロックと加算するように構成され、前記対応する予測ブロックは前記予測ブロックを含む、請求項１６に記載のビデオ復号デバイス。
【請求項２０】
前記１つまたは複数のプロセッサは、
前記双線形補間フィルタを適用することで前記それぞれの予測されたサンプルを補間するとき、前記１つまたは複数のプロセッサが前記それぞれの予測されたサンプルを次のように補間するように構成され、
【数３】
0006580562.tif 000047
ここにおいて、ｒｅｆ［ｘ＋ｉＩｄｘ＋１］およびｒｅｆ［ｘ＋ｉＩｄｘ＋２］は、前記サブピクセル位置の最近傍の前記参照サンプルであり、ｉＦａｃｔは、前記サブピクセル位置の最近傍の前記参照サンプルの間の重み付けである、
請求項１４に記載のビデオ復号デバイス。
【請求項２１】
残差信号が変換を伴わずに量子化されるかどうかを規定するシンタックス要素に基づいて、少なくとも鋭いエッジを有するビデオデータに対するイントラ予測のために使用される１つまたは複数のフィルタを適応的に無効にするための手段と、
ビデオデータの現在のピクチャの現在のビデオスライスの現在のブロックのための予測ブロックを前記現在のピクチャの以前に復号されたブロックからのデータとシグナリングされたイントラ予測モードとに基づいて生成するために、前記イントラ予測を行うための手段と
を備え、
前記１つまたは複数のフィルタは、モード依存イントラ平滑化（ＭＤＩＳ）フィルタ、双線形補間フィルタ、エッジフィルタ、またはＤＣイントラ予測モードフィルタのうちの少なくとも１つを含み、
前記ＭＤＩＳフィルタは、異なるブロックサイズおよびイントラ予測モードについて異なるように、参照サンプルに適用され、
角度予測が、前記予測ブロックを生成するために使用されるとき、前記予測ブロックの各々のそれぞれの予測されたサンプルは、前記それぞれのサンプルの位置を、サブピクセル位置の最近傍の前記参照サンプルのうちの２つの間の前記サブピクセル位置に投影すること、および前記サブピクセル位置の最近傍の前記２つの参照サンプルを使用して１／３２ピクセル精度で補間するように前記双線形補間フィルタを適用することで前記それぞれの予測されたサンプルを補間することによって取得され、
前記エッジフィルタは、勾配ベースの平滑化を使用して、前記予測ブロックの第１の予測の列と前記予測ブロックの第１の予測の行とをフィルタリングし、
前記ＤＣイントラ予測モードフィルタは、２タップの有限インパルス応答（ＦＩＲ）フィルタとともにＤＣの値を使用して前記予測ブロックの前記第１の予測の行と前記予測ブロックの前記第１の予測の列とをフィルタリングし、３タップのフィルタを使用して前記予測ブロックの角のサンプルをフィルタリングする、
ビデオ復号デバイス。
【請求項２２】
復号されたビデオブロックを形成するために、残差ブロックを対応する予測ブロックと加算するための手段をさらに備え、前記対応する予測ブロックは前記予測ブロックを含む、請求項２１に記載のビデオ復号デバイス。
【請求項２３】
前記双線形補間フィルタを適用することで前記それぞれの予測されたサンプルを補間するために前記イントラ予測を行うための前記手段は、前記それぞれの予測されたサンプルを次のように補間するための手段を備え、
【数４】
0006580562.tif 000048
ここにおいて、ｒｅｆ［ｘ＋ｉＩｄｘ＋１］およびｒｅｆ［ｘ＋ｉＩｄｘ＋２］は、前記サブピクセル位置の最近傍の前記参照サンプルであり、ｉＦａｃｔは、前記サブピクセル位置の最近傍の前記参照サンプルの間の重み付けである、
請求項２１に記載のビデオ復号デバイス。
【発明の詳細な説明】
【関連出願】
【０００１】
[0001]  本出願は、２０１３年７月１９日に出願された米国仮特許出願第６１／８５６，６３７号と、２０１３年７月２２日に出願された米国仮特許出願第６１／８５７，１３１号と、２０１３年９月１０日に出願された米国仮特許出願第６１／８７６，２０５号と、２０１３年９月１９日に出願された米国仮特許出願第６１／８８０，０８７号と、２０１３年１０月８日に出願された米国仮特許出願第６１／８８８，３１９号と、２０１３年１０月１４日に出願された米国仮特許出願第６１／８９０，８２２号と、２０１３年１０月１４日に出願された米国仮特許出願第６１／８９０，８４４号との利益を主張するもので、その各々の全内容が参照により本明細書に組み込まれる。
【技術分野】
【０００２】
[0002]  本開示は、ビデオ符号化およびビデオ復号に関し、いくつかの例で、イントラ予測のための参照サンプルのフィルタリングに関する。
【背景技術】
【０００３】
[0003]  デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）、Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格によって定義された規格、およびそのような規格の拡張に記述されているビデオ圧縮技法などのビデオ圧縮技法を実装する。これらのビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信し、受信し、符号化し、復号し、および／または記憶できる。
【０００４】
[0004]  ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間（イントラピクチャ）予測および／または時間（インターピクチャ）予測を行う。ブロックベースのビデオコーディングの場合、ビデオスライス（すなわち、ビデオフレームまたはビデオフレームの一部分）がビデオブロックに区画され得る。いくつかの例では、そのようなビデオブロックが、ツリーブロック、コーディングユニット（ＣＵ）、および／またはコーディングノードとも呼ばれ得る。ピクチャのイントラコーディングされた（Ｉ）スライスにおけるビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコーディングされた（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャの中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]  空間的予測または時間的予測は、コーディングされるべきブロックのための予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データは、コーディングされたブロックと予測ブロックとの差分を示す。イントラコーディングされたブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮を行うために、残差データがピクセル領域から変換領域に変換されて残差係数（すなわち、残差変換係数）をもたらすことができ、次いでこれらの係数が量子化され得る。最初に２次元アレイで構成される量子化された係数（すなわち、残差変換係数）は、係数（すなわち、変換係数）の１次元ベクトルを生成するために走査されてよく、なお一層の圧縮を達成するためにエントロピーコーディングが適用されてよい。
【０００６】
[0006]  マルチビューコーディングビットストリームは、例えば、複数の視点からのビューを符号化することによって生成され得る。マルチビューコーディング態様を利用するいくつかの３次元（３Ｄ）ビデオ規格が開発されている。例えば、異なるビューは、３Ｄビデオをサポートするために左目のビューと右目のビューとを送信できる。あるいは、いくつかの３Ｄビデオコーディング処理は、いわゆるマルチビュープラス深度コーディングを適用できる。マルチビュープラス深度コーディングでは、３Ｄビデオビットストリームが、テクスチャビュー成分だけでなく深度ビュー成分も含み得る。例えば、各ビューは、１つのテクスチャビュー成分と１つの深度ビュー成分とを備え得る。
【発明の概要】
【０００７】
[0007]  全般に、本開示は、イントラ予測のための技法を説明する。本開示の１つの例示的な技法において説明されるように、ビデオエンコーダは、イントラ予測のために使用される１つまたは複数のフィルタを適応的に無効に(disable)できる。ビデオエンコーダは、１つまたは複数のフィルタを制御するシンタックス要素をシグナリングできる。加えて、ビデオエンコーダは、ビデオデータの現在のビデオブロックのための予測データを生成するためにイントラ予測を行い得る。さらに、いくつかの例では、ビデオデコーダが、シンタックス要素に基づいて、イントラ予測のために使用される１つまたは複数のフィルタを適応的に無効にできる。加えて、ビデオデコーダは、現在のブロックのための予測データを生成するためにイントラ予測を行い得る。
【０００８】
[0008]  ある例によれば、本開示は、ビデオデータを復号する方法を説明し、この方法は、シンタックス要素に基づいて、イントラ予測のために使用される１つまたは複数のフィルタを適応的に無効にすることと、現在のビデオスライスの現在のブロックのための予測データを生成するためにイントラ予測を行うこととを備える。
【０００９】
[0009]  別の例で、本開示は、ビデオデータを符号化する方法を説明し、この方法は、イントラ予測のために使用される１つまたは複数のフィルタを適応的に無効にすることと、１つまたは複数のフィルタを制御するシンタックス要素をシグナリングすることと、現在のビデオブロックビデオデータのための予測データを生成するためにイントラ予測を行うこととを備える。
【００１０】
[0010]  別の例で、本開示は、ビデオデータを記憶するように構成されるコンピュータ可読媒体と、シンタックス要素に基づいてイントラ予測のために使用される１つまたは複数のフィルタを適応的に無効にし、現在のビデオスライスの現在のブロックのための予測データを生成するためにイントラ予測を行うように構成される１つまたは複数のプロセッサとを備える、ビデオ復号デバイスを説明する。
【００１１】
[0011]  別の例で、本開示は、ビデオデータを記憶するように構成されるコンピュータ可読媒体と、イントラ予測のために使用される１つまたは複数のフィルタを適応的に無効にし、１つまたは複数のフィルタを制御するシンタックス要素をシグナリングし、現在のビデオブロックビデオデータのための予測データを生成するためにイントラ予測を行うように構成される１つまたは複数のプロセッサとを備える、ビデオ符号化デバイスを説明する。
【００１２】
[0012]  別の例で、本開示は、シンタックス要素に基づいて、イントラ予測のために使用される１つまたは複数のフィルタを適応的に無効にするための手段と、現在のビデオスライスの現在のブロックのための予測データを生成するためにイントラ予測を行うための手段とを備える、ビデオ復号デバイスを説明する。
【００１３】
[0013]  別の例で、本開示は、イントラ予測のために使用される１つまたは複数のフィルタを適応的に無効にするための手段と、１つまたは複数のフィルタを制御するシンタックス要素をシグナリングするための手段と、現在のビデオブロックビデオデータのための予測データを生成するためにイントラ予測を行うための手段とを備える、ビデオ符号化デバイスを説明する。
【００１４】
[0014]  別の例で、本開示は、実行されると、１つまたは複数のプロセッサに、シンタックス要素に基づいてイントラ予測のために使用される１つまたは複数のフィルタを適応的に無効にさせ、現在のビデオスライスの現在のブロックのための予測データを生成するためにイントラ予測を行わせる命令を記憶した、コンピュータ可読データ記憶媒体（例えば、非一時的コンピュータ可読データ記憶媒体）を説明する。
【００１５】
[0015]  別の例で、本開示は、実行されると、１つまたは複数のプロセッサに、イントラ予測のために使用される１つまたは複数のフィルタを適応的に無効にさせ、１つまたは複数のフィルタを制御するシンタックス要素をシグナリングさせ、現在のビデオブロックビデオデータのための予測データを生成するためにイントラ予測を行わせる命令を記憶した、コンピュータ可読データ記憶媒体（例えば、非一時的コンピュータ可読データ記憶媒体）を説明する。
【００１６】
[0016]  １つまたは複数の例の詳細が、添付の図面および以下の説明において述べられる。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１７】
【図１】本開示で説明される技法を利用できる例示的なビデオコーディングシステムを示すブロック図である。
【図２】例示的なイントラ予測モードの方向を示す概念図である。
【図３】Ｈｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）イントラ予測のためのブロックの例示的な参照サンプルを示す概念図である。
【図４Ａ】角度イントラ予測における双線形補間を示す概念図である。
【図４Ｂ】角度イントラ予測における最近傍予測を示す概念図である。
【図５】本開示の例による、ＨＥＶＣイントラ予測のためのブロックの参照サンプルのための適応フィルタ制御の方法を示す概念図である。
【図６】本開示の別の例による、ＨＥＶＣイントラ予測のためのコーディングユニット（ＣＵ）の変換ユニット（ＴＵ）の参照サンプルのための適応フィルタ制御の方法を示す概念図である。
【図７】２つの正方形のＴＵを含む例示的な長方形を示す概念図である。
【図８】４つのＮ×ＮのＴＵへと区画される例示的な２Ｎ×２ＮのＣＵを示す概念図である。
【図９】１つの２Ｎ×２Ｎの区画を有する例示的な２Ｎ×２ＮのＣＵを示す概念図である。
【図１０】本開示で説明される技法を実施できる例示的なビデオエンコーダを示すブロック図である。
【図１１】本開示で説明される技法を実施できる例示的なビデオデコーダを示すブロック図である。
【図１２Ａ】本開示の１つまたは複数の技法による、ビデオデータを符号化するためのビデオエンコーダの例示的な動作を示すフローチャートである。
【図１２Ｂ】本開示の１つまたは複数の技法による、ビデオデータを復号するためのビデオデコーダの例示的な動作を示すフローチャートである。
【図１３Ａ】本開示の１つまたは複数の技法による、ビデオデータを符号化するためのビデオエンコーダの例示的な動作を示すフローチャートである。
【図１３Ｂ】本開示の１つまたは複数の技法による、ビデオデータを復号するためのビデオデコーダの例示的な動作を示すフローチャートである。
【図１４Ａ】本開示の１つまたは複数の技法による、ビデオデータを符号化するためのビデオエンコーダの例示的な動作を示すフローチャートである。
【図１４Ｂ】本開示の１つまたは複数の技法による、ビデオデータを復号するためのビデオデコーダの例示的な動作を示すフローチャートである。
【図１５Ａ】本開示の１つまたは複数の技法による、ビデオデータを符号化するためのビデオエンコーダの例示的な動作を示すフローチャートである。
【図１５Ｂ】本開示の１つまたは複数の技法による、ビデオデータを復号するためのビデオデコーダの例示的な動作を示すフローチャートである。
【図１６】本開示の１つまたは複数の技法による、ビデオデータをコーディングするためのビデオコーダの例示的な動作を示すフローチャートである。
【図１７】本開示の１つまたは複数の技法による、ビデオデータをコーディングするためのビデオコーダの追加の動作を示すフローチャートである。
【図１８】現在のブロックを符号化するための例示的な方法を示すフローチャートである。
【図１９】ビデオデータの現在のブロックを復号するための例示的な方法を示すフローチャートである。
【図２０】本開示の１つまたは複数の技法による、ビデオデータをコーディングするためのビデオコーダの例示的な動作を示すフローチャートである。
【図２１Ａ】本開示の１つまたは複数の技法による、ビデオデータを符号化するためのビデオエンコーダの例示的な動作を示すフローチャートである。
【図２１Ｂ】本開示の１つまたは複数の技法による、ビデオデータを復号するためのビデオデコーダの例示的な動作を示すフローチャートである。
【図２２Ａ】本開示の１つまたは複数の技法による、ビデオデータを符号化するためのビデオエンコーダの例示的な動作を示すフローチャートである。
【図２２Ｂ】本開示の１つまたは複数の技法による、ビデオデータを復号するためのビデオデコーダの例示的な動作を示すフローチャートである。
【発明を実施するための形態】
【００１８】
[0046]  Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）のような多くのビデオコーディング規格は、イントラ予測を実施する。一般に、イントラ予測は、現在コーディングされているピクチャ中の参照サンプルに基づいて、現在コーディングされているブロックのための予測ブロックを生成することを伴う。本開示は、現在コーディングされているピクチャを現在のピクチャをと呼ぶことがある。さらに、本開示は、現在コーディングされているブロックを現在のブロックと呼ぶことがある。ビデオコーダは、予測ブロックを生成するために、様々なイントラ予測モードを使用できる。イントラ予測モードは、角度イントラ予測モードと、平面イントラ予測モードと、ＤＣイントラ予測モードとを含み得る。
【００１９】
[0047]  ビデオコーダは、予測ブロックを生成するためにイントラ予測を使用するとき、様々なフィルタを使用できる。例えば、ビデオコーダは、現在のブロックの左端および上端に沿って位置する参照サンプルの値に基づいて、予測ブロックのサンプルの値を決定できる。この例では、ビデオコーダが対角イントラ予測モードまたは平面イントラ予測モードを使用するとき、ビデオコーダは、参照サンプル間の差分を減らすために、平滑化フィルタを参照サンプルに適用できる。いくつかの例では、ビデオコーダが、他の状況でも平滑化フィルタを適用することがあり、または無効にすることがある。この平滑化フィルタの強さは、現在のブロックのサイズに依存し得る。さらに、現在のブロックのサイズがより大きいとき、ビデオコーダは、より大きな範囲の対角イントラ予測モードを使用するときに平滑化フィルタを参照サンプルに適用できる。
【００２０】
[0048]  さらに、ビデオコーダが予測ブロックを生成するために角度イントラ予測モードを使用するとき、ビデオコーダは、予測ブロックの各々のそれぞれのサンプルに対して、それぞれのサンプルを通る線が参照サンプルの上の行または参照サンプルの左の列と交差する交差点を決定できる。角度イントラ予測モードは、線の角度と方向とを定める。ビデオコーダは、交差点のいずれかの側の参照サンプルに基づいて、補間された参照サンプルの値を決定するために、双線形補間フィルタを使用できる。それぞれの予測されたサンプルの値は、この補間された参照サンプルの値と等しい。このようにして、ビデオコーダは、予測ブロックを生成するために双線形補間を使用できる。
【００２１】
[0049]  いくつかの例では、ビデオコーダが予測ブロックを生成するために角度イントラ予測モードを使用するとき、ビデオコーダは、予測ブロックの各々のそれぞれのサンプルに対して、それぞれのサンプルのための分数位置係数（例えば、ｉＦａｃｔ）を決定できる。さらに、そのような例では、それぞれのサンプルのための分数位置係数がある特定の値（例えば、０）を有しないとき、ビデオコーダは、上で説明されたように、交差点のいずれかの側の参照サンプルにわたって、双線形補間フィルタを使用してそれぞれのサンプルの値を決定できる。それ以外の場合、そのような例では、それぞれのサンプルのための分数位置係数がその特定の値（例えば、０）を有するとき、ビデオコーダは、それぞれのサンプルの値が参照サンプルの１つと等しいと決定できる。
【００２２】
[0050]  さらに、ビデオコーダが水平方向の角度イントラ予測モードを使用し、予測ブロックのサイズが３２×３２より小さく、現在のブロックが変換および量子化迂回モードを使用してコーディングされないとき、ビデオコーダは、予測ブロックのサンプルの上の行に対してエッジフィルタリングを適用できる。いくつかの例では、ビデオコーダが、予測ブロックのサンプルの上の行のルーマサンプルのみに対してエッジフィルタリングを適用できる。同様に、ビデオコーダが垂直方向の角度イントラ予測モードを使用し、予測ブロックのサイズが３２×３２より小さく、現在のブロックが変換および量子化迂回モードを使用してコーディングされないとき、ビデオコーダは、予測ブロックのサンプルの左の列に対してエッジフィルタリングを適用できる。いくつかの例では、ビデオコーダが、予測ブロックのサンプルの左の列のルーマサンプルのみに対してエッジフィルタリングを適用できる。
【００２３】
[0051]  ビデオコーダがＤＣイントラ予測モードを使用し、予測ブロックのサイズが３２×３２より小さく、ブロックの成分インデックスが０である（ルーマ）とき、ビデオコーダは、予測ブロックの第１の列に２タップの有限インパルス応答（ＦＩＲ）フィルタを適用できる。いくつかの例では、ビデオコーダがまた、予測ブロックの最初の（すなわち、一番上の）行に２タップのＦＩＲフィルタを適用できる。ビデオコーダはまた、予測ブロックの角のサンプルに３タップのフィルタを適用できる。
【００２４】
[0052]  いくつかの例では、上で言及されたフィルタの１つまたは複数を無効にするのが望ましいことがある。例えば、現在のブロックのサイズおよびイントラ予測モードとは無関係に、平滑化フィルタの適用を無効にするのが望ましいことがある。さらに、分数位置係数の値とは無関係に、双線形補間フィルタを無効にするのが望ましいことがある。加えて、角度イントラ予測モード、予測ブロックのサイズ、並びに変換および量子化迂回モードとは無関係に、エッジフィルタを無効にするのが望ましいことがある。同様に、ビデオコーダがＤＣイントラ予測モードを使用するときに適用されるフィルタを無効にするのが望ましいことがある。
【００２５】
[0053]  例えば、合成のビデオコンテンツ（例えば、コンピュータで生成されたグラフィックス）は鋭いエッジを含む傾向がある。そのような状況では、予測ブロックを生成するためにイントラ予測を使用するときにフィルタを使用することで、コーディング効率が下がり、より大きなビットストリームをもたらすことがある。言い換えると、フィルタリング動作は、鋭いエッジの両側のサンプルの間の差をぼかし、不正確な予測サンプルをもたらすことがある。従って、コーディング効率を上げるために、これらのフィルタの１つまたは複数を無効にするのが望ましいことがある。
【００２６】
[0054]  本開示の技法は、イントラ予測を使用して予測ブロックを生成するときに、フィルタの適用を無効にするための技法を含む。例えば、本開示の技法のいくつかによれば、ビデオデコーダは、シンタックス要素に基づいて、イントラ予測のために使用される１つまたは複数のフィルタを適応的に無効にできる。さらに、ビデオデコーダは、現在のビデオスライスの現在のブロックのための予測データを生成するために、イントラ予測をパフォーミングできる。このようにして、ビデオデコーダは、予測ブロックを生成するためにイントラ予測を使用するときにフィルタを適用するかどうかを適応的に決定することが可能であり得る。これは、コーディング効率を高め得る
[0055]  別の例では、ビデオエンコーダが、ビットストリームにおいて、予測ブロックを生成するためにイントラ予測を使用するときに１つまたは複数のフィルタを適用するかどうかを決定するためにビデオデコーダが使用し得る１つまたは複数のシンタックス要素をシグナリングできる。１つのそのような例によれば、ビデオデコーダは、第１のシンタックス要素（例えば、ｆｉｌｔｅｒ＿disable＿ｆｌａｇ）の値と第２のシンタックス要素（例えば、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇ）の値とを復号できる。この例では、第１のシンタックス要素が、ビデオデータのブロックのイントラ予測のためのフィルタを有効に(enable)するかどうかを表す。第２のシンタックス要素は、予測後の残差信号が変換を伴わずに量子化されるかどうかを指定する。ビデオデコーダは、ブロックをイントラ予測復号できる。ブロックをイントラ予測復号することの一部として、ビデオデコーダは、第１のシンタックス要素の値および第２のシンタックス要素の値に少なくとも一部基づいて、フィルタを有効にするか無効にするかを決定できる。フィルタが有効にされるとき、ビデオデコーダは、ブロックのためのイントラ予測データにフィルタを適用できる。言い換えると、ビデオデコーダは、予測ブロックのサンプルの値を決定するための処理においてフィルタを使用できる。このようにして、ビデオデコーダは、予測ブロックを生成するためにイントラ予測を使用するときにフィルタを適用するかどうかを決定することが可能であり得る。
【００２７】
[0056]  図１は、本開示の技法を利用できる例示的なビデオコーディングシステム１０を示すブロック図である。本明細書で使用される「ビデオコーダ」という用語は、ビデオエンコーダとビデオデコーダの両方を総称的に指す。本開示では、「ビデオコーディング」または「コーディング」という用語が、ビデオ符号化またはビデオ復号を総称的に指し得る。図１は、本開示で説明される技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。本開示で説明される技法は、イントラ予測における適応的なフィルタの使用をシグナリングするための技法を含む。
【００２８】
[0057]  図１に示されているように、ビデオコーディングシステム１０は、ソースデバイス１２と宛先デバイス１４とを含む。ソースデバイス１２は符号化されたビデオデータを生成する。従って、ソースデバイス１２は、ビデオ符号化デバイスまたはビデオ符号化装置と呼ばれ得る。宛先デバイス１４は、ソースデバイス１２によって生成された符号化されたビデオデータを復号できる。従って、ビデオコーディングシステム１０は、宛先デバイス１４によって後の時間に復号されるべき符号化されたビデオデータを生成するソースデバイス１２を含む。従って、宛先デバイス１４は、ビデオ復号デバイスまたはビデオ復号装置と呼ばれ得る。ソースデバイス１２および宛先デバイス１４は、ビデオコーディングデバイスまたはビデオコーディング装置の例であり得る。
【００２９】
[0058]  ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック（例えば、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのような電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイス、車内コンピュータなどを含む、広範囲のデバイスを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４はワイヤレス通信に対応し得る。
【００３０】
[0059]  宛先デバイス１４は、チャネル１６を介してソースデバイス１２から符号化されたビデオデータを受信できる。言い換えると、ソースデバイス１２は、チャネル１６を介して宛先デバイス１４にビデオデータを提供できる。チャネル１６は「リンク」とも呼ばれ得る。いくつかの例では、チャネル１６がコンピュータ可読媒体を備え得る。チャネル１６は、ソースデバイス１２から宛先デバイス１４に符号化されたビデオデータを移動することが可能な１つまたは複数の媒体またはデバイスを備え得る。一例で、チャネル１６は、ソースデバイス１２が符号化されたビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にする１つまたは複数の通信媒体を備え得る。この例で、ソースデバイス１２は、ワイヤレス通信プロトコルのような通信規格に従って符号化されたビデオデータを変調でき、変調されたビデオデータを宛先デバイス１４に送信できる。１つまたは複数の通信媒体は、高周波（ＲＦ）スペクトルまたは１つもしくは複数の物理伝送線路のような、ワイヤレスおよび／または有線の通信媒体を含み得る。１つまたは複数の通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク（例えば、インターネット）のような、パケットベースネットワークの一部を形成し得る。１つまたは複数の通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を容易にする、ルータ、スイッチ、基地局、または他の機器を含み得る。
【００３１】
[0060]  別の例では、チャネル１６が、ソースデバイス１２によって生成された符号化されたビデオデータを記憶する記憶媒体を含み得る。この例で、宛先デバイス１４は、例えば、ディスクアクセスまたはカードアクセスを介して、記憶媒体にアクセスし得る。従って、いくつかの例では、符号化されたデータが、出力インターフェース２２から記憶デバイスへ出力され得る。同様に、符号化されたデータは、入力インターフェースによって記憶デバイスからアクセスされ得る。記憶媒体（例えば、記憶デバイス）は、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、または符号化されたビデオデータを記憶するための他の適切なデジタル記憶媒体のような、様々なローカルにアクセスされるデータ記憶媒体を含み得る。従って、チャネル１６は、ワイヤレスブロードキャスト送信もしくは有線ネットワーク送信のような一時的媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙディスク、もしくは他のコンピュータ可読媒体のような記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示されず）が、ソースデバイス１２から符号化されたビデオデータを受信でき、例えばネットワーク送信を介して、その符号化されたビデオデータを宛先デバイス１４に与えることができる。同様に、ディスクスタンピング施設のような、媒体製造施設のコンピューティングデバイスは、ソースデバイス１２から符号化されたビデオデータを受信し、その符号化されたビデオデータを含むディスクを生成できる。従って、様々な例において、チャネル１６は、様々な形態の１つまたは複数のコンピュータ可読媒体を含むと理解され得る。
【００３２】
[0061]  さらなる例では、チャネル１６が、ソースデバイス１２によって生成された符号化されたビデオデータを記憶する、ファイルサーバまたは別の中間記憶デバイスを含み得る。この例で、宛先デバイス１４は、（例えば、ストリーミングまたはダウンロードを介して）ファイルサーバまたは他の中間記憶デバイスに記憶された符号化されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶することと、符号化されたビデオデータを宛先デバイス１４に送信することとが可能なタイプのサーバであり得る。例示的なファイルサーバは、（例えば、ウェブサイト用の）ウェブサーバ、ファイル転送プロトコル（ＦＴＰ）サーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、およびローカルディスクドライブを含む。
【００３３】
[0062]  宛先デバイス１４は、インターネット接続のような標準的なデータ接続を通じて、符号化されたビデオデータにアクセスし得る。データ接続の例示的なタイプは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに好適な、ワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ（登録商標）接続）、有線接続（例えば、デジタル加入者線（ＤＳＬ）、ケーブルモデムなど）、または両方の組合せを含み得る。ファイルサーバからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
【００３４】
[0063]  本開示の技法は、ワイヤレスの適用例または設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、例えば、インターネット（ＨＴＴＰ（ＤＡＳＨ）を通じたダイナミック適応ストリーミングのような）を介したストリーミングビデオ送信、データ記憶媒体に記憶するためのビデオデータの符号化、データ記憶媒体に記憶されたビデオデータの復号、または他の用途のような、種々のマルチメディア用途をサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム１０が、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオ電話のような用途をサポートするために、単方向または双方向のビデオ送信をサポートするように構成され得る。
【００３５】
[0064]  図１は例にすぎず、本開示の技法は、符号化デバイスと復号デバイスとの間の任意のデータ通信を必ずしも含むとは限らないビデオコーディング設定（例えば、ビデオ符号化またはビデオ復号）に適用され得る。他の例では、データが、ローカルメモリから取り出されること、ネットワークを通じてストリーミングされることなどが行われる。ビデオ符号化デバイスはデータを符号化し、メモリに記憶でき、および／または、ビデオ復号デバイスはメモリからデータを取り出し、復号できる。多くの例では、符号化および復号が、互いに通信しないが、メモリにデータを符号化し、および／またはメモリからデータを取り出して復号するだけであるデバイスによって行われる。
【００３６】
[0065]  図１の例では、ソースデバイス１２が、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。いくつかの例では、出力インターフェース２２が、変調器／復調器（モデム）および／または送信機を含み得る。ビデオソース１８は、ビデオキャプチャデバイス、例えばビデオカメラ、以前にキャプチャされたビデオデータを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するビデオフィードインターフェース、および／もしくは、ビデオデータを生成するためのコンピュータグラフィックスシステム、またはそのようなビデオデータのソースの組合せを含み得る。さらなる代替形態として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、または、ライブビデオ、アーカイブされたビデオ、およびコンピュータで生成されたビデオの組合せを生成し得る。
【００３７】
[0066]  ビデオエンコーダ２０は、ビデオソース１８からのビデオデータ（例えば、キャプチャされた、事前にキャプチャされた、またはコンピュータで生成されたビデオ）を符号化できる。いくつかの例では、ソースデバイス１２が、出力インターフェース２２を介して宛先デバイス１４に符号化されたビデオデータを直接送信する。他の例では、符号化されたビデオデータがまた、復号および／または再生のための宛先デバイス１４による後のアクセスのために、記憶媒体またはファイルサーバに記憶され得る。本開示の技法の１つまたは複数によれば、ソースデバイス１２のビデオエンコーダ２０は、イントラ予測のために適応的なフィルタの使用をシグナリングするための技法を適用できる。
【００３８】
[0067]  図１の例では、宛先デバイス１４が、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。他の例では、ソースデバイス１２および宛先デバイス１４が、他のコンポーネントまたは構成を含み得る。例えば、ソースデバイス１２は、外部カメラのような外部ビデオソースからビデオデータを受信できる。同様に、宛先デバイス１４は、一体型のディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースで接続することがある。
【００３９】
[0068]  入力インターフェース２８は、チャネル１６を通じて符号化されたビデオデータを受信できる。いくつかの例では、入力インターフェース２８が受信機および／またはモデムを含む。ビデオデコーダ３０は、符号化されたビデオデータを復号できる。チャネル１６を通じて通信される、またはストレージデバイスに提供される符号化されたビデオデータは、ビデオデータを復号する際に、ビデオデコーダ３０のようなビデオデコーダが使用するための、ビデオエンコーダ２０によって生成される種々のシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信され、記憶媒体上に記憶される符号化されたビデオデータとともに含まれてよく、またはファイルサーバを記憶した。従って、いくつかの例では、宛先デバイス１４の入力インターフェース２８が、情報をチャネル１６（例えば、コンピュータ可読媒体）から受信する。チャネル１６の情報は、ビデオエンコーダ２０によって定義されビデオデコーダ３０によっても使用される、ブロックおよび他のコーディングされたユニット、例えば、ピクチャグループ（ＧＯＰ）の特性および／または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。
【００４０】
[0069]  ディスプレイデバイス３２は、復号されたビデオデータを（例えば、ユーザに）表示できる。ディスプレイデバイス３２は、宛先デバイス１４と一体化され得るか、またはその外部にあり得る。いくつかの例では、宛先デバイス１４が、一体化されたディスプレイデバイスを含んでよく、外部ディスプレイデバイスとインターフェースで接続するように構成されてよい。他の例では、宛先デバイス１４がディスプレイデバイスであってよい。ディスプレイデバイス３２は、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、陰極線管（ＣＲＴ）ディスプレイ、または別のタイプのディスプレイデバイスのような、種々のディスプレイデバイスを備え得る。
【００４１】
[0070]  図１には示されないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０が各々、オーディオエンコーダおよびデコーダと統合されてよく、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアとソフトウェアとを含み得る。ＭＵＸ−ＤＥＭＵＸユニットは、適切なマルチプレクサプロトコルに準拠し得る。例えば、可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）のような他のプロトコルに準拠し得る。
【００４２】
[0071]  ビデオエンコーダ２０およびビデオデコーダ３０は各々、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ハードウェア、またはそれらの任意の組合せのような、種々の適切な回路（例えば、可能な場合、エンコーダ回路またはデコーダ回路）のいずれかとして実装され得る。本技法がソフトウェアに部分的に実装される例では、デバイスが、適切な非一時的コンピュータ可読記憶媒体にソフトウェアのための命令を記憶でき、本開示の技法を行うために１つまたは複数のプロセッサを使用してハードウェア内でそれらの命令を実行できる。（ハードウェア、ソフトウェア、ハードウェアおよびソフトウェアの組合せなどを含む）上記のいずれもが、１つまたは複数のプロセッサであると見なされ得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダに含まれることがあり、それらのいずれかが、それぞれのデバイス中の複合エンコーダ／デコーダ（ＣＯＤＥＣ）の一部として組み込まれることがある。ビデオエンコーダ２０および／またはビデオデコーダ３０を含むデバイスは、集積回路、マイクロプロセッサ、および／または携帯電話のようなワイヤレス通信デバイスを備え得る。
【００４３】
[0072]  本開示は全般に、ビデオエンコーダ２０が、ある情報をビデオデコーダ３０のような別のデバイスに「シグナリング」することに言及することがある。「シグナリング」という用語は、全般に、圧縮されたビデオデータを復号するために使用されるシンタックス要素および／または他のデータの通信を指し得る。そのような通信は、リアルタイムまたはほぼリアルタイムで発生し得る。代替的に、そのような通信は、符号化の時に符号化されたビットストリームの中でシンタックス要素をコンピュータ可読記憶媒体に記憶するときに発生し得るなど、ある時間の長さにわたって発生することがあり、これらの要素は次いで、この媒体に記憶された後の任意の時間に復号デバイスによって取り出され得る。
【００４４】
[0073]  図１の例示されたシステム１０は、一例にすぎない。イントラ予測における適応的なフィルタの使用をシグナリングするための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって行われ得る。一般に、本開示の技法はビデオ符号化デバイスによって行われるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても行われ得る。その上、ビデオプロセッサが、本開示の技法の１つまたは複数を行い得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２がコーディングされたビデオデータを宛先デバイス１４への送信のために生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４が実質的に対称的な方式で動作し、デバイス１２、１４の各々がビデオ符号化コンポーネントとビデオ復号コンポーネントとを含むようにできる。
【００４５】
[0074]  いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０が、そのスケーラブルビデオコーディング（ＳＶＣ）拡張と、マルチビュービデオコーディング（ＭＶＣ）拡張と、ＭＶＣベースの３ＤＶ拡張とを含む、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌおよび（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４のようなビデオ圧縮規格に従って動作する。ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）として知られる共同パートナーシップの成果としてＩＳＯ／ＩＥＣ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とともにＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）によって策定された。いくつかの事例では、Ｈ．２６４／ＡＶＣのＭＶＣベース３ＤＶ拡張に準拠するどのビットストリームも、Ｈ．２６４／ＡＶＣのＭＶＣ拡張に準拠するサブビットストリームを常に含む。さらに、Ｈ．２６４／ＡＶＣへの３次元ビデオ（３ＤＶ）コーディング拡張、すなわちＡＶＣベースの３ＤＶを生成するための取り組みが進行中である。いくつかの態様では、本開示で説明される技法が、Ｈ．２６４規格に概ね準拠するデバイスに適用され得る。Ｈ．２６４規格は、ＩＴＵ−Ｔ  Ｓｔｕｄｙ  Ｇｒｏｕｐによる２００５年３月付のＩＴＵ−Ｔ勧告Ｈ．２６４、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓに記載されており、本明細書でＨ．２６４規格もしくはＨ．２６４仕様、またはＨ．２６４／ＡＶＣ規格もしくは仕様と呼ばれることがある。Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）はＨ．２６４／ＭＰＥＧ−４  ＡＶＣへの拡張に取り組み続けている。他の例では、ビデオエンコーダ２０およびビデオデコーダ３０が、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、およびＩＴＵ−Ｔ  Ｈ．２６４、ＩＳＯ／ＩＥＣ  Ｖｉｓｕａｌに従って動作し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、他のプロプライエタリ規格もしくは業界規格、またはそのような規格の拡張に従って動作し得る。
【００４６】
[0075]  他の例では、ビデオエンコーダ２０およびビデオデコーダ３０が、ＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）ａｎｄ  ＩＳＯ／ＩＥＣ  Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）のＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｏｎ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）によって開発されたＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格に従って動作し得る。いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０が、ＨＥＶＣ  Ｔｅｓｔ  Ｍｏｄｅｌ（ＨＭ）に準拠し得る。ＨＭは、例えばＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対して、ビデオコーディングデバイスのいくつかの追加の機能を仮定する。例えば、Ｈ．２６４は、９つのイントラ予測符号化モードを提供するが、ＨＭは、３３個または３５個ものイントラ予測符号化モードを提供し得る。本開示の技法は、説明を目的としてＨＥＶＣを参照して説明されているが、必ずしも任意の特定のコーディング規格に限定されるとは限らない。
【００４７】
[0076]  「ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  １０」または「ＷＤ１０」と呼ばれるＨＥＶＣ規格の最近のドラフトは、文書ＪＣＴＶＣ−Ｌ１００３ｖ３４、Ｂｒｏｓｓ他、「Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ（ＨＥＶＣ）ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  １０（ｆｏｒ  ＦＤＩＳ＆Ｌａｓｔ  Ｃａｌｌ）」、Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）ｏｆ  ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３  ａｎｄ  ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１、第１２回会合：ジュネーブ、スイス、２０１３年１月１４〜２３日に記載されており、この文書は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１２＿Ｇｅｎｅｖａ／ｗｇ１１／ＪＣＴＶＣ−Ｌ１００３−ｖ３４．ｚｉｐからダウンロード可能である。
【００４８】
[0077]  ＨＥＶＣ  ＷＤ１０または簡潔に「ＷＤ１０改訂版」と呼ばれ、Ｂｒｏｓｓ他、「Ｅｄｉｔｏｒｓ’  ｐｒｏｐｏｓｅｄ  ｃｏｒｒｅｃｔｉｏｎｓ  ｔｏ  ＨＥＶＣ  ｖｅｒｓｉｏｎ  １」、Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）ｏｆ  ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３  ａｎｄ  ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１、第１３回会合、仁川、韓国、２０１３年４月に記載されている、別の最近のＨＥＶＣのテキスト仕様のドラフトは、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１３＿Ｉｎｃｈｅｏｎ／ｗｇ１１／ＪＣＴＶＣ−Ｍ０４３２−ｖ３．ｚｉｐから入手可能である。ＨＥＶＣ規格の最終的なバージョンは入手可能であり、「ＨＥＶＣ  ｖｅｒｓｉｏｎ  １」と呼ばれ得る。さらに、ＨＥＶＣのためのスケーラブルビデオコーディング拡張と、マルチビューコーディング拡張と、３ＤＶ拡張とを作成する作業が進行中である。ＨＥＶＣのスケーラブルビデオコーディング拡張はＳＨＥＶＣと呼ばれることがある。ＨＥＶＣの３ＤＶ拡張は、ＨＥＶＣベースの３ＤＶまたはＨＥＶＣ−３ＤＶと呼ばれることがある。
【００４９】
[0078]  ＪＣＴ−ＶＣは、ＨＥＶＣ規格を開発し、ＨＥＶＣ規格の範囲の拡張に向かって作業を続けている。ＨＥＶＣ規格の範囲の拡張は、「ＨＥＶＣ  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓ」または「ＪＣＴＶＣ−Ｍ１００５−ｖ２」と本明細書で呼ばれる、Ｆｌｙｎｎ、Ｓｏｌｅ  Ｒｏｊａｌｓ、およびＳｕｚｕｋｉ、「Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓ  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ：Ｄｒａｆｔ  ３」、ＪＣＴＶＣ−Ｍ１００５−ｖ２、Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）ｏｆ  ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ  ３  ａｎｄ  ＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１、第１３回会合、仁川、韓国、２０１３年４月１８〜２６日に記載されている。少なくとも２０１３年１０月１４日時点で、ＪＣＴＶＣ−Ｍ１００５は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１３＿Ｉｎｃｈｅｏｎ／ｗｇ１１／ＪＣＴＶＣ−Ｍ１００５＿ｖ２．ｚｉｐから入手可能である。
【００５０】
[0079]  ＨＥＶＣおよび他のビデオコーディング仕様では、ビデオシーケンスが一般に一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャグループ（ＧＯＰ）は一般に、一連の１つまたは複数のビデオピクチャを備える。ＧＯＰは、ＧＯＰに含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャの１つまたは複数のヘッダ中、または他の場所に含み得る。
【００５１】
[0080]  ピクチャは、ＳL、ＳCb、およびＳCrと示される３つのサンプルアレイを含み得る。ＳLは、ルーマサンプルの２次元アレイ（すなわち、ブロック）である。ＳCbは、Ｃｂクロミナンスサンプルの２次元アレイである。ＳCrは、Ｃｒクロミナンスサンプルの２次元アレイである。クロミナンスサンプルは、本明細書で「クロマ」サンプルとも呼ばれ得る。他の例では、ピクチャが、モノクロームであってよく、ルーマサンプルのアレイのみを含み得る。
【００５２】
[0081]  ピクチャの符号化された表現を生成するために、ビデオエンコーダ２０はコーディングツリーユニット（ＣＴＵ）のセットを生成し得る。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの２つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有する１つまたは複数のモノクロームピクチャでは、ＣＴＵが、単一のコーディングツリーブロックと、そのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。コーディングツリーブロックは、サンプルのＮ×Ｎのブロックであり得る。ＣＴＵは、「ツリーブロック」または「最大コーディングユニット」（ＬＣＵ）とも呼ばれることがある。このようにして、ＨＭの作業モデルは、ビデオフレームまたはピクチャが、ルーマとクロマの両方のサンプルを含む一連のツリーブロックまたはＬＣＵ（「コーディングツリーユニット」とも呼ばれる）に分割され得ることを記述する。ツリーブロックは、Ｈ．２６４規格のマクロブロックと同様の目的を有し得る。
【００５３】
[0082]  ＨＥＶＣのＣＴＵは、Ｈ．２６４／ＡＶＣのような他の規格のマクロブロックに広い意味で類似し得る。しかしながら、ＣＴＵは、必ずしも特定のサイズには限定されず、１つまたは複数のコーディングユニット（ＣＵ）を含み得る。ビットストリーム内のシンタックスデータはＬＣＵのサイズを定義でき、ＬＣＵはピクセルの数の点で最大のコーディングユニットである。
【００５４】
[0083]  ビデオフレームまたはピクチャは、１つまたは複数のスライスに区画され得る。スライスは、ラスタースキャン順序で連続的に順序付けられた整数個のＣＴＵを含み得る。言い換えると、スライスは、いくつかの連続したツリーブロックを、コーディングの順序で含み得る。いくつかの例では、ピクチャの各スライスが、それぞれのスライスのための符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は通常、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、固定サイズまたは可変サイズを有することがあり、指定されたコーディング規格に応じてサイズが異なり得る。
【００５５】
[0084]  コーディングされたＣＴＵを生成するために、ビデオエンコーダ２０は、コーディングツリーブロックをコーディングブロックに分割するように、ＣＴＵのコーディングツリーブロックに対して４分木区画を再帰的に行うことができ、従って「コーディングツリーユニット」という名称である。コーディングブロックは、サンプルのＮ×Ｎのブロックである。ＣＵは、ルーマサンプルアレイとＣｂサンプルアレイとＣｒサンプルアレイとを有するピクチャのルーマサンプルのコーディングブロックと、そのピクチャのクロマサンプルの２つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有する１つまたは複数のモノクロームピクチャでは、ＣＵが、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。ＣＵは、ＣＵがサイズの区別を有しないことを除いて、Ｈ．２６４規格のマクロブロックと同様の目的を有し得る。
【００５６】
[0085]  従って、いくつかの例では、各ツリーブロックが、４分木に従って１つまたは複数のＣＵに分割され得る。例えば、ツリーブロックは、（サブＣＵとも呼ばれる）４つの子ノードに分割されてよく、各子ノードは、今度は親ノードとなり、別の４つの子ノードに分割されてよい。一般に、４分木データ構造は、ＣＵあたり１つのノードを、ツリーブロックに対応するルートノードとともに含む。ＣＵが４つのサブＣＵに分割される場合、ＣＵに対応するノードは、４つのリーフノードを含み、その各々は、サブＣＵの１つに対応する。４分木のリーフノードと呼ばれる、最後の分割されていない子ノードは、リーフＣＵ（例えば、コーディングされたビデオブロック）とも呼ばれるコーディングノードを備える。従って、ビデオブロックはＣＵ内のコーディングノードに対応し得る。４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。例えば、４分木中のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのためのシンタックス要素は、再帰的に定義されてよく、ＣＵがサブＣＵに分割されるかどうかに依存し得る。ＣＵがさらに分割されない場合、そのＣＵはリーフＣＵと呼ばれる。本開示では、たとえ元のリーフＣＵの明示的な分割がなくても、リーフＣＵの４つのサブＣＵもリーフＣＵと呼ばれる。例えば、１６×１６のサイズのＣＵがさらに分割されない場合、４つの８×８サブＣＵも、１６×１６ＣＵが決して分割されなくてもリーフＣＵと呼ばれる。ＣＵのサイズは、コーディングノードのサイズ（すなわち、ＣＵのコーディングブロックのサイズ）に対応し、いくつかの例では、形状が正方形でなければならない。ＣＵのサイズは、８×８ピクセルから、最大で６４×６４ピクセルまたはそれを超えるツリーブロックのサイズにまで及び得る。コーディングされたビットストリームと関連付けられるシンタックスデータは、最大ＣＵ深度と呼ばれる、ツリーブロックが分割され得る最大の回数を定義でき、コーディングノードの最小のサイズも定義できる。それに応じて、ビットストリームは最小コーディングユニット（ＳＣＵ）を定義することもできる。
【００５７】
[0086]  ビデオエンコーダ２０は、ＣＵのコーディングブロックを１つまたは複数の予測ブロックに区画できる。予測ブロックは、同じ予測が適用されるサンプルの矩形（すなわち、正方形または非正方形）ブロックである。ＣＵの予測ユニット（ＰＵ）は、ルーマサンプルの予測ブロックと、クロマサンプルの２つの対応する予測ブロックと、それらの予測ブロックを予測するために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有する１つまたは複数のモノクロームピクチャでは、ＰＵが、単一の予測ブロックと、その予測ブロックを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ２０は、ＣＵの各ＰＵの予測ブロック（例えば、ルーマ予測ブロック、Ｃｂ予測ブロック、およびＣｒ予測ブロック）のための予測ブロック（例えば、予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロック）を生成できる。従って、リーフＣＵは、１つまたは複数のＰＵを含み得る。一般に、ＰＵは、対応するＣＵの全てまたは一部分に対応する空間的エリアを表し、そのＰＵの参照サンプルを取り出すためのデータを含み得る。
【００５８】
[0087]  その上、ＰＵは、予測に関するデータを含み得る。言い換えると、ＰＵは、予測処理に関するデータを含み得る。例えば、ＰＵがイントラモード符号化されるとき、ＰＵは、ＰＵのためのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、そのＰＵのための動きベクトルを定義するデータを含み得る。ＰＵのための動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（例えば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルのための参照ピクチャリスト（例えば、リスト０、リスト１、またはリストＣ）を記述し得る。
【００５９】
[0088]  ＣＵと関連付けられるシンタックスデータは、例えば、１つまたは複数のＰＵへのＣＵの区画を記述し得る。区画モードは、ＣＵがスキップモード符号化もしくはダイレクトモードで符号化されるか、イントラ予測モードで符号化されるか、またはインター予測モードで符号化されるかで、異なり得る。ＰＵは、形状が非正方形となるように区画され得る。
【００６０】
[0089]  ＨＭは、様々なＰＵサイズでの予測をサポートする。例えば、いくつかの例では、特定のＣＵのサイズが２Ｎ×２Ｎであるとすると、ＨＭが、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズでのイントラ予測、および２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称なＰＵサイズでのインター予測をサポートする。ＨＭは、また、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズでのインター予測のための、非対称な区画をサポートし得る。非対称な区画では、ＣＵの一方向が区画されないが、他の方向が２５％および７５％に区画される。２５％の区画に対応するＣＵの部分は、「ｎ」とそれに続く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」という指示によって示される。従って、例えば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５ＮのＰＵ、および下部の２Ｎ×１．５ＮのＰＵによって水平に区画される２Ｎ×２ＮのＣＵを指す。
【００６１】
[0090]  本開示では、「Ｎ×Ｎ」および「Ｎ  ｂｙ  Ｎ」が、垂直方向および水平方向の寸法の観点からビデオブロックのピクセルの寸法を指すために、例えば、１６×１６ピクセルまたは１６ｂｙ１６ピクセルのように同義で使用され得る。一般に、１６×１６ブロックは、垂直方向に１６ピクセル（ｙ＝１６）、および水平方向に１６ピクセル（ｘ＝１６）を有する。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮピクセル、および水平方向にＮピクセルを有し、ここでＮは、非負の整数値を表す。ブロックのピクセルは、行および列へと並べられ得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要はない。例えば、ブロックはＮ×Ｍピクセルを備えることがあり、ここで、Ｍは必ずしもＮに等しいとは限らない。
【００６２】
[0091]  ビデオエンコーダ２０は、ＰＵのための予測ブロックを生成するためにイントラ予測またはインター予測を使用できる。ビデオエンコーダ２０がＰＵの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ２０は、ＰＵと関連付けられたピクチャの復号されたサンプルに基づいてＰＵの予測ブロックを生成できる。ビデオエンコーダ２０がＰＵの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ２０は、ＰＵと関連付けられたピクチャ以外の１つまたは複数のピクチャの復号されたサンプルに基づいて、ＰＵの予測ブロックを生成できる。いくつかの例では、ＰＵがインターモードで符号化されるとき、ＰＵが、ＰＵのための１つまたは複数の動きベクトルを定義するデータを含み得る。ＰＵのための動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（例えば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルのための参照ピクチャリスト（例えば、リスト０、リスト１、またはリストＣ）を記述し得る。
【００６３】
[0092]  ビデオコーダが予測ブロックを生成するためにイントラ予測を使用するとき、ビデオコーダは、複数の利用可能なイントラ予測モードからのイントラ予測モードに従って、予測ブロックを生成できる。イントラ予測モードは、複数の方向的（すなわち、角度）イントラ予測モードを含み得る。例えば、ＨＥＶＣのいくつかのバージョンでは、３３個の方向的イントラ予測モードがある。方向的イントラ予測モードの各々は、異なる方向に対応する。図２は、例示的なイントラ予測モード方向を示す概念図である。ビデオコーダが方向的イントラ予測モードに従って予測ブロックを生成するとき、ビデオコーダは、予測ブロックの各々のそれぞれのサンプルに対して、方向的イントラ予測モードに対応する方向にそれぞれのサンプルと揃っている参照サンプル（または参照サンプルの重み付けられた組合せ）の値を、それぞれのサンプルに割り当てることができる。ビデオコーダが現在のブロックのための予測ブロックを生成するために方向的（すなわち、角度）イントラ予測モードを使用するとき、ビデオコーダは、角度イントラ予測を行うと言われ得る。
【００６４】
[0093]  ビデオエンコーダ２０がＣＵの１つまたは複数のＰＵのための予測ブロック（例えば、予測ルーマブロック、予測Ｃｂブロック、および予測Ｃｒブロック）を生成した後、ビデオエンコーダ２０はＣＵのための１つまたは複数の残差ブロックを生成できる。言い換えると、ＣＵのＰＵを使用するイントラ予測コーディングまたはインター予測コーディングの後で、ビデオエンコーダ２０は、ＣＵのＴＵに対する残差データを計算できる。ＰＵは、空間領域（ピクセル領域とも呼ばれる）において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備えてよく、ＴＵは、変換、例えば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後の、変換領域における係数を備えてよい。
【００６５】
[0094]  残差ブロック中の各サンプルは、ＣＵの予測ブロックの１つの中のサンプルと、ＣＵのコーディングブロックの１つの中の対応するサンプルとの差分を示す。例えば、ビデオエンコーダ２０は、ＣＵのためのルーマ残差ブロックを生成できる。ＣＵのルーマ残差ブロック中の各サンプルは、ＣＵの予測ルーマブロックの１つの中のルーマサンプルとＣＵの元のルーマコーディングブロック中の対応するサンプルとの差分を示す。従って、残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応し得る。加えて、ビデオエンコーダ２０は、ＣＵのためのＣｂ残差ブロックを生成できる。ＣＵのＣｂ残差ブロック中の各サンプルは、ＣＵの予測Ｃｂブロックの１つの中のＣｂサンプルと、ＣＵの元のＣｂコーディングブロック中の対応するサンプルとの間の差を示し得る。ビデオエンコーダ２０はまた、ＣＵのためのＣｒ残差ブロックを生成できる。ＣＵのＣｒ残差ブロック中の各サンプルは、ＣＵの予測Ｃｒブロックの１つの中のＣｒサンプルと、ＣＵの元のＣｒコーディングブロック中の対応するサンプルとの間の差を示し得る。
【００６６】
[0095]  １つまたは複数のＰＵを有するリーフＣＵは、１つまたは複数の変換ユニット（ＴＵ）も含み得る。一般に、ＴＵは、変換処理および量子化処理のために使用される。１つまたは複数のＰＵを有する所与のＣＵは、１つまたは複数のＴＵも含み得る。ビデオエンコーダ２０は、ＣＵの残差ブロック（例えば、ルーマ残差ブロック、Ｃｂ残差ブロック、およびＣｒ残差ブロック）を１つまたは複数の変換ブロック（例えば、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロック）に分解するために、４分木区画を使用できる。変換ブロックは、同じ変換が適用されるサンプルの矩形（例えば、正方形または非正方形）ブロックである。従って、ＴＵは形状が正方形であってよく、またはいくつかの例で、非正方形（例えば、長方形）であってもよい。予測の後に、ビデオエンコーダ２０は、ＰＵに対応する残差値を計算できる。残差値は、エントロピーコーディングのためのシリアル化された変換係数を生成するために、ＴＵを使用して変換係数に変換され、量子化され、走査され得るピクセル差分値を備える。
【００６７】
[0096]  いくつかの例では、ＴＵが、区画されたＬＣＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。ＴＵは通常、ＰＵと同じサイズであり、またはＰＵよりも小さい。従って、ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。むしろ、ＴＵはＰＵよりも大きくても、または小さくてもよい。イントラコーディングのために、ＰＵは、同じＣＵのための対応するリーフＴＵと併置され得る。いくつかの例では、リーフＴＵの最大サイズが、対応するリーフＣＵのサイズに対応し得る。
【００６８】
[0097]  いくつかの例では、リーフＣＵが４つのＴＵに分割されるかどうかを分割フラグが示し得る。次いで、各ＴＵは、さらなるサブＴＵにさらに分割され得る。ＴＵがさらに分割されないとき、そのＴＵはリーフＴＵと呼ばれ得る。いくつかの例では、イントラコーディングのために、リーフＣＵに属している全てのリーフＴＵが、同じイントラ予測モードを共有する。すなわち、同じイントラ予測モードが、リーフＣＵの全てのＴＵに対して予測される値を計算するために全般に適用される。イントラコーディングの場合、ビデオエンコーダは、イントラ予測モードを使用して、各リーフＴＵに対する残差値を、ＴＵに対応するＣＵの一部と元のブロックとの間の差分として計算できる。
【００６９】
[0098]  いくつかの例では、ＣＵに対応する残差サンプルが、「残差４分木」（ＲＱＴ）と呼ばれる４分木構造を使用して、より小さいユニットに再分割され得る。言い換えると、ＴＵは、ＲＱＴ（ＴＵ４分木構造とも呼ばれる）を使用して指定され得る。すなわち、リーフＣＵのＴＵはまた、ＲＱＴと呼ばれる、それぞれの４分木データ構造と関連付けられ得る。このようにして、リーフＣＵは、リーフＣＵがどのようにＴＵに区画されるかを示す４分木を含み得る。ＲＱＴのリーフノードはＴＵと呼ばれ得る。ＴＵ４分木のルートノードは一般にリーフＣＵに対応するが、ＣＵ４分木のルートノードは一般にツリーブロック（またはＬＣＵ）に対応する。分割されないＲＱＴのＴＵはリーフＴＵと呼ばれ得る。一般に、本開示は、別段に注記されない限り、ＣＵおよびＴＵという用語を、それぞれ、リーフＣＵおよびリーフＴＵを指すために使用する。ＴＵと関連付けられるピクセル差分値は、変換係数を生成するために変換されてよく、その変換係数は量子化されてよい。いくつかの例では、ＰＵがイントラモードで符号化されるとき、ＰＵのためのデータがＲＱＴに含まれてよく、ＲＱＴは、ＰＵに対応するＴＵのためのイントラ予測モードを記述するデータを含み得る。
【００７０】
[0099]  ＣＵのＴＵは、ルーマサンプルの変換ブロックと、クロマサンプルの２つの対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。言い換えると、ＣＵの各ＴＵは、ルーマ変換ブロックと、Ｃｂ変換ブロックと、Ｃｒ変換ブロックとに関連付けられ得る。ＴＵと関連付けられたルーマ変換ブロックは、ＣＵのルーマ残差ブロックのサブブロックであり得る。Ｃｂ変換ブロックは、ＣＵのＣｂ残差ブロックのサブブロックであり得る。Ｃｒ変換ブロックは、ＣＵのＣｒ残差ブロックのサブブロックであり得る。３つの別個のカラープレーンを有する１つまたは複数のモノクロームピクチャでは、ＴＵが、単一の変換ブロックと、その変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備え得る。このようにして、ＣＵは、コーディングノードと、コーディングノードと関連付けられるＰＵおよびＴＵとを含み得る。ＣＵと関連付けられたシンタックスデータは、例えば、４分木に従ってＣＵを１つまたは複数のＴＵに区画することも記述し得る。本開示は、「ブロック」という用語を、ＨＥＶＣの文脈でＣＵ、ＰＵ、またはＴＵのうちのいずれか、または他の規格の文脈で同様のデータ構造（例えば、Ｈ．２６４／ＡＶＣのマクロブロックおよびそのサブブロック）を指すために使用し得る。さらに、いくつかの例では、本開示が、ＣＵのコーディングノードを指すために、「ビデオブロック」という用語を使用し得る。いくつかの特定の場合には、本開示がまた、コーディングノード並びにＰＵおよびＴＵを含む、ツリーブロック、すなわち、ＬＣＵまたはＣＵを指すために、「ビデオブロック」という用語を使用し得る。
【００７１】
[0100]  ビデオエンコーダ２０は、ＴＵのルーマ変換ブロックに１回または複数回の変換を適用して、ＴＵのルーマ係数ブロックを生成できる。言い換えると、ＨＥＶＣ規格は、異なるＣＵに対しては異なり得る、ＴＵに従った変換を可能にする。係数ブロックは、変換係数の２次元アレイであり得る。変換係数は、スカラー量であり得る。ビデオエンコーダ２０は、ＴＵのためのＣｂ係数ブロックを生成するために、ＴＵのＣｂ変換ブロックに１回または複数回の変換を適用できる。ビデオエンコーダ２０は、ＴＵのためのＣｒ係数ブロックを生成するために、ＴＵのＣｒ変換ブロックに１回または複数回の変換を適用できる。このようにして、ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＣＵのための変換係数を生成するためにＴＵを変換できる。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＣＵのための変換係数を生成するためにＴＵを変換できる。
【００７２】
[0101]  係数ブロック（例えば、ルーマ係数ブロック、Ｃｂ係数ブロック、またはＣｒ係数ブロック）を生成した後、ビデオエンコーダ２０は、その係数ブロックを量子化できる。言い換えると、変換係数を生成するための任意の変換の後で、ビデオエンコーダ２０は、変換係数の量子化を行い得る。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ減らすために変換係数が量子化され、さらなる圧縮を実現する処理を指す。量子化処理は、係数の一部または全てと関連付けられるビット深度を低減できる。例えば、ｎビットの値は、量子化中にｍビットの値へと切り捨てられてよく、ここで、ｎはｍよりも大きい。
【００７３】
[0102]  量子化の後で、ビデオエンコーダは、変換係数を走査して、量子化された変換係数を含む２次元行列から１次元ベクトルを生成できる。走査は、アレイの前部により高いエネルギー（従って、より低い周波数）の係数を配置し、アレイの後部により低いエネルギー（従って、より高い周波数）の係数を配置するように設計され得る。いくつかの例では、ビデオエンコーダ２０が、エントロピー符号化され得るシリアル化されたベクトルを生成するために、量子化された変換係数を走査するための予め定められた走査順序を利用できる。他の例では、ビデオエンコーダ２０が適応走査を行い得る。
【００７４】
[0103]  ビデオエンコーダ２０が係数ブロックを量子化した後、ビデオエンコーダ２０は、量子化された変換係数を示すシンタックス要素をエントロピー符号化できる。例えば、ビデオエンコーダ２０は、量子化された変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）を行い得る。例えば、１次元ベクトルを形成するために量子化された変換係数を走査した後に、ビデオエンコーダ２０は、例えば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context-adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区画エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディング、または別のエントロピー符号化方法に従って１次元ベクトルをエントロピー符号化できる。ビデオエンコーダ２０は、ビデオデータを復号する際にビデオデコーダ３０が使用するための、符号化されたビデオデータと関連付けられたシンタックス要素をエントロピー符号化することもできる。
【００７５】
[0104]  ＣＡＢＡＣを行うために、ビデオエンコーダ２０は、コンテキストモデル内のコンテキストを、送信されるべきシンボルに割り当てることができる。コンテキストは、例えば、シンボルの隣接値が０でないかどうかに関し得る。ＣＡＶＬＣを行うために、ビデオエンコーダ２０は、送信されるべきシンボルに対する可変長符号を選択できる。ＶＬＣの中の符号語は、比較的短い符号が優勢シンボルに対応し、より長い符号が劣勢シンボルに対応するように、構築され得る。このようにして、ＶＬＣの使用は、例えば、送信されるべき各シンボルのために等長の符号語を使用するよりも、ビットの節約を達成し得る。確率の決定は、シンボルに割り当てられたコンテキストに基づき得る。
【００７６】
[0105]  ビデオエンコーダ２０は、コーディングされたピクチャおよび関連付けられるデータの表現を形成するビットのシーケンスを含むビットストリームを出力できる。ビットストリームは、一連のネットワーク抽象化レイヤ（ＮＡＬ）ユニットを備え得る。ＮＡＬユニットは、ＮＡＬユニット中のデータのタイプの指示と、必要に応じてエミュレーション防止ビットが点在するローバイトシーケンスペイロード（ＲＢＳＰ：raw byte sequence payload）の形態でそのデータを含んでいるバイトとを含む、シンタックス構造である。ＮＡＬユニットの各々は、ＮＡＬユニットヘッダを含み、ＲＢＳＰをカプセル化する。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを含むシンタックス要素を含み得る。ＮＡＬユニットのＮＡＬユニットヘッダによって指定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化された整数個のバイトを含んでいるシンタックス構造であり得る。場合によっては、ＲＢＳＰは０ビットを含む。
【００７７】
[0106]  様々なタイプのＮＡＬユニットは、様々なタイプのＲＢＳＰをカプセル化できる。例えば、第１のタイプのＮＡＬユニットはピクチャパラメータセット（ＰＰＳ）のためのＲＢＳＰをカプセル化でき、第２のタイプのＮＡＬユニットはコーディングされたスライスのためのＲＢＳＰをカプセル化でき、第３のタイプのＮＡＬユニットはＳＥＩのためのＲＢＳＰをカプセル化でき、以下同様である。ビデオコーディングデータのためのＲＢＳＰ（パラメータセットおよびＳＥＩメッセージのためのＲＢＳＰでなく）をカプセル化するＮＡＬユニットは、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットと呼ばれ得る。
【００７８】
[0107]  ＨＥＶＣおよび他のビデオコーディング規格は様々なタイプのパラメータセットを与える。例えば、ビデオパラメータセット（ＶＰＳ）は、０個以上のコーディングされたビデオシーケンス（ＣＶＳ）全体に適用されるシンタックス要素を備えるシンタックス構造である。シーケンスパラメータセット（ＳＰＳ）は、ＣＶＳの全てのスライスに適用される情報を含み得る。ＳＰＳは、ＳＰＳがアクティブであるときにアクティブであるＶＰＳを識別するシンタックス要素を含み得る。従って、ＶＰＳのシンタックス要素は、ＳＰＳのシンタックス要素よりも一般的に適用可能であり得る。ＰＰＳは、０個以上のコーディングされたピクチャに適用されるシンタックス要素を備えるシンタックス構造である。ＰＰＳは、ＰＰＳがアクティブであるとき、アクティブであるＳＰＳを識別するシンタックス要素を含み得る。スライスのスライスヘッダは、スライスがコーディングされるときにアクティブであるＰＰＳを示すシンタックス要素を含み得る。
【００７９】
[0108]  ビデオデコーダ３０は、ビデオエンコーダ２０によって生成されたビットストリームを受信できる。加えて、ビデオデコーダ３０は、ビットストリームを解析して、ビットストリームからシンタックス要素を取得できる。ビデオデコーダ３０は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構築できる。ビデオデータを再構築するための処理は、全般に、ビデオエンコーダ２０によって行われる処理の逆であり得る。例えば、ビデオデコーダ３０は、現在のＣＵのＰＵのための予測ブロックを決定するために、ＰＵの動きベクトルを使用できる。加えて、ビデオデコーダ３０は、現在のＣＵのＴＵと関連付けられた係数ブロックを逆量子化できる。ビデオデコーダ３０は、現在のＣＵのＴＵと関連付けられた変換ブロックを再構築するために、係数ブロックに対して逆変換を行い得る。ビデオデコーダ３０は、現在のＣＵのＰＵのための予測ブロックのサンプルを現在のＣＵのＴＵの変換ブロックの対応するサンプルに加算することによって、現在のＣＵのコーディングブロックを再構築できる。ピクチャの各ＣＵのためのコーディングブロックを再構築することによって、ビデオデコーダ３０はピクチャを再構築できる。
【００８０】
[0109]  本開示の技法の１つまたは複数は、ＨＥＶＣ  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓに従ったビデオコーディングに関する。言い換えると、本開示の技法の１つまたは複数は、ＨＥＶＣ  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓとともに使用され得る。本技法の１つまたは複数は、ＨＥＶＣ  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓにおけるイントラ予測で使用される参照サンプルのための適応的なフィルタ制御を提供し得る。スクリーンコンテンツのコーディングに関する技法も、本開示で説明される。しかしながら、本開示の技法はＨＥＶＣ規格またはＨＥＶＣ  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓに必ずしも限定されず、他のビデオコーディングシステムおよび処理において適用可能であり得る。以下のセクションで、現在のＨＥＶＣ  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓのワーキングドラフト仕様（ＪＣＴＶＣ−Ｍ１００５−ｖ２）におけるイントラサンプル予測のために使用されるいくつかのフィルタリング動作が提示される。
【００８１】
[0110]  ＨＥＶＣイントラ予測では、上側および左側の隣接ブロックからすでに再構築されているサンプルが、予測のために使用される。２×幅＋２×高さ＋１個もの数のサンプルに上り得る隣接参照サンプルが、イントラ予測のための参照サンプルに対して使用される。従って、これらのすでに再構築されているサンプルは、参照サンプルと呼ばれ得る。言い換えると、イントラサンプル予測において、デブロッキングフィルタが予測のために使用される前にすでに再構築されている、ビデオエンコーダ２０によってイントラ符号化されるべき、またはビデオデコーダ３０によってイントラ復号されるべき、ブロックの上側および左側からの隣接サンプル。すなわち、これらの上側および左側のピクセルは参照サンプルと呼ばれる。参照サンプルは、ループフィルタリングの適用の前に得られる再構築されたサンプルであり得る。例えば、ＪＣＴＶＣ−Ｍ１００５−ｖ２の技法によれば、イントラサンプル予測において、デブロッキングフィルタが予測のために使用される前に、上側および左側からの隣接サンプルが再構築される。
【００８２】
[0111]  図３は、ＨＥＶＣイントラ予測のためのブロックの例示的な参照サンプルを示す概念図である。言い換えると、図３は、現在のブロックと現在のブロックに対する隣接ブロックとを示す概念図である。図３は、サイズがＭ（高さ）×Ｎ（幅）であるブロックと、左の隣接サンプルおよび上の隣接参照サンプルを含む隣接サンプルとを示す。具体的には、図３は４×４のブロックサイズを示し、（２×幅＋２×高さ＋１個もの）影付きの隣接サンプルが参照サンプルとして使用され得る。サンプルはＰi,jによって示され、ここで０≦ｉ≦（Ｍ−１）、０≦ｊ≦（Ｎ−１）である。言い換えると、現在のブロックは、行（０，０）から（Ｍ−１，０）および列（０，０）から（０，Ｎ−１）の中のピクセルを含む。
【００８３】
[0112]  影付きのブロックは、現在のブロックのピクセルを予測するのに利用可能であり得る隣接ピクセル（すなわち、参照サンプル）を表す。図３の例では、イントラ予測のために使用される参照サンプルが、−１≦ｊ≦（２Ｎ−１）であるＰ-1,-jおよび０≦ｉ≦（２Ｍ−１）であるＰi,-1によって示される。ＨＥＶＣおよび他のビデオコーディング規格では、１つまたは複数の参照ピクセルが利用可能ではない場合、ビデオコーダが、欠けている参照サンプルを生成するために、特定のパディング処理を使用できる。例えば、隣接ピクセルが（例えば、ピクチャまたはスライス境界において）利用可能でない場合、ＨＥＶＣが、ＪＣＴＶＣ−Ｍ１００５−ｖ２の８．４．４．２．２項において規定されるように、欠けているサンプルを置き換えるために、特定のパディング処理を使用する。従って、全ての参照サンプルが利用可能であるようにパディング処理が完了していると仮定され得る。
【００８４】
[0113]  いくつかのイントラ予測モードでは、双線形補間が予測を形成するために行われる。言い換えると、ビデオコーダが予測ブロックを生成するために特定のイントラ予測モードを使用するとき、ビデオコーダは、予測ブロックの各々のそれぞれのサンプルに対して、参照サンプルのうちの２つの双線形補間に基づいて、それぞれのサンプルの値を決定できる。例えば、ビデオコーダが予測ブロックを生成するために角度イントラ予測モードを使用するとき、ビデオコーダは、予測ブロックの各々のそれぞれのサンプルに対して、それぞれのサンプルを通る線が参照サンプルの上の行または参照サンプルの左の列と交差する交差点を決定できる。角度イントラ予測モードは、線の角度と方向とを定める。ビデオコーダは、交差点のいずれかの側の参照サンプルに基づいて、補間された参照サンプルの値を決定するために、双線形補間フィルタを使用できる。それぞれの予測されたサンプルの値は、この補間された参照サンプルの値と等しい。
【００８５】
[0114]  図４Ａは、角度イントラ予測における双線形補間を示す概念図である。図４Ａの例では、ビデオコーダが、予測ブロック中のサンプル「Ｘ」の値を決定している。サンプル「Ｘ」を通る線４０は、参照サンプル「Ａ」と参照サンプル「Ｂ」の間の位置４２において、参照サンプルの上の行と交差する。線４０は、実際には予測ブロックまたはピクチャの中に存在しないが、説明のために示されている。従って、ビデオコーダは、位置４２に対する値を決定するために、双線形補間フィルタを使用する。サンプル「Ｘ」の値は、位置４２に対する決定された値に等しく設定される。
【００８６】
[0115]  ＪＣＴＶＣ−Ｍ１００５−ｖ２では、双線形補間が式（８−５２）および（８−６０）によって規定される。式（８−５２）および（８−６０）を含むＪＣＴＶＣ−Ｍ１００５−ｖ２のセクション８．４．４．２．６の一部分が以下に転載される。
ｐｒｅｄＭｏｄｅＩｎｔｒａが１８以上である場合、次の順序のステップが適用される。
１．・・・
２．ｘ，ｙ＝０．．．ｎＴｂＳ−１である予測サンプルｐｒｅｄＳａｍｐｌｅｓ［ｘ]［ｙ］の値は、次のように導出される。
ａ．インデックス変数ｉＩｄｘおよび分数位置係数ｉＦａｃｔは、次のように導出される。
【００８７】
【数１】
0006580562.tif 000002
【００８８】
【数２】
0006580562.tif 000003
【００８９】
ｂ．ｉＦａｃｔの値に応じて、次のことが当てはまる。
−  ｉＦａｃｔが０に等しくない場合、予測サンプルｐｒｅｄＳａｍｐｌｅｓ［ｘ］［ｙ］の値は、次のように導出される。
【００９０】
【数３】
0006580562.tif 000004
【００９１】
−  それ以外の場合、予測サンプルｐｒｅｄＳａｍｐｌｅｓ［ｘ］［ｙ］の値は、次のように導出される。
【００９２】
【数４】
0006580562.tif 000005
【００９３】
ｃ．ｐｒｅｄＭｏｄｅＩｎｔｒａが２６に等しく（垂直方向）、ｃＩｄｘが０に等しく、ｎＴｂＳが３２未満であり、ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇが０に等しいとき、ｘ＝０，ｙ＝０．．．ｎＴｂＳ−１として次のフィルタリングが適用される。
【００９４】
【数５】
0006580562.tif 000006
【００９５】
それ以外（ｐｒｅｄＭｏｄｅＩｎｔｒａが１８未満である）場合、次の順序のステップが適用される。
１．・・・
２．ｘ，ｙ＝０．．．ｎＴｂＳ−１である予測サンプルｐｒｅｄＳａｍｐｌｅｓ［ｘ］［ｙ］の値は、次のように導出される。
ａ．インデックス変数ｉＩｄｘおよび分数位置係数ｉＦａｃｔは、次のように導出される。
【００９６】
【数６】
0006580562.tif 000007
【００９７】
【数７】
0006580562.tif 000008
【００９８】
ｂ．ｉＦａｃｔの値に応じて、次のことが当てはまる。
−  ｉＦａｃｔが０に等しくない場合、予測サンプルｐｒｅｄＳａｍｐｌｅｓ［ｘ］［ｙ］の値は、次のように導出される。
【００９９】
【数８】
0006580562.tif 000009
【０１００】
−  それ以外の場合、予測サンプルｐｒｅｄＳａｍｐｌｅｓ［ｘ］［ｙ］の値は、次のように導出される。
【０１０１】
【数９】
0006580562.tif 000010
【０１０２】
ｃ．ｐｒｅｄＭｏｄｅＩｎｔｒａが１０に等しく（水平方向）、ｃＩｄｘが０に等しく、ｎＴｂＳが３２未満であり、ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇが０に等しいとき、ｘ＝０．．．ｎＴｂＳ−１，ｙ＝０として次のフィルタリングが適用される。
【０１０３】
【数１０】
0006580562.tif 000011
【０１０４】
[0116]  スクリーンコンテンツまたはカメラ以外で生成されたコンテンツは、非常に鋭いエッジを含むことがある。その結果、そのようなコンテンツのための予測値を形成するには、双線形補間は適していないことがある。従って、Ｃｈｅｎ他、「Ｎｏｎ−ＲＣＥ２：Ｅｎｈａｎｃｅｄ  ａｎｇｕｌａｒ  ｉｎｔｒａ−ｐｒｅｄｉｃｔｉｏｎ  ｆｏｒ  ｓｃｒｅｅｎ  ｃｏｎｔｅｎｔ  ｃｏｄｉｎｇ」、ＪＣＴＶＣ−Ｎ０１８３、ＪＣＴ−ＶＣ  ｏｆ  ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ  ３  ａｎｄ  ＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１、第１４回会合：ウィーン、オーストリア、２０１３年７月２５日〜８月２日（以後、「ＪＣＴＶＣ−Ｎ０１８３」）は、参照サンプルのサブセットの分散が閾値より大きいという条件のもとで、ｉＦａｃｔが０に等しくないときに、最近傍補間を使用することを提案した。言い換えると、ＪＣＴＶＣ−Ｎ０１８３は、ある条件のもとで、１／３２ペル精度の補間フィルタを伴わずに、最近傍サンプルの選択を使用することを提案した。１つの手法では、参照サンプルのサブセットの分散が閾値より大きい場合、フィルタリングが無効にされる。イントラ予測の方向とともに、サブセットが決定される（すなわち、サブセット中の参照サンプルが決定される）。言い換えると、ＪＣＴＶＣ−Ｎ０１８３において、参照サンプルのサブセットは、イントラ予測モードに基づいて決定される。別の手法では、２つの隣り合う参照サンプルの差が閾値より大きい場合、フィルタリングが無効にされる。ＪＣＴＶＣ−Ｎ０１８３において記述されるように、この適応は全ての予測サンプルに対して行われる。言い換えると、ビデオコーダは、予測ブロックの各サンプルに対して、双線形補間フィルタを適用するかどうかを決定できる。
【０１０５】
[0117]  上の式（８−５１）および（８−５９）において上で示されるように、ｉＦａｃｔは、予測ブロックのサンプルの位置およびイントラ予測の角度に基づく、分数位置係数である。ＪＣＴＶＣ−Ｎ０１８３は、参照サンプルのサブセットの分散が閾値よりも大きいという条件のもとで、ｉＦａｃｔが０に等しくないときに、最近傍補間を使用することを提案した。言い換えると、参照サンプルのサブセットの分散が閾値より大きく、ｉＦａｃｔが０に等しくない場合、ビデオコーダは、最近傍補間を使用できる。ＪＣＴＶＣ−Ｎ０１８３は、参照サンプルのサブセットの分散が閾値よりも大きいという条件のもとで、ｉＦａｃｔが０に等しくないときに、最近傍補間を使用することを提案した。言い換えると、参照サンプルのサブセットの分散が閾値より大きく、ｉＦａｃｔが０に等しくない場合、ビデオコーダは、最近傍補間を使用できる。本開示は補間の１つの形態として最近傍補間を説明するが、最近傍補間は、任意の他の参照サンプルの値に基づく参照サンプルの値の修正を伴わずに、予測サンプルを参照サンプルの１つに等しく設定することのみを備え得る。
【０１０６】
[0118]  双線形補間フィルタおよびＪＣＴＶＣ−Ｎ０１８３によって提案される最近傍予測の使用は、次のように規定され得る。参照サンプルＡとＢの間の双線形補間は、次のように記述され得る。
【０１０７】
【数１１】
0006580562.tif 000012
【０１０８】
最近傍補間では、ｉＦａｃｔが１６以下である場合、
【０１０９】
【数１２】
0006580562.tif 000013
【０１１０】
である。
【０１１１】
[0119]  図４Ｂは、角度イントラ予測における最近傍予測を示す概念図である。図４Ｂは、ビデオコーダが予測ブロック中のサンプル「Ｘ」の値を決定しているという点で、図４Ａと同様である。サンプル「Ｘ」を通る線４４は、参照サンプル「Ａ」と参照サンプル「Ｂ」の間の位置４６において、参照サンプルの上の行と交差する。線４４は、実際には予測ブロックまたはピクチャの中に存在しないが、説明のために示されている。しかしながら、最近傍予測では、ビデオコーダが、位置４６に対する値を決定するために、双線形補間フィルタを使用しない。むしろ、サンプル「Ｘ」の値は、参照サンプルのうちで、線４４が参照サンプルの上の行と交差する位置により近いもの（例えば、参照サンプル「Ａ」）に等しく設定される。例えば、サンプル「Ｘ」に対するｉＦａｃｔの値が１６以下である場合、サンプル「Ｘ」の値はサンプル「Ａ」の値に等しく設定される。それ以外の場合、サンプル「Ｘ」の値はサンプル「Ｂ」の値に等しく設定される。従って、最近傍予測においてフィルタリングは適用されない。
【０１１２】
[0120]  ＪＣＴＶＣ−Ｍ１００５−ｖ２は、一般的な参照サンプルの生成と置換とを記述する。ＪＣＴＶＣ−Ｍ１００５−ｖ２はまた、モード依存イントラ平滑化（ＭＤＩＳ：mode-dependent intra-smoothing）処理を記述する。参照サンプルが上で論じられたように生成された後で、平滑化フィルタが各参照サンプルに対して適用され得る。例えば、複数の予測ブロックのサイズおよび予測モードに対して、異なる平滑化フィルタが異なるように適用され得る。ＨＥＶＣは、８×８以上のブロックサイズに対して、［１  ２  １］／４の平滑化フィルタを使用する。加えて、隣接サンプルがある基準を満たす場合、３２×３２のブロックサイズに対して、より強い平滑化が行われ得る。イントラ予測モードに関しては、角度予測における対角モード（すなわち、２、１８、３４）、および平面モードのみが、８×８のブロックサイズにおいて平滑化された参照サンプルを使用する。しかしながら、予測モードに対するこの制約は、より大きなブロックでより緩和される。例えば、３２×３２のブロックについては、エンコーダまたはデコーダにおいて、水平方向および垂直方向の予測を除く全ての角度モードが、平滑化されたサンプルを使用する。ＤＣイントラ予測モードは、いずれの場合でも平滑化フィルタリングを使用しない。ＤＣイントラ予測モードのより詳細な説明は、ＪＣＴＶＣ−Ｍ１００５−ｖ２の８．４．４．２．３項で与えられる。
【０１１３】
[0121]  ＪＣＴＶＣ−Ｍ１００５−ｖ２はまた、１／３２ペル（すなわち、１／３２ピクセル）の双線形補間を記述する。角度予測において、各々の予測されるサンプル（すなわち、予測ブロックの各サンプル）は、位置を参照ピクセルに投影することによって取得される。ＪＣＴＶＣ−Ｍ１００５−ｖ２において規定され、以下の式（８−５２）において示されるように、予測値は、２つの最近傍の参照サンプルを使用して、１／３２ピクセル精度で補間される。
【０１１４】
【数１３】
0006580562.tif 000014
【０１１５】
式（８−５２）において、ｉＦａｃｔは、投影されたサブピクセル位置に対応する２つの参照サンプル（すなわち、ｒｅｆ［ｘ＋ｉＩｄｘ＋１］およびｒｅｆ［ｘ＋ｉＩｄｘ＋２］）に重みを与えている。ｉＦａｃｔは、予測の方向並びに予測サンプルのｘインデックスおよびｙインデックスから導出される。さらなる詳細が、上のＪＣＴＶＣ−Ｍ１００５−ｖ２の８．４．４．２．６項において論じられている。
【０１１６】
[0122]  ＪＣＴＶＣ−Ｍ１００５−ｖ２はまた、例えばエッジフィルタおよび／またはＤＣフィルタリングを使用する、境界フィルタリングを記述する。エッジフィルタリングでは、エンコーダおよび／またはデコーダが、次のように、ＪＣＴＶＣ−Ｍ１００５−ｖ２の式（８−５４）および（８−６２）においてそれぞれ示される勾配に基づく平滑化を使用して、垂直方向の予測については第１の予測の列を、水平方向の予測については第１の予測の行をフィルタリングする。
【０１１７】
【数１４】
0006580562.tif 000015
【０１１８】
【数１５】
0006580562.tif 000016
【０１１９】
[0123]  ＤＣフィルタリングにおいて、予測ブロックの第１の予測の行および予測ブロックの第１の予測の列は、２タップのＦＩＲフィルタによってＤＣ値を使用してフィルタリングされ、予測ブロックの角のサンプルは、ブロックサイズが３２未満であるときはルミナンス（ルーマ）成分に対して３タップのフィルタ（ＤＣ値、上の隣接サンプル、および左の隣接サンプル）によってフィルタリングされる。ＤＣ値は、ＨＥＶＣ  ＷＤ仕様において次のように計算される。
【０１２０】
【数１６】
0006580562.tif 000017
【０１２１】
ここで、ｋ＝Ｌｏｇ２（ｎＴｂＳ）である。
【０１２２】
[0124]  式（８−４１）を含むＪＣＴＶＣ−Ｍ１００５−ｖ２のセクション８．４．４．２．５が、以下に転載される。
この処理への入力は以下の通りである。
−  ｘ＝−１、ｙ＝−１．．．ｎＴｂＳ×２−１、およびｘ＝０．．．ｎＴｂＳ×２−１、ｙ＝−１である、隣接サンプルｐ［ｘ］［ｙ］
−  変換ブロックサイズを規定する変数ｎＴｂＳ
−  現在のブロックの色成分を規定する変数ｃＩｄｘ
この処理の出力は、ｘ，ｙ＝０．．．ｎＴｂＳ−１である予測されたサンプルｐｒｅｄＳａｍｐｌｅｓ［ｘ］［ｙ］である。
ｘ，ｙ＝０．．．ｎＴｂＳ−１である予測サンプルｐｒｅｄＳａｍｐｌｅｓ［ｘ］［ｙ］の値は、次の順序のステップによって導出される。
１．変数ｄｃＶａｌが次のように導出される。
【０１２３】
【数１７】
0006580562.tif 000018
【０１２４】
ここで、ｋ＝Ｌｏｇ２（ｎＴｂＳ）である。
２．色成分インデックスｃＩｄｘの値に応じて、次のことが当てはまる。
−  ｃＩｄｘが０に等しく、ｎＴｂＳが３２未満である場合、次のことが当てはまる。
【０１２５】
【数１８】
0006580562.tif 000019
【０１２６】
【数１９】
0006580562.tif 000020
【０１２７】
【数２０】
0006580562.tif 000021
【０１２８】
【数２１】
0006580562.tif 000022
【０１２９】
−  それ以外の場合、予測サンプルｐｒｅｄＳａｍｐｌｅｓ［ｘ，ｙ］は次のように導出される。
【０１３０】
【数２２】
0006580562.tif 000023
【０１３１】
[0125]  ＪＣＴＶＣ−Ｍ１００５−ｖ２のセクション８．４．４．２．５の式（８−４２）において示されるように、ビデオコーダは、予測ブロックの角のサンプル（すなわち、ｐｒｅｄＳａｍｐｌｅｓ［０］［０］）に３タップのＦＩＲフィルタを適用する。さらに、ＪＣＴＶＣ−Ｍ１００５−ｖ２の８．４．４．２．５の式（８−４３）において示されるように、ビデオコーダは、予測ブロックの第１の行（すなわち、ｐｒｅｄＳａｍｐｌｅｓ［ｘ］［０］）に２タップのフィルタを適用する。さらに、ＪＣＴＶＣ−Ｍ１００５−ｖ２の８．４．４．２．５の式（８−４４）において示されるように、ビデオコーダは、予測ブロックの第１の列（すなわち、ｐｒｅｄＳａｍｐｌｅｓ［０］［ｙ］）に２タップのフィルタを適用する。
【０１３２】
[0126]  ＪＣＴＶＣ−Ｎ０１８３によって提案される技法と関連付けられる、１つまたは複数の問題があり得る。例えば、ＪＣＴＶＣ−Ｎ０１８３により提案される技法は、分散に依存する。この分散の計算は比較的複雑であり得る。
【０１３３】
[0127]  本開示の１つの例示的な技法によれば、ＪＣＴＶＣ−Ｎ０１８３において提案されるように分散を使用して双線形補間フィルタリングを使用するか最近傍予測（すなわち、最近傍補間）を使用するかを決定する代わりに、ビデオコーダは、複数の隣接参照サンプル間の絶対的差分和をメトリック（ｍｅｔｒｉｃ）として使用できる。絶対的差分和の計算は、分散の計算よりも複雑でないことがある。このメトリックは、最近傍補間が使用されるかどうかを決定するために使用され得る。メトリックの計算のために使用される参照サンプルのサブセットは、０≦ｉ≦（Ｋ−１）であるＳiによって示されるＫ個のサンプルを含むものとする。そうすると、隣接参照サンプル間の絶対的差分和（ＳＡＤ）は、
【０１３４】
【数２３】
0006580562.tif 000024
【０１３５】
である。
【０１３６】
[0128]  従って、この例では、ビデオコーダが、隣接参照サンプル間の絶対的差分和に少なくとも一部基づいて、メトリックを計算し得る。例えば、ビデオエンコーダ２０は、現在のブロックの上にあるサブセット中の参照サンプルに対するＳＡＤ値を決定し、現在のブロックの左側にある参照サンプルに対するＳＡＤ値を別個に決定し、次いでこれらの２つのＳＡＤ値を加算できる。加えて、ビデオコーダは、そのメトリックに少なくとも一部基づいて、隣接参照サンプルに基づいて予測ブロックを生成するときに、最近傍補間を使用するかどうかを決定できる。
【０１３７】
[0129]  代替的な例では、現在のブロックの上にあるサブセット中の参照サンプルに対するＳＡＤ値と、現在のブロックの左側にあるサブセット中の参照サンプルに対するＳＡＤ値が別々に計算され、次いで加算され得る。さらに、イントラ参照サンプルの分散を表すために、他のメトリックも使用され得る。言い換えると、ビデオコーダは、イントラ参照サンプルの分散を表すために、他のメトリックを使用できる。
【０１３８】
[0130]  本開示の様々な例は、１つまたは複数の隣接参照サンプルに基づいてあるメトリックを決定することを説明する。使用すべきフィルタリングモードを決定するためにメトリックが使用されるような例で、ビデオコーダ（例えば、ビデオエンコーダまたはビデオデコーダ）は、隣接参照サンプルへのイントラ平滑化（例えば、３２×３２のブロックに対するイントラ平滑化または双線形補間）の適用の前に隣接参照サンプルが有していた値に基づいて、そのメトリックを決定できる。代替的に、ビデオコーダは、隣接参照サンプルへのイントラ平滑化の適用の後に隣接参照サンプルが有している値に基づいて、そのメトリックを決定できる。フィルタを無効にするかどうかを決定するためにメトリックが使用される例で、ビデオコーダは、隣接参照サンプルへのイントラ平滑化の適用の後に隣接参照サンプルが有している値に基づいて、そのメトリックを決定できる。
【０１３９】
[0131]  上で説明されたように、参照サンプルを決定するとき、ＨＥＶＣ（または別のビデオコーディング規格）は、いくつかのイントラ予測モードおよびいくつかのブロックサイズに対して、イントラ参照サンプルの平滑化を使用できる。３２×３２のブロック（すなわち、サイズが３２×３２であるブロック）に対しては、ある条件のもとで、平滑化フィルタの代わりに双線形補間フィルタが適用され得る。言い換えると、ビデオコーダが３２×３２の予測ブロックを生成するために使用すべき参照サンプルを決定しているとき、ビデオコーダは、ビデオコーダが予測ブロックのサンプルの値を決定するために使用するであろう参照サンプルに、平滑化フィルタでなく双線形フィルタを適用できる。現在のＨＥＶＣ  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓ仕様（ＪＣＴＶＣ−Ｍ１００５−ｖ２）のセクション８．４．４．２．３は、平滑化フィルタの代わりに、３２×３２のブロックの参照サンプルにこの双線形フィルタを適用することを記述する。ＪＣＴＶＣ−Ｍ１００５＿ｖ２のセクション８．４．４．２．３が以下に転載される。
８．４．４．２．３  隣接サンプルのフィルタリング処理
この処理への入力は以下の通りである。
−  ｘ＝−１、ｙ＝−１．．．ｎＴｂＳ×２−１、およびｘ＝０．．．ｎＴｂＳ×２−１、ｙ＝−１である、隣接サンプルｐ［ｘ］［ｙ］
−  変換ブロックサイズを規定する変数ｎＴｂＳ
この処理の出力は、ｘ＝−１、ｙ＝−１．．．ｎＴｂＳ×２−１、およびｘ＝０．．．ｎＴｂＳ×２−１、ｙ＝−１である、フィルタリングされたサンプルｐＦ［ｘ］［ｙ］である。
変数ｆｉｌｔｅｒＦｌａｇは次のように導出される。
−  次の条件の１つまたは複数が真である場合、ｆｉｌｔｅｒＦｌａｇは０に等しく設定される。
−  ｐｒｅｄＭｏｄｅＩｎｔｒａがＩＮＴＲＡ＿ＤＣに等しい。
−  ｎＴｂＳが４に等しい。
−  それ以外の場合、以下のことが当てはまる。
−  変数ｍｉｎＤｉｓｔＶｅｒＨｏｒがＭｉｎ（Ａｂｓ（ｐｒｅｄＭｏｄｅＩｎｔｒａ−２６），Ａｂｓ（ｐｒｅｄＭｏｄｅＩｎｔｒａ−１０））に設定される。
−  変数ｉｎｔｒａＨｏｒＶｅｒＤｉｓｔＴｈｒｅｓ［ｎＴｂＳ］は表８−４において規定される。
−  変数ｆｉｌｔｅｒＦｌａｇは次のように導出される。
−  ｍｉｎＤｉｓｔＶｅｒＨｏｒがｉｎｔｒａＨｏｒＶｅｒＤｉｓｔＴｈｒｅｓ［ｎＴｂＳ］より大きい場合、ｆｉｌｔｅｒＦｌａｇは１に等しく設定される。
−  それ以外の場合、ｆｉｌｔｅｒＦｌａｇは０に等しく設定される。
【０１４０】
【表１】
0006580562.tif 000025
【０１４１】
ｆｉｌｔｅｒＦｌａｇが１に等しいとき、以下のことが当てはまる。
−  変数ｂｉＩｎｔＦｌａｇが次のように導出される。
−  次の条件の全てが真である場合、ｂｉＩｎｔＦｌａｇは１に等しく設定される。
−  ｓｔｒｏｎｇ＿ｉｎｔｒａ＿ｓｍｏｏｔｈｉｎｇ＿enableｄ＿ｆｌａｇが１に等しい。
−  ｎＴｂＳが３２に等しい。
【０１４２】
【数２４】
0006580562.tif 000026
【０１４３】
【数２５】
0006580562.tif 000027
【０１４４】
−  それ以外の場合、ｂｉＩｎｔＦｌａｇは０に等しく設定される。
−  フィルタリングが次のように行われる。
−  ｂｉＩｎｔＦｌａｇが１に等しい場合、ｘ＝−１，ｙ＝−１．．．６３、およびｘ＝０．．．６３、ｙ＝−１であるフィルタリングされたサンプル値ｐＦ［ｘ］［ｙ］は次のように導出される。
【０１４５】
【数２６】
0006580562.tif 000028
【０１４６】
【数２７】
0006580562.tif 000029
【０１４７】
【数２８】
0006580562.tif 000030
【０１４８】
【数２９】
0006580562.tif 000031
【０１４９】
【数３０】
0006580562.tif 000032
【０１５０】
−  それ以外（ｂｉＩｎｔＦｌａｇが０に等しい）場合、ｘ＝−１，ｙ＝−１．．．ｎＴｂＳ×２−１、およびｘ＝０．．．ｎＴｂＳ×２−１、ｙ＝−１であるフィルタリングされたサンプル値ｐＦ［ｘ］［ｙ］は次のように導出される。
【０１５１】
【数３１】
0006580562.tif 000033
【０１５２】
【数３２】
0006580562.tif 000034
【０１５３】
【数３３】
0006580562.tif 000035
【０１５４】
【数３４】
0006580562.tif 000036
【０１５５】
【数３５】
0006580562.tif 000037
【０１５６】
[0132]  本開示の別の例示的な技法では、参照サンプル（またはそのサブセット）にわたって計算されるメトリックが閾値より大きい場合、ｆｉｌｔｅｒＦｌａｇが０に設定される。言い換えると、ビデオコーダは、イントラ参照サンプルにわたって計算されるメトリックが閾値を超えると決定したことに応答して、ｆｉｌｔｅｒＦｌａｇを０に設定できる。いくつかの例では、このメトリックが、隣接参照サンプル間の絶対的差分和である。ｆｉｌｔｅｒＦｌａｇを０に設定することは、イントラ予測参照サンプルに平滑化または双線形補間フィルタリング（ｂｉＩｎｔＦｌａｇ）が適用されないことを示唆し得る。言い換えると、ビデオコーダは、ｆｉｌｔｅｒＦｌａｇが０である場合、平滑化または双線形補間フィルタリングをイントラ予測参照サンプルに適用しない。
【０１５７】
[0133]  本開示の別の例示的な技法によれば、平滑化または双線形補間フィルタリング（ｂｉＩｎｔＦｌａｇ）がイントラ予測参照サンプルに適用されるかどうかを決定するために、（分散または隣接参照サンプル間の絶対的差分和のような）メトリックが使用される。言い換えると、ビデオコーダは、メトリックに基づいて、平滑化または双線形補間フィルタリングをイントラ予測参照サンプルに適用するかどうかを決定する。この例では、次いで、ｉＦａｃｔが０に等しくないときに、参照サンプルに双線形補間が適用されるか最近傍補間が適用されるかを決定するために、別のメトリックが使用される。言い換えると、ｉＦａｃｔが０に等しくないとき、ビデオコーダは、第２の異なるメトリックに基づいて、イントラ予測参照サンプルに双線形補間フィルタリングを適用するか最近傍補間フィルタリングを適用するかを決定できる。いくつかの例では、これらの決定の両方を行うために、同じメトリック（例えば、分散、隣接参照サンプル間の絶対的差分和など）が使用される。例えば、ビデオコーダは、同じメトリックに基づいて、平滑化を適用するか双線形補間フィルタを適用するかを決定し、イントラ予測参照サンプルに双線形補間フィルタリングを適用するか最近傍補間フィルタリングを適用するかを決定できる。
【０１５８】
[0134]  本開示の別の例示的な技法によれば、ｉＦａｃｔが０に等しくないとき、いくつかの予測値は双線形補間を使用して形成されてよく、他の予測値は最近傍補間を使用して形成されてよい。言い換えると、ビデオコーダは、予測ブロックのいくつかのサンプルの値を決定するために双線形補間を使用でき、予測ブロックの他のサンプルの値を決定するために最近傍補間を使用できる。この例で、どの補間の形式を使用すべきかを決定するためのメトリックは、予測のために使用されるであろう２つの参照サンプル間の絶対的な差分である。言い換えると、ビデオコーダは、予測ブロックのサンプルの値を決定するために使用されるべき２つの参照サンプル間の絶対的な差分に基づいて、双線形補間を使用してサンプルの値を決定するか、最近傍補間を使用してサンプルの値を決定するかを決定できる。この例で、この差分（すなわち、参照サンプル間の絶対的な差分）が閾値より大きい場合、ビデオコーダが最近傍補間を使用する。さらに、この例では、この差分が閾値以下である場合、ビデオコーダが双線形補間を使用する。他の例では、参照サンプル間の絶対的な差分を使用する代わりに、ビデオコーダが他のメトリックも使用できる。
【０１５９】
[0135]  上で説明された問題に加えて、イントラ予測のために使用されるフィルタリング動作にも、以下の問題があり得る。第一に、ＨＥＶＣにおけるイントラ予測のために使用されるフィルタリング設計は、自然なビデオのために開発されたものである。しかしながら、スクリーンコンテンツまたはカメラ以外により生成されたビデオは、物体の境界に沿った鋭いエッジを伴う合成コンテンツを含み得る。この性質は、ＨＥＶＣにおいて使用されるフィルタリング設計の原則に反して作用し得る。フィルタリング動作は、差分をぼかすことがある。結果として、不正確な予測サンプルがコーディング損失を招き得る。第二に、１／３２ペルの補間フィルタを無効にすることは、ＪＣＴＶＣ−Ｎ０１８３文書において記述されるように適応的に引き起こされ得る。しかしながら、ＪＣＴＶＣ−Ｎ０１８３により記述される決定の処理は複雑である。その上、ＪＣＴＶＣ−Ｎ０１８３により記述される決定の処理は、予測モードに依存するため、システムフレンドリーな設計でない。さらに、ＪＣＴＶＣ−Ｎ０１８３において記述される決定の処理は、補間フィルタのスイッチオフのみに対して機能する。第三に、ＪＣＴＶＣ−Ｎ０１８３では、決定基準のために使用される閾値が柔軟でない。本開示の他の箇所で説明されるように、決定基準のために使用される閾値は、ＪＣＴＶＣ−Ｎ０１８３において提案されたものよりもより柔軟な形で定式化され得る。
【０１６０】
[0136]  本開示は、イントラ予測のために使用されるフィルタを適応的にオンおよびオフするための様々な技法を説明する。本技法は、個別に、または任意の組合せで行われてよく、イントラ符号化処理をサポートするためにビデオエンコーダ２０のようなエンコーダ内、および／または、イントラ復号処理をサポートするためにビデオデコーダ３０のようなデコーダ内で行われてよい。
【０１６１】
[0137]  本開示は、イントラ予測のために使用されるフィルタを適応的にオフするための技法を説明する。いくつかの例では、本技法が、１つまたは複数のフィルタを、例えば部分的にまたは完全に無効にするために、フィルタ無効化フラグ（すなわち、フィルタリング無効化フラグ）をオンにできる。言い換えると、１つまたは複数のフィルタを適応的に無効にすることは、１つまたは複数のフィルタが無効にされるかどうかを示す無効化フラグの値を決定することを備える。様々な例では、フィルタ無効化フラグが、１つまたは複数の基準が１つまたは複数の定められた閾値を満たすとき、またはそれを超えるときに、（例えばフィルタを無効にするために）オンにされ得る。例えば、ビデオコーダは、１つまたは複数の基準が１つまたは複数の定められた閾値を満たす、またはそれを超えると、ビデオコーダが決定したことに応答して、１つまたは複数のフィルタを無効にできる。
【０１６２】
[0138]  本技法は、様々な例において、フィルタをオフにするためのフラグを決定するために、低複雑度の基準を備え得る。言い換えると、ビデオコーダは、フィルタ無効化フラグを「オン」に設定するかどうかを決定するために、低複雑度の基準を使用できる。例えば、いくつかの例では、フラグ（すなわち、フィルタ無効化フラグ）が、コーディングされたシンタックス要素（例えば、「ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇ」および／または「ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇ」）によって決定される。さらに、本開示は、フラグをオンにするための様々な決定基準を説明する。加えて、本開示は、異なるブロックサイズおよび／または成分タイプ、例えばルーマ成分またはクロマ成分に基づいて作られる、決定基準の変形を説明する。さらに、本開示は、ブロックサイズおよび成分タイプに基づく方法の制約を説明する。本開示はまた、複雑度を下げるための方法を説明する。複雑度を下げるためのこれらの方法は、決定処理におけるＣＵベースの適応とピクセルサンプルのサブサンプリングとを含み得る。例えば、ＣＵベースの適応において、ビデオコーダは、ＪＣＴＶＣ−Ｎ０１８３において説明されるようにフィルタを無効にするかどうかをサンプルごとに決定することとは対照的に、フィルタを無効にするかどうかをＣＵごとに決定できる。
【０１６３】
[0139]  加えて、本開示の技法の１つまたは複数は、決定処理から得られるフラグの復号処理を規定する。いくつかの例では、エンコーダおよびデコーダにおいて、フラグの同じ導出処理（すなわち、フィルタ無効化フラグ）が使用される。言い換えると、ビデオエンコーダおよびビデオデコーダは、フィルタ無効化フラグのために同じ導出処理を使用できる。他の例では、本開示の技法が、フラグ（すなわち、フィルタ無効化フラグ）の明示的なシグナリングを規定する。フィルタ無効化フラグの明示的なシグナリングは、ＴＵベース、ＰＵベース、ＣＵベースなどであり得る。例えば、ビデオエンコーダ２０は、ＴＵ、ＰＵ、またはＣＵの少なくとも１つにおいて、フィルタ無効化フラグを明示的にシグナリングできる。
【０１６４】
[0140]  さらに、本開示の技法の１つまたは複数は、決定処理において使用される適応パラメータの暗黙的な導出を規定する。他の例では、本開示の技法の１つまたは複数が、パラメータの明示的なシグナリング（例えば、ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、および／または他の箇所において）を規定する。加えて、本開示は、フラグ（すなわち、フィルタ無効化フラグ）によって無効化されるべき例示的なフィルタを説明する。
【０１６５】
[0141]  図５は、本開示の例による、ＨＥＶＣイントラ予測のためのブロックの参照サンプルのための適応フィルタ制御の方法を示す概念図である。図５を参照すると、ビデオコーダ（ビデオエンコーダ２０またはビデオデコーダ３０のような）は、以下の手順に従って、この例の提案される方法を行い得る。
【０１６６】
[0142]  第一に、左下の位置Ｐ2M-1,-1から左上の位置Ｐ-1,-1までの、次いで右上の位置Ｐ-1,2N-1までの隣接ピクセルの全てまたは一部を考慮して、左下の位置（例えば、Ｐ2M-1,-1）から右上の位置（例えば、Ｐ-1,2N-1）まで、すなわち図５の矢印によって示される経路に沿って、隣接ピクセル（すなわち、イントラ予測参照サンプル）を縦断する。あるいは、ビデオコーダは、隣接ピクセル（すなわち、イントラ予測参照サンプル）を備える任意の経路またはパターンを使用できる。例えば、図５の経路は、右上の位置Ｐ-1,2N-1から左上の位置Ｐ-1,-1に、次いで左下の位置Ｐ2M-1,-1に向かうように、逆にされ得る。
【０１６７】
[0143]  第二に、その経路に沿った２つの連続する隣接サンプル（すなわち、イントラ予測参照サンプル）の間の、所定の閾値（Ｔｈｒ１）より大きなピクセル差分を見つける。いくつかの例では、ピクセル差分が、連続する隣接サンプルの値の間の差分の絶対値である。例えば、ビデオコーダは、走査経路に沿って２つの連続する隣接サンプルのピクセル値の差分を決定でき、その差分（例えば、差分の絶対値）を閾値（Ｔｈｒ１）と比較できる。２つの連続的な隣接サンプルは、互いに隣接していてよい。代替的に、隣接サンプルがこの決定のために走査経路に沿ってサブサンプリングされる場合、２つの連続する隣接サンプルは連続的に走査されるが、場合によっては互いに直接隣り合ってはいない。いくつかの例では、Ｔｈｒ１が１＜＜（ｂｉｔｄｅｐｔｈ−１）に設定され、ここでｂｉｔｄｅｐｔｈは隣接サンプルのビット深度を示す。代替的に、［０，（１＜＜ｂｉｔｄｅｐｔｈ）−１］の中にある任意の整数値が、閾値Ｔｈｒ１として使用され得る。
【０１６８】
[0144]  第三に、ビデオコーダが、Ｔｈｒ１よりも大きなピクセル差分を有する、その経路に沿った２つの連続する隣接サンプル（すなわち、イントラ予測参照サンプル）を見つける場合、ビデオコーダは無効化フラグ（すなわち、フィルタ無効化フラグ）をオンにする。いくつかの例では、ビデオエンコーダが、無効化フラグをオンにでき、無効化フラグをビデオデコーダにシグナリングできる。代替的に、ビデオデコーダは、上で説明されたような方式で（すなわち、ビデオエンコーダと同じまたは同様の方式で）、デコーダ側における隣接サンプルの経路の走査に基づいて、ビデオデコーダにおいて無効化フラグを推測し生成できる。他の例で、無効化フラグをオンにする代わりに、ビデオエンコーダは、フィルタが無効にされるべきであることを示すシンタックス要素を生成できる。しかしながら、本開示は、説明のために無効化フラグの使用を説明する。
【０１６９】
[0145]  第四に、無効化フラグがオンにされる場合、ビデオコーダは、ＭＤＩＳ（例えば、平滑化フィルタ、ＤＣイントラ予測モードフィルタ）、１／３２ペル補間、およびエッジフィルタにおいてフィルタの全体のセットを、またはフィルタのいくつかのフィルタを無効にする。従って、いくつかの例で、１つまたは複数のフィルタは、無効化フラグがオンにされるときにオフにされ、すなわち無効にされ得る。例えば、そのようなフィルタのいくつかまたは全てが無効にされるとき、関連するフィルタリング動作は、イントラ予測における参照サンプルの使用の前に、参照サンプルに対して行われない。さらに、いくつかのそのようなイントラ予測フィルタが無効にされるとき、そのようなイントラ予測フィルタは、予測ブロックのサンプルに適用されない。
【０１７０】
[0146]  加えて、いくつかの例では、ＤＣフィルタが無効にされ得る。すなわち、ＭＤＩＳ、１／３２ペル補間、およびエッジフィルタにおいてフィルタのいくつかまたは全てを無効にすることに加えて、ＤＣフィルタが、単独で、または（例えば、無効化フラグに従って）他のフィルタの１つまたは複数を無効にすることと組み合わせて、無効にされ得る。さらなる代替形態として、いくつかの例では、個々のフィルタ動作に対する無効化ステータスを示すために、個々の無効化フラグがオンまたはオフにされ得る。例示として、様々な例において、１つまたは複数の無効化フラグがオンにされると、ＭＤＩＳにおいて１つまたは複数のフィルタは無効にされ得るが他のフィルタは有効であり、１／３２ペル補間において１つまたは複数のフィルタは無効にされ得るが他のフィルタは有効であり、エッジフィルタにおいて１つまたは複数のフィルタは無効にされるが他のフィルタは有効であり、ＤＣフィルタは無効にされるが他のフィルタは有効であり、前述のフィルタの２つ以上が任意の組合せで無効にされるが他のフィルタは有効であり、前述のフィルタの任意の組合せが無効にされるが他のフィルタは有効であり、または全てのフィルタが無効にされる。いくつかの例では、無効化フラグが、イントラコーディングされるべき所与のブロックに対するフィルタの無効化を規定し得る。
【０１７１】
[0147]  この例で説明される手順は、ブロック（例えば、ＣＵ、ＰＵ、ＴＵなど）のためのイントラ予測全体において一度、ビデオエンコーダまたはビデオデコーダによって行われてよく、任意のフィルタリング動作の前に呼び出され得る。すなわち、一例では、ビデオコーダが、ＭＤＩＳを行う前にフィルタを無効にするための上で説明された動作を行い得る。その後、ビデオコーダは、イントラ予測のために、完全にフィルタリングされた参照サンプル、部分的にフィルタリングされた参照サンプル、またはフィルタリングされていない参照サンプルを、適宜使用できる。ブロックのためのイントラ予測全体に対して一度だけこれらの手順を行うことは、特定のフィルタを無効にするかどうかをサンプルごとに決定することよりも、複雑でなくなり得る。
【０１７２】
[0148]  本開示の別の例では、カウンタベースの決定基準が適用される。言い換えると、ビデオコーダは、カウンタベースの決定基準を適用する。経路中の２つの連続する隣接サンプルの間のピクセル差分（例えば、絶対的なピクセル差分）が閾値を超える場合に無効化フラグを生成する（例えば、無効化フラグをオンにする）ことに対する代替形態として、ビデオコーダは、経路中の２つの連続する隣接サンプルの間のピクセル差分（例えば、絶対的なピクセル差分）が第１の閾値を超えた事例の数のカウントを決定できる。ビデオコーダは次いで、そのカウントを第２の閾値と比較できる。従って、ビデオコーダは次いで、そのカウントに基づいて、無効化フラグの生成を決定できる。カウンタベースの決定基準の使用の例は、次のように働き得る。
【０１７３】
[0149]  第一に、隣接ピクセルを縦断する。例えば、ビデオコーダは、左下の位置Ｐ2M-1,-1から左上の位置Ｐ-1,-1までの、次いで右上の位置Ｐ-1,2N-1までの隣接ピクセルの全てまたは一部を考慮して、左下の位置（すなわち、Ｐ2M-1,-1）から右上の位置（すなわち、Ｐ-1,2N-1）までの経路に沿って（例えば、図５の矢印によって示される経路に沿って）、隣接ピクセルを縦断できる。上の例を参照して言及されたように、この経路は、反対方向に、または異なる経路もしくはパターンで進行し得る。
【０１７４】
[0150]  第二に、その経路に沿った２つの連続する（すなわち、隣り合う）サンプルの間の、所定の閾値（Ｔｈｒ１）より大きなピクセル差分を見つける。第三に、ピクセル差分（例えば、絶対的なピクセル差分）が所定の閾値（Ｔｈｒ１）より大きい場合、カウンタは１だけ増やされる。第四に、カウンタの値が第２の閾値（Ｔｈｒ２）より大きい場合、無効化フラグがオンにされる。カウンタの値が第２の閾値（Ｔｈｒ２）以下である場合、無効化フラグはオフにされる。第四に、無効化フラグがオンである場合、フィルタは無効にされる。例えば、ＭＤＩＳ、１／３２ペル補間、およびエッジフィルタにおいてフィルタの全てまたはいくつかが、（例えば、上で説明されたように）無効にされる。加えて、ＤＣフィルタは、無効化フラグが（例えば、上で説明されたように）オンにされる場合、いくつかの例で無効にされ得る。
【０１７５】
[0151]  ある代替形態として、ビデオコーダ（例えば、ビデオエンコーダまたはビデオデコーダ）は、経路中の２つの連続する隣接サンプルの間のピクセル差分が別の閾値より小さい事例の数のカウントに基づいて、無効化フラグをオンにできる。例えば、ビデオコーダは、上で説明されたように、隣接サンプルを通る経路の縦断において、２つの隣り合うサンプルの間の、閾値（Ｔｈｒ３）よりも小さなピクセル差分を見つけることができる。
【０１７６】
[0152]  閾値Ｔｈ３よりも小さなピクセル差分に対するカウンタベースの決定基準の使用の例は、次のように、エンコーダまたはデコーダにおいて働き得る。第一に、（例えば、上で説明されたように）経路に沿って隣接ピクセルを縦断する。第二に、その経路に沿った２つの連続する（例えば、隣り合う）サンプルの間の、閾値（Ｔｈｒ３）より小さなピクセル差分（例えば、絶対的なピクセル差分）を見つける。第三に、ビデオコーダが閾値（Ｔｈｒ３）よりも小さなピクセル差分（例えば、絶対的なピクセル差分）を見つける場合、ビデオコーダはカウンタを１だけ増やす。第四に、カウンタが閾値（Ｔｈｒ４）より大きい場合、ビデオコーダは無効化フラグをオンにする。第五に、無効化フラグがオンである場合、例えば上で説明されたように、フィルタの全てが無効にされ、またはフィルタのいくつかが無効にされる。
【０１７７】
[0153]  前の段落の例の第４のステップに対する代替形態として、またはそれに加えて、ビデオコーダは、Ｔｈｒ１よりも大きな差分（例えば、絶対的な差分）とともに、組み合わされた方式でカウンタを考慮できる。例えば、Ｔｈｒ３よりも小さなピクセル差分（例えば、絶対的なピクセル差分）に対するカウントの数が閾値Ｔｈｒ４を超え、Ｔｈｒ１よりも大きなピクセル差分（例えば、絶対的なピクセル差分）のカウントが閾値Ｔｈｒ２を超える場合、ビデオコーダは、（例えば、全てのフィルタリング動作のいくつかが無効にされ、コーディングされるべきブロックのイントラコーディングのための参照サンプルに適用されないように）無効化フラグをオンにする。この例では、これらの条件のいずれかが満たされる場合、ビデオコーダが、（例えば、フィルタリングが参照サンプルに適用されるように）無効化フラグをオフにできる。
【０１７８】
[0154]  本開示の別の例によれば、閾値とのサンプルごとの比較またはカウントとのサンプルごとの比較を使用する代わりに、ビデオコーダ（例えば、ビデオエンコーダまたはビデオデコーダ）は、フィルタを無効にするかどうかを決定するために、種々の異なる基準のいずれをも使用できる。例えば、ビデオコーダは、鋭いエッジを検出するために、３タップの有限インパルス応答（ＦＩＲ）フィルタ（例えば、［−１，２，−１］を使用した）を使用できる。ビデオコーダは、ピクセルごとに、または３ピクセルごとに、ＦＩＲフィルタリングを行い得る。１つの例示として、ＦＩＲフィルタマスクは、隣接参照サンプルの経路に沿って（例えば、上の例の１つまたは複数において説明され、図５に示されるような経路で）動かされ得る。ビデオコーダは、一度に１ピクセル、または一度に３ピクセルだけＦＩＲフィルタマスクを動かし、３つのピクセルの各セットに対するＦＩＲフィルタ出力（ＦＩＲフィルタの係数がそれに適用され得る）を生成できる。従って、いくつかの例では、ＦＩＲフィルタが適用される連続する３ピクセルのセットは、互いに重複してよく、またはセットに含まれる参照サンプルに関して別個であり得る。経路に沿った３つのサンプルの連続的にＦＩＲフィルタリングされたセットのいずれかからのフィルタ出力（例えば、フィルタ出力の絶対値）が所定の閾値を超える値を生み出す場合、ビデオコーダは無効化フラグをオンにできる。代替的に、カウントベースの例では、ビデオコーダが閾値を超えるフィルタ出力（例えば、フィルタ出力の絶対値）をカウントし、カウントがカウント閾値を超える場合、ビデオコーダは無効化フラグをオンにできる。それ以外の場合、ビデオコーダは無効化フラグをオフにできる。
【０１７９】
[0155]  一例では、ビデオコーダが、図５においてＰ2M-1,-1、Ｐ-1,-1、およびＰ-1,2N-1によって示される３つの角のみを使用する。この例で、ビデオコーダは、差分（例えば、絶対的な差分）が閾値より大きいかどうかのために、差分を調査する。例えば、ビデオコーダは、図５においてＰ2M-1,-1、Ｐ-1,-1、およびＰ-1,2N-1によって示される３つの角を、ＦＩＲフィルタへの入力として使用できる。一例として、参照サンプルＰ2M-1,-1、Ｐ-1,-1、およびＰ-1,2N-1の値へのＦＩＲフィルタのそれぞれの適用によって生成されるＦＩＲフィルタ出力（例えば、ＦＩＲフィルタ出力の絶対値）が所定の閾値を超える場合、ビデオコーダは、全てのフィルタまたはいくつかのフィルタが無効にされるように、無効化フラグをオンにできる。別の代替形態として、参照サンプルＰ2M-1,-1、Ｐ-1,-1、およびＰ-1,2N-1をＦＩＲフィルタへの入力として使用する代わりに、ビデオコーダは、左の列においては参照サンプルＰ2M-1,-1、ＰM,-1、およびＰ-1,1に、上の行においては参照サンプルＰ-1,2N-1、Ｐ-1,N、およびＰ-1,-1にＦＩＲフィルタを適用できる。この場合、ビデオコーダはＦＩＲフィルタリングを２回適用する。やはり、ＦＩＲフィルタ出力（例えば、ＦＩＲフィルタ出力の絶対値）が所定の閾値を超える場合、ビデオコーダは無効化フラグをオンにできる。
【０１８０】
[0156]  代替的に、または加えて、ビデオコーダは、例えば上で説明されたＦＩＲフィルタ出力とともに、２つの隣接ピクセルの絶対的差分和（ＳＡＤ）の値を一緒に考慮できる。ビデオコーダは、ＦＩＲフィルタ出力を生成するために使用される２つのピクセルの間の全てのピクセルに対するＳＡＤ値を計算できる。すなわち、左の列におけるＰ（２Ｍ−１，−１）およびＰ（−１，−１）に対して、隣り合うピクセルのＳＡＤはＰ（２Ｍ−１−ｋ，−１）とＰ（２Ｍ−１−ｋ−１，−１）との差の合計を指し、ここでｋ＝０，．．．，２Ｍ−１である。ＳＡＤは、上の行に対しても同様の方式で得られる。
【０１８１】
[0157]  いくつかの例では、左にある３つのサンプルピクセル（Ｐ2M+1，ＰM-1-1，Ｐ-1-1）および上にある（Ｐ2N+1，ＰN-1-1，Ｐ-1-1）が、ＦＩＲフィルタのために使用される。結果の各々が、１つのフラグを作るために組み合わされる。別の例では、ＭＤＩＳにおいて使用されるのと同じ条件が、この決定基準のために使用される。例えば、隣接参照サンプルに適用されるフィルタを無効にするための無効化フラグは、ＭＤＩＳをオフにするための基準が満たされる場合、オンにされ得る。さらに、いくつかの例では、２つの連続するピクセルの差分の分散が使用される。例えば、連続するピクセルの間のピクセル差分が上で説明されたようにある経路に沿って決定されるにつれて、ビデオコーダはピクセル差分の分散を計算できる。その分散が所定の分散の閾値を超える場合、ビデオコーダは、参照サンプルに適用されるフィルタが部分的にまたは完全に無効にされるように、無効化フラグをオンにできる。
【０１８２】
[0158]  別の代替形態として、ピクセル差分の符号変化のカウントが使用される。例えば、連続するピクセルの間のピクセル差分が上で説明されたようにある経路に沿って決定されるにつれて、例えば正から負および／または負から正への符号変化の回数がカウントされ、閾値と比較され得る。そのカウントが所定のカウントの閾値を超える場合、エンコーダまたはデコーダは、参照サンプルに適用されるフィルタが部分的にまたは完全に無効にされるように、無効化フラグをオンにできる。
【０１８３】
[0159]  本開示の別の例によれば、参照サンプルの部分的な領域が、フィルタのオン／オフの決定を行うために適応的に選択される。言い換えると、ビデオコーダは、イントラ予測参照サンプルの部分的な領域を適応的に選択し、参照サンプルの選択された部分的な領域に基づいて、フィルタリングを有効にするか無効にするかを決定できる。例えば、左の隣接する列および上の隣接する行の中の全ての参照サンプルを走査する代わりに、隣接参照サンプルの全て未満のものを含む選択されたサブセットまたは領域が使用され得る。そのようなサブセットは、上の例の１つまたは複数において、上で説明された例示的な処理の１つまたは複数のために使用され得る。
【０１８４】
[0160]  例えば、１つの例は、所与の予測モードのために参照ピクセルを使用することである。例えば、所与の予測モードは、特定の角度イントラ予測モードであり得る。この例では、予測の角度が負である場合、［ＰM-1,-1，Ｐ-1-1］と［Ｐ-1-1，Ｐ-1,N-1］との間のピクセルが使用される。そうではなく、予測の角度が正であり、垂直方向により近い場合、範囲［Ｐ-1-1，Ｐ-1,2N-1］の中のピクセルが使用される。そうではない（予測の角度が正であり、水平方向に近い）場合、範囲［Ｐ-1-1，Ｐ2M-1,-1］の中のピクセルが使用される。これらの例の各々において、隣接ピクセルの左の列および上の行の経路に沿ったピクセルのサブセットが、上の例の１つまたは複数を参照して上で説明された決定のいずれにおいても使用され得る。例として、予測の角度が正であり水平方向よりも垂直方向に近い場合、ビデオコーダは、（例えば、フィルタ無効化フラグをオンにするかどうかを決定するために）上の様々な例で説明されたような、ピクセル差分ベースの決定、カウントベースの決定、またはＦＩＲベースの決定のために、範囲［Ｐ-1-1，Ｐ-1,2N-1］の中のピクセルを使用できる。同様に、予測の角度が負である場合、ビデオコーダは、そのような決定において、［ＰM-1,-1，Ｐ-1-1］と［Ｐ-1-1，Ｐ-1,N-1］との間のピクセルを使用できる。
【０１８５】
[0161]  別の例では、上の行に対するカウンタが左の列に対するカウンタより大きい場合、ビデオコーダが、上の行の中の参照サンプルを使用する。例えば、上の行の中の参照サンプルに対する所定のピクセル閾値を超えるピクセル差分（例えば、絶対的なピクセル差分）のカウントが、左の列の中の参照サンプルに対する所定のピクセル閾値を超えるピクセル差分（例えば、絶対的なピクセル差分）のカウントよりも大きい場合、ビデオコーダは、上の行からのカウントをカウント閾値と比較する。逆に、左の列に対するカウントが上の行におけるカウントよりも大きい場合、ビデオコーダは左の列の中の参照サンプルを使用する。例えば、左の列の中の参照サンプルに対する所定のピクセル閾値を超えるピクセル差分（例えば、絶対的なピクセル差分）のカウントが、上の行の中の参照サンプルに対する所定のピクセル閾値を超えるピクセル差分（例えば、絶対的なピクセル差分）のカウントよりも大きい場合、ビデオコーダは、左の列からのカウントをカウント閾値と比較できる。いずれの場合も、選択されたカウントがカウント閾値を超える場合、ビデオコーダは無効化フラグをオンにする。カウント閾値は、隣接参照サンプル（すなわち、イントラ予測参照サンプル）の全体のセットが使用されるか、または選択されたサブセットが使用であるかに従って、選択またはスケーリングされ得る。
【０１８６】
[0162]  別の例では、ＨＥＶＣ  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓ（すなわち、ＪＣＴＶＣ−Ｍ１００５−ｖ２）の８．４．４．２．２において規定されるパディングから生成されるいくつかの参照ピクセルが、この決定において考慮されない。例えば、上で説明された決定のいずれもが、例えば異なる閾値、カウント閾値、または他の決定について、パディングによって追加された参照ピクセルを考慮から外すことができる。
【０１８７】
[0163]  本開示の別の例によれば、ブロックサイズ、成分タイプ、および入力ビデオタイプに応じた、いくつかのパラメータ適応が提示される。例えば、閾値は、１つの値の代わりにブロックサイズとともに適応的に変更される。言い換えると、１つの閾値を使用する代わりに、ビデオコーダは、ブロックサイズに基づいて閾値を適応的に変更できる。例えば、上で与えられた例の１つまたは複数において例えば使用するための、上で説明されたピクセル差分閾値および／またはカウント閾値の様々な値は、ブロックサイズ（例えば、ピクセルごとのサイズ）、成分タイプ（例えば、ルーマ成分またはクロマ成分）、または入力ビデオタイプ（例えば、カラーサンプリングフォーマット）に基づいて調整され得る。一例では、コーディングされるべきブロックのブロックサイズが二倍になれば、４×４のブロックサイズのために使用される閾値Ｔｈｒ２および／またはＴｈｒ４が二倍になる。他の例では、ブロックサイズが例えば所定のサイズに対して増大するとき、正の整数または０のオフセットが閾値Ｔｈｒ２および／またはＴｈｒ４に追加され得る。
【０１８８】
[0164]  さらに、いくつかの例では、閾値が、全ての成分に対する１つの値の代わりに、成分タイプとともに適応的に変更される。例えば、閾値の値は、ルーマ成分に対してはブロックのクロマ成分とは異なるように規定され得る。従って、ルーマ成分およびクロマ成分に対して個別の閾値があり得る。クロマ成分に対する閾値は、同じであっても異なっていてもよい。様々な閾値は、計算または記憶され得る。
【０１８９】
[0165]  加えて、いくつかの例では、閾値が入力ビデオタイプとともに適応的に変更される。言い換えると、ビデオコーダは、入力ビデオタイプに基づいて、閾値を適応的に変更できる。従って、異なるカラーサンプリングフォーマットは異なる閾値を有し得る。４：２：２のビデオシーケンスに対して、クロマ成分のために使用される閾値Ｔｈｒ２および／またはＴｈｒ４は、４：４：４のビデオシーケンスにおいて使用される閾値の半分だけ下げられる。ビデオコーダは、所与の入力ビデオタイプのルーマ成分およびクロマ成分に対して同じ閾値を、または、所与の入力ビデオタイプのルーマ成分とクロマ成分との間の異なる閾値を決定するために、異なる入力ビデオタイプに対して異なる閾値を使用でき、ここでいずれの場合でも、閾値は入力ビデオタイプに従って変化し得る。
【０１９０】
[0166]  本開示の別の例によれば、例えば上の例を参照して上で説明されたような、１つまたは複数のフィルタを適応的にオフにするための方法は、ブロックサイズおよび／または成分タイプによって制約される。例えば、上で与えられた例の１つまたは複数において説明された技法は、あるサイズよりも小さいブロックサイズのみに対して適用され、コーディングされるべきブロックのブロックサイズがあるサイズ以上であるときには適用されない。例えば、この方法は４×４のブロックサイズのみに適用される。しかしながら、代替的には、１つまたは複数のフィルタを適応的にオフにするための方法は、最小のＴＵサイズのみに適用される。しかしながら、代替的には、１つまたは複数のフィルタを適応的にオフにするための方法は、最小のＣＵサイズのみに適用される。しかしながら、代替的には、１つまたは複数のフィルタを適応的にオフにするための方法は、ＣＵがＮ×Ｎの区画を有する場合のみに適用される。別の例として、１つまたは複数のフィルタを適応的にオフにするための方法は、ある成分タイプのみに適用される。例えば、この方法はルーマ成分コーディングのみに適用される。しかしながら、代替的には、提案される方法は、入力ビデオが４：４：４のビデオ入力である場合、全ての成分（例えば、Ｙ、Ｕ、およびＶ）に対して適用され得る。
【０１９１】
[0167]  本開示の別の例によれば、隣接参照サンプル（すなわち、イントラ予測参照サンプル）は、計算的な複雑度が下がり得るように、比較においてサブサンプリングされる。例えば、フィルタリングをオフにする（例えば、無効化フラグをオンにする）かどうかを決定するために使用される隣接参照サンプルは、参照サンプルのサブサンプリングされたセットであり得る。いくつかの例では、参照ピクセルが２という係数によってダウンサンプリングされる。代替的に、他の例で、ビデオコーダは、ブロックサイズが増大するにつれてダウンサンプリング比を上げる。
【０１９２】
[0168]  図６は、本開示の別の例による、ＨＥＶＣイントラ予測のためのＣＵのＴＵの参照サンプルのための適応フィルタ制御の方法を使用するを示す概念図である。ＨＥＶＣでは、イントラ予測がＴＵごとに行われる。従って、本開示のいくつかの例によれば、ビデオコーダは４×４のブロック処理を行い得る。図６を参照すると、複雑度を下げるために、１つまたは複数のフィルタを適応的にオフにするための方法がＣＵにおいて一度行われ、無効化フラグがそのＣＵにおけるイントラ予測のために使用される全ての関連するフィルタリングを制御する。図６は、ＣＵの中に４つのＴＵがある例を示す。ＣＵの上および左にある参照サンプルは、例えば、ＣＵ内のＰＵおよび／またはＴＵのイントラコーディングのために使用される参照サンプルに対してフィルタを適用するかどうかを決定するために本開示で説明される例示的な技法のいずれにおいても、決定のために使用され、無効化フラグが、ＣＵのＰＵおよび／またはＴＵにおいてフィルタをオフに切り替えるために適用される。
【０１９３】
[0169]  上の例では、無効化フラグが、同じ方式でエンコーダとデコーダの両方で導出された。しかしながら、いくつかの例では、フラグが、エンコーダ側で導出され、デコーダ側でシグナリングされる。言い換えると、ビデオエンコーダは、フィルタ無効化フラグをビデオデコーダにシグナリングできる。ビデオデコーダは、フラグを解析した後で関連するフィルタリングを制御できる。いくつかの例では、ビデオエンコーダがＰＵにおいてフラグをシグナリングする。他の例では、前の段落の例のように、ビデオコーダがＣＵにおいてフラグできる。
【０１９４】
[0170]  さらに、本開示の１つまたは複数の例によれば、上の例においては、閾値（例えば、Ｔｈｒ１、Ｔｈｒ２、Ｔｈｒ３など）は不変であり、またはブロックサイズおよび成分タイプとともに適応的に変更された。いくつかのそのような例では、ビデオエンコーダが、閾値（例えば、Ｔｈｒ１、Ｔｈｒ２、Ｔｈｒ３など）をビデオデコーダにシグナリングして送信できる。いくつかの例では、ビデオエンコーダが、ビデオエンコーダによって生成されるスライスヘッダ、ＰＰＳ、ＳＰＳ、またはＶＰＳの少なくとも１つにおいて閾値をシグナリングする。加えて、いくつかの例では、ビデオエンコーダが、スライスヘッダ、ＰＰＳ、ＳＰＳ、またはＶＰＳの少なくとも１つにおいて、制約条件（例えば、方法がブロックサイズおよび／または成分タイプによって制約され得る、上の例の１つまたは複数において説明されたような制約条件）をシグナリングできる。
【０１９５】
[0171]  ＨＥＶＣにおいて、ｃｏｄｉｎｇ＿ｕｎｉｔシンタックス構造はＣＵに対応する。ＣＵのｃｏｄｉｎｇ＿ｕｎｉｔシンタックス構造は、ＣＵのＲＱＴに対応するｔｒａｎｓｆｒｏｍ＿ｔｒｅｅシンタックス構造を含み得る。ｔｒａｎｓｆｒｏｍ＿ｔｒｅｅシンタックス構造は、追加のｔｒａｎｓｆｒｏｍ＿ｔｒｅｅシンタックス構造またはｔｒａｎｓｆｒｏｍ＿ｕｎｉｔシンタックス構造を含み得る。ｔｒａｎｓｆｒｏｍ＿ｔｒｅｅシンタックス構造がｔｒａｎｓｆｒｏｍ＿ｕｎｉｔシンタックス構造を備える場合、ｔｒａｎｓｆｒｏｍ＿ｔｒｅｅシンタックス構造はＲＱＴのリーフノードに対応する。ＨＥＶＣのｔｒａｎｓｆｒｏｍ＿ｔｒｅｅシンタックス構造が、下の表１に転載される。
【０１９６】
【表２】
0006580562.tif 000038
【０１９７】
[0172]  表１に示されるように、ｔｒａｎｓｆｒｏｍ＿ｔｒｅｅシンタックス構造は、ｃｂｆ＿ｃｂシンタックス要素と、ｃｂｆ＿ｃｒシンタックス要素と、ｃｂｆ＿ｌｕｍａシンタックス要素とを含み得る。ｃｂｆ＿ｃｂシンタックス要素、ｃｂｆ＿ｃｒシンタックス要素、およびｃｂｆ＿ｌｕｍａシンタックス要素は、コーディングされたブロックフラグ（ＣＢＦ）と総称的に呼ばれ得る。１に等しいｃｂｆ＿ｃｂシンタックス要素は、ｔｒａｎｓｆｒｏｍ＿ｔｒｅｅシンタックス構造に対応するＣｂ変換ブロックが０に等しくない１つまたは複数の変換係数レベルを含むことを指定する。１に等しいｃｂｆ＿ｃｒシンタックス要素は、ｔｒａｎｓｆｒｏｍ＿ｔｒｅｅシンタックス構造に対応するＣｒ変換ブロックが０に等しくない１つまたは複数の変換係数レベルを含むことを指定する。１に等しいｃｂｆ＿ｌｕｍａシンタックス要素は、ｔｒａｎｓｆｒｏｍ＿ｔｒｅｅシンタックス構造に対応するｌｕｍａ変換ブロックが０に等しくない１つまたは複数の変換係数レベルを含むことを指定する。
【０１９８】
[0173]  さらに、ＨＥＶＣでは、ｔｒａｎｓｆｒｏｍ＿ｕｎｉｔシンタックス構造が、１つまたは複数のｒｅｓｉｄｕａｌ＿ｃｏｄｉｎｇシンタックス構造を含み得る。ｔｒａｎｓｆｒｏｍ＿ｕｎｉｔシンタックス構造にｒｅｓｉｄｕａｌ＿ｃｏｄｉｎｇシンタックス構造を含めることは、ｔｒａｎｓｆｒｏｍ＿ｕｎｉｔシンタックス構造を含むｔｒａｎｓｆｒｏｍ＿ｔｒｅｅシンタックス構造において指定されるＣＢＦの値に依存する。ＨＥＶＣのｔｒａｎｓｆｒｏｍ＿ｕｎｉｔシンタックス構造が、下の表２に転載される。
【０１９９】
【表３】
0006580562.tif 000039
【０２００】
[0174]  さらに、ｒｅｓｉｄｕａｌ＿ｃｏｄｉｎｇシンタックス構造は、関連付けられる変換ブロックに変換が適用されるかどうかを指定する、ｔｒａｎｓｆｒｏｍ＿ｓｋｉｐ＿ｆｌａｇシンタックス要素を含み得る。言い換えると、ｔｒａｎｓｆｒｏｍ＿ｓｋｉｐ＿ｆｌａｇは、変換を伴わずに、例えばＤＣＴの適用を伴わずに予測後の残差信号が量子化される、変換スキップ動作を呼び出す。本開示は、ブロック（例えば、ＣＵ）の残差ブロックのサンプルをブロックのための残差信号と呼ぶことがある。ｒｅｓｉｄｕａｌ＿ｃｏｄｉｎｇシンタックス構造はまた、変換係数の値を指定するシンタックス要素（例えば、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇ、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇ、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇ）を、または変換が適用されない場合は残差サンプルを含み得る。いくつかの例では、ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇがオンにされる場合、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇがシグナリングされない。
【０２０１】
[0175]  本開示の別の例によれば、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇシンタックス要素のような変換スキップシンタックス要素は、フィルタ無効化フラグをオンにするかオフにするかを決定するために使用される。例えば、ビデオデコーダ３０は、変換が変換ブロックに適用されるかどうかを示す変換スキップシンタックス要素に基づいて、フィルタ無効化フラグをオンにするかオフにするかを決定できる。例えば、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇがオン（またはオフ）にされる場合、フィルタ無効化フラグはオン（またはオフ）にされる。この構成では、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇがオンにされる場合にフィルタ無効化フラグがオンにされ、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇがオフにされる場合に無効化フラグがオフにされる。言い換えると、シンタックス要素（すなわち、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇ）は、残差信号が変換を伴わずに量子化されるかどうかを指定し、無効化フラグは、シンタックス要素がオンにされる場合にオンにされ、無効化フラグがオンである場合、イントラ予測のために使用される１つまたは複数のフィルタは無効にされる。いくつかの例では、これが４×４のブロックのみに適用され得るが、サイズに左右されなくてもよい。いくつかの例では、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇのオンまたはオフのステータスに基づいて無効化フラグをオンまたはオフにする動作が、４×４のブロックのみに適用され得る。
【０２０２】
[0176]  代替的に、いくつかの例では、変換スキップフラグの条件は、上の様々な例で言及された任意の他の条件と組み合わされ得る。例えば、フィルタ無効化フラグは、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇがオンであるかオフであるかということと、例えば、上で説明された閾値ベースの基準のような種々の閾値ベースの基準のいずれかのような他の基準との組合せに基づいて、オンまたはオフにされ得る。
【０２０３】
[0177]  ＨＥＶＣにおいて、ｃｏｄｉｎｇ＿ｕｎｉｔシンタックス構造はＣＵに対応する。ｃｏｄｉｎｇ＿ｕｎｉｔシンタックス構造は、ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇシンタックス要素を含み得る。１に等しいｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇシンタックス要素は、ＨＥＶＣの８．６項において規定されるようなスケーリングおよび変換処理およびＨＥＶＣの８．７項において規定されるようなループ内フィルタ処理が迂回されることを指定する。ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇシンタックス要素がｃｏｄｉｎｇ＿ｕｎｉｔシンタックス構造中に存在しないとき、それは０に等しいと推測される。いくつかの事例では、ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇが、ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇと呼ばれることがある。無損失コーディングの構成では、ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇシンタックス要素がオンにされ（例えば、１に等しく）、予測されるブロック（すなわち、変換ブロック）が量子化および変換を伴わずにコーディングされる。
【０２０４】
[0178]  本開示の別の例として、ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇシンタックス要素のような量子化および変換迂回シンタックス要素は、フィルタ無効化フラグをオンにするかオフにするかを決定するために使用され得る。例えば、ビデオデコーダ３０は、量子化および変換迂回シンタックス要素に基づいて、フィルタ無効化フラグをオンにするかオフにするかを決定できる。この構成では、ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇシンタックス要素がオンにされる場合にフィルタ無効化フラグがオンにされる。ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇシンタックス要素がオフにされる場合に無効化フラグがオフにされる。従って、この例では、シンタックス要素（すなわち、ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇ）のときに予測ブロックが量子化および変換を伴わずにコーディングされ、シンタックス要素がオンにされる場合に無効化フラグがオンにされ、無効化フラグがオンである場合に１つまたは複数のフィルタが無効にされる。代替的に、同じｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇが使用され得る。言い換えると、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇがオフにされる場合、フィルタ無効化フラグはオフにされる。いくつかの例では、ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇがオンにされる場合、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇがシグナリングされない。本開示の１つまたは複数の例に従った詳細の追加の精緻化が、以下で与えられる。
【０２０５】
[0179]  本開示の上の例または他の例の１つまたは複数に従って、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇがフィルタリング無効化フラグを決定するために使用され得る。イントラ予測／再構築処理は全てのＴＵレベルにおいて行われるので、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇはすでにＴＵにおいて利用可能である。さらに、本開示の上で説明された１つまたは複数の例および他の例に従って、無効化フィルタリングフラグの動作は、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇのような変換スキップフラグに基づいて決定され得る。変換スキップフラグがＴＵに対して０であるとき、フィルタリング無効化フラグは０に設定され、現在のＨＥＶＣ  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓの仕様におけるようなフィルタリングが適用される。変換スキップフラグが１であるとき、フィルタリング無効化フラグは１に設定され、フィルタリングは無効にされる。
【０２０６】
[0180]  別の例では、フィルタリングの無効化が、本開示で説明される３タップのＦＩＲフィルタ［１，−２，１］のような、任意の暗黙的な導出方法に基づき得る。この例では、変換スキップフラグが０である場合、現在のＨＥＶＣ  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓの仕様におけるようなフィルタリングが適用される（例えば、ＪＣＴＶＣ−Ｍ１００５−ｖ２のセクション８．４．４．２．３において説明されるように）。変換スキップフラグが１であり、ＦＩＲフィルタリングの結果が閾値を下回り、フィルタリング無効化フラグが０であるとき、現在のＨＥＶＣ  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓの仕様（すなわち、ＪＣＴＶＣ−Ｍ１００５−ｖ２）におけるようなフィルタリングが適用される。変換スキップフラグが１であり、ＦＩＲフィルタリングの結果が閾値を上回り、フィルタリング無効化フラグが１であるとき、フィルタリングは無効にされる。言い換えると、シンタックス要素（すなわち、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇ）は、残差信号が変換を伴わずに量子化されるかどうかを指定し、無効化フラグが１に等しくＦＩＲフィルタの結果が閾値を上回ると決定される場合、イントラ予測のために使用される１つまたは複数のフィルタは無効にされる。
【０２０７】
[0181]  さらに、本開示の１つまたは複数の例に従うと、無損失コーディングの場合、フィルタリングの適用は、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇおよび／またはＦＩＲフィルタの結果の代わりに、ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇに依存して行われ得る。代替的に、フィルタリングの適用は、無損失コーディングにおいてフィルタリング無効化フラグのみに依存し得る。
【０２０８】
[0182]  様々な例において、本開示は、ビデオデータをコーディングするための方法を説明する。本方法は、イントラ予測参照サンプルの少なくともいくつかの１つまたは複数の特性に基づいて複数のイントラ予測参照サンプルをフィルタリングするために使用される１つまたは複数のフィルタを適応的に無効にすることと、イントラ予測参照サンプルを使用してビデオデータをイントラコーディングすることとを備え得る。適応的に無効にすることは、ＣＵに隣接するイントラ予測サンプルの１つまたは複数の特性に基づいて、ＣＵの中の全てのＰＵまたはＴＵに対して１つまたは複数のフィルタを適応的に無効にすることを備え得る。いくつかの例では、適応的に無効にすることが、それぞれのＰＵまたはＴＵに隣接するイントラ予測サンプルの個々のセットの１つまたは複数の特性に基づいて、ＣＵの中の個々のＰＵまたはＴＵに対して１つまたは複数のフィルタを適応的に無効にすることを備える。
【０２０９】
[0183]  １つまたは複数のフィルタを適応的に無効にするために使用される１つまたは複数の特性は、複数の参照サンプル中の参照サンプル間のピクセル差分（例えば、絶対的なピクセル差分）が所定の閾値を超えるかどうかを含み得る。代替的に、または加えて、１つまたは複数の特性は、複数の参照サンプルの参照サンプル間のピクセル差分（例えば、絶対的なピクセル差分）が所定の閾値を超える事例の数のカウントが、カウント閾値を超えるかどうかを含み得る。代替的に、または加えて、１つまたは複数の特性は、複数の参照サンプルの参照サンプル間のピクセル差分（例えば、絶対的なピクセル差分）が第１の所定の閾値を超える事例の数のカウントが、第１のカウント閾値を超えるかどうかということと、複数の参照サンプルの参照サンプル間のピクセル差分（例えば、絶対的なピクセル差分）が第２の所定の閾値未満である事例の数のカウントが、第２のカウント閾値を超えるかどうかということとを含み得る。
【０２１０】
[0184]  別の例として、１つまたは複数の特性は、複数の参照サンプルの参照サンプルに適用される３タップのＦＩＲフィルタの出力（例えば、３タップのＦＩＲフィルタの出力の絶対値）が閾値を超えるかどうかを含む。別の例として、１つまたは複数の特性は、複数の参照サンプルの参照サンプルに適用される３タップのＦＩＲフィルタの出力（例えば、３タップのＦＩＲフィルタの出力の絶対値）が閾値を超える事例のカウントが、カウント閾値を超えるかどうかを含む。ＦＩＲフィルタが適用される参照サンプルは、一度に１ピクセル、または一度に３ピクセルだけインクリメントされる、参照サンプルのアレイを通る経路中の３つの参照サンプルの連続的なセットを含み得る。ＦＩＲフィルタが適用される参照サンプルは、参照サンプルのアレイの中に、参照サンプルＰ2M-1,-1、Ｐ-1,-1、およびＰ-1,2N-1、参照サンプルＰ2M-1,-1、ＰM,-1、およびＰ-1,-1、または参照サンプルＰ-1,2N-1、Ｐ-1,N、およびＰ-1,-1を含み得る。
【０２１１】
[0185]  イントラ予測参照サンプルの少なくともいくつかの特性は、複数の予測モードの選択された１つに基づいて選択される複数の参照サンプルの全てよりも少ないサブセットの特性を含み得る。イントラ予測参照サンプルの少なくともいくつかの特性は、参照サンプルの上の行と左の列のいずれかの特性を含んでよく、上の行と左の列のいずれかは、上の行または左の列の参照サンプル間のピクセル差分が所定の閾値を超える事例の数のカウントに基づいて選択され、カウント閾値を超える。
【０２１２】
[0186]  いくつかの例では、ビデオコーダが、ブロックサイズ、成分タイプ、もしくは入力ビデオタイプの少なくとも１つに基づいて１つまたは複数の閾値を選択的に適応させ、並びに／または、ブロックサイズもしくは成分タイプの少なくとも１つに基づいて適応的に無効にするステップを選択的にオンおよびオフにできる。イントラ予測参照サンプルの少なくともいくつかの１つまたは複数の特性は、参照サンプルのサブサンプリングされたセットに対するものであり得る。様々な例において使用される閾値の１つまたは複数は、符号化されたビットストリームにおいて、例えばＰＰＳ、ＳＰＳ、またはＶＰＳの少なくとも１つにおいてシグナリングされ得る。
【０２１３】
[0187]  別の例で、本開示はビデオデータをコーディングするための方法を説明し、この方法は、シンタックス要素に基づいて複数のイントラ予測参照サンプルをフィルタリングするために使用される１つまたは複数のフィルタを適応的に無効にすることと、イントラ予測参照サンプルを使用してビデオデータをイントラコーディングすることとを備える。シンタックス要素は、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇのような変換スキップシンタックス要素であってよく、この方法は、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇがオンにされるときに１つまたは複数のフィルタを無効にすることを備え得る。ｔｒａｎｓｆｒｏｍ＿ｓｋｉｐ＿ｆｌａｇは、変換を伴わずに予測後の残差信号が量子化される、変換スキップ動作を呼び出す。代替的に、シンタックス要素は、ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓフラグのような量子化および変換シンタックス要素であってよく、この方法は、ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓフラグがオンにされるときに１つまたは複数のフィルタを無効にすることを備え得る。ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇは、予測されたブロックが量子化および変換を伴わずにコーディングされる動作を呼び出す。
【０２１４】
[0188]  少なくともいくつかの例では、イントラコーディングが、例えばビデオデコーダ３０におけるイントラ復号を備え、イントラ復号が、イントラ予測参照サンプル（フィルタリングされるか、部分的にフィルタリングされるか、１つまたは複数のフィルタを適応的に無効にした結果としてフィルタリングされないかのいずれか）および残差データに基づいて、ビデオデータをイントラ復号することを備える。この方法はさらに、デコーダ３０において、１つまたは複数の特性に基づいて無効化フラグをオンにすること、または符号化されたビットストリームにおいて無効化フラグを受信することを備え得る。他の例では、イントラコーディングがイントラ符号化を備えてよく、イントラ符号化が、イントラ予測参照サンプル（フィルタリングされるか、部分的にフィルタリングされるか、１つまたは複数のフィルタを適応的に無効にした結果としてフィルタリングされないかのいずれか）および残差データに基づいて、ビデオデータをイントラ符号化することを備える。
【０２１５】
[0189]  本開示はさらに、本明細書で説明される方法の任意の組合せ、さらには、ビデオデコーダ、ビデオエンコーダ、およびそのような方法の任意の組合せを行うように構成される他のデバイス、および実行されるとそのような方法の任意の組合せを行うように構成されるデバイスの１つまたは複数のプロセッサを引き起こす命令を記憶したコンピュータ可読記憶媒体を考慮する。
【０２１６】
[0190]  上で与えられた例のいくつかは、フィルタを無効にするかどうかを決定するための暗黙的な導出方法である。暗黙的な導出方法は、明示的なシグナリングよりも小さな柔軟性しかエンコーダ側において提供できず、より小さなコーディング利得しか提供できない。本開示の追加の技法はさらに、ＨＥＶＣまたは他のビデオコーディング規格のイントラ予測のためのフィルタリング動作を行うときに、エンコーダ側において複雑度を下げ、柔軟性を上げることができる。
【０２１７】
[0191]  例えば、本開示は、イントラ予測のために使用される１つまたは複数のフィルタをオフにするためのシンタックス要素（フラグのような）をコーディングする（例えば、シグナリングする）ことに関する様々な技法を説明する。これらの技法は、単独で、または任意の組合せで使用され得る、以下で説明される技法を含み得る。一般に、本技法は、ＣＵベース、ＣＵの区画ベース、および／またはＴＵベースであり得る、様々な階層的シグナリングを含む。ビデオシーケンスフォーマットに応じて（例えば、ビデオデータが４：２：０フォーマットに適合するか、４：２：２フォーマットに適合するか、または４：４：４フォーマットに適合するか）、異なるシグナリング方法があり得る。本開示はまた、例えば、ブロックサイズおよび色成分のタイプ（例えば、ルミナンス、青色のクロミナンス、および／または赤色のクロミナンス）に基づく、シグナリング方法の制約を説明する。本開示はまた、シンタックス要素、例えばフラグをＣＡＢＡＣコーディングするための技法を説明する。シンタックス要素は、ＣＵ、ＣＵの区画、および／またはＴＵの中でシンタックス要素をシグナリングすることに加えて、またはその代わりに、ＶＰＳ、ＳＰＳ、ＰＰＳ、および／またはスライスヘッダにおいてシグナリングされ得る。一般に、シンタックス要素は、１つまたは複数のイントラ予測フィルタが無効にされるかどうかを示し得る。
【０２１８】
[0192]  ＨＥＶＣバージョン１では、イントラ予測の間のフィルタリング動作がＴＵに適用される。本開示の技法の例では、ＴＵベースのシグナリング方法が提示される。言い換えると、フィルタリングのオン／オフの指示を制御するために、フラグがＴＵ（すなわち、変換ツリーのリーフノード）においてシグナリングされ得る。いくつかの例では、３つの成分を別々に制御するために、３つのフラグがシグナリングされ得る。例えば、ルミナンス（ルーマまたはＹ）、青色のクロミナンス（Ｃｂ）、および赤色のクロミナンス（Ｃｒ）をそれぞれ制御するために、３つのフラグがシグナリングされ得る。代替的に、他の例では、２つのフラグがシグナリングされてよく、一方がルーマのフィルタリングを制御するためのものであり、他方が両方のクロマチャネル（ＣｂおよびＣｒ）のフィルタリングを制御するためのものである。そのような例では、ＣｂおよびＣｒのためのフィルタリング動作が、クロマチャネルにおけるフラグのみを対象とし得る。
【０２１９】
[0193]  図７は、２つの正方形のＴＵを含む例示的な長方形を示す概念図である。具体的には、長方形のブロックはＴＵ０とＴＵ１とを含む。一例では、イントラ予測のフィルタリングがＴＵ０とＴＵ１の各々に対して有効にされるかどうかをフラグが示すように、フラグが長方形のブロックのためにシグナリングされ得る。別の例では、別々のフラグがＴＵ０およびＴＵ１のためにシグナリングされてよく、ここで、ＴＵ０に対するフラグは、イントラ予測のフィルタリングがＴＵ０に対して有効にされるかどうかを示し、ＴＵ１に対するフラグは、イントラ予測のフィルタリングがＴＵ１に対して有効にされるかどうかを示す。
【０２２０】
[0194]  ４：２：２のビデオフォーマットに関するＨＥＶＣ  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓのワーキングドラフトの仕様（すなわち、ＪＣＴＶＣ−Ｍ１００５−ｖ２）に記述されるように、Ｃｂ／ＣｒのためのＴＵの形状は非正方形であり得る。例えば、４：２：２のビデオフォーマットでは、Ｃｂ／ＣｒのためのＴＵの形状が、図７に示されるように長方形であり得る。長方形はさらに、非正方形の変換の使用を避けるために、図７に示されるように、２つの正方形、例えばＴＵ０およびＴＵ１に分割される。この場合（４：２：２のビデオフォーマットおよびＣｂ／Ｃｒ成分の変換）、ビデオエンコーダ２０は、正方形（ＴＵ０およびＴＵ１）の各々に対してフラグをシグナリングできる。代替的に、ビデオエンコーダ２０は、フラグが両方の正方形の変換に関するフィルタリングを制御できるように、長方形だけのためのフラグをシグナリングできる。しかしながら、この事例は、４：２：２のビデオフォーマットおよびＣｂ／Ｃｒ成分だけを対象とするものでない。すなわち、このシグナリング方法は、任意のビデオフォーマットにおける、Ｙ成分だけでなくクロマ成分に対しても適用され得る任意の長方形の変換について一般化され得る。
【０２２１】
[0195]  ビデオエンコーダ２０は、フラグがＣＵの区画の内部のＴＵの全てに対するフィルタリングのオン／オフを制御できるように、ＣＵの区画（Ｎ×Ｎまたは２Ｎ×２Ｎ）においてフラグをシグナリングできる。いくつかの例では、ビデオエンコーダ２０が、その区画に対して３つのフラグをシグナリングし、３つのフラグは各々が１つの成分（例えば、それぞれＹ、Ｃｂ、およびＣｒ）に対応する。代替的に、ビデオエンコーダ２０は、Ｙ成分と、Ｃｂ成分およびＣｒ成分（またはチャネル）の両方とにそれぞれ対応する、区画ごとの２つのフラグをシグナリングできる。この方式で、ＣｂとＣｒの両方のためのフィルタリング動作は、クロマチャネルに対するフラグを対象とし得る。
【０２２２】
[0196]  以下で図８および図９に関して詳細に説明されるように、ＣＵの１つまたは複数の区画に対してフラグがシグナリングされ得る。フラグは、対応する区画のＴＵに対してフィルタリングが行われるべきかどうかを示し得る。図８および図９に示される例は、フラグがルーマ成分のためにどのようにシグナリングされ得るかを表す。クロミナンス成分に対して、変形形態が存在する。一例で、ビデオエンコーダ２０は、ＣＵがどのように区画されるかにかかわらず、クロミナンス成分に対するフラグを１回シグナリングする。別の例で、ビデオエンコーダ２０は、クロマ成分ごとに（ルーマ成分の場合と同じ方式で）各区画ごとに１つのフラグをシグナリングできる。いくつかの例で、ビデオエンコーダ２０は、ビデオデータが４：４：４のビデオフォーマットに準拠するときだけ、クロマ成分ごとに各区画のために１つのフラグをシグナリングする。
【０２２３】
[0197]  図８は、４つのＮ×ＮのＴＵへと区画される例示的な２Ｎ×２ＮのＣＵを示す概念図である。図８は、（含んでいるＣＵが２Ｎ×２Ｎであると仮定して）４つのＮ×Ｎの区画へと区画されるＣＵの例を示す。図８に示されるように、４つの区画に対してそれぞれ４つのフラグがある。各フラグは、区画のそれぞれ１つの内部のフィルタリング動作を制御する。
【０２２４】
[0198]  図９は、１つの２Ｎ×２Ｎの区画を有する例示的な２Ｎ×２ＮのＣＵを示す概念図である。図９は、１つの２Ｎ×２Ｎの区画へとＣＵが区画されるときの例を示す。図９に示されるように、ＴＵの各々に対応する、区画全体に対する１つだけのフラグがある。
【０２２５】
[0199]  いくつかの例では、フラグがＣＵ内部の全てのフィルタリング動作を制御するように、ビデオエンコーダ２０が、ＣＵの区画の形状とは無関係に、ＣＵの中で一度フラグをシグナリングできる。例えば、ビデオエンコーダ２０は、各々がＹ成分、Ｃｂ成分、およびＣｒ成分のそれぞれ１つに対するフィルタリングを制御する、３つのフラグをシグナリングできる。代替的に、ビデオエンコーダ２０は、２つのフラグをシグナリングでき、一方はルーマチャネルのフィルタリングを制御するためのものであり、他方はクロマチャネルのフィルタリングを制御するためのものである。ＣｂとＣｒの両方のためのフィルタリング動作は、クロマチャネルに対してシグナリングされるフラグを対象とし得る。
【０２２６】
[0200]  いくつかの例では、イントラ予測におけるフィルタリングを制御するためのフラグのシグナリングが、１つまたは複数の様々な方法で制約され得る。例えば、ＴＵおよび／またはＣＵのサイズ、区画の形状、およびまたはチャネル／成分のタイプに基づく制約があり得る。様々な制約は、独立であってよく、または１つまたは複数の結合条件を形成するために、組み合わされてよい。いくつかの例示的な制約が以下で列挙され、これらも単独で、または任意の組合せで使用され得る。
−  ＣＵ区画がＮ×Ｎである場合にのみ、フラグがシグナリングされる。
−  ＣＵサイズが、スライスヘッダ、ＰＰＳ、ＳＰＳ、および／またはＶＰＳにおいてシグナリングされ得る（またはシグナリングされ得ない）閾値未満である場合にのみ、フラグがシグナリングされる。
−  ＴＵサイズが、スライスヘッダ、ＰＰＳ、ＳＰＳ、および／またはＶＰＳにおいてシグナリングされ得る（またはシグナリングされ得ない）閾値未満である場合にのみ、フラグがシグナリングされる。
−  ある予測モードが使用される場合にのみ、フラグがシグナリングされる。
−  スライスヘッダ、ＰＰＳ、ＳＰＳ、および／またはＶＰＳにおいてシグナリングされるフラグによって方法が許可される場合にのみ、フラグがシグナリングされる。
−  ルーマチャネルまたはＹ成分のみに対して、フラグがシグナリングされる。
−  ＣＵサイズがサポートされる最小のＣＵサイズである場合にのみ、フラグがシグナリングされる。
−  ＴＵサイズがサポートされる最小のＴＵサイズである場合にのみ、フラグがシグナリングされる。
−  コーディングされたブロックフラグ（ＣＢＦ）がＴＵにおいて１に設定される場合にのみ、フラグがシグナリングされる。
【０２２７】
[0201]  上でシグナリングを論じる際に、ビデオエンコーダ２０は一般に、ビデオエンコーダ２０がフラグのようなシンタックス要素の値を符号化できるという意味で、フラグの値をシグナリングすることを理解されたい。言い換えると、ビデオエンコーダ２０は、ビットストリーム中に、シンタックス要素の値を示すデータを含め得る。ビデオデコーダ３０は同様に、シンタックス要素の値を復号できる。言い換えると、ビデオデコーダ３０は、ビットストリーム中のデータに基づいて、シンタックス要素の値を決定できる。より一般的には、シンタックス要素の値の符号化および復号は、シンタックス要素の値を「コーディングする」ものとして呼ばれることがある。ビデオエンコーダ２０およびビデオデコーダ３０は、ＣＡＢＡＣを使用してシンタックス要素の値をコーディングできる。
【０２２８】
[0202]  シンタックス要素にＣＡＢＡＣ符号化を適用するために、ビデオエンコーダは、「ビン」と呼ばれる一連の１つまたは複数のビットを形成するためにシンタックス要素を二値化できる。加えて、ビデオエンコーダは、コーディングコンテキストを特定できる。コーディングコンテキストは、特定の値を有するビンをコーディングする確率を特定できる。例えば、コーディングコンテキストは、０の値のビンをコーディングする０．７の確率と、１の値のビンをコーディングする０．３の確率とを示し得る。コーディングコンテキストを特定した後、ビデオエンコーダは、間隔を下位サブ間隔と上位サブ間隔とに分割できる。サブ間隔の一方は値０と関連付けられてよく、他方のサブ間隔は値１と関連付けられてよい。サブ間隔の幅は、関連付けられる値について、特定されたコーディングコンテキストによって示される確率に比例し得る。シンタックス要素のビンが下位サブ間隔と関連付けられる値を有する場合、符号化された値は下位サブ間隔の下位境界に等しくなり得る。シンタックス要素の同じビンが上位サブ間隔と関連付けられる値を有する場合、符号化された値は上位サブ間隔の下位境界に等しくなり得る。シンタックス要素の次のビンを符号化するために、ビデオエンコーダは、符号化されたビットの値と関連付けられたサブ間隔である間隔で、これらのステップを繰り返すことができる。ビデオエンコーダが次のビンについてこれらのステップを繰り返すとき、ビデオエンコーダは、特定されたコーディングコンテキストおよび符号化されたビンの実際の値によって示される確率に基づく、修正された確率を使用できる。
【０２２９】
[0203]  ビデオデコーダがシンタックス要素に対してＣＡＢＡＣ復号を行うとき、ビデオデコーダはコーディングコンテキストを特定できる。ビデオデコーダは次いで、間隔を下位サブ間隔と上位サブ間隔とに分割できる。サブ間隔の一方は値０と関連付けられてよく、他方のサブ間隔は値１と関連付けられてよい。サブ間隔の幅は、関連付けられる値について、特定されたコーディングコンテキストによって示される確率に比例し得る。符号化された値が下位サブ間隔内にある場合、ビデオデコーダは、下位サブ間隔と関連付けられる値を有するビンを復号できる。符号化された値が上位サブ間隔内にある場合、ビデオデコーダは、上位サブ間隔と関連付けられる値を有するビンを復号できる。シンタックス要素の次のビンを復号するために、ビデオデコーダは、符号化された値を含んでいるサブ間隔である間隔で、これらのステップを繰り返し得る。ビデオデコーダが次のビンについてこれらのステップを繰り返すとき、ビデオデコーダは、特定されたコーディングコンテキストおよび復号されたビンによって示される確率に基づく、修正された確率を使用できる。ビデオデコーダは次いで、ビンを逆二値化してシンタックス要素を復元できる。
【０２３０】
[0204]  いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０が、チャネルごとに（または代替的に、各成分に対して）１つのコンテキストを使用して、シンタックス要素をコーディングするためのコンテキスト（すなわち、コーディングコンテキスト）を決定できる。代替的に、１つまたは複数の隣接ブロック（例えば、左の、並びに／または上の、隣接ＣＵ、ＰＵ、および／もしくはＴＵ）における１つまたは複数のシグナリングされたフラグによって決定される、２つのコンテキストインデックスがあり得る。一例として、左の隣接ＣＵ、ＰＵ、またはＴＵの中のフラグが０に等しく設定される場合、または利用不可能である場合、ビデオエンコーダ２０およびビデオデコーダ３０は、現在のＣＵ、ＰＵ、またはＴＵのフラグをＣＡＢＡＣコーディングするためのコンテキストインデックスが０であると決定できる。別の例として、左の隣接ブロック中のフラグが利用可能であり１に等しい場合、ビデオエンコーダ２０およびビデオデコーダ３０は、現在のＣＵ／ＰＵ／ＴＵのフラグをＣＡＢＡＣコーディングするためのコンテキストインデックスが１であると決定できる。
【０２３１】
[0205]  さらに別の例として、左の隣接ブロック（例えば、ＣＵ、ＰＵ、および／またはＴＵ）中のシグナリングされたフラグ、および上の隣接ブロック（例えば、ＣＵ、ＰＵ、および／またはＴＵ）中のフラグによって決定される、３つのコンテキストがあり得る。ビデオエンコーダ２０およびビデオデコーダ３０は、次のようにコンテキストインデックス（ｃｔｘＩｄｘ）を決定できる。
【０２３２】
【数３６】
0006580562.tif 000040
【０２３３】
式（１）の例で、ＦｌａｇＬｅｆｔおよびＦｌａｇＡｂｏｖｅは、左および上のＣＵ、ＰＵ、またはＴＵの中のシグナリングされるフラグをそれぞれ指し、ＡｖａｉｌＬｅｆｔおよびＡｖａｉｌＡｂｏｖｅは、フラグが利用可能であるかどうかを指す。利用可能である場合、それらは１である。それ以外の場合、それらは０である。
【０２３４】
[0206]  代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、隣接参照サンプルから得られる測定結果とともにコンテキストを導出できる。本開示で提供される例の１つまたは複数において、フィルタのセットをオン／オフするためのいくつかの暗黙的な基準があり、それらの基準は次のようなコンテキストインデックスの導出のために使用され得る。
−  参照サンプルの分散
−  ２つの隣り合うピクセルの間の絶対的差分和
−  閾値よりも大きなピクセル間の最大の差分（例えば、絶対的な差分）
−  閾値よりも大きな最大の差分（例えば、最大の絶対的な差分）を有する回数のカウント
−  ［１，−２，１］ＦＩＲフィルタリングおよび閾値よりも大きな結果（例えば、結果の絶対値）
−  ピクセル差分の符号変化のカウント
−  上の基準の任意の組合せ
[0207]  加えて、または代替的に、いくつかのシンタックス要素がコンテキストインデックスの導出において考慮され得る。
−  予測モード
−  ブロックサイズ
−  区画サイズ
[0208]  いくつかの例では、イントラ予測のためのフィルタが無効にされるべきかどうかを表すシンタックス要素（例えば、フラグ）の値をビデオエンコーダ２０およびビデオデコーダ３０が暗黙的に導出するように構成され得る。暗黙的に導出されるとき、ビデオエンコーダ２０はシンタックス要素の値をシグナリングする必要はなく、ビデオデコーダ３０はシンタックス要素の値を受信する必要はない。
【０２３５】
[0209]  いくつかの例では、閾値よりも小さな（または代替的には大きな）ブロックサイズに対して、ビデオエンコーダ２０およびビデオデコーダ３０がフラグの値を暗黙的に導出できる。導出基準は、本開示の他の例で説明されるものと同じであり得る。それ以外の場合、フラグは明示的にシグナリングされ得る。
【０２３６】
[0210]  一例では、ルーマチャネル（またはＹ成分）に対して、ビデオエンコーダ２０およびビデオデコーダ３０がフラグを暗黙的に導出するが、クロマチャネル（またはＣｂ成分、Ｃｒ成分）に対して、ビデオエンコーダ２０およびビデオデコーダ３０がフラグの値を明示的にコーディングできる。代替的に、ルーマチャネル（またはＹ成分）に対しては、ビデオエンコーダ２０およびビデオデコーダ３０はフラグの値をコーディングできるが、クロマチャネル（またはＣｂ成分、Ｃｒ成分）に対しては、ビデオエンコーダ２０およびビデオデコーダ３０はフラグの値を暗黙的に導出できる。
【０２３７】
[0211]  いくつかの例では、いくつかのフィルタが暗黙的な導出の方法とともに適応的にオン／オフされるが、他のフィルタのためのフラグが明示的にシグナリングされる。すなわち、同じブロックに対して、１つまたは複数のフィルタは明示的にコーディングされるフラグを使用して明示的に有効または無効にされ得るが、１つまたは複数の他のフィルタは暗黙的な導出を使用して有効または無効にされ得る。
【０２３８】
[0212]  いくつかの例では、ハイレベルシンタックス（ＨＬＳ）フラグが、スライスヘッダ、ＰＰＳ、ＳＰＳ、および／またはＶＰＳにおいてシグナリング（例えば、コーディング）され得る。ビデオエンコーダ２０およびビデオデコーダ３０は、イントラ予測フィルタリングを示す、スライスヘッダ、ＰＰＳ、ＳＰＳ、および／またはＶＰＳの１つまたは複数の中の対応するフラグが有効にされ得るときにのみ、ＣＵ、ＰＵ、および／またはＴＵのレベルで、同様のフラグの値をコーディングできる。
【０２３９】
[0213]  一般に、上の例では、１つまたは複数のフィルタが、シンタックス要素または暗黙的な導出を使用して、有効または無効にされ得る。例えば、フィルタは、ＭＤＩＳフィルタ、１／３２ピクセル（ペル）の双線形補間フィルタ、境界フィルタ、エッジフィルタ、および／またはＤＣフィルタのいずれかまたは全てを含み得る。ＶＰＳ、ＳＰＳ、ＰＰＳ、および／またはスライスヘッダは、ＣＵ、ＰＵ、および／またはＴＵのレベルのシンタックス要素（例えば、フラグ）の１つまたは複数に基づいて、どのフィルタがオフに切り替えられる（または有効にされ得る）かを指定できる。
【０２４０】
[0214]  本開示の別の例では、フィルタリング無効化フラグがＣＵレベルまたはＴＵレベルにおいて明示的にシグナリングされると仮定される。そのような例では、ビデオエンコーダ２０が、ＴＵレベルで、ＣＢＦの前にフィルタリング無効化フラグをシグナリングできる。例えば、フィルタリング無効化フラグは、ｔｒａｎｓｆｒｏｍ＿ｔｒｅｅシンタックス構造においてＣＢＦよりも前に配置され得る。従って、この仮定のもとでは、フィルタリング無効化フラグが常に、（ｔｒａｎｓｆｒｏｍ＿ｔｒｅｅシンタックス要素においてＣＢＦの後に現れるｔｒａｎｓｆｒｏｍ＿ｕｎｉｔシンタックス構造中のｒｅｓｉｄｕａｌ＿ｃｏｄｉｎｇシンタックス構造においてシグナリングされる）ｔｒａｎｓｆｒｏｍ＿ｓｋｉｐ＿ｆｌａｇシンタックス要素の前にシグナリングされる。上で示されたように、ｔｒａｎｓｆｒｏｍ＿ｓｋｉｐ＿ｆｌａｇシンタックス要素の値は変換スキップ動作を呼び出すことができ、ここで予測後の残差信号は変換を伴わずに（例えば、ＤＣＴの適用を伴わず）量子化され得る。
【０２４１】
[0215]  上で説明された本開示の様々な例は、フィルタリング無効化フラグが変換スキップフラグおよび／または任意の暗黙的な導出の方法によって決定される技法を提供する。フィルタリング無効化フラグの明示的なシグナリングに関する本開示の追加の例によれば、フィルタリング無効化フラグの動作はさらに、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇシンタックス要素の値に基づいて変更され得る。この例によれば、フィルタリング無効化フラグが１であり（または、フィルタリングが有効にされ得ることを示す何らかの他の値を有し）、ＴＵに対するｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇシンタックス要素が０（または変換がＴＵに対してスキップされるべきであること、すなわちＴＵに変換が適用されるべきでないことを示す別の値）であるとき、ＨＥＶＣ  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓ（ＪＣＴＶＣ−Ｍ１００５−ｖ２）仕様のセクション８．４．４．２．６において記述されるようなフィルタリングが適用され得る。言い換えると、ビデオコーダは、ＪＣＴＶＣ−Ｍ１００５−ｖ２の式（８−５２）または（８−６０）の双線形フィルタリングまたはＪＣＴＶＣ−Ｍ１００５−ｖ２の式（８−５３）または（８−６１）の最近傍補間を適用できる。しかしながら、フィルタリング無効化フラグが１（フィルタリングが無効にされ得ることを示す何らかの他の値）であり、ＴＵに対するｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇが１（またはＴＵに変換を適用すべきかどうかが他のシンタックス要素に依存することを示す何らかの他の値）であるとき、フィルタリングは無効にされ得る。フィルタリング無効化フラグが０であるとき、ＨＥＶＣ  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓ仕様（ＪＣＴＶＣ−Ｍ１００５−ｖ２）におけるようなフィルタリングが、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇとは無関係に適用され得る。言い換えると、ビデオコーダは、ＪＣＴＶＣ−Ｍ１００５−ｖ２の式（８−５２）または（８−６０）の双線形フィルタリングまたはＪＣＴＶＣ−Ｍ１００５−ｖ２の式（８−５３）または（８−６１）の最近傍補間を適用できる。
【０２４２】
[0216]  無損失コーディングの場合、フィルタリングの適用は、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇの代わりにｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇに依存して行われ得る。例えば、変換および量子化がＴＵに対してはスキップされるべきであることを示す値を、ＴＵを含むＣＵのｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇシンタックス要素が有するとき、ビデオコーダは、ＪＣＴＶＣ−Ｍ１００５−ｖ２のセクション８．４．４．２．６において説明されるようなフィルタリングを適用できる。しかしながら、変換および量子化がＴＵに対してはスキップされることを示す値を、ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇが有しないとき、ビデオコーダはフィルタリングを無効にできる。代替的に、フィルタリングの適用は、無損失コーディングにおいてフィルタリング無効化フラグのみに依存し得る。
【０２４３】
[0217]  別の例では、フィルタリングの無効化が、本開示の様々な例において説明される３タップのＦＩＲフィルタ［１，−２，１］のような、任意の暗黙的な導出方法に基づき得る。この場合、フィルタリング無効化フラグが１であり、ＦＩＲフィルタリングの結果が閾値を下回る場合、ＪＣＴＶＣ−Ｍ１００５−ｖ２におけるようなフィルタリングが適用され得る。フィルタリング無効化フラグが１であり、ＦＩＲフィルタリングの結果が閾値を上回る場合、フィルタリングが無効にされ得る。フィルタリング無効化フラグが０であるとき、ＪＣＴＶＣ−Ｍ１００５−ｖ２におけるようなフィルタリングが、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇとは無関係に適用され得る。さらに、いくつかの例では、フィルタリングを適用するための基準が、本開示の他の例において説明されるように、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇと１つまたは複数の暗黙的な導出の方法との組合せにより条件付けられ得る。
【０２４４】
[0218]  図１０は、本開示の技法を実装できる例示的なビデオエンコーダ２０を示すブロック図である。図１０は、説明のために提供されるものであり、本開示で広く例示され説明される技法を限定するものと見なされるべきでない。説明の目的で、本開示は、ＨＥＶＣコーディングの文脈においてビデオエンコーダ２０を説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
【０２４５】
[0219]  ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを行い得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオにおける空間的冗長性を低減または除去するために、空間的予測に依存する。インターコーディングは、ビデオシーケンスの隣接するフレーム内またはピクチャ内のビデオの時間的な冗長性を低減または除去するために、時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測（Ｐモード）または双予測（Ｂモード）のようなインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
【０２４６】
[0220]  図１０の例では、ビデオエンコーダ２０が、予測処理ユニット１００と、残差生成ユニット１０２と、変換処理ユニット１０４と、量子化ユニット１０６と、逆量子化ユニット１０８と、逆変換処理ユニット１１０と、再構築ユニット１１２と、フィルタユニット１１４と、復号ピクチャバッファ１１６と、エントロピー符号化ユニット１１８とを含む。予測処理ユニット１００は、インター予測処理ユニット１２０と、イントラ予測処理ユニット１２６とを含む。予測処理ユニット１００は、「モード選択ユニット」と呼ばれることもある。インター予測処理ユニット１２０は、動き推定ユニット１２２と、動き補償ユニット１２４とを含む。動き推定ユニット１２２および動き補償ユニット１２４は、高度に統合され得るが、概念的な目的のために別々に示されている。ビデオエンコーダ２０は、逆量子化ユニット１０８と、逆変換処理ユニット１１０と、ビデオブロックの再構築のための再構築ユニット１１２とを含む。いくつかの例では、残差生成ユニット１０２および／または再構築ユニット１１２が加算器である。他の例では、ビデオエンコーダ２０が、より多数の、より少数の、または異なる機能コンポーネントを含み得る。
【０２４７】
[0221]  ビデオエンコーダ２０は、ビデオデータを受信できる。ビデオエンコーダ２０は、ビデオデータのピクチャのスライス中の各ＣＴＵを符号化できる。ＣＴＵの各々は、等しいサイズのルーマコーディングツリーブロック（ＣＴＢ）およびピクチャの対応するＣＴＢと関連付けられ得る。ＣＴＵを符号化することの一部として、予測処理ユニット１００は、ＣＴＵのＣＴＢを徐々により小さくなるブロックに分割するために、４分木区分を行い得る。より小さいブロックは、ＣＵのコーディングブロックであり得る。例えば、予測処理ユニット１００は、ＣＴＵと関連付けられたＣＴＢを４つの等しいサイズのサブブロックに区画でき、サブブロックの１つまたは複数を４つの等しいサイズのサブサブブロックに区画でき、以下同様である。
【０２４８】
[0222]  図１０に示されたように、ビデオエンコーダ２０はビデオデータを受信し、データをビデオブロックに区画する。言い換えると、符号化処理の間に、ビデオエンコーダ２０はコーディングされるべきビデオフレームまたはスライスを受信する。いくつかの例では、ビデオエンコーダ２０の区画モジュール（図示されず）が、データをビデオブロックへと区画する。言い換えると、区画モジュールは、（例えば、以前のコーディングパスにおける以前の区画方式の評価に基づいて）ビデオデータのブロックをサブブロックに区画できる。例えば、区画処理ユニット１００は、最初は、レートひずみ分析（例えば、レートひずみ最適化）に基づいて、フレームまたはスライスをＬＣＵに区画し、ＬＣＵの各々をサブＣＵに区画できる。予測処理ユニット１００はさらに、ＬＣＵをサブＣＵに区画することを示す４分木データ構造を生成できる。４分木のリーフノードＣＵは、１つまたは複数のＰＵと１つまたは複数のＴＵとを含み得る。この区画はまた、例えばＬＣＵおよびＣＵの４分木構造に従って、スライス、タイル、または他のより大きなユニットへの区画を、ビデオブロックの区画とともに含み得る。ビデオエンコーダ２０は一般に、符号化されるべきビデオスライス内のビデオブロックを符号化するコンポーネントを示す。スライスは、複数のビデオブロック（場合によってはタイルと呼ばれるビデオブロックのセット）に分割され得る。予測処理ユニット１００は、誤差の結果（例えば、コーディングレートおよびひずみレベル）に基づいて、現在のビデオブロックのために、複数のイントラコーディングモードの１つ、または複数のインターコーディングモードの１つのように、複数の可能なコーディングモードのうちの１つを選択できる。予測処理ユニット１００は、イントラ予測を行うための本開示の技法を実施するように構成され得る。予測処理ユニット１００は、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを残差生成ユニット１０２（例えば、加算器）に提供して残差ブロックデータを生成し、再構築ユニット１１２（例えば、加算器）に提供して参照ピクチャとして使用するための符号化されたブロックを再構築できる。
【０２４９】
[0223]  ビデオエンコーダ２０は、ＣＵの符号化された表現（すなわち、コーディングされたＣＵ）を生成するために、ＣＴＵのＣＵを符号化できる。ＣＵを符号化することの一部として、予測処理ユニット１００は、ＣＵの１つまたは複数のＰＵの間で、ＣＵと関連付けられたコーディングブロックを区分できる。従って、各ＰＵは、ルーマ予測ブロックおよび対応するクロマ予測ブロックと関連付けられ得る。ビデオエンコーダ２０およびビデオデコーダ３０は、様々なサイズを有するＰＵをサポートできる。上で示されたように、ＣＵのサイズはＣＵのルーマコーディングブロックのサイズを指すことがあり、ＰＵのサイズはＰＵのルーマ予測ブロックのサイズを指すことがある。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ビデオエンコーダ２０およびビデオデコーダ３０は、イントラ予測の場合は２Ｎ×２ＮまたはＮ×ＮのＰＵサイズをサポートでき、インター予測の場合は２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、Ｎ×Ｎ、または同様の対称のＰＵサイズをサポートできる。ビデオエンコーダ２０およびビデオデコーダ３０はまた、インター予測のための２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズに対して非対称な区画をサポートできる。
【０２５０】
[0224]  予測処理ユニット１００内のイントラ予測処理ユニット１２６は、空間的圧縮を行うために、コーディングされるべき現在のブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対する現在のビデオブロックのイントラ予測コーディングを行い得る。様々な例において、イントラ予測処理ユニット１２６は、符号化処理のイントラ予測の間のフィルタリングを適応的に制御するための、本明細書で説明される技法の１つまたは複数を行い得る。予測処理ユニット１００内の動き推定ユニット１２２および動き補償ユニット１２４は、時間的圧縮を行うために、１つまたは複数の参照ピクチャ中の１つまたは複数の予測ブロックに対する現在のビデオブロックのインター予測コーディングを行う。
【０２５１】
[0225]  インター予測処理ユニット１２０は、ＣＵの各ＰＵに対してインター予測を行うことによって、ＰＵのための予測データを生成できる。ＰＵのための予測データは、ＰＵの予測ブロックとＰＵのための動き情報とを含み得る。インター予測処理ユニット１２０は、ＰＵがＩスライス内にあるか、Ｐスライス内にあるか、またはＢスライス内にあるかに応じて、ＣＵのＰＵに対して異なる動作を行い得る。Ｉスライスでは、全てのＰＵがイントラ予測される。従って、ＰＵがＩスライス内にある場合、インター予測処理ユニット１２０はＰＵに対してインター予測を行わない。いくつかの例では、動き推定ユニット１２２が、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスを、Ｐスライス、Ｂスライス、またはＧＰＢスライスとして指定し得る。ビデオエンコーダ２０は、例えば、ビデオデータの各ブロック対する適切なコーディングモードを選択するために、複数のコーディングパスを行い得る。
【０２５２】
[0226]  動き推定ユニット１２２によって行われる動き推定は、動きベクトルを生成する処理であり、ビデオブロックの動きを推定する。動きベクトルは、例えば、参照ピクチャ内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。動き推定ユニット１２２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコーディングされたスライス中のビデオブロックのＰＵに対する動きベクトルを計算できる。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択されてよく、それらの参照ピクチャリストの各々は、復号ピクチャバッファ１１６に記憶された１つまたは複数の参照ピクチャを特定する。動き推定ユニット１２２は、計算された動きベクトルをエントロピー符号化ユニット１１８と動き補償ユニット１２４とに送る。
【０２５３】
[0227]  予測ブロックは、絶対値差分和（ＳＡＤ）、差分２乗和（ＳＳＤ）、または他の差分のメトリックによって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのＰＵと厳密に一致することが見出されるブロックである。いくつかの例では、ビデオエンコーダ２０が、復号ピクチャバッファ１１６（すなわち、参照フレームメモリ）に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算できる。例えば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数のピクセル位置の値を補間できる。従って、動き推定ユニット１２２は、完全なピクセル位置および分数のピクセル位置に対して動き探索を行い、分数のピクセル精度で動きベクトルを出力できる。
【０２５４】
[0228]  動き補償ユニット１２４によって行われる動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を行うことを含み得る。現在のビデオブロックのＰＵに対する動きベクトルを受信すると、動き補償ユニット１２４は、動きベクトルが参照ピクチャリストの１つにおいて指す予測ブロックを位置特定できる。ビデオエンコーダ２０（例えば、ビデオエンコーダ２０の残差生成ユニット１０２）は、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成できる。一般に、動き推定ユニット１２２は、ルーマ成分に対する動き推定を行い、動き補償ユニット１２４は、クロマ成分とルーマ成分の両方のために、ルーマ成分に基づいて計算された動きベクトルを使用する。ピクセル差分値は、ブロックのための残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。残差生成ユニット１０２（例えば、「加算器」）は、この減算動作を行う１つまたは複数のコンポーネントを表し得る。動き補償ユニット１２４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するための、ビデオブロックとビデオスライスとに関連付けられたシンタックス要素を生成できる。
【０２５５】
[0229]  ＰＵがＰスライス中にある場合、動き推定ユニット１２２は、ＰＵのための参照領域について参照ピクチャのリスト（例えば、「ＲｅｆＰｉｃＬｉｓｔ０」）中の参照ピクチャを探索できる。ＰＵのための参照領域は、ＰＵの予測ブロックに最も密接に対応するサンプルを含んでいる参照ピクチャ内の領域であり得る。動き推定ユニット１２２は、ＰＵのための参照領域を含んでいる参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０中の位置を示す参照インデックスを生成できる。加えて、動き推定ユニット１２２は、ＰＵのコーディングブロックと参照領域と関連付けられた参照位置との間の空間変位を示す動きベクトルを生成できる。例えば、動きベクトルは、現在のピクチャにおける座標から参照ピクチャにおける座標までのオフセットを与える２次元ベクトルであり得る。動き推定ユニット１２２は、ＰＵの動き情報として、参照インデックスと動きベクトルとを出力できる。動き補償ユニット１２４は、ＰＵの動きベクトルによって示された参照位置における実際のサンプルまたは補間サンプルに基づいて、ＰＵの予測ブロックを生成できる。
【０２５６】
[0230]  ＰＵがＢスライス中にある場合、動き推定ユニット１２２は、ＰＵのために単予測または双予測を行い得る。ＰＵのための単予測を行うために、動き推定ユニット１２２は、ＰＵのための参照領域についてＲｅｆＰｉｃＬｉｓｔ０または第２の参照ピクチャリスト（「ＲｅｆＰｉｃＬｉｓｔ１」）の参照ピクチャを探索できる。動き推定ユニット１２２は、ＰＵの動き情報として、参照領域を含んでいる参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１中の位置を示す参照インデックスと、ＰＵの予測ブロックと参照領域と関連付けられた参照位置との間の空間変位を示す動きベクトルと、参照ピクチャがＲｅｆＰｉｃＬｉｓｔ０中にあるかＲｅｆＰｉｃＬｉｓｔ１中にあるかを示す１つまたは複数の予測方向インジケータとを出力できる。動き補償ユニット１２４は、ＰＵの動きベクトルによって示された参照位置における実際のまたは補間されたサンプルに少なくとも部分的に基づいて、ＰＵの予測ブロックを生成できる。
【０２５７】
[0231]  ＰＵのための双方向インター予測を行うために、動き推定ユニット１２２は、ＰＵのための参照領域についてＲｅｆＰｉｃＬｉｓｔ０中の参照ピクチャを探索でき、また、ＰＵのための別の参照領域についてＲｅｆＰｉｃＬｉｓｔ１中の参照ピクチャを探索できる。動き推定ユニット１２２は、参照領域を含んでいる参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１中の位置を示す参照インデックスを生成できる。加えて、動き推定ユニット１２２は、参照領域と関連付けられた参照位置とＰＵの予測ブロックとの間の空間変位を示す動きベクトルを生成できる。ＰＵの動き情報は、ＰＵの参照インデックスと動きベクトルとを含み得る。動き補償ユニット１２４は、ＰＵの動きベクトルによって示された参照位置における実際のまたは補間されたサンプルに少なくとも部分的に基づいて、ＰＵの予測ブロックを生成できる。
【０２５８】
[0232]  イントラ予測処理ユニット１２６は、ＰＵに対してイントラ予測を行うことによって、ＰＵのための予測データを生成できる。言い換えると、イントラ予測処理ユニット１２６は、上で説明されたように、動き推定ユニット１２２と動き補償ユニット１２４とによって行われるインター予測の代替として、現在のブロックをイントラ予測できる。ＰＵのための予測データは、ＰＵのための予測ブロックと様々なシンタックス要素とを含み得る。イントラ予測処理ユニット１２６は、Ｉスライス、Ｐスライス、およびＢスライス中のＰＵに対してイントラ予測を行い得る。
【０２５９】
[0233]  イントラ予測処理ユニット１２６は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定できる（例えば、ＰＵのための予測ブロックを決定できる）。例えば、ＰＵに対してイントラ予測を行うために、イントラ予測処理ユニット１２６は、複数のイントラ予測モードを使用して、ＰＵのための予測ブロックの複数のセットを生成できる。言い換えると、イントラ予測処理ユニット１２６は、例えば別々の符号化パスの間に、様々なイントラ予測モードを使用して現在のブロックを符号化でき、イントラ予測処理ユニット１２６（またはいくつかの例では、モード選択ユニット）は、試験されたモードから使用すべき適切なイントラ予測モードを選択できる。
【０２６０】
[0234]  いくつかの例では、イントラ予測ユニット１２６が、様々な試験されたイントラ予測モードに対して、レートひずみ分析を使用してレートひずみの値を計算でき、試験されたモードの中から最良のレートひずみ特性を有するイントラ予測モードを選択できる。レートひずみ分析は、一般に、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（すなわち、誤差）の量、さらには、符号化されたブロックを生成するために使用されるビットレート（すなわち、ビットの数）とを決定する。イントラ予測処理ユニット１２６は、符号化された様々なブロックのひずみおよびレートから比を算出し、どのイントラ予測モードがブロックに対して最良のレートひずみ値を示すかを決定できる。
【０２６１】
[0235]  特定のイントラ予測モードを使用してイントラ予測を行うとき、イントラ予測処理ユニット１２６は、隣接ブロックからのサンプルの特定のセットを使用してＰＵの予測ブロックを生成できる。隣接ブロックは、ＰＵ、ＣＵ、およびＣＴＵについて左から右、上から下の符号化順序を仮定すると、ＰＵの予測ブロックの上、右上、左上、または左にあり得る。イントラ予測処理ユニット１２６は、様々な数のイントラ予測モード、例えば３３個の方向性イントラ予測モードを使用できる。いくつかの例では、イントラ予測モードの数が、ＰＵの予測ブロックのサイズに依存し得る。
【０２６２】
[0236]  いくつかの例では、イントラ予測処理ユニット１２６が、隣接参照サンプル間の絶対的差分和に少なくとも一部基づいて、メトリックを計算できる。加えて、イントラ予測処理ユニット１２６は、そのメトリックに少なくとも一部基づいて、隣接参照サンプルに基づいて予測ブロックを生成するときに、最近傍補間を使用するかどうかを決定できる。いくつかの例では、イントラ予測処理ユニット１２６が最近傍補間を使用するという決定を行わないとき、イントラ予測処理ユニット１６６が双線形補間を使用できる。ビデオエンコーダ２０は、ビデオデータのビットストリームに、予測ブロックに基づいて残差データを表すデータを含め得る。
【０２６３】
[0237]  別の例では、イントラ予測処理ユニット１２６が、隣接参照サンプル間の絶対的差分和に少なくとも一部基づいて、メトリックを計算できる。メトリックが閾値よりも大きくないとき、イントラ予測処理ユニット１２６は、平滑化フィルタリングまたは双線形補間フィルタリングを隣接参照サンプルに適用できる。加えて、イントラ予測処理ユニット１２６は、隣接参照サンプルに少なくとも一部基づいて、予測ブロックを生成できる。ビデオエンコーダ２０は、ビデオデータのビットストリームに、予測ブロックに基づいて残差データを表すデータを含め得る。
【０２６４】
[0238]  別の例では、予測ブロック中の各々のそれぞれのサンプルに対して、イントラ予測処理ユニット１２６が、それぞれのサンプルの位置およびイントラ予測の角度に少なくとも一部基づいて、変数を決定できる。変数が特定の値に等しくないとき、イントラ予測処理ユニット１２６は、第１のメトリックに少なくとも一部基づいて、平滑化フィルタリングおよび双線形補間フィルタリングの中から第１のフィルタリングモードを選択できる。加えて、変数が特定の値に等しくないとき、イントラ予測処理ユニット１２６は、第１の選択されたフィルタリングモードを１つまたは複数のイントラ予測参照サンプルに適用することによって少なくとも一部、それぞれのサンプルの値を決定できる。変数が特定の値に等しいとき、イントラ予測処理ユニット１２６は、第２のメトリックに少なくとも一部基づいて、平滑化フィルタリングおよび双線形補間フィルタリングの中から第２のフィルタリングモードを選択できる。イントラ予測処理ユニット１２６は、第２の選択されたフィルタリングモードを１つまたは複数のイントラ予測参照サンプルに適用することによって少なくとも一部、それぞれのサンプルの値を決定できる。ビデオエンコーダ２０は、ビデオデータのビットストリームに、予測ブロックに基づいて残差データを表すデータを含め得る。
【０２６５】
[0239]  別の例では、予測ブロック中の各々のそれぞれの予測サンプルに対して、イントラ予測処理ユニット１２６が、メトリックに少なくとも一部基づいて、双線形補間および最近傍補間の中から補間モードを選択できる。イントラ予測処理ユニット１２６は、選択された補間モードに基づいて、それぞれの予測サンプルを決定できる。さらに、ビデオエンコーダ２０は、ビデオデータのビットストリームに、予測ブロックに基づいて残差データを表すデータを含め得る。
【０２６６】
[0240]  ブロックのイントラ予測モードを選択した後に、イントラ予測処理ユニット１２６は、エントロピー符号化ユニット１１８にブロックのための選択されたイントラ予測モードを示す情報を提供できる。エントロピー符号化ユニット１１８は、本開示の技法に従って、選択されたイントラ予測モードを示す情報を符号化できる。ビデオエンコーダ２０は、複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックに対する符号化コンテキストの定義と、コンテキストの各々に対して使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを、送信されるビットストリームに含め得る。
【０２６７】
[0241]  予測処理ユニット１００は、ＰＵについてインター予測処理ユニット１２０によって生成された予測データ、またはＰＵについてイントラ予測処理ユニット１２６によって生成された予測データの中から、ＣＵのＰＵのための予測データを選択できる。いくつかの例では、予測処理ユニット１００が、予測データのセットのレート／歪みのメトリックに基づいて、ＣＵのＰＵのための予測データを選択する。選択された予測データの予測ブロックは、本明細書で、選択された予測ブロックと呼ばれ得る。言い換えると、（モード選択ユニットとして動作する）予測処理ユニット１００は、例えば誤差の結果に基づいて、コーディングモード、すなわち、イントラまたはインターのうちの１つを選択でき、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを、残差ブロックデータを生成するために残差生成ユニット１０２に提供し、参照フレームとして使用するための符号化されたブロックを再構築するために再構築ユニット１１２に提供できる。予測処理ユニット１００はまた、動きベクトル、イントラモードインジケータ、区画情報、および他のそのようなシンタックス情報のようなシンタックス要素を、エントロピー符号化ユニット１１８に提供できる。
【０２６８】
[0242]  残差生成ユニット１０２は、ＣＵのコーディングブロック（例えば、ルーマコーディングブロック、Ｃｂコーディングブロック、およびＣｒコーディングブロック）、並びにＣＵのＰＵの選択された予測ブロック（例えば、ルーマブロック、Ｃｂブロック、およびＣｒブロック）に基づいて、ＣＵの残差ブロック（例えば、ルーマ残差ブロック、Ｃｂ残差ブロック、およびＣｒ残差ブロック）を生成できる。例えば、残差生成ユニット１０２は、残差ブロック中の各サンプルが、ＣＵのコーディングブロック中のサンプルとＣＵのＰＵの対応する選択された予測ブロック中の対応するサンプルとの差分に等しい値を有するように、ＣＵの残差ブロックを生成できる。いくつかの例では、予測処理ユニット１００がインター予測とイントラ予測のいずれかを介して現在のビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ２０（例えば、ビデオエンコーダ２０の残差生成ユニット１０２）が、現在のビデオブロック（すなわち、コーディングされているビデオブロック）から予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、１つまたは複数のＴＵに含まれ、変換処理ユニット１０４に適用され得る。
【０２６９】
[0243]  変換処理ユニット１０４は、４分木区画を行って、ＣＵの残差ブロックをＣＵのＴＵと関連付けられた変換ブロックに区画できる。従って、ＴＵは、ルーマ変換ブロックと、２つの対応するクロマ変換ブロックとに関連付けられ得る。ＣＵのＴＵのルーマ変換ブロックおよびクロマ変換ブロックのサイズおよび位置は、ＣＵのＰＵの予測ブロックのサイズおよび位置に基づくことも基づかないこともある。
【０２７０】
[0244]  変換処理ユニット１０４は、ＴＵの変換ブロックに１つまたは複数の変換を適用することによって、ＣＵの各ＴＵに対して変換係数ブロックを生成できる。変換処理ユニット１０４は、ＴＵと関連付けられた変換ブロックに様々な変換を適用できる。例えば、変換処理ユニット１０４は、離散コサイン変換（ＤＣＴ）、方向性変換、または概念的に同様の変換を変換ブロックに適用できる。言い換えると、変換処理ユニット１０４は、ＤＣＴまたは概念的に同様の変換のような変換を使用して、残差ビデオデータを残差変換係数に変換できる。ウェーブレット変換、整数変換、サブバンド変換または他のタイプ変換も使用され得る。変換を適用することで、残差変換係数値を備えるビデオブロック（すなわち、残差変換係数のブロック）が生成し得る。いくつかの例では、変換処理ユニット１０４が、残差ビデオデータをピクセル領域から周波数領域のような変換領域に変換できる。いくつかの例では、変換処理ユニット１０４が、得られた変換係数を量子化ユニット１０６へ送る。
【０２７１】
[0245]  量子化ユニット１０６は、係数ブロック中の変換係数を量子化できる。量子化処理は、変換係数の一部または全てと関連付けられるビット深度を低減できる。従って、量子化ユニット１０６は、ビットレートをさらに低減するために変換係数を量子化できる。量子化処理は、係数の一部または全てと関連付けられるビット深度を低減できる。量子化処理は「スケーリング」処理と呼ばれることもあり、従って、量子化された変換係数は「スケーリングされた変換係数」と呼ばれることもある。例えば、ｎビットの変換係数は量子化の間にｍビットの変換係数へと切り捨てられてよく、ただし、ｎはｍよりも大きい。
【０２７２】
[0246]  量子化ユニット１０６は、ＣＵと関連付けられた量子化パラメータ（ＱＰ）値に基づいて、ＣＵのＴＵと関連付けられた係数ブロックを量子化できる。ビデオエンコーダ２０は、ＣＵと関連付けられたＱＰ値を調整することによって、ＣＵと関連付けられた係数ブロックに適用される量子化の程度を調整できる。言い換えると、量子化（またはスケーリング）の程度は、量子化パラメータを調整することによって修正され得る。量子化は、情報の喪失をもたらすことがあり、従って、量子化された変換係数は、元の係数よりも精度が低いことがある。いくつかの例では、量子化ユニット１０６が次いで、量子化された変換係数を含む行列の走査を行い得る。代替的に、エントロピー符号化ユニット１１８が走査を行い得る。
【０２７３】
[0247]  逆量子化ユニット１０８および逆変換処理ユニット１１０は、それぞれ、係数ブロックから残差ブロックを再構築するために、それぞれ、係数ブロックに逆量子化および逆変換を適用できる。再構築ユニット１１２は、ＴＵと関連付けられる再構築された変換ブロックを生成するために、再構築された残差ブロックを、予測処理ユニット１００によって生成された１つまたは複数の予測ブロックからの対応するサンプルに加算できる。このようにして、逆量子化ユニット１０８および逆変換処理ユニット１１０は、参照ピクチャの参照ブロックとして後で使用するためのピクセル領域中の残差ブロックを再構築するために、それぞれ、逆量子化および逆変換を適用できる。このようにＣＵの各ＴＵのための変換ブロックを再構築することによって、ビデオエンコーダ２０は、ＣＵのコーディングブロックを再構築できる。
【０２７４】
[0248]  さらに、いくつかの例では、変換処理ユニット１０４が変換ブロックに変換を適用しない。そのような例では、変換ブロックが、変換係数ブロックとして扱われ得る。いくつかの例では、変換処理ユニット１０４が、得られた変換係数を量子化ユニット５４へ送る。
【０２７５】
[0249]  フィルタユニット１１４は、ＣＵと関連付けられたコーディングブロック中のブロッキングアーティファクトを低減するために、１つまたは複数のデブロッキング動作を行い得る。復号ピクチャバッファ１１６は、フィルタユニット１１４が、再構築されたコーディングブロックに対して１つまたは複数のデブロッキング動作を行った後、再構築されたコーディングブロックを記憶できる。例えば、再構築されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタリングするための、デブロッキングフィルタも含まれ得る。必要に応じて、デブロッキングフィルタは通常、再構築ユニット１１２の出力をフィルタリングする。デブロッキングフィルタに加えて、追加のループフィルタ（ループ内またはループ後）が使用されてもよい。そのようなフィルタは、簡潔にするために示されないが、必要な場合、再構築ユニット１１２の出力を（ループ内フィルタとして）フィルタリングできる。インター予測処理ユニット１２０は、他のピクチャのＰＵに対してインター予測を行うために、再構築されたコーディングブロックを含む参照ピクチャを使用できる。加えて、イントラ予測処理ユニット１２６は、ＣＵと同じピクチャ中の他のＰＵに対してイントラ予測を行うために、復号ピクチャバッファ１１６中の再構築されたコーディングブロックを使用できる。
【０２７６】
[0250]  エントロピー符号化ユニット１１８は、ビデオエンコーダ２０の他の機能コンポーネントからデータを受信できる。例えば、エントロピー符号化ユニット１１８は、量子化ユニット１０６から係数ブロックを受信でき、予測処理ユニット１００からシンタックス要素を受信できる。エントロピー符号化ユニット１１８は、エントロピー符号化されたデータを生成するために、データに対して１つまたは複数のエントロピー符号化動作を行い得る。例えば、量子化に続いて、エントロピー符号化ユニット１１８は、量子化された変換係数をエントロピー符号化できる。エントロピー符号化ユニット１１８は、様々なエントロピー符号化動作を行い得る。例えば、エントロピー符号化ユニット１１８は、ＣＡＢＡＣ動作、ＣＡＶＬＣ動作、変数−変数（Ｖ２Ｖ：variable-to-variable）レングスコーディング動作、ＳＢＡＣ動作、ＰＩＰＥコーディング動作、指数ゴロム符号化動作、または別のタイプのエントロピー符号化動作をデータに対して行い得る。コンテキストベースのエントロピーコーディングの場合、コンテキストは隣接ブロックに基づき得る。エントロピー符号化ユニット１１８によるエントロピー符号化の後、符号化されたビットストリームは、ビデオデコーダ３０に送信されてよく、または、ビデオデコーダ３０による後の送信または取り出しのためにアーカイブされ得る。エントロピー符号化ユニット１１８はまた、コーディングされている現在のビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化できる。ビデオエンコーダ２０は、エントロピー符号化ユニット１１８によって生成されたエントロピー符号化されたデータを含むビットストリームを出力できる。
【０２７７】
[0251]  図１０のビデオエンコーダ２０は、ビデオデータの少なくとも１つのブロックのイントラ予測のために少なくとも１つのフィルタを有効にするかどうかを表すシンタックス要素の値をコーディング（すなわち、符号化）し、ビデオデータの少なくとも１つのブロックをイントラ予測コーディング（すなわち、符号化）するように構成される、ビデオエンコーダの例を表すことができ、少なくとも１つのフィルタが有効にされることをシンタックス要素の値が表すとき、少なくとも１つのブロックをイントラ予測コーディングすることは、少なくとも１つのブロックのためのイントラ予測データをフィルタリングすることを備える。さらに、いくつかの例では、図１０のビデオエンコーダ２０が、複数のイントラ予測参照サンプルをフィルタリングするために使用される１つまたは複数のフィルタを適応的に無効にするように構成される、ビデオエンコーダの例を表す。加えて、ビデオエンコーダ２０は、１つまたは複数のフィルタを制御するシンタックス要素をシグナリングできる。ビデオエンコーダ２０のイントラ予測処理ユニット１２６は、イントラ予測参照サンプルを使用してビデオデータをイントラ符号化できる。
【０２７８】
[0252]  図１１は、本開示の技法を実装するように構成された例示的なビデオデコーダ３０を示すブロック図である。図１１は、説明のために提供されるものであり、本開示において広く例示され説明される技法を限定するものでない。説明の目的で、本開示は、ＨＥＶＣコーディングの状況においてビデオデコーダ３０を説明する。しかしながら、本開示の技法は他のコーディング規格または方法に適用可能であり得る。
【０２７９】
[0253]  図１１の例では、ビデオデコーダ３０が、エントロピー復号ユニット１５０と、予測処理ユニット１５２と、逆量子化ユニット１５４と、逆変換処理ユニット１５６と、再構築ユニット１５８と、フィルタユニット１６０と、復号ピクチャバッファ１６２とを含む。予測処理ユニット１５２は、動き補償ユニット１６４とイントラ予測処理ユニット１６６とを含む。動き補償ユニット１６４は、エントロピー復号ユニット１５０から受信された動きベクトルに基づいて予測データ（例えば、予測ブロック）を生成できるが、イントラ予測処理ユニット１６６は、エントロピー復号ユニット１５０から受信されたイントラ予測モードインジケータに基づいて予測データ（例えば、予測ブロック）を生成できる。いくつかの例では、再構築ユニット１５８が加算器である。他の例では、ビデオデコーダ３０が、より多数の、より少数の、または異なる機能コンポーネントを含み得る。ビデオデコーダ３０は、いくつかの例で、図１０からのビデオエンコーダ２０に関して説明された符号化パスとは全般に逆の復号パスを行い得る。
【０２８０】
[0254]  コーディングされたピクチャバッファ（ＣＰＢ）１５１は、ビットストリームの符号化されたビデオデータ（例えば、ＮＡＬユニット）を受信し、記憶できる。エントロピー復号ユニット１５０は、ＣＰＢ１５１からＮＡＬユニットを受信でき、ＮＡＬユニットを解析してビットストリームからシンタックス要素を取得できる。従って、復号処理の間に、ビデオデコーダ３０は、符号化されたビデオスライスのビデオブロックと、関連付けられるシンタックス要素とを表す符号化されたビデオビットストリームを、ビデオエンコーダ２０から受信できる。エントロピー復号ユニット１５０は、ＮＡＬユニット中のエントロピー符号化されたシンタックス要素をエントロピー復号できる。いくつかの例では、ビデオデコーダ３０のエントロピー復号ユニット１５０が、量子化された係数と、動きベクトルと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。そのような例では、エントロピー復号ユニット１５０が、予測処理ユニット１５２に動きベクトルと他のシンタックス要素とを転送できる。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルにおいてシンタックス要素を受信できる。予測処理ユニット１５２、逆量子化ユニット１５４、逆変換処理ユニット１５６、再構築ユニット１５８、およびフィルタユニット１６０は、ビットストリームから抽出されたシンタックス要素に基づいて、復号されたビデオデータを生成できる。
【０２８１】
[0255]  ビットストリームのＮＡＬユニットは、コーディングされたスライスＮＡＬユニットを含み得る。ビットストリームを復号することの一部として、エントロピー復号ユニット１５０は、コーディングされたスライスＮＡＬユニットからシンタックス要素を抽出し、エントロピー復号できる。コーディングされたスライスの各々は、スライスヘッダと、スライスデータとを含み得る。スライスヘッダは、スライスに関するシンタックス要素を含み得る。
【０２８２】
[0256]  ビットストリームからのシンタックス要素を復号することに加えて、ビデオデコーダ３０は、ＣＵに対して再構築動作を行い得る。ＣＵに対して再構築動作を行うために、ビデオデコーダ３０はＣＵの各ＴＵに対して再構築動作を行い得る。ＣＵの各ＴＵに対して再構築動作を行うことによって、ビデオデコーダ３０はＣＵの残差ブロックを再構築できる。
【０２８３】
[0257]  ＣＵのＴＵに対して再構築動作を行うことの一部として、逆量子化ユニット１５４は、ＴＵと関連付けられた係数ブロックを逆量子化（ｉｎｖｅｒｓｅ  ｑｕａｎｔｉｚｅ）、すなわち逆量子化（ｄｅ−ｑｕａｎｔｉｚｅ）できる。例えば、逆量子化ユニット１５４は、ビットストリーム中で与えられ、エントロピー復号ユニット１５０によって復号された、量子化された変換係数を逆量子化（ｉｎｖｅｒｓｅ  ｑｕａｎｔｉｚｅ）、すなわち逆量子化（ｄｅ−ｑｕａｎｔｉｚｅ）できる。逆量子化ユニット１５４は、量子化の程度を決定するために、また同様に、逆量子化ユニット１５４が適用すべき逆量子化の程度を決定するために、ＴＵのＣＵと関連付けられたＱＰ値を使用できる。例えば、逆量子化処理は、量子化の程度、および同様に、適用されるべき逆量子化の程度を決定するために、ビデオスライスの中の各ビデオブロックに対してビデオデコーダ３０によって計算された量子化パラメータＱＰＹの使用を含み得る。言い換えると、逆量子化処理は、ビデオエンコーダ２０によって計算された量子化パラメータをビデオスライス中の各ビデオブロックに対して使用して、適用されるべき量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定することを含み得る。すなわち、圧縮比、すなわち、元のシーケンスと圧縮されたシーケンスとを表すために使用されるビット数の比は、変換係数を量子化するときに使用されるＱＰの値を調整することによって制御され得る。圧縮比は、採用されるエントロピーコーディングの方法に依存し得る。
【０２８４】
[0258]  逆量子化ユニット１５４が係数ブロックを逆量子化した後、逆変換処理ユニット１５６は、ＴＵと関連付けられた残差ブロックを生成するために、係数ブロックに１つまたは複数の逆変換を適用できる。例えば、逆変換処理ユニット１５６は、（例えば、ピクセル領域において残差ブロックを生成するために）逆ＤＣＴ、逆整数変換、逆カルーネンレーベ変換（ＫＬＴ）、逆回転変換、逆方向変換、または別の逆変換を、係数ブロックに適用できる。
【０２８５】
[0259]  ビデオスライスがイントラコーディングされた（Ｉ）スライスとしてコーディングされるとき、予測処理ユニット１５２のイントラ予測処理ユニット１６６は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの、以前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データ（例えば、予測ブロック）を生成できる。様々な例において、イントラ予測処理ユニット１６６は、復号処理のイントラ予測の間のフィルタリングを適応的に制御するための、本明細書で説明される技法の１つまたは複数を行い得る。ビデオフレームがインターコーディングされた（すなわち、Ｂ、またはＰ）スライスとしてコーディングされるとき、予測処理ユニット１５２の動き補償ユニット１６４は、エントロピー復号ユニット１５０から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストの１つの中の参照ピクチャの１つから生成され得る。ビデオデコーダ３０は、復号ピクチャバッファ９２に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照フレームリスト、すなわち、リスト０およびリスト１を構築できる。
【０２８６】
[0260]  イントラ予測を使用してＰＵが符号化される場合、イントラ予測処理ユニット１６６は、ＰＵの予測ブロックを生成するためにイントラ予測を行い得る。イントラ予測処理ユニット１６６は、空間的に隣接するＰＵの予測ブロックに基づいて、ＰＵのための予測ブロック（例えば、予想ルーマブロック、予測Ｃｂブロック、および予測Ｃｒブロック）を生成するために、イントラ予測モードを使用できる。イントラ予測処理ユニット１６６は、ビットストリームから復号された１つまたは複数のシンタックス要素に基づいて、ＰＵのためのイントラ予測モードを決定できる。
【０２８７】
[0261]  いくつかの例では、イントラ予測処理ユニット１６６が、隣接参照サンプル間の絶対的差分和に少なくとも一部基づいて、メトリックを計算できる。さらに、イントラ予測処理ユニット１６６は、そのメトリックに少なくとも一部基づいて、隣接参照サンプルに基づいて予測ブロックを生成するときに、最近傍補間を使用するかどうかを決定できる。いくつかの例では、イントラ予測処理ユニット１６６が最近傍補間を使用するという決定を行わないとき、イントラ予測処理ユニット１６６が双線形補間を使用できる。ビデオデコーダ３０は、予測ブロックに一部基づいて、復号されたビデオブロックを再構築できる。
【０２８８】
[0262]  別の例では、イントラ予測処理ユニット１６６が、隣接参照サンプル間の絶対的差分和に少なくとも一部基づいて、メトリックを計算できる。この例では、メトリックが閾値よりも大きくないとき、イントラ予測処理ユニット１６６が、平滑化フィルタリングまたは双線形補間フィルタリングを隣接参照サンプルに適用できる。加えて、イントラ予測処理ユニット１６６は、隣接参照サンプルに少なくとも一部基づいて、予測ブロックを生成できる。ビデオデコーダ３０は、予測ブロックに一部基づいて、復号されたビデオブロックを再構築できる。
【０２８９】
[0263]  別の例では、予測ブロック中の各々のそれぞれのサンプルに対して、イントラ予測処理ユニット１６６が、それぞれのサンプルの位置およびイントラ予測の角度に少なくとも一部基づいて、変数（例えば、ｉＦａｃｔ）を決定できる。変数が特定の値（例えば、０）に等しくないとき、イントラ予測処理ユニット１６６は、第１のメトリックに少なくとも一部基づいて、平滑化フィルタリングおよび双線形補間フィルタリングの中から第１のフィルタリングモードを選択できる。さらに、変数が特定の値に等しくないとき、イントラ予測処理ユニット１６６は、第１の選択されたフィルタリングモードを１つまたは複数のイントラ予測参照サンプルに適用することによって少なくとも一部、それぞれのサンプルの値を決定できる。変数が特定の値に等しいとき、イントラ予測処理ユニット１６６は、第２のメトリックに少なくとも一部基づいて、平滑化フィルタリングおよび双線形補間フィルタリングの中から第２のフィルタリングモードを選択できる。加えて、変数が特定の値に等しいとき、イントラ予測処理ユニット１６６は、第２の選択されたフィルタリングモードを１つまたは複数のイントラ予測参照サンプルに適用することによって少なくとも一部、それぞれのサンプルの値を決定できる。ビデオデコーダ３０は、予測ブロックに一部基づいて、復号されたビデオブロックを再構築できる。
【０２９０】
[0264]  別の例では、予測ブロック中の各々のそれぞれの予測サンプルに対して、イントラ予測処理ユニット１６６が、メトリックに少なくとも一部基づいて、双線形補間および最近傍補間の中から補間モードを選択できる。加えて、イントラ予測処理ユニット１６６は、選択された補間モードに基づいて、それぞれの予測サンプルを決定できる。ビデオデコーダ３０は、予測ブロックに一部基づいて、復号されたビデオブロックを再構築できる。
【０２９１】
[0265]  予測処理ユニット１５２は、ビットストリームから抽出されたシンタックス要素に基づいて、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）と第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）とを構築できる。さらに、インター予測を使用してＰＵが符号化される場合、エントロピー復号ユニット１５０は、ＰＵの動き情報を取得できる。動き補償ユニット１６４は、ＰＵの動き情報に基づいて、ＰＵに対する１つまたは複数の参照領域を決定できる。動き補償ユニット１６４は、ＰＵのための１つまたは複数の参照ブロックにおけるサンプルブロックに基づいて、ＰＵのための予測ブロック（例えば、予測ルーマブロック、予測Ｃｂブロック、および予測Ｃｒブロック）を生成できる。
【０２９２】
[0266]  いくつかの例では、動き補償ユニット１６４が、動きベクトルと他のシンタックス要素とを解析することによって現在のビデオスライスのビデオブロックのための予測情報を決定し、復号されている現在のビデオブロックのための予測ブロックを生成するためにその予測情報を使用する。例えば、動き補償ユニット１６４は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（例えば、イントラ予測またはインター予測）と、インター予測スライスタイプ（例えば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスの参照ピクチャリストの１つまたは複数のための構築情報と、スライスの各々のインター符号化されたビデオブロックに対する動きベクトルと、スライスの各々のインターコーディングされたビデオブロックに対するインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用できる。
【０２９３】
[0267]  さらに、いくつかの例では、動き補償ユニット１６４が、補間フィルタに基づいて補間を行うこともできる。動き補償ユニット１６４は、参照ブロックのサブ整数ピクセルに対して補間された値を計算するために、ビデオブロックの符号化の間にビデオエンコーダ２０によって使用されたような補間フィルタを使用できる。この場合、動き補償ユニット１６４は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、補間フィルタを使用して予測ブロックを生成できる。
【０２９４】
[0268]  再構築ユニット１５８は、ＣＵのコーディングブロック（例えば、ルーマコーディングブロック、Ｃｂコーディングブロック、およびＣｒコーディングブロック）を再構築するために、適宜、ＣＵのＴＵと関連付けられる変換ブロック（例えば、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロック）と、ＣＵのＰＵの予測ブロック（例えば、ルーマブロック、Ｃｂブロック、およびＣｒブロック）とを、すなわち、イントラ予測データとインター予測データのいずれかを使用できる。例えば、再構築ユニット１５８は、ＣＵのコーディングブロック（例えば、ルーマコーディングブロック、Ｃｂコーディングブロック、およびＣｒコーディングブロック）を再構築するために、変換ブロック（例えば、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロック）のサンプルを、予測ブロック（例えば、予測ルーマブロック、予測Ｃｂブロック、および予測Ｃｒブロック）の対応するサンプルに加算できる。言い換えると、動き補償ユニット１６４が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ３０は、逆変換処理ユニット１５６からの残差ブロックを動き補償ユニット１６４によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成できる。このようにして、動き補償ユニット１６４が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ３０は、逆変換処理ユニット１５６からの残差ブロックを動き補償ユニット１６４によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成できる。再構築ユニット１５８（例えば、加算器）は、この加算動作を行う１つまたは複数のコンポーネントを表し得る。
【０２９５】
[0269]  フィルタユニット１６０は、ＣＵのコーディングブロック（例えば、ルーマコーディングブロック、Ｃｂコーディングブロック、およびＣｒコーディングブロック）と関連付けられたブロッキングアーティファクトを低減するために、デブロッキング演算を行い得る。従って、必要な場合、デブロッキングフィルタも、ブロッキネスアーティファクトを除去するために復号されたブロックをフィルタリングするために適用され得る。他のループフィルタ（コーディングループの中、またはコーディングループの後のいずれかにおける）も、ピクセルの遷移を平滑化し、または別様にビデオ品質を改善するために使用され得る。
【０２９６】
[0270]  ビデオデコーダ３０は、ＣＵのコーディングブロック（例えば、ルーマコーディングブロック、Ｃｂコーディングブロック、およびＣｒコーディングブロック）を復号ピクチャバッファ１６２に記憶できる。従って、所与のフレームまたはピクチャ中の復号されたビデオブロックは次いで、復号ピクチャバッファ１６２に記憶され、この復号ピクチャバッファ１６２は後続の動き補償のために使用される参照ピクチャを記憶する。復号ピクチャバッファ１６２はまた、図１のディスプレイデバイス３２のような、ディスプレイデバイス上での後の表示のために、復号されたビデオを記憶できる。言い換えると、復号ピクチャバッファ１６２は、次の動き補償、イントラ予測、および図１のディスプレイデバイス３２のようなディスプレイデバイス上での提示のために、参照ピクチャを提供できる。例えば、ビデオデコーダ３０は、復号ピクチャバッファ１６２中のブロック（例えば、ルーマブロック、Ｃｂブロック、およびＣｒブロック）に基づいて、他のＣＵのＰＵに対してイントラ予測動作またはインター予測動作を行い得る。このようにして、ビデオデコーダ３０は、有意なルーマ係数ブロックの変換係数レベルをビットストリームから抽出し、変換係数レベルを逆量子化し、変換係数レベルに変換を適用して変換ブロックを生成し、変換ブロックに少なくとも一部基づいてコーディングブロックを生成し、コーディングブロックを表示のために出力できる。
【０２９７】
[0271]  図１１のビデオデコーダ３０は、ビデオデータの少なくとも１つのブロックのイントラ予測のために少なくとも１つのフィルタを有効にするかどうかを表すシンタックス要素の値をコーディング（すなわち、復号）し、ビデオデータの少なくとも１つのブロックをイントラ予測コーディング（すなわち、復号）するように構成される、ビデオデコーダの例を表すことができ、少なくとも１つのフィルタが有効にされることをシンタックス要素の値が表すとき、少なくとも１つのブロックをイントラ予測コーディングすることは、少なくとも１つのブロックのためのイントラ予測データをフィルタリングすることを備える。さらに、図１１のビデオデコーダ３０は、シンタックス要素に基づいて、複数のイントラ予測参照サンプルをフィルタリングするために使用される１つまたは複数のフィルタを適応的に無効にするように構成される、ビデオデコーダの例を表し得る。ビデオデコーダ３０は、イントラ予測参照サンプルを使用してビデオデータをイントラ復号できる。
【０２９８】
[0272]  図１２Ａは、本開示の１つまたは複数の技法による、ビデオデータを符号化するためのビデオエンコーダ２０の例示的な動作を示すフローチャートである。図１２Ａは、本開示の他のフローチャートとともに、例として提示される。他の例は、より多数の、より少数の、または異なる処置(action)を含み得る。
【０２９９】
[0273]  図１２Ａの例では、ビデオエンコーダ２０が、隣接参照サンプル間の絶対的差分和（ＳＡＤ）に少なくとも一部基づいて、メトリックを計算できる（２００）。例えば、ビデオエンコーダ２０は、現在のブロックの上にあるサブセット中の参照サンプルに対するＳＡＤ値を決定し、現在のブロックの左側にある参照サンプルに対するＳＡＤ値を別個に決定し、次いでこれらの２つのＳＡＤ値を加算できる。
【０３００】
[0274]  加えて、ビデオエンコーダ２０は、そのメトリックに少なくとも一部基づいて、隣接参照サンプルに基づいて予測ブロックを生成するときに、最近傍補間を使用するかどうかを決定できる（２０２）。ビデオエンコーダ２０は、ビデオデータのビットストリームに、予測ブロックに基づいて残差データを表すデータを含め得る（２０４）。
【０３０１】
[0275]  図１２Ａの例には示されないが、ビデオエンコーダ２０は、いくつかの例で、メトリックに少なくとも一部基づいて、予測ブロックを生成するために双線形補間を使用するかどうかをさらに決定できる。例えば、ビデオエンコーダ２０は、本開示の他の箇所で説明されたように、隣接参照サンプル間の絶対的差分和を決定できる。この例で、ビデオエンコーダ２０は、ｉＦａｃｔが０に等しくなく絶対的差分和が閾値より大きいとき、双線形補間を使用するための決定を行うことができる。
【０３０２】
[0276]  さらに、いくつかの例では、絶対的差分和が第１の絶対的差分和である。そのような例では、ビデオエンコーダ２０がメトリックを計算するとき、ビデオエンコーダ２０は、予測ブロックの上の参照サンプルに基づいて、第１の絶対的差分和を計算できる。加えて、ビデオエンコーダ２０は、予測ブロックの左にある参照サンプルに基づいて、第２の絶対的差分和を計算できる。加えて、ビデオエンコーダ２０は、第１および第２の絶対的差分和に少なくとも一部基づいて、メトリックを計算できる。本開示の他の箇所で説明されたように、ビデオエンコーダ２０が予測ブロックを生成するために双線形補間を使用するとき、ビデオエンコーダ２０は、予測ブロック中の各サンプルの値を、式
【０３０３】
【数３７】
0006580562.tif 000041
【０３０４】
、
または式
【０３０５】
【数３８】
0006580562.tif 000042
【０３０６】
を使用して計算できる。
【０３０７】
[0277]  図１２Ｂは、本開示の１つまたは複数の技法による、ビデオデータを復号するためのビデオデコーダ３０の例示的な動作を示すフローチャートである。図１２Ｂの例では、ビデオデコーダ３０が、隣接参照サンプル間の絶対的差分和に少なくとも一部基づいて、メトリックを計算できる（２２０）。加えて、ビデオデコーダ３０は、そのメトリックに少なくとも一部基づいて、隣接参照サンプルに基づいて予測ブロックを生成するときに、最近傍補間を使用するかどうかを決定できる（２２２）。さらに、ビデオデコーダ３０は、予測ブロックに一部基づいて、復号されたビデオブロックを再構築できる（２２４）。
【０３０８】
[0278]  図１２Ｂの例には示されないが、ビデオデコーダ３０はまた、メトリックに少なくとも一部基づいて、予測ブロックを生成するために双線形補間を使用するかどうかを決定できる。例えば、ビデオデコーダ３０は、本開示の他の箇所で説明されたように、隣接参照サンプル間の絶対的差分和を決定できる。この例で、ビデオデコーダ３０は、ｉＦａｃｔが０に等しくなく絶対的差分和が閾値より大きいとき、双線形補間を使用するための決定を行うことができる。本開示の他の箇所で説明されたように、ビデオデコーダ３０が予測ブロックを生成するために双線形補間を使用するとき、ビデオデコーダ３０は、予測ブロック中の各サンプルの値を、式
【０３０９】
【数３９】
0006580562.tif 000043
【０３１０】
、または式
【０３１１】
【数４０】
0006580562.tif 000044
【０３１２】
を使用して計算できる。
【０３１３】
[0279]  さらに、いくつかの例では、絶対的差分和が第１の絶対的差分和である。そのような例では、ビデオデコーダ３０がメトリックを計算するとき、ビデオデコーダ３０が、予測ブロックの上の参照サンプルに基づいて、第１の絶対的差分和を計算できる。加えて、そのような例では、ビデオデコーダ３０が、予測ブロックの左にある参照サンプルに基づいて、第２の絶対的差分和を計算できる。そのような例では、ビデオデコーダ３０が、第１および第２の絶対的差分和に少なくとも一部基づいて、メトリックを計算できる。
【０３１４】
[0280]  図１３Ａは、本開示の１つまたは複数の技法による、ビデオデータを符号化するためのビデオエンコーダ２０の例示的な動作を示すフローチャートである。図１３Ａの例では、ビデオエンコーダ２０が、メトリックを計算できる（２５０）。いくつかの例では、ビデオエンコーダ２０が、隣接参照サンプル間の絶対的差分和（ＳＡＤ）に少なくとも一部基づいて、メトリックを計算できる。他の例では、ビデオエンコーダ２０が、分散または別の関数に基づいてメトリックを決定できる。
【０３１５】
[0281]  さらに、ビデオエンコーダ２０は、メトリックが閾値より大きいかどうかを決定できる（２５２）。例えば、メトリックが隣接参照サンプル間のＳＡＤである場合、閾値は５０または別の値に等しくてよい。メトリックが閾値よりも大きくないとき（２５２の「いいえ」）、ビデオエンコーダ２０は、平滑化フィルタリングまたは双線形補間フィルタリングを隣接参照サンプルに適用できる（２５４）。平滑化フィルタリングまたは双線形補間フィルタリングを適用した後、または、メトリックが閾値より大きいと決定した後（２５２の「はい」）、ビデオエンコーダ２０は、隣接参照サンプルに少なくとも一部基づいて、予測ブロックを生成できる（２５６）。言い換えると、ビデオエンコーダ２０は、現在のピクチャのサンプルに基づいて予測ブロックを生成するためにイントラ予測を使用できる。いくつかの例では、メトリックが閾値より大きいとき、ビデオエンコーダ２０が、平滑化フィルタリングも双線形補間フィルタリングも隣接参照サンプルに適用しない。例えば、メトリックが閾値より大きいとき、ビデオエンコーダ２０はｆｉｌｔｅｒＦａｇを０に設定できる。さらに、ビデオエンコーダ２０は、ビデオデータのビットストリームに、予測ブロックに基づいて残差データを表すデータを含め得る（２５８）。いくつかの例で、ビデオエンコーダ２０は、残差データの各サンプルが予測ブロック中のサンプルと符号化されているブロックの対応するサンプルとの差分を示すように、残差データを生成できる。残差データを表すデータは、変換され、量子化され、および／またはエントロピー符号化され得る。
【０３１６】
[0282]  図１３Ｂは、本開示の１つまたは複数の技法による、ビデオデータを復号するためのビデオデコーダ３０の例示的な動作を示すフローチャートである。図１３Ｂの例では、ビデオデコーダ３０が、メトリックを計算できる（２７０）。いくつかの例では、ビデオデコーダ３０が、隣接参照サンプル間の絶対的差分和（ＳＡＤ）に少なくとも一部基づいて、メトリックを計算できる。他の例では、ビデオデコーダ３０が、分散または別の関数に基づいてメトリックを決定できる。
【０３１７】
[0283]  ビデオデコーダ３０は次いで、メトリックが閾値より大きいかどうかを決定できる（２７２）。例えば、メトリックが隣接参照サンプル間のＳＡＤである場合、閾値は５０または別の値に等しくてよい。メトリックが閾値よりも大きくないとき（２７２の「いいえ」）、ビデオデコーダ３０は、平滑化フィルタリングまたは双線形補間フィルタリングを隣接参照サンプルに適用できる（２７４）。隣接参照サンプルに平滑化フィルタリングまたは双線形補間フィルタリングを適用した後、または、メトリックが閾値より大きいと決定した後（２７２の「はい」）、ビデオデコーダ３０は、隣接参照サンプルに少なくとも一部基づいて、予測ブロックを生成できる（２７６）。言い換えると、ビデオデコーダ３０は、隣接参照サンプルに基づいて予測ブロックを生成するためにイントラ予測を使用できる。いくつかの例では、メトリックが閾値より大きいとき、ビデオデコーダ３０が、平滑化フィルタリングも双線形補間も隣接参照サンプルに適用しない。ビデオデコーダ３０は、予測ブロックに一部基づいて、復号されたビデオブロックを再構築できる（２７４）。例えば、ビデオデコーダ３０は、復号されたビデオブロックの各サンプルが予測ブロック中のサンプルと残差サンプルのブロックの対応するサンプルとの合計に等しいように、復号されたビデオブロックを再構築できる。
【０３１８】
[0284]  図１４Ａは、本開示の１つまたは複数の技法による、ビデオデータを符号化するためのビデオエンコーダ２０の例示的な動作を示すフローチャートである。図１４Ａの例では、ビデオエンコーダ２０が、予測ブロック中の各々のそれぞれのサンプルのための処置３００〜３１０を行い得る。
【０３１９】
[0285]  具体的には、図１４Ａの例では、ビデオエンコーダ２０が、それぞれのサンプルの位置およびイントラ予測の角度に少なくとも一部基づいて、変数（例えば、ｉＦａｃｔ）を決定できる（３００）。さらに、ビデオエンコーダ２０は、変数が特定の値に等しいかどうかを決定できる（３０２）。いくつかの例では、変数が（（ｘ＋１）×ｉｎｔｒａＰｒｅｄＡｎｇｌｅ）＆３１に等しく、ここでｘはそれぞれのサンプルの行または列の位置であり、ｉｎｔｒａＰｒｅｄＡｎｇｌｅはイントラ予測の角度である。そのような例では、特定の値が０に等しくてよい。
【０３２０】
[0286]  変数が特定の値に等しくないとき（３０２の「いいえ」）、ビデオエンコーダ２０は、第１のメトリックに少なくとも一部基づいて、平滑化フィルタリングまたは双線形補間フィルタリングの中から第１のフィルタリングモードを選択できる（３０４）。いくつかの例では、ビデオエンコーダ２０が、隣接参照サンプル間の絶対的差分和に少なくとも一部基づいて、第１のメトリックを計算できる。他の例では、ビデオエンコーダ２０が、分散に少なくとも一部基づいて第１のメトリックを計算できる。いくつかの例では、ビデオエンコーダ２０が、第１のメトリックが閾値（例えば、５０）を超える（または超えない）と決定したことに応答して、平滑化フィルタリングを選択できる。いくつかの例では、ビデオエンコーダ２０が、第１のメトリックが閾値（例えば、５０）を超える（または超えない）と決定したことに応答して、双線形補間フィルタリングを選択できる。加えて、ビデオエンコーダ２０は、第１の選択されたフィルタリングモードを１つまたは複数のイントラ予測参照サンプルに適用することによって少なくとも一部、それぞれのサンプルの値を決定できる（３０６）。
【０３２１】
[0287]  一方、変数が特定の値に等しいとき（３０２の「はい」）、ビデオエンコーダ２０は、第２のメトリックに少なくとも一部基づいて、平滑化フィルタリングまたは最近傍補間の中から第２のフィルタリングモードを選択できる（３０８）。いくつかの例では、ビデオエンコーダ２０が、隣接参照サンプル間の絶対的差分和に少なくとも一部基づいて、第２のメトリックを計算できる。他の例では、ビデオエンコーダ２０が、分散に少なくとも一部基づいて第２のメトリックを計算できる。さらに、いくつかの例では、第１のメトリックが第２のメトリックと同じである。いくつかの例では、ビデオエンコーダ２０が、第２のメトリックが閾値（例えば、５０）を超える（または超えない）と決定したことに応答して、双線形補間フィルタリングを選択できる。いくつかの例で、ビデオエンコーダ２０は、第２のメトリックが閾値（例えば、５０）を超える（または超えない）と決定したことに応答して、最近傍補間を選択できる。加えて、ビデオエンコーダ２０は、第２の選択されたフィルタリングモードを１つまたは複数のイントラ予測参照サンプルに適用することによって少なくとも一部、それぞれのサンプルの値を決定できる（３１０）。
【０３２２】
[0288]  さらに、図１４Ａの例では、ビデオエンコーダ２０が、ビデオデータのビットストリームに、予測ブロックに基づいて残差データを表すデータを含み得る（３１２）。いくつかの例では、ビデオエンコーダ２０が、残差データの各サンプルが予測ブロック中のサンプルと符号化されているブロックの対応するサンプルとの差分を示すように、残差データを生成できる。残差データを表すデータは、変換され、量子化され、および／またはエントロピー符号化され得る。
【０３２３】
[0289]  図１４Ｂは、本開示の１つまたは複数の技法による、ビデオデータを復号するためのビデオデコーダ３０の例示的な動作を示すフローチャートである。図１４Ｂの例では、ビデオデコーダ３０が、予測ブロック中の各々のそれぞれのサンプルのための処置３２０〜３３０を行い得る。
【０３２４】
[0290]  具体的には、図１４Ｂの例では、ビデオデコーダ３０が、それぞれのサンプルの位置およびイントラ予測の角度に少なくとも一部基づいて、変数を決定できる（３２０）。加えて、ビデオデコーダ３０は、メトリックが特定の値に等しいかどうかを決定できる（３２２）。いくつかの例では、変数が（（ｘ＋１）×ｉｎｔｒａＰｒｅｄＡｎｇｌｅ）＆３１に等しく、ここでｘはそれぞれのサンプルの行または列の位置であり、ｉｎｔｒａＰｒｅｄＡｎｇｌｅはイントラ予測の角度である。さらに、そのような例では、特定の値が０に等しい。
【０３２５】
[0291]  変数が特定の値に等しいとき（３２２の「いいえ」）、ビデオデコーダ３０は、第１のメトリックに少なくとも一部基づいて、平滑化フィルタリングおよび双線形補間フィルタリングの中から第１のフィルタリングモードを選択できる（３２４）。いくつかの例では、ビデオデコーダ３０が、メトリックが閾値（例えば、５０）を超える（または超えない）と決定したことに応答して、平滑化フィルタリングを選択できる。いくつかの例で、ビデオデコーダ３０は、メトリックが閾値（例えば、５０）を超える（または超えない）と決定したことに応答して、双線形補間フィルタリングを選択できる。加えて、ビデオデコーダ３０は、第１の選択されたフィルタリングモードを１つまたは複数のイントラ予測参照サンプルに適用することによって少なくとも一部、それぞれのサンプルの値を決定できる（３２６）。
【０３２６】
[0292]  一方、変数が特定の値に等しいとき（３２２の「はい」）、ビデオデコーダ３０は、第２のメトリックに少なくとも一部基づいて、平滑化フィルタリングおよび最近傍補間の中から第２のフィルタリングモードを選択できる（３２８）。いくつかの例では、ビデオデコーダ３０が、メトリックが閾値（例えば、５０）を超える（または超えない）と決定したことに応答して、双線形補間を選択できる。いくつかの例では、ビデオデコーダ３０が、メトリックが閾値（例えば、５０）を超える（または超えない）と決定したことに応答して、最近傍補間を選択できる。いくつかの例では、ビデオデコーダ３０が、隣接参照サンプル間の絶対的差分和に少なくとも一部基づいて、第１または第２のメトリックを計算できる。他の例で、ビデオデコーダ３０は、分散に少なくとも一部基づいて第１または第２のメトリックを計算できる。さらに、いくつかの例では、第１のメトリックが第２のメトリックと同じである。加えて、図１４Ｂでは、ビデオデコーダ３０が、第２の選択されたフィルタリングモードを１つまたは複数のイントラ予測参照サンプルに適用することによって少なくとも一部、それぞれのサンプルの値を決定できる（３３０）。
【０３２７】
[0293]  ビデオデコーダ３０は、予測ブロックに一部基づいて、復号されたビデオブロックを再構築できる（３３２）。例えば、ビデオデコーダ３０は、復号されたビデオブロックの各サンプルが予測ブロック中のサンプルと残差サンプルのブロックの対応するサンプルとの合計に等しいように、復号されたビデオブロックを再構築できる。
【０３２８】
[0294]  図１５Ａは、本開示の１つまたは複数の技法による、ビデオデータを符号化するためのビデオエンコーダ２０の例示的な動作を示すフローチャートである。図１５Ａの例では、ビデオエンコーダ２０が、予測ブロック中の各々のそれぞれのサンプルのための処置３５０と３５２とを行い得る。
【０３２９】
[0295]  図１５Ａの例では、ビデオエンコーダ２０が、メトリックに少なくとも一部基づいて、双線形補間および最近傍補間の中から補間モードを選択できる（３５０）。いくつかの例では、メトリックが、それぞれの予測サンプルの予測のために使用される２つの参照サンプル間の絶対的な差分である。加えて、いくつかの例で、ビデオエンコーダ２０が補間モードを選択するとき、ビデオエンコーダ２０は、メトリックが閾値より大きいとき、最近傍補間を選択された補間モードとして選択する。そのような例では、ビデオエンコーダ２０が、メトリックが閾値以下であるとき、双線形補間を選択された補間モードとして選択する。
【０３３０】
[0296]  さらに、図１５Ａの例では、ビデオエンコーダ２０が、選択された補間モードに基づいて、それぞれの予測サンプルを決定できる（３５２）。ビデオエンコーダ２０は、ビデオデータのビットストリームに、予測ブロックに基づいて残差データを表すデータを含め得る（３５４）。いくつかの例で、ビデオエンコーダ２０は、残差データの各サンプルが予測ブロック中のサンプルと符号化されているブロックの対応するサンプルとの差分を示すように、残差データを生成できる。残差データを表すデータは、変換され、量子化され、および／またはエントロピー符号化され得る。
【０３３１】
[0297]  図１５Ｂは、本開示の１つまたは複数の技法による、ビデオデータを復号するためのビデオデコーダ３０の例示的な動作を示すフローチャートである。図１５Ｂの例では、ビデオデコーダ３０が、予測ブロック中の各々のそれぞれの予測サンプルのための処置３７０と３７２とを行い得る。
【０３３２】
[0298]  図１５Ｂの例では、ビデオデコーダ３０が、メトリックに少なくとも一部基づいて、双線形補間および最近傍補間の中から補間モードを選択できる（３７０）。いくつかの例では、メトリックが、それぞれの予測サンプルの予測のために使用される２つの参照サンプル間の絶対的な差分である。加えて、いくつかの例では、ビデオデコーダ３０が補間モードを選択するとき、ビデオデコーダ３０は、メトリックが閾値より大きいとき、最近傍補間を選択された補間モードとして選択する。そのような例で、ビデオデコーダ３０は、メトリックが閾値以下であるとき、双線形補間を選択された補間モードとして選択する。
【０３３３】
[0299]  さらに、図１５Ｂの例では、ビデオデコーダ３０が、選択された補間モードに基づいて、それぞれの予測サンプルを決定できる（３７２）。ビデオデコーダ３０は、予測ブロックに一部基づいて、復号されたビデオブロックを再構築できる（３７４）。例えば、ビデオデコーダ３０は、復号されたビデオブロックの各サンプルが予測ブロック中のサンプルと残差サンプルのブロックの対応するサンプルとの合計に等しいように、復号されたビデオブロックを再構築できる。
【０３３４】
[0300]  図１６は、本開示の１つまたは複数の技法による、ビデオデータをコーディングするためのビデオコーダの例示的な動作を示すフローチャートである。図１６の例では、ビデオコーダが、イントラ予測参照サンプルの少なくともいくつかの１つまたは複数の特性に基づいて複数のイントラ予測参照サンプルをフィルタリングするために使用される、１つまたは複数のフィルタを適応的に無効にする（４００）。
【０３３５】
[0301]  さらに、ビデオコーダは、イントラ予測参照サンプルを使用してビデオデータをイントラコーディングできる（４０２）。いくつかの例では、ビデオデータをイントラコーディングすることの一部として、ビデオコーダがイントラ復号を行い得る。イントラ復号は、イントラ予測参照サンプル（フィルタリングされるか、部分的なフィルタか、１つまたは複数のフィルタを適応的に無効にした結果としてフィルタリングされないかのいずれか）および残差データに基づいて、ビデオデータをイントラ復号することを備え得る。他の例では、イントラコーディングがイントラ符号化を備える。イントラ符号化は、イントラ予測参照サンプル（フィルタリングされるか、部分的なフィルタか、１つまたは複数のフィルタを適応的に無効にした結果としてフィルタリングされないかのいずれか）および残差データに基づいて、ビデオデータをイントラ復号することを備え得る。
【０３３６】
[0302]  いくつかの例で、１つまたは複数の特性は、複数の参照サンプル中の参照サンプル間のピクセル差分（例えば、絶対的なピクセル差分）が所定の閾値を超えるかどうかを含む。さらに、いくつかの例で、１つまたは複数の特性は、複数の参照サンプルの参照サンプル間のピクセル差分（例えば、絶対的なピクセル差分）が所定の閾値を超える事例の数のカウントが、カウント閾値を超えるかどうかを含む。加えて、いくつかの例で、１つまたは複数の特性は、複数の参照サンプルの参照サンプル間のピクセル差分（例えば、絶対的なピクセル差分）が第１の所定の閾値を超える事例の数のカウントが、第１のカウント閾値を超えるかどうかということと、複数の参照サンプルの参照サンプル間のピクセル差分が第２の所定の閾値未満である事例の数のカウントが、第２のカウント閾値を超えるかどうかということとを含む。
【０３３７】
[0303]  いくつかの例で、１つまたは複数の特性は、複数の参照サンプルの参照サンプルに適用される３タップの有限インパルス応答（ＦＩＲ）フィルタの出力（例えば、出力の絶対値）が閾値を超えるかどうかを含む。いくつかの例で、１つまたは複数の特性は、複数の参照サンプルの参照サンプルに適用される３タップのＦＩＲフィルタの出力（例えば、出力の絶対値）が閾値を超える事例のカウントが、カウント閾値を超えるかどうかを含む。これらの例のいずれにおいても、ＦＩＲフィルタが適用される参照サンプルは、一度に１ピクセル、または一度に３ピクセルだけインクリメントされる、参照サンプルのアレイを通る経路中の３つの参照サンプルの連続的なセットを含み得る。さらに、これらの例のいずれにおいても、ＦＩＲフィルタが適用される参照サンプルは、参照サンプルのアレイの中に、参照サンプルＰ2M-1,-1、Ｐ-1,-1、およびＰ-1,2N-1、参照サンプルＰ2M-1,-1、ＰM,-1、およびＰ-1,1、または参照サンプルＰ-1,2N-1、Ｐ-1,N、およびＰ-1,-1を含む。
【０３３８】
[0304]  さらに、いくつかの例で、イントラ予測参照サンプルの少なくともいくつかの特性は、複数の予測モードの選択された１つに基づいて選択される複数の参照サンプルの全てよりも少ないサブセットの特性を含む。いくつかの例で、イントラ予測参照サンプルの少なくともいくつかの特性は、参照サンプルの上の行と左の列のいずれかの特性を含み、上の行と左の列のいずれかは、上の行または左の列の参照サンプル間のピクセル差分が所定の閾値を超える事例の数のカウントに基づいて選択され、カウント閾値を超える。さらに、いくつかの例で、イントラ予測参照サンプルの少なくともいくつかの１つまたは複数の特性は、参照サンプルのサブサンプリングされたセットに対するものである。
【０３３９】
[0305]  図１６の例には示されないが、ビデオコーダはまた、ブロックサイズ、成分タイプ、および入力ビデオタイプの少なくとも１つに基づいて、１つまたは複数の閾値を選択的に適応させることができる。加えて、ビデオコーダは、ブロックサイズと成分タイプの少なくとも１つに基づいて適応的に無効にするステップを、選択的にオンおよびオフにできる。いくつかのそのような例では、閾値の１つまたは複数が符号化されたビットストリームにおいてシグナリングされる。例えば、様々な例において、閾値の１つまたは複数は、ＰＰＳ、ＳＰＳ、またはＶＰＳの少なくとも１つにおいてシグナリングされる。
【０３４０】
[0306]  上で示されたように、ビデオコーダは、複数のイントラ予測参照サンプルをフィルタリングするために使用される１つまたは複数のフィルタを適応的に無効にできる。いくつかの例では、１つまたは複数のフィルタを適応的に無効にすることの一部として、ビデオコーダが、ＣＵに隣接するイントラ予測サンプルの１つまたは複数の特性に基づいて、ＣＵ中の全てのＰＵまたはＴＵに対して１つまたは複数のフィルタを適応的に無効にできる。さらに、いくつかの例では、１つまたは複数のフィルタを適応的に無効にすることの一部として、ビデオコーダが、それぞれのＰＵまたはＴＵに隣接するイントラ予測サンプルの個々のセットの１つまたは複数の特性に基づいて、ＣＵの中の個々のＰＵまたはＴＵに対して１つまたは複数のフィルタを適応的に無効にできる。
【０３４１】
[0307]  さらに、図１６の例には示されないが、ビデオコーダは、１つまたは複数の特性に基づいて無効化フラグをオンにできる。他の例では、ビデオコーダが、符号化されたビットストリームにおいて無効化フラグを受信できる。これらの例で、１つまたは複数のフィルタは、無効化フラグがオンにされるときに無効にされる。
【０３４２】
[0308]  図１７は、本開示の１つまたは複数の技法による、ビデオデータをコーディングするためのビデオコーダの追加の動作を示すフローチャートである。図１７の例では、ビデオコーダが、シンタックス要素に基づいて複数のイントラ予測参照サンプルをフィルタリングするために使用される、１つまたは複数のフィルタを適応的に無効にする（４５０）。いくつかの例では、シンタックス要素がｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇであり、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇがオンにされるとき、ビデオコーダは１つまたは複数のフィルタを無効にする。少なくともいくつかのそのような例で、ｔｒａｎｓｆｒｏｍ＿ｓｋｉｐ＿ｆｌａｇは、変換を伴わずに予測後の残差信号が量子化される、変換スキップ動作を呼び出す。
【０３４３】
[0309]  いくつかの例では、シンタックス要素がｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓフラグであり、ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓフラグがオンにされるとき、ビデオコーダが１つまたは複数のフィルタを無効にする。少なくともいくつかの例で、ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇは、予測されたブロックが量子化および変換を伴わずにコーディングされる動作を呼び出す。
【０３４４】
[0310]  さらに、いくつかの例では、シンタックス要素が変換スキップシンタックス要素であり、方法は、変換スキップシンタックス要素がオンにされるときに１つまたは複数のフィルタを無効にすることを備える。少なくともいくつかのそのような例で、変換スキップシンタックス要素は、変換を伴わずに予測後の残差信号が量子化される、変換スキップ動作を呼び出す。
【０３４５】
[0311]  いくつかの例では、シンタックス要素は量子化および変換迂回シンタックス要素であり、ビデオコーダは、量子化および変換迂回シンタックス要素がオンにされるときに１つまたは複数のフィルタを無効にする。少なくともいくつかのそのような例では、量子化および変換迂回シンタックス要素は、予測されたブロックが量子化および変換を伴わずにコーディングされる動作を呼び出す。
【０３４６】
[0312]  さらに、図１７の例では、ビデオコーダが、イントラ予測参照サンプルを使用してビデオデータをイントラコーディングする（４５２）。いくつかの例では、イントラコーディングがイントラ復号を備える。イントラ復号は、フィルタリングされた参照サンプル、部分的にフィルタリングされた参照サンプル、および１つまたは複数のフィルタを適応的に無効にした結果としてフィルタリングされていない参照サンプルの１つを含むイントラ予測参照サンプルと、残差データとに基づいて、ビデオデータをイントラ復号することを備え得る。他の例では、イントラコーディングがイントラ符号化を備える。イントラ符号化は、フィルタリングされた参照サンプル、部分的にフィルタリングされた参照サンプル、または１つまたは複数のフィルタを適応的に無効にした結果としてフィルタリングされていない参照サンプルの１つを含むイントラ予測参照サンプルと、残差データとに基づいて、ビデオデータをイントラ符号化することを備え得る。
【０３４７】
[0313]  図１８は、現在のブロックを符号化するための例示的な方法を示すフローチャートである。現在のブロックは、現在のＣＵ、または現在のＣＵの一部分を備え得る。ビデオエンコーダ２０（図１および図１０）に関して説明されるが、他のデバイスが図１８の方法と同様の方法を行うように構成され得ることを理解されたい。
【０３４８】
[0314]  この例では、ビデオエンコーダ２０がイントラ予測フィルタのためのシンタックス要素を符号化し（５００）、シンタックス要素の値がイントラ予測フィルタが有効にされるかどうかを示す。シンタックス要素を符号化することは、シンタックス要素をＣＡＢＡＣコーディングすることを含んでよく、これは、上で論じられたように、シンタックス要素をコーディングするためのコンテキストを選択することを伴い得る。ビデオエンコーダ２０は次いで、現在のブロックを予測する（５０２）。具体的には、イントラ予測フィルタが有効にされる場合、ビデオエンコーダ２０はイントラ予測フィルタを実行し得るが、イントラ予測フィルタが有効にされない場合、ビデオエンコーダ２０はイントラ予測フィルタの実行をスキップできる。ビデオエンコーダ２０は、現在のブロックのための１つまたは複数のＰＵを計算できる。
【０３４９】
[0315]  ビデオエンコーダ２０は次いで、例えばＴＵを生成するために、現在のブロックのための残差ブロックを計算できる（５０４）。残差ブロックを計算するために、ビデオエンコーダ２０は、元の符号化されていないブロックと現在のブロックのための予測されたブロックとの差分を計算できる。ビデオエンコーダ２０は次いで、残差ブロックの係数を変換し、量子化できる（５０６）。次に、ビデオエンコーダ２０は、残差ブロックの量子化された変換係数を走査できる（５０８）。走査の間に、または走査の後に、ビデオエンコーダ２０は、係数をエントロピー符号化できる（５１０）。例えば、ビデオエンコーダ２０は、ＣＡＶＬＣまたはＣＡＢＡＣを使用して係数を符号化できる。ビデオエンコーダ２０は次いで、ブロックのエントロピーコーディングされたデータを出力できる（５１２）。
【０３５０】
[0316]  このようにして、図１８の方法は、ビデオデータの少なくとも１つのブロックのイントラ予測のために少なくとも１つのフィルタを有効にするかどうかを表すシンタックス要素の値をコーディング（この例では符号化）することと、ビデオデータの少なくとも１つのブロックをイントラ予測コーディング（この例では符号化）することとを含む方法の例を表し、少なくとも１つのフィルタが有効にされることをシンタックス要素の値が表すとき、少なくとも１つのブロックをイントラ予測コーディングすることは、少なくとも１つのブロックのためのイントラ予測データをフィルタリングすることを備える。
【０３５１】
[0317]  図１９は、ビデオデータの現在のブロックを復号するための例示的な方法を示すフローチャートである。現在のブロックは、現在のＣＵ、または現在のＣＵの一部分を備え得る。ビデオデコーダ３０（図１および図１１）に関して説明されるが、他のデバイスが図１９の方法と同様の方法を行うように構成され得ることを理解されたい。
【０３５２】
[0318]  ビデオデコーダ３０は、現在のブロックのためのイントラ予測フィルタに対するシンタックス要素（例えば、フラグ）を復号できる（５３０）。シンタックス要素の値は、イントラ予測フィルタが現在のブロックに対して有効にされるか無効にされるかを示し得る。やはり、シンタックス要素の値を復号することはＣＡＢＡＣを使用して行われてよく、シンタックス要素を復号するためのコンテキストの決定は上で説明された技法に従って行われてよい。
【０３５３】
[0319]  ビデオデコーダ３０は次いで、現在のブロックのための予測されたブロックを計算するために、例えば、イントラ予測モードを使用して現在のブロックを予測できる（５３２）。フィルタが有効にされることをシンタックス要素が示すとき、ビデオデコーダ３０はフィルタを実行し得るが、フィルタが有効にされないことをシンタックス要素が示すとき、ビデオデコーダ３０はフィルタの実行をスキップできる。ビデオデコーダ３０は、現在のブロックに対応する残差ブロックの係数のエントロピーコーディングされたデータのような、現在のブロックのエントロピーコーディングされたデータを受信することもできる（５３４）。ビデオデコーダ３０は、残差ブロックの変換係数を再生成するために、エントロピーコーディングされたデータをエントロピー復号できる（５３６）。ビデオデコーダ３０は次いで、量子化された変換係数のブロックを作成するために、再生成された係数を逆走査できる（５３８）。ビデオデコーダ３０は次いで、残差ブロックを生成するために係数を逆量子化し、逆変換できる（５４０）。ビデオデコーダ３０は、最終的に、予測されたブロックと残差ブロックとを組み合わせることによって現在のブロックを復号できる（５４２）。例えば、ビデオデコーダ３０は、復号された現在のブロック中の各サンプルが予測されたブロック中のサンプルと残差ブロックの対応するサンプルとの合計に等しいように、予測されたブロックと残差ブロックとを組み合わせることができる。予測されたブロック（すなわち、予測ブロック）中のサンプルは、２つのサンプルがピクチャ内の同じ位置に対応する場合、残差ブロックのサンプルに対応し得る。
【０３５４】
[0320]  このようにして、図１９の方法は、ビデオデータの少なくとも１つのブロックのイントラ予測のために少なくとも１つのフィルタを有効にするかどうかを表すシンタックス要素の値をコーディング（この例では復号）することと、ビデオデータの少なくとも１つのブロックをイントラ予測コーディング（この例では復号）することとを含む方法の例を表し、少なくとも１つのフィルタが有効にされることをシンタックス要素の値が表すとき、少なくとも１つのブロックをイントラ予測コーディングすることは、少なくとも１つのブロックのためのイントラ予測データをフィルタリングすることを備える。
【０３５５】
[0321]  図２０は、本開示の１つまたは複数の技法による、ビデオデータをコーディングするためのビデオコーダの例示的な動作を示すフローチャートである。図２０の例では、ビデオコーダが、ビデオデータの少なくとも１つのブロックのイントラ予測のために少なくとも１つのフィルタを有効にするかどうかを表すシンタックス要素の値をコーディングできる（５５０）。加えて、ビデオコーダは、ビデオデータの少なくとも１つのブロックのイントラ予測コーディングを行い得る（５５２）。少なくとも１つのフィルタが有効にされることをシンタックス要素の値が表すとき、少なくとも１つのブロックをイントラ予測コーディングすることは、少なくとも１つのブロックのためのイントラ予測データをフィルタリングすることを備える。
【０３５６】
[0322]  図２０の例では、少なくとも１つのブロックがＴＵであり得る（またはそれを備え得る）。さらに、いくつかのそのような例では、シンタックス要素の値が、ＴＵのシンタックス要素の値をコーディングすることを備え得る。少なくとも１つのブロックが非正方形の長方形ブロックを備えるとき、シンタックス要素は、非正方形の長方形ブロックの第１の正方形部分に対する第１のシンタックス要素を備えてよく、方法はさらに、非正方形の長方形ブロックの第２の正方形部分に対する第２の値をコーディングすることを備える。さらに、いくつかの例では、少なくとも１つのブロックは、少なくとも１つのブロックが４：２：２のビデオフォーマットに準拠するとき、非正方形の長方形ブロックを備える。
【０３５７】
[0323]  さらに、いくつかの例では、シンタックス要素が、ルミナンスブロック、第１のクロミナンスブロック、および第２のクロミナンスブロックの１つに対するシンタックス要素を備える。そのような例で、ビデオコーダは、ルミナンスブロック、第１のクロミナンスブロック、および第２のクロミナンスブロックの各々に対するシンタックス要素の値をコーディングできる。そのような例では、シンタックス要素が、それぞれのルミナンスブロック、第１のクロミナンスブロック、または第２のクロミナンスブロックのイントラ予測のための少なくとも１つのフィルタを有効にするかどうかを表し得る。
【０３５８】
[0324]  いくつかの例では、シンタックス要素が、ルミナンスブロックに対する、または第１のクロミナンスブロックおよび第２のクロミナンスブロックに対するシンタックス要素を備え得る。そのような例では、ビデオコーダが、ルミナンスブロックに対するシンタックス要素の第１の値と、第１のクロミナンスブロックおよび第２のクロミナンスブロックに対する第２のシンタックス要素の第２の値とをコーディングできる。第１のシンタックス要素は、ルミナンスブロックのイントラ予測のために少なくとも１つのフィルタを有効にするかどうかを表す。第２のシンタックス要素は、第１のクロミナンスブロックおよび第２のクロミナンスブロックのイントラ予測のために少なくとも１つのフィルタを有効にするかどうかを表す。そのような例では、第１のクロミナンスブロックが青色のクロミナンスブロック（例えば、Ｃｂブロック）を備えてよく、第２のクロミナンスブロックは赤色のクロミナンスブロック（例えば、Ｃｒブロック）を備えてよい。
【０３５９】
[0325]  上で示されたように、ビデオコーダは、シンタックス要素の値をコーディングできる。いくつかの例では、ビデオコーダが、ＣＵのある区画に対するシンタックス要素の値をコーディングできる。そのような例では、ＣＵが２Ｎ×２Ｎのピクセルというサイズを有し、ＣＵのその区画は２Ｎ×２Ｎのピクセルというサイズの区画と、Ｎ×Ｎのピクセルというサイズの区画の１つを備える。さらに、いくつかの例で、ビデオコーダは、ＣＵが単一の区画を備えるか複数の区画を備えるかを示すデータをコーディングできる。ＣＵが単一の区画を備えることをデータが示すとき、ビデオコーダは、単一の区画に対する単一のシンタックス要素の値をコーディングできる。ＣＵが複数の区画を備えることをデータが示すとき、ビデオコーダは、区画の各々に対するそれぞれのシンタックス要素の値をコーディングできる。いくつかのそのような例では、複数の区画は４つの区画を備え得る。
【０３６０】
[0326]  さらに、いくつかの例では、ＣＵの各区画は、ルミナンス成分と、第１のクロミナンス成分と、第２のクロミナンス成分とを備え得る。各区画に対して、ビデオコーダは、ルミナンス成分のために少なくとも１つのフィルタを有効にするかどうかを表す第１のシンタックス要素、第１のクロミナンス成分のために少なくとも１つのフィルタを有効にするかどうかを表す第２のシンタックス要素、および第２のクロミナンス成分のために少なくとも１つのフィルタを有効にするかどうかを表す第３のシンタックス要素の値をコーディングできる。いくつかのそのような例では、ビデオコーダが、第１のシンタックス要素、第２のシンタックス要素、および第３のシンタックス要素の値をコーディングするとき、ビデオコーダは、ブロックが４：４：４のビデオフォーマットに準拠するときにのみ、第１のシンタックス要素、第２のシンタックス要素、および第３のシンタックス要素の値をコーディングできる。
【０３６１】
[0327]  いくつかの例では、ＣＵの各区画が、ルミナンス成分と、第１のクロミナンス成分と、第２のクロミナンス成分とを備える。各区画に対して、ビデオコーダは、ルミナンス成分、第１のクロミナンス成分、および第２の成分の各々のために少なくとも１つのフィルタを有効にするかどうかを表す、単一のシンタックス要素の値をコーディングできる。少なくともいくつかのそのような例では、第１のクロミナンス成分が青色のクロミナンス成分（すなわち、Ｃｂ）を備え、第２のクロミナンス成分は赤色のクロミナンス成分（すなわち、Ｃｒ）を備える。
[0328]  さらに、いくつかの例では、各区画に対して、ビデオコーダが、区画のルミナンス成分のために少なくとも１つのフィルタを有効にするかどうかを表す、区画のルミナンス成分に対するそれぞれのシンタックス要素の値をコーディングできる。ＣＵに対して、ビデオコーダは、ＣＵの全ての区画のクロミナンス成分のために少なくとも１つのフィルタを有効にするかどうかを表す、それぞれのシンタックス要素の値をコーディングできる。
【０３６２】
[0329]  いくつかの例では、ビデオコーダがシンタックス要素の値をコーディングするとき、ビデオコーダは、ＣＵに対するシンタックス要素の値をコーディングできる。いくつかのそのような例では、ビデオコーダが、ＣＵの１つまたは複数の区画のルミナンス成分のために少なくとも１つのフィルタを有効にするかどうかを表す、第１のシンタックス要素の第１の値をコーディングできる。加えて、ビデオコーダは、ＣＵの第１のタイプの１つまたは複数の区画のクロミナンス成分のために少なくとも１つのフィルタを有効にするかどうかを表す、第２のシンタックス要素の第２の値をコーディングできる。さらに、ビデオコーダは、ＣＵの第２のタイプの１つまたは複数の区画のクロミナンス成分のために少なくとも１つのフィルタを有効にするかどうかを表す、第３のシンタックス要素の第３の値をコーディングできる。さらに、いくつかの例では、ビデオコーダが、ＣＵの１つまたは複数の区画のルミナンス成分のために少なくとも１つのフィルタを有効にするかどうかを表す、第１のシンタックス要素の第１の値をコーディングできる。加えて、ビデオコーダは、ＣＵの第１のタイプおよび第２のタイプの１つまたは複数の区画のクロミナンス成分のために少なくとも１つのフィルタを有効にするかどうかを表す、第２のシンタックス要素の第２の値をコーディングできる。いくつかのそのような例では、第１のタイプのクロミナンス成分は青色のクロミナンス成分（すなわち、Ｃｂ）を備え、第２のタイプのクロミナンス成分は赤色のクロミナンス成分（すなわち、Ｃｒ）を備える。
【０３６３】
[0330]  さらに、いくつかの例で、ビデオコーダは、ブロックが２Ｎ×２ＮピクセルのサイズのＣＵのＮ×Ｎピクセルのサイズの区画を備えるときにのみ、シンタックス要素の値をコーディングできる。他の例で、ビデオコーダは、閾値未満のサイズを有するＣＵをブロックが備えるときにのみ、シンタックス要素の値をコーディングできる。いくつかのそのような例で、ビデオコーダは、ブロックを含むスライスのスライスヘッダ、ブロックを含むピクチャに対するＰＰＳ、ブロックを含むピクチャのシーケンスに対するＳＰＳ、およびブロックを含むビデオデータの１つまたは複数のレイヤに対するＶＰＳの少なくとも１つにおいて、閾値を表すシンタックス要素の値をコーディングできる。
【０３６４】
[0331]  いくつかの例で、ビデオコーダは、閾値未満のサイズを有するＴＵをブロックが備えるときにのみ、シンタックス要素の値をコーディングできる。さらに、いくつかのそのような例で、ビデオコーダは、ブロックを含むスライスのスライスヘッダ、ブロックを含むピクチャに対するＰＰＳ、ブロックを含むピクチャのシーケンスに対するＳＰＳ、およびブロックを含むビデオデータの１つまたは複数のレイヤに対するＶＰＳの少なくとも１つにおいて、閾値を表すシンタックス要素の値をコーディングできる。
【０３６５】
[0332]  いくつかの例で、ビデオコーダは、ブロックが特定の予測モードを使用してコーディングされるときにのみ、シンタックス要素の値をコーディングする。いくつかの例で、ビデオコーダは、少なくとも１つのフィルタが選択的に有効または無効にされ得ることをシンタックス要素の値が示すときにのみ、シンタックス要素の値をコーディングする。いくつかの例で、ビデオコーダは、ブロックを含むスライスのスライスヘッダ、ブロックを含むピクチャに対するＰＰＳ、ブロックを含むピクチャのシーケンスに対するＳＰＳ、およびブロックを含むビデオデータの１つまたは複数のレイヤに対するＶＰＳの少なくとも１つにおいて、少なくとも１つのフィルタが選択的に有効にされ得るか無効にされ得るかを示す、シンタックス要素の値をコーディングする。
【０３６６】
[0333]  さらに、いくつかの例で、ビデオコーダは、ルミナンスチャネルのみに対してシンタックス要素の値をコーディングする。他の例で、ビデオコーダは、ブロックのルミナンス成分のみに対してシンタックス要素の値をコーディングする。他の例で、ビデオコーダは、サポートされる最小のＣＵサイズであるサイズを有するＣＵをブロックが備えるときにのみ、シンタックス要素の値をコーディングする。他の例で、ビデオコーダは、サポートされる最小のＴＵサイズであるサイズを有するＴＵをブロックが備えるときにのみ、シンタックス要素の値をコーディングする。他の例で、ビデオコーダは、ブロックがＴＵを備え、ＴＵが少なくとも１つの０でない係数を含むことをＴＵのためのコーディングされたブロックのフラグが示すときにのみ、シンタックス要素の値をコーディングできる。
【０３６７】
[0334]  加えて、いくつかの例で、ビデオコーダがシンタックス要素の値をコーディングするとき、ビデオコーダは、ＣＡＢＡＣを使用してシンタックス要素の値をコーディングできる。いくつかのそのような例で、ビデオコーダは、シンタックス要素がルミナンスチャネルに対応するか、第１のクロミナンスチャネルに対応するか、または第２のクロミナンスチャネルに対応するかに基づいて、シンタックス要素をコーディングするためのコンテキストを決定できる。いくつかのそのような例で、ビデオコーダは、シンタックス要素がルミナンスチャネルに対応するか、または第１のクロミナンスチャネルと第２のクロミナンスチャネルの１つに対応するかに基づいて、シンタックス要素をコーディングするためのコンテキストを決定できる。さらに、いくつかのそのような例で、第１のクロミナンスチャネルは青色のクロミナンスチャネル（すなわち、Ｃｂ）を備え、第２のクロミナンスチャネルは赤色のクロミナンスチャネル（すなわち、Ｃｒ）を備える。
【０３６８】
[0335]  いくつかの例では、ビデオコーダが、シンタックス要素がブロックのルミナンス成分に対応するか、ブロックの第１のクロミナンス成分に対応するか、またはブロックの第２のクロミナンス成分に対応するかに基づいて、シンタックス要素のためのコンテキストを決定できる。いくつかの例では、ビデオコーダが、シンタックス要素がブロックのルミナンス成分に対応するか、またはブロックの第１のクロミナンス成分とブロックの第２のクロミナンス成分の１つに対応するかに基づいて、シンタックス要素のためのコンテキストを決定できる。そのような例では、第１のクロミナンス成分が青色のクロミナンス成分（すなわち、Ｃｂ）を備えてよく、第２のクロミナンス成分は赤色のクロミナンス成分（すなわち、Ｃｒ）を備えてよい。
【０３６９】
[0336]  さらに、いくつかの例では、ブロックが現在のブロックを備えてよく、ビデオコーダは現在のブロックに対する少なくとも１つの隣接ブロックのシンタックス要素の値に基づいて、シンタックス要素のためのコンテキストを決定できる。少なくとも１つの隣接ブロックは、現在のブロックに対する左の隣接ブロックと現在ブロックに対する上の隣接ブロックの少なくとも１つを備え得る。さらに、隣接ブロックが利用可能でないとき、または隣接ブロックのシンタックス要素の値が０でないとき、ビデオコーダは、コンテキストに対するコンテキストインデックスが０に等しいと決定することをコンテキストが備えると、決定できる。いくつかの例で、隣接ブロックのシンタックス要素の値が１に等しいとき、ビデオコーダは、コンテキストに対するコンテキストインデックスが１に等しいと決定することをコンテキストが備えると、決定できる。
【０３７０】
[0337]  いくつかの例で、ビデオコーダは、ブロックに対する参照サンプルの分散、２つの隣り合うピクセルの絶対的差分和、閾値よりも大きなピクセル間の最大の差分、最大の差分を有する回数のカウントを閾値と比較すること、［１，−２，１］ＦＩＲフィルタリングの結果を閾値と比較すること、ピクセル差分の符号変化の回数のカウント、ブロックを予測するための予測モード、ブロックのサイズ、およびブロックの区画サイズの少なくとも１つに基づいて、シンタックス要素をコーディングするためのコンテキストを決定できる。
【０３７１】
[0338]  加えて、いくつかの例では、ビデオコーダが、閾値に対するブロックのサイズの比較の第１の結果に対してシンタックス要素の値をコーディングでき、異なる結果に対して、方法は、少なくとも１つのフィルタを有効にするかどうかを表すシンタックス要素の値を推測することを備える。いくつかのそのような例で、第１の結果は、ブロックのサイズが閾値より大きいことを示す比較結果を備える。いくつかの例で、第１の結果は、ブロックのサイズが閾値より小さいことを示す比較結果を備える。
【０３７２】
[0339]  さらに、いくつかの例で、ビデオコーダは、シンタックス要素がブロックのルミナンスチャネルまたはルミナンス成分のためのものであるとき、シンタックス要素の値を推測できる。いくつかの例で、ビデオコーダは、シンタックス要素がブロックのクロミナンスチャネルまたはクロミナンス成分のためのものであるとき、シンタックス要素の値を推測できる。
【０３７３】
[0340]  いくつかの例で、ビデオコーダがシンタックス要素の値をコーディングするとき、ビデオコーダは、少なくとも１つのフィルタに対する第１のシンタックス要素の値をコーディングできる。そのような例で、ビデオコーダは、ブロックのイントラ予測のために第２の異なるフィルタを有効にするかどうかを表す第２のシンタックス要素の値を推測できる。
【０３７４】
[0341]  いくつかの例で、ビデオコーダがシンタックス要素の値をコーディングするとき、ビデオコーダは、スライスヘッダ、ＰＰＳ、ＳＰＳ、およびＶＰＳの少なくとも１つのシンタックス要素の値をコーディングできる。いくつかのそのような例で、ビデオコーダは、スライスヘッダ、ＰＰＳ、ＳＰＳ、およびＶＰＳの少なくとも１つのシンタックス要素の値が、イントラ予測のための少なくとも１つのフィルタが有効にされ得ることを示すときにのみ、ブロックのイントラ予測のために少なくとも１つのフィルタを有効にするかどうかを表すシンタックス要素の値をコーディングできる。
【０３７５】
[0342]  いくつかの例では、少なくとも１つのフィルタが、ＭＤＩＳフィルタ、３２タップの補間フィルタ、およびエッジフィルタの少なくとも１つを備える。さらに、いくつかの例で、ビデオコーダがブロックをイントラ予測コーディングするとき、ビデオコーダは、少なくとも１つのフィルタが有効にされることをシンタックス要素の値が示すときに、少なくとも１つのフィルタを実行し得る。さらに、ビデオコーダは、少なくとも１つのフィルタが有効にされることをシンタックス要素の値が示すときに、少なくとも１つのフィルタの実行をスキップできる。加えて、いくつかの例で、少なくとも１つのフィルタは、モード依存イントラ平滑化（ＭＤＩＳ）フィルタ、１／３２ピクセルの双線形補間フィルタ、境界フィルタ、エッジフィルタ、およびＤＣフィルタの少なくとも１つを備える。
【０３７６】
[0343]  いくつかの例では、少なくとも１つのブロックがＣＵとＴＵの１つに対応する。さらに、ビデオコーダがシンタックス要素の値をコーディングするとき、ビデオコーダは、変換スキップフラグシンタックス要素の値をコーディングする前に、ＣＵまたはＴＵに対するシンタックス要素の値をコーディングする。加えて、ビデオコーダは、少なくとも１つのフィルタを有効にするかどうかを表すシンタックス要素の値および変換スキップフラグ要素の値に少なくとも一部基づいて、少なくとも１つのフィルタを有効にするか無効にするかを決定できる。
【０３７７】
[0344]  少なくとも前の段落の例においては、少なくとも１つのフィルタを有効にするか無効にするかをビデオコーダが決定するとき、ビデオコーダは、少なくとも１つのフィルタを有効にするかどうかを表すシンタックス要素が、フィルタリングが無効にされ得ることを示す値を有するとき、および、変換スキップフラグシンタックス要素が、変換がＴＵに適用されるべきでないことを示す値を有するとき、または、少なくとも１つのフィルタを有効にするかどうかを表すシンタックス要素が、フィルタリングが無効にされるべきでないことを示す値をフィルタリングが有することを示す値を有するとき、ＨＥＶＣ  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓの仕様（ＪＣＴＶＣ−Ｍ１００５−ｖ２）において規定されるような少なくとも１つのフィルタを有効または無効にできる。加えて、ビデオコーダは、少なくとも１つのフィルタを有効にするかどうかを表すシンタックス要素が、フィルタリングが無効にされ得ることを示す値を有するとき、および、変換スキップフラグシンタックス要素の値が、ＴＵに変換を適用するかどうかが他のシンタックス要素に依存することを示すとき、少なくとも１つのフィルタを無効にできる。すなわち、ビデオデコーダは、変換スキップフラグ以外のシンタックス要素に基づいて、変換を適用するかどうかを決定できる。
【０３７８】
[0345]  さらに、いくつかの例で、少なくとも１つのフィルタを有効にするか無効にするかをビデオコーダが決定するとき、ビデオコーダは、少なくとも１つのフィルタを有効にするかどうかを表すシンタックス要素が、フィルタリングが無効にされ得ることを示す値を有するとき、ＨＥＶＣ  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓの仕様（ＪＣＴＶＣ−Ｍ１００５−ｖ２）において規定されるような少なくとも１つのフィルタを有効または無効にする。いくつかの例で、少なくとも１つのフィルタを有効にするか無効にするかをビデオコーダが決定するとき、ビデオコーダは、少なくとも１つのフィルタを有効にするかどうかを表すシンタックス要素が、フィルタリングが無効にされるべきでないことを示す値をフィルタリングが有することを示す値を有するとき、ＨＥＶＣ  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓの仕様（ＪＣＴＶＣ−Ｍ１００５−ｖ２）において規定されるような少なくとも１つのフィルタを有効または無効にする。いくつかの例で、少なくとも１つのフィルタを有効にするか無効にするかをビデオコーダが決定するとき、ビデオコーダは、少なくとも１つのフィルタを有効にするかどうかを表すシンタックス要素が、フィルタリングが無効にされ得ることを示す値を有するとき、および、変換スキップフラグシンタックス要素が、ＴＵに変換を適用するかどうかが他のシンタックス要素に依存することを示すとき、少なくとも１つのフィルタを無効にできる。
【０３７９】
[0346]  いくつかの例で、少なくとも１つのフィルタを有効にするかどうかを表すシンタックス要素に対してフィルタリングが無効にされ得ることを示す値は、１という値を備える。いくつかの例では、少なくとも１つのフィルタを有効にするかどうかを表すシンタックス要素に対してフィルタリングが無効にされるべきでないことを示す値が、０という値を備える。さらに、いくつかの例で、変換スキップフラグシンタックス要素に対するＴＵに変換が適用されるべきでないことを示す値は、１という値を備える。いくつかの例で、ＴＵに変換を適用するかどうかが他のシンタックス要素に依存することを示す変換スキップフラグシンタックス要素の値は、０という値を備える。
【０３８０】
[0347]  さらに、いくつかの例では、少なくとも１つのフィルタを有効にするか無効にするかをビデオコーダが決定するとき、ビデオコーダが、少なくとも１つのフィルタを有効にするかどうかを表すシンタックス要素の値および少なくとも１つのブロックに対するｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇの値に少なくとも一部基づいて、少なくとも１つのフィルタを有効または無効にできる。
【０３８１】
[0348]  いくつかの例では、ビデオコーダが、暗黙的な導出を使用して少なくとも１つのフィルタを無効にするかどうかを決定できる。いくつかの例では、ビデオコーダが、少なくとも１つのフィルタを無効にするかどうかを決定できるは、３タップのＦＩＲフィルタ［１，−２，１］を使用して少なくとも１つのフィルタを無効にするかどうかを決定することを備える。少なくともいくつかのそのような例では、少なくとも１つのフィルタを無効にするかどうかをビデオコーダが決定するとき、ビデオコーダは、少なくとも１つのフィルタを有効にするかどうかを表すシンタックス要素が、少なくとも１つのブロックに対してフィルタリングが無効にされ得ることを示す値を有するとき、および、ＦＩＲフィルタの結果が閾値を下回るとき、ＨＥＶＣ  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓの仕様（ＪＣＴＶＣ−Ｍ１００５−ｖ２）において規定されるような少なくとも１つのフィルタを有効にするか無効にするかを決定できる。さらに、いくつかのそのような例では、少なくとも１つのフィルタを無効にするかどうかをビデオコーダが決定するとき、ビデオコーダは、少なくとも１つのフィルタを有効にするかどうかを表すシンタックス要素が、少なくとも１つのブロックに対してフィルタリングが無効にされ得ることを示す値を有するとき、および、ＦＩＲフィルタの結果が閾値以上であるとき、少なくとも１つのフィルタを無効にできる。
【０３８２】
[0349]  いくつかの例では、ビデオコーダがブロックをイントラ予測コーディングするとき、ビデオコーダは、ブロックに対する予測されたブロックをイントラ予測し、ブロックに対する１つまたは複数の残差値を復号し、ブロックを復号するために予測されたブロックを残差値と組み合わせることができる。例えば、ビデオコーダは、復号されたブロック中の各サンプルが予測されたブロック中のサンプルと対応する残差サンプルとの合計に等しいように、予測されたブロックと残差値とを組み合わせることができる。他の例では、ビデオコーダがブロックをイントラ予測コーディングするとき、ビデオコーダが、ブロックに対する予測されたブロックをイントラ予測し、ブロックと予測されたブロックとの差分に基づいてブロックに対する１つまたは複数の残差値を計算し、残差値を符号化できる。
【０３８３】
[0350]  図２１Ａは、本開示の１つまたは複数の技法による、ビデオデータを符号化するためのビデオエンコーダ２０の例示的な動作を示すフローチャートである。図２１Ａの例では、ビデオエンコーダ２０が、第１のシンタックス要素（例えば、ｆｉｌｔｅｒ＿disable＿ｆｌａｇシンタックス要素）の値を符号化でき、第１のシンタックス要素は、ビデオデータのブロックのイントラ予測のためにフィルタを有効にするかどうかを表す（６００）。言い換えると、ビデオエンコーダ２０は、ビットストリーム中に、第１のシンタックス要素を示すデータを含め得る。いくつかの例で、第１のシンタックス要素を示すデータを含めることは、第１のシンタックス要素をエントロピー符号化する（例えば、ＣＡＢＡＣ符号化する）ことを備える。いくつかの例で、フィルタは、ＪＣＴＶＣ−Ｍ１００５−ｖ２において記述されるような、双線形補間フィルタである。
【０３８４】
[0351]  さらに、ビデオエンコーダ２０は第２のシンタックス要素（例えば、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇシンタックス要素）の値を符号化でき、第２のシンタックス要素は、予測後の残差信号が変換を伴わずに量子化されるかどうかを規定する（６０２）。言い換えると、ビデオエンコーダ２０は、ビットストリーム中に、第２のシンタックス要素を示すデータを含め得る。いくつかの例で、第２のシンタックス要素を示すデータを含めることは、第２のシンタックス要素をエントロピー符号化する（例えば、ＣＡＢＡＣ符号化する）ことを備える。ビデオエンコーダ２０は、フィルタが無効にされるかどうかをビデオデコーダ３０が第１のシンタックス要素および第２のシンタックス要素に基づいて決定することが可能であるように、第１のシンタックス要素および第２のシンタックス要素の値を設定できる。
【０３８５】
[0352]  加えて、ビデオエンコーダ２０は、ブロックをイントラ予測符号化できる（６０４）。言い換えると、ビデオエンコーダ２０は、ブロックを符号化するためにイントラ予測を使用できる。図２１Ａの例では、ビデオエンコーダ２０がブロックをイントラ予測符号化するとき、ビデオエンコーダ２０は、フィルタが有効にされるときにブロックのためのイントラ予測データにフィルタを適用できる（６０６）。例えば、ビデオエンコーダ２０は、ブロックに対応する予測ブロックの各サンプルにフィルタを適用できる。
【０３８６】
[0353]  図２１Ｂは、本開示の１つまたは複数の技法による、ビデオデータを復号するためのビデオデコーダ３０の例示的な動作を示すフローチャートである。図２１Ｂの例では、ビデオデコーダ３０が、第１のシンタックス要素（例えば、ｆｉｌｔｅｒ＿disable＿ｆｌａｇシンタックス要素）の値を復号でき、第１のシンタックス要素は、ビデオデータのブロックのイントラ予測のためにフィルタを有効にするかどうかを示す（例えば、それを表す）（６３）。言い換えると、ビデオデコーダ３０は、ビットストリームから第１のシンタックス要素を取得できる。いくつかの例で、ビットストリームから第１のシンタックス要素を取得することは、第１のシンタックス要素をエントロピー復号する（例えば、ＣＡＢＡＣ復号する）ことを備える。いくつかの例で、フィルタは、ＪＣＴＶＣ−Ｍ１００５−ｖ２において記述されるような、双線形補間フィルタである。
【０３８７】
[0354]  さらに、ビデオデコーダ３０は第２のシンタックス要素（例えば、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇシンタックス要素）の値を復号でき、第２のシンタックス要素は、予測後の残差信号が変換を伴わずに量子化されるかどうかを規定する（６３２）。言い換えると、ビデオデコーダ３０は、ビットストリームから第２のシンタックス要素を取得できる。いくつかの例では、ビットストリームから第２のシンタックス要素を取得することは、第２のシンタックス要素をエントロピー復号する（例えば、ＣＡＢＡＣ復号する）ことを備える。
【０３８８】
[0355]  加えて、ビデオデコーダ３０は、ブロックをイントラ予測復号できる（６３４）。言い換えると、ビデオデコーダ３０は、ブロックを復号するためにイントラ予測を使用できる。図２１Ｂの例では、ビデオデコーダ３０がブロックをイントラ予測復号するとき、ビデオデコーダ３０は、第１のシンタックス要素の値および第２のシンタックス要素の値に少なくとも一部基づいて、フィルタを有効にするか無効にするかを決定できる（６３６）。さらに、フィルタが有効にされるとき、ビデオデコーダ３０は、ブロックのためのイントラ予測データにフィルタを適用できる（６３８）。例えば、ビデオデコーダ３０は、ブロックに対応する予測ブロックの各サンプルにフィルタを適用できる。
【０３８９】
[0356]  図２２Ａは、本開示の１つまたは複数の技法による、ビデオデータを符号化するためのビデオエンコーダ２０の例示的な動作を示すフローチャートである。図２２Ａの例では、ビデオエンコーダ２０が、イントラ予測のために使用される１つまたは複数のフィルタを適応的に無効にできる（６５０）。いくつかの例では、１つまたは複数のフィルタが平滑化フィルタを含む。いくつかの例では、１つまたは複数のフィルタが、双線形補間フィルタ、エッジフィルタ、およびＤＣイントラ予測モードフィルタの少なくとも１つを含む。エッジフィルタは、勾配ベースの平滑化を使用して、第１の予測の列と第１の予測の行とをフィルタリングできる。ＤＣイントラ予測モードフィルタは、２タップのＦＩＲフィルタとともにＤＣの値を使用して予測ブロックの第１の予測の行と第１の予測の列とをフィルタリングでき、３タップのフィルタを使用して予測ブロックの角のサンプルをフィルタリングする。
【０３９０】
[0357]  加えて、ビデオエンコーダ２０は、１つまたは複数のフィルタを制御するシンタックス要素をシグナリングできる（６５２）。いくつかの例では、シンタックス要素がＰＵにおいてシグナリングされる。さらに、いくつかの例で、シンタックス要素は、残差信号が変換を伴わずに量子化されるかどうかを規定する。例えば、シンタックス要素はｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇシンタックス要素であり得る。他の例では、シンタックス要素はｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇであり得る。さらに、ビデオエンコーダ２０は、ビデオデータの現在のビデオブロックのための予測データを生成するために、イントラ予測を行い得る（６５４）。
【０３９１】
[0358]  残差信号が変換を伴わずに量子化されるかどうかをシンタックス要素が規定するいくつかの例では、ビデオエンコーダ２０が第２のシンタックス要素の値を符号化できる。第２のシンタックス要素は、ビデオデータのブロックのイントラ予測のために１つまたは複数のフィルタを有効にするかどうかを表し得る。さらに、ビデオエンコーダ２０は、第１のシンタックス要素の値を符号化できる。１つまたは複数のフィルタが無効にされるかどうかをビデオデコーダが第１のシンタックス要素および第２のシンタックス要素に基づいて決定することが可能であるように、第１のシンタックス要素および第２のシンタックス要素が設定される。さらに、１つまたは複数のフィルタが有効にされるとき、ビデオエンコーダ２０は、ブロックのためのイントラ予測データに１つまたは複数のフィルタを適用できる。いくつかのそのような例では、１つまたは複数のフィルタが無効にされ得ることを第２のシンタックス要素の値が示すとき、および、ＴＵに変換が適用されるべきでないことを示す値を第１のシンタックス要素が有するとき、または、１つまたは複数のフィルタが無効にされるべきでないことを示す値を第２のシンタックス要素が有するとき、１つまたは複数のフィルタが有効または無効にされる。１つまたは複数のフィルタが無効にされ得ることを第２のシンタックス要素の値が示すとき、および、ＴＵへの変換の適用が他のシンタックス要素に依存することを第１のシンタックス要素の値が示すとき、１つまたは複数のフィルタは無効にされる。１つまたは複数のフィルタは、ＪＣＴＶＣ−Ｍ１００５−ｖ２において規定され得る。
【０３９２】
[0359]  図２２Ｂは、本開示の１つまたは複数の技法による、ビデオデータを復号するためのビデオデコーダ３０の例示的な動作を示すフローチャートである。図２２Ｂの例では、ビデオデコーダ３０が、シンタックス要素に基づいて、イントラ予測のために使用される１つまたは複数のフィルタを適応的に無効にできる（６７０）。いくつかの例では、１つまたは複数のフィルタが平滑化フィルタを含む。いくつかの例では、１つまたは複数のフィルタが、双線形補間フィルタ、エッジフィルタ、およびＤＣイントラ予測モードフィルタの少なくとも１つを含む。エッジフィルタは、勾配ベースの平滑化を使用して、第１の予測の列と第１の予測の行とをフィルタリングできる。ＤＣイントラ予測モードフィルタは、２タップのＦＩＲフィルタとともにＤＣの値を使用して予測ブロックの第１の予測の行と第１の予測の列とをフィルタリングでき、３タップのフィルタを使用して予測ブロックの角のサンプルをフィルタリングする。いくつかの例では、シンタックス要素がＰＵにおいてシグナリングされる。
【０３９３】
[0360]  加えて、ビデオデコーダ３０は、現在のビデオスライスの現在のブロックのための予測データを生成するために、イントラ予測を行い得る（６７２）。いくつかの例では、シンタックス要素が、残差信号が変換（例えば、ＤＣＴ）を伴わずに量子化されるかどうかを規定する。例えば、シンタックス要素はｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇシンタックス要素であり得る。さらに、いくつかのそのような例では、シンタックス要素が第１のシンタックス要素であり、ビデオデコーダ３０が第２のシンタックス要素の値を復号する。第２のシンタックス要素は、ビデオデータのブロックのイントラ予測のためにフィルタを有効にするかどうかを表し得る。言い換えると、第２のシンタックス要素はフィルタ無効化フラグであり得る。さらに、ビデオデコーダ３０は、第１のシンタックス要素の値を復号できる。ビデオデータをイントラ復号することの一部として、ビデオデコーダ３０は、第１のシンタックス要素の値および第２のシンタックス要素の値に少なくとも一部基づいて、フィルタを有効にするか無効にするかを決定できる。さらに、フィルタが有効にされるとき、ビデオデコーダ３０は、ブロックのためのイントラ予測データにフィルタを適用できる。例えば、いくつかの例で、ビデオデコーダ３０は、１つまたは複数のフィルタが無効にされ得ることを第２のシンタックス要素の値が示すとき、および、ＴＵに変換が適用されるべきでないことを示す値を第１のシンタックス要素が有するとき、または、フィルタリングが無効にされるべきでないことを示す値を第２のシンタックス要素が有するとき、１つまたは複数のフィルタを有効または無効にできる。さらに、ビデオデコーダ３０は、１つまたは複数のフィルタが無効にされ得ることを第２のシンタックス要素の値が示すとき、および、ＴＵへの変換の適用が他のシンタックス要素に依存することを第１のシンタックス要素の値が示すとき、１つまたは複数のフィルタを無効にできる。１つまたは複数のフィルタは、ＪＣＴＶＣ−Ｍ１００５−ｖ２において規定され得る。
【０３９４】
[0361]  例に応じて、本明細書で説明される技法のいずれものいくつかの処置または事象は、異なる順序で行われてよく、全体的に追加され、結合され、または除外されてよいことが、認識されるべきである（例えば、説明される処置または事象の全てが、この技法の実践のために必要であるとは限らない）。その上、いくつかの例では、動作またはイベントが、連続的にでなく、同時に、例えば、マルチスレッド処理、割込み処理、または複数のプロセッサを通じて行われ得る。
【０３９５】
[0362]  １つまたは複数の例では、説明された機能が、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって処理され得る。コンピュータ可読媒体は、データ記憶媒体のような有形媒体に対応するコンピュータ可読記憶媒体、または、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、（１）非一時的である有形のコンピュータ可読記憶媒体、または（２）信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明される技法の実装のための、命令、コードおよび／またはデータ構造を取り出すために、１つもしくは複数のコンピュータまたは１つもしくは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【０３９６】
[0363]  限定でなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る任意の他の媒体を備え得る。また、任意の接続が、コンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに、非一時的な有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク（disk）およびディスク（disc）は、コンパクトディスク（ＣＤ）、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク（ＤＶＤ）、フロッピー（登録商標）ディスク、およびブルーレイ（登録商標）ディスクを含み、通常、ディスク（disk）は磁気的にデータを再生し、ディスク（disc）はレーザーを用いて光学的にデータを再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【０３９７】
[0364]  命令は、１つまたは複数のデジタルシグナルプロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、または他の同等の集積された論理回路もしくは個別の論理回路のような、１つまたは複数のプロセッサによって行われ得る。従って、「プロセッサ」という用語は、本明細書において、前述の構造のいずれか、または本明細書で説明された技法の実装に適した任意の他の構造を指し得る。加えて、いくつかの態様では、本明細書で説明された機能が、符号化および復号のために構成され、または組み合わされたコーデックに組み込まれた、専用ハードウェア内および／またはソフトウェアモジュール内で提供され得る。また、本技法は、１つまたは複数の回路または論理素子内で完全に実装され得る。
【０３９８】
[0365]  本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（例えば、チップセット）を含む、多種多様なデバイスまたは装置において実施され得る。様々なコンポーネント、モジュール、またはユニットは、開示されている技術を行うように構成されたデバイスの機能的態様を強調するように本開示において説明されているが、異なるハードウェアユニットによる実現を必ずしも必要としない。むしろ、上で説明されたように、様々なユニットは、適切なソフトウェアおよび／またはファームウェアとともに、上で説明された１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わされ、または相互動作するハードウェアユニットの集合によって提供され得る。
【０３９９】
[0366]  様々な例が説明されてきた。これらの例および他の例、並びにそれらの特定の組合せが、以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを復号する方法であって、
シンタックス要素に基づいて、イントラ予測のために使用される１つまたは複数のフィルタを適応的に無効にすることと、
現在のビデオスライスの現在のブロックのための予測データを生成するために、イントラ予測を行うこととを備える、方法。
［Ｃ２］
前記１つまたは複数のフィルタは平滑化フィルタを含む、Ｃ１に記載の方法。
［Ｃ３］
前記１つまたは複数のフィルタは、双線形補間フィルタ、エッジフィルタ、またはＤＣイントラ予測モードフィルタの少なくとも１つを含み、
前記エッジフィルタは、勾配ベースの平滑化を使用して、第１の予測の列と第１の予測の行とをフィルタリングし、
前記ＤＣイントラ予測モードフィルタは、２タップの有限インパルス応答（ＦＩＲ）フィルタとともにＤＣの値を使用して予測ブロックの第１の予測の行と第１の予測の列とをフィルタリングし、３タップのフィルタを使用して前記予測ブロックの角のサンプルをフィルタリングする、Ｃ１に記載の方法。
［Ｃ４］
前記シンタックス要素は予測ユニット（ＰＵ）においてシグナリングされる、Ｃ１に記載の方法。
［Ｃ５］
前記１つまたは複数のフィルタを適応的に無効にすることは、前記１つまたは複数のフィルタが無効にされるかどうかを示す無効化フラグの値を決定することを備える、Ｃ１に記載の方法。
［Ｃ６］
前記シンタックス要素は、残差信号が変換を伴わずに量子化されるかどうかを規定し、
前記シンタックス要素がオンにされる場合、前記無効化フラグがオンにされ、
前記無効化フラグがオンである場合、前記１つまたは複数のフィルタが無効にされる、Ｃ５に記載の方法。
［Ｃ７］
前記シンタックス要素は、残差信号が変換を伴わずに量子化されるかどうかを規定し、
前記無効化フラグが１に等しく、有限インパルス応答（ＦＩＲ）フィルタの結果が閾値を上回ると決定される場合、前記１つまたは複数のフィルタが無効にされる、Ｃ５に記載の方法。
［Ｃ８］
前記シンタックス要素がオンにされるとき、予測ブロックが量子化および変換を伴わずにコーディングされ、
前記シンタックス要素がオンにされる場合、前記無効化フラグがオンにされ、
前記無効化フラグがオンである場合、前記１つまたは複数のフィルタが無効にされる、Ｃ５に記載の方法。
［Ｃ９］
ビデオデータを符号化する方法であって、
イントラ予測のために使用される１つまたは複数のフィルタを適応的に無効にすることと、
前記１つまたは複数のフィルタを制御するシンタックス要素をシグナリングすることと、
前記ビデオデータの現在のビデオブロックのための予測データを生成するために、イントラ予測を行うこととを備える、方法。
［Ｃ１０］
前記１つまたは複数のフィルタは平滑化フィルタを含む、Ｃ９に記載の方法。
［Ｃ１１］
前記１つまたは複数のフィルタは、双線形補間フィルタ、エッジフィルタ、またはＤＣイントラ予測モードフィルタの少なくとも１つを含み、
前記エッジフィルタは、勾配ベースの平滑化を使用して、第１の予測の列と第１の予測の行とをフィルタリングし、
前記ＤＣイントラ予測モードフィルタは、２タップの有限インパルス応答（ＦＩＲ）フィルタとともにＤＣの値を使用して予測ブロックの第１の予測の行と第１の予測の列とをフィルタリングし、３タップのフィルタを使用して前記予測ブロックの角のサンプルをフィルタリングする、Ｃ９に記載の方法。
［Ｃ１２］
前記シンタックス要素は予測ユニット（ＰＵ）においてシグナリングされる、Ｃ９に記載の方法。
［Ｃ１３］
前記１つまたは複数のフィルタを適応的に無効にすることは、前記１つまたは複数のフィルタが無効にされるかどうかを示す無効化フラグの値を決定することを備える、Ｃ９に記載の方法。
［Ｃ１４］
前記シンタックス要素は、残差信号が変換を伴わずに量子化されるかどうかを規定し、
前記シンタックス要素がオンにされる場合、前記無効化フラグがオンにされ、
前記無効化フラグがオンである場合、前記１つまたは複数のフィルタが無効にされる、Ｃ１３に記載の方法。
［Ｃ１５］
前記シンタックス要素は、残差信号が変換を伴わずに量子化されるかどうかを規定し、
前記無効化フラグが１に等しく、有限インパルス応答（ＦＩＲ）フィルタの結果が閾値を上回ると決定される場合、前記１つまたは複数のフィルタが無効にされる、Ｃ１３に記載の方法。
［Ｃ１６］
前記シンタックス要素がオンにされるとき、予測ブロックが量子化および変換を伴わずにコーディングされ、
前記シンタックス要素がオンにされる場合、前記無効化フラグがオンにされ、
前記無効化フラグがオンである場合、前記１つまたは複数のフィルタが無効にされる、Ｃ１３に記載の方法。
［Ｃ１７］
ビデオデータを記憶するように構成されたコンピュータ可読媒体と、
１つまたは複数のプロセッサとを備え、前記１つまたは複数のプロセッサは、
シンタックス要素に基づいて、イントラ予測のために使用される１つまたは複数のフィルタを適応的に無効にし、
現在のビデオスライスの現在のブロックのための予測データを生成するために、イントラ予測を行うように構成される、ビデオ復号デバイス。
［Ｃ１８］
前記１つまたは複数のフィルタは平滑化フィルタを含む、Ｃ１７に記載のビデオ復号デバイス。
［Ｃ１９］
前記１つまたは複数のフィルタは、双線形補間フィルタ、エッジフィルタ、およびＤＣイントラ予測モードフィルタの少なくとも１つを含み、
前記エッジフィルタは、勾配ベースの平滑化を使用して、第１の予測の列と第１の予測の行とをフィルタリングし、
前記ＤＣイントラ予測モードフィルタは、２タップの有限インパルス応答（ＦＩＲ）フィルタとともにＤＣの値を使用して予測ブロックの第１の予測の行と第１の予測の列とをフィルタリングし、３タップのフィルタを使用して前記予測ブロックの角のサンプルをフィルタリングする、Ｃ１７に記載のビデオ復号デバイス。
［Ｃ２０］
前記シンタックス要素は予測ユニット（ＰＵ）においてシグナリングされる、Ｃ１７に記載のビデオ復号デバイス。
［Ｃ２１］
前記１つまたは複数のフィルタを適応的に無効にすることの一部として、前記１つまたは複数のプロセッサは、前記１つまたは複数のフィルタが無効にされるかどうかを示す無効化フラグの値を決定する、Ｃ１７に記載のビデオ復号デバイス。
［Ｃ２２］
前記シンタックス要素は、残差信号が変換を伴わずに量子化されるかどうかを規定し、
前記シンタックス要素がオンにされる場合、前記無効化フラグがオンにされ、
前記無効化フラグがオンである場合、前記１つまたは複数のフィルタが無効にされる、Ｃ２１に記載のビデオ復号デバイス。
［Ｃ２３］
前記シンタックス要素は、残差信号が変換を伴わずに量子化されるかどうかを規定し、
前記無効化フラグが１に等しく、有限インパルス応答（ＦＩＲ）フィルタの結果が閾値を上回ると決定される場合、前記１つまたは複数のフィルタが無効にされる、Ｃ２１に記載のビデオ復号デバイス。
［Ｃ２４］
前記シンタックス要素がオンにされるとき、予測ブロックが量子化および変換を伴わずにコーディングされ、
前記シンタックス要素がオンにされる場合、前記無効化フラグがオンにされ、
前記無効化フラグがオンである場合、前記１つまたは複数のフィルタが無効にされる、Ｃ２１に記載のビデオ復号デバイス。
［Ｃ２５］
前記１つまたは複数のプロセッサは、
前記現在のブロックのための予測されたブロックをイントラ予測し、
前記現在のブロックに対する１つまたは複数の残差値を復号し、
前記現在のブロックを復号するために、前記予測されたブロックを前記残差値と組み合わせるように構成される、Ｃ２１に記載のビデオ復号デバイス。
［Ｃ２６］
シンタックス要素に基づいて、イントラ予測のために使用される１つまたは複数のフィルタを適応的に無効にするための手段と、
現在のビデオスライスの現在のブロックのための予測データを生成するために、イントラ予測を行うための手段とを備える、ビデオ復号デバイス。
［Ｃ２７］
前記１つまたは複数のフィルタは平滑化フィルタを含む、Ｃ２６に記載のビデオ復号デバイス。
［Ｃ２８］
前記１つまたは複数のフィルタは、双線形補間フィルタ、エッジフィルタ、またはＤＣイントラ予測モードフィルタの少なくとも１つを含み、
前記エッジフィルタは、勾配ベースの平滑化を使用して、第１の予測の列と第１の予測の行とをフィルタリングし、
前記ＤＣイントラ予測モードフィルタは、２タップの有限インパルス応答（ＦＩＲ）フィルタとともにＤＣの値を使用して予測ブロックの第１の予測の行と第１の予測の列とをフィルタリングし、３タップのフィルタを使用して前記予測ブロックの角のサンプルをフィルタリングする、Ｃ２６に記載のビデオ復号デバイス。
［Ｃ２９］
前記現在のブロックのための予測されたブロックをイントラ予測するための手段と、
前記現在のブロックに対する１つまたは複数の残差値を復号するための手段と、
前記現在のブロックを復号するために、前記予測されたブロックを前記残差値と組み合わせるための手段とをさらに備える、Ｃ２６に記載のビデオ復号デバイス。
【図１】
0006580562.tif 000049
【図２】
0006580562.tif 000050
【図３】
0006580562.tif 000051
【図４Ａ】
0006580562.tif 000052
【図４Ｂ】
0006580562.tif 000053
【図５】
0006580562.tif 000054
【図６】
0006580562.tif 000055
【図７】
0006580562.tif 000056
【図８】
0006580562.tif 000057
【図９】
0006580562.tif 000058
【図１０】
0006580562.tif 000059
【図１１】
0006580562.tif 000060
【図１２Ａ】
0006580562.tif 000061
【図１２Ｂ】
0006580562.tif 000062
【図１３Ａ】
0006580562.tif 000063
【図１３Ｂ】
0006580562.tif 000064
【図１４Ａ】
0006580562.tif 000065
【図１４Ｂ】
0006580562.tif 000066
【図１５Ａ】
0006580562.tif 000067
【図１５Ｂ】
0006580562.tif 000068
【図１６】
0006580562.tif 000069
【図１７】
0006580562.tif 000070
【図１８】
0006580562.tif 000071
【図１９】
0006580562.tif 000072
【図２０】
0006580562.tif 000073
【図２１Ａ】
0006580562.tif 000074
【図２１Ｂ】
0006580562.tif 000075
【図２２Ａ】
0006580562.tif 000076
【図２２Ｂ】
0006580562.tif 000077