JP2023521119A - ビデオコーディングにおけるスキップブロックの変換のための最小許容量子化 - Google Patents
ビデオコーディングにおけるスキップブロックの変換のための最小許容量子化 Download PDFInfo
- Publication number
- JP2023521119A JP2023521119A JP2022561403A JP2022561403A JP2023521119A JP 2023521119 A JP2023521119 A JP 2023521119A JP 2022561403 A JP2022561403 A JP 2022561403A JP 2022561403 A JP2022561403 A JP 2022561403A JP 2023521119 A JP2023521119 A JP 2023521119A
- Authority
- JP
- Japan
- Prior art keywords
- video
- mode
- block
- coding
- chroma
- 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
Links
- 238000013139 quantization Methods 0.000 title claims description 16
- 230000009466 transformation Effects 0.000 title description 15
- 238000000034 method Methods 0.000 claims abstract description 240
- 238000012545 processing Methods 0.000 claims abstract description 80
- 238000006243 chemical reaction Methods 0.000 claims abstract description 46
- 230000001131 transforming effect Effects 0.000 claims description 8
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 139
- 241000023320 Luma <angiosperm> Species 0.000 description 131
- 238000005192 partition Methods 0.000 description 35
- 239000013598 vector Substances 0.000 description 34
- 230000011664 signaling Effects 0.000 description 26
- 230000008569 process Effects 0.000 description 22
- 238000000638 solvent extraction Methods 0.000 description 20
- 230000009977 dual effect Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 10
- 238000001914 filtration Methods 0.000 description 10
- 238000009795 derivation Methods 0.000 description 8
- 229910003460 diamond Inorganic materials 0.000 description 7
- 239000010432 diamond Substances 0.000 description 7
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 230000015654 memory Effects 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 239000011449 brick Substances 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000000844 transformation Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- IESVDEZGAHUQJU-ZLBXKVHBSA-N 1-hexadecanoyl-2-(4Z,7Z,10Z,13Z,16Z,19Z-docosahexaenoyl)-sn-glycero-3-phosphocholine Chemical compound CCCCCCCCCCCCCCCC(=O)OC[C@H](COP([O-])(=O)OCC[N+](C)(C)C)OC(=O)CC\C=C/C\C=C/C\C=C/C\C=C/C\C=C/C\C=C/CC IESVDEZGAHUQJU-ZLBXKVHBSA-N 0.000 description 2
- 101100129500 Caenorhabditis elegans max-2 gene Proteins 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
パリ条約に従う適用可能な特許法及び/又はルールの下で、本願は、国際特許出願番号第PCT/CN2020/084291号、2020年4月10日出願、の優先権及び利益を請求するために適時に出願された。法の下であらゆる目的のために、前述の出願の全ての開示は、参照により本願の開示の部分として組み込まれる。
本願明細書は、ビデオ及び画像コーディング及び復号技術に関する。
ビデオのビデオ領域と前記ビデオ領域のコーディング表現との間の変換のために、前記ビデオ領域のクロマブロックサイズと色フォーマットとの間の関係を定義するシンタックスルールに従い前記コーディング表現をパースするステップと、
前記シンタックスルールに従い前記パースするステップを実行することにより、前記変換を実行するステップと、
を含む。
前記決定したコーディングモードを使用して、前記ビデオのコーディング表現と前記コーディングツリーノードのビデオブロックとの間の変換を実行するステップと、
を含む。
ルールに基づき、クロマブロックの特定のサイズがビデオのビデオ領域の中で許可されるかどうかを決定するステップと、
前記決定に基づき、前記ビデオ領域と前記ビデオ領域のコーディング表現との間の変換を実行するステップと、
を含む。
ビデオ条件についてコーディングモードの使用を許可するルールに基づき、コーディングモードがビデオ領域に許可されることを決定するステップと、
前記決定に基づき、前記ビデオ領域内のピクセルのコーディング表現と前記ビデオ領域のピクセルとの間の変換を実行するステップと、
を含む。
前記ルールは、パレットモードの実施可能性と前記ビデオ領域のコーディングタイプとの間の関係を指定実行するステップを含む。
ルールに従い、第1ビデオ領域及び第2ビデオ領域を含むビデオと、前記ビデオのビットストリームとの間の変換を実行するステップ、を含み、
前記ルールは、第1ブロックがイントラブロックコピーモードであり第2ブロックがパレットモードである場合に、前記ビデオのクロマ成分のデブロッキングフィルタの境界強度(bs)が0に設定されることを指定する。
フォーマットルールに従い、ビデオと前記ビデオのビットストリームとの間の変換を実行するステップ、を含み、
前記フォーマットルールは、前記ビデオの入力ビット深さに関連する変数が前記ビットストリームのプロファイルに従い制約されることを指定する。
フォーマットルールに従い、ビデオと前記ビデオのビットストリームとの間の変換を実行するステップ、を含み、
前記フォーマットルールは、最小許容量子化パラメータを示す変数が前記ビットストリームのプロファイルに従い制約されることを指定する。
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-5.0
イントラブロックコピー(IBC)、別名:現在ピクチャ参照は、HEVC Screen Content Coding extensions(HEVC-SCC)と現在のVVCテストモデル(VTM-4.0)で採用されている。IBCは動き補償の概念をインターフレームコーディングからイントラフレームコーディングへと拡張した。図1に示すように、IBCを適用した場合、現在ブロックは同じピクチャ内の参照ブロックによって予測される。参照ブロック内のサンプルは、現在ブロックがコーディング又は復号される前に、すでに再構成されている必要がある。ほとんどのカメラで撮影されたシーケンスではIBCはそれほど効率的ではないが、画面コンテンツでは有意なコーディングの向上を示す。その理由は、画面コンテンツピクチャにアイコンや文字などの繰り返しパターンが多いためである。IBCはこれらの繰り返しパターン間の冗長性を効果的に取り除くことができる。HEVC-SCCでは、インターコーディングコーディングユニット(coding unit(CU))は、現在ピクチャを参照ピクチャとして選択する場合にIBCを適用できる。この場合、MVはブロックベクトル(block vector(BV))に名前変更され、BVは常に整数ピクセル精度を持つ。メインプロファイルHEVCと互換性を持つために、現在ピクチャは復号ピクチャバッファ(Decoded Picture Buffer (DPB))内で「長期(long-term)」参照ピクチャとしてマークされる。同様に、マルチビュー/3Dビデオコーディング標準では、インタービュー参照ピクチャも「長期」参照ピクチャとしてマークされることに留意する。
HEVCの画面コンテンツコーディング拡張では、ブロックが現在ピクチャを参照として使用する場合、以下の標準の文書に示されているように、参照ブロック全体が使用可能な再構成領域内にあることを保証する必要がある。変数offsetX及びoffsetYは、以下のように導出される:
6.4.1項で指定されているzスキャン順序ブロックの可用性の導出処理が、(xCb、yCbは)に等しく設定された.(xCurr、yCurr)、及び(xPb+(mvLX[0]>>2)-offsetX,yPb+(mvLX[1]>>2)-offsetY)に等しく設定された近隣ルマ位置(xNbY,yNbYは)を入力として呼び出された場合、出力は真に等しくなるものとする。
6.4.1項で指定されているzスキャン順序ブロックの可用性の導出処理が、(xCb、yCbは)に等しく設定された.(xCurr、yCurr)、及び(xPb+(mvLX[0]>>2)+nPbW-1+offsetX,yPb+(mvLX[1]>>2)+nPbH-1+offsetY)に等しく設定された近隣ルマ位置(xNbY,yNbYは)を入力として呼び出された場合、出力は真に等しくなるものとする。
以下の条件のうちの一方又は両方がTRUEであるべきである:
(mvLX[0]>>2)+nPbW+xB1+offsetXの値が0以下である;
(mvLX[1]>>2)+nPbH+yB1+offsetYの値が0以下である;
以下の条件がTRUEであるべきである:
現在のVVCテストモデル、すなわちVTM-4.0設計では、参照ブロック全体は現在のコーディングツリーユニット(coding tree unit (CTU))を有する必要があり、現在ブロックと重複してはならない。従って、参照ブロックや予測ブロックをパディングする必要はない。IBCフラグは、現在のCUの予測モードとしてコーディングされる。したがって、予測モードには、CUごとにMODE_INTRA、MODE_INTER、MODE_IBCの合計3つがある。
IBCマージモードでは、IBCマージ候補リスト内のエントリを指すインデックスがビットストリームからパースされる。IBCマージリストの構成は、以下のステップシーケンスに従い纏めることができる。
ステップ1:空間候補の導出;
ステップ2:HMVP候補の挿入;
ステップ3:ペアワイズ平均候補の挿入。
IBC AMVPモードでは、IBC AMVPリスト内のエントリを指すAMVPインデックスがビットストリームからパースされる。IBC AMVPリストの構成は、以下のステップシーケンスに従い纏めることができる。
ステップ1:空間候補の導出
利用可能な候補が見つかるまで、A0、A1をチェックする;
利用可能な候補が見つかるまで、B0、B1、B2をチェックする;
ステップ2:HMVP候補の挿入
ステップ3:ゼロ候補の挿入
パレットモードの裏にある基本的思想は、CU内のサンプルが代表色値の小さなセットにより表現されることである。このセットは、パレットと呼ばれる。そして、エスケープシンボル及びそれに続く(場合によっては量子化された)コンポーネント値をシグナリングすることにより、パレットの外側にあるサンプルを示すことが可能である。この種のサンプルは、エスケープピクセルと呼ばれる。パレットモードは、図2に示される。
HEVC-SCCにおけるパレットモードでは、予測方法を使用してパレットとインデックスマップをコーディングする。
パレットエントリのコーディングでは、パレット予測子が維持される。パレットの最大サイズ及びパレット予測子は、SPS内でシグナリングされる。HEVC-SCCでは、palette_predictor_initializer_present_flagがPPSに導入される。このフラグが1のとき、パレット予測子を初期化するためのエントリは、ビットストリーム内でシグナリングされる。パレット予測子は、各CTU行、各スライス及び各タイルの始めに初期化される。palette_predictor_initializer_present_flagの値に依存して、パレット予測子は0にリセットされるか、又はPPS内でシグナリングされたパレット予測子初期化子エントリを用いて初期化される。HEVC-SCCでは、サイズ0のパレット予測子初期化子は、PPSレベルのパレット予測子初期化の明示的な無効化を可能にするために有効にされた。
パレットインデックスは、図4に示す水平及び垂直トラバーススキャンを用いてコーディングされる。スキャン順序は、palette_transpose_flagを用いてビットストリーム内で明示的にシグナリングされる。この節の残りの部分では、スキャンが水平方向であると仮定する。
自然なビデオに存在する任意のエッジ方向をキャプチャするために、VTM5における方向イントラモードの数は、HEVCにおける33から、65にまで拡張された。HEVCに存在しない新しい方向モードは、図6の赤点線矢印で示され、平面及びDCモードは同じままである。これらのより高密度の方向イントラ予測モードは、全てのブロックサイズに、及びルマ及びクロマイントラ予測の両方に適用される。
デフォルトイントラモード、
近隣イントラモード、
導出されたイントラモード。
近隣ブロックが使用できない場合、そのイントラモードはデフォルトで平面(Planar)に設定される;
LeftとAboveの両方のモードが非角度モードの場合:
MPMリスト->{Planar,DC,V,H,V-4,V+4}
LeftモードとAboveモードのうちの1つが角度モードであり、もう1つが非角度モードの場合:
モードMaxを、LeftとAboveのうち大きい方のモードに設定する
MPMリスト->{Planar,Max,DC,Max-1,Max+1,Max-2}
LeftとAboveが両方とも角度であり、異なる場合:
モードMaxを、LeftとAboveのうち大きい方のモードに設定する
モードLeftとAboveの差が両端を含む2から62の範囲にある場合:
MPMリスト->{Planar,Left,Above,DC,Max-1,Max+1}
その他の場合:
MPMリスト->{Planar,Left,Above,DC,Max-2,Max+2}
LeftとAboveが両方とも角度であり、同じ場合:
MPMリスト->{Planar,Left,Left-1,Left+1,DC,Left-2}
JVET-M0413では、画面コンテンツを効率的にコーディングするために、量子化残差ブロック差分パルス符号変調(QR-BDPCM)が提案されている。
VTM5では、ブロックベースのフィルタ適応による適応ループフィルタ(ALF)が適用される。ルマ成分について、局所的な勾配の方向と活性度(activity)に基づいて、4×4ブロックごとに25個のフィルタのうちの1つが選択される。
VTM5では、(図8に示すような)2つのダイヤモンド形フィルタ形状を採用している。ルマ成分には7×7のダイヤモンド形が適用され、クロマ成分には5×5のダイヤモンド形が適用される。
ルマ成分について、各4×4ブロックは、25個のクラスのうちの1つに分類される。分類インデックスCは、その方向性D及び活性度の量子化された値:
各4×4ルマブロックをフィルタリングする前に、そのブロックに対して計算された勾配値に応じて、フィルタ係数f(k,l)及び対応するフィルタクリッピング値c(k,l)に対して、回転又は対角、及び垂直フリッピングなどの幾何変換が適用される。これは、これらの変換をフィルタサポート領域内のサンプルに適用することと同じである。これは、ALFが適用される異なるブロックの方向性を揃えることによって、それらのブロックをより類似させることを目的としている。
VTM5では、ALFフィルタパラメータは適応パラメータセット(Adaptation Parameter Set (APS))でシグナリングされる。1つのAPSで、最大25セットのルマフィルタ係数とクリッピング値インデックス、及び最大1セットのクロマフィルタ係数とクリッピング値インデックスをシグナリングできる。ビットオーバヘッドを削減するために、異なる分類のフィルタ係数をマージできる。スライスヘッダでは、現在のスライスに使用されるAPSのインデックスがシグナリングされる。
VTM5では、ALFのラインバッファ要件を軽減するために、水平CTU境界付近のサンプルに対して修正ブロック分類とフィルタリングが利用されている。この目的のために、仮想境界は、図10に示すように、「N」サンプルを有する水平CTU境界をシフトすることによってラインとして定義され、Nはルマ成分で4、クロマ成分で2になる。
サンプル適応オフセット(SAO)は、エンコーダによってCTBごとに指定されたオフセットを使用して、デブロッキングフィルタ後の再構成された信号に適用される。HMエンコーダは、先ず、SAO処理を現在スライスに適用するかどうかを決定する。スライスにSAOが適用される場合、表2に示すように、各CTBは5つのSAOタイプのいずれかに分類される。SAOのコンセプトは、ピクセルをカテゴリに分類し、各カテゴリのピクセルにオフセットを追加することによって歪みを軽減することである。SAO操作には、SAOタイプ1~4のピクセル分類にエッジプロパティを使用するエッジオフセット(Edge Offset(EO))と、SAOタイプ5のピクセル分類にピクセル強度を使用するバンドオフセット(Band Offset (BO))が含まれる。各々の適用可能なCTBは、sao_merge_left_flag、sao_merge_up_flag、SAOタイプ、及び4つのオフセットを含むSAOパラメータを有する。sao_merge_left_flagが1の場合、現在CTBはSAOタイプとCTBの左へのオフセットを再利用する。sao_merge_up_flagが1の場合、現在CTBはSAOタイプとCTBの上へのオフセットを再利用する。
エッジオフセットは、図12に示すように、エッジ方向情報を考慮して現在ピクセルpを分類するために、4つの1D 3ピクセルパターンを使用する。左から右へ、これらは0度、90度、135度、45度である。
VTM5では、CUがマージモードでコーディングされるとき、CUが少なくとも64個のルマサンプルを含む場合(つまり、CU幅×CU高さが64以上である)、及びCU幅とCU高さの両方が128ルマサンプルより小さい場合、結合インター/イントラ予測(combined inter/intra prediction (CIIP))モードが現在CUに適用されるかどうかを示すために、追加フラグがシグナリングされる。CIIP予測は、その名前が示すように、インター予測信号とイントラ予測信号を組み合わせたものである。CIIPモードのインター予測信号は、通常のマージモードに適用されるのと同じインター予測処理を使用して導出される。イントラ予測信号Pintraは、平面モードによる通常のイントラ予測処理に従って導出される。次に、イントラ及びインター予測信号は、加重平均を使用して結合される。ここで、重み値は、上及び左近隣ブロック(図14に示す)のコーディングモードに応じて次のように計算される:
-上の近隣が使用可能でありイントラコーディングされている場合は、isIntraTopを1に設定し、それ以外の場合はisIntraTopを0に設定する;
-左の近隣が使用可能でありイントラコーディングされている場合は、isIntraLeftを1に設定し、それ以外の場合はisIntraLeftを0に設定する;
-(isIntraLeft+isIntraLeft)が2に等しい場合、wtは3に設定される;
-或いは、(isIntraLeft+isIntraLeft)が1に等しい場合、wtは2に設定される;
-その他の場合、wtは1に設定される。
VTM5では、クロマスケーリングによるルママッピング(luma mapping with chroma scaling (LMCS))と呼ばれるコーディングツールが、ループフィルタの前の新しい処理ブロックとして追加される。LMCSは、2つの主要なコンポーネントを有する:1)適応区分線形モデル(adaptive piecewise linear model)に基づくルマ成分のインループマッピング、2)クロマ成分について、ルマ依存クロマ残差スケーリングが適用される。図15は、デコーダの観点からLMCSアーキテクチャを示す。図15で、点線ブロックは、処理がマッピング済みドメインで適用される場所を示し、これらは、逆量子化、逆変換、ルマイントラ予測及びルマ予測のルマ残差との加算、を含む。図15で、白いブロックは、処理が元の(つまりマッピングされていない)ドメインで適用される場所を示し、これらは、デブロッキング、ALF及びSAOのようなループフィルタ、動き補償予測、クロマイントラ予測、クロマ予測のクロマ残差との加算、及び参照ピクチャとしての復号ピクチャの記憶、を含む。図15で、チェック模様のブロックは、新しいLMCS機能ブロックであり、ルマ信号の順方向及び逆方向マッピング、及びルマ依存クロマスケーリング処理を含む。VVCにおける大部分の他のツールと同様に、LMCSは、SPSフラグを用いてシーケンスレベルで有効/無効にできる。
現在のVVC設計では、Iスライスについて、各CTUが暗黙的4分木分割を用いて64×64ルマサンプルを有する符号か単位に分割でき、これらのコーディングユニットがルマ及びクロマの2個の別個のcoding_treesyntaxシンタックス構造のルートである。
小さなクロマサイズは、ハードウェア実装に適さない。デュアルツリーの場合、小さすぎるクロマブロックは許可されない。ただし、シングルツリーの場合、VVCドラフト5は、依然として2×2、2×4、4×2のクロマブロックを許容している。クロマブロックのサイズを制限するために、単一コーディングツリーでは、クロマブロックのサイズがTHクロマサンプル以上で、4THルマサンプルより小さい子ルマブロックを少なくとも1つ持つコーディングツリーノードとして、SCIPUがJVET-O0050で定義されており、ここでTHはこの寄稿で16に設定されている。各SCIPUでは、すべてのCBがインターであるか、すべてのCBが非インターである、つまり、Intra又はIBCのいずれかである必要がある。非インターSCIPUの場合、さらに非インターSCIPUのクロマがそれ以上分割されないこと、及びSCIPUのルマがさらに分割できることが要求される。この方法では、クロマイントラCBの最小サイズは16クロマサンプルであり、2×2、2×4、及び4x2のクロマCBが除去される。また、非インターSCIPUの場合、クロマスケーリングは適用されない。
VVCドラフト6(JVET-O2001-vE.docx)では、小さなクロマブロックに対する制約は、次のように実装されている(関連部分は太字斜体で示されている)。
この処理への入力は:
ルマサンプル数でのコーディングブロックサイズcbSize;
マルチタイプツリー深さmttDepth;
CTUのパーティションにシングルツリー(SINGLE_TREE)とデュアルツリーのどちらを使用するか、及びデュアルツリーを使用する場合はルマ成分(DUAL_TREE_LUMA)とクロマ成分(DUAL_TREE_CHROMA)のどちらが現在処理されているかを指定する変数treeType;
変数allowSplitQtは、以下のように導出される:
以下の条件のうちの1つ以上がTUREである場合、allowSplitQtはFALSEに等しく設定される:
treeTypeがSINGLE_TREE又はDUAL_TREE_LUMAに等しく、cbSizeがMinQtSizeY以下である;
treeTypeがDUAL_TREE_CHROMAに等しく、cbSize/SubWidthCがMinQtSizeC以下である;
mttDepthが0に等しくない;
treeTypeがDUAL_TREE_CHROMAに等しく、(cbSize/SubWidthC)が4以下である;
許可されるバイナリ分割処理
この処理への入力は:
-バイナリ分割モードbtSplit;
-ルマサンプル数でのコーディングブロック幅cbWidth;
-ルマサンプル数でのコーディングブロック高さcbHeight;
-ピクチャの左上ルマサンプルに対する検討されるコーディングブロックの左上サンプルの位置(x0,y0);
-マルチタイプツリー深さmttDepth;
-オフセットを持つ最大マルチタイプツリー深さmaxMttDepth;
-最大2分木サイズmaxBtSize;
-最小4分木サイズminQtSize;
-パーティションインデックスpartIdx;
-CTUのパーティションにシングルツリー(SINGLE_TREE)とデュアルツリーのどちらを使用するか、及びデュアルツリーを使用する場合はルマ成分(DUAL_TREE_LUMA)とクロマ成分(DUAL_TREE_CHROMA)のどちらが現在処理されているかを指定する変数treeType;
変数allowBtSplitは、以下のように導出される:
以下の条件のうちの1つ以上がTRUEである場合、allowBtSplitはFALSEに等しく設定される:
cbSizeがMinBtSizeY以下である;
cbWidthがmaxBtSizeより大きい;
cbHeightがmaxBtSizeより大きい;
mttDepthが、maxMttDepth以上である;
treeTypeがDUAL_TREE_CHROMAに等しく、(cbWidth/SubWidthC)*(cbHeight/SubHeightC)は16以下である;
btSplitがSPLIT_BT_VERに等しい;
y0+cbHeightがpic_height_in_luma_samplesより大きい;
或いは、以下の条件のうちの全部が、TRUEである場合、allowBtSplitはFALSEに等しく設定される:
btSplitがSPLIT_BT_VERに等しい;
cbHeightがMaxTbSizeYより大きい;
x0+cbWidthがpic_width_in_luma_samplesより大きい;
或いは、以下の条件のうちの全部が、TRUEである場合、allowBtSplitはFALSEに等しく設定される:
btSplitがSPLIT_BT_HORに等しい;
cbWidthがMaxTbSizeYより大きい;
y0+cbHeightがpic_height_in_luma_samplesより大きい;
或いは、以下の条件のうちの全部が、TRUEである場合、allowBtSplitはFALSEに等しく設定される:
x0+cbWidthがpic_width_in_luma_samplesより大きい;
y0+cbHeightがpic_height_in_luma_samplesより大きい;
cbWidthがminQtSizeより大きい;
或いは、以下の条件のうちの全部が、TRUEである場合、allowBtSplitはFALSEに等しく設定される:
btSplitが、SPLIT_BT_HORに等しい;
x0+cbWidthがpic_width_in_luma_samplesより大きい;
y0+cbHeightが、pic_height_in_luma_samples以下である;
或いは、以下の条件のうちの全部が、TRUEである場合、allowBtSplitはFALSEに等しく設定される:
mttDepthが0より大きい;
partIdxが1に等しい;
MttSplitMode[x0][y0][mttDepth-1]がparallelTtSplitに等しい;
或いは、以下の条件のうちの全部が、TRUEである場合、allowBtSplitはFALSEに等しく設定される:
btSplitが、SPLIT_BT_VERに等しい;
cbWidthがMaxTbSizeY以下である;
cbHeightがMaxTbSizeYより大きい;
或いは、以下の条件のうちの全部が、TRUEである場合、allowBtSplitはFALSEに等しく設定される:
btSplitがSPLIT_BT_HORに等しい;
cbWidthgaMaxTbSizeYより大きい;
cbHeightがMaxTbSizeY以下である;
その他の場合、allowTtSplitはTRUEに等しく設定される。
許可される3分割処理
この処理への入力は:
-バイナリ分割モードttSplit;
-ルマサンプル数でのコーディングブロック幅cbWidth;
-ルマサンプル数でのコーディングブロック高さcbHeight;
-ピクチャの左上ルマサンプルに対する検討されるコーディングブロックの左上サンプルの位置(x0,y0);
-マルチタイプツリー深さmttDepth;
-オフセットを持つ最大マルチタイプツリー深さmaxMttDepth;
-最大3分木サイズmaxTtSize;
-CTUのパーティションにシングルツリー(SINGLE_TREE)とデュアルツリーのどちらを使用するか、及びデュアルツリーを使用する場合はルマ成分(DUAL_TREE_LUMA)とクロマ成分(DUAL_TREE_CHROMA)のどちらが現在処理されているかを指定する変数treeType;
変数allowTtSplitは、以下のように導出される:
以下の条件のうちの1つ以上がTRUEである場合、allowTtSplitはFALSEに等しく設定される:
cbSizeが2*MinTtSizeY以下である;
cbWidthがMin(MaxTbSizeY,maxTtSize)より大きい;
cbHeightがMin(MaxTbSizeY,maxTtSize)より大きい;
mttDepthが、maxMttDepth以上である;
x0+cbWidthがpic_width_in_luma_samplesより大きい;
y0+cbHeightがpic_height_in_luma_samplesより大きい;
treeTypeがDUAL_TREE_CHROMAに等しく、(cbWidth/SubWidthC)*(cbHeight/SubHeightC)は32以下である;
pred_mode_flagが0の場合、現在コーディングユニットがインター予測モードでコーディングされることを指定する。pred_mode_flagが1の場合、現在コーディングユニットがイントラ予測モードでコーディングされることを指定する;
pred_mode_flagが存在しない場合、それは、以下のように推定される:
cbWidthが4に等しく、cbHeightが4に等しい場合、pred_mode_flagは1に等しいと推定される;
変数CuPredMode[chType][x][y]は、x=x0..x0+cbWidth-1及びy=y0..y0+cbHeight-1に対して次のように導出される:
pred_mode_flagが0の場合、CuPredMode[chType][x][y]はMODE_INTERに等しく設定される;
それ以外の場合(pred_mode_flagが1に等しい)、CuPredMode[chType][x][y]はMODE_INTRAに等しく設定される;
pred_mode_ibc_flagが1の場合、現在コーディングユニットがIBC予測モードでコーディングされることを指定する。pred_mode_ibc_flagが0の場合、現在コーディングユニットがIBC予測モードでコーディングされないことを指定する;
pred_mode_ibc_flagが存在しない場合、それは、以下のように推定される:
cu_skip_flag[x0][y0]が1に等しく、cbWidthが4に等しく、cbHeightが4に等しい場合、pred_mode_ibc_flagは1に等しいと推定される;
それ以外の場合、cbWidthとcbHeightの両方が128に等しい場合、pred_mode_ibc_flagは0に等しいと推定される;
pred_mode_ibc_flagが1に等しいとき、変数CuPredMode[chType][x][y]は、x=x0..x0+cbWidth-1及びy=y0..y0+cbHeight-1に対してMODE_IBCに等しく設定される。
3.問題
1.現在、IBCはMODE_TYPE_INTRAと見なされるため、小さなクロマブロックは許可されず、不必要なコーディング効率の損失につながる;
2.現在、パレットはMODE_TYPE_INTRAと見なされるため、小さなクロマブロックは許可されず、不必要なコーディング効率の損失につながる;
3.現在、小さなクロマブロック制約では、カラーサブサンプリング形式は考慮されていない;
4.現在、小さいブロックに対する同じパーティション及び予測モードの制約が、すべてのクロマフォーマットに適用される。ただし、4:2:0及び4:2:2クロマフォーマットの小さいブロックでは、異なる制約メカニズムを設計することが望ましい場合がある;
5.現在、パレットモードフラグのシグナリングはmodeTypeに依存しており、パレットが小さいブロック制約を適用しない可能性があるため、望ましくない;
6.現在、IBCモードフラグは、cu_skip_flagが1に等しいがMODE_TYPEがMODE_TYPE_INTRAに等しいP/Bスライスに対して0と推定され、これは構文解析では不適法である;
7.現在、非4×4ルマIBCモードはSCIPUルマブロックでは許可されていないため、望ましくない可能性があり、コーディング効率の低下を引き起こす可能性がある;
8.2×Hクロマブロックは引き続き許可されており、これはハードウェアの実装には適さない;
9.CIIPは、イントラ予測を使用している間はMODE_INTER時点と見なされるため、場合によっては制約が解除される;
10.SCIPUが適用されている場合、ルマ分割に依存して、クロマのデルタQPがシグナリングされてよい。例えば、現在ブロック寸法がルマサンプル数で16×8であり、垂直TTで分割されている場合、ローカルデュアルツリーが適用されてよい;以下が記載されている:
qgOnC=qgOnC&&(cbSubdiv+2<=cu_chroma_qp_offset_subdiv)
従って、cbSubdiv+2<=cu_chroma_qp_offset_subdivならば、qgOnCは0に設定される。この条件設定は、クロマ成分もTTで分割されることを前提としている。ローカルのデュアルツリーでは、クロマ成分が分割されない可能性があるため、cbSubdivがcu_chroma_qp_offset_subdivより大きくなる可能性がある。クロマのデルタQPをシグナリングできるようにするには、IsCuChromaQpOffsetCodedを0に設定する必要がある。ただし、qgOnCが0に設定されているため、IsCuChromaQpOffsetCodedは0に設定されない;
11.可逆コーディングの最大変換サイズは、非可逆コーディングの最大変換サイズとは別に設定することができる。
以下のリストは、例と考えられるべきである。これらの技術は、狭義に解釈されるべきではない。更に、これらの技術は任意の方法で結合できる。
a.例えば、4:4:4色フォーマットの場合、クロマブロックのサイズの制約がルマブロックの制約に従うことがある;
b.例えば、4:2:2色フォーマットの場合、クロマブロックのサイズの制約が4:2:0色フォーマットの制約に従うことがある;
c.一例では、4:0:0及び/又は4:4:4クロマフォーマットでは、小さいブロックパーティション及び/又は予測モードの制約が適用されない場合がある;
d.一例では、小さいブロックパーティション及び/又は予測モードに対する制約は、クロマフォーマットごとに異なる方法で適用されてよい;
i.一例では、水平BT分割のあるM×N(8×8など)コーディングツリーノードの場合、4:2:2クロマフォーマットでは、水平BT分割がクロマブロックとルマブロックの両方で許可されてよいが、4:2:0クロマフォーマットでは、水平BT分割がルマブロックで許可されるが、クロマブロックでは無効になる場合がある;
ii.一例では、垂直BT分割のあるM×N(16×4など)コーディングツリーノードの場合、4:2:2クロマフォーマットでは、垂直BT分割がクロマブロックとルマブロックの両方で許可されてよいが、4:2:0クロマフォーマットでは、垂直BT分割がルマブロックで許可されるが、クロマブロックでは無効になる場合がある;
iii.一例では、水平TT分割のあるM×N(8×16など)コーディングツリーノードの場合、4:2:2クロマフォーマットでは、水平TT分割がクロマブロックとルマブロックの両方で許可されてよいが、4:2:0クロマフォーマットでは、水平TT分割がルマブロックで許可されるが、クロマブロックでは無効になる場合がある;
iv.一例では、垂直TT分割のあるM×N(32×4など)コーディングツリーノードの場合、4:2:2クロマフォーマットでは、垂直TT分割がクロマブロックとルマブロックの両方で許可されてよいが、4:2:0クロマフォーマットでは、垂直TT分割がルマブロックで許可されるが、クロマブロックでは無効になる場合がある;
v.一例では、4:0:0及び/又は4:4:4色フォーマットでは、小さいブロック制約が適用されない場合がある;
e.一例では、SCIPUを有効にするかどうかは色フォーマットに依存する;
i.一例では、SCIPUは4:2:0及び4:2:2の色フォーマットに対して有効になっている;
ii.一例では、SCIPUは4:0:0及び/4:4:4の色フォーマットに対して無効になっている;
1.一例では、modeTypeは、4:0:0及び/又は4:4:4の色フォーマットについて、常にMODE_TYPE_ALLに等しい場合がある;
2.一例では、modeTypeConditionは、4:0:0及び/又は4:4:4の色フォーマットについて、常に0に等しい場合がある;
2.コーディングツリーノードの(サブ)ブロックの予測モード(及び/又はmodeType)を決定する方法は、クロマフォーマットに依存する場合がある;
a.一例では、次の条件のいずれかがTRUEである場合、このコーディングツリーノードによってパーティションされた(サブ)ブロックのmodeTypeは、4:2:2クロマフォーマットの場合はMODE_TYPE_ALLと等しい可能性があり、4:2:0クロマフォーマットの場合は、modeTypeはMODE_TYPE_INTRA又はMODE_TYPE_INTERのいずれかに等しい可能性がある:
i.水平BT分割によるMxN(8x8など)コーディングツリーノード;
ii.垂直BT分割によるM×N(16×4など)コーディングツリーノード;
iii.水平TT分割によるMxN(8×16など)コーディングツリーノード;
iv.垂直TT分割によるM×N(32×4など)コーディングツリーノード。
3.MODE_TYPE_INTRAの名前をMODE_TYPE_NO_INTERに変更し、MODE_INTERの使用を制限することが提案されている:
a.一例では、コーディングユニットのmodeTypeがMODE_TYPE_NO_INTERと等しい場合、MODE_INTERが禁止されてよい。
4.MODE_TYPE_INTERの名前をMODE_TYPE_NO_INTRAに変更し、MODE_INTRAの使用を制限することが提案されている:
a.一例では、コーディングユニットのmodeTypeがMODE_TYPE_NO_INTRAと等しい場合、MODE_INTRAが禁止されてよい。
5.モード制約フラグは、4:2:2及び/又は4:0:0及び/又は4:4:4クロマフォーマットでは決してシグナリングされない場合がある:
a.一例では、モード制約フラグが存在しない場合、1に等しいと推定されてよい;
i.代替として、モード制約フラグが存在しない場合、0に等しいと推定されてよい。
6.Mをブロック幅、Nをブロック高さとするM×NコーディングブロックにSCIPUを適用するかどうか、及び/又はその方法は、色フォーマットが4:2:0か4:2:2かに依存する場合がある:
a.一例では、4:2:2色フォーマットで、Mをブロック幅、Nをブロック高さとするM×Nコーディングブロックの場合、MにNを乗じた値(M*Nで表す)が64又は32に等しい場合にのみSCIPUを有効にすることができる;
b.一例では、M*N=128のコーディングツリーノードは、4:2:2色フォーマットのSCIPUブロックとして扱われないことがある;
c.一例では、BT分割及びM*N=64のコーディングツリーノードは、4:2:2色フォーマットのSCIPUブロックとして扱われないことがある;
d.一例では、split_qt_flagが1に等しくM*N=64のコーディングツリーノードは、4:2:2色フォーマットのSCIPUブロックであってよい;
e.一例では、TT分割及びM*N=64のコーディングツリーノードは、4:2:2色フォーマットのSCIPUブロックとして扱われないことがある;
f.一例では、BT分割及びM*N=32のコーディングツリーノードは、4:2:2色フォーマットのSCIPUブロックとして扱われることがある;
g.上記の説明では、4:2:2色フォーマットのSCIPUブロックの場合、modeTypeConditionは常に1に等しい可能性がある;
h.上記の説明では、4:2:2色フォーマットのSCIPUブロックの場合、親ノードの現在ブロックと子リーフノードの下のすべてのサブブロックの両方に対してMODE_TYPE_INTRAのみを許可できる。
7.4:2:2色フォーマットでは、SCIPUブロックのmodeTypeConditionは常に1に等しい可能性がある:
a.一例では、modeTypeConditionは、4:2:2色フォーマットについて、0又は1に等しい場合がある;
b.一例では、4:2:2色フォーマットのSCIPUブロックの場合、modeTypeConditionは決して2に等しくない場合がある。
8.4:2:2色フォーマットでは、SCIPUブロックのmodeTypeは常にMODE_TYPE_INTRAに等しい可能性がある:
a.一例では、modeTypeは、4:2:2色フォーマットについて、MODE_TYPE_ALL又はMODE_TYPE_INTRAに等しい場合がある;
b.一例では、4:2:2色フォーマットのSCIPUブロックの場合、MODE_TYPE_INTERは無効にされてよい。
9.ブロックパーティションが許可されるかどうかは、modeType及び/又はブロックサイズに依存する場合がある:
a.一例では、ブロックに対してBT及び/又はTT分割が許可されるかどうかは、modeTypeに依存する場合がある;
i.一例では、modeTypeがMODE_TYPE_INTERと等しい場合、現在のコーディングブロックに対してBT分割が禁止されてよい(例えば、allowBtSplitはfalseと等しく設定される);
ii.一例では、modeTypeがMODE_TYPE_INTERと等しい場合、現在のコーディングブロックに対してTT分割が禁止されてよい(例えば、allowTtSplitはfalseと等しく設定される);
b.一例では、ブロックに対してBT及び/又はTT分割が許可されるかどうかは、modeType及びブロックサイズに依存する場合がある;
i.一例では、Mをブロック幅、Nをブロック高さとするM×Nコーディングブロックで、M*Nが32以下であり、modeTypeがMODE_TYPE_INTERに等しい場;、BT分割が禁止されてよい(例えば、allowBtSplitはfalseと等しく設定される)。
ii.一例では、Mをブロック幅、Nをブロック高さとするM×Nコーディングブロックで、M*Nが64以下であり、modeTypeがMODE_TYPE_INTERに等しい場合、TT分割が禁止されてよい(例えば、allowTtSplitはfalseと等しく設定される)。
10.コーディングツリーのmodeTypeCurrがMODE_TYPE_INTERと等しい場合、コーディングツリーの分割が制限されてよい。
a.一例では、コーディングユニットのmodeTypeCurrがMODE_TYPE_INTERと等しい場合、BT分割が禁止されてよい;
b.一例では、コーディングツリーのmodeTypeCurrがMODE_TYPE_INTERと等しい場合、TT分割が禁止されてよい;
c.一例では、コーディングツリーのmodeTypeCurrがMODE_TYPE_INTERと等しい場合、QT分割が禁止されてよい;
d.一例では、コーディングユニットのmodeTypeCurrがMODE_TYPE_INTERと等しく、ルマブロックサイズが32以下である場合、BT分割が禁止されてよい;
e.一例では、コーディングツリーのmodeTypeCurrがMODE_TYPE_INTERと等しく、ルマブロックサイズが64以下である場合、TT分割が禁止されてよい。
11.treeTypeがDUAL_TREE_LUMAであるコーディングユニットは、インターモードでコーディングできる:
a.一例では、インターコーディングモード、つまりMODE_INTERでコーディングされたコーディングユニットは、複数の色成分を持つ色フォーマットであっても、ルマ成分のみを含むことができる;
b.一例では、pred_mode_flagをDUAL_TREE_LUMAブロックについてパースする必要がある場合がある;
c.一例では、インターモードでコーディングされたDUAL_TREE_LUMAブロックに対して、SINGLE_TREEに対して同じインターモードの制約を適用することもできる;
i.一例では、4×4DUAL_TREE_LUMAインターブロックが禁止されてよい。
12.ブロック幅がM(M=2など)クロマサンプルと等しいクロマイントラ(及び/又はIBC)ブロックは禁止されてよい:
a.一例では、2×N(N<=64など)のクロマイントラブロックはデュアルツリーでは許可されない場合がある;
i.一例では、treeTypeがDUAL_TREE_CHROMAに等しく、ブロック幅が4クロマサンプルに等しい場合、垂直BT分割が無効になることがある;
ii.一例では、treeTypeがDUAL_TREE_CHROMAに等しく、ブロック幅が8クロマサンプルに等しい場合、垂直TT分割が無効になることがある。;
b.一例では、2×N(N<=64など)のクロマイントラ(及び/又はIBC)ブロックは単一ツリーでは許可されない場合がある;
i.一例では、垂直BT分割によるM×N(M=8及びN<=64など)コーディングツリーノードに対して、以下のプロセスのいずれかを適用することができる;
1.垂直BT分割は、4×N又は4×(N/2)クロマブロックでは禁止されてよいが、8×Nルマブロックでは許可される;
2.4×N又は4×(N/2)クロマブロックは、垂直BT分割されていない場合があり、MODE_INTRA又はMODE_IBCによってコーディングされてよい。
3.垂直BT分割は、8×Nルマブロックと4×N又は4×(N/2)クロマブロックの両方に使用できますが、ルマブロックとクロマブロックの両方はMODE_INTRAによってコーディングされない(例えば、MODE_INTERやMODE_IBCでコード化することができる)。
ii.一例では、垂直TT分割によるM×N(M=16及びN<=64など)コーディングツリーノードに対して、以下のプロセスのいずれかを適用することができる。
1.垂直TT分割は、8×N又は8×(N/2)クロマブロックでは禁止されてよいが、16×Nルマブロックでは許可される。
2.8×N又は8×(N/2)クロマブロックは、垂直TT分割されていない場合があり、MODE_INTRA又はMODE_IBCによってコーディングされてよい。
3.垂直TT分割は、16×Nルマブロックと8×N又は8×(N/2)クロマブロックの両方に使用できるが、ルマブロックとクロマブロックの両方はMODE_INTRAによってコーディングされない(例えば、MODE_INTERやMODE_IBCでコーディングすることができる)。
13.BCモードは、ブロックサイズが小さいかどうかにかかわらず、ルマブロック及びはクロマブロックに対して許可されてよい:
a.一例では、8×4/8×8/16×4及び4×N(N<=64など)のルマブロックを含むルマブロックでは、modeTypeがMODE_TYPE_INTRAに等しい場合でも、許可され得る;
b.一例では、modeTypeがMODE_TYPE_INTRAと等しい場合でも、クロマブロックに対してIBCモードが許可され得る。
14.IBC予測モードフラグのシグナリングは、予測モードタイプ(例えば、MODE_TYPE_INTRA)に依存してよい:
a.一例では、非SKIPブロック(例えば、スキップモードでコーディングされていないコーディングブロック)のIBC予測モードフラグは、treeTypeがDUAL_TREE_CHROMAに等しくなく、modeTypeがMODE_TYPE_INTRAに等しい場合に、ビットストリーム内で明示的にシグナリングされ得る。
15.IBC予測モードフラグは、CU SKIPフラグとモードタイプ(例えば、modeType)に依存して推定されてよい:
a.一例では、現在ブロックがSKIPモードでコーディングされ(cu_skip_flagが1に等しいなど)、modeTypeがMODE_TYPE_INTRAに等しい場合、IBC予測モードフラグ(pred_mode_ibc_flagなど)が1に等しいと推測されてよい;
16.Paletteモードフラグの明示的なシグナリングは、modeTypeに依存しない場合がある:
a.一例では、パレットモードフラグ(pred_mode_plt_flagなど)シグナリングは、スライスタイプ、ブロックサイズ、予測モードなどに依存してよいが、modeTypeがどのようなものかには依存しない;
b.一例では、パレットモードフラグ(pred_mode_plt_flagなど)は、modeTypeがMODE_TYPE_INTER又はMODE_TYPE_INTRAと等しい場合に0と推定される。
17.modeTypeがMODE_TYPE_INTERと等しい場合、IBCモードの使用が許可されてよい:
a.一例では、modeTypeがMODE_TYPE_INTRAに等しい場合、クロマIBCが禁止されてよい;
b.一例では、modeTypeがMODE_TYPE_INTRA又はMODE_TYPE_INTERと等しい場合、IBCモードの使用が許可されてよい;
c.一例では、modeTypeが何であるかに関係なく、IBCモードの使用が許可されてよい;
d.一例では、1つのSCIPU内でIBCとインターモードの両方が許可されてよい;
e.一例では、IBCクロマブロックのサイズは、対応するルマブロックのサイズに常に対応してよい;
f.一例では、modeTypeがMODE_TYPE_INTERに等しく、コーディングユニットサイズがルマで4×4の場合、pred_mode_ibc_flagのシグナリングがスキップされ、pred_mode_ibc_flagが1に等しいと推定されてよい。
18.modeTypeがMODE_TYPE_INTERである場合、パレットモードの使用が許可されてよい:
a.一例では、modeTypeがMODE_TYPE_INTRAである場合、クロマパレットが禁止されてよい;
b.一例では、modeTypeがMODE_TYPE_INTRA又はMODE_TYPE_INTERと等しい場合、IBCモードの使用が許可されてよい;
c.一例では、modeTypeが何であるかに関係なく、IBCモードの使用が許可されてよい;
d.一例では、modeTypeがMODE_TYPE_INTRA又はMODE_TYPE_INTERと等しい場合、パレットモードの使用が許可されてよい;
e.一例では、modeTypeが何であるかに関係なく、パレットモードの使用が許可されてよい;
f.一例では、1つのSCIPU内でパレットとインターモードの両方が許可されてよい;
g.一例では、1つのSCIPU内で、パレット、IBC、及びインターモードの全部が許可されてよい;
h.一例では、パレットクロマブロックのサイズは、対応するルマブロックのサイズに常に対応してよい;
i.一例では、modeTypeがMODE_TYPE_INTERに等しく、コーディングユニットサイズがルマで4×4の場合、pred_mode_plt_flagのシグナリングがスキップされ、pred_mode_plt_flagが1に等しいと推定されてよい;
j.一例では、modeTypeがMODE_TYPE_INTERに等しく、コーディングユニットサイズがルマで4×4の場合、現在の予測モードがIBC又はパレットかどうかを示すために、1つのメッセージが送信されてよい;
k.一例では、パレットモードを有効/無効にするかどうかは、スライスタイプとmodeTypeに依存してよい;
i.一例では、MODE_TYPE_INTRAを持つIスライスの場合、パレットモードが有効にされてよい;
ii.一例では、MODE_TYPE_INTERを持つP/Bスライスの場合、パレットモードが有効にされてよい。
19.パレットモードが有効な場合、ローカルデュアルツリーが禁止されてよい:
a.一例では、パレットモードが有効な場合、modeTypeConditionは常に0に設定されてよい。
20.幅がM(例えば、M=2)又は高さがN(例えば、N=2)に等しい小さなクロマブロックの場合、許容されるイントラ予測モードは大きなクロマブロックで許容されるモードとは異なるように制限されてよい:
a.一例では、使用可能なクロマイントラ予測モードのうちの一部のイントラ予測モードのみが使用されてよい;
b.一例では、INTRA_DCモードのみが使用されてよい;
c.一例では、INTRA_PLANARモードのみが使用されてよい;
d.一例では、INTRA_ANGULAR18モードのみが使用されてよい;
e.一例では、INTRA_ANGULAR50モードのみが使用されてよい;
f.一例では、CCLMモードが禁止されてよい。
21.幅がM(例えば、M=2)又は高さがN(例えば、N=2)に等しい小さなクロマブロックの場合、変換タイプは大きなクロマブロックで許容される変換タイプとは異なるように制限されてよい:
a.一例では、変換スキップのみが使用されてよい;
b.一例では、1次元変換のみが使用されてよい;
c.一例では、複数のタイプの変換をサポートするコーディングツールは禁止される;
i.代替として、複数のタイプの変換をサポートするコーディングツールのシグナリングは省略される。
22.CIIPはMODE_TYPE_INTRAとみなされてよい:
a.一例では、デュアルツリーパーティションが使用される場合、CIIPモードが許可されてよい;
i.一例では、CUタイプがDUAL_TREEE_CHROMAの場合に、CIIPモードが許可されてよい;
b.代替として、CIIPはMODE_TYPE_INTRAとみなさてよい;
i.一例では、クロマブロック幅がM(例えば、M=2)に等しい場合、CIIPモードが禁止されてよい;
ii.一例では、クロマブロック幅がM(例えば、M=2)に等しい場合、CIIPにおけるクロマのイントラ予測モードは単純なイントラ予測モードに制限されてよい;
1.一例では、クロマブロック幅がM(例えば、M=2)に等しい場合に、クロマイントラ予測にINTRA_DCが使用されてよい;
2.一例では、クロマブロック幅がM(例えば、M=2)に等しい場合に、クロマイントラ予測にINTRA_ANGULAR18が使用されてよい;
3.一例では、クロマブロック幅がM(例えば、M=2)に等しい場合に、クロマイントラ予測にINTRA_ANGULAR50が使用されてよい;
iii.一例では、CIIPにおけるクロマのイントラ予測モードは単純なイントラ予測モードに制限されてよい;
1.一例では、クロマイントラ予測にINTRA_DCが使用されてよい;
2.一例では、クロマイントラ予測にINTRA_ANGULAR18モードが使用されてよい;
3.一例では、クロマイントラ予測にINTRA_ANGULAR50モードが使用されてよい。
23.上記の箇条書きの場合、変数M及び/又はNは事前に定義されているか、又はシグナリングされてよい:
a.一例では、M及び/又はNは色フォーマット(例えば、4:2:0、4:2:2、4:4:4)にさらに依存してよい。
24.modeTypeは、より多くのタイプをカバーするように拡張されてよい:
a.一例では、modeTypeはMODE_TYPE_IBCであってよい。modeTypeがMODE_TYPE_IBCと等しい場合、予測モードはIBCと推定される;
i.一例では、この場合、pred_mode_flagはシグナリングされない;
ii.一例では、この場合、pred_mode_ibc_flagはシグナリングされない;
iii.一例では、この場合、pred_mode_plt_flagはシグナリングされない;
b.一例では、modeTypeはMODE_TYPE_IBCであってよい。modeTypeがMODE_TYPE_PALETTEと等しい場合、予測モードはパレットモードと推定される;
i.一例では、この場合、pred_mode_flagはシグナリングされない;
ii.一例では、この場合、pred_mode_ibc_flagはシグナリングされない;
iii.一例では、この場合、pred_mode_plt_flagはシグナリングされない;
c.一例では、mode_constraint_flagをインデックスに置き換えて、許可されているmodeTypeのどれが使用されているかを示すことができる。
25.一例では、寸法W×Hのブロックに対してQT分割が許可されるかどうかは、modeTypeと寸法の組み合わせに依存してよい:
a.例えば、modeTypeがMODE_TYPE_INTERに等しく、Wが8に等しく、Hが8に等しい場合、QT分割は禁止される。
26.一例では、寸法W×Hのブロックに対して垂直TT分割が許可されるかどうかは、modeTypeと寸法の組み合わせに依存してよい:
a.例えば、modeTypeがMODE_TYPE_INTERに等しく、Wが16に等しく、Hが4に等しい場合、垂直TT分割は禁止される。
27.一例では、寸法W×Hのブロックに対して水平TT分割が許可されるかどうかは、modeTypeと寸法の組み合わせに依存してよい:
a.例えば、modeTypeがMODE_TYPE_INTERに等しく、Wが4に等しく、Hが16に等しい場合、水平TT分割は禁止される。
28.一例では、寸法W×Hのブロックに対して垂直BT分割が許可されるかどうかは、modeTypeと寸法の組み合わせに依存してよい:
a.例えば、modeTypeがMODE_TYPE_INTERに等しく、Wが8に等しく、Hが4に等しい場合、垂直BT分割は禁止される。
29.一例では、寸法W×Hのブロックに対して水平TT分割が許可されるかどうかは、modeTypeと寸法の組み合わせに依存してよい:
a.例えば、modeTypeがMODE_TYPE_INTERに等しく、Wが4に等しく、Hが8に等しい場合、水平BT分割は禁止される。
30.一例では、CUの予測モードがmodeTypeによって推定されるかどうかは、色成分及び/又はブロック寸法W×Hに依存してよい:
a.例えば、クロマCUの予測モードはmodeTypeによって推測されるが、ルマCUの予測モードはmodeTypeによって推定されるのではなく、シグナリングされる;
i.例えば、ルマCUの予測モードは、W>4又はH>4の場合、modeTypeによって推定されるのではなく、シグナリングされる。
31.SCIPUが適用されている場合、第1成分のデルタQPに関連する情報をシグナリングするかどうか、及び/又はその方法は、第1成分の分割方法に依存してよい:
一例では、SCIPUが適用されている場合、第1成分のデルタQPに関連する情報をシグナリングするかどうか、及び/又はその方法は、第1成分の分割方法に依存し、第2成分の分割方法とは分離されてよい:
b.一例では、第1成分はルマ、第2成分はクロマである;
c.一例では、第1成分はクロマ、第2成分はルマである。
32.デュアルツリー及び/又はローカルデュアルツリーコーディング構造が適用されている場合、第1成分のデルタQPに関連する変数は、第2成分の複合又はパース処理中に変更できない:
a.一例では、SCIPUに従ってローカルデュアルツリーコーディング構造が使用されてよい;
b.一例では、第1成分はルマ、第2成分はクロマである;
変数はIsCuQpDeltaCodedであってよい;
c.一例では、第1成分はクロマ、第2成分はルマである;
i.変数はIsCuChromaQpOffsetCodedであってよい。
33.SCIPUが適用されている場合、成分(ルマ又はクロマなど)のデルタQPに関連する情報は、特定の領域で1回だけ信号が送られてよく、ルマ成分とクロマ成分は同じモードタイプ(MODE_TYPE_INTER又はMODE_TYPE_INTRAなど)を共有する必要がある:
a.一例では、特定の領域は、量子化グループとみなされる。
34.Mをブロック幅、Nをブロック高さとするM×Nクロマイントラブロックは許可されなくてよい:
a.一例では、DC予測はM×Nクロマイントラ予測に使用されてよく、例えば、M=2クロマサンプル、N=8及び/又は16及び/又は32クロマサンプルである;
i.一例では、再構成された近隣ピクセルはDC予測に使用されなくてよい;
ii.一例では、DC予測のために近隣参照ピクセルが1<<(bitDepth-1)に等しく設定されてよい;
iii.一例では、PDPCがDC予測に適用されなくてよい;
iv.一例では、DCモード情報はM×Nクロマイントラブロック用にコーディングされず、導出されてよい;
b.一例では、CCLM予測はM×Nクロマイントラ予測に使用されてよく、例えば、M=2クロマサンプル、N=8及び/又は16及び/又は32クロマサンプルである;
i.一例では、再構成された近隣ピクセルはCCLM予測に使用されなくてよい;
ii.一例では、クロマ予測値predCがルマ再構成値recLから導出されるCCLM予測predC=a*recL+bの場合、パラメータa及びbは、SPS/VPS/PPS/ピクチャ/サブピクチャ/スライス/タイル/ブリック/CTU行/CTU/VPDU/CU/PU/TUなどのビデオユニットの先頭でデフォルトの固定値(a=0、b=512など)に初期化されてよい:
1.一例では、先入れ先出しテーブルをその場で維持して、CCLMパラメータaとbを更新してよい:
iii.一例では、PDPCがCCLM予測に適用されなくてよい;
iv.一例では、CCLMモード情報はM×Nクロマイントラブロック用にコーディングされず、導出されてよい;
v.代替として、提案した方法は、幅がMと等しくない、又は高さがNと等しくない他の種類のCCLMコーディングクロマブロックに適用されてもよい:
1.一例では、以前にコーディングされたブロックのCCLMパラメータは、現在ブロックの近隣ブロックの再構成情報に基づいて導出されるのではなく、現在ブロックに利用されてよい;
2.一例では、CCLMパラメータをテーブルに格納し、FIFOを使用するなどしてオンザフライで更新してよい;
c.一例では、M=2のクロマサンプル、N=8及び/又は16及び/又は32クロマサンプルなど、M×Nクロマイントラブロックはデュアルツリーでは許可されなくてよい:
i.一例では、treeTypeがDUAL_TREE_CHROMAに等しい場合、次元が(M*a)×(N*b)に等しいコーディングツリーノードに対して×分割が無効にされてよい。ここで、M*aはクロマサンプル数でのコーディングツリーノードの幅、N*bはクロマサンプル数でのコーディングツリーノードの高さである;
1.一例では、×は垂直BT分割、a=2、b=1である;
2.一例では、×は水平BT分割、a=1、b=2である;
3.一例では、Xは垂直TT分割、a=4、b=1である;
4.一例では、Xは水平TT分割、a=1、b=4である;
d.一例では、M=2のクロマサンプル、N=8及び/又は16及び/又は32クロマサンプルなど、M×Nクロマイントラブロックは単一ツリーでは許可されなくてよい:
i.一例では、単一ツリーでは、次元が(M*a*subWidthC)×(N*b*subHeightC)に等しいコーディングツリーノードのクロマ成分に対して×分割が無効にされてよい。ここで、M*aはルマサンプル数でのコーディングツリーノードの幅、N*bはルマサンプル数でのコーディングツリーノードの高さ、subWidthCとsubHeightCは幅と高さの次元のクロマサブサンプリング比で、例えば、4:2:0クロマフォーマットの場合、subWidthCとsubHeightCは2に等しくなる:
1.一例では、×=垂直BT分割、a=2、b=1である;
2.一例では、X=垂直TT分割、a=4、b=1である;
3.一例では、×=水平BT分割、a=1、b=2である;
4.一例では、X=水平TT分割、a=1、b=2である;
5.一例では、X=水平TT分割、a=1、b=4である;
6.一例では、非分割クロマブロックの寸法は(M*a)×(N*d)に等しくてよい;
7.一例では、非分割クロマブロックをMODE_TYPE_INTRAと決定し、このクロマブロックに対してイントラ予測(及び/又はIBC及び/又はPLTモード)のみが許可されてよい;
8.一例では、X分割がこのコーディングツリーノードのルマ成分に対して許可されてよい。例えば、ルマコーディングツリーノードは複数のルマ子ノードにさらに分割され、各ルマ子ノードはMODE_TYPE_INTERに決定されてよいが、インター予測(及び/又はIBCモード)のみが許可されてよい;
9.代替として、クロマ成分は同一位置のルマ成分と共にさらに分割されてもよいが、モードタイプはMODE_TYPE_INTERと等しくてよく、インター予測(及び/又はIBCモード)のみが許可されてよい;
ii.一例では、CIIPでM×Nクロマイントラブロックが許可されなくてよい;
1.一例では、ルマサンプル数で次元が(M*subWidthC)×(N*subHeightC)と等しいコーディングブロックに対してCIIPが許可されなくてよい;
a)CIIPが許可されない場合、CIIPフラグなどの関連する構文要素がビットストリームにコーディングされなくてよい;
2.一例では、CIIPのクロマブレンディング処理は、インター部分からの予測のみで満たされてよい;
a)一例では、ルマイントラ予測のみがCIIPコーディングブロックに適用され、クロマイントラ予測はルマサンプル数で(M*subWidthC)×(N*subHeightC)に等しい次元を持つCIIPコーディングブロックには適用されなくてよい;
3.一例では、箇条書き34(a)で説明するように、CIIPブロックのM×Nクロマイントラ予測にDC予測を使用されてよい;
4.一例では、箇条書き34(b)で説明するように、CIIPブロックのM×Nクロマイントラ予測にCCLM予測が使用されてよい。
losslessSizeYとmaxCTB/maxTBsize/maxTSsizeの関係
35.最大変換サイズは、可逆(及び/又は準可逆コーディング)と非可逆コーディングについて、異なる方法でシグナリングされ及び/又は推定されてよい:
a.一例では、可逆及び/又は準可逆コーディングの最大変換サイズは、変換が関与しないため、「最大剰余サイズ」又は「最大表現サイズ」などの他の用語で呼ばれることがある。本開示では、「maxLosslessTbSizeY」と呼ばれることがある;
b.一例では、ブロックの可逆コーディングは、そのブロックのcu_transquant_bypass_flagが1に等しいことを表してよい;
c.一例では、ブロックの準可逆コーディングは、与えられた閾値よりも小さいQPを持つコーディングと呼ばれてよい:
i.一例では、閾値はDPS/VPS/SPS/PPS/タイル/スライス/ブリックヘッダ内に示されてよい;
d.一例では、ブロックの準可逆コーディングは、与えられた閾値よりも小さいQPを持つコーディングと呼ばれてよく、そのブロックのtransform_skip_flagは1に等しい:
i.一例では、閾値はDPS/VPS/SPS/PPS/タイル/スライス/ブリックヘッダ内に示されてよい;
e.可逆及び/又は準可逆コーディング(例えば、maxLosslessTbSizeY)のための第1最大変換サイズは、非可逆コーディングに使用できる第2最大変換サイズ、及び/又は最大コーディングツリーユニットサイズ、及び/又は最大変換スキップサイズを条件として設定されてよい;
f.可逆及び/又は準可逆コーディングの最大変換サイズは、SPS/VPS/PPS/サブピクチャ/スライス/タイル/ブリック/CTU/VPDUのシンタックス要素(syntax element (SE))などのビデオユニットレベルでシグナリングされてよい:
i.一例では、SEは最大CTBサイズ(例えば、log2_ctu_size_minus5、CtbSizeY)に依存してシグナリングされてよい:
1.例えば、log2_ctu_size_minus5がNより大きい場合(N=0など)にフラグがシグナルされてよい;
ii.一例では、SEは最大変換サイズ(例えば、sps_max_luma_transform_size_64_flag、MaxTbSize、等)に依存してシグナリングされてよい:
1.例えば、sps_max_luma_transform_size_64_flagがMに等しい場合(M=1など)、SEがシグナルされてよい;
iii.一例では、SEは最大変換スキップサイズ(例えば、log2_transform_skip_max_size_minus2、MaxTsSize、等)に依存してシグナリングされてよい:
1.例えば、log2_transform_skip_max_size_minus2がKより大きい場合(K=3など)、SEがシグナルされてよい;
iv.一例では、log(maxLosslessTbSizeY)とXの間のデルタ値がシグナリングされてよい:
1.例えば、Xはlog2_ctu_size_minus5と等しくてよい;
2.例えば、Xはsps_max_luma_transform_size_64_flagと等しくてよい;
3.例えば、Xはlog2_transform_skip_max_size_minus2と等しくてよい;
4.例えば、Xは固定の整数と等しくてよい;
5.一例では、デルタ-Kがシグナリングされてよく、ここで、Kは1のような整数である;
v.一例では、maxLosslessTbSizeYとXの間のデルタ値がシグナリングされてよい:
1.例えば、XはCtbSizeYと等しくてよい;
2.例えば、XはMaxTbSizeと等しくてよい;
3.例えば、XはMaxTsSizeと等しくてよい;
4.例えば、Xは固定の整数と等しくてよい;
5.一例では、デルタ-Kがシグナリングされてよく、ここで、Kは1のような整数である;
vi.一例では、ビデオユニット(シーケンス/ピクチャ/サブピクチャ/スライス/タイル/CTU/VPDU/CU/PU/TUなど)のmaxLosslessTbSizeYがSEから導出されてよい。
vii.SEはフラグであってよい;
viii.フラグが存在しないとき、それは正の整数Nに等しいと推定されてよい;
g.一例では、(cu_transquant_bypass_flagが1に等しいなど)ビデオユニットに可逆又は準可逆コーディングが適用されている場合、ビデオユニットの最大変換サイズは、maxTbSizeY以外のmaxLosslessTbSizeYと等しく設定されてよい;
h.代替として、(シーケンス/ピクチャ/サブピクチャ/スライス/タイル/CTU/VPDU/CU/PU/TUなど)ビデオユニットの可逆及び/又は準可逆符号化の最大変換サイズは、シグナリングされる代わりに導出されてもよい:
i.例えば、固定整数値M(ルマサンプル数でM=32など)と等しく設定されてよい;
ii.例えば、それは、非可逆コーディングに使用され得る第2最大変換サイズに等しく設定されてよい;
iii.例えば、最大コーディングツリーユニットサイズと等しく設定されてよい;
iv.例えば、それは、VPDUサイズと等しく設定されてよい;
v.例えば、それは、最大変換スキップブロックサイズと等しく設定されてよい;
vi.例えば、それは、最大残差コーディングブロックサイズと等しく設定されてよい。
36.可逆コーディング(及び/又は準可逆コーディング)によるM×N残差ブロックの場合、それはmaxLosslessTbSizeYに応じて複数の小さな残差サブブロックに分割されてよい:
a.分割後、すべてのサブブロックの幅と高さはmaxLosslessTbSizeYより大きくない;
b.一例では、それは、すべてのサブブロックの幅と高さがmaxLosslessTbSizeY以下になるまで、再帰的にサブブロックに分割されてよい。
デブロッキング関連
37.パレットモードは、MODE_TYPE_ALL又はMODE_TYPE_INTRAで有効にされ得るが、MODE_TYPE_INTERでは常に禁止される。
38.一方がIBCモードで、もう一方がパレットモードの場合、クロマ成分のデブロッキング境界強度(bS)は0に設定されてよい:
a.一例では、一方がIBCモードで、もう一方がパレットモードの場合、ChromaArrayTypeが0に等しくない場合、クロマ成分のbSは0に設定される。
変換スキップブロック関連の最小許容QP
39.例えば、JVET-R0045に示されているinternal_minus_input_bit_depthのような入力ビット深さが推定できるシンタックス要素は、特定のプロファイルに従って制約されてよい:
a.一例では、(QpPrimeTsMin-4)/6は10ビットプロファイルで[0、2]の範囲内に制限されてよい;
b.一例では、(QpPrimeTsMin-4)/6は8ビットプロファイルで0に制限されてよい;
c.一例では、(QpPrimeTsMin-4)/6は、(K+8)ビットプロファイルで[0、K]の範囲内に制限されてよい;
d.一例では、(QpPrimeTsMin-4)/6は、(K+8)ビットプロファイルで[0、K]の範囲内に制限されてよい。
40.許容最小QP、例えばQpPrimeTsMinは、特定のプロファイルに従って制約されてよい:
a.一例では、(QpPrimeTsMin-4)/6は10ビットプロファイルで[0、2]の範囲内に制限されてよい;
b.一例では、(QpPrimeTsMin-4)/6は8ビットプロファイルで0に制限されてよい;
c.一例では、(QpPrimeTsMin-4)/6は、(K+8)ビットプロファイルで[0、K]の範囲内に制限されてよい;
d.一例では、(QpPrimeTsMin-4)/6は、(K+8)ビットプロファイルで[0、K]の範囲内に制限されてよい。
5.実施形態
新しく追加されたパーツは太字と斜体で表示され、VVCワーキングドラフトから削除された部分は二重括弧(例えば、[[a]]は文字"a"の削除を示す)で表示される。この修正は、最新のVVCワーキングドラフト(JVET-O2001-v11)に基づいている。
5.1 例示的な実施形態#1
以下の実施形態は、小さいブロックパーティションの制約に関するものであり、予測モードは4:2:0及び4:4:4クロマフォーマットにのみ適用される(4:0:0及び4:4:4クロマフォーマットには適用されない)。
7.4.9.4 コーディングツリーセマンティクス
変数modeTypeConditionは、以下のように導出される:
以下の条件のうちのいずれかがTUREである場合、modeTypeConditionは0に等しく設定される。
slice_type==I、及びqtbtt_dual_tree_intra_flagは1に等しい。
modeTypeCurrはMODE_TYPE_ALLに等しくない。
cbWidth*cbHeightは64に等しく、split_qt_flagは1に等しい。
cbWidth*cbHeightは64に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_TT_HOR又はSPLIT_TT_VERに等しい。
cbWidth*cbHeightは32に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_BT_HOR又はSPLIT_BT_VERに等しい。
その他の場合、以下の条件のうちのいずれかがTUREである場合、modeTypeConditionは1+(slice_type!=I?1:0)に等しく設定される。
cbWidth*cbHeightは64に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_BT_HOR又はSPLIT_BT_VERに等しい。
cbWidth*cbHeightは128に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_TT_HOR又はSPLIT_TT_VERに等しい。
その他の場合、modeTypeConditionが0に等しく設定される。
5.2 例示的な実施形態#2
以下の実施形態は、modeTypeに依存しないパレットモードフラグのシグナリングに関するものである;
以下の実施例は、CU SKIPフラグとmodeTypeに応じて推定されるIBC予測モードフラグに関するものである。
pred_mode_ibc_flagが1に等しい場合は、現在コーディングユニットがIBC予測モードでコーディングされることを指定する。pred_mode_ibc_flagが0の場合、現在コーディングユニットがIBC予測モードでコーディングされないことを指定する。
pred_mode_ibc_flagが存在しない場合、それは、以下のように推定される:
cu_skip_flag[x0][y0]が1に等しく、cbWidthが4に等しく、cbHeightが4に等しい場合、pred_mode_ibc_flagは1に等しいと推定される。
それ以外の場合、cbWidthとcbHeightの両方が128に等しい場合、pred_mode_ibc_flagは0に等しいと推定される。
[[それ以外の場合、cu_skip_flag[x0][y0]が1に等しく、modeTypeがMODE_TYPE_INTRAに等しい場合、pred_mode_ibc_flagは1に等しいと推定される。]]
それ以外の場合、modeTypeがMODE_TYPE_INTERに等しい場合、pred_mode_ibc_flagは0に等しいと推定される。
それ以外の場合、treeTypeがDUAL_TREE_CHROMAに等しい場合、pred_mode_ibc_flagは0に等しいと推定される。
それ以外の場合、pred_mode_ibc_flagは、Iスライスを復号するときにはsps_ibc_enabled_flagの値と等しく、P又はBスライスを復号するときには0になると各々推定される。
pred_mode_ibc_flagが1に等しいとき、変数CuPredMode[chType][x][y]は、x=x0..x0+cbWidth-1及びy=y0..y0+cbHeight-1に対してMODE_IBCに等しく設定される。
5.4 例示的な実施形態#4
以下の実施形態は、IBC予測モードフラグのシグナリングに関するもので、MODE_TYPE_INTRAに依存し、及び/又はIBCモードは、ブロックサイズが小さいかどうかに関係なくルマブロックに対して許可される。
以下の実施形態は、4:2:0と4:2:2色フォーマットに対して異なるイントラブロック制約を適用することに関するものである。
7.4.9.4 コーディングツリーセマンティクス
変数modeTypeConditionは、以下のように導出される:
以下の条件のうちのいずれかがTUREである場合、modeTypeConditionは0に等しく設定される。
slice_type==I、及びqtbtt_dual_tree_intra_flagは1に等しい。
modeTypeCurrはMODE_TYPE_ALLに等しくない。
その他の場合、以下の条件のうちのいずれかがTUREである場合、modeTypeConditionは1に等しく設定される。
cbWidth*cbHeightは64に等しく、split_qt_flagは1に等しい。
cbWidth*cbHeightは64に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_TT_HOR又はSPLIT_TT_VERに等しい。
cbWidth*cbHeightは32に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_BT_HOR又はSPLIT_BT_VERに等しい。
その他の場合、以下の条件のうちのいずれかがTUREである場合、modeTypeConditionは1+(slice_type!=I?1:0)に等しく設定される。
cbWidth*cbHeightは64に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_BT_HOR又はSPLIT_BT_VERに等しく、
5.6 例示的な実施形態#6
以下の実施形態は、単一ツリーで2×Nクロマイントラブロックを禁止することに関するものである。
7.4.9.4 コーディングツリーセマンティクス
変数modeTypeConditionは、以下のように導出される:
以下の条件のうちのいずれかがTUREである場合、modeTypeConditionは0に等しく設定される。
slice_type==I、及びqtbtt_dual_tree_intra_flagは1に等しい。
modeTypeCurrはMODE_TYPE_ALLに等しくない。
その他の場合、以下の条件のうちのいずれかがTUREである場合、modeTypeConditionは1に等しく設定される。
cbWidth*cbHeightは64に等しく、split_qt_flagは1に等しい。
cbWidth*cbHeightは64に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_TT_HOR又はSPLIT_TT_VERに等しい。
cbWidth*cbHeightは32に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_BT_HOR又はSPLIT_BT_VERに等しい。
その他の場合、以下の条件のうちのいずれかがTUREである場合、modeTypeConditionは1+(slice_type!=I?1:0)に等しく設定される。
cbWidth*cbHeightは64に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_BT_HOR又はSPLIT_BT_VERに等しい。
cbWidth*cbHeightは128に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_TT_HOR又はSPLIT_TT_VERに等しい。
5.7 例示的な実施形態#7
以下の実施形態は、デュアルツリーで2×Nクロマイントラブロックを禁止することに関するものである。
6.4.2 許可されるバイナリ分割処理
変数allowBtSplitは、以下のように導出される:
-以下の条件のうちの1つ以上がTRUEである場合、allowBtSplitはFALSEに等しく設定される:
cbSizeがMinBtSizeY以下である;
cbWidthがmaxBtSizeより大きい;
cbHeightがmaxBtSizeより大きい;
mttDepthは、maxMttDepth以上である;
treeTypeがDUAL_TREE_CHROMAに等しく、(cbWidth/SubWidthC)*(cbHeight/SubHeightC)は16以下である;
…
6.4.3 許可される3分割処理
変数allowTtSplitは、以下のように導出される:
以下の条件のうちの1つ以上がTRUEである場合、allowTtSplitはFALSEに等しく設定される:
cbSizeは2*MinTtSizeY以下である;
cbWidthはMin(MaxTbSizeY,maxTtSize)より大きい;
cbHeightはMin(MaxTbSizeY,maxTtSize)より大きい;
mttDepthは、maxMttDepth以上である;
x0+cbWidthがpic_width_in_luma_samplesより大きい;
y0+cbHeightがpic_height_in_luma_samplesより大きい;
treeTypeがDUAL_TREE_CHROMAに等しく、(cbWidth/SubWidthC)*(cbHeight/SubHeightC)は32以下である;
或いは、allowTtSplitは真に等しく設定される。
5.8 例示的な実施形態#8
以下の実施形態は、SCIPUクロマブロックに対してMODE_IBCを有効にすることに関するものである。
6.4.2 許可されるバイナリ分割処理
変数allowBtSplitは、以下のように導出される:
-以下の条件のうちの1つ以上がTRUEである場合、allowBtSplitはFALSEに等しく設定される:
cbSizeがMinBtSizeY以下である;
cbWidthがmaxBtSizeより大きい;
cbHeightがmaxBtSizeより大きい;
mttDepthは、maxMttDepth以上である;
treeTypeがDUAL_TREE_CHROMAに等しく、(cbWidth/SubWidthC)*(cbHeight/SubHeightC)は16以下である。
…
6.4.3 許可される3分割処理
変数allowTtSplitは、以下のように導出される:
以下の条件のうちの1つ以上がTRUEである場合、allowTtSplitはFALSEに等しく設定される:
cbSizeは2*MinTtSizeY以下である;
cbWidthはMin(MaxTbSizeY,maxTtSize)より大きい;
cbHeightはMin(MaxTbSizeY,maxTtSize)より大きい;
mttDepthは、maxMttDepth以上である;
x0+cbWidthがpic_width_in_luma_samplesより大きい;
y0+cbHeightがpic_height_in_luma_samplesより大きい;
treeTypeがDUAL_TREE_CHROMAに等しく、(cbWidth/SubWidthC)*(cbHeight/SubHeightC)は32以下である;
或いは、allowTtSplitは真に等しく設定される。
5.10 例示的な実施形態#10:modeTypeがMODE_TYPE_INTERのときにブロックパーティションを禁止する(解決策2)
6.4.2 許可されるバイナリ分割処理
変数allowBtSplitは、以下のように導出される:
-以下の条件のうちの1つ以上がTRUEである場合、allowBtSplitはFALSEに等しく設定される:
cbSizeがMinBtSizeY以下である;
cbWidthがmaxBtSizeより大きい;
cbHeightがmaxBtSizeより大きい;
mttDepthは、maxMttDepth以上である;
treeTypeがDUAL_TREE_CHROMAに等しく、(cbWidth/SubWidthC)*(cbHeight/SubHeightC)は16以下である;
…
6.4.3 許可される3分割処理
変数allowTtSplitは、以下のように導出される:
以下の条件のうちの1つ以上がTRUEである場合、allowTtSplitはFALSEに等しく設定される:
cbSizeは2*MinTtSizeY以下である;
cbWidthはMin(MaxTbSizeY,maxTtSize)より大きい;
cbHeightはMin(MaxTbSizeY,maxTtSize)より大きい;
mttDepthは、maxMttDepth以上である;
x0+cbWidthがpic_width_in_luma_samplesより大きい;
y0+cbHeightがpic_height_in_luma_samplesより大きい;
treeTypeがDUAL_TREE_CHROMAに等しく、(cbWidth/SubWidthC)*(cbHeight/SubHeightC)は32以下である;
或いは、allowTtSplitは真に等しく設定される。
5.11 例示的な実施形態#11
以下の実施形態は、MODE_TYPE_INTERが導出されるときのコーディングツリーのさらに分割する制約に関するものである。
以下の実施形態は、パレットモードが有効である場合に、小さいブロックパーティションの制約と予測モードが適用されないことに関するものである。
7.4.9.4 コーディングツリーセマンティクス
変数modeTypeConditionは、以下のように導出される:
以下の条件のうちのいずれかがTUREである場合、modeTypeConditionは0に等しく設定される:
slice_type==I、及びqtbtt_dual_tree_intra_flagは1に等しい;
modeTypeCurrはMODE_TYPE_ALLに等しくない;
cbWidth*cbHeightは64に等しく、split_qt_flagは1に等しい;
cbWidth*cbHeightは64に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_TT_HOR又はSPLIT_TT_VERに等しい;
cbWidth*cbHeightは32に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_BT_HOR又はSPLIT_BT_VERに等しい;
その他の場合、以下の条件のうちのいずれかがTUREである場合、modeTypeConditionは1+(slice_type!=I?1:0)に等しく設定される:
cbWidth*cbHeightは64に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_BT_HOR又はSPLIT_BT_VERに等しい;
cbWidth*cbHeightは128に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_TT_HOR又はSPLIT_TT_VERに等しい;
その他の場合、modeTypeConditionが0に等しく設定される。
5.13 例示的な実施形態#13
以下の実施形態は、4:2:2色フォーマットに対する小さなクロマイントラブロック制約に関するものである。
7.4.9.4 コーディングツリーセマンティクス
変数modeTypeConditionは、以下のように導出される:
以下の条件のうちのいずれかがTUREである場合、modeTypeConditionは0に等しく設定される:
slice_type==I、及びqtbtt_dual_tree_intra_flagは1に等しい;
modeTypeCurrはMODE_TYPE_ALLに等しくない;
その他の場合、以下の条件のうちのいずれかがTUREである場合、modeTypeConditionは1に等しく設定される:
cbWidth*cbHeightは64に等しく、split_qt_flagは1に等しい;
cbWidth*cbHeightは64に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_TT_HOR又はSPLIT_TT_VERに等しい;
cbWidth*cbHeightは32に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_BT_HOR又はSPLIT_BT_VERに等しい;
cbWidth*cbHeightは128に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_TT_HOR又はSPLIT_TT_VERに等しい;
その他の場合、modeTypeConditionが0に等しく設定される。
5.14 SCIPUでのデルタQPシグナリングの例#1
6.4.2 許可されるバイナリ分割処理
変数allowBtSplitは、以下のように導出される:
-以下の条件のうちの1つ以上がTRUEである場合、allowBtSplitはFALSEに等しく設定される:
cbSizeがMinBtSizeY以下である;
cbWidthがmaxBtSizeより大きい;
cbHeightがmaxBtSizeより大きい;
mttDepthは、maxMttDepth以上である;
treeTypeがDUAL_TREE_CHROMAに等しく、(cbWidth/SubWidthC)*(cbHeight/SubHeightC)は16以下である;
…
6.4.3 許可される3分割処理
変数allowTtSplitは、以下のように導出される:
以下の条件のうちの1つ以上がTRUEである場合、allowTtSplitはFALSEに等しく設定される:
cbSizeは2*MinTtSizeY以下である;
cbWidthはMin(MaxTbSizeY,maxTtSize)より大きい;
cbHeightはMin(MaxTbSizeY,maxTtSize)より大きい;
mttDepthは、maxMttDepth以上である;
x0+cbWidthがpic_width_in_luma_samplesより大きい;
y0+cbHeightがpic_height_in_luma_samplesより大きい;
treeTypeがDUAL_TREE_CHROMAに等しく、(cbWidth/SubWidthC)*(cbHeight/SubHeightC)は32以下である;
或いは、allowTtSplitは真に等しく設定される。
7.4.9.4 コーディングツリーセマンティクス
変数modeTypeConditionは、以下のように導出される:
以下の条件のうちのいずれかがTUREである場合、modeTypeConditionは0に等しく設定される:
slice_type==I、及びqtbtt_dual_tree_intra_flagは1に等しい;
modeTypeCurrはMODE_TYPE_ALLに等しくない;
その他の場合、以下の条件のうちのいずれかがTUREである場合、modeTypeConditionは1に等しく設定される:
cbWidth*cbHeightは64に等しく、split_qt_flagは1に等しい;
cbWidth*cbHeightは64に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_TT_HOR又はSPLIT_TT_VERに等しい;
cbWidth*cbHeightは32に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_BT_HOR又はSPLIT_BT_VERに等しい;
その他の場合、以下の条件のうちのいずれかがTUREである場合、modeTypeConditionは1+(slice_type!=I?1:0)に等しく設定される:
cbWidth*cbHeightは64に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_BT_HOR又はSPLIT_BT_VERに等しい;
cbWidth*cbHeightは128に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_TT_HOR又はSPLIT_TT_VERに等しい;
7.4.9.7 マージデータセマンティクス
ciip_flag[x0][y0]は、結合されたインターピクチャマージとイントラピクチャ予測を現在コーディングユニットに適用するかどうかを指定する。アレイインデックスx0,y0は、ピクチャの左上ルマサンプルに対する検討されるコーディングブロックの左上サンプルの位置(x0,y0)を指定する。
ciip_flag[x0][y0]が存在しない場合、それは、以下のように推定される:
次の条件が全部TRUEである場合、ciip_flag[x0][y0]は1に等しいと推定される:
sps_ciip_enabled_flagが1に等しい;
general_merge_flag[x0][y0]が1に等しい;
merge_subblock_flag[x0][y0]が0に等しい;
regular_merge_flag[x0][y0]が0に等しい;
cbWidthが128未満である;
cbHeightが128未満である;
それ以外の場合、ciip_flag[x0][y0]は0に等しいと推定される。
以下の変更、新しく追加された部分は太字と斜体で表示され、削除された部分は二重括弧で示される(例えば、[[a]]は文字"a"の削除を示す)。修正はJVET-Q2001-vEに基づいている。
8.8.3.5 境界フィルタリング強度の導出処理
……
i=0..xNのxDi及びj=0..yNのyDjについて、以下が適用される:
edgeFlags[xDi][yDj]が0に等しい場合、変数bS[xDi][yDj]は0に設定される;
その他の場合、以下が適用される:
サンプル値p0及びq0は以下のように導出される:
edgeTypeがEDGE_VERと等しい場合、p0はrecPicture[xCb+xDi-1][yCb+yDj]と等しく設定され、q0はrecPicture[xCb+xDi][yCb+yDj]と等しく設定される;
それ以外の場合(edgeTypeがEDGE_HORと等しい)、p0はrecPicture[xCb+xDi][yCb+yDj-1]と等しく設定され、q0はrecPicture[xCb+xDi][yCb+yDj]と等しく設定される;
変数bS[xDi][yDj]は、以下のように導出される:
cIdxが0に等しく、サンプルp0とq0の両方が1に等しいintra_bdpcm_luma_flagを有するコーディングブロック内にある場合、bS[xDi][yDj]は0に等しく設定される;
その他の場合、cIdxが0より大きく、サンプルp0とq0の両方が1に等しいintra_bdpcm_chroma_flagを有するコーディングブロック内にある場合、bS[xDi][yDj]は0に等しく設定される;
それ以外の場合、サンプルp0又はq0がイントラ予測モードでコーディングされたコーディングユニットのコーディングブロック内にある場合、bS[xDi][yDj]は2に等しく設定される;
その他の場合、ブロックエッジがコーディングブロックエッジでもあり、サンプルp0又はq0が1に等しいciip_flagを有するコーディングブロック内にある場合、bS[xDi][yDj]は2に等しく設定される;
その他の場合、ブロックエッジが変換ブロックエッジでもあり、サンプルp0又はq0が1つ以上の非ゼロ変換係数レベルを含む変換ブロック内にある場合、bS[xDi][yDj]は1に等しく設定される;
[[その他の場合、サンプルp0を含むコーディングサブブロックの予測モードがサンプルq0を含むコーディングサブブロックの予測モードと異なる場合(すなわち、コーディングサブブロックの1つがIBC予測モードでコーディングされ、もう1つはインター予測モードでコーディングされる)、bS[xDi][yDj]は1に等しく設定される。]]
それ以外の場合、cIdxが0に等しく、edgeFlags[xDi][yDj]が2に等しく設定され、次の条件の1つ以上がTRUEである場合、bS[xDi][yDj]は1に等しく設定される。
サンプルp0を含むコーディングサブブロックの予測には、サンプルq0を含むコーディングサブブロックの予測とは異なる参照ピクチャ又は異なる数の動きベクトルが使用される;
注1:2つのコーディングサブブロックに使用される参照ピクチャが同じか異なるかの判断は、参照ピクチャリスト0へのインデックス又は参照ピクチャリスト1へのインデックスを使用して予測が形成されるかどうかに関係なく、また参照ピクチャリスト内のインデックス位置が異なるかどうかにも関係なく、どのピクチャが参照されているかにのみ基づく。
注2:(xSb,ySb())をカバーする左上サンプルを持つコーディングサブブロックの予測に使用される動きベクトルの数は、PredFlagL0[xSb][ySb]+PredFlagL1[xSb][ySb]に等しくなる。
1つの動きベクトルがサンプルp0を含むコーディングサブブロックを予測するために使用され、1つの動きベクトルがサンプルq0を含むコーディングサブブロックを予測するために使用され、使用される動きベクトルの水平成分又は垂直成分の絶対差は1/16ルマサンプル単位で8以上である;
2つの動きベクトルと2つの異なる参照ピクチャがサンプルp0を含むコーディングサブブロックを予測するために使用され、同じ2つの参照ピクチャの2つの動きベクトルがサンプルq0を含むコーディングサブブロックを予測するために使用され、同じ参照ピクチャの2つのコーディングサブブロックの予測で使用される2つの動きベクトルの水平成分又は垂直成分の絶対差は1/16ルマサンプル単位で8以上である;
同じ参照ピクチャの2つの動きベクトルを使用してサンプルp0を含むコーディングサブブロックを予測し、同じ参照ピクチャの2つの動きベクトルを使用してサンプルq0を含むコーディングサブブロックを予測し、次の条件の両方がTRUEである:
2つのコーディングサブブロックの予測に使用されるリスト0の動きベクトルの水平成分又は垂直成分の絶対差が、1/16ルマサンプル単位で8以上であるか、又は2つのコーディングサブブロックの予測に使用されるリスト1の動きベクトルの水平成分又は垂直成分の絶対差が、1/16ルマサンプル単位で8以上である;
サンプルp0を含むコーディングサブブロックの予測で使用されるリスト0の動きベクトルの水平又は垂直成分とサンプルq0を含むコーディングサブブロックの予測で使用されるリスト1の動きベクトルの絶対差が1/16ルマサンプル単位で8以上、又はサンプルp0を含むコーディングサブブロックの予測で使用されるリスト1の動きベクトルの水平又は垂直成分とサンプルq0を含むコーディングサブブロックの予測で使用されるリスト0の動きベクトルの絶対差が1/16ルマサンプル単位で8以上である;
その他の場合、変数bS[xDi][yDj]は0に等しく設定される。
ビデオのビデオ領域とビデオ領域のコーディング表現との間の変換のために、ビデオ領域のクロマブロックサイズと色フォーマットとの間の関係を定義するシンタックスルールに従いコーディング表現をパースするステップ(1802)と、
シンタックスルールに従いパースするステップを実行することにより、変換を実行するステップ(1804)と、
を含む。
ビデオのビデオ領域と前記ビデオ領域のコーディング表現との間の変換のために、前記ビデオ領域のクロマブロックサイズと色フォーマットとの間の関係を定義するシンタックスルールに従い前記コーディング表現をパースするステップと、
前記シンタックスルールに従い前記パースするステップを実行することにより、前記変換を実行するステップと、
を含む方法。
前記決定したコーディングモードを使用して、前記ビデオのコーディング表現と前記コーディングツリーノードのビデオブロックとの間の変換を実行するステップと、
を含む、方法。
ルールに基づき、クロマブロックの特定のサイズがビデオのビデオ領域の中で許可されるかどうかを決定するステップと、
前記決定に基づき、前記ビデオ領域と前記ビデオ領域のコーディング表現との間の変換を実行するステップと、
を含む方法。
ビデオ条件についてコーディングモードの使用を許可するルールに基づき、コーディングモードがビデオ領域に許可されることを決定するステップと、
前記決定に基づき、前記ビデオ領域内のピクセルのコーディング表現と前記ビデオ領域のピクセルとの間の変換を実行するステップと、
を含む方法。
ルールに従い、ビデオ領域を含むビデオと前記ビデオのビットストリームとの間の変換を実行するステップ(2402)、を含み、
前記ルールは、パレットモードの実施可能性と前記ビデオ領域のコーディングタイプとの間の関係を指定する、方法。
ルールに従い、第1ビデオ領域及び第2ビデオ領域を含むビデオと、前記ビデオのビットストリームとの間の変換を実行するステップ(2412)、を含み、
前記ルールは、第1ブロックがイントラブロックコピーモードであり第2ブロックがパレットモードである場合に、前記ビデオのクロマ成分のデブロッキングフィルタの境界強度(bs)が0に設定されることを指定する、方法。
フォーマットルールに従い、ビデオと前記ビデオのビットストリームとの間の変換を実行するステップ(2422)を含み、
前記フォーマットルールは、前記ビデオの入力ビット深さに関連する変数が前記ビットストリームのプロファイルに従い制約されることを指定する、方法。
フォーマットルールに従い、ビデオと前記ビデオのビットストリームとの間の変換を実行するステップ(2432)を含み、
前記フォーマットルールは、最小許容量子化パラメータを示す変数が前記ビットストリームのプロファイルに従い制約されることを指定する、方法。
項1~19のいずれか一項に記載の方法を含み、非一時的コンピュータ可読記録媒体に前記ビットストリームを格納するステップを更に含む、方法。
本願は、国際特許出願番号第PCT/CN2020/084291号、2020年4月10日出願、の優先権及び利益を請求する国際特許出願番号第PCT/CN2021/086522号、2021年4月12日出願、に基づく。前述の特許出願の全ては、参照によりそれらの全体がここに組み込まれる。
Claims (24)
- ビデオ処理の方法であって、
ルールに従い、ビデオ領域を含むビデオと前記ビデオのビットストリームとの間の変換を実行するステップ、を含み、
前記ルールは、パレットモードの実施可能性と前記ビデオ領域のコーディングタイプとの間の関係を指定する、方法。 - 前記ルールは、前記コーディングタイプが、前記変換のためにイントラモード、パレットモード、及びイントラブロックコピーモードを許可するMODE_TYPEALL、又は前記変換のためにイントラモードの使用を許可するMODE_TYPE_INTRAである場合に、前記パレットモードが有効であると指定する、請求項1に記載の方法。
- 前記ルールは、前記コーディングタイプが、インターコーディングモードのみを許可するMODE_TYPE_INTERである場合に、前記パレットモードが常に無効であると指定する、請求項2に記載の方法。
- ビデオ処理の方法であって、
ルールに従い、第1ビデオ領域及び第2ビデオ領域を含むビデオと、前記ビデオのビットストリームとの間の変換を実行するステップ、を含み、
前記ルールは、第1ブロックがイントラブロックコピーモードであり第2ブロックがパレットモードである場合に、前記ビデオのクロマ成分のデブロッキングフィルタの境界強度(bs)が0に設定されることを指定する、方法。 - 前記ルールは、前記ビデオの中のクロマ成分に関連する変数が特定の値を有する場合に、前記境界強度が0に設定されることを更に指定する、請求項4に記載の方法。
- 前記特定の値は0に等しくない、請求項5に記載の方法。
- ビデオ処理の方法であって、
フォーマットルールに従い、ビデオと前記ビデオのビットストリームとの間の変換を実行するステップ、を含み、
前記フォーマットルールは、前記ビデオの入力ビット深さに関連する変数が前記ビットストリームのプロファイルに従い制約されることを指定する、方法。 - 前記変数はinternal_minus_input_bit_depthである、請求項7に記載の方法。
- 前記フォーマットルールは、10ビットプロファイルの場合に、前記変数が[0,2]の範囲内に制約されることを指定する、請求項7に記載の方法。
- 前記フォーマットルールは、8ビットプロファイルの場合に、前記変数が0に制約されることを指定する、請求項7に記載の方法。
- 前記フォーマットルールは、(K+8)ビットプロファイルの場合に、前記変数が[0,K]の範囲内に制約されることを指定し、Kは0より大きい整数である、請求項7に記載の方法。
- ビデオ処理の方法であって、
フォーマットルールに従い、ビデオと前記ビデオのビットストリームとの間の変換を実行するステップ、を含み、
前記フォーマットルールは、最小許容量子化パラメータを示す変数が前記ビットストリームのプロファイルに従い制約されることを指定する、方法。 - 前記変数はQpPrimeTsMinである、請求項12に記載の方法。
- 前記フォーマットルールは、10ビットプロファイルの場合に、(QpPrimeTsMin-4)/6が[0,2]の範囲内に制約されることを指定する、請求項13に記載の方法。
- 前記フォーマットルールは、8ビットプロファイルの場合に、(QpPrimeTsMin-4)/6が0に制約されることを指定する、請求項13に記載の方法。
- 前記フォーマットルールは、(K+8)ビットプロファイルの場合に、(QpPrimeTsMin-4)/6が[0,K]の範囲内に制約されることを指定し、Kは0より大きい整数である、請求項12に記載の方法。
- 前記変換は、前記ビデオを前記ビットストリームに符号化することを含む、請求項1~16のいずれかに記載の方法。
- 前記変換は、前記ビットストリームから前記ビデオを復号することを含む、請求項1~16のいずれかに記載の方法。
- 前記変換は、前記ビデオから前記ビットストリームを生成することを含み、前記方法は、前記ビットストリームを非一時的コンピュータ可読記録媒体に格納するステップを更に含む、請求項1~16のいずれかに記載の方法。
- 請求項1~19のうちの1つ以上に記載の方法を実施するよう構成されるプロセッサを含むビデオ処理機器。
- ビデオのビットストリームを格納する方法であって、
請求項1~19のいずれか一項に記載の方法を含み、非一時的コンピュータ可読記録媒体に前記ビットストリームを格納するステップを更に含む、方法。 - プログラムコードを記憶しているコンピュータ可読媒体であって、前記プログラムコードは、実行されると、プロセッサに請求項1~19のうちの1つ以上に記載の方法を実施させる、コンピュータ可読媒体。
- 請求項1~19、21のいずれかに記載の方法に従い生成されたビットストリームを格納しているコンピュータ可読媒体。
- ビットストリーム表現を格納するビデオ処理機器であって、前記ビデオ処理機器は、請求項1~19のうちの1つ以上に記載の方法を実施するよう構成されるビデオ処理機器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNPCT/CN2020/084291 | 2020-04-10 | ||
CN2020084291 | 2020-04-10 | ||
PCT/CN2021/086522 WO2021204295A1 (en) | 2020-04-10 | 2021-04-12 | Minimum allowed quantization for transform skip blocks in video coding |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023521119A true JP2023521119A (ja) | 2023-05-23 |
JP7442673B2 JP7442673B2 (ja) | 2024-03-04 |
Family
ID=78023822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022561403A Active JP7442673B2 (ja) | 2020-04-10 | 2021-04-12 | ビデオコーディングにおけるスキップブロックの変換のための最小許容量子化 |
Country Status (7)
Country | Link |
---|---|
US (2) | US20230099893A1 (ja) |
EP (1) | EP4118831A4 (ja) |
JP (1) | JP7442673B2 (ja) |
KR (1) | KR20220165277A (ja) |
CN (2) | CN115362681A (ja) |
BR (1) | BR112022020449A2 (ja) |
WO (1) | WO2021204295A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020228662A1 (en) * | 2019-05-11 | 2020-11-19 | Beijing Bytedance Network Technology Co., Ltd. | Boundary strength determination for deblocking filters in video processing |
US20230128313A1 (en) * | 2021-10-21 | 2023-04-27 | Tencent America LLC | Adaptive Resolution for Single-Reference Motion Vector Difference |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114501033B (zh) * | 2014-06-20 | 2023-11-10 | 寰发股份有限公司 | 用于视频编码的调色板预测器信令的方法 |
US20160234494A1 (en) * | 2015-02-10 | 2016-08-11 | Qualcomm Incorporated | Restriction on palette block size in video coding |
JP2021010046A (ja) * | 2017-10-06 | 2021-01-28 | シャープ株式会社 | 画像符号化装置及び画像復号装置 |
BR122021012456B1 (pt) * | 2019-01-15 | 2022-03-22 | Lg Electronics Inc | Método de decodificação de uma imagem realizado por um aparelho de decodificação, método de codificação de uma imagem realizado por um aparelho de codificação, aparelho de decodificação para decodificação de imagem, aparelho de codificação para codificação de imagem e mídia de armazenamento digital legível por computador não transitória |
CN110381311B (zh) * | 2019-07-01 | 2023-06-30 | 腾讯科技(深圳)有限公司 | 视频帧的编码方法、装置、计算机可读介质及电子设备 |
CN114556931B (zh) * | 2019-08-26 | 2023-08-08 | Lg电子株式会社 | 基于调色板模式的图像或视频编码 |
US20220286700A1 (en) * | 2019-08-26 | 2022-09-08 | Lg Electronics Inc. | Image or video coding based on palette escape coding |
WO2021060847A1 (ko) * | 2019-09-25 | 2021-04-01 | 엘지전자 주식회사 | 컬러 포맷에 기반하여 분할 모드를 결정하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 |
US11930208B2 (en) * | 2020-01-10 | 2024-03-12 | Tencent America LLC | Method and apparatus for signaling skip mode flag |
CN114930841A (zh) * | 2020-01-10 | 2022-08-19 | Lg 电子株式会社 | 用于亮度分量和色度分量的基于bdpcm的图像解码方法及其装置 |
KR20220110834A (ko) * | 2020-01-10 | 2022-08-09 | 엘지전자 주식회사 | 영상 디코딩 방법 및 그 장치 |
US11184632B2 (en) * | 2020-01-20 | 2021-11-23 | Tencent America LLC | Method and apparatus for palette based coding mode under local dual tree structure |
-
2021
- 2021-04-12 KR KR1020227039256A patent/KR20220165277A/ko unknown
- 2021-04-12 EP EP21783962.0A patent/EP4118831A4/en active Pending
- 2021-04-12 CN CN202180027687.6A patent/CN115362681A/zh active Pending
- 2021-04-12 WO PCT/CN2021/086522 patent/WO2021204295A1/en unknown
- 2021-04-12 JP JP2022561403A patent/JP7442673B2/ja active Active
- 2021-04-12 BR BR112022020449A patent/BR112022020449A2/pt unknown
- 2021-04-12 CN CN202311545252.8A patent/CN117939155A/zh active Pending
-
2022
- 2022-10-10 US US17/962,861 patent/US20230099893A1/en active Granted
-
2023
- 2023-10-12 US US18/485,513 patent/US20240056580A1/en active Pending
Non-Patent Citations (1)
Title |
---|
BENJAMIN BROSS, JIANLE CHEN, SHAN LIU, AND YE-KUI WANG: "Versatile Video Coding (Draft 8)", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-Q2001 (version 14), JPN6023036720, 12 March 2020 (2020-03-12), pages 25 - 40, ISSN: 0005150970 * |
Also Published As
Publication number | Publication date |
---|---|
US20230099893A1 (en) | 2023-03-30 |
KR20220165277A (ko) | 2022-12-14 |
EP4118831A4 (en) | 2023-12-27 |
EP4118831A1 (en) | 2023-01-18 |
BR112022020449A2 (pt) | 2022-11-29 |
US20240056580A1 (en) | 2024-02-15 |
CN115362681A (zh) | 2022-11-18 |
CN117939155A (zh) | 2024-04-26 |
WO2021204295A1 (en) | 2021-10-14 |
JP7442673B2 (ja) | 2024-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102601022B1 (ko) | 색상 포맷에 기초한 비디오 영역 분할 | |
CN114208174B (zh) | 预测过程中的调色板模式编解码 | |
JP7288084B2 (ja) | 変換スキップモードにおける信号通知 | |
JP7288083B2 (ja) | 符号化ツリー構造タイプに基づく符号化モード | |
JP7460738B2 (ja) | パレットモードの使用の指示の独立した符号化 | |
JP7332795B2 (ja) | クロマ・イントラモードのベースとなるサイズ制約 | |
US20240056580A1 (en) | Minimum Allowed Quantization For Transform Skip Blocks In Video Coding | |
JP7223156B2 (ja) | パレットモードの使用の指示の共同符号化 | |
CN113892267A (zh) | 使用编解码树结构类型控制编解码模式 | |
JP7581447B2 (ja) | クロマ・イントラモードのベースとなるサイズ制約 | |
RU2827859C2 (ru) | Ограничение размера на основе цветового формата |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221017 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221017 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230912 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231212 |
|
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: 20240123 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240220 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7442673 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |