(57)【要約】位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用する技法が説明される。ビデオエンコーダまたはビデオデコーダのようなビデオコーダは、現在ブロックが角度イントラ予測モードを使用してイントラモード予測される場合にＰＤＰＣを利用する。【選択図】図９
2021520117.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
ＤＣイントラ予測モードでも、平面イントラ予測モードでも、水平イントラ予測モードでも、垂直イントラ予測モードでもない角度イントラ予測モードに基づいて、現在ブロックについての、複数の予測サンプルを含む予測ブロックを決定することと、
位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用して、修正された予測サンプルを生成するために前記予測ブロックの前記複数の予測サンプルのうちの１つの予測サンプルを修正すること、ここにおいて、前記予測サンプルを修正することは、
前記角度イントラ予測モードに基づいて、前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定することと、
前記決定された１つまたは複数の基準サンプルに基づいて、前記修正された予測サンプルを生成するために前記予測サンプルを修正することと
を備える、と、
前記修正された予測サンプルおよび残差値に基づいて、前記現在ブロックのサンプルを再構築することと
を備える方法。
【請求項２】
前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定することは、前記予測ブロック中の前記予測サンプルのそれぞれのｘ座標およびｙ座標の両方とは異なるｘ座標およびｙ座標の両方を有する前記１つまたは複数の基準サンプルを決定することを備える、請求項１に記載の方法。
【請求項３】
前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定することは、
前記現在ブロックの上にある行を決定することと、
前記決定された行におけるｘ座標を決定すること、ここにおいて、前記決定された行における前記ｘ座標は、前記予測サンプルのｘ座標＋前記予測サンプルのｙ座標＋１に等しい、と、
前記決定された行および前記決定されたｘ座標に基づいて、前記１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定することと
を備える、請求項１に記載の方法。
【請求項４】
前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定することは、
前記現在ブロックの左にある列を決定することと、
前記決定された列におけるｙ座標を決定すること、ここにおいて、前記決定された列における前記ｙ座標は、前記予測サンプルのｘ座標＋前記予測サンプルのｙ座標＋１に等しい、と、
前記決定された列および前記決定されたｙ座標に基づいて、前記１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定することと
を備える、請求項１に記載の方法。
【請求項５】
前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定することは、
前記現在ブロックの上にある行を決定することと、
前記決定された行におけるｘ座標を決定すること、ここにおいて、前記決定された行における前記ｘ座標は、前記角度イントラ予測モードの角度に基づく、と、
前記決定された行および前記決定されたｘ座標に基づいて、前記１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定することと
を備える、請求項１に記載の方法。
【請求項６】
前記決定された行における前記ｘ座標を決定することは、
前記角度イントラ予測モードの前記角度の余接または正接のうちの１つを決定することと、
前記角度イントラ予測モードの前記角度の前記余接または正接のうちの１つと、前記予測サンプルのｘ座標と、前記予測サンプルのｙ座標とに基づいて、前記決定された行における前記ｘ座標を決定することと
を備える、請求項５に記載の方法。
【請求項７】
前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定することは、
前記現在ブロックの左にある列を決定することと、
前記決定された列におけるｙ座標を決定すること、ここにおいて、前記決定された列における前記ｙ座標は、前記角度イントラ予測モードの角度に基づく、と、
前記決定された列および前記決定されたｙ座標に基づいて、前記１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定することと
を備える、請求項１に記載の方法。
【請求項８】
前記決定された列における前記ｙ座標を決定することは、
前記角度イントラ予測モードの前記角度の余接または正接のうちの１つを決定することと、
前記角度イントラ予測モードの前記角度の前記余接または正接のうちの１つと、前記予測サンプルのｘ座標と、前記予測サンプルのｙ座標とに基づいて、前記決定された列における前記ｙ座標を決定することと
を備える、請求項７に記載の方法。
【請求項９】
前記角度イントラ予測モードに基づいて、前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定することは、
前記角度イントラ予測モードに基づいて、１つまたは複数のサンプルのセットを決定することと、
前記１つまたは複数の基準サンプルを生成するために、前記１つまたは複数のサンプルのセットを補間すること、オフセットを用いて丸めること、またはオフセットを用いずに丸めることのうちの少なくとも１つを行うことと
を備える、請求項１に記載の方法。
【請求項１０】
前記角度イントラ予測モードに基づいて、前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定することは、
前記角度イントラ予測モードに基づいて識別された前記現在ブロックの外部にある１つまたは複数のサンプルが参照ラインバッファに記憶されていないと決定することと、
前記参照ラインバッファに記憶されている最後の基準サンプルに基づいて、前記１つまたは複数の基準サンプルを決定することと
を備える、請求項１に記載の方法。
【請求項１１】
前記予測ブロックの前記予測サンプルを修正することは、前記予測ブロックの第１の予測サンプルを修正することを備え、前記１つまたは複数の基準サンプルは、１つまたは複数の基準サンプルの第１のセットを備え、前記方法は、
同じ予測ブロックの第２の予測サンプルについて、前記第２の予測サンプルのための１つまたは複数の基準サンプルの第２のセットのうちの少なくとも１つの基準サンプルが参照ラインバッファに記憶されていないと決定することと、
前記第２の予測サンプルにＰＤＰＣを適用しないことまたは参照ラインバッファで利用可能な基準サンプルだけを使用してＰＤＰＣを適用することのうちの１つを行うことと
をさらに備える、請求項１に記載の方法。
【請求項１２】
前記予測サンプルのｘ座標およびｙ座標に基づいて、複数の重みを決定すること
をさらに備え、
前記予測サンプルを修正することは、前記決定された１つまたは複数の基準サンプルと、前記決定された重みと、前記予測サンプルとに基づいて、前記修正された予測サンプルを生成するために前記予測サンプルを修正することを備える、
請求項１に記載の方法。
【請求項１３】
ビデオデータを符号化する方法であって、
ＤＣイントラ予測モードでも、平面イントラ予測モードでも、水平イントラ予測モードでも、垂直イントラ予測モードでもない角度イントラ予測モードに基づいて、現在ブロックについての、複数の予測サンプルを含む予測ブロックを決定することと、
位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用して、修正された予測サンプルを生成するために前記予測ブロックの前記複数の予測サンプルのうちの１つの予測サンプルを修正すること、ここにおいて、前記予測サンプルを修正することは、
前記角度イントラ予測モードに基づいて、前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定することと、
前記決定された１つまたは複数の基準サンプルに基づいて、前記修正された予測サンプルを生成するために前記予測サンプルを修正することと
を備える、と、
前記修正された予測サンプルおよび前記現在ブロック中のサンプル値に基づいて、残差ブロックの残差値を決定することと、
前記残差値を示す情報をシグナリングすることと
を備える方法。
【請求項１４】
前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定することは、前記予測ブロック中の前記予測サンプルのそれぞれのｘ座標およびｙ座標の両方とは異なるｘ座標およびｙ座標の両方を有する前記１つまたは複数の基準サンプルを決定することを備える、請求項１３に記載の方法。
【請求項１５】
前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定することは、
前記現在ブロックの上にある行を決定することと、
前記決定された行におけるｘ座標を決定すること、ここにおいて、前記決定された行における前記ｘ座標は、前記予測サンプルのｘ座標＋前記予測サンプルのｙ座標＋１に等しい、と、
前記決定された行および前記決定されたｘ座標に基づいて、前記１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定することと
を備える、請求項１３に記載の方法。
【請求項１６】
前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定することは、
前記現在ブロックの左にある列を決定することと、
前記決定された列におけるｙ座標を決定すること、ここにおいて、前記決定された列における前記ｙ座標は、前記予測サンプルのｘ座標＋前記予測サンプルのｙ座標＋１に等しい、と、
前記決定された列および前記決定されたｙ座標に基づいて、前記１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定することと
を備える、請求項１３に記載の方法。
【請求項１７】
前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定することは、
前記現在ブロックの上にある行を決定することと、
前記決定された行におけるｘ座標を決定すること、ここにおいて、前記決定された行における前記ｘ座標は、前記角度イントラ予測モードの角度に基づく、と、
前記決定された行および前記決定されたｘ座標に基づいて、前記１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定することと
を備える、請求項１３に記載の方法。
【請求項１８】
前記決定された行における前記ｘ座標を決定することは、
前記角度イントラ予測モードの前記角度の余接または正接のうちの１つを決定することと、
前記角度イントラ予測モードの前記角度の前記余接または正接のうちの１つと、前記予測サンプルのｘ座標と、前記予測サンプルのｙ座標とに基づいて、前記決定された行における前記ｘ座標を決定することと
を備える、請求項１７に記載の方法。
【請求項１９】
前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定することは、
前記現在ブロックの左にある列を決定することと、
前記決定された列におけるｙ座標を決定すること、ここにおいて、前記決定された列における前記ｙ座標は、前記角度イントラ予測モードの角度に基づく、と、
前記決定された列および前記決定されたｙ座標に基づいて、前記１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定することと
を備える、請求項１３に記載の方法。
【請求項２０】
前記決定された列における前記ｙ座標を決定することは、
前記角度イントラ予測モードの前記角度の余接または正接のうちの１つを決定することと
前記角度イントラ予測モードの前記角度の前記余接または正接のうちの１つと、前記予測サンプルのｘ座標と、前記予測サンプルのｙ座標とに基づいて、前記決定された列における前記ｙ座標を決定することと
を備える、請求項１９に記載の方法。
【請求項２１】
前記角度イントラ予測モードに基づいて、前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定することは、
前記角度イントラ予測モードに基づいて、１つまたは複数のサンプルのセットを決定することと、
前記１つまたは複数の基準サンプルを生成するために、前記１つまたは複数のサンプルのセットを補間すること、オフセットを用いて丸めること、またはオフセットを用いずに丸めることのうちの少なくとも１つを行うことと
を備える、請求項１３に記載の方法。
【請求項２２】
前記角度イントラ予測モードに基づいて、前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定することは、
前記角度イントラ予測モードに基づいて識別された前記現在ブロックの外部にある１つまたは複数のサンプルが参照ラインバッファに記憶されていないと決定することと、
前記参照ラインバッファに記憶されている最後の基準サンプルに基づいて、前記１つまたは複数の基準サンプルを決定することと
を備える、請求項１３に記載の方法。
【請求項２３】
前記予測ブロックの前記予測サンプルを修正することは、前記予測ブロックの第１の予測サンプルを修正することを備え、前記１つまたは複数の基準サンプルは、１つまたは複数の基準サンプルの第１のセットを備え、前記方法は、
同じ予測ブロックの第２の予測サンプルについて、前記第２の予測サンプルのための１つまたは複数の基準サンプルの第２のセットのうちの少なくとも１つの基準サンプルが参照ラインバッファに記憶されていないと決定することと、
前記第２の予測サンプルにＰＤＰＣを適用しないことまたは参照ラインバッファで利用可能な基準サンプルだけを使用してＰＤＰＣを適用することのうちの１つを行うことと
をさらに備える、請求項１３に記載の方法。
【請求項２４】
前記予測サンプルのｘ座標およびｙ座標に基づいて、複数の重みを決定すること
をさらに備え、
前記予測サンプルを修正することは、前記決定された１つまたは複数の基準サンプルと、前記決定された重みと、前記予測サンプルとに基づいて、前記修正された予測サンプルを生成するために前記予測サンプルを修正することを備える、
請求項１３に記載の方法。
【請求項２５】
ビデオデータを復号するためのデバイスであって、
予測ブロックを記憶するように構成されたメモリと、
固定機能回路またはプログラマブル回路のうちの少なくとも１つを備えるビデオデコーダと
を備え、ここにおいて、前記ビデオデコーダは、
ＤＣイントラ予測モードでも、平面イントラ予測モードでも、水平イントラ予測モードでも、垂直イントラ予測モードでもない角度イントラ予測モードに基づいて、前記メモリに記憶するための、現在ブロックについての、複数の予測サンプルを含む前記予測ブロックを決定することと、
位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用して、修正された予測サンプルを生成するために前記予測ブロックの前記複数の予測サンプルのうちの１つの予測サンプルを修正すること、ここにおいて、前記予測サンプルを修正するために、前記ビデオデコーダは、
前記角度イントラ予測モードに基づいて、前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定することと、
前記決定された１つまたは複数の基準サンプルに基づいて、前記修正された予測サンプルを生成するために前記予測サンプルを修正することと
を行うように構成される、と、
前記修正された予測サンプルおよび残差値に基づいて、前記現在ブロックのサンプルを再構築することと
を行うように構成される、デバイス。
【請求項２６】
前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、前記ビデオデコーダは、前記予測ブロック中の前記予測サンプルのそれぞれのｘ座標およびｙ座標の両方とは異なるｘ座標およびｙ座標の両方を有する前記１つまたは複数の基準サンプルを決定するように構成される、請求項２５に記載のデバイス。
【請求項２７】
前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、前記ビデオデコーダは、
前記現在ブロックの上にある行を決定することと、
前記決定された行におけるｘ座標を決定すること、ここにおいて、前記決定された行における前記ｘ座標は、前記予測サンプルのｘ座標＋前記予測サンプルのｙ座標＋１に等しい、と、
前記決定された行および前記決定されたｘ座標に基づいて、前記１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定することと
を行うように構成される、請求項２５に記載のデバイス。
【請求項２８】
前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、前記ビデオデコーダは、
前記現在ブロックの左にある列を決定することと、
前記決定された列におけるｙ座標を決定すること、ここにおいて、前記決定された列における前記ｙ座標は、前記予測サンプルのｘ座標＋前記予測サンプルのｙ座標＋１に等しい、と、
前記決定された列および前記決定されたｙ座標に基づいて、前記１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定することと
を行うように構成される、請求項２５に記載のデバイス。
【請求項２９】
前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、前記ビデオデコーダは、
前記現在ブロックの上にある行を決定することと、
前記決定された行におけるｘ座標を決定すること、ここにおいて、前記決定された行における前記ｘ座標は、前記角度イントラ予測モードの角度に基づく、と、
前記決定された行および前記決定されたｘ座標に基づいて、前記１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定することと
を行うように構成される、請求項２５に記載のデバイス。
【請求項３０】
前記決定された行における前記ｘ座標を決定するために、前記ビデオデコーダは、
前記角度イントラ予測モードの前記角度の余接または正接のうちの１つを決定することと、
前記角度イントラ予測モードの前記角度の前記余接または正接のうちの１つと、前記予測サンプルのｘ座標と、前記予測サンプルのｙ座標とに基づいて、前記決定された行における前記ｘ座標を決定することと
を行うように構成される、請求項２９に記載のデバイス。
【請求項３１】
前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、前記ビデオデコーダは、
前記現在ブロックの左にある列を決定することと、
前記決定された列におけるｙ座標を決定すること、ここにおいて、前記決定された列における前記ｙ座標は、前記角度イントラ予測モードの角度に基づく、と、
前記決定された列および前記決定されたｙ座標に基づいて、前記１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定することと
を行うように構成される、請求項２５に記載のデバイス。
【請求項３２】
前記決定された列における前記ｙ座標を決定するために、前記ビデオデコーダは、
前記角度イントラ予測モードの前記角度の余接または正接のうちの１つを決定することと、
前記角度イントラ予測モードの前記角度の前記余接または正接のうちの１つと、前記予測サンプルのｘ座標と、前記予測サンプルのｙ座標とに基づいて、前記決定された列における前記ｙ座標を決定することと
を行うように構成される、請求項３１に記載のデバイス。
【請求項３３】
前記角度イントラ予測モードに基づいて、前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、前記ビデオデコーダは、
前記角度イントラ予測モードに基づいて、１つまたは複数のサンプルのセットを決定することと、
前記１つまたは複数の基準サンプルを生成するために、前記１つまたは複数のサンプルのセットを補間すること、オフセットを用いて丸めること、またはオフセットを用いずに丸めることのうちの少なくとも１つを行うことと
を行うように構成される、請求項２５に記載のデバイス。
【請求項３４】
前記角度イントラ予測モードに基づいて、前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、前記ビデオデコーダは、
前記角度イントラ予測モードに基づいて識別された前記現在ブロックの外部にある１つまたは複数のサンプルが参照ラインバッファに記憶されていないと決定することと、
前記参照ラインバッファに記憶されている最後の基準サンプルに基づいて、前記１つまたは複数の基準サンプルを決定することと
を行うように構成される、請求項２５に記載のデバイス。
【請求項３５】
前記予測ブロックの前記予測サンプルを修正するために、前記ビデオデコーダは、前記予測ブロックの第１の予測サンプルを修正するように構成され、前記１つまたは複数の基準サンプルは、１つまたは複数の基準サンプルの第１のセットを備え、前記ビデオデコーダは、
同じ予測ブロックの第２の予測サンプルについて、前記第２の予測サンプルのための１つまたは複数の基準サンプルの第２のセットのうちの少なくとも１つの基準サンプルが参照ラインバッファに記憶されていないと決定することと、
前記第２の予測サンプルにＰＤＰＣを適用しないことまたは参照ラインバッファで利用可能な基準サンプルだけを使用してＰＤＰＣを適用することのうちの１つを行うことと
を行うように構成される、請求項２５に記載のデバイス。
【請求項３６】
前記ビデオデコーダは、
前記予測サンプルのｘ座標およびｙ座標に基づいて、複数の重みを決定する
ように構成され、
前記予測サンプルを修正するために、前記ビデオデコーダは、前記決定された１つまたは複数の基準サンプルと、前記決定された重みと、前記予測サンプルとに基づいて、前記修正された予測サンプルを生成するために前記予測サンプルを修正するように構成される、
請求項２５に記載のデバイス。
【請求項３７】
前記現在ブロックを表示するように構成されたディスプレイをさらに備える、請求項２５に記載のデバイス。
【請求項３８】
前記デバイスは、カメラ、コンピュータ、モバイルデバイス、ブロードキャスト受信機デバイス、またはセットトップボックスのうちの１つまたは複数を備える、請求項２５に記載のデバイス。
【請求項３９】
ビデオデータを符号化するためのデバイスであって、
予測ブロックを記憶するように構成されたメモリと、
固定機能回路またはプログラマブル回路のうちの少なくとも１つを備えるビデオエンコーダと
を備え、ここにおいて、前記ビデオエンコーダは、
ＤＣイントラ予測モードでも、平面イントラ予測モードでも、水平イントラ予測モードでも、垂直イントラ予測モードでもない角度イントラ予測モードに基づいて、前記メモリに記憶するための、現在ブロックについての、複数の予測サンプルを含む前記予測ブロックを決定することと、
位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用して、修正された予測サンプルを生成するために前記予測ブロックの前記複数の予測サンプルのうちの１つの予測サンプルを修正すること、ここにおいて、前記予測サンプルを修正するために、前記ビデオエンコーダは、
前記角度イントラ予測モードに基づいて、前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定することと、
前記決定された１つまたは複数の基準サンプルに基づいて、前記修正された予測サンプルを生成するために前記予測サンプルを修正することと
を行うように構成される、と、
前記修正された予測サンプルおよび前記現在ブロック中のサンプル値に基づいて、残差ブロックの残差値を決定することと、
前記残差値を示す情報をシグナリングすることと
を行うように構成される、デバイス。
【請求項４０】
前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、前記ビデオエンコーダは、前記予測ブロック中の前記予測サンプルのそれぞれのｘ座標およびｙ座標の両方とは異なるｘ座標およびｙ座標の両方を有する前記１つまたは複数の基準サンプルを決定するように構成される、請求項３９に記載のデバイス。
【請求項４１】
前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、前記ビデオエンコーダは、
前記現在ブロックの上にある行を決定することと、
前記決定された行におけるｘ座標を決定すること、ここにおいて、前記決定された行における前記ｘ座標は、前記予測サンプルのｘ座標＋前記予測サンプルのｙ座標＋１に等しい、と、
前記決定された行および前記決定されたｘ座標に基づいて、前記１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定することと
を行うように構成される、請求項３９に記載のデバイス。
【請求項４２】
前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、前記ビデオエンコーダは、
前記現在ブロックの左にある列を決定することと、
前記決定された列におけるｙ座標を決定すること、ここにおいて、前記決定された列における前記ｙ座標は、前記予測サンプルのｘ座標＋前記予測サンプルのｙ座標＋１に等しい、と、
前記決定された列および前記決定されたｙ座標に基づいて、前記１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定することと
を行うように構成される、請求項３９に記載のデバイス。
【請求項４３】
前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、前記ビデオエンコーダは、
前記現在ブロックの上にある行を決定することと、
前記決定された行におけるｘ座標を決定すること、ここにおいて、前記決定された行における前記ｘ座標は、前記角度イントラ予測モードの角度に基づく、と、
前記決定された行および前記決定されたｘ座標に基づいて、前記１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定することと
を行うように構成される、請求項３９に記載のデバイス。
【請求項４４】
前記決定された行における前記ｘ座標を決定するために、前記ビデオエンコーダは、
前記角度イントラ予測モードの前記角度の余接または正接のうちの１つを決定することと、
前記角度イントラ予測モードの前記角度の前記余接または正接のうちの１つと、前記予測サンプルのｘ座標と、前記予測サンプルのｙ座標とに基づいて、前記決定された行における前記ｘ座標を決定することと
を行うように構成される、請求項４３に記載のデバイス。
【請求項４５】
前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、前記ビデオエンコーダは、
前記現在ブロックの左にある列を決定することと、
前記決定された列におけるｙ座標を決定すること、ここにおいて、前記決定された列における前記ｙ座標は、前記角度イントラ予測モードの角度に基づく、と、
前記決定された列および前記決定されたｙ座標に基づいて、前記１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定することと
を行うように構成される、請求項３９に記載のデバイス。
【請求項４６】
前記決定された列における前記ｙ座標を決定するために、前記ビデオエンコーダは、
前記角度イントラ予測モードの前記角度の余接または正接のうちの１つを決定することと、
前記角度イントラ予測モードの前記角度の前記余接または正接のうちの１つと、前記予測サンプルのｘ座標と、前記予測サンプルのｙ座標とに基づいて、前記決定された列における前記ｙ座標を決定することと
を行うように構成される、請求項４５に記載のデバイス。
【請求項４７】
前記角度イントラ予測モードに基づいて、前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、前記ビデオエンコーダは、
前記角度イントラ予測モードに基づいて、１つまたは複数のサンプルのセットを決定することと、
前記１つまたは複数の基準サンプルを生成するために、前記１つまたは複数のサンプルのセットを補間すること、オフセットを用いて丸めること、またはオフセットを用いずに丸めることのうちの少なくとも１つを行うことと
を行うように構成される、請求項３９に記載のデバイス。
【請求項４８】
前記角度イントラ予測モードに基づいて、前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、前記ビデオエンコーダは、
前記角度イントラ予測モードに基づいて識別された前記現在ブロックの外部にある１つまたは複数のサンプルが参照ラインバッファに記憶されていないと決定することと、
前記参照ラインバッファに記憶されている最後の基準サンプルに基づいて、前記１つまたは複数の基準サンプルを決定することと
を行うように構成される、請求項３９に記載のデバイス。
【請求項４９】
前記予測ブロックの前記予測サンプルを修正するために、前記ビデオエンコーダは、前記予測ブロックの第１の予測サンプルを修正するように構成され、前記１つまたは複数の基準サンプルは、１つまたは複数の基準サンプルの第１のセットを備え、前記ビデオエンコーダは、
同じ予測ブロックの第２の予測サンプルについて、前記第２の予測サンプルのための１つまたは複数の基準サンプルの第２のセットのうちの少なくとも１つの基準サンプルが参照ラインバッファに記憶されていないと決定することと、
前記第２の予測サンプルにＰＤＰＣを適用しないことまたは参照ラインバッファで利用可能な基準サンプルだけを使用してＰＤＰＣを適用することのうちの１つを行うことと
を行うように構成される、請求項３９に記載のデバイス。
【請求項５０】
前記ビデオエンコーダは、
前記予測サンプルのｘ座標およびｙ座標に基づいて、複数の重みを決定する
ように構成され、
前記予測サンプルを修正するために、前記ビデオエンコーダは、前記決定された１つまたは複数の基準サンプルと、前記決定された重みと、前記予測サンプルとに基づいて、前記修正された予測サンプルを生成するために前記予測サンプルを修正するように構成される、
請求項３９に記載のデバイス。
【請求項５１】
前記デバイスは、カメラ、コンピュータ、モバイルデバイス、ブロードキャスト受信機デバイス、またはセットトップボックスのうちの１つまたは複数を備える、請求項３９に記載のデバイス。
【請求項５２】
命令を記憶するコンピュータ読取可能な記憶媒体であって、前記命令は、実行されると、ビデオデータを復号するためのデバイスの１つまたは複数のプロセッサに、
ＤＣイントラ予測モードでも、平面イントラ予測モードでも、水平イントラ予測モードでも、垂直イントラ予測モードでもない角度イントラ予測モードに基づいて、現在ブロックについての、複数の予測サンプルを含む予測ブロックを決定することと、
位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用して、修正された予測サンプルを生成するために前記予測ブロックの前記複数の予測サンプルのうちの１つの予測サンプルを修正すること、ここにおいて、前記予測サンプルを修正することを前記１つまたは複数のプロセッサに行わせる前記命令は、
前記角度イントラ予測モードに基づいて、前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定することと、
前記決定された１つまたは複数の基準サンプルに基づいて、前記修正された予測サンプルを生成するために前記予測サンプルを修正することと
を前記１つまたは複数のプロセッサに行わせる命令を備える、と、
前記修正された予測サンプルおよび残差値に基づいて、前記現在ブロックのサンプルを再構築することと
を行わせる命令を備える、コンピュータ読取可能な記憶媒体。
【請求項５３】
命令を記憶するコンピュータ読取可能な記憶媒体であって、前記命令は、実行されると、ビデオデータを符号化するためのデバイスの１つまたは複数のプロセッサに、
ＤＣイントラ予測モードでも、平面イントラ予測モードでも、水平イントラ予測モードでも、垂直イントラ予測モードでもない角度イントラ予測モードに基づいて、現在ブロックについての、複数の予測サンプルを含む予測ブロックを決定することと、
位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用して、修正された予測サンプルを生成するために前記予測ブロックの前記複数の予測サンプルのうちの１つの予測サンプルを修正すること、ここにおいて、前記予測サンプルを修正することを前記１つまたは複数のプロセッサに行わせる前記命令は、
前記角度イントラ予測モードに基づいて、前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定することと、
前記決定された１つまたは複数の基準サンプルに基づいて、前記修正された予測サンプルを生成するために前記予測サンプルを修正することと
を前記１つまたは複数のプロセッサに行わせる命令を備える、と、
前記修正された予測サンプルおよび前記現在ブロック中のサンプル値に基づいて、残差ブロックの残差値を決定することと、
前記残差値を示す情報をシグナリングすることと
を行わせる命令を備える、コンピュータ読取可能な記憶媒体。
【請求項５４】
ビデオデータを復号するためのデバイスであって、
ＤＣイントラ予測モードでも、平面イントラ予測モードでも、水平イントラ予測モードでも、垂直イントラ予測モードでもない角度イントラ予測モードに基づいて、現在ブロックについての、複数の予測サンプルを含む予測ブロックを決定するための手段と、
位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用して、修正された予測サンプルを生成するために前記予測ブロック中の前記複数の予測サンプルのうちの１つの予測サンプルを修正するための手段、ここにおいて、前記予測サンプルを修正するための前記手段は、
前記角度イントラ予測モードに基づいて、前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定するための手段と、
前記決定された１つまたは複数の基準サンプルに基づいて、前記修正された予測サンプルを生成するために前記予測サンプルを修正するための手段と
を備える、と、
前記修正された予測サンプルおよび残差値に基づいて、前記現在ブロックのサンプルを再構築するための手段と
を備えるデバイス。
【請求項５５】
ビデオデータを符号化するためのデバイスであって、
ＤＣイントラ予測モードでも、平面イントラ予測モードでも、水平イントラ予測モードでも、垂直イントラ予測モードでもない角度イントラ予測モードに基づいて、現在ブロックについての、複数の予測サンプルを含む予測ブロックを決定するための手段と、
位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用して、修正された予測サンプルを生成するために前記予測ブロックの前記複数の予測サンプルのうちの１つの予測サンプルを修正するための手段、ここにおいて、前記予測サンプルを修正するための前記手段は、
前記角度イントラ予測モードに基づいて、前記現在ブロックの外部にある１つまたは複数の基準サンプルを決定するための手段と、
前記決定された１つまたは複数の基準サンプルに基づいて、前記修正された予測サンプルを生成するために前記予測サンプルを修正するための手段と
を備える、と、
前記修正された予測サンプルおよび前記現在ブロック中のサンプル値に基づいて、残差ブロックの残差値を決定するための手段と、
前記残差値を示す情報をシグナリングするための手段と
を備えるデバイス。
【発明の詳細な説明】
【関連出願】
【０００１】
[0001]本出願は、２０１８年４月２日に出願された米国仮出願第６２／６５１，４２４号の利益を主張する、２０１９年４月１日に出願された米国出願第１６／３７１，６３８号に対する優先権を主張し、その両方の内容全体が参照により組み込まれる。
【技術分野】
【０００２】
[0002]本開示は、ビデオ符号化およびビデオ復号に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビ、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲーミングデバイス、ビデオゲーム機、セルラ式電話または衛星ラジオ電話、いわゆる「スマートフォン」、ビデオテレビ会議デバイス、ビデオストリーミングデバイス、および同様のものを含む、広範囲のデバイスに組み込まれることができる。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ Ｈ．２６３、ＩＴＵ−Ｔ Ｈ．２６４／ＭＰＥＧ−４，パート１０，アドバンスドビデオコーディング（ＡＶＣ）によって定義されている規格、高効率ビデオコーディング（ＨＥＶＣ）規格、およびそのような規格の拡張で説明されているもののようなビデオコーディング技法をインプリメントする。ビデオデバイスは、そのようなビデオコーディング技法をインプリメントすることによって、より効率的にデジタルビデオ情報を送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]ビデオコーディング技法は、ビデオシーケンスに内在する冗長性を低減または取り除くために、空間（イントラピクチャ）予測および／または時間（インターピクチャ）予測を含む。ブロックベースのビデオコーディングの場合、ビデオスライス（例えば、ビデオフレームまたはビデオフレームの一部）は、ツリーブロック、ＣＵ、および／またはコーディングノードとも呼ばれ得るビデオブロックに区分化され得る。ピクチャは、フレームと呼ばれ得る。参照ピクチャは、参照フレームと呼ばれ得る。
【０００５】
[0005]空間または時間予測により、コーディングされることとなるブロックについての予測ブロックが得られる。残差データは、コーディングされることとなる元のブロックと予測ブロックとの間の画素差を表す。さらなる圧縮のために、残差データが画素ドメインから変換ドメインに変換され得、これにより、残差変換係数が得られ、これは、次いで、量子化され得る。エントロピーコーディングは、さらなる圧縮を達成するために適用され得る。
【発明の概要】
【０００６】
[0006]本開示は、イントラ予測を使用してビデオデータのブロックをコーディングするための技法を説明する。例えば、本開示の技法は、角度イントラ予測モード（例えば、対角（diagonal）イントラ予測モードまたは対角イントラ予測モードに隣接した角度イントラ予測モード）で使用されるように拡張された位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用してビデオデータのブロックをコーディングすることを含む。イントラ予測において、現在ブロックについての予測ブロックが、現在ブロックの隣接画素に基づいて生成される。ＰＤＰＣにおいて、予測ブロック内の予測サンプルが修正され、修正された予測サンプルは、現在ブロックを符号化または復号するために使用される。符号化の場合、ビデオエンコーダが、修正された予測サンプルを使用して、ビデオデコーダにシグナリングされる残差値を決定し、復号の場合、ビデオデコーダが、修正された予測サンプルを受信された残差値に加算して、現在ブロックを再構築する。
【０００７】
[0007]ＰＤＰＣ技法は、ＤＣイントラ予測モード、平面イントラ予測モード、垂直イントラ予測モード、および水平イントラ予測モードのような特定のイントラ予測モードに限られていた。本開示は、ＰＤＰＣ技法を角度イントラ予測モードに拡張するための例となる方法を説明する。例えば、ＰＤＰＣ技法では、予測サンプルを修正するために、現在ブロックの外部にある基準サンプルが使用される。ＰＤＰＣ技法が角度イントラ予測モードに拡張されるとき、どの基準サンプルを使用すべきか決定することには複雑さがあり得る。本開示は、使用すべき基準サンプルを決定するための例となる方法、および、角度イントラ予測モードについてＰＤＰＣ技法を実行するために基準サンプルおよび予測サンプルが重み付けられる方法、例えば、角度イントラ予測モードに基づいて（例えば、角度イントラ予測モードの角度に基づいて）基準サンプルを決定することを説明する。
【０００８】
[0008]一例では、本開示は、ビデオデータを復号する方法を説明し、この方法は、ＤＣイントラ予測モードでも、平面イントラ予測モードでも、水平イントラ予測モードでも、垂直イントラ予測モードでもない角度イントラ予測モードに基づいて、現在ブロックについての、複数の予測サンプルを含む予測ブロックを決定することと、位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用して、修正された予測サンプルを生成するために予測ブロックの複数の予測サンプルのうちの１つの予測サンプルを修正すること、ここにおいて、予測サンプルを修正することは、角度イントラ予測モードに基づいて、現在ブロックの外部にある１つまたは複数の基準サンプルを決定することと、決定された１つまたは複数の基準サンプルに基づいて、修正された予測サンプルを生成するために予測サンプルを修正することとを備える、と、修正された予測サンプルおよび残差値に基づいて、現在ブロックのサンプルを再構築することとを備える。
【０００９】
[0009]一例では、本開示は、ビデオデータを符号化する方法を説明し、この方法は、ＤＣイントラ予測モードでも、平面イントラ予測モードでも、水平イントラ予測モードでも、垂直イントラ予測モードでもない角度イントラ予測モードに基づいて、現在ブロックについての、複数の予測サンプルを含む予測ブロックを決定することと、位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用して、修正された予測サンプルを生成するために予測ブロックの複数の予測サンプルのうちの１つの予測サンプルを修正すること、ここにおいて、予測サンプルを修正することは、角度イントラ予測モードに基づいて、現在ブロックの外部にある１つまたは複数の基準サンプルを決定することと、決定された１つまたは複数の基準サンプルに基づいて、修正された予測サンプルを生成するために予測サンプルを修正することとを備える、と、修正された予測サンプルおよび現在ブロック中のサンプル値に基づいて、残差ブロックの残差値を決定することと、残差値を示す情報をシグナリングすることとを備える。
【００１０】
[0010]一例では、本開示は、ビデオデータを復号するためのデバイスを説明し、このデバイスは、予測ブロックを記憶するように構成されたメモリと、固定機能回路またはプログラマブル回路のうちの少なくとも１つを備えるビデオデコーダとを備える。ビデオデコーダは、ＤＣイントラ予測モードでも、平面イントラ予測モードでも、水平イントラ予測モードでも、垂直イントラ予測モードでもない角度イントラ予測モードに基づいて、メモリに記憶するための、現在ブロックについての、複数の予測サンプルを含む予測ブロックを決定することと、位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用して、修正された予測サンプルを生成するために予測ブロックの複数の予測サンプルのうちの１つの予測サンプルを修正すること、ここにおいて、予測サンプルを修正するために、ビデオデコーダは、角度イントラ予測モードに基づいて、現在ブロックの外部にある１つまたは複数の基準サンプルを決定することと、決定された１つまたは複数の基準サンプルに基づいて、修正された予測サンプルを生成するために予測サンプルを修正することとを行うように構成される、と、修正された予測サンプルおよび残差値に基づいて、現在ブロックのサンプルを再構築することとを行うように構成される。
【００１１】
[0011]一例では、本開示は、ビデオデータを符号化するためのデバイスを説明し、このデバイスは、予測ブロックを記憶するように構成されたメモリと、固定機能回路またはプログラマブル回路のうちの少なくとも１つを備えるビデオエンコーダとを備える。ビデオエンコーダは、ＤＣイントラ予測モードでも、平面イントラ予測モードでも、水平イントラ予測モードでも、垂直イントラ予測モードでもない角度イントラ予測モードに基づいて、メモリに記憶するための、現在ブロックについての、複数の予測サンプルを含む予測ブロックを決定することと、位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用して、修正された予測サンプルを生成するために予測ブロックの複数の予測サンプルのうちの１つの予測サンプルを修正すること、ここにおいて、予測サンプルを修正するために、ビデオエンコーダは、角度イントラ予測モードに基づいて、現在ブロックの外部にある１つまたは複数の基準サンプルを決定することと、決定された１つまたは複数の基準サンプルに基づいて、修正された予測サンプルを生成するために予測サンプルを修正することとを行うように構成される、と、修正された予測サンプルおよび現在ブロック中のサンプル値に基づいて、残差ブロックの残差値を決定することと、残差値を示す情報をシグナリングすることとを行うように構成される。
【００１２】
[0012]一例では、本開示は、実行されると、ビデオデータを復号するためのデバイスの１つまたは複数のプロセッサに行わせる命令を記憶するコンピュータ読取可能な記憶媒体を説明する。
【００１３】
[0013]一例では、本開示は、命令を記憶するコンピュータ読取可能な記憶媒体を説明し、この命令は、実行されると、ビデオデータを復号するためのデバイスの１つまたは複数のプロセッサに、ＤＣイントラ予測モードでも、平面イントラ予測モードでも、水平イントラ予測モードでも、垂直イントラ予測モードでもない角度イントラ予測モードに基づいて、現在ブロックについての、複数の予測サンプルを含む予測ブロックを決定することと、位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用して、修正された予測サンプルを生成するために予測ブロックの複数の予測サンプルのうちの１つの予測サンプルを修正すること、ここにおいて、予測サンプルを修正することを１つまたは複数のプロセッサに行わせる命令は、角度イントラ予測モードに基づいて、現在ブロックの外部にある１つまたは複数の基準サンプルを決定することと、決定された１つまたは複数の基準サンプルに基づいて、修正された予測サンプルを生成するために予測サンプルを修正することとを１つまたは複数のプロセッサに行わせる命令を備える、と、修正された予測サンプルおよび残差値に基づいて、現在ブロックのサンプルを再構築することとを行わせる。
【００１４】
[0014]一例では、本開示は、命令を記憶するコンピュータ読取可能な記憶媒体を説明し、この命令は、実行されると、ビデオデータを符号化するためのデバイスの１つまたは複数のプロセッサに、ＤＣイントラ予測モードでも、平面イントラ予測モードでも、水平イントラ予測モードでも、垂直イントラ予測モードでもない角度イントラ予測モードに基づいて、現在ブロックについての、複数の予測サンプルを含む予測ブロックを決定することと、位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用して、修正された予測サンプルを生成するために予測ブロックの複数の予測サンプルのうちの１つの予測サンプルを修正すること、ここにおいて、予測サンプルを修正することを１つまたは複数のプロセッサに行わせる命令は、角度イントラ予測モードに基づいて、現在ブロックの外部にある１つまたは複数の基準サンプルを決定することと、決定された１つまたは複数の基準サンプルに基づいて、修正された予測サンプルを生成するために予測サンプルを修正することとを１つまたは複数のプロセッサに行わせる命令を備える、と、修正された予測サンプルおよび現在ブロック中のサンプル値に基づいて、残差ブロックの残差値を決定することと、残差値を示す情報をシグナリングすることとを行わせる。
【００１５】
[0015]一例では、本開示は、ビデオデータを復号するためのデバイスを説明し、このデバイスは、ＤＣイントラ予測モードでも、平面イントラ予測モードでも、水平イントラ予測モードでも、垂直イントラ予測モードでもない角度イントラ予測モードに基づいて、現在ブロックについての、複数の予測サンプルを含む予測ブロックを決定するための手段と、位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用して、修正された予測サンプルを生成するために予測ブロック中の複数の予測サンプルのうちの１つの予測サンプルを修正するための手段、ここにおいて、予測サンプルを修正するための手段は、角度イントラ予測モードに基づいて、現在ブロックの外部にある１つまたは複数の基準サンプルを決定するための手段と、決定された１つまたは複数の基準サンプルに基づいて、修正された予測サンプルを生成するために予測サンプルを修正するための手段とを備える、と、修正された予測サンプルおよび残差値に基づいて、現在ブロックのサンプルを再構築するための手段とを備える。
【００１６】
[0016]一例では、本開示は、ビデオデータを符号化するためのデバイスを説明し、このデバイスは、ＤＣイントラ予測モードでも、平面イントラ予測モードでも、水平イントラ予測モードでも、垂直イントラ予測モードでもない角度イントラ予測モードに基づいて、現在ブロックについての、複数の予測サンプルを含む予測ブロックを決定するための手段と、位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用して、修正された予測サンプルを生成するために予測ブロックの複数の予測サンプルのうちの１つの予測サンプルを修正するための手段、ここにおいて、予測サンプルを修正するための手段は、角度イントラ予測モードに基づいて、現在ブロックの外部にある１つまたは複数の基準サンプルを決定するための手段と、決定された１つまたは複数の基準サンプルに基づいて、修正された予測サンプルを生成するために予測サンプルを修正するための手段とを備える、と、修正された予測サンプルおよび現在ブロック中のサンプル値に基づいて、残差ブロックの残差値を決定するための手段と、残差値を示す情報をシグナリングするための手段とを備える。
【００１７】
[0017]１つまたは複数の例の詳細は、添付の図面および以下の説明で示される。他の特徴、目的、および利点は、本説明、図面、および請求項から明らかになるであろう。
【図面の簡単な説明】
【００１８】
【図１】[0018]図１は、本開示の技法をインプリメントするように構成された例となるビデオ符号化および復号システムを例示するブロック図である。
【図２Ａ】[0019]図２Ａは、４×４ブロック内のサンプル位置に対するＤＣモードＰＤＰＣ重みの例を例示する概念図である。
【図２Ｂ】図２Ｂは、４×４ブロック内のサンプル位置に対するＤＣモードＰＤＰＣ重みの例を例示する概念図である。
【図３】[0020]図３は、イントラ予測角度モードの例を例示する概念図である。
【図４Ａ】[0021]図４Ａは、対角右上モードの例を例示する概念図である。
【図４Ｂ】[0022]図４Ｂは、対角左下モードの例を例示する概念図である。
【図４Ｃ】[0023]図４Ｃは、隣接する対角右上モードの例を例示する概念図である。
【図４Ｄ】[0024]図４Ｄは、隣接する対角左下モードの例を例示する概念図である。
【図５Ａ】[0025]図５Ａは、対角および隣接するモードの境界フィルタリングを除く、ＰＤＰＣ拡張のためのａｌｌ−ｉｎｔｒａテスト条件のＢＤレートを含む表１の例を例示する概念図である。
【図５Ｂ】[0026]図５Ｂは、対角および隣接するモードの境界フィルタリングを含む、ＰＤＰＣ拡張のためのａｌｌ−ｉｎｔｒａテスト条件のＢＤレートを含む表２の例を例示する概念図である。
【図６】[0027]図６は、ビデオエンコーダの例を例示するブロック図である。
【図７】[0028]図７は、ビデオデコーダの例を例示するブロック図である。
【図８】[0029]図８は、ビデオデータを符号化する例となる方法を例示するフローチャートである。
【図９】[0030]図９は、ビデオデータを復号する例となる方法を例示するフローチャートである。
【詳細な説明】
【００１９】
[0031]本開示は、イントラ予測を使用してビデオデータのブロックをコーディングするための技法を説明し、より具体的には、本開示は、位置依存型イントラ予測組合せ（ＰＤＰＣ：position dependent intra prediction combination）アプローチを使用する方法、より詳細には、そのようなＰＤＰＣアプローチを角度イントラ予測モード（例えば、対角イントラモードおよび対角イントラモードに隣接した角度モード）に拡張するＰＤＰＣアプローチを使用する方法でイントラ予測の使用に関する技法を説明する。本明細書で説明される技法は、一般に、ビデオデータのブロックをコーディングすることに圧縮効率を導入し、より具体的には、角度イントラ予測モード（例えば、対角イントラモードおよび対角イントラモードに隣接した角度モード）に対してそのような技法を使ってＰＤＰＣアプローチに圧縮効率を導入し、ここで、圧縮効率は、既存のビデオコーディング技法の状態を前進させ、ビデオコーディングプロセッサおよびビデオコーデックの性能を改善する上で一般に望ましい目標である。
【００２０】
[0032]本開示で使用される場合、ビデオコーディングという用語は、総称的に、ビデオ符号化またはビデオ復号のいずれかを指す。同様に、ビデオコーダという用語は、総称的に、ビデオエンコーダまたはビデオデコーダを指し得る。さらに、ビデオ復号に関して本開示で説明される特定の技法は、ビデオ符号化にも適用され得、逆も同様である。例えば、多くの場合、ビデオエンコーダおよびビデオデコーダは、同じプロセスまたは逆のプロセスを実行するように構成される。また、ビデオエンコーダは典型的に、ビデオデータをどのように符号化するかを決定するプロセスの一部としてビデオ復号を実行する。ゆえに、そうでないと述べられていない限り、ビデオ復号に関して説明される技法がビデオ符号化の一部としても実行されることができないとも、その逆であるとも仮定されるべきではない。
【００２１】
[0033]本開示はまた、現在レイヤ、現在ブロック、現在ピクチャ、現在スライスなどの用語を使用し得る。本開示のコンテキストでは、現在という用語は、例えば、以前にまたはすでにコーディングされたブロック、ピクチャ、およびスライス、またはまだコーディングされていないブロック、ピクチャ、およびスライスとは対照的の、現在コーディングされているブロック、ピクチャ、スライスなどを識別するように意図されている。
【００２２】
[0034]図１は、ＰＤＰＣアプローチを使用して、より詳細には、そのようなＰＤＰＣアプローチを角度イントラ予測モード（例えば、対角イントラモードおよび対角イントラモードに隣接した角度モード）に拡張するＰＤＰＣアプローチを使用して、ビデオデータのブロックをコーディングするための本開示の技法を利用し得る例となるビデオ符号化および復号システム１０を例示するブロック図である。図１に示されるように、システム１０は、宛先デバイス１４によって後の時間に復号されることとなる符号化済みビデオデータを提供するソースデバイス１２を含む。特に、ソースデバイス１２は、コンピュータ読取可能な媒体１６を介して宛先デバイス１４にビデオデータを提供する。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのような電話ハンドセット、タブレットコンピュータ、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーム機、ビデオストリーミングデバイス、または同様のものを含む、広範囲のデバイスのうちの任意のものを備え得る。いくつかのケースでは、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信のために装備され得る。ゆえに、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信デバイスであり得る。ソースデバイス１２は、例となるビデオ符号化デバイス（すなわち、ビデオデータを符号化するためのデバイス）である。宛先デバイス１４は、例となるビデオ復号デバイス（例えば、ビデオデータを復号するためのデバイスまたは装置）である。
【００２３】
[0035]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオデータを記憶するように構成された記憶媒体２０と、ビデオエンコーダ２２と、出力インターフェース２４とを含む。宛先デバイス１４は、入力インターフェース２６と、符号化済みビデオデータを記憶するように構成された記憶媒体２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。他の例では、ソースデバイス１２および宛先デバイス１４は、他の構成要素または配列を含む。例えば、ソースデバイス１２は、外部カメラのような外部ビデオソースからビデオデータを受信し得る。同様に、宛先デバイス１４は、統合ディスプレイデバイスを含むよりむしろ外部ディスプレイデバイスとインターフェース接続し得る。
【００２４】
[0036]図１の例示されるシステム１０は一例に過ぎない。ビデオデータを処理するための技法は、任意のデジタルビデオ符号化および／または復号デバイスまたは装置によって実行され得る。一般に、本開示の技法は、ビデオ符号化デバイスおよびビデオ復号デバイスによって実行されるが、本技法は、典型的に「ＣＯＤＥＣ」と呼ばれる複合ビデオエンコーダ／デコーダによっても実行され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が宛先デバイス１４への送信のために符号化済みビデオデータを生成するそのようなコーディングデバイスの例に過ぎない。いくつかの例では、ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２および宛先デバイス１４の各々がビデオ符号化および復号構成要素を含むような略対称的な方法で動作する。それゆえに、システム１０は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオ電話のために、ソースデバイス１２と宛先デバイス１４との間での一方向または双方向のビデオ送信をサポートし得る。
【００２５】
[0037]ソースデバイス１２のビデオソース１８は、ビデオカメラのようなビデオキャプチャデバイス、前にキャプチャされたビデオを含むビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース１８は、ライブビデオ、アーカイブされたビデオ、およびコンピュータ生成されたビデオの組合せ、またはソースビデオとしてコンピュータグラフィックベースのデータを生成し得る。ソースデバイス１２は、ビデオデータを記憶するように構成された１つまたは複数のデータ記憶媒体（例えば、記憶媒体２０）を備え得る。本開示で説明される技法は一般に、ビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤードアプリケーションに適用され得る。いずれのケースでも、キャプチャされた、前にキャプチャされた、またはコンピュータ生成されたビデオは、ビデオエンコーダ２２によって符号化され得る。出力インターフェース２４は、符号化されたビデオ情報をコンピュータ読取可能な媒体１６に出力し得る。
【００２６】
[0038]宛先デバイス１４は、コンピュータ読取可能な媒体１６を介して、復号されることとなる符号化済みビデオデータを受信し得る。コンピュータ読取可能な媒体１６は、符号化済みビデオデータをソースデバイス１２から宛先デバイス１４に移動させる能力がある任意のタイプの媒体またはデバイスを備え得る。いくつかの例では、コンピュータ読取可能な媒体１６は、ソースデバイス１２が符号化済みビデオデータをリアルタイムに直接宛先デバイス１４に送信することを可能にする通信媒体を備える。符号化済みビデオデータは、ワイヤレス通信プロトコルのような通信規格にしたがって変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つまたは複数の物理伝送線のような任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、広域ネットワーク、またはインターネットのようなグローバルネットワークといった、パケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス１２から宛先デバイス１４への通信を容易にするのに有用であり得る任意の他の機器を含み得る。宛先デバイス１４は、符号化済みビデオデータおよび復号済みビデオデータを記憶するように構成された１つまたは複数のデータ記憶媒体を備え得る。
【００２７】
[0039]いくつかの例では、符号化済みデータ（例えば、符号化済みビデオデータ）は、出力インターフェース２４から記憶デバイスに出力され得る。同様に、符号化済みデータは、入力インターフェース２６によって記憶デバイスからアクセスされ得る。記憶デバイスは、ハードドライブ、ブルーレイディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または非揮発性メモリ、または符号化済みビデオデータを記憶するための任意の他の適切なデジタル記憶媒体のような、様々な分散型のまたは局所的にアクセスされるデータ記憶媒体のうちの任意のものを含み得る。さらなる例では、記憶デバイスは、ファイルサーバ、またはソースデバイス１２によって生成される符号化済みビデオを記憶し得る別の中間記憶デバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介して、記憶デバイスからの記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化済みビデオデータを記憶することおよび符号化済みビデオデータを宛先デバイス１４に送信することを行う能力がある任意のタイプのサーバであり得る。例となるファイルサーバは、（例えば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続記憶（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む、任意の標準データ接続を通して符号化済みビデオデータにアクセスし得る。これは、ファイルサーバに記憶されている符号化済みビデオデータにアクセスするのに適したワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ接続）、ワイヤード接続（例えば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含み得る。記憶デバイスからの符号化済みビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【００２８】
[0040]本開示の技法は、無線テレビ放送、ケーブルテレビ送信、衛星テレビ送信、動的適応型ストリーミングオーバＨＴＴＰ（ＤＡＳＨ）を含む適応型ストリーイング技法のようなインターネットストリーミングビデオ送信、データ記憶媒体上で符号化されるデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他のアプリケーションのような、様々なマルチメディアアプリケーションのうちの任意のものをサポートして、ビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および／またはビデオ電話のようなアプリケーションをサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００２９】
[0041]コンピュータ読取可能な媒体１６は、ワイヤレスブロードキャストまたは有線ネットワーク送信のような一時的な媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または他のコンピュータ読取可能な媒体のような記憶媒体（すなわち、非一時的な記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示せず）は、ソースデバイス１２から符号化済みビデオデータを受信し、例えば、ネットワーク送信を介して、符号化済みビデオデータを宛先デバイス１４に提供し得る。同様に、ディスクスタンピング設備のような媒体製造設備（medium production facility）のコンピューティングデバイスは、ソースデバイス１２から符号化済みビデオデータを受信し、符号化済みビデオデータを含むディスクを作り出し得る。したがって、コンピュータ読取可能な媒体１６は、様々な例において、様々な形式の１つまたは複数のコンピュータ読取可能な媒体を含むと理解され得る。
【００３０】
[0042]宛先デバイス１４の入力インターフェース２６は、コンピュータ読取可能な媒体１６から情報を受信する。コンピュータ読取可能な媒体１６の情報は、ブロックおよび他のコーディングされる単位、例えば、ピクチャグループ（ＧＯＰ）、の処理および／または特性を説明されるシンタックス要素を含む、ソースデバイス１２のビデオエンコーダ２２によって定義されるシンタックス情報を含み得、これは、ビデオデコーダ３０によっても使用される。記憶媒体２８は、入力インターフェース２６によって受信される、符号化済みビデオデータを記憶し得る。ディスプレイデバイス３２は、復号済みビデオデータをユーザに表示する。ディスプレイデバイス３２は、ブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスのような、様々なディスプレイデバイスのうちの任意のものを備え得る。
【００３１】
[0043]ビデオエンコーダ２２およびビデオデコーダ３０は各々、１つまたは複数のマイクロプロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せのような、様々な適切なエンコーダまたはデコーダ回路のうちの任意のものとしてインプリメントされ得る。本技法がソフトウェアで部分的にインプリメントされる場合、デバイスは、このソフトウェアのための命令を、適切で非一時的なコンピュータ読取可能な媒体に記憶し得、本開示の技法を実行するために、１つまたは複数のプロセッサを使用してハードウェアにおいて命令を実行し得る。ビデオエンコーダ２２およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダに含まれ得、それらのどちらかが、それぞれのデバイスにおいて複合エンコーダ／デコーダ（ＣＯＤＥＣ）の一部として統合され得る。
【００３２】
[0044]いくつかの例では、ビデオエンコーダ２２およびビデオデコーダ３０は、ビデオコーディング規格にしたがって動作し得る。例となるビデオコーディング規格には、ＩＴＵ−Ｔ Ｈ．２６１、ＩＳＯ／ＩＥＣ ＭＰＥＧ−１ Ｖｉｓｕａｌ、ＩＴＵ−Ｔ Ｈ．２６２すなわちＩＳＯ／ＩＥＣ ＭＰＥＧ−２ Ｖｉｓｕａｌ、ＩＴＵ−Ｔ Ｈ．２６３、ＩＳＯ／ＩＥＣ ＭＰＥＧ−４ Ｖｉｓｕａｌ、および（ＩＳＯ／ＩＥＣ ＭＰＥＧ−４ ＡＶＣとしても知られている）ＩＴＵ−Ｔ Ｈ．２６４に加え、そのＳＶＣ（Scalable Video Coding）およびＭＶＣ（Multi-View Video）拡張が含まれるがそれらに限定されない。ビデオコーディング規格である高効率ビデオコーディング（ＨＥＶＣ）すなわちＩＴＵ−Ｔ Ｈ．２６５、なお、その範囲およびスクリーンコンテンツコーディング拡張、３Ｄビデオコーディング（３Ｄ−ＨＥＶＣ）およびマルチビュー拡張（ＭＶ−ＨＥＶＣ）およびスケーラブル拡張（ＳＨＶＣ）を含む、は、ＩＴＵ−Ｔ ＶＣＥＧ（Video Coding Experts Group）およびＩＳＯ／ＩＥＣ ＭＰＥＧ（Motion Picture Experts Group）からなるＪＣＴ−ＶＣ（Joint Collaboration Team on Video Coding）によって開発されている。以降ＨＥＶＣ ＷＤと呼ばれるＨＥＶＣドラフト仕様は、http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zipから入手可能である。
【００３３】
[0045]ビデオエンコーダ２２およびビデオデコーダ３０はまた、ＶＶＣ（Versatile Video Coding）とも呼ばれるＪＥＭ（Joint Exploration Test Model）すなわちＩＴＵ−Ｔ Ｈ．２６６のような、他の専有または業界規格にしたがって動作し得る。ＶＶＣ規格の最近のドラフトは、Ｂｒｏｓｓ等による「Versatile Video Coding (4）」、ＩＴＵ−Ｔ ＳＧ １６ ＷＰ ３およびＩＳＯ／ＩＥＣ ＪＴＣ １／ＳＣ ２９／ＷＧ １１からなるＪＶＥＴ（Joint Video Experts Team），第１３回会合，マラケシュ，ＭＡ，２０１９年１月９〜１８日，ＪＶＥＴ−Ｍ１００１−ｖ５（以降「ＶＶＣ４」）に記載されている。しかしながら、本開示の技法は、任意の特定のコーディング規格に限定されない。
【００３４】
[0046]ＨＥＶＣおよびＶＶＣおよび他のビデオコーディング仕様では、ビデオシーケンスは典型的に、一連のピクチャを含む。ピクチャは、「フレーム」とも呼ばれ得る。ピクチャは、ＳＬ、ＳＣｂ、およびＳＣｒと表される３つのサンプルアレイを含み得る。ＳＬは、ルーマサンプルの二次元アレイ（すなわち、ブロック）である。ＳＣｂは、Ｃｂクロミナンスサンプルの二次元アレイである。ＳＣｒは、Ｃｒクロミナンスサンプルの二次元アレイである。クロミナンスサンプルは、本明細書は、「クロマ」サンプルとも呼ばれ得る。他の事例では、ピクチャは、モノクロであり得、ルーマサンプルのアレイだけを含み得る。
【００３５】
[0047]さらに、ＨＥＶＣおよび他のビデオコーディング仕様では、ピクチャの符号化表現を生成するために、ビデオエンコーダ２２は、コーディングツリー単位（ＣＴＵ）のセットを生成し得る。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの２つの対応するコーディングツリーブロックと、これらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロのピクチャまたは３つの別個の色平面を有するピクチャでは、ＣＴＵは、単一のコーディングツリーブロックと、このコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。コーディングツリーブロックは、サンプルのＮｘＮブロックであり得る。ＣＴＵは、「ツリーブロック」または「最大コーディング単位」（ＬＣＵ）とも呼ばれ得る。ＨＥＶＣのＣＴＵは、Ｈ．２６４／ＡＶＣのような他の規格のマクロブロックに大まかに類似し得る。しかしながら、ＣＴＵは、必ずしも特定のサイズに制限されるわけではなく、１つまたは複数のコーディング単位（ＣＵ）を含み得る。スライスは、ラスター走査順に連続して並べられた整数の数のＣＴＵを含み得る。
【００３６】
[0048]ＨＥＶＣにしたがって動作する場合、コーディングされたＣＴＵを生成するために、ビデオエンコーダ２２は、ＣＴＵのコーディングツリーブロックに対して四分木区分化を再帰的に実行して、これらのコーディングツリーブロックをコーディングブロックに分割し得、これが「コーディングツリー単位」と呼ばれる所以である。コーディングブロックは、サンプルのＮｘＮブロックである。ＣＵは、ルーマサンプルアレイ、Ｃｂサンプルアレイ、およびＣｒサンプルアレイを有するピクチャのルーマサンプルのコーディングブロックおよびクロマサンプルの２つの対応するコーディングブロックと、これらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロのピクチャまたは３つの別個の色平面を有するピクチャでは、ＣＵは、単一のコーディングブロックと、このコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
【００３７】
[0049]ビットストリーム内のシンタックスデータは、ＣＴＵについてのサイズも定義し得る。スライスは、コーディング順に連続する複数のＣＴＵを含む。ビデオフレームまたはピクチャは、１つまたは複数のスライスに区分化され得る。上述したように、各ツリーブロックは、四分木にしたがってＣＵに分割され得る。一般に、四分木データ構造は、１つのＣＵにつき１つのノードを含み、ここで、ルートノードは、ツリーブロックに対応する。ＣＵが４つのサブＣＵに分割される場合、ＣＵに対応するノードは、４つのリーフノードを含み、それらの各々がサブＣＵのうちの１つに対応する。
【００３８】
[0050]四分木データ構造の各ノードは、対応するＣＵにシンタックスデータを提供し得る。例えば、四分木におけるノードは、このノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵに関するシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。ＣＵがこれ以上分割されない場合、それはリーフＣＵと呼ばれる。ＣＵのブロックがさらに分割される場合、それは一般に、非リーフＣＵと呼ばれ得る。本開示のいくつかの例では、リーフＣＵの４つのサブＣＵは、元のリーフＣＵの明示的な分割が存在しない場合であっても、リーフＣＵと呼ばれ得る。例えば、１６×１６のサイズのＣＵがこれ以上分割されない場合、この１６×１６のＣＵは一度も分割されていないが、４つの８×８のサブＣＵもリーフＣＵと呼ばれ得る。
【００３９】
[0051]ＣＵは、ＣＵがサイズ区別（size distinction）を有さないことを除いて、Ｈ．２６４規格のマクロブロックと同様の目的を有する。例えば、ツリーブロックは、（サブＣＵとも呼ばれる）４つの子ノードに分割され得、各子ノードが次に親ノードになり、別の４つの子ノードに分割され得る。四分木のリーフノードと呼ばれる、最終の分割されていない子ノードは、リーフＣＵとも呼ばれるコーディングノードを備える。コーディングされたビットストリームに関連するシンタックスデータは、最大ＣＵ深度と呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、コーディングノードの最小サイズも定義し得る。したがって、ビットストリームもまた、最小コーディング単位（ＳＣＵ）を定義し得る。本開示は、ＨＥＶＣのコンテキストにおけるＣＵ、ＰＵ、またはＴＵのうちの任意のもの、または、他の規格のコンテキストにおける同様のデータ構造（例えば、Ｈ．２６４／ＡＶＣにおけるそれのマクロブロックおよびサブブロック）を指すために「ブロック」という用語を使用する。
【００４０】
[0052]ＣＵは、コーディングノードと、このコーディングノードに関連する変換単位（ＴＵ）および予測単位（ＰＵ）とを含む。ＣＵのサイズは、コーディングノードのサイズに対応し、いくつかの例では、形状が正方形であり得る。ＨＥＶＣの例では、ＣＵのサイズは、８×８画素から、最大６４×６４画素またはそれより大きいツリーブロックのサイズまでの範囲であり得る。各ＣＵは、１つまたは複数のＰＵおよび１つまたは複数のＴＵを含み得る。ＣＵに関連するシンタックスデータは、例えば、１つまたは複数のＰＵへのＣＵの区分化を説明し得る。区分化モードは、ＣＵが、スキップまたはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、インター予測モード符号化されるかで異なり得る。ＰＵは、形状が非正方形になるように区分化され得る。ＣＵに関連するシンタックスデータはまた、例えば、四分木にしたがった１つまたは複数のＴＵへのＣＵの区分化を説明し得る。ＴＵは、形状が正方形または非正方形（例えば、長方形）であり得る。
【００４１】
[0053]ＨＥＶＣ規格は、ＴＵにしたがった変換を可能にする。ＴＵは、ＣＵごとに異なり得る。ＴＵは典型的に、区分化されたＬＣＵのために定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、これは、常に当てはまるわけではないであろう。ＴＵは典型的に、ＰＵと同じサイズであるかそれより小さい。いくつかの例では、ＣＵに対応する残差サンプルは、「残差四分木」（ＲＱＴ）と呼ばれることがある四分木構造を使用してより小さい単位へと再分割され得る。ＲＱＴのリーフノードは、ＴＵと呼ばれ得る。ＴＵに関連する画素差分値は、量子化され得る変換係数を作り出すために変換され得る。
【００４２】
[0054]リーフＣＵは、１つまたは複数のＰＵを含み得る。一般に、ＰＵは、対応するＣＵの全体または一部に対応する空間エリアを表し、このＰＵについての基準サンプルを取り出すためのデータを含み得る。さらに、ＰＵは、予測に関連するデータを含む。例えば、ＰＵがイントラモード符号化されるとき、ＰＵのためのデータは、ＲＱＴに含まれ得、これは、このＰＵに対応するＴＵのためのイントラ予測モードを説明するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、このＰＵについての１つまたは複数の動きベクトルを定義するデータを含み得る。ＰＵについての動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルについての解像度（例えば、４分の１画素精度または８分の１画素精度）、動きベクトルが指し示す参照ピクチャ、および／または動きベクトルについての参照ピクチャリスト（例えば、リスト０、リスト１、またはリストＣ）を説明し得る。
【００４３】
[0055]１つまたは複数のＰＵを有するリーフＣＵもまた、１つまたは複数のＴＵを含み得る。ＴＵは、上述したように、ＲＱＴ（ＴＵ四分木構造とも呼ばれ得る）を使用して指定され得る。例えば、分割フラグは、リーフＣＵが４つの変換単位に分割されるかを示し得る。いくつかの例では、各変換単位は、さらなるサブＴＵへとさらに分割され得る。ＴＵがこれ以上分割されないとき、それはリーフＴＵと呼ばれ得る。一般に、イントラコーディングの場合、リーフＣＵに属するすべてのリーフＴＵが、同じイントラ予測モードから作り出された残差データを含む。すなわち、リーフＣＵのすべてのＴＵにおいて変換されることとなる予測値を算出するために、同じイントラ予測モードが一般に適用される。イントラコーディングの場合、ビデオエンコーダ２２は、ＴＵに対応するＣＵの一部分と元のブロックとの間の差分として、イントラ予測モードを使用して各リーフＴＵの残差値を算出し得る。ＴＵは、必ずしもＰＵのサイズに制限されるわけではない。ゆえに、ＴＵは、ＰＵより大きい場合も小さい場合もある。イントラコーディングの場合、ＰＵは、同じＣＵについて対応するリーフＴＵとコロケートされ得る。いくつかの例では、リーフＴＵの最大サイズは、対応するリーフＣＵのサイズに対応し得る。
【００４４】
[0056]さらに、リーフＣＵのＴＵは、それぞれのＲＱＴ構造に関連付けられ得る。すなわち、リーフＣＵは、リーフＣＵがどのようにＴＵに区分化されるかを示す四分木を含み得る。ＴＵ四分木のルートノードは一般に、リーフＣＵに対応し、ＣＵ四分木のルートノードは一般に、ツリーブロック（すなわち、ＬＣＵ）に対応する。
【００４５】
[0057]上述したように、ビデオエンコーダ２２は、ＣＵのコーディングブロックを１つまたは複数の予測ブロックに区分化し得る。予測ブロックは、同じ予測が適用されるサンプルの長方形（すなわち、正方形または非正方形）ブロックであり得る。ＣＵのＰＵは、ルーマサンプルの予測ブロックと、クロマサンプルの２つの対応する予測ブロックと、これらの予測ブロックを予測するために使用されるシンタックス構造とを備え得る。モノクロのピクチャまたは３つの別個の色平面を有するピクチャでは、ＰＵは、単一の予測ブロックと、この予測ブロックを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ２２は、ＣＵの各ＰＵの予測ブロック（例えば、ルーマ、Ｃｂ、およびＣｒ予測ブロック）についての予測ブロック（例えば、ルーマ、Ｃｂ、およびＣｒ予測ブロック）を生成し得る。
【００４６】
[0058]ビデオエンコーダ２２およびビデオデコーダ３０は、ＶＶＣにしたがって動作するように構成され得る。ＶＶＣによれば、（ビデオエンコーダ２２のような）ビデオコーダは、ピクチャを複数のコーディングツリー単位（ＣＴＵ）に区分化する。ビデオエンコーダ２２は、四分木二分木（ＱＴＢＴ）構造またはマルチタイプツリー（ＭＴＴ）構造のようなツリー構造にしたがってＣＴＵを区分化し得る。ＱＴＢＴ構造は、ＨＥＶＣのＣＵ、ＰＵ、およびＴＵの間の分類（separation）といった、複数の区分化タイプの概念を除去する。ＱＴＢＴ構造は、四分木区分化にしたがって区分化される第１のレベルと、二分木区分化にしたがって区分化される第２のレベルという２つのレベルを含む。ＱＴＢＴ構造のルートノードは、ＣＴＵに対応する。二分木のリーフノードは、コーディング単位（ＣＵ）に対応する。
【００４７】
[0059]ＭＴＴ区分化構造では、ブロックは、四分木（ＱＴ）区分化、二分木（ＢＴ）区分化、および１つまたは複数のタイプの三分木（ＴＴ）区分化を使用して区分化され得る。三分木区分化は、ブロックが３つのサブブロックに分割される区分化である。いくつかの例では、三分木区分化は、中心を通って元のブロックを分割することなく、ブロックを３つのサブブロックに分割する。ＭＴＴにおける区分化タイプ（例えば、ＱＴ、ＢＴ、およびＴＴ）は、対称または非対称であり得る。
【００４８】
[0060]いくつかの例では、ビデオエンコーダ２２およびビデオデコーダ３０は、ルミナンス成分およびクロミナンス成分の各々を表すために単一のＱＴＢＴまたはＭＴＴ構造を使用し得るが、他の例では、ビデオエンコーダ２２およびビデオデコーダ３０は、ルミナンス成分に対する１つのＱＴＢＴ／ＭＴＴ構造および両方のクロミナンス成分に対する別のＱＴＢＴ／ＭＴＴ構造（または、それぞれのクロミナンス成分に対する２つのＱＴＢＴ／ＭＴＴ構造）のような、２つ以上のＱＴＢＴまたはＭＴＴ構造を使用し得る。
【００４９】
[0061]ビデオエンコーダ２２およびビデオデコーダ３０は、ＨＥＶＣによる四分木区分化、ＱＴＢＴ区分化、ＭＴＴ区分化、または他の区分化構造を使用するように構成され得る。説明の目的のために、本開示の技法の説明は、ＱＴＢＴ区分化に関して提示される。しかしながら、本開示の技法が、四分木区分化に加え、他のタイプの区分化を使用するように構成されたビデオコーダにも適用され得ることは理解されるべきである。
【００５０】
[0062]ビデオエンコーダ２２は、ＰＵについての予測ブロックを生成するためにイントラ予測またはインター予測を使用し得る。ビデオエンコーダ２２が、ＰＵの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ２２は、ＰＵを含むピクチャの復号サンプルに基づいて、ＰＵの予測ブロックを生成し得る。
【００５１】
[0063]ビデオエンコーダ２２が、ＣＵの１つまたは複数のＰＵについての予測ブロック（例えば、ルーマ、Ｃｂ、およびＣｒ予測ブロック）を生成した後、ビデオエンコーダ２２は、ＣＵについての１つまたは複数の残差ブロックを生成し得る。例えば、ビデオエンコーダ２２は、ＣＵについてのルーマ残差ブロックを生成し得る。ＣＵのルーマ残差ブロック中の各サンプルは、ＣＵの予測ルーマブロックのうちの１つ中のルーマサンプルと、ＣＵの元のルーマコーディングブロック中の対応するサンプルとの間の差分を示す。加えて、ビデオエンコーダ２２は、ＣＵについてのＣｂ残差ブロックを生成し得る。ＣＵのＣｂ残差ブロック中の各サンプルは、ＣＵの予測Ｃｂブロックのうちの１つ中のＣｂサンプルと、ＣＵの元のＣｂコーディングブロック中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ２２はまた、ＣＵについてのＣｒ残差ブロックを生成し得る。ＣＵのＣｒ残差ブロック中の各サンプルは、ＣＵの予測Ｃｒブロックのうちの１つ中のＣｒサンプルと、ＣＵの元のＣｒコーディングブロック中の対応するサンプルとの間の差分を示し得る。
【００５２】
[0064]さらに、上述したように、ビデオエンコーダ２２は、ＣＵの残差ブロック（例えば、ルーマ、Ｃｂ、およびＣｒ残差ブロック）を１つまたは複数の変換ブロック（例えば、ルーマ、Ｃｂ、およびＣｒ変換ブロック）に分解するために四分木区分化を使用し得る。変換ブロックは、同じ変換が適用されるサンプルの長方形（例えば、正方形または非正方形）のブロックである。ＣＵの変換単位（ＴＵ）は、ルーマサンプルの変換ブロックと、クロマサンプルの２つの対応する変換ブロックと、これらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。ゆえに、ＣＵの各ＴＵは、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックを有し得る。ＴＵのルーマ変換ブロックは、ＣＵのルーマ残差ブロックのサブブロックであり得る。Ｃｂ変換ブロックは、ＣＵのＣｂ残差ブロックのサブブロックであり得る。Ｃｒ変換ブロックは、ＣＵのＣｒ残差ブロックのサブブロックであり得る。モノクロのピクチャまたは３つの別個の色平面を有するピクチャでは、ＴＵは、単一の変換ブロックと、この変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備え得る。
【００５３】
[0065]ビデオエンコーダ２２は、ＴＵについての係数ブロックを生成するために、ＴＵの変換ブロックに１つまたは複数の変換を適用し得る。例えば、ビデオエンコーダ２２は、ＴＵについてのルーマ係数ブロックを生成するために、ＴＵのルーマ変換ブロックに１つまたは複数の変換を適用し得る。係数ブロックは、変換係数の二次元アレイであり得る。変換係数は、スカラー量であり得る。ビデオエンコーダ２２は、ＴＵについてのＣｂ係数ブロックを生成するために、ＴＵのＣｂ変換ブロックに１つまたは複数の変換を適用し得る。ビデオエンコーダ２２は、ＴＵについてのＣｒ係数ブロックを生成するために、ＴＵのＣｒ変換ブロックに１つまたは複数の変換を適用し得る。
【００５４】
[0066]いくつかの例では、ビデオエンコーダ２２は、変換ブロックへの変換の適用をスキップする。そのような例では、ビデオエンコーダ２２は、残差サンプル値を変換係数と同じ方法で扱い得る。ゆえに、ビデオエンコーダ２２が変換の適用をスキップする例では、変換係数および係数ブロックについての以下の考察は、残差サンプルの変換ブロックに適用可能であり得る。
【００５５】
[0067]係数ブロック（例えば、ルーマ係数ブロック、Ｃｂ係数ブロック、またはＣｒ係数ブロック）を生成した後、ビデオエンコーダ２２は、係数ブロックを表すために使用されるデータ量をできる限り低減するために係数ブロックを量子化し、これは、場合によってはさらなる圧縮を与え得る。量子化は一般に、ある範囲の値が単一の値に圧縮されるプロセスを指す。例えば、量子化は、値を定数で除算し、次いで最も近い整数に丸めることによって行われ得る。係数ブロックを量子化するために、ビデオエンコーダ２２は、係数ブロックの変換係数を量子化し得る。ビデオエンコーダ２２が係数ブロックを量子化した後、ビデオエンコーダ２２は、量子化された変換係数を示すシンタックス要素をエントロピー符号化し得る。例えば、ビデオエンコーダ２２は、量子化された変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）または他のエントロピーコーディング技法を実行し得る。
【００５６】
[0068]ビデオエンコーダ２２は、コーディングされたピクチャおよび関連データの表現を形成する一連のビットを含むビットストリームを出力し得る。ゆえに、ビットストリームは、ビデオデータの符号化表現を備える。ビットストリームは、一連のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを備え得る。ＮＡＬユニットは、ＮＡＬユニット中のデータのタイプを示すインジケーションと、必要に応じてエミュレーション防止ビットが組み入れられているローバイトシーケンスペイロード（ＲＢＳＰ）の形式でそのデータを含むバイトとを含むシンタックス構造である。ＮＡＬユニットの各々は、ＮＡＬユニットヘッダを含み得、ＲＢＳＰをカプセル化し得る。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを示すシンタックス要素を含み得る。ＮＡＬユニットのＮＡＬユニットヘッダによって指定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化される整数個のバイトを含むシンタックス構造であり得る。いくつかの事例では、ＲＢＳＰは、ゼロビットを含む。
【００５７】
[0069]ビデオデコーダ３０は、ビデオエンコーダ２２によって生成されたビットストリームを受信し得る。ビデオデコーダ３０は、ビデオデータのピクチャを再構築するためにビットストリームを復号し得る。ビットストリームを復号することの一部として、ビデオデコーダ３０は、ビットストリームからシンタックス要素を取得するためにビットストリームをパースし得る。ビデオデコーダ３０は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構築し得る。ビデオデータを再構築するプロセスは、ビデオエンコーダ２２によって実行されるプロセスとは概ね逆であり得る。例えば、ビデオデコーダ３０は、現在ＣＵのＰＵについての予測ブロックを決定するために、ＰＵの動きベクトルを使用し得る。加えて、ビデオデコーダ３０は、現在ＣＵのＴＵの係数ブロックを逆量子化し得る。ビデオデコーダ３０は、現在ＣＵのＴＵの変換ブロックを再構築するために、係数ブロックに対して逆変換を実行し得る。ビデオデコーダ３０は、現在ＣＵのＰＵについての予測ブロックのサンプルを、現在ＣＵのＴＵの変換ブロックの対応するサンプルに加算することによって、現在ＣＵのコーディングブロックを再構築し得る。ピクチャの各ＣＵについてのコーディングブロックを再構築することによって、ビデオデコーダ３０は、ピクチャを再構築し得る。
【００５８】
[0070]本明細書で開示される技法は、ＡＶＣ、ＨＥＶＣ、およびＶＶＣを含むビデオ規格の一部であるブロックベースのイントラ予測に基づいて構築される。ブロックベースのイントラ予測では、典型的に、隣接する再構築されたブロックからの基準サンプルのラインが、現在ブロック内のサンプルを予測するために使用される。サンプルの１つまたは複数のラインが予測に使用され得る。基準サンプルは、ＤＣ、平面、および角度／方向性モードのような典型的なイントラ予測モードによって用いられる。
【００５９】
[0071]イントラ予測は、ブロックの空間的に隣接する再構築された画像サンプルを使用して画像ブロック予測を実行する。イントラ予測を用いて、Ｎ×Ｍ（例えば、４×４）ブロックが、選択された予測方向に沿って、上および左の隣接する再構築されたサンプル（基準サンプル）によって予測される。一例として、ブロックは、選択された予測方向に沿って、上および左の隣接する再構築されたサンプル（すなわち、基準サンプル）によって予測される。基準サンプルは、予測されているブロックの外部にある。基準サンプルを用いて、ビデオエンコーダ２２は、基準サンプルに基づいて、予測サンプルを有する予測ブロックを構築する。
【００６０】
[0072]一般に、イントラ予測技法では、ビデオエンコーダ２２は、予測ブロックと現在ブロックとの間の差分を示す残差ブロック（例えば、予測サンプルと現在ブロックのサンプルとの間の差分を示す残差値）を決定し、残差ブロック中の残差値を示す情報をシグナリングする。ビデオデコーダ３０は、同様に、基準サンプルを決定し、予測ブロックを構築する。ビデオデコーダ３０は、受信された情報に基づいて残差ブロックの残差値を決定し、現在ブロックを再構築するために残差ブロックの残差値を予測ブロックの予測サンプルに加算する。
【００６１】
[0073]より詳細に説明されるように、本開示で説明される例となる技法は、予測ブロックの予測サンプルのうちの１つまたは複数（例えば、すべて）を修正する。ビデオエンコーダ２２は、修正された予測サンプルに基づいて残差値を決定し得る。ビデオデコーダ３０は、現在ブロックを再構築するために、残差値を修正された予測サンプルに加算し得る。また、より詳細に説明されるように、本技法は、角度イントラ予測モードに適用可能であり、予測サンプルが修正される方法は、現在ブロックを符号化または復号するために使用される角度イントラ予測モードに基づき得る。
【００６２】
[0074]複数のイントラ予測モードが存在する。いくつかの例では、ルーマブロックのイントラ予測は、平面モード、ＤＣモード、および３３個の角度モード（例えば、対角イントラ予測モードおよび対角イントラ予測モードに隣接した角度モード）を含む３５個のモードを含む。イントラ予測の３５個のモードは、以下の表に示されるようにインデックス付けされる。他の例では、３３個の角度モードによってまだ表されていない可能性がある予測角度を含む、より多くのイントラモードが定義され得る。他の例では、角度モードに関連する予測角度は、ＨＥＶＣにおいて使用されるものとは異なり得る。
【００６３】
【表１】
2021520117.tif 000003
【００６４】
[0075]Ｎ×Ｎブロックに対して平面予測を実行するために、４つの特定の隣接する再構築されたサンプル、すなわち基準サンプル、にバイリニアフィルタを適用することによって、（ｘ，ｙ）に位置しているサンプルｐｘｙごとに、予測値が算出され得る。４つの基準サンプルは、右上の再構築されたサンプルＴＲと、左下の再構築されたサンプルＢＬと、現在サンプルと同じ列（ｒｘ，−１）および行（ｒ−１，ｙ）に位置している２つの再構築されたサンプルとを含む。平面モードは、次のように公式化されることができる：
ｐｘｙ＝（（Ｎ−ｘ１）・Ｌ＋（Ｎ−ｙ１）・Ｔ＋ｘ１・Ｒ＋ｙ１・Ｂ）／（２＊Ｎ）
ここで、ｘ１＝ｘ＋１、ｙ１＝ｙ＋１、Ｒ＝ＴＲ、およびＢ＝ＢＬである。
【００６５】
[0076]ＤＣモードの場合、予測ブロックは、隣接する再構築されたサンプルの平均値で満たされる。一般に、平面モードおよびＤＣモードの両方が、滑らかに変化するおよび不変の画像領域をモデリングするために適用される。
【００６６】
[0077]３３個の異なる予測方向を含む、ＨＥＶＣにおける角度イントラ予測モードの場合、イントラ予測プロセスは、次のように説明され得る。所与の角度イントラ予測モードごとに、イントラ予測方向が、相応に識別され得、例えば、イントラモード１８は、純粋な水平予測方向に対応し、イントラモード２６は、純粋な垂直予測方向に対応する。
【００６７】
[0078]特定のイントラ予測方向が与えられると、予測ブロックのサンプルごとに、その座標（ｘ，ｙ）が、予測方向に沿って隣接する再構築されたサンプルの行／列に最初に投影される。（ｘ，ｙ）が２つの隣接する再構築されたサンプルＬとＲとの間の分数位置αに投影されると仮定すると、（ｘ，ｙ）の予測値は、次のように定式化される２タップバイリニア補間フィルタを使用して算出され得る：
ｐｘｙ＝（１−ａ）・Ｌ＋ａ・Ｒ
例えば、予測ブロックのサンプルの座標（ｘ，ｙ）は、特定のイントラ予測方向（例えば、角度イントラ予測モードのうちの１つ）に沿って投影される。浮動小数点演算を回避するために、ＨＥＶＣでは、上の算出は、実際には、次のような整数演算を使用して近似値が求められる：
ｐｘｙ＝（（３２−ａ’）・Ｌ＋ａ’・Ｒ＋１６）＞＞５
ここで、ａ’は、３２＊ａに等しい整数である。
【００６８】
[0079]いくつかの例では、イントラ予測の前に、隣接する基準サンプルは、イントラ基準平滑化（intra reference smoothing）またはＭＤＩＳ（mode-dependent intra smoothing）として知られている、２タップバイリニアまたは３タップ（１，２，１）／４フィルタを使用してフィルタリングされる。イントラ予測を行うとき、イントラ予測モードインデックス（ｐｒｅｄＭｏｄｅＩｎｔｒａ）およびブロックサイズ（ｎＴｂＳ）が与えられると、基準平滑化プロセスが実行されるかどうかおよびどの平滑化フィルタが使用されるかが決定される。イントラ予測モードインデックスは、イントラ予測モードを示すインデックスである。
【００６９】
[0080]予測ブロックの予測サンプルは、上の例となる技法を使用して生成される。予測サンプルが生成された後、予測サンプルのうちの１つまたは複数は、位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用して修正され得る。ＰＤＰＣの形式は、ＩＴＵ−Ｔ ＳＧ１６／Ｑ６ Ｄｏｃ． ＣＯＭ１６−Ｃ１０４６「Position Dependent intra Prediction Combination (PDPC)」およびＸ．Ｚｈａｏ、Ｖ．Ｓｅｒｅｇｉｎ、Ａ．Ｓａｉｄ，Ｍ．Ｋａｒｃｚｅｗｉｃｚによる「EE1 related: Simplification and extension of PDPC」、第８回ＪＶＥＴ会合、マカオ、２０１８年１０月、ＪＶＥＴ−Ｈ００５７に記載されている。この文献には、以下に要約されるような、シグナリングなく平面、ＤＣ、水平、および垂直モードに適用されるＰＤＰＣの導入が開示されている。
【００７０】
[0081]（ｘ，ｙ）に位置している予測サンプルｐｒｅｄ（ｘ，ｙ）は、イントラ予測モード（ＤＣ、平面、角度）で予測され、その値は、単一の基準サンプルラインに対するＰＤＰＣ式を使用して修正される：
ｐｒｅｄ（ｘ，ｙ）＝（ｗＬ × Ｒ-1,y ＋ ｗＴ × Ｒx,-1 − ｗＴＬ × Ｒ-1,-1 ＋ （６４−ｗＬ−ｗＴ＋ｗＴＬ） × ｐｒｅｄ’（ｘ，ｙ） ＋ ３２）＞＞６      （式１）
【００７１】
[0082]式１では、ｐｒｅｄ’（ｘ，ｙ）は、予測サンプルを生成するための上の例となる技法を使用して決定された予測サンプルの値であり、ｐｒｅｄ（ｘ，ｙ）は、ｐｒｅｄ’（ｘ，ｙ）の修正された値である。式１では、Ｒx,-1、Ｒ-1,yは、それぞれ、現在サンプル（ｘ，ｙ）の上および左に位置しておりかつ現在ブロックの外部にある基準サンプルを表し、Ｒ-1,-1は、左上のコーナに位置しておりかつ現在ブロックの外部にある基準サンプルを表す。換言すると、Ｒx,-1は、修正される予測サンプルのｘ座標と同じｘ座標をもつ現在ブロックの１行上のサンプルを表し、Ｒ-1,yは、修正される予測サンプルのｙ座標と同じｙ座標をもつ現在ブロックの１列左のサンプルを表す。
【００７２】
[0083]予測サンプルを修正するために使用されているサンプル（例えば、基準サンプル）は、ピクチャ中のサンプル（例えば、ルーマおよびクロマサンプル）であり、（可能であるが）必ずしも他の予測サンプルではない。例えば、イントラ予測されている現在ブロックがＮ×Ｍのサイズであると仮定する。この現在ブロックについて、ビデオエンコーダ２２およびビデオデコーダ３０は、Ｎ×Ｍサイズの予測ブロックを生成し得る。予測サンプルを修正するために使用される基準サンプルは、現在ブロックを含む現在ピクチャの基準サンプル（例えば、ルーマおよび／またはクロマサンプル）であり、現在ブロックの外部にある。
【００７３】
[0084]現在ブロックの外部にあるサンプルを識別するための座標系は、現在ブロックに対して相対的である。例えば、現在ブロックの左上コーナに位置しているサンプルは、（０，０）の座標を有する。ビデオエンコーダ２２は、（例えば、座標（０，０）を有する）予測ブロックの左上コーナに位置している予測サンプルと、座標（０，０）を有する現在ブロック中のサンプルとの間の残差を決定し得る。現在ブロック中の（０，０）に位置しているサンプルを再構築するために、ビデオデコーダ３０は、予測ブロック中の（０，０）に位置している予測サンプルを、（０，０）に位置しているサンプルに対応する残差値に加算し得る。したがって、現在ブロック中のサンプルごとに、（例えば、同じ座標を有する）予測ブロック中の対応するサンプルが存在する。
【００７４】
[0085]したがって、Ｒx,-1は、ｙ座標が−１であることを意味するため、現在ブロックの上にある行中のサンプルを指す。ｘ座標は、修正される予測サンプルのｘ座標と同じであり得る。Ｒ-1,yの場合、ｘ座標は−１であるため、現在ブロックの左にある列を指す。ｙ座標は、修正される予測サンプルのｙ座標と同じであり得る。
【００７５】
[0086]（０，０）座標がピクチャの左上サンプルを指す座標系のような、異なる座標系を使用することも可能であり得る。例となる技法は、（０，０）座標がブロックの左上サンプルを指す座標系に関して説明される。
【００７６】
[0087]ＤＣモードの場合、幅および高さの寸法を有するブロックについて、重みが以下のように算出される：
ｗＴ＝３２＞＞（（ｙ＜＜１）＞＞シフト）、ｗＬ＝３２＞＞（（ｘ＜＜１）＞＞シフト）、ｗＴＬ＝（ｗＬ＞＞４）＋（ｗＴ＞＞４）
【００７７】
[0088]上の式では、シフト＝（ｌｏｇ２（幅）＋ｌｏｇ２（高さ）＋２）＞＞２であるが、平面モードの場合は、ｗＴＬ＝０であり、水平モードの場合は、ｗＴＬ＝ｗＴであり、垂直モードの場合は、ｗＴＬ＝ｗＬである。ＰＤＰＣ重みは、加算およびシフトだけで算出され得る。ｐｒｅｄ（ｘ，ｙ）の値は、式１を使用して単一のステップで計算され得る。
【００７８】
[0089]図２Ａは、１つの４×４ブロック内の（０，０）位置に対するＤＣモードＰＤＰＣ重み（ｗＬ，ｗＴ，ｗＴＬ）を例示する。図２Ｂは、１つの４×４ブロック内の（１，０）位置に対するＤＣモードＰＤＰＣ重み（ｗＬ，ｗＴ，ｗＴＬ）を例示する。ＰＤＰＣがＤＣ、平面、水平、および垂直イントラモードに適用される場合、ＤＣモード境界フィルタまたは水平／垂直モードエッジフィルタのような追加の境界フィルタは適用されない。式１は、（例えば、現在ブロックの１行上または１列左のサンプルに限定されない）追加の基準サンプルラインを含むように一般化され得る。このケースでは、複数の基準サンプルが、Ｒx,-1、Ｒ-1,y、Ｒ-1,-1の近傍において利用可能であり、各々は、例えば、トレーニングによって最適化され得る重みが割り当てられ得る。
【００７９】
[0090]本明細書で開示されるように、ＰＤＰＣは、ここでは、角度モード全般に（例えば、対角イントラモードにおよび対角モードに隣接した角度モードに）拡張され得る。対象の対角イントラモードは、左下および右上の方向に加え、いくつかの隣接する角度モード、例えば、左下対角モードから垂直モードまでのＮ個の隣接するモードおよび右上対角モードから水平モードまでのＮ個またはＭ個の隣接するモード、にしたがって予測するモードである。図３は、本明細書に開示される角度モードの識別を例示する。一般に、隣接するモードは、利用可能な角度モードの選択されたサブセットであり得る。角度モード間の間隔は、例えば、不均一であり得、いくつかの角度モードは、例えば、スキップされ得る。
【００８０】
[0091]本開示で説明される例となる技法では、ビデオエンコーダ２２およびビデオデコーダ３０は、ＤＣ、平面、垂直、または水平モードを除く角度モードで現在ブロックがイントラ予測されるＰＤＰＣを実行するように構成され得る。しかしながら、ＰＤＰＣを角度イントラ予測モードに拡張することには技術的な複雑さがあり得る。例えば、基準サンプルは、現在ブロックの外部に位置しているが、修正される予測サンプルと同じｘおよび／またはｙ座標を有する必要はない。したがって、ビデオコーディング効率が得られるように、どの基準サンプルを、予測サンプルを修正するために使用すべきかが不確実であり得る。
【００８１】
[0092]例えば、残差値をシグナリングするために必要な情報が減らされると、帯域幅効率が上昇する。したがって、予測ブロックを修正するために使用される基準サンプルは修正された予測ブロックから生成された残差値が、他の技法と比較してより少ない量の情報がシグナリングされることを必要とするようなものであるべきである。しかしながら、どの基準サンプルを使用すべきかの決定が過度に集中的である場合、ビデオデコーダ３０が現在ブロックを再構築するのに要する時間にレイテンシが存在し得る。
【００８２】
[0093]本開示は、角度イントラ予測モードで使用されるＰＤＰＣのためのもののような、ビデオコーディング技法への実用的な適用を提供する例となる技法を説明する。例えば、例となる技法は、角度イントラ予測モードでＰＤＰＣを使用するための技術的ソリューションを提供する。ビデオエンコーダ２２およびビデオデコーダ３０が角度イントラ予測モードでＰＤＰＣを実行し得る例となる方法が、以下でより詳細に説明される。
【００８３】
[0094]一例として、ビデオエンコーダ２２は、ＤＣイントラ予測モードでも、平面イントラ予測モードでも、水平イントラ予測モードでも、垂直イントラ予測モードでもない角度イントラ予測モードに基づいて、現在ブロックについての、複数の予測サンプルを含む予測ブロックを決定することと、位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用して、修正された予測サンプルを生成するために予測ブロックの予測サンプルを修正することとを行うように構成され得る。本技法は１つの予測サンプルに関して説明されるが、例となる技法がそのように限定されないことは理解されるべきである。いくつかの例では、ビデオエンコーダ２２は、ＰＤＰＣを使用して予測ブロックの他のすべての予測サンプルを修正し得る。
【００８４】
[0095]予測サンプルを修正するために、ビデオエンコーダ２２は、角度イントラ予測モードに基づいて、現在ブロックの外部にある１つまたは複数の基準サンプルを決定し、決定された１つまたは複数の基準サンプルに基づいて、修正された予測サンプルを生成するために予測サンプルを修正し得る。ビデオエンコーダ２２は、修正された予測サンプルおよび現在ブロック中のサンプル値に基づいて、残差ブロックの残差値を決定し、残差値を示す情報をシグナリングし得る。
【００８５】
[0096]一例として、ビデオデコーダ３０は、ＤＣイントラ予測モードでも、平面イントラ予測モードでも、水平イントラ予測モードでも、垂直イントラ予測モードでもない角度イントラ予測モードに基づいて、現在ブロックについての、複数の予測サンプルを含む予測ブロックを決定することと、位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用して、修正された予測サンプルを生成するために予測ブロックの予測サンプルを修正することとを行うように構成され得る。上と同様に、本技法は１つの予測サンプルに関して説明されるが、例となる技法は、そのように限定されない。いくつかの例では、ビデオデコーダ３０は、ＰＤＰＣを使用して予測ブロックの他のすべての予測サンプルを修正し得る。
【００８６】
[0097]予測サンプルを修正するために、ビデオデコーダ３０は、角度イントラ予測モードに基づいて、現在ブロックの外部にある１つまたは複数の基準サンプルを決定することと、決定された１つまたは複数の基準サンプルに基づいて、修正された予測サンプルを生成するために予測サンプルを修正することとを行うように構成され得る。ビデオデコーダ３０はまた、修正された予測サンプルおよび残差値に基づいて、現在ブロックのサンプルを再構築するように構成され得る。
【００８７】
[0098]図４Ａ〜４Ｄは、対角および隣接する角度イントラモードへのＰＤＰＣ拡張によって使用されるサンプルの定義を例示する。図４Ａは、右上対角モードへのＰＤＰＣの拡張についての基準サンプルＲx,-1、Ｒ-1,y、およびＲ-1,-1の定義を例示する。予測サンプルｐｒｅｄ（ｘ’，ｙ’）は、予測ブロック内の（ｘ’，ｙ’）に位置している。基準サンプルＲx,-1の座標ｘは、ｘ＝ｘ’＋ｙ’＋１によって求められ、基準サンプルＲ-1,yの座標ｙは、同様に、ｙ＝ｘ’＋ｙ’＋１によって求められる。右上対角モードのＰＤＰＣ重みは、例えば、ｗＴ＝１６＞＞（（ｙ’＜＜１）＞＞シフト）、ｗＬ＝１６＞＞（（ｘ’＜＜１）＞＞シフト）、ｗＴＬ＝０である。
【００８８】
[0099]同様に、図４Ｂは、左下対角モードへのＰＤＰＣの拡張についての基準サンプルＲx,-1、Ｒ-1,y、およびＲ-1,-1の定義を例示する。基準サンプルＲx,-1の座標ｘは、ｘ＝ｘ’＋ｙ’＋１によって求められ、基準サンプルＲ-1,yの座標ｙは、ｙ＝ｘ’＋ｙ’＋１である。右上対角モードのＰＤＰＣ重みは、例えば、ｗＴ＝１６＞＞（（ｙ’＜＜１）＞＞シフト）、ｗＬ＝１６＞＞（（ｘ’＜＜１）＞＞シフト）、ｗＴＬ＝０である。
【００８９】
[0100]図４Ａおよび図４Ｂでは、ビデオエンコーダ２２およびビデオデコーダ３０は各々、現在ブロックの上（例えば、真上にあるが、本技法はそれに限定されない）にある行を決定し、決定された行におけるｘ座標を決定し得る。決定された行におけるｘ座標は、予測サンプルのｘ座標＋予測サンプルのｙ座標＋１に等しい。ビデオエンコーダ２２およびビデオデコーダ３０は、決定された行および決定されたｘ座標に基づいて、１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定し得る。
【００９０】
[0101]同様に、図４Ａおよび図４Ｂでは、ビデオエンコーダ２２およびビデオデコーダ３０は、現在ブロックの左にある（例えば、すぐ左にあるが、本技法はそのように限定されない）列を決定し、決定された列におけるｙ座標を決定し得る。決定された列におけるｙ座標は、予測サンプルのｘ座標＋予測サンプルのｙ座標＋１に等しい。ビデオエンコーダ２２およびビデオデコーダ３０は、決定された列および決定されたｙ座標に基づいて、１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定し得る。
【００９１】
[0102]決定されたｘ座標およびｙ座標に基づいて、ビデオエンコーダ２２およびビデオデコーダ３０は、基準サンプル（例えば、決定された行および決定されたｘ座標に基づく第１の基準サンプルと、決定された列および決定されたｙ座標に基づく第２の基準サンプルと）を決定し得る。また、ビデオエンコーダ２２およびビデオデコーダ３０は、対角モード（例えば、２つの例として、右上対角モードおよび左下対角モード）のための上の例となる技法にしたがって重みを決定し得る。次いで、（１つの非限定的な例として）式１に基づいて、ビデオエンコーダ２２およびビデオデコーダ３０は、修正された予測サンプル（例えば、ｐｒｅｄ（ｘ，ｙ））を決定し得る。
【００９２】
[0103]隣接する右上対角モードのケースが図４Ｃに例示される。一般に、図３で定義される角度αについて、基準サンプルＲ-1,yのｙ座標は、ｙ＝ｙ’＋ｔａｎ（α）×（ｘ’＋１）のように決定され、Ｒx,-1のｘ座標は、ｘ＝ｘ’＋ｃｏｔａｎ（α）×（ｙ’＋１）によって求められ、ここで、ｔａｎ（α）およびｃｏｔａｎ（α）は、角度αの正接および余接である。隣接する右上対角モードのＰＤＰＣ重みは、例えば、ｗＴ＝３２＞＞（（ｙ’＜＜１）＞＞シフト）、ｗＬ＝３２＞＞（（ｘ’＜＜１）＞＞シフト）、ｗＴＬ＝０またはｗＴ＝３２＞＞（（ｙ’＜＜１）＞＞シフト）、ｗＬ＝０、ｗＴＬ＝０である。
【００９３】
[0104]同様に、隣接する左下対角モードのケースが図４Ｄに例示される。一般に、図３で定義される角度βについて、基準サンプルＲx,-1のｘ座標は、ｘ＝ｘ’＋ｔａｎ（β）×（ｙ’＋１）のように決定され、Ｒ-1,yのｙ座標は、ｙ＝ｙ’＋ｃｏｔａｎ（β）×（ｘ’＋１）によって求められ、ここで、ｔａｎ（β）およびｃｏｔａｎ（β）は、角度βの正接および余接である。隣接する左下対角モードのＰＤＰＣ重みは、例えば、ｗＬ＝３２＞＞（（ｘ’＜＜１）＞＞シフト）、ｗＴ＝３２＞＞（（ｙ’＜＜１）＞＞シフト）、ｗＴＬ＝０またはｗＬ＝３２＞＞（（ｘ’＜＜１）＞＞シフト）、ｗＴ＝０、ｗＴＬ＝０である。
【００９４】
[0105]図４Ｃおよび図４Ｄでは、ビデオエンコーダ２２およびビデオデコーダ３０は各々、現在ブロックの上（例えば、真上にあるが、本技法はそれに限定されない）にある行を決定し、決定された行におけるｘ座標を決定し得る。決定された行におけるｘ座標は、角度イントラ予測モードの角度に基づく。ビデオエンコーダ２２およびビデオデコーダ３０は、決定された行および決定されたｘ座標に基づいて、１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定し得る。
【００９５】
[0106]決定された行におけるｘ座標を決定するために、ビデオエンコーダ２２およびビデオデコーダ３０は、角度イントラ予測モードの角度の余接（例えば、隣接する右上対角モードの場合）または正接（例えば、隣接する左下対角モードの場合）のうちの１つを決定し得る。ビデオエンコーダ２２およびビデオデコーダ３０は、角度イントラ予測モードの角度の余接または正接のうちの１つと、予測サンプルのｘ座標と、予測サンプルのｙ座標とに基づいて、決定された行におけるｘ座標を決定し得る。例えば、隣接する右上対角角度イントラ予測モードの場合、決定された行におけるｘ座標は、ｘ’＋ｃｏｔａｎ（α）×（ｙ’＋１）に等しく、隣接する左下対角モードの場合、決定された行におけるｘ座標は、ｘ’＋ｔａｎ（β）×（ｙ’＋１）に等しく、ここで、ｘ’およびｙ’は、修正される予測サンプルのｘ座標およびｙ座標である。
【００９６】
[0107]同様に、図４Ｃおよび４Ｄでは、ビデオエンコーダ２２およびビデオデコーダ３０は各々、現在ブロックの左にある（例えば、すぐ左にあるが、本技法はそのように限定されない）列を決定し、決定された列におけるｙ座標を決定し得る。決定された列におけるｙ座標は、角度イントラ予測モードの角度に基づく。ビデオエンコーダ２２およびビデオデコーダ３０は、決定された列および決定されたｙ座標に基づいて、１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定し得る。
【００９７】
[0108]決定された列におけるｙ座標を決定するために、ビデオエンコーダ２２およびビデオデコーダ３０は、角度イントラ予測モードの角度の余接（例えば、隣接する左下対角モード対角モードの場合）または正接（例えば、隣接する右上対角モードの場合）のうちの１つを決定し得る。ビデオエンコーダ２２およびビデオデコーダ３０は、角度イントラ予測モードの角度の余接または正接のうちの１つと、予測サンプルのｘ座標と、予測サンプルのｙ座標とに基づいて、決定された列におけるｙ座標を決定し得る。例えば、隣接する右上対角角度イントラ予測モードの場合、決定された列におけるｙ座標は、ｙ’＋ｔａｎ（α）×（ｘ’＋１）に等しく、隣接する左下対角モードの場合、決定された列におけるｙ座標は、ｙ’＋ｃｏｔａｎ（β）×（ｘ’＋１）に等しく、ここで、ｘ’およびｙ’は、修正される予測サンプルのｘ座標およびｙ座標である。
【００９８】
[0109]決定されたｘ座標およびｙ座標に基づいて、ビデオエンコーダ２２およびビデオデコーダ３０は、基準サンプル（例えば、決定された行および決定されたｘ座標に基づく第１の基準サンプルと、決定された列および決定されたｙ座標に基づく第２の基準サンプルと）を決定し得る。また、ビデオエンコーダ２２およびビデオデコーダ３０は、隣接する対角モード（例えば、２つの例として、隣接する右上対角モードおよび隣接する左下対角モード）のための上の例となる技法にしたがって重みを決定し得る。次いで、（１つの非限定的な例として）式１に基づいて、ビデオエンコーダ２２およびビデオデコーダ３０は、修正された予測サンプル（例えば、ｐｒｅｄ（ｘ，ｙ））を決定し得る。
【００９９】
[0110]ＰＤＰＣが適用され得る例となる角度モードとして、右上および左下対角モードならびに隣接する右上および隣接する左下対角モードのための例となる技法を上で説明している。例となる技法は、他の角度モードにも拡張され得る。また、いくつかの例では、１つまたは複数の基準サンプルは、予測ブロック中の予測サンプルのｘ座標およびｙ座標の両方とは異なるｘ座標およびｙ座標の両方を有する。例えば、基準サンプルを決定するためにそれぞれの行および列におけるｘ座標およびｙ座標を決定するための上の例となる式では、ｘ座標は、修正される予測サンプルのｘ座標とは異なり、ｙ座標は、修正される予測サンプルのｙ座標とは異なる。すなわち、基準サンプルは、修正される予測サンプルと同じ行にも、同じ列にもいないであろう。
【０１００】
[0111]ＤＣ、平面、水平、および垂直モードＰＤＰＣの場合のように、ＰＤＰＣが対角および隣接する対角モードに拡張されるときこれらの角度モードについて、例えば、Ｊ．Ｃｈｅｎ，Ｅ．Ａｌｓｈｉｎａ，Ｇ．Ｊ．Ｓｕｌｌｉｖａｎ，Ｊ．−Ｒ．Ｏｈｍ，Ｊ．Ｂｏｙｃｅによる「Algorithm description of Joint Exploration Test Model 7」、第７回ＪＶＥＴ会合、トリノ、イタリア、２０１７年７月、ＪＶＥＴ−Ｇ１００１に規定されているように、追加の境界フィルタリングは存在しない。
【０１０１】
[0112]上で説明したように、本開示で説明される例となる技法は、複雑さへの影響を最小限に抑えながら、ＰＤＰＣが角度イントラ予測モードに適用されることを可能にし得る。実際のインプリメンテーションでは、角度の余接または正接の値は、オンザフライで（例えば、実行時に）計算されないように表に記憶され得る。以下は、合計で１２９個の角度モードについての例となる表である。
【０１０２】
[0113]ＴａｎＡｎｇＴａｂｌｅ［３３］＝｛０，１，２，３，４，５，６，８，１０，１２，１４，１６，１８，２０，２２，２４，２６，２８，３０，３２，３４，３６，３８，４０，４２，４４，４６，４９，５２，５５，５８，６１，６４｝。
【０１０３】
[0114]ＣｏｔａｎＡｎｇＴａｂｌｅ［３３］＝｛０，６５５３６，３２７６８，２１８４５，１６３８４，１３１０７，１０９２３，８１９２，６５５４，５４６１，４６８１，４０９６，３６４１，３２７７，２９７９，２７３１，２５２１，２３４１，２１８５，２０４８，１９２８，１８２０，１７２５，１６３８，１５６０，１４８９，１４２５，１３３７，１２６０，１１９２，１１３０，１０７４，１０２４｝。
【０１０４】
[0115]さらに、これらの表は、すでに、ブロックの角度イントラ予測によって用いられている可能性があり、対角および隣接するモード（例えば、角度イントラ予測モード）へのＰＤＰＣ拡張に再使用され得る。したがって、ＰＤＰＣのインプリメンテーションでは追加の表は必要とされないであろう。いくつかの例では、ＰＤＰＣをさらに最適化するために、カスタムテーブルが、例えばトレーニングによって作り出され得る。
【０１０５】
[0116]いくつかのケースでは、すべての水平角度モードは、右下対角線を中心としてブロックを反転させることによって垂直モードにマッピングされる。垂直モードを中心とした対称性により、それぞれＴａｎＡｎｇＴａｂｌｅおよびＣｏｔａｎＡｎｇＴａｂｌｅ中に正接および余接値が記憶されるため、角度の数を３３にさらに低減することができる。必要とされる整数精度により、両方の表の値は、ＴａｎＡｎｇＴａｂｌｅの場合には係数６４でスケーリングされ、ＣｏｔａｎＡｎｇＴａｂｌｅの場合には係数１０２４でスケーリングされる。座標ｘおよびｙを計算するための上の式における乗算は、予測ブロックをトラバースすると同時に増加するｘ’およびｙ’を有する角度モードに対応するテーブル値を累積することによって回避される。
【０１０６】
[0117]分数値が算出される場合、例えば、最近傍丸め（nearest neighbor rounding）または線形もしくはキュービック補間による基準サンプルの補間が使用され得る。例えば、角度イントラ予測モードに基づいて、現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、ビデオエンコーダ２２およびビデオデコーダ３０は、角度イントラ予測モードに基づいて、１つまたは複数のサンプルのセットを決定することと、１つまたは複数の基準サンプルを生成するために１つまたは複数のサンプルのセットを補間することとを行うように構成され得る。補間は一例である。いくつかの例では、ビデオエンコーダ２２またはビデオデコーダ３０は、補間すること、オフセットを用いて丸めること、またはオフセットを用いずに丸めることのうちの少なくとも１つを実行し得る。ビデオエンコーダ２２またはビデオデコーダ３０は、１つまたは複数の基準サンプルを生成するために、１つまたは複数のサンプルのセット中の隣接するサンプルに基づいて、オフセットを用いてまたは用いずにそのような丸めを実行し得る。
【０１０７】
[0118]クリッピングは、大きい座標値が計算されるケースにおいて、参照ラインバッファ境界の外側の基準サンプルのアクセスを防止するために必要とされ得る。クリッピングが実行される場合、最後の利用可能な基準サンプルが使用され得るか、またはＰＤＰＣが角度イントラ予測だけにフォールバックし得、これは、例えば、式１におけるｗＬ、ｗＴ、ｗＴＬに対してゼロ重みを適用することと同等である。例えば、角度イントラ予測モードに基づいて、現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、ビデオエンコーダ２２およびビデオデコーダ３０は、角度イントラ予測モードに基づいて識別された現在ブロックの外部にある１つまたは複数のサンプルが参照ラインバッファに記憶されていないと決定することと、参照ラインバッファに記憶されている最後の基準サンプルに基づいて、１つまたは複数の基準サンプルを決定することとを行うように構成され得る。
【０１０８】
[0119]いくつかの例では、（例えば、修正された予測サンプルのない）通常のイントラ予測が使用されるように、参照ラインバッファ中の最後のサンプルを使用するよりもむしろ、ＰＤＰＣが現在ブロックに対してディセーブルにされ得るか、またはＰＤＰＣが特定の予測サンプルに対してディセーブルにされ得る。一例として、予測ブロック中の予測サンプルについて、ビデオエンコーダ２２またはビデオデコーダ３０は、第１の基準サンプルは参照バッファ中で利用可能であるが、第２の基準サンプルは参照バッファ中で利用可能でないと決定し得る。この例では、ビデオエンコーダ２２またはビデオデコーダ３０は、ＰＤＰＣが予測サンプルに対してディセーブルにされると決定し得る。しかしながら、いくつかの例では、ビデオエンコーダ２２またはビデオデコーダ３０は、ＰＤＰＣに対して第１の基準サンプルを利用し、（例えば、第２の基準サンプルのための重みをゼロに等しく設定することによって）第２の基準サンプルを利用しないであろう。
【０１０９】
[0120]上で説明したように、いくつかの例では、ビデオエンコーダ２２およびビデオデコーダ３０は、予測ブロック中の複数の予測サンプルに対して例となるＰＤＰＣ技法を実行し得る。しかしながら、ＰＤＰＣ技法が、予測サンプルのうちのいくつかに対しては使用されるが、同じ予測ブロック中の他の予測サンプルには使用されない事例が存在し得る。例えば、予測ブロック中の第１の予測サンプルについて、ビデオエンコーダ２２またはビデオデコーダ３０が、本開示で説明されるＰＤＰＣ技法を実行すると仮定する。しかしながら、同じ予測ブロック中の第２の予測サンプルについて、第２の予測サンプルに対してＰＤＰＣ技法を実行するために必要とされる基準サンプルが参照ラインバッファに記憶されていないと仮定する。この例では、第２の予測サンプルについて、ビデオエンコーダ２２またはビデオデコーダ３０は、ＰＤＰＣ技法を実行せず、通常のイントラ予測技法が利用され得る。いくつかのケースでは、第２の予測サンプルについて、基準サンプルのうちの一方は参照ラインバッファ中で利用可能であるが、他方は利用可能でない可能性があり得る。いくつかの例では、ビデオエンコーダ２２またはビデオデコーダ３０は、第２の予測サンプルに対してＰＤＰＣ技法を実行しないか、または利用可能である基準サンプルだけを利用し、利用可能でない基準サンプルに適用される重みにゼロ重みを割り当て得る。
【０１１０】
[0121]対角および隣接する角度モードに対するＰＤＰＣ拡張の圧縮効率が以下の表に例示される。この例となるテストでは、合計で、右上対角モードに隣接した１６個のモードと、左下対角モードに隣接した１６個のモードとが存在する。例となるテスト条件は、Ａｌｌ−Ｉｎｔｒａであり、利用されるＱＰ値は、｛２２，２７，３２，３７｝である。表１（図５Ａ）は、対角および隣接するモード境界フィルタリングを除く、ＰＤＰＣ拡張（対角および隣接）のためのＡｌｌ−ｉｎｔｒａテスト条件のＢＤレートを表す。図５Ａの表１は、テストが、対角および隣接するモードのための境界フィルタリングがディセーブルにされている状態であるときのＢＤレートを列挙する。さらに、表２（図５Ｂ）は、対角および隣接モード境界フィルタリングを含むＰＤＰＣ拡張（対角および隣接）のためのＡｌｌ−ｉｎｔｒａテスト条件ＢＤレートを表す。さらに、図５Ｂの表２は、テストが、対角および隣接するモードのための境界フィルタリングがイネーブルにされている状態であるときのＢＤレートを列挙する。
【０１１１】
[0122]対角および隣接する角度モードのためのＰＤＰＣ拡張と同様に、ＰＤＰＣは、水平および垂直モードに隣接した角度モードに拡張され得る。このケースでの隣接する角度モードは、水平モードおよび垂直モードの両側の角度モードを指し得る。隣接する水平角度モードのケースでは、Ｒx,-1のｘ座標は、ｐｒｅｄ（ｘ，ｙ）のｘ座標に等しい。例となるＰＤＰＣ重みは、ｗＴ＝１６＞＞（（ｙ＜＜１）＞＞シフト）、ｗＬ＝０、ｗＴＬ＝ｗＴである。隣接する垂直角度モードのケースでは、Ｒ-1,yのｙ座標は、ｐｒｅｄ（ｘ，ｙ）のｙ座標に等しい。例となるＰＤＰＣ重みは、ｗＬ＝１６＞＞（（ｘ＜＜１）＞＞シフト）、ｗＴ＝０、ｗＴＬ＝ｗＬである。
【０１１２】
[0123]図６は、本開示の技法をインプリメントし得る例となるビデオエンコーダ２２を例示するブロック図である。図６は、説明の目的のために提供されており、本開示で大まかに例証および説明される技法を限定するものとみなされるべきではない。本開示の技法は、様々なコーディング規格（例えば、ＨＥＶＣまたはＶＶＣ）または方法に適用可能であり得る。
【０１１３】
[0124]図６の様々なユニットは、ビデオエンコーダ２２によって実行される動作の理解を助けるために例示されている。ユニットは、固定機能回路、プログラマブル回路、またはそれらの組合せとしてインプリメントされ得る。固定機能回路は、特定の機能性を提供する回路を指し、実行され得る動作に関して予め設定されている。プログラマブル回路は、様々なタスクを実行するようにプログラム可能な回路を指し、実行され得る動作において柔軟な機能性を提供する。例えば、プログラマブル回路は、ソフトウェアまたはファームウェアの命令によって定義される方法でプログラマブル回路に動作させるソフトウェアまたはファームウェアを実行し得る。固定機能回路は、（例えば、パラメータを受信するためにまたはパラメータを出力するために）ソフトウェア命令を実行し得るが、固定機能回路が実行する動作のタイプは、概して不変である。いくつかの例では、ユニットのうちの１つまたは複数は、別個の回路ブロック（固定機能またはプログラマブル）であり得、いくつかの例では、１つまたは複数のユニットは、集積回路であり得る。
【０１１４】
[0125]図６の例では、ビデオエンコーダ２２は、予測処理ユニット１００と、ビデオデータメモリ１０１と、残差生成ユニット１０２と、変換処理ユニット１０４と、量子化ユニット１０６と、逆量子化ユニット１０８と、逆変換処理ユニット１１０と、再構築ユニット１１２と、フィルタユニット１１４と、復号ピクチャバッファ１１６と、エントロピー符号化ユニット１１８とを含む。予測処理ユニット１００は、インター予測処理ユニット１２０と、イントラ予測処理ユニット１２６とを含む。インター予測処理ユニット１２０は、動き推定ユニットと、動き補償ユニットとを含み得る（図示されない）。
【０１１５】
[0126]ビデオデータメモリ１０１は、ビデオエンコーダ２２の構成要素によって符号化されることとなるビデオデータを記憶するように構成され得る。ビデオデータメモリ１０１に記憶されるビデオデータは、例えば、ビデオソース１８から取得され得る。復号ピクチャバッファ１１６は、例えば、イントラまたはインターコーディングモードで、ビデオエンコーダ２２がビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ１０１および復号ピクチャバッファ１１６は、同期動的ランダムアクセスメモリ（ＳＤＲＡＭ）、磁気抵抗性ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ（登録商標））、または他のタイプのメモリデバイスを含むＤＲＡＭのような、様々なメモリデバイスのうちの任意のものによって形成され得る。ビデオデータメモリ１０１および復号ピクチャバッファ１１６は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ１０１は、ビデオエンコーダ２２の他の構成要素とともにオンチップであり得るか、またはこれらの構成要素に対してオフチップであり得る。ビデオデータメモリ１０１は、図１の記憶媒体２０と同じものであるかまたはその一部であり得る。
【０１１６】
[0127]ビデオエンコーダ２２は、ビデオデータを受信する。ビデオエンコーダ２２は、このビデオデータのピクチャのスライス中の各ＣＴＵを符号化し得る。ＣＴＵの各々は、ピクチャの、等しいサイズのＣＴＢおよび対応するＣＴＢに関連付けられ得る。ＣＴＵを符号化することの一部として、予測処理ユニット１００は、ＣＴＵのＣＴＢを漸進的に小さいブロックに分割するために区分化を実行し得る。より小さいブロックは、ＣＵのコーディングブロックであり得る。例えば、予測処理ユニット１００は、ツリー構造にしたがって、ＣＴＵに関連するＣＴＢを区分化し得る。本開示の１つまたは複数の技法にしたがって、ツリー構造の各深度レベルにあるツリー構造の各それぞれの非リーフノードについて、それぞれの非リーフノードに対して複数の許容分割パターンが存在し、それぞれの非リーフノードに対応するビデオブロックは、複数の許容可能な分割パターンのうちの１つにしたがって、それぞれの非リーフノードの子ノードに対応するビデオブロックに区分化される。一例では、予測処理ユニット１００またはビデオエンコーダ２２の別の処理ユニットは、本明細書で説明される技法の任意の組合せを実行するように構成され得る。
【０１１７】
[0128]ビデオエンコーダ２２は、ＣＴＵのＣＵの符号化表現（すなわち、コーディングされたＣＵ）を生成するために、これらＣＵを符号化し得る。ＣＵを符号化することの一部として、予測処理ユニット１００は、ＣＵの１つまたは複数のＰＵの間でＣＵに関連するコーディングブロックを区分化し得る。本開示の技法にしたがって、ＣＵは、単一のＰＵだけを含み得る。すなわち、本開示のいくつかの例では、ＣＵが別々の予測ブロックに分割されるのではなく、むしろ、予測プロセスが、このＣＵ全体に対して実行される。ゆえに、各ＣＵは、ルーマ予測ブロックおよび対応するクロマ予測ブロックに関連付けられ得る。ビデオエンコーダ２２およびビデオデコーダ３０は、様々なサイズを有するＣＵをサポートし得る。上で示したように、ＣＵのサイズは、ＣＵのルーマコーディングブロックのサイズ、そしてルーマ予測ブロックのサイズを指し得る。上述したように、ビデオエンコーダ２２およびビデオデコーダ３０は、本明細書で説明される例となる区分化技法の任意の組合せによって定義されるＣＵサイズをサポートし得る。
【０１１８】
[0129]インター予測処理ユニット１２０は、ＣＵの各ＰＵに対してインター予測を実行することによって、ＰＵについての予測データを生成し得る。本明細書で説明されるように、本開示のいくつかの例では、ＣＵは、単一のＰＵだけを含み得、すなわち、ＣＵおよびＰＵは同義であり得る。ＰＵについての予測データは、ＰＵの予測ブロックおよびＰＵについての動き情報を含み得る。インター予測処理ユニット１２０は、ＰＵが、Ｉスライス中にあるか、Ｐスライス中にあるか、Ｂスライス中にあるかに依存して、ＰＵまたはＣＵのために異なる動作を実行し得る。Ｉスライスでは、すべてのＰＵがイントラ予測される。それゆえに、ＰＵがＩスライス中にある場合、インター予測処理ユニット１２０は、ＰＵに対してインター予測を実行しない。ゆえに、Ｉモードで符号化されたブロックの場合、予測されたブロックは、同じフレーム内の前に符号化された隣接ブロックから空間予測を使用して形成される。ＰＵがＰスライス中にある場合、インター予測処理ユニット１２０は、ＰＵの予測ブロックを生成するために、単向性インター予測を使用し得る。ＰＵがＢスライス中にある場合、インター予測処理ユニット１２０は、ＰＵの予測ブロックを生成するために、単向性または双方向性インター予測を使用し得る。
【０１１９】
[0130]イントラ予測処理ユニット１２６は、ＰＵに対してイントラ予測を実行することによって、ＰＵについての予測データを生成し得る。ＰＵについての予測データは、ＰＵの予測ブロックおよび様々なシンタックス要素を含み得る。イントラ予測処理ユニット１２６は、Ｉスライス、Ｐスライス、およびＢスライス中のＰＵに対してイントラ予測を実行し得る。
【０１２０】
[0131]ＰＵに対してイントラ予測を実行するために、イントラ予測処理ユニット１２６は、ＰＵについての予測データの複数のセットを生成するために複数のイントラ予測モードを使用し得る。イントラ予測処理ユニット１２６は、ＰＵについての予測ブロックを生成するために、隣接ＰＵのサンプルブロックからサンプルを使用し得る。隣接ＰＵは、ＰＵ、ＣＵ、およびＣＴＵに対して左から右、上から下の符号化順序を前提として、ＰＵの上、右上、左上、または左にあり得る。イントラ予測処理ユニット１２６は、様々な数のイントラ予測モード、例えば、３５個の方向性イントラ予測モードを使用し得る。いくつかの例では、イントラ予測モードの数は、ＰＵに関連する領域のサイズに依存し得る。
【０１２１】
[0132]一例では、イントラ予測処理ユニット１２６は、本開示の技法をインプリメントするように構成され得る。他の例では、他のユニットまたはモジュールは、本開示の技法のうちのすべてまたはいくつかをインプリメントするように構成され得る。
【０１２２】
[0133]予測処理ユニット１００は、ＰＵについてのインター予測処理ユニット１２０によって生成された予測データまたはＰＵについてのイントラ予測処理ユニット１２６によって生成された予測データの中から、ＣＵのＰＵについての予測データを選択し得る。いくつかの例では、予測処理ユニット１００は、予測データのセットのレート／歪みメトリックに基づいて、ＣＵのＰＵについての予測データを選択する。選択された予測データの予測ブロックは、本明細書では、選択された予測ブロックと呼ばれ得る。
【０１２３】
[0134]残差生成ユニット１０２は、ＣＵについてのコーディングブロック（例えば、ルーマ、Ｃｂ、およびＣｒコーディングブロック）と、ＣＵのＰＵについての選択された予測ブロック（例えば、予測ルーマ、Ｃｂ、およびＣｒブロック）とに基づいて、ＣＵについての残差ブロック（例えば、ルーマ、Ｃｂ、およびＣｒ残差ブロック）を生成し得る。例えば、残差生成ユニット１０２は、残差ブロック中の各サンプルが、ＣＵのコーディングブロック中のサンプルと、ＣＵのＰＵの対応する選択された予測ブロック中の対応するサンプルとの間の差分に等しい値を有するように、ＣＵの残差ブロックを生成し得る。
【０１２４】
[0135]変換処理ユニット１０４は、ＣＵに関連する残差ブロックをＣＵのＴＵに関連する変換ブロックに区分化するために四分木区分化または四分木二分木（ＱＴＢＴ）区分化を実行し得る。ゆえに、ＴＵは、１つのルーマ変換ブロックと、２つのクロマ変換ブロックとに関連付けられ得る。ＣＵのＴＵのルーマおよびクロマ変換ブロックのサイズおよび位置は、ＣＵのＰＵの予測ブロックのサイズおよび位置に基づく場合も基づかない場合もある。「残差四分木」（ＲＱＴ）として知られている四分木構造は、領域の各々に関連するノードを含み得る。ＣＵのＴＵは、ＲＱＴのリーフノードに対応し得る。ビデオエンコーダ２２は、ＲＱＴ構造を使用して、ＣＵをＴＵへとこれ以上分割することができない。このように、一例では、ＣＵは、単一のＴＵを含む。
【０１２５】
[0136]変換処理ユニット１０４は、ＴＵの変換ブロックに１つまたは複数の変換を適用することによって、ＣＵのＴＵごとに変換係数ブロックを生成し得る。変換処理ユニット１０４は、ＴＵに関連する変換ブロックに様々な変換を適用し得る。例えば、変換処理ユニット１０４は、変換ブロックに、離散コサイン変換（ＤＣＴ）、方向性変換、または概念的に類似した変換を適用し得る。いくつかの例では、変換処理ユニット１０４は、変換ブロックに変換を適用しない。そのような例では、変換ブロックは、変換係数ブロックとして扱われ得る。
【０１２６】
[0137]量子化ユニット１０６は、係数ブロック中の変換係数を量子化し得る。量子化プロセスは、これら変換係数のうちのいくつかまたはすべてに関連するビット深度を低減し得る。例えば、ｎビット変換係数は、量子化中に、ｍビット変換係数へと端数が切り捨てられ得、ここで、ｎは、ｍより大きい。量子化ユニット１０６は、ＣＵに関連する量子化パラメータ（ＱＰ）値に基づいて、ＣＵのＴＵに関連する係数ブロックを量子化し得る。ビデオエンコーダ２２は、ＣＵに関連するＱＰ値を調整することによって、ＣＵに関連する係数ブロックに適用される量子化の程度を調整し得る。量子化は、情報の消失を引き起こし得る。ゆえに、量子化された変換係数は、元のものより低い精度を有し得る。
【０１２７】
[0138]逆量子化ユニット１０８および逆変換処理ユニット１１０は、係数ブロックから残差ブロックを再構築するために、係数ブロックにそれぞれ逆量子化および逆変換を適用し得る。再構築ユニット１１２は、ＴＵに関連する再構築された変換ブロックを作り出すために、再構築された残差ブロックを、予測処理ユニット１００によって生成された１つまたは複数の予測ブロックからの対応するサンプルに加算し得る。このようにしてＣＵのＴＵごとに変換ブロックを再構築することによって、ビデオエンコーダ２２は、ＣＵのコーディングブロックを再構築し得る。
【０１２８】
[0139]フィルタユニット１１４は、ＣＵに関連するコーディングブロック中のブロッキングアーティファクトを低減するために、１つまたは複数のデブロッキングフィルタリングおよび／または他のフィルタリング動作を実行し得る。復号ピクチャバッファ１１６は、フィルタユニット１１４が再構築されたコーディングブロックに対して１つまたは複数のデブロッキング動作を実行した後に、再構築されたコーディングブロックを記憶し得る。インター予測処理ユニット１２０は、他のピクチャのＰＵに対してインター予測を実行するために、再構築されたコーディングブロックを含む参照ピクチャを使用し得る。加えて、イントラ予測処理ユニット１２６は、ＣＵと同じピクチャ中の他のＰＵに対してイントラ予測を実行するために、復号ピクチャバッファ１１６中の再構築されたコーディングブロックを使用し得る。
【０１２９】
[0140]エントロピー符号化ユニット１１８は、ビデオエンコーダ２２の他の機能構成要素からデータを受信し得る。例えば、エントロピー符号化ユニット１１８は、量子化ユニット１０６から係数ブロックを受信し得、予測処理ユニット１００からシンタックス要素を受信し得る。エントロピー符号化ユニット１１８は、エントロピー符号化済みデータを生成するために、データに対して１つまたは複数のエントロピー符号化動作を実行し得る。例えば、エントロピー符号化ユニット１１８は、データに対して、ＣＡＢＡＣ動作、コンテキスト適応型可変長コード（ＣＡＶＬＣ）動作、Ｖ２Ｖ（variable-to-variable）長コーディング動作、シンタックスベースのコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）動作、確率間隔区分化エントロピー（ＰＩＰＥ）コーディング動作、指数ゴロム符号化動作、または別のタイプのエントロピー符号化動作を実行し得る。ビデオエンコーダ２２は、エントロピー符号化ユニット１１８によって生成されたエントロピー符号化済みデータを含むビットストリームを出力し得る。例えば、ビットストリームは、本開示の技法にしたがってＣＵのための区分化構造を表すデータを含み得る。
【０１３０】
[0141]図７は、本開示の技法をインプリメントするように構成された例となるビデオデコーダ３０を例示するブロック図である。図７は、説明の目的のために提供されており、本開示で大まかに実証および説明される技法を限定するものではない。説明の目的のために、本開示は、ＨＥＶＣまたはＶＶＣコーディングのコンテキストでビデオデコーダ３０を説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
【０１３１】
[0142]図７に示される様々なユニットは、ビデオデコーダ３０によって実行される動作の理解を助けるために例示されている。ユニットは、固定機能回路、プログラマブル回路、またはそれらの組合せとしてインプリメントされ得る。図６と同様に、固定機能回路は、特定の機能性を提供する回路を指し、実行され得る動作に関して予め設定されている。プログラマブル回路は、様々なタスクを実行するようにプログラム可能な回路を指し、実行され得る動作において柔軟な機能性を提供する。例えば、プログラマブル回路は、ソフトウェアまたはファームウェアの命令によって定義される方法でプログラマブル回路に動作させるソフトウェアまたはファームウェアを実行し得る。固定機能回路は、（例えば、パラメータを受信するためにまたはパラメータを出力するために）ソフトウェア命令を実行し得るが、固定機能回路が実行する動作のタイプは、概して不変である。いくつかの例では、ユニットのうちの１つまたは複数は、別個の回路ブロック（固定機能またはプログラマブル）であり得、いくつかの例では、１つまたは複数のユニットは、集積回路であり得る。
【０１３２】
[0143]図７の例では、ビデオデコーダ３０は、エントロピー復号ユニット１５０と、ビデオデータメモリ１５１と、予測処理ユニット１５２と、逆量子化ユニット１５４と、逆変換処理ユニット１５６と、再構築ユニット１５８と、フィルタユニット１６０と、復号ピクチャバッファ１６２とを含む。予測処理ユニット１５２は、動き補償ユニット１６４と、イントラ予測処理ユニット１６６とを含む。他の例では、ビデオデコーダ３０は、より多くの、より少ない、または異なる機能構成要素を含み得る。
【０１３３】
[0144]ビデオデータメモリ１５１は、ビデオデコーダ３０の構成要素によって復号されることとなる符号化済みビデオビットストリームのような符号化済みビデオデータを記憶し得る。ビデオデータメモリ１５１に記憶されるビデオデータは、例えば、ビデオデータのワイヤードまたはワイヤレスネットワーク通信を介してまたは物理データ記憶媒体にアクセスすることによって、コンピュータ読取可能な媒体１６から、例えば、カメラのようなローカルビデオソースから、取得され得る。ビデオデータメモリ１５１は、符号化済みビデオビットストリームからの符号化済みビデオデータを記憶するコーディングピクチャバッファ（ＣＰＢ）を形成し得る。復号ピクチャバッファ１６２は、例えば、イントラまたはインターコーディングモードで、ビデオデコーダ３０がビデオデータを復号する際に使用するためのまたは出力のための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ１５１および復号ピクチャバッファ１６２は、同期動的ランダムアクセスメモリ（ＳＤＲＡＭ）、磁気抵抗性ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ）、または他のタイプのメモリデバイスを含むＤＲＡＭのような、様々なメモリデバイスのうちの任意のものによって形成され得る。ビデオデータメモリ１５１および復号ピクチャバッファ１６２は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ１５１は、ビデオデコーダ３０の他の構成要素とともにオンチップであり得るか、またはこれらの構成要素に対してオフチップであり得る。ビデオデータメモリ１５１は、図１の記憶媒体２８と同じものであるかまたはその一部であり得る。
【０１３４】
[0145]ビデオデータメモリ１５１は、ビットストリームの符号化済みビデオデータ（例えば、ＮＡＬユニット）を受信し、記憶する。エントロピー復号ユニット１５０は、ビデオデータメモリ１５１から符号化済みビデオデータ（例えば、ＮＡＬユニット）を受信し得、シンタックス要素を取得するためにこのＮＡＬユニットをパースし得る。エントロピー復号ユニット１５０は、ＮＡＬユニット中のエントロピー符号化済みシンタックス要素をエントロピー復号し得る。予測処理ユニット１５２、逆量子化ユニット１５４、逆変換処理ユニット１５６、再構築ユニット１５８、およびフィルタユニット１６０は、ビットストリームから抽出されたシンタックス要素に基づいて、復号済みビデオデータを生成し得る。エントロピー復号ユニット１５０は、エントロピー符号化ユニット１１８のプロセスとは概ね逆のプロセスを実行し得る。
【０１３５】
[0146]本開示のいくつかの例にしたがって、エントロピー復号ユニット１５０、またはビデオデコーダ３０の別の処理ユニットは、ビットストリームからシンタックス要素を取得することの一部としてツリー構造を決定し得る。ツリー構造は、ＣＴＢのような初期ビデオブロックがコーディング単位のようなより小さいビデオブロックにどのように区分化されるかを指定し得る。本開示の１つまたは複数の技法にしたがって、ツリー構造の各深度レベルにあるツリー構造の各それぞれの非リーフノードについて、それぞれの非リーフノードに対して複数の許容区分化タイプが存在し、それぞれの非リーフノードに対応するビデオブロックは、複数の許容可能な分割パターンのうちの１つにしたがって、それぞれの非リーフノードの子ノードに対応するビデオブロックに区分化される。
【０１３６】
[0147]ビットストリームからシンタックス要素を取得することに加えて、ビデオデコーダ３０は、区分化されていないＣＵに対して再構築動作を実行し得る。ＣＵに対して再構築動作を実行するために、ビデオデコーダ３０は、ＣＵの各ＴＵに対して再構築動作を実行し得る。ＣＵの各ＴＵに対して再構築動作を実行することによって、ビデオデコーダ３０は、ＣＵの残差ブロックを再構築し得る。上述したように、本開示の一例では、ＣＵは、単一のＴＵを含む。
【０１３７】
[0148]ＣＵのＴＵに対して再構築動作を実行することの一部として、逆量子化ユニット１５４は、ＴＵに関連する係数ブロックを逆量子化（inverse quantize）、すなわち逆量子化（de-quantize）し得る。逆量子化ユニット１５４が係数ブロックを逆量子化した後、逆変換処理ユニット１５６は、ＴＵに関連する残差ブロックを生成するために、１つまたは複数の逆変換をこの係数ブロックに適用し得る。例えば、逆変換処理ユニット１５６は、逆ＤＣＴ、逆整数変換、逆カルーネンレーベ変換（ＫＬＴ）、逆回転変換、逆方向性変換、または別の逆変換を係数ブロックに適用し得る。
【０１３８】
[0149]ＣＵまたはＰＵがイントラ予測を使用して符号化される場合、イントラ予測処理ユニット１６６は、ＰＵの予測ブロックを生成するために、イントラ予測を実行し得る。イントラ予測処理ユニット１６６は、ブロックに空間的に隣接するサンプルに基づいて、ＰＵの予測ブロックを生成するために、イントラ予測モードを使用し得る。イントラ予測処理ユニット１６６は、ビットストリームから取得された１つまたは複数のシンタックス要素に基づいて、ＰＵのためのイントラ予測モードを決定し得る。
【０１３９】
[0150]一例では、イントラ予測処理ユニット１６６は、本開示の技法をインプリメントするように構成され得る。他の例では、他のユニットまたはモジュールは、本開示の技法のうちのすべてまたはいくつかをインプリメントするように構成され得る。
【０１４０】
[0151]ＰＵがインター予測を使用して符号化される場合、エントロピー復号ユニット１５０は、ＰＵについての動き情報を決定し得る。動き補償ユニット１６４は、ＰＵの動き情報に基づいて、１つまたは複数の参照ブロックを決定し得る。動き補償ユニット１６４は、１つまたは複数の参照ブロックに基づいて、ＰＵについての予測ブロック（例えば、予測ルーマ、Ｃｂ、およびＣｒブロック）を生成し得る。上述したように、ＣＵは、単一のＰＵだけを含み得る。すなわち、ＣＵは、複数のＰＵに分割されないであろう。
【０１４１】
[0152]再構築ユニット１５８は、ＣＵについてのコーディングブロック（例えば、ルーマ、Ｃｂ、およびＣｒコーディングブロック）を再構築するために、適用可能な場合、ＣＵのＴＵについての変換ブロック（例えば、ルーマ、Ｃｂ、およびＣｒ変換ブロック）と、ＣＵのＰＵの予測ブロック（例えば、ルーマ、Ｃｂ、およびＣｒブロック）、すなわち、イントラ予測データまたはインター予測データのいずれか、とを使用し得る。例えば、再構築ユニット１５８は、ＣＵのコーディングブロック（例えば、ルーマ、Ｃｂ、およびＣｒコーディングブロック）を再構築するために、変換ブロック（例えば、ルーマ、Ｃｂ、およびＣｒ変換ブロック）のサンプルを予測ブロック（例えば、ルーマ、Ｃｂ、およびＣｒ予測ブロック）の対応するサンプルに加算し得る。
【０１４２】
[0153]フィルタユニット１６０は、ＣＵのコーディングブロックに関連するブロッキングアーティファクトを低減するためにデブロッキング動作を実行し得る。ビデオデコーダ３０は、ＣＵのコーディングブロックを復号ピクチャバッファ１６２に記憶し得る。復号ピクチャバッファ１６２は、後続の動き補償、イントラ予測、および図１のディスプレイデバイス３２のようなディスプレイデバイス上での提示のために、参照ピクチャを提供し得る。例えば、ビデオデコーダ３０は、復号ピクチャバッファ１６２中のブロックに基づいて、他のＣＵのＰＵに対してイントラ予測またはインター予測動作を実行し得る。
【０１４３】
[0154]ビデオデコーダは、現在ブロックの復号バージョンを含む現在ピクチャの復号バージョンを出力する。ビデオデコーダが、表示可能な復号済みビデオを出力するように構成されたビデオデコーダであるとき、ビデオデコーダは、例えば、現在ピクチャの復号バージョンをディスプレイデバイスに出力し得る。復号がビデオ符号化プロセスの復号ループの一部として実行されるとき、ビデオデコーダは、現在ピクチャの復号バージョンを、ビデオデータの別のピクチャを符号化する際に使用するための参照ピクチャとして記憶し得る。
【０１４４】
[0155]図８は、ビデオデータを符号化する例となる方法を例示するフローチャートである。（例えば、イントラ予測処理ユニット１２６を有する）ビデオエンコーダ２２は、ＤＣイントラ予測モードでも、平面イントラ予測モードでも、水平イントラ予測モードでも、垂直イントラ予測モードでもない角度イントラ予測モードに基づいて、現在ブロックについての、複数の予測サンプルを含む予測ブロックを決定する（２００）ように構成され得る。ビデオデータメモリ１０１またはＤＰＢ１６は、予測ブロックを記憶し得る。
【０１４５】
[0156]（例えば、イントラ予測処理ユニット１２６を有する）ビデオエンコーダ２２は、位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用して、修正された予測サンプルを生成するために予測ブロックの予測サンプルを修正する（２０２）ように構成され得る。例えば、予測サンプルを修正するために、ビデオエンコーダ２２は、角度イントラ予測モードに基づいて、現在ブロックの外部にある１つまたは複数の基準サンプルを決定する（２０４）ことと、決定された１つまたは複数の基準サンプルに基づいて、修正された予測サンプルを生成するために予測サンプルを修正する（２０６）こととを行うように構成され得る。一例では、現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、ビデオエンコーダ２２は、予測ブロック中の予測サンプルのｘ座標とｙ座標の両方とは異なるｘ座標とｙ座標の両方を有する１つまたは複数の基準サンプルを決定するように構成され得る。
【０１４６】
[0157]一例として、現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、ビデオエンコーダ２２は、現在ブロックの上にある行を決定することと、決定された行におけるｘ座標を決定することとを行うように構成され得る。決定された行におけるｘ座標は、予測サンプルのｘ座標＋予測サンプルのｙ座標＋１に等しい。ビデオエンコーダ２２は、決定された行および決定されたｘ座標に基づいて、１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定し得る。別の例として、現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、ビデオエンコーダ２２は、現在ブロックの左にある列を決定することと、決定された列におけるｙ座標を決定することとを行うように構成され得る。決定された列におけるｙ座標は、予測サンプルのｘ座標＋予測サンプルのｙ座標＋１に等しい。ビデオエンコーダ２２は、決定された列および決定されたｙ座標に基づいて、１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定するように構成され得る。
【０１４７】
[0158]一例として、現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、ビデオエンコーダ２２は、現在ブロックの上にある行を決定することと、決定された行におけるｘ座標を決定することとを行うように構成され得る。決定された行におけるｘ座標は、角度イントラ予測モードの角度に基づく。ビデオエンコーダ２２は、決定された行および決定されたｘ座標に基づいて、１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定するように構成され得る。決定された行におけるｘ座標を決定するために、ビデオエンコーダ２２は、角度イントラ予測モードの角度の余接または正接のうちの１つを決定することと、角度イントラ予測モードの角度の余接または正接のうちの１つと、予測サンプルのｘ座標と、予測サンプルのｙ座標とに基づいて、決定された行におけるｘ座標を決定することとを行うように構成され得る。
【０１４８】
[0159]別の例として、現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、ビデオエンコーダ２２は、現在ブロックの左にある列を決定することと、決定された列におけるｙ座標を決定することとを行うように構成され得る。決定された列におけるｙ座標は、角度イントラ予測モードの角度に基づく。ビデオエンコーダ２２は、決定された列および決定されたｙ座標に基づいて、１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定するように構成され得る。決定された列におけるｙ座標を決定するために、ビデオエンコーダ２２は、角度イントラ予測モードの角度の余接または正接のうちの１つを決定することと、角度イントラ予測モードの角度の余接または正接のうちの１つと、予測サンプルのｘ座標と、予測サンプルのｙ座標とに基づいて、決定された列におけるｙ座標を決定することとを行うように構成され得る。
【０１４９】
[0160]一例として、角度イントラ予測モードに基づいて、現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、ビデオエンコーダ２２は、角度イントラ予測モードに基づいて、１つまたは複数のサンプルのセットを決定することと、１つまたは複数の基準サンプルを生成するために１つまたは複数のサンプルのセットを補間することとを行うように構成され得る。いくつかの例では、ビデオエンコーダ２２は、１つまたは複数の基準サンプルを生成するために、１つまたは複数のサンプルのセットを補間すること、オフセットを用いて丸めること、またはオフセットを用いずに丸めることのうちの少なくとも１つを行うように構成され得る。
【０１５０】
[0161]一例として、角度イントラ予測モードに基づいて、現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、ビデオエンコーダ２２は、角度イントラ予測モードに基づいて識別された現在ブロックの外部にある１つまたは複数のサンプルが参照ラインバッファに記憶されていないと決定することと、参照ラインバッファに記憶されている最後の基準サンプルに基づいて、１つまたは複数の基準サンプルを決定することとを行うように構成され得る。いくつかの例では、予測ブロックの予測サンプルを修正することは、予測ブロックの第１の予測サンプルを修正することを含み得、１つまたは複数の基準サンプルは、１つまたは複数の基準サンプルの第１のセットであり得る。ビデオエンコーダ２２は、同じ予測ブロックの第２の予測サンプルについて、第２の予測サンプルのための１つまたは複数の基準サンプルの第２のセットのうちの少なくとも１つの基準サンプルが参照ラインバッファに記憶されていないと決定することと、（ａ）第２の予測サンプルにＰＤＰＣを適用しないことまたは（ｂ）（例えば、利用可能でない基準サンプルにゼロ重みを適用することによって）参照ラインバッファで利用可能な基準サンプルだけを使用してＰＤＰＣを適用することのうちの１つを実行することとを行うように構成され得る。
【０１５１】
[0162]１つまたは複数の例にしたがって、ビデオエンコーダ２２は、予測サンプルのｘ座標およびｙ座標に基づいて、複数の重みを決定するように構成され得る。予測サンプルを修正するために、ビデオエンコーダ２２は、決定された１つまたは複数の基準サンプルと、決定された重みと、予測サンプルとに基づいて、修正された予測サンプルを生成するために予測サンプルを修正するように構成され得る。
【０１５２】
[0163]ビデオエンコーダ２２は、修正された予測サンプルおよび現在ブロック中のサンプル値に基づいて、残差ブロックの残差値を決定する（２０８）ように構成され得る。ビデオエンコーダ２２は、残差値を示す情報をシグナリングする（２１０）ように構成され得る。
【０１５３】
[0164]図９は、ビデオデータを復号する例となる方法を例示するフローチャートである。（例えば、イントラ予測処理ユニット１６６を有する）ビデオデコーダ３０は、ＤＣイントラ予測モードでも、平面イントラ予測モードでも、水平イントラ予測モードでも、垂直イントラ予測モードでもない角度イントラ予測モードに基づいて、現在ブロックについての、複数の予測サンプルを含む予測ブロックを決定する（２１２）ように構成され得る。ビデオデータメモリ１５１またはＤＰＢ１６２は、予測ブロックを記憶し得る。
【０１５４】
[0165]（例えば、イントラ予測処理ユニット１６６を有する）ビデオデコーダ３０は、位置依存型イントラ予測組合せ（ＰＤＰＣ）を使用して、修正された予測サンプルを生成するために予測ブロックの予測サンプルを修正する（２１４）ように構成され得る。例えば、予測サンプルを修正するために、ビデオデコーダ３０は、角度イントラ予測モードに基づいて、現在ブロックの外部にある１つまたは複数の基準サンプルを決定する（２１６）ことと、決定された１つまたは複数の基準サンプルに基づいて、修正された予測サンプルを生成するために予測サンプルを修正する（２１８）こととを行うように構成され得る。一例では、現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、ビデオデコーダ３０は、予測ブロック中の予測サンプルのｘ座標とｙ座標の両方とは異なるｘ座標とｙ座標の両方を有する１つまたは複数の基準サンプルを決定するように構成され得る。
【０１５５】
[0166]一例として、現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、ビデオデコーダ３０は、現在ブロックの上にある行を決定することと、決定された行におけるｘ座標を決定することとを行うように構成され得る。決定された行におけるｘ座標は、予測サンプルのｘ座標＋予測サンプルのｙ座標＋１に等しい。ビデオデコーダ３０は、決定された行および決定されたｘ座標に基づいて、１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定し得る。別の例として、現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、ビデオデコーダ３０は、現在ブロックの左にある列を決定することと、決定された列におけるｙ座標を決定することとを行うように構成され得る。決定された列におけるｙ座標は、予測サンプルのｘ座標＋予測サンプルのｙ座標＋１に等しい。ビデオデコーダ３０は、決定された列および決定されたｙ座標に基づいて、１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定するように構成され得る。
【０１５６】
[0167]一例として、現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、ビデオデコーダ３０は、現在ブロックの上にある行を決定することと、決定された行におけるｘ座標を決定することとを行うように構成され得る。決定された行におけるｘ座標は、角度イントラ予測モードの角度に基づく。ビデオデコーダ３０は、決定された行および決定されたｘ座標に基づいて、１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定するように構成され得る。決定された行におけるｘ座標を決定するために、ビデオデコーダ３０は、角度イントラ予測モードの角度の余接または正接のうちの１つを決定することと、角度イントラ予測モードの角度の余接または正接のうちの１つと、予測サンプルのｘ座標と、予測サンプルのｙ座標とに基づいて、決定された行におけるｘ座標を決定することとを行うように構成され得る。
【０１５７】
[0168]別の例として、現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、ビデオデコーダ３０は、現在ブロックの左にある列を決定することと、決定された列におけるｙ座標を決定することとを行うように構成され得る。決定された列におけるｙ座標は、角度イントラ予測モードの角度に基づく。ビデオデコーダ３０は、決定された列および決定されたｙ座標に基づいて、１つまたは複数の基準サンプルのうちの１つの基準サンプルを決定するように構成され得る。決定された列におけるｙ座標を決定するために、ビデオデコーダ３０は、角度イントラ予測モードの角度の余接または正接のうちの１つを決定することと、角度イントラ予測モードの角度の余接または正接のうちの１つと、予測サンプルのｘ座標と、予測サンプルのｙ座標とに基づいて、決定された列におけるｙ座標を決定することとを行うように構成され得る。
【０１５８】
[0169]一例として、角度イントラ予測モードに基づいて、現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、ビデオデコーダ３０は、角度イントラ予測モードに基づいて、１つまたは複数のサンプルのセットを決定することと、１つまたは複数の基準サンプルを生成するために１つまたは複数のサンプルのセットを補間することとを行うように構成され得る。いくつかの例では、ビデオデコーダ３０は、１つまたは複数の基準サンプルを生成するために、１つまたは複数のサンプルのセットを補間すること、オフセットを用いて丸めること、またはオフセットを用いずに丸めることのうちの少なくとも１つを行うように構成され得る。
【０１５９】
[0170]一例として、角度イントラ予測モードに基づいて、現在ブロックの外部にある１つまたは複数の基準サンプルを決定するために、ビデオデコーダ３０は、角度イントラ予測モードに基づいて識別された現在ブロックの外部にある１つまたは複数のサンプルが参照ラインバッファに記憶されていないと決定することと、参照ラインバッファに記憶されている最後の基準サンプルに基づいて、１つまたは複数の基準サンプルを決定することとを行うように構成され得る。いくつかの例では、予測ブロックの予測サンプルを修正することは、予測ブロックの第１の予測サンプルを修正することを含み得、１つまたは複数の基準サンプルは、１つまたは複数の基準サンプルの第１のセットであり得る。ビデオデコーダ３０は、同じ予測ブロックの第２の予測サンプルについて、第２の予測サンプルのための１つまたは複数の基準サンプルの第２のセットのうちの少なくとも１つの基準サンプルが参照ラインバッファに記憶されていないと決定することと、（ａ）第２の予測サンプルにＰＤＰＣを適用しないことまたは（ｂ）（例えば、利用可能でない基準サンプルにゼロ重みを適用することによって）参照ラインバッファで利用可能な基準サンプルだけを使用してＰＤＰＣを適用することのうちの１つを実行することとを行うように構成され得る。
【０１６０】
[0171]１つまたは複数の例にしたがって、ビデオデコーダ３０は、予測サンプルのｘ座標およびｙ座標に基づいて、複数の重みを決定するように構成され得る。予測サンプルを修正するために、ビデオデコーダ３０は、決定された１つまたは複数の基準サンプルと、決定された重みと、予測サンプルとに基づいて、修正された予測サンプルを生成するために予測サンプルを修正するように構成され得る。
【０１６１】
[0172]ビデオデコーダ３０は、修正された予測サンプルおよび残差値に基づいて、現在ブロックのサンプルを再構築する（２２０）ように構成され得る。例えば、ビデオデコーダ３０は、残差値についての情報を受信し得る。ビデオデコーダ３０は、現在ブロック中のサンプルを再構築するために、残差値を修正された予測サンプルに加算し得る。
【０１６２】
[0173]本開示の特定の態様は、例示の目的でＨＥＶＣ規格の拡張に関して説明されている。しかしながら、本開示で説明された技法は、まだ開発されていない他の標準的なまたは専有のビデオコーディングプロセスを含む、他のビデオコーディングプロセスに有用であり得る。
【０１６３】
[0174]本開示で説明されるように、ビデオコーダは、ビデオエンコーダまたはビデオデコーダを指し得る。同様に、ビデオコーディングユニットは、ビデオエンコーダまたはビデオデコーダを指し得る。同様に、ビデオコーディングは、適用可能な場合は、ビデオ符号化またはビデオ復号を指し得る。本開示では、「〜に基づいて（based on）」という表現は、〜だけに基づいて、〜に少なくとも部分的に基づいて、または〜に何らかの方法で基づいて、を示し得る。本開示は、サンプルの１つまたは複数のブロックのサンプルをコーディングするために使用される１つまたは複数のサンプルブロックおよびシンタックス構造を指すために「ビデオ単位」または「ビデオブロック」または「ブロック」という用語を使用し得る。例となるタイプのビデオ単位は、ＣＴＵ、ＣＵ、ＰＵ、変換単位（ＴＵ）、マクロブロック、マクロブロック区分化などを含み得る。いくつかのコンテキストでは、ＰＵについての考察は、マクロブロックまたはマクロブロック区分化についての考察と置き換えられ得る。例となるタイプのビデオブロックは、コーディングツリーブロック、コーディングブロック、およびビデオデータの他のタイプのブロックを含み得る。
【０１６４】
[0175]例によっては、本明細書で説明された技法のうちの任意のものの特定の行為（act）またはイベントが異なる順序で実行可能であり、追加、混合、または完全に省略され得る（例えば、説明されたすべての行為またはイベントが本技法の実施に必要なわけではない）ことは認識されるべきである。さらに、特定の例では、行為またはイベントは、連続してではなく、例えば、マルチスレッド処理、割込み処理、または複数のプロセッサによって同時に実行され得る。
【０１６５】
[0176]１つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組合せでインプリメントされ得る。ソフトウェアでインプリメントされる場合、これらの機能は、１つまたは複数の命令またはコードとして、コンピュータ読取可能な媒体に記憶されるか、またはコンピュータ読取可能な媒体上で送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ読取可能な媒体は、例えば、通信プロトコルにしたがって、ある場所から別の場所へのコンピュータプログラムの移送を容易にする任意の媒体を含む通信媒体またはデータ記憶媒体のような有体の媒体に対応するコンピュータ読取可能な記憶媒体を含み得る。このように、コンピュータ読取可能な媒体は、一般に、（１）非一時的である有形のコンピュータ読取可能な記憶媒体または（２）信号または搬送波のような通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法のインプリメンテーションのための命令、コード、および／またはデータ構造を取り出すために、１つまたは複数のコンピュータまたは１つまたは複数のプロセッサによってアクセスされることができる任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ読取可能な媒体を含み得る。
【０１６６】
[0177]限定ではなく例として、そのようなコンピュータ読取可能な記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光学ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、フラッシュメモリ、または命令またはデータ構造の形式で所望のプログラムコードを記憶するために使用されることができ、かつ、コンピュータによってアクセス可能な任意の他の媒体を備えることができる。また、いずれの接続も、厳密にはコンピュータ読取可能な媒体と称される。例えば、命令が、ウェブサイト、サーバ、または他のリモートソースから、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、電波、およびマイクロ波のようなワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、電波、およびマイクロ波のようなワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ読取可能な記憶媒体およびデータ記憶媒体が、接続、搬送波、信号、または他の一時的な媒体を含むのではなく、代わりに、非一時的な有形の記憶媒体を対象としていることは理解されるべきである。本明細書で使用される場合、ディスク（disk）およびディスク（disc）は、コンパクトディスク（ＣＤ）、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク（ＤＶＤ）、フロッピー（登録商標）ディスク、およびブルーレイディスクを含み、ここで、ディスク（disk）は、通常磁気的にデータを再生し、ディスク（disc）は、レーザーを用いて光学的にデータを再生する。上記の組合せもまた、コンピュータ読取可能な媒体の範囲内に含まれるべきである。
【０１６７】
[0178]これら命令は、１つまたは複数のＤＳＰ、汎用マイクロプロセッサ、ＡＳＩＣ、ＦＰＧＡ、または他の同等の集積回路またはディスクリート論理回路のような１つまたは複数のプロセッサによって実行され得る。したがって、「プロセッサ」という用語は、本明細書で使用される場合、前述の構造または本明細書で説明された技法のインプリメンテーションに適した任意の他の構造のうちの任意のものを指し得る。加えて、いくつかの態様では、本明細書で説明された機能性は、符号化および復号のために構成された専用ハードウェアおよび／またはソフトウェアモジュール内に提供され得るか、複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素で完全にインプリメントされることができる。
【０１６８】
[0179]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（例えば、チップセット）を含む、幅広い種類のデバイスまたは装置でインプリメントされ得る。様々な構成要素、モジュール、またはユニットは、本開示では、開示された技法を実行するように構成されたデバイスの機能的な態様を強調するために説明されているが、必ずしも異なるハードウェアユニットによる実現を必要とするわけではない。むしろ、上で説明されたように、様々なユニットは、コーデックハードウェアユニットに組み合わせられるか、または適切なソフトウェアおよび／またはファームウェアと併せて、上で説明された１つまたは複数のプロセッサを含む、相互動作するハードウェアユニットの集合によって提供され得る。
【０１６９】
[0180]様々な例が説明されている。これらの例および他の例は、以下の特許請求の範囲の範囲内である。
【図１】
2021520117.tif 000004
【図２Ａ】
2021520117.tif 000005
【図２Ｂ】
2021520117.tif 000006
【図３】
2021520117.tif 000007
【図４Ａ】
2021520117.tif 000008
【図４Ｂ】
2021520117.tif 000009
【図４Ｃ】
2021520117.tif 000010
【図４Ｄ】
2021520117.tif 000011
【図５Ａ】
2021520117.tif 000012
【図５Ｂ】
2021520117.tif 000013
【図６】
2021520117.tif 000014
【図７】
2021520117.tif 000015
【図８】
2021520117.tif 000016
【図９】
2021520117.tif 000017
【国際調査報告】
2021520117.tif 000018
2021520117.tif 000019