ビデオ情報のスケーラブルコーディングのためのデバイスおよび方法

 

ビデオ情報をコーディングするように構成された装置は、メモリユニットと、メモリユニットと通信しているプロセッサとを含む。メモリユニットは、現在レイヤとエンハンスメントレイヤとに関連付けられたビデオ情報を記憶するように構成され、現在レイヤは現在ピクチャを有する。プロセッサは、エンハンスメントレイヤからの情報を使用して現在レイヤがコーディングされ得るかどうかを決定することと、エンハンスメントレイヤが、現在ピクチャに対応するエンハンスメントレイヤピクチャを有するかどうかを決定することと、エンハンスメントレイヤからの情報を使用して現在レイヤがコーディングされ得、エンハンスメントレイヤが、現在ピクチャに対応するエンハンスメントレイヤピクチャを有すると決定したことに応答して、エンハンスメントレイヤピクチャに基づいて現在ピクチャをコーディングすることとを行うように構成される。プロセッサはビデオ情報を符号化または復号し得る。
【選択図】図4

 

 

[0001]本開示は、ビデオコーディングおよび圧縮の分野に関し、詳細には、スケーラブルビデオコーディング(SVC:scalable video coding)、マルチビュービデオコーディング(MVC:multiview video coding)、または3Dビデオコーディング(3DV)に関する。
[0002]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4,Part10,アドバンストビデオコーディング(AVC:Advanced Video Coding)、現在開発中の高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
[0003]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を実行する。ブロックベースのビデオコーディングの場合、ビデオスライス(たとえば、ビデオフレーム、ビデオフレームの一部分など)が、ツリーブロック、コーディングユニット(CU:coding unit)および/またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック内の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化(PまたはB)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
[0004]空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は2次元アレイで構成され、変換係数の1次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピー符号化が適用され得る。
[0005]スケーラブルビデオコーディング(SVC)は、参照レイヤ(RL:reference layer)と呼ばれることがあるベースレイヤ(BL:base layer)と、1つまたは複数のスケーラブルエンハンスメントレイヤ(EL:enhancement layer)とが使用されるビデオコーディングを指す。SVCでは、ベースレイヤは、ベースレベルの品質でビデオデータを搬送することができる。1つまたは複数のエンハンスメントレイヤは、たとえば、より高い空間レベル、時間レベル、および/または信号対雑音(SNR:signal-to-noise)レベルをサポートするために追加のビデオデータを搬送することができる。エンハンスメントレイヤは、前に符号化されたレイヤに対して定義され得る。たとえば、最下位レイヤはBLとして働き得、最上位レイヤはELとして働き得る。中間レイヤは、ELまたはRLのいずれか、あるいはその両方として働き得る。たとえば、中間にあるレイヤは、ベースレイヤまたは介在エンハンスメントレイヤ(intervening enhancement layer)など、それの下のレイヤのためのELであり、同時に、それの上の1つまたは複数のエンハンスメントレイヤのためのRLとして働き得る。同様に、HEVC規格のマルチビューまたは3D拡張では、複数のビューがあり得、1つのビューの情報は、別のビューの情報(たとえば、動き推定、動きベクトル予測および/または他の冗長)をコーディング(たとえば、符号化または復号)するために利用され得る。
[0006]SVCでは、送信されたビットストリームは複数のレイヤを含み、デコーダは、ディスプレイデバイスのビットレート制約に応じて複数のレイヤのうちの1つまたは複数を復号することを選択し得る。たとえば、ビットストリームは2つのレイヤ、BLおよびELを含み得る。BLを復号するには3mbpsを必要とし得、BLとELの両方を復号するには6mbpsを必要とし得る。4.5mbpsの能力を有するデバイスの場合、デコーダは、3mbpsでただBLを復号すること、または、復号された追加のELパケットによって生じるピクチャ品質改善を利用するために4.5mbpsの下にとどまるのにちょうど十分なELパケットを放棄しながら、BLとELとの組合せを復号することを選択し得る。
[0007]しかしながら、いくつかの実装形態では、ELは概してより高い品質のピクチャを有するので、より大きいコーディング効率を達成するために、BLピクチャをコーディングするためにELピクチャが使用され得る。そのような実装形態では、BLピクチャを正確に復号するのにELピクチャが必要であり得る。この制約は、上記で説明したように、デコーダが、ビットレート問題により、ただBL(または、ELパケットのうちのいくつかを放棄しながらBLとELとの組合せ)を復号することを選択し得るとき、問題を生じる。BLをコーディングするために使用されるELのいずれかの部分がなくなっているとき、デコーダは、代わりに、なくなっている部分に対応するBLの一部分を使用し得る。そのような場合、ドリフトとして知られる現象がもたらされる。ELピクチャを使用して最適化される、BLピクチャのテクスチャ情報(たとえば、サンプル)または動き情報(たとえば、動きベクトル)が、BLピクチャに適用されたとき、ドリフトが発生する。ドリフトはビデオ品質を劣化させ得る。
[0008]ドリフトを最小限に抑えながら上位レイヤ(たとえば、EL)に基づいて下位レイヤ(たとえば、BL)がコーディングされることを可能にすることによって生じるコーディング効率利得を活用するコーディング方式が望まれる。
[0009]本開示のシステム、方法およびデバイスは、それぞれいくつかの発明的態様を有し、それらのうちの単一の態様が、本明細書で開示する望ましい属性を単独で担当するとは限らない。
[0010]一態様では、ビデオ情報をコーディング(たとえば、符号化または復号)するように構成された装置が、メモリユニットと、メモリユニットと通信しているプロセッサとを含む。メモリユニットは、現在レイヤとエンハンスメントレイヤとに関連付けられたビデオ情報を記憶するように構成され、現在レイヤは現在ピクチャを有する。プロセッサは、エンハンスメントレイヤからの情報を使用して現在レイヤがコーディングされ得るかどうかを決定することと、エンハンスメントレイヤが、現在ピクチャに対応するエンハンスメントレイヤピクチャを有するかどうかを決定することと、エンハンスメントレイヤからの情報を使用して現在レイヤがコーディングされ得、エンハンスメントレイヤが、現在ピクチャに対応するエンハンスメントレイヤピクチャを有すると決定したことに応答して、エンハンスメントレイヤピクチャに基づいて現在ピクチャをコーディングすることとを行うように構成される。プロセッサはビデオ情報を符号化または復号し得る。
[0011]一態様では、ビデオ情報をコーディング(たとえば、符号化または復号)する方法が、エンハンスメントレイヤからの情報を使用して現在レイヤがコーディングされ得るかどうかを決定することと、エンハンスメントレイヤが、現在レイヤ中の現在ピクチャに対応するエンハンスメントレイヤピクチャを有するかどうかを決定することと、エンハンスメントレイヤからの情報を使用して現在レイヤがコーディングされ得、エンハンスメントレイヤが、現在ピクチャに対応するエンハンスメントレイヤピクチャを有すると決定したことに応答して、エンハンスメントレイヤピクチャに基づいて現在ピクチャをコーディングすることとを備える。
[0012]一態様では、非一時的コンピュータ可読媒体が、実行されたとき、装置にプロセスを実行させるコードを備える。プロセスは、現在レイヤとエンハンスメントレイヤとに関連付けられたビデオ情報を記憶することと、現在レイヤが現在ピクチャを有する、エンハンスメントレイヤからの情報を使用して現在レイヤがコーディングされ得るかどうかを決定することと、エンハンスメントレイヤが、現在ピクチャに対応するエンハンスメントレイヤピクチャを有するかどうかを決定することと、エンハンスメントレイヤからの情報を使用して現在レイヤがコーディングされ得、エンハンスメントレイヤが、現在ピクチャに対応するエンハンスメントレイヤピクチャを有すると決定したことに応答して、エンハンスメントレイヤピクチャに基づいて現在ピクチャをコーディングすることとを含む。
[0013]一態様では、ビデオ情報をコーディングするように構成されたビデオコーディングデバイスが、現在レイヤとエンハンスメントレイヤとに関連付けられたビデオ情報を記憶するための手段と、現在レイヤが現在ピクチャを有する、エンハンスメントレイヤからの情報を使用して現在レイヤがコーディングされ得るかどうかを決定するための手段と、エンハンスメントレイヤが、現在ピクチャに対応するエンハンスメントレイヤピクチャを有するかどうかを決定するための手段と、エンハンスメントレイヤからの情報を使用して現在レイヤがコーディングされ得、エンハンスメントレイヤが、現在ピクチャに対応するエンハンスメントレイヤピクチャを有すると決定したことに応答して、エンハンスメントレイヤピクチャに基づいて現在ピクチャをコーディングするための手段とを含む。
[0014]本開示で説明する態様による技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。 [0015]本開示で説明する態様による技法を実行し得る別の例示的なビデオ符号化および復号システムを示すブロック図。 [0016]本開示で説明する態様による技法を実装し得るビデオエンコーダの一例を示すブロック図。 [0017]本開示で説明する態様による技法を実装し得るビデオエンコーダの一例を示すブロック図。 [0018]本開示で説明する態様による技法を実装し得るビデオデコーダの一例を示すブロック図。 [0019]本開示で説明する態様による技法を実装し得るビデオデコーダの一例を示すブロック図。 [0020]本開示の一実施形態による、ビデオ情報をコーディングする方法を示すフローチャート。
[0021]本明細書で説明するいくつかの実施形態は、HEVC(高効率ビデオコーディング)など、アドバンストビデオコーデックのコンテキストにおけるスケーラブルビデオコーディングのためのレイヤ間予測に関する。より詳細には、本開示は、HEVCのスケーラブルビデオコーディング(SVC)拡張におけるレイヤ間予測の性能の改善のためのシステムおよび方法に関する。
[0022]以下の説明では、いくつかの実施形態に関係するH.264/AVC技法について説明し、HEVC規格および関係する技法についても説明する。いくつかの実施形態について、HEVCおよび/またはH.264規格のコンテキストにおいて本明細書で説明するが、本明細書で開示するシステムおよび方法が任意の好適なビデオコーディング規格に適用可能であり得ることを、当業者は諒解されよう。たとえば、本明細書で開示する実施形態は、以下の規格、すなわち、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、およびそれのスケーラブルビデオコーディング(SVC)拡張とマルチビュービデオコーディング(MVC)拡張とを含む、(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264のうちの1つまたは複数に適用可能であり得る。
[0023]HEVCは、概して、多くの点で、前のビデオコーディング規格のフレームワークに従う。HEVCにおける予測のユニットは、いくつかの前のビデオコーディング規格におけるユニット(たとえば、マクロブロック)とは異なる。事実上、マクロブロックの概念は、いくつかの前のビデオコーディング規格において理解されているように、HEVC中に存在しない。マクロブロックは、考えられる利益の中でも、高いフレキシビリティを与え得る、4分木(quadtree)方式に基づく階層構造と置き換えられ得る。たとえば、HEVC方式内で、3つのタイプのブロック、コーディングユニット(CU)、予測ユニット(PU:Prediction Unit)、および変換ユニット(TU:Transform Unit)が定義される。CUは領域分割の基本ユニットを指し得る。CUはマクロブロックの概念に類似すると見なされ得るが、それは、最大サイズを制限せず、コンテンツ適応性を改善するために4つの等しいサイズのCUへの再帰的分割を可能にし得る。PUはインター/イントラ予測の基本ユニットと見なされ得、それは、不規則な画像パターンを効果的にコーディングするために、単一のPU中に複数の任意の形状区分を含んでいることがある。TUは変換の基本ユニットと見なされ得る。それは、PUとは無関係に定義され得るが、それのサイズは、TUが属するCUに制限され得る。3つの異なる概念へのブロック構造のこの分離は、各々がそれの役割に従って最適化されることを可能にし得、それによりコーディング効率が改善され得る。
[0024]単に説明の目的で、本明細書で開示するいくつかの実施形態について、ただ2つのレイヤ(たとえば、ベースレイヤなどの下位レイヤ、およびエンハンスメントレイヤなどの上位レイヤ)を含む例を用いて説明する。そのような例は、複数のベースレイヤおよび/またはエンハンスメントレイヤを含む構成に適用可能であり得ることを理解されたい。さらに、説明を簡単にするために、以下の開示は、いくつかの実施形態に関して「フレーム」または「ブロック」という用語を含む。ただし、これらの用語は限定的なものではない。たとえば、以下で説明する技法は、ブロック(たとえば、CU、PU、TU、マクロブロックなど)、スライス、フレームなど、任意の好適なビデオユニットとともに使用され得る。
ビデオコーディング規格
[0025]ビデオ画像、TV画像、静止画像、あるいはビデオレコーダまたはコンピュータによって生成された画像など、デジタル画像は、水平ラインおよび垂直ラインで構成されたピクセルまたはサンプルからなり得る。単一の画像中のピクセルの数は一般に数万個である。各ピクセルは、一般に、ルミナンス(luminance)情報とクロミナンス(chrominance)情報とを含んでいる。圧縮なしに、画像エンコーダから画像デコーダに搬送されるべき情報の量は、リアルタイム画像送信を不可能にするほど非常に大きい。送信されるべき情報の量を低減するために、JPEG、MPEGおよびH.263規格など、いくつかの異なる圧縮方法が開発された。
[0026]ビデオコーディング規格は、ITU−T H.261と、ISO/IEC MPEG−1 Visualと、ITU−T H.262またはISO/IEC MPEG−2 Visualと、ITU−T H.263と、ISO/IEC MPEG−4 Visualと、それのスケーラブルビデオコーディング(SVC)およびマルチビュービデオコーディング(MVC)拡張を含む(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264とを含む。
[0027]さらに、新しいビデオコーディング規格、すなわち、高効率ビデオコーディング(HEVC)が、ITU−Tビデオコーディングエキスパートグループ(VCEG:Video Coding Experts Group)とISO/IECモーションピクチャエキスパートグループ(MPEG:Motion Picture Experts Group)とのジョイントコラボレーションチームオンビデオコーディング(JCT−VC:Joint Collaboration Team on Video Coding)によって開発されている。HEVCドラフト10についての完全引用は、文書JCTVC−L1003、Brossら、「High Efficiency Video Coding (HEVC) Text Specification Draft 10」、ITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11のジョイントコラボレーティブチームオンビデオコーディング(JCT−VC:Joint Collaborative Team on Video Coding)、第12回会合:ジュネーブ、スイス、2013年1月14日〜2013年1月23日である。HEVCのマルチビュー拡張すなわちMV−HEVC、およびSHVCと称されるHEVCのスケーラブル拡張も、それぞれJCT−3V(ITU−TI/SO/IECのジョイントコラボレーティブチームオン3Dビデオコーディング拡張開発)およびJCT−VCによって開発されている。
[0028]添付の図面を参照しながら新規のシステム、装置、および方法の様々な態様について以下でより十分に説明する。ただし、本開示は、多くの異なる形態で実施され得、本開示全体にわたって提示する任意の特定の構造または機能に限定されるものと解釈されるべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるために与えるものである。本明細書の教示に基づいて、本開示の範囲は、本開示の他の態様とは無関係に実装されるにせよ、本開示の他の態様と組み合わせて実装されるにせよ、本明細書で開示する新規のシステム、装置、および方法のいかなる態様をもカバーするものであることを、当業者なら諒解されたい。たとえば、本明細書に記載される態様をいくつ使用しても、装置は実装され得、または方法は実施され得る。さらに、本開示の範囲は、本明細書に記載する本開示の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法をカバーするものとする。本明細書で開示するどの態様も請求項の1つまたは複数の要素によって実施され得ることを理解されたい。
[0029]本明細書では特定の態様について説明するが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好適な態様のいくつかの利益および利点について説明するが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々なワイヤレス技術、システム構成、ネットワーク、および伝送プロトコルに広く適用可能であるものとし、それらのいくつかを例として、図および好適な態様についての以下の説明において示す。発明を実施するための形態および図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびそれの均等物によって定義される。
[0030]添付の図面は例を示している。添付の図面中の参照番号によって示される要素は、以下の説明における同様の参照番号によって示される要素に対応する。本開示では、序数語(たとえば、「第1の」、「第2の」、「第3の」など)で始まる名前を有する要素は、必ずしもそれらの要素が特定の順序を有することを暗示するとは限らない。むしろ、そのような序数語は、同じまたは同様のタイプの異なる要素を指すために使用されるにすぎない。
ビデオコーディングシステム
[0031]図1Aは、本開示で説明する態様による技法を利用し得る例示的なビデオコーディングシステム10を示すブロック図である。本明細書で使用し説明する「ビデオコーダ(video coder)」という用語は、総称的にビデオエンコーダとビデオデコーダの両方を指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化とビデオ復号とを総称的に指すことがある。
[0032]図1Aに示されているように、ビデオコーディングシステム10は、宛先モジュール14によって後の時間で復号されるべき符号化ビデオデータを生成するソースモジュール12を含む。図1Aの例では、ソースモジュール12および宛先モジュール14は別個のデバイス上にあり、詳細には、ソースモジュール12はソースデバイスの一部であり、宛先モジュール14は宛先デバイスの一部である。しかしながら、ソースモジュール12および宛先モジュール14は、図1Bの例に示されているように、同じデバイス上にあるかまたはそれの一部であり得ることに留意されたい。
[0033]もう一度、図1Aを参照すると、ソースモジュール12および宛先モジュール14は、デスクトップコンピュータ、ノートブック(たとえば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話送受話器、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーム機、ビデオストリーミングデバイスなどを含む、様々なデバイスのいずれかを備え得る。場合によっては、ソースモジュール12および宛先モジュール14はワイヤレス通信のために装備され得る。
[0034]宛先モジュール14は、リンク16を介して、復号されるべき符号化ビデオデータを受信し得る。リンク16は、符号化ビデオデータをソースモジュール12から宛先モジュール14に移動することが可能な任意のタイプの媒体またはデバイスを備え得る。図1Aの例では、リンク16は、ソースモジュール12が符号化ビデオデータを宛先モジュール14にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先モジュール14に送信され得る。通信媒体は、高周波(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースモジュール12から宛先モジュール14への通信を可能にするために有用であり得る、ルータ、スイッチ、基地局、または任意の他の機器を含み得る。
[0035]代替的に、符号化データは、出力インターフェース22から随意のストレージデバイス31に出力され得る。同様に、符号化データは入力インターフェース28によってストレージデバイス31からアクセスされ得る。ストレージデバイス31は、ハードドライブ、フラッシュメモリ、揮発性または不揮発性のメモリ、あるいは符号化ビデオデータを記憶するための任意の他の適当なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイス31は、ソースモジュール12によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先モジュール14は、ストリーミングまたはダウンロードを介してストレージデバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先モジュール14へ送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先モジュール14は、インターネット接続を含む任意の標準的なデータ接続を通じて、符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含み得る。ストレージデバイス31からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
[0036]本開示の技法はワイヤレス適用例または設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信(たとえば、動的適応ストリーミングオーバーHTTP(DASH:dynamic adaptive streaming over HTTP)など)、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
[0037]図1Aの例では、ソースモジュール12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ソースモジュール12において、ビデオソース18は、ビデオキャプチャデバイス、たとえばビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース18がビデオカメラである場合、ソースモジュール12および宛先モジュール14は、図1Bの例に示されているように、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。
[0038]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオデータは、ソースモジュール12の出力インターフェース22を介して宛先モジュール14に直接送信され得る。符号化ビデオデータはまた(または代替的に)、復号および/または再生のための宛先モジュール14または他のデバイスによる後のアクセスのためにストレージデバイス31上に記憶され得る。
[0039]図1Aの例では、宛先モジュール14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。場合によっては、入力インターフェース28は、受信機および/またはモデムを含み得る。宛先モジュール14の入力インターフェース28は、リンク16を介して符号化ビデオデータを受信し得る。リンク16を介して通信されるかまたはストレージデバイス31上に与えられる符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ30などのビデオデコーダによる使用のためにビデオエンコーダ20によって生成される様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか、またはファイルサーバ上に記憶される符号化ビデオデータに含まれ得る。
[0040]ディスプレイデバイス32は、宛先モジュール14と一体化されるかまたはその外部にあり得る。いくつかの例では、宛先モジュール14は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先モジュール14はディスプレイデバイスであり得る。概して、ディスプレイデバイス32は、復号ビデオデータをユーザに対して表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0041]関係する態様では、図1Bは例示的なビデオ符号化および復号システム10′を示し、ここにおいて、ソースモジュール12および宛先モジュール14はデバイスまたはユーザデバイス11上にあるかまたはそれの一部である。デバイス11は、「スマート」フォンなど、電話ハンドセットであり得る。デバイス11は、ソースモジュール12および宛先モジュール14と動作可能に通信している随意のコントローラ/プロセッサモジュール13を含み得る。図1Bのシステム10′は、ビデオエンコーダ20と出力インターフェース22との間のビデオ処理ユニット21をさらに含み得る。いくつかの実装形態では、図1Bに示されているように、ビデオ処理ユニット21は別個のユニットであるが、他の実装形態では、ビデオ処理ユニット21は、ビデオエンコーダ20および/またはプロセッサ/コントローラモジュール13の一部分として実装され得る。システム10′はまた、ビデオシーケンス中の当該のオブジェクトを追跡することができる随意のトラッカー29を含み得る。追跡されるべきオブジェクトまたは興味は、本開示の1つまたは複数の態様に関して説明する技法によってセグメント化され得る。関係する態様では、トラッキングは、単独でまたはトラッカー29とともに、ディスプレイデバイス32によって実行され得る。図1Bのシステム10′およびそれの構成要素は、場合によっては図1Aのシステム10およびその構成要素と同様である。
[0042]ビデオエンコーダ20およびビデオデコーダ30は、現在開発中の高効率ビデオコーディング(HEVC)規格など、ビデオ圧縮規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4,Part10,アドバンストビデオコーディング(AVC)と呼ばれるITU−T H.264規格など、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例としてはMPEG−2およびITU−T H.263がある。
[0043]図1Aおよび図1Bの例には示されていないが、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、いくつかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0044]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアのための命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。
ビデオコーディングプロセス
[0045]上記で手短に述べたように、ビデオエンコーダ20はビデオデータを符号化する。ビデオデータは1つまたは複数のピクチャを備え得る。ピクチャの各々は、ビデオの一部を形成する静止画像である。いくつかの事例では、ピクチャはビデオ「フレーム」と呼ばれることがある。ビデオエンコーダ20がビデオデータを符号化するとき、ビデオエンコーダ20はビットストリームを生成し得る。ビットストリームは、ビデオデータのコード化表現を形成するビットのシーケンスを含み得る。ビットストリームはコード化ピクチャと関連データとを含み得る。コード化ピクチャはピクチャのコード化表現である。
[0046]ビットストリームを生成するために、ビデオエンコーダ20は、ビデオデータ中の各ピクチャに対して符号化演算を実行し得る。ビデオエンコーダ20がピクチャに対して符号化演算を実行するとき、ビデオエンコーダ20は、一連のコード化ピクチャと関連データとを生成し得る。関連データは、ビデオパラメータセット(VPS)と、シーケンスパラメータセットと、ピクチャパラメータセットと、適応パラメータセットと、他のシンタックス構造とを含み得る。シーケンスパラメータセット(SPS:sequence parameter set)は、ピクチャの0個以上のシーケンスに適用可能なパラメータを含んでいることがある。ピクチャパラメータセット(PPS:picture parameter set)は、0個以上のピクチャに適用可能なパラメータを含み得る。適応パラメータセット(APS:adaptation parameter set)は、0個以上のピクチャに適用可能なパラメータを含み得る。APS中のパラメータは、PPS中のパラメータよりも変化する可能性が高いパラメータであり得る。
[0047]コード化ピクチャを生成するために、ビデオエンコーダ20は、ピクチャを等しいサイズのビデオブロックに区分し得る。ビデオブロックはサンプルの2次元アレイであり得る。ビデオブロックの各々はツリーブロックに関連付けられる。いくつかの事例では、ツリーブロックは、最大コーディングユニット(LCU:largest coding unit)と呼ばれることがある。HEVCのツリーブロックは、H.264/AVCなど、以前の規格のマクロブロックに広い意味で類似し得る。しかしながら、ツリーブロックは、必ずしも特定のサイズに限定されるとは限らず、1つまたは複数のコーディングユニット(CU)を含み得る。ビデオエンコーダ20は、4分木区分(quadtree partitioning)を使用して、ツリーブロックのビデオブロックを、CUに関連付けられたビデオブロックに区分し得、したがって「ツリーブロック」という名前がある。
[0048]いくつかの例では、ビデオエンコーダ20はピクチャを複数のスライスに区分し得る。スライスの各々は整数個のCUを含み得る。いくつかの事例では、スライスは整数個のツリーブロックを備える。他の事例では、スライスの境界はツリーブロック内にあり得る。
[0049]ピクチャに対して符号化演算を実行することの一部として、ビデオエンコーダ20は、ピクチャの各スライスに対して符号化演算を実行し得る。ビデオエンコーダ20がスライスに対して符号化演算を実行するとき、ビデオエンコーダ20は、スライスに関連付けられた符号化データを生成し得る。スライスに関連付けられた符号化データは「コード化スライス」と呼ばれることがある。
[0050]コード化スライスを生成するために、ビデオエンコーダ20は、スライス中の各ツリーブロックに対して符号化演算を実行し得る。ビデオエンコーダ20がツリーブロックに対して符号化演算を実行するとき、ビデオエンコーダ20はコード化ツリーブロックを生成し得る。コード化ツリーブロックは、ツリーブロックの符号化バージョンを表すデータを備え得る。
[0051]ビデオエンコーダ20がコード化スライスを生成するとき、ビデオエンコーダ20は、ラスタ走査順序に従って、スライス中のツリーブロックに対して符号化演算を実行し得る(たとえば、そのツリーブロックを符号化し得る)。たとえば、ビデオエンコーダ20は、スライス中のツリーブロックの一番上の行にわたって左から右に進み、次いでツリーブロックの次の下の行にわたって左から右に進み、以下同様に進む順序で、ビデオエンコーダ20がスライス中のツリーブロックの各々を符号化するまで、スライスのツリーブロックを符号化し得る。
[0052]ラスタ走査順序に従ってツリーブロックを符号化した結果として、所与のツリーブロックの上および左のツリーブロックは符号化されていることがあるが、所与のツリーブロックの下および右のツリーブロックはまだ符号化されていない。したがって、ビデオエンコーダ20は、所与のツリーブロックを符号化するとき、所与のツリーブロックの上および左のツリーブロックを符号化することによって生成された情報にアクセスすることが可能であり得る。しかしながら、ビデオエンコーダ20は、所与のツリーブロックを符号化するとき、所与のツリーブロックの下および右のツリーブロックを符号化することによって生成された情報にアクセスすることができないことがある。
[0053]コード化ツリーブロックを生成するために、ビデオエンコーダ20は、ツリーブロックのビデオブロックに対して4分木区分を再帰的に実行して、ビデオブロックを徐々により小さいビデオブロックに分割し得る。より小さいビデオブロックの各々は異なるCUに関連付けられ得る。たとえば、ビデオエンコーダ20は、ツリーブロックのビデオブロックを4つの等しいサイズのサブブロックに区分し、サブブロックのうちの1つまたは複数を、4つの等しいサイズのサブサブブロックに区分し得、以下同様である。区分されたCUは、それのビデオブロックが、他のCUに関連付けられたビデオブロックに区分された、CUであり得る。区分されていないCUは、それのビデオブロックが、他のCUに関連付けられたビデオブロックに区分されていない、CUであり得る。
[0054]ビットストリーム中の1つまたは複数のシンタックス要素は、ビデオエンコーダ20がツリーブロックのビデオブロックを区分し得る最大の回数を示し得る。CUのビデオブロックは形状が正方形であり得る。CUのビデオブロックのサイズ(たとえば、CUのサイズ)は、8×8ピクセルから、最大64×64以上のピクセルをもつツリーブロックのビデオブロックのサイズ(たとえば、ツリーブロックのサイズ)までに及び得る。
[0055]ビデオエンコーダ20は、z走査順序に従って、ツリーブロックの各CUに対して符号化演算を実行し得る(たとえば、各CUを符号化し得る)。言い換えれば、ビデオエンコーダ20は、左上のCUと、右上のCUと、左下のCUと、次いで右下のCUとを、その順序で符号化し得る。ビデオエンコーダ20が、区分されたCUに対して符号化演算を実行するとき、ビデオエンコーダ20は、z走査順序に従って、区分されたCUのビデオブロックのサブブロックに関連付けられたCUを符号化し得る。言い換えれば、ビデオエンコーダ20は、左上のサブブロックに関連付けられたCUと、右上のサブブロックに関連付けられたCUと、左下のサブブロックに関連付けられたCUと、次いで右下のサブブロックに関連付けられたCUとを、その順序で符号化し得る。
[0056]z走査順序に従ってツリーブロックのCUを符号化した結果として、所与のCUの上、左上、右上、左、および左下のCUは符号化されていることがある。所与のCUの下および右のCUはまだ符号化されていない。したがって、ビデオエンコーダ20は、所与のCUを符号化するとき、所与のCUに隣接するいくつかのCUを符号化することによって生成された情報にアクセスすることが可能であり得る。しかしながら、ビデオエンコーダ20は、所与のCUを符号化するとき、所与のCUに隣接する他のCUを符号化することによって生成された情報にアクセスすることができないことがある。
[0057]ビデオエンコーダ20が、区分されていないCUを符号化するとき、ビデオエンコーダ20は、CUのために1つまたは複数の予測ユニット(PU)を生成し得る。CUのPUの各々は、CUのビデオブロック内の異なるビデオブロックに関連付けられ得る。ビデオエンコーダ20は、CUの各PUのための予測ビデオブロックを生成し得る。PUの予測ビデオブロックはサンプルのブロックであり得る。ビデオエンコーダ20は、イントラ予測またはインター予測を使用して、PUのための予測ビデオブロックを生成し得る。
[0058]ビデオエンコーダ20がイントラ予測を使用してPUの予測ビデオブロックを生成するとき、ビデオエンコーダ20は、PUに関連付けられたピクチャの復号サンプルに基づいて、PUの予測ビデオブロックを生成し得る。ビデオエンコーダ20がイントラ予測を使用してCUのPUの予測ビデオブロックを生成する場合、CUはイントラ予測されたCUである。ビデオエンコーダ20がインター予測を使用してPUの予測ビデオブロックを生成するとき、ビデオエンコーダ20は、PUに関連付けられたピクチャ以外の1つまたは複数のピクチャの復号サンプルに基づいて、PUの予測ビデオブロックを生成し得る。ビデオエンコーダ20がインター予測を使用してCUのPUの予測ビデオブロックを生成する場合、CUはインター予測されたCUである。
[0059]さらに、ビデオエンコーダ20がインター予測を使用してPUのための予測ビデオブロックを生成するとき、ビデオエンコーダ20はPUの動き情報を生成し得る。PUの動き情報は、PUの1つまたは複数の参照ブロックを示し得る。PUの各参照ブロックは参照ピクチャ内のビデオブロックであり得る。参照ピクチャはPUに関連付けられたピクチャ以外のピクチャであり得る。いくつかの事例では、PUの参照ブロックはPUの「参照サンプル」と呼ばれることもある。ビデオエンコーダ20は、PUの参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。
[0060]ビデオエンコーダ20がCUの1つまたは複数のPUのための予測ビデオブロックを生成した後、ビデオエンコーダ20は、CUのPUのための予測ビデオブロックに基づいて、CUの残差データを生成し得る。CUの残差データは、CUのPUのための予測ビデオブロック中のサンプルと、CUの元のビデオブロック中のサンプルとの間の差を示し得る。
[0061]さらに、区分されていないCUに対して符号化演算を実行することの一部として、ビデオエンコーダ20は、CUの残差データに対して再帰的な4分木区分を実行して、CUの残差データを、CUの変換ユニット(TU)に関連付けられた残差データの1つまたは複数のブロック(たとえば、残差ビデオブロック)に区分し得る。CUの各TUは異なる残差ビデオブロックに関連付けられ得る。
[0062]ビデオエンコーダ20は、TUに関連付けられた残差ビデオブロックに1つまたは複数の変換を適用して、TUに関連付けられた変換係数ブロック(たとえば、変換係数のブロック)を生成し得る。概念的に、変換係数ブロックは変換係数の2次元(2D)行列であり得る。
[0063]変換係数ブロックを生成した後、ビデオエンコーダ20は、変換係数ブロックに対して量子化プロセスを実行し得る。量子化は、概して、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を実現する処理を指す。量子化プロセスは、変換係数の一部または全部に関連付けられたビット深度を低減し得る。たとえば、量子化中にnビットの変換係数がmビットの変換係数に切り捨てられることがあり、ここで、nはmよりも大きい。
[0064]ビデオエンコーダ20は、各CUを量子化パラメータ(QP:quantization parameter)値に関連付け得る。CUに関連付けられたQP値は、ビデオエンコーダ20が、CUに関連付けられた変換係数ブロックをどのように量子化するかを決定し得る。ビデオエンコーダ20は、CUに関連付けられたQP値を調整することによって、CUに関連付けられた変換係数ブロックに適用される量子化の程度を調整し得る。
[0065]ビデオエンコーダ20が変換係数ブロックを量子化した後、ビデオエンコーダ20は、量子化された変換係数ブロック中で変換係数を表すシンタックス要素のセットを生成し得る。ビデオエンコーダ20は、これらのシンタックス要素のうちのいくつかに、コンテキスト適応型バイナリ算術コーディング(CABAC:Context Adaptive Binary Arithmetic Coding)演算などのエントロピー符号化演算を適用し得る。コンテンツ適応型可変長コーディング(CAVLC:content adaptive variable length coding)、確率間隔区分エントロピー(PIPE:probability interval partitioning entropy)コーディング、または他のバイナリ算術コーディングなど、他のエントロピーコーディング技法も使用され得る。
[0066]ビデオエンコーダ20によって生成されるビットストリームは、一連のネットワークアブストラクションレイヤ(NAL:Network Abstraction Layer)ユニットを含み得る。NALユニットの各々は、NALユニット中のデータのタイプの指示と、データを含んでいるバイトとを含んでいるシンタックス構造であり得る。たとえば、NALユニットは、ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、コード化スライス、補足エンハンスメント情報(SEI:supplemental enhancement information)、アクセスユニット区切り文字、フィラーデータ、または別のタイプのデータを表すデータを含み得る。NALユニット中のデータは様々なシンタックス構造を含み得る。
[0067]ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。ビットストリームは、ビデオエンコーダ20によって符号化されたビデオデータのコード化表現を含み得る。ビデオデコーダ30がビットストリームを受信するとき、ビデオデコーダ30は、ビットストリームに対してパース演算(parsing operation)を実行し得る。ビデオデコーダ30がパース演算を実行するとき、ビデオデコーダ30は、ビットストリームからシンタックス要素を抽出し得る。ビデオデコーダ30は、ビットストリームから抽出されたシンタックス要素に基づいて、ビデオデータのピクチャを再構成し得る。シンタックス要素に基づいてビデオデータを再構成するためのプロセスは、一般に、シンタックス要素を生成するためにビデオエンコーダ20によって実行されるプロセスとは逆であり得る。
[0068]ビデオデコーダ30がCUに関連付けられたシンタックス要素を抽出した後、ビデオデコーダ30は、シンタックス要素に基づいて、CUのPUのための予測ビデオブロックを生成し得る。さらに、ビデオデコーダ30は、CUのTUに関連付けられた変換係数ブロックを逆量子化し得る。ビデオデコーダ30は、変換係数ブロックに対して逆変換を実行して、CUのTUに関連付けられた残差ビデオブロックを再構成し得る。予測ビデオブロックを生成し、残差ビデオブロックを再構成した後、ビデオデコーダ30は、予測ビデオブロックと残差ビデオブロックとに基づいて、CUのビデオブロックを再構成し得る。このようにして、ビデオデコーダ30は、ビットストリーム中のシンタックス要素に基づいて、CUのビデオブロックを再構成し得る。
ビデオエンコーダ
[0069]図2Aは、本開示で説明する態様による技法を実装し得るビデオエンコーダの一例を示すブロック図である。ビデオエンコーダ20は、HEVCの場合など、ビデオフレームの単一のレイヤを処理するように構成され得る。さらに、ビデオエンコーダ20は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。一例として、予測処理ユニット100は、本開示で説明する技法のいずれかまたはすべてを実行するように構成され得る。別の実施形態では、ビデオエンコーダ20は、本開示で説明する技法のいずれかまたはすべてを実行するように構成された随意のレイヤ間予測ユニット128を含む。他の実施形態では、レイヤ間予測は予測処理ユニット100(たとえば、インター予測ユニット121および/またはイントラ予測ユニット126)によって実行され得、その場合、レイヤ間予測ユニット128は省略され得る。ただし、本開示の態様はそのように限定されない。いくつかの例では、本開示で説明する技法は、ビデオエンコーダ20の様々な構成要素間で共有され得る。いくつかの例では、追加または代替として、プロセッサ(図示せず)が、本開示で説明する技法のいずれかまたはすべてを実行するように構成され得る。
[0070]説明の目的で、本開示では、HEVCコーディングのコンテキストにおいてビデオエンコーダ20について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法にも適用可能であり得る。図2Aに示された例はシングルレイヤコーデックのためのものである。しかしながら、図2Bに関してさらに説明するように、ビデオエンコーダ20の一部または全部はマルチレイヤコーデックの処理のために複製され得る。
[0071]ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間冗長性を低減または除去するために空間予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースのコーディングモードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指し得る。
[0072]図2Aの例では、ビデオエンコーダ20は複数の機能構成要素を含む。ビデオエンコーダ20の機能構成要素は、予測処理ユニット100と、残差生成ユニット102と、変換処理ユニット104と、量子化ユニット106と、逆量子化ユニット108と、逆変換ユニット110と、再構成ユニット112と、フィルタユニット113と、復号ピクチャバッファ114と、エントロピー符号化ユニット116とを含む。予測処理ユニット100は、インター予測ユニット121と、動き推定ユニット122と、動き補償ユニット124と、イントラ予測ユニット126と、レイヤ間予測ユニット128とを含む。他の例では、ビデオエンコーダ20は、より多数の、より少数の、または異なる機能構成要素を含み得る。さらに、動き推定ユニット122と動き補償ユニット124とは、高度に統合され得るが、図2Aの例では、説明の目的で別々に表されている。
[0073]ビデオエンコーダ20はビデオデータを受信し得る。ビデオエンコーダ20は、様々なソースからビデオデータを受信し得る。たとえば、ビデオエンコーダ20は、(たとえば、図1Aまたは図1Bに示された)ビデオソース18、または別のソースからビデオデータを受信し得る。ビデオデータは一連のピクチャを表し得る。ビデオデータを符号化するために、ビデオエンコーダ20は、ピクチャの各々に対して符号化演算を実行し得る。ピクチャに対して符号化演算を実行することの一部として、ビデオエンコーダ20は、ピクチャの各スライスに対して符号化演算を実行し得る。スライスに対して符号化演算を実行することの一部として、ビデオエンコーダ20は、スライス中のツリーブロックに対して符号化演算を実行し得る。
[0074]ツリーブロックに対して符号化演算を実行することの一部として、予測処理ユニット100は、ツリーブロックのビデオブロックに対して4分木区分を実行して、ビデオブロックを徐々により小さいビデオブロックに分割し得る。より小さいビデオブロックの各々は、異なるCUに関連付けられ得る。たとえば、予測処理ユニット100は、ツリーブロックのビデオブロックを4つの等しいサイズのサブブロックに区分し、サブブロックの1つまたは複数を、4つの等しいサイズのサブサブブロックに区分し得、以下同様である。
[0075]CUに関連付けられたビデオブロックのサイズは、8×8サンプルから、最大64×64以上のサンプルをもつツリーブロックのサイズまでに及び得る。本開示では、「N×N(NxN)」および「N×N(N by N)」は、垂直寸法および水平寸法に関するビデオブロックのサンプル寸法、たとえば、16×16(16x16)サンプルまたは16×16(16 by 16)サンプルを指すために互換的に使用され得る。概して、16×16ビデオブロックは、垂直方向に16個のサンプルを有し(y=16)、水平方向に16個のサンプルを有する(x=16)。同様に、N×Nブロックは、概して、垂直方向にN個のサンプルを有し、水平方向にN個のサンプルを有し、ここで、Nは非負整数値を表す。
[0076]さらに、ツリーブロックに対して符号化演算を実行することの一部として、予測処理ユニット100は、ツリーブロック用の階層的な4分木データ構造を生成し得る。たとえば、ツリーブロックは、4分木データ構造のルートノードに対応し得る。予測処理ユニット100が、ツリーブロックのビデオブロックを4つのサブブロックに区分する場合、ルートノードは、4分木データ構造中に4つの子ノードを有する。子ノードの各々は、サブブロックのうちの1つに関連付けられたCUに対応する。予測処理ユニット100が、サブブロックのうちの1つを4つのサブサブブロックに区分する場合、サブブロックに関連付けられたCUに対応するノードは、サブサブブロックのうちの1つに関連付けられたCUに各々が対応する、4つの子ノードを有し得る。
[0077]4分木データ構造の各ノードは、対応するツリーブロックまたはCUのシンタックスデータ(たとえば、シンタックス要素)を含み得る。たとえば、4分木の中のノードは、そのノードに対応するCUのビデオブロックが4つのサブブロックに区分される(たとえば、分割される)かどうかを示すスプリットフラグを含み得る。CUのためのシンタックス要素は、再帰的に定義され得、CUのビデオブロックがサブブロックに分割されるかどうかに依存し得る。それのビデオブロックが区分されていないCUは、4分木データ構造におけるリーフノードに対応し得る。コード化ツリーブロックは、対応するツリーブロック用の4分木データ構造に基づくデータを含み得る。
[0078]ビデオエンコーダ20は、ツリーブロックの区分されていない各CUに対して符号化演算を実行し得る。ビデオエンコーダ20が、区分されていないCUに対して符号化演算を実行するとき、ビデオエンコーダ20は、区分されていないCUの符号化表現を表すデータを生成する。
[0079]CUに対して符号化演算を実行することの一部として、予測処理ユニット100は、CUの1つまたは複数のPUの中で、CUのビデオブロックを区分し得る。ビデオエンコーダ20およびビデオデコーダ30は、様々なPUサイズをサポートし得る。特定のCUのサイズが2N×2Nであると仮定すると、ビデオエンコーダ20およびビデオデコーダ30は、2N×2NまたはN×NのPUサイズと、2N×2N、2N×N、N×2N、N×N、2N×nU、nL×2N、nR×2N、または同様の対称PUサイズでのインター予測とをサポートし得る。ビデオエンコーダ20およびビデオデコーダ30は、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズに対する非対称区分をもサポートし得る。いくつかの例では、予測処理ユニット100は、CUのビデオブロックの辺に直角に接触しない境界に沿って、CUのPUの間でCUのビデオブロックを区分するように、幾何学的な区分を実行し得る。
[0080]インター予測ユニット121はCUの各PUに対してインター予測を実行し得る。インター予測は時間圧縮を実現し得る。PUに対してインター予測を実行するために、動き推定ユニット122はPUの動き情報を生成し得る。動き補償ユニット124は、動き情報と、CUに関連付けられたピクチャ以外のピクチャ(たとえば、参照ピクチャ)の復号サンプルと基づくPUのための予測ビデオブロックを生成し得る。本開示では、動き補償ユニット124によって生成された予測ビデオブロックは、インター予測ビデオブロックと呼ばれることがある。
[0081]スライスは、Iスライス、Pスライス、またはBスライスであり得る。動き推定ユニット122および動き補償ユニット124は、PUがIスライス中にあるか、Pスライス中にあるか、Bスライス中にあるかに応じて、CUのPUに対して異なる演算を実行し得る。Iスライス中では、すべてのPUがイントラ予測される。したがって、PUがIスライス中にある場合、動き推定ユニット122および動き補償ユニット124は、PUに対してインター予測を実行しない。
[0082]PUがPスライス中にある場合、PUを含んでいるピクチャは、「リスト0」と呼ばれる参照ピクチャのリストに関連付けられる。リスト0中の参照ピクチャの各々は、他のピクチャのインター予測に使用され得るサンプルを含んでいる。動き推定ユニット122が、Pスライス中のPUに関して動き推定演算を実行するとき、動き推定ユニット122は、PUのための参照ブロックについて、リスト0中の参照ピクチャを探索し得る。PUの参照ブロックは、PUのビデオブロック中のサンプルに最も密接に対応するサンプルのセット、たとえば、サンプルのブロックであり得る。動き推定ユニット122は、様々なメトリクスを使用して、参照ピクチャ中のサンプルのセットがどの程度密接にPUのビデオブロック中のサンプルに対応するかを決定し得る。たとえば、動き推定ユニット122は、絶対差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって、参照ピクチャ中のサンプルのセットがどの程度密接にPUのビデオブロック中のサンプルに対応するかを決定し得る。
[0083]Pスライス中のPUの参照ブロックを識別した後、動き推定ユニット122は、参照ブロックを含んでいる、リスト0中の参照ピクチャを示す参照インデックスと、PUと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。様々な例において、動き推定ユニット122は動きベクトルを異なる精度に生成し得る。たとえば、動き推定ユニット122は、1/4サンプル精度、1/8サンプル精度、または他の分数のサンプル精度で動きベクトルを生成し得る。分数のサンプル精度の場合、参照ブロック値は、参照ピクチャ中の整数位置のサンプル値から補間され得る。動き推定ユニット122は、PUの動き情報として、参照インデックスと動きベクトルとを出力し得る。動き補償ユニット124は、PUの動き情報によって識別された参照ブロックに基づいて、PUの予測ビデオブロックを生成し得る。
[0084]PUがBスライス中にある場合、PUを含んでいるピクチャは、「リスト0」および「リスト1」と呼ばれる参照ピクチャの2つのリストに関連付けられ得る。いくつかの例では、Bスライスを含んでいるピクチャは、リスト0とリスト1の組合せである、リストの組合せに関連付けられ得る。
[0085]さらに、PUがBスライス中にある場合、動き推定ユニット122は、PUについての単方向予測または双方向予測を実行し得る。動き推定ユニット122が、PUについての単方向予測を実行するとき、動き推定ユニット122は、PUのための参照ブロックについて、リスト0またはリスト1の参照ピクチャを探索し得る。動き推定ユニット122は、次いで、参照ブロックを含んでいる、リスト0またはリスト1中の参照ピクチャを示す参照インデックスと、PUと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット122は、PUの動き情報として、参照インデックスと、予測方向インジケータと、動きベクトルとを出力し得る。予測方向インジケータは、参照インデックスが、リスト0中の参照ピクチャを示すか、リスト1中の参照ピクチャを示すかを示し得る。動き補償ユニット124は、PUの動き情報によって示された参照ブロックに基づいて、PUの予測ビデオブロックを生成し得る。
[0086]動き推定ユニット122が、PUについての双方向予測を実行するとき、動き推定ユニット122は、PUのための参照ブロックについて、リスト0中の参照ピクチャを探索し得、また、PUのための別の参照ブロックについて、リスト1中の参照ピクチャを探索し得る。動き推定ユニット122は、次いで、参照ブロックを含んでいる、リスト0およびリスト1中の参照ピクチャを示す参照インデックスと、参照ブロックとPUの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット122は、PUの動き情報としてPUの参照インデックスと動きベクトルとを出力し得る。動き補償ユニット124は、PUの動き情報によって示された参照ブロックに基づいて、PUの予測ビデオブロックを生成し得る。
[0087]いくつかの例では、動き推定ユニット122は、PUの動き情報のフルセットをエントロピー符号化ユニット116に出力しない。そうではなく、動き推定ユニット122は、別のPUの動き情報を参照して、PUの動き情報をシグナリングし得る。たとえば、動き推定ユニット122は、PUの動き情報が、隣接PUの動き情報と十分に類似していると決定し得る。この例では、動き推定ユニット122は、PUに関連付けられたシンタックス構造において、PUが隣接PUと同じ動き情報を有することをビデオデコーダ30に示す値を示し得る。別の例では、動き推定ユニット122は、PUに関連付けられたシンタックス構造において、隣接PUと動きベクトル差分(MVD:motion vector difference)とを識別し得る。動きベクトル差分は、PUの動きベクトルと、示される隣接PUの動きベクトルとの間の差分を示す。ビデオデコーダ30は、示される隣接PUの動きベクトルと、動きベクトル差分とを使用して、PUの動きベクトルを決定し得る。第2のPUの動き情報をシグナリングするときに第1のPUの動き情報を参照することによって、ビデオエンコーダ20は、より少数のビットを使用して、第2のPUの動き情報をシグナリングすることが可能であり得る。
[0088]図4に関して以下でさらに説明するように、予測処理ユニット100は、図4に示されている方法を実行することによってPU(または他の参照レイヤおよび/またはエンハンスメントレイヤブロックまたはビデオユニット)をコーディング(たとえば、符号化または復号)するように構成され得る。たとえば、(たとえば、動き推定ユニット122および/または動き補償ユニット124を介した)インター予測ユニット121、イントラ予測ユニット126、またはレイヤ間予測ユニット128は、一緒にまたは別々に、図4に示されている方法を実行するように構成され得る。
[0089]CUに対して符号化演算を実行することの一部として、イントラ予測ユニット126は、CUのPUに対してイントラ予測を実行し得る。イントラ予測は空間圧縮を実現し得る。イントラ予測ユニット126がPUに対してイントラ予測を実行するとき、イントラ予測ユニット126は、同じピクチャ中の他のPUの復号サンプルに基づいて、PUの予測データを生成し得る。PUの予測データは、予測ビデオブロックと様々なシンタックス要素とを含み得る。イントラ予測ユニット126は、Iスライス、Pスライス、およびBスライス中のPUに対してイントラ予測を実行し得る。
[0090]PUに対してイントラ予測を実行するために、イントラ予測ユニット126は、複数のイントラ予測モードを使用して、PUの予測データの複数のセットを生成し得る。イントラ予測ユニット126が、イントラ予測モードを使用してPUの予測データのセットを生成するとき、イントラ予測ユニット126は、イントラ予測モードに関連付けられた方向および/または勾配で、隣接PUのビデオブロックからPUのビデオブロックにわたって、サンプルを延ばし得る。隣接PUは、PU、CU、およびツリーブロックについて左から右、上から下の符号化順序を仮定すると、PUの上、右上、左上、または左にあり得る。イントラ予測ユニット126は、PUのサイズに応じて、様々な数のイントラ予測モード、たとえば、33個の方向性イントラ予測モードを使用し得る。
[0091]予測処理ユニット100は、PUについての、動き補償ユニット124によって生成された予測データ、またはPUについての、イントラ予測ユニット126によって生成された予測データの中から、PUの予測データを選択し得る。いくつかの例では、予測処理ユニット100は、予測データのセットのレート/ひずみメトリックに基づいて、PUのための予測データを選択する。
[0092]予測処理ユニット100が、イントラ予測ユニット126によって生成された予測データを選択する場合、予測処理ユニット100は、PUの予測データを生成するために使用されたイントラ予測モード、たとえば、選択されたイントラ予測モードをシグナリングし得る。予測処理ユニット100は、選択されたイントラ予測モードを様々な方法でシグナリングし得る。たとえば、選択されたイントラ予測モードは、隣接PUのイントラ予測モードと同じであることがあり得る。言い換えれば、隣接PUのイントラ予測モードは現在PUに対して最確モード(the most probable mode)であり得る。したがって、予測処理ユニット100は、選択されたイントラ予測モードが隣接PUのイントラ予測モードと同じであることを示すための、シンタックス要素を生成し得る。
[0093]上記で説明したように、ビデオエンコーダ20はレイヤ間予測ユニット128を含み得る。レイヤ間予測ユニット128は、SVCにおいて利用可能である1つまたは複数の異なるレイヤ(たとえば、ベースレイヤまたは参照レイヤ)を使用して現在ブロック(たとえば、EL中の現在ブロック)を予測するように構成される。そのような予測はレイヤ間予測と呼ばれることがある。レイヤ間予測ユニット128は、レイヤ間冗長性を低減するために予測方法を利用し、それによって、コーディング効率を改善し、計算リソース要件を低減する。レイヤ間予測のいくつかの例としては、レイヤ間イントラ予測、レイヤ間動き予測、およびレイヤ間残差予測がある。レイヤ間イントラ予測は、ベースレイヤ中のコロケートブロック(co-located blocks)の再構成を使用してエンハンスメントレイヤ中の現在ブロックを予測する。レイヤ間動き予測は、ベースレイヤの動き情報を使用してエンハンスメントレイヤ中の動作を予測する。レイヤ間残差予測は、ベースレイヤの残差を使用してエンハンスメントレイヤの残差を予測する。レイヤ間予測方式の各々について、より詳細に以下で説明する。
[0094]予測処理ユニット100がCUのPUの予測データを選択した後、残差生成ユニット102は、CUのビデオブロックからCUのPUの予測ビデオブロックを差し引くこと(たとえば、マイナス符号によって示される)によって、CUの残差データを生成し得る。CUの残差データは、CUのビデオブロック中のサンプルの異なるサンプル成分に対応する、2D残差ビデオブロックを含み得る。たとえば、残差データは、CUのPUの予測ビデオブロック中のサンプルのルミナンス成分と、CUの元のビデオブロック中のサンプルのルミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。さらに、CUの残差データは、CUのPUの予測ビデオブロック中のサンプルのクロミナンス成分と、CUの元のビデオブロック中のサンプルのクロミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。
[0095]予測処理ユニット100は、4分木区分を実行して、CUの残差ビデオブロックをサブブロックに区分し得る。各分割されていない残差ビデオブロックは、CUの異なるTUに関連付けられ得る。CUのTUに関連付けられた残差ビデオブロックのサイズおよび位置は、CUのPUに関連付けられたビデオブロックのサイズおよび位置に基づくことも基づかないこともある。「残差4分木」(RQT:residual quad tree)として知られる4分木構造は、残差ビデオブロックの各々に関連付けられたノードを含み得る。CUのTUはRQTのリーフノードに対応し得る。
[0096]変換処理ユニット104は、TUに関連付けられた残差ビデオブロックに1つまたは複数の変換を適用することによって、CUの各TUのための1つまたは複数の変換係数ブロックを生成し得る。変換係数ブロックの各々は、変換係数の2D行列であり得る。変換処理ユニット104は、TUに関連付けられた残差ビデオブロックに様々な変換を適用し得る。たとえば、変換処理ユニット104は、離散コサイン変換(DCT)、方向性変換、または概念的に同様の変換を、TUに関連付けられた残差ビデオブロックに適用し得る。
[0097]変換処理ユニット104が、TUに関連付けられた変換係数ブロックを生成した後、量子化ユニット106は、変換係数ブロック中の変換係数を量子化し得る。量子化ユニット106は、CUに関連付けられたQP値に基づいて、CUのTUに関連付けられた変換係数ブロックを量子化し得る。
[0098]ビデオエンコーダ20は、様々な方法でQP値をCUに関連付け得る。たとえば、ビデオエンコーダ20は、CUに関連付けられたツリーブロックに対してレートひずみ分析を実行し得る。レートひずみ分析では、ビデオエンコーダ20は、ツリーブロックに対して符号化演算を複数回実行することによって、ツリーブロックの複数のコード化表現を生成し得る。ビデオエンコーダ20がツリーブロックの異なる符号化表現を生成するとき、ビデオエンコーダ20は、異なるQP値をCUに関連付け得る。ビデオエンコーダ20は、最小のビットレートおよびひずみメトリックを有するツリーブロックのコード化表現で所与のQP値がCUに関連付けられるとき、所与のQP値がCUに関連付けられることをシグナリングし得る。
[0099]逆量子化ユニット108および逆変換ユニット110は、それぞれ、変換係数ブロックに逆量子化と逆変換とを適用して、変換係数ブロックから残差ビデオブロックを再構成し得る。再構成ユニット112は、再構成された残差ビデオブロックを、予測処理ユニット100によって生成された1つまたは複数の予測ビデオブロックからの対応するサンプルに追加して、TUに関連付けられた再構成されたビデオブロックを生成し得る。このようにCUの各TUのためのビデオブロックを再構成することによって、ビデオエンコーダ20は、CUのビデオブロックを再構成し得る。
[00100]再構成ユニット112がCUのビデオブロックを再構成した後、フィルタユニット113は、CUに関連付けられたビデオブロックにおけるブロッキングアーティファクトを低減するためにデブロッキング演算を実行し得る。1つまたは複数のデブロッキング演算を実行した後、フィルタユニット113は、復号ピクチャバッファ114にCUの再構成されたビデオブロックを記憶し得る。動き推定ユニット122および動き補償ユニット124は、再構成されたビデオブロックを含んでいる参照ピクチャを使用して、後続ピクチャのPUに対してインター予測を実行し得る。さらに、イントラ予測ユニット126は、復号ピクチャバッファ114中の再構成されたビデオブロックを使用して、CUと同じピクチャの中の他のPUに対してイントラ予測を実行し得る。
[00101]エントロピー符号化ユニット116は、ビデオエンコーダ20の他の機能構成要素からデータを受信し得る。たとえば、エントロピー符号化ユニット116は、量子化ユニット106から変換係数ブロックを受信し得、予測処理ユニット100からシンタックス要素を受信し得る。エントロピー符号化ユニット116がデータを受信するとき、エントロピー符号化ユニット116は、1つまたは複数のエントロピー符号化演算を実行して、エントロピー符号化されたデータを生成し得る。たとえば、ビデオエンコーダ20は、コンテキスト適応型可変長コーディング(CAVLC)演算、CABAC演算、変数間(V2V:variable-to-variable)レングスコーディング演算、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)演算、確率間隔区分エントロピー(PIPE)コーディング演算、または別のタイプのエントロピー符号化演算をデータに対して実行し得る。エントロピー符号化ユニット116は、エントロピー符号化されたデータを含むビットストリームを出力し得る。
[00102]データに対してエントロピー符号化演算を実行することの一部として、エントロピー符号化ユニット116は、コンテキストモデルを選択し得る。エントロピー符号化ユニット116がCABAC演算を実行している場合、コンテキストモデルは、特定の値を有する特定のビン(bins)の確率の推定値を示し得る。CABACのコンテキストでは、「ビン」という用語は、シンタックス要素の2値化されたバージョンのビットを指すために使用される。
マルチレイヤビデオエンコーダ
[00103]図2Bは、本開示で説明する態様による技法を実装し得るマルチレイヤビデオエンコーダ23の一例を示すブロック図である。ビデオエンコーダ23は、SHVCおよびマルチビューコーディングの場合など、マルチレイヤビデオフレームを処理するように構成され得る。さらに、ビデオエンコーダ23は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。
[00104]ビデオエンコーダ23はビデオエンコーダ20Aとビデオエンコーダ20Bとを含み、それらの各々はビデオエンコーダ20として構成され得、ビデオエンコーダ20に関して上記で説明した機能を実行し得る。さらに、参照番号の再利用によって示されるように、ビデオエンコーダ20Aおよび20Bは、ビデオエンコーダ20としてシステムとサブシステムとのうちの少なくともいくつかを含み得る。ビデオエンコーダ23は、2つのビデオエンコーダ20Aおよび20Bを含むものとして示されているが、ビデオエンコーダ23は、そのようなものとして限定されず、任意の数のビデオエンコーダ20レイヤを含み得る。いくつかの実施形態では、ビデオエンコーダ23はアクセスユニット中の各ピクチャまたはフレームについてビデオエンコーダ20を含み得る。たとえば、5つのピクチャを含むアクセスユニットは、5つのエンコーダレイヤを含むビデオエンコーダによって処理または符号化され得る。いくつかの実施形態では、ビデオエンコーダ23は、アクセスユニット中のフレームよりも多くのエンコーダレイヤを含み得る。いくつかのそのような場合では、ビデオエンコーダレイヤのいくつかは、いくつかのアクセスユニットを処理するときに非アクティブであり得る。
[00105]ビデオエンコーダ20Aおよび20Bに加えて、ビデオエンコーダ23はリサンプリングユニット90を含み得る。リサンプリングユニット90は、場合によっては、たとえば、エンハンスメントレイヤを作成するために、受信されたビデオフレームのベースレイヤをアップサンプリングし得る。リサンプリングユニット90は、フレームの受信されたベースレイヤに関連付けられた特定の情報をアップサンプリングするが、他の情報をアップサンプリングしないことがある。たとえば、リサンプリングユニット90は、ベースレイヤの空間サイズまたはピクセルの数をアップサンプリングし得るが、スライスの数またはピクチャ順序カウントは定数のままであり得る。場合によっては、リサンプリングユニット90は、受信されたビデオを処理しないことがあるか、および/または随意であり得る。たとえば、場合によっては、予測処理ユニット100はアップサンプリングを実行し得る。いくつかの実施形態では、リサンプリングユニット90は、レイヤをアップサンプリングすることと、スライス境界ルールおよび/またはラスタ走査ルールのセットに準拠するために1つまたは複数のスライスを再編成、再定義、変更、または調整することとを行うように構成される。アクセスユニット中のベースレイヤまたは下位レイヤをアップサンプリングするものとして主に説明したが、場合によっては、リサンプリングユニット90はレイヤをダウンサンプリングし得る。たとえば、ビデオのストリーミング中に帯域幅が減少した場合、フレームは、アップサンプリングされるのではなく、ダウンサンプリングされ得る。
[00106]リサンプリングユニット90は、下位レイヤエンコーダ(たとえば、ビデオエンコーダ20A)の復号ピクチャバッファ114からピクチャまたはフレーム(またはピクチャに関連付けられたピクチャ情報)を受信し、ピクチャ(または受信されたピクチャ情報)をアップサンプリングするように構成され得る。このアップサンプリングされたピクチャは、次いで、下位レイヤエンコーダと同じアクセスユニット中のピクチャを符号化するように構成された上位レイヤエンコーダ(たとえば、ビデオエンコーダ20B)の予測処理ユニット100に与えられ得る。場合によっては、上位レイヤエンコーダは、下位レイヤエンコーダから削除された1つのレイヤである。他の場合には、図2Bのレイヤ0ビデオエンコーダとレイヤ1エンコーダとの間に1つまたは複数の上位レイヤエンコーダがあり得る。
[00107]場合によっては、リサンプリングユニット90は省略またはバイパスされ得る。そのような場合、ビデオエンコーダ20Aの復号ピクチャバッファ114からのピクチャは、直接、または少なくともリサンプリングユニット90に与えられることなしに、ビデオエンコーダ20Bの予測処理ユニット100に与えられ得る。たとえば、ビデオエンコーダ20Bに与えられたビデオデータと、ビデオエンコーダ20Aの復号ピクチャバッファ114からの参照ピクチャとが同じサイズまたは解像度である場合、参照ピクチャは、リサンプリングなしにビデオエンコーダ20Bに与えられ得る。
[00108]いくつかの実施形態では、ビデオエンコーダ23は、ビデオエンコーダ20Aにビデオデータを与える前に、ダウンサンプリングユニット94を使用して下位レイヤエンコーダに与えられるべきビデオデータをダウンサンプリングする。代替的に、ダウンサンプリングユニット94は、ビデオデータをアップサンプリングまたはダウンサンプリングすることが可能なリサンプリングユニット90であり得る。また他の実施形態では、ダウンサンプリングユニット94は省略され得る。
[00109]図2Bに示されているように、ビデオエンコーダ23は、マルチプレクサ98、またはmuxをさらに含み得る。mux98は、ビデオエンコーダ23から合成ビットストリームを出力することができる。合成ビットストリームは、ビデオエンコーダ20Aおよび20Bの各々からビットストリームを取ることと、所与の時間において出力されるビットストリームを交替することとによって、作成され得る。場合によっては、2つの(または、3つ以上のビデオエンコーダレイヤの場合には、より多くの)ビットストリームからのビットが一度に1ビットずつ交替され得るが、多くの場合、ビットストリームは別様に合成され得る。たとえば、出力ビットストリームは、選択されたビットストリームを一度に1ブロックずつ交替することによって作成され得る。別の例では、出力ビットストリームは、ビデオエンコーダ20Aおよび20Bの各々からブロックの非1:1比を出力することによって作成され得る。たとえば、2つのブロックは、ビデオエンコーダ20Aから出力された各ブロックについてビデオエンコーダ20Bから出力され得る。いくつかの実施形態では、mux98からの出力ストリームはプリプログラムされ得る。他の実施形態では、mux98は、ソースモジュール12を含むソースデバイス上のプロセッサからなど、ビデオエンコーダ23の外部のシステムから受信された制御信号に基づいて、ビデオエンコーダ20A、20Bからのビットストリームを合成し得る。制御信号は、ビデオソース18からのビデオの解像度またはビットレートに基づいて、リンク16の帯域幅に基づいて、ユーザに関連付けられたサブスクリプション(たとえば、有料サブスクリプション対無料サブスクリプション)に基づいて、またはビデオエンコーダ23から望まれる解像度出力を決定するための他のファクタに基づいて生成され得る。
ビデオデコーダ
[00110]図3Aは、本開示で説明する態様による技法を実装し得るビデオデコーダの一例を示すブロック図である。ビデオデコーダ30は、HEVCの場合など、ビデオフレームの単一のレイヤを処理するように構成され得る。さらに、ビデオデコーダ30は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。一例として、動き補償ユニット162および/またはイントラ予測ユニット164は、本開示で説明する技法のいずれかまたはすべてを実行するように構成され得る。一実施形態では、ビデオデコーダ30は、場合によっては、本開示で説明する技法のいずれかまたはすべてを実行するように構成されたレイヤ間予測ユニット166を含み得る。他の実施形態では、レイヤ間予測は予測処理ユニット152(たとえば、動き補償ユニット162および/またはイントラ予測ユニット164)によって実行され得、その場合、レイヤ間予測ユニット166は省略され得る。ただし、本開示の態様はそのように限定されない。いくつかの例では、本開示で説明する技法は、ビデオデコーダ30の様々な構成要素間で共有され得る。いくつかの例では、追加または代替として、プロセッサ(図示せず)が、本開示で説明する技法のいずれかまたはすべてを実行するように構成され得る。
[00111]説明の目的で、本開示では、HEVCコーディングのコンテキストにおいてビデオデコーダ30について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法にも適用可能であり得る。図3Aに示された例はシングルレイヤコーデックのためのものである。しかしながら、図3Bに関してさらに説明するように、ビデオデコーダ30の一部または全部はマルチレイヤコーデックの処理のために複製され得る。
[00112]図3Aの例では、ビデオデコーダ30は複数の機能構成要素を含む。ビデオデコーダ30の機能構成要素は、エントロピー復号ユニット150と、予測処理ユニット152と、逆量子化ユニット154と、逆変換ユニット156と、再構成ユニット158と、フィルタユニット159と、復号ピクチャバッファ160とを含む。予測処理ユニット152は、動き補償ユニット162と、イントラ予測ユニット164と、レイヤ間予測ユニット166とを含む。いくつかの例では、ビデオデコーダ30は、図2Aのビデオエンコーダ20に関して説明された符号化経路とは全般に逆の復号経路を実行し得る。他の例では、ビデオデコーダ30は、より多数の、より少数の、または異なる機能構成要素を含み得る。
[00113]ビデオデコーダ30は、符号化ビデオデータを備えるビットストリームを受信し得る。ビットストリームは複数のシンタックス要素を含み得る。ビデオデコーダ30がビットストリームを受信したとき、エントロピー復号ユニット150は、ビットストリームに対してパース演算を実行し得る。ビットストリームに対してパース演算を実行した結果として、エントロピー復号ユニット150は、ビットストリームからシンタックス要素を抽出し得る。パース演算を実行することの一部として、エントロピー復号ユニット150は、ビットストリーム中のエントロピー符号化されたシンタックス要素をエントロピー復号し得る。予測処理ユニット152、逆量子化ユニット154、逆変換ユニット156、再構成ユニット158、およびフィルタユニット159は、ビットストリームから抽出されたシンタックス要素に基づいて、復号ビデオデータを生成する再構成演算を実行し得る。
[00114]上記で説明したように、ビットストリームは、一連のNALユニットを備え得る。ビットストリームのNALユニットは、ビデオパラメータセット、シーケンスパラメータセットNALユニット、ピクチャパラメータセットNALユニット、SEI NALユニットなどを含み得る。ビットストリームに対してパース演算を実行することの一部として、エントロピー復号ユニット150は、シーケンスパラメータセットNALユニットからのシーケンスパラメータセット、ピクチャパラメータセットNALユニットからのピクチャパラメータセット、SEI NALユニットからのSEIデータなどを抽出しエントロピー復号する、パース演算を実行し得る。
[00115]さらに、ビットストリームのNALユニットはコード化スライスNALユニットを含み得る。ビットストリームに対してパース演算を実行することの一部として、エントロピー復号ユニット150は、コード化スライスNALユニットからコード化スライスを抽出しエントロピー復号する、パース演算を実行し得る。コーディングされたスライスの各々は、スライスヘッダとスライスデータとを含み得る。スライスヘッダは、スライスに関するシンタックス要素を含んでいることがある。スライスヘッダ中のシンタックス要素は、スライスを含んでいるピクチャに関連付けられたピクチャパラメータセットを識別するシンタックス要素を含み得る。エントロピー復号ユニット150は、コード化されたスライスヘッダ中のシンタックス要素に対して、CABAC復号演算などのエントロピー復号演算を実行して、スライスヘッダを再構成し得る。
[00116]コード化スライスのNALユニットからスライスデータを抽出することの一部として、エントロピー復号ユニット150は、スライスデータ中のコード化CUからシンタックス要素を抽出するパース演算を実行し得る。抽出されたシンタックス要素は、変換係数ブロックに関連付けられたシンタックス要素を含み得る。エントロピー復号ユニット150は、次いで、シンタックス要素のうちのいくつかに対してCABAC復号演算を実行し得る。
[00117]エントロピー復号ユニット150が区分されていないCUに対してパース演算を実行した後、ビデオデコーダ30は、区分されていないCUに対して再構成演算を実行し得る。区分されていないCUに対して再構成演算を実行するために、ビデオデコーダ30はCUの各TUに対して再構成演算を実行し得る。CUの各TUについて再構成演算を実行することによって、ビデオデコーダ30は、CUに関連付けられた残差ビデオブロックを再構成し得る。
[00118]TUに対して再構成演算を実行することの一部として、逆量子化ユニット154は、TUに関連付けられた変換係数ブロックを逆量子化(inverse quantize)、たとえば、逆量子化(de-quantize)し得る。逆量子化ユニット154は、HEVC用に提案された、またはH.264復号規格によって定義された逆量子化プロセスと同様の方式で、変換係数ブロックを逆量子化し得る。逆量子化ユニット154は、量子化の程度を決定し、同様に、逆量子化ユニット154が適用するべき逆量子化の程度を決定するために、変換係数ブロックのCUのためにビデオエンコーダ20によって計算される量子化パラメータQPを使用し得る。
[00119]逆量子化ユニット154が変換係数ブロックを逆量子化した後、逆変換ユニット156は、変換係数ブロックに関連付けられたTUのための残差ビデオブロックを生成し得る。逆変換ユニット156は、TUのための残差ビデオブロックを生成するために、変換係数ブロックに逆変換を適用し得る。たとえば、逆変換ユニット156は、変換係数ブロックに、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT:Karhunen-Loeve transform)、逆回転変換、逆方向変換、または別の逆変換を適用し得る。いくつかの例では、逆変換ユニット156は、ビデオエンコーダ20からのシグナリングに基づいて、変換係数ブロックに適用すべき逆変換を決定し得る。そのような例では、逆変換ユニット156は、変換係数ブロックに関連付けられたツリーブロックの4分木のルートノードにおいてシグナリングされた変換に基づいて、逆変換を決定し得る。他の例では、逆変換ユニット156は、ブロックサイズ、コーディングモードなど、1つまたは複数のコーディング特性から逆変換を推論し得る。いくつかの例では、逆変換ユニット156はカスケード逆変換を適用し得る。
[00120]いくつかの例では、動き補償ユニット162は、補間フィルタに基づく補間を実行することによって、PUの予測ビデオブロックを改良し得る。サブサンプル精度をもつ動き補償のために使用されるべき補間フィルタのための識別子が、シンタックス要素中に含まれ得る。動き補償ユニット162は、PUの予測ビデオブロックの生成中にビデオエンコーダ20によって使用された同じ補間フィルタを使用して、参照ブロックのサブ整数サンプルについての補間値を計算し得る。動き補償ユニット162は、受信されたシンタックス情報に従って、ビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ビデオブロックを生成し得る。
[00121]図4に関して以下でさらに説明するように、予測処理ユニット152は、図4に示されている方法を実行することによってPU(または他の参照レイヤおよび/またはエンハンスメントレイヤブロックまたはビデオユニット)をコーディング(たとえば、符号化または復号)し得る。たとえば、動き補償ユニット162、イントラ予測ユニット164、またはレイヤ間予測ユニット166は、一緒にまたは別々に、図4に示されている方法を実行するように構成され得る。
[00122]PUが、イントラ予測を使用して符号化される場合、イントラ予測ユニット164は、PUのための予測ビデオブロックを生成するためにイントラ予測を実行し得る。たとえば、イントラ予測ユニット164は、ビットストリーム中のシンタックス要素に基づいて、PUのためのイントラ予測モードを決定し得る。ビットストリームは、PUのイントラ予測モードを決定するためにイントラ予測ユニット164が使用し得るシンタックス要素を含み得る。
[00123]いくつかの事例では、シンタックス要素は、イントラ予測ユニット164が別のPUのイントラ予測モードを使用して現在PUのイントラ予測モードを決定するべきであることを示し得る。たとえば、現在PUのイントラ予測モードは隣接PUのイントラ予測モードと同じであることがあり得る。言い換えれば、隣接PUのイントラ予測モードは、現在PUに対して最確モードであり得る。したがって、この例では、ビットストリームは、PUのイントラ予測モードが隣接PUのイントラ予測モードと同じであることを示す、小さいシンタックス要素を含み得る。イントラ予測ユニット164は、次いで、イントラ予測モードを使用して、空間的に隣接するPUのビデオブロックに基づいて、PUの予測データ(たとえば、予測サンプル)を生成し得る。
[00124]上記で説明したように、ビデオデコーダ30もレイヤ間予測ユニット166を含み得る。レイヤ間予測ユニット166は、SVCにおいて利用可能である1つまたは複数の異なるレイヤ(たとえば、ベースレイヤまたは参照レイヤ)を使用して現在ブロック(たとえば、EL中の現在ブロック)を予測するように構成される。そのような予測はレイヤ間予測と呼ばれることがある。レイヤ間予測ユニット166は、レイヤ間冗長性を低減するために予測方法を利用し、それによって、コーディング効率を改善し、計算リソース要件を低減する。レイヤ間予測のいくつかの例としては、レイヤ間イントラ予測、レイヤ間動き予測、およびレイヤ間残差予測がある。レイヤ間イントラ予測は、ベースレイヤ中のコロケートブロックの再構成を使用してエンハンスメントレイヤ中の現在ブロックを予測する。レイヤ間動き予測は、ベースレイヤの動き情報を使用してエンハンスメントレイヤ中の動作を予測する。レイヤ間残差予測は、ベースレイヤの残差を使用してエンハンスメントレイヤの残差を予測する。レイヤ間予測方式の各々について、より詳細に以下で説明する。
[00125]再構成ユニット158は、適用可能なとき、CUのTUに関連付けられた残差ビデオブロックとCUのPUの予測ビデオブロックとを使用して、たとえば、イントラ予測データまたはインター予測データのいずれかを使用して、CUのビデオブロックを再構成し得る。したがって、ビデオデコーダ30は、ビットストリーム中のシンタックス要素に基づいて、予測ビデオブロックと残差ビデオブロックとを生成し得、予測ビデオブロックと残差ビデオブロックとに基づいて、ビデオブロックを生成し得る。
[00126]再構成ユニット158がCUのビデオブロックを再構成した後、フィルタユニット159は、デブロッキング演算を実行して、CUに関連付けられたブロッキングアーティファクトを低減し得る。フィルタユニット159がデブロッキング演算を実行してCUに関連付けられたブロッキングアーティファクトを低減した後、ビデオデコーダ30は、復号ピクチャバッファ160にCUのビデオブロックを記憶し得る。復号ピクチャバッファ160は、後続の動き補償、イントラ予測、および図1Aまたは図1Bのディスプレイデバイス32などのディスプレイデバイス上での提示のために、参照ピクチャを与え得る。たとえば、ビデオデコーダ30は、復号ピクチャバッファ160中のビデオブロックに基づいて、他のCUのPUに対してイントラ予測演算またはインター予測演算を実行し得る。
マルチレイヤデコーダ
[00127]図3Bは、本開示で説明する態様による技法を実装し得るマルチレイヤビデオデコーダ33の一例を示すブロック図である。ビデオデコーダ33は、SHVCおよびマルチビューコーディングの場合など、マルチレイヤビデオフレームを処理するように構成され得る。さらに、ビデオデコーダ33は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。
[00128]ビデオデコーダ33はビデオデコーダ30Aとビデオデコーダ30Bとを含み、それらの各々はビデオデコーダ30として構成され得、ビデオデコーダ30に関して上記で説明した機能を実行し得る。さらに、参照番号の再利用によって示されるように、ビデオデコーダ30Aおよび30Bは、ビデオデコーダ30としてシステムとサブシステムとのうちの少なくともいくつかを含み得る。ビデオデコーダ33は、2つのビデオデコーダ30Aおよび30Bを含むものとして示されているが、ビデオデコーダ33は、そのようなものとして限定されず、任意の数のビデオデコーダ30レイヤを含み得る。いくつかの実施形態では、ビデオデコーダ33はアクセスユニット中の各ピクチャまたはフレームについてビデオデコーダ30を含み得る。たとえば、5つのピクチャを含むアクセスユニットは、5つのデコーダレイヤを含むビデオデコーダによって処理または復号され得る。いくつかの実施形態では、ビデオデコーダ33は、アクセスユニット中のフレームよりも多くのデコーダレイヤを含み得る。いくつかのそのような場合では、ビデオデコーダレイヤのいくつかは、いくつかのアクセスユニットを処理するときに非アクティブであり得る。
[00129]ビデオデコーダ30Aおよび30Bに加えて、ビデオデコーダ33はアップサンプリングユニット92を含み得る。いくつかの実施形態では、アップサンプリングユニット92は、フレームまたはアクセスユニットのための参照ピクチャリストに追加されるべきエンハンストレイヤを作成するために、受信されたビデオフレームのベースレイヤをアップサンプリングし得る。このエンハンストレイヤは復号ピクチャバッファ160に記憶され得る。いくつかの実施形態では、アップサンプリングユニット92は、図2Aのリサンプリングユニット90に関して説明した実施形態の一部または全部を含むことができる。いくつかの実施形態では、アップサンプリングユニット92は、レイヤをアップサンプリングすることと、スライス境界ルールおよび/またはラスタ走査ルールのセットに準拠するために1つまたは複数のスライスを再編成、再定義、変更、または調整することとを行うように構成される。場合によっては、アップサンプリングユニット92は、受信されたビデオフレームのレイヤをアップサンプリングおよび/またはダウンサンプリングするように構成されたリサンプリングユニットであり得る。
[00130]アップサンプリングユニット92は、下位レイヤデコーダ(たとえば、ビデオデコーダ30A)の復号ピクチャバッファ160からピクチャまたはフレーム(またはピクチャに関連付けられたピクチャ情報)を受信し、ピクチャ(または受信されたピクチャ情報)をアップサンプリングするように構成され得る。このアップサンプリングされたピクチャは、次いで、下位レイヤデコーダと同じアクセスユニット中のピクチャを復号するように構成された上位レイヤデコーダ(たとえば、ビデオデコーダ30B)の予測処理ユニット152に与えられ得る。場合によっては、上位レイヤデコーダは、下位レイヤデコーダから削除された1つのレイヤである。他の場合には、図3Bのレイヤ0ビデオデコーダとレイヤ1デコーダとの間に1つまたは複数の上位レイヤデコーダがあり得る。
[00131]場合によっては、アップサンプリングユニット92は省略またはバイパスされ得る。そのような場合、ビデオデコーダ30Aの復号ピクチャバッファ160からのピクチャは、直接、または少なくともアップサンプリングユニット92に与えられることなしに、ビデオデコーダ30Bの予測処理ユニット152に与えられ得る。たとえば、ビデオデコーダ30Bに与えられたビデオデータと、ビデオデコーダ30Aの復号ピクチャバッファ160からの参照ピクチャとが同じサイズまたは解像度である場合、参照ピクチャは、アップサンプリングなしにビデオデコーダ30Bに与えられ得る。さらに、いくつかの実施形態では、アップサンプリングユニット92は、ビデオデコーダ30Aの復号ピクチャバッファ160から受信された参照ピクチャをアップサンプリングまたはダウンサンプリングするように構成されたリサンプリングユニット90であり得る。
[00132]図3Bに示されているように、ビデオデコーダ33は、デマルチプレクサ99、またはdemuxをさらに含み得る。demux99は符号化ビデオビットストリームを複数のビットストリームにスプリットすることができ、demux99によって出力された各ビットストリームは異なるビデオデコーダ30Aおよび30Bに与えられる。複数のビットストリームは、ビットストリームを受信することによって作成され得、ビデオデコーダ30Aおよび30Bの各々は、所与の時間においてビットストリームの一部分を受信する。場合によっては、demux99において受信されるビットストリームからのビットは、ビデオデコーダの各々(たとえば、図3Bの例ではビデオデコーダ30Aおよび30B)の間で一度に1ビットずつ交替され得るが、多くの場合、ビットストリームは別様に分割される。たとえば、ビットストリームは、一度に1ブロックずつビットストリームを受信するビデオデコーダを交替することによって分割され得る。別の例では、ビットストリームは、ブロックの非1:1比によって、ビデオデコーダ30Aおよび30Bの各々に分割され得る。たとえば、2つのブロックは、ビデオデコーダ30Aに与えられる各ブロックについてビデオデコーダ30Bに与えられ得る。いくつかの実施形態では、demux99によるビットストリームの分割はプリプログラムされ得る。他の実施形態では、demux99は、宛先モジュール14を含む宛先デバイス上のプロセッサからなど、ビデオデコーダ33の外部のシステムから受信された制御信号に基づいてビットストリームを分割し得る。制御信号は、入力インターフェース28からのビデオの解像度またはビットレートに基づいて、リンク16の帯域幅に基づいて、ユーザに関連付けられたサブスクリプション(たとえば、有料サブスクリプション対無料サブスクリプション)に基づいて、またはビデオデコーダ33によって取得可能な解像度を決定するための他のファクタに基づいて生成され得る。
コーディング効率対ドリフト
[00133]上記で説明したように、BLをコーディングするために使用されるELのいずれかの部分がなくなっているとき、ドリフトが発生する。たとえば、デコーダが2つのレイヤ、BLおよびELを含んでいるビットストリームを処理し、ここで、BLは、EL中に含まれている情報を使用してコーディングされており、デコーダが、ビットストリームのBL部分のみを復号することを選択した場合、BLをコーディングするために使用された情報がもはや利用可能ではないので、ドリフトが発生するであろう。
ドリフトを最小限に抑えること
[00134]一実装形態では、ELピクチャはBL中の情報を使用してコーディングされ得るが、BLピクチャはEL中の情報を使用してコーディングされないことがある。そのような例では、ELの一部分が失われた場合でも、BLはELに基づいてコーディングされないので、BLの復号は影響を及ぼされない。
[00135]別の実装形態では、「キーピクチャ」がビットストリーム全体にわたって指定され、そのようなキーピクチャはBL中の情報のみを使用することができる。したがって、ELが一部分が失われた場合でも、少なくともこれらのキーピクチャはドリフトによって影響を及ぼされない。この実装形態では、ELピクチャに基づいてBLピクチャがコーディングされることを可能にすることによって、コーディング効率が改善され得るが、リフレッシュピクチャと呼ばれることもあるこれらのキーピクチャを有することによって、ドリフトの悪影響がかなり低減され得る。
既存のコーディング方式
[00136]いくつかの実装形態(たとえば、HEVC)は、上位レイヤ復号ピクチャを参照ピクチャとして使用して下位レイヤがコーディングされることを可能にしないことがある。また、いくつかの実装形態は、上位レイヤ復号ピクチャが下位レイヤ中の現在ピクチャの参照ピクチャであることを示すためのいかなる機構をも有しないことがある。そのような実装形態では、ドリフトに関連付けられた悪影響を最小限に抑えながら上位レイヤ(たとえば、EL)に基づいて下位レイヤ(たとえば、BL)がコーディングされることを可能にすることによって生じるコーディング効率利得を活用するために、本開示で説明する技法が利用され得る。
例実施形態
[00137]本開示では、下位レイヤピクチャをコーディングするための参照ピクチャとして上位レイヤ復号ピクチャが使用され得るかどうかの指示をシグナリングおよび処理するための様々な例示的な実施形態について説明する。そのような実施形態のうちの1つまたは複数について、既存の実装形態(たとえば、HEVC拡張)に関して説明することがある。本開示の実施形態は、互いに独立してまたは組み合わせて適用され得、スケーラブルコーディングと、深度をもつまたはもたないマルチビューコーディングと、HEVCに対する他の拡張および他のビデオコーデックとに適用可能であるかまたは拡張され得る。
[00138]いくつかの実施形態について説明するためにBLおよびELの例が使用されるが、本明細書で説明する技法は、RLとEL、BLと複数のEL、RLと複数のELなどのレイヤの任意のペアまたはグループに適用または拡張され得る。
上位レイヤ復号ピクチャを使用することのVPSレベル信号指示
[00139]一実施形態では、ビデオパラメータセット(VPS)中で与えられるフラグまたはシンタックス要素が、下位レイヤピクチャをコーディングするための参照ピクチャとして上位レイヤ復号ピクチャが使用され得るかどうかを示す。フラグまたはシンタックス要素はVPS中で与えられるので、フラグまたはシンタックス要素によって与えられるいずれの指示も、同じコード化ビデオシーケンス(CVS)中のすべてのレイヤに適用されることになる。以下は、そのようなフラグまたはシンタックス要素の実装形態を示す例示的なシンタックスである。関連する部分はイタリック体で示されている。

