マルチレイヤビデオコーディングのためのレイヤ間予測シグナリングに対する最適化

 

ビデオデータをコーディングする方法は、ビデオ情報の1つまたは複数のレイヤを受け取ることを含む。各レイヤは、少なくとも1つのピクチャを含むことができる。この方法は、1つまたは複数のレイヤの少なくとも1つのピクチャに関連付けられたアクティブ参照レイヤピクチャの個数を決定することを含むことができる。この方法は、1つまたは複数のレイヤのうちの少なくとも1つに関連付けられた直接参照レイヤの個数を決定することをさらに含むことができる。直接参照レイヤの個数がアクティブ参照レイヤピクチャの個数と等しいことに基づいて、この方法は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライス内でレイヤ間参照ピクチャ情報をさらにシグナリングすることを控えることをさらに含むことができる。それに加えてまたはその代わりに、直接参照レイヤの個数がアクティブ参照レイヤピクチャの個数と等しいことに基づいて、この方法は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャをレイヤ間参照ピクチャセットに追加することを含むことができる。

 

 

[0001]本開示は、全般的にはビデオコーディングと圧縮とに関し、具体的には、スケーラブルビデオコーディング(scalable video coding、SVC)と、マルチビュービデオコーディングと、3Dビデオコーディングとに関する。
[0002]デジタルビデオ能力は、デジタルテレビジョン、デジタル直接ブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータもしくはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレイヤ、ビデオゲーミングデバイス、ビデオゲーム機、セルラー電話機もしくは衛星無線電話機、いわゆる「スマートフォン」、ビデオ会議デバイス、ビデオストリーミングデバイス、および類似物を含む広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4,Part 10,Advanced Video Coding(AVC)、現在開発中の高効率ビデオコーディング(High Efficiency Video Coding、HEVC)標準規格、およびそのような標準規格の拡張に記載されたものなどのビデオコーディング技法を実施する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報を送信、受信、符号化、復号、および/または記憶することができる。
[0003]ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間(イントラピクチャ)予測および/または時間(インターピクチャ)予測を含む。ブロックベースのビデオコーディングでは、ビデオスライス(たとえば、ビデオフレームまたはビデオフレームの一部分)は、ツリーブロック、コーディングユニット(CU)、および/またはコーディングノードと呼ばれることもある、ビデオブロックに区分され得る。ピクチャのイントラコーディングされた(I)スライス内のビデオブロックは、同一ピクチャ内の隣接ブロック内の参照サンプルに関する空間予測を使用して符号化される。ピクチャのインターコーディングされた(PまたはB)スライス内のビデオブロックは、同一ピクチャ内の隣接ブロック内の参照サンプルに関する空間予測または他の参照ピクチャ内の参照サンプルに関する時間予測を使用することができる。ピクチャは、フレームと呼ばれる場合があり、参照ピクチャは、参照フレームと呼ばれる場合がある。
[0004]空間予測または時間予測は、コーディングされるブロックに関する予測ブロックをもたらす。残差データは、コーディングされるオリジナルブロックと予測ブロックとの間のピクセル差を表す。インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックをポイントする動きベクトルと、コーディングされたブロックと予測ブロックとの間の差を示す残差データとに従って符号化される。イントラコーディングされたブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、量子化され得る。量子化された変換係数は、当初は2次元配列内に配置され、変換係数の1次元ベクトルを作るためにスキャンされ得、さらなる圧縮を達成するために、エントロピーコーディングが適用され得る。
[0005]いくつかの実施形態によれば、ビデオ情報を符号化するように構成された装置は、プロセッサとメモリとを含む。メモリは、ビデオ情報の1つまたは複数のレイヤ(たとえば、ビュー)を記憶するように構成され得、各レイヤは、少なくとも1つのピクチャを備える。プロセッサは、メモリと通信している。プロセッサは、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つ内のインジケータを処理するように構成され得る。インジケータに基づいて(たとえば、すべての関連付けられた直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されることをインジケータが示す場合に)、プロセッサは、1つのビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライス内でレイヤ間参照ピクチャ情報をさらにシグナリングすることを控えるように構成され得る。
[0006]いくつかの実施形態では、インジケータは、フラグを備える。いくつかの実施形態では、プロセッサは、少なくともインジケータを生成することによってインジケータを処理するように構成され得る。
[0007]いくつかの実施形態では、プロセッサは、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、またはその任意の組合せのうちの1つ内でインジケータをシグナリングすることによってインジケータを処理するように構成される。
[0008]いくつかの実施形態では、プロセッサは、任意のビデオスライスのスライスヘッダ内にレイヤ間参照ピクチャ情報シグナリングに関するさらなるシンタックス要素を含めることを控えることによって、レイヤ間参照ピクチャ情報をさらにシグナリングすることを控えるように構成される。直接参照レイヤピクチャは、各時間サブレイヤ内のレイヤごとにビデオパラメータセット内で指定されるレイヤ内のピクチャを備えることができる。
[0009]いくつかの実施形態では、この装置は、ビデオエンコーダをさらに備える。この装置は、メモリとプロセッサとを備える、デジタルテレビジョン、デジタル直接ブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータもしくはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレイヤ、ビデオゲーミングデバイス、ビデオゲーム機、セルラー電話機もしくは衛星無線電話機、およびビデオ会議デバイスのうちの少なくとも1つをさらに備えることができる。
[0010]別の実施形態では、ビデオ情報を復号するように構成された装置は、プロセッサとメモリとを含む。メモリは、ビデオ情報の1つまたは複数のレイヤ(たとえば、ビュー)を記憶するように構成され得、各レイヤは、少なくとも1つのピクチャを備える。プロセッサは、メモリと通信している。プロセッサは、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つ内のインジケータを処理するように構成され得る。インジケータに基づいて(たとえば、すべての関連付けられた直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されることをインジケータが示す場合に)、プロセッサは、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャをレイヤ間参照ピクチャセットに追加するように構成され得る。
[0011]いくつかの実施形態では、インジケータは、フラグを備える。いくつかの実施形態では、プロセッサは、少なくともインジケータを受け取ることによってインジケータを処理するように構成され得る。
[0012]いくつかの実施形態では、プロセッサは、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、またはその任意の組合せのうちの1つ内でインジケータを受け取ることによってインジケータを処理するように構成される。
[0013]いくつかの実施形態では、プロセッサは、任意のビデオスライスのスライスヘッダ内でレイヤ間シグナリングに関する任意のさらなるシンタックス要素を受け取らずに、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャをレイヤ間参照ピクチャセットに追加するように構成される。直接参照レイヤピクチャは、各時間サブレイヤ内のレイヤごとにビデオパラメータセット内で指定されるレイヤ内のピクチャを備えることができる。
[0014]いくつかの実施形態では、この装置は、ビデオデコーダをさらに備える。この装置は、メモリとプロセッサとを備える、デジタルテレビジョン、デジタルエー直接ブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータもしくはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレイヤ、ビデオゲーミングデバイス、ビデオゲーム機、セルラー電話機もしくは衛星無線電話機、およびビデオ会議デバイスのうちの少なくとも1つをさらに備えることができる。
[0015]別の実施形態では、ビデオ情報を符号化する方法は、ビデオ情報の1つまたは複数のレイヤを受け取ることと、各レイヤが少なくとも1つのピクチャを備える、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つ内のインジケータを処理することと、インジケータに基づいて(たとえば、すべての関連付けられた直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されることをインジケータが示す場合に)、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライス内でレイヤ間参照ピクチャ情報をさらにシグナリングすることを控えることとを含む。
[0016]別の実施形態では、ビデオ情報を復号する方法は、ビデオ情報の1つまたは複数のレイヤを受け取ることと、各レイヤが少なくとも1つのピクチャを備える、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つ内のインジケータを処理することと、インジケータに基づいて(たとえば、すべての関連付けられた直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されることをインジケータが示す場合に)、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャをレイヤ間参照ピクチャセットに追加することとを含む。
[0017]別の実施形態では、ビデオ復号装置は、ビデオ情報の1つまたは複数のレイヤを記憶するための手段と、各レイヤが少なくとも1つのピクチャを備える、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つ内のインジケータを処理するための手段と、インジケータに基づいて(たとえば、すべての関連付けられた直接参照レイヤピクチャが、レイヤ間参照ピクチャセットに追加されることをインジケータが示す場合に)、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャをレイヤ間参照ピクチャセットに追加するための手段とを含むことができる。
[0018]別の実施形態では、実行された時に、装置に、ビデオ情報の1つまたは複数のレイヤを記憶させ、各レイヤが少なくとも1つのピクチャを備える、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つ内のインジケータを処理させ、インジケータに基づいて(すべての関連付けられた直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されることをインジケータが示す場合に)、少なくとも1つのビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)に関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャをレイヤ間参照ピクチャセットに追加させるコードをその上に記憶された非一時的コンピュータ可読媒体。
[0019]本開示で説明される態様による技法を利用することができる、例のビデオ符号化および復号システムを示すブロック図。 [0020]本開示で説明される態様による技法を実施することができる、ビデオエンコーダの例を示すブロック図。 [0021]本開示で説明される態様による技法を実施することができる、ビデオデコーダの例を示すブロック図。 [0022]本開示の態様による3つの異なる次元でのスケーラビリティを示すブロック図。 [0023]本開示の態様によるスケーラブルビデオコーディング(SVC)のビットストリームの例の構造を示すブロック図。 [0024]本開示の態様によるビットストリーム内の例のSVCアクセスユニットを示すブロック図。 [0025]一実施形態に従ってビデオデータを符号化する例の方法を示す図。 [0026]一実施形態に従ってビデオデータを復号する方法を示す図。 [0027]一実施形態に従ってビデオデータを符号化する例の方法を示す図。 [0028]一実施形態に従ってビデオデータを復号する方法を示す図。
[0029]本開示で説明される技法は、一般に、スケーラブルビデオコーディング(SVC)および/またはマルチビュー/3Dビデオコーディングに関する。たとえば、技法は、高効率ビデオコーディング(HEVC)スケーラブルビデオコーディング(SVC)拡張に関するものとされ得、それを伴って、またはそれの中で使用されてもよい。SVCでは、ビデオ情報の複数のレイヤが存在し得る。ビデオ情報の最下部のレベルすなわち最も低いレベルのレイヤは、ベースレイヤ(BL)または参照レイヤ(RL)として働くことができ、ビデオ情報の最上部のレベルすなわち最も高いレベルのレイヤは、エンハンストレイヤ(EL)として働くことができる。「エンハンストレイヤ」は、「エンハンスメントレイヤ」と同義であると考えられ得、これらの用語は、交換可能に使用される場合がある。BLとELとの間のレイヤは、ELおよび/またはRLとして働くことができる。たとえば、所与のレイヤは、ベースレイヤまたは間に入る任意のエンハンスメントレイヤなどの、所与のレイヤよりも下の(たとえば、先行する)レイヤのためのELであり得る。さらに、所与のレイヤは、所与のレイヤよりも上の(たとえば、後続の)エンハンスメントレイヤのための参照レイヤとして働くこともできる。ベースレイヤ(たとえば、レイヤ識別(ID)が「1」に設定されているか、または「1」と等しい、たとえば、最下レイヤ)とトップレイヤ(すなわち、最上レイヤ)との間にある任意の所与のレイヤは、所与のレイヤに関してより上位のレイヤによるレイヤ間予測のための参照として使用され得、レイヤ間予測のための参照として所与のレイヤよりも下位のレイヤを使用して、決定され得る。
[0030]例示のみのために、本開示で説明される技法が、2つのレイヤ(たとえば、参照レイヤなどの下位レベルレイヤと、エンハンストレイヤなどの上位レベルレイヤ)だけを含む例を用いて説明される場合がある。本開示で説明される例が、複数のベースレイヤまたは参照レイヤとエンハンスメントレイヤとを有する例にも拡張され得ることを理解されたい。加えて、説明を簡単にするために、以下の開示は「フレーム」または「ブロック」という用語を主に使用する。しかしながら、これらの用語は、限定的であることを意図されたものではない。たとえば、下で説明される技法は、ブロック(たとえば、CU、PU、TU、マクロブロックなど)、スライス、ピクチャ、その他などの異なるビデオユニットと共に使用され得る。
[0031]HEVC拡張のレイヤ間予測(ILP)は、一般に、スライスヘッダ内でのレイヤ間参照ピクチャ情報のシグナリングに関する問題と短所とを有する。たとえば、スライスヘッダ内でのレイヤ間参照ピクチャ情報のシグナリングは、直接参照レイヤの個数が0より多い限り、非ベースレイヤピクチャに関して必要である。参照レイヤは、レイヤ間予測に参照レイヤを利用して、所与のエンハンスメントレイヤに基づいて所与のエンハンスメントレイヤへの直接参照レイヤを構成する。しかしながら、多くの通常のシナリオに関して、スライスごとにレイヤ間参照ピクチャ情報を変更する必要がない場合があり(たとえば、レイヤ間参照ピクチャ情報が、あるスライスヘッダから次のスライスヘッダへ同一のままになる場合がある)、および/またはスライスヘッダ内でレイヤ間参照ピクチャ情報をシグナリングする必要が全くない場合がある。これらの状況では、スライスヘッダ内でレイヤ間予測に使用されるシグナリングビットが、不要になり、これらのシグナリングビットを含めることが、コーディング効率を下げる。これらの状況は、通常のマルチビュービデオコーディングシナリオにおいて、ビデオパラメータセット(VPS)内で指定されるレイヤ間参照ピクチャセット(RPS)内の直接参照レイヤピクチャのすべてが、レイヤ間予測に使用される可能性があり、直接参照レイヤピクチャのすべてが、現在のピクチャの少なくとも1つの参照ピクチャリストに挿入される可能性がある状況を含む。それに加えてまたはその代わりに、直接参照レイヤの個数が、ビデオ情報に関連付けられたアクティブ参照レイヤピクチャの個数と等しい時には、レイヤ間予測をシグナリングする必要がない。
[0032]いくつかの実施形態では、2つ以上のレイヤをサポートしながらも、低いコーディング(たとえば、復号、符号化)複雑さを提供するシステムと方法とが提供される。本明細書で説明される技法は、HEVCのマルチビュー拡張または3DV拡張、ならびに任意の他のコーディングフレームワーク、たとえばH.264/AVCに基づく同様のスケーラブル、マルチビュー、および/または3DVのコーディングシナリオにも適用される(レイヤがビューまたはビューのテクスチャもしくは深度部分としても考えられ得るので)。
[0033]2つ以上のレイヤを有するビデオ情報に関するコーディング複雑さを減らすために、少なくとも1つのビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)に関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示すインジケータが、提供され得る。たとえば、そのインジケータが、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されることを示すことに基づいて、ビデオエンコーダは、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライス内でレイヤ間参照ピクチャ情報をシグナリングすることを控えることができる。いくつかの実施形態では、ビデオエンコーダは、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、またはその任意の組合せのうちの1つ内でインジケータをシグナリングすることによって、インジケータを処理することができる。いくつかの実施形態では、ビデオエンコーダは、任意のビデオスライスのスライスヘッダ内にレイヤ間シグナリングに関する任意のさらなるシンタックス要素を含めることを控えることによって、レイヤ間参照ピクチャ情報のさらなるシグナリングを控えることができる。
[0034]いくつかの実施形態では、インジケータが、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されることを示すことに基づいて、ビデオデコーダは、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャをレイヤ間参照ピクチャセットに追加することができる。加えて、ビデオデコーダは、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、またはその任意の組合せのうちの1つ内からインジケータを受け取ることによって、インジケータを処理することができる。いくつかの実施形態では、ビデオデコーダは、任意のビデオスライスのスライスヘッダ内でレイヤ間シグナリングに関する任意のさらなるシンタックス要素を受け取らずに、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャをレイヤ間参照ピクチャセットに追加することができる。
ビデオコーディング標準規格
[0035]本明細書で説明されるある種の実施形態は、HEVC(高効率ビデオコーディング)などの高度なビデオコーデックの文脈でのスケーラブルビデオコーディングのためのレイヤ間予測に関する。より具体的には、本開示は、スケーラブルビデオコーディング(SVC)、マルチビュービデオコーディング、および/またはHEVCの3Dビデオコーディング拡張でのレイヤ間予測の改善された性能のためのシステムと方法とに関する。下の説明では、ある種の実施形態に関するH.264/AVC技法が説明され、HEVC標準規格および関連する技法も議論される。ある種の実施形態が、本明細書でHEVC標準規格および/またはH.264標準規格の文脈で説明されるが、当業者は、本明細書で開示されるシステムおよび方法が、任意の適切なビデオコーディング標準規格に適用可能とされ得ることを了解することができる。たとえば、本明細書で開示される実施形態は、以下の標準規格、すなわち、ITU−T H.261、ISO/IEC MPEG−1ビジュアルと、ITU−T H.262もしくはISO/IEC MPEG−2ビジュアルと、ITU−T H.263、ISO/IEC MPEG−4ビジュアルと、そのスケーラブルビデオコーディング(SVC)拡張およびマルチビュービデオコーディング(MVC)拡張を含むITU−T H.264(ISO/IEC MPEG−4 AVCとも呼ばれる)とのうちの1つまたは複数に適用可能とされ得る。
[0036]スケーラブルビデオコーディング(SVC)は、品質(信号対雑音比(SNR)とも呼ばれる)スケーラビリティ、空間スケーラビリティ、および/または時間スケーラビリティを提供するために使用され得る。たとえば、一実施形態では、参照レイヤ(たとえば、ベースレイヤ)は、第1の品質レベルでビデオを表示するのに十分なビデオ情報を含み、エンハンスメントレイヤは、参照レイヤとエンハンスメントレイヤとが、一緒に、第1のレベルより高い第2の品質レベル(たとえば、より少ないノイズ、より高い解像度、より良いフレームレートなど)でビデオを表示するのに十分なビデオ情報を含むように、参照レイヤに対して追加のビデオ情報を含む。エンハンストレイヤは、ベースレイヤとは異なる空間分解能を有することができる。たとえば、ELとBLとの間の空間アスペクト比は、1.0、1.5、2.0、または他の異なる比とされ得る。言い換えると、ELの空間アスペクトは、BLの空間アスペクトの1.0倍、1.5倍、または2.0倍と等しくされ得る。いくつかの例では、ELのスケーリング係数は、BLより大きくされ得る。たとえば、EL内のピクチャのサイズは、BL内のピクチャのサイズより大きくされ得る。この形で、ELの空間分解能がBLの空間分解能より高いことを可能にすることができるが、これは、限定ではない。
[0037]H.264のSVC拡張では、現在のブロックの予測は、SVCに関して提供される異なるレイヤを使用して実行され得る。そのような予測は、レイヤ間予測と呼ばれる場合がある。レイヤ間予測方法は、レイヤ間冗長性を減らすためにSVCにおいて利用され得る。レイヤ間予測のいくつかの例は、レイヤ間イントラ予測と、レイヤ間動き予測と、レイヤ間モード予測と、レイヤ間残差予測とを含むことができる。レイヤ間イントラ予測は、エンハンスメントレイヤ内の現在のブロックを予測するのにベースレイヤ内の配列されたブロックの再構成を使用する。レイヤ間動き予測は、エンハンスメントレイヤ内の動きを予測するのにベースレイヤの動きを使用する。レイヤ間モード予測は、ベースレイヤ内のモードに基づいて、エンハンスメントレイヤ内のモードを予測する。レイヤ間残差予測は、エンハンスメントレイヤの残差を予測するのにベースレイヤの残差を使用する。
[0038]新規のシステムと、装置と、方法との様々な態様が、添付図面を参照して以下でより十分に説明される。しかしながら、本開示は、多数の異なる形で実施され得、本開示全体を通じて提示される特定の構造または機能に限定されると解釈されてはならない。そうではなく、これらの態様は、本開示が完全になり、当業者に本開示の範囲を十分に伝えるようにするために提供されるものである。本明細書の教示に基づいて、当業者は、本開示の範囲が、本発明の任意の他の態様と独立に実施されようとそれらと組み合わされようと、本明細書で開示される新規のシステムと、装置と、方法とのすべての態様を包含することが意図されていることを了解するに違いない。たとえば、本明細書で示される態様のうちの任意の個数を使用して、装置を実施することができ、あるいは、方法を実践することができる。加えて、本発明の範囲は、本明細書で示される本発明の様々な態様に加えて、またはそれら以外の他の構造、機能性、または構造と機能性とを使用して実践される装置または方法を包含することが意図されている。本明細書で開示されるすべての態様が、ある請求項の1つまたは複数の要素によって実施され得ることを理解されたい。
[0039]特定の態様が本明細書で説明されるが、これらの態様の多数の変形と置換とが、本開示の範囲に含まれる。好ましい態様のいくつかの利益と利点とが言及されるが、本開示の範囲は、特定の利益、使用、または目的に限定されることを意図されてはいない。そうではなく、本開示の諸態様は、その一部が例として図面と好ましい態様の以下の説明とに示される、異なるワイヤレス技術と、システム構成と、ネットワークと、伝送プロトコルとに幅広く適用可能であることが意図されている。詳細な説明と図面とは、単に、限定的であるのではなく本開示の実例となるものであり、本開示の範囲は、添付の特許請求の範囲とその同等物とによって定義される。
[0040]図1は、本開示で説明される態様による技法を利用することができる、例のビデオ符号化および復号システムを示すブロック図である。図1に示されているように、システム10は、宛先デバイス14によって後刻に復号される符号化されたビデオデータを提供するソースデバイス12を含む。具体的には、ソースデバイス12は、コンピュータ可読媒体16を介して宛先デバイス14にビデオデータを供給する。ソースデバイス12と宛先デバイス14とは、デスクトップコンピュータ、ノートブック(たとえば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話送受話器、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレイヤ、ビデオゲーム機、ビデオストリーミングデバイス、または類似物を含む、広範囲のデバイスのいずれをも備えることができる。加えて、いくつかの実施形態では、システム10は、単一のデバイス内に実装され得る。たとえば、電話送受話器を含む、任意のそのような単一のデバイスが、ソースデバイス12と宛先デバイス14の両方、ならびにコンピュータ可読媒体16を備えることができる。いくつかの場合に、ソースデバイス12と宛先デバイス14とは、ワイヤレス通信のための備えを有することができる。
[0041]宛先デバイス14は、コンピュータ可読媒体16を介して、復号されるべき符号化されたビデオデータを受け取ることができる。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化されたビデオデータを移動することができる、すべてのタイプの媒体またはデバイスを備えることができる。一例では、コンピュータ可読媒体16は、ソースデバイス12が宛先デバイス14に直接にリアルタイムで符号化されたビデオデータを送信することを可能にする通信媒体を備えることができる。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信標準規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、ラジオ周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線など、任意のワイヤレス通信媒体または有線通信媒体を備えることができる。通信媒体は、ローカルエリアネットワーク、広域ネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成することができる。通信媒体は、ソースデバイス12から宛先デバイス14への通信を容易にするのに有用とすることのできる、ルータ、スイッチ、基地局、または任意の他の機器を含むことができる。
[0042]いくつかの例では、符号化されたデータは、出力インターフェース22からストレージデバイスに出力され得る。同様に、符号化されたデータは、ストレージデバイスから入力インターフェースによってアクセスされ得る。ストレージデバイスは、ハードドライブ、ブルーレイ(登録商標)ディスク(disc)、DVD、CD−ROM、フラッシュメモリ、揮発性もしくは不揮発性のメモリ、または符号化されたビデオデータを記憶するための任意の他の適切なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれをも含むことができる。さらなる例では、ストレージデバイスは、ソースデバイス12によって生成された符号化されたビデオを記憶することができるファイルサーバまたは別の中間ストレージデバイスに対応することができる。宛先デバイス14は、ストリーミングまたはダウンロードを介して、ストレージデバイスから記憶されたビデオデータにアクセスすることができる。ファイルサーバは、符号化されたビデオデータを記憶でき、符号化されたビデオデータを宛先デバイス14に送信できる、任意のタイプのサーバとすることができる。例のファイルサーバは、ウェブサーバ(たとえば、ウェブサイト用の)、FTPサーバ、ネットワークアタッチドストレージ(NAS)デバイス、またはローカルディスク(disk)ドライブを含む。宛先デバイス14は、インターネット接続を含む任意の標準データ接続を介して、符号化されたビデオデータにアクセスすることができる。これは、ファイルサーバ上に記憶された符号化されたビデオデータにアクセスするのに適する、ワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、有線接続(たとえば、DSL、ケーブルモデムなど)、またはその両方の組合せを含むことができる。ストレージデバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその組合せとすることができる。
[0043]本開示の技法は、ワイヤレス応用またはワイヤレス設定に必ずしも限定されない。本技法は、無線テレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、HTTP上の動的適応ストリーミング(dynamic adaptive streaming over HTTP、DASH)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の応用例など、様々なマルチメディア応用のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオ放送、および/またはビデオ電話などの応用例をサポートするために一方向または両方向のビデオ送信をサポートするように構成され得る。
[0044]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。いくつかの実施形態では、セルラー電話機などのワイヤレス通信デバイスは、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含むソースデバイス12を備えることができる。宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。いくつかの実施形態では、セルラー電話機などのワイヤレス通信デバイスは、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む宛先デバイス14を備えることができる。たとえば、いくつかの場合に、単一のワイヤレス通信デバイスが、ソースデバイス12と宛先デバイス14の両方を備えることができる。本開示によれば、ソースデバイス12のビデオエンコーダ20は、複数の標準規格または標準規格拡張に準拠するビデオデータを含むビットストリームをコーディングするための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または配置を含むことができる。たとえば、ソースデバイス12は、外部カメラなどの外部ビデオソース18からビデオデータを受け取ることができる。同様に、宛先デバイス14は、一体化されたディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースすることができる。
[0045]図1の示されたシステム10は、単に1つの例である。現在のブロックの動きベクトル候補の候補リストの候補を決定する技法は、任意のデジタルビデオ符号化デバイスおよび/またはデジタルビデオ復号デバイスによって実行され得る。一般に、本開示の技法は、ビデオ符号化デバイスによって実行されるが、これらの技法は、通常は「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても実行され得る。さらに、本開示の技法は、ビデオプリプロセッサによっても実行され得る。ソースデバイス12および宛先デバイス14は、単に、ソースデバイス12が宛先デバイス14への伝送のためにコーディングされたビデオデータを生成するコーディングデバイスの例である。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称の形で動作することができる。したがって、システム10は、たとえばビデオストリーミング、ビデオ再生、ビデオ放送、またはビデオ電話のために、ビデオデバイス12、14の間の一方向または両方向のビデオ伝送をサポートすることができる。
[0046]ソースデバイス12のビデオソース18は、ビデオカメラなどのビデオ取込デバイス、以前に取り込まれたビデオを含むビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するビデオフィードインターフェースを含むことができる。さらなる代替案として、ビデオソース18は、ソースビデオとしてコンピュータグラフィックスベースのデータまたは、生ビデオと、アーカイブされたビデオと、コンピュータ生成されたビデオとの組合せを生成することができる。いくつかの場合に、ビデオソース18がビデオカメラである場合に、ソースデバイス12と宛先デバイス14とは、いわゆるカメラフォンまたはビデオフォンを形成することができる。しかしながら、上で言及されたように、本開示で説明される技法は、ビデオコーディング全般に適用可能とされ得、ワイヤレス応用例および/または有線応用例に適用され得る。各場合に、取り込まれたビデオ、事前に取り込まれたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化されたビデオ情報は、その後、出力インターフェース22によってコンピュータ可読媒体16に出力され得る。
[0047]コンピュータ可読媒体16は、ワイヤレス放送もしくは有線ネットワーク伝送などの過渡的媒体、またはハードディスク(disk)、フラッシュドライブ、コンパクトディスク(disc)、デジタルビデオディスク(disc)、ブルーレイディスク(disc)、もしくは他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含むことができる。たとえば、ソースデバイス12および宛先デバイス14がワイヤレス送受話器などの単一のデバイスとして実装されるいくつかの実施形態では、コンピュータ可読媒体16は任意の記憶媒体を含むことができる。いくつかの例では、ネットワークサーバ(図示せず)は、ソースデバイス12から符号化されたビデオデータを受信し、たとえば、ネットワーク送信、直接有線通信などを介して、その符号化されたビデオデータを宛先デバイス14に供給することができる。同様に、ディスク(disc)プレス加工施設などの媒体生産施設のコンピューティングデバイスは、符号化されたビデオデータをソースデバイス12から受け取り、符号化されたビデオデータを含むディスク(disc)を生産することができる。したがって、コンピュータ可読媒体16は、様々な例で、様々な形態の1つまたは複数のコンピュータ可読媒体を含むと理解され得る。
[0048]宛先デバイス14の入力インターフェース28は、情報をコンピュータ可読媒体16から受け取る。コンピュータ可読媒体16の情報は、ビデオエンコーダ20によって定義され、ビデオデコーダ30によって使用もされ、ブロックと他のコーディングされたユニット、たとえばGOPの特性および/または処理を記述するシンタックス要素とを含む、シンタックス情報を含むことができる。ディスプレイデバイス32は、復号されたビデオデータをユーザに表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの様々なディスプレイデバイスのうちのいずれをも備えることができる。
[0049]ビデオエンコーダ20とビデオデコーダ30とは、高効率ビデオコーディング(HEVC)標準規格などのビデオコーディング標準規格に従って動作することができ、HEVCテストモデル(HM)に準拠することができる。代替案では、ビデオエンコーダ20とビデオデコーダ30とは、他のプロプライエタリ標準規格または、MPEG−4,Part 10,Advanced Video Coding(AVC)とも称するITU−T H.264標準規格などの産業標準規格、あるいはそのような標準規格の拡張に従って動作することができる。しかしながら、本開示の技法は、上でリストした標準規格のすべてを含むがこれに限定されない、いかなる特定のコーディング標準規格にも限定されない。ビデオコーディング標準規格の他の例は、MPEG−2およびITU−T H.263を含む。いくつかの態様では、ビデオエンコーダ20とビデオデコーダ30とは、各々、オーディオエンコーダとオーディオデコーダと一体化され得、共通のデータストリーム内または別々のデータストリーム内のオーディオとビデオの両方の符号化を処理するために、適当なMUX−DEMUXユニットまたは他のハードウェアとソフトウェアとを含むことができる。適用可能であれば、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0050]ビデオエンコーダ20とビデオデコーダ30とは、各々、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、様々な適切なエンコーダ回路網のいずれかとして実装され得る。技法が、部分的にソフトウェアで実施される時に、デバイスは、ソフトウェアの命令を、適切な非一時的コンピュータ可読媒体内に記憶し、本開示の技法を実行するために1つまたは複数のプロセッサを使用してハードウェア内で命令を実行することができる。ビデオエンコーダ20とビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダ内に含められ得、このエンコーダまたはデコーダのいずれもが、それぞれのデバイス内で組み合わされたエンコーダ/デコーダ(コーデック)の一部として一体化され得る。ビデオエンコーダ20および/またはビデオデコーダ30を含むデバイスは、集積回路、マイクロプロセッサ、および/またはセルラー電話機などのワイヤレス通信デバイスを備えることができる。
[0051]JCT−VCは、HEVC標準規格の開発に取り組みつつある。HEVC標準化の努力は、HEVCテストモデル(HM)と称するビデオコーディングデバイスの進化するモデルに基づく。HMは、たとえばITU−T H.264/AVCに従う既存のデバイスに対する、ビデオコーディングデバイスの複数の追加能力を仮定する。たとえば、H.264は、9つのイントラ予測符号化モードを提供するが、HMは、33個もの多数のイントラ予測符号化モードを提供することができる。
[0052]一般に、HMのワーキングモデルは、ビデオフレームまたはピクチャが、ルマサンプルとクロマサンプルの両方を含むツリーブロックまたは最大コーディングユニット(largest coding unit、LCU)のシーケンスに分割され得ることを記述する。ビットストリーム内の構文データは、LCUのサイズを定義することができ、このLCUは、ピクセルの個数に関する最大のコーディングユニットである。スライスは、コーディング順序での、いくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、四分木に従ってコーディングユニット(CU)に分割され得る。一般に、四分木データ構造は、1CUあたり1つのノードを含み、ルートノードはツリーブロックに対応する。あるCUが、4つのサブCUに分割される場合には、CUに対応するノードは、4つの葉ノードを含み、葉ノードの各々は、サブCUのうちの1つに対応する。
[0053]四分木データ構造の各ノードは、対応するCUのシンタックスデータを提供することができる。たとえば、四分木内のノードは、そのノードに対応するCUがサブCUに分割されるのかどうかを示す分割フラグを含むことができる。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるのかどうかに依存することができる。CUがさらには分割されない場合には、そのCUは、葉CUとして参照される。本開示では、葉CUの4つのサブCUも、オリジナルの葉CUの明示的な分割がない場合であっても、葉CUと呼ばれる。たとえば、16x16サイズのCUがさらには分割されない場合に、4つの8x8サブCUも、16x16CUが一度も分割されなかったのに葉CUと呼ばれる。
[0054]CUは、CUがサイズの区別を有しないことを除いて、H.264標準規格のマクロブロックに類似する目的を有する。たとえば、ツリーブロックは、4つの子ノード(サブCUとも呼ばれる)に分割され得、各子ノードは、次に、親ノードになることができ、別の4つの子ノードに分割され得る。4分木の葉ノードと呼ばれる、最終的な分割されない子ノードは、葉CUとも呼ばれるコーディングノードを備える。コーディングされたビットストリームに関連付けられたシンタックスデータは、最大CU深度と呼ばれる、ツリーブロックが分割され得る回数の最大数を定義することができ、また、コーディングノードの最小サイズを定義することもできる。したがって、ビットストリームは、最小コーディングユニット(smallest coding unit、SCU)をも定義することができる。本開示は、「ブロック」という用語を、HEVCの文脈でのCU、PU、またはTUのうちのいずれか、または他の標準規格の文脈での同様のデータ構造(たとえば、H.264/AVCのマクロブロックとそのサブブロックと)を参照するのに使用する。
[0055]CUは、コーディングノードと、コーディングノードに関連付けられた予測ユニット(PU)および変換ユニット(TU)とを含む。CUのサイズは、コーディングノードのサイズに対応し、形状において正方形でなければならない。CUのサイズは、8x8ピクセルから、64x64ピクセル以上の最大値を有するツリーブロックのサイズまでの範囲にわたることができる。各CUは、1つまたは複数のPUと1つまたは複数のTUとを含むことができる。CUに関連付けられたシンタックスデータは、たとえば、1つまたは複数のPUへのCUの区分を記述することができる。区分モードは、CUがスキップモード符号化もしくは直接モード符号化されるのか、イントラ予測モード符号化されるのか、またはインター予測モード符号化されるのかの間で異なる可能性がある。PUは、形状において非正方形に区分され得る。CUに関連付けられたシンタックスデータは、たとえば、四分木に従う1つまたは複数のTUへのCUの区分を記述することもできる。TUは、形状において正方形または非正方形(たとえば、長方形)とすることができる。
[0056]HEVC標準規格は、TUに従う変換を可能にし、このTUは、異なるCUについて異なるものとすることができる。TUは、通常、区分されたLCUについて定義される所与のCU内のPUのサイズに基づくサイズを与えられるが、必ずそうなっているとは限らない。TUは、通常、PU以下のサイズである。いくつかの例では、CUに対応する残差サンプルは、「残差四分木」(RQT)と称する四分木構造を使用して、より小さいユニットに副分割され得る。RQTの葉ノードは、変換ユニット(TU)と呼ばれる場合がある。TUに関連付けられたピクセル差値は、量子化され得る変換係数を作るために変換され得る。
[0057]葉CUは、1つまたは複数の予測ユニット(PU)を含むことができる。一般に、PUは、対応するCUのすべてまたは一部に対応する空間的区域を表し、PUの参照サンプルを取り出すためのデータを含むことができる。さらに、PUは、予測に関するデータを含む。たとえば、PUが、イントラモード符号化される時に、PUのデータは、残差四分木(RQT)内に含まれ得、このRQTは、PUに対応するTUのイントラ予測モードを記述するデータを含むことができる。別の例として、PUがインターモード符号化される時に、PUは、そのPUの1つまたは複数の動きベクトルを定義するデータを含むことができる。PUの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの分解能(たとえば、1/4ピクセル精度または1/8ピクセル精度)、動きベクトルがポイントする参照ピクチャ、および/または動きベクトルの参照ピクチャリスト(たとえば、リスト0、リスト1、またはリストC)を記述することができる。
[0058]1つまたは複数のPUを有する葉CUは、1つまたは複数の変換ユニット(TU)をも含むことができる。変換ユニットは、上で論じたように、RQT(TU四分木構造とも称する)を使用して指定され得る。たとえば、分割フラグは、葉CUが4つの変換ユニットに分割されるのかどうかを示すことができる。その場合に、各変換ユニットは、さらなるサブTUにさらに分割され得る。TUがさらには分割されない時に、TUは、葉TUと呼ばれる場合がある。一般に、イントラコーディングに関して、1つの葉CUに属するすべての葉TUは、同一のイントラ予測モードを共有する。すなわち、同一のイントラ予測モードが、一般に、1つの葉CUのすべてのTUについて、予測された値を計算するために適用される。イントラコーディングについて、ビデオエンコーダは、CUのうちでTUに対応する部分と元のブロックとの間の差として、イントラ予測モードを使用して葉TUごとに残差値を計算することができる。TUは、必ずしもPUのサイズに限定されない。したがって、TUは、PUよりも大きくてもまたは小さくてもよい。イントラコーディングについて、PUは、同一のCUの対応する葉TUと同一位置に配置され得る。いくつかの例では、葉TUの最大サイズは、対応する葉CUのサイズに対応することができる。
[0059]さらに、葉CUのTUは、残差四分木(RQT)と称するそれぞれの四分木データ構造にも関連付けられ得る。すなわち、葉CUは、その葉CUがTUにどのように区分されるのかを示す四分木を含むことができる。TU四分木のルートノードは、一般に、葉CUに対応し、CU四分木のルートノードは、一般に、ツリーブロック(またはLCU)に対応する。分割されないRQTのTUは、葉TUと呼ばれる。一般に、本開示は、そうではないと注記されない限り、それぞれ葉CUと葉TUとを指すのにCUとTUという用語を使用する。
[0060]ビデオシーケンスは、通常、一連のビデオフレームまたはピクチャを含む。グループオブピクチャ(GOP)は、一般に、一連の1つまたは複数のビデオピクチャを備える。GOPは、GOPのヘッダ内、ピクチャのうちの1つまたは複数のヘッダ内、または他所に、そのGOP内に含まれるピクチャの個数を記述するシンタックスデータを含むことができる。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含むことができる。ビデオエンコーダ20は、通常、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに作用する。ビデオブロックは、CU内のコーディングモードに対応することができる。ビデオブロックは、固定されたサイズまたは変化するサイズを有することができ、指定されたコーディング標準規格に従ってサイズにおいて変化することができる。
[0061]一例として、HMは、様々なPUサイズでの予測をサポートする。特定のCUのサイズが2Nx2Nであると仮定すると、HMは、2Nx2NまたはNxNのPUサイズでのイントラ予測と、2Nx2N、2NxN、Nx2N、またはNxNの対称PUサイズでのインター予測とをサポートする。HMは、2NxnUと、2NxnDと、nLx2Nと、nRx2NとのPUサイズでのインター予測のための非対称区分をもサポートする。非対称区分では、CUの一方の方向は、区分されず、他方の方向は、25%と75%とに区分される。CUのうちで25%区分に対応する部分は、「n」とそれに続く「Up(上)」、「Down(下)」、「Left(左)」、または「Right(右)」の表示とによって示される。したがって、たとえば、「2NxnU」は、水平に区分され、上に2Nx0.5NのPU、下に2Nx1.5NのPUを有する2Nx2NのCUを指す。
[0062]本開示では、「NxN」と「N×N」とが、たとえば16x16ピクセルまたは16×16ピクセルなど、垂直次元と水平次元とに関するビデオブロックのピクセル寸法を指すのに交換可能に使用される場合がある。一般に、16x16ブロックは、垂直方向に16ピクセルを有し(y=16)、水平方向に16ピクセルを有する(x=16)。同様に、NxNブロックは、一般に、垂直方向にNピクセル、水平方向にNピクセルを有し、Nは、非負の整数値を表す。ブロック内のピクセルは、行と列とに配置され得る。さらに、ブロックは、必ずしも、水平方向において垂直方向と同一個数のピクセルを有するとは限らない。たとえば、ブロックは、NxMピクセルを備えることができ、Mは、必ずしもNと等しくはない。
[0063]CUのPUを使用するイントラ予測コーディングまたはインター予測コーディングの後に、ビデオエンコーダ20は、CUのTUの残差データを計算することができる。PUは、空間領域(ピクセル領域とも称する)で予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備えることができ、TUは、残差ビデオデータに対する変換、たとえば離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に類似する変換の適用に続く変換領域での係数を備えることができる。残差データは、符号化されていないピクチャのピクセルとPUに対応する予測値との間のピクセル差に対応することができる。ビデオエンコーダ20は、CUの残差データを含むTUを形成し、その後、CUの変換係数を作るためにTUを変換することができる。
[0064]変換係数を作るためのすべての変換の後に、ビデオエンコーダ20は、変換係数の量子化を実行することができる。量子化は、その最も広義の通常の意味を有することを意図された広義の用語である。一実施形態では、量子化は、さらなる圧縮を提供する、係数を表すのに使用されるデータの量をおそらくは減らすために変換係数が量子化されるプロセスを指す。量子化プロセスは、係数の一部またはすべてに関連付けられたビット深度を減らすことができる。たとえば、nビット値が、量子化中にmビット値に下に丸められ得、nは、mより大きい。
[0065]量子化の後に、ビデオエンコーダは、変換係数をスキャンし、量子化された変換係数を含む2次元行列から1次元ベクトルを作ることができる。スキャンは、より高いエネルギー(したがって、より低い頻度)の係数を配列の前方に配置し、より低いエネルギー(したがって、より高い頻度)の係数を配列の後方に配置するように設計され得る。いくつかの例では、ビデオエンコーダ20は、エントロピー符号化され得るシリアライズされたベクトルを作るために量子化された変換係数をスキャンするのに事前定義のスキャン順序を利用することができる。他の例では、ビデオエンコーダ20は、適応スキャンを実行することができる。1次元ベクトルを形成するために、量子化された変換係数をスキャンした後に、ビデオエンコーダ20は、たとえばコンテキスト適応可変長コーディング(context-adaptive variable length coding、CAVLC)、コンテキスト適応2進算術コーディング(context-adaptive binary arithmetic coding、CABAC)、シンタックスベースコンテキスト適応2進算術コーディング(syntax-based context-adaptive binary arithmetic coding、SBAC)、確率区間区分エントロピー(Probability Interval Partitioning Entropy、PIPE)コーディング、または別のエントロピー符号化方法論に従って、1次元ベクトルをエントロピー符号化することができる。ビデオエンコーダ20は、ビデオデータを復号する際のビデオデコーダ30による使用のために、符号化されたビデオデータに関連付けられたシンタックス要素をエントロピー符号化することもできる。
[0066]CABACを実行するために、ビデオエンコーダ20は、送信されるシンボルに、コンテキストモデル内のコンテキストを割り当てることができる。コンテキストは、たとえば、シンボルの隣接値が非ゼロであるか否かに関するものとすることができる。CAVLCを実行するために、ビデオエンコーダ20は、送信されるシンボルの可変長コードを選択することができる。VLCにおける符号語は、相対的により短いコードがよりありそうなシンボルに対応し、より長いコードがよりありそうにないシンボルに対応するように構成され得る。この形で、VLCの使用は、たとえば送信されるシンボルごとに等しい長さの符号語を使用することに対するビット節約を達成することができる。確率決定は、シンボルに割り当てられたコンテキストに基づくものとされ得る。
[0067]ビデオエンコーダ20は、たとえばフレームヘッダ内、ブロックヘッダ内、スライスヘッダ内、またはGOPヘッダ内で、ビデオデコーダ30に、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびGOPベースのシンタックスデータなどのシンタックスデータをさらに送ることができる。GOPシンタックスデータは、それぞれのGOP内のフレームの個数を記述することができ、フレームシンタックスデータは、対応するフレームを符号化するのに使用された符号化/予測モードを示すことができる。
[0068]図2は、本開示で説明される態様による技法を実施することができる、ビデオエンコーダの例を示すブロック図である。ビデオエンコーダ20は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。たとえば、下で図7と図8とに関して説明される方法を含む、本開示で説明される技法は、ビデオエンコーダ20の様々な構成要素の間で共有され得る。いくつかの例では、それに加えてまたはその代わりに、プロセッサ(図示せず)が、本開示で説明される技法のいずれかまたはすべてを実行するように構成され得る。
[0069]ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実行することができる。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオ内の空間冗長性を減らすか除去するために、空間予測に頼る。インターコーディングは、ビデオシーケンスの隣接するフレームまたはピクチャ内のビデオ内の時間冗長性を減らすか除去するために、時間予測に頼る。イントラモード(Iモード)は、複数の空間ベースのコーディングモードのいずれをも指すことができる。単一方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、複数の時間ベースのコーディングモードのいずれをも指すことができる。
[0070]図2に示されているように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受け取る。図1の例では、ビデオエンコーダ20は、モード選択ユニット40と、参照フレームメモリ64と、合計器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。モード選択ユニット40は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、分割ユニット48とを含む。ビデオブロックの再構成のために、ビデオエンコーダ20は、逆量子化ユニット58と、逆変換ユニット60と、合計器62とをも含む。デブロッキングフィルタ(図2には図示せず)も、再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタリングするために、含まれ得る。望まれる場合に、デブロッキングフィルタは、通常、合計器62の出力をフィルタリングするはずである。追加のフィルタ(インループまたはポストループ)も、デブロッキングフィルタに加えて使用され得る。そのようなフィルタは、簡潔さのために図示されていないが、望まれる場合には、合計器50の出力をフィルタリングすることができる(インループフィルタとして)。
[0071]符号化プロセス中に、ビデオエンコーダ20は、コーディングされるべきビデオフレームまたはスライスを受け取る。フレームまたはスライスは、複数のビデオブロックに分割され得る。動き推定ユニット42および動き補償ユニット44は、時間予測を提供するために、1つまたは複数の参照フレーム内の1つまたは複数のブロックに対する相対的な受け取られたビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット46は、その代わりに、空間予測を提供するために、コーディングされるべきブロックと同一のフレームまたはスライス内の1つまたは複数の隣接ブロックに対する相対的な受け取られたビデオブロックのイントラ予測コーディングを実行することができる。ビデオエンコーダ20は、たとえばビデオデータのブロックごとに適当なコーディングモードを選択するために、複数のコーディングパスを実行することができる。
[0072]さらに、区分ユニット48は、前のコーディングパス内の前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分することができる。たとえば、区分ユニット48は、当初に、フレームまたはスライスをLCUに区分し、レートひずみ分析(たとえば、レートひずみ最適化)に基づいて、LCUの各々をサブCUに区分することができる。モード選択ユニット40は、サブCUへのLCUの区分を示す四分木データ構造をさらに作ることができる。四分木の葉ノードCUは、1つまたは複数のPUと1つまたは複数のTUとを含むことができる。
[0073]モード選択ユニット40は、たとえば誤差結果に基づいて、コーディングモードのうちの1つすなわちイントラまたはインターを選択し、結果のイントラコーディングされたブロックまたはインターコーディングされたブロックを、残差ブロックデータを生成するために合計器50に、参照フレームとしての使用のために符号化されたブロックを再構成するために合計器62に供給することができる。モード選択ユニット40は、動きベクトル、イントラモードインジケータ、区分情報、および他のそのような構文情報などのシンタックス要素をエントロピー符号化ユニット56に供給することもする。
[0074]動き推定ユニット42および動き補償ユニット44は、高度に一体化され得るが、概念上の目的から別々に図示されている。動き推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のフレーム(または他のコーディングされたユニット)内でコーディングされつつある現在のブロックに対する相対的な、参照フレーム(または他のコーディングされたユニット)内の予測ブロックに対する相対的な現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示すことができる。予測ブロックは、絶対差の合計(sum of absolute difference、SAD)、二乗差の合計(sum of square difference、SSD)、または他の差メトリックによって決定され得るピクセル差に関する、コーディングされるブロックとよく一致することがわかったブロックである。いくつかの例では、ビデオエンコーダ20は、参照フレームメモリ64内に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算することができる。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間することができる。したがって、動き推定ユニット42は、フルピクセル位置および分数ピクセル位置に関する動き検索を実行し、分数ピクセル精度を有する動きベクトルを出力することができる。
[0075]動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコーディングされたスライス内のビデオブロックのPUの動きベクトルを計算する。参照ピクチャは、各々が参照フレームメモリ64内に記憶された1つまたは複数の参照ピクチャを識別する第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得る。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
[0076]動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって決定された動きベクトルに基づいて予測ブロックを取り出し、またはこれを生成することを含むことができる。やはり、動き推定ユニット42および動き補償ユニット44は、いくつかの例で、機能的に一体化され得る。現在のビデオブロックのPUの動きベクトルを受け取る時に、動き補償ユニット44は、参照ピクチャリストのうちの1つにおいて動きベクトルがポイントする予測ブロックを突き止めることができる。合計器50は、下で議論されるように、コーディングされつつある現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差値を形成することによって、残差ビデオブロックを形成する。一般に、動き推定ユニット42は、ルマ成分に対して相対的に動き推定を実行し、動き補償ユニット44は、クロマ成分とルマ成分の両方に関して、ルマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット40は、ビデオスライスのビデオブロックを復号する際のビデオデコーダ30による使用のために、ビデオブロックとビデオスライスとに関連付けられたシンタックス要素を生成することもできる。
[0077]イントラ予測ユニット46は、上で説明された、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測に対する代替案として、現在のブロックをイントラ予測しまたは計算することができる。具体的には、イントラ予測ユニット46は、現在のブロックを符号化するのに使用すべきイントラ予測モードを決定することができる。いくつかの例では、イントラ予測ユニット46は、たとえば別々の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化することができ、イントラ予測ユニット46(または、いくつかの例ではモード選択ユニット40)は、テストされたモードから使用すべき適当なイントラ予測モードを選択することができる。
[0078]たとえば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードに関するレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択することができる。レートひずみ分析は、一般に、符号化されたブロックと、符号化されたブロックを作るために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化されたブロックを作るのに使用されたビットレート(すなわち、ビットの個数)を決定する。イントラ予測ユニット46は、どのイントラ予測モードがブロックに関して最良のレートひずみ値を示すのかを決定するために、様々な符号化されたブロックのひずみとレートとから比率を計算することができる。
[0079]ブロックのイントラ予測モードを選択した後に、イントラ予測ユニット46は、ブロックの選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に供給することができる。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化することができる。ビデオエンコーダ20は、複数のイントラ予測モードインデックステーブルと複数の変更されたイントラ予測モードインデックステーブル(符号語マッピングテーブルとも称する)とを含むことができる送信されるビットストリーム構成データ内に、様々なブロックの符号化コンテキストの定義と、最もありそうなイントラ予測モードの表示と、イントラ予測モードインデックステーブルと、コンテキストの各々について使用すべき変更されたイントラ予測モードインデックステーブルとを含めることができる。
[0080]ビデオエンコーダ20は、コーディングされつつある元のビデオブロックから、モード選択ユニット40からの予測データを減算することによって、残差ビデオブロックを形成する。合計器50は、この減算演算を実行する構成要素を表す。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に類似する変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを作る。変換処理ユニット52は、DCTに概念的に類似する他の変換を実行することができる。ウェーブレット変換、整数変換、サブバンド変換、または他のタイプの変換も、使用され得る。どの場合においても、変換処理ユニット52は、残差ブロックに変換を適用して、残差変換係数のブロックを作る。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換することができる。変換処理ユニット52は、結果の変換係数を量子化ユニット54に送ることができる。量子化ユニット54は、ビットレートをさらに減らすために、変換係数を量子化する。量子化プロセスは、係数の一部またはすべてに関連付けられたビット深度を減らすことができる。量子化の度合は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット54は、その後、量子化された変換係数を含む行列のスキャンを実行することができる。代替案では、エントロピー符号化ユニット56が、このスキャンを実行することができる。
[0081]量子化の後に、エントロピー符号化ユニット56は、量子化された変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット56は、コンテキスト適応可変長コーディング(CAVLC)、コンテキスト適応2進算術コーディング(CABAC)、シンタックスベースコンテキスト適応2進算術コーディング(SBAC)、確率区間区分エントロピー(PIPE)コーディング、または別のエントロピーコーディング技法を実行することができる。コンテキストベースのエントロピーコーディングの場合に、コンテキストは、隣接ブロックに基づくものとされ得る。エントロピー符号化ユニット56によるエントロピーコーディングの後に、符号化されたビットストリームは、別のデバイス(たとえば、ビデオデコーダ30)に送信され、または後の送信もしくは取出のためにアーカイブされ得る。
[0082]逆量子化ユニット58および逆変換ユニット60は、たとえば参照ブロックとして後の値の使用のために、ピクセル領域の残差ブロックを再構成するために、それぞれ逆量子化と逆変換とを適用する。動き補償ユニット44は、参照フレームメモリ64のフレームのうちの1つの予測ブロックに残差ブロックを加算することによって、参照ブロックを計算することができる。動き補償ユニット44は、動き推定での使用のためにサブ整数ピクセル値を計算するために、再構成された残差ブロックに1つまたは複数の補間フィルタを適用することもできる。合計器62は、参照フレームメモリ64での記憶のために再構成されたビデオブロックを作るために、動き補償ユニット44によって作られた動き補償された予測ブロックに再構成された残差ブロックを加算する。再構成されたビデオブロックは、後続ビデオフレーム内のブロックをインターコーディングするための参照ブロックとして、動き推定ユニット42と動き補償ユニット44とによって使用され得る。
[0083]図3は、本開示で説明される態様による技法を実施することができる、ビデオデコーダの例を示すブロック図である。ビデオデコーダ30は、図7と図8とに関して下で説明される方法を含む、本開示の技法のいずれかまたはすべてを実行するように構成され得る。一例として、動き補償ユニット72および/またはイントラ予測ユニット74は、本開示で説明される技法のいずれかまたはすべてを実行するように構成され得る。しかしながら、本開示の諸態様は、それに限定されない。いくつかの例では、本開示で説明される技法は、ビデオデコーダ30の様々な構成要素の間で共有され得る。いくつかの例では、それに加えてまたはその代わりに、プロセッサ(図示せず)が、本開示で説明される技法のいずれかまたはすべてを実行するように構成され得る。
[0084]図3の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照フレームメモリ82と、合計器80とを含む。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図2)に関して説明された符号化パスに対して全般的に相反の復号パスを実行することができる。動き補償ユニット72は、エントロピー復号ユニット70から受け取られた動きベクトルに基づいて、予測データを生成することができ、イントラ予測ユニット74は、エントロピー復号ユニット70から受け取られたイントラ予測モードインジケータに基づいて、予測データを生成することができる。
[0085]復号プロセス中に、ビデオデコーダ30は、符号化されたビデオスライスのビデオブロックと関連付けられたシンタックス要素とを表す符号化されたビデオビットストリームをビデオエンコーダ20から受け取る。ビデオデコーダ30のエントロピー復号ユニット70は、量子化された係数と、動きベクトルまたはイントラ予測モードインジケータと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット70は、動きベクトルと他のシンタックス要素とを動き補償ユニット72に転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受け取ることができる。
[0086]ビデオスライスが、イントラコーディングされた(I)スライスとしてコーディングされる時に、イントラ予測ユニット74は、シグナリングされたイントラ予測モードと現在のフレームまたはピクチャの以前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックの予測データを生成することができる。ビデオフレームが、インターコーディングされた(たとえば、B、P、またはGPB)スライスとしてコーディングされる時に、動き補償ユニット72は、エントロピー復号ユニット70から受け取られた動きベクトルと他のシンタックス要素とに基づいて、現在のビデオスライスのビデオブロックの予測ブロックを作る。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから作られ得る。ビデオデコーダ30は、参照フレームメモリ92内に記憶された参照ピクチャに基づいて、デフォルト構成技法を使用して、参照フレームリストすなわちリスト0とリスト1とを構成することができる。動き補償ユニット72は、動きベクトルと他のシンタックス要素とを解析することによって、現在のビデオスライスのビデオブロックの予測情報を決定し、復号されつつある現在のビデオブロックの予測ブロックを作るのにその予測情報を使用する。たとえば、動き補償ユニット72は、現在のビデオスライス内のビデオブロックを復号するために、ビデオスライスのビデオブロックをコーディングするのに使用された予測モード(たとえば、イントラ予測またはインター予測)と、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)と、スライスの参照ピクチャリストのうちの1つまたは複数の構成情報と、スライスのインター符号化されたビデオブロックごとの動きベクトルと、スライスのインターコーディングされたビデオブロックごとのインター予測状況と、他の情報とを決定するのに、受け取られたシンタックス情報の一部を使用する。
[0087]動き補償ユニット72は、補間フィルタに基づいて補間を実行することもできる。動き補償ユニット72は、参照ブロックのサブ整数ピクセルの補間された値を計算するために、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用することができる。この場合に、動き補償ユニット72は、受け取られたシンタックス要素から、ビデオエンコーダ20によって使用された補間フィルタを決定し、予測ブロックを作るのにその補間フィルタを使用することができる。
[0088]逆量子化ユニット76は、ビットストリーム内で供給され、エントロピー復号ユニット70によって復号された量子化された変換係数を逆量子化し、たとえばデクォンタイズ(de-quantize)する。逆量子化プロセスは、量子化の度合と、同様に適用すべき逆量子化の度合とを決定するための、ビデオスライス内のビデオブロックごとにビデオデコーダ30によって計算された量子化パラメータQPYの使用を含むことができる。
[0089]逆変換ユニット78は、ピクセル領域で残差ブロックを作るために、変換係数に逆変換、たとえば逆DCT、逆整数変換、または概念的に類似する逆変換プロセスを適用する。
[0090]動き補償ユニット72が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックの予測ブロックを生成した後に、ビデオデコーダ30は、逆変換ユニット78からの残差ブロックと動き補償ユニット72によって生成された対応する予測ブロックとを合計することによって、復号されたビデオブロックを形成する。合計器80は、この合計演算を実行する構成要素を表す。望まれる場合に、デブロッキングフィルタも、ブロッキネスアーティファクトを除去するために、復号されたブロックをフィルタリングするために適用され得る。他のループフィルタ(コーディングループ内またはコーディングループの後のいずれであれ)も、ピクセル推移を平滑化し、または他の形でビデオ品質を改善するために、使用され得る。その後、所与のフレームまたはピクチャ内の復号されたビデオブロックは、参照ピクチャメモリ82内に記憶され、参照ピクチャメモリ82は、後続の動き補償のために使用される参照ピクチャを記憶する。参照フレームメモリ82は、図1のディスプレイデバイス32などのディスプレイデバイス上での後の提示のために、復号されたビデオをも記憶する。
HEVCにおける動き補償
[0091]上述されたように、HEVCは次世代のビデオコーディング規格である。一般に、HEVCは、以前のビデオコーディング標準規格のフレームワークに従う。HEVCの動き補償ループは、H.264/AVCと同一に保たれ得る、すなわち、現在のフレーム

の再構成は、デクォンタイズされた係数rに時間予測Pを加えたものと等しい。

ここで、Pは、Pフレームもしくはスライスの単一方向予測、またはBフレームもしくはスライスの両方向予測を示す。
[0092]HEVCの動き補償の単位は、以前のビデオコーディング標準規格のものとは異なり得る。実際に、以前のビデオコーディング標準規格におけるマクロブロックの概念は、HEVCには存在しない。その代わりに、マクロブロックの概念は、包括的な4分木方式に基づく極めて柔軟な階層構造に置換される。この方式の中で、3タイプのブロックすなわち、コーディングユニット(CU)、予測ユニット(PU)、および変換ユニット(TU)が、定義される。CUは、領域分割の基本単位である。CUは、マクロブロックの概念に類似するが、CUは、最大サイズを制限せず、CUは、コンテンツ適応性を改善するために、4つの等しいサイズのCUへの再帰的分割を可能にする。PUは、インター/イントラ予測の基本単位であり、PUは、不規則なイメージパターンを効率的にコーディングするために、単一のPU内での複数の任意形状区分を含むことができる。TUは、変換の基本単位である。TUは、PUとは独立に定義され得るが、TUのサイズは、そのTUが属するCUに制限される。3つの異なる概念へのブロック構造のこの分離は、各ブロック構造をその役割に従って最適化することを可能にし、これは、改善されたコーディング効率をもたらす。
スケーラブルビデオコーディング
[0093]異なる次元でのスケーラビリティ400の例が、図4に示されている。この例では、スケーラビリティは、3つの次元402と404と406とにおいて可能である。時間次元402では、たとえば、7.5Hz、15Hzまたは30Hzを有するフレームレートが、時間スケーラビリティ(T)によってサポートされ得る。空間スケーラビリティ(S)404がサポートされる時には、たとえば、QCIF、CIFおよび4CIFなどの異なる解像度が、使用可能にされる。特定の空間分解能およびフレームレートごとに、SNR(Q)レイヤ406が、ピクチャ品質を改善するために追加され得る。各レイヤ402、404、406からのビットストリームは、単一のビットストリームに一緒に多重化され得る。ビデオコンテンツがそのような拡張可能な形で符号化された後に、エクストラクタツールが、たとえば、クライアントまたは伝送チャネルに依存するアプリケーション要件に従って、実際に配送されるコンテンツを適応させるのに使用され得る。図4に示された例では、各立方体408は、同一のフレームレート(時間レベル)、空間分解能、およびSNRレイヤを有するピクチャを含む。これらの立方体408(ピクチャ)を任意の次元402、404、406に追加することによって、より良い表現が達成され得る。組み合わされたスケーラビリティは、2つ、3つ、またはさらに多くのスケーラビリティが使用可能にされる時サポートされる。
[0094]SVC仕様によれば、最低の空間レイヤ410と品質レイヤ412とを有するピクチャは、H.264/AVCと互換であり、最低の時間レベル414のピクチャは、時間ベースレイヤを形成し、より上位の時間レベルのピクチャを用いて質を高められ得る。H.264/AVC互換レイヤに加えて、複数の空間レイヤおよび/またはSNRエンハンスメントレイヤが、空間スケーラビリティおよび/または品質スケーラビリティを提供するために追加され得る。SNRスケーラビリティ406は、品質スケーラビリティとしても参照される。各空間レイヤ404またはSNRエンハンスメントレイヤ406自体は、H.264/AVC互換レイヤと同一の時間スケーラビリティ構造を用いて、時間的にスケーラブルとされ得る。1つの空間レイヤまたはSNRエンハンスメントレイヤに関して、より低いレイヤ空間レイヤまたはSNRエンハンスメントレイヤは、特定の空間レイヤまたはSNRエンハンスメントレイヤのベースレイヤとしても参照される。
[0095]SVCコーディング構造500の例が、図5に示されている。最も低い空間レイヤを有するピクチャおよび最も低い品質レイヤを有するピクチャ(レイヤ0 502およびレイヤ1 504の、QCIF解像度のピクチャ)は、H.264/AVCと互換である。これらの中で、最も低い時間レベルのこれらのピクチャは、図5のレイヤ0 502に示されているように、時間ベースレイヤを形成する。この時間ベースレイヤ(レイヤ0)502は、より高い時間レベル(レイヤ1)504のピクチャを用いて質を高められ得る。H.264/AVC互換レイヤ504に加えて、いくつかの空間レイヤおよび/またはSNRエンハンスメントレイヤ506、508、510が、空間スケーラビリティおよび/または品質スケーラビリティをもたらすために、追加され得る。たとえば、エンハンスメントレイヤは、レイヤ2 506と同一の解像度を有するCIF表現であり得る。この例では、レイヤ3 508は、SNRエンハンスメントレイヤである。この例に示されているように、各空間レイヤ自体または各SNRエンハンスメントレイヤ自体は、H.264/AVC互換レイヤと同一の時間スケーラビリティ構造を用いて、時間的にスケーラブルとされ得る。また、エンハンスメントレイヤは、空間解像度とフレームレートの両方の質を高めることができる。たとえば、レイヤ4 510は、フレームレートを15Hzから30Hzにさらに高める、4CIFエンハンスメントレイヤを提供する。
[0096]図6に示されているように、同一の時間的瞬間にコーディングされるスライスは、ビットストリーム順序で連続し、SVCのコンテキストにおいて1つのアクセスユニット600を形成する。次に、これらのSVCアクセスユニット600は、復号順序に従い、この復号順序は、表示順序と異なるものとされ得、たとえば時間予測関係によって決定され得る。
[0097]一般に、レイヤ間テクスチャ予測は、再構成されたベースレイヤピクセル値がエンハンスメントレイヤ内のピクセル値を予測するのに使用されるケースを指す。「イントラBLモード」および「レイヤ間参照ピクチャ」は、レイヤ間テクスチャ予測に対する2つのアプローチである。
[0098](コーディングされた)ピクチャ、アクセスユニット(AU)、イントラランダムアクセスポイント(IRAP)AU、コーディングされたビデオシーケンス(CVS)、およびビットストリームという用語は、広義の通常の意味を有する広義の用語である。いくつかの実施形態では、これらの用語は、以下を指す。コーディングされたピクチャは、SVCのレイヤ表現、MVCのビューコンポーネント、およびMVC+Dのテクスチャまたはデプスビューと同等である。SVCおよびMVCにおいて、アクセスユニット(AU)は、同一の出力時刻に関連付けられたすべてのコーディングされたピクチャと、それらに関連付けられた非VCL NALユニットとからなる。IRAPアクセスユニットは、すべてのコーディングされたピクチャがIRAPピクチャであるアクセスユニットである。コーディングされたビデオシーケンス(CVS)は、復号順序で、1と等しいNoRaslOutputFlagを有するIRAPアクセスユニットである任意の後続のアクセスユニットを含まないものまでのすべての後続アクセスユニットを含む、1と等しいNoRaslOutputFlagを有するIRAPアクセスユニットではない0個以上のアクセスユニットによって後続される、1と等しいNoRaslOutputFlagを有するIRAPアクセスユニットからなるアクセスユニットのシーケンスである。ビットストリームは、1つまたは複数のCVSの表現を形成する、NALユニットストリームまたはバイトストリームの形のビットのシーケンスである。ビットストリーム内の最初のAUは、IRAP AUである。
レイヤ間RPSのシグナリングおよび導出
[0099]レイヤ間参照ピクチャセット(RPS)シグナリングおよび導出の1つの方法が、以下の目的を伴って設計される。レイヤ間RPSサブセットは、ピクチャレベルシンタックスに基づいて導出され得る(たとえば、ピクチャレベルシンタックスは、スライスヘッダ内でシグナリングされ得る)。レイヤ間RPSサブセットは、レイヤ間ピクチャ参照に使用されるピクチャの消失を検出するのに使用され得る。シーケンスレベル表示は、通常のユーザケースに関するピクチャレベルシグナリングオーバーヘッドを減らすのに使用され得る。たとえば、SHVCでは、通常、1つの参照レベルピクチャだけが、ピクチャをコーディングするためにレイヤ間予測において使用される。したがって、最大のレイヤidを有する参照レイヤが、インター予測に使用され、したがって、レイヤ間参照ピクチャ情報は、どのスライスヘッダ内でも明示的にシグナリングされない。
[0100]MV−HEVCおよびSHVCでは、シンタックスおよびセマンティクスが、以下のように提供され得る。
MV−HEVCおよびSHVCでビデオパラメータセット拡張のシンタックスおよびセマンティクス

[0101]表1のこの例では、1と等しいmax_one_active_ref_layer_flagは、多くとも1つのピクチャが、CVS内のピクチャごとのレイヤ間予測に使用されることを指定し、またはこれを示すことができる。また、0と等しいmax_one_active_ref_layer_flagは、複数のピクチャが、CVS内のピクチャごとのレイヤ間予測に使用されることを指定し、またはこれを示すことができる。
全般的なスライスセグメントヘッダのシンタックス
[0102]下の表2の例では、1と等しいinter_layer_pred_enabled_flagは、レイヤ間予測が現在のピクチャの復号に使用され得ることを指定し、またはこれを示すことができる。また、0と等しいinter_layer_pred_enabled_flagは、レイヤ間予測が現在のピクチャの復号に使用されないことを指定し、またはこれを示すことができる。inter_layer_pred_enabled_flagがビットストリーム内に存在しない時、またはinter_layer_pred_enabled_flagの値がビットストリーム内でシグナリングされない時には、inter_layer_pred_enabled_flagの値は、デコーダによって0と等しいと推論され得る。
[0103]表2の例では、num_inter_layer_ref_pics_minus1に1を加えたものが、レイヤ間予測に関して現在のピクチャの復号において使用され得るピクチャの個数を指定し、またはこれを示すことができる。num_inter_layer_ref_pics_minus1シンタックス要素の長さは、Ceil(Log2(NumDirectRefLayers[nuh_layer_id]−1)ビットとすることができる。num_inter_layer_ref_pics_minus1の値は、両端を含めて0からNumDirectRefLayers[nuh_layer_id]−1までの範囲内のビーとすることができる。

[0104]変数NumActiveRefLayerPicsは、次のコードに示されているように導出され得る。

コーディングされたピクチャのすべてのスライスが、同一の値のNumActiveRefLayerPicsを有することができる。
[0105]表2の例では、inter_layer_pred_layer_idc[i]は、レイヤ間予測に関して現在のピクチャによって使用され得る第iのピクチャのnuh_layer_idを表す変数RefPicLayerId[i]を指定し、またはこれを示すことができる。シンタックス要素inter_layer_pred_layer_idc[i]の長さは、Ceil(Log2(NumDirectRefLayers[nuh_layer_id]))ビットである。inter_layer_pred_layer_idc[i]の値は、両端を含めて0からNumDirectRefLayers[nuh_layer_id]−1までの範囲内とすることができる。inter_layer_pred_layer_idc[i]がビットストリーム内に存在しない時、またはinter_layer_pred_layer_idc[i]の値がビットストリーム内でシグナリングされない時には、inter_layer_pred_layer_idc[i]の値は、デコーダによって0と等しいと推論され得る。iが0より大きい時には、inter_layer_pred_layer_idc[i]は、inter_layer_pred_layer_idc[i−1]より大きくなり得る。
[0106]両端を含めて0からNumActiveRefLayerPics−1までの範囲内のiの各値に関する変数RefPicLayerId[i]は、次のように導出され得る。

あるピクチャのすべてのスライスは、両端を含めて0からNumActiveRefLayerPics−1までの範囲内のiの各値に関する同一の値のinter_layer_pred_layer_idc[i]を有することができる。
[0107]いくつかの実施態様では、両端を含めて0からNumActiveRefLayerPics−1までの範囲内のiの値ごとに、次の2つの条件のいずれかが真になることが、ビットストリームコンフォーマンス(bitstream conformance)の要件である。第1の条件は、max_sublayer_for_ilp_plus1[LayerIdInVps[RefPicLayerId[i]]]の値がTemporalIdより大きいことである。第2の条件は、max_sublayer_for_ilp_plus1[LayerIdInVps[RefPicLayerId[i]]]の値およびTemporalIdの値が、両方とも0と等しく、RefPicLayerId[i]と等しいnuh_layer_idを有する現在のアクセスユニット内のピクチャが、IRAPピクチャであることである。
[0108]いくつかの実施態様では、両端を含めて0からNumActiveRefLayerPics−1までの範囲内のiの値ごとに、SamplePredEnabledFlag[nuh_layer_id][RefPicLayerId[i]]またはMotionPredEnabledFlag[nuh_layer_id][RefPicLayerId[i]]の値が1と等しいことが、ビットストリームコンフォーマンスの要件である。
[0109]表2の例では、1と等しいinter_layer_sample_pred_only_flagは、インター予測が現在のピクチャの復号で使用されないことを指定し、またはこれを示すことができる。また、0と等しいinter_layer_sample_pred_only_flagは、インター予測が現在のピクチャの復号で使用され得ることを指定し、またはこれを示すことができる。inter_layer_sample_pred_only_flagがビットストリーム内に存在しない時、またはinter_layer_sample_pred_only_flagの値がビットストリーム内でシグナリングされない時には、inter_layer_sample_pred_only_flagの値は、デコーダによって0と等しいと推論され得る。
[0110]変数InterRefEnabledInRPLFlagは、次のように導出され得る。NumSamplePredRefLayers[nuh_layer_id]が0より大きく、NumActiveRefLayerPicsが0より大きい場合には、InterRefEnabledInRPLFlagは、!inter_layer_sample_pred_only_flagと等しくセットされ得る。そうではない場合には、InterRefEnabledInRPLFlagは、1と等しくセットされ得る。
[0111]MV−HEVCおよびSHVCでのレイヤ間予測(ILP)のシンタックスおよびセマンティクスは、ある種の問題と短所とを有する。たとえば、スライスヘッダ内でのレイヤ間予測のシグナリングは、NumDirectRefLayers[nuh_layer_id]が0より大きい限り、非ベースレイヤピクチャについて必ず必要である。しかしながら、様々な通常のシナリオについて、レイヤ間予測をスライスごとに変更することは、必要ではない。その結果、スライスヘッダ内ですべてのレイヤ間予測をシグナリングすることは、必要ではない。したがって、スライスヘッダ内でレイヤ間予測をシグナリングするのに利用されるビットは、これらの状況では不必要になる。そのようなシナリオは、通常のマルチビュービデオコーディングシナリオにおいて、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つ内で指定されるレイヤ間RPS内の直接参照レイヤピクチャのすべてが、レイヤ間予測に使用され、そのすべてが、現在のピクチャの少なくとも1つの参照ピクチャリスト内に挿入される時を含む。スライスヘッダ内でレイヤ間予測をシグナリングするのに利用されるビットが不必要になる、そのようなシナリオは、それに加えてまたはその代わりに、NumDirectRefLayers[nuh_layer_id]の値がNumActiveRefLayerPicsの値と等しいシナリオを含むことができる。NumDirectRefLayers[nuh_layer_id]がNumActiveRefLayerPicsと等しい時には、inter_layer_pred_layer_idc[i]をシグナリングする必要がない。
[0112]いくつかの実施形態では、以下の技法が、上で説明された問題と短所とに対処し、スライスヘッダ内での不必要なシグナリングを回避するための機構を提供する。これらの技法は、改善されたコーディング効率と、下げられたコンピューティングリソース要件とをもたらす。
[0113]いくつかの実施形態では、技法は、各レイヤが少なくとも1つのピクチャを備える、ビデオ情報の1つまたは複数のレイヤを受け取ることを含む。技法は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるかどうかを示す、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つ内のインジケータを処理することを含むことができる。技法は、インジケータに基づいて(たとえば、すべての関連付けられた直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されることをインジケータが示す場合に)、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライス内でレイヤ間参照ピクチャ情報をさらにシグナリングすることを控えることを含むことができる。たとえば、技法は、すべての直接参照レイヤピクチャがレイヤ間参照ピクチャセット(RPS)に追加されるかどうかの、ビデオパラメータセット(VPS)内の表示を有するVPSを参照する(たとえば、これに関連付けられた)すべてのビデオスライスが、そのVPSを参照しまたはこれに関連付けられた任意のスライスのレイヤ間参照ピクチャセットに追加されるように、そのような表示を提供すること、および/またはそのような表示を処理することを含む。たとえば、VPSを参照しまたはこれに関連付けられたビデオスライスは、どのビデオスライスのスライスヘッダ内にも、レイヤ間シグナリングに関する任意のさらなるシンタックス要素を含まない。代替案では、すべての直接参照レイヤピクチャがビデオパラメータセット内のレイヤ間RPSに追加されるかどうかを示す表示が、SPS内またはPPS内に存在することができる。したがって、すべての直接参照レイヤピクチャがSPSまたはPPSを参照する(たとえば、これに関連付けられた)任意のおよびすべてのスライスのレイヤ間RPSに追加されるという制約が、同様にあてはまる。加えて、すべての直接参照レイヤピクチャがレイヤ間RPSに追加されるという制約は、その制約が必ず適用され得るように、MV−HEVCについて導入され得る。この場合に、すべての直接参照レイヤピクチャがレイヤ間RPSに追加されるという制約のシグナリングは、必須とされ得る。
[0114]いくつかの実施形態では、技法は、各レイヤが少なくとも1つのピクチャを備える、ビデオ情報の1つまたは複数のレイヤを受け取ることを含む。技法は、1つまたは複数のレイヤのうちの1つに関連付けられた直接参照レイヤの個数を決定することをさらに含むことができる。技法は、直接参照レイヤの個数がビデオ情報に関連付けられたアクティブ参照レイヤピクチャの個数と等しい時に、レイヤ間予測をシグナリングすることを控えることをさらに含むことができる。たとえば、NumDirectRefLayers[nuh_layer_id]がNumActiveRefLayerPicsと等しい時には、inter_layer_pred_layer_idcはシグナリングされない。
[0115]いくつかの実施形態は、様々なHEVC標準規格および草案で提供されるある種のシンタックス要素およびセマンティクス要素に対する変更(追加および削除など)を含む。たとえば、MV−HEVC WD4およびSHVC WD2に対する追加および削除が、下で説明される。加えて、言及されないか、追加されまたは除去されるものとして他の形で示されない、いくつかの部分は、MV−HEVC WD3およびSHVC WD1と同一であり、または同一とすることができる。
ビデオパラメータセット拡張シンタックスおよびセマンティクス(実施形態の第1のセット)
[0116]実施形態の第1のセットの一部の実施形態では、構文は、下の表3に示されたものに対応することができる。

[0117]表3の例では、1と等しいall_dep_layer_used_flagは、VPS構文によって指定され得る現在のピクチャのすべての直接参照レイヤピクチャ(必要な時には再サンプリングされる)が、VPSを参照する各ピクチャのレイヤ間参照ピクチャセットに追加されることを指定し、またはこれを示すことができる。たとえば、いくつかの実施形態で、ビデオ情報をコーディングする方法は、ビデオ情報の1つまたは複数のレイヤを受け取ることと、各レイヤが少なくとも1つのピクチャを備える、少なくとも1つのビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)に関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つ内の、all_dep_layer_used_flagなどのインジケータを処理することと、インジケータに基づいて(たとえば、all_dep_layer_used_flagが1と等しい場合に)、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライス内でレイヤ間参照ピクチャ情報をさらにシグナリングすることを控えることとを含む。
[0118]加えて、0と等しいall_dep_layer_used_flagは、VPSシンタックスによって指定される現在のピクチャのすべての直接参照レイヤピクチャ(必要な時には再サンプリングされる)が、VPSを参照するピクチャのレイヤ間参照ピクチャセットに追加されてもされなくてもよいことを指定し、またはこれを示すことができる。たとえば、いくつかの実施形態で、ビデオ情報をコーディングする方法は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つ内の、all_dep_layer_used_flagなどのインジケータを処理することと、インジケータが、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されることを示さない場合(たとえば、all_dep_layer_used_flagが0と等しい場合)に、少なくとも1つのビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)に関連付けられた任意のビデオスライス内でレイヤ間参照ピクチャ情報をさらにシグナリングすることを控えないこととを含む。言い換えると、all_dep_layer_used_flagが0の値を有する場合には、レイヤ間参照ピクチャ情報は、VPS、SPS、またはPPSのうちの少なくとも1つに関連付けられた任意のビデオスライス内でシグナリングされ得る。たとえば、all_dep_layer_used_flagが0と等しい場合に、現在のピクチャのすべての直接参照レイヤピクチャは、VPSを参照するピクチャのレイヤ間参照ピクチャセットに追加されてもされなくてもよい。
[0119]表3および表4の例では、1と等しいmax_one_active_ref_layer_flagは、多くとも1つのピクチャがCVS内の各ピクチャのレイヤ間予測に使用されることを指定し、またはこれを示すことができる。また、0と等しいmax_one_active_ref_layer_flagは、複数のピクチャがCVS内の各ピクチャのレイヤ間予測に使用されることを指定し、またはこれを示すことができる。
[0120]表3および表4の例では、1と等しいhighest_dep_layer_used_flagは、最大の値のnuh_layer_idを有する従属レイヤだけが、レイヤ間予測を使用する各ピクチャのレイヤ間予測に使用されることを指定し、またはこれを示すことができる。また、0と等しいhighest_dep_layer_used_flagは、すべての従属レイヤが、各ピクチャのレイヤ間予測に使用されてもされなくてもよいことを指定し、またはこれを示すことができる。highest_dep_layer_used_flagがビットストリーム内に存在しない時、またはhighest_dep_layer_used_flagの値がビットストリーム内でシグナリングされない時には、highest_dep_layer_used_flagの値は、デコーダによって0と等しいと推論され得る。
[0121]実施形態の第1のセットの他の実施形態では、シンタックスは、下の表4に示されたものに対応することができる。

[0122]実施形態の第1のセットのさらなる他の実施形態では、シンタックスは、下の表5に示されたものに対応することができる。

表5の例では、selective_dep_layer_idcは、表6に示された値をとることができる。

全般的なスライスセグメントヘッダのシンタックスおよびセマンティクス(実施形態の第2のセット)
[0123]実施形態の第2のセットの一部の実施形態では、シンタックスは、下の表7に示されたものに対応することができる。
[0124]表7および表8の例では、1と等しいinter_layer_pred_enabled_flagは、レイヤ間予測が現在のピクチャの復号で使用され得ることを指定し、またはこれを示すことができる。また、0と等しいinter_layer_pred_enabled_flagは、レイヤ間予測が現在のピクチャの復号で使用されないことを指定し、またはこれを示すことができる。inter_layer_pred_enabled_flagがビットストリーム内に存在しない時、またはinter_layer_pred_enabled_flagの値がビットストリーム内でシグナリングされない時には、inter_layer_pred_enabled_flagの値は、デコーダによってall_dep_layer_used_flagの値と等しいと推論され得る。

[0125]表7および表8の例では、num_inter_layer_ref_pics_minus1に1を加えたものが、レイヤ間予測に関して現在のピクチャの復号で使用され得るピクチャの個数を指定し、またはこれを示すことができる。num_inter_layer_ref_pics_minus1シンタックス要素の長さは、Ceil(Log2(NumDirectRefLayers[nuh_layer_id]−1)ビットとすることができる。num_inter_layer_ref_pics_minus1の値は、両端を含めて0からNumDirectRefLayers[nuh_layer_id]−1までの範囲内のビーとすることができる。
[0126]表7および表8の例では、変数NumActiveRefLayerPicsは、次のように導出され得る。

コーディングされたピクチャのすべてのスライスが、同一の値のNumActiveRefLayerPicsを有することができる。
[0127]表7および表8の例では、inter_layer_pred_layer_idc[i]は、レイヤ間予測に関して現在のピクチャによって使用され得る第iのピクチャのnuh_layer_idを表す変数RefPicLayerId[i]を指定し、またはこれを示すことができる。シンタックス要素inter_layer_pred_layer_idc[i]の長さは、Ceil(Log2(NumDirectRefLayers[nuh_layer_id]))ビットとすることができる。inter_layer_pred_layer_idc[i]の値は、両端を含めて0からNumDirectRefLayers[nuh_layer_id]−1までの範囲内とすることができる。
[0128]inter_layer_pred_layer_idc[i]がビットストリーム内に存在しない時、またはinter_layer_pred_layer_idc[i]の値がビットストリーム内でシグナリングされない時には、inter_layer_pred_layer_idc[i]の値は、次のようにデコーダによって推論され得る。

iが0より大きい時には、inter_layer_pred_layer_idc[i]は、inter_layer_pred_layer_idc[i−1]より大きくなり得る。
[0129]両端を含めて0からNumActiveRefLayerPics−1までの範囲内のiの各値の変数RefPicLayerId[i]は、次のように導出され得る。

あるピクチャのすべてのスライスが、両端を含めて0からNumActiveRefLayerPics−1までの範囲内のiの各値について、同一の値のinter_layer_pred_layer_idc[i]を有することができる。
[0130]実施形態の第2のセットの他の実施形態では、シンタックスは、下の表8に示されたものに対応することができる。

[0131]いくつかの実施形態では、両端を含めて0からNumActiveRefLayerPics−1までの範囲内のiの値ごとに、次の2つの条件のいずれかが真になることが、ビットストリームコンフォーマンスの要件になり得る。第1の条件は、max_sublayer_for_ilp_plus1[LayerIdInVps[RefPicLayerId[i]]]の値がTemporalIdより大きいことである。第2の条件は、max_sublayer_for_ilp_plus1[LayerIdInVps[RefPicLayerId[i]]]の値とTemporalIdの値の両方が、0と等しく、RefPicLayerId[i]と等しいnuh_layer_idを有する現在のアクセスユニット内のピクチャが、IRAPピクチャであることである。
[0132]いくつかの実施形態では、両端を含めて0からNumActiveRefLayerPics−1までの範囲内のiの値ごとに、SamplePredEnabledFlag[nuh_layer_id][RefPicLayerId[i]]の値またはMotionPredEnabledFlag[nuh_layer_id][RefPicLayerId[i]]の値が、1と等しくなることが、ビットストリームコンフォーマンスの要件になり得る。
[0133]実施形態の第2のセットの他の実施形態では、シンタックスは、下の表9に示されたものに対応することができる。

全般的なスライスセグメントヘッダのシンタックスおよびセマンティクス(実施形態の第3のセット)
[0134]実施形態の第3のセットでは、参照レイヤピクチャのアクティブ個数が参照レイヤピクチャの総数と同一である場合に情報を送ることを回避するために、スライスヘッダ内の参照レイヤピクチャ(RLP)インデックスのシグナリングに関する条件が、追加され得る。たとえば、いくつかの実施形態では、ビデオ情報をコーディングする方法は、ビデオ情報の1つまたは複数のレイヤを受け取ることと、各レイヤが少なくとも1つのピクチャを備える、1つまたは複数のレイヤのうちの1つに関連付けられた直接参照レイヤの個数を決定することと、直接参照レイヤの個数がビデオ情報に関連付けられたアクティブ参照レイヤピクチャの個数と等しい時に、レイヤ間参照ピクチャ情報をシグナリングすることを控えることとを含むことができる。この方法は、前記決定することに少なくとも部分的に基づいて前記ビデオ情報をコーディングすることをさらに含むことができる。
[0135]実施形態の第3のセットのいくつかの実施形態では、シンタックスは、下の表10に示されたものに対応することができる。

[0136]表10の例では、inter_layer_pred_layer_idc[i]は、レイヤ間予測に関して現在のピクチャによって使用され得る第iのピクチャのnuh_layer_idを表す変数RefPicLayerId[i]を指定し、またはこれを示すことができる。シンタックス要素inter_layer_pred_layer_idc[i]の長さは、Ceil(Log2(NumDirectRefLayers[nuh_layer_id]))ビットとすることができる。inter_layer_pred_layer_idc[i]の値は、両端を含めて0からNumDirectRefLayers[nuh_layer_id]−1までの範囲内とすることができる。
[0137]inter_layer_pred_layer_idc[i]がビットストリーム内に存在しない時、またはinter_layer_pred_layer_idc[i]の値がビットストリーム内でシグナリングされない時には、inter_layer_pred_layer_idc[i]の値は、次のようにデコーダによって推論され得る。

全般的なスライスセグメントヘッダのシンタックスおよびセマンティクス(実施形態の第4のセット)
[0138]実施形態の第4のセットのいくつかの実施形態では、シンタックスhighest_ref_layer_active_flagは、最大の値のnuh_layer_idを有する参照レイヤからのピクチャが、必ずレイヤ間参照ピクチャセット内に含まれるかどうかを示すためにシグナリングされ得る。たとえば、highest_ref_layer_active_flagが1と等しく、レイヤ間参照ピクチャセットが空ではない時には、最大の値のnuh_layer_idを有する参照レイヤからのピクチャが、レイヤ間参照ピクチャセット内の最初のエントリとして必ず存在することができる。
[0139]これらの実施形態では、最大の値のnuh_layer_idを有するピクチャが、レイヤ間参照ピクチャセット内に含まれる(たとえば、highest_ref_layer_active_flagによって示される)時であっても、他の参照レイヤからのピクチャが、それでも、レイヤ間参照ピクチャセットに追加され得る。
[0140]実施形態の第4のセットのいくつかの実施形態では、シンタックスは、下の表11に示されたものに対応することができる。

[0141]表11および表12の例では、1と等しいall_ref_layers_active_flagは、VPSを参照するピクチャごとに、VPSによって指定されるすべての直接参照レイヤのピクチャが、同一のアクセスユニット内に存在し、レイヤ間参照ピクチャセット内に含まれることを指定し、またはこれを示すことができる。また、0と等しいall_dep_layer_used_flagは、上記の制約が適用されてもされなくてもよいことを指定し、またはこれを示すことができる。
[0142]表11および表12の例では、1と等しいhighest_ref_layer_active_flagは、VPSを参照する現在のピクチャの、最大の値のnuh_layer_idを有する直接参照レイヤピクチャが、レイヤ間参照ピクチャセット内に含まれることを指定し、またはこれを示すことができる。また、0と等しいhighest_ref_layer_active_flagは、上記の制約が適用されてもされなくてもよいことを指定し、またはこれを示すことができる。highest_ref_layer_active_flagがビットストリーム内に存在しない時、またはhighest_ref_layer_active_flagの値がビットストリーム内でシグナリングされない時には、highest_ref_layer_active_flagの値は、デコーダによって0であると推論され得る。
[0143]実施形態の第4のセットの一部の実施形態では、シンタックスは、下の表12に示されたものに対応することができる。
[0144]表12の例では、num_inter_layer_ref_pics_minus1に1を加えたものが、レイヤ間予測に関して現在のピクチャの復号で使用され得るピクチャの個数を指定し、またはこれを示すことができる。num_inter_layer_ref_pics_minus1シンタックス要素の長さは、Ceil(Log2(NumDirectRefLayers[nuh_layer_id]−1)ビットとすることができる。num_inter_layer_ref_pics_minus1の値は、両端を含めて0からNumDirectRefLayers[nuh_layer_id]−1までの範囲内のビーとすることができる。

[0145]変数NumActiveRefLayerPicsは、次のように導出され得る。

コーディングされたピクチャのすべてのスライスが、同一の値のNumActiveRefLayerPicsを有することができる。
[0146]表12の例では、inter_layer_pred_layer_idc[i]が、レイヤ間予測に関して現在のピクチャによって使用され得る第iのピクチャのnuh_layer_idを表す変数RefPicLayerId[i]を指定し、またはこれを示すことができる。シンタックス要素inter_layer_pred_layer_idc[i]の長さは、Ceil(Log2(NumDirectRefLayers[nuh_layer_id]))ビットとすることができる。inter_layer_pred_layer_idc[i]の値は、両端を含めて0からNumDirectRefLayers[nuh_layer_id]−1までの範囲内のビーとすることができる。
[0147]NumActiveRefLayerPicsが0より大きい時には、以下が、inter_layer_pred_layer_idc[i]の値の推論に関してあてはまる可能性がある。

iが0より大きい時に、inter_layer_pred_layer_idc[i]は、inter_layer_pred_layer_idc[i−1]以下であることができる。
[0148]両端を含めて0からNumActiveRefLayerPics−1までの範囲内のiの各値の変数RefPicLayerId[i]と、変数NumActiveMotionPredRefLayersと、両端を含めて0からNumActiveMotionPredRefLayers−1までの範囲内のjの各値の変数ActiveMotionPredRefLayerId[j]とは、次のように導出され得る。

あるピクチャのすべてのスライスが、両端を含めて0からNumActiveRefLayerPics−1までの範囲内のiの各値について同一の値のinter_layer_pred_layer_idc[i]を有することができる。
[0149]いくつかの実施形態では、両端を含めて0からNumActiveRefLayerPics−1までの範囲内のiの値ごとに、次の2つの条件のいずれかが真であることが、ビットストリームコンフォーマンスの要件になり得る。第1の条件は、max_tid_il_ref_pics_plus1[LayerIdxInVps[RefPicLayerId[i]]]の値がTemporalIdより大きいことである。第2の条件は、max_tid_il_ref_pics_plus1[LayerIdxInVps[RefPicLayerId[i]]]の値とTemporalIdの値の両方が、0と等しく、RefPicLayerId[i]と等しいnuh_layer_idを有する現在のアクセスユニット内のピクチャが、IRAPピクチャであることである。
[0150]いくつかの実施形態では、両端を含めて0からNumActiveRefLayerPics−1までの範囲内のiの値ごとに、SamplePredEnabledFlag[nuh_layer_id][RefPicLayerId[i]]の値またはMotionPredEnabledFlag[nuh_layer_id][RefPicLayerId[i]]の値が1と等しいことが、ビットストリームコンフォーマンスの要件になり得る。
全般的なスライスセグメントヘッダのシンタックスおよびセマンティクス(実施形態の第5のセット)
[0151]実施形態の第5のセットでは、VPSシンタックス設計は、上で議論された実施形態の第4のセットのVPSシンタックス設計と同一とされ得る。しかしながら、実施形態の第5のセットでは、inter_layer_pred_layer_idc[i]の値のザ順序が、異なるものとされ得る。たとえば、実施形態の第5のセットでは、highest_ref_layer_active_flagが1と等しい時に、このピクチャは、レイヤ間参照ピクチャセット内の最後のエントリとして必ず存在することができる。実施形態の第4のセットに似て、最大の値のnuh_layer_idを有するピクチャが、レイヤ間参照ピクチャセット内に含まれる(たとえば、highest_ref_layer_active_flagによって示される)時であっても、他の参照レイヤからのピクチャが、それでも、レイヤ間参照ピクチャセットに追加され得る。
[0152]実施形態の第5のセットの一部の実施形態では、シンタックスは、下の表13に示されたものに対応することができる。

[0153]表13の例では、num_inter_layer_ref_pics_minus1に1を加えたものが、レイヤ間予測に関して現在のピクチャの復号で使用され得るピクチャの個数を指定し、またはこれを示すことができる。num_inter_layer_ref_pics_minus1シンタックス要素の長さは、Ceil(Log2(NumDirectRefLayers[nuh_layer_id]−1)ビットとすることができる。num_inter_layer_ref_pics_minus1の値は、両端を含めて0からNumDirectRefLayers[nuh_layer_id]−1までの範囲内とすることができる。
[0154]変数NumActiveRefLayerPicsは、次のように導出され得る。

コーディングされたピクチャのすべてのスライスが、同一の値のNumActiveRefLayerPicsを有することができる。
[0155]表13の例では、inter_layer_pred_layer_idc[i]は、レイヤ間予測に関して現在のピクチャによって使用され得る第iのピクチャのnuh_layer_idを表す変数RefPicLayerId[i]を指定し、またはこれを示すことができる。シンタックス要素inter_layer_pred_layer_idc[i]の長さは、Ceil(Log2(NumDirectRefLayers[nuh_layer_id]))ビットとすることができる。inter_layer_pred_layer_idc[i]の値は、両端を含めて0からNumDirectRefLayers[nuh_layer_id]−1までの範囲内とすることができる。
[0156]NumActiveRefLayerPicsが0より大きい時には、以下が、inter_layer_pred_layer_idc[i]の値の推論についてあてはまる可能性がある。

iが0より大きい時には、inter_layer_pred_layer_idc[i]は、inter_layer_pred_layer_idc[i−1]より大きくなり得る。
[0157]両端を含めて0からNumActiveRefLayerPics−1までの範囲内のiの各値の変数RefPicLayerId[i]、変数NumActiveMotionPredRefLayers、および両端を含めて0からNumActiveMotionPredRefLayers−1までの範囲内のjの各値の変数ActiveMotionPredRefLayerId[j]は、次のように導出され得る。

あるピクチャのすべてのスライスが、両端を含めて0からNumActiveRefLayerPics−1までの範囲内のiの値ごとに同一の値のinter_layer_pred_layer_idc[i]を有することができる。
[0158]いくつかの実施形態では、両端を含めて0からNumActiveRefLayerPics−1までの範囲内のiの値ごとに、以下の2つの条件のいずれかが真になることが、ビットストリームコンフォーマンスの要件になり得る。第1の条件は、max_tid_il_ref_pics_plus1[LayerIdxInVps[RefPicLayerId[i]]]の値がTemporalIdより大きいことである。第2の条件は、max_tid_il_ref_pics_plus1[LayerIdxInVps[RefPicLayerId[i]]]の値とTemporalIdの値の両方が、0と等しく、RefPicLayerId[i]と等しいnuh_layer_idを有する現在のアクセスユニット内のピクチャが、IRAPピクチャであることである。
[0159]いくつかの実施形態では、両端を含めて0からNumActiveRefLayerPics−1までの範囲内のiの値ごとに、SamplePredEnabledFlag[nuh_layer_id][RefPicLayerId[i]]の値またはMotionPredEnabledFlag[nuh_layer_id][RefPicLayerId[i]]の値が1と等しいことが、ビットストリームコンフォーマンスの要件になり得る。
[0160]図7は、例の実施形態に従ってビデオデータを符号化する例の方法700を示す。方法700は、たとえばビデオエンコーダ20の1つまたは複数の構成要素によって実行され得る。いくつかの実施形態では、他の構成要素が、本明細書で説明されるステップのうちの1つまたは複数を実施するのに使用され得る。
[0161]ブロック702では、ビデオ情報の1つまたは複数のレイヤが、受け取られ得る。各レイヤは、少なくとも1つのピクチャを含むことができる。
[0162]ブロック704では、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つ内のインジケータが、処理され得る。たとえば、すべての従属レイヤピクチャが追加されることを指定しまたは示す表示を有するVPSを参照する任意のスライスが、スライスヘッダ内にレイヤ間シグナリングに関する任意のさらなるシンタックス要素を含まないように、すべての直接参照レイヤピクチャがビデオパラメータセット(VPS)内のレイヤ間参照ピクチャセット(RPS)に追加されるのかどうかの表示が、VPSに導入され得る。代替案では、この表示は、SPS内および/またはPPS内に存在することができる。したがって、すべての直接参照レイヤピクチャが、SPSまたはPPSを参照する(たとえば、これに関連付けられた)任意のおよびすべてのスライスに関してレイヤ間RPSに追加されるという制約が、同様にあてはまる。加えて、すべての直接参照レイヤピクチャがレイヤ間RPSに追加されるという制約は、制約が必ず適応され得るように、MV−HEVCについて導入され得る。いくつかの実施形態では、all_dep_layer_used_flagなどのインジケータは、VPS構文によって指定され得る現在のピクチャのすべての直接参照レイヤピクチャが、VPSを参照するピクチャごとにレイヤ間参照ピクチャセットに追加されるかどうかを指定しまたは示すために、処理され得る。
[0163]ブロック706では、インジケータの値が、評価され得る。インジケータに基づいて(たとえば、インジケータが、すべての関連付けられた直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されることを示さない場合に)、方法700は、終了することができる。たとえば、all_dep_layer_used_flagなどのインジケータが0と等しい場合に、VPSシンタックスによって指定される現在のピクチャのすべての直接参照レイヤピクチャは、VPSを参照するピクチャに関してレイヤ間参照ピクチャセットに追加されてもされなくてもよい。たとえば、いくつかの実施形態では、インジケータに基づいて(たとえば、all_dep_layer_used_flagが0と等しい場合に)、この方法は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライス内でレイヤ間参照ピクチャ情報をさらにシグナリングすることを控えないことを含むことができる。
[0164]ブロック708では、インジケータに基づいて(たとえば、すべての関連付けられた直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されることをインジケータが示す場合に)、方法700は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライス内でレイヤ間参照ピクチャ情報をさらにシグナリングすることを控えることを含むことができる。たとえば、いくつかの実施形態では、インジケータに基づいて(たとえば、all_dep_layer_used_flagが1と等しい場合に)、方法700は、少なくとも1つのビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)に関連付けられた任意のビデオスライス内でレイヤ間参照ピクチャ情報をさらにシグナリングすることを控えることを含むことができる。
[0165]図8は、例の実施形態に従ってビデオデータを復号する例の方法800を示す。方法800は、たとえばビデオデコーダ30の1つまたは複数の構成要素によって実行され得る。いくつかの実施形態では、他の構成要素が、本明細書で説明されるステップのうちの1つまたは複数を実施するのに使用され得る。
[0166]ブロック802では、ビデオ情報の1つまたは複数のレイヤが、受け取られ得る。各レイヤは、少なくとも1つのピクチャを含むことができる。
[0167]ブロック804では、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つ内のインジケータが、処理され得る。たとえば、すべての直接参照レイヤピクチャがビデオパラメータセット(VPS)内のレイヤ間参照ピクチャセット(RPS)に追加されるのかどうかの表示を、VPS内で受け取ることができる。そのような表示を用いて、VPSに関連付けられたすべてのスライスが、任意のビデオスライスのスライスヘッダ内のレイヤ間シグナリングに関するシンタックス要素を受け取ることなく、レイヤ間参照ピクチャセットに追加される。代替案では、表示は、SPS内またはPPS内で受け取られ得る。したがって、すべての直接参照レイヤピクチャが、SPSまたはPPSを参照する(たとえば、これに関連付けられた)任意のおよびすべてのスライスに関してレイヤ間RPSに追加されるという制約が、同様にあてはまる。加えて、すべての直接参照レイヤピクチャがレイヤ間RPSに追加されるという制約は、制約が必ず適応され得るように、MV−HEVCについて導入され得る。いくつかの実施形態では、all_dep_layer_used_flagなどのインジケータは、VPSシンタックスによって指定され得る現在のピクチャのすべての直接参照レイヤピクチャが、VPSを参照するピクチャごとにレイヤ間参照ピクチャセットに追加されるかどうかを指定しまたは示すために、処理され得る。
[0168]ブロック806では、インジケータの値が、評価され得る。インジケータによって示されない場合には、方法800は、終了することができる。たとえば、all_dep_layer_used_flagなどのインジケータが0と等しい場合に、VPSシンタックスによって指定され得る現在のピクチャのすべての直接参照レイヤピクチャは、VPSを参照するピクチャに関してレイヤ間参照ピクチャセットに追加されてもされなくてもよい。たとえば、いくつかの実施形態では、インジケータによって示される場合に(たとえば、all_dep_layer_used_flagが0と等しい場合に)、この方法は、少なくとも1つのビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)に関連付けられた任意のビデオスライス内でレイヤ間参照ピクチャ情報をさらにシグナリングすることを控えないことを含むことができる。
[0169]ブロック808では、インジケータによって示される場合に、方法800は、少なくとも1つのビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)に関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャをレイヤ間参照ピクチャセットに追加することを含むことができる。たとえば、いくつかの実施形態では、インジケータによって示される場合に(たとえば、all_dep_layer_used_flagが1と等しい場合に)、方法800は、少なくとも1つのビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)に関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャをレイヤ間参照ピクチャセットに追加することを含むことができる。
[0170]図9は、別の実施形態に従ってビデオデータを符号化する例の方法900を示す。方法900は、たとえばビデオエンコーダ20の1つまたは複数の構成要素によって実行され得る。いくつかの実施形態では、他の構成要素が、本明細書で説明されるステップのうちの1つまたは複数を実施するのに使用され得る。
[0171]ブロック902では、ビデオ情報の1つまたは複数のレイヤが、受け取られ得る。各レイヤは、少なくとも1つのピクチャを含むことができる。
[0172]ブロック904では、1つまたは複数のレイヤの少なくとも1つのピクチャに関連付けられたアクティブ参照レイヤピクチャの個数が、決定され得る。たとえば、アクティブ参照レイヤピクチャの個数を指定する第1のインジケータは、スライスヘッダまたはピクチャパラメータセット(PPS)のうちの少なくとも1つ内で生成され得る。ブロック906では、1つまたは複数のレイヤのうちの少なくとも1つに関連付けられた直接参照レイヤの個数が、決定され得る。たとえば、直接参照レイヤの個数を指定する第2のインジケータは、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはPPSのうちの少なくとも1つ内で生成され得る。
[0173]ブロック908では、方法900は、直接参照レイヤの個数がアクティブ参照レイヤピクチャの個数と等しいかどうかを決定することを含むことができる。直接参照レイヤの個数がアクティブ参照レイヤピクチャの個数と等しいことに基づいて、ブロック910では、方法900は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライス内でレイヤ間参照ピクチャ情報をさらにシグナリングすることを控えることを含むことができる。たとえば、NumDirectRefLayers[nuh_layer_id]がNumActiveRefLayerPicsと等しい時に、方法900は、レイヤ間参照ピクチャ情報をシグナリングすることを控えることができる。具体的には、いくつかの実施形態で、NumDirectRefLayers[nuh_layer_id]がNumActiveRefLayerPicsと等しい時に、inter_layer_pred_layer_idc[i]は、シグナリングされない。
[0174]図10は、一実施形態に従ってビデオデータを復号する例の方法1000を示す。方法1000は、たとえばビデオデコーダ30の1つまたは複数の構成要素によって実行され得る。いくつかの実施形態では、他の構成要素が、本明細書で説明されるステップのうちの1つまたは複数を実施するのに使用され得る。
[0175]ブロック1002では、ビデオ情報の1つまたは複数のレイヤを受け取ることができる。各レイヤは、少なくとも1つのピクチャを含むことができる。
[0176]ブロック1004では、1つまたは複数のレイヤの少なくとも1つのピクチャに関連付けられたアクティブ参照レイヤピクチャの個数が決定され得る。たとえば、アクティブ参照レイヤピクチャの個数を指定する第1のインジケータは、スライスヘッダまたはピクチャパラメータセット(PPS)のうちの少なくとも1つ内で受け取られ得る。ブロック1006では、1つまたは複数のレイヤのうちの少なくとも1つに関連付けられた直接参照レイヤの個数が、決定され得る。たとえば、直接参照レイヤの個数を指定する第2のインジケータは、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはPPSのうちの少なくとも1つ内で受け取られ得る。
[0177]ブロック1008では、方法1000は、直接参照レイヤの個数がアクティブ参照レイヤピクチャの個数と等しいかどうかを決定することを含むことができる。直接参照レイヤの個数がアクティブ参照レイヤピクチャの個数と等しいことに基づいて、ブロック1010で、方法1000は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャをレイヤ間参照ピクチャセットに追加することを含むことができる。たとえば、NumDirectRefLayers[nuh_layer_id]がNumActiveRefLayerPicsと等しい時に、方法1000は、レイヤ間参照ピクチャ情報を決定することができる。具体的には、いくつかの実施形態で、NumDirectRefLayers[nuh_layer_id]がNumActiveRefLayerPicsと等しい時に、inter_layer_pred_layer_idc[i]は、デコーダによって決定される。
[0178]例に依存して、本明細書で説明される技法のいずれかのある種の行為または事象が、異なるシーケンスで実行され得、追加され、合併され、または完全に除外され得る(たとえば、すべての説明された行為または事象が、技法の実践に必要とは限らない)ことを了解されたい。さらに、ある種の例では、行為または事象は、順次ではなく同時に、たとえばマルチスレッド式処理、割込み処理、または複数のプロセッサを介して実行され得る。
[0179]1つまたは複数の例では、説明される機能が、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せで実施され得る。ソフトウェアで実施される場合に、機能は、コンピュータ可読媒体上の1つまたは複数の命令またはコード上に記憶されまたはこれを介して伝送され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形の媒体に対応するコンピュータ可読記憶媒体、またはたとえば通信プロトコルに従う、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含むことができる。この形で、コンピュータ可読媒体は、一般に、(1)非一時的である有形のコンピュータ可読記憶媒体または(2)信号もしくは搬送波などの通信媒体に対応することができる。データ記憶媒体は、本開示で説明される技法の実施のために命令、コード、および/またはデータ構造を取り出すために1つまたは複数のコンピュータまたは1つまたは複数のプロセッサによってアクセスされ得る任意の使用可能な媒体とされ得る。コンピュータプログラム製品は、コンピュータ可読媒体を含むことができる。
[0180]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMもしくは他の光ディスク(disk)ストレージ、磁気ディスク(disk)ストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または命令もしくはデータ構造の形で所望のプログラムコードを記憶するのに使用され得、コンピュータによってアクセスされ得る任意の他の媒体を備えることができる。また、すべての接続は、当然、コンピュータ可読媒体と呼ばれる。たとえば、命令が、ウェブサイト、サーバ、または他のリモートソースから、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して送信される場合に、同軸ケーブル、光ファイバケーブル、より対線、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体が、接続、搬送波、信号、または他の一時的媒体を含むのではなく、非一時的な有形の記憶媒体を対象とすることを理解されたい。ディスク(diskおよびdisc)は、本明細書で使用される時に、コンパクトディスク(disc、CD)、レーザディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc、DVD)、フロッピー(登録商標)ディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常はデータを磁気的に再生し、ディスク(disc)は、レーザを用いてデータを光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲に含まれなければならない。
[0181]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の同等の集積回路もしくはディスクリート論理回路などの1つまたは複数のプロセッサによって実行され得る。したがって、「プロセッサ」という用語は、本明細書で使用される時に、前述の構造のいずれかまたは本明細書で説明される技法の実施に適する任意の他の構造を指すことができる。加えて、他の態様では、本明細書で説明される機能性が、符号化と復号とのために構成された専用のハードウェアモジュールおよび/またはソフトウェアモジュール内で提供され、または組み合わされたコーデック内に組み込まれ得る。また、この技法は、1つまたは複数の回路または論理要素内で完全に実施され得る。
[0182]本開示の技法は、ワイヤレス送受話器、集積回路(IC)、または1組のIC(たとえば、チップセット)を含む、多種多様なデバイスまたは装置内で実施され得る。様々な構成要素、モジュール、またはユニットは、開示された技法を実行するように構成されたデバイスの機能的態様を強調するために、本開示で説明されるが、必ずしも異なるハードウェアユニットによる実現を要求するとは限らない。むしろ、上で説明されるように、様々なユニットは、コーデックハードウェアユニット内で組み合わされ、または、適当なソフトウェアおよび/またはファームウェアに関連する、上で説明された1つまたは複数のプロセッサを含む相互作用するハードウェアユニットの集合によって提供され得る。様々な例が、説明された。これらおよび他の例は、以下の特許請求の範囲に含まれる。
[0182]本開示の技法は、ワイヤレス送受話器、集積回路(IC)、または1組のIC(たとえば、チップセット)を含む、多種多様なデバイスまたは装置内で実施され得る。様々な構成要素、モジュール、またはユニットは、開示された技法を実行するように構成されたデバイスの機能的態様を強調するために、本開示で説明されるが、必ずしも異なるハードウェアユニットによる実現を要求するとは限らない。むしろ、上で説明されるように、様々なユニットは、コーデックハードウェアユニット内で組み合わされ、または、適当なソフトウェアおよび/またはファームウェアに関連する、上で説明された1つまたは複数のプロセッサを含む相互作用するハードウェアユニットの集合によって提供され得る。様々な例が、説明された。これらおよび他の例は、以下の特許請求の範囲に含まれる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオ情報の1つまたは複数のレイヤを記憶するように構成されたメモリと、各レイヤが少なくとも1つのピクチャを備える、
前記メモリに動作可能に結合され、
ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つ内のインジケータを処理し、
前記インジケータに基づいて、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つに関連付けられた任意のビデオスライス内でレイヤ間参照ピクチャ情報をさらにシグナリングすることを控える
ように構成されたプロセッサと
を備える、ビデオ情報を符号化するための装置。
[C2]
前記インジケータは、フラグを備える、C1に記載の装置。
[C3]
前記プロセッサは、少なくとも前記インジケータを生成することによって前記インジケータを処理するように構成される、C1に記載の装置。
[C4]
前記プロセッサは、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、前記ピクチャパラメータセット(PPS)、またはその任意の組合せのうちの1つ内で前記インジケータをシグナリングすることによって、前記インジケータを処理するように構成される、C1に記載の装置。
[C5]
前記プロセッサは、任意のビデオスライスのスライスヘッダ内にレイヤ間シグナリングに関する任意のさらなるシンタックス要素を含めることを控えることによって、レイヤ間参照ピクチャ情報をさらにシグナリングすることを控えるように構成される、C1に記載の装置。
[C6]
前記直接参照レイヤピクチャは、各時間サブレイヤ内のレイヤごとに前記ビデオパラメータセット内で指定されるレイヤ内のピクチャを備える、C1に記載の装置。
[C7]
前記装置は、前記メモリと前記プロセッサとを備える、デジタルテレビジョン、デジタル直接ブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータもしくはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレイヤ、ビデオゲーミングデバイス、ビデオゲーム機、セルラー電話機もしくは衛星無線電話機、およびビデオ会議デバイスのうちの少なくとも1つをさらに備える、C1に記載の装置。
[C8]
ビデオ情報の1つまたは複数のレイヤを記憶するように構成されたメモリと、各レイヤが少なくとも1つのピクチャを備える、
前記メモリに動作可能に結合され、
ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つ内のインジケータを処理し、
前記インジケータに基づいて、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャを前記レイヤ間参照ピクチャセットに追加する
ように構成されたプロセッサと
を備える、ビデオ情報を復号するための装置。
[C9]
前記インジケータは、フラグを備える、C8に記載の装置。
[C10]
前記プロセッサは、少なくとも前記インジケータを受け取ることによって前記インジケータを処理するように構成される、C8に記載の装置。
[C11]
前記プロセッサは、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、前記ピクチャパラメータセット(PPS)、またはその任意の組合せのうちの1つ内で前記インジケータを受け取ることによって、前記インジケータを処理するように構成される、C8に記載の装置。
[C12]
前記プロセッサは、任意のビデオスライスのスライスヘッダ内でレイヤ間シグナリングに関する任意のさらなるシンタックス要素を受け取らずに、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャを前記レイヤ間参照ピクチャセットに追加するように構成される、C8に記載の装置。
[C13]
前記直接参照レイヤピクチャは、各時間サブレイヤ内のレイヤごとに前記ビデオパラメータセット内で指定されるレイヤ内のピクチャを備える、C8に記載の装置。
[C14]
前記装置は、前記メモリと前記プロセッサとを備える、デジタルテレビジョン、デジタル直接ブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータもしくはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレイヤ、ビデオゲーミングデバイス、ビデオゲーム機、セルラー電話機もしくは衛星無線電話機、およびビデオ会議デバイスのうちの少なくとも1つをさらに備える、C8に記載の装置。
[C15]
ビデオ情報の1つまたは複数のレイヤを受け取ることと、各レイヤが少なくとも1つのピクチャを備える、
ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つ内のインジケータを処理することと、
前記インジケータに基づいて、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つに関連付けられた任意のビデオスライス内でレイヤ間参照ピクチャ情報をさらにシグナリングすることを控えることと、
前記インジケータに少なくとも部分的に基づいて前記ビデオ情報をコーディングすることと
を備える、ビデオ情報を符号化する方法。
[C16]
前記インジケータは、フラグを備える、C15に記載の方法。
[C17]
前記処理することは、前記インジケータを生成することを備える、C15に記載の方法。
[C18]
前記処理することは、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、前記ピクチャパラメータセット(PPS)、またはその任意の組合せのうちの1つ内で前記インジケータをシグナリングすることを備える、C15に記載の方法。
[C19]
レイヤ間参照ピクチャ情報をさらにシグナリングすることを前記控えることは、前記スライスヘッダ内にレイヤ間シグナリングに関する任意のさらなるシンタックス要素を含めることを控えることを備える、C15に記載の方法。
[C20]
前記直接参照レイヤピクチャは、各時間サブレイヤ内のレイヤごとに前記ビデオパラメータセット内で指定されるレイヤ内のピクチャを備える、C15に記載の方法。
[C21]
ビデオ情報の1つまたは複数のレイヤを受け取ることと、各レイヤが少なくとも1つのピクチャを備える、
ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つ内のインジケータを処理することと、
前記インジケータに基づいて、少なくとも1つのビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)に関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャを前記レイヤ間参照ピクチャセットに追加することと
を備える、ビデオ情報を復号する方法。
[C22]
前記インジケータは、フラグを備える、C21に記載の方法。
[C23]
前記処理することは、前記インジケータを受け取ることを備える、C21に記載の方法。
[C24]
前記処理することは、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、前記ピクチャパラメータセット(PPS)、またはその任意の組合せのうちの1つ内で前記インジケータを受け取ることを備える、C21に記載の方法。
[C25]
前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャを前記レイヤ間参照ピクチャセットに前記追加することは、任意のビデオスライスのスライスヘッダ内でレイヤ間シグナリングに関する任意のシンタックス要素を受け取らずに追加される、C21に記載の方法。
[C26]
前記直接参照レイヤピクチャは、各時間サブレイヤ内のレイヤごとに前記ビデオパラメータセット内で指定されるレイヤ内のピクチャを備える、C21に記載の方法。
[C27]
ビデオ情報の1つまたは複数のレイヤを受け取るための手段と、各レイヤが少なくとも1つのピクチャを備える、
ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つ内のインジケータを処理するための手段と、
前記インジケータに基づいて、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャを前記レイヤ間参照ピクチャセットに追加するための手段と
を備えるビデオ復号装置。
[C28]
前記インジケータは、フラグを備える、C27に記載のビデオ復号装置。
[C29]
実行された時に、装置に、
ビデオ情報の1つまたは複数のレイヤを受け取らせ、各レイヤが少なくとも1つのピクチャを備える、
ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つ内のインジケータを処理させ、
前記インジケータに基づいて、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャを前記レイヤ間参照ピクチャセットに追加させる
コードをその上に記憶された非一時的コンピュータ可読媒体。
[C30]
前記インジケータは、フラグを備える、C29に記載の非一時的コンピュータ可読媒体。



  1. ビデオ情報の1つまたは複数のレイヤを記憶するように構成されたメモリと、各レイヤが少なくとも1つのピクチャを備える、
    前記メモリに動作可能に結合され、
    ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つ内のインジケータを処理し、
    前記インジケータに基づいて、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つに関連付けられた任意のビデオスライス内でレイヤ間参照ピクチャ情報をさらにシグナリングすることを控える
    ように構成されたプロセッサと
    を備える、ビデオ情報を符号化するための装置。

  2. 前記インジケータは、フラグを備える、請求項1に記載の装置。

  3. 前記プロセッサは、少なくとも前記インジケータを生成することによって前記インジケータを処理するように構成される、請求項1に記載の装置。

  4. 前記プロセッサは、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、前記ピクチャパラメータセット(PPS)、またはその任意の組合せのうちの1つ内で前記インジケータをシグナリングすることによって、前記インジケータを処理するように構成される、請求項1に記載の装置。

  5. 前記プロセッサは、任意のビデオスライスのスライスヘッダ内にレイヤ間シグナリングに関する任意のさらなるシンタックス要素を含めることを控えることによって、レイヤ間参照ピクチャ情報をさらにシグナリングすることを控えるように構成される、請求項1に記載の装置。

  6. 前記直接参照レイヤピクチャは、各時間サブレイヤ内のレイヤごとに前記ビデオパラメータセット内で指定されるレイヤ内のピクチャを備える、請求項1に記載の装置。

  7. 前記装置は、前記メモリと前記プロセッサとを備える、デジタルテレビジョン、デジタル直接ブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータもしくはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレイヤ、ビデオゲーミングデバイス、ビデオゲーム機、セルラー電話機もしくは衛星無線電話機、およびビデオ会議デバイスのうちの少なくとも1つをさらに備える、請求項1に記載の装置。

  8. ビデオ情報の1つまたは複数のレイヤを記憶するように構成されたメモリと、各レイヤが少なくとも1つのピクチャを備える、
    前記メモリに動作可能に結合され、
    ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つ内のインジケータを処理し、
    前記インジケータに基づいて、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャを前記レイヤ間参照ピクチャセットに追加する
    ように構成されたプロセッサと
    を備える、ビデオ情報を復号するための装置。

  9. 前記インジケータは、フラグを備える、請求項8に記載の装置。

  10. 前記プロセッサは、少なくとも前記インジケータを受け取ることによって前記インジケータを処理するように構成される、請求項8に記載の装置。

  11. 前記プロセッサは、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、前記ピクチャパラメータセット(PPS)、またはその任意の組合せのうちの1つ内で前記インジケータを受け取ることによって、前記インジケータを処理するように構成される、請求項8に記載の装置。

  12. 前記プロセッサは、任意のビデオスライスのスライスヘッダ内でレイヤ間シグナリングに関する任意のさらなるシンタックス要素を受け取らずに、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャを前記レイヤ間参照ピクチャセットに追加するように構成される、請求項8に記載の装置。

  13. 前記直接参照レイヤピクチャは、各時間サブレイヤ内のレイヤごとに前記ビデオパラメータセット内で指定されるレイヤ内のピクチャを備える、請求項8に記載の装置。

  14. 前記装置は、前記メモリと前記プロセッサとを備える、デジタルテレビジョン、デジタル直接ブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータもしくはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレイヤ、ビデオゲーミングデバイス、ビデオゲーム機、セルラー電話機もしくは衛星無線電話機、およびビデオ会議デバイスのうちの少なくとも1つをさらに備える、請求項8に記載の装置。

  15. ビデオ情報の1つまたは複数のレイヤを受け取ることと、各レイヤが少なくとも1つのピクチャを備える、
    ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つ内のインジケータを処理することと、
    前記インジケータに基づいて、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つに関連付けられた任意のビデオスライス内でレイヤ間参照ピクチャ情報をさらにシグナリングすることを控えることと、
    前記インジケータに少なくとも部分的に基づいて前記ビデオ情報をコーディングすることと
    を備える、ビデオ情報を符号化する方法。

  16. 前記インジケータは、フラグを備える、請求項15に記載の方法。

  17. 前記処理することは、前記インジケータを生成することを備える、請求項15に記載の方法。

  18. 前記処理することは、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、前記ピクチャパラメータセット(PPS)、またはその任意の組合せのうちの1つ内で前記インジケータをシグナリングすることを備える、請求項15に記載の方法。

  19. レイヤ間参照ピクチャ情報をさらにシグナリングすることを前記控えることは、前記スライスヘッダ内にレイヤ間シグナリングに関する任意のさらなるシンタックス要素を含めることを控えることを備える、請求項15に記載の方法。

  20. 前記直接参照レイヤピクチャは、各時間サブレイヤ内のレイヤごとに前記ビデオパラメータセット内で指定されるレイヤ内のピクチャを備える、請求項15に記載の方法。

  21. ビデオ情報の1つまたは複数のレイヤを受け取ることと、各レイヤが少なくとも1つのピクチャを備える、
    ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つ内のインジケータを処理することと、
    前記インジケータに基づいて、少なくとも1つのビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)に関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャを前記レイヤ間参照ピクチャセットに追加することと
    を備える、ビデオ情報を復号する方法。

  22. 前記インジケータは、フラグを備える、請求項21に記載の方法。

  23. 前記処理することは、前記インジケータを受け取ることを備える、請求項21に記載の方法。

  24. 前記処理することは、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、前記ピクチャパラメータセット(PPS)、またはその任意の組合せのうちの1つ内で前記インジケータを受け取ることを備える、請求項21に記載の方法。

  25. 前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャを前記レイヤ間参照ピクチャセットに前記追加することは、任意のビデオスライスのスライスヘッダ内でレイヤ間シグナリングに関する任意のシンタックス要素を受け取らずに追加される、請求項21に記載の方法。

  26. 前記直接参照レイヤピクチャは、各時間サブレイヤ内のレイヤごとに前記ビデオパラメータセット内で指定されるレイヤ内のピクチャを備える、請求項21に記載の方法。

  27. ビデオ情報の1つまたは複数のレイヤを受け取るための手段と、各レイヤが少なくとも1つのピクチャを備える、
    ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つ内のインジケータを処理するための手段と、
    前記インジケータに基づいて、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャを前記レイヤ間参照ピクチャセットに追加するための手段と
    を備えるビデオ復号装置。

  28. 前記インジケータは、フラグを備える、請求項27に記載のビデオ復号装置。

  29. 実行された時に、装置に、
    ビデオ情報の1つまたは複数のレイヤを受け取らせ、各レイヤが少なくとも1つのピクチャを備える、
    ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられたすべての直接参照レイヤピクチャがレイヤ間参照ピクチャセットに追加されるのかどうかを示す、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つ内のインジケータを処理させ、
    前記インジケータに基づいて、前記ビデオパラメータセット(VPS)、前記シーケンスパラメータセット(SPS)、または前記ピクチャパラメータセット(PPS)のうちの前記少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャを前記レイヤ間参照ピクチャセットに追加させる
    コードをその上に記憶された非一時的コンピュータ可読媒体。

  30. 前記インジケータは、フラグを備える、請求項29に記載の非一時的コンピュータ可読媒体。

 

 

Patent trol of patentswamp
類似の特許
例示的なビデオコーディングデバイスは、ビュー間予測された動きベクトル候補(IPMVC)を動きベクトル継承(MVI)候補と比較するように構成され、IPMVCとMVI候補は各々、従属深度ビュー中のビデオデータのブロックと関連付けられ、IPMVCはベース深度ビュー中のビデオデータの対応するブロックから生成される。ビデオコーディングデバイスはさらに、IPMVCがMVI候補と異なることに基づいてIPMVCを統合候補リストに追加すること、または、IPMVCがMVI候補と同一であることに基づいて統合候補リストからIPMVCを除外することの1つを実行するように構成され得る。
ビデオデータに対してデブロックフィルタリングを実行することは、ビデオデータの第1の非ルーマ色成分に対して、第1のデブロックフィルタリングプロセスに基づいてデブロックフィルタリングを実行するか、または第2のデブロックフィルタリングプロセスに基づいてデブロックフィルタリングを実行するかを決定することを含み得る。次に、決定されたデブロックフィルタリングプロセスに従って、第1の非ルーマ色成分に対してデブロックフィルタリングが実行され得る。
ビデオ情報をコーディングするように構成される装置は、メモリユニットと、メモリユニットと通信しているプロセッサとを含む。メモリユニットは、第1のレイヤおよび第2のレイヤに関連付けられた、ビデオ情報を記憶するように構成される。プロセッサは、第1のレイヤの第1のレイヤピクチャを復号し、復号された第1のレイヤピクチャを復号ピクチャバッファに記憶し、対応する第1のレイヤピクチャを有しない第2のレイヤピクチャがコーディングされるべきかどうかを決定し、対応する第1のレイヤピクチャを有しない第2のレイヤピクチャがコーディングされるべきであると決定することに応答して、復号ピクチャバッファの中に記憶されている1つまたは複数の復号された第1のレイヤピクチャが除去されるべきであるという指示を処理するように構成される。プロセッサはビデオ情報を符号化または復号し得る。
ビデオデータをコーディングする方法は、ビデオ情報の1つまたは複数のレイヤを受け取ることを含む。各レイヤは、少なくとも1つのピクチャを含むことができる。この方法は、1つまたは複数のレイヤの少なくとも1つのピクチャに関連付けられたアクティブ参照レイヤピクチャの個数を決定することを含むことができる。この方法は、1つまたは複数のレイヤのうちの少なくとも1つに関連付けられた直接参照レイヤの個数を決定することをさらに含むことができる。直接参照レイヤの個数がアクティブ参照レイヤピクチャの個数と等しいことに基づいて、この方法は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライス内でレイヤ間参照ピクチャ情報をさらにシグナリングすることを控えることをさらに含むことができる。それに加えてまたはその代わりに、直接参照レイヤの個数がアクティブ参照レイヤピクチャの個数と等しいことに基づいて、この方法は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャをレイヤ間参照ピクチャセットに追加することを含むことができる。
ビデオデータをコーディングするための高度残差予測(ARP)のための技法がビュー間ARPを含み得る。ビュー間ARPは、現在のビデオブロックのための視差動きベクトル(DMV)を識別することを含み得る。DMVは、ビュー間参照ビデオブロックに基づく現在のビデオブロックのビュー間予測のために使用される。ビュー間ARPのための技法はまた、ビュー間参照ビデオブロックの時間動きベクトル(TMV)に基づいて現在のビューと参照ビューとの中の時間参照ビデオブロックを識別することと、時間参照ビデオブロック間の差に基づいて残差予測子ブロックを決定することとを含み得る。
機器は、ある値に基づいて、イントラランダムアクセスポイント(IRAP)アクセス単位の全てのクロスレイヤランダムアクセススキップ(CL−RAS)ピクチャがビデオデータビットストリーム内に存在するかどうかを決定することができる。加えて、機器は、ビデオデータビットストリームから復号されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを復元することができる。
リアルタイムトランスポートプロトコル(RTP)ペイロード内のビデオデータを処理するための方法は、RTPセッションに対して、シングルネットワークアブストラクションレイヤ(NAL)ユニットパケット内にビデオデータをカプセル化することを含む。シングルNALユニットパケットは、シングルNALユニットを含む。方法はまた、RTPセッションがマルチストリーム送信(MST)モードにあること、または受信順序においてパケット化解除バッファ内のNALユニットに先行し、復号順序においてNALユニットに後続し得るNALユニットの最大数が0より大きいことのうちの少なくとも一方に基づいて、シングルNALユニットパケット内に復号順序番号情報をカプセル化することを含み得る。
特定の態様によるビデオ情報をコーディングするための装置は、メモリとコンピューティングハードウェアとを含む。メモリは、ビデオ情報を記憶するように構成されている。コンピューティングハードウェアは、1つまたは複数のレイヤセットのうちの少なくとも1つのサブレイヤがシグナリングするためのビットレート情報を有するかどうかを示す第1の信号、または、1つまたは複数のレイヤセットのうちの少なくとも1つのサブレイヤがシグナリングするためのピクチャレート情報を有するかどうかを示す第2の信号とのうちの少なくとも1つを処理するように構成されている。
多層ビデオ信号のパケットの各々が関連する層IDの信号が説明される。特に、この層関係を信号で伝える効率的な方法を達成する。それでも、ベース層IDフィールドの所定の値が、ベース層IDフィールドのベース層ID値が0のように拡張できないと制限される符号でバックワード互換性を維持する。この拡張できないベース層ID値についてこの制限を特に回避する代わりに、多層データストリームの部分の層IDは、ベース層IDフィールドを第1副フィールドおよび第2副フィールドに区分することによって拡張できる方法で信号で伝えられる。ベース層IDフィールドの第1の副フィールドが予め決められた基準を満たせば、いつでも、拡張層IDフィールドが提供される。仮にベース層IDフィールドの第1副フィールドが、予め決められた基準を満たさないならば、拡張層IDフィールドは省略される。前記の拡張できないベース層ID値は、ベース層IDフィールドの第1副フィールドが予め決められた基準を満たさないベース層ID値のグループ内に「隠されて」いる。従って、この拡張できないベース層ID値は別々に処理さるのではなく、前者のグループの部分が処理される。むしろ、仮にベース層IDフィールドの第1副フィールドが、予め決められた基準を満たすならば、拡張値は、拡張値のドメインの第1副セットの中に存在するように、多層データストリーム内の信号で伝えられた拡張層IDフィールドから引き出される。そして、仮にベース層IDフィールドの第1副フィールドが、予め決められた基準を満たさないならば、この拡張値は、拡張値のドメインの第1副セットに解体する値に設定される。個々の部分が関連する層は、その時、ベース層IDフィールドの第2副フィールドから引き出されるクラスタ値と同様の拡張値を使って索引を付けられる。大体、信号効率は、バックワード互換性の維持にも関わらず失われない。
【選択図】図21
ビデオデータのブロックを同じピクチャ内のビデオデータの予測ブロックからイントラ予測するモードを含むビデオデータをコーディングする技法は、ビデオデータの現在のブロックに関するビデオデータの予測ブロックを決定することを含み、ビデオデータの予測ブロックは、ビデオデータの現在のブロックと同じピクチャ内のビデオデータの再構成ブロックである。2次元ベクトルは、ビデオデータの予測ブロックを識別するためにビデオコーダによって使用され得、ビデオデータの現在のブロックに対する水平変位成分および垂直変位成分を含む。ビデオデータのブロックについての、同じピクチャ内のビデオデータの予測ブロックからのイントラ予測するためのモードは、イントラブロックコピーまたはイントラ動き補償と呼ばれることもある。
To top