JP2023511059A - ビデオコーディング及び復号の制約 - Google Patents

ビデオコーディング及び復号の制約 Download PDF

Info

Publication number
JP2023511059A
JP2023511059A JP2022542372A JP2022542372A JP2023511059A JP 2023511059 A JP2023511059 A JP 2023511059A JP 2022542372 A JP2022542372 A JP 2022542372A JP 2022542372 A JP2022542372 A JP 2022542372A JP 2023511059 A JP2023511059 A JP 2023511059A
Authority
JP
Japan
Prior art keywords
video
picture
bitstream
equal
sub
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
JP2022542372A
Other languages
English (en)
Other versions
JP7454681B2 (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 JP2023511059A publication Critical patent/JP2023511059A/ja
Application granted granted Critical
Publication of JP7454681B2 publication Critical patent/JP7454681B2/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/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/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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/167Position within a video image, e.g. region of interest [ROI]
    • 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/176Methods 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 block, e.g. a macroblock
    • 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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Television Systems (AREA)

Abstract

ビデオ処理の例示的方法は、ビデオのブロックと前記ビデオのビットストリームとの間の変換を実行するステップを含む。前記ビットストリームは、マージ推定領域(MER)のサイズが前記ビットストリーム内で示されることを指定するフォーマットルールに従い、前記MERのサイズはビデオユニットの寸法に基づく。前記MERは、前記変換のための動き候補を導出するために使用される領域を含む。

Description

[関連出願]
パリ条約に従う適用可能な特許法及び/又はルールの下で、本願は、国際特許出願番号第PCT/CN2020/071620号、2020年1月12日出願、の優先権及び利益を請求するために適時に出願された。法の下であらゆる目的のために、前述の出願の全ての開示は、参照により本願の開示の部分として組み込まれる。
[技術分野]
本願明細書は、ビデオ及び画像コーディング及び復号技術に関する。
デジタルビデオは、インターネット及び他のデジタル通信ネットワーク上で最大の帯域幅使用を占める。ビデオを受信及び表示可能な接続されたユーザ装置の数が増加するにつれ、デジタルビデオ使用のための帯域幅要求は増大し続けることが予想される。
開示の技術は、サブピクチャに基づくコーディング又は復号が実行されるビデオ又は画像デコーダ又はエンコーダの実施形態により使用されてよい。
1つの例示的な態様では、ビデオ処理の方法が開示される。方法は、ビデオのブロックと前記ビデオのビットストリームとの間の変換を実行するステップを含む。前記ビットストリームは、マージ推定領域(MER)のサイズが前記ビットストリーム内で示されることを指定するフォーマットルールに従う。前記MERのサイズはビデオユニットの寸法に基づき、前記MERは、前記変換のための動き候補を導出するために使用される領域を含む。
別の例示的な態様では、ビデオ処理の方法が開示される。前記方法は、前記ビットストリーム内のビデオのブロックをコーディングするために代表サンプル値のパレットが使用されるパレットコーディングモードで、ビデオのブロックと前記ビデオのビットストリームとの間の変換を実行するステップを含む。パレットモードで使用されるパレットサイズ又はパレット予測子の最大値は、m×Nに制約され、Nは正の整数である。
別の例示的な態様では、ビデオ処理の方法が開示される。前記方法は、
ビデオの現在ブロックと前記ビデオのビットストリームとの間の変換のために、前記現在ブロックの境界について、前記境界がサブピクチャインデックスXを有するサブピクチャの境界と一致し、ループフィルタリング操作が前記サブピクチャの境界に渡り無効にされている場合に、デブロッキングフィルタリング処理が無効にされていると決定するステップであって、Xは非負の整数である、ステップと、
を含む。前記方法は、前記決定に基づき変換を実行するステップを含む。
別の例示的な態様では、ビデオ処理の方法が開示される。前記方法は、ビデオの第1ビデオ領域内のビデオブロックについて、アフィンモードを用いて前記ビデオブロックと現在ビデオブロックのビットストリーム表現との間の変換のために時間動きベクトル予測子が決定される位置が、第2ビデオ領域の範囲内であるかどうかを決定するステップと、前記決定に基づき前記変換を実行するステップと、を含む。
別の例示的な態様では、ビデオ処理の別の方法が開示される。前記方法は、ビデオの第1ビデオ領域内のビデオブロックについて、前記ビデオブロックと現在ビデオブロックのビットストリーム表現との間の変換のために参照ピクチャ内の整数サンプルがフェッチされる位置が、第2ビデオ領域の範囲内であるかどうかを決定するステップであって、前記参照ピクチャは前記変換中に補間処理において使用されない、ステップと、前記決定に基づき前記変換を実行するステップと、を含む。
別の例示的な態様では、ビデオ処理の別の方法が開示される。前記方法は、ビデオの第1ビデオ領域内のビデオブロックについて、前記ビデオブロックと現在ビデオブロックのビットストリーム表現との間の変換のために再構成ルマサンプル値がフェッチされる位置が、第2ビデオ領域の範囲内であるかどうかを決定するステップと、前記決定に基づき前記変換を実行するステップと、を含む。
別の例示的な態様では、ビデオ処理の別の方法が開示される。前記方法は、ビデオの第1ビデオ領域内のビデオブロックについて、前記ビデオブロックと前記現在ビデオブロックのビットストリーム表現との間の変換中に、前記ビデオブロックについて分割に関するチェック、深さ導出、又は分割フラグシグナリングが実行される位置が、第2ビデオ領域の範囲内であるかどうかを決定するステップと、前記決定に基づき前記変換を実行するステップと、を含む。
別の例示的な態様では、ビデオ処理の別の方法が開示される。前記方法は、1つ以上のビデオブロックを含む1つ以上のビデオピクチャを含むビデオと、前記ビデオのコーディング表現との間の変換を実行するステップを含み、前記コーディング表現は、前記変換がサブピクチャコーディング/復号、及び動的解像度変換コーディング/復号ツール又は参照ピクチャ再サンプリングツールをビデオユニット内で使用しないというコーディングシンタックス要件に従う。
別の例示的な態様では、ビデオ処理の別の方法が開示される。前記方法は、1つ以上のビデオブロックを含む1つ以上のビデオピクチャを含むビデオと、前記ビデオのコーディング表現との間の変換を実行するステップを含み、前記コーディング表現は、第1シンタックスエレメントsubpic_grid_idx[i][j]が第2シンタックスエレメントmax_subpics_minus1より大きくないというコーディングシンタックス要件に従う。
別の例示的な態様では、ビデオ処理の別の方法が開示される。前記方法は、ビデオの第1ビデオ領域と前記ビデオのコーディング表現との間の変換を実行するステップを含み、前記第1ビデオ領域のコーディング特性を定義するパラメータセットが、前記コーディング表現内の前記第1ビデオ領域レベルに含まれる。
更に別の例示的な態様では、上述の方法は、プロセッサを含むビデオエンコーダ機器により実施されてよい。
更に別の例示的な態様では、上述の方法は、プロセッサを含むビデオデコーダ機器により実施されてよい。
更に別の例示的な態様では、これらの方法は、プロセッサ実行可能命令の形式で具現命令され、コンピュータ可読プログラム媒体に格納されてよい。
これら及び他の態様は、本願明細書において更に記載される。
時間動きベクトル予測(TMVP)及びサブブロックTMVPにおける領域制約の例を示す。
階層的動き推定方式の例を示す。
本願明細書に記載される技術を実施するために使用されるハードウェアプラットフォームの例のブロック図である。
ビデオ処理の例示的な方法のフローチャートである。
12個のタイルと3個のラスタスキャンスライスにパーティションされる18×12ルマCTUを有するピクチャの例を示す(情報提供)。
24個のタイルと9個の長方形スライスにパーティションされる18×12ルマCTUを有するピクチャの例を示す(情報提供)。
4個のタイル、11個のブリック、及び4個の長方形スライスにパーティションされるピクチャの例を示す(情報提供)。
パレットモードでコーディングされたブロックの例を示す。
パレットエントリをシグナリングするために予測子パレットを使用する例を示す。
水平及び垂直トラバーススキャンの例を示す。
パレットインデックスのコーディングの例を示す。
マージ推定領域(MER)の例を示す。
本願明細書に開示される種々の技術が実施され得る例示的なビデオ処理システムを示すブロック図である。
例示的なビデオコーディングシステムを示すブロック図である。
本開示の幾つかの実施形態によるエンコーダを示すブロック図である。
本開示の幾つかの実施形態によるデコーダを示すブロック図である。
本発明の技術によるビデオ処理の方法のフローチャート表現である。
本発明の技術によるビデオ処理の別の方法のフローチャート表現である。
本発明の技術によるビデオ処理の別の方法のフローチャート表現である。
本願明細書は、伸長又は復号デジタルビデオ又は画像の品質を向上するために画像又はビデオビットストリームのデコーダにより使用できる種々の技術を提供する。簡単のために、用語「ビデオ」は、本願明細書で、ピクチャのシーケンス(伝統的にビデオと呼ばれる)及び個々の画像の両方を含むために使用される。更に、ビデオエンコーダも、更なる符号化のために使用される復号フレームを再構成するために、符号化の処理の間に、これらの技術を実施してよい。
章見出しは、本願明細書において理解を容易にするために使用され、実施形態及び技術を対応する章に限定するものではない。従って、1つの章からの実施形態は、他の章からの実施形態と結合できる。
1.最初の議論
本願明細書は、ビデオコーディング技術に関する。具体的に、ビデオコーディングにおける下地色(base colors)に基づく表現を利用するパレットコーディングに関する。それは、HEVCのような既存のビデオコーディング規格、又は完成されるべき規格(Versatile Video Coding)に適用されてよい。それは、将来のビデオコーディング規格又はビデオコーデックにも適用可能であってよい。
2.ビデオコーディングの紹介
ビデオコーディング規格は、主によく知られたITU-T及びISO/IEC規格の発展を通じて進化している。ITU-TはH.261及びH.263を策定し、ISO/IECはMPEG-1及びMPEG-4ビジュアルを策定し、及び2つの組織は共同でH.262/MPEG-2ビデオ、及びH.264/MPEG-4アドバンストビデオコーディング(Advanced Video Coding)及びH.265/HEVC規格を策定した[1,2]。H.262以降、ビデオコーディング規格は、ハイブリッドビデオコーディング構造に基づき、ここでは時間予測及び変換コーディングが利用される。HEVCより先の将来のコーディング技術を開発するために、共同ビデオ探索チーム(Joint Video Exploration Team (JVET))が2015年にVCEG及びMPEGにより共同で設立された。それ以来、多くの新しい方法がJVETにより採用され、共同探索モデル(Joint Exploration Model (JEM))と呼ばれる参照ソフトウェアに取り入れられてきた。2018年4月には、HEVCと比べて50%のビットレート削減を目標とするVVC規格に取り組むために、VCEG(Q6/16)とISO/IECJTC1SC29/WG11(MPEG)との間の共同ビデオ専門家チーム(Joint Video Expert Team (JVET))が作成された。
2.1 TMVP及びVVCのサブブロックTMVPにおける領域制約
図1は、TMVP及びサブブロックTMVPにおける例示的な領域制約を示す。TMVP及びサブブロックTMVPでは、時間MVは、図1に示されるように、同一位置CTU、及び4×4ブロックの列からのみフェッチできる。
2.2 例示的なサブピクチャ
幾つかの実施形態では、フレキシブルタイリングアプローチに基づく、サブピクチャに基づくコーディング技術が実施できる。サブピクチャに基づくコーディング技術の要約は、以下を含む:
(1)ピクチャは、サブピクチャに分割できる。
(2)サブピクチャの存在の指示は、サブピクチャの他のシーケンスレベル情報と一緒に、SPS内で示される。
(3)サブピクチャが復号処理(インループフィルタリング動作を除く)においてピクチャとして扱われるかどうかは、ビットストリームにより制御できる。
(4)サブピクチャ境界に跨がるインループフィルタリングが無効にされるかどうかはサブピクチャ毎にビットストリームにより制御できる。DBF、SAO、及びALF処理は、サブピクチャ境界に跨がるインループフィルタリング動作の制御のために更新される。
(5)簡単のために、開始点として、サブピクチャ幅、高さ、水平オフセット、及び垂直オフセットが、SPS内のルマサンプルのユニットの中でシグナリングされる。サブピクチャ境界は、スライス境界になるよう制約される。
(6)復号処理(インループフィルタリング動作を除く)においてサブピクチャをピクチャとして扱うことは、coding_tree_unit()シンタックスを僅かに更新することにより指定され、以下の復号処理を更新する:
-(高度)時間ルマ動きベクトル予測の導出処理。
-ルマサンプル双線形補間処理。
-ルマサンプル8タップ補間フィルタリング処理。
-クロマサンプル補間処理。
(7)サブピクチャIDは、VCL NALユニットを変更する必要を伴わずにサブピクチャシーケンスの抽出を可能にするために、SPS内で明示的に指定され、タイルグループヘッダに含まれる。
(8)出力サブピクチャセット(Output sub-picture sets (OSPS))は、サブピクチャ及びそのセットについて、基準となる抽出及び適合点を指定するために提案される。
2.3 VVC(Versatile Video Coding)における例示的なサブピクチャ
Figure 2023511059000002
subpics_present_flagが1に等しいことは、SPS RBSPシンタックス内にサブピクチャパラメータが現在存在することを示す。subpics_present_flagが0に等しいことは、SPS RBSPシンタックス内にサブピクチャパラメータが現在存在しないことを示す
注2:ビットストリームがサブビットストリーム抽出処理の結果であり、サブビットストリーム抽出処理への入力ビットストリームのサブピクチャの一部のみを含むとき、SPSのRBSP内のsubpics_present_flagの値を1に等しく設定することが要求され得る。
max_subpics_minus1に1を加えたものは、CVS内に存在し得るサブピクチャの最大数を指定する。max_subpics_minus1は、0~254の範囲内であるべきである。255の値は、ITU-T|ISO/IECによる将来の使用のために予約されている。
subpic_grid_col_width_minus1に1を加えたものは、4個のサンプルのユニット内のサブピクチャ識別子グリッドの各要素の幅を指定する。シンタックス要素の長さは、Ceil(Log2(pic_width_max_in_luma_samples/4))ビットである。
変数NumSubPicGridColsは、以下のように導出される。
Figure 2023511059000003
subpic_grid_row_height_minus1に1を加えたものは、4個のサンプルのユニット内のサブピクチャ識別子の各要素の高さを指定する。シンタックス要素の長さは、Ceil(Log2(pic_height_max_in_luma_samples/4))ビットである。
変数NumSubPicGridRowsは、以下のように導出される。
Figure 2023511059000004
subpic_grid_idx[i][j]は、グリッド位置(i,j)のサブピクチャインデックスを指定する。シンタックス要素の長さは、Ceil(Log2(max_subpics_minus1+1))ビットである。
変数SubPicTop[subpic_grid_idx[i][j]]、SubPicLeft[subpic_grid_idx[i][j]、SubPicWidth[subpic_grid_idx[i][j]]、SubPicHeight[subpic_grid_idx[i][j]]、及びNumSubPicsは、以下のように導出される:
Figure 2023511059000005
subpic_treated_as_pic_flag[i]が1に等しいことは、CVS内の各コーディングピクチャのi番目のサブピクチャが、インループフィルタリング操作を除き復号処理でピクチャとして取り扱われることを指定する。subpic_treated_as_pic_flag[i]が0に等しいことは、CVS内の各コーディングピクチャのi番目のサブピクチャが、インループフィルタリング操作を除き復号処理でピクチャとして取り扱われないことを指定する。存在しないとき、subpic_treated_as_pic_flag[i]の値は0に等しいと推定される。
loop_filter_across_subpic_enabled_flag[i]が1に等しいことは、インループフィルタリング操作が、CVSにおける各コーディングピクチャの中のi番目のサブピクチャの境界に跨がり実行されてよいことを指定する。loop_filter_across_subpic_enabled_flag[i]が0に等しいことは、CVS内の各コーディングピクチャ内のi番目のサブピクチャの境界に渡り、インループフィルタリング動作が実行されないことを指定する。存在しないとき、vloop_filter_across_subpic_enabled_pic_flag[i]の値は1に等しいと推定される。
ビットストリーム適合の要件は、以下の制約を適用することである:
-任意の2つのサブピクチャsubpicA及びsubpicBについて、subpicAのインデックスがsubpicBのインデックスより小さいとき、subpicAの任意のコーディングNALユニットは、復号順序で、subpicBの任意のコーディングNALユニットの後に続くべきである。
-サブピクチャの形状は、各サブピクチャが、復号されるとき、ピクチャ境界を構成する又は前に復号されたサブピクチャの境界を構成する、その左境界全体及び上境界全体を有するべきである。
両端を含む0~PicSizeInCtbsY-1の範囲のctbAddrRsのリストCtbToSubPicIdx[ctbAddrRs]は、ピクチャラスタスキャンにおけるCTBアドレスからサブピクチャインデックスへの変換を指定し、以下のように導出される:
Figure 2023511059000006
num_bricks_in_slice_minus1は、存在するとき、スライス内のブリック数-1を指定する。num_bricks_in_slice_minus1の値は、両端を含む0~NumBricksInPic-1の範囲内であるべきである。rect_slice_flagが0に等しく、single_brick_per_slice_flagが1に等しい場合、num_bricks_in_slice_minus1の値は0に等しいと推定される。single_brick_per_slice_flagが1に等しい場合、num_bricks_in_slice_minus1の値は0に等しいと推定される。
現在スライス内のブリックの数を指定する変数NumBricksInCurrSliceと、現在スライス内のi番目のブリックのブリックインデックスを指定するSliceBrickIdx[i]は、次のように導出される:
Figure 2023511059000007
変数SubPicIdx、SubPicLeftBoundaryPos、SubPicTopBoundaryPos、SubPicRightBoundaryPos、及びSubPicBotBoundaryPosは、以下のように導出される:
Figure 2023511059000008
時間ルマ動きベクトル予測の導出処理
この処理への入力は:
-現在ピクチャの左上ルマサンプルに対する、現在ルマコーディングブロックの左上サンプルのルマ位置(xCb,yCb)、
-ルマサンプルの中で現在コーディングブロックの幅を指定する変数cbWidth、
-ルマサンプルの中で現在コーディングブロックの高さを指定する変cbHeight、
-参照インデックスrefIdxLX、Xは0又は1である。
この処理の出力は:
-1/16分数サンプル精度の動きベクトル予測mvLXCol、
-利用可能性フラグavailableFlagLXCol
変数currCbは、ルマ位置(xCb,yCb)にある現在ルマコーディングブロックを指定する。
変数mvLXCol及びavailableFlagLXColは、以下のように導出される:
-slice_temporal_mvp_enabled_flagが0に等しいか、又は(cbWidth*cbHeight)が32以下である場合、mvLXColの両方の成分は0に等しく設定され、availableFlagLXColは0に等しく設定される。
-その他の場合(slice_temporal_mvp_enabled_flagが1に等しい)、以下の順序付きステップが適用される:
1.右下同一位置動きベクトル、並びに下及び右境界サンプル位置は、以下のように導出される:
Figure 2023511059000009
-yCb>>CtbLog2SizeYがyColBr>>CtbLog2SizeYと等しい場合、yColBrはbotBoundaryPos以下であり、xColBrはrightBoundaryPos以下であり、以下が適用される:
-変数colCbは、ColPicにより指定される同一位置ピクチャの内側の、((xColBr>>3)<<3,(yColBr>>3)<<3)により与えられる変更位置をカバーするルマコーディングブロックを指定する。
-ルマ位置(xColCb,yColCb)は、ColPicにより指定される同一位置ピクチャの左上ルマサンプルに対する、colCbにより指定される同一位置ルマコーディングブロックの左上サンプルに等しく設定される。
-8.5.2.12項に指定される同一位置動きベクトルの導出処理は、currCb、colCb、(xColCb,yColCb)、refIdxLX、及び0に等しく設定されたsbFlagを入力として呼び出され、出力はmvLXCol及びavailableFlagLXColに割り当てられる。
-その他の場合、mvLXColの両方のコンポーネントは0に等しく設定され、availableFlagLXColは0に等しく設定される。

ルマサンプル双線形補間処理
この処理への入力は:
-フルサンプルユニット内のルマ位置(xIntL,yIntL)、
-分数サンプルユニット内のルマ位置(xFracL,yFracL)、
-ルマ参照サンプルアレイrefPicLXL
この処理の出力は、予測ルマサンプル値predSampleLXLである。
変数shift1、shift2、shift3、shift4、offset1、offset2、及びoffset3は、以下のように導出される:
Figure 2023511059000010
変数picWは、pic_width_in_luma_samplesに等しく設定され、変数picHはpic_height_in_luma_samplesに等しく設定される。
xFracL又はyFracLに等しい1/16分数サンプル位置p毎のルマ補間フィルタ係数fbL[p]は、表8-10で指定される。
フルサンプルユニットのルマ位置(xInti,yInti)は、i=0..1について以下のように導出される:
-subpic_treated_as_pic_flag[SubPicIdx]が1に等しい場合、以下が適用される。
Figure 2023511059000011
-その他の場合(subpic_treated_as_pic_flag[SubPicIdx]が0に等しい)、以下が適用される:
Figure 2023511059000012
サブブロックに基づく時間マージ候補の導出処理
この処理への入力は:
-現在ピクチャの左上ルマサンプルに対する、現在ルマコーディングブロックの左上サンプルのルマ位置(xCb,yCb)、
-ルマサンプルの中で現在コーディングブロックの幅を指定する変数cbWidth、
-ルマサンプルの中で現在コーディングブロックの高さを指定する変数cbHeight、
-近隣コーディングユニットの利用可能性フラグavailableFlagA
-近隣コーディングユニットの参照インデックスrefIdxLXA、Xは0又は1、
-近隣コーディングユニットの予測リスト利用フラグpredFlagLXA、Xは0又は1、
-近隣コーディングユニットの1/16分数サンプル精度の動きベクトルmvLXA、Xは0又は1。
この処理の出力は:
-利用可能性フラグavailableFlagSbCol、
-水平方向のルマコーディングサブブロックの数numSbX、及び垂直方向のnumSbY、
-参照インデックスrefIdxL0SbCol及びrefIdxL1SbCol、
-1/16分数サンプル精度のルマ動きベクトルmvL0SbCol[xSbIdx][ySbIdx]及びmvL1SbCol[xSbIdx][ySbIdx]、xSbIdx=0..numSbX-1,ySbIdx=0..numSbY-1、
-予測リスト利用フラグpredFlagL0SbCol[xSbIdx][ySbIdx]及びpredFlagL1SbCol[xSbIdx][ySbIdx]、xSbIdx=0..numSbX-1,ySbIdx=0..numSbY-1
利用可能性フラグavailableFlagSbColは以下のように導出される。
-以下の条件のうちの1つ以上が真である場合、availableFlagSbColが0に等しく設定される。
-slice_temporal_mvp_enabled_flagが0に等しい。
-sps_sbtmvp_enabled_flagが0に等しい。
-cbWidthが8未満である。
-cbHeightが8未満である。
-その他の場合、以下の順序付きステップが適用される:
1.現在コーディングブロックを含むルマコーディングツリーブロックの左上サンプルの位置(xCtb,yCtb)及び現在ルマコーディングブロックの右下中央の位置(xCtr,yCtr)が以下のように導出される:
Figure 2023511059000013
2.ルマ位置(xColCtrCb,yColCtrCb)は、ColPicにより指定される同一位置ピクチャの左上ルマサンプルに対する、ColPicの内側の(xCtr,yCtr)により与えられる位置をカバーする同一位置ルマコーディングブロックの左上サンプルに等しく設定される。
3.8.5.5.4項で指定されるようなサブブロックに基づく時間マージ基本動きデータの導出処理は、位置(xCtb,yCtb)、位置(xColCtrCb,yColCtrCb)、利用可能性フラグavailableFlagA及び予測リスト利用フラグpredFlagLXA、並びに参照インデックスrefIdxLXA、及び動きベクトルvectormvLXA、Xは0又は1、を入力として呼び出され、同一位置ブロックの動きベクトルctrMvLX及び予測リスト利用フラグctrPredFlagLX、Xは0又は1、及び時間動きベクトルtempMvを出力とする。
4.変数availableFlagSbColは、以下のように導出される:
-ctrPredFlagL0及びctrPredFlagL1の両方が0に等しい場合、availableFlagSbColは0に等しく設定される。
-その他の場合、availableFlagSbColが1に等しく設定される。
availableFlagSbColが1に等しいとき、以下が適用される:
-変数numSbX,、numSbY、sbWidth、sbHeight及びrefIdxLXSbColは、以下のように導出される:
Figure 2023511059000014
-xSbIdx=0..numSbX-1及びySbIdx=0..numSbY-1について、動きベクトルmvLXSbCol[xSbIdx][ySbIdx]及び予測リスト利用フラグpredFlagLXSbCol[xSbIdx][ySbIdx]は、以下のように導出される:
-現在ピクチャの左上ルマサンプルに対する、現在コーディングサブブロックの左上サンプルを指定するルマ位置(xSb,ySb)は、以下のように導出される:
Figure 2023511059000015
-ColPic内の同一位置サブブロックの位置(xColSb,yColSb)は以下のように導出される:
-以下が適用される:
Figure 2023511059000016
-subpic_treated_as_pic_flag[SubPicIdx]が1に等しい場合、以下が適用される:
Figure 2023511059000017
-その他の場合(subpic_treated_as_pic_flag[SubPicIdx]が0に等しい)、以下が適用される:
Figure 2023511059000018
サブブロックに基づく時間マージベース動きデータの導出処理
この処理への入力は:
-現在コーディングブロックを含むルマコーディングツリーブロックの左上サンプルの位置(xCtb,yCtb)、
-右下中央サンプルをカバーする同一位置ルマコーディングブロックの左上サンプルの位置(xColCtrCb,yColCtrCb)、
-近隣コーディングユニットの利用可能性フラグavailableFlagA
-近隣コーディングユニットの参照インデックスrefIdxLXA
-近隣コーディングユニットの予測リスト利用フラグpredFlagLXA
-近隣コーディングユニットの1/16分数サンプル精度の動きベクトルmvLXA
この処理の出力は:
-動きベクトルctrMvL0及びctrMvL1、
-予測リスト利用フラグctrPredFlagL0及びctrPredFlagL1、
-時間動きベクトルtempMv
変数tempMvは、以下のように設定される:
Figure 2023511059000019
変数currPicは、現在ピクチャを指定する。
availableFlagAがTRUEに等しいとき、以下が適用される:
-以下の条件のうちの全部が真である場合、tempMvはmvL0Aに等しく設定される:
-predFlagL0Aが1に等しい、
-DiffPicOrderCnt(ColPic,RefPicList[0][refIdxL0A])が0に等しい、
-その他の場合、以下の条件のうちの全部が真である場合、tempMvはmvL1Aに等しく設定される:
-slice_typeがBに等しい、
-predFlagL1Aが1に等しい、
-DiffPicOrderCnt(ColPic,RefPicList[1][refIdxL1A])が0に等しい、
ColPic内の同一位置ブロックの位置(xColCb,yColCb)は以下のように導出される:
-以下が適用される:
Figure 2023511059000020
-subpic_treated_as_pic_flag[SubPicIdx]が1に等しい場合、以下が適用される:
Figure 2023511059000021
-その他の場合(subpic_treated_as_pic_flag[SubPicIdx]が0に等しい)、以下が適用される:
Figure 2023511059000022
ルマサンプル補間フィルタリング処理
この処理への入力は:
-フルサンプルユニットのルマ位置(xIntL,yIntL)、
-分数サンプルユニットのルマ位置(xFracL,yFracL)、
-参照ピクチャの左上ルマサンプルに対する、参照サンプルパディングのための境界(bounding)ブロックの左上サンプルを指定するフルサンプルユニットのルマ位置(xSbIntL,ySbIntL)、
-ルマ参照サンプルアレイrefPicLXL
-ハーフサンプル補間フィルタインデックスhpelIfIdx、
-現在サブブロックの幅を指定する変数sbWidth、
-現在サブブロックの高を指定する変数sbHeight、
-現在ピクチャの左上ルマサンプルに対する、現在サブブロックの左上サンプルを指定するルマ位置(xSb,ySb)、
この処理の出力は、予測ルマサンプル値predSampleLXLである。
変数shift1、shift2及びshift3は、以下のように導出される:
-変数shift1はMin(4,BitDepthY-8)に等しく設定され、変数shift2は6に等しく設定され、変数shift3はMax(2,14-BitDepthY)に等しく設定される。
-変数picWは、pic_width_in_luma_samplesに等しく設定され、変数picHはpic_height_in_luma_samplesに等しく設定される。
xFracL又はyFracLに等しい1/16分数サンプル位置p毎のルマ補間フィルタ係数fL[p]は、以下のように導出される:
-MotionModelIdc[xSb][ySb]が0より大きく、sbWidth及びsbHeightが両方とも4に等しい場合、ルマ補間フィルタ係数fL[p]は表8-12に指定される。
-その他の場合、ルマ補間フィルタ係数fL[p]は、hpelIfIdxに依存して表8-11に指定される。
フルサンプルユニットのルマ位置(xInti,yInti)は、i=0..7について以下のように導出される:
-subpic_treated_as_pic_flag[SubPicIdx]が1に等しい場合、以下が適用される。
Figure 2023511059000023
-その他の場合(subpic_treated_as_pic_flag[SubPicIdx]が0に等しい)、以下が適用される:
Figure 2023511059000024
クロマサンプル補間処理
この処理への入力は:
-フルサンプルユニットのクロマ位置(xIntC,yIntC)、
-1/32分数サンプルユニットのクロマ位置(xFracC,yFracC)、
-参照ピクチャの左上クロマサンプルに対する、参照サンプルパディングのための境界(bounding)ブロックの左上サンプルを指定するフルサンプルユニットのクロマ位置(xSbIntC,ySbIntC)、
-現在サブブロックの幅を指定する変数sbWidth、
-現在サブブロックの高を指定する変数sbHeight、
-クロマ参照サンプルアレイrefPicLXC
この処理の出力は、予測クロマサンプル値predSampleLXCである。
変数shift1、shift2及びshift3は、以下のように導出される:
-変数shift1はMin(4,BitDepthC-8)に等しく設定され、変数shift2は6に等しく設定され、変数shift3はMax(2,14-BitDepthC)に等しく設定される。
-変数picWCは、pic_width_in_luma_samples/SubWidthCに等しく設定され、変数picHCはpic_height_in_luma_samples/SubHeightCに等しく設定される。
xFracC又はyFracCに等しい1/32分数サンプル位置p毎のクロマ補間フィルタ係数fC[p]は、表8-13で指定される。
変数xOffsetは、(sps_ref_wraparound_offset_minus1+1)*MinCbSizeY)/SubWidthCに等しく設定される。
フルサンプルユニットのクロマ位置(xInti,yInti)は、i=0..3について以下のように導出される:
-subpic_treated_as_pic_flag[SubPicIdx]が1に等しい場合、以下が適用される。
Figure 2023511059000025
-その他の場合(subpic_treated_as_pic_flag[SubPicIdx]が0に等しい)、以下が適用される:
Figure 2023511059000026
2.4 例示的なエンコーダのみのGOPに基づく時間フィルタ
幾つかの実施形態では、エンコーダのみの時間フィルタが実装できる。フィルタリングは、エンコーダ側で、前処理ステップとして行われる。符号化するために選択されたピクチャの前後のソースピクチャが読み出され、選択されたピクチャに対するブロックに基づく動き補償方法が、それらのソースピクチャに適用される。選択されたピクチャ内のサンプルは、動き補償後のサンプル値を用いて、時間フィルタされる。
全体的なフィルタ強度は、QPと共に選択されたピクチャの時間サブレイヤに依存して設定される。時間サブレイヤ0及び1にあるピクチャのみがフィルタリングされ、レイヤ0のピクチャは、レイヤ1のピクチャより強力なフィルタによりフィルタリングされる。サンプル毎フィルタ強度は、選択されたピクチャ内のサンプル値と動き補償済みピクチャ内の同一位置サンプルとの間の差に依存して調整され、その結果、動き補償済みピクチャと選択されたピクチャとの間の小さな差は、大きな差よりも強力にフィルタリングされる。
GOPに基づく時間フィルタ
時間フィルタは、ピクチャを読み出した後、及び符号化前に直接導入される。以下は、より詳細に説明されるステップである。
動作1:ピクチャがエンコーダにより読み出される。
動作2:ピクチャがコーディング階層構造の中で十分に低い場合、符号化前にフィルタリングされる。その他の場合、ピクチャは、フィルタリングしないで符号化される。POC%8==0を有するRAピクチャは、POC%4==0を有するLDピクチャと同様にフィルタリングされる。AIピクチャはフィルタリングされない。
全体のフィルタ強度soは、RAについて次式に従い設定される。
Figure 2023511059000027
ここで、nは、読み出されたピクチャの数である。
LDの場合、so(n)=0.95が使用される。
動作3:選択されたピクチャ(以下では元のピクチャと呼ばれる)の前及び/又は後の2つのピクチャが読み出される。エッジの場合、例えば、最初のピクチャ又は最後のピクチャに近い場合、利用可能なピクチャのみが読み出される。
動作4:前及び後に読み出されたピクチャの、元のピクチャに対する動きは、8×8ピクチャブロック毎に推定される。
階層的動き推定方式が使用され、レイヤL0、L1、及びL2が図2に示される。サブサンプリングピクチャは、全部の読み出されたピクチャ及び元のピクチャ、例えば図1のL1について各2×2ブロックを平均することにより生成される。L2は、同じサブサンプリング方法を用いてL1から導出される。
図2は、階層動き推定の異なるレイヤの例を示す。L0は元の解像度である。L1はL0のサブサンプリングバージョンである。L2はL1のサブサンプリングバージョンである。
先ず、動き推定は、L2内の16×16ブロック毎に行われる。選択された動きベクトル毎に差の平方が計算され、最小の差に対応する動きベクトルが選択される。選択された動きベクトルは、次に、L1内で動きベクトルを推定するときの初期値として使用される。次に、L0内の動きを推定するために同じことが行われる。最終ステップとして、L0上の補間フィルタを用いて、8×8ブロック毎に、サブピクセル動きが推定される。
VTM6タップ補間フィルタが使用できる:
Figure 2023511059000028
動作5:動き補償は、ブロック毎に最も一致する動きに従い、元のピクチャの前及び後のピクチャに適用される。例えば、その結果、各ブロック内の元のピクチャのサンプル座標は、参照されるピクチャの中の最も一致する座標を有する。
動作6:ルマ及びクロマチャネルについて処理されたもの1つずつのサンプルは、以下のステップで説明される通りである。
動作7:新しいサンプル値Inが、次式を用いて計算される。
Figure 2023511059000029
ここで、Ioは元のサンプルのサンプル値であり、Ir(i)は動き補償済みピクチャiの対応するサンプルの強度であり、wr(i,a)は、利用可能な動き補償済みピクチャの数がaであるとき、動き補償済みピクチャiの重みである。
ルマチャネルでは、重みwr(i,a)は以下のように定義される:
Figure 2023511059000030
ここで、
Figure 2023511059000031
全部の他の場合のiについて、a:sr(i,a)=0.3
Figure 2023511059000032
クロマチャネルでは、重みwr(i,a)は以下のように定義される:
Figure 2023511059000033
ここで、sc=0.55及びσc=30である。
動作8:フィルタは、現在サンプルに適用される。結果として生じるサンプル値は、個別に格納される。
動作9:フィルタリング済みピクチャが符号化される。
2.5 例示的なピクチャパーティション(タイル、ブリック、スライス)
幾つかの実施形態では、ピクチャは、1つ以上のタイル行及び1つ以上のタイル列に分割される。タイルは、ピクチャの長方形領域をカバーするCTUのシーケンスである。
タイルは、1つ以上のブリックに分割され、その各々はタイル内の多数のCTU列で構成される。
複数のブリックにパーティションされないタイルは、ブリックとも呼ばれる。しかしながら、タイルの完全なサブセットは、タイルと呼ばれない。
スライスは、ピクチャの多数のタイル又はタイルの多数のブリックのいずれかを含む。
サブピクチャは、ピクチャの長方形領域を集合的にカバーする1つ以上のスライスを含む。
スライスの2つのモード、つまりラスタスキャンスライスモード及び長方形スライスモードがサポートされる。ラスタスキャンスライスモードでは、スライスは、ピクチャのタイルラスタスキャンの中で、タイルのシーケンスを含む。長方形スライスモードでは、スライスは、ピクチャの長方形領域を集合的に形成する、ピクチャの多数のブリックを含む。長方形スライスの中のブリックは、スライスのブリックラスタスキャンの順である。
図5は、ピクチャのラスタスキャンスライスパーティションの例を示し、ピクチャは、12個のタイルと3個のラスタスキャンスライスに分割される。
図6は、ピクチャの長方形スライスパーティションの例を示し、ピクチャは、24個のタイル(6個のタイル列と4個のタイル行)及び9個の長方形スライスに分割される。
図7は、タイル、ブリック、及び長方形スライスにパーティションされピクチャの例を示す。ピクチャは、4個のタイル(2個のタイル列、及び2個のタイル行)、11個のブリック(左上タイルは1個のブリックを含み、右上タイルは5個のブリックを含み、左下タイルは2個のブリックを含み、右下タイルは3個のブリックを含む)、及び4個の長方形スライスに分割される。
Figure 2023511059000034
Figure 2023511059000035
Figure 2023511059000036
single_tile_in_pic_flagが1に等しいことは、PPSを参照する各ピクチャ内に1個のみのタイルがあることを指定する。single_tile_in_pic_flagが0に等しいことは、PPSを参照する各ピクチャ内に1個より多くのタイルがあることを指定する。
注:タイル内で更なるブリック分割が無い場合、タイル全体がブリックと呼ばれる。ピクチャが、更なるブリック分割が無く、単一タイルのみを含むとき、それは、単一ブリックと呼ばれる。
ビデオビットストリーム適合性の要件は、single_tile_in_pic_flagの値が、CVS内のコーディングピクチャにより参照される全部のPPSについて同じであることである。
uniform_tile_spacing_flagが1に等しいことは、タイル列境界及び同様にタイル行境界が、ピクチャ全体に渡り均一に分散され、シンタックス要素tile_cols_width_minus1及びtile_rows_height_minus1を用いてシグナリングされることを指定する。uniform_tile_spacing_flagが0に等しいことは、タイル列境界及び同様にタイル行境界が、ピクチャ全体に渡り均一に分散され、シンタックス要素num_tile_columns_minus1及びnum_tile_rows_minus1及びシンタックス要素ペアtile_column_width_minus1[i]及びtile_row_height_minus1[i]のリストを用いてシグナリングされてよく又はされなくてもよいことを指定する。存在しないとき、uniform_tile_spacing_flagの値は1に等しいと推定される。
tile_cols_width_minus1に1を加えたものは、uniform_tile_spacing_flagが1に等しいとき、CTBのユニットの中でピクチャの最右列を除くタイル列の幅を指定する。tile_cols_width_minus1の値は、両端を含む0からPicWidthInCtbsY-1の範囲であるべきである。存在しないとき、tile_cols_width_minus1の値はPicWidthInCtbsY-1に等しいと推定される。
tile_rows_height_minus1に1を加えたものは、uniform_tile_spacing_flagが1に等しいとき、CTBのユニットの中でピクチャの最下行を除くタイル行の高さを指定する。tile_rows_height_minus1の値は、両端を含む0からPicHeightInCtbsY-1の範囲であるべきである。存在しないとき、tile_rows_height_minus1の値はPicHeightInCtbsY-1に等しいと推定される。
num_tile_columns_minus1に1を加えたものは、uniform_tile_spacing_flagが0に等しいとき、ピクチャをパーティションするタイル列の数を指定する。num_tile_columns_minus1の値は、両端を含む0からPicWidthInCtbsY-1の範囲であるべきである。single_tile_in_pic_flagが1に等しい場合、num_tile_columns_minus1の値は0に等しいと推定される。その他の場合、uniform_tile_spacing_flagが1に等しい場合、num_tile_columns_minus1の値は第6.5.1節で指定されるように推定される。
num_tile_rows_minus1に1を加えたものは、uniform_tile_spacing_flagが0に等しいとき、ピクチャをパーティションするタイル行の数を指定する。num_tile_rows_minus1の値は、両端を含む0からPicHeightInCtbsY-1の範囲であるべきである。single_tile_in_pic_flagが1に等しい場合、num_tile_rows_minus1の値は0に等しいと推定される。その他の場合、uniform_tile_spacing_flagが1に等しい場合、num_tile_rows_minus1の値は第6.5.1節で指定されるように推定される。
変数NumTilesInPicは、(num_tile_columns_minus1+1)*(num_tile_rows_minus1+1)に等しく設定される。
single_tile_in_pic_flagが0に等しいとき、NumTilesInPicは1より大きいべきである。
tile_column_width_minus1[i]に1を加えたものは、CTBのユニットの中のi番目のタイル列の幅を指定する。
tile_row_height_minus1[i]に1を加えたものは、CTBのユニットの中のi番目のタイル行の高さを指定する。
brick_splitting_present_flagが1に等しいことは、PPSを参照するピクチャの1つ以上のタイルが2つ以上のブリックに分割されてよいことを指定する。brick_splitting_present_flagが0に等しいことは、PPSを参照するピクチャのタイルが2つ以上のブリックに分割されないことを指定する。
num_tiles_in_pic_minus1に1を加えたものは、PPSを参照する各ピクチャ内のタイルの数を指定する。num_tiles_in_pic_minus1の値はNumTilesInPic-1に等しいべきである。存在しないとき、num_tiles_in_pic_minus1の値はNumTilesInPic-1に等しいと推定される。
brick_split_flag[i]が1に等しいことは、i番目のタイルが2つ以上のブリックに分割されることを指定する。brick_split_flag[i]が0に等しいことは、i番目のタイルが2つ以上のブリックに分割されないことを指定する。存在しないとき、brick_split_flag[i]の値は0に等しいと推定される。幾つかの実施形態では、PPSパースのSPSへの依存性は、シンタックス条件「if(RowHeight[i]>1)」を追加することにより導入される(uniform_brick_spacing_flag[i]についても同様である)。
uniform_brick_spacing_flag[i]が1に等しいことは、水平ブリック境界がi番目のタイル全体に渡り均一に分散され、シンタックス要素brick_height_minus1[i]を用いてシグナリングされることを指定する。uniform_brick_spacing_flag[i]が0に等しいことは、水平ブリック境界が、i番目のタイル全体に渡り均一に分散され、シンタックス要素num_brick_rows_minus2[i]及びbrick_row_height_minus1[i][j]を用いてシグナリングされてよく又はされなくてもよいことを指定する。存在しないとき、uniform_brick_spacing_flag[i]の値は1に等しいと推定される。
brick_height_minus1[i]に1を加えたものは、uniform_brick_spacing_flag[i]が1に等しいとき、CTBのユニットの中でi番目のタイルの中の最下行を除くブリック行の高さを指定する。ここで、brick_height_minus1の値は、両端を含む0~RowHeight[i]-2の範囲であるべきである。存在しないとき、brick_height_minus1[i]の値はRowHeight[i]-1に等しいと推定される。
num_brick_rows_minus2[i]に2を加えたものは、uniform_brick_spacing_flag[i]が0に等しいとき、i番目のタイルをパーティションするブリックの数を指定する。存在するとき、num_brick_rows_minus2uniform_brick_spacing_flag[i]の値は、両端を含む0~RowHeight[i]-2の範囲であるべきである。brick_split_flag[i]が0に等しい場合、brick_split_flag[i]の値は-1に等しいと推定される。その他の場合、uniform_brick_spacing_flag[i]が1に等しい場合、num_brick_rows_minus2[i]の値は第6.5.1節で指定されるように推定される。
brick_row_height_minus1[i][j]に1を加えたものは、uniform_tile_spacing_flagが0に等しいとき、CTBのユニットの中でi番目のタイルの中のj番目のブリックの高さを指定する。
以下の変数が導出され、uniform_tile_spacing_flagが1に等しいとき、num_tile_columns_minus1及びnum_tile_rows_minus1の値が推定され、両端を含む0~NumTilesInPic-1の範囲のiの各々について、uniform_brick_spacing_flag[i]が1等しいとき、num_brick_rows_minus2[i]の値は、第6.5.1節で指定されるように、CTBラスタ及びブリックスキャニング変換処理を呼び出すことにより、推定される。
-リストRowHeight[j]は、両端を含む0~num_tile_rows_minus1の範囲のjについて、CTBのユニットの中のj番目のタイル行の高さを指定する、
-リストCtbAddrRsToBs[ctbAddrRs]は、両端を含む0~PicSizeInCtbsY-1の範囲のctbAddrRsについて、ピクチャのCTBラスタスキャンにおけるCTBアドレスからブリックスキャンにおけるCTBアドレスへの変換を指定する、
-リストCtbAddrBsToRs[ctbAddrBs]は、両端を含む0~PicSizeInCtbsY-1の範囲のctbAddrBsについて、ブリックスキャンにおけるCTBアドレスからピクチャのCTBラスタスキャンにおけるCTBアドレスへの変換を指定する、
-リストBrickId[ctbAddrBs]は、両端を含む0~PicSizeInCtbsY-1の範囲のctbAddrBsについて、ブリック内のCTBアドレスからブリックIDへの変換を指定する、
-リストNumCtusInBrick[brickIdx]は、両端を含む0~NumBricksInPic-1の範囲のbrickIdxについて、ブリックインデックスからブリック内のCTUの数への変換を指定する、
-リストFirstCtbAddrBs[brickIdx]は、両端を含む0~NumBricksInPic-1の範囲のbrickIdxについて、ブリックIDからブリック内の第1CTBのブリックスキャンにおけるCTBアドレスへの変換を指定する。
single_brick_per_slice_flagが1に等しいことは、このPPSを参照する各スライスが1個のブリックを含むことを指定する。single_brick_per_slice_flagが0に等しいことは、このPPSを参照するスライスが1個より多くのブリックを含んでよいことを指定する。存在しないとき、single_brick_per_slice_flagの値は1に等しいと推定される。
rect_slice_flagが0に等しいことは、各スライス内のブリックが、ラスタスキャン順序であり、スライス情報がPPS内でシグナリングされないことを指定する。rect_slice_flagが1に等しいことは、各スライス内のブリックが、ピクチャの長方形領域をカバーし、スライス情報がPPS内でシグナリングされることを指定する。brick_splitting_present_flagが1に等しいとき、rect_slice_flagの値は1に等しいべきである。存在しない場合、rect_slice_flagは、1に等しいと推定される。
num_slices_in_pic_minus1に1を加えたものは、PPSを参照する各ピクチャ内のスライスの数を指定する。num_slices_in_pic_minus1の値は、両端を含む0からNumBricksInPic-1の範囲であるべきである。存在せず、single_brick_per_slice_flagが1に等しい場合、num_slices_in_pic_minus1の値はNumBricksInPic-1に等しいと推定される。
bottom_right_brick_idx_length_minus1に1を加えたものは、シンタックス要素bottom_right_brick_idx_delta[i]を表現するために使用されるビットの数を指定する。bottom_right_brick_idx_length_minus1の値は、両端を含む0からCeil(Log2(NumBricksInPic))-1の範囲であるべきである。
bottom_right_brick_idx_delta[i]は、iが0より大きいとき、i番目のスライスの右下角に位置するブリックのブリックインデックスと、(i-1)番目のスライスの右下角のブリックインデックスとの間の差を指定する。bottom_right_brick_idx_delta[0]は、0番目のスライスの右下角のブリックインデックスを指定する。single_brick_per_slice_flagが1に等しいとき、bottom_right_brick_idx_delta[i]の値は1に等しいと推定される。BottomRightBrickIdx[num_slices_in_pic_minus1]の値はNumBricksInPic-1に等しいと推定される。bottom_right_brick_idx_delta[i]シンタックス要素の長さは、bottom_right_brick_idx_length_minus1+1ビットである。
brick_idx_delta_sign_flag[i]が1に等しいことは、bottom_right_brick_idx_delta[i]の正符号を示す。sign_bottom_right_brick_idx_delta[i]が0に等しいこと負、bottom_right_brick_idx_delta[i]の負符号を示す。
ビデオビットストリーム適合性の要件は、スライスが、完全なタイルの数又は1つのタイルの完全なブリックの連続するシーケンスのみのいずれかを含むことである。
変数TopLeftBrickIdx[i]、BottomRightBrickIdx[i]、NumBricksInSlice[i]、及びBricksToSliceMap[j]は、i番目のスライスの左上角に位置するブリックのブリックインデックス、i番目のスライスの右下角に位置するブリックのブリックインデックス、i番目のスライスの中のブリックの数、及びブリックのスライスへのマッピングを指定し、以下のように導出される:
Figure 2023511059000037
一般的なスライスヘッダセマンティクス
存在するとき、スライスヘッダシンタックス要素slice_pic_parameter_set_id、non_reference_picture_flag、colour_plane_id、slice_pic_order_cnt_lsb、recovery_poc_cnt、no_output_of_prior_pics_flag、pic_output_flag、及びslice_temporal_mvp_enabled_flagの各々の値は、コーディングピクチャの全部のスライスヘッダの中で同じであるべきである。
変数CuQpDeltaValは、cu_qp_delta_absを含むコーディングユニットのルマ量子化パラメータと、その予測との間の差を指定し、0に等しく設定される。変数CuQpOffsetCb、CuQpOffsetCr、及びCuQpOffsetCbCrは、cu_chroma_qp_offset_flagを含むコーディングユニットのQp′Cb、Qp′Cr、及びQp′CbCr量子化パラメータの各々の値を決定するときに使用されるべき値を指定し、全部0に等しく設定される。
slice_pic_parameter_set_idは、使用中のPPSのpps_pic_parameter_set_idの値を指定する。slice_pic_parameter_set_idの値は、両端を含む0~63の範囲であるべきである。
ビットストリーム適合性の要件は、現在ピクチャのTemporalIdの値が、slice_pic_parameter_set_idに等しいpps_pic_parameter_set_idを持つPPSのTemporalIdの値以上であることである。
slice_addressはスライスのスライスアドレスを指定する。存在しないとき、slice_addressの値は0に等しいと推定される。
rect_slice_flagが0に等しい場合、以下が適用される:
-スライスアドレスは、式(7-59)で指定されるブリックIDである。
-slice_addressの長さはCeil(Log2(NumBricksInPic))ビットである。
-slice_addressの値は、両端を含む0~NumBricksInPic-1の範囲であるべきである。
その他の場合(rect_slice_flagが1に等しい)、以下が適用される:
-スライスアドレスは、スライスのスライスIDである。
-slice_addressの長さはsignalled_slice_id_length_minus1+1ビットである。
-signalled_slice_id_flagが0に等しい場合、slice_addressの値は、両端を含む0からnum_slices_in_pic_minus1の範囲であるべきである。その他の場合、slice_addressの値は、両端を含む0~2(signalled_slice_id_length_minus1+1)-1の範囲であるべきである。
以下の制約が適用されることは、ビットストリーム適合性の要件である:
-slice_addressの値は、同じコーディングピクチャの任意の他のコーディングスライスNALユニットのslice_addresの値と等しくてはならない。
-rect_slice_flagが0に等しいとき、ピクチャのスライスはそれらのslice_address値の昇順になるべきである。
-ピクチャのスライスの形状は、各ブリックが、復号されたときに、ピクチャ境界からなるか、又は以前に復号されたブリックの境界からなる、その左側境界全体及び上側境界全体を有するようなものでなければならない。
num_bricks_in_slice_minus1は、存在するとき、スライス内のブリック数-1を指定する。num_bricks_in_slice_minus1の値は、両端を含む0~NumBricksInPic-1の範囲内であるべきである。rect_slice_flagが0に等しく、single_brick_per_slice_flagが1に等しい場合、num_bricks_in_slice_minus1の値は0に等しいと推定される。single_brick_per_slice_flagが1に等しい場合、num_bricks_in_slice_minus1の値は0に等しいと推定される。
現在スライス内のブリックの数を指定する変数NumBricksInCurrSliceと、現在スライス内のi番目のブリックのブリックインデックスを指定するSliceBrickIdx[i]は、次のように導出される:
Figure 2023511059000038
変数SubPicIdx、SubPicLeftBoundaryPos、SubPicTopBoundaryPos、SubPicRightBoundaryPos、及びSubPicBotBoundaryPosは、以下のように導出される:
Figure 2023511059000039
2.6 例示的なシンタックス及びセマンティクス
Figure 2023511059000040
Figure 2023511059000041
Figure 2023511059000042
Figure 2023511059000043
Figure 2023511059000044
Figure 2023511059000045
Figure 2023511059000046
Figure 2023511059000047
Figure 2023511059000048
Figure 2023511059000049
Figure 2023511059000050
Figure 2023511059000051
Figure 2023511059000052
Figure 2023511059000053
Figure 2023511059000054
Figure 2023511059000055
Figure 2023511059000056
subpics_present_flagが1に等しいことは、SPS RBSPシンタックス内にサブピクチャパラメータが現在存在することを示す。subpics_present_flagが0に等しいことは、SPS RBSPシンタックス内にサブピクチャパラメータが現在存在しないことを示す。
注2:ビットストリームがサブビットストリーム抽出処理の結果であり、サブビットストリーム抽出処理への入力ビットストリームのサブピクチャの一部のみを含むとき、SPSのRBSP内のsubpics_present_flagの値を1に等しく設定することが要求され得る。
sps_num_subpics_minus1に1を加えたものは、sub-pictures.sps_num_subpics_minus1の数値が0~254の範囲内であるべきことを指定する。存在しないとき、sps_num_subpics_minus1の値は0に等しいと推定される。
subpic_ctu_top_left_x[i]は、CtbSizeYのユニットのi番目のサブピクチャの左上CTUの水平位置を指定する。シンタックス要素の長さは、以下の通りである:
Figure 2023511059000057
存在しないとき、subpic_ctu_top_left_x[i]の値は0に等しいと推定される。
subpic_ctu_top_left_y[i]は、CtbSizeYのユニットのi番目のサブピクチャの左上CTUの垂直位置を指定する。シンタックス要素の長さは、以下の通りである:
Figure 2023511059000058
存在しないとき、subpic_ctu_top_left_y[i]の値は0に等しいと推定される。
subpic_width_minus1[i]に1を加えたものは、CtbSizeYのユニットの中のi番目のサブピクチャの幅を指定する。シンタックス要素の長さは、Ceil(Log2(pic_width_max_in_luma_samples/CtbSizeY))ビットである。存在しないとき、subpic_width_minus1[i]の値は次式に等しいと推定される。
Figure 2023511059000059
subpic_height_minus1[i]に1を加えたものは、CtbSizeYのユニットの中のi番目のサブピクチャの高さを指定する。シンタックス要素の長さは、Ceil(Log2(pic_height_max_in_luma_samples/CtbSizeY))ビットである。存在しないとき、subpic_height_minus1[i]の値は次式に等しいと推定される。
Figure 2023511059000060
subpic_treated_as_pic_flag[i]が1に等しいことは、CVS内の各コーディングピクチャのi番目のサブピクチャが、インループフィルタリング操作を除き復号処理でピクチャとして取り扱われることを指定する。subpic_treated_as_pic_flag[i]が0に等しいことは、CVS内の各コーディングピクチャのi番目のサブピクチャが、インループフィルタリング操作を除き復号処理でピクチャとして取り扱われないことを指定する。存在しないとき、subpic_treated_as_pic_flag[i]の値は0に等しいと推定される。
loop_filter_across_subpic_enabled_flag[i]が1に等しいことは、インループフィルタリング操作が、CVSにおける各コーディングピクチャの中のi番目のサブピクチャの境界に跨がり実行されてよいことを指定する。loop_filter_across_subpic_enabled_flag[i]が0に等しいことは、CVS内の各コーディングピクチャ内のi番目のサブピクチャの境界に渡り、インループフィルタリング動作が実行されないことを指定する。存在しないとき、vloop_filter_across_subpic_enabled_pic_flag[i]の値は1に等しいと推定される。
ビットストリーム適合の要件は、以下の制約を適用することである:
-任意の2つのサブピクチャsubpicA及びsubpicBについて、subpicAのインデックスがsubpicBのインデックスより小さいとき、subpicAの任意のコーディングNALユニットは、復号順序で、subpicBの任意のコーディングNALユニットの後に続くべきである。
-サブピクチャの形状は、各サブピクチャが、復号されるとき、ピクチャ境界を構成する又は前に復号されたサブピクチャの境界を構成する、その左境界全体及び上境界全体を有するべきである。
sps_subpic_id_present_flagが1に等しいことは、サブピクチャIdマッピングがSPS内に存在することを指定する。sps_subpic_id_present_flagが0に等しいことは、サブピクチャIdマッピングがSPS内に存在することを指定する。
sps_subpic_id_signalling_present_flagが1に等しいことは、サブピクチャIdマッピングがSPS内でシグナリングされることを指定する。sps_subpic_id_signalling_present_flagが0に等しいことは、サブピクチャIdマッピングがSPS内でシグナリングされないことを指定する。存在しないとき、sps_subpic_id_signalling_present_flagの値は0に等しいと推定される。
sps_subpic_id_len_minus1に1を加えたものは、シンタックス要素sps_subpic_id[i]を表現するために使用されるビットの数を指定する。sps_subpic_id_len_minus1の値は、両端を含む0~15の範囲であるべきである。
sps_subpic_id[i]は、i番目のサブピクチャのサブピクチャIdを指定する。sps_subpic_id[i]シンタックス要素の長さは、sps_subpic_id_len_minus1+1ビットである。存在しないとき、及びsps_subpic_id_present_flagが0に等しいとき、sps_subpic_id[i]の値は、両端を含む0~sps_num_subpics_minus1の範囲の各iについて、iに等しいと推定される。
ph_pic_parameter_set_idは、使用中のPPSのpps_pic_parameter_set_idの値を指定するph_pic_parameter_set_idの値は、両端を含む0~63の範囲であるべきである。
ピクチャヘッダのTemporalIdの値が、ph_pic_parameter_set_idに等しいpps_pic_parameter_set_idを持つPPSのTemporalIdの値以上であることはビットストリーム適合性の要件である。
ph_subpic_id_signalling_present_flagが1に等しいことは、サブピクチャIdマッピングがピクチャヘッダ内でシグナリングされることを指定する。ph_subpic_id_signalling_present_flagが0に等しいことは、サブピクチャIdマッピングがピクチャヘッダ内でシグナリングされないことを指定する。
ph_subpic_id_len_minus1に1を加えたものは、シンタックス要素ph_subpic_id[i]を表現するために使用されるビットの数を指定する。pic_subpic_id_len_minus1の値は、両端を含む0~15の範囲であるべきである。
ビデオビットストリーム適合性の要件は、ph_subpic_id_len_minus1の値が、CVS内のコーディングピクチャにより参照される全部のピクチャヘッダについて同じであることである。
sps_subpic_id[i]は、i番目のサブピクチャのサブピクチャIdを指定する。ph_subpic_id[i]シンタックス要素の長さは、ph_subpic_id_len_minus1+1ビットである。
リストSubpicIdList[i]は以下のように導出される:
Figure 2023511059000061
デブロッキングフィルタ処理
概要
この処理への入力は、デブロッキング前の再構成ピクチャ、つまり、アレイrecPictureLであり、ChromaArrayTypeが0に等しくないとき、アレイrecPictureCb及びrecPictureCr.である。
この処理の出力は、デブロッキング後の変更された再構成ピクチャ、つまり、アレイrecPictureLであり、ChromaArrayTypeが0に等しくないとき、アレイrecPictureCb及びrecPictureCr.である。
ピクチャ内の垂直エッジが最初にフィルタリングされる。次に、ピクチャ内の水平エッジが、入力として垂直エッジフィルタリング処理により変更されたサンプルによりフィルタリングされる。各CTUのCTB内の垂直及び水平エッジは、コーディングユニット毎に別個に処理される。コーディングユニット内のコーディングブロックの垂直エッジは、コーディングブロックの左側にあるエッジから開始して、コーディングブロックの右側へ向かって、エッジを通じてそれらの幾何学的順序で進行しながらフィルタリングされる。コーディングユニット内のコーディングブロックの水平エッジは、コーディングブロックの上にあるエッジから開始して、コーディングブロックの下へ向かって、エッジを通じてそれらの幾何学的順序で進行しながらフィルタリングされる。
注:フィルタリング処理は本明細書ではピクチャ毎に指定されるが、デコーダが同じ出力値を生成するよう処理依存性順序を適正に考慮するならば、フィルタリング処理は、コーディングユニット毎に実施することができ、等価な結果を有する。
デブロッキングフィルタ処理は、全部のサブブロックエッジに適用され、以下のタイプのエッジを除いて、ピクチャのブロックエッジを変換する。
-ピクチャの境界にあるエッジ、
Figure 2023511059000062
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しいとき、ピクチャの仮想境界に一致するエッジ、
-loop_filter_across_tiles_enabled_flagが0に等しいとき、タイル境界に一致するエッジ、
-loop_filter_across_slices_enabled_flagが0に等しいとき、スライス境界に一致するエッジ、
-slice_deblocking_filter_disabled_flagが1に等しいとき、スライスの上又は左境界に一致するエッジ、
-1に等しいslice_deblocking_filter_disabled_flagを有するスライス内のエッジ、
-ルマ成分の4×4サンプルグリッド境界に対応しないエッジ、
-クロマ成分の8×8サンプルグリッド境界に対応しないエッジ、
-エッジの両側が1に等しいintra_bdpcm_luma_flagを有する、ルマ成分内のエッジ、
-エッジの両側が1に等しいintra_bdpcm_chroma_flagを有する、クロマ成分内のエッジ、
-関連する変換ユニットのエッジが存在しないクロマサブブロックのエッジ、

1方向のデブロッキングフィルタ処理
この処理への入力は:
-ルマ成分(DUAL_TREE_LUMA)又はクロマ成分(DUAL_TREE_CHROMA)が現在処理されているかどうかを指定する変数treeType、
-treeTypeがDUAL_TREE_LUMAに等しいとき、デブロッキング前の再構成ピクチャ、つまりアレイrecPictureL
-ChromaArrayTypeが0に等しくなく、treeTypeがDUAL_TREE_CHROMAであるとき、アレイrecPictureCb及びrecPictureCr
-垂直(EDGE_VER)又は水平(EDGE_HOR)エッジがフィルタリングされるかを指定する変数edgeType。
この処理の出力は、デブロッキング後に変更された再構成ピクチャである、つまり:
-treeTypeがDUAL_TREE_LUMAに等しいとき、アレイrecPictureL
-ChromaArrayTypeが0に等しくなく、treeTypeがDUAL_TREE_CHROMAであるとき、アレイrecPictureCb及びrecPictureCr
変数firstCompIdx及びlastCompIdxは、以下のように導出される:
Figure 2023511059000063
各コーディングユニット、及びコーディングブロック幅nCbW、コーディングブロック高さnCbH、及びコーディングブロックの左上サンプルの位置(xCb,yCb)を有する、両端を含むfirstCompIdx~lastCompIdxの範囲の色成分インデックスcIdxにより示されるコーディングユニットの色成分毎の各コーディングブロックについて、cIdxが0に等しいとき、又はcIdxが0に等しくなく、edgeTypeがEDGE_VERに等しく、xCb%8が0に等しいとき、又はcIdxが0に等しくなく、edgeTypeがEDGE_HORに等しく、yCb%8が0に等しいとき、エッジは以下の順序付きステップによりフィルタリングされる:
1.変数filterEdgeFlagは、以下のように導出される:
-edgeTypeがEDGE_VERに等しく、以下の条件のうちの1つ以上が真である場合、filterEdgeFlagが0に等しく設定される:
-現在コーディングブロックの左境界がピクチャの左境界である
Figure 2023511059000064
-現在コーディングブロックの左境界がタイルの左境界であり、loop_filter_across_tiles_enabled_flagが0に等しい。
-現在コーディングブロックの左境界がスライスの左境界であり、loop_filter_across_slices_enabled_flagが0に等しい。
-現在コーディングブロックの左境界がピクチャの垂直仮想境界のうちの1つであり、VirtualBoundariesDisabledFlagが1に等しい。
-その他の場合、edgeTypeがEDGE_HORに等しく、以下の条件のうちの1つ以上が真である場合、変数filterEdgeFlagが0に等しく設定される:
-現在ルマコーディングブロックの上境界がピクチャの上境界である
Figure 2023511059000065
-現在コーディングブロックの上境界がタイルの上境界であり、loop_filter_across_tiles_enabled_flagが0に等しい。
-現在コーディングブロックの上境界がスライスの上境界であり、loop_filter_across_slices_enabled_flagが0に等しい。
-現在コーディングブロックの上境界がピクチャの水平仮想境界のうちの1つであり、VirtualBoundariesDisabledFlagが1に等しい。
-その他の場合、filterEdgeFlagが1に等しく設定される。
2.7 TPM、HMVP、及びGEO
VVCにおけるTPM(triangular Prediction Mode)は、ブロックを、異なる動き情報を有する2個の三角形に分割する。
VVCにおけるHMVP(History-based Motion vector Prediction)は、動きベクトル予測のために使用されるべき動き情報のテーブルを維持する。テーブルは、インターコーディングブロックを復号した後に更新されるが、インターコーディングがTPMコーディングされる場合には更新されない。
GEO(geometry partition mode)は、TPMの拡張である。GEOでは、ブロックは、三角形であってよく又はそうでなくてもよい2個のパーティションに、直線により分割できる。
2.8 ALF、CC-ALF、及び仮想境界
VVCにおけるALF(Adaptive Loop-Filter)は、ピクチャが復号された後に、ピクチャ品質を向上するために適用される。
仮想境界(Virtual Boundary (VB))は、ALFをハードウェア設計と親和させるために、VVCにおいて採用された。VBにより、ALFは、2個のALF仮想境界により境界を定められるALF処理ユニットにおいて実施される。
CC-ALF(cross-component ALF)は、ルマサンプルの情報を参照することにより、クロマサンプルをフィルタリングする。
2.9 サブピクチャのための例示的なSEI
Figure 2023511059000066
D.3.8 サブピクチャレベル情報SEIメッセージセマンティクス
サブピクチャレベル情報SEIメッセージは、付録Aに従ってサブピクチャを含む抽出されたビットストリームの適合性をテストするときに、ビットストリーム内のサブピクチャが適合するレベルに関する情報を含む
サブピクチャレベル情報SEIメッセージがCLVSの任意のピクチャについて存在するとき、サブピクチャレベル情報SEIメッセージは、CLVSの第1ピクチャについて存在するべきである。サブピクチャレベル情報SEIメッセージは、現在ピクチャからCLVSの終わりまで、復号順序で現在レイヤについて持続する。同じCLVSに適用される全部のサブピクチャレベル情報SEIメッセージは、同じ内容を有するべきである。
sli_seq_parameter_set_idは、サブピクチャレベル情報SEIメッセージに関連付けられたコーディングピクチャにより参照されるSPSのsps_seq_parameter_set_idを示し、それに等しいべきである。sli_seq_parameter_set_idの値は、サブピクチャレベル情報SEIメッセージに関連付けられたコーディングピクチャのPHのph_pic_parameter_set_idにより参照されるPPSの中のpps_seq_parameter_set_idの値に等しいべきである。
ビットストリーム適合性の要件は、サブピクチャレベル情報SEIメッセージがCLVSについて存在するとき、両端を含む0~sps_num_subpics_minus1の範囲にあるiの各値について、subpic_treated_as_pic_flag[i]の値が1に等しいべきであることである。
num_ref_levels_minus1に1を加えたものは、sps_num_subpics_minus1+1個のサブピクチャの各々についてシグナリングされる参照レベルの数を指定する。
explicit_fraction_present_flagが1に等しいことは、シンタックス要素ref_level_fraction_minus1[i]が存在することを指定する。explicit_fraction_present_flagが0に等しいことは、シンタックス要素ref_level_fraction_minus1[i]が存在しないことを指定する。
ref_level_idc[i]は、付録Aに指定したように、各サブピクチャが適合するレベルを示す。ビットストリームは、付録Aに指定された以外のref_level_idcの値を含んではならない。他の値のref_level_idc[i]は、ITU--T/ISO/IECによる将来の使用のために予約されている。ビデオビットストリーム適合性の要件は、iより大きい任意の値のkについて、ref_level_idc[i]の値がref_level_idc[k]以下であることである。
ref_level_fraction_minus1[i][j]に1を加えたものは、第A.4.1節で指定されたように、j番目のサブピクチャが適合するref_level_idc[i]に関連付けられたレベル制限の割合を指定する。
変数SubPicSizeY[j]は、(subpic_width_minus1[j]+1)*(subpic_height_minus1[j]+1)に等しく設定される。
存在しないとき、ref_level_fraction_minus1[i][j]の値はCeil(256*SubPicSizeY[j]÷PicSizeInSamplesY*MaxLumaPs(general_level_idc)÷MaxLumaPs(ref_level_idc[i])-1に等しいと推定される。
変数RefLevelFraction[i][j]は、ref_level_fraction_minus1[i][j]+1に等しく設定される。
変数SubPicNumTileCols[j]及びSubPicNumTileRows[j]は、以下のように導出される:
Figure 2023511059000067
変数SubPicCpbSizeVcl[i][j]及びSubPicCpbSizeNal[i][j]は、以下のように導出される:
Figure 2023511059000068
ここで、MaxCPBは、第A.4.2節で指定されたように、ref_level_idc[i]から導出される。
注1:サブピクチャが抽出されると、結果として生じるビットストリームは、SubPicCpbSizeVcl[i][j]及びSubPicCpbSizeNal[i][j]以上のCpbSize(SPSの中で示されるか、又は推定される)を有する。
ビデオビットストリーム適合性の要件は、両端を含む0~sps_num_subpics_minus1の範囲のjについて、j番目のサブピクチャを抽出することにより生じる、0に等しいgeneral_tier_flag及び両端を含む0~num_ref_level_minus1の範囲のiについて、ref_level_idc[i]に等しいレベルを有するビットストリームが、付録Cで指定されるように各ビットストリーム適合性テストのための以下の制約に従うことである。
-Ceil(256*SubPicSizeY[i]÷RefLevelFraction[i][j])が、MaxLumaPs以下であり、ここで、MaxLumaPsは表A.1で指定される。
-Ceil(256*(subpic_width_minus1[i]+1)÷RefLevelFraction[i][j])の値が、Sqrt(MaxLumaPs*8)以下である。
-Ceil(256*(subpic_height_minus1[i]+1)÷RefLevelFraction[i][j])の値が、Sqrt(MaxLumaPs*8)以下である。
-SubPicNumTileCols[j]の値が、MaxTileCols以下であり、SubPicNumTileRows[j]の値が、MaxTileRows以下であり、ここで、MaxTileCols及びMaxTileRowsは表A.1で指定される。
1つ以上のサブピクチャを含む、サブピクチャインデックスSubPicSetIndicesのリストを構成する任意のサブピクチャセット、及びサブピクチャセットNumSubPicInSetの中の多数のサブピクチャについて、サブピクチャセットのレベル情報が導出される。
参照レベルref_level_idc[i]に関する全体のレベル部分についての変数SubPicSetAccLevelFraction[i]、サブピクチャセットの変数SubPicSetCpbSizeVcl[i][j]及びSubPicSetCpbSizeNal[i][j]は、以下のように導出される:
Figure 2023511059000069
サブピクチャセットシーケンスレベル指示子SubPicSetLevelIdcの値は、以下のように導出される:
Figure 2023511059000070
ここで、MaxTileCols及びMaxTileRowsは、ref_level_idc[i]について表A.1で指定される。
0に等しいgeneral_tier_flag及びSubPicSetLevelIdcに等しいレベルを有するプロファイルに適合するサブピクチャセットビットストリームは、付録Cで指定されるようにビットストリーム適合性テスト毎に以下の制約に従うべきである。
- VCL HRDパラメータについて、SubPicSetCpbSizeVcl[i]は、CpbVclFactor*MaxCPB以下であるべきであり、ここで、CpbVclFactorは表A.3で指定され、MaxCPBはCpbVclFactorビットのユニットの中で表A.1で指定される。
- NAL HRDパラメータについて、SubPicSetCpbSizeVcl[i]は、CpbVclFactor*MaxCPB以下であるべきであり、ここで、CpbNalFactorは表A.3で指定され、MaxCPBはCpbNalFactorビットのユニットの中で表A.1で指定される。MaxCPB
注2:サブピクチャが抽出されると、結果として生じるビットストリームは、SubPicCpbSizeVcl[i][j]及びSubPicSetCpbSizeNal[i][j]以上のCpbSize(SPSの中で示されるか、又は推定される)を有する。
2.10.パレットモード
2.10.1 パレットモードの概念
パレットモードの裏にある基本的思想は、CU内のピクセルが代表色値の小さなセットにより表現されることである。このセットは、パレットと呼ばれる。そして、エスケープシンボル及びそれに続く(場合によっては量子化された)コンポーネント値をシグナリングすることにより、パレットの外側にあるサンプルを示すことが可能である。この種のピクセルは、エスケープピクセルと呼ばれる。パレットモードは、図10に示される。図10に示すように、3つの色成分(ルマ、及び2つのクロマ成分)を有する各ピクセルについて、パレットへのインデックスが見付かり、ブロックはパレット内の見付かった値に基づき再構成され得る。
2.10.2 パレットエントリのコーディング
パレットコーディングブロックについて、以下の主要な特徴が導入される:
(1)存在する場合には現在パレットについてシグナリングされた新しいエントリ及び予測子パレットに基づき、現在パレットを構成する。
(2)現在サンプル/ピクセルを2つのカテゴリに分類する。一方(第1カテゴリ)は、現在パレットの中のサンプル/ピクセルを含み、他方(第2カテゴリ)は、現在パレットを超えるサンプル/ピクセルを含む。
A.第2カテゴリ内のサンプル/ピクセルについて、(エンコーダにおいて)サンプル/ピクセルに対して量子化が適用され、量子化済みの値がシグナリングされ、(デコーダにおいて)逆量子化が適用される。
2.10.2.1 予測子パレット
パレットエントリのコーディングについて、予測子パレットが維持され、パレットコーディングブロックを復号した後に更新される。
2.10.2.1.1 予測子パレットの初期化
予測子パレットは、各スライス及び各タイルの始めに初期化される。パレット及び予測子パレットの最大サイズがSPS内でシグナリングされる。HEVC-SCCでは、palette_predictor_initializer_present_flagがPPSに導入される。このフラグが1のとき、予測子パレットを初期化するためのエントリは、ビットストリーム内でシグナリングされる。
palette_predictor_initializer_present_flagの値に依存して、予測子パレットのサイズは0にリセットされるか、又はPPS内でシグナリングされた予測子パレット初期化子エントリを用いて初期化される。HEVC-SCCでは、サイズ0の予測子パレット初期化子は、PPSレベルの予測子パレット初期化の明示的な無効化を可能にするために有効にされた。
対応するシンタックス、セマンティクス、及び復号処理は以下のように定義される:
Figure 2023511059000071
palette_mode_enabled_flagが1に等しいことは、パレットモードの復号処理が、イントラブロックについて使用されてよいことを指定する。palette_mode_enabled_flagが0に等しいことは、パレットモードの復号処理が適用されないことを指定する。存在しないとき、palette_mode_enabled_flagの値は0に等しいと推定される。
palette_max_sizeは、最大許容パレットサイズを指定する。存在しないとき、palette_max_sizeの値は0であると推定される。
delta_palette_max_predictor_sizeは、最大許容パレット予測子サイズと最大許容パレットサイズとの間の差を指定する。存在しないとき、delta_palette_max_predictor_sizeの値は0であると推定される。変数PaletteMaxPredictorSizeは、以下のように導出される:
Figure 2023511059000072
palette_max_sizeが0に等しいとき、delta_palette_max_predictor_sizeの値が0に等しいべきであることが、ビットストリーム適合性の要件である。
sps_palette_predictor_initializer_present_flagが1に等しいことは、シーケンスパレット予測子がsps_palette_predictor_initializersを用いて初期化されることを指定するsps_palette_predictor_initializer_flagが0に等しいことは、シーケンスパレット予測子が0に初期化されることを指定する。存在しないとき、sps_palette_predictor_initializer_flagの値は0に等しいと推定される。
palette_max_sizeが0に等しいとき、sps_palette_predictor_initializer_present_flagの値が0に等しいべきであることが、ビットストリーム適合性の要件である。
sps_num_palette_predictor_initializer_minus1に1を加えたものは、シーケンスパレット予測子初期化子の中のエントリの数を指定する。
ビデオビットストリーム適合性の要件は、sps_num_palette_predictor_initializer_minus1の値に1を加えたものがPaletteMaxPredictorSize以下であることである。
sps_palette_predictor_initializers[comp][i]は、アレイPredictorPaletteEntriesを初期化するために使用されるSPS内のi番目のパレットエントリのcomp番目の成分の値を指定する。両端を含む0~sps_num_palette_predictor_initializer_minus1の範囲のiの対しについて、sps_palette_predictor_initializers[0][i]の値は、両端を含む0~(1<<BitDepthY)-1の範囲であるべきであり、sps_palette_predictor_initializers[1][i]及びsps_palette_predictor_initializers[2][i]の値は、両端を含む0~(1<<BitDepthC)-1の範囲であるべきである。
Figure 2023511059000073
pps_palette_predictor_initializer_present_flagが1に等しいことは、PPSを参照するピクチャについて使用さえるパレット予測子初期化子が、PPSにより指定さえるパレット予測子初期化子に基づき導出されることを指定する。pps_palette_predictor_initializer_flagが0に等しいことは、PPSを参照するピクチャについて使用さえるパレット予測子初期化子が、アクティブSPSにより指定されるパレット予測子初期化子に等しいと推定されることを指定する。存在しないとき、pps_palette_predictor_initializer_present_flagの値は0に等しいと推定される。
palette_max_sizeが0に等しいか又はpalette_mode_enabled_flagが0に等しいとき、pps_palette_predictor_initializer_present_flagの値が0に等しいことが、ビットストリーム適合性の要件である。
pps_num_palette_predictor_initializerは、ピクチャパレット予測子初期化子の中のエントリの数を指定する。
ビットストリーム適合性の要件は、pps_num_palette_predictor_initializerの値がPaletteMaxPredictorSize以下であることである。
パレット予測子変数は、以下のように初期化される:
コーディングツリーユニットがタイル内の最初のコーディングツリーユニットである場合、以下が適用される:
パレット予測子変数に対する初期化処理が呼び出される。
その他の場合、entropy_coding_sync_enabled_flagが1に等しく、CtbAddrInRs%PicWidthInCtbsYが0に等しいか又はTileId[CtbAddrInTs]がTileId[CtbAddrRsToTs[CtbAddrInRs-1]]に等しくない場合、以下が適用される:
空間的近隣ブロックTの左上ルマサンプルの位置(xNbT,yNbT)は、現在コーディングツリーブロックの左上ルマサンプルの位置(x0,y0)を用いて以下のように導出される:
Figure 2023511059000074
zスキャン順序で、ブロックの利用可能性導出処理は、(x0,y0)に等しく設定された位置(xCurr,yCurr)及び(xNbT,yNbT)に等しく設定された近隣位置(xNbY,yNbY)を入力として呼び出され、出力はavailableFlagTに割り当てられる。
コンテキスト変数、Riceパラメータ初期化状態、及びパレット予測子変数の同期化処理は、以下のように呼び出される:
availableFlagTが1に等しい場合、コンテキスト変数の同期化処理、Riceパラメータ初期化状態、及びパレット予測子変数は、TableStateIdxWpp、TableMpsValWpp、TableStatCoeffWpp、PredictorPaletteSizeWpp、及びTablePredictorPaletteEntriesWppを入力として呼び出される。
その他の場合、以下が適用される。
パレット予測子変数に対する初期化処理が呼び出される。
その他の場合、CtbAddrInRsがslice_segment_addressに等しく、dependent_slice_segment_flagが1に等しい場合、コンテキスト変数及びRiceパラメータ初期化状態の同期化処理は、TableStateIdxD、TableMpsValDs、TableStatCoeffDs、PredictorPaletteSizeDs、及びTablePredictorPaletteEntriesDsを入力として呼び出される。
その他の場合、以下が適用される。
パレット予測子変数に対する初期化処理が呼び出される。
9.3.2.3 パレット予測子エントリの初期化処理
この処理の出力は、初期化済みパレット予測子変数PredictorPaletteSize及びPredictorPaletteEntriesである。
変数numCompsは、以下のように導出される:
Figure 2023511059000075
-pps_palette_predictor_initializer_present_flagが1に等しい場合、以下が適用される:
-PredictorPaletteSizeがpps_num_palette_predictor_initializerに等しく設定される。
-アレイPredictorPaletteEntriesは、以下のように導出される:
Figure 2023511059000076
-その他の場合(pps_palette_predictor_initializer_present_flagが0に等しい)、sps_palette_predictor_initializer_present_flagが 1に等しい場合、以下が適用される:
-PredictorPaletteSizeは、sps_num_palette_predictor_initializer_minus1に1を足したものに等しく設定される。
-アレイPredictorPaletteEntriesは、以下のように導出される:
Figure 2023511059000077
-その他の場合(pps_palette_predictor_initializer_present_flagが0に等しく、sps_palette_predictor_initializer_present_flagが0に等し)、PredictorPaletteSizeは0に等しく設定される。
2.10.2.1.2 予測子パレットの使用
パレット予測子内の各エントリについて、現在パレットの部分であるかどうかを示す再使用フラグがシグナリングされる。これは、図9に示される。再使用フラグは、0のランレングスコーディングを用いて送信される。この後に、新しいパレットエントリの数が、0次の指数ゴロム(Exponential Golomb (EG))コード、つまりEG-0を用いてシグナリングされる。最後に、新しいパレットエントリの成分値がシグナリングされる。
2.10.2.2 予測子パレットの更新
予測子パレットの更新は、以下のステップにより実行される:
(1)現在ブロックを復号する前に、PltPred0により示される予測子パレットが存在する。
(2)最初にPltPred0からのもの、次に現在パレットの新しいエントリを挿入することにより、現在パレットテーブルを構成する。
(3)PltPred1を構成する:
A.先ず、それらを現在パレットテーブルに追加する(PltPred0からのものを含んでよい)。
B.満たされない場合、昇順のエントリインデックスに従い、PltPred0内の非参照を追加する。
2.10.3 パレットインデックスのコーディング
パレットインデックスは、図15に示す水平及び垂直トラバーススキャンを用いてコーディングされる。スキャン順序は、palette_transpose_flagを用いてビットストリーム内で明示的にシグナリングされる。この節の残りの部分では、スキャンが水平方向であると仮定する。
パレットインデックスは、2つのパレットサンプルモード:「COPY_LEFT」及び「COPY_ABOVE」を用いてコーディングされる。「COPY_LEFT」モードでは、パレットインデックスは復号インデックスに割り当てられる。「COPY_ABOVE」モードでは、上の行のサンプルのパレットインデックスがコピーされる。「COPY_LEFT」及び「COPY_ABOVE」モードの両方について、同じモードを用いてコーディングされる後のサンプルの数を指定する実行値がシグナリングされる。
パレットモードでは、エスケープサンプルのインデックスの値は、パレットエントリの数である。そして、エスケープシンボルが「COPY_LEFT」又は「COPY_ABOVE」モードの実行の部分であるとき、エスケープシンボル毎にエスケープ成分値がシグナリングされる。パレットモードのコーディングは、図16に示される。
このシンタックス順序は、以下のように達成される。第1に、CUのインデックス値の数がシグナリングされる。この後に、トランケート2値コーディングを用いてCU全体の実際のインデックス値のシグナリングが続く。バイパスモードでは、インデックスの数、及びインデックス値の両方がコーディングされる。これは、インデックス関連バイパスビンを一緒にグループ化する。次に、パレットサンプルモード(必要な場合)及び実行が、インタリーブ方法でシグナリングされる。最後に、CU全体のエスケープサンプルに対応する成分エスケープ値が一緒にグループ化され、バイパスモードでコーディングされる。エスケープサンプルの2値化は、第3次によるEGコーディング、つまりEG-3である。
追加のシンタックス要素last_run_type_flagは、インデックス値をシグナリングした後にシグナリングされる。このシンタックス要素は、インデックスの数と組合せて、ブロック内の最後の実行に対応する実効値をシグナリングする必要を除去する。
HEVC-SCCでは、パレットモードは、4:2:2、4:2:0、及びモノクロクロマフォーマットについても有効にされる。パレットエントリ及びパレットインデックスのシグナリングは、全てのクロマフォーマットついてほぼ同一である。非モノクロフォーマットの場合、各パレットエントリは3つの成分で構成される。モノクロフォーマットでは、各パレットエントリは、単一成分で構成される。サブサンプリングされたクロマ方向について、クロマサンプルは、2で割り切れるルマサンプルインデックスに関連付けられる。CUについてパレットインデックスを再構成した後に、サンプルがそれに関連付けられた単一成分のみを有する場合、パレットエントリの第1成分のみが使用される。シグナリングにおける相違は、エスケーブ成分値についてのみである。各エスケープサンプルについて、シグナリングされるエスケープ成分値の数は、そのサンプルに関連付けられた成分の数に依存して異なってよい。
更に、パレットインデックスコーディングの中のインデックス調整処理がある。パレットインデックスをシグナリングするとき、左近隣インデックス又は上近隣インデックスは、現在インデックスと異なるべきである。従って、現在パレットインデックスの範囲は、1つの可能性を除去することにより、1だけ減少され得る。その後に、インデックスはトランケート2値(truncated binary (TB))2値化によりシグナリングされる。
この部分に関連するテキストは、以下に示される。ここで、CurrPaletteIndexは現在パレットインデックスであり、adjustedRefPaletteIndexは予測インデックスである。
変数PaletteIndexMap[xC][yC]は、パレットインデックスを指定し、これはCurrentPaletteEntriesにより表されるアレイへのインデックスである。アレイインデックスxC、yCは、ピクチャの左上ルマサンプルに対するサンプルの位置(xC,yC)を指定する。PaletteIndexMap[xC][yC]の値は、両端を含む0~MaxPaletteIndexの範囲であるべきである。
変数adjustedRefPaletteIndexは、以下のように導出される:
Figure 2023511059000078
CopyAboveIndicesFlag[xC][yC]が0に等しいとき、変数CurrPaletteIndexは以下のように導出される:
Figure 2023511059000079
2.10.3.1 パレットコーディングブロックの復号処理
1)予測子パレット内のエントリのうちのどれが再使用されるかをマークするための予測情報を読み出す;(palette_predictor_run)。
2)現在ブロックのための新しいパレットエントリを読み出す。
a)num_signalled_palette_entries
b)new_palette_entries
3)a)及びb)に基づき、CurrentPaletteEntriesを構成する。
4)エスケープシンボル存在フラグ:palette_escape_val_present_flagを読み出し、MaxPaletteIndexを導出する。
5)何個のサンプルがコピーモード/実行モードによりコーディングされないかをコーディングする。
a)num_palette_indices_minus1
b)コピーモード/実行モードによりコーディングされない各サンプルについて、現在pltテーブル内のpalette_idx_idcをコーディングする。
2.11 マージ推定領域(Merge Estimation Region (MER))
MERはHEVCに採用される。マージ候補リストが構成される方法は、近隣ブロック間の依存性を導入する。特に、埋め込み型エンコーダの実装では、近隣ブロックの動き推定段階は、標準的に、並列に又は少なくともパイプラインで実行され、スループットを向上する。AMVPでは、動き探索により見付かるMVを差分コーディングするためにMVPだけが使用されるので、これは、大きな問題ではない。マージモードのための動き推定段階は、しかしながら、標準的に、単に、コスト関数に基づき、候補リスト構成及びどの候補を選択するかの決定で構成される。前述の近隣ブロック間の依存性により、近隣ブロックのマージ候補リストは、並列に生成できず、並列エンコーダ設計のボトルネックになる。従って、マージ候補リストが候補ブロックが該マージ推定領域(MER)内に位置するかどうかをチェックすることにより独立に導出できる領域を示す並列マージ推定レベルがHEVCで導入された。同じMER内の候補ブロックは、マージ候補リストに含まれない。従って、その動きデータは、リスト構成のときに利用可能である必要がない。このレベルが例えば32であるとき、32×32領域内の全部の予測ユニットは、同じ32×32MER内にある全部のマージ候補がリストに挿入されないので、マージ候補リストを並列に構成できる。図12は、7個のCU及び10個のPUによるCTUパーティションを示す例を示す。第1PU0の全部の可能なマージ候補は、それらが第1の32×32MERの外側にあるので、利用可能である。
第2MERについて、PU2~6のマージ候補リストは、そのMERの内側のマージ推定が独立しているべきであるとき、これらのPUからの動きデータを含むことができない。従って、例えばPU5を見ると、利用可能なマージ候補がなく、従って、マージ候補リストに挿入されない。その場合、PU5のマージリストは、時間的候補(利用可能な場合)及び0個のMV候補のみで構成される。エンコーダが並列化とコーディング効率との間でトレードオフできるようにするために、並列マージ推定レベルが適応され、ピクチャパラメータセットの中でlog2_parallel_merge_level_minus2としてシグナリングされる。以下のMERサイズが許容される:44(可能な並列マージ推定がない)、8×8、16×16、32×32、及び64×64。より大きなMERにより可能になるより高い並列化は、マージ候補リストからより多くの可能な候補を排除する。それは、他方で、コーディング効率を低下させる。マージ推定領域が4×4ブロックより大きいとき、スループットを向上させるためにマージリスト構成の別の変更が開始する。88ルマCBを有するCUでは、単一のマージ候補リストのみが、そのCUの内側の全部のPUについて使用される。
3. 開示の実施形態により解決される技術的問題の例
(1)サブピクチャ制約に違反し得る幾つかの設計がある。
A)アフィン再構成候補におけるTMVPは、現在サブピクチャの範囲外にある同一位置ピクチャ内のMVをフェッチすることがある。
B)双方向オプティカルフロー(Bi-Directional Optical Flow (BDOF))及び予測精緻化オプティカルフロー(Prediction Refinement Optical Flow (PROF))における勾配を導出するとき、整数参照サンプルの2つの拡張された行及び2つの拡張された列が、フェッチされる必要がある。これらの参照サンプルは、現在サブピクチャの範囲外にある場合がある。
C)ルママッピングクロマスケーリング(luma mapping chroma scaling (LMCS))においてクロマ残差スケーリング因子を導出するとき、アクセスされる再構成済みルマサンプルは、現在サブピクチャの範囲の範囲外にある場合がある。
D)ルマイントラ予測モード、イントラ予測のための参照サンプル、CCLMのための参照サンプル、マージ/AMVP/CIIP/IBC/LMCSのための空間近隣候補のための近隣ブロック利用可能性、量子化パラメータ、CABAC初期化処理、左及び上シンタックスエレメントを用いるctxInc導出、及びctxIncfor、シンタックスエレメントmtt_split_cu_vertical_flagを導出するとき、近隣ブロックが現在サブピクチャの範囲外にある場合がある。サブピクチャの表現は、不完全なCTUを有するサブピクチャをもたらすことがある。CTUパーティション及びCU分割処理は、不完全なCTUを考慮する必要があり得る。
(2)サブピクチャに関連するシグナリングされるシンタックスエレメントは、任意の大きさであってよく、これはオーバフロー問題を生じ得る。
(3)サブピクチャの表現は、非長方形サブピクチャを生じ得る。
(4)現在、サブピクチャ及びサブピクチャグリッドは、4サンプルの単位で定義される。そして、シンタックスエレメントの長さは、ピクチャの高さを4で割ったものに依存する。しかしながら、現在のpic_width_in_luma_samples及びpic_height_in_luma_samplesは、Max(8,MinCbSizeY)の整数倍でなければならず、サブピクチャグリッドは8サンプルの単位で定義される必要がある。
(5)SPSシンタックスpic_width_max_in_luma_samples及びpic_height_max_in_luma_samplesは、8未満にならないよう制約される必要があり得る。
(6)参照ピクチャ再サンプリング/スケーラビリティとサブピクチャとの間の相互作用は、現在の設計では考慮されない。
(7)時間フィルタリングで、異なるサブピクチャに渡るサンプルが必要であることがある。
(8)スライスをシグナリングするとき、情報は、幾つかの場合にはシグナリングを伴わずに推定できる。
(9)全部の定義されたスライスがピクチャ又はサブピクチャ全体をカバーできない可能性がある。
(10)2個のサブピクチャのIDは同一であってよい。
(11)pic_width_max_in_luma_samples/CtbSizeYは、0に等しくてよく、結果として無意味なLog2()演算をもたらす。
(12)PH内のIDは、PPS内よりも望ましいが、SPS内よりも望ましくない。これは矛盾している。
(13)PPSにおけるlog2_transform_skip_max_size_minus2が、sps_transform_skip_enabled_flaginSPSに依存してパースされ、結果としてパース依存性をもたらす。
(14)デブロッキングのためのloop_filter_across_subpic_enabled_flagは、現在サブピクチャだけを検討し、近隣のサブピクチャを検討しない。
(15)適用では、サブピクチャは、シーケンスのピクチャの中の同じ位置にある領域が独立して復号され又は抽出される柔軟性を提供するよう設計される。領域は、幾つかの特別な要件に従ってよい。例えば、それは、高品質を要求する関心領域(Region of Interest (ROI))であってよい。別の例では、それは、ビデオを高速スキミングするトレースとして機能してよい。更に別の例では、それは、低解像度、低複雑性、及び低電力消費のビットストリームを提供することができ、該ビットストリームは複雑性に敏感なエンドユーザへと供給され得る。あらゆるそれらの適用は、サブピクチャの領域が他の部分と異なる構成により符号化されることを要求し得る。しかしながら、現在のVVCでは、サブピクチャを独立に構成できるメカニズムが存在しない。
4.例示的な技術及び実施形態
以下の詳細なリストは、一般的な概念を説明するための例として考えられるべきである。これらの項目は、狭義に解釈されるべきではない。更に、これらの項目は任意の方法で結合できる。以後、時間フィルタは、他のピクチャ内のサンプルを必要とするフィルタを表すために使用される。Max(x,y)は、x及びyのうちの大きい方を返す。Min(x,y)は、x及びyのうちの小さい方を返す
1.アフィン動き候補(例えば、構成されたアフィンマージ候補)を生成するためにピクチャ内で時間MV予測子がフェッチされる位置(位置RBと命名する)は、必要なサブピクチャの左上角座標が(xTL,yTL)であり、必要なサブピクチャの右下座標が(xBR,yBR)であると仮定すると、必要なサブピクチャ内に存在しなければならない。
a.一例では、必要なサブピクチャは、現在ブロックをカバーするサブピクチャである。
b.一例では、座標(x,y)を有する位置RBが必要なサブピクチャの外側にある場合、時間MV予測子は利用できないとして扱われる。
i.一例では、x>xBRの場合、位置RBは必要なサブピクチャの外側にある。
ii.一例では、y>yBRの場合、位置RBは必要なサブピクチャの外側にある。
iii.一例では、x<xTLの場合、位置RBは必要なサブピクチャの外側にある。
iv.一例では、y<yTLの場合、位置RBは必要なサブピクチャの外側にある。
c.一例では、位置RBが必要なサブピクチャの外側にある場合、BRの置換が利用される。
i.代替として、更に、置換位置は必要なサブピクチャ内に存在するべきである。
d.一例では、位置RBは、必要なサブピクチャ内になるようクリッピングされる。
i.一例では、xは、x=Min(x,xBR)のようにクリッピングされる。
ii.一例では、yは、y=Min(y,yBR)のようにクリッピングされる。
iii.一例では、xは、x=Max(x,xTL)のようにクリッピングされる。
iv.一例では、yは、y=Max(y,yTL)のようにクリッピングされる。
e.一例では、位置RBは、同一位置ピクチャ内の現在ブロックの対応するブロックの内側の右下位置であってよい。
f.提案される方法は、現在ピクチャと異なるピクチャから動き情報にアクセスする必要がある、他のコーディングツールで利用されてよい。
g.一例では、上述の方法が適用される((例えば、1.a及び/又は1.bに記載されるように行うために)例えば、位置RBが必要なサブピクチャの中に存在しなければならない)かどうかは、VPS/DPS/SPS/PPS/APS/スライスヘッダ/タイルグループヘッダの中でシグナリングされる1つ以上のシンタックスエレメントに依存してよい。例えば、シンタックスエレメントは、subpic_treated_as_pic_flag[SubPicIdx]であってよく、ここで、SubPicIdxは現在ブロックをカバーするサブピクチャのサブピクチャインデックスである。
2.補間処理で使用されない参照の中で整数サンプルがフェッチされる位置(位置Sと命名する)は、必要なサブピクチャの左上角座標が(xTL,yTL)であり、必要なサブピクチャの右下座標が(xBR,yBR)であると仮定すると、必要なサブピクチャ内に存在しなければならない。
a.一例では、必要なサブピクチャは、現在ブロックをカバーするサブピクチャである。
b.一例では、座標(x,y)を有する位置Sが必要なサブピクチャの外側にある場合、参照サンプルは利用できないとして扱われる。
i.一例では、x>xBRの場合、位置Sは必要なサブピクチャの外側にある。
ii.一例では、y>yBRの場合、位置Sは必要なサブピクチャの外側にある。
iii.一例では、x<xTLの場合、位置Sは必要なサブピクチャの外側にある。
iv.一例では、y<yTLの場合、位置Sは必要なサブピクチャの外側にある。
c.一例では、位置Sは、必要なサブピクチャ内になるようクリッピングされる。
i.一例では、xは、x=Min(x,xBR)のようにクリッピングされる。
ii.一例では、yは、y=Min(y,yBR)のようにクリッピングされる。
iii.一例では、xは、x=Max(x,xTL)のようにクリッピングされる。
iv.一例では、yは、y=Max(y,yTL)のようにクリッピングされる。
d.一例では、(例えば、2.a及び/又は2.bに記載されるように行うために)位置Sが必要なサブピクチャの中に存在しなければならないかどうかは、VPS/DPS/SPS/PPS/APS/スライスヘッダ/タイルグループヘッダの中でシグナリングされる1つ以上のシンタックスエレメントに依存してよい。例えば、シンタックスエレメントは、subpic_treated_as_pic_flag[SubPicIdx]であってよく、ここで、SubPicIdxは現在ブロックをカバーするサブピクチャのサブピクチャインデックスである。
e.一例では、フェッチされた整数サンプルは、BDOF及び/又はPORFにおける勾配を生成するために使用される。
3.再構成ルマサンプル値がフェッチされる位置(位置Rと命名する)は、必要なサブピクチャの左上角座標が(xTL,yTL)であり、必要なサブピクチャの右下座標が(xBR,yBR)であると仮定すると、必要なサブピクチャ内に存在しなければならない。
a.一例では、必要なサブピクチャは、現在ブロックをカバーするサブピクチャである。
b.一例では、座標(x,y)を有する位置Rが必要なサブピクチャの外側にある場合、参照サンプルは利用できないとして扱われる。
i.一例では、x>xBRの場合、位置Rは必要なサブピクチャの外側にある。
ii.一例では、y>yBRの場合、位置Rは必要なサブピクチャの外側にある。
iii.一例では、x<xTLの場合、位置Rは必要なサブピクチャの外側にある。
iv.一例では、y<yTLの場合、位置Rは必要なサブピクチャの外側にある。
c.一例では、位置Rは、必要なサブピクチャ内になるようクリッピングされる。
i.一例では、xは、x=Min(x,xBR)のようにクリッピングされる。
ii.一例では、yは、y=Min(y,yBR)のようにクリッピングされる。
iii.一例では、xは、x=Max(x,xTL)のようにクリッピングされる。
iv.一例では、yは、y=Max(y,yTL)のようにクリッピングされる。
d.一例では、(例えば、4.a及び/又は4.bに記載されるように行うために)位置Rが必要なサブピクチャの中に存在しなければならないかどうかは、VPS/DPS/SPS/PPS/APS/スライスヘッダ/タイルグループヘッダの中でシグナリングされる1つ以上のシンタックスエレメントに依存してよい。例えば、シンタックスエレメントは、subpic_treated_as_pic_flag[SubPicIdx]であってよく、ここで、SubPicIdxは現在ブロックをカバーするサブピクチャのサブピクチャインデックスである。
e.一例では、フェッチされたルマサンプルは、LMCSにおけるクロマコンポーネントのスケーリング因子を導出するために使用される。
4.BT/TT/QT分割のためのピクチャ境界チェック、BT/TT/QT深さ導出、及び/又はCU分割フラグのシグナリングの位置(位置Nと命名する)は、必要なサブピクチャの左上角座標が(xTL,yTL)であり、必要なサブピクチャの右下座標が(xBR,yBR)であると仮定すると、必要なサブピクチャ内に存在しなければならない。
a.一例では、必要なサブピクチャは、現在ブロックをカバーするサブピクチャである。
b.一例では、座標(x,y)を有する位置Nが必要なサブピクチャの外側にある場合、参照サンプルは利用できないとして扱われる。
i.一例では、x>xBRの場合、位置Nは必要なサブピクチャの外側にある。
ii.一例では、y>yBRの場合、位置Nは必要なサブピクチャの外側にある。
iii.一例では、x<xTLの場合、位置Nは必要なサブピクチャの外側にある。
iv.一例では、y<yTLの場合、位置Nは必要なサブピクチャの外側にある。
c.一例では、位置Nは、必要なサブピクチャ内になるようクリッピングされる。
i.一例では、xは、x=Min(x,xBR)のようにクリッピングされる。
ii.一例では、yは、y=Min(y,yBR)のようにクリッピングされる。
iii.一例では、xは、x=Max(x,xTL)のようにクリッピングされる。
d.一例では、yは、y=Max(y,yTL)のようにクリッピングされる。一例では、(例えば、5.a及び/又は5.bに記載されるように行うために)位置Nが必要なサブピクチャの中に存在しなければならないかどうかは、VPS/DPS/SPS/PPS/APS/スライスヘッダ/タイルグループヘッダの中でシグナリングされる1つ以上のシンタックスエレメントに依存してよい。例えば、シンタックスエレメントは、subpic_treated_as_pic_flag[SubPicIdx]であってよく、ここで、SubPicIdxは現在ブロックをカバーするサブピクチャのサブピクチャインデックスである。
5.履歴に基づく動きベクトル予測(History-based Motion Vector Prediction (HMVP))テーブルは、1つのピクチャ内の新しいサブピクチャを復号する前に、再設定(リセット)されてよい。
a.一例では、IBCコーディングのために使用されるHMVPテーブルは、リセットされてよい。
b.一例では、インターコーディングのために使用されるHMVPテーブルは、リセットされてよい。
c.一例では、イントラコーディングのために使用されるHMVPテーブルは、リセットされてよい。
6.サブピクチャシンタックスエレメントは、N(N=8、32、等)個のサンプルの単位で定義されてよい。
a.一例では、サブピクチャ識別子グリッドの各要素の幅はN個のサンプルの単位である。
b.一例では、サブピクチャ識別子グリッドの各要素の高さは、N個のサンプルの単位である。
c.一例では、Nは、CTUの幅及び/又は高さに設定される。
7.ピクチャ幅及びピクチャ高さのシンタックスエレメントは、K(K>=8)未満にならないよう制約されてよい。
a.一例では、ピクチャ幅は、8未満にならないよう制約される必要があり得る。
b.一例では、ピクチャ高さは、8未満にならないよう制約される必要があり得る。
8.適合ビットストリームは、1ビデオユニット(例えば、シーケンス)について有効にされるために、サブピクチャコーディング及び適応解像度変換(Adaptive resolution conversion (ARC))/動的解像度変換(Dynamic resolution conversion (DRC))/参照ピクチャ再サンプリング(Reference picture resampling (RPR))が許可されないことを満たすべきである。
a.一例では、サブピクチャコーディングを有効にするシグナリングは、ARC/DRC/RPRを許可しないという条件の下にあってよい。
i.一例では、サブピクチャが有効にされるとき、例えばsubpics_present_flagが1に等しいとき、このSPSがアクティブである全部のピクチャのpic_width_in_luma_samplesは、max_width_in_luma_samplesに等しい。
b.代替として、サブピクチャコーディング及びARC/DRC/RPRは、両方とも、1ビデオユニット(例えば、シーケンス)について有効にされてよい。
i.一例では、適合ビットストリームは、ARC/DRC/RPRによりダウンサンプリングされたサブピクチャが、依然として、幅がK個のCTUであり高さがM個のCTUである形式であることを満たすべきである。ここで、K及びMは両方とも整数である。
ii.一例では、適合ビットストリームは、ピクチャ境界(例えば、右境界及び/又は下境界)に位置しないサブピクチャについて、ARC/DRC/RPRによりダウンサンプリングされたサブピクチャが、依然として、幅がK個のCTUであり高さがM個のCTUである形式であることを満たすべきである。ここで、K及びMは両方とも整数である。
iii.一例では、CTUサイズは、ピクチャ解像度に基づき適応して変更されてよい。
1)一例では、最大CTUサイズはSPS内でシグナリングされてよい。より低い解像度を有する各ピクチャについて、CTUサイズは、低下された解像度に基づき相応して変更されてよい。
2)一例では、CTUサイズは、SPS及びPPS内、及び/又はサブピクチャレベルでシグナリングされてよい。
9.シンタックスエレメントsubpic_grid_col_width_minus1及びsubpic_grid_row_height_minus1は、制約されてよい。
a.一例では、subpic_grid_col_width_minus1はT1より大きくてはならない(又は小さくてはならない)
b.一例では、subpic_grid_row_height_minus1はT2より大きくてはならない(又は小さくてはならない)
c.一例では、適合ビットストリームでは、subpic_grid_col_width_minus1及び/又はsubpic_grid_row_height_minus1は、項目3.a及び3.bのような制約に従わなければならない。
d.一例では、3.aにおけるT1、及び/又は3.bにおけるT2は、ビデオコーディング標準のプロファイル/レベル/ティアに依存してよい。
e.一例では、3.aにおけるT1は、ピクチャ幅に依存してよい。
例えば、T1はpic_width_max_in_luma_samples/4又はpic_width_max_in_luma_samples/4+Offに等しい。Offは、1、2、-1、-2等であってよい。
f.一例では、3.bにおけるT2は、ピクチャ幅に依存してよい。
i.例えば、T2はpic_height_max_in_luma_samples/4又はpic_height_max_in_luma_samples/4-1+Offに等しい。Offは、1、2、-1、-2等であってよい。
10.任意の2つのサブピクチャの間の境界が、2つのCTUの間の境界でなければならないという制約がある。
a.言い換えると、CTUは、1つより多くのサブピクチャによりカバーできない。
b.一例では、subpic_grid_col_width_minus1の単位は、VVCにおけるような4の代わりに、CTU幅(例えば、32、64、128)であってよい。サブピクチャグリッド幅は、(subpic_grid_col_width_minus1+1)*CTU幅であるべきである。
c.一例では、subpic_grid_col_height_minus1の単位は、VVCにおけるような4の代わりに、CTU高さ(例えば、32、64、128)であってよい。サブピクチャグリッド高さは、(subpic_grid_col_height_minus1+1)*CTU高さであるべきである。
d.一例では、適合ビットストリームでは、サブピクチャアプローチが適用される場合、制約が満たされなければならない。
11.サブピクチャの形状が長方形でなければならないという制約がある。
a.一例では、適合ビットストリームでは、サブピクチャアプローチが適用される場合、制約が満たされなければならない。
b.サブピクチャは、長方形スライスのみを含んでよい。例えば、適合ビットストリームでは、サブピクチャアプローチが適用される場合、制約が満たされなければならない。
12.2つのサブピクチャは重なり合うことができないという制約がある。
a.一例では、適合ビットストリームでは、サブピクチャアプローチが適用される場合、制約が満たされなければならない。
b.代替として、2つのサブピクチャは、互いに重なり合ってよい。
13.ピクチャ内の任意の位置が1つの及び1つのみのサブピクチャによりカバーされなければならないという制約がある。
a.一例では、適合ビットストリームでは、サブピクチャアプローチが適用される場合、制約が満たされなければならない。
b.代替として、1つのサンプルは、任意のサブピクチャに属さなくてよい。
c.代替として、1つのサンプルは、1つより多くのサブピクチャに属してよい。
14.同じシーケンス内で提示される全ての解像度にマッピングされるSPS内で定義されるサブピクチャは、上述の制約された位置及び/又はサイズに従うべきであるという制約があってよい。
a.一例では、同じシーケンス内で提示される解像度にマッピングされるSPS内で定義されたサブピクチャの幅及び高さは、N(例えば、8、16、32)個のルマサンプルの整数倍であるべきである。
b.一例では、サブピクチャは、特定のレイヤについて定義されてよく、他のレイヤにマッピングされてよい。
i.例えば、サブピクチャは、シーケンス内の最高解像度を有するレイヤについて定義されてよい。
ii.例えば、サブピクチャは、シーケンス内の最低解像度を有するレイヤについて定義されてよい。
iii.どのレイヤについてサブピクチャが定義されるかは、SPS/VPS/PPS/スライスヘッダ内でシグナリングされてよい。
c.一例では、サブピクチャ及び異なる解像度の両方が適用されるとき、全ての解像度(例えば幅及び/又は高さ)は、所与の解像度の整数倍であってよい。
d.一例では、SPS内で定義されたサブピクチャの幅及び/又は高さは、CTUサイズの整数倍(例えば、M)であってよい。
e.代替として、シーケンス内のサブピクチャ及び異なる解像度は、同時に許可されなくてよい。
15.サブピクチャは、特定のレイヤにのみ適用されてよい。
a.一例では、SPS内で定義されたサブピクチャは、シーケンス内の最高解像度を有するレイヤにのみ適用されてよい。
b.一例では、SPS内で定義されたサブピクチャは、シーケンス内の最低解像度を有するレイヤにのみ適用されてよい。
c.どのレイヤにサブピクチャが適用され得るかは、SPS/VPS/PPS内の1又は複数のシンタックスエレメントにより示されてよい。
d.どのレイヤにサブピクチャが適用できないかは、SPS/VPS/PPS内の1又は複数のシンタックスエレメントにより示されてよい。
16.一例では、サブピクチャの位置及び/又は寸法は、subpic_grid_idxを使用せずに、シグナリングされてよい。
a.一例では、サブピクチャの左上位置がシグナリングされてよい。
b.一例では、サブピクチャの右下位置がシグナリングされてよい。
c.一例では、サブピクチャの幅がシグナリングされてよい。
d.一例では、サブピクチャの高さがシグナリングされてよい。
17.時間フィルタでは、サンプルの時間フィルタリングを実行するとき、現在サンプルが属する同じサブピクチャの範囲内のサンプルのみが、使用されてよい。必要なサンプルは、現在サンプルが属する同じピクチャ内に、又は他のピクチャ内に存在してよい。
18.一例では、パーティション方法(例えば、QT、水平BT、垂直BT、水平TT、垂直TT、又は分割無し、等)を適用するかどうか及び/又はどのように適用するかは、現在ブロック(又はパーティション)がサブピクチャの1又は複数の境界を横切るかどうかに依存してよい。
a.一例では、VVCにおけるパーティションのためのピクチャ境界処理方法は、ピクチャ境界がサブピクチャ境界により置換されるときにも適用されてよい。
b.一例では、パーティション方法(例えば、QT、水平BT、垂直BT、水平TT、垂直TT、又は分割無し、等)を表すシンタックスエレメント(例えば、フラグ)をパースするかどうか及び/又はどのように適用するかは、現在ブロック(又はパーティション)がサブピクチャの1又は複数の境界を横切るかどうかに依存してよい。
19.1つのピクチャを複数のサブピクチャに分割して各サブピクチャを独立してコーディングする代わりに、ピクチャを少なくとも2つのサブ領域セットに分割して、複数のサブピクチャを含む第1セットと、全部の残りのサンプルを含む第2セットとにすることが提案される。
a.一例では、第2セット内のサンプルは、任意のサブピクチャ内に存在しない。
b.代替として、更に、第2セットは、第1セットの情報に基づき符号化/復号されてよい。
c.一例では、デフォルト値は、サンプル/M×Kサブ領域が第2セットに属するかどうかをマークするために利用されてよい。
i.一例では、デフォルト値は、(max_subpics_minus1+K)に等しく設定されてよい。ここで、Kは1より大きい整数である。
ii.デフォルト値は、グリッドが第2セットに属することを示すために、subpic_grid_idx[i][j]に割り当てられてよい。
20.シンタックスエレメントsubpic_grid_idx[i][j]は、max_subpics_minus1より大きくならないことが提案される。
a.例えば、適合ビットストリームでは、subpic_grid_idx[i][j]はmax_subpics_minus1より大きくなることができないという制約がある。
b.例えば、subpic_grid_idx[i][j]をコーディングするためのコードワードは、max_subpics_minus1より大きくなることができない。
21.0からmax_subpics_minus1までの任意の整数は、少なくとも1つのsubpic_grid_idx[i][j]に等しくなければならないことが提案される。
22.IBC仮想バッファは、1つのピクチャ内の新しいサブピクチャを復号する前に、リセットされてよい。
a.一例では、IBC仮想バッファ内の全部のサンプルは、-1にリセットされてよい。
23.パレットエントリリストは、1つのピクチャ内の新しいサブピクチャを復号する前に、リセットされてよい。
a.一例では、PredictorPaletteSizeは、1つのピクチャ内の新しいサブピクチャを復号する前に、0に等しくなるよう設定されてよい。
24.スライスの情報(例えば、スライスの数、及び/又はスライスの範囲)をシグナリングするかどうかは、タイルの数、及び/又はブリックの数に依存してよい。
a.一例では、ピクチャ内のブリックの数が1である場合、num_slices_in_pic_minus1はシグナリングされず、0であると推定される。
b.一例では、ピクチャ内のブリックの数が1である場合、スライスの情報(例えば、スライスの数、及び/又はスライスの範囲)は、シグナリングされなくてよい。
c.一例では、ピクチャ内のブリックの数が1である場合、スライスの数は1であると推定されてよい。スライスはピクチャ全体をカバーする。一例では、ピクチャ内のブリックの数が1である場合、single_brick_per_slice_flagはシグナリングされず、1であると推定される。
i.代替として、ピクチャ内のブリックの数が1である場合、single_brick_per_slice_flagは1でなければならない。
d.例示的なシンタックス設計は以下の通りである:
Figure 2023511059000080
25.slice_addressをシグナリングするかどうかは、スライスが長方形であるとシグナリングされるかどうか(例えば、rect_slice_flagが0又は1に等しいかどうか)とは分離されてよい。
a.例示的なシンタックス設計は以下の通りである:
Figure 2023511059000081
26.slice_addressをシグナリングするかどうかは、スライスが長方形であるとシグナリングされるとき、スライスの数に依存してよい。
Figure 2023511059000082
27.num_bricks_in_slice_minus1をシグナリングするかどうかは、slice_address、及び/又はピクチャ内のブリックの数に依存してよい。
a.例示的なシンタックス設計は以下の通りである:
Figure 2023511059000083
28.loop_filter_across_bricks_enabled_flagをシグナリングするかどうかは、タイルの数、及び/又はブリックの数に依存してよい。
a.一例では、loop_filter_across_bricks_enabled_flagは、ブリックの数が2より少ない場合に、シグナリングされない。
b.例示的なシンタックス設計は以下の通りである:
Figure 2023511059000084
29.ビットストリーム適合性の要件は、ピクチャの全部のスライスがピクチャ全体をカバーしなければならないことである。
a.要件は、スライスが長方形であるとシグナリングされるとき(例えば、rect_slice_flagが1に等しい)、満たされなければならない。
30.ビットストリーム適合性の要件は、サブピクチャの全部のスライスがサブピクチャ全体をカバーしなければならないことである。
a.要件は、スライスが長方形であるとシグナリングされるとき(例えば、rect_slice_flagが1に等しい)、満たされなければならない。
31.ビットストリーム適合性の要件は、スライスが1つより多くのサブピクチャと重なり合わせることができないことである。
32.ビットストリーム適合性の要件は、タイルが1つより多くのサブピクチャと重なり合わせることができないことである。
33.ビットストリーム適合性の要件は、ブリックが1つより多くのサブピクチャと重なり合わせることができないことである。
以下の議論では、寸法CW×CHを有する基本ユニットブロック(basic unit block (BUB))は長方形領域である。例えば、BUBはコーティングツリーブロック(CTB)であってよい。
34.一例では、サブピクチャの数(Nとして示される)がシグナリングされてよい。
a.ビデオビットストリーム適合性の要件は、サブピクチャが使用される場合(例えば、subpics_present_flagが1に等しい)、ピクチャ内に少なくとも2個のサブピクチャが存在することであってよい。
b.代替として、Nからdを引いたもの(つまり、N-d)がシグナリングされてよく、ここで、dは0、1、又は2のような整数である。
c.例えば、N-dは、固定長コーディング、例えばu(x)によりコーディングされてよい。
i.一例では、xは、8のような固定数であってよい。
ii.一例では、x又はx-dxは、N-dがシグナリングされる前にシグナリングされてよい。ここで、dxは、0、1、又は2のような整数である。シグナリングされるxは、適合ビットストリームの中の最大値より大きくてはならない。
iii.一例では、xは、オンザフライで導出されてよい。
1)例えば、xは、ピクチャ内のBUBの合計数(Mとして示される)の関数として導出されてよい。例えば、x=Ceil(log2(M+d0))+d1であり、ここで、d0及びd1は、-2、-1、0、1、2、等のような2個の整数である。従って、Ceil()関数は、入力値以上の最小の整数を返す
2)MはM=Ceiling(W/CW)×Ceiling(H/CH)のように導出されてよい。ここで、2及びHは、ピクチャの幅及び高さを表し、CW及びCHは、BUBの幅及び高さを表す
d.例えば、N-dは、単一コード又はトランケート単一コードによりコーディングされてよい。
e.一例では、N-dの許容最大値は、固定数であってよい。
i.代替として、N-dの許容最大値は、ピクチャ内のBUBの合計数(Mとして示される)の関数として導出されてよい。例えば、x=Ceil(log2(M+d0))+d1であり、ここで、d0及びd1は、-2、-1、0、1、2、等のような2個の整数である。従って、Ceil()関数は、入力値以上の最小の整数を返す
35.一例では、サブピクチャは、1つ又は複数のそれ自体の選択された位置(例えば、左上/右上/左下/右下位置)及び/又はそれ自体の幅及び/又はそれ自体の高さの指示によりシグナリングされてよい。
a.一例では、サブピクチャの左上位置は、寸法CW×CHを有する基本ユニットブロック(BUB)の粒度でシグナリングされてよい。
i.例えば、列インデックス(Colとして示される)が、サブピクチャの左上BUBのBUBに関してシグナリングされてよい。
1)例えば、Col-dがシグナリングされてよく、ここで、dは0、1、又は2のような整数である。
a)代替として、dは、前にコーディングされ、d1を加算された、サブピクチャのColに等しくてよい。ここで、d1は、-1、0、又は1のような整数である。
b)Col-dの符号がシグナリングされてよい。
ii.例えば、行インデックス(Rowとして示される)が、サブピクチャの左上BUBのBUBに関してシグナリングされてよい。
1)例えば、Row-dがシグナリングされてよく、ここで、dは0、1、又は2のような整数である。
a)代替として、dは、前にコーディングされ、d1を加算された、サブピクチャのRowに等しくてよい。ここで、d1は、-1、0、又は1のような整数である。
b)Row-dの符号がシグナリングされてよい。
iii.上述の行/列インデックス(Rowとして示される)は、コーディングツリーブロック(CTB)ユニットの中で表されてよい。例えば、ピクチャの左上位置に対するx又はy座標が、CTBサイズにより除算され、シグナリングされてよい。
iv.一例では、サブピクチャの位置をシグナリングするかどうかは、サブピクチャインデックスに依存してよい。
1)一例では、ピクチャ内の第1サブピクチャについて、左上位置はシグナリングされなくてよい。
a)代替として、更に、左上位置は、例えば(0,0)であると推定されてよい。
2)一例では、ピクチャ内の最後のサブピクチャについて、左上位置はシグナリングされなくてよい。
a)左上位置は、前にシグナリングされたサブピクチャの情報に依存して推定されてよい。
b.一例では、サブピクチャの幅/高さ/選択された位置の指示は、トランケート単一/トランケートバイナリ/単一/固定長/K番目のEGコーディング(例えば、K=0、1、2、3)によりシグナリングされてよい。
c.一例では、サブピクチャの幅は、寸法CW×CHを有するBUBの粒度でシグナリングされてよい。
i.一例では、サブピクチャ内のBUB列の数(Wとして示される)がシグナリングされてよい。
ii.例えば、W-dがシグナリングされてよく、ここで、dは0、1、又は2のような整数である。
1)代替として、dは、前にコーディングされ、d1を加算された、サブピクチャのWに等しくてよい。ここで、d1は、-1、0、又は1のような整数である。
2)W-dの符号がシグナリングされてよい。
一d.例では、サブピクチャの高さは、寸法CW×CHを有するBUBの粒度でシグナリングされてよい。
i.例えば、サブピクチャ内のBUB行の数(Hとして示される)がシグナリングされてよい。
ii.例えば、H-dがシグナリングされてよく、ここで、dは0、1、又は2のような整数である。
1)代替として、dは、前にコーディングされ、d1を加算された、サブピクチャのHに等しくてよい。ここで、d1は、-1、0、又は1のような整数である。
2)H-dの符号がシグナリングされてよい。
e.例えば、Col-dは、固定長コーディング、例えばu(x)によりコーディングされてよい。
i.一例では、xは、8のような固定数であってよい。
ii.一例では、x又はx-dxは、Col-dがシグナリングされる前にシグナリングされてよい。ここで、dxは、0、1、又は2のような整数である。シグナリングされるxは、適合ビットストリームの中の最大値より大きくてはならない。
iii.一例では、xは、オンザフライで導出されてよい。
1)例えば、xは、ピクチャ内のBUB列の合計数(Mとして示される)の関数として導出されてよい。例えば、x=Ceil(log2(M+d0))+d1であり、ここで、d0及びd1は、-2、-1、0、1、2、等のような2個の整数である。従って、Ceil()関数は、入力値以上の最小の整数を返す
2)MはM=Ceiling(W/CW)のように導出されてよい。ここで、Wはピクチャの幅を表し、CWはBUBの幅を表す
f.一例では、Row-dは、固定長コーディング、例えばu(x)によりコーディングされてよい。
i.一例では、xは、8のような固定数であってよい。
ii.一例では、x又はx-dxは、Row-dがシグナリングされる前にシグナリングされてよい。ここで、dxは、0、1、又は2のような整数である。シグナリングされるxは、適合ビットストリームの中の最大値より大きくてはならない。
iii.一例では、xは、オンザフライで導出されてよい。
1)例えば、xは、ピクチャ内のBUB行の合計数(Mとして示される)の関数として導出されてよい。例えば、x=Ceil(log2(M+d0))+d1であり、ここで、d0及びd1は、-2、-1、0、1、2、等のような2個の整数である。従って、Ceil()関数は、入力値以上の最小の整数を返す
2)MはM=Ceiling(H/CH)のように導出されてよい。ここで、Hはピクチャの高さを表し、CHはBUBの高さを表す
g.一例では、W-dは、固定長コーディング、例えばu(x)によりコーディングされてよい。
i.一例では、xは、8のような固定数であってよい。
ii.一例では、x又はx-dxは、W-dがシグナリングされる前にシグナリングされてよい。ここで、dxは、0、1、又は2のような整数である。シグナリングされるxは、適合ビットストリームの中の最大値より大きくてはならない。
iii.一例では、xは、オンザフライで導出されてよい。
1)例えば、xは、ピクチャ内のBUB列の合計数(Mとして示される)の関数として導出されてよい。例えば、x=Ceil(log2(M+d0))+d1であり、ここで、d0及びd1は、-2、-1、0、1、2、等のような2個の整数である。従って、Ceil()関数は、入力値以上の最小の整数を返す
2)MはM=Ceiling(W/CW)のように導出されてよい。ここで、Wはピクチャの幅を表し、CWはBUBの幅を表す
h.一例では、H-dは、固定長コーディング、例えばu(x)によりコーディングされてよい。
i.一例では、xは、8のような固定数であってよい。
ii.一例では、x又はx-dxは、H-dがシグナリングされる前にシグナリングされてよい。ここで、dxは、0、1、又は2のような整数である。シグナリングされるxは、適合ビットストリームの中の最大値より大きくてはならない。
iii.一例では、xは、オンザフライで導出されてよい。
1)例えば、xは、ピクチャ内のBUB行の合計数(Mとして示される)の関数として導出されてよい。例えば、x=Ceil(log2(M+d0))+d1であり、ここで、d0及びd1は、-2、-1、0、1、2、等のような2個の整数である。従って、Ceil()関数は、入力値以上の最小の整数を返す
2)MはM=Ceiling(H/CH)のように導出されてよい。ここで、Hはピクチャの高さを表し、CHはBUBの高さを表す
i.Col-d及び/又はRow-dは、全部のサブピクチャについてシグナリングされてよい。
i.代替として、Col-d及び/又はRow-dは、全部のサブピクチャについてシグナリングされなくてよい。
1)Col-d及び/又はRow-dは、サブピクチャの数が2より少ない場合に、シグナリングされなくてよい。(1に等しい)
2)例えば、Col-d及び/又はRow-dは、(例えば、0に等しいサブピクチャインデックス(又はサブピクチャID)を有する)第1サブピクチャについてシグナリングされなくてよい。
a)それらがシグナリングされないとき、それらは0であると推定されてよい。
3)例えば、Col-d及び/又はRow-dは、(例えば、NumSubPics-1に等しいサブピクチャインデックス(又はサブピクチャID)を有する)最後のサブピクチャについてシグナリングされなくてよい。
a)それらがシグナリングされないとき、それらは、既にシグナリングされたサブピクチャの位置及び寸法に依存して推定されてよい。
j.W-d及び/又はH-dは、全部のサブピクチャについてシグナリングされてよい。
i.代替として、W-d及び/又はH-dは、全部のサブピクチャについてシグナリングされなくてよい。
1)W-d及び/又はH-dは、サブピクチャの数が2より少ない場合に、シグナリングされなくてよい。(1に等しい)
2)例えば、W-d及び/又はH-dは、(例えば、NumSubPics-1に等しいサブピクチャインデックス(又はサブピクチャID)を有する)最後のサブピクチャについてシグナリングされなくてよい。
a)それらがシグナリングされないとき、それらは、既にシグナリングされたサブピクチャの位置及び寸法に依存して推定されてよい。
k.上記の項目では、BUBはコーティングツリーブロック(CTB)であってよい。
36.一例では、サブピクチャの情報は、CTBサイズの情報(例えば、log2_ctu_size_minus5)がシグナリングされた後に、シグナリングされるべきである。
37.subpic_treated_as_pic_flag[i]は、サブピクチャ毎にシグナリングされなくてよい。実際に、1つのsubpic_treated_as_pic_flagが、全部のサブピクチャについて、サブピクチャがピクチャとして扱われるかどうかを制御するためにシグナリングされる。
38.loop_filter_across_subpic_enabled_flag[i]は、サブピクチャ毎にシグナリングされなくてよい。実際に、1つのloop_filter_across_subpic_enabled_flagが、全部のサブピクチャについて、ループフィルタがサブピクチャに跨がり適用できるかどうかを制御するためにシグナリングされる。
39.subpic_treated_as_pic_flag[i](subpic_treated_as_pic_flag)及び/又はloop_filter_across_subpic_enabled_flag[i](loop_filter_across_subpic_enabled_flag)は、条件付きでシグナリングされてよい。
a.一例では、subpic_treated_as_pic_flag[i]及び/又はloop_filter_across_subpic_enabled_flag[i]は、サブピクチャの数が2より少ない場合に、シグナリングされなくてよい。(1に等しい)
40.RPRは、サブピクチャが使用されるとき、適用されてよい。
a.一例では、RPRにおけるスケーリング比は、サブピクチャが使用されるときの限定セットになるよう制約されてよい。例えば、{1:1,1:2及び/又は2:1}、又は{1:1,1:2及び/又は2:1,1:4及び/又は4:1}、{1:1,1:2及び/又は2:1,1:4及び/又は4:1,1:8及び/又は8:1}である。
b.一例では、ピクチャAのCTBサイズ、及びピクチャBのCTBサイズは、ピクチャA及びピクチャBの解像度が異なる場合に、異なってよい。
c.一例では、寸法SAW×SAHを有するサブピクチャSAがピクチャA内にあり、寸法SBW×SBHを有するサブピクチャSBがピクチャB内にあると仮定すると、SAはSBに対応し、ピクチャAとピクチャBとの間のスケーリング比は、水平及び垂直方向に沿ってRw及びRhである。従って、
i.SAW/SBW又はSBW/SAWはRwに等しくなり、
ii.SAH/SBH又はSBH/SAHはRhに等しくなる。
41.サブピクチャが使用されるとき(例えば、sub_pics_present_flagが真である)、サブピクチャインデックス(又はサブピクチャID)は、スライスヘッダ内でシグナリングされてよく、スライスアドレスは、ピクチャ全体の代わりにサブピクチャ内のアドレスとして中断される。
42.第1サブピクチャ及び第2サブピクチャが同じサブピクチャではない場合、第1サブピクチャのサブピクチャIDが、第2サブピクチャのサブピクチャIDと異なることが要求される。
a.一例では、ビデオビットストリーム適合性の要件は、iがjに等しくない場合、sps_subpic_id[i]がsps_subpic_id[j]と異ならなければならないことである。
b.一例では、ビデオビットストリーム適合性の要件は、iがjに等しくない場合、pps_subpic_id[i]がpps_subpic_id[j]と異ならなければならないことである。
c.一例では、ビデオビットストリーム適合性の要件は、iがjに等しくない場合、ph_subpic_id[i]がph_subpic_id[j]と異ならなければならないことである。
d.一例では、ビデオビットストリーム適合性の要件は、iがjに等しくない場合、SubpicIdList[i]がSubpicIdList[j]と異ならなければならないことである。
e.一例では、X_subpic_id[i]-X_subpic_id[i-P]に等しいD[i]として示される差がシグナリングされてよい。
i.例えば、Xはsps、pps、又はphであってよい。
ii.例えば、Pは1に等しい。
iii.例えば、i>Pである。
iv.例えば、D[i]は0より大きくなければならない。
v.例えば、D[i]-1がシグナリングされてよい。
43.左上CTUの水平又は垂直位置を指定するシンタックス要素の長さ(例えば、subpic_ctu_top_left_x又はsubpic_ctu_top_left_y)は、Ceil(Log2(SS))ビットであると導出されてよい。ここで、SSは0より大きくなければならない。従って、Ceil()関数は、入力値以上の最小の整数を返す
a.一例では、シンタックス要素が左上CTUの水平位置を指定するとき(例えばsubpic_ctu_top_left_x)、SS=(pic_width_max_in_luma_samples+RR)/CtbSizeYである。
b.一例では、シンタックス要素が左上CTUの垂直位置を指定するとき(例えばsubpic_ctu_top_left_y)、SS=(pic_height_max_in_luma_samples+RR)/CtbSizeYである。
c.一例では、RRは、CtbSizeY-1のようなゼロではない整数である。
44.サブピクチャの左上CTUの水平又は垂直位置を指定するシンタックス要素の長さ(例えば、subpic_ctu_top_left_x又はsubpic_ctu_top_left_y)は、Ceil(Log2(SS))ビットであると導出されてよい。ここで、SSは0より大きくなければならない。従って、Ceil()関数は、入力値以上の最小の整数を返す
a.一例では、シンタックス要素がサブピクチャの左上CTUの水平位置を指定するとき(例えばsubpic_ctu_top_left_x)、SS=(pic_width_max_in_luma_samples+RR)/CtbSizeYである。
b.一例では、シンタックス要素がサブピクチャの左上CTUの垂直位置を指定するとき(例えばsubpic_ctu_top_left_y)、SS=(pic_height_max_in_luma_samples+RR)/CtbSizeYである。
c.一例では、RRは、CtbSizeY-1のようなゼロではない整数である。
45.サブピクチャの幅又は高さを指定するシンタックス要素(例えば、subpic_width_minus1又はsubpic_height_minus1)の長さのデフォルト値(これは、1のようなオフセットPを足してよい)は、Ceil(Log2(SS))-Pであると導出されてよい。ここで、SSは0より大きくなければならない。従って、Ceil()関数は、入力値以上の最小の整数を返す
a.一例では、シンタックス要素(例えばsubpic_width_minus1)が、サブピクチャのデフォルト幅(これは、オフセットPを足してよい)を指定するとき、SS=(pic_width_max_in_luma_samples+RR)/CtbSizeYである。
b.一例では、シンタックス要素がサブピクチャのデフォルト高さ(例えば、subpic_height_minus1)を指定するとき(これはオフセットPを足してよい)、SS=(pic_height_max_in_luma_samples+RR)/CtbSizeYである。
c.一例では、RRは、CtbSizeY-1のようなゼロではない整数である。
46.情報がシグナリングされるべきであると決定された場合、サブピクチャのIDの情報が、SPS、PPS、及びピクチャヘッダのうちの1つの中で少なくともシグナリングされるべきであることが提案される。
a.一例では、ビットストリーム適合性の要件は、sps_subpic_id_present_flagが1に等しい場合に、sps_subpic_id_signalling_present_flag、pps_subpic_id_signalling_present_flag、及びph_subpic_id_signalling_present_flagのうちの少なくとも1つが1に等しいことである。
47.サブピクチャのIDの情報がSPS、PPS、及びピクチャヘッダのうちのいずれでもシグナリングされない場合、しかし、情報がシグナリングされるべきであると決定されることが提案される。デフォルトIDが割り当てられるべきである。
a.一例では、sps_subpic_id_signalling_present_flag、pps_subpic_id_signalling_present_flag、及びph_subpic_id_signalling_present_flagが全部0に等しく、sps_subpic_id_present_flaが1に等しい場合、SubpicIdList[i]は、i+Pに等しく設定されるべきである。ここで、Pは0のようなオフセットである。例示的な説明は以下の通りである:
Figure 2023511059000085
48.サブピクチャIDの情報が、対応するPPSの中でシグナリングされる場合、それらはピクチャヘッダの中でシグナリングされないことが提案される。
a.例示的なシンタックス設計は以下の通りである:
Figure 2023511059000086
b.一例では、サブピクチャIDは、それらがSPS内でシグナリングされる場合、SPS内でシグナリングされるサブピクチャIDの情報に従い設定される。或いは、サブピクチャIDは、それらがPPS内でシグナリングされる場合、PPS内でシグナリングされるサブピクチャIDの情報に従い設定される。或いは、サブピクチャIDは、それらがピクチャヘッダ内でシグナリングされる場合、ピクチャヘッダから内でシグナリングされるサブピクチャIDの情報に従い設定される。例示的な説明は以下の通りである:
Figure 2023511059000087
c.一例では、サブピクチャIDがピクチャヘッダ内でシグナリングされる場合、それらは、ピクチャヘッダ内でシグナリングされるサブピクチャIDの情報に従い設定される。或いは、サブピクチャIDは、それらがPPS内でシグナリングされる場合、PPS内でシグナリングされるサブピクチャIDの情報に従い設定される。或いは、サブピクチャIDは、それらがSPS内でシグナリングされる場合、SPS内でシグナリングされるサブピクチャIDの情報に従い設定される。例示的な説明は以下の通りである:
Figure 2023511059000088
49.エッジEに対するデブロッキング処理が、ループフィルタリングが、エッジの両側(P-side及びQ-sideとして示される)でサブピクチャ境界に跨がり許容されるかどうかの決定(例えば、loop_filter_across_subpic_enabled_flagにより決定される)に依存すべきであることが提案される。P-sideは、現在ブロック内の側を表し、Q-sideは、近隣ブロック内の側を表し、これらは異なるサブピクチャに属する。以下の議論では、P-side及びQ-sideは2つの異なるサブピクチャに属すると仮定する。loop_filter_across_subpic_enabled_flag[P]=0/1は、ループフィルタリングが、P-sideを含むサブピクチャのサブピクチャ境界に跨がり許可されない/許可されることを意味する。loop_filter_across_subpic_enabled_flag[Q]=0/1は、ループフィルタリングが、Q-sideを含むサブピクチャのサブピクチャ境界に跨がり許可されない/許可されることを意味する。
a.一例では、loop_filter_across_subpic_enabled_flag[P]が0に等しい、又はloop_filter_across_subpic_enabled_flag[Q]が0に等しい場合、Eはフィルタリングされない。
b.一例では、loop_filter_across_subpic_enabled_flag[P]が0に等しく、及びloop_filter_across_subpic_enabled_flag[Q]が0に等しい場合、Eはフィルタリングされない。
c.一例では、Eの2つの側をフィルタリングするかどうかは、別個に制御される。
i.例えば、loop_filter_across_subpic_enabled_flag[P]が1に等しい場合、及びその場合にのみ、EのP-sideはフィルタリングされる。
ii.例えば、loop_filter_across_subpic_enabled_flag[Q]が1に等しい場合、及びその場合にのみ、EのQ-sideはフィルタリングされる。
50.変換スキップのために使用される最大ブロックサイズを指定するPPS内のシンタックス要素SE(例えば、log2_transform_skip_max_size_minus2)のシグナリング/パースは、SPS内の任意のシンタックス要素(例えば、sps_transform_skip_enabled_flag)と分離されることが提案される。
a.例示的なシンタックス変更は以下の通りである:
Figure 2023511059000089
b.代替として、SEはSPS内で以下のようにシグナリングされてよい。
Figure 2023511059000090
c.代替として、SEはピクチャヘッダ内で以下のようにシグナリングされてよい。
Figure 2023511059000091
51.第1ブロックを復号した後に、HMVPテーブル(又はリスト/ストレージ/マップ、等と命名される)を更新するかどうか、及び/又はどのように更新するかは、第1ブロックがGEOによりコーディングされるかどうかに依存してよい。
a.一例では、HMVPテーブルは、第1ブロックがGEOによりコーディングされた場合に、第1ブロックを復号した後に、更新されなくてよい。
b.一例では、HMVPテーブルは、第1ブロックがGEOによりコーディングされた場合に、第1ブロックを復号した後に、更新されてよい。
i.一例では、HMVPテーブルは、GEOにより分割された1つのパーティションの動き情報により更新されてよい。
ii.一例では、HMVPテーブルは、GEOにより分割された複数のパーティションの動き情報により更新されてよい。
52.CC-ALFでは、現在処理ユニット(例えば、2個のALF仮想境界により境界を定められるALF処理ユニット)からのルマサンプルは、対応する処理ユニットの中のクロマサンプルに対するフィルタリングから除外される。
a.現在処理ユニットからのパディングされたルマサンプルは、対応する処理ユニットの中のクロマサンプルをフィルタリングするために使用されてよい。
i.本明細書に開示される任意のパディング方法は、ルマサンプルをパディングするために使用されてよい。
b.代替として、現在処理ユニットからのパディングされたルマサンプルは、対応する処理ユニットの中のクロマサンプルをフィルタリングするために使用されてよい。
サブピクチャレベルでのパラメータのシグナリング
53.サブピクチャのコーディング動作を制御するパラメータセットは、サブピクチャに関連してシグナリングされてよいことが提案される。つまり、サブピクチャ毎に、パラメータセットがシグナリングされてよい。パラメータセットは以下を含んでよい:
a.インター及び/又はイントラスライス/ピクチャのサブピクチャ内のルマ成分のための量子化パラメータ(Quantization Parameter (QP))又はデルタQP
b.インター及び/又はイントラスライス/ピクチャのサブピクチャ内のクロマ成分のための量子化パラメータ(Quantization Parameter (QP))又はデルタQP
c.参照ピクチャリスト管理情報
d.インター及び/又はイントラスライス/ピクチャのCTUサイズ
e.インター及び/又はイントラスライス/ピクチャの最小CUサイズ
f.インター及び/又はイントラスライス/ピクチャの最大TUサイズ
g.インター及び/又はイントラスライス/ピクチャの最大/最小QT(Qual-Tree)分割サイズ
h.インター及び/又はイントラスライス/ピクチャの最大/最小QT(Qual-Tree)分割深さ
i.インター及び/又はイントラスライス/ピクチャの最大/最小BT(Binary-Tree)分割サイズ
J.インター及び/又はイントラスライス/ピクチャの最大/最小BT(Binary-Tree)分割深さ
k.インター及び/又はイントラスライス/ピクチャの最大/最小TT(Ternary-Tree)分割サイズ
l.インター及び/又はイントラスライス/ピクチャの最大/最小TT(Ternary-Tree)分割深さ
m.インター及び/又はイントラスライス/ピクチャの最大/最小MTT(Multi-Tree)分割サイズ
n.インター及び/又はイントラスライス/ピクチャの最大/最小MTT(Multi-Tree)分割深さ
o.コーディングツリーの制御(オン/オフ制御、及び/又は設定制御を含む)は以下を含む:(略語は、JVET-P2001-v14から分かる)
i.Weighted Prediction(重み付け予測)
ii.SAO
iii.ALF
iv.Transform Skip(変換スキップ)
v.BDPCM
vi.JointCb-CrResidualcoding(JCCR)
vii.Referencewrap-around
viii.TMVP
ix.sbTMVP
x.AMVR
xi.BDOF
xii.SMVD
xiii.DMVR
xiv.MMVD
xv.ISP
xvi.MRL
xvii.MIP
xviii.CCLM
xix.CCLM collocated chroma control(CCLM同一位置クロマ制御)
xx.MTS for intra and/or inter(イントラ及び/又はインターのためのMTS)
xxi.MTS for inter(インターのためのMTS)
xxii.SBT
xxiii.SBT maximum size(SBT最大サイズ)
xxiv.Affine
xxv.Affine type(アフィンタイプ)
xxvi.Palette
xxvii.BCW
xxviii.IBC
xxix.CIIP
xxx.Triangular shape based motion compensation(三角形に基づく動き補償)
xxxi.LMCS
p.VPS/SPS/PPS/ピクチャヘッダ/スライスヘッダの中のパラメータと同じ意味を有するがサブピクチャを制御する任意の他のパラメータ
54.1つのフラグが、先ずシグナリングされて、全部のサブピクチャが同じパラメータを共有するかどうかを示してよい。
q.代替として、更に、パラメータが共有される場合、異なるサブピクチャのために複数のパラメータセットをシグナリングする必要はない。
r.代替として、更に、パラメータが共有されない場合、異なるサブピクチャのための複数のパラメータセットが更にシグナリングされる必要はない。
55.異なるサブピクチャの中のパラメータの予測コーディングが適用されてよい。
s.一例では、2つのサブピクチャのための同じシンタックス要素の2つの値の差がコーディングされてよい。
56.デフォルトパラメータセットが最初にシグナリングされてよい。次に、デフォルト値と比較した差が更にシグナリングされてよい。
t.代替として、更に、1つのフラグが最初にシグナリングされ、全部のサブピクチャのパラメータセットがデフォルトセットの中のものと同一であるかどうかを示してよい。
57.一例では、サブピクチャのコーディング動作を制御するパラメータセットは、SPS又はPPS又はピクチャヘッダ内でシグナリングされてよいことが提案される。
u.代替として、サブピクチャのコーディング動作を制御するパラメータセットは、SEIメッセージ(例えば、JVET-P2001-v14で定義されるサブピクチャレベル情報SEIメッセージ)又はVUIメッセージ内でシグナリングされてよい。
58.例では、サブピクチャのコーディング動作を制御するパラメータセットは、サブピクチャIDに関連してシグナリングされてよいことが提案される。
59.一例では、VPS/SPS/PPS/ピクチャヘッダ/スライスヘッダと異なる、サブピクチャのコーディング動作を制御するパラメータセットを含むビデオユニット(SPPS、Sub-PictureParameterSetを命名される)が、シグナリングされてよい。
v.一例では、SPPS_indexは、SPPSに関連してシグナリングされる。
w.一例では、SPPS_indexは、サブピクチャに関連付けられたSPPSを示すためにサブピクチャについてシグナリングされる。
60.一例では、サブピクチャのコーディング動作を制御するパラメータセットの中の第1制御パラメータは、同じコーディング動作を制御するパラメータセットの中の第2制御パラメータを上書きしてよく又は上書きされてよい。例えば、サブピクチャのパラメータセットの中のBDOFのようなコーディングツールのオン/オフ制御フラグは、パラメータセットの中のコーディングツールのオン/オフ制御フラグを上書きするか又は上書きされてよい。
x.パラメータセットの中の第2制御パラメータは、VPS/SPS/PPS/ピクチャヘッダ/スライスヘッダ内にあってよい。
61.上述の例のうちのいずれかが適用されるとき、スライス/タイル/ブリック/サブピクチャに関連付けられたシンタックス要素は、ピクチャ/シーケンスに関連付けられたパラメータに依存する代わりに、現在スライスを含むサブピクチャに関連付けられたパラメータに依存する。
62.適合ビットストリームでは、サブピクチャのコーディング動作を制御するパラメータセットの中の第1制御パラメータは、同じコーディング動作を制御するパラメータセットの中の第2制御パラメータと同じでなければならないと制約される。
63.一例では、第1フラグは、SPS内で、サブピクチャ毎に1つ、シグナリングされ、第1フラグは、general_constraint_info()シンタックス構造が第1フラグに関連付けられたサブピクチャのためにシグナリングされるかどうかを指定する。サブピクチャについて存在するとき、general_constraint_info()シンタックス構造は、CLVSに渡るサブピクチャのために適用されないツールを示す
y.代替として、general_constraint_info()シンタックス構造は、サブピクチャ毎にシグナリングされる。
z.代替として、第2フラグは、SPS内で1回だけシグナリングされ、第2フラグは、第1フラグがサブピクチャ毎にSPS内に存在するか存在しないかを指定する。
64.一例では、SEIメッセージ又は何らかのVUIパラメータは、特定のコーディングツールが適用されないか又はCLVSの中の1つ以上のサブピクチャについて(つまり、サブピクチャのセットのうちのコーディングスライスについて)特定の方法で適用されることを示すよう指定される。結果として、サブピクチャのセットが抽出され復号される、例えばモバイル装置により復号されるとき、復号の複雑性は、比較的低く、従って復号のための電力消費は比較的低い。
a.代替として、同じ情報が、DPS、VPS、SPS、又は単独のNALユニットでシグナリングされる。
パレットコーディング
65.パレットサイズ及び/又はplt予測子サイズの最大数は、m*Nに等しくなるよう制約されてよく、例えばN=8、mは整数である。
a.m又はm+offsetの値は、第1シンタックス要素としてシグナリングされてよい。ここで、offsetは0のような整数である。
i.第1シンタックス要素は、単位コーディング、指数ゴロムコーディング、ライスコーディング、固定長コーディングにより2値化されてよい。
マージ推定領域(Merge Estimation Region (MER))
66.シグナリングされ得るMERのサイズは、最大又は最小CU又はCTUサイズに依存してよい。用語「サイズ」は、ここでは、幅、高さ、幅と高さの両方、又は幅×高さを表してよい。
a.一例では、S-Delta又はM-Sがシグナリングされてよく、SはMERのサイズである。Delta及びSは、最大又は最小CU又はCTUサイズに依存する整数である。例えば、
i.Deltaは最小CU又はCTUサイズであってよい。
ii.Mは最大CU又はCTUサイズであってよい。
iii.Deltaは最小CU又はCTUサイズ+offsetであってよく、offsetは1又は-1のような整数である。
iv.Mは最大CU又はCTUサイズ+offsetであってよく、offsetは1又は-1のような整数である。
67.適合ビットストリームでは、制約され得るMERのサイズは、最大又は最小CU又はCTUサイズに依存する。用語「サイズ」は、ここでは、幅、高さ、幅と高さの両方、又は幅×高さを表してよい。
a.例えば、MERのサイズは、最大CU又はCTUサイズ以上になることを許可されない。
b.例えば、MERのサイズは、最大CU又はCTUサイズより大きくなることを許可されない。
c.例えば、MERのサイズは、最小CU又はCTUサイズ以下になることを許可されない。
d.例えば、MERのサイズは、最小CU又はCTUサイズより小さくなることを許可されない。
68.MERのサイズはインデックスによりシグナリングされてよい。
a.MERのサイズは、1-1マッピングにより、インデックスにマッピングできる。
69.MERのサイズ又はそのインデックスは、単位コード、指数ゴロムコード、ライスコード、固定長コードによりコーディングされてよい。
5.実施形態
以下の実施形態では、新たに追加されたテキストは太字の斜体であり、削除されたテキストは「[[]]」によりマークされる。
5.1 実施形態1:アフィン構成マージ候補に対するサブピクチャ制約
8.5.5.6 構成されたアフィン制御点動きベクトルマージ候補のための導出処理
この処理への入力は:
-現在ピクチャの左上ルマサンプルに対する、現在ルマコーディングブロックの左上サンプルを指定するルマ位置(xCb,yCb)、
-現在ルマコーディングブロックの幅及び高さを指定する2つの変数cbWidth及びcbHeight、
-利用可能性フラグavailableA,availableA,availableA,availableB,availableB,availableB,availableB
-サンプル位置(xNbA,yNbA),(xNbA,yNbA),(xNbA,yNbA),(xNbB,yNbB),(xNbB,yNbB),(xNbB,yNbB)及び(xNbB,yNbB
この処理の出力は:
-構成されたアフィン制御点動きベクトルマージ候補の利用可能性フラグavailableFlagConstK、K=1...6、
-参照インデックスrefIdxLXConstK,、K=1..6、Xは0又は1、
-予測リスト利用フラグpredFlagLXConstK、K=1..6,Xは0又は1、
-アフィン動きも出るインデックスmotionModelIdcConstK、K=1..6、
-双予測重みインデックスbcwIdxConstK、K=1..6、
-構成されたアフィン制御点動きベクトル、cpIdx=0..2、K=1..6、Xは0又は1

第4(同一位置右下)制御点動きベクトルcpMvLXCorner[3]、参照インデックスrefIdxLXCorner[3]、予測リスト利用フラグpredFlagLXCorner[3]、及び利用可能性フラグavailableFlagCorner[3]、ここでXは0又は1、は、以下のように導出される:
-時間マージ候補の参照インデックスrefIdxLXCorner[3]、ここでXは0又は1、は0に等しく設定される。
-変数mvLXCol及びavailableFlagLXCol、ここでXは0又は1、は以下のように導出される:
-slice_temporal_mvp_enabled_flagが0に等しい場合、mvLXColの両方のコンポーネントは0に等しく設定され、availableFlagLXColは0に等しく設定される。
-その他の場合(slice_temporal_mvp_enabled_flagが1に等しい)、以下が適用される:
Figure 2023511059000092
-yCb>>CtbLog2SizeYがyColBr>>CtbLog2SizeYに等しい場合、以下の通りである:
Figure 2023511059000093
-変数colCbは、ColPicにより指定される同一位置ピクチャの内側の、((xColBr>>3)<<3,(yColBr>>3)<<3)により与えられる変更位置をカバーするルマコーディングブロックを指定する。
-ルマ位置(xColCb,yColCb)は、ColPicにより指定される同一位置ピクチャの左上ルマサンプルに対する、colCbにより指定される同一位置ルマコーディングブロックの左上サンプルに等しく設定される。
-8.5.2.12項に指定される同一位置動きベクトルの導出処理は、currCb、colCb、(xColCb,yColCb)、refIdxLXCorner[3]、及び0に等しく設定されたsbFlagを入力として呼び出され、出力はmvLXCol及びavailableFlagLXColに割り当てられる。
-その他の場合、mvLXColの両方のコンポーネントは0に等しく設定され、availableFlagLXColは0に等しく設定される。
…。
5.2 実施形態2:アフィン構成マージ候補に対するサブピクチャ制約
8.5.5.6 構成されたアフィン制御点動きベクトルマージ候補のための導出処理
この処理への入力は:
-現在ピクチャの左上ルマサンプルに対する、現在ルマコーディングブロックの左上サンプルを指定するルマ位置(xCb,yCb)、
-現在ルマコーディングブロックの幅及び高さを指定する2つの変数cbWidth及びcbHeight、
-利用可能性フラグavailableA,availableA,availableA,availableB,availableB,availableB,availableB
-サンプル位置(xNbA,yNbA),(xNbA,yNbA),(xNbA,yNbA),(xNbB,yNbB),(xNbB,yNbB),(xNbB,yNbB)及び(xNbB,yNbB)。
この処理の出力は:
-構成されたアフィン制御点動きベクトルマージ候補の利用可能性フラグavailableFlagConstK、K=1...6、
-参照インデックスrefIdxLXConstK,、K=1..6、Xは0又は1、
-予測リスト利用フラグpredFlagLXConstK、K=1..6,Xは0又は1、
-アフィン動きも出るインデックスmotionModelIdcConstK、K=1..6、
-双予測重みインデックスbcwIdxConstK、K=1..6、
-構成されたアフィン制御点動きベクトル、cpIdx=0..2、K=1..6、Xは0又は1

第4(同一位置右下)制御点動きベクトルcpMvLXCorner[3]、参照インデックスrefIdxLXCorner[3]、予測リスト利用フラグpredFlagLXCorner[3]、及び利用可能性フラグavailableFlagCorner[3]、ここでXは0又は1、は、以下のように導出される:
-時間マージ候補の参照インデックスrefIdxLXCorner[3]、ここでXは0又は1、は0に等しく設定される。
-変数mvLXCol及びavailableFlagLXCol、ここでXは0又は1、は以下のように導出される:
-slice_temporal_mvp_enabled_flagが0に等しい場合、mvLXColの両方のコンポーネントは0に等しく設定され、availableFlagLXColは0に等しく設定される。
-その他の場合(slice_temporal_mvp_enabled_flagが1に等しい)、以下が適用される:
Figure 2023511059000094
-yCb>>CtbLog2SizeYがyColBr>>CtbLog2SizeYと等しい場合、[[yColBrpic_height_in_luma_samples以下であり、xColBrpic_width_in_luma_samples以下であり、以下が適用される]]:
-変数colCbは、ColPicにより指定される同一位置ピクチャの内側の、((xColBr>>3)<<3,(yColBr>>3)<<3)により与えられる変更位置をカバーするルマコーディングブロックを指定する。
-ルマ位置(xColCb,yColCb)は、ColPicにより指定される同一位置ピクチャの左上ルマサンプルに対する、colCbにより指定される同一位置ルマコーディングブロックの左上サンプルに等しく設定される。
-8.5.2.12項に指定される同一位置動きベクトルの導出処理は、currCb、colCb、(xColCb,yColCb)、refIdxLXCorner[3]、及び0に等しく設定されたsbFlagを入力として呼び出され、出力はmvLXCol及びavailableFlagLXColに割り当てられる。
-その他の場合、mvLXColの両方のコンポーネントは0に等しく設定され、availableFlagLXColは0に等しく設定される。
…。
5.3 実施形態3:サブピクチャ制約の下で整数サンプルをフェッチする。
8.5.6.3.3 ルマ整数サンプルフェッチ処理
この処理への入力は:
-フルサンプルユニットのルマ位置(xIntL,yIntL)、
-ルマ参照サンプルアレイrefPicLXL
この処理の出力は、予測ルマサンプル値predSampleLXLである。
変数shiftは、Max(2,14-BitDepthY)に等しく設定される。
変数picWは、pic_width_in_luma_samplesに等しく設定され、変数picHはpic_height_in_luma_samplesに等しく設定される。
フルサンプルユニットのルマ位置(xInti,yInti)は、以下のように導出される:
Figure 2023511059000095
予測されたルマサンプル値はpredSampleLXLは以下のように導出される:
Figure 2023511059000096
5.4 実施形態4:LMCSのクロマ残差スケーリングにおける変数invAvgLumaの導出
8.7.5.3 クロマサンプルのルマ依存クロマ残差スケーリング処理によるピクチャ再構成
この処理への入力は:
-現在ピクチャの左上クロマサンプルに対する、現在クロマ変換ブロックの左上クロマサンプルのクロマ位置(xCurr,yCurr)、
-クロマ変換ブロック幅を指定する変数nCurrSw、
-クロマ変換ブロック高さを指定する変数nCurrSh、
-現在クロマ変換ブロックのコーディングブロックフラグを指定する変数tuCbfChroma、
-現在ブロックのクロマ予測サンプルを指定する(nCurrSw)x(nCurrSh)アレイpredSamples、
-現在ブロックのクロマ残差サンプルを指定する(nCurrSw)x(nCurrSh)アレイresSamples。
この処理の出力は、再構成クロマピクチャサンプルアレイrecSamplesである。
変数sizeYは、Min(CtbSizeY,64)に等しく設定される。
再構成クロマピクチャサンプルrecSamplesは、i=0..nCurrSw-1,j=0..nCurrSh-1について以下のように導出される:
-…
-その他の場合、以下が適用される。
-…
-変数currPicは、現在ピクチャ内の再構成ルマサンプルのアレイを指定する。
-変数varScaleの導出のために、以下の順序付きステップが適用される:
1.変数invAvgLumaは、以下のように導出される:
-アレイrecLuma[i]withi=0..(2*sizeY-1)及び変数cntは以下のように導出される:
-変数cntは、0に等しく設定される
Figure 2023511059000097
-availLが真に等しいとき、i=0..sizeY-1を有するアレイrecLuma[i]は、以下に等しく設定され:
Figure 2023511059000098
cntはsizeYに等しく設定される。
-availLが真に等しいときi=0..sizeY-1を有するアレイrecLuma[cnt+i]は、以下に等しく設定され:
Figure 2023511059000099
cntは(cnt+sizeY)に等しく設定される。
-変数invAvgLumaは、以下のように導出される:
-cntが0より大きい場合、以下が適用される:
Figure 2023511059000100
-その他の場合(cntが0に等しい)、以下が適用される:
Figure 2023511059000101
5.5 実施形態5:4個のサンプル以外のN(例えばN=8又は32)個の単位でサブピクチャエレメントを定義する例
7.4.3.3 シーケンスパラメータセットRBSPセマンティクス
subpic_grid_col_width_minus1に1を加えたものは、個数;
Figure 2023511059000102
のユニット内のサブピクチャ識別子グリッドの各要素の幅を指定する。シンタックス要素の長さは、以下の通りである:
Figure 2023511059000103
変数NumSubPicGridColsは、以下のように導出される。
Figure 2023511059000104
subpic_grid_row_height_minus1に1を加えたものは、4個のサンプルのユニット内のサブピクチャ識別子の各要素の高さを指定する。シンタックス要素の長さは、以下の通りである:
Figure 2023511059000105
変数NumSubPicGridRowsは、以下のように導出される。
Figure 2023511059000106
7.4.7.1 汎用スライスヘッダセマンティクス
変数SubPicIdx、SubPicLeftBoundaryPos、SubPicTopBoundaryPos、SubPicRightBoundaryPos、及びSubPicBotBoundaryPosは、以下のように導出される:
Figure 2023511059000107
5.6 実施形態6:ピクチャ幅及びピクチャ高さが8以上になるよう制約する。
7.4.3.3 シーケンスパラメータセットRBSPセマンティクス
pic_width_max_in_luma_samplesは、SPSを参照する各復号ピクチャの最大幅を、ルマサンプルの単位で指定する。pic_width_max_in_luma_samplesは、0に等しくてはならない、及び以下:
Figure 2023511059000108
の整数倍である。
pic_height_max_in_luma_samplesは、SPSを参照する各復号ピクチャの最大高さを、ルマサンプルの単位で指定する。pic_height_max_in_luma_samplesは、0に等しくてはならない、及び以下:
Figure 2023511059000109
の整数倍である。
5.7 実施形態7:BT/TT/QT分割、BT/TT/QT深さ導出、及び/又はCU分割フラグのシグナリングのためのサブピクチャ境界チェック
6.4.2 許可されるバイナリ分割処理
変数allowBtSplitは、以下のように導出される:
-…
-或いは、以下の条件のうちの全部が、真である場合、allowBtSplitは偽に等しく設定される。
-btSplitは、SPLIT_BT_VERに等しい。
Figure 2023511059000110
-或いは、以下の条件のうちの全部が、真である場合、allowBtSplitは偽に等しく設定される。
-btSplitは、SPLIT_BT_VERに等しい。
-cbHeightはMaxTbSizeYより大きい。
Figure 2023511059000111
-或いは、以下の条件のうちの全部が、真である場合、allowBtSplitは偽に等しく設定される。
-btSplitは、SPLIT_BT_HORに等しい。
-cbWidthはMaxTbSizeYより大きい。
Figure 2023511059000112
-或いは、以下の条件のうちの全部が、真である場合、allowBtSplitは偽に等しく設定される。
Figure 2023511059000113
Figure 2023511059000114
-cbWidthはminQtSizeより大きい。
-或いは、以下の条件のうちの全部が、真である場合、allowBtSplitは偽に等しく設定される。
-btSplitは、SPLIT_BT_HORに等しい。
Figure 2023511059000115
Figure 2023511059000116
6.4.2 許可される3分割処理
変数allowTtSplitは、以下のように導出される:
-以下の条件のうちの1つ以上が真である場合、allowTtSplitは偽に等しく設定される。
-cbSizeは2*MinTtSizeY以下である。
-cbWidthはMin(MaxTbSizeY,maxTtSize)より大きい。
-cbHeightはMin(MaxTbSizeY,maxTtSize)より大きい。
-mttDepthは、maxMttDepth以上である。
Figure 2023511059000117
Figure 2023511059000118
-treeTypeがDUAL_TREE_CHROMAに等しく、(cbWidth/SubWidthC)*(cbHeight/SubHeightC)は32以下である。
-treeTypeは、DUAL_TREE_CHROMAに等しく、modeTypeはMODE_TYPE_INTRAに等しい。
或いは、allowTtSplitは真に等しく設定される。
Figure 2023511059000119
Figure 2023511059000120
Figure 2023511059000121
Figure 2023511059000122
5.8 実施形態8:サブピクチャを定義する例
Figure 2023511059000123
Figure 2023511059000124
5.9 実施形態9:サブピクチャを定義する例
Figure 2023511059000125
Figure 2023511059000126
5.10 実施形態10:サブピクチャを定義する例
Figure 2023511059000127
Figure 2023511059000128
5.11 実施形態11:サブピクチャを定義する例
Figure 2023511059000129
Figure 2023511059000130
5.12 実施形態:サブピクチャを考慮するデブロッキング
8.8.3 デブロッキングフィルタ処理
8.8.3.1 概要
この処理への入力は、デブロッキング前の再構成ピクチャ、つまり、アレイrecPictureLであり、ChromaArrayTypeが0に等しくないとき、アレイrecPictureCb及びrecPictureCr.である。
この処理の出力は、デブロッキング後の変更された再構成ピクチャ、つまり、アレイrecPictureLであり、ChromaArrayTypeが0に等しくないとき、アレイrecPictureCb及びrecPictureCr.である。
ピクチャ内の垂直エッジが最初にフィルタリングされる。次に、ピクチャ内の水平エッジが、入力として垂直エッジフィルタリング処理により変更されたサンプルによりフィルタリングされる。各CTUのCTB内の垂直及び水平エッジは、コーディングユニット毎に別個に処理される。コーディングユニット内のコーディングブロックの垂直エッジは、コーディングブロックの左側にあるエッジから開始して、コーディングブロックの右側へ向かって、エッジを通じてそれらの幾何学的順序で進行しながらフィルタリングされる。コーディングユニット内のコーディングブロックの水平エッジは、コーディングブロックの上にあるエッジから開始して、コーディングブロックの下へ向かって、エッジを通じてそれらの幾何学的順序で進行しながらフィルタリングされる。
注:フィルタリング処理は本明細書ではピクチャ毎に指定されるが、デコーダが同じ出力値を生成するよう処理依存性順序を適正に考慮するならば、フィルタリング処理は、コーディングユニット毎に実施することができ、等価な結果を有する。
デブロッキングフィルタ処理は、全部のサブブロックエッジに適用され、以下のタイプのエッジを除いて、ピクチャのブロックエッジを変換する。
-ピクチャの境界にあるエッジ、
-[[loop_filter_across_subpic_enabled_flag[SubPicIdx]isequalto0が0に等しい、サブピクチャの境界に一致するエッジ、]]
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しいとき、ピクチャの仮想境界に一致するエッジ、
-loop_filter_across_tiles_enabled_flagが0に等しいとき、タイル境界に一致するエッジ、
-loop_filter_across_slices_enabled_flagが0に等しいとき、スライス境界に一致するエッジ、
-slice_deblocking_filter_disabled_flagが1に等しいとき、スライスの上又は左境界に一致するエッジ、
-1に等しいslice_deblocking_filter_disabled_flagを有するスライス内のエッジ、
-ルマ成分の4×4サンプルグリッド境界に対応しないエッジ、
-クロマ成分の8×8サンプルグリッド境界に対応しないエッジ、
-エッジの両側が1に等しいintra_bdpcm_luma_flagを有する、ルマ成分内のエッジ、
-エッジの両側が1に等しいintra_bdpcm_chroma_flagを有する、クロマ成分内のエッジ、
-関連する変換ユニットのエッジが存在しないクロマサブブロックのエッジ、

1方向のデブロッキングフィルタ処理
この処理への入力は:
-ルマ成分(DUAL_TREE_LUMA)又はクロマ成分(DUAL_TREE_CHROMA)が現在処理されているかどうかを指定する変数treeType、
-treeTypeがDUAL_TREE_LUMAに等しいとき、デブロッキング前の再構成ピクチャ、つまりアレイrecPictureL
-ChromaArrayTypeが0に等しくなく、treeTypeがDUAL_TREE_CHROMAであるとき、アレイrecPictureCb及びrecPictureCr
-垂直(EDGE_VER)又は水平(EDGE_HOR)エッジがフィルタリングされるかを指定する変数edgeType
この処理の出力は、デブロッキング後に変更された再構成ピクチャである、つまり:
-treeTypeがDUAL_TREE_LUMAに等しいとき、アレイrecPictureL
-ChromaArrayTypeが0に等しくなく、treeTypeがDUAL_TREE_CHROMAであるとき、アレイrecPictureCb及びrecPictureCr
変数firstCompIdx及びlastCompIdxは、以下のように導出される:
Figure 2023511059000131
各コーディングユニット、及びコーディングブロック幅nCbW、コーディングブロック高さnCbH、及びコーディングブロックの左上サンプルの位置(xCb,yCb)を有する、両端を含むfirstCompIdx~lastCompIdxの範囲の色成分インデックスcIdxにより示されるコーディングユニットの色成分毎の各コーディングブロックについて、cIdxが0に等しいとき、又はcIdxが0に等しくなく、edgeTypeがEDGE_VERに等しく、xCb%8が0に等しいとき、又はcIdxが0に等しくなく、edgeTypeがEDGE_HORに等しく、yCb%8が0に等しいとき、エッジは以下の順序付きステップによりフィルタリングされる:
1.変数filterEdgeFlagは、以下のように導出される:
-edgeTypeがEDGE_VERに等しく、以下の条件のうちの1つ以上が真である場合、filterEdgeFlagが0に等しく設定される:
-現在コーディングブロックの左境界がピクチャの左境界である。
-[[現在コーディングブロックの左境界がサブピクチャの左又は右境界であり、loop_filter_across_subpic_enabled_flag[SubPicIdx]が0に等しい。]]
-現在コーディングブロックの左境界がタイルの左境界であり、loop_filter_across_tiles_enabled_flagが0に等しい。
-現在コーディングブロックの左境界がスライスの左境界であり、loop_filter_across_slices_enabled_flagが0に等しい。
-現在コーディングブロックの左境界がピクチャの垂直仮想境界のうちの1つであり、VirtualBoundariesDisabledFlagが1に等しい。
-その他の場合、edgeTypeがEDGE_HORに等しく、以下の条件のうちの1つ以上が真である場合、変数filterEdgeFlagが0に等しく設定される:
-現在ルマコーディングブロックの上境界がピクチャの上境界である。
[[-現在コーディングブロックの上境界がサブピクチャの上又は下境界であり、loop_filter_across_subpic_enabled_flag[SubPicIdx]が0に等しい。]]
-現在コーディングブロックの上境界がタイルの上境界であり、loop_filter_across_tiles_enabled_flagが0に等しい。
-現在コーディングブロックの上境界がスライスの上境界であり、loop_filter_across_slices_enabled_flagが0に等しい。
-現在コーディングブロックの上境界がピクチャの水平仮想境界のうちの1つであり、VirtualBoundariesDisabledFlagが1に等しい。
-その他の場合、filterEdgeFlagが1に等しく設定される。

ショートフィルタを用いるルマサンプルのためのフィルタリング処理
この処理への入力は:
-i=0..3を有するサンプル値pi及びqi
-i=0..2を有するpi及びqiの位置(xPi,yPi)及び(xQi,yQi)、
-変数dE、
-各々サンプルp1及びq1をフィルタリングする決定を含む変数dEp及びdEq、
-変数tC
この処理の出力は:
-フィルタリング済みサンプルの数nDp及びnDq、
-i=0..nDp-1,j=0..nDq-1を有するフィルタリング済みサンプル値pi′及びqj
dEの値に依存して、以下が適用される:
-変数dEが2に等しい場合、nDp及びnDqは両方とも3に等しく設定され、以下の強力なフィルタリングが適用される:
Figure 2023511059000132
-或いは、nDp及びnDqは両方とも0に等しく設定され、以下の弱いフィルタリングが適用される:
-以下が適用される:
Figure 2023511059000133
-Abs(Δ)がtC*10より小さいとき、以下の順序付きステップが適用される:
-フィルタリング済みサンプル値p′及びq′は以下のように指定される:
Figure 2023511059000134
-WhendEpが1に等しいとき、フィルタリング済みサンプル値p′は以下のように指定される:
Figure 2023511059000135
-dEqが1に等しいとき、フィルタリング済みサンプル値q′は以下のように指定される:
Figure 2023511059000136
-nDpはdEp+1に等しく設定され、nDqはdEq+1.に等しく設定される。
nDpが0より大きく、サンプルpを含むコーディングブロックを含むコーディングユニットのpred_mode_plt_flagが1に等しいとき、nDpは0に等しく設定される。
nDqが0より大きく、サンプルqを含むコーディングブロックを含むコーディングユニットのpred_mode_plt_flagが1に等しいとき、nDpは0に等しく設定される
Figure 2023511059000137
この処理への入力は:
-変数maxFilterLengthP及びmaxFilterLengthQ、
-i=0..maxFilterLengthPandj=0..maxFilterLengthQを有する、サンプル値pi及びqj
-i=0..maxFilterLengthP-1及びj=0..maxFilterLengthQ-1を有するpi及びqiの位置(xPi,yPi)and(xQj,yQj)、
-変数tC
この処理の出力は:
-i=0..maxFilterLengthP-1,j=0..maxFilterLenghtQ-1を有するフィルタリング済みサンプル値pi′及びqj
変数refMiddleは以下のように導出される:
-maxFilterLengthPがmaxFilterLengthQに等しく、maxFilterLengthPは5に等しく、以下が適用される:
Figure 2023511059000138
-或いは、maxFilterLengthPがmaxFilterLengthQに等しく、maxFilterLengthPが5に等しくない場合、以下が適用される:
Figure 2023511059000139
-或いは、以下の条件のうちの1つが真である場合、
-maxFilterLengthQ7に等しく、maxFilterLengthPが5に等しい、
-maxFilterLengthQ5に等しく、maxFilterLengthPが7に等しい、
以下が適用される:
Figure 2023511059000140
-或いは、以下の条件のうちの1つが真である場合、
-maxFilterLengthQ5に等しく、maxFilterLengthPが3に等しい、
-maxFilterLengthQ3に等しく、maxFilterLengthPが5に等しい、
以下が適用される:
Figure 2023511059000141
-或いは、maxFilterLengthQが7に等しく、maxFilterLengthPが 3に等しい場合、以下が適用される:
Figure 2023511059000142
-その他の場合、以下が適用される。
Figure 2023511059000143
変数refPandrefQは以下のように導出される:
Figure 2023511059000144
変数fi及びtCPDiは以下のように定義される:
-maxFilterLengthPが7に等しい場合、以下が適用される:
Figure 2023511059000145
-或いは、maxFilterLengthPが5に等しい場合、以下が適用される:
Figure 2023511059000146
-その他の場合、以下が適用される。
Figure 2023511059000147
変数gj及びtCQDjは以下のように定義される:
-maxFilterLengthQが7に等しい場合、以下が適用される:
Figure 2023511059000148
-或いは、maxFilterLengthQが5に等しい場合、以下が適用される:
Figure 2023511059000149
-その他の場合、以下が適用される。
Figure 2023511059000150
i=0..maxFilterLengthP-1及びj=0..maxFilterLengthQ-1を有するフィルタリング済みサンプル値pi′及びqj′は、以下のように導出される:
Figure 2023511059000151
サンプルpiを含むコーディングブロックを含むコーディングユニットのpred_mode_plt_flagが1に等しいとき、フィルタリング済みサンプル値pi′は、i=0..maxFilterLengthP-1.を有する対応する入力サンプル値piにより代用される。
サンプルqiを含むコーディングブロックを含むコーディングユニットのpred_mode_plt_flagが1に等しいとき、フィルタリング済みサンプル値qi′はj=0..maxFilterLengthQ-1を有する対応する入力サンプル値qjにより代用される
Figure 2023511059000152
この処理は、ChromaArrayTypeが0に等しくないときにのみ、呼び出される。
この処理への入力は:
-変数maxFilterLength、
-i=0..maxFilterLengthCbCrを有するクロマサンプル値pi及びqi
-i=0..maxFilterLengthCbCr-1を有するpi及びqiの位置(xPi,yPi)及び(xQi,yQi)、
-変数tC
この処理の出力は、i=0..maxFilterLengthCbCr-1を有するフィルタリング済みサンプル値pi′及びqi′である。
i=0..maxFilterLengthCbCr-1を有するフィルタリング済みサンプル値pi′及びqj′は、以下のように導出される:
-IfmaxFilterLengthCbCrが3に等しい場合、以下の強力なフィルタリングが適用される:
Figure 2023511059000153
-その他の場合、以下の弱いフィルタリングが適用される:
Figure 2023511059000154
サンプルpiを含むコーディングブロックを含むコーディングユニットのpred_mode_plt_flagが1に等しいとき、フィルタリング済みサンプル値pi′は、i=0..maxFilterLengthCbCr-1.を有する対応する入力サンプル値piにより代用される。
サンプルqiを含むコーディングブロックを含むコーディングユニットのpred_mode_plt_flagが1に等しいとき、フィルタリング済みサンプル値qi′はi=0..maxFilterLengthCbCr-1を有する対応する入力サンプル値qiにより代用される:
Figure 2023511059000155
5.13 実施形態:サブピクチャを考慮するデブロッキング(ソリューション#2)
8.8.3 デブロッキングフィルタ処理
8.8.3.1 概要
この処理への入力は、デブロッキング前の再構成ピクチャ、つまり、アレイrecPictureLであり、ChromaArrayTypeが0に等しくないとき、アレイrecPictureCb及びrecPictureCr.である。
この処理の出力は、デブロッキング後の変更された再構成ピクチャ、つまり、アレイrecPictureLであり、ChromaArrayTypeが0に等しくないとき、アレイrecPictureCb及びrecPictureCr.である。

デブロッキングフィルタ処理は、全部のサブブロックエッジに適用され、以下のタイプのエッジを除いて、ピクチャのブロックエッジを変換する。
-ピクチャの境界にあるエッジ、
-[[loop_filter_across_subpic_enabled_flag[SubPicIdx]isequalto0が0に等しい、サブピクチャの境界に一致するエッジ、]]
Figure 2023511059000156
-VirtualBoundariesDisabledFlagが1に等しいとき、ピクチャの仮想境界に一致するエッジ、
-…
8.8.3.2 一方向のデブロッキングフィルタ処理
この処理への入力は:
-ルマ成分(DUAL_TREE_LUMA)又はクロマ成分(DUAL_TREE_CHROMA)が現在処理されているかどうかを指定する変数treeType、

1.変数filterEdgeFlagは、以下のように導出される:
-edgeTypeがEDGE_VERに等しく、以下の条件のうちの1つ以上が真である場合、filterEdgeFlagが0に等しく設定される:
-現在コーディングブロックの左境界がピクチャの左境界である。
-[[現在コーディングブロックの左境界がサブピクチャの左又は右境界であり、loop_filter_across_subpic_enabled_flag[SubPicIdx]が0に等しい。]]
Figure 2023511059000157
-…
-その他の場合、edgeTypeがEDGE_HORに等しく、以下の条件のうちの1つ以上が真である場合、変数filterEdgeFlagが0に等しく設定される:
-現在ルマコーディングブロックの上境界がピクチャの上境界である。
[[-現在コーディングブロックの上境界がサブピクチャの上又は下境界であり、loop_filter_across_subpic_enabled_flag[SubPicIdx]が0に等しい。]]
Figure 2023511059000158
図3は、ビデオ処理機器300のブロック図である。機器300は、ここに記載した方法のうちの1つ以上を実施するために使用されてよい。機器300は、スマートフォン、タブレット、コンピュータ、モノのインターネット(Internet of Things (IoT))受信機、等において実施されてよい。機器300は、1つ以上のプロセッサ312、1つ以上のメモリ314、及びビデオ処理ハードウェア316を含んでよい。プロセッサ312は、本願明細書に記載した1つ以上の方法を実施するよう構成されてよい。メモリ(複数のメモリ)314は、本願明細書に記載の方法及び技術を実施するために使用されるデータ及びコードを格納するために使用されてよい。ビデオ処理ハードウェア316は、ハードウェア回路で、本願明細書に記載した幾つかの技術を実施するために使用されてよい。
図4は、ビデオを処理する方法400のフローチャートである。方法400は、ビデオの第1ビデオ領域内のビデオブロックについて、アフィンモードを用いてビデオブロックと現在ビデオブロックのビットストリーム表現との間の変換のために時間動きベクトル予測子が決定される位置が、第2ビデオ領域の範囲内であるかどうかを決定するステップ(402)と、決定に基づき変換を実行するステップ(404)と、を含む。
以下のソリューションは、幾つかの実施形態において好適なソリューションとして実装されてよい。
以下のソリューションは、前の章(例えば、項目1)にリストされた項目で説明した追加技術と一緒に実装されてよい。
(ソリューション1)ビデオ処理の方法であって、ビデオの第1ビデオ領域内のビデオブロックについて、アフィンモードを用いて前記ビデオブロックと現在ビデオブロックのビットストリーム表現との間の変換のために時間動きベクトル予測子が決定される位置が、第2ビデオ領域の範囲内であるかどうかを決定するステップと、前記決定に基づき前記変換を実行するステップと、を含む方法。
(ソリューション2)前記ビデオブロックは、前記第1領域及び前記第2領域によりカバーされる、ソリューション1に記載の方法。
(ソリューション3)前記時間動きベクトル予測子の位置が前記第2ビデオ領域の外側にある場合、前記時間動きベクトル予測子は利用できないとマークされ、前記変換において使用されない、ソリューション1~2のいずれかに記載の方法。
以下のソリューションは、前の章(例えば、項目2)にリストされた項目で説明した追加技術と一緒に実装されてよい。
(ソリューション4)ビデオ処理の方法であって、ビデオの第1ビデオ領域内のビデオブロックについて、前記ビデオブロックと現在ビデオブロックのビットストリーム表現との間の変換のために参照ピクチャ内の整数サンプルがフェッチされる位置が、第2ビデオ領域の範囲内であるかどうかを決定するステップであって、前記参照ピクチャは前記変換中に補間処理において使用されない、ステップと、前記決定に基づき前記変換を実行するステップと、を含む方法。
(ソリューション5)前記ビデオブロックは、前記第4領域及び前記第2領域によりカバーされる、ソリューション1に記載の方法。
(ソリューション6)前記サンプルの位置が前記第2ビデオ領域の外側にある場合、前記サンプルは利用できないとマークされ、前記変換において使用されない、ソリューション4~5のいずれかに記載の方法。
以下のソリューションは、前の章(例えば、項目3)にリストされた項目で説明した追加技術と一緒に実装されてよい。
(ソリューション7)ビデオ処理の方法であって、ビデオの第1ビデオ領域内のビデオブロックについて、前記ビデオブロックと現在ビデオブロックのビットストリーム表現との間の変換のために再構成ルマサンプル値がフェッチされる位置が、第2ビデオ領域の範囲内であるかどうかを決定するステップと、前記決定に基づき前記変換を実行するステップと、を含む方法。
(ソリューション8)前記ルマサンプルは、前記第1領域及び前記第2領域によりカバーされる、ソリューション7に記載の方法。
(ソリューション9)前記ルマサンプルの位置が前記第2ビデオ領域の外側にある場合、前記ルマサンプルは利用できないとマークされ、前記変換において使用されない、ソリューション7~8のいずれかに記載の方法。
以下のソリューションは、前の章(例えば、項目4)にリストされた項目で説明した追加技術と一緒に実装されてよい。
(ソリューション10)ビデオ処理の方法であって、ビデオの第1ビデオ領域内のビデオブロックについて、前記ビデオブロックと前記現在ビデオブロックのビットストリーム表現との間の変換中に、前記ビデオブロックについて分割に関するチェック、深さ導出、又は分割フラグシグナリングが実行される位置が、第2ビデオ領域の範囲内であるかどうかを決定するステップと、前記決定に基づき前記変換を実行するステップと、を含む方法。
(ソリューション11)前記位置は、前記第1領域及び前記第2領域によりカバーされる、ソリューション10に記載の方法。
(ソリューション12)前記位置が前記第2ビデオ領域の外側にある場合、前記ルマサンプルは利用できないとマークされ、前記変換において使用されない、ソリューション10~11のいずれかに記載の方法。
以下のソリューションは、前の章(例えば、項目8)にリストされた項目で説明した追加技術と一緒に実装されてよい。
(ソリューション13)ビデオ処理の方法であって、1つ以上のビデオブロックを含む1つ以上のビデオピクチャを含むビデオと、前記ビデオのコーディング表現との間の変換を実行するステップを含み、前記コーディング表現は、前記変換がサブピクチャコーディング/復号、及び動的解像度変換コーディング/復号ツール又は参照ピクチャ再サンプリングツールをビデオユニット内で使用しないというコーディングシンタックス要件に従う、方法。
(ソリューション14)前記ビデオユニットは、前記1つ以上のビデオピクチャのシーケンスに対応する、ソリューション13に記載の方法。
(ソリューション15)前記動的解像度変換コーディング/復号ツールは、適応解像度変換コーディング/復号ツールを含む、ソリューション13~14のいずれかに記載の方法。
(ソリューション16)前記動的解像度変換コーディング/復号ツールは、動的解像度変換コーディング/復号ツールを含む、ソリューション13~14のいずれかに記載の方法。
(ソリューション17)前記コーディング表現は、前記ビデオユニットが前記コーディングシンタックス要件に従うことを示す、ソリューション13~16のいずれかに記載の方法。
(ソリューション18)前記コーディング表現は、前記ビデオユニットが前記サブピクチャを使用することを示す、ソリューション17に記載の方法。
(ソリューション19)前記コーディング表現は、前記ビデオユニットが前記動的解像度変換コーディング/復号ツール又は前記参照ピクチャ再サンプリングツールを使用することを示す、ソリューション17に記載の方法。
以下のソリューションは、前の章(例えば、項目10)にリストされた項目で説明した追加技術と一緒に実装されてよい。
(ソリューション20)前記第2ビデオ領域はビデオサブピクチャを含み、前記第2ビデオ領域と別のビデオ領域との境界は、2つのコーディングツリーユニットの間の境界も含む、ソリューション1~19のいずれかに記載の方法。
(ソリューション21)前記第2ビデオ領域はビデオサブピクチャを含み、前記第2ビデオ領域と別のビデオ領域との境界は、2つのコーディングツリーユニットの間の境界も含む、ソリューション1~19のいずれかに記載の方法。
以下のソリューションは、前の章(例えば、項目11)にリストされた項目で説明した追加技術と一緒に実装されてよい。
(ソリューション22)前記第1ビデオ領域及び前記第2ビデオ領域は長方形形状を有する、ソリューション1~21のいずれかに記載の方法。
以下のソリューションは、前の章(例えば、項目12)にリストされた項目で説明した追加技術と一緒に実装されてよい。
(ソリューション23)前記第1ビデオ領域及び前記第2ビデオ領域は重なり合わない、ソリューション1~22のいずれかに記載の方法。
以下のソリューションは、前の章(例えば、項目13)にリストされた項目で説明した追加技術と一緒に実装されてよい。
(ソリューション24)前記ビデオピクチャは、前記ビデオピクチャ内のピクセルが1つの且つ1つのみのビデオ領域によりカバーされるように、ビデオ領域に分割される、ソリューション1~23のいずれかに記載の方法。
以下のソリューションは、前の章(例えば、項目15)にリストされた項目で説明した追加技術と一緒に実装されてよい。
(ソリューション25)前記ビデオピクチャが前記ビデオシーケンスの特定レイヤ内にあることに起因して、前記ビデオピクチャは、前記第1ビデオ領域及び前記第2ビデオ領域に分割される、ソリューション1~24のいずれかに記載の方法。
以下のソリューションは、前の章(例えば、項目10)にリストされた項目で説明した追加技術と一緒に実装されてよい。
(ソリューション26)ビデオ処理の方法であって、1つ以上のビデオブロックを含む1つ以上のビデオピクチャを含むビデオと、前記ビデオのコーディング表現との間の変換を実行するステップを含み、前記コーディング表現は、第1シンタックスエレメントsubpic_grid_idx[i][j]が第2シンタックスエレメントmax_subpics_minus1より大きくないというコーディングシンタックス要件に従う、方法。
(ソリューション27)前記第1シンタックスエレメントを表すコードワードは、前記第2シンタックスエレメントを表すコードワードより大きくない、ソリューション26に記載の方法。
(ソリューション28)前記第1ビデオ領域はビデオサブピクチャを含む、ソリューション1~27のいずれかに記載の方法。
(ソリューション29)前記第2ビデオ領域はビデオサブピクチャを含む、ソリューション1~28のいずれかに記載の方法。
(ソリューション30)前記変換は、前記ビデオを前記コーディング表現に符号化することを含む、ソリューション1~29のいずれかに記載の方法。
(ソリューション31)前記変換は、前記コーディング表現を復号して前記ビデオのピクセル値を生成することを含む、ソリューション1~29のいずれかに記載の方法。
(ソリューション32)ビデオ復号機器であって、ソリューション1~31のうちの1つ以上に記載の方法を実施するよう構成されるプロセッサを含むビデオ復号機器。
(ソリューション33)ビデオ符号化機器であって、ソリューション1~31のうちの1つ以上に記載の方法を実施するよう構成されるプロセッサを含むビデオ符号化機器。
(ソリューション34)格納されたコンピュータコードを有するコンピュータプログラムプロダクトであって、前記コードは、プロセッサにより実行されると、前記プロセッサにソリューション1~31のいずれかに記載の方法を実施させる、コンピュータプログラムプロダクト。
(ソリューション35)本願明細書に記載された方法、機器、又はシステム。
図13は、ここに開示される種々の技術が実施され得る例示的なビデオ処理システム1300を示すブロック図である。種々の実装は、システム1300のコンポーネントの一部又は全部を含んでよい。システム1300は、ビデオコンテンツを受信する入力1302を含んでよい。ビデオコンテンツは、生(raw)又は非圧縮フォーマット、例えば8又は10ビット複数成分ピクセル値で受信されてよく、或いは圧縮又は符号化フォーマットであってよい。入力1302は、ネットワークインタフェース、周辺機器バスインタフェース、又はストレージインタフェースを表してよい。ネットワークインタフェースの例は、イーサネット(登録商標)、受動光ネットワーク(passive optical network (PON))等のような有線インタフェース、及びWi-Fi又はセルラインタフェースのような無線インタフェースを含む。
システム1300は、本願明細書に記載された種々のコーディング又は符号化方法を実施し得るコーディングコンポーネント1304を含んでよい。コーディングコンポーネント1304は、入力1302からコーディングコンポーネント1304の出力へのビデオの平均ビットレートを低減して、ビデオのコーディング表現を生成してよい。コーディング技術は、従って、時に、ビデオ圧縮又はビデオトランスコーディング技術と呼ばれる。コーディングコンポーネント1304の出力は、コンポーネント1306により表されるように、格納されるか、又は通信接続を介して送信されてよい。入力1302で受信された、格納され又は通信されたビットストリーム(又はコーディングされた)表現は、コンポーネント1308により、ディスプレイインタフェース1310へ送信されるピクセル値又は表示可能なビデオを生成するために、使用されてよい。ビットストリーム表現からユーザに閲覧可能なビデオを生成する処理は、時に、ビデオ伸長と呼ばれる。更に、特定のビデオ処理動作は「コーディング」動作又はツールと呼ばれるが、コーディングツール又は動作は、エンコーダにおいて使用され、コーディングの結果を逆にする対応する復号ツール又は動作がデコーダにより実行されることが理解される。
周辺機器バスインタフェース又はディスプレイインタフェースの例は、ユニバーサルシリアルバス(universal serial bus (USB))又は高解像度マルチメディアインタフェース(high definition multimedia interface (HDMI(登録商標)))又はディスプレイポート(Displayport)、等を含んでよい。ストレージインタフェースの例は、SATA(serial advanced technology attachment)、PCI、IDEインタフェース、等を含む。本願明細書に記載した技術は、移動電話機、ラップトップ、スマートフォン、又はデジタルデータ処理を実行可能な他の装置、及び/又はビデオディスプレイのような種々の電子装置に実装されてよい。
図14は、本開示の技術を利用し得る例示的なビデオコーディングシステム100を示すブロック図である。
図14に示されるように、ビデオコーディングシステム100は、ソース装置110と宛先装置120とを含んでよい。ソース装置110は、ビデオ符号化装置と呼ばれてよく、符号化ビデオデータを生成する。宛先装置120は、ビデオ復号装置と呼ばれてよく、ソース装置110により生成された符号化ビデオデータを復号してよい。
ソース装置110は、ビデオソース112、ビデオエンコーダ114、及び入力/出力(I/O)インタフェース116を含んでよい。
ビデオソース112は、ビデオキャプチャ装置のようなソース、ビデオコンテンツプロバイダからビデオデータを受信するインタフェース、及び/又はビデオデータを生成するコンピュータグラフィックシステム、又はそのようなソースの組合せを含んでよい。ビデオデータは、1つ以上のピクチャを含んでよい。ビデオエンコーダ114は、ビデオソース112からのビデオデータを符号化して、ビットストリームを生成する。ビットストリームは、ビデオデータのコーディング表現を形成するビットのシーケンスを含んでよい。ビットストリームは、コーディングピクチャ及び関連データを含んでよい。コーディングピクチャは、ピクチャのコーディング表現である。関連データは、シーケンスパラメータセット、ピクチャパラメータセット、及び他のシンタックス構造を含んでよい。I/Oインタフェース116は、変調器/復調器(モデム)及び/又は送信機を含んでよい。符号化ビデオデータは、I/Oインタフェース116を介してネットワーク130aを通じて、宛先装置120へ直接送信されてよい。符号化ビデオデータは、宛先装置120によるアクセスのために、記憶媒体/サーバ130bに格納されてもよい。
宛先装置120は、I/Oインタフェース126、ビデオデコーダ124、及びディスプレイ装置122を含んでよい。
I/Oインタフェース126は、受信機及び/又はモデムを含んでよい。I/Oインタフェース126は、ソース装置110又は記憶媒体/サーバ130bから符号化ビデオデータを取得してよい。ビデオデコーダ124は、符号化ビデオデータを復号してよい。ディスプレイ装置122は、復号ビデオデータをユーザに表示してよい。ディスプレイ装置122は、宛先装置120に統合されてよく、又は宛先装置120の外部にあり、外部ディスプレイ装置とインタフェースするよう構成されてよい。
ビデオエンコーダ114及びビデオデコーダ124は、高効率ビデオコーディング(High Efficiency Video Coding (HEVC))規格、バーサタイルビデオコーディング(Versatile Video Coding (VVC))規格、及び他の現在及び/又は将来の規格のような、ビデオ圧縮規格に従い動作してよい。
図15は、図14に示したシステム100の中のビデオエンコーダ114であってよいビデオエンコーダ200の例を示すブロック図である。
ビデオエンコーダ200は、本開示の技術のうちのいずれか又は全部を実行するよう構成されてよい。図15の例では、ビデオエンコーダ200は複数の機能コンポーネントを含む。本開示に記載した技術は、ビデオエンコーダ200の種々のコンポーネントの間で共有されてよい。幾つかの例では、プロセッサは、本開示に記載した技術のうちのいずれか又は全部を実行するよう構成されてよい。
ビデオエンコーダ200の機能コンポーネントは、パーティションユニット201、モード選択ユニット203と動き推定ユニット204と動き補償ユニット205とイントラ予測ユニット206とを含んでよい予測ユニット202、残差生成ユニット207、変換ユニット208、量子化ユニット209、逆量子化ユニット210、逆変換ユニット211、再構成ユニット212、バッファ213、及びエントロピー符号化ユニット214を含んでよい。
他の例では、ビデオエンコーダ200は、より多くの、より少ない、又は異なる機能コンポーネントを含んでよい。例では、予測ユニット202は、イントラブロックコピー(intra block copy (IBC))ユニットを含んでよい。IBCユニットは、IBCモードで予測を実行してよく、IBCモードでは少なくとも1つの参照ピクチャが現在ビデオブロックの位置するピクチャである。
更に、動き推定ユニット204及び動き補償ユニット205のような幾つかのコンポーネントは、高度に統合されてよいが、説明の目的で図5の例では別個に表される。
パーティションユニット201は、ピクチャを1つ以上のビデオブロックにパーティションする。ビデオエンコーダ200及びビデオデコーダ300は、種々のビデオブロックサイズをサポートしてよい。
モード選択ユニット203は、コーディングモード、イントラ又はインターのうちの1つを、例えば誤差結果に基づき選択し、結果として生じたイントラ又はインターコーディングされたブロックを残差ブロックデータを生成するために残差生成ユニット207に、及び参照ピクチャとして使用するために符号化ブロックを再構成するために再構成ユニット212に提供してよい。幾つかの例では、モード選択ユニット203は、結合イントラ及びインター予測(combination of intra and inter predication (CIIP))モードを選択してよい。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は、現在ビデオブロックに関連付けられたシンタックス構造の中で、別のビデオブロック及び動きベクトル差(motion vector difference (MVD))を識別してよい。動きベクトル差は、現在ビデオブロックの動きベクトルと示されたビデオブロックの動きベクトルとの間の差を示す。ビデオデコーダ300は、示されたビデオブロックの動きベクトル及び動きベクトル差を使用して、現在ビデオブロックの動きベクトルを決定してよい。
上述のように、ビデオエンコーダ200は、動きベクトルを予測的にシグナリングしてよい。ビデオエンコーダ200により実施され得る予測的シグナリング技術の2つの例は、高度動きベクトル予測(advanced motion vector predication (AMVP))及びマージモードシグナリングを含む。
イントラ予測ユニット206は、現在ビデオブロックに対してイントラ予測を実行してよい。イントラ予測ユニット206が現在ビデオブロックに対してイントラ予測を実行するとき、イントラ予測ユニット206は、同じピクチャ内の他のビデオブロックの復号サンプルに基づき、現在ビデオブロックの予測データを生成してよい。現在ビデオブロックの予測データは、予測ビデオブロック及び種々のシンタックス要素を含んでよい。
残差生成ユニット207は、現在ビデオブロックの予測ビデオブロックを現在ビデオブロックから減算することにより(例えば、マイナス符号により示される)、現在ビデオブロックの残差データを生成してよい。現在ビデオブロックの残差データは、現在ビデオブロック内のサンプルの異なるサンプル成分に対応する残差ビデオブロックを含んでよい。
他の例では、現在ビデオブロックについて、例えばスキップモードでは現在ビデオブロックの残差データが存在しなくてよく、残差生成ユニット207は減算動作を実行しなくてよい。
変換処理ユニット208は、現在ビデオブロックに関連付けられた残差ビデオブロックに1つ以上の変換を適用することにより、現在ビデオブロックについて1つ以上の変換係数ビデオブロックを生成してよい。
変換処理ユニット208が現在ビデオブロックに関連付けられた変換係数ビデオブロックを生成した後に、量子化ユニット209は、現在ビデオブロックに関連付けられた1つ以上の量子化パラメータ(quantization parameter (QP))に基づき、現在ビデオブロックに関連付けられた変換係数ビデオブロックを量子化してよい。
逆量子化ユニット210及び逆変換ユニット211は、各々変換係数ビデオブロックに逆量子化及び逆変換を適用して、変換係数ビデオブロックから残差ビデオブロックを再構成してよい。再構成ユニット212は、再構成残差ビデオブロックを、予測ユニット202により生成された1つ以上の予測ビデオブロックからの対応するサンプルに加算して、バッファ213に格納するために現在ビデオブロックに関連付けられた再構成ビデオブロックを生成してよい。
再構成ユニット212がビデオブロックを再構成した後に、ループフィルタリング動作が実行されて、ビデオブロック内のビデオブロッキングアーチファクトを低減してよい。
エントロピー符号化ユニット214は、ビデオエンコーダ200の他の機能コンポーネントからデータを受信してよい。エントロピー符号化ユニット214がデータを受信すると、エントロピー符号化ユニット214は、1つ以上のエントロピー符号化動作を実行して、エントロピー符号化データを生成し、エントロピー符号化データを含むビットストリームを出力してよい。
図16は図14に示したシステム100の中のビデオデコーダ114であってよいビデオデコーダ300の例を示すブロック図である。
ビデオデコーダ300は、本開示の技術のうちのいずれか又は全部を実行するよう構成されてよい。図16の例では、ビデオデコーダ300は複数の機能コンポーネントを含む。本開示に記載した技術は、ビデオデコーダ300の種々のコンポーネントの間で共有されてよい。幾つかの例では、プロセッサは、本開示に記載した技術のうちのいずれか又は全部を実行するよう構成されてよい。
図16の例では、ビデオデコーダ300は、エントロピー復号ユニット301、動き補償ユニット302、イントラ予測ユニット303、逆量子化ユニット304、逆変換ユニット305、及び再構成ユニット306、及びバッファ307を含む。ビデオデコーダ300は、幾つかの例では、ビデオエンコーダ200(例えば、図15)に関して説明した符号化経路に対して通常相互的な復号経路を実行してよい。
エントロピー復号ユニット301は、符号化ビットストリームを読み出してよい。符号化ビットストリームは、エントロピー符号化ビデオデータ(例えば、ビデオデータの符号化ブロック)を含んでよい。エントロピー復号ユニット301は、エントロピー符号化ビデオデータを復号し、エントロピー復号ビデオデータから、動き補償ユニット302が、動きベクトル、動きベクトル制度、参照ピクチャリストインデックス、及び他の動き情報を含む動き情報を決定してよい。動き補償ユニット302は、例えば、AMVP及びマージモードを実行することにより、このような情報を決定してよい。
動き補償ユニット302は、場合によっては補間フィルタに基づき補間を実行することにより、動き補償ブロックを生成してよい。サブピクセル制度で使用されるべき補間フィルタの識別子は、シンタックス要素に含まれてよい。
動き補償ユニット302は、参照ブロックのサブ整数ピクセルの補間値を計算するためにビデオブロックの符号化中にビデオエンコーダ20により使用されるような補間フィルタを使用してよい。動き補償ユニット302は、受信したシンタックス情報に従い、ビデオエンコーダ200により使用される補間フィルタを決定し、補間フィルタを使用して予測ブロックを生成してよい。
動き補償ユニット302は、シンタックス情報の一部を使用して、符号化ビデオシーケンスのフレーム及び/又はスライスを符号化するために使用されるブロックのサイズ、符号化ビデオシーケンスのピクチャの各マクロブロックがどのようにパーティションされるかを記述するパーティション情報、各パーティションがどのように符号化されるかを示すモード、インター符号化ブロック毎の1つ以上の参照フレーム(及び参照フレームリスト)、及び符号化ビデオシーケンスを復号するための他の情報を決定してよい。
イントラ予測ユニット303は、例えばビットストリーム内で受信したイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成してよい。逆量子化ユニット303は、ビットストリーム内で提供され、エントロピー復号ユニット301により復号された量子化されたビデオブロック係数を逆量子化、つまり量子化解除する。逆変換ユニット303は、逆変換を適用する。
再構成ユニット306は、残差ブロックを、動き補償ユニット202又はイントラ予測ユニット303により生成された対応する予測ブロックと加算して、復号ブロックを形成してよい。望ましい場合には、ブロックアーチファクトを除去するために復号ブロックをフィルタリングするデブロッキングフィルタも適用されてよい。復号ビデオブロックは、次に、バッファ307に格納されて、後の動き補償/イントラ予測のために参照ブロックを提供し、更にディスプレイ装置上で提示するために復号ビデオを生成する。
図17は、本発明の技術によるビデオ処理の方法のフローチャート表現である。方法1700は、動作1710で、ビデオのブロックとビデオのビットストリームとの間の変換を実行するステップを含む。ビットストリームは、マージ推定領域(MER)のサイズがビットストリーム内で示されることを指定するフォーマットルールに従い、MERのサイズはビデオユニットの寸法に基づく。MERは、変換のための動き候補を導出するために使用される領域を含む。
幾つかの実施形態では、ビデオユニットは、コーディングユニット又はコーディングツリーユニットを含む。幾つかの実施形態では、ビデオユニットの寸法は、少なくとも、幅、高さ、又は前記ビデオユニットの面積を含む。幾つかの実施形態では、MERの寸法は、ビデオユニットの寸法より小さくなるよう制約される。幾つかの実施形態では、MERの寸法は、ビデオユニットの寸法より小さく又は等しくなるよう制約される。
幾つかの実施形態では、MERの寸法は、ビットストリーム内のインデックス値として示される。幾つかの実施形態では、インデックス値は、MERの寸法と1対1マッピング関係を有する。幾つかの実施形態では、MERの寸法又はインデックス値は、指数ゴロムコードに基づき、ビットストリーム内にコーディングされる。幾つかの実施形態では、MERの寸法又はインデックス値は単位コード、ライスコード、又は固定長コードに基づき、ビットストリーム内にコーディングされる。幾つかの実施形態では、MERの寸法を示すインデックスは、ビットストリーム内のS-Δ又はM-S表現として表され、SはMERの寸法を表し、Δ及び/又はMは整数値である。幾つかの実施形態では、Δ及び/又はMは、最大又は最小ビデオユニットの寸法に基づき決定される。幾つかの実施形態では、Δは最小ビデオユニットの寸法に等しい。幾つかの実施形態では、Mは最大ビデオユニットの寸法に等しい。幾つかの実施形態では、Δは(最小ビデオユニットの寸法+オフセット)に等しく、オフセットは整数である。幾つかの実施形態では、Mは(最大ビデオユニットの寸法+オフセット)に等しく、オフセットは整数である。幾つかの実施形態では、オフセットは1又は-1に等しい。
図18は、本発明の技術によるビデオ処理の方法のフローチャート表現である。方法1800は、動作1710で、ビットストリーム内のビデオのブロックをコーディングするために代表サンプル値のパレットが使用されるパレットコーディングモードで、ビデオのブロックと前記ビデオのビットストリームとの間の変換を実行するステップを含む。パレットモードで使用されるパレットサイズ又はパレット予測子の最大値は、m×Nに制約され、Nは正の整数である。
幾つかの実施形態では、Nは8に等しい。幾つかの実施形態では、mに関連付けられた値は、ビットストリーム内のシンタックス要素としてシグナリングされる。幾つかの実施形態では、値は、m又はm+オフセットを含み、オフセットは整数である。幾つかの実施形態では、シンタックス要素は、単位コーディング、指数ゴロムコーディング、ライスコーディング、又は固定長コーディングに基づき、ビットストリーム内に2値化される。
図19は、本発明の技術によるビデオ処理の方法のフローチャート表現である。方法1900は、動作1910で、ビデオの現在ブロックとビデオのビットストリームとの間の変換のために、現在ブロックの境界について、境界がサブピクチャインデックスXを有するサブピクチャの境界と一致し、ループフィルタリング操作がサブピクチャの境界に渡り無効にされている場合に、デブロッキングフィルタリング処理が無効にされていると決定するステップであって、Xは非負の整数である、ステップと、を含む。方法1900は、動作1920で、決定に基づき変換を実行するステップを更に含む。
幾つかの実施形態では、デブロッキングフィルタリング処理は、垂直境界に適用可能であり、デブロッキングフィルタリング処理は、現在ブロックの左境界がサブピクチャインデックスXを有するサブピクチャの左又は右境界と一致し、ループフィルタリング操作がサブピクチャの境界に渡り無効にされている場合に、左境界について無効にされる。幾つかの実施形態では、デブロッキングフィルタリング処理は、水平境界に適用可能であり、デブロッキングフィルタリング処理は、現在ブロックの上境界がサブピクチャインデックスXを有するサブピクチャの上又は下境界と一致し、ループフィルタリング操作がサブピクチャの境界に渡り無効にされている場合に、上境界について無効にされる。
幾つかの実施形態では、変換は、ビットストリーム表現からビデオを生成する。幾つかの実施形態では、変換は、ビデオからビットストリーム表現を生成する。
1つの例示的な態様では、ビデオのビットストリームを格納する方法は、ブロックからビデオのビットストリームを生成するステップと、ビットストリームを非一時的コンピュータ可読記録媒体に格納するステップと、を含む。ビットストリームは、マージ推定領域(MER)のサイズがビットストリーム内で示されることを指定するフォーマットルールに従い、MERのサイズはビデオユニットの寸法に基づく。MERは、変換のための動き候補を導出するために使用される領域を含む。
別の例示的な態様では、ビデオのビットストリームを格納する方法は、ビデオのブロックとビデオのビットストリームとの間の変換の間、ビットストリーム内のビデオのブロックをコーディングするために代表サンプル値のパレットが使用されるパレットコーディングモードを適用するステップと、
適用に基づき、ブロックからビットストリームを生成するステップと、ビットストリームを非一時的コンピュータ可読記録媒体に格納するステップであって、パレットモードで使用されるパレットサイズ又はパレット予測子サイズの最大値は、m×Nに制約され、m及びNは正の整数である、ステップと、を含む。パレットモードで使用されるパレットサイズ又はパレット予測子の最大値は、m×Nに制約され、Nは正の整数である。
更に別の例示的な態様では、ビデオのビットストリームを格納する方法は、ビデオの現在ブロックとビデオのビットストリームとの間の変換のために、現在ブロックの境界について、境界がサブピクチャインデックスXを有するサブピクチャの境界と一致し、ループフィルタリング操作がサブピクチャの境界に渡り無効にされている場合に、デブロッキングフィルタリング処理が無効にされていると決定するステップであって、Xは非負の整数である、ステップとを含む。方法は、決定に基づき、現在ブロックからビットストリームを生成するステップと、ビットストリームを非一時的コンピュータ可読記録媒体に格納するステップと、を更に含む。
開示した技術の幾つかの実施形態は、ビデオ処理ツール又はモードを有効にすることの決定又は判断を行うことを含む。例では、ビデオ処理ツール又はモードが有効にされると、エンコーダは、ビデオのブロックの処理において該ツール又はモードを使用又は実施するが、必ずしもツール又はモードの使用に基づき結果として生じるビットストリームを変更する必要はない。つまり、ビデオのブロックからビデオのビットストリーム表現への変換は、決定又は判断に基づき有効にされるとき、ビデオ処理ツール又はモードを使用する。別の例では、ビデオ処理ツール又はモードが有効にされると、デコーダは、ビットストリームがビデオ処理ツール又はモードに基づき変更されているという知識により、ビットストリームを処理する。つまり、ビデオのビットストリーム表現からビデオのブロックへの変換は、決定又は判断に基づき有効にされたビデオ処理ツール又はモードを使用して実行される。
開示した技術の幾つかの実施形態は、ビデオ処理ツール又はモードを無効にすることの決定又は判断を行うことを含む。例では、ビデオ処理ツール又はモードが無効にされるとき、エンコーダは、ビデオのブロックをビデオのビットストリーム表現へ変換する際にツール又はモードを使用しない。別の例では、ビデオ処理ツール又はモードが無効にされると、デコーダは、ビットストリームが決定又は判断に基づき有効にされたビデオ処理ツール又はモードを用いて変更されていないという知識により、ビットストリームを処理する。
本願明細書に記載された本開示の及び他のソリューション、例、実施形態、モジュール、及び機能動作は、デジタル電子回路で、又は本願明細書に開示された構造を含む、コンピュータソフトウェア、ファームウェア、又はハードウェア、及びそれらの構造的均等物で、又はそれらの1つ以上の結合で、実装できる。本開示の及び他の実施形態は、1つ以上のコンピュータプログラムプロダクト、例えば、データ処理機器による実行のために又はその動作を制御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実装できる。コンピュータ可読媒体は、機械可読記憶装置、機械可読記憶基板、メモリ装置、機械可読伝搬信号に影響を与える物質の組成、又は1つ以上のそれらの組合せであり得る。用語「データ処理機器」は、データを処理するあらゆる機器、装置、及び機械を包含し、例として、プログラマブルプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含む。機器は、ハードウェアに加えて、対象となるコンピュータプログラムの実行環境を生成するコード、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの1つ以上の組合せを構成するコードを含むことができる。伝搬信号は、人工的に生成された信号、例えば、適切な受信機機器への送信のために情報を符号化するために生成された、機械により生成された電気、光、又は電磁気信号である。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる)は、コンパイルされた又はインタープリットされた言語を含む任意の形式のプログラミング言語で記述でき、それは、スタンドアロンプログラム又はモジュール、コンポーネント、サブルーチン、又はコンピューティング環境内での使用に適する他のユニットを含む任意の形式で展開できる。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応する必要はない。プログラムは、他のプログラム又はデータ(例えばマークアップ言語文書内に格納された1つ以上のスクリプト)を保持するファイルの一部に、問題のプログラムに専用の単一のファイルに、又は複数の連携ファイル(例えば、1つ以上モジュール、サブプログラム、又はコードの部分を格納するファイル)に、格納できる。コンピュータプログラムは、1つのコンピュータ上で、又は1つの場所に置かれた若しくは複数の場所に分散されて通信ネットワークにより相互接続される複数のコンピュータ上で、実行されるよう展開できる。
本願明細書に記載の処理及びロジックフローは、入力データに作用し及び出力を生成することにより機能を実行する1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサにより実行できる。特定用途論理回路、例えば、FPGA(field programmable gate array)又はASIC(application specific integrated circuit)により、処理及びロジックフローが実行でき、それとして機器が実装できる。
コンピュータプログラムの実行に適するプロセッサは、例えば、汎用及び特定用途向けマイクロプロセッサの両方、及び任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。通常、プロセッサは、命令及びデータを読み出し専用メモリ又はランダムアクセスメモリ又は両者から受信する。コンピュータの基本的要素は、命令を実行するプロセッサ、及び命令及びデータを格納する1つ以上のメモリ装置である。通常、コンピュータは、データを格納する1つ以上の大容量記憶装置、例えば、磁気、光磁気ディスク、又は光ディスク、も含み、又はそれらからデータを受信し又はそれらへデータを転送するために又は両者のために動作可能に結合される。しかしながら、コンピュータはこのような装置を有する必要はない。コンピュータプログラム命令及びデータを格納するのに適するコンピュータ可読媒体は、例えば半導体メモリ装置、例えばEPROM、EEPROM,及びフラッシュメモリ装置、磁気ディスク、例えば内部ハードディスク又は取り外し可能ディスク、光磁気ディスク、及びCD-ROM及びDVD-ROMディスクを含む、全ての形式の-不揮発性メモリ、媒体、及びメモリ装置を含む。プロセッサ及びメモリは、特定用途向け論理回路により補足され、又はその中に組み込むことができる。
本願明細書は多数の特定事項を含むが、これらは、任意の主題の又は請求され得るものの範囲に対する限定としてではなく、むしろ、特定の技術の特定の実施形態に固有の特徴の説明として考えられるべきである。別個の実装の文脈で本願明細書に記載された特定の特徴は、単一の実装形態において組み合わせることもできる。反対に、単一の実施形態の文脈で記載された種々の特徴は、複数の実施形態の中で別個に又は任意の適切な部分的組み合わせで実装されることもできる。更に、特徴は特定の組み合わせで動作するよう上述され、そのように初めに請求され得るが、請求される組み合わせからの1つ以上の特徴は、幾つかの場合には、組み合わせから切り離されてよく、請求される組み合わせは、部分的組み合わせ又は部分的組み合わせの変形に向けられてよい。
同様に、動作は、図中に特定の順序で示されるが、これは、望ましい結果を達成するために、そのような動作が示された特定の順序で又はシーケンシャルに実行されること、及び全ての図示の動作が実行されること、を要求すると理解されるべきではない。更に、本願明細書に記載された実施形態における種々のシステムコンポーネントの分離は、全ての実施形態においてこのような分離を必要とすると理解されるべきではない。
少数の実装及び例のみが記載され、本願明細書に記載され示されたものに基づき他の実装、拡張、及び変形が行われ得る。
[関連出願]
本願は、国際特許出願番号第PCT/CN2020/071620号、2020年1月12日出願、の優先権及び利益を請求する国際特許出願番号第PCT/CN2021/071008号、2021年1月11日出願の国内段階である。前述の出願の全ての開示は、参照により本願の開示の部分として組み込まれる。

Claims (33)

  1. ビデオ処理の方法であって、
    ビデオのブロックと前記ビデオのビットストリームとの間の変換を実行するステップを含み、
    前記ビットストリームは、マージ推定領域(MER)のサイズが前記ビットストリーム内で示されることを指定するフォーマットルールに従い、
    前記MERのサイズは、ビデオユニットの寸法に基づき、
    前記MERは、前記変換のための動き候補を導出するために使用される領域を含む、方法。
  2. 前記ビデオユニットは、コーディングユニット又はコーディングツリーユニットを含む、請求項1に記載の方法。
  3. 前記ビデオユニットの寸法は、少なくとも、幅、高さ、又は前記ビデオユニットの面積を含む、請求項1又は2に記載の方法。
  4. 前記MERの寸法は、前記ビデオユニットの寸法より小さくなるよう制約される、請求項1~3のいずれかに記載の方法。
  5. 前記MERの寸法は、前記ビデオユニットの寸法より小さく又は等しくなるよう制約される、請求項1~3のいずれかに記載の方法。
  6. 前記MERの寸法は、前記ビットストリーム内のインデックス値として示される、請求項1~5のいずれかに記載の方法。
  7. 前記インデックス値は、前記MERの寸法と1対1マッピング関係を有する、請求項6に記載の方法。
  8. 前記MERの寸法又は前記インデックス値は、指数ゴロムコードに基づき、前記ビットストリーム内にコーディングされる、請求項6に記載の方法。
  9. 前記MERの寸法又は前記インデックス値は単位コード、ライスコード、又は固定長コードに基づき、前記ビットストリーム内にコーディングされる、請求項6に記載の方法。
  10. 前記MERの寸法を示すインデックスは、前記ビットストリーム内のS-Δ又はM-S表現として表され、Sは前記MERの寸法を表し、Δ及び/又はMは整数値である、請求項6~9のいずれかに記載の方法。
  11. Δ及び/又はMは、最大又は最小ビデオユニットの寸法に基づき決定される、請求項10に記載の方法。
  12. Δは前記最小ビデオユニットの寸法に等しい、請求項11に記載の方法。
  13. Mは前記最大ビデオユニットの寸法に等しい、請求項11に記載の方法。
  14. Δは(前記最小ビデオユニットの寸法+オフセット)に等しく、オフセットは整数である、請求項11に記載の方法。
  15. Mは(前記最大ビデオユニットの寸法+オフセット)に等しく、オフセットは整数である、請求項11に記載の方法。
  16. 前記オフセットは1又は-1に等しい、請求項14又は15に記載の方法。
  17. ビデオ処理の方法であって、
    ビットストリーム内のビデオのブロックをコーディングするために代表サンプル値のパレットが使用されるパレットコーディングモードで、ビデオのブロックと前記ビデオのビットストリームとの間の変換を実行するステップを含み、
    前記パレットモードで使用されるパレットサイズ又はパレット予測子サイズの最大値は、m×Nに制約され、
    m及びNは正の整数である、方法。
  18. Nは8に等しい、請求項17に記載の方法。
  19. mに関連付けられた値は、前記ビットストリーム内のシンタックス要素としてシグナリングされる、請求項17又は18に記載の方法。
  20. 前記値は、m又はm+オフセットを含み、オフセットは整数である、請求項19に記載の方法。
  21. 前記シンタックス要素は、単位コーディング、指数ゴロムコーディング、ライスコーディング、又は固定長コーディングに基づき、前記ビットストリーム内に2値化される、請求項19に記載の方法。
  22. ビデオ処理の方法であって、
    ビデオの現在ブロックと前記ビデオのビットストリームとの間の変換のために、前記現在ブロックの境界について、前記境界がサブピクチャインデックスXを有するサブピクチャの境界と一致し、ループフィルタリング操作が前記サブピクチャの境界に渡り無効にされている場合に、デブロッキングフィルタリング処理が無効にされていると決定するステップであって、は非負の整数である、ステップと、
    前記決定に基づき、前記変換を実行するステップと、
    を含む方法。
  23. 前記デブロッキングフィルタリング処理は、垂直境界に適用可能であり、前記デブロッキングフィルタリング処理は、前記現在ブロックの左境界が前記サブピクチャインデックスXを有するサブピクチャの左又は右境界と一致し、前記ループフィルタリング操作が前記サブピクチャの境界に渡り無効にされている場合に、前記左境界について無効にされる、請求項22に記載の方法。
  24. 前記デブロッキングフィルタリング処理は、水平境界に適用可能であり、前記デブロッキングフィルタリング処理は、前記現在ブロックの上境界が前記サブピクチャインデックスXを有するサブピクチャの上又は下境界と一致し、前記ループフィルタリング操作が前記サブピクチャの境界に渡り無効にされている場合に、前記上境界について無効にされる、請求項22に記載の方法。
  25. 前記変換は、前記ビットストリームから前記ビデオを復号する、請求項1~24のいずれかに記載の方法。
  26. 前記変換は、前記ビデオから前記ビットストリームを符号化する、請求項1~24のいずれかに記載の方法。
  27. ビデオのビットストリームを格納する方法であって、
    ブロックから前記ビデオのビットストリームを生成するステップと、
    前記ビットストリームを非一時的コンピュータ可読記録媒体に格納するステップであって、前記ビットストリームは、マージ推定領域(MER)のサイズが前記ビットストリーム内で示されること指定するするフォーマットルールに従い、
    前記MERのサイズは、ビデオユニットのサイズの寸法に基づき、
    前記MERは、変換のための動き候補を導出するために使用される領域を含む、方法。
  28. ビデオのビットストリームを格納する方法であって、
    ビデオのブロックと前記ビデオのビットストリームとの間の変換の間、ビットストリーム内のビデオのブロックをコーディングするために代表サンプル値のパレットが使用されるパレットコーディングモードを適用するステップと、
    前記適用に基づき、前記ブロックから前記ビットストリームを生成するステップと、
    前記ビットストリームを非一時的コンピュータ可読記録媒体に格納するステップであって、前記パレットモードで使用されるパレットサイズ又はパレット予測子サイズの最大値は、m×Nに制約され、m及びNは正の整数である、ステップと、
    を含む方法。
  29. ビデオのビットストリームを格納する方法であって、
    現在ブロックの境界について、前記境界がサブピクチャインデックスXを有するサブピクチャの境界と一致し、ループフィルタリング操作が前記サブピクチャの境界に渡り無効にされている場合に、デブロッキングフィルタリング処理が無効にされていると決定するステップであって、Xは非負の整数である、ステップと、
    前記決定に基づき、前記現在ブロックから前記ビットストリームを生成するステップと、
    前記ビットストリームを非一時的コンピュータ可読記録媒体に格納するステップと、
    を含む方法。
  30. 請求項1~29のうちの1つ以上に記載の方法を実施するよう構成されるプロセッサを含むビデオ処理機器。
  31. 格納されたコードを有するコンピュータ可読媒体であって、前記コードは、実行されると、プロセッサに請求項1~29のうちの1つ以上に記載の方法を実施させる、コンピュータ可読媒体。
  32. 請求項1~29のいずれかに従い生成されたビットストリームを格納しているコンピュータ可読媒体。
  33. 本願明細書に記載される方法又はシステムに従い生成される方法、機器、ビットストリーム。
JP2022542372A 2020-01-12 2021-01-11 ビデオコーディング及び復号の制約 Active JP7454681B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2020/071620 2020-01-12
CN2020071620 2020-01-12
PCT/CN2021/071008 WO2021139806A1 (en) 2020-01-12 2021-01-11 Constraints for video coding and decoding

Publications (2)

Publication Number Publication Date
JP2023511059A true JP2023511059A (ja) 2023-03-16
JP7454681B2 JP7454681B2 (ja) 2024-03-22

Family

ID=76788099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022542372A Active JP7454681B2 (ja) 2020-01-12 2021-01-11 ビデオコーディング及び復号の制約

Country Status (8)

Country Link
US (2) US20220377353A1 (ja)
EP (1) EP4074038A4 (ja)
JP (1) JP7454681B2 (ja)
KR (1) KR20220124705A (ja)
CN (1) CN116034582A (ja)
BR (1) BR112022013683A2 (ja)
MX (1) MX2022008384A (ja)
WO (1) WO2021139806A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115176468A (zh) * 2020-02-03 2022-10-11 抖音视界有限公司 跨分量自适应环路滤波器
EP4107957A4 (en) 2020-03-21 2023-08-23 Beijing Bytedance Network Technology Co., Ltd. RESAMPLING REFERENCE IMAGE
KR20230002446A (ko) 2020-04-19 2023-01-05 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 변환 스킵 잔차 코딩
KR20230023709A (ko) * 2020-06-03 2023-02-17 엘지전자 주식회사 영상/비디오 코딩 시스템에서 일반 제한 정보를 처리하는 방법 및 장치
CN115812304A (zh) 2020-06-20 2023-03-17 抖音视界有限公司 具有不同的编解码块大小的层间预测
US11997317B2 (en) * 2021-09-29 2024-05-28 Tencent America LLC Techniques for constraint flag signaling for range extension with persistent rice adaptation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015015575A (ja) * 2013-07-04 2015-01-22 シャープ株式会社 画像復号装置、画像符号化装置、画像復号方法、画像符号化方法、画像復号プログラムおよび画像符号化プログラム
JP2017520162A (ja) * 2014-05-22 2017-07-20 クゥアルコム・インコーポレイテッドQualcomm Incorporated パレットベースのビデオコーディングにおける最大パレットパラメータ

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080267297A1 (en) * 2007-04-26 2008-10-30 Polycom, Inc. De-blocking filter arrangements
US10462475B2 (en) * 2014-12-19 2019-10-29 Hfi Innovation Inc. Methods of palette based prediction for non-444 color format in video and image coding
WO2016127889A1 (en) * 2015-02-13 2016-08-18 Mediatek Inc. Method and apparatus for palette index coding in video and image compression
US20170272758A1 (en) * 2016-03-16 2017-09-21 Mediatek Inc. Video encoding method and apparatus using independent partition coding and associated video decoding method and apparatus
US20180098090A1 (en) * 2016-10-04 2018-04-05 Mediatek Inc. Method and Apparatus for Rearranging VR Video Format and Constrained Encoding Parameters
WO2020003259A1 (en) * 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Improved tmvp derivation
TWI731362B (zh) * 2018-06-29 2021-06-21 大陸商北京字節跳動網絡技術有限公司 擴展Merge模式與其他視頻編碼工具之間的交互
WO2020008324A1 (en) * 2018-07-01 2020-01-09 Beijing Bytedance Network Technology Co., Ltd. Shape dependent intra coding
US11240507B2 (en) * 2019-09-24 2022-02-01 Qualcomm Incorporated Simplified palette predictor update for video coding
WO2021072364A1 (en) * 2019-10-10 2021-04-15 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatus of video coding using palette mode
US11539982B2 (en) * 2019-11-01 2022-12-27 Qualcomm Incorporated Merge estimation region for multi-type-tree block structure

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015015575A (ja) * 2013-07-04 2015-01-22 シャープ株式会社 画像復号装置、画像符号化装置、画像復号方法、画像符号化方法、画像復号プログラムおよび画像符号化プログラム
JP2017520162A (ja) * 2014-05-22 2017-07-20 クゥアルコム・インコーポレイテッドQualcomm Incorporated パレットベースのビデオコーディングにおける最大パレットパラメータ

Also Published As

Publication number Publication date
BR112022013683A2 (pt) 2022-09-13
JP7454681B2 (ja) 2024-03-22
MX2022008384A (es) 2022-08-08
WO2021139806A1 (en) 2021-07-15
EP4074038A4 (en) 2023-01-25
US20240107036A1 (en) 2024-03-28
EP4074038A1 (en) 2022-10-19
KR20220124705A (ko) 2022-09-14
CN116034582A (zh) 2023-04-28
US20220377353A1 (en) 2022-11-24

Similar Documents

Publication Publication Date Title
JP7482220B2 (ja) サブピクチャのパラメータセットシグナリングにおける構文制約
JP7372443B2 (ja) サブピクチャに依存するビデオビットストリーム内のシグナリング
JP7454681B2 (ja) ビデオコーディング及び復号の制約
JP7322290B2 (ja) ビデオビットストリームにおけるサブピクチャシグナリングのための構文
WO2021143698A1 (en) Subpicture boundary filtering in video coding
WO2021129805A1 (en) Signaling of parameters at sub-picture level in a video bitstream
CN114503577B (zh) 视频比特流中子图片信令通知的语法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220722

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231129

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: 20240213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240311

R150 Certificate of patent or registration of utility model

Ref document number: 7454681

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150