例示的なセマンティクス
[00140]たとえば、以下のセマンティクスは、フラグまたはシンタックス要素を定義するために使用され得る。0に等しいenable_higher_layer_ref_pic_pred[i]は、CVS内で、layer_id_in_nuh[i]よりも大きいnuh_layer_idをもつ復号ピクチャが、layer_id_in_nuh[i]に等しいnuh_layer_idをもつピクチャのための参照として使用されないことを指定する。1に等しいenable_higher_layer_ref_pic_pred[i]は、CVS内で、layer_id_in_nuh[i]よりも大きいnuh_layer_idをもつ復号ピクチャが、利用可能なときに、layer_id_in_nuh[i]に等しいnuh_layer_idと、0よりも大きい時間IDとをもつピクチャのための参照として使用され得ることを指定する。存在しないとき、enable_higher_layer_ref_pic_pred[i]は、0であると推測される。
[00141]この例では、いずれかの上位レイヤが参照レイヤであり得、上位レイヤ予測が、時間IDが0よりも大きい時間レイヤのために利用可能である。ここで、復号ピクチャの利用可能性は、現在ピクチャと同じアクセスユニット中に復号ピクチャが存在するかどうかによって決定され得る。たとえば、1のenable_higher_layer_ref_pic_pred[i]値は、上位レイヤ復号ピクチャが、もしあれば、現在レイヤ中の現在ピクチャをコーディングするために使用され得ることを示す。別の実施形態では、利用可能性は、現在ピクチャのアクセスユニットに限定されず、他の時間的に近隣するアクセスユニットを含み得る。
例示的なセマンティクス
[00142]別の例では、以下のセマンティクスは、フラグまたはシンタックス要素を定義するために使用され得る。0に等しいenable_higher_layer_ref_pic_pred[i]は、CVS内で、layer_id_in_nuh[i]よりも大きいnuh_layer_idをもつ復号ピクチャが、layer_id_in_nuh[i]に等しいnuh_layer_idをもつピクチャのための参照として使用されないことを指定する。1に等しいenable_higher_layer_ref_pic_pred[i]は、CVS内で、layer_id_in_nuh[i]よりも大きいnuh_layer_idをもつ復号ピクチャが、利用可能なときに、layer_id_in_nuh[i]に等しいnuh_layer_idをもつピクチャのための参照として使用され得ることを指定する。存在しないとき、enable_higher_layer_ref_pic_pred[i]は、0に等しいと推測される。
[00143]この例では、いずれかの上位レイヤが参照レイヤであり得、上位レイヤ予測が、時間IDが0よりも大きいレイヤのためだけではなく、すべての時間レイヤのために利用可能である。
例示的なセマンティクス
[00144]また別の例では、以下のセマンティクスは、フラグまたはシンタックス要素を定義するために使用され得る。0に等しいenable_higher_layer_ref_pic_pred[i]は、CVS内で、layer_id_in_nuh[i]よりも大きいnuh_layer_idをもつ復号ピクチャが、layer_id_in_nuh[i]に等しいnuh_layer_idをもつピクチャのための参照として使用されないことを指定する。1に等しいenable_higher_layer_ref_pic_pred[i]は、CVS内で、layer_id_in_nuh[i+1]に等しいnuh_layer_idをもつ復号ピクチャが、利用可能なときに、layer_id_in_nuh[i]に等しいnuh_layer_idと、0よりも大きい時間IDとをもつピクチャのための参照として使用され得ることを指定する。存在しないとき、enable_higher_layer_ref_pic_pred[i]は、0に等しいと推測される。
[00145]この例では、すぐ上のレイヤが参照レイヤであり得、上位レイヤ予測が、時間IDが0よりも大きい時間レイヤのために利用可能である。
例示的なセマンティクス
[00146]また別の例では、以下のセマンティクスは、フラグまたはシンタックス要素を定義するために使用され得る。0に等しいenable_higher_layer_ref_pic_pred[i]は、CVS内で、layer_id_in_nuh[i]よりも大きいnuh_layer_idをもつ復号ピクチャが、layer_id_in_nuh[i]に等しいnuh_layer_idをもつピクチャのための参照として使用されないことを指定する。1に等しいenable_higher_layer_ref_pic_pred[i]は、CVS内で、layer_id_in_nuh[i+1]に等しいnuh_layer_idをもつ復号ピクチャが、利用可能なときに、layer_id_in_nuh[i]に等しいnuh_layer_idをもつピクチャのための参照として使用され得ることを指定する。存在しないとき、enable_higher_layer_ref_pic_pred[i]は、0に等しいと推測される。
[00147]この例では、すぐ上のレイヤが参照レイヤであり得、上位レイヤ予測が、時間IDが0よりも大きいレイヤのためだけではなく、すべての時間レイヤのために利用可能である。
フラグまたはシンタックス要素のロケーション
[00148]上記で説明したenable_higher_layer_ref_pic_pred[i]フラグまたはシンタックス要素は、VPS、SPS、PPS、スライスヘッダ、およびそれの拡張中でシグナリングされ得る。それはまた、補足エンハンスメント情報(SEI)メッセージまたはビデオユーザビリティ情報(VUI:video usability information)メッセージとしてシグナリングされ得る。
例示的なフローチャート
[00149]図4は、本開示の一実施形態による、ビデオ情報をコーディングするための方法400を示すフローチャートである。図4に示されたステップは、エンコーダ(たとえば、図2Aまたは図2Bに示されているビデオエンコーダ)、デコーダ(たとえば、図3Aまたは図3Bに示されているビデオデコーダ)、または任意の他の構成要素によって実行され得る。便宜上、方法400について、エンコーダ、デコーダまたは別の構成要素であり得る、コーダによって実行されるものとして説明する。
[00150]方法400はブロック401において開始する。ブロック405において、コーダは、現在レイヤピクチャをコーディングするために上位レイヤ復号ピクチャが使用されることが可能であるかどうかを決定する。ブロック410において、コーダは、現在レイヤ中の現在レイヤピクチャが、上位レイヤ中の対応する上位レイヤピクチャを有するかどうかを決定する。ブロック415において、コーダは、現在レイヤピクチャの時間IDが0よりも大きいかどうかを決定する。たとえば、上位レイヤピクチャの使用を、0よりも大きい時間IDを有する現在レイヤピクチャに制限することは、少なくともいくつかのキーピクチャが現在レイヤ中にあることを保証することになるので、ドリフトの悪影響が低減される。現在レイヤピクチャをコーディングするために上位レイヤ復号ピクチャが使用されることが可能であり、現在レイヤ中の現在レイヤピクチャが、上位レイヤ中の対応する上位レイヤピクチャを有し、現在レイヤピクチャの時間IDが、0よりも大きいと決定したことに応答して、コーダは、対応する上位レイヤピクチャに基づいて現在レイヤピクチャをコーディングする。方法400は、425において、終了する。
[00151]上記で説明したように、図2Aのビデオエンコーダ20、図2Bのビデオエンコーダ23、図3Aのビデオデコーダ30、または図3Bのビデオデコーダ33(たとえば、レイヤ間予測ユニット128および/またはレイヤ間予測ユニット166)のうちの1つまたは複数の構成要素は、現在レイヤピクチャをコーディングするのために上位レイヤ復号ピクチャが使用されことが可能にされるかどうかを決定すること、現在レイヤ中の現在ピクチャが、上位レイヤ中の対応する上位レイヤピクチャを有するかどうかを決定すること、現在ピクチャの時間IDが、0よりも大きいかどうかを決定すること、ならびに対応する上位レイヤピクチャに基づいて現在ピクチャをコーディングすることなど、本開示で説明する技法のいずれかを実装するために使用され得る。
[00152]方法400では、図4に示されたブロックのうちの1つまたは複数は削除される(たとえば、実行されない)ことがあり、および/または方法が実行される順序は入れ替えられることがある。たとえば、ブロック415が図4に示されているが、それは、現在レイヤピクチャの時間IDが0よりも大きいという制限を除去するために、削除され得る。別の例として、ブロック420が図4に示されているが、現在レイヤピクチャを実際にコーディングすることは、方法400の一部である必要はなく、したがって方法400から省略される。したがって、本開示の実施形態は、図4に示された例にまたはそれによって限定されず、他の変形形態が、本開示の趣旨から逸脱することなく実装され得る。
上位レイヤ復号ピクチャの使用の非明示的シグナリング
[00153]この実施形態では、各ピクチャについて、以下で説明するプロセスを使用して、ピクチャが上位レイヤ参照ピクチャを使用するかどうかが決定される。
[00154]現在ピクチャが予測のための上位レイヤ復号ピクチャを使用し得るかどうかを決定するために、例示的な変数enableHigherLayerRefpicforCurrPicFlagが導入される。iに等しいレイヤインデックスを有する現在レイヤ中の現在ピクチャのための変数enableHigherLayerRefpicforCurrPicFlagは、次のように定義され得る。0に等しいenableHigherLayerRefpicforCurrPicFlagは、layer_id_in_nuh[i]に等しいnuh_layer_idをもつ現在ピクチャについて、layer_id_in_nuh[i]よりも大きいnuh_layer_idをもつ復号ピクチャが、現在ピクチャのための参照として使用されないことを指定する。1に等しいenableHigherLayerRefpicforCurrPicFlagは、layer_id_in_nuh[i]に等しいnuh_layer_idをもつ現在ピクチャについて、layer_id_in_nuh[i+1]に等しいnuh_layer_idをもつ復号ピクチャが、利用可能なときに、現在ピクチャのための参照として使用され得ることを指定する。
[00155]iのレイヤインデックスを有する現在レイヤ中の現在ピクチャについて、以下の条件のすべてが満たされる場合、変数enableHigherLayerRefpicforCurrPicFlagの値は1に設定される。
[00156]a)現在ピクチャの時間IDが0に等しい。
[00157]b)scalability_mask[i]が1に等しく、SNRまたは空間スケーラビリティを示す。
[00158]c)(たとえば、上記で説明した)VPSフラグenable_higher_layer_ref_pic_pred[i]が1に等しく、上位レイヤ予測が可能にされることを示す。
[00159]d)layer_id_in_nuh[i+1]に等しいnuh_layer_idをもつ対応する復号ピクチャが利用可能である(たとえば、現在ピクチャに対応するコロケートピクチャが、同じアクセスユニット中に存在する)。
[00160]これらの条件のすべてが満たされる場合、変数enableHigherLayerRefpicforCurrPicFlagは、現在ピクチャをコーディングするために上位レイヤ復号ピクチャが使用され得ることを示すために、1に設定される。これらの条件のうちの1つまたは複数が満たされない場合、変数enableHigherLayerRefpicforCurrPicFlagは、現在ピクチャをコーディングするために上位レイヤ復号ピクチャが使用されないことがあることを示すために、0に設定される。
上位レイヤ復号ピクチャの使用の明示的シグナリング
[00161]代替実施形態では、現在レイヤ中の現在ピクチャが上位レイヤ参照ピクチャを参照として使用するかどうかを指定するために、フラグenableHigherLayerRefpicforCurrPicFlagが明示的にシグナリングされ得る。enableHigherLayerRefpicforCurrPicFlagフラグは、次のように定義され得る。0に等しいenableHigherLayerRefpicforCurrPicFlagは、layer_id_in_nuh[i]に等しいnuh_layer_idをもつ現在ピクチャについて、layer_id_in_nuh[i]よりも大きいnuh_layer_idをもつ復号ピクチャが、現在ピクチャのための参照として使用されないことを指定する。1に等しいenableHigherLayerRefpicforCurrPicFlagは、layer_id_in_nuh[i]に等しいnuh_layer_idをもつ現在ピクチャについて、layer_id_in_nuh[i+1]に等しいnuh_layer_idをもつ復号ピクチャが、利用可能なときに、現在ピクチャのための参照として使用されることを指定する。たとえば、enableHigherLayerRefpicforCurrPicFlagフラグは、PPS、スライスヘッダ、またはそれの拡張中でシグナリングされ得る。それはまた、SEIメッセージまたはVUIメッセージとしてシグナリングされ得る。
[00162]別の実施形態では、現在レイヤ中の現在ピクチャが上位レイヤ参照ピクチャを参照として使用するかどうかを指定するために、フラグenableHigherLayerRefpicforCurrPicFlagが明示的にシグナリングされる。enableHigherLayerRefpicforCurrPicFlagフラグは、次のように定義され得る。0に等しいenableHigherLayerRefpicforCurrPicFlagは、layer_id_in_nuh[i]に等しいnuh_layer_idをもつ現在ピクチャについて、layer_id_in_nuh[i]よりも大きいnuh_layer_idをもつ復号ピクチャが、現在ピクチャのための参照として使用されないことを指定する。1に等しいenableHigherLayerRefpicforCurrPicFlagは、layer_id_in_nuh[i]に等しいnuh_layer_idをもつ現在ピクチャについて、layer_id_in_nuh[i+k]に等しいnuh_layer_idをもつ復号ピクチャが、利用可能なときに、現在ピクチャのための参照として使用されることを指定する。
[00163]この実施形態では、現在レイヤのすぐ上にある上位レイヤの参照ピクチャ(たとえば、前の例で示されたlayer_id_in_nuh[i+1])を使用する代わりに、現在レイヤより上のk番目の上位レイヤの参照ピクチャ(たとえば、この例で示されているようにlayer_id_in_nuh[i+k])が、現在ピクチャをコーディングするために使用される。たとえば、kの値は、明示的にシグナリングされるか、またはVPS中でシグナリングされた直接依存フラグから推測され得る。
上位レイヤ参照ピクチャの使用を示すフラグの解釈
[00164]一実施形態では、enableHigherLayerRefpicforCurrPicFlagの値は、0よりも大きい時間IDを有する同じCVS内の同じレイヤのすべてのピクチャに対して同じ値を有する。そのような制限は、いかなる適合ビットストリームもそのような制限を満たすようにビットストリーム適合制約として実装され得る。
[00165]別の実施形態では、enableHigherLayerRefpicforCurrPicFlagの値は、0に等しい時間IDを有する同じCVS内の同じレイヤのすべてのピクチャに対して同じ値を有する。そのような制限は、いかなる適合ビットストリームもそのような制限を満たすようにビットストリーム適合制約として実装され得る。
RPSの導出プロセスおよびピクチャマーキングの例示的な実装形態
[00166]一実施形態では、RPSの導出プロセスとピクチャマーキングとは、以下に示すように実装され得る。例示的なコーディング方式(たとえば、HEVC)に関する変更がイタリック体で強調表示され、削除が取消し線によって示されている。例示的な実装形態において参照される、HEVCスケーラブル拡張のドラフト仕様のセクションF.8.1.3も以下に転載する。
セクションF.8.1.3 レイヤ内の復号順序において最初のピクチャのための利用不可能な参照ピクチャの生成
このプロセスは、FirstPicInLayerDecodedFlag[layerId]が0に等しいとき、layerIdに等しいnuh_layer_idをもつピクチャのために呼び出される。
注− クロスレイヤランダムアクセススキップド(CL−RAS:cross-layer random access skipped)ピクチャは、0よりも大きいnuh_layer_idをもつコード化ピクチャの復号を開始するための復号プロセスが呼び出されるとき、LayerInitialisedFlag[layerId]が0に等しくなるように、layerIdに等しいnuh_layer_idをもつピクチャである。CLーRASピクチャのための復号プロセスの仕様全体が、そのようなCL−RASピクチャの許容シンタックスコンテンツに対する制約を指定する目的のみで含まれている。復号プロセス中、CL−RASピクチャは、出力のために指定されず、出力のために指定された他のピクチャの復号プロセスに影響しないので、いかなるCL−RASピクチャも無視され得る。しかしながら、アネックスCにおいて指定されているHRD動作では、CPB到着時間および削除時間の導出においてCL−RASピクチャを考慮に入れる必要があり得る。
このプロセスが呼び出されるとき、以下が適用される。
− iが、「非参照ピクチャ」に等しい、両端値を含む0〜NumPocStCurrBefore−1の範囲内にある、各RefPicSetStCurrBefore[i]について、ピクチャがサブクローズ8.3.3.2において指定されているように生成され、以下が適用される。
− 生成されたピクチャのPicOrderCntValの値が、PocStCurrBefore[i]に等しく設定される。
− 生成されたピクチャのPicOutputFlagの値が、0に等しく設定される。
− 生成されたピクチャは「短期参照のために使用される」とマークされる。
− RefPicSetStCurrBefore[i]が、生成された参照ピクチャとなるように設定される。
− 生成されたピクチャのnuh_layer_idの値が、nuh_layer_idに等しく設定される。
− iが、「非参照ピクチャ」に等しい、両端値を含む0〜NumPocStCurrAfter−1の範囲内にある、各RefPicSetStCurrAfter[i]について、ピクチャがサブクローズ8.3.3.2において指定されているように生成され、以下が適用される。
− 生成されたピクチャのPicOrderCntValの値が、PocStCurrAfter[i]に等しく設定される。
− 生成されたピクチャのPicOutputFlagの値が、0に等しく設定される。
− 生成されたピクチャは「短期参照のために使用される」とマークされる。
− 生成された参照ピクチャとなるようにRefPicSetStCurrBefore[i]が設定される。
− 生成されたピクチャのnuh_layer_idの値が、nuh_layer_idに等しく設定される。
− iが、「非参照ピクチャ」に等しい、両端値を含む0〜NumPocStFoll−1の範囲内にある、各RefPicSetStFoll[i]について、ピクチャがサブクローズ8.3.3.2において指定されているように生成され、以下が適用される。
− 生成されたピクチャのPicOrderCntValの値が、PocStFoll[i]に等しく設定される。
− 生成されたピクチャのPicOutputFlagの値が、0に等しく設定される。
− 生成されたピクチャは「短期参照のために使用される」とマークされる。
− 生成された参照ピクチャとなるようにRefPicSetStFoll[i]が設定される。
− 生成されたピクチャのnuh_layer_idの値が、nuh_layer_idに等しく設定される。
− iが、「非参照ピクチャ」に等しい、両端値を含む0〜NumPocLtCurr−1の範囲内にある、各RefPicSetLtCurr[i]について、ピクチャがサブクローズ8.3.3.2において指定されているように生成され、以下が適用される。
− 生成されたピクチャのPicOrderCntValの値が、PocLtCurr[i]に等しく設定される。
− 生成されたピクチャのslice_pic_order_cnt_lsbの値が、(PocLtCurr[i]&(MaxPicOrderCntLsb−1))に等しいと推測される。
− 生成されたピクチャのPicOutputFlagの値が、0に等しく設定される。
− 生成されたピクチャは「長期参照のために使用される」とマークされる。
− RefPicSetLtCurr[i]が、生成された参照ピクチャとなるように設定され得る。
− 生成されたピクチャのnuh_layer_idの値が、nuh_layer_idに等しく設定される。
− iが、「非参照ピクチャ」に等しい、両端値を含む0〜NumPocLtFoll−1の範囲内にある、各RefPicSetLtFoll[i]について、ピクチャがサブクローズ8.3.3.2において指定されているように生成され、以下が適用される。
− 生成されたピクチャのPicOrderCntValの値が、PocLtFoll[i]に等しく設定される。
− 生成されたピクチャのslice_pic_order_cnt_lsbの値が、(PocLtFoll[i]&(MaxPicOrderCntLsb−1))に等しいと推測される。
− 生成されたピクチャのPicOutputFlagの値が、0に等しく設定される。
− 生成されたピクチャは「長期参照のために使用される」とマークされる。
− RefPicSetLtFoll[i]が、生成された参照ピクチャとなるように設定され得る。
− 生成されたピクチャのnuh_layer_idの値が、nuh_layer_idに等しく設定される。
セクションF.8.3.2 参照ピクチャセットのための復号プロセス
………………………………
RPSの導出プロセスとピクチャマーキングとは、以下の順序付きステップに従って実行される。
1.以下が適用される。

