本明細書では特許請求される構造および方法の詳細な実施形態が開示される。しかしながら、開示の実施形態は、様々な形態で具体化され得る特許請求される構造および方法の単なる例示であることが理解されよう。これらの構造および方法は、しかしながら、多くの異なる形態で具体化され得、本明細書に記載される例示的な実施形態に限定されると解釈されるべきではない。むしろ、これらの例示的な実施形態は、本開示が詳細かつ完全であり、当業者にその範囲を十分に伝えるために提供されている。本明細書では、提示される実施形態を不必要に不明瞭にすることを避けるために、周知の特徴および技術の詳細が省かれる場合もある。
実施形態は、一般に、データ処理の分野に関し、より詳細には、メディア処理に関する。以下で説明される例示的な実施形態は、特に、コーディングされたビデオデータの出力レイヤセットのシグナリングを可能にするシステム、方法、およびコンピュータプログラムを提供する。したがって、いくつかの実施形態は、改善された映像符号化および復号によってコンピューティング分野を改善する能力を有する。
前述したように、ビデオエンコーダおよびデコーダは、ほとんどの場合、符号化ビデオシーケンス(CVS)、Group of Pictures(GOP)、または同様のマルチピクチャタイムフレームに対して定義された、これらに対して一定のままである、所与のピクチャサイズで動作する傾向があった。例えば、MPEG-2では、システム設計は、シーンのアクティビティなどの要因に応じて水平解像度(よって、ピクチャサイズ)を、ただしIピクチャにおいてのみ、よって典型的にはGOPについて変更することが知られている。CVS内で異なる解像度を用いるための参照ピクチャの再サンプリングは、例えば、ITU-T勧告H.263 Annex Pから知られている。しかしながら、この場合ピクチャサイズは変化せず、参照ピクチャのみが再サンプリングされ、潜在的には(ダウンサンプリングの場合は)ピクチャカンバスの一部のみが使用されるか、または(アップサンプリングの場合は)シーンの一部のみが取り込まれることになる。さらに、H.263 Annex Qは、個々のマクロブロックを上方または下方に、(各次元で)2倍だけ再サンプリングすることを可能にする。やはり、ピクチャサイズは同じままである。マクロブロックのサイズはH.263では固定されており、したがってシグナリングされる必要がない。
しかしながら、例えば、360度コーディングまたはいくつかの監視用途のコンテキストでは、複数の意味的に独立したソースピクチャ(例えば、立方体投影された360度シーンの6立方体表面や、マルチカメラ監視装置の場合の個々のカメラ入力)が、所与の時点における異なるシーンごとのアクティビティに対処するために別々の適応解像度設定を必要とする場合がある。言い換えれば、エンコーダは、所与の時点において、360度または監視シーン全体を構成する異なる意味的に独立したピクチャに対して異なる再サンプリング係数を使用することを選択し得る。単一のピクチャに結合されるときに、それは、さらに、参照ピクチャの再サンプリングが行われ、コーディングされたピクチャの各部分に、適応解像度コーディングシグナリングが利用可能であることを必要とする。したがって、ビデオレイヤのより良好なシグナリング、符号化、復号、および表示のために、利用可能な適応解像度符号化シグナリングデータを使用することが有利であり得る。
図1に、本開示の一実施形態による通信システム(100)の簡略ブロック図を示す。システム(100)は、ネットワーク(150)を介して相互接続された少なくとも2つの端末(110~120)を含み得る。データの単方向伝送のために、第1の端末(110)は、ネットワーク(150)を介した他の端末(120)への送信のためにローカル位置でビデオデータをコーディングし得る。第2の端末(120)は、ネットワーク(150)から他の端末のコーディングされたビデオデータを受信し、コーディングされたデータを復号し、復元ビデオデータを表示し得る。単方向データ伝送は、メディアサービングアプリケーションなどにおいて一般的であり得る。
図1は、例えばビデオ会議中に発生し得るコーディングされたビデオの双方向伝送をサポートするために設けられた第2の端末対(130、140)を示している。データの双方向伝送では、各端末(130、140)は、ネットワーク(150)を介して他方の端末に送信するためにローカル位置で取り込まれたビデオデータを符号化し得る。各端末(130、140)はまた、他の端末によって送信されたコーディングされたビデオデータを受信し得、符号化データを復号し得、復元ビデオデータをローカル表示デバイスに表示し得る。
図1では、端末(110~140)は、サーバ、パーソナルコンピュータ、およびスマートフォンとして例示され得るが、本開示の原理はそのように限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤおよび/または専用ビデオ会議機器に適用される。ネットワーク(150)は、例えば有線および/または無線通信ネットワークを含む、端末(110~140)間でコーディングされたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(150)は、回線交換チャネルおよび/またはパケット交換チャネルにおいてデータを交換し得る。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、広域ネットワークおよび/またはインターネットが含まれる。この考察では、ネットワーク(150)のアーキテクチャおよびトポロジは、本明細書の以下で説明されない限り、本開示の動作に重要ではない場合がある。
図2に、開示の主題のアプリケーションの一例として、ストリーミング環境におけるビデオエンコーダおよびデコーダの配置を示す。開示の主題は、例えば、ビデオ会議、デジタルTV、CD、DVD、メモリスティックなどを含むデジタルメディア上での圧縮ビデオの格納などを含む、他のビデオ対応アプリケーションにも等しく適用可能であり得る。
ストリーミングシステムは、ビデオソース(201)、例えば非圧縮ビデオサンプルストリーム(202)を作成する、例えばデジタルカメラを含むことができるキャプチャサブシステム(213)を含み得る。そのサンプルストリーム(202)は、符号化ビデオビットストリームと比較して高いデータ量を強調するために太線で示されており、カメラ(201)に結合されたエンコーダ(203)によって処理することができる。エンコーダ(203)は、以下でより詳細に説明されるような開示の主題の態様を可能に、または実施するための、ハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。符号化ビデオビットストリーム(204)は、サンプルストリームと比較してより低いデータ量を強調するために細線で示されており、将来の使用のためにストリーミングサーバ(205)に格納することができる。1つまたは複数のストリーミングクライアント(206、208)は、ストリーミングサーバ(205)にアクセスして、符号化ビデオビットストリーム(204)のコピー(207、209)を取得することができる。クライアント(206)は、符号化ビデオビットストリーム(207)の入ってくるコピーを復号し、ディスプレイ(212)または他のレンダリングデバイス(図示されていない)上にレンダリングすることができる出ていくビデオサンプルストリーム(211)を作成するビデオデコーダ(210)を含むことができる。いくつかのストリーミングシステムでは、ビデオビットストリーム(204、207、209)を、ある映像符号化/圧縮規格に従って符号化することができる。そうした規格の例には、ITU-T勧告H.265が含まれる。多用途映像符号化(Versatile Video Coding)またはVVCとして非公式に知られている映像符号化規格が開発中である。開示の主題は、VVCのコンテキストで使用され得る。
図3は、1つまたは複数の実施形態によるビデオデコーダ(210)の機能ブロック図であり得る。
受信器(310)は、デコーダ(210)によって復号されるべき1つまたは複数のコーデックビデオシーケンスを受信し得、同じかまたは別の実施形態において、一度に1つの符号化ビデオシーケンスであり、各符号化ビデオシーケンスの復号は他の符号化ビデオシーケンスから独立している。符号化ビデオシーケンスはチャネル(312)から受信され得、チャネル(312)は、コーディングされたビデオデータを格納する記憶デバイスへのハードウェア/ソフトウェアリンクであり得る。受信器(310)は、エンティティ(図示されていない)を使用してそれぞれに転送され得る他のデータ、例えば、符号化オーディオデータおよび/または補助データストリームを有するコーディングされたビデオデータを受信し得る。受信器(310)は、符号化ビデオシーケンスを他のデータから分離し得る。ネットワークジッタに対抗するために、バッファメモリ(315)が、受信器(310)とエントロピーデコーダ/パーサ(320)(以下「パーサ」)との間に結合され得る。受信器(310)が十分な帯域幅および制御可能性のストア/フォワードデバイスから、またはアイソクロナスネットワークからデータを受信しているときには、バッファ(315)が不要な場合もあり、または小さくすることができる。インターネットなどのベスト・エフォート・パケット・ネットワークで使用するには、バッファ(315)は必要とされ得、比較的大きくすることができ、有利には適応的なサイズのものとすることができる。
ビデオデコーダ(210)は、エントロピー符号化ビデオシーケンスからシンボル(321)を再構成するためのパーサ(320)を含み得る。これらのシンボルのカテゴリは、デコーダ(210)の動作を管理するために使用される情報、および潜在的には、図2に示されたように、デコーダの不可欠な部分ではないがそれに結合することができるディスプレイ(212)などのレンダリングデバイスを制御するための情報を含む。(1つまたは複数の)レンダリングデバイスのための制御情報は、補足エンハンスメント情報(Supplementary Enhancement Information)(SEIメッセージ)またはビデオユーザビリティ情報(Video Usability Information)(VUI)パラメータセット断片(図示されていない)の形態であり得る。パーサ(320)は、受け取った符号化ビデオシーケンスをパース/エントロピー復号し得る。符号化ビデオシーケンスの符号化は、映像符号化技術または規格に従うものとすることができ、可変長符号化、ハフマン符号化、コンテキスト感度のありまたはなしの算術符号化などを含む、当業者に周知の原理に従うことができる。パーサ(320)は、グループに対応する少なくとも1つのパラメータに基づいて、符号化ビデオシーケンスから、ビデオデコーダ内の画素のサブグループのうちの少なくとも1つのサブグループパラメータのセットを抽出し得る。サブグループは、Group of Pictures(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。エントロピーデコーダ/パーサはまた、変換係数、量子化器パラメータ値、動きベクトルなどといった符号化ビデオシーケンス情報も抽出し得る。
パーサ(320)は、シンボル(321)を作成するために、バッファ(315)から受け取ったビデオシーケンスに対してエントロピー復号/パース動作を行い得る。
シンボル(321)の再構成は、コーディングされたビデオピクチャまたはその一部(インターピクチャおよびイントラピクチャや、インターブロックおよびイントラブロックなど)のタイプ、ならびにその他の要因に応じて複数の異なるユニットを含む可能性がある。どのユニットがどのように関与するかは、パーサ(320)によって符号化ビデオシーケンスからパースされたサブグループ制御情報によって制御されうる。パーサ(320)と以下の複数のユニットとの間のそのようなサブグループ制御情報のフローは、明確にするために図示されていない。
既に述べた機能ブロックを越えて、デコーダ210を、以下で説明されるように概念的にいくつかの機能ユニットに細分することができる。商業的制約の下で動作する実際の実装形態では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に、互いに統合されることができる。しかしながら、開示の主題を説明する目的では、以下の機能ユニットへの概念的細分化が適切である。
第1のユニットはスケーラ/逆変換ユニット(351)である。スケーラ/逆変換ユニット(351)は、量子化変換係数、ならびにどの変換を使用するか、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報をパーサ(320)から(1つまたは複数の)シンボル(321)として受け取る。スケーラ/逆変換ユニット(351)は、アグリゲータ(355)に入力されることができるサンプル値を含むブロックを出力することができる。
場合によっては、スケーラ/逆変換(351)の出力サンプルは、イントラ符号化ブロック、すなわち、以前に再構成されたピクチャからの予測情報を使用していないが、現在のピクチャの以前に再構成された部分からの予測情報を使用することができるブロックに関連し得る。そのような予測情報は、イントラピクチャ予測ユニット(352)によって提供することができる。場合によっては、イントラピクチャ予測ユニット(352)は、現在の(部分的に再構成された)ピクチャ(356)から取り出された周囲の既に再構成された情報を使用して、再構成中のブロックと同じサイズおよび形状のブロックを生成する。アグリゲータ(355)は、場合によっては、イントラ予測ユニット(352)が生成した予測情報を、スケーラ/逆変換ユニット(351)によって提供された出力サンプル情報に、サンプルごとに付加する。
他の場合には、スケーラ/逆変換ユニット(351)の出力サンプルは、インター符号化された、潜在的に動き補償されたブロックに関連し得る。そのような場合、動き補償予測ユニット(353)は、予測に使用されるサンプルを取り出すために参照ピクチャメモリ(357)にアクセスすることができる。ブロックに関連するシンボル(321)に従って取り出されたサンプルを動き補償した後、これらのサンプルを、出力サンプル情報を生成するために、アグリゲータ(355)によってスケーラ/逆変換ユニットの出力(この場合、残差サンプルまたは残差信号と呼ばれる)に付加することができる。動き補償ユニットが予測サンプルを取り出す箇所である参照ピクチャメモリのアドレスは、動き補償ユニットが、例えばX、Y、および参照ピクチャ成分を有し得るシンボル(321)の形式で利用可能な、動きベクトルによって制御することができる。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリから取り出されたサンプル値の補間、動きベクトル予測機構などを含むこともできる。
アグリゲータ(355)の出力サンプルは、ループフィルタユニット(356)において様々なループフィルタリング技術を受けることができる。映像圧縮技術は、符号化ビデオビットストリームに含まれるパラメータによって制御され、パーサ(320)からシンボル(321)としてループフィルタユニット(356)に提供されるループ内フィルタ技術を含むことができるが、コーディングされたピクチャまたはコーディングされたビデオシーケンスの(復号順において)前の部分の復号中に取得されたメタ情報に応ずるものであってもよく、以前に再構成され、ループフィルタリングされたサンプル値に応ずるものであってもよい。
ループフィルタユニット(356)の出力は、レンダリングデバイス(212)に出力することができると共に、将来のピクチャ間予測に使用するために参照ピクチャメモリ(356)に格納することができるサンプルストリームとすることができる。
あるコーディングされたピクチャは、いったん完全に再構成されると、将来の予測のための参照ピクチャとして使用されうる。コーディングされたピクチャが完全に再構成され、コーディングされたピクチャが(例えば、パーサ(320)によって)参照ピクチャとして識別されると、現在の参照ピクチャ(356)は、参照ピクチャバッファ(357)の一部になることができ、新しい現在のピクチャのメモリを、後続のコーディングされたピクチャの再構成を開始する前に再割り振りすることができる。
ビデオデコーダ320は、ITU-T勧告H.265などの、規格において文書化され得る所定の映像圧縮技術に従って復号動作を行い得る。符号化ビデオシーケンスは、映像圧縮技術文書または規格、特にその中のプロファイル文書で指定されているように、映像圧縮技術または規格の構文に準拠するという意味で、使用されている映像圧縮技術または規格で指定されている構文に準拠し得る。また、コンプライアンスには、符号化ビデオシーケンスの複雑さが映像圧縮技術または規格のレベルによって定義される範囲内にあることも必要であり得る。場合によっては、レベルは、最大ピクチャサイズ、最大フレームレート、(例えばメガサンプル毎秒で測定される)最大再構成サンプルレート、最大参照ピクチャサイズなどを制限する。レベルによって設定される制限は、場合によっては、仮想参照デコーダ(Hypothetical Reference Decoder)(HRD)仕様および符号化ビデオシーケンスにおいてシグナリングされたHRDバッファ管理のためのメタデータによってさらに制限され得る。
一実施形態では、受信器(310)は、コーディングされたビデオを有する追加(冗長)データを受信し得る。追加データは、(1つまたは複数の)符号化ビデオシーケンスの一部として含まれ得る。追加データは、ビデオデコーダ(320)によって、データを適切に復号するためおよび/または元のビデオデータをより正確に再構成するために使用され得る。追加データは、例えば、時間、空間、またはSNRエンハンスメントレイヤ、冗長スライス、冗長ピクチャ、前方誤り訂正符号などの形態であり得る。
図4は、本開示の一実施形態によるビデオエンコーダ(203)の機能ブロック図であり得る。
エンコーダ(203)は、エンコーダ(203)によって符号化されるべき(1つまたは複数の)ビデオ画像をキャプチャし得る(エンコーダの一部ではない)ビデオソース(201)からビデオサンプルを受信し得る。
ビデオソース(201)は、エンコーダ(203)によって符号化されるべきソースビデオシーケンスを、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)のものとすることができるデジタルビデオサンプルストリームの形態で提供し得る。メディアサービングシステムにおいて、ビデオソース(201)は、以前に用意されたビデオを格納する記憶デバイスであり得る。ビデオ会議システムでは、ビデオソース(203)は、ローカル画像情報をビデオシーケンスとして取り込むカメラであり得る。ビデオデータは、連続して見られたときに動きを伝える複数の個々のピクチャとして提供され得る。ピクチャ自体は、画素の空間的配列として編成され得、各画素は、使用中のサンプリング構造、色空間などに応じて1つまたは複数のサンプルを含むことができる。当業者であれば、画素とサンプルとの関係を容易に理解することができる。以下の説明では、サンプルに注目する。
一実施形態によれば、エンコーダ(203)は、リアルタイムで、またはアプリケーションによって必要とされる任意の他の時間制約下で、ソースビデオシーケンスのピクチャを符号化および圧縮して符号化ビデオシーケンス(443)にし得る。適切な符号化速度を守らせることが、コントローラ(450)の1つの機能である。コントローラは、以下で説明されるように他の機能ユニットを制御し、これらのユニットに機能的に結合される。結合は、明確にするために図示されていない。コントローラによって設定されるパラメータは、レート制御関連のパラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、…)、ピクチャサイズ、group of pictures(GOP)レイアウト、最大動きベクトル探索範囲などを含むことができる。当業者であれば、あるシステム設計のために最適化されたビデオエンコーダ(203)に関連し得るものとして、コントローラ(450)のその他の機能を容易に識別することができる。
いくつかのビデオエンコーダは、当業者が「コーディング・ループ」として容易に認識するもので動作する。過度に簡略化された説明として、コーディング・ループは、エンコーダ(430)の符号化部分(以下、「ソースコーダ」)(コーディングされるべき入力ピクチャと、(1つまたは複数の)参照ピクチャとに基づいてシンボルを作成する役割を担う)と、エンコーダ(203)に組み込まれた、シンボルを再構成して、(開示の主題で考慮される映像圧縮技術では、シンボルと符号化ビデオビットストリームとの間の任意の圧縮が可逆的であるため)(リモート)デコーダも作成することになるサンプルデータを作成する(ローカル)デコーダ(433)とからなり得る。その再構成サンプルストリームは、参照ピクチャメモリ(434)に入力される。シンボルストリームの復号は、デコーダ位置(ローカルまたはリモート)とは無関係にビット厳密な結果をもたらすので、参照ピクチャバッファの内容もローカルエンコーダとリモートエンコーダとの間でビット厳密である。言い換えれば、エンコーダの予測部分は、復号中に予測を使用するときにデコーダが「見る」ことになるのと全く同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同期性(および、例えばチャネル誤りが原因で、同期性を維持することができない場合、結果として生じるドリフト)のこの基本原理は、当業者には周知である。
「ローカル」デコーダ(433)の動作は、図3に関連して既に詳細に説明した「リモート」デコーダ(210)の動作と同じであり得る。しかしながら、図3も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(445)およびパーサ(320)によるシンボルの符号化ビデオシーケンスへの符号化/復号は可逆であり得るため、チャネル(312)、受信器(310)、バッファ(315)、およびパーサ(320)を含むデコーダ(210)のエントロピー復号部分が、ローカルデコーダ(433)に完全に実装されない可能性がある。
この時点でなされ得る観察は、デコーダ内に存在するパース/エントロピー復号を除く任意のデコーダ技術が、対応するエンコーダ内にも、実質的に同一の機能形態で存在する必要があるということである。このため、開示の主題はデコーダ動作に焦点を当てている。エンコーダ技術の説明は、それらが包括的に説明されたデコーダ技術の逆であるので省略することができる。特定の領域においてのみ、より詳細な説明が必要であり、以下に示す。
その動作の一部として、ソースコーダ(430)は、「参照フレーム」として指定されたビデオシーケンスからの1つまたは複数の以前に符号化されたフレームを参照して入力フレームを予測的に符号化する動き補償予測符号化を行い得る。このように、コーディングエンジン(432)は、入力フレームの画素ブロックと、入力フレームに対する(1つまたは複数の)予測基準として選択され得る(1つまたは複数の)参照フレームの画素ブロックとの間の差を符号化する。
ローカルビデオデコーダ(433)は、ソースコーダ(430)によって作成されたシンボルに基づいて、参照フレームとして指定され得るフレームのコーディングされたビデオデータを復号し得る。コーディングエンジン(432)の動作は、有利には非可逆プロセスであり得る。コーディングされたビデオデータがビデオデコーダ(図4には示されていない)で復号され得る場合、再構成ビデオシーケンスは、通常、いくつかの誤りを有するソースビデオシーケンスの複製であり得る。ローカルビデオデコーダ(433)は、参照フレームに対してビデオデコーダによって行われ得、再構成参照フレームを参照ピクチャキャッシュ(434)に格納させ得る復号プロセスを複製する。このように、エンコーダ(203)は、(伝送誤りなしで)遠端ビデオデコーダによって取得される再構成参照フレームとして共通の内容を有する再構成参照フレームのコピーをローカルに格納し得る。
予測器(435)は、コーディングエンジン(432)のための予測探索を行い得る。すなわち、符号化されるべき新しいフレームについて、予測器(435)は、(候補参照画素ブロックとしての)サンプルデータ、または、新しいピクチャの適切な予測基準として機能し得る、参照ピクチャの動きベクトル、ブロック形状などのあるメタデータを求めて参照ピクチャメモリ(434)を探索し得る。予測器(435)は、適切な予測基準を見つけるために、サンプルブロック画素ブロックごとに動作し得る。場合によっては、予測器(435)によって取得された探索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(434)に格納された複数の参照ピクチャから描画された予測基準を有し得る。
コントローラ(450)は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ビデオコーダ(430)のコーディング動作を管理し得る。
前述のすべての機能ユニットの出力は、エントロピーコーダ(445)においてエントロピー符号化を受け得る。エントロピーコーダは、例えばハフマン符号化、可変長符号化、算術符号化などの、当業者に公知の技術に従ってシンボルを可逆圧縮することによって、様々な機能ユニットによって生成されるシンボルを符号化ビデオシーケンスに変換する。
送信器(440)は、エントロピーコーダ(445)によって作成される(1つまたは複数の)符号化ビデオシーケンスをバッファに入れて、通信チャネル(460)を介した送信に備え得、通信チャネル(460)は、コーディングされたビデオデータを格納することになる記憶デバイスへのハードウェア/ソフトウェアリンクであり得る。送信器(440)は、ビデオコーダ(430)からのコーディングされたビデオデータを、送信されるべき他のデータ、例えば、符号化オーディオデータおよび/または補助データストリーム(ソースは図示されていない)とマージし得る。
コントローラ(450)は、エンコーダ(203)の動作を管理し得る。符号化中、コントローラ(450)は、各コーディングされたピクチャに、それぞれのピクチャに適用され得る符号化技術に影響を及ぼし得るあるコーディングされたピクチャタイプを割り当て得る。例えば、ピクチャは、多くの場合、以下のフレームタイプのうちの1つとして割り当てられ得る。
イントラピクチャ(Iピクチャ)は、シーケンス内の他のフレームを予測のソースとして使用することなく符号化および復号され得るピクチャであり得る。いくつかのビデオコーデックは、例えば、独立デコーダリフレッシュピクチャを含む、異なるタイプのイントラピクチャを可能にする。当業者は、Iピクチャのそれらの変形ならびにそれらそれぞれの用途および特徴を知っている。
予測ピクチャ(Pピクチャ)は、最大で1つの動きベクトルおよび参照インデックスを使用して各ブロックのサンプル値を予測するイントラ予測またはインター予測を使用して符号化および復号され得るピクチャであり得る。
双方向予測ピクチャ(Bピクチャ)は、最大で2つの動きベクトルおよび参照インデックスを使用して各ブロックのサンプル値を予測するイントラ予測またはインター予測を使用して符号化および復号され得るピクチャであり得る。同様に、複数予測ピクチャは、3つ以上の参照ピクチャおよび関連付けられたメタデータを単一ブロックの再構成に使用することができる。
ソースピクチャは、一般に、複数のサンプルブロック(例えば、各々4×4、8×8、4×8、または16×16サンプルのブロック)に空間的に細分化され、ブロックごとにコーディングされ得る。ブロックは、ブロックのそれぞれのピクチャに適用されるコーディング割り当てによって決定されるように、他の(既にコーディングされた)ブロックを参照して予測的にコーディングされ得る。例えば、Iピクチャのブロックは、非予測的にコーディングされ得るか、または同じピクチャの既にコーディングされたブロックを参照して予測的にコーディングされ得る(空間予測またはイントラ予測)。Pピクチャの画素ブロックは、1つの以前にコーディングされた参照ピクチャを参照して空間予測によってまたは時間予測によって、非予測的にコーディングされ得る。Bピクチャのブロックは、1つまたは2つの以前にコーディングされた参照ピクチャを参照して空間予測によってまたは時間予測によって、非予測的にコーディングされ得る。
ビデオコーダ(203)は、ITU-T勧告H.265など、所定の映像符号化技術または規格に従って符号化動作を行い得る。その動作に際して、ビデオコーダ(203)は、入力ビデオシーケンスにおける時間的および空間的冗長性を利用する予測符号化動作を含む、様々な圧縮動作を行い得る。コーディングされたビデオデータは、したがって、使用されている映像符号化技術または規格によって指定された構文に準拠し得る。
一実施形態では、送信器(440)は、コーディングされたビデオと共に追加データを送信し得る。ビデオコーダ(430)は、そのようなデータを符号化ビデオシーケンスの一部として含め得る。追加データは、時間/空間/SNRエンハンスメントレイヤ、冗長ピクチャや冗長スライスなどの他の形態の冗長データ、補足エンハンスメント情報(SEI)メッセージ、ビジュアルユーザビリティ情報(VUI)パラメータセット断片などを含み得る。
開示の主題の特定の態様をより詳細に説明する前に、本明細書の残りの部分で参照されるいくつかの用語を説明する必要がある。
サブピクチャとは以下では、場合によっては、意味的にグループ化され、変更された解像度で独立して符号化され得るサンプル、ブロック、マクロブロック、符号化ユニット、または同様のエンティティの矩形の配置を指す。1つのピクチャに対して1つまたは複数のサブピクチャがあり得る。1つまたは複数のコーディングされたサブピクチャが、コーディングされたピクチャを形成し得る。1つまたは複数のサブピクチャが1つのピクチャにアセンブルされ得、1つまたは複数のサブピクチャが1つのピクチャから抽出され得る。ある環境では、1つまたは複数のコーディングされたサブピクチャが、圧縮領域において、サンプルレベルへのコード変換なしでコーディングされたピクチャにアセンブルされ得、同じ場合またはいくつかの他の場合には、1つまたは複数のコーディングされたサブピクチャが、圧縮領域においてコーディングされたピクチャから抽出され得る。
適応解像度変更(Adaptive Resolution Change)(ARC)とは以下では、例えば、参照ピクチャの再サンプリングによって、符号化ビデオシーケンス内のピクチャまたはサブピクチャの解像度の変更を可能にする機構を指す。ARCパラメータとは以下では、例えば、フィルタパラメータ、スケーリング係数、出力ピクチャおよび/または参照ピクチャの解像度、様々な制御フラグなどを含み得る、適応解像度変更を行うために必要とされる制御情報を指す。
上記の説明は、単一の意味的に独立したコーディングされたビデオピクチャの符号化および復号に焦点を当てている。独立したARCパラメータを有する複数のサブピクチャの符号化/復号の含意およびその含意される追加の複雑さを説明する前に、ARCパラメータをシグナリングするための選択肢を説明する。
図5を参照すると、ARCパラメータをシグナリングするためのいくつかの新規の選択肢が示されている。各選択肢から分かるように、それらは、符号化効率、複雑さ、およびアーキテクチャの観点から、いくつかの利点およびいくつかの欠点を有する。映像符号化規格または技術は、ARCパラメータをシグナリングするために、これらの選択肢、または従来技術から公知の選択肢のうちの1つまたは複数を選択し得る。これらの選択肢は、相互に排他的でなくてもよく、考えられる限りでは、用途の必要性、関与する規格技術、またはエンコーダの選択に基づいて入れ替えられ得る。
ARCパラメータのクラスは、以下を含み得る。
X次元およびY次元で分離されたまたは組み合わされた、アップサンプリング係数/ダウンサンプリング係数。
所与の数のピクチャの一定速度のズームイン/ズームアウトを示す、時間次元を追加したアップサンプリング係数/ダウンサンプリング係数。
上記の2つのどちらかは、(1つまたは複数の)それらの係数を含むテーブルを指し示し得る1つまたは複数のおそらく短い構文要素の符号化を含み得る。
組み合わされた、または別々の、入力ピクチャ、出力ピクチャ、参照ピクチャ、コーディングされたピクチャの、サンプル、ブロック、マクロブロック、CU、または任意の他の適切な粒度の単位での、X次元またはY次元の解像度。2つ以上の解像度がある場合(例えば、入力ピクチャの解像度、参照ピクチャの解像度など)、ある場合には、1つの値セットが別の値セットから推論され得る。これは、例えば、フラグを使用することによってゲート処理することができる。より詳細な例については、以下を参照されたい。
やはり上述したような適切な粒度の、H.263 Annex Pで使用されるものと同様の「ワーピング」座標。H.263 Annex Pは、そのようなワーピング座標を符号化する1つの効率的な方法を定義しているが、他の潜在的により効率的な方法が考案されることも考えられ得る。例えば、Annex Pのワーピング座標の可変長の可逆の「ハフマン」スタイルのコーディングを、適切な長さのバイナリコーディングで置き換えることもでき、バイナリ符号語の長さは、例えば、最大ピクチャサイズから導出し、場合によってはある係数で乗算し、ある値でオフセットして、最大ピクチャサイズの境界外の「ワーピング」を可能にすることができる。
フィルタパラメータのアップサンプリングまたはダウンサンプリング。最も簡単な場合には、アップサンプリングおよび/またはダウンサンプリングのための単一のフィルタのみが存在し得る。しかしながら、ある場合には、フィルタ設計により多くの柔軟性を可能にすることが有利であり得、それにはフィルタパラメータのシグナリングを必要とし得る。そのようなパラメータは、可能なフィルタ設計のリスト内のインデックスを介して選択され得、フィルタは、(例えば、フィルタ係数のリストを介して、適切なエントロピー符号化技術を使用して)完全に指定され得、フィルタは、上述の機構のいずれかに従ってシグナリングされるものと一致するアップサンプリング/ダウンサンプリング比を介して暗黙的に選択され得、以下同様である。
以下では、説明は、符号語を介して示される、アップサンプリング係数/ダウンサンプリング係数の有限セット(X次元とY次元の両方で使用されるべき同じ係数)の符号化を想定している。その符号語は、有利には、例えば、H.264やH.265などの映像符号化仕様におけるいくつかの構文要素に共通のExt-Golomb符号を使用して、可変長符号化することができる。
用途の必要性、および映像圧縮技術または規格で利用可能なアップスケール機構およびダウンスケール機構の能力に従って、多くの同様のマッピングを考案することができる。テーブルは、より多くの値に拡張することができる。値はまた、Ext-Golomb符号以外のエントロピー符号化機構によって、例えばバイナリコーディングを使用して表されてもよい。これには、例えばMANEによって、再サンプリング係数が映像処理エンジン(まず第1にエンコーダおよびデコーダ)自体の外部の対象のものであった場合に、いくつかの利点があり得る。解像度変更が必要とされない(おそらくは)最も一般的な場合には、短いExt-Golomb符号を選択することができ、上記のテーブルでは、1ビットのみであることに留意されたい。これには、最も一般的な場合でのバイナリコードの使用に優る符号化効率の利点があり得る。
テーブル内のエントリの数、ならびにそれらのセマンティクスは、完全にまたは部分的に構成可能であり得る。例えば、テーブルの基本的な概要は、シーケンスパラメータセットやデコーダパラメータセットなどの「高」パラメータセットで伝達され得る。代替的または追加的に、1つまたは複数のそのようなテーブルが、映像符号化技術または規格で定義されてもよく、例えばデコーダパラメータセットやシーケンスパラメータセットを介して選択されてもよい。
以下では、上述のように符号化されたアップサンプリング/ダウンサンプリング係数(ARC情報)が映像符号化技術または規格の構文にどのように含まれ得るかを説明する。アップサンプリングフィルタ/ダウンサンプリングフィルタを制御する1つまたはいくつかの符号語にも同様の考慮事項が適用され得る。フィルタまたは他のデータ構造に比較的大量のデータが必要とされる場合の考察については、以下を参照されたい。
H.263 Annex Pは、ピクチャヘッダ501内に、具体的にはH.263 PLUSPTYPE(503)ヘッダ拡張内に、4つのワーピング座標の形態のARC情報502を含む。これは、a)利用可能なピクチャヘッダがあり、b)ARC情報の頻繁な変更が予期される場合に、賢明な設計選択となり得る。しかしながら、H.263スタイルのシグナリングを使用する場合のオーバーヘッドは非常に高くなる可能性があり、ピクチャヘッダは一時的な性質であり得るため、スケーリング係数がピクチャ境界間で関係しない可能性がある。
上記で引用したJVCET-M135-v1は、シーケンスパラメータセット(507)内に位置するターゲット解像度を含むテーブル(506)を指し示す、ピクチャパラメータセット(504)内に位置するARC参照情報(505)(インデックス)を含む。シーケンスパラメータセット(507)内のテーブル(506)における可能な解像度の配置は、著者らの口述によれば、能力交換中の相互運用性の折衝点としてSPSを使用することによって正当化されうる。解像度は、適切なピクチャパラメータセット(504)を参照することによって、ピクチャごとにテーブル(506)内の値によって設定される制限内で変化し得る。
やはり図5を参照すると、ビデオビットストリームでARC情報を伝達するための以下の追加の選択肢が存在し得る。これらの選択肢の各々には、上述したように既存の技術に優るいくつかの利点がある。これらの選択肢は、同じ映像符号化技術または規格に同時に存在し得る。
一実施形態では、再サンプリング(ズーム)係数などのARC情報(509)が、スライスヘッダ、GOBヘッダ、タイルヘッダ、またはタイルグループヘッダ(以下、タイルグループヘッダ)(508)に存在し得る。これは、例えば上記に示されるように、単一の可変長ue(v)または数ビットの固定長符号語など、ARC情報が小さい場合には十分であり得る。タイルグループヘッダ内に直接ARC情報を有することには、ARC情報が、ピクチャ全体ではなく、例えば、そのタイルグループによって表されるサブピクチャに適用可能であり得るという追加の利点がある。以下も参照されたい。加えて、映像圧縮技術または規格が、(例えば、タイルグループベースの適応解像度変更とは対照的に)全ピクチャ適応解像度変更のみを想定している場合であっても、ARC情報をH.263スタイルのピクチャヘッダに入れることに対して、ARC情報をタイルグループヘッダに入れることには、誤り耐性の観点からいくつかの利点がある。
同じかまたは別の実施形態において、ARC情報(512)自体は、例えば、ピクチャパラメータセット、ヘッダパラメータセット、タイルパラメータセット、適応パラメータセットなど(適応パラメータセットが図示されている)などの適切なパラメータセット(511)に存在し得る。パラメータセットの範囲は、有利には、ピクチャ以下、例えばタイルグループとすることができる。ARC情報の使用は、関連するパラメータセットのアクティブ化による暗黙的なものである。例えば、映像符号化技術または規格がピクチャベースのARCのみを企図している場合には、ピクチャパラメータセットまたは同等物が適切であり得る。
同じかまたは別の実施形態において、ARC参照情報(513)は、タイルグループヘッダ(514)または類似のデータ構造に存在し得る。その参照情報(513)は、単一ピクチャを超える範囲、例えばシーケンスパラメータセットまたはデコーダパラメータセットを有するパラメータセット(516)において利用可能なARC情報(515)の一部を指すことができる。
JVET-M0135-v1で使用されるような、タイルグループヘッダ、PPS、SPSからの追加レベルのPPSの間接的に示唆されるアクティブ化は、ピクチャパラメータセットを、シーケンスパラメータセットと同様に、能力折衝または告知に使用する(およびRFC3984などのいくつかの規格では有する)ことができるので、不要であるように思われる。しかしながら、ARC情報が、例えばタイルグループによっても表現されるサブピクチャに適用可能であるべきである場合、適応パラメータセットやヘッダパラメータセットなどの、タイルグループに限定されたアクティブ化範囲を有するパラメータセットが、より良い選択であり得る。また、ARC情報が無視できないサイズのものである場合、例えば、多数のフィルタ係数などのフィルタ制御情報を含む場合には、これらの設定は、同じパラメータセットを参照することによって将来のピクチャまたはサブピクチャによって再利用可能であり得るため、パラメータが、符号化効率の観点からヘッダ(508)を直接使用するよりも良い選択であり得る。
シーケンスパラメータセットまたは複数のピクチャにまたがる範囲を有する別の上位のパラメータセットを使用する場合、いくつかの考慮事項が適用され得る。
ARC情報テーブル(516)を格納するためのパラメータセットは、ある場合には、シーケンスパラメータセットであり得るが、他の場合には、デコーダパラメータセットであることが有利である。デコーダパラメータセットは、複数のCVS、すなわち符号化されたビデオストリーム、すなわちセッション開始からセッション終了までのすべてのコーディングされたビデオビットのアクティブ化範囲を有し得る。そのような範囲がより適切であり得るのは、可能なARC要因が、おそらくはハードウェアで実装されるデコーダ機能であり得、ハードウェア機能は、いかなるCVS(少なくともいくつかのエンターテインメント・システムでは、長さが1秒以下のGroup of Picturesである)でも変化しない傾向があるためである。とは言え、テーブルをシーケンスパラメータセットに入れることは、本明細書に記載される配置の選択肢に明示的に含まれる。
ARC参照情報(513)は、有利には、JVCET-M0135-v1のようにピクチャパラメータセット内にではなく、ピクチャ/スライスタイル/GOB/タイルグループヘッダ(以下、タイルグループヘッダ)(514)内に直接配置され得る。その理由は次のとおりである。エンコーダが、ピクチャパラメータセット内の単一の値、例えばARC参照情報などを変更したい場合には、新しいPPSを作成し、その新しいPPSを参照する必要がある。ARC参照情報のみが変化するが、例えば、PPS内の量子化行列情報などの他の情報はそのままであると仮定する。そのような情報はかなりのサイズのものである可能性があり、新しいPPSを完成させるために再送信される必要がある。ARC参照情報は、テーブル(513)へのインデックスなど、単一の符号語であり得、それが変化する唯一の値になるので、例えば量子化行列情報すべてを再送信することは面倒で無駄になる。その限りにおいて、JVET-M0135-v1で提案されているように、PPSを通る回り道を回避することは、符号化効率の観点から見てかなり良いことでありうる。同様に、ARC参照情報をPPSに入れることには、ピクチャパラメータセットアクティブ化の範囲がピクチャであるので、ARC参照情報(513)によって参照されるARC情報は、サブピクチャに対してではなく、必ずピクチャ全体に適用される必要があるというさらなる欠点がある。
同じかまたは別の実施形態において、ARCパラメータのシグナリングは、図6に概説されている詳細な例に従うことができる。図6は、少なくとも1993年以降に映像符号化規格で使用されている表現の構文図を示している。そのような構文図の表記は、大まかにCスタイルのプログラミングに従う。太字の行はビットストリームに存在する構文要素を示し、太字のない行は制御フローまたは変数の設定を示すことが多い。
ピクチャの(おそらくは矩形の)部分に適用可能なヘッダの例示的な構文構造としてのタイルグループヘッダ(601)は、条件付きで、可変長のExp-Golomb符号化構文要素dec_pic_size_idx(602)(太字で示されている)を含むことができる。タイルグループヘッダ内のこの構文要素の存在を、適応解像度(603)、ここでは太字で示されていないフラグの値の使用に関してゲート処理することができ、これは、フラグがビットストリームにおいてそれが構文図内で発生する点に存在することを意味する。適応解像度がこのピクチャまたはピクチャの部分に使用されているか否かを、ビットストリームの内部または外部の任意の高レベル構文構造においてシグナリングすることができる。図示されている例では、以下に概説するようにシーケンスパラメータセットでシグナリングされる。
やはり図6を参照すると、シーケンスパラメータセット(610)の抜粋も図示されている。図示されている第1の構文要素は、adaptive_pic_resolution_change_flag(611)である。真の場合、そのフラグは適応解像度の使用を示すことができ、適応解像度の使用は、ある制御情報を必要とし得る。この例では、そのような制御情報は、パラメータセット(612)およびタイルグループヘッダ(601)内のif()文に基づくフラグの値に基づいて、条件付きで存在する。
適応解像度が使用されているとき、この例では、コーディングされるのはサンプル単位の出力解像度(613)である。番号613は、出力ピクチャの解像度をともに定義することができる、output_pic_width_in_luma_samplesとoutput_pic_height_in_luma_samplesの両方を指している。映像符号化技術または規格の他の箇所で、どちらかの値に対するいくつかの制限を定義することができる。例えば、レベル定義は、それら2つの構文要素の値の積とすることができる、合計出力サンプルの数を制限し得る。また、いくつかの映像符号化技術もしくは規格、または例えばシステム規格などの外部技術もしくは規格も、番号範囲(例えば、一方または両方の寸法が、2の累乗で割り切れる数でなければならない)、またはアスペクト比(例えば、幅と高さが4:3や16:9などの関係になければならない)を制限し得る。そのような制限は、ハードウェア実装を容易にするために、または他の理由で導入され得、当技術分野で周知である。
特定の用途では、サイズが出力ピクチャサイズであると暗黙的に仮定するのではなく、エンコーダが特定の参照ピクチャサイズを使用するようデコーダに指示することが望ましい可能性がある。この例では、構文要素reference_pic_size_present_flag(614)は、参照ピクチャ寸法(615)(やはり、数字は幅と高さの両方を指す)の条件付き存在をゲート処理する。
最後に、可能な復号されたピクチャの幅および高さのテーブルが示されている。そのようなテーブルは、例えば、テーブル指示(num_dec_pic_size_in_luma_samples_minus1)(616)で表すことができる。「minus1」は、その構文要素の値の解釈を指すことができる。例えば、符号化された値が0である場合、1つのテーブルエントリが存在する。値が5である場合、6つのテーブルエントリが存在する。テーブル内の「行」ごとに、復号されたピクチャの幅および高さが構文(617)に含まれる。
提示のテーブルエントリ(617)に、タイルグループヘッダ内の構文要素dec_pic_size_idx(602)を使用してインデックス付けされることができ、それにより、タイルグループごとに異なる復号されたサイズ、実際にはズーム比が可能になる。
上述した適応解像度パラメータをシグナリングするための技術は、コンピュータ可読命令を使用するコンピュータソフトウェアとして実装され、1つまたは複数のコンピュータ可読媒体に物理的に格納されることができる。例えば、図7は、開示の主題の特定の実施形態を実施するのに適したコンピュータシステム700を示す。
コンピュータソフトウェアは、コンピュータの中央処理装置(CPU)、グラフィックス処理装置(GPU)などによって、直接、または解釈、マイクロコード実行などによって実行することができる命令を含む符号を作成するために、アセンブリ、コンパイル、リンク、または同様の機構を受け得る、任意の適切な機械語またはコンピュータ言語を使用してコーディングされうる。
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機器、モノのインターネットデバイスなどを含む様々なタイプのコンピュータまたはコンピュータの構成要素上で実行されうる。
コンピュータシステム700について図7に示される構成要素は、本質的に例示的な性格のものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用または機能の範囲に関する限定を示唆することを意図されるものではない。構成要素の構成は、コンピュータシステム700の例示的な実施形態に示されている構成要素のいずれか1つまたは組み合わせに関連する依存性または要件を有すると解釈されるべきではない。
コンピュータシステム700は、あるヒューマンインターフェース入力デバイスを含み得る。そのようなヒューマンインターフェース入力デバイスは、例えば、触知入力(キーストローク、スワイプ、データグローブの動きなど)、オーディオ入力(声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示されていない)を介した1人以上の人間ユーザによる入力に応答し得る。ヒューマンインターフェースデバイスは、オーディオ(音声、音楽、周囲音など)、画像(走査画像、静止画像カメラから取得される写真画像など)、映像(2次元映像、立体映像を含む3次元映像など)といった、必ずしも人間による意識的な入力に直接関連しないある媒体を取り込むために使用されうる。
入力ヒューマンインターフェースデバイスは、キーボード701、マウス702、トラックパッド703、タッチスクリーン710、データグローブ704、ジョイスティック705、マイクロフォン706、スキャナ707、カメラ708のうちの1つまたは複数(各々の1つだけが図示されている)を含み得る。
コンピュータシステム700はまた、特定のヒューマンインターフェース出力デバイスも含み得る。そのようなヒューマンインターフェース出力デバイスは、例えば、触知出力、音、光、および匂い/味によって1人または複数の人間ユーザの感覚を刺激し得る。そのようなヒューマンインターフェース出力デバイスには、触知出力デバイス(例えば、タッチスクリーン710、データグローブ704、またはジョイスティック705による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスもあり得る)、オーディオ出力デバイス(スピーカ709、ヘッドホン(図示されていない)など)、視覚出力デバイス(CRT画面、LCD画面、プラズマ画面、OLED画面を含む画面710など、各々タッチスクリーン入力機能ありまたはなし、各々触覚フィードバック機能ありまたはなし、その一部は2次元視覚出力または立体出力などの手段を介して3次元を超える出力を出力できる場合もある、仮想現実メガネ(図示されていない)、ホログラフィックディスプレイ、およびスモークタンク(図示されていない)など)、ならびにプリンタ(図示されていない)が含まれ得る。
コンピュータシステム700はまた、人間がアクセス可能な記憶デバイスと、CD/DVDなどの媒体721を有するCD/DVD ROM/RW720、サムドライブ722、リムーバブルハードドライブまたはソリッドステートドライブ723、テープやフロッピーディスク(図示されていない)などのレガシー磁気媒体、セキュリティドングル(図示されていない)などの専用ROM/ASIC/PLDベースのデバイスなどを含む光媒体などの記憶デバイスと関連付けられた媒体も含むことができる。
また当業者は、本開示の主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、またはその他の一時的信号を包含しないことも理解するはずである。
コンピュータシステム700はまた、1つまたは複数の通信ネットワークへのインターフェースも含むことができる。ネットワークは、例えば、無線、有線、光であり得る。ネットワークはさらに、ローカル、広域、メトロポリタン、車両および産業、リアルタイム、遅延耐性などであり得る。ネットワークの例には、イーサネット、無線LANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルテレビ、衛星テレビ、および地上波放送テレビを含むテレビ有線または無線広域デジタルネットワーク、CANBusを含む車両および産業などが含まれる。いくつかのネットワークは、一般に、いくつかの汎用データポートまたは周辺バス(749)(例えば、コンピュータシステム700のUSBポートなどに接続された外部ネットワークインターフェースアダプタを必要とし、その他のネットワークは、一般に、以下で説明されるようにシステムバスへの接続(例えば、PCコンピュータシステムへのイーサネットインターフェースやスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)によってコンピュータシステム700のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム700は他のエンティティと通信することができる。そのような通信は、単方向、受信のみ(例えば、テレビ放送)、単方向送信専用(例えば、CANbusからいくつかのCANbusデバイスへ)、または例えば、ローカルもしくは広域デジタルネットワークを使用する他のコンピュータシステムへの双方向であり得る。いくつかのプロトコルおよびプロトコルスタックは、上述したように、それらのネットワークおよびネットワークインターフェースの各々で使用されうる。
前述のヒューマンインターフェースデバイス、人間がアクセス可能な記憶デバイス、およびネットワークインターフェースは、コンピュータシステム700のコア740にアタッチされうる。
コア740は、1つまたは複数の中央処理装置(CPU)741、グラフィックス処理装置(GPU)742、フィールドプログラマブルゲートエリア(FPGA)743の形態の特殊なプログラマブル処理装置、あるタスクのためのハードウェアアクセラレータ744などを含むことができる。これらのデバイスは、読み出し専用メモリ(ROM)745、ランダムアクセスメモリ746、内部の非ユーザアクセス可能ハードドライブ、SSDなど747の内部大容量記憶部と共に、システムバス748を介して接続され得る。いくつかのコンピュータシステムでは、システムバス748は、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形態でアクセス可能とすることができる。周辺デバイスは、コアのシステムバス748に直接、または周辺バス749を介してアタッチされうる。周辺バスのアーキテクチャには、PCI、USBなどが含まれる。
CPU741、GPU742、FPGA743、およびアクセラレータ744は、組み合わさって前述のコンピュータコードを構成することができるいくつかの命令を実行することができる。そのコンピュータコードを、ROM745またはRAM746に格納することができる。過渡的なデータをRAM746に格納することもでき、一方、永続的なデータを、例えば、内部大容量記憶部747に格納することができる。メモリデバイスのいずれかへの高速記憶および取得は、1つまたは複数のCPU741、GPU742、大容量記憶部747、ROM745、RAM746などと密接に関連付けられうるキャッシュメモリの使用によって可能にされうる。
コンピュータ可読媒体は、様々なコンピュータ実装動作を行うためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものとすることもでき、またはコンピュータソフトウェア技術の当業者に周知で利用可能な種類のものとすることもできる。
限定ではなく例として、アーキテクチャを有するコンピュータシステム700、具体的にはコア740は、(1つまたは複数の)プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つまたは複数の有形のコンピュータ可読媒体において具体化されたソフトウェアを実行した結果として機能を提供することができる。そのようなコンピュータ可読媒体は、上述したようなユーザアクセス可能な大容量記憶、ならびにコア内部大容量記憶部747やROM745などの非一時的な性質のものであるコア740のあるストレージと関連付けられた媒体とすることができる。本開示の様々な実施形態を実施するソフトウェアを、そのようなデバイスに格納し、コア740によって実行することができる。コンピュータ可読媒体は、特定の必要性に応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア740、具体的にはコア中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM746に格納されたデータ構造を定義すること、およびソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を変更することを含む、本明細書に記載される特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、本明細書に記載される特定のプロセスまたは特定のプロセスの特定の部分を実行するためにソフトウェアの代わりに、またはソフトウェアと一緒に動作することができる、回路において配線またはそれ以外の方法で具体化された論理(例えば、アクセラレータ744)の結果としての機能を提供することもできる。ソフトウェアに言及する場合、それは、適切な場合には、論理を包含することができ、逆もまた同様である。コンピュータ可読媒体に言及する場合、それは、適切な場合には、実行のためのソフトウェアを格納する回路(集積回路(IC)など)、実行のための論理を具体化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアとの任意の適切な組み合わせを包含する。
いくつかの映像符号化技術または規格、例えばVP9は、空間スケーラビリティを可能にするために、(開示の主題とは全く異なるようにシグナリングされた)ある形式の参照ピクチャの再サンプリングを、時間スケーラビリティと併せて実装することによって、空間スケーラビリティをサポートする。特に、ある参照ピクチャは、空間エンハンスメントレイヤのベースを形成するために、ARCスタイルの技術を使用してより高い解像度にアップサンプリングされ得る。それらのアップサンプリングされたピクチャを、詳細を追加するために、高解像度で通常の予測機構を使用して精緻化することができる。
開示の主題は、そのような環境で使用されうる。いくつかの場合には、同じかまたは別の実施形態において、NALユニットヘッダ、例えば時間IDフィールド内の値を使用して、時間レイヤだけでなく空間レイヤも示すことができる。そうすることには、あるシステム設計においてはいくつかの利点がある。例えば、NALユニットヘッダの時間ID値に基づいて時間レイヤの選択された転送のために作成および最適化された既存の選択された転送ユニット(SFU)を、修正なしで、スケーラブルな環境に使用することができる。これを可能にするために、コーディングされたピクチャサイズと時間レイヤとの間のマッピングに対する要件が存在していてもよく、NALユニットヘッダ内の時間IDフィールドによって示される。
いくつかの映像符号化技術では、アクセスユニット(AU)とは、所与の時間的インスタンスにおいてそれぞれのピクチャ/スライス/タイル/NALユニットビットストリームに取り込まれ、構成された、(1つまたは複数の)コーディングされたピクチャ、(1つまたは複数の)スライス、(1つまたは複数の)タイル、(1つまたは複数の)NALユニットなどを指すことができる。その時間的インスタンスは、合成時間であり得る。
HEVC、およびいくつかの他の映像符号化技術では、復号されたピクチャバッファ(DPB)に格納された複数の参照ピクチャの中から選択された参照ピクチャを示すためにピクチャ順序カウント(POC)値が使用されうる。アクセスユニット(AU)が1つまたは複数のピクチャ、スライス、またはタイルを含む場合、同じAUに属する各ピクチャ、スライス、またはタイルは、同じPOC値を有し得、そこから、それらが同じ合成時間のコンテンツから作成されたことが導出されうる。言い換えれば、2つのピクチャ/スライス/タイルが同じ所与のPOC値を有するシナリオでは、それは同じAUに属し、同じ合成時間を有する2つのピクチャ/スライス/タイルを示すことができる。逆に、異なるPOC値を有する2つのピクチャ/タイル/スライスは、異なるAUに属し、異なる合成時間を有するそれらのピクチャ/スライス/タイルを示すことができる。
開示の主題の一実施形態では、前述の厳格な関係は、アクセスユニットが、異なるPOC値を有するピクチャ、スライス、またはタイルを含みうるという点で緩和されうる。AU内で異なるPOC値を許容することにより、POC値を使用して、同一の提示時間を有する、潜在的に独立して復号可能なピクチャ/スライス/タイルを識別することが可能になる。これにより、以下でより詳細に説明するように、参照ピクチャ選択シグナリング(例えば、参照ピクチャセットシグナリングまたは参照ピクチャリストシグナリング)を変更することなく、複数のスケーラブルレイヤのサポートを可能にすることができる。
しかしながら、POC値のみから、異なるPOC値を有する他のピクチャ/スライス/タイルに対して、ピクチャ/スライス/タイルが属するAUを識別できることが依然として望ましい。これは、以下で説明されるように達成することができる。
同じまたは他の実施形態において、アクセスユニットカウント(AUC)は、NALユニットヘッダ、スライスヘッダ、タイルグループヘッダ、SEIメッセージ、パラメータセットまたはAUデリミタなどの高レベル構文構造でシグナリングされ得る。AUCの値は、どのNALユニット、ピクチャ、スライス、またはタイルが所与のAUに属するかを識別するために使用され得る。AUCの値は、別個の合成時間インスタンスに対応し得る。AUC値は、POC値の倍数に等しくなり得る。POC値を整数値で除算することにより、AUC値が計算され得る。ある場合には、除算演算が、デコーダの実装に一定の負担をかける可能性がある。そのような場合、AUC値の番号空間の制限が小さいため、除算演算をシフト演算で置き換えることができる。例えば、AUC値は、POC値範囲の最上位ビット(MSB)値に等しくなり得る。
同じ実施形態において、AUごとのPOCサイクルの値(poc_cycle_au)は、NALユニットヘッダ、スライスヘッダ、タイルグループヘッダ、SEIメッセージ、パラメータセットまたはAUデリミタなどの高レベル構文構造でシグナリングされ得る。poc_cycle_auは、いくつの異なる連続したPOC値を同じAUと関連付けることができるかを示し得る。例えば、poc_cycle_auの値が4に等しい場合、0と3とを含む0~3に等しいPOC値を有するピクチャ、スライスまたはタイルは、0に等しいAUC値を有するAUと関連付けられ、4と7とを含む4~7に等しいPOC値を有するピクチャ、スライスまたはタイルは、1に等しいAUC値を有するAUと関連付けられる。よって、AUCの値は、POC値をpoc_cycle_auの値で除算することによって推論され得る。
同じかまたは別の実施形態において、poc_cycle_auの値は、符号化ビデオシーケンスにおける空間レイヤまたはSNRレイヤの数を識別する、例えばビデオパラメータセット(VPS)に位置する、情報から導出され得る。そのような可能な関係を以下で簡単に説明する。上述したような導出は、VPSにおいて数ビットを節約し得、よって符号化効率を改善し得るが、ビデオパラメータセットの階層的に下位の適切な高レベル構文構造でpoc_cycle_auを明示的に符号化して、ピクチャなどのビットストリームの所与の小部分についてpoc_cycle_auを最小化できるようにすることが有利であり得る。この最適化により、POC値(および/またはPOCを間接的に参照する構文要素の値)が低レベルの構文構造で符号化され得るため、上記の導出プロセスによって節約できるよりも多くのビットが節約され得る。
図8に、適応解像度変更を伴うtemporal_id、layer_id、POC、およびAUC値の組み合わせを有するビデオシーケンス構造の一例を示す。この例では、AUC=0の最初のAU内のピクチャ、スライス、またはタイルは、temporal_id=0およびlayer_id=0または1を有し得、AUC=1の2番目のAU内のピクチャ、スライス、またはタイルは、それぞれ、temporal_id=1およびlayer_id=0または1を有し得る。temporal_idおよびlayer_idの値に関わらず、POCの値はピクチャごとに1ずつ増加する。この例では、poc_cycle_auの値を2に等しくすることができる。好ましくは、poc_cycle_auの値は、(空間スケーラビリティ)レイヤの数と等しく設定され得る。よって、この例では、POCの値は2増加し、AUCの値は1増加する。
上記の実施形態では、ピクチャ間またはレイヤ間の予測構造および参照ピクチャ指示の全部または一部が、HEVCにおける既存の参照ピクチャセット(RPS)シグナリングまたは参照ピクチャリスト(RPL)シグナリングを使用することによってサポートされ得る。RPSまたはRPLでは、選択された参照ピクチャは、POCの値または現在のピクチャと選択された参照ピクチャとの間のPOCのデルタ値をシグナリングすることによって示される。開示の主題では、RPSおよびRPLを、シグナリングを変更せずに、ただし以下の制限を伴って、ピクチャ間またはレイヤ間予測構造を示すために使用することができる。参照ピクチャのtemporal_idの値がtemporal_id現在のピクチャの値より大きい場合、現在のピクチャは、動き補償または他の予測のためにその参照ピクチャを使用しない場合がある。参照ピクチャのlayer_idの値がlayer_id現在のピクチャの値より大きい場合、現在のピクチャは、動き補償または他の予測のためにその参照ピクチャを使用しない場合がある。
同じ実施形態および他の実施形態において、時間的動きベクトル予測のためのPOC差分に基づく動きベクトルスケーリングは、アクセスユニット内の複数のピクチャにわたって無効とされ得る。よって、各ピクチャはアクセスユニット内で異なるPOC値を有し得るが、動きベクトルはスケーリングされず、アクセスユニット内の時間的動きベクトル予測に使用されない。これは、同じAU内の異なるPOCを有する参照ピクチャは、同じ時間インスタンスを有する参照ピクチャとみなされるためである。したがって、この実施形態では、参照ピクチャが現在のピクチャと関連付けられたAUに属する場合、動きベクトルスケーリング関数は1を返し得る。
同じ実施形態および他の実施形態において、参照ピクチャの空間解像度が現在のピクチャの空間解像度と異なる場合、時間的動きベクトル予測のためのPOC差分に基づく動きベクトルスケーリングは、複数のピクチャにわたって任意選択的に無効とされ得る。動きベクトルスケーリングが許容される場合、動きベクトルは、現在のピクチャと参照ピクチャとの間のPOC差分と空間解像度比の両方に基づいてスケーリングされる。
同じかまたは別の実施形態において、特にpoc_cycle_auが不均一な値を有する場合(vps_contant_poc_cycle_per_au==0の場合)、動きベクトルは、時間的動きベクトル予測のために、POC差分ではなくAUC差分に基づいてスケーリングされ得る。そうでない場合(vps_contant_poc_cycle_per_au==1の場合)、AUC差分に基づく動きベクトルのスケーリングは、POC差分に基づく動きベクトルスケーリングと同一であり得る。
同じかまたは別の実施形態において、動きベクトルがAUC差分に基づいてスケーリングされる場合、現在のピクチャを有する(同じAUC値を有する)同じAU内の参照動きベクトルは、AUC差分に基づいてスケーリングされず、現在のピクチャと参照ピクチャとの間の空間解像度比に基づくスケーリングなしまたはスケーリングありの動きベクトル予測に使用される。
同じ実施形態および他の実施形態において、AUC値は、AUの境界を識別するために使用され、AU粒度を有する入力および出力タイミングを必要とする仮想参照デコーダ(HRD)動作のために使用される。ほとんどの場合、AU内の最上位レイヤの復号されたピクチャが表示のために出力され得る。AUC値およびlayer_id値を、出力ピクチャを識別するために使用することができる。
一実施形態では、ピクチャが、1つまたは複数のサブピクチャからなり得る。各サブピクチャは、ピクチャの局所領域または全領域をカバーし得る。サブピクチャによってサポートされる領域は、別のサブピクチャによってサポートされる領域とオーバーラップする場合もあり、オーバーラップしない場合もある。1つまたは複数のサブピクチャによって構成される領域は、ピクチャの全領域をカバーする場合もあり、カバーしない場合もある。ピクチャがサブピクチャからなる場合、サブピクチャによってサポートされる領域はピクチャによってサポートされる領域と同一である。
同じ実施形態において、サブピクチャは、コーディングされたピクチャに使用された符号化方法と同様の符号化方法によって符号化され得る。サブピクチャは、独立して符号化され得るか、または、別のサブピクチャもしくはコーディングされたピクチャに依存して符号化され得る。サブピクチャは、別のサブピクチャまたはコーディングされたピクチャからのパース依存性を有する場合もあり、有しない場合もある。
同じ実施形態において、コーディングされたサブピクチャは、1つまたは複数のレイヤに含まれ得る。レイヤ内のコーディングされたサブピクチャは、異なる空間解像度を有し得る。元のサブピクチャは、空間的に再サンプリング(アップサンプリングまたはダウンサンプリング)され、異なる空間解像度パラメータで符号化され、レイヤに対応するビットストリームに含まれ得る。
同じかまたは別の実施形態において、それぞれ、Wがサブピクチャの幅を示し、Hがサブピクチャの高さを示す、(W,H)のサブピクチャは、符号化され、レイヤ0に対応するコーディングされたビットストリームに含まれ得、(W*Sw,k,H*Sh,k)の、元の空間解像度を有するサブピクチャからアップサンプリング(またはダウンサンプリング)されたサブピクチャは、符号化され、レイヤkに対応するコーディングされたビットストリームに含まれ得、Sw,k、Sh,kは、水平方向と垂直方向との再サンプリング比を示す。Sw,k、Sh,kの値が1より大きい場合、再サンプリングはアップサンプリングに等しい。一方、Sw,k、Sh,kの値が1より小さい場合、再サンプリングはダウンサンプリングに等しい。
同じかまたは別の実施形態において、レイヤ内のコーディングされたサブピクチャは、同じサブピクチャまたは異なるサブピクチャ内の別のレイヤ内のコーディングされたサブピクチャの視覚品質とは異なる視覚品質を有し得る。例えば、レイヤn内のサブピクチャiは量子化パラメータQi,nで符号化され、レイヤm内のサブピクチャjは量子化パラメータQj,mで符号化される。
同じかまたは別の実施形態において、レイヤ内のコーディングされたサブピクチャは、同じ局所領域の別のレイヤ内のコーディングされたサブピクチャからのパース依存性または復号依存性なしに、独立して復号可能であり得る。同じ局所領域の別のサブピクチャレイヤを参照することなく独立して復号可能であり得るサブピクチャレイヤは、独立したサブピクチャレイヤである。独立したサブピクチャレイヤ内のコーディングされたサブピクチャは、同じサブピクチャレイヤ内の以前に符号化されたサブピクチャからの復号依存性またはパース依存性を有しする場合もあり、有しない場合もあるが、コーディングされたサブピクチャは、別のサブピクチャレイヤ内のコーディングされたピクチャからのいかなる依存性も有し得ない。
同じかまたは別の実施形態において、レイヤ内のコーディングされたサブピクチャは、同じ局所領域の別のレイヤ内のコーディングされたサブピクチャからのパース依存性または復号依存性ありで、依存して復号可能であり得る。同じ局所領域の別のサブピクチャレイヤを参照して依存して復号可能であり得るサブピクチャレイヤは、依存したサブピクチャレイヤである。依存したサブピクチャ内のコーディングされたサブピクチャは、同じサブピクチャに属するコーディングされたサブピクチャ、同じサブピクチャレイヤ内の以前に符号化されたサブピクチャ、または両方の参照サブピクチャを参照し得る。
同じかまたは別の実施形態において、コーディングされたサブピクチャは、1つまたは複数の独立したサブピクチャレイヤおよび1つまたは複数の依存したサブピクチャレイヤからなる。しかしながら、コーディングされたサブピクチャに対して少なくとも1つの独立したサブピクチャレイヤが存在し得る。独立したサブピクチャレイヤは、0に等しい、NALユニットヘッダまたは別の高レベル構文構造に存在し得るレイヤ識別子(layer_id)の値を有し得る。0に等しいlayer_idを有するサブピクチャレイヤはベースサブピクチャレイヤである。
同じかまたは別の実施形態において、ピクチャは、1つまたは複数の前景サブピクチャおよび1つの背景サブピクチャからなり得る。背景サブピクチャによってサポートされる領域は、ピクチャの領域に等しくなり得る。前景サブピクチャによってサポートされる領域は、背景サブピクチャによってサポートされる領域とオーバーラップし得る。背景サブピクチャはベースサブピクチャレイヤであり得、前景サブピクチャは非ベース(エンハンスメント)サブピクチャレイヤであり得る。1つまたは複数の非ベースサブピクチャレイヤは、復号のために同じベースレイヤを参照し得る。aに等しいlayer_idを有する各非ベースサブピクチャレイヤは、bに等しいlayer_idを有する非ベースサブピクチャレイヤを参照し得、aはbよりも大きい。
同じかまたは別の実施形態において、ピクチャは、背景サブピクチャありまたはなしの1つまたは複数の前景サブピクチャからなり得る。各サブピクチャは、それ自体のベースサブピクチャレイヤおよび1つまたは複数の非ベース(エンハンスメント)レイヤを有し得る。各ベースサブピクチャレイヤは、1つまたは複数の非ベースサブピクチャレイヤによって参照され得る。aに等しいlayer_idを有する各非ベースサブピクチャレイヤは、bに等しいlayer_idを有する非ベースサブピクチャレイヤを参照し得、aはbよりも大きい。
同じかまたは別の実施形態において、ピクチャは、背景サブピクチャありまたはなしの1つまたは複数の前景サブピクチャからなり得る。(ベースまたは非ベース)サブピクチャレイヤ内の各コーディングされたサブピクチャは、同じサブピクチャに属する1つまたは複数の非ベースレイヤサブピクチャと、同じサブピクチャに属さない1つまたは複数の非ベースレイヤサブピクチャとによって参照され得る。
同じかまたは別の実施形態において、ピクチャは、背景サブピクチャありまたはなしの1つまたは複数の前景サブピクチャからなり得る。レイヤa内のサブピクチャは、同じレイヤ内の複数のサブピクチャにさらに分割され得る。レイヤb内の1つまたは複数のコーディングされたサブピクチャは、レイヤa内の分割されたサブピクチャを参照し得る。
同じかまたは別の実施形態において、符号化ビデオシーケンス(CVS)は、コーディングされたピクチャのグループであり得る。CVSは、1つまたは複数のコーディングされたサブピクチャシーケンス(CSPS)からなり得、CSPSは、ピクチャの同じ局所領域をカバーするコーディングされたサブピクチャのグループであり得る。CSPSは、符号化ビデオシーケンスの時間解像度と同じかまたは異なる時間解像度を有し得る。
同じかまたは別の実施形態において、CSPSは符号化され、1つまたは複数のレイヤに含まれ得る。CSPSは、1つまたは複数のCSPSレイヤからなり得る。CSPSに対応する1つまたは複数のCSPSレイヤを復号することにより、同じ局所領域に対応するサブピクチャのシーケンスが再構成され得る。
同じかまたは別の実施形態において、CSPSに対応するCSPSレイヤの数は、別のCSPSに対応するCSPSレイヤの数と同一であるか、または異なり得る。
同じかまたは別の実施形態において、CSPSレイヤは、別のCSPSレイヤとは異なる時間解像度(例えば、フレームレート)を有し得る。元の(非圧縮)サブピクチャシーケンスは、時間的に再サンプリングされ(アップサンプリングまたはダウンサンプリングされ)、異なる時間解像度パラメータで符号化され、レイヤに対応するビットストリームに含まれ得る。
同じかまたは別の実施形態において、フレームレートFを有するサブピクチャシーケンスが、符号化され、レイヤ0に対応するコーディングされたビットストリームに含まれ得、F*St,kで、元のサブピクチャシーケンスからの時間的にアップサンプリングされた(またはダウンサンプリングされた)サブピクチャシーケンスは、符号化され、レイヤkに対応するコーディングされたビットストリームに含まれ得、St,kは、レイヤkの時間サンプリング比を示す。St,kの値が1より大きい場合、時間再サンプリングプロセスはフレームレートのアップコンバージョンに等しい。一方、St,kの値が1より小さい場合、時間再サンプリングプロセスはフレームレートのダウンコンバージョンに等しい。
同じかまたは別の実施形態において、CSPSレイヤaを有するサブピクチャが動き補償または任意のレイヤ間予測のためにCSPSレイヤbを有するサブピクチャによって参照されるとき、CSPSレイヤaの空間解像度がCSPSレイヤbの空間解像度と異なる場合、CSPSレイヤa内の復号画素が再サンプリングされ、参照に使用される。再サンプリングプロセスは、アップサンプリングフィルタリングまたはダウンサンプリングフィルタリングを必要とし得る。
図9に、符号化ビデオシーケンス内のすべてのピクチャ/スライスに使用されるpoc_cycle_auを示す、VPS(またはSPS)内のvps_poc_cycle_auの構文要素、およびスライスヘッダ内の現在のスライスのpoc_cycle_auを示す、slice_poc_cycle_auの構文要素をシグナリングするための構文テーブルの一例を示す。POC値がAUごとに均一に増加する場合、VPS内のvps_contant_poc_cycle_per_auは1に等しく設定され、vps_poc_cycle_auがVPSにおいてシグナリングされる。この場合、slice_poc_cycle_auは明示的にシグナリングされず、AUごとのAUCの値が、POCの値をvps_poc_cycle_auで除算することによって計算される。POC値がAUごとに均一に増加しない場合、VPS内のvps_contant_poc_cycle_per_auは0に等しく設定される。この場合、vps_access_unit_cntはシグナリングされないが、slice_access_unit_cntは、スライスまたはピクチャごとにスライスヘッダでシグナリングされる。各スライスまたはピクチャは、異なる値のslice_access_unit_cntを有し得る。AUごとのAUCの値は、POCの値をslice_poc_cycle_auで除算することによって計算される。図10に、関連する作業フローを例示するブロック図を示す。
同じまたは他の実施形態において、ピクチャ、スライス、またはタイルのPOCの値が異なり得るとしても、同じAUC値を有するAUに対応するピクチャ、スライス、またはタイルは、同じ復号または出力時間インスタンスと関連付けられ得る。よって、同じAU内のピクチャ、スライス、またはタイルにわたるパース間/復号間の依存性なしに、同じAUと関連付けられたピクチャ、スライス、またはタイルの全部または一部が並列に復号され得、同じ時間インスタンスで出力され得る。
同じまたは他の実施形態において、ピクチャ、スライス、またはタイルのPOCの値が異なり得るとしても、同じAUC値を有するAUに対応するピクチャ、スライス、またはタイルは、同じ合成/表示時間インスタンスと関連付けられ得る。合成時間がコンテナフォーマットに含まれる場合、ピクチャが異なるAUに対応していても、ピクチャが同じ合成時間を有する場合、それらのピクチャを同じ時間インスタンスで表示することができる。
同じまたは他の実施形態において、各ピクチャ、スライス、またはタイルは、同じAU内の同じ時間識別子(temporal_id)を有し得る。時間インスタンスに対応するピクチャ、スライス、またはタイルの全部または一部が、同じ時間サブレイヤと関連付けられ得る。同じまたは他の実施形態において、各ピクチャ、スライス、またはタイルは、同じAU内の同じかまたは異なる空間レイヤID(layer_id)を有し得る。時間インスタンスに対応するピクチャ、スライス、またはタイルの全部または一部が、同じかまたは異なる空間レイヤと関連付けられ得る。
図11に、0に等しいlayer_idを有する背景ビデオCSPSおよび複数の前景CSPSレイヤを含む例示的なビデオストリームを示す。コーディングされたサブピクチャは1つまたは複数のCSPSレイヤからなり得るが、いかなる前景CSPSレイヤにも属さない背景領域はベースレイヤからなり得る。ベースレイヤは背景領域および前景領域を含み得るが、エンハンスメントCSPSレイヤは前景領域を含む。エンハンスメントCSPSレイヤは、同じ領域において、ベースレイヤよりも良好な視覚品質を有し得る。エンハンスメントCSPSレイヤは、同じ領域に対応する、再構成画素およびベースレイヤの動きベクトルを参照し得る。
同じかまたは別の実施形態において、ベースレイヤに対応するビデオビットストリームはトラックに含まれ、各サブピクチャに対応するCSPSレイヤはビデオファイル内の分離されたトラックに含まれる。
同じかまたは別の実施形態において、ベースレイヤに対応するビデオビットストリームはトラックに含まれ、同じlayer_idを有するCSPSレイヤは分離されたトラックに含まれる。この例では、レイヤkに対応するトラックは、レイヤkに対応するCSPSレイヤのみを含む。
同じかまたは別の実施形態において、各サブピクチャの各CSPSレイヤは、別個のトラックに格納される。各トラック(trach)は、1つまたは複数の他のトラックからのパース依存性または復号依存性を有する場合もあり、有しない場合もある。
同じかまたは別の実施形態において、各トラックは、サブピクチャの全部または一部のCSPSレイヤのレイヤiからレイヤjに対応するビットストリームを含み得、0<i≦j≦kであり、kはCSPSの最上位レイヤである。
同じかまたは別の実施形態において、ピクチャは、深度マップ、アルファマップ、3D形状データ、占有マップなどを含む1つまたは複数の関連付けられたメディアデータからなる。そのような関連付けられた時限メディアデータを、各々が1つのサブピクチャに対応する1つまたは複数のデータサブストリームに分割することができる。
同じかまたは別の実施形態において、図12に、マルチレイヤサブピクチャ方法に基づくビデオ会議の一例を示す。ビデオストリームには、背景ピクチャに対応する1つのベースレイヤビデオビットストリームと、前景サブピクチャに対応する1つまたは複数のエンハンスメントレイヤビデオビットストリームとが含まれる。各エンハンスメントレイヤビデオビットストリームは、CSPSレイヤに対応する。ディスプレイでは、ベースレイヤに対応するピクチャがデフォルトで表示される。これは、1人または複数のユーザのピクチャ・イン・ピクチャ(PIP)を含む。クライアントの制御によってあるユーザが選択されると、選択されたユーザに対応するエンハンスメントCSPSレイヤが復号され、強化された品質または空間解像度で表示される。図13に、動作のための図を示す。
同じかまたは別の実施形態において、ネットワークのミドルボックス(ルータなど)は、その帯域幅に応じて、ユーザに送信すべきレイヤの一部を選択し得る。ピクチャ/サブピクチャ編成は、帯域幅適応のために使用され得る。例えば、ユーザにその帯域幅がない場合、ルータは、それらの重要性により、または使用されるセットアップに基づいて、レイヤを取り去るかまたはいくつかのサブピクチャを選択し、これを、帯域幅に採用するために動的に行うことができる。
図14に、360度ビデオの使用事例を示す。球状360度ピクチャが平面ピクチャ上に投影される場合、投影360度ピクチャは、ベースレイヤとして複数のサブピクチャに分割され得る。特定のサブピクチャのエンハンスメントレイヤが符号化され、クライアントに送信され得る。デコーダは、すべてのサブピクチャを含むベースレイヤと選択されたサブピクチャのエンハンスメントレイヤの両方を復号することができる。現在のビューポートが選択されたサブピクチャと同一である場合、表示されるピクチャは、エンハンスメントレイヤを有する復号サブピクチャでのより高い品質を有し得る。そうでない場合、ベースレイヤを有する復号されたピクチャを低品質で表示することができる。
同じかまたは別の実施形態において、表示用の任意のレイアウト情報が補足情報(SEIメッセージやメタデータなど)としてファイルに存在し得る。1つまたは複数の復号サブピクチャは、シグナリングされたレイアウト情報に応じて再配置および表示され得る。レイアウト情報は、ストリーミングサーバもしくは放送局によってシグナリングされ得るか、またはネットワークエンティティもしくはクラウドサーバによって再生成され得るか、またはユーザのカスタマイズされた設定によって決定され得る。
一実施形態では、入力ピクチャが1つまたは複数の(矩形の)サブ領域に分割される場合、各サブ領域は独立したレイヤとして符号化され得る。局所領域に対応する独立した各レイヤは、固有のlayer_id値を有し得る。独立したレイヤごとに、サブピクチャサイズおよび位置情報がシグナリングされ得る。例えば、ピクチャサイズ(幅、高さ)、左上隅のオフセット情報(x_offset,y_offset)である。図15に、分割されたサブピクチャのレイアウト、そのサブピクチャサイズおよび位置情報、ならびにその対応するピクチャ予測構造の一例を示す。(1つまたは複数の)サブピクチャサイズおよび(1つまたは複数の)サブピクチャ位置を含むレイアウト情報は、(1つまたは複数の)パラメータセット、スライスもしくはタイルグループのヘッダ、またはSEIメッセージなどの高レベル構文構造でシグナリングされ得る。
同じ実施形態において、独立したレイヤに対応する各サブピクチャは、AU内でその固有のPOC値を有し得る。DPBに格納されたピクチャのうちの参照ピクチャが、RPSまたはRPL構造内の(1つまたは複数の)構文要素を使用して示される場合、レイヤに対応する各サブピクチャの(1つまたは複数の)POC値が使用され得る。
同じかまたは別の実施形態において、(レイヤ間)予測構造を示すためにlayer_idが使用されない場合もあり、POC(デルタ)値が使用され得る。
同じ実施形態において、レイヤ(または局所領域)に対応するNに等しいPOC値を有するサブピクチャは、動き補償予測のための同じレイヤ(または同じ局所領域)に対応する、N+Kに等しいPOC値を有するサブピクチャの参照ピクチャとして使用される場合もあり、使用されない場合もある。ほとんどの場合、数Kの値は、(独立した)レイヤの最大数に等しくてもよく、これはサブ領域の数と同一であってもよい。
同じかまたは別の実施形態において、図16に、図15の拡張されたケースを示す。入力ピクチャが複数の(例えば4つの)サブ領域に分割される場合、各局所領域は1つまたは複数のレイヤで符号化され得る。この場合、独立したレイヤの数はサブ領域の数に等しくてもよく、1つまたは複数のレイヤがサブ領域に対応し得る。よって、各サブ領域は、1つまたは複数の独立したレイヤおよび0以上の従属レイヤを用いて符号化され得る。
同じ実施形態において、図16では、入力ピクチャは4つのサブ領域に分割され得る。右上サブ領域は、レイヤ1およびレイヤ4である2つのレイヤとして符号化され得、右下サブ領域は、レイヤ3およびレイヤ5である2つのレイヤとして符号化され得る。この場合、レイヤ4は、動き補償予測のためにレイヤ1を参照し得、レイヤ5は、動き補償のためにレイヤ3を参照し得る。
同じかまたは別の実施形態において、レイヤ境界を横切るループ内フィルタリング(デブロッキングフィルタリング、適応ループ内フィルタリング、リシェイパ、バイラテラルフィルタ、または任意の深層学習ベースのフィルタリングなど)は、(任意選択的に)無効とされ得る。
同じかまたは別の実施形態において、レイヤ境界を横切る動き補償予測またはブロック内コピーは、(任意選択的に)無効とされ得る。
同じかまたは別の実施形態において、サブピクチャの境界における動き補償予測またはループ内フィルタリングのための境界パディングは、任意選択的に処理され得る。境界パディングが処理されるか否かを示すフラグは、(1つもしくは複数の)パラメータセット(VPS、SPS、PPS、もしくはAPS)、スライスもしくはタイルグループヘッダ、またはSEIメッセージなどの高レベル構文構造でシグナリングされ得る。
同じかまたは別の実施形態において、(1つもしくは複数の)サブ領域(または(1つもしくは複数の)サブピクチャ)のレイアウト情報は、VPSまたはSPSでシグナリングされ得る。図17に、VPSおよびSPSの構文要素の一例を示す。この例では、vps_sub_picture_dividing_flagはVPSでシグナリングされる。このフラグは、(1つまたは複数の)入力ピクチャが複数のサブ領域に分割されるか否かを示し得る。vps_sub_picture_dividing_flagの値が0に等しいとき、現在のVPSに対応する(1つまたは複数の)符号化ビデオシーケンス内の(1つまたは複数の)入力ピクチャは、複数のサブ領域に分割されない場合がある。この場合、入力ピクチャサイズは、SPSにおいてシグナリングされる、コーディングされたピクチャサイズ(pic_width_in_luma_samples,pic_height_in_luma_samples)に等しくなり得る。vps_sub_picture_dividing_flagの値が1に等しいとき、(1つまたは複数の)入力ピクチャは複数のサブ領域に分割され得る。この場合、構文要素vps_full_pic_width_in_luma_samplesおよびvps_full_pic_height_in_luma_samplesは、VPSでシグナリングされる。vps_full_pic_width_in_luma_samplesおよびvps_full_pic_height_in_luma_samplesの値は、それぞれ、(1つまたは複数の)入力ピクチャの幅および高さに等しくなり得る。
同じ実施形態において、vps_full_pic_width_in_luma_samplesおよびvps_full_pic_height_in_luma_samplesの値は、復号に使用されず、合成および表示に使用されてもよい。
同じ実施形態において、vps_sub_picture_dividing_flagの値が1に等しいとき、構文要素pic_offset_xおよびpic_offset_yは、(a)(1つまたは複数の)特定のレイヤに対応するSPSにおいてシグナリングされ得る。この場合、SPSでシグナリングされるコーディングされたピクチャサイズ(pic_width_in_luma_samples,pic_height_in_luma_samples)は、特定のレイヤに対応するサブ領域の幅および高さに等しくなり得る。また、サブ領域の左上隅の位置(pic_offset_x,pic_offset_y)は、SPSでシグナリングされ得る。
同じ実施形態において、サブ領域の左上隅の位置情報(pic_offset_x,pic_offset_y)は、復号に使用されず、合成および表示に使用されてもよい。
同じかまたは別の実施形態において、(1つまたは複数の)入力ピクチャの全部または一部の(1つまたは複数の)サブ領域のレイアウト情報(サイズおよび位置)、(1つまたは複数の)レイヤ間の依存関係情報は、パラメータセットまたはSEIメッセージでシグナリングされ得る。図18に、サブ領域のレイアウト、レイヤ間の依存関係、およびサブ領域と1つまたは複数のレイヤとの間の関係の情報を示す構文要素の一例を示す。この例では、構文要素num_sub_regionは、現在の符号化ビデオシーケンス内の(矩形の)サブ領域の数を示す。構文要素num_layersは、現在の符号化ビデオシーケンス内のレイヤ数を示す。num_layersの値は、num_sub_regionの値以上であり得る。任意のサブ領域が単一のレイヤとして符号化される場合、num_layersの値は、num_sub_regionの値に等しくなり得る。1つまたは複数のサブ領域が複数のレイヤとして符号化される場合、num_layersの値は、num_sub_regionの値よりも大きくなり得る。構文要素direct_dependency_flag[i][j]は、第jレイヤから第iレイヤへの依存関係を示す。num_layers_for_region[i]は、第iサブ領域と関連付けられたレイヤ数を示す。sub_region_layer_id[i][j]は、第iサブ領域と関連付けられた第jレイヤのlayer_idを示す。The sub_region_offset_x[i]およびsub_region_offset_y[i]は、それぞれ、第iサブ領域の左上隅の水平位置および垂直位置を示す。sub_region_width [i]およびsub_region_height[i]は、それぞれ、第iサブ領域の幅および高さを示す。
一実施形態では、プロファイルティアレベル情報ありまたはなしで出力されるべき複数のレイヤのうちの1つを示すために出力レイヤセットを指定する1つまたは複数の構文要素は、高レベル構文構造、例えば、VPS、DPS、SPS、PPS、APSまたはSEIメッセージでシグナリングされ得る。図19を参照すると、VPSを参照する符号化ビデオシーケンス内の出力レイヤセット(OLS)の数を示す構文要素num_output_layer_setsは、VPSでシグナリングされ得る。出力レイヤセットごとに、output_layer_flagが出力レイヤの数と同じ数だけシグナリングされ得る。
同じ実施形態において、1に等しいoutput_layer_flag[i]は、第iレイヤが出力されることを指定する。0に等しいvps_output_layer_flag[i]は、第iレイヤが出力されないことを指定する。
同じかまたは別の実施形態において、出力レイヤセットごとのプロファイルティアレベル情報を指定する1つまたは複数の構文要素は、高レベル構文構造、例えば、VPS、DPS、SPS、PPS、APSまたはSEIメッセージでシグナリングされ得る。図19をさらに参照すると、VPSを参照する符号化ビデオシーケンス内のOLSごとのプロファイルティアレベル情報の数を示す構文要素num_profile_tile_levelは、VPSでシグナリングされ得る。出力レイヤセットごとに、プロファイルティアレベル情報の構文要素のセット、またはプロファイルティアレベル情報内のエントリのうちの特定のプロファイルティアレベル情報を示すインデックスが、出力レイヤの数と同じ数だけシグナリングされ得る。
同じ実施形態において、profile_tier_level_idx[i][j]は、第i OLSの第jレイヤに適用されるprofile_tier_level()構文構造の、VPS内のprofile_tier_level()構文構造のリストへのインデックスを指定する。
同じかまたは別の実施形態において、図20を参照すると、最大レイヤ数が1より大きい(vps_max_layers_minus1>0)場合に、構文要素num_profile_tile_levelおよび/またはnum_output_layer_setsがシグナリングされ得る。
同じかまたは別の実施形態において、図20を参照すると、第i出力レイヤセットについての出力レイヤシグナリングのモードを示す構文要素vps_output_layers_mode[i]がVPS内に存在し得る。
同じ実施形態において、0に等しいvps_output_layers_mode[i]は、第i出力レイヤセットで最上位レイヤのみが出力されることを指定する。1に等しいvps_output_layer_mode[i]は、第i出力レイヤセットですべてのレイヤが出力されることを指定する。2に等しいvps_output_layer_mode[i]は、出力されるレイヤが、第i出力レイヤセットでvps_output_layer_flag[i][j]が1に等しいレイヤであることを指定する。より多くの値が予約されてもよい。
同じ実施形態において、output_layer_flag[i][j]は、第i出力レイヤセットのvps_output_layers_mode[i]の値に応じて、シグナリングされる場合もあり、シグナリングされない場合もある。
同じかまたは別の実施形態において、図20を参照すると、フラグvps_ptl_signal_flag[i]が第i出力レイヤセットについて存在し得る。vps_ptl_signal_flag[i]の値に応じて、第i出力レイヤセットのプロファイルティアレベル情報は、シグナリングされる場合もあり、シグナリングされない場合もある。
同じかまたは別の実施形態において、図21を参照すると、現在のCVS内のサブピクチャの数max_subpics_minus1は、高レベル構文構造、例えば、VPS、DPS、SPS、PPS、APSまたはSEIメッセージでシグナリングされ得る。
同じ実施形態において、図21を参照すると、サブピクチャの数が1より大きい場合(max_subpics_minus1>0)、第iサブピクチャのサブピクチャ識別子sub_pic_id[i]がシグナリングされ得る。
同じかまたは別の実施形態において、各出力レイヤセットの各レイヤに属するサブピクチャ識別子を示す1つまたは複数の構文要素は、VPSでシグナリングされ得る。図22を参照すると、sub_pic_id_layer[i][j][k]は、第i出力レイヤセットの第jレイヤに存在する第kサブピクチャを示す。これらの情報を用いて、デコーダは、特定の出力レイヤセットのレイヤごとにどのサブピクチャが復号および出力され得るかを認識し得る。
一実施形態では、ピクチャヘッダ(PH)は、コーディングされたピクチャのすべてのスライスに適用される構文要素を含む構文構造である。ピクチャユニット(PU)は、指定された分類規則に従って互いに関連付けられ、復号順で連続し、正確に1つのコーディングされたピクチャを含むNALユニットのセットである。PUは、ピクチャヘッダ(PH)と、コーディングされたピクチャを構成する1つまたは複数のVCL NALユニットとを含み得る。
一実施形態では、SPS(RBSP)は、参照される前に復号プロセスに利用可能であり得、0に等しいTemporalIdを有する少なくとも1つのAUに含まれ得るか、または外部手段を介して提供され得る。
一実施形態では、SPS(RBSP)は、参照される前に復号プロセスに利用可能であり得、SPSを参照する1つもしくは複数のPPSを含む、CVS内の0に等しいTemporalIdを有する少なくとも1つのAUに含まれ得るか、または外部手段を介して提供され得る。
一実施形態では、SPS(RBSP)は、1つもしくは複数のPPSによって参照される前に復号プロセスに利用可能であり得、SPSを参照する1つもしくは複数のPPSを含む、CVS内のSPS NALユニットを参照するPPS NALユニットの最低のnuh_layer_id値に等しいnuh_layer_idを有する少なくとも1つのPUに含まれ得るか、または外部手段を介して提供され得る。
一実施形態では、SPS(RBSP)は、1つもしくは複数のPPSによって参照される前に復号プロセスに利用可能であり得、0に等しいTemporalIdと、SPS NALユニットを参照するPPS NALユニットの最低のnuh_layer_id値に等しいnuh_layer_idとを有する少なくとも1つのPUに含まれ得るか、または外部手段を介して提供され得る。
一実施形態では、SPS(RBSP)は、1つもしくは複数のPPSによって参照される前に復号プロセスに利用可能であり得、0に等しいTemporalIdと、SPSを参照する1つもしくは複数のPPSを含む、CVS内のSPS NALユニットを参照するPPS NALユニットの最低のnuh_layer_id値に等しいnuh_layer_idとを有する少なくとも1つのPUに含まれ得るか、または外部手段を介して提供され得るかまたは外部手段を介して提供され得る。
同じかまたは別の実施形態において、pps_seq_parameter_set_idは、参照されるSPSのsps_seq_parameter_set_idの値を指定する。pps_seq_parameter_set_idの値は、CLVS内のコーディングされたピクチャによって参照されるすべてのPPSにおいて同じであり得る。
同じかまたは別の実施形態において、CVS内のsps_seq_parameter_set_idの特定の値を有するすべてのSPS NALユニットは同じ内容を有し得る。
同じかまたは別の実施形態において、nuh_layer_id値に関係なく、SPS NALユニットは、sps_seq_parameter_set_idの同じ値空間を共有し得る。
同じかまたは別の実施形態において、SPS NALユニットのnuh_layer_id値は、SPS NALユニットを参照するPPS NALユニットの最低のnuh_layer_id値に等しくなり得る。
一実施形態では、mに等しいnuh_layer_idを有するSPSが、nに等しいnuh_layer_idを有する1つまたは複数のPPSによって参照される場合、mに等しいnuh_layer_idを有するレイヤは、nに等しいnuh_layer_idを有するレイヤまたはmに等しいnuh_layer_idを有するレイヤの(直接的または間接的な)参照レイヤと同じであり得る。
一実施形態では、PPS(RBSP)は、参照される前に復号プロセスに利用可能であり、PPS NALユニットのTemporalIdに等しいTemporalIdを有する少なくとも1つのAUに含まれるか、または外部手段を介して提供されるものとする。
一実施形態では、PPS(RBSP)は、参照される前に復号プロセスに利用可能であり得、PPSを参照する1つもしくは複数のPH(もしくは符号化スライスNALユニット)を含む、CVS内のPPS NALユニットのTemporalIdに等しいTemporalIdを有する少なくとも1つのAUに含まれ得るか、または外部手段を介して提供され得る。
一実施形態では、PPS(RBSP)は、1つもしくは複数のPH(もしくは符号化スライスNALユニット)によって参照される前に復号プロセスに利用可能であり得、PPSを参照する1つもしくは複数のPH(もしくは符号化スライスNALユニット)を含む、CVS内のPPS NALユニットを参照する符号化スライスNALユニットの最低のnuh_layer_id値に等しいnuh_layer_idを有する少なくとも1つのPUに含まれ得るか、または外部手段を介して提供され得る。
一実施形態では、PPS(RBSP)は、1つもしくは複数のPH(もしくは符号化スライスNALユニット)によって参照される前に復号プロセスに利用可能であり得、PPS NALユニットのTemporalIdに等しいTemporalIdと、PPSを参照する1つもしくは複数のPH(もしくは符号化スライスNALユニット)を含む、CVS内のPPS NALユニットを参照する符号化スライスNALユニットの最低のnuh_layer_id値に等しいnuh_layer_idとを有する少なくとも1つのPUに含まれ得るか、または外部手段を介して提供され得る。
同じかまたは別の実施形態において、PH内のph_pic_parameter_set_idは、参照される使用中のPPSのpps_pic_parameter_set_idの値を指定する。pps_seq_parameter_set_idの値は、CLVS内のコーディングされたピクチャによって参照されるすべてのPPSにおいて同じであり得る。
同じかまたは別の実施形態において、PU内のpps_pic_parameter_set_idの特定の値を有するすべてのPPS NALユニットは同じコンテンツを有するものとする。
同じかまたは別の実施形態において、nuh_layer_id値に関係なく、PPS NALユニットは、pps_pic_parameter_set_idの同じ値空間を共有し得る。
同じかまたは別の実施形態において、PPS NALユニットのnuh_layer_id値は、PPS NALユニットを参照するNALユニットを参照する符号化スライスNALユニットの最低のnuh_layer_id値に等しくなり得る。
一実施形態では、mに等しいnuh_layer_idを有するPPSが、nに等しいnuh_layer_idを有する1つまたは複数の符号化スライスNALユニットによって参照される場合、mに等しいnuh_layer_idを有するレイヤは、nに等しいnuh_layer_idを有するレイヤまたはmに等しいnuh_layer_idを有するレイヤの(直接的または間接的な)参照レイヤと同じであり得る。
一実施形態では、PPS(RBSP)は、参照される前に復号プロセスに利用可能であり、PPS NALユニットのTemporalIdに等しいTemporalIdを有する少なくとも1つのAUに含まれるか、または外部手段を介して提供されるものとする。
一実施形態では、PPS(RBSP)は、参照される前に復号プロセスに利用可能であり得、PPSを参照する1つもしくは複数のPH(もしくは符号化スライスNALユニット)を含む、CVS内のPPS NALユニットのTemporalIdに等しいTemporalIdを有する少なくとも1つのAUに含まれ得るか、または外部手段を介して提供され得る。
一実施形態では、PPS(RBSP)は、1つもしくは複数のPH(もしくは符号化スライスNALユニット)によって参照される前に復号プロセスに利用可能であり得、PPSを参照する1つもしくは複数のPH(もしくは符号化スライスNALユニット)を含む、CVS内のPPS NALユニットを参照する符号化スライスNALユニットの最低のnuh_layer_id値に等しいnuh_layer_idを有する少なくとも1つのPUに含まれ得るか、または外部手段を介して提供され得る。
一実施形態では、PPS(RBSP)は、1つもしくは複数のPH(もしくは符号化スライスNALユニット)によって参照される前に復号プロセスに利用可能であり得、PPS NALユニットのTemporalIdに等しいTemporalIdと、PPSを参照する1つもしくは複数のPH(もしくは符号化スライスNALユニット)を含む、CVS内のPPS NALユニットを参照する符号化スライスNALユニットの最低のnuh_layer_id値に等しいnuh_layer_idとを有する少なくとも1つのPUに含まれ得るか、または外部手段を介して提供され得る。
同じかまたは別の実施形態において、PH内のph_pic_parameter_set_idは、参照される使用中のPPSのpps_pic_parameter_set_idの値を指定する。pps_seq_parameter_set_idの値は、CLVS内のコーディングされたピクチャによって参照されるすべてのPPSにおいて同じであり得る。
同じかまたは別の実施形態において、PU内のpps_pic_parameter_set_idの特定の値を有するすべてのPPS NALユニットは同じコンテンツを有するものとする。
同じかまたは別の実施形態において、nuh_layer_id値に関係なく、PPS NALユニットは、pps_pic_parameter_set_idの同じ値空間を共有し得る。
同じかまたは別の実施形態において、PPS NALユニットのnuh_layer_id値は、PPS NALユニットを参照するNALユニットを参照する符号化スライスNALユニットの最低のnuh_layer_id値に等しくなり得る。
一実施形態では、mに等しいnuh_layer_idを有するPPSが、nに等しいnuh_layer_idを有する1つまたは複数の符号化スライスNALユニットによって参照される場合、mに等しいnuh_layer_idを有するレイヤは、nに等しいnuh_layer_idを有するレイヤまたはmに等しいnuh_layer_idを有するレイヤの(直接的または間接的な)参照レイヤと同じであり得る。
一実施形態では、フラグno_temporal_sublayer_switching_flagがDPS、VPS、またはSPSでシグナリングされる場合、1に等しいフラグを含むパラメータセットを参照するPPSのTemporalId値は0に等しくなり得、他方、1に等しいフラグを含むパラメータセットを参照するPPSのTemporalId値は、パラメータセットのTemporalId値以上であり得る。
一実施形態では、各PPS(RBSP)は、参照される前に復号プロセスに利用可能であり得、各PPS(RBSP)を参照する符号化スライスNALユニット(もしくはPH NALユニット)のTemporalId以下のTemporalIdを有する少なくとも1つのAUに含まれ得るか、または外部手段を介して提供され得る。PPS NALユニットが、PPSを参照する符号化スライスNALユニットを含むAUよりも前のAUに含まれる場合、VCL NALユニット内のピクチャが段階的時間的サブレイヤアクセス(STSA)ピクチャであり得ることを示す、時間的上位レイヤ切り替えを可能にするVCL NALユニットまたはSTSA_NUTに等しいnal_unit_typeを有するVCL NALユニットが、PPS NALユニットの後およびAPSを参照する符号化スライスNALユニットの前に存在しない可能性がある。
同じかまたは別の実施形態において、PPS NALユニットとPPSを参照する符号化スライスNALユニット(およびそのPH NALユニット)とは、同じAUに含まれ得る。
同じかまたは別の実施形態において、PPS NALユニットとSTSA NALユニットとは、PPSを参照する符号化スライスNALユニット(およびそのPH NALユニット)の前にある同じAUに含まれ得る。
同じかまたは別の実施形態において、STSA NALユニットと、PPS NALユニットと、PPSを参照する符号化スライスNALユニット(およびそのPH NALユニット)とは、同じAU内に存在し得る。
同じ実施形態において、PPSを含むVCL NALユニットのTemporalId値は、前のSTSA NALユニットのTemporalId値に等しくなり得る。
同じ実施形態において、PPS NALユニットのピクチャ順序カウント(POC)値は、STSA NALユニットのPOC値以上であり得る。
同じ実施形態において、PPS NALユニットを参照する、符号化スライスまたはPH NALユニットのピクチャ順序カウント(POC)値は、参照されるPPS NALユニットのPOC値以上であり得る。
一実施形態では、AU内のすべてのVCL NALユニットが同じTemporalId値を有するため、sps_max_sublayers_minus1の値は、符号化ビデオシーケンス内のすべてのレイヤにわたって同じであるものとする。sps_max_sublayers_minus1の値は、CVS内のコーディングされたピクチャによって参照されるすべてのSPSにおいて同じであるものとする。
一実施形態では、レイヤA内の1つまたは複数のコーディングされたピクチャによって参照されるSPSのchroma_format_idc値は、レイヤAがレイヤBの直接参照レイヤである場合、レイヤB内の1つまたは複数のコーディングされたピクチャによって参照されるSPS内のchroma_format_idc値に等しいものとする。これは、任意のコーディングされたピクチャがその参照ピクチャと同じchroma_format_idc値を有するためである。レイヤA内の1つまたは複数のコーディングされたピクチャによって参照されるSPSのchroma_format_idc値は、CVS内の、レイヤAの直接参照レイヤ内の1つまたは複数のコーディングされたピクチャによって参照されるSPS内のchroma_format_idc値に等しいものとする。
一実施形態では、レイヤA内の1つまたは複数のコーディングされたピクチャによって参照されるSPSのsubpics_present_flag値およびsps_subpic_id_present_flag値は、レイヤAがレイヤBの直接参照レイヤである場合、レイヤB内の1つまたは複数のコーディングされたピクチャによって参照されるSPS内のsubpics_present_flag値およびsps_subpic_id_present_flag値に等しいものとする。これは、サブピクチャのレイアウトがレイヤを横断して位置合わせまたは関連付けられる必要があるためである。そうでない場合、複数のレイヤを有するサブピクチャは正しく抽出できない可能性がある。レイヤA内の1つまたは複数のコーディングされたピクチャによって参照されるSPSのsubpics_present_flag値およびsps_subpic_id_present_flag値は、CVS内の、レイヤAの直接参照レイヤ内の1つまたは複数のコーディングされたピクチャによって参照されるSPS内のsubpics_present_flag値およびsps_subpic_id_present_flag値に等しいものとする。
一実施形態では、レイヤA内のSTSAピクチャが同じAU内のレイヤAの直接参照レイヤ内のピクチャによって参照される場合、STSAを参照するピクチャはSTSAピクチャであるものとする。そうでない場合、時間サブレイヤの上方切り替えをレイヤ間で同期することができない。レイヤA内のSTSA NALユニットが、同じAU内のレイヤAの直接参照レイヤ内のVCL NALユニットによって参照される場合、STSA NALユニットを参照するVCL NALユニットのnal_unit_type値は、STSA_NUTに等しいものとする。
一実施形態では、レイヤA内のRASLピクチャが同じAU内のレイヤAの直接参照レイヤ内のピクチャによって参照される場合、RASLを参照するピクチャはRASLピクチャであるものとする。そうでない場合、ピクチャを正しく復号することができない。レイヤA内のRASL NALユニットが、同じAU内のレイヤAの直接参照レイヤのVCL NALユニットによって参照される場合、RASL NALユニットを参照するVCL NALユニットのnal_unit_type値は、RASL_NUTと等しいものとする。
本開示ではいくつかの例示的な実施形態を説明しているが、本開示の範囲内に入る変更、置換、および様々な代替の均等物がある。よって、当業者は、本明細書に明示的に図示または記載されていないが、本開示の原理を具体化し、よってその趣旨および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。