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