2.RefPicSetLtCurrおよびRefPicSetLtFoll中に含まれ、すべての参照ピクチャが、「長期参照のために使用される」とマークされる。
3.以下が適用される。

4.RefPicSetLtCurr、RefPicSetLtFoll、RefPicSetStCurrBefore、RefPicSetStCurrAfter、またはRefPicSetStFoll中に含まれず、DPB中のすべての参照ピクチャが、「参照のために使用されない」とマークされる。
offsetPicLayerIdの導出プロセス
上記で紹介したoffsetPicLayerId変数の導出は、次のように実行され得る。
このプロセスへの入力は以下の通りである。
− 短期参照ピクチャのためのPicOrderCntValと、長期参照ピクチャのためのslice_pic_order_cnt_lsbとに対応する変数currPocVal。
− 5つのリスト、PocStCurrBefore、PocStCurrAfter、PocStFoll、PocLtCurr、およびPocLtFollのpoc値に対応する変数refPocVal。
このプロセスへの出力は以下の通りである。
− currPicLayerIdに等しいnuh_layer_idをもつピクチャに対応するoffsetPicLayerId
変数currPicTemporalIdを現在ピクチャのTemporalIdであるように設定されるようにする
変数CurrPicnoResampleFlagが、enable_non_curr_layer_ref_pic_pred[currPicLayerId]に等しく設定される

セクションF.13.5.2.2 DPBからのピクチャの出力および削除
現在ピクチャの復号の前の(ただし、現在ピクチャの第1のスライスのスライスヘッダをパースした後の)DPBからのピクチャの出力および削除は、現在ピクチャの第1の復号ユニットがCPBから削除されるときに瞬時に起こり、次のように進む。
サブクローズF.8.3.2において指定されているRPSのための復号プロセスが、nuh_layer_idの同じ値をもつピクチャのみをマークするために呼び出される。
上位レイヤピクチャのための時間動きベクトル更新
[00167]上記で説明した様々な実施形態は、参照レイヤのためのエンハンスメントレイヤの時間動きベクトル予測子(TMVP:temporal motion vector predictor)候補をサンプルとともに使用し得る。そうすることは、コーディング効率を改善し得るが、同時に、ELパケットがビットストリーム中に存在しないとき(たとえば、ELパケットがなくなっているかまたは意図的に放棄された場合)動きベクトル復号中にドリフトを生じ得る。
[00168]このドリフトを克服するのを助け得るいくつかの例示的な実施形態について、以下で説明する。これらの例示的な実施形態は、互いに独立してまたは組み合わせて適用され得、スケーラブルコーディングと、深度をもつまたはもたないマルチビューコーディングと、HEVCに対する他の拡張および他のビデオコーデックとに適用可能であるかまたは拡張され得る。
キーアクセスユニット
[00169]「キーアクセスユニット(key access unit)」という用語は、キーピクチャのみを含んでいるアクセスユニットを指し得る。キーピクチャは、0の時間IDを有するピクチャであり得る。別の例では、キーピクチャは、キーピクチャとして明示的にシグナリングされるピクチャであり得る。「非キーアクセスユニット(non-key access unit)」という用語は、キーアクセスユニットでないアクセスユニットを指し得る。
上位レイヤピクチャのためのTMVP更新
[00170]上位レイヤピクチャが下位レイヤのための参照として使用されるとき、次いで、高位レイヤのための以下の時間動きベクトル情報更新が提案される。
[00171]一実施形態では、非キーアクセスユニットの最後の復号ユニットを復号した後に、レイヤインデックスi>0から開始するすべてのレイヤについて、時間動きベクトル情報が、インデックスj=i−1をもつ下位レイヤ中のコロケート参照ピクチャから、そのような下位レイヤが存在する場合、レイヤインデックスiをもつそれのすぐ上のレイヤにコピーされる。キーアクセスユニットについて、そのような更新は省略される。
[00172]別の実施形態では、非キーアクセスユニットの最後の復号ユニットを復号した後に、レイヤインデックスi>0から開始するすべてのレイヤについて、時間動きベクトル情報が、インデックスj=i−1をもつ下位レイヤ中のコロケート参照ピクチャから、そのような下位レイヤが存在する場合、レイヤインデックスiをもつそれのすぐ上のレイヤにコピーされる。この例では、レイヤインデックスjは明示的にシグナリングされ得る。たとえば、現在レイヤがそこから情報(たとえば、時間動きベクトル情報)を導出する2つ以上のエンハンスメントレイヤがある場合、現在のために使用されるエンハンスメントレイヤのレイヤインデックスjは、ビットストリーム中でシグナリングされ得る。
[00173]また別の例では、上記の段落において定義されたプロセスを明示的に有効化または無効化するために、フラグが随意にシグナリングされ得る。このフラグは、VPS、SPS、PPSなどの異なるグラニュラリティシンタックスパラメータセットにおいて、またはVUIまたはSEIメッセージとして、スライスヘッダ中でまたはそれらのそれぞれの拡張ヘッダにおいてシグナリングされ得る。
キーピクチャフレームワークを用いたシングルループ復号機構
[00174]レイヤ間テクスチャ予測が、条件付きイントラ予測(CIP:constrained intra prediction)を使用してコーディングされるコロケートコーディングユニット(CU)、または復号順序において前のアクセスユニットからの情報と無関係にコーディングされるコロケートCUに制限される場合、いくつかの実装形態(たとえば、SHVC)では、シングルループ復号構造を使用することが可能であり、望ましいことがある。一例では、復号順序において前のアクセスユニットからの情報と無関係にCUをコーディングすることは、レイヤ間テクスチャ予測(たとえば、イントラBL)を使用してCUがコーディングされることを意味し得る。
[00175]しかしながら、既存のコーディング方式では、シングルループ復号構造が有効であるかどうかのこの指示が利用可能でないことがある。以下で説明する例示的な実施形態を使用することによって、シングルループ復号がより有利に利用され得る。
シングルループ復号:キーアクセスユニット
[00176]この実施形態では、上位レイヤ参照ピクチャが下位レイヤのための参照として使用されるとき、キーアクセスユニットについて、復号順序において前のアクセスユニットからの直接のまたは間接的な情報なしにコーディングされるサンプルから予測される近隣コーディングブロックの残差データおよび復号サンプルのみを使用して、レイヤ間予測が実行されることを述べる、エンコーダ適合制限が実装される。そのような制限は、フラグを使用してシグナリングされ得る。例示的なフラグkey_pic_constrained_inter_layer_pred_idcが、次のように定義され得る。0に等しいkey_pic_constrained_inter_layer_pred_idcは、キーアクセスユニット(またはピクチャ)について、レイヤ間予測が、イントラ予測モードまたはインター予測モードのいずれかを使用してコーディングされるコロケートコーディングユニットの残差データおよび復号サンプルを使用することを示す。1に等しいconstrained_inter_layer_pred_flagは、条件付きレイヤ間予測を示し、その場合、レイヤ間予測は、イントラ/インター予測またはレイヤ間予測またはそれらの組合せを介して、復号順序において前のアクセスユニットからの直接のまたは間接的な情報なしにコーディングされるコロケートコーディングユニットからの残差データおよび復号サンプルのみを使用する。
[00177]フラグは、VPS、SPS、PPSなどの異なるグラニュラリティシンタックスパラメータセットにおいて、またはVUIまたはSEIメッセージとして、スライスヘッダ中でまたはそれらのそれぞれの拡張ヘッダにおいてシグナリングされ得る。
シングルループ復号:非キーアクセスユニット
[00178]非キーアクセスユニット(またはピクチャ)について、シングルループ復号を可能にするために、以下の制限が適用され得る。
[00179]1)参照レイヤピクチャのためのデブロッキングフィルタおよびサンプル適応オフセット(SAO:sample adaptive offset)を無効化する。
[00180]2)参照レイヤピクチャのための条件付きイントラ予測(CIP)を有効化する。
[00181]3)再構成された参照レイヤピクチャからの非ゼロ動き予測を無効化する。
[00182]4)現在ブロック中の各サンプルの参照ピクチャインデックスrefIdxLX(Xは0または1のいずれかと置き換えられる)のうちの1つのみが参照レイヤピクチャに対応し、現在レイヤサンプルのためのコロケート参照サンプルが双予測を使用するとき、エンハンスメントレイヤブロックのための双予測を無効化する。
[00183]代替的に、第4の制限の代わりに以下が使用され得る。
[00184]4)現在レイヤサンプル(xCurr、yCurr)に対応する参照ピクチャインデックスrefIdxLX(Xは0または1のいずれかと置き換えられる)のうちの1つのみが参照レイヤピクチャを指し、コロケート参照サンプルが双予測を使用するとき、エンハンスメントレイヤブロックのための双予測を無効化する。
[00185]この例では、上記の制限のすべての4つが満たされた場合、非キーアクセスユニットのためのシングルループ復号が有効化され得る。たとえば、シングルループ復号では、ELは、非キーアクセスユニットのための参照レイヤを完全に再構成することなしに復号され得る。BLとELが両方ともインター予測のために同じ参照を使用するので、この例ではシングルループ復号が有効化される。この例では、ELは、再構成に別の残差信号を追加し得る。たとえば、エンコーダは、ビットストリームに追加のエラー信号を追加し得る。そのような追加のエラー信号は、復号ピクチャの品質を改善し、ビデオ品質を改善するために使用され得る。
上位レイヤピクチャの異なる表現の使用
[00186]一実施形態では、上位レイヤピクチャの異なる表現(たとえば、リサンプリング)が使用され得るかどうかが、以下の導出プロセスを使用して推測され得る。たとえば、現在ピクチャをコーディングするために上位レイヤ参照ピクチャを使用する前に、上位レイヤ参照ピクチャは、異なる表現(たとえば、サイズ、ビット深度など)に変換される必要があり得る。
[00187]一例では、例示的な変数additionalHigherLayerRefpicforCurrPicFlagが使用され得る。レイヤid iを有する現在レイヤ中の現在ピクチャのための変数additionalHigherLayerRefpicforCurrPicFlagは、次のように定義され得る。0に等しいadditionalHigherLayerRefpicforCurrPicFlagは、layer_id_in_nuh[i]に等しいnuh_layer_idをもつ現在ピクチャについて、layer_id_in_nuh[i]よりも大きいnuh_layer_idをもつ復号ピクチャが現在ピクチャのための参照として使用されるとき、追加の参照ピクチャ表現が必要とされないことを指定する。1に等しいadditionalHigherLayerRefpicforCurrPicFlagは、layer_id_in_nuh[i]に等しいnuh_layer_idをもつ現在ピクチャについて、layer_id_in_nuh[i]よりも大きいnuh_layer_idをもつ復号ピクチャが現在ピクチャのための参照として使用されるとき、追加の参照ピクチャ表現が必要とされることを指定する。
[00188]一実施形態では、レイヤID iを有する現在レイヤ中の現在ピクチャについて、additionalHigherLayerRefpicforCurrPicFlagの値は、SNRスケーラビリティのために0に設定され、他のスケーラビリティのために1に設定され得る。
[00189]別の実施形態では、変数PicWidthInSamplesLおよび変数PicHeightInSamplesLが、それぞれ、ルーマサンプルのユニット中の現在ピクチャの幅および高さに等しく設定され得、変数RefLayerPicWidthInSamplesLおよび変数RefLayerPicHeightInSamplesLは、それぞれ、ルーマサンプルのユニット中の復号参照レイヤピクチャの幅および高さに等しく設定され得る。さらに、変数ScaledRefLayerLeftOffset、変数ScaledRefLayerTopOffset、変数ScaledRefLayerRightOffset、および変数ScaledRefLayerBottomOffsetが、次のように導出され得る。

