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