IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テンセント・アメリカ・エルエルシーの特許一覧

特許7322178マルチレイヤ化映像ストリームにおけるサブレイヤ番号の指示のための方法、装置、及びコンピュータプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-28
(45)【発行日】2023-08-07
(54)【発明の名称】マルチレイヤ化映像ストリームにおけるサブレイヤ番号の指示のための方法、装置、及びコンピュータプログラム
(51)【国際特許分類】
   H04N 19/31 20140101AFI20230731BHJP
   H04N 19/70 20140101ALI20230731BHJP
【FI】
H04N19/31
H04N19/70
【請求項の数】 10
(21)【出願番号】P 2021563218
(86)(22)【出願日】2020-10-01
(65)【公表番号】
(43)【公表日】2022-06-27
(86)【国際出願番号】 US2020053718
(87)【国際公開番号】W WO2021194550
(87)【国際公開日】2021-09-30
【審査請求日】2021-10-25
(31)【優先権主張番号】63/000,936
(32)【優先日】2020-03-27
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/994,004
(32)【優先日】2020-08-14
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】チョイ,ビョンドゥ
(72)【発明者】
【氏名】リィウ,シャン
(72)【発明者】
【氏名】ウェンジャー,ステファン
【審査官】久保 光宏
(56)【参考文献】
【文献】Benjamin Bross, et al.,"Versatile Video Coding (Draft 8)",Document: JVET-Q2001-v7,JVET-Q2001 (version 7),[online], Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2020年01月20日,Pages 36-42 and 91-106,[令和4年12月2日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=9675> and <URL: https://jvet-experts.org/doc_end_user/documents/17_Brussels/wg11/JVET-Q2001-v7.zip>.
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
CSDB(日本国特許庁)
学術文献等データベース(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサが実行する映像を復号する方法であって、
ビデオパラメータセット(VPS)及びシーケンスパラメータセット(SPS)を参照する符号化映像シーケンスの現在レイヤにおいて許される時間サブレイヤの最大数を特定するステップであり、前記VPSは、前記符号化映像シーケンスのレイヤにおいて許される時間サブレイヤの前記最大数を特定する第1のVPSフィールドを含み、前記SPSは、前記符号化映像シーケンスの前記現在レイヤにおいて許される時間サブレイヤの前記最大数を特定するSPSフィールドを含み、前記VPSは、前記符号化映像シーケンスの全てのレイヤについて時間サブレイヤの数が同じであるかを指し示す第2のVPSフィールドを含み、前記符号化映像シーケンスの全てのレイヤについて時間サブレイヤの数が同じであることが指し示されるとき、前記符号化映像シーケンスの各レイヤについての時間サブレイヤの数が、前記第1のVPSフィールドによって示される時間サブレイヤの前記最大数に等しく、且つ前記SPSフィールドの値が前記第1のVPSフィールドの値に等しい、ステップと、
特定した、前記VPS及び前記SPSを参照する前記符号化映像シーケンスの前記現在レイヤにおいて許される時間サブレイヤの前記最大数に基づいて、前記符号化映像シーケンスを復号するステップと、
を有する方法。
【請求項2】
前記時間サブレイヤは、時間的にスケーラブルなビットストリームの時間スケーラブルレイヤを示す、請求項1に記載の方法。
【請求項3】
前記符号化映像シーケンスにおいて許されるレイヤの最大数を特定するステップと、
特定した、許されるレイヤの前記最大数に基づいて、前記符号化映像シーケンスを復号するステップと、
を更に有する請求項1又は2に記載の方法。
【請求項4】
前記第1及び第2のVPSフィールドは、ビデオパラメータセット(VPS)ローバイトシーケンスペイロード(raw byte sequence payload;RBSP)のフィールドである、請求項1乃至3のいずれか一項に記載の方法。
【請求項5】
前記VPS RBSPは、VPS識別子フィールドと、前記第1及び第2のVPSフィールドとを含む、請求項4に記載の方法。
【請求項6】
前記SPSフィールドは、シーケンスパラメータセット(SPS)ローバイトシーケンスペイロード(RBSP)のフィールドである、請求項1乃至3のいずれか一項に記載の方法。
【請求項7】
前記SPS RBSPは、SPS識別子フィールドと、前記SPSフィールドとを含む、請求項6に記載の方法。
【請求項8】
前記VPSは更にVPS識別子フィールドを含み、前記SPSは更に、参照する前記VPSの前記VPS識別子フィールドの値を示すフィールドを含み、該フィールドの値が0より大きく、且つ前記符号化映像シーケンスの全てのレイヤについて時間サブレイヤの数が同じであることを前記第2のVPSフィールドが指し示す場合、前記SPSフィールドの値が前記第1のVPSフィールドの値に等しい、請求項1乃至3のいずれか一項に記載の方法。
【請求項9】
コンピュータプログラムを格納した1つ以上のメモリと、
1つ以上のプロセッサと、
を有し、
前記コンピュータプログラムは、前記1つ以上のプロセッサに、請求項1乃至のいずれか一項に記載の方法を実行させる、
装置。
【請求項10】
コンピュータに請求項1乃至のいずれか一項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、米国特許商標庁に2020年3月27日に出願された仮出願第63/000,936号に対する米国特許法第119条の下での優先権の利益を主張するものである2020年8月14日に出願された米国特許出願第16/994,004号に対する優先権の利益を主張する。当該先行出願の開示をそれらの全体にてここに援用する。
【0002】
開示に係る事項は、映像符号化及び復号に関し、より具体的には、複数のレイヤを有する符号化映像ストリームにおける出力レイヤ導出に関する。
【背景技術】
【0003】
動き補償を用いるインターピクチャ予測を使用した映像符号化及び復号が数十年前から知られている。圧縮されていないデジタル映像は一連のピクチャを含み、各ピクチャが、例えば、1920×1080のルミナンスサンプル及び関連するクロミナンスサンプルの空間寸法を持つ。一連のピクチャは、固定又は可変のピクチャレート(非公式にはフレームレートとしても知られる)を持つことができ、例えば、毎秒60ピクチャ、すなわち、60Hzのピクチャレートを持ち得る。圧縮されていない映像は、かなりのビットレート要求を持つ。例えば、サンプル当たり8ビットの1080p60 4:2:0映像(60Hzのフレームレートで1920×1080のルミナンスサンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。1時間のこのような映像は、600ギガバイトを超えるストレージ空間を必要とする。
【0004】
映像の符号化及び復号の1つの目的は、圧縮を通じての入力映像信号の冗長性の低減であるとし得る。圧縮は、前述の帯域幅要求又はストレージ空間要求を、場合によって2桁以上の大きさで、低減させる助けとなることができる。可逆圧縮及び不可逆圧縮の双方、並びにこれらの組み合わせを使用することができる。可逆圧縮は、原信号の正確な複製を圧縮された原信号から再構成することができる技術を指す。不可逆圧縮を使用する場合、再構成された信号は、原信号と同じにならないことがあるが、原信号と再構成信号との間の歪みは、再構成信号を意図した用途に有用にするのに十分な小ささである。映像の場合、不可逆圧縮が広く用いられる。許容される歪みの量は用途に依存し、例えば、特定の消費者ストリーミングアプリケーションのユーザは、テレビジョン寄与アプリケーションのユーザよりも高い歪みを許容し得る。達成可能な圧縮比はそれを反映し、より高い許容/我慢できる歪みは、より高い圧縮比をもたらすことができる。
【0005】
ビデオエンコーダ及びデコーダは、例えば、動き補償、変換、量子化、及びエントロピー符号化を含む幾つかの広範なカテゴリからの技術を利用することができ、それらの一部を以下にて紹介する。
【0006】
歴史的に、ビデオエンコーダ及びデコーダは、符号化映像シーケンス(coded video sequence;CVS)、グループ・オブ・ピクチャ(Group of Pictures;GOP)、又は類似のマルチピクチャ時間フレームに対して大抵の場合は規定されて一定のままにされた所与のピクチャサイズで動作する傾向にあった。例えば、MPEG-2では、例えばシーンのアクティブさなどのファクタに依存して水平解像度(及びそれによりピクチャサイズ)を変化させるシステム設計が知られているが、それはIピクチャにおいてのみであり、従って典型的にGOPに対してのみである。CVS内で異なる解像度を使用するための参照ピクチャの再サンプリングは、例えば、ITU-T勧告H.263付属書Pから知られている。しかしながら、そこでは、ピクチャサイズは変わらずに参照ピクチャのみが再サンプリングされ、可能性として、(ダウンサンプリングの場合に)使用されるピクチャキャンバスの部分のみ、又は(アップサンプリングの場合に)キャプチャされるシーンの部分のみになりかねない。また、H.263付属書Qは、上方又は下方に(各次元において)2倍の、個々のマクロブロックの再サンプリングを可能にしている。やはり、ピクチャサイズは同じままである。マクロブロックのサイズは、H.263では固定されており、故に、シグナリングされる必要はない。
【0007】
現代の映像符号化では、予測ピクチャにおけるピクチャサイズの変更が、より主流となった。例えば、VP9は、ピクチャ全体に対して参照ピクチャの再サンプリング及び解像度の変更を可能にする。同様に、VVCに向けて為された特定の提案(例えば、Hendryらの、“On adaptive resolution change (ARC) for VVC”、ジョイントビデオチーム文書JVET-M0135-v1、2019年1月9日から19日を含み、その全体をここに援用する)は、より高い又はより低い、異なる解像度への参照ピクチャ全体の再サンプリングを可能にするものである。その文書では、複数の異なる候補解像度がシーケンスパラメータセット内に符号化され、ピクチャパラメータセット内のピクチャごとの構文要素によって参照されることが提案されている。
【発明の概要】
【0008】
映像ビットストリームにおける適応ピクチャサイズのシグナリングのための技術が開示される。
【0009】
方法は、パラメータセットを参照する符号化映像シーケンスにおいて許される時間サブレイヤの最大数を特定するステップと、特定した、前記パラメータセットを参照する前記符号化映像シーケンスにおいて許される時間サブレイヤの前記最大数に基づいて、前記符号化映像シーケンスを復号するステップと、を含み得る。
【0010】
装置は、プログラムコードを格納するよう構成された少なくとも1つのメモリと、前記プログラムコードを読み取り、前記プログラムコードによって命令されるように動作するよう構成された少なくとも1つのプロセッサと、を含むことができ、前記プログラムコードは、前記プロセッサに、パラメータセットを参照する符号化映像シーケンスにおいて許される時間サブレイヤの最大数を特定させるように構成された特定コードと、前記プロセッサに、特定した、前記パラメータセットを参照する前記符号化映像シーケンスにおいて許される時間サブレイヤの前記最大数に基づいて、前記符号化映像シーケンスを復号させるように構成された復号コードと、を含み得る。
【0011】
非一時的なコンピュータ読み取り可能媒体は、命令を格納することができ、該命令は、装置の1つ以上のプロセッサによって実行されるときに、該1つ以上のプロセッサに、パラメータセットを参照する符号化映像シーケンスにおいて許される時間サブレイヤの最大数を特定させ、且つ特定した、前記パラメータセットを参照する前記符号化映像シーケンスにおいて許される時間サブレイヤの前記最大数に基づいて、前記符号化映像シーケンスを復号させる。
【図面の簡単な説明】
【0012】
開示に係る事項の更なる特徴、性質、及び様々な利点が、以下の詳細な説明及び以下の図を含む添付図面からよりいっそう明らかになる。
図1】一実施形態に従った通信システムの簡略ブロック図の概略図である。
図2】一実施形態に従った通信システムの簡略ブロック図の概略図である。
図3】一実施形態に従ったデコーダの簡略ブロック図の概略図である。
図4】一実施形態に従ったエンコーダの簡略ブロック図の概略図である。
図5】示されるような従来技術又は一実施形態に従ったARCパラメータをシグナリングするためのオプションの概略図である。
図6】一実施形態に従った構文テーブルの一例である。
図7】一実施形態に従ったコンピュータシステムの概略図である。
図8】適応解像度変更を用いたスケーラビリティ向けの予測構造の一例である。
図9】一実施形態に従った構文テーブルの一例である。
図10】アクセスユニットごとのpocサイクル及びアクセスユニットカウント値を構文解析及び復号することの簡略ブロック図の概略図である。
図11】一実施形態に従った、マルチレイヤ化サブピクチャを有する映像ビットストリーム構造の概略図である。
図12】高められた解像度での選択されたサブピクチャの表示の概略図である。
図13】マルチレイヤ化サブピクチャを有する映像ビットストリームの復号及び表示プロセスのブロック図である。
図14】サブピクチャのエンハンスメントレイヤを用いた360映像表示の概略図である。
図15】サブピクチャのレイアウト情報、並びにその対応するレイヤ及びピクチャ予測構造の一例である。
図16】局所領域の空間スケーラビリティモダリティを用いた、サブピクチャのレイアウト情報、並びにその対応するレイヤ及びピクチャ予測構造の一例である。
図17】サブピクチャレイアウト情報に関する構文テーブルの一例である。
図18】サブピクチャレイアウト情報に関するSEIメッセージの構文テーブルの一例である。
図19】各出力レイヤセットについての出力レイヤ及びプロファイル/ティア/レベル情報を示す構文テーブルの一例である。
図20】各出力レイヤセットについての出力レイヤモードオンを示す構文テーブルの一例である。
図21】各出力レイヤセットについての各レイヤの現在サブピクチャを示す構文テーブルの一例である。
図22】ビデオパラメータセットRBSPの一例である。
図23】シーケンスパラメータセットRBSPの一例である。
【発明を実施するための形態】
【0013】
ピクチャが、異なる品質を持つ複数のレイヤを含むビットストリームへと符号化されるとき、ビットストリームは、デコーダ側でどのレイヤが出力され得るかを規定する構文要素を有し得る。出力されることになるレイヤのセットは、出力レイヤセットとして定められる。複数のレイヤ及びスケーラビリティをサポートする最新のビデオコーデックでは、1つ以上の出力レイヤセットがビデオパラメータセット内でシグナリングされる。出力レイヤセットとそれらの依存性、プロファイル/ティア/レベル、及び仮説的(hypothetical)デコーダリファレンスモデルパラメータを規定する構文要素を、パラメータセット内で効率的にシグナリングする必要がある。
【0014】
図1は、本開示の一実施形態に従った通信システム(100)の簡略化したブロック図を例示している。システム(100)は、ネットワーク(150)を介して相互接続された少なくとも2つの端末(110-120)を含み得る。データの一方向伝送では、第1の端末(110)は、ネットワーク(150)を介した他方の端末(120)への伝送のために、ローカル位置で映像データを符号化し得る。第2の端末(120)は、他方の端末の符号化された映像データをネットワーク(150)から受信し、符号化されたデータを復号し、そして、復元された映像データを表示し得る。一方向データ伝送は、メディアサービス提供アプリケーション及びそれに類するものにおいて一般的であり得る。
【0015】
図1は、例えばビデオ会議中に発生し得る符号化された映像の双方向伝送をサポートするように設けられた第2対の端末(130、140)を例示している。データの双方向伝送では、各端末(130、140)が、ローカル位置でキャプチャされた映像データを、ネットワーク(150)を介した他方の端末への伝送のために符号化し得る。各端末(130、140)はまた、他方の端末によって送信された符号化された映像データを受信することができ、符号化データを復号し、そして、復元された映像データをローカルのディスプレイ装置に表示し得る。
【0016】
図1では端末(110-140)がサーバ、パーソナルコンピュータ、及びスマートフォンとして例示され得るが、本開示の原理はそのように限定されるものではないとし得る。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、及び/又は専用のビデオ会議機器での適用を見出すものである。ネットワーク(150)は、例えば、有線通信ネットワーク及び/又は無線通信ネットワークを含め、端末(110-140)間で符号化された映像データを伝達するあらゆる数のネットワークを表す。通信ネットワーク(150)は、回線交換チャネル及び/又はパケット交換チャネルにてデータを交換し得る。代表的なネットワークは、遠距離通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又はインターネットを含む。本説明の目的上、ネットワーク(150)のアーキテクチャ及びトポロジーは、以下にて説明しない限り、本開示の動作にとって重要ではないとし得る。
【0017】
図2は、本開示に係る事項に関するアプリケーションの一例として、ストリーミング環境におけるビデオエンコーダ及びデコーダの配置を例示している。本開示に係る事項は、例えば、ビデオ会議や、デジタルTVや、CD、DVD、メモリスティック及びこれらに類するものを含むデジタル媒体上での圧縮映像の格納などを含め、映像を使用可能な他の用途にも等しく適用可能であるとし得る。
【0018】
ストリーミングシステムは、キャプチャサブシステム(213)を含むことができ、これは、例えば未圧縮の映像サンプルストリーム(202)を作り出す例えばデジタルカメラといった映像ソース(201)を含むことができる。そのサンプルストリーム(202)は、符号化された映像ビットストリームと比較して高いデータボリュームであることを強調するために太線として描かれており、カメラ201に結合されたエンコーダ(203)によって処理され得る。エンコーダ(203)は、更に詳細に後述される本開示に係る事項の態様を使用可能にする又は実装するための、ハードウェア、ソフトウェア、又はこれらの組み合わせを含むことができる。符号化された映像ビットストリーム(204)は、サンプルストリームと比較して低いデータボリュームであることを強調するために細線として描かれており、後の使用のためにストリーミングサーバ(205)に格納されることができる。1つ以上のストリーミングクライアント(206、208)が、符号化された映像ビットストリーム(204)のコピー(207、209)を取り出すためにストリーミングサーバ(205)にアクセスすることができる。クライアント(206)は、入ってくる符号化された映像ビットストリームのコピー(207)を復号し、出ていく映像サンプルストリーム(211)を作り出すビデオデコーダ(210)を含むことができ、出ていく映像サンプルストリーム(211)が、ディスプレイ(212)又は他のレンダリング装置(図示せず)上でレンダリングされ得る。一部のストリーミングシステムにおいて、映像ビットストリーム(204、207、209)は、特定の映像符号化/圧縮標準に従って符号化されることができる。それらの標準の例は、ITU-T勧告H.265を含む。非公式にバーサタイルビデオコーディングすなわちVVCとして知られる映像符号化標準が開発中である。本開示に係る事項は、VVCの文脈で使用され得る。
【0019】
図3は、本発明の一実施形態に従ったビデオデコーダ(210)の機能ブロック図であるとし得る。
【0020】
受信器(310)が、デコーダ(210)によって復号される1つ以上の符号化映像シーケンスを受信することができ、同じ又は他の実施形態において、一度に1つの符号化映像シーケンスを受信することができ、各符号化映像シーケンスの復号は、他の符号化映像シーケンスとは独立である。符号化映像シーケンスは、符号化された映像データを格納するストレージ装置へのハードウェア/ソフトウェアリンクとし得るものであるチャネル(312)から受信され得る。受信器(310)は、符号化映像データを、例えば符号化された音声データ及び/又は補助データストリームといった他のデータと共に受信してもよく、それらのデータは、それらそれぞれの使用エンティティ(図示せず)に転送され得る。受信器(310)は、符号化映像シーケンスを他のデータから分離し得る。ネットワークジッタに対抗するために、受信器(310)とエントロピーデコーダ/パーサ(320)(以下、“パーサ”)との間にバッファメモリ(315)が結合され得る。受信器(310)が、十分な帯域幅及び可制御性の格納/転送装置から又は等同期ネットワークからデータを受信しているとき、バッファ(315)は、必要とされないことがあり、又は小さくされることができる。例えばインターネットなどのベストエフォート型パケットネットワーク上での使用では、バッファ(315)が必要とされ得るとともに、比較的大きくされ、そして有利には、適応可能なサイズのものにされ得る。
【0021】
ビデオデコーダ(210)は、エントロピー符号化された映像シーケンスからシンボル(321)を再構成するためのパーサ(320)を含み得る。それらシンボルのカテゴリは、デコーダ(210)の動作を管理するために使用される情報を含むとともに、可能性として、例えばディスプレイ(212)などのレンダリング装置を制御する情報を含み得る。ディスプレイ(212)などのレンダリング装置は、デコーダの一体部分ではないが、図2に示したようにデコーダに結合されることができる。(1つ以上の)レンダリング装置用の制御情報は、補足拡張情報(Supplementary Enhancement Information;SEI)メッセージ又はビデオユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)の形態とし得る。パーサ(320)は、受け取った符号化映像シーケンスを構文解析/エントロピー復号し得る。符号化映像シーケンスの符号化は、映像符号化技術又は標準によることができ、可変長符号化、ハフマン符号化、文脈依存性を持つ又は持たない算術符号化などを含め、当業者に周知の原理に従うことができる。パーサ(320)は、符号化映像シーケンスから、グループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダにおけるピクセルのサブグループのうちの少なくとも1つに関する一組のサブグループパラメータを抽出することができる。サブグループは、グループ・オブ・ピクチャ(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。エントロピーデコーダ/パーサはまた、符号化映像シーケンス情報から、例えば変換係数、量子化パラメータ値、動きベクトルなどの情報を抽出し得る。
【0022】
パーサ(320)は、シンボル(321)を生み出すよう、バッファ(315)から受け取った映像シーケンスにエントロピー復号/構文解析処理を実行し得る。
【0023】
シンボル(321)の再構成には、符号化された映像ピクチャ又はその部分のタイプ及び他の要因(例えば、インターピクチャ及びイントラピクチャ、インターブロック及びイントラブロックなど)に応じて、複数の異なるユニットが関与し得る。どのユニットがどのように関与するかは、パーサ(320)によって符号化映像シーケンスから構文解析されたサブグループ制御情報によって制御されることができる。パーサ(320)と以下の複数ユニットとの間でのこのようなサブグループ制御情報の流れは、明瞭さのために図示していない。
【0024】
既述の機能ブロックを超えて、デコーダ210は概念的に、後述のような多数の機能ユニットに細分化されることができる。商業上の制約の下で稼働する実用的な実装において、これらのユニットのうちの多くが互いに密接にインタラクトし、少なくとも部分的に互いに統合され得る。しかしながら、本開示に係る事項を説明するという目的のためには、以下の機能ユニットへの概念的な細分化が適切である。
【0025】
第1のユニットは、スケーラ/逆変換ユニット(351)である。スケーラ/逆変換ユニット(351)は、パーサ(320)からの(1つ以上の)シンボル(321)として、どの変換を使用すべきか、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報とともに、量子化された変換係数を受け取る。これは、アグリゲータ(355)に入力されることが可能な、サンプル値を有するブロックを出力することができる。
【0026】
場合により、スケーラ/逆変換(351)の出力サンプルは、イントラ符号化されたブロック、すなわち、先行して再構成されたピクチャからの予測情報を使用していないが、現在ピクチャのうち先行して再構成された部分からの予測情報を使用することができるブロック、に関係し得る。このような予測情報は、イントラピクチャ予測ユニット(352)によって提供されることができる。場合により、イントラピクチャ予測ユニット(352)は、現在の(部分的に再構成された)ピクチャ(356)からフェッチされた周囲の既に再構成された情報を用いて、再構成中のブロックと同じサイズ及び形状のブロックを生成する。アグリゲータ(355)は、場合により、サンプル毎に、イントラ予測ユニット(352)が生成した予測情報を、スケーラ/逆変換ユニット(351)によって提供される出力サンプル情報に付加する。
【0027】
他の場合には、スケーラ/逆変換ユニット(351)の出力サンプルは、インター符号化された、動き補償された可能性のあるブロックに関係し得る。このような場合、動き補償予測ユニット(353)が、参照ピクチャメモリ(357)にアクセスして、予測に使用されるサンプルをフェッチすることができる。フェッチされたサンプルを、ブロックに関係するシンボル(321)に従って動き補償した後、これらのサンプルが、アグリゲータ(355)によって、スケーラ/逆変換ユニットの出力(この場合、残余サンプル又は残余信号と呼ぶ)に付加されて、出力サンプル情報を生成することができる。そこから動き補償ユニットが予測サンプルをフェッチする参照ピクチャメモリ内のアドレスは、例えばX、Y、及び参照ピクチャ成分を有し得るシンボル(321)の形態で動き補償ユニットに利用可能な動きベクトルによって制御され得る。動き補償はまた、サブサンプルの正確な動きベクトルが使用されるときに参照ピクチャメモリからフェッチされたサンプル値の補間や、動きベクトル予測メカニズムなどを含むことができる。
【0028】
アグリゲータ(355)の出力サンプルは、ループフィルタユニット(356)にて様々なループフィルタリング技術に掛けられ得る。映像圧縮技術は、インループ(in-loop)フィルタ技術を含むことができ、これは、符号化映像ビットストリームに含められてパーサ(320)からのシンボル(321)としてループフィルタユニット(356)に利用可能にされるパラメータによって制御されるが、符号化ピクチャ又は符号化映像シーケンスのうちの(復号順で)先行部分の復号中に得られたメタ情報にも応答することができるとともに、先行して再構成されてループフィルタリングされたサンプル値にも応答することができる。
【0029】
ループフィルタユニット(356)の出力は、レンダリング装置(212)に出力されることが可能なサンプルストリームとすることができ、これはまた、将来のインターピクチャ予測での使用のために参照ピクチャメモリ(357)に格納され得る。
【0030】
ある特定の符号化ピクチャは、完全に再構成されると、将来の予測のための参照ピクチャとして使用されることができる。ある符号化ピクチャが完全に再構成され、その符号化ピクチャが参照ピクチャとして(例えば、パーサ(320)によって)特定されると、現在の参照ピクチャ(356)が参照ピクチャバッファ(357)の一部となり得るとともに、次の符号化ピクチャの再構成を開始する前に新しい現在ピクチャメモリが再割り当てされ得る。
【0031】
ビデオデコーダ210は、例えばITU-T勧告H.235などの標準にて文書化され得る所定の映像圧縮技術に従って復号処理を実行し得る。符号化映像シーケンスは、映像圧縮技術文書又は標準、特にその中のプロファイル文書の中で規定されるように映像圧縮技術又は標準の構文を忠実に守るという意味で、使用される映像圧縮技術又は標準によって規定される構文に従い得る。また、準拠のためにこれまた必要なことは、符号化映像シーケンスの複雑さが、映像圧縮技術又は標準のレベルによって定められる限度内であることである。場合により、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、毎秒メガサンプルで測定される)、最大参照ピクチャサイズなどを制約する。レベルによって設定される制限は、場合により、仮説的リファレンスデコーダ(Hypothetical Reference Decoder;HRD)仕様、及び符号化映像シーケンスにてシグナリングされるHRDバッファ管理用のメタデータを通して更に制約され得る。
【0032】
一実施形態において、受信器(310)は、符号化された映像と共に追加(冗長)データを受信し得る。追加データは、(1つ以上の)符号化映像シーケンスの一部として含められ得る。追加データは、データを適切に復号するため、及び/又は元の映像データをいっそう正確に再構成するために、ビデオデコーダ(210)によって使用され得る。追加データは、例えば、時間的、空間的、又はSNRエンハンスメントレイヤ、冗長スライス、冗長ピクチャ、順方向誤り訂正符号などの形態とし得る。
【0033】
図4は、本開示の一実施形態に従ったビデオエンコーダ(203)の機能ブロック図とし得る。
【0034】
エンコーダ(203)は、エンコーダ(203)によって符号化される(1つ以上の)映像画像をキャプチャし得る映像ソース(201)(エンコーダの一部ではない)から映像サンプルを受信し得る。
【0035】
映像ソース(201)は、エンコーダ(203)によって符号化されるソース映像シーケンスを、任意の好適なビット深さ(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)、及び任意の好適なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)のものとし得るデジタル映像サンプルストリームの形態で提供し得る。メディアサービス提供システムにおいて、映像ソース(201)は、事前に準備された映像を格納したストレージ装置とし得る。ビデオ会議システムでは、映像ソース(201)は、ローカルな画像情報を映像シーケンスとしてキャプチャするカメラとし得る。映像データは、順に見たときに動きを伝える複数の個々のピクチャとして提供され得る。それらピクチャ自体は、ピクセルの空間アレイとして編成されることができ、各ピクセルが、使用されるサンプリング構造、色空間などに応じて、1つ以上のサンプルを有することができる。当業者は、ピクセルとサンプルとの関係を直ちに理解することができる。以下の説明は、サンプルに焦点を当てている。
【0036】
一実施形態によれば、エンコーダ(203)は、ソース映像シーケンスのピクチャを、リアルタイムで、又はアプリケーションによって要求される他の時間制約下で、符号化映像シーケンス(443)へと符号化及び圧縮し得る。適切な符号化速度を強制することは、コントローラ(450)の1つの機能である。コントローラは、後述するような他の機能ユニットを制御し、それらのユニットに機能的に結合される。その結合は、明瞭さのために図示されていない。コントローラによって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、…)、ピクチャサイズ、グループ・オブ・ピクチャ(GOP)レイアウト、最大動きベクトル探索範囲などを含み得る。当業者は、特定のシステム設計に合わせて最適化されるビデオエンコーダ(203)に関連し得るものとして、コントローラ(450)の他の機能を直ちに特定することができる。
【0037】
一部のビデオエンコーダは、当業者が“符号化ループ”として直ちに認識するものにて動作する。過度に単純化した説明として、符号化ループは、エンコーダの符号化部分(430)(以下、“ソースコーダ”)(符号化される入力ピクチャ及び(1つ以上の)参照ピクチャに基づいてシンボルを作成することを担う)と、エンコーダ(203)に埋め込まれた(ローカル)デコーダ(433)とで構成されることができ、(ローカル)デコーダ(433)は、シンボルを再構成して、(リモート)デコーダも作成し得る(本開示に係る事項において検討している映像圧縮技術においては、シンボルと符号化映像ビットストリームとの間の如何なる圧縮も可逆であるため)ものであるサンプルデータを生成する。その再構成されたサンプルストリームが、参照ピクチャメモリ(434)に入力される。シンボルストリームの復号は、デコーダ位置(ローカル又はリモート)に依存しないビット正確な結果をもたらすので、参照ピクチャバッファのコンテンツもローカルエンコーダとリモートエンコーダとの間でビット正確である。換言すれば、エンコーダの予測部分は、デコーダが復号中に予測を使用するときに“見る”のとまったく同じサンプル値を参照ピクチャサンプルとして“見る”。この参照ピクチャ同期性の基本原理(及び、例えばチャネルエラーのために、同期性を維持することができない場合に結果として生じるドリフト)は、当業者によく知られている。
【0038】
“ローカル”デコーダ(433)の動作は、“リモート”デコーダ(210)のものと同じであるとすることができ、それは、図3に関連して既に詳細に上述されている。しかし、図3も簡単に参照するに、シンボルが利用可能であり、且つエントロピーコーダ(445)及びパーサ(320)によるシンボルの符号化映像シーケンスへの符号化/復号は可逆であるとし得るので、チャネル(312)、受信器(310)、バッファ(315)、及びパーサ(320)を含むデコーダ(210)のエントロピー復号部分は、ローカルデコーダ(433)に完全に実装されなくてよい。
【0039】
この時点で気付くことができることには、デコーダ内に存在する構文解析/エントロピー復号を除く如何なるデコーダ技術も必ず、対応するエンコーダ内で、実質的に同じ機能的形態で存在する必要がある。この理由により、本開示に係る事項はデコーダ動作に焦点を当てている。エンコーダ技術の説明は、徹底して説明したデコーダ技術の逆であるため、省略することができる。特定の分野においてのみ、より詳細な説明が必要とされ、以下に提供される。
【0040】
その動作の一部として、ソースコーダ(430)は、入力フレームを、映像シーケンスからの、“参照フレーム”として指定された1つ以上の先に符号化されたフレームに対して予測的に符号化するものである動き補償予測符号化を実行し得る。斯くして、符号化エンジン(432)は、入力フレームのピクセルブロックと、入力フレームに対する(1つ以上の)予測参照として選択され得る(1つ以上の)参照フレームのピクセルブロックとの間の差分を符号化する。
【0041】
ローカルビデオデコーダ(433)は、参照フレームとして指定され得るフレームの符号化映像データを、ソースコーダ(430)によって作成されたシンボルに基づいて復号し得る。符号化エンジン(432)の動作は、有利には、不可逆プロセスとし得る。符号化映像データがビデオデコーダ(図4には示されていない)で復号され得るとき、再構成された映像シーケンスは典型的に、幾分の誤差を伴うソース映像シーケンスのレプリカであり得る。ローカルビデオデコーダ(433)は、参照フレーム上でビデオデコーダによって実行され得る復号プロセスを複製し、再構成された参照フレームを参照ピクチャキャッシュ(434)に格納させるようにし得る。斯くして、エンコーダ(203)は、ファーエンドのビデオデコーダによって得られることになる再構成参照フレームと共通のコンテンツを持つ再構成参照フレームのコピーをローカルに格納し得る。
【0042】
予測器(435)は、符号化エンジン(432)のために予測探索を実行し得る。すなわち、符号化すべき新たなフレームに関して、予測器(435)は、新たなピクチャ用の適切な予測参照としての役割を果たし得るサンプルデータ(候補参照ピクセルブロックとして)又は例えば参照ピクチャ動画ベクトルやブロック形状などの特定のメタデータについて、参照ピクチャメモリ(434)を検索し得る。予測器(435)は、適切な予測参照を見出すために、ピクセルブロック毎に動作し得る。場合により、予測器(435)によって得られた検索結果により決定されるように、入力ピクチャは、参照ピクチャメモリ(434)に格納された複数の参照ピクチャから引き出された予測参照を有し得る。
【0043】
コントローラ(450)は、例えば、映像データを符号化するのに使用されるパラメータ及びサブグループパラメータの設定を含め、映像コーダ(430)の符号化処理を管理し得る。
【0044】
前述の全ての機能ユニットの出力が、エントロピーコーダ(445)におけるエントロピー符号化に掛けられ得る。エントロピーコーダは、例えばハフマン符号化、可変長符号化、算術符号化などといった当業者に知られた技術に従ってシンボルを無損失圧縮することによって、様々な機能ユニットによって生成されたシンボルを符号化映像シーケンスへと変換する。
【0045】
送信器(440)が、エントロピーコーダ(445)によって生成された符号化映像シーケンスをバッファリングし、それを、通信チャネル(460)を介した伝送のために準備し得る。通信チャネル(460)は、符号化された映像データを格納するストレージ装置へのハードウェア/ソフトウェアリンクとし得る。送信器(440)は、映像コーダ(430)からの符号化映像データを、例えば符号化オーディオデータ及び/又は補助データストリーム(ソースは図示していない)といった、送信される他のデータとマージし得る。
【0046】
コントローラ(450)は、エンコーダ(203)の動作を管理し得る。符号化において、コントローラ(450)は、各符号化ピクチャに、それぞれのピクチャに適用され得る符号化技術に影響を及ぼし得るものである特定の符号化ピクチャタイプを割り当て得る。例えば、ピクチャはしばしば、以下のフレームタイプの1つとして割り当てられ得る。
【0047】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の他のフレームを使用することなく、符号化コード化及び復号され得るものとし得る。一部の映像コーデックは、例えば独立デコーダリフレッシュピクチャを含め、異なるタイプのイントラピクチャを許している。当業者は、Iピクチャのそれら異形、並びにそれらそれぞれの用途及び特徴を知っている。
【0048】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、多くて1つの動きベクトルと参照インデックスとを使用して、イントラ予測又はインター予測を用いて符号化及び復号され得るものとし得る。
【0049】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、多くて2つの動きベクトルと参照インデックスとを使用して、イントラ予測又はインター予測を用いて符号化及び復号され得るものとし得る。同様に、多重予測画像は、単一のブロックの再構成のために3つ以上の参照ピクチャと関連メタデータとを使用することができる。
【0050】
ソースピクチャは、一般に、空間的に複数のサンプルブロック(例えば、各々4×4、8×8、4×8、又は16×16サンプルのブロック)に細分化され、ブロック毎に符号化され得る。ブロックは、それらブロックのそれぞれのピクチャに適用される符号化割り当てによって決定される他の(既に符号化された)ブロックを参照して予測的に符号化され得る。例えば、Iピクチャのブロックは非予測的に符号化されることができ、あるいは、それらは同じピクチャの既に符号化されたブロックを参照して予測的に符号化されることができる(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、非予測的に、あるいは、1つの先に符号化された参照ピクチャを参照して空間予測又は時間予測を介して、符号化されることができる。Bピクチャのブロックは、非予測的に、あるいは、1つ又は2つの先に符号化された参照ピクチャを参照して空間予測又は時間予測を介して、符号化されることができる。
【0051】
ビデオコーダ(203)は、例えばITU-T勧告H.265などの所定の映像符号化技術又は標準に従って符号化処理を実行し得る。その動作において、ビデオコーダ(203)は、入力映像シーケンスにおける時間的及び空間的な冗長性を活用する予測的な符号化処理を含め、様々な圧縮処理を実行し得る。符号化された映像データは、それ故に、使用されている映像符号化技術又は標準によって規定される構文に従い得る。
【0052】
一実施形態において、送信器(440)は、符号化された映像と共に追加データを送信し得る。映像コーダ(430)が、そのようなデータを、符号化映像シーケンスの一部として含め得る。追加データは、時間的/空間的/SNRエンハンスメントレイヤ、例えば冗長ピクチャ及びスライスなどの他の形態の冗長データ、補足拡張情報(SEI)メッセージ、ビデオユーザビリティ情報(VUI)パラメータセットフラグメントなどを有し得る。
【0053】
開示に係る事項の特定の態様を更に詳細に記述する前に、この説明の残りの部分で参照されることになる幾つかの用語を紹介しておく必要がある。
【0054】
サブピクチャは、これ以降、一部のケースで、意味的にグループ化され、変更された解像度で独立に符号化され得る矩形構成のサンプル、ブロック、マクロブロック、符号化ユニット、又は類似のエンティティを指す。1つ以上のサブピクチャでピクチャを形成することができる。1つ以上の符号化サブピクチャが、符号化ピクチャを形成し得る。1つ以上のサブピクチャを1つのピクチャへと組み立てることができ、また、1つ以上のサブピクチャをピクチャから抽出することができる。特定の環境において、1つ以上の符号化サブピクチャが、サンプルレベルへのトランスコーディングなしで圧縮ドメインにて符号化ピクチャへと組み立てられることができ、同じ又は特定の他のケースにおいて、1つ以上の符号化サブピクチャが、圧縮ドメインにて符号化ピクチャから抽出されることができる。
【0055】
適応解像度変更(Adaptive Resolution Change;ARC)は、これ以降、例えば参照ピクチャ再サンプリングによって、符号化映像シーケンス内のピクチャ又はサブピクチャの解像度の変更を可能にする機構を指す。これ以降、ARCパラメータは、適応解像度変更を実行するために必要とされる制御情報を指し、それは、例えば、フィルタパラメータ、スケーリング係数、出力及び/又は参照ピクチャの解像度、種々の制御フラグなどを含み得る。
【0056】
上での記述は、単一の意味的に独立した符号化映像ピクチャを符号化及び復号することに焦点を当てている。独立したARCパラメータを持つ複数のサブピクチャの符号化/復号の意味あい及びそれがもたらす追加の複雑さを説明する前に、ARCパラメータをシグナリングするためのオプションを説明しておく。
【0057】
図5を参照するに、ARCパラメータをシグナリングするための幾つかの新規のオプションが示されている。これらのオプションの各々で言及するように、これらは、符号化効率、複雑性、及びアーキテクチャの観点から、一定の利点及び一定の欠点を有する。映像符号化標準又は技術は、ARCパラメータをシグナリングするために、これらのオプションのうちの1つ以上又は先行技術から知られるオプションを選択し得る。これらのオプションは、相互に排他的であるわけではなく、考えられる限りにおいて、用途上のニーズ、関与する標準技術、又はエンコーダの選択に基づいて相互に入れ換えられ得る。
【0058】
ARCパラメータのクラスは、以下を含み得る:
- X及びYの次元で別々の又は組み合わされるアップサンプリング及び/又はダウンサンプリング係数
- 所与の数のピクチャに対する一定速度のズームイン/アウトを指し示す、時間次元の追加を伴うアップサンプリング及び/又はダウンサンプリング係数
上の2つのうちいずれかは、(1つ以上の)ファクタを含むテーブル内を指し得る1つ以上の恐らくは短い構文要素の符号化を伴い得る。
- 組み合わせての又は別々の、入力ピクチャ、出力ピクチャ、参照ピクチャ、符号化ピクチャのサンプル、ブロック、マクロブロック、CU、又は他の好適な粒度の単位での、X次元又はY次元における解像度。2つ以上の解像度(例えば、入力ピクチャ用の1つ、参照ピクチャ用の1つ)が存在する場合、特定のケースにおいて、1組の値が別の1組の値から推定され得る。これは、例えばフラグの使用によって、ゲーティングされ得る。より詳細な例について、以下を参照されたい。
- やはり上述のような好適な粒度での、H.263付属書Pで使用されるものと類似の“ワーピング”座標。H.263付属書Pは、このようなワーピング座標を符号化するための1つの効率的な手法を規定しているが、考えられる限りにおいて、可能性としてもっと効率的な他の手法も考案され得る。例えば、付属書Pのワーピング座標の可変長可逆“ハフマン”形式の符号化は、好適な長さのバイナリ符号化によって置き換えられてもよく、その場合、バイナリコードワードの長さが、例えば、最大ピクチャサイズから導出され、場合により、最大ピクチャサイズの境界の外に“ワープ”することを可能にするよう、ある一定の係数を乗算され、そして、ある一定の値だけオフセットされ得る。
- アップサンプリング又はダウンサンプリングフィルタパラメータ。最も簡単なケースにおいて、アップサンプリング及び/又はダウンサンプリングのための単一のフィルタのみが存在し得る。しかしながら、特定のケースでは、フィルタ設計においていっそうの柔軟性を可能にすることが有利であるとすることができ、それがフィルタパラメータのシグナリングを必要とし得る。そのようなパラメータは、可能なフィルタ設計のリスト内のインデックスを介して選択されることができ、フィルタは、完全に指定されることができ(例えば、フィルタ係数のリストを介して、適切なエントロピー符号化技術を用いて)、フィルタは、代わってそれが上述の機構のうちのいずれかに従ってシグナリングされるアップサンプリング及び/又はダウンサンプリング比を通じて暗示的に選択され得る。
【0059】
これ以降、この説明は、コードワードを通じて指し示される有限セットのアップサンプリング及び/又はダウンサンプリング係数の符号化(X次元及びY次元の両方で同じ係数が使用される)を仮定する。そのコードワードは有利なことに、例えばH.264及びH.265などの映像符号化仕様における特定の構文要素に対して普及しているExt-Golomb符号を用いて、可変長符号化されることができる。アップサンプリング及び/又はダウンサンプリング係数への値の1つの好適マッピングは、例えば、以下の表に従うことができる。
【表1】
【0060】
多くの類似のマッピングが、用途のニーズ、及び映像圧縮技術又は標準で利用可能なアップスケール及びダウンスケール機構の能力に従って考案され得る。この表は、より多くの値に拡張されてもよい。値はまた、例えばバイナリ符号化を用いて、Ext-Golomb符号以外のエントロピー符号化機構によって表現されてもよい。これは、例えばMANEによってなど、映像処理エンジン(エンコーダ及びデコーダ第一)自体の外側で再サンプリング係数が関心あるものであった場合に、ある一定の利点を有し得る。なお、解像度変更が要求されない(恐らく)最も一般的なケースでは、上の表では1ビットのみである短いExt-Golomb符号を選択することができる。これは、最も一般的なケースに対してバイナリコードを使用するものよりも、符号化効率上の利点を有し得る。
【0061】
表の中のエントリの数及びそれらのセマンティクスは、完全に又は部分的に設定可能とし得る。例えば、表の基本的な骨子は、例えばシーケンス又はデコーダパラメータセットなどの“ハイ”パラメータセットにて伝えられ得る。代わりに、あるいは加えて、1つ以上のこのような表が、映像符号化技術又は標準で規定されることができ、例えばデコーダ又はシーケンスパラメータセットを通じて選択され得る。
【0062】
これ以降、上述のように符号化されるアップサンプリング及び/又はダウンサンプリング係数(ARC情報)がどのように映像符号化技術又は標準の構文に含められるかについて説明する。同様の考察が、アップサンプリング及び/又はダウンサンプリングフィルタを制御する1つ又は少数のコードワードに適用され得る。フィルタ又は他のデータ構造に比較的大量のデータが必要とされる場合の議論ついて以下を参照されたい。
【0063】
H.263付属書Pは、4つのワーピング座標の形態をしたARC情報(502)をピクチャヘッダ(501)に含め、具体的にはH.263 PLUSPTYPE(503)ヘッダ拡張に含める。これは、a)利用可能なピクチャヘッダが存在し、且つb)ARC情報の頻繁な変更が予期される場合に、合理的な設計選択となり得る。しかしながら、H.263様式のシグナリングを使用する場合のオーバヘッドは非常に高くなることがあり、また、ピクチャヘッダが一時的な性質のものであり得るので、スケーリング係数がピクチャ境界の間で適切でないことがある。
【0064】
上で引用したJVCET-M135-v1は、ピクチャパラメータセット(504)内に位置するARC参照情報(505)(インデックス)を含み、代わってシーケンスパラメータセット(507)内に位置するターゲット解像度を含むテーブル(506)を索引付ける。シーケンスパラメータセット(507)内のテーブル(506)中の可能な解像度の配置は、筆者によって為される言葉による記述によれば、能力入れ換え中の相互運用性折衝点としてSPSを使用することによって正当化され得る。解像度は、適切なピクチャパラメータセット(504)を参照することによって、ピクチャからピクチャへと、テーブル(506)中の値によって設定される制限内で変化することができる。
【0065】
図5をなおも参照するに、以下の更なるオプションが、映像ビットストリーム内でARC情報を伝達するために存在し得る。これらのオプションは各々、上述の既存技術に対する一定の利点を有する。同じ映像符号化技術又は標準においてこれらのオプションが同時に存在してもよい。
【0066】
一実施形態において、例えば再サンプリング(ズーム)係数などのARC情報(509)は、スライスヘッダ、GOBヘッダ、タイルヘッダ、又はタイルグループヘッダ(これ以降、タイルグループヘッダ)(508)内に存在し得る。これは、例えば上で示したように、例えば単一の可変長ue(v)又は数ビットの固定長コードワードなど、ARC情報が小さい場合に適当であり得る。タイルグループヘッダ内に直接的にARC情報を持つことは、ピクチャ全体ではなく例えばそのタイルグループによって表されるサブピクチャに対してARC情報を適用可能にし得るという追加な利点を有する。以下も参照されたい。さらに、映像圧縮技術又は標準が(例えば、タイルグループベースの適応解像度変更とは対照的に)ピクチャ全体の適応解像度変更のみを想定している場合であっても、ARC情報をタイルグループヘッダに入れることは、H.263様式のピクチャヘッダにそれを入れることと比べて、エラー耐性の観点から一定の利点を有する。
【0067】
同じ実施形態又は他の一実施形態において、ARC情報(512)自体は、例えばピクチャパラメータセット、ヘッダパラメータセット、タイルパラメータセット、適応パラメータセットなどの適切なパラメータセット(511)内に存在してもよい(適応パラメータセットが図示されている)。このパラメータセットの範囲は、有利には、例えばタイルグループなど、ピクチャよりも大きくないとし得る。ARC情報の使用は、関連するパラメータセットの有効化による暗示的なものである。例えば、映像符号化技術又は標準がピクチャベースのARCのみを企図する場合、ピクチャパラメータセット又は同等物が適切であり得る。
【0068】
同じ実施形態又は他の一実施形態において、ARC参照情報(513)は、タイルグループヘッダ(514)又は類似のデータ構造内に存在し得る。この参照情報(513)は、例えばシーケンスパラメータセット又はデコーダパラメータセットといった、単一のピクチャを超える範囲を持つパラメータセット(516)内で利用可能なARC情報のサブセット(515)を参照することができる。
【0069】
JVET-M0135-v1で使用されるようなタイルグループヘッダ、PPS、SPSからの、この追加レベルの、PPSの間接暗示的有効化は、不要であるように見える。何故なら、ピクチャパラメータセットを、シーケンスパラメータセットと同様に、能力折衝又はアナウンスに使用することができる(且つ、例えばRFC3984などの特定の標準において、有する)からである。しかしながら、ARC情報が、例えばタイルグループによって表されるサブピクチャにも適用可能であるべき場合、例えば適応パラメータセット又はヘッダパラメータセットなどの、タイルグループに限られた有効化範囲を持つパラメータセットの方が良い選択となり得る。また、ARC情報が、無視できる大きさよりも大きいものであり、例えば、多数のフィルタ係数などのフィルタ制御情報を含む場合、パラメータは、ヘッダ(508)を直接使用するよりも、符号化効率の観点から良い選択となり得る。何故なら、それらの設定は、同じパラメータセットを参照することによって将来のピクチャ又はサブピクチャによって再利用可能とし得るからである。
【0070】
シーケンスパラメータセット、又は複数のピクチャにまたがる範囲を持つ別のより高いパラメータセットを使用する場合、以下の一定の考察が適用され得る。
【0071】
1. ARC情報テーブル(516)を格納するパラメータセットは、一部のケースにおいてシーケンスパラメータセットとすることができるが、他のケースにおいて有利にはデコーダパラメータセットとし得る。デコーダパラメータセットは、複数のCVS、はっきり言えば符号化映像ストリーム、すなわち、セッション開始からセッション解除までの全ての符号化映像ビット、という有効化範囲を持つことができる。このような範囲はいっそう適切であり得る。何故なら、取り得るARC係数は、恐らくはハードウェアにて実装されるデコーダ機能とすることができ、ハードウェア機能は、CVS(これは、少なくとも一部の娯楽システムにおいて、1秒以下の長さのグループ・オブ・ピクチャである)とともに変化する傾向にはないからである。とは言え、テーブルをシーケンスパラメータセットに入れることは、特に以下のポイント2に関連してここに記載される配置オプションに明確に含まれることである。
【0072】
2. ARC参照情報(513)は、有利には、JVCET-M0135-v1においてのようにピクチャパラメータ内にではなく、ピクチャ/スライスタイル/GOB/タイルグループヘッダ(これ以降、タイルグループヘッダ)(514)内に直接配置され得る。その理由は以下の通りである。エンコーダが、例えばARC参照情報など、ピクチャパラメータセット内の単一の値を変更したい場合、新しいPPSを作成し、その新しいPPSを参照しなければならない。ARC参照情報のみが変化し、例えばPPS内の量子化行列情報などの他の情報はそのままであると仮定する。このような情報は、かなりのサイズのものとなることがあり、新しいPPSを完全にするために再送される必要がある。ARC参照情報は、例えばテーブル(513)へのインデックスなどの単一のコードワードとすることができ、そして、それが変化する唯一の値であるので、例えば量子化行列情報の全てを再送することは煩雑で無駄の多いこととなり得る。そうであれば、JVET-M0135-v1で提案されているように、PPSを介した遠回しなやり方を回避することが、符号化効率の観点からかなり良好なものとなり得る。同様に、ARC参照情報をPPS内に置くことは、ピクチャパラメータセット有効化の範囲がピクチャであるため、ARC参照情報(513)によって参照されるARC情報が、サブピクチャに適用されるのでなく、必ずピクチャ全体に適用される必要があるという更なる欠点を有する。
【0073】
同じ実施形態又は他の一実施形態において、ARCパラメータのシグナリングは、図6A-6Bに概要を示す詳細例に従うことができる。図6は、少なくとも1993年以降の映像符号化標準で使用されるような表記法での構文図を示している。このような構文図の表記は、C様式のプログラミングに大まかに従う。太字のラインはビットストリームに存在する構文要素を示し、太字でないラインは制御フローや変数の設定を示すことが多い。
【0074】
ピクチャの(矩形とし得る)部分に適用可能なヘッダの例示的な構文構造としてのタイルグループヘッダ(601)は、条件付きで、可変長のExp-Golomb符号化構文要素dec_pic_size_idx(602)(太字で示されている)を含むことができる。タイルグループヘッダ内のこの構文要素の存在は、ここでは太字で示されていないフラグの値である適応解像度(603)の使用にてゲーティングされることができ、これが意味することは、構文図の中で発生する箇所で、フラグがビットストリーム中に存在するということである。このピクチャ又はその一部に対して適応解像度が使用されるか否かは、ビットストリームの内側又は外側の任意の高水準構文構造にてシグナリングされることができる。図示した例では、それは、以下に概説するようにシーケンスパラメータセット内でシグナリングされる。
【0075】
図6をなおも参照して、シーケンスパラメータセット(610)の抜粋も示す。図示の最初の構文要素は、adplicative_pic_resolution_change_flag(611)である。真であるとき、このフラグは、適応解像度の使用を指し示すことができ、代わってこれは、特定の制御情報を必要とし得る。この例において、そのような制御情報は、パラメータセット(612)及びタイルグループヘッダ(601)内のif()ステートメントに基づくフラグの値に基づいて、条件付きで存在する。
【0076】
適応解像度が使用されるとき、この例において、出力解像度がサンプル単位で符号化される(613)。参照符号613は、output_pic_width_in_luma_samples及びoutput_pic_height_in_luma_samplesの両方を指しており、これらが一緒になって、出力ピクチャの解像度を定めることができる。映像符号化技術又は標準のどこかで、いずれかの値に対する特定の制限が定められ得る。例えば、これらの2つの構文要素の値の積とし得るものである出力サンプルの総数を、レベル規定が制限することがある。また、特定の映像符号化技術若しくは標準、又は例えばシステム標準などの外部の技術若しくは標準が、ナンバリング範囲(例えば、一方又は両方の次元が2のべき乗の数で除算可能でなければならない)又はアスペクト比(例えば、幅及び高さが例えば4:3又は16:9などの関係になければならない)を制限することがある。このような制限は、ハードウェア実装を容易にするため、又は他の理由のために導入されることがあり、技術的によく知られている。
【0077】
特定の用途において、エンコーダがデコーダに、暗黙的にそのサイズを出力ピクチャサイズと仮定するのではなく、所定の参照ピクチャサイズを使用するように指示することが望ましいことがある。この例では、構文要素reference_pic_size_present_flag(614)が、参照ピクチャ寸法(615)(ここでも、この参照符号は幅及び高さの両方を指している)の条件付き存在をゲーティングする。
【0078】
最後に、可能な復号ピクチャの幅及び高さのテーブルが示されている。このようなテーブルは、例えば、テーブルインジケーション(num_dec_pic_size_in_luma_samples_minus1)(616)によって表されることができる。“minus1”は、この構文要素の値の解釈を指すことができる。例えば、符号化された値がゼロである場合、1つのテーブルエントリが存在し、値が5である場合、6つのテーブルエントリが存在する。テーブル内の各“ライン”で、復号ピクチャの幅及び高さが構文(617)に含められている。
【0079】
提示したテーブルエントリ(617)は、タイルグループヘッダ内の構文要素dec_pic_size_idx(602)を用いて索引付けられることができ、それにより、タイルグループごとに異なる復号サイズ(事実上、ズーム係数)が可能にされる。
【0080】
例えばVP9といった特定の映像符号化技術又は標準は、空間スケーラビリティを可能にするために、時間スケーラビリティと共に、特定の形態の参照ピクチャ再サンプリングを実装することによって空間スケーラビリティをサポートする。特に、特定の参照ピクチャが、ARCスタイルの技術を用いて、より高い解像度へとアップサンプリングされ、空間エンハンスメントレイヤのベースを形成し得る。これらアップサンプリングされたピクチャは、ディテールを追加するよう、その高い解像度で通常の予測機構を用いて精緻化され得る。
【0081】
開示に係る事項は、そのような環境で使用されることができる。特定のケースで、同じ実施形態又は他の一実施形態において、NALユニットヘッダ内の例えば時間ID(Temporal ID)フィールドなどの値が、時間レイヤだけでなく空間レイヤも指し示すために使用され得る。そうすることは、特定のシステム設計に関して一定の利点を有し、例えば、NALユニットヘッダの時間ID値に基づいて選択される時間レイヤのために作成されて最適化された既存の選択転送ユニット(Selected Forwarding Units;SFU)を、スケーラブルな環境のために、変更なく使用することができる。これを可能にするために、符号化ピクチャサイズと時間レイヤとの間のマッピングがNALユニットヘッダ内の時間IDフィールドによって指し示される必要があるとし得る。
【0082】
一部の映像符号化技術では、アクセスユニット(AU)が、時間における所与のインスタンスにおいてキャプチャされてそれぞれピクチャ/スライス/タイル/NALユニットビットストリームへと合成された(1つ以上の)符号化ピクチャ、スライス、タイル、NALユニットなどを参照することができる。この時間インスタンスは合成時間とし得る。
【0083】
HEVC及び他の特定の映像符号化技術では、ピクチャオーダカウント(POC)値が、復号ピクチャバッファ(decoded picture buffer;DPB)に格納された複数の参照ピクチャの中から選択された参照ピクチャを指し示すために使用され得る。アクセスユニット(AU)が1つ以上のピクチャ、スライス又はタイルを有する場合、同一のAUに属する各ピクチャ、スライス又はタイルは、同一のPOC値を担持することができ、それから、それらが同一の合成時間のコンテンツから作成されたものであるということを導出することができる。換言すれば、2つのピクチャ/スライス/タイルが同一のPOC値を担持しているシナリオで、それは、それら2つのピクチャ/スライス/タイルが同じAUに属し且つ同じ合成時間を持つことを指し示すものであるとすることができる。逆に、異なるPOC値を持つ2つのピクチャ/タイル/スライスは、それらのピクチャ/スライス/タイルが異なるAUに属し、異なる合成時間を持つことを指し示すことができる。
【0084】
開示に係る事項の一実施形態において、上述の厳正な関係は、アクセスユニットが異なるPOC値を有する複数のピクチャ、スライス、又はタイルを有することができるという点で緩和され得る。1つのAU内で複数の異なるPOC値を許すことにより、POC値を用いて、等しいプレゼンテーション時間を持つ潜在的に独立して復号可能なピクチャ/スライス/タイルを特定することが可能になる。これは、ひいては、更に詳細に後述するように、参照ピクチャ選択シグナリング(例えば、参照ピクチャセットシグナリング又は参照ピクチャリストシグナリング)の変更なしに、複数のスケーラブルレイヤのサポートを可能にすることができる。
【0085】
しかしながら、POC値のみから、ピクチャ/スライス/タイルが属するAUを、異なるPOC値を持つ他のピクチャ/スライス/タイルに対して識別できることがなおも望ましい。これは、以下に説明するようにして達成されることができる。
【0086】
同じ又は他の実施形態において、アクセスユニットカウント(AUC)が、例えばNALユニットヘッダ、スライスヘッダ、タイルグループヘッダ、SEIメッセージ、パラメータセット、又はAUデリミタなどの高水準構文構造にてシグナリングされ得る。AUCの値は、どのNALユニット、ピクチャ、スライス、又はタイルが所与のAUに属するかを特定するために使用され得る。AUCの値は、区別可能な合成時間インスタンスに対応しているとし得る。AUC値はPOC値の倍数に等しいとし得る。POC値を整数値で除算することにより、AUC値が算出され得る。特定のケースにおいて、除算演算は、デコーダ実装に一定の負担をかけ得る。そのような場合、AUC値のナンバリング空間における小さな制約が、除算演算をシフト演算によって置き換えることを可能にし得る。例えば、AUC値は、POC値範囲の最上位ビット(MSB)値に等しいとし得る。
【0087】
同じ実施形態において、AUごとのPOCサイクルの値(poc_cycle_au)が、例えばNALユニットヘッダ、スライスヘッダ、タイルグループヘッダ、SEIメッセージ、パラメータセット、又はAUデリミタなどの高水準構文構造にてシグナリングされ得る。poc_cycle_auは、どれだけの数の連続した異なるPOC値が同じAUに関連付けられ得るかを指し示し得る。例えば、poc_cycle_auの値が4に等しい場合、両端を含めて0-3に等しいPOC値を持つピクチャ、スライス又はタイルが、0に等しいAUC値を持つAUに関連付けられ、両端を含めて4-7に等しいPOC値を持つピクチャ、スライス又はタイルが、1に等しいAUC値を持つAUに関連付けられる。従って、AUCの値は、POC値をpoc_cycle_auの値で割ることによって推定され得る。
【0088】
同じ実施形態又は他の一実施形態において、poc_cyle_auの値は、例えばビデオパラメータセット(VPS)内に位置した、符号化映像シーケンス内の空間又はSNRレイヤの数を特定する情報から導出され得る。そのような可能な関係を以下にて簡単に説明する。上述の導出は、VPSにおいて数ビットを節約し、従って符号化効率を改善し得るが、例えばピクチャなどのビットストリームの所与の小さい部分に対してpoc_cycle_auを最小化することができるように、階層的にビデオパラメータセットの下で適切な高水準構文構造にてpoc_cycle_auを明示的に符号化することが有利であり得る。この最適化は、POC値(及び/又はPOCを間接的に参照する構文要素の値)が低水準構文構造にて符号化され得るので、上の導出プロセスを通じて節約できるものよりも多くのビットを節約し得る。
【0089】
同じ実施形態又は他の一実施形態において、図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内でvps_poc_cycle_auがシグナリングされる。この場合、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は、関連するワークフローを例示するブロック図を示している。
【0090】
同じ又は他の実施形態において、たとえピクチャ、スライス、又はタイルのPOCの値が異なり得るとしても、同じAUC値を有するAUに対応するピクチャ、スライス、又はタイルは、同じ復号又は出力時間インスタンスに関連付けられ得る。従って、同一のAU内のピクチャ、スライス又はタイルにわたっての相互構文解析/復号依存性なしに、同一のAUに関連付けられたピクチャ、スライス又はタイルの全て又はサブセットが並列に復号され、同じ時間インスタンスで出力され得る。
【0091】
同じ又は他の実施形態において、たとえピクチャ、スライス、又はタイルのPOCの値が異なり得るとしても、同じAUC値を有するAUに対応するピクチャ、スライス、又はタイルは、同じ合成/表示時間インスタンスに関連付けられ得る。合成時間がコンテナ形式で含まれる場合、たとえピクチャが異なるAUに対応していても、それらのピクチャが同じ合成時間を持つ場合には、それらのピクチャは同じ時間インスタンスで表示されることができる。
【0092】
同じ又は他の実施形態において、各ピクチャ、スライス、又はタイルは、同じAU内で同じ時間識別子(temporal_id)を有し得る。ある時間インスタンスに対応するピクチャ、スライス又はタイルの全て又はサブセットが、同じ時間サブレイヤに関連付けられ得る。同じ又は他の実施形態において、各ピクチャ、スライス、又はタイルは、同じAU内で同じ又は異なる空間レイヤID(layer_id)を有し得る。ある時間インスタンスに対応するピクチャ、スライス又はタイルの全て又はサブセットが、同じ又は異なる空間レイヤに関連付けられ得る。
【0093】
図8は、適応解像度変更でのtemporal_id、layer_id、POC、AUC値の組み合わせを有する映像シーケンス構造の一例を示している。この例において、AUC=0の第1のAU内のピクチャ、スライス、タイルは、temporal_id=0及びlayer_id=0又は1を有することができ、AUC=1の第2のAUのピクチャ、スライス、タイルは、temporal_id=1及びlayer_id=0又は1を有することができる。POCの値は、temporal_id及びlayer_idの値に関係なく、ピクチャごとに1ずつ増加される。この例において、poc_cycle_auの値は2に等しいとすることができる。好ましくは、poc_cycle_auの値は、(空間スケーラビリティ)レイヤの数に等しく設定され得る。この例では、従って、POCの値は2ずつ増加され、AUCの値は1ずる増加される。
【0094】
上の実施形態では、HEVCにおける既存の参照ピクチャセット(RPS)シグナリング又は参照ピクチャリスト(RPL)シグナリングを使用することによって、インターピクチャ又はインターレイヤ予測構造及び参照ピクチャインジケーションの全て又はサブセットがサポートされ得る。RPS又はRPLでは、選択された参照ピクチャは、POCの値又は現在ピクチャと選択された参照ピクチャとの間のPOCのデルタ値をシグナリングすることによって指し示される。開示に係る事項では、RPS及びRPLを用いることで、以下の制約はあるが、シグナリングの変更なしに、インターピクチャ又はインターレイヤ予測構造を指し示すことができる。参照ピクチャのtemporal_idの値が現在ピクチャのtemporal_idの値よりも大きい場合、現在ピクチャは、動き補償又は他の予測のためにその参照ピクチャを使用しないとし得る。参照ピクチャのlayer_idの値が現在ピクチャのlayer_idの値よりも大きい場合、現在ピクチャは、動き補償又は他の予測のためにその参照ピクチャを使用しないとし得る。
【0095】
同じ又は他の実施形態において、時間動きベクトル予測に関するPOC差に基づく動きベクトルスケーリングは、アクセスユニット内の複数のピクチャにまたがっては無効にされ得る。従って、アクセスユニット内で各ピクチャは異なるPOC値を有し得るが、動きベクトルは、スケーリングされず、アクセスユニット内での時間動きベクトル予測には使用されない。これは何故なら、同じAU内の異なるPOCを持つ参照ピクチャは、同じ時間インスタンスを持つ参照ピクチャと見なされるからである。従って、実施形態において、参照ピクチャが、現在ピクチャに関連付けられたAUに属する場合、動きベクトルスケーリング関数は1を返し得る。
【0096】
同じ又は他の実施形態において、時間動きベクトル予測に関するPOC差に基づく動きベクトルスケーリングは、参照ピクチャの空間解像度が現在ピクチャの空間解像度と異なる場合には、オプションで、複数のピクチャにまたがっては無効にされ得る。動きベクトルスケーリングが可能にされるとき、動きベクトルは、現在ピクチャと参照ピクチャとの間のPOC差及び空間分解能比の双方に基づいてスケーリングされる。
【0097】
同じ実施形態又は他の一実施形態において、動きベクトルは、特にpoc_cycle_auが不均一な値を有する場合(vps_contant_poc_cycle_per_au==0の場合)、時間動きベクトル予測のために、POC差の代わりにAUC差に基づいてスケーリングされ得る。そうでない場合(vps_contant_poc_cycle_per_au==1の場合)には、AUC差に基づく動きベクトルスケーリングは、POC差に基づく動きベクトルスケーリングと同じになり得る。
【0098】
同じ又は他の実施形態において、動きベクトルがAUC差に基づいてスケーリングされる場合、現在ピクチャと同じAU(同じAUC値を有する)における参照動きベクトルは、AUC差に基づいてスケーリングされず、スケーリングなしで、又は現在ピクチャと参照ピクチャとの間の空間分解能比に基づくスケーリングを用いて、動きベクトル予測に使用される。
【0099】
同じ又は他の実施形態において、AUC値は、AUの境界を特定するために使用され、AU粒度での入力及び出力タイミングを必要とするものである仮説的リファレンスデコーダ(HRD)動作に使用され得る。大抵の場合、AU内の最も高いレイヤを用いた復号ピクチャが表示のために出力され得る。出力ピクチャを特定するためにAUC値及びlayer_id値を使用することができる。
【0100】
一実施形態において、ピクチャは、1つ以上のサブピクチャで構成され得る。各サブピクチャは、ピクチャの局所領域又は全領域をカバーし得る。サブピクチャによってサポートされる領域は、別のサブピクチャによってサポートされる領域と重なり合ってもよいし、重なり合わなくてもよい。1つ以上のサブピクチャによって構成される領域は、ピクチャの全領域をカバーしてもよいし、カバーしなくてもよい。ピクチャが1つのサブピクチャで構成される場合に、そのサブピクチャによってサポートされる領域は、ピクチャによってサポートされる領域と同じである。
【0101】
同じ実施形態において、サブピクチャは、符号化されるピクチャに使用される符号化方法と同様の符号化方法によって符号化され得る。サブピクチャは、別のサブピクチャ又は符号化ピクチャに独立して符号化されてもよいし、依存して符号化されてもよい。サブピクチャは、別のサブピクチャ又は符号化ピクチャからの何らかの構文解析依存性を有してもよいし、有しなくてもよい。
【0102】
同じ実施形態において、符号化サブピクチャは、1つ以上のレイヤに含まれ得る。レイヤ内の符号化サブピクチャは、異なる空間分解能を有し得る。元のサブピクチャが、空間的に再サンプリング(アップサンプリング又はダウンサンプリング)され、異なる空間解像度パラメータで符号化され、そして、レイヤに対応するビットストリームに含められ得る。
【0103】
同じ実施形態又は他の一実施形態において、Wはサブピクチャの幅を示し且つHはサブピクチャの高さを示すとして、(W,H)を有するサブピクチャが、レイヤ0に対応する符号化ビットストリームに符号化されて含められ、Sw,k、Sh,kは水平方向及び垂直方向の再サンプリング比を示すとして、(W*Sw,k,H*Sh,k)の、元の空間分解能を持つサブピクチャからアップサンプリング(又はダウンサンプリング)されたサブピクチャが、レイヤkに対応する符号化ビットストリームに符号化されて含められ得る。Sw,k、Sh,kの値が1より大きい場合、その再サンプリングはアップサンプリングに等しい。Sw,k、Sh,kの値が1より小さい場合、その再サンプリングはダウンサンプリングに等しい。
【0104】
同じ実施形態又は他の一実施形態において、レイヤ内の符号化サブピクチャは、同じサブピクチャ又は異なるサブピクチャ内の別のレイヤの符号化サブピクチャのものとは異なる視覚品質を持ち得る。例えば、レイヤn内のサブピクチャiは量子化パラメータQi,nで符号化され、レイヤm内のサブピクチャjは量子化パラメータQj,mで符号化される。
【0105】
同じ実施形態又は他の一実施形態において、レイヤ内の符号化サブピクチャは、同じ局所領域の別のレイヤ内の符号化サブピクチャからの構文解析又は復号依存性なしで、独立して復号可能であり得る。同じ局所領域の別のサブピクチャレイヤを参照することなく独立して復号可能であるとすることができるサブピクチャレイヤを、独立サブピクチャレイヤである。独立サブピクチャレイヤ内の符号化サブピクチャは、同じサブピクチャレイヤ内の先に符号化されたサブピクチャからの復号又は構文解析依存性を有していてもよいし、有しなくてもよいが、符号化サブピクチャは、別のサブピクチャレイヤ内の符号化ピクチャからの如何なる依存性も有しないとし得る。
【0106】
同じ実施形態又は他の一実施形態において、レイヤ内の符号化サブピクチャは、同じ局所領域の別のレイヤ内の符号化サブピクチャからの構文解析又は復号依存性ありで、従属して復号可能であってもよい。同じ局所領域の別のサブピクチャレイヤを参照して従属的に復号可能であるとすることができるサブピクチャレイヤを、従属サブピクチャレイヤとする。従属サブピクチャレイヤ内の符号化サブピクチャは、同じサブピクチャに属する符号化サブピクチャ、同じサブピクチャレイヤ内の先に符号化されたサブピクチャ、又は両方の参照サブピクチャを参照し得る。
【0107】
同じ実施形態又は他の一実施形態において、符号化サブピクチャは、1つ以上の独立サブピクチャレイヤと1つ以上の従属サブピクチャレイヤとで構成される。しかしながら、少なくとも1つの独立サブピクチャレイヤが符号化サブピクチャに存在し得る。独立サブピクチャレイヤは、NALユニットヘッダ又は他の高水準構文構造内に存在し得るものである0に等しいレイヤ識別子(layer_id)の値を持ち得る。0に等しいlayer_idを有するサブピクチャレイヤを、ベースサブピクチャレイヤとし得る。
【0108】
同じ実施形態又は他の一実施形態において、ピクチャは、1つ以上の前景サブピクチャと1つの背景サブピクチャとで構成される。背景サブピクチャによってサポートされる領域は、ピクチャの領域と等しいとし得る。前景サブピクチャによってサポートされる領域は、背景サブピクチャによってサポートされる領域と重なり合い得る。背景サブピクチャはベースサブピクチャレイヤとすることができ、前景サブピクチャは非ベース(エンハンスメント)サブピクチャレイヤとすることができる。1つ以上の非ベースサブピクチャレイヤが、復号のために同じベースレイヤを参照し得る。aはbより大きいとして、aに等しいlayer_idを有する各非ベースサブピクチャレイヤは、bに等しいlayer_idを有する非ベースサブピクチャレイヤを参照し得る。
【0109】
同じ実施形態又は他の一実施形態において、ピクチャは、背景サブピクチャありで又はなしで、1つ以上の前景サブピクチャで構成され得る。各サブピクチャが、それ自身のベースサブピクチャレイヤと1つ以上の非ベース(エンハンスメント)レイヤとを有し得る。各ベースサブピクチャレイヤは、1つ以上の非ベースサブピクチャレイヤによって参照され得る。aはbより大きいとして、aに等しいlayer_idを有する各非ベースサブピクチャレイヤは、bに等しいlayer_idを有する非ベースサブピクチャレイヤを参照し得る。
【0110】
同じ実施形態又は他の一実施形態において、ピクチャは、背景サブピクチャありで又はなしで、1つ以上の前景サブピクチャで構成され得る。(ベース又は非ベース)サブピクチャレイヤ内の各符号化サブピクチャは、同じサブピクチャに属する1つ以上の非ベースレイヤサブピクチャ、及び同じサブピクチャに属しない1つ以上の非ベースレイヤサブピクチャによって参照され得る。
【0111】
同じ実施形態又は他の一実施形態において、ピクチャは、背景サブピクチャありで又はなしで、1つ以上の前景サブピクチャで構成され得る。レイヤa内のサブピクチャが更に、同じレイヤ内の複数のサブピクチャに分割されてもよい。レイヤb内の1つ以上の符号化サブピクチャが、レイヤa内の分割されたサブピクチャを参照してもよい。
【0112】
同じ実施形態又は他の一実施形態において、符号化映像シーケンス(CVS)は、一群の符号化ピクチャであるとし得る。CVSは、1つ以上の符号化サブピクチャシーケンス(CSPS)で構成されることができ、CSPSは、ピクチャの同じ局所領域をカバーする一群の符号化サブピクチャであるとし得る。CSPSは、符号化映像シーケンスと同じ又は異なる時間解像度を持ち得る。
【0113】
同じ実施形態又は他の一実施形態において、CSPSは、1つ以上のレイヤに符号化されて含められ得る。CSPSは、1つ以上のCSPSレイヤで構成され得る。あるCSPSに対応する1つ以上のCSPSレイヤを復号することで、同じ局所領域に対応するサブピクチャのシーケンスを再構成することができる。
【0114】
同じ実施形態又は他の一実施形態において、あるCSPSに対応するCSPSレイヤの数は、別のCSPSに対応するCSPSレイヤの数と同じであってもよいし、異なってもよい。
【0115】
同じ実施形態又は他の一実施形態において、CSPSレイヤは、別のCSPSレイヤとは異なる時間解像度(例えば、フレームレート)を持ち得る。元の(未圧縮)サブピクチャシーケンスが、時間的に再サンプリング(アップサンプリング又はダウンサンプリング)され、異なる時間解像度パラメータで符号化され、そして、レイヤに対応するビットストリームに含められ得る。
【0116】
同じ実施形態又は他の一実施形態において、フレームレートFを有するサブピクチャシーケンスが、レイヤ0に対応する符号化ビットストリームに符号化されて含められ、St,kはレイヤkに対する時間サンプリング比を示すとして、F*St,kを有する、元のサブピクチャシーケンスから時間的にアップサンプリング(又はダウンサンプリング)されたサブピクチャシーケンスが、レイヤkに対応する符号化ビットストリームに符号化されて含められ得る。St,kの値が1より大きい場合、その時間再サンプリングプロセスはフレームレートアップ変換に等しい。St,kの値が1より小さい場合、その時間再サンプリングプロセスはフレームレートダウン変換に等しい。
【0117】
同じ実施形態又は他の一実施形態において、CSPSレイヤaを有するサブピクチャが、動き補償又は何らかのインターレイヤ予測のために、CSPSレイヤbを有するサブピクチャによって参照されるとき、CSPSレイヤaの空間解像度がCSPSレイヤbの空間解像度とは異なる場合、CSPSレイヤa内の復号されたピクセルが再サンプリングされ、参照のために使用される。この再サンプリングプロセスは、アップサンプリングフィルタリング又はダウンサンプリングフィルタリングを必要とし得る。
【0118】
図11は、0に等しいlayer_idを有する背景映像CSPSと、複数の前景CSPSレイヤとを含む映像ストリームの一例を示している。符号化サブピクチャは、1つ以上のCSPSレイヤで構成されることができる、いずれの前景CSPSレイヤにも属さないものである背景領域はベースレイヤで構成されることができる。ベースレイヤは背景領域及び前景領域を含むことができ、エンハンスメントCSPSレイヤは前景領域を含む。エンハンスメントCSPSレイヤは、同じ領域においてベースレイヤよりも良好な視覚品質を有し得る。エンハンスメントCSPSレイヤは、同じ領域に対応するベースレイヤの再構成されたピクセル及び動きベクトルを参照し得る。
【0119】
同じ実施形態又は他の一実施形態において、ベースレイヤに対応する映像ビットストリームはトラックに含められ、各サブピクチャに対応するCSPSレイヤは、映像ファイル内の分離されたトラックに含められる。
【0120】
同じ実施形態又は他の一実施形態において、ベースレイヤに対応する映像ビットストリームはトラックに含められ、同じレイヤIDを持つCSPSレイヤが、分離されたトラックに含められる。この例において、レイヤkに対応するトラックは、レイヤkに対応するCSPSレイヤのみを含む。
【0121】
同じ実施形態又は他の一実施形態において、各サブピクチャの各CSPSレイヤが別々のトラックに格納される。各トラックは、1つ以上の他のトラックからの構文解析又は復号依存性を有していてもよいし、有しなくてもよい。
【0122】
同じ実施形態又は他の一実施形態において、0<i=<j=<kであり、kはCSPSの最上レイヤであるとして、各トラックは、サブピクチャの全て又はサブセットのCSPSレイヤのレイヤiからレイヤjに対応するビットストリームを含み得る。
【0123】
同じ実施形態又は他の一実施形態において、ピクチャは、奥行きマップ、アルファマップ、3Dジオメトリデータ、占有率マップなどを含む1つ以上の関連メディアデータで構成される。そのような関連する時間付きメディデータは、各々が1つのサブピクチャに対応する1つ又は複数のデータサブストリームに分割されることができる。
【0124】
同じ実施形態又は他の一実施形態において、図12は、マルチレイヤ化サブピクチャ法に基づくビデオ会議の一例を示している。映像ストリームに、背景ピクチャに対応する1つのベースレイヤ映像ビットストリームと、前景サブピクチャに対応する1つ以上のエンハンスメントレイヤ映像ビットストリームとが含まれる。各エンハンスメントレイヤ映像ビットストリームがCSPSレイヤに対応する。ディスプレイに、ベースレイヤに対応するピクチャがデフォルトで表示される。これは、一人以上のユーザのピクチャ・イン・ピクチャ(PIP)を含んでいる。特定のユーザがクライアントの制御によって選択されると、選択されたユーザに対応するエンハンスメントCSPSレイヤが復号され、高められた品質又は空間解像度で表示される。図13は、動作の図を示している。
【0125】
同じ実施形態又は他の一実施形態において、ネットワーク中間ボックス(例えば、ルータなど)が、その帯域幅に応じて、複数のレイヤのうちユーザに送信すべきサブセットを選択し得る。ピクチャ/サブピクチャ編成が、帯域幅適応に使用され得る。例えば、ユーザが帯域幅を持たない場合、ルータは、重要性によって又は使用セットアップに基づいて、レイヤを剥ぎ取り又は一部のサブピクチャを選択し、これは、帯域幅に適応するように動的に行われることができる。
【0126】
図14は、360映像のユースケースを示している。球形の360ピクチャが平面ピクチャ上に投影されるとき、投影360ピクチャは、ベースレイヤとしての複数のサブピクチャに分割され得る。特定のサブピクチャのエンハンスメントレイヤが符号化されてクライアントに送信され得る。デコーダは、全てのサブピクチャを含むベースレイヤと、選択されたサブピクチャのエンハンスメントレイヤとの両方を復号することができ得る。現在のビューポートが選択されたサブピクチャと同じある場合、表示されるピクチャは、エンハンスメントレイヤを有する復号サブピクチャを用いて、より高い品質を有し得る。そうでない場合には、ベースレイヤを有する復号ピクチャを、低い品質で表示することができる。
【0127】
同じ実施形態又は他の一実施形態において、表示のための何らかのレイアウト情報が、補足情報(例えばSEIメッセージ又はメタデータなど)としてファイル内に存在し得る。1つ以上の復号サブピクチャが、シグナリングされたレイアウト情報に応じて再配置されて表示され得る。レイアウト情報は、ストリーミングサーバ又はブロードキャスタによってシグナリングされてもよいし、ネットワークエンティティ又はクラウドサーバによって再生成されてもよいし、あるいは、ユーザのカスタマイズ設定によって決定されてもよい。
【0128】
一実施形態において、入力ピクチャが1つ以上の(矩形の)サブ領域に分割されるとき、各サブ領域が、独立したレイヤとして符号化され得る。局所領域に対応する各独立レイヤが、固有のlayer_id値を有し得る。各独立レイヤについて、サブピクチャサイズ及び位置情報がシグナリングされ得る。例えば、ピクチャサイズ(幅、高さ)、左上隅のオフセット情報(x_offset、y_offset)。図15は、分割されたサブピクチャのレイアウト、そのサブピクチャサイズ及び位置情報、並びに対応するピクチャ予測構造の一例を示している。(1つ以上の)サブピクチャサイズ及び(1つ以上の)サブピクチャ位置を含むこのレイアウト情報は、例えば(1つ以上の)パラメータセット、スライス若しくはタイルグループのヘッダ、又はSEIメッセージなどの高水準構文構造にてシグナリングされ得る。
【0129】
同じ実施形態において、独立したレイヤに対応する各サブピクチャは、AU内にその固有のPOC値を有し得る。DPBに格納された複数のピクチャの中のある参照ピクチャが、RPS又はRPL構造内の(1つ以上の)構文要素を用いることによって指し示されるとき、レイヤに対応する各サブピクチャの(1つ以上の)POC値が使用され得る。
【0130】
同じ実施形態又は他の一実施形態において、(インターレイヤ)予測構造を示すために、layer_idは使用されずに、POC(デルタ)値が使用されてもよい。
【0131】
同じ実施形態において、レイヤ(又は局所領域)に対応するNに等しいPOC値を有するサブピクチャが、動き補償予測のために、同じレイヤ(又は同じ局所領域)に対応するN+Kに等しいPOC値を有するサブピクチャの参照ピクチャとして使用されたり使用されなかったりし得る。大抵の場合、数Kの値は、サブ領域の数に等しいとし得るものである(独立した)レイヤの最大数に等しいとし得る。
【0132】
同じ実施形態又は他の一実施形態において、図16は、図15の拡張ケースを示している。入力ピクチャが複数の(例えば、4つの)サブ領域に分割されるとき、各局所領域が、1つ以上のレイヤで符号化され得る。この場合、独立したレイヤの数は、サブ領域の数に等しいとすることができ、1つ以上のレイヤがサブ領域に対応し得る。従って、各サブ領域が、1つ以上の独立レイヤとゼロ以上の従属レイヤとで符号化され得る。
【0133】
同じ実施形態において、図16で、入力ピクチャは4つのサブ領域に分割され得る。右上のサブ領域は、レイヤ1及びレイヤ4である2つのレイヤとして符号化され、右下のサブ領域は、レイヤ3及びレイヤ5である2つのレイヤとして符号化され得る。この場合、レイヤ4は、動き補償予測のためにレイヤ1を参照し、レイヤ5は、動き補償のためにレイヤ3を参照し得る。
【0134】
同じ実施形態又は他の一実施形態において、レイヤ境界にまたがるインループ(in-loop)フィルタリング(例えば、デブロッキングフィルタリング、適応インループフィルタリング、リシェイパ、バイラテラルフィルタリング、又は任意のディープラーニングベースのフィルタリング)は、(オプションで)無効にされ得る。
【0135】
同じ実施形態又は他の一実施形態において、レイヤ境界にまたがる動き補償予測又はイントラブロックコピーは、(オプションで)無効にされ得る。
【0136】
同じ実施形態又は他の一実施形態において、サブピクチャの境界における動き補償予測又はインループフィルタリングのための境界パディングが、オプションで処理され得る。境界パディングが処理されるか否かを指し示すフラグが、例えば(1つ以上の)パラメータセット(VPS、SPS、PPS、若しくはAPS)、スライス若しくはタイルグループヘッダ、又はSEIメッセージなどの高水準構文構造にてシグナリングされ得る。
【0137】
同じ実施形態又は他の一実施形態において、(1つ以上の)サブ領域(又は(1つ以上の)サブピクチャ)のレイアウト情報は、VPS又はSPS内でシグナリングされてもよい。図17は、VPS及びSPSにおける構文要素の例を示している。この例では、vps_sub_picturing_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つ以上の)入力ピクチャの幅と高さに等しいとし得る。
【0138】
同じ実施形態において、vps_full_pic_width_in_luma_samples及びvps_full_pic_height_in_luma_samplesの値は、復号に使用されずに、合成及び表示に使用されてもよい。
【0139】
同じ実施形態において、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内でシグナリングされ得る。
【0140】
同じ実施形態において、サブ領域の左上隅の位置情報(pic_offset_x、pic_offset_y)は、復号に使用されずに、合成及び表示に使用されてもよい。
【0141】
同じ実施形態又は他の一実施形態において、(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_dipendency_flag[i][j]は、j番目のレイヤからi番目のレイヤへの依存性を示す。num_layers_for_region[i]は、i番目のサブ領域に関連するレイヤの数を示す。sub_region_layer_id[i][j]は、i番目のサブ領域に関連するj番目のレイヤのlayer_idを示す。sub_region_offset_x[i]及びsub_region_offset_y[i]は、それぞれ、i番目のサブ領域の左上隅の水平及び垂直位置を示す。sub_region_width[i]及びsub_region_height[i]は、それぞれ、i番目のサブ領域の幅及び高さを示す。
【0142】
一実施形態において、プロファイルティアレベル情報あり又はなしで出力される1つ以上のレイヤを示すように出力レイヤセットを指定する1つ以上の構文要素が、例えば、VPS、DPS、SPS、PPS、APS、又はSEIメッセージといった高水準構文構造にてシグナリングされ得る。図19を参照するに、VPSを参照する符号化映像シーケンス内の出力レイヤセット(OLS)の数を示す構文要素num_output_layer_setsが、VPS内でシグナリングされ得る。各出力レイヤセットに対して、output_layer_flagが出力レイヤの数と同じだけシグナリングされ得る。
【0143】
同じ実施形態において、1に等しいoutput_layer_flag[i]は、i番目のレイヤが出力されることを規定する。0に等しいvps_output_layer_flag[i]は、i番目のレイヤが出力されないことを規定する。
【0144】
同じ実施形態又は他の一実施形態において、各出力レイヤセットについてのプロファイルティアレベル情報を規定する1つ以上の構文要素が、例えば、VPS、DPS、SPS、PPS、APS又はSEIメッセージといった高水準構文構造にてシグナリングされ得る。なおも図19を参照するに、VPSを参照する符号化映像シーケンス内のOLSごとのプロファイルティアレベル情報の数を示す構文要素num_profile_tile_levelが、VPS内でシグナリングされ得る。各出力レイヤセットに対して、プロファイルティアレベル情報のための構文要素のセット、又はプロファイルティアレベル情報内のエントリの中の特定のプロファイルティアレベル情報を指し示すインデックスが、出力レイヤの数と同じだけシグナリングされ得る。
【0145】
同じ実施形態において、profile_tier_level_idx[i][j]は、VPS内のprofile_tier_level()構文構造のリスト中の、i番目のOLSのj番目のレイヤに適用されるprofile_tier_level()構文構造のインデックスを規定する。
【0146】
同じ実施形態又は他の一実施形態において、図20を参照するに、最大レイヤ数が1より大きいとき(vps_max_layers_minus1>0)、構文要素num_profile_tile_level及び/又はnum_output_layer_setsがシグナリングされ得る。
【0147】
同じ実施形態又は他の一実施形態において、図20を参照するに、i番目の出力レイヤセットについての出力レイヤシグナリングのモードを示す構文要素vps_output_layers_mode[i]が、VPS内に存在してもよい。
【0148】
同じ実施形態において、0に等しいvps_output_layers_mode[i]は、最上位のレイヤのみがi番目の出力レイヤセットで出力されることを規定する。1に等しいvps_output_layer_mode[i]は、全てのレイヤがi番目の出力レイヤセットで出力されることを規定する。2に等しいvps_output_layer_mode[i]は、出力されるレイヤが、i番目の出力レイヤセットで1に等しいvps_output_layer_flag[i][j]を有するレイヤであることを規定する。より多くの値がリザーブされてもよい。
【0149】
同じ実施形態において、i番目の出力レイヤセットについてのvps_output_layers_mode[i]の値に応じて、output_layer_flag[i][j]がシグナリングされたりされなかったりし得る。
【0150】
同じ実施形態又は他の一実施形態において、図20を参照するに、フラグvps_ptl_signal_flag[i]が、i番目の出力レイヤセットに対して存在してもよい。vps_ptl_signal_flag[i]の値に応じて、i番目の出力レイヤセットについてのプロファイルティアレベル情報がシグナリングされたりされなかったりし得る。
【0151】
同じ実施形態又は他の一実施形態において、図21を参照するに、現在CVS内のサブピクチャの数max_subpics_minus1が、例えば、VPS、DPS、SPS、PPS、APS、又はSEIメッセージといった高水準構文構造にてシグナリングされ得る。
【0152】
同じ実施形態において、図21を参照するに、サブピクチャの数が1より多い場合(max_subpics_minus1>0)、i番目のサブピクチャについてのサブピクチャ識別子sub_pic_id[i]がシグナリングされ得る。
【0153】
同じ実施形態又は他の一実施形態において、各出力レイヤセットの各レイヤに属するサブピクチャ識別子を示す1つ以上の構文要素が、VPS内でシグナリングされ得る。図21を参照するに、sub_pic_id_layer[i][j][k]は、i番目の出力レイヤセットのj番目のレイヤに存在するk番目のサブピクチャを指し示すものである。これらの情報を用いて、デコーダは、特定の出力レイヤセットの各レイヤについて、どのサブピクチャが復号されて出力され得るかを認識することができる。
【0154】
一実施形態において、ピクチャヘッダ(PH)は、符号化ピクチャの全てのスライスに適用される構文要素を含む構文構造である。ピクチャユニット(PU)は、規定された分類規則に従って互いに関連付けられ、復号順に連続し、且つ正確に1つの符号化ピクチャを含むNALユニットの集合である。PUは、ピクチャヘッダ(PH)と、符号化ピクチャを有する1つ以上のVCL NALユニットとを含み得る。
【0155】
一実施形態において、SPS(RBSP)が、それが参照される前に復号プロセスに利用可能にされ、0に等しいTemporalIdを有する少なくとも1つのAUに含められ、又は外部手段を介して提供され得る。
【0156】
一実施形態において、SPS(RBSP)は、それが参照される前に復号プロセスに利用可能にされ、該SPSを参照する1つ以上のPPSを含み得るものであるCVS内で0に等しいTemporalIdを有する少なくとも1つのAUに含められ、又は外部手段を介して提供され得る。
【0157】
一実施形態において、SPS(RBSP)が、それが1つ以上のPPSによって参照される前に復号プロセスに利用可能にされ、該SPSを参照する1つ以上のPPSを含み得るものであるCVS内のSPS NALユニットを参照するPPS NALユニットの最も低いnuh_layer_id値に等しいnuh_layer_idを有する少なくとも1つのPUに含められ、又は外部手段を介して提供され得る。
【0158】
一実施形態において、SPS(RBSP)が、それが1つ以上のPPSによって参照される前に復号プロセスに利用可能にされ、0に等しいTemporalIdと、SPS NALユニットを参照するPPS NALユニットの最も低いnuh_layer_id値に等しいnuh_layer_idと、を有する少なくとも1つのPUに含められ、又は外部手段を介して提供され得る。
【0159】
一実施形態において、SPS(RBSP)が、それが1つ以上のPPSによって参照される前に復号プロセスに利用可能にされ、0に等しいTemporalIdと、該SPSを参照する1つ以上のPPSを含み得るものであるCVS内のSPS NALユニットを参照するPPS NALユニットの最も低いnuh_layer_id値に等しいnuh_layer_idと、を有する少なくとも1つのPUに含められ、又は外部手段を介して提供され得る。
【0160】
同じ実施形態又は他の一実施形態において、pps_seq_parameter_set_idは、参照されるSPSについてのsps_seq_parameter_set_idの値を規定する。pps_seq_parameter_set_idの値は、CLVS内の符号化ピクチャによって参照される全てのPPSにおいて同じとし得る。
【0161】
同じ実施形態又は他の一実施形態において、CVS内の特定の値のsps_seq_parameter_set_idを有する全てのSPS NALユニットは、同じコンテンツを有し得る。
【0162】
同じ実施形態又は他の一実施形態において、nuh_layer_id値に関係なく、SPS NALユニットは、sps_seq_parameter_set_idの同じ値空間を共有し得る。
【0163】
同じ実施形態又は他の一実施形態において、SPS NALユニットのnuh_layer_id値は、SPS NALユニットを参照するPPS NALユニットの最も低いnuh_layer_id値に等しいとし得る。
【0164】
一実施形態において、mに等しいnuh_layer_idを有するSPSが、nに等しいnuh_layer_idを有する1つ以上のPPSによって参照されるとき、mに等しいnuh_layer_idを有するレイヤは、nに等しいnuh_layer_idを有するレイヤ又はmに等しいnuh_layer_idを有するレイヤの(直接又は間接)参照レイヤと同じとし得る。
【0165】
一実施形態において、PPS(RBSP)が、それが参照される前に復号プロセスに利用可能にされることができ、PPS NALユニットのTemporalIdに等しいTemporalIdを有する少なくとも1つのAUに含められ、又は外部手段を介して提供され得る。
【0166】
一実施形態において、PPS(RBSP)が、それが参照される前に復号プロセスに利用可能にされることができ、該PPSを参照する1つ以上のPH(又は符号化スライスNALユニット)を含むものであるCVS内のPPS NALユニットのTemporalIdに等しいTemporalIdを有する少なくとも1つのAUに含められ、又は外部手段を介して提供され得る。
【0167】
一実施形態において、PPS(RBSP)が、それが1つ以上のPH(又は符号化スライスNALユニット)によって参照される前に復号プロセスに利用可能にされることができ、該PPSを参照する1つ以上のPH(又は符号化スライスNALユニット)を含むものであるCVS内のPPS NALユニットを参照する符号化スライスNALユニットの最も低いnuh_layer_idに等しいnuh_layer_idを有する少なくとも1つのPUに含められ、又は外部手段を介して提供され得る。
【0168】
一実施形態において、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に含められ、又は外部手段を介して提供され得る。
【0169】
同じ実施形態又は他の一実施形態において、PH内のph_pic_parameter_set_idは、使用される参照PPSに関するpps_pic_parameter_set_idの値を規定する。pps_seq_parameter_set_idの値は、CLVS内の符号化ピクチャによって参照される全てのPPSにおいて同じとし得る。
【0170】
同じ実施形態又は他の一実施形態において、PU内の特定の値のpps_pic_parameter_set_idを有する全てのPPS NALユニットは、同じコンテンツを有する。
【0171】
同じ実施形態又は他の一実施形態において、nuh_layer_id値に関係なく、PPS NALユニットは、pps_pic_parameter_set_idの同じ値空間を共有し得る。
【0172】
同じ実施形態又は他の一実施形態において、PPS NALユニットのnuh_layer_id値は、該PPS NALユニットを参照するNALユニットを参照する符号化スライスNALユニットの最も低いnuh_layer_id値に等しいとし得る。
【0173】
一実施形態において、mに等しいnuh_layer_idを有するPPSが、nに等しいnuh_layer_idを有する1つ以上の符号化スライスNALユニットによって参照されるとき、mに等しいnuh_layer_idを有するレイヤは、nに等しいnuh_layer_idを有するレイヤ又はmに等しいnuh_layer_idを有するレイヤの(直接又は間接)参照レイヤと同じとし得る。
【0174】
一実施形態において、PPS(RBSP)が、それが参照される前に復号プロセスに利用可能にされることができ、PPS NALユニットのTemporalIdに等しいTemporalIdを有する少なくとも1つのAUに含められ、又は外部手段を介して提供され得る。
【0175】
一実施形態において、PPS(RBSP)が、それが参照される前に復号プロセスに利用可能にされることができ、該PPSを参照する1つ以上のPH(又は符号化スライスNALユニット)を含むものであるCVS内のPPS NALユニットのTemporalIdに等しいTemporalIdを有する少なくとも1つのAUに含められ、又は外部手段を介して提供され得る。
【0176】
一実施形態において、PPS(RBSP)が、それが1つ以上のPH(又は符号化スライスNALユニット)によって参照される前に復号プロセスに利用可能にされることができ、該PPSを参照する1つ以上のPH(又は符号化スライスNALユニット)を含むものであるCVS内のPPS NALユニットを参照する符号化スライスNALユニットの最も低いnuh_layer_idに等しいnuh_layer_idを有する少なくとも1つのPUに含められ、又は外部手段を介して提供され得る。
【0177】
一実施形態において、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に含められ、又は外部手段を介して提供され得る。
【0178】
同じ実施形態又は他の一実施形態において、PH内のph_pic_parameter_set_idは、使用される参照PPSに関するpps_pic_parameter_set_idの値を規定する。pps_seq_parameter_set_idの値は、CLVS内の符号化ピクチャによって参照される全てのPPSにおいて同じとし得る。
【0179】
同じ実施形態又は他の一実施形態において、PU内の特定の値のpps_pic_parameter_set_idを有する全てのPPS NALユニットは、同じコンテンツを有し得る。
【0180】
同じ実施形態又は他の一実施形態において、nuh_layer_id値に関係なく、PPS NALユニットは、pps_pic_parameter_set_idの同じ値空間を共有し得る。
【0181】
同じ実施形態又は他の一実施形態において、PPS NALユニットのnuh_layer_id値は、該PPS NALユニットを参照するNALユニットを参照する符号化スライスNALユニットの最も低いnuh_layer_id値に等しいとし得る。
【0182】
一実施形態において、mに等しいnuh_layer_idを有するPPSが、nに等しいnuh_layer_idを有する1つ以上の符号化スライスNALユニットによって参照されるとき、mに等しいnuh_layer_idを有するレイヤは、nに等しいnuh_layer_idを有するレイヤ又はmに等しいnuh_layer_idを有するレイヤの(直接又は間接)参照レイヤと同じとし得る。
【0183】
出力レイヤは、出力される出力レイヤセットのうちのレイヤを指す。出力レイヤセット(output layer set;OLS)は、指定された一組のレイヤからなるレイヤのセットを指し、当該レイヤのセット内の1つ以上のレイヤが、出力レイヤであるように指定される。出力レイヤセット(OLS)レイヤインデックスは、OLS内のレイヤの、OLS内のレイヤのリストに対するインデックスである。
【0184】
サブレイヤは、時間的にスケーラブルなビットストリームの時間スケーラブルレイヤを指し、特定の値のTemporalId変数を持つVCL NALユニットと、関連する非VCL NALユニットとで構成される。サブレイヤ表現は、ある特定のサブレイヤとそれより下位のサブレイヤとのNALユニットで構成されるビットストリームのうちのサブセットを指す。
【0185】
VPS RBSPは、それが参照される前に復号プロセスに利用可能にされることができ、0に等しいTemporalIdを有する少なくとも1つのAUに含められ、又は外部手段を介して提供され得る。CVS内の特定の値のvps_video_parameter_set_idを有する全てのVPS NALユニットは、同じコンテンツを有し得る。図22は、VPS RBSPの一例を示している。
【0186】
vps_video_parameter_set_idは、他の構文要素による参照のためのVPSに対する識別子を提供する。vps_video_parameter_set_idの値は、0より大きいとし得る。
【0187】
vps_max_layers_minus1+1は、各CVSにおけるVPSを参照するレイヤの最大許容数を規定する。
【0188】
vps_max_sublayers_minus1+1は、各CVSにおけるVPSを参照するレイヤ内に存在し得る時間サブレイヤの最大数を規定する。vps_max_sublayers_minus1の値は、両端を含めて0から6の範囲内とし得る。
【0189】
1に等しいvps_all_layers_same_num_sublayers_flagは、VPSを参照する各CVS内の全ての層について時間サブレイヤの数が同じであることを規定する。0に等しいvps_all_layers_same_num_sublayers_flagは、VPSを参照する各CVS内のレイヤが同じ数の時間サブレイヤを持つこともあれば持たないこともあることを規定する。存在しない場合、vps_all_layers_same_num_sublayers_flagの値は1に等しいと推定される。
【0190】
1に等しいvps_all_independent_layers_flagは、CVS内の全てのレイヤがインターレイヤ予測を用いずに独立に符号化されることを規定する。0に等しいvps_all_independent_layers_flagは、CVS内のレイヤのうちの1つ以上がインターレイヤ予測を使用し得ることを規定する。存在しない場合、vps_all_independent_layers_flagの値は1に等しいと推定される。
【0191】
vps_layer_id[i]は、i番目のレイヤのnuh_layer_id値を規定する。任意の2つの非負の整数値m及びnについて、mがnより小さい場合、vps_layer_id[m]の値はvps_layer_id[n]よりも小さいとし得る。
【0192】
1に等しいvps_independent_layer_flag[i]は、インデックスiを持つレイヤがインターレイヤ予測を用いないことを規定する。0に等しいvps_independent_layer_flag[i]は、インデックスiを持つレイヤがインターレイヤ予測を用い得ること、及び両端を含めて0からi-1までの範囲内のjに対して、構文要素vps_direct_ref_layer_flag[i][j]がVPS内に存在することを規定する。存在しない場合、vps_independent_layer_flag[i]の値は1に等しいと推定される。
【0193】
0に等しいvps_direct_ref_layer_flag[i][j]は、インデックスjを持つレイヤが、インデックスiを持つレイヤの直接参照レイヤでないことを規定する。1に等しいvps_direct_ref_layer_flag[i][j]は、インデックスjを持つレイヤが、インデックスiを持つレイヤの直接参照レイヤであることを規定する。両端を含めて0からvps_max_layers_minus1の範囲内のi及びjに対してvps_direct_ref_layer_flag[i][j]が存在しない場合、それは0に等しいと推定される。vps_independent_layer_flag[i]が0に等しいとき、両端を含めて0からi-1までの範囲内のjの値が少なくとも1つ存在するとすることができ、vps_direct_ref_layer_flag[i][j]が1に等しくなる。
【0194】
変数NumDirectRefLayers[i]、DirectRefLayerIdx[i][d]、NumRefLayers[i]、RefLayerIdx[i][r]、及びLayerUsedAsRefLeyerFlag[j]が、次のように導出される:
for(i=0;i<=vps_max_layers_minus1;i++){
for(j=0;j<=vps_max_layers_minus1;j++){
dependencyFlag[i][j]=vps_direct_ref_layer_flag[i][j]
for(k=0;k<i;k++)
if(vps_direct_ref_layer_flag[i][k]&&dependencyFlag[k][j])
dependencyFlag[i][j]=1
}
LayerUsedAsRefLayerFlag[i]=0
}
for(i=0;i<=vps_max_layers_minus1;i++){
for(j=0,d=0,r=0;j<=vps_max_layers_minus1;j++){
if(vps_direct_ref_layer_flag[i][j]){
DirectRefLayerIdx[i][d++]=j
LayerUsedAsRefLayerFlag[j]=1
}
if(dependencyFlag[i][j])
RefLayerIdx[i][r++]=j
}
NumDirectRefLayers[i]=d
NumRefLayers[i]=r
}
【0195】
vps_layer_id[i]に等しいnuh_layer_idを持つレイヤのレイヤインデックスを規定する変数GeneralLayerIdx[i]が、次のように導出される:
for(i=0;i<=vps_max_layers_minus1;i++)
GeneralLayerIdx[vps_layer_id[i]]=i
【0196】
どちらも、両端を含めて0からvps_max_layers_minus1の範囲内の、i及びjという任意の2つの異なる値に対して、dependencyFlag[i][j]が1に等しい場合、i番目のレイヤに適用されるchroma_format_idc及びbit_depth_minus8の値が、それぞれ、j番目のレイヤに適用されるchroma_format_idc及びbit_depth_minus8の値に等しいとし得ることが、ビットストリーム適合性の要件である。
【0197】
1に等しいmax_tid_ref_present_flag[i]は、構文要素max_tid_il_ref_pics_plus1[i]が存在することを規定する。0に等しいmax_tid_ref_present_flag[i]は、構文要素max_tid_il_ref_pics_plus1[i]が存在しないことを規定する。
【0198】
0に等しいmax_tid_il_ref_pics_plus1[i]は、i番目のレイヤの非IRAPピクチャによってインターレイヤ予測が使用されないことを規定する。0より大きいmax_tid_il_ref_pics_plus1[i]は、i番目のレイヤのピクチャを復号することに関して、max_tid_il_ref_pics_plus1[i]-1より大きいTemporalIdを持つピクチャはILRPとして使用されないことを規定する。存在しない場合、max_tid_il_ref_pics_plus1[i]の値は7に等しいと推定される。
【0199】
1に等しいeach_layer_is_an_ols_flagは、各OLSが1つのレイヤのみを含み、VPSを参照するCVSの各レイヤそれ自体がOLSであり、含まれる単一のレイヤが唯一の出力レイヤであることを規定する。0に等しいeach_layer_is_an_ols_flagは、OLSが2つ以上のレイヤを含み得ることを規定する。vps_max_layers_minus1が0に等しい場合、each_layer_is_an_ols_flagの値は1に等しいと推定される。そうでなく、vps_all_independent_layers_flagが0に等しいとき、each_layer_is_an_ols_flagの値は0に等しいと推測される。
【0200】
0に等しいols_mode_idcは、VPSによって規定されるOLSの総数がvps_max_layers_minus1+1に等しく、i番目のOLSが、両端を含めて0からiまでのレイヤインデックスを持つレイヤを含み、そして、各OLSについて、OLS内の最も高いレイヤのみが出力されることを規定する。
【0201】
1に等しいols_mode_idcは、VPSによって規定されるOLSの総数がvps_max_layers_minus1+1に等しく、i番目のOLSが、両端を含めて0からiまでのレイヤインデックスを持つレイヤを含み、そして、各OLSについて、OLS内の全てのレイヤが出力されることを規定する。
【0202】
2に等しいols_mode_idcは、VPSによって規定されるOLSの総数が明示的にシグナリングされ、各OLSについて出力レイヤが明示的にシグナリングされ、他のレイヤは、OLSの出力レイヤの直接的又は間接的な参照レイヤであることを規定する。
【0203】
ols_mode_idcの値は、両端を含めて0から2までの範囲内とし得る。ols_mode_idcの値3は、ITU-T|ISO/IECによる将来の使用のために留保されている。
【0204】
vps_all_independent_layers_flagが1に等しく、且つeach_layer_is_an_ols_flagが0に等しい場合、ols_mode_idcの値は2に等しいと推定される。
【0205】
num_output_layer_sets_minus1+1は、ols_mode_idcが2に等しいときにVPSによって規定されるOLSの総数を規定する。
【0206】
VPSによって規定されるOLSの総数を規定する変数TotalNumOlssが、次のように導出される:
if(vps_max_layers_minus1==0)
TotalNumOlss=1
elseif(each_layer_is_an_ols_flag||ols_mode_idc==0||ols_mode_idc==1)
TotalNumOlss=vps_max_layers_minus1+1
elseif(ols_mode_idc==2)
TotalNumOlss=num_output_layer_sets_minus1+1
【0207】
1に等しいols_output_layer_flag[i][j]は、vps_layer_id[j]に等しいnuh_layer_idを持つレイヤが、ols_mode_idcが2に等しいときのi番目のOLSの出力レイヤであることを規定する。0に等しいols_output_layer_flag[i][j]は、vps_layer_id[j]に等しいnuh_layer_idを持つレイヤが、ols_mode_idcが2に等しいときのi番目のOLSの出力レイヤでないことを規定する。
【0208】
i番目のOLS内の出力レイヤの数を規定する変数NumOutputLayersInOls[i]、i番目のOLS内のj番目のレイヤの中のサブレイヤの数を規定する変数NumSubLayersInLayerInOLS[i][j]、i番目のOLS内のj番目の出力レイヤのnuh_layer_id値を規定する変数OutputLayerIdInOls[i][j]、及びk番目のレイヤが少なくとも1つのOLSにおける出力レイヤとして使用されるかを規定する変数LayerUsedAsOutputLayerFlag[k]が、次のように導出される:
NumOutputLayersInOls[0]=1
OutputLayerIdInOls[0][0]=vps_layer_id[0]
NumSubLayersInLayerInOLS[0][0]=vps_max_sub_layers_minus1+1
LayerUsedAsOutputLayerFlag[0]=1
for(i=1,i<=vps_max_layers_minus1;i++){
if(each_layer_is_an_ols_flag||ols_mode_idc<2)
LayerUsedAsOutputLayerFlag[i]=1
else/*(!each_layer_is_an_ols_flag&&ols_mode_idc==2)*/
LayerUsedAsOutputLayerFlag[i]=0
}
for(i=1;i<TotalNumOlss;i++)
if(each_layer_is_an_ols_flag||ols_mode_idc==0){
NumOutputLayersInOls[i]=1
OutputLayerIdInOls[i][0]=vps_layer_id[i]
for(j=0;j<i&&(ols_mode_idc==0);j++)
NumSubLayersInLayerInOLS[i][j]=max_tid_il_ref_pics_plus1[i]
NumSubLayersInLayerInOLS[i][i]=vps_max_sub_layers_minus1+1
}elseif(ols_mode_idc==1){
NumOutputLayersInOls[i]=i+1
for(j=0;j<NumOutputLayersInOls[i];j++){
OutputLayerIdInOls[i][j]=vps_layer_id[j]
NumSubLayersInLayerInOLS[i][j]=vps_max_sub_layers_minus1+1
}
}elseif(ols_mode_idc==2){
for(j=0;j<=vps_max_layers_minus1;j++){
layerIncludedInOlsFlag[i][j]=0
NumSubLayersInLayerInOLS[i][j]=0
}
for(k=0,j=0;k<=vps_max_layers_minus1;k++)
if(ols_output_layer_flag[i][k]){
layerIncludedInOlsFlag[i][k]=1
LayerUsedAsOutputLayerFlag[k]=1
OutputLayerIdx[i][j]=k
OutputLayerIdInOls[i][j++]=vps_layer_id[k]
NumSubLayersInLayerInOLS[i][j]=vps_max_sub_layers_minus1+1
}
NumOutputLayersInOls[i]=j
for(j=0;j<NumOutputLayersInOls[i];j++){
idx=OutputLayerIdx[i][j]
for(k=0;k<NumRefLayers[idx];k++){
layerIncludedInOlsFlag[i][RefLayerIdx[idx][k]]=1
if(NumSubLayersInLayerInOLS[i][RefLayerIdx[idx][k]]<
max_tid_il_ref_pics_plus1[OutputLayerIdInOls[i][j]])
NumSubLayersInLayerInOLS[i][RefLayerIdx[idx][k]]=
max_tid_il_ref_pics_plus1[OutputLayerIdInOls[i][j]]
}
}
}
【0209】
両端を含めて0からvps_max_layers_minus1までの範囲内のiの各値について、LayerUsedAsRefLayerFlag[i]及びLayerUsedAsOutputLayerFlag[i]の値は、両方ともが0に等しいのではないとし得る。換言すれば、少なくとも1つのOLSの出力レイヤでもなければ、いずれの他のレイヤの直接参照レイヤでもないというレイヤは存在しないとし得る。
【0210】
各OLSに対して、出力レイヤである層が少なくとも1つ存在し得る。換言すれば、両端を含めて0からTotalNumOlss-1までの範囲内のiのいずれかの値に対して、NumOutputLayersInOls[i]の値は1以上であるとし得る。
【0211】
i番目のOLS内のレイヤの数を規定する変数NumLayersInOls[i]、及びi番目のOLS内のj番目のレイヤのnuh_layer_id値を規定する変数LayerIdInOls[i][j]が、次のように導出される:
NumLayersInOls[0]=1
LayerIdInOls[0][0]=vps_layer_id[0]
for(i=1;i<TotalNumOlss;i++){
if(each_layer_is_an_ols_flag){
NumLayersInOls[i]=1
LayerIdInOls[i][0]=vps_layer_id[i]
}elseif(ols_mode_idc==0||ols_mode_idc==1){
NumLayersInOls[i]=i+1
for(j=0;j<NumLayersInOls[i];j++)
LayerIdInOls[i][j]=vps_layer_id[j]
}elseif(ols_mode_idc==2){
for(k=0,j=0;k<=vps_max_layers_minus1;k++)
if(layerIncludedInOlsFlag[i][k])
LayerIdInOls[i][j++]=vps_layer_id[k]
NumLayersInOls[i]=j
}
}
【0212】
LayerIdInOls[i][j]に等しいnuh_layer_idを持つレイヤのOLSレイヤインデックスを規定する変数OlsLayerIdx[i][j]が、次のように導出される:
for(i=0;i<TotalNumOlss;i++)
forj=0;j<NumLayersInOls[i];j++)
OlsLayerIdx[i][LayerIdInOls[i][j]]=j
【0213】
各OLS内の最も低いレイヤは独立した層とし得る。換言すれば、両端を含めて0からTotalNumOlss-1までの範囲内の各iについて、vps_independent_layer_flag[GeneralLayerIdx[LayerIdInOls[i][0]]]の値は1に等しいとし得る。
【0214】
各レイヤは、VPSによって規定される少なくとも1つのOLSに含められ得る。換言すれば、両端を含めて0からvps_max_layers_minus1の範囲内のkでのvps_layer_id[k]のうちの1つに等しいnuhLayerIdという特定の値のnuh_layer_idを持つ各レイヤに対し、iは両端を含めて0からTotalNumOlss-1までの範囲内にあり、jは両端を含めてNumLayersInOls[i]-1の範囲内にあるとして、LayerIdInOls[i][j]の値がnuhLayerIdに等しくなるような少なくとも一対のiとjの値が存在し得る。
【0215】
一実施形態において、符号化映像シーケンス内の任意のVCL NALユニットのtemporalIdの値は、そのVCL NALユニットによって参照されるVPS内のvps_max_sublayers_minus1以下であるとし得る。
【0216】
同じ実施形態又は他の一実施形態において、max_tid_il_ref_pics_plus1[i]は、以下の意味を持つ。
【0217】
0に等しいmax_tid_il_ref_pics_plus1[i]は、i番目のレイヤの非IRAPピクチャによってインターレイヤ予測は使用されないことを規定する。0より大きいmax_tid_il_ref_pics_plus1[i]は、i番目のレイヤのピクチャを復号することに関して、max_tid_il_ref_pics_plus1[i]-1よりも大きいTemporalIdを持つピクチャが、ILRPとして使用されないことを規定する。存在しない場合、max_tid_il_ref_pics_plus1[i]の値は、vps_max_sublayers_minus1+1に等しいと推定される。
【0218】
同じ実施形態又は他の一実施形態において、max_tid_il_ref_pics_plus1[i]は、vps_max_sublayers_minus1+1以下であるとし得る。
【0219】
一実施形態において、サブレイヤによる出力レイヤセットは、独立したレイヤに対して導出されなくてもよい。従って、max_tid_il_ref_pics_plus1及びlayerIncludedInOlsFlagは、独立したレイヤに対して導出されなくてもよい。
【0220】
同じ実施形態又は他の一実施形態において、i番目のOLS内の出力レイヤの数を規定する変数NumOutputLayersInOls[i]、i番目のOLS内のj番目のレイヤの中のサブレイヤの数を規定する変数NumSubLayersInLayerInOLS[i][j]、i番目のOLS内のj番目の出力レイヤのnuh_layer_id値を規定する変数OutputLayerIdInOls[i][j]、及びk番目のレイヤが少なくとも1つのOLSにおける出力レイヤとして使用されるかを規定する変数LayerUsedAsOutputLayerFlag[k]が、次のように導出される:
NumOutputLayersInOls[0]=1
OutputLayerIdInOls[0][0]=vps_layer_id[0]
NumSubLayersInLayerInOLS[0][0]=vps_max_sub_layers_minus1+1
LayerUsedAsOutputLayerFlag[0]=1
for(i=1,i<=vps_max_layers_minus1;i++){
if(each_layer_is_an_ols_flag||ols_mode_idc<2)
LayerUsedAsOutputLayerFlag[i]=1
else/*(!each_layer_is_an_ols_flag&&ols_mode_idc==2)*/
LayerUsedAsOutputLayerFlag[i]=0
}
for(i=1;i<TotalNumOlss;i++)
if(each_layer_is_an_ols_flag||ols_mode_idc==0){
NumOutputLayersInOls[i]=1
OutputLayerIdInOls[i][0]=vps_layer_id[i]
for(j=0;j<i&&(ols_mode_idc==0);j++)
NumSubLayersInLayerInOLS[i][j]=max_tid_il_ref_pics_plus1[i]
NumSubLayersInLayerInOLS[i][i]=vps_max_sub_layers_minus1+1
}elseif(ols_mode_idc==1){
NumOutputLayersInOls[i]=i+1
for(j=0;j<NumOutputLayersInOls[i];j++){
OutputLayerIdInOls[i][j]=vps_layer_id[j]
NumSubLayersInLayerInOLS[i][j]=vps_max_sub_layers_minus1+1
}
}elseif(ols_mode_idc==2){
for(j=0;j<=vps_max_layers_minus1;j++){
layerIncludedInOlsFlag[i][j]=0
NumSubLayersInLayerInOLS[i][j]=0
}
for(k=0,j=0;k<=vps_max_layers_minus1;k++)
if(ols_output_layer_flag[i][k]){
layerIncludedInOlsFlag[i][k]=1
LayerUsedAsOutputLayerFlag[k]=1
OutputLayerIdx[i][j]=k
OutputLayerIdInOls[i][j++]=vps_layer_id[k]
NumSubLayersInLayerInOLS[i][j]=vps_max_sub_layers_minus1+1
}
if(!vps_all_independent_layers_flag){
NumOutputLayersInOls[i]=j
for(j=0;j<NumOutputLayersInOls[i];j++){
idx=OutputLayerIdx[i][j]
if(!vps_independent_layer_flag[idx])
for(k=0;k<NumRefLayers[idx];k++){
layerIncludedInOlsFlag[i][RefLayerIdx[idx][k]]=1
if(NumSubLayersInLayerInOLS[i][RefLayerIdx[idx][k]]<
max_tid_il_ref_pics_plus1[OutputLayerIdInOls[i][j]])
NumSubLayersInLayerInOLS[i][RefLayerIdx[idx][k]]=
max_tid_il_ref_pics_plus1[OutputLayerIdInOls[i][j]]
}
}
}
}
}
【0221】
図23は、SPS RBSP構文テーブルの一例を示している。この構文構造において、sps_max_sublayers_minus1+1は、SPSを参照する各CLVS内に存在し得る時間サブレイヤの最大数を規定する。sps_max_sublayers_minus1の値は、両端を含めて0からvps_max_sublayers_minus1までの範囲内とし得る。
【0222】
一実施形態において、符号化映像シーケンス内の全てのレイヤが同じ数のサブレイヤを持つ場合、各レイヤのサブレイヤの数は、ビデオパラメータセット内でシグナリングされるサブレイヤの最大数に等しいとし得る。
【0223】
一実施形態において、vps_all_layers_same_num_sublayers_flagの値が1に等しい場合、VPSを参照するSPS内のsps_max_sublayers_minus1の値は、vps_max_sublayers_minus1の値に等しい。
【0224】
一実施形態において、sps_video_parameter_set_idが0より大きく、且つvps_all_layers_same_num_sublayers_flagが1に等しい場合、sps_max_sublayers_minus1はvps_max_sublayers_minus1に等しい。
【0225】
上述の適応解像度パラメータをシグナリングするための技術は、コンピュータ読み取り可能命令を用いてコンピュータソフトウェアとして実装されることができ、また、1つ以上のコンピュータ読み取り可能媒体に物理的に格納されることができる。例えば、図7は、開示に係る事項の特定の実施形態を実装するのに好適なコンピュータシステム700を示している。
【0226】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、又は同様の機構に掛けられることで、直接的に又はインタープリット、マイクロコード実行及びこれらに類するものを介してコンピュータ中央演算処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、及びこれらに類するものによって実行されることが可能な命令を有するコードを作り出し得るような、任意の好適な機械コード又はコンピュータ言語を用いてコード化され得る。
【0227】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置、及びこれらに類するものを含め、様々なタイプのコンピュータ又はそのコンポーネント上で実行され得る。
【0228】
コンピュータシステム700に関して図7に示したコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能性の範囲についての何らかの限定を示唆する意図はない。また、コンポーネントの構成も、コンピュータシステム700のこの例示的実施形態に示されたコンポーネントの任意の1つ又は組み合わせに関する何らかの従属性又は要件も持つものとして解釈されるべきでない。
【0229】
コンピュータシステム700は、特定のヒューマンインタフェース入力装置を含んでもよい。そのようなヒューマンインタフェース入力装置は、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブを動かすことなど)、オーディオ入力(例えば、音声、拍手など)、視覚入力(例えば、ジェスチャなど)、嗅覚入力(図示せず)を介した、一人以上の人間ユーザによる入力に応答し得る。ヒューマンインタフェース装置はまた、例えばオーディオ(例えば、会話、音楽、周囲の音など)、画像(例えば、走査画像、静止画カメラから得られる写真画像など)、映像(例えば、2次元映像、立体視映像を含む3次元映像など)などの、人間による意識的な入力には必ずしも直接関係しない特定の媒体を捕捉するために使用されてもよい。
【0230】
入力ヒューマンインタフェース装置は、キーボード701、マウス702、トラックパッド703、タッチスクリーン710、データグローブ704、ジョイスティック705、マイクロフォン706、スキャナ707、カメラ708(各々1つのみ図示している)のうちの1つ以上を含み得る。
【0231】
コンピュータシステム700はまた、特定のヒューマンインタフェース出力装置を含み得る。そのようなヒューマンインタフェース出力装置は、例えば、触覚出力、音、光、及び臭い/味を通して、一人以上の人間ユーザの感覚を刺激し得る。そのようなヒューマンインタフェース出力装置は、触覚出力装置(例えば、タッチスクリーン710、データグローブ704、又はジョイスティック705による触覚フィードバックであるが、入力装置として機能しない触覚フィードバック装置もあってもよい)、オーディオ出力装置(例えば、スピーカー709、ヘッドフォン(図示せず)など)、視覚出力装置(例えば、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン710(各々がタッチスクリーン入力機能を有する又は有さない。各々が触覚フィードバック機能を有する又は有さない。これらの一部は、二次元の視覚出力、又は例えば立体視出力などの手段を通じて四次元以上の出力を出力することができるとし得る。)、仮想現実グラス(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず)など)、及びプリンタ(図示せず)を含み得る。
【0232】
コンピュータシステム700はまた、例えば、CD/DVD若しくは類似の媒体721を有するCD/DVD ROM/RW720を含む光媒体、サムドライブ722、取り外し可能なハードドライブ若しくは又はソリッドステートドライブ723、例えばテープ及びフロッピーディスク(登録商標、図示せず)などのレガシー磁気媒体、例えばセキュリティドングルなどの特殊化されたROM/ASIC/PLDベースの装置(図示せず)、及びこれらに類するものなどの、人間アクセス可能なストレージ装置及びそれらの関連媒体を含み得る。
【0233】
当業者がこれまた理解するはずのことには、ここでの開示に係る事項に関連して使用される用語“コンピュータ読み取り可能媒体”は、伝送媒体、搬送波、又は他の一時的な信号を含まない。
【0234】
コンピュータシステム700はまた、1つ以上の通信ネットワークへのインタフェースを含み得る。ネットワークは、例えば、無線、有線、光とし得る。ネットワークは更に、ローカル、広域、大都市、車両及び産業、リアルタイム、耐遅延などとし得る。ネットワークの例は、例えばイーサネット(登録商標)などのローカルエリアネットワーク、無線LAN、GSM、第3G、4G、5G、LTE及びこれらに類するものを含むセルラネットワーク、ケーブルTV、衛星TV、及び地上波放送TVを含むTV有線又は無線広域デジタルネットワーク、CANBusを含む車両及び産業などを含む。特定のネットワークは一般に、特定の汎用データポート又はペリフェラルバス(749)(例えば、コンピュータシステム700のUSBポートなど)に取り付けられる外付けネットワークインタフェースアダプタを必要とし、他のものは一般に、後述のシステムバスへの取り付けによってコンピュータシステム700のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインタフェース、又はスマートフォンコンピュータシステムへのセルラネットワークインタフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム700は、他のエンティティと通信することができる。そのような通信は、単方向の受信のみ(例えば、放送TV)であってもよいし、単方向の送信のみ(例えば、特定のCANbus装置に対するCANbus)であってもよいし、あるいは、例えばローカル又は広域デジタルネットワークを用いた他のコンピュータシステムに対しての、双方向であってもよい。特定のプロトコル及びプロトコルスタックが、上述のようにネットワーク及びネットワークインタフェースの各々上で使用され得る。
【0235】
前述のヒューマンインタフェース装置、人間アクセス可能なストレージ装置、及びネットワークインタフェースは、コンピュータシステム700のコア740に取り付けられることができる。
【0236】
コア740は、1つ以上の中央演算処理ユニット(CPU)741、グラフィックス処理ユニット(GPU)742、フィールドプログラマブルゲートアレイ(FPGA)743の形態の特殊なプログラム可能なプロセッシングユニット、特定のタスク用のハードウェアアクセラレータ744などを含み得る。これらのデバイスは、読み出し専用メモリ(ROM)745、ランダムアクセスメモリ746、例えば内部のユーザアクセス可能でないハードドライブ、SSD、及びこれらに類するもの747などの内部大容量ストレージ747と共に、システムバス748を介して接続され得る。一部のコンピュータシステムにおいて、システムバス748は、追加のCPU、GPU、及びこれらに類するものによる拡張を可能にするために、1つ以上の物理プラグの形態でアクセス可能にされ得る。周辺装置は、コアのシステムバス748に直接的に、又はペリフェラルバス749を介して、のいずれで取り付けられてもよい。ペリフェラルバスのアーキテクチャは、PCI、USB、及びこれらに類するものを含む。
【0237】
CPU741、GPU742、FPGA743、及びアクセラレータ744は、組み合わさって前述のコンピュータコードを構成することができる特定の命令を実行し得る。そのコンピュータコードは、ROM745又はRAM746に格納され得る。RAM746には過渡的なデータも格納されることができ、永久的なデータは、例えば内部大容量ストレージ747に格納されることができる。メモリデバイスのいずれかへの高速な記憶及び取り出しが、1つ以上のCPU741、GPU742、大容量ストレージ747、ROM745、RAM746、及びこれらに類するものの近くに付随し得るキャッシュメモリの使用によって可能にされ得る。
【0238】
コンピュータ読み取り可能媒体はその上に、様々なコンピュータ実装処理を実行するためのコンピュータコードを有することができる。媒体及びコンピュータコードは、本開示の目的に合わせて特別に設計及び構築されたものであってもよいし、あるいは、それらは、コンピュータソフトウェア技術の当業者にとって周知且つ利用可能な種類のものであってもよい。
【0239】
一例として、限定ではなく、アーキテクチャ700、特にコア740、を有するコンピュータシステムは、1つ以上の有形のコンピュータ読み取り可能媒体に具現化されたソフトウェアを(1つ以上の)プロセッサ(CPU、GPU、FPGA、アクセラレータ、及びこれらに類するものを含む)が実行することの結果として機能を提供することができる。そのようなコンピュータ読み取り可能媒体は、例えばコア内部の大容量ストレージ747又はROM745などの、非一時的性質のものであるコア740の特定のストレージ、及び上で紹介したようなユーザアクセス可能な大容量ストレージに関連する媒体とすることができる。本開示の様々な実施形態を実装するソフトウェアは、そのような装置に格納され、コア740によって実行されることができる。コンピュータ読み取り可能媒体は、具体的なニーズに従って、1つ以上のメモリデバイス又はチップを含み得る。ソフトウェアは、コア740及び特にその中のプロセッサ(CPU、GPU、FPGA、及びこれらに類するものを含む)に、RAM746に格納されるデータ構造を規定すること、及びそのようなデータ構造を、ソフトウェアによって規定されたプロセスに従って変更することを含めて、ここに記載された特定のプロセスを又は特定のプロセスの特定の部分を実行させることができる。加えて、又は代替として、コンピュータシステムは、ここに記載された特定のプロセスを又は特定のプロセスの特定の部分を実行するようにソフトウェアの代わりに又はソフトウェアと共に動作することができる回路(例えば、アクセラレータ744)にて配線された又はその他の方法で具体化されたロジックの結果として、機能を提供してもよい。ソフトウェアへの言及はロジックを含み、また、適当な場合にその逆もまた然りである。コンピュータ読み取り可能媒体への言及は、実行のためのソフトウェアを格納した回路(例えば、集積回路(IC)など)、実行のためのロジックを具体化した回路、又は適当な場合にこれら双方を含み得る。本開示は、ハードウェア及びソフトウェアの好適な組み合わせを含む。
【0240】
この開示は幾つかの例示的な実施形態を記述しているが、開示の範囲に入る変更、置換、及び様々な均等な代替が存在する。従って、理解されることには、当業者は、ここでは明示的に図示されたり説明されたりしていないものの、開示の原理を具体化し、それ故に、その精神及び範囲の中にあるような、数多くのシステム及び方法を考案することができるであろう。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23