(57)【特許請求の範囲】
【請求項１】
ビデオコーダによって、ビデオデータを符号化する方法であって、
ビットストリーム中の複数のピクチャを受信することと、前記複数のピクチャは現在のピクチャと１つまたは複数の参照ピクチャとを含み、
前記１つまたは複数の参照ピクチャに少なくとも部分的に基づいて、前記現在のピクチャのための参照ピクチャセット（ＲＰＳ）を決定することと、
前記ＲＰＳ中の前記１つまたは複数の参照ピクチャの各参照ピクチャのピクチャ順序カウント（ＰＯＣ）値を決定することと、
前記ＲＰＳ内で、長期参照ピクチャの数と短期参照ピクチャの数とのうちの少なくとも１つを識別することと、
前記ＲＰＳ中の長期ピクチャの数と短期ピクチャの前記数とを制約することと、前記制約は、ビデオパラメータセット（ＶＰＳ）拡張が使用中である場合、前記ＰＯＣ値および前記ビデオコーダの復号ピクチャバッファの最大サイズである最大復号ピクチャバッファサイズ−１に基づき、
前記複数のピクチャがビデオデータのベースレイヤを備える場合、前記ベースレイヤにおいて、ネガティブピクチャの数と、ポジティブピクチャの数と、アクティブシーケンスパラメータセット（ＳＰＳ）において指定された候補長期参照ピクチャに基づいて導出される第１の長期ピクチャの数と、前記現在のピクチャのスライスヘッダ中で直接シグナリングされる第２の長期ピクチャの数との和を、前記アクティブＳＰＳにおいて識別される最大復号ピクチャバッファサイズ−１よりも小さいかまたはそれに等しい値に制約することと、
前記制約に基づいて前記ＲＰＳを識別する少なくとも１つのシンタックス要素を生成することと、
前記ＲＰＳと前記少なくとも１つのシンタックス要素とに基づいて前記現在のピクチャを符号化することと、
を備え、
前記ＲＰＳ中の長期ピクチャの数と短期ピクチャの前記数とを制約することは、
前記ＶＰＳ拡張が使用中である場合、前記和が、前記復号ピクチャバッファの前記最大復号ピクチャバッファサイズ−１に等しい値になるように、非ベースレイヤにおける、前記第２の長期ピクチャの数の値範囲を導出すること、
を備える、方法。
【請求項２】
前記ビットストリーム中に少なくとも１つの非ベースレイヤがある場合、前記ＶＰＳ拡張は使用中である、請求項１に記載の方法。
【請求項３】
前記ＶＰＳ拡張が使用中である場合、ネガティブピクチャの数を、両端値を含む、０と前記最大復号ピクチャバッファサイズ−１との間の値に制約することをさらに備え、前記数のネガティブピクチャの各ネガティブピクチャは、前記現在のピクチャのＰＯＣ値よりも小さいＰＯＣ値を有する、
請求項１に記載の方法。
【請求項４】
前記ＶＰＳ拡張が使用中である場合、ポジティブピクチャの数を、両端値を含む、０と前記最大復号ピクチャバッファサイズ−１との間の値−ネガティブピクチャの数に制約することをさらに備え、前記数のポジティブピクチャは、前記現在のピクチャの前記ＰＯＣ値よりも大きいＰＯＣ値を有し、前記数のネガティブピクチャは、前記現在のピクチャのＰＯＣ値よりも小さいＰＯＣ値を有する、
請求項１に記載の方法。
【請求項５】
ビデオデータを符号化するためのデバイスであって、
ビットストリームから取得された複数のピクチャを記憶するように構成されたメモリと、前記複数のピクチャは現在のピクチャと１つまたは複数の参照ピクチャとを含み、
前記メモリに動作可能に結合された少なくとも１つのプロセッサと、を備え、
前記少なくとも１つのプロセッサは、
前記１つまたは複数の参照ピクチャに少なくとも部分的に基づいて、前記現在のピクチャのための参照ピクチャセット（ＲＰＳ）を決定することと、
前記ＲＰＳ中の前記１つまたは複数の参照ピクチャの各参照ピクチャのピクチャ順序カウント（ＰＯＣ）値を決定することと、
前記ＲＰＳ内で、長期参照ピクチャの数と短期参照ピクチャの数とのうちの少なくとも１つを識別することと、
前記ＲＰＳ中の長期ピクチャの前記数と短期ピクチャの前記数とに制約を適用することと、前記制約は、ビデオシーケンスパラメータ（ＶＰＳ）拡張が使用中である場合、前記ＰＯＣ値および前記デバイスの復号ピクチャバッファの最大サイズである最大復号ピクチャバッファサイズ−１に基づき、
前記複数のピクチャがビデオデータのベースレイヤを備える場合、前記ベースレイヤにおいて、ネガティブピクチャの数と、ポジティブピクチャの数と、アクティブシーケンスパラメータセット（ＳＰＳ）において指定された候補長期参照ピクチャに基づいて導出される第１の長期ピクチャの数と、前記現在のピクチャのスライスヘッダ中で直接シグナリングされる第２の長期ピクチャの数との和を、前記アクティブＳＰＳにおいて識別される最大復号ピクチャバッファサイズ−１よりも小さいかまたはそれに等しい値に制約することと、
前記制約に基づいて前記ＲＰＳを識別する少なくとも１つのシンタックス要素を生成することと、
前記ＲＰＳと前記少なくとも１つのシンタックス要素とに基づいて前記現在のピクチャを符号化することと、
を行うように構成され、
前記ＲＰＳ中の長期ピクチャの前記数と短期ピクチャの前記数とに制約を適用することは、
前記ＶＰＳ拡張が使用中である場合、前記和が、前記復号ピクチャバッファの前記最大復号ピクチャバッファサイズ−１に等しい値になるように、非ベースレイヤにおける、前記第２の長期ピクチャの数の値範囲を導出すること、を備える、
デバイス。
【請求項６】
前記ビットストリーム中に少なくとも１つの非ベースレイヤがある場合、前記ＶＰＳ拡張は使用中である、請求項５に記載のデバイス。
【請求項７】
前記ＶＰＳ拡張が使用中である場合、ネガティブピクチャの数を、両端値を含む、０と前記最大復号ピクチャバッファサイズ−１との間の値に制約することをさらに備え、前記数のネガティブピクチャの各ネガティブピクチャは、前記現在のピクチャのＰＯＣ値よりも小さいＰＯＣ値を有する、
請求項５に記載のデバイス。
【請求項８】
前記ＶＰＳ拡張が使用中である場合、ポジティブピクチャの数を、両端値を含む、０と前記最大復号ピクチャバッファサイズ−１との間の値−ネガティブピクチャの数に制約することをさらに備え、前記数のポジティブピクチャは、前記現在のピクチャの前記ＰＯＣ値よりも大きいＰＯＣ値を有し、前記数のネガティブピクチャは、前記現在のピクチャのＰＯＣ値よりも小さいＰＯＣ値を有する、
請求項５に記載のデバイス。
【請求項９】
ビデオコーダによって、ビデオデータを復号するための方法であって、
ビットストリームから、現在のピクチャのピクチャ順序カウント（ＰＯＣ）と１つまたは複数の参照ピクチャのためのＰＯＣ値とを取得することと、
前記現在のピクチャの前記ＰＯＣ値と前記１つまたは複数の参照ピクチャの前記ＰＯＣ値とに基づいて、前記１つまたは複数の参照ピクチャを有する参照ピクチャセット（ＲＰＳ）を決定することと、
前記ＲＰＳ中の前記１つまたは複数の参照ピクチャを、いくつかの数の長期ピクチャといくつかの数の短期ピクチャとのうちの少なくとも１つとして識別することと、前記長期ピクチャの数と前記短期ピクチャの数とは制約に基づき、前記制約は、ビデオパラメータセット（ＶＰＳ）拡張が使用中である場合、前記ＰＯＣ値および前記ビデオコーダの復号ピクチャバッファの最大サイズである最大復号ピクチャバッファサイズ−１に基づき、
前記現在のピクチャがベースレイヤ中にある場合、ネガティブピクチャの数と、ポジティブピクチャの数と、アクティブシーケンスパラメータセット（ＳＰＳ）において指定された候補長期参照ピクチャに基づいて導出される第１の長期ピクチャの数と、前記現在のピクチャのスライスヘッダ中で直接シグナリングされる第２の長期ピクチャの数との和は、前記アクティブＳＰＳにおいて識別される最大復号ピクチャバッファサイズ−１よりも小さいかまたはそれに等しい値に制約され、
前記ＲＰＳに基づいて前記現在のピクチャを復号することと、
を備え、前記識別することは、
前記ＶＰＳ拡張が使用中である場合、前記和は、前記復号ピクチャバッファの最大復号ピクチャバッファサイズ−１に等しい値になるように、非ベースレイヤにおける、前記第２の長期ピクチャの数の値範囲を導出すること、を備える、
方法。
【請求項１０】
前記ビットストリーム中に少なくとも１つの非ベースレイヤがある場合、前記ＶＰＳ拡張は使用中である、請求項９に記載の方法。
【請求項１１】
前記ＶＰＳ拡張が使用中である場合、ネガティブピクチャの数は、両端値を含む、０と前記最大復号ピクチャバッファサイズ−１との間の値に制約され、前記数のネガティブピクチャの各ネガティブピクチャは、前記現在のピクチャのＰＯＣ値よりも小さいＰＯＣ値を有する、
請求項９に記載の方法。
【請求項１２】
前記ＶＰＳ拡張が使用中である場合、ポジティブピクチャの数は、両端値を含む、０と前記最大復号ピクチャバッファサイズ−１との間の値−ネガティブピクチャの数に制約され、前記数のポジティブピクチャは、前記現在のピクチャの前記ＰＯＣ値よりも大きいＰＯＣ値を有し、前記数のネガティブピクチャは、前記現在のピクチャのＰＯＣ値よりも小さいＰＯＣ値を有する、
請求項９に記載の方法。
【請求項１３】
ビデオデータを復号するためのデバイスであって、
現在のピクチャと、現在のピクチャのピクチャ順序カウント（ＰＯＣ）と、１つまたは複数の参照ピクチャのためのＰＯＣ値とを記憶するように構成されたメモリと、前記ＰＯＣ値と前記現在のピクチャとはビットストリームから取得され、
前記メモリに動作可能に結合されたプロセッサと、
を備え、前記プロセッサは、
前記現在のピクチャの前記ＰＯＣ値と前記１つまたは複数の参照ピクチャの前記ＰＯＣ値とに基づいて、前記１つまたは複数の参照ピクチャを有する参照ピクチャセット（ＲＰＳ）を決定することと、
前記ＲＰＳ中の前記１つまたは複数の参照ピクチャを、いくつかの数の長期ピクチャといくつかの数の短期ピクチャとのうちの少なくとも１つとして識別することと、前記長期ピクチャの数と前記短期ピクチャの数とは制約に基づき、前記制約は、ビデオパラメータセット（ＶＰＳ）拡張が使用中である場合、前記ＰＯＣ値および前記デバイスの復号ピクチャバッファの最大サイズである最大復号ピクチャバッファサイズ−１に基づき、
前記現在のピクチャがベースレイヤ中にある場合、ネガティブピクチャの数と、ポジティブピクチャの数と、アクティブシーケンスパラメータセット（ＳＰＳ）において指定された候補長期参照ピクチャに基づいて導出される第１の長期ピクチャの数と、前記現在のピクチャのスライスヘッダ中で直接シグナリングされる第２の長期ピクチャの数との和は、前記アクティブＳＰＳにおいて識別される最大復号ピクチャバッファサイズ−１よりも小さいかまたはそれに等しい値に制約され、
前記ＲＰＳに基づいて前記現在のピクチャを復号することと、
を行うように構成され、前記識別することは、
前記ＶＰＳ拡張が使用中である場合、前記和が、前記復号ピクチャバッファの前記最大復号ピクチャバッファサイズ−１に等しい値になるように、非ベースレイヤにおける、前記第２の長期ピクチャの数の値範囲を導出すること、を備える、デバイス。
【請求項１４】
前記ビットストリーム中に少なくとも１つの非ベースレイヤがある場合、前記ＶＰＳ拡張は使用中である、請求項１３に記載のデバイス。
【請求項１５】
前記ＶＰＳ拡張が使用中である場合、ネガティブピクチャの数は、両端値を含む、０と前記最大復号ピクチャバッファサイズ−１との間の値に制約され、前記数のネガティブピクチャの各ネガティブピクチャは、前記現在のピクチャのＰＯＣ値よりも小さいＰＯＣ値を有する、請求項１３に記載のデバイス。
【請求項１６】
前記ＶＰＳ拡張が使用中である場合、ポジティブピクチャの数は、両端値を含む、０と前記最大復号ピクチャバッファサイズ−１との間の値−ネガティブピクチャの数に制約され、前記数のポジティブピクチャは、前記現在のピクチャの前記ＰＯＣ値よりも大きいＰＯＣ値を有し、前記数のネガティブピクチャは、前記現在のピクチャのＰＯＣ値よりも小さいＰＯＣ値を有する、
請求項１３に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、たとえば、ビデオエンコーダおよびビデオデコーダにおける、ビデオコーディングおよび圧縮の分野に関する。詳細には、本出願は、スケーラブルビデオコーディング（ＳＶＣ）に関連し、それは、アドバンストビデオコーディング（ＡＶＣ）のためのＳＶＣと、高効率ビデオコーディング（ＨＥＶＣ）への３Ｄおよびマルチビュー拡張に加えて、スケーラブルＨＥＶＣ（ＳＨＶＣ）とも呼ばれるＨＥＶＣのためのＳＶＣとを含む。
【背景技術】
【０００２】
[0002]デジタルビデオ能力は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ）、現在開発中の（ＨＥＶＣ規格、およびそのような規格の拡張によって定義された規格に記載されたものなどのビデオコーディング処理を実装する。これらのビデオデバイスは、そのようなタイプのビデオコーディングを実装することによってデジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００３】
[0003]ビデオコーディング方法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的（ピクチャ内）予測および／または時間的（ピクチャ間）予測を含む。ブロックベースのビデオコーディングでは、ビデオスライス（たとえば、ビデオフレームまたはビデオフレームの一部分）は、ツリーブロック、コーディングユニット（ＣＵ）および／またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコーディングされた（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコーディングされた（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００４】
[0004]空間的予測または時間的予測は、コーディングされるべきブロックのための予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コーディングされたブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコーディングされるブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され、残差変換係数が生じ得、その残差変換係数は、次いで量子化され得る。最初に２次元アレイで構成される量子化された変換係数は、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するためにエントロピーコーディングが適用され得る。
【０００５】
[0005]マルチビューコーディングビットストリームは、たとえば、複数の視点（perspectives）からのビューを符号化することによって生成され得る。マルチビューコーディング態様を利用するいくつかの３次元（３Ｄ）ビデオ規格が開発されている。たとえば、３Ｄビデオをサポートするために、異なるビューが左眼ビューと右眼ビューとを送信し得る。代替的に、いくつかの３Ｄビデオコーディングプロセスは、いわゆるマルチビュー＋深度コーディングを適用し得る。マルチビュー＋深度コーディングでは、３Ｄビデオビットストリームは、テクスチャビュー成分だけでなく、深度ビュー成分をも含んでいることがある。たとえば、各ビューは、１つのテクスチャビュー成分と１つの深度ビュー成分とを備え得る。
【発明の概要】
【０００６】
[0006]概して、本開示では、ＨＥＶＣへのマルチビュー拡張（ＭＶ−ＨＥＶＣ）とスケーラブル拡張（ＳＨＶＣ）とを含む、ＨＥＶＣに関係する方法およびシステムについて説明する。参照ピクチャセット（ＲＰＳ：reference picture set）を管理する際に使用されるいくつかの変数のための範囲を指定する際に、ＨＥＶＣは、現在、擬似（pseudo）コードによって指定される複雑な導出プロセスを採用する。しかしながら、導出プロセスの一部は不正確であり、全体的に、そのような導出プロセスはエンコーダおよびデコーダにとって不要な複雑さを伴う。本開示は、ビデオエンコーダとビデオデコーダとの間の適切なシグナリングを可能にするためにいくつかの変数のための範囲の決定に対していくつかの改善を提供する。特に、変数「ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓ」、「ｎｕｍ＿ｐｏｓｉｔｉｖｅ＿ｐｉｃｓ」、および「ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃｓ」の値範囲が改善され得る。
【０００７】
[0007]本開示のシステム、方法およびデバイスは、いくつかの発明的態様をそれぞれ有し、それらの態様のどの１つも、本明細書で開示する望ましい属性を単独で担うものではない。
【０００８】
[0008]本開示の一態様は、ビデオデータを符号化するための方法を提供する。本方法は、複数のピクチャを受信することを含むことができ、複数のピクチャは現在のピクチャと１つまたは複数の参照ピクチャとを含む。本方法はまた、１つまたは複数の参照ピクチャに少なくとも部分的に基づいて現在のピクチャのための参照ピクチャセット（ＲＰＳ）を決定することを含むことができる。本方法はまた、ＲＰＳ中の１つまたは複数の参照ピクチャの各参照ピクチャのピクチャ順序カウント（ＰＯＣ：picture order count）値を決定することを含むことができる。本方法はまた、ＲＰＳ内で長期参照ピクチャの数と短期参照ピクチャの数とのうちの少なくとも１つを識別することを含むことができる。本方法はまた、ＲＰＳ中の長期ピクチャの数と短期ピクチャの数とに制約を適用することを含むことができ、制約は、ビデオパラメータセット（ＶＰＳ：video parameter set）拡張が使用中である場合、ＰＯＣ値および最大復号ピクチャバッファサイズ−１に基づく。本方法はまた、制約に基づいて、ＲＰＳを識別する少なくとも１つのシンタックス要素を生成することを含むことができる。本方法はまた、ＲＰＳと少なくとも１つのシンタックス要素とに基づいて、現在のピクチャを符号化することを含むことができる。
【０００９】
[0009]本開示の別の態様は、ビデオデータを符号化するためのデバイスを提供する。デバイスは、複数のピクチャを記憶するように構成されたメモリを有することができる。複数のピクチャは、現在のピクチャと１つまたは複数の参照ピクチャとを有することができる。デバイスはまた、メモリに動作可能に結合された少なくとも１つのプロセッサを有することができる。少なくとも１つのプロセッサは、１つまたは複数の参照ピクチャに少なくとも部分的に基づいて現在のピクチャのための参照ピクチャセット（ＲＰＳ）を決定することができる。少なくとも１つのプロセッサはまた、ＲＰＳの各参照ピクチャのピクチャ順序カウント（ＰＯＣ）値を決定することができる。少なくとも１つのプロセッサはまた、ＲＰＳ内で長期参照ピクチャの数と短期参照ピクチャの数とのうちの少なくとも１つを識別することができる。少なくとも１つのプロセッサはまた、ＲＰＳ中の長期ピクチャの数と短期ピクチャの数とに制約を適用することができる。制約は、ビデオシーケンスパラメータ（ＶＰＳ）拡張が使用中である場合、ＰＯＣ値および最大復号ピクチャバッファサイズ−１に基づくことができる。少なくとも１つのプロセッサはまた、制約に基づいて、ＲＰＳを識別する少なくとも１つシンタックス要素を生成することができる。少なくとも１つのプロセッサはまた、ＲＰＳと少なくとも１つのシンタックス要素とに基づいて現在のピクチャを符号化することができる。
【００１０】
[0010]本開示の別の態様は、ビデオデータを復号するための方法を提供する。本方法は、ビットストリームから現在のピクチャのピクチャ順序カウント（ＰＯＣ）と１つまたは複数の参照ピクチャのためのＰＯＣ値とを取得することを含むことができる。本方法はまた、現在のピクチャのＰＯＣ値と１つまたは複数の参照ピクチャのＰＯＣ値とに基づいて、１つまたは複数の参照ピクチャを有する参照ピクチャセット（ＲＰＳ）を決定することを含むことができる。本方法はまた、ＲＰＳ中の１つまたは複数の参照ピクチャを、いくつかの数の長期ピクチャといくつかの数の短期ピクチャとのうちの少なくとも１つとして識別することを含むことができ、長期ピクチャの数と短期ピクチャの数とは制約に基づき、制約は、ビデオパラメータセット（ＶＰＳ）拡張が使用中である場合、ＰＯＣ値と最大復号ピクチャバッファサイズ−１とに基づく。本方法はまた、ＲＰＳに基づいて現在のピクチャを復号することを含むことができる。
【００１１】
[0011]本開示の別の態様は、ビデオデータを復号するためのデバイスを提供する。デバイスは、ビットストリームからの現在のピクチャと、現在のピクチャのピクチャ順序カウント（ＰＯＣ）と、１つまたは複数の参照ピクチャのためのＰＯＣ値とを記憶するように構成されたメモリを含むことができ、ＰＯＣ値と現在のピクチャとはビットストリームから取得される。デバイスはまた、メモリに動作可能に結合されたプロセッサを有することができる。プロセッサは、現在のピクチャのＰＯＣ値と１つまたは複数の参照ピクチャのＰＯＣ値とに基づいて、１つまたは複数の参照ピクチャを有する参照ピクチャセット（ＲＰＳ）を決定することができる。プロセッサはまた、ＲＰＳ中の１つまたは複数の参照ピクチャを、いくつかの数の長期ピクチャといくつかの数の短期ピクチャとのうちの少なくとも１つとして識別することができ、長期ピクチャの数と短期ピクチャの数とは制約に基づき、制約は、ビデオパラメータセット（ＶＰＳ）拡張が使用中である場合、ＰＯＣ値と最大復号ピクチャバッファサイズ−１とに基づく。プロセッサはまた、ＲＰＳに基づいて現在のピクチャを復号することができる。
【００１２】
[0012]本発明の他の特徴および利点は、例として、本発明の態様を示す以下の説明から明らかとなるはずである。
【００１３】
[0013]本開示の実施形態の詳細は、それらの構造と動作の両方について、部分的に添付の図面の検討によって収集され得、同様の参照番号は同様の部分を指す。
【図面の簡単な説明】
【００１４】
【図１】ビデオコーディングシステムの機能ブロック図。
【図２】図１のビデオエンコーダの機能ブロック図。
【図３】図１のビデオデコーダを示す機能ブロック図。
【図４】コーディングされるビデオピクチャのシーケンスを示す概念図。
【図５】ビデオデータを符号化するための方法のフローチャート。
【図６】ビデオデータを復号するための方法のフローチャート。
【発明を実施するための形態】
【００１５】
[0020]本開示は、ビデオデータを符号化するためのいくつかのシンタックス要素の値範囲の仕様を改善するための方法を含む、マルチレイヤビデオコーディングにおけるいくつかの改善のうちの１つまたは複数を含み得るコーディングのシステムおよび方法を提供する。特に、シンタックス要素ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓ、ｎｕｍ＿ｐｏｓｉｔｉｖｅ＿ｐｉｃｓ、およびｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃｓの値範囲に対するいくつかの改善が本明細書で示唆される。ＨＥＶＣでは、シンタックス要素「ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓ」、「ｎｕｍ＿ｐｏｓｉｔｉｖｅ＿ｐｉｃｓ」、および「ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃｓ」の値範囲は、擬似コードによって指定される複雑なプロセスに従って導出される変数「ｍａｘＮｕｍＰｉｃｓ」に基づいて指定される。しかしながら、短期参照ピクチャセットがシーケンスパラメータセット（ＳＰＳ：sequence parameter set）中に含まれる場合、ｍａｘＮｕｍＰｉｃｓの導出のための擬似コードにおいて使用されるｎｕｈ＿ｌａｙｅｒ＿ｉｄは、それが、該ＳＰＳのｎｕｈ＿ｌａｙｅｒ＿ｉｄではなく、該ＳＰＳを参照しているレイヤのｎｕｈ＿ｌａｙｅｒ＿ｉｄであるべき（should）なので、不正確である。さらに、この問題が解決された後でも、擬似コードによって指定される導出プロセスは、エンコーダまたはデコーダによる適応検査に不要な複雑さを課す。
【００１６】
[0021]添付の図面を参照しながら、新規のシステム、装置、および方法の様々な態様について以下でより十分に説明する。ただし、本開示は、多くの異なる形態で実施され得、本開示全体にわたって提示するいかなる特定の構造または機能にも限定されるものと解釈されるべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるように与えられる。本明細書の教示に基づいて、本開示の範囲は、本発明の他の態様とは無関係に実装されるにせよ、本開示の他の態様と組み合わせて実装されるにせよ、本明細書で開示する新規のシステム、装置、および方法のいかなる態様をも包含するものであることを、当業者なら諒解されたい。たとえば、本明細書に記載された任意の数の態様を使用して装置が実装され得、または方法が実施され得る。さらに、本発明の範囲は、本明細書に記載された本発明の様々な態様に加えて、またはそれ以外の、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法を包含するものである。本明細書で開示するいかなる態様も、請求項の１つまたは複数の要素によって実施され得ることを理解されたい。
【００１７】
[0022]本明細書では特定の態様について説明するが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好適な態様のいくつかの利益および利点について説明するが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。そうではなく、本開示の態様は、様々なワイヤレス技術、システム構成、ネットワーク、および送信プロトコルに広く適用可能であるものであり、それらのいくつかについて、例として、図において、および好適な態様についての以下の説明において示す。詳細な説明および図面は、限定的ではなく、本開示の例示にすぎず、本開示の範囲は、添付の特許請求の範囲とそれの均等物とによって定義される。
ビデオコーディングシステム
[0023]図１は、ビデオコーディングシステムの機能ブロック図である。ビデオコーディングシステム（「システム」）１０は、本開示で説明する態様による方法を利用し得る。本明細書で使用し説明する「ビデオコーダ」という用語は、ビデオエンコーダとビデオデコーダの両方を総称的に指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化とビデオ復号とを総称的に指すことがある。
【００１８】
[0024]図１に示されているように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを生成することができるソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備えることができる。場合によっては、ソースデバイス１２および宛先デバイス１４はワイヤレス通信のために装備され得る。
【００１９】
[0025]宛先デバイス１４は、リンク１６を介して復号されるべき符号化ビデオデータを受信し得る。リンク１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、リンク１６は、ソースデバイス１２が、符号化ビデオデータをリアルタイムで宛先デバイス１４に直接送信することを可能にするための通信媒体を備え得る。ソースデバイス１２は、ワイヤレス通信プロトコルなどの通信規格に従って符号化ビデオデータを変調し、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００２０】
[0026]符号化データは出力インターフェース２２から記憶デバイス３４に出力され得る。同様に、符号化データは、入力インターフェースによって記憶デバイス３４からアクセスされ得る。記憶デバイス３４は、ハードドライブ、Ｂｌｕｅ−ｒａｙディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる例では、記憶デバイス３４は、ソースデバイス１２によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介して記憶デバイス３４から記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス１４に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバとしては、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブがある。宛先デバイス１４は、インターネット接続を含む任意の標準的なデータ接続を通じて符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに適したワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含み得る。記憶デバイス３４からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
【００２１】
[0027]本開示の方法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本方法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオ電話などの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００２２】
[0028]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。場合によっては、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含み得る。ソースデバイス１２において、ビデオソース１８は、ビデオキャプチャデバイス、たとえばビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、本開示で説明する方法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。
【００２３】
[0029]ビデオエンコーダ２０は、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオを符号化し得る。さらに、いくつかの実施形態では、ビデオデコーダ３０は、第１のビットストリームのパラメータセットＩＤと一意のパラメータセットＩＤとに基づいて第１のビットストリームと第２のビットストリームとを区別し得る。他の例では、ソースデバイス１２の出力インターフェース２２は、符号化ビデオデータを、リンク１６を介して宛先デバイス１４に直接送信し得る。符号化ビデオデータは、さらに（または代替として）、復号および／または再生のための宛先デバイス１４または他のデバイスによる後のアクセスのために記憶デバイス３４上に記憶され得る。
【００２４】
[0030]宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。場合によっては、入力インターフェース２８は受信機および／またはモデムを含み得る。宛先デバイス１４の入力インターフェース２８は、リンク１６を介して符号化ビデオデータを受信する。リンク１６を介して通信されるか、または記憶デバイス３４上に与えられる符号化ビデオデータは、ビデオデータを復号する際にビデオデコーダ３０などのビデオデコーダが使用するための、ビデオエンコーダ２０によって生成される様々な要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信され、記憶媒体上に記憶され、またはファイルサーバ上に記憶された符号化ビデオデータとともに含まれ得る。
【００２５】
[0031]ディスプレイデバイス３２は、宛先デバイス１４と一体化されるか、またはその外部にあり得る。いくつかの例では、宛先デバイス１４は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。概して、ディスプレイデバイス３２は、復号ビデオデータをユーザに対して表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００２６】
[0032]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。本方法が部分的にソフトウェアで実装された場合、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の方法を実施し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００２７】
[0033]ＨＥＶＣ規格化の取組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の機能を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを与えるが、ＨＭは３３個ものイントラ予測符号化モードを与え得る。
【００２８】
[0034]概して、ＨＭの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロックまたは最大コーディングユニット（ＬＣＵ）に分割され得ることを記載している。ツリーブロックは、Ｈ．２６４規格のマクロブロックと同様の目的を有する。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、１つまたは複数のスライスに区分され得る。各ツリーブロックは、４分木に従ってコーディングユニット（ＣＵ）に分割され得る。たとえば、４分木のルートノードとしてのツリーブロックは、４つの子ノードに分割され得、各子ノードは、次に、親ノードとなり、別の４つの子ノードに分割され得る。４分木のリーフノードとしての最終的な分割されない子ノードは、コーディングノード、すなわち、コーディングされるビデオブロックを備える。コーディングされるビットストリームに関連するシンタックスデータは、ツリーブロックが分割され得る最大回数を定義し、コーディングノードの最小サイズをも定義し得る。
【００２９】
[0035]ＣＵは、コーディングノードと、コーディングノードに関連付けられた予測ユニット（ＰＵ）および変換ユニット（ＴＵ）とを含む。ＣＵのサイズは、コーディングノードのサイズに対応し、形状が正方形でなければならない。ＣＵのサイズは、８×８ピクセルから、最大６４×６４ピクセル以上をもつツリーブロックのサイズまでわたり得る。各ＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含んでいることがある。ＣＵに関連付けられたシンタックスデータは、たとえば、１つまたは複数のＰＵへのＣＵの区分（partitioning）を記述し得る。区分モードは、ＣＵがスキップモード符号化もしくは直接モード符号化されるのか、イントラ予測モード符号化されるのか、またはインター予測モード符号化されるのかの間で異なり得る。ＰＵは、形状が非正方形になるように区分され得る。ＣＵに関連付けられたシンタックスデータは、たとえば、４分木に従ってＣＵを１つまたは複数のＴＵに区分することをも記述し得る。ＴＵは、形状が正方形または非正方形であり得る。
【００３０】
[0036]ＨＥＶＣ規格は、異なるＣＵごとに異なり得る、ＴＵに従う変換を可能にする。ＴＵは、区分されるＬＣＵについて定義される所与のＣＵ内のＰＵのサイズに基づいてサイズ決定され得るが、これは常にそうであるとは限らない。ＴＵは、ＰＵと同じサイズであるか、またはＰＵよりも小さくなり得る。いくつかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ）として知られる４分木構造を使用して、より小さいユニットに再分割され得る。ＲＱＴのリーフノードは変換ユニット（ＴＵ）と呼ばれることがある。ＴＵに関連するピクセル差分値は、変換係数を生成するために変換され得、その変換係数は量子化され得る。
【００３１】
[0037]概して、ＰＵは、予測プロセスに関係するデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵは、ＰＵのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵの動きベクトルを定義するデータを含み得る。ＰＵの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルの参照ピクチャリスト（たとえば、リスト０、リスト１、またはリストＣ）を記述し得る。
【００３２】
[0038]概して、ＴＵは、変換プロセスと量子化プロセスとのために使用される。１つまたは複数のＰＵを有する所与のＣＵは、１つまたは複数の変換ユニット（ＴＵ）をも含み得る。予測の後に、ビデオエンコーダ２０は、ＰＵに対応する残差値を計算し得る。残差値はピクセル差分値を備え、ピクセル差分値は、エントロピーコーディングのためのシリアル化変換係数を生成するために、ＴＵを使用して変換係数に変換され、量子化され、走査され得る。本明細書で使用する「ビデオブロック」という用語は、概してＣＵのコーディングノードを指し得る。いくつかの特定の場合において、本開示では、コーディングノードならびにＰＵおよびＴＵを含む、ツリーブロック、すなわち、ＬＣＵまたはＣＵを指すために「ビデオブロック」という用語をも使用し得る。
【００３３】
[0039]ビデオエンコーダ２０は、符号化ビデオデータを含むビットストリームを生成することができる。ビットストリームは、一連のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを含むことができる。ＮＡＬユニットの各々は、ＮＡＬユニットヘッダを含み得、ローバイトシーケンスペイロード（ＲＢＳＰ：raw byte sequence payload）をカプセル化し得る。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを示すシンタックス要素を含み得る。ＮＡＬユニットのＮＡＬユニットヘッダによって指定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ビットストリームのＮＡＬユニットは、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットと非ＶＣＬ  ＮＡＬユニットとを含み得る。ＶＣＬ  ＮＡＬユニットは、ピクチャのコーディングされたスライスを含むことができる。
【００３４】
[0040]非ＶＣＬ  ＮＡＬユニットは、ＶＰＳ、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、ＳＥＩ、または他のタイプのデータを含み得る。ＶＰＳは、０個以上のコーディングされたビデオシーケンス全体に適用されるシンタックス要素を含んでいることがあるシンタックス構造である。ＳＰＳは、０個以上のコーディングされたビデオシーケンス全体に適用されるシンタックス要素を含んでいることがあるシンタックス構造である。単一のＶＰＳが、複数のＳＰＳに適用可能であり得る。ＰＰＳは、０個以上のコーディングされたピクチャ全体に適用されるシンタックス要素を含んでいることがあるシンタックス構造である。単一のＳＰＳが、複数のＰＰＳに適用可能であり得る。ＶＰＳ、ＳＰＳ、およびＰＰＳの様々な態様は、概して、ＨＥＶＣ規格によって定義されているように形成され得る。ビデオエンコーダ２０は、ピクチャのサンプル値の正確な復号に必要とされないメタデータをビットストリーム中に含めるためにＳＥＩメッセージを使用し得る。しかしながら、ビデオデコーダ３０または他のデバイスは、ＳＥＩメッセージに含まれるメタデータを様々な他の目的で使用し得る。たとえば、ビデオデコーダ３０は、ピクチャ出力タイミング、ピクチャ表示、損失検出、および誤り補償のためにＳＥＩメッセージ中のメタデータを使用し得る。
【００３５】
[0041]図２は、図１のビデオエンコーダの機能ブロック図である。ビデオエンコーダ２０は、キャプチャされたビデオデータを受信し、ビデオデータをビデオブロックに区分するように構成された区分モジュール３５を含むことができる。区分モジュール３５は、ビデオデータをスライス、タイル、または他のより大きいユニットに区分することができる。区分モジュール３５はまた、たとえば、ＬＣＵとＣＵとの４分木構造に従って、ビデオブロックを区分することができる。ビデオエンコーダ２０は、スライスを複数のビデオブロックに（および場合によってはタイルと呼ばれるビデオブロックのセットに）分割し得る。
【００３６】
[0042]ビデオエンコーダ２０はまた、区分モジュール３５に動作可能に結合され、区分されたビデオデータを受信するように構成された予測モジュール４１を有することができる。予測モジュール４１は、誤り結果（たとえば、コーディングレートおよびひずみレベル）に基づいて、現在のビデオブロックのために、複数のイントラコーディングモードのうちの１つ、または複数のインターコーディングモードのうちの１つなど、複数の可能なコーディングモードのうちの１つを選択することができる。予測モジュール４１は、ビデオエンコーダ２０が、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実施することを可能にすることができる。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレームまたはピクチャ内のビデオの時間冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指すことがある。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指すことがある。
【００３７】
[0043]予測モジュール４１は、動き推定モジュール４２と、動き補償モジュール４４と、イントラ予測モジュール４６とを含むことができる。これらの構成要素の各々は、ビデオエンコーダ２０内で動作可能に接続されるかあるいは１つまたは複数のプロセッサ中に組み込まれ得る。概念的な目的のために別々に説明されるが、動き推定モジュール４２と、動き補償モジュール４４と、イントラ予測モジュール４６とは、高度に統合され得る。
【００３８】
[0044]動き推定モジュール４２は、ビデオシーケンスの所定のパターンに従ってビデオスライスのインター予測モードを決定するように構成され得る。１つまたは複数の参照ピクチャ中の１つまたは複数の予測ブロックに対する現在のビデオブロックのそのようなインター予測またはインター予測コーディングは時間圧縮を与えることができる。所定のパターンは、シーケンス中のビデオスライスをＰスライス、ＢスライスまたはＧＰＢスライスに指定し得る。本明細書で使用する動き推定は、概して、ビデオブロックの動きを推定する動きベクトルを生成するプロセスを指し得る。動きベクトルは、たとえば、参照フレームまたは参照ピクチャ内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。参照フレームは、予測モジュール４１に動作可能に結合された参照ピクチャメモリ６４に記憶され得る。参照フレームメモリ６４。参照フレームメモリ６４は、フィルタモジュール６３が、再構成されたコーディングブロックに対してデブロッキング演算を実施した後に、再構成されたコーディングブロックを記憶することができる。参照フレームメモリ６４は、したがって、復号ピクチャバッファ（ＤＰＢ）としても動作することができる。
【００３９】
[0045]予測ブロックは、絶対差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのＰＵにぴったり一致することがわかるブロックである。いくつかの例では、動き予測モジュール（「予測モジュール」）４１は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置に関する値を計算することができる。たとえば、予測モジュール４１は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間することができる。したがって、動き推定モジュール４２は、フルピクセル位置と分数ピクセル位置とに対して動き探索を実施し、分数ピクセル精度で動きベクトルを出力し得る。
【００４０】
[0046]動き推定モジュール４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコーディングされたスライス中のビデオブロックのＰＵのための動きベクトルを計算することができる。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定モジュール４２は、計算された動きベクトルを動き補償モジュール４４とエントロピー符号化モジュール５６とに送ることができる。
【００４１】
[0047]動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを伴うことができる。これは、サブピクセル精度への補間を含むことができる。現在のビデオブロックのＰＵのための動きベクトルを受信すると、動き補償モジュール４４は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す予測ブロックの位置を特定することができる。動き補償モジュール４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するための、ビデオブロックおよびビデオスライスに関連付けられたシンタックス要素を生成することができる。
【００４２】
[0048]予測モジュール４１のイントラ予測モジュール４６は、空間圧縮を行うために、同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して現在のビデオブロックのイントラ予測コーディングを実施することができる。イントラ予測モジュール４６は、上記で説明したように、動き推定モジュール４２と動き補償モジュール４４とによって実施されるインター予測の代替として、現在のブロックをイントラ予測することができる。特に、イントラ予測モジュール４６は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定することができる。いくつかの例では、イントラ予測モジュール４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化することができる。たとえば、イントラ予測モジュール４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの間で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されたビットレート（すなわち、ビット数）を決定することができる。イントラ予測モジュール４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化ブロックのひずみおよびレートから比を計算し得る。
【００４３】
[0049]イントラ予測モジュール４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化モジュール５６に与えることができる。エントロピー符号化モジュール５６は、選択されたイントラ予測モードを示す情報を符号化することができる。ビデオエンコーダ２０は、複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを送信ビットストリーム中に含めることができる。
【００４４】
[0050]予測モジュール４１が、インター予測またはイントラ予測のいずれかを介して現在のビデオブロックのための予測ブロックを生成した後に、ビデオエンコーダ２０は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。このプロセスはピクセル差分値を生じることができる。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含むことができる。予測モジュール４１と区分モジュール３５とに動作可能に結合された加算器５０は、この減算演算を実施するように構成され得る１つまたは複数の構成要素を表す。
【００４５】
[0051]残差ブロック中の残差ビデオデータは、１つまたは複数のＴＵ中に含まれ、加算器５０に動作可能に結合された変換モジュール５２に適用され得る。変換モジュール５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換することができる。変換モジュール５２は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換することができる。予測モジュール４１は、残差ブロックデータを生成するために、得られたイントラコーディングまたはインターコーディングされたブロックを加算器５０に与えることができる。得られたイントラコーディングまたはインターコーディングされたブロックは、参照ピクチャとして使用する符号化ブロックを再構成するためにさらに加算器６２に与えられ得る。
【００４６】
[0052]ビデオエンコーダ２０はまた、加算器６２に動作可能に結合されたフィルタモジュール６３を含むことができる。フィルタモジュール６３は、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、およびサンプル適応オフセット（ＳＡＯ）フィルタなど、１つまたは複数のループフィルタを表すことができる。図２ではフィルタモジュール６３はループ内フィルタであるものとして示されているが、他の構成では、フィルタモジュール６３はループ後フィルタとして実装され得る。フィルタモジュール６３は、参照ピクチャを参照ピクチャメモリ６４に与えることができる。
【００４７】
[0053]変換モジュール５２は、得られた変換係数を量子化モジュール５４に送ることができる。量子化モジュール５４は、ビットレートをさらに低減するために変換係数を量子化することができる。量子化処理は、係数の一部または全部に関連付けられたビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化モジュール５４は、次いで、量子化された変換係数を含む行列の走査を実施することができる。いくつかの実施形態では、エントロピー符号化モジュール５６が走査を実施し得る。
【００４８】
[0054]量子化の後に、エントロピー符号化モジュール５６は、量子化された変換係数をエントロピー符号化することができる。たとえば、エントロピー符号化モジュール５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピー符号化方法を実施し得る。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための、符号化ビデオデータに関連付けられたシンタックス要素をエントロピー符号化し得る。
【００４９】
[0055]エントロピー符号化モジュール５６によるエントロピー符号化の後に、符号化ビットストリームはビデオデコーダ３０に送信され得る。ビットストリームはまた、ビデオデコーダ３０による後の送信または取出しのためにアーカイブされ得る。エントロピー符号化モジュール５６はまた、コーディングされている現在のビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化することができる。
【００５０】
[0056]ビデオエンコーダ２０はまた、エントロピー符号化モジュール５６に動作可能に結合された逆量子化モジュール５８を含むことができる。また、逆変換モジュール６０が、逆量子化モジュール５８と加算器６２とに動作可能に結合され得る。逆量子化モジュール５８および逆変換モジュール６０は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するためにピクセル領域において残差ブロックを再構成することができる。動き補償モジュール４４は、残差ブロックを参照ピクチャリストのうちの１つの内の参照ピクチャのうちの１つの予測ブロックに加算することによって、参照ブロックを計算することができる。加算器６２は、再構成された残差ブロックを、動き補償モジュール４４によって生成された動き補償された予測ブロックに加算して、参照ピクチャメモリ６４に記憶するための参照ブロックを生成することができる。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定モジュール４２と動き補償モジュール４４とによって参照ブロックとして使用され得る。
【００５１】
[0057]いくつかの例では、ビデオエンコーダ２０はビットストリームを生成する。ビデオエンコーダ２０によって生成されるビットストリームは、ビットストリームからサブビットストリームとして抽出され得る複数のオペレーションポイントを含み得る。オペレーションポイントは、たとえば、複数のレイヤおよび／またはビュー、ならびに複数のフレームレートを含み得る。ビデオエンコーダ２０は、ＶＰＳにおける出力オペレーションポイントを示す情報を符号化し得る。いくつかの例では、ビデオエンコーダ２０が、ビットストリームに関連付けられたＶＰＳにおいてシグナリングするオペレーションポイントの各々について、オペレーションポイントシンタックス構造は、所与のオペレーションポイントのサブビットストリームに属する、ビットストリーム中のＮＡＬユニットを識別するために使用されるレイヤ識別子（ＩＤ）のセットを指定する。このように、所与のオペレーションポイントのサブビットストリームを構成するＮＡＬユニットは、ＮＡＬユニットのレイヤ識別子に基づいて元のビットストリームから抽出され得る。
【００５２】
[0058]図３は、図１のビデオデコーダを示すブロック図である。説明のために、本開示では、ＨＥＶＣコーディングのコンテキストにおいてビデオデコーダ３０について説明する。しかしながら、本開示は、他のコーディング規格または方法にも適用可能であり得る。
【００５３】
[0059]ビデオデコーダ３０は、エントロピー復号モジュール７０と、予測モジュール７１と、逆量子化モジュール７６と、逆変換モジュール７８と、加算器８０と、フィルタモジュール８４と、復号ピクチャバッファ（ＤＰＢ）８２とを含むことができる。予測モジュール７１は、動き補償モジュール７２と、イントラ予測モジュール７４とを含むことができる。他の例では、ビデオデコーダ３０は、より多数の、より少数の、または異なる機能構成要素を含むことができる。
【００５４】
[0060]コード化ピクチャバッファ（ＣＰＢ）９０は、ビットストリームの符号化ビデオデータ（たとえば、ＮＡＬユニット）を受信し、記憶し得る。エントロピー復号モジュール７０は、ＣＰＢ９０からＮＡＬユニットを受信し、ＮＡＬユニットをパースしてシンタックス要素を復号し得る。エントロピー復号モジュール７０は、ＮＡＬユニット中のエントロピー符号化されたシンタックス要素をエントロピー復号することができる。予測モジュール７１、逆量子化モジュール７６、逆変換モジュール７８、加算器８０、およびフィルタモジュール８４は、ビットストリームから抽出されたシンタックス要素に基づいて復号ビデオデータを生成することができる。
【００５５】
[0061]ビットストリームのＮＡＬユニットは、コーディングされたスライスＮＡＬユニットを含み得る。ビットストリームを復号することの一部として、エントロピー復号モジュール７０は、コーディングされたスライスＮＡＬユニットからシンタックス要素を抽出し、エントロピー復号することができる。コーディングされたスライスの各々は、スライスヘッダとスライスデータとを含むことができる。スライスヘッダは、スライスに関係するシンタックス要素を含むことができる。スライスヘッダ中のシンタックス要素は、当該スライスを含んでいるピクチャに関連付けられたＰＰＳを識別するシンタックス要素を含むことができる。
【００５６】
[0062]ビットストリームからのシンタックス要素を復号することに加えて、ビデオデコーダ３０は、区分されていないＣＵに対して再構成演算を実施し得る。区分されていないＣＵに対して再構成演算を実施するために、ビデオデコーダ３０は、ＣＵの各ＴＵに対して再構成演算を実施することができる。ＣＵの各ＴＵについて再構成演算を実施することによって、ビデオデコーダ３０はＣＵの残差ブロックを再構成し得る。
【００５７】
[0063]ＣＵのＴＵに対して再構成演算を実施することの一部として、逆量子化モジュール７６は、ＴＵに関連付けられた係数ブロックを逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）することができる。逆量子化モジュール７６は、量子化の程度を決定するために、また同様に、逆量子化モジュール７６が適用すべき逆量子化の程度を決定するために、ＴＵのＣＵに関連付けられた量子化パラメータ（ＱＰ）値を使用し得る。すなわち、圧縮比、すなわち、元のシーケンスと圧縮されたシーケンスとを表すために使用されるビット数の比は、変換係数を量子化するときに使用されるＱＰの値を調整することによって制御され得る。圧縮比はまた、採用されたエントロピーコーディングの方法に依存し得る。
【００５８】
[0064]逆量子化モジュール７６が係数ブロックを逆量子化した後に、逆変換処理モジュール７８は、ＴＵに関連付けられた残差ブロックを生成するために、係数ブロックに１つまたは複数の逆変換を適用し得る。たとえば、逆変換モジュール７８は、逆ＤＣＴ、逆整数変換、逆方向変換、または別の逆変換を係数ブロックに適用し得る。
【００５９】
[0065]イントラ予測を使用してＰＵが符号化される場合、イントラ予測モジュール７４は、ＰＵの予測ブロックを生成するためにイントラ予測を実施することができる。イントラ予測モジュール７４は、イントラ予測モードを使用して、空間的に隣接するＰＵの予測ブロックに基づいてＰＵのための予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロックを生成し得る。イントラ予測モジュール７４は、ビットストリームから復号された１つまたは複数のシンタックス要素に基づいて、ＰＵのためのイントラ予測モードを決定し得る。
【００６０】
[0066]予測モジュール７１は、ビットストリームから抽出されたシンタックス要素に基づいて、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）と第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）とを構成することができる。さらに、インター予測を使用してＰＵが符号化される場合、エントロピー復号モジュール７０は、ＰＵの動き情報を抽出し得る。動き補償モジュール７２は、ＰＵの動き情報に基づいて、ＰＵの１つまたは複数の参照領域を決定し得る。動き補償モジュール７２は、ＰＵのための１つまたは複数の参照ブロックにおけるサンプルブロックに基づいて、ＰＵのための予測ルーマ、ＣｂおよびＣｒブロックを生成することができる。
【００６１】
[0067]加算器８０は、適用可能なとき、ＣＵのＴＵに関連付けられたルーマ変換ブロック、Ｃｂ変換ブロックおよびＣｒ変換ブロック、ならびにＣＵのＰＵの予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロック、すなわちイントラ予測データまたはインター予測データのいずれかを使用して、ＣＵのルーマコーディングブロックと、Ｃｂコーディングブロックと、Ｃｒコーディングブロックとを再構成することができる。たとえば、加算器８０は、ルーマ変換ブロック、Ｃｂ変換ブロックおよびＣｒ変換ブロックのサンプルを、予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロックの対応するサンプルに加算して、ＣＵのルーマコーディングブロックと、Ｃｂコーディングブロックと、Ｃｒコーディングブロックとを再構成することができる。
【００６２】
[0068]フィルタモジュール８４は、たとえば、デブロッキングフィルタであり、ＣＵのルーマコーディングブロック、ＣｂコーディングブロックおよびＣｒコーディングブロックに関連するブロッキングアーティファクトを低減するためにデブロッキング演算を実施することができる。ビデオデコーダ３０は、次いで、ＣＵのルーマコーディングブロック、ＣｂコーディングブロックおよびＣｒコーディングブロックを復号ピクチャバッファ８２に記憶することができる。復号ピクチャバッファ８２は、後続の動き補償、イントラ予測、および図１のディスプレイデバイス３２などのディスプレイデバイス上での表示のために参照ピクチャを与えることができる。たとえば、ビデオデコーダ３０は、復号ピクチャバッファ８２中のルーマブロック、ＣｂブロックおよびＣｒブロックに基づいて、他のＣＵのＰＵに対してイントラ予測演算またはインター予測演算を実施することができる。このようにして、ビデオデコーダ３０は、ビットストリームから、有意なルーマ係数ブロックの変換係数レベルを復号し、変換係数レベルを逆量子化し、変換係数レベルに変換を適用して変換ブロックを生成し、変換ブロックに少なくとも部分的に基づいてコーディングブロックを生成し、表示のためにコーディングブロックを出力することができる。
参照ピクチャセット
[0069]ＨＥＶＣは、コーディングされたビデオデータを復号する際に使用するためにパラメータセット中のいくつかの変数を指定する。参照ピクチャセット（ＲＰＳ）は、１つのピクチャに関連する参照ピクチャのセットであり、その参照ピクチャのセットは、復号順で、その関連されるピクチャ（関連ピクチャ）に先立ち、関連ピクチャまたは復号順序で関連ピクチャに続く任意のピクチャのインター予測のために使用され得る、すべての参照ピクチャを備える。参照ピクチャは、復号順序で後続のピクチャの復号プロセスにおいてインター予測のために使用され得るサンプルを含んでいる。
【００６３】
[0070]ＨＥＶＣでは、各コーディングされるピクチャのＲＰＳが直接シグナリングされる。ＲＰＳのシグナリングのためのシンタックス要素は、シーケンスパラメータセット（ＳＰＳ）とスライスヘッダの両方に含まれる。特定のコーディングされるピクチャでは、ＲＰＳは、スライスヘッダ中のフラグによって示されるＳＰＳ中に含まれる代替セットのうちの１つであるか、またはスライスヘッダ中で直接シグナリングされ得る。
【００６４】
[0071]各ピクチャの参照ピクチャセットは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＢｅｆｏｒｅ、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＡｆｔｅｒ、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌという、５つのＲＰＳサブセットとも呼ばれる、参照ピクチャの５つの異なるリストを含み得る。ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＢｅｆｏｒｅは、復号順序と出力順序の両方で現在のピクチャに先立ち、現在のピクチャのインター予測において使用され得る、短期参照ピクチャ（ＳＴＲＰ）を含む。ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＡｆｔｅｒは、復号順序では現在のピクチャに先立ち、出力順序では現在のピクチャの後に続き、現在のピクチャのインター予測において使用され得る、短期参照ピクチャを含む。ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌは、復号順序で現在のピクチャの後に続くピクチャのうちの１つまたは複数のインター予測において使用され得、現在のピクチャのインター予測において使用されない、短期参照ピクチャを含む。ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒは、現在のピクチャのインター予測において使用され得る、長期参照ピクチャを含む。ＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌは、復号順序で現在のピクチャの後に続くピクチャのうちの１つまたは複数のインター予測において使用され得、現在のピクチャのインター予測において使用されない、長期参照ピクチャ（ＬＴＲＰ）を含む。
【００６５】
[0072]ＨＥＶＣにおける参照ピクチャ管理のためのＲＰＳ概念は、以前のビデオコーディング規格の参照ピクチャ管理とは基本的に異なる。ＤＰＢ８２（図３）に対する相対的変化をシグナリングする代わりに、ＤＰＢ８２のステータスがあらゆるスライス中でシグナリングされる。そのようなプロセスは、すべての規格適合の（たとえば、ＨＥＶＣ）ビットストリームおよびデコーダにおけるエラーロバストネスの基本レベルを提供することができる。
【００６６】
[0073]ＨＥＶＣは、ビデオデコーダ３０をモデル化し、ＣＰＢ９０およびＤＰＢ８２（図３）の使用を記述する、仮想参照デコーダ（ＨＲＤ）を定義する。ＣＰＢ９０およびＤＰＢ８２は、さらに、参照フレームメモリ６４（図２）と同様の、参照フレームメモリの構成要素であり得る。コーディングされたピクチャの復号順序は、コーディングされたピクチャがビットストリーム中に生じる順序と同じである。ＨＥＶＣは、さらに、ピクチャの復号順序とは異なる復号ピクチャの出力順序をサポートする。各ピクチャは、出力順序を表すピクチャ順序カウント（ＰＯＣ）値に関連付けられる。ＰＯＣは、各ピクチャに関連付けられた変数であり、ＣＶＳ中のすべてのピクチャの間で関連付けられるピクチャ（関連ピクチャ）を一意に識別し、関連ピクチャが復号ピクチャバッファから出力されるべきであるとき、関連ピクチャの位置を、ＤＰＢ８２から出力されるべきである同じＣＶＳ中の他のピクチャの出力順序位置に対する出力順序で示す。
【００６７】
[0074]短期および長期という、２つのタイプの参照ピクチャがある。参照ピクチャはまた、もはや予測参照のために必要とされなくなったとき、「参照のために使用されない」とマーキングされ得る。これらのマーキングのうちの１つを１つのピクチャに割り当てることは、適用可能なとき、これらのマーキングのうちの別の１つを暗黙的に除去する。ピクチャが「参照のために使用される」ものとしてマーキングされたものとして参照されるとき、これは、「短期参照のために使用される」または「長期参照のために使用される」（ただし両方ではない）ものとしてマーキングされたピクチャをまとめて指す。これらの３つのステータス（短期、長期、および参照のために使用されない）の間の変換は、復号参照ピクチャマーキングプロセスによって制御される。ＨＥＶＣでは、現在のピクチャのスライスヘッダからＲＰＳが最初に復号され、次いで、ピクチャマーキングおよびバッファ演算が適用され、その後、現在のピクチャが復号される。
高レベルシンタックス
[0075]ＮＡＬユニットは、ビデオエンコーダ２０によって符号化され、ビデオデコーダ３０に送信されるシンタックス要素を含んでいることがある。パラメータセット（たとえば、ＳＰＳ、ＶＰＳ、ＰＰＳなど）、参照ピクチャ管理シンタックス、およびＳＥＩメッセージなど、ビットストリームの構造を記述するか、または複数のピクチャもしくはピクチャ内の複数のコーディングされたブロック領域に適用される情報を提供するシンタックス要素は、ＨＥＶＣの「高レベルシンタックス」（ＨＬＳ：high-level syntax）部分として知られている。
【００６８】
[0076]特に、ＨＥＶＣは、本開示に関連するパラメータセット構造を採用する。パラメータセットは、復号ビデオのいくつかの領域の復号のために共有され得る情報を含んでいる。パラメータセット構造は、復号プロセスに必須であるデータを搬送するためのロバストな機構を提供する。
スライスセグメントヘッダセマンティクス
[0077]ＨＥＶＣにおける各スライスヘッダは、スライスを含んでいるピクチャ用のＲＰＳをシグナリングするためのパラメータを含む。本明細書では短期ＲＰＳとも呼ばれる、ＲＰＳの短期部分は、スライスヘッダ中に直接含まれ得るか、または、スライスヘッダは、アクティブＳＰＳ中で送られるＲＰＳのあらかじめ定義されたリストを参照するインデックスを表すシンタックス要素のみを含んでいることがある。
【００６９】
[0078]いくつかの例では、ＨＥＶＣは、擬似コードによって指定される複雑なプロセスに従って導出される変数ｍａｘＮｕｍＰｉｃｓに基づいて、シンタックス要素ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓ、ｎｕｍ＿ｐｏｓｉｔｉｖｅ＿ｐｉｃｓ、およびｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃｓのためのいくつかの値範囲を指定する。たとえば、導出ｍａｘＮｕｍｐｉｃｓに対して以下の擬似コードが使用され得る。
【００７０】
【数１】
0006453365.tif 000002
【００７１】
[0079]しかしながら、短期参照ピクチャセットがＳＰＳ中に含まれるとき、ｍａｘＮｕｍＰｉｃｓの導出のための擬似コードにおいて使用されるｎｕｈ＿ｌａｙｅｒ＿ｉｄは正確でない。代わりに、ｍａｘＮｕｍＰｉｃｓの導出のための擬似コードにおいて使用されるｎｕｈ＿ｌａｙｅｒ＿ｉｄは、該ＳＰＳのｎｕｈ＿ｌａｙｅｒ＿ｉｄでなく、該ＳＰＳを参照しているレイヤのｎｕｈ＿ｌａｙｅｒ＿ｉｄであるべきである。
【００７２】
[0080]そこで、いくつかの実施形態では、ｎｕｈ＿ｌａｙｅｒ＿ｉｄを正しく参照するために、ＳＰＳを参照するすべてのレイヤについてのｎｕｈ＿ｌａｙｅｒ＿ｉｄ値のもう１つのループが必要とされ得る。たとえば、正しくｍａｘＮｕｍｐｉｃｓ変数を定義するためには、コード中の「ｎｕｈ＿ｌａｙｅｒ＿ｉｄ」をｎｕｈＬａｙｅｒＩｄ［ｉ］と置き換えることに加えて、ｆｏｒ（ｉ＝０；ｉ＜すべてのレイヤの数；ｉ＋＋）のような追加の行が必要とされ得る（ここで、「ｉ」は、上記の擬似コード中の「ｊ」と同様のカウンタである）。さらに、上記の問題が解決された後でも、擬似コードによって指定される導出プロセスは、エンコーダまたはデコーダによる適応検査に不要な複雑さを課して、適合テストに悪影響を及ぼす。
長期参照ピクチャ
[0081]長期参照ピクチャは、ＤＰＢ８２に記憶されるときに、長期参照のために使用されるとマーキングされる。復号順序で後続のピクチャの復号プロセスにおいてインター予測のために使用され得るサンプルを含んでいる参照ピクチャがある。長期参照ピクチャは、現在のピクチャのＲＰＳ中のエントリの数を指定する変数ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃｓとともに、スライスされたヘッダ中で直接シグナリングされる。スライスヘッダ中に値が見つけられなかった場合、値は０であると仮定される。
【００７３】
[0082]ＲＰＳは、ＨＥＶＣ規格のセマンティクスにおいて定義されているいくつかの変数に依存する。たとえば、変数ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓ（すなわち、ネガティブピクチャの数）は、現在のピクチャのＰＯＣカウントのものよりも小さいＰＯＣを有する短期ＲＰＳ中のエントリの数を指す。変数ｎｕｍ＿ｐｏｓｉｔｉｖｅ＿ｐｉｃｓ（すなわち、ポジティブピクチャの数）は、現在のピクチャのＰＯＣ値よりも大きいＰＯＣを有する短期ＲＰＳ中のエントリの数を指す。変数ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｓｐｓ（すなわち、長期ＳＰＳの数）は、アクティブＳＰＳにおいて指定された候補長期参照ピクチャに基づいて導出された現在のピクチャの長期ＲＰＳ中のエントリの数を指す。変数ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃｓは、スライスヘッダ中で直接シグナリングされる現在のピクチャの長期ＲＰＳ中のエントリの数を指す。
【００７４】
[0083]いくつかの実施形態では、上記で指摘した問題に対処するために、これらのシンタックス要素のいくつかの値範囲は、ＲＰＳとＨＲＤとの要件をより正確に反映するように改善され得る。一般的なスライスセグメントヘッダセマンティクスは、以下で述べるように改善され得る。省略記号は、簡潔のために削除されたが、本開示に影響を及ぼさない部分を示す。たとえば、
・・・
ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃｓは、スライスヘッダ中で直接シグナリングされる現在のピクチャの長期ＲＰＳ中のエントリの数を指定する。存在しないとき、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃｓの値は０に等しいと推定される。
ｎｕｈ＿ｌａｙｅｒ＿ｉｄが０に等しいとき、ＮｕｍＮｅｇａｔｉｖｅＰｉｃｓ［ＣｕｒｒＲｐｓＩｄｘ］、ＮｕｍＰｏｓｉｔｉｖｅＰｉｃｓ［ＣｕｒｒＲｐｓＩｄｘ］、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｓｐｓ、およびｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃｓの和は、ｓｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｓｐｓ＿ｍａｘ＿ｓｕｂ＿ｌａｙｅｒｓ＿ｍｉｎｕｓ１］以下になるものである。ｖｐｓ＿ｅｘｔｅｎｓｉｏｎ＿ｆｌａｇが１に等しいとき、ＮｕｍＮｅｇａｔｉｖｅＰｉｃｓ［ＣｕｒｒＲｐｓＩｄｘ］、ＮｕｍＰｏｓｉｔｉｖｅＰｉｃｓ［ＣｕｒｒＲｐｓＩｄｘ］、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｓｐｓ、およびｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃｓの和は、ＭａｘＤｐｂＳｉｚｅ−１以下になるものである。
・・・
[0084]いくつかの実施形態では、この改善は、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃｓのセマンティクスから変数「ｍａｘＮｕｍＰｉｃｓ」の使用をなくす。したがって、「ｍａｘＮｕｍＰｉｃｓ」を導出するためのプロセスもなくされ得る。プロセスは、代わりに、復号ピクチャバッファ（たとえば、ＤＰＢ８２）の最大サイズ、または変数ＭａｘＤｐｂＳｉｚｅ−１に依拠する。本明細書で使用するＭａｘＤｐｂＳｉｚｅは最大復号ピクチャバッファサイズである。
短期参照ピクチャ
[0085]短期参照ピクチャセットは、シンタックス構造、ｓｔ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（ｓｔＲｐｓＩｄｘ）を有することができる。ｓｔ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（ｓｔＲｐｓＩｄｘ）シンタックス構造はＳＰＳ中にまたはスライスヘッダ中に存在し得る。スライスヘッダ中に存在する場合、ｓｔ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（ｓｔＲｐｓＩｄｘ）シンタックス構造は、現在のピクチャ（たとえば、スライスを含んでいるピクチャ）の短期ＲＰＳを指定する。さらに、以下のことも必要とされる。１）ｓｔ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（ｓｔＲｐｓＩｄｘ）シンタックス構造のコンテンツは、現在のピクチャのすべてのスライスヘッダにおいて同じになるものであり、２）ｓｔＲｐｓＩｄｘの値は、アクティブＳＰＳ中のシンタックス要素ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔｓに等しくなるものであり、３）現在のピクチャの短期ＲＰＳは、この節の残りにおいて指定されるセマンティクスにおいてｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔｓ番目の候補短期ＲＰＳとしても参照される。
【００７５】
[0086]いくつかの例では、上記で説明した変数の多くは、短期ＲＰＳにも等しく適用される。
【００７６】
[0087]スライスヘッダ中に存在せず、そうではなくＳＰＳ中に存在する場合、ｓｔ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（ｓｔＲｐｓＩｄｘ）シンタックス構造は候補短期（たとえば、ＳＴ）ＲＰＳを指定する。さらに、セマンティクスにおいて使用される「現在のピクチャ」という用語は、アクティブＳＰＳとしてＳＰＳを有するＣＶＳにおいて、ｓｔＲｐｓＩｄｘに等しいｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ（すなわち、短期ＲＰＳインデックス）を有する各ピクチャを指す。
【００７７】
[0088]短期参照ピクチャセットセマンティクスは次のように改善され得る。
・・・
ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓは、現在のピクチャのピクチャ順序カウント値よりも小さいピクチャ順序カウント値を有するｓｔＲｐｓＩｄｘ番目の候補短期ＲＰＳ中のエントリの数を指定する。ｎｕｈ＿ｌａｙｅｒ＿ｉｄが０に等しいとき、ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓの値は、両端値を含む、０からｓｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｓｐｓ＿ｍａｘ＿ｓｕｂ＿ｌａｙｅｒｓ＿ｍｉｎｕｓ１］の範囲内になるものである。ｖｐｓ＿ｅｘｔｅｎｓｉｏｎ＿ｆｌａｇが１に等しいとき、ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓの値は、両端値を含む、０からＭａｘＤｐｂＳｉｚｅ−１の範囲内になるものである。
ｎｕｍ＿ｐｏｓｉｔｉｖｅ＿ｐｉｃｓは、現在のピクチャのピクチャ順序カウント値よりも大きいピクチャ順序カウント値を有するｓｔＲｐｓＩｄｘ番目の候補短期ＲＰＳ中のエントリの数を指定する。ｎｕｈ＿ｌａｙｅｒ＿ｉｄが０に等しいとき、ｎｕｍ＿ｐｏｓｉｔｉｖｅ＿ｐｉｃｓの値は、両端値を含む、０からｓｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｓｐｓ＿ｍａｘ＿ｓｕｂ＿ｌａｙｅｒｓ＿ｍｉｎｕｓ１］−ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓの範囲内になるものである。ｖｐｓ＿ｅｘｔｅｎｓｉｏｎ＿ｆｌａｇが１に等しいとき、ｎｕｍ＿ｐｏｓｉｔｉｖｅ＿ｐｉｃｓの値は、両端値を含む、０からＭａｘＤｐｂＳｉｚｅ−１−ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓの範囲内になるものである。
・・・
[0089]上記と同様の方法で、そのような改善は、変数ｍａｘＮｕｍＰｉｃｓを導出するために前に使用されるプロセスを除去し、値の範囲について最大ＤＰＢサイズ（ＭａｘＤｐｂＳｉｚｅ）−１に依拠する。
【００７８】
[0090]図４は、コーディングされたビデオピクチャのシーケンスを示す概念図である。ピクチャは、階層予測構造内の位置を示すために異なる陰影を付けられている。たとえば、ピクチャ１００、１１６、および１３２は、ピクチャ１００、１１６、１３２が階層予測構造の最上位にあることを表すためにダークグレイの陰影を付けられている。ピクチャ１００、１１６、１３２は、たとえば、単一方向で他のピクチャ（たとえば、Ｐピクチャ）から予測される、イントラコーディングされるピクチャまたはインターコーディングされるピクチャを備え得る。イントラコーディングされる場合、ピクチャ１００、１１６、１３２は同じピクチャ内のデータからのみ予測される。インターコーディングされる場合、ピクチャ１１６は、たとえば、ピクチャ１１６からピクチャ１００への破線矢印で示されているように、ピクチャ１００のデータに対してコーディングされ得る。ピクチャ１１６、１３２は、それぞれ、ピクチャグループ（ＧＯＰ）１３４、１３６のキーピクチャを形成する。
【００７９】
[0091]ピクチャ１０８、１２４は、それらが、符号化階層においてピクチャ１００、１１６、および１３２の次であることを示すためにミディアムグレイの陰影を付けられている。ピクチャ１０８、１２４は、双方向、インターモード予測符号化ピクチャを備えることができる。たとえば、ピクチャ１０８はピクチャ１００および１１６のデータから予測され得、ピクチャ１２４はピクチャ１１６および１３２から予測され得る。ピクチャ１０４、１１２、１２０、および１２８は、それらが、符号化階層においてピクチャ１０８および１２４の次であることを示すためにライトグレイの陰影を付けられている。ピクチャ１０４、１１２、１２０、および１２８はまた、双方向、インターモード予測符号化ピクチャを備え得る。たとえば、ピクチャ１０４はピクチャ１００および１０８から予測され得、ピクチャ１１２はピクチャ１０８および１１６から予測され得、ピクチャ１２０はピクチャ１１６および１２４から予測され得、ピクチャ１２８はピクチャ１２４および１３２から予測され得る。概して、階層中でより低いピクチャは、階層中でより高いどの参照ピクチャからも符号化され得、この場合、当該参照ピクチャが復号ピクチャバッファ中に依然としてバッファされているものと想定し、また、参照ピクチャが、現在コーディングされているピクチャよりも前にコーディングされたものと想定している。
【００８０】
[0092]ピクチャ１０２、１０６、１１０、１１４、１１８、１２２、１２６、および１３０は、これらのピクチャが符号化階層において最下位であることを示すためにホワイトの色を付けられている。ピクチャ１０２、１０６、１１０、１１４、１１８、１２２、１２６、および１３０はまた、双方向、インターモード予測符号化ピクチャであり得る。ピクチャ１０２はピクチャ１００および１０４から予測され得、ピクチャ１０６はピクチャ１０４および１０８から予測され得、ピクチャ１１０はピクチャ１０８および１１２から予測され得、ピクチャ１１４はピクチャ１１２および１１６から予測され得、ピクチャ１１８はピクチャ１１６および１２０から予測され得、ピクチャ１２２はピクチャ１２０および１２４から予測され得、ピクチャ１２６はピクチャ１２４および１２８から予測され得、ピクチャ１３０はピクチャ１２８および１３２から予測され得る。コーディング階層中でより低いピクチャは、コーディング階層中でより高い他のピクチャからコーディングされ得ることを理解されたい。たとえば、ピクチャ１０２、１０６、１１０、または１１４のいずれかまたはすべては、追加または代替として、ピクチャ１００、１１６、または１０８のいずれかに対して予測され得る。
【００８１】
[0093]ピクチャ１００〜１３２は表示順序で示されている。すなわち、復号に続いて、ピクチャ１００はピクチャ１０２の前に表示され、ピクチャ１０２はピクチャ１０４の前に表示され、以下同様である。上記で説明したように、ＰＯＣ値は、概してピクチャの表示順序を記述し、この表示順序は、生ピクチャが符号化されるより前にキャプチャまたは生成された順序とも実質的に同じである。しかしながら、符号化階層により、ピクチャ１００〜１３２は異なる順序で復号され得る。その上、符号化されている間、ピクチャ１００〜１３２は、ピクチャ１００〜１３２のための符号化データを含むビットストリーム中に、復号順序で構成され得る。たとえば、ピクチャ１１６は、ＧＯＰ１３４のピクチャのうち最後に表示され得る。しかしながら、符号化階層により、ピクチャ１１６はＧＯＰ１３４のうち最初に復号され得る。すなわち、ピクチャ１０８を適切に復号するために、たとえば、ピクチャ１１６は、ピクチャ１０８のための参照ピクチャとして働くために、最初に復号される必要があり得る。同様に、ピクチャ１０８はピクチャ１０４、１０６、１１０、および１１２のための参照ピクチャとして働き得、したがって、ピクチャ１０４、１０６、１１０、および１１２の前に復号される必要があり得る。
【００８２】
[0094]さらに、いくつかのピクチャは長期参照ピクチャとして扱われ得るが、他のピクチャは短期参照ピクチャとして扱われ得る。たとえば、ピクチャ１００および１１６は長期参照ピクチャを表すことができるが、ピクチャ１０８、１０４、および１１２は短期参照ピクチャを表す。それは、この例では、ピクチャ１０２および１０６は、ピクチャ１００、１１６、１０８、または１０４のいずれかに対して予測され得るが、ピクチャ１１０および１１４は、ピクチャ１００、１１６、１０８、または１１２のいずれかに対して予測され得る場合であり得る。言い換えれば、ピクチャ１１０および１１４をコーディングするとき、ピクチャ１０４は参照のために利用可能でないことがある。別の例として、ピクチャ１００および１１６が長期参照ピクチャを表し、ピクチャ１０８、１０４、および１１２が短期参照ピクチャを表すと仮定すると、ピクチャ１１８、１２２、１２６、および１３０をコーディングするとき、ピクチャ１０８、１０４、および１１２は参照のために利用可能でないことがある。
【００８３】
[0095]いくつかの例では、コーディング規格（たとえば、ＨＥＶＣ）に準拠するためにＲＰＳ中の長期参照ピクチャの数が制約され得る。たとえば、ピクチャの数は値の有限セット内に制約され得る。これらの値または値範囲は、概して本明細書では制約と呼ばれることがある。いくつかの実施形態では、そのような値の有限セットまたは制約は整数値であり得る。いくつかの他の実施形態では、値の有限セットは、以下で説明するように、バッファサイズまたは最大メモリサイズに基づき得る。いくつかの例では、値範囲は、エンコーダおよびデコーダが、シンタックス要素を表すために使用される変数に有限のビット数を割り振ることを可能にするように制約され得る。値範囲が指定されると、制約は適合テストの一部として従われる。いくつかの他の例では、ＲＰＳの最大サイズが他の手段によって直接限定されるが、それは、関係するシンタックス要素の値範囲によっても間接的に限定され得る。
【００８４】
[0096]上述したように、変数ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃｓは、スライスヘッダ中で直接シグナリングされる現在のピクチャの長期ＲＰＳ中のエントリの数を指定する。スライスヘッダ中に存在しないとき、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃｓの値は０に等しいと推論される。さらに、ベースレイヤにおいて（ｎｕｈ＿ｌａｙｅｒ＿ｉｄが０に等しい）、ＮｕｍＮｅｇａｔｉｖｅＰｉｃｓ［ＣｕｒｒＲｐｓＩｄｘ］、ＮｕｍＰｏｓｉｔｉｖｅＰｉｃｓ［ＣｕｒｒＲｐｓＩｄｘ］、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｓｐｓ、およびｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃｓの和は、ｓｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｓｐｓ＿ｍａｘ＿ｓｕｂ＿ｌａｙｅｒｓ＿ｍｉｎｕｓ１］以下になるものである。ｖｐｓ＿ｅｘｔｅｎｓｉｏｎ＿ｆｌａｇがに等しいとき、ＮｕｍＮｅｇａｔｉｖｅＰｉｃｓ［ＣｕｒｒＲｐｓＩｄｘ］、ＮｕｍＰｏｓｉｔｉｖｅＰｉｃｓ［ＣｕｒｒＲｐｓＩｄｘ］、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｓｐｓ、およびｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃｓの和は、ＭａｘＤｐｂＳｉｚｅ−１以下になるものである。いくつかの例では、「ｖｐｓ＿ｅｘｔｅｎｓｉｏｎ＿ｆｌａｇが１に等しい」という条件は、ＶＰＳ拡張が使用中であり、ベースレイヤではない少なくとも１つのレイヤが存在することを示すことができる。
【００８５】
[0097]ＲＰＳ中の短期ピクチャの数も制約され得る。短期ピクチャ（たとえば、ｓｔ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造）は、シンタックス要素、または変数、ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓおよびｎｕｍ＿ｐｏｓｉｔｉｖｅ＿ｐｉｃｓを含むことができる。コーディング規格（たとえば、ＨＥＶＣ）に準拠するために、これらの変数もいくつかの限界内に制約され得る。たとえば、上述したように、ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓは、現在のピクチャのピクチャ順序カウント値よりも小さいピクチャ順序カウント値を有する、ｓｔＲｐｓＩｄｘ番目の候補短期ＲＰＳ中のエントリの数を指定する。ベースレイヤの場合のように、ｎｕｈ＿ｌａｙｅｒ＿ｉｄが０に等しいとき、ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓの値は、両端値を含む、０からｓｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｓｐｓ＿ｍａｘ＿ｓｕｂ＿ｌａｙｅｒｓ＿ｍｉｎｕｓ１］の範囲内になるものである。ｖｐｓ＿ｅｘｔｅｎｓｉｏｎ＿ｆｌａｇが１に等しいとき、ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓの値は、０からＭａｘＤｐｂＳｉｚｅ−１の範囲内になるものである。いくつかの例では、「ｓｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｓｐｓ＿ｍａｘ＿ｓｕｂ＿ｌａｙｅｒｓ＿ｍｉｎｕｓ１］＋１」の値は、バッファされる必要があるベースレイヤの復号ピクチャの最大数を指定することができる。
【００８６】
[0098]これらの制約を使用して、シンタックス要素ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃｓ、ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓ、およびｎｕｍ＿ｐｏｓｉｔｉｖｅ＿ｐｉｃｓの値範囲が導出され得る。その結果、ビデオエンコーダ２０、ビデオデコーダ３０、および他のビットストリーム適合検査エンティティは、これらのシンタックス要素の値が指定された値範囲内にあるかどうかを検査することができる。その上、ビデオエンコーダ２０は、ビデオデコーダ３０に適切なＲＰＳおよび参照ピクチャリストをシグナリングすることができる。その後、適合するコーディングされたビデオが、ビデオデコーダ３０において受信され、復号され得る。
【００８７】
[0099]ビデオエンコーダ２０およびビデオデコーダ３０は、参照ピクチャセットを使用して、ピクチャ１０２〜１１４、１１８〜１３０、ならびに潜在的にピクチャ１１６および／またはピクチャ１３２のすべてまたは部分をインターコーティングするように構成され得る。たとえば、ピクチャ１００、１１６、および１３２をコーディングした後に、ビデオエンコーダ２０およびビデオデコーダ３０はピクチャ１０８をコーディングし得る。したがって、ピクチャ１００、１１６、および／または１３２は、ピクチャ１０８のための参照ピクチャセット中に含まれ得る。ピクチャ１０８をコーディングした後に、ビデオエンコーダ２０およびビデオデコーダ３０は、ピクチャ１０４をコーディングすることに進み得る。したがって、ピクチャ１００、１１６、１３２、および／または１０８は、ピクチャ１０４のための参照ピクチャセット中に含まれ得る。
【００８８】
[00100]図５は、ビデオデータを符号化するための方法のフローチャートである。方法５００は、参照ピクチャセット変数のいくつかの制約に基づいて現在のピクチャのための参照ピクチャセットを形成するための方法を示す。ブロック５１０において、ビデオエンコーダ２０は複数のピクチャを受信することができる。複数のピクチャは、たとえばビデオソース１８によってキャプチャされた、一連のピクチャであり得る。複数のピクチャは、１つのピクチャは、符号化されるべき現在のピクチャである１つのピクチャをもつ、１つまたは複数のＧＯＰ（たとえば、ＧＯＰ１３４およびＧＯＰ１３６）であり得る。
【００８９】
[00101]ブロック５２０において、ビデオエンコーダ２０、またはより詳細には、予測モジュール４１は、現在のピクチャのための現在のＲＰＳを決定することができる。現在のＲＰＳは、現在のピクチャのための（複数のピクチャからの）１つまたは複数の参照ピクチャを有することができる。いくつかの例では、現在のＲＰＳを形成することは、たとえば、様々な異なる潜在的参照ピクチャから、複数のコーディングパス中に、複数回実施され得る。ビデオエンコーダ２０は、所与の時間に復号ピクチャバッファに記憶されるべき参照ピクチャの最大数、または他のそのような特性を指定し得る、特定のコーディング規格（たとえば、ＨＥＶＣ）のためのレートひずみ最適化（ＲＤＯ）技法、プロファイルおよび／またはレベルに基づいて、最終的な参照ピクチャセット中に特定の参照ピクチャを含めるべきかどうかを決定することができる。
【００９０】
[00102]ビデオエンコーダ２０は、現在のＲＰＳから参照ピクチャリストを形成することができる。いくつかの例では、ビデオエンコーダ２０は、現在のピクチャよりも前の表示順序を有する参照ピクチャを含むＲｅｆＰｉｃＬｉｓｔ０、および現在のピクチャよりも後の表示順序を有する参照ピクチャを含むＲｅｆＰｉｃＬｉｓｔ１という、２つの参照ピクチャリストを形成することができる。
【００９１】
[00103]ブロック５３０において、ビデオエンコーダ２０は、たとえば、ＧＯＰ１３４、１３６中のピクチャの各々のためのＰＯＣ値を決定することができる。ＧＯＰ１３４、１３６中のピクチャの各々は、ＧＯＰ１３４、１３６中の（または、たとえば、ＣＶＳ中の）すべての他のピクチャの間で関連付けられる１つのピクチャ（関連ピクチャ）を識別し、ＤＰＢ８２から出力されるべきである同じＣＶＳ中の他のピクチャのすべての出力順序に対する出力順序で関連ピクチャの位置を示す、ＰＯＣを有することができる。たとえば、現在のピクチャがピクチャ１１６（図４）である場合、左側のピクチャ（たとえば、１００〜１１４）は、ピクチャ１１６のＰＯＣよりも小さいＰＯＣを有することができるが、右側のピクチャ（たとえば、１１８〜１３２）は、ピクチャ１１６よりも高いＰＯＣを有することができる。各ピクチャのＰＯＣは、本明細書で説明する制約に基づいて、参照ピクチャ（たとえば、長期、短期）としてのそれらのステータスと、ＲＰＳに記憶されるためのそれらの能力（ability）とを決定することができる。
【００９２】
[00104]ブロック５４０において、ビデオエンコーダは、ＲＰＳによって与えられ符号化されるピクチャの数に関していくつかの制約を適用することができる。たとえば、制約は、現在のピクチャのためのＲＰＳにおいて識別される長期参照ピクチャの数に影響を及ぼすことができる。いくつかの実施形態では、ｎｕｈ＿ｌａｙｅｒ＿ｉｄが０（たとえば、ベースレイヤ）に等しいとき、ＮｕｍＮｅｇａｔｉｖｅＰｉｃｓ［ＣｕｒｒＲｐｓＩｄｘ］、ＮｕｍＰｏｓｉｔｉｖｅＰｉｃｓ［ＣｕｒｒＲｐｓＩｄｘ］、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｓｐｓ、およびｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃｓの和は、ｓｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｓｐｓ＿ｍａｘ＿ｓｕｂ＿ｌａｙｅｒｓ＿ｍｉｎｕｓ１］以下になるものである。ｖｐｓ＿ｅｘｔｅｎｓｉｏｎ＿ｆｌａｇが１に等しいとき、ＮｕｍＮｅｇａｔｉｖｅＰｉｃｓ［ＣｕｒｒＲｐｓＩｄｘ］、ＮｕｍＰｏｓｉｔｉｖｅＰｉｃｓ［ＣｕｒｒＲｐｓＩｄｘ］、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｓｐｓ、およびｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃｓの和は、ＭａｘＤｐｂＳｉｚｅ−１以下になるものである。（符号化または復号されている）現在のピクチャを含む、すべての復号ピクチャがＤＰＢ８２に記憶されるので、これらの値は、そのように限定され得る。したがって、ＲＰＳ中のすべての参照ピクチャの数は、ＤＰＢ８２のサイズ−１よりも大きくなることができない。
【００９３】
[00105]いくつかの実施形態では、短期ＲＰＳも制約され得る。たとえば、（ベースレイヤについて）ｎｕｈ＿ｌａｙｅｒ＿ｉｄが０に等しいとき、ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓの値は、両端値を含む、０からｓｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｓｐｓ＿ｍａｘ＿ｓｕｂ＿ｌａｙｅｒｓ＿ｍｉｎｕｓ１］の範囲内になるものである。ｖｐｓ＿ｅｘｔｅｎｓｉｏｎ＿ｆｌａｇが１に等しいとき、ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓの値は、両端値を含む、０からＭａｘＤｐｂＳｉｚｅ−１の範囲内になるものである。
【００９４】
[00106]いくつかの実施形態では、ポジティブピクチャの数（ｎｕｍ＿ｐｏｓｉｔｉｖｅ＿ｐｉｃｓ）も制約され得る。たとえば、（ベースレイヤについて）ｎｕｈ＿ｌａｙｅｒ＿ｉｄが０に等しいとき、ｎｕｍ＿ｐｏｓｉｔｉｖｅ＿ｐｉｃｓの値は、両端値を含む、０からｓｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｓｐｓ＿ｍａｘ＿ｓｕｂ＿ｌａｙｅｒｓ＿ｍｉｎｕｓ１］−ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓの範囲内になるものである。別の実施形態では、ｖｐｓ＿ｅｘｔｅｎｓｉｏｎ＿ｆｌａｇが１に等しいとき、ｎｕｍ＿ｐｏｓｉｔｉｖｅ＿ｐｉｃｓの値は、両端値を含む、０からｍａｘＮｕｍＰｉｃｓ ＭａｘＤｐｂＳｉｚｅ−１−ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓの範囲内になるものである。
【００９５】
[00107]ブロック５５０において、ビデオエンコーダ２０は、制約に基づいて現在のピクチャのためのＲＰＳを識別する少なくとも１つのシンタックス要素を生成することができる。制約は、ＲＰＳ中およびＧＯＰ１３４、１３６中のピクチャの数、ならびにＤＰＢ８２のサイズによってさらに影響を受け得る。
【００９６】
[00108]ブロック５６０において、ビデオエンコーダ２０は、ＲＰＳと少なくとも１つのシンタックス要素とに基づいて現在のピクチャを符号化することができる。
【００９７】
[00109]したがって、方法５００は、ＲＰＳ中の参照ピクチャを選択するときに、これらの変数の制約を簡略化するために使用され得る。
【００９８】
[00110]図６は、ビデオデータを復号するための方法のフローチャートである。方法６００は、ビデオデータ、たとえば、方法５００において符号化されたビデオデータを復号する際に使用され得る。ブロック６１０において、ビデオデコーダは、ビットストリームを受信し、ビットストリームから現在のピクチャとＲＰＳとを取得することができる。現在のピクチャは、復号されるより前に、ビデオデコーダ３０のＣＰＢ９０においてコーディングされるピクチャとして記憶され得る。ＲＰＳは、現在のピクチャを復号するために使用される１つまたは複数の参照ピクチャを含んでいることがある。
【００９９】
[00111]ブロック６１０において、ビデオデコーダ３０は、たとえばスライスヘッダから、現在のピクチャのＰＯＣ値を取得することができる。いくつかの例では、これは、現在のピクチャの最初のスライスセグメントのみにおいて必要とされ得る。ビットストリーム中の各コーディングされたピクチャはＰＯＣ値を有することができる。復号されたピクチャは、現在のピクチャのための参照ピクチャとして使用され得る。したがって、ビデオデコーダ３０は、１つまたは複数の参照ピクチャのためのＰＯＣ値を取得することができる。上記で説明したように、ＰＯＣは、マージモードにおける動きパラメータ、および動きベクトル予測を導出するための、ならびにデコーダ適合検査のためのピクチャを識別するために使用され得る。
【０１００】
[00112]ブロック６２０において、ビデオデコーダ３０は、ＰＯＣ値に基づいて現在のピクチャのためのＲＰＳを取得することができる。ＲＰＳは、スライスヘッダを復号した後に、しかし、どのコーディングユニットを復号するよりも前に、および参照ピクチャリストを復号するよりも前に、ピクチャごとに１回取得され得る。ＲＰＳは、現在のピクチャと参照ピクチャ（図４）とのＰＯＣ値に基づいて構成された複数の参照ピクチャリストを有することができる。復号された１つのピクチャは、ＤＰＢ８２に記憶され、「参照のために使用されない」、「短期参照のために使用される」または「長期参照のために使用される」ものとして、ただし、復号プロセス中の所与の瞬間にこれら３つのうちただ１つのみがマーキングされ得る。
【０１０１】
[00113]ブロック６３０において、ビデオデコーダは、ＲＰＳ（および参照ピクチャリスト）中の１つまたは複数の参照ピクチャを、いくつかの数の長期ピクチャといくつかの数の短期ピクチャとのうちの少なくとも１つとして識別することができ、長期ピクチャの数と短期ピクチャの数とは制約に基づく。ＶＰＳ拡張が使用中である場合、そのような制約はＰＯＣ値および最大復号ピクチャバッファサイズ−１に基づくことができる。これは、シンタックス要素「ｖｐｓ＿ｅｘｔｅｎｓｉｏｎ＿ｆｌａｇ」が１に等しい場合に示され得る。ビットストリーム中に少なくとも１つの非ベースレイヤがあるとき、ＶＰＳ拡張は使用中であり得る。
【０１０２】
[00114]たとえば、いくつかの実施形態では、現在のピクチャがベースレイヤ中にある（たとえば、ｎｕｈ＿ｌａｙｅｒ＿ｉｄが０に等しい）とき、ＮｕｍＮｅｇａｔｉｖｅＰｉｃｓ［ＣｕｒｒＲｐｓＩｄｘ］、ＮｕｍＰｏｓｉｔｉｖｅＰｉｃｓ［ＣｕｒｒＲｐｓＩｄｘ］、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｓｐｓ、およびｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃｓの和は、ｓｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｓｐｓ＿ｍａｘ＿ｓｕｂ＿ｌａｙｅｒｓ＿ｍｉｎｕｓ１］以下になるものである。ｖｐｓ＿ｅｘｔｅｎｓｉｏｎ＿ｆｌａｇが１に等しいとき、ＮｕｍＮｅｇａｔｉｖｅＰｉｃｓ［ＣｕｒｒＲｐｓＩｄｘ］、ＮｕｍＰｏｓｉｔｉｖｅＰｉｃｓ［ＣｕｒｒＲｐｓＩｄｘ］、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｓｐｓ、およびｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃｓの和は、ＭａｘＤｐｂＳｉｚｅ−１以下になるものである。（符号化または復号されている）現在のピクチャを含む、すべての復号ピクチャがＤＰＢ８２に記憶されるので、これらの値はそのようなものとして限定され得る。したがって、ＲＰＳ中のすべての参照ピクチャの数は、ＤＰＢ８２のサイズ−１よりも大きくなることができない。
【０１０３】
[00115]いくつかの実施形態では、短期ＲＰＳも制約され得る。たとえば、（ベースレイヤについて）ｎｕｈ＿ｌａｙｅｒ＿ｉｄが０に等しいとき、ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓの値は、両端値を含む、０からｓｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｓｐｓ＿ｍａｘ＿ｓｕｂ＿ｌａｙｅｒｓ＿ｍｉｎｕｓ１］の範囲内になるものである。ｖｐｓ＿ｅｘｔｅｎｓｉｏｎ＿ｆｌａｇが１に等しいとき、ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓの値は、両端値を含む、０からＭａｘＤｐｂＳｉｚｅ−１の範囲内になるものである。
【０１０４】
[00116]いくつかの実施形態では、ポジティブピクチャの数（ｎｕｍ＿ｐｏｓｉｔｉｖｅ＿ｐｉｃｓ）も制約され得る。たとえば、（ベースレイヤについて）ｎｕｈ＿ｌａｙｅｒ＿ｉｄが０に等しいとき、ｎｕｍ＿ｐｏｓｉｔｉｖｅ＿ｐｉｃｓの値は、両端値を含む、０からｓｐｓ＿ｍａｘ＿ｄｅｃ＿ｐｉｃ＿ｂｕｆｆｅｒｉｎｇ＿ｍｉｎｕｓ１［ｓｐｓ＿ｍａｘ＿ｓｕｂ＿ｌａｙｅｒｓ＿ｍｉｎｕｓ１］−ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓの範囲内になるものである。別の実施形態では、ｖｐｓ＿ｅｘｔｅｎｓｉｏｎ＿ｆｌａｇが１に等しいとき、ｎｕｍ＿ｐｏｓｉｔｉｖｅ＿ｐｉｃｓの値は、両端値を含む、０からｍａｘＮｕｍＰｉｃｓ ＭａｘＤｐｂＳｉｚｅ−１−ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓの範囲内になるものである。
【０１０５】
[00117]ブロック６４０において、ビデオデコーダ３０は、次いで、ＲＰＳに基づいて現在のピクチャを復号することができる。このようにして、ビデオデコーダ３０は、したがって、図５に関して説明したように短期ピクチャと長期ピクチャとについて制約された値を使用することができる。
【０１０６】
[00118]本明細書で開示する実施形態に関して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、概してそれらの機能に関して上記で説明した。そのような機能がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課された設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈されるべきではない。
【０１０７】
[00119]本明細書で説明した方法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。そのような方法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおける適用例を含む複数の用途を有する集積回路デバイスなど、様々なデバイスのいずれかにおいて実装され得る。モジュールまたは構成要素として説明した任意の機能は、集積論理デバイスにおいて一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。ソフトウェアで実装された場合、本方法は、実行されたとき、少なくとも部分的に、上記で説明した方法のうちの１つまたは複数を実施する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含み得るコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュメモリ、磁気または光学データ記憶媒体など、メモリまたはデータ記憶媒体を備え得る。本方法は、追加または代替として、少なくとも部分的に、伝搬信号または電波など、命令またはデータ構造の形態でプログラムコードを搬送または伝達し、コンピュータによってアクセスされ、読み取られ、および／または実行され得るコンピュータ可読通信媒体によって実現され得る。
【０１０８】
[00120]プログラムコードは、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価な集積回路またはディスクリート論理回路など、１つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明した方法のいずれかを実施するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、または本明細書で説明した方法の実装に適した任意の他の構造もしくは装置のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のソフトウェアモジュールもしくはハードウェアモジュール内に提供され得、または複合ビデオエンコーダ／デコーダ（コーデック）に組み込まれ得る。
【０１０９】
[00121]本明細書で説明したコーディング方法は、例示的なビデオ符号化および復号システムにおける実施形態であり得る。システムは、宛先デバイスによって後で復号されるべき符号化ビデオデータを与えるソースデバイスを含む。特に、ソースデバイスは、コンピュータ可読媒体を介してビデオデータを宛先デバイスに与える。ソースデバイスおよび宛先デバイスは、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイスおよび宛先デバイスはワイヤレス通信のために装備され得る。
【０１１０】
[00122]本開示の実施形態は、上記では特定の実施形態について説明されているが、本開示の多くの変形形態が可能である。たとえば、様々な構成要素の数は増加または減少され得、電源電圧を決定するモジュールおよびステップは、周波数、別のシステムパラメータ、またはパラメータの組合せを決定するために変更され得る。さらに、様々な実施形態の特徴は、上記で説明した組合せとは異なる組合せで組み合され得る。
【０１１１】
[00123]当業者は、本明細書で開示する実施形態に関して説明した様々な例示的なブロックおよびモジュールが様々な形態で実装され得ることを諒解されよう。いくつかのブロックおよびモジュールについて、概して上記ではそれらの機能に関して説明した。そのような機能がどのように実装されるかは、全体的なシステムに課された設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈されるべきではない。さらに、モジュール、ブロック、またはステップ内の機能のグループ化は、説明を簡単にするためのものである。特定の機能またはステップは、本開示から逸脱することなく、あるモジュールまたはブロックから移動されるか、またはモジュールまたはブロックにわたって分散され得る。
【０１１２】
[00124]開示する実施形態についての上記の説明は、あらゆる当業者が本開示の主題を製作または使用できるように提供されたものである。これらの実施形態への様々な修正は当業者には容易に明らかになり、本明細書で説明した一般的原理は、本開示の趣旨または範囲から逸脱することなく他の実施形態に適用され得る。したがって、本明細書で提示した説明および図面は、本開示の現在好ましい実装形態を表し、したがって、本開示によって広く企図される主題を表すことを理解されたい。本開示の範囲は、当業者に明らかになり得る他の実施形態を完全に包含することと、本開示の範囲は、したがって、添付の特許請求の範囲以外のものによって限定されないこととをさらに理解されたい。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを符号化する方法であって、
ビットストリーム中の複数のピクチャを受信することと、前記複数のピクチャは現在のピクチャと１つまたは複数の参照ピクチャとを含み、
前記１つまたは複数の参照ピクチャに少なくとも部分的に基づいて、前記現在のピクチャのための参照ピクチャセット（ＲＰＳ）を決定することと、
前記ＲＰＳ中の前記１つまたは複数の参照ピクチャの各参照ピクチャのピクチャ順序カウント（ＰＯＣ）値を決定することと、
前記ＲＰＳ内で、長期参照ピクチャの数と短期参照ピクチャの数とのうちの少なくとも１つを識別することと、
前記ＲＰＳ中の長期ピクチャの数と短期ピクチャの前記数とを制約することと、前記制約は、ビデオパラメータセット（ＶＰＳ）拡張が使用中である場合、前記ＰＯＣ値および最大復号ピクチャバッファサイズ−１に基づき、
前記制約に基づいて前記ＲＰＳを識別する少なくとも１つのシンタックス要素を生成することと、
前記ＲＰＳと前記少なくとも１つのシンタックス要素とに基づいて前記現在のピクチャを符号化することと、
を備える方法。
［Ｃ２］
前記複数のピクチャがビデオデータのベースレイヤを備える場合、
ネガティブピクチャの数と、ポジティブピクチャの数と、アクティブシーケンスパラメータセット（ＳＰＳ）において指定された候補長期参照ピクチャに基づいて導出される長期ピクチャの数と、前記現在のピクチャのスライスヘッダ中で直接シグナリングされる長期ピクチャの数との和を、前記アクティブＳＰＳにおいて識別される最大復号ピクチャバッファサイズ−１よりも小さいかまたはそれに等しい値に制約すること、
をさらに備える、Ｃ１に記載の方法。
［Ｃ３］
前記ＶＰＳ拡張が使用中である場合、
ネガティブピクチャの数と、ポジティブピクチャの数と、アクティブシーケンスパラメータセット（ＳＰＳ）において指定された候補長期参照ピクチャに基づいて導出される長期ピクチャの数と、前記現在のピクチャのスライスヘッダ中で直接シグナリングされる長期参照ピクチャの数との和を、最大復号ピクチャバッファサイズ−１よりも小さいかまたはそれに等しい値に制約すること、
をさらに備える、Ｃ１に記載の方法。
［Ｃ４］
前記ビットストリーム中に少なくとも１つの非ベースレイヤがある場合、前記ＶＰＳ拡張は使用中である、Ｃ３に記載の方法。
［Ｃ５］
前記ＶＰＳ拡張が使用中である場合、ネガティブピクチャの数を、両端値を含む、０と前記最大復号ピクチャバッファサイズ−１との間の値に制約することをさらに備え、前記数のネガティブピクチャの各ネガティブピクチャは、前記現在のピクチャのＰＯＣ値よりも小さいＰＯＣ値を有する、
Ｃ１に記載の方法。
［Ｃ６］
前記ＶＰＳ拡張が使用中である場合、ポジティブピクチャの数を、両端値を含む、０と前記最大復号ピクチャバッファサイズ−１との間の値−ネガティブピクチャの数に制約することをさらに備え、ポジティブピクチャの前記数は、前記現在のピクチャの前記ＰＯＣ値よりも大きいＰＯＣ値を有し、ネガティブピクチャの前記数は、前記現在のピクチャのＰＯＣ値よりも小さいＰＯＣ値を有する、
Ｃ１に記載の方法。
［Ｃ７］
ビデオデータを符号化するためのデバイスであって、
ビットストリームから取得された複数のピクチャを記憶するように構成されたメモリと、前記複数のピクチャが現在のピクチャと１つまたは複数の参照ピクチャとを含み、
前記メモリに動作可能に結合された少なくとも１つのプロセッサと、を備え、
前記少なくとも１つのプロセッサは、
前記１つまたは複数の参照ピクチャに少なくとも部分的に基づいて、前記現在のピクチャのための参照ピクチャセット（ＲＰＳ）を決定することと、
前記ＲＰＳ中の前記１つまたは複数の参照ピクチャの各参照ピクチャのピクチャ順序カウント（ＰＯＣ）値を決定することと、
前記ＲＰＳ内で、長期参照ピクチャの数と短期参照ピクチャの数とのうちの少なくとも１つを識別することと、
前記ＲＰＳ中の長期ピクチャの前記数と短期ピクチャの前記数とに制約を適用することと、前記制約は、ビデオシーケンスパラメータ（ＶＰＳ）拡張が使用中である場合、前記ＰＯＣ値および最大復号ピクチャバッファサイズ−１に基づき、
前記制約に基づいて前記ＲＰＳを識別する少なくとも１つのシンタックス要素を生成することと、
前記ＲＰＳと前記少なくとも１つのシンタックス要素とに基づいて前記現在のピクチャを符号化することと、
を行うように構成された、デバイス。
［Ｃ８］
前記プロセッサは、
前記複数のピクチャがビデオデータのベースレイヤを備える場合、ネガティブピクチャの数と、ポジティブピクチャの数と、アクティブシーケンスパラメータセット（ＳＰＳ）において指定された候補長期参照ピクチャに基づいて導出される長期ピクチャの数と、前記現在のピクチャのスライスヘッダ中で直接シグナリングされる長期ピクチャの数との和を、前記アクティブＳＰＳにおいて識別される最大復号ピクチャバッファサイズ−１よりも小さいかまたはそれに等しい値に制約する
ようにさらに構成された、Ｃ７に記載のデバイス。
［Ｃ９］
前記プロセッサは、
前記ＶＰＳ拡張が使用中である場合、ネガティブピクチャの数と、ポジティブピクチャの数と、アクティブシーケンスパラメータセット（ＳＰＳ）において指定された候補長期参照ピクチャに基づいて導出される長期ピクチャの数と、前記現在のピクチャのスライスヘッダ中で直接シグナリングされる長期参照ピクチャの数との和を、前記最大復号ピクチャバッファサイズ−１よりも小さいかまたはそれに等しい値に制約する
ようにさらに構成された、Ｃ７に記載のデバイス。
［Ｃ１０］
前記ビットストリーム中に少なくとも１つの非ベースレイヤがある場合、前記ＶＰＳ拡張が使用中である、Ｃ９に記載のデバイス。
［Ｃ１１］
前記ＶＰＳ拡張が使用中である場合、ネガティブピクチャの数を、両端値を含む、０と前記最大復号ピクチャバッファサイズ−１との間の値に制約することをさらに備え、前記数のネガティブピクチャの各ネガティブピクチャは、前記現在のピクチャのＰＯＣ値よりも小さいＰＯＣ値を有する、
Ｃ７に記載のデバイス。
［Ｃ１２］
前記ＶＰＳ拡張が使用中である場合、ポジティブピクチャの数を、両端値を含む、０と前記最大復号ピクチャバッファサイズ−１との間の値−ネガティブピクチャの数に制約することをさらに備え、ポジティブピクチャの前記数は、前記現在のピクチャの前記ＰＯＣ値よりも大きいＰＯＣ値を有し、ネガティブピクチャの前記数は、前記現在のピクチャのＰＯＣ値よりも小さいＰＯＣ値を有する、
Ｃ７に記載のデバイス。
［Ｃ１３］
ビデオデータを復号するための方法であって、
ビットストリームから、現在のピクチャのピクチャ順序カウント（ＰＯＣ）と１つまたは複数の参照ピクチャのためのＰＯＣ値とを取得することと、
前記現在のピクチャの前記ＰＯＣ値と前記１つまたは複数の参照ピクチャの前記ＰＯＣ値とに基づいて、前記１つまたは複数の参照ピクチャを有する参照ピクチャセット（ＲＰＳ）を決定することと、
前記ＲＰＳ中の前記１つまたは複数の参照ピクチャを、いくつかの数の長期ピクチャといくつかの数の短期ピクチャとのうちの少なくとも１つとして識別することと、長期ピクチャの数と短期ピクチャの数とは制約に基づき、前記制約は、ビデオパラメータセット（ＶＰＳ）拡張が使用中である場合、前記ＰＯＣ値と最大復号ピクチャバッファサイズ−１とに基づき、
前記ＲＰＳに基づいて前記現在のピクチャを復号することと、
を備える方法。
［Ｃ１４］
前記現在のピクチャがベースレイヤ中にある場合、ネガティブピクチャの数と、ポジティブピクチャの数と、アクティブシーケンスパラメータセット（ＳＰＳ）において指定された候補長期参照ピクチャに基づいて導出される長期ピクチャの数と、前記現在のピクチャのスライスヘッダ中で直接シグナリングされる長期ピクチャの数との和は、前記アクティブＳＰＳにおいて識別される最大復号ピクチャバッファサイズ−１よりも小さいかまたはそれに等しい値に制約される、
Ｃ１３に記載の方法。
［Ｃ１５］
前記ＶＰＳ拡張が使用中である場合、ネガティブピクチャの数と、ポジティブピクチャの数と、アクティブシーケンスパラメータセット（ＳＰＳ）において指定された候補長期参照ピクチャに基づいて導出される長期ピクチャの数と、前記現在のピクチャのスライスヘッダ中で直接シグナリングされる長期参照ピクチャの数との和は、最大復号ピクチャバッファサイズ−１よりも小さいかまたはそれに等しい値に制約される、
Ｃ１３に記載の方法。
［Ｃ１６］
前記ビットストリーム中に少なくとも１つの非ベースレイヤがある場合、前記ＶＰＳ拡張が使用中である、Ｃ１３に記載の方法。
［Ｃ１７］
前記ＶＰＳ拡張が使用中である場合、ネガティブピクチャの数は、両端値を含む、０と前記最大復号ピクチャバッファサイズ−１との間の値に制約され、前記数のネガティブピクチャの各ネガティブピクチャは、前記現在のピクチャのＰＯＣ値よりも小さいＰＯＣ値を有する、
Ｃ１３に記載の方法。
［Ｃ１８］
前記ＶＰＳ拡張が使用中である場合、ポジティブピクチャの数は、両端値を含む、０と前記最大復号ピクチャバッファサイズ−１との間の値−ネガティブピクチャの数に制約され、前記数のポジティブピクチャは、前記現在のピクチャの前記ＰＯＣ値よりも大きいＰＯＣ値を有し、前記数のネガティブピクチャは、前記現在のピクチャのＰＯＣ値よりも小さいＰＯＣ値を有する、
Ｃ１３に記載の方法。
［Ｃ１９］
ビデオデータを復号するためのデバイスであって、
現在のピクチャと、現在のピクチャのピクチャ順序カウント（ＰＯＣ）と、１つまたは複数の参照ピクチャのためのＰＯＣ値とを記憶する構成されたメモリと、前記ＰＯＣ値と前記現在のピクチャとはビットストリームから取得され、
前記メモリに動作可能に結合されたプロセッサと、
を備え、前記プロセッサは、
前記現在のピクチャの前記ＰＯＣ値と前記１つまたは複数の参照ピクチャの前記ＰＯＣ値とに基づいて、前記１つまたは複数の参照ピクチャを有する参照ピクチャセット（ＲＰＳ）を決定することと、
前記ＲＰＳ中の前記１つまたは複数の参照ピクチャを、いくつかの数の長期ピクチャといくつかの数の短期ピクチャとのうちの少なくとも１つとして識別することと、前記長期ピクチャの数と前記短期ピクチャの数とは制約に基づき、前記制約は、ビデオパラメータセット（ＶＰＳ）拡張が使用中である場合、前記ＰＯＣ値と最大復号ピクチャバッファサイズ−１とに基づき、
前記ＲＰＳに基づいて前記現在のピクチャを復号することと、
を行うように構成された、デバイス。
［Ｃ２０］
前記現在のピクチャがベースレイヤ中にある場合、ネガティブピクチャの数と、ポジティブピクチャの数と、アクティブシーケンスパラメータセット（ＳＰＳ）において指定された候補長期参照ピクチャに基づいて導出される長期ピクチャの数と、前記現在のピクチャのスライスヘッダ中で直接シグナリングされる長期ピクチャの数との和は、前記アクティブＳＰＳにおいて識別される最大復号ピクチャバッファサイズ−１よりも小さいかまたはそれに等しい値に制約される、
Ｃ１９に記載のデバイス。
［Ｃ２１］
前記ＶＰＳ拡張が使用中である場合、ネガティブピクチャの数と、ポジティブピクチャの数と、アクティブシーケンスパラメータセット（ＳＰＳ）において指定された候補長期参照ピクチャに基づいて導出される長期ピクチャの数と、前記現在のピクチャのスライスヘッダ中で直接シグナリングされる長期参照ピクチャの数との和は、最大復号ピクチャバッファサイズ−１よりも小さいかまたはそれに等しい値に制約される、
Ｃ１９に記載のデバイス。
［Ｃ２２］
前記ビットストリーム中に少なくとも１つの非ベースレイヤがある場合、前記ＶＰＳ拡張は使用中である、Ｃ１９に記載の方法。
［Ｃ２３］
前記ＶＰＳ拡張が使用中である場合、ネガティブピクチャの数は、両端値を含む、０と前記最大復号ピクチャバッファサイズ−１との間の値に制約され、前記数のネガティブピクチャの各ネガティブピクチャは、前記現在のピクチャのＰＯＣ値よりも小さいＰＯＣ値を有する、Ｃ１９に記載の方法。
［Ｃ２４］
前記ＶＰＳ拡張が使用中である場合、ポジティブピクチャの数は、両端値を含む、０と前記最大復号ピクチャバッファサイズ−１との間の値−ネガティブピクチャの数に制約され、前記数のポジティブピクチャは、前記現在のピクチャの前記ＰＯＣ値よりも大きいＰＯＣ値を有し、前記数のネガティブピクチャは、前記現在のピクチャのＰＯＣ値よりも小さいＰＯＣ値を有する、
Ｃ１９に記載の方法。
【図１】
0006453365.tif 000003
【図２】
0006453365.tif 000004
【図３】
0006453365.tif 000005
【図４】
0006453365.tif 000006
【図５】
0006453365.tif 000007
【図６】
0006453365.tif 000008