(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-07-10
(54)【発明の名称】サブピクチャサブビットストリーム抽出についてのビデオパラメータセットの制約
(51)【国際特許分類】
H04N 19/70 20140101AFI20230703BHJP
H04N 19/31 20140101ALI20230703BHJP
【FI】
H04N19/70
H04N19/31
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022575706
(86)(22)【出願日】2021-06-08
(85)【翻訳文提出日】2022-12-16
(86)【国際出願番号】 US2021036363
(87)【国際公開番号】W WO2021252468
(87)【国際公開日】2021-12-16
(32)【優先日】2020-06-09
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ワン,イェ-クイ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA17
5C159MA33
5C159RB09
5C159RC11
5C159UA02
5C159UA05
5C159UA33
(57)【要約】
ビデオデータを処理する方法は、ビデオとビデオのビットストリームとの間の変換を実行するステップを含む。ビットストリームは、ルールに従って、1つ以上のサブピクチャを含む1つ以上のピクチャを含む1つ以上のサブレイヤを含む1つ以上のレイヤを含み、ルールは、出力ターゲットサブビットストリームがビットストリームから抽出されるサブピクチャサブビットストリーム抽出プロセス中に、1つ以上のシンタックス構造に対して選択的に実行される書き換え操作を指定する。1つ以上のシンタックスエレメントは、出力ターゲットサブビットストリームの情報を含む。
【特許請求の範囲】
【請求項1】
ビデオデータを処理する方法であって、
ビデオと前記ビデオのビットストリームとの間の変換を実行するステップを含み、
前記ビットストリームは、ルールに従って、1つ以上のサブピクチャを含む1つ以上のピクチャを含む1つ以上のサブレイヤを含む1つ以上のレイヤを含み、
前記ルールは、出力ターゲットサブビットストリームが前記ビットストリームから抽出されるサブピクチャサブビットストリーム抽出プロセス中に、1つ以上のシンタックス構造に対して選択的に実行される書き換え操作を指定し、
前記1つ以上のシンタックスエレメントは、前記出力ターゲットサブビットストリームの情報を含む、方法。
【請求項2】
前記1つ以上のシンタックス構造は、(a)前記出力ターゲットサブビットストリームが適合するコーディングレベルを示す第1のシンタックス構造、及び(b)0からtIdTarget-1のインデックス値を有する前記出力ターゲットサブビットストリーム内のサブレイヤシーケンスが適合するコーディングレベルを示す第2のシンタックス構造を含み、tIdTargetは前記出力ターゲットサブビットストリーム内のサブレイヤの最高時間レイヤ識別子を表す整数である、請求項1に記載の方法。
【請求項3】
前記1つ以上のシンタックスエレメントは、(a)前記出力ターゲットサブビットストリーム内の各サブレイヤシーケンスのコーディングピクチャーバッファサイズを示す第1のシンタックス構造、及び(b)前記出力ターゲットサブビットストリーム内の各サブレイヤシーケンスのビットレート値を示す第2のシンタックス構造を含む、請求項1に記載の方法。
【請求項4】
前記1つ以上のシンタックスエレメントは、(a)前記出力ターゲットサブビットストリーム内の各サブレイヤシーケンスが一定のビットレートを有するものとして処理されるか否かを示す第1のシンタックス構造を含む、請求項1に記載の方法。
【請求項5】
前記第1のシンタックス構造及び前記第2のシンタックス構造は、前記出力ターゲットサブビットストリームによって参照されるビデオパラメータセットに含まれる、請求項1又は2に記載の方法。
【請求項6】
前記出力ターゲットサブビットストリームが単一レイヤを含む場合、前記第1のシンタックス構造及び前記第2のシンタックス構造は、前記出力ターゲットサブビットストリームによって参照されるシーケンスパラメータセットに含まれる、請求項1又は2に記載の方法。
【請求項7】
前記ビデオは360度ビデオを含む、請求項1乃至6のうちいずれか1項に記載の方法。
【請求項8】
前記変換は、前記ビデオを前記ビットストリームに符号化することを含む、請求項1乃至7のうちいずれか1項に記載の方法。
【請求項9】
前記変換は、前記ビットストリームを復号して前記ビデオのピクセル値を生成することを含む、請求項1乃至7のうちいずれか1項に記載の方法。
【請求項10】
請求項1乃至9のうちいずれか1項に記載の方法を実施するように構成されたプロセッサを含むビデオ復号装置。
【請求項11】
請求項1乃至9のうちいずれか1項に記載の方法を実施するように構成されたプロセッサを含むビデオ符号化装置。
【請求項12】
ビデオを表すビットストリームをコンピュータ読み取り可能記録媒体に記憶する方法であって、
請求項1乃至9のうちいずれか1項に記載の方法に従って前記ビデオから前記ビットストリームを生成するステップと、
前記ビットストリームを前記コンピュータ読み取り可能記録媒体に記憶するステップと
を含む方法。
【請求項13】
請求項1乃至9のうちいずれか1項に記載の方法に従って生成された前記ビットストリームを記憶したコンピュータ読み取り可能媒体。
【請求項14】
コンピュータコードを記憶したコンピュータプログラム製品であって、
前記コードは、プロセッサによって実行されると、前記プロセッサに請求項1乃至9のうちいずれか1項に記載の方法を実施させる、コンピュータプログラム製品。
【請求項15】
本文献に記載の方法、装置又はシステム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願への相互参照]
本出願は、パリ条約に準拠した適用可能な特許法及び/又は規則の下で、2020年6月9日に出願された米国仮特許出願No.63/036,908の優先権及び利益を適時に主張して行われる。法の下での全ての目的のために、上記の出願の全開示が、本出願の開示の一部として参照することにより援用される。
【0002】
[技術分野]
本特許文献は、画像及びビデオデータ処理に関する。
【背景技術】
【0003】
デジタルビデオは、インターネット及び他のデジタル通信ネットワークにおける最大の帯域幅使用を占めている。ビデオを受信及び表示できる接続ユーザデバイスの数が増加するにつれて、デジタルビデオの利用に対する帯域幅需要が増加し続けることが想定される。
【発明の概要】
【0004】
本文献は、ビデオ又は画像のコーディング表現を処理するためにビデオエンコーダ及びデコーダによって使用できる技術を開示する。
【0005】
1つの例示的な態様では、ビデオデータを処理する方法が開示される。当該方法は、ビデオとビデオのビットストリームとの間の変換を実行するステップを含み、ビットストリームは、ルールに従って1つ以上のサブピクチャを含む複数のレイヤを含み、ルールは、出力ビットストリームがビットストリームから抽出されるサブピクチャサブビットストリーム抽出プロセス中に、出力ビットストリームに適用可能でないスケーラブルネスト化SEIメッセージを含む補足エンハンスメント情報ネットワーク抽象レイヤユニット(SEI NALユニット)が出力ビットストリームにおいて省略されることを指定する。
【0006】
1つの例示的な態様では、ビデオデータを処理する方法が開示される。当該方法は、ビデオとビデオのビットストリームとの間の変換を実行するステップを含み、ビットストリームは、ルールに従って、1つ以上のサブピクチャを含む1つ以上のピクチャを含む複数のレイヤを含み、ルールは、ビットストリームに対するサブピクチャサブビットストリーム抽出プロセスによって抽出されたサブピクチャシーケンスを識別する第1のサブピクチャインデックスがピクチャ当たり複数のサブピクチャを有するビットストリームのレイヤの第2のサブピクチャインデックスに基づくことを指定する。
【0007】
1つの例示的な態様では、ビデオデータを処理する方法が開示される。当該方法は、ビデオとビデオのビットストリームとの間の変換を実行するステップを含み、ビットストリームは、ルールに従って、1つ以上のサブピクチャを含む1つ以上のピクチャを含む1つ以上のサブレイヤを含む1つ以上のレイヤを含み、ルールは、出力ターゲットサブビットストリームがビットストリームから抽出されるサブピクチャサブビットストリーム抽出プロセス中に、1つ以上のシンタックス構造に対して選択的に実行される書き換え操作を指定し、1つ以上のシンタックスエレメントは、出力ターゲットサブビットストリームの情報を含む。
【0008】
1つの例示的な態様では、ビデオデータを処理する方法が開示される。当該方法は、ビデオとビデオのビットストリームとの間の変換を実行するステップを含み、ビットストリームは、ルールに従って、1つ以上のサブピクチャを含む1つ以上のピクチャを含む1つ以上のレイヤを含み、ルールは、条件に応じて、サブピクチャサブビットストリーム抽出プロセス中に抽出されるターゲット出力サブピクチャサブビットストリームの第1の補足エンハンスメント情報ネットワーク抽象レイヤ(SEI NAL)ユニットの選択処理を指定する。
【0009】
更に他の例示的な態様では、ビデオエンコーダ装置が開示される。ビデオエンコーダは、上述の方法を実現するように構成されたプロセッサを含む。
【0010】
更に他の例示的な態様では、ビデオデコーダ装置が開示される。ビデオデコーダは、上述の方法を実現するように構成されたプロセッサを含む。
【0011】
更に他の例示的な態様では、コードを記憶したコンピュータ読み取り可能媒体が開示される。コードは、プロセッサ実行可能コードの形式で本明細書に記載の方法の1つを具現する。
【0012】
これら及び他の特徴について、本文献を通じて説明する。
【図面の簡単な説明】
【0013】
【
図1】12個のタイル及び3つのラスタスキャンスライスに分割されるピクチャのラスタスキャンスライスパーティション化の例を示す。
【
図2】24個のタイル(6つのタイル列及び4つのタイル行)及び9個の長方形スライスに分割されるピクチャの長方形スライスパーティション化の例を示す。
【
図3】ピクチャ4つのタイル(2つのタイル列及び2つのタイル行)及び4つの長方形スライスに分割される、タイル及び長方形スライスにパーティション化されたピクチャの例を示す。
【
図4】15個のタイル、24個のスライス及び24個のサブピクチャにパーティション化されるピクチャを示す。
【
図5】例示的なビデオ処理システムのブロック図である。
【
図7】ビデオ処理の例示的な方法についてのフローチャートである。
【
図8】本開示のいくつかの実施形態によるビデオコーディングシステムを示すブロック図である。
【
図9】本開示のいくつかの実施形態によるエンコーダを示すブロック図である。
【
図10】本開示のいくつかの実施形態によるデコーダを示すブロック図である。
【
図11】典型的なサブピクチャに基づくビューポート依存360°ビデオコーディング方式の例を示す。
【
図12】サブピクチャ及び空間スケーラビリティに基づくビューポート依存360°ビデオコーディング方式を示す。
【
図13A】ビデオ処理方法についての例示的なフローチャートを示す。
【
図13B】ビデオ処理方法についての例示的なフローチャートを示す。
【
図13C】ビデオ処理方法についての例示的なフローチャートを示す。
【
図13D】ビデオ処理方法についての例示的なフローチャートを示す。
【発明を実施するための形態】
【0014】
セクションの見出しは、理解を容易にするために本文献で使用されており、各セクションで開示される技術及び実施形態の適用可能性をそのセクションのみに限定するものではない。さらに、H.266の用語は、いくつかの説明において理解を容易にするためにのみ使用され、開示される技術の範囲を限定するためには使用されるものではない。したがって、本明細書に記載の技術は、他のビデオコーデックプロトコル及び設計にも適用可能である。本文献において、編集の変更は、VVC仕様の現在のドラフトに関して、キャンセルされたテキストを示す取り消し線([[]]を含む)と、追加されたテキストを示す強調表示(太字のイタリック体、下線を含む)とによって、テキストに示される。
【0015】
1. 導入
本文献は、ビデオコーディング技術に関する。具体的には、サブピクチャシーケンスについてのレベル情報を指定及びシグナリングすることについてのものである。概念は、単一レイヤビデオコーディング及びマルチレイヤビデオコーディングをサポートするいずれかのビデオコーディング標準又は非標準ビデオコーデック、例えば、開発中のバーサタイルビデオコーディング(VVC, Versatile Video Coding)に適用されてもよい。
【0016】
2. 略語
APS 適応パラメータセット(Adaptation Parameter Set)
AU アクセスユニット(Access Unit)
AUD アクセスユニットデリミタ(Access Unit Delimiter)
AVC アドバンストビデオコーディング(Advanced Video Coding)
CLVS コーディングレイヤビデオシーケンス(Coded Layer Video Sequence)
CPB コーディングピクチャバッファ(Coded Picture Buffer)
CRA クリーンランダムアクセス(Clean Random Access)
CTU コーディングツリーユニット(Coding Tree Unit)
CVS コーディングビデオシーケンス(Coded Video Sequence)
DCI 復号能力情報(Decoding Capability Information)
DPB 復号ピクチャバッファ(Decoded Picture Buffer)
EOB ビットストリーム終了(End Of Bitstream)
EOS シーケンス終了(End Of Sequence)
GDR 漸次復号リフレッシュ(Gradual Decoding Refresh)
HEVC 高効率ビデオコーディング(High Efficiency Video Coding)
HRD 仮想参照デコーダ(Hypothetical Reference Decoder)
IDR 瞬時復号リフレッシュ(Instantaneous Decoding Refresh)
ILP レイヤ間予測(Inter-Layer Prediction)
ILRP レイヤ間参照ピクチャ(Inter-Layer Reference Picture)
JEM 共同探査モデル(Joint Exploration Model)
LTRP 長期参照ピクチャ(Long-Term Reference Picture)
MCTS 動き制約タイルセット(Motion-Constrained Tile Sets)
NAL ネットワーク抽象レイヤ(Network Abstraction Layer)
OLS 出力レイヤセット(Output Layer Set)
PH ピクチャヘッダ(Picture Header)
PPS ピクチャパラメータセット(Picture Parameter Set)
PTL プロファイル、層及びレベル(Profile, Tier and Level)
PU ピクチャユニット(Picture Unit)
RAP ランダムアクセスポイント(Random Access Point)
RBSP 未加工バイトシーケンスペイロード(Raw Byte Sequence Payload)
SEI 補足エンハンスメント情報(Supplemental Enhancement Information)
SLI サブピクチャレベル情報(Subpicture Level Information)
SPS シーケンスパラメータセット(Sequence Parameter Set)
STRP 短期参照ピクチャ(Short-Term Reference Picture)
SVC スケーラブルビデオコーディング(Scalable Video Coding)
VCL ビデオコーディングレイヤ(Video Coding Layer)
VPS ビデオパラメータセット(Video Parameter Set)
VTM VVCテストモデル(VVC Test Model)
VUI ビデオユーザビリティ情報(Video Usability Information)
VVC バーサタイルビデオコーディング(Versatile Video Coding)
【0017】
3. 最初の議論
ビデオコーディング標準は、主に、周知のITU-T及びISO/IEC標準の開発を通じて進化してきた。ITU-TはH.261及びH.263を作成し、ISO/IECはMPEG-1及びMPEG-4 Visualを作成し、2つの組織は共同でH.262/MPEG-2 Video及びH.264/MPEG-4アドバンストビデオコーディング(AVC, Advanced Video Coding)並びにH.265/HEVC[1]標準を作成した。H.262から、ビデオコーディング標準は、時間予測に加えて変換コーディングが利用されるハイブリッドビデオコーディング構造に基づいている。HEVCを越える将来のビデオコーディング技術を探求するために、2015年に共同ビデオ探査チーム(JVET, Joint Video Exploration Team)がVCEG及びMPEGによって共同で設立された。それ以来、多くの新たな方法がJVETによって採用され、共同探査モデル(JEM, Joint Exploration Model)[2]と名付けられた参照ソフトウェアに入れられた。現在、JVET会議は四半期に1回開催されており、新たなコーディング標準は、HEVCと比較して50%のビットレート低減を目指している。新たなビデオコーディング標準は、2018年4月のJVET会議においてバーサタイルビデオコーディング(VVC, Versatile Video Coding)として正式に命名され、その際にVVCテストモデル(VTM, VVC test model)の最初のバージョンがリリースされた。VVC標準化に寄与する継続的な努力が行われているので、JVET会議毎に新たなコーディング技術がVVC標準に採用されている。その後、VVC作業ドラフト及びテストモデルVTMは、毎回の会議後に更新されている。VVCプロジェクトは現在、2020年7月の会議で技術的完成(FDIS)を目指している。
【0018】
3.1. HEVCにおけるピクチャパーティション化方式
HEVCは、最大転送ユニット(MTU, Maximum Transfer Unit)サイズマッチング、並列処理、及び低減されたエンドツーエンド遅延に適用され得る4つの異なるピクチャパーティション化方式、すなわち、レギュラースライス(regular slice)、従属スライス(dependent slice)、タイル及び波面並列処理(WPP, Wavefront Parallel Processing)を含む。
【0019】
レギュラースライスは、H.264/AVCと同様である。各レギュラースライスは、それ自身のNALユニットにカプセル化され、ピクチャ内予測(イントラサンプル予測、動き情報予測、コーディングモード予測)及びスライス境界を横切るエントロピーコーディング依存性は、無効にされる。したがって、レギュラースライスは、(ループフィルタリング動作による相互従属が依然として存在する可能性があっても)同じピクチャ内の他のレギュラースライスから独立して再構成できる。
【0020】
レギュラースライスは、H.264/AVCにおいても事実上同じ形式で利用可能である並列化に使用できる唯一のツールである。レギュラースライスに基づく並列化は、多くのプロセッサ間又はコア間通信を必要としない(予測的にコーディングされたピクチャを復号するときの動き補償のためのプロセッサ間又はコア間データ共有を除く。これは、典型的には、ピクチャ内予測によるプロセッサ間又はコア間データ共有よりもはるかに重い)。しかし、同じ理由で、レギュラースライスの使用は、スライスヘッダのビットコストのため、且つ、スライス境界を横切る予測の欠如のため、かなりのコーディングオーバーヘッドを引き起こす可能性がある。さらに、レギュラースライスは(以下に言及される他のツールとは対照的に)、レギュラースライスのピクチャ内独立性と、各レギュラースライスがそれ自身のNALユニットにカプセル化されることとのため、MTUサイズ要件に一致するビットストリームパーティション化のための重要なメカニズムとしても機能する。多くの場合、並列化の目標及びMTUサイズマッチングの目標は、ピクチャ内のスライスレイアウトに対して矛盾する要求を突きつける。この状況の実現は、以下に言及される並列化ツールの開発をもたらした。
【0021】
従属スライスは、短いスライスヘッダを有し、いずれのピクチャ内予測も損なわずにツリーブロック境界でのビットストリームのパーティション化を可能にする。基本的に、従属スライスは、全体のレギュラースライスの符号化が終了する前にレギュラースライスの一部が送出されることを可能にすることによって、低減されたエンドツーエンド遅延を提供するように、複数のNALユニットへのレギュラースライスのフラグメンテーションを提供する。
【0022】
WPPでは、ピクチャは、コーディングツリーブロック(CTB, coding tree block)の単一行にパーティション化される。エントロピー復号及び予測は、他のパーティション内のCTBからのデータを使用することを許容される。並列処理は、CTB行の並列復号を通じて可能であり、CTB行の復号の開始は、対象CTBが復号される前に対象CTBの右上にあるCTBに関するデータが利用可能であることを確保するために、2つのCTBだけ遅延される。このスタッガードスタート(staggered start)(グラフィカルで表現される場合に波面のように見える)を使用すると、並列化は、ピクチャがCTB行を含むのと同じ数のプロセッサ/コアまで可能である。ピクチャ内の隣接ツリーブロック行の間のピクチャ内予測が認められているので、ピクチャ内予測を有効にするための必要なプロセッサ間/コア間通信は、かなりの量になる可能性がある。WPPパーティション化は、それが適用されない場合と比較して、更なるNALユニットの生成を生じないので、WPPは、MTUサイズマッチングのためのツールではない。しかし、MTUサイズマッチングが必要とされる場合、レギュラースライスが、特定のコーディングオーバーヘッドを伴って、WPPで使用できる。
【0023】
タイルは、ピクチャをタイル列及び行にパーティション化する水平及び垂直境界を定義する。タイル列は、ピクチャの上からピクチャの下まで伸びている。同様に、タイル行は、ピクチャの左からピクチャの右まで伸びている。ピクチャ内のタイルの数は、単純に、タイル列の数とタイル行の数との乗算として導出できる。
【0024】
CTBのスキャン順序は、ピクチャのタイルラスタスキャンの順序における次のタイルの左上CTBを復号する前に、(タイルのCTBラスタスキャンの順序において)タイル内でローカルになるよう変更される。レギュラースライスと同様に、タイルは、ピクチャ内予測の依存性と、エントロピー復号の依存性とを破壊する。しかし、これらは、個々のNALユニットに含まれる必要がない(この点ではWPPと同じ)ので、タイルは、MTUサイズマッチングに使用できない。各タイルは、1つのプロセッサ/コアによって処理でき、隣接タイルを復号する処理ユニットの間のピクチャ内予測に必要とされるプロセッサ間/コア間通信は、スライスが1つよりも多くのタイルにまたがっている場合の共有スライスヘッダの伝達と、再構成されたサンプル及びメタデータのループフィルタリングに関連する共有とに制限される。1つよりも多くのタイル又はWPPセグメントがスライスに含まれる場合、スライス内の最初の1つ以外の各タイル又はWPPセグメントのためのエントロピーポイントバイトオフセットは、スライスヘッダでシグナリングされる。
【0025】
簡潔には、4つの異なるピクチャパーティション化方式の適用に対する制限がHEVCにおいて指定されている。所与のコーディングビデオシーケンスは、HEVCにおいて指定されているプロファイルのほとんどについてタイル及び波面の双方を含むことができない。各スライス及びタイルについて、以下の条件のうちの一方又は双方が満たされなければならない。1)スライス内の全てのコーディングされたツリーブロックが同じタイルに属する。2)タイル内の全てのコーディングされたツリーブロックが同じスライス内に属する。最後に、波面セグメントは厳密に1つのCTB行を含み、WPPが使用される場合、スライスがCTB行内で始まるならば、これは同じCTB行で終わらなければならない。
【0026】
HEVCに対する最近の修正は、http://phenix.int-evry.fr/jct/doc_end_user/documents/29_Macau/wg11/JCTVC-AC1005-v2.zipから公に入手可能なJCT-VC出力文書JCTVC-AC1005, J. Boyce, A. Ramasubramonian, R. Skupin, G. J. Sullivan, A. Tourapis, Y.-K. Wang (editors), "HEVC Additional Supplemental Enhancement Information (Draft 4)",2017年10月24日に指定されている。この修正が含まれることで、HEVCは、3つのMCTS関連のSEIメッセージ、すなわち、時間MCTS SEIメッセージ、MCTS抽出情報セットSEIメッセージ及びMCTS抽出情報ネスト化SEIメッセージを指定する。
【0027】
時間MCTS SEIメッセージは、ビットストリーム内のMCTSの存在を示し、MCTSをシグナリングする。各MCTSについて、動きベクトルは、MCTS内の完全サンプル位置と、補間のためにMCTS内の完全サンプル位置のみを必要とする分数サンプル位置とを示すよう制限され、MCTS外のブロックから導出される時間動きベクトル予測のための動きベクトル候補の使用は許可されない。このように、各MCTSは、MCTSに含まれないタイルの存在なしで独立して復号されてもよい。
【0028】
MCTS抽出情報セットSEIメッセージは、MCTSセットのための適合(conforming)ビットストリームを生成するためにMCTSサブビットストリームにおいて使用され得る補足情報を提供する(SEIメッセージのセマンティクスの一部として指定される)。情報は、複数の抽出情報セットから構成され、各抽出情報セットは、複数のMCTSセットを定義し、MCTSサブビットストリーム抽出プロセス中に使用される置換VPS、SPS及びPPSのRBSPバイトを含む。MCTSサブビットストリーム抽出プロセスに従ってサブビットストリームを抽出する場合、パラメータセット(VPS、SPS及びPPS)は、書き換え又は置換される必要があり、スライスヘッダは、スライスアドレスに関係するシンタックスエレメント(first_slice_segment_in_pic_flag及びslice_segment_addressを含む)の1つ又は全部が典型的には異なる値を有する必要があるので、わずかに更新される必要がある。
【0029】
3.2. VVCにおけるピクチャのパーティション化
VVCでは、ピクチャは、1つ以上のタイル行及び1つ以上のタイル列に分割される。タイルは、ピクチャの長方形領域をカバーするCTUの連続である。タイル内のCTUは、そのタイル内でラスタスキャン順にスキャンされる。
【0030】
スライスは、整数個の完全なタイル又はピクチャのタイル内の整数個の連続した完全なCTU行から構成される。
【0031】
スライスの2つのモード、すなわち、ラスタスキャンスライスモード及び長方形スライスモードがサポートされる。ラスタスキャンスライスモードでは、スライスは、ピクチャのタイルラスタスキャンにおける完全なタイルの連続を含む。長方形スライスモードでは、スライスは、ピクチャの長方形領域を併せて形成する複数の完全なタイル、又はピクチャの長方形領域を併せて形成する1つのタイルの複数の連続した完全なCTU行を含む。長方形スライス内のタイルは、そのスライスに対応する長方形領域内でタイルラスタスキャン順にスキャンされる。
【0032】
サブピクチャは、ピクチャの長方形領域を併せてカバーする1つ以上のスライスを含む。
【0033】
図1は、ピクチャのラスタスキャンスライスパーティション化の例を示し、ピクチャは、12個のタイル及び3つのラスタスキャンスライスに分割されている。
【0034】
図2は、ピクチャの長方形スライスパーティション化の例を示し、ピクチャは、24個のタイル(6つのタイル列及び4つのタイル行)及び9個の長方形スライスに分割されている。
【0035】
図3は、タイル及び長方形スライスにパーティション化されたピクチャの例を示し、ピクチャは、4つのタイル(2つのタイル列及び2つのタイル行)及び4つの長方形スライスに分割されている。
【0036】
図4は、ピクチャのサブピクチャパーティション化の例を示し、ピクチャは、18個のタイルにパーティション化されており、左側の12個は4×4のCTUの1つのスライスをそれぞれカバーし、右側の6個のタイルは2×2のCTUの2つの垂直にスタックされたスライスをそれぞれカバーし、その結果、異なる寸法の24個のスライス及び24個のサブピクチャを生じる(各スライスはサブピクチャである)。
【0037】
3.3. シーケンス内のピクチャ解像度の変更
AVC及びHEVCでは、IRAPピクチャで新たなSPSを使用する新たなシーケンスが始まらない限り、ピクチャの空間分解能は変更できない。VVCは、常にイントラコーディングされるIRAPピクチャを符号化することなく、或る位置においてシーケンス内でピクチャ解像度の変更を可能する。参照ピクチャが復号中の現在ピクチャと異なる解像度を有する場合、この機能はインター予測に使用される参照ピクチャの再サンプリングを必要とするので、この機能は、場合によっては参照ピクチャ再サンプリング(RPR, reference picture resampling)と呼ばれる。
【0038】
スケーリング比は、1/2以上(参照ピクチャから現在ピクチャへの2回のダウンサンプリング)且つ8以下(8回のアップサンプリング)に制限される。参照ピクチャと現在ピクチャとの間の様々なスケーリング比を処理するために、異なる周波数カットオフを有する3つのセットの再サンプリングフィルタが指定されている。3つのセットの再サンプリングフィルタは、それぞれ1/2~1/1.75、1/1.75~1/1.25及び1/1.25~8の範囲のスケーリング比について適用される。各セットの再サンプリングフィルタは、動き補償補間フィルタの場合と同様に、ルマについて16個の位相及びクロマについて32個の位相を有する。実際には、通常のMC補間プロセスは、1/1.25~8の範囲のスケーリング比を有する再サンプリングプロセスの特別な場合である。水及び垂直のスケーリング比は、ピクチャ幅及び高さと、参照ピクチャ及び現在ピクチャについて指定された左、右、上及び下のスケーリングオフセットとに基づいて導出される。
【0039】
HEVCとは異なる、この機能をサポートするためのVVC設計の他の側面は以下を含む。i)ピクチャ解像度及び対応する適合ウィンドウは、SPSではなくPPSでシグナリングされ、SPSでは最大ピクチャ解像度がシグナリングされる。ii)単一レイヤビットストリームについて、各ピクチャストア(1つの復号ピクチャを記憶するためのDPB内のスロット)は、最大ピクチャ解像度を有する復号ピクチャを記憶するために必要なバッファサイズを占有する。
【0040】
3.4. 一般的なスケーラブルビデオコーディング(SVC, scalable video coding)及びVVCにおけるSVC
スケーラブルビデオコーディング(SVC, scalable video coding)(場合によってはビデオコーディングにおけるスケーラビリティとも呼ばれる)は、場合によっては参照レイヤ(RL, reference layer)と呼ばれるベースレイヤ(BL, base layer)、及び1つ以上のスケーラブルエンハンスメントレイヤ(EL, enhancement layer)が使用されるビデオコーディングを示す。SVCでは、ベースレイヤは、ベースレベルの品質のビデオデータを搬送できる。1つ以上のエンハンスメントレイヤは、例えば、より高い空間レベル、時間レベル、及び/又は信号対雑音(SNR, signal-to-noise)レベルをサポートするために、更なるビデオデータを搬送できる。エンハンスメントレイヤは、以前に符号化されたレイヤに対して定義されてもよい。例えば、下位レイヤはBLとして機能してもよく、上位レイヤはELとして機能してもよい。中間レイヤは、EL若しくはRLのいずれか、又はこれらの双方として機能してもよい。例えば、中間レイヤ(例えば、最下位レイヤでも最上位レイヤでもないレイヤ)は、中間レイヤの下のレイヤ、例えば、ベースレイヤ又はいずれかの介在するエンハンスメントレイヤのためのELでもよく、同時に、中間レイヤの上の1つ以上のエンハンスメントレイヤについてのRLとして機能してもよい。同様に、HEVC標準のマルチビュー又は3D拡張では、複数のビューが存在してもよく、1つのビューの情報は、他のビューの情報(例えば、動き推定、動きベクトル予測及び/又は他の冗長性)をコーディング(例えば、符号化又は復号)するために利用されてもよい。
【0041】
SVCでは、エンコーダ又はデコーダによって使用されるパラメータは、これらが利用され得るコーディングレベル(例えば、ビデオレベル、シーケンスレベル、ピクチャレベル、スライスレベル等)に基づいて、パラメータセットにグループ化される。例えば、ビットストリーム内の異なるレイヤの1つ以上のコーディングビデオシーケンスによって利用され得るパラメータは、ビデオパラメータセット(VPS, video parameter set)に含まれてもよく、コーディングビデオシーケンス内の1つ以上のピクチャによって利用されるパラメータは、シーケンスパラメータセット(SPS, sequence parameter set)に含まれてもよい。同様に、ピクチャ内の1つ以上のスライスによって利用されるパラメータは、ピクチャパラメータセット(PPS, picture parameter set)に含まれてもよく、単一のスライスに特有の他のパラメータは、スライスヘッダに含まれてもよい。同様に、特定のレイヤが所与の時間にどのパラメータセットを使用しているかの指示は、様々なコーディングレベルで提供されてもよい。
【0042】
VVCにおける参照ピクチャ再サンプリング(RPR, reference picture resampling)のサポートのおかげで、複数のレイヤを含むビットストリームのサポート、例えばVVCにおけるSD及びHD解像度を有する2つのレイヤは、空間スケーラビリティのサポートに必要なアップサンプリングがRPRアップサンプリングフィルタを使用するだけでよいので、更なる信号処理レベルのコーディングツールを必要とせずに設計できる。それにもかかわらず、スケーラビリティをサポートするために、(スケーラビリティをサポートしない場合と比較して)ハイレベルなシンタックスの変更が必要である。スケーラビリティのサポートは、VVCバージョン1において指定されている。AVC及びHEVCの拡張を含む、いずれかの以前のビデオコーディング標準におけるスケーラビリティのサポートとは異なり、VVCスケーラビリティの設計は、可能な限り単一レイヤのデコーダの設計にとって適したものになっている。マルチレイヤビットストリームについての復号能力は、ビットストリームに単一レイヤのみが存在するかかのように指定される。例えば、DPBサイズのような復号能力は、復号されるビットストリームのレイヤ数に依存しない方式で指定される。基本的に、単一レイヤビットストリーム用に設計されたデコーダは、マルチレイヤビットストリームを復号できるようにするために大きな変更を必要としない。AVC及びHEVCのマルチレイヤの拡張の設計と比較して、HLSの側面はいくつかの柔軟性を犠牲にしてかなり簡略化されている。例えば、CVSに存在するレイヤのそれぞれのピクチャを含めるために、IRAP AUが必要とされる。
【0043】
3.5. サブピクチャに基づくビューポート依存の360°ビデオストリーミング
全方向ビデオとしても知られる360°ビデオのストリーミングでは、いずれかの特定の瞬間に全体の全方向ビデオ球体のサブセット(すなわち、現在のビューポート)のみがユーザに対してレンダリングされるが、ユーザはいつでも頭を回して表示方向を変更し、結果として現在のビューポートを変更できる。ユーザが突然球体上のどこかに表示方向を変更した場合に備えて、現在のビューポートでカバーされていない領域の少なくともいくつかの低品質の表現をクライアントにおいて利用可能にさせ、ユーザにレンダリングする準備をさせることが望まれるが、全方向ビデオの高品質表現は、現在の使用のためにレンダリングされている現在のビューポートにのみ必要である。全体の全方位ビデオの高品質表現を適切な粒度でサブピクチャに分割することは、このような最適化を可能にする。VVCを使用すると、2つの表現が互いに独立した2つのレイヤとして符号化できる。
【0044】
典型的なサブピクチャに基づくビューポート依存の360°ビデオ配信方式が
図11に示されており、フルビデオの高解像度表現はサブピクチャで構成されるが、フルビデオの低解像度表現はサブピクチャを使用せず、高解像度表現よりも少ない頻度のランダムアクセスポイントでコーディングできる。クライアントは低解像度のフルビデオを受信し、高解像度のビデオについては、現在のビューポートをカバーするサブピクチャのみを受信して復号する。
【0045】
最新のVVCドラフト仕様は、
図12に示すように、改善された360°ビデオコーディング方式もサポートしている。
図11に示す手法と比較したときの唯一の違いは、レイヤ間予測(ILP, inter-layer prediction)が
図12に示す手法に適用されることである。
【0046】
3.6. パラメータセット
AVC、HEVC及びVVCは、パラメータセットを指定する。パラメータセットのタイプは、SPS、PPS、APS及びVPSを含む。SPS及びPPSは、AVC、HEVC及びVVCの全てでサポートされる。VPSはHEVCから導入され、HEVC及びVVCの双方に含まれる。APSは、AVC又はHEVCには含まれないが、最新のVVCドラフトテキストに含まれている。
【0047】
SPSはシーケンスレベルのヘッダ情報を搬送するように設計され、PPSはまれに変化するピクチャレベルのヘッダ情報を搬送するように設計されている。SPS及びPPSでは、シーケンス又はピクチャ毎にまれに変化する情報が繰り返される必要がないので、この情報の冗長なシグナリングが回避できる。さらに、SPS及びPPSの使用は、重要なヘッダ情報の帯域外送信を可能にし、冗長送信の必要性を回避するだけでなく、エラー耐性も改善する。
【0048】
VPSは、マルチレイヤビットストリームの全てのレイヤに共通するシーケンスレベルのヘッダ情報を搬送するために導入されている。
【0049】
APSは、コーディングにかなりのビットを必要とし、複数のピクチャによって共有でき、シーケンスにおいて非常に多くの異なるバリエーションが存在し得るようなピクチャレベル又はスライスレベルの情報を搬送するために導入されている。
【0050】
3.7. サブピクチャサブビットストリーム抽出プロセス
最新のVVCテキストのC.7節に加えて、Bytedance IDF P2005612001H_v0における提案の変更のサブピクチャサブビットストリーム抽出プロセスは以下の通りである。
C.7 サブピクチャサブビットストリーム抽出プロセス
このプロセスへの入力は、ビットストリームinBitstream、ターゲットOLSインデックスtargetOlsIdx、ターゲット最高TemporalId値tIdTarget、及び0以上NumLayersInOls[targetOLsIdx]-1以下のiについてのターゲットサブピクチャインデックス値subpicIdxTarget[i]のリストである。
このプロセスの出力は、サブビットストリームoutBitstreamである。
入力ビットストリームについてのビットストリーム適合性の要件は、以下の条件の全てを満たすいずれかの出力サブビットストリームが適合ビットストリームであることである。
- 出力サブビットストリームは、ビットストリーム、VPSによって指定されたOLSのリストへのインデックスに等しいtargetOlsIdx、0以上vps_max_sublayers_minus1以下の範囲内のいずれかの値に等しいtIdTarget、及び以下の条件を満たす0以上NumLayersInOls[targetOLsIdx]-1以下のiについてのリストsubpicIdxTarget[i]を入力として、この節で指定されたプロセスの出力である。
- 第targetOLsIdxのOLS内の全てのレイヤは、同じ空間分解能、sps_num_subpics_minus1について同じ値及び同じサブピクチャレイアウトを有し、全て
のサブピクチャは1に等しいsps_subpic_treated_as_pic_flag[]を有する。
- iの全ての値についてのsubpicIdxTarget[i]の値は同じであり、0以上sps_num_subpics_minus1以下の範囲内の特定の値に等しい。
- NumLayersInOls[targetOlsIdx]が1よりも大きく、sps_num_subpics_minus1が0よりも大きい場合、サブピクチャレベル情報SEIメッセージは、1に等しいsn_ols_flagを有するスケーラブルネスト化SEIメッセージに存在するものとし、NestingOlsIdx[i]は0以上sn_num_olss_minus1以下の範囲内のiの1つの値についてtargetOlsIdxに等しい。
マルチレイヤOLSでの使用のために、SLI SEIメッセージは、スケーラブルネスト化SEIメッセージに含まれるものとし、特定のOLS又は特定のOLS内の全てのレイヤに適用されるようにスケーラブルネスト化SEIメッセージに示されるものとする。
- 出力サブビットストリームは、リストLayerIdInOls[targetOlsIdx]内のnuh_layer_id値のそれぞれに等しいnuh_layer_idを有する少なくとも1つのVCL NALユニットを含む。
- 出力サブビットストリームは、tIdTargetに等しいTemporalIdを有する少なくとも1つのVCL NALユニットを含む。
注-適合ビットストリームは、0に等しいTemporalIdを有する1つ以上のコーディングされたスライスNALユニットを含むが、0に等しいnuh_layer_idを有するコーディングされたスライスNALユニットを含む必要はない。
- 出力サブビットストリームは、0以上NumLayersInOls[targetOlsIdx]-1以下の範囲内のそれぞれのiについてLayerIdInOls[targetOlsIdx][i]に等しいnuh_layer_idを有し且つSubpicIdVal[subpicIdxTarget[i]]に等しいsh_subpic_idを有する少なくとも1つのVCL NALユニットを含む。
出力サブビットストリームoutBitstreamは以下のように導出される。
- Annex C.6において指定されたサブビットストリーム抽出プロセスは、inBitstream、targetOlsIdx及びtIdTargetを入力として呼び出され、プロセスの出力はoutBitstreamに割り当てられる。
- 0以上NumLayersInOls[targetOLsIdx]-1以下の範囲のiのそれぞれ値について、outBitstreamから、LayerIdInOls[targetOLsIdx][i]に等しいnuh_layer_idを有し且つSubpicIdVal[subpicIdxTarget[i]]に等しくないsh_subpic_idを有する全てのVCL NALユニットと、これらに関連するフィラー(filler)データNALユニット及びフィラーペイロードSEIメッセージを含むSEI NALユニットとを削除する。
- sli_cbr_constraint_flagが0に等しい場合、FD_NUTに等しいnal_unit_typeを有する全てのNALユニットと、フィラーペイロードSEIメッセージを含むSEI NALユニットとを削除する。
- この仕様において指定されていない何らかの外部手段がサブビットストリームoutBitstreamの置換パラメータセットを提供するために利用可能である場合、全てのパラメータセットを置換パラメータセットに置き換える。
- そうでなく、サブピクチャレベル情報SEIメッセージがinBitstreamに存在する場合、以下が適用される。
- 全ての参照されるVPS NALユニット内のprofile_tier_level()シンタックス構造のリストの第vps_ols_ptl_idx[targetOlsIdx]のエントリ内のgeneral_level_idcの値を、subpicIdxに等しいサブピクチャインデックスを有するサブピクチャから構成されるサブピクチャのセットについて、式D.11で導出されるSubpicSetLevelIdcに等しくなるように書き換える。
- VCL HRDパラメータ又はNAL HRDパラメータが存在する場合、全ての参照されるVPS NALユニット内の第vps_ols_hrd_idx[MultiLayerOlsIdx[targetOlsIdx]]のols_hrd_parameters()シンタックス構造と、第iのレイヤによって参照される全てのSPS NALユニット内のols_hrd_parameters()シンタックス構造とにおいて第jのCPBのcpb_size_value_minus1[tIdTarget][j]及びbit_rate_value_minus1[tIdTarget][j]のそれぞれの値を、これらがそれぞれ式D.6によって導出されるSubpicCpbSizeVcl[SubpicSetLevelIdx][subpicIdx]及びSubpicCpbSizeNal[SubpicSetLevelIdx][subpicIdx]と、それぞれ式D.8及びD.9によって導出されるSubpicBitrateVcl[SubpicSetLevelIdx][subpicIdx]及びSubpicBitrateNal[SubpicSetLevelIdx][subpicIdx]とに対応するように書き換え、SubpicSetLevelIdxは、subpicIdxに等しいサブピクチャインデックスを有するサブピクチャについて式D.11によって導出され、jは0以上hrd_cpb_cnt_minus1以下の範囲内にあり、iは0以上NumLayersInOls[targetOlsIdx]-1の範囲内にある。
- 0以上NumLayersInOls[targetOlsIdx]-1以下の範囲内のiのそれぞれの値について、以下が適用される。
- 変数spIdxはsubpicIdxTarget[i]に等しく設定される。
- 1に等しいsps_ptl_dpb_hrd_params_present_flagを有する全ての参照されるSPS NALユニット内のprofile_tier_level()シンタックス構造内のgeneral_level_idcの値を、spIdxに等しいサブピクチャインデックスを有するサブピクチャから構成されるサブピクチャのセットについて、式D.11によって導出されるSubpicSetLevelIdcに等しくなるように書き換える。
- 変数subpicWidthInLumaSamples及びsubpicHeightInLumaSamplesは以下のように導出される。
subpicWidthInLumaSamples=min((sps_subpic_ctu_top_left_x[spIdx]+sps_subpic_width_minus1[spIdx]+1)*CtbSizeY,pps_pic_width_in_luma_samples)-sps_subpic_ctu_top_left_x[spIdx]*CtbSizeY (C.24)
subpicHeightInLumaSamples=min((sps_subpic_ctu_top_left_y[spIdx]+sps_subpic_height_minus1[spIdx]+1)*CtbSizeY,pps_pic_height_in_luma_samples)-sps_subpic_ctu_top_left_y[spIdx]*CtbSizeY (C.25)
- 全ての参照されるSPS NALユニット内のsps_pic_width_max_in_luma_samples及びsps_pic_height_max_in_luma_samplesの値と、全ての参照されるPPS NALユニット内のpps_pic_width_in_luma_samples及びpps_pic_height_in_luma_samplesの値とを、それぞれsubpicWidthInLumaSamples及びsubpicHeightInLumaSamplesに等しくなるように書き換える。
- 全ての参照されるSPS NALユニット内のsps_num_subpics_minus1と、全ての参照されるPPS NALユニット内のpps_num_subpics_minus1の値とを0に書き換える。
- 存在する場合には全ての参照されるSPS NALユニット内のシンタックスエレメントsps_subpic_ctu_top_left_x[spIdx]及びsps_subpic_ctu_top_left_y[spIdx]を0に書き換える。
- 全ての参照されるSPS NALユニット内で、spIdxに等しくないそれぞれのjについて、シンタックスエレメントsps_subpic_ctu_top_left_x[j]、sps_subpic_ctu_top_left_y[j]、sps_subpic_width_minus1[j]、sps_subpic_height_minus1[j]、sps_subpic_treated_as_pic_flag[j]、sps_loop_filter_across_subpic_enabled_flag[j]及びsps_subpic_id[j]を削除する。
- タイル及びスライスのシグナリングのために全ての参照されるPPS内のシンタックスエレメントを書き換え、spIdxに等しいサブピクチャインデックスを有するサブピクチャに関連しない全てのタイル行、タイル列及びスライスを削除する。
- 変数subpicConfWinLeftOffset、subpicConfWinRightOffset、subpicConfWinTopOffset及びsubpicConfWinBottomOffsetは以下のように導出される。
subpicConfWinLeftOffset=sps_subpic_ctu_top_left_x[spIdx]==0?sps_conf_win_left_offset:0 (C.26)
subpicConfWinRightOffset=(sps_subpic_ctu_top_left_x[spIdx]+sps_subpic_width_minus1[spIdx]+1)*CtbSizeY>=sps_pic_width_max_in_luma_samples?sps_conf_win_right_offset:0 (C.27)
subpicConfWinTopOffset=sps_subpic_ctu_top_left_y[spIdx]==0?sps_conf_win_top_offset:0 (C.28)
subpicConfWinBottomOffset=(sps_subpic_ctu_top_left_y[spIdx]+sps_subpic_height_minus1[spIdx]+1)*CtbSizeY>=sps_pic_height_max_in_luma_samples?sps_conf_win_bottom_offset:0 (C.29)
ここで、上記の式におけるsps_subpic_ctu_top_left_x[spIdx]、sps_subpic_width_minus1[spIdx]、sps_subpic_ctu_top_left_y[spIdx]、sps_subpic_height_minus1[spIdx]、sps_pic_width_max_in_luma_samples、sps_pic_height_max_in_luma_samples、sps_conf_win_left_offset、sps_conf_win_right_offset、sps_conf_win_top_offset及びsps_conf_win_bottom_offsetは、書き換え前の元のSPSのものである。
- 全ての参照されるSPS NALユニット内のsps_conf_win_left_offset、sps_conf_win_right_offset、sps_conf_win_top_offset及びsps_conf_win_bottom_offsetの値と、全ての参照されるPPS NALユニット内のpps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset及びpps_conf_win_bottom_offsetの値とを、それぞれsubpicConfWinLeftOffset、subpicConfWinRightOffset、subpicConfWinTopOffset及びsubpicConfWinBottomOffsetに等しくなるように書き換える。
- 変数subpicScalWinLeftOffset、subpicScalWinRightOffset、subpicScalWinTopOffset及びsubpicScalWinBotOffsetは以下のように導出される。
subpicScalWinLeftOffset=pps_scaling_win_left_offset-sps_subpic_ctu_top_left_x[spIdx]*CtbSizeY/SubWidthC (C.30)
rightSubpicBd=(sps_subpic_ctu_top_left_x[spIdx]+sps_subpic_width_minus1[spIdx]+1)*CtbSizeY
subpicScalWinRightOffset=(rightSubpicBd>=sps_pic_width_max_in_luma_samples)?pps_scaling_win_right_offset:pps_scaling_win_right_offset-(sps_pic_width_max_in_luma_samples-rightSubpicBd)/SubWidthC (C.31)
subpicScalWinTopOffset=pps_scaling_win_top_offset-sps_subpic_ctu_top_left_y[spIdx]*CtbSizeY/SubHeightC (C.32)
botSubpicBd=(sps_subpic_ctu_top_left_y[spIdx]+sps_subpic_height_minus1[spIdx]+1)*CtbSizeY
subpicScalWinBotOffset=(botSubpicBd>=sps_pic_height_max_in_luma_samples)?pps_scaling_win_bottom_offset:pps_scaling_win_bottom_offset-(sps_pic_height_max_in_luma_samples-botSubpicBd)/SubHeightC (C.33)
ここで、上記の式におけるsps_subpic_ctu_top_left_x[spIdx]、sps_subpic_width_minus1[spIdx]、sps_subpic_ctu_top_left_y[spIdx]、sps_subpic_height_minus1[spIdx]、sps_pic_width_max_in_luma_samples及びsps_pic_height_max_in_luma_samplesは、書き換え前の元のSPSのものであり、上記のpps_scaling_win_left_offset、pps_scaling_win_right_offset、pps_scaling_win_top_offset及びpps_scaling_win_bottom_offsetは、書き換え前の元のPPSのものである。
- 全ての参照されるPPS NALユニット内のpps_scaling_win_left_offset、pps_scaling_win_right_offset、pps_scaling_win_top_offset及びpps_scaling_win_bottom_offsetの値を、それぞれsubpicScalWinLeftOffset、subpicScalWinRightOffset、subpicScalWinTopOffset及びsubpicScalWinBotOffsetに等しくなるように書き換える。
- sli_cbr_constraint_flagが1に等しい場合、0以上hrd_cpb_cnt_minus1以下の範囲内のjにおいて、全ての参照されるVPS NALユニット及びSPS NALユニット内の第vps_ols_hrd_idx[MultiLayerOlsIdx[targetOlsIdx]]のols_hrd_parameters()シンタックス構造内の第jのCPBのcbr_flag[tIdTarget][j]を1に等しく設定する。そうでない場合(sli_cbr_constraint_flagが0に等しい場合)、cbr_flag[tIdTarget][j]を0に等しく設定する。
- outBitstreamが、outBitstreamに適用可能な、1に等しいsn_ols_flag及び1に等しいsn_subpic_flagを有するスケーラブルネスト化SEIメッセージを含むSEI NALユニットを含む場合、スケーラブルネスト化SEIメッセージから、1(PT)、130(DUI)又は132(復号ピクチャハッシュ)に等しいpayloadTypeを有する適切な非スケーラブルネスト化SEIメッセージを抽出し、抽出されたSEIメッセージをoutBitstreamに配置する。
【0051】
4. 開示の技術的解決策により解決される技術的問題
サブピクチャサブビットストリーム抽出プロセスの最新の設計は以下の問題を有する。
1) 出力ビットストリームに適用されない1に等しいsn_subpic_flagを有するスケーラブルネスト化SEIメッセージにおいて、スケーラブルネスト化SEIメッセージを含むSEI NALユニットは、出力ビットストリームから削除されるべきである。
2) サブピクチャシーケンスを識別するためのサブピクチャインデックスは、ピクチャ当たり1つのサブピクチャのみを有するレイヤではなく、ピクチャ当たり複数のサブピクチャを有するレイヤにおける抽出対象のサブピクチャのサブピクチャインデックスであるべきである。
3) 0以上tIdTarget-1以下の範囲内のkについてsublayer_level_idc[k]の書き換えが欠落しており、参照されるVPS及び/又は参照されるSPSに対してどの条件でレベル情報の書き換えが実行されるべきかが明確に指定されていない。
4) 0以上tIdTarget-1以下の範囲内のkについてcpb_size_value_minus1[k][j]及びbit_rate_value_minus1[k][j]の書き換えが欠落しており、参照されるVPS及び/又は参照されるSPSに対してどの条件でCPBサイズ及びビットレート情報の書き換えが実行されるべきかが明確に指定されていない。
5) 参照されるVPS及び/又は参照されるSPSに対してどの条件でcbr_flag[tIdTarget][j]の書き換えが実行されるべきかが明確に指定されていない。
6) スケーラブルネスト化SEIメッセージを非スケーラブルネスト化SEIメッセージにする最後のステップは複数の問題を有する。
a. 復号ピクチャハッシュSEIメッセージがスケーラブルネスト化SEIメッセージに含まれる場合、sn_ols_flagの値は0になる必要があるが、最後のステップの現在のテキストはsn_ols_flagが1であることを仮定している。
b. 1に等しいsn_ols_flag及び1に等しいsn_subpic_flagを有する場合のSLI及びBP SEIメッセージはカバーされていない。
c. 0に等しいsn_ols_flag及び1に等しいsn_subpic_flagを有する場合のSEIメッセージはカバーされていない。
d. 結果の非スケーラブルネスト化SEIメッセージが出力ビットストリームのどこに配置されるべきであるか(SEI NALユニット内で、SEI NALユニットがどれであるべきか)が指定されていない。
e. 元のコンテナSEI NALユニットは、出力ビットストリームから削除されるべきである。
【0052】
5. 解決策及び実施形態の一覧
上記の問題等を解決するために、以下に要約される方法が開示される。解決策の項目は、一般的な概念を説明するための例として考えられるべきであり、狭い意味で解釈されるべきではない。さらに、これらの項目は個別に適用でき、或いは、いずれかの方式で組み合わせることもできる。
1) 問題1を解決するために、サブピクチャサブビットストリーム抽出プロセスにおいて、出力ビットストリームに適用されないスケーラブルネスト化SEIメッセージを含むSEI NALユニットは出力ビットストリームから削除するように指定されてもよい。
2) 問題2を解決するために、サブピクチャサブビットストリーム抽出プロセスにおいて、以下が指定されてもよい。サブピクチャシーケンスを識別するためのサブピクチャインデックスは、ピクチャ当たり1つのサブピクチャのみを有するレイヤではなく、ピクチャ当たり複数のサブピクチャを有するレイヤにおいて、抽出対象のサブピクチャのサブピクチャインデックスとして指定される。
3) 問題3を解決するために、サブピクチャサブビットストリーム抽出プロセスにおいて、以下が指定されてもよい。存在する場合には参照されるVPS内で、また、NumLayersInOls[targetOLsIdx]が0に等しい場合には参照されるSPS内で、0以上tIdTarget-1以下の範囲内のkについてgeneral_level_idc及びsublayer_level_idc[k]の双方を、適切な値(例えば、本文献に記載される値)に書き換える。
4) 問題4を解決するために、サブピクチャサブビットストリーム抽出プロセスにおいて、以下が指定されてもよい。存在する場合には参照されるVPS内で、また、NumLayersInOls[targetOLsIdx]が0に等しい場合には参照されるSPS内で、0以上tIdTarget以下の範囲内のkの全ての値についてcpb_size_value_minus1[k][j]及びbit_rate_value_minus1[k][j]を、適切な値(例えば、本文献に記載される値)に書き換える。
5) 問題5を解決するために、サブピクチャサブビットストリーム抽出プロセスにおいて、以下が指定されてもよい。存在する場合には参照されるVPS内で、また、NumLayersInOls[targetOLsIdx]が0に等しい場合には参照されるSPS内で、cbr_flag[tIdTarget][j]を、適切な値(例えば、本文献に記載される値)に書き換える。
6) 問題6を解決するために、特定の条件下で、以下の動作のうち1つ以上が実行されてもよい。
a. 新たなSEI NALユニットseiNalUnitBを生成する。
b. seiNalUnitAを含むPUにseiNalUnitBを含める。
c. seiNalUnitAを含むPUに、seiNalUnitAの直後にseiNalUnitBを含める。
d. スケーラブルネスト化SEIメッセージから複数のスケーラブルネスト化SEIメッセージを抽出し、これらを(非スケーラブルネスト化SEIメッセージとして)直接seiNalUnitBに含める。
e. outBitstreamからseiNalUnitAを削除する。
7) 一例では、項目6)における特定の条件は以下のようになる。outBitstreamが、outBitstreamと全く同じレイヤのセットを有し且つoutBitstreamと同じサブピクチャのセットを有するサブピクチャに適用可能なレイヤ(sn_ols_flagが0に等しい場合)又はOLS(sn_ols_flagが1に等しい場合)に適用可能な1に等しいsn_subpic_flagを有するスケーラブルネスト化SEIメッセージを含むSEI NALユニットseiNalUnitAを含む場合である。
8) 一例では、サブピクチャサブビットストリーム抽出プロセスにおいて、LayerIdInOls[targetOlsIdx]がビットストリーム内の全てのNALユニットにおいてnuh_layer_idの全ての値を含まず、outBitstreamがスケーラブルネスト化SEIメッセージを含むSEI NALユニットseiNalUnitAを含む場合、出力ビットストリームにおいてseiNalUnitAを保持する。
【0053】
6. 実施形態
以下は、VVC仕様に適用できる、第5節において上記に要約された発明の態様のいくつかの例示的な実施形態である。変更されたテキストは、JVET-S0152-v5の最新のVVCテキストに基づいている。追加又は変更されたほとんどの関連する部分は下線付きの太字(又は下線)で強調表示され、削除された部分のいくつかは[[イタリック体の二重角括弧]](又は[[]])で強調表示される。本質的に編集上の変更であるため強調されていないいくつかの他の変更が存在してもよい。
6.1 第1の実施形態
この実施形態は項目1~7及びこれらの部分項目についてのものである。
C.7 サブピクチャサブビットストリーム抽出プロセス
このプロセスへの入力は、ビットストリームinBitstream、ターゲットOLSインデックスtargetOlsIdx、ターゲット最高TemporalId値tIdTarget、及び0以上NumLayersInOls[targetOLsIdx]-1以下のiについての[[各レイヤについての]]ターゲットサブピクチャインデックス値subpicIdxTarget[i]の[[配列]]リストである。
このプロセスの出力は、サブビットストリームoutBitstreamである。
OLSインデックスtargetOlsIdxを有するOLSは、ターゲットOLSと呼ばれる。ターゲットOLS内のレイヤのうち、参照されるSPSが0よりも大きいsps_num_subpics_minus1を有するものはmultiSubpicLayersと呼ばれる。
入力ビットストリームについてのビットストリーム適合性の要件は、以下の条件の全てを満たすいずれかの出力サブビットストリームが適合ビットストリームであることである。
- 出力サブビットストリームは、ビットストリーム、VPSによって指定されたOLSのリストへのインデックスに等しいtargetOlsIdx、0以上vps_max_sublayers_minus1以下の範囲内のいずれかの値に等しいtIdTarget、及び以下の条件を満たす0以上NumLayersInOls[targetOLsIdx]-1以下のiについての[[入力に存在するサブピクチャインデックスに等しい]]リストsubpicIdxTarget[i]を入力として、この節で指定されたプロセスの出力である。
- subpicIdxTarget[i]の値は、sps_subpic_treated_as_pic_flag[subpicIdxTarget[i]]が1に等しくなるように、0以上sps_num_subpics_minus1以下の範囲内の値に等しくなり、sps_num_subpics_minus1及びsps_subpic_treated_as_pic_flag[subpicIdxTarget[i]]は、LayerIdInOls[targetOLsIdx][i]に等しいnuh_layer_idを有するレイヤによって参照されるSPSで検出されるか或いはこれに基づいて推定される。
注1-LayerIdInOls[targetOLsIdx][i]に等しいnuh_layer_idを有するレイヤについてのsps_num_subpics_minus1が0に等しい場合、subpicIdxTarget[i]の値は常に0に等しくなる。
- m及びnのいずれか2つの異なる整数値について、それぞれLayerIdInOls[targetOLsIdx][m]及びLayerIdInOls[targetOLsIdx][n]に等しいnuh_layer_idを有する双方のレイヤについて、sps_num_subpics_minus1が0よりも大きい場合、subpicIdxTarget[m]はsubpicIdxTarget[n]に等しくなる。
- 出力サブビットストリームは、リストLayerIdInOls[targetOlsIdx]内のnuh_layer_id値のそれぞれに等しいnuh_layer_idを有する少なくとも1つのVCL NALユニットを含む。
- 出力サブビットストリームは、tIdTargetに等しいTemporalIdを有する少なくとも1つのVCL NALユニットを含む。
注2-適合ビットストリームは、0に等しいTemporalIdを有する1つ以上のコーディングされたスライスNALユニットを含むが、0に等しいnuh_layer_idを有するコーディングされたスライスNALユニットを含む必要はない。
- 出力サブビットストリームは、0以上NumLayersInOls[targetOlsIdx]-1以下の範囲内のそれぞれのiについてLayerIdInOls[targetOlsIdx][i]に等しいnuh_layer_idを有し且つSubpicIdVal[subpicIdxTarget[i]][[内の値]]に等しいsh_subpic_idを有する少なくとも1つのVCL NALユニットを含む。
出力サブビットストリームoutBitstreamは[[以下のように]]以下の順序のステップによって導出される。
1. Annex C.6において指定されたサブビットストリーム抽出プロセスは、inBitstream、targetOlsIdx及びtIdTargetを入力として呼び出され、プロセスの出力はoutBitstreamに割り当てられる。
2. 0以上NumLayersInOls[targetOLsIdx]-1以下の範囲のiのそれぞれ値について、outBitstreamから、LayerIdInOls[targetOLsIdx][i]に等しいnuh_layer_idを有し且つSubpicIdVal[subpicIdxTarget[i]]に等しくないsh_subpic_idを有する全てのVCL NALユニットと、これらに関連するフィラー(filler)データNALユニット及びフィラーペイロードSEIメッセージを含むこれらに関連するSEI NALユニットとを削除する。
3. ターゲットOLSに適用されるSLI SEIメッセージのsli_cbr_constraint_flagが0に等しい場合、FD_NUTに等しいnal_unit_typeを有する全てのNALユニットと、フィラーペイロードSEIメッセージを含むSEI NALユニットとを削除する。
4. outBitstreamから、1に等しいsn_subpic_flagを有するスケーラブルネスト化SEIメッセージを含む全てのSEI NALユニットを削除し、0以上sn_num_subpics_minus1以下のjについてのsn_subpic_idx[j]値のいずれもmultiSubpicLayers内のレイヤについてのsubpicIdxTarget[i]値のいずれにも等しくなくなる。
5. この仕様において指定されていない何らかの外部手段がサブビットストリームoutBitstreamの置換パラメータセットを提供するために利用可能である場合、全てのパラメータセットを置換パラメータセットに置き換える。そうでなく、SLI SEIメッセージがinBitstreamに存在する場合、以下の順序のステップが適用される[[が適用される]]。
a. 変数[[subpicIdx]]spIdxは、multiSubpicLayers内のいずれかのレイヤについて[[subpicIdxTarget[[NumLayersInOls[targetOlsIdx]-1]]]]subpicIdxTarget[i]の値に等しく設定される。
b. 存在する場合、全ての参照されるVPS NALユニット内のprofile_tier_level()シンタックス構造のリスト内で、また、NumLayersInOls[targetOLsIdx]が0に等しい場合、全ての参照されるSPS NALユニット内のprofile_tier_level()シンタックス構造内で、第vps_ols_ptl_idx[targetOlsIdx]のエントリ内の0以上tIdTarget-1以下の範囲内のkについてのgeneral_level_idc及びsublayer_level_idc[k]の値を、それぞれ第spIdxのサブピクチャシーケンス[[subpicIdxに等しいサブピクチャインデックスを有するサブピクチャから構成されるサブピクチャのセット]]について式D.10で導出されるSubpicLevelIdc[spIdx][tIdTarget]及びSubpicLevelIdc[spIdx][k]に等しくなるように書き換える。
c. 0以上tIdTarget以下の範囲のkについて、spLvIdxをSubpicLevelIdx[spIdx][k]に等しく設定し、SubpicLevelIdx[spIdx][k]は第spIdxのサブピクチャシーケンスについての式D.10によって導出される。VCL HRDパラメータ又はNAL HRDパラメータが存在する場合、0以上tIdTarget以下の範囲内のkについて、存在する場合には全ての参照されるVPS NALユニット内の第vps_ols_hrd_idx[MultiLayerOlsIdx[targetOlsIdx]]のols_hrd_parameters()シンタックス構造と、NumLayersInOls[targetOLsIdx]が0に等しい場合の[[第iのレイヤによって参照される]]全ての参照されるSPS NALユニット内のols_hrd_parameters()シンタックス構造とにおいて第jのCPBのcpb_size_value_minus1[k[[tIdTarget]]][j]及びbit_rate_value_minus1[k[[tIdTarget]]][j]のそれぞれの値を、これらがそれぞれ式D.6によって導出されるSubpicCpbSizeVcl[spLvIdx[[SubpicLevelIdx]]][spIdx[[subpicIdx]]][k]及びSubpicCpbSizeNal[spLvIdx[[SubpicLevelIdx]]][spIdx[[subpicIdx]]][k]と、それぞれ式D.8及びD.9によって導出されるSubpicBitrateVcl[spLvIdx[[SubpicLevelIdx]]][spIdx[[subpicIdx]]][k]及びSubpicBitrateNal[spLvIdx[[SubpicLevelIdx]]][spIdx[[subpicIdx]]][k]とに対応するように書き換え、[[SubpicSetLevelIdxは、subpicIdxに等しいサブピクチャインデックスを有するサブピクチャについて式D.10によって導出され]]、jは0以上hrd_cpb_cnt_minus1以下の範囲内にあり、iは0以上NumLayersInOls[targetOlsIdx]-1の範囲内にある。
d. [[0以上NumLayersInOls[targetOlsIdx]-1以下の範囲内のiを有する第iのレイヤ]]multiSubpicLayers内のそれぞれについて、そのレイヤ内のピクチャによって参照されるSPS及びPPSの書き換えのために、以下の順序のステップが適用される[[が適用される]]。
i. 変数subpicWidthInLumaSamples及びsubpicHeightInLumaSamplesは以下のように導出される。
subpicWidthInLumaSamples=min((sps_subpic_ctu_top_left_x[spIdx[[subpicIdx]]]+sps_subpic_width_minus1[spIdx[[subpicIdx]]]+1)*CtbSizeY,pps_pic_width_in_luma_samples)-sps_subpic_ctu_top_left_x[s spIdx[[subpicIdx]]]*CtbSizeY (C.24)
subpicHeightInLumaSamples=min((sps_subpic_ctu_top_left_y[spIdx[[subpicIdx]]]+sps_subpic_height_minus1[spIdx[[subpicIdx]]]+1)*CtbSizeY,pps_pic_height_in_luma_samples)-sps_subpic_ctu_top_left_y[spIdx[[subpicIdx]]]*CtbSizeY (C.25)
ii. 全ての参照されるSPS NALユニット内のsps_pic_width_max_in_luma_samples及びsps_pic_height_max_in_luma_samplesの値と、全ての参照されるPPS NALユニット内のpps_pic_width_in_luma_samples及びpps_pic_height_in_luma_samplesの値とを、それぞれsubpicWidthInLumaSamples及びsubpicHeightInLumaSamplesに等しくなるように書き換える。
iii. 全ての参照されるSPS NALユニット内のsps_num_subpics_minus1と、全ての参照されるPPS NALユニット内のpps_num_subpics_minus1の値とを0に書き換える。
iv. 存在する場合には全ての参照されるSPS NALユニット内のシンタックスエレメントsps_subpic_ctu_top_left_x[spIdx[[subpicIdx]]]及びsps_subpic_ctu_top_left_y[spIdx[[subpicIdx]]]を0に書き換える。
v. 全ての参照されるSPS NALユニット内で、spIdx[[subpicIdx]]に等しくないそれぞれのjについて、シンタックスエレメントsps_subpic_ctu_top_left_x[j]、sps_subpic_ctu_top_left_y[j]、sps_subpic_width_minus1[j]、sps_subpic_height_minus1[j]、sps_subpic_treated_as_pic_flag[j]、sps_loop_filter_across_subpic_enabled_flag[j]及びsps_subpic_id[j]を削除する。
vi. タイル及びスライスのシグナリングのために全ての参照されるPPS内のシンタックスエレメントを書き換え、spIdx[[subpicIdx]]に等しいサブピクチャインデックスを有するサブピクチャに関連しない全てのタイル行、タイル列及びスライスを削除する。
vii. 変数subpicConfWinLeftOffset、subpicConfWinRightOffset、subpicConfWinTopOffset及びsubpicConfWinBottomOffsetは以下のように導出される。
subpicConfWinLeftOffset=sps_subpic_ctu_top_left_x[spIdx[[subpicIdx]]]==0?sps_conf_win_left_offset:0 (C.26)
subpicConfWinRightOffset=(sps_subpic_ctu_top_left_x[spIdx[[subpicIdx]]]+sps_subpic_width_minus1[spIdx[[subpicIdx]]]+1)*CtbSizeY>=sps_pic_width_max_in_luma_samples?sps_conf_win_right_offset:0 (C.27)
subpicConfWinTopOffset=sps_subpic_ctu_top_left_y[spIdx[[subpicIdx]]==0?sps_conf_win_top_offset:0 (C.28)
subpicConfWinBottomOffset=(sps_subpic_ctu_top_left_y[spIdx[[subpicIdx]]]+sps_subpic_height_minus1[spIdx[[subpicIdx]]]+1)*CtbSizeY>=sps_pic_height_max_in_luma_samples?sps_conf_win_bottom_offset:0 (C.29)
ここで、上記の式におけるsps_subpic_ctu_top_left_x[spIdx]、sps_subpic_width_minus1[spIdx]、sps_subpic_ctu_top_left_y[spIdx]、sps_subpic_height_minus1[spIdx]、sps_pic_width_max_in_luma_samples、sps_pic_height_max_in_luma_samples、sps_conf_win_left_offset、sps_conf_win_right_offset、sps_conf_win_top_offset及びsps_conf_win_bottom_offsetは、書き換え前の元のSPSのものである。
注3-入力ビットストリーム及び出力ビットストリームの双方におけるmultiSubpicLayers内のレイヤ内のピクチャについて、sps_pic_width_max_in_luma_samples及びsps_pic_height_max_in_luma_samplesの値は、それぞれpps_pic_width_in_luma_samples及びpps_pic_height_in_luma_samplesに等しい。したがって、上記の式において、sps_pic_width_max_in_luma_samples及びsps_pic_height_max_in_luma_samplesは、それぞれpps_pic_width_in_luma_samples及びpps_pic_height_in_luma_samplesに置き換えられることができる。
viii. 全ての参照されるSPS NALユニット内のsps_conf_win_left_offset、sps_conf_win_right_offset、sps_conf_win_top_offset及びsps_conf_win_bottom_offsetの値と、全ての参照されるPPS NALユニット内のpps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset及びpps_conf_win_bottom_offsetの値とを、それぞれsubpicConfWinLeftOffset、subpicConfWinRightOffset、subpicConfWinTopOffset及びsubpicConfWinBottomOffsetに等しくなるように書き換える。
ix. 変数subpicScalWinLeftOffset、subpicScalWinRightOffset、subpicScalWinTopOffset及びsubpicScalWinBotOffsetは以下のように導出される。
subpicScalWinLeftOffset=pps_scaling_win_left_offset-sps_subpic_ctu_top_left_x[spIdx]*CtbSizeY/SubWidthC (C.30)
rightSubpicBd=(sps_subpic_ctu_top_left_x[spIdx]+sps_subpic_width_minus1[spIdx]+1)*CtbSizeY
subpicScalWinRightOffset=(rightSubpicBd>=sps_pic_width_max_in_luma_samples)?pps_scaling_win_right_offset:pps_scaling_win_right_offset-(sps_pic_width_max_in_luma_samples-rightSubpicBd)/SubWidthC (C.31)
subpicScalWinTopOffset=pps_scaling_win_top_offset-sps_subpic_ctu_top_left_y[spIdx]*CtbSizeY/SubHeightC (C.32)
botSubpicBd=(sps_subpic_ctu_top_left_y[spIdx]+sps_subpic_height_minus1[spIdx]+1)*CtbSizeY
subpicScalWinBotOffset=(botSubpicBd>=sps_pic_height_max_in_luma_samples)?pps_scaling_win_bottom_offset:pps_scaling_win_bottom_offset-(sps_pic_height_max_in_luma_samples-botSubpicBd)/SubHeightC (C.33)
ここで、上記の式におけるsps_subpic_ctu_top_left_x[spIdx]、sps_subpic_width_minus1[spIdx]、sps_subpic_ctu_top_left_y[spIdx]、sps_subpic_height_minus1[spIdx]、sps_pic_width_max_in_luma_samples及びsps_pic_height_max_in_luma_samplesは、書き換え前の元のSPSのものであり、上記のpps_scaling_win_left_offset、pps_scaling_win_right_offset、pps_scaling_win_top_offset及びpps_scaling_win_bottom_offsetは、書き換え前の元のPPSのものである。
x. 全ての参照されるPPS NALユニット内のpps_scaling_win_left_offset、pps_scaling_win_right_offset、pps_scaling_win_top_offset及びpps_scaling_win_bottom_offsetの値を、それぞれsubpicScalWinLeftOffset、subpicScalWinRightOffset、subpicScalWinTopOffset及びsubpicScalWinBotOffsetに等しくなるように書き換える。
[[-outBitstreamから、第iのレイヤのnuh_layer_idに等しいnuh_layer_idを有し且つSubpicIdVal[subpicIdx]に等しくないsh_subpic_idを有する全てのVCL NALユニットを削除する。]]
- sli_cbr_constraint_flagが1に等しい[[場合]]場合、[[FD_NUTに等しいnal_unit_typeを有する全てのNALユニットと、subpicIdTarget[]内のサブピクチャのVCL NALユニットに関連しないフィラーペイロードSEIメッセージとを削除し]]、存在する場合には全ての参照されるVPS NALユニット内で、[[0以上hrd_cpb_cnt_minus1以下の範囲内のjにおいて]]NumLayersInOls[targetOLsIdx]が0に等しい場合には全ての参照されるSPS NALユニット内で、第vps_ols_hrd_idx[MultiLayerOlsIdx[targetOlsIdx]]のols_hrd_parameters()シンタックス構造内の第jのCPBのcbr_flag[tIdTarget][j]を1に等しく設定する。そうでない場合(sli_cbr_constraint_flagが0に等しい場合)、[[FD_NUTに等しいnal_unit_typeを有する全てのNALユニットと、フィラーペイロードSEIメッセージとを削除し]]cbr_flag[tIdTarget][j]を0に等しく設定する。双方の場合、jは0以上hrd_cpb_cnt_minus1以下の範囲内にある。
6. outBitstreamが、outBitstreamと全く同じレイヤのセットを有し且つoutBitstreamと同じサブピクチャのセットを有するサブピクチャに適用可能なレイヤ(sn_ols_flagが0に等しい場合)又はOLS(sn_ols_flagが1に等しい場合)に適用可能な1に等しいsn_subpic_flagを有するスケーラブルネスト化SEIメッセージを含むSEI NALユニットseiNalUnitAを含む場合、新たなSEI NALユニットseiNalUnitBを生成し、seiNalUnitAを含むPUに、seiNalUnitAの直後にこれを含め、スケーラブルネスト化SEIメッセージから複数のスケーラブルネスト化SEIメッセージを抽出し、これらを(非スケーラブルネスト化SEIメッセージとして)seiNalUnitBに直接含め、outBitstreamからseiNalUnitAを削除する。[[outBitstreamが、outBitstreamに適用可能な、1に等しいsn_ols_flag及び1に等しいsn_subpic_flagを有するスケーラブルネスト化SEIメッセージを含むSEI NALユニットを含む場合、スケーラブルネスト化SEIメッセージから、1(PT)、130(DUI)又は132(復号ピクチャハッシュ)に等しいpayloadTypeを有する適切な非スケーラブルネスト化SEIメッセージを抽出し、抽出されたSEIメッセージをoutBitstreamに配置する。]]
【0054】
図5は、本明細書に開示される様々な技術が実装され得る例示的なビデオ処理システム1900を示すブロック図である。様々な実装は、システム1900のコンポーネントの一部又は全てを含んでもよい。システム1900は、ビデオコンテンツを受信するための入力1902を含んでもよい。ビデオコンテンツは、例えば、8ビット又は10ビットの多成分ピクセル値の未加工又は未圧縮のフォーマットで受信されてもよく、或いは、圧縮又は符号化されたフォーマットでもよい。入力1902は、ネットワークインタフェース、周辺バスインタフェース又はストレージインタフェースを表してもよい。ネットワークインタフェースの例は、イーサネット、パッシブ光ネットワーク(PON, passive optical network)等のような有線インタフェースと、Wi-Fi又はセルラインタフェースのような無線インタフェースを含む。
【0055】
システム1900は、本文献に記載される様々なコーディング又は符号化方法を実装し得るコーディングコンポーネント1904を含んでもよい。コーディングコンポーネント1904は、入力1902からコーディングコンポーネント1904の出力へのビデオの平均ビットレートを低減させ、ビデオのコーディング表現を生成してもよい。したがって、コーディング技術は、場合によってはビデオ圧縮又はビデオトランスコーディング技術と呼ばれる。コーディングコンポーネント1904の出力は記憶されてもよく、或いは、コンポーネント1906によって表されるように接続された通信を介して送信されてもよい。入力1902において受信されたビデオの記憶又は通信されるビットストリーム(又はコーディング)表現は、ディスプレイインタフェース1910に送信されるピクセル値又は表示可能ビデオを生成するためにコンポーネント1908によって使用されてもよい。ビットストリームからユーザ視聴可能なビデオを生成するプロセスは、場合によってはビデオ解凍と呼ばれる。さらに、特定のビデオ処理動作が「コーディング」動作又はツールと呼ばれるが、コーディングツール又は動作がエンコーダにおいて使用され、コーディングの結果の逆の対応する復号ツール又は動作がデコーダにおいて実行されることが認識される。
【0056】
周辺バスインタフェース又はディスプレイインタフェースの例は、ユニバーサルシリアルバス(USB, universal serial bus)又は高精細マルチメディアインタフェース(HDMI(登録商標), high definition multimedia interface)又はディスプレイポート(Displayport)等を含んでもよい。ストレージインタフェースの例は、SATA(serial advanced technology attachment)、PCI、IDEインタフェース等を含む。本文献に記載される技術は、携帯電話、ラップトップ、スマートフォン又はデジタルデータ処理及び/又はビデオ表示を実行可能な他のデバイスのような様々な電子デバイスに具現されてもよい。
【0057】
図6は、ビデオ処理装置3600のブロック図である。装置3600は、本明細書に記載される方法のうち1つ以上を実装するために使用されてもよい。装置3600は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT, Internet of Things)受信機に具現されてもよい。装置3600は、1つ以上のプロセッサ3602、1つ以上のメモリ3604及びビデオ処理ハードウェア3606を含んでもよい。プロセッサ3602は、本文献に記載される1つ以上の方法を実行するように構成されてもよい。メモリ3604は、本明細書に記載される方法及び技術を実装するために使用されるデータ及びコードを記憶するために使用されてもよい。ビデオ処理ハードウェア3606は、本文献に記載されるいくつかの技術をハードウェア回路で実装するために使用されてもよい。
【0058】
図8は、この開示の技術を利用し得る例示的なビデオコーディングシステム100を示すブロック図である。
【0059】
図8に示すように、ビデオコーディングシステム100は、ソースデバイス110及びデスティネーションデバイス120を含んでもよい。ソースデバイス110は、符号化ビデオデータを生成し、ビデオ符号化デバイスと呼ばれてもよい。デスティネーションデバイス120は、ソースデバイス110によって生成された符号化ビデオデータを復号してもよく、ビデオ復号デバイスと呼ばれてもよい。
【0060】
ソースデバイス110は、ビデオソース112、ビデオエンコーダ114及び入出力(I/O, input/output)インタフェース116を含んでもよい。
【0061】
ビデオソース112は、ビデオキャプチャデバイス、ビデオコンテンツプロバイダからビデオデータを受信するためのインタフェース、及び/又はビデオデータを生成するためのコンピュータグラフィックスシステム、又はこのようなソースの組み合わせのようなソースを含んでもよい。ビデオデータは、1つ以上のピクチャを含んでもよい。ビデオエンコーダ114は、ビデオソース112からのビデオデータを符号化してビットストリームを生成する。ビットストリームは、ビデオデータのコーディング表現を形成するビットのシーケンスを含んでもよい。ビットストリームは、コーディングピクチャ及び関連データを含んでもよい。コーディングピクチャはピクチャのコーディング表現である。関連データは、シーケンスパラメータセット、ピクチャパラメータセット及び他のシンタックス構造を含んでもよい。I/Oインタフェース116は、変調器/復調器(モデム)及び/又は送信機を含んでもよい。符号化ビデオデータは、I/Oインタフェース116を介して、ネットワーク130aを通じて直接、デスティネーションデバイス120に送信されてもよい。符号化ビデオデータはまた、デスティネーションデバイス120によるアクセスのために記憶媒体/サーバ130bに記憶されてもよい。
【0062】
デスティネーションデバイス120は、I/Oインタフェース126、ビデオデコーダ124及び表示デバイス122を含んでもよい。
【0063】
I/Oインタフェース126は、受信機及び/又はモデムを含んでもよい。I/Oインタフェース126は、ソースデバイス110又は記憶媒体/サーバ130bから符号化ビデオデータを取得してもよい。ビデオデコーダ124は符号化ビデオデータを復号してもよい。表示デバイス122は、復号ビデオデータをユーザに表示してもよい。表示デバイス122は、デスティネーションデバイス120と一体化されてもよく、或いは、外部表示デバイスとインタフェースするように構成されたデスティネーションデバイス120の外部にあってもよい。
【0064】
ビデオエンコーダ114及びビデオデコーダ124は、高効率ビデオコーディング(HEVC, High Efficiency Video Coding)標準、バーサタイルビデオコーディング(VVC, Versatile Video Coding)標準及び他の現在及び/又は将来の標準のようなビデオ圧縮標準に従って動作してもよい。
【0065】
図9は、
図8に示すシステム100内のビデオエンコーダ114でもよいビデオエンコーダ200の例を示すブロック図である。
【0066】
ビデオエンコーダ200は、この開示の技術のうちのいずれか又は全てを実行するように構成されてもよい。
図9の例において、ビデオエンコーダ200は、複数の機能コンポーネントを含む。この開示に記載される技術は、ビデオエンコーダ200の様々なコンポーネントの間で共有されてもよい。いくつかの例では、プロセッサは、この開示に記載される技術のうちいずれか又は全てを実行するように構成されてもよい。
【0067】
ビデオエンコーダ200の機能コンポーネントは、パーティションユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205及びイントラ予測ユニット206を含んでもよい予測ユニット202と、残差生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構成ユニット212と、バッファ213と、エントロピー符号化ユニット214とを含んでもよい。
【0068】
他の例では、ビデオエンコーダ200、より多くの機能コンポーネント、より少ない機能コンポーネント又は異なる機能コンポーネントを含んでもよい。一例では、予測ユニット202は、イントラブロックコピー(IBC, intra block copy)ユニットを含んでもよい。IBCユニットは、少なくとも1つの参照ピクチャが、現在ビデオブロックが位置するピクチャであるというIBCモードで予測を実行してもよい。
【0069】
さらに、動き推定ユニット204及び動き補償ユニット205のようないくつかのコンポーネントは、
図9の例では説明の目的で別々に表されているが、高度に一体化されてもよい。
【0070】
パーティションユニット201は、ピクチャを1つ以上のビデオブロックにパーティション化してもよい。ビデオエンコーダ200及びビデオデコーダ300は、様々なビデオブロックサイズをサポートしてもよい。
【0071】
モード選択ユニット203は、例えば、エラー結果に基づいて、イントラ又はインターのようなコーディングモードのうち1つを選択し、結果のイントラ又はインターコーディングブロックを、残差ブロックデータを生成するための残差生成ユニット207と、参照ピクチャとしての使用のために符号化ブロックを再構成するための再構成ユニット212とに提供してもよい。いくつかの例では、モード選択ユニット203は、予測がインター予測信号及びイントラ予測信号に基づくイントラ及びインター予測の組み合わせ(CIIP, combination of intra and inter predication)モードを選択してもよい。モード選択ユニット203はまた、インター予測の場合に、ブロックのための動きベクトルの分解能(例えば、サブピクセル又は整数ピクセルの精度)を選択してもよい。
【0072】
現在ビデオブロックに対してインター予測を実行するために、動き推定ユニット204は、バッファ213からの1つ以上の参照フレームを現在ビデオブロックと比較することによって、現在ビデオブロックについての動き情報を生成してもよい。動き補償ユニット205は、現在ビデオブロックに関連するピクチャ以外の、バッファ213からのピクチャの動き情報及び復号サンプルに基づいて、現在ビデオブロックについての予測ビデオブロックを決定してもよい。
【0073】
動き推定ユニット204及び動き補償ユニット205は、例えば、現在ビデオブロックがIスライスにあるかPスライスにあるかBスライスにあるかに依存して、現在ビデオブロックについて異なる動作を実行してもよい。
【0074】
いくつかの例では、動き推定ユニット204は、現在ビデオブロックについて一方向予測を実行してもよく、動き推定ユニット204は、現在ビデオブロックについての参照ビデオブロックを求めてリスト0又はリスト1の参照ピクチャを探索してもよい。次いで、動き推定ユニット204は、参照ビデオブロックを含むリスト0又はリスト1内の参照ピクチャを示す参照インデックスと、現在ビデオブロックと参照ビデオブロックとの間の空間変位を示す動きベクトルとを生成してもよい。動き推定ユニット204は、現在ビデオブロックの動き情報として、参照インデックスと、予測方向インジケータと、動きベクトルとを出力してもよい。動き補償ユニット205は、現在ビデオブロックの動き情報によって示される参照ビデオブロックに基づいて、現在ブロックの予測ビデオブロックを生成してもよい。
【0075】
他の例では、動き推定ユニット204は、現在ビデオブロックについて双方向予測を実行してもよく、動き推定ユニット204は、現在ビデオブロックについての参照ビデオブロックを求めてリスト0内の参照ピクチャを探索してもよく、また、現在ビデオブロックについての他の参照ビデオブロックを求めてリスト1内の参照ピクチャも探索してもよい。次いで、動き推定ユニット204は、参照ビデオブロックを含むリスト0及びリスト1内の参照ピクチャを示す参照インデックスと、参照ビデオブロックと現在ビデオブロックとの間の空間変位を示す動きベクトルとを生成してもよい。動き推定ユニット204は、現在ビデオブロックの動き情報として、参照インデックスと、現在ビデオブロックの動きベクトルとを出力してもよい。動き補償ユニット205は、現在ビデオブロックの動き情報によって示される参照ビデオブロックに基づいて、現在ブロックの予測ビデオブロックを生成してもよい。
【0076】
いくつかの例では、動き推定ユニット204は、デコーダの復号処理のために、動き情報の完全なセットを出力してもよい。
【0077】
いくつかの例では、動き推定ユニット204は、現在ビデオについての動き情報の完全なセットを出力しなくてもよい。むしろ、動き推定ユニット204は、他のビデオブロックの動き情報を参照して現在ビデオブロックの動き情報をシグナリングしてもよい。例えば、動き推定ユニット204は、現在ビデオブロックの動き情報が隣接ビデオブロックの動き情報と十分に似ていると決定してもよい。
【0078】
一例では、動き推定ユニット204は、現在ビデオブロックに関連するシンタックス構造で、現在ビデオブロックが他のビデオブロックと同じ動き情報を有することをビデオデコーダ300に示す値を指示してもよい。
【0079】
他の例では、動き推定ユニット204は、現在ビデオブロックに関連するシンタックス構造で、他のビデオブロックと動きベクトル差(MVD, motion vector difference)とを特定してもよい。動きベクトル差は、現在ビデオブロックの動きベクトルと、示されるビデオブロックの動きベクトルとの間の差を示す。ビデオデコーダ300は、現在ビデオブロックの動きベクトルを決定するために、示されたビデオブロックの動きベクトルと動きベクトル差とを使用してもよい。
【0080】
上記のように、ビデオエンコーダ200は、動きベクトルを予測的にシグナリングしてもよい。ビデオエンコーダ200によって実装され得る予測的シグナリング技術の2つの例は、アドバンスト動きベクトル予測(AMVP, advanced motion vector predication)及びマージモードシグナリングを含む。
【0081】
イントラ予測ユニット206は、現在ビデオブロックに対してイントラ予測を実行してもよい。イントラ予測ユニット206が現在ビデオブロックに対してイントラ予測を実行する場合、イントラ予測ユニット206は、同じピクチャ内の他のビデオブロックの復号サンプルに基づいて、現在ビデオブロックについての予測データを生成してもよい。現在ビデオブロックについての予測データは、予測ビデオブロックと様々なシンタックスエレメントとを含んでもよい。
【0082】
残差生成ユニット207は、現在ビデオブロックの予測ビデオブロックを現在ビデオブロックから差し引くことによって(例えば、マイナス符号によって示される)、現在ビデオブロックについての残差データを生成してもよい。現在ビデオブロックの残差データは、現在ビデオブロック内のサンプルの異なるサンプル成分に対応する残差ビデオブロックを含んでもよい。
【0083】
他の例では、例えば、スキップモードにおいて、現在ビデオブロックのために現在ビデオブロックについての残差データが存在しなくてもよく、残差生成ユニット207は減算演算を実行しなくてもよい。
【0084】
変換処理ユニット208は、現在ビデオブロックに関連する残差ビデオブロックに1つ以上の変換を適用することによって、現在ビデオブロックについての1つ以上の変換係数ビデオブロックを生成してもよい。
【0085】
変換処理ユニット208が現在ビデオブロックに関連する変換係数ビデオブロックを生成した後に、量子化ユニット209は、現在ビデオブロックに関連する1つ以上の量子化パラメータ(QP, quantization parameter)値に基づいて、現在ビデオブロックに関連する変換係数ビデオブロックを量子化してもよい。
【0086】
逆量子化ユニット210及び逆変換ユニット211は、変換係数ビデオブロックに逆量子化及び逆変換をそれぞれ適用して、変換係数ビデオブロックから残差ビデオブロックを再構成してもよい。再構成ユニット212は、再構成された残差ビデオブロックを、予測ユニット202によって生成された1つ以上の予測ビデオブロックからの対応するサンプルに追加して、バッファ213に記憶される現在ブロックに関連する再構成ビデオブロックを生成してもよい。
【0087】
再構成ユニット212がビデオブロックを再構成した後に、ビデオブロック内のビデオブロッキングアーチファクトを低減するために、ループフィルタリング動作が実行されてもよい。
【0088】
エントロピー符号化ユニット214は、ビデオエンコーダ200の他の機能コンポーネントからデータを受信してもよい。エントロピー符号化ユニット214がデータを受信した場合、エントロピー符号化ユニット214は、1つ以上のエントロピー符号化動作を実行してエントロピー符号化データを生成し、エントロピー符号化データを含むビットストリームを出力してもよい。
【0089】
図10は、
図8に示すシステム100内のビデオデコーダ114でもよいビデオデコーダ300の例を示すブロック図である。
【0090】
ビデオデコーダ300は、この開示の技術のうちいずれか又は全てを実行するように構成されてもよい。
図10の例において、ビデオデコーダ300は、複数の機能コンポーネントを含む。この開示に記載される技術は、ビデオデコーダ300の様々なコンポーネントの間で共有されてもよい。いくつかの例では、プロセッサは、この開示に記載される技術のうちいずれか又は全てを実行するように構成されてもよい。
【0091】
図10の例において、ビデオデコーダ300は、エントロピー復号ユニット301、動き補償ユニット302、イントラ予測ユニット303、逆量子化ユニット304、逆変換ユニット305、再構成ユニット306及びバッファ307を含む。ビデオデコーダ300は、いくつかの例では、ビデオエンコーダ200(
図9)に関して説明した符号化パスに対して概ね逆の復号パスを実行してもよい。
【0092】
エントロピー復号ユニット305は、符号化ビットストリームを取得してもよい。符号化ビットストリームは、エントロピーコーディングされたビデオデータ(例えば、ビデオデータの符号化ブロック)を含んでもよい。エントロピー復号ユニット301はエントロピーコーディングされたビデオデータを復号してもよく、エントロピー復号されたビデオデータから、動き補償ユニット302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス及び他の動き情報を含む動き情報を決定してもよい。動き補償ユニット302は、例えば、AMVP及びマージモードを実行することによって、このような情報を決定してもよい。
【0093】
動き補償ユニット302は、場合によって補間フィルタに基づく補間を実行して、動き補償ブロックを生成してもよい。サブピクセル精度で使用される補間フィルタについての識別子は、シンタックスエレメントに含まれてもよい。
【0094】
動き補償ユニット302は、ビデオブロックの符号化中にビデオエンコーダ200によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルについての補間値を計算してもよい。動き補償ユニット302は、受信したシンタックス情報に従ってビデオエンコーダ200によって使用された補間フィルタを決定し、予測ブロックを生成するために補間フィルタを使用してもよい。
【0095】
動き補償ユニット302は、符号化ビデオシーケンスのフレーム及び/又はスライスを符号化するのに使用されるブロックのサイズ、符号化ビデオシーケンスのピクチャの各マクロブロックがどのようにパーティション化されるかを記述するパーティション情報、各パーティションがどのように符号化されるかを示すモード、各インター符号化ブロックについての1つ以上の参照フレーム(及び参照フレームリスト)、及び符号化ビデオシーケンスを復号するための他の情報を決定するために、シンタックス情報のいくつかを使用してもよい。
【0096】
イントラ予測ユニット303は、空間的に隣接するブロックから予測ブロックを形成するために、例えば、ビットストリーム内で受信したイントラ予測モードを使用してもよい。逆量子化ユニット303は、ビットストリームで提供されてエントロピー復号ユニット301によって復号された量子化ビデオブロック係数を逆量子化する、すなわち、量子化解除する。逆変換ユニット303は逆変換を適用する。
【0097】
再構成ユニット306は、残差ブロックを、動き補償ユニット202又はイントラ予測ユニット303によって生成された対応する予測ブロックと足し合わせて、復号ブロックを形成してもよい。望まれる場合、ブロックアーチファクトを除去するために復号ブロックをフィルタリングするよう、デブロッキングフィルタも適用されてもよい。次いで、復号ビデオブロックがバッファ307に記憶され、これは、後の動き補償/イントラ予測のための参照ブロックを提供し、また、表示デバイス上での提示のための復号ビデオを生成する。
【0098】
次に、いくつかの実施形態によって選ばれた解決策のリストを提供する。
【0099】
以下の解決策は、前のセクション(例えば、項目1~8)で議論された技術の例示的な実施形態を示す。
【0100】
1. ビデオ処理方法(例えば、
図7に示す方法700)であって、
1つ以上のサブピクチャを含むビデオと、ビデオのコーディング表現との間の変換を実行するステップ(702)を含み、コーディング表現は、1つ以上のネットワーク抽象レイヤ(NAL)ユニットに構成され、変換は、サブピクチャのサブビットストリームが構成又は抽出されるサブピクチャサブビットストリーム抽出プロセスを指定するルールに従う、方法。
【0101】
以下の解決策は、上記の節(例えば、項目1)で説明した技術の例示的な実施形態を示す。
【0102】
2. ルールは、出力ビットストリームに適用可能でないスケーラブルネスト化SEIメッセージを含む補足エンハンスメント情報(SEI)NALユニットが出力ビットストリームから削除されることを指定する、解決策1に記載の方法。
【0103】
以下の解決策は、上記の節(例えば、項目2)で説明した技術の例示的な実施形態を示す。
【0104】
3. ルールは、サブピクチャシーケンスを識別するためのサブピクチャインデックスがピクチャ当たり複数のサブピクチャを含むビデオレイヤにおける抽出対象のサブピクチャのサブピクチャインデックスに対応することを指定する、解決策1~2のいずれかに記載の方法。
【0105】
以下の解決策は、上記の節(例えば、項目3)で説明した技術の例示的な実施形態を示す。
【0106】
4. ルールは、出力レイヤセット内のレイヤの数が1である場合、一般レベルを示す第1のシンタックスエレメントと、レイヤレベルを示す第2のシンタックスエレメントとを他の値に書き換えることを指定する、解決策1~3のいずれかに記載の方法。
【0107】
以下の解決策は、上記の節(例えば、項目4)で説明した技術の例示的な実施形態を示す。
【0108】
5. ルールは、出力レイヤセット内のレイヤの数が1である場合、コーディングピクチャバッファのサイズを示す第1のシンタックスエレメントと、ビットレートを示す第2のシンタックスエレメントとを他の値(例えば、本明細書に記載される適切な値)に書き換えることを指定する、解決策1~4のいずれかに記載の方法。
【0109】
以下の解決策は、上記の節(例えば、項目5~8)で説明した技術の例示的な実施形態を示す。
【0110】
6. ルールは、コーディングビットレートを示すシンタックスフィールドの値を、参照ビデオパラメータセット又はシーケンスパラメータセットにおいて他の値(例えば、本明細書に記載される適切な値)に書き換えることを指定する、解決策1~5のいずれかに記載の方法。
【0111】
7. 変換は、ビデオをコーディング表現に符号化することを含む、解決策1~6のいずれかに記載の方法。
【0112】
8. 変換は、コーディング表現を復号してビデオのピクセル値を生成することを含む、解決策1~6のいずれかに記載の方法。
【0113】
9. 解決策1~8のうち1つ以上に記載の方法を実施するように構成されたプロセッサを含むビデオ復号装置。
【0114】
10. 解決策1~8のうち1つ以上に記載の方法を実施するように構成されたプロセッサを含むビデオ符号化装置。
【0115】
11. コンピュータコードを記憶したコンピュータプログラム製品であって、
プロセッサによって実行されると、プロセッサに解決策1~8のうちいずれかに記載の方法を実装させる、コンピュータプログラム製品。
【0116】
12. 本文献に記載の方法、装置又はシステム。
【0117】
本明細書に記載の解決策では、エンコーダは、フォーマットルールに従ってコーディング表現を生成することによって、フォーマットルールに従ってもよい。本明細書に記載の解決策では、デコーダは、フォーマットルールを使用して、フォーマットルールに従ってシンタックスエレメントの有無を認識して、コーディング表現内のシンタックスエレメントを解析し、復号されたビデオを生成してもよい。
【0118】
本文献において、「ビデオ処理」という用語は、ビデオ符号化、ビデオ復号、ビデオ圧縮又はビデオ解凍を示してもよい。例えば、ビデオ圧縮アルゴリズムは、ビデオのピクセル表現から対応するビットストリーム表現への変換又はその逆の変換の間に適用されてもよい。現在ビデオブロックのビットストリーム表現は、例えば、シンタックスによって定義されるような、ビットストリーム内の同じ位置にあるか或いは異なる位置に散らばっているビットに対応してもよい。例えば、マクロブロックは、変換及びコーディングされた誤り残差(error residual)値に関して、また、ビットストリーム内のヘッダ及び他のフィールドにあるビットを使用して、符号化されてもよい。さらに、変換の間に、デコーダは、上記の解決策に記載のように、決定に基づいて、いくつかのフィールドの有無を認識してビットストリームを解析してもよい。同様に、エンコーダは、特定のシンタックスフィールドが含まれるべきか否かを決定し、それに従って、シンタックスフィールドをコーディング表現に含めるか或いはそれから除外するかによって、コーディング表現を生成してもよい。
【0119】
いくつかの好ましい実施形態では、第1のセットの解決策は、第5節の項目1及び2において更に記載されているように実装されてもよい。
【0120】
1. ビデオデータを処理する方法(例えば、
図13Aに示す方法)であって、
ビデオとビデオのビットストリームとの間の変換を実行するステップ(1302)を含み、ビットストリームは、ルールに従って1つ以上のサブピクチャを含む複数のレイヤを含み、ルールは、出力ビットストリームがビットストリームから抽出されるサブピクチャサブビットストリーム抽出プロセス中に、出力ビットストリームに適用可能でないスケーラブルネスト化SEIメッセージを含む補足エンハンスメント情報ネットワーク抽象レイヤユニット(SEI NALユニット)が出力ビットストリームにおいて省略されることを指定する、方法。
【0121】
2. 出力ビットストリームは、1つ以上のターゲットサブピクチャインデックスによって識別されるサブピクチャを含む1つ以上の出力レイヤを含み、SEI NALユニットは、スケーラブルネスト化SEIが所定の値を有するフラグを含み、SEI NALユニットの第1の1つ以上のサブピクチャインデックスが出力ビットストリーム内の第2の1つ以上のサブピクチャインデックスと一致しないことに応じて、出力ビットストリームに適用可能でないと見なされる、解決策1に記載の方法。
【0122】
3. 所定の値を有するフラグは、SEI NALユニットが特定のレイヤの特定のサブピクチャに適用可能であることを示す、解決策2に記載の方法。
【0123】
4. フラグはsn_subpic_flagである、解決策2~3に記載の方法。
【0124】
5. 第1の1つ以上のサブピクチャインデックスはsn_subpic_idx[j]であり、jは0からsn_num_subpics_minus1の値を有する整数であり、第2の1つ以上のサブピクチャインデックスは、ピクチャ当たり複数のサブピクチャを有する出力ビットストリーム内のレイヤについてのsubpicIdxTarget[i]であり、iは整数である、解決策2~4のいずれかに記載の方法。
【0125】
6. ビデオデータを処理する方法(例えば、
図13に示す方法1310)であって、
ビデオとビデオのビットストリームとの間の変換を実行するステップを含み、ビットストリームは、ルールに従って、1つ以上のサブピクチャを含む1つ以上のピクチャを含む複数のレイヤを含み、ルールは、ビットストリームに対するサブピクチャサブビットストリーム抽出プロセスによって抽出されたサブピクチャシーケンスを識別する第1のサブピクチャインデックスがピクチャ当たり複数のサブピクチャを有するビットストリームのレイヤの第2のサブピクチャインデックスに基づくことを指定する、方法。
【0126】
7. ルールは、第1のサブピクチャインデックスが、サブピクチャレベル情報補足エンハンスメント情報(SLI SEI)メッセージがビットストリームに含まれることに応じたものであることを指定する、解決策6に記載の方法。
【0127】
いくつかの好ましい実施形態では、第2のセットの解決策は、第5節の項目3、4及び5において更に記載されているように実装されてもよい。
【0128】
1. ビデオデータを処理する方法(例えば、
図13Cに示す方法1320)であって、
ビデオとビデオのビットストリームとの間の変換を実行するステップ(1322)を含み、ビットストリームは、ルールに従って、1つ以上のサブピクチャを含む1つ以上のピクチャを含む1つ以上のサブレイヤを含む1つ以上のレイヤを含み、ルールは、出力ターゲットサブビットストリームがビットストリームから抽出されるサブピクチャサブビットストリーム抽出プロセス中に、1つ以上のシンタックス構造に対して選択的に実行される書き換え操作を指定し、1つ以上のシンタックスエレメントは、出力ターゲットサブビットストリームの情報を含む、方法。
【0129】
2. 1つ以上のシンタックス構造は、(a)出力ターゲットサブビットストリームが適合するコーディングレベルを示す第1のシンタックス構造、及び(b)0からtIdTarget-1のインデックス値を有する出力ターゲットサブビットストリーム内のサブレイヤシーケンスが適合するコーディングレベルを示す第2のシンタックス構造を含み、tIdTargetは出力ターゲットサブビットストリーム内のサブレイヤの最高時間レイヤ識別子を表す整数である、解決策1に記載の方法。
【0130】
3. 1つ以上のシンタックスエレメントは、(a)出力ターゲットサブビットストリーム内の各サブレイヤシーケンスのコーディングピクチャーバッファサイズを示す第1のシンタックス構造、及び(b)出力ターゲットサブビットストリーム内の各サブレイヤシーケンスのビットレート値を示す第2のシンタックス構造を含む、解決策1に記載の方法。
【0131】
4. 1つ以上のシンタックスエレメントは、(a)出力ターゲットサブビットストリーム内の各サブレイヤシーケンスが一定のビットレートを有するものとして処理されるか否かを示す第1のシンタックス構造を含む、解決策1に記載の方法。
【0132】
5. 第1のシンタックス構造及び第2のシンタックス構造は、出力ターゲットサブビットストリームによって参照されるビデオパラメータセットに含まれる、解決策1~2に記載の方法。
【0133】
6. 出力ターゲットサブビットストリームが単一レイヤを含む場合、第1のシンタックス構造及び第2のシンタックス構造は、出力ターゲットサブビットストリームによって参照されるシーケンスパラメータセットに含まれる、解決策1~2に記載の方法。
【0134】
いくつかの好ましい実施形態では、第3のセットの解決策は、第5節の項目6、7及び8において更に記載されているように実装されてもよい。
【0135】
1. ビデオデータを処理する方法(例えば、
図13Dに示す方法1330)であって、
ビデオとビデオのビットストリームとの間の変換を実行するステップ(1332)を含み、ビットストリームは、ルールに従って、1つ以上のサブピクチャを含む1つ以上のピクチャを含む1つ以上のレイヤを含み、ルールは、条件に応じて、サブピクチャサブビットストリーム抽出プロセス中に抽出されるターゲット出力サブピクチャサブビットストリームの第1の補足エンハンスメント情報ネットワーク抽象レイヤ(SEI NAL)ユニットの選択処理を指定する、方法。
【0136】
2. 処理は、第1のSEI NALユニットを生成することを含む、解決策1に記載の方法。
【0137】
3. 処理は、第1のSEI NALユニットを、第2のSEI NALユニットを含むピクチャユニットに追加することを含む、解決策1~2のいずれかに記載の方法。
【0138】
4. 処理は、第1のSEI NALユニットを、第2のSEI NALユニットを含むピクチャユニットに、第2のSEI NALユニットの直後に追加することを含む、解決策1~3のいずれかに記載の方法。
【0139】
5. 処理は、第2のSEI NALユニット内のスケーラブルネスト化SEIメッセージからスケーラブルネスト化SEIメッセージを抽出し、抽出されたスケーラブルネスト化SEIメッセージを非スケーラブルネスト化SEIメッセージとして第1のSEI NALユニットに含めることを含む、解決策1~4のいずれかに記載の方法。
【0140】
6. 処理は、ターゲット出力サブピクチャサブビットストリームから第2のSEI NALユニットを削除することを含む、解決策1~5のいずれかに記載の方法。
【0141】
7. 条件は、(a)ターゲット出力サブピクチャサブビットストリームがスケーラブルネスト化SEIメッセージを含む第2のSEI NALユニットを含むこと、(b)スケーラブルネスト化SEIメッセージ内のシンタックスフィールドが、スケーラブルネスト化SEIメッセージがターゲット出力サブピクチャサブビットストリーム内と同じレイヤのセットに適用可能であることを示す値に設定されること、及び(c)スケーラブルネスト化SEIメッセージがターゲット出力サブピクチャサブビットストリーム内と同じサブピクチャのセットに適用可能であることを含む、解決策1~6のいずれかに記載の方法。
【0142】
8. 条件は、(a)ターゲット出力サブピクチャサブビットストリーム内のレイヤのリストがビットストリーム内の全てのレイヤを含まないこと、(b)ターゲット出力サブピクチャサブビットストリームがスケーラブルネスト化SEIメッセージを含むことを含み、処理は、ターゲット出力サブピクチャサブビットストリーム内の第1のSEI NALユニットを変更せずに保持することを含む、解決策1に記載の方法。
【0143】
9. 第1のSEI NALユニットはseiNalUnitBである、解決策1~8のいずれかに記載の方法。
【0144】
10. 第2のSEI NALユニットはseiNalUnitAである、解決策1~9のいずれかに記載の方法。
【0145】
上記の第1、第2及び第3のセットの解決策を参照して、いくつかの実施形態では、ビデオは360度ビデオを含む。いくつかの実施形態では、変換は、ビデオをビットストリームに符号化することを含む。いくつかの実施例では、変換は、ビットストリームを復号してビデオのピクセル値を生成することを含む。
【0146】
いくつかの実施形態は、第1、第2又は第3のリストの解決策に記載の方法を実施するように構成されたプロセッサを含むビデオ復号装置を含んでもよい。
【0147】
いくつかの実施形態は、解決策1~8のうち1つ以上に記載の方法を実施するように構成されたプロセッサを含むビデオ符号化装置を含んでもよい。
【0148】
いくつかの実施形態では、ビデオを表すビットストリームをコンピュータ読み取り可能記録媒体に記憶する方法が実施されてもよい。当該方法は、上記の解決策のうちいずれか1つ以上に記載の方法に従ってビデオからビットストリームを生成するステップと、ビットストリームをコンピュータ読み取り可能記録媒体に記憶するステップとを含む。
【0149】
いくつかの実施形態は、上記の解決策のうちいずれか1つ以上に従って生成されたビットストリームを記憶したコンピュータ読み取り可能媒体を含んでもよい。
【0150】
いくつかの実施形態は、コンピュータコードを記憶したコンピュータプログラム製品を含んでもよく、コードは、プロセッサによって実行されると、プロセッサに上記の解決策のうちいずれかに記載の方法を実施させる。
【0151】
この文献に記載される開示及び他の解決策、例、モジュール及び機能動作は、この文献に開示されている構造及びこれらの構造的な均等物又はこれらの1つ以上の組み合わせを含めて、デジタル電子回路、又はコンピュータソフトウェア、ファームウェア若しくはハードウェアで実施できる。開示及び他の実施形態は、1つ以上のコンピュータプログラム製品として実装でき、すなわち、データ処理装置による実行のための或いはデータ処理装置の動作を制御するためのコンピュータ読み取り可能媒体に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実装できる。コンピュータ読み取り可能媒体は、機械読み取り可能記憶デバイス、機械読み取り可能記憶基板、メモリデバイス、機械読み取り可能伝搬信号を生じさせる物質の組成、又はこれらのうち1つ以上の組み合わせとすることができる。「データ処理装置」という用語は、例として、プログラマブルプロセッサ、コンピュータ又は複数のプロセッサ若しくはコンピュータを含めて、データを処理するための全ての装置、デバイス及び機械を包含する。装置は、ハードウェアに加えて、問題としているコンピュータプログラムのための実行環境、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム又はこれらのうち1つ以上の組み合わせを構成するコードを作成するコードを含むことができる。伝搬信号は、適切な受信機装置への送信のために情報を符号化するように生成された人工生成の信号、例えば、機械で生成された電気、光又は電磁気信号である。
【0152】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト又はコードとしても知られる)は、コンパイル型又はインタープリタ型の言語を含み、如何なる形式のプログラミング言語で記述されることもでき、スタンドアロンプログラムとして或いはコンピューティング環境での使用に適したモジュール、コンポーネント、サブルーチン又は他のユニットとして、如何なる形式でも展開できる。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応するとは限らない。プログラムは、他のプログラム若しくはデータを保持するファイルの一部(例えば、マークアップ言語文書に記憶された1つ以上のスクリプト)に記憶でき、或いは、問題としているプログラムに専用の単一のファイルに記憶でき、或いは、複数の連携ファイル(例えば、1つ以上のモジュール、サブプログラム又はコードの部分を記憶するファイル)に記憶できる。コンピュータプログラムは、1つのコンピュータ上で実行されるように展開でき、或いは、一箇所に配置されるか或いは複数箇所に分散されて通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開できる。
【0153】
この文献に記載されるプロセス及び論理フローは、入力データに対して演算して出力を生成することによって機能を実行するように、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行できる。プロセス及び論理フローはまた、専用の論理回路、例えば、FPGA(field programmable gate array)又はASIC(application specific integrated circuit)によって実行でき、また、装置は、専用の論理回路としても実装できる。
【0154】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用及び専用の双方のマイクロプロセッサ、及びいずれかの種類のデジタルコンピュータのいずれか1つ以上のプロセッサを含む。一般的に、プロセッサは、読み取り専用メモリ若しくはランダムアクセスメモリ又はこれらの双方から命令及びデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令及びデータを記憶するための1つ以上のメモリデバイスである。一般的に、コンピュータはまた、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気ディスク、磁気光ディスク又は光ディスクを含むか、或いは、大容量記憶デバイスからデータを受信したりデータを転送したりするように動作的に結合される。しかし、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令及びデータを記憶するのに適したコンピュータ読み取り可能媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM及びフラッシュメモリデバイスを含み、全ての形式の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、専用の論理回路によって補われることができ、或いは、それに組み込まれることができる。
【0155】
この特許文献は多くの詳細を含むが、これらは、いずれかの対象物又は特許請求され得るものの範囲に対する限定として解釈されるべきでなく、むしろ、特定の技術の特定の実施形態に特有になり得る特徴の説明として解釈されるべきである。別々の実施形態に関してこの特許文献に記載されている特定の特徴はまた、単一の実施形態で組み合わせて実装できる。逆に、単一の実施形態に関して記載されている様々な特徴は、複数の実施形態で別々に或いはいずれかの適切なサブコンビネーションで実装できる。さらに、特徴が特定の組み合わせで作用するものとして上記に記載され、さらには当初はこのように特許請求されることがあるが、いくつかの場合、特許請求されている組み合わせからの1以上の特徴は、組み合わせから除外でき、特許請求されている組み合わせは、サブコンビネーション又はサブコンビネーションのバリエーションへと導かれてもよい。
【0156】
同様に、図面には動作が特定の順序で示されているが、これは、所望の結果を達成するために、このような動作が図示の特定の順序で或いは順番に実行されること、又は全ての図示の動作が実行されることを要求するものとして理解されるべきでない。さらに、この特許文献に記載されている実施形態における様々なシステムコンポーネントの分離は、全ての実施形態においてこのような分離を必要とするものとして理解されるべきでない。
【0157】
数個の実装及び例のみが記載されており、この特許文献に記載及び図示されているものに基づいて、他の実装、拡張及び変形が行われることができる。
【手続補正書】
【提出日】2022-12-16
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオデータを処理する方法であって、
ビデオと前記ビデオのビットストリームとの間の変換を実行するステップを含み、
前記ビットストリームは、ルールに従って、1つ以上のサブピクチャを含む1つ以上のピクチャを含む1つ以上のサブレイヤを含む1つ以上のレイヤを含み、
前記ルールは、出力ターゲットサブビットストリームが前記ビットストリームから抽出されるサブピクチャサブビットストリーム抽出プロセス中に、1つ以上のシンタックス
エレメントに対して選択的に実行される書き換え操作を指定し、
前記1つ以上のシンタックスエレメントは、前記出力ターゲットサブビットストリームの情報を含む、方法。
【請求項2】
前記1つ以上のシンタックス
エレメントは、(a)前記出力ターゲットサブビットストリームが適合するコーディングレベルを示す第1のシンタックス
エレメント、及び(b)0からtIdTarget-1のインデックス値を有する前記出力ターゲットサブビットストリーム内のサブレイヤシーケンスが適合するコーディングレベルを示す第2のシンタックス
エレメントを含み、tIdTargetは前記出力ターゲットサブビットストリーム内のサブレイヤの
ターゲット最高時間レイヤ識別子を表す整数である、請求項1に記載の方法。
【請求項3】
前記1つ以上のシンタックスエレメントは、(a)前記出力ターゲットサブビットストリーム内の各サブレイヤシーケンスのコーディングピクチャバッファ
(CPB)サイズを示す
第3のシンタックスエレメント、及び(b)前記出力ターゲットサブビットストリーム内の各サブレイヤシーケンスのビットレート値を示す
第4のシンタックスエレメントを含
み、前記各サブレイヤシーケンスはインデックス値kを有し、kは0以上tIdTarget以下の範囲にあり、tIdTargetは前記出力ターゲットサブビットストリーム内のサブレイヤのターゲット最高時間レイヤ識別子を表す整数である、請求項1又は2に記載の方法。
【請求項4】
前記1つ以上のシンタックスエレメントは、(a)前記出力ターゲットサブビットストリーム内の
ターゲット最高時間レイヤ識別子tIdTargetを有するサブレイヤシーケンスが一定のビットレートを有するものとして処理されるか否かを示す第5のシンタックス
エレメントを含む、請求項1
乃至3のうちいずれか1項に記載の方法。
【請求項5】
存在する場合、前記1つ以上のシンタックスエレメントは、前記出力ターゲットサブビットストリームによって参照されるビデオパラメータセットに含まれる、請求項1
乃至4のうちいずれか1項に記載の方法。
【請求項6】
前記出力ターゲットサブビットストリームが単一レイヤを含む場合、
前記1つ以上のシンタックスエレメントは、前記出力ターゲットサブビットストリームによって参照されるシーケンスパラメータセットに含まれる、請求項1
乃至5のうちいずれか1項に記載の方法。
【請求項7】
前記ビデオは360度ビデオを含む、請求項1乃至6のうちいずれか1項に記載の方法。
【請求項8】
前記変換は、前記ビデオを前記ビットストリームに符号化することを含む、請求項1乃至7のうちいずれか1項に記載の方法。
【請求項9】
前記変換は、前記ビットストリームを復号して前記ビデオのピクセル値を生成することを含む、請求項1乃至7のうちいずれか1項に記載の方法。
【請求項10】
プロセッサと、命令を有する非一時的なメモリとを含む、ビデオデータを処理するための装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
ビデオと前記ビデオのビットストリームとの間の変換を実行させ、
前記ビットストリームは、ルールに従って、1つ以上のサブピクチャを含む1つ以上のピクチャを含む1つ以上のサブレイヤを含む1つ以上のレイヤを含み、
前記ルールは、出力ターゲットサブビットストリームが前記ビットストリームから抽出されるサブピクチャサブビットストリーム抽出プロセス中に、1つ以上のシンタックスエレメントに対して選択的に実行される書き換え操作を指定し、
前記1つ以上のシンタックスエレメントは、前記出力ターゲットサブビットストリームの情報を含む、装置。
【請求項11】
命令を記憶した非一時的なコンピュータ読み取り可能記憶媒体であって、
前記命令は、プロセッサに、
ビデオと前記ビデオのビットストリームとの間の変換を実行させ、
前記ビットストリームは、ルールに従って、1つ以上のサブピクチャを含む1つ以上のピクチャを含む1つ以上のサブレイヤを含む1つ以上のレイヤを含み、
前記ルールは、出力ターゲットサブビットストリームが前記ビットストリームから抽出されるサブピクチャサブビットストリーム抽出プロセス中に、1つ以上のシンタックスエレメントに対して選択的に実行される書き換え操作を指定し、
前記1つ以上のシンタックスエレメントは、前記出力ターゲットサブビットストリームの情報を含む、非一時的なコンピュータ読み取り可能記憶媒体。
【請求項12】
ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶した非一時的なコンピュータ読み取り可能記録媒体であって、
前記方法は、
前記ビデオの前記ビットストリームを生成するステップを含み、
前記ビットストリームは、ルールに従って、1つ以上のサブピクチャを含む1つ以上のピクチャを含む1つ以上のサブレイヤを含む1つ以上のレイヤを含み、
前記ルールは、出力ターゲットサブビットストリームが前記ビットストリームから抽出されるサブピクチャサブビットストリーム抽出プロセス中に、1つ以上のシンタックスエレメントに対して選択的に実行される書き換え操作を指定し、
前記1つ以上のシンタックスエレメントは、前記出力ターゲットサブビットストリームの情報を含む、非一時的なコンピュータ読み取り可能記録媒体。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0001
【補正方法】変更
【補正の内容】
【0001】
[関連出願への相互参照]
本出願は、2020年6月9日に出願された米国仮特許出願No.63/036,908の優先権及び利益を主張した、2021年6月8日に出願された国際特許出願第PCT/US2021/036363号に基づくものである。全ての上記の特許出願の全開示を参照することにより援用する。
【国際調査報告】