[00190]現在レイヤのPicWidthInSamplesLがRefLayerPicWidthInSamplesLに等しく、現在レイヤのPicHeightInSamplesLがRefLayerPicHeightInSamplesLに等しく、ScaledRefLayerLeftOffset、ScaledRefLayerTopOffset、ScaledRefLayerRightOffset、およびScaledRefLayerBottomOffsetの値がすべて0に等しいとき、additionalHigherLayerRefpicforCurrPicFlagの値は0に設定され得る。他の場合、additionalHigherLayerRefpicforCurrPicFlagの値は1に設定される。
[00191]別の実施形態では、関連付けられたNALユニットによって参照されるシーケンスパラメータセット(SPS)中にあり得る、(たとえば、使用される参照ピクチャの数を示す)max_num_ref_framesが2よりも小さいとき、additionalHigherLayerRefpicforCurrPicFlagは0に設定され得る。現在復号参照ピクチャと、additionalHigherLayerRefpicforCurrPicFlagが1に等しいときは現在参照ベースピクチャとをマークした後、「参照のために使用される」とマークされたフレームの総数はmax_num_ref_framesと1のうちの大きい方を超えるべきではないと述べるビットストリーム適合制限。1に等しいadditionalHigherLayerRefpicforCurrPicFlagを有する参照ピクチャは、インター予測のための参照ピクチャとしてのみ使用され、出力されない。
コーディング効率対ドリフト再考
[00192]上記で説明したように、コーディング効率とドリフト効果との間のトレードオフが存在し得る。上位レイヤピクチャに基づく下位レイヤピクチャのコーディングを可能にし、同時にドリフトの効果を最小限に抑えるための様々な実施形態について本開示で説明した。そのような実施形態うちの1つまたは複数では、動き情報とテクスチャ情報の両方が上位レイヤ復号ピクチャから導出され得る。
異なるレイヤからの動き情報およびテクスチャ情報
[00193]別の実施形態では、動き情報は現在レイヤの時間的ピクチャから導出され得、テクスチャ情報は、現在レイヤ中の現在ピクチャをコーディングするための上位レイヤ復号ピクチャから導出され得る。上位レイヤからのテクスチャ情報がより良い品質を有し得ることは理解され得る。しかしながら、現在レイヤから動き情報を導出することがより良好であり得る場合があり得る。さらに、上位レイヤパケットが失われたとき、動き情報にもたらされるエラー(たとえば、ドリフト)は、テクスチャ情報にもたらされるエラーよりもひどいことがある。したがって、現在レイヤから動き情報を導出することによって、少なくとも動き情報が、上位レイヤパケットが失われたかまたは意図的に放棄される場合に備えてドリフトプルーフにされ得る。
[00194]現在レイヤ中の現在ピクチャをコーディングするときに現在レイヤから導出された動き情報と上位レイヤから導出されたテクスチャ情報とを使用するためのいくつかの例示的な実装形態について、以下で説明する。これらの方法は、互いに独立してまたは組み合わせて適用され得、スケーラブルコーディングと、深度をもつまたはもたないマルチビューコーディングと、HEVCに対する他の拡張および他のビデオコーデックとに適用可能であるかまたは拡張され得る。
実施形態#1:高レベル変更
[00195]一実施形態では、参照ピクチャセット(RPS:reference picture set)構成が、RPSがELとBLの両方からのピクチャを含んでいるように変更される。たとえば、RPS中のELピクチャの数がRPS中のBLピクチャの数に等しい場合、RPS中のエントリの数は2倍になる。一実施形態では、RPSは、以下のセクションF.8.3.2で示されているように変更され得る。別の実施形態では、RPSは、当技術分野で知られている任意の方法を含む、本明細書で説明しない方法を使用して追加のBLピクチャを含むように変更され得る。
[00196]RPSが構成された後に、参照ピクチャリスト(RPL:reference picture list)が構成される。一例では、RPSは、現在ピクチャをコーディングするために使用され得るすべての復号ピクチャを含み得るが、RPLは、現在ピクチャによって使用される可能性がある復号ピクチャを含み得る。エンコーダは、どのピクチャがRPL中に挿入されるかを選択し得る。RPL中の参照ピクチャの各々は、対応する参照インデックスを使用して参照され得る。
[00197]RPLが構成された後に、RPLは変更される。一実施形態では、RPLは、以下のセクションH.8.3.4に示されているように(たとえば、コロケート参照インデックスを有するRPL中の最後のエントリを、RPS中に存在する対応するベースレイヤピクチャと交換することによって)変更される。たとえば、エンコーダは、BLピクチャ#1をベースレイヤ中の現在ピクチャのRPL中に挿入することが望ましいことがあると決定し得る。そのような場合、エンコーダはRPL中の最後のピクチャをBLピクチャ#1と交換し得る。他の実施形態では、BLピクチャ#1は、RPL中の(たとえば、同じアクセスユニット中の)BLピクチャ#1に対応するEL参照ピクチャと入れ替わる。他の実施形態では、BLピクチャ#1は、現在ピクチャのRPL中の任意の位置にある任意のELピクチャと入れ替わり得る。
実施形態#1の実装形態:SHVC仕様への提案された変更
[00198](イタリック体で示されている)以下の変更がHEVCスケーラブル拡張(SHVC)のドラフトに対して行われ得る。
セクションF.8.3.2 参照ピクチャセットのための復号プロセス
………………………………
現在ピクチャのRPSは、RefPicSetStCurrBefore、RefPicSetStCurrAfter、RefPicSetStFoll、RefPicSetLtCurr、およびRefPicSetLtFollという5つのRPSリストからなる。RefPicSetStCurrBefore、RefPicSetStCurrAfter、およびRefPicSetStFollは短期RPSと総称され得る。RefPicSetLtCurrおよびRefPicSetLtFollは長期RPSと総称され得る。
注1− RefPicSetStCurrBefore、RefPicSetStCurrAfter、およびRefPicSetLtCurrは、現在ピクチャと、復号順序において現在ピクチャに後続する1つまたは複数のピクチャとのインター予測のために使用され得るすべての参照ピクチャを含んでいる。RefPicSetStFollおよびRefPicSetLtFollは、現在ピクチャのインター予測のために使用されないが、復号順序において現在ピクチャに後続する1つまたは複数のピクチャのためのインター予測において使用され得るすべての参照ピクチャからなる。
変数offsetPicLayerIdは、0に等しくないenable_higher_layer_ref_pic_pred[currPicLayerId]、およびTemporalIdが現在ピクチャについて0に等しくないとき、1に等しく設定される。
RPSの導出プロセスとピクチャマーキングとは、以下の順序付きステップに従って実行される。
1.以下が適用される。

