(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-27
(45)【発行日】2024-10-07
(54)【発明の名称】ビデオコーディングにおけるサブピクチャシグナリング
(51)【国際特許分類】
H04N 19/70 20140101AFI20240930BHJP
【FI】
H04N19/70
(21)【出願番号】P 2022539152
(86)(22)【出願日】2020-12-27
(86)【国際出願番号】 US2020067090
(87)【国際公開番号】W WO2021134054
(87)【国際公開日】2021-07-01
【審査請求日】2022-07-11
(32)【優先日】2019-12-27
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】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)【発明者】
【氏名】ワン,イェ-クイ
【審査官】鉢呂 健
(56)【参考文献】
【文献】特表2022-521992(JP,A)
【文献】特表2022-535312(JP,A)
【文献】BROSS, Benjamin et al.,Versatile Video Coding (Draft 7),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 16th Meeting: Geneva, CH, 1-11 Oct. 2019, [JVET-P2001-vE],JVET-P2001 (version 14),ITU-T,2019年10月12日,<URL:https://jvet-experts.org/doc_end_user/documents/16_Geneva/wg11/JVET-P2001-v14.zip>: JVET-P2001-vE.docx: pp.38-42,96-112
【文献】SKUPIN, Robert et al.,AHG 17: On simplification of subpicture design,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 16th Meeting: Geneva, CH, 1-11 October 2019, [JVET-P0480-v2],JVET-P0480 (version 2),ITU-T,2019年10月01日,<URL:https://jvet-experts.org/doc_end_user/documents/16_Geneva/wg11/JVET-P0480-v2.zip>: JVET-P0480_r1.docx: pp.1-6
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
ビデオ処理の方法であって:
複数のピクチャを含むビデオと前記ビデオのビットストリームとの間の変換を実行することを含み、
ビデオシーケンスの各ピクチャ内のサブピクチャの数を示すフィールドが、前記ビットストリームのシーケンスパラメータセット(SPS)において条件付きでシグナリングされ、前記フィールドのビット幅が前記サブピクチャの数の値に基づき、
前記フィールドは、最初に左ビットがある符号なし整数0次指数ゴロム(Exp-Golomb)でコーディングされた構文要素であり、
ピクチャパラメータセット(PPS)を参照する各ピクチャがパーティション化されることができるかどうかを示す第1の構文要素が、前記ビットストリームの前記PPS内に、前記PPSにおいて前記ピクチャの前記サブピクチャの識別子を示す構文要素のセットの前に、含まれる、
方法。
【請求項2】
フラグが、サブピクチャ情報が前記ビデオシーケンスについて存在することを指定する場合、前記フィールドは前記SPSでシグナリングされる、
請求項1に記載の方法。
【請求項3】
前記フィールドはsps_num_subpics_minus1であり、前記フィールドがシグナリングされない場合、前記フィールドの値は、0に等しいと推定される、
請求項1又は2に記載の方法。
【請求項4】
前記PPSを参照する各ピクチャ内の前記サブピクチャの数を示す第2の構文要素が、前記第1の構文要素の値に基づいて、前記PPSに条件付きで含まれる、
請求項1に記載の方法。
【請求項5】
前記第2の構文要素は、ピクチャパーティション化が前記PPSを参照する各ピクチャに適用されないことを示す前記第1の構文要素の値に応答して、省略される、
請求項4に記載の方法。
【請求項6】
前記第2の構文要素の値が前記フィールドに等しいことがビットストリーム適合の要件である、
請求項4に記載の方法。
【請求項7】
前記変換は、前記ビデオを前記ビットストリームからデコーディングすることを含む、
請求項1乃至6のいずれか1項に記載の方法。
【請求項8】
前記変換は、前記ビデオを前記ビットストリームにエンコーディングすることを含む、
請求項1乃至6のいずれか1項に記載の方法。
【請求項9】
プロセッサと、命令を伴う非一時的メモリとを有するビデオデータを処理するための装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに:
複数のピクチャを含むビデオと前記ビデオのビットストリームとの間の変換を実行させ、
ビデオシーケンスの各ピクチャ内のサブピクチャの数を示すフィールドが、前記ビットストリームのシーケンスパラメータセット(SPS)において条件付きでシグナリングされ、前記フィールドのビット幅が前記サブピクチャの数の値に基づき、
前記フィールドは、最初に左ビットがある符号なし整数0次指数ゴロム(Exp-Golomb)でコーディングされた構文要素であり、
ピクチャパラメータセット(PPS)を参照する各ピクチャがパーティション化されることができるかどうかを示す第1の構文要素が、前記ビットストリームの前記PPS内に、前記PPSにおいて前記ピクチャの前記サブピクチャの識別子を示す構文要素のセットの前に、含まれる、
装置。
【請求項10】
命令が記憶された非一時的コンピュータ可読記憶媒体であって、前記命令は、プロセッサに:
複数のピクチャを含むビデオと前記ビデオのビットストリームとの間の変換を実行させ、
ビデオシーケンスの各ピクチャ内のサブピクチャの数を示すフィールドが、前記ビットストリームのシーケンスパラメータセット(SPS)において条件付きでシグナリングされ、前記フィールドのビット幅が前記サブピクチャの数の値に基づき、
前記フィールドは、最初に左ビットがある符号なし整数0次指数ゴロム(Exp-Golomb)でコーディングされた構文要素であり、
ピクチャパラメータセット(PPS)を参照する各ピクチャがパーティション化されることができるかどうかを示す第1の構文要素が、前記ビットストリームの前記PPS内に、前記PPSにおいて前記ピクチャの前記サブピクチャの識別子を示す構文要素のセットの前に、含まれる、
非一時的コンピュータ可読記憶媒体。
【請求項11】
ビデオのビットストリームを格納する方法であって、前記方法は:
複数のピクチャを含む前記ビデオの前記ビットストリームを生成することと、
非一時的コンピュータ可読記録媒体に前記ビットストリームを格納することと、を含み、
ビデオシーケンスの各ピクチャ内のサブピクチャの数を示すフィールドが、前記ビットストリームのシーケンスパラメータセット(SPS)において条件付きでシグナリングされ、前記フィールドのビット幅が前記サブピクチャの数の値に基づき、
前記フィールドは、最初に左ビットがある符号なし整数0次指数ゴロム(Exp-Golomb)でコーディングされた構文要素であり、
ピクチャパラメータセット(PPS)を参照する各ピクチャがパーティション化されることができるかどうかを示す第1の構文要素が、前記ビットストリームの前記PPS内に、前記PPSにおいて前記ピクチャの前記サブピクチャの識別子を示す構文要素のセットの前に、含まれる、
方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年12月27日に出願された米国仮特許出願第62/954,364号の優先権及び利益を主張する、2020年12月27日に出願された国際特許出願PCT/US2020/067090の国内段階である。法の下であらゆる目的のために、前述の出願の全ての開示は、本出願の開示の一部として参照により組み込まれる。
【0002】
本明細書は、画像及びビデオのコーディング(coding)及びデコーディング(decoding)に関する。
【背景技術】
【0003】
デジタルビデオは、インターネット及びその他のデジタル通信ネットワークにおける最大の帯域幅使用を占める。ビデオを受信及び表示可能な接続ユーザデバイスの数が増加するにつれて、デジタルビデオの利用のための帯域幅需要は増加し続けることが予想される。
【発明の概要】
【0004】
本明細書は、ビデオエンコーディング及びデコーディングのために、それぞれ、ビデオエンコーダ及びデコーダによって使用されることができる、サブピクチャシグナリング(subpicture signaling)のための方法、装置及びシステムを開示する。
【0005】
一つの例示的な態様では、ビデオ処理方法が開示される。方法は、ピクチャを含むビデオとビデオのビットストリームとの間で変換を実行することを含み、ピクチャ内のサブピクチャの数が、ビット幅がサブピクチャの数の値に基づいているフィールドとして、ビットストリームのシーケンスパラメータセット(SPS)でシグナリングされ(signaled)、フィールドは、最初に左ビットがある符号なし整数0次指数ゴロム(Golomb)(Exp-Golomb)でコーディングされた構文要素である。
【0006】
別の例示的な態様では、ビデオ処理方法が開示される。方法は、ビデオとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームはフォーマットルール(format rule)に準拠し、このフォーマットルールは、ビデオのピクチャがパーティション化される(partitioned)ことができるかどうかを示す第1の構文要素が、ビットストリームのピクチャパラメータセット(PPS)に、サブピクチャの識別子がPPSにおいてシグナリングされるかどうかを示す第2の構文要素、及びPPSにおいて、サブピクチャの数を示す第3の構文要素の値に基づいて、条件付きで含まれることを規定する。
【0007】
さらに別の例示的な態様では、ビデオ処理方法が開示される。方法は、ビデオとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームはフォーマットルールに準拠し、フォーマットルールは、ビデオのピクチャがパーティション化されることができるかどうかを示す第1の構文要素が、ピクチャのサブピクチャの識別子を示す、PPSにおける構文要素のセットの前のビットストリームのピクチャパラメータセット(PPS)に含まれることを規定する。
【0008】
さらに別の例示的な態様では、ビデオ処理方法が開示される。方法は、ビデオのビデオ領域とビデオのビットストリームとの間の変換を実行することを含み、ビットストリームはフォーマットルールに準拠し、フォーマットルールは、サブピクチャ識別子の情報がビットストリームのパラメータセットに含まれるかどうかを示す第1の構文要素が、サブピクチャの情報がSPSに含まれるかどうかを示す第2の構文要素の値に基づいて、シーケンスパラメータセット(SPS)に条件付きで含まれることを規定する。
【0009】
さらに別の例示的な態様では、ビデオ処理方法が開示される。方法は、ビデオのピクチャとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームはフォーマットルールに準拠し、フォーマットルールは、ピクチャの1つ又は複数のサブピクチャの識別子間のマッピングを規定し、1つ又は複数のサブピクチャは、ピクチャのピクチャヘッダに含まれず、フォーマットルールは、さらに、1つ又は複数のサブピクチャの識別子が、ピクチャによって参照されるシーケンスパラメータセット(SPS)及びピクチャパラメータセット(PPS)の構文要素に基づいて導出されることをさらに規定する。
【0010】
さらに別の例示的な態様では、ビデオ処理方法が開示される。方法は、ビデオとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームはフォーマットルールに準拠し、フォーマットルールは、第1の構文要素の値が、サブピクチャの識別子とピクチャの1つ又は複数のサブピクチャとの間のマッピングが、1つ又は複数のサブピクチャについて明示的にシグナリングされることを示す場合、マッピングが、シーケンスパラメータセット(SPS)又はピクチャパラメータセット(PPS)のいずれかにおいてシグナリングされることを規定する。
【0011】
さらに別の例示的な態様では、ビデオ処理方法が開示される。方法は、ビデオとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームはフォーマットルールに準拠し、フォーマットルールは、シーケンスパラメータセット(SPS)においてサブピクチャの識別子の長さをシグナリングすることが、識別子がSPSにおいてシグナリングされているかどうかを示す構文要素の値に基づくものではないことを規定する。
【0012】
さらに別の例示的な態様では、ビデオ処理方法が開示される。方法は、ビデオとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームはフォーマットルールに準拠し、フォーマットルールは、ピクチャパラメータセット(PPS)においてサブピクチャの識別子の長さを、識別子がPPSにおいて明示的にシグナリングされていることを示す構文要素によりシグナリングすることを規定する。
【0013】
さらに別の例示的な態様では、ビデオ処理方法が開示される。方法は、ビデオとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームはフォーマットルールに準拠し、フォーマットルールは、ビットストリームのシーケンスパラメータセット(SPS)においてシグナリングされた第1の構文要素が、SPSにおいてサブピクチャの識別子の長さを示すことを規定し、第1の構文要素のシグナリングは、SPS又はピクチャパラメータセット(PPS)におけるサブピクチャの識別子の明示的なシグナリングを示す第2の構文要素の値とは無関係である。
【0014】
さらに別の例示的な態様では、ビデオエンコーダ装置が開示される。ビデオエンコーダは、上述の方法を実装するように構成されたプロセッサを有する。
【0015】
さらに別の例示的な態様では、ビデオデコーダ装置が開示される。ビデオデコーダは、上述の方法を実装するように構成されたプロセッサを有する。
【0016】
さらに別の例示的な態様では、コードを格納したコンピュータ可読媒体が開示される。コードは、プロセッサ実行可能コードの形式で本明細書に記載される方法の1つを具現化する。
【0017】
これらの、及び他の特徴は、本明細書を通して説明される。
【図面の簡単な説明】
【0018】
【
図1】ルマ(luma)コーディングツリーユニット(coding tree units)(CTU)でピクチャをパーティション化する例を示す。
【0019】
【
図2】ルマCTUでピクチャをパーティション化する別の例を示す。
【0020】
【0021】
【
図4】ピクチャの別の例示のパーティション化を示す。
【0022】
【
図5】開示された技術が実装され得る例示的なビデオ処理システムのブロック図である。
【0023】
【
図6】ビデオ処理に使用される例示的なハードウェアプラットフォームのブロック図である。
【0024】
【
図7】本開示のいくつかの実施形態によるビデオコーディングシステムを示すブロック図である。
【0025】
【
図8】本開示のいくつかの実施形態によるエンコーダを示すブロック図である。
【0026】
【
図9】本開示のいくつかの実施形態によるデコーダを示すブロック図である。
【0027】
【
図10】ビデオ処理の例示的な方法についてのフローチャートを示す。
【0028】
【
図11】ビデオ処理の例示的な方法についてのフローチャートを示す。
【0029】
【
図12】ビデオ処理の例示的な方法についてのフローチャートを示す。
【発明を実施するための形態】
【0030】
セクションの見出しは、理解を容易にするために本明細書で使用されており、各セクションで開示されている技術及び実施形態の適用可能性をそのセクションのみに限定するものではない。さらに、H.266用語は、理解を容易にするためにのみ使用され、開示された技術の範囲を限定するためのものではない。このように、本明細書に記載される技術は、他のビデオコーデックプロトコル及び設計にも適用可能である。
【0031】
1. 概要
本明細書は、ビデオコーディング技術に関する。具体的には、サブピクチャ、タイル、及びスライスのシグナリングに関する。これらのアイデアは、個別に、又は様々な組み合わせで、マルチレイヤ―ビデオコーディング(multi-layer video coding)をサポートする任意のビデオコーディング標準又は非標準ビデオコーデック、例えば、開発中の多用途ビデオコーディング(VVC)に適用され得る。
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)
DPB デコーディングされたピクチャバッファ(Decoded Picture Buffer)
DPS デコーディングパラメータセット(Decoding Parameter Set)
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)
JEM 共同探索モデル(Joint Exploration Model)
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)
RBSP 未処理バイトシーケンスペイロード(Raw Byte Sequence Payload)
SEI 補足エンハンスメント情報(Supplemental Enhancement Information)
SPS シーケンスパラメータセット(Sequence Parameter Set)
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)
【0032】
3. 最初の議論
ビデオコーディング規格は、主に、周知のITU-T及びISO/IEC規格の開発を通じて発展してきた。ITU-TはH.261とH.263を作成し、ISO/IECはMPEG-1とMPEG-4 Visualを作成し、2つの組織はH.262/MPEG-2ビデオとH.264/MPEG-4アドバンスドビデオコーディング(AVC)とH.265/HEVC規格を共同で作成した。H.262以来、ビデオコーディング規格は、ハイブリッドビデオコーディング構造に基づいており、そこでは時間的予測と変換コーディングが利用される。HEVCを越える将来のビデオコーディング技術を探求するために、共同ビデオ探査チーム(JVET)が2015年にVCEGとMPEGによって共同で設立された。それ以来、多くの新しい方法がJVETによって採用され、共同探索モデル(Joint Exploration Model)(JEM)と名付けられた参照ソフトウェアに入れられている。JVETミーティングは四半期に1回開催されており、新たなコーディング規格はHEVCと比較して50%のビットレート低減を目指している。新しいビデオコーディング規格は、2018年4月のJVETミーティングで多用途ビデオコーディング(VVC)として正式に命名され、当時のVVCテストモデル(VTM)の最初のバージョンがリリースされた。VVC標準化に寄与する継続的な努力が行われているため、新しいコーディング技術がJVETミーティング毎にVVC規格に採用されている。VVCワーキングドラフト及びテストモデルVTMは、その後ミーティングのたびに更新される。VVCプロジェクトは現在、2020年7月のミーティングで技術的完成(FDIS)を目指している。
【0033】
3.1. HEVCにおけるピクチャパーティション化スキーム
HEVCは4つの異なるピクチャパーティション化スキーム(picture partitioning schemes)画像分割方式、すなわち、正規スライス、ディペンデント(依存性)スライス、タイル、及びウェーブフロント並列処理(Wavefront Parallel Processing)(WPP)を含み、これらは最大転送ユニット(MTU)サイズマッチング、並列処理、及びエンドツーエンド遅延の低減のために適用され得る。
【0034】
正規スライスは、H.264/AVCと同様である。各正規スライスはそれ自身のNALユニットにカプセル化され、スライス境界にわたるインピクチャ予測(イントラサンプル予測、動き情報予測、コーディングモード予測)及びエントロピーコーディング依存性は無効にされる。したがって、同じピクチャ内の他の正規スライスから独立して正規スライスを再構成することができる(しかし、ループフィルタリング操作(loop filtering operations)のために、依然として相互依存性がある場合がある)。
【0035】
正規スライスは、並列化に使用できる唯一のツールであり、これはH.264/AVCでもほぼ同じフォーマットで利用可能である。正規スライスに基づく並列化は、あまりプロセッサ間通信又はコア間通信を必要としない(予測コーディングされたピクチャをデコーディングするとき、動き補償のためのプロセッサ間又はコア間データ共有を除いて、典型的には、インピクチャ予測のためにプロセッサ間又はコア間データ共有よりもはるかに重い)。しかしながら、同じ理由のために、正規スライスの使用は、スライスヘッダのビットコストのために及びスライス境界にわたる予測の欠如のために、かなりのコーディングオーバーヘッドが発生することがある。さらに、正規スライスは(以下に述べる他のツールとは対照的に)、正規スライスのインピクチャ独立性及び各正規スライスがそれ自身のNALユニットにカプセル化されていることに起因して、MTUサイズ要件に適応するようにビットストリームパーティション化のための鍵となるメカニズムとしても機能する。多くの場合、平列化の目標及びMTUサイズマッチングの目標は、ピクチャにおけるスライスレイアウトに矛盾する要求を課す。このような状況を認識したことにより、以下に述べる並列化ツールが開発された。
【0036】
ディペンデントスライスはショートスライスヘッダを有し、インピクチャ予測を一切中断することなく、ツリーブロック境界でビットストリームのパーティション化することを可能にする。基本的に、ディペンデントスライスは、正規スライス全体のエンコードが終了する前に正規スライスの一部を送信することを可能にすることにより、エンドツーエンド遅延を低減するために、複数のNALユニットへの正規スライスのフラグメント化を提供する。
【0037】
WPPでは、ピクチャは単一行のコーディングツリーブロック(CTB)にパーティション化される。エントロピーデコーディング及び予測は、他のパーティションのCTBからのデータを使用することが可能にされる。並列処理は、CTB行の並列デコーディングによって可能であり、CTB行のデコーディングの開始は、2つのCTBによって遅延され、それによって、サブジェクトCTBがデコーディングされる前に、サブジェクトCTBの右上にあるCTBに関連するデータが利用可能であることを確実にする。このスタガード(互い違いの)スタート(グラフィックで表すと波面のように見える)を使用すると、ピクチャがCTB行を含む数までのプロセッサ/コアで並列化が可能である。ピクチャ内の隣接するツリーブロック行間のインピクチャ予測が可能であるため、インピクチャ予測を可能にするために必要なプロセッサ間/コア間通信は、十分であり得る。WPPパーティションは適用されない場合と比較して追加のNALユニットの生成をもたらさず、したがって、WPPはMTUサイズマッチングのためのツールではない。しかし、MTUサイズのマッチングが必要な場合は、特定のコーディングオーバーヘッドを伴って、WPPで正規スライスを使用できる。
【0038】
タイルは、ピクチャをタイルの列及び行にパーティション化する水平及び垂直境界を規定する。タイル列は、ピクチャの上部から下部に延びる。同様に、タイル列はピクチャの左からピクチャの右に延びる。ピクチャ内のタイルの数は、単にタイル列の数にタイル行の数を掛けることで導き出すことができる。
【0039】
CTBのスキャン順序は、ピクチャのタイルラスタスキャンの順序で次のタイルの左上のCTBをデコーディングする前に、タイル内でローカルになるように変更される(タイルのCTBラスタスキャンの順序で)。正規スライスと同様に、タイルは、ピクチャ内予測依存性及びエントロピーデコーディング依存性を損なう。しかし、それらは個々のNALユニットに含める必要はなく(この点ではWPPと同じ)、したがって、タイルはMTUサイズマッチングに使用できない。各タイルは、1つのプロセッサ/コアによって処理することができ、隣接タイルをデコーディングする処理ユニット間のインピクチャ予測に必要なプロセッサ間/コア間通信は、スライスが2つ以上のタイルにまたがっている場合に共有スライスヘッダを伝達すること、及び再構成されたサンプル及びメタデータのループフィルタリングに関連する共有に限定される。1つのスライスに1より多いタイル又はWPPセグメントが含まれる場合、スライス内の最初のタイル又はWPPセグメント以外の各タイル又はWPPセグメントのエントリポイントバイトオフセットが、スライスヘッダにおいてシグナリングされる。
【0040】
簡単にするために、4つの異なるピクチャパーティション化スキームの適用に関する制限がHEVCで規定されている。所与のコーディングされたビデオシーケンスは、HEVCで指定されたほとんどのプロファイルについてタイル及び波面の両方を含むことができない。各スライス及びタイルについて、以下の条件のいずれか又は両方が満たされなければならない。1)スライス内の全てのコーディングされたツリーブロックは同じタイルに属する。2)タイル内の全てのコーディングされたツリーブロックは同じスライスに属する。最後に、波面セグメントは、正確に1つのCTB行を含み、WPPが使用されているとき、スライスがCTB行内で始まる場合、それは、同じCTB行で終わらなければならない。
【0041】
HEVCに対する最近の修正は、JCT-VCの出力文書であるJCTVC-AC1005、J. Boyce、A. Ramasubramonian、R. Skupin、G. J. Sullivan、A. Tourapis、Y.-K. Wang(編集者)、"HEVC Additional Supplemental Enhancement Information (Draft 4)"、2017年10月24日に規定され、ここで公開されている:http://phenix.int-evry.fr/jct/doc_end_user/documents/29_Macau/wg11/JCTVC-AC1005-v2.zip。HEVCは、この修正を含めて、3つのMCTS関連のSEIメッセージ、すなわち、時間的MCTS SEIメッセージ、MCTS抽出情報セットSEIメッセージ、及びMCTS抽出情報ネストSEIメッセージを規定する。
【0042】
時間的MCTS SEIメッセージはビットストリーム中のMCTSの存在を示し、MCTSに信号を送る。各MCTSについて、動きベクトルは、MCTS内のフルサンプル位置と、補間のためにMCTS内のフルサンプル位置のみを必要とするフラクショナルサンプル位置(fractional-sample locations)とを指すように制限され、MCTS外のブロックから導出された時間的動きベクトル予測のための動きベクトル候補の使用は許可されない。このように、各MCTSは、MCTSに含まれないタイルの存在なしに、独立してデコーディングされ得る。
【0043】
MCTS抽出情報セットSEIメッセージは、MCTSサブビットストリーム抽出(SEIメッセージのセマンティクスの一部として指定される)において使用できる補足情報を提供し、MCTSセットのための適合ビットストリームを生成する。この情報は、いくつかの抽出情報セットからなり、各セットは、いくつかのMCTSセットを定義し、MCTSサブビットストリーム抽出処理中に使用される代替VPS、SPS及びPPSのRBSPバイトを含む。MCTSサブビットストリーム抽出処理に従ってサブビットストリームを抽出するとき、パラメータセット(VPS、SPS、及びPPS)を書き換える又は置き換える必要があり、スライスヘッダは、スライスアドレス関連の構文要素(first_slice_segment_in_pic_flag及びslice_segment_addressを含む)の1つ又はすべてが、通常は異なる値を持つ必要があるため、わずかに更新される必要がある。
【0044】
3.2. VVCにおけるピクチャのパーティション化
VVCでは、ピクチャは1つ以上のタイル行と1つ以上のタイル列に分割される。タイルは、ピクチャの矩形領域をカバーするCTUのシーケンスである。タイル内のCTUは、そのタイル内でラスタスキャン順にスキャンされる。
【0045】
スライスは、ピクチャのタイル内の整数の完全なタイル又は整数個の連続した完全なCTU行からなる。
【0046】
2つのモードのスライス、すなわち、ラスタスキャンスライスモードと矩形スライスモードがサポートされる。ラスタスキャンスライスモードでは、スライスは、ピクチャのタイルラスタスキャンにおける完全なタイルのシーケンスを含む。矩形スライスモードでは、スライスは、ピクチャの矩形領域を集合的に(collectively)形成するいくつかの完全なタイル、又はピクチャの矩形領域を集合的に形成する1つのタイルのいくつかの連続した完全なCTU行のいずれかを含む。矩形スライス内のタイルは、そのスライスに対応する矩形領域内でタイルラスタスキャン順にスキャンされる。
【0047】
サブピクチャは、ピクチャの矩形領域を集合的にカバーする1つ以上のスライスを含む。
【0048】
図1は、ピクチャのラスタスキャンスライスパーティション化の例を示し、ピクチャは12のタイルと3つのラスタスキャンスライスに分割される。
【0049】
図2は、ピクチャの矩形スライスパーティション化の例を示し、ピクチャは24のタイル(6つのタイル行及び4つのタイル列)及び9つの矩形スライスに分割される。
【0050】
図3は、タイル及び矩形スライスにパーティション化されたピクチャの例を示し、ピクチャは4つのタイル(2つのタイル行及び2つのタイル列)及び4つの矩形スライスに分割される。
【0051】
図4は、ピクチャのサブピクチャパーティション化の例を示し、ピクチャは18のタイルにパーティション化され、左側の12個が4×4CTUの1つのスライスをカバーし、右側の6個が2×2CTUの2つの垂直に積み重ねられたスライスをカバーし、合計24個のスライスと様々な寸法の24個のサブピクチャ(各スライスはサブピクチャである)を生じる。
【0052】
3.3. VVCにおけるサブピクチャ、タイル、及びスライスのシグナリング
最新のVVCドラフトテキストでは、サブピクチャ情報は、サブピクチャレイアウト(すなわち、各ピクチャについてのサブピクチャの数並びに各ピクチャの位置及びサイズ)と、他のシーケンスレベルのサブピクチャ情報を含み、SPSにおいてシグナリングされる(signaled)。SPSにおいてシグナリングされるサブピクチャの順序は、サブピクチャインデックスを定義する。各サブピクチャに対して1つのサブピクチャIDのリストは、明示的に、例えば、SPS又はPPSにおいてシグナリングされ得る。
【0053】
VVCにおけるタイルは概念的にはHEVCと同じである。すなわち、各ピクチャはタイル列とタイル行にパーティション化されるが、タイルのシグナリングのためのPPSの構文は異なる。
【0054】
VVCでは、スライスモードもPPSにおいてシグナリングされる。スライスモードが矩形スライスモードであるとき、各ピクチャのスライスレイアウト(すなわち、各ピクチャについてのスライスの数並びに各スライスの位置及びサイズ)は、PPSにおいてシグナリングされる。PPSにおいてシグナリングされるピクチャ内の矩形スライスの順序は、ピクチャレベルスライスインデックスを定義する。サブピクチャレベルのスライスインデックスは、それらのピクチャレベルスライスインデックスの昇順でのサブピクチャ内のスライスの順序として定義される。矩形スライスの位置及びサイズは、SPSにおいてシグナリングされるサブピクチャ位置及びサイズ(各サブピクチャが1つのみのスライスを含む場合)に基づいて、又はPPSにおいてシグナリングされるタイル位置及びサイズ(サブピクチャが1より多いスライスを含み得る場合)に基づいて、シグナリング/導出される。スライスモードがラスタスキャンスライスモードである場合、HEVCと同様に、ピクチャ内のスライスのレイアウトは、スライス自体に、様々な詳細と共にシグナリングされる。
【0055】
本発明に最も関連する最新のVVCドラフトテキストにおけるSPS、PPS及びスライスヘッダの構文及びセマンティクス(semantics)は、以下の通りである。
【表1】
【表2】
【表3】
【0056】
4. 本明細書の解決策によって解決される技術的課題の例
VVCにおけるサブピクチャ、タイル、及びスライスのシグナリングのための既存の設計には、以下の問題がある:
1) sps_num_subpics_minus1のコーディングはu(8)であり、1つのピクチャにつき256を超えるサブピクチャを許可しない。しかし、特定のアプリケーションでは、1つのピクチャ当たりのサブピクチャの最大数が256を超える必要がある場合がある。
2) subpics_present_flagを0に等しく、sps_subpic_id_present_flagを1に等しくすることが許される。しかし、subpics_present_flagが0に等しいということは、CLVSがサブピクチャについてまったく情報を持っていないことを意味するため、これは意味をなさない。
3) サブピクチャIDのリストは、サブピクチャの各々に対して1つずつ、ピクチャヘッダ(PH)においてシグナリングされ得る。しかし、サブピクチャIDのリストがPHにおいてシグナリングされるとき、且つサブピクチャのサブセットがビットストリームから抽出されるとき、全てのPHは、全て変更される必要がある。これは望ましくない。
4) 現在、1に等しいsps_subpic_id_present_flag(又は構文要素の名前がsubpic_ids_explicitly_signalled_flagに変更されている)によってサブピクチャIDが明示的にシグナリングされるように示されているとき、サブピクチャIDはどこにもシグナリングされないかもしれない。これは、サブピクチャIDが明示的にシグナリングされることが示されるとき、サブピクチャIDがSPS又はPPSのいずれかにおいて明示的にシグナリングされる必要があるため、問題がある。
5) サブピクチャIDが明示的にシグナリングされないとき、sps_num_subpics_minus1が0に等しい場合を含む、subpics_present_flagが1に等しい限り、スライスヘッダ構文要素slice_subpic_idは依然としてシグナリングされる必要がある。しかし、slice_subpics_idの長さは現在Ceil(Log2(sps_num_subpics_minus1+1))ビットとして指定されており、sps_num_subpics_minus1が0に等しい場合は0ビットとなる。現在の構文要素の長さは0ビットにすることができないので、これは問題がある。
6) サブピクチャの数、サイズ及び位置を含むサブピクチャレイアウトは、CLVS全体で変化しない。サブピクチャIDがSPS又はPPSにおいて明示的にシグナリングされない場合でも、スライスヘッダのサブピクチャID構文要素について、サブピクチャIDの長さをシグナリングする必要がある。
7) rect_slice_flagが1に等しい場合はいつでも、構文要素slice_addressはスライスヘッダでシグナリングされ、サブピクチャ内のスライスの数(すなわち、NumSlicesInSubpic[SubPicIdx])が1に等しい場合を含め、スライスを含むサブピクチャ内のスライスインデックスを指定する。しかし、現在、rect_slice_flagが1に等しい場合、slice_addressの長さはCeil(Log2(NumSlicesInSubpic[SubPicIdx]))ビットであることを指定し、これは、NumSlicesInSubpic[SubPicIdx]が1に等しい場合は0ビットである。現在の構文要素の長さを0ビットにすることはできないので、これは問題がある。
8) 構文要素no_pic_partition_flagと構文要素pps_num_subpics_minus1の間には冗長性があるが、最新のVVCテキストの次のような制約がある:sps_num_subpics_minus1が0より大きい場合、no_pic_partition_flagの値は1に等しくなければならない。
【0057】
5. 例示的な実施形態及び解決策
上記の問題等を解決するために、以下にまとめた方法を開示する。本発明は、一般的な概念を説明するための例示として考慮されるべきであり、狭義に解釈されるべきではない。さらに、これらの発明は、単独で、又は任意の方法で組み合わせて適用することができる。
【0058】
第1の問題を解決するには、sps_num_subpics_minus1のコーディングをu(8)からue(v)に変更し、1ピクチャあたり256超のサブピクチャを有効にする。
a. さらに、sps_num_subpics_minus1の値は、0~Ceil(pic_width_max_in_luma_samples÷CtbSizeY)*Ceil(pic_height_max_in_luma_samples÷CtbSizeY)-1の範囲に制限される。
b. さらに、ピクチャあたりのサブピクチャの数は、レベルの定義においてさらに制限される。
2) 第2の問題を解決するには、「if(subpics_present_flag)」を構文要素sps_subpic_id_present_flagのシグナリングの条件とする。すなわち、構文要素sps_subpic_id_present_flagは、subpics_present_flagが0に等しいときにシグナリングされず、sps_subpic_id_present_flagの値を、存在しないときに0に等しいと推定する。
a. 代替的には、構文要素sps_subpic_id_present_flagは、subpics_present_flagが0に等しいとき、依然としてシグナリングされるが、subpics_present_flagが0に等しい時、値は0に等しいことが要求される。
b. さらに、構文要素subpics_present_flag及びsps_subpic_id_present_flagの名前は、それぞれsubpic_info_present_flagとsubpic_ids_explicity_signalled_flagに変更される。
3) 第3の問題を解決するために、PH構文におけるサブピクチャIDのシグナリングが削除される。したがって、0からsps_num_subpics_minus1の範囲のiについてのリストSubpicIdList[i]は次のように導出される:
for(i=0; i<=sps_num_subpics_minus1; i++)
if(subpic_ids_explicitly_signalled_flag)
SubpicIdList[i]=subpic_ids_in_pps_flag?pps_subpic_id[i]:sps_subpic_id[i]
else
SubpicIdList[i]=i
4) 第4の問題を解決するために、サブピクチャが明示的にシグナリングされることが示されるとき、サブピクチャIDはSPS又はPPSのいずれかでシグナリングされる。
a. これは、次の制約を加えることによって実現される:subpic_ids_explicity_signalled_flagが0である又はsubpic_ids_in_sps_flagが1に等しい場合、subpic_ids_in_pps_flagは0に等しくなければならない。さもなければ(subpic_ids_explicity_signalled_flagは1であり、subpic_ids_in_sps_flagは0に等しい)、subpic_ids_in_pps_flagは1に等しくなければならない。
5) 第5及び第6の問題を解決するために、サブピクチャIDの長さは、SPSフラグsps_subpic_id_present_flag(又は、subpic_ids_explicitly_signaled_flagに名前が変更されている)の値に関係なく、SPSにおいてシグナリングされるが、サブピクチャIDが、SPSへのPPSの依存性の解析を避けるために、明示的にPPSにおいてシグナリングされる場合、長さもPPSにおいてシグナリングされ得る。この場合、長さは、スライスヘッダ内のサブピクチャIDの長さも指定し、サブピクチャIDでさえ、SPS又はPPSにおいて明示的にシグナリングされない。したがって、slice_subpic_idの長さは、存在する場合、SPSにおいてシグナリングされたサブピクチャIDの長さによっても指定される。
6) 代替的には、第5及び第6の問題を解決するために、SPS構文にフラグが追加され、1の値は、SPS構文におけるサブピクチャID長さの存在を指定するためのものである。このフラグは、サブピクチャIDがSPS又はPPSにおいて明示的にシグナリングされるかどうかを示すフラグの値とは独立して存在する。このフラグの値は、subpic_ids_explicitly_signalled_flagが0に等しい場合、1か0に等しくなり得るが、subpic_ids_expliclity_signalled_flagが1に等しい場合、フラグの値は1に等しくなければならない。このフラグが0に等しい場合、すなわち、サブピクチャ長さが存在しない場合、slice_subpic_idの長さは、Max(Log2(sps_num_subpics_minus1 + 1))、1)ビット(最新のVVCドラフトテキストにおけるCeil(Log2(sps_num_subpics_minus1 + 1))ビットではなく)と指定される。
a. 代替的には、このフラグは、subpic_ids_explicity_signalled_flagが0に等しい場合にのみ存在し、subpic_ids_explicitly_signalled_flagが1に等しい場合は、このフラグの値は1に等しいと推定される。
7) 第7の問題を解決するために、rect_slice_flagが1に等しい場合、slice_addressの長さはMax( Ceil( Log2( NumSlicesInSubpic[SubPicIdx])),1)
ビットに指定される。
a.代替的には、さらにまた、rect_slice_flagが0に等しい場合、slice_addressの長さは、Ceil(Log2(NumTilesInPic))ビットではなく、Max(Ceil(Log2(NumTilesInPic)))、1)ビットに指定される。
8) 第8の問題を解決するために、no_pic_partition_flagのシグナリングを「if(subpic_ids_in_pps_flag && pps_num_subpics_minus1 > 0)」に条件付け、以下の推定を加える:存在しない場合、no_pic_partition_flagの値は1に等しいと推定される。
a. 代替的には、PPSのタイル及びスライス構文の後に、例えば、構文要素entropy_coding_sync_enabled_flagの直前に、サブピクチャID構文(4つすべての構文要素)を移動し、次いでpps_num_subpics_minus1のシグナリングを「if(no_pic_partition_flag)」に条件付ける。
6. 実施形態
以下は、VVC仕様に適用することができる、上記のセクション5に要約されたアイテム8を除く、全ての発明の態様に関するいくつかの例示的な実施例である。変更されたテキストは、JVET-P2001-v14の最新のVVCテキストに基づいている。追加又は変更された最も関連性の高い部分は、
下線、太字、イタリック体のテキストで示され、最も関連性の高い削除された部分は太字の二重括弧で強調表示されまる。例えば、[[a]]は、"a"が削除されたことを示す。本質的に編集上の変更であるため、強調表示されない変更もいくつかある。
6.1. 第1の実施形態
【表4】
【表5】
【表6】
【0059】
図5は、本明細書に開示される様々な技術が実装され得る例示的なビデオ処理システム500を示すブロック図である。様々な実装は、システム500のコンポーネントの一部又は全部を含み得る。システム500は、ビデオコンテンツを受信するための入力502を含み得る。ビデオコンテンツは、ロウ(raw)又は非圧縮フォーマット、例えば、8又は10ビットのマルチコンポーネントピクセル値で受信され得る、又は圧縮又はエンコードされたフォーマットで受信され得る。入力502は、ネットワークインターフェース、周辺バスインターフェース、又はストレージインターフェースを表し得る。ネットワークインターフェースの例は、イーサネット(登録商標)、パッシブ光ネットワーク(PON)などの有線インターフェース、及びWi-Fi又はセルラーインターフェースなどの無線インターフェースを含む。
【0060】
システム500は、本明細書に記載される種々のコーディング化又はエンコーディング方法を実装し得るコーディングコンポーネント504を含み得る。コーディングコンポーネント504は、ビデオのコーディングされた表現を生成するために、入力502からコーディングコンポーネント504の出力へのビデオの平均ビットレートを低減し得る。従って、コーディング技術は、ビデオ圧縮又はビデオトランスコーディング技術と呼ばれることがある。コーディングコンポーネント504の出力は、コンポーネント506によって表されるように、格納されるか、又は接続された通信を介して送信され得る。入力502で受信されたビデオの格納された又は通信されたビットストリーム(又はコーディングされた)表現は、ディスプレイインターフェース510に送られるピクセル値又は表示可能なビデオを生成するために、コンポーネント508によって使用され得る。ビットストリーム表現からユーザが見ることができるビデオを生成するプロセスは、ビデオ解凍と呼ばれることがある。さらに、特定のビデオ処理操作は、「コーディング」操作又はツールと称されるが、コーディングツール又は操作は、エンコーダで使用され、コーディングの結果を反転する対応するデコーディングツール又は操作は、デコーダによって実行されることが理解されるであろう。
【0061】
ペリフェラルバスインターフェース又はディスプレイインターフェースの例は、ユニバーサルシリアルバス(USB)又は高精細マルチメディアインターフェース(HDMI(登録商標))又はディスプレイポートなどを含み得る。ストレージインターフェースの例は、SATA(シリアルアドバンストテクノロジーアタッチメント(serial advanced technology attachment))、PCI、IDEインターフェースなどを含む。本明細書に記載される技術は、携帯電話、ラップトップ、スマートフォン、又はデジタルデータ処理及び/又はビデオ表示を実行することができる他のデバイスなどの種々の電子デバイスに具体化され得る。
【0062】
図6は、ビデオ処理装置600のブロック図である。装置600は、本明細書に記載される方法の1つ又は複数を実装するために使用され得る。装置600は、スマートフォン、タブレット、コンピュータ、モノのインターネット(Internet of Things)(IoT)受信機などで具体化され得る。装置600は、1つ以上のプロセッサ602、1つ以上のメモリ604、及びビデオ処理ハードウェア606を含み得る。プロセッサ(複数可)602は、本明細書に記載される1つ以上の方法を実装するように構成され得る。メモリ(複数のメモリ)604は、本明細書に記載される方法及び技術を実装するために使用されるデータ及びコードを格納するために使用され得る。ビデオ処理ハードウェア606は、ハードウェア回路において、本明細書に記載されるいくつかの技術を実装するために使用され得る。いくつかの実施形態では、ハードウェア606は、部分的に又は全体的にプロセッサ602、例えば、グラフィックスプロセッサ内にあり得る。
【0063】
図7は、本開示の技術を利用し得る例示的なビデオコーディングシステム100を示すブロック図である。
【0064】
図7に示すように、ビデオコーディングシステム100は、ソースデバイス110及び宛先デバイス120を含み得る。ソースデバイス110は、エンコーディングされたビデオデータを生成し、これはビデオエンコーディングデバイスと称され得る。宛先デバイス120は、ソースデバイス110によって生成されたエンコーディングされたビデオデータをデコーディングし得、これは、ビデオデコーディングデバイスと称され得る。
【0065】
ソースデバイス110は、ビデオソース112、ビデオエンコーダ114、及び入力/出力(I/O)インターフェース116を含み得る。
【0066】
ビデオソース112は、ビデオキャプチャデバイスのようなソース、ビデオコンテンツプロバイダからビデオデータを受信するためのインターフェース、及び/又はビデオデータを生成するためのコンピュータグラフィックスシステム、又はそのようなソースの組み合わせを含み得る。ビデオデータは、1つ以上のピクチャを含み得る。ビデオエンコーダ114は、ビデオソース112からのビデオデータをエンコーディングしてビットストリームを生成する。ビットストリームは、ビデオデータのコーディングされた表現を形成するビットのシーケンスを含み得る。ビットストリームは、コーディングされたピクチャ及び関連するデータを含み得る。コーディングされたピクチャは、ピクチャのコーディングされた表現である。関連するデータは、シーケンスパラメータセット、ピクチャパラメータセット、及び他の構文構造を含み得る。I/Oインターフェース116は、変調器(modulator)/復調器(demodulator)(モデム)及び/又は送信器(transmitter)を含み得る。エンコーディングされたビデオデータは、ネットワーク130aを通ってI/Oインターフェース116を介して宛先デバイス120に直接送信され得る。エンコーディングされたビデオデータはまた、宛先デバイス120によるアクセスのために記憶媒体/サーバ130b上に格納され得る。
【0067】
宛先デバイス120は、I/Oインターフェース126、ビデオデコーダ124、及びディスプレイデバイス122を含み得る。
【0068】
I/Oインターフェース126は、受信機(receiver)及び/又はモデムを含み得る。I/Oインターフェース126は、ソースデバイス110又は記憶媒体/サーバ130bからエンコーディングされたビデオデータを取得し得る。ビデオデコーダ124は、エンコーディングされたビデオデータをデコーディングし得る。ディスプレイデバイス122は、デコーディングされたビデオデータをユーザに表示し得る。ディスプレイデバイス122は、宛先デバイス120と一体化されてもよく、又は宛先デバイス120の外部にあってもよく、外部ディスプレイデバイスとインターフェースするように構成され得る。
【0069】
ビデオエンコーダ114及びビデオデコーダ124は、高効率ビデオコーディング(HEVC)規格、汎用ビデオコーディング(VVM)規格、及び、その他の現在及び/又は更なる規格のようなビデオ圧縮規格に従って動作し得る。
【0070】
図8は、
図7に示すシステム100内のビデオエンコーダ114であり得るビデオエンコーダ200の一例を示すブロック図である。
【0071】
ビデオエンコーダ200は、本開示の技術のいずれか又は全てを実行するように構成され得る。
図8の例では、ビデオエンコーダ200は、複数の機能コンポーネントを含む。本開示に記載される技術は、ビデオエンコーダ200の種々のコンポーネント間で共有され得る。いくつかの例では、プロセッサは、本開示に記載される技術のいずれか又は全てを実行するように構成され得る。
【0072】
ビデオエンコーダ200の機能コンポーネントは、パーティションユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205及びイントラ予測ユニット206を含み得る予測ユニット202と、残差(residual)生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構成ユニット212と、バッファ213と、エントロピーエンコーディングユニット214とを含み得る。
【0073】
他の例では、ビデオエンコーダ200は、より多くの、より少ない、又は異なる機能コンポーネントを含み得る。一例では、予測ユニット202は、イントラブロックコピー(intra block copy)(IBC)ユニットを含み得る。IBCユニットは、少なくとも1つの参照(reference)ピクチャが現在のビデオブロックが配置されているピクチャであるIBCモードで予測を実行し得る。
【0074】
さらに、動き推定ユニット204や動き補償ユニット205などのいくつかのコンポーネントは、高度に統合され得るが、説明のために
図8の例では別々に示されている。
【0075】
パーティションユニット201は、ピクチャを1つ以上のビデオブロックにパーティション化し得る。ビデオエンコーダ200及びビデオデコーダ300は、様々なビデオブロックサイズをサポートし得る。
【0076】
モード選択ユニット203は、例えばエラー結果に基づいて、イントラ又はインターのコーディングモードのうちの1つを選択し得、残差ブロックデータを生成するために残差生成ユニット207に、また、参照ピクチャとして使用するためにエンコーディングされたブロックを再構成するために再構成ユニット212に、結果として生じるイントラ又はインターコーディングされたブロックを提供し得る。いくつかの例では、モード選択ユニット203は、予測がインター予測信号及びイントラ予測信号に基づいている、イントラ及びインター予測モードの組み合わせ(combination of intra and inter predication (CIIP) mode)を選択し得る。モード選択ユニット203は、また、インター予測の場合に、ブロックに対する動きベクトルの解像度(例えば、サブピクセル又は整数ピクセル精度)を選択し得る。
【0077】
現在のビデオブロックにインター予測を実行するために、動き推定ユニット204は、バッファ213からの1つ以上の参照フレームを現在のビデオブロックと比較することによって、現在のビデオブロックの動き情報を生成し得る。動き補償ユニット205は、現在のビデオブロックに関連するピクチャ以外のバッファ213からのピクチャの動き情報及びデコーディングされたサンプルに基づいて、現在のビデオブロックについて予測されるビデオブロックを決定し得る。
【0078】
動き推定ユニット204及び動き補償ユニット205は、例えば、現在のビデオブロックがIスライス、Pスライス、又はBスライスにあるかに応じて、現在のビデオブロックに対して異なる動作を実行し得る。
【0079】
幾つかの例では、動き推定ユニット204は、現在のビデオブロックに対して一方向予測(uni-directional prediction)を実行し得、動き推定ユニット204は、現在のビデオブロックに対する参照ビデオブロックについてリスト0又はリスト1の参照ピクチャを検索し得る。次に、動き推定ユニット204は、参照ビデオブロックと、現在のビデオブロックと参照ビデオブロックとの間の空間的変位を示す動きベクトルとを含むリスト0又はリスト1内の参照ピクチャを示す参照インデックスを生成し得る。動き推定ユニット204は、現在のビデオブロックの動き情報として、参照インデックス、予測方向インジケータ、及び動きベクトルを出力し得る。動き補償ユニット205は、現在のビデオブロックの動き情報によって示される参照ビデオブロックに基づいて、現在のブロックの予測ビデオブロックを生成し得る。
【0080】
他の例では、動き推定ユニット204は、現在のビデオブロックに対して双方向予測(bi-directional prediction)を実行し得、動き推定ユニット204は、現在のビデオブロックに対する参照ビデオブロックについてリスト0の参照ピクチャを検索し得、また、現在のビデオブロックに対する参照ビデオブロックについてリスト1内の参照ピクチャを検索し得る。次に、動き推定ユニット204は、参照ビデオブロックと、参照ビデオブロックと現在のビデオブロックとの間の空間的変位を示す動きベクトルを含むリスト0及びリスト1内の参照ピクチャを示す参照インデックスを生成し得る。動き推定ユニット204は、現在のビデオブロックの動き情報として、現在のビデオブロックの参照インデックス及び動きベクトルを出力し得る。動き補償ユニット205は、現在のビデオブロックの動き情報によって示される参照ビデオブロックに基づいて、現在のビデオブロックの予測ビデオブロックを生成し得る。
【0081】
いくつかの例では、動き推定ユニット204は、デコーダのデコーディング処理のために動き情報の全セットを出力し得る。
【0082】
いくつかの例では、動き推定ユニット204は、現在のビデオに対する動き情報の完全なセットを出力しないことがある。むしろ、動き推定ユニット204は、他のビデオブロックの動き情報を参照して現在のビデオブロックの動き情報をシグナリングし得る。例えば、動き推定ユニット204は、現在のビデオブロックの動き情報が隣接するビデオブロックの動き情報と十分に類似していると決定し得る。
【0083】
一例では、動き推定ユニット204は、現在のビデオブロックに関連する構文構造において、現在のビデオブロックが別のビデオブロックと同じ動き情報を有することをビデオデコーダ300に示す値を示し得る。
【0084】
別の例では、動き推定ユニット204は、現在のビデオブロックに関連する構文構造において、別のビデオブロック及び動きベクトル差(MVD)を識別し得る。動きベクトル差は、現在のビデオブロックの動きベクトルと示されたビデオブロックの動きベクトルとの間の差を示す。ビデオデコーダ300は、示されたビデオブロックの動きベクトル及び動きベクトル差を使用して、現在のビデオブロックの動きベクトルを決定し得る。
【0085】
上述のように、ビデオエンコーダ200は、動きベクトルを予測的にシグナリングし得る。ビデオエンコーダ200によって実装され得る予測シグナリング技術の2つの例は、アドバンスド動きベクトル予測(AMVP)及びマージモードシグナリングを含む。
【0086】
イントラ予測ユニット206は、現在のビデオブロックに対してイントラ予測を実行し得る。イントラ予測ユニット206が現在のビデオブロックに対してイントラ予測を実行する場合、イントラ予測ユニット206は、同じピクチャ内の他のビデオブロックのデコーディングされたサンプルに基づいて、現在のビデオブロックに対する予測データを生成し得る。現在のビデオブロックに対する予測データは、予測されるビデオブロック及び種々の構文要素を含み得る。
【0087】
残差生成ユニット207は、現在のビデオブロックから現在のビデオブロックの予測されるビデオブロック(複数可)を差し引くことによって(例えば、マイナス記号によって示される)、現在のビデオブロックに対する残差データを生成し得る。現在のビデオブロックの残差データは、現在のビデオブロック内のサンプルの異なるサンプル成分に対応する残差ビデオブロックを含み得る。
【0088】
他の例では、例えばスキップモードにおいて、現在のビデオブロックのための現在のビデオブロックに対する残差データが存在しないことがあり、残差生成ユニット207は減算操作を実行しないことがある。
【0089】
変換処理ユニット208は、現在のビデオブロックに関連する残差ビデオブロックに1つ以上の変換を適用することによって、現在のビデオブロックに対する1つ以上の変換係数ビデオブロックを生成し得る。
【0090】
変換処理ユニット208が現在のビデオブロックに関連する変換係数ビデオブロックを生成した後、量子化ユニット209は、現在のビデオブロックに関連する1つ以上の量子化パラメータ(QP)値に基づいて、現在のビデオブロックに関連する変換係数ビデオブロックを量子化し得る。
【0091】
逆量子化ユニット210及び逆変換ユニット211は、変換係数ビデオブロックから残差ビデオブロックを再構成するために、変換係数ビデオブロックに逆量子化及び逆変換をそれぞれ適用し得る。再構成ユニット212は、バッファ213に格納するために現在のブロックに関連する再構成されたビデオブロックを生成するために、予測ユニット202によって生成された1つ以上の予測されたビデオブロックからの対応するサンプルに、再構成された残差ビデオブロックを追加し得る。
【0092】
再構成ユニット212がビデオブロックを再構成した後、ループフィルタリング操作を実行して、ビデオブロック内のビデオブロッキングアーチファクト(video blocking artifacts)を低減し得る。
【0093】
エントロピーエンコーディングユニット214は、ビデオエンコーダ200の他の機能コンポーネントからデータを受信し得る。エントロピーエンコーディングユニット214がデータを受信する場合、エントロピーエンコーディングユニット214は、エントロピーエンコーディングされたデータを生成し、エントロピーエンコーディングされたデータを含むビットストリームを出力するために、1つ以上のエントロピーエンコーディング操作を実行し得る。
【0094】
図9は、
図7に示すシステム100内のビデオデコーダ114であり得るビデオデコーダ300の一例を示すブロック図である。
【0095】
ビデオデコーダ300は、本開示の技術のいずれか又は全てを実行するように構成され得る。
図8の例では、ビデオデコーダ300は、複数の機能コンポーネントを含む。本開示に記載される技術は、ビデオデコーダ300の種々のコンポーネント間で共有され得る。いくつかの例では、プロセッサは、本開示に記載される技術のいずれか又は全てを実行するように構成され得る。
【0096】
図9の例では、ビデオデコーダ300は、エントロピーデコーディングユニット301、動き補償ユニット302、イントラ予測ユニット303、逆量子化ユニット304、逆変換ユニット305、再構成ユニット306及びバッファ307を含む。ビデオデコーダ300は、いくつかの例では、ビデオエンコーダ200(
図8)に関して説明したエンコーディングパスと概ね逆のデコーディングパスを実行し得る。
【0097】
エントロピーデコーディングユニット301は、エンコーディングされたビットストリームを取得し(retrieve)得る。エンコーディングされたビットストリームは、エントロピーコーディングされたビデオデータ(例えば、ビデオデータのエンコーディングされたブロック)を含み得る。エントロピーデコーディングユニット301はエントロピーコーディングされたビデオデータをデコーディングし得、エントロピーデコーディングされたビデオデータから、動き補償ユニット302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、及び他の動き情報を含む動き情報を決定し得る。動き補償ユニット302は、例えば、AMVP及びマージモードを実行することによって、そのような情報を決定し得る。
【0098】
動き補償ユニット302は、動き補償されたブロックを生成し得、補間フィルタ(interpolation filters)に基づいて補間を実行する可能性がある。サブピクセル精度で使用されることになる補間フィルタのための識別子が、構文要素に含まれ得る。
【0099】
動き補償ユニット302は、ビデオブロックのエンコーディング中にビデオエンコーダ200によって使用される補間フィルタを使用して、参照ブロックのサブ整数ピクセルに対する補間値を計算し得る。動き補償ユニット302は、受信された構文情報に従ってビデオエンコーダ200によって使用される補間フィルタを決定し、予測ブロックを生成するために補間フィルタを使用し得る。
【0100】
動き補償ユニット302は、エンコーディングされたビデオシーケンスのフレーム(複数可)及び/又はスライス(複数可)をエンコーディングするために使用されるブロックのサイズ、エンコーディングされたビデオシーケンスのピクチャの各マクロブロックがどのようにパーティション化されるかを記述するパーティション情報、各パーティションがどのようにエンコーディングされるかを示すモード、各インターエンコーディングされたブロックに対する1つ又は複数の参照フレーム(及び参照フレームリスト)、及びエンコーディングされたビデオシーケンスをデコーディングするための他の情報を決定するために、構文情報のいくつかを使用し得る。
【0101】
イントラ予測ユニット303は、例えば、ビットストリームで受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。逆量子化ユニット303は、ビットストリームで提供され、エントロピーデコーディングユニット301によってデコーディングされる量子化されたビデオブロック係数を逆量子化する、すなわち、脱量子化する。逆変換ユニット303は、逆変換を適用する。
【0102】
再構成ユニット306は、残差ブロックを、動き補償ユニット202又はイントラ予測ユニット303によって生成された対応する予測ブロックと合算して、デコーディングされたブロックを形成し得る。必要に応じて、デブロックフィルタが、ブロックノイズアーチファクトを除去するために、デコーディングされたブロックをフィルタリングするために適用され得る。次いで、デコーディングされたビデオブロックはバッファ307に格納され、このバッファは、後続の動き補償/イントラ予測のための参照ブロックを提供し、またディスプレイデバイス上に提示するためのデコーディングされたビデオを生成する。
【0103】
図10~
図12は、例えば、
図5~
図9に示す実施形態において上述した技術的解決策を実装することができる例示的な方法を示す。
【0104】
図10は、ビデオ処理の例示的方法1000のためのフローチャートを示す。方法1000は、動作1010において、ピクチャを含むビデオとビデオのビットストリームとの間の変換を実行することを含み、ピクチャ内のサブピクチャの数が、ビット幅がサブピクチャの数の値に基づいているフィールドとして、ビットストリームのシーケンスパラメータセット(SPS)でシグナリングされ、フィールドは、最初に左ビットがある符号なし整数0次指数ゴロムでコーディングされた構文要素である。
【0105】
図11は、ビデオ処理の例示的方法1100のためのフローチャートを示す。方法1100は、動作1110において、ビデオとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームは、フォーマットルールに準拠し、このフォーマットルールは、ビデオのピクチャがパーティション化できるかどうかを示す第1の構文要素が、ビットストリームのピクチャパラメータセット(PPS)に、サブピクチャの識別子がPPSにおいてシグナリングされるかどうかを示す第2の構文要素、及び、PPSにおいて、サブピクチャの数を示す第3の構文要素の値に基づいて、条件付きで含まれることを規定する。
【0106】
図12は、ビデオ処理の例示的方法1200のためのフローチャートを示す。方法1200は、動作1210において、ビデオとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームは、フォーマットルールに準拠し、このフォーマットルールは、ビデオのピクチャがパーティション化できるかどうかを示す第1の構文要素が、ビットストリームのピクチャパラメータセット(PPS)に、PPSにおいてピクチャのサブピクチャの識別子を示す構文要素のセットの前に、含まれることを指定する。
【0107】
次に、いくつかの実施形態によって好ましい解決策のリストを提供する。
【0108】
A1.ピクチャを含むビデオと前記ビデオのビットストリームとの間の変換を実行することを含み、前記ピクチャ内のサブピクチャの数が、前記ビット幅が前記サブピクチャの数の値に基づいているフィールドとして、前記ビットストリームのシーケンスパラメータセット(SPS)でシグナリングされ、前記フィールドは、最初に左ビットがある符号なし整数0次指数ゴロム(Exp-Golomb)でコーディングされた構文要素である、ビデオ処理方法。
【0109】
A2.前記フィールドの前記値は、ゼロからルマサンプルの前記ピクチャの最大幅及びルマサンプルの前記ピクチャの最大高さに基づく最大値の範囲にあるように制限される、解決策A1の方法。
【0110】
A3.前記最大値は、ピクチャ内に適合するコーディングツリーブロックの整数数に等しい、解決策A2の方法。
【0111】
A4.前記サブピクチャの数は、前記ビットストリームに関連するコーディングレベルに基づいて制限される、解決策A1の方法。
【0112】
A5.ビデオとビデオのビットストリームとの間の変換を実行することを含み、前記ビットストリームはフォーマットルールに準拠し、前記フォーマットルールは、前記ビデオのピクチャがパーティション化できるかどうかを示す第1の構文要素が、前記ビットストリームのピクチャパラメータセット(PPS)に、サブピクチャの識別子が前記PPSにおいてシグナリングされているかどうかを示す第2の構文要素、及び前記PPSにおいて、前記サブピクチャの数を示す第3の構文要素の値に基づいて、条件付きで含まれることを規定する、ビデオ処理方法。
【0113】
A6.前記第1の構文要素はno_pic_partition_flagであり、前記第2の構文要素はsubpic_ids_in_pps_flagであり、前記第3の構文要素はpps_num_subpics_minus1である、解決策A5の方法。
【0114】
A7.前記第1の構文要素は、前記PPSから除外され、前記PPSを参照する各ピクチャにピクチャパーティション化が適用されないことを示すと推定される、解決策A5又はA6の方法。
【0115】
A8.第1の構文要素は、PPSにおいてシグナリングされず、1に等しいと推定される、解決策A5又はA6の方法。
【0116】
A9.前記第2の構文要素は、前記PPSの1つ以上のタイル及び/又はスライス構文要素の後にシグナリングされる、解決策A5又はA6の方法。
【0117】
A10.ビデオとビデオのビットストリームとの間の変換を実行することを含み、前記ビットストリームはフォーマットルールに準拠し、前記フォーマットルールは、前記ビデオのピクチャがパーティション化できるかどうか示す第1の構文要素が、前記ビットストリームのピクチャパラメータセット(PPS)に、前記PPSにおいて、前記ピクチャのサブピクチャの識別子を示す構文要素のセットの前に、含まれることを規定する、ビデオ処理方法。
【0118】
A11.サブピクチャの数を示す第2の構文要素が、前記第1の構文要素の値に基づいて、前記構文要素のセットに条件付きで含まれる、解決策A10の方法。
【0119】
A12.前記変換は、前記ビットストリームから前記ビデオをデコーディングすることを含む、解決策A1~A11のいずれかの方法。
【0120】
A13.前記変換は、前記ビデオを前記ビットストリームにエンコーディングすることを含む、解決策A1~A11のいずれかの方法。
【0121】
A14.ビデオを表すビットストリームをコンピュータ可読記録媒体に格納する方法であって、解決策A1~A11のうちのいずれか1つ又は複数に記載された方法に従って、ビデオからビットストリームを生成することと、ビットストリームをコンピュータ可読記録媒体に書き込むこととを含む方法。
【0122】
A15.解決策A1~A14のいずれか1つ又は複数に記載の方法を実装するように構成されたプロセッサを含む、ビデオ処理装置。
【0123】
A16.命令が格納されたコンピュータ可読媒体であって、前記命令は、実行されたとき、プロセッサに、解決策A1~A14のいずれか1つ又は複数に記載の方法を実装させる、コンピュータ可読媒体。
【0124】
A17.解決策A1~A14のいずれか1つ又は複数に従って生成されたビットストリームを格納するコンピュータ可読媒体。
【0125】
A18.ビットストリームを格納するためのビデオ処理装置であって、前記ビデオ処理装置は、解決策A1~A14のいずれか1つ又は複数に記載の方法を実装するように構成される、ビデオ処理装置。
【0126】
次に、いくつかの実施形態によって好適な解決策の別のリストを提供する。
【0127】
B1.ビデオのビデオ領域と前記ビデオのビットストリームとの間の変換を実行することを含み、前記ビットストリームはフォーマットルールに準拠し、前記フォーマットルールは、サブピクチャ識別子の情報が前記ビットストリームのパラメータセットに含まれるかどうかを示す第1の構文要素が、シーケンスパラメータセット(SPS)に、サブピクチャの情報が前記SPSに含まれるかどうかを示す第2の構文要素の値に基づいて、条件付きで含まれることを規定する、ビデオ処理方法。
【0128】
B2.前記フォーマットルールは、さらに、前記第2の構文要素の値がゼロであることを規定し、これは、前記サブピクチャの前記情報が、前記SPSから省略され、その結果、前記SPSに関連する前記ビデオ領域の各々が複数のサブピクチャに分割されないことを示し、前記値がゼロであることに基づいて、前記第1の構文要素は前記SPSから省略される、解決策B1の方法。
【0129】
B3.前記第1の構文要素はsubpic_ids_explicity_signalled_flagであり、前記第2の構文要素がsubpic_info_present_flagである、解決策B1又はB2の方法。
【0130】
B4.前記フォーマットルールは、前記第1の構文要素の前記値がゼロである場合に、前記第1の構文要素がゼロ値で前記SPSに含まれることをさらに規定する、解決策B1又はB3の方法。
【0131】
B5.前記ビデオ領域はビデオピクチャである、解決策B1~B4のいずれかの方法。
【0132】
B6.ビデオのピクチャと前記ビデオのビットストリームとの間の変換を実行することを含み、前記ビットストリームはフォーマットルールに準拠し、前記フォーマットルールは、前記ピクチャの1つ又は複数のサブピクチャの識別子と前記1つ又は複数のサブピクチャとの間のマッピングが、前記ピクチャのピクチャヘッダに含まれないことを規定し、前記フォーマットルールは、さらに、前記1つ又は複数のサブピクチャの識別子が、前記ピクチャによって参照されるシーケンスパラメータセット(SPS)及びピクチャパラメータセット(PPS)の構文要素に基づいて導出されることを規定する、ビデオ処理方法。
【0133】
B7.前記SPSのフラグが、前記1つ又は複数のサブピクチャの前記識別子が、前記PPSの構文要素に基づいて導出されることを示す第1の値、又は、前記1つ又は複数のサブピクチャの前記識別子が、前記SPSの構文要素に基づいて導出されることを示す第2の値を取る、解決策B6の方法。
【0134】
B8.前記フラグはsubpic_ids_in_pps_flagフィールドに対応し、前記第1の値は1であり、前記第2の値はゼロである、解決策B7の方法。
【0135】
B9.前記識別子(SubpicIdList[i]と示される)が以下のように導出される、
for(i = 0; i <= sps_num_subpics_minus1; i++)
if(subpic_ids_explicitly_signalled_flag)
SubpicIdList[i] = subpic_ids_in_pps_flag ?pps_subpic_id[i] sps_subpic_id[i]
else
SubpicIdList[i] = i
解決策B6の方法。
【0136】
B10.ビデオと前記ビデオのビットストリームとの間の変換を実行することを含み、前記ビットストリームはフォーマットルールに準拠し、前記フォーマットルールは、前記サブピクチャの識別子とピクチャの1つ又は複数のサブピクチャとの間のマッピングが前記1つ又は複数のサブピクチャに対して明示的にシグナリングされることを第1の構文要素の値が示すとき、前記マッピングがシーケンスパラメータセット(SPS)又はピクチャパラメータセット(PPS)のいずれかにおいてシグナリングされることを規定する、ビデオ処理の方法。
【0137】
B11.前記第1の構文要素はsubpic_ids_explicity_signalled_flagである、解決策B10の方法。
【0138】
B12.前記識別子は、第2の構文要素(subpic_ids_in_sps_flagと示される)の値に基づいて前記SPSにおいてシグナリングされ、前記識別子は、第3の構文要素(subpic_ids_in_pps_flagと示される)の値に基づいて前記PPSにおいてシグナリングされる、解決策B11の方法。
【0139】
B13.subpic_ids_in_pps_flagは、subpic_ids_explicity_signalled_flagがゼロである又はsubpic_ids_in_sps_flagが1であるため、ゼロに等しい、解決策B12の方法。
【0140】
B14.subpic_ids_in_pps_flagがゼロに等しいことは、識別子が前記PPSにおいてシグナリングされないことを示す、解決策B13の方法。
【0141】
B15.subpic_ids_in_pps_flagは、subpic_ids_explicity_signalled_flagが1であり、subpic_ids_in_sps_flagがゼロであるために、1に等しい、解決策B12の方法。
【0142】
B16.subpic_ids_in_pps_flagが1に等しいことは、前記1つ又は複数のサブピクチャの各々に対する識別子が前記PPSにおいて明示的にシグナリングされることを示す、解決策B15の方法。
【0143】
B17.前記変換は、前記ビットストリームから前記ビデオをデコーディングすることを含む、解決策B1~B15のいずれかの方法。
【0144】
B18.前記変換は、前記ビデオを前記ビットストリームにエンコーディングすることを含む、解決策B1~B15のいずれかの方法。
【0145】
B19.ビデオを表すビットストリームをコンピュータ可読記録媒体に格納する方法であって、解決策B1~B15の1つ又は複数に記載された方法に従って、ビデオからビットストリームを生成することと、前記ビットストリームを前記コンピュータ可読記録媒体に書き込むこととを含む、方法。
【0146】
B20.解決策B1~B19のいずれか1つ又は複数に記載の方法を実装するように構成されたプロセッサを含む、ビデオ処理装置。
【0147】
B21.命令が格納されたコンピュータ可読媒体であって、前記命令は、実行されるとき、プロセッサに、解決策B1~B19のうちの1つ又は複数に記載の方法を実装させる、コンピュータ可読媒体。
【0148】
B22.解決策B1~B19のいずれか1つ又は複数に従って生成されたビットストリームを格納するコンピュータ可読媒体。
【0149】
B23.ビットストリームを格納するためのビデオ処理装置であって、前記ビデオ処理装置は、解決策B1~B19のいずれか1つ又は複数に記載の方法を実装するように構成される、ビデオ処理装置。
【0150】
いくつかの実施形態によって好ましい解決策のさらに別のリストが、次に提供される。
【0151】
C1.ビデオとビデオのビットストリームとの間の変換を実行することを含み、前記ビットストリームはフォーマットルールに準拠し、前記フォーマットルールは、シーケンスパラメータセット(SPS)においてサブピクチャの識別子の長さをシグナリングすることが、前記識別子が前記SPSにおいてシグナリングされるかどうかを示す構文要素の値に基づいていないことを規定する、ビデオ処理の方法。
【0152】
C2.ビデオとビデオのビットストリームとの間の変換を実行することを含み、前記ビットストリームはフォーマットルールに準拠し、前記フォーマットルールは、ピクチャパラメータセット(PPS)においてサブピクチャの識別子の長さを、前記識別子が前記PPSにおいて明示的にシグナリングされていることを示す構文要素によりシグナリングすることを規定する、ビデオ処理方法。
【0153】
C3.前記長さは、さらに、スライスヘッダ内のサブピクチャ識別子の長さに対応する、解決策C1又はC2の方法。
【0154】
C4.前記構文要素はsubpic_ids_explicity_signalled_flagである、解決策C1~C3のいずれかの方法。
【0155】
C5.前記識別子は、前記SPSにおいてシグナリングされず、かつ前記識別子は前記PPSにおいてシグナリングされない、解決策C3又はC4の方法。
【0156】
C6.前記サブピクチャ識別子の長さが、前記SPSにおいてシグナリングされるサブピクチャ識別子長さに対応する、解決策C5の方法。
【0157】
C7.ビデオとビデオのビットストリームとの間の変換を実行することを含み、前記ビットストリームはフォーマットルールに準拠し、前記フォーマットルールは、前記ビットストリームのシーケンスパラメータセット(SPS)においてシグナリングされる第1の構文要素が前記SPSにおいてサブピクチャの識別子の長さを示すことを規定し、前記第1の構文要素のシグナリングは、前記SPS又はピクチャパラメータセット(PPS)における前記サブピクチャの前記識別子の明示的なシグナリングを示す第2の構文要素の値とは無関係である、ビデオ処理の方法。
【0158】
C8.前記第2の構文要素はsubpic_ids_explicity_signalled_flagである、解決策C7の方法。
【0159】
C9.前記第2の構文要素が1に等しいことは、前記サブピクチャの各々に対して1つの識別子のセットが、前記SPS又は前記PPSにおいて前記サブピクチャの各々に対して明示的に信号がシグナリングされることを示し、前記第2の構文要素がゼロに等しいことは、識別子が前記SPS又は前記PPSにおいて明示的にシグナリングされないことを示す、解決策C7又はC8の方法。
【0160】
C10.前記第1の構文要素の値が、前記第2の構文要素の値がゼロであるために、ゼロ又は1のいずれかである、解決策C7又はC8のいずれかの方法。
【0161】
C11.前記第1の構文要素の値が、前記第2の構文要素の値が1であるために、1である、解決策C7又はC8の方法。
【0162】
C12.前記第2の構文要素の値はゼロである、解決策C7又はC8の方法。
【0163】
C13.前記変換は、前記ビデオを前記ビットストリームからデコーディングすることを含む、解決策C1~C12のいずれかの方法。
【0164】
C14.前記変換は、前記ビデオを前記ビットストリームにエンコーディングすることを含む、解決策C1~C12のいずれかの方法。
【0165】
C15.コンピュータ可読記録媒体にビデオを表すビットストリームを格納する方法であって、解決策C1~C12のうちの1つ又は複数に記載された方法に従って、前記ビデオから前記ビットストリームを生成することと、前記コンピュータ可読記録媒体に前記ビットストリームを書き込むこととを含む、方法。
【0166】
C16.解決策C1~C15のいずれか1つ又は複数に記載の方法を実装するように構成されたプロセッサを有する、ビデオ処理装置。
【0167】
C17.命令が記憶されたコンピュータ可読媒体であって、前記命令は、実行されたとき、プロセッサに、解決策C1~C15のいずれか1つ又は複数に記載の方法を実装させる、コンピュータ可読媒体。
【0168】
C18.解決策C1~C15のいずれか1つ又は複数に従って生成された前記ビットストリームを格納するコンピュータ可読媒体。
【0169】
C19.ビットストリームを格納するためのビデオ処理装置であって、前記ビデオ処理装置は、解決策C1~C15のいずれか1つ又は複数に記載の方法を実装するように構成される、ビデオ処理装置。
【0170】
いくつかの実施形態によって好ましい解決策のさらに別のリストが、次に提供される。
【0171】
P1.ビデオのピクチャと前記ビデオのコーディングされた表現との間の変換を実行することを含み、前記ピクチャ内のサブピクチャの数が、ビット幅が前記サブピクチャの数の値に依存するフィールドとして前記コーディングされた表現に含まれる、ビデオ処理方法。
【0172】
P2.前記フィールドは、コードワードを用いて前記サブピクチャの数を表す、解決策P1の方法。
【0173】
P3.前記コードワードがゴロムコードワードを含む、解決策P2の方法。
【0174】
P4.前記サブピクチャの数の前記値は、前記ピクチャ内に適合するコーディングツリーブロックの整数数以下であるように制限される、解決策P1~P3のいずれかの方法。
【0175】
P5.前記フィールドは、前記コーディングされた表現に関連するコーディングレベルに依存する、解決策P1~P4のいずれかの方法。
【0176】
P6.ビデオのビデオ領域と前記ビデオのコーディングされた表現との間の変換を実行することを含み、前記コーディングされた表現はフォーマットルールに準拠し、前記フォーマットルールは、サブピクチャ識別子を示す構文要素を、サブピクチャを含まない前記ビデオ領域により、省略することを規定する、ビデオ処理方法。
【0177】
P7.前記コーディングされた表現は、前記ビデオ領域がサブピクチャを含んでいないことを示す0値を有するフィールドを含む、解決策P6の方法。
【0178】
P8.ビデオのビデオ領域と前記ビデオのコーディングされた表現との間の変換を実行することを含み、前記コーディングされた表現はフォーマットルールに準拠し、前記フォーマットルールは、前記コーディングされた表現においてビデオ領域ヘッダレベルで前記ビデオ領域内のサブピクチャの識別子を省略することを規定する、ビデオ処理の方法。
【0179】
P9.前記コーディングされた表現は、前記サブピクチャが前記ビデオ領域ヘッダにリストされる順序に従ってサブピクチャを数値的に識別する、解決策P8に記載の方法。
【0180】
P10.ビデオのビデオ領域と前記ビデオのコーディングされた表現との間の変換を実行することを含み、前記コーディングされた表現はフォーマットルールに準拠し、前記フォーマットルールは、サブピクチャの識別子及び/又はサブピクチャの識別子の長さを、シーケンスパラメータセットレベル又はピクチャパラメータセットレベルで、前記ビデオ領域内に含むことを規定する、ビデオ処理方法。
【0181】
P11.前記長さは、前記ピクチャパラメータセットレベルに含まれる、解決策P10の方法。
【0182】
P12.ビデオのビデオ領域と前記ビデオのコーディングされた表現との間の変換を実行することを含み、前記コーディングされた表現はフォーマットルールに準拠し、前記フォーマットルールは、前記コーディングされた表現内のフィールドをビデオシーケンスレベルで含んで、サブピクチャ識別子長さフィールドが前記ビデオシーケンスレベルで前記コーディングされた表現内に含まれるか否かを示すことを規定する、ビデオ処理の方法。
【0183】
P13.前記フォーマットルールは、前記コーディングされた表現内の別のフィールドが、前記ビデオ領域に対する長さ識別子が前記コーディングされた表現内に含まれることを示す場合に、前記フィールドを「1」に設定することを規定する、解決策P12の方法。
【0184】
P14.前記ビデオ領域は、前記ビデオのサブピクチャを含む、前記解決策のいずれかの方法。
【0185】
P15.前記変換は、前記ビデオを生成するために、前記コーディングされた表現を解析し(parsing)、デコーディングすることを含む、前記解決策のいずれかの方法。
【0186】
P16.前記変換は、前記コーディングされた表現を生成するために前記ビデオをエンコーディングすることを含む、前記解決策のいずれか1つの方法。
【0187】
P17.解決策P1~P16のうちの1つ又は複数に記載の方法を実装するように構成されたプロセッサを有する、ビデオデコーディング装置。
【0188】
P18.解決策P1~P16のうちの1つ又は複数に記載の方法を実装するように構成されたプロセッサを有する、ビデオエンコーディング装置。
【0189】
P19.コンピュータコードを格納したコンピュータプログラム製品であって、前記コードは、プロセッサによって実行されるとき、前記プロセッサに、解決策P1~P16のいずれかに記載の方法を実装させる。
【0190】
本明細書に記載された開示された解決策、例、実施形態、モジュール及び機能動作は、デジタル電子回路、又は本明細書に開示された構造及びそれらの構造の均等物を含むコンピュータソフトウェア、ファームウェア、若しくはハードウェア、又はそれらの1つ以上の組み合わせで実装することができる。開示された実施形態及び他の実施形態は、1つ又は複数のコンピュータプログラム製品、すなわち、データ処理装置による実行のため、又はデータ処理装置の動作を制御するために、コンピュータ可読媒体上にエンコーディングされたコンピュータプログラム命令の1つ又は複数のモジュールとして実装することができる。コンピュータ可読媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、メモリデバイス、機械可読伝搬信号に影響を与える物質の組成、或いは1つ又は複数のそれらの組み合わせであることができる。用語「データ処理装置」は、例えば、プログラマブルプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含む、データを処理するための全ての装置、デバイス、及び機械を包含する。装置は、ハードウェアに加えて、問題のコンピュータプログラムの実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの1つ以上の組み合わせを構成するコードを含むことができる。伝搬される信号は、人工的に生成された信号、例えば、適切な受信器装置に送信するための情報をエンコーディングするために生成される機械生成電気信号、光学信号、又は電磁信号である。
【0191】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる)は、コンパイル又はインタプリタされた言語を含む、任意の形態のプログラミング言語で書くことができ、それは、スタンドアロンプログラムとして、又はコンピューティング環境での使用に適したモジュール、コンポーネント、サブルーチン、又は他のユニットとしてを含む、任意の形態で展開することができる。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応するものではない。プログラムは、他のプログラム又はデータを保持するファイルの一部分(例えば、マークアップ言語文書に格納される1つ以上のスクリプト)、問題のプログラム専用の単一ファイル、又は複数の調整されたファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの一部分を格納するファイル)に格納することができる。コンピュータプログラムは、1つのコンピュータ又は1つのサイトに配置されるか、又は複数のサイトに分散され、通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように展開されることができる。
【0192】
本明細書で説明するプロセス及び論理フローは、入力データを操作し、出力を生成することによって機能を実行するために、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行することができる。プロセス及び論理フローはまた、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)のような特殊目的論理回路によって実行することができ、装置も特殊目的論理回路として実装することができる。
【0193】
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用及び専用マイクロプロセッサの両方、及び任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、読み出し専用メモリ又はランダムアクセスメモリ又はその両方から命令及びデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令及びデータを記憶するための1つ以上のメモリデバイスである。一般に、コンピュータはまた、データを格納するための1つ以上の大容量ストレージデバイス、例えば、磁気ディスク、磁気光ディスク、若しくは光ディスクからデータを受信し、又はこれらからデータを転送するために動作可能に結合される。しかし、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令及びデータを格納するのに適したコンピュータ可読媒体は、例えば、半導体メモリデバイス、例えば、EPROM、EEPROM、及びフラッシュメモリデバイスなどの;磁気ディスク、例えば、内部ハードディスク又はリムーバブルディスク;光磁気ディスク;及びCD ROM及びDVD-ROMディスクを含む、あらゆる形態の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、特殊目的論理回路によって補足されるか、又はそれに内蔵され得る。
【0194】
この特許文献には多くの詳細が含まれているが、これらは、いずれかの主題の範囲又は請求項に記載され得るものを限定するものではなく、むしろ、特定の技術の特定の実施形態に特有の特徴の説明と解釈されるべきである。別々の実施形態の文脈でこの特許文献に記載されている特定の特徴は、単一の実施形態で組み合わせて実施することもできる。逆に、単一の実施形態の文脈において説明される種々の特徴は、複数の実施形態において別々に、又は任意の適切なサブコンビネーションで実施することもできる。さらに、特徴は、特定の組み合わせにおいて作用するものとして上述され、最初にそのように請求項に記載されてもよいが、請求項に記載された組み合わせからの1又は複数の特徴は、場合によっては、組み合わせから切り出されてもよく、請求項に記載された組み合わせは、サブコンビネーション又はサブコンビネーションのバリエーションに向けられてもよい。
【0195】
同様に、図面には特定の順序で動作が示されているが、これは、所望の結果を達成するために、このような動作を特定の順序で又は連続的な順序で実行すること、又は、例示されたすべての動作を実行することを要求するものとして理解されるべきではない。さらに、この特許文献に記載されている実施形態における種々のシステムコンポーネントの分離は、すべての実施形態においてこのような分離を必要とするものとして理解されるべきではない。
【0196】
少数の実施形態及び例のみが記述されているが、他の実施形態、拡張及びバリエーションが、この特許文献に記載され、説明されている内容に基づいて、行われ得る。