(57)【特許請求の範囲】
【請求項１】
ビデオ情報を復号する方法であって、
エンハンスメントレイヤを備える第１のビットストリームを受信することと、
フラグの値に基づいて、前記エンハンスメントレイヤに対する参照レイヤが前記第１のビットストリームの中に含まれるかどうかを決定することと、
各々が前記第１のビットストリームの中の前記参照レイヤに対するパラメータを示す、１つまたは複数の変数を処理するべきか否かを、前記参照レイヤが前記第１のビットストリームの中に含まれるかどうかに基づいて決定することと、ここにおいて、前記１つまたは複数の変数は、前記参照レイヤ（ＲＬ）が少なくとも１つのエンハンスメントレイヤ（ＥＬ）のサンプル予測および動き予測のうちの１つまたは複数のために使用され得ることを示す変数を備える、
前記参照レイヤが非高効率ビデオコーディング（ＨＥＶＣ）コーデックを使用してコーディングされ、前記エンハンスメントレイヤがＨＥＶＣコーデックを使用してコーディングされ、前記参照レイヤが前記第１のビットストリームの中に含まれないことに応答して、前記１つまたは複数の変数を処理することなく、前記１つまたは複数の変数の各々の値を推定することと、
前記１つまたは複数の変数の前記推定された値を使用して前記エンハンスメントレイヤを復号することと
を備える方法。
【請求項２】
前記参照レイヤが、アドバンストビデオコーディング（ＡＶＣ）コーデックに従ってコーディングされる、請求項１に記載の方法。
【請求項３】
前記参照レイヤが前記第１のビットストリームの中に含まれるかどうかを決定することは、前記参照レイヤが前記第１のビットストリームの中に含まれるかどうかを、ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、または適応パラメータセットのうちの１つの中に含まれる値に基づいて決定することを備える、請求項１に記載の方法。
【請求項４】
前記参照レイヤに対する前記パラメータの前記フラグを処理するべきか否かを、前記参照レイヤが前記第１のビットストリームの中に含まれるかどうかに基づいて決定することは、前記フラグが冗長であるか否かを、前記参照レイヤが前記第１のビットストリームの中に含まれるかどうかに基づいて決定することを備える、請求項１に記載の方法。
【請求項５】
前記１つまたは複数のフラグが、前記参照レイヤに対するいくつかのサブレイヤのフラグを備える、請求項１に記載の方法。
【請求項６】
前記１つまたは複数のフラグは、前記参照レイヤが第２のレイヤに対するレイヤ間予測のために使用され得るかどうかのフラグを備える、請求項１に記載の方法。
【請求項７】
前記１つまたは複数のフラグが、データアレイの中の１つまたは複数の値を備える、請求項１に記載の方法。
【請求項８】
ビデオ情報を符号化する方法であって、
エンハンスメントレイヤを備える第１のビットストリームを受信することと、
フラグの値に基づいて、前記エンハンスメントレイヤに対する参照レイヤが前記第１のビットストリームの中に含まれるかどうかを決定することと、
各々が前記参照レイヤに対するパラメータを示す、１つまたは複数の変数を処理するべきか否かを、前記参照レイヤが前記第１のビットストリームの中に含まれるかどうかに基づいて決定することと、ここにおいて、前記１つまたは複数の変数は、前記参照レイヤ（ＲＬ）が少なくとも１つのエンハンスメントレイヤ（ＥＬ）のサンプル予測および動き予測のうちの１つまたは複数のために使用され得ることを示す変数を備える、
前記参照レイヤが非高効率ビデオコーディング（ＨＥＶＣ）コーデックを使用してコーディングされ、前記エンハンスメントレイヤがＨＥＶＣコーデックを使用してコーディングされ、前記参照レイヤが前記第１のビットストリームの中に含まれないことに応答して、前記１つまたは複数の変数を処理することなく、前記１つまたは複数の変数の各々の値を推定することと、
推定された値を使用して前記エンハンスメントレイヤを符号化することと
を備える方法。
【請求項９】
ビデオ情報を復号するように構成された装置であって、
前記ビデオ情報を記憶するように構成されたメモリと、
前記メモリと通信しているプロセッサとを備え、前記プロセッサは、
エンハンスメントレイヤを備える第１のビットストリームを受信することと、
フラグの値に基づいて、前記エンハンスメントレイヤに対する参照レイヤが前記第１のビットストリームの中に含まれるかどうかを決定することと、
各々が前記第１のビットストリームの中の前記参照レイヤに対するパラメータを示す、１つまたは複数の変数を処理するべきか否かを、前記参照レイヤが前記第１のビットストリームの中に含まれるかどうかに基づいて決定することと、ここにおいて、前記１つまたは複数の変数は、前記参照レイヤ（ＲＬ）が少なくとも１つのエンハンスメントレイヤ（ＥＬ）のサンプル予測および動き予測のうちの１つまたは複数のために使用され得ることを示す変数を備える、
前記参照レイヤが非高効率ビデオコーディング（ＨＥＶＣ）コーデックを使用してコーディングされ、前記エンハンスメントレイヤがＨＥＶＣコーデックを使用してコーディングされ、前記参照レイヤが前記第１のビットストリームの中に含まれないことに応答して、前記１つまたは複数の変数を処理することなく、前記１つまたは複数の変数の各々の値を推定することと、
推定された値を使用して前記エンハンスメントレイヤを復号することとを行うように構成される、
装置。
【請求項１０】
ビデオ情報を符号化するように構成された装置であって、
前記ビデオ情報を記憶するように構成されたメモリと、
前記メモリと通信しているプロセッサとを備え、前記プロセッサは、
エンハンスメントレイヤを備える第１のビットストリームを受信することと、
フラグの値に基づいて、前記エンハンスメントレイヤに対する参照レイヤが前記第１のビットストリームの中に含まれるかどうかを決定することと、
各々が前記参照レイヤに対するパラメータを示す、１つまたは複数の変数を処理するべきか否かを、前記参照レイヤが前記第１のビットストリームの中に含まれるかどうかに基づいて決定することと、ここにおいて、前記１つまたは複数の変数は、前記参照レイヤ（ＲＬ）が少なくとも１つのエンハンスメントレイヤ（ＥＬ）のサンプル予測および動き予測のうちの１つまたは複数のために使用され得ることを示す変数を備える、
前記参照レイヤが非高効率ビデオコーディング（ＨＥＶＣ）コーデックを使用してコーディングされ、前記エンハンスメントレイヤがＨＥＶＣコーデックを使用してコーディングされ、前記参照レイヤが前記第１のビットストリームの中に含まれないことに応答して、前記１つまたは複数の変数を処理することなく、前記１つまたは複数の変数の各々の値を推定することと、
推定された値を使用して前記エンハンスメントレイヤを符号化することとを行うように構成される、
装置。
【請求項１１】
実行されたとき、装置に、請求項１−８の方法を実行させるコードを備える非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本開示は、ビデオコーディングおよび圧縮の分野に関し、詳細には、スケーラブルビデオコーディング（ＳＶＣ：scalable video coding）、マルチビュービデオコーディング（ＭＶＣ：multiview video coding）、または３次元（３Ｄ）ビデオコーディングに関する。
【背景技術】
【０００２】
[0002]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，アドバンストビデオコーディング（ＡＶＣ）、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格によって定義された規格、およびそのような規格の拡張に記載されているもののような、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００３】
[0003]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間（イントラピクチャ）予測および／または時間（インターピクチャ）予測を実行する。ブロックベースのビデオコーディングの場合、ビデオスライス（たとえば、ビデオフレーム、ビデオフレームの一部分など）が、ツリーブロック、コーディングユニット（ＣＵ：coding unit）および／またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコーディングされる（Ｉ）スライスの中のビデオブロックは、同じピクチャの中の隣接ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコーディングされる（ＰまたはＢ）スライスの中のビデオブロックは、同じピクチャの中の隣接ブロック中の参照サンプルに対する空間予測、または他の参照ピクチャにおける参照サンプルに対する時間予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００４】
[0004]空間予測または時間予測により、コーディングされるべきブロックのための予測ブロックが生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコーディングされたブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され、残差変換係数をもたらす場合があり、その残差変換係数は、次いで量子化される場合がある。最初に２次元アレイで構成された量子化変換係数は、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピー符号化が適用され得る。
【発明の概要】
【０００５】
[0005]スケーラブルビデオコーディング（ＳＶＣ）は、参照レイヤ（ＲＬ：reference layer）と呼ばれることがあるベースレイヤ（ＢＬ：base layer）と、１つまたは複数のスケーラブルエンハンスメントレイヤ（ＥＬ：enhancement layer）とが使用されるビデオコーディングを指す。ＳＶＣでは、ＢＬは、ベースレベルの品質でビデオデータを搬送することができる。１つまたは複数のＥＬは、たとえば、より高い空間レベル、時間レベル、および／または信号対雑音（ＳＮＲ：signal-to-noise）レベルをサポートするために、追加のビデオデータを搬送することができる。ＥＬは、前に符号化されたレイヤに対して定義され得る。たとえば、最下位レイヤはＢＬとして働き得、最上位レイヤはＥＬとして働き得る。中間レイヤは、ＥＬまたはＲＬのいずれか、あるいはその両方として働き得る。たとえば、中間のレイヤは、ＢＬまたは介在（intervening）ＥＬなどの中間レイヤの下のレイヤのためのＥＬであり得、同時に、中間レイヤの上の１つまたは複数のＥＬのためのＲＬとして働き得る。同様に、ＨＥＶＣ規格のマルチビューまたは３Ｄ拡張では、複数のビューがあり得、１つのビューの情報は、別のビューの情報（たとえば、動き推定、動きベクトル予測および／または他の冗長）をコーディング（たとえば、符号化または復号）するために利用され得る。
【０００６】
[0006]ＳＶＣでは、ＥＬの中の現在ブロックは、ＲＬから導出された情報を使用してコーディング（たとえば、符号化または復号）され得る。たとえば、ＥＬの中の現在ブロックは、ＲＬの中のコロケートされたブロックの情報（たとえば、テクスチャ情報または動き情報）を使用してコーディングされ得る（本開示で使用する「コロケートされた」という用語は、現在ブロック、たとえば、現在コーディングされているブロックと同じ画像に対応する、別のレイヤ中のブロックを指すことがある）。いくつかの実装形態では、特定のＲＬがＥＬをコーディングするために使用されるかどうかが、フラグまたはシンタックス要素としてシグナリングされ得る。特定のＲＬがＥＬをコーディングするために使用されることをフラグまたはシンタックス要素が示す場合、たとえば、テクスチャ（ピクセル）情報、動き情報、またはその両方など、特定の参照ピクチャの中のどんな種類の情報がＥＬをコーディングするために使用されるのかを示すために、他のフラグまたはシンタックス要素がさらにシグナリングされ得る。
【０００７】
[0007]いくつかの場合では、ＲＬの中の情報の一部分が、ＥＬをコーディングする際に使用するために利用可能でないことがある。たとえば、いくつかの実装形態では、ＲＬが非ＨＥＶＣコーデックを使用してコーディングされる場合、ＲＬの動き情報は、ＥＬをコーディングするためにＨＥＶＣコーデックにとって利用可能でないことがある。そのような場合、ＥＬは、依然としてＲＬのテクスチャ情報を使用してコーディングされ得るが、ＲＬの動き情報は、ＥＬをコーディングするために使用され得ない。
【０００８】
[0008]ＲＬをコーディングするために使用されるコーデックのタイプへの、ＲＬの中のいくつかのタイプの情報の利用可能性のこの依存関係を活用することによって、どんなタイプの情報がＲＬから導出されるのかを決定するために実行される処理の一部が省略され得（たとえば、情報が利用不可能である場合、その情報がＥＬをコーディングするために使用されるかどうかを検査する必要がない）、したがって、改善されたコーディング効率および／または低減された計算量がもたらされ得る。
【０００９】
[0009]本開示のシステム、方法、およびデバイスは、いくつかの発明的態様をそれぞれ有し、それらの態様は、１つとして、本明細書で開示する望ましい属性を単独で担うものではない。
【００１０】
[0010]一態様では、本開示は、ビデオ情報をコーディングする方法を説明し、方法は、参照レイヤがビットストリームの中に含まれるかどうかを決定することを含む。方法は、表示を処理するべきか否かを、参照レイヤがビットストリームの中に含まれるかどうかに基づいて決定することと、参照レイヤがビットストリームの中に含まれる場合、表示をビデオビットストリームの中で処理することをさらに含む。方法はまた、処理された表示に少なくとも部分的に基づいて、ビデオ情報をコーディングすることを含む。
【００１１】
[0011]いくつかの態様では、参照レイヤは、非ＨＥＶＣ（高効率ビデオコーディング）コーデックに従って、またはアドバンストビデオコーディング（ＡＶＣ）コーデックに従ってコーディングされ得る。参照レイヤがビットストリームの中に含まれるかどうかを決定することは、参照レイヤがビットストリームの中に含まれるかどうかを、フラグまたは変数の値に基づいて決定することを含み得る。表示を処理するべきか否かを、参照レイヤがビットストリームの中に含まれるかどうかに基づいて決定することは、表示が冗長であるか否かを、参照レイヤがビットストリームの中に含まれるかどうかに基づいて決定することを含み得る。いくつかの態様では、表示は、参照レイヤが少なくとも１つのエンハンスメントレイヤ（ＥＬ）のサンプル予測および動き予測のうちの１つまたは複数のために使用され得るという表示を含み得る。表示は、特定のレイヤに対するいくつかのサブレイヤの表示を含み得る。一態様では、表示は、第１のレイヤが第２のレイヤに対するレイヤ間予測のために使用され得るかどうかの表示を含み得る。表示は、データアレイの中の１つまたは複数の値を含み得る。ビデオ情報をコーディングすることは、ビデオ情報を符号化することおよび復号することのうちの少なくとも１つを含み得る。
【００１２】
[0012]本開示の一態様は、ビデオ情報をコーディングするように構成された装置を提供する。装置は、ビットストリームに関連付けられたビデオ情報を記憶するように構成されたメモリを含む。装置は、メモリと通信しているプロセッサをさらに含む。プロセッサは、参照レイヤがビットストリームの中に含まれるかどうかを決定することと、表示を処理するべきか否かを、参照レイヤがビットストリームの中に含まれるかどうかに基づいて決定することとを行うように構成される。プロセッサは、参照レイヤがビットストリームの中に含まれる場合、表示をビデオビットストリームの中で処理することと、処理された表示に少なくとも部分的に基づいて、ビデオ情報をコーディングすることとを行うようにさらに構成される。
【００１３】
[0013]一態様では、実行されたとき、装置にプロセスを実行させるコードを備える非一時的コンピュータ可読媒体が開示される。プロセスは、参照レイヤがビットストリームの中に含まれるかどうかを決定することと、表示を処理するべきか否かを、参照レイヤがビットストリームの中に含まれるかどうかに基づいて決定することとを含む。プロセスは、参照レイヤがビットストリームの中に含まれる場合、表示をビデオビットストリームの中で処理することと、処理された表示に少なくとも部分的に基づいて、ビデオ情報をコーディングすることとをさらに含む。
【００１４】
[0014]本開示の一態様は、ビデオ情報をコーディングするように構成されたビデオコーディングデバイスを提供する。ビデオコーディングデバイスは、参照レイヤがビットストリームの中に含まれるかどうかを決定するための手段と、表示を処理するべきか否かを、参照レイヤがビットストリームの中に含まれるかどうかに基づいて決定するための手段とを含む。デバイスは、参照レイヤがビットストリームの中に含まれる場合、表示をビデオビットストリームの中で処理するための手段と、処理された表示に少なくとも部分的に基づいて、ビデオ情報をコーディングするための手段とをさらに含む。
【図面の簡単な説明】
【００１５】
【図１Ａ】[0015]本開示で説明する態様による技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図１Ｂ】[0016]本開示で説明する態様による技法を実行し得る別の例示的なビデオ符号化および復号システムを示すブロック図。
【図２Ａ】[0017]本開示で説明する態様による技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図２Ｂ】[0018]本開示で説明する態様による技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図３Ａ】[0019]本開示で説明する態様による技法を実装し得るビデオデコーダの一例を示すブロック図。
【図３Ｂ】[0020]本開示で説明する態様による技法を実装し得るビデオデコーダの一例を示すブロック図。
【図４】[0021]本開示の一実施形態による、ビデオ情報をコーディングする方法を示すフローチャート。
【図５】[0022]本開示の一実施形態による、ビデオ情報をコーディングする方法を示すフローチャート。
【図６】[0023]本開示の一実施形態による、ビデオ情報をコーディングする方法を示すフローチャート。
【図７】[0024]本開示の別の実施形態による、ビデオ情報をコーディングする方法を示すフローチャート。
【発明を実施するための形態】
【００１６】
[0025]本明細書に記載されるいくつかの実施形態は、ＨＥＶＣ（高効率ビデオコーディング）などのアドバンストビデオコーデックのコンテキストにおけるスケーラブルビデオコーディングのためのレイヤ間予測に関する。より具体的には、本開示は、マルチレイヤビデオコーディングにおけるレイヤ間予測の実行を改善するためのシステムおよび方法に関する。
【００１７】
[0026]以下の説明では、いくつかの実施形態に関係するＨ．２６４／ＡＶＣ技法が記載され、ＨＥＶＣ規格および関係する技法も説明される。ＨＥＶＣ規格および／またはＨ．２６４規格のコンテキストにおいて、いくつかの実施形態が本明細書に記載されるが、本明細書で開示されるシステムおよび方法が任意の適切なビデオコーディング規格に適用可能であり得ることを、当業者なら諒解されよう。たとえば、本明細書で開示される実施形態は、以下の規格、すなわち、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１ビジュアル、ＩＴＵ−Ｔ  Ｈ．２６２もしくはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２ビジュアル、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４ビジュアル、およびそのスケーラブルビデオコーディング（ＳＶＣ）およびマルチビュービデオコーディング（ＭＶＣ）拡張を含むＩＴＵ−Ｔ  Ｈ．２６４（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとも呼ばれる）のうちの、１つまたは複数に適用可能であり得る。
【００１８】
[0027]ＨＥＶＣは、概して、多くの点で、前のビデオコーディング規格のフレームワークに従う。ＨＥＶＣにおける予測の単位は、いくつかの前のビデオコーディング規格における単位（たとえば、マクロブロック）とは異なる。事実上、マクロブロックの概念は、いくつかの前のビデオコーディング規格において理解されているように、ＨＥＶＣ中に存在しない。マクロブロックは、他の考えられる利益の中でも高いフレキシビリティを与え得る、４分木方式に基づく階層構造と置き換えられる。たとえば、ＨＥＶＣ方式内で、コーディングユニット（ＣＵ）、予測ユニット（ＰＵ：Prediction Unit）、および変換ユニット（ＴＵ：Transform Unit）という３つのタイプのブロックが定義される。ＣＵは領域分割の基本単位を指すことがある。ＣＵはマクロブロックの概念に類似するとみなされてよいが、ＣＵは最大サイズを制限せず、コンテンツ適応性を改善するために４つの等しいサイズのＣＵへの再帰的分割を可能にし得る。ＰＵは、インター／イントラ予測の基本単位とみなされてよく、ＰＵは、不規則なイメージパターンを効率的にコーディングするために、単一のＰＵに複数の任意形状区分を含み得る。ＴＵは、変換の基本単位とみなされてよい。ＴＵはＰＵとは無関係に定義され得るが、ＴＵのサイズはＴＵが属するＣＵに限定されることがある。３つの異なる概念へのブロック構造のこの分離は、各々がそのユニットの役割に従って最適化されることを可能にし得、このことはコーディング効率の改善をもたらし得る。
【００１９】
[0028]単に説明の目的で、本明細書で開示するいくつかの実施形態について、２つのレイヤのみ（たとえば、ベースレイヤなどの下位レイヤ、およびエンハンスメントレイヤなどの上位レイヤ）を含む例を用いて説明する。そのような例が複数のベースレイヤおよび／またはエンハンスメントレイヤを含む構成に適用可能であり得ることを理解されたい。さらに、説明を簡単にするために、以下の開示は、いくつかの実施形態に関して「フレーム」または「ブロック」という用語を含む。しかしながら、これらの用語は、限定的であることを意味しない。たとえば、以下で説明する技法は、ブロック（たとえば、ＣＵ、ＰＵ、ＴＵ、マクロブロックなど）、スライス、フレームなどの、任意の適切なビデオユニットとともに使用され得る。
【００２０】
ビデオコーディング規格
[0029]ビデオ画像、ＴＶ画像、静止画像、またはビデオレコーダもしくはコンピュータによって生成された画像などの、デジタル画像は、水平ラインおよび垂直ラインで構成されたピクセルまたはサンプルからなり得る。単一の画像中のピクセルの数は一般に数万個である。各ピクセルは、一般に、ルミナンス情報とクロミナンス情報とを含む。圧縮がなければ、画像エンコーダから画像デコーダに搬送されるべき情報の量は、リアルタイム画像伝送を不可能にさせるほど非常に大きい。送信されるべき情報の量を低減するために、ＪＰＥＧ、ＭＰＥＧおよびＨ．２６３規格など、いくつかの異なる圧縮方法が開発された。
【００２１】
[0030]ビデオコーディング規格は、ＩＴＵ−Ｔ  Ｈ．２６１と、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１ビジュアルと、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２ビジュアルと、ＩＴＵ−Ｔ  Ｈ．２６３と、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４ビジュアルと、それのＳＶＣおよびＭＶＣ拡張を含むＩＴＵ−Ｔ  Ｈ．２６４とを含む。
【００２２】
[0031]さらに、新しいビデオコーディング規格、すなわち、高効率ビデオコーディング（ＨＥＶＣ）が、ＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ：Video Coding Experts Group）とＩＳＯ／ＩＥＣモーションピクチャエキスパートグループ（ＭＰＥＧ）とのジョイントコラボレーションチームオンビデオコーディング（ＪＣＴ−ＶＣ：Joint Collaboration Team on Video Coding）によって開発されている。ＨＥＶＣドラフト１０についての完全引用は、文書ＪＣＴＶＣ−Ｌ１００３、Ｂｒｏｓｓら、「Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）Ｔｅｘｔ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｄｒａｆｔ  １０」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３およびＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１のジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）、第１２回会合：ジュネーブ、スイス、２０１３年１月１４日〜２０１３年１月２３日である。ＨＥＶＣへのマルチビュー拡張、すなわち、ＭＶ−ＨＥＶＣ、およびＳＨＶＣと名付けられたＨＥＶＣへのスケーラブル拡張も、ＪＣＴ−３Ｖ（ＩＴＵ−Ｔ／ＩＳＯ／ＩＥＣジョイントコラボレーティブチームオン３Ｄビデオコーディング拡張開発）およびＪＣＴ−ＶＣによって、それぞれ開発されている。
【００２３】
[0032]新規のシステム、装置、および方法の様々な態様は、これ以降、添付図面を参照しながら、より十分に説明される。しかしながら、本開示は、多くの異なる形態で実施可能であり、本開示の全体を通して示される任意の特定の構造または機能に限定されるものと解釈されるべきでない。むしろ、本開示が、入念で完全であり、本開示の範囲を当業者に十分に伝達するように、これらの態様が提供される。本明細書の教示に基づいて、本開示の範囲は、本開示の他の態様と無関係に実装されるにせよ、本開示の他の態様と組み合わせて実装されるにせよ、本明細書で開示する新規のシステム、装置、および方法のいかなる態様をもカバーするものであることを、当業者なら諒解されたい。たとえば、本明細書に記載される任意の数の態様を使用して装置が実装されてよく、または方法が実施されてもよい。さらに、本開示の範囲は、本明細書に記載する本開示の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法をカバーするものとする。本明細書で開示する任意の態様は、特許請求の範囲の１つまたは複数の要素により実施されてもよいことを理解されたい。
【００２４】
[0033]特定の態様について本明細書で説明するが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好ましい態様のいくつかの利益および利点が述べられるが、本開示の範囲は、特定の利益、使用、または目的に限定されることを意図しない。むしろ、本開示の態様は、異なるワイヤレス技術、システム構成、ネットワーク、および伝送プロトコルに広く適用可能なものであり、そのうちのいくつかが図面および好ましい態様の以下の説明において例として示される。詳細な説明および図面は、限定的ではなく、本開示の例示にすぎず、本開示の範囲は、添付の特許請求の範囲およびその均等物によって定義される。
【００２５】
[0034]添付の図面は、例を示す。添付の図面内で参照番号によって指示される要素は、以下の説明において同様の参照番号で指示される要素に対応する。本開示では、序数語（たとえば、「第１の」、「第２の」、「第３の」など）で始まる名前を有する要素は、必ずしもそれらの要素が特定の順序を有することを暗示するとは限らない。むしろ、そのような序数語は、同じまたは同様のタイプの、異なる要素を指すために使用されるにすぎない。
【００２６】
ビデオコーディングシステム
[0035]図１Ａは、本開示で説明する態様による技法を利用し得る例示的なビデオコーディングシステム１０を示すブロック図である。本明細書で使用し説明する「ビデオコーダ」という用語は、総称的にビデオエンコーダとビデオデコーダの両方を指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化とビデオ復号とを総称的に指すことがある。ビデオエンコーダおよびビデオデコーダに加えて、本出願に記載される態様は、トランスコーダ（たとえば、ビットストリームを復号し別のビットストリームを再符号化することができるデバイス）およびミドルボックス（たとえば、ビットストリームを修正、変換、および／または別のやり方で操作することができるデバイス）などの、他の関係するデバイスに拡張され得る。
【００２７】
[0036]図１Ａに示すように、ビデオコーディングシステム１０は、宛先モジュール１４によって後で復号されるべき符号化ビデオデータを生成するソースモジュール１２を含む。図１Ａの例では、ソースモジュール１２および宛先モジュール１４は別個のデバイス上にある−  詳細には、ソースモジュール１２はソースデバイスの部分であり、宛先モジュール１４は宛先デバイスの部分である。しかしながら、ソースおよび宛先モジュール１２、１４が、図１Ｂの例に示すように、同じデバイス上にあってもよく、または同じデバイスの部分であってもよいことに留意されたい。
【００２８】
[0037]もう一度図１Ａを参照すると、ソースモジュール１２および宛先モジュール１４は、デスクトップコンピュータ、ノートブック（たとえば、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのいずれかを備え得る。場合によっては、ソースモジュール１２および宛先モジュール１４はワイヤレス通信のために装備され得る。
【００２９】
[0038]宛先モジュール１４は、リンク１６を介して、復号されるべき符号化ビデオデータを受信し得る。リンク１６は、ソースモジュール１２から宛先モジュール１４に符号化ビデオデータを動かすことが可能な任意のタイプの媒体またはデバイスを備え得る。図１Ａの例では、リンク１６は、ソースモジュール１２が、符号化ビデオデータをリアルタイムで宛先モジュール１４に直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され得、宛先モジュール１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つもしくは複数の物理伝送線路などの、任意のワイヤレス通信媒体または有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワークなどのパケットベースのネットワーク、またはインターネットなどのグローバルネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースモジュール１２から宛先モジュール１４への通信を容易にするために有用であり得る、任意の他の機器を含み得る。
【００３０】
[0039]代替的に、符号化データは出力インターフェース２２から、随意の記憶デバイス３１に出力され得る。同様に、符号化データは、入力インターフェース２８によって記憶デバイス３１からアクセスされ得る。記憶デバイス３１は、ハードドライブ、フラッシュメモリ、揮発性もしくは不揮発性のメモリ、または符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体などの、様々な分散されたまたは局所的にアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる例では、記憶デバイス３１は、ソースモジュール１２によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間記憶デバイスに相当し得る。宛先モジュール１４は、記憶されているビデオデータに、記憶デバイス３１からストリーミングまたはダウンロードを介してアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することができ、その符号化ビデオデータを宛先モジュール１４に送信することができる、任意のタイプのサーバであり得る。例示的なファイルサーバは、ウェブサーバ（たとえば、ウェブサイトのための）、ＦＴＰサーバ、ネットワーク接続記憶（ＮＡＳ）デバイス、または局所的なディスクドライブを含む。宛先モジュール１４は、インターネット接続を含む任意の標準的なデータ接続を通じて、符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、有線接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せを含み得る。記憶デバイス３１からの符号化ビデオデータの伝送は、ストリーミング伝送、ダウンロード伝送、またはその両方の組合せであり得る。
【００３１】
[0040]本開示の技法は、ワイヤレスの用途または設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信（たとえば、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ：dynamic adaptive streaming over HTTP）など）、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオ電話などの用途をサポートするために、単方向または双方向のビデオ送信をサポートするように構成され得る。
【００３２】
[0041]図１Ａの例では、ソースモジュール１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。場合によっては、出力インターフェース２２は変調器／復調器（モデム）および／または送信機を含み得る。ソースモジュール１２において、ビデオソース１８は、ビデオキャプチャデバイス、たとえばビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、図１Ｂの例に示すように、ビデオソース１８がビデオカメラである場合、ソースモジュール１２および宛先モジュール１４は、いわゆるカメラ付き電話またはビデオ電話を形成し得る。しかしながら、本開示に記載される技法は、概してビデオコーディングに適用可能であり得、ワイヤレスアプリケーションおよび／または有線アプリケーションに適用され得る。
【００３３】
[0042]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化ビデオデータは、ソースモジュール１２の出力インターフェース２２を介して、宛先モジュール１４に直接送信され得る。符号化ビデオデータは、さらに（または代替的に）、復号および／または再生のための宛先モジュール１４または他のデバイスによる後のアクセスのために、記憶デバイス３１に記憶され得る。図１Ａおよび図１Ｂに示すビデオエンコーダ２０は、図２Ａに示すビデオエンコーダ２０、図２Ｂに示すビデオエンコーダ２３、または本明細書に記載される任意の他のビデオエンコーダを備えてよい。
【００３４】
[0043]図１Ａの例では、宛先モジュール１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。場合によっては、入力インターフェース２８は、受信機および／またはモデムを含み得る。宛先モジュール１４の入力インターフェース２８は、符号化ビデオデータを、リンク１６を介して受信し得る。リンク１６を介して通信され、または記憶デバイス３１上に提供された符号化ビデオデータは、ビデオデータを復号する際のビデオデコーダ３０などのビデオデコーダによる使用のために、ビデオエンコーダ２０によって生成された様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体に記憶されるか、またはファイルサーバに記憶される符号化ビデオデータに含まれ得る。図１Ａおよび図１Ｂに示すビデオデコーダ３０は、図３Ａに示すビデオデコーダ３０、図３Ｂに示すビデオデコーダ３３、または本明細書に記載される任意の他のビデオデコーダを備えてよい。
【００３５】
[0044]ディスプレイデバイス３２は、宛先モジュール１４と一体化されるか、またはその外部にあり得る。いくつかの例では、宛先モジュール１４は、一体型ディスプレイデバイスを含み得、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先モジュール１４はディスプレイデバイスであり得る。概して、ディスプレイデバイス３２は、復号ビデオデータをユーザに対して表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００３６】
[0045]関係する態様では、図１Ｂは、例示的なビデオ符号化および復号システム１０’を示し、ここにおいて、ソースおよび宛先モジュール１２、１４は、デバイスまたはユーザデバイス１１上にあり、またはその部分である。デバイス１１は、「スマート」フォンなどの電話ハンドセットであり得る。デバイス１１は、ソースおよび宛先モジュール１２、１４と動作可能に通信している随意のコントローラ／プロセッサモジュール１３を含み得る。図１Ｂのシステム１０’は、ビデオエンコーダ２０と出力インターフェース２２との間にビデオ処理ユニット２１をさらに含み得る。いくつかの実装形態では、ビデオ処理ユニット２１は、図１Ｂに示すように別個のユニットであるが、他の実施態様では、ビデオ処理ユニット２１は、ビデオエンコーダ２０および／またはプロセッサ／コントローラモジュール１３の部分として実装され得る。図１Ｂのシステム１０’およびその構成要素は、図１Ａのシステム１０およびその構成要素と場合によっては類似である。
【００３７】
[0046]ビデオエンコーダ２０およびビデオデコーダ３０は、現在開発中のＨＥＶＣ規格など、ビデオ圧縮規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４，Ｐａｒｔ１０，アドバンストビデオコーディング（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他の独自の規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例は、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３を含む。
【００３８】
[0047]図１Ａおよび図１Ｂの例に示されないが、ビデオエンコーダ２０およびビデオデコーダ３０は各々、オーディオエンコーダおよびオーディオデコーダと統合されてよく、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００３９】
[0048]ビデオエンコーダ２０およびビデオデコーダ３０は各々、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの様々な適切なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、適切な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し得、本開示の技法を実行するために、１つまたは複数のプロセッサを使用して、命令をハードウェアで実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダに含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００４０】
ビデオコーディングプロセス
[0049]上記で簡略に述べられたように、ビデオエンコーダ２０はビデオデータを符号化する。ビデオデータは、１つまたは複数のピクチャを備え得る。ピクチャの各々は、ビデオの一部を形成する静止画像である。いくつかの事例では、ピクチャは、ビデオ「フレーム」と呼ばれることがある。ビデオエンコーダ２０がビデオデータを符号化するとき、ビデオエンコーダ２０は、ビットストリームを生成し得る。ビットストリームは、ビデオデータのコーディングされた表現を形成するビットのシーケンスを含み得る。ビットストリームは、コード化ピクチャと、関連するデータとを含み得る。コード化ピクチャは、ピクチャのコーディングされた表現である。
【００４１】
[0050]ビットストリームを生成するために、ビデオエンコーダ２０は、ビデオデータ中の各ピクチャに対して符号化演算を実行し得る。ビデオエンコーダ２０がピクチャに対して符号化演算を実行するとき、ビデオエンコーダ２０は、一連のコード化ピクチャと、関連するデータとを生成し得る。関連するデータは、ビデオパラメータセット（ＶＰＳ：video parameter set）と、シーケンスパラメータセット（ＳＰＳ：sequence parameter set）と、ピクチャパラメータセット（ＰＰＳ：picture parameter set）と、適応パラメータセット（ＡＰＳ：adaptation parameter set）と、他のシンタックス構造とを含み得る。ＳＰＳは、ピクチャの０個以上のシーケンスに適用可能なパラメータを含み得る。ＰＰＳは、０個以上のピクチャに適用可能なパラメータを含み得る。ＡＰＳは、０個以上のピクチャに適用可能なパラメータを含み得る。ＡＰＳ中のパラメータは、ＰＰＳ中のパラメータよりも変化する可能性が高いパラメータであり得る。
【００４２】
[0051]コード化ピクチャを生成するために、ビデオエンコーダ２０は、ピクチャを等しいサイズのビデオブロックに区分し得る。ビデオブロックはサンプルの２次元アレイであり得る。ビデオブロックの各々は、ツリーブロックに関連付けられる。いくつかの事例では、ツリーブロックは、最大コーディングユニット（ＬＣＵ：largest coding unit）と呼ばれることがある。ＨＥＶＣのツリーブロックは、Ｈ．２６４／ＡＶＣのような従来の規格のマクロブロックに、広い意味で類似し得る。しかしながら、ツリーブロックは、特定のサイズに必ずしも限定されず、１つまたは複数のＣＵを含み得る。ビデオエンコーダ２０は、ツリーブロックのビデオブロックを、ＣＵに関連付けられたビデオブロックに区分するために、４分木区分を使用し得、したがって、「ツリーブロック」という名前である。
【００４３】
[0052]いくつかの例では、ビデオエンコーダ２０は、ピクチャを複数のスライスに区分し得る。スライスの各々は、整数個のＣＵを含み得る。いくつかの事例では、スライスは、整数個のツリーブロックを備える。他の事例では、スライスの境界は、ツリーブロック内にあり得る。
【００４４】
[0053]ピクチャに対して符号化演算を実行することの一部として、ビデオエンコーダ２０は、ピクチャの各スライスに対して符号化演算を実行し得る。ビデオエンコーダ２０がスライスに対して符号化演算を実行するとき、ビデオエンコーダ２０は、スライスに関連付けられた符号化データを生成し得る。スライスに関連付けられた符号化データは、「コード化スライス」と呼ばれることがある。
【００４５】
[0054]コード化スライスを生成するために、ビデオエンコーダ２０は、スライス中の各ツリーブロックに対して符号化演算を実行し得る。ビデオエンコーダ２０がツリーブロックに対して符号化演算を実行するとき、ビデオエンコーダ２０は、コーディングされたツリーブロックを生成し得る。コーディングされたツリーブロックは、ツリーブロックの符号化されたバージョンを表すデータを備え得る。
【００４６】
[0055]ビデオエンコーダ２０がコード化スライスを生成するとき、ビデオエンコーダ２０は、ラスタ走査順序に従って、スライス中のツリーブロックに対して符号化演算を実行（たとえば、符号化）し得る。たとえば、ビデオエンコーダ２０は、スライス中のツリーブロックの一番上の行にわたって左から右に進み、次いでツリーブロックの次の下の行にわたって左から右に進み、以下同様に進む順序で、ビデオエンコーダ２０がスライス中のツリーブロックの各々を符号化するまで、スライスのツリーブロックを符号化し得る。
【００４７】
[0056]ラスタ走査順序に従ってツリーブロックを符号化した結果として、所与のツリーブロックの上および左のツリーブロックは符号化されていることがあるが、所与のツリーブロックの下および右のツリーブロックはまだ符号化されていない。したがって、ビデオエンコーダ２０は、所与のツリーブロックを符号化するとき、所与のツリーブロックの上および左のツリーブロックを符号化することによって生成される情報にアクセスすることが可能であり得る。しかしながら、ビデオエンコーダ２０は、所与のツリーブロックを符号化するとき、所与のツリーブロックの下および右のツリーブロックを符号化することによって生成される情報にアクセスできないことがある。
【００４８】
[0057]コーディングされたツリーブロックを生成するために、ビデオエンコーダ２０は、ビデオブロックを徐々により小さいビデオブロックに分割するために、ツリーブロックのビデオブロック上で４分木区分を再帰的に実行し得る。より小さいビデオブロックの各々は、異なるＣＵに関連付けられ得る。たとえば、ビデオエンコーダ２０は、ツリーブロックのビデオブロックを４つの等しいサイズのサブブロックに区分し得、サブブロックのうちの１つまたは複数を４つの等しいサイズのサブサブブロックに区分し得、以下同様である。区分されたＣＵは、そのビデオブロックが他のＣＵに関連付けられたビデオブロックに区分されているＣＵであり得る。区分されていないＣＵは、そのビデオブロックが他のＣＵに関連付けられたビデオブロックに区分されていないＣＵであり得る。
【００４９】
[0058]ビットストリーム中の１つまたは複数のシンタックス要素は、ビデオエンコーダ２０がツリーブロックのビデオブロックを区分し得る最大の回数を示し得る。ＣＵのビデオブロックは形状が正方形であり得る。ＣＵのビデオブロックのサイズ（たとえば、ＣＵのサイズ）は、８×８のピクセルから、最大で６４×６４以上のピクセルを有するツリーブロックのビデオブロックのサイズ（たとえば、ツリーブロックのサイズ）までわたり得る。
【００５０】
[0059]ビデオエンコーダ２０は、ｚ走査順序に従って、ツリーブロックの各ＣＵに対して符号化演算を実行（たとえば、符号化）し得る。言い換えれば、ビデオエンコーダ２０は、左上のＣＵと、右上のＣＵと、左下のＣＵと、次いで右下のＣＵとを、その順序で符号化し得る。ビデオエンコーダ２０が、区分されているＣＵに対して符号化演算を実行するとき、ビデオエンコーダ２０は、ｚ走査順序に従って、区分されているＣＵのビデオブロックのサブブロックに関連付けられたＣＵを符号化し得る。言い換えれば、ビデオエンコーダ２０は、左上のサブブロックに関連付けられたＣＵと、右上のサブブロックに関連付けられたＣＵと、左下のサブブロックに関連付けられたＣＵと、次いで右下のサブブロックに関連付けられたＣＵとを、その順序で符号化し得る。
【００５１】
[0060]ｚ走査順序に従ってツリーブロックのＣＵを符号化した結果として、所与のＣＵの上、左上、右上、左、および左下のＣＵは符号化されていることがある。所与のＣＵの下または右のＣＵはまだ符号化されていない。したがって、ビデオエンコーダ２０は、所与のＣＵを符号化するとき、所与のＣＵに隣接するいくつかのＣＵを符号化することによって生成される情報にアクセスすることが可能であり得る。しかしながら、ビデオエンコーダ２０は、所与のＣＵを符号化するとき、所与のＣＵに隣接する他のＣＵを符号化することによって生成される情報にアクセスできないことがある。
【００５２】
[0061]ビデオエンコーダ２０が、区分されていないＣＵを符号化するとき、ビデオエンコーダ２０は、ＣＵに対する１つまたは複数のＰＵを生成し得る。ＣＵのＰＵの各々は、ＣＵのビデオブロック内の異なるビデオブロックに関連付けられ得る。ビデオエンコーダ２０は、ＣＵの各ＰＵに対して予測ビデオブロックを生成し得る。ＰＵの予測ビデオブロックは、サンプルのブロックであり得る。ビデオエンコーダ２０は、ＰＵのための予測ビデオブロックを生成するために、イントラ予測またはインター予測を使用し得る。
【００５３】
[0062]ビデオエンコーダ２０がＰＵの予測ビデオブロックを生成するためにイントラ予測を使用するとき、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャの復号サンプルに基づいて、ＰＵの予測ビデオブロックを生成し得る。ビデオエンコーダ２０がＣＵのＰＵの予測ビデオブロックを生成するためにイントラ予測を使用する場合、ＣＵはイントラ予測されたＣＵである。ビデオエンコーダ２０がＰＵの予測ビデオブロックを生成するためにインター予測を使用するとき、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャ以外の１つまたは複数のピクチャの復号サンプルに基づいて、ＰＵの予測ビデオブロックを生成し得る。ビデオエンコーダ２０がＣＵのＰＵの予測ビデオブロックを生成するためにインター予測を使用する場合、ＣＵはインター予測されたＣＵである。
【００５４】
[0063]さらに、ビデオエンコーダ２０がＰＵのための予測ビデオブロックを生成するためにインター予測を使用するとき、ビデオエンコーダ２０は、ＰＵのための動き情報を生成し得る。ＰＵのための動き情報は、ＰＵの１つまたは複数の参照ブロックを示し得る。ＰＵの各参照ブロックは、参照ピクチャ内のビデオブロックであり得る。参照ピクチャは、ＰＵに関連付けられたピクチャ以外のピクチャであり得る。いくつかの事例では、ＰＵの参照ブロックは、ＰＵの「参照サンプル」と呼ばれることもある。ビデオエンコーダ２０は、ＰＵの参照ブロックに基づいて、ＰＵのための予測ビデオブロックを生成し得る。
【００５５】
[0064]ビデオエンコーダ２０がＣＵの１つまたは複数のＰＵのための予測ビデオブロックを生成した後、ビデオエンコーダ２０は、ＣＵのＰＵのための予測ビデオブロックに基づいて、ＣＵに対する残差データを生成し得る。ＣＵの残差データは、ＣＵのＰＵのための予測ビデオブロック中のサンプルと、ＣＵの元のビデオブロック中のサンプルとの差分を示し得る。
【００５６】
[0065]さらに、区分されていないＣＵに対して符号化演算を実行することの一部として、ビデオエンコーダ２０は、ＣＵの残差データを、ＣＵのＴＵに関連付けられた残差データの１つまたは複数のブロック（たとえば、残差ビデオブロック）に区分するために、ＣＵの残差データに対して再帰的な４分木区分を実行し得る。ＣＵの各ＴＵは、異なる残差ビデオブロックに関連付けられ得る。
【００５７】
[0066]ビデオエンコーダ２０は、ＴＵに関連付けられた変換係数ブロック（たとえば、変換係数のブロック）を生成するために、ＴＵに関連付けられた残差ビデオブロックに１つまたは複数の変換を適用し得る。概念的に、変換係数ブロックは変換係数の２次元（２Ｄ）行列であり得る。
【００５８】
[0067]変換係数ブロックを生成した後、ビデオエンコーダ２０は、変換係数ブロックに対して量子化プロセスを実行し得る。量子化は、概して、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を実現するプロセスを指す。量子化プロセスは、変換係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中に、ｎビット変換係数はｍビット変換係数に切り捨てられ得、ここで、ｎはｍよりも大きい。
【００５９】
[0068]ビデオエンコーダ２０は、各ＣＵを、量子化パラメータ（ＱＰ）値に関連付け得る。ＣＵに関連付けられたＱＰ値は、ビデオエンコーダ２０が、ＣＵに関連付けられた変換係数ブロックをどのように量子化するかを決定し得る。ビデオエンコーダ２０は、ＣＵに関連付けられたＱＰ値を調整することによって、ＣＵに関連付けられた変換係数ブロックに適用される量子化の程度を調整し得る。
【００６０】
[0069]ビデオエンコーダ２０が変換係数ブロックを量子化した後、ビデオエンコーダ２０は、量子化された変換係数ブロックの中で変換係数を表すシンタックス要素のセットを生成し得る。ビデオエンコーダ２０は、これらのシンタックス要素のうちのいくつかに、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：Context Adaptive Binary Arithmetic Coding）演算などのエントロピー符号化演算を適用し得る。コンテンツ適応型可変長コーディング（ＣＡＶＬＣ：content adaptive variable length coding）、確率間隔区分エントロピー（ＰＩＰＥ：probability interval partitioning entropy）コーディング、または他のバイナリ算術コーディングなど、他のエントロピーコーディング技法も使用され得る。
【００６１】
[0070]ビデオエンコーダ２０によって生成されるビットストリームは、一連のネットワークアブストラクションレイヤ（ＮＡＬ：Network Abstraction Layer）ユニットを含み得る。ＮＡＬユニットの各々は、ＮＡＬユニット中のデータのタイプの指示と、データを含むバイトとを含む、シンタックス構造であり得る。たとえば、ＮＡＬユニットは、ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、コード化スライス、補足エンハンスメント情報（ＳＥＩ：supplemental enhancement information）、アクセスユニットデリミタ、フィラーデータ、または別のタイプのデータを表すデータを含み得る。ＮＡＬユニット中のデータは、様々なシンタックス構造を含み得る。
【００６２】
[0071]ビデオデコーダ３０は、ビデオエンコーダ２０によって生成されたビットストリームを受信し得る。ビットストリームは、ビデオエンコーダ２０によって符号化されたビデオデータのコーディングされた表現を含み得る。ビデオデコーダ３０がビットストリームを受信すると、ビデオデコーダ３０は、ビットストリームに対して構文解析動作を実行し得る。ビデオデコーダ３０が構文解析動作を実行するとき、ビデオデコーダ３０は、ビットストリームからシンタックス要素を抽出し得る。ビデオデコーダ３０は、ビットストリームから抽出されたシンタックス要素に基づいて、ビデオデータのピクチャを再構成し得る。シンタックス要素に基づいてビデオデータを再構成するためのプロセスは、一般に、シンタックス要素を生成するためにビデオエンコーダ２０によって実行されるプロセスの逆であり得る。
【００６３】
[0072]ビデオデコーダ３０がＣＵに関連付けられたシンタックス要素を抽出した後、ビデオデコーダ３０は、シンタックス要素に基づいて、ＣＵのＰＵのための予測ビデオブロックを生成し得る。さらに、ビデオデコーダ３０は、ＣＵのＴＵに関連付けられた変換係数ブロックを逆量子化し得る。ビデオデコーダ３０は、ＣＵのＴＵに関連付けられた残差ビデオブロックを再構成するために、変換係数ブロックに対して逆変換を実行し得る。予測ビデオブロックを生成し、残差ビデオブロックを再構成した後、ビデオデコーダ３０は、予測ビデオブロックおよび残差ビデオブロックに基づいて、ＣＵのビデオブロックを再構成し得る。このようにして、ビデオデコーダ３０は、ビットストリーム中のシンタックス要素に基づいて、ＣＵのビデオブロックを再構成し得る。
【００６４】
ビデオエンコーダ
[0073]図２Ａは、本開示で説明する態様による技法を実装し得るビデオエンコーダの一例を示すブロック図である。ビデオエンコーダ２０は、ＨＥＶＣの場合など、ビデオフレームの単一のレイヤを処理するように構成され得る。さらに、ビデオエンコーダ２０は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。一例として、予測処理ユニット１００は、本開示で説明する技法のいずれかまたはすべてを実行するように構成され得る。別の実施形態では、ビデオエンコーダ２０は、本開示で説明する技法のいずれかまたはすべてを実行するように構成された随意のレイヤ間予測ユニット１２８を含む。他の実施形態では、レイヤ間予測は、予測処理ユニット１００（たとえば、インター予測ユニット１２１および／またはイントラ予測ユニット１２６）によって実行され得、その場合、レイヤ間予測ユニット１２８は省略され得る。しかしながら、本開示の態様はそのように限定されない。いくつかの例では、本開示で説明する技法は、ビデオエンコーダ２０の様々な構成要素間で共有され得る。いくつかの例では、追加または代替として、プロセッサ（図示せず）が、本開示で説明する技法のいずれかまたはすべてを実行するように構成され得る。
【００６５】
[0074]説明の目的で、本開示は、ＨＥＶＣコーディングのコンテキストにおいてビデオエンコーダ２０を説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。図２Ａに示す例は、シングルレイヤコーデックのためのものである。しかしながら、図２Ｂに関してさらに説明するように、ビデオエンコーダ２０の一部または全部は、マルチレイヤコーデックの処理のために複製され得る。
【００６６】
[0075]ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために、空間予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレーム内またはピクチャ内のビデオの時間的冗長性を低減または除去するために時間予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースのコーディングモードのいずれかを参照し得る。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースのコーディングモードのいずれかを参照し得る。
【００６７】
[0076]図２Ａの例では、ビデオエンコーダ２０は複数の機能構成要素を含む。ビデオエンコーダ２０の機能構成要素は、予測処理ユニット１００と、残差生成ユニット１０２と、変換処理ユニット１０４と、量子化ユニット１０６と、逆量子化ユニット１０８と、逆変換ユニット１１０と、再構成ユニット１１２と、フィルタユニット１１３と、復号ピクチャバッファ１１４と、エントロピー符号化ユニット１１６とを含む。予測処理ユニット１００は、インター予測ユニット１２１と、動き推定ユニット１２２と、動き補償ユニット１２４と、イントラ予測ユニット１２６と、レイヤ間予測ユニット１２８とを含む。他の例では、ビデオエンコーダ２０は、より多いか、より少ないか、または異なる機能構成要素を含み得る。さらに、動き推定ユニット１２２および動き補償ユニット１２４は、高度に統合され得るが、図２Ａの例では、説明の目的で別々に表されている。
【００６８】
[0077]ビデオエンコーダ２０は、ビデオデータを受信し得る。ビデオエンコーダ２０は、様々なソースからビデオデータを受信し得る。たとえば、ビデオエンコーダ２０は、ビデオソース１８（たとえば、図１Ａまたは図１Ｂに示す）または別のソースからビデオデータを受信し得る。ビデオデータは、一連のピクチャを表し得る。ビデオデータを符号化するために、ビデオエンコーダ２０は、ピクチャの各々に対して符号化演算を実行し得る。ピクチャに対して符号化演算を実行することの一部として、ビデオエンコーダ２０は、ピクチャの各スライスに対して符号化演算を実行し得る。スライスに対して符号化演算を実行することの一部として、ビデオエンコーダ２０は、スライス中のツリーブロックに対して符号化演算を実行し得る。
【００６９】
[0078]ツリーブロックに対して符号化演算を実行することの一部として、予測処理ユニット１００は、ビデオブロックを徐々により小さいビデオブロックに分割するために、ツリーブロックのビデオブロックに対して４分木区分を実行し得る。より小さいビデオブロックの各々は、異なるＣＵに関連付けられ得る。たとえば、予測処理ユニット１００は、ツリーブロックのビデオブロックを４つの等しいサイズのサブブロックに区分し得、サブブロックのうちの１つまたは複数を４つの等しいサイズのサブサブブロックに区分し得、以下同様である。
【００７０】
[0079]ＣＵに関連付けられたビデオブロックのサイズは、８×８サンプルから、最大で６４×６４サンプル以上のツリーブロックのサイズにまでわたり得る。本開示では、「Ｎ×Ｎ」および「Ｎ  ｂｙ  Ｎ」は、垂直方向の寸法および水平方向の寸法に関するビデオブロックのサンプルの寸法、たとえば、１６×１６サンプルまたは１６  ｂｙ  １６サンプルを指すために、互換的に使用され得る。一般に、１６×１６のビデオブロックは、垂直方向に１６個のサンプルを有し（ｙ＝１６）、水平方向に１６個のサンプルを有する（ｘ＝１６）。同様に、Ｎ×Ｎのブロックは、一般に、垂直方向にＮ個のサンプルを有し、水平方向にＮ個のサンプルを有し、ここで、Ｎは非負整数値を表す。
【００７１】
[0080]さらに、ツリーブロックに対して符号化演算を実行することの一部として、予測処理ユニット１００は、ツリーブロック用の階層的な４分木データ構造を生成し得る。たとえば、ツリーブロックは、４分木データ構造のルートノードに対応し得る。予測処理ユニット１００がツリーブロックのビデオブロックを４つのサブブロックに区分する場合、ルートノードは、４分木データ構造中に４つの子ノードを有する。子ノードの各々は、サブブロックのうちの１つに関連付けられたＣＵに対応する。予測処理ユニット１００がサブブロックのうちの１つを４つのサブサブブロックに区分する場合、サブブロックに関連付けられたＣＵに対応するノードは、サブサブブロックのうちの１つに関連付けられたＣＵに各々が対応する、４つの子ノードを有し得る。
【００７２】
[0081]４分木データ構造の各ノードは、対応するツリーブロックまたはＣＵのシンタックスデータ（たとえば、シンタックス要素）を含み得る。たとえば、４分木の中のノードは、そのノードに対応するＣＵのビデオブロックが４つのサブブロックに区分（たとえば、分割）されているかどうかを示すスプリットフラグを含み得る。ＣＵのためのシンタックス要素は、再帰的に定義され得、ＣＵのビデオブロックがサブブロックに分割されているかどうかに依存し得る。ビデオブロックが区分されていないＣＵは、４分木データ構造におけるリーフノードに対応し得る。コーディングされたツリーブロックは、対応するツリーブロック用の４分木データ構造に基づくデータを含み得る。
【００７３】
[0082]ビデオエンコーダ２０は、ツリーブロックの区分されていない各ＣＵに対して符号化演算を実行し得る。ビデオエンコーダ２０が、区分されていないＣＵに対して符号化演算を実行するとき、ビデオエンコーダ２０は、区分されていないＣＵの符号化された表現を表すデータを生成する。
【００７４】
[0083]ＣＵに対して符号化演算を実行することの一部として、予測処理ユニット１００は、ＣＵの１つまたは複数のＰＵの中で、ＣＵのビデオブロックを区分し得る。ビデオエンコーダ２０およびビデオデコーダ３０は、様々なＰＵサイズをサポートし得る。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ビデオエンコーダ２０およびビデオデコーダ３０は、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズ、および２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、Ｎ×Ｎ、２Ｎ×ｎＵ、ｎＬ×２Ｎ、ｎＲ×２Ｎ、または同様の対称ＰＵサイズでのインター予測とをサポートし得る。ビデオエンコーダ２０およびビデオデコーダ３０は、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズに対する非対称区分もサポートし得る。いくつかの例では、予測処理ユニット１００は、ＣＵのビデオブロックの辺に直角に接触しない境界に沿ってＣＵのＰＵの間でＣＵのビデオブロックを区分するように、幾何学的な区分を実行し得る。
【００７５】
[0084]インター予測ユニット１２１は、ＣＵの各ＰＵに対してインター予測を実行し得る。インター予測は、時間圧縮を実現し得る。ＰＵに対してインター予測を実行するために、動き推定ユニット１２２は、ＰＵのための動き情報を生成し得る。動き補償ユニット１２４は、ＰＵベースの動き情報およびＣＵに関連付けられたピクチャ以外のピクチャ（たとえば、参照ピクチャ）の復号サンプルのための、予測ビデオブロックを生成し得る。本開示では、動き補償ユニット１２４によって生成される予測ビデオブロックは、インター予測ビデオブロックと呼ばれることがある。
【００７６】
[0085]スライスは、Ｉスライス、Ｐスライス、またはＢスライスであり得る。動き推定ユニット１２２および動き補償ユニット１２４は、ＰＵがＩスライス中にあるのか、Ｐスライス中にあるのか、それともＢスライス中にあるのかに応じて、ＣＵのＰＵのための異なる演算を実行し得る。Ｉスライス中では、すべてのＰＵがイントラ予測される。したがって、ＰＵがＩスライス中にある場合、動き推定ユニット１２２および動き補償ユニット１２４は、ＰＵに対してインター予測を実行しない。
【００７７】
[0086]ＰＵがＰスライス中にある場合、ＰＵを含むピクチャは、「リスト０」と呼ばれる参照ピクチャのリストに関連付けられる。リスト０中の参照ピクチャの各々は、他のピクチャのインター予測のために使用され得るサンプルを含む。動き推定ユニット１２２がＰスライス中のＰＵに関して動き推定演算を実行するとき、動き推定ユニット１２２は、ＰＵのための参照ブロックについて、リスト０中の参照ピクチャを探索し得る。ＰＵの参照ブロックは、ＰＵのビデオブロック中のサンプルに最も密接に対応するサンプルのセット、たとえば、サンプルのブロックであり得る。動き推定ユニット１２２は、参照ピクチャ中のサンプルのセットがどの程度密接にＰＵのビデオブロック中のサンプルに対応するかを決定するために、様々なメトリックを使用し得る。たとえば、動き推定ユニット１２２は、絶対差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって、参照ピクチャ中のサンプルのセットがどの程度密接にＰＵのビデオブロック中のサンプルに対応するかを決定し得る。
【００７８】
[0087]Ｐスライス中のＰＵの参照ブロックを識別した後、動き推定ユニット１２２は、参照ブロックを含んでいる、リスト０中の参照ピクチャを示す参照インデックスと、ＰＵと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。様々な例において、動き推定ユニット１２２は、動きベクトルを異なる精度に生成し得る。たとえば、動き推定ユニット１２２は、１／４サンプル精度、１／８サンプル精度、または他の分数のサンプル精度で動きベクトルを生成し得る。分数のサンプル精度の場合、参照ブロック値は、参照ピクチャ中の整数位置のサンプル値から補間され得る。動き推定ユニット１２２は、ＰＵの動き情報として、参照インデックスと動きベクトルとを出力し得る。動き補償ユニット１２４は、ＰＵの動き情報によって識別された参照ブロックに基づいて、ＰＵの予測ビデオブロックを生成し得る。
【００７９】
[0088]ＰＵがＢスライス中にある場合、ＰＵを含むピクチャは、「リスト０」および「リスト１」と呼ばれる参照ピクチャの２つのリストに関連付けられ得る。いくつかの例では、Ｂスライスを含むピクチャは、リスト０とリスト１の組合せである、リストの組合せと関連付けられ得る。
【００８０】
[0089]さらに、ＰＵがＢスライス中にある場合、動き推定ユニット１２２は、ＰＵのための単方向予測または双方向予測を実行し得る。動き推定ユニット１２２がＰＵのための単方向予測を実行するとき、動き推定ユニット１２２は、ＰＵのための参照ブロックについて、リスト０またはリスト１の参照ピクチャを探索し得る。動き推定ユニット１２２は、次いで、参照ブロックを含む、リスト０またはリスト１中の参照ピクチャを示す参照インデックスと、ＰＵと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット１２２は、ＰＵの動き情報として、参照インデックスと、予測方向インジケータと、動きベクトルとを出力し得る。予測方向インジケータは、参照インデックスが、リスト０中の参照ピクチャを示すのか、それともリスト１中の参照ピクチャを示すのかを示し得る。動き補償ユニット１２４は、ＰＵの動き情報によって示された参照ブロックに基づいて、ＰＵの予測ビデオブロックを生成し得る。
【００８１】
[0090]動き推定ユニット１２２がＰＵのための双方向予測を実行するとき、動き推定ユニット１２２は、ＰＵのための参照ブロックについて、リスト０中の参照ピクチャを探索し得、また、ＰＵのための別の参照ブロックについて、リスト１中の参照ピクチャを探索し得る。動き推定ユニット１２２は、次いで、参照ブロックを含む、リスト０およびリスト１中の参照ピクチャを示す参照インデックスと、参照ブロックとＰＵとの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット１２２は、ＰＵの動き情報として、ＰＵの参照インデックスと動きベクトルとを出力し得る。動き補償ユニット１２４は、ＰＵの動き情報によって示された参照ブロックに基づいて、ＰＵの予測ビデオブロックを生成し得る。
【００８２】
[0091]いくつかの事例では、動き推定ユニット１２２は、ＰＵのための動き情報のフルセットをエントロピー符号化ユニット１１６に出力しない。そうではなく、動き推定ユニット１２２は、別のＰＵの動き情報を参照して、ＰＵの動き情報をシグナリングし得る。たとえば、動き推定ユニット１２２は、ＰＵの動き情報が、隣接ＰＵの動き情報と十分に類似していると決定し得る。この例では、動き推定ユニット１２２は、ＰＵに関連付けられたシンタックス構造において、ＰＵが隣接ＰＵと同じ動き情報を有することをビデオデコーダ３０に示す値を示し得る。別の例では、動き推定ユニット１２２は、ＰＵに関連付けられたシンタックス構造において、隣接ＰＵと動きベクトル差分（ＭＶＤ）とを識別し得る。動きベクトル差分は、ＰＵの動きベクトルと、示される隣接ＰＵの動きベクトルとの差分を示す。ビデオデコーダ３０は、ＰＵの動きベクトルを決定するために、示された隣接ＰＵの動きベクトルと、動きベクトル差分とを使用し得る。第２のＰＵの動き情報をシグナリングするときに第１のＰＵの動き情報を参照することによって、ビデオエンコーダ２０は、より少数のビットを使用して、第２のＰＵの動き情報をシグナリングすることが可能であり得る。
【００８３】
[0092]ＣＵに対して符号化演算を実行することの一部として、イントラ予測ユニット１２６は、ＣＵのＰＵに対してイントラ予測を実行し得る。イントラ予測は、空間圧縮を実現し得る。イントラ予測ユニット１２６がＰＵに対してイントラ予測を実行するとき、イントラ予測ユニット１２６は、同じピクチャ中の他のＰＵの復号サンプルに基づいて、ＰＵのための予測データを生成し得る。ＰＵのための予測データは、予測ビデオブロックと様々なシンタックス要素とを含み得る。イントラ予測ユニット１２６は、Ｉスライス、Ｐスライス、およびＢスライス中のＰＵに対してイントラ予測を実行し得る。
【００８４】
[0093]ＰＵに対してイントラ予測を実行するために、イントラ予測ユニット１２６は、ＰＵのための予測データの複数のセットを生成するために、複数のイントラ予測モードを使用し得る。イントラ予測ユニット１２６がＰＵのための予測データのセットを生成するためにイントラ予測モードを使用するとき、イントラ予測ユニット１２６は、イントラ予測モードと関連する方向および／または勾配で、隣接ＰＵのビデオブロックからＰＵのビデオブロックにわたってサンプルを延ばし得る。ＰＵ、ＣＵ、およびツリーブロックについて左から右、上から下の符号化順序を仮定すると、隣接ＰＵは、ＰＵの上、右上、左上、または左にあり得る。イントラ予測ユニット１２６は、ＰＵのサイズに応じて、様々な数のイントラ予測モード、たとえば、３３個の方向性イントラ予測モードを使用し得る。
【００８５】
[0094]予測処理ユニット１００は、動き補償ユニット１２４によってＰＵのために生成された予測データ、またはイントラ予測ユニット１２６によってＰＵのために生成された予測データの中から、ＰＵのための予測データを選択し得る。いくつかの例では、予測処理ユニット１００は、予測データのセットのレート／ひずみメトリックに基づいて、ＰＵのための予測データを選択する。
【００８６】
[0095]予測処理ユニット１００がイントラ予測ユニット１２６によって生成された予測データを選択する場合、予測処理ユニット１００は、ＰＵのための予測データを生成するために使用されたイントラ予測モード、たとえば、選択されたイントラ予測モードをシグナリングし得る。予測処理ユニット１００は、選択されたイントラ予測モードを様々な方法でシグナリングし得る。たとえば、選択されたイントラ予測モードは、隣接ＰＵのイントラ予測モードと同じであることが起こり得る。言い換えれば、隣接ＰＵのイントラ予測モードは、現在ＰＵに対して最確モードであり得る。したがって、予測処理ユニット１００は、選択されたイントラ予測モードが隣接ＰＵのイントラ予測モードと同じであることを示すためのシンタックス要素を生成し得る。
【００８７】
[0096]上記で説明したように、ビデオエンコーダ２０は、レイヤ間予測ユニット１２８を含み得る。レイヤ間予測ユニット１２８は、ＳＶＣにおいて利用可能である１つまたは複数の異なるレイヤ（たとえば、ベースレイヤまたは参照レイヤ）を使用して、現在ブロック（たとえば、ＥＬ中の現在ブロック）を予測するように構成される。そのような予測は、レイヤ間予測と呼ばれることがある。レイヤ間予測ユニット１２８は、レイヤ間冗長性を低減するための予測方法を利用し、それによって、コーディング効率を改善し、計算リソース要件を低減する。レイヤ間予測のいくつかの例は、レイヤ間イントラ予測と、レイヤ間動き予測と、レイヤ間残差予測とを含む。レイヤ間イントラ予測は、エンハンスメントレイヤ中の現在ブロックを予測するために、ベースレイヤの中でコロケートされているブロックの再構成を使用する。レイヤ間動き予測は、エンハンスメントレイヤ中の動作を予測するために、ベースレイヤの動き情報を使用する。レイヤ間残差予測は、エンハンスメントレイヤの残差を予測するために、ベースレイヤの残差を使用する。レイヤ間予測方式の各々について、以下でより詳細に説明する。
【００８８】
[0097]予測処理ユニット１００がＣＵのＰＵのための予測データを選択した後、残差生成ユニット１０２は、ＣＵのビデオブロックからＣＵのＰＵの予測ビデオブロックを差し引くこと（たとえば、マイナス符号によって示される）によって、ＣＵの残差データを生成し得る。ＣＵの残差データは、ＣＵのビデオブロック中のサンプルの異なるサンプル成分に対応する２Ｄ残差ビデオブロックを含み得る。たとえば、残差データは、ＣＵのＰＵの予測ビデオブロック中のサンプルのルミナンス成分と、ＣＵの元のビデオブロック中のサンプルのルミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。さらに、ＣＵの残差データは、ＣＵのＰＵの予測ビデオブロック中のサンプルのクロミナンス成分と、ＣＵの元のビデオブロック中のサンプルのクロミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。
【００８９】
[0098]予測処理ユニット１００は、ＣＵの残差ビデオブロックをサブブロックに区分するために、４分木区分を実行し得る。分割されていない各残差ビデオブロックは、ＣＵの異なるＴＵに関連付けられ得る。ＣＵのＴＵに関連付けられる残差ビデオブロックのサイズおよび位置は、ＣＵのＰＵに関連付けられたビデオブロックのサイズおよび位置に基づいてもよく、または基づかなくてもよい。「残差４分木」（ＲＱＴ）と呼ばれる４分木構造は、残差ビデオブロックの各々に関連付けられたノードを含み得る。ＣＵのＴＵは、ＲＱＴのリーフノードに対応し得る。
【００９０】
[0099]変換処理ユニット１０４は、ＴＵに関連付けられた残差ビデオブロックに１つまたは複数の変換を適用することによって、ＣＵの各ＴＵのための１つまたは複数の変換係数ブロックを生成し得る。変換係数ブロックの各々は、変換係数の２Ｄ行列であり得る。変換処理ユニット１０４は、ＴＵに関連付けられた残差ビデオブロックに様々な変換を適用し得る。たとえば、変換処理ユニット１０４は、離散コサイン変換（ＤＣＴ）、方向変換、または概念的に類似の変換を、ＴＵに関連付けられた残差ビデオブロックに適用し得る。
【００９１】
[00100]変換処理ユニット１０４が、ＴＵに関連付けられた変換係数ブロックを生成した後、量子化ユニット１０６は、変換係数ブロック中の変換係数を量子化し得る。量子化ユニット１０６は、ＣＵに関連付けられたＱＰ値に基づいて、ＣＵのＴＵに関連付けられた変換係数ブロックを量子化し得る。
【００９２】
[00101]ビデオエンコーダ２０は、様々な方法でＱＰ値をＣＵに関連付け得る。たとえば、ビデオエンコーダ２０は、ＣＵに関連付けられたツリーブロックに対して、レートひずみ分析を実行し得る。レートひずみ分析では、ビデオエンコーダ２０は、ツリーブロックに対して符号化演算を複数回実行することによって、ツリーブロックの複数のコーディングされた表現を生成し得る。ビデオエンコーダ２０が、ツリーブロックの異なる符号化表現を生成するとき、ビデオエンコーダ２０は、異なるＱＰ値をＣＵに関連付け得る。最小のビットレートおよびひずみメトリックを有するツリーブロックのコーディングされた表現で所与のＱＰ値がＣＵに関連付けられるとき、ビデオエンコーダ２０は、所与のＱＰ値がＣＵに関連付けられることをシグナリングし得る。
【００９３】
[00102]逆量子化ユニット１０８および逆変換ユニット１１０は、変換係数ブロックから残差ビデオブロックを再構成するために、それぞれ、逆量子化と逆変換とを変換係数ブロックに適用し得る。再構成ユニット１１２は、ＴＵに関連付けられた再構成されたビデオブロックを生成するために、再構成された残差ビデオブロックを、予測処理ユニット１００によって生成された１つまたは複数の予測ビデオブロックからの対応するサンプルに追加し得る。このようにＣＵの各ＴＵについてビデオブロックを再構成することによって、ビデオエンコーダ２０は、ＣＵのビデオブロックを再構成し得る。
【００９４】
[00103]再構成ユニット１１２がＣＵのビデオブロックを再構成した後、フィルタユニット１１３は、ＣＵに関連付けられたビデオブロックにおけるブロッキングアーティファクトを低減するために、デブロッキング演算を実行し得る。１つまたは複数のデブロッキング演算を実行した後、フィルタユニット１１３は、ＣＵの再構成されたビデオブロックを復号ピクチャバッファ１１４に記憶し得る。動き推定ユニット１２２および動き補償ユニット１２４は、後続のピクチャのＰＵに対してインター予測を実行するために、再構成されたビデオブロックを含む参照ピクチャを使用し得る。さらに、イントラ予測ユニット１２６は、ＣＵと同じピクチャ中の他のＰＵに対してイントラ予測を実行するために、復号ピクチャバッファ１１４の中の再構成されたビデオブロックを使用し得る。
【００９５】
[00104]エントロピー符号化ユニット１１６は、ビデオエンコーダ２０の他の機能構成要素からデータを受信し得る。たとえば、エントロピー符号化ユニット１１６は、量子化ユニット１０６から変換係数ブロックを受信し得、予測処理ユニット１００からシンタックス要素を受信し得る。エントロピー符号化ユニット１１６がデータを受信すると、エントロピー符号化ユニット１１６は、エントロピー符号化データを生成するために、１つまたは複数のエントロピー符号化演算を実行し得る。たとえば、ビデオエンコーダ２０は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）演算、ＣＡＢＡＣ演算、変数間（Ｖ２Ｖ：variable-to-variable）レングスコーディング演算、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）演算、確率間隔区分エントロピー（ＰＩＰＥ）コーディング演算、または別のタイプのエントロピー符号化演算をデータに対して実行し得る。エントロピー符号化ユニット１１６は、エントロピー符号化データを含むビットストリームを出力し得る。
【００９６】
[00105]データに対してエントロピー符号化演算を実行することの一部として、エントロピー符号化ユニット１１６は、コンテキストモデルを選択し得る。エントロピー符号化ユニット１１６がＣＡＢＡＣ演算を実行している場合、コンテキストモデルは、特定の値を有する特定のビンの確率の推定値を示し得る。ＣＡＢＡＣのコンテキストでは、「ビン」という用語は、シンタックス要素の２値化されたバージョンのビットを指すために使用される。
【００９７】
マルチレイヤビデオエンコーダ
[00106]図２Ｂは、本開示で説明する態様による技法を実装し得るマルチレイヤビデオエンコーダ２３の一例を示すブロック図である。ビデオエンコーダ２３は、ＳＨＶＣおよびマルチビューコーディングの場合など、マルチレイヤビデオフレームを処理するように構成され得る。さらに、ビデオエンコーダ２３は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。
【００９８】
[00107]ビデオエンコーダ２３はビデオエンコーダ２０Ａとビデオエンコーダ２０Ｂとを含み、それらの各々はビデオエンコーダ２０として構成され得、ビデオエンコーダ２０に関して上記で説明した機能を実行し得る。さらに、参照番号の再利用によって示されるように、ビデオエンコーダ２０Ａおよび２０Ｂは、ビデオエンコーダ２０としてのシステムおよびサブシステムのうちの少なくともいくつかを含み得る。ビデオエンコーダ２３は、２つのビデオエンコーダ２０Ａおよび２０Ｂを含むように示されるが、ビデオエンコーダ２３は、そのように限定されず、任意の数のビデオエンコーダ２０のレイヤを含み得る。いくつかの実施形態では、ビデオエンコーダ２３は、アクセスユニット中の各ピクチャまたは各フレームに対してビデオエンコーダ２０を含み得る。たとえば、５つのピクチャを含むアクセスユニットは、５つのエンコーダレイヤを含むビデオエンコーダによって処理または符号化され得る。いくつかの実施形態では、ビデオエンコーダ２３は、アクセスユニット中のフレームよりも多くのエンコーダレイヤを含み得る。いくつかのそのような場合では、ビデオエンコーダのレイヤのうちのいくつかは、いくつかのアクセスユニットを処理するときに非アクティブであり得る。
【００９９】
[00108]ビデオエンコーダ２０Ａおよび２０Ｂに加えて、ビデオエンコーダ２３は、リサンプリングユニット９０を含み得る。リサンプリングユニット９０は、場合によっては、たとえば、エンハンスメントレイヤを作成するために、受信されたビデオフレームのベースレイヤをアップサンプリングし得る。リサンプリングユニット９０は、フレームの受信されたベースレイヤに関連付けられた特定の情報をアップサンプリングし得るが、他の情報をアップサンプリングしないことがある。たとえば、リサンプリングユニット９０は、ベースレイヤの空間サイズまたはピクセルの数をアップサンプリングし得るが、スライスの数またはピクチャ順序カウントは一定のままであり得る。場合によっては、リサンプリングユニット９０は、受信されたビデオを処理しないことがあり、および／または随意であり得る。たとえば、場合によっては、予測処理ユニット１００は、アップサンプリングを実行し得る。いくつかの実施形態では、リサンプリングユニット９０は、レイヤをアップサンプリングし、スライス境界ルールおよび／またはラスタ走査ルールのセットに準拠するように、１つまたは複数のスライスを再編成、再定義、修正、または調整するように構成される。アクセスユニット中のベースレイヤまたは下位レイヤをアップサンプリングするものとして主に説明したが、場合によっては、リサンプリングユニット９０は、レイヤをダウンサンプリングし得る。たとえば、ビデオのストリーミング中に帯域幅が低減した場合、フレームは、アップサンプリングされるのではなく、ダウンサンプリングされ得る。
【０１００】
[00109]リサンプリングユニット９０は、下位レイヤエンコーダ（たとえば、ビデオエンコーダ２０Ａ）の復号ピクチャバッファ１１４からピクチャまたはフレーム（またはピクチャに関連付けられたピクチャ情報）を受信し、ピクチャ（または受信されたピクチャ情報）をアップサンプリングするように構成され得る。このアップサンプリングされたピクチャは、次いで、下位レイヤエンコーダと同じアクセスユニット中のピクチャを符号化するように構成された、上位レイヤエンコーダ（たとえば、ビデオエンコーダ２０Ｂ）の予測処理ユニット１００に供給され得る。場合によっては、上位レイヤエンコーダは、下位レイヤエンコーダから除去された１つのレイヤである。他の場合には、図２Ｂのレイヤ０ビデオエンコーダとレイヤ１エンコーダとの間に、１つまたは複数の上位レイヤエンコーダがあり得る。
【０１０１】
[00110]場合によっては、リサンプリングユニット９０は、省略またはバイパスされ得る。そのような場合、ビデオエンコーダ２０Ａの復号ピクチャバッファ１１４からのピクチャは、直接、または少なくともリサンプリングユニット９０に供給されずに、ビデオエンコーダ２０Ｂの予測処理ユニット１００に供給され得る。たとえば、ビデオエンコーダ２０Ｂに供給されたビデオデータ、およびビデオエンコーダ２０Ａの復号ピクチャバッファ１１４からの参照ピクチャが、同じサイズまたは解像度である場合、参照ピクチャは、いかなるリサンプリングも伴わずにビデオエンコーダ２０Ｂに供給され得る。
【０１０２】
[00111]いくつかの実施形態では、ビデオエンコーダ２３は、ビデオエンコーダ２０Ａにビデオデータを供給する前に、ダウンサンプリングユニット９４を使用して下位レイヤエンコーダに供給されるべきビデオデータをダウンサンプリングする。代替的に、ダウンサンプリングユニット９４は、ビデオデータをアップサンプリングまたはダウンサンプリングすることが可能なリサンプリングユニット９０であり得る。また他の実施形態では、ダウンサンプリングユニット９４は省略され得る。
【０１０３】
[00112]図２Ｂに示すように、ビデオエンコーダ２３は、マルチプレクサ９８、すなわちｍｕｘをさらに含み得る。ｍｕｘ９８は、ビデオエンコーダ２３から合成ビットストリームを出力することができる。合成ビットストリームは、ビデオエンコーダ２０Ａおよび２０Ｂの各々からビットストリームを取ることと、所与の時間において出力されるビットストリームを交替することとによって、作成され得る。場合によっては、２つの（または、３つ以上のビデオエンコーダレイヤの場合には、より多くの）ビットストリームからのビットが一度に１ビットずつ交替され得るが、多くの場合、ビットストリームは別様に合成される。たとえば、出力ビットストリームは、選択されたビットストリームを一度に１ブロックずつ交替することによって作成され得る。別の例では、出力ビットストリームは、ビデオエンコーダ２０Ａおよび２０Ｂの各々から非１：１比のブロックを出力することによって作成され得る。たとえば、２つのブロックは、ビデオエンコーダ２０Ａから出力された各ブロックについてビデオエンコーダ２０Ｂから出力され得る。いくつかの実施形態では、ｍｕｘ９８からの出力ストリームはプリプログラムされ得る。他の実施形態では、ｍｕｘ９８は、ソースモジュール１２を含むソースデバイス上のプロセッサからなど、ビデオエンコーダ２３の外部のシステムから受信された制御信号に基づいて、ビデオエンコーダ２０Ａ、２０Ｂからのビットストリームを合成し得る。制御信号は、ビデオソース１８からのビデオの解像度またはビットレートに基づいて、リンク１６の帯域幅に基づいて、ユーザに関連するサブスクリプション（たとえば、有料サブスクリプション対無料サブスクリプション）に基づいて、またはビデオエンコーダ２３から望まれる解像度出力を決定するための他のファクタに基づいて生成され得る。
【０１０４】
ビデオデコーダ
[00113]図３Ａは、本開示で説明する態様による技法を実装し得るビデオデコーダの一例を示すブロック図である。ビデオデコーダ３０は、ＨＥＶＣの場合など、ビデオフレームの単一のレイヤを処理するように構成され得る。さらに、ビデオデコーダ３０は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。一例として、動き補償ユニット１６２および／またはイントラ予測ユニット１６４は、本開示で説明する技法のうちのいずれかまたはすべてを実行するように構成され得る。一実施形態では、ビデオデコーダ３０は、本開示で説明する技法のいずれかまたはすべてを実行するように構成されたレイヤ間予測ユニット１６６を随意に含み得る。他の実施形態では、レイヤ間予測は、予測処理ユニット１５２（たとえば、動き補償ユニット１６２および／またはイントラ予測ユニット１６４）によって実行され得、その場合、レイヤ間予測ユニット１６６は省略され得る。しかしながら、本開示の態様はそのように限定されない。いくつかの例では、本開示で説明する技法は、ビデオデコーダ３０の様々な構成要素の間で共有され得る。いくつかの例では、追加または代替として、プロセッサ（図示せず）が、本開示で説明する技法のいずれかまたはすべてを実行するように構成され得る。
【０１０５】
[00114]説明の目的で、本開示は、ＨＥＶＣコーディングのコンテキストにおいてビデオデコーダ３０を説明する。しかしながら、本開示の技法は他のコーディング規格または方法に適用可能であり得る。図３Ａに示す例は、シングルレイヤコーデックのためのものである。しかしながら、図３Ｂに関してさらに説明するように、ビデオデコーダ３０の一部または全部は、マルチレイヤコーデックの処理のために複製され得る。
【０１０６】
[00115]図３Ａの例では、ビデオデコーダ３０は複数の機能構成要素を含む。ビデオデコーダ３０の機能構成要素は、エントロピー復号ユニット１５０と、予測処理ユニット１５２と、逆量子化ユニット１５４と、逆変換ユニット１５６と、再構成ユニット１５８と、フィルタユニット１５９と、復号ピクチャバッファ１６０とを含む。予測処理ユニット１５２は、動き補償ユニット１６２と、イントラ予測ユニット１６４と、レイヤ間予測ユニット１６６とを含む。いくつかの例では、ビデオデコーダ３０は、図２Ａのビデオエンコーダ２０に関して説明された符号化経路とは全般に逆の復号経路を実行し得る。他の例では、ビデオデコーダ３０は、より多いか、より少ないか、または異なる機能構成要素を含み得る。
【０１０７】
[00116]ビデオデコーダ３０は、符号化ビデオデータを備えるビットストリームを受信し得る。ビットストリームは、複数のシンタックス要素を含み得る。ビデオデコーダ３０がビットストリームを受信すると、エントロピー復号ユニット１５０は、ビットストリームに対して構文解析動作を実行し得る。ビットストリームに対して構文解析動作を実行した結果として、エントロピー復号ユニット１５０は、ビットストリームからシンタックス要素を抽出し得る。構文解析動作を実行することの一部として、エントロピー復号ユニット１５０は、ビットストリーム中のエントロピー符号化シンタックス要素をエントロピー復号し得る。予測処理ユニット１５２、逆量子化ユニット１５４、逆変換ユニット１５６、再構成ユニット１５８、およびフィルタユニット１５９は、ビットストリームから抽出されたシンタックス要素に基づいて、復号ビデオデータを生成する再構成演算を実行し得る。
【０１０８】
[00117]上記で説明したように、ビットストリームは、一連のＮＡＬユニットを備え得る。ビットストリームのＮＡＬユニットは、ビデオパラメータセットＮＡＬユニット、シーケンスパラメータセットＮＡＬユニット、ピクチャパラメータセットＮＡＬユニット、ＳＥＩ  ＮＡＬユニットなどを含み得る。ビットストリームに対して構文解析動作を実行することの一部として、エントロピー復号ユニット１５０は、シーケンスパラメータセットＮＡＬユニットからのシーケンスパラメータセット、ピクチャパラメータセットＮＡＬユニットからのピクチャパラメータセット、ＳＥＩ  ＮＡＬユニットからのＳＥＩデータなどを抽出しエントロピー復号する、構文解析動作を実行し得る。
【０１０９】
[00118]さらに、ビットストリームのＮＡＬユニットは、コード化スライスＮＡＬユニットを含み得る。ビットストリームに対して構文解析動作を実行することの一部として、エントロピー復号ユニット１５０は、コード化スライスＮＡＬユニットからコード化スライスを抽出しエントロピー復号する、構文解析動作を実行し得る。コード化スライスの各々は、スライスヘッダとスライスデータとを含み得る。スライスヘッダは、スライスに関するシンタックス要素を含み得る。スライスヘッダ中のシンタックス要素は、スライスを含むピクチャに関連付けられたピクチャパラメータセットを識別するシンタックス要素を含み得る。エントロピー復号ユニット１５０は、スライスヘッダを復元するために、コード化スライスヘッダ中のシンタックス要素に対してＣＡＢＡＣ復号演算などのエントロピー復号演算を実行し得る。
【０１１０】
[00119]コード化スライスＮＡＬユニットからスライスデータを抽出することの一部として、エントロピー復号ユニット１５０は、スライスデータ中のコーディングされたＣＵからシンタックス要素を抽出する構文解析動作を実行し得る。抽出されたシンタックス要素は、変換係数ブロックに関連付けられたシンタックス要素を含み得る。エントロピー復号ユニット１５０は、次いで、シンタックス要素のうちのいくつかに対してＣＡＢＡＣ復号演算を実行し得る。
【０１１１】
[00120]エントロピー復号ユニット１５０が、区分されていないＣＵに対して構文解析動作を実行した後、ビデオデコーダ３０は、区分されていないＣＵに対して再構成演算を実行し得る。区分されていないＣＵに対して再構成演算を実行するために、ビデオデコーダ３０は、ＣＵの各ＴＵに対して再構成演算を実行し得る。ＣＵの各ＴＵについて再構成演算を実行することによって、ビデオデコーダ３０は、ＣＵに関連付けられた残差ビデオブロックを再構成し得る。
【０１１２】
[00121]ＴＵに対して再構成演算を実行することの一部として、逆量子化ユニット１５４は、ＴＵに関連付けられた変換係数ブロックを逆量子化（inverse quantize）、たとえば、逆量子化（de-quantize）し得る。逆量子化ユニット１５４は、ＨＥＶＣのために提案された、またはＨ．２６４復号規格によって定義された逆量子化処理と同様の方法で、変換係数ブロックを逆量子化し得る。逆量子化ユニット１５４は、量子化の程度を決定し、同様に、逆量子化ユニット１５４が適用すべき逆量子化の程度を決定するために、変換係数ブロックのＣＵに関してビデオエンコーダ２０によって計算される量子化パラメータＱＰを使用し得る。
【０１１３】
[00122]逆量子化ユニット１５４が変換係数ブロックを逆量子化した後、逆変換ユニット１５６は、変換係数ブロックに関連付けられたＴＵのための残差ビデオブロックを生成し得る。逆変換ユニット１５６は、ＴＵのための残差ビデオブロックを生成するために、変換係数ブロックに逆変換を適用し得る。たとえば、逆変換ユニット１５６は、変換係数ブロックに、逆ＤＣＴ、逆整数変換、逆カルーネンレーベ変換（ＫＬＴ：Karhunen-Loeve transform）、逆回転変換、逆方向変換、または別の逆変換を適用し得る。いくつかの例では、逆変換ユニット１５６は、ビデオエンコーダ２０からのシグナリングに基づいて、変換係数ブロックに適用すべき逆変換を決定し得る。そのような例では、逆変換ユニット１５６は、変換係数ブロックに関連付けられたツリーブロックの４分木のルートノードにおいてシグナリングされた変換に基づいて、逆変換を決定し得る。他の例では、逆変換ユニット１５６は、ブロックサイズ、コーディングモードなど、１つまたは複数のコーディング特性から逆変換を推定し得る。いくつかの例では、逆変換ユニット１５６はカスケード逆変換を適用し得る。
【０１１４】
[00123]いくつかの例では、動き補償ユニット１６２は、補間フィルタに基づく補間を実行することによって、ＰＵの予測ビデオブロックを改良し得る。サブサンプル精度を有する動き補償のために使用されるべき補間フィルタ用の識別子は、シンタックス要素に含まれ得る。動き補償ユニット１６２は、参照ブロックのサブ整数サンプルについての補間値を計算するために、ＰＵの予測ビデオブロックの生成中にビデオエンコーダ２０によって使用された同じ補間フィルタを使用し得る。動き補償ユニット１６２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを決定し得、予測ビデオブロックを生成するためにその補間フィルタを使用し得る。
【０１１５】
[00124]ＰＵが、イントラ予測を使用して符号化される場合、イントラ予測ユニット１６４は、ＰＵのための予測ビデオブロックを生成するためにイントラ予測を実行し得る。たとえば、イントラ予測ユニット１６４は、ビットストリーム中のシンタックス要素に基づいて、ＰＵのためのイントラ予測モードを決定し得る。ビットストリームは、ＰＵのイントラ予測モードを決定するためにイントラ予測ユニット１６４が使用し得るシンタックス要素を含み得る。
【０１１６】
[00125]いくつかの事例では、イントラ予測ユニット１６４が現在ＰＵのイントラ予測モードを決定するために別のＰＵのイントラ予測モードを使用するべきであることを、シンタックス要素が示し得る。たとえば、現在ＰＵのイントラ予測モードが隣接ＰＵのイントラ予測モードと同じであることが起こり得る。言い換えれば、隣接ＰＵのイントラ予測モードは、現在ＰＵに対して最確モードであり得る。したがって、この例では、ビットストリームは、ＰＵのイントラ予測モードが隣接ＰＵのイントラ予測モードと同じであることを示す、小さいシンタックス要素を含み得る。イントラ予測ユニット１６４は、次いで、空間的に隣接するＰＵのビデオブロックに基づいてＰＵのための予測データ（たとえば、予測サンプル）を生成するために、イントラ予測モードを使用し得る。
【０１１７】
[00126]上記で説明したように、ビデオデコーダ３０もレイヤ間予測ユニット１６６を含み得る。レイヤ間予測ユニット１６６は、ＳＶＣにおいて利用可能である１つまたは複数の異なるレイヤ（たとえば、ベースレイヤまたは参照レイヤ）を使用して、現在ブロック（たとえば、ＥＬ中の現在ブロック）を予測するように構成される。そのような予測は、レイヤ間予測と呼ばれることがある。レイヤ間予測ユニット１６６は、レイヤ間冗長性を低減するための予測方法を利用し、それによって、コーディング効率を改善し、計算リソース要件を低減する。レイヤ間予測のいくつかの例は、レイヤ間イントラ予測と、レイヤ間動き予測と、レイヤ間残差予測とを含む。レイヤ間イントラ予測は、エンハンスメントレイヤ中の現在ブロックを予測するために、ベースレイヤの中でコロケートされているブロックの再構成を使用する。レイヤ間動き予測は、エンハンスメントレイヤ中の動作を予測するために、ベースレイヤの動き情報を使用する。レイヤ間残差予測は、エンハンスメントレイヤの残差を予測するために、ベースレイヤの残差を使用する。レイヤ間予測方式の各々について、以下でより詳細に説明する。
【０１１８】
[00127]再構成ユニット１５８は、ＣＵのビデオブロックを再構成するために、ＣＵのＴＵに関連付けられた残差ビデオブロックおよびＣＵのＰＵの予測ビデオブロック、たとえば、適用可能なとき、イントラ予測データまたはインター予測データのいずれかを使用し得る。したがって、ビデオデコーダ３０は、ビットストリーム中のシンタックス要素に基づいて予測ビデオブロックと残差ビデオブロックとを生成し得、予測ビデオブロックと残差ビデオブロックとに基づいてビデオブロックを生成し得る。
【０１１９】
[00128]再構成ユニット１５８がＣＵのビデオブロックを再構成した後、フィルタユニット１５９は、ＣＵに関連したブロッキングアーティファクトを低減するためにデブロッキング演算を実行し得る。フィルタユニット１５９が、ＣＵに関連したブロッキングアーティファクトを低減するためにデブロッキング演算を実行した後、ビデオデコーダ３０は、ＣＵのビデオブロックを復号ピクチャバッファ１６０に記憶し得る。復号ピクチャバッファ１６０は、次の動き補償、イントラ予測、および図１Ａまたは図１Ｂのディスプレイデバイス３２などのディスプレイデバイス上での提示のために、参照ピクチャを提供し得る。たとえば、ビデオデコーダ３０は、復号ピクチャバッファ１６０の中のビデオブロックに基づいて、他のＣＵのＰＵに対して、イントラ予測演算またはインター予測演算を実行し得る。
【０１２０】
マルチレイヤデコーダ
[00129]図３Ｂは、本開示で説明する態様による技法を実装し得るマルチレイヤビデオデコーダ３３の一例を示すブロック図である。ビデオデコーダ３３は、ＳＨＶＣおよびマルチビューコーディングの場合など、マルチレイヤビデオフレームを処理するように構成され得る。さらに、ビデオデコーダ３３は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。
【０１２１】
[00130]ビデオデコーダ３３は、ビデオデコーダ３０Ａとビデオデコーダ３０Ｂとを含み、それらの各々はビデオデコーダ３０として構成され得、ビデオデコーダ３０に関して上記で説明した機能を実行し得る。さらに、参照番号の再利用によって示されるように、ビデオデコーダ３０Ａおよび３０Ｂは、ビデオデコーダ３０としてのシステムおよびサブシステムのうちの少なくともいくつかを含み得る。ビデオデコーダ３３は、２つのビデオデコーダ３０Ａおよび３０Ｂを含むように示されるが、ビデオデコーダ３３は、そのように限定されず、任意の数のビデオデコーダ３０のレイヤを含み得る。いくつかの実施形態では、ビデオデコーダ３３はアクセスユニット中の各ピクチャまたは各フレームに対してビデオデコーダ３０を含み得る。たとえば、５つのピクチャを含むアクセスユニットは、５つのデコーダレイヤを含むビデオデコーダによって処理または復号され得る。いくつかの実施形態では、ビデオデコーダ３３は、アクセスユニット中のフレームよりも多くのデコーダレイヤを含み得る。いくつかのそのような場合では、ビデオデコーダのレイヤのうちのいくつかは、いくつかのアクセスユニットを処理するときに非アクティブであり得る。
【０１２２】
[00131]ビデオデコーダ３０Ａおよび３０Ｂに加えて、ビデオデコーダ３３は、アップサンプリングユニット９２を含み得る。いくつかの実施形態では、アップサンプリングユニット９２は、フレームまたはアクセスユニットのための参照ピクチャリストに追加されるべきエンハンストレイヤを作成するために、受信されたビデオフレームのベースレイヤをアップサンプリングし得る。このエンハンストレイヤは、復号ピクチャバッファ１６０に記憶され得る。いくつかの実施形態では、アップサンプリングユニット９２は、図２Ａのリサンプリングユニット９０に関して説明した実施形態の一部または全部を含むことができる。いくつかの実施形態では、アップサンプリングユニット９２は、レイヤをアップサンプリングし、スライス境界ルールおよび／またはラスタ走査ルールのセットに準拠するように、１つまたは複数のスライスを再編成、再定義、修正、または調整するように構成される。場合によっては、アップサンプリングユニット９２は、受信されたビデオフレームのレイヤをアップサンプリングおよび／またはダウンサンプリングするように構成されたリサンプリングユニットであり得る。
【０１２３】
[00132]アップサンプリングユニット９２は、下位レイヤデコーダ（たとえば、ビデオデコーダ３０Ａ）の復号ピクチャバッファ１６０からピクチャまたはフレーム（またはピクチャに関連付けられたピクチャ情報）を受信し、ピクチャ（または受信されたピクチャ情報）をアップサンプリングするように構成され得る。このアップサンプリングされたピクチャは、次いで、下位レイヤデコーダと同じアクセスユニット中のピクチャを復号するように構成された、上位レイヤデコーダ（たとえば、ビデオデコーダ３０Ｂ）の予測処理ユニット１５２に供給され得る。場合によっては、上位レイヤデコーダは、下位レイヤデコーダから除去された１つのレイヤである。他の場合には、図３Ｂのレイヤ０デコーダとレイヤ１デコーダとの間に、１つまたは複数の上位レイヤデコーダがあり得る。
【０１２４】
[00133]場合によっては、アップサンプリングユニット９２は、省略またはバイパスされ得る。そのような場合、ビデオデコーダ３０Ａの復号ピクチャバッファ１６０からのピクチャは、直接、または少なくともアップサンプリングユニット９２に供給されずに、ビデオデコーダ３０Ｂの予測処理ユニット１５２に供給され得る。たとえば、ビデオデコーダ３０Ｂに供給されたビデオデータ、およびビデオデコーダ３０Ａの復号ピクチャバッファ１６０からの参照ピクチャが、同じサイズまたは解像度である場合、参照ピクチャは、アップサンプリングを伴わずにビデオデコーダ３０Ｂに供給され得る。さらに、いくつかの実施形態では、アップサンプリングユニット９２は、ビデオデコーダ３０Ａの復号ピクチャバッファ１６０から受信された参照ピクチャを、アップサンプリングまたはダウンサンプリングするように構成されたリサンプリングユニット９０であり得る。
【０１２５】
[00134]図３Ｂに示すように、ビデオデコーダ３３は、デマルチプレクサ９９、すなわちｄｅｍｕｘをさらに含み得る。ｄｅｍｕｘ９９は、符号化ビデオビットストリームを複数のビットストリームに分割することができ、ｄｅｍｕｘ９９によって出力された各ビットストリームは、異なるビデオデコーダ３０Ａおよび３０Ｂに供給される。複数のビットストリームは、ビットストリームを受信することによって作成され得、ビデオデコーダ３０Ａおよび３０Ｂの各々は、所与の時間においてビットストリームの一部分を受信する。場合によっては、ｄｅｍｕｘ９９において受信されるビットストリームからのビットは、ビデオデコーダの各々（たとえば、図３Ｂの例ではビデオデコーダ３０Ａおよび３０Ｂ）の間で、一度に１ビットずつ交替され得るが、多くの場合、ビットストリームは別様に分割される。たとえば、ビットストリームは、一度に１ブロックずつビットストリームを受信するビデオデコーダを交替することによって分割され得る。別の例では、ビットストリームは、非１：１比のブロックによって、ビデオデコーダ３０Ａおよび３０Ｂの各々に分割され得る。たとえば、２つのブロックは、ビデオデコーダ３０Ａに供給される各ブロックについてビデオデコーダ３０Ｂに供給され得る。いくつかの実施形態では、ｄｅｍｕｘ９９によるビットストリームの分割は、プリプログラムされ得る。他の実施形態では、ｄｅｍｕｘ９９は、宛先モジュール１４を含む宛先デバイス上のプロセッサからなど、ビデオデコーダ３３の外部のシステムから受信された制御信号に基づいてビットストリームを分割し得る。制御信号は、入力インターフェース２８からのビデオの解像度またはビットレートに基づいて、リンク１６の帯域幅に基づいて、ユーザに関連付けられたサブスクリプション（たとえば、有料サブスクリプション対無料サブスクリプション）に基づいて、またはビデオデコーダ３３によって取得可能な解像度を決定するための他のファクタに基づいて生成され得る。
【０１２６】
イントラランダムアクセスポイント（ＩＲＡＰ）ピクチャ
[00135]いくつかのビデオコーディング方式は、ビットストリームが、ビットストリームの中でそれらのランダムアクセスポイントに先行するいかなるピクチャも復号する必要なく、それらのランダムアクセスポイントのいずれかから始めて復号され得るような、様々なランダムアクセスポイントをビットストリーム全体にわたって提供し得る。そのようなビデオコーディング方式では、出力順序においてランダムアクセスポイントに追従するすべてのピクチャ（たとえば、ランダムアクセスポイントを提供するピクチャと同じアクセスユニットの中にあるピクチャを含む）は、ランダムアクセスポイントに先行するいかなるピクチャも使用することなく正しく復号され得る。たとえば、ビットストリームの一部分が送信の間または復号の間に失われても、デコーダは、次のランダムアクセスポイントから始めてビットストリームの復号を再開することができる。ランダムアクセスのサポートは、たとえば、動的なストリーミングサービス、シーク動作、チャネル切替えなどを容易にし得る。
【０１２７】
[00136]いくつかのコーディング方式では、そのようなランダムアクセスポイントは、イントラランダムアクセスポイント（ＩＲＡＰ）ピクチャと呼ばれるピクチャによって提供され得る。たとえば、ｌａｙｅｒＢの中にあり復号順序においてａｕＡに先行するアクセスユニット（「ａｕＢ」）の中に含まれるランダムアクセスポイント（または、ａｕＡの中に含まれるランダムアクセスポイント）を有するｌａｙｅｒＡの各参照レイヤ（「ｌａｙｅｒＢ」）（たとえば、ｌａｙｅｒＡを予測するために使用されるレイヤである参照レイヤ）に関して出力順序においてａｕＢに追従するｌａｙｅｒＡの中のピクチャ（ａｕＢの中に位置するそれらのピクチャを含む）が、ａｕＢに先行するｌａｙｅｒＡの中のいかなるピクチャも復号する必要なく正しく復号可能であるように、アクセスユニット（「ａｕＡ」）の中に含まれるエンハンスメントレイヤ（「ｌａｙｅｒＡ」）の中のランダムアクセスポイント（たとえば、エンハンスメントレイヤＩＲＡＰピクチャによって提供される）は、レイヤ特有のランダムアクセスを提供し得る。
【０１２８】
[00137]ＩＲＡＰピクチャは、イントラ予測（たとえば、他のピクチャを参照することなくコーディングされる）および／またはレイヤ間予測を使用してコーディングされ得、たとえば、瞬時デコーダリフレッシュ（ＩＤＲ：instantaneous decoder refresh）ピクチャと、クリーンランダムアクセス（ＣＲＡ：clean random access）ピクチャと、ブロークンリンクアクセス（ＢＬＡ：broken link access）ピクチャとを含み得る。ビットストリームの中にＩＤＲピクチャがあるとき、復号順序においてＩＤＲピクチャに先行するすべてのピクチャは、ＩＤＲピクチャに追従するピクチャによる予測のために使用されない。ビットストリームの中にＣＲＡピクチャがあるとき、ＣＲＡピクチャに追従するピクチャは、復号順序においてＣＲＡピクチャに先行するピクチャを予測のために使用してよく、または使用しなくてもよい。復号順序においてＣＲＡピクチャに追従するが、復号順序においてＣＲＡピクチャに先行するピクチャを使用するピクチャは、ランダムアクセススキップド進み（ＲＡＳＬ：random access skipped leading）ピクチャと呼ばれることがある。復号順序においてＩＲＡＰピクチャに追従し得るとともに出力順序においてＩＲＡＰピクチャに先行し得る別のタイプのピクチャは、復号順序においてＩＲＡＰピクチャに先行するいかなるピクチャへの参照も含まないことがあるランダムアクセス復号可能進み（ＲＡＤＬ：random access decodable leading）ピクチャである。ＣＲＡピクチャに先行するピクチャが利用可能でない場合、ＲＡＳＬピクチャはデコーダによって廃棄されてよい。ＢＬＡピクチャは、（たとえば、２つのビットストリームが互いに接合され、ＢＬＡピクチャが復号順序において第２のビットストリームの最初のピクチャであるので）ＢＬＡピクチャに先行するピクチャがデコーダにとって利用可能でない場合があることを、デコーダに示す。ＩＲＡＰピクチャであるベースレイヤのピクチャ（たとえば、０としてのレイヤＩＤを有する）を含むアクセスユニット（たとえば、複数のレイヤにわたって同じ出力時間に関連付けられたすべてのコード化ピクチャからなるピクチャのグループ）は、ＩＲＡＰアクセスユニットと呼ばれることがある。ベースレイヤなどのレイヤのレイヤＩＤは、ｎｕｈ＿ｌａｙｅｒ＿ｉｄ値の中に含まれ得る。いくつかの態様では、ベースレイヤは０としてのレイヤＩＤを有し得る。
【０１２９】
直接依存性フラグ
[00138]いくつかの例示的な実装形態（たとえば、ＭＶ−ＨＥＶＣおよびＳＨＶＣ）では、特定のレイヤについて、どの１つまたは複数のレイヤが特定のレイヤのレイヤ間予測のために使用され得るかを指定する、ｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｆｌａｇと呼ばれるシンタックス要素がある。一実施形態では、ｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｆｌａｇは、ビデオデータのあるレイヤがビデオデータの別のレイヤに基づいて（またはそれに依存して）コーディングされるかどうかを指定する２次元アレイである。そのような２次元アレイは値ｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｆｌａｇ［ｉ］［ｊ］の形態をとり得、ここで、ｉは、コーディングされるべきレイヤ（たとえば、現在レイヤ）に対応し、ｊは、参照されるべきレイヤ（たとえば、参照レイヤ）に対応する。この例では、参照レイヤが現在レイヤの直接参照レイヤでない場合、ｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｆｌａｇは０であり得、参照レイヤが現在レイヤの直接参照レイヤである場合、ｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｆｌａｇは１であり得る。一実施形態では、ｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｆｌａｇが省略されるかまたは未定義である場合、値は０であると推定される。別の実施形態では、ｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｆｌａｇが省略されるかまたは未定義である場合、値は１であると推定される。一実施形態では、レイヤＡがレイヤＢの直接参照レイヤである場合、そのことは、レイヤＢがレイヤＡの中に含まれる情報に少なくとも部分的に基づいてコーディングされ得ることを意味する。別の実施形態では、レイヤＡがレイヤＢの直接参照レイヤである場合、そのことは、レイヤＢがレイヤＡの中に含まれる情報に少なくとも部分的に基づいてコーディングされることを意味する。いくつかの実施形態では、より小さいレイヤＩＤを有するすべてのレイヤ（たとえば、下位レイヤ）は、特定のレイヤの直接参照レイヤである。他の実施形態では、下位レイヤのうちの一部だけが特定のレイヤの直接参照レイヤであり得る。たとえば、エンコーダは、計算量を低減するために、下位レイヤのうちの一部だけを特定のレイヤの直接依存性レイヤとして選定し得る。適用可能なコーディング方式（たとえば、ＨＥＶＣ）は、特定のレイヤがいくつの直接参照レイヤを有し得るかに関する限界を有することがある（たとえば、空間スケーラビリティの場合、１つ以下の参照レイヤ）。一実施形態では、ｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｆｌａｇフラグは、ビデオパラメータセット（ＶＰＳ）の中でシグナリングされ、コード化ビデオシーケンス（ＣＶＳ：coded video sequence）全体に適用される。
【０１３０】
直接依存性タイプ
[00139]現在レイヤをコーディングするために使用される情報は、参照レイヤのテクスチャ情報（たとえば、ピクセル値）、参照レイヤの動き情報（たとえば、動きベクトル、参照インデックス、予測方向など）を含み得る。しかしながら、現在レイヤをコーディングするために使用され得る参照レイヤの情報は、本明細書で説明するものに限定されず、参照レイヤの中に含まれるか、または参照レイヤの一部である、任意の情報であり得る。
【０１３１】
[00140]いくつかの実装形態では、現在レイヤをコーディングするために参照レイヤから導出またはインポートされる情報の１つまたは複数のタイプを示すために、１つまたは複数の追加のフラグまたはシンタックス要素が使用され得る。たとえば、いくつかの実施形態では、参照レイヤは、レイヤ間動き予測、レイヤ間テクスチャ予測、またはその両方のために使用され得る。一実施形態では、そのようなフラグまたはシンタックス要素は「ｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｔｙｐｅ」と呼ばれることがある。
【０１３２】
[00141]一実施形態では、ｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｔｙｐｅは、どのタイプのレイヤ間予測が、参照レイヤを使用して現在レイヤをコーディングするために使用されるかを指定する２次元アレイである。そのような２次元アレイは値ｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｔｙｐｅ［ｉ］［ｊ］の形態をとり得、ここで、ｉは現在（たとえば、コーディングされるべきレイヤ）に対応し、ｊは参照レイヤ（たとえば、参照されるべきレイヤ）に対応する。この例では、０としてのｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｔｙｐｅ値はレイヤ間サンプル予測のみを示し得、１はレイヤ間動き予測のみを示し得、２はレイヤ間サンプル予測とレイヤ間動き予測の両方を示し得る。いくつかの実施形態では、３（または、他の値）としてのｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｔｙｐｅ値は、依存性がないことを示し得る。各ｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｔｙｐｅ値が異なるタイプのレイヤ間予測にどのように割り当てられるのか、またはマッピングされるのかは、他の実装形態では異なり得、本開示は、異なるタイプのレイヤ間予測へのｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｔｙｐｅ値の特定の割当てまたはマッピングに限定されない。一実施形態では、ｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｔｙｐｅシンタックス要素は、ビデオパラメータセット（ＶＰＳ）の中でシグナリングされ、コード化ビデオシーケンス（ＣＶＳ）全体に適用される。
【０１３３】
参照レイヤコーデック
[00142]いくつかの既存のコーディング方式では、参照レイヤまたはベースレイヤのコーデックは、任意の数のコーデックであり得る。たとえば、ＨＥＶＣコーデックが参照レイヤ向けに使用されてよく、またはＨ．２６４／ＡＶＣが使用されてよく、もしくは一般的な非ＨＥＶＣコーデックが使用されてよい。加えて、使用されるべきコーデックを示すパラメータセットの中にフラグがあってよい。たとえば、ビデオパラメータセット（ＶＰＳ）の中のフラグは、参照レイヤをコーディングするためにＨＥＶＣコーデックが使用されるのか、それとも非ＨＥＶＣ（たとえば、ＡＶＣ）コーデックが使用されるのかを示し得る。一例では、フラグａｖｃ＿ｂａｓｅ＿ｌａｙｅｒ＿ｆｌａｇは、参照レイヤコーデックが勧告ＩＴＵ−Ｔ  Ｈ．２６４｜国際規格ＩＳＯ／ＩＥＣ１４４９６−１０に従うビデオコーディング規格に適合することを示す、１に等しい値を有し得、代替的に、参照レイヤコーデックがＨＥＶＣ仕様に適合することを示す、０に等しい値を有し得る。したがって、エンハンスメントレイヤを符号化または復号するように構成されたコーディングデバイスは、参照レイヤに関してＡＶＣコーデックが使用されるのか、ＨＥＶＣコーデックが使用されるのか（それとも、何らかの他の非ＨＥＶＣコーデックが使用されるのか）に関する情報を有し得る。
【０１３４】
[00143]たとえば、いくつかの態様では、非ＨＥＶＣコーデックが、参照レイヤまたはベースレイヤ向けに使用され得、１つまたは複数のエンハンスメントレイヤは、Ｈ．２６５／ＨＥＶＣコーディング規格およびそのマルチレイヤ拡張に基づき得る。たとえば、これらのエンハンスメントレイヤは、ベースのＨ．２６５／ＨＥＶＣのスケーラブル拡張（ＳＨＶＣ）であり得る。そのような構成を使用することは、いくつかの利点を有し得る。たとえば、このことは、非ＨＥＶＣコーデックのみと互換性のあるデバイスが、エンハンスメントレイヤを伴わないビデオを復号することを可能にし得、ＨＥＶＣコーデックと互換性のあるデバイスが、ビデオとエンハンスメントレイヤとを復号することをさらに可能にし得る。
【０１３５】
ＳＨＶＣベースのエンハンスメントレイヤのサポート
[00144]いくつかの設計は、Ｈ．２６４／ＡＶＣ（または、他の非ＨＥＶＣ）ベースレイヤの、ＳＨＶＣベースのエンハンスメントレイヤを用いたサポートを可能にし得る。したがって、２つ以上のデコーダが、これらの技法を使用してビデオを復号するために使用され得る。たとえば、１つのデコーダが、当技術分野で既知であるような非ＨＥＶＣベースレイヤを復号し得る。１つまたは複数のＳＨＶＣベースのエンハンスメントレイヤを復号するために、ＨＥＶＣデコーダなどの別のデコーダが使用され得る。いくつかの態様では、非ＨＥＶＣベースレイヤが使用されるとき、ＨＥＶＣデコーダがこれらのレイヤを復号することを可能にし得る、エンハンスメントレイヤ向けの設計を提供することが有益であり得る。ＨＥＶＣデコーダから見て、これらのベースレイヤは、外部ソースまたは外部の手段によって復号され得る。したがって、ＨＥＶＣデコーダは、ベースレイヤからのいかなる情報も受信しなくてよく、または、ベースレイヤからの各フレームのための画像情報などの、ベースレイヤからの情報の限定されたサブセットのみを受信してよい。
【０１３６】
[00145]非ＨＥＶＣベースのベースレイヤを含むビデオの中のＨＥＶＣベースのエンハンスメントレイヤを復号するとき、ベースレイヤピクチャ情報はエンハンスメントレイヤに提供されなくてよい。あるいは、外部ソース（ベースレイヤデコーダなどの）は、ベースレイヤ復号ピクチャの復号されたサンプル値と、ルーマサンプルにおける幅および高さ、カラーフォーマット、ルーマビット深度、ならびにクロマビット深度を含むベースレイヤ復号ピクチャの表現フォーマットと、ベースレイヤピクチャがＩＤＲピクチャであるか否かの表示とを含む、情報の差し止められたセットをデコーダに提供し得る。随意に、ピクチャがフレームであるのかそれともフィールドであるのか、および、いつフィールドであるのか、フィールドパリティ（フィールドがトップフィールドであるのか、それともボトムフィールドであるのかを示す）であるのかについての情報も提供される。この情報が提供されない場合、復号ピクチャはフレームピクチャであると推定され得る。
【０１３７】
[00146]ベースレイヤピクチャを出力することは、ベースレイヤデコーダの役目であり得る。たとえば、このデコーダは、Ｈ．２６４／ＡＶＣデコーダ、または別の非ＨＥＶＣコーデックのデコーダであり得る。同じアクセスユニットの中のベースレイヤピクチャとエンハンスメントレイヤピクチャとの間の出力同期は、外部的に制御され得る。たとえば、外部制御の１つの方法は、提示タイムスタンプを使用することであり得る。いくつかの態様では、ベースレイヤ復号ピクチャのアクセスユニットへの関連付けは、外部ソース／エンハンスメントレイヤデコーダの外部にあるベースレイヤデコーダまたは別のソースなどのソースの役目であり得る。
【０１３８】
[00147]いくつかの態様では、１つまたは複数のエンハンスメントレイヤを復号するために使用されるＳＨＶＣデコーダは、ベースレイヤ復号ピクチャ用のメモリの１つの復号ピクチャ記憶だけを保持するだけでよいことがあり、このメモリは、復号ピクチャバッファ（ＤＰＢ）の一部とみなされないことがある。
【０１３９】
[00148]非ＨＥＶＣベースレイヤ復号ピクチャは、０としてのレイヤＩＤ（ｎｕｈ＿ｌａｙｅｒ＿ｉｄ値）を有し得る。いくつかの態様では、ベースレイヤがＨＥＶＣベースレイヤであるか否かを示すために、ＨｅｖｃＢａｓｅＬａｙｅｒＦｌａｇ値が使用され得る。ベースレイヤがＨＥＶＣベースレイヤでないとき、このフラグは０の値を有し得、ベースレイヤがＨＥＶＣレイヤであるとき、このフラグは１の値を有し得る。
【０１４０】
[00149]いくつかの態様では、ベースレイヤ復号ピクチャのピクチャ順序カウントは、エンハンスメントレイヤピクチャのピクチャ順序カウントに等しく設定される。この場合、そのようなスケーラブルコーデックまたはマルチビューコーデックにおけるベースレイヤデコーダによって復号されるベースレイヤピクチャの実際のピクチャ順序カウントが、同じピクチャがＡＶＣデコーダによって復号されるときのそれのピクチャ順序カウント値と異なる場合があることに留意されたい。
【０１４１】
[00150]いくつかの態様では、ベースレイヤ復号ピクチャは、「長期の参照用に使用される」としてマークされ得る。仮定的参照デコーダまたはバッファリングモデルのコード化ピクチャバッファ動作の場合、ベースレイヤはゼロビットを有するとみなされ得る。仮定的参照デコーダまたはバッファリングモデルの復号ピクチャバッファ動作の場合、エンハンスメントレイヤの復号ピクチャだけが考慮され得る。
【０１４２】
ＳＨＶＣベースのエンハンスメントレイヤのサポートに関して特定される課題
[00151]上述されたように、ＳＨＶＣベースのエンハンスメントレイヤは、Ｈ．２６４／ＡＶＣコーデックなどの非ＨＥＶＣコーデックを使用したベースレイヤとともに使用され得る。しかしながら、これらのＳＨＶＣベースのエンハンスメントレイヤは、ＳＨＶＣベースのエンハンスメントレイヤと非ＨＥＶＣベースレイヤの組合せに起因するいくつかの問題に遭遇することがある。いくつかの課題は、ＨＥＶＣベースレイヤを使用するときに起こり得ず、復号ピクチャがＡＶＣコーダなどの外部ソースによってＳＨＶＣコーダに提供されるときのような、非ＨＥＶＣベースレイヤを使用するときにのみ起こり得る。
【０１４３】
[00152]いくつかの態様では、ベースレイヤが非ＨＥＶＣレイヤであるとき、いくつかのパラメータのシグナリングは、そのようなシグナリングのために使用されるビットの量を限定する方式で行われ得る。たとえば、サブＤＰＢサイズと、最大リオーダーと、最大レイテンシとを割り当てるものなどのいくつかのＤＰＢパラメータに対して、限定された量のビットを使用することが有利であり得る。さらに、ベースレイヤが非ＨＶＥＣレイヤであるとき、いくつかのシンタックス構造がベースレイヤ（レイヤ０）に適用されない場合、有利であり得る。
【０１４４】
[00153]たとえば、非ＨＥＶＣベースレイヤを使用するとき、いくつかのパラメータのシグナリングは不必要または冗長であり得る。いくつかのパラメータは、非ＨＥＶＣベースレイヤが存在することから簡単に推定され得、したがって、それらのパラメータのこれ以上のシグナリングは不必要であり得る。したがって、メモリと他のリソースとを効率よく使用するために、コーダは、ベースレイヤがＨＥＶＣコーデックを使用してコーディングされているか否かを決定し、ビデオストリームのベースレイヤ向けに使用されるコーデックに少なくとも部分的に基づいて、いくつかのパラメータをシグナリングするか否かを選定するように構成され得る。ベースレイヤが非ＨＥＶＣベースレイヤであるとき、コーダは、それらの値を明示的に規定する代わりに、これらのパラメータのいくつかの値を推定するように構成され得る。
【０１４５】
[00154]いくつかの態様では、ベースレイヤ復号ピクチャは、外部の手段または外部ソースによって提供され得る。このピクチャがベースレイヤ用のサブＤＰＢに記憶される場合、有利であり得る。このサブＤＰＢのサイズは１に設定され得、サブＤＰＢは、各アクセスユニットのための復号プロセスの終わりに空にされ得る。
【０１４６】
[00155]ベースレイヤデコーダ（ＳＨＶＣデコーダの外部にあるので、外部ソースと呼ばれることがある）が、ベースレイヤについての情報を含むいくつかの値をＳＨＶＣデコーダに提供する場合、また有利であり得る。たとえば、外部ソースは、復号ベースレイヤピクチャを提供し得、ベースレイヤピクチャがＩＲＡＰピクチャであるか否かという表示も提供し得る。ベースレイヤピクチャがＩＲＡＰピクチャである場合、ピクチャがＩＤＲピクチャであるのか、ＣＲＡピクチャであるのか、それともＢＬＡピクチャであるのかを規定するＩＲＡＰ  ＮＡＬユニットタイプを、外部ソースがコーダに提供することがさらに必要とされ得る。
【０１４７】
ＤＰＢパラメータの効率のよいシグナリング
[00156]いくつかの態様では、非ＨＥＶＣベースレイヤと１つまたは複数のＳＶＨＣベースのエンハンスメントレイヤとを使用するとき、ＤＰＢパラメータの何らかのシグナリングは非効率であり得る。たとえば、ベースレイヤが非ＨＥＶＣベースレイヤであるとき、いくつかのパラメータは制約された値を有し得る。たとえば、ベースレイヤが非ＨＥＶＣレイヤであるときはいつも、所与のパラメータは単一の特定の値を有し得る。したがって、これらの値はベースレイヤが非ＨＥＶＣレイヤであると示すことに基づいて推定され得、または他の情報に基づいて推定され得るので、アレイ（または、他のデータ構造）の中の各要素に対してこれらの値をシグナリングすることは冗長であり得る。
【０１４８】
[00157]たとえば、シグナリングされ得る１つのＤＰＢパラメータは、ｖｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｉ］である。このアレイの値＋１は、復号されるべき最上位の時間サブレイヤ用の復号ピクチャバッファの最大必要サイズをシグナリングする。しかしながら、非ＨＥＶＣベースレイヤを使用するとき、ｖｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｉ］は、ｉとしてのすべての可能な値について０となる。したがって、非ＨＥＶＣベースレイヤを使用するとき、ｖｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｉ］の値が制約されるので、これらの値をシグナリングすることを避けることが望ましくあり得る。
【０１４９】
[00158]たとえば、非ＨＥＶＣベースレイヤが存在するとき、ＨｅｖｃＢａｓｅＬａｙｅｒＦｌａｇの値が０に設定され得、ＡｖｃＢａｓｅＬａｙｅｒＦｌａｇの値が１に設定され得る。したがって、コーダは、ｖｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｉ］に対して値を設定する前に、これらの値のうちの１つまたは複数を検査するように構成され得る。非ＨＥＶＣベースレイヤが存在するとコーダが決定すると、ベースレイヤが非ＨＥＶＣコーデックを使用してコーディングされているという表示などの他の情報からこの値が推定され得るので、コーダは、次いで、ｉの各値について、ｖｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｉ］に対して値を設定することを控え得る。
【０１５０】
[00159]いくつかの態様では、非ＨＥＶＣベースレイヤが存在するとコーダが決定すると、各可能なｉについてｖｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｉ］の各値を０に設定するように、コーダは構成され得る。たとえば、この値または別の値は、ｖｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｉ］をシグナリングするのに可能な最小量のビットを使用し得る。非ＨＥＶＣベースレイヤの使用に起因してアレイの値が制約されるとき、ｖｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｉ］の値をシグナリングするのに可能な最小量のビットを使用することが有益であり得る。したがって、ｖｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｉ］に対する値は、ｉのすべての値について０に設定され得る。復号するとき、非ＨＥＶＣベースレイヤの使用に基づいてその値が制約され得るので、デコーダは、これらの値を無視するように構成され得る。
【０１５１】
[00160]さらに、非ＨＥＶＣベースレイヤが使用されるとき、ｖｐｓ＿ｓｕｂ＿ｌａｙｅｒ＿ｏｒｄｅｒｉｎｇ＿ｉｎｆｏ＿ｐｒｅｓｅｎｔ＿ｆｌａｇが存在し１に設定され得る。１の値は、ｉ個のサブレイヤに対して、ｖｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｉ］、ｖｐｓ＿ｍａｘ＿ｎｕｍ＿ｒｅｏｒｄｅｒ＿ｐｉｃｓ［ｉ］、およびｖｐｓ＿ｍａｘ＿ｌａｔｅｎｃｙ＿ｉｎｃｒｅａｓｅ＿ｐｌｕｓ１［ｉ］が存在することを示し得、０の値は、ｖｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｖｐｓ＿ｍａｘ＿ｓｕｂ＿ｌａｙｅｒｓ＿ｍｉｎｕｓ１］、ｖｐｓ＿ｍａｘ＿ｎｕｍ＿ｒｅｏｒｄｅｒ＿ｐｉｃｓ［ｖｐｓ＿ｍａｘ＿ｓｕｂ＿ｌａｙｅｒｓ＿ｍｉｎｕｓ１］、およびｖｐｓ＿ｍａｘ＿ｌａｔｅｎｃｙ＿ｉｎｃｒｅａｓｅ＿ｐｌｕｓ１［ｖｐｓ＿ｍａｘ＿ｓｕｂ＿ｌａｙｅｒｓ＿ｍｉｎｕｓ１］の値が、すべてのサブレイヤに適用されることを示し得る（その結果、これらのアレイの各々がｉ個のサブレイヤの各々に対して同じ値を有する）。
【０１５２】
[00161]シグナリングされ得る別のＤＰＢパラメータは、出力されるべきピクチャ間で発生し得るリオーダーの最大量を示すｖｐｓ＿ｍａｘ＿ｎｕｍ＿ｒｅｏｒｄｅｒ＿ｐｉｃｓ［ｉ］である。たとえば、出力されるべきいくつかのピクチャは、出力されるべき別のピクチャにコーディング順序において先行し得るが、その同じピクチャに出力順序において後続し得る。最大リオーダー値（ｖｐｓ＿ｍａｘ＿ｎｕｍ＿ｒｅｏｒｄｅｒ＿ｐｉｃｓ［ｉ］）は、ｉに等しいＨｉｇｈｅｓｔＴｉｄの値について、復号順序において所与の出力ピクチャを進み得るが、その同じピクチャに出力順序において後続し得る、出力されるように設定されるピクチャの最大許容数を示す。
【０１５３】
[00162]ｖｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｉ］を伴うので、ベースレイヤが非ＨＥＶＣレイヤであるとき、ｖｐｓ＿ｍａｘ＿ｎｕｍ＿ｒｅｏｒｄｅｒ＿ｐｉｃｓ［ｉ］はｉのすべての値について０に設定され得る。したがって、ベースレイヤが非ＨＥＶＣベースレイヤであるとコーダが決定した後、コーダがｖｐｓ＿ｍａｘ＿ｎｕｍ＿ｒｅｏｒｄｅｒ＿ｐｉｃｓ［ｉ］の値をシグナリングしないことが有利であり得る。この値がシグナリングされないとき、ｖｐｓ＿ｍａｘ＿ｎｕｍ＿ｒｅｏｒｄｅｒ＿ｐｉｃｓ［ｉ］の値は、ベースレイヤが非ＨＥＶＣレイヤであるという表示に基づいて推定され得る。いくつかの態様では、非ＨＥＶＣベースレイヤが存在するとコーダが決定すると、各可能なｉについてｖｐｓ＿ｍａｘ＿ｎｕｍ＿ｒｅｏｒｄｅｒ＿ｐｉｃｓ［ｉ］の各値を０に設定するように、コーダは構成され得る。
【０１５４】
[00163]いくつかの態様では、非ＨＥＶＣベースレイヤが存在するとコーダが決定すると、各可能なｉについてｖｐｓ＿ｍａｘ＿ｎｕｍ＿ｒｅｏｒｄｅｒ＿ｐｉｃｓ［ｉ］の各値を０に設定するように、コーダは構成され得る。たとえば、この値または別の値は、ｖｐｓ＿ｍａｘ＿ｎｕｍ＿ｒｅｏｒｄｅｒ＿ｐｉｃｓ［ｉ］をシグナリングするのに可能な最小量のビットを使用し得る。非ＨＥＶＣベースレイヤの使用に起因してアレイの値が制約されるとき、ｖｐｓ＿ｍａｘ＿ｎｕｍ＿ｒｅｏｒｄｅｒ＿ｐｉｃｓ［ｉ］の値をシグナリングするのに可能な最小量のビットを使用することが有益であり得る。したがって、ｖｐｓ＿ｍａｘ＿ｎｕｍ＿ｒｅｏｒｄｅｒ＿ｐｉｃｓ［ｉ］に対する値は、ｉのすべての値について０に設定され得る。復号するとき、非ＨＥＶＣベースレイヤの使用に基づいてその値が制約され得るので、デコーダは、これらの値を無視するように構成され得る。
【０１５５】
[00164]シグナリングされ得る別のＤＰＢパラメータは、ｖｐｓ＿ｍａｘ＿ｌａｔｅｎｃｙ＿ｉｎｃｒｅａｓｅ＿ｐｌｕｓ１［ｉ］である。０に等しくないこのパラメータの値は、復号されるべき最上位の時間サブレイヤがｉに等しいとき、ビデオストリームウィズ内で出力ピクチャに出力順序において先行し得、その出力ピクチャに復号順序において後続し得る出力ピクチャの最大数を計算するために使用され得る。
【０１５６】
[00165]上記のように、ベースレイヤが非ＨＥＶＣレイヤであるとき、ｖｐｓ＿ｍａｘ＿ｌａｔｅｎｃｙ＿ｉｎｃｒｅａｓｅ＿ｐｌｕｓ１［ｉ］は、ｉのすべての値について０に設定され得る。したがって、ベースレイヤが非ＨＥＶＣベースレイヤであるとコーダが決定した後、コーダがｖｐｓ＿ｍａｘ＿ｌａｔｅｎｃｙ＿ｉｎｃｒｅａｓｅ＿ｐｌｕｓ１［ｉ］の値をシグナリングしないことが有利であり得る。この値がシグナリングされないとき、ｖｐｓ＿ｍａｘ＿ｌａｔｅｎｃｙ＿ｉｎｃｒｅａｓｅ＿ｐｌｕｓ１［ｉ］の値は、ベースレイヤが非ＨＥＶＣレイヤであるという表示に基づいて推定され得る。いくつかの態様では、非ＨＥＶＣベースレイヤが存在するとコーダが決定すると、各可能なｉについてｖｐｓ＿ｍａｘ＿ｌａｔｅｎｃｙ＿ｉｎｃｒｅａｓｅ＿ｐｌｕｓ１［ｉ］の各値を０に設定するように、コーダは構成され得る。
【０１５７】
[00166]いくつかの態様では、非ＨＥＶＣベースレイヤが存在するとコーダが決定すると、各可能なｉについてｖｐｓ＿ｍａｘ＿ｌａｔｅｎｃｙ＿ｉｎｃｒｅａｓｅ＿ｐｌｕｓ１［ｉ］の各値を０に設定するように、コーダは構成され得る。たとえば、この値または別の値は、ｖｐｓ＿ｍａｘ＿ｌａｔｅｎｃｙ＿ｉｎｃｒｅａｓｅ＿ｐｌｕｓ１［ｉ］をシグナリングするのに可能な最小量のビットを使用し得る。非ＨＥＶＣベースレイヤの使用に起因してアレイの値が制約されるとき、ｖｐｓ＿ｍａｘ＿ｌａｔｅｎｃｙ＿ｉｎｃｒｅａｓｅ＿ｐｌｕｓ１［ｉ］の値をシグナリングするのに可能な最小量のビットを使用することが有益であり得る。したがって、ｖｐｓ＿ｍａｘ＿ｌａｔｅｎｃｙ＿ｉｎｃｒｅａｓｅ＿ｐｌｕｓ１［ｉ］に対する値は、ｉのすべての値について０に設定され得る。復号するとき、非ＨＥＶＣベースレイヤの使用に基づいてその値が制約され得るので、デコーダは、これらの値を無視するように構成され得る。
【０１５８】
[00167]したがって、上述されたように、ｖｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｉ］と、ｖｐｓ＿ｍａｘ＿ｎｕｍ＿ｒｅｏｒｄｅｒ＿ｐｉｃｓ［ｉ］と、ｖｐｓ＿ｍａｘ＿ｌａｔｅｎｃｙ＿ｉｎｃｒｅａｓｅ＿ｐｌｕｓ１［ｉ］とをシグナリングするのに可能な最小量のビットをコーダが使用することが有利であり得る。たとえば、非ＨＥＶＣベースレイヤが使用されるときにこれらのアレイの各々の値が制約される場合、値が制約されない状況で必要となるはずのビットよりも少ないビットを使用してこれらの値をシグナリングすることが有利であり得る。たとえば、これらのアレイの各々に対する値は、ｉのすべての値について０に設定され得る。デコーダは、その場合、これらの値を無視するように構成され得る。たとえば、デコーダは、ベースレイヤがＨＥＶＣベースレイヤであるか否かを、フラグを検査することなどによって決定するように構成され得る。ベースレイヤが非ＨＥＶＣベースレイヤである場合、デコーダは、ｖｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｉ］、ｖｐｓ＿ｍａｘ＿ｎｕｍ＿ｒｅｏｒｄｅｒ＿ｐｉｃｓ［ｉ］、およびｖｐｓ＿ｍａｘ＿ｌａｔｅｎｃｙ＿ｉｎｃｒｅａｓｅ＿ｐｌｕｓ１［ｉ］の各々の値を無視するように構成され得る。
【０１５９】
[00168]いくつかの態様では、ｈｒｄ＿ｌａｙｅｒ＿ｓｅｔ＿ｉｄｘ［ｉ］は、ＶＰＳの中のｉ番目のｈｒｄ＿ｐａｒａｍｅｔｅｒｓ（）シンタックス構造が適用されるレイヤセットを規定するために使用され得る。ビデオストリームの前のバージョンでは、ｈｒｄ＿ｌａｙｅｒ＿ｓｅｔ＿ｉｄｘ［ｉ］が０に等しく設定され得ることが規定されていたことがある。したがって、前の規格に準拠するのではなく、ビデオストリームが非ＨＥＶＣベースレイヤを有するビデオストリームであるとデコーダが知り得るように、ｈｒｄ＿ｌａｙｅｒ＿ｓｅｔ＿ｉｄｘ［ｉ］が０よりも大きいことが有益であり得る。さらに、いくつかの態様では、ｈｒｄ＿ｐａｒａｍｅｔｅｒｓ（）シンタックス構造のいずれも、０としてのレイヤＩＤを有する非ＨＥＶＣベースレイヤに適用され得ない。たとえば、ベースレイヤが非ＨＥＶＣであるものと、または外部的に提供されるものとシグナリングされるとき、ベースレイヤがビットストリームの中にないので、ベースレイヤに適用可能なＨＲＤパラメータが存在するべきでない。
【０１６０】
例示的なフローチャート＃１
[00169]図４は、本開示の一実施形態による、ビデオ情報をコーディングするための方法４００を示すフローチャートである。図４に示すステップは、エンコーダ（たとえば、図２Ａまたは図２Ｂに示すようなビデオエンコーダ）、デコーダ（たとえば、図３Ａまたは図３Ｂに示すようなビデオデコーダ）、または任意の他の構成要素によって実行され得る。便宜上、方法４００について、エンコーダ、デコーダ、または別の構成要素であり得る、コーダによって実行されるものとして説明する。方法は、復号の方法または符号化の方法であり得る。
【０１６１】
[00170]方法４００は、ブロック４０１において開始する。ブロック４０５では、コーダが、参照レイヤがビットストリームの中に含まれるかどうかを決定する。たとえば、参照レイヤが非ＨＥＶＣコーデックであるとき、参照レイヤがビットストリームの中に含まれないことがある。したがって、いくつかの態様では、参照レイヤは、非ＨＥＶＣコーデックにおいてコーディングされてよく、またはＡＶＣコーデックにおいてコーディングされてよく、したがって、ビットストリームの中に含まれないことがある。いくつかの態様では、方法は、参照レイヤがビットストリームの中に含まれるかどうかを、フラグまたは変数の値に基づいて決定する。そのようなフラグまたは他のインジケータは、外部ソースから受信され得、または方法によって決定され得る。いくつかの態様では、決定するための手段はプロセッサを含み得る。
【０１６２】
[00171]次に、ブロック４１０において、コーダが、復号ピクチャバッファのための１つまたは複数のパラメータの表示を、参照レイヤがビットストリームの中に含まれるかどうかに基づいて決定する。たとえば、復号ピクチャバッファのための１つまたは複数のパラメータは、サブＤＰＢの最大サイズなどのＤＰＢの最大必要サイズをシグナリングするパラメータを含み得る。概して、参照レイヤがビットストリームの中に含まれない場合、これらのパラメータに対する値は上述されたように知られ得る。いくつかの態様では、サブＤＰＢの最大サイズに対する表示を決定することは、サブＤＰＢの最大サイズが１であることを示す、サブＤＰＢの最大サイズに対する表示を決定することを含み得る。いくつかの態様では、決定するための手段はプロセッサを含み得る。ビデオ符号化プロセスでは、コーダは、１つまたは複数のパラメータの表示を含む１つまたは複数のシンタックス構造を、ビットストリームの中に含め得る。ビデオ復号プロセスでは、表示を決定することは、１つまたは複数のシンタックス構造をビットストリームから復号することを含み得る。例示的なシンタックス構造の詳細が本明細書に記載される。
【０１６３】
[00172]いくつかの態様では、パラメータはまた、出力ピクチャのリオーダーの最大数、または最大レイテンシをシグナリングする値を含み得る。いくつかの態様では、いくつかのパラメータが、ベースレイヤ向けに使用されるコーデックに少なくとも部分的に基づいて決定され得る。たとえば、いくつかの態様では、ベースレイヤが非ＨＶＥＣコーデックであるとき、１つまたは複数のパラメータの値は、ｉとしてのすべての可能な値について０に設定され得る。ブロック４１５において、コーダが、復号ピクチャバッファのための１つまたは複数のパラメータの決定された表示に少なくとも部分的に基づいて、ビデオ情報をコーディングする。いくつかの態様では、コーディングするための手段はプロセッサを含み得る。方法４００は、ブロック４２５において終了する。
【０１６４】
[00173]上記で説明したように、図２Ａのビデオエンコーダ２０、図２Ｂのビデオエンコーダ２１、図３Ａのビデオデコーダ３０、または図３Ｂのビデオデコーダ３１のうちの１つまたは複数の構成要素（たとえば、レイヤ間予測ユニット１２８および／またはレイヤ間予測ユニット１６６）は、参照レイヤのコーデックが特定のタイプのコーデックであるかどうかを決定すること、復号ベースレイヤピクチャを受信すること、復号ベースレイヤピクチャを記憶すること、およびメモリを空にすることなどの、本開示で説明する技法のいずれかを実施するために使用され得る。
【０１６５】
非ＨＥＶＣベースレイヤを使用するときのＶＰＳ拡張の中での不必要なシグナリングの低減
[00174]いくつかの態様では、ベースレイヤが非ＨＥＶＣベースレイヤであるとき、ＶＰＳビデオ有用性情報（ＶＵＩ：video usability information）メタデータを含む、ＶＰＳ拡張の中でのベースレイヤのための不必要なシグナリングを避けることが望ましくあり得る。たとえば、ＶＰＳ  ＶＵＩは、ベースレイヤが非ＨＥＶＣコーデックを使用して符号化されているという知識に基づいて簡単に推定され得るいくつかの値を含み得、したがって、この冗長な情報をビデオの中でシグナリングし続けることが不必要であり得る。
【０１６６】
[00175]たとえば、ＶＰＳ  ＶＵＩの中のいくつかの値は、単にベースレイヤが非ＨＥＶＣベースレイヤであるという知識に基づいて決定され得る。したがって、ベースレイヤが非ＨＥＶＣベースレイヤであることがシグナリングされる場合、ＶＰＳ  ＶＵＩの中のいくつかの値に関するさらなるシグナリングは、冗長および不必要であり得る。上述されたように、ＨｅｖｃＢａｓｅＬａｙｅｒＦｌａｇの値が０に設定される場合、このことは、ベースレイヤがＨＥＶＣレイヤでないことをシグナリングし得る。したがって、他のシグナリングは、冗長および不必要として避けられ得る。
【０１６７】
[00176]上述されたように、ｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｔｙｐｅ［ｉ］［ｊ］は、レイヤｉとレイヤｊとの間の依存関係のタイプを示す。たとえば、０の値は、レイヤｊがレイヤｉに対するレイヤ間サンプル予測とレイヤ間動き予測の両方のために使用され得ることを示す。１の値は、レイヤｊがレイヤｉに対するレイヤ間サンプル予測のために使用され得るが、レイヤ間動き予測のために使用され得ないことを示す。２の値は、レイヤｊがレイヤｉに対するレイヤ間動き予測のために使用され得るが、レイヤ間サンプル予測のために使用され得ないことを示す。
【０１６８】
[00177]非ＨＥＶＣであるベースレイヤを使用するとき、ベースレイヤからのレイヤ間動き予測は、すべての他のレイヤに対して許容され得ない。上述されたように、非ＨＥＶＣベースレイヤは０としてのレイヤＩＤを有する。さらに、レイヤ間動き予測が許容されないとき、このことは、１としてのｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｔｙｐｅ値に対応し得る。したがって、レイヤ間動き予測のためにベースレイヤ（レイヤＩＤが０である）を使用し得るレイヤがないので、ｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｔｙｐｅ［ｉ］［０］の値は、ｉのすべての値について１であると推定され得る。ベースレイヤが非ＨＥＶＣベースレイヤであるという表示の後、そのようなシグナリングは冗長であり得るので、これらの値は明示的にシグナリングされる必要がない。
【０１６９】
[00178]たとえば、コーダ、すなわち、エンコーダまたはデコーダのいずれかが、ベースレイヤが非ＨＥＶＣベースレイヤであると認識し得る。この認識（たとえば、フラグなどの１つまたは複数の表示に基づいて認識され得る）に基づいて、コーダは、ｉのすべての値について推定される値が１であり得るように、ｉのすべての値についてｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｔｙｐｅ［ｉ］［０］の値を推定するように構成され得る。
【０１７０】
[00179]いくつかの態様では、以下のコードセグメントが、ＶＰＳ拡張の中での不必要なシグナリングを避けるために使用され得る。上述されたように、ベースレイヤがＨＥＶＣレイヤでないという表示に基づいてそれらの値が推定され得るので、このコードセグメントは、ｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｔｙｐｅ［ｉ］［０］に対して値をシグナリングすることを避け得る。
【０１７１】
【表１】
0006517219.tif 000002
【０１７２】
[00180]ＶＰＳ  ＶＵＩの中の他の値も、ベースレイヤが非ＨＥＶＣレイヤであることがシグナリングされた後、不必要または冗長であり得る。たとえば、ｓｕｂ＿ｌａｙｅｒｓ＿ｖｐｓ＿ｍａｘ＿ｍｉｎｕｓ１［０］の値も、非ＨＥＶＣベースレイヤが存在することに基づいて推定され得る。
【０１７３】
[00181]たとえば、ｓｕｂ＿ｌａｙｅｒｓ＿ｖｐｓ＿ｍａｘ＿ｍｉｎｕｓ１［ｉ］＋１は、レイヤｉに対してコーディングされたビデオシーケンスの中に存在し得る時間サブレイヤの最大数を規定する。前述のように、ベースレイヤのレイヤＩＤは０である。ベースレイヤが外部ソースによって復号され、デコーダ（すなわち、ＳＨＶＣデコーダ）によって復号されないので、ベースレイヤはいかなるサブレイヤも含まず、そのため、非ＨＥＶＣベースレイヤのためのｓｕｂ＿ｌａｙｅｒｓ＿ｖｐｓ＿ｍａｘ＿ｍｉｎｕｓ１［０］に対して値をシグナリングすることは不必要である。したがって、コーダは、ベースレイヤが非ＨＥＶＣベースレイヤであると認識することに基づいて、この値を推定するように構成され得る。
【０１７４】
[00182]いくつかの態様では、ベースレイヤが非ＨＥＶＣベースレイヤであるとき、この値は不必要であり得るので、ｖｐｓ＿ｅｘｔｅｎｓｉｏｎ（）からの以下のコードセグメントが、ｓｕｂ＿ｌａｙｅｒｓ＿ｖｐｓ＿ｍａｘ＿ｍｉｎｕｓ１［０］の値をシグナリングすることを避けるために使用され得る。
【０１７５】
【表２】
0006517219.tif 000003
【０１７６】
[00183]ＶＰＳ  ＶＵＩの中の他の値も、ベースレイヤが非ＨＥＶＣレイヤであることがシグナリングされた後、不必要または冗長であり得る。たとえば、ｍａｘ＿ｔｉｄ＿ｉｌ＿ｒｅｆ＿ｐｉｃｓ＿ｐｌｕｓ１［０］［ｊ］の値も、非ＨＥＶＣベースレイヤが存在することに基づいて推定され得る。
【０１７７】
[00184]概して、ｍａｘ＿ｔｉｄ＿ｉｌ＿ｒｅｆ＿ｐｉｃｓ＿ｐｌｕｓ１［ｉ］［ｊ］は、レイヤｉからの所与のＴｅｍｐｏｒａｌＩｄを有するピクチャが、レイヤｊからのピクチャに対するレイヤ間予測のために使用され得るか否かを決定するために使用され得る。０に等しい値は、レイヤｉからの非ＩＲＡＰピクチャが、レイヤｊを伴うレイヤ間予測のために使用されないことを示す。０よりも大きい値は、レイヤｉからの、ｍａｘ＿ｔｉｄ＿ｉｌ＿ｒｅｆ＿ｐｉｃｓ＿ｐｌｕｓ１［ｉ］［ｊ］以下のＴｅｍｐｏｒａｌＩｄを有するピクチャが、レイヤｊからのピクチャに対するレイヤ間予測のための参照として使用され得ることを示す。存在しないとき、ｍａｘ＿ｔｉｄ＿ｉｌ＿ｒｅｆ＿ｐｉｃｓ＿ｐｌｕｓ１［ｉ］［ｊ］は、７に等しいと推定される。
【０１７８】
[00185]しかしながら、ベースレイヤが非ＨＥＶＣベースレイヤでありビットストリームの中に存在しないとき、レイヤ０からの所与のＴｅｍｐｏｒａｌＩｄを有するピクチャがレイヤｊからのピクチャに対するレイヤ間予測のために使用され得るか否かを示すｍａｘ＿ｔｉｄ＿ｉｌ＿ｒｅｆ＿ｐｉｃｓ＿ｐｌｕｓ１［０］［ｊ］の値は（ここで、ベースレイヤはレイヤ０である）、より有用でなくなる。したがって、この値の明示的なシグナリングは不必要であり得、避けられ得る。
【０１７９】
[00186]いくつかの態様では、ベースレイヤが非ＨＥＶＣベースレイヤであるとき、ｍａｘ＿ｔｉｄ＿ｉｌ＿ｒｅｆ＿ｐｉｃｓ＿ｐｌｕｓ１［０］［ｊ］に対して値をシグナリングすることを避けるために、以下のコードセグメントがｖｐｓ＿ｅｘｔｅｎｓｉｏｎ（）の中で使用され得る。
【０１８０】
【表３】
0006517219.tif 000004
【０１８１】
例示的なフローチャート＃２
[00187]図５は、本開示の一実施形態による、ビデオ情報をコーディングするための方法５００を示すフローチャートである。図５に示すステップは、エンコーダ（たとえば、図２Ａまたは図２Ｂに示すようなビデオエンコーダ）、デコーダ（たとえば、図３Ａまたは図３Ｂに示すようなビデオデコーダ）、または任意の他の構成要素によって実行され得る。便宜上、方法５００について、エンコーダ、デコーダ、または別の構成要素であり得る、コーダによって実行されるものとして説明する。方法は、復号の方法または符号化の方法であり得る。
【０１８２】
[00188]方法５００は、ブロック５０１において開始する。ブロック５０５では、コーダが、参照レイヤがビットストリームの中にあるかどうかを決定する。一実施形態では、参照レイヤは、ＡＶＣコーデックおよび／または非ＨＥＶＣコーデックを使用してコーディングされ得る。いくつかの態様では、コーダまたはプロセッサが、参照レイヤがビットストリームの中に含まれるかどうかを、フラグの値またはコーデックの他のインジケータに基づいて決定する。そのようなフラグまたは他のインジケータは、外部ソースから受信され得、または方法によって決定され得る。いくつかの態様では、決定するための手段はプロセッサを含み得る。ビデオ符号化プロセスでは、参照レイヤがビットストリームの中に含まれるかどうかをフラグの値またはコーデックの他のインジケータに基づいて決定することは、１つまたは複数のシンタックス構造をビットストリームの中へ生成することを含み得る。ビデオ復号プロセスでは、参照レイヤがビットストリームの中に含まれるかどうかをフラグの値またはコーデックの他のインジケータに基づいて決定することは、１つまたは複数のシンタックス構造をビットストリームから復号することを含み得る。例示的なシンタックス構造の詳細が本明細書に記載される。
【０１８３】
[00189]次に、ブロック５１０において、コーダが、参照レイヤに対する表示を処理するべきであるか否かを、参照レイヤがビットストリームの中に含まれるかどうかに基づいて決定する。たとえば、この決定は、参照レイヤがビットストリームの中に含まれるかどうかに基づいて、表示が冗長または不必要にされることになるか否かに基づき得る。たとえば、いくつかの表示は、表示をシグナリングすることが不必要であり得るような、参照レイヤがビットストリームの中に含まれないときの知られている値を有し得る。いくつかの態様では、表示は、所与のレイヤが動き予測およびサンプル予測などのために使用され得るという、レイヤ間予測のタイプの表示を含み得る。いくつかの態様では、表示は、外部ソースによってコーディングされているベースレイヤに対してシグナリングするのに不必要であり得る、特定のレイヤに対するいくつかのサブレイヤの表示であり得る。いくつかの態様では、表示は、所与のレイヤが別のレイヤに対するレイヤ間予測のために使用され得るか否かの表示であり得る。いくつかの態様では、決定するための手段はプロセッサを含み得る。
【０１８４】
[00190]ブロック５１５において、参照レイヤがビットストリームの中に含まれる場合、コーダが、ビデオビットストリームの中、および参照レイヤに対する表示を処理する。たとえば、いくつかの表示は、参照レイヤがＨＥＶＣコーデックを使用してコーディングされるときのような、参照レイヤがビットストリームの中に含まれるときにのみ処理され得る。他の状況では、それらが不必要または冗長であり得るので、これらの表示は処理されなくてよい。いくつかの態様では、決定するための手段はプロセッサを含み得る。
【０１８５】
[00191]ブロック５２０において、コーダが、処理された表示に少なくとも部分的に基づいて、ビデオ情報をコーディングする。いくつかの態様では、コーディングするための手段はプロセッサを含み得る。方法５００は、ブロック５２５において終了する。
【０１８６】
[00192]上記で説明したように、図２Ａのビデオエンコーダ２０、図２Ｂのビデオエンコーダ２１、図３Ａのビデオデコーダ３０、または図３Ｂのビデオデコーダ３１のうちの１つまたは複数の構成要素（たとえば、レイヤ間予測ユニット１２８および／またはレイヤ間予測ユニット１６６）は、参照レイヤのコーデックが特定のタイプのコーデックであるかどうかを決定すること、復号ベースレイヤピクチャを受信すること、復号ベースレイヤピクチャを記憶すること、およびメモリを空にすることなどの、本開示で説明する技法のいずれかを実施するために使用され得る。
【０１８７】
復号ベースレイヤピクチャのＤＰＢの中での記憶
[00193]いくつかの態様では、アクセスユニットに対して外部ソース（ベースレイヤデコーダなどの）によって提供される復号ベースレイヤピクチャはＤＰＢに記憶されず、けれどもそれは「長期の参照用に使用される」としてマークされ、レイヤ間予測参照のために後で使用される。したがって、そのような復号ピクチャは、ＤＰＢの中にない限りレイヤ間予測参照などの参照のために使用され得ないので、このことが問題となり得る。
【０１８８】
[00194]ビデオストリームの中のベースレイヤ（レイヤＩＤ０）が非ＨＥＶＣレイヤであるので、デコーダは、レイヤ０の中のコード化ピクチャを受信し得ない。前述のように、デコーダは、１つまたは複数のエンハンスメントレイヤを復号するために使用され得るＳＨＶＣデコーダを、ここで参照する。むしろ、ベースレイヤは、外部ソースを使用して復号され得る。これらの外部ソースは、たとえば、ベースレイヤを復号し、復号ベースレイヤピクチャをＳＨＶＣデコーダに渡すように構成されているＡＶＣデコーダを含み得る。復号ベースレイヤピクチャに加えて、外部ソースは、上述されたように、いくつかの他の情報も同様にデコーダに提供するように構成され得る。
【０１８９】
[00195]したがって、ベースレイヤは、レイヤＩＤが０の復号ピクチャを含み得る。デコーダは、復号ベースレイヤピクチャをサブＤＰＢに記憶し、このピクチャを「長期の参照用に使用される」としてマークするように構成され得る。さらに、レイヤＩＤが０よりも大きい少なくとも１つのピクチャをアクセスユニットが有する場合、ベースレイヤ復号ピクチャのＰｉｃＯｒｄｅｒＣｎｔＶａｌは、アクセスユニットの中の任意の他のピクチャのＰｉｃＯｒｄｅｒＣｎｔＶａｌに等しく設定される。そうでない場合、そのベースレイヤ復号ピクチャを除いてアクセスユニットの中に他のピクチャがない場合、ベースレイヤピクチャは廃棄され、ベースレイヤ用のサブＤＰＢは空になるように設定される。
【０１９０】
[00196]レイヤＩＤが０よりも大きい少なくとも１つのピクチャをアクセスユニットが有するとき、アクセスユニットの中のすべてのピクチャが復号された後、ベースレイヤ用のサブＤＰＢは空になるように設定される。すなわち、復号ベースレイヤピクチャを含むサブＤＰＢは、アクセスユニットの中の各ピクチャが復号された後、空にされ得る。サブＤＰＢのサイズは、１に等しく設定され得る。したがって、サブＤＰＢは１つのピクチャを記憶し得、各アクセスユニットは１つのベースレイヤ復号ピクチャを含み得る。
【０１９１】
例示的なフローチャート＃３
[00197]図６は、本開示の一実施形態による、ビデオ情報を復号するための方法６００を示すフローチャートである。図６に示すステップは、デコーダ（たとえば、図３Ａまたは図３Ｂに示すビデオデコーダ）、または任意の他の構成要素によって実行され得る。いくつかの態様では、方法は、参照レイヤがビットストリームの中に含まれるかどうかを、ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、適応パラメータセットのうちの１つの中に含まれる値などの、フラグまたは変数の値に基づいて決定する。そのようなフラグまたは他のインジケータは、外部ソースから受信され得、または方法によって決定され得る。いくつかの態様では、決定するための手段はプロセッサを含み得る。
【０１９２】
[00198]方法６００は、ブロック６０１において開始する。ブロック６０５では、デコーダが、参照レイヤがビットストリームの中に含まれないと決定する。一例では、参照レイヤは、ＡＶＣコーデックおよび／または非ＨＥＶＣコーデックに従ってコーディングされ得る。いくつかの態様では、方法が、ビットストリームが参照レイヤを含むかどうかを、フラグの値またはコーデックの他のインジケータに基づいて決定する。値は、ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、または適応パラメータセットのうちの１つの中に含まれ得る。そのようなフラグまたは他のインジケータは、外部ソースから受信され得、または方法によって決定され得る。いくつかの態様では、決定するための手段はプロセッサを含み得る。
【０１９３】
[00199]次に、ブロック６１０において、デコーダが、復号ベースレイヤピクチャを外部ソースから受信し、復号ベースレイヤピクチャはアクセスユニットに関連付けられている。一態様では、外部ソースは、ＡＶＣコーデックを使用するように構成されているデコーダ、または非ＨＥＶＣコーデックを使用するように構成されているデコーダなどの、別のデコーダを含み得る。たとえば、外部ソースは、第２のデコーダを含み得る。いくつかの態様では、各アクセスユニットに関連付けられた１つの復号ベースレイヤピクチャがあり得る。いくつかの態様では、決定するための手段はプロセッサを含み得る。
【０１９４】
[00200]デコーダは、次いで、ブロック６１５において、復号ベースレイヤピクチャをメモリに記憶する。メモリは、ＤＰＢまたはサブＤＰＢを含み得る。いくつかの態様では、サブＤＰＢは、唯一無二の復号ベースレイヤピクチャを保持できるようにサイズ決定され得る。いくつかの態様では、デコーダは、復号ベースレイヤピクチャが長期の参照用に使用され得るという表示をさらに提供し得る。いくつかの態様では、記憶するための手段はメモリを含み得る。
【０１９５】
[00201]デコーダは、次いで、ブロック６１８において、アクセスユニットに関連付けられたピクチャを、記憶された復号ベースレイヤピクチャに基づいて復号する。復号するための手段はプロセッサを含み得る。ブロック６２０において、コーダが、アクセスユニットに関連付けられたピクチャを復号することに続いて、復号ベースレイヤピクチャをメモリから取り去る。いくつかの態様では、取り去るための手段はプロセッサを含み得る。方法６００は、ブロック６２５において終了する。
【０１９６】
[00202]上記で説明したように、図２Ａのビデオエンコーダ２０、図２Ｂのビデオエンコーダ２１、図３Ａのビデオデコーダ３０、または図３Ｂのビデオデコーダ３１のうちの１つまたは複数の構成要素（たとえば、レイヤ間予測ユニット１２８および／またはレイヤ間予測ユニット１６６）は、参照レイヤのコーデックが特定のタイプのコーデックであるかどうかを決定すること、復号ベースレイヤピクチャを受信すること、復号ベースレイヤピクチャを記憶すること、およびメモリを空にすることなどの、本開示で説明する技法のいずれかを実施するために使用され得る。
【０１９７】
ＩＲＡＰベースレイヤピクチャのシグナリング
[00203]いくつかの態様では、１つまたは複数のエンハンスメントレイヤ上で動作しているＳＨＶＣデコーダのようなデコーダが、非ＨＶＥＣベースレイヤのいくつかの特性を知っていることが有益であり得る。たとえば、所与のベースレイヤピクチャがＩＲＡＰピクチャであるか否かを外部ソースがシグナリングすることを、デコーダが要求することが望ましくあり得る。ベースレイヤピクチャがＩＲＡＰピクチャである場合、ＩＤＲピクチャ、ＣＲＡピクチャ、またはＢＬＡピクチャを規定し得るＩＲＡＰ  ＮＡＬユニットタイプを、外部ソースがさらにシグナリングすれば望ましくあり得る。
【０１９８】
[00204]非ＨＥＶＣベースレイヤが使用されるとき、各アクセスユニットは、外部ソースによって復号されたベースレイヤピクチャ（レイヤＩＤが０に等しい）を含み得る。そのようなピクチャが提供されないとき、そのアクセスユニットに対するレイヤ間予測のために使用され得るベースレイヤピクチャはない。
【０１９９】
[00205]復号ベースレイヤピクチャが外部ソースによって提供されるとき、外部ソースは他の情報も提供し得る。たとえば、外部ソースは、復号されたサンプル値を提供し得る。値ｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃが０に等しい場合、外部ソースは、復号されたサンプル値として１つのサンプルアレイＳLを提供し得る。そうでない場合、外部ソースは、３つのサンプルアレイ、すなわち、ＳLとＳCbとＳCrとを提供し得る。
【０２００】
[00206]外部ソースは、復号ベースレイヤピクチャがＩＲＡＰピクチャであるか否かという表示も提供し得る。たとえば、この表示は、ＢｌＩｒａｐＰｉｃＦｌａｇと名付けられた変数に見出され得る。このベースレイヤＩＲＡＰピクチャフラグは、ベースレイヤピクチャがＩＲＡＰピクチャであるか否かを示し得る。１の値は、ベースレイヤピクチャがＩＲＡＰピクチャであることを示し得る。同様に、ＩｒａｐＰｉｃＦｌａｇと名付けられた変数が１に等しい場合、このことは、復号ベースレイヤピクチャが非ＩＲＡＰピクチャであることを示し得る。
【０２０１】
[00207]ベースレイヤピクチャがＩＲＡＰピクチャであるとき、外部ソースは、ＩＲＡＰ  ＮＡＬユニットタイプをさらに提供し得る。これは、ＩＤＲピクチャ、ＣＲＡピクチャ、またはＢＬＡピクチャを規定し得る。たとえば、これは、変数ｎａｌ＿ｕｎｉｔ＿ｔｙｐｅに対する値として提供され得る。この変数は、ＩＲＡＰピクチャが、それぞれ、ＩＤＲピクチャ、ＣＲＡピクチャ、またはＢＬＡピクチャであるかどうかを示し得る、ＩＤＲ＿Ｗ＿ＲＡＤＬ、ＣＲＡ＿ＮＵＴ、またはＢＬＡ＿Ｗ＿ＬＰの値を有し得る。
【０２０２】
[00208]たとえば、ＮＡＬユニットタイプ変数は、ＩＲＡＰベースレイヤピクチャがＩＤＲ＿Ｗ＿ＲＡＤＬであることを示し得る。この値は、復号ピクチャがＩＤＲピクチャであり、勧告ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０のＩＤＲピクチャから復号されたことを示し得る。
【０２０３】
[00209]いくつかの態様では、ＮＡＬユニットタイプ変数は、ＩＲＡＰベースレイヤピクチャがＣＲＡ＿ＮＵＴであることを示し得る。これは、復号ピクチャがＣＲＡピクチャであり、ｒｅｃｏｖｅｒｙ＿ｆｒａｍｅ＿ｃｎｔが０に等しくｂｒｏｋｅｎ＿ｌｉｎｋ＿ｆｌａｇが０に等しい、勧告ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０の回復点ＳＥＩメッセージに関連付けられていた勧告ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０のコード化ピクチャから復号されたことを規定する。
【０２０４】
[00210]いくつかの態様では、ＮＡＬユニットタイプ変数は、ＩＲＡＰベースレイヤピクチャがＢＬＡ＿Ｗ＿ＬＰであることを示し得る。これは、復号ピクチャがＢＬＡピクチャであり、ｒｅｃｏｖｅｒｙ＿ｆｒａｍｅ＿ｃｎｔが０に等しくｂｒｏｋｅｎ＿ｌｉｎｋ＿ｆｌａｇが１に等しい、勧告ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０の回復点ＳＥＩメッセージに関連付けられていた勧告ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０のコード化ピクチャから復号されたことを規定する。
【０２０５】
[00211]随意に、外部ソースはまた、ピクチャがフレームであるのかそれともフィールドであるのかを示し得る。その場合、ピクチャはフィールドであり、外部ソースは、トップフィールドまたはボトムフィールドなどのフィールドパリティを示し得る。外部ソースがこれを示さない場合、復号ピクチャはフレームピクチャであると推定され得る。
【０２０６】
例示的なフローチャート＃４
[00212]図７は、本開示の一実施形態による、ビデオ情報をコーディングするための方法７００を示すフローチャートである。図７に示すステップは、エンコーダ（たとえば、図２Ａまたは図２Ｂに示すようなビデオエンコーダ）、デコーダ（たとえば、図３Ａまたは図３Ｂに示すようなビデオデコーダ）、または任意の他の構成要素によって実行され得る。便宜上、方法７００について、エンコーダ、デコーダ、または別の構成要素であり得る、コーダによって実行されるものとして説明する。
【０２０７】
[00213]方法７００は、ブロック７０１において開始する。ブロック７０５では、デコーダが、参照レイヤがビットストリームの中に含まれないと決定する。一例では、参照レイヤは、ＡＶＣコーデックに従って、および／または非ＨＥＶＣコーデックに従ってコーディングされる。いくつかの態様では、方法が、参照レイヤがビットストリームの中に含まれるかどうかを、フラグの値またはコーデックの他のインジケータに基づいて決定する。そのようなフラグまたは他のインジケータは、外部ソースから受信され得、または方法によって決定され得る。いくつかの態様では、決定するための手段はプロセッサを含み得る。いくつかの態様では、値は、ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、または適応パラメータセットのうちの１つの中に含まれ得る。
【０２０８】
[00214]デコーダは、次いで、ブロック７１０において、復号ベースレイヤピクチャを外部ソースから受信する。いくつかの態様では、ベースレイヤピクチャは、アクセスユニットに関連付けられ得る。いくつかの態様では、外部ソースは別のデコーダを含み得る。いくつかの態様では、他のデコーダはＡＶＣデコーダであり得る。いくつかの態様では、受信するための手段はプロセッサを含み得る。
【０２０９】
[00215]ブロック７１５において、デコーダが、ピクチャがＩＲＡＰピクチャであるという表示を、外部ソースから受信する。たとえば、この表示は、ベースレイヤピクチャがＩＲＡＰピクチャであることを示すフラグを含み得る。いくつかの態様では、受信するための手段はプロセッサを含み得る。ブロック７２０において、デコーダが、ピクチャがＩＤＲピクチャ、ＣＬＡピクチャ、またはＢＬＡピクチャのうちの１つであるかどうかの第２の表示を受信する。いくつかの態様では、受信するための手段はプロセッサを含み得る。いくつかの態様では、第２の表示は、３つ以上の可能な値を有するシンタックス要素であり得る。ブロック７３０において、デコーダが、第１および第２の表示に少なくとも部分的に基づいて、ビデオ情報をコーディングする。いくつかの態様では、復号するための手段はプロセッサを含み得る。方法７００は、ブロック７３０において終了する。
【０２１０】
[00216]上記で説明したように、図２Ａのビデオエンコーダ２０、図２Ｂのビデオエンコーダ２１、図３Ａのビデオデコーダ３０、または図３Ｂのビデオデコーダ３１のうちの１つまたは複数の構成要素（たとえば、レイヤ間予測ユニット１２８および／またはレイヤ間予測ユニット１６６）は、参照レイヤのコーデックが特定のタイプのコーデックであるかどうかを決定すること、復号ベースレイヤピクチャを受信すること、復号ベースレイヤピクチャを記憶すること、およびメモリを空にすることなどの、本開示で説明する技法のいずれかを実施するために使用され得る。
【０２１１】
設計の追加の態様
[00217]概して、現在のアクセスユニットに対して、ベースレイヤ情報が外部ソースによって提供されないか、または外部ソースが情報の少なくとも差し止められたセットを提供しなければならないかのいずれかである。情報が提供されない場合、ベースレイヤピクチャがベースレイヤビットストリームにおけるアクセスユニットの中で提供されたかどうかにかかわらず、ベースレイヤピクチャは現在のアクセスユニットに対するレイヤ間予測のために使用されない。あるいは、外部ソースは、（１）ベースレイヤ復号ピクチャの復号されたサンプル値、（２）ルーマサンプルにおける幅および高さ、カラーフォーマット、個別カラープレーンフラグ、ルーマビット深度、ならびにクロマビット深度を含むベースレイヤ復号ピクチャの表現フォーマット、（３）ベースレイヤピクチャがＩＲＡＰピクチャであるか否かについての情報、および、はいの場合、ＩＤＲピクチャ、ＣＲＡピクチャ、またはＢＬＡピクチャを規定し得るＩＲＡＰ  ＮＡＬユニットタイプ、ならびに随意に、（４）ピクチャがフレームであるのかそれともフィールドであるのか、および、いつフィールドであるのか、フィールドパリティ（トップフィールドまたはボトムフィールド）であるのか、を提供することを差し止められ得る。ピクチャがフレームであるのかそれともフィールドであるのかについての情報が提供されないとき、復号ピクチャはフレームピクチャであると推定され得る。
【０２１２】
[00218]ベースレイヤ復号ピクチャのピクチャ順序カウントは、存在する場合、同じアクセスユニットの中の任意のエンハンスメントレイヤピクチャのピクチャ順序カウントに等しく設定され得る。この場合、そのようなスケーラブルコーデックまたはマルチビューコーデックにおけるベースレイヤデコーダによって復号されるベースレイヤピクチャの実際のピクチャ順序カウントが、同じピクチャがＡＶＣデコーダによって復号されるときのそれのピクチャ順序カウント値と異なる場合があることに留意されたい。アクセスユニットに対してエンハンスメントレイヤピクチャが存在しないとき、ベースレイヤ復号ピクチャは使用されず廃棄され得る。
【０２１３】
[00219]ベースレイヤ復号ピクチャは、「長期の参照用に使用される」としてマークされ得る。ＣＰＢ動作の場合、ベースレイヤはゼロビットを有するとみなされ得る。ＤＰＢ動作の場合、エンハンスメントレイヤ復号ピクチャだけが考慮され得る。
【０２１４】
[00220]ベースレイヤが非ＨＥＶＣであるとき、ＶＰＳの中の最初のｐｒｏｆｉｌｅ＿ｔｉｅｒ＿ｌｅｖｅｌ（）シンタックス構造の中のｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｓｐａｃｅは、１に等しく設定され得る。この場合、コーデックタイプがシグナリングされ、ＡＶＣが示されるとき、３バイトのＡＶＣプロファイルおよびレベル情報がシグナリングされ、ｐｒｏｆｉｌｅ＿ｔｉｅｒ＿ｌｅｖｅｌ（）シンタックス構造の中のビットの残りはすべて予約済みである。
【０２１５】
[00221]ベースレイヤが非ＨＥＶＣであるとき、３つのＤＰＢパラメータ（最大サブＤＰＢサイズ、最大リオーダー、および最大レイテンシ）のシグナリングが最小量のビットを使用することが必要とされ得る。ｈｒｄ＿ｐａｒａｍｅｔｅｒｓ（）シンタックス構造のいずれも０に設定されたレイヤ（ベースレイヤのみ）に適用されないことも必要とされ得る。
【０２１６】
[00222]ベースレイヤが非ＨＥＶＣであるとき、ｓｕｂ＿ｌａｙｅｒｓ＿ｖｐｓ＿ｍａｘ＿ｍｉｎｕｓ１［０］、ｍａｘ＿ｔｉｄ＿ｉｌ＿ｒｅｆ＿ｐｉｃｓ＿ｐｌｕｓ１［０］［ｊ］、およびｄｉｒｅｃｔ＿ｄｅｐｅｎｄｅｎｃｙ＿ｔｙｐｅ［ｉ］［０］などの、ＶＰＳ  ＶＵＩを含むＶＰＳ拡張の中でのベースレイヤに対する不必要なシグナリングは避けられ得る。
【０２１７】
追加のコードセグメント
[00223]以下の例示的なコードセグメントは、ＶＰＳ  ＶＵＩシンタックスの一部として使用され得、ベースレイヤがＨＥＶＣレイヤであるかどうかに少なくとも部分的に基づいて、いくつかのフラグを設定すること、または設定しないことを定め得る。
【０２１８】
【表４】
0006517219.tif 000005
【０２１９】
[00224]以下の例示的なコードセグメントは、プロファイル、ティア、およびレベルのシンタックスの一部として使用され得、ｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｓｐａｃｅ（それ自体がビデオストリームのベースレイヤ向けに使用されるコーデックに基づいて設定され得る）の値に基づいて、いくつかのフラグを設定すること、または設定しないことを定め得る。
【０２２０】
【表５】
0006517219.tif 000006
【０２２１】
[00225]いくつかの態様では、ＶＰＳの中の最初のｐｒｏｆｉｌｅ＿ｔｉｅｒ＿ｌｅｖｅｌ（）シンタックスは、０に等しいｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｓｐａｃｅフラグを有し、変数ＨｅｖｃＢａｓｅＬａｙｅｒＦｌａｇは１に等しく設定され得、変数ＡｖｃＢａｓｅＬａｙｅｒＦｌａｇは０に等しく設定され得る。たとえば、変数ＨｅｖｃＢａｓｅＬａｙｅｒＦｌａｇは、特定のビデオのベースレイヤがＨＥＶＣコーデックに基づいて符号化されているか否かを示すために使用され得る。同様に、変数ＡｖｃＢａｓｅＬａｙｅｒＦｌａｇは、特定のビデオのベースレイヤがＡＶＣコーデックに基づいて符号化されているか否かを示すために使用され得る。
【０２２２】
[00226]あるいは、最初のｐｒｏｆｉｌｅ＿ｔｉｅｒ＿ｌｅｖｅｌ（）シンタックス構造が、１に等しいｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｓｐａｃｅと、０に等しいｂａｓｅ＿ｌａｔｅｒ＿ｃｏｄｅｃ＿ｔｙｐｅとを有するとき、変数ＡｖｃＢａｓｅＬａｙｅｒＦｌａｇは１に等しく設定され得、変数ＨｅｖｃＢａｓｅＬａｙｅｒＦｌａｇは０に等しく設定され得る。さらに、このシナリオでは、ｖｐｓ＿ｓｕｂ＿ｌａｙｅｒ＿ｏｒｄｅｒｉｎｇ＿ｉｎｆｏ＿ｐｒｅｓｅｎｔ＿ｆｌａｇの値は０に等しくあり得、ｖｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｉ］、ｖｐｓ＿ｍａｘ＿ｎｕｍ＿ｒｅｏｒｄｅｒ＿ｐｉｃｓ［ｉ］、およびｖｐｓ＿ｍａｘ＿ｌａｔｅｎｃｙ＿ｉｎｃｒｅａｓｅ＿ｐｌｕｓ１［ｉ］の値はすべて、ｉとしてのすべての可能な値について０に等しくあり得る。このシナリオでは、デコーダは、ｖｐｓ＿ｓｕｂ＿ｌａｙｅｒ＿ｏｒｄｅｒｉｎｇ＿ｉｎｆｏ＿ｐｒｅｓｅｎｔ＿ｆｌａｇ、ｖｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｉ］、ｖｐｓ＿ｍａｘ＿ｎｕｍ＿ｒｅｏｒｄｅｒ＿ｐｉｃｓ［ｉ］、およびｖｐｓ＿ｍａｘ＿ｌａｔｅｎｃｙ＿ｉｎｃｒｅａｓｅ＿ｐｌｕｓ１［ｉ］の値を無視するように構成され得、ｈｒｄ＿ｌａｙｅｒ＿ｓｅｔ＿ｉｄｘ［ｉ］の値は０よりも大きくあり得る。
【０２２３】
[00227]概して、ｖｐｓ＿ｅｘｔｅｎｓｉｏｎ＿ｏｆｆｓｅｔフラグは、存在するとき、ＶＰＳ  ＮＡＬユニットの中のｖｐｓ＿ｖｕｉ＿ｐｒｅｓｅｎｔ＿ｆｌａｇから始まる固定長のコーディングされた情報の次のセットの、ＶＰＳ  ＮＡＬユニットの開始から始まるバイトオフセットを規定し得る。存在するとき、ＶＰＳ  ＮＡＬユニットの中に現れるエミュレーション防止バイトは、バイトオフセット識別のためにカウントされる。
【０２２４】
[00228]いくつかの態様では、ベースレイヤがＨＥＶＣコーデックを使用してコーディングされないとき（したがって、フラグＨｅｖｃＢａｓｅＬａｙｅｒＦｌａｇが０に等しいとき）、ｓｐｓ＿ｓｃａｌｉｎｇ＿ｌｉｓｔ＿ｒｅｆ＿ｌａｙｅｒ＿ｉｄの値が０よりも大きくなければならないことが必要とされ得る。概して、ｓｐｓ＿ｓｃａｌｉｎｇ＿ｌｉｓｔ＿ｒｅｆ＿ｌａｙｅｒ＿ｉｄは、アクティブなＳＰＳが現在のＳＰＳと同じスケーリングリストデータに関連付けられるべきレイヤを規定する。
【０２２５】
[00229]ジェンリアリー、ｐｐｓ＿ｓｃａｌｉｎｇ＿ｌｉｓｔ＿ｒｅｆ＿ｌａｙｅｒ＿ｉｄは、アクティブなＰＰＳが現在のＰＰＳと同じスケーリングリストデータを有するべきレイヤを規定する。ｐｐｓ＿ｓｃａｌｉｎｇ＿ｌｉｓｔ＿ｒｅｆ＿ｌａｙｅｒ＿ｉｄの値は、両端値を含む０〜６２としての範囲の中になければならない。いくつかの態様では、ビデオのベースレイヤがＨＥＶＣベースレイヤでないとき（すなわち、ＨｅｖｃＢａｓｅＬａｙｅｒＦｌａｇが０に等しいとき）、ｐｐｓ＿ｓｃａｌｉｎｇ＿ｌｉｓｔ＿ｒｅｆ＿ｌａｙｅｒ＿ｉｄが０よりも大きいことは、ビットストリーム適合の要件であり得る。
【０２２６】
プロファイル、ティア、およびレベルのセマンティクス
[00230]概して、ｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｓｐａｃｅの値が提供されないとき、その値は０であると推定される。ただし、ｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｓｐａｃｅの値が１に等しい場合、０に等しいｂａｓｅ＿ｌａｙｅｒ＿ｃｏｄｅｃ＿ｔｙｐｅの値は、ベースレイヤが勧告ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０に適合することを規定し得る。両端値を含む１〜６３としての範囲の中のｂａｓｅ＿ｌａｙｅｒ＿ｃｏｄｅｃ＿ｔｙｐｅの他の値は、将来の使用のためにＩＴＵ−Ｔ｜ＩＳＯ／ＩＥＣによって予約済みであり得る。
【０２２７】
[00231]さらに、ａｖｃ＿ｂａｓｅ＿ｐｒｏｆｉｌｅ＿ｌｅｖｅｌ＿ｉｄｃは、勧告ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０のベースレイヤとしての適合点を示し得る。たとえば、ａｖｃ＿ｂａｓｅ＿ｐｒｏｆｉｌｅ＿ｌｅｖｅｌ＿ｉｄｃは、勧告ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０のシーケンスパラメータセットのｐｒｏｆｉｌｅ＿ｉｄｃ、ｃｏｎｓｔｒａｉｎｔ＿ｓｅｔ０＿ｆｌａｇ、ｃｏｎｓｔｒａｉｎｔ＿ｓｅｔ１＿ｆｌａｇ、ｃｏｎｓｔｒａｉｎｔ＿ｓｅｔ２＿ｆｌａｇ、ｃｏｎｓｔｒａｉｎｔ＿ｓｅｔ３＿ｆｌａｇ、ｃｏｎｓｔｒａｉｎｔ＿ｓｅｔ４＿ｆｌａｇ、ｃｏｎｓｔｒａｉｎｔ＿ｓｅｔ５＿ｆｌａｇ、ｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿２ｂｉｔｓ、およびｌｅｖｅｌ＿ｉｄｃからなる、勧告ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０における３バイトと同じ値を有し得る。
【０２２８】
[00232]さらに、ｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿２４ｂｉｔｓおよびｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿３２ｂｉｔｓはともに０に等しくなければならず、他の値は将来の使用のためにＩＴＵ−Ｔ｜ＩＳＯ／ＩＥＣによって予約済みであり得る。デコーダは、ｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿２４ｂｉｔｓとｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿３２ｂｉｔｓの両方の値を無視するように構成され得る。たとえば、ｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｓｐａｃｅが１に設定されるとき、以下のコードセグメントがｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿２４ｂｉｔｓおよびｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿３２ｂｉｔｓの値を設定するために使用され得る。
【０２２９】
【表６】
0006517219.tif 000007
【０２３０】
一般の復号プロセス
[00233]概して、ビデオのベースレイヤがＡＶＣベースレイヤであるとき（すなわち、ＡｖｃＢａｓｅＬａｙｅｒＦｌａｇが１に等しいとき）、以下のことが適用される。
【０２３１】
[00234]ビットストリームの中にレイヤＩＤ０を有するコード化ピクチャが存在し得ない。というのも、ベースレイヤが非ＨＥＶＣレイヤであり、そのため、ベースレイヤに対するピクチャが、ビットストリームの中に含まれ得るのでなく、外部ソースから生じ得るからである。レイヤＩＤ０用のサブＤＰＢのサイズは、１に等しく設定される。
【０２３２】
[00235]レイヤＩＤ０を有する復号ピクチャについてのｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓ、ｐｉｃ＿ｈｅｉｇｈｔ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓ、ｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃ、ｓｅｐａｒａｔｅ＿ｃｏｌｏｕｒ＿ｐｌａｎｅ＿ｆｌａｇ、ｂｉｔ＿ｄｅｐｔｈ＿ｌｕｍａ＿ｍｉｎｕｓ８、およびｂｉｔ＿ｄｅｐｔｈ＿ｃｈｒｏｍａ＿ｍｉｎｕｓ８の値は、外部ソースによって提供される。
【０２３３】
[00236]各アクセスユニットに対して、レイヤＩＤ０を有する復号ピクチャは、外部のソースによって提供され得る。提供されないとき、現在のアクセスユニットに対するレイヤ間予測のために、レイヤＩＤ０を有するピクチャは使用されない。そのようなピクチャが提供されるとき、そのピクチャはまた、復号されたサンプル値（ｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃが０に等しい場合には１つのサンプルアレイＳＬ、そうでない場合には３つのサンプルアレイＳＬ、ＳＣｂ、およびＳＣｒ）と、変数ＢｌＩｒａｐＰｉｃＦｌａｇの値と、ＢｌＩｒａｐＰｉｃＦｌａｇが１に等しいときには復号ピクチャのｎａｌ＿ｕｎｉｔ＿ｔｙｐｅの値とを含み得る。さらに、１に等しいＢｌＩｒａｐＰｉｃＦｌａｇは、復号ピクチャがＩＲＡＰピクチャであることを規定する。１に等しいＩｒａｐＰｉｃＦｌａｇは、復号ピクチャが非ＩＲＡＰピクチャであることを規定する。復号ピクチャのｎａｌ＿ｕｎｉｔ＿ｔｙｐｅとして提供される値は、ＩＤＲ＿Ｗ＿ＲＡＤＬ、ＣＲＡ＿ＮＵＴ、またはＢＬＡ＿Ｗ＿ＬＰに等しくなければならない。概して、ＩＤＲ＿Ｗ＿ＲＡＤＬに等しいｎａｌ＿ｕｎｉｔ＿ｔｙｐｅの値は、復号ピクチャがＩＤＲピクチャであり、勧告ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０のＩＤＲピクチャから復号されたことを規定する。ＣＲＡ＿ＮＵＴに等しいｎａｌ＿ｕｎｉｔ＿ｔｙｐｅの値は、復号ピクチャがＣＲＡピクチャであり、ｒｅｃｏｖｅｒｙ＿ｆｒａｍｅ＿ｃｎｔが０に等しくｂｒｏｋｅｎ＿ｌｉｎｋ＿ｆｌａｇが０に等しい、勧告ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０の回復点ＳＥＩメッセージに関連付けられていた勧告ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０のコード化ピクチャから復号されたことを規定する。ＢＬＡ＿Ｗ＿ＬＰに等しいｎａｌ＿ｕｎｉｔ＿ｔｙｐｅの値は、復号ピクチャがＢＬＡピクチャであり、ｒｅｃｏｖｅｒｙ＿ｆｒａｍｅ＿ｃｎｔが０に等しくｂｒｏｋｅｎ＿ｌｉｎｋ＿ｆｌａｇが１に等しい、勧告ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０の回復点ＳＥＩメッセージに関連付けられていた勧告ＩＴＵ−Ｔ  Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０のコード化ピクチャから復号されたことを規定する。外部ソースは、ピクチャがフレームであるのかそれともフィールドであるのか、および、いつフィールドであるのか、フィールドパリティ（トップフィールドまたはボトムフィールド）であるのかを、随意に示し得る。提供されない場合、復号ピクチャはフレームピクチャであると推定される。
【０２３４】
[00237]概して、レイヤＩＤ０を有する復号ピクチャは、サブＤＰＢに記憶され、「長期の参照用に使用される」としてマークされる。レイヤＩＤが０よりも大きい少なくとも１つのピクチャをアクセスユニットが有する場合、レイヤＩＤ０に対する復号ピクチャのＰｉｃＯｒｄｅｒＣｎｔＶａｌは、アクセスユニットの中のレイヤＩＤが０よりも大きい任意のピクチャのＰｉｃＯｒｄｅｒＣｎｔＶａｌに等しく設定される。そうでない場合、レイヤＩＤ０に対する復号ピクチャは廃棄され、レイヤＩＤ０用のサブＤＰＢは空になるように設定される。レイヤＩＤが０よりも大きい少なくとも１つのピクチャをアクセスユニットが有するとき、アクセスユニットの中のすべてのピクチャが復号された後、レイヤＩＤ０を有するレイヤ用のサブＤＰＢは空になるように設定される。
【０２３５】
他の考慮事項
[00238]本明細書で開示された情報および信号は、多種多様な技術および技法のいずれかを使用して表され得る。たとえば、上記の説明全体にわたって参照され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表され得る。
【０２３６】
[00239]本明細書で開示された実施形態に関して記載された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、概してそれらの機能に関して上記で説明されている。そのような機能性が、ハードウェアまたはソフトウェアのどちらとして実施されるのかは、特定の応用例と、システム全体に課せられる設計制約とに依存する。当業者は、特定の適用例ごとに様々な方法で記載された機能を実装し得るが、そのような実装の決定が、本発明の範囲からの逸脱を引き起こすと解釈されるべきではない。
【０２３７】
[00240]本明細書に記載された技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せに実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおける適用例を含む複数の用途を有する集積回路デバイスなどの、様々なデバイスのいずれかにおいて実装され得る。モジュールまたは構成要素として記載された任意の特徴は、集積論理デバイス内で一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。ソフトウェアに実装された場合、本技法は、実行されたとき、上記で説明された方法のうちの１つまたは複数を実行する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期型ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュメモリ、磁気または光学データ記憶媒体などの、メモリまたはデータ記憶媒体を備え得る。本技法は、追加または代替として、伝搬信号または電波などの、命令またはデータ構造の形態でプログラムコードを搬送または伝達し、コンピュータによってアクセスされ、読み取られ、および／または実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
【０２３８】
[00241]プログラムコードは、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の等価の集積回路もしくはディスクリート論理回路を含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示に記載された技法のいずれかを実行するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、または本明細書に記載された技法の実装に適した任意の他の構造もしくは装置のいずれかを指し得る。さらに、いくつかの態様では、本明細書に記載された機能は、符号化および復号のために構成された専用のソフトウェアモジュールもしくはハードウェアモジュール内に提供され得るか、または複合ビデオエンコーダ／デコーダ（コーデック）に組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素で十分に実装され得る。
【０２３９】
[00242]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置で実装され得る。様々なコンポーネント、モジュール、またはユニットは、開示されている技術を実行するように構成されたデバイスの機能的態様を強調するように本開示において説明されているが、異なるハードウェアユニットによる実現を必ずしも必要としない。むしろ、上記で説明したように、様々なユニットが、適切なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作可能なハードウェアユニットの集合によって与えられ得る。
【０２４０】
[00243]本発明の様々な実施形態について説明した。これらおよび他の実施形態は、以下の特許請求の範囲内に入る。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオ情報をコーディングする方法であって、
参照レイヤがビットストリームの中に含まれるかどうかを決定することと、
表示を処理するべきか否かを、前記参照レイヤが前記ビットストリームの中に含まれるかどうかに基づいて決定することと、
前記参照レイヤが前記ビットストリームの中に含まれる場合、前記表示を前記ビットストリームの中で処理することと、
前記処理された表示に少なくとも部分的に基づいて、前記ビデオ情報をコーディングすることと
を備える方法。
［Ｃ２］
前記参照レイヤが、非ＨＥＶＣ（高効率ビデオコーディング）コーデックに従ってコーディングされる、Ｃ１に記載の方法。
［Ｃ３］
前記参照レイヤが、アドバンストビデオコーディング（ＡＶＣ）コーデックに従ってコーディングされる、Ｃ１に記載の方法。
［Ｃ４］
前記参照レイヤが前記ビットストリームの中に含まれるかどうかを決定することは、前記参照レイヤが前記ビットストリームの中に含まれるかどうかを、ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、または適応パラメータセットのうちの１つの中に含まれる値に基づいて決定することを備える、Ｃ１に記載の方法。
［Ｃ５］
前記表示を処理するべきか否かを、前記参照レイヤが前記ビットストリームの中に含まれるかどうかに基づいて決定することは、前記表示が冗長であるか否かを、前記参照レイヤが前記ビットストリームの中に含まれるかどうかに基づいて決定することを備える、Ｃ１に記載の方法。
［Ｃ６］
前記表示は、前記参照レイヤ（ＲＬ）が少なくとも１つのエンハンスメントレイヤ（ＥＬ）のサンプル予測および動き予測のうちの１つまたは複数のために使用され得るという表示を備える、Ｃ１に記載の方法。
［Ｃ７］
前記表示が、特定のレイヤに対するいくつかのサブレイヤの表示を備える、Ｃ１に記載の方法。
［Ｃ８］
前記表示は、第１のレイヤが第２のレイヤに対するレイヤ間予測のために使用され得るかどうかの表示を備える、Ｃ１に記載の方法。
［Ｃ９］
前記表示が、データアレイの中の１つまたは複数の値を備える、Ｃ１に記載の方法。
［Ｃ１０］
１つまたは複数のパラメータの前記表示を備える１つまたは複数のシンタックス要素を前記ビットストリームの中で生成することをさらに備え、ここにおいて、ビデオ情報をコーディングすることが、ビデオ情報を符号化することを備える、Ｃ１に記載の方法。
［Ｃ１１］
１つまたは複数のパラメータの前記表示を備える１つまたは複数のシンタックス要素を前記ビットストリームの中で生成することをさらに備え、ここにおいて、ビデオ情報をコーディングすることが、ビデオ情報を復号することを備える、Ｃ１に記載の方法。
［Ｃ１２］
ビデオ情報をコーディングするように構成された装置であって、
ビットストリームに関連付けられたビデオ情報を記憶するように構成されたメモリと、
前記メモリと通信しているプロセッサとを備え、前記プロセッサは、
参照レイヤが前記ビットストリームの中に含まれるかどうかを決定することと、
表示を処理するべきか否かを、前記参照レイヤが前記ビットストリームの中に含まれるかどうかに基づいて決定することと、
前記参照レイヤが前記ビットストリームの中に含まれる場合、前記表示をビデオビットストリームの中で処理することと、
前記処理された表示に少なくとも部分的に基づいて、前記ビデオ情報をコーディングすることとを行うように構成される、
装置。
［Ｃ１３］
前記参照レイヤが、非ＨＥＶＣ（高効率ビデオコーディング）コーデックに従ってコーディングされる、Ｃ１２に記載の装置。
［Ｃ１４］
前記参照レイヤが、アドバンストビデオコーディング（ＡＶＣ）コーデックに従ってコーディングされる、Ｃ１２に記載の装置。
［Ｃ１５］
前記参照レイヤが前記ビットストリームの中に含まれるかどうかを決定することは、前記参照レイヤが前記ビットストリームの中に含まれるかどうかを、ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、または適応パラメータセットのうちの１つの中に含まれる値に基づいて決定することを備える、Ｃ１２に記載の装置。
［Ｃ１６］
前記表示を処理するべきか否かを、前記参照レイヤが前記ビットストリームの中に含まれるかどうかに基づいて決定することは、前記表示が冗長であるか否かを、前記参照レイヤが前記ビットストリームの中に含まれるかどうかに基づいて決定することを備える、Ｃ１２に記載の装置。
［Ｃ１７］
前記表示は、前記参照レイヤが少なくとも１つのエンハンスメントレイヤ（ＥＬ）のサンプル予測および動き予測のうちの１つまたは複数のために使用され得るという表示を備える、Ｃ１２に記載の装置。
［Ｃ１８］
前記表示が、特定のレイヤに対するいくつかのサブレイヤの表示を備える、Ｃ１２に記載の装置。
［Ｃ１９］
前記表示は、第１のレイヤが第２のレイヤに対するレイヤ間予測のために使用され得るかどうかの表示を備える、Ｃ１２に記載の装置。
［Ｃ２０］
前記表示が、データアレイの中の１つまたは複数の値を備える、Ｃ１２に記載の装置。
［Ｃ２１］
前記プロセッサは、１つまたは複数のパラメータの前記表示を備える１つまたは複数のシンタックス要素を前記ビットストリームの中で生成するようにさらに構成され、ここにおいて、ビデオ情報をコーディングすることが、ビデオ情報を符号化することを備える、Ｃ１２に記載の装置。
［Ｃ２２］
前記プロセッサは、１つまたは複数のパラメータの前記表示を備える１つまたは複数のシンタックス要素を前記ビットストリームの中で生成するようにさらに構成され、ここにおいて、ビデオ情報をコーディングすることが、ビデオ情報を復号することを備える、Ｃ１２に記載の装置。
［Ｃ２３］
実行されたとき、装置に、
参照レイヤがビットストリームの中に含まれるかどうかを決定することと、
表示を処理するべきか否かを、前記参照レイヤが前記ビットストリームの中に含まれるかどうかに基づいて決定することと、
前記参照レイヤが前記ビットストリームの中に含まれる場合、前記表示をビデオビットストリームの中で処理することと、
前記処理された表示に少なくとも部分的に基づいて、前記ビデオ情報をコーディングすることと、
を備えるプロセスを実行させるコードを備える非一時的コンピュータ可読媒体。
［Ｃ２４］
前記参照レイヤが、非ＨＥＶＣ（高効率ビデオコーディング）コーデックおよびアドバンストビデオコーディング（ＡＶＣ）コーデックのうちの少なくとも１つに従ってコーディングされる、Ｃ２３に記載の非一時的コンピュータ可読媒体。
［Ｃ２５］
前記表示は、前記参照レイヤが少なくとも１つのエンハンスメントレイヤ（ＥＬ）のサンプル予測および動き予測のうちの１つまたは複数のために使用され得るという表示を備える、Ｃ２３に記載の非一時的コンピュータ可読媒体。
［Ｃ２６］
前記表示が、特定のレイヤに対するいくつかのサブレイヤの表示を備える、Ｃ２３に記載の非一時的コンピュータ可読媒体。
［Ｃ２７］
ビデオ情報をコーディングするように構成されたビデオコーディングデバイスであって、
参照レイヤがビットストリームの中に含まれるかどうかを決定するための手段と、
表示を処理するべきか否かを、前記参照レイヤが前記ビットストリームの中に含まれるかどうかに基づいて決定するための手段と、
前記参照レイヤが前記ビットストリームの中に含まれる場合、前記表示をビデオビットストリームの中で処理するための手段と、
前記処理された表示に少なくとも部分的に基づいて、前記ビデオ情報をコーディングするための手段と
を備えるビデオコーディングデバイス。
［Ｃ２８］
前記参照レイヤが、非ＨＥＶＣ（高効率ビデオコーディング）コーデックおよびアドバンストビデオコーディング（ＡＶＣ）コーデックのうちの少なくとも１つに従ってコーディングされる、Ｃ２７に記載のビデオコーディングデバイス。
［Ｃ２９］
前記表示は、前記参照レイヤが少なくとも１つのエンハンスメントレイヤ（ＥＬ）のサンプル予測および動き予測のうちの１つまたは複数のために使用され得るという表示を備える、Ｃ２７に記載のビデオコーディングデバイス。
［Ｃ３０］
前記表示が、特定のレイヤに対するいくつかのサブレイヤの表示を備える、Ｃ２７に記載のビデオコーディングデバイス。
【図１Ａ】
0006517219.tif 000008
【図１Ｂ】
0006517219.tif 000009
【図２Ａ】
0006517219.tif 000010
【図２Ｂ】
0006517219.tif 000011
【図３Ａ】
0006517219.tif 000012
【図３Ｂ】
0006517219.tif 000013
【図４】
0006517219.tif 000014
【図５】
0006517219.tif 000015
【図６】
0006517219.tif 000016
【図７】
0006517219.tif 000017