2.RefPicSetLtCurrおよびRefPicSetLtFoll中に含まれ、currPicLayerIdに等しいnuh_layer_idをもつすべての参照ピクチャが、「長期参照のために使用される」とマークされる。
3.以下が適用される。

4.RefPicSetLtCurr、RefPicSetLtFoll、RefPicSetStCurrBefore、RefPicSetStCurrAfter、またはRefPicSetStFoll中に含まれず、currPicLayerIdに等しいnuh_layer_idをもつDPB中のすべての参照ピクチャが、「参照のために使用されない」とマークされる。
注2− 対応するピクチャがDPB中に存在しないので、「参照ピクチャなし」に等しいRPSリスト中に1つまたは複数のエントリが存在し得る。「参照ピクチャなし」に等しいRefPicSetStFollまたはRefPicSetLtFoll中のエントリは、無視されるべきである。「参照ピクチャなし」に等しいRefPicSetStCurrBefore、RefPicSetStCurrAfter、またはRefPicSetLtCurr中の各エントリについて、偶発的ピクチャ紛失が推測されるべきである。
セクションF.13.5.2.2 DPBからのピクチャの出力および削除
現在ピクチャの復号の前の(ただし、現在ピクチャの第1のスライスのスライスヘッダをパースした後の)DPBからのピクチャの出力および削除は、現在ピクチャの第1の復号ユニットがCPBから削除されるときに瞬時に起こり、次のように進む。
サブクローズF.8.3.2において指定されているRPSのための復号プロセスが、nuh_layer_idの同じ値をもつピクチャのみをマークするために呼び出される。
セクションH8.3.4 参照ピクチャリスト構成のための復号プロセス
このプロセスは、各PスライスまたはBスライスのための復号プロセスの開始時に呼び出される。
参照ピクチャは、サブクローズ8.5.3.3.2に指定されている参照インデックスを介してアドレス指定される。参照インデックスは参照ピクチャリストへのインデックスである。Pスライスを復号するとき、単一の参照ピクチャリストRefPicList0が存在する。Bスライスを復号するとき、RefPicList0に加えて、第2の独立した参照ピクチャリストRefPicList1が存在する。
スライスごとの復号プロセスの開始時に、参照ピクチャリストRefPicList0、およびBスライスの場合RefPicList1が、次のように導出される。
変数offsetPicLayerIdは、enable_higher_layer_ref_pic_pred[currPicLayerId]が1に等しく、TemporalIdが現在ピクチャについて0よりも大きいとき、1に等しく設定される。
変数NumRpsCurrTempList0は、Max(num_ref_idx_l0_active_minus1+1,NumPicTotalCurr)に等しく設定され、リストRefPicListTemp0は次のように構成される。

リストRefPicList0は次のように構成される。

スライスがBスライスであるとき、変数NumRpsCurrTempList1はMax(num_ref_idx_l1_active_minus1+1,NumPicTotalCurr)に等しく設定され、RefPicListTemp1は次のように構成される。

スライスがBスライスであるとき、リストRefPicList1は次のように構成される。

注− レイヤ間参照ピクチャからの動きベクトルがゼロ動きのみであるように制約されるので、SHVCエンコーダは、レイヤ間参照ピクチャのみが現在ピクチャ中のすべてのスライスの参照ピクチャリスト中に存在するとき、slice_temporal_mvp_enabled_flagを0に設定することによって現在ピクチャのための時間動きベクトル予測を無効化すべきである。このことは、collocated_from_l0_flagおよびcollocated_ref_idxなどの追加のシンタックス要素を送る必要を回避する。
注− offsetPicLayerIdが0に等しくないとき、collocated_ref_idxは、それのそれぞれのリスト中の最後のインデックス位置に等しいものとする。
実施形態#2:動き情報をベースレイヤからエンハンスメントレイヤにコピーすること
[00199]一実施形態では、BLの動き情報は、それのコロケートエンハンスメントレイヤピクチャにコピーされ得る。たとえば、現在ピクチャのRPLは1つまたは複数のELピクチャを含み得る。1つまたは複数のELピクチャの動き情報は1つまたは複数のBLピクチャの動き情報と交換され得る。一例では、ELピクチャの動き情報は、ELピクチャに関してコロケートされるBLピクチャの動き情報で上書きされる。
[00200]一実施形態では、動き情報コピープロセスは4×4サブブロックレベルにおいて実装され得る。別の実施形態では、動き情報コピープロセスは4×4以外のサブブロックレベルにおいて実装され得る。動き情報コピープロセスは、動き情報が交換/上書きされているエンハンスメントレイヤピクチャを復号した後に実行され得る。
実施形態#3:テクスチャ情報をエンハンスメントレイヤからベースレイヤにコピーすること
[00201]一実施形態では、ELのテクスチャ情報は、それのコロケートBLピクチャにコピーされ得る。たとえば、現在ピクチャのRPLは1つまたは複数のBLピクチャを含み得る。1つまたは複数のBLピクチャのテクスチャ情報は1つまたは複数のELピクチャのテクスチャ情報と交換され得る。一例では、BLピクチャのテクスチャ情報は、BLピクチャに関してコロケートされたELピクチャのテクスチャ情報で上書きされる。
[00202]一実施形態では、テクスチャ情報コピープロセスは4×4サブブロックレベルにおいて実装され得る。別の実施形態では、テクスチャ情報コピープロセスは、4×4以外のサブブロックレベルにおいて実装され得る。テクスチャ情報コピープロセスは、それのテクスチャ情報がコピーされているエンハンスメントレイヤピクチャを復号した後に、実行され得る。一実施形態では、ELピクチャは、それのテクスチャ情報がそれのコロケートBLピクチャ上にコピーされる前に、リサンプリングされ得る。リサンプリングは、BLとELとの間のスケーラビリティ比に基づき得る。
他の考慮事項
[00203]本明細書で開示される情報および信号は、多種多様な技術および技法のいずれかを使用して表され得る。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
[00204]本明細書で開示した実施形態に関して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、概してそれらの機能に関して上記で説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
[00205]本明細書で説明した技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおける適用例を含む複数の用途を有する集積回路デバイスなど、様々なデバイスのいずれかにおいて実装され得る。モジュールまたは構成要素として説明した特徴は、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。ソフトウェアで実装した場合、本技法は、実行されたとき、上記で説明した方法のうちの1つまたは複数を実行する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期型ダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM(登録商標))、フラッシュメモリ、磁気または光学データ記憶媒体などの、メモリまたはデータ記憶媒体を備え得る。本技法は、追加または代替として、伝搬信号または電波など、命令またはデータ構造の形態でプログラムコードを搬送または伝達し、コンピュータによってアクセスされ、読み取られ、および/または実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
[00206]プログラムコードは、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の等価の集積回路またはディスクリート論理回路など、1つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明する技法のいずれかを実行するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、または本明細書で説明する技法の実装に好適な他の構造または装置のいずれかを指す。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のソフトウェアモジュールもしくはハードウェアモジュール内に提供され得、または複合ビデオエンコーダ/デコーダ(コーデック)に組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
[00207]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作可能なハードウェアユニットの集合によって与えられ得る。
[00208]本発明の様々な実施形態について説明した。これらおよび他の実施形態は以下の特許請求の範囲内に入る。
[00208]本発明の様々な実施形態について説明した。これらおよび他の実施形態は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオ情報をコーディングするように構成された装置であって、前記装置は、
現在レイヤとエンハンスメントレイヤとに関連付けられたビデオ情報を記憶するように構成されたメモリユニットと、前記現在レイヤが現在ピクチャを有する、
前記メモリユニットと通信しているプロセッサとを備え、前記プロセッサが、
前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得るかどうかを決定することと、
前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有するかどうかを決定することと、
前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得、前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有すると決定したことに応答して、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることと
を行うように構成された、装置。
[C2]
前記プロセッサは、前記現在ピクチャが、0よりも大きい時間IDを有するかどうかを決定するようにさらに構成され、ここにおいて、前記現在ピクチャをコーディングすることは、前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得、前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有し、前記現在ピクチャが、0よりも大きい時間IDを有すると決定したことに応答して、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることを備える、C1に記載の装置。
[C3]
前記プロセッサは、前記ビデオ情報が信号対雑音比(SNR)または空間スケーラビリティを呈するかどうかを決定するようにさらに構成され、ここにおいて、前記現在ピクチャをコーディングすることは、前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得、前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有し、前記ビデオ情報が信号対雑音比(SNR)または空間スケーラビリティを呈すると決定したことに応答して、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることを備える、C1に記載の装置。
[C4]
前記エンハンスメントレイヤが、前記現在レイヤのレイヤIDよりも大きいレイヤIDを有する1つまたは複数の上位レイヤを備え、前記エンハンスメントレイヤピクチャが前記1つまたは複数の上位レイヤの各々からのピクチャを備える、C1に記載の装置。
[C5]
前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得るかどうかの前記決定が、前記同じコード化ビデオシーケンス(CVS)内の前記現在レイヤ中の0よりも大きい時間IDを有する各ピクチャについて同じである、C1に記載の装置。
[C6]
前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得るかどうかの前記決定が、前記同じコード化ビデオシーケンス(CVS)内の前記現在レイヤ中の0に等しい時間IDを有する各ピクチャについて同じである、C1に記載の装置。
[C7]
前記プロセッサが、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることに応答して、前記コード化エンハンスメントレイヤピクチャに関連付けられた動き情報を前記コード化現在ピクチャの動き情報と交換するようにさらに構成された、C1に記載の装置。
[C8]
前記プロセッサが、前記現在ピクチャを含んでいるアクセスユニット中の各ピクチャをコーディングした後に、0よりも大きいレイヤIDを有する各レイヤ中の前記アクセスユニット中のピクチャに関連付けられた動き情報を、前記各レイヤのすぐ下にあるレイヤ中の別のピクチャの動き情報と交換するようにさらに構成された、C1に記載の装置。
[C9]
前記プロセッサは、
前記現在レイヤ中のピクチャのためのデブロッキングフィルタとサンプルアドプティブオフセット(SAO)とを無効化することと、
前記現在レイヤ中のピクチャのための条件付きイントラ予測を有効化することと、
前記現在レイヤ中の非ゼロ動き情報を使用した動き予測を無効化することと、
前記エンハンスメントレイヤ中のエンハンスメントレイヤブロックに関連付けられたただ1つの参照ピクチャインデックスが前記現在ピクチャに対応し、前記現在ピクチャ中のコロケート現在レイヤブロックが双予測を使用するとき、前記エンハンスメントレイヤ中の双予測を無効化することと、
前記デブロッキングフィルタおよび前記SAOの前記無効化と、制約イントラ予測の前記有効化と、動き予測の前記無効化と、双予測を前記無効化することとに応答して、前記ビデオ情報のシングルループコーディングを実行することとを行うようにさらに構成された、C1に記載の装置。
[C10]
前記プロセッサが、少なくとも、前記エンハンスメントレイヤピクチャに関連付けられたテクスチャ情報と、前記現在レイヤ中の1つまたは複数のピクチャに関連付けられた動き情報とを使用して前記現在ピクチャをコーディングすることによって、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングするように構成された、C1に記載の装置。
[C11]
前記プロセッサは、
前記エンハンスメントレイヤ中の別のエンハンスメントレイヤピクチャがコーディングされた後に、前記別のエンハンスメントレイヤピクチャの動き情報を、前記別のエンハンスメントレイヤピクチャに対応する別の現在レイヤピクチャの動き情報と交換することと、
前記別のエンハンスメントレイヤピクチャの前記動き情報を使用して前記現在ピクチャをコーディングすることとを行うようにさらに構成された、C10に記載の装置。
[C12]
前記プロセッサは、
前記現在レイヤ中の別の現在レイヤピクチャに対応する別のエンハンスメントレイヤピクチャがコーディングされた後に、前記別の現在レイヤピクチャのテクスチャ情報を前記別のエンハンスメントレイヤピクチャのテクスチャ情報と交換することと、
前記別の現在レイヤピクチャの前記テクスチャ情報を使用して前記現在ピクチャをコーディングすることとを行うようにさらに構成された、C10に記載の装置。
[C13]
前記装置がエンコーダを備え、前記プロセッサが、ビットストリーム中の前記ビデオ情報を符号化するようにさらに構成された、C1に記載の装置。
[C14]
前記装置がデコーダを備え、前記プロセッサが、ビットストリーム中の前記ビデオ情報を復号するようにさらに構成された、C1に記載の装置。
[C15]
前記装置が、コンピュータと、ノートブックと、ラップトップと、コンピュータと、タブレットコンピュータと、セットトップボックスと、電話ハンドセットと、スマートフォンと、スマートパッドと、テレビジョンと、カメラと、ディスプレイデバイスと、デジタルメディアプレーヤと、ビデオゲームコンソールと、車内コンピュータとのうちの1つまたは複数なるグループから選択されるデバイスを備える、C1に記載の装置。
[C16]
ビデオ情報をコーディングする方法であって、前記方法は、
エンハンスメントレイヤからの情報を使用して現在レイヤがコーディングされ得るかどうかを決定することと、
前記エンハンスメントレイヤが、前記現在レイヤ中の現在ピクチャに対応するエンハンスメントレイヤピクチャを有するかどうかを決定することと、
前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得、前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有すると決定したことに応答して、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることとを備える、方法。
[C17]
前記現在ピクチャが、0よりも大きい時間IDを有するかどうかを決定することをさらに備え、ここにおいて、前記現在ピクチャをコーディングすることは、前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得、前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有し、前記現在ピクチャが、0よりも大きい時間IDを有すると決定したことに応答して、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることを備える、C16に記載の方法。
[C18]
前記ビデオ情報が信号対雑音比(SNR)または空間スケーラビリティを呈するかどうかを決定することをさらに備え、ここにおいて、前記現在ピクチャをコーディングすることは、前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得、前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有し、前記ビデオ情報が信号対雑音比(SNR)または空間スケーラビリティを呈すると決定したことに応答して、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることを備える、C16に記載の方法。
[C19]
前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングする前に、前記エンハンスメントレイヤピクチャの追加の表現が必要とされるかどうかを示すフラグまたはシンタックス要素を送信または受信することをさらに備える、C16に記載の方法。
[C20]
前記エンハンスメントレイヤが、前記現在レイヤのレイヤIDよりも大きいレイヤIDを有する1つまたは複数の上位レイヤを備え、前記エンハンスメントレイヤピクチャが、前記1つまたは複数の上位レイヤの各々からのピクチャを備える、C16に記載の方法。
[C21]
前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることに応答して、前記コード化エンハンスメントレイヤピクチャに関連付けられた動き情報を前記コード化現在ピクチャの動き情報と交換することをさらに備える、C16に記載の方法。
[C22]
前記現在ピクチャを含んでいるアクセスユニット中の各ピクチャをコーディングした後に、0よりも大きいレイヤIDを有する各レイヤ中の前記アクセスユニット中のピクチャに関連付けられた動き情報を、前記各レイヤのすぐ下にあるレイヤ中の別のピクチャの動き情報と交換することをさらに備える、C16に記載の方法。
[C23]
前記現在レイヤ中のピクチャのためのデブロッキングフィルタとサンプルアドプティブオフセット(SAO)とを無効化することと、
前記現在レイヤ中のピクチャのための条件付きイントラ予測を有効化することと、
前記現在レイヤ中の非ゼロ動き情報を使用した動き予測を無効化することと、
前記エンハンスメントレイヤ中のエンハンスメントレイヤブロックに関連付けられたただ1つの参照ピクチャインデックスが前記現在ピクチャに対応し、前記現在ピクチャ中のコロケート現在レイヤブロックが双予測を使用するとき、前記エンハンスメントレイヤ中の双予測を無効化することと、
前記デブロッキングフィルタおよび前記SAOの前記無効化と、制約イントラ予測の前記有効化と、動き予測の前記無効化と、双予測を前記無効化することとに応答して、前記ビデオ情報のシングルループコーディングを実行することとをさらに備える、C16に記載の方法。
[C24]
前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることが、前記エンハンスメントレイヤピクチャに関連付けられたテクスチャ情報と、前記現在レイヤ中の1つまたは複数のピクチャに関連付けられた動き情報とを使用して前記現在ピクチャをコーディングすることを備える、C16に記載の方法。
[C25]
前記エンハンスメントレイヤ中の別のエンハンスメントレイヤピクチャがコーディングされた後に、前記別のエンハンスメントレイヤピクチャの動き情報を、前記別のエンハンスメントレイヤピクチャに対応する別の現在レイヤピクチャの動き情報と交換することと、
前記別のエンハンスメントレイヤピクチャの前記動き情報を使用して前記現在ピクチャをコーディングすることとをさらに備える、C24に記載の方法。
[C26]
前記現在レイヤ中の別の現在レイヤピクチャに対応する別のエンハンスメントレイヤピクチャがコーディングされた後に、前記別の現在レイヤピクチャのテクスチャ情報を前記別のエンハンスメントレイヤピクチャのテクスチャ情報と交換することと、
前記別の現在レイヤピクチャの前記テクスチャ情報を使用して前記現在ピクチャをコーディングすることとをさらに備える、C24に記載の方法。
[C27]
実行されると、装置に、
現在レイヤとエンハンスメントレイヤとに関連付けられたビデオ情報を記憶することと、前記現在レイヤが現在ピクチャを有する、
前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得るかどうかを決定することと、
前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有するかどうかを決定することと、
前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得、前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有すると決定したことに応答して、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることとを備えるプロセスを実行させるコードを備える非一時的コンピュータ可読媒体。
[C28]
前記プロセスは、前記現在ピクチャが、0よりも大きい時間IDを有するかどうかを決定することをさらに備え、ここにおいて、前記現在ピクチャをコーディングすることは、前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得、前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有し、前記現在ピクチャが、0よりも大きい時間IDを有すると決定したことに応答して、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることを備える、C27に記載のコンピュータ可読媒体。
[C29]
ビデオ情報をコーディングするように構成されたビデオコーディングデバイスであって、前記ビデオコーディングデバイスは、
現在レイヤとエンハンスメントレイヤとに関連付けられたビデオ情報を記憶するための手段と、前記現在レイヤが現在ピクチャを有する、
前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得るかどうかを決定するための手段と、
前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有するかどうかを決定するための手段と、
前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得、前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有すると決定したことに応答して、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングするための手段とを備える、ビデオコーディングデバイス。
[C30]
前記現在ピクチャが、0よりも大きい時間IDを有するかどうかを決定するための手段をさらに備え、ここにおいて、前記現在ピクチャをコーディングすることは、前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得、前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有し、前記現在ピクチャが、0よりも大きい時間IDを有すると決定したことに応答して、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることを備える、C29に記載のビデオコーディングデバイス。




  1. ビデオ情報をコーディングするように構成された装置であって、前記装置は、
    現在レイヤとエンハンスメントレイヤとに関連付けられたビデオ情報を記憶するように構成されたメモリユニットと、前記現在レイヤが現在ピクチャを有する、
    前記メモリユニットと通信しているプロセッサとを備え、前記プロセッサが、
    前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得るかどうかを決定することと、
    前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有するかどうかを決定することと、
    前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得、前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有すると決定したことに応答して、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることと
    を行うように構成された、
    装置。

  2. 前記プロセッサは、前記現在ピクチャが、0よりも大きい時間IDを有するかどうかを決定するようにさらに構成され、ここにおいて、前記現在ピクチャをコーディングすることは、前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得、前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有し、前記現在ピクチャが、0よりも大きい時間IDを有すると決定したことに応答して、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることを備える、請求項1に記載の装置。

  3. 前記プロセッサは、前記ビデオ情報が信号対雑音比(SNR)または空間スケーラビリティを呈するかどうかを決定するようにさらに構成され、ここにおいて、前記現在ピクチャをコーディングすることは、前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得、前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有し、前記ビデオ情報が信号対雑音比(SNR)または空間スケーラビリティを呈すると決定したことに応答して、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることを備える、請求項1に記載の装置。

  4. 前記エンハンスメントレイヤが、前記現在レイヤのレイヤIDよりも大きいレイヤIDを有する1つまたは複数の上位レイヤを備え、前記エンハンスメントレイヤピクチャが前記1つまたは複数の上位レイヤの各々からのピクチャを備える、請求項1に記載の装置。

  5. 前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得るかどうかの前記決定が、前記同じコード化ビデオシーケンス(CVS)内の前記現在レイヤ中の0よりも大きい時間IDを有する各ピクチャについて同じである、請求項1に記載の装置。

  6. 前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得るかどうかの前記決定が、前記同じコード化ビデオシーケンス(CVS)内の前記現在レイヤ中の0に等しい時間IDを有する各ピクチャについて同じである、請求項1に記載の装置。

  7. 前記プロセッサが、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることに応答して、前記コード化エンハンスメントレイヤピクチャに関連付けられた動き情報を前記コード化現在ピクチャの動き情報と交換するようにさらに構成された、請求項1に記載の装置。

  8. 前記プロセッサが、前記現在ピクチャを含んでいるアクセスユニット中の各ピクチャをコーディングした後に、0よりも大きいレイヤIDを有する各レイヤ中の前記アクセスユニット中のピクチャに関連付けられた動き情報を、前記各レイヤのすぐ下にあるレイヤ中の別のピクチャの動き情報と交換するようにさらに構成された、請求項1に記載の装置。

  9. 前記プロセッサは、
    前記現在レイヤ中のピクチャのためのデブロッキングフィルタとサンプルアドプティブオフセット(SAO)とを無効化することと、
    前記現在レイヤ中のピクチャのための条件付きイントラ予測を有効化することと、
    前記現在レイヤ中の非ゼロ動き情報を使用した動き予測を無効化することと、
    前記エンハンスメントレイヤ中のエンハンスメントレイヤブロックに関連付けられたただ1つの参照ピクチャインデックスが前記現在ピクチャに対応し、前記現在ピクチャ中のコロケート現在レイヤブロックが双予測を使用するとき、前記エンハンスメントレイヤ中の双予測を無効化することと、
    前記デブロッキングフィルタおよび前記SAOの前記無効化と、制約イントラ予測の前記有効化と、動き予測の前記無効化と、双予測を前記無効化することとに応答して、前記ビデオ情報のシングルループコーディングを実行することと
    を行うようにさらに構成された、請求項1に記載の装置。

  10. 前記プロセッサが、少なくとも、前記エンハンスメントレイヤピクチャに関連付けられたテクスチャ情報と、前記現在レイヤ中の1つまたは複数のピクチャに関連付けられた動き情報とを使用して前記現在ピクチャをコーディングすることによって、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングするように構成された、請求項1に記載の装置。

  11. 前記プロセッサは、
    前記エンハンスメントレイヤ中の別のエンハンスメントレイヤピクチャがコーディングされた後に、前記別のエンハンスメントレイヤピクチャの動き情報を、前記別のエンハンスメントレイヤピクチャに対応する別の現在レイヤピクチャの動き情報と交換することと、
    前記別のエンハンスメントレイヤピクチャの前記動き情報を使用して前記現在ピクチャをコーディングすることと
    を行うようにさらに構成された、請求項10に記載の装置。

  12. 前記プロセッサは、
    前記現在レイヤ中の別の現在レイヤピクチャに対応する別のエンハンスメントレイヤピクチャがコーディングされた後に、前記別の現在レイヤピクチャのテクスチャ情報を前記別のエンハンスメントレイヤピクチャのテクスチャ情報と交換することと、
    前記別の現在レイヤピクチャの前記テクスチャ情報を使用して前記現在ピクチャをコーディングすることと
    を行うようにさらに構成された、請求項10に記載の装置。

  13. 前記装置がエンコーダを備え、前記プロセッサが、ビットストリーム中の前記ビデオ情報を符号化するようにさらに構成された、請求項1に記載の装置。

  14. 前記装置がデコーダを備え、前記プロセッサが、ビットストリーム中の前記ビデオ情報を復号するようにさらに構成された、請求項1に記載の装置。

  15. 前記装置が、コンピュータと、ノートブックと、ラップトップと、コンピュータと、タブレットコンピュータと、セットトップボックスと、電話ハンドセットと、スマートフォンと、スマートパッドと、テレビジョンと、カメラと、ディスプレイデバイスと、デジタルメディアプレーヤと、ビデオゲームコンソールと、車内コンピュータとのうちの1つまたは複数なるグループから選択されるデバイスを備える、請求項1に記載の装置。

  16. ビデオ情報をコーディングする方法であって、前記方法は、
    エンハンスメントレイヤからの情報を使用して現在レイヤがコーディングされ得るかどうかを決定することと、
    前記エンハンスメントレイヤが、前記現在レイヤ中の現在ピクチャに対応するエンハンスメントレイヤピクチャを有するかどうかを決定することと、
    前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得、前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有すると決定したことに応答して、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることと
    を備える、方法。

  17. 前記現在ピクチャが、0よりも大きい時間IDを有するかどうかを決定することをさらに備え、ここにおいて、前記現在ピクチャをコーディングすることは、前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得、前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有し、前記現在ピクチャが、0よりも大きい時間IDを有すると決定したことに応答して、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることを備える、請求項16に記載の方法。

  18. 前記ビデオ情報が信号対雑音比(SNR)または空間スケーラビリティを呈するかどうかを決定することをさらに備え、ここにおいて、前記現在ピクチャをコーディングすることは、前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得、前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有し、前記ビデオ情報が信号対雑音比(SNR)または空間スケーラビリティを呈すると決定したことに応答して、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることを備える、請求項16に記載の方法。

  19. 前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングする前に、前記エンハンスメントレイヤピクチャの追加の表現が必要とされるかどうかを示すフラグまたはシンタックス要素を送信または受信することをさらに備える、請求項16に記載の方法。

  20. 前記エンハンスメントレイヤが、前記現在レイヤのレイヤIDよりも大きいレイヤIDを有する1つまたは複数の上位レイヤを備え、前記エンハンスメントレイヤピクチャが、前記1つまたは複数の上位レイヤの各々からのピクチャを備える、請求項16に記載の方法。

  21. 前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることに応答して、前記コード化エンハンスメントレイヤピクチャに関連付けられた動き情報を前記コード化現在ピクチャの動き情報と交換することをさらに備える、請求項16に記載の方法。

  22. 前記現在ピクチャを含んでいるアクセスユニット中の各ピクチャをコーディングした後に、0よりも大きいレイヤIDを有する各レイヤ中の前記アクセスユニット中のピクチャに関連付けられた動き情報を、前記各レイヤのすぐ下にあるレイヤ中の別のピクチャの動き情報と交換することをさらに備える、請求項16に記載の方法。

  23. 前記現在レイヤ中のピクチャのためのデブロッキングフィルタとサンプルアドプティブオフセット(SAO)とを無効化することと、
    前記現在レイヤ中のピクチャのための条件付きイントラ予測を有効化することと、
    前記現在レイヤ中の非ゼロ動き情報を使用した動き予測を無効化することと、
    前記エンハンスメントレイヤ中のエンハンスメントレイヤブロックに関連付けられたただ1つの参照ピクチャインデックスが前記現在ピクチャに対応し、前記現在ピクチャ中のコロケート現在レイヤブロックが双予測を使用するとき、前記エンハンスメントレイヤ中の双予測を無効化することと、
    前記デブロッキングフィルタおよび前記SAOの前記無効化と、制約イントラ予測の前記有効化と、動き予測の前記無効化と、双予測を前記無効化することとに応答して、前記ビデオ情報のシングルループコーディングを実行することと
    をさらに備える、請求項16に記載の方法。

  24. 前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることが、前記エンハンスメントレイヤピクチャに関連付けられたテクスチャ情報と、前記現在レイヤ中の1つまたは複数のピクチャに関連付けられた動き情報とを使用して前記現在ピクチャをコーディングすることを備える、請求項16に記載の方法。

  25. 前記エンハンスメントレイヤ中の別のエンハンスメントレイヤピクチャがコーディングされた後に、前記別のエンハンスメントレイヤピクチャの動き情報を、前記別のエンハンスメントレイヤピクチャに対応する別の現在レイヤピクチャの動き情報と交換することと、
    前記別のエンハンスメントレイヤピクチャの前記動き情報を使用して前記現在ピクチャをコーディングすることと
    をさらに備える、請求項24に記載の方法。

  26. 前記現在レイヤ中の別の現在レイヤピクチャに対応する別のエンハンスメントレイヤピクチャがコーディングされた後に、前記別の現在レイヤピクチャのテクスチャ情報を前記別のエンハンスメントレイヤピクチャのテクスチャ情報と交換することと、
    前記別の現在レイヤピクチャの前記テクスチャ情報を使用して前記現在ピクチャをコーディングすることと
    をさらに備える、請求項24に記載の方法。

  27. 実行されると、装置に、
    現在レイヤとエンハンスメントレイヤとに関連付けられたビデオ情報を記憶することと、前記現在レイヤが現在ピクチャを有する、
    前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得るかどうかを決定することと、
    前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有するかどうかを決定することと、
    前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得、前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有すると決定したことに応答して、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることと
    を備えるプロセスを実行させるコードを備える非一時的コンピュータ可読媒体。

  28. 前記プロセスは、前記現在ピクチャが、0よりも大きい時間IDを有するかどうかを決定することをさらに備え、ここにおいて、前記現在ピクチャをコーディングすることは、前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得、前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有し、前記現在ピクチャが、0よりも大きい時間IDを有すると決定したことに応答して、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることを備える、請求項27に記載のコンピュータ可読媒体。

  29. ビデオ情報をコーディングするように構成されたビデオコーディングデバイスであって、前記ビデオコーディングデバイスは、
    現在レイヤとエンハンスメントレイヤとに関連付けられたビデオ情報を記憶するための手段と、前記現在レイヤが現在ピクチャを有する、
    前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得るかどうかを決定するための手段と、
    前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有するかどうかを決定するための手段と、
    前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得、前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有すると決定したことに応答して、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングするための手段と
    を備える、ビデオコーディングデバイス。

  30. 前記現在ピクチャが、0よりも大きい時間IDを有するかどうかを決定するための手段をさらに備え、ここにおいて、前記現在ピクチャをコーディングすることは、前記エンハンスメントレイヤからの情報を使用して前記現在レイヤがコーディングされ得、前記エンハンスメントレイヤが、前記現在ピクチャに対応するエンハンスメントレイヤピクチャを有し、前記現在ピクチャが、0よりも大きい時間IDを有すると決定したことに応答して、前記エンハンスメントレイヤピクチャに基づいて前記現在ピクチャをコーディングすることを備える、請求項29に記載のビデオコーディングデバイス。

 

 

