(57)【特許請求の範囲】
【請求項１】
ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを含むビデオデータを復号する方法であって、
符号化ビデオビットストリームにおいて、２次元ベクトルの水平変位成分および垂直変位成分ならびにビデオデータの現在のブロックに関する残差ブロックを定義する１つまたは複数のシンタックス要素を受信することと、ここで、前記１つまたは複数のシンタックス要素を受信することは、前記符号化ビデオビットストリームにおいて、前記現在のブロックに関する残差２次元ベクトルの残差水平変位成分および残差垂直変位成分を定義する１つまたは複数のシンタックス要素を受信することを備える、
前記１つまたは複数のシンタックス要素を復号することと、
予測水平変位成分および予測垂直変位成分を含む予測２次元ベクトルを決定することと、
前記２次元ベクトルの前記水平変位成分および前記垂直変位成分を定義する前記復号されたシンタックス要素に基づいてビデオデータの前記現在のブロックに関するビデオデータの予測ブロックを決定することと、ここにおいて、ビデオデータの前記予測ブロックがビデオデータの前記現在のブロックと同じピクチャ内のビデオデータの複数の再構成ブロックのうちの１つであり、対象とする領域がビデオデータの前記複数の再構成ブロックの制限されたセットを備え、ビデオデータの前記予測ブロックが前記対象とする領域内にあり、前記対象とする領域がインループフィルタ処理されていない同じピクチャ内のビデオデータの前記複数の再構成ブロックの前記制限されたセットに制限される、
前記残差２次元ベクトルと前記予測２次元ベクトルとに基づいて前記２次元ベクトルの前記水平変位成分および前記垂直変位成分を決定することと、
ビデオデータの前記予測ブロックおよび前記残差ブロックに基づいてビデオデータの前記現在のブロックを再構成することとを備え、
ここで、前記現在のブロックが最大コーディングユニット内の第１のブロックである場合、前記予測２次元ベクトルがゼロまたはデフォルトの予測２次元ベクトルに設定される、
方法。
【請求項２】
ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを含むビデオデータを符号化する方法であって、
ビデオデータの現在のブロックと同じピクチャ内のビデオデータの以前に符号化された複数のブロックからビデオデータの前記現在のブロックに関するビデオデータの予測ブロックを選択することと、
２次元ベクトルを決定することと、ここにおいて、前記２次元ベクトルは、水平変位成分と垂直変位成分とを有し、前記水平変位成分は、ビデオデータの前記予測ブロックとビデオデータの前記現在のブロックとの間の水平変位を表し、前記垂直変位成分は、ビデオデータの前記予測ブロックとビデオデータの前記現在のブロックとの間の垂直変位を表す、
予測水平変位成分および予測垂直変位成分を含む予測２次元ベクトルを決定することと、
前記２次元ベクトルおよび前記予測２次元ベクトルに基づいて残差水平変位成分および残差垂直変位成分を含む残差２次元ベクトルを決定することと、
ビデオデータの前記現在のブロックおよびビデオデータの前記予測ブロックに基づいて残差ブロックを決定することと、
符号化ビデオビットストリームにおいて、前記２次元ベクトルの前記水平変位成分および前記垂直変位成分ならびに前記残差ブロックを定義する１つまたは複数のシンタックス要素を符号化することとを備え、ここで、前記１つまたは複数のシンタックス要素を符号化することは、前記符号化ビデオビットストリームにおいて、前記残差２次元ベクトルの前記残差水平変位成分および前記残差垂直変位成分を定義する１つまたは複数のシンタックス要素を符号化することを備える、
ここにおいて、ビデオデータの前記予測ブロックを選択することが、
ビデオデータの前記以前に符号化された複数のブロックの制限されたセットを備える、対象とする領域を定義することと、ここにおいて、ビデオデータの前記以前に符号化された複数のブロックの前記制限されたセットを備える前記対象とする領域を定義することは、前記対象とする領域を、インループフィルタ処理されていない同じピクチャ内のビデオデータの再構成ブロックに制限することを備える、
前記対象とする領域内からビデオデータの前記予測ブロックを選択することと、を備え、
前記現在のブロックが最大コーディングユニット内の第１のブロックである場合、前記予測２次元ベクトルがゼロまたはデフォルトの予測２次元ベクトルに設定される、
方法。
【請求項３】
対象領域メモリに前記対象とする領域のすべてのサンプルを記憶することをさらに備える、請求項２に記載の方法。
【請求項４】
ビデオデータの前記現在のブロックは、最大コーディングユニット内に位置し、前記対象とする領域を定義することは、前記最大コーディングユニットのサイズに基づいて前記対象とする領域を定義することを備える、請求項２に記載の方法。
【請求項５】
前記最大コーディングユニットの前記サイズに基づいて前記対象とする領域を定義することは、前記最大コーディングユニットの高さに基づいて前記対象とする領域の高さを定めることを備える、請求項４に記載の方法。
【請求項６】
前記対象とする領域を定義することは、整数個のサンプルに基づいて前記対象とする領域の高さまたは幅の少なくとも一方を定めることを備える、請求項２に記載の方法。
【請求項７】
ビデオデータの前記現在のブロックは、現在の最大コーディングユニット内に位置し、前記対象とする領域を定義することは、前記対象とする領域を前記現在の最大コーディングユニットと前記現在の最大コーディングユニットの左に隣接する最大コーディングユニットとのうちの少なくとも一方内に位置するように定義することを備える、請求項２に記載の方法。
【請求項８】
前記シンタックス要素を符号化することは、前記対象とする領域のサイズに基づいて切り捨てられた値を有するシンタックス要素を、切り捨て符号化方式を用いて符号化することを備える、請求項２に記載の方法。
【請求項９】
ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを使用してビデオデータを復号するように構成されたビデオデコーダを備えるデバイスであって、前記ビデオデコーダは、
２次元ベクトルの水平変位成分および垂直変位成分ならびにビデオデータの現在のブロックに関する残差ブロックを定義する１つまたは複数のシンタックス要素を備える符号化ビデオビットストリームを記憶するように構成されたメモリと、ここで、前記１つまたは複数のシンタックス要素は、残差２次元ベクトルの残差水平変位成分および残差垂直変位成分を定義する１つまたは複数のシンタックス要素を備える、
１つまたは複数のプロセッサとを備え、前記１つまたは複数のプロセッサは、
前記１つまたは複数のシンタックス要素を復号することと、
予測水平変位成分および予測垂直変位成分を含む予測２次元ベクトルを決定することと、
前記２次元ベクトルの前記水平変位成分および前記垂直変位成分を定義する前記復号されたシンタックス要素に基づいてビデオデータの前記現在のブロックに関するビデオデータの予測ブロックを決定することと、ここにおいて、ビデオデータの前記予測ブロックがビデオデータの前記現在のブロックと同じピクチャ内のビデオデータの複数の再構成ブロックのうちの１つであり、対象とする領域がビデオデータの前記複数の再構成ブロックの制限されたセットを備え、前記対象とする領域がインループフィルタ処理されていない同じピクチャ内のビデオデータの前記複数の再構成ブロックの前記制限されたセットに制限され、ビデオデータの前記予測ブロックが前記対象とする領域内にある、
前記残差２次元ベクトルと前記予測２次元ベクトルとに基づいて前記２次元ベクトルの前記水平変位成分および前記垂直変位成分を決定することと、
ビデオデータの前記予測ブロックおよび前記残差ブロックに基づいてビデオデータの前記現在のブロックを再構成することと、を行うように構成され、
ここで、前記現在のブロックが最大コーディングユニット内の第１のブロックである場合、前記予測２次元ベクトルがゼロまたはデフォルトの予測２次元ベクトルに設定される、
デバイス。
【請求項１０】
ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを使用してビデオデータを符号化するように構成されたビデオエンコーダを備えるデバイスであって、前記ビデオエンコーダは
符号化ビデオビットストリームを記憶するように構成されたメモリと、
１つまたは複数のプロセッサとを備え、前記１つまたは複数のプロセッサは、
ビデオデータの現在のブロックと同じピクチャ内のビデオデータの以前に符号化された複数のブロックからビデオデータの前記現在のブロックに関するビデオデータの予測ブロックを選択することと、
２次元ベクトルを決定することと、ここにおいて、前記２次元ベクトルは、水平変位成分と垂直変位成分とを有し、前記水平変位成分は、ビデオデータの前記予測ブロックとビデオデータの前記現在のブロックとの間の水平変位を表し、前記垂直変位成分は、ビデオデータの前記予測ブロックとビデオデータの前記現在のブロックとの間の垂直変位を表す、
予測水平変位成分および予測垂直変位成分を含む予測２次元ベクトルを決定することと、
前記２次元ベクトルおよび前記予測２次元ベクトルに基づいて残差水平変位成分および残差垂直変位成分を含む残差２次元ベクトルを決定することと、
ビデオデータの前記現在のブロックおよびビデオデータの前記予測ブロックに基づいて残差ブロックを決定することと、
前記符号化ビデオビットストリームにおいて、前記２次元ベクトルの前記水平変位成分および前記垂直変位成分ならびに前記残差ブロックを定義する１つまたは複数のシンタックス要素を符号化することとを行うように構成され、ここで、前記１つまたは複数のシンタックス要素を符号化することは、前記符号化ビデオビットストリームにおいて、前記残差２次元ベクトルの前記残差水平変位成分および前記残差垂直変位成分を定義する１つまたは複数のシンタックス要素を符号化することを備える、
ここにおいて、前記１つまたは複数のプロセッサは、少なくとも、
ビデオデータの前記以前に符号化された複数のブロックの制限されたセットを備える、対象とする領域を定義することと、ここにおいて、前記対象とする領域は、インループフィルタ処理されていない同じピクチャ内のビデオデータの再構成ブロックに制限される、
前記対象とする領域内からビデオデータの前記予測ブロックを選択することと、
によってビデオデータの前記予測ブロックを選択するようにさらに構成され、
前記現在のブロックが最大コーディングユニット内の第１のブロックである場合、前記予測２次元ベクトルがゼロまたはデフォルトの予測２次元ベクトルに設定される、
デバイス。
【請求項１１】
前記１つまたは複数のプロセッサは、対象領域メモリに前記対象とする領域のすべてのサンプルを記憶するように構成される、請求項１０に記載のデバイス。
【請求項１２】
ビデオデータの前記現在のブロックは、最大コーディングユニット内に位置し、前記１つまたは複数のプロセッサは、前記最大コーディングユニットのサイズに基づいて前記対象とする領域を定義するように構成される、請求項１０に記載のデバイス。
【請求項１３】
前記１つまたは複数のプロセッサは、前記最大コーディングユニットの高さに基づいて前記対象とする領域の高さを定めるように構成される、請求項１２に記載のデバイス。
【請求項１４】
前記１つまたは複数のプロセッサは、整数個のサンプルに基づいて前記対象とする領域の高さまたは幅の少なくとも一方を定めるように構成される、請求項１０に記載のデバイス。
【請求項１５】
ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを含むビデオデータをコーディングするための命令が記憶された非一時的コンピュータ可読記憶媒体であって、前記命令は、実行されたときに、１つまたは複数のプロセッサに、請求項１から請求項８のうちのいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、その各々の内容全体が参照により本明細書に組み込まれる、以下の米国仮出願、すなわち、
２０１３年６月２１日に出願された米国仮出願第６１／８３８，２０９号、
２０１３年７月１７日に出願された米国仮出願第６１／８４７，５４９号、
２０１３年８月１６日に出願された米国仮出願第６１／８６６，９６５号、
２０１３年８月２６日に出願された米国仮出願第６１／８７０，０５０号、
２０１３年９月２７日に出願された米国仮出願第６１／８８３，６１２号、
２０１３年１０月４日に出願された米国仮出願第６１／８８７，１１５号、
２０１３年１０月２１日に出願された米国仮出願第６１／８９３，５３９号、
２０１３年１０月２５日に出願された米国仮出願第６１／８９６，０１３号、および
２０１４年１月５日に出願された米国仮出願第６１／９２３，６９８号の各々の利益を主張する。
【０００２】
[0002]本開示はビデオコーディングに関し、より詳細には、ビデオブロックの、他のビデオブロックに基づく予測に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）、現在開発中のＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格によって定義された規格、およびそのような規格の拡張に記載されているもののような、ビデオ圧縮技法を実装する。これらのビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報のより効率的な送信、受信、符号化、復号、および／または記憶を行い得る。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間的（イントラピクチャ）予測および／または時間的（インターピクチャ）予測を実行する。ブロックベースのビデオコーディングでは、ビデオスライス（すなわち、ビデオフレームまたはビデオフレームの一部分）がビデオブロックにパーティショニングされ得、これらのビデオブロックは、ツリーブロック、コーディングユニット（ＣＵ）および／またはコーディングノードと呼ばれることもある。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス内のビデオブロックは、同じピクチャ中の隣接ブロック内の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]空間的予測または時間的予測によって、コーディングされるべきブロックの予測ブロックが生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データはコード化ブロックと予測ブロックとの間の差分を示す。イントラコード化ブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらすことができ、その残差変換係数が、次いで量子化され得る。最初に２次元アレイで構成される量子化された変換係数は、変換係数の１次元ベクトルを生成するために走査されてもよく、なお一層の圧縮を達成するためにエントロピーコーディングが適用されてもよい。
【発明の概要】
【０００６】
[0006]概して、本開示は、ビデオコーディングのためのイントラ予測を実行するための技法について説明する。より詳細には、本開示は、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを含むビデオデータをコーディングするための技法について説明する。ビデオデータのブロックについての、同じピクチャ内のビデオデータの予測ブロックからのイントラ予測は、本明細書ではイントラブロックコピー（Intra Block Copy）（イントラＢＣ）またはイントラ動き補償（Intra Motion Compensation）（イントラＭＣ）と呼ばれることもある。
【０００７】
[0007]本開示のイントラＢＣ技法またはイントラＭＣ技法は、ビデオデータの現在のブロックに関するビデオデータの予測ブロックを識別することを含むことができ、ここにおいて、ビデオデータの予測ブロックは、ビデオデータの現在のブロックと同じピクチャ内のビデオデータの再構成ブロックである。ビデオデータの予測ブロックは、ピクチャ内の対象とする領域内のブロック、たとえば、ビデオデータの現在のブロックの上方、右上、左上、および／または左側の領域内のブロックであり得る。ビデオデータの予測ブロックが現在のビデオブロックの上方または左側のいずれかに限定されることはなく、したがって、現在のブロックに対する予測ブロックを識別するために使用されるベクトルは必ずしも１次元のベクトルではない。代わりに、ビデオデータの予測ブロックを識別または決定するために、ビデオコーダは、ビデオデータの現在のブロックに対する水平変位成分および垂直変位成分を含む２次元ベクトルを定義する１つまたは複数のシンタックス要素をコーディングし得る。２次元ベクトルは、ブロックベクトルまたは動きベクトルと呼ばれることもある。
【０００８】
[0008]本開示の技法は、ビデオデータの再構成された追加のブロックをビデオデータの現在のブロックに関する考えられる予測ブロックと見なし、たとえば、予測ブロックを現在のブロックの上方または左側に限定しないことによって、イントラＭＣと呼ばれることもあるイントラＢＣを使用して同じピクチャ内の以前にコーディングされたビデオブロックに基づいて現在のビデオブロックを予測する効率および精度を向上させることができる。いくつかの例では、本開示の技法は、デブロッキングフィルタ処理およびサンプル適応オフセット（ＳＡＯ）フィルタ処理などのインループフィルタ処理なしで対象とするエリアを再構成されたサンプルを含む領域と定義することによって、イントラＢＣを使用して同じピクチャ内の以前にコーディングされたビデオブロックに基づいて現在のビデオブロックを予測する効率および精度を向上させることができる。いくつかの例では、本開示の技法は、ビデオコーダが現在の２次元ベクトルの予測２次元ベクトル、たとえば、ビデオデータの現在のブロックのブロックベクトルまたは動きベクトルを識別しコーディングするのを可能にすることによって、イントラＢＣを使用して同じピクチャ内の以前にコーディングされたビデオブロックに基づいて現在のビデオブロックを予測する効率および精度を向上させることができる。
【０００９】
[0009]一例では、同じピクチャ内のビデオデータの予測ブロックからビデオデータのブロックをイントラ予測するためのモードを含むビデオデータを復号する方法は、符号化ビデオビットストリームにおいて、２次元ベクトルの水平変位成分および垂直変位成分ならびにビデオデータの現在のブロックに関する残差ブロックを定義する１つまたは複数のシンタックス要素を受信することと、１つまたは複数のシンタックス要素を復号することとを備える。この方法は、２次元ベクトルの水平変位成分および垂直変位成分を定義する復号されたシンタックス要素に基づいてビデオデータの現在のブロックに関するビデオデータの予測ブロックを決定することであって、ビデオデータの予測ブロックはビデオデータの現在のブロックと同じピクチャ内のビデオデータの再構成ブロックである、決定することと、ビデオデータの予測ブロックおよび残差ブロックに基づいてビデオデータの現在のブロックを再構成することと、をさらに備える。
【００１０】
[0010]別の例では、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するモードを含むビデオデータを符号化する方法、この方法は、ビデオデータの以前に符号化されたブロックの組からビデオデータの現在のブロックに関するビデオデータの予測ブロックを選択することを備える。この方法は、２次元ベクトルを決定することをさらに備え、ここにおいて、２次元ベクトルは、水平変位成分と垂直変位成分とを有し、水平変位成分は、ビデオデータの予測ブロックとビデオデータの現在のブロックとの間の水平変位を表し、垂直変位成分は、ビデオデータの予測ブロックとビデオデータの現在のブロックとの間の垂直変位を表す。この方法は、ビデオデータの現在のブロックおよびビデオデータの予測ブロックに基づいて残差ブロックを決定することと、符号化ビデオビットストリームにおいて、２次元ベクトルの水平変位成分および垂直変位成分ならびに残差ブロックを定義する１つまたは複数のシンタックス要素を符号化することとをさらに備える。
【００１１】
[0011]別の例において、デバイスは、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを使用してビデオデータを復号するように構成されたビデオデコーダを備える。ビデオデコーダは、２次元ベクトルの水平変位成分および垂直変位成分ならびにビデオデータの現在のブロックに関する残差ブロックを定義する１つまたは複数のシンタックス要素を備える符号化ビデオビットストリームを記憶するように構成されたメモリと、１つまたは複数のプロセッサとを備える。１つまたは複数のプロセッサは、１つまたは複数のシンタックス要素を復号することと、２次元ベクトルの水平変位成分および垂直変位成分を定義する復号されたシンタックス要素に基づいてビデオデータの現在のブロックに関するビデオデータの予測ブロックを決定することであって、ビデオデータの予測ブロックがビデオデータの現在のブロックと同じピクチャ内のビデオデータの再構成ブロックである、決定することと、を行うように構成される。上記の１つまたは複数のプロセッサは、ビデオデータの予測ブロックおよび残差ブロックに基づいてビデオデータの現在のブロックを再構成するようにさらに構成される。
【００１２】
[0012]別の例において、デバイスは、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを使用してビデオデータを符号化するように構成されたビデオエンコーダを備える。ビデオエンコーダは、符号化ビデオビットストリームを記憶するように構成されたメモリと１つまたは複数のプロセッサとを備える。１つまたは複数のプロセッサは、ビデオデータの現在のブロックと同じピクチャ内のビデオデータの以前に符号化されたブロックの組からビデオデータの現在のブロックに関するビデオデータの予測ブロックを選択するように構成される。上記の１つまたは複数のプロセッサは、２次元ベクトルを決定するようにさらに構成され、ここにおいて、２次元ベクトルは、水平変位成分と垂直変位成分とを有し、水平変位成分は、ビデオデータの予測ブロックとビデオデータの現在のブロックとの間の水平変位を表し、垂直変位成分は、ビデオデータの予測ブロックとビデオデータの現在のブロックとの間の垂直変位を表す。１つまたは複数のプロセッサは、ビデオデータの現在のブロックおよびビデオデータの予測ブロックに基づいて残差ブロックを決定することと、符号化ビデオビットストリームにおいて、２次元ベクトルの水平変位成分および垂直変位成分ならびに残差ブロックを定義する１つまたは複数のシンタックス要素を符号化することとを行うようにさらに構成される。
【００１３】
[0013]別の例において、デバイスは、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを使用してビデオデータをコーディングするように構成されたビデオコーダを備える。ビデオデコーダは、２次元ベクトルの水平変位成分および垂直変位成分ならびにビデオデータの現在のブロックに関する残差ブロックを定義する１つまたは複数のシンタックス要素を含むビデオビットストリームをコーディングするための手段と、ビデオデータの現在のブロックに関するビデオデータの予測ブロックを決定するための手段とを備える。２次元ベクトルの水平変位成分は、ビデオデータの予測ブロックとビデオデータの現在のブロックとの間の水平変位を表し、２次元ベクトルの垂直変位成分は、ビデオデータの予測ブロックとビデオデータの現在のブロックとの間の垂直変位を表す。ビデオデータの予測ブロックは、ビデオデータの現在のブロックと同じピクチャ内のビデオデータの再構成ブロックであり、残差ブロックは、ビデオデータの現在のブロックおよびビデオデータの予測ブロックに基づいて決定される。
【００１４】
[0014]別の例において、非一時的コンピュータ可読記憶媒体には、同じピクチャ内のビデオデータの予測ブロックからビデオデータのブロックをイントラ予測するためのモードを含むビデオデータをコーディングするための命令が記憶され、命令は、実行されたときに、１つまたは複数のプロセッサに、２次元ベクトルの水平変位成分および垂直変位成分ならびにビデオデータの現在のブロックに関する残差ブロックを定義する１つまたは複数のシンタックス要素を含むビデオビットストリームをコーディングすることと、ビデオデータの現在のブロックに関するビデオデータの予測ブロックを決定することとを行わせる。２次元ベクトルの水平変位成分は、ビデオデータの予測ブロックとビデオデータの現在のブロックとの間の水平変位を表し、２次元ベクトルの垂直変位成分は、ビデオデータの予測ブロックとビデオデータの現在のブロックとの間の垂直変位を表す。ビデオデータの予測ブロックは、ビデオデータの現在のブロックと同じピクチャ内のビデオデータの再構成ブロックであり、残差ブロックは、ビデオデータの現在のブロックおよびビデオデータの予測ブロックに基づいて決定される。
【００１５】
[0015]１つまたは複数の例の詳細が、添付の図面および以下の説明において述べられる。他の特徴、目的、および利点は、その説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１６】
【図１】[0016]本開示に記載される技法を利用することができる、例示的なビデオ符号化および復号システムを示すブロック図。
【図２】[0017]本開示の技法による、現在のピクチャ内のビデオデータの現在のブロックを予測するための現在のピクチャ内のビデオデータの例示的な予測ブロックを示す概念図。
【図３】[0018]ビデオデータの予測ブロックを選択することのできる対象とする領域を定義するための例示的な技法を示す概念図。
【図４Ａ】[0019]隣接する最大コーディングユニットにおいてデブロックフィルタ処理されたビデオデータのサンプルに対して対象とする領域を定義するための境界を示す概念図。
【図４Ｂ】[0019]隣接する最大コーディングユニットにおいてデブロックフィルタ処理されたビデオデータのサンプルに対して対象とする領域を定義するための境界を示す概念図。
【図４Ｃ】[0019]隣接する最大コーディングユニットにおいてデブロックフィルタ処理されたビデオデータのサンプルに対して対象とする領域を定義するための境界を示す概念図。
【図５Ａ】[0020]隣接する最大コーディングユニットにおいてデブロックフィルタ処理されサンプル適応オフセット（ＳＡＯ）フィルタ処理されたビデオデータのサンプルに対して対象とする領域を定義するための境界を示す概念図。
【図５Ｂ】[0020]隣接する最大コーディングユニットにおいてデブロックフィルタ処理されサンプル適応オフセット（ＳＡＯ）フィルタ処理されたビデオデータのサンプルに対して対象とする領域を定義するための境界を示す概念図。
【図５Ｃ】[0020]隣接する最大コーディングユニットにおいてデブロックフィルタ処理されサンプル適応オフセット（ＳＡＯ）フィルタ処理されたビデオデータのサンプルに対して対象とする領域を定義するための境界を示す概念図。
【図６】[0021]隣接する最大コーディングユニットにおいてデブロックフィルタ処理されたビデオデータのサンプルに対して対象とする領域を定義するための境界を示す概念図。
【図７】[0022]ビデオデータの現在のブロック、およびビデオデータの現在のブロックに関する候補予測ベクトルを導出することのできるビデオデータの隣接するブロックの一例の概念図。
【図８】[0023]本開示で説明する技法を実施し得る例示的なビデオエンコーダを示すブロック図。
【図９】[0024]本開示で説明する技法を実施し得る例示的なビデオデコーダを示すブロック図。
【図１０】[0025]ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを含むビデオデータを符号化するための例示的な方法を示す流れ図。
【図１１】[0026]ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを含むビデオデータを復号するための例示的な方法を示す流れ図。
【図１２】[0027]ルーマビデオデータの対応するブロックの２次元ベクトルからクロマビデオデータのブロックに関する２次元ベクトルを導出することを含む例示的な方法を示す流れ図。
【図１３】[0028]予測２次元ベクトルを決定することを含む、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを含むビデオデータを符号化する例示的な方法を示す流れ図。
【図１４】[0029]予測２次元ベクトルを決定することを含む、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを含むビデオデータを復号する例示的な方法を示す流れ図。
【図１５】[0030]ビデオデータの現在のブロックに関する予測２次元ベクトル候補を決定するための例示的な方法を示す流れ図。
【詳細な説明】
【００１７】
[0031]ビデオシーケンスは、概して、ピクチャのシーケンスとして表される。一般に、ブロックベースのコーディング技法は、個々のピクチャの各々をコーディングするために使用される。すなわち、各ピクチャはブロックに分割され、ブロックの各々は個別にコーディングされる。ビデオデータのブロックをコーディングすることは、概して、ブロックの予測値を形成することと、残差値（residual value）、すなわち、元のブロックと予測値との間の差分をコーディングすることとを伴う。詳細には、ビデオデータの元のブロックはピクセル値の行列を含み、予測値は予測されたピクセル値の行列を含む。残差値は、元のブロックのピクセル値と予測されたピクセル値との間のピクセルごとの差分に対応する。
【００１８】
[0032]ビデオデータのブロックのための予測技法は、概して、イントラ予測およびインター予測としてカテゴリー分類される。イントラ予測、または空間的予測は、概して、前にコーディングされたブロックの一部である隣接するピクセル値からブロックを予測することを含む。インター予測、または時間的予測は、概して、前にコーディングされたピクチャ（たとえば、フレームまたはスライス）のピクセル値からブロックを予測することを含む。
【００１９】
[0033]リモートデスクトップ、リモートゲーミング、ワイヤレスディスプレイ、自動車インフォテインメント、クラウドコンピューティングなどの多数のアプリケーションが日常的に使用されつつある。これらのアプリケーションにおけるビデオコンテンツは通常、自然のコンテンツ、テキスト、人工グラフィックス、およびその他のコンテンツの組合せである。テキスト領域および人工グラフィックス領域には、反復パターン（文字、アイコン、記号など）が存在することが多い。
【００２０】
[0034]ビデオデータのブロックについての、同じピクチャ内のビデオデータの予測ブロックからのイントラ予測は、イントラブロックコピー（イントラＢＣ）またはイントラ動き補償（イントラＭＣ）と呼ばれることもあり、ビデオコーダがそのような冗長性を解消しイントラフレームコーディング効率を向上させるのを可能にし得る技法である。いくつかのビデオコーディング技法では、ビデオコーダは、同じピクチャ内のビデオデータの現在のブロックの真上または真下あるいは現在のブロックに対して水平方向に一直線上にある前に再構成されたビデオデータのブロックを使用して、現在のビデオブロックを予測する。言い換えれば、ビデオデータのピクチャまたはフレームが２−Ｄグリッドに課された場合、ビデオデータの各ブロックは、ｘ値およびｙ値の一意の範囲を占有する。したがって、いくつかのビデオコーダは、（現在のビデオブロックに対して垂直方向に一直線上にある）ｘ値の同じ組または（現在のビデオブロックに対して水平方向に一直線上にある）ｙ値の同じ組のみを共有する同じピクチャ内の以前にコーディングされたビデオデータのブロックに基づいてビデオデータの現在のブロックを予測することができる。
【００２１】
[0035]ビデオコーダが、ビデオデータの現在のブロックの真上またはすぐ左（すぐ右または真下）とは限らない同じフレーム、すなわち、同じピクチャ内のビデオデータの以前に再構成されたブロックから現在のビデオブロックを予測すると有利であることがある。ビデオコーダは、予測セット内により多くのビデオブロックを含めることによって、現在のビデオブロックのより正確な予測を実現することができ、それによってコーディング効率を高める。
【００２２】
[0036]概して、本開示では、イントラＢＣモードまたはイントラＭＣモードと呼ばれることもある、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを含むビデオデータをコーディングするための技法について説明する。本開示のイントラＢＣ技法またはイントラＭＣ技法は、ビデオデータの現在のブロックに関するビデオデータの予測ブロックを識別することを含むことができ、ここにおいて、ビデオデータの予測ブロックは、ビデオデータの現在のブロックと同じピクチャ内のビデオデータの再構成ブロックである。ビデオデータの予測ブロックは、ピクチャ内の対象とする領域内のブロック、たとえば、ビデオデータの現在のブロックの上方、右上、左上、および／または左側の領域内のブロックであり得る。ビデオデータの予測ブロックが現在のビデオブロックの上方または左側のいずれかに限定されることはなく、したがって、現在のブロックに対する予測ブロックを識別するために使用されるベクトルは必ずしも１次元のベクトルではない。代わりに、ビデオデータの予測ブロックを識別または決定するために、ビデオコーダは、ビデオデータの現在のブロックに対する水平変位成分および垂直変位成分を含む２次元ベクトルを定義する１つまたは複数のシンタックス要素をコーディングし得る。２次元ベクトルは、ブロックベクトルまたは動きベクトルと呼ばれることもある。
【００２３】
[0037]本開示の技法は、ビデオデータの再構成された追加のブロックをビデオデータの現在のブロックに関する考えられる予測ブロックと見なし、たとえば、予測ブロックを現在のブロックの上方または左側に限定しないことによって、イントラＢＣまたはイントラＭＣを使用して同じピクチャ内の以前にコーディングされたビデオブロックに基づいて現在のビデオブロックを予測する効率および精度を向上させることができる。いくつかの例では、本開示の技法は、デブロッキングフィルタ処理およびサンプル適応オフセット（ＳＡＯ）フィルタ処理などのインループフィルタ処理なしで対象とする領域を再構成されたサンプルを含む領域と定義することによって、イントラＢＣを使用して同じピクチャ内の以前にコーディングされたビデオブロックに基づいて現在のビデオブロックを予測する効率および精度を向上させることができる。いくつかの例では、本開示の技法は、ビデオコーダが現在の２次元ベクトルの予測２次元ベクトル、たとえば、ビデオデータの現在のブロックのブロックベクトルまたは動きベクトルを識別しコーディングするのを可能にすることによって、イントラＢＣを使用して同じピクチャ内の以前にコーディングされたビデオブロックに基づいて現在のビデオブロックを予測する効率および精度を向上させることができる。
【００２４】
[0038]図１は、本明細書で説明する技法のうちの１つまたは複数を実装し得る１つの例示的なビデオ符号化および復号システムを示すブロック図である。本明細書で使用される「ビデオコーダ」という用語は、ビデオエンコーダとビデオデコーダの両方を総称的に指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化またはビデオ復号を総称的に指し得る。
【００２５】
[0039]図１に示されているように、システム１０は、宛先デバイス１４によって復号されるべき符号化ビデオデータを与えるソースデバイス１２を含む。具体的には、ソースデバイス１２は、コンピュータ可読媒体１６を介してビデオデータを宛先デバイス１４に与える。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４はワイヤレス通信のために装備され得る。
【００２６】
[0040]宛先デバイス１４は、コンピュータ可読媒体１６を介して、復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体１６は、符号化ビデオデータをソースデバイス１２から宛先デバイス１４に移動することが可能な、任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体１６は、ソースデバイス１２が符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にするための、通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワークなどのパケットベースのネットワーク、またはインターネットなどのグローバルネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス１２から宛先デバイス１４への通信を促進するために有用であり得る任意の他の機器を含み得る。
【００２７】
[0041]いくつかの例では、コンピュータ可読媒体１６は記憶デバイスを備え、ソースデバイスは符号化ビデオデータを出力インターフェース２２を介して記憶デバイスに出力することができる。同様に、符号化データは入力インターフェース２８によって記憶デバイスからアクセスされ得る。記憶デバイスは、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または、符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。たとえば、ディスクスタンピング施設などの媒体生産施設のコンピューティングデバイスは、符号化ビデオデータをソースデバイス１２から受信し、符号化ビデオデータを含むディスクを生産し得る。したがって、様々な例では、コンピュータ可読媒体１６は、様々な形態の１つまたは複数のコンピュータ可読媒体を含むものと理解され得る。さらなる例では、記憶デバイスは、ソースデバイス１２によって生成される符号化されたビデオを記憶し得る、ファイルサーバまたは別の中間的な記憶デバイスに相当し得る。宛先デバイス１４は、記憶されているビデオデータに、記憶デバイスからストリーミングまたはダウンロードを介して、アクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス１４へ送信することができる、任意のタイプのサーバであり得る。例示的なファイルサーバは、ウェブサーバ（たとえば、ウェブサイトのための）、ＦＴＰサーバ、ネットワーク接続記憶（ＮＡＳ）デバイス、または局所的なディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む任意の標準的なデータ接続を通じて、符号化ビデオデータにアクセスし得る。これは、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または、ファイルサーバに記憶されている符号化ビデオデータにアクセスするのに適した、それらの両方の組合せを含み得る。記憶デバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【００２８】
[0042]本開示の技法は、ワイヤレスのアプリケーションまたはセッティングに必ずしも限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ：dynamic adaptive streaming over HTTP）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例などの、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオプレイバック、ビデオブロードキャスティングおよび／またはビデオテレフォニーなどの適用例をサポートするために一方向または双方向のビデオ送信をサポートするように構成され得る。
【００２９】
[0043]図１は例にすぎず、本開示の技法は、符号化デバイスと復号デバイスとの間のデータ通信を必ずしも含むとは限らないビデオコーディング環境（たとえば、ビデオ符号化またはビデオ復号）に適用され得る。他の例では、データがローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどが行われる。ビデオ符号化デバイスはデータを符号化し、メモリに記憶することができ、および／または、ビデオ復号デバイスはメモリからデータを取り出し、復号することができる。多くの例では、符号化および復号は、互いに通信しないが、メモリにデータを符号化し、および／またはメモリからデータを取り出して復号するだけであるデバイスによって実行される。
【００３０】
[0044]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含み得る。たとえば、ソースデバイス１２は、外部カメラなどの外部ビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、内蔵ディスプレイデバイス３２を含むのではなく、外部ディスプレイデバイス３２とインターフェースし得る。
【００３１】
[0045]図１の例示されたシステム１０は、一例にすぎない。任意のデジタルビデオ符号化および／または復号デバイスが、本明細書で説明する技法を実行し得る。一般に、本開示の技法は、ビデオ符号化デバイスによって実行されるが、本技法は、また、通常「コーデック」と呼ばれるビデオエンコーダ／デコーダによって実行され得る。その上、本開示の技法は、また、ビデオプリプロセッサによって実行されることもできる。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が、コーディングされたビデオデータを宛先デバイス１４への送信のためにその中で生成する、そのようなコーディングデバイスの単に例である。いくつかの例では、デバイス１２、１４は、デバイス１２、１４の各々がビデオ符号化と、復号構成要素とを含むように、実質的に対称的な方式で動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオプレイバック、ビデオブロードキャスティング、またはビデオテレフォニーのための、ビデオデバイス１２と１４との間での一方向または二方向のビデオ送信をサポートし得る。
【００３２】
[0046]ソースデバイス１２のビデオソース１８は、ビデオカメラ、あらかじめキャプチャされたビデオを含むビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオ供給インターフェースなどの、ビデオキャプチャデバイスを含み得る。さらなる代わりとして、ビデオソース１８は、ソースビデオとしてコンピュータグラフィックスベースのデータ、または、ライブビデオ、アーカイブされたビデオ、およびコンピュータ生成のビデオの組合せを生成し得る。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付き携帯電話またはビデオ付き携帯電話を形成し得る。しかしながら、上で言及されたように、本開示で説明される技法は、一般にビデオコーディングに適用可能であり、ワイヤレスおよび／または有線の用途に適用され得る。各々の場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータにより生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。次いで、符号化されたビデオ情報は、出力インターフェース２２によってコンピュータ可読媒体１６に出力され得る。いくつかの例では、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含む場合がある。
【００３３】
[0047]宛先デバイス１４の入力インターフェース２８は、情報をコンピュータ可読媒体１６から受信する。いくつかの例では、入力インターフェース２８は受信機および／またはモデムを含む。コンピュータ可読媒体１６の情報は、ビデオエンコーダ２０によって定義され、ビデオデコーダ３０によって使用され、ブロックおよび他のコード化ユニット、たとえば、スライス、ピクチャ、ピクチャグループ（ＧＯＰ）、またはビデオデータの特性および／または処理を記述する符号化ビデオデータおよびその他のシンタックス情報を含み得る符号化ビデオビットストリームを含み得る。ディスプレイデバイス３２は、復号されたビデオデータをユーザに表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなどの様々なディスプレイデバイスのうちの任意のものを備え得る。
【００３４】
[0048]ビデオエンコーダ２０およびビデオデコーダ３０は各々、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなどの、様々な適切なエンコーダ回路のいずれかとして実装され得る。本技法がソフトウェアに部分的に実装されるとき、デバイスは、ソフトウェアに対する命令を適切な非一時的コンピュータ可読媒体に記憶し、本開示の技法を実行するための１つまたは複数のプロセッサを使用してハードウェアにおいて命令を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダに含まれることができ、そのいずれかは、複合エンコーダ／デコーダ（コーデック）の一部として、それぞれのデバイスに統合され得る。図１には示されないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は各々、オーディオエンコーダおよびデコーダと統合されることができ、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアとソフトウェアとを含み得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００３５】
[0049]本開示は、概して、ビデオデコーダ３０などの別のデバイスにある情報を「シグナリング」するビデオエンコーダ２０に言及する場合がある。「シグナリング」という用語は、概して、圧縮されたビデオデータを復号するために使用されるシンタックス要素および／または他のデータの通信を指す場合がある。そのような通信は、リアルタイムまたはほぼリアルタイムで行われる場合がある。代替として、そのような通信は、符号化時に符号化されたビットストリーム内でシンタックス要素をコンピュータ可読記憶媒体に記憶するときに行われる場合があるなどの、ある時間期間にわたって行われる場合があり、次いで、これらの要素は、この媒体に記憶された後の任意の時間に復号デバイスによって取り出される場合がある。
【００３６】
[0050]ビデオエンコーダ２０およびビデオデコーダ３０は、本開示では、１つまたは複数のビデオコーディング規格に従って動作するように構成されているように、例示のために記載されている。しかし、本開示の技法は、任意の特定のコーディング規格に限定されるとは限らず、様々な異なるコーディング規格に関して適用され得る。
【００３７】
[0051]ビデオエンコーダ２０およびビデオデコーダ３０は、任意の拡張、修正、または追加を含む、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格などの、ビデオコーディング規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ  １０と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格、アドバンストビデオコーディング（ＡＶＣ）、またはそのような規格の拡張などの、他の独自の規格または業界規格に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例には、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。
【００３８】
[0052]他の独自の規格または業界規格の例には、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、および、スケーラブルビデオコーディング（ＳＶＣ）拡張とマルチビュービデオコーディング（ＭＶＣ）拡張とを含む（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４、あるいはそのような規格の拡張、修正、または追加が含まれる。さらに、Ｈ．２６４／ＡＶＣへの３次元ビデオ（３ＤＶ：three-dimensional video）コーディング拡張、すなわちＡＶＣベースの３ＤＶを生成するための取組みが進行中である。言い換えれば、例示的なビデオコーディング規格には、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、およびスケーラブルビデオコーディング（ＳＶＣ）拡張とマルチビュービデオコーディング（ＭＶＣ）拡張とを含む（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４が含まれる。Ｈ．２６４規格は、ＩＴＵ−Ｔ  Ｓｔｕｄｙ  Ｇｒｏｕｐによる２００５年３月付のＩＴＵ−Ｔ勧告Ｈ．２６４、Advanced Video Coding for generic audiovisual servicesに記載されており、本明細書ではＨ．２６４規格もしくはＨ．２６４仕様、またはＨ．２６４／ＡＶＣ規格もしくは仕様と呼ばれることがある。ジョイントビデオチーム（ＪＶＴ）はＨ．２６４／ＭＰＥＧ−４  ＡＶＣへの拡張に取り組み続けている。ＭＶＣの最近のジョイントドラフトは、「Advanced video coding for generic audiovisual services」、ＩＴＵ−Ｔ勧告Ｈ．２６４、２０１０年３月に記載されている。
【００３９】
[0053]さらに、ＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ：Video Coding Experts Group）とＩＳＯ／ＩＥＣモーションピクチャエキスパートグループ（ＭＰＥＧ：Motion Picture Experts Group）とのジョイントコラボレーションチームオンビデオコーディング（ＪＣＴ−ＶＣ：Joint Collaboration Team on Video Coding）によって開発された新開発のビデオコーディング規格、すなわち、高効率ビデオコーディング（ＨＥＶＣ）がある。図１の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＨＥＶＣに従って動作し得る。２０１３年１０月１７日付けでhttp://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zipから入手可能であり、以下では「ＪＣＴＶＣ−Ｌ１００３−ｖ３４」と呼ばれ、内容全体が参照により組み込まれている、Ｂｒｏｓｓら、「High Efficiency Video Coding(HEVC) text specification draft 10(for FDIS & Last Call)、ITU-T SG16 WP3とISO/IEC JTC 1/SC 29/WG 11とのビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）、第１２回会合：ジュネーブ、スイス、２０１３年１月１４日〜２３日文献ＪＣＴＶＣ−Ｌ１００３−ｖ３４が、ＨＥＶＣの最近のドラフトである。ＪＣＴＶＣ−Ｌ１００３−ｖ３４において定義されたＨＥＶＣのバージョンは、ＨＥＶＣバージョン１または「ＨＥＶＣｖ１．」と呼ばれることがある。
http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id=8143から入手可能であり、内容全体が参照により組み込まれている、ＭｃＣａｎｎら、「High Efficiency Video Coding(HEVC) Test Model 12(HM12)Encoder Description」文献ＪＣＴＶＣ−Ｎ１００２が、ＨＥＶＣの最近のエンコーダ文献である。
【００４０】
[0054]３ＤサービスをサポートするＨＥＶＣの２つの拡張が現在、ITU-T Video Coding Experts Group（ＶＣＥＧ）およびISO/IEC Motion Picture Experts Group（ＭＰＥＧ）のJoint Collaboration Team on 3D Video Coding（ＪＣＴ−３Ｖ）によって開発されている。すなわち、この２つの拡張はそれぞれ、ＭＶ−ＨＥＶＣおよび３Ｄ−ＨＥＶＣである。図１の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＭＶ−ＨＥＶＣおよび／または３Ｄ−ＨＥＶＣに従って動作し得る。
【００４１】
[0055]ＭＶ−ＨＥＶＣは、ブロックレベル設計を変更せずに複数の（テクスチャ）ビューのコーディングをサポートする。
http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3V-E1004-v6.zipから入手可能であり、内容全体が参照により組み込まれている、Ｔｅｃｈら「MV-HEVC Draft Text 5」Joint Collaborative Team on 3D Video Coding Extension Development of ITU-T SG 16 WP 3およびISO/IEC JTC 1/SC 29/WG 11、文献番号ＪＣＴ３Ｖ−Ｅ１００４−ｖ６が、ＭＶ−ＨＥＶＣの最近のドラフトである。
【００４２】
[0056]３Ｄ−ＨＥＶＣは、マルチビュービデオプラス深度フォーマットをコーディングし、ＨＥＶＣコーディングモジュールに加えて組み込まれた新しいコーディングツールを含む。新たに導入されたコーディングツールは、テクスチャコーディングと深度コーディングの両方に適用可能である。
http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3V-E1001-v3.zipから入手可能であり、内容全体が参照により組み込まれている、Ｔｅｃｈら、「3D-JEVC Draft Text 1」、Joint Collaborative Team on 3D Video Coding Extension Development of ITU-T SG 16 WP 3およびISO/IEC JTC 1/SC 29/WG 11、第５回会合：ウィーン、オーストリア、２０１３年７月２７日〜８月２日、文献番号ＪＣＴ３Ｖ−Ｅ１００１−ｖ３が、３Ｄ−ＨＥＶＣの最近のドラフトである。３Ｄ−ＨＥＶＣ用の最近のソフトウェア３Ｄ−ＨＴＭは、以下のリンク、すなわち、［3D-HTM version 8.0］:https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM-8.0/からダウンロード可能である。
最近のソフトウェア文献、すなわち、内容全体が参照により組み込まれている、Ｚｈａｎｇら、「3D-HEVC Test Model 5」、Joint Collaborative Team on 3D Video Coding Extension Development of ITU-T SG 16 WP 3およびISO/IEC JTC 1/SC 29/WG 11、第５回会合：ウィーン、オーストリア、２０１３年７月２７日〜８月２日、文献番号ＪＣＴ３Ｖ−Ｅ１００５が、http://phenix.it-sudparis.eu/jct2/doc_end_user/current_document.php?id=1360から入手可能である。
【００４３】
[0057]ＨＥＶＣ規格のさらなる開発および拡張にはＨＥＶＣ範囲拡張が含まれる。ＨＥＶＣ範囲拡張の例には、参照により全体が本明細書に組み込まれており、http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id=8139から入手可能である、Ｆｌｙｎｎら「High Efficiency Video Coding (HEVC) Range Extensions text specification: Draft 4」ITU-T SG 16 WP 3およびISO/IEC JTC 1/SC 29/WG 11のビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）文献ＪＣＴＶＣ−Ｎ１００５＿ｖ３第１３回会合：仁川、韓国、２０１３年４月１８日〜２６日に記載されている。
【００４４】
[0058]ＨＥＶＣおよび他のビデオコーディング仕様では、ビデオシーケンスは一般に一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャは、ＳL、ＳCb、およびＳCrと示される３つのサンプルアレイを含み得る。ＳLは、ルーマサンプルの２次元アレイ（すなわち、ブロック）である。ＳCbは、Ｃｂクロミナンスサンプルの２次元アレイである。ＳCrは、Ｃｒクロミナンスサンプルの２次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルとも呼ばれ得る。他の例では、ピクチャは、モノクロームであり得、ルーマサンプルのアレイのみを含み得る。
【００４５】
[0059]ＨＥＶＣの標準化の取組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーディングデバイスの発展型モデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の機能を仮定する。たとえば、Ｈ．２６４は、９つのイントラ予測符号化モードを提供するが、ＨＭは、３３ものイントラ予測符号化モードを提供し得る。
【００４６】
[0060]概して、ＨＭのワーキングモデルは、ビデオエンコーダ２０が、ビデオフレームまたはピクチャを、最大コーディングユニット（ＬＣＵ）またはツリーブロックとも呼ばれるコーディングツリーユニット（ＣＴＵ）のシーケンスに分割し得ると表している。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロック（ＣＴＢ）と、クロマサンプルの２つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備える場合がある。別個のカラープレーンを備えるモノクロームピクチャまたはピクチャでは、ＣＴＵは、単一のコーディングツリーブロックと、単一のコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
【００４７】
[0061]ビットストリーム内のシンタックスデータは、ＣＴＵにとってのサイズを定義し得、ＣＴＵは、ピクセルの数の点で最大のコーディングユニットである。ＣＴＵは、サンプルのＮ×Ｎのブロックであり得る。ＨＥＶＣのＣＴＵは、Ｈ．２６４／ＡＶＣなど、他のビデオコーディング規格のマクロブロックに広い意味で類似し得る。しかしながら、ＣＴＵは、必ずしも特定のサイズに限定されるとは限らず、１つまたは複数のコーディングユニット（ＣＵ）を含み得る。
【００４８】
[0062]ビデオフレームまたはピクチャは、１つまたは複数のスライスへとパーティショニングされ（partitioned）得る。スライスは、コーディング順または走査順にいくつかの連続するＣＴＵを含む。各ＣＴＵは、４分木に従って、コーディングユニット（ＣＵ）に分割（split）され得る。ＣＵは、サンプルのＮ×Ｎのブロックであり得る。一般に、４分木データ構造は、ＣＵあたり１つのノードを、ツリーブロックに対応するルートノードとともに含む。ＣＵが４つのサブＣＵに分割される場合、ＣＵに対応するノードは、４つのリーフノードを含み、その各々は、サブＣＵのうちの１つに対応する。ＣＵまたはサブＣＵは、ＣＵと呼ばれることもあり、ルーマサンプルアレイとＣｂサンプルアレイとＣｒサンプルアレイとを有するピクチャのルーマサンプルのコーディングブロックと、クロマサンプルの２つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備える場合がある。別個のカラープレーンを備えるモノクロームピクチャまたはピクチャでは、ＣＵは、単一のコーディングブロックと、単一のコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
【００４９】
[0063]４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。たとえば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのためのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。ＣＵがさらに分割されない場合、そのＣＵはリーフＣＵと呼ばれる。本開示では、元のリーフＣＵの明示的分割が存在しない場合でも、リーフＣＵの４つのサブＣＵをリーフＣＵとも呼ぶ。たとえば、１６×１６サイズのＣＵがさらに分割されない場合、この１６×１６ＣＵが決して分割されなくても、４つの８×８サブＣＵをリーフＣＵとも呼ぶ。コード化ビットストリームに関連するシンタックスデータは、最大ＣＵ深度と呼ばれる、ツリーブロックが分割され得る最大回数を定めることができ、コーディングノードの最小サイズを定めることもできる。それに応じて、ビットストリームは最小コーディングユニット（ＳＣＵ：smallest coding unit）を定義することもできる。
【００５０】
[0064]ＣＵは、コーディングノードと、コーディングノードに関連付けられた予測ユニット（ＰＵ）および変換ユニット（ＴＵ）とを含む。ＣＵのサイズは、コーディングノードのサイズに対応し、形状が正方形でなければならない。ＣＵのサイズは、８×８ピクセルから最大６４×６４以上のピクセルをもつツリーブロックのサイズまでに及び得る。概して、ビデオエンコーダ２０およびビデオデコーダ３０は、１つのモード、たとえば、イントラ予測またはインター予測によって各ＣＵをコーディングする。
【００５１】
[0065]各ＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含み得る。ＣＵと関連したシンタックスデータは、たとえば、ＣＵの１つまたは複数のＰＵへのパーティショニングを記述し得る。パーティショニングモードは、ＣＵがスキップであるか、または、ダイレクトモードで符号化されるか、イントラ予測モードで符号化されるか、もしくはインター予測モードで符号化されるかの間で、異なり得る。ＰＵは、形状が非正方形（たとえば、長方形）にパーティショニングされ得る。ＣＵと関連したシンタックスデータは、また、たとえば、ＣＵの１つまたは複数のＴＵへの、４分木に従うパーティショニングを記述し得る。ＴＵは、形状において正方形または非正方形（たとえば、長方形）であり得る。
【００５２】
[0066]ＣＵのＰＵおよびＴＵは、ピクチャのルーマサンプルの１つの予測ブロックと、クロマサンプルの２つの対応する予測ブロックと、予測ブロックサンプルを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ２０は、ＣＵの各ＰＵのルーマ予測ブロック、Ｃｂ予測ブロック、およびＣｒ予測ブロックのために、予測ルーマブロックと、予測Ｃｂブロックと、予測Ｃｒブロックとを生成することができる。別個のカラープレーンを備えるモノクロームピクチャまたはピクチャでは、ＰＵは、単一の予測ブロックと、単一の予測ブロックを予測するために使用されるシンタックス構造とを備える場合がある。
【００５３】
[0067]ビデオエンコーダ２０およびビデオデコーダ３０は、様々なサイズを有するＰＵをサポートし得る。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ビデオエンコーダ２０およびビデオデコーダ３０は、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズでのイントラ予測と、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称ＰＵサイズでのインター予測とをサポートすることができる。ビデオエンコーダ２０およびビデオデコーダ３０は、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズでのインター予測に関する非対称パーティショニングをもサポートし得る。非対称なパーティショニングでは、ＣＵの一方向はパーティショニングされないが、他の方向は２５％および７５％にパーティショニングされる。２５％のパーティションに対応するＣＵの部分は、「ｎ」とそれに続く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」という指示によって示される。したがって、たとえば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５ＮのＰＵ、および下部の２Ｎ×１．５ＮのＰＵによって水平にパーティショニングされる２Ｎ×２ＮのＣＵを指す。ＨＥＶＣでは、最小ＰＵサイズは８ｘ４および４ｘ８である。
【００５４】
[0068]本開示では、「Ｎ×Ｎ」および「ＮかけるＮ（N by N）」は、垂直および水平の寸法の観点からビデオブロックのピクセル寸法を指すために、たとえば、１６×１６ピクセルまたは１６かける１６（16 by 16）ピクセルのように、互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６ピクセル（ｙ＝１６）、および水平方向に１６ピクセル（ｘ＝１６）を有する。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮピクセル、および水平方向にＮピクセルを有し、ここでＮは、非負の整数値を表す。ブロックのピクセルは、行および列に配列され得る。さらに、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックは、ＮｘＭピクセルを備え得、ここで、Ｍは、必ずしもＮに等しいとは限らない。
【００５５】
[0069]概して、ＰＵは、対応するＣＵのすべてまたは一部分に対応する空間エリアを表し、そのＰＵの参照サンプルを取り出すためのデータを含み得る。その上、ＰＵは、予測に関係するデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵに関するデータは、ＰＵに対応する予測ブロックについてのイントラ予測モードを記述し得る。
【００５６】
[0070]別の例として、ＰＵがインターモードで符号化されるとき、ＰＵは、ＰＵのための１つまたは複数の動きベクトルを定義するデータを含み得る。ＰＵについての動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分と、動きベクトルの垂直成分と、動きベクトルの解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）とを記述することができる。ＰＵは、参照ピクチャを含む参照ピクチャリストのインデックスなど、動きベクトルが指し示す参照ピクチャを識別するデータを含み得る。
【００５７】
[0071]インター予測は、単方向（すなわち、単予測（uni-prediction））でも双方向（すなわち、双予測（bi-prediction））でもあり得る。ビデオエンコーダ２０およびビデオデコーダは、単予測または双予測を実行するために、現在のピクチャに関する第１の参照ピクチャリスト（RefPicList0）および第２の参照ピクチャリスト（RefPicList1）とを生成し得る。参照ピクチャリストの各々は１つまたは複数の参照ピクチャを含み得る。参照ピクチャリストが構築された後（すなわち、利用可能であれば、RefPicList0およびRefPicList1）、参照ピクチャリストに対する参照インデックスは、参照ピクチャリストに含まれる任意の参照ピクチャを識別するために使用され得る。
【００５８】
[0072]参照ピクチャは、時間的な、たとえば、表示、順序における前のピクチャ、将来のピクチャ、または前に符号化された２つ以上のピクチャからの予測の組合せであり得る。ビデオコーダ、たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、ピクチャ順序カウント（ＰＯＣ）を使用してピクチャの時間的順序を識別する。ビデオコーダは、またピクチャのＰＯＣ値を参照ピクチャリストの構成および動きベクトルのスケーリングに使用する。ビデオエンコーダ２０またはビデオデコーダ３０は、参照ピクチャメモリ、たとえば、参照ピクチャメモリ３６８（図８）および参照ピクチャメモリ３９６（図９）に参照ピクチャを記憶し得る。
【００５９】
[0073]本開示の技法に従ってイントラＢＣを使用して現在のビデオブロック、たとえば、ＰＵがコーディングされるとき、そのブロックに関する２次元ベクトル（ブロックベクトル、動きベクトル、または変位ベクトルと呼ばれることもある）を定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）を表し得る。しかし、本開示の技法に従ってイントラＢＣを使用して予想されたＰＵのデータは、参照ブロックが現在のビデオブロックと同じフレームまたはピクチャ内に位置するので、動きベクトルが指し示す参照ピクチャを識別する必要がない。
【００６０】
[0074]ビデオエンコーダ２０がＣＵの１つまたは複数のＰＵの予測ルーマブロックと、予測Ｃｂブロックと、予測Ｃｒブロックとを生成した後、ビデオエンコーダ２０は、ＣＵのルーマ残差ブロックを生成することができる。ＣＵのルーマ残差ブロック中の各サンプルは、ＣＵのＰＵの予測ルーマブロック内のルーマサンプルとＣＵの元のルーマコーディングブロック中の対応するサンプルとの間の差を示す。さらに、ビデオエンコーダ２０はＣＵのためのＣｂ残差ブロックを生成し得る。ＣＵのＣｂ残差ブロック中の各サンプルは、ＣＵのＰＵの予測Ｃｂブロック内のＣｂサンプルとＣＵの元のＣｂコーディングブロック中の対応するサンプルとの間の差を示し得る。ビデオエンコーダ２０はまた、ＣＵのためのＣｒ残差ブロックを生成し得る。ＣＵのＣｒ残差ブロック中の各サンプルは、ＣＵのＰＵの予測Ｃｒブロック内のＣｒサンプルとＣＵの元のＣｒコーディングブロック中の対応するサンプルとの間の差を示し得る。
【００６１】
[0075]１つまたは複数のＰＵを有するリーフＣＵは、１つまたは複数の変換ユニット（ＴＵ）を含むこともできる。ＣＵのＴＵは、ルーマサンプルの変換ブロックと、クロマサンプルの２つの対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備える場合がある。ビデオエンコーダ２０は、量子化され得る変換係数を生成するためにＴＵに関連する残差ブロック内のピクセル差分値を変換し得る。たとえば、ビデオエンコーダ２０は、離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換を残差ビデオデータに適用し得る。
【００６２】
[0076]ＴＵは、上記で説明したように、ＲＱＴ（ＴＵ４分木構造とも呼ばれる）を使用して指定され得る。たとえば、分割フラグは、リーフＣＵが４つの変換ユニットに分割されるかどうかを、示し得る。次いで、各変換ユニットは、さらなるサブＴＵに、さらに分割され得る。ＴＵがさらに分割されないとき、そのＴＵはリーフＴＵと呼ばれることがある。ＴＵは、必ずしも、ＰＵのサイズに限定されるとは限らない。したがって、ＴＵはＰＵよりも大きいこともあり得、または小さいこともあり得る。イントラコーディングのために、ＰＵは、同じＣＵに対して対応するリーフＴＵと並べられ得る。いくつかの例では、リーフＴＵの最大サイズは、対応するリーフＣＵのサイズに対応し得る。一般に、本開示は、別段の注記がない限り、ＣＵおよびＴＵという用語を、それぞれ、リーフＣＵおよびリーフＴＵを指すために使用する。
【００６３】
[0077]本開示では、明細書で述べられるようにサンプルの任意の１つまたは複数のブロックと、サンプルの１つまたは複数のブロックのサンプルをコーディングするために使用されるシンタックス構造とを指すために、「ビデオユニット」、「ビデオブロック」、または「ビデオデータのブロック」という用語を使用し得る。ビデオブロックの例示的な種類は、ＨＥＶＣのコンテキストにおけるＣＴＵ、ＣＵ、ＰＵ、またはＴＵ、あるいは他の規格のコンテキストにおける類似のデータ構造（たとえば、Ｈ．２６４／ＡＶＣのマクロブロックまたはそのマクロブロックパーティション）を含み得る。
【００６４】
[0078]変換係数を生成するための任意の変換の後で、ビデオエンコーダ２０は、変換係数の量子化を実行し得る。量子化は、一般に、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を実現するプロセスを指す。量子化プロセスは、係数の一部または全部に関連付けられたビット深度を低減させることができる。たとえば、ｎビットの値は、量子化中にｍビットの値に端数を丸められることができ、ここで、ｎはｍよりも大きい。
【００６５】
[0079]量子化の後で、ビデオエンコーダは、変換係数を走査し得、量子化変換係数を含む２次元の行列から１次元のベクトルを生成する。走査は、より高いエネルギー（したがってより低い周波数）の係数をアレイの前方に配置し、より低いエネルギー（したがってより高い周波数）の係数をアレイの後方に配置するように意図され得る。いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化されたベクトルを生成するために、量子化変換係数を走査するための規定の走査順を利用し得る。他の例では、ビデオエンコーダ２０は、適応走査を実行し得る。量子化変換係数を走査して１次元のベクトルを形成した後、ビデオエンコーダ２０は、たとえば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔パーティショニングエントロピー（ＰＩＰＥ）コーディングまたは別のエントロピー符号化の方法に従って、１次元のベクトルをエントロピー符号化し得る。ビデオエンコーダ２０は、ビデオデータを復号する際にビデオデコーダ３０が使用するための、符号化ビデオデータに関連付けられたシンタックス要素をエントロピー符号化することもできる。
【００６６】
[0080]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルにコンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が０ではないかどうかに関係し得る。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルに対する可変長コードを選択し得る。ＶＬＣの中の符号語は、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように、構成され得る。このようにして、ＶＬＣの使用は、たとえば、送信されるべき各シンボルのために等長符号語を使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
【００６７】
[0081]加えて、ビデオエンコーダ２０は、たとえば、残差データを逆量子化し、逆変換することによって符号化ピクチャを復号し、残差データを予測データと組み合わせることができる。このようにして、ビデオエンコーダ２０は、ビデオデコーダ３０によって実施される復号プロセスをシミュレートし得る。したがって、ビデオエンコーダ２０とビデオデコーダ３０はどちらも、イントラピクチャ予測、インターピクチャ予測、またはイントラＢＣ予測に使用される復号ビデオデータとして、実質的に同じ復号ビデオデータ、たとえば、ピクチャまたはピクチャから得たブロックにアクセスする。
【００６８】
[0082]ビデオエンコーダ２０は、シンタックス要素を含む、コード化ピクチャおよび関連データの表現を形成するビットのシーケンスを含む符号化ビデオビットストリームを出力し得る。ビットストリームは、ネットワークアブストラクションレイヤ（ＮＡＬ）ユニットのシーケンスを備える場合がある。ＮＡＬユニットの各々は、ＮＡＬユニットヘッダを含み得、ローバイトシーケンスペイロード（ＲＢＳＰ：raw byte sequence payload）をカプセル化し得る。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを示すシンタックス要素を含む場合がある。ＮＡＬユニットのＮＡＬユニットヘッダによって指定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化された整数個のバイトを含んでいるシンタックス構造を備え得る。いくつかの事例では、ＲＢＳＰは０ビットを含む。
【００６９】
[0083]異なるタイプのＮＡＬユニットは、異なるタイプのＲＢＳＰをカプセル化することができる。たとえば、第１のタイプのＮＡＬユニットはパラメータセットのためのＲＢＳＰをカプセル化し得、第２のタイプのＮＡＬユニットはコード化スライスのためのＲＢＳＰをカプセル化し得、第３のタイプのＮＡＬユニットは補足エンハンスメント情報（ＳＥＩ：supplemental enhancement information）のためのＲＢＳＰをカプセル化し得、以下同様である。（パラメータセットおよびＳＥＩメッセージのためのＲＢＳＰとは対照的に）ビデオコーディングデータのためのＲＢＳＰをカプセル化するＮＡＬユニットは、ビデオコーディングレイヤ（ＶＣＬ：video coding layer）ＮＡＬユニットと呼ばれることがある。コード化スライスをカプセル化するＮＡＬユニットは、本明細書ではコード化スライスＮＡＬユニットと呼ばれることがある。コード化スライスのためのＲＢＳＰはスライスヘッダとスライスデータとを含み得る。
【００７０】
[0084]ビデオエンコーダ２０は、符号化ビデオデータに加えて、ビデオデータの特定のブロックをどのように復号すべきか、またはそのブロックのグループ分けをビデオデコーダに通知するシンタックス要素を符号化ビデオビットストリームに含め得る。ビデオエンコーダ２０は、たとえばそれが参照するビデオ構造の種類（たとえば、シーケンス、ピクチャ、スライス、ブロック）、およびその値が変更され得る頻度に応じて、シンタックス要素を様々なシンタックス構造に含め得る。たとえば、ビデオエンコーダ２０は、シンタックス要素をビデオパラメータセット（ＶＰＳ）、シーケンスパラメータセット（ＳＰＳ）、またはピクチャパラメータセット（ＰＰＳ）などのパラメータセットに含め得る。他の例として、ビデオエンコーダ２０は、シンタックス要素をＳＥＩメッセージおよびスライスヘッダに含め得る。
【００７１】
[0085]概して、ビデオデコーダ３０は、ビデオエンコーダによって実行される符号化プロセスの逆である復号プロセスを実施し得る。たとえば、ビデオデコーダ３０は、量子化されたビデオデータをエントロピー符号化するためにビデオエンコーダによって使用されるエントロピー符号化技法の逆を使用してエントロピー復号を実施し得る。ビデオデコーダ３０は、ビデオエンコーダ２０によって使用される量子化技法の逆を使用してビデオデータをさらに逆量子化することができ、量子化された変換係数を生成するためにビデオエンコーダ２０によって使用された変換の逆を実施し得る。次いで、ビデオデコーダ３０は、最終的な表示用のビデオブロックを生成するために、隣接参照ビデオデータ（イントラ予測）、別のピクチャからの予測ブロック（インター予測）または同じピクチャからの予測ブロック（イントラＢＣ）に、得られた残差ブロックを適用し得る。ビデオデコーダ３０は、ビデオデコーダ３０によって受信されたビットストリーム中の符号化ビデオデータとともに、ビデオエンコーダ２０によって提供されるシンタックス要素に基づいて、ビデオエンコーダ２０によって実施される様々なプロセスの逆を実施するために構成され、命令され、制御され、または導かれ得る。
【００７２】
[0086]各ピクチャは、ルーマ成分および１つまたは複数のクロマ成分を備え得る。したがって、本明細書で説明するブロックベースの符号化動作および復号動作は、ルーマピクセル値またはクロマピクセル値を含むかあるいはルーマピクセル値またはクロマピクセル値に関連するブロック、たとえば、ＣＵ、ＰＵ、およびＴＵに同様に適用可能であり得る。
【００７３】
[0087]イントラＭＣ（イントラＢＣとも呼ばれる）は、Ｂｕｄａｇａｖｉら「AHG8:Video coding using Intra motion compensation」文献：ＪＣＴＶＣ−Ｍ０３５０、ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ  ３およびＩＳＯ／ＩＥＣＪＴＣ１／ＳＣ  ２９／ＷＧ  １１のビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）、第１３回会合、仁川、韓国、２０１３年４月１８日〜２６日（以下では「ＪＣＴ−ＶＣ  Ｍ０３０５０と呼ぶ」）において報告されたようにイントラピクチャ冗長性を解消し、イントラフレームコーディング効率を向上させるのを可能にする専用技法である。ＪＣＴ−ＶＣ  Ｍ０３５０は、その全体が参照により本明細書に組み込まれており、
http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id=7601からダウンロード可能である。ＪＣＴ−ＶＣ  Ｍ０３５０によれば、イントラＭＣは、（１）現在のビデオブロック、たとえば、ＣＵから変位された予測信号の位置、たとえば、同じフレームまたはピクチャ内のブロックを示す１次元オフセットまたは変位ベクトル（ここではブロックベクトル、動きベクトル、または「ＭＶ」とも呼ばれる）を（２）残差信号とともにコーディングすることを含む。イントラＭＣを使用するＣＵまたはその他のブロックの場合、予測信号は、同じピクチャ内のすでに再構成された領域から得られる。
【００７４】
[0088]たとえば、ＪＣＴ−ＶＣ  Ｍ０３５０において提示されたような、イントラＭＣまたはイントラＢＣに関する既存の提案のいくつかの制限およびそれらの提案に関連するいくつかの問題がある。たとえば、ＪＣＴ−ＶＣ  Ｍ０３５０において提示されたイントラＭＣ技法によれば、ビデオデータの予測ブロックは、ビデオデータの現在のブロックの真上またはすぐ左のいずれかでなくてはならず、すなわち、予測ブロックの探索範囲は、ビデオデータの現在のブロックの真上またはすぐ左のブロックのみを含む。したがって、ＪＣＴ−ＶＣ  Ｍ０３５０において提示されたイントラＭＣ技法によれば、ビデオエンコーダは、１次元ブロックベクトルを指定する情報のみをビデオデコーダにシグナリングする。ブロックベクトルは、水平変位または垂直変位であり、ビデオエンコーダは、この方向をビデオデコーダにシグナリングするためのフラグを符号化する。
【００７５】
[0089]別の例として、ＪＣＴ−ＶＣ  Ｍ０３５０に提示されたイントラＭＣ技法によれば、動きベクトルは現在のＬＣＵまたはＣＴＵの外側の位置を指し示すことができ、それによって、ＬＣＵレベルパイプライニングをサポートする必要があるときにシステム設計が複雑になることがある。たとえば、ＬＣＵレベルにおいてパラレルコーディングが実行されるとき、現在のＬＣＵと同じピクチャ内の他のＬＣＵは、現在のＣＵのコーディングの間再構成されない。したがって、そのようなＬＣＵ内のＣＵは、イントラＭＣ予測に関する予測信号を提供するのには利用できない。さらに、ＪＣＴ−ＶＣ  Ｍ０３５０において提示されたイントラＭＣ技法によれば、動きベクトルは、それほど有効ではない固定長コード（ＦＬＣ）コーディングによって符号化される。
【００７６】
[0090]上述のように、ビデオコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０が、１次元ベクトルによって識別される垂直方向または水平方向に隣接するブロックだけではなく、同じフレーム内すなわち、同じピクチャ内のビデオデータの以前に再構成されたブロックのより大きい組から現在のビデオブロックを予測すると有利であることがある。ビデオコーダは、予測セット内により多くのビデオブロックを含めることによって、現在のビデオブロックのより正確な予測を実現することができ、それによってコーディング効率を高める。いくつかの例では、ビデオコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、対象とする領域を、利用可能な再構成されたサンプル、および場合によってはデブロッキングフィルタ処理およびサンプル適応オフセット（ＳＡＯ）フィルタ処理などのインループフィルタ処理が実行されないサンプルを含むように定義することによって、イントラＢＣを使用して同じピクチャ内の以前にコーディングされたビデオブロックに基づいて現在のビデオブロックを予測する効率および精度を向上させるために本開示の技法を実施し得る。いくつかの例では、本開示の技法は、ビデオコーダが現在の２次元ベクトルの予測２次元ベクトル、たとえば、ビデオデータの現在のブロックのブロックベクトルまたは動きベクトルを識別しコーディングするのを可能にすることによって、イントラＢＣを使用して同じピクチャ内の以前にコーディングされたビデオブロックに基づいて現在のビデオブロックを予測する効率および精度を向上させることができる。さらに、いくつかの例において、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ブロックサイズ、ブロック位置、または様々な他の因子に基づいて適応的であり得る様々なデータ符号化技法および復号技法を使用することによって、イントラＢＣを使用して同じピクチャ内の以前にコーディングされたビデオブロックに基づいて現在のビデオブロックを予測する効率および精度を向上させることができる。
【００７７】
[0091]図２は、本開示による、同じピクチャ内のビデオデータの予測ブロックからビデオデータのブロックをイントラ予測するためのモードに従い、たとえば、本開示の技法によるイントラＢＣモードに従って、現在のピクチャ１０３内のビデオデータ１０２の現在のブロックを予測するための例示的な技法を示す概念図である。図２は、現在のピクチャ１０３内のビデオデータ１０４の予測ブロックを示す。ビデオコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、予測ビデオブロック１０４を使用して、本開示の技法によるイントラＢＣモードに従って現在のビデオブロック１０２を予測し得る。
【００７８】
[0092]ビデオエンコーダ２０は、現在のビデオブロック１０２を予測するための予測ビデオブロック１０４をビデオデータの以前に再構成されたブロックの組から選択する。ビデオエンコーダ２０は、同じく符号化ビデオビットストリームに含まれるビデオデータを逆量子化し逆変換し、得られた残差ブロックにビデオデータの再構成ブロックを予測するのに使用される予測ブロックを加算することによってビデオデータのブロックを再構成する。図４の例では、ピクチャ１０３内の対象とする領域１０８は、「対象とするエリア」または「ラスタエリア」と呼ばれることもあり、前に再構成されたビデオブロックの組を含む。ビデオエンコーダ２０は、以下でより詳細に説明するように、ピクチャ１０３内の対象とする領域１０８を様々な方法で定義し得る。ビデオエンコーダ２０は、対象とする領域１０８内の様々なビデオブロックに基づいて現在のビデオブロック１０２を予測しコーディングする相対効率および相対精度の分析に基づいて対象とする領域１０８内のビデオブロックの中から現在のビデオブロック１０２を予測するための予測ビデオブロック１０４を選択し得る。
【００７９】
[0093]ビデオエンコーダ２０は、現在のビデオブロック１０２に対する予測ビデオブロック１０４の位置または変位を表す２次元ベクトル１０６を決定する。２次元動きベクトル１０６は、それぞれ現在のビデオブロック１０２に対する予測ビデオブロック１０４の水平変位および垂直変位を表す水平変位成分１１２および垂直変位成分１１０を含む。ビデオエンコーダ２０は、２次元動きベクトル１０６を識別または定義する、たとえば、水平変位成分１１２および垂直変位成分１１０を定義する１つまたは複数のシンタックス要素を符号化ビデオビットストリームに含め得る。ビデオデコーダ３０は、２次元動きベクトル１０６を決定するために１つまたは複数のシンタックス要素を復号し、決定されたベクトルを使用して現在のビデオブロック１０２関する予測ビデオブロック１０４を識別し得る。
【００８０】
[0094]いくつかの例では、２次元動きベクトル１０６の解像度は、整数ピクセルであり得、たとえば、整数ピクセル解像度を有するように制約され得る。そのような例では、水平変位成分１１２および垂直変位成分１１０の解像度は整数ピクセルになる。そのような例では、ビデオエンコーダ２０およびビデオデコーダ３０が、現在のビデオブロック１０２に関する予測子（predictor）を決定するうえで予測ビデオブロック１０４のピクセル値を補間する必要はない。
【００８１】
[0095]他の例では、水平変位成分１１２と垂直変位成分１１０の一方または両方の解像度はサブピクセルであり得る。たとえば、成分１１２および１１４の一方は整数ピクセル解像度を有し得、他方の成分はサブピクセル解像度を有する。いくつかの例では、水平変位成分１１２と垂直変位成分１１０の両方の解像度がサブピクセルであり得るが、水平変位成分１１２と垂直変位成分１１０が異なる解像度を有し得る。
【００８２】
[0096]いくつかの例では、ビデオコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、特定のレベル、たとえば、ブロックレベル、スライスレベル、またはピクチャレベルの適応に基づいて、水平変位成分１１２および垂直変位成分１１０の解像度を適応させ得る。たとえば、ビデオエンコーダ２０は、水平変位成分１１２および垂直変位成分１１０の解像度が整数ピクセル解像度であるかそれとも整数ピクセル解像度ではないかを示すフラグをスライスレベルにおいて、たとえば、スライスヘッダ内でシグナリングし得る。フラグが、水平変位成分１１２および垂直変位成分１１０の解像度が整数ピクセル解像度ではないことを示す場合、ビデオデコーダ３０は、解像度がサブピクセル解像度であると推定し得る。いくつかの例では、必ずしもフラグとは限らない、水平変位成分１１２および／または垂直変位成分１１０の集合的な解像度または個々の解像度を示す１つまたは複数のシンタックス要素が、ビデオデータのスライスまたは他のユニットごとに送信され得る。
【００８３】
[0097]さらに他の例では、フラグまたはシンタックス要素の代わりに、ビデオエンコーダ２０は、解像度コンテキスト情報から得た水平変位成分１１２および／または垂直変位成分１１０に基づいて設定し得、ビデオデコーダ３０は、解像度コンテキスト情報から水平変位成分１１２および／または垂直変位成分１１０の解像度を推定し得る。解像度コンテキスト情報には、例として、現在のビデオブロック１０２を含むピクチャまたはピクチャのシーケンスに関する色空間（たとえば、ＹＵＶ、ＲＧＢなど）、特定のカラーフォーマット（たとえば、４：４：４、４：２：２、４：２：０など）、フレームサイズ、フレームレート、または量子化パラメータ（ＱＰ）を含め得る。少なくともいくつかの例では、ビデオコーダは、前にコーディングされたフレームまたはピクチャに関する情報に基づいて水平変位成分１１２および／または垂直変位成分１１０の解像度を決定し得る。このようにして、水平変位成分１１２の解像度および垂直変位成分１１０の解像度は、あらかじめ定義され、シグナリングされ、あるいは他の副次的情報（たとえば、解像度コンテキスト情報）から推定され、あるいはすでにコーディングされたフレームに基づき得る。
【００８４】
[0098]現在のビデオブロック１０２は、ＣＵまたはＣＵのＰＵであり得る。いくつかの例では、ビデオコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、イントラＢＣに従って予測されるＣＵをいくつかのＰＵに分割し得る。そのような例では、ビデオコーダは、ＣＵのＰＵの各々に関するそれぞれの（たとえば、異なる）２次元ベクトル１０６を決定し得る。たとえば、ビデオコーダは、２Ｎｘ２Ｎ  ＣＵを２つの２ＮｘＮ  ＰＵ、２つのＮｘ２Ｎ  ＰＵ、または４つのＮｘＮ  ＰＵに分割し得る。他の例として、ビデオコーダは、２Ｎｘ２Ｎ  ＣＵを（（Ｎ／２）ｘＮ＋（３Ｎ／２）ｘＮ）ＰＵ、（（３Ｎ／２）ｘＮ＋（Ｎ／２）ｘＮ）ＰＵ、（Ｎｘ（Ｎ／２）＋Ｎｘ（３Ｎ／２））ＰＵ、（Ｎｘ（３Ｎ／２）＋Ｎｘ（Ｎ／２））ＰＵ、４つの（Ｎ／２）ｘ２Ｎ  ＰＵ、または４つの２Ｎｘ（Ｎ／２）ＰＵに分割し得る。いくつかの例では、ビデオコーダは、２Ｎｘ２Ｎ  ＰＵを使用して２Ｎｘ２Ｎ  ＣＵを予測し得る。
【００８５】
[0099]現在のビデオブロック１０２は、ルーマビデオブロックであっても、またはルーマビデオブロックに対応するクロマビデオブロックであり得る。いくつかの例では、ビデオエンコーダ２０は、ルーマビデオブロックに関する２次元ベクトル１０６を定義する１つまたは複数のシンタックス要素を符号化ビデオビットストリームに符号化するだけであり得る。そのような例では、ビデオデコーダ３０は、ルーマブロックについてシグナリングされる２次元ベクトルに基づいてルーマブロックに対応する１つまたは複数のクロマブロックの各々に関する２次元ベクトル１０６を導出し得る。
【００８６】
[0100]ビデオコーダは、カラーフォーマット、たとえば、カラーサンプリングフォーマットまたはクロマサンプリングフォーマットに応じて、ルーマビデオブロックに対して対応するクロマビデオブロックをダウンサンプリングし得る。カラーフォーマット４：４：４はダウンサンプリングを含まず、すなわち、クロマブロックは水平方向および垂直方向においてルーマブロックと同じ数のサンプルを含む。カラーフォーマット４：２：２は、水平方向においてダウンサンプリングされ、すなわち、ルーマブロックに対して、クロマブロック内の水平方向におけるサンプルの数は２分の１である。カラーフォーマット４：２：０は、水平方向および垂直方向においてダウンサンプリングされ、すなわち、ルーマブロックに対して、クロマブロック内の水平方向および垂直方向におけるサンプルの数は２分の１である。
【００８７】
[0101]ビデオコーダが、クロマビデオブロックに関するベクトル１０６を対応するルーマブロックに関するベクトル１０６に基づいて決定する例では、ビデオコーダはルーマベクトルを修正することが必要になる場合がある。たとえば、ルーマベクトル１０６が、奇数のピクセルである整数解像度を水平変位成分１１２および／または垂直変位成分１１０に関して有し、カラーフォーマットが４：２：２または４：２：０である場合、変換後のルーマベクトルは、対応するクロマブロック内の整数ピクセル位置を指し示さない。そのような例では、ビデオコーダは、対応するクロマブロックを予測するためにルーマベクトルをクロマベクトルとして使用できるようにスケーリングし得る。いくつかの例では、ビデオエンコーダ２０は、クロマブロックを予測するのに使用される変換後のルーマベクトル１０６が、再構成されていない予測クロマブロックまたはインループフィルタ処理された予測クロマブロックを指し示さないように、対象とする領域１０８を定義しても、あるいは変換後のベクトルをスケーリングし得る。
【００８８】
[0102]図３は、ビデオエンコーダ２０がビデオデータの現在のブロックを予測するためのビデオデータの予測ブロックを選択することのできる、対象とする領域を定義するための例示的な技法を示す概念図である。図３に示されている例では、ビデオエンコーダ２０は、ビデオデータ１２２の現在のブロックを予測し符号化している。ビデオエンコーダ２０は、現在のビデオブロック１２２を予測するために対象とする領域１２８内のビデオデータ１２４の予測ブロックを選択する。ビデオエンコーダ２０は、現在のビデオブロック１２２に対する予測ビデオブロック１２４の変位を示す水平変位成分１３２および垂直変位成分１３０を含む２次元ベクトル１２６を決定する。ビデオエンコーダ２０は、２次元ベクトル１２６を定義する符号化ビデオビットストリーム内の１つまたは複数のシンタックス要素を符号化する。
【００８９】
[0103]いくつかの例では、ビデオエンコーダ２０は、特にビデオデコーダ３０における実施および処理上の複雑さを低減できるように、対象とする領域１２８を定義し、たとえば、高さ、幅、またはその他の寸法などの、対象とする領域のサイズを定める。ビデオエンコーダ２０は、そうする際に、２次元ベクトル１２６のサイズを限定し、たとえば、垂直変位成分１３０および／または水平変位成分１３２のサイズを限定する。いくつかの例では、ビデオエンコーダ２０は、ビデオエンコーダ２０およびビデオデコーダ２０によるビデオデータの並列処理を容易にするために対象とする領域１２８を限定する。いくつかの例では、ビデオエンコーダ２０は、デブロッキングフィルタ処理およびサンプル適応オフセット（ＳＡＯ）フィルタ処理などのインループフィルタ処理なしで、ならびにビデオコーダのメモリ要件を過度に課すことも、あるいはインループフィルタ処理の適用を遅延することもなしに、予測ビデオブロックの使用を容易にするために対象とする領域１２８を限定する。
【００９０】
[0104]図３に示されているように、現在のビデオブロック１２２は、現在のＬＣＵ  １３４内に位置する。図３は、現在のＬＣＵの左に隣接する（左側の）ＬＣＵ  １３６も示す。左ＬＣＵ  １３６は、ピクチャのビデオブロックが一般に左上から右下へのラスタスキャン順序で符号化されるので図３に示されている。ピクチャのビデオブロックが異なる順序でコーディングされる例において、左ＬＣＵ  １３６に関する以下の説明は、現在のＬＣＵ  １３４の異なる隣接ＬＣＵに当てはまり得る。
【００９１】
[0105]いくつかの例では、ビデオエンコーダ２０は、取り出される（fetched）予測ビデオブロック１２４が現在のビデオブロック１２２と同じＬＣＵ内、すなわち、現在のＬＣＵ  １３４内に位置するように、対象とする領域１２８を限定し得る。対象とする領域１２８を現在のＬＣＵ  １３４に限定すると、ビデオコーダの処理ユニットは現在のＬＣＵのブロックをコーディングする際に別のＬＣＵからの情報を必要としないので、ビデオコーダによるＬＣＵの並列処理を容易にすることができる。
【００９２】
[0106]対象とする領域１２８が現在のＬＣＵ  １３４に限定されるいくつかの例では、２次元ベクトル１２６は、現在のビデオブロック１２２が現在のＬＣＵ  １３４の最上ブロックである場合には水平ベクトルに限定され得、現在のビデオブロック１２２が現在のＬＣＵ  １３４の最左ブロックである場合には垂直ベクトルに限定され得る。そのような例では、ビデオエンコーダ２０は、２次元ベクトル１２６の水平変位成分１３２を定義する１つまたは複数のシンタックス要素を符号化し得、現在のビデオブロック１２２が現在のＬＣＵ  １３４の最上ブロックである場合にはゼロになる２次元ベクトル１２６の垂直変位成分１３０を定義する１つまたは複数のシンタックス要素を符号化する必要はない。同様に、ビデオエンコーダ２０は、２次元ベクトル１２６の垂直変位成分１３０を定義する１つまたは複数のシンタックス要素を符号化し得、現在のビデオブロック１２２が現在のＬＣＵ  １３４の最左ブロックである場合にはゼロになる２次元ベクトル１２６の水平変位成分１３２を定義する１つまたは複数のシンタックス要素を符号化する必要はない。同様に、対象とする領域１２８が現在のＬＣＵ  １３４に限定され、現在のビデオブロック１２２が現在のＬＣＵ  １３４の左上ユニットである場合、２次元ベクトル１２６の水平変位成分１３０と垂直変位成分１３２はどちらもゼロである必要がある。この状況が発生するいくつかの例において、ビデオエンコーダ２０は、イントラＢＣを実行せず、２次元ベクトル１２６を示すシンタックス要素または現在のビデオブロック１２２がイントラＢＣに従って予測されるかどうかを示す任意のフラグなど、イントラＢＣに関する任意のシンタックス要素をシグナリングする必要がないことがある。
【００９３】
[0107]対象とする領域が現在のＬＣＵに限定され、現在のビデオブロックが現在のＬＣＵ内の特定の位置内に位置するときにイントラＢＣに関するシグナリングを低減させるためのこれらの技法は、ＪＣＴ−ＶＣ  Ｍ０３５０において提案されたような１次元動きベクトルに限定されたイントラＢＣ技法に適用され得る。たとえば、垂直動きベクトルが現在のＬＣＵ内に位置するように制限され、現在のユニットが最上ユニットである場合、動きが垂直方向であるかそれとも水平方向であるかをシグナリングする必要はない。
【００９４】
[0108]いくつかの例において、ビデオエンコーダ２０は、対象とする領域１２８が現在のＬＣＵ  １３４内に位置し、再構成された領域の一部が１つまたは複数の隣接ＬＣＵ内、たとえば、図３に示されているような左ＬＣＵ  １３６内に位置するように制限し得る。このようにして、ビデオエンコーダ２０は、現在のＬＣＵ  １３４内の再構成ブロックに加えて、図３に示されているように左ＬＣＵ  １３６などの１つまたは複数の隣接ＬＣＵの再構成された領域内のブロックのみを参照できるように２次元ベクトル１２６を制限し得る。
【００９５】
[0109]いくつかの例において、ビデオエンコーダ２０は、現在のＬＣＵ  １３４のサイズに基づいて対象とする領域１２８のサイズを限定する。たとえば、図３に示されているように、ビデオエンコーダ２０は、対象とする領域１２８が垂直方向において現在のＬＣＵ  １３４および左ＬＣＵ  １３６を越えて延びることのないように、現在のＬＣＵ  １３４の高さ（または垂直方向上限）に基づいて対象とする領域１２８の高さ１３８を限定し得る。ＬＣＵ（またはＣＴＢ）のサイズは、ビデオエンコーダ２０によって、たとえば、スライスヘッダ、パラメータセット、またはＳＥＩメッセージを介して、符号化ビデオビットストリームにおいてビデオデコーダ３０にシグナリングされ得、したがって、ＬＣＵサイズに基づく対象とする領域に対する制限も事実上ビデオデコーダ３０にシグナリングされてよい。いくつかの例において、ビデオエンコーダ２０は、整数個のピクセルに基づいて対象とする領域１２８の現在のビデオブロック１２２の左側にサイズ、たとえば高さ１３８または幅１４０を制限する。たとえば、ビデオエンコーダ２０は現在のビデオブロック１２２の左側の幅１４０をＬＣＵ  １３４および１３６の幅に相当し得る整数個のピクセル、６４個などに制限し得る。
【００９６】
[0110]ビデオエンコーダ２０は、デブロッキングフィルタ処理およびサンプル適応オフセット（ＳＡＯ）フィルタ処理などのインループフィルタ処理が行われていない再構成ビデオブロックを含むように対象とする領域１２８を制限し得る。このようにして、ビデオエンコーダ２０は、現在のＬＣＵ  １３４に加えて、インループフィルタ処理が実行されなかった左ＬＣＵ  １３６などの、隣接ＬＣＵの再構成されたエリアのブロックのみを参照できるようにイントラＢＣに関する２次元ベクトルを制限し得る。ビデオエンコーダ２０は、対象とする領域１２８のサイズを大きくし得るが、そのような増大は、インループフィルタ処理および対象とする領域内のビデオブロックのさらなる処理を遅延させるか、またはインループフィルタ処理の前に追加のメモリにサンプルを記憶させておくことが必要になる可能性がある。したがって、ビデオエンコーダ２０は、予測精度と効率とのバランスをとるように対象とする領域１２８をたとえば本明細書において説明するように限定し得る。
【００９７】
[0111]図４Ａ〜図４Ｃは、隣接ＬＣＵにおいてデブロックフィルタ処理されたビデオデータのサンプルに対して対象とする領域１２８を定義するための境界を示す概念図である。ＨＥＶＣによれば、ビデオコーダは、各８ｘ８ブロックについてデブロックフィルタ処理を適用し得、適用されるときには、エッジに沿ったサンプルの３つの列のみが影響を受ける。したがって、いくつかの例において、ビデオエンコーダ２０は、現在のＬＣＵの外側を参照するように、対象とする領域を拡張し、２次元ブロックベクトルサイズを大きくし得るが、対象とする領域およびブロックベクトルサイズを、前にコーディングされた隣接するＬＣＵ内のインループフィルタ処理されていないエリアに限定し得る。
【００９８】
[0112]図４Ａは、現在のＬＣＵ  １５０および左に隣接するＬＣＵ  １５２を示す。図４Ａでは、左ＬＣＵ  １５２内のデブロックフィルタ処理されたピクセル１５４が黒丸によって示されている。図４Ａでは、左ＬＣＵ  １５２のエッジに近接しておらず、したがって、水平デブロックフィルタ処理の影響を受けずまた垂直デブロックフィルタ処理の影響も受けないのでデブロックフィルタ処理されない非デブロックフィルタ処理ピクセル１５６が、グレーの丸として示されている。図４Ａでは、左ＬＣＵ  １５２のエッジに近接しているが、右ＬＣＵも下方ＬＣＵも利用できないのでまだデブロックフィルタ処理されていない非デブロックフィルタ処理ピクセル１５８が、白丸として示されている。線１６０は、対象とする領域の例示的な境界、および現在のＬＣＵ  １５０内のビデオデータのブロックを符号化する際にビデオエンコーダ２０によって適用することのできる２次元ブロックベクトルサイズの限界を示す。
【００９９】
[0113]図４Ｂは、現在のＬＣＵ  １６１および左に隣接するＬＣＵ  １６２を示す。図４Ｂでは、左ＬＣＵ  １６２内のデブロックフィルタ処理されたピクセル１６４が黒丸によって示されている。図４Ｂでは、左ＬＣＵ  １６２のエッジに近接しておらず、したがって、水平デブロックフィルタ処理の影響を受けずまた垂直デブロックフィルタ処理の影響も受けないのでデブロックフィルタ処理されない非デブロックフィルタ処理ピクセル１６６が、グレーの丸として示されている。図４Ｂでは、左ＬＣＵ  １６２のエッジに近接しているが、右ＬＣＵも下方ＬＣＵも利用できないのでまだデブロックフィルタ処理されていない非デブロックフィルタ処理ピクセル１６８が、白丸として示されている。
【０１００】
[0114]ビデオコーダは、水平デブロックフィルタ処理を実行し、その後デブロック垂直フィルタ処理を実行し得る。したがって、ビデオコーダは、下に隣接するＬＣＵが利用可能になったときに左ＬＣＵ  １６２の下部に沿ってピクセルを垂直方向にフィルタ処理する前に左ＬＣＵ  １６２の左下部分内のピクセルを水平方向にフィルタ処理し得る。ビデオエンコーダ２０は、そのような水平フィルタ処理を容易にするために、図４Ｂに示されている垂直線１６９などに基づいて、対象とする領域を左ＬＣＵ  １６２内に限定して、これらのピクセルの水平フィルタ処理を可能にし得る。
【０１０１】
[0115]図４Ｃは、現在のＬＣＵ  １７０および上に隣接するＬＣＵ  １７２を示す。図４Ｃでは、上に隣接するＬＣＵ  １７２内のデブロックフィルタ処理されたピクセル１７４が黒丸によって示されている。図４Ｃでは、上ＬＣＵ  １７２のエッジに近接しておらず、したがって、水平デブロックフィルタ処理の影響を受けずまた垂直デブロックフィルタ処理の影響も受けないのでデブロックフィルタ処理されない非デブロックフィルタ処理ピクセル１７６が、グレーの丸として示されている。図４Ｃでは、まだデブロックフィルタ処理されていない非デブロックフィルタ処理ピクセル１７８が、白丸として示されている。
【０１０２】
[0116]上に隣接するＬＣＵ  １７２の場合、ビデオエンコーダ２０は、図４Ｃにおいて線１８０によって示されているように対象とする領域および２次元ブロックベクトルを限定しもよい。しかし、上に隣接するＬＣＵ  １７２の場合、線１８０によって示されている限界によって、線１８０の下方のエリア内のピクセルの水平デブロックフィルタ処理が遅延することがある。ビデオエンコーダ２０は、このエリアにおける水平デブロックフィルタ処理を可能にするために、対象とする領域およびブロックベクトルの垂直方向限界を、図３に示されているように、現在のＬＣＵ内に位置するかまたは現在のＬＣＵの上部境界を越えない限界として定義し得る。
【０１０３】
[0117]図５Ａ〜図５Ｃは、隣接するＬＣＵにおいてデブロックフィルタ処理されサンプル適応オフセット（ＳＡＯ）フィルタ処理されたビデオデータのサンプルに対して対象とする領域を定義するための境界を示す概念図である。図５Ａは、現在のＬＣＵ  １９０および左に隣接するＬＣＵ  １９２を示す。図５Ａでは、左ＬＣＵ  １５２内のデブロックフィルタ処理されたピクセル１９４が黒丸によって示されている。図５Ａでは、デブロックフィルタ処理されない非デブロックフィルタ処理ピクセル１９６が、グレーの丸として示されている。図５Ａでは、まだデブロックフィルタ処理されていない非デブロックフィルタ処理ピクセル１９８が、白丸として示されている。
【０１０４】
[0118]さらに、図５Ａでは、デブロックフィルタ処理されていないが、ＳＡＯフィルタ処理されているピクセル２００がクロスハッチの丸として示されている。線２０２は、対象とする領域の例示的な境界、および現在のＬＣＵ  １９０内のビデオデータのブロックを符号化する際にビデオエンコーダ２０によって適用することのできる２次元ブロックベクトルサイズの限界を示す。ビデオエンコーダ２０は、線２０２によって示されているように、ＳＡＯフィルタ処理されたピクセル２００を避けるように対象とする領域を制限し得る。したがって、線２０２、および対象とする領域の対応する境界は、図４Ａの線１６０に対して移動され得る。
【０１０５】
[0119]図５Ｂは、現在のＬＣＵ  ２１０および左に隣接するＬＣＵ  ２１２を示す。図５Ｂでは、左ＬＣＵ  ２１２内のデブロックフィルタ処理されたピクセル２１４が黒丸によって示されている。図５Ｂでは、デブロックフィルタ処理されない非デブロックフィルタ処理ピクセル２１６が、グレーの丸として示されている。図５Ｂでは、まだデブロックフィルタ処理されていない非デブロックフィルタ処理ピクセル２１８が、白丸として示されている。さらに、図５Ｂでは、デブロックフィルタ処理されていないが、ＳＡＯフィルタ処理されているピクセル２２０がクロスハッチの丸として示されている。
【０１０６】
[0120]上述のように、ビデオコーダは、水平デブロックフィルタ処理およびそれに続くデブロック垂直フィルタ処理を実施してよい、たとえば下に隣接するＬＣＵが利用可能になったときに左ＬＣＵ  １６２の下部に沿ってピクセルを垂直方向にフィルタ処理する前に左ＬＣＵ  ２１２の左下部分内のピクセルを水平方向にフィルタ処理し得る。ビデオエンコーダ２０は、そのような水平フィルタ処理を容易にするために、図５Ｂに示されている垂直線２２２などに基づいて、対象とする領域を左ＬＣＵ  ２１２内に限定して、これらのピクセルの水平フィルタ処理を可能にし得る。さらに、ビデオエンコーダ２０は、線２２２によって示されているように、ＳＡＯフィルタ処理されたピクセル２２０を避けるように対象とする領域を制限し得る。したがって、線２０２、および対象とする領域の対応する境界は、図４Ｂの線１６９に対して移動され得る。
【０１０７】
[0121]図５Ｃは、現在のＬＣＵ  ２３０および上に隣接するＬＣＵ  ２３２を示す。図５Ｃでは、上に隣接するＬＣＵ  ２３２内のデブロックフィルタ処理されたピクセル２３４が黒丸によって示されている。図５Ｃでは、デブロックフィルタ処理されない非デブロックフィルタ処理ピクセル２３６が、グレーの丸として示されている。図５Ｃでは、まだデブロックフィルタ処理されていない非デブロックフィルタ処理ピクセル２３８が、白丸として示されている。さらに、図５Ｃでは、デブロックフィルタ処理されていないが、ＳＡＯフィルタ処理されているピクセル２４０がクロスハッチの丸として示されている。
【０１０８】
[0122]上に隣接するＬＣＵ  ２３２の場合、ビデオエンコーダ２０は、対象とする領域および２次元ブロックベクトルを、図４Ｃにおける線１８０とは異なる位置にあり得る図５Ｃにおける線２４２によって示されているように、デブロックフィルタ処理されＳＡＯフィルタ処理されたピクセルを避けるように制限し得る。しかし、上述のように、対象とする領域を上に隣接するＬＣＵ内に延ばすと、上に隣接するＬＣＵ内のピクセルの水平デブロックフィルタ処理が遅延することがある。ビデオエンコーダ２０は、このエリアにおける水平デブロックフィルタ処理を可能にするために、対象とする領域およびブロックベクトルの垂直方向限界を、たとえば図３に示されているように、現在のＬＣＵ内に位置するかまたは現在のＬＣＵの上部境界を越えない限界として定義し得る。
【０１０９】
[0123]図６は、隣接する最大コーディングユニットにおいてデブロックフィルタ処理されたビデオデータのサンプルに対して対象とする領域を定義するための境界を示す概念図である。図６は、現在のＬＣＵ  ２５０および左に隣接するＬＣＵ  ２５２を示す。図６はまた、実線の丸によって、デブロックフィルタ処理されたピクセル２５４を示し、白丸によって、デブロックフィルタ処理されていないピクセル２５６を示す。
【０１１０】
[0124]いくつかの例では、ビデオエンコーダ２０は、線２５８の右側に位置する左ＬＣＵ  ２５２の一部のみを対象とする領域として使用できるように、対象とする領域および２次元ブロックベクトルの水平成分を限定し得る。左ＬＣＵ  ２５２の左境界の水平デブロッキングが影響を及ぼし得るのは左ＬＣＵ  ２５２内のピクセルの３つの最左列のみなので、現在のＬＣＵ  ２５０のコーディングと左ＬＣＵ  ２５２の左境界のデブロッキングが同時に実行され得る。
【０１１１】
[0125]２次元ブロックベクトルの文脈において説明したが、図３、図４Ａ〜図４Ｃ、図５Ａ〜図５Ｃ、および図６に関して説明する対象とする領域を定義するための技法は、たとえばＪＣＴ-ＶＣ  Ｍ０３５０に記載された１次元ブロックベクトルを使用するイントラＢＣなどの、１次元ブロックベクトルを使用するイントラＢＣに適用され得る。たとえば、垂直動きベクトルを現在のＬＣＵに制限する代わりに、１次元ブロックベクトルを使用するイントラＢＣを実行するときに、垂直動きベクトルを頂部に隣接するＬＣＵから４つの追加の最下部線まで延ばすことが可能とされ得る。
【０１１２】
[0126]ビデオエンコーダ２０は、インループフィルタ処理されたビデオブロックを除外するように対象とする領域を定義するが、ビデオコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、そのようなビデオブロックおよびイントラＢＣモードによってコーディングされた現在のビデオブロックを最終的にインループフィルタ処理し得る。いくつかの例において、ビデオコーダは、イントラモードによってコーディングされたビデオブロック、たとえばＣＵにも適用されるデブロッキングフィルタを、本明細書において説明するイントラＢＣモードを使用してコーディングされたビデオブロック、たとえば、ＣＵに適用する。いくつかの例において、ビデオコーダは、インターモードによってコーディングされたビデオブロック、たとえばＣＵにも適用されるデブロッキングフィルタを、本明細書において説明するイントラＢＣモードを使用してコーディングされたビデオブロック、たとえば、ＣＵに適用する。いくつかの例では、デブロッキングフィルタのイントラモードまたはインターモードからの使用または任意の他のデブロッキングフィルタのイントラＢＣモードでの使用は、たとえば、ユニットごと、スライスごと、ピクチャごと、またはシーケンスごとに選択され得る。
【０１１３】
[0127]ビデオエンコーダ２０は、補間フィルタのオン／オフおよび長さに基づいてビデオデータの現在のブロックに関する対象とする領域を定義し得る。概して、サブペル位置（たとえば、１／２）におけるピクセルに対する補間は、隣接する整数位置（たとえば、・・・−ｋ，・・・−１，０，１，・・・ｋ＋１）におけるピクセルを必要とする。ＨＥＶＣでは、ルーマピクセルの場合はｋ＝３であり、クロマピクセルの場合はｋ＝１である。
【０１１４】
[0128]クロマピクセルの場合、ビデオエンコーダ２０は、垂直方向に取り込まれた（vertically fetched）クロマピクセルが確実に対象とする領域内に位置し、たとえば、現在のＬＣＵの垂直境界の下方に位置するように、最小垂直クロマ動きベクトル成分（たとえば、最大の負の垂直クロマ動きベクトル成分、またはピクチャ境界の頂部からの最高位置に対応する垂直クロマ動きベクトル成分）ＭＶｃ＿ｙを現在のＬＣＵの行ｋ（すなわち、第１の行が行０である）を指し示すように制限し得る。ビデオエンコーダ２０は、最大クロマ動きベクトル（最小の負のクロマ動きベクトル、またはピクチャ境界の頂部からの最低位置に対応するクロマ動きベクトル）ＭＶｃ＿ｙを-CU_height_chroma-kに制限し得る。対象とする領域をそのように限定する理由は、MVc_y = -CU_height_chromaである場合、予測ブロックは現在のＣＵの真上に隣接するからである。したがって、MVc_y = -CU_height_chroma-0.5である場合、ビデオコーダは、現在のＣＵを予測している間は利用できない、現在のＣＵ内のｋ個のピクセルを含む、隣接する整数位置を使用して予測ブロックを補間する必要がある。
【０１１５】
[0129]同様に、水平方向において、取り込まれたクロマピクセルを対象とする領域、たとえば、現在のＬＣＵおよび左ＬＣＵ内に確実に位置させるために、ＭＶｃ＿ｘが１に制限され得る。最小値ＭＶｃ＿ｘは、左ＬＣＵの列ｋ（第１の列が列０である）を指し示す。２．最大値MVc_x = -CU_width_chroma-k.
【０１１６】
[0130]さらに、ビデオエンコーダ２０は、水平方向において、取り込まれたクロマピクセルが、現在のＬＣＵおよび左に隣接するＬＣＵのＮ個の最右列を含む対象とする領域内に位置するように、対象とする領域を限定し得る。例として、Ｎは、カラーフォーマットが４：２：２または４：２：０である場合、クロマについては２であり、ルーマについては４であり、カラーフォーマットが４：４：４である場合、クロマとルーマの両方について４である。左に隣接するＬＣＵのＮ個の最右列は、左ＬＣＵの列ｘ、ｘ＋１、・・・ｘ＋Ｎ−１として指定され得る。いくつかの例において、ビデオエンコーダ２０は、最小値ＭＶｃ＿ｘが左ＬＣＵの列ｘ＋ｋを指し示すようにＭＶｃ＿ｋを限定し得る。左に隣接するＬＣＵがＫ個の列のみを有する（Ｋ＜＝ｘ＋ｋ）場合、最小値ＭＶｃ＿ｘは現在のＬＣＵにおけるｘ＋ｋ−Ｋを指し示す。いくつかの例では、ビデオエンコーダ２０は、最大値MVc_x = -CU_width_chroma-kになるようにＭＶｃ＿ｘを限定し得る。
【０１１７】
[0131]主としてクロマピクセルに関して説明したが、ビデオエンコーダ２０が、ブロックベクトルまたは２次元ベクトルとも呼ばれる動きベクトルの水平成分および垂直成分の最大値および最小値を決定するためのこれらの技法は、ルーマピクセルに適用され得る。さらに、上述のように、いくつかの例において、ビデオエンコーダ２０は、ルーマビデオブロックに関する２次元ベクトルを定義する１つまたは複数のシンタックス要素を符号化ビデオビットストリームに符号化するだけでよく、ビデオデコーダ３０は、ルーマブロックについてシグナリングされた２次元ベクトルに基づいてルーマブロックに対応する１つまたは複数のクロマブロックの各々に関する２次元ベクトル１０６を導出すればよい。そのような例では、ビデオコーダは、ルーマベクトルをクロマベクトルとして使用できるように修正し、たとえば、スケーリングまたはダウンサンプリングすることが必要になる場合がある。いくつかの例では、ビデオエンコーダ２０は、クロマブロックを予測するのに使用される変換後のルーマベクトルが、再構成されていない予測クロマブロックまたはインループフィルタ処理された予測クロマブロックを指し示さないように、対象とする領域１０８を定義し、ルーマブロックベクトルの水平成分および／または垂直成分の最大値および／または最小値を設定し、あるいは変換後のベクトルをスケーリングし得る。
【０１１８】
[0132]利用できないピクセルまたはインループフィルタ処理されたピクセルを使用するのを避けるように対象とする領域を定義することに加えてまたはその代わりに、ビデオコーダはピクセルパディングを使用してブロックベクトルが対象とする領域の外側を指し示すのを可能にし得る。ピクセルパディングを使用すると、対象とする領域の外側のピクセルが必要である場合、ビデオコーダは、一例として、このピクセルを対象とする領域内に位置する最も近いピクセルの値で置き換え得る。たとえば、現在のＬＣＵの最小値ＭＶｃ＿ｘが現在のＬＣＵの左に隣接するＬＣＵの列０を指し示すことができ、最大値MVc_x = -CU_width_chromaであると仮定すると、ＭＶｃ＿ｘがサブペル（すなわち、１／２）位置を指し示す場合、補間には、左に隣接するＬＣＵの左に隣接するＬＣＵからの参照ピクセルが必要である。たとえば、補間すべき位置が左に隣接するＬＣＵにおける（ｘ＝０．５，ｙ）である場合、（ｘ＝０．５，ｙ）を補間するには（−ｋ，ｙ）、（−ｋ＋１，ｙ）、（−１，ｙ）が必要である。これらのピクセルは、現在のＬＣＵの左に隣接するＬＣＵの左に隣接するＬＣＵ内に位置し得る。そのような例において、ビデオコーダは、左に隣接するＬＣＵ内に位置する（０，ｙ）におけるピクセル値を使用してこれらのピクセル値を置き換え得る。クロマピクセルに関して説明したが、ビデオコーダはこれらのピクセルパディング技法をルーマピクセルに適用し得る。
【０１１９】
[0133]いくつかの例において、現在のビデオブロック、たとえばＰＵのイントラＢＣに関する２次元ベクトルを直接指定するシンタックス要素をコーディングするのではなく、現在のビデオブロックに関する残差２次元ベクトルを、ビデオコーダがコーディングすることができ、たとえば、ビデオエンコーダ２０が符号化し、ビデオデコーダ３０が復号することができる。ビデオエンコーダ２０は、現在のビデオブロックの現在の２次元ベクトルに関する予測水平成分および予測垂直成分を有する予測２次元ベクトルを決定し得る。ビデオエンコーダ２０は、現在の２次元ベクトルと予測２次元ベクトルとの間の差に基づいて残差水平成分と残差垂直成分とを有する残差２次元ベクトルを決定し得る。ビデオデコーダ３０も、同じ予測２次元ベクトルを決定し、ビデオエンコーダ２０は、決定された予測２次元ベクトルと復号された残差２次元ベクトルの和に基づいて現在の２次元ベクトルを決定し得る。言い換えれば、ビデオコーダは、現在のビデオブロックの現在の２次元ベクトルの水平および垂直成分Ｖｉ（ｉはｘまたはｙであり得る）に関するシンタックス要素をコーディングするのではなく、予測２次元ベクトルの水平および垂直成分ＰＶｉ（ｉはｘまたはｙであり得る）を決定し、水平および垂直予測誤差Ｖｄｉ（ｉはｘまたはｙであり得る）または残差２次元ベクトルのみをコーディングし得る。
【０１２０】
[0134]ビデオエンコーダ２０およびビデオデコーダ３０は、予測２次元ベクトルを様々な方法で決定し得る。いくつかの例において、ビデオコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、イントラＢＣに従ってブロックの最新の予測を行うのに使用された直前（last）の２次元ベクトルをメモリに記憶する変数を維持し得る。そのような例において、ビデオコーダは、この記憶された直前のイントラＢＣベクトルを現在のビデオブロック、たとえば、ＰＵに関する予測２次元ベクトルとして直前のイントラＢＣブロックに使用し得る。
【０１２１】
[0135]図７は、ビデオデータ２６０の現在のブロック、およびビデオデータの現在のブロックに関する候補予測ベクトルを導出することのできるビデオデータ２６２、２６４、２６６の隣接するブロックの一例の概念図である。いくつかの例において、ビデオコーダは、インター予測に関するマージモードまたは高度動きベクトル予測（ＡＭＶＰ）モードと同様に、イントラＢＣを使用して隣接するビデオブロック、たとえばＰＵを予測するのに使用される２次元ベクトルに基づいて現在のビデオブロック、たとえばＰＵに関する予測２次元ベクトルを決定し得る。図７に示されている隣接するブロックは、左に隣接するブロック２６２、上方に（頂部に）隣接するブロック２６４、および左上方に（頂部左に）隣接するブロック２６６を含む。図７に示されている隣接するブロックは一例である。他の例において、ビデオコーダは、インター予測に関するマージモードおよびＡＭＶＰモードに従って検討され得る任意の隣接ブロックのような、より多く、より少なく、ならびに／あるいは異なる隣接ブロックのベクトルを検討し得る。
【０１２２】
[0136]予測子は、隣接ブロックのうちの選択された１つの隣接ブロックからの２次元動きベクトルの水平変位成分および／または垂直変位成分であり得る。いくつかの例において、予測子は常に、特定の隣接ユニットから得られ、たとえば、頂部に隣接するブロックまたは左に隣接するブロックである。いくつかの例において、隣接ブロックのうちのどれが現在のＰＵに関する予測２次元動きベクトルを与えるかは、ＰＵのインデックスおよび／またはＰＵ形状に基づいて決定される。いくつかの例において、予測子は、複数の隣接ユニットからの２次元動きベクトルの水平成分および／または垂直成分の関数（平均または中央値）であり得る。
【０１２３】
[0137]概して、隣接ブロックが予測２次元ベクトルを与えることができない場合、予測２次元ベクトル（または候補予測２次元ベクトル）はゼロまたはデフォルト２次元ベクトルに設定され得る。いくつかの例において、隣接ブロックのベクトルは、隣接ビデオブロックがイントラＢＣに従って予測されたときには現在のビデオブロックに関する予測ベクトルとしてのみ利用可能である。言い換えれば、イントラＭＣモードによってコーディングされていない隣接ブロックは、現在のビデオブロックに関するブロックベクトル予測には利用できないと見なされ得る。たとえば、予測子が常に左に隣接するブロックから得られ、左に隣接するブロックがイントラＭＣモードによって予測されたものであるとき、左に隣接するブロックの２次元ベクトルは予測２次元ベクトルとして使用される。予測子が常に左に隣接するブロックから得られ、左に隣接するブロックがイントラＭＣモードによって予測されたものではないとき、ビデオコーダは、ゼロベクトルまたはデフォルトベクトルを現在のビデオブロックに関する予測２次元ベクトルとして使用し得る。
【０１２４】
[0138]いくつかの例において、ビデオコーダは、隣接ビデオブロックの２次元ベクトルが、現在のビデオブロック、たとえばＣＵまたはＰＵと同じＬＣＵまたは他のより大きいコーディングユニットまたは最大のコーディングユニット内に位置していない場合、現在のビデオブロックの２次元ベクトルの予測に利用できないと見なし得る。いくつかの例において、現在のビデオブロック、たとえばＰＵまたはＣＵに関する現在の２次元ベクトルが現在のＣＵまたはＬＣＵの第１のものである場合、現在のビデオブロックに関する予測２次元ベクトルは、ゼロまたはデフォルトの２次元ベクトルに設定され得る。上に隣接するＣＵと現在のＣＵが同じＬＣＵ内に位置していない場合、上に隣接するＣＵが利用できないと見なされることがある。左に隣接するＣＵと現在のＣＵが同じＬＣＵ内に位置していない場合、左に隣接するＣＵが利用できないと見なされることもある。
【０１２５】
[0139]いくつかの例において、インター予測に関するマージモードおよびＡＭＶＰモードと同様に、ビデオエンコーダ２０およびビデオデコーダ３０は、いくつかの隣接ブロックのブロックベクトルを含む現在のビデオブロックに関する候補予測ベクトルの組を構成し得る。そのような例において、現在のビデオブロックに関する予測２次元ベクトルを生成するのにどの候補が使用されるかをシグナリングするインデックスを、ビデオエンコーダ２０が符号化し、ビデオコーダ３０が復号し得る。いくつかの例において、ビデオコーダは、たとえば、それぞれに異なる隣接ブロックからのそれぞれに異なる候補ベクトルに基づいて予測２次元ベクトルのそれぞれ水平変位成分および垂直変位成分を決定し得る。そのような例において、ビデオコーダは、それぞれのインデックスを候補リスト水平変位成分および垂直変位成分にコーディングし得る。
【０１２６】
[0140]一例として、イントラＢＣモードに従ってコーディングされた現在のＣＵの場合、ビデオコーダは、そのブロックのブロックベクトルをコーディングするために、左に隣接するＣＵおよび頂部に隣接するＣＵをチェックする。左に隣接するＣＵも頂部に隣接するＣＵも利用できない場合、たとえば、左に隣接するＣＵも頂部に隣接するＣＵもイントラＢＣに従ってコーディングされていない場合、ビデオコーダは、現在のＣＵの予測２次元ベクトルは（水平成分と垂直成分の両方について）ゼロベクトルであると決定し得る。隣接ＣＵのうちの１つのみが利用できる場合、たとえば、隣接ＣＵのうちの１つのみがイントラＢＣによってコーディングされている場合、ビデオコーダは、現在のＣＵの現在の２次元ベクトルの予測２次元ベクトルとして利用可能な隣接ＣＵを予測するのに使用されたベクトルを使用する。どちらの隣接ＣＵも利用できる場合、たとえば、どちらの隣接ＣＵもイントラＢＣによってコーディングされており、それらの２次元ベクトルが同じである場合、この２次元ベクトルは予測２次元ベクトルとして使用される。どちらの隣接ＣＵも利用可能であり、たとえば、どちらの隣接ＣＵもイントラＢＣによってコーディングされており、それらのブロックベクトルが異なる場合、ビデオコーダは、頂部に隣接するＣＵからのブロックベクトルが現在のＣＵに関する予測２次元ベクトルとして使用されるかそれとも左に隣接するＣＵからのブロックベクトルが現在のＣＵに関する予測２次元ベクトルとして使用されるかを示すようにフラグまたは他のシンタックス要素をコーディングし得る。
【０１２７】
[0141]別の例において、ビデオコーダは、（非制限的な例として）（−ｗ，０）、（−２ｗ，０）、（−８，０）、（０，０）、（０，８）、（０，−ｈ）、（０，−２ｈ）の組から得ることのできる２つ以上のデフォルトの動きベクトルを定義し得、ここにおいて、ｗおよびｈは、現在のビデオブロック、たとえばＣＵの幅および高さであり、第１の成分が水平変位であり、第２の成分が垂直変位である。左に隣接するＣＵと上に隣接するＣＵがどちらも利用できる場合、ビデオコーダは、それらのベクトルを現在のＣＵに関する第１および第２の予測２次元ベクトルとして使用し得る。隣接ＣＵの一方が利用できない場合、ビデオコーダは、デフォルトの予測ベクトルを使用して候補予測ベクトルのリスト内の利用できない予測ベクトルを置き換え得る。隣接ＣＵの両方が利用できない場合、ビデオコーダは、同じであってもまたは異なっていてもよい２つのデフォルト予測ベクトルを使用して、候補予測ベクトルのリスト内の利用できない予測ベクトルを置き換え得る。利用できない予測ベクトルを候補リスト内のデフォルトベクトルで置き換えることの利点は、予測子間の選択用のフラグが符号化ビデオビットストリームに含められ、それによって、ビデオデコーダ３０がこのフラグを条件付きで解析する必要がなくなることである。本明細書では例について、２つの隣接ブロックから導出される２つの予測ベクトルを含む候補リストに関して説明するが、他の例においてブロック／ベクトルが利用できる場合、ビデオコーダはより多くまたはより少ない隣接ブロックを検討し、より多くまたはより少ない予測２次元ベクトルを候補リストに含め得る。
【０１２８】
[0142]いくつかの例において、第１のビデオブロックおよび各ＬＣＵにおけるイントラＢＣに使用される対応する２次元ベクトルについて、ビデオコーダは、他のブロックおよびＬＣＵにおける関連するベクトルの場合とは異なる、予測２次元ベクトルを決定するための導出プロセスを使用し得る。たとえば、ビデオコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、第１のビデオブロックに関する予測２次元ベクトルおよびＬＣＵ内のイントラＢＣに使用される対応する２次元ベクトルがデフォルトの２次元ベクトルであると決定し得る。デフォルトの２次元ベクトルは（−ｗ，０）であり得、ここにおいて、ｗは現在のビデオブロック、たとえばＣＵの幅である。他の例において、デフォルトの２次元ベクトルは、（−２ｗ，０）、（−８，０）、（０，０）、（０，８）、（０，−ｈ）、（０，−２ｈ）であり得、ここにおいて、ｗおよびｈは、現在のビデオブロック、たとえばＣＵの幅および高さである。他の例において、ビデオコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、２０１３年１０月２１日に出願され、参照により全体が組み込まれている米国仮出願第６１／８９３７９４号に記載されているように第１のビデオブロックに関する予測２次元ベクトルおよびＬＣＵ内のイントラＢＣに使用される対応する２次元ベクトルを導出し得る。いくつかの例において、ビデオコーダは、ＬＣＵにおいてイントラＢＣを使用してコーディングされた第１のビデオブロックに関する予測２次元ベクトルを、ＬＣＵにおいて異なるサイズを有するかまたは異なる位置に位置するビデオブロック、たとえば、ＣＵについて異なるように導出し得、あるいは言い換えれば、ＬＣＵにおいてイントラＢＣを使用してコーディングされた第１のビデオブロックに関する予測２次元ベクトルをビデオブロックサイズまたはＬＣＵ内の位置に基づいて異なるように導出し得る。
【０１２９】
[0143]いくつかの例において、ビデオコーダは、現在のビデオブロックの２次元ベクトルの水平成分および垂直成分を決定するのに使用される１つまたは複数の方法を選択し得、フラグ、シンタックス要素に基づくことができ、あるいは他の情報に基づくことができる（特定の色空間（たとえば、ＹＵＶ、ＲＧＢなど）、特定のカラーフォーマット（たとえば、４：２：０、４：４：４など）、フレームサイズ、フレームレート、または量子化パラメータ（ＱＰ）、あるいは前にコーディングされたフレームに基づく）。
【０１３０】
[0144]いくつかの例において、ビデオエンコーダ２０は、ビデオブロック、たとえばＣＵが、イントラＭＣモードまたはイントラＢＣモードと呼ばれることもある、現在のビデオブロックを同じピクチャ内の予測ビデオブロックに基づいて予測するためのモードを使用して符号化されているかどうかをビデオデコーダ３０に示すようにフラグ、たとえば、IntraMC_flagまたはIntraBC_flagを符号化し得る。フラグは、値が、１つまたは複数のＣＵ、あるいは他のブロックまたはユニットが、たとえば、本明細書において説明するようにイントラＭＣモードまたはイントラＢＣモードを使用して符号化されているかどうかを示す１ビットフラグであり得る。ビデオコーダは、各ビデオブロック、たとえばＣＵまたはＰＵに関するフラグの値をコーディングし得、あるいはたとえばスライス内またはフレームもしくはピクチャ内またはピクチャのシーケンス内の複数のビデオブロックの各々に対するフラグの値をコーディングし得る。ビデオコーダは、例として、スライスヘッダ、パラメータセット（たとえば、ＰＰＳ）、またはＳＥＩメッセージ内にフラグをコーディングし得る。
【０１３１】
[0145]ビデオコーダは、フラグをバイパスモードでコーディングし得、あるいはコンテキストによってフラグを算術符号化、たとえば、ＣＡＢＡＣ符号化し得る。いくつかの例において、ビデオコーダは、隣接ビデオブロックに依存しない単一の固定コンテキストによってフラグを算術コーディング、たとえばＣＡＢＡＣ符号化し得る。他の例において、ビデオコーダは、隣接ビデオブロックから導出されたコンテキストによってフラグを算術コーディング、たとえばＣＡＢＡＣ符号化し得る。
【０１３２】
[0146]図７を参照すると、ビデオコーダがＣＡＢＡＣコンテキストを使用して現在のビデオブロック２６０に関するフラグをコーディングするとき、頂部（上方）に隣接するビデオブロック２６４、頂部左（左上方）に隣接するビデオブロック２６６、または左に隣接するビデオブロック２６２などの隣接ビデオブロックからコンテキストの値が導出されることができる。ビデオコーダは、頂部に隣接するビデオブロック２６４などの隣接ビデオブロックを、隣接ビデオブロックが現在のビデオブロックと同じＬＣＵ内に位置するときには現在のビデオブロックに関するコンテキストを導出するのに利用でき、隣接ビデオブロックが現在のＬＣＵの外側に位置するときには利用できないと見なし得る。
【０１３３】
[0147]一例として、現在のビデオブロックに関して、ビデオコーダはコンテキスト値＝(top IntraMC_flag==0)?0:1+(left IntraMC_flag==0)?0:1を導出し得る。いくつかの例では、ビデオコーダは常に、隣接ビデオブロック２６２、２６４、２６６のうちの特定の隣接ビデオブロック、たとえば、左に隣接するビデオブロック２６２から現在のビデオブロック２６０に関するコンテキストを導出し得、現在のビデオブロックに関するコンテキスト値は(left IntraMC_flag==0)?0:1である。いくつかの例において、ビデオコーダは、ビデオブロック、たとえばＣＵのサイズに依存するコンテキスト値を使用してフラグをコーディングする。いくつかの例において、それぞれに異なるサイズを有するビデオブロックは、それぞれに異なるコンテキスト値を有する。言い換えれば、各ビデオブロックの、たとえばＣＵの、サイズは、それぞれの一意のコンテキスト値に関連付けられ得る。いくつかの例において、それぞれに異なる既定のサイズを有するいくつかのビデオブロック、たとえばＣＵは、同じコンテキスト値を共有し、他のサイズを有するビデオブロックは、１つまたは複数の異なるコンテキスト値を使用する。言い換えれば、ビデオコーダは、複数のコンテキスト値の各々を、考えられるビデオブロックの、たとえばＣＵの、サイズのそれぞれの組または範囲に関連付け得る。
【０１３４】
[0148]いくつかの例において、ビデオコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、単項コード（unary codes）に基づいてイントラＢＣに関する２次元ベクトルの水平変位成分および垂直変位成分（たとえば、図２における２次元ベクトル１０６の水平変位成分１１２および垂直変位成分１１０）をコーディングし得る。他の例では、ビデオコーダは、指数ゴロム（Golomb）コードまたはライス−ゴロム（Rice-Golomb）コードに基づいて水平変位成分および垂直変位成分をコーディングし得る。
【０１３５】
[0149]いくつかの例において、水平変位成分および垂直変位成分は、現在のビデオブロックの上方の領域および左側の領域のみを示し得、ビデオコーダがこれらの値のサインビットを保持またはコーディングする必要はなくなることがある。いくつかの例において、ビデオコーダは、現在のビデオブロックの上方の領域および左側の領域が現在のビデオブロックに対して正の方向を表し得るように基準系を構成し得る。そのような例において、現在のビデオブロックの上方および／または左側のビデオブロックのみが候補予測ビデオブロックと見なされる場合、水平変位成分および垂直変位成分のすべての値が正（または負）の値を表し、現在のビデオブロックの上方および／または左側のビデオブロックを示すことをあらかじめ定義することができるので、ビデオコーダがサインビットを保持またはコーディングする必要はなくなることがある。
【０１３６】
[0150]いくつかの例において、たとえば、上記において説明したように、対象とする領域の定義および／またはパイプライン制約に起因して、これらの２次元ベクトルの最大サイズ（または残差２次元ベクトルなどの１つまたは複数の２次元ベクトル間の差）が小さくなることがある。そのような例において、ビデオエンコーダ２０は、切り捨てられた値を有するこれらの２次元動きベクトルを２値化し得る。いくつかの例において、ビデオエンコーダ２０は、２次元ベクトルをエントロピー符号化する際、たとえば、２次元ベクトルの水平変位成分および垂直変位成分を符号化する際に、切り捨て単項（truncated unary）コード、切り捨て指数−ゴロム（truncated exponential-golomb）コード、または切り捨てゴロム−ライス（truncated golomb-rice）コードを使用し得る。
【０１３７】
[0151]切り捨て値ビデオエンコーダ２０は、本明細書において説明する様々な切り捨て符号化方式（truncated encoding schemes）のいずれにおいても使用し得、たとえば、ＬＣＵサイズに基づいて一定であることができる。いくつかの例において、切り捨て値（truncation value）は、水平変位成分と垂直変位成分について同じであり得る。他の例において、切り捨て値は、水平変位成分と垂直変位成分について異なるものであり得る。
【０１３８】
[0152]例示的な例として、ＬＣＵのサイズが６４、たとえば６４ｘ６４であり、上記に図３に関して説明したように、２次元ベクトルの垂直成分がＬＣＵ内に位置するように制限される場合、切り捨ては、２次元ベクトルの水平成分については６３に等しいものであり得、２次元ベクトルの垂直成分については６３−ＭｉｎＣＵＳｉｚｅに等しいものであり得る。いくつかの例において、切り捨て値は、ＬＣＵ内の現在のビデオブロックの位置に応じて適応的であり得る。たとえば、２次元ベクトルの垂直成分がＬＣＵ内に位置するように制限される場合、ビデオエンコーダは、ベクトル２値化を現在のビデオブロックの頂部の位置とＬＣＵの頂部の位置との間の差に切り捨てることができる。
【０１３９】
[0153]ビデオエンコーダ２０は、バイパスモードを使用して２次元ベクトルの水平成分および垂直成分の２値化をエントロピー符号化し得、あるいはたとえばＣＡＢＡＣコンテキストによって、２値化を算術符号化し得る。たとえば、ビデオエンコーダ２０は、たとえば、図３に示されているように、予測ビデオブロックの探索を対象とする領域に制限し、２次元ベクトル（ＭＶ）の成分の分布はゼロを中心としていなくてもよい。たとえば、ＭＶ＿ｘは、現在のビデオブロック、たとえばＣＵの（同じ行の）右側のピクセルが符号化／再構成されていないので負になる傾向がある。同様に、たとえば、ＭＶ＿ｙは、現在のビデオブロック、たとえばＣＵの（同じ列の）下方のピクセルが符号化／再構成されていないので負になる傾向がある。
【０１４０】
[0154]バイパスモードでは、０の確率と１の確率が等しくなることがある。符号について、このことは、バイパスモードでは、正または負になる確率が等しいことを意味する。２次元ベクトルの成分は、正または負になる確率が等しくないので、ビデオエンコーダ２０は、コンテキスト、たとえば０．５以外の初期確率によって符号を算術符号化、たとえばＣＡＢＡＣ符号化し得る。
【０１４１】
[0155]ビデオエンコーダ２０が２次元ベクトルの水平成分（ＭＶ＿ｘ）をどのように符号化し得るかについての一例は以下の通りである。ＭＶ＿ｘに関して説明するが、この技法はまた、２次元ベクトルの垂直成分（ＭＶ＿ｙ）または現在のベクトルと予測ベクトルとの差を表す残差２次元ベクトルの水平成分または垂直成分、たとえばｍｖｄ＿ｘおよびｍｖｄ＿ｙの符号化に適用され得る。
【０１４２】
[0156]ＭＶ＿ｘは、符号値および２値化ストリング（ａｂｓ（ＭＶ＿ｘ）の場合）ｂ０  ｂ１・・・によって表され得る。第１のｂｉｎ  ｂ０は、ａｂｓ（Ｍｖ＿ｘ）＞０である（ｂ０＝１）かないか（ｂ０＝０）を示す。ビデオエンコーダ２０は、コンテキストを有するＣＡＢＡＣを使用して第１のｂｉｎ  ｂ０を符号化し得る。Ｍｖ＿ｘおよびＭｖ＿ｙのｂ０は、別個のコンテキストを有し得、あるいは同じコンテキストを共有し得る。いくつかの例において、イントラＢＣのＭＶコーディングにおけるｉ番目のｂｉｎは、インター動き補償の動きベクトルコーディングにおけるｉ番目のｂｉｎと同じコンテキストを共有する。いくつかの例において、イントラＢＣのＭＶコーディングにおけるｉ番目のｂｉｎとインター動き補償の動きベクトルコーディングにおけるｉ番目のｂｉｎはコンテキストを共有しない。
【０１４３】
[0157]後続のｂｉｎ  ｂ１ｂ２・・・はａｂｓ（ＭＶ＿ｘ）−１の値を表し、ビデオエンコーダ２０は、指数ゴロムコードをバイパスモードにおけるパラメータ３とともに使用してこれらのｂｉｎを符号化し得る。いくつかの例において、ビデオエンコーダ２０は、指数ゴロムコードの他の順序、たとえば、１、２、４、５を使用する。いくつかの例において、ｂ１は、ａｂｓ（ＭＶ＿ｘ）＝１であるか（ｂ１＝１）ないか（ｂ１＝０）を表す。いくつかの例において、ビデオエンコーダ２０は、バイパスモードまたはＣＡＢＡＣコンテキストによってｂ１を符号化し得る。
【０１４４】
[0158]いくつかの例において、ｂ２ｂ３・・・はａｂｓ（ＭＶ＿ｘ）−２の値を表し、ビデオエンコーダ２０は、バイパスモードにおいて、指数ゴロムコードをパラメータ３とともに使用して、または指数ゴロムコードの他の順序を使用してこれらのｂｉｎを符号化し得る。最後のｂｉｎは、ＭＶ＿ｘの符号を示し得、ビデオエンコーダ２０は、バイパスモードにおいてコンテキストなしでこのｂｉｎを符号化し得る。他の例において、ビデオエンコーダ２０は、ＣＡＢＡＣを１つまたは複数のコンテキストとともに使用して符号化された符号ｂｉｎを符号化し得る。ＭＶ＿ｘおよびＭＶ＿ｙの符号ｂｉｎは、別個のコンテキストを有し得、あるいは同じコンテキストを共有することも可能である。
【０１４５】
[0159]いくつかの例において、ビデオコーダ、たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、イントラＢＣモードの適用、およびフラグ、ベクトル成分、または他のシンタックスの任意の関連するコーディングを、特定のサイズのビデオブロック、すなわち、特定のサイズ基準を満たすビデオブロックに限定し得る。サイズ基準は、最大ブロックサイズおよび／または最小ブロックサイズ（たとえば、IntraMC_MaxSizeおよびIntraMC_MinSize）の一方または両方であり得る。ビデオエンコーダ２０は、たとえば、フラグまたは他のシンタックス要素を使用して、符号化ビデオビットストリームにおいて１つまたは複数のサイズ基準をビデオデコーダ３０に示し得、あるいはビデオコーダは、特定の色空間（たとえば、ＹＵＶ、ＲＧＢなど）、特定のカラーフォーマット（たとえば、４：２：０、４：４：４など）、フレームサイズ、フレームレート、量子化パラメータ（ＱＰ）などの他の情報に基づくか、または前にコーディングされたフレームに基づいて、サイズ基準を暗黙的に決定し得る。たとえば、小さいサイズに関するイントラＢＣは、システムのメモリ帯域幅要件に影響を与えることがあり、ビデオコーダは、イントラＢＣをサイズしきい値の上方のブロックに制限するように最小ブロックサイズ基準を適用し得る。
【０１４６】
[0160]図８は、本開示において説明する技法を実施し得る例示的なビデオエンコーダを示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレーム内またはピクチャ内のビデオの冗長性を低減または除去するために時間的予測またはビュー間予測に依拠する。イントラモード（Ｉモード）は、空間ベースのいくつかの圧縮モードのいずれかを指すことがある。単方向予測（Ｐモード）または双予測（Ｂモード）などのインターモードは、時間ベースのいくつかの圧縮モードのいずれかに含んでもよい。ビデオエンコーダ２０は、本明細書において説明するように、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモード、たとえば、イントラＢＣモードまたはイントラＭＣモードを利用するように構成され得る。
【０１４７】
[0161]図８の例では、ビデオエンコーダ２０は、パーティショニングユニット３３５と、予測処理ユニット３４１と、対象領域メモリ３６４と、フィルタ処理ユニット３６６と、参照ピクチャメモリ３６８と、加算器３５０と、変換処理ユニット３５２と、量子化処理ユニット３５４と、エントロピー符号化ユニット３５６とを含む。予測処理ユニット３４１は、動き推定ユニット３４２と、動き補償ユニット３４４と、イントラ予測処理ユニット３４６と、イントラブロックコピー（イントラＢＣ）ユニット３４８およびを含む。ビデオエンコーダ２０は、ビデオブロック再構成に関して、逆量子化処理ユニット３５８と、逆変換処理ユニット３６０と、加算器３６２も含む。
【０１４８】
[0162]様々な例では、ビデオエンコーダ２０のユニットは、本開示の技法を実行する役割を担い得る。また、一部の例では、本開示の技術は、ビデオエンコーダ２０のユニットの１つまたは複数の中で分割され得る。たとえば、イントラＢＣユニット３４８は、本開示の技法を単独で実行し得、あるいは動き推定ユニット３４２、動き補償ユニット３４４、イントラ予測処理ユニット３４６、対象領域メモリ３６４、およびエントロピー符号化ユニット３５６などの、ビデオエンコーダの他のユニットと組み合わせて実行し得る。
【０１４９】
[0163]図８に示されているように、ビデオエンコーダ２０はビデオデータを受信し、パーティショニングユニット３３５はデータをビデオブロックにパーティショニングする。このパーティショニングはまた、たとえば、ＬＣＵおよびＣＵの４分木構造に従う、スライス、タイル、または他のより大きいユニットへのパーティショニングならびにビデオブロックパーティショニングを含み得る。ビデオエンコーダ２０は概して、符号化すべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロック（場合によってはタイルと呼ばれるビデオブロックの組）に分割されてよい。
【０１５０】
[0164]予測処理ユニット３４１は、誤差結果（たとえば、コーディングレートおよびひずみレベル）に基づいて現在のビデオブロックのために、複数のイントラコーディングモードのうちの１つ、複数のインターコーディングモードのうちの１つ、または本開示において説明する技法によるイントラＢＣモードなど、複数の可能なコーディングモードのうちの１つを選択し得る。予測処理ユニット３４１は、得られた予測ブロックを、残差ブロックデータを生成するために加算器２５０に供給し、たとえば参照ピクチャとして他のビデオブロックを予測する際に使用できる現在のブロックを再構成するために加算器２６２に供給し得る。
【０１５１】
[0165]予測処理ユニット３４１内のイントラ予測ユニット３４６は、空間圧縮を行うために、コーディングされるべき現在のブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対する現在のビデオブロックのイントラ予測コーディングを実行し得る。予測処理ユニット３４１内の動き推定ユニット３４２および動き補償ユニット３４４は、たとえば、時間圧縮を行うために、１つまたは複数の参照ピクチャ中の１つまたは複数の予測ブロックに対して現在のビデオブロックのインター予測コーディングを実行する。
【０１５２】
[0166]動き推定ユニット３４２は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するために構成され得る。動き推定ユニット３４２と動き補償ユニット３４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット３４２によって実施される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。同様に、本開示の技法に従ってイントラＢＣに使用される２次元ベクトルは、同じフレームまたはピクチャ内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示す。イントラＢＣユニット３４８は、インター予測に関する動き推定ユニット３４２による動きベクトルの決定と同様にイントラＢＣコーディングに関する２次元ベクトル、たとえばブロックベクトルまたは動きベクトルを決定し得、あるいは動き推定ユニット３４２を利用して２次元ベクトルを決定し得る。
【０１５３】
[0167]たとえば、インター予測またはイントラＢＣ予測に関して動き推定ユニット３４２および／またはイントラＢＣユニットによって識別される予測ブロックは、絶対差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、または他の差分メトリックによって決定し得るピクセル差分に関して、コーディングすべきビデオブロックのＰＵに密に一致するブロックとして見出されるブロックである。いくつかの例において、ビデオエンコーダ２０は、参照ピクチャメモリ３６６に記憶された参照ピクチャのサブ整数ピクセル位置または対象領域メモリ３６４に記憶された現在のピクチャの対象とする領域に関する値を計算することができる。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数のピクセル位置の値を補間し得る。したがって、動き推定ユニット３４２および／またはイントラＢＣユニット３４８は、完全なピクセル位置および分数のピクセル位置に対して予測ブロックの探索を実行し、分数のピクセル精度でベクトルを出力し得る。
【０１５４】
[0168]動き推定ユニット３４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのＰＵに関する動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（List0もしくはRefPicList0）または第２の参照ピクチャリスト（List1もしくはRefPicList1）から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ３６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット３４２は、計算された動きベクトルをエントロピー符号化ユニット３５６および動き補償ユニット３４６に送る。
【０１５５】
[0169]動き補償ユニット３４４によって実施される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックを取り込むことまたは生成すること、場合によってはサブピクセル精度への補間を実施することを伴い得る。現在のビデオブロックのＰＵについての動きベクトルを受信すると、動き補償ユニット３４４は、動きベクトルが参照ピクチャリストのうち１つにおいて指す予測ブロックの位置を特定し得る。
【０１５６】
[0170]いくつかの例において、イントラＢＣユニット３４８は、上記に動き推定ユニット３４２および動き補償ユニット３４４に関して説明したのと同様に２次元ベクトルを生成し予測ブロックを取り込むが、予測ブロックは現在のブロックと同じピクチャまたはフレーム内に位置する。他の例において、イントラＢＣユニット３４８は、動き推定ユニット３４２および動き補償ユニット３４４を全体的または部分的に使用して、本明細書において説明する技法に従ってイントラＢＣ予測に関するそのような機能を実行し得る。いずれの場合も、イントラＢＣでは、予測ブロックは、ピクセル差分の観点で、コーディングされるべきブロックと密に一致することが見出されたブロックであり、ピクセル差分は、絶対差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、または他の差分メトリックによって決定され得、ブロックの識別は、サブ整数ピクセル位置に関する値の算出を含み得る。
【０１５７】
[0171]予測ビデオブロックがイントラＢＣ予測に従って同じピクチャから得られるか、それともインター予測に従って異なるピクチャから得られるかにかかわらず、ビデオエンコーダ２０は、コーディング中の現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成し得る。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分構成要素とクロマ差分構成要素の両方を含み得る。加算器２５０は、この減算演算を実行する１つまたは複数の構成要素を表す。イントラＢＣユニット３４８および／または動き補償ユニット３４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０によって使用できるようにビデオブロックとビデオスライスとに関連付けられたシンタックス要素を生成し得る。シンタックス要素は、たとえば、予測ブロックを識別するのに使用されるベクトル、予測モードを示す任意のフラグ、または本開示の技法に関して説明する任意の他のシンタックスを定義するシンタックス要素を含み得る。
【０１５８】
[0172]イントラ予測処理ユニット３４６は、上記で説明したように、動き推定ユニット３４２および動き補償ユニット３４４によって実行されるインター予測、またはイントラＢＣユニット３４８によって実行されるイントラＢＣ予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測処理ユニット３４６は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット３４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のビデオブロックを符号化することができ、イントラ予測モジュール３４６（または、いくつかの例では、予測処理ユニット３４１）は、試験されたモードから使用するのに適切なイントラ予測モードを選択することができる。たとえば、イントラ予測処理ユニット３４６は、様々な試験されたイントラ予測モードにレートひずみ分析を使用してレートひずみ値を算出し、試験されたモードのうちで最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は概して、符号化されたブロックと符号化されたブロックを生成するために符号化された符号化されていない元のブロックとの間のひずみ（またはエラー）の量、ならびに符号化されたブロックを生成するために使用されたビットレート（すなわち、ビットの数）を決定する。イントラ予測処理ユニット３４６は、符号化された様々なブロックのひずみおよびレートから比を算出し、どのイントラ予測モードがブロックの最良のレートひずみ値を示すかを決定し得る。
【０１５９】
[0173]いずれの場合も、ブロックのためのイントラ予測モードを選択した後に、イントラ予測処理ユニット３４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット３５６に与え得る。エントロピー符号化ユニット３５６は、本開示の技法に従って、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、送信されるビットストリームの中に構成データを含み得、構成データは、コンテキストの各々のために使用する、複数のイントラ予測モードのインデックステーブルおよび複数の修正されたイントラ予測モードのインデックステーブル（符号語マッピングテーブルとも呼ばれる）、様々なブロックに対する符号化コンテキストの定義、ならびに、最も起こりそうなイントラ予測モードの表示、イントラ予測モードのインデックステーブル、および修正されたイントラ予測モードのインデックステーブルを含み得る。
【０１６０】
[0174]予測処理ユニット３４１がインター予測、イントラ予測、またはイントラＢＣ予測を介して現在のビデオブロックの予測ブロックを生成した後、ビデオエンコーダ２０は、現在のビデオブロックから、たとえば加算器３５０を介して予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、１つまたは複数のＴＵ中に含まれ、変換処理ユニット３５２に適用され得る。変換処理ユニット３５２は、離散コサイン変換（ＤＣＴ：discrete cosine transform）または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット３５２は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
【０１６１】
[0175]変換処理ユニット３５２は、得られた変換係数を量子化処理ユニット３５４に送り得る。量子化処理ユニット３５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化処理ユニット３５４は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット３５６が走査を実行し得る。
【０１６２】
[0176]量子化の後に、エントロピー符号化ユニット３５６は、量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット３５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔パーティショニングエントロピー（ＰＩＰＥ）コーディングまたは別のエントロピー符号化方法もしくは技法を実施し得る。エントロピー符号化ユニット３５６は、イントラＢＣモードによる予測に関して、ベクトル成分、フラグ、およびその他のシンタックス要素を含む、シンタックス要素の２値化および符号化のための本明細書において説明する技法のいずれかを実行し得る。エントロピー符号化ユニット３５６によるエントロピー符号化の後、符号化ビデオビットストリームは、ビデオデコーダ３０に送信されるか、またはビデオデコーダ３０によって後で送信するかまたは取り出せるようにアーカイブされ得る。
【０１６３】
[0177]逆量子化処理ユニット３５８および逆変換処理ユニット３６０は、後で他のビデオブロックを予測するために参照ブロックとして使用できるようにピクセル領域において残差ブロックを再構成するために、それぞれ逆量子化および逆変換を適用する。動き補償ユニット３４４および／またはイントラＢＣユニット３４８は、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つの予測ブロックに残差ブロックを加算することによって、参照ブロックを計算し得る。動き補償ユニット３４４および／またはイントラＢＣユニット３４８はまた、サブ整数ピクセル値を動き推定において使用できるように計算するために、１つまたは複数の補間フィルタを再構成された残差ブロックに適用することもできる。
【０１６４】
[0178]加算器３６２は、再構成された残差ブロックを、動き補償ユニット３４４および／またはイントラＢＣユニット３４８によって生成された動き補償予測ブロックに加算して、再構成ビデオブロックを生成する。対象領域メモリ３６４は、本明細書において説明するように、ビデオエンコーダ２０、たとえばイントラＢＣユニット３４８によって現在のビデオブロックをイントラＢＣするための対象とする領域の定義に従って再構成ビデオブロックを記憶する。対象領域メモリ３６４は、フィルタ処理ユニット３６６によってインループフィルタ処理されていない再構成ビデオブロックを記憶し得る。加算器３６２は、再構成ビデオブロックを対象領域メモリ３６４と並列にフィルタ処理ユニット３６６に供給し得、あるいは対象領域メモリ３６４は、対象とする領域がもはやイントラＢＣには必要でなくなったときに再構成ビデオブロックをフィルタ処理ユニット３６６に解放し得る。いずれの場合も、イントラＢＣユニット３４８は、現在のビデオブロックを予測するために、対象領域メモリ３６４内の再構成ビデオブロックにおいて現在のビデオブロックと同じピクチャ内の予測ビデオブロックを探索し得る。
【０１６５】
[0179]フィルタ処理ユニット３６６は、再構成ビデオブロックに対してインループフィルタ処理を実行し得る。インループフィルタ処理は、再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するためのデブロックフィルタ処理を含み得る。インループフィルタ処理は、また、再構成されたビデオを改善するためにＳＡＯフィルタ処理を含み得る。再構成ブロックは、そのいくつかがインループフィルタ処理され得、参照ピクチャメモリ３６８に参照ピクチャとして記憶され得る。参照ピクチャは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット３４２および動き補償ユニット３４４によって予測ブロックとして使用され得る再構成ブロックを含み得る。
【０１６６】
[0180]このようにして、ビデオエンコーダ２０は、たとえば、イントラＢＣモードに従ってビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するための本開示の例示的な技法を実施するように構成され得る。たとえば、ビデオエンコーダ２０は、別の例では、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを含むビデオデータを符号化する方法を実行するように構成されたビデオエンコーダの例であり得、この方法は、ビデオデータの現在のブロックと同じピクチャ内のビデオデータの以前に符号化されたブロックの組からビデオデータの現在のブロックに関するビデオデータの予測ブロックを選択することを備える。この方法は、２次元ベクトルを決定することをさらに備え、ここにおいて、２次元ベクトルは、水平変位成分と垂直変位成分とを有し、水平変位成分は、ビデオデータの予測ブロックとビデオデータの現在のブロックとの間の水平変位を表し、垂直変位成分は、ビデオデータの予測ブロックとビデオデータの現在のブロックとの間の垂直変位を表す。この方法は、ビデオデータの現在のブロックおよびビデオデータの予測ブロックに基づいて残差ブロックを決定することと、符号化ビデオビットストリームにおいて、２次元ベクトルの水平変位成分および垂直変位成分ならびに残差ブロックを定義する１つまたは複数のシンタックス要素を符号化することとをさらに備える。
【０１６７】
[0181]ビデオエンコーダ２０はまた、符号化ビデオビットストリームを記憶するように構成されたメモリと１つまたは複数のプロセッサとを備えるビデオエンコーダの例であり得る。１つまたは複数のプロセッサは、ビデオデータの現在のブロックと同じピクチャ内のビデオデータの以前に符号化されたブロックの組からビデオデータの現在のブロックに関するビデオデータの予測ブロックを選択するように構成される。上記の１つまたは複数のプロセッサは、２次元ベクトルを決定するようにさらに構成され、ここにおいて、２次元ベクトルは、水平変位成分と垂直変位成分とを有し、水平変位成分は、ビデオデータの予測ブロックとビデオデータの現在のブロックとの間の水平変位を表し、垂直変位成分は、ビデオデータの予測ブロックとビデオデータの現在のブロックとの間の垂直変位を表す。１つまたは複数のプロセッサは、ビデオデータの現在のブロックおよびビデオデータの予測ブロックに基づいて残差ブロックを決定することと、符号化ビデオビットストリームにおいて、２次元ベクトルの水平変位成分および垂直変位成分ならびに残差ブロックを定義する１つまたは複数のシンタックス要素を符号化することとを行うようにさらに構成される。
【０１６８】
[0182]図９は、本開示において説明する技法を実施し得る例示的なビデオデコーダを示すブロック図である。図９の例では、ビデオデコーダ３０は、エントロピー復号ユニット３８０と、予測処理ユニット３８１と、逆量子化処理ユニット３８６と、逆変換処理ユニット３８８と、加算器３９０と、対象領域メモリ３９２と、フィルタ処理ユニット３９４と、参照ピクチャメモリ３９６とを含む。予測処理ユニット３８１は、動き補償ユニット３８２と、イントラ予測処理ユニット３８４と、イントラブロックコピー（イントラＢＣ）ユニット３８５とを含む。ビデオデコーダ３０は、いくつかの例では、図８においてビデオエンコーダ２０に関して説明した符号化パスを概ね反転させた復号パスを実行し得る。
【０１６９】
[0183]様々な例では、ビデオデコーダ３０のユニットは、本開示の技法を実行する役割を担い得る。また、一部の例では、本開示の技術は、ビデオデコーダ３０のユニットの１つまたは複数の中で分割することができる。たとえば、イントラＢＣユニット３８５は、本開示の技法を単独で実行し得、あるいは動き補償ユニット３８２、イントラ予測処理ユニット３８４、対象領域メモリ３９２、およびエントロピー復号ニット３８０などの、ビデオデコーダ３０の他のユニットと組み合わせて実行し得る。
【０１７０】
[0184]復号プロセス中に、ビデオデコーダ３０は、符号化ビデオスライスのビデオブロックおよび関連するシンタックス要素を表す符号化ビデオビットストリームを、ビデオエンコーダ２０から受信する。ビデオデコーダ３０のエントロピー復号ユニット３８０は、量子化された係数と、インター予測に関する動きベクトルと、イントラＢＣ予測に関する２次元ベクトルと、本明細書において説明する他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット３８０は、イントラＢＣモードによる予測に関して、ベクトル成分、フラグ、およびその他のシンタックス要素を含む、シンタックス要素の２値化および符号化のための本明細書において説明する技法のいずれかを逆に実行し得る。エントロピー復号ユニット３８０は、予測処理ユニット３８１にベクトルおよび他のシンタックス要素を転送する。ビデオデコーダ３０は、シーケンスレベル、ピクチャレベル、ビデオスライスレベルおよび／またはビデオブロックレベルにおいてシンタックス要素を受信することができる。
【０１７１】
[0185]ビデオスライスがイントラコード化された（Ｉ）スライスとしてコーディングされるとき、予測処理ユニット３８１のイントラ予測ユニット３８４は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化された（すなわち、Ｂ、またはＰ）スライスとしてコーディングされるとき、予測処理ユニット３８１の動き補償ユニット３８２は、エントロピー復号ユニット２８０から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ３９６に記憶された参照ピクチャに基づいて、デフォルトの構成技法または任意の他の技法を使用して、参照フレームリスト、RefPicList0およびRefPicList1を構成し得る。ビデオブロックが本明細書において説明するイントラＢＣモードに従ってコーディングされるとき、予測処理ユニット３８１のイントラＢＣユニット３８５は、エントロピー復号ユニット３８０から受信された２次元ベクトルおよび他のシンタックス要素に基づいて、現在のビデオブロックに関する予測ブロックを生成する。予測ブロックは、ビデオエンコーダ２０によって定められ対象領域メモリ３９２から取り出される現在のビデオブロックと同じピクチャ内の対象とする領域内に位置し得る。
【０１７２】
[0186]動き補償ユニット３８２およびイントラＢＣユニット３８５は、ベクトルおよび他のシンタックス要素を解析することによって現在のビデオスライスのビデオブロックに関する予測情報を決定し、復号中の現在のビデオブロックのための予測ブロックを生成するために予測情報を使用する。たとえば、動き補償ユニット２８２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラ予測またはインター予測）と、インター予測スライスタイプ（たとえば、ＢスライスまたはＰスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数についての構成情報と、スライスの各インター符号化されたビデオブロックのための動きベクトルと、スライスの各インターコード化されたビデオブロックについてのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。同様に、イントラＢＣユニット３８５は、現在のビデオブロックがイントラＢＣモードを使用して予測されたこと、ピクチャのどのビデオブロックが対象とする領域内に位置しており対象領域メモリに記憶されるべきであるかを示す対象領域メモリ３９２に関する構成情報、スライスのイントラＢＣ予測された各ビデオブロックの２次元ベクトル、スライスのイントラＢＣ予測された各ビデオブロックのイントラＢＣ予測ステータス、および現在のビデオスライス内のビデオブロックを復号するための他の情報を決定するために、受信されたシンタックス要素のいくつか、たとえばフラグを使用し得る。
【０１７３】
[0187]動き補償ユニット３８２およびイントラＢＣユニット３８５はまた、補間フィルタに基づいて補間を実行することもできる。動き補償ユニット３８２およびイントラＢＣユニット３８５は、予測ブロックのサブ整数ピクセルに関する補間された値を計算するために、ビデオブロックの符号化中にビデオエンコーダ２０によって使用されたのと同様に、補間フィルタを使用し得る。この場合、動き補償ユニット３８２およびイントラＢＣユニット３８５は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、予測ブロックを生成するために補間フィルタを使用し得る。
【０１７４】
[0188]逆量子化処理ユニット３８６は、ビットストリーム内に生成され、エントロピー復号ユニット３８０によって復号された、量子化変換係数を逆量子化（inverse quantize）、すなわち、量子化解除（dequantize）する。逆量子化プロセスは、ビデオエンコーダ２０によって算出された量子化パラメータをビデオスライス中のビデオブロックごとに使用して、適用すべき量子化の程度を決定し、同様に、適用すべき逆量子化の程度を決定することを含み得る。逆変換処理ユニット３８８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換処理を変換係数に適用する。
【０１７５】
[0189]動き補償ユニット３８２またはイントラＢＣユニット３８５が、ベクトルおよび他のシンタックス要素に基づいて現在のビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ３０は、逆変換処理ユニット３８８からの残差ブロックを動き補償ユニット３８２およびイントラＢＣユニット３８５によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器３９０は、再構成ビデオブロックを生成するためにこの加算演算を実行する１つの構成要素または複数の構成要素を表す。
【０１７６】
[0190]対象領域メモリ３９２は、本明細書において説明するように、ビデオエンコーダ２０によって現在のビデオブロックをイントラＢＣするための対象とする領域の定義に従って再構成ビデオブロックを記憶する。対象領域メモリ３９２は、フィルタ処理ユニット３９４によってインループフィルタ処理されていない再構成ビデオブロックを記憶し得る。加算器３９０は、再構成ビデオブロックを対象領域メモリ３９２と並列にフィルタ処理ユニット３９４に供給し得、あるいは対象領域メモリ３９２は、対象とする領域がもはやイントラＢＣには必要でなくなったときに再構成ビデオブロックをフィルタ処理ユニット３９４に解放し得る。いずれの場合も、イントラＢＣユニット３８５は、対象領域メモリ３９２から現在のビデオブロックに関する予測ビデオブロックを取り出す。
【０１７７】
[0191]フィルタ処理ユニット３９４は、再構成ビデオブロックに対してインループフィルタ処理を実行し得る。インループフィルタ処理は、再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するためのデブロックフィルタ処理を含んでもよい。インループフィルタ処理は、再構成されたビデオを改善するためにＳＡＯフィルタ処理を含んでもよい。再構成ブロックは、そのいくつかがインループフィルタ処理され得、参照ピクチャメモリ３６８に参照ピクチャとして記憶され得る。参照ピクチャは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き補償ユニット３８２によって予測ブロックとして使用され得る再構成ブロックを含み得る。参照ピクチャメモリ３９６はまた、復号ビデオを図１のディスプレイデバイス３２などのディスプレイデバイス上に後で提示できるように記憶する。
【０１７８】
[0192]このようにして、ビデオデコーダ３０は、ビデオデータの現在のブロックを同じピクチャ内のビデオデータの予測ブロックに基づいてイントラ予測するための本開示の例示的な技法を実施するように構成され得る。たとえば、ビデオデコーダ３０は、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを含むビデオデータを復号する方法を実行するように構成されたビデオデコーダの例であり得、この方法は、符号化ビデオビットストリームにおいて、２次元ベクトルの水平変位成分および垂直変位成分ならびにビデオデータの現在のブロックに関する残差ブロックを定義する１つまたは複数のシンタックス要素を受信することと、１つまたは複数のシンタックス要素を復号することとを備える。この方法は、２次元ベクトルの水平変位成分および垂直変位成分を定義する復号されたシンタックス要素に基づいてビデオデータの現在のブロックに関するビデオデータの予測ブロックを決定することであって、ビデオデータの予測ブロックはビデオデータの現在のブロックと同じピクチャ内のビデオデータの再構成ブロックである、決定することと、ビデオデータの予測ブロックおよび残差ブロックに基づいてビデオデータの現在のブロックを再構成することと、をさらに備える。
【０１７９】
[0193]ビデオデコーダ３０はまた、ビデオデータを符号化する符号化ビデオビットストリームを記憶するように構成されたメモリと、１つまたは複数のプロセッサとを備える、ビデオデコーダの例であり得る。ビデオデコーダの１つまたは複数のプロセッサは、１つまたは複数のシンタックス要素を復号することと、２次元ベクトルの水平変位成分および垂直変位成分を定義する復号されたシンタックス要素に基づいてビデオデータの現在のブロックに関するビデオデータの予測ブロックを決定することであって、ビデオデータの予測ブロックはビデオデータの現在のブロックと同じピクチャ内のビデオデータの再構成ブロックである、決定することと、ビデオデータの予測ブロックおよび残差ブロックに基づいてビデオデータの現在のブロックを再構成することとを行うように構成され得る。
【０１８０】
[0194]図１０は、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモード、たとえばイントラＢＣモードを含むビデオデータを符号化するための例示的な方法を示す流れ図である。図１０の例示的な方法は、イントラＢＣユニット３４８を含んでもよいビデオエンコーダ２０などのビデオエンコーダによって実装され得る。
【０１８１】
[0195]図１０の例示的な方法によれば、ビデオエンコーダ２０が、現在のビデオブロックの現在のピクチャ内の対象とする領域を定義する（４００）。本明細書において説明するように、ビデオエンコーダ２０は、対象とする領域を現在のＬＣＵを含む領域として定義するか、または現在のＬＣＵとインループフィルタ処理されていない再構成ビデオブロックを含む左に隣接するＬＣＵの部分とを含む領域として定義し得る。いくつかの例において、ビデオエンコーダ２０は、対象とする領域の高さまたは最上垂直位置が現在のＬＣＵの垂直方向限界を越えないように対象とする領域を定義し得る。いくつかの例において、ビデオエンコーダ２０は、対象とする領域を、整数個、たとえば６４個のピクセルまたはＬＣＵ幅を水平方向に延長した領域として定義し得る。ビデオエンコーダ２０は、対象とする領域を定義することによって、２次元ベクトルの水平変位成分および垂直変位成分の一方または両方を、たとえば最大しきい値より小さくなるかまたは最小しきい値よりも大きくなるように制限し得る。
【０１８２】
[0196]ビデオエンコーダ２０は、対象とする領域内から現在のビデオブロックに関する予測ブロックを選択する（４０２）。ビデオエンコーダ２０は次いで、現在のビデオブロックから選択された予測ビデオブロックへの２次元ベクトル、たとえば、ブロックベクトルまたは動きベクトル（ＭＶ）を決定する（４０４）。ビデオエンコーダ２０は、たとえば、現在のビデオブロックと選択された予測ビデオブロックとの間の差に基づいて、残差ブロックを決定する（４０６）。ビデオエンコーダ２０は、２次元ベクトルを定義する符号化ビデオビットストリームおよび現在のビデオブロックを予測するための残差ブロック内の１つまたは複数のシンタックス要素を符号化する。
【０１８３】
[0197]図１１は、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモード、たとえばイントラＢＣモードを含むビデオデータを復号するための例示的な方法を示す流れ図である。図１１の例示的な方法は、イントラＢＣユニット３８５を含んでもよいビデオデコーダ３０などのビデオデコーダによって実行され得る。
【０１８４】
[0198]図１１の例示的な方法によれば、ビデオデコーダ３０は、２次元ベクトルを定義する符号化ビデオビットストリームおよび現在のビデオブロックを予測する残差ブロックから１つまたは複数のシンタックス要素を復号する（４１０）。ビデオデコーダ３０は、２次元ベクトルに基づいて現在のビデオブロックと同じピクチャ内の予測ブロックを決定する（４１２）。本明細書において説明するように、予測ブロックは、ビデオエンコーダ２０によって定められ対象領域メモリ３９２内に記憶される対象とする領域内に位置し得る。ビデオデコーダ３０は次いで、たとえば予測ビデオブロックと残差ブロックの和に基づいて、現在のビデオブロックを再構成することができる（４１４）。
【０１８５】
[0199]図１２は、ルーマビデオデータの対応するブロックの２次元ベクトルからクロマビデオデータのブロックに関する２次元ベクトルを導出することを含む例示的な方法を示す流れ図である。図１２の例示的な方法は、イントラＢＣユニット３４８またはイントラＢＣユニット３８５などのイントラＢＣユニットを含んでもよい、ビデオエンコーダ２０および／またはビデオデコーダ３０などのビデオデコーダによって実行され得る。
【０１８６】
[0200]図１２の例示的な方法によれば、ビデオコーダは、イントラＢＣモードに従って予測される現在のルーマブロックに関する２次元ベクトルおよび残差ブロックを定義する１つまたは複数のシンタックス要素をコーディング、たとえば、符号化または復号する（４２０）。ビデオコーダは次いで、イントラＢＣモードに従ってルーマブロックに対応するクロマブロックを予測するためにそのクロマブロックに関する２次元ベクトルを導出し得る（４２２）。本明細書において説明するように、ビデオコーダは、ルーマブロックに関する２次元ベクトルがクロマ領域内の使用不能なサンプルを指し示すように、コーディングされたビデオのカラーフォーマット（たとえば、４：４：４、４：２：２、または４：２：０）に応じて、２次元ベクトルをスケーリングまたはダウンサンプリングし得る。ビデオコーダは、ルーマブロックに対応するクロマブロックに関する残差ブロックを定義する１つまたは複数のシンタックス要素をコーディングし得る（４２４）。ビデオコーダは、クロマブロックに関する別個の２次元ベクトルを示すシンタックス要素をコーディングする必要がない。
【０１８７】
[0201]図１３は、予測２次元ベクトルを決定することを含む、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを含むビデオデータを符号化する例示的な方法を示す流れ図である。図１３の例示的な方法は、イントラＢＣユニット３４８を含んでもよいビデオエンコーダ２０などのビデオエンコーダによって実施され得る。
【０１８８】
[0202]図１３の例示的な方法によれば、ビデオエンコーダ２０は、現在のビデオブロックに関する、現在のブロックと同じピクチャ内の対象とする領域から選択された予測ブロックに基づいて２次元ベクトルを決定する（４３０）。ビデオエンコーダ２０は、現在のビデオブロックが、現在のＬＣＵにおいてイントラＢＣモードによって予測された第１のブロックであるかどうかを決定する（４３２）。現在のビデオブロックが第１のビデオブロックである場合（４３２のＹＥＳ）、ビデオエンコーダ２０は、現在のビデオブロックに関する予測２次元ベクトルはデフォルトの２次元ベクトルであると決定し得る（４３４）。本明細書において説明するように、デフォルトの２次元ベクトルの一例は（−ｗ，０）であり、ここにおいて、ｗは現在のビデオブロックを備える現在のコーディングユニットの幅である。
【０１８９】
[0203]現在のビデオブロックが、現在のＬＣＵにおいてイントラＢＣモードによって予測された第１のビデオブロックではない場合（４３２のＮＯ）、ビデオエンコーダ２０は、イントラＢＣモードに従って直近に予測された（most-recently previously-predicted）ビデオブロックを予測するのに使用された直前の２次元ベクトルを決定し得る（４３６）。ビデオエンコーダ２０は、現在のビデオブロックに関する予測ベクトルがイントラＢＣに使用されたこの直前の２次元ベクトルであると決定する（４３８）。ビデオエンコーダ２０は、予測２次元ベクトル、たとえば、デフォルトベクトルまたは直前のベクトルに基づいて、現在のビデオブロックに関する残差２次元ベクトルを決定する（４４０）。ビデオエンコーダ２０は次いで、たとえば、現在のビデオブロックに関して決定される２次元ベクトルではなく、符号化ビデオビットストリーム内の現在のビデオブロックに関する残差２次元ベクトルを定義する１つまたは複数のシンタックス要素を符号化し得る（４４２）。
【０１９０】
[0204]図１４は、予測２次元ベクトルを決定することを含む、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを含むビデオデータを復号する例示的な方法を示す流れ図である。図１４の例示的な方法は、イントラＢＣユニット３８５を含み得るビデオデコーダ３０などのビデオデコーダによって実行され得る。
【０１９１】
[0205]図１４の例示的な方法によれば、ビデオデコーダ３０は、たとえば、ビデオエンコーダ２０によって現在のビデオブロックに関して決定される２次元ベクトルではなく、符号化ビデオビットストリームから得た現在のビデオブロックに関する残差２次元ベクトルを定義する１つまたは複数のシンタックス要素を復号する（４５０）。ビデオデコーダ３０は、現在のビデオブロックが、現在のＬＣＵにおいてイントラＢＣモードによって予測された第１のブロックであるかどうかを決定する（４５２）。現在のビデオブロックが第１のビデオブロックである場合（４５２のＹＥＳ）、ビデオデコーダ３０は、現在のビデオブロックに関する予測２次元ベクトルがデフォルトの２次元ベクトルであると決定し得る（４５４）。
【０１９２】
[0206]現在のビデオブロックが、現在のＬＣＵにおいてイントラＢＣモードによって予測された第１のビデオブロックではない場合（４５２のＮＯ）、ビデオデコーダ３０は、イントラＢＣモードに従って直近に予測されたビデオブロックを予測するのに使用された直前の２次元ベクトルを決定し得る（４５６）。ビデオデコーダ３０は、現在のビデオブロックに関する予測ベクトルがイントラＢＣに使用されたこの直前の２次元ベクトルであると決定する（４５８）。ビデオデコーダ３０は、予測２次元ベクトル、たとえば、デフォルトベクトルまたは直前のベクトル、および残差２次元ベクトルに基づき、たとえば、予測２次元ベクトルと残差２次元ベクトルとの和に基づいて、現在のビデオブロックに関する現在の２次元ベクトルを決定し得る（４６０）。
【０１９３】
[0207]図１５は、ビデオデータの現在のブロックに関する予測２次元ベクトル候補を決定するための例示的な方法を示す流れ図である。図１５の例示的な方法は、イントラＢＣユニット３４８またはイントラＢＣユニット３８５などのイントラＢＣユニットを含み得る、ビデオエンコーダ２０および／またはビデオデコーダ３０などのビデオデコーダによって実行され得る。
【０１９４】
[0208]図１５の例示的な方法によれば、ビデオコーダは、現在のビデオブロックの隣接ブロックの２次元ベクトルをチェックし（４７０）、ベクトルが利用可能であるかどうか、たとえば、隣接ブロックがイントラＢＣを使用してコーディングされたかどうかを決定する（４７２）。ベクトルが利用可能である場合（４７２のＹＥＳ）、ビデオコーダは、現在のビデオブロックに関する予測ベクトル候補リストにベクトルを挿入し得る（４７４）。ベクトルが利用可能ではない場合（４７２のＮＯ）、ビデオコーダは、現在のビデオブロックに関する予測候補リストにデフォルトのベクトルを挿入し得る（４７６）。
【０１９５】
[0209]実施例に応じて、本明細書に記載される技法のうちの任意のものの特定の動作または事象は、異なるシーケンスで実行され得、全体的に追加、結合、または除外され得ることが、認識されるべきである（たとえば、ここに記載される動作または事象のすべてがこの技法の実施のために必要なわけではない）。その上、いくつかの例では、動作または事象は、たとえば、マルチスレッドの処理、割込み処理、または多数のプロセッサを用いて、連続的ではなく同時に実行され得る。
【０１９６】
[0210]１つまたは複数の例では、述べられた機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施され得る。ソフトウェアで実施される場合、諸機能は、１つまたは複数の命令またはコードとして、コンピュータ可読媒体を介して記憶または伝送され得、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの、有形の媒体に相当するコンピュータ可読記憶媒体、またはコンピュータプログラムの、ある場所から別の場所への、たとえば、通信プロトコルによる転送を促進する任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、（１）非一時的である有形のコンピュータ可読記憶媒体または（２）信号もしくはキャリア波などの通信媒体に相当し得る。データ記憶媒体は、本開示で説明する技法の実装のために、命令、コードおよび／またはデータ構造を取り出すために１つもしくは複数のコンピュータまたは１つもしくは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含むことができる。
【０１９７】
[0211]一例として、ただし限定するものではないが、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、フラッシュメモリ、または命令もしくはデータ構造の形態で所望のプログラムコードを記憶するために使用可能であり、コンピュータによってアクセス可能な他の任意の媒体を備えることができる。さらに、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他の遠隔ソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号または他の一時的媒体を含まず、その代わりに非一時的な有形記憶媒体に向けられていることを理解されたい。本明細書で、ディスク（ｄｉｓｋおよびｄｉｓｃ）は、コンパクトディスク（ｄｉｓｃ）（ＣＤ）、レーザーディスク（登録商標）（ｄｉｓｃ）、光ディスク（ｄｉｓｃ）、デジタル多用途ディスク（ｄｉｓｃ）（ＤＶＤ）、フロッピー（登録商標）ディスク（ｄｉｓｋ）およびブルーレイ（登録商標）ディスク（ｄｉｓｃ）を含み、ディスク（ｄｉｓｋ）は、通常は、磁気的にデータを再生し、ディスク（ｄｉｓｃ）は、レーザーで光学的にデータを再生する。前述の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【０１９８】
[0212]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の同等の統合されたもしくは離散的論理回路など、１つまたは複数のプロセッサによって実行することができる。したがって、本明細書で、「プロセッサ」という用語は、前述の構造体または本明細書に記載の技法の実装に適した任意の他の構造体のいずれかを示し得る。加えて、いくつかの態様では、本明細書に記載の機能は、符号化および復号のために構成された専用ハードウェアおよび／またはソフトウェアモジュール内で提供され得る、あるいは結合されたコーデックに組み込むことができる。また、本技法は、１つまたは複数の回路または論理要素で完全に実装することができる。
【０１９９】
[0213]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置で実装することができる。様々な構成要素、モジュール、またはユニットが、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために本開示で説明されるが、異なるハードウェアユニットによる実現を必ずしも必要としない。そうではなくて、前述のように、様々なユニットは、コーデックハードウェアユニットで結合され得る、または、適切なソフトウェアおよび／またはファームウェアとともに、前述のように１つまたは複数のプロセッサを含む、相互に動作するハードウェアユニットの一群によって提供され得る。
【０２００】
[0214]様々な例について説明した。前述およびその他の例は、次の特許請求の範囲の範囲内にある。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを含むビデオデータを復号する方法であって、
符号化ビデオビットストリームにおいて、２次元ベクトルの水平変位成分および垂直変位成分ならびにビデオデータの現在のブロックに関する残差ブロックを定義する１つまたは複数のシンタックス要素を受信することと、
前記１つまたは複数のシンタックス要素を復号することと、
前記２次元ベクトルの前記水平変位成分および前記垂直変位成分を定義する前記復号されたシンタックス要素に基づいてビデオデータの現在のブロックに関するビデオデータの予測ブロックを決定することと、ここにおいて、ビデオデータの前記予測ブロックがビデオデータの前記現在のブロックと同じピクチャ内のビデオデータの再構成ブロックである、
ビデオデータの前記予測ブロックおよび前記残差ブロックに基づいてビデオデータの前記現在のブロックを再構成することとを備える方法。
［Ｃ２］
前記２次元ベクトルの前記水平変位成分および前記垂直変位成分は整数ピクセル解像度を有するように制限される、上記Ｃ１に記載の方法。
［Ｃ３］
ビデオデータの前記現在のブロックおよびビデオデータの前記予測ブロックは、前記ビデオデータのルーマ成分のブロックを備える、上記Ｃ２に記載の方法。
［Ｃ４］
ビデオデータの前記現在のブロックおよびビデオデータの前記予測ブロックは、前記ビデオデータのクロマ成分のブロックを備える、上記Ｃ２に記載の方法。
［Ｃ５］
ビデオデータの前記予測ブロックは、前記ピクチャ内の対象とする領域内に位置する、上記Ｃ１に記載の方法。
［Ｃ６］
インループフィルタ処理の前に前記対象とする領域のすべてのサンプルを記憶することをさらに備え、ここにおいて、ビデオデータの前記予測ブロックは、インループフィルタ処理の前の再構成サンプルを備える、上記Ｃ５に記載の方法。
［Ｃ７］
ビデオデータの前記現在のブロックは、最大コーディングユニット内に位置し、前記対象とする領域の高さまたは幅の少なくとも一方は、前記最大コーディングユニットのサイズに基づいて定められる、上記Ｃ５に記載の方法。
［Ｃ８］
前記対象とする領域の前記高さは、前記最大コーディングユニットの高さに基づいて定められる、上記Ｃ７に記載の方法。
［Ｃ９］
前記対象とする領域の高さまたは幅の少なくとも一方は、整数個のサンプルに基づいて定められる、上記Ｃ５に記載の方法。
［Ｃ１０］
前記対象とする領域の前記幅は、前記整数個のサンプルに基づいて定められる、上記Ｃ９に記載の方法。
［Ｃ１１］
前記整数個のサンプルは６４個である、上記Ｃ１０に記載の方法。
［Ｃ１２］
ビデオデータの前記現在のブロックは、現在の最大コーディングユニット内に位置し、前記対象とする領域の高さまたは幅の少なくとも一方は、前記対象とする領域が前記現在の最大コーディングユニットと前記現在の最大コーディングユニットの左に隣接する最大コーディングユニットとのうちの少なくとも一方内に位置するように制限される、上記Ｃ５に記載の方法。
［Ｃ１３］
前記シンタックス要素を復号することは、前記対象とする領域のサイズに基づいて切り捨てられた値を用いて符号化されたシンタックス要素を復号することを備える、上記Ｃ５に記載の方法。
［Ｃ１４］
前記２次元ベクトルの前記水平変位成分および前記垂直変位成分を定義する１つまたは複数のシンタックス要素を受信することは、前記符号化ビットストリームにおいて、残差２次元ベクトルの残差水平変位成分および残差垂直変位成分を定義する１つまたは複数のシンタックス要素を受信することを備え、前記方法は、
予測水平変位成分および予測垂直変位成分を含む予測２次元ベクトルを決定することと、
前記残差２次元ベクトルおよび前記予測２次元ベクトルの前記水平変位成分および前記垂直変位成分に基づいて前記２次元ベクトルの前記水平変位成分および前記垂直変位成分を決定することとをさらに備える、上記Ｃ１に記載の方法。
［Ｃ１５］
前記予測２次元ベクトルを決定することは、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックから復号順序に従ってイントラ予測するためのモードに従って直近に再構成されたビデオデータのブロックに関するビデオデータの予測ブロックを決定するのに使用された直前の２次元ベクトルを決定することを備える、上記Ｃ１４に記載の方法。
［Ｃ１６］
前記現在のビデオブロックは最大コーディングユニット内に位置し、前記予測２次元ベクトルを決定することは、
現在のビデオブロックが、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードに従ってビデオデータの前記現在のブロックと同じピクチャ内のビデオデータの予測ブロックを決定するのに使用される２次元ベクトルがそれについて決定される前記最大コーディングユニット内の第１のビデオブロックであると決定することと、
現在のビデオブロックが、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードに従ってビデオデータの前記現在のブロックと同じピクチャ内のビデオデータの予測ブロックを決定するのに使用される２次元ベクトルがそれについて決定される前記最大コーディングユニット内の前記第１のビデオブロックである、との前記決定に応答して、前記予測２次元ベクトルがデフォルトの予測２次元ベクトルであると決定することとを備える、上記Ｃ１４に記載の方法。
［Ｃ１７］
前記デフォルトの予測２次元ベクトルは（−ｗ，０）を備え、ここにおいて、ｗは、前記現在のビデオブロックを備える現在のコーディングユニットの幅を備える、上記Ｃ１６に記載の方法。
［Ｃ１８］
前記予測２次元ベクトルを決定することは、前記現在のビデオブロックの１つまたは複数の隣接ビデオブロックの以前に決定された１つまたは複数の２次元ベクトルのうちの１つを選択することを備える、上記Ｃ１４に記載の方法。
［Ｃ１９］
ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードに従ってビデオデータの現在のブロックと同じピクチャ内のビデオデータの予測ブロックを決定するのに使用されない隣接ブロックの以前に決定されたベクトルは、ビデオデータの前記現在のブロックに関する予測２次元ベクトルとして利用可能でない、上記Ｃ１８に記載の方法。
［Ｃ２０］
前記予測２次元ベクトルを決定することは、
前記現在のビデオブロックの前記１つまたは複数の隣接ビデオブロックの前記以前に決定された２次元ベクトルのうちの１つまたは複数が、前記現在のブロックに関する予測２次元ベクトルとして利用可能でないと決定することと、
前記利用可能でない以前に決定された１つまたは複数の２次元ベクトルをデフォルトの予測２次元ベクトルで置き換えることとを備える、上記Ｃ１８に記載の方法。
［Ｃ２１］
ビデオデータの前記現在のブロックは、コーディングユニットの予測ユニットを備える、上記Ｃ１に記載の方法。
［Ｃ２２］
前記コーディングユニットのサイズは２Ｎｘ２Ｎであり、前記予測ユニットのサイズは、ＮｘＮ、２Ｎｘ２Ｎ、２ＮｘＮ、またはＮｘ２Ｎのうちの１つである、上記Ｃ２１に記載の方法。
［Ｃ２３］
ビデオデータの前記現在のブロックは、前記ビデオデータのルーマ成分の現在のブロックを備え、前記２次元ベクトルは、前記ルーマ成分に関する２次元ベクトルを備え、前記方法は、前記ルーマ成分に関する前記２次元ベクトルおよび前記ビデオデータに関するカラーサンプリングフォーマットに基づいて前記ルーマ成分の前記現在のブロックに対応する前記ビデオデータのクロマ成分のブロックに関する２次元ベクトルを導出することをさらに備える、上記Ｃ１に記載の方法。
［Ｃ２４］
ビデオデータの前記現在のブロックのサイズを決定することをさらに備え、ここにおいて、１つまたは複数のシンタックス要素を受信し、前記１つまたは複数のシンタックス要素を復号し、前記予測ブロックを決定し、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードに従ってビデオデータの前記現在のブロックを再構成することは、前記１つまたは複数のシンタックス要素を受信し、前記１つまたは複数のシンタックス要素を復号し、前記予測ブロックを決定し、前記現在のブロックの前記サイズがサイズ基準を満たすときにのみビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するための前記モードに従ってビデオデータの前記現在のブロックを再構成することを備える、上記Ｃ１に記載の方法。
［Ｃ２５］
前記サイズ基準は最小サイズを備える、上記Ｃ２４に記載の方法。
［Ｃ２６］
ビデオデータの前記現在のブロックが、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するための前記モードを使用して予測されたかどうかを示すフラグを復号することをさらに備え、
ここにおいて、前記１つまたは複数のシンタックス要素を受信し、前記１つまたは複数のシンタックス要素を復号し、前記予測ブロックを決定し、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するための前記モードに従ってビデオデータの前記現在のブロックを再構成することは、前記１つまたは複数のシンタックス要素を受信し、前記１つまたは複数のシンタックス要素を復号し、前記予測ブロックを決定し、ビデオデータの前記現在のブロックがビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するための前記モードを使用して予測されたことを示す前記フラグに応答して、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するための前記モードに従ってビデオデータの前記現在のブロックを再構成することを備え、
ここにおいて、前記フラグを復号することは、単一の固定コンテキストによって前記フラグを算術復号することを備える、上記Ｃ１に記載の方法。
［Ｃ２７］
イントラ予測モードデブロッキングフィルタをビデオデータの前記現在のブロックに適用することをさらに備える、上記Ｃ１に記載の方法。
［Ｃ２８］
ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを含むビデオデータを符号化する方法であって、
ビデオデータの現在のブロックと同じピクチャ内のビデオデータの以前に符号化されたブロックの組からビデオデータの現在のブロックに関するビデオデータの予測ブロックを選択することと、
２次元ベクトルを決定することと、ここにおいて、前記２次元ベクトルは、水平変位成分と垂直変位成分とを有し、前記水平変位成分は、ビデオデータの前記予測ブロックとビデオデータの前記現在のブロックとの間の水平変位を表し、前記垂直変位成分は、ビデオデータの前記予測ブロックとビデオデータの前記現在のブロックとの間の垂直変位を表す、
ビデオデータの前記現在のブロックおよびビデオデータの前記予測ブロックに基づいて残差ブロックを決定することと、
符号化ビデオビットストリームにおいて、前記２次元ベクトルの前記水平変位成分および前記垂直変位成分ならびに前記残差ブロックを定義する１つまたは複数のシンタックス要素を符号化することとを備える方法。
［Ｃ２９］
ビデオデータの前記予測ブロックを選択することは、前記２次元ベクトルの前記水平変位成分および前記垂直変位成分を整数ピクセル解像度を有するように制限することを備える、上記Ｃ２８に記載の方法。
［Ｃ３０］
ビデオデータの前記現在のブロックおよびビデオデータの前記予測ブロックは、前記ビデオデータのルーマ成分のブロックを備える、上記Ｃ２９に記載の方法。
［Ｃ３１］
ビデオデータの前記現在のブロックおよびビデオデータの前記予測ブロックは、前記ビデオデータのクロマ成分のブロックを備える、上記Ｃ２９に記載の方法。
［Ｃ３２］
ビデオデータの前記予測ブロックを選択することは、
前記ピクチャ内の対象とする領域を定義することと、
前記対象とする領域内のビデオデータの予測ブロックを選択することとを備える、上記Ｃ２８に記載の方法。
［Ｃ３３］
インループフィルタ処理の前に前記対象とする領域のすべてのサンプルを記憶することをさらに備え、ここにおいて、ビデオデータの前記予測ブロックは、インループフィルタ処理の前の再構成サンプルを備える、上記Ｃ３２に記載の方法。
［Ｃ３４］
ビデオデータの前記現在のブロックは、最大コーディングユニット内に位置し、前記対象とする領域を定義することは、前記最大コーディングユニットのサイズに基づいて前記対象とする領域を定義することを備える、上記Ｃ３２に記載の方法。
［Ｃ３５］
前記最大コーディングユニットの前記サイズに基づいて前記対象とする領域を定義することは、前記最大コーディングユニットの高さに基づいて前記対象とする領域の高さを定めることを備える、上記Ｃ３４に記載の方法。
［Ｃ３６］
前記対象とする領域を定義することは、整数個のサンプルに基づいて前記対象とする領域の高さまたは幅の少なくとも一方を定めることを備える、上記Ｃ３２に記載の方法。
［Ｃ３７］
前記対象とする領域のサイズを整数個のサンプルに定めることは、整数個のサンプルに基づいて前記対象とする領域の幅を定めることを備える、上記Ｃ３６に記載の方法。
［Ｃ３８］
前記整数個のサンプルは６４個である、上記Ｃ３７に記載の方法。
［Ｃ３９］
ビデオデータの前記現在のブロックは、現在の最大コーディングユニット内に位置し、前記対象とする領域を定義することは、前記対象とする領域を前記現在の最大コーディングユニットと前記現在の最大コーディングユニットの左に隣接する最大コーディングユニットとのうちの少なくとも一方内に位置するように定義することを備える、上記Ｃ３２に記載の方法。
［Ｃ４０］
前記シンタックス要素を符号化することは、前記対象とする領域のサイズに基づいて切り捨てられた値を有するシンタックス要素を符号化することを備える、上記Ｃ３２に記載の方法。
［Ｃ４１］
ビデオデータの前記現在のブロックとビデオデータの前記予測ブロックとの間の前記２次元ベクトルは現在の２次元ベクトルを備え、前記方法は、
予測水平変位成分および予測垂直変位成分を含む予測２次元ベクトルを決定することと、
前記現在の２次元ベクトルおよび前記予測２次元ベクトルに基づいて残差水平変位成分および残差垂直変位成分を含む残差２次元ベクトルを決定することとをさらに備え、
ここにおいて、前記現在の２次元ベクトルの前記水平変位成分および前記垂直変位成分を定義する１つまたは複数のシンタックス要素を符号化することは、前記符号化ビデオビットストリームにおいて、前記残差２次元ベクトルを定義する１つまたは複数のシンタックス要素を符号化することを備える、上記Ｃ２８に記載の方法。
［Ｃ４２］
前記予測２次元ベクトルを決定することは、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックから復号順序に従ってイントラ予測するためのモードに従って直近に再構成されたビデオデータのブロックに関するビデオデータの予測ブロックを決定するのに使用された直前の２次元ベクトルを決定することを備える、上記Ｃ４１に記載の方法。
［Ｃ４３］
前記現在のビデオブロックは最大コーディングユニット内に位置し、前記予測２次元ベクトルを決定することは、
現在のビデオブロックが、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードに従ってビデオデータの前記現在のブロックと同じピクチャ内のビデオデータの予測ブロックを決定するのに使用される２次元ベクトルがそれについて決定される前記最大コーディングユニット内の第１のビデオブロックであると決定することと、
現在のビデオブロックが、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードに従ってビデオデータの前記現在のブロックと同じピクチャ内のビデオデータの予測ブロックを決定するのに使用される２次元ベクトルがそれについて決定される前記最大コーディングユニット内の前記第１のビデオブロックである、との前記決定に応答して、前記予測２次元ベクトルがデフォルトの予測２次元ベクトルであると決定することとを備える、上記Ｃ４１に記載の方法。
［Ｃ４４］
前記デフォルトの予測２次元ベクトルは（−ｗ，０）を備え、ここにおいて、ｗは、前記現在のビデオブロックを備える現在のコーディングユニットの幅を備える、上記Ｃ４３に記載の方法。
［Ｃ４５］
前記予測２次元ベクトルを決定することは、前記現在のビデオブロックの１つまたは複数の隣接ビデオブロックの以前に決定された１つまたは複数の２次元ベクトルのうちの１つを選択することを備える、上記Ｃ４１に記載の方法。
［Ｃ４６］
ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードに従ってビデオデータの現在のブロックと同じピクチャ内のビデオデータの予測ブロックを決定するのに使用されない隣接ブロックの以前に決定されたベクトルは、ビデオデータの前記現在のブロックに関する予測２次元ベクトルとして利用可能でない、上記Ｃ４５に記載の方法。
［Ｃ４７］
前記予測２次元ベクトルを決定することは、
前記現在のビデオブロックの前記１つまたは複数の隣接ビデオブロックの前記以前に決定された２次元ベクトルのうちの１つまたは複数は前記現在のブロックに関する予測２次元ベクトルとして利用可能でないと決定することと、
前記利用可能でない、以前に決定された１つまたは複数の２次元ベクトルを、デフォルトの予測２次元ベクトルで置き換えることとを備える、上記Ｃ４５に記載の方法。
［Ｃ４８］
ビデオデータの前記現在のブロックは、コーディングユニットの予測ユニットを備える、上記Ｃ２８に記載の方法。
［Ｃ４９］
前記コーディングユニットのサイズは２Ｎｘ２Ｎであり、前記予測ユニットのサイズは、ＮｘＮ、２Ｎｘ２Ｎ、２ＮｘＮ、またはＮｘ２Ｎのうちの１つである、上記Ｃ４８に記載の方法。
［Ｃ５０］
ビデオデータの前記現在のブロックは、前記ビデオデータのルーマ成分の現在のブロックを備え、前記２次元ベクトルは、前記ルーマ成分に関する２次元ベクトルを備え、前記方法は、前記ルーマ成分に関する前記２次元ベクトルおよび前記ビデオデータに関するカラーサンプリングフォーマットに基づいて前記ルーマ成分の前記現在のブロックに対応する前記ビデオデータのクロマ成分のブロックに関する２次元ベクトルを導出することをさらに備える、上記Ｃ２８に記載の方法。
［Ｃ５１］
ビデオデータの前記現在のブロックのサイズを決定することをさらに備え、ここにおいて、予測ブロックを選択し、前記２次元ベクトルを決定し、前記残差ブロックを決定し、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するための前記モードに従って前記１つまたは複数のシンタックス要素を符号化することは、前記予測ブロックを選択し、前記２次元ベクトルを決定し、前記残差ブロックを決定し、前記現在のブロックの前記サイズがサイズ基準を満たすときにのみビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するための前記モードに従って前記１つまたは複数のシンタックス要素を符号化することを備える、上記Ｃ２８に記載の方法。
［Ｃ５２］
前記サイズ基準は最小サイズを備える、上記Ｃ５１に記載の方法。
［Ｃ５３］
ビデオデータの前記現在のブロックが、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するための前記モードを使用して予測されたかどうかを示すフラグを符号化することをさらに備え、ここにおいて、前記フラグを符号化することは、単一の固定コンテキストによって前記フラグを算術符号化することを備える、上記Ｃ２８に記載の方法。
［Ｃ５４］
イントラ予測モードデブロッキングフィルタをビデオデータの前記現在のブロックに適用することをさらに備える、上記Ｃ２８に記載の方法。
［Ｃ５５］
ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを使用してビデオデータを復号するように構成されたビデオデコーダを備えるデバイスであって、前記ビデオデコーダは、
２次元ベクトルの水平変位成分および垂直変位成分ならびにビデオデータの現在のブロックに関する残差ブロックを定義する１つまたは複数のシンタックス要素を備える符号化ビデオビットストリームを記憶するように構成されたメモリと、
１つまたは複数のプロセッサとを備え、前記１つまたは複数のプロセッサは、
前記１つまたは複数のシンタックス要素を復号することと、
前記２次元ベクトルの前記水平変位成分および前記垂直変位成分を定義する前記復号されたシンタックス要素に基づいてビデオデータの現在のブロックに関するビデオデータの予測ブロックを決定することと、ここにおいて、ビデオデータの前記予測ブロックがビデオデータの前記現在のブロックと同じピクチャ内のビデオデータの再構成ブロックである、
ビデオデータの前記予測ブロックおよび前記残差ブロックに基づいてビデオデータの前記現在のブロックを再構成することと、を行うように構成される、デバイス。
［Ｃ５６］
前記２次元ベクトルの前記水平変位成分および前記垂直変位成分は整数ピクセル解像度を有するように制限される、上記Ｃ５５に記載のデバイス。
［Ｃ５７］
ビデオデータの前記現在のブロックおよびビデオデータの前記予測ブロックは、前記ビデオデータのルーマ成分のブロックを備える、上記Ｃ５６に記載のデバイス。
［Ｃ５８］
ビデオデータの前記現在のブロックおよびビデオデータの前記予測ブロックは、前記ビデオデータのクロマ成分のブロックを備える、上記Ｃ５６に記載のデバイス。
［Ｃ５９］
ビデオデータの前記予測ブロックは、前記ピクチャ内の対象とする領域内に位置する、上記Ｃ５５に記載のデバイス。
［Ｃ６０］
前記１つまたは複数のプロセッサは、インループフィルタ処理の前に前記対象とする領域のすべてのサンプルを記憶するように構成され、ここにおいて、ビデオデータの前記予測ブロックは、インループフィルタ処理の前の再構成サンプルを備える、上記Ｃ５９に記載のデバイス。
［Ｃ６１］
ビデオデータの前記現在のブロックは、最大コーディングユニット内に位置し、前記対象とする領域の高さまたは幅の少なくとも一方は、前記最大コーディングユニットのサイズに基づいて定められる、上記Ｃ５９に記載のデバイス。
［Ｃ６２］
前記対象とする領域の前記高さは、前記最大コーディングユニットの高さに基づいて定められる、上記Ｃ６１に記載のデバイス。
［Ｃ６３］
前記対象とする領域の高さまたは幅の少なくとも一方は、整数個のサンプルに基づいて定められる、上記Ｃ５９に記載のデバイス。
［Ｃ６４］
前記対象とする領域の前記幅は、前記整数個のサンプルに基づいて定められる、上記Ｃ６３に記載のデバイス。
［Ｃ６５］
前記整数個のサンプルは６４個である、上記Ｃ６４に記載のデバイス。
［Ｃ６６］
ビデオデータの前記現在のブロックは、現在の最大コーディングユニット内に位置し、前記対象とする領域の高さまたは幅の少なくとも一方は、前記対象とする領域が前記現在の最大コーディングユニットと前記現在の最大コーディングユニットの左に隣接する最大コーディングユニットとのうちの少なくとも一方内に位置するように制限される、上記Ｃ５９に記載のデバイス。
［Ｃ６７］
前記１つまたは複数のプロセッサは、前記対象とする領域のサイズに基づいて切り捨てられた値を用いてシンタックス要素が符号化されたときに前記シンタックス要素を復号するように構成される、上記Ｃ５９に記載のデバイス。
［Ｃ６８］
前記２次元ベクトルの前記水平変位成分および前記垂直変位成分を定義する１つまたは複数のシンタックス要素は、残差２次元ベクトルの残差水平変位成分および残差垂直変位成分を定義する１つまたは複数のシンタックス要素を備え、前記１つまたは複数のプロセッサは、
予測水平変位成分および予測垂直変位成分を含む予測２次元ベクトルを決定することと、
前記残差および予測２次元ベクトルの前記水平変位成分および前記垂直変位成分に基づいて前記２次元ベクトルの前記水平変位成分および前記垂直変位成分を決定することとを行うように構成される、上記Ｃ５５に記載のデバイス。
［Ｃ６９］
前記１つまたは複数のプロセッサは、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックから復号順序に従ってイントラ予測するためのモードに従って直近に再構成されたビデオデータのブロックに関するビデオデータの予測ブロックを決定するのに使用された直前の２次元ベクトルを、前記予測２次元ベクトルであると決定するように構成される、上記Ｃ６８に記載のデバイス。
［Ｃ７０］
前記現在のビデオブロックは最大コーディングユニット内に位置し、前記１つまたは複数のプロセッサは、
現在のビデオブロックが、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードに従ってビデオデータの前記現在のブロックと同じピクチャ内のビデオデータの予測ブロックを決定するのに使用される２次元ベクトルがそれについて決定される前記最大コーディングユニット内の第１のビデオブロックであると決定することと、
現在のビデオブロックが、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードに従ってビデオデータの前記現在のブロックと同じピクチャ内のビデオデータの予測ブロックを決定するのに使用される２次元ベクトルがそれについて決定される前記最大コーディングユニット内の前記第１のビデオブロックである、との前記決定に応答して、前記予測２次元ベクトルがデフォルトの予測２次元ベクトルであると決定することとを行うように構成される、上記Ｃ６８に記載のデバイス。
［Ｃ７１］
前記デフォルトの予測２次元ベクトルは（−ｗ，０）を備え、ここにおいて、ｗは、前記現在のビデオブロックを備える現在のコーディングユニットの幅を備える、上記Ｃ７０に記載のデバイス。
［Ｃ７２］
前記１つまたは複数のプロセッサは、前記現在のビデオブロックの１つまたは複数の隣接ビデオブロックの以前に決定された１つまたは複数の２次元ベクトルのうちの１つを前記予測２次元ベクトルとして選択するように構成される、上記Ｃ６８に記載のデバイス。
［Ｃ７３］
ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードに従ってビデオデータの現在のブロックと同じピクチャ内のビデオデータの予測ブロックを決定するのに使用されない隣接ブロックの以前に決定されたベクトルは、ビデオデータの前記現在のブロックに関する予測２次元ベクトルとして利用可能でない、上記Ｃ７２に記載のデバイス。
［Ｃ７４］
前記１つまたは複数のプロセッサは、
前記現在のビデオブロックの前記１つまたは複数の隣接ビデオブロックの前記以前に決定された２次元ベクトルのうちの１つまたは複数は前記現在のブロックに関する予測２次元ベクトルとして利用可能でないと決定することと、
前記利用可能でない、以前に決定された１つまたは複数の２次元ベクトルを、デフォルトの予測２次元ベクトルで置き換えることとを行うように構成される、上記Ｃ７２に記載のデバイス。
［Ｃ７５］
ビデオデータの前記現在のブロックは、コーディングユニットの予測ユニットを備える、上記Ｃ５５に記載のデバイス。
［Ｃ７６］
前記コーディングユニットのサイズは２Ｎｘ２Ｎであり、前記予測ユニットのサイズは、ＮｘＮ、２Ｎｘ２Ｎ、２ＮｘＮ、またはＮｘ２Ｎのうちの１つである、上記Ｃ７５に記載のデバイス。
［Ｃ７７］
ビデオデータの前記現在のブロックは、前記ビデオデータのルーマ成分の現在のブロックを備え、前記２次元ベクトルは、前記ルーマ成分に関する２次元ベクトルを備え、前記１つまたは複数のプロセッサは、前記ルーマ成分に関する前記２次元ベクトルおよび前記ビデオデータに関するカラーサンプリングフォーマットに基づいて前記ルーマ成分の前記現在のブロックに対応する前記ビデオデータのクロマ成分のブロックに関する２次元ベクトルを導出するように構成される、上記Ｃ５５に記載のデバイス。
［Ｃ７８］
前記１つまたは複数のプロセッサは、
ビデオデータの前記現在のブロックのサイズを決定することと、
前記１つまたは複数のシンタックス要素を復号し、前記予測ブロックを決定し、前記現在のブロックの前記サイズがサイズ基準を満たすときにのみビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するための前記モードに従ってビデオデータの前記現在のブロックを再構成することと、を行うように構成される、上記Ｃ５５に記載のデバイス。
［Ｃ７９］
前記サイズ基準は最小サイズを備える、上記Ｃ７８に記載のデバイス。
［Ｃ８０］
前記符号化ビデオビットストリームは、ビデオデータの現在のブロックが、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するための前記モードを使用して予測されたかどうかを示すフラグを含み、前記１つまたは複数のプロセッサは、
単一の固定コンテキストによって前記フラグを算術復号することと、
前記１つまたは複数のシンタックス要素を復号し、前記予測ブロックを決定し、ビデオデータの前記現在のブロックが、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するための前記モードを使用して予測されたことを示す前記フラグに応答して、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するための前記モードに従ってビデオデータの前記現在のブロックを再構成することとを行うように構成される、上記Ｃ５５に記載のデバイス。
［Ｃ８１］
前記１つまたは複数のプロセッサは、イントラ予測モードデブロッキングフィルタをビデオデータの前記現在のブロックに適用するように構成される、上記Ｃ５５に記載のデバイス。
［Ｃ８２］
前記デバイスは、
マイクロプロセッサと、
集積回路（ＩＣ）と、
前記ビデオデコーダを備えるワイヤレス通信デバイス
のうちの１つを備える、上記Ｃ５５に記載のデバイス。
［Ｃ８３］
ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを使用してビデオデータを符号化するように構成されたビデオエンコーダを備えるデバイスであって、前記ビデオエンコーダは
符号化ビデオビットストリームを記憶するように構成されたメモリと、
１つまたは複数のプロセッサとを備え、前記１つまたは複数のプロセッサは、
ビデオデータの現在のブロックと同じピクチャ内のビデオデータの以前に符号化されたブロックの組からビデオデータの現在のブロックに関するビデオデータの予測ブロックを選択することと、
２次元ベクトルを決定することと、ここにおいて、前記２次元ベクトルは、水平変位成分と垂直変位成分とを有し、前記水平変位成分は、ビデオデータの前記予測ブロックとビデオデータの前記現在のブロックとの間の水平変位を表し、前記垂直変位成分は、ビデオデータの前記予測ブロックとビデオデータの前記現在のブロックとの間の垂直変位を表す、
ビデオデータの前記現在のブロックおよびビデオデータの前記予測ブロックに基づいて残差ブロックを決定することと、
符号化ビデオビットストリームにおいて、前記２次元ベクトルの前記水平変位成分および前記垂直変位成分ならびに前記残差ブロックを定義する１つまたは複数のシンタックス要素を符号化することとを行うように構成されるデバイス。
［Ｃ８４］
前記１つまたは複数のプロセッサは、前記２次元ベクトルの前記水平変位成分および前記垂直変位成分を整数ピクセル解像度を有するように制限するように構成される、上記Ｃ８３に記載のデバイス。
［Ｃ８５］
ビデオデータの前記現在のブロックおよびビデオデータの前記予測ブロックは、前記ビデオデータのルーマ成分のブロックを備える、上記Ｃ８４に記載のデバイス。
［Ｃ８６］
ビデオデータの前記現在のブロックおよびビデオデータの前記予測ブロックは、前記ビデオデータのクロマ成分のブロックを備える、上記Ｃ８４に記載のデバイス。
［Ｃ８７］
前記１つまたは複数のプロセッサは、
前記ピクチャ内の対象とする領域を定義することと、
前記対象とする領域内のビデオデータの予測ブロックを選択することとを行うように構成される、上記Ｃ８３に記載のデバイス。
［Ｃ８８］
前記１つまたは複数のプロセッサは、インループフィルタ処理の前に前記対象とする領域のすべてのサンプルを記憶するように構成され、ここにおいて、ビデオデータの前記予測ブロックは、インループフィルタ処理の前の再構成サンプルを備える、上記Ｃ８７に記載のデバイス。
［Ｃ８９］
ビデオデータの前記現在のブロックは、最大コーディングユニット内に位置し、前記１つまたは複数のプロセッサは、前記最大コーディングユニットのサイズに基づいて前記対象とする領域を定義するように構成される、上記Ｃ８７に記載のデバイス。
［Ｃ９０］
前記１つまたは複数のプロセッサは、前記最大コーディングユニットの高さに基づいて前記対象とする領域の高さを定めるように構成される、上記Ｃ８９に記載のデバイス。
［Ｃ９１］
前記１つまたは複数のプロセッサは、整数個のサンプルに基づいて前記対象とする領域の高さまたは幅の少なくとも一方を定めるように構成される、上記Ｃ８７に記載のデバイス。
［Ｃ９２］
前記１つまたは複数のプロセッサが、前記整数個のサンプルに基づいて前記対象とする領域の幅を定めるように構成される、上記Ｃ９１に記載のデバイス。
［Ｃ９３］
前記整数個のサンプルは６４個である、上記Ｃ９２に記載のデバイス。
［Ｃ９４］
ビデオデータの前記現在のブロックは、現在の最大コーディングユニット内に位置し、前記１つまたは複数のプロセッサは、前記対象とする領域を前記現在の最大コーディングユニットと前記現在の最大コーディングユニットの左に隣接する最大コーディングユニットとのうちの少なくとも一方内に位置する領域として定義するように構成される、上記Ｃ８７に記載のデバイス。
［Ｃ９５］
前記１つまたは複数のプロセッサは、前記対象とする領域のサイズに基づいて切り捨てられた値を有する前記シンタックス要素を符号化するように構成される、上記Ｃ８７に記載のデバイス。
［Ｃ９６］
ビデオデータの前記現在のブロックとビデオデータの前記予測ブロックとの間の前記２次元ベクトルは現在の２次元ベクトルを備え、前記１つまたは複数のプロセッサは、
予測水平変位成分および予測垂直変位成分を含む予測２次元ベクトルを決定することと、
前記現在の２次元ベクトルおよび前記予測２次元ベクトルに基づいて残差水平変位成分および残差垂直変位成分を含む残差２次元ベクトルを決定することと、
前記符号化ビデオビットストリームにおいて、前記残差２次元ベクトルを定義する１つまたは複数のシンタックス要素を符号化することとを行うように構成される、上記Ｃ８３に記載のデバイス。
［Ｃ９７］
前記１つまたは複数のプロセッサは、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックから復号順序に従ってイントラ予測するためのモードに従って直近に再構成されたビデオデータのブロックに関するビデオデータの予測ブロックを決定するのに使用された直前の２次元ベクトルを、前記予測２次元ベクトルとして決定するように構成される、上記Ｃ９６に記載のデバイス。
［Ｃ９８］
前記現在のビデオブロックは最大コーディングユニット内に位置し、前記１つまたは複数のプロセッサは、
現在のビデオブロックが、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードに従ってビデオデータの前記現在のブロックと同じピクチャ内のビデオデータの予測ブロックを決定するのに使用される２次元ベクトルがそれについて決定される前記最大コーディングユニット内の第１のビデオブロックであると決定することと、
現在のビデオブロックが、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードに従ってビデオデータの前記現在のブロックと同じピクチャ内のビデオデータの予測ブロックを決定するのに使用される２次元ベクトルがそれについて決定される前記最大コーディングユニット内の前記第１のビデオブロックである、との前記決定に応答して、前記予測２次元ベクトルがデフォルトの予測２次元ベクトルであると決定することとを行うように構成される、上記Ｃ９６に記載のデバイス。
［Ｃ９９］
前記デフォルトの予測２次元ベクトルは（−ｗ，０）を備え、ここにおいて、ｗは、前記現在のビデオブロックを備える現在のコーディングユニットの幅を備える、上記Ｃ９８に記載のデバイス。
［Ｃ１００］
前記１つまたは複数のプロセッサは、前記現在のビデオブロックの１つまたは複数の隣接ビデオブロックの以前に決定された１つまたは複数の２次元ベクトルのうちの１つを前記予測２次元ベクトルとして選択するように構成される、上記Ｃ９６に記載のデバイス。
［Ｃ１０１］
ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードに従ってビデオデータの現在のブロックと同じピクチャ内のビデオデータの予測ブロックを決定するのに使用されない隣接ブロックの以前に決定されたベクトルは、ビデオデータの前記現在のブロックに関する予測２次元ベクトルとして利用可能でない、上記Ｃ１００に記載のデバイス。
［Ｃ１０２］
前記１つまたは複数のプロセッサは、
前記現在のビデオブロックの前記１つまたは複数の隣接ビデオブロックの前記以前に決定された２次元ベクトルのうちの１つまたは複数は前記現在のブロックに関する予測２次元ベクトルとして利用可能でないと決定することと、
前記利用可能でない、以前に決定された１つまたは複数の２次元ベクトルを、デフォルトの予測２次元ベクトルで置き換えることとを行うように構成される、上記Ｃ１００に記載のデバイス。
［Ｃ１０３］
ビデオデータの前記現在のブロックは、コーディングユニットの予測ユニットを備える、上記Ｃ８３に記載のデバイス。
［Ｃ１０４］
前記コーディングユニットのサイズは２Ｎｘ２Ｎであり、前記予測ユニットのサイズは、ＮｘＮ、２Ｎｘ２Ｎ、２ＮｘＮ、またはＮｘ２Ｎのうちの１つである、上記Ｃ１０３に記載のデバイス。
［Ｃ１０５］
ビデオデータの前記現在のブロックは、前記ビデオデータのルーマ成分の現在のブロックを備え、前記２次元ベクトルは、前記ルーマ成分に関する２次元ベクトルを備え、前記１つまたは複数のプロセッサは、前記ルーマ成分に関する前記２次元ベクトルおよび前記ビデオデータに関するカラーサンプリングフォーマットに基づいて前記ルーマ成分の前記現在のブロックに対応する前記ビデオデータのクロマ成分のブロックに関する２次元ベクトルを導出するように構成される、上記Ｃ８３に記載のデバイス。
［Ｃ１０６］
前記１つまたは複数のプロセッサは、
ビデオデータの前記現在のブロックのサイズを決定することと、
前記予測ブロックを選択し、前記２次元ベクトルを決定し、前記残差ブロックを決定し、前記現在のブロックの前記サイズがサイズ基準を満たすときにのみビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するための前記モードに従って前記１つまたは複数のシンタックス要素を符号化することとを行うように構成される、上記Ｃ８３に記載のデバイス。
［Ｃ１０７］
前記サイズ基準は最小サイズを備える、上記Ｃ１０６に記載のデバイス。
［Ｃ１０８］
前記１つまたは複数のプロセッサは、ビデオデータの現在のブロックが、ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するための前記モードを使用して予測されたかどうかを示すフラグを単一の固定コンテキストによって算術符号化するように構成される、上記Ｃ８３に記載のデバイス。
［Ｃ１０９］
前記１つまたは複数のプロセッサは、イントラ予測モードデブロッキングフィルタをビデオデータの前記現在のブロックに適用するように構成される、上記Ｃ８３に記載のデバイス。
［Ｃ１１０］
前記デバイスは、
マイクロプロセッサと、
集積回路（ＩＣ）と、
前記ビデオエンコーダを備えるワイヤレス通信デバイス
のうちの１つを備える、上記Ｃ８３に記載のデバイス。
［Ｃ１１１］
ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを使用してビデオデータをコーディングするように構成されたビデオコーダを備えるデバイスであって、前記ビデオコーダは、
２次元ベクトルの水平変位成分および垂直変位成分ならびにビデオデータの現在のブロックに関する残差ブロックを定義する１つまたは複数のシンタックス要素を含むビデオビットストリームをコーディングするための手段と、
ビデオデータの前記現在のブロックに関するビデオデータの予測ブロックを決定するための手段とを備え、
ここにおいて、前記２次元ベクトルの前記水平変位成分は、ビデオデータの前記予測ブロックとビデオデータの前記現在のブロックとの間の水平変位を表し、前記２次元ベクトルの前記垂直変位成分は、ビデオデータの前記予測ブロックとビデオデータの前記現在のブロックとの間の垂直変位を表し、
ビデオデータの前記予測ブロックは、ビデオデータの前記現在のブロックと同じピクチャ内のビデオデータの再構成ブロックであり、
前記残差ブロックは、ビデオデータの前記現在のブロックおよびビデオデータの前記予測ブロックに基づいて決定されるデバイス。
［Ｃ１１２］
ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するためのモードを含むビデオデータをコーディングするための命令が記憶された非一時的コンピュータ可読記憶媒体であって、前記命令は、実行されたときに、１つまたは複数のプロセッサに、
２次元ベクトルの水平変位成分および垂直変位成分ならびにビデオデータの現在のブロックに関する残差ブロックを定義する１つまたは複数のシンタックス要素を含むビデオビットストリームをコーディングすることと、
ビデオデータの前記現在のブロックに関するビデオデータの予測ブロックを決定することとを行わせ、
ここにおいて、前記２次元ベクトルの前記水平変位成分は、ビデオデータの前記予測ブロックとビデオデータの前記現在のブロックとの間の水平変位を表し、前記２次元ベクトルの前記垂直変位成分は、ビデオデータの前記予測ブロックとビデオデータの前記現在のブロックとの間の垂直変位を表し、
ビデオデータの前記予測ブロックは、ビデオデータの前記現在のブロックと同じピクチャ内のビデオデータの再構成ブロックであり、
前記残差ブロックは、ビデオデータの前記現在のブロックおよびビデオデータの前記予測ブロックに基づいて決定される、非一時的コンピュータ可読記憶媒体。
【図１】
0006377734.tif 000002
【図２】
0006377734.tif 000003
【図３】
0006377734.tif 000004
【図４Ａ】
0006377734.tif 000005
【図４Ｂ】
0006377734.tif 000006
【図４Ｃ】
0006377734.tif 000007
【図５Ａ】
0006377734.tif 000008
【図５Ｂ】
0006377734.tif 000009
【図５Ｃ】
0006377734.tif 000010
【図６】
0006377734.tif 000011
【図７】
0006377734.tif 000012
【図８】
0006377734.tif 000013
【図９】
0006377734.tif 000014
【図１０】
0006377734.tif 000015
【図１１】
0006377734.tif 000016
【図１２】
0006377734.tif 000017
【図１３】
0006377734.tif 000018
【図１４】
0006377734.tif 000019
【図１５】
0006377734.tif 000020