JP2023515185A - ハイレベルシンタックス要素のための制約 - Google Patents

ハイレベルシンタックス要素のための制約 Download PDF

Info

Publication number
JP2023515185A
JP2023515185A JP2022551568A JP2022551568A JP2023515185A JP 2023515185 A JP2023515185 A JP 2023515185A JP 2022551568 A JP2022551568 A JP 2022551568A JP 2022551568 A JP2022551568 A JP 2022551568A JP 2023515185 A JP2023515185 A JP 2023515185A
Authority
JP
Japan
Prior art keywords
flag
equal
constraint
sps
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2022551568A
Other languages
English (en)
Other versions
JP7415027B2 (ja
Inventor
デン,ジピン
ワン,イェ-クイ
ザン,リー
ザン,カイ
ファン,クォイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
Original Assignee
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd, ByteDance Inc filed Critical Beijing ByteDance Network Technology Co Ltd
Publication of JP2023515185A publication Critical patent/JP2023515185A/ja
Priority to JP2023182911A priority Critical patent/JP2024003022A/ja
Application granted granted Critical
Publication of JP7415027B2 publication Critical patent/JP7415027B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Systems (AREA)

Abstract

ビデオ処理のための方法、システム、装置が説明される。ビデオを処理するための方法は、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行することを含み、フォーマットルールは、シーケンスパラメータセット(SPS)中のシンタックス要素が一般制約フラグの値に基づくかどうかを指定する。

Description

[関連出願への相互参照]
パリ条約に準じた適用可能な特許法および/または規則の下で、本出願は、2020年2月29日に出願された国際特許出願第PCT/CN2020/077325号の優先権および利益を適時に主張するためになされる。法の下でのすべての目的のために、前述の出願の全開示は、本出願の開示の一部として参照により組み込まれる。
[技術分野]
本特許文書は、画像およびビデオコーディングおよび復号に関する。
デジタルビデオは、インターネットおよび他のデジタル通信ネットワーク上で最大の帯域幅使用を占める。ビデオを受信および表示することが可能なユーザデバイスの接続数の増加に伴い、デジタルビデオ使用に対する帯域幅需要は増加し続けることが予想される。
本文書は、コード化表現の復号に有用な制御情報を使用してビデオのコード化表現を処理するためにビデオエンコーダおよびデコーダによって使用され得る技法を開示する。
例示的な一態様では、ビデオ処理方法が開示される。方法は、1つまたは複数のピクチャを有するビデオとビデオのコード化表現との間の変換を実行することを含み、1つまたは複数のピクチャの各々は正確に1つのスライスを含み、コード化表現はフォーマットルールに準拠し、フォーマットルールは、コード化表現が準拠するプロファイル、ティア、およびレベルを示すコード化表現内の第1のフィールドが、変換中に観測された様々な制約をシグナリングするシンタックス構造が第1のフィールド内に存在するかどうかを示す第2のフィールドを含むことを指定する。
別の例示的な態様では、別のビデオ処理方法が開示される。方法は、1つまたは複数のピクチャおよび1つまたは複数のスライスを含むビデオと、ビデオのコード化表現との間の変換を実行することを含み、コード化表現はフォーマットルールに準拠し、フォーマットルールは、コード化表現内の第1のレベルにおける1つまたは複数の制約フラグの値が、シーケンスパラメータセット(SPS)レベルまたはピクチャヘッダ(PH)レベルまたはスライスヘッダ(SH)レベルにおける1つまたは複数のシンタックス要素の出現を制御することを指定する。
別の例示的な態様では、別のビデオ処理方法が開示される。方法は、1つまたは複数のピクチャおよび1つまたは複数のスライスを含むビデオと、ビデオのコード化表現との間の変換を実行することを含み、コード化表現はフォーマットルールに準拠し、フォーマットルールは、コード化表現内の第1のレベルにおける1つまたは複数の制約フラグの値がピクチャパラメータセット(PPS)レベルにおける1つまたは複数のシンタックス要素の値を制約することを指定する。
別の例示的な態様では、別のビデオ処理方法が開示される。方法は、1つまたは複数のピクチャおよび1つまたは複数のスライスを含むビデオと、ビデオのコード化表現との間の変換を実行することを含み、コード化表現は、ビデオパラメータセットおよび/またはシーケンスパラメータセットおよび/またはピクチャパラメータセットの識別子のためのシンタックス要素を含む適応パラメータセットをコード化表現が含むことを指定するフォーマットルールに準拠する。
別の例示的な態様では、別のビデオ処理方法が開示される。方法は、1つまたは複数のピクチャおよび1つまたは複数のスライスを含むビデオと、ビデオのコード化表現との間の変換を実行することを含み、コード化表現は、変換に適用可能な1つまたは複数の一般制約フラグを含むことを指定するフォーマットルールに準拠し、1つまたは複数の一般制約フラグは、コード化表現に含まれる一般制約情報の変換への適用可能性を示す。
別の例示的な態様では、別のビデオ処理方法が開示される。方法は、ビデオとビデオのコード化表現との間の変換を実行することを含み、コード化表現はフォーマットルールに準拠し、フォーマットルールは、コード化表現が、ビデオまたは変換の特性に基づいて一般制約情報を搬送する一般制約構造を条件付きで含むことを指定する。
別の例示的な態様では、別のビデオ処理方法が開示される。方法は、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行することを含み、フォーマットルールは、ビットストリーム中の第1のレベルにおける1つまたは複数の一般制約フラグの値が、シーケンスパラメータセット(SPS)レベルまたはピクチャヘッダ(PH)レベルまたはスライスヘッダ(SH)レベルにおける1つまたは複数のシンタックス要素の出現を制御することを指定する。
別の例示的な態様では、別のビデオ処理方法が開示される。方法は、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行することを含み、フォーマットルールは、ビットストリームのためのプロファイル、ティア、およびレベル(PTL)情報を示すビットストリーム中の第1のフィールドが、変換に適用可能な1つまたは複数の制約を示すシンタックス構造が第1のフィールドに存在するかどうかを示す第2のフィールドを含むことを指定する。
別の例示的な態様では、別のビデオ処理方法が開示される。方法は、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行することを含み、フォーマットルールは、シーケンスパラメータセット(SPS)中のシンタックス要素が一般制約フラグの値に基づくかどうかを指定する。
別の例示的な態様では、別のビデオ処理方法が開示される。方法は、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行することを含み、フォーマットルールは、一般制約フラグの値に基づいて、シーケンスパラメータセット(SPS)中のシンタックス要素の値が特定の値に等しくなければならないことを指定する。
別の例示的な態様では、別のビデオ処理方法が開示される。方法は、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行することを含み、フォーマットルールは、一般制約フラグの値に基づいて、シンタックス要素が、ビットストリーム中のピクチャヘッダ(PH)またはスライスヘッダ(SH)に条件付きで含まれることを指定する。
別の例示的な態様では、別のビデオ処理方法が開示される。方法は、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行することを含み、フォーマットルールは、一般制約フラグの値に基づいて、ピクチャヘッダ(PH)またはスライスヘッダ(SH)中のシンタックス要素の値が特定の値に等しくなるようにビットストリーム制約が追加されることを指定する。
別の例示的な態様では、別のビデオ処理方法が開示される。方法は、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行することを含み、フォーマットルールは、変換中に課される制約を示すシンタックス構造中の第1の一般制約フラグの値または包含が、シンタックス構造中の第2の一般制約フラグの値に基づくことを指定する。
別の例示的な態様では、別のビデオ処理方法が開示される。方法は、フォーマットルールにしたがって、1つまたは複数のスライスを含むビデオとビデオのビットストリームとの間の変換を実行することを含み、フォーマットルールは、第1のレベルにおける1つまたは複数の一般制約フラグの値がピクチャパラメータセット(PPS)中の1つまたは複数のシンタックス要素の値を制約することを指定する。
別の例示的な態様では、別のビデオ処理方法が開示される。方法は、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行することを含み、フォーマットルールは、SPS(シーケンスパラメータセット)レベルにおけるSPSシンタックス要素および/またはPPS(ピクチャパラメータセット)レベルにおけるPPSシンタックス要素の値または出現が、SPSレベル、PPSレベル、PH(ピクチャヘッダ)レベル、またはSH(スライスヘッダ)レベルにおける1つまたは複数の関連シンタックス要素の包含を制御することを指定する。
別の例示的な態様では、別のビデオ処理方法が開示される。方法は、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行することを含み、フォーマットルールは、対応するシンタックス要素がシーケンスパラメータセット(SPS)および/もしくはピクチャパラメータセット(PPS)および/もしくはピクチャヘッダ(PH)および/もしくはスライスヘッダ(SH)に含まれるかどうかを示す1つもしくは複数の一般制約フラグを、ビデオに関連付けられた一般制約シンタックス構造中に含めること、またはSPSおよび/もしくはPPSおよび/もしくはPHおよび/もしくはSH中のシンタックス要素の値を制約することを指定する。
別の例示的な態様では、別のビデオ処理方法が開示される。方法は、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行することを含み、フォーマットルールは、ビデオパラメータセット(VPS)および/またはシーケンスパラメータセット(SPS)および/またはピクチャパラメータセット(PPS)の識別子のための1つまたは複数のシンタックス要素を含む、ビデオに関連付けられた適応パラメータセット(APS)の使用を指定する。
別の例示的な態様では、別のビデオ処理方法が開示される。方法は、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行することを含み、フォーマットルールは、ビデオに関連付けられた一般制約情報シンタックス構造中の情報の冗長指示の使用を指定する。
別の例示的な態様では、別のビデオ処理方法が開示される。方法は、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行することを含み、フォーマットルールは、ビットストリームの特性に基づいて、一般制約情報を搬送する一般制約構造を示すべきかどうか、および/またはどのように示すかを指定する。
さらに別の例示的な態様では、ビデオエンコーダ装置が開示される。ビデオエンコーダは、上記で説明した方法を実施するように構成されたプロセッサを備える。
さらに別の例示的な態様では、ビデオデコーダ装置が開示される。ビデオデコーダは、上記で説明した方法を実施するように構成されたプロセッサを備える。
さらに別の例示的な態様では、コードが記憶されたコンピュータ可読媒体が開示される。コードは、プロセッサ実行可能コードの形態で、本明細書で説明される方法のうちの1つを具現化する。
これらの特徴および他の特徴は、本文書を通して説明される。
例示的なビデオ処理システムのブロック図である。 ビデオ処理装置のブロック図である。 ビデオ処理の例示的な方法のためのフローチャートである。 本開示のいくつかの実施形態によるビデオコーディングシステムを示すブロック図である。 本開示のいくつかの実施形態によるエンコーダを示すブロック図である。 本開示のいくつかの実施形態によるデコーダを示すブロック図である。 ビデオ処理の例示的な方法のフローチャートである。 ビデオ処理の例示的な方法のフローチャートである。 ビデオ処理の例示的な方法のフローチャートである。 ビデオ処理の例示的な方法のフローチャートである。 ビデオ処理の例示的な方法のフローチャートである。 ビデオ処理の例示的な方法のフローチャートである。 ビデオ処理の例示的な方法のフローチャートである。 ビデオ処理の例示的な方法のフローチャートである。 ビデオ処理の例示的な方法のフローチャートである。 ビデオ処理の例示的な方法のフローチャートである。 ビデオ処理の例示的な方法のフローチャートである。 ビデオ処理の例示的な方法のフローチャートである。 ビデオ処理の例示的な方法のフローチャートである。
セクションの見出しは、本文書では理解を容易にするために使用され、各セクションで開示される技法および実施形態の適用可能性をそのセクションのみに限定するものではない。さらに、H.266用語は、いくつかの説明では、開示される技法の範囲を限定するためではなく、理解を容易にするためにのみ使用される。そのため、本明細書で説明される技法は、他のビデオコーデックプロトコルおよび設計にも適用可能である。
1.最初の議論
本文書は、ビデオコーディング技術に関する。具体的には、ビデオコーディングにおける制約フラグ関連シンタックスの設計に関する。本概念は、マルチレイヤビデオコーディング、例えば、開発中の多用途ビデオコーディング(VVC)をサポートする任意のビデオコーディング規格または非標準のビデオコーデックに、個々にまたは様々な組合せで適用され得る。
2.略語
APS 適応パラメータセット
AU アクセスユニット
AUD アクセスユニットデリミタ
AVC アドバンスドビデオコーディング
CLVS コード化レイヤビデオシーケンス
CPB コード化ピクチャバッファ
CRA クリーンランダムアクセス
CTU コーディングツリーユニット
CVS コード化ビデオシーケンス
DPB 復号ピクチャバッファ
DPS 復号パラメータセット
EOB ビットストリームの終端
EOS シーケンスの終端
GDR 漸次復号リフレッシュ
HEVC 高効率ビデオコーディング
HRD 仮想参照デコーダ
IDR 瞬時復号リフレッシュ
JEM 共同探索モデル
MCTS 動き制約タイルセット
NAL ネットワークアブストラクションレイヤ
OLS 出力レイヤセット
PH ピクチャヘッダ
PPS ピクチャパラメータセット
PTL プロファイル、ティア、およびレベル
PU ピクチャ単位
RBSP ローバイトシーケンスペイロード
SEI 付加拡張情報
SH スライスヘッダ
SPS シーケンスパラメータセット
SVC スケーラブルビデオコーディング
VCL ビデオコーディングレイヤ
VPS ビデオパラメータセット
VTM VVCテストモデル
VUI ビデオユーザビリティ情報
VVC 汎用ビデオコーディング
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 Advanced Video Coding(AVC)およびH.265/HEVC規格を作成した。H.262以来、ビデオコーディング規格は、時間予測+変換コーディングが利用されるハイブリッドビデオコーディング構造に基づいている。HEVCを超える将来のビデオコーディング技術を探るために、JVET(Joint Video Exploration Team)が、2015年にVCEGおよびMPEGによって共同で設立された。それ以来、多くの新しい方法がJVETによって採用され、共同探索モデル(JEM)と称する参照ソフトウェアに導入されている。同時に、JVET会合が四半期ごとに1回開催されており、新しいコーディング規格は、HEVCと比較して50%のビットレート低減を目標としている。新しいビデオコーディング規格は、2018年4月のJVET会合で正式にVVC(Versatile Video Coding)と名付けられ、その際に、VVCテストモデル(VTM)の最初のバージョンがリリースされた。VVC標準化には継続的な取り組みが行われているので、すべてのJVET会合でVVC標準に新しいコーディング技法が採用されている。そして、VVCワーキングドラフトおよびテスト0モデルVTMは、各会合の後に更新される。VVCプロジェクトは、現在、2020年7月の会合での技術完成(FDIS)を目指している。
3.1.一般プロファイル、ティア、レベルのシンタックスおよびセマンティクス
最新のVVCドラフトテキストでは、一般プロファイル、ティア、レベルのシンタックスおよびセマンティクスは以下の通りである:
Figure 2023515185000002
profile_tier_level( )シンタックス構造は、レベル情報、ならびに任意選択で、プロファイル、ティア、サブプロファイル、および一般制約情報を提供する。
profile_tier_level( )シンタックス構造がVPSに含まれるとき、OlsInScopeは、VPSによって指定された1つまたは複数のOLSである。profile_tier_level( )シンタックス構造がSPSに含まれるとき、OlsInScopeは、SPSを参照するレイヤのうち最下位レイヤであるレイヤのみを含むOLSであり、この最下位レイヤは独立したレイヤである。
general_profile_idcは、Annex Aで指定されているように、OlsInScopeが準拠するプロファイルを示す。ビットストリームは、Annex Aで指定されている値以外のgeneral_profile_idcの値を含まないものとする。general_profile_idcの他の値は、ITU-T|ISO/IECによる将来の使用のために確保されている。
general_tier_flagは、Annex Aで指定されているように、general_level_idcの解釈のためのティアコンテキストを指定する。
general_level_idcは、Annex Aで指定されているように、OlsInScopeが準拠するレベルを示す。ビットストリームは、Annex Aで指定されている値以外のgeneral_level_idcの値を含まないものとする。general_level_idcの他の値は、ITU-T|ISO/IECによる将来の使用のために確保されている。
注1-general_level_idcのより大きい値は、より高いレベルを示す。OlsInScopeのためのDCI NALユニット中でシグナリングされる最大レベルは、OlsInScope内に含まれるCLVSのためのSPS中でシグナリングされるレベルよりも高いことはあっても低いことはない。
注2-OlsInScopeが複数のプロファイルに準拠するとき、general_profile_idcは、(本仕様書で規定されていない方法で)エンコーダによって決定されるように、好ましい復号結果または好ましいビットストリーム識別を提供するプロファイルを示すべきである。
注3-OlsInScopeのCVSが異なるプロファイルに準拠するとき、複数のprofile_tier_level( )シンタックス構造は、OlsInScopeの各CVSについて、CVSを復号することが可能なデコーダのための示されたプロファイル、ティア、およびレベルの少なくとも1つのセットがあるように、DCI NALユニットに含まれ得る。
num_sub_profilesは、general_sub_profile_idc[i]シンタックス要素の数を指定する。
general_sub_profile_idc[i]は、Rec.ITU-T T.35で規定されるように登録された第iの相互運用性メタデータを示し、そのコンテンツは本仕様書では規定されない。
1に等しいsublayer_level_present_flag[i]は、TemporalIdがiに等しいサブレイヤ表現のprofile_tier_level( )シンタックス構造にレベル情報が存在することを指定する。0に等しいsublayer_level_present_flag[i]は、TemporalIdがiに等しいサブレイヤ表現のprofile_tier_level( )シンタックス構造にレベル情報が存在しないことを指定する。
ptl_alignment_zero_bitsは0に等しいものとする。
シンタックス要素sublayer_level_idc[i]のセマンティクスは、存在しない値の推測の仕様は別として、シンタックス要素general_level_idcと同じであるが、TemporalIdがiに等しいサブレイヤ表現に適用される。
存在しないとき、sublayer_level_idc[i]の値は以下のように推測される:
- sublayer_level_idc[maxNumSubLayersMinus1]は、同じprofile_tier_level( )構造のgeneral_level_idcに等しいと推測される。
- 両端値を含めて(iの値の降順で)maxNumSubLayersMinus1-1から0のiについて、sublayer_level_idc[i]は、sublayer_level_idc[i+1]に等しいと推測される。
3.2.一般制約情報のシンタックスおよびセマンティクス
最新のVVCドラフトテキストでは、一般制約情報のシンタックスおよびセマンティクスは以下の通りである:
Figure 2023515185000003
Figure 2023515185000004
general_progressive_source_flagおよびgeneral_interlaced_source_flagは、以下のように解釈される:
- general_progressive_source_flagが1に等しく、general_interlaced_source_flagが0に等しい場合、OlsInScopeにおけるピクチャのソーススキャンタイプは、プログレッシブのみと解釈されるべきである。
- そうではなく、general_progressive_source_flagが0に等しく、general_interlaced_source_flagが1に等しい場合、OlsInScopeにおけるピクチャのソーススキャンタイプは、インターレースのみと解釈されるべきである。
- そうではなく、general_progressive_source_flagが0に等しく、general_interlaced_source_flagが0に等しい場合、OlsInScopeにおけるピクチャのソーススキャンタイプは、未知または未指定と解釈されるべきである。
- そうでない場合(general_progressive_source_flagが1に等しく、general_interlaced_source_flagが1に等しい場合)、OlsInScope内の各ピクチャのソーススキャンタイプは、フレーム-フィールド情報SEIメッセージ内のシンタックス要素source_scan_typeを使用してピクチャレベルで示される。general_progressive_source_flagが1に等しく、general_interlaced_source_flagが1に等しいとき、フレーム-フィールド情報SEIメッセージが各AUに存在すべきであることが、ビットストリーム適合性の要件である。
注1-デコーダは、general_progressive_source_flagおよびgeneral_interlaced_source_flagの値を無視し得る。さらに、ピクチャの実際のソーススキャンタイプは本仕様書の範囲外であり、エンコーダがgeneral_progressive_source_flagおよびgeneral_interlaced_source_flagの値を選択する方法は未指定である。
1に等しいgeneral_non_packed_constraint_flagは、OlsInScopeのビットストリームにフレームパッキング配置SEIメッセージが存在してはならないことを指定する。0に等しいgeneral_non_packed_constraint_flagは、そのような制約を課さない。
注2-デコーダは、フレームパッキング配置SEIメッセージの存在または解釈に関連付けられた復号プロセス要件がないので、general_non_packed_constraint_flagの値を無視し得る。
1に等しいgeneral_frame_only_constraint_flagは、OlsInScopeが、フレームを表すピクチャを搬送することを指定する。0に等しいgeneral_frame_only_constraint_flagは、OlsInScopeが、フレームを表すか否かにかかわらずピクチャを搬送することを指定する。
注3-デコーダは、general_frame_only_constraint_flagの値に関連付けられた復号プロセス要件がないので、general_frame_only_constraint_flagの値を無視し得る。
1に等しいgeneral_non_projected_constraint_flagは、OlsInScopeのビットストリームに正距円筒図法投影SEIメッセージも一般化キューブマップ投影SEIメッセージも存在してはならないことを指定する。0に等しいgeneral_non_projected_constraint_flagは、そのような制約を課さない。
注4-デコーダは、正距円筒図法投影SEIメッセージおよび一般化キューブマップ投影SEIメッセージの存在または解釈に関連付けられた復号プロセス要件がないので、general_non_projected_constraint_flagの値を無視し得る。
1に等しいintra_only_constraint_flagは、slice_typeがIに等しくなければならないことを指定する。0に等しいintra_only_constraint_flagは、そのような制約を課さない。
max_bitdepth_constraint_idcは、bit_depth_minus8が両端値を含めて0からmax_bitdepth_constraint_idcの範囲内になければならないことを指定する。
max_chroma_format_constraint_idcは、chroma_format_idcが、両端値を含めて0からmax_chroma_format_constraint_idcの範囲内にあることを指定する。
1に等しいno_res_change_in_clvs_constraint_flagは、res_change_in_clvs_allowed_flagが0に等しくなければならないことを指定する。0に等しいno_res_change_in_clvs_constraint_flagは、そのような制約を課さない。
1に等しいone_tile_per_pic_constraint_flagは、各ピクチャが1つのタイルのみを含むことを指定する。0に等しいone_tile_per_pic_constraint_flagは、そのような制約を課さない。
1に等しいone_slice_per_pic_constraint_flagは、各ピクチャが1つのスライスのみを含むことを指定する。0に等しいone_slice_per_pic_constraint_flagは、そのような制約を課さない。
1に等しいone_subpic_per_pic_constraint_flagは、各ピクチャが1つのサブピクチャのみを含むことを指定する。0に等しいone_subpic_per_pic_constraint_flagは、そのような制約を課さない。one_slice_per_pic_constraint_flagが1に等しいとき、one_subpic_per_pic_constraint_flagの値は1に等しいものとする。
1に等しいno_qtbtt_dual_tree_intra_constraint_flagは、qtbtt_dual_tree_intra_flagが0に等しくなければならないことを指定する。0に等しいno_qtbtt_dual_tree_intra_constraint_flagは、そのような制約を課さない。
1に等しいno_partition_constraints_override_constraint_flagは、partition_constraints_override_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_partition_constraints_override_constraint_flagは、そのような制約を課さない。
1に等しいno_sao_constraint_flagは、sps_sao_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_sao_constraint_flagは、そのような制約を課さない。
1に等しいno_alf_constraint_flagは、sps_alf_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_alf_constraint_flagは、そのような制約を課さない。
1に等しいno_ccalf_constraint_flagは、sps_ccalf_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_ccalf_constraint_flagは、そのような制約を課さない。
1に等しいno_joint_cbcr_constraint_flagは、sps_joint_cbcr_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_joint_cbcr_constraint_flagは、そのような制約を課さない。
1に等しいno_ref_wraparound_constraint_flagは、sps_ref_wraparound_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_ref_wraparound_constraint_flagは、そのような制約を課さない。
1に等しいno_temporal_mvp_constraint_flagは、sps_temporal_mvp_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_temporal_mvp_constraint_flagは、そのような制約を課さない。
1に等しいno_sbtmvp_constraint_flagは、sps_sbtmvp_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_sbtmvp_constraint_flagは、そのような制約を課さない。
1に等しいno_amvr_constraint_flagは、sps_amvr_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_amvr_constraint_flagは、そのような制約を課さない。
1に等しいno_bdof_constraint_flagは、sps_bdof_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_bdof_constraint_flagは、そのような制約を課さない。
1に等しいno_dmvr_constraint_flagは、sps_dmvr_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_dmvr_constraint_flagは、そのような制約を課さない。
1に等しいno_cclm_constraint_flagは、sps_cclm_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_cclm_constraint_flagは、そのような制約を課さない。
1に等しいno_mts_constraint_flagは、sps_mts_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_mts_constraint_flagは、そのような制約を課さない。
1に等しいno_sbt_constraint_flagは、sps_sbt_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_sbt_constraint_flagは、そのような制約を課さない。
1に等しいno_affine_motion_constraint_flagは、sps_affine_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_affine_motion_constraint_flagは、そのような制約を課さない。
1に等しいno_bcw_constraint_flagは、sps_bcw_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_bcw_constraint_flagは、そのような制約を課さない。
1に等しいno_ibc_constraint_flagは、sps_ibc_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_ibc_constraint_flagは、そのような制約を課さない。
1に等しいno_ciip_constraint_flagは、sps_ciip_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_cipp_constraint_flagは、そのような制約を課さない。
1に等しいno_fpel_mmvd_constraint_flagは、sps_fpel_mmvd_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_fpel_mmvd_constraint_flagは、そのような制約を課さない。
1に等しいno_gpm_constraint_flagは、sps_gpm_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_gpm_constraint_flagは、そのような制約を課さない。
1に等しいno_ladf_constraint_flagは、sps_ladf_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_ladf_constraint_flagは、そのような制約を課さない。
1に等しいno_transform_skip_constraint_flagは、sps_transfrom_skip_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_transform_skip_constraint_flagは、そのような制約を課さない。
1に等しいno_bdpcm_constraint_flagは、sps_bdpcm_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_bdpcm_constraint_flagは、そのような制約を課さない。
1に等しいno_qp_delta_constraint_flagは、cu_qp_delta_enabled_flagが0に等しくなければならないことがビットストリーム適合性の要件であることを指定する。0に等しいno_qp_delta_constraint_flagは、そのような制約を課さない。
1に等しいno_dep_quant_constraint_flagは、sps_dep_quant_enabled_flagが0に等しくなければならないことがビットストリーム適合性の要件であることを指定する。0に等しいno_dep_quant_constraint_flagは、そのような制約を課さない。
1に等しいno_sign_data_hiding_constraint_flagは、sps_sign_data_hiding_enabled_flagが0等しくなければならないことがビットストリーム適合性の要件であることを指定する。0に等しいno_sign_data_hiding_constraint_flagは、そのような制約を課さない。
1に等しいno_mixed_nalu_types_in_pic_constraint_flagは、mixed_nalu_types_in_pic_flagが0に等しくなければならないことがビットストリーム適合性の要件であることを指定する。0に等しいno_mixed_nalu_types_in_pic_constraint_flagは、そのような制約を課さない。
1に等しいno_trail_constraint_flagは、nuh_unit_typeがTRAIL_NUTに等しいNALユニットがOlsInScopeに存在してはならないことを指定する。0に等しいno_trail_constraint_flagは、そのような制約を課さない。
1に等しいno_stsa_constraint_flagは、nuh_unit_typeがSTSA_NUTに等しいNALユニットがOlsInScopeに存在してはならないことを指定する。0に等しいno_stsa_constraint_flagは、そのような制約を課さない。
1に等しいno_rasl_constraint_flagは、nuh_unit_typeがRASL_NUTに等しいNALユニットがOlsInScopeに存在してはならないことを指定する。0に等しいno_rasl_constraint_flagは、そのような制約を課さない。
1に等しいno_radl_constraint_flagは、nuh_unit_typeがRADL_NUTに等しいNALユニットがOlsInScopeに存在してはならないことを指定する。0に等しいno_radl_constraint_flagは、そのような制約を課さない。
1に等しいno_idr_constraint_flagは、nuh_unit_typeがIDR_W_RADLまたはIDR_N_LPに等しいNALユニットがOlsInScopeに存在してはならないことを指定する。0に等しいno_idr_constraint_flagは、そのような制約を課さない。
1に等しいno_cra_constraint_flagは、nuh_unit_typeがCRA_NUTに等しいNALユニットがOlsInScopeに存在してはならないことを指定する。0に等しいno_cra_constraint_flagは、そのような制約を課さない。
1に等しいno_gdr_constraint_flagは、nuh_unit_typeがGDR_NUTに等しいNALユニットがOlsInScopeに存在してはならないことを指定する。0に等しいno_gdr_constraint_flagは、そのような制約を課さない。
1に等しいno_aps_constraint_flagは、nuh_unit_typeがPREFIX_APS_NUTまたはSUFFIX_APS_NUTに等しいNALユニットがOlsInScopeに存在してはならないことを指定する。0に等しいno_aps_constraint_flagは、そのような制約を課さない。
gci_alignment_zero_bitsは0に等しいものとする。
num_reserved_constraint_bytesは、確保された制約バイトの数を指定する。num_reserved_constraint_bytesの値は0であるとする。num_reserved_constraint_bytesの他の値は、ITU-T|ISO/IECによる将来の使用のために確保されており、本仕様書のこのバージョンに準拠するビットストリームには存在しないものとする。
gci_reserved_constraint_byte[i]は任意の値を有し得る。その存在および値は、本仕様書のこのバージョンで規定されているプロファイルへのデコーダの適合性に影響を及ぼさない。本仕様書のこのバージョンに準拠するデコーダは、すべてのgci_reserved_constraint_byte[i]シンタックス要素の値を無視するものとする。
3.3.DCIのシンタックスおよびセマンティクス
最新のVVCドラフトテキストでは、DCIのシンタックスおよびセマンティクスは以下の通りである:
Figure 2023515185000005
DCI RBSPは、ビットストリームに存在すること、ビットストリームの少なくとも第1のAUに含まれること、または外部手段を通して提供されることのいずれかを通して、デコーダに利用可能にされ得る。
注1-DCI RBSPに含まれる情報は、本仕様書の第2節~第9節で規定されている復号プロセスの動作には必要ない。
存在する場合、ビットストリーム中のすべてのDCI NALユニットは同じコンテンツを有するものとする。
dci_max_sublayers_minus1+1は、ビットストリームの各CVS中のレイヤに存在し得る時間サブレイヤの最大数を指定する。dci_max_sublayers_minus1の値は、両端値を含めて0から6の範囲内にあるものとする。
dci_reserved_zero_bitは、本仕様書のこのバージョンに準拠するビットストリームにおいて0に等しいものとする。dci_reserved_zero_bitの値1は、ITU-T|ISO/IECによる将来の使用のために確保されている。
dci_num_ptls_minus1+1は、DCI NALユニット中のprofile_tier_level( )シンタックス構造の数を指定する。
ビットストリームにおけるCVS中の各OLSが、DCI NALユニット中のprofile_tier_level( )シンタックス構造のうちの少なくとも1つに準拠しなければならないことが、ビットストリーム適合性の要件である。
注2-DCI NALユニットは、場合によっては複数のprofile_tier_level( )シンタックス構造で搬送される、複数のOLSに集合的に適用されるPTL情報を含み得、OLSの各々のためのPTL情報を個々に含む必要はない。
0に等しいdci_extension_flagは、dci_extension_data_flagシンタックス要素がDCI RBSPシンタックス構造に存在しないことを指定する。1に等しいdci_extension_flagは、dci_extension_data_flagシンタックス要素がDCI RBSPシンタックス構造に存在することを指定する。
dci_extension_data_flagは任意の値を有し得る。その存在および値は、Annex Aで指定されたプロファイルへのデコーダの適合性に影響を及ぼさない。本仕様書のこのバージョンに準拠するデコーダは、すべてのdci_extension_data_flagシンタックス要素を無視するものとする。
3.4.VPSのシンタックスおよびセマンティクス
最新のVVCドラフトテキストでは、VPSのシンタックスおよびセマンティクスは以下の通りである:
Figure 2023515185000006
Figure 2023515185000007
Figure 2023515185000008
Figure 2023515185000009
VPS RBSPは、それが参照される前に復号プロセスに利用可能であるか、TemporalIdが0に等しい少なくとも1つのAUに含まれるか、または外部手段を通して提供されるものとする。
CVS中のvps_video_parameter_set_idの特定の値を有するすべてのVPS NALユニットは、同じコンテンツを有するものとする。
vps_video_parameter_set_idは、他のシンタックス要素による参照のためにVPSの識別子を提供する。vps_video_parameter_set_idの値は、0より大きいものとする。
vps_max_layers_minus1+1は、VPSを参照する各CVSにおけるレイヤの最大許容数を指定する。
vps_max_sublayers_minus1+1は、VPSを参照する各CVS中のレイヤに存在し得る時間サブレイヤの最大数を指定する。vps_max_sublayers_minus1の値は、両端値を含めて0から6の範囲内にあるものとする。
1に等しいvps_all_layers_same_num_sublayers_flagは、時間サブレイヤの数が、VPSを参照する各CVS中のすべてのレイヤについて同じであることを指定する。0に等しいvps_all_layers_same_num_sublayers_flagは、VPSを参照する各CVS中のレイヤが、同じ数の時間サブレイヤを有するとは限らないことを指定する。存在しないとき、vps_all_layers_same_num_sublayers_flagの値は1に等しいと推測される。
1に等しいvps_all_independent_layers_flagは、CVS中のすべてのレイヤが、レイヤ間予測を使用せずに独立してコーディングされることを指定する。0に等しいvps_all_independent_layers_flagは、CVS中のレイヤのうちの1つまたは複数がレイヤ間予測を使用し得ることを指定する。存在しないとき、vps_all_independent_layers_flagの値は1に等しいと推測される。
vps_layer_id[i]は、第iのレイヤのnuh_layer_id値を指定する。mおよびnという任意の2つの非負整数値について、mがn未満であるとき、vps_layer_id[m]の値は、vps_layer_id[n]未満であるものとする。
1に等しいvps_independent_layer_flag[i]は、インデックスiを有するレイヤがレイヤ間予測を使用しないことを指定する。0に等しいvps_independent_layer_flag[i]は、インデックスiを有するレイヤがレイヤ間予測を使用し得、両端値を含めて0からi-1の範囲内のjについてのシンタックス要素vps_direct_ref_layer_flag[i][j]がVPSに存在することを指定する。存在しないとき、vps_independent_layer_flag[i]の値は1に等しいと推測される。
0に等しいvps_direct_ref_layer_flag[i][j]は、インデックスjを有するレイヤが、インデックスiを有するレイヤのための直接参照レイヤではないことを指定する。1に等しいvps_direct_ref_layer_flag[i][j]は、インデックスjを有するレイヤが、インデックスiを有するレイヤのための直接参照レイヤであることを指定する。vps_direct_ref_layer_flag[i][j]が、両端値を含めて0からvps_max_layers_minus1の範囲内のiおよびjについて存在しないとき、0に等しいと推測される。vps_independent_layer_flag[i]が0に等しいとき、vps_direct_ref_layer_flag[i][j]の値が1に等しくなるように、両端値を含めて0からi-1の範囲内にjの少なくとも1つの値が存在するものとする。
変数NumDirectRefLayers[i]、DirectRefLayerIdx[i][d]、NumRefLayers[i]、RefLayerIdx[i][r]、およびLayerUsedAsRefLayerFlag[j]は、以下のように導出される:
Figure 2023515185000010
nuh_layer_idがvps_layer_id[i]に等しいレイヤのレイヤインデックスを指定する変数GeneralLayerIdx[i]は、以下のように導出される:
Figure 2023515185000011
両端値を含めて0からvps_max_layers_minus1の範囲内のiおよびjの任意の2つの異なる値について、dependencyFlag[i][j]が1に等しいとき、第iのレイヤに適用されるchroma_format_idcおよびbit_depth_minus8の値が、第jのレイヤに適用されるchroma_format_idcおよびbit_depth_minus8の値にそれぞれ等しくなければならないことが、ビットストリーム適合性の要件である。
1に等しいmax_tid_ref_present_flag[i]は、シンタックス要素max_tid_il_ref_pics_plus1[i]が存在することを指定する。0に等しいmax_tid_ref_present_flag[i]は、シンタックス要素max_tid_il_ref_pics_plus1[i]が存在しないことを指定する。
0に等しいmax_tid_il_ref_pics_plus1[i]は、レイヤ間予測が第iのレイヤの非IRAPピクチャによって使用されないことを指定する。0より大きいmax_tid_il_ref_pics_plus1[i]は、第iのレイヤのピクチャを復号するために、TemporalIdがmax_tid_il_ref_pics_plus1[i]-1より大きいピクチャがILRPとして使用されないことを指定する。存在しないとき、max_tid_il_ref_pics_plus1[i]の値は7に等しいと推測される。
1に等しいeach_layer_is_an_ols_flagは、各OLSが1つのレイヤのみを含み、VPSを参照するCVS内の各レイヤ自体がOLSであり、単一の含まれるレイヤが唯一の出力レイヤであることを指定する。0に等しいeach_layer_is_an_ols_flagは、OLSが2つ以上のレイヤを含み得ることを示す。vps_max_layers_minus1が0に等しい場合、each_layer_is_an_ols_flagの値は1に等しいと推測される。そうでない場合、vps_all_independent_layers_flagが0に等しいとき、each_layer_is_an_ols_flagの値は0に等しいと推測される。
0に等しいols_mode_idcは、VPSによって指定されるOLSの総数がvps_max_layers_minus1+1に等しく、第iのOLSが、両端値を含めて0からiのレイヤインデックスを有するレイヤを含み、各OLSについて、OLS内の最上位レイヤのみが出力されることを指定する。
1に等しいols_mode_idcは、VPSによって指定されるOLSの総数がvps_max_layers_minus1+1に等しく、第iのOLSが、両端値を含めて0からiのレイヤインデックスを有するレイヤを含み、各OLSについて、OLS内のすべてのレイヤが出力されることを指定する。
2に等しいols_mode_idcは、VPSによって指定されるOLSの総数が明示的にシグナリングされ、各OLSについて、出力レイヤが明示的にシグナリングされ、他のレイヤが、OLSの出力レイヤの直接または間接参照レイヤであるレイヤであることを指定する。
ols_mode_idcの値は、両端値を含めて0から2の範囲内にあるものとする。ols_mode_idcの値3は、ITU-T|ISO/IECによる将来の使用のために確保されている。
vps_all_independent_layers_flagが1に等しく、each_layer_is_an_ols_flagが0に等しいとき、ols_mode_idcの値は2に等しいと推測される。
num_output_layer_sets_minus1+1は、ols_mode_idcが2に等しいときにVPSによって指定されるOLSの総数を指定する。
VPSによって指定されるOLSの総数を指定する変数TotalNumOlssは、以下のように導出される:
Figure 2023515185000012
1に等しいols_output_layer_flag[i][j]は、ols_mode_idcが2に等しいとき、nuh_layer_idがvps_layer_id[j]に等しいレイヤが第iのOLSの出力レイヤであることを指定する。0に等しいols_output_layer_flag[i][j]は、ols_mode_idcが2に等しいとき、nuh_layer_idがvps_layer_id[j]に等しいレイヤが第iのOLSの出力レイヤではないことを指定する。
第iのOLSにおける出力レイヤの数を指定する変数NumOutputLayersInOls[i]、第iのOLSにおける第jのレイヤ中のサブレイヤの数を指定する変数NumSubLayersInLayerInOLS[i][j]、第iのOLSにおける第jの出力レイヤのnuh_layer_id値を指定する変数OutputLayerIdInOls[i][j]、および第kのレイヤが少なくとも1つのOLSにおいて出力レイヤとして使用されるかどうかを指定する変数LayerUsedAsOutputLayerFlag[k]は、以下のように導出される:
Figure 2023515185000013
Figure 2023515185000014
両端値を含めて0からvps_max_layers_minus1の範囲内のiの各値について、LayerUsedAsRefLayerFlag[i]およびLayerUsedAsOutputLayerFlag[i]の値は両方とも0に等しくないものとする。言い換えれば、少なくとも1つのOLSの出力レイヤでも、任意の他のレイヤの直接参照レイヤでもないレイヤは存在しないものとする。
各OLSについて、出力レイヤである少なくとも1つのレイヤが存在するものとする。言い換えれば、両端値を含めて0からTotalNumOlss-1の範囲内のiの任意の値について、NumOutputLayersInOls[i]の値は、1以上であるものとする。
第iのOLSにおけるレイヤの数を指定する変数NumLayersInOls[i]、および第iのOLSにおける第jのレイヤのnuh_layer_id値を指定する変数LayerIdInOls[i][j]は、以下のように導出される:
Figure 2023515185000015
注1-第0のOLSは、最下位レイヤ(すなわち、nuh_layer_idがvps_layer_id[0]に等しいるレイヤ)のみを含み、第0のOLSについては、含まれるレイヤのみが出力される。
nuh_layer_idがLayerIdInOls[i][j]に等しいレイヤのOLSレイヤインデックスを指定する変数OlsLayerIdx[i][j]は、以下のように導出される:
Figure 2023515185000016
各OLS内の最下位レイヤは独立したレイヤであるものとする。言い換えれば、両端値を含めて0からTotalNumOlss-1の範囲内の各iについて、vps_independent_layer_flag[GeneralLayerIdx[LayerIdInOls[i][0]]]の値は、1に等しいものとする。
各レイヤは、VPSによって特定される少なくとも1つのOLSに含まれるものとする。言い換えれば、nuh_layer_idの特定の値nuhLayerIdが、両端値を含めて0からvps_max_layers_minus1の範囲内のkのvps_layer_id[k]のうちの1つに等しい各レイヤについて、iおよびjの値の少なくとも1つのペアが存在するものとし、ここで、iは、両端値を含めて0からTotalNumOlss-1の範囲内にあり、jは、両端値を含めてNumLayersInOls[i]-1の範囲内にあり、その結果、LayerIdInOls[i][j]の値はnuhLayerIdに等しくなる。
vps_num_ptls_minus1+1は、VPS中のprofile_tier_level( )シンタックス構造の数を指定する。vps_num_ptls_minus1の値はTotalNumOlss未満であるものとする。
1に等しいpt_present_flag[i]は、プロファイル、ティア、および一般制約情報が、VPS中の第iのprofile_tier_level( )シンタックス構造に存在することを指定する。0に等しいpt_present_flag[i]は、プロファイル、ティア、および一般制約情報が、VPS中の第iのprofile_tier_level( )シンタックス構造に存在しないことを指定する。pt_present_flag[0]の値は、1に等しいと推測される。pt_present_flag[i]が0に等しいとき、VPS中の第iのprofile_tier_level( )シンタックス構造についてのプロファイル、ティア、および一般制約情報は、VPS中の第(i-1)のprofile_tier_level( )シンタックス構造についてのものと同じであると推測される。
ptl_max_temporal_id[i]は、レベル情報がVPS中の第iのprofile_tier_level( )シンタックス構造に存在する最高位のサブレイヤ表現のTemporalIdを指定する。ptl_max_temporal_id[i]の値は、両端値を含めて0からvps_max_sublayers_minus1の範囲内にあるものとする。vps_max_sublayers_minus1が0に等しいとき、ptl_max_temporal_id[i]の値は0に等しいと推測される。vps_max_sublayers_minus1が0より大きく、vps_all_layers_same_num_sublayers_flagが1に等しいとき、ptl_max_temporal_id[i]の値はvps_max_sublayers_minus1に等しいと推測される。
vps_ptl_alignment_zero_bitは、0に等しいものとする。
ols_ptl_idx[i]は、第iのOLSに適用されるprofile_tier_level( )シンタックス構造の、VPS中のprofile_tier_level( )シンタックス構造のリストへのインデックスを指定する。存在するとき、ols_ptl_idx[i]の値は、両端値を含めて0からvps_num_ptls_minus1の範囲内にあるものとする。vps_num_ptls_minus1が0に等しいとき、ols_ptl_idx[i]の値は0に等しいと推測される。
NumLayersInOls[i]が1に等しいとき、第iのOLSに適用されるprofile_tier_level( )シンタックス構造はまた、第iのOLS中のレイヤによって参照されるSPS中に存在する。NumLayersInOls[i]が1に等しいとき、第iのOLSについてVPS中およびSPS中でシグナリングされるprofile_tier_level( )シンタックス構造が同一であるべきであることが、ビットストリーム適合性の要件である。
vps_num_dpb_paramsは、VPS内のdpb_parameters( )シンタックス構造の数を指定する。vps_num_dpb_paramsの値は、両端値を含めて0から16の範囲内にあるものとする。存在しないとき、vps_num_dpb_paramsの値は0に等しいと推測される。
vps_sublayer_dpb_params_present_flagは、VPS内のdpb_parameters( )シンタックス構造中のmax_dec_pic_buffering_minus1[ ]、max_num_reorder_pics[ ]、およびmax_latency_increase_plus1[ ]シンタックス要素の存在を制御するために使用される。存在しないとき、vps_sub_dpb_params_info_present_flagは0に等しいと推測される。
dpb_max_temporal_id[i]は、VPS中の第iのdpb_parameters( )シンタックス構造にDPBパラメータが存在し得る最高位のサブレイヤ表現のTemporalIdを指定する。dpb_max_temporal_id[i]の値は、両端値を含めて0からvps_max_sublayers_minus1の範囲内にあるものとする。vps_max_sublayers_minus1が0に等しいとき、dpb_max_temporal_id[i]の値は0に等しいと推測される。vps_max_sublayers_minus1が0より大きく、vps_all_layers_same_num_sublayers_flagが1に等しいとき、dpb_max_temporal_id[i]の値はvps_max_sublayers_minus1に等しいと推測される。
ols_dpb_pic_width[i]は、第iのOLSのための各ピクチャ記憶バッファの幅をルーマサンプルの単位で指定する。
ols_dpb_pic_height[i]は、第iのOLSのための各ピクチャ記憶バッファの高さをルーマサンプルの単位で指定する。
ols_dpb_params_idx[i]は、NumLayersInOls[i]が1よりも大きいときに第iのOLSに適用されるdpb_parameters( )シンタックス構造の、VPS中のdpb_parameters( )シンタックス構造のリストへのインデックスを指定する。存在するとき、ols_dpb_params_idx[i]の値は、両端値を含めて0からvps_num_dpb_params-1の範囲内にあるものとする。ols_dpb_params_idx[i]が存在しないとき、ols_dpb_params_idx[i]の値は0に等しいと推測される。
NumLayersInOls[i]が1に等しいとき、第iのOLSに適用されるdpb_parameters( )シンタックス構造は、第iのOLS中のレイヤによって参照されるSPSに存在する。
1に等しいvps_general_hrd_params_present_flagは、シンタックス構造general_hrd_parameters( )および他のHRDパラメータがVPS RBSPシンタックス構造に存在することを指定する。0に等しいvps_general_hrd_params_present_flagは、シンタックス構造general_hrd_parameters( )および他のHRDパラメータがVPS RBSPシンタックス構造に存在しないことを指定する。存在しないとき、vps_general_hrd_params_present_flagの値は0に等しいと推測される。
NumLayersInOls[i]が1に等しいとき、第iのOLSに適用されるgeneral_hrd_parameters( )シンタックス構造は、第iのOLS中のレイヤによって参照されるSPSに存在する。
1に等しいvps_sublayer_cpb_params_present_flagは、VPS中の第iのols_hrd_parameters( )シンタックス構造が、両端値を含めて0からhrd_max_tid[i]の範囲内のTemporalIdを有するサブレイヤ表現のためのHRDパラメータを含むことを指定する。0に等しいvps_sublayer_cpb_params_present_flagは、VPS中の第iのols_hrd_parameters( )シンタックス構造が、TemporalIdがhrd_max_tid[i]のみに等しいサブレイヤ表現のためのHRDパラメータを含むことを指定する。vps_max_sublayers_minus1が0に等しいとき、vps_sublayer_cpb_params_present_flagの値は0に等しいと推測される。
vps_sublayer_cpb_params_present_flagが0に等しいとき、両端値を含めて0からhrd_max_tid[i]-1の範囲内のTemporalIdを有するサブレイヤ表現のためのHRDパラメータは、TemporalIdがhrd_max_tid[i]に等しいサブレイヤ表現のためのHRDパラメータと同じであると推測される。これらは、ols_hrd_parametersシンタックス構造において、fixed_pic_rate_general_flag[i]シンタックス要素から始まり、条件「if(general_vcl_hrd_params_present_flag)」のすぐ下のsublayer_hrd_parameters(i)シンタックス構造までのHRDパラメータを含む。
num_ols_hrd_params_minus1+1は、vps_general_hrd_params_present_flagが1に等しいときにgeneral_hrd_parameters( )シンタックス構造に存在するols_hrd_parameters( )シンタックス構造の数を指定する。num_ols_hrd_params_minus1の値は、両端値を含めて0からTotalNumOlss-1の範囲内にあるものとする。
hrd_max_tid[i]は、HRDパラメータが第iのols_hrd_parameters( )シンタックス構造に含まれる最高位のサブレイヤ表現のTemporalIdを指定する。hrd_max_tid[i]の値は、両端値を含めて0からvps_max_sublayers_minus1の範囲内にあるものとする。vps_max_sublayers_minus1が0に等しいとき、hrd_max_tid[i]の値は0に等しいと推測される。vps_max_sublayers_minus1が0よりも大きく、vps_all_layers_same_num_sublayers_flagが1に等しいとき、hrd_max_tid[i]の値はvps_max_sublayers_minus1に等しいと推測される。
ols_hrd_idx[i]は、NumLayersInOls[i]が1よりも大きいときに第iのOLSに適用されるols_hrd_parameters( )シンタックス構造の、VPS中のols_hrd_parameters( )シンタックス構造のリストへのインデックスを指定する。ols_hrd_idx[[i]の値は、両端値を含めて0からnum_ols_hrd_params_minus1の範囲内にあるものとする。
NumLayersInOls[i]が1に等しいとき、第iのOLSに適用されるols_hrd_parameters( )シンタックス構造は、第iのOLS中のレイヤによって参照されるSPSに存在する。
num_ols_hrd_param_minus1+1の値がTotalNumOlssに等しい場合、ols_hrd_idx[i]の値はiに等しいと推測される。そうではなく、NumLayersInOls[i]が1よりも大きく、num_ols_hrd_params_minus1が0に等しいとき、ols_hrd_idx[[i]の値は0に等しいと推測される。
0に等しいvps_extension_flagは、vps_extension_data_flagシンタックス要素がVPS RBSPシンタックス構造に存在しないことを指定する。1に等しいvps_extension_flagは、vps_extension_data_flagシンタックス要素がVPS RBSPシンタックス構造に存在することを指定する。
vps_extension_data_flagは任意の値を有し得る。その存在および値は、本仕様書のこのバージョンで規定されているプロファイルへのデコーダの適合性に影響を及ぼさない。本仕様書のこのバージョンに準拠するデコーダは、すべてのvps_extension_data_flagシンタックス要素を無視するものとする。
3.5.SPSのシンタックスおよびセマンティクス
最新のVVCドラフトテキストでは、SPSのシンタックスおよびセマンティクスは以下の通りである:
Figure 2023515185000017
Figure 2023515185000018
Figure 2023515185000019
Figure 2023515185000020
Figure 2023515185000021
Figure 2023515185000022
Figure 2023515185000023
Figure 2023515185000024
SPS RBSPは、それが参照される前に復号プロセスに利用可能であるか、TemporalIdが0に等しい少なくとも1つのAUに含まれるか、または外部手段を通して提供されるものとする。
CVS中のsps_seq_parameter_set_idの特定の値を有するすべてのSPS NALユニットは、同じコンテンツを有するものとする。
sps_seq_parameter_set_idは、他のシンタックス要素による参照のためにSPSの識別子を提供する。
SPS NALユニットは、nuh_layer_id値にかかわらず、sps_seq_parameter_set_idの同じ値空間を共有する。
spsLayerIdを特定のSPS NALユニットのnuh_layer_idの値とし、vclLayerIdを特定のVCL NALユニットのnuh_layer_idの値とする。特定のVCL NALユニットは、spsLayerIdがvclLayerId以下であり、nuh_layer_idがspsLayerIdに等しいレイヤが、nuh_layer_idがvclLayerIdに等しいレイヤを含む少なくとも1つのOLSに含まれない限り、特定のSPS NALユニットを参照しないものとする。
sps_video_parameter_set_idは、0より大きいとき、SPSによって参照されるVPSのvps_video_parameter_set_idの値を指定する。
sps_video_parameter_set_idが0に等しいとき、以下が適用される:
- SPSはVPSを参照しない。
- SPSを参照する各CLVSを復号するとき、VPSは参照されない。
- vps_max_layers_minus1の値は0に等しいと推測される。
- CVSは、1つのレイヤのみを含むものとする(すなわち、CVS中のすべてのVCL NALユニットは、同じ値のnuh_layer_idを有するものとする)。
- GeneralLayerIdx[nuh_layer_id]の値は0に等しいと推測される。
- vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]の値は1に等しいと推測される。
vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]が1に等しいとき、特定のnuh_layer_id値nuhLayerIdを有するCLVSによって参照されるSPSは、nuhLayerIdに等しいnuh_layer_idを有するものとする。
sps_video_parameter_set_idの値は、CVS中のCLVSによって参照されるすべてのSPSにおいて同じであるものとする。
sps_max_sublayers_minus1+1は、SPSを参照する各CLVSに存在し得る時間サブレイヤの最大数を指定する。sps_max_sublayers_minus1の値は、両端値を含めて0からvps_max_sublayers_minus1の範囲内にあるものとする。
sps_reserved_zero_4bitsは、本仕様書のこのバージョンに準拠するビットストリームにおいて0に等しいものとする。sps_reserved_zero_4bitsの他の値は、ITU-T|ISO/IECによる将来の使用のために確保される。
1に等しいsps_ptl_dpb_hrd_params_present_flagは、profile_tier_level( )シンタックス構造およびdpb_parameters( )シンタックス構造がSPSに存在し、general_hrd_parameters( )シンタックス構造およびols_hrd_parameters( )シンタックス構造もSPSに存在し得ることを指定する。0に等しいsps_ptl_dpb_hrd_params_present_flagは、これらの4つのシンタックス構造のいずれもSPSに存在しないことを指定する。sps_ptl_dpb_hrd_params_present_flagの値は、vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]に等しいものとする。
1に等しいgdr_enabled_flagは、GDRピクチャが、SPSを参照するCLVSに存在し得ることを指定する。0に等しいgdr_enabled_flagは、GDRピクチャが、SPSを参照するCLVSに存在しないことを指定する。
chroma_format_idcは、第6.2節で規定されているように、ルーマサンプリングに対するクロマサンプリングを指定する。
1に等しいseparate_colour_plane_flagは、4:4:4クロマフォーマットの3つの色成分が別々にコーディングされることを指定する。0に等しいseparate_colour_plane_flagは、色成分が別々にコーディングされないことを指定する。separate_colour_plane_flagが存在しないとき、それは0に等しいと推測される。separate_colour_plane_flagが1に等しいとき、コード化ピクチャは、3つの別個の成分から構成され、その各々は、1つの色平面(Y、Cb、またはCr)のコーディングされたサンプルから構成され、モノクロコーディングシンタックスを使用する。この場合、各色平面は、特定のcolour_plane_id値に関連付けられる。
注1-異なるcolour_plane_id値を有する色平面間の復号プロセスには依存性がない。例えば、colour_plane_idの1つの値を有するモノクロピクチャの復号プロセスは、インター予測のためにcolour_plane_idの異なる値を有するモノクロピクチャからのいかなるデータも使用しない。
separate_colour_plane_flagの値に応じて、変数ChromaArrayTypeの値は以下のように割り当てられる:
- separate_colour_plane_flagが0に等しい場合、ChromaArrayTypeはchroma_format_idcに等しく設定される。
- そうでない場合(separate_colour_plane_flagが1に等しい場合)、ChromaArrayTypeは0に等しく設定される。
1に等しいres_change_in_clvs_allowed_flagは、ピクチャ空間解像度が、SPSを参照するCLVS内で変化し得ることを指定する。0に等しいres_change_in_clvs_allowed_flagは、ピクチャ空間解像度が、SPSを参照するどのCLVS内でも変化しないことを指定する。
pic_width_max_in_luma_samplesは、SPSを参照する各復号ピクチャの最大幅をルーマサンプルの単位で指定する。pic_width_max_in_luma_samplesは、0に等しくないものとし、Max(8,MinCbSizeY)の整数倍であるものとする。
SPSを参照する1つまたは複数のレイヤを含むOLSインデックスiを有する任意のOLSについて、pic_width_max_in_luma_samplesの値がols_dpb_pic_width[i]の値以下でなければならないことが、ビットストリーム適合性の要件である。
pic_height_max_in_luma_samplesは、SPSを参照する各復号ピクチャの最大高さをルーマサンプルの単位で指定する。pic_height_max_in_luma_samplesは、0に等しくないものとし、Max(8,MinCbSizeY)の整数倍であるものとする。
SPSを参照する1つまたは複数のレイヤを含むOLSインデックスiを有する任意のOLSについて、pic_height_max_in_luma_samplesの値がols_dpb_pic_height[i]の値以下でなければならないことが、ビットストリーム適合性の要件である。
1に等しいsps_conformance_window_flagは、SPSにおいて適合クロッピングウィンドウオフセットパラメータが次に続くことを示す。0に等しいsps_conformance_window_flagは、適合クロッピングウィンドウオフセットパラメータがSPSに存在しないことを示す。
sps_conf_win_left_offset、sps_conf_win_right_offset、sps_conf_win_top_offset、およびsps_conf_win_bottom_offsetは、pic_width_in_luma_samplesがpic_width_max_in_luma_samplesに等しく、pic_height_in_luma_samplesがpic_height_max_in_luma_samplesに等しいピクチャに適用されるクロッピングウィンドウを指定する。sps_conformance_window_flagが0に等しいとき、sps_conf_win_left_offset、sps_conf_win_right_offset、sps_conf_win_top_offset、およびsps_conf_win_bottom_offsetの値は0に等しいと推測される。
適合クロッピングウィンドウは、両端値を含めて、SubWidthC*sps_conf_win_left_offsetからpic_width_max_in_luma_samples-(SubWidthC*sps_conf_win_right_offset+1)までの水平ピクチャ座標と、SubHeightC*sps_conf_win_top_offsetからpic_height_max_in_luma_samples-(SubHeightC*sps_conf_win_bottom_offset+1)までの垂直ピクチャ座標とを含むルーマサンプルを含む。
SubWidthC*(sps_conf_win_left_offset+sps_conf_win_right_offset)の値はpic_width_max_in_luma_samples未満であるものとし、SubHeightC*(sps_conf_win_top_offset+sps_conf_win_bottom_offset)の値はpic_height_max_in_luma_samples未満であるものとする。
ChromaArrayTypeが0に等しくないとき、2つのクロマアレイの対応する指定されたサンプルは、ピクチャ座標(x/SubWidthC,y/SubHeightC)を有するサンプルであり、ここで、(x,y)は、指定されたルーマサンプルのピクチャ座標である。
注2-適合クロッピングウィンドウオフセットパラメータは、出力においてのみ適用される。すべての内部復号プロセスは、クロッピングされていないピクチャサイズに適用される。
sps_log2_ctu_size_minus5+5は、各CTUのルーマコーディングツリーブロックサイズを指定する。sps_log2_ctu_size_minus5の値は、両端値を含めて0から2の範囲内にあるものとする。sps_log2_ctu_size_minus5の値3は、ITU-T|ISO/IECによる将来の使用のために確保されている。
変数CtbLog2SizeYおよびCtbSizeYは、以下のように導出される:
Figure 2023515185000025
1に等しいsubpic_info_present_flagは、サブピクチャ情報がCLVSに対して存在し、CLVSの各ピクチャ中に1つまたは2つ以上のサブピクチャが存在し得ることを指定する。0に等しいsubpic_info_present_flagは、サブピクチャ情報がCLVSに対して存在せず、CLVSの各ピクチャ中に1つのサブピクチャのみが存在することを指定する。
res_change_in_clvs_allowed_flagが1に等しいとき、subpic_info_present_flagの値は0に等しいものとする。
注3-ビットストリームがサブビットストリーム抽出プロセスの結果であり、サブビットストリーム抽出プロセスへの入力ビットストリームのサブピクチャのサブセットのみを含むとき、SPSのRBSPにおいてsubpic_info_present_flagの値を1に等しく設定することが必要とされ得る。
sps_num_subpics_minus1+1は、CLVSにおける各ピクチャ中のサブピクチャの数を指定する。sps_num_subpics_minus1の値は、両端値を含めて0からCeil(pic_width_max_in_luma_samples÷CtbSizeY)*Ceil(pic_height_max_in_luma_samples÷CtbSizeY)-1の範囲内にあるものとする。存在しないとき、sps_num_subpics_minus1の値は0に等しいと推測される。
1に等しいsps_independent_subpics_flagは、イントラ予測、インター予測、およびループ内フィルタリング動作が、CLVS内の任意のサブピクチャ境界を越えて実行されないことを指定する。0に等しいsps_independent_subpics_flagは、CLVS中のサブピクチャ境界を越えたインター予測またはループ内フィルタリング動作が許可され得ることを指定する。存在しないとき、sps_independent_subpics_flagの値は0に等しいと推測される。
subpic_ctu_top_left_x[i]は、CtbSizeYの単位で第iのサブピクチャの左上CTUの水平位置を指定する。シンタックス要素の長さは、Ceil(Log2((pic_width_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY))ビットである。存在しないとき、subpic_ctu_top_left_x[i]の値は0に等しいと推測される。
subpic_ctu_top_left_y[i]は、CtbSizeYの単位で第iのサブピクチャの左上CTUの垂直位置を指定する。シンタックス要素の長さは、Ceil(Log2((pic_height_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY))ビットである。存在しないとき、subpic_ctu_top_left_y[i]の値は0に等しいと推測される。
subpic_width_minus1[i]+1は、CtbSizeYの単位で第iのサブピクチャの幅を指定する。シンタックス要素の長さは、Ceil(Log2((pic_width_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY))ビットである。存在しないとき、subpic_width_minus1[i]の値は、((pic_width_max_in_luma_samples+CtbSizeY-1)≫CtbLog2SizeY)-subpic_ctu_top_left_x[i]-1に等しいと推測される。
subpic_height_minus1[i]+1は、CtbSizeYの単位で第iのサブピクチャの高さを指定する。シンタックス要素の長さは、Ceil(Log2((pic_height_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY))ビットである。存在しないとき、subpic_height_minus1[i]の値は、((pic_height_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY)-subpic_ctu_top_left_y[i]-1に等しいと推測される。
1に等しいsubpic_treated_as_pic_flag[i]は、CLVS中の各コード化ピクチャの第iのサブピクチャが、ループ内フィルタリング動作を除く復号プロセスにおいてピクチャとして扱われることを指定する。0に等しいsubpic_treated_as_pic_flag[i]は、CLVS中の各コード化ピクチャの第iのサブピクチャが、ループ内フィルタリング動作を除く復号プロセスにおいてピクチャとして扱われないことを指定する。存在しないとき、subpic_treated_as_pic_flag[i]の値は、sps_independent_subpics_flagに等しいと推測される。
subpic_treated_as_pic_flag[i]が1に等しいとき、第iのサブピクチャを含むレイヤを出力レイヤとして含むOLS内の各出力レイヤおよびその参照レイヤについて以下の条件のすべてが真であることが、ビットストリーム適合性の要件である。
- 出力レイヤおよびその参照レイヤ中のすべてのピクチャは、pic_width_in_luma_samplesの同じ値およびpic_height_in_luma_samplesの同じ値を有するものとする。
- 出力レイヤおよびその参照レイヤによって参照されるすべてのSPSは、同じ値のsps_num_subpics_minus1を有するものとし、両端値を含めて0からsps_num_subpics_minus1の範囲内のjの各値について、それぞれ、同じ値のsubpic_ctu_top_left_x[j]、subpic_ctu_top_left_y[j]、subpic_width_minus1[j]、subpic_height_minus1[j]、およびloop_filter_across_subpic_enabled_flag[j]を有するものとする。
- 出力レイヤおよびその参照レイヤ中の各アクセスユニットにおけるすべてのピクチャは、両端値を含めて0からsps_num_subpics_minus1の範囲内のjの各値について、同じ値のSubpicIdVal[j]を有するものとする。
1に等しいloop_filter_across_subpic_enabled_flag[i]は、ループ内フィルタリング動作がCLVSにおける各コード化ピクチャ中の第iのサブピクチャの境界を越えて実行され得ることを指定する。0に等しいloop_filter_across_subpic_enabled_flag[i]は、CLVSにおける各コード化ピクチャ中の第iのサブピクチャの境界を越えてループ内フィルタリング動作が実行されないことを指定する。存在しないとき、loop_filter_across_subpic_enabled_pic_flag[i]の値は、1-sps_independent_subpics_flagに等しいと推測される。
サブピクチャの形状は、各サブピクチャが、復号されたときに、ピクチャ境界から構成される、または前に復号されたサブピクチャの境界から構成されるその左境界全体および上境界全体を有するようなものであることが、ビットストリーム適合性の要件である。
sps_subpic_id_len_minus1+1は、シンタックス要素sps_subpic_id[i]、存在するときはシンタックス要素pps_subpic_id[i]、および存在するときはシンタックス要素slice_subpic_idを表すために使用されるビット数を指定する。sps_subpic_id_len_minus1の値は、両端値を含めて0から15の範囲内にあるものとする。1<<(sps_subpic_id_len_minus1+1)の値は、sps_num_subpics_minus1+1以上であるものとする。
1に等しいsubpic_id_mapping_explicitly_signalled_flagは、サブピクチャIDマッピングが、CLVSのコード化ピクチャによって参照されるSPSまたはPPSのいずれかにおいて明示的にシグナリングされることを指定する。0に等しいsubpic_id_mapping_explicitly_signalled_flagは、サブピクチャIDマッピングがCLVSについて明示的にシグナリングされないことを指定する。存在しないとき、subpic_id_mapping_explicitly_signalled_flagの値は0に等しいと推測される。
1に等しいsubpic_id_mapping_in_sps_flagは、subpic_id_mapping_explicitly_signalled_flagが1に等しいとき、サブピクチャIDマッピングがSPS内でシグナリングされることを指定する。0に等しいsubpic_id_mapping_in_sps_flagは、subpic_id_mapping_explicitly_signalled_flagが1に等しいとき、CLVSのコード化ピクチャによって参照されるPPSにおいてサブピクチャIDマッピングがシグナリングされることを指定する。
sps_subpic_id[i]は、第iのサブピクチャのサブピクチャIDを指定する。sps_subpic_id[i]シンタックス要素の長さは、sps_subpic_id_len_minus1+1ビットである。
bit_depth_minus8は、ルーマアレイおよびクロマアレイのサンプルのビット深度BitDepthと、ルーマ量子化パラメータ範囲オフセットおよびクロマ量子化パラメータ範囲オフセットの値QpBdOffsetとを、以下のように指定する:
Figure 2023515185000026
bit_depth_minus8は、両端値を含めて0から8の範囲内にあるものとする。
1に等しいsps_entropy_coding_sync_enabled_flagは、SPSを参照する各ピクチャ中の各タイルにおけるCTBの行の最初のCTBを含むCTUを復号する前にコンテキスト変数のための特定の同期プロセスが呼び出され、SPSを参照する各ピクチャ中の各タイルにおけるCTBの行の最初のCTBを含むCTUを復号した後にコンテキスト変数のための特定の記憶プロセスが呼び出されることを指定する。0に等しいsps_entropy_coding_sync_enabled_flagは、SPSを参照する各ピクチャ中の各タイルにおけるCTBの行の最初のCTBを含むCTUを復号する前にコンテキスト変数のための特定の同期プロセスが呼び出される必要がなく、SPSを参照する各ピクチャ中の各タイルにおけるCTBの行の最初のCTBを含むCTUを復号した後にコンテキスト変数のための特定の記憶プロセスが呼び出される必要がないことを指定する。
1に等しいsps_wpp_entry_point_offsets_present_flagは、sps_entropy_coding_sync_enabled_flagが1に等しいとき、CTU行に対するエントリポイントオフセットについてのシグナリングが、SPSを参照するピクチャのスライスヘッダに存在し得ることを指定する。0に等しいsps_wpp_entry_point_offsets_present_flagは、CTU行に対するエントリポイントオフセットについてのシグナリングが、SPSを参照するピクチャのスライスヘッダに存在しないことを指定する。存在しないとき、sps_wpp_entry_point_offsets_present_flagの値は0に等しいと推測される。
1に等しいsps_weighted_pred_flagは、重み付け予測が、SPSを参照するPスライスに適用され得ることを指定する。0に等しいsps_weighted_pred_flagは、重み付け予測が、SPSを参照するPスライスに適用されないことを指定する。
1に等しいsps_weighted_bipred_flagは、明示的な重み付け予測が、SPSを参照するBスライスに適用され得ることを指定する。0に等しいsps_weighted_bipred_flagは、明示的な重み付け予測が、SPSを参照するBスライスに適用されないことを指定する。
log2_max_pic_order_cnt_lsb_minus4は、ピクチャ順序カウントのための復号プロセスで使用される変数MaxPicOrderCntLsbの値を以下のように指定する:
Figure 2023515185000027
log2_max_pic_order_cnt_lsb_minus4の値は、両端値を含めて0から12の範囲内にあるものとする。
1に等しいsps_poc_msb_flagは、ph_poc_msb_present_flagシンタックス要素が、SPSを参照するPHに存在することを指定する。0に等しいsps_poc_msb_flagは、ph_poc_msb_present_flagシンタックス要素が、SPSを参照するPHに存在しないことを指定する。
poc_msb_len_minus1+1は、SPSを参照するPHに存在するとき、poc_msb_valシンタックス要素の長さをビット単位で指定する。poc_msb_len_minus1の値は、両端値を含めて0から32-log2_max_pic_order_cnt_lsb_minus4-5の範囲内にあるものとする。
num_extra_ph_bits_bytesは、SPSを参照するコード化ピクチャのためのPHシンタックス構造中の余分なビットのバイト数を指定する。num_extra_ph_bits_bytesの値は、本仕様書のこのバージョンに準拠するビットストリームにおいて0に等しいものとする。num_extra_ph_bits_bytesの値は、本仕様書のこのバージョンでは0に等しいことが要求されるが、本仕様書のこのバージョンに準拠するデコーダは、1または2に等しいnum_extra_ph_bits_bytesの値がシンタックス中に現れることを可能にするものとする。
num_extra_sh_bits_bytesは、SPSを参照するコード化ピクチャのためのスライスヘッダ中の余分なビットのバイト数を指定する。num_extra_sh_bits_bytesの値は、本仕様書のこのバージョンに準拠するビットストリームにおいて0に等しいものとする。num_extra_sh_bits_bytesの値は、本仕様書のこのバージョンでは0に等しいことが要求されるが、本仕様書のこのバージョンに準拠するデコーダは、1または2に等しいnum_extra_sh_bits_bytesの値がシンタックス中に現れることを可能にするものとする。
sps_sublayer_dpb_params_flagは、SPS中のdpb_parameters( )シンタックス構造内のmax_dec_pic_buffering_minus1[i]、max_num_reorder_pics[i]、およびmax_latency_increase_plus1[i]シンタックス要素の存在を制御するために使用される。存在しないとき、sps_sub_dpb_params_info_present_flagの値は0に等しいと推測される。
0に等しいlong_term_ref_pics_flagは、LTRPがCLVS中のいずれのコード化ピクチャのインター予測にも使用されないことを指定する。1に等しいlong_term_ref_pics_flagは、LTRPがCLVS中の1つまたは複数のコード化ピクチャのインター予測に使用され得ることを指定する。
0に等しいinter_layer_ref_pics_present_flagは、ILRPがCLVS中のいずれのコード化ピクチャのインター予測にも使用されないことを指定する。1に等しいinter_layer_ref_pic_flagは、ILRPがCLVS中の1つまたは複数のコード化ピクチャのインター予測に使用され得ることを指定する。sps_video_parameter_set_idが0に等しいとき、inter_layer_ref_pics_present_flagの値は0に等しいと推測される。vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]が1に等しいとき、inter_layer_ref_pics_present_flagの値は0に等しいものとする。[Ed.(YK):このシンタックス要素についてより良い名前があるかどうかをチェックする]。
1に等しいsps_idr_rpl_present_flagは、参照ピクチャリストシンタックス要素がIDRピクチャのスライスヘッダに存在することを指定する。0に等しいsps_idr_rpl_present_flagは、参照ピクチャリストシンタックス要素がIDRピクチャのスライスヘッダに存在しないことを指定する。
1に等しいrpl1_same_as_rpl0_flagは、シンタックス要素num_ref_pic_lists_in_sps[1]およびシンタックス構造ref_pic_list_struct(1,rplsIdx)が存在せず、以下が適用されることを指定する:
- num_ref_pic_lists_in_sps[1]の値は、num_ref_pic_lists_in_sps[0]の値に等しいと推測される。
- ref_pic_list_struct(1,rplsIdx)内のシンタックス要素の各々の値は、0からnum_ref_pic_lists_in_sps[0]-1の範囲のrplsIdxのref_pic_list_struct(0,rplsIdx)内の対応するシンタックス要素の値に等しいと推測される。
num_ref_pic_lists_in_sps[i]は、SPSに含まれる、listIdxがiに等しいref_pic_list_struct(listIdx,rplsIdx)シンタックス構造の数を指定する。num_ref_pic_lists_in_sps[i]の値は、両端値を含めて0から64の範囲内にあるものとする。
注4-listIdxの各値(0または1に等しい)に対して、デコーダは、1つのref_pic_list_struct(listIdx,rplsIdx)シンタックス構造が現在のピクチャのスライスヘッダにおいて直接シグナリングされ得るので、合計num_ref_pic_lists_in_sps[i]+1個のref_pic_list_struct(listIdx,rplsIdx)シンタックス構造に対してメモリを確保すべきである。
1に等しいqtbtt_dual_tree_intra_flagは、Iスライスについて、各CTUが、暗黙的な四分木分割を使用して、64×64のルーマサンプルを有するコーディングユニットに分割され、これらのコーディングユニットが、ルーマおよびクロマについての2つの別個のcoding_treeシンタックス構造のルートであることを指定する。0に等しいqtbtt_dual_tree_intra_flagは、別個のcoding_treeシンタックス構造がIスライスに使用されないことを指定する。qtbtt_dual_tree_intra_flagが存在しないとき、それは0に等しいと推測される。
log2_min_luma_coding_block_size_minus2+2は、最小ルーマコーディングブロックサイズを指定する。log2_min_luma_coding_block_size_minus2の値範囲は、両端値を含めて0からMin(4,sps_log2_ctu_size_minus5+3)の範囲内にあるものとする。
変数MinCbLog2SizeY、MinCbSizeY、IbcBufWidthY、IbcBufWidthC、およびVsizeは、以下のように導出される:
Figure 2023515185000028
MinCbSizeYの値はVSize以下であるものとする。
各クロマCTBのためのアレイの幅および高さをそれぞれ指定する変数CtbWidthCおよびCtbHeightCは、以下のように導出される:
- chroma_format_idcが0(モノクロ)に等しいか、またはseparate_colour_plane_flagが1に等しい場合、CtbWidthCおよびCtbHeightCは両方とも0に等しい。-そうでない場合、CtbWidthCおよびCtbHeightCは、以下のように導出される:
Figure 2023515185000029
両端値を含めて、0から4の範囲のlog2BlockWidthおよび0から4の範囲のlog2BlockHeightについて、1<<log2BlockWidthおよび1<<log2BlockHeightを入力として、第6.5.2節で規定されている右上対角スキャン順序アレイ初期化プロセスが呼び出され、出力がDiagScanOrder[log2BlockWidth][log2BlockHeight]に割り当てられる。
両端値を含めて、0から6の範囲のlog2BlockWidthおよび0から6の範囲のlog2BlockHeightについて、1<<log2BlockWidthおよび1<<log2BlockHeightを入力として、第6.5.3節で規定されている水平および垂直トラバーススキャン順序アレイ初期化プロセスが呼び出され、出力がHorTravScanOrder[log2BlockWidth][log2BlockHeight]およびVerTravScanOrder[log2BlockWidth][log2BlockHeight]に割り当てられる。
1に等しいpartition_constraints_override_enabled_flagは、partition_constraints_override_flagが、SPSを参照するPHに存在することを指定する。0に等しいpartition_constraints_override_enabled_flagは、partition_constraints_override_flagが、SPSを参照するPHに存在しないことを指定する。
sps_log2_diff_min_qt_min_cb_intra_slice_lumaは、CTUの四分木分割から得られるルーマリーフブロックのルーマサンプルにおける最小サイズの2を底とする対数と、SPSを参照する2(I)に等しいslice_typeをもつスライスにおけるルーマCUについてのルーマサンプルにおける最小コーディングブロックサイズの2を底とする対数との間のデフォルト差を指定する。partition_constraints_override_enabled_flagが1に等しいとき、デフォルト差は、SPSを参照するPHに存在するph_log2_diff_min_qt_min_cb_lumaによってオーバーライドされ得る。sps_log2_diff_min_qt_min_cb_intra_slice_lumaの値は、両端値を含めて0からCtbLog2SizeY-MinCbLog2SizeYの範囲内にあるものとする。CTUの四分木分割から得られるルーマリーフブロックのルーマサンプルにおける最小サイズの2を底とする対数は、以下のように導出される:
Figure 2023515185000030
sps_max_mtt_hierarchy_depth_intra_slice_lumaは、SPSを参照する2(I)に等しいslice_typeをもつスライス中の四分木リーフのマルチタイプツリー分割から得られるコーディングユニットのためのデフォルト最大階層深度を指定する。partition_constraints_override_enabled_flagが1に等しいとき、デフォルト最大階層深度は、SPSを参照するPHに存在するph_max_mtt_hierarchy_depth_intra_slice_lumaによってオーバーライドされ得る。sps_max_mtt_hierarchy_depth_intra_slice_lumaの値は、両端値を含めて0から2*(CtbLog2SizeY-MinCbLog2SizeY)の範囲内にあるものとする。
sps_log2_diff_max_bt_min_qt_intra_slice_lumaは、バイナリ分割を使用して分割され得るルーマコーディングブロックのルーマサンプルにおける最大サイズ(幅または高さ)の2を底とする対数と、SPSを参照する2(I)に等しいslice_typeをもつスライス中のCTUの四分木分割から得られるルーマリーフブロックのルーマサンプルにおける最小サイズ(幅または高さ)との間のデフォルト差を指定する。partition_constraints_override_enabled_flagが1に等しいとき、デフォルト差は、SPSを参照するPHに存在するph_log2_diff_max_bt_min_qt_lumaによってオーバーライドされ得る。sps_log2_diff_max_bt_min_qt_intra_slice_lumaの値は、両端値を含めて0からCtbLog2SizeY-MinQtLog2SizeIntraYの範囲内にあるものとする。sps_log2_diff_max_bt_min_qt_intra_slice_lumaが存在しないとき、sps_log2_diff_max_bt_min_qt_intra_slice_lumaの値は0に等しいと推測される。
sps_log2_diff_max_tt_min_qt_intra_slice_lumaは、三分割を使用して分割され得るルーマコーディングブロックのルーマサンプルにおける最大サイズ(幅または高さ)の2を底とする対数と、SPSを参照する2(I)に等しいslice_typeをもつスライス中のCTUの四分木分割から得られるルーマリーフブロックのルーマサンプルにおける最小サイズ(幅または高さ)との間のデフォルト差を指定する。partition_constraints_override_enabled_flagが1に等しいとき、デフォルト差は、SPSを参照するPHに存在するph_log2_diff_max_tt_min_qt_lumaによってオーバーライドされ得る。sps_log2_diff_max_tt_min_qt_intra_slice_lumaの値は、両端値を含めて0からCtbLog2SizeY-MinQtLog2SizeIntraYの範囲内にあるものとする。sps_log2_diff_max_tt_min_qt_intra_slice_lumaが存在しないとき、sps_log2_diff_max_tt_min_qt_intra_slice_lumaの値は0に等しいと推測される。
sps_log2_diff_min_qt_min_cb_inter_sliceは、CTUの四分木分割から得られるルーマリーフブロックのルーマサンプルにおける最小サイズの2を底とする対数と、SPSを参照する0(B)または1(P)に等しいslice_typeをもつスライス中のルーマCUについてのルーマサンプルにおける最小ルーマコーディングブロックサイズの2を底とする対数との間のデフォルト差を指定する。partition_constraints_override_enabled_flagが1に等しいとき、デフォルト差は、SPSを参照するPHに存在するph_log2_diff_min_qt_min_cb_lumaによってオーバーライドされ得る。sps_log2_diff_min_qt_min_cb_inter_sliceの値は、両端値を含めて0からCtbLog2SizeY-MinCbLog2SizeYの範囲内にあるものとする。CTUの四分木分割から得られるルーマリーフブロックのルーマサンプルにおける最小サイズの2を底とする対数は、以下のように導出される:
Figure 2023515185000031
sps_max_mtt_hierarchy_depth_inter_sliceは、SPSを参照する0(B)または1(P)に等しいslice_typeをもつスライス中の四分木リーフのマルチタイプツリー分割から得られるコーディングユニットのためのデフォルト最大階層深度を指定する。partition_constraints_override_enabled_flagが1に等しいとき、デフォルト最大階層深度は、SPSを参照するPHに存在するph_max_mtt_hierarchy_depth_inter_sliceによってオーバーライドされ得る。sps_max_mtt_hierarchy_depth_inter_sliceの値は、両端値を含めて0から2*(CtbLog2SizeY-MinCbLog2SizeY)の範囲内にあるものとする。
sps_log2_diff_max_bt_min_qt_inter_sliceは、バイナリ分割を使用して分割され得るルーマコーディングブロックのルーマサンプルにおける最大サイズ(幅または高さ)の2を底とする対数と、SPSを参照する0(B)または1(P)に等しいslice_typeをもつスライス中のCTUの四分木分割から得られるルーマリーフブロックのルーマサンプルにおける最小サイズ(幅または高さ)との間のデフォルト差を指定する。partition_constraints_override_enabled_flagが1に等しいとき、デフォルト差は、SPSを参照するPHに存在するph_log2_diff_max_bt_min_qt_lumaによってオーバーライドされ得る。sps_log2_diff_max_bt_min_qt_inter_sliceの値は、両端値を含めて0からCtbLog2SizeY-MinQtLog2SizeInterYの範囲内にあるものとする。sps_log2_diff_max_bt_min_qt_inter_sliceが存在しないとき、sps_log2_diff_max_bt_min_qt_inter_sliceの値は0に等しいと推測される。
sps_log2_diff_max_tt_min_qt_inter_sliceは、三分割を使用して分割され得るルーマコーディングブロックのルーマサンプルにおける最大サイズ(幅または高さ)の2を底とする対数と、SPSを参照する0(B)または1(P)に等しいslice_typeをもつスライス中のCTUの四分木分割から得られるルーマリーフブロックのルーマサンプルにおける最小サイズ(幅または高さ)との間のデフォルト差を指定する。partition_constraints_override_enabled_flagが1に等しいとき、デフォルト差は、SPSを参照するPHに存在するph_log2_diff_max_tt_min_qt_lumaによってオーバーライドされ得る。sps_log2_diff_max_tt_min_qt_inter_sliceの値は、両端値を含めて0からCtbLog2SizeY-MinQtLog2SizeInterYの範囲内にあるものとする。sps_log2_diff_max_tt_min_qt_inter_sliceが存在しないとき、sps_log2_diff_max_tt_min_qt_inter_sliceの値は0に等しいと推測される。
sps_log2_diff_min_qt_min_cb_intra_slice_chromaは、treeTypeがDUAL_TREE_CHROMAに等しいクロマCTUの四分木分割から得られるクロマリーフブロックのルーマサンプルにおける最小サイズの2を底とする対数と、SPSを参照する2(I)に等しいslice_typeをもつスライス中の、treeTypeがDUAL_TREE_CHROMAに等しいクロマCUについてのルーマサンプルにおける最小コーディングブロックサイズの2を底とする対数との間のデフォルト差を指定する。partition_constraints_override_enabled_flagが1に等しいとき、デフォルト差は、SPSを参照するPHに存在するph_log2_diff_min_qt_min_cb_chromaによってオーバーライドされ得る。sps_log2_diff_min_qt_min_cb_intra_slice_chromaの値は、両端値を含めて0からCtbLog2SizeY-MinCbLog2SizeYの範囲内にあるものとする。存在しないとき、sps_log2_diff_min_qt_min_cb_intra_slice_chromaの値は0に等しいと推測される。treeTypeがDUAL_TREE_CHROMAに等しいCTUの四分木分割から得られるクロマリーフブロックのルーマサンプルにおける最小サイズの2を底とする対数は、以下のように導出される:
Figure 2023515185000032
sps_max_mtt_hierarchy_depth_intra_slice_chromaは、SPSを参照する2(I)に等しいslice_typeをもつスライス中の、treeTypeがDUAL_TREE_CHROMAに等しいクロマ四分木リーフのマルチタイプツリー分割から得られるクロマコーディングユニットのためのデフォルト最大階層深度を指定する。partition_constraints_override_enabled_flagが1に等しいとき、デフォルト最大階層深度は、SPSを参照するPHに存在するph_max_mtt_hierarchy_depth_chromaによってオーバーライドされ得る。sps_max_mtt_hierarchy_depth_intra_slice_chromaの値は、両端値を含めて0から2*(CtbLog2SizeY-MinCbLog2SizeY)の範囲内にあるものとする。存在しないとき、sps_max_mtt_hierarchy_depth_intra_slice_chromaの値は0に等しいと推測される。
sps_log2_diff_max_bt_min_qt_intra_slice_chromaは、バイナリ分割を使用して分割され得るクロマコーディングブロックのルーマサンプルにおける最大サイズ(幅または高さ)の2を底とする対数と、SPSを参照する2(I)に等しいslice_typeをもつスライス中の、treeTypeがDUAL_TREE_CHROMAに等しいクロマCTUの四分木分割から得られるクロマリーフブロックのルーマサンプルにおける最小サイズ(幅または高さ)との間のデフォルト最大階層深度を指定する。partition_constraints_override_enabled_flagが1に等しいとき、デフォルト差は、SPSを参照するPHに存在するph_log2_diff_max_bt_min_qt_chromaによってオーバーライドされ得る。sps_log2_diff_max_bt_min_qt_intra_slice_chromaの値は、両端値を含めて0からCtbLog2SizeY-MinQtLog2SizeIntraCの範囲内にあるものとする。sps_log2_diff_max_bt_min_qt_intra_slice_chromaが存在しないとき、sps_log2_diff_max_bt_min_qt_intra_slice_chromaの値は0に等しいと推測される。
sps_log2_diff_max_tt_min_qt_intra_slice_chromaは、三分割を使用して分割され得るクロマコーディングブロックのルーマサンプルにおける最大サイズ(幅または高さ)の2を底とする対数と、SPSを参照する2(I)に等しいslice_typeをもつスライス中の、treeTypeがDUAL_TREE_CHROMAに等しいクロマCTUの四分木分割から得られるクロマリーフブロックのルーマサンプルにおける最小サイズ(幅または高さ)との間のデフォルト差を指定する。partition_constraints_override_enabled_flagが1に等しいとき、デフォルト差は、SPSを参照するPHに存在するph_log2_diff_max_tt_min_qt_chromaによってオーバーライドされ得る。sps_log2_diff_max_tt_min_qt_intra_slice_chromaの値は、両端値を含めて0からCtbLog2SizeY-MinQtLog2SizeIntraCの範囲内にあるものとする。sps_log2_diff_max_tt_min_qt_intra_slice_chromaが存在しないとき、sps_log2_diff_max_tt_min_qt_intra_slice_chromaの値は0に等しいと推測される。
1に等しいsps_max_luma_transform_size_64_flagは、ルーマサンプルにおける最大変換サイズが64に等しいことを指定する。0に等しいsps_max_luma_transform_size_64_flagは、ルーマサンプルにおける最大変換サイズが32に等しいことを指定する。
CtbSizeYが64未満であるとき、sps_max_luma_transform_size_64_flagの値は0に等しいものとする。
変数mINtBlOG2sIZEy、MaxTbLog2SizeY、MinTbSizeY、およびMaxTbSizeYは、以下のように導出される:
Figure 2023515185000033
0に等しいsps_joint_cbcr_enabled_flagは、クロマ残差のジョイントコーディングが無効にされることを指定する。1に等しいsps_joint_cbcr_enabled_flagは、クロマ残差のジョイントコーディングが有効にされることを指定する。存在しないとき、sps_joint_cbcr_enabled_flagの値は0に等しいと推測される。
1に等しいsame_qp_table_for_chromaは、1つのクロマQPマッピングテーブルのみがシグナリングされることを指定し、このテーブルは、CbおよびCr残差に適用され、さらに、sps_joint_cbcr_enabled_flagが1に等しいとき、ジョイントCb-Cr残差に適用される。0に等しいsame_qp_table_for_chromaは、クロマQPマッピングテーブルが、CbおよびCrのために2つと、sps_joint_cbcr_enabled_flagが1に等しいときのジョイントCb-Crのためにさらに1つ、SPS中でシグナリングされることを指定する。same_qp_table_for_chromaがビットストリームに存在しないとき、same_qp_table_for_chromaの値は1に等しいと推測される。
qp_table_start_minus26[i]+26は、第iのクロマQPマッピングテーブルを記述するために使用される開始ルーマおよびクロマQPを指定する。qp_table_start_minus26[i]の値は、-26-QpBdOffsetから36の範囲内にあるものとする。qp_table_start_minus26[i]がビットストリームに存在しないとき、qp_table_start_minus26[i]の値は0に等しいと推測される。
num_points_in_qp_table_minus1[i]+1は、第iのクロマQPマッピングテーブルを記述するために使用されるポイントの数を指定する。num_points_in_qp_table_minus1[i]の値は、両端値を含めて0から63+QpBdOffsetの範囲内にあるものとする。num_points_in_qp_table_minus1[0]がビットストリームに存在しないとき、num_points_in_qp_table_minus1[0]の値は0に等しいと推測される。
delta_qp_in_val_minus1[i][j]は、第iのクロマQPマッピングテーブルの第jのピボットポイントの入力座標を導出するために使用されるデルタ値を指定する。delta_qp_in_val_minus1[0][j]がビットストリームに存在しないとき、delta_qp_in_val_minus1[0][j]の値は0に等しいと推測される。
delta_qp_diff_val[i][j]は、第iのクロマQPマッピングテーブルの第jのピボットポイントの出力座標を導出するために使用されるデルタ値を指定する。
i=0..numQpTables-1の第iのクロマQPマッピングテーブルChromaQpTable[i]は、以下のように導出される:
Figure 2023515185000034
same_qp_table_for_chromaが1に等しいとき、両端値を含めて-QpBdOffsetから63の範囲内のkについて、ChromaQpTable[1][k]およびChromaQpTable[2][k]は、ChromaQpTable[0][k]に等しく設定される。
両端値を含めて0からnumQpTables-1の範囲内にあるi、および、両端値を含めて0からnum_points_in_qp_table_minus1[i]+1の範囲内にあるjについて、qpInVal[i][j]およびqpOutVal[i][j]の値が、両端値を含めて-QpBdOffsetから63の範囲内にあることが、ビットストリーム適合性の要件である。
1に等しいsps_sao_enabled_flagは、サンプル適応オフセットプロセスが、デブロッキングフィルタプロセスの後に再構成ピクチャに適用されることを指定する。0に等しいsps_sao_enabled_flagは、サンプル適応オフセットプロセスが、デブロッキングフィルタプロセスの後に再構成ピクチャに適用されないことを指定する。
0に等しいsps_alf_enabled_flagは、適応ループフィルタが無効にされることを指定する。1に等しいsps_alf_enabled_flagは、適応ループフィルタが有効にされることを指定する。
0に等しいsps_ccalf_enabled_flagは、クロス成分適応ループフィルタが無効にされることを指定する。1に等しいsps_ccalf_enabled_flagは、クロス成分適応ループフィルタが有効にされ得ることを指定する。
1に等しいsps_transform_skip_enabled_flagは、transform_skip_flagが変換単位シンタックスに存在し得ることを指定する。0に等しいsps_transform_skip_enabled_flagは、transform_skip_flagが変換単位シンタックスに存在しないことを指定する。
log2_transform_skip_max_size_minus2は、変換スキップに使用される最大ブロックサイズを指定し、両端値を含めて0から3の範囲内にあるものとする。
変数MaxTsSizeは、1<<(log2_transform_skip_max_size_minus2+2)に等しく設定される。
1に等しいsps_bdpcm_enabled_flagは、intra_bdpcm_luma_flagおよびintra_bdpcm_chroma_flagがイントラコーディングユニットのためのコーディングユニットシンタックスに存在し得ることを指定する。0に等しいsps_bdpcm_enabled_flagは、intra_bdpcm_luma_flagおよびintra_bdpcm_chroma_flagがイントラコーディングユニットのためのコーディングユニットシンタックスに存在しないことを指定する。存在しないとき、sps_bdpcm_enabled_flagの値は0に等しいと推測される。
1に等しいsps_ref_wraparound_enabled_flagは、水平ラップアラウンド動き補償がインター予測において適用されることを指定する。0に等しいsps_ref_wraparound_enabled_flagは、水平ラップアラウンド動き補償が適用されないことを指定する。(CtbSizeY/MinCbSizeY+1)の値が(pic_width_in_luma_samples/MinCbSizeY-1)よりも大きいときであって、pic_width_in_luma_samplesは、SPSを参照する任意のPPS中のpic_width_in_luma_samplesの値である場合、sps_ref_wraparound_enabled_flagの値は0に等しいものとする。[Ed.(YK):ここでのセマンティクスは、依然としてPPSシンタックス要素に依存する]。
1に等しいsps_temporal_mvp_enabled_flagは、時間的動きベクトル予測子がCLVSにおいて使用され得ることを指定する。0に等しいsps_temporal_mvp_enabled_flagは、時間的動きベクトル予測子がCLVSにおいて使用されないことを指定する。
1に等しいsps_sbtmvp_enabled_flagは、サブブロックベースの時間的動きベクトル予測子が、CLVSにおいて、Iに等しくないslice_typeもつすべてのスライスを有するピクチャを復号する際に、使用され得ることを指定する。0に等しいsps_sbtmvp_enabled_flagは、サブブロックベースの時間的動きベクトル予測子がCLVSにおいて使用されないことを指定する。sps_sbtmvp_enabled_flagが存在しないとき、それは0に等しいと推測される。
1に等しいsps_amvr_enabled_flagは、適応動きベクトル差分解像度が動きベクトルコーディングで使用されることを指定する。0に等しいamvr_enabled_flagは、適応動きベクトル差分解像度が動きベクトルコーディングで使用されないことを指定する。
0に等しいsps_bdof_enabled_flagは、双方向オプティカルフローインター予測が無効にされることを指定する。1に等しいsps_bdof_enabled_flagは、双方向オプティカルフローインター予測が有効にされることを指定する。
1に等しいsps_bdof_pic_present_flagは、ph_disable_bdof_flagが、SPSを参照するPHに存在することを指定する。0に等しいsps_bdof_pic_present_flagは、ph_disable_bdof_flagが、SPSを参照するPHに存在しないことを指定する。sps_bdof_pic_present_flagが存在しないとき、sps_bdof_pic_present_flagの値は0に等しいと推測される。
1に等しいsps_smvd_enabled_flagは、対称動きベクトル差分が動きベクトル復号で使用され得ることを指定する。0に等しいsps_smvd_enabled_flagは、対称動きベクトル差分が動きベクトルコーディングで使用されないことを指定する。
1に等しいsps_dmvr_enabled_flagは、デコーダ動きベクトルリファインメントベースのインター双予測が有効にされることを指定する。0に等しいsps_dmvr_enabled_flagは、デコーダ動きベクトルリファインメントベースのインター双予測が無効にされることを指定する。
1に等しいsps_dmvr_pic_present_flagは、ph_disable_dmvr_flagが、SPSを参照するPHに存在することを指定する。0に等しいsps_dmvr_pic_present_flagは、ph_disable_dmvr_flagが、SPSを参照するPHに存在しないことを指定する。sps_dmvr_pic_present_flagが存在しないとき、sps_dmvr_pic_present_flagの値は0に等しいと推測される。
1に等しいsps_mmvd_enabled_flagは、動きベクトル差分を用いたマージモードが有効にされることを指定する。0に等しいsps_mmvd_enabled_flagは、動きベクトル差分を用いたマージモードが無効にされることを指定する。
1に等しいsps_isp_enabled_flagは、サブパーティションを用いたイントラ予測が有効にされることを指定する。0に等しいsps_isp_enabled_flagは、サブパーティションを用いたイントラ予測が無効にされることを指定する。
1に等しいsps_mrl_enabled_flagは、複数の参照ラインを用いたイントラ予測が有効にされることを指定する。0に等しいsps_mrl_enabled_flagは、複数の参照ラインを用いたイントラ予測が無効にされることを指定する。
1に等しいsps_mip_enabled_flagは、行列ベースのイントラ予測が有効にされることを指定する。0に等しいsps_mip_enabled_flagは、行列ベースのイントラ予測が無効にされることを指定する。
0に等しいsps_cclm_enabled_flagは、ルーマ成分からクロマ成分へのクロス成分線形モデルイントラ予測が無効にされることを指定する。1に等しいsps_cclm_enabled_flagは、ルーマ成分からクロマ成分へのクロス成分線形モデルイントラ予測が有効にされることを指定する。sps_cclm_enabled_flagが存在しないとき、それは0に等しいと推測される。
1に等しいsps_chroma_horizontal_collocated_flagは、予測プロセスが、対応するルーマサンプル位置に対して水平にシフトされていないクロマサンプル位置のために設計された方法で動作することを指定する。0に等しいsps_chroma_horizontal_collocated_flagは、予測プロセスが、対応するルーマサンプル位置に対してルーマサンプルの単位で0.5だけ右にシフトされたクロマサンプル位置のために設計された方法で動作することを指定する。sps_chroma_horizontal_collocated_flagが存在しないとき、それは1に等しいと推測される。
1に等しいsps_chroma_vertical_collocated_flagは、予測プロセスが、対応するルーマサンプル位置に対して垂直にシフトされていないクロマサンプル位置のために設計された方法で動作することを指定する。0に等しいsps_chroma_vertical_collocated_flagは、予測プロセスが、対応するルーマサンプル位置に対してルーマサンプルの単位で0.5だけ下方にシフトされたクロマサンプル位置のために設計された方法で動作することを指定する。sps_chroma_vertical_collocated_flagが存在しないとき、それは1に等しいと推測される。
1に等しいsps_mts_enabled_flagは、sps_explicit_mts_intra_enabled_flagがシーケンスパラメータセットRBSPシンタックスに存在し、sps_explicit_mts_inter_enabled_flagがシーケンスパラメータセットRBSPシンタックスに存在することを指定する。0に等しいsps_mts_enabled_flagは、sps_explicit_mts_intra_enabled_flagがシーケンスパラメータセットRBSPシンタックスに存在せず、sps_explicit_mts_inter_enabled_flagがシーケンスパラメータセットRBSPシンタックスに存在しないことを指定する。
1に等しいsps_explicit_mts_intra_enabled_flagは、mts_idxがイントラコーディングユニットシンタックスに存在し得ることを指定する。0に等しいsps_explicit_mts_intra_enabled_flagは、mts_idxがイントラコーディングユニットシンタックスに存在しないことを指定する。存在しないとき、sps_explicit_mts_intra_enabled_flagの値は0に等しいと推測される。
1に等しいsps_explicit_mts_inter_enabled_flagは、mts_idxがインターコーディングユニットシンタックスに存在し得ることを指定する。0に等しいsps_explicit_mts_inter_enabled_flagは、mts_idxがインターコーディングユニットシンタックスに存在しないことを指定する。存在しないとき、sps_explicit_mts_inter_enabled_flagの値は0に等しいと推測される。
six_minus_max_num_merge_candは、SPSにおいてサポートされるマージング動きベクトル予測(MVP)候補の最大数を6から減算した値を指定する。six_minus_max_num_merge_candの値は、両端値を含めて0から5の範囲内にあるものとする。
マージングMVP候補の最大数MaxNumMergeCandは、以下のように導出される:
Figure 2023515185000035
0に等しいsps_sbt_enabled_flagは、インター予測されたCUのためのサブブロック変換が無効にされることを指定する。1に等しいsps_sbt_enabled_flagは、インター予測されたCUのためのサブブロック変換が有効にされることを指定する。
sps_affine_enabled_flagは、アフィンモデルベースの動き補償がインター予測に使用可能かどうかを指定する。sps_affine_enabled_flagが0に等しい場合、シンタックスは、アフィンモデルベースの動き補償がCLVSにおいて使用されず、inter_affine_flagおよびcu_affine_type_flagがCLVSのコーディングユニットシンタックスに存在しないように制約されるものとする。そうでない場合(sps_affine_enabled_flagが1に等しい場合)、アフィンモデルベースの動き補償がCLVSにおいて使用され得る。
five_minus_max_num_subblock_merge_candは、SPSにおいてサポートされるサブブロックベースのマージング動きベクトル予測候補の最大数を5から減算した数を指定する。
sps_affine_type_flagは、6パラメータアフィンモデルベースの動き補償がインター予測に使用可能かどうかを指定する。sps_affine_type_flagが0に等しい場合、シンタックスは、6パラメータアフィンモデルベースの動き補償がCLVSにおいて使用されず、cu_affine_type_flagがCLVS中のコーディングユニットシンタックスに存在しないように制約されるものとする。そうでない場合(sps_affine_type_flagが1に等しい場合)、6パラメータアフィンモデルベースの動き補償がCLVSにおいて使用され得る。存在しないとき、sps_affine_type_flagの値は0に等しいと推測される。
1に等しいsps_affine_amvr_enabled_flagは、適応動きベクトル差分解像度がアフィンインターモードの動きベクトルコーディングで使用されることを指定する。0に等しいsps_affine_amvr_enabled_flagは、適応動きベクトル差分解像度がアフィンインターモードの動きベクトルコーディングで使用されないことを指定する。存在しないとき、sps_affine_amvr_enabled_flagの値は0に等しいと推測される。
sps_affine_prof_enabled_flagは、オプティカルフローを用いた予測リファインメントがアフィン動き補償に使用可能かどうかを指定する。sps_affine_prof_enabled_flagが0に等しい場合、アフィン動き補償はオプティカルフローを用いて精緻化されないものとする。そうでない場合(sps_affine_prof_enabled_flagが1に等しい場合)、アフィン動き補償は、オプティカルフローを用いて精緻化され得る。存在しないとき、sps_affine_prof_enabled_flagの値は0に等しいと推測される。
1に等しいsps_prof_pic_present_flagは、ph_disable_prof_flagが、SPSを参照するPHに存在することを指定する。0に等しいsps_prof_pic_present_flagは、ph_disable_prof_flagが、SPSを参照するPHに存在しないことを指定する。sps_prof_pic_present_flagが存在しないとき、sps_prof_pic_present_flagの値は0に等しいと推測される。
1に等しいsps_palette_enabled_flagは、pred_mode_plt_flagがコーディングユニットシンタックスに存在し得ることを指定する。0に等しいsps_palette_enabled_flagは、pred_mode_plt_flagがコーディングユニットシンタックスに存在しないことを指定する。sps_palette_enabled_flagが存在しないとき、それは0に等しいと推測される。
1に等しいsps_act_enabled_flagは、適応色変換が使用され得、cu_act_enabled_flagがコーディングユニットシンタックスに存在し得ることを指定する。0に等しいsps_act_enabled_flagは、適応色変換が使用されず、cu_act_enabled_flagがコーディングユニットシンタックスに存在しないことを指定する。sps_act_enabled_flagが存在しないとき、それは0に等しいと推測される。
min_qp_prime_ts_minus4は、変換スキップモードのための最小許容量子化パラメータを以下のように指定する:
Figure 2023515185000036
min_qp_prime_ts_minus4の値は、両端値を含めて0から48の範囲内にあるものとする。
sps_bcw_enabled_flagは、CU重みを用いた双予測がインター予測に使用可能かどうかを指定する。sps_bcw_enabled_flagが0に等しい場合、シンタックスは、CU重みを用いた双予測がCLVSにおいて使用されず、bcw_idxがCLVSのコーディングユニットシンタックスに存在しないように制約されるものとする。そうでない場合(sps_bcw_enabled_flagが1に等しい場合)、CU重みを用いた双予測がCLVSにおいて使用され得る。
1に等しいsps_ibc_enabled_flagは、IBC予測モードがCLVS中のピクチャを復号する際に使用され得ることを指定する。0に等しいsps_ibc_enabled_flagは、IBC予測モードがCLVSにおいて使用されないことを指定する。sps_ibc_enabled_flagが存在しないとき、それは0に等しいと推測される。
six_minus_max_num_ibc_merge_candは、SPSにおいてサポートされるIBCマージングブロックベクトル予測(BVP)候補の最大数を6から減算した数を指定する。six_minus_max_num_ibc_merge_candの値は、両端値を含めて0から5の範囲内にあるものとする。
IBCマージングBVP候補の最大数MaxNumIbcMergeCandは、以下のように導出される:
Figure 2023515185000037
sps_ciip_enabled_flagは、ciip_flagがインターコーディングユニットのためのコーディングユニットシンタックスに存在し得ることを指定する。0に等しいsps_ciip_enabled_flagは、ciip_flagがインターコーディングユニットのためのコーディングユニットシンタックスに存在しないことを指定する。
1に等しいsps_fpel_mmvd_enabled_flagは、動きベクトル差分を用いたマージモードが整数サンプル精度を使用していることを指定する。0に等しいsps_fpel_mmvd_enabled_flagは、動きベクトル差分を用いたマージモードが分数サンプル精度を使用することができることを指定する。
sps_gpm_enabled_flagは、幾何学的パーティションベースの動き補償がインター予測に使用され得るかどうかを指定する。0に等しいsps_gpm_enabled_flagは、幾何学的パーティションベースの動き補償がCLVSにおいて使用されず、merge_gpm_partition_idx、merge_gpm_idx0、およびmerge_gpm_idx1がCLVSのコーディングユニットシンタックスに存在しないようにシンタックスが制約されなければならないことを指定する。1に等しいsps_gpm_enabled_flagは、幾何学的パーティションベースの動き補償がCLVSにおいて使用され得ることを指定する。存在しないとき、sps_gpm_enabled_flagの値は0に等しいと推測される。
max_num_merge_cand_minus_max_num_gpm_candは、SPSにおいてサポートされる幾何学的パーティションマージモード候補の最大数をMaxNumMergeCandから減算した数を指定する。
幾何学的パーティションマージモード候補の最大数MaxNumGpmMergeCandは、以下のように導出される:
Figure 2023515185000038
MaxNumGpmMergeCandの値は、両端値を含めて2からMaxNumMergeCandの範囲内にあるものとする。
1に等しいsps_lmcs_enabled_flagは、クロマスケーリングを伴うルーママッピングがCLVSにおいて使用されることを指定する。0に等しいsps_lmcs_enabled_flagは、クロマスケーリングを伴うルーママッピングがCLVSにおいて使用されないことを指定する。
1に等しいsps_lfnst_enabled_flagは、lfnst_idxがイントラコーディングユニットシンタックスに存在し得ることを指定する。0に等しいsps_lfnst_enabled_flagは、lfnst_idxがイントラコーディングユニットシンタックスに存在しないことを指定する。
1に等しいsps_ladf_enabled_flagは、sps_num_ladf_intervals_minus2、sps_ladf_lowest_interval_qp_offset、sps_ladf_qp_offset[i]、およびsps_ladf_delta_threshold_minus1[i]がSPSに存在することを指定する。
sps_num_ladf_intervals_minus2+1は、SPSに存在するsps_ladf_delta_threshold_minus1[i]およびsps_ladf_qp_offset[i]シンタックス要素の数を指定する。sps_num_ladf_intervals_minus2の値は、両端値を含めて0から3の範囲内にあるものとする。
sps_ladf_lowest_interval_qp_offsetは、第8.8.3.6.1節で規定されているような変数qPを導出するために使用されるオフセットを指定する。sps_ladf_lowest_interval_qp_offsetの値は、両端値を含めて-63から63の範囲内にあるものとする。
sps_ladf_qp_offset[i]は、第8.8.3.6.1節で規定されているような変数qPを導出するために使用されるオフセットアレイを指定する。sps_ladf_qp_offset[i]の値は、両端値を含めて-63から63の範囲内にあるものとする。
sps_ladf_delta_threshold_minus1[i]は、第iのルーマ強度レベル間隔の下限を指定するSpsLadfIntervalLowerBound[i]の値を計算するために使用される。sps_ladf_delta_threshold_minus1[i]の値は、両端値を含めて0から2BitDepth-3の範囲内にあるものとする。
SpsLadfIntervalLowerBound[0]の値は0に等しく設定される。
両端値を含めて0からsps_num_ladf_intervals_minus2の範囲内のiの各値について、変数SpsLadfIntervalLowerBound[i+1]は以下のように導出される:
Figure 2023515185000039
log2_parallel_merge_level_minus2+2は、変数Log2ParMrgLevelの値を指定し、これは、第8.5.2.3節で規定されている空間マージング候補のための導出プロセス、第8.5.5.2節で規定されているサブブロックマージモードにおける動きベクトルおよび参照インデックスのための導出プロセスで使用され、第8.5.2.1節の履歴ベースの動きベクトル予測子リストのための更新プロセスの呼び出しを制御するために使用される。log2_parallel_merge_level_minus2の値は、両端値を含めて0からCtbLog2SizeY-2の範囲内にあるものとする。変数Log2ParMrgLevelは、以下のように導出される:
Figure 2023515185000040
1に等しいsps_scaling_list_enabled_flagは、スケーリングリストが、変換係数のためのスケーリングプロセスに使用されることを指定する。0に等しいsps_scaling_list_enabled_flagは、スケーリングリストが、変換係数のためのスケーリングプロセスに使用されないことを指定する。
0に等しいsps_dep_quant_enabled_flagは、従属量子化が、SPSを参照するピクチャについて無効にされることを指定する。1に等しいsps_dep_quant_enabled_flagは、従属量子化が、SPSを参照するピクチャについて有効にされ得ることを指定する。
0に等しいsps_sign_data_hiding_enabled_flagは、符号ビット隠蔽(sign bit hiding)が、SPSを参照するピクチャについて無効にされることを指定する。1に等しいsps_sign_data_hiding_enabled_flagは、符号ビット隠蔽が、SPSを参照するピクチャについて有効にされ得ることを指定する。sps_sign_data_hiding_enabled_flagが存在しないとき、それは0に等しいと推測される。
1に等しいsps_virtual_boundaries_enabled_flagは、仮想境界を越えたループ内フィルタリングを無効にすることがCLVS中のコード化ピクチャにおいて適用され得ることを指定する。0に等しいsps_virtual_boundaries_enabled_flagは、仮想境界を越えたループ内フィルタリングを無効にすることがCLVS中のコード化ピクチャにおいて適用されないことを指定する。ループ内フィルタリング動作は、デブロッキングフィルタ、サンプル適応オフセットフィルタ、および適応ループフィルタ動作を含む。
1に等しいsps_virtual_boundaries_present_flagは、仮想境界の情報がSPS中でシグナリングされることを指定する。0に等しいsps_virtual_boundaries_present_flagは、仮想境界の情報がSPS中でシグナリングされないことを指定する。SPS中でシグナリングされる仮想境界が1つまたは2つ以上存在するとき、SPSを参照するピクチャ内の仮想境界を越えたループ内フィルタリング動作は無効にされる。ループ内フィルタリング動作は、デブロッキングフィルタ、サンプル適応オフセットフィルタ、および適応ループフィルタ動作を含む。
res_change_in_clvs_allowed_flagの値が1に等しいとき、sps_virtual_boundaries_present_flagの値が0に等しくてはならないことが、ビットストリーム適合性の要件である。
sps_num_ver_virtual_boundariesは、SPSに存在するsps_virtual_boundaries_pos_x[i]シンタックス要素の数を指定する。sps_num_ver_virtual_boundariesが存在しないとき、それは0に等しいと推測される。
sps_virtual_boundaries_pos_x[i]は、8で除算されたルーマサンプルの単位で第iの垂直仮想境界のロケーションを指定する。sps_virtual_boundaries_pos_x[i]の値は、両端値を含めて1からCeil(pic_width_in_luma_samples÷8)-1の範囲内にあるものとする。[Ed.(VD):pic_width_in_luma_samplesは、SPS内ではなく、PPS内にある]。
sps_num_hor_virtual_boundariesは、SPSに存在するsps_virtual_boundaries_pos_y[i]シンタックス要素の数を指定する。sps_num_hor_virtual_boundariesが存在しないとき、それは0に等しいと推測される。
sps_virtual_boundaries_enabled_flagが1に等しく、sps_virtual_boundaries_present_flagが1に等しいとき、sps_num_ver_virtual_boundariesとsps_num_hor_virtual_boundariesとの和は0より大きいものとする。
sps_virtual_boundaries_pos_y[i]は、ルーマサンプルの単位で第iの水平仮想境界のロケーションを8で除算したものを指定する。sps_virtual_boundaries_pos_y[i]の値は、両端値を含めて1からCeil(pic_height_in_luma_samples÷8)-1の範囲内にあるものとする。[Ed.(VD):pic_height_in_luma_samplesは、SPS内ではなく、PPS内にある]。
1に等しいsps_general_hrd_params_present_flagは、シンタックス構造general_hrd_parameters( )がSPS RBSPシンタックス構造に存在することを指定する。0に等しいsps_general_hrd_params_present_flagは、シンタックス構造general_hrd_parameters( )がSPS RBSPシンタックス構造に存在しないことを指定する。
1に等しいsps_sublayer_cpb_params_present_flagは、SPS RBSP中のシンタックス構造old_hrd_parameters( )が、両端値を含めて0からsps_max_sublayers_minus1の範囲内のTemporalIdを有するサブレイヤ表現のためのHRDパラメータを含むことを指定する。0に等しいsps_sublayer_cpb_params_present_flagは、SPS RBSP中のシンタックス構造ols_hrd_parameters( )が、TemporalIdがsps_max_sublayers_minus1のみに等しいサブレイヤ表現のためのHRDパラメータを含むことを指定する。sps_max_sublayers_minus1が0に等しいとき、sps_sublayer_cpb_params_present_flagの値は0に等しいと推測される。
sps_sublayer_cpb_params_present_flagが0に等しいとき、両端値を含めて0からsps_max_sublayers_minus1-1の範囲内のTemporalIdを有するサブレイヤ表現のためのHRDパラメータは、TemporalIdがsps_max_sublayers_minus1に等しいサブレイヤ表現のためのHRDパラメータと同じであると推測される。これらは、ols_hrd_parametersシンタックス構造において、fixed_pic_rate_general_flag[i]シンタックス要素から始まり、条件「if(general_vcl_hrd_params_present_flag)」のすぐ下のsublayer_hrd_parameters(i)シンタックス構造までのHRDパラメータを含む。
1に等しいfield_seq_flagは、CLVSが、フィールドを表すピクチャを搬送することを示す。0に等しいfield_seq_flagは、CLVSが、フレームを表すピクチャを搬送することを示す。general_frame_only_constraint_flagが1に等しいとき、field_seq_flagの値は0に等しいものとする。
field_seq_flagが1に等しいとき、フレーム-フィールド情報SEIメッセージは、CLVS中のすべてのコード化ピクチャに対して存在するものとする。
注5-指定された復号プロセスは、フィールドまたはフレームを表すピクチャを別様に扱わない。したがって、フィールドを表すピクチャのシーケンスは、個々のフィールドのピクチャ寸法でコーディングされる。例えば、1080iフィールドを表すピクチャは、一般に、1920×540のクロッピングされた出力寸法を有することになるが、シーケンスピクチャレートは、一般に、ソースフレームレート(一般に、25Hzから30Hzの間)ではなく、ソースフィールドのレート(一般に、50Hzから60Hzの間)を表すことになる。
1に等しいvui_parameters_present_flagは、シンタックス構造vui_parameters( )がSPS RBSPシンタックス構造に存在することを指定する。0に等しいvui_parameters_present_flagは、シンタックス構造vui_parameters( )がSPS RBSPシンタックス構造に存在しないことを指定する。
0に等しいsps_extension_flagは、sps_extension_data_flagシンタックス要素がSPS RBSPシンタックス構造に存在しないことを指定する。1に等しいsps_extension_flagは、sps_extension_data_flagシンタックス要素がSPS RBSPシンタックス構造に存在することを指定する。
sps_extension_data_flagは任意の値を有し得る。その存在および値は、本仕様書のこのバージョンで規定されているプロファイルへのデコーダの適合性に影響を及ぼさない。本仕様書のこのバージョンに準拠するデコーダは、すべてのsps_extension_data_flagシンタックス要素を無視するものとする。
3.6.PPSのシンタックスおよびセマンティクス
最新のVVCドラフトテキストでは、PPSのシンタックスおよびセマンティクスは以下の通りである:
Figure 2023515185000041
Figure 2023515185000042
Figure 2023515185000043
Figure 2023515185000044
Figure 2023515185000045
PPS RBSPは、それが参照される前に復号プロセスに利用可能であるか、TemporalIdがPPS NALユニットのTemporalId以下である少なくとも1つのAUに含まれるか、または外部手段を通して提供されるものとする。
PU内のpps_pic_parameter_set_idの特定の値を有するすべてのPPS NALユニットは、同じコンテンツを有するものとする。
pps_pic_parameter_set_idは、他のシンタックス要素による参照のためのPPSを識別する。pps_pic_parameter_set_idの値は、両端値を含めて0から63の範囲内にあるものとする。
PPS NALユニットは、nuh_layer_id値にかかわらず、pps_pic_parameter_set_idの同じ値空間を共有する。
ppsLayerIdを特定のPPS NALユニットのnuh_layer_idの値とし、vclLayerIdを特定のVCL NALユニットのnuh_layer_idの値とする。特定のVCL NALユニットは、ppsLayerIdがvclLayerId以下であり、nuh_layer_idがppsLayerIdに等しいレイヤが、nuh_layer_idがvclLayerIdに等しいレイヤを含む少なくとも1つのOLSに含まれない限り、特定のPPS NALユニットを参照しないものとする。
pps_seq_parameter_set_idは、SPSのためのsps_seq_parameter_set_idの値を指定する。pps_seq_parameter_set_idの値は、両端値を含めて0から15の範囲内にあるものとする。pps_seq_parameter_set_idの値は、CLVS中のコード化ピクチャによって参照されるすべてのPPS中で同じであるものとする。
1に等しいmixed_nalu_types_in_pic_flagは、PPSを参照する各ピクチャが2つ以上のVCL NALユニットを有し、VCL NALユニットが同じ値のnal_unit_typeを有さず、ピクチャがIRAPピクチャでないことを指定する。0に等しいmixed_nalu_types_in_pic_flagは、PPSを参照する各ピクチャが1つまたは複数のVCL NALユニットを有し、PPSを参照する各ピクチャのVCL NALユニットが同じ値のnal_unit_typeを有することを指定する。
no_mixed_nalu_types_in_pic_constraint_flagが1に等しいとき、mixed_nalu_types_in_pic_flagの値は0に等しいものとする。
両端値を含めてIDR_W_RADLからCRA_NUTの範囲内のnal_unit_type値nalUnitTypeAを有する各スライスについて、別の値のnal_unit_typeを有する1つまたは複数のスライスも含むピクチャpicAにおいて(すなわち、ピクチャpicAのmixed_nalu_types_in_pic_flagの値が1に等しい場合)、以下が適用される:
- スライスは、対応するsubpic_treated_as_pic_flag[i]の値が1に等しいサブピクチャsubpicAに属するものとする。
- スライスは、nal_unit_typeがnalUnitTypeAに等しくないVCL NALユニットを含むpicAのサブピクチャに属さないものとする。
- nalUnitTypeAがCRAに等しい場合、復号順序および出力順序でCLVSにおいて現在のピクチャに後くすべての後続PUについて、それらのPU中のsubpicA中のスライスのRefPicList[0]もRefPicList[1]も、アクティブエントリにおいて復号順序でpicAに先行するピクチャを含まないものとする。
- そうでない場合(すなわち、nalUnitTypeAがIDR_W_RADLまたはIDR_N_LPに等しい場合)、復号順序で現在のピクチャに続くCLVS中のすべてのPUについて、それらのPUのsubpicA中のスライスのRefPicList[0]もRefPicList[1]も、アクティブエントリにおいて復号順序でpicAに先行するピクチャを含まないものとする。
注1-1に等しいmixed_nalu_types_in_pic_flagは、PPSを参照するピクチャが、異なるNALユニットタイプを有するスライス、例えば、エンコーダがビットストリーム構造の一致および元のビットストリームのパラメータのさらなるアライメントを保証しなければならないサブピクチャビットストリームマージング動作から生じるコード化ピクチャを含むことを示す。そのようなアライメントの一例は、以下の通りである:sps_idr_rpl_flagの値が0に等しく、mixed_nalu_types_in_pic_flagが1に等しいとき、PPSを参照するピクチャは、nal_unit_typeがIDR_W_RADLまたはIDR_N_LPに等しいスライスを有することができない。
pic_width_in_luma_samplesは、ルーマサンプルの単位で、PPSを参照する各復号ピクチャの幅を指定する。pic_width_in_luma_samplesは、0に等しくなく、Max(8,MinCbSizeY)の整数倍であり、pic_width_max_in_luma_samples以下であるものとする。
res_change_in_clvs_allowed_flagが0に等しいとき、pic_width_in_luma_samplesの値はpic_width_max_in_luma_samplesに等しいものとする。
pic_height_in_luma_samplesは、ルーマサンプルの単位で、PPSを参照する各復号ピクチャの高さを指定する。pic_height_in_luma_samplesは0に等しくなく、Max(8,MinCbSizeY)の整数倍であり、pic_height_max_in_luma_samples以下であるものとする。
res_change_in_clvs_allowed_flagが0に等しいとき、pic_height_in_luma_samplesの値はpic_height_max_in_luma_samplesに等しいものとする。
変数PicWidthINctbsY、PicHeightINctbsY、PicSizeINctbsY、PicWidthInMinCbsY、PicHeightInMinCbsY、PicSizeInMinCbsY、PicSizeInSamplesY、PicWidthInSamplesCおよびPicHeightInSamplesCは、以下のように導出される:
Figure 2023515185000046
1に等しいpps_conformance_window_flagは、適合クロッピングウィンドウオフセットパラメータがPPSにおいて次に続くことを示す。0に等しいpps_conformance_window_flagは、適合クロッピングウィンドウオフセットパラメータがPPSに存在しないことを示す。
pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset、およびpps_conf_win_bottom_offsetは、出力のためのピクチャ座標において指定される矩形領域に関して、復号プロセスから出力されるCLVS中のピクチャのサンプルを指定する。pps_conformance_window_flagが0に等しいとき、pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset、およびpps_conf_win_bottom_offsetの値は0に等しいと推測される。
適合クロッピングウィンドウは、両端値を含めて、SubWidthC*pps_conf_win_left_offsetからpic_width_in_luma_samples-(SubWidthC*pps_conf_win_right_offset+1)までの水平ピクチャ座標と、SubHeightC*pps_conf_win_top_offsetからpic_height_in_luma_samples-(SubHeightC*pps_conf_win_bottom_offset+1)までの垂直ピクチャ座標とを含むルーマサンプルを含む。
SubWidthC*(pps_conf_win_left_offset+pps_conf_win_right_offset)の値はpic_width_in_luma_samples未満であるものとし、SubHeightC*(pps_conf_win_top_offset+pps_conf_win_bottom_offset)の値はpic_height_in_luma_samples未満であるものとする。
ChromaArrayTypeが0に等しくないとき、2つのクロマアレイの対応する指定されたサンプルは、ピクチャ座標(x/SubWidthC,y/SubHeightC)を有するサンプルであり、ここで、(x,y)は、指定されたルーマサンプルのピクチャ座標である。
注2-適合クロッピングウィンドウオフセットパラメータは、出力においてのみ適用される。すべての内部復号プロセスは、クロッピングされていないピクチャサイズに適用される。
ppsAおよびppsBを、同じSPSを参照する任意の2つのPPSとする。ppsAおよびppsBがそれぞれ同じ値のpic_width_in_luma_samplesおよびpic_height_in_luma_samplesを有するとき、ppsAおよびppsBがそれぞれ同じ値のpps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset、およびpps_conf_win_bottom_offsetを有さなければならないことが、ビットストリーム適合性の要件である。
pic_width_in_luma_samplesがpic_width_max_in_luma_samplesに等しく、pic_height_in_luma_samplesがpic_height_max_in_luma_samplesに等しいとき、pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset、およびpps_conf_win_bottom_offsetが、それぞれsps_conf_win_left_offset、sps_conf_win_right_offset、sps_conf_win_top_offset、およびsps_conf_win_bottom_offsetに等しいことが、ビットストリーム適合性の要件である。
1に等しいscaling_window_explicit_signalling_flagは、スケーリングウィンドウオフセットパラメータがPPSに存在することを指定する。0に等しいscaling_window_explicit_signalling_flagは、スケーリングウィンドウオフセットパラメータがPPSに存在しないことを指定する。res_change_in_clvs_allowed_flagが0に等しいとき、scaling_window_explicit_signalling_flagの値は0に等しいものとする。
scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset、およびscaling_win_bottom_offsetは、スケーリング比計算のためにピクチャサイズに適用されるオフセットを指定する。存在しないとき、scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset、およびscaling_win_bottom_offsetの値は、それぞれ、pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset、およびpps_conf_win_bottom_offsetに等しいと推測される。
SubWidthC*(scaling_win_left_offset+scaling_win_right_offset)の値はpic_width_in_luma_samples未満であるものとし、SubHeightC*(scaling_win_top_offset+scaling_win_bottom_offset)の値はpic_height_in_luma_samples未満であるものとする。
変数PicOutputWidthLおよびPicOutputHeightLは以下のように導出される:
Figure 2023515185000047
refPicOutputWidthLおよびrefPicOutputHeightLを、それぞれ、このPPSを参照する現在のピクチャの参照ピクチャのPicOutputWidthLおよびPicOutputHeightLとする。以下の条件のすべてが満たされることがビットストリーム適合性の要件である:
- PicOutputWidthL*2は、refPicWidthInLumaSamples以上であるものとする。
- PicOutputHeightL*2は、refPicHeightInLumaSamples以上であるものとする。
- PicOutputWidthLは、refPicWidthInLumaSamples*8以下であるものとする。
- PicOutputHeightLは、refPicHeightInLumaSamples*8以下であるものとする。
- PicOutputWidthL*pic_width_max_in_luma_samplesは、refPicOutputWidthL*(pic_width_in_luma_samples-Max(8,MinCbSizeY))以上であるものとする。
- PicOutputHeightL*pic_height_max_in_luma_samplesは、refPicOutputHeightL*(pic_height_in_luma_samples-Max(8,MinCbSizeY))以上であるものとする。
1に等しいoutput_flag_present_flagは、pic_output_flagシンタックス要素が、PPSを参照するスライスヘッダに存在することを示す。0に等しいoutput_flag_present_flagは、pic_output_flagシンタックス要素が、PPSを参照するスライスヘッダに存在しないことを示す。
1に等しいsubpic_id_mapping_in_pps_flagは、サブピクチャIDマッピングがPPS中でシグナリングされることを指定する。0に等しいsubpic_id_mapping_in_pps_flagは、サブピクチャIDマッピングがPPS中でシグナリングされないことを指定する。subpic_id_mapping_explicitly_signalled_flagが0であるか、またはsubpic_id_mapping_in_sps_flagが1に等しい場合、subpic_id_mapping_in_pps_flagの値は0に等しいものとする。そうでない場合(subpic_id_mapping_explicitly_signalled_flagが1に等しく、subpic_id_mapping_in_sps_flagが0に等しい場合)、subpic_id_mapping_in_pps_flagの値は1に等しいものとする。
pps_num_subpics_minus1はsps_num_subpics_minus1に等しいものとする。
pps_subpic_id_len_minus1は、sps_subpic_id_len_minus1に等しいものとする。
pps_subpic_id[i]は、第iのサブピクチャのサブピクチャIDを指定する。pps_subpic_id[i]シンタックス要素の長さは、pps_subpic_id_len_minus1+1ビットである。
両端値を含めて0からsps_num_subpics_minus1の範囲内のiの各値について、変数SubpicIdVal[i]は、以下のように導出される:
Figure 2023515185000048
以下の制約の両方が適用されることが、ビットストリーム適合性の要件である:
- 両端値を含めて0からsps_num_subpics_minus1の範囲内のiおよびjの任意の2つの異なる値について、SubpicIdVal[i]は、SubpicIdVal[j]に等しくないものとする。
- 現在のピクチャがCLVSの最初のピクチャでないとき、両端値を含めて0からsps_num_subpics_minus1の範囲内のiの各値について、SubpicIdVal[i]の値が同じレイヤにおいて復号順序で前のピクチャのSubpicIdVal[i]の値に等しくない場合、サブピクチャインデックスiを有する現在のピクチャ内のサブピクチャのすべてのコード化スライスNALユニットのnal_unit_typeは、両端値を含めてIDR_W_RADLからCRA_NUTの範囲内の特定の値に等しいものとする。
1に等しいno_pic_partition_flagは、PPSを参照する各ピクチャにピクチャパーティショニングが適用されないことを指定する。0に等しいno_pic_partition_flagは、PPSを参照する各ピクチャが2つ以上のタイルまたはスライスにパーティショニングされ得ることを指定する。
no_pic_partition_flagの値が、CLVS内のコード化ピクチャによって参照されるすべてのPPSについて同じであるべきであることが、ビットストリーム適合性の要件である。
sps_num_subpics_minus1+1の値が1より大きいとき、no_pic_partition_flagの値が1に等しくないことが、ビットストリーム適合性の要件である。
pps_log2_ctu_size_minus5+5は、各CTUのルーマコーディングツリーブロックサイズを指定する。pps_log2_ctu_size_minus5は、sps_log2_ctu_size_minus5に等しいものとする。
num_exp_tile_columns_minus1+1は、明示的に提供されるタイル列幅の数を指定する。num_exp_tile_columns_minus1の値は、両端値を含めて0からPicWidthINctbsY-1の範囲内にあるものとする。no_pic_partition_flagが1に等しいとき、num_exp_tile_columns_minus1の値は0に等しいと推測される。
num_exp_tile_rows_minus1+1は、明示的に提供されるタイル行高さの数を指定する。num_exp_tile_rows_minus1の値は、両端値を含めて0からPicHeightInCtbsY-1の範囲内にあるものとする。no_pic_partition_flagが1に等しいとき、num_tile_rows_minus1の値は0に等しいと推測される。
tile_column_width_minus1[i]+1は、両端値を含めて0からnum_exp_tile_columns_minus1-1の範囲内のiについて、CTBの単位で第iのタイル列の幅を指定する。tile_column_width_minus1[num_exp_tile_columns_minus1]は、第6.5.1節で規定されているように、num_exp_tile_columns_minus1以上のインデックスを有するタイル列の幅を導出するために使用される。tile_column_width_minus1[i]の値は、両端値を含めて0からPicWidthINctbsY-1の範囲内にあるものとする。存在しないとき、tile_column_width_minus1[0]の値は、PicWidthInCtbsY-1に等しいと推測される。
tile_row_height_minus1[i]+1は、両端値を含めて0からnum_exp_tile_rows_minus1-1の範囲内のiについて、CTBの単位で第iのタイル行の高さを指定する。tile_row_height_minus1[num_exp_tile_rows_minus1]は、第6.5.1.節で規定されているように、num_exp_tile_rows_minus1以上のインデックスを有するタイル行の高さを導出するために使用される。tile_row_height_minus1[i]の値は、両端値を含めて0からPicHeightINctbsY-1の範囲内にあるものとする。存在しないとき、tile_row_height_minus1[0]の値は、PicHeightInCtbsY-1に等しいと推測される。
0に等しいrect_slice_flagは、各スライス内のタイルがラスタスキャン順であり、スライス情報がPPS中でシグナリングされないことを指定する。1に等しいrect_slice_flagは、各スライス内のタイルがピクチャの矩形領域をカバーし、スライス情報がPPS中でシグナリングされることを指定する。存在しないとき、rect_slice_flagは1に等しいと推測される。subpic_info_present_flagが1に等しいとき、rect_slice_flagの値は1に等しいものとする。
1に等しいsingle_slice_per_subpic_flagは、各サブピクチャが唯一の矩形スライスから構成されることを指定する。0に等しいsingle_slice_per_subpic_flagは、各サブピクチャが1つまたは複数の矩形スライスから構成され得ることを指定する。single_slice_per_subpic_flagが1に等しいとき、num_slices_in_pic_minus1はsps_num_subpics_minus1に等しいと推測される。存在しないとき、single_slice_per_subpic_flagの値は0に等しいと推測される。
num_slices_in_pic_minus1+1は、PPSを参照する各ピクチャ中の矩形スライスの数を指定する。num_slices_in_pic_minus1の値は、両端値を含めて0からMaxSlicesPerPicture-1の範囲内にあるものとし、MaxSlicesPerPictureはAnnex Aで指定されている。no_pic_partition_flagが1に等しいとき、num_slices_in_pic_minus1の値は0に等しいと推測される。
0に等しいtile_idx_delta_present_flagは、tile_idx_delta値がPPSに存在せず、PPSを参照するピクチャ中のすべての矩形スライスが、第6.5.1節で定義されたプロセスにしたがってラスタ順序で指定されることを指定する。1に等しいtile_idx_delta_present_flagは、tile_idx_delta値がPPSに存在し得、PPSを参照するピクチャ中のすべての矩形スライスがtile_idx_deltaの値によって示される順序で指定されることを指定する。存在しないとき、tile_idx_delta_present_flagの値は0に等しいと推測される。
slice_width_in_tiles_minus1[i]+1は、タイル列の単位で第iの矩形スライスの幅を指定する。slice_width_in_tiles_minus1[i]の値は、両端値を含めて0からNumTileColumns-1の範囲内にあるものとする。
slice_width_in_tiles_minus1[i]が存在しないとき、以下が適用される:
- NumTileColumnsが1に等しい場合、slice_width_in_tiles_minus1[i]の値は0に等しいと推測される。
- そうでない場合、slice_width_in_tiles_minus1[i]の値は、第6.5.1節で規定されているように推測される。
slice_height_in_tiles_minus1[i]+1は、タイル行の単位で第iの矩形スライスの高さを指定する。slice_height_in_tiles_minus1[i]の値は、両端値を含めて0からNumTileRows-1の範囲内にあるものとする。
slice_height_in_tiles_minus1[i]が存在しないとき、以下が適用される:
- NumTileRowsが1に等しいか、またはtile_idx_delta_present_flagが0に等しく、tileIdx%NumTileColumnsが0より大きい場合)、slice_height_in_tiles_minus1[i]の値は0に等しいと推測される。
- そうでない場合(NumTileRowsが1に等しくなく、tile_idx_delta_present_flagが1に等しいか、またはtileIdx%NumTileColumnsが0に等しい場合)、tile_idx_delta_present_flagが1に等しいか、またはtileIdx%NumTileColumnsが0に等しいとき、slice_height_in_tiles_minus1[i]の値はslice_height_in_tiles_minus1[i-1]に等しいと推測される。
num_exp_slices_in_tile[i]は、2つ以上の矩形スライスを含む現在のタイル内の明示的に提供されるスライス高さの数を指定する。num_exp_slices_in_tile[i]の値は、両端値を含めて0からRowHeight[tileY]-1の範囲内にあるものとし、ここでtileYは第iのスライスを含むタイル行インデックスである。存在しないとき、num_exp_slices_in_tile[i]の値は0に等しいと推測される。num_exp_slices_in_tile[i]が0に等しいとき、変数NumSlicesInTile[i]の値は1に等しくなるように導出される。
exp_slice_height_in_ctus_minus1[j]+1は、CTU行の単位で現在のタイル内の第jの矩形スライスの高さを指定する。exp_slice_height_in_ctus_minus1[j]の値は、両端値を含めて0からRowHeight[tileY]-1の範囲内にあるものとし、ここでtileYは、現在のタイルのタイル行インデックスである。
num_exp_slices_in_tile[i]が0より大きいとき、0からNumSlicesInTile[i]-1の範囲内のkについて、変数NumSlicesInTile[i]およびSliceHeightInCtusMinus1[i+k]は、以下のように導出される:
Figure 2023515185000049
tile_idx_delta[i]は、第iの矩形スライス内の最初のタイルのタイルインデックスと第(i+1)の矩形スライス内の最初のタイルのタイルインデックスとの間の差を指定する。tile_idx_delta[i]の値は、両端値を含めて-NumTilesInPic+1からNumTilesInPic-1の範囲内にあるものとする。存在しないとき、tile_idx_delta[i]の値は0に等しいと推測される。存在するとき、tile_idx_delta[i]の値は0に等しくないものとする。
1に等しいloop_filter_across_tiles_enabled_flagは、ループ内フィルタリング動作が、PPSを参照するピクチャ内のタイル境界を越えて実行され得ることを指定する。0に等しいloop_filter_across_tiles_enabled_flagは、ループ内フィルタリング動作が、PPSを参照するピクチャ内のタイル境界を越えて実行されないことを指定する。ループ内フィルタリング動作は、デブロッキングフィルタ、サンプル適応オフセットフィルタ、および適応ループフィルタ動作を含む。存在しないとき、loop_filter_across_tiles_enabled_flagの値は、1に等しいと推測される。
1に等しいloop_filter_across_slices_enabled_flagは、ループ内フィルタリング動作が、PPSを参照するピクチャ内のスライス境界を越えて実行され得ることを指定する。0に等しいloop_filter_across_slice_enabled_flagは、ループ内フィルタリング動作が、PPSを参照するピクチャ中のスライス境界を越えて実行されないことを指定する。ループ内フィルタリング動作は、デブロッキングフィルタ、サンプル適応オフセットフィルタ、および適応ループフィルタ動作を含む。存在しないとき、loop_filter_across_slices_enabled_flagの値は0に等しいと推測される。
1に等しいcabac_init_present_flagは、cabac_init_flagが、PPSを参照するスライスヘッダに存在することを指定する。0に等しいcabac_init_present_flagは、cabac_init_flagが、PPSを参照するスライスヘッダに存在しないことを指定する。
num_ref_idx_default_active_minus1[i]+1は、iが0に等しいとき、num_ref_idx_active_override_flagが0に等しいPスライスまたはBスライスに対する変数NumRefIdxActive[0]の推定値を指定し、iが1に等しいとき、num_ref_idx_active_override_flagが0に等しいBスライスに対するNumRefIdxActive[1]の推定値を指定する。num_ref_idx_default_active_minus1[i]の値は、両端値を含めて0から14の範囲内にあるものとする。
0に等しいrpl1_idx_present_flagは、ref_pic_list_sps_flag[1]およびref_pic_list_idx[1]が、PPSを参照するピクチャのためのPHシンタックス構造またはスライスヘッダに存在しないことを指定する。1に等しいrpl1_idx_present_flagは、ref_pic_list_sps_flag[1]およびref_pic_list_idx[1]が、PPSを参照するピクチャのためのPHシンタックス構造またはスライスヘッダに存在し得ることを指定する。
init_qp_minus26+26は、PPSを参照する各スライスに対するSliceQpYの初期値を指定する。SliceQpYの初期値は、ph_qp_deltaの非0値が復号されるときはピクチャレベルで修正され、slice_qp_deltaの非0値が復号されるときはスライスレベルで修正される。init_qp_minus26の値は、両端値を含めて-(26+QpBdOffset)から+37の範囲内にあるものとする。
1に等しいcu_qp_delta_enabled_flagは、ph_cu_qp_delta_subdiv_intra_sliceおよびph_cu_qp_delta_subdiv_inter_sliceシンタックス要素が、PPSを参照するPHに存在し、cu_qp_delta_absが変換単位シンタックスに存在し得ることを指定する。0に等しいcu_qp_delta_enabled_flagは、ph_cu_qp_delta_subdiv_intra_sliceおよびph_cu_qp_delta_subdiv_inter_sliceシンタックス要素が、PPSを参照するPHに存在せず、cu_qp_delta_absが変換単位シンタックスに存在しないことを指定する。
1に等しいpps_chroma_tool_offsets_present_flagは、クロマツールオフセット関連シンタックス要素が、PPS RBSPシンタックス構造に存在することを指定する。0に等しいpps_chroma_tool_offsets_present_flagは、クロマツールオフセット関連シンタックス要素が、PPS RBSPシンタックス構造に存在しないことを指定する。ChromaArrayTypeが0に等しいとき、pps_chroma_tool_offsets_present_flagの値は0に等しいものとする。
pps_cb_qp_offsetおよびpps_cr_qp_offsetは、それぞれ、Qp’CbおよびQp’Crを導出するために使用されるルーマ量子化パラメータQp’Yに対するオフセットを指定する。pps_cb_qp_offsetおよびpps_cr_qp_offsetの値は、両端値を含めて-12から+12の範囲内にあるものとする。ChromaArrayTypeが0に等しいとき、pps_cb_qp_offsetおよびpps_cr_qp_offsetは復号プロセスで使用されず、デコーダはそれらの値を無視するものとする。存在しないとき、pps_cb_qp_offsetおよびpps_cr_qp_offsetの値は、0に等しいと推測される。
1に等しいpps_joint_cbcr_qp_offset_present_flagは、pps_joint_cbcr_qp_offset_valueおよびjoint_cbcr_qp_offset_list[i]が、PPS RBSPシンタックス構造に存在することを指定する。0に等しいpps_joint_cbcr_qp_offset_present_flagは、pps_joint_cbcr_qp_offset_valueおよびjoint_cbcr_qp_offset_list[i]が、PPS RBSPシンタックス構造に存在しないことを指定する。ChromaArrayTypeが0に等しいか、またはsps_joint_cbcr_enabled_flagが0に等しいとき、pps_joint_cbcr_qp_offset_present_flagの値は0に等しいものとする。存在しないとき、pps_joint_cbcr_qp_offset_present_flagの値は0に等しいと推測される。
pps_joint_cbcr_qp_offset_valueは、Qp’CbCrを導出するために使用されるルーマ量子化パラメータQp’Yに対するオフセットを指定する。pps_joint_cbcr_qp_offset_valueの値は、両端値を含めて-12から+12の範囲内にあるものとする。ChromaArrayTypeが0に等しいか、またはsps_joint_cbcr_enabled_flagが0に等しいとき、pps_joint_cbcr_qp_offset_valueは復号プロセスで使用されず、デコーダはその値を無視するものとする。pps_joint_cbcr_qp_offset_present_flagが0に等しいとき、pps_joint_cbcr_qp_offset_valueは存在せず、0に等しいと推測される。
1に等しいpps_slice_chroma_qp_offsets_present_flagは、slice_cb_qp_offsetおよびslice_cr_qp_offsetシンタックス要素が、関連付けられたスライスヘッダに存在することを指定する。0に等しいpps_slice_chroma_qp_offsets_present_flagは、slice_cb_qp_offsetおよびslice_cr_qp_offsetシンタックス要素が、関連付けられたスライスヘッダに存在しないことを指定する。存在しないとき、pps_slice_chroma_qp_offsets_present_flagの値は0に等しいと推測される。
1に等しいpps_cu_chroma_qp_offset_list_enabled_flagは、ph_cu_chroma_qp_offset_subdiv_intra_sliceおよびph_cu_chroma_qp_offset_subdiv_inter_sliceシンタックス要素が、PPSを参照するPHに存在し、cu_chroma_qp_offset_flagが、変換単位シンタックスおよびパレットコーディングシンタックスに存在し得ることを指定する。0に等しいpps_cu_chroma_qp_offset_list_enabled_flagは、ph_cu_chroma_qp_offset_subdiv_intra_sliceおよびph_cu_chroma_qp_offset_subdiv_inter_sliceシンタックス要素が、PPSを参照するPHに存在せず、cu_chroma_qp_offset_flagが、変換単位シンタックスおよびパレットコーディングシンタックスに存在しないことを指定する。存在しないとき、pps_cu_chroma_qp_offset_list_enabled_flagの値は0に等しいと推測される。
chroma_qp_offset_list_len_minus1+1は、PPS RBSPシンタックス構造に存在するcb_qp_offset_list[i]、cr_qp_offset_list[i]、およびjoint_cbcr_qp_offset_list[i]のシンタックス要素の数を指定する。chroma_qp_offset_list_len_minus1の値は、両端値を含めて0から5の範囲内にあるものとする。
cb_qp_offset_list[i]、cr_qp_offset_list[i]、およびjoint_cbcr_qp_offset_list[i]は、それぞれ、Qp’Cb、Qp’Cr、およびQp’CbCrの導出で使用されるオフセットを指定する。cb_qp_offset_list[i]、cr_qp_offset_list[i]、およびjoint_cbcr_qp_offset_list[i]の値は、両端値を含めて-12から+12の範囲内にあるものとする。pps_joint_cbcr_qp_offset_present_flagが0に等しいとき、joint_cbcr_qp_offset_list[i]は存在せず、それは0に等しいと推測される。
0に等しいpps_weighted_pred_flagは、重み付け予測が、PPSを参照するPスライスに適用されないことを指定する。1に等しいpps_weighted_pred_flagは、重み付け予測が、PPSを参照するPスライスに適用されることを指定する。sps_weighted_pred_flagが0に等しいとき、pps_weighted_pred_flagの値は0に等しいものとする。
0に等しいpps_weighted_bipred_flagは、明示的重み付け予測が、PPSを参照するBスライスに適用されないことを指定する。1に等しいpps_weighted_bipred_flagは、明示的重み付け予測が、PPSを参照するBスライスに適用されることを指定する。sps_weighted_bipred_flagが0に等しいとき、pps_weighted_bipred_flagの値は0に等しいものとする。
1に等しいdeblocking_filter_control_present_flagは、デブロッキングフィルタ制御シンタックス要素がPPSに存在することを指定する。0に等しいdeblocking_filter_control_present_flagは、デブロッキングフィルタ制御シンタックス要素がPPSに存在しないことを指定する。
1に等しいdeblocking_filter_override_enabled_flagは、ph_deblocking_filter_override_flagが、PPSを参照するPHに存在すること、またはslice_deblocking_filter_override_flagが、PPSを参照するスライスヘッダに存在することを指定する。0に等しいdeblocking_filter_override_enabled_flagは、ph_deblocking_filter_override_flagが、PPSを参照するPHに存在しないこと、またはslice_deblocking_filter_override_flagが、PPSを参照するスライスヘッダに存在しないことを指定する。存在しないとき、deblocking_filter_override_enabled_flagの値は0に等しいと推測される。
1に等しいpps_deblocking_filter_disabled_flagは、slice_deblocking_filter_disabled_flagが存在しないPPSを参照するスライスに対してデブロッキングフィルタの動作が適用されないことを指定する。0に等しいpps_deblocking_filter_disabled_flagは、slice_deblocking_filter_disabled_flagが存在しないPPSを参照するスライスに対してデブロッキングフィルタの動作が適用されることを指定する。存在しないとき、pps_deblocking_filter_disabled_flagの値は0に等しいと推測される。
pps_beta_offset_div2およびpps_tc_offset_div2は、PPSを参照するスライスのルーマ成分に適用されるβおよびtC(2で除算される)のためのデフォルトデブロッキングパラメータオフセットを指定するが、このデフォルトデブロッキングパラメータオフセットが、PPSを参照するスライスのピクチャヘッダまたはスライスヘッダに存在するデブロッキングパラメータオフセットによってオーバーライドされる場合は除く。pps_beta_offset_div2およびpps_tc_offset_div2の値は両方とも、両端値を含めて-12から12の範囲内にあるものとする。存在しないとき、pps_beta_offset_div2およびpps_tc_offset_div2の値は両方とも、0に等しいと推測される。
pps_cb_beta_offset_div2およびpps_cb_tc_offset_div2は、PPSを参照するスライス^のCb成分に適用されるβおよびtC(2で除算される)のためのデフォルトデブロッキングパラメータオフセットを指定するが、このデフォルトデブロッキングパラメータオフセットが、PPSを参照するスライスのピクチャヘッダまたはスライスヘッダに存在するデブロッキングパラメータオフセットによってオーバーライドされる場合は除く。pps_cb_beta_offset_div2およびpps_cb_tc_offset_div2の値は両方とも、両端値を含めて-12から12の範囲内にあるものとする。存在しないとき、pps_cb_beta_offset_div2およびpps_cb_tc_offset_div2の値は、両方とも0に等しいと推測される。
pps_cr_beta_offset_div2およびpps_cr_tc_offset_div2は、PPSを参照するスライスのCr成分に適用されるβおよびtC(2で除算される)のためのデフォルトデブロッキングパラメータオフセットを指定するが、このデフォルトデブロッキングパラメータオフセットが、PPSを参照するスライスのピクチャヘッダまたはスライスヘッダに存在するデブロッキングパラメータオフセットによってオーバーライドされる場合は除く。pps_cr_beta_offset_div2およびpps_cr_tc_offset_div2の値は両方とも、両端値を含めて-12から12の範囲内にあるものとする。存在しないとき、pps_cr_beta_offset_div2およびpps_cr_tc_offset_div2の値は両方とも0に等しいと推測される。
1に等しいrpl_info_in_ph_flagは、参照ピクチャリスト情報がPHシンタックス構造に存在し、PHシンタックス構造を含まないPPSを参照するスライスヘッダに存在しないことを指定する。0に等しいrpl_info_in_ph_flagは、参照ピクチャリスト情報がPHシンタックス構造に存在せず、PHシンタックス構造を含まないPPSを参照するスライスヘッダに存在し得ることを指定する。
1に等しいdbf_info_in_ph_flagは、デブロッキングフィルタ情報がPHシンタックス構造に存在し、PHシンタックス構造を含まないPPSを参照するスライスヘッダに存在しないことを指定する。0に等しいdbf_info_in_ph_flagは、デブロッキングフィルタ情報がPHシンタックス構造に存在せず、PHシンタックス構造を含まないPPSを参照するスライスヘッダに存在し得ることを指定する。存在しないとき、dbf_info_in_ph_flagの値は0に等しいと推測される。
1に等しいsao_info_in_ph_flagは、SAOフィルタ情報がPHシンタックス構造に存在し、PHシンタックス構造を含まないPPSを参照するスライスヘッダに存在しないことを指定する。0に等しいsao_info_in_ph_flagは、SAOフィルタ情報がPHシンタックス構造に存在せず、PHシンタックス構造を含まないPPSを参照するスライスヘッダに存在し得ることを指定する。
1に等しいalf_info_in_ph_flagは、ALF情報がPHシンタックス構造に存在し、PHシンタックス構造を含まないPPSを参照するスライスヘッダに存在しないことを指定する。0に等しいalf_info_in_ph_flagは、ALF情報がPHシンタックス構造に存在せず、PHシンタックス構造を含まないPPSを参照するスライスヘッダに存在し得ることを指定する。
1に等しいwp_info_in_ph_flagは、重み付け予測情報がPHシンタックス構造に存在し得、PHシンタックス構造を含まないPPSを参照するスライスヘッダに存在しないことを指定する。0に等しいwp_info_in_ph_flagは、重み付け予測情報がPHシンタックス構造に存在せず、PHシンタックス構造を含まないPPSを参照するスライスヘッダに存在し得ることを指定する。存在しないとき、wp_info_in_ph_flagの値は0に等しいと推測される。
1に等しいqp_delta_info_in_ph_flagは、QPデルタ情報がPHシンタックス構造に存在し、PHシンタックス構造を含まないPPSを参照するスライスヘッダに存在しないことを指定する。0に等しいqp_delta_info_in_ph_flagは、QPデルタ情報がPHシンタックス構造に存在せず、PHシンタックス構造を含まないPPSを参照するスライスヘッダに存在し得ることを指定する。
1に等しいpps_ref_wraparound_enabled_flagは、水平ラップアラウンド動き補償がインター予測において適用されることを指定する。0に等しいpps_ref_wraparound_enabled_flagは、水平ラップアラウンド動き補償が適用されないことを指定する。CtbSizeY/MinCbSizeY+1の値がpic_width_in_luma_samples/MinCbSizeY-1よりも大きいとき、pps_ref_wraparound_enabled_flagの値は0に等しいものとする。sps_ref_wraparound_enabled_flagが0に等しいとき、pps_ref_wraparound_enabled_flagの値は0に等しいものとする。
pps_ref_wraparound_offset+(CtbSizeY/MinCbSizeY)+2は、MinCbSizeY個のルーマサンプルの単位で水平ラップアラウンド位置を計算するために使用されるオフセットを指定する。pps_ref_wraparound_offsetの値は、両端値を含めて0から(pic_width_in_luma_samples/MinCbSizeY)-(CtbSizeY/MinCbSizeY)-2の範囲内にあるものとする。
変数PpsRefWraparoundOffsetは、pps_ref_wraparound_offset+(CtbSizeY/MinCbSizeY)+2に等しく設定される。
0に等しいpicture_header_extension_present_flagは、PH拡張シンタックス要素が、PPSを参照するPHに存在しないことを指定する。1に等しいpicture_header_extension_present_flagは、PH拡張シンタックス要素が、PPSを参照するPHに存在することを指定する。picture_header_extension_present_flagは、本仕様書のこのバージョンに準拠するビットストリームにおいて0に等しいものとする。
0に等しいslice_header_extension_present_flagは、スライスヘッダ拡張シンタックス要素が、PPSを参照するコード化ピクチャのためのスライスヘッダに存在しないことを指定する。1に等しいslice_header_extension_present_flagは、スライスヘッダ拡張シンタックス要素が、PPSを参照するコード化ピクチャのためのスライスヘッダに存在することを指定する。slice_header_extension_present_flagは、本仕様書のこのバージョンに準拠するビットストリームにおいて0に等しいものとする。
0に等しいpps_extension_flagは、pps_extension_data_flagシンタックス要素がPPS RBSPシンタックス構造に存在しないことを指定する。1に等しいpps_extension_flagは、pps_extension_data_flagシンタックス要素がPPS RBSPシンタックス構造に存在することを指定する。
pps_extension_data_flagは任意の値を有し得る。その存在および値は、本仕様書のこのバージョンで規定されているプロファイルへのデコーダの適合性に影響を及ぼさない。本仕様書のこのバージョンに準拠するデコーダは、すべてのpps_extension_data_flagシンタックス要素を無視するものとする。
3.7.APSのシンタックスおよびセマンティクス
最新のVVCドラフトテキストでは、APSのシンタックスおよびセマンティクスは以下の通りである:
Figure 2023515185000050
APS RBSPは、ALFシンタックス構造、すなわち、alf_data( )を含む。
Figure 2023515185000051
Figure 2023515185000052
APS RBSPは、LMCSシンタックス構造、すなわち、lmcs_data( )を含む。
Figure 2023515185000053
APS RBSPは、スケーリングリストデータシンタックス構造、すなわち、scaling_list_data( )を含む。
Figure 2023515185000054
Figure 2023515185000055
各APS RBSPは、それが参照される前に復号プロセスに利用可能であり、それを参照するコード化スライスNALユニットのTemporalId以下のTemporalIdを有する少なくとも1つのAUに含まれるか、または外部手段を通して提供されるものとする。
PU内のadaptation_parameter_set_idの特定の値およびaps_params_typeの特定の値を有するすべてのAPS NALユニットは、それらがプレフィックスAPS NALユニットであるかサフィックスAPS NALユニットであるかにかかわらず、同じコンテンツを有するものとする。
adaptation_parameter_set_idは、他のシンタックス要素による参照のためのAPSの識別子を提供する。
aps_params_typeがALF_APSまたはSCALING_APSに等しいとき、adaptation_parameter_set_idの値は、両端値を含めて0から7の範囲内にあるものとする。
aps_params_typeがLMCS_APSに等しいとき、adaptation_parameter_set_idの値は、両端値を含めて0から3の範囲内にあるものとする。
apsLayerIdを特定のAPS NALユニットのnuh_layer_idの値とし、vclLayerIdを特定のVCL NALユニットのnuh_layer_idの値とする。特定のVCL NALユニットは、apsLayerIdがvclLayerId以下であり、かつ、nuh_layer_idがapsLayerIdに等しいレイヤが、nuh_layer_idがvclLayerIdに等しいレイヤを含む少なくとも1つのOLSに含まれない限り、特定のAPS NALユニットを参照しないものとする。
aps_params_typeは、表6で指定されているように、APSで搬送されるAPSパラメータのタイプを指定する。
Figure 2023515185000056
aps_params_typeの特定の値を有するすべてのAPS NALユニットは、nuh_layer_id値にかかわらず、adaptation_parameter_set_idのための同じ値空間を共有する。aps_params_typeの異なる値を有するAPS NALユニットは、adaptation_parameter_set_idのための別個の値空間を使用する。
注1-APS NALユニット(adaptation_parameter_set_idの特定の値およびaps_params_typeの特定の値を有する)は、ピクチャにわたって共有され得、ピクチャ中の異なるスライスは、異なるALF APSを参照し得る。
注2-特定のVCL NALユニット(このVCL NALユニットは、復号順序でサフィックスAPS NALユニットに先行する)に関連付けられたサフィックスAPS NALユニットは、特定のVCL NALユニットによって使用されるのではなく、復号順序でサフィックスAPS NALユニットに後続するVCL NALユニットによって使用される。
0に等しいaps_extension_flagは、aps_extension_data_flagシンタックス要素がAPS RBSPシンタックス構造に存在しないことを指定する。1に等しいaps_extension_flagは、aps_extension_data_flagシンタックス要素がAPS RBSPシンタックス構造に存在することを指定する。
aps_extension_data_flagは任意の値を有し得る。その存在および値は、本仕様書のこのバージョンで規定されているプロファイルへのデコーダの適合性に影響を及ぼさない。本仕様書のこのバージョンに準拠するデコーダは、すべてのaps_extension_data_flagシンタックス要素を無視するものとする。
1に等しいalf_luma_filter_signal_flagは、ルーマフィルタセットがシグナリングされることを指定する。0に等しいalf_luma_filter_signal_flagは、ルーマフィルタセットがシグナリングされないことを指定する。
1に等しいalf_chroma_filter_signal_flagは、クロマフィルタがシグナリングされることを指定する。0に等しいalf_chroma_filter_signal_flagは、クロマフィルタがシグナリングされないことを指定する。ChromaArrayTypeが0に等しいとき、alf_chroma_filter_signal_flagは0に等しいものとする。
alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag、およびalf_cc_cr_filter_signal_flagの値のうちの少なくとも1つは、1に等しいものとする。
異なる適応ループフィルタの数を指定する変数nUMaLFfILTERSは、25に等しく設定される。
0に等しいalf_luma_clip_flagは、線形適応ループフィルタリングがルーマ成分に適用されることを指定する。1に等しいalf_luma_clip_flagは、非線形適応ループフィルタリングがルーマ成分に適用され得ることを指定する。
alf_luma_num_filters_signalled_minus1+1は、ルーマ係数がシグナリングされ得る適応ループフィルタクラスの数を指定する。alf_luma_num_filters_signalled_minus1の値は、両端値を含めて0からnUMaLFfILTERS-1の範囲内にあるものとする。
alf_luma_coeff_delta_idx[filtIdx]は、0からnUMaLFfILTERS-1の範囲のfiltIdxによって示されるフィルタクラスのためのシグナリングされた適応ループフィルタルーマ係数デルタのインデックスを指定する。alf_luma_coeff_delta_idx[filtIdx]が存在しないとき、それは0に等しいと推測される。alf_luma_coeff_delta_idx[filtIdx]の長さは、Ceil(Log2(alf_luma_num_filters_signalled_minus1+1))ビットである。alf_luma_coeff_delta_idx[filtIdx]の値は、両端値を含めて0からalf_luma_num_filters_signalled_minus1の範囲内にあるものとする。
alf_luma_coeff_abs[sfIdx][j]は、sfIdxによって示されるシグナリングされたルーマフィルタの第jの係数の絶対値を指定する。alf_luma_coeff_abs[sfIdx][j]が存在しないとき、それは0に等しいと推測される。alf_luma_coeff_abs[sfIdx][j]の値は、両端値を含めて0から128の範囲内にあるものとする。
alf_luma_coeff_sign[sfIdx][j]は、sfIdxによって示されるフィルタの第jのルーマ係数の符号を以下のように指定する:
- alf_luma_coeff_sign[sfIdx][j]が0に等しい場合、対応するルーマフィルタ係数は正の値を有する。
- そうでない場合(alf_luma_coeff_sign[sfIdx][j]が1に等しい場合)、対応するルーマフィルタ係数は負の値を有する。
alf_luma_coeff_sign[sfIdx][j]が存在しないとき、それは0に等しいと推測される。
sfIdx=0..alf_luma_num_filters_signalled_minus1、j=0..11の変数filtCoeff[sfIdx][j]は、以下のように初期化される:
Figure 2023515185000057
filtIdx=0..nUMaLFfILTERS-1およびj=0.11の要素AlfCoeffL[adaptation_parameter_set_id][filtIdx][j]を有するルーマフィルタ係数AlfCoeffL[adaptation_parameter_set_id]は、以下のように導出される:
Figure 2023515185000058
i=0..64、j=0..11の固定フィルタ係数AlfFixFiltCoeff[i][j]、ならびにm=0..15およびn=0..24のクラスからフィルタへのマッピングAlfClassToFiltMap[m][n]は、以下のように導出される:
Figure 2023515185000059
Figure 2023515185000060
Figure 2023515185000061
filtIdx=0..nUMaLFfILTERS-1、j=0..11のAlfCoeffL[adaptation_parameter_set_id][filtIdx][j]の値が、両端値を含めて-27から27-1の範囲内になければならないことが、ビットストリーム適合性の要件である。
alf_luma_clip_idx[sfIdx][j]は、sfIdxによって示されるシグナリングされたルーマフィルタの第jの係数を乗算する前に使用すべきクリッピング値のクリッピングインデックスを指定する。sfIdx=0..alf_luma_num_filters_signalled_minus1およびj=0.11のalf_luma_clip_idx[sfIdx][j]の値が、両端値を含めて0から3の範囲内になければならないことが、ビットストリーム適合性の要件である。
filtIdx=0..nUMaLFfILTERS-1およびj=0..11の要素AlfClipL[adaptation_parameter_set_id][filtIdx][j]を有するルーマフィルタクリッピング値AlfClipL[adaptation_parameter_set_id]は、alf_luma_clip_idx[alf_luma_coeff_delta_idx[filtIdx]][j]に等しく設定されたclipIdxおよびBitDepthに応じて、表8に規定されるように導出される。
0に等しいalf_chroma_clip_flagは、線形適応ループフィルタリングがクロマ成分に適用されることを指定する。1に等しいalf_chroma_clip_flagは、非線形適応ループフィルタリングがクロマ成分に適用されることを指定する。存在しないとき、alf_chroma_clip_flagは0に等しいと推測される。
alf_chroma_num_alt_filters_minus1+1は、クロマ成分のための代替フィルタの数を指定する。alf_chroma_num_alt_filters_minus1の値は、両端値を含めて0から7の範囲内にあるものとする。
alf_chroma_coeff_abs[altIdx][j]は、インデックスaltIdxを有する代替クロマフィルタのための第jのクロマフィルタ係数の絶対値を指定する。alf_chroma_coeff_abs[altIdx][j]が存在しないとき、それは0に等しいと推測される。alf_chroma_coeff_abs[sfIdx][j]の値は、両端値を含めて0から128の範囲内にあるものとする。
alf_chroma_coeff_sign[altIdx][j]は、インデックスaltIdxを有する代替クロマフィルタのための第jのクロマフィルタ係数の符号を以下のように指定する:
- alf_chroma_coeff_sign[altIdx][j]が0に等しい場合、対応するクロマフィルタ係数は正の値を有する。
- そうでない場合(alf_chroma_coeff_sign[altIdx][j]が1に等しい場合)、対応するクロマフィルタ係数は負の値を有する。
alf_chroma_coeff_sign[altIdx][j]が存在しないとき、それは0に等しいと推測される。
altIdx=0..alf_chroma_num_alt_filters_minus1、j=0..5の要素AlfCoeffC[adaptation_parameter_set_id][altIdx][j]を有するクロマフィルタ係数AlfCoeffC[adaptation_parameter_set_id][altIdx]は、以下のように導出される:
Figure 2023515185000062
altIdx=0..alf_chroma_num_alt_filters_minus1、j=0..5のAlfCoeffC[adaptation_parameter_set_id][altIdx][j]の値が両端値を含めて-27から27-1の範囲内にあるものとすることが、ビットストリーム適合性の要件である。
1に等しいalf_cc_cb_filter_signal_flagは、Cb色成分のためのクロス成分フィルタがシグナリングされることを指定する。0に等しいalf_cc_cb_filter_signal_flagは、Cb色成分のためのクロス成分フィルタがシグナリングされないことを指定する。ChromaArrayTypeが0に等しいとき、alf_cc_cb_filter_signal_flagは0に等しいものとする。
alf_cc_cb_filters_signalled_minus1+1は、現在のALF APS中でシグナリングされるCb色成分のためのクロス成分フィルタの数を指定する。alf_cc_cb_filters_signalled_minus1の値は、両端値を含めて0から3の範囲内にあるものとする。
alf_cc_cb_mapped_coeff_abs[k][j]は、Cb色成分のためのシグナリングされた第kのクロス成分フィルタの第jのマッピングされた係数の絶対値を指定する。alf_cc_cb_mapped_coeff_abs[k][j]が存在しないとき、それは0に等しいと推測される。
alf_cc_cb_coeff_sign[k][j]は、Cb色成分のためのシグナリングされた第kのクロス成分フィルタの第jの係数の符号を以下のように指定する:
- alf_cc_cb_coeff_sign[k][j]が0に等しい場合、対応するクロス成分フィルタ係数は正の値を有する。
- そうでない場合(alf_cc_cb_sign[k][j]が1に等しい場合)、対応するクロス成分フィルタ係数は負の値を有する。
alf_cc_cb_coeff_sign[k][j]が存在しないとき、それは0に等しいと推測される。
j=0..6のCb色成分CcAlfApsCoeffCb[adaptation_parameter_set_id][k][j]のためのシグナリングされた第kのクロス成分フィルタ係数は、以下のように導出される:
- alf_cc_cb_mapped_coeff_abs[k][j]が0に等しい場合、CcAlfApsCoeffCb[adaptation_parameter_set_id][k][j]は0に等しく設定される。
- そうでない場合、CcAlfApsCoeffCb[adaptation_parameter_set_id][k][j]は、(1-2*alf_cc_cb_coeff_sign[k][j])*2alf_cc_cb_mapped_coeff_abs[k][j]-1に等しく設定される。
1に等しいalf_cc_cr_filter_signal_flagは、Cr色成分のためのクロス成分フィルタがシグナリングされることを指定する。0に等しいalf_cc_cr_filter_signal_flagは、Cr色成分のためのクロス成分フィルタがシグナリングされないことを指定する。ChromaArrayTypeが0に等しいとき、alf_cc_cr_filter_signal_flagは0に等しいものとする。
alf_cc_cr_filters_signalled_minus1+1は、現在のALF APS中でシグナリングされるCr色成分のためのクロス成分フィルタの数を指定する。alf_cc_cr_filters_signalled_minus1の値は、両端値を含めて0から3の範囲内にあるものとする。
alf_cc_cr_mapped coeff_abs[k][j]は、Cr色成分のためのシグナリングされた第kのクロス成分フィルタの第jのマッピングされた係数の絶対値を指定する。alf_cc_cr_mapped coeff_abs[k][j]が存在しないとき、それは0に等しいと推測される。
alf_cc_cr_coeff_sign[k][j]は、以下のように、Cr色成分のためのシグナリングされた第kのクロス成分フィルタの第jの係数の符号を指定する。
- alf_cc_cr_coeff_sign[k][j]が0に等しい場合、対応するクロス成分フィルタ係数は正の値を有する。
- そうでない場合(alf_cc_cr_sign[k][j]が1に等しい場合)、対応するクロス成分フィルタ係数は負の値を有する。
alf_cc_cr_coeff_sign[k][j]が存在しないとき、それは0に等しいと推測される。
j=0..6のCr色成分CcAlfApsCoeffCr[adaptation_parameter_set_id][k][j]のためのシグナリングされた第kのクロス成分フィルタ係数は、以下のように導出される:
- alf_cc_cr_mapped_coeff_abs[k][j]が0に等しい場合、CcAlfApsCoeffCr[adaptation_parameter_set_id][k][j]は0に等しく設定される。
- そうでない場合、CcAlfApsCoeffCr[adaptation_parameter_set_id][k][j]は、(1-2*alf_cc_cr_coeff_sign[k][j])*2alf_cc_cr_mapped_coeff_abs[k][j]-1に等しく設定される。
alf_chroma_clip_idx[altIdx][j]は、インデックスaltIdxを有する代替クロマフィルタの第jの係数を乗算する前に使用すべきクリッピング値のクリッピングインデックスを指定する。altIdx=0..alf_chroma_num_alt_filters_minus1、j=0..5のalf_chroma_clip_idx[altIdx][j]の値が、両端値を含めて0から3の範囲内になければならないことが、ビットストリーム適合性の要件である。
altIdx=0..alf_chroma_num_alt_filters_minus1、j=0..5の要素AlfClipC[adaptation_parameter_set_id][altIdx][j]を有するクロマフィルタクリッピング値AlfClipC[adaptation_parameter_set_id][altIdx]は、alf_chroma_clip_idx[altIdx][j]に等しく設定されたclipIdxおよびBitDepthに応じて、表8に規定されているように導出される:
Figure 2023515185000063
lmcs_min_bin_idxは、クロマスケーリングを伴うルーママッピング構築プロセスで使用される最小ビンインデックスを指定する。lmcs_min_bin_idxの値は、両端値を含めて0から15の範囲内にあるものとする。
lmcs_delta_max_bin_idxは、15と、クロマスケーリングを伴うルーママッピング構築プロセスで使用される最大ビンインデックスLmcsMaxBinIdxとの間のデルタ値を指定する。lmcs_delta_max_bin_idxの値は、両端値を含めて0から15の範囲内にあるものとする。LmcsMaxBinIdxの値は、15-lmcs_delta_max_bin_idxに等しく設定される。LmcsMaxBinIdxの値は、lmcs_min_bin_idx以上であるものとする。
lmcs_delta_cw_prec_minus1+1は、シンタックスlmcs_delta_abs_cw[i]の表現に使用されるビット数を指定する。lmcs_delta_cw_prec_minus1の値は、両端値を含めて0からBitDepth-2の範囲内にあるものとする。
lmcs_delta_abs_cw[i]は、第iのビンに対する絶対デルタコードワード値を指定する。
lmcs_delta_sign_cw_flag[i]は、変数lmcsDeltaCW[i]の符号を以下のように指定する:
- lmcs_delta_sign_cw_flag[i]が0に等しい場合、lmcsDeltaCW[i]は正の値である。
- そうでない場合(lmcs_delta_sign_cw_flag[i]が0に等しくない場合)、lmcsDeltaCW[i]は負の値である。
lmcs_delta_sign_cw_flag[i]が存在しないとき、それは0に等しいと推測される。
変数OrgCWは以下のように導出される:
Figure 2023515185000064
i=lmcs_min_bin_idx..LmcsMaxBinIdxの変数lmcsDeltaCW[i]は、以下のように導出される:
Figure 2023515185000065
変数lmcsCW[i]は以下のように導出される:
- i=0..Lmcs_min_bin_idx-1の場合,lmcsCW[i]は0に等しく設定される。
- i=lmcs_min_bin_idx..LmcsMaxBinIdxの場合、以下が適用される:
Figure 2023515185000066
LmcsCW[i]の値は、両端値を含めて(OrgCW>>3)から(OrgCW<<3-1)の範囲内にあるものとする。
- i=LmcsMaxBinIdx+1..15の場合、lmcsCW[i]は0に等しく設定される。
以下の条件が真であることが、ビットストリーム適合性の要件である:
Figure 2023515185000067
i=0..16の変数InputPivot[i]は、以下のように導出される:
Figure 2023515185000068
i=0..16の変数LmcsPivot[i]、i=0..15の変数ScaleCoeff[i]およびInvScaleCoeff[i]は、以下のように導出される:
Figure 2023515185000069
i=lmcs_min_bin_idx..LmcsMaxBinIdxについて、LmcsPivot[i]の値が1<<(BitDepth-5)の倍数でないとき、(LmcsPivot[i]>>(BitDepth-5))の値が(LmcsPivot[i+1]>>(BitDepth-5))の値に等しくないことが、ビットストリーム適合性の要件である。
lmcs_delta_abs_crsは、変数lmcsDeltaCrsの絶対コードワード値を指定する。lmcs_delta_abs_crsの値は、両端値を含めて0から7の範囲内にあるものとする。存在しないとき、lmcs_delta_abs_crsは0に等しいと推測される。
lmcs_delta_sign_crs_flagは、変数lmcsDeltaCrsの符号を指定する。存在しないとき、lmcs_delta_sign_crs_flagは0に等しいと推測される。
変数lmcsDeltaCrsは以下のように導出される:
Figure 2023515185000070
lmcsCW[i]が0に等しくないとき、(lmcsCW[i]+lmcsDeltaCrs)が、両端値を含めて(OrgCW>>3)から((OrgCW<<3)-1)の範囲内になければならないことが、ビットストリーム適合性の要件である。
i=0…15の変数ChromaScaleCoeff[i]は、以下のように導出される:
Figure 2023515185000071
1に等しいscaling_matrix_for_lfnst_disabled_flagは、LFNSTでコーディングされたブロックにスケーリング行列が適用されないことを指定する。0に等しいscaling_matrix_for_lfnst_disabled_flagは、LFNSTを用いてコーディングされたブロックにスケーリング行列が適用され得ることを指定する。
1に等しいscaling_list_chroma_present_flagは、クロマスケーリングリストがscaling_list_data( )に存在することを指定する。0に等しいscaling_list_chroma_present_flagは、クロマスケーリングリストがscaling_list_data( )に存在しないことを指定する。scaling_list_chroma_present_flagは、ChromaArrayTypeが0に等しいときには0に等しくなければならず、ChromaArrayTypeが0に等しくないときには1に等しくなければならないことが、ビットストリーム適合性の要件である。
1に等しいscaling_list_copy_mode_flag[id]は、スケーリングリストの値が参照スケーリングリストの値と同じであることを指定する。参照スケーリングリストは、scaling_list_pred_id_delta[id]によって指定される。0に等しいscaling_list_copy_mode_flag[id]は、scaling_list_pred_mode_flagが存在することを指定する。
1に等しいscaling_list_pred_mode_flag[id]は、スケーリングリストの値が参照スケーリングリストから予測され得ることを指定する。参照スケーリングリストは、scaling_list_pred_id_delta[id]によって指定される。0に等しいscaling_list_pred_mode_flag[id]は、スケーリングリストの値が明示的にシグナリングされることを指定する。存在しないとき、scaling_list_pred_mode_flag[id]の値は0に等しいと推測される。
scaling_list_pred_id_delta[id]は、予測スケーリング行列ScalingMatrixPred[id]を導出するために使用される参照スケーリングリストを指定する。存在しないとき、scaling_list_pred_id_delta[id]の値は0に等しいと推測される。scaling_list_pred_id_delta[id]の値は、0からmaxIdDeltaの範囲内にあるものとし、ここで、maxIdDeltaは、idに応じて以下のように導出される:
Figure 2023515185000072
変数refIdおよびmatrixSizeは、以下のように導出される:
Figure 2023515185000073
x=0..matrixSize-1、y=0..matrixSize-1の(matrixSize)×(matrixSize)アレイScalingMatrixPred[x][y]および変数ScalingMatrixDCPredは、以下のように導出される:
- scaling_list_copy_mode_flag[id]とscaling_list_pred_mode_flag[id]の両方が0に等しいとき、ScalingMatrixPredのすべての要素は8に等しく設定され、ScalingMatrixDCPredの値は8に等しく設定される。
- そうでない場合で、scaling_list_pred_id_delta[id]が0に等しいとき、ScalingMatrixPredのすべての要素は16に等しく設定され、ScalingMatrixDCPredは16に等しく設定される。
- そうでない場合(scaling_list_copy_mode_flag[id]またはscaling_list_pred_mode_flag[id]のいずれかが1に等しく、かつ、scaling_list_pred_id_delta[id]が0よりも大きい場合)、ScalingMatrixPredはScalingMatrixRec[refId]に等しく設定され、ScalingMatrixDCPredに対して以下が適用される:
- refIdが13より大きい場合、ScalingMatrixDCPredはScalingMatrixDCRec[refId-14]に等しく設定される。
- そうでない場合(refIdが13以下である場合)、ScalingMatrixDCPredはScalingMatrixPred[0][0]に等しく設定される。
scaling_list_dc_coef[id-14]は、以下のように、idが13より大きいときに変数ScalingMatrixDC[id-14]の値を導出するために使用される:
Figure 2023515185000074
存在しない場合、scaling_list_dc_coef[id-14]の値は0に等しいと推測される。scaling_list_dc_coef[id-14]の値は、両端値を含めて-128から127の範囲内にあるものとする。ScalingMatrixDCRec[id-14]の値は、0より大きいものとする。
scaling_list_delta_coef[id][i]は、scaling_list_copy_mode_flag[id]が0に等しいとき、現在の行列係数ScalingList[id][i]と前の行列係数ScalingList[id][i-1]との間の差を指定する。scaling_list_delta_coef[id][i]の値は、両端値を含めて-128から127の範囲内にあるものとする。scaling_list_copy_mode_flag[id]が1に等しいとき、ScalingList[id]のすべての要素は0に等しく設定される。
(matrixSize)×(matrixSize)アレイScalingMatrixRec[id]は、以下のように導出される:
Figure 2023515185000075
ScalingMatrixRec[id][x][y]の値は0よりも大きいものとする。
3.8.PHのシンタックスおよびセマンティクス
最新のVVCドラフトテキストでは、PHのシンタックスおよびセマンティクスは以下の通りである:
Figure 2023515185000076
PH RBSPは、PHシンタックス構造、すなわち、picture_header_structure( )を含む。
Figure 2023515185000077
Figure 2023515185000078
Figure 2023515185000079
Figure 2023515185000080
Figure 2023515185000081
Figure 2023515185000082
PHシンタックス構造は、PHシンタックス構造に関連付けられたコード化ピクチャのすべてのスライスに共通の情報を含む。
1に等しいgdr_or_irap_pic_flagは、現在のピクチャがGDRピクチャまたはIRAPピクチャであることを指定する。0に等しいgdr_or_irap_pic_flagは、現在のピクチャがGDRまたはIRAPピクチャであり得ることまたはいずれでもない可能性があることを指定する。
1に等しいgdr_pic_flagは、PHに関連付けられたピクチャがGDRピクチャであることを指定する。0に等しいgdr_pic_flagは、PHに関連付けられたピクチャがGDRピクチャではないことを指定する。存在しないとき、gdr_pic_flagの値は0に等しいと推測される。gdr_enabled_flagが0に等しいとき、gdr_pic_flagの値は0に等しいものとする。
0に等しいph_inter_slice_allowed_flagは、ピクチャのすべてのコーディングされたスライスが2に等しいslice_typeを有することを指定する。1に等しいph_inter_slice_allowed_flagは、1つまたは複数のコーディングされたスライスが、0または1に等しいslice_typeを有するピクチャに存在し得ることまたは存在しない可能性があることを指定する。
0に等しいph_intra_slice_allowed_flagは、ピクチャのすべてのコーディングされたスライスが、0または1に等しいslice_typeを有することを指定する。1に等しいph_intra_slice_allowed_flagは、1つまたは複数のコーディングされたスライスが、2に等しいslice_typeを有するピクチャに存在し得ることまたは存在しない可能性があることを指定する。存在しないとき、ph_intra_slice_allowed_flagの値は、1に等しいと推測される。
注1-PH NALユニットを変更する必要なしにサブピクチャベースのビットストリームマージングを行うように想定されているビットストリームの場合、エンコーダは、ph_inter_slice_allowed_flagおよびph_intra_slice_allowed_flagの両方の値を1に等しく設定することが予想される。
1に等しいnon_reference_picture_flagは、PHに関連付けられたピクチャが、決して参照ピクチャとして使用されないことを指定する。0に等しいnon_reference_picture_flagは、PHに関連付けられたピクチャが、参照ピクチャとして使用され得ることまたは使用されない可能性があることを指定する。
ph_pic_parameter_set_idは、使用中のPPSのpps_pic_parameter_set_idの値を指定する。ph_pic_parameter_set_idの値は、両端値を含めて0から63の範囲内にあるものとする。
PHのTemporalIdの値が、ph_pic_parameter_set_idに等しいpps_pic_parameter_set_idを有するPPSのTemporalIdの値以上であることが、ビットストリーム適合性の要件である。
ph_pic_order_cnt_lsbは、現在のピクチャに関する、MaxPicOrderCntLsbを法とするピクチャ順序カウントを指定する。ph_pic_order_cnt_lsbシンタックス要素の長さは、log2_max_pic_order_cnt_lsb_minus4+4ビットである。ph_pic_order_cnt_lsbの値は、両端値を含めて0からMaxPicOrderCntLsb-1の範囲内にあるものとする。
no_output_of_prior_pics_flagは、Annex Cにおいて指定されているように、ビットストリーム中の最初のピクチャではないCLVSSピクチャの復号後のDPB中の前に復号されたピクチャの出力に影響を及ぼす。
recovery_poc_cntは、出力順序における復号ピクチャのリカバリポイントを指定する。現在のピクチャが、PHに関連付けられたGDRピクチャであり、現在のGDRピクチャのPicOrderCntValにrecovery_poc_cntの値を加えたものに等しいPicOrderCntValを有する、CLVSにおいて復号順序で現在のGDRピクチャに後続するピクチャpicAがある場合、ピクチャpicAは、リカバリポイントピクチャと呼ばれる。そうでない場合、現在のピクチャのPicOrderCntValにrecovery_poc_cntの値を加えたものよりも大きいPicOrderCntValを有する出力順序で最初のピクチャがリカバリポイントピクチャと呼ばれる。リカバリポイントピクチャは、復号順序で現在のGDRピクチャに先行しないものとする。recovery_poc_cntの値は、両端値を含めて0からMaxPicOrderCntLsb-1の範囲内にあるものとする。
現在のピクチャがGDRピクチャであるとき、変数RpPicOrderCntValは以下のように導出される:
Figure 2023515185000083
注2-gdr_enabled_flagが1に等しく、現在のピクチャのPicOrderCntValが、関連付けられたGDRピクチャのRpPicOrderCntVal以上であるとき、現在の復号ピクチャおよび出力順序で後続の復号ピクチャは、存在する場合、復号順序で、関連付けられたGDRピクチャに先行する前のIRAPピクチャから復号プロセスを開始することによって生成された対応するピクチャに正確に一致する。
ph_extra_bit[i]は、1または0に等しいであろう。本仕様書のこのバージョンに準拠するデコーダは、ph_extra_bit[i]の値を無視するものとする。その値は、本仕様書のこのバージョンで規定されているプロファイルへのデコーダ適合性に影響を及ぼさない。
1に等しいph_poc_msb_present_flagは、シンタックス要素poc_msb_valがPHに存在することを指定する。0に等しいph_poc_msb_present_flagは、シンタックス要素poc_msb_valがPHに存在しないことを指定する。vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]が0に等しく、現在のレイヤの参照レイヤ中の現在のAU中にピクチャがあるとき、ph_poc_msb_present_flagの値は0に等しいものとする。
poc_msb_valは、現在のピクチャのPOC MSB値を指定する。シンタックス要素poc_msb_valの長さは、poc_msb_len_minus1+1ビットである。
1に等しいph_alf_enabled_flagは、適応ループフィルタが、PHに関連付けられたすべてのスライスに対して有効にされ、スライス中のY、Cb、またはCr色成分に適用され得ることを指定する。0に等しいph_alf_enabled_flagは、適応ループフィルタが、PHに関連付けられた1つまたは複数またはすべてのスライスに対して無効にされ得ることを指定する。存在しないとき、ph_alf_enabled_flagは0に等しいと推測される。
ph_num_alf_aps_ids_lumaは、PHに関連付けられたスライスが参照するALF APSの数を指定する。
ph_alf_aps_id_luma[i]は、PHに関連付けられたスライスのルーマ成分が参照する第iのALF APSのadaptation_parameter_set_idを指定する。
ALF_APSに等しいaps_params_typeとph_alf_aps_id_luma[i]に等しいadaptation_parameter_set_idとを有するAPS NALユニットのalf_luma_filter_signal_flagの値は、1に等しいものとする。
ALF_APSに等しいaps_params_typeとph_alf_aps_id_luma[i]に等しいadaptation_parameter_set_idとを有するAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
0に等しいph_alf_chroma_idcは、適応ループフィルタがCbおよびCr色成分に適用されないことを指定する。1に等しいph_alf_chroma_idcは、適応ループフィルタがCb色成分に適用されることを示す。2に等しいph_alf_chroma_idcは、適応ループフィルタがCr色成分に適用されることを示す。3に等しいph_alf_chroma_idcは、適応ループフィルタがCbおよびCr色成分に適用されることを示す。ph_alf_chroma_idcが存在しないとき、それは0に等しいと推測される。
ph_alf_aps_id_chromaは、PHに関連付けられたスライスのクロマ成分が参照するALF APSのadaptation_parameter_set_idを指定する。
ALF_APSに等しいaps_params_typeとph_alf_aps_id_chromaに等しいadaptation_parameter_set_idとを有するAPS NALユニットのalf_chroma_filter_signal_flagの値は、1に等しいものとする。
ALF_APSに等しいaps_params_typeとph_alf_aps_id_chromaに等しいadaptation_parameter_set_idとを有するAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
1に等しいph_cc_alf_cb_enabled_flagは、Cb色成分のためのクロス成分フィルタが、PHに関連付けられたすべてのスライスに対して有効にされ、スライス中のCb色成分に適用され得ることを指定する。0に等しいph_cc_alf_cb_enabled_flagは、Cb色成分のためのクロス成分フィルタが、PHに関連付けられた1つまたは複数またはすべてのスライスに対して無効にされ得ることを指定する。存在しないとき、ph_cc_alf_cb_enabled_flagは0に等しいと推測される。
ph_cc_alf_cb_aps_idは、PHに関連付けられたスライスのCb色成分が参照するALF APSのadaptation_parameter_set_idを指定する。
ALF_APSに等しいaps_params_typeとph_cc_alf_cb_aps_idに等しいadaptation_parameter_set_idとを有するAPS NALユニットのalf_cc_cb_filter_signal_flagの値は、1に等しいものとする。
ALF_APSに等しいaps_params_typeとph_cc_alf_cb_aps_idに等しいadaptation_parameter_set_idとを有するAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
1に等しいph_cc_alf_cr_enabled_flagは、Cr色成分のためのクロス成分フィルタが、PHに関連付けられたすべてのスライスに対して有効にされ、スライス中のCr色成分に適用され得ることを指定する。0に等しいph_cc_alf_cr_enabled_flagは、Cr色成分のためのクロス成分フィルタが、PHに関連付けられた1つまたは複数またはすべてのスライスに対して無効にされ得ることを指定する。存在しないとき、ph_cc_alf_cr_enabled_flagは0に等しいと推測される。
ph_cc_alf_cr_aps_idは、PHに関連付けられたスライスのCr色成分が参照するALF APSのadaptation_parameter_set_idを指定する。
ALF_APSに等しいaps_params_typeとph_cc_alf_cr_aps_idに等しいadaptation_parameter_set_idとを有するAPS NALユニットのalf_cc_cr_filter_signal_flagの値は、1に等しいものとする。
ALF_APSに等しいaps_params_typeとph_cc_alf_cr_aps_idに等しいadaptation_parameter_set_idとを有するAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
1に等しいph_lmcs_enabled_flagは、クロマスケーリングを伴うルーママッピングが、PHに関連付けられたすべてのスライスに対して有効にされることを指定する。0に等しいph_lmcs_enabled_flagは、クロマスケーリングを伴うルーママッピングが、PHに関連付けられた1つまたは複数またはすべてのスライスに対して無効にされ得ることを指定する。存在しないとき、ph_lmcs_enabled_flagの値は0に等しいと推測される。
ph_lmcs_aps_idは、PHに関連付けられたスライスが参照するLMCS APSのadaptation_parameter_set_idを指定する。LMCS_APSに等しいaps_params_typeとph_lmcs_aps_idに等しいadaptation_parameter_set_idとを有するAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
1に等しいph_chroma_residual_scale_flagは、クロマ残差スケーリングが、PHに関連付けられたすべてのスライスに対して有効にされることを指定する。0に等しいph_chroma_residual_scale_flagは、クロマ残差スケーリングが、PHに関連付けられた1つまたは複数またはすべてのスライスに対して無効にされ得ることを指定する。ph_chroma_residual_scale_flagが存在しないとき、それは0に等しいと推測される。
1に等しいph_scaling_list_present_flagは、PHに関連付けられたスライスに使用されるスケーリングリストデータが、参照されたスケーリングリストAPSに含まれるスケーリングリストデータに基づいて導出されることを指定する。0に等しいph_scaling_list_present_flagは、PHに関連付けられたスライスに使用されるスケーリングリストデータが16に等しくなるように設定されることを指定する。存在しないとき、ph_scaling_list_present_flagの値は0に等しいと推測される。
ph_scaling_list_aps_idは、スケーリングリストAPSのadaptation_parameter_set_idを指定する。SCALING_APSに等しいaps_params_typeとph_scaling_list_aps_idに等しいadaptation_parameter_set_idとを有するAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
1に等しいph_virtual_boundaries_present_flagは、仮想境界の情報がPH中でシグナリングされることを指定する。0に等しいph_virtual_boundaries_present_flagは、仮想境界の情報がPH中でシグナリングされないことを指定する。PH中でシグナリングされる1つまたは2つ以上の仮想境界が存在するとき、ピクチャ内の仮想境界を越えるループ内フィルタリング動作は無効にされる。ループ内フィルタリング動作は、デブロッキングフィルタ、サンプル適応オフセットフィルタ、および適応ループフィルタ動作を含む。存在しないとき、ph_virtual_boundaries_present_flagの値は0に等しいと推測される。
subpic_info_present_flagが1に等しいとき、ph_virtual_boundaries_present_flagの値が0に等しくなければならないことが、ビットストリーム適合性の要件である。
変数VirtualBoundariesPresentFlagは以下のように導出される:
Figure 2023515185000084
ph_num_ver_virtual_boundariesは、PHに存在するph_virtual_boundaries_pos_x[i]シンタックス要素の数を指定する。ph_num_ver_virtual_boundariesが存在しないとき、それは0に等しいと推測される。
変数NumVerVirtualBoundariesは、以下のように導出される。
Figure 2023515185000085
ph_virtual_boundaries_pos_x[i]は、ルーマサンプルの単位で第iの垂直仮想境界のロケーションを8で除算したものを指定する。ph_virtual_boundaries_pos_x[i]の値は、両端値を含めて1からCeil(pic_width_in_luma_samples÷8)-1の範囲内にあるものとする。
垂直仮想境界のロケーションを指定する、ルーマサンプルの単位で、両端を含めて0からNumVerVirtualBoundaries-1の範囲のiについて、リストVirtualBoundariesPosX[i]は、以下のように導出される:
Figure 2023515185000086
任意の2つの垂直仮想境界間の距離は、CtbSizeYルーマサンプル以上であるものとする。
ph_num_hor_virtual_boundariesは、PHに存在するph_virtual_boundaries_pos_y[i]シンタックス要素の数を指定する。ph_num_hor_virtual_boundariesが存在しないとき、それは0に等しいと推測される。
パラメータNumHorVirtualBoundariesは、以下のように導出される:
Figure 2023515185000087
sps_virtual_boundaries_enabled_flagが1に等しく、ph_virtual_boundaries_present_flagが1に等しいとき、ph_num_ver_virtual_boundariesとph_num_hor_virtual_boundariesとの和は0より大きいものとする。
ph_virtual_boundaries_pos_y[i]は、ルーマサンプルの単位で第iの水平仮想境界のロケーションを8で除算したものを指定する。ph_virtual_boundaries_pos_y[i]の値は、両端値を含めて1からCeil(pic_height_in_luma_samples÷8)-1の範囲内にあるものとする。
水平仮想境界のロケーションを指定する、ルーマサンプルの単位で、両端を含めて0からNumHorVirtualBoundaries-1の範囲のiについて、リストVirtualBoundariesPosY[i]は、以下のように導出される:
Figure 2023515185000088
任意の2つの水平仮想境界間の距離は、CtbSizeYルーマサンプル以上であるものとする。
pic_output_flagは、Annex Cで指定されているように、復号ピクチャ出力および除去プロセスに影響を及ぼす。pic_output_flagが存在しないとき、それは1に等しいと推測される。
1に等しいpartition_constraints_override_flagは、パーティション制約パラメータがPHに存在することを指定する。0に等しいpartition_constraints_override_flagは、パーティション制約パラメータがPHに存在しないことを指定する。存在しないとき、partition_constraints_override_flagの値は0に等しいと推測される。
ph_log2_diff_min_qt_min_cb_intra_slice_lumaは、CTUの四分木分割から得られるルーマリーフブロックのルーマサンプルにおける最小サイズの2を底とする対数と、PHに関連付けられた2(I)に等しいslice_typeをもつスライス中のルーマCUについてのルーマサンプルにおける最小コーディングブロックサイズの2を底とする対数との間の差を指定する。ph_log2_diff_min_qt_min_cb_intra_slice_lumaの値は、両端値を含めて0からCtbLog2SizeY-MinCbLog2SizeYの範囲内にあるものとする。存在しないとき、ph_log2_diff_min_qt_min_cb_lumaの値は、sps_log2_diff_min_qt_min_cb_intra_slice_lumaに等しいと推測される。
ph_max_mtt_hierarchy_depth_intra_slice_lumaは、PHに関連付けられた2(I)に等しいslice_typeをもつスライス中の四分木リーフのマルチタイプツリー分割から得られるコーディングユニットのための最大階層深度を指定する。ph_max_mtt_hierarchy_depth_intra_slice_lumaの値は、両端値を含めて0から2*(CtbLog2SizeY-MinCbLog2SizeY)の範囲内にあるものとする。存在しないとき、ph_max_mtt_hierarchy_depth_intra_slice_lumaの値は、sps_max_mtt_hierarchy_depth_intra_slice_lumaに等しいと推測される。
ph_log2_diff_max_bt_min_qt_intra_slice_lumaは、バイナリ分割を使用して分割され得るルーマコーディングブロックのルーマサンプルにおける最大サイズ(幅または高さ)の2を底とする対数と、PHに関連付けられた2(I)に等しいslice_typeをもつスライス中のCTUの四分木分割から得られるルーマリーフブロックのルーマサンプルにおける最小サイズ(幅または高さ)との間の差を指定する。ph_log2_diff_max_bt_min_qt_intra_slice_lumaの値は、両端値を含めて0からCtbLog2SizeY-MinQtLog2SizeIntraYの範囲内にあるものとする。存在しないとき、ph_log2_diff_max_bt_min_qt_intra_slice_lumaの値は、sps_log2_diff_max_bt_min_qt_intra_slice_lumaに等しいと推測される。
ph_log2_diff_max_tt_min_qt_intra_slice_lumaは、三分割を使用して分割され得るルーマコーディングブロックのルーマサンプルにおける最大サイズ(幅または高さ)の2を底とする対数と、PHに関連付けられた2(I)に等しいslice_typeをもつスライス中のCTUの四分木分割から得られるルーマリーフブロックのルーマサンプルにおける最小サイズ(幅または高さ)との間の差を指定する。ph_log2_diff_max_tt_min_qt_intra_slice_lumaの値は、両端値を含めて0からCtbLog2SizeY-MinQtLog2SizeIntraYの範囲内にあるものとする。存在しないとき、ph_log2_diff_max_tt_min_qt_intra_slice_lumaの値は、sps_log2_diff_max_tt_min_qt_intra_slice_lumaに等しいと推測される。
ph_log2_diff_min_qt_min_cb_intra_slice_chromaは、treeTypeがDUAL_TREE_CHROMAに等しいクロマCTUの四分木分割から得られるクロマリーフブロックのルーマサンプルにおける最小サイズの2を底とする対数と、PHに関連付けられた2(I)に等しいslice_typeをもつスライス中の、treeTypeがDUAL_TREE_CHROMAに等しいクロマCUについてのルーマサンプルにおける最小コーディングブロックサイズの2を底とする対数との間の差を指定する。ph_log2_diff_min_qt_min_cb_intra_slice_chromaの値は、両端値を含めて0からCtbLog2SizeY-MinCbLog2SizeYの範囲内にあるものとする。存在しないとき、ph_log2_diff_min_qt_min_cb_intra_slice_chromaの値は、sps_log2_diff_min_qt_min_cb_intra_slice_chromaに等しいと推測される。
ph_max_mtt_hierarchy_depth_intra_slice_chromaは、PHに関連付けられた2(I)に等しいslice_typeをもつスライス中の、treeTypeがDUAL_TREE_CHROMAに等しいクロマ四分木リーフのマルチタイプツリー分割から得られるクロマコーディングユニットのための最大階層深度を指定する。ph_max_mtt_hierarchy_depth_intra_slice_chromaの値は、両端値を含めて0から2*(CtbLog2SizeY-MinCbLog2SizeY)の範囲内にあるものとする。存在しないとき、ph_max_mtt_hierarchy_depth_intra_slice_chromaの値は、sps_max_mtt_hierarchy_depth_intra_slice_chromaに等しいと推測される。
ph_log2_diff_max_bt_min_qt_intra_slice_chromaは、バイナリ分割を使用して分割され得るクロマコーディングブロックのルーマサンプルにおける最大サイズ(幅または高さ)の2を底とする対数と、PHに関連付けられた2(I)に等しいslice_typeをもつスライス中の、treeTypeがDUAL_TREE_CHROMAに等しいクロマCTUの四分木分割から得られるクロマリーフブロックのルーマサンプルにおける最小サイズ(幅または高さ)との間の差を指定する。ph_log2_diff_max_bt_min_qt_intra_slice_chromaの値は、両端値を含めて0からCtbLog2SizeY-MinQtLog2SizeIntraCの範囲内にあるものとする。存在しないとき、ph_log2_diff_max_bt_min_qt_intra_slice_chromaの値は、sps_log2_diff_max_bt_min_qt_intra_slice_chromaに等しいと推測される。
ph_log2_diff_max_tt_min_qt_intra_slice_chromaは、三分割を使用して分割され得るクロマコーディングブロックのルーマサンプルにおける最大サイズ(幅または高さ)の2を底とする対数と、PHに関連付けられた2(I)に等しいslice_typeをもつスライス中の、treeTypeがDUAL_TREE_CHROMAに等しいクロマCTUの四分木分割から得られるクロマリーフブロックのルーマサンプルにおける最小サイズ(幅または高さ)との間の差を指定する。ph_log2_diff_max_tt_min_qt_intra_slice_chromaの値は、両端値を含めて0からCtbLog2SizeY-MinQtLog2SizeIntraCの範囲内にあるものとする。存在しないとき、ph_log2_diff_max_tt_min_qt_intra_slice_chromaの値は、sps_log2_diff_max_tt_min_qt_intra_slice_chromaに等しいと推測される。
ph_cu_qp_delta_subdiv_intra_sliceは、cu_qp_delta_absおよびcu_qp_delta_sign_flagを搬送するイントラスライス中のコーディングユニットの最大cbSubdiv値を指定する。ph_cu_qp_delta_subdiv_intra_sliceの値は、両端値を含めて0から2*(CtbLog2SizeY-MinQtLog2SizeIntraY+ph_max_mtt_hierarchy_depth_intra_slice_luma)の範囲内にあるものとする。
存在しないとき、ph_cu_qp_delta_subdiv_intra_sliceの値は0に等しいと推測される。
ph_cu_chroma_qp_offset_subdiv_intra_sliceは、cu_chroma_qp_offset_flagを搬送するイントラスライス中のコーディングユニットの最大cbSubdiv値を指定する。ph_cu_chroma_qp_offset_subdiv_intra_sliceの値は、両端値を含めて0から2*(CtbLog2SizeY-MinQtLog2SizeIntraY+ph_max_mtt_hierarchy_depth_intra_slice_luma)の範囲内にあるものとする。
存在しないとき、ph_cu_chroma_qp_offset_subdiv_intra_sliceの値は0に等しいと推測される。
ph_log2_diff_min_qt_min_cb_inter_sliceは、CTUの四分木分割から得られるルーマリーフブロックのルーマサンプルにおける最小サイズの2を底とする対数と、PHに関連付けられた0(B)または1(P)に等しいslice_typeをもつスライス中のルーマCUについてのルーマサンプルにおける最小ルーマコーディングブロックサイズの2を底とする対数との間の差を指定する。ph_log2_diff_min_qt_min_cb_inter_sliceの値は、両端値を含めて0からCtbLog2SizeY-MinCbLog2SizeYの範囲内にあるものとする。存在しないとき、ph_log2_diff_min_qt_min_cb_lumaの値は、sps_log2_diff_min_qt_min_cb_inter_sliceに等しいと推測される。
ph_max_mtt_hierarchy_depth_inter_sliceは、PHに関連付けられた0(B)または1(P)に等しいslice_typeをもつスライス中の四分木リーフのマルチタイプツリー分割から得られるコーディングユニットのための最大階層深度を指定する。ph_max_mtt_hierarchy_depth_inter_sliceの値は、両端値を含めて0から2*(CtbLog2SizeY-MinCbLog2SizeY)の範囲内にあるものとする。存在しないとき、ph_max_mtt_hierarchy_depth_inter_sliceの値は、sps_max_mtt_hierarchy_depth_inter_sliceに等しいと推測される。
ph_log2_diff_max_bt_min_qt_inter_sliceは、バイナリ分割を使用して分割され得るルーマコーディングブロックのルーマサンプルにおける最大サイズ(幅または高さ)の2を底とする対数と、PHに関連付けられた0(B)または1(P)に等しいslice_typeをもつスライス中のCTUの四分木分割から得られるルーマリーフブロックのルーマサンプルにおける最小サイズ(幅または高さ)との間の差を指定する。ph_log2_diff_max_bt_min_qt_inter_sliceの値は、両端値を含めて0からCtbLog2SizeY-MinQtLog2SizeInterYの範囲内にあるものとする。存在しないとき、ph_log2_diff_max_bt_min_qt_inter_sliceの値は、sps_log2_diff_max_bt_min_qt_inter_sliceに等しいと推測される。
ph_log2_diff_max_tt_min_qt_inter_sliceは、三分割を使用して分割され得るルーマコーディングブロックのルーマサンプルにおける最大サイズ(幅または高さ)の2を底とする対数と、PHに関連付けられた0(B)または1(P)に等しいslice_typeをもつスライス中のCTUの四分木分割から得られるルーマリーフブロックのルーマサンプルにおける最小サイズ(幅または高さ)との間の差を指定する。ph_log2_diff_max_tt_min_qt_inter_sliceの値は、両端値を含めて0からCtbLog2SizeY-MinQtLog2SizeInterYの範囲内にあるものとする。存在しないとき、ph_log2_diff_max_tt_min_qt_inter_sliceの値は、sps_log2_diff_max_tt_min_qt_inter_sliceに等しいと推測される。
ph_cu_qp_delta_subdiv_inter_sliceは、インタースライスにおいてcu_qp_delta_absおよびcu_qp_delta_sign_flagを搬送するコーディングユニットの最大cbSubdiv値を指定する。ph_cu_qp_delta_subdiv_inter_sliceの値は、両端値を含めて0から2*(CtbLog2SizeY-MinQtLog2SizeInterY+ph_max_mtt_hierarchy_depth_inter_slice)の範囲内にあるものとする。
存在しないとき、ph_cu_qp_delta_subdiv_inter_sliceの値は0に等しいと推測される。
ph_cu_chroma_qp_offset_subdiv_inter_sliceは、cu_chroma_qp_offset_flagを搬送するインタースライス中のコーディングユニットの最大cbSubdiv値を指定する。ph_cu_chroma_qp_offset_subdiv_inter_sliceの値は、両端値を含めて0から2*(CtbLog2SizeY-MinQtLog2SizeInterY+ph_max_mtt_hierarchy_depth_inter_slice)の範囲内にあるものとする。
存在しないとき、ph_cu_chroma_qp_offset_subdiv_inter_sliceの値は0に等しいと推測される。
ph_temporal_mvp_enabled_flagは、時間的動きベクトル予測子が、PHに関連付けられたスライスのためのインター予測に使用され得るかどうかを指定する。ph_temporal_mvp_enabled_flagが0に等しい場合、PHに関連付けられたスライスのシンタックス要素は、スライスを復号する際に時間的動きベクトル予測子が使用されないように制約されるものとする。そうでない場合(ph_temporal_mvp_enabled_flagが1に等しい場合)、時間的動きベクトル予測子は、PHに関連付けられたスライスを復号する際に使用され得る。存在しないとき、ph_temporal_mvp_enabled_flagの値は0に等しいと推測される。DPB中の参照ピクチャが現在のピクチャと同じ空間解像度を有さないとき、ph_temporal_mvp_enabled_flagの値は0に等しいものとする。
サブブロックベースのマージングMVP候補の最大数MaxNumSubblockMergeCandは、以下のように導出される:
Figure 2023515185000089
MaxNumSubblockMergeCandの値は、両端値を含めて0から5の範囲内にあるものとする。
1に等しいph_collocated_from_l0_flagは、時間的動きベクトル予測に使用されるコロケートピクチャ(collocated picture)が参照ピクチャリスト0から導出されることを指定する。0に等しいph_collocated_from_l0_flagは、時間的動きベクトル予測に使用されるコロケートピクチャが参照ピクチャリスト1から導出されることを指定する。
ph_collocated_ref_idxは、時間的動きベクトル予測に使用されるコロケートピクチャの参照インデックスを指定する。
ph_collocated_from_l0_flagが1に等しいとき、ph_collocated_ref_idxは参照ピクチャリスト0中のエントリを参照し、ph_collocated_ref_idxの値は、両端値を含めて0からnum_ref_entries[0][RplsIdx[0]]-1の範囲内にあるものとする。
ph_collocated_from_l0_flagが0に等しいとき、ph_collocated_ref_idxは参照ピクチャリスト1中のエントリを参照し、ph_collocated_ref_idxの値は、両端値を含めて0からnum_ref_entries[1][RplsIdx[1]]-1の範囲内にあるものとする。
存在しないとき、ph_collocated_ref_idxの値は0に等しいと推測される。
1に等しいmvd_l1_zero_flagは、mvd_coding(x0,y0,1)シンタックス構造が解析されず、MvdL1[x0][y0][compIdx]およびMvdCpL1[x0][y0][cpIdx][compIdx]が、compIdx=0..1およびcpIdx=0..2について0に等しく設定されることを示す。0に等しいmvd_l1_zero_flagは、mvd_coding(x0,y0,1)シンタックス構造が解析されることを示す。
1に等しいph_fpel_mmvd_enabled_flagは、動きベクトル差分を用いたマージモードが、PHに関連付けられたスライスにおいて整数サンプル精度を使用することを指定する。0に等しいph_fpel_mmvd_enabled_flagは、動きベクトル差分を用いたマージモードが、PHに関連付けられたスライスにおいて分数サンプル精度を使用することができることを指定する。存在しないとき、ph_fpel_mmvd_enabled_flagの値は0であると推測される。
1に等しいph_disable_bdof_flagは、双方向オプティカルフローインター予測ベースのインター双予測が、PHに関連付けられたスライスにおいて無効にされることを指定する。0に等しいph_disable_bdof_flagは、双方向オプティカルフローインター予測ベースのインター双予測が、PHに関連付けられたスライスにおいて有効にされ得ることまたは有効にされない可能性があることを指定する。
ph_disable_bdof_flagが存在しない場合、以下が適用される:
- sps_bdof_enabled_flagが1に等しい場合、ph_disable_bdof_flagの値は0に等しいと推測される。
- そうでない場合(sps_bdof_enabled_flagが0に等しい場合)、ph_disable_bdof_flagの値は1に等しいと推測される。
1に等しいph_disable_dmvr_flagは、デコーダ動きベクトルリファインメントベースのインター双予測が、PHに関連付けられたスライスにおいて無効にされることを指定する。0に等しいph_disable_dmvr_flagは、デコーダ動きベクトルリファインメントベースのインター双予測が、PHに関連付けられたスライスにおいて有効にされ得ることまたは有効にされない可能性があることを指定する。
ph_disable_dmvr_flagが存在しない場合、以下が適用される:
- sps_dmvr_enabled_flagが1に等しい場合、ph_disable_dmvr_flagの値は0に等しいと推測される。
- そうでない場合(sps_dmvr_enabled_flagが0に等しい場合)、ph_disable_dmvr_flagの値は1に等しいと推測される。
1に等しいph_disable_prof_flagは、オプティカルフローを用いた予測リファインメントが、PHに関連付けられたスライスにおいて無効にされることを指定する。0に等しいph_disable_prof_flagは、オプティカルフローを用いた予測リファインメントが、PHに関連付けられたスライスにおいて有効にされ得ることまたは有効にされない可能性があることを指定する。
ph_disable_prof_flagが存在しない場合、以下が適用される:
- sps_affine_prof_enabled_flagが1に等しい場合、ph_disable_prof_flagの値は0に等しいと推測される。
- そうでない場合(sps_affine_prof_enabled_flagが0に等しい場合)、ph_disable_prof_flagの値は1に等しいと推測される。
ph_qp_deltaは、コーディングユニットレイヤ中のCuQpDeltaValの値によって修正されるまで、ピクチャ中のコーディングブロックに使用されるべきQpYの初期値を指定する。
qp_delta_info_in_ph_flagが1に等しいとき、ピクチャのすべてのスライスに対するQpY量子化パラメータの初期値SliceQpYは、以下のように導出される。
Figure 2023515185000090
SliceQpYの値は、両端値を含めて-QpBdOffsetから+63の範囲内にあるものとする。
ph_joint_cbcr_sign_flagは、tu_joint_cbcr_residual_flag[x0][y0]が1に等しい変換単位で、両方のクロマ成分のコロケートされた残差サンプルの符号が反転しているかどうかを指定する。変換単位についてtu_joint_cbcr_residual_flag[x0][y0]が1に等しいとき、0に等しいph_joint_cbcr_sign_flagは、Cr(またはCb)成分の各残差サンプルの符号が、コロケートされたCb(またはCr)残差サンプルの符号と同一であることを指定し、1に等しいph_joint_cbcr_sign_flagは、Cr(またはCb)成分の各残差サンプルの符号が、コロケートされたCb(またはCr)残差サンプルの反転された符号によって与えられることを指定する。
1に等しいph_sao_luma_enabled_flagは、SAOが、PHに関連付けられたすべてのスライス中のルーマ成分に対して有効であることを指定する。0に等しいph_sao_luma_enabled_flagは、ルーマ成分に対するSAOが、PHに関連付けられた1つまたは複数またはすべてのスライスに対して無効にされ得ることを指定する。ph_sao_luma_enabled_flagが存在しないとき、それは0に等しいと推測される。
1に等しいph_sao_chroma_enabled_flagは、SAOが、PHに関連付けられたすべてのスライス中のクロマ成分に対して有効であることを指定する。0に等しいph_sao_chroma_enabled_flagは、クロマ成分に対するSAOが、PHに関連付けられた1つまたは複数またはすべてのスライスに対して無効にされ得ることを指定する。ph_sao_chroma_enabled_flagが存在しないとき、それは0に等しいと推測される。
0に等しいph_dep_quant_enabled_flagは、従属量子化が現在のピクチャに対して無効にされることを指定する。1に等しいph_dep_quant_enabled_flagは、従属量子化が現在のピクチャに対して有効にされることを指定する。ph_dep_quant_enabled_flagが存在しないとき、それは0に等しいと推測される。
0に等しいpic_sign_data_hiding_enabled_flagは、符号ビット隠蔽が現在のピクチャに対して無効にされることを指定する。1に等しいpic_sign_data_hiding_enabled_flagは、符号ビット隠蔽が現在のピクチャに対して有効にされることを指定する。pic_sign_data_hiding_enabled_flagが存在しないとき、それは0に等しいと推測される。
1に等しいph_deblocking_filter_override_flagは、デブロッキングパラメータがPHに存在することを指定する。0に等しいph_deblocking_filter_override_flagは、デブロッキングパラメータがPHに存在しないことを指定する。存在しないとき、ph_deblocking_filter_override_flagの値は0に等しいと推測される。
1に等しいph_deblocking_filter_disabled_flagは、デブロッキングフィルタの動作が、PHに関連付けられたスライスに適用されないことを指定する。0に等しいph_deblocking_filter_disabled_flagは、デブロッキングフィルタの動作が、PHに関連付けられたスライスに適用されることを指定する。ph_deblocking_filter_disabled_flagが存在しないとき、それはpps_deblocking_filter_disabled_flagに等しいと推測される。
ph_beta_offset_div2およびph_tc_offset_div2は、PHに関連付けられたスライスのルーマ成分に適用されるβおよびtC(2で除算された)のためのデブロッキングパラメータオフセットを指定する。ph_beta_offset_div2およびph_tc_offset_div2の値は両方とも、両端値を含めて-12から12の範囲内にあるものとする。存在しないとき、ph_beta_offset_div2およびph_tc_offset_div2の値は、それぞれpps_beta_offset_div2およびpps_tc_offset_div2に等しいと推測される。
ph_cb_beta_offset_div2およびph_cb_tc_offset_div2は、PHに関連付けられたスライスのCb成分に適用されるβおよびtC(2で除算された)のためのデブロッキングパラメータオフセットを指定する。ph_cb_beta_offset_div2およびph_cb_tc_offset_div2の値は両方とも、両端値を含めて-12から12の範囲内にあるものとする。存在しないとき、ph_cb_beta_offset_div2およびph_cb_tc_offset_div2の値は、それぞれpps_cb_beta_offset_div2およびpps_cb_tc_offset_div2に等しいと推測される。
ph_cr_beta_offset_div2およびph_cr_tc_offset_div2は、PHに関連付けられたスライスのCr成分に適用されるβおよびtC(2で除算された)のためのデブロッキングパラメータオフセットを指定する。ph_cr_beta_offset_div2およびph_cr_tc_offset_div2の値は両方とも、両端値を含めて-12から12の範囲内にあるものとする。存在しないとき、ph_cr_beta_offset_div2およびph_cr_tc_offset_div2の値は、それぞれpps_cr_beta_offset_div2およびpps_cr_tc_offset_div2に等しいと推測される。
ph_extension_lengthは、PH拡張データの長さをバイト単位で指定し、ph_extension_length自体をシグナリングするために使用されるビットは含まない。ph_extension_lengthの値は、両端値を含めて0から256の範囲内にあるものとする。存在しないとき、ph_extension_lengthの値は0に等しいと推測される。
ph_extension_data_byteは任意の値を有し得る。本仕様書のこのバージョンに準拠するデコーダは、ph_extension_data_byteの値を無視するものとする。その値は、本仕様書のこのバージョンで規定されているプロファイルへのデコーダ適合性に影響を及ぼさない。
3.9.SHのシンタックスおよびセマンティクス
最新のVVCドラフトテキストでは、SHのシンタックスおよびセマンティクスは以下の通りである:
Figure 2023515185000091
Figure 2023515185000092
Figure 2023515185000093
Figure 2023515185000094
cu_qp_delta_absを含むコーディングユニットのルーマ量子化パラメータとその予測との間の差を指定する変数CuQpDeltaValは、0に等しく設定される。cu_chroma_qp_offset_flagを含むコーディングユニットのためのQp’Cb、Qp’Cr、およびQp’CbCr量子化パラメータのそれぞれの値を決定するときに使用されるべき値を指定する変数CuQpOffsetCb、CuQpOffsetCr、およびCuQpOffsetCbCrは、すべて0に等しく設定される。
1に等しいpicture_header_in_slice_header_flagは、PHシンタックス構造がスライスヘッダに存在することを指定する。0に等しいpicture_header_in_slice_header_flagは、PHシンタックス構造がスライスヘッダに存在しないことを指定する。
picture_header_in_slice_header_flagの値がCLVS中のすべてのコーディングされたスライスにおいて同じであることが、ビットストリーム適合性の要件である。
picture_header_in_slice_header_flagがコーディングされたスライスについて1に等しいとき、nal_unit_typeがPH_NUTに等しいVCL NALユニットがCLVSに存在しないことが、ビットストリーム適合性の要件である。
picture_header_in_slice_header_flagが0に等しいとき、現在のピクチャ中のすべてのコーディングされたスライスは、0に等しいpicture_header_in_slice_header_flagを有するものとし、現在のPUは、PH NALユニットを有するものとする。
slice_subpic_idは、スライスを含むサブピクチャのサブピクチャIDを指定する。slice_subpic_idが存在する場合、変数CurrSubpicIdxの値は、SubpicIdVal[CurrSubpicIdx]がslice_subpic_idに等しくなるように導出される。そうでない(slice_subpic_idが存在しない)場合、CurrSubpicIdxは0に等しくなるように導出される。slice_subpic_idの長さは、sps_subpic_id_len_minus1+1ビットである。
slice_addressは、スライスのスライスアドレスを指定する。存在しないとき、slice_addressの値は0に等しいと推測される。rect_slice_flagが1に等しく、NumSlicesInSubpic[CurrSubpicIdx]が1に等しいとき、slice_addressの値は0に等しいと推測される。
rect_slice_flagが0に等しい場合、以下が適用される:
- スライスアドレスは、ラスタスキャンタイルインデックスである。
- slice_addressの長さは、Ceil(Log2(NumTilesInPic))ビットである。
- slice_addressの値は、両端値を含めて0からNumTilesInPic-1の範囲内にあるものとする。そうでない(rect_slice_flagが1に等しい)場合、以下が適用される:
- スライスアドレスは、スライスのサブピクチャレベルのスライスインデックスである。
- slice_addressの長さは、Ceil(Log2(NumSlicesInSubpic[CurrSubpicIdx]))ビットである。
- slice_addressの値は、両端値を含めて0からNumSlicesInSubpic[CurrSubpicIdx]-1の範囲内にあるものとする。
以下の制約が適用されることがビットストリーム適合性の要件である:
- rect_slice_flagが0に等しいか、またはsubpic_info_present_flagが0に等しい場合、slice_addressの値は、同じコード化ピクチャの任意の他のコード化スライスNALユニットのslice_addressの値に等しくないものとする。
- そうでない場合、slice_subpic_id値およびslice_address値のペアは、同じコード化ピクチャの任意の他のコード化スライスNALユニットのslice_subpic_id値およびslice_address値のペアに等しくないものとする。
- ピクチャのスライスの形状は、各CTUが、復号されるときに、その左境界全体および上境界全体がピクチャ境界から構成される、または前に復号されたCTU(複数可)の境界から構成されるようなものとする。
sh_extra_bit[i]は、1または0に等しくてもよい。本仕様書のこのバージョンに準拠するデコーダは、sh_extra_bit[i]の値を無視するものとする。その値は、本仕様書のこのバージョンで規定されているプロファイルへのデコーダ適合性に影響を及ぼさない。
num_tiles_in_slice_minus1+1は、存在する場合、スライス内のタイルの数を指定する。num_tiles_in_slice_minus1の値は、両端値を含めて0からNumTilesInPic-1の範囲内にあるものとする。
現在のスライス中のCTUの数を指定する変数NumCtusInCurrSliceと、スライス内の第iのCTBのピクチャラスタスキャンアドレスを指定する、両端値を含めて0からNumCtusInCurrSlice-1の範囲のiについてのリストCtbAddrInCurrSlice[i]とは、以下のように導出される:
Figure 2023515185000095
変数SubpicLeftBoundaryPos、SubpicTopBoundaryPos、SubpicRightBoundaryPos、およびSubpicBotBoundaryPosは、以下のように導出される:
Figure 2023515185000096
slice_typeは、表9によるスライスのコーディングタイプを指定する。
Figure 2023515185000097
存在しないとき、slice_typeの値は2に等しいと推測される。
ph_intra_slice_allowed_flagが0に等しいとき、slice_typeの値は0または1に等しいものとする。nal_unit_typeが、両端値を含めてIDR_W_RADLからCRA_NUTの範囲内にあり、vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]が1に等しいとき、slice_typeは2に等しいものとする。
変数MinQtLog2SizeY、MinQtLog2SizeC、MinQtSizeY、MinQtSizeC、MaxBtSizeY、MaxBtSizeC、MinBtSizeY、MaxTtSizeY、MaxTtSizeC、MinTtSizeY、MaxMttDepthYおよびMaxMttDepthCは、以下のように導出される:
- slice_typeが2(I)に等しい場合、以下が適用される:
Figure 2023515185000098
- そうでない(slice_typeが0(B)または1(P)に等しい)場合、以下が適用される:
Figure 2023515185000099
- 以下が適用される:
Figure 2023515185000100
1に等しいslice_alf_enabled_flagは、適応ループフィルタが有効にされ、スライス中のY、Cb、またはCr色成分に適用され得ることを指定する。0に等しいslice_alf_enabled_flagは、適応ループフィルタがスライス中のすべての色成分に対して無効にされることを指定する。存在しないとき、slice_alf_enabled_flagの値はph_alf_enabled_flagに等しいと推測される。
slice_num_alf_aps_ids_lumaは、スライスが参照するALF APSの数を指定する。slice_alf_enabled_flagが1に等しく、slice_num_alf_aps_ids_lumaが存在しないとき、slice_num_alf_aps_ids_lumaの値はph_num_alf_aps_ids_lumaの値に等しいと推測される。
slice_alf_aps_id_luma[i]は、スライスのルーマ成分が参照する第iのALF APSのadaptation_parameter_set_idを指定する。ALF_APSに等しいaps_params_typeとslice_alf_aps_id_luma[i]に等しいadaptation_parameter_set_idとを有するAPS NALユニットのTemporalIdは、コード化スライスNALユニットのTemporalId以下であるものとする。slice_alf_enabled_flagが1に等しく、slice_alf_aps_id_luma[i]が存在しないとき、slice_alf_aps_id_luma[i]の値はph_alf_aps_id_luma[i]の値に等しいと推測される。
ALF_APSに等しいaps_params_typeとslice_alf_aps_id_luma[i]に等しいadaptation_parameter_set_idとを有するAPS NALユニットのalf_luma_filter_signal_flagの値は、1に等しいものとする。
0に等しいslice_alf_chroma_idcは、適応ループフィルタがCbおよびCr色成分に適用されないことを指定する。1に等しいslice_alf_chroma_idcは、適応ループフィルタがCb色成分に適用されることを示す。2に等しいslice_alf_chroma_idcは、適応ループフィルタがCr色成分に適用されることを示す。3に等しいslice_alf_chroma_idcは、適応ループフィルタがCbおよびCr色成分に適用されることを示す。slice_alf_chroma_idcが存在しないとき、それはph_alf_chroma_idcに等しいと推測される。
slice_alf_aps_id_chromaは、スライスのクロマ成分が参照するALF APSのadaptation_parameter_set_idを指定する。ALF_APSに等しいaps_params_typeと、slice_alf_aps_id_chromaに等しいadaptation_parameter_set_idとを有するAPS NALユニットのTemporalIdは、コード化スライスNALユニットのTemporalId以下であるものとする。slice_alf_enabled_flagが1に等しく、slice_alf_aps_id_chromaが存在しないとき、slice_alf_aps_id_chromaの値はph_alf_aps_id_chromaの値に等しいと推測される。
ALF_APSに等しいaps_params_typeとslice_alf_aps_id_chromaに等しいadaptation_parameter_set_idとを有するAPS NALユニットのalf_chroma_filter_signal_flagの値は、1に等しいものとする。
0に等しいslice_cc_alf_cb_enabled_flagは、クロス成分フィルタがCb色成分に適用されないことを指定する。1に等しいslice_cc_alf_cb_enabled_flagは、クロス成分フィルタが有効にされ、Cb色成分に適用され得ることを示す。slice_cc_alf_cb_enabled_flagが存在しないとき、それはph_cc_alf_cb_enabled_flagに等しいと推測される。
slice_cc_alf_cb_aps_idは、スライスのCb色成分が参照するadaptation_parameter_set_idを指定する。
ALF_APSに等しいaps_params_typeとslice_cc_alf_cb_aps_idに等しいadaptation_parameter_set_idとを有するAPS NALユニットのTemporalIdは、コード化スライスNALユニットのTemporalId以下であるものとする。slice_cc_alf_cb_enabled_flagが1に等しく、slice_cc_alf_cb_aps_idが存在しないとき、slice_cc_alf_cb_aps_idの値はph_cc_alf_cb_aps_idの値に等しいと推定される。
ALF_APSに等しいaps_params_typeとslice_cc_alf_cb_aps_idに等しいadaptation_parameter_set_idとを有するAPS NALユニットのalf_cc_cb_filter_signal_flagの値は、1に等しいものとする。
0に等しいslice_cc_alf_cr_enabled_flagは、クロス成分フィルタがCr色成分に適用されないことを指定する。1に等しいslice_cc_alf_cb_enabled_flagは、クロス成分適応ループフィルタが有効にされ、Cr色成分に適用され得ることを示す。slice_cc_alf_cr_enabled_flagが存在しないとき、それはph_cc_alf_cr_enabled_flagに等しいと推測される。
slice_cc_alf_cr_aps_idは、スライスのCr色成分が参照するadaptation_parameter_set_idを指定する。ALF_APSに等しいaps_params_typeとslice_cc_alf_cr_aps_idに等しいadaptation_parameter_set_idとを有するAPS NALユニットのTemporalIdは、コード化スライスNALユニットのTemporalId以下であるものとする。slice_cc_alf_cr_enabled_flagが1に等しく、slice_cc_alf_cr_aps_idが存在しないとき、slice_cc_alf_cr_aps_idの値はph_cc_alf_cr_aps_idの値に等しいと推測される。
ALF_APSに等しいaps_params_typeとslice_cc_alf_cr_aps_idに等しいadaptation_parameter_set_idとを有するAPS NALユニットのalf_cc_cr_filter_signal_flagの値は、1に等しいものとする。
colour_plane_idは、separate_colour_plane_flagが1に等しいとき、現在のスライスに関連付けられた色平面を識別する。colour_plane_idの値は、両端値を含めて0から2の範囲内にあるものとする。colour_plane_id値0、1、および2は、それぞれY、CbおよびCr平面に対応する。colour_plane_idの値3は、ITU-T|ISO/IECによる将来の使用のために確保されている。
注1-1つのピクチャの異なる色平面の復号プロセス間には依存性がない。
1に等しいnum_ref_idx_active_override_flagは、シンタックス要素num_ref_idx_active_minus1[0]がPスライスおよびBスライスに対して存在し、シンタックス要素num_ref_idx_active_minus1[1]がBスライスに対して存在することを指定する。0に等しいnum_ref_idx_active_override_flagは、シンタックス要素num_ref_idx_active_minus1[0]およびnum_ref_idx_active_minus1[1]が存在しないことを指定する。存在しないとき、num_ref_idx_active_override_flagの値は1に等しいと推測される。
num_ref_idx_active_minus1[i]は、式143によって指定されるように、変数NumRefIdxActive[i]の導出に使用される。num_ref_idx_active_minus1[i]の値は、両端値を含めて0から14の範囲内にあるものとする。
0または1に等しいiについて、現在のスライスがBスライスであり、num_ref_idx_active_override_flagが1に等しく、num_ref_idx_active_minus1[i]が存在しないとき、num_ref_idx_active_minus1[i]は0に等しいと推測される。
現在のスライスがPスライスであり、num_ref_idx_active_override_flagが1に等しく、num_ref_idx_active_minus1[0]が存在しないとき、num_ref_idx_active_minus1[0]は0に等しいと推測される。
変数NumRefIdxActive[i]は、以下のように導出される:
Figure 2023515185000101
NumRefIdxActive[i]-1の値は、スライスを復号するために使用され得る参照ピクチャリストiに対する最大参照インデックスを指定する。NumRefIdxActive[i]の値が0に等しいとき、参照ピクチャリストiに対する参照インデックスは、スライスを復号するために使用されないであろう。
現在のスライスがPスライスであるとき、NumRefIdxActive[0]の値は0よりも大きいものとする。
現在のスライスがBスライスであるとき、NumRefIdxActive[0]とNumRefIdxActive[1]の両方が0よりも大きいものとする。
cabac_init_flagは、コンテキスト変数の初期化プロセスで使用される初期化テーブルを決定するための方法を指定する。cabac_init_flagが存在しないとき、それは0に等しいと推測される。
1に等しいslice_collocated_from_l0_flagは、時間的動きベクトル予測に使用されるコロケートピクチャが参照ピクチャリスト0から導出されることを指定する。0に等しいslice_collocated_from_l0_flagは、時間的動きベクトル予測に使用されるコロケートピクチャが参照ピクチャリスト1から導出されることを指定する。
slice_typeがBまたはPに等しく、ph_temporal_mvp_enabled_flagが1に等しく、slice_collocated_from_l0_flagが存在しないとき、以下が適用される:
- rpl_info_in_ph_flagが1に等しい場合、slice_collocated_from_l0_flagは、ph_collocated_from_l0_flagに等しいと推測される。
- そうでない場合(rpl_info_in_ph_flagが0に等しく、slice_typeがPに等しい場合)、slice_collocated_from_l0_flagの値は1に等しいと推測される。
slice_collocated_ref_idxは、時間的動きベクトル予測に使用されるコロケートピクチャの参照インデックスを指定する。
slice_typeがPに等しいとき、またはslice_typeがBに等しく、slice_collocated_from_l0_flagが1に等しいとき、slice_collocated_ref_idxは参照ピクチャリスト0中のエントリを指し、slice_collocated_ref_idxの値は、両端値を含めて0からNumRefIdxActive[0]-1の範囲内にあるものとする。
slice_typeがBに等しく、slice_collocated_from_l0_flagが0に等しいとき、slice_collocated_ref_idxは参照ピクチャリスト1中のエントリを指し、slice_collocated_ref_idxの値は、両端値を含めて0からNumRefIdxActive[1]-1の範囲内にあるものとする。
slice_collocated_ref_idxが存在しないとき、以下が適用される:
- rpl_info_in_ph_flagが1に等しい場合、slice_collocated_ref_idxの値はph_collocated_ref_idxに等しいと推測される。
- そうでない場合(rpl_info_in_ph_flagが0に等しい場合)、slice_collocated_ref_idxの値は0に等しいと推測される。
slice_collocated_ref_idxによって参照されるピクチャが、コード化ピクチャのすべてのスライスについて同じであるものとすることが、ビットストリーム適合性の要件である。
slice_collocated_ref_idxによって参照される参照ピクチャのpic_width_in_luma_samplesおよびpic_height_in_luma_samplesの値が、現在のピクチャのpic_width_in_luma_samplesおよびpic_height_in_luma_samplesの値にそれぞれ等しくなければならず、RprConstraintsActive[slice_collocated_from_l0_flag?0:1][slice_collocated_ref_idx]が0に等しくなければならないことが、ビットストリーム適合性の要件である。
slice_qp_deltaは、コーディングユニットレイヤ中のCuQpDeltaValの値によって修正されるまで、スライス中のコーディングブロックに使用されるべきQpYの初期値を指定する。
qp_delta_info_in_ph_flagが0に等しいとき、スライスに対するQpY量子化パラメータの初期値SliceQpYは、以下のように導出される:
Figure 2023515185000102
SliceQpYの値は、-QpBdOffsetから+63の範囲内にあるものとする。
以下の条件のいずれかが真であるとき:
- wp_info_in_ph_flagの値は1に等しく、pps_weighted_pred_flagは1に等しく、slice_typeはPに等しい。
- wp_info_in_ph_flagの値は1に等しく、pps_weighted_bipred_flagは1に等しく、slice_typeはBに等しい。
以下が適用される:
- NumRefIdxActive[0]の値は、nUMwEIGHTSl0の値以下であるものとする。
- 両端値を含めて0からNumRefIdxActive[0]-1の範囲内のiの各参照ピクチャインデックスRefPicList[0][i]について、参照ピクチャインデックスに適用されるルーマ重み、Cb重み、およびCr重みは、それぞれ、LumaWeightL0[i]、ChromaWeightL0[0][i]、およびChromaWeightL0[1][i]である。
wp_info_in_ph_flagが1に等しく、pps_weighted_bipred_flagが1に等しく、slice_typeがBに等しいとき、以下が適用される:
- NumRefIdxActive[1]の値は、NumWeightsL1の値以下であるものとする。
- 両端値を含めて0からNumRefIdxActive[1]-1の範囲内のiの各参照ピクチャインデックスRefPicList[1][i]について、参照ピクチャインデックスに適用されるルーマ重み、Cb重み、およびCr重みは、それぞれ、LumaWeightL1[i]、ChromaWeightL1[0][i]、およびChromaWeightL1[1][i]である。
slice_cb_qp_offsetは、Qp’Cb量子化パラメータの値を決定するときにpps_cb_qp_offsetの値に加算されるべき差を指定する。slice_cb_qp_offsetの値は、両端値を含めて-12から+12の範囲内にあるものとする。slice_cb_qp_offsetが存在しないとき、それは0に等しいと推測される。pps_cb_qp_offset+slice_cb_qp_offsetの値は、両端値を含めて-12から+12の範囲内にあるものとする。
slice_cr_qp_offsetは、Qp’Cr量子化パラメータの値を決定するときにpps_cr_qp_offsetの値に加算されるべき差を指定する。slice_cr_qp_offsetの値は、両端値を含めて-12から+12の範囲内にあるものとする。slice_cr_qp_offsetが存在しないとき、それは0に等しいと推測される。pps_cr_qp_offset+slice_cr_qp_offsetの値は、両端値を含めて-12から+12の範囲内にあるものとする。
slice_joint_cbcr_qp_offsetは、Qp’CbCrの値を決定するときにpps_joint_cbcr_qp_offset_valueの値に加算されるべき差を指定する。slice_joint_cbcr_qp_offsetの値は、両端値を含めて-12から+12の範囲内にあるものとする。slice_joint_cbcr_qp_offsetが存在しないとき、それは0に等しいと推測される。pps_joint_cbcr_qp_offset_value+slice_joint_cbcr_qp_offsetの値は、両端値を含めて-12から+12の範囲内にあるものとする。
1に等しいcu_chroma_qp_offset_enabled_flagは、cu_chroma_qp_offset_flagが変換単位およびパレットコーディングシンタックスに存在し得ることを指定する。0に等しいcu_chroma_qp_offset_enabled_flagは、cu_chroma_qp_offset_flagが変換単位またはパレットコーディングシンタックスに存在しないことを指定する。存在しないとき、cu_chroma_qp_offset_enabled_flagの値は0に等しいと推測される。
1に等しいslice_sao_luma_flagは、SAOが現在のスライス中のルーマ成分に対して有効にされることを指定する。0に等しいslice_sao_luma_flagは、SAOが現在のスライス中のルーマ成分に対して無効にされることを指定する。slice_sao_luma_flagが存在しないとき、それはph_sao_luma_enabled_flagに等しいと推測される。
1に等しいslice_sao_chroma_flagは、SAOが現在のスライス中のクロマ成分に対して有効にされることを指定する。0に等しいslice_sao_chroma_flagは、SAOが現在のスライス中のクロマ成分に対して無効にされることを指定する。slice_sao_chroma_flagが存在しないとき、それはph_sao_chroma_enabled_flagに等しいと推測される。
1に等しいslice_deblocking_filter_override_flagは、デブロッキングパラメータがスライスヘッダに存在することを指定する。0に等しいslice_deblocking_filter_override_flagは、デブロッキングパラメータがスライスヘッダに存在しないことを指定する。存在しないとき、slice_deblocking_filter_override_flagの値はph_deblocking_filter_override_flagに等しいと推測される。
1に等しいslice_deblocking_filter_disabled_flagは、デブロッキングフィルタの動作が現在のスライスに適用されないことを指定する。0に等しいslice_deblocking_filter_disabled_flagは、デブロッキングフィルタの動作が現在のスライスに適用されることを指定する。slice_deblocking_filter_disabled_flagが存在しないとき、それはph_deblocking_filter_disabled_flagに等しいと推測される。
slice_beta_offset_div2およびslice_tc_offset_div2は、現在のスライスのルーマ成分に適用されるβおよびtC(2で除算される)のためのデブロッキングパラメータオフセットを指定する。slice_beta_offset_div2およびslice_tc_offset_div2の値は両方とも、両端値を含めて-12から12の範囲内にあるものとする。存在しないとき、slice_beta_offset_div2およびslice_tc_offset_div2の値は、それぞれph_beta_offset_div2およびph_tc_offset_div2に等しいと推測される。
slice_cb_beta_offset_div2およびslice_cb_tc_offset_div2は、現在のスライスのCb成分に適用されるβおよびtC(2で除算される)のためのデブロッキングパラメータオフセットを指定する。slice_cb_beta_offset_div2およびslice_cb_tc_offset_div2の値は両方とも、両端値を含めて-12から12の範囲内にあるものとする。存在しないとき、slice_cb_beta_offset_div2およびslice_cb_tc_offset_div2の値は、それぞれph_cb_beta_offset_div2およびph_cb_tc_offset_div2に等しいと推測される。
slice_cb_beta_offset_div2およびslice_cb_tc_offset_div2は、現在のスライスのCr成分に適用されるβおよびtC(2で除算される)のためのデブロッキングパラメータオフセットを指定する。slice_cr_beta_offset_div2およびslice_cr_tc_offset_div2の値は両方とも、両端値を含めて-12から12の範囲内にあるものとする。存在しないとき、slice_cr_beta_offset_div2およびslice_cr_tc_offset_div2の値は、それぞれph_cr_beta_offset_div2およびph_cr_tc_offset_div2に等しいと推測される。
1に等しいslice_ts_residual_coding_disabled_flagは、residual_coding( )シンタックス構造が、現在のスライスのための変換スキップブロックの残差サンプルを解析するために使用されることを指定する。0に等しいslice_ts_residual_coding_disabled_flagは、residual_ts_coding( )シンタックス構造が、現在のスライスのための変換スキップブロックの残差サンプルを解析するために使用されることを指定する。slice_ts_residual_coding_disabled_flagが存在しないとき、それは0に等しいと推測される。
1に等しいslice_lmcs_enabled_flagは、クロマスケーリングを伴うルーママッピングが現在のスライスに対して有効にされることを指定する。0に等しいslice_lmcs_enabled_flagは、クロマスケーリングを伴うルーママッピングが現在のスライスに対して有効にされないことを指定する。slice_lmcs_enabled_flagが存在しないとき、それは0に等しいと推測される。
1に等しいslice_scaling_list_present_flagは、現在のスライスに使用されるスケーリングリストデータが、SCALING_APSに等しいaps_params_typeとph_scaling_list_aps_idに等しいadaptation_parameter_set_idとを有する参照されたスケーリングリストAPSに含まれるスケーリングリストデータに基づいて導出されることを指定する。0に等しいslice_scaling_list_present_flagは、現在のピクチャに使用されるスケーリングリストデータが、第7.4.3.21節で規定されている導出されたデフォルトスケーリングリストデータであることを指定する。存在しないとき、slice_scaling_list_present_flagの値は0に等しいと推測される。
現在のスライスにおけるエントリポイントの数を指定する変数NumEntryPointsは、以下のように導出される:
Figure 2023515185000103
offset_len_minus1+1は、entry_point_offset_minus1[i]シンタックス要素の長さをビット単位で指定する。offset_len_minus1の値は、両端値を含めて0から31の範囲内にあるものとする。
entry_point_offset_minus1[i]+1は、第iのエントリポイントオフセットをバイト単位で指定し、offset_len_minus1+1ビットによって表される。スライスヘッダに続くスライスデータは、NumEntryPoints+1個のサブセットから構成され、サブセットインデックス値は、両端値を含めて0からNumEntryPointsの範囲である。スライスデータの最初のバイトはバイト0と見なされる。存在する場合、コード化スライスNALユニットのスライスデータ部分に現れるエミュレーション防止バイトは、サブセット識別のためにスライスデータの一部としてカウントされる。サブセット0は、両端値を含めて、コード化スライスデータのバイト0からentry_point_offset_minus1[0]から構成され、両端値を含めて1からNumEntryPoints-1の範囲内のkのサブセットkは、両端値を含めて、コード化スライスデータのバイトfirstByte[k]からlastByte[k]から構成され、ここで、firstByte[k]およびlastByte[k]は以下のように定義される:
Figure 2023515185000104
(サブセットインデックスがNumEntryPointsに等しい)最後のサブセットは、コード化スライスデータの残りのバイトから構成される。
sps_entropy_coding_sync_enabled_flagが0に等しく、スライスが1つまたは複数の完全なタイルを含むとき、各サブセットは、同じタイル内にあるスライス中のすべてのCTUのすべてのコード化ビットから構成されるものとし、サブセットの数(すなわち、NumEntryPoints+1の値)は、スライス中のタイルの数に等しいものとする。
sps_entropy_coding_sync_enabled_flagが0に等しく、スライスが単一のタイルからのCTU行のサブセットを含むとき、NumEntryPointsは0であるものとし、サブセットの数は1であるものとする。サブセットは、スライス中のすべてのCTUのすべてのコード化ビットから構成されるものとする。
sps_entropy_coding_sync_enabled_flagが1に等しいとき、両端値を含めて0からNumEntryPointsの範囲内にあるkの各サブセットkは、タイル内のCTU行中のすべてのCTUのすべてのコード化ビットから構成されるものとし、サブセット数(すなわち、NumEntryPoints+1の値)は、スライス中のタイル固有CTU行の総数に等しいものとする。
slice_header_extension_lengthは、スライスヘッダ拡張データの長さをバイト単位で指定し、slice_header_extension_length自体をシグナリングするために使用されるビットは含まない。slice_header_extension_lengthの値は、両端値を含めて0から256の範囲内にあるものとする。存在しないとき、slice_header_extension_lengthの値は0に等しいと推測される。
slice_header_extension_data_byte[i]は任意の値を有し得る。本仕様書のこのバージョンに準拠するデコーダは、すべてのslice_header_extension_data_byte[i]シンタックス要素の値を無視するものとする。その値は、本仕様書のこのバージョンで規定されているプロファイルへのデコーダ適合性に影響を及ぼさない。
3.10.参照ピクチャリストのシンタックス
最新のVVCドラフトテキストでは、シンタックス構造ref_pic_lists( )およびセマンティクスは以下の通りである:
Figure 2023515185000105
ref_pic_lists( )シンタックス構造は、PHシンタックス構造またはスライスヘッダに存在し得る。
1に等しいrpl_sps_flag[i]は、ref_pic_lists( )内の参照ピクチャリストiが、SPS中のiに等しいlistIdxを有するref_pic_list_struct(listIdx,rplsIdx)シンタックス構造のうちの1つに基づいて導出されることを指定する。0に等しいrpl_sps_flag[i]は、ピクチャの参照ピクチャリストiが、ref_pic_lists( )に直接含まれるiに等しいlistIdxを有するref_pic_list_struct(listIdx,rplsIdx)シンタックス構造に基づいて導出されることを指定する。
rpl_sps_flag[i]が存在しない場合、以下が適用される:
- num_ref_pic_lists_in_sps[i]が0に等しい場合、rpl_sps_flag[i]の値は0に等しいと推測される。
- そうでない場合(num_ref_pic_lists_in_sps[i]が0より大きい場合)で、rpl1_idx_present_flagが0に等しく、iが1に等しいとき、rpl_sps_flag[1]の値はrpl_sps_flag[0]に等しいと推測される。
rpl_idx[i]は、SPSに含まれるiに等しいlistIdxを有するref_pic_list_struct(listIdx,rplsIdx)シンタックス構造のリストへの、現在のピクチャの参照ピクチャリストiの導出に使用されるiに等しいlistIdxを有するref_pic_list_struct(listIdx,rplsIdx)シンタックス構造のインデックスを指定する。シンタックス要素rpl_idx[i]は、Ceil(Log2(num_ref_pic_lists_in_sps[i]))ビットによって表される。存在しないとき、rpl_idx[i]の値は0に等しいと推測される。rpl_idx[i]の値は、両端値を含めて0からnum_ref_pic_lists_in_sps[i]-1の範囲内にあるものとする。rpl_sps_flag[i]が1に等しく、num_ref_pic_lists_in_sps[i]が1に等しいとき、rpl_idx[i]の値は0に等しいと推測される。rpl_sps_flag[i]が1に等しく、rpl1_idx_present_flagが0に等しいとき、rpl_idx[1]の値はrpl_idx[0]に等しいと推測される。
変数RplsIdx[i]は以下のように導出される:
Figure 2023515185000106
poc_lsb_lt[i][j]は、ref_pic_lists( )シンタックス構造中の第iの参照ピクチャリスト中の第jのLTRPエントリの、MaxPicOrderCntLsbを法とするピクチャ順序カウントモジュロの値を指定する。poc_lsb_lt[i][j]シンタックス要素の長さは、log2_max_pic_order_cnt_lsb_minus4+4ビットである。
変数POClsBLt[i][j]は、以下のように導出される:
Figure 2023515185000107
1に等しいdelta_poc_msb_present_flag[i][j]は、delta_poc_msb_cycle_lt[i][j]が存在することを指定する。0に等しいdelta_poc_msb_present_flag[i][j]は、delta_poc_msb_cycle_lt[i][j]が存在しないことを指定する。
prevTid0Picを、ref_pic_lists( )シンタックス構造を参照するピクチャヘッダまたはスライスと同じnuh_layer_idを有し、0に等しいTemporalIdを有し、RASLまたはRADLピクチャではない、復号順序で前のピクチャとする。setOfPrevPocValsを以下から構成されるセットとする:
- prevTid0PicのPicOrderCntVal、
- prevTid0PicのRefPicList[0]またはRefPicList[1]中のエントリによって参照され、現在のピクチャと同じnuh_layer_idを有する各ピクチャのPicOrderCntVal、
- 復号順序でprevTid0Picに後続する各ピクチャのPicOrderCntVal、これは、現在のピクチャと同じnuh_layer_idを有し、復号順序で現在のピクチャに先行する。
MaxPicOrderCntLsbを法とする値がPOClsBLt[i][j]に等しいsetOfPrevPocValsに2つ以上の値が存在するとき、delta_poc_msb_present_flag[i][j]の値は1に等しいものとする。
delta_poc_msb_cycle_lt[i][j]は、変数FullPocLt[i][j]の値を次のように指定する。
Figure 2023515185000108
delta_poc_msb_cycle_lt[i][j]の値は、両端値を含めて0から2(32-log2_max_pic_order_cnt_lsb_minus4-4)の範囲内にあるものとする。存在しないとき、delta_poc_msb_cycle_lt[i][j]の値は0に等しいと推測される。
3.11.参照ピクチャリスト構造のシンタックス
最新のVVCドラフトテキストでは、シンタックス構造ref_pic_lists( )およびセマンティクスは以下の通りである:
Figure 2023515185000109
ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造は、SPSに、PHシンタックス構造に、またはスライスヘッダに存在し得る。シンタックス構造がSPSに含まれるか、PHシンタックス構造に含まれるか、スライスヘッダに含まれるかに応じて、以下が適用される:
- PHシンタックス構造またはスライスヘッダに存在する場合、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造は、現在のピクチャ(スライスを含むピクチャ)の参照ピクチャリストlistIdxを指定する。
- そうでない場合(SPSに存在する場合)、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造は、参照ピクチャリストlistIdxのための候補を指定し、この節の残りにおいて指定されるセマンティクス中の「現在のピクチャ」という用語は、1)SPSに含まれるref_pic_list_struct(listIdx,rplsIdx)シンタックス構造のリストへのインデックスに等しいph_rpl_idx[listIdx]を含むPHシンタックス構造、またはSPSに含まれるref_pic_list_struct(listIdx,rplsIdx)シンタックス構造のリストへのインデックスに等しいslice_rpl_idx[listIdx]を含む1つまたは複数のスライスを有し、2)SPSを参照するCVS中にある各ピクチャを指す。
num_ref_entries[listIdx][rplsIdx]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造内のエントリの数を指定する。num_ref_entries[listIdx][rplsIdx]の値は、両端値を含めて0からMaxDpbSize+13の範囲内にあるものとし、ここで、MaxDpbSizeは、第A.4.2節で規定されている通りである。
0に等しいltrp_in_header_flag[listIdx][rplsIdx]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造中のLTRPエントリのPOC LSBがref_pic_list_struct(listIdx,rplsIdx)シンタックス構造に存在することを指定する。1に等しいltrp_in_header_flag[listIdx][rplsIdx]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造中のLTRPエントリのPOC LSBがref_pic_list_struct(listIdx,rplsIdx)シンタックス構造に存在しないことを指定する。
1に等しいinter_layer_ref_pic_flag[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造中の第iのエントリがILRPエントリであることを指定する。0に等しいinter_layer_ref_pic_flag[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造中の第iのエントリがILRPエントリではないことを指定する。存在しないとき、inter_layer_ref_pic_flag[listIdx][rplsIdx][i]の値は、0に等しいと推測される。
1に等しいst_ref_pic_flag[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造中の第iのエントリがSTRPエントリであることを指定する。0に等しいst_ref_pic_flag[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造中の第iのエントリがLTRPエントリであることを指定する。inter_layer_ref_pic_flag[listIdx][rplsIdx][i]が0に等しく、st_ref_pic_flag[listIdx][rplsIdx][i]が存在しないとき、st_ref_pic_flag[listIdx][rplsIdx][i]の値は1に等しいと推測される。
変数NumLtrpEntries[listIdx][rplsIdx]は、以下のように導出される:
Figure 2023515185000110
abs_delta_poc_st[listIdx][rplsIdx][i]は、変数AbsDeltaPocSt[listIdx][rplsIdx][i]の値を次のように指定する:
Figure 2023515185000111
abs_delta_poc_st[listIdx][rplsIdx][i]の値は、両端値を含めて0から215-1の範囲内にあるものとする。
1に等しいstrp_entry_sign_flag[listIdx][rplsIdx][i]は、シンタックス構造ref_pic_list_struct(listIdx,rplsIdx)中の第iのエントリが0以上の値を有することを指定する。0に等しいstrp_entry_sign_flag[listIdx][rplsIdx][i]は、シンタックス構造ref_pic_list_struct(listIdx,rplsIdx)中の第iのエントリが0未満の値を有することを指定する。存在しないとき、strp_entry_sign_flag[listIdx][rplsIdx][i]の値は、1に等しいと推測される。
リストDeltaPocValSt[listIdx][rplsIdx]は、以下のように導出される:
Figure 2023515185000112
rpls_poc_lsb_lt[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造中の第iのエントリによって参照されるピクチャの、MaxPicOrderCntLsbを法とするピクチャ順序カウントの値を指定する。rpls_poc_lsb_lt[listIdx][rplsIdx][i]シンタックス要素の長さは、log2_max_pic_order_cnt_lsb_minus4+4ビットである。
ilrp_idx[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx,rplsIdx)シンタックス構造中の第iのエントリのILRPの、直接参照レイヤのリストへのインデックスを指定する。ilrp_idx[listIdx][rplsIdx][i]の値は、両端値を含めて0からNumDirectRefLayers[GeneralLayerIdx[nuh_layer_id]]-1の範囲内にあるものとする。
4.開示の技法によって解決される技術的課題の例
制約フラグの既存の設計は、以下の問題を有する:
1)現在、profileTierPresentFlagが1に等しいPTLシンタックス構造が存在するときはいつでも、すべての一般制約フラグ/フィールドが、そのPTLシンタックス構造(SS)内でシグナリングされる。PTLシンタックス構造が、DCI(1回または複数回で、毎回profileTierPresentFlagは1に等しい)、VPS(1回または複数回で、初回はprofileTierPresentFlagは1に等しく、それ以外ではprofileTierPresentFlagは0または1のいずれかに等しい)、およびSPS(0回または1回で、profileTierPresentFlagは1に等しい)に含まれ得ることを考慮すると、一般制約フラグ/フィールドの冗長シグナリングは多く存在する可能性があり得る。さらに、一般制約のいずれも適用されない可能性があるが、この場合、一般制約フラグ/フィールドの少なくとも1つのセットが依然として各OLSのビットストリームに対してシグナリングされる。
2)最新のVVCドラフトテキストでは、一般制約フラグは、セマンティクスにおけるビットストリーム制約を介して、いくつかのSPS/PH/SHシンタックス要素(SE)またはそれらの組合せの値を制約するために使用される。しかしながら、それらはまた、そのような関連するSPS/PH/SH SEの存在を調整するために使用されることができ、それは、それらの値が知られているビットのシグナリングをスキップすることを可能にし、したがって、ビットの浪費を回避する。
a.最新のVVCドラフトテキストにおけるgeneral_constraint_info( )シンタックスでは、no_aps_constraint_flagなどのシンタックス要素が、ALF、CCALF、LMCS、スケーリングリストなどの技法のグループに影響を及ぼす。しかしながら、現在の設計は、(例えば、関連するシンタックス要素の値に対する制約を指定すること、または関連するシンタックス要素の存在を条件づけることに関して)すべてのケースをカバーするわけではない。
3)最新のVVCドラフトテキストでは、一般制約フラグに関するいくつかのPPS SEは、特定の一般制約フラグの値に応じて、特定の値のみを有することができる。しかしながら、このようなPPS SEの不正な値を許可しないためにいくつかのセマンティクス制約が欠けている。
4)最新のVVCドラフトテキスト中のgeneral_constraint_info( )シンタックスでは、一束の一般制約フラグは互いに相互作用し、すなわち、一般制約フラグの特定の値は他の一般制約フラグの値に依存する。しかしながら、ビットストリーム制約またはシンタックス調整のいずれかによって、そのような一般制約フラグの不正な値を許可しないために制約が欠けている。
5)ビットを節約するためのいくつかのSPS/PPS/PH/SHシンタックス要素の存在を条件付けるために、いくつかのシンタックス要素をSPSおよび/またはPPSに追加し得る。
6)最新のVVCドラフトテキストにおけるgeneral_constraint_info( )シンタックスには、コーディングツールおよび機能のサブセットのための制約フラグが含まれる。しかしながら、対応する制約フラグを有さない他のコーディングツール(例えば、WPP、エントロピーコーディング同期、重み付け予測、重み付き双予測、SMVD、MMVD、ISP、MRL、MIP、LFNST、パレット、ACT、スケーリングリストなど)および機能(例えば、単一レイヤのみ、1つのサブピクチャのみ、レイヤ間予測なし、仮想境界なし、長期参照なし、32×32最大ルーマ変換サイズなし、MERなし、など)がある。
7)最新のVVCドラフトテキストでは、APSは、PPS、SPS、またはVPSを参照しない。しかしながら、いくつかのAPS SEのセマンティクスは、VPS、SPS、またはPPSのSEの値に依存する。すべてのそのような依存性が除去されるべきであるか、またはPPSもしくはSPSもしくはVPS IDをAPSシンタックスに追加し、PPSもしくはSPSもしくはVPSの参照を可能にして、そのようなセマンティクス依存性を可能にするかのいずれかである。
5.例示的な実施形態および技法
上記の問題および言及されていないいくつかの他の問題を解決するために、以下に要約されるような方法が開示される。本発明は、一般概念を説明するための例と見なされるべきであり、狭義に解釈されるべきではない。さらに、これらの発明は、単独で適用され得るか、または任意に組み合わせて適用され得る。
1.一般的に、第1の問題を解決するための一般制約フラグ/フィールドのシグナリングに関して、以下の手法のうちの1つまたは複数が開示される:
1)general_constraint_info( )シンタックス構造がPTLシンタックス構造に存在するかどうかを指定するために、存在フラグがPTLシンタックス構造に追加され得る。
a.一例では、OLSについてgeneral_constraint_info( )シンタックス構造が存在しないとき、デフォルト値が、一般制約フラグ/フィールドの各々について推測される。
i.一例では、OLSについてgeneral_constraint_info( )シンタックス構造が存在しないとき、一般制約フラグ/フィールドの各々は、特定の制約がOLSのビットストリームに課されないことを指定する値であると推測される。例えば、intra_only_constraint_flag、no_res_change_in_clvs_constraint_flag、およびone_tile_per_pic_constraint_flagの値はすべて、0に等しいと推測される。
b.一例では、DCIにおいて、その中に2つ以上のPTLシンタックス構造があるとき、それらのPTLシンタックス構造のうちの多くても1つがgeneral_constraint_info( )シンタックス構造を含み、存在するとき、そのgeneral_constraint_info( )シンタックス構造がビットストリーム全体に適用されることが要求され得る。
i.さらに、DCI中の第1のPTLシンタックス構造のみがgeneral_constraint_info( )シンタックス構造を含み得、(明示的にシグナリングまたは推測される)DCI中の第1のDCI PTLシンタックス構造に関連付けられた一般制約情報が、ビットストリーム全体に適用される、DCIに関連付けられた一般制約情報と見なされることが要求され得る。
c.一例では、DCIがビットストリームに存在するとき、VPSまたはSPSに存在するPTLシンタックス構造がgeneral_constraint_info( )シンタックス構造を含んではならないことが要求され得、(明示的にシグナリングまたは推測される)DCIに関連付けられた一般制約情報が、ビットストリーム中の各CVSの各OLSに適用される。
i.代替的に、DCIがビットストリームに存在するとき、VPSに存在するPTLシンタックス構造がgeneral_constraint_info( )シンタックス構造を含んではならないことが要求され得、(明示的にシグナリングまたは推測される)DCIに関連付けられた一般制約情報が、ビットストリーム中の各CVSに2つ以上のレイヤを含む各OLSに適用される。
d.一例では、VPSにおいて、その中に2つ以上のPTLシンタックス構造があるとき、それらのPTLシンタックス構造のうちの1つだけがgeneral_constraint_info( )シンタックス構造を含み得、そのgeneral_constraint_info( )シンタックス構造がビットストリーム中の各CVSの各OLSに適用されることが要求され得る。
i.代替的に、VPSにおいて、その中に2つ以上のPTLシンタックス構造があるとき、VPS中の第1のPTLシンタックス構造のみがgeneral_constraint_info( )シンタックス構造を含み得、(明示的にシグナリングまたは推測される)第1のPTLシンタックス構造に関連付けられた一般制約情報がビットストリーム中の各CVSの各OLSに適用されることが要求され得る。
e.一例では、2つ以上のPTL(および/またはgeneral_constraint_info( ))シンタックス構造がDCIおよび/またはSPSおよび/またはVPS中でシグナリングされるとき、それらのPTL(および/またはgeneral_constraint_info( ))シンタックス構造は、適合ビットストリームにおいて同じコンテンツを有さなければならない。
i.一例では、2つ以上のPTL(および/またはgeneral_constraint_info( ))シンタックス構造がOLSのためにシグナリングされるとき、それらのPTL(および/またはgeneral_constraint_info( ))シンタックス構造は、適合ビットストリームにおいて同じコンテンツを有さなければならない。
ii.一例では、2つ以上のPTL(および/またはgeneral_constraint_info( ))シンタックス構造がCVSのためにシグナリングされるとき、それらのPTL(および/またはgeneral_constraint_info( ))シンタックス構造は、適合ビットストリームにおいて同じコンテンツを有さなければならない。
f.一例では、多くとも1つのPTL(および/またはgeneral_constraint_info( ))シンタックス構造は、適合ビットストリームにおけるDCIおよび/またはSPSおよび/またはVPS中でシグナリングされることを許可される。
i.一例では、多くとも1つのPTL(および/またはgeneral_constraint_info( ))シンタックス構造は、適合ビットストリームにおいてOLSのためにシグナリングされることを許可される。
ii.一例では、多くとも1つのPTL(および/またはgeneral_constraint_info( ))シンタックス構造は、適合ビットストリームにおいてCVSのためにシグナリングされることを許可される。
g.一例では、複数のPTLシンタックス構造が、複数のOLSを対象とするDCI中でシグナリングされるとき、第iのOLSに適用されるPTLシンタックス構造の、DCI中のPLTシンタックス構造のリストへのインデックスを指定するために、シンタックス要素がDCIシンタックス構造に追加され得る。
i.追加的に、ビットストリームに1つのOLSのみがある場合、上述のシンタックス要素のシグナリングはスキップされ得、および/またはシンタックス要素の値は特定の値(0など)に推測される。
h.一例では、DCIおよび/またはSPSおよび/またはVPS中に複数のgeneral_constraint_info( )シンタックス構造があり、特定の一般制約フラグ/フィールドの値がOLSについて異なるとき、一般制約フラグのいずれかが特定の制約を課す限り、特定の制約がこのOLSに適用されるであろう。
i.一例では、VPS/SPS中の一般制約フラグのいずれかが、特定の制約がOLSに課されることを指定し、DCI中の対応する一般制約フラグが、特定の制約がOLSに課されないことを指定するとき、そのOLSは、より厳しい制約に準拠し得る(例えば、VPS/SPS中で示されるように、そのような特定の制約をそのOLSに課す)。
1.代替的に、VPS/SPS中の一般制約フラグのいずれかが、特定の制約がOLSに課されないことを指定し、DCI中の対応する一般制約フラグが、特定の制約がOLSに課されることを指定するとき、そのOLSは、より厳しい制約に準拠し得る(例えば、DCI中で示されるように、そのような特定の制約をそのOLSに課す)。
ii.一例では、OLSに制約を課す一般制約シンタックス要素に関連付けられた任意の特定の態様について、DCI中で搬送される対応する一般制約シンタックス要素は、VPS/SPS中で示されるその態様に関する同じ制約の値よりも緩和されることはあってもそれよりも厳しいことはないことを示す値を有さなければならない。
1.一例では、VPS/SPS中の一般制約フラグ/フィールドのいずれかが、特定の制約がOLSに課されないことを指定する場合、DCI中の対応する一般制約フラグの値がそのOLSについて0に等しいことを要求するために、ビットストリーム適合性が追加され得る(この場合、DCI中の対応する一般制約フラグの値は決して1に等しくない)。
2.一例では、VPS/SPS中の一般制約フラグ/フィールドのいずれかが、特定の制約がOLSに課されることを指定する場合、DCI中の対応する一般制約フラグの値は、そのOLSについて0または1に等しくなり得る。
iii.代替的に、逆に、OLSに制約を課す一般制約シンタックス要素に関連付けられた任意の特定の態様について、DCI中で搬送される対応する一般制約シンタックス要素は、VPS/SPS中で示されるその態様に関する同じ制約の値よりもよりも厳しいことはあっても緩和されることはないことを示す値を有さなければならない。
1.一例では、VPS/SPS中の一般制約フラグ/フィールドのいずれかが、特定の制約がOLSに課されることを指定する場合、DCI中の対応する一般制約フラグの値がそのOLSについて1に等しいことを要求するために、ビットストリーム適合性が追加され得る(この場合、DCI中の対応する一般制約フラグの値が0に等しくなることはない)。
2.一例では、VPS/SPS中の一般制約フラグ/フィールドのいずれかが、特定の制約がOLSについて課されないことを指定する場合、DCI中の対応する一般制約フラグの値は、そのOLSについて0または1に等しくなり得る。
i.一例では、一般制約フラグ/フィールドのための異なるデフォルト値の複数のセットが事前定義され得る。
i.代替的に、さらに、複数のセットのうちの1つのセットの指示がDCI/VPS/SPS中でシグナリングされ得る。
ii.代替的に、1つのセットのみが事前定義される。
1.代替的に、さらに、1つのセットが使用されるかどうかを指定するために、1つのフラグがDCI/VPS/SPSに存在し得る。
iii.一例では、複数のセットのうちの1つについて、一般制約フラグ/フィールドの各々は、特定の制約がOLSのビットストリームに課されないことを指定する値であると推測される。例えば、intra_only_constraint_flag、no_res_change_in_clvs_constraint_flag、およびone_tile_per_pic_constraint_flagの値はすべて、0に等しいと推測される。
iv.一例では、複数のセットのうちの1つまたはいくつかについて、max_bitdepth_constraint_idcの値は、特定の値、例えば、2に等しいと推測され得る。
2.第2の問題を解決するための一般制約フラグに基づくSPS/PH/SHシンタックス要素のシグナリングに関して:
1)一般制約フラグの値に応じて、SPS/PH/SH中での対応するシンタックス要素のシグナリングは、例えば、第1の実施形態にあるように、スキップされ得る。
a.一例では、いくつかのSPSシンタックス要素のシグナリングが、いくつかの一般制約フラグにしたがってスキップされ得る。
i.例えば、一般制約フィールドmax_chroma_format_constraint_idcの値が0に等しい場合、対応するSPSシンタックス要素chroma_format_idcのシグナリングはスキップされ得る。
a)追加的に、さらに、max_chroma_format_constraint_idcが0に等しいとき、chroma_format_idcの値は0に等しいと推測される。
ii.例えば、一般制約フィールドmax_bitdepth_constraint_idcの値が0に等しい場合、対応するSPSシンタックス要素bit_depth_minus8のシグナリングはスキップされ得る。
a)追加的に、さらに、max_bitdepth_constraint_idcが0に等しいとき、bit_depth_minus8の値は0に等しいと推測される。
iii.例えば、一般制約フラグno_aps_constraint_flagの値が1に等しい場合、APS関連SPSシンタックス要素(sps_lmcs_enabled_flag、sps_scaling_list_enabled_flag、sps_alf_enabled_flag、sps_ccalf_enabled_flagなど)のシグナリングはスキップされ得る。
a)追加的に、no_aps_constraint_flagが1に等しいとき、上述のAPS関連SPSシンタックス要素の各々の値は0に等しいと推測される。
b)代替的に、さらに、一般制約フラグno_aps_constraint_flagの値が1に等しい場合、NALユニットタイプがPREFIX_APS_NUTまたはSUFFIX_APS_NUTに等しくなることは許可されない。
iv.例えば、一般制約フラグintra_only_constraint_flagの値が1に等しい場合、(sps_weighted_pred_flag、sps_weighted_bipred_flag、long_term_ref_pics_flag、sps_idr_rpl_present_flag、rpl1_same_as_rpl0_flag、gdr_enabled_flag、res_change_in_clvs_allowed_flag、sps_ref_wraparound_enabled_flag、sps_temporal_mvp_enabled_flag、sps_sbtmvp_enabled_flag、sps_amvr_enabled_flag、sps_bdof_enabled_flag、sps_dmvr_enabled_flag、sps_sbt_enabled_flag、sps_affine_enabled_flag、sps_bcw_enabled_flag、sps_ciip_enabled_flag、sps_fpel_mmvd_enabled_flag、sps_gpm_enabled_flagなどの)インター関連SPSシンタックス要素のうちの1つまたは複数のシグナリングがスキップされ得る。
a)追加的に、intra_only_constraint_flagが1に等しいとき、上述のインター関連SPSシンタックス要素の各々の値は0に等しいと推測される。
v.例えば、対応するSPSシンタックス要素Y1のシグナリングは、一般制約フラグY2の値が1に等しい場合にスキップされ得る。
a)追加的に、存在しないとき(一般制約フラグY2が1に等しい場合)、対応するSPSシンタックス要素Y1の値は0に等しいと推測される。
b)例えば、Y1はsps_ladf_enabled_flagであり、Y2はno_ladf_constraint_flagである。
c)例えば、Y1はgdr_enabled_flagであり、Y2はno_gdr_constraint_flagである。
d)例えば、Y1はres_change_in_clvs_allowed_flagであり、Y2はno_res_change_in_clvs_constraint_flagである。
e)例えば、Y1はqtbtt_dual_tree_intra_flagであり、Y2はno_qtbtt_dual_tree_intra_constraint_flagである。
f)例えば、Y1はpartition_constraints_override_enabled_flagであり、Y2はno_partition_constraints_override_constraint_flagである。
g)例えば、Y1はsps_joint_cbcr_enabled_flagであり、Y2はno_joint_cbcr_constraint_flagである。
h)例えば、Y1はsps_sao_enabled_flagであり、Y2はno_sao_constraint_flagである。
i)例えば、Y1はsps_alf_enabled_flagであり、Y2はno_alf_constraint_flagである。
j)例えば、Y1はsps_ccalf_enabled_flagであり、Y2はno_ccalf_constraint_flagである。
k)例えば、Y1はsps_transform_skip_enabled_flagであり、Y2はno_transform_skip_constraint_flagである。
l)例えば、Y1はsps_bdpcm_enabled_flagであり、Y2はno_bdpcm_constraint_flagである。
m)例えば、Y1はsps_ref_wraparound_enabled_flagであり、Y2はno_ref_wraparound_constraint_flagである。
n)例えば、Y1=sps_temporal_mvp_enabled_flag、Y2=no_temporal_mvp_constraint_flagである。
o)例えば、Y1はsps_sbtmvp_enabled_flagであり、Y2はno_sbtmvp_constraint_flagである。
p)例えば、Y1はsps_amvr_enabled_flagであり、Y2はno_amvr_constraint_flagである。
q)例えば、Y1はsps_bdof_enabled_flagであり、Y2はno_bdof_constraint_flagである。
r)例えば、Y1はsps_dmvr_enabled_flagであり、Y2はno_dmvr_constraint_flagである。
s)例えば、Y1はsps_cclm_enabled_flagであり、Y2はno_cclm_constraint_flagである。
t)例えば、Y1はsps_mts_enabled_flagであり、Y2はno_mts_constraint_flagである。
u)例えば、Y1はsps_sbt_enabled_flagであり、Y2はno_sbt_constraint_flagである。
v)例えば、Y1はsps_affine_enabled_flagであり、Y2はno_affine_motion_constraint_flagである。
w)例えば、Y1はsps_bcw_enabled_flagであり、Y2はno_bcw_constraint_flagである。
x)例えば、Y1はsps_ibc_enabled_flagであり、Y2はno_ibc_constraint_flagである。
y)例えば、Y1はsps_ciip_enabled_flagであり、Y2はno_ciip_constraint_flagである。
z)例えば、Y1はsps_fpel_mmvd_enabled_flagであり、Y2はno_fpel_mmvd_constraint_flagである。
aa)例えば、Y1はsps_dep_quant_enabled_flagであり、Y2はno_dep_quant_constraint_flagである。
bb)例えば、Y1はsps_sign_data_hiding_enabled_flagであり、Y2はno_sign_data_hiding_constraint_flagである。
cc)例えば、Y1はsps_gpm_enabled_flagであり、Y2はno_gpm_constraint_flagである。
vi.代替的に、SPS中の関連するシンタックス要素の値が、対応する一般制約フラグの値に基づく特定の値に等しいことを要求するために、ビットストリーム制約が追加され得る。
a)一例では(この場合、上述のSPSシンタックス要素Y1はシグナリングまたは推測される)、一般制約フラグY2が1に等しいとき、対応するSPSシンタックス要素Y1の値が0に等しいことが要求されるというビットストリーム制約が追加され得る。
b)一例では(この場合、APS関連SPSシンタックス要素がシグナリングまたは推測される)、no_aps_constraint_flagが1に等しいとき、APS関連SPSシンタックス要素(sps_lmcs_enabled_flag、sps_scaling_list_enabled_flag、sps_alf_enabled_flag、sps_ccalf_enabled_flagなど)の各々の値が0に等しいことが要求されるというビットストリーム制約が追加され得る。
c)一例では(この場合、インター関連SPSシンタックス要素がシグナリングまたは推測される)、intra_only_constraint_flagが1に等しいとき、上記のインター関連SPSシンタックス要素(sps_weighted_pred_flag、sps_weighted_bipred_flag、long_term_ref_pics_flag、sps_idr_rpl_present_flag、rpl1_same_as_rpl0_flag、gdr_enabled_flag、res_change_in_clvs_allowed_flag、sps_ref_wraparound_enabled_flag、sps_temporal_mvp_enabled_flag、sps_sbtmvp_enabled_flag、sps_amvr_enabled_flag、sps_bdof_enabled_flag、sps_dmvr_enabled_flag、sps_sbt_enabled_flag、sps_affine_enabled_flag、sps_bcw_enabled_flag、sps_ciip_enabled_flag、sps_fpel_mmvd_enabled_flag、sps_gpm_enabled_flagなど)の各々の値が0に等しいことが要求されるビットストリーム制約が追加され得る。
b.一例では、1つまたは複数のPHシンタックス要素のシグナリングは、いくつかの一般制約フラグの値にしたがってスキップされ得る。
i.例えば、intra_only_constraint_flagが1に等しいとき、ph_inter_slice_allowed_flagなどのインター関連PHシンタックス要素のシグナリングはスキップされ得る。
a)追加的に、intra_only_constraint_flagが1に等しいとき、ph_inter_slice_allowed_flagなどのインター関連PHシンタックス要素の各々の値は0に等しいと推測される。
ii.例えば、intra_only_constraint flagが1に等しいとき、PHに含まれるシンタックス構造ref_pic_lists( )およびシンタックス構造ref_pic_list_struct(listIdx,rplsIdx)中のPHシンタックス要素のシグナリングはスキップされ得る。
a)例えば、intra_only_constraint_flagが1に等しいとき、PHに含まれるシンタックス構造ref_pic_lists()中のrpl_sps_flag[ ]、rpl_idx[ ]、poc_lsb_lt[ ][ ]、delta_poc_msb_present_flag[ ][ ]、delta_poc_msb_cycle_lt[ ][ ]などのシンタックス要素はスキップされ得る。
b)例えば、intra_only_constraint_flagが1に等しいとき、PHに含まれるシンタックス構造ref_pic_list_struct(listIdx,rplsIdx)中のnum_ref_entries[ ][ ]、ltrp_in_header_flag[ ][ ]、inter_layer_ref_pic_flag[ ][ ][ ]、st_ref_pic_flag[ ][ ][ ]、abs_delta_poc_st[ ][ ][ ]、strp_entry_sign_flag[ ][ ][ ]、rpls_poc_lsb_lt[ ][ ][ ]、ilrp_idx[ ][ ][ ]などのシンタックス要素はスキップされ得る。
iii.代替的に(この場合、PH中の対応するシンタックス要素は、関連する一般制約フラグ/フィールドの値に応じて条件付きでシグナリングまたはスキップされない)、一例では、PH中の関連するシンタックス要素の値が、対応する一般制約フラグの値に基づく特定の値に等しいことを要求するために、ビットストリーム制約が追加され得る。
a)一例では(この場合、PHシンタックス要素ph_inter_slice_allowed_flagがシグナリングまたは推測される)、intra_only_constraint_flagが1に等しいとき、ph_inter_slice_allowed_flagなどのインター関連PHシンタックス要素の各々の値が0に等しいことが要求されるように、ビットストリーム制約が追加され得る。
b)一例では(この場合、PHに含まれるref_pic_lists( )およびref_pic_list_struct(listIdx,rplsIdx)中のシンタックス要素がシグナリングまたは推測される)、PHに含まれる参照ピクチャリスト中のシンタックス要素が決して使用されないことが要求されるというビットストリーム制約が追加され得る。
c.一例では、1つまたは複数のSHシンタックス要素のシグナリングは、いくつかの一般制約フラグの値にしたがってスキップされ得る。
i.例えば、intra_only_constraint_flagの値が1に等しい場合、RPL関連SHシンタックス要素num_ref_idx_active_override_flagのシグナリングがスキップされ得る。
a)追加的に、intra_only_constraint_flagが1に等しいとき、num_ref_idx_active_override_flagの値は0に等しいと推測される。
ii.例えば、intra_only_constraint_flagが1に等しい場合、SHに含まれるシンタックス構造ref_pic_lists( )およびシンタックス構造ref_pic_list_struct(listIdx,rplsIdx)中のRPL関連シンタックス要素のシグナリングがスキップされ得る。
a)例えば、intra_only_constraint_flagが1に等しいとき、SHに含まれるシンタックス構造ref_pic_lists()中のrpl_sps_flag[ ]、rpl_idx[ ]、poc_lsb_lt[ ][ ]、delta_poc_msb_present_flag[ ][ ]、delta_poc_msb_cycle_lt[ ][ ]などのシンタックス要素がスキップされ得る。
b)例えば、intra_only_constraint_flagが1に等しいとき、SHに含まれるシンタックス構造ref_pic_list_struct(listIdx,rplsIdx)中のnum_ref_entries[ ][ ]、ltrp_in_header_flag[ ][ ]、inter_layer_ref_pic_flag[ ][ ][ ]、st_ref_pic_flag[ ][ ][ ]、abs_delta_poc_st[ ][ ][ ]、strp_entry_sign_flag[ ][ ][ ]、rpls_poc_lsb_lt[ ][ ][ ]、ilrp_idx[ ][ ][ ]などのシンタックス要素がスキップされ得る。
iii.代替的に(この場合、SH中の対応するシンタックス要素は、関連する一般制約フラグ/フィールドの値に応じて条件付きでシグナリングまたはスキップされない)、一例では、SH中の関連するシンタックス要素の各々の値が、対応する一般制約フラグの値にしたがって特定の値に等しいことを要求するために、ビットストリーム制約が追加され得る。
a)一例では(この場合、SHシンタックス要素num_ref_idx_active_override_flagがシグナリングまたは推測される)、intra_only_constraint_flagが1に等しいとき、SH中のシンタックス要素num_ref_idx_active_override_flagが0に等しいことが要求されるように、ビットストリーム制約が追加され得る。
b)一例では(この場合、SHに含まれるref_pic_lists( )およびref_pic_list_struct(listIdx,rplsIdx)中のSHシンタックス要素がシグナリングまたは推測される)、intra_only_constraint_flagが1に等しいとき、SHに含まれる参照ピクチャリスト中のシンタックス要素が決して使用されないことが要求されるように、ビットストリーム制約が追加され得る。
d.上記の例では、1つまたは複数のSHシンタックス要素のシグナリングがスキップされるかどうかを決定するために使用される一般制約フラグ/フィールドは、SPS/PPS/PH/SH中の新しいシンタックス要素によって置き換えられ得る。
e.上記の例では、1つまたは複数のPHシンタックス要素のシグナリングがスキップされるかどうかを決定するために使用される一般制約フラグ/フィールドは、SPS/PPS/PH中の新しいシンタックス要素によって置き換えられ得る。
f.上記の例では、1つまたは複数のSPSシンタックス要素のシグナリングがスキップされるかどうかを決定するために使用される一般制約フラグ/フィールドは、SPS中の新しいシンタックス要素によって置き換えられ得る。
3.第3の問題を解決するための一般制約フラグに基づくPPSシンタックス要素の制約に関して:
1)一般制約フラグの値に応じて、PPS中の対応するシンタックス要素の値は、例えば、第2の実施形態の場合のように制約され得る。
a.一例では、一般制約フラグの値に応じて、PPS中のシンタックス要素の値が特定の値に等しいことが要求されるように、ビットストリーム制約が追加され得る。
i.例えば、one_tile_per_pic_constraint_flagが1に等しいとき、num_exp_tile_columns_minus1、および/またはnum_exp_tile_rows_minus1、および/またはrect_slice_flagの値は0に等しいことが要求される。
ii.例えば、one_slice_per_pic_constraint_flagが1に等しいとき、rect_slice_flagの値は1に等しいことが要求される。
iii.例えば、one_tile_per_pic_constraint_flagとone_slice_per_pic_constraint flagの両方が1に等しいとき、no_pic_partition_flagの値は1に等しいことが要求される。
iv.例えば、intra_only_constraint flagが1に等しいとき、rpl1_idx_present_flagおよびnum_ref_idx_default_active_minus1[ ]の値は0に等しいことが要求される。
4.第4の問題を解決するために、一般制約フラグの不正な値を許可しないようにするための一般制約フラグに対する制約に関して:
1)シンタックスgeneral_constraint_info( )において、1つの一般制約フラグの値は、例えば、第3の実施形態の場合のように、別の一般制約フラグの値に依存し得る。
a.一例では、以前にシグナリングされた一般制約フラグの値に応じて、シンタックスgeneral_constraint_info( )内のいくつかの一般制約フラグのシグナリングがスキップされ得る。
i.一例では、one_slice_per_pic_constraint_flagの値が1に等しい場合、シンタックスgeneral_constraint_info( )中のシンタックス要素one_subpic_per_pic_constraint_flagのシグナリングはスキップされ得る。
1.追加的に、one_slice_per_pic_constraint_flagが1に等しいとき、one_subpic_per_pic_constraint_flagの値は、1に等しいと推測される。
ii.一例では、no_transform_skip_constraint_flagの値が1に等しい場合、シンタックスgeneral_constraint_info( )中のシンタックス要素no_bdpcm_constraint_flagのシグナリングはスキップされ得る。
1.追加的に、no_transform_skip_constraint_flagが1に等しいとき、no_bdpcm_constraint_flagの値は1に等しいと推測される。
iii.例えば、intra_only_constraint_flagの値が1に等しい場合、general_constraint_info( )シンタックス構造中のインター関連シンタックス要素(no_res_change_in_clvs_constraint_flag、no_ref_wraparound_constraint_flag、no_temporal_mvp_constraint_flag、no_sbtmvp_constraint_flag、no_amvr_constraint_flag、no_bdof_constraint_flag、no_dmvr_constraint_flag、no_sbt_constraint_flag、no_affine_motion_constraint_flag、no_bcw_constraint_flag、no_ciip_constraint_flag、no_fpel_mmvd_constraint_flag、no_gpm_constraint_flagなど)のシグナリングはスキップされ得る。
2.追加的に、intra_only_constraint_flagが1に等しいとき、general_constraint_info( )シンタックス構造中の上述のインター関連シンタックス要素の各々の値は、1に等しいと推測される。
b.一例では、代替的に(この場合、一般制約フラグは、以前の一般制約フラグの値に応じて条件付きでシグナリングまたはスキップされない)、1つの一般制約フラグの値が、関連する以前の一般制約フラグ(複数可)の値にしたがって特定の値に等しいことが要求されるように、ビットストリーム制約が追加され得る。
i.一例では、intra_only_constraint_flagが1に等しいとき、上記の箇条書き箇所(bullet)で述べたインター関連一般制約フラグの各々の値は、1に等しいことが要求される。
ii.一例では、intra_only_constraint_flagが1に等しいとき、no_idr_constraint_flagおよびno_cra_constraint_flagの値のうちの少なくとも1つが0に等しいことが要求される。
iii.一例では、no_transform_skip_constraint_flagが1に等しいとき、no_bdpcm_constraint_flagの値は1に等しいことが要求される。
iv.一例では、no_aps_constraint_flagが1に等しいとき、no_alf_constraint_flagの値は1に等しいことが要求される。
c.一例では、追加的に、いくつかの一般制約フラグの値が特定の値に等しいことを要求するために、必要であれば特定の条件下で、ビットストリーム制約が追加され得る。
i.一例では、複数の一般制約フラグの組合せの値を制約するためにビットストリーム制約が追加され得、例えば、no_gdr_constraint_flag、no_idr_constraint_flag、およびno_cra_constraint_flagの値のうちの少なくとも1つが0に等しいことが要求される。
ii.一例では、一般制約フィールドの範囲を制約するためにビットストリーム制約が追加され得る。
1.例えば、max_bitdepth_constraint_idcは、両端値を含めて0からX(例えばX=8)の範囲内にあることが要求される。
2.例えば、general_profile_idcがA(例えばA=1)に等しいとき、max_bitdepth_constraint_idcは、両端値を含めて0からB(例えばB=2)の範囲内にあることが要求される。
5.第5の問題を解決するために新しいSPS/PPSシンタックス要素を追加することに関して:
1)例えば、第4の実施形態の場合のように、SPS/PPS/PH/SH内の関連するシンタックス要素を条件付けするために、新しいSPSおよび/またはPPSシンタックス要素が追加され得る。
a.一例では、SPS/PPS/PH/SH中のインター予測関連シンタックス要素条件付けするために、新しいSPSシンタックス要素(例えば、sps_intra_only_flag)および/または新しいPPSシンタックス要素(例えば、pps_intra_only_flag)が追加され得る。
i.一例では、一般制約フラグintra_only_constraint_flagが1に等しいとき、新しいSPSシンタックス要素sps_intra_only_flagおよび/または新しいPPSシンタックス要素pps_intra_only_flagのシグナリングはスキップされ得る。
1.追加的に、intra_only_constraint_flagが1に等しいとき、新しいSPSシンタックス要素sps_intra_only_flagの値は1に等しいと推測され、および/または新しいPPSシンタックス要素pps_intra_only_flagの値は1に等しいと推測される。
ii.一例では、新しいSPSシンタックス要素(例えば、sps_intra_only_flag)の値が1に等しい場合、(sps_weighted_pred_flag、sps_weighted_bipred_flag、long_term_ref_pics_flag、sps_idr_rpl_present_flag、rpl1_same_as_rpl0_flag、gdr_enabled_flag、res_change_in_clvs_allowed_flag、sps_ref_wraparound_enabled_flag、sps_temporal_mvp_enabled_flag、sps_sbtmvp_enabled_flag、sps_amvr_enabled_flag、sps_bdof_enabled_flag、sps_dmvr_enabled_flag、sps_sbt_enabled_flag、sps_affine_enabled_flag、sps_bcw_enabled_flag、sps_ciip_enabled_flag、sps_fpel_mmvd_enabled_flag、sps_gpm_enabled_flagなどの)インター関連SPSシンタックス要素のシグナリングがスキップされ得る。
2.追加的に、新しいSPSシンタックス要素sps_intra_only_flagが1に等しいとき、インター関連SPSシンタックス要素の各々の値は、特定の値(0または1など)に等しいと推測される。
iii.一例では、新しいSPS/PPSシンタックス要素(例えば、sps_intra_only_flagおよび/またはpps_intra_only_flag)の値が1に等しい場合、PHおよび/またはSHに含まれる対応するインター関連シンタックス要素およびRPL関連シンタックス要素のシグナリングはスキップされ得る。
1.一例では、上述のインター関連PHシンタックス要素は、ph_inter_slice_allowed_flagであり得る。
2.一例において、上述したRPL関連SHシンタックス要素は、num_ref_idx_active_override_flagであり得る。
3.一例として、上述した対応するRPL関連シンタックス要素は、PHおよび/またはSHに含まれたシンタックス構造ref_pic_lists( )およびシンタックス構造ref_pic_list_struct(listIdx,rplsIdx)中のシンタックス要素であり得る。
4.追加的に、新しいシンタックス要素sps_intra_only_flagおよび/またはpps_intra_only_flagが1に等しいとき、PHおよび/またはSH中の対応するインター関連およびRPL関連シンタックス要素の各々の値は、特定の値(0または1など)に等しいと推測される。
iv.一例では、新しいPPSシンタックス要素の値(例えば、pps_intra_only_flag)が1に等しい場合、対応するPPSシンタックス要素のシグナリングはスキップされ得る。
1.例えば、上述した対応するPPSシンタックス要素はrpl1_idx_present_flagであり得る。
2.例えば、上述した対応するPPSシンタックス要素はnum_ref_idx_default_active_minus1[ ]であり得る。
3.追加的に、新しいPPSシンタックス要素pps_intra_only_flagが1に等しいとき、対応するPPSシンタックス要素の値は、特定の値(0または1など)に等しいと推測される。
v.代替的に(この場合、新しいSPSおよび/またはPPSシンタックス要素sps_intra_only_flagおよび/またはpps_intra_only_flagは、intra_only_constraint_flagの値に応じて条件付きでシグナリングまたはスキップされる)、一例では、intra_only_constraint_flagが1に等しいとき、新しいSPSおよび/またはPPSシンタックス要素sps_intra_only_flagおよび/またはpps_intra_only_flagの値が1に等しいことを要求するために、ビットストリーム制約が追加され得る。
vi.代替的に(この場合、新しいSPS/PPSシンタックス要素に関連するSPS/PPS/PH/SHシンタックス要素は、新しいSPS/PPSシンタックス要素の値に応じて条件付きでシグナリングまたはスキップされない)、一例では、新しいSPS/PPSシンタックス要素の値にしたがって、SPS/PPS/PH/SH中の関連するシンタックス要素の各々の値が特定の値(0または1など)に等しいことが要求されるビットストリーム制約が追加され得る。
1.一例では(この場合、新しいPPSシンタックス要素pps_intra_only_flagがシグナリングまたは推測される)、追加的に、新しいSPSシンタックス要素sps_intra_only_flagが1に等しいとき、新しいPPSシンタックス要素pps_intra_only_flagの値が1に等しいことが要求されるように、ビットストリーム制約が追加され得る。
2.一例では(この場合、新しいSPSシンタックス要素に関連するSPSシンタックス要素がシグナリングまたは推測される)、新しいSPSシンタックス要素sps_intra_only_flagが1に等しいとき、インター関連SPSシンタックス要素の値が0に等しいことが要求されるように、ビットストリーム制約が追加され得る。
3.一例では(この場合、新しいSPS/PPSシンタックス要素に関連するPPSシンタックス要素がシグナリングまたは推測される)、一例では、新しいSPSシンタックス要素sps_intra_only_flagが1に等しいとき、または新しいPPSシンタックス要素pps_intra_only_flagが1に等しいとき、インター関連PPSシンタックス要素の値が0に等しいことが要求されるように、ビットストリーム制約が追加され得る。
4.一例では(この場合、新しいSPS/PPSシンタックス要素に関連するPH/SHシンタックス要素がシグナリングまたは推測される)、新しいSPSシンタックス要素sps_intra_only_flagが1に等しく、かつ/または新しいPPSシンタックス要素pps_intra_only_flagが1に等しいとき、PH/SHに含まれる対応するインター関連および/またはRPL関連シンタックス要素の値が特定の値(0または1など)等しいことが要求されるように、ビットストリーム制約が追加され得る。
6.第6の問題を解決するための新しい一般制約フラグ/フィールドの追加に関して:
1)シンタックスgeneral_constraint_info( )において、新しい一般制約フラグが追加得、さらに、これらの新しい一般制約フラグは、例えば、第5の実施形態の場合のように、SPS/PPS/PH/SH中の関連シンタックス要素を条件付けるために、またはビットストリーム制約を通してSPS/PPS/PH/SH中の関連シンタックス要素の値を制約するために使用され得る。
a.例えば、以下で説明するように、1つまたは複数の機能を達成するために、新しい一般制約フラグが追加され得る。
i.例えば、レイヤ間予測を無効にし、および/または1つのみのレイヤを許可するためのするために新しい一般制約フラグを追加、例えば、新しいシンタックス要素no_inter_layer_prediction_constraint_flagが追加される。さらに、この新しいシンタックス要素は、SPSシンタックス要素inter_layer_ref_pics_present_flagのシグナリングを条件づけるために、またはその値を制約するために使用され得る。
ii.長期参照を無効にするための新しい一般制約フラグ、例えば、新しいシンタックス要素no_long_term_ref_pics_constraint_flagを追加する。さらに、この新しいシンタックス要素は、SPSシンタックス要素long_term_ref_pics_flagのシグナリングを条件づけるために、またはその値を制約するために使用され得る。
iii.例えば、32×32に等しい最大変換サイズを無効にするための新しい一般制約フラグ、例えば、新しいシンタックス要素no_max_luma_transform_size 64_constraint_flagを追加する。さらに、この新しいシンタックス要素は、SPSシンタックス要素sps_max_luma_transform_size_64_flagのシグナリングを条件付けるために、またはその値を制約するために使用され得る。
iv.例えば、MERを無効にするための新しい一般制約フラグ、例えば、新しいシンタックス要素no_parallel_merge_level_constraint_flagを追加する。さらに、この新しいシンタックス要素は、SPSシンタックス要素log2_parallel_merge_level_minus2のシグナリングを条件付けるために、またはその値を制約するために使用され得る。
v.ウェーブフロント並列処理エントリオフセットの存在を無効にするための新たな一般制約フラグ、例えば、新たなシンタックス要素no_wpp_entry_point_offset_present_constraint_flagを追加する。さらに、この新しいシンタックス要素は、SPSシンタックス要素sps_wpp_entry_point_offsets_present_flagのシグナリングを条件付けるために、またはその値を制約するために使用され得る。
vi.エントロピーコーディング同期点(すなわち、ウェーブフロント並列処理)を無効にするための新しい一般制約フラグ、例えば、no_entropy_coding_sync_constraint_flagシンタックス要素を追加する。さらに、この新しいシンタックス要素は、SPSシンタックス要素sps_entropy_coding_sync_enabled_flagのシグナリングを条件付けるために、またはその値を制約するために使用され得る。
b.例えば、以下で説明するように、コーディングツールのうちの1つまたは複数を制御するために、新しい一般制約フラグが追加され得る。
i.例えば、Pスライスに対する重み付け予測を無効にするための新しい一般制約フラグ、例えば、新しいシンタックス要素no_wighted_pred_constraint_flagを追加する。さらに、この新しいシンタックス要素は、SPSシンタックス要素sps_weighted_pred_flagのシグナリングを条件付けるために、またはその値を制約するために使用され得る。
ii.例えば、Bスライスのための重み付き双予測を無効にするための新しい一般制約フラグ、例えば、新しいシンタックス要素no_wighted_bipred_constraint_flagを追加する。さらに、この新しいシンタックス要素は、SPSシンタックス要素sps_weighted_bipred_flagのシグナリングを条件付けるために、またはその値を制約するために使用され得る。
iii.例えば、SMVDを無効にするための新しい一般制約フラグ、例えば、新しいシンタックス要素no_smvd_constraint_flagを追加する。さらに、この新しいシンタックス要素は、SPSシンタックス要素sps_smvd_enabled_flagのシグナリングを条件付けるために、またはその値を制約するために使用され得る。
iv.例えば、MMVDを無効にするための新しい一般制約フラグ、例えば、新しいシンタックス要素no_mmvd_constraint_flagを追加する。さらに、この新しいシンタックス要素は、SPSシンタックス要素sps_mmvd_enabled_flagのシグナリングを条件付けるために、またはその値を制約するために使用され得る。
v.例えば、ISPを無効にするための新しい一般制約フラグ、例えば、新しいシンタックス要素no_isp_constraint_flagを追加する。さらに、この新しいシンタックス要素は、SPSシンタックス要素sps_isp_enabled_flagのシグナリングを条件付けるために、またはその値を制約するために使用され得る。
vi.例えば、MRLを無効にするための新しい一般制約フラグ、例えば、新しいシンタックス要素no_mrl_constraint_flagを追加する。さらに、この新しいシンタックス要素は、SPSシンタックス要素sps_mrl_enabled_flagのシグナリングを条件付けるために、またはその値を制約するために使用され得る。
vii.例えば、MIPを無効にするための新しい一般制約フラグ、例えば、新しいシンタックス要素no_mip_constraint_flagを追加する。さらに、この新しいシンタックス要素は、SPSシンタックス要素sps_mip_enabled_flagのシグナリングを条件付けるために、またはその値を制約するために使用され得る。
viii.例えば、PLTを無効にするための新しい一般制約フラグ、例えば、新しいシンタックス要素no_palette_constraint_flagを追加する。さらに、この新しいシンタックス要素は、SPSシンタックス要素sps_palette_enabled_flagのシグナリングを条件付けるために、またはその値を制約するために使用され得る。
ix.例えば、ACTを無効にするための新しい一般制約フラグ、例えば、新しいシンタックス要素no_act_constraint_flagを追加する。さらに、この新しいシンタックス要素は、SPSシンタックス要素sps_act_enabled_flagのシグナリングを条件付けるために、またはその値を制約するために使用され得る。
x.例えば、LMCSを無効にするための新しい一般制約フラグ、例えば、新しいシンタックス要素no_lmcs_constraint_flagを追加する。さらに、この新しいシンタックス要素は、SPSシンタックス要素sps_lmcs_enabled_flagのシグナリングを条件付けるために、またはその値を制約するために使用され得る。
xi.例えば、LFNSTを無効にするための新しい一般制約フラグ、例えば、新しいシンタックス要素no_lfnst_constraint_flagを追加する。さらに、この新しいシンタックス要素は、SPSシンタックス要素sps_lfnst_enabled_flagのシグナリングを条件付けるために、またはその値を制約するために使用され得る。
xii.例えば、スケーリングリストを無効にするための新しい一般制約フラグ、例えば、新しいシンタックス要素no_scaling_list_constraint_flagを追加する。さらに、この新しいシンタックス要素は、SPSシンタックス要素sps_scaling_list_enabled_flagのシグナリングを条件付けるために、またはその値を制約するために使用され得る。
xiii.例えば、仮想境界を無効にするための新しい一般制約フラグ、例えば、新しいシンタックス要素no_virtual_boundaries_constraint_flagを追加する。さらに、この新しいシンタックス要素は、SPSシンタックス要素sps_virtual_boundaries_enabled_flagのシグナリングを条件付けるために、またはその値を制約するために使用され得る。
c.例えば、以下で説明するように、シンタックス要素のグループを制御する(すなわち、シンタックス要素のグループのシグナリングを条件付けるか、またはその値を制約する)ために、新しい一般制約フラグが追加され得る。
i.例えば、重み付け予測および重み付き双予測を無効にするための新しい一般制約フラグを追加する。さらに、この新しいシンタックス要素は、SPSシンタックス要素sps_weighted_pred_flagおよびsps_weighted_bipred_flagを制御するために使用され得る。例えば、新しい一般制約シンタックスが1に等しいとき、対応するSPS/PH/SHシンタックス要素のシグナリングはスキップされ得る。
ii.追加的に、対応するSPS/PH/SHシンタックス要素が存在しない場合(対応する新しい一般制約シンタックス要素が1である場合)、対応するSPS/PH/SHシンタックス要素の値は特定の値(0または1など)であると推定される。
iii.代替的に(対応するSPS/PH/SHシンタックス要素がシグナリングまたは推測されるこの場合)、一例では、新しい一般制約シンタックス要素が1に等しいとき、対応するSPS/PH/SHシンタックス要素の値が特定の値(0または1など)に等しいことが要求されるように、ビットストリーム制約が追加され得る。
i.代替的に、一例では、no_aps_cosntraint_flagが1に等しいとき、APS関連の新たに追加された制約フラグ(例えば、no_scaling_list_constraint_flagおよびno_lmcs_constraint_flag)の値は1に等しいことが要求される。
ii.代替的に、一例では、intra_only_cosntraint_flagが1に等しいとき、APS関連の新たに追加された制約フラグ(例えば、no_weighted_pred_constraint_flag、no_weighted_bipred_constraint_flag、no_long_term_ref_pics_constraint_flag、no_inter_layer_prediction_constraint_flag、no_smvd_constraint_flag、およびno_mmvd_constraint_flag)の値は1に等しいことが要求される。
iii.代替的に、一例では、vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]が1に等しいとき、no_inter_layer_prediction_constraint_flagの値は1に等しいことが要求される。
7.第7の問題を解決するための他のパラメータセット内のシンタックス要素へのAPSシンタックス要素の接続に関して:
1)一例では、例えば、第6の実施形態の場合のように、VPS IDおよび/またはSPS IDおよび/またはPPS IDは、APSシンタックス構造、すなわち、adaptation_parameter_set_rbsp( )に追加され得る。
2)一例では、例えば、第6の実施形態の場合のように、APSシンタックス要素(例えば、alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag、およびalf_cc_cr_filter_signal_flag)は、一般制約フラグの値に依存し得る。
a.例えば、no_aps_constraint_flagが0に等しいとき、alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag、およびalf_cc_cr_filter_signal_flagの値のうちの少なくとも1つは1に等しいものとする。
b.例えば、sps_alf_enabled_flagが1に等しいとき、alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag、およびalf_cc_cr_filter_signal_flagの値のうちの少なくとも1つは、1に等しいものとする。
c.no_aps_constraint_flagが0に等しく、sps_alf_enabled_flagが1に等しいとき、alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag、およびalf_cc_cr_filter_signal_flagの値のうちの少なくとも1つは1に等しいものとする。
d.代替的に、alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag、およびalf_cc_cr_filter_signal_flagの値は、ALF_APSに等しいaps_params_typeを有するAPS NALユニットがあるかどうかに依存し得る。
3)一例では、APSシンタックス要素は、SPS/PPS IDにしたがって対応するSPS/PPSに関連付けられたシンタックス要素の値に依存し得る。
a.例えば、クロマ関連APSシンタックス要素(alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag、alf_cc_cr_filter_signal_flag、scaling_list_chroma_present_flagなど)の値は、SPSシンタックス要素によって導出される変数(ChromaArrayTypeなど)にしたがって制約されないであろう。
4)一例では、no_aps_constraint_flagが1に等しいとき、シンタックス構造alf_data( )、lmcs_data( )、およびscaling_list_data( )に関連付けられたシンタックス要素を送ることができないというビットストリーム制約が追加され得る。
8.一般制約フラグの冗長シグナリングに関して:
1)一例では、現在の一般制約情報が適用されるのがどのプロファイルおよび/またはどのティアおよび/またはどのレベルであるかを示すために、profile_tier_level( )および/またはgeneral_constraint_info( )のシンタックス構造にインジケータが含まれ得る。
2)一例では、シンタックス構造general_constraint_info( )は、SPSシンタックス構造seq_parameter_set_rbsp( )であり得、SPSシンタックス構造seq_parameter_set_rbsp( )にのみ含まれ得る。
3)VPSが存在する場合、VPSに含まれるgeneral_constraint_info( )シンタックス要素がCVSに使用されるというビットストリーム制約が追加され得る。
4)VPSが存在しない場合、SPSに含まれるgeneral_constraint_info( )シンタックス要素が現在のCLVSのために使用されるというビットストリーム制約が追加され得る。
9.一例では、一般制約構造をシグナリングするかどうか、および/またはどのようにシグナリングするかは、プロファイルおよび/またはサブプロファイルおよび/またはレベルおよび/またはティアの値に依存し得る。
a.一例では、各general_constraint_info( )シンタックス構造は、general_constraint_info( )シンタックス構造と同じprofile_tier_level( )シンタックス構造中でシグナリングされるすべてのi個の値について、general_profile_idcおよびsubprofile_sub_profile_idc[i]の1つのセットに関連付けられるように指定される。
すなわち、各general_constraint_info( )シンタックス構造は、general_constraint_info( )シンタックス構造を含むprofile_tier_level( )シンタックス構造に関連付けられるように指定される。
b.一例では、general_constraint_info( )シンタックス構造中で搬送される情報は、どのコーディングツールが適用され得るかに関して、general_constraint_info( )シンタックス構造を含むprofile_tier_level( )シンタックス構造中で示されるプロファイルおよびサブプロファイルよりも多くの制約を課し得る。これは、プロファイルおよびサブプロファイルによって課されるすべての制約に加えて、より多くの態様が一般制約情報によって制約され得ることを意味する。
c.一例では、一般制約シンタックス要素に関連付けられた任意の特定の態様について、対応する一般制約シンタックス要素は、その態様に関する、プロファイルおよびサブプロファイルによって示されるよりも厳しい制約、またはその態様に関する、プロファイルおよびサブプロファイルによって示されるのと同じ制約のいずれかを示す値を有さなければならない。
i.一例では、すべてのスライスがイントラスライスであることをプロファイルおよびサブプロファイルのいずれかが示す場合、intra_only_constraint_flagは1に等しいものとし、すべてのスライスがイントラスライスであることをプロファイルおよびサブプロファイルのいずれもが示さない場合、intra_only_constraint_flagは1または0のいずれかに等しくなり得る。
d.一例では、一般制約シンタックス要素に関連付けられた任意の特定の態様について、プロファイル、サブプロファイル、および対応する一般制約シンタックス要素によって示される最も厳しい制約が適用される。
i.一例では、すべてのスライスがイントラスライスであることをプロファイルおよびサブプロファイルのいずれかが示すとき、intra_only_constraint_flagの値は1または0のいずれかに等しくなり得るが、依然としてすべてのスライスはイントラスライスであることが要求され、すべてのスライスがイントラスライスであることをプロファイルおよびサブプロファイルのいずれもが示さず、intra_only_constraint_flagの値が1に等しいとき、この場合も、すべてのスライスはイントラスライスであることが要求される。
e.一例では、一般制約情報は、特定のプロファイルおよび/またはサブプロファイルおよび/またはレベルおよび/またはティアについてシグナリングされない。一般制約フラグ/フィールドは、特定のプロファイルおよび/またはレベルおよび/またはティアに基づいてあらかじめ定義された値であると推測される。
f.一例では、一般制約情報はシグナリングされ得るが、特定のプロファイルおよび/またはサブプロファイルおよび/またはレベルおよび/またはティアについては無視され得る。一般制約フラグは、特定のプロファイルおよび/またはレベルおよび/またはティアに基づいてあらかじめ定義された値であると推測される。
g.一例では、一般制約情報は、特定のプロファイルおよび/またはサブプロファイルおよび/またはレベルおよび/またはティアについてシグナリングされ得る。一般制約フラグは、適合ビットストリーム中の特定のプロファイルおよび/またはレベルおよび/またはティアに基づいてあらかじめ定義された値に等しくなければならない。一例では、一般制約情報は、特定のプロファイルおよび/またはサブプロファイルおよび/またはレベルおよび/またはティアについてシグナリングされ得る。コーディングツールを適用するかどうか、および/またはどのように適用するかは、プロファイルおよび/またはレベルおよび/またはティアにおける仕様を無視して、対応する一般制約フラグ(複数可)によって決定され得る。
i.一例では、コーディングツールがプロファイルおよび/またはサブプロファイルおよび/またはレベルおよび/またはティアにおいてオフにされるように指定される場合、コーディングツールに関連付けられた一般制約フラグは、1に等しく設定されなければならない(オフにされることを意味する)。
j.一例では、コーディングツールがプロファイルおよび/またはサブプロファイルおよび/またはレベルおよび/またはティアにおいてオフにされるように指定される場合、コーディングツールに関連付けられた一般制約フラグは無視され、1であると推測され得る(オフにされることを意味する)。
k.一例では、コーディングツールがプロファイルおよび/またはサブプロファイルおよび/またはレベルおよび/またはティアにおいてオフにされるように指定される場合、コーディングツールに関連付けられた一般制約フラグはスキップされ、1であると推測され得る(オフにされることを意味する)。
l.一例では、プロファイルおよび/またはサブプロファイルがオールイントラコーディング(all intra coding)を示す場合、intra_only_constraint_flagは1に等しくなければならない。
i.代替的に、プロファイルおよび/またはサブプロファイルがオールイントラコーディングを示す場合、intra_only_constraint_flagはスキップまたは無視され、1であると推測される。
6.実施形態
以下は、上記セクション5で要約された本発明の態様のうちのいくつかの態様についてのいくつかの例示的な実施形態であり、これは、VVC仕様書に適用可能である。変更後のテキストは、JVET-Q2001-vCの最新のVVCテキストに基づく。追加または修正された大半の関連部分は、太字かつ斜体(ここでは下線で示す)で強調表示されており、削除された部分のいくつかは、二重括弧でマークされている(例えば、[[a]]は、文字「a」の削除を示す)。
6.1.第1の実施形態
これは、上記セクション5で要約された項目1、1.1、1.1.a、1.1.b、および1.1.cの実施形態である。
6.1.1.項目2.1および2.1aの実施形態
一例では、シンタックス構造seq_parameter_set_rbsp( )は以下のように変更される:
Figure 2023515185000113
Figure 2023515185000114
Figure 2023515185000115
Figure 2023515185000116
Figure 2023515185000117
Figure 2023515185000118
Figure 2023515185000119
Figure 2023515185000120
Figure 2023515185000121
Figure 2023515185000122
1に等しいgdr_enabled_flagは、GDRピクチャが、SPSを参照するCLVSに存在し得ることを指定する。0に等しいgdr_enabled_flagは、GDRピクチャが、SPSを参照するCLVSに存在しないことを指定する。存在しないとき、gdr_enabled_flagの値は0に等しいと推測される。
chroma_format_idcは、第6.2節で規定されているように、ルーマサンプリングに対するクロマサンプリングを指定する。chroma_format_idcは、両端値を含めて0からmax_chroma_format_constraint_idcの範囲内にあるものとする。存在しないとき、chroma_format_idcの値は0に等しいと推測される。
1に等しいres_change_in_clvs_allowed_flagは、ピクチャ空間解像度が、SPSを参照するCLVS内で変化し得ることを指定する。0に等しいres_change_in_clvs_allowed_flagは、ピクチャ空間解像度が、SPSを参照するどのCLVS内でも変化しないことを指定する。存在しないとき、res_change_in_clvs_allowed_flagの値は0に等しいと推測される。
bit_depth_minus8は、ルーマアレイおよびクロマアレイのサンプルのビット深度BitDepthと、ルーマ量子化パラメータ範囲オフセットおよびクロマ量子化パラメータ範囲オフセットの値QpBdOffsetとを、以下のように指定する:
Figure 2023515185000123
bit_depth_minus8は、両端値を含めて0から[[8]]max_bitdepth_constraint_idcの範囲内にあるものとする。存在しないとき、bit_depth_minus8の値は0に等しいと推測される。
1に等しいsps_weighted_pred_flagは、重み付け予測が、SPSを参照するPスライスに適用され得ることを指定する。0に等しいsps_weighted_pred_flagは、重み付け予測が、SPSを参照するPスライスに適用されないことを指定する。存在しないとき、sps_weighted_pred_flagの値は0に等しいと推測される。
1に等しいsps_weighted_bipred_flagは、明示的な重み付け予測が、SPSを参照するBスライスに適用され得ることを指定する。0に等しいsps_weighted_bipred_flagは、明示的な重み付け予測が、SPSを参照するBスライスに適用されないことを指定する。存在しないとき、sps_weighted_bipred_flagの値は0に等しいと推測される。
0に等しいlong_term_ref_pics_flagは、LTRPがCLVS中のいずれのコード化ピクチャのインター予測にも使用されないことを指定する。1に等しいlong_term_ref_pics_flagは、LTRPがCLVS中の1つまたは複数のコード化ピクチャのインター予測に使用され得ることを指定する。存在しないとき、long_term_ref_pics_flagの値は0に等しいと推測される。
0に等しいinter_layer_ref_pics_present_flagは、ILRPがCLVS中のいずれのコード化ピクチャのインター予測にも使用されないことを指定する。1に等しいinter_layer_ref_pic_flagは、ILRPがCLVS中の1つまたは複数のコード化ピクチャのインター予測に使用され得ることを指定する。sps_video_parameter_set_idが0に等しいとき、inter_layer_ref_pics_present_flagの値は0に等しいと推測される。vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]が1に等しいとき、inter_layer_ref_pics_present_flagの値は0に等しいものとする。存在しないとき、inter_layer_ref_pics_present_flagの値は0に等しいと推測される。
1に等しいsps_idr_rpl_present_flagは、参照ピクチャリストシンタックス要素がIDRピクチャのスライスヘッダに存在することを指定する。0に等しいsps_idr_rpl_present_flagは、参照ピクチャリストシンタックス要素がIDRピクチャのスライスヘッダに存在しないことを指定する。存在しないとき、sps_idr_rpl_present_flagの値は0に等しいと推測される。
1に等しいrpl1_same_as_rpl0_flagは、シンタックス要素num_ref_pic_lists_in_sps[1]およびシンタックス構造ref_pic_list_struct(1,rplsIdx)が存在せず、以下が適用されることを指定する:
- num_ref_pic_lists_in_sps[1]の値は、num_ref_pic_lists_in_sps[0]の値に等しいと推測される。
- ref_pic_list_struct(1,rplsIdx)内のシンタックス要素の各々の値は、0からnum_ref_pic_lists_in_sps[0]-1の範囲のrplsIdxのref_pic_list_struct(0,rplsIdx)内の対応するシンタックス要素の値に等しいと推測される。存在しないとき、rpl1_same_as_rpl0_flagの値は0に等しいと推測される。
1に等しいpartition_constraints_override_enabled_flagは、partition_constraints_override_flagが、SPSを参照するPHに存在することを指定する。0に等しいpartition_constraints_override_enabled_flagは、partition_constraints_override_flagが、SPSを参照するPHに存在しないことを指定する。存在しないとき、partition_constraints_override_enabled_flagの値は、0に等しいと推測される。
1に等しいsps_sao_enabled_flagは、サンプル適応オフセットプロセスが、デブロッキングフィルタプロセスの後に再構成ピクチャに適用されることを指定する。0に等しいsps_sao_enabled_flagは、サンプル適応オフセットプロセスが、デブロッキングフィルタプロセスの後に再構成ピクチャに適用されないことを指定する。存在しないとき、sps_sao_enabled_flagの値は0に等しいと推測される。
0に等しいsps_alf_enabled_flagは、適応ループフィルタが無効にされることを指定する。1に等しいsps_alf_enabled_flagは、適応ループフィルタが有効にされることを指定する。存在しないとき、sps_alf_enabled_flagの値は0に等しいと推測される。
0に等しいsps_ccalf_enabled_flagは、クロス成分適応ループフィルタが無効にされることを指定する。1に等しいsps_ccalf_enabled_flagは、クロス成分適応ループフィルタが有効にされ得ることを指定する。存在しないとき、sps_ccalf_enabled_flagの値は0に等しいと推測される。
1に等しいsps_transform_skip_enabled_flagは、transform_skip_flagが変換単位シンタックスに存在し得ることを指定する。0に等しいsps_transform_skip_enabled_flagは、transform_skip_flagが変換単位シンタックスに存在しないことを指定する。存在しないとき、sps_transform_skip_enabled_flagの値は0に等しいと推測される。
1に等しいsps_ref_wraparound_enabled_flagは、水平ラップアラウンド動き補償がインター予測において適用されることを指定する。0に等しいsps_ref_wraparound_enabled_flagは、水平ラップアラウンド動き補償が適用されないことを指定する。存在しないとき、sps_ref_wraparound_enabled_flagの値は0に等しいと推測される。(CtbSizeY/MinCbSizeY+1)の値が(pic_width_in_luma_samples/MinCbSizeY-1)よりも大きいときであって、pic_width_in_luma_samplesは、SPSを参照する任意のPPS中のpic_width_in_luma_samplesの値である場合、sps_ref_wraparound_enabled_flagの値は0に等しいものとする。
1に等しいsps_temporal_mvp_enabled_flagは、時間的動きベクトル予測子がCLVSにおいて使用され得ることを指定する。0に等しいsps_temporal_mvp_enabled_flagは、時間的動きベクトル予測子がCLVSにおいて使用されないことを指定する。存在しないとき、sps_temporal_mvp_enabled_flagの値は0に等しいと推測される。
1に等しいsps_amvr_enabled_flagは、適応動きベクトル差分解像度が動きベクトルコーディングで使用されることを指定する。0に等しいamvr_enabled_flagは、適応動きベクトル差分解像度が動きベクトルコーディングで使用されないことを指定する。存在しないとき、sps_amvr_enabled_flagの値は0に等しいと推測される。
0に等しいsps_bdof_enabled_flagは、双方向オプティカルフローインター予測が無効にされることを指定する。1に等しいsps_bdof_enabled_flagは、双方向オプティカルフローインター予測が有効にされることを指定する。存在しないとき、sps_bdof_enabled_flagの値は0に等しいと推測される
1に等しいsps_dmvr_enabled_flagは、デコーダ動きベクトルリファインメントベースのインター双予測が有効にされることを指定する。0に等しいsps_dmvr_enabled_flagは、デコーダ動きベクトルリファインメントベースのインター双予測が無効にされることを指定する。存在しないとき、sps_dmvr_enabled_flagの値は0に等しいと推測される。
1に等しいsps_mts_enabled_flagは、sps_explicit_mts_intra_enabled_flagがシーケンスパラメータセットRBSPシンタックスに存在し、sps_explicit_mts_inter_enabled_flagがシーケンスパラメータセットRBSPシンタックスに存在することを指定する。0に等しいsps_mts_enabled_flagは、sps_explicit_mts_intra_enabled_flagがシーケンスパラメータセットRBSPシンタックスに存在せず、sps_explicit_mts_inter_enabled_flagがシーケンスパラメータセットRBSPシンタックスに存在しないことを指定する。存在しないとき、sps_mts_enabled_flagの値は0に等しいと推測される。
0に等しいsps_sbt_enabled_flagは、インター予測されたCUのためのサブブロック変換が無効にされることを指定する。1に等しいsps_sbt_enabled_flagは、インター予測されたCUのためのサブブロック変換が有効にされることを指定する。存在しないとき、sps_sbt_enabled_flagの値は0に等しいと推測される。
sps_affine_enabled_flagは、アフィンモデルベースの動き補償がインター予測に使用可能かどうかを指定する。sps_affine_enabled_flagが0に等しい場合、シンタックスは、アフィンモデルベースの動き補償がCLVSにおいて使用されず、inter_affine_flagおよびcu_affine_type_flagがCLVSのコーディングユニットシンタックスに存在しないように制約されるものとする。そうでない場合(sps_affine_enabled_flagが1に等しい場合)、アフィンモデルベースの動き補償がCLVSにおいて使用され得る。存在しないとき、sps_affine_enabled_flagの値は0に等しいと推測される。
sps_bcw_enabled_flagは、CU重みを用いた双予測がインター予測に使用可能かどうかを指定する。sps_bcw_enabled_flagが0に等しい場合、シンタックスは、CU重みを用いた双予測がCLVSにおいて使用されず、bcw_idxがCLVSのコーディングユニットシンタックスに存在しないように制約されるものとする。そうでない場合(sps_bcw_enabled_flagが1に等しい場合)、CU重みを用いた双予測がCLVSにおいて使用され得る。存在しないとき、sps_bcw_enabled_flagの値は0に等しいと推測される。
sps_ciip_enabled_flagは、ciip_flagがインターコーディングユニットのためのコーディングユニットシンタックスに存在し得ることを指定する。0に等しいsps_ciip_enabled_flagは、ciip_flagがインターコーディングユニットのためのコーディングユニットシンタックスに存在しないことを指定する。存在しないとき、sps_ciip_enabled_flagの値は0に等しいと推測される。
1に等しいsps_fpel_mmvd_enabled_flagは、動きベクトル差分を用いたマージモードが整数サンプル精度を使用していることを指定する。0に等しいsps_fpel_mmvd_enabled_flagは、動きベクトル差分を用いたマージモードが分数サンプル精度を使用することができることを指定する。存在しないとき、sps_fpel_mmvd_enabled_flagの値は0に等しいと推測される。
1に等しいsps_lmcs_enabled_flagは、クロマスケーリングを伴うルーママッピングがCLVSにおいて使用されることを指定する。0に等しいsps_lmcs_enabled_flagは、クロマスケーリングを伴うルーママッピングがCLVSにおいて使用されないことを指定する。存在しないとき、sps_lmcs_enabled_flagの値は0に等しいと推測される。
1に等しいsps_lfnst_enabled_flagは、lfnst_idxがイントラコーディングユニットシンタックスに存在し得ることを指定する。0に等しいsps_lfnst_enabled_flagは、lfnst_idxがイントラコーディングユニットシンタックスに存在しないことを指定する。
1に等しいsps_ladf_enabled_flagは、sps_num_ladf_intervals_minus2、sps_ladf_lowest_interval_qp_offset、sps_ladf_qp_offset[i]、およびsps_ladf_delta_threshold_minus1[i]がSPSに存在することを指定する。存在しないとき、sps_ladf_enabled_flagの値は0に等しいと推測される。
1に等しいsps_scaling_list_enabled_flagは、スケーリングリストが、変換係数のためのスケーリングプロセスに使用されることを指定する。0に等しいsps_scaling_list_enabled_flagは、スケーリングリストが、変換係数のためのスケーリングプロセスに使用されないことを指定する。存在しないとき、sps_scaling_list_enabled_flagの値は0に等しいと推測される。
0に等しいsps_dep_quant_enabled_flagは、従属量子化が、SPSを参照するピクチャについて無効にされることを指定する。1に等しいsps_dep_quant_enabled_flagは、従属量子化が、SPSを参照するピクチャについて有効にされ得ることを指定する。存在しないとき、sps_dep_quant_enabled_flagの値は0に等しいと推測される。
6.1.2.項目2.1および2.1bの実施形態
一例では、シンタックス構造picture_header_structure( )は以下のように変更される:
Figure 2023515185000124
6.1.3.項目2.1および2.1cの実施形態
一例では、シンタックス構造slice_header( )は次のように変更される:
Figure 2023515185000125
6.2.第2の実施形態
これは、上記セクション5で要約された項目3および3.1の実施形態である。
一例では、一般制約情報セマンティクスは以下のように変更される:
1に等しいintra_only_constraint_flagは、slice_typeがIに等しくなければならないことを指定する。0に等しいintra_only_constraint_flagは、そのような制約を課さない。
intra_only_constraint_flagが1に等しいとき、rpl1_idx_present_flagおよびnum_ref_idx_default_active_minus1[ ]の値は0に等しいものとする。
1に等しいone_slice_per_pic_constraint_flagは、各ピクチャが1つのスライスのみを含むことを指定する。0に等しいone_slice_per_pic_constraint_flagは、そのような制約を課さない。
one_slice_per_pic_constraint_flagが1に等しいとき、rect_slice_flagの値は1に等しいものとする。
1に等しいone_tile_per_pic_constraint_flagは、各ピクチャが1つのタイルのみを含むことを指定する。0に等しいone_tile_per_pic_constraint_flagは、そのような制約を課さない。
one_tile_per_pic_constraint flagが1に等しいとき、num_exp_tile_columns_minus1、num_exp_tile_rows_minus1、rect_slice_flagの値は0に等しいものとする。
one_tile_per_pic_constraint flagとone_slice_per_pic_constraint flagの両方が1に等しいとき、no_pic_partition_flagの値は1に等しいものとする。
6.3.第3の実施形態
これは、上記セクション5で要約された項目4、4.1、4.1a、4.1b、および4.1cの実施形態である。
6.3.1.項目4.1および4.1aの実施形態
一例では、シンタックス構造general_constraint_info( )は以下のように変更される:
Figure 2023515185000126
Figure 2023515185000127
Figure 2023515185000128
6.3.2.項目4.1および4.1bの実施形態
一例では、一般制約情報セマンティクスは以下のように変更される:
1に等しいintra_only_constraint_flagは、slice_typeがIに等しくなければならないことを指定する。0に等しいintra_only_constraint_flagは、そのような制約を課さない。
intra_only_constraint_flagが1に等しい場合、no_res_change_in_clvs_constraint_flag、no_ref_wraparound_constraint_flag、no_temporal_mvp_constraint_flag、no_sbtmvp_constraint_flag、no_amvr_constraint_flag、no_bdof_constraint_flag、no_dmvr_constraint_flag、no_sbt_constraint_flag、no_affine_motion_constraint_flag、no_bcw_constraint_flag、no_ciip_constraint_flag、no_fpel_mmvd_constraint_flag、no_gpm_constraint_flag、no_mixed_nalu_types_in_pic_constraint_flag、no_trail_constraint_flag、no_stsa_constraint_flag、no_rasl_constraint_flag、radl_constraint_flag、no_gdr_constraint_flagの値は1に等しいものとする。
intra_only_constraint_flagが1に等しいとき、no_idr_constraint_flagおよびno_cra_constraint_flagの値のうちの少なくとも1つは0に等しいものとする。
1に等しいno_transform_skip_constraint_flagは、sps_transform_skip_enabled_flagが0に等しくなければならないことを指定する。0に等しいno_transform_skip_constraint_flagは、そのような制約を課さない。no_transform_skip_constraint_flagが1に等しいとき、no_bdpcm_constraint_flagの値は1に等しいものとする。
1に等しいno_aps_constraint_flagは、nuh_unit_typeがPREFIX_APS_NUTまたはSUFFIX_APS_NUTに等しいNALユニットがOlsInScopeに存在してはならないことを指定する。0に等しいno_aps_constraint_flagは、そのような制約を課さない。no_aps_constraint_flagが1に等しいとき、no_alf_constraint_flagの値は1に等しいものとする。
6.3.3.項目4.1および4.1cの実施形態
一例では、一般制約情報セマンティクスは以下のように変更される:
max_bitdepth_constraint_idcは、bit_depth_minus8が両端値を含めて0からmax_bitdepth_constraint_idcの範囲内になければならないことを指定する。max_bitdepth_constraint_idcは、両端値を含めて0から8の範囲内にあるものとする。
1に等しいno_aps_constraint_flagは、nuh_unit_typeがPREFIX_APS_NUTまたはSUFFIX_APS_NUTに等しいNALユニットがOlsInScopeに存在してはならないことを指定する。0に等しいno_gdr_constraint_flagは、そのような制約を課さない。
no_gdr_constraint_flag、no_idr_constraint_flag、およびno_cra_constraint_flagの値のうちの少なくとも1つは0に等しいものとする。
6.4.第4の実施形態
これは、上記セクション5で要約された項目5および5.aの実施形態である。
一例では、シンタックス構造seq_parameter_set_rbsp( )は以下のように変更される:
Figure 2023515185000129
1に等しいsps_intra_only_flagは、SPSを参照するCLVS内でインター予測が許可されないことを指定する。0に等しいsps_intra_only_flagは、SPSを参照するCLVS内でインター予測が許可されることを指定する。存在しないとき(この場合、intra_only_constraint_flagは1に等しい)、sps_intra_only_flagの値は1に等しいと推測される。
そして、シンタックス構造pic_parameter_set_rbsp( )は、以下のように変更される:
Figure 2023515185000130
また、ピクチャパラメータセットRBSPセマンティクスは、以下のように変更される:

1に等しいpps_intra_only_flagは、PPSを参照する各ピクチャがインターを使用することを許可されないことを指定する。0に等しいsps_intra_only_flagは、PPSを参照する各ピクチャがインター予測を使用することを許可されることを指定する。sps_intra_only_flagが1に等しいとき、pps_intra_only_flagの値は1に等しいものとする。
num_ref_idx_default_active_minus1[i]+1は、iが0に等しいとき、num_ref_idx_active_override_flagが0に等しいPスライスまたはBスライスに対する変数NumRefIdxActive[0]の推定値を指定し、iが1に等しいとき、num_ref_idx_active_override_flagが0に等しいBスライスに対するNumRefIdxActive[1]の推定値を指定する。num_ref_idx_default_active_minus1[i]の値は、両端値を含めて0から14の範囲内にあるものとする。存在しないとき、num_ref_idx_default_active_minus1[i]の値は0に等しいものとする。
0に等しいrpl1_idx_present_flagは、ref_pic_list_sps_flag[1]およびref_pic_list_idx[1]が、PPSを参照するピクチャのためのPHシンタックス構造またはスライスヘッダに存在しないことを指定する。1に等しいrpl1_idx_present_flagは、ref_pic_list_sps_flag[1]およびref_pic_list_idx[1]が、PPSを参照するピクチャのためのPHシンタックス構造またはスライスヘッダに存在し得ることを指定する。存在しないとき、rpl1_idx_present_flagの値は0に等しいものとする。

そして、シンタックス構造picture_header_structure( )は次のように変更される:
Figure 2023515185000131
0に等しいph_inter_slice_allowed_flagは、ピクチャのすべてのコーディングされたスライスが2に等しいslice_typeを有することを指定する。1に等しいph_inter_slice_allowed_flagは、1つまたは複数のコーディングされたスライスが、0または1に等しいslice_typeを有するピクチャに存在し得ることまたは存在しない可能性があることを指定する。存在しないとき、ph_inter_slice_allowed_flagの値は0に等しいと推測される。
そして、シンタックス構造slice_header( )は次のように変更される:
Figure 2023515185000132
6.5.第5の実施形態
これは、上記セクション5で要約された項目6および6.1の実施形態である。
一例では、シンタックス構造seq_parameter_set_rbsp( )は以下のように変更される:
Figure 2023515185000133
Figure 2023515185000134
1に等しいsps_entropy_coding_sync_enabled_flagは、SPSを参照する各ピクチャ中の各タイルにおけるCTBの行の最初のCTBを含むCTUを復号する前にコンテキスト変数のための特定の同期プロセスが呼び出され、SPSを参照する各ピクチャ中の各タイルにおけるCTBの行の最初のCTBを含むCTUを復号した後にコンテキスト変数のための特定の記憶プロセスが呼び出されることを指定する。0に等しいsps_entropy_coding_sync_enabled_flagは、SPSを参照する各ピクチャ中の各タイルにおけるCTBの行の最初のCTBを含むCTUを復号する前にコンテキスト変数のための特定の同期プロセスが呼び出される必要がなく、SPSを参照する各ピクチャ中の各タイルにおけるCTBの行の最初のCTBを含むCTUを復号した後にコンテキスト変数のための特定の記憶プロセスが呼び出される必要がないことを指定する。存在しないとき、sps_entropy_coding_sync_enabled_flagの値は0に等しいと推測される。
1に等しいsps_wpp_entry_point_offsets_present_flagは、sps_entropy_coding_sync_enabled_flagが1に等しいとき、CTU行に対するエントリポイントオフセットについてのシグナリングが、SPSを参照するピクチャのスライスヘッダに存在し得ることを指定する。0に等しいsps_wpp_entry_point_offsets_present_flagは、CTU行に対するエントリポイントオフセットについてのシグナリングが、SPSを参照するピクチャのスライスヘッダに存在しないことを指定する。存在しないとき、sps_wpp_entry_point_offsets_present_flagの値は0に等しいと推測される。存在しないとき、sps_wpp_entry_point_offsets_present_flagの値は0に等しいと推測される。
1に等しいsps_weighted_pred_flagは、重み付け予測が、SPSを参照するPスライスに適用され得ることを指定する。0に等しいsps_weighted_pred_flagは、重み付け予測が、SPSを参照するPスライスに適用されないことを指定する。存在しないとき、sps_weighted_pred_flagの値は0に等しいと推測される。
1に等しいsps_weighted_bipred_flagは、明示的な重み付け予測が、SPSを参照するBスライスに適用され得ることを指定する。0に等しいsps_weighted_bipred_flagは、明示的な重み付け予測が、SPSを参照するBスライスに適用されないことを指定する。存在しないとき、sps_weighted_bipred_flagの値は0に等しいと推測される。
0に等しいlong_term_ref_pics_flagは、LTRPがCLVS中のいずれのコード化ピクチャのインター予測にも使用されないことを指定する。1に等しいlong_term_ref_pics_flagは、LTRPがCLVS中の1つまたは複数のコード化ピクチャのインター予測に使用され得ることを指定する。存在しないとき、long_term_ref_pics_flagの値は0に等しいと推測される。
0に等しいinter_layer_ref_pics_present_flagは、ILRPがCLVS中のいずれのコード化ピクチャのインター予測にも使用されないことを指定する。1に等しいinter_layer_ref_pic_flagは、ILRPがCLVS中の1つまたは複数のコード化ピクチャのインター予測に使用され得ることを指定する。sps_video_parameter_set_idが0に等しいとき、inter_layer_ref_pics_present_flagの値は0に等しいと推測される。vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]が1に等しいとき、inter_layer_ref_pics_present_flagの値は0に等しいものとする。存在しないとき、inter_layer_ref_pics_present_flagの値は0に等しいと推測される。
1に等しいsps_max_luma_transform_size_64_flagは、ルーマサンプルにおける最大変換サイズが64に等しいことを指定する。0に等しいsps_max_luma_transform_size_64_flagは、ルーマサンプルにおける最大変換サイズが32に等しいことを指定する。存在しないとき、sps_max_luma_transform_size_64_flagの値は0に等しいと推測される。
1に等しいsps_smvd_enabled_flagは、対称動きベクトル差分が動きベクトル復号で使用され得ることを指定する。0に等しいsps_smvd_enabled_flagは、対称動きベクトル差分が動きベクトルコーディングで使用されないことを指定する。存在しないとき、sps_smvd_enabled_flagの値は0に等しいと推測される。
1に等しいsps_mmvd_enabled_flagは、動きベクトル差分を用いたマージモードが有効にされることを指定する。0に等しいsps_mmvd_enabled_flagは、動きベクトル差分を用いたマージモードが無効にされることを指定する。存在しないとき、sps_dmvr_enabled_flagの値は0に等しいと推測される。
1に等しいsps_isp_enabled_flagは、サブパーティションを用いたイントラ予測が有効にされることを指定する。0に等しいsps_isp_enabled_flagは、サブパーティションを用いたイントラ予測が無効にされることを指定する。存在しないとき、sps_isp_enabled_flagの値は0に等しいと推測される。
1に等しいsps_mrl_enabled_flagは、複数の参照ラインを用いたイントラ予測が有効にされることを指定する。0に等しいsps_mrl_enabled_flagは、複数の参照ラインを用いたイントラ予測が無効にされることを指定する。存在しないとき、sps_mrl_enabled_flagの値は0に等しいと推測される。
1に等しいsps_mip_enabled_flagは、行列ベースのイントラ予測が有効にされることを指定する。0に等しいsps_mip_enabled_flagは、行列ベースのイントラ予測が無効にされることを指定する。存在しないとき、sps_mip_enabled_flagの値は0に等しいと推測される。
1に等しいsps_palette_enabled_flagは、pred_mode_plt_flagがコーディングユニットシンタックスに存在し得ることを指定する。0に等しいsps_palette_enabled_flagは、pred_mode_plt_flagがコーディングユニットシンタックスに存在しないことを指定する。sps_palette_enabled_flagが存在しないとき、それは0に等しいと推測される。存在しないとき、sps_palette_enabled_flagの値は0に等しいと推測される。
1に等しいsps_act_enabled_flagは、適応色変換が使用され得、cu_act_enabled_flagがコーディングユニットシンタックスに存在し得ることを指定する。0に等しいsps_act_enabled_flagは、適応色変換が使用されず、cu_act_enabled_flagがコーディングユニットシンタックスに存在しないことを指定する。sps_act_enabled_flagが存在しないとき、それは0に等しいと推測される。存在しないとき、sps_act_enabled_flagの値は0に等しいと推測される。
1に等しいsps_lmcs_enabled_flagは、クロマスケーリングを伴うルーママッピングがCLVSにおいて使用されることを指定する。0に等しいsps_lmcs_enabled_flagは、クロマスケーリングを伴うルーママッピングがCLVSにおいて使用されないことを指定する。存在しないとき、sps_lmcs_enabled_flagの値は0に等しいと推測される。
1に等しいsps_lfnst_enabled_flagは、lfnst_idxがイントラコーディングユニットシンタックスに存在し得ることを指定する。0に等しいsps_lfnst_enabled_flagは、lfnst_idxがイントラコーディングユニットシンタックスに存在しないことを指定する。存在しないとき、sps_lfnst_enabled_flagの値は0に等しいと推測される。
log2_parallel_merge_level_minus2+2は、変数Log2ParMrgLevelの値を指定し、これは、第8.5.2.3節で規定されている空間マージング候補のための導出プロセス、第8.5.5.2節で規定されているサブブロックマージモードにおける動きベクトルおよび参照インデックスのための導出プロセスで使用され、第8.5.2.1節の履歴ベースの動きベクトル予測子リストのための更新プロセスの呼び出しを制御するために使用される。log2_parallel_merge_level_minus2の値は、両端値を含めて0からCtbLog2SizeY-2の範囲内にあるものとする。変数Log2ParMrgLevelは、以下のように導出される:
Figure 2023515185000135
存在しないとき、log2_parallel_merge_level_minus2の値は0に等しいと推測される。
1に等しいsps_scaling_list_enabled_flagは、スケーリングリストが、変換係数のためのスケーリングプロセスに使用されることを指定する。0に等しいsps_scaling_list_enabled_flagは、スケーリングリストが、変換係数のためのスケーリングプロセスに使用されないことを指定する。存在しないとき、sps_scaling_list_enabled_flagの値は0に等しいと推測される。
1に等しいsps_virtual_boundaries_present_flagは、仮想境界の情報がSPS中でシグナリングされることを指定する。0に等しいsps_virtual_boundaries_present_flagは、仮想境界の情報がSPS中でシグナリングされないことを指定する。SPS中でシグナリングされる仮想境界が1つまたは2つ以上存在するとき、SPSを参照するピクチャ内の仮想境界を越えたループ内フィルタリング動作は無効にされる。ループ内フィルタリング動作は、デブロッキングフィルタ、サンプル適応オフセットフィルタ、および適応ループフィルタ動作を含む。存在しないとき、sps_virtual_boundaries_present_flagの値は0に等しいと推測される。
そして、シンタックス構造general_constraint_info( )は次のように変更される:
Figure 2023515185000136
Figure 2023515185000137
1に等しいintra_only_constraint_flagは、slice_typeがIに等しくなければならないことを指定する。0に等しいintra_only_constraint_flagは、そのような制約を課さない。
intra_only_constraint_flagが1に等しい場合、no_weighted_pred_constraint_flag、no_weighted_bipred_constraint_flag、no_long_term_ref_pics_constraint_flag、no_inter_layer_prediction_constraint_flag、no_res_change_in_clvs_constraint_flag、no_ref_wraparound_constraint_flag、no_temporal_mvp_constraint_flag、no_sbtmvp_constraint_flag、no_amvr_constraint_flag、no_bdof_constraint_flag、no_smvd_constraint_flag、no_dmvr_constraint_flag、no_mmvd_constraint_flag、no_sbt_constraint_flag、no_affine_motion_constraint_flag、no_bcw_constraint_flag、no_ciip_constraint_flag、no_fpel_mmvd_constraint_flag、no_gpm_constraint_flag、no_mixed_nalu_types_in_pic_constraint_flag、no_trail_constraint_flag、no_stsa_constraint_flag、no_rasl_constraint_flag、radl_constraint_flag、no_gdr_constraint_flagの値は1に等しいものとする。
1に等しいno_entropy_coding_sync_constraint_flagは、sps_entropy_coding_sync_enabled_flagが存在しないことを指定する。0に等しいno_entropy_coding_sync_constraint_flagは、sps_entropy_coding_sync_enabled_flagが存在することを指定する。
1に等しいno_wpp_entry_point_offsets_present_constraint_flagは、sps_wpp_entry_point_offsets_present_flagが存在しないことを指定する。0に等しいno_wpp_entry_point_offsets_present_constraint_flagは、sps_wpp_entry_point_offsets_present_flagが存在することを指定する。
1に等しいno_weighted_pred_constraint_flagは、sps_weighted_pred_flagが存在しないことを指定する。0に等しいno_weighted_pred_constraint_flagは、sps_weighted_pred_flagが存在することを指定する。
1に等しいno_weighted_bipred_constraint_flagは、sps_weighted_bipred_flagが存在しないことを指定する。0に等しいno_weighted_bipred_constraint_flagは、sps_weighted_bipred_flagが存在することを指定する。
1に等しいno_long_term_ref_pics_constraint_flagは、long_term_ref_pics_flagが存在しないことを指定する。0に等しいno_long_term_ref_pics_constraint_flagは、long_term_ref_pics_flagが存在することを指定する。
1に等しいno_inter_layer_prediction_constraint_flagは、inter_layer_ref_pics_present_flagが存在しないことを指定する。0に等しいno_inter_layer_prediction_constraint_flagは、inter_layer_ref_pics_present_flagが存在することを指定する。vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]が1に等しいとき、no_inter_layer_prediction_constraint_flagの値は1に等しいものとする。
1に等しいno_max_luma_transform_size 64_constraint_flagは、sps_max_luma_transform_size_64_flagが存在しないことを指定する。0に等しいno_partition_constraints_override_constraint_flagは、sps_max_luma_transform_size_64_flagが存在することを指定する。
1に等しいno_smvd_constraint_flagは、sps_smvd_enabled_flagが存在しないことを指定する。0に等しいno_partition_constraints_override_constraint_flagは、sps_smvd_enabled_flagが存在することを指定する。
1に等しいno_mmvd_constraint_flagは、sps_mmvd_enabled_flagが存在しないことを指定する。0に等しいno_partition_constraints_override_constraint_flagは、sps_mmvd_enabled_flagが存在することを指定する。
1に等しいno_isp_constraint_flagは、sps_isp_enabled_flagが存在しないことを指定する。0に等しいno_partition_constraints_override_constraint_flagは、sps_isp_enabled_flagが存在することを指定する。
1に等しいno_mrl_constraint_flagは、sps_mrl_enabled_flagが存在しないことを指定する。0に等しいno_partition_constraints_override_constraint_flagは、sps_mrl_enabled_flagが存在することを指定する。
1に等しいno_mip_constraint_flagは、sps_mip_enabled_flagが存在しないことを指定する。0に等しいno_partition_constraints_override_constraint_flagは、sps_mip_enabled_flagが存在することを指定する。
1に等しいno_palette_constraint_flagは、sps_palette_enabled_flagが存在しないことを指定する。0に等しいno_partition_constraints_override_constraint_flagは、sps_palette_enabled_flagが存在することを指定する。
1に等しいno_act_constraint_flagは、sps_act_enabled_flagが存在しないことを指定する。0に等しいno_partition_constraints_override_constraint_flagは、sps_act_enabled_flagが存在することを指定する。
1に等しいno_lmcs_constraint_flagは、sps_lmcs_enabled_flagが存在しないことを指定する。0に等しいno_partition_constraints_override_constraint_flagは、sps_lmcs_enabled_flagが存在することを指定する。
1に等しいno_lfnst_constraint_flagは、sps_lfnst_enabled_flagが存在しないことを指定する。0に等しいno_partition_constraints_override_constraint_flagは、sps_lfnst_enabled_flagが存在することを指定する。
1に等しいno_parallel_merge_level_constraint_flagは、log2_parallel_merge_level_minus2が存在しないことを指定する。0に等しいno_partition_constraints_override_constraint_flagは、log2_parallel_merge_level_minus2が存在することを指定する。
1に等しいno_scaling_list_constraint_flagは、sps_scaling_list_enabled_flagが存在しないことを指定する。0に等しいno_partition_constraints_override_constraint_flagは、sps_scaling_list_enabled_flagが存在することを指定する。
1に等しいno_virtual_boundaries_constraint_flagは、sps_virtual_boundaries_enabled_flagが存在しないことを指定する。0に等しいno_partition_constraints_override_constraint_flagは、sps_virtual_boundaries_enabled_flagが存在することを指定する。
6.6.第6の実施形態
これは、上記セクション5で要約された項目7、7.1、7.2cおよび7.2dの実施形態である。
6.6.1.項目7.1および7.2cの実施形態
一例では、シンタックス構造adaptation_parameter_set_rbsp( )は次のように変更される:
Figure 2023515185000138
aps_seq_parameter_set_idは、APSのsps_seq_parameter_set_idの値を指定する。aps_seq_parameter_set_idの値は、両端値を含めて0から15の範囲内にあるものとする。aps_seq_parameter_set_idの値は、CLVS中のコード化ピクチャによって参照されるすべてのAPSにおいて同じであるものとする。
そして、適応ループフィルタデータのセマンティクスは、以下のように変更される:
1に等しいalf_chroma_filter_signal_flagは、クロマフィルタがシグナリングされることを指定する。0に等しいalf_chroma_filter_signal_flagは、クロマフィルタがシグナリングされないことを指定する。ChromaArrayTypeが0に等しいとき、alf_chroma_filter_signal_flagは0に等しいものとする。
no_aps_constraint_flagが0に等しく、sps_alf_enabled_flagが1に等しいとき、alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag、およびalf_cc_cr_filter_signal_flagの値のうちの少なくとも1つは、1に等しいものとする。
6.6.2.項目7.2dの実施形態
一例では、適応ループフィルタデータのセマンティクスは、以下のように変更される:
1に等しいalf_chroma_filter_signal_flagは、クロマフィルタがシグナリングされることを指定する。0に等しいalf_chroma_filter_signal_flagは、クロマフィルタがシグナリングされないことを指定する。ChromaArrayTypeが0に等しいとき、alf_chroma_filter_signal_flagは0に等しいものとする。
aps_params_typeがALF_APSに等しいAPS NALユニットの場合、alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag、およびalf_cc_cr_filter_signal_flagの値のうちの少なくとも1つは、1に等しいものとする。
図1は、本明細書で開示される様々な技法が実装され得る例示的なビデオ処理システム1900を示すブロック図である。様々な実装形態は、システム1900の構成要素の一部または全部を含み得る。システム1900は、ビデオコンテンツを受信するための入力1902を含み得る。ビデオコンテンツは、生でまたは圧縮されていないフォーマット、例えば、8ビットまたは10ビットのマルチコンポーネントピクセル値で受信され得るか、または圧縮されたフォーマットまたは符号化されたフォーマットであり得る。入力1902は、ネットワークインターフェース、周辺バスインターフェース、またはストレージインターフェースを表し得る。ネットワークインターフェースの例には、イーサネット(登録商標)、パッシブ光ネットワーク(PON)などのワイヤードインターフェース、およびWi-Fiまたはセルラーインターフェースなどのワイヤレスインターフェースが含まれる。
システム1900は、本文書で説明される様々なコーディングまたは符号化方法を実装し得るコーディング構成要素1904を含み得る。コーディング構成要素1904は、入力1902からコーディング構成要素1904の出力へのビデオの平均ビットレートを低減して、ビデオのコード化表現を生成し得る。したがって、コーディング技法は、ビデオ圧縮またはビデオトランスコーディング技法と呼ばれることがある。コーディング構成要素1904の出力は、記憶されるか、または構成要素1906によって表されるように、接続された通信を介して送信されるかのいずれかであり得る。入力1902において受信されたビデオの記憶または通信されたビットストリーム(またはコード化)表現は、ディスプレイインターフェース1910に送られるピクセル値または表示可能なビデオを生成するために構成要素1908によって使用され得る。ユーザが見ることができるビデオをビットストリーム表現から生成するプロセスは、ビデオ解凍と呼ばれることがある。さらに、特定のビデオ処理動作は「コーディング」動作またはツールと呼ばれるが、コーディングツールまたは動作はエンコーダにおいて使用され、コーディングの結果を逆にする対応する復号ツールまたは動作はデコーダによって実行されることが理解されよう。
周辺バスインターフェースまたはディスプレイインターフェースの例には、ユニバーサルシリアルバス(USB)または高精細度マルチメディアインターフェース(HDMI(登録商標))またはDisplayportなどが含まれ得る。ストレージインターフェースの例には、SATA(serial advanced technology attachment)、PCI、IDEインターフェースなどが含まれる。本文書で説明される技法は、モバイルフォン、ラップトップ、スマートフォン、またはデジタルデータ処理および/もしくはビデオ表示を実行することができる他のデバイスのような様々な電子デバイスにおいて具現化され得る。
図2は、ビデオ処理装置3600のブロック図である。装置3600は、本明細書で説明される方法のうちの1つまたは複数を実施するために使用され得る。装置3600は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT)受信機などにおいて具現化され得る。装置3600は、1つまたは複数のプロセッサ3602と、1つまたは複数のメモリ3604と、ビデオ処理ハードウェア3606とを含み得る。プロセッサ(複数可)3602は、本文書で説明される1つまたは複数の方法を実施するよう構成され得る。メモリ(複数可)3604は、本明細書で説明される方法および技法を実施するために使用されるデータおよびコードを記憶するために使用され得る。ビデオ処理ハードウェア3606は、ハードウェア回路において、本文書で説明されるいくつかの技法を実施するために使用され得る。
図4は、本開示の技法を利用し得る例示的なビデオコーディングシステム100を示すブロック図である。
図4に示されるように、ビデオコーディングシステム100は、ソースデバイス110と宛先デバイス120とを含み得る。ソースデバイス110は、符号化ビデオデータを生成するものであり、ビデオ符号化デバイスと呼ばれることがある。宛先デバイス120は、ソースデバイス110によって生成された符号化ビデオデータを復号し得るものであり、ビデオ復号デバイスと呼ばれることがある。
ソースデバイス110は、ビデオソース112と、ビデオエンコーダ114と、入力/出力(I/O)インターフェース116とを含み得る。
ビデオソース112は、ビデオキャプチャデバイス、ビデオコンテンツプロバイダからビデオデータを受信するためのインターフェース、および/もしくはビデオデータを生成するためのコンピュータグラフィックスシステムなどのソース、またはそのようなソースの組合せを含み得る。ビデオデータは、1つまたは複数のピクチャを含み得る。ビデオエンコーダ114は、ビデオソース112からのビデオデータを符号化して、ビットストリームを生成する。ビットストリームは、ビデオデータのコード化表現を形成するビットのシーケンスを含み得る。ビットストリームは、コード化ピクチャおよび関連データを含み得る。コード化ピクチャは、ピクチャのコード化表現である。関連データは、シーケンスパラメータセット、ピクチャパラメータセット、および他のシンタックス構造を含み得る。I/Oインターフェース116は、変調器/復調器(モデム)および/または送信機を含み得る。符号化ビデオデータは、ネットワーク130aを通じてI/Oインターフェース116を介して宛先デバイス120に直接送信され得る。符号化ビデオデータはまた、宛先デバイス120によるアクセスのために記憶媒体/サーバ130bに記憶され得る。
宛先デバイス120は、I/Oインターフェース126と、ビデオデコーダ124と、ディスプレイデバイス122とを含み得る。
I/Oインターフェース126は、受信機および/またはモデムを含み得る。I/Oインターフェース126は、ソースデバイス110または記憶媒体/サーバ130bから符号化ビデオデータを取得し得る。ビデオデコーダ124は、符号化ビデオデータを復号し得る。ディスプレイデバイス122は、復号されたビデオデータをユーザに表示し得る。ディスプレイデバイス122は、宛先デバイス120と統合され得るか、または外部ディスプレイデバイスとインターフェースするように構成された宛先デバイス120の外部にあり得る。
ビデオエンコーダ114およびビデオデコーダ124は、高効率ビデオコーディング(HEVC)規格、汎用ビデオコーディング(VVC)規格、ならびに他の現在および/またはさらなる規格など、ビデオ圧縮規格にしたがって動作し得る。
図5は、図4に示されたシステム100中のビデオエンコーダ114であり得るビデオエンコーダ200の例を示すブロック図である。
ビデオエンコーダ200は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。図5の例では、ビデオエンコーダ200は、複数の機能構成要素を含む。本開示で説明される技法は、ビデオエンコーダ200の様々な構成要素の間で共有され得る。いくつかの例では、プロセッサは、本開示で説明される技法のいずれかまたはすべてを実行するように構成され得る。
ビデオエンコーダ200の機能構成要素は、パーティションユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205およびイントラ予測ユニット206を含み得る予測ユニット202と、残差生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構成ユニット212と、バッファ213と、エントロピー符号化ユニット214とを含み得る。
他の例では、ビデオエンコーダ200は、より多くの、より少ない、または異なる機能構成要素を含み得る。一例では、予測ユニット202は、イントラブロックコピー(IBC)ユニットを含み得る。IBCユニットは、少なくとも1つの参照ピクチャが、現在のビデオブロックが位置しているピクチャであるIBCモードで予測を実行し得る。
さらに、動き推定ユニット204および動き補償ユニット205などのいくつかの構成要素は高度に統合され得るが、説明のために図5の例では別々に表されている。
パーティションユニット201は、ピクチャを1つまたは複数のビデオブロックにパーティショニングし得る。ビデオエンコーダ200およびビデオデコーダ300は、様々なビデオブロックサイズをサポートし得る。
モード選択ユニット203は、例えば、誤差結果に基づいて、イントラまたはインターといったコーディングモードのうちの1つを選択し、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを、残差生成ユニット207に与えて残差ブロックデータを生成し、再構成ユニット212に与えて参照ピクチャとして使用するための符号化ブロックを再構成し得る。いくつかの例では、モード選択ユニット203は、予測がインター予測信号とイントラ予測信号とに基づく複合イントラ-インター予測(CIIP)モードを選択し得る。モード選択ユニット203はまた、インター予測の場合、ブロックの動きベクトルのための解像度(例えば、サブピクセルまたは整数ピクセル精度)を選択し得る。
現在のビデオブロックに対してインター予測を実行するために、動き推定ユニット204は、バッファ213からの1つまたは複数の参照フレームを現在のビデオブロックと比較することによって、現在のビデオブロックに関する動き情報を生成し得る。動き補償ユニット205は、動き情報と、現在のビデオブロックに関連付けられたピクチャ以外のバッファ213からのピクチャの復号されたサンプルとに基づいて、現在のビデオブロックの予測ビデオブロックを決定し得る。
動き推定ユニット204および動き補償ユニット205は、例えば、現在のビデオブロックがIスライス中にあるか、Pスライス中にあるか、またはBスライス中にあるかに応じて、現在のビデオブロックについて異なる動作を実行し得る。
いくつかの例では、動き推定ユニット204は、現在のビデオブロックについて単方向予測を実行し得、動き推定ユニット204は、現在のビデオブロックの参照ビデオブロックについてリスト0またはリスト1の参照ピクチャを探索し得る。次いで、動き推定ユニット204は、参照ビデオブロックを含むリスト0またはリスト1中の参照ピクチャを示す参照インデックスと、現在のビデオブロックと参照ビデオブロックとの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット204は、現在のビデオブロックの動き情報として、参照インデックスと、予測方向インジケータと、動きベクトルとを出力し得る。動き補償ユニット205は、現在のビデオブロックの動き情報によって示される参照ビデオブロックに基づいて、現在のブロックの予測ビデオブロックを生成し得る。
他の例では、動き推定ユニット204は、現在のビデオブロックについて双方向予測を実行し得、動き推定ユニット204は、現在のビデオブロックの参照ビデオブロックについてリスト0中の参照ピクチャを探索し得、また、現在のビデオブロックの別の参照ビデオブロックについてリスト1中の参照ピクチャを探索し得る。次いで、動き推定ユニット204は、参照ビデオブロックを含むリスト0およびリスト1中の参照ピクチャを示す参照インデックスと、参照ビデオブロックと現在のビデオブロックとの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット204は、現在のビデオブロックの動き情報として、現在のビデオブロックの参照インデックスと動きベクトルとを出力し得る。動き補償ユニット205は、現在のビデオブロックの動き情報によって示される参照ビデオブロックに基づいて、現在のビデオブロックの予測ビデオブロックを生成し得る。
いくつかの例では、動き推定ユニット204は、デコーダの復号処理のために動き情報のフルセットを出力し得る。
いくつかの例では、動き推定ユニット204は、現在のビデオに関する動き情報のフルセットを出力しないことがある。むしろ、動き推定ユニット204は、別のビデオブロックの動き情報を参照して、現在のビデオブロックの動き情報をシグナリングし得る。例えば、動き推定ユニット204は、現在のビデオブロックの動き情報が隣接ビデオブロックの動き情報に十分に類似していることを決定し得る。
一例では、動き推定ユニット204は、現在のビデオブロックに関連付けられたシンタックス構造において、現在のビデオブロックが別のビデオブロックと同じ動き情報を有することをビデオデコーダ300に示す値を示し得る。
別の例では、動き推定ユニット204は、現在のビデオブロックに関連付けられたシンタックス構造において、別のビデオブロックおよび動きベクトル差分(MVD)を識別し得る。動きベクトル差分は、現在のビデオブロックの動きベクトルと、示されたビデオブロックの動きベクトルとの間の差分を示す。ビデオデコーダ300は、示されたビデオブロックの動きベクトルと動きベクトル差分とを使用して、現在のビデオブロックの動きベクトルを決定し得る。
上記で説明したように、ビデオエンコーダ200は、動きベクトルを予測的にシグナリングし得る。ビデオエンコーダ200によって実装され得る予測シグナリング技法の2つの例には、高度動きベクトル予測(AMVP)およびマージモードシグナリングが含まれる。
イントラ予測ユニット206は、現在のビデオブロックに対してイントラ予測を実行し得る。イントラ予測ユニット206が現在のビデオブロックに対してイントラ予測を実行するとき、イントラ予測ユニット206は、同じピクチャ中の他のビデオブロックの復号されたサンプルに基づいて、現在のビデオブロックのための予測データを生成し得る。現在のビデオブロックのための予測データは、予測ビデオブロックと様々なシンタックス要素とを含み得る。
残差生成ユニット207は、現在のビデオブロックから現在のビデオブロックの予測ビデオブロック(複数可)を減算すること(例えば、マイナス符号によって示される)によって、現在のビデオブロックのための残差データを生成し得る。現在のビデオブロックの残差データは、現在のビデオブロック中のサンプルの異なるサンプル成分に対応する残差ビデオブロックを含み得る。
他の例では、例えばスキップモードでは、現在のビデオブロックには、現在のビデオブロックのための残差データがないことがあり、残差生成ユニット207は、減算演算を実行しないであろう。
変換処理ユニット208は、現在のビデオブロックに関連付けられた残差ビデオブロックに1つまたは複数の変換を適用することによって、現在のビデオブロックのための1つまたは複数の変換係数ビデオブロックを生成し得る。
変換処理ユニット208が、現在のビデオブロックに関連付けられた変換係数ビデオブロックを生成した後、量子化ユニット209は、現在のビデオブロックに関連付けられた1つまたは複数の量子化パラメータ(QP)値に基づいて、現在のビデオブロックに関連付けられた変換係数ビデオブロックを量子化し得る。
逆量子化ユニット210および逆変換ユニット211は、それぞれ変換係数ビデオブロックに逆量子化および逆変換を適用して、変換係数ビデオブロックから残差ビデオブロックを再構成し得る。再構成ユニット212は、再構成された残差ビデオブロックを、予測ユニット202によって生成された1つまたは複数の予測ビデオブロックからの対応するサンプルに加算して、バッファ213に記憶するための、現在のブロックに関連付けられた再構成されたビデオブロックを生成し得る。
再構成ユニット212がビデオブロックを再構成した後、ループフィルタリング動作を実行して、ビデオブロック中のビデオブロッキングアーティファクトを低減し得る。
エントロピー符号化ユニット214は、ビデオエンコーダ200の他の機能構成要素からデータを受信し得る。エントロピー符号化ユニット214がデータを受信するとき、エントロピー符号化ユニット214は、1つまたは複数のエントロピー符号化動作を実行して、エントロピー符号化されたデータを生成し、エントロピー符号化されたデータを含むビットストリームを出力し得る。
図6は、図4に示されたシステム100中のビデオデコーダ114であり得るビデオデコーダ300の例を示すブロック図である。
ビデオデコーダ300は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。図6の例では、ビデオデコーダ300は、複数の機能構成要素を含む。本開示で説明される技法は、ビデオデコーダ300の様々な構成要素の間で共有され得る。いくつかの例では、プロセッサは、本開示で説明される技法のいずれかまたはすべてを実行するように構成され得る。
図6の例では、ビデオデコーダ300は、エントロピー復号ユニット301と、動き補償ユニット302と、イントラ予測ユニット303と、逆量子化ユニット304と、逆変換ユニット305と、再構成ユニット306と、バッファ307とを含む。ビデオデコーダ300は、いくつかの例では、ビデオエンコーダ200(図5)に関して説明した符号化パスと概ね逆の復号パスを実行し得る。
エントロピー復号ユニット301は、符号化ビットストリームを取り出し得る。符号化ビットストリームは、エントロピーコーディングされたビデオデータ(例えば、ビデオデータの符号化ブロック)を含み得る。エントロピー復号ユニット301は、エントロピーコーディングされたビデオデータを復号し得、エントロピー復号されたビデオデータから、動き補償ユニット302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、および他の動き情報を含む動き情報を決定し得る。動き補償ユニット302は、例えば、AMVPおよびマージモードを実行することによって、そのような情報を決定し得る。
動き補償ユニット302は、場合によっては補間フィルタに基づいて補間を実行して、動き補償されたブロックを生成し得る。サブピクセル精度で使用されるべき補間フィルタのための識別子は、シンタックス要素に含まれ得る。
動き補償ユニット302は、ビデオブロックの符号化中にビデオエンコーダ200によって使用されるような補間フィルタを使用して、参照ブロックのサブ整数ピクセルのための補間値を計算し得る。動き補償ユニット302は、受信されたシンタックス情報にしたがって、ビデオエンコーダ200によって使用される補間フィルタを決定し、この補間フィルタを使用して、予測ブロックを生成し得る。
動き補償ユニット302は、符号化ビデオシーケンスのフレーム(複数可)および/またはスライス(複数可)を符号化するために使用されるブロックのサイズを決定するためのシンタックス情報、符号化ビデオシーケンスのピクチャの各マクロブロックがどのようにパーティショニングされるかを記述するパーティション情報、各パーティションがどのように符号化されるかを示すモード、各インター符号化ブロックのための1つまたは複数の参照フレーム(および参照フレームリスト)、ならびに符号化ビデオシーケンスを復号するための他の情報のうちのいくつかを使用し得る。
イントラ予測ユニット303は、例えば、ビットストリーム中で受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。逆量子化ユニット303は、ビットストリーム中で提供され、エントロピー復号ユニット301によって復号された量子化ビデオブロック係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆変換ユニット303は、逆変換を適用する。
再構成ユニット306は、残差ブロックを、動き補償ユニット202またはイントラ予測ユニット303によって生成された対応する予測ブロックと加算して、復号ブロックを形成し得る。必要に応じて、さらにデブロッキングフィルタを適用して、復号されたブロックをフィルタ処理し、ブロッキネスアーティファクトを除去し得る。次いで、復号されたビデオブロックは、バッファ307に記憶され、バッファ307は、後続の動き補償/イントラ予測のための参照ブロックを提供し、また、ディスプレイデバイス上での提示のために、復号ビデオを生成する。
いくつかの実施形態によって好まれる例のリストを次に提供する。
条項の第1のセットは、前のセクションで説明した技法の例示的な実施形態を示す。以下の条項は、前のセクション(例えば、項目1)で説明した技法の例示的な実施形態を示す。
1.ビデオ処理方法(例えば、図3に示す方法300)であって、1つまたは複数のピクチャを有するビデオとビデオのコード化表現との間の変換を実行すること(302)を含み、1つまたは複数のピクチャの各々は正確に1つのスライスを含み、コード化表現はフォーマットルールに準拠し、フォーマットルールは、コード化表現が準拠するプロファイル、ティア、およびレベルを示すコード化表現内の第1のフィールドが、変換中に観測された様々な制約をシグナリングするシンタックス構造が第1のフィールド内に存在するかどうかを示す第2のフィールドを含むことを指定する、ビデオ処理方法。
2.シンタックス構造は、general_constraint_info( )シンタックス構造を含む、ソリューション1に記載の方法。
3.第1のフィールドは、プロファイル・ティア・レベル(PTL)シンタックス構造を含む、ソリューション1または2に記載の方法。
4.第2のフィールドは単一ビットフラグである、ソリューション1から3のいずれかに記載の方法。
以下のソリューションは、前のセクション(例えば、項目2)で説明した技法の例示的な実施形態を示す。
5.ビデオ処理の方法であって、1つまたは複数のピクチャおよび1つまたは複数のスライスを含むビデオと、ビデオのコード化表現との間の変換を実行することを含み、コード化表現はフォーマットルールに準拠し、フォーマットルールは、コード化表現内の第1のレベルにおける1つまたは複数の制約フラグの値が、シーケンスパラメータセット(SPS)レベルまたはピクチャヘッダ(PH)レベルまたはスライスヘッダ(SH)レベルにおける1つまたは複数のシンタックス要素の出現を制御することを指定する、方法。
6.フォーマットルールは、max_chroma_format_constraint_idcが第1のレベルにおける特定の値に等しくない場合かつその場合に限り、SPSレベルにおいてシンタックス要素を含むことを指定する、ソリューション5に記載の方法。
7.SPSレベルにおけるシンタックス要素は、クロマフォーマットIDCシンタックス要素を含む、ソリューション6に記載の方法。
8.フォーマットルールは、一般制約フラグが特定の値に対して設定されている場合かつその場合に限り、PHレベルにおいてシンタックス要素を含むことを指定する、ソリューション5に記載の方法。
9.フォーマットルールは、一般制約フラグが特定の値に対して設定されている場合かつその場合に限り、SHレベルにおいてシンタックス要素を含むことを指定する、ソリューション5に記載の方法。
以下の条項は、前のセクション(例えば、項目3)で説明した技法の例示的な実施形態を示す。
10.ビデオ処理の方法であって、1つまたは複数のピクチャおよび1つまたは複数のスライスを含むビデオと、ビデオのコード化表現との間の変換を実行することを含み、コード化表現はフォーマットルールに準拠し、フォーマットルールは、コード化表現内の第1のレベルにおける1つまたは複数の制約フラグの値がピクチャパラメータセット(PPS)レベルにおける1つまたは複数のシンタックス要素の値を制約することを指定する、方法。
11.第1のレベルにおける1つまたは複数の制約フラグは、ピクチャごとに単一のタイルの存在を示すフラグを含み、フォーマットルールは、タイル行の数およびタイル列の数を示すフィールドがPPSレベルにおいて0値を有することを指定する、ソリューション10に記載の方法。
以下の条項は、前のセクション(例えば、項目4)で説明した技法の例示的な実施形態を示す。
12.第1のフィールド中の第1のシンタックス部分は、第1のフィールド中の第2のシンタックス部分の値および/または出現を制御する、前または後のソリューションのいずれかの方法。
13.第1のシンタックス部分が事前に指定された値を示す場合かつその場合に限り、第2のシンタックス部分が第1のフィールド中に出現する、ソリューション12に記載の方法。
14.第1のシンタックス部分はone_slice_per_pic_constraint_flagを含み、フォーマットルールは、one_subpic_per_pic_constraint_flagが0に等しいとき、one_subpic_per_pic_constraint_flagがコード化表現から省略されることを指定する、ソリューション13に記載の方法。
以下の条項は、前のセクション(例えば、項目7)で説明した技法の例示的な実施形態を示す。
15.ビデオ処理の方法であって、1つまたは複数のピクチャおよび1つまたは複数のスライスを含むビデオと、ビデオのコード化表現との間の変換を実行することを含み、コード化表現は、ビデオパラメータセットおよび/またはシーケンスパラメータセットおよび/またはピクチャパラメータセットの識別子のためのシンタックス要素を含む適応パラメータセットをコード化表現が含むことを指定するフォーマットルールに準拠する、方法。
16.フォーマットルールは、1つまたは複数の制約フラグが、適応パラメータセット中の1つまたは複数のシンタックス要素の値および/または出現を制御することを指定する、ソリューション15に記載の方法。
17.適応パラメータセット中の1つまたは複数のシンタックス要素は、alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag、またはalf_cc_cr_filter_signal_flagのうちの1つまたは複数を含む、ソリューション16に記載の方法。
18.1つまたは複数の制約フラグは、対応する識別子によって識別されるシーケンスパラメータセットまたはピクチャパラメータセットに含まれる、ソリューション16に記載の方法。
以下の条項は、前のセクション(例えば、項目8)で説明した技法の例示的な実施形態を示す。
19.ビデオ処理の方法であって、1つまたは複数のピクチャおよび1つまたは複数のスライスを含むビデオと、ビデオのコード化表現との間の変換を実行することを含み、コード化表現は、変換に適用可能な1つまたは複数の一般制約フラグを含むことを指定するフォーマットルールに準拠し、1つまたは複数の一般制約フラグは、コード化表現に含まれる一般制約情報の変換への適用可能性を示す、方法。
20.一般制約情報の適用可能性は、一般制約情報が適用可能であるプロファイル、レベル、またはティアについて示される、ソリューション19に記載の方法。
21.フォーマットルールは、一般制約情報がシーケンスパラメータセットに含まれることを指定する、ソリューション19に記載の方法。
22.フォーマットルールは、一般制約情報がビデオパラメータセットに含まれることを指定する、ソリューション1に記載の方法。
以下の条項は、前のセクション(例えば、項目9)で説明した技法の例示的な実施形態を示す。
23.ビデオ処理の方法であって、ビデオとビデオのコード化表現との間の変換を実行することを含み、コード化表現はフォーマットルールに準拠し、フォーマットルールは、コード化表現が、ビデオまたは変換の特性に基づいて一般制約情報を搬送する一般制約構造を条件付きで含むことを指定する、方法。
24.ビデオまたは変換の特性は、変換に使用されるプロファイルまたはレベルまたはティアまたはサブプロファイルを含む、ソリューション23に記載の方法。
25.フォーマットルールは、一般制約構造が、一般制約情報が適用可能であるプロファイル・ティア・レベルシンタックス構造に含まれることを指定する、ソリューション23または24に記載の方法。
26.一般制約情報は、少なくともいくつかのコーディングツールと、コーディングツールが適用可能である対応するプロファイルまたはレベルとの間の関係を示す、ソリューション23から25のいずれかに記載の方法。
27.フォーマットルールは、特定のプロファイルおよび/または特定のサブプロファイルおよび/または特定のレベルおよび/または特定のティアのための一般制約構造を省略することを指定する、ソリューション23から26のいずれかに記載の方法。
28.フォーマットルールは、オールイントラコーディングがプロファイルまたはサブプロファイルで使用されていることに起因して、イントラのみの制約フラグを1に設定することを指定する、ソリューション23から27のいずれかに記載の方法。
29.変換は、ビデオをコード化表現に符号化することを含む、ソリューション1から28のいずれかに記載の方法。
30.変換は、ビデオのピクセル値を生成するためにコード化表現を復号することを含む、ソリューション1から28のいずれかに記載の方法。
31.ソリューション1から30のうちの1つまたは複数に記載の方法を実施するように構成されたプロセッサを備えるビデオ復号装置。
32.ソリューション1から30のうちの1つまたは複数に記載の方法を実施するように構成されたプロセッサを備えるビデオ符号化装置。
33.コンピュータコードを記憶したコンピュータプログラム製品であって、コードは、プロセッサによって実行されると、プロセッサに、ソリューション1から30のいずれかに記載の方法を実施させる、コンピュータプログラム製品。
34.本文書で説明される方法、装置、またはシステム。
条項の第2のセットは、前のセクション(例えば、項目1および2)において説明された技法の例示的な実施形態を示す。
1.ビデオ処理の方法(例えば、図7Aに示されるような方法710)であって、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行すること712を含み、フォーマットルールは、ビットストリーム中の第1のレベルにおける1つまたは複数の一般制約フラグの値が、シーケンスパラメータセット(SPS)レベルまたはピクチャヘッダ(PH)レベルまたはスライスヘッダ(SH)レベルにおける1つまたは複数のシンタックス要素の出現を制御することを指定する、方法。
2.第1のレベルは、SPSレベルまたはPHレベルまたはSHレベルよりも高い、第1項に記載の方法。
3.フォーマットルールは、クロマフォーマットサンプリング構造に関連する第1の一般制約フラグが特定の値に等しい場合、クロマフォーマットサンプリング構造を示すSPSレベルにおける第1のシンタックス要素をビットストリームから除外することをさらに指定する、第1項に記載の方法。
4.第1の一般制約フラグの特定の値は0に等しい、第3項に記載の方法。
5.第1のシンタックス要素は0に等しいと推測される、第3項または第4項に記載の方法。
6.フォーマットルールは、ビット深度に関連する第2の一般制約フラグが特定の値に等しい場合、ビット深度から8を減算した値を示すSPSレベルにおける第2のシンタックス要素をビットストリームから除外することをさらに指定する、第1項に記載の方法。
7.第2の一般制約フラグの特定の値は0に等しい、第6項に記載の方法。
8.第2のシンタックス要素は0に等しいと推測される、第6項または第7項に記載の方法。
9.フォーマットルールは、特定のネットワークアブストラクションレイヤ(NAL)ユニットタイプに関してNALユニットに制約を課すべきかどうかを示す第3の一般制約フラグが第1の特定の値に等しい場合、SPSレベルにおける少なくとも1つの第3のシンタックス要素をビットストリームから除外することをさらに指定する、第1項に記載の方法。
10.フォーマットルールは、特定のネットワークアブストラクションレイヤ(NAL)ユニットタイプに関してNALユニットに制約を課すべきかどうかを示す第3の一般制約フラグが第1の特定の値に等しくない場合、SPSレベルにおいて少なくとも1つの第3のシンタックス要素を含めることをさらに指定する、第1項に記載の方法。
11.第3の一般制約フラグはno_aps_constraint_flagである、第9項または第10項に記載の方法。
12.SPSレベルにおける少なくとも1つの第3のシンタックス要素は適応パラメータセット(APS)に関連する、第9項から第11項のいずれかに記載の方法。
13.少なくとも1つの第3のシンタックス要素は、ルーママッピングクロマスケーリング(LMCS)有効化フラグを含む、12に記載の方法。
14.少なくとも1つの第3のシンタックス要素は、明示的スケーリングリスト有効化フラグを含む、12に記載の方法。
15.少なくとも1つの第3のシンタックス要素は、クロス成分適応ループフィルタ有効化フラグを含む、12に記載の方法。
16.第3の一般制約フラグが第1の特定の値に等しい場合、少なくとも1つの第3のシンタックス要素の値は0に等しいと推測される、第9項から第12項のいずれかに記載の方法。
17.第3の一般制約フラグが第1の特定の値に等しい場合、ネットワークアブストラクションレイヤ(NAL)ユニットタイプがPREFIX_APS_NUTまたはSUFFIX_APS_NUTに等しくなることは許可されない、第9項から第12項のいずれかに記載の方法。
18.フォーマットルールは、第3の一般制約フラグが第1の特定の値に等しい場合、SPSレベルにおける少なくとも1つの第3のシンタックス要素が0に等しくなるようにビットストリーム制約が追加されることをさらに指定する、第9項から第16項のいずれかに記載の方法。
19.第1の特定の値は1に等しい、第9項から第18項のいずれかに記載の方法。
20.ビデオ処理のための方法(例えば、図7Bに示されるような方法720)であって、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行すること722を含み、フォーマットルールは、ビットストリームのためのプロファイル、ティア、およびレベル(PTL)情報を示すビットストリーム中の第1のフィールドが、変換に適用可能な1つまたは複数の制約を示すシンタックス構造が第1のフィールドに存在するかどうかを示す第2のフィールドを含むことを指定する、方法。
21.シンタックス構造は一般制約シンタックス要素のセットを含む、第20項に記載の方法。
22.第1のフィールドは一般制約シンタックス構造を含む、第20項または第21項に記載の方法。
23.第2のフィールドは単一ビットフラグである、第20項から第22項のいずれかに記載の方法。
24.フォーマットルールは、シンタックス構造がビデオユニットに対して存在しない場合、制約パラメータに対してデフォルト値が推測されることをさらに指定する、第20項に記載の方法。
25.デフォルト値は、ビデオユニットに対して制約が課されないことを指定する、第24項に記載の方法。
26.ビデオユニットは、出力レイヤセット(OLS)のビットストリームである、第24項または第25項に記載の方法。
27.フォーマットルールは、復号能力情報(DCI)が複数の第1のフィールドを含む場合、複数の第1のフィールドのうちの多くとも1つがビットストリーム全体に適用されるシンタックス構造を含むことをさらに指定する、第20項に記載の方法。
28.フォーマットルールは、復号能力情報(DCI)がビットストリームに存在する場合、1)ビデオパラメータセット(VPS)またはシーケンスパラメータセット(SPS)に存在する第1のフィールドがシンタックス構造を含まないことと、2)DCIに関連付けられた制約情報が、ビットストリーム中の各コード化ビデオシーケンス(CVS)の各出力レイヤセット(OLS)に適用されることとをさらに指定する、第20項に記載の方法。
29.フォーマットルールは、復号能力情報(DCI)がビットストリームに存在する場合、1)ビデオパラメータセット(VPS)またはシーケンスパラメータセット(SPS)に存在する第1のフィールドがシンタックス構造を含まないことと、2)DCIに関連付けられた制約情報が、ビットストリーム中の各コード化ビデオシーケンス(CVS)において2つ以上のレイヤを含む各出力レイヤセット(OLS)に適用されることとをさらに指定する、第20項に記載の方法。
30.フォーマットルールは、ビデオパラメータセット中に複数の第1のフィールドがある場合、1)複数の第1のフィールドのうちの1つのみがシンタックス構造を含むことと、2)シンタックス構造がビットストリーム中の各コード化ビデオシーケンス(CVS)の各出力レイヤセット(OLS)に適用されることとをさらに指定する、第20項に記載の方法。
31.フォーマットルールは、復号能力情報(DCI)および/またはシーケンスパラメータセット(SPS)および/またはビデオパラメータセット(VPS)に複数の第1のフィールドが含まれている場合、複数の第1のフィールドが適合ビットストリームにおいて同じコンテンツを有することをさらに指定する、第20項に記載の方法。
32.複数の第1のフィールドは、出力レイヤセット(OLS)またはコード化ビデオシーケンス(CVS)のためにシグナリングされる、第31項に記載の方法。
33.フォーマットルールは、多くとも1つの第1のフィールドが、適合ビットストリーム中の復号能力情報(DCI)および/またはシーケンスパラメータセット(SPS)および/またはビデオパラメータセット(VPS)中でシグナリングされることを許可されることをさらに指定する、第20項に記載の方法。
34.多くとも1つの第1のフィールドは、出力レイヤセット(OLS)またはコード化ビデオシーケンス(CVS)のためにシグナリングされることが許可される、第33項に記載の方法。
35.フォーマットルールは、複数の出力レイヤセット(OLS)のために復号能力情報(DCI)中でシグナリングされる複数の第1のフィールドが存在する場合、第iのOLSに適用される対応するシンタックス構造のインデックスを指定するために別のシンタックス要素がDCIシンタックス構造に追加されることをさらに指定し、iは自然数である、第20項に記載の方法。
36.フォーマットルールは、ビットストリーム中に1つのOLSしかない場合、別のシンタックス要素のシグナリングがスキップされること、および/または別のシンタックス要素の値が特定の値に推測されることをさらに指定する、第35項に記載の方法。
37.フォーマットルールは、復号能力情報(DCI)および/またはシーケンスパラメータセット(SPS)および/またはビデオパラメータセット(VPS)中で1つまたは複数の制約をシグナリングする複数のシンタックス構造が存在する場合、1)DCIおよび/またはSPSおよび/またはVPS中の制約パラメータの値が出力レイヤセット(OLS)について異なることと、2)制約フラグまたはフィールドのいずれかによって課される特定の制約がOLSに適用されることとをさらに指定する、第20項に記載の方法。
38.VPSまたはSPS中の制約パラメータのうちのいずれかが、OLSに対して特定の制約が課されることを指定し、DCI中の対応する制約パラメータが、OLSに対して特定の制約が課されないことを指定する場合、VPSまたはSPSにおいて示されるように特定の制約がOLSに課される、第37項に記載の方法。
39.VPSまたはSPS中の制約パラメータのうちのいずれかが、OLSに対して特定の制約が課されないことを指定し、DCI中の対応する制約パラメータが、OLSに対して特定の制約が課されることを指定する場合、DCIにおいて示されるように特定の制約がOLSに課される、第37項に記載の方法。
40.VPSまたはSPS中の制約パラメータは、OLSに特定の制約を課すべきかどうかを示し、DCI中で搬送される対応する制約シンタックス要素は、VPSまたはSPS中で示される特定の制約よりも厳しくないことを示す値を有する、第37項に記載の方法。
41.VPSまたはSPS中の制約パラメータのいずれかが、OLSに対して特定の制約が課されないことを指定する場合、DCI中の対応する制約パラメータの値がOLSについて0に等しいことを要求するためにビットストリーム適合性が追加される、第40項に記載の方法。
42.VPSまたはSPS中の制約パラメータのいずれかが、OLSに対して特定の制約が課されることを指定する場合、DCI中の対応する制約パラメータの値は、OLSについて0または1に等しい、第40項に記載の方法。
43.VPSまたはSPS中の制約パラメータは、OLSに特定の制約を課すべきかどうかを示し、DCI中で搬送される対応する制約シンタックス要素は、VPSまたはSPS中で示される特定の制約よりも緩和されていないことを示す値を有する、第37項に記載の方法。
44.VPSまたはSPS中の制約パラメータのいずれかが、OLSに対して特定の制約が課されることを指定する場合、DCI中の対応する制約パラメータの値がOLSについて1に等しいことを要求するためにビットストリーム適合性が追加される、第43項に記載の方法。
45.VPSまたはSPS中の制約パラメータのいずれかが、OLSに対して特定の制約が課されないことを指定する場合、DCI中の対応する制約パラメータの値は、OLSについて0または1に等しい、第43項に記載の方法。
46.フォーマットルールは、制約パラメータのための異なるデフォルト値の1つのセットのみまたは複数のセットがあらかじめ定義されることをさらに指定する、第20項に記載の方法。
47.複数のセットのうちの1つについて、各制約パラメータは、出力レイヤセット(OLS)に対して特定の制約が課されないことを指定する値であると推測される、第46項に記載の方法。
48.複数のセットのうちの1つまたはいくつかについて、最大ビット深度IDCを示す一般制約シンタックス要素の値は、特定の値に等しいと推測される、第46項に記載の方法。
49.変換は、ビデオをビットストリームに符号化することを含む、第1項から第48項のいずれかに記載の方法。
50.変換は、ビットストリームからビデオを復号することを含む、第1項から第48項のいずれかに記載の方法。
51.変換は、ビデオからビットストリームを生成することを含み、方法は、非一時的コンピュータ可読記録媒体にビットストリームを記憶することをさらに含む、第1項から第48項に記載の方法。
52.第1項から第51項のいずれか1つまたは複数に記載の方法を実装するように構成されたプロセッサを備えるビデオ処理装置。
53.ビデオのビットストリームを記憶する方法であって、第1項から第51項のいずれか1つに記載の方法を含み、ビットストリームを非一時的コンピュータ可読記録媒体に記憶することをさらに含む、方法。
54.実行されると、プロセッサに、第1項から第51項のいずれか1つまたは複数に記載の方法を実施させるプログラムコードを記憶するコンピュータ可読媒体。
55.上記で説明した方法のいずれかにしたがって生成されたビットストリームを記憶するコンピュータ可読媒体。
56.ビットストリーム表現を記憶するためのビデオ処理装置であって、第1項から第51項のいずれか1つまたは複数に記載の方法を実施するように構成されたビデオ処理装置。
条項の第3のセットは、前のセクション(例えば、項目2~5)で説明した技法の例示的な実施形態を示す。
1.ビデオ処理の方法(例えば、図8Aに示されているような方法810)であって、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行することを含み、フォーマットルールは、シーケンスパラメータセット(SPS)中のシンタックス要素が一般制約フラグの値に基づくかどうかを指定する、方法。
2.フォーマットルールは、スライスのタイプに制約を課す一般制約フラグの値が1に等しい場合、イントラ関連SPSシンタックス要素であるシンタックス要素が除外されることを指定する、第1項に記載の方法。
3.一般制約フラグは、イントラ予測のみの使用に制約を課すべきかどうかを示す、第2項に記載の方法。
4.一般制約フラグはintra_only_constraint_flagである、第2項に記載の方法。
5.フォーマットルールは、一般制約フラグの値が1に等しい場合、SPS中のシンタックス要素が省略されることを指定する、第1項に記載の方法。
6.一般制約フラグの値が1に等しい場合、シンタックス要素の値は0に等しいと推測される、第5項に記載の方法。
7.シンタックス要素は、GDR(漸次復号リフレッシュ)ピクチャが有効にされ、SPSを参照するコード化レイヤビデオシーケンス(CLVS)に存在するかどうかを示し、一般制約フラグは、GDRに関してネットワークアブストラクションレイヤ(NAL)ユニットに制約を課すべきかどうかを示す、第5項に記載の方法。
8.シンタックス要素gdr_enabled_flagおよび一般制約フラグは、no_gdr_constraint_flagである、第5項に記載の方法。
9.シンタックス要素は、適応ループフィルタ(ALF)の適用可能性を示し、一般制約フラグは、ALFの使用に制約を課すべきかどうかを示す、第5項に記載の方法。
10.シンタックス要素sps_alf_enabled_flag、および一般制約フラグはno_alf_constraint_flagである、第5項に記載の方法。
11.シンタックス要素が、大ブロック適応デブロッキング(ladf)の有効化を示すフラグ、解像度変更なしを示すフラグ、デュアルツリーの適用可能性を示すフラグ、パーティション制約オーバーライドの有効化を示すフラグ、ジョイントCbCrの有効化を示すフラグ、サンプル適応オフセット(SAO)の有効化を示すフラグ、クロス成分適応ループフィルタ(CCALF)の有効化を示すフラグ、変換スキップの有効化を示すフラグ、bdpcm(block based differential pulse code modulation)の有効化を示すフラグ、ラップアラウンド動き補償の有効化を示すフラグ、時間的動きベクトル予測(mvp)の有効化を示すフラグ、サブブロックベースの時間的動きベクトル予測(sbTMVP)の有効化を示すフラグ、適応動きベクトル解像度(AMVR)を示すフラグ、双方向オプティカルフローの有効化を示すフラグ、デコーダ側動きベクトルリファインメント(dmvr)の有効化を示すフラグ、クロス成分線形モデル(CCLM)の有効化を示すフラグ、MTS(multiple transform selection)の有効化を示すフラグ、サブブロック変換(sbt)の有効化を示すフラグ、アフィン動き補償の有効化を示すフラグ、bcw(bi-prediction with CU-level weights)の有効化を示すフラグ、イントラブロックコピー(ibc)の有効化を示すフラグ、CIIP(enhanced combined inter-intra prediction)の有効化を示すフラグ、整数サンプル精度を使用する動きベクトル差分を用いたマージの有効化を示すフラグ、従属量子化の有効化を示すフラグ、符号ビット隠蔽の有効化を示すフラグ、または幾何学的パーティションベースの動き補償の有効化を示すフラグを含む、第5項に記載の方法。
12.一般制約フラグは、シンタックス要素に含まれるフラグにおいて示されるコーディング特性に制約を課すべきかどうかを示す、第11項に記載の方法。
13.シンタックス要素は、sps_ladf_enabled_flag、no_res_change_in_clvs_constraint_flag、qtbtt_dual_tree_intra_flag、partition_constraints_override_enabled_flag、sps_joint_cbcr_enabled_flag、sps_sao_enabled_flag、sps_ccalf_enabled_flag、sps_transform_skip_enabled_flag、sps_bdpcm_enabled_flag、sps_ref_wraparound_enabled_flag、sps_temporal_mvp_enabled_flag、sps_sbtmvp_enabled_flag、sps_amvr_enabled_flag、sps_bdof_enabled_flag、sps_dmvr_enabled_flag、sps_cclm_enabled_flag、sps_mts_enabled_flag、sps_sbt_enabled_flag、sps_affine_enabled_flag、sps_bcw_enabled_flag、sps_ibc_enabled_flag、sps_ciip_enabled_flag、sps_fpel_mmvd_enabled_flag、sps_dep_quant_enabled_flag、またはsps_sign_data_hiding_enabled_flag、sps_gpm_enabled_flagを含み、一般制約フラグは、no_ladf_constraint_flag、no_qtbtt_dual_tree_intra_constraint_flag、no_partition_constraints_override_constraint_flag、no_joint_cbcr_constraint_flag、no_sao_constraint_flag、no_ccalf_constraint_flag、no_transform_skip_constraint_flag、no_bdpcm_constraint_flag、no_ref_wraparound_constraint_flag、no_temporal_mvp_constraint_flag、no_sbtmvp_constraint_flag、no_amvr_constraint_flag、no_bdof_constraint_flag、no_dmvr_constraint_flag、no_cclm_constraint_flag、no_mts_constraint_flag、no_sbt_constraint_flag、no_affine_motion_constraint_flag、no_bcw_constraint_flag、no_ibc_constraint_flag、no_ciip_constraint_flag、no_fpel_mmvd_constraint_flag、no_dep_quant_constraint_flag、no_sign_data_hiding_constraint_flag、またはno_gpm_constraint_flagを含む、第5項に記載の方法。
14.ビデオ処理の方法(例えば、図8Bに示されているような方法820)であって、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行すること822を含み、フォーマットルールは、一般制約フラグの値に基づいて、シーケンスパラメータセット(SPS)中のシンタックス要素の値が特定の値に等しいことを指定する、方法。
15.一般制約フラグの値が1に等しい場合、SPS中のシンタックス要素の値が0に等しくなるようにビットストリーム制約が追加される、第14項に記載の方法。
16.一般制約フラグがGDRに関してネットワークアブストラクションレイヤ(NAL)ユニットに制約を課すべきかどうかを示す場合、SPS中のシンタックス要素は、GDR(漸次復号リフレッシュ)ピクチャが有効にされ、SPSを参照するコード化レイヤビデオシーケンス(CLVS)に存在するかどうかを示すフラグである、第15項に記載の方法。
17.SPS中のシンタックス要素は、対応する一般制約フラグがno_gdr_constraint_flagである場合、sps_gdr_enabled_flagである、第15項に記載の方法。
18.特定のネットワークアブストラクションレイヤ(NAL)ユニットタイプに関してNALユニットに制約を課すべきかどうかを示すフラグが1に等しい場合、適応パラメータセット(APS)関連SPSシンタックス要素であるシンタックス要素の値が0に等しくなるようにビットストリーム制約が追加される、第14項に記載の方法。
19.SPS中のAPS関連シンタックス要素は、適応ループフィルタ(alf)の適用可能性を示すフラグ、クロス成分適応ループフィルタ(CCALF)の有効化を示すフラグ、クロマスケーリングを伴うルーママッピング(LMCS)の有効化を示すフラグ、または明示的スケーリングリストの有効化を示すフラグである、第18項に記載の方法。
20.SPS中のAPS関連シンタックス要素は、sps_alf_enabled_flag、sps_ccalf_enabled_flag、sps_lmcs_enabled_flag、またはsps_explicit_scaling_list_enabled_flagである、第18項に記載の方法。
21.イントラ予測のみの使用に制約を課すべきかどうかを示すフラグが1に等しい場合、インター関連SPSシンタックス要素であるシンタックス要素の値が0に等しくなるようにビットストリーム制約が追加される、第14項に記載の方法。
22.フラグは、intra_only_constraint_flagに対応する、第14項に記載の方法。
23.ビットストリーム制約は、一般制約フラグの定義に基づいて表される、第14項から第21項のいずれかに記載の方法。
24.ビデオ処理の方法(例えば、図8Cに示されているような方法830)であって、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行すること832を含み、フォーマットルールは、一般制約フラグの値に基づいて、シンタックス要素が、ビットストリーム中のピクチャヘッダ(PH)またはスライスヘッダ(SH)に条件付きで含まれることを指定する、方法。
25.フォーマットルールは、イントラ予測のみの使用に制約を課すべきかどうかを示す一般制約フラグが1に等しい場合、イントラ関連PHシンタックス要素であるシンタックス要素が除外されることを指定する、第24項に記載の方法。
26.シンタックス要素は、ピクチャのすべてのコーディングされたスライスがIスライスであるかどうかを示すph_inter_slice_allowed_flagである、第25項に記載の方法。
27.フォーマットルールは、イントラ予測のみの使用に制約を課すべきかどうかを示す一般制約フラグが1に等しい場合、RPL関連SHシンタックス要素であるシンタックス要素が除外されることを指定する、第24項に記載の方法。
28.シンタックス要素は、num_ref_idx_active_override_flagである、第25項に記載の方法。
29.フラグが1に等しい場合、イントラ関連PHシンタックス要素の値またはRPL関連SHシンタックス要素の値は0に等しいと推測される、第25項または27に記載の方法。
30.フォーマットルールは、イントラ予測のみの使用に制約を課すべきかどうかを示すフラグが1である場合、PHレベルまたはSHレベルに含まれる参照ピクチャリストに関連するシンタックス構造内のシンタックス要素が除外されることを指定する、第24項に記載の方法。
31.フォーマットルールは、イントラ予測のみの使用に制約を課すべきかどうかを示すフラグが1である場合、PHレベルまたはSHレベルに含まれる参照ピクチャリストに関連するシンタックス構造内のシンタックス要素が除外されることを指定する、第24項に記載の方法。
32.イントラ予測のみの使用に制約を課すべきかどうかを示すフラグは、intra_only_constraint_flagに対応する、第25項から第31項のいずれかに記載の方法。
33.参照ピクチャリストに関連するシンタックス構造は、ref_pic_lists()またはref_pic_list_struct(listIdx,rplsIdx)に対応する、第30項または第31項に記載の方法。
34.ビデオ処理の方法(例えば、図8Dに示されているような方法840)であって、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行することを含み、フォーマットルールは、一般制約フラグの値に基づいて、ピクチャヘッダ(PH)またはスライスヘッダ(SH)中のシンタックス要素の値が特定の値に等しくなるようにビットストリーム制約が追加されることを指定する、方法。
35.イントラ予測のみの使用に制約を課すべきかどうかを示すフラグである一般制約フラグが1に等しい場合、インター関連PHシンタックス要素であるシンタックス要素の値が0に等しくなるようにビットストリーム制約が追加される、第34項に記載の方法。
36.イントラ予測のみの使用に制約を課すべきかどうかを示すフラグである一般制約フラグが1である場合、PHまたはSHに含まれる参照ピクチャリスト内のシンタックス要素の値が決して使用されないようにビットストリーム制約が追加される、第34項に記載の方法。
37.イントラ予測のみの使用に制約を課すべきかどうかを示すフラグは、intra_only_constraint_flagに対応する、第35項または36に記載の方法。
38.フォーマットルールは、シンタックス要素をSPSに含めるべきかPHに含めるべきかSHに含めるべきかを決定するために使用される一般制約フラグが、SPSレベルにおいて、ピクチャパラメータセット(PPS)レベルにおいて、PHレベルにおいて、またはSHレベルにおいて、新しいシンタックス要素によって置き換えられることをさらに指定する、第34項から第37項のいずれかに記載の方法。
39.ビデオ処理の方法(例えば、図8Eに示されているような方法850)であって、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行すること852を含み、フォーマットルールは、変換中に課される制約を示すシンタックス構造中の第1の一般制約フラグの値または包含が、シンタックス構造中の第2の一般制約フラグの値に基づくことを指定する。
40.フォーマットルールは、第1の一般制約フラグの前に現れる第2の一般制約フラグの値に基づいて、第1の一般制約フラグがビットストリームに含まれないことを指定する、第39項に記載の方法。
41.各ピクチャが1つのスライスのみを含むことを第2の一般制約フラグの値が示す場合、各ピクチャがシンタックス構造中に1つのサブピクチャのみを含むかどうかを示すフラグが除外される、第39項に記載の方法。
42.one_slice_per_pic_constraint_flagである第2の一般制約フラグの値が1に等しい場合、シンタックス構造中のone_subpic_per_pic_constraint_flagが除外される、第39項に記載の方法。
43.変換スキップの使用に制約を課すべきかどうかを示す第2の一般制約フラグの値が1に等しい場合、シンタックス構造中のbdpcm(block based differential pulse code modulation)の使用に制約を課すべきかどうかを示すフラグが除外される、第39項に記載の方法。
44.no_transform_skip_constraint_flagである第2の一般制約フラグの値が1に等しい場合、シンタックス構造中のno_bdpcm_constraint_flagが除外される、第39項に記載の方法。
45.イントラ予測のみの使用に課すべきかどうかを示す第2の一般制約フラグの値が1に等しい場合、シンタックス構造中のイントラ関連シンタックス要素が除外される、第39項に記載の方法。
46.フォーマットルールは、1つまたは複数の第1の制約フラグの前に現れる第2の一般制約フラグの値に基づいて、第1の一般制約フラグの値が特定の値に等しいことが要求されるようにビットストリーム制約が追加されることを指定する、第39項に記載の方法。
47.イントラ予測のみの使用に制約を課すべきかどうかを示す第2の一般制約フラグの値が1に等しい場合、インター関連一般制約フラグである第1の一般制約フラグの値は1に等しいことが要求される、第46項に記載の方法。
48.第2の一般制約フラグは、intra_only_constraint_flagに対応する、第45項または47に記載の方法。
49.イントラ予測のみの使用に制約を課すべきかどうかを示すフラグである第2の一般制約フラグの値が1に等しい場合、瞬時復号リフレッシュ(IDR)ピクチャおよびクリーンランダムアクセス(CRA)ピクチャに関連する制約を課すべきかどうかを示す第1の一般制約フラグの値は0であることが要求される、第46項に記載の方法。
50.intra_only_constraint_flagである第2の一般制約フラグの値が1に等しい場合、no_idr_constraint_flagまたはno_cra_constraint_flagである第1の一般制約フラグの値は0に等しいことが要求される、第46項に記載の方法。
51.変換スキップ制約なしを示す第2の一般制約フラグの値が1に等しい場合、変換スキップの使用に制約を課すべきかどうかを示す第1の一般制約フラグの値は1に等しいことが要求される、第46項に記載の方法。
52.no_transform_skip_constraint_flagである第2の一般制約フラグの値が1に等しい場合、no_transform_skip_constraint_flagである第1の一般制約フラグの値は1に等しいことが要求される、第46項に記載の方法。
53.特定のネットワークアブストラクションレイヤ(NAL)ユニットタイプに関してNALユニットに制約を課すべきかどうかの第2の一般制約フラグの値が1に等しい場合、適応ループフィルタ(alf)の使用に制約を課すべきかどうかを示す第1の一般制約フラグの値は1に等しいことが要求される、第46項に記載の方法。
54.no_aps_constraint_flagである第2の一般制約フラグの値が1に等しい場合、no_alf_constraint_flagである第1の一般制約フラグの値は1に等しいことが要求される、第46項に記載の方法。
55.フォーマットルールは、いくつかの一般制約フラグの値が特定の値に等しいことを要求するためにビットストリーム制約が追加されることをさらに指定する、第39項に記載の方法。
56.フォーマットルールは、制約フィールドの範囲を制約するためにビットストリーム制約が追加されることをさらに指定する、第39項に記載の方法。
57.最大ビット深度IDCを示すシンタックス要素は、0からXの範囲内にあることが要求され、Xは正の整数である、第56項に記載の方法。
58.max_bitdepth_constraint_idcは、0からXの範囲内にあることが要求され、Xは正の整数である、第56項に記載の方法。
59.X=8である、第57項または第58項に記載の方法。
60.0よりも大きいmax_bitdepth_constraint_idcは、ビット深度を示すSPS中のシンタックス要素がmax_bitdepth_constraint_idcに基づいて表される範囲内にあることを指定する、第58項に記載の方法。
61.一般プロファイルICを示すシンタックス要素はAに等しく、最大ビット深度IDCを示すシンタックス要素は0からBの範囲内にあることが要求され、AおよびBは正の整数である、第56項に記載の方法。
62.general_profile_idcはAに等しく、max_bitdepth_constraint_idcは0からBの範囲内にあることが要求され、AおよびBは正の整数である、第56項に記載の方法。
63.ビデオ処理の方法(例えば、図8Fに示されているような方法860)であって、フォーマットルールにしたがって、1つまたは複数のスライスを含むビデオとビデオのビットストリームとの間の変換を実行すること862を含み、フォーマットルールは、第1のレベルにおける1つまたは複数の一般制約フラグの値がピクチャパラメータセット(PPS)中の1つまたは複数のシンタックス要素の値を制約することを指定する、方法。
64.フォーマットルールは、1つまたは複数の一般制約フラグの値に基づいて、PPS中の1つまたは複数のシンタックス要素の値が特定の値に等しくなるようにビットストリーム制約が追加されることを指定する、第63項に記載の方法。
65.各ピクチャが1つのタイルのみを含むことを一般制約フラグが示す場合、明示的に提供されるタイトル列幅の数-1、および/または明示的に提供されるタイル行高さの数-1、および/またはスライス内のタイルがラスタスキャン順であるかどうかを示すフラグを含む1つまたは複数のシンタックス要素の値は0に等しいことが要求される、第63項または第64項に記載の方法。
66.one_tile_per_pic_constraint_flagである一般制約フラグが1に等しい場合、num_exp_tile_columns_minus1、および/またはnum_exp_tile_rows_minus1、および/またはrect_slice_flagを含む1つまたは複数のシンタックス要素の値は0に等しいことが要求される、第63項または第64項に記載の方法。
67.一般制約フラグが1に等しい場合、スライス内のタイルがラスタスキャン順であるかどうかを示すフラグの値は1に等しいことが要求される、第64項に記載の方法。
68.one_slice_per_pic_constraint_flagが1に等しい場合、rect_slice_flagであるシンタックス要素の値は1に等しいことが要求される、第63項または第64項に記載の方法。
69.一般制約フラグが1に等しい場合、PPSを参照する各ピクチャにピクチャパーティショニングが適用されないことを示すシンタックス要素の値が1に等しいことが要求される、第64項に記載の方法。
70.one_tile_per_pic_constraint_flagおよびone_slice_per_pic_constraint flagが1に等しい場合、no_pic_partition_flagであるシンタックス要素の値は1に等しいことが要求される、第63項または第64項に記載の方法。
71.イントラ予測のみが許可されることを示すフラグが1に等しい場合、1)PPSを参照するピクチャのためのスライスヘッダまたはPHレベルにおける参照ピクチャリストに関連するパラメータの存在を示すフラグと、2)ビデオユニットを復号するために使用される参照ピクチャリスト0およびリスト1の各々に対する最大参照インデックスの推測値を示すパラメータとを含む1つまたは複数のシンタックス要素の値は0に等しいことが要求される、第63項に記載の方法。
72.intra_only_constraint flagが1に等しい場合、rpl1_idx_present_flagおよびnum_ref_idx_default_active_minus1[ ]を含む1つまたは複数のシンタックス要素の値は0に等しいことが要求される、第63項または第64項に記載の方法。
73.ビデオ処理の方法(例えば、図8Gに示されているような方法870)であって、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行することを含み、フォーマットルールは、SPS(シーケンスパラメータセット)レベルにおけるSPSシンタックス要素および/またはPPS(ピクチャパラメータセット)レベルにおけるPPSシンタックス要素の値または出現が、SPSレベル、PPSレベル、PH(ピクチャヘッダ)レベル、またはSH(スライスヘッダ)レベルにおける1つまたは複数の関連シンタックス要素の包含を制御することを指定する、方法。
74.フォーマットルールは、イントラ予測のみの使用に制約を課すべきかどうかを示すフラグが1に等しい場合、SPSシンタックス要素および/またはPPSシンタックス要素がビットストリームから省略されることを指定する、第73項に記載の方法。
75.フラグが1に等しい場合、SPSシンタックス要素の値および/またはPPSシンタックス要素の値は1に等しいと推測される、第74項に記載の方法。
76.フォーマットルールは、SPSシンタックス要素の値が1に等しい場合、1つまたは複数の関連シンタックス要素のうちの1つであり、SPSレベルに含まれるインター予測関連シンタックス要素がビットストリームから省略されることを指定する、第73項に記載の方法。
77.SPSシンタックス要素が1に等しい場合、インター予測関連シンタックス要素の値は特定の値に等しいと推測される、第76項に記載の方法。
78.フォーマットルールは、SPSシンタックス要素および/またはPPSシンタックス要素の値が1である場合、PHレベルに含まれるインター予測関連シンタックス要素および/またはSHレベルに含まれる参照ピクチャリスト(RPL)関連シンタックス要素がビットストリームから省略されることを指定する、第73項に記載の方法。
79.PHレベルに含まれるインター予測関連シンタックス要素は、ピクチャのすべてのコーディングされたスライスが特定のスライスタイプを有するかどうかを示すフラグに対応し、SHレベルに含まれるRPL関連シンタックス要素は、Pタイプに対する最大参照ピクチャリストインデックスを記述するパラメータまたはBタイプに対する最大参照ピクチャリストインデックスを記述する別のパラメータがスライスヘッダに存在するかどうかを示すフラグに対応する、第78項に記載の方法。
80.PHレベルに含まれるインター予測関連シンタックス要素はph_inter_slice_allowed_flagに対応し、SHレベルに含まれるRPL関連シンタックス要素はnum_ref_idx_active_override_flagに対応する、第78項に記載の方法。
81.RPL関連シンタックス要素は、参照ピクチャリストに関連するシンタックス構造内にあり、PHレベルおよび/またはSHレベルに含まれる、第78項に記載の方法。
82.RPL関連シンタックス要素は、PHレベルおよび/またはSHレベルに含まれるref_pic_lists( )およびref_pic_list_struct(listIdx,rplsIdx)を含むシンタックス構造内にある、第78項に記載の方法。
83.SPSシンタックス要素および/またはPPSシンタックス要素が1である場合、インター予測関連シンタックス要素および/またはRPL関連シンタックス要素の値は特定の値に等しいと推測される、第78項に記載の方法。
84.フォーマットルールは、PPSシンタックス要素の値が1に等しい場合、対応するPPSシンタックス要素がビットストリームから省略されることを指定する、第73項に記載の方法。
85.対応するPPSシンタックス要素は、1)PPSを参照するピクチャのためのスライスヘッダまたはPHレベルにおける参照ピクチャリストに関連するパラメータの存在を示すフラグ、または2)ビデオユニットを復号するために使用される参照ピクチャリスト0およびリスト1の各々に対する最大参照インデックスの推測値を示すパラメータである、第84項に記載の方法。
86.対応するPPSシンタックス要素は、rpl1_idx_present_flagまたはnum_ref_idx_default_active_minus1[ ]である、第84項に記載の方法。
87.フォーマットルールは、PPSシンタックス要素が1に等しい場合、対応するPPSシンタックス要素の値が特定の値に等しいと推測されることを指定する、第84項に記載の方法。
88.フォーマットルールは、イントラ予測のみの使用に制約を課すべきかどうかを示すフラグが1に等しい場合、SPSレベルおよび/またはPPSシンタックス要素の値が1に等しいことを要求するためにビットストリーム制約が追加されることを指定する、第73項に記載の方法。
89.イントラ予測のみの使用に制約を課すべきかどうかを示すフラグは、intra_only_constraint_flagに対応する、第74項、第75項、または第88項に記載の方法。
90.フォーマットルールは、SPSシンタックス要素および/またはPPSシンタックス要素の値に基づいて、1つまたは複数の関連シンタックス要素の各々の値が特定の値に等しいというビットストリーム制約が追加されることを指定する、第73項に記載の方法。
91.フォーマットルールは、SPSシンタックス要素が1に等しい場合、PPSシンタックス要素の値が1に等しくなるようにビットストリーム制約が追加されることを指定する、第90項に記載の方法。
92.フォーマットルールは、SPSシンタックス要素が1に等しい場合、SPSレベルにおけるインター予測関連シンタックス要素の値が0に等しくなるようにビットストリーム制約が追加されることを指定する、第90項に記載の方法。
93.フォーマットルールは、SPSシンタックス要素またはPPSシンタックス要素が1に等しい場合、PPSレベルにおけるインター予測関連シンタックス要素の値が0に等しくなるようにビットストリーム制約が追加されることを指定する、第90項に記載の方法。
94.フォーマットルールは、SPSシンタックス要素および/またはPPSシンタックス要素が1に等しい場合、PHレベルおよび/またはSHレベルに含まれるインター予測関連シンタックス要素および/またはRPL関連シンタックス要素の値が特定の値に等しくなるようにビットストリーム制約が追加されることを指定する、第90項に記載の方法。
95.変換は、ビデオをビットストリームに符号化することを含む、第1項から第94項のいずれかに記載の方法。
96.変換は、ビットストリームからビデオを復号することを含む、第1項から第94項のいずれかに記載の方法。
97.変換は、ビデオからビットストリームを生成することを含み、方法は、非一時的コンピュータ可読記録媒体にビットストリームを記憶することをさらに含む、第1項から第94項のいずれかに記載の方法。
98.第1項から第97項のいずれか1つまたは複数に記載の方法を実装するように構成されたプロセッサを備えるビデオ処理装置。
99.ビデオのビットストリームを記憶する方法であって、第1項から第97項のいずれか1つに記載の方法を備え、ビットストリームを非一時的コンピュータ可読記録媒体に記憶することをさらに含む、方法。
100.実行されると、プロセッサに、第1項から第97項のいずれか1つまたは複数に記載の方法を実施させるプログラムコードを記憶するコンピュータ可読媒体。
101.上記で説明した方法のいずれかにしたがって生成されたビットストリームを記憶するコンピュータ可読媒体。
102.ビットストリーム表現を記憶するためのビデオ処理装置であって、第1項から第97項のいずれか1つまたは複数に記載の方法を実施するように構成されたビデオ処理装置。
条項の第4のセットは、前のセクション(例えば、項目6~9)で説明した技法の例示的な実施形態を示す。
1.ビデオ処理の方法(例えば、図9Aに示されているような方法910)であって、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行すること912を含み、フォーマットルールは、対応するシンタックス要素がシーケンスパラメータセット(SPS)および/もしくはピクチャパラメータセット(PPS)および/もしくはピクチャヘッダ(PH)および/もしくはスライスヘッダ(SH)に含まれるかどうかを示す1つもしくは複数の一般制約フラグを、ビデオに関連付けられた一般制約シンタックス構造中に含めること、またはSPSおよび/もしくはPPSおよび/もしくはPHおよび/もしくはSH中のシンタックス要素の値を制約することを指定する、方法。
2.1つまたは複数の一般制約フラグは、レイヤ間予測を無効にするための、および/または1つのレイヤのみを許可するための、および/またはSPS中の対応するシンタックス要素の値もしくは出現を制御するためのフラグを含む、第1項に記載の方法。
3.1つまたは複数の一般制約フラグは、長期参照を無効にするための、および/またはSPS中の対応するシンタックス要素の値もしくは出現を制御するためのフラグを含む、第1項に記載の方法。
4.1つまたは複数の一般制約フラグは、32×32に等しい最大変換サイズを無効にするための、および/またはSPS中の対応するシンタックス構造の値もしくは出現を制御するためのフラグを含む、第1項に記載の方法。
5.1つまたは複数の一般制約フラグは、マージ推定領域(MER)を無効にするための、および/またはSPS中の対応するシンタックス構造の値もしくは出現を制御するためのフラグを含む、第1項に記載の方法。
6.1つまたは複数の一般制約フラグは、ウェーブフロント並列処理エントリオフセットの存在を無効にするための、および/またはSPS中の対応するシンタックス構造の値もしくは出現を制御するためのフラグを含む、第1項に記載の方法。
7.1つまたは複数の一般制約フラグは、エントロピーコーディング同期点を無効にするための、および/またはSPS中の対応するシンタックス構造の値もしくは出現を制御するためのフラグを含む、第1項に記載の方法。
8.1つまたは複数の一般制約フラグは、Pスライスのための重み付け予測を無効にするための、および/またはSPS中の対応するシンタックス要素の値もしくは出現を制御するためのフラグを含む、第1項に記載の方法。
9.1つまたは複数の一般制約フラグは、Bスライスのための重み付き双予測を無効にするための、および/またはSPS中の対応するシンタックス要素の値もしくは出現を制御するためのフラグを含む、第1項に記載の方法。
10.1つまたは複数の一般制約フラグは、対称動きベクトル差分を無効にするための、および/またはSPS中の対応するシンタックス要素の値もしくは出現を制御するためのフラグを含む、第1項に記載の方法。
11.1つまたは複数の一般制約フラグは、動きベクトル差分を用いたマージモードを無効にするための、および/またはSPS中の対応するシンタックス要素の値もしくは出現を制御するためのフラグを含む、第1項に記載の方法。
12.1つまたは複数の一般制約フラグは、サブパーティションを用いたイントラ予測を無効にするための、および/またはSPS中の対応するシンタックス要素の値もしくは出現を制御するためのフラグを含む、第1項に記載の方法。
13.1つまたは複数の一般制約フラグは、複数の参照ラインを用いたイントラ予測を無効にするための、および/またはSPS中の対応するシンタックス要素の値もしくは出現を制御するためのフラグを含む、第1項に記載の方法。
14.1つまたは複数の一般制約フラグは、行列ベースのイントラ予測を無効にするための、および/またはSPS中の対応するシンタックス要素の値もしくは出現を制御するためのフラグを含む、第1項に記載の方法。
15.1つまたは複数の一般制約フラグは、パレットコーディングモードを無効にするための、および/またはSPS中の対応するシンタックス要素の値もしくは出現を制御するためのフラグを含む、第1項に記載の方法。
16.1つまたは複数の一般制約フラグは、適応色変換を無効にするための、および/またはSPS中の対応するシンタックス要素の値もしくは出現を制御するためのフラグを含む、第1項に記載の方法。
17.1つまたは複数の一般制約フラグは、クロマスケーリングを伴うルーママッピングを無効にするための、および/またはSPS中の対応するシンタックス要素の値もしくは出現を制御するためのフラグを含む、第1項に記載の方法。
18.1つまたは複数の一般制約フラグは、低周波数非分離可能変換を無効にするための、および/またはSPS中の対応するシンタックス要素の値もしくは出現を制御するためのフラグを含む、第1項に記載の方法。
19.1つまたは複数の一般制約フラグは、スケーリングリストを無効にするための、および/またはSPS中の対応するシンタックス要素の値もしくは出現を制御するためのフラグを含む、第1項に記載の方法。
20.1つまたは複数の一般制約フラグは、仮想境界を無効にするための、および/またはSPS中の対応するシンタックス要素の値もしくは出現を制御するためのフラグを含む、第1項に記載の方法。
21.1つまたは複数の一般制約フラグは、Pスライスのための重み付け予測およびBスライスのための重み付き双予測を無効にするための、および/またはSPS中の対応するシンタックス要素を制御するためのフラグを含む、第1項に記載の方法。
22.フォーマットルールは、一般制約フラグが1に等しく、SPSおよび/またはPHおよび/またはSH中の対応するシンタックス要素が省略されることを指定する、第1項に記載の方法。
23.フォーマットルールは、対応するシンタックス要素が存在しない場合、対応するシンタックス要素の値が特定の値に等しいと推測されることを指定する、第22項に記載の方法。
24.フォーマットルールは、一般制約フラグが1に等しい場合、対応するシンタックス要素の値が特定の値に等しくなるようにビットストリーム制約が追加されることを指定する、第22項に記載の方法。
25.フォーマットルールは、no aps constraint flagが1に等しい場合、適応パラメータセット(APS)に関連する1つまたは複数の一般制約フラグの値が1であることが要求されることを指定する、第22項に記載の方法。
26.フォーマットルールは、イントラ予測のみの使用に制約を課すべきかどうかを示すフラグが1に等しい場合、適応パラメータセット(APS)に関連する1つまたは複数の一般制約フラグの値が1であることが要求されることを指定する、第22項に記載の方法。
27.ビデオ処理の方法(例えば、図9Bに示されているような方法920)であって、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行すること922を含み、フォーマットルールは、ビデオパラメータセット(VPS)および/またはシーケンスパラメータセット(SPS)および/またはピクチャパラメータセット(PPS)の識別子のための1つまたは複数のシンタックス要素を含む、ビデオに関連付けられた適応パラメータセット(APS)の使用を指定する、方法。
28.フォーマットルールは、1つまたは複数の制約フラグが、適応パラメータセット中の1つまたは複数のシンタックス要素の値および/または出現を制御することを指定する、第27項に記載の方法。
29.適応パラメータセット中の1つまたは複数のシンタックス要素の値のうちの少なくとも1つは、1)APSのための特定のネットワークアブストラクションレイヤ(NAL)ユニットタイプに関してNALユニットに制約を課すべきかどうかを示す第1のフラグが0に等しい場合、2)適応ループフィルタ(ALF)の適用可能性を示す第2のフラグが1に等しい場合、および/または3)第1のフラグが0に等しく、第2のフラグが1に等しい場合、1に等しい、第28項に記載の方法。
30.フォーマットルールは、適応パラメータセット中の1つまたは複数のシンタックス要素の値が、適応パラメータセットに対応し、ALFパラメータに等しいパラメータタイプを有するAPS NAL(ネットワークアブストラクションレイヤ)ユニットがあるかどうかに基づくことを指定する、第27項に記載の方法。
31.フォーマットルールは、適応パラメータセット中の1つまたは複数のシンタックス要素の値が、対応するSPSまたはPPSの識別子に基づいて、そのSPSまたはPPSに関連付けられたシンタックス要素の値に依存することを指定する、第27項に記載の方法。
32.フォーマットルールは、APSに対して制約なしを示すno aps constraint flagが1に等しい場合、適応ループフィルタ(ALF)パラメータ、LMCS(クロマスケーリングを伴うルーママッピング)パラメータ、スケーリングリストパラメータを含むシンタックス構造に関連付けられたシンタックス要素を送らないように、ビットストリーム制約が追加されることを指定する、第27項に記載の方法。
33.ビデオ処理の方法(例えば、図9Cに示されているような方法930)であって、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行すること932を含み、フォーマットルールは、ビデオに関連付けられた一般制約情報シンタックス構造中の情報の冗長指示の使用を指定する、方法。
34.情報が適用可能であるプロファイル、レベル、またはティアについて情報の適用可能性が、¥示される、第33項に記載の方法。
35.フォーマットルールは、情報がシーケンスパラメータセットに含まれることを指定する、第33項に記載の方法。
36.フォーマットルールは、情報がビデオパラメータセットに含まれることを指定する、第33項に記載の方法。
37.フォーマットルールは、ビデオパラメータセットがない場合、コード化レイヤビデオシーケンスのためのシーケンスパラメータセットに含まれる情報を使用するためにビットストリーム制約が追加されることを指定する、第33項に記載の方法。
38.ビデオ処理の方法であって、フォーマットルールにしたがってビデオとビデオのビットストリームとの間の変換を実行することを含み、フォーマットルールは、ビットストリームの特性に基づいて、一般制約情報を搬送する一般制約構造を示すべきかどうか、および/またはどのように示すかを指定する、方法。
39.ビットストリームの特性は、変換に使用されるプロファイルまたはレベルまたはティアまたはサブプロファイルを含む、第38項に記載の方法。
40.フォーマットルールは、一般制約情報が適用可能であるプロファイル・ティア・レベルシンタックス構造に一般制約構造が含まれることを指定する、第39項に記載の方法。
41.一般制約情報は、プロファイル・ティア・レベルシンタックス構造において示される制約に加えて適用される少なくともいくつかのコーディングツールに関する追加の制約を示す、第39項に記載の方法。
42.フォーマットルールは、一般制約構造に含まれる一般制約シンタックス要素に関連付けられた特定の態様について、一般制約シンタックス要素が、プロファイルおよびサブプロファイルによって示される制約よりも厳しいかまたは同じである、特定の態様に関する制約を示す値を有することを指定する、第39項に記載の方法。
43.フォーマットルールは、一般制約構造に含まれる一般制約シンタックス要素に関連付けられた特定の態様について、プロファイル、サブプロファイル、および一般制約シンタックス要素によって示される最も厳しい制約が変換に適用されることを指定する、第39項に記載の方法。
44.フォーマットルールは、特定のプロファイルおよび/または特定のサブプロファイルおよび/または特定のレベルおよび/または特定のティアについて一般制約情報がシグナリングされないことと、一般制約パラメータが、特定のプロファイルおよび/または特定のレベルおよび/または特定のティアに基づいて、あらかじめ定義された値であると推測されることとを指定する、第39項に記載の方法。
45.フォーマットルールは、一般制約情報がシグナリングされるが、特定のプロファイルおよび/または特定のサブプロファイルおよび/または特定のレベルおよび/または特定のティアについて無視されることと、一般制約フラグが、特定のプロファイルおよび/または特定のレベルおよび/または特定のティアに基づいて、あらかじめ定義された値であると推測されることとを指定する、第39項に記載の方法。
46.フォーマットルールは、一般制約情報がシグナリングされるが、特定のプロファイルおよび/または特定のサブプロファイルおよび/または特定のレベルおよび/または特定のティアについて無視されることと、一般制約フラグが、特定のプロファイルおよび/または特定のレベルおよび/または特定のティアに基づいて、あらかじめ定義された値に等しいこととを指定する、第39項に記載の方法。
47.フォーマットルールは、一般制約情報が、特定のプロファイルおよび/または特定のサブプロファイルおよび/または特定のレベルおよび/または特定のティアについてシグナリングされることと、コーディングツールを適用するべきかどうかおよび/またはどのように適用するかが、特定のプロファイルおよび/または特定のレベルおよび/または特定のティアにおける仕様の代わりに、対応する一般制約フラグによって決定されることとを指定する、第39項に記載の方法。
48.フォーマットルールは、コーディングツールがプロファイルおよび/またはサブプロファイルおよび/またはレベルおよび/またはティアにおいてオフにされるように指定される場合、コーディングツールに関連付けられた一般制約パラメータが特定の値に等しく設定されることを指定する、第39項に記載の方法。
49.フォーマットルールは、コーディングツールがプロファイルおよび/またはサブプロファイルおよび/またはレベルおよび/またはティアにおいてオフにされるように指定される場合、コーディングツールに関連付けられた一般制約パラメータが無視され、特定の値であると推測されることを指定する、第39項に記載の方法。
50.フォーマットルールは、コーディングツールがプロファイルおよび/またはサブプロファイルおよび/またはレベルおよび/またはティアにおいてオフにされるように指定される場合、コーディングツールに関連付けられた一般制約パラメータが省略され、特定の値であると推測されることを指定する、第39項に記載の方法。
51.フォーマットルールは、オールイントラコーディングを示すプロファイルおよび/またはサブプロファイルの場合、イントラ予測のみの使用に制約を課すべきかどうかを示すフラグが1に等しいことを指定する、第39項に記載の方法。
52.変換は、ビデオをビットストリームに符号化することを含む、第1項から第51項のいずれかに記載の方法。
53.変換は、ビットストリームからビデオを復号することを含む、第1項から第51項のいずれかに記載の方法。
54.変換は、ビデオからビットストリームを生成することを含み、方法は、非一時的コンピュータ可読記録媒体にビットストリームを記憶することをさらに含む、第1項から第51項のいずれかに記載の方法。
55.第1項から第54項のいずれか1つまたは複数に記載の方法を実装するように構成されたプロセッサを備えるビデオ処理装置。
56.ビデオのビットストリームを記憶する方法であって、第1項から第54項のいずれか1つに記載の方法を含み、ビットストリームを非一時的コンピュータ可読記録媒体に記憶することをさらに含む、方法。
57.実行されると、プロセッサに、第1項から第54項のいずれか1つまたは複数に記載の方法を実施させるプログラムコードを記憶するコンピュータ可読媒体。
58.上記で説明した方法のいずれかにしたがって生成されたビットストリームを記憶するコンピュータ可読媒体。
59.ビットストリーム表現を記憶するためのビデオ処理装置であって、第1項から第54項のいずれか1つまたは複数に記載の方法を実施するように構成されたビデオ処理装置。
本文書では、「ビデオ処理」という用語は、ビデオ符号化、ビデオ復号、ビデオ圧縮、またはビデオ解凍を指し得る。例えば、ビデオ圧縮アルゴリズムは、ビデオのピクセル表現から対応するビットストリーム表現への、またはその逆の変換中に適用され得る。現在のビデオブロックのビットストリーム表現は、例えば、シンタックスによって定義されるように、ビットストリーム内の異なる箇所に拡散されているかコロケートされているビットに対応し得る。例えば、マクロブロックは、変換およびコーディングされた誤差残差値に関して、また、ビットストリーム内のヘッダおよび他のフィールド内のビットを使用して、符号化され得る。さらに、変換中に、デコーダは、上記のソリューションで説明したように、決定に基づいて、いくつかのフィールドが存在し得ることまたは存在しないことについての知識を用いてビットストリームを解析し得る。同様に、エンコーダは、特定のシンタックスフィールドが含まれるべきか否かを決定し、それに応じて、シンタックスフィールドをコード化表現に含めることまたはそれから除外することによって、コード化表現を生成し得る。
本文書で説明される開示されたおよび他のソリューション、例、実施形態、モジュール、および機能的動作は、本文書で開示された構造およびそれらの構造的同等物を含む、デジタル電子回路において、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらのうちの1つもしくは複数から構成される組合せにおいて実装され得る。開示された実施形態および他の実施形態は、1つまたは複数のコンピュータプログラム製品、すなわち、データ処理装置による実行のために、またはデータ処理装置の動作を制御するためにコンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。コンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝搬信号をもたらす組成物、またはそれらの1つもしくは複数から構成される組合せであり得る。「データ処理装置」という用語は、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を包含する。装置は、ハードウェアに加えて、当該コンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つまたは複数から構成される組合せを構成するコードを含むことができる。伝搬信号は、適切な受信機装置への送信のために情報を符号化するために生成される人工的に生成された信号、例えば、機械生成された電気信号、光信号、または電磁信号である。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイラ型言語またはインタープリタ型言語を含む任意の形態のプログラミング言語で書かれ得、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境での使用に適した他のユニットとしてなど、任意の形態で展開され得る。コンピュータプログラムは、ファイルシステム内のファイルに必ずしも対応しない。プログラムは、他のプログラムまたはデータ(例えば、マークアップ言語文書に記憶された1つまたは複数のスクリプト)を保持するファイルの一部に、当該プログラム専用の単一ファイルに、または複数の協調ファイル(例えば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに位置するかもしくは複数のサイトにわたって分散されており、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開され得る。
本文書で説明されるプロセスおよび論理フローは、1つまたは複数のプログラマブルプロセッサが、1つまたは複数のコンピュータプログラムを実行して、入力データに対して動作することと出力を生成することとによって機能を実行することによって実行され得る。プロセスおよび論理フローはまた、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行され得、装置もまた、専用論理回路、例えば、FPGAまたはASICとして実装され得る。
コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサおよび専用マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読取り専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含むか、またはそれからのデータの受信もしくはそれへのデータの転送またはその両方を行うように動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、例えば、内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完され得るか、またはそれに組み込まれ得る。
本特許文書は多くの詳細を含んでいるが、これらは、任意の主題の範囲または特許請求され得るものの範囲に対する限定として解釈されるべきではなく、むしろ、特定の技法の特定の実施形態に特有であり得る特徴の説明として解釈されるべきである。別個の実施形態の文脈において本特許文書で説明される特定の特徴は、組み合わせて単一の実施形態に実装され得る。逆に、単一の実施形態の文脈で説明されている様々な特徴を、別々にまたは任意の適切な部分組合せで複数の実施形態に実装することもできる。さらに、特徴は、特定の組合せで機能するものとして上記で説明され、最初にそのように特許請求され得るが、特許請求される組合せからの1つまたは複数の特徴は、場合によっては、その組合せから削除され得、特許請求される組合せは、部分組合せまたは部分組合せの変形を対象とし得る。
同様に、動作は図面では特定の順序で示されているが、これは、望ましい結果を達成するために、そのような動作が図示された特定の順序でもしくは連続的な順序で実行されること、またはすべての図示された動作が実行されることを要求するものと理解されるべきではない。さらに、本特許文書で説明される実施形態における様々なシステム構成要素の分離は、すべての実施形態においてそのような分離を要求するものと理解されるべきではない。
説明されているのはほんのわずかな実装形態および例であり、本特許文書において説明および図示されるものに基づいて他の実装形態、拡張、および変形がなされ得る。
[関連出願への相互参照]
出願は、2020年2月29日に出願された国際特許出願第PCT/CN2020/077325号の優先権および利益を主張する、2021年2月26日に出願された国際特許出願第PCT/CN2021/078182号に基づく。前述したすべての特許出願は、その全体が参照により本明細書に組み込まれる。

Claims (102)

  1. ビデオ処理の方法であって、
    フォーマットルールにしたがってビデオと前記ビデオのビットストリームとの間の変換を実行することを含み、
    前記フォーマットルールは、シーケンスパラメータセット(SPS)中のシンタックス要素が一般制約フラグの値に基づくかどうかを指定する、
    方法。
  2. 前記フォーマットルールは、スライスのタイプに制約を課す前記一般制約フラグの前記値が1に等しい場合、イントラ関連SPSシンタックス要素である前記シンタックス要素が除外されることを指定する、請求項1に記載の方法。
  3. 前記一般制約フラグは、イントラ予測のみの使用に制約を課すべきかどうかを示す、請求項2に記載の方法。
  4. 前記一般制約フラグはintra_only_constraint_flagである、請求項2に記載の方法。
  5. 前記フォーマットルールは、前記一般制約フラグの前記値が1に等しい場合、前記SPS中の前記シンタックス要素が省略されることを指定する、請求項1に記載の方法。
  6. 前記一般制約フラグの前記値が1に等しい場合、前記シンタックス要素の値は0に等しいと推測される、請求項5に記載の方法。
  7. 前記シンタックス要素は、GDR(漸次復号リフレッシュ)ピクチャが有効にされ、前記SPSを参照するコード化レイヤビデオシーケンス(CLVS)に存在するかどうかを示し、前記一般制約フラグは、GDRに関してネットワークアブストラクションレイヤ(NAL)ユニットに制約を課すべきかどうかを示す、請求項5に記載の方法。
  8. 前記シンタックス要素gdr_enabled_flagおよび前記一般制約フラグは、no_gdr_constraint_flagである、請求項5に記載の方法。
  9. 前記シンタックス要素は、適応ループフィルタ(ALF)の適用可能性を示し、前記一般制約フラグは、前記ALFの使用に制約を課すべきかどうかを示す、請求項5に記載の方法。
  10. 前記シンタックス要素sps_alf_enabled_flag、および前記一般制約フラグはno_alf_constraint_flagである、請求項5に記載の方法。
  11. 前記シンタックス要素が、大ブロック適応デブロッキング(ladf)の有効化を示すフラグ、解像度変更なしを示すフラグ、デュアルツリーの適用可能性を示すフラグ、パーティション制約オーバーライドの有効化を示すフラグ、ジョイントCbCrの有効化を示すフラグ、サンプル適応オフセット(SAO)の有効化を示すフラグ、クロス成分適応ループフィルタ(CCALF)の有効化を示すフラグ、変換スキップの有効化を示すフラグ、bdpcm(block based differential pulse code modulation)の有効化を示すフラグ、ラップアラウンド動き補償の有効化を示すフラグ、時間的動きベクトル予測(mvp)の有効化を示すフラグ、サブブロックベースの時間的動きベクトル予測(sbTMVP)の有効化を示すフラグ、適応動きベクトル解像度(AMVR)を示すフラグ、双方向オプティカルフローの有効化を示すフラグ、デコーダ側動きベクトルリファインメント(dmvr)の有効化を示すフラグ、クロス成分線形モデル(CCLM)の有効化を示すフラグ、MTS(multiple transform selection)の有効化を示すフラグ、サブブロック変換(sbt)の有効化を示すフラグ、アフィン動き補償の有効化を示すフラグ、bcw(bi-prediction with CU-level weights)の有効化を示すフラグ、イントラブロックコピー(ibc)の有効化を示すフラグ、CIIP(enhanced combined inter-intra prediction)の有効化を示すフラグ、整数サンプル精度を使用する動きベクトル差分を用いたマージの有効化を示すフラグ、従属量子化の有効化を示すフラグ、符号ビット隠蔽の有効化を示すフラグ、または幾何学的パーティションベースの動き補償の有効化を示すフラグを含む、請求項5に記載の方法。
  12. 前記一般制約フラグは、前記シンタックス要素に含まれる前記フラグにおいて示されるコーディング特性に制約を課すべきかどうかを示す、請求項11に記載の方法。
  13. 前記シンタックス要素は、sps_ladf_enabled_flag、no_res_change_in_clvs_constraint_flag、qtbtt_dual_tree_intra_flag、partition_constraints_override_enabled_flag、sps_joint_cbcr_enabled_flag、sps_sao_enabled_flag、sps_ccalf_enabled_flag、sps_transform_skip_enabled_flag、sps_bdpcm_enabled_flag、sps_ref_wraparound_enabled_flag、sps_temporal_mvp_enabled_flag、sps_sbtmvp_enabled_flag、sps_amvr_enabled_flag、sps_bdof_enabled_flag、sps_dmvr_enabled_flag、sps_cclm_enabled_flag、sps_mts_enabled_flag、sps_sbt_enabled_flag、sps_affine_enabled_flag、sps_bcw_enabled_flag、sps_ibc_enabled_flag、sps_ciip_enabled_flag、sps_fpel_mmvd_enabled_flag、sps_dep_quant_enabled_flag、またはsps_sign_data_hiding_enabled_flag、sps_gpm_enabled_flagを含み、前記一般制約フラグは、no_ladf_constraint_flag、no_qtbtt_dual_tree_intra_constraint_flag、no_partition_constraints_override_constraint_flag、no_joint_cbcr_constraint_flag、no_sao_constraint_flag、no_ccalf_constraint_flag、no_transform_skip_constraint_flag、no_bdpcm_constraint_flag、no_ref_wraparound_constraint_flag、no_temporal_mvp_constraint_flag、no_sbtmvp_constraint_flag、no_amvr_constraint_flag、no_bdof_constraint_flag、no_dmvr_constraint_flag、no_cclm_constraint_flag、no_mts_constraint_flag、no_sbt_constraint_flag、no_affine_motion_constraint_flag、no_bcw_constraint_flag、no_ibc_constraint_flag、no_ciip_constraint_flag、no_fpel_mmvd_constraint_flag、no_dep_quant_constraint_flag、no_sign_data_hiding_constraint_flag、またはno_gpm_constraint_flagを含む、請求項5に記載の方法。
  14. ビデオ処理の方法であって、
    フォーマットルールにしたがってビデオと前記ビデオのビットストリームとの間の変換を実行することを含み、
    前記フォーマットルールは、一般制約フラグの値に基づいて、シーケンスパラメータセット(SPS)中のシンタックス要素の値が特定の値に等しいことを指定する、
    方法。
  15. 前記一般制約フラグの前記値が1に等しい場合、前記SPS中の前記シンタックス要素の前記値が0に等しくなるようにビットストリーム制約が追加される、請求項14に記載の方法。
  16. 前記一般制約フラグがGDRに関してネットワークアブストラクションレイヤ(NAL)ユニットに制約を課すべきかどうかを示す場合、前記SPS中の前記シンタックス要素は、GDR(漸次復号リフレッシュ)ピクチャが有効にされ、前記SPSを参照するコード化レイヤビデオシーケンス(CLVS)に存在するかどうかを示すフラグである、請求項15に記載の方法。
  17. 前記SPS中の前記シンタックス要素は、対応する一般制約フラグがno_gdr_constraint_flagである場合、sps_gdr_enabled_flagである、請求項15に記載の方法。
  18. 特定のネットワークアブストラクションレイヤ(NAL)ユニットタイプに関してNALユニットに制約を課すべきかどうかを示すフラグが1に等しい場合、適応パラメータセット(APS)関連SPSシンタックス要素である前記シンタックス要素の前記値が0に等しくなるようにビットストリーム制約が追加される、請求項14に記載の方法。
  19. 前記SPS中の前記APS関連シンタックス要素は、適応ループフィルタ(alf)の適用可能性を示すフラグ、クロス成分適応ループフィルタ(CCALF)の有効化を示すフラグ、クロマスケーリングを伴うルーママッピング(LMCS)の有効化を示すフラグ、または明示的スケーリングリストの有効化を示すフラグである、請求項18に記載の方法。
  20. 前記SPS中の前記APS関連シンタックス要素は、sps_alf_enabled_flag、sps_ccalf_enabled_flag、sps_lmcs_enabled_flag、またはsps_explicit_scaling_list_enabled_flagである、請求項18に記載の方法。
  21. イントラ予測のみの使用に制約を課すべきかどうかを示すフラグが1に等しい場合、インター関連SPSシンタックス要素である前記シンタックス要素の前記値が0に等しくなるように前記ビットストリーム制約が追加される、請求項14に記載の方法。
  22. 前記フラグは、intra_only_constraint_flagに対応する、請求項14に記載の方法。
  23. 前記ビットストリーム制約は、前記一般制約フラグの定義に基づいて表される、請求項14から21のいずれか一項に記載の方法。
  24. ビデオ処理の方法であって、
    フォーマットルールにしたがってビデオと前記ビデオのビットストリームとの間の変換を実行することを含み、
    前記フォーマットルールは、一般制約フラグの値に基づいて、シンタックス要素が、前記ビットストリーム中のピクチャヘッダ(PH)またはスライスヘッダ(SH)に条件付きで含まれることを指定する、
    方法。
  25. 前記フォーマットルールは、イントラ予測のみの使用に制約を課すべきかどうかを示す前記一般制約フラグが1に等しい場合、イントラ関連PHシンタックス要素である前記シンタックス要素が除外されることを指定する、請求項24に記載の方法。
  26. 前記シンタックス要素は、ピクチャのすべてのコーディングされたスライスがIスライスであるかどうかを示すph_inter_slice_allowed_flagである、請求項25に記載の方法。
  27. 前記フォーマットルールは、イントラ予測のみの使用に制約を課すべきかどうかを示す前記一般制約フラグが1に等しい場合、RPL関連SHシンタックス要素である前記シンタックス要素が除外されることを指定する、請求項24に記載の方法。
  28. 前記シンタックス要素は、num_ref_idx_active_override_flagである、請求項25に記載の方法。
  29. 前記フラグが1に等しい場合、前記イントラ関連PHシンタックス要素の前記値または前記RPL関連SHシンタックス要素の前記値は0に等しいと推測される、請求項25または27に記載の方法。
  30. 前記フォーマットルールは、イントラ予測のみの使用に制約を課すべきかどうかを示すフラグが1である場合、前記PHレベルまたは前記SHレベルに含まれる参照ピクチャリストに関連するシンタックス構造内の前記シンタックス要素が除外されることを指定する、請求項24に記載の方法。
  31. 前記フォーマットルールは、イントラ予測のみの使用に制約を課すべきかどうかを示すフラグが1である場合、前記PHレベルまたは前記SHレベルに含まれる参照ピクチャリストに関連するシンタックス構造内の前記シンタックス要素が除外されることを指定する、請求項24に記載の方法。
  32. イントラ予測のみの使用に制約を課すべきかどうかを示す前記フラグは、intra_only_constraint_flagに対応する、請求項25から31のいずれか一項に記載の方法。
  33. 前記参照ピクチャリストに関連する前記シンタックス構造は、ref_pic_lists()またはref_pic_list_struct(listIdx,rplsIdx)に対応する、請求項30または31に記載の方法。
  34. ビデオ処理の方法であって、
    フォーマットルールにしたがってビデオと前記ビデオのビットストリームとの間の変換を実行することを含み、
    前記フォーマットルールは、一般制約フラグの値に基づいて、ピクチャヘッダ(PH)またはスライスヘッダ(SH)中のシンタックス要素の値が特定の値に等しくなるようにビットストリーム制約が追加されることを指定する、
    方法。
  35. イントラ予測のみの使用に制約を課すべきかどうかを示すフラグである前記一般制約フラグが1に等しい場合、インター関連PHシンタックス要素である前記シンタックス要素の前記値が0に等しくなるように前記ビットストリーム制約が追加される、請求項34に記載の方法。
  36. イントラ予測のみの使用に制約を課すべきかどうかを示すフラグである前記一般制約フラグが1である場合、前記PHまたは前記SHに含まれる参照ピクチャリスト内の前記シンタックス要素の前記値が決して使用されないように前記ビットストリーム制約が追加される、請求項34に記載の方法。
  37. イントラ予測のみの使用に制約を課すべきかどうかを示す前記フラグは、intra_only_constraint_flagに対応する、請求項35または36に記載の方法。
  38. 前記フォーマットルールは、前記シンタックス要素を前記SPSに含めるべきか前記PHに含めるべきか前記SHに含めるべきかを決定するために使用される前記一般制約フラグが、前記SPSレベルにおいて、ピクチャパラメータセット(PPS)レベルにおいて、前記PHレベルにおいて、または前記SHレベルにおいて、新しいシンタックス要素によって置き換えられることをさらに指定する、請求項34から37のいずれか一項に記載の方法。
  39. ビデオ処理の方法であって、
    フォーマットルールにしたがってビデオと前記ビデオのビットストリームとの間の変換を実行することを含み、
    前記フォーマットルールは、前記変換中に課される制約を示すシンタックス構造中の第1の一般制約フラグの値または包含が、前記シンタックス構造中の第2の一般制約フラグの値に基づくことを指定する、
    方法。
  40. 前記フォーマットルールは、前記第1の一般制約フラグの前に現れる前記第2の一般制約フラグの前記値に基づいて、前記第1の一般制約フラグが前記ビットストリームに含まれないことを指定する、請求項39に記載の方法。
  41. 各ピクチャが1つのスライスのみを含むことを前記第2の一般制約フラグの前記値が示す場合、各ピクチャが前記シンタックス構造中に1つのサブピクチャのみを含むかどうかを示すフラグが除外される、請求項39に記載の方法。
  42. one_slice_per_pic_constraint_flagである前記第2の一般制約フラグの前記値が1に等しい場合、前記シンタックス構造中のone_subpic_per_pic_constraint_flagが除外される、請求項39に記載の方法。
  43. 変換スキップの使用に制約を課すべきかどうかを示す前記第2の一般制約フラグの前記値が1に等しい場合、前記シンタックス構造中のbdpcm(block based differential pulse code modulation)の使用に制約を課すべきかどうかを示すフラグが除外される、請求項39に記載の方法。
  44. no_transform_skip_constraint_flagである前記第2の一般制約フラグの前記値が1に等しい場合、前記シンタックス構造中のno_bdpcm_constraint_flagが除外される、請求項39に記載の方法。
  45. イントラ予測のみの使用に課すべきかどうかを示す前記第2の一般制約フラグの前記値が1に等しい場合、前記シンタックス構造中のイントラ関連シンタックス要素が除外される、請求項39に記載の方法。
  46. 前記フォーマットルールは、前記1つまたは複数の第1の制約フラグの前に現れる前記第2の一般制約フラグの前記値に基づいて、前記第1の一般制約フラグの前記値が特定の値に等しいことが要求されるようにビットストリーム制約が追加されることを指定する、請求項39に記載の方法。
  47. イントラ予測のみの使用に制約を課すべきかどうかを示す前記第2の一般制約フラグの前記値が1に等しい場合、インター関連一般制約フラグである前記第1の一般制約フラグの前記値は1に等しいことが要求される、請求項46に記載の方法。
  48. 前記第2の一般制約フラグは、intra_only_constraint_flagに対応する、請求項45または47に記載の方法。
  49. イントラ予測のみの使用に制約を課すべきかどうかを示すフラグである前記第2の一般制約フラグの前記値が1に等しい場合、瞬時復号リフレッシュ(IDR)ピクチャおよびクリーンランダムアクセス(CRA)ピクチャに関連する制約を課すべきかどうかを示す前記第1の一般制約フラグの前記値は0であることが要求される、請求項46に記載の方法。
  50. intra_only_constraint_flagである前記第2の一般制約フラグの前記値が1に等しい場合、no_idr_constraint_flagまたはno_cra_constraint_flagである前記第1の一般制約フラグの値は0に等しいことが要求される、請求項46に記載の方法。
  51. 変換スキップ制約なしを示す前記第2の一般制約フラグの前記値が1に等しい場合、変換スキップの使用に制約を課すべきかどうかを示す前記第1の一般制約フラグの前記値は1に等しいことが要求される、請求項46に記載の方法。
  52. no_transform_skip_constraint_flagである前記第2の一般制約フラグの前記値が1に等しい場合、no_transform_skip_constraint_flagである前記第1の一般制約フラグの前記値は1に等しいことが要求される、請求項46に記載の方法。
  53. 特定のネットワークアブストラクションレイヤ(NAL)ユニットタイプに関してNALユニットに制約を課すべきかどうかの前記第2の一般制約フラグの前記値が1に等しい場合、適応ループフィルタ(alf)の使用に制約を課すべきかどうかを示す前記第1の一般制約フラグの前記値は1に等しいことが要求される、請求項46に記載の方法。
  54. no_aps_constraint_flagである前記第2の一般制約フラグの前記値が1に等しい場合、no_alf_constraint_flagである前記第1の一般制約フラグの前記値は1に等しいことが要求される、請求項46に記載の方法。
  55. 前記フォーマットルールは、いくつかの一般制約フラグの値が特定の値に等しいことを要求するためにビットストリーム制約が追加されることをさらに指定する、請求項39に記載の方法。
  56. 前記フォーマットルールは、制約フィールドの範囲を制約するためにビットストリーム制約が追加されることをさらに指定する、請求項39に記載の方法。
  57. 最大ビット深度IDCを示すシンタックス要素は、0からXの範囲内にあることが要求され、Xは正の整数である、請求項56に記載の方法。
  58. max_bitdepth_constraint_idcは、0からXの範囲内にあることが要求され、Xは正の整数である、請求項56に記載の方法。
  59. X=8である、請求項57または58に記載の方法。
  60. 0よりも大きいmax_bitdepth_constraint_idcは、ビット深度を示すSPS中のシンタックス要素がmax_bitdepth_constraint_idcに基づいて表される範囲内にあることを指定する、請求項58に記載の方法。
  61. 一般プロファイルICを示すシンタックス要素はAに等しく、最大ビット深度IDCを示すシンタックス要素は0からBの範囲内にあることが要求され、AおよびBは正の整数である、請求項56に記載の方法。
  62. general_profile_idcはAに等しく、max_bitdepth_constraint_idcは0からBの範囲内にあることが要求され、AおよびBは正の整数である、請求項56に記載の方法。
  63. ビデオ処理の方法であって、
    フォーマットルールにしたがって、1つまたは複数のスライスを含むビデオと前記ビデオのビットストリームとの間の変換を実行することを含み、
    前記フォーマットルールは、第1のレベルにおける1つまたは複数の一般制約フラグの値がピクチャパラメータセット(PPS)中の1つまたは複数のシンタックス要素の値を制約することを指定する、
    方法。
  64. 前記フォーマットルールは、前記1つまたは複数の一般制約フラグの前記値に基づいて、前記PPS中の前記1つまたは複数のシンタックス要素の前記値が特定の値に等しくなるようにビットストリーム制約が追加されることを指定する、請求項63に記載の方法。
  65. 各ピクチャが1つのタイルのみを含むことを一般制約フラグが示す場合、明示的に提供されるタイトル列幅の数-1、および/または明示的に提供されるタイル行高さの数-1、および/またはスライス内のタイルがラスタスキャン順であるかどうかを示すフラグを含む前記1つまたは複数のシンタックス要素の前記値は0に等しいことが要求される、請求項63または64に記載の方法。
  66. one_tile_per_pic_constraint_flagである一般制約フラグが1に等しい場合、num_exp_tile_columns_minus1、および/またはnum_exp_tile_rows_minus1、および/またはrect_slice_flagを含む前記1つまたは複数のシンタックス要素の前記値は0に等しいことが要求される、請求項63または64に記載の方法。
  67. 前記一般制約フラグが1に等しい場合、スライス内のタイルがラスタスキャン順であるかどうかを示す前記フラグの値は1に等しいことが要求される、請求項64に記載の方法。
  68. one_slice_per_pic_constraint_flagが1に等しい場合、rect_slice_flagであるシンタックス要素の値は1に等しいことが要求される、請求項63または64に記載の方法。
  69. 前記一般制約フラグが1に等しい場合、前記PPSを参照する各ピクチャにピクチャパーティショニングが適用されないことを示すシンタックス要素の値が1に等しいことが要求される、請求項64に記載の方法。
  70. one_tile_per_pic_constraint_flagおよびone_slice_per_pic_constraint flagが1に等しい場合、no_pic_partition_flagであるシンタックス要素の値は1に等しいことが要求される、請求項63または64に記載の方法。
  71. イントラ予測のみが許可されることを示すフラグが1に等しい場合、1)前記PPSを参照するピクチャのためのスライスヘッダまたは前記PHレベルにおける参照ピクチャリストに関連するパラメータの存在を示すフラグと、2)ビデオユニットを復号するために使用される参照ピクチャリスト0およびリスト1の各々に対する最大参照インデックスの推測値を示すパラメータとを含む前記1つまたは複数のシンタックス要素の前記値は0に等しいことが要求される、請求項63に記載の方法。
  72. intra_only_constraint flagが1に等しい場合、rpl1_idx_present_flagおよびnum_ref_idx_default_active_minus1[ ]を含む前記1つまたは複数のシンタックス要素の値は0に等しいことが要求される、請求項63または64に記載の方法。
  73. ビデオ処理の方法であって、
    フォーマットルールにしたがってビデオと前記ビデオのビットストリームとの間の変換を実行することを含み、
    前記フォーマットルールは、SPS(シーケンスパラメータセット)レベルにおけるSPSシンタックス要素および/またはPPS(ピクチャパラメータセット)レベルにおけるPPSシンタックス要素の値または出現が、前記SPSレベル、前記PPSレベル、PH(ピクチャヘッダ)レベル、またはSH(スライスヘッダ)レベルにおける1つまたは複数の関連シンタックス要素の包含を制御することを指定する、
    方法。
  74. 前記フォーマットルールは、イントラ予測のみの使用に制約を課すべきかどうかを示すフラグが1に等しい場合、前記SPSシンタックス要素および/または前記PPSシンタックス要素が前記ビットストリームから省略されることを指定する、請求項73に記載の方法。
  75. 前記フラグが1に等しい場合、前記SPSシンタックス要素の値および/または前記PPSシンタックス要素の値は1に等しいと推測される、請求項74に記載の方法。
  76. 前記フォーマットルールは、前記SPSシンタックス要素の前記値が1に等しい場合、前記1つまたは複数の関連シンタックス要素のうちの1つであり、前記SPSレベルに含まれるインター予測関連シンタックス要素が前記ビットストリームから省略されることを指定する、請求項73に記載の方法。
  77. 前記SPSシンタックス要素が1に等しい場合、前記インター予測関連シンタックス要素の前記値は特定の値に等しいと推測される、請求項76に記載の方法。
  78. 前記フォーマットルールは、前記SPSシンタックス要素および/または前記PPSシンタックス要素の前記値が1である場合、前記PHレベルに含まれるインター予測関連シンタックス要素および/または前記SHレベルに含まれる参照ピクチャリスト(RPL)関連シンタックス要素が前記ビットストリームから省略されることを指定する、請求項73に記載の方法。
  79. 前記PHレベルに含まれる前記インター予測関連シンタックス要素は、ピクチャのすべてのコーディングされたスライスが特定のスライスタイプを有するかどうかを示すフラグに対応し、前記SHレベルに含まれる前記RPL関連シンタックス要素は、Pタイプに対する最大参照ピクチャリストインデックスを記述するパラメータまたはBタイプに対する最大参照ピクチャリストインデックスを記述する別のパラメータがスライスヘッダに存在するかどうかを示すフラグに対応する、請求項78に記載の方法。
  80. 前記PHレベルに含まれる前記インター予測関連シンタックス要素はph_inter_slice_allowed_flagに対応し、前記SHレベルに含まれる前記RPL関連シンタックス要素はnum_ref_idx_active_override_flagに対応する、請求項78に記載の方法。
  81. 前記RPL関連シンタックス要素は、参照ピクチャリストに関連するシンタックス構造内にあり、前記PHレベルおよび/または前記SHレベルに含まれる、請求項78に記載の方法。
  82. 前記RPL関連シンタックス要素は、前記PHレベルおよび/または前記SHレベルに含まれるref_pic_lists( )およびref_pic_list_struct(listIdx,rplsIdx)を含むシンタックス構造内にある、請求項78に記載の方法。
  83. 前記SPSシンタックス要素および/または前記PPSシンタックス要素が1である場合、前記インター予測関連シンタックス要素および/または前記RPL関連シンタックス要素の値は特定の値に等しいと推定される、請求項78に記載の方法。
  84. 前記フォーマットルールは、前記PPSシンタックス要素の前記値が1に等しい場合、対応するPPSシンタックス要素が前記ビットストリームから省略されることを指定する、請求項73に記載の方法。
  85. 前記対応するPPSシンタックス要素は、1)前記PPSを参照するピクチャのためのスライスヘッダまたは前記PHレベルにおける参照ピクチャリストに関連するパラメータの存在を示すフラグ、または2)ビデオユニットを復号するために使用される参照ピクチャリスト0およびリスト1の各々に対する最大参照インデックスの推測値を示すパラメータである、請求項84に記載の方法。
  86. 前記対応するPPSシンタックス要素は、rpl1_idx_present_flagまたはnum_ref_idx_default_active_minus1[ ]である、請求項84に記載の方法。
  87. 前記フォーマットルールは、前記PPSシンタックス要素が1に等しい場合、前記対応するPPSシンタックス要素の値が特定の値に等しいと推測されることを指定する、請求項84に記載の方法。
  88. 前記フォーマットルールは、イントラ予測のみの使用に制約を課すべきかどうかを示すフラグが1に等しい場合、前記SPSレベルおよび/または前記PPSシンタックス要素の前記値が1に等しいことを要求するためにビットストリーム制約が追加されることを指定する、請求項73に記載の方法。
  89. イントラ予測のみの使用に制約を課すべきかどうかを示す前記フラグは、intra_only_constraint_flagに対応する、請求項74、75、または88に記載の方法。
  90. 前記フォーマットルールは、前記SPSシンタックス要素および/または前記PPSシンタックス要素の値に基づいて、前記1つまたは複数の関連シンタックス要素の各々の値が特定の値に等しいというビットストリーム制約が追加されることを指定する、請求項73に記載の方法。
  91. 前記フォーマットルールは、前記SPSシンタックス要素が1に等しい場合、前記PPSシンタックス要素の前記値が1に等しくなるように前記ビットストリーム制約が追加されることを指定する、請求項90に記載の方法。
  92. 前記フォーマットルールは、前記SPSシンタックス要素が1に等しい場合、前記SPSレベルにおけるインター予測関連シンタックス要素の値が0に等しくなるように前記ビットストリーム制約が追加されることを指定する、請求項90に記載の方法。
  93. 前記フォーマットルールは、前記SPSシンタックス要素または前記PPSシンタックス要素が1に等しい場合、前記PPSレベルにおけるインター予測関連シンタックス要素の値が0に等しくなるように前記ビットストリーム制約が追加されることを指定する、請求項90に記載の方法。
  94. 前記フォーマットルールは、前記SPSシンタックス要素および/または前記PPSシンタックス要素が1に等しい場合、前記PHレベルおよび/またはSHレベルに含まれるインター予測関連シンタックス要素および/またはRPL関連シンタックス要素の値が特定の値に等しくなるように前記ビットストリーム制約が追加されることを指定する、請求項90に記載の方法。
  95. 前記変換は、前記ビデオを前記ビットストリームに符号化することを含む、請求項1から94のいずれか一項に記載の方法。
  96. 前記変換は、前記ビットストリームから前記ビデオを復号することを含む、請求項1から94のいずれか一項に記載の方法。
  97. 前記変換は、前記ビデオから前記ビットストリームを生成することを含み、前記方法は、非一時的コンピュータ可読記録媒体に前記ビットストリームを記憶することをさらに含む、請求項1から94のいずれか一項に記載の方法。
  98. 請求項1から97のいずれか一項または複数項に記載の方法を実装するように構成されたプロセッサを備えるビデオ処理装置。
  99. ビデオのビットストリームを記憶する方法であって、請求項1から97のいずれか一項に記載の方法を含み、前記ビットストリームを非一時的コンピュータ可読記録媒体に記憶することをさらに含む、方法。
  100. 実行されると、プロセッサに、請求項1から97のいずれか一項または複数項に記載の方法を実施させるプログラムコードを記憶するコンピュータ可読媒体。
  101. 請求項1から97および99のいずれか一項に記載の方法にしたがって生成されたビットストリームを記憶するコンピュータ可読媒体。
  102. ビットストリーム表現を記憶するためのビデオ処理装置であって、請求項1から97のいずれか一項または複数項に記載の方法を実施するように構成されたビデオ処理装置。
JP2022551568A 2020-02-29 2021-02-26 ハイレベルシンタックス要素のための制約 Active JP7415027B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023182911A JP2024003022A (ja) 2020-02-29 2023-10-25 ハイレベルシンタックス要素のための制約

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2020077325 2020-02-29
CNPCT/CN2020/077325 2020-02-29
PCT/CN2021/078182 WO2021170091A1 (en) 2020-02-29 2021-02-26 Constrains for high level syntax elements

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023182911A Division JP2024003022A (ja) 2020-02-29 2023-10-25 ハイレベルシンタックス要素のための制約

Publications (2)

Publication Number Publication Date
JP2023515185A true JP2023515185A (ja) 2023-04-12
JP7415027B2 JP7415027B2 (ja) 2024-01-16

Family

ID=77490727

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022551568A Active JP7415027B2 (ja) 2020-02-29 2021-02-26 ハイレベルシンタックス要素のための制約
JP2023182911A Pending JP2024003022A (ja) 2020-02-29 2023-10-25 ハイレベルシンタックス要素のための制約

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023182911A Pending JP2024003022A (ja) 2020-02-29 2023-10-25 ハイレベルシンタックス要素のための制約

Country Status (6)

Country Link
US (3) US11838554B2 (ja)
EP (2) EP4097979A4 (ja)
JP (2) JP7415027B2 (ja)
KR (1) KR20220143843A (ja)
CN (3) CN115398913A (ja)
WO (3) WO2021170095A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7383808B2 (ja) 2020-03-05 2023-11-20 キヤノン株式会社 ビデオコーディング及び復号のための高レベルシンタックス

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020263646A1 (en) * 2019-06-24 2020-12-30 Interdigital Vc Holdings, Inc. Method and apparatus for signaling decoding data using high level syntax elements
EP4002848A4 (en) * 2019-07-19 2022-08-31 Wilus Institute of Standards and Technology Inc. VIDEO SIGNAL PROCESSING METHOD AND DEVICE
GB2588406B (en) * 2019-10-22 2022-12-07 British Broadcasting Corp Video encoding and video decoding
WO2021201515A1 (ko) * 2020-04-02 2021-10-07 엘지전자 주식회사 Hls를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 컴퓨터 판독 가능한 기록 매체
US11451811B2 (en) * 2020-04-05 2022-09-20 Tencent America LLC Method and apparatus for video coding
KR20230003029A (ko) * 2020-04-30 2023-01-05 에이치에프아이 이노베이션 인크. 비디오 코딩에서 비트스트림 제약을 부과하기 위한 방법 및 장치
KR20230023709A (ko) * 2020-06-03 2023-02-17 엘지전자 주식회사 영상/비디오 코딩 시스템에서 일반 제한 정보를 처리하는 방법 및 장치
CN116156203A (zh) * 2021-11-22 2023-05-23 中兴通讯股份有限公司 语法元素的编码、解码方法、装置、电子设备和存储介质
WO2023177799A1 (en) * 2022-03-16 2023-09-21 Beijing Dajia Internet Information Technology Co., Ltd. Adaptive picture modifications for video coding
US20230328275A1 (en) * 2022-04-06 2023-10-12 Tencent America LLC Systems and methods for explicit signaling of scaling factors for joint coding of motion vector difference

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983022A (en) 1997-04-10 1999-11-09 Lsi Logic Corporation System and method for using profiles to manage data streams for device verification
US9060174B2 (en) 2010-12-28 2015-06-16 Fish Dive, Inc. Method and system for selectively breaking prediction in video coding
US9277228B2 (en) 2011-07-18 2016-03-01 Qualcomm Incorporated Adaptation parameter sets for video coding
US9204156B2 (en) * 2011-11-03 2015-12-01 Microsoft Technology Licensing, Llc Adding temporal scalability to a non-scalable bitstream
WO2013159335A1 (en) 2012-04-27 2013-10-31 Mediatek Singapore Pte. Ltd. Modifications related to sao and deblocking in hevc
US9716892B2 (en) * 2012-07-02 2017-07-25 Qualcomm Incorporated Video parameter set including session negotiation information
US10075720B2 (en) 2013-10-08 2018-09-11 Sharp Kabushiki Kaisha Image decoding device, image decoding method, image coding device, and image coding method
US9648333B2 (en) 2013-10-11 2017-05-09 Vid Scale, Inc. High level syntax for HEVC extensions
US10284858B2 (en) * 2013-10-15 2019-05-07 Qualcomm Incorporated Support of multi-mode extraction for multi-layer video codecs
CN105981387B (zh) 2013-10-15 2019-09-27 诺基亚技术有限公司 用于处理视频的方法、装置和计算机可读存储介质
US9832481B2 (en) 2014-01-03 2017-11-28 Qualcomm Incorporated Support of base layer of a different codec in multi-layer video coding
WO2015125489A1 (en) * 2014-02-24 2015-08-27 Sharp Kabushiki Kaisha Restrictions on signaling
EP3107299A4 (en) 2014-03-14 2017-04-26 Huawei Technologies Co., Ltd. Image decoding device
WO2015138979A2 (en) 2014-03-14 2015-09-17 Sharp Laboratories Of America, Inc. Dpb capacity limits
US20150264099A1 (en) 2014-03-14 2015-09-17 Sharp Laboratories Of America, Inc. Systems and methods for constraining a bitstream
US9930340B2 (en) 2014-06-20 2018-03-27 Qualcomm Incorporated Systems and methods for selectively performing a bitstream conformance check
US9998765B2 (en) 2014-07-16 2018-06-12 Qualcomm Incorporated Transport stream for carriage of video coding extensions
EP3051486A1 (en) * 2015-01-30 2016-08-03 Thomson Licensing Method and apparatus for encoding and decoding high dynamic range (HDR) videos
JP2018050091A (ja) 2015-02-02 2018-03-29 シャープ株式会社 画像復号装置、画像符号化装置および予測ベクトル導出装置
US10555002B2 (en) 2016-01-21 2020-02-04 Intel Corporation Long term reference picture coding
US10764576B2 (en) 2016-05-04 2020-09-01 Microsoft Technology Licensing, Llc Intra-picture prediction using non-adjacent reference lines of sample values
WO2017195582A1 (en) 2016-05-13 2017-11-16 Sharp Kabushiki Kaisha Temporal sub-layer descriptor
US10523966B2 (en) * 2017-03-31 2019-12-31 Mediatek Inc. Coding transform blocks
MX2020009803A (es) 2018-03-28 2020-10-28 Sony Corp Dispositivo de procesamiento de imagen y metodo de procesamiento de imagen.
US11051036B2 (en) 2018-07-14 2021-06-29 Mediatek Inc. Method and apparatus of constrained overlapped block motion compensation in video coding
US11483575B2 (en) 2018-08-24 2022-10-25 Hfi Innovation Inc. Coding transform coefficients with throughput constraints
US10904574B2 (en) 2018-09-13 2021-01-26 Tencent America LLC Method and device using an out of band end of stream NAL unit in decoding
US11457234B2 (en) 2018-10-08 2022-09-27 Lg Electronics Inc. Apparatus for performing image coding on basis of ATMVP candidate
JP2021513755A (ja) 2019-01-15 2021-05-27 エルジー エレクトロニクス インコーポレイティド 変換スキップフラグを利用した映像コーディング方法及び装置
CN113382261B (zh) * 2019-06-21 2022-05-20 杭州海康威视数字技术股份有限公司 预测模式的解码、编码方法及装置
KR20220017439A (ko) 2019-07-08 2022-02-11 엘지전자 주식회사 스케일링 리스트 파라미터 기반 비디오 또는 영상 코딩
US11303935B2 (en) 2019-07-10 2022-04-12 Qualcomm Incorporated Deriving coding system operational configuration
EP4002848A4 (en) 2019-07-19 2022-08-31 Wilus Institute of Standards and Technology Inc. VIDEO SIGNAL PROCESSING METHOD AND DEVICE
CN117939166A (zh) * 2019-10-05 2024-04-26 Lg电子株式会社 解码设备、编码设备和发送设备
WO2021079948A1 (en) * 2019-10-25 2021-04-29 Sharp Kabushiki Kaisha Systems and methods for signaling picture information in video coding
US11146824B2 (en) 2019-12-30 2021-10-12 Mediatek Inc. Video encoding or decoding methods and apparatuses related to high-level information signaling
US11470357B2 (en) 2020-04-03 2022-10-11 Sharp Kabushiki Kaisha Systems and methods for signaling decoding capability information in video coding
US11792433B2 (en) 2020-09-28 2023-10-17 Sharp Kabushiki Kaisha Systems and methods for signaling profile and level information in video coding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7383808B2 (ja) 2020-03-05 2023-11-20 キヤノン株式会社 ビデオコーディング及び復号のための高レベルシンタックス

Also Published As

Publication number Publication date
CN115244933A (zh) 2022-10-25
US11968402B2 (en) 2024-04-23
EP4307674A2 (en) 2024-01-17
CN115398913A (zh) 2022-11-25
US20230021488A1 (en) 2023-01-26
WO2021170095A1 (en) 2021-09-02
US11838554B2 (en) 2023-12-05
EP4097979A4 (en) 2023-07-26
EP4307674A3 (en) 2024-03-20
EP4097979A1 (en) 2022-12-07
US11889119B2 (en) 2024-01-30
WO2021170096A1 (en) 2021-09-02
JP7415027B2 (ja) 2024-01-16
WO2021170091A1 (en) 2021-09-02
CN115398912A (zh) 2022-11-25
US20230027478A1 (en) 2023-01-26
US20230046629A1 (en) 2023-02-16
JP2024003022A (ja) 2024-01-11
KR20220143843A (ko) 2022-10-25

Similar Documents

Publication Publication Date Title
JP7415027B2 (ja) ハイレベルシンタックス要素のための制約
WO2021197445A1 (en) Constraints on adaptation parameter set syntax elements
WO2021180163A1 (en) Adaptation parameter set signaling based on color format
WO2021239085A1 (en) Reference picture list signaling in video coding
US20240129540A1 (en) Signalling Of General Constraints Flag
JP2024003125A (ja) ビデオコーディングにおける一般制約情報
WO2021233450A1 (en) Signalling for color component
WO2021244420A1 (en) Palette mode with local dual tree modetype definition
EP4128775A1 (en) Conditional signaling of video coding syntax elements
US20240137571A1 (en) General Constraint Information In Video Coding

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220902

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231025

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231228

R150 Certificate of patent or registration of utility model

Ref document number: 7415027

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150