Patent trol of patentswamp
類似の特許
特定の態様によるビデオ情報を符号化するための装置は、メモリとコンピューティングハードウェアとを含む。メモリは、ビデオ情報を記憶するように構成されている。コンピューティングハードウェアは、シグナリングするための1つまたは複数のビュー識別子のビット深度を決定するように構成されており、ここにおいて、1つまたは複数のビュー識別子のそれぞれは符号化されるべきレイヤに関連付けられている。コンピューティングハードウェアは、ビットストリーム内で1つまたは複数のビュー識別子のビット深度をシグナリングするようにさらに構成されている。
パケット損失に起因してマイナスの影響を受ける(正しく受信される)パケットの数は、パケット配列の1つ以上の失われたパケットの実行の各々のために、パケットのシーケンスのパケット内の誤り耐性および識別することを提供して、それを解析することによって低減され得ることが、本出願の知見である。1つ以上の失われたパケットのそれぞれの実行の後のパケットのシーケンス内のパケットは、ビデオデータストリームのタイルのいずれかの始まりをもたらし、また、並行してスライスをもたらす。そして、パケットのシーケンスのパケットのいずれかに含まれるスライスヘッダは、失われていない。特に、誤り耐性のデータを送信するためのサイド情報オーバーヘッドは、パケット損失に悪影響を及ぼすパケットの減少に比べて比較的低いものである。
【選択図】図1
本発明は、クライアントの装置に対してストリーミングされるパーティション化されたタイムドメディアデータをカプセル化することに関し、前記パーティション化されたタイムドメディアデータは、タイムドサンプルを備え、前記タイムドサンプルの各々は複数のサブサンプルを備える。サブサンプルの少なくとも一部が一つのサブサンプルのグループに属するように、少なくとも1つのグループを形成するようにサブサンプルのいくつかをグループ化した後、同一グループの少なくとも2つのサブサンプルがタイムドサンプルの1つの複数のサブサンプルの中から選択され、選択されたサブサンプルを備える少なくとも1つのトラックが作成される。次に、前記少なくとも1つの作成されたトラックに対して、前記少なくとも1つのトラックを作成するように選択された前記サブサンプルの各々に対して、1つのサブトラックボックスが作成され、前記作成されたサブトラックボックスの少なくとも1つは、選択されたサブサンプルに共通の定義およびプロパティを備える。前記作成されたトラックの各々は、少なくとも1つのメディアファイル内で独立してカプセル化される。
【選択図】 図15
多層ビデオ信号の層に対して最低1つの特徴(例えば、個々の層に対して、個々の層が相互層予測を介して直接に関連する依存層の標示など)の信号、または、前述の第2相互依存構文構造の信号が説明される。最大構文要素は、多層ビデオ信号のパケットの拡張層IDフィールドの最大限に使われた値を示すために、多層ビデオ信号内で信号で伝えられる。例えば、最大構文要素の範囲は、多層ビデオ信号のいくつかの部分を横切って拡張している、多層ビデオ信号の予め決められた部分である。従って、多層ビデオ信号の相対的に大きい予め決められた部分に対して、拡張層IDフィールドによって信号化できる可能な値の可能なドメインの実際に消費された部分についての知識を得ることは、多層ビデオ信号を受信するデコーダやネットワーク要素などの装置に対して適当である。最低1つの特徴が、ベース層IDフィールド値と拡張層IDフィールド値とのそれぞれの結合に対して信号で伝えられる必要はないけれども、むしろ、最大限に仮定された値に基づいて決定された層の最大値のための最低1つの特徴を信号で伝えることは重要である。従って、最低1つの特徴は、層IDを持つ層のために送信/信号することは必要でない。その拡張層IDは、多層ビデオ信号の予め決められた部分内で起こらない。これを越えて、別の実施の形態に従って、最大限に仮定された値の知識は、個々の部分の層IDを信号で伝えるためのサイド情報オーバーヘッドを減らすために、すなわち、多層ビデオ信号のパケット内の拡張層IDフィールドを信号で伝えるために必要なビットを減らすために使用される。
【選択図】図11
多層データストリームの層間の相互層依存の信号化が説明される。一方の相互層依存の潜在的な多様性の非常に集中的な制限と他方の相互層依存の非常に複雑な信号との間の良好な妥協案は、ベース層IDによって表現できる異なる値のペア間に相互依存を示している第1相互依存構文構造と、多層データストリームの部分が関連する層に索引を付ける拡張層ID、又は、ベース層IDおよび拡張層IDによって表現できる異なる値のペア間の相互依存を標示している第2相互依存構文構造との方法によって、相互層依存を説明することによって見つけられる。この概念に従って、強調が、一方の信号化できる相互層依存の増大した多様性と他方の相互層依存を信号で伝えるための減少したサイド情報オーバーヘッドとの間にシフトされる。例えば、共通のベース層IDを持つ層のセットは、それぞれ、「クラスタ」と呼ぶ。同じ第2相互依存構文構造が、全てのクラスタ内の相互依存と第1相互依存構文構造を介して互いに関連した全てのクラスタ間の相互依存とを調節するために別々に使用される。代わりに、第2相互依存構文構造の2つの実例が、一方のクラスタ内の層の相互依存と他方の異なるクラスタの層間の相互依存とを説明するために用いられる。増大した多様性または減少したサイド情報オーバーヘッドに置かれた強調とは無関係に、概念を信号で伝えている相互依存は、信号オーバーヘッドを低く保持することを生じる。
【選択図】図3
【課題】ビデオ符号化のサンプル適応オフセット処理の方法を提供する。
【解決手段】ビデオ符号化システムにおける再構成ピクチャのパフォーマンスを改善する修正されたSAO処理の方法を提供する。一実施態様において、SAO−サインスレショルドが導入されて、現在の再構成画素と隣接再構成画素間の差異のサインを決定する。負のSAO−サインスレショルドより大きく、正のSAO−サインスレショルドより小さい差分値の範囲が割り当てられて、0のサイン値を有する。別の態様において、SAO−オフセット値は、SAO−ビット−シフト値を、SAO−オフセット絶対値に左方移動させることによる結果により、SAO−オフセットサインを増加させることにより生成される。さらに別の実施態様において、SAO−オフセット絶対値は、トランケーティドライス(TR)コードにより符号化され、最大TR値は構文要素により示される。
【選択図】 図9
ビデオデータをコーディングする方法は、ビデオ情報の1つまたは複数のレイヤを受け取ることを含む。各レイヤは、少なくとも1つのピクチャを含むことができる。この方法は、1つまたは複数のレイヤの少なくとも1つのピクチャに関連付けられたアクティブ参照レイヤピクチャの個数を決定することを含むことができる。この方法は、1つまたは複数のレイヤのうちの少なくとも1つに関連付けられた直接参照レイヤの個数を決定することをさらに含むことができる。直接参照レイヤの個数がアクティブ参照レイヤピクチャの個数と等しいことに基づいて、この方法は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライス内でレイヤ間参照ピクチャ情報をさらにシグナリングすることを控えることをさらに含むことができる。それに加えてまたはその代わりに、直接参照レイヤの個数がアクティブ参照レイヤピクチャの個数と等しいことに基づいて、この方法は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャをレイヤ間参照ピクチャセットに追加することを含むことができる。
例示的なビデオコーディングデバイスは、ビュー間予測された動きベクトル候補(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のレイヤピクチャが除去されるべきであるという指示を処理するように構成される。プロセッサはビデオ情報を符号化または復号し得る。
To top