Nothing Special   »   [go: up one dir, main page]

JP2023521119A - ビデオコーディングにおけるスキップブロックの変換のための最小許容量子化 - Google Patents

ビデオコーディングにおけるスキップブロックの変換のための最小許容量子化 Download PDF

Info

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
Application number
JP2022561403A
Other languages
English (en)
Other versions
JP7442673B2 (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 JP2023521119A publication Critical patent/JP2023521119A/ja
Application granted granted Critical
Publication of JP7442673B2 publication Critical patent/JP7442673B2/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/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/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/42Methods 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
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

ビデオ処理の方法は、ルールに従い、ビデオ領域を含むビデオと前記ビデオのビットストリームとの間の変換を実行するステップ、を含み、前記ルールは、パレットモードの実施可能性と前記ビデオ領域のコーディングタイプとの間の関係を指定実行するステップを含む。前記ビデオ領域は、前記ビデオのコーディングブロックを表してよい。

Description

[関連出願]
パリ条約に従う適用可能な特許法及び/又はルールの下で、本願は、国際特許出願番号第PCT/CN2020/084291号、2020年4月10日出願、の優先権及び利益を請求するために適時に出願された。法の下であらゆる目的のために、前述の出願の全ての開示は、参照により本願の開示の部分として組み込まれる。
[技術分野]
本願明細書は、ビデオ及び画像コーディング及び復号技術に関する。
デジタルビデオは、インターネット及び他のデジタル通信ネットワーク上で最大の帯域幅使用を占める。ビデオを受信及び表示可能な接続されたユーザ装置の数が増加するにつれ、デジタルビデオ使用のための帯域幅要求は増大し続けることが予想される。
開示の技術は、ビデオコーディング又は復号で参照ピクチャが使用されるビデオ又は画像デコーダ又はエンコーダの実施形態により使用されてよい。
1つの例示的な態様では、ビデオ処理の方法が開示される。前記方法は、
ビデオのビデオ領域と前記ビデオ領域のコーディング表現との間の変換のために、前記ビデオ領域のクロマブロックサイズと色フォーマットとの間の関係を定義するシンタックスルールに従い前記コーディング表現をパースするステップと、
前記シンタックスルールに従い前記パースするステップを実行することにより、前記変換を実行するステップと、
を含む。
別の例示的な態様では、ビデオ処理の別の方法が開示される。前記方法は、ビデオのプロパティ及び前記ビデオのクロマフォーマットに基づき、前記ビデオのコーディングツリーノードのコーディングモードを決定するステップと、
前記決定したコーディングモードを使用して、前記ビデオのコーディング表現と前記コーディングツリーノードのビデオブロックとの間の変換を実行するステップと、
を含む。
更に別の例示的な態様では、ビデオ処理の別の方法が開示される。前記方法は、
ルールに基づき、クロマブロックの特定のサイズがビデオのビデオ領域の中で許可されるかどうかを決定するステップと、
前記決定に基づき、前記ビデオ領域と前記ビデオ領域のコーディング表現との間の変換を実行するステップと、
を含む。
更に別の例示的な態様では、ビデオ処理の別の方法が開示される。前記方法は、
ビデオ条件についてコーディングモードの使用を許可するルールに基づき、コーディングモードがビデオ領域に許可されることを決定するステップと、
前記決定に基づき、前記ビデオ領域内のピクセルのコーディング表現と前記ビデオ領域のピクセルとの間の変換を実行するステップと、
を含む。
更に別の例示的な態様では、ビデオ処理の別の方法が開示される。前記方法は、ビデオコーディングモードを用いて、ビデオのビデオブロックと前記ビデオブロックのコーディング表現との間の変換を実行するステップであって、前記コーディングモードをシグナリングするシンタックス要素は、ルールの基づき前記コーディング表現に選択的に含まれる、ステップを含む。
更に別の例示的な態様では、ビデオ処理の別の方法が開示される。前記方法は、クロマブロックが閾値サイズより小さいサイズを有することにより、前記クロマブロックと前記クロマブロックのコーディング表現との間の変換中に使用される変換タイプが、対応するルマ変換に使用される変換タイプと異なると決定するステップと、前記決定に基づき前記変換を実行するステップと、を含む。
更に別の例示的な態様では、ビデオ処理の別の方法が開示される。前記方法は、最小クロマブロックルールが、ビデオ領域のコーディング表現と前記ビデオ領域のピクセル値との間の変換中に施行されるかどうかを、前記ビデオ領域のコーディング条件に基づき決定するステップと、前記決定に基づき前記変換を実行するステップと、を含む。
更に別の例示的な態様では、ビデオ処理の別の方法が開示される。前記方法は、4:2:2フォーマットのビデオ領域のコーディング表現と前記ビデオ領域のピクセル値との間の変換のために、最小クロマブロックルールが前記ビデオ領域について有効であるかどうかに基づき、前記変換に使用されるべきモードタイプを決定するステップと、前記決定に基づき前記変換を実行するステップと、を含む。
更に別の例示的な態様では、ビデオ処理の別の方法が開示される。前記方法は、ビデオブロックのコーディング表現とビデオのビデオブロックとの間の変換のために、前記変換の間に使用されるモードタイプ又は前記ビデオブロックの寸法に基づき、ブロックパーティションが前記変換中に許可されるかどうかを決定するステップと、前記決定を用いて前記変換を実行するステップと、を含む。
更に別の例示的な態様では、ビデオ処理の別の方法が開示される。前記方法は、ビデオのビデオセグメントのコーディング表現と前記ビデオセグメントとの間の変換のために、サイズM×Nのクロマブロックについて特別処理モードを適用することを決定するステップであって、M×Nは整数である、ステップと、前記決定に基づき前記変換を実行するステップと、を含む。
別の例示的な態様では、ビデオ処理の別の方法が開示される。前記方法は、ルールに従い、ビデオ領域を含むビデオと前記ビデオのビットストリームとの間の変換を実行するステップ、を含み、
前記ルールは、パレットモードの実施可能性と前記ビデオ領域のコーディングタイプとの間の関係を指定実行するステップを含む。
別の例示的な態様では、ビデオ処理の別の方法が開示される。前記方法は、
ルールに従い、第1ビデオ領域及び第2ビデオ領域を含むビデオと、前記ビデオのビットストリームとの間の変換を実行するステップ、を含み、
前記ルールは、第1ブロックがイントラブロックコピーモードであり第2ブロックがパレットモードである場合に、前記ビデオのクロマ成分のデブロッキングフィルタの境界強度(bs)が0に設定されることを指定する。
別の例示的な態様では、ビデオ処理の別の方法が開示される。前記方法は、
フォーマットルールに従い、ビデオと前記ビデオのビットストリームとの間の変換を実行するステップ、を含み、
前記フォーマットルールは、前記ビデオの入力ビット深さに関連する変数が前記ビットストリームのプロファイルに従い制約されることを指定する。
別の例示的な態様では、ビデオ処理の別の方法が開示される。前記方法は、
フォーマットルールに従い、ビデオと前記ビデオのビットストリームとの間の変換を実行するステップ、を含み、
前記フォーマットルールは、最小許容量子化パラメータを示す変数が前記ビットストリームのプロファイルに従い制約されることを指定する。
更に別の例示的な態様では、上述の方法は、プロセッサを含むビデオエンコーダ機器により実施されてよい。
更に別の例示的な態様では、上述の方法は、プロセッサを含むビデオデコーダ機器により実施されてよい。
更に別の例示的な態様では、これらの方法は、プロセッサ実行可能命令の形式で具現命令され、コンピュータ可読プログラム媒体に格納されてよい。
これら及び他の態様は、本願明細書において更に記載される。
イントラブロックコピーコーディングツールの例を示す。
パレットモードでコーディングされたブロックの例を示す。
パレットエントリをシグナリングするためにパレット予測子を使用する例を示す。
平及び垂直トラバーススキャンの例のうちの一例を示す。
パレットインデックスのコーディングの例を示す。
67個のイントラ予測モードの例示す。
現在ブロックの左及び上の近隣の例を示す。
ALFフィルタ形状の例を示す(クロマ:5×5ダイヤモンド形、ルマ:7×7ダイヤモンド形)。
サブサンプリングされたラプラシアン計算の例を示す。
仮想境界における変更されたブロック分類の例を示す。
仮想境界におけるルマ成分の変更されたALFフィルタリングの例示的な図である。
EOにおけるピクセル分類のための4つの1次元3ピクセルパターンの例を示す。
4つのバンドがグループ化され、その開始バンド位置によって表されている。
CIIP重み導出で使用される上及び左近隣ブロックである。
クロマスケーリングアーキテクチャによるルママッピングを示す。
SCIPUの例を示す。
本願明細書に記載される技術を実施するために使用されるハードウェアプラットフォームの例のブロック図を示す。 本願明細書に記載される技術を実施するために使用されるハードウェアプラットフォームの例のブロック図を示す。
ビデオ処理の例示的な方法のフローチャートである。
空間マージ候補の位置の例を示す。
空間マージ候補の冗長性チェックのために検討される候補ペアの例を示す。
例示的なビデオコーディングシステムを示すブロック図である。
開示の技術の幾つかの実施形態によるエンコーダを示すブロック図である。
開示の技術の幾つかの実施形態によるデコーダを示すブロック図である。
開示の技術の幾つかの実施形態によるビデオ処理の例示的な方法のフローチャートである。 開示の技術の幾つかの実施形態によるビデオ処理の例示的な方法のフローチャートである。 開示の技術の幾つかの実施形態によるビデオ処理の例示的な方法のフローチャートである。 開示の技術の幾つかの実施形態によるビデオ処理の例示的な方法のフローチャートである。
本願明細書は、伸長又は復号デジタルビデオ又は画像の品質を向上するために画像又はビデオビットストリームのデコーダにより使用できる種々の技術を提供する。簡単のために、用語「ビデオ」は、本願明細書で、ピクチャのシーケンス(伝統的にビデオと呼ばれる)及び個々の画像の両方を含むために使用される。更に、ビデオエンコーダも、更なる符号化のために使用される復号フレームを再構成するために、符号化の処理の間に、これらの技術を実施してよい。
章見出しは、本願明細書において理解を容易にするために使用され、実施形態及び技術を対応する章に限定するものではない。従って、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規格を策定した。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))が作成された。
VVC規格ドラフトの最新バージョン、つまりVersatile Video Coding (Draft 4)は、
http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=5755
VTMと呼ばれるVVCの最新の参照ソフトウェアは、以下において見ることができる:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-5.0
2.1 イントラブロックコピー(Intra Block Copy)
イントラブロックコピー(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ビデオコーディング標準では、インタービュー参照ピクチャも「長期」参照ピクチャとしてマークされることに留意する。
BVに従ってその参照ブロックを見つけると、参照ブロックをコピーすることによって予測を生成できる。元の信号から参照ピクセルを減算することにより、残差を求めることができる。その後、他のコーディングモードと同様に変換と量子化を適用できる。
図1はイントラブロックコピーの図である。
ただし、参照ブロックがピクチャの外側にある場合、又は現在ブロックと重なっている場合、又は再構成された領域の外側にある場合、又は幾つかの制約によって制限された有効領域の外側にある場合は、一部又は全部のピクセル値は定義されない。基本的に、このような問題に対処する方法は2つある。1つは、例えばビットストリーム準拠において、そのような状況を許可しないことである。もう1つは、これらの未定義のピクセル値にパディングを適用することである。以下の節は、前述のソリューションを詳細に説明する。
2.2 HEVC画面コンテンツコーディング拡張におけるIBC
HEVCの画面コンテンツコーディング拡張では、ブロックが現在ピクチャを参照として使用する場合、以下の標準の文書に示されているように、参照ブロック全体が使用可能な再構成領域内にあることを保証する必要がある。変数offsetX及びoffsetYは、以下のように導出される:
Figure 2023521119000002
参照ピクチャが現在ピクチャである場合、ルマ動きベクトルmvLXが以下の制約に従う必要があることが、ビットストリーム準拠の要件である:
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であるべきである:
Figure 2023521119000003
したがって、参照ブロックが現在ブロックと重なったり、又は参照ブロックがピクチャの外側にある場合は発生しない。参照ブロックや予測ブロックをパディングする必要はない。
2.3 VVCテストモデルにおけるIBC
現在のVVCテストモデル、すなわちVTM-4.0設計では、参照ブロック全体は現在のコーディングツリーユニット(coding tree unit (CTU))を有する必要があり、現在ブロックと重複してはならない。従って、参照ブロックや予測ブロックをパディングする必要はない。IBCフラグは、現在のCUの予測モードとしてコーディングされる。したがって、予測モードには、CUごとにMODE_INTRA、MODE_INTER、MODE_IBCの合計3つがある。
2.3.1 IBCマージモード
IBCマージモードでは、IBCマージ候補リスト内のエントリを指すインデックスがビットストリームからパースされる。IBCマージリストの構成は、以下のステップシーケンスに従い纏めることができる。
ステップ1:空間候補の導出;
ステップ2:HMVP候補の挿入;
ステップ3:ペアワイズ平均候補の挿入。
空間マージ候補の導出では、最大で4個のマージ候補が、図19に示す位置にある候補の中から選択される。導出の順序は、A、B、B、A、及びBである。位置Bは、位置A、B、B、AのいずれかのPUが(例えば、それが別のスライス又はタイルに属するために)利用可能ではない又はIBCモードでコーディングされないときにのみ考慮される。位置Aにある候補が追加された後、残りの候補の挿入は、冗長性チェックを受ける。これは、同じ動き情報を有する候補がリストから排除されることを保証し、その結果、コーディング効率が向上する。計算の複雑さを低減するために、言及された冗長性チェックでは、必ずしも全部の可能な候補ペアが考慮されない。代わりに、図20の矢印によりリンクされたペアのみが考慮され、冗長性チェックのために使用される対応する候補が同じ動き情報を有しない場合に、候補がリストに追加されるだけである。
空間候補の挿入後も、IBCマージリストサイズが最大IBCマージリストサイズより小さい場合は、HMVPテーブルからのIBC候補を挿入できる。冗長性チェックは、HMVP候補を挿入するときに実行される。
最後に、ペア平均候補がIBCマージリストに挿入される。
マージ候補により識別された参照ブロックがピクチャの外側にある場合、又は現在ブロックと重なっている場合、又は再構成された領域の外側にある場合、又は幾つかの制約によって制限された有効領域の外側にある場合は、マージ候補は無効なマージ候補と呼ばれる。
無効なマージ候補がIBCマージリストに挿入されてよいことに留意する。
2.3.2 IBC AMVPモード
IBC AMVPモードでは、IBC AMVPリスト内のエントリを指すAMVPインデックスがビットストリームからパースされる。IBC AMVPリストの構成は、以下のステップシーケンスに従い纏めることができる。
ステップ1:空間候補の導出
利用可能な候補が見つかるまで、A、Aをチェックする;
利用可能な候補が見つかるまで、B0、B1、Bをチェックする;
ステップ2:HMVP候補の挿入
ステップ3:ゼロ候補の挿入
空間候補の挿入後も、IBCAMVPリストサイズが最大IBCAMVPリストサイズより小さい場合は、HMVPテーブルからのIBC候補を挿入できる。
最後に、ゼロ候補がIBCAMVPリストに挿入される。
2.4 パレットモード
パレットモードの裏にある基本的思想は、CU内のサンプルが代表色値の小さなセットにより表現されることである。このセットは、パレットと呼ばれる。そして、エスケープシンボル及びそれに続く(場合によっては量子化された)コンポーネント値をシグナリングすることにより、パレットの外側にあるサンプルを示すことが可能である。この種のサンプルは、エスケープピクセルと呼ばれる。パレットモードは、図2に示される。
図2は、パレットモードでコーディングされたブロックの例を示す。
2.5 HEVCスクリーンコンテンツコーディング拡張(HEVC screen content coding extension (HEVC-SCC)におけるパレットモード
HEVC-SCCにおけるパレットモードでは、予測方法を使用してパレットとインデックスマップをコーディングする。
2.5.1 パレットエントリのコーディング
パレットエントリのコーディングでは、パレット予測子が維持される。パレットの最大サイズ及びパレット予測子は、SPS内でシグナリングされる。HEVC-SCCでは、palette_predictor_initializer_present_flagがPPSに導入される。このフラグが1のとき、パレット予測子を初期化するためのエントリは、ビットストリーム内でシグナリングされる。パレット予測子は、各CTU行、各スライス及び各タイルの始めに初期化される。palette_predictor_initializer_present_flagの値に依存して、パレット予測子は0にリセットされるか、又はPPS内でシグナリングされたパレット予測子初期化子エントリを用いて初期化される。HEVC-SCCでは、サイズ0のパレット予測子初期化子は、PPSレベルのパレット予測子初期化の明示的な無効化を可能にするために有効にされた。
パレット予測子内の各エントリについて、現在パレットの部分であるかどうかを示す再使用フラグがシグナリングされる。これは、図3に示される。再使用フラグは、0のランレングスコーディングを用いて送信される。この後に、新しいパレットエントリの数が、0次の指数ゴロム(Exponential Golomb)コードを用いてシグナリングされる。最後に、新しいパレットエントリの成分値がシグナリングされる。
図3は、パレットエントリをシグナリングするためにパレット予測子を使用する例を示す。
2.5.2 パレットインデックスのコーディング
パレットインデックスは、図4に示す水平及び垂直トラバーススキャンを用いてコーディングされる。スキャン順序は、palette_transpose_flagを用いてビットストリーム内で明示的にシグナリングされる。この節の残りの部分では、スキャンが水平方向であると仮定する。
図4は、水平及び垂直トラバーススキャンの例を示す。
パレットインデックスは、2つの主なパレットサンプルモード:「INDEX」及び「COPY_ABOVE」を用いてコーディングされる。前述のように、エスケープシンボルは「INDEX」モードとしてもシグナリングされ、最大パレットサイズに等しいインデックスが割り当てられる。一番上の行を除き、又は直前のモードが「COPY_ABOVE」であった場合、モードはフラグを使用してシグナリングされる。「COPY_ABOVE」モードでは、上の行のサンプルのパレットインデックスがコピーされる。「INDEX」モードでは、パレットインデックスは明示的にシグナリングされる。「INDEX」及び「COPY_ABOVE」モードの両方について、同じモードを用いてコーディングされる後のサンプルの数を指定する実行値がシグナリングされる。エスケープシンボルが「INDEX」又は「COPY_ABOVE」モードの実行の部分であるとき、エスケープシンボル毎にエスケープ成分値がシグナリングされる。パレットインデックスのコーディングは、図5に示される。
このシンタックス順序は、以下のように達成される。第1に、CUのインデックス値の数がシグナリングされる。この後に、トランケート2値コーディングを用いてCU全体の実際のインデックス値のシグナリングが続く。バイパスモードでは、インデックスの数、及びインデックス値の両方がコーディングされる。これは、インデックス関連バイパスビンを一緒にグループ化する。次に、パレットサンプルモード(必要な場合)及び実行が、インタリーブ方法でシグナリングされる。最後に、CU全体のエスケープサンプルに対応する成分エスケープ値が一緒にグループ化され、バイパスモードでコーディングされる。
追加のシンタックス要素last_run_type_flagは、インデックス値をシグナリングした後にシグナリングされる。このシンタックス要素は、インデックスの数と組合せて、ブロック内の最後の実行に対応する実効値をシグナリングする必要を除去する。
HEVC-SCCでは、パレットモードは、4:2:2、4:2:0、及びモノクロクロマフォーマットについても有効にされる。パレットエントリ及びパレットインデックスのシグナリングは、全てのクロマフォーマットついてほぼ同一である。非モノクロフォーマットの場合、各パレットエントリは3つの成分で構成される。モノクロフォーマットでは、各パレットエントリは、単一成分で構成される。サブサンプリングされたクロマ方向について、クロマサンプルは、2で割り切れるルマサンプルインデックスに関連付けられる。CUについてパレットインデックスを再構成した後に、サンプルがそれに関連付けられた単一成分のみを有する場合、パレットエントリの第1成分のみが使用される。シグナリングにおける相違は、エスケープ成分値についてのみである。各エスケープサンプルについて、シグナリングされるエスケープ成分値の数は、そのサンプルに関連付けられた成分の数に依存して異なってよい。
VVCでは、イントラスライスのコーディングにデュアルツリーコーディング構造が使用されるため、ルマ成分と2つのクロマ成分が異なるパレットとパレットインデックスを有する場合がある。さらに、2つのクロマ成分は同じパレットとパレットインデックスを共有する。
図5は、パレットインデックスのコーディングの例を示す。
2.6 VVCにおけるイントラモードコーディング
自然なビデオに存在する任意のエッジ方向をキャプチャするために、VTM5における方向イントラモードの数は、HEVCにおける33から、65にまで拡張された。HEVCに存在しない新しい方向モードは、図6の赤点線矢印で示され、平面及びDCモードは同じままである。これらのより高密度の方向イントラ予測モードは、全てのブロックサイズに、及びルマ及びクロマイントラ予測の両方に適用される。
VTM5では、幾つかの従来の角度イントラ予測モードは非正方形ブロックのための広角イントラ予測モードにより適応して置き換えられてよい。
HEVCでは、すべてのイントラコーディングブロックは正方形をしており、その各辺の長さは2の累乗である。したがって、DCモードを使用してイントラ予測子を生成するために分割操作は必要ない。VTM5では、一般的な場合、ブロックは、ブロックごとに分割操作を使用する必要がある長方形を有することができる。DC予測のための分割操作を回避するために、より長い辺のみが、非正方形ブロックについて平均を計算するために使用される。
図6は、67個のイントラ予測モードの例示す。
最確モード(most probable mode (MPM))リスト生成の複雑さを低く保つために、2つの使用可能な近隣イントラモードを考慮して、6MPMのイントラモードコーディング方法が使用される。MPMリストを構成するには、次の3つの側面を考慮する:
デフォルトイントラモード、
近隣イントラモード、
導出されたイントラモード。
統合6PMPリストは、MRLやISPのコーディングツールが適用されているかどうかに関係なく、イントラブロックのために使用される。MPMリストは、左及び上の隣接ブロックのイントラモードに基づいて構築される。左ブロックのモードがLeftとして示され、上ブロックのモードがAboveとして示されるとすると、統合MPMリストは次のように構成される(左と上のブロックは図7に示される)。
図7は、現在ブロックの左及び上の近隣の例である。
近隣ブロックが使用できない場合、そのイントラモードはデフォルトで平面(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}
更に、mpmインデックスコードワードの最初のビンは、CABACコンテキストコーディングされる。現在イントラブロックがMRL対応か、ISP対応か、通常のイントラブロックかに応じて、合計3つのコンテキストが使用される。
6MPMリスト生成処理の間、重複するモードを削除するためにプルーニングが使用され、一意のモードのみをMPMリストに含めることができる。61個の非MPMモードのエントロピーコーディングでは、トランケートバイナリコード(Truncated Binary Code (TBC))が使用される。
クロマイントラモードコーディングでは、クロマイントラモードコーディングのために、全部で8個のイントラモードが許可される。それらのモードは、5個の伝統的なイントラモード及び3個のクロスコンポーネント線形モデルモード(CCLM、LM_A、及びLM_L)を含む。クロマモードシグナリングと導出処理を表2に示す。クロマモードコーディングは、対応するルマブロックのイントラ予測モードに直接依存する。Iスライスではルマ及びクロマ成分の別個のブロックパーティション構造が可能なので、1つのクロマブロックが複数のルマブロックに対応してよい。従って、クロマDMモードでは、現在クロマブロックの中央位置をカバーする対応するルマブロックのイントラ予測モードが直接継承される。
Figure 2023521119000004
2.7 量子化残差ブロック差分パルス符号変調(Quantized residual Block Differential Pulse-code Modulation (QR-BDPCM))
JVET-M0413では、画面コンテンツを効率的にコーディングするために、量子化残差ブロック差分パルス符号変調(QR-BDPCM)が提案されている。
QR-BDPCMで使用される予測方向には、垂直予測モードと水平予測モードがある。イントラ予測は、イントラ予測と同様に予測方向(水平予測又は垂直予測)でサンプルをコピーすることによって、ブロック全体に対して行われる。残差は量子化され、量子化された残差とその予測子(水平又は垂直)量子化値の間のデルタ(差分)がコーディングされる。これは、以下のように説明できる。サイズM(行)×N(列)のブロックについて、上又は左ブロック境界サンプルからのフィルタリングされていないサンプルを使用して、水平方向に(ライン毎に予測ブロックに渡り左近隣ピクセル値をコピーする)又は垂直方向に(一番上の近隣ラインを予測ブロック内の各ラインにコピーする)イントラ予測を実行した後の予測残差をri,j,0≦i≦M-1,0≦j≦N-1とする。Q(ri,j)、0≦i≦M-1,0≦j≦N-1が残差ri,jの量子化バージョンを表すとする。ここで、残差は元のブロックの値と予測ブロックの値の差である。次に、量子化された残差サンプルにブロックDPCMを適用し、要素:
Figure 2023521119000005
を持つ修正M×Nアレイ:
Figure 2023521119000006
を得る。垂直BDPCMがシグナリングされる場合は、
Figure 2023521119000007
水平予測では、同様のルールが適用され、残差量子化サンプルは次式により得られる:
Figure 2023521119000008
残差量子化サンプル:
Figure 2023521119000009
はデコーダへ送信される。
デコーダ側では、上述の逆の計算が行われ、Q(ri,j),0≦i≦M-1,0≦j≦N-1を生成する。
Figure 2023521119000010
逆量子化残差Q-1(Q(r(i,j))がイントラブロック予測値に加算され、再構成サンプル値を生成する。
この方式の主な利点は、逆DPCMが、係数をパースする間に、係数がパースされるとき予測子を単に追加して、オンザフライで行うことができること、又は解析後に実行できることである。
2.8 適応ループフィルタ(Adaptive Loop Filter (ALF))
VTM5では、ブロックベースのフィルタ適応による適応ループフィルタ(ALF)が適用される。ルマ成分について、局所的な勾配の方向と活性度(activity)に基づいて、4×4ブロックごとに25個のフィルタのうちの1つが選択される。
2.8.1.1 フィルタ形状
VTM5では、(図8に示すような)2つのダイヤモンド形フィルタ形状を採用している。ルマ成分には7×7のダイヤモンド形が適用され、クロマ成分には5×5のダイヤモンド形が適用される。
図8は、ALFフィルタ形状の例を示す(クロマ:5×5ダイヤモンド形、ルマ:7×7ダイヤモンド形)。
2.8.1.2 ブロック分類
ルマ成分について、各4×4ブロックは、25個のクラスのうちの1つに分類される。分類インデックスCは、その方向性D及び活性度の量子化された値:
Figure 2023521119000011
に基づき、以下のように導き出される:
Figure 2023521119000012
D及び
Figure 2023521119000013
を計算するために、先ず、水平、垂直、及び2つの対角方向の勾配が以下の1Dラプラシアンを用いて計算される。
Figure 2023521119000014
ここで、インデックスiとjは4x4ブロック内の左上のサンプルの座標を表し、R(i,j)は座標(i,j)にある再構成サンプルを示す。
ブロック分類の複雑さを軽減するために、サブサンプリングされた1Dラプラシアン計算が適用される。図9に示すように、すべての方向の勾配計算に同じサブサンプリング位置が使用される。
図9は、サブサンプリングされたラプラシアン計算の例を示す。(a)垂直勾配用のサブサンプリング位置、(b)水平勾配用のサブサンプリング位置、(c)対角勾配用のサブサンプリング位置、(d)対角勾配用のサブサンプリング位置。
次に、水平方向と垂直方向の勾配のD最大値と最小値を以下のように設定する:
Figure 2023521119000015
2つの対角方向の勾配の最大値と最小値を以下のように設定する:
Figure 2023521119000016
方向Dの値を導出するために、これらの値を互いに及び2つの閾値tとtと比較する:
Figure 2023521119000017
活性度値Aは、以下のように計算される:
Figure 2023521119000018
Aは、両端を含む0から4までの範囲でさらに量子化され、量子化された値は以下のように表される:
Figure 2023521119000019
ピクチャ内のクロマ成分については、分類方法は適用されず、クロマ成分ごとに1組のALF係数が適用される。
2.8.1.3 フィルタ係数とクリッピング値の幾何変換
各4×4ルマブロックをフィルタリングする前に、そのブロックに対して計算された勾配値に応じて、フィルタ係数f(k,l)及び対応するフィルタクリッピング値c(k,l)に対して、回転又は対角、及び垂直フリッピングなどの幾何変換が適用される。これは、これらの変換をフィルタサポート領域内のサンプルに適用することと同じである。これは、ALFが適用される異なるブロックの方向性を揃えることによって、それらのブロックをより類似させることを目的としている。
対角、垂直フリップ、及び回転を含む3つの幾何変換が導入される:
Figure 2023521119000020
ここで、Kはフィルタのサイズであり、0≦k,l≦K-1は係数座標であり、位置(0,0)は左上角であり、位置(K-1,K-1)は右下角である。変換は、そのブロックに対して計算された勾配値に応じて、フィルタ係数f(k,l)に、及びクリッピング値c(k,l)に適用される。変換と4方向の4つの勾配との関係を次の表に纏める。
Figure 2023521119000021
2.8.1.4 フィルタパラメータシグナリング
VTM5では、ALFフィルタパラメータは適応パラメータセット(Adaptation Parameter Set (APS))でシグナリングされる。1つのAPSで、最大25セットのルマフィルタ係数とクリッピング値インデックス、及び最大1セットのクロマフィルタ係数とクリッピング値インデックスをシグナリングできる。ビットオーバヘッドを削減するために、異なる分類のフィルタ係数をマージできる。スライスヘッダでは、現在のスライスに使用されるAPSのインデックスがシグナリングされる。
クリッピング値インデックスはAPSから復号され、クリッピング値のルマテーブルとクリッピング値のクロマテーブルを使用してクリッピング値を決定できる。これらのクリッピング値は内部ビット深さに依存する。より正確には、クリッピング値のルマテーブルとクリッピング値のクロマテーブルは以下の式により求められる:
Figure 2023521119000022
Bは内部ビット深さに等しく、NはVTM5.0で許容されるクリッピング値の数である4に等しい。
フィルタリング処理はCTBレベルで制御できる。ALFがルマCTBに適用されているかどうかを示すフラグが常にシグナリングされる。ルマCTBは、16の固定フィルタセットとAPSからのフィルタセットの中からフィルタセットを選択できる。どのフィルタセットが適用されているかを示すために、ルマCTBに対してフィルタセットインデックスがシグナリングされる。16個の固定フィルタセットは、エンコーダとデコーダの両方で事前に定義され、ハードコーディングされている。
フィルタ係数は128に等しいノルムで量子化される。乗算の複雑さを制限するために、非中央位置の係数値が両端を含む-2から2-1の範囲になるようにビットストリーム適合性が適用される。中央位置係数は、ビットストリーム内でシグナリングされず、128に等しいと見なされる。
2.8.1.5 フィルタリング処理
デコーダ側では、CTBに対してALFが有効であるとき、CU内の各サンプルR(i,j)がフィルタリングされ、結果として次のようにサンプル値R'(i,j)をもたらす:
Figure 2023521119000023
ここで、f(k,l)は復号されたフィルタ係数を表し、K(x,y)はクリッピング関数であり、c(k,l)は復号されたクリッピングパラメータを表す。変数kとlは、-L/2とL/2の間で変化し、Lはフィルタ長を示す。関数Clip3(-y,y,x)に対応するクリッピング関数K(x,y)=min(y,max(-y,x))。
2.8.1.6 ラインバッファ削減のための仮想境界フィルタリング処理
VTM5では、ALFのラインバッファ要件を軽減するために、水平CTU境界付近のサンプルに対して修正ブロック分類とフィルタリングが利用されている。この目的のために、仮想境界は、図10に示すように、「N」サンプルを有する水平CTU境界をシフトすることによってラインとして定義され、Nはルマ成分で4、クロマ成分で2になる。
図10は、仮想境界における変更されたブロック分類の例を示す。
変更されたブロック分類は、図11に示すルマ成分に適用される。活性度値Aは、1Dラプラシアン勾配計算で使用されるサンプル数の減少を考慮して、それに応じてスケーリングされる。
フィルタリング処理では、ルマ成分とクロマ成分の両方に、仮想境界で対称パディング操作が使用される。図11に示すように、フィルタリング対象のサンプルが仮想境界の下にある場合、仮想境界の上にある近隣サンプルはパディングされる。一方、反対側の対応するサンプルも対称的にパディングされる。
図11は、仮想境界におけるルマ成分の変更されたALFフィルタリングの例を示す。
2.9 サンプル適応オフセット(Sample Adaptive Offset (SAO))
サンプル適応オフセット(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の上へのオフセットを再利用する。
Figure 2023521119000024
2.9.1 各SAOタイプの操作
エッジオフセットは、図12に示すように、エッジ方向情報を考慮して現在ピクセルpを分類するために、4つの1D 3ピクセルパターンを使用する。左から右へ、これらは0度、90度、135度、45度である。
図12は、EOにおけるピクセル分類のための4つの1D 3ピクセルパターンの例を示す。
各CTBは、表2-7に従って5つのカテゴリのいずれか1つに分類される。
Figure 2023521119000025
バンドオフセット(Band offset (BO))は、ピクセル値の最上位5ビットをバンドインデックスとして使用して、1つのCTB領域内のすべてのピクセルを32の均一なバンドに分類する。つまり、ピクセル強度範囲を0から最大強度値(例えば、8ビットピクセルで255)までの32の等しいセグメントに分割する。隣接する4つのバンドはグループ化され、各グループは図13に示すように最も左側の位置で示される。エンコーダは、すべての位置を検索して、各バンドのオフセットを補償することによって最大の歪み低減を持つグループを取得する。
図13は、4つのバンドをグループ化し、その開始バンド位置で表す例を示している。
2.10 結合インター及びイントラ予測(Combined Inter and Intra Prediction (CIIP))
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に設定される。
CIIP予測は次のように形成される:
Figure 2023521119000026
図14は、CIIP重み導出で使用される上及び左近隣ブロックの例を示す。
2.11 クロマスケーリングによるルママッピング(Luma mapping with chroma scaling (LMCS))
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フラグを用いてシーケンスレベルで有効/無効にできる。
図15は、クロマスケーリングアーキテクチャによるルママッピングの例を示す。
2.12 デュアルツリーパーティション
現在のVVC設計では、Iスライスについて、各CTUが暗黙的4分木分割を用いて64×64ルマサンプルを有する符号か単位に分割でき、これらのコーディングユニットがルマ及びクロマの2個の別個のcoding_treesyntaxシンタックス構造のルートである。
イントラピクチャのデュアルツリーはルマコーディングツリーと比較して異なるパーティションをクロマコーディングツリーに適用できるため、デュアルツリーはより長いコーディングパイプラインを導入し、QTBT MinQTSizeC値範囲とクロマツリーのMinBtSizeYとMinTTSizeYは2×2、4×2、2×4などの小さなクロマブロックを可能にする。これは実際のデコーダ設計に困難をもたらす。さらに、CCLM、平面モード、角度モードなどの幾つかの予測モードは乗算を必要とする。上記の問題を緩和するために、パーティション制限として、デュアルツリーでは小さなクロマブロックサイズ(2×2/2×4/4×2)が制限されている。
2.13 JVET-O0050における最小クロマイントラ予測ユニット(Smallest chroma intra prediction unit (SCIPU))
小さなクロマサイズは、ハードウェア実装に適さない。デュアルツリーの場合、小さすぎるクロマブロックは許可されない。ただし、シングルツリーの場合、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の場合、クロマスケーリングは適用されない。
2つのSCIPUの例を図16に示す。図16(a)では、8×4クロマサンプルから分割された3分木(ternary tree (TT))によってクロマCBが16クロマサンプルよりも小さいクロマCBを生じるため、8×4クロマサンプルの1つのクロマCBと3つのルマCB(4×8、8×8、4×8ルマCB)が1つのSCIPUを形成している。図16(b)では、4×4クロマサンプルから分割されたバイナリツリー(binary tree (BT))が16クロマサンプルよりも小さいクロマCBを生じるため、4×4クロマサンプルの一方のクロマCB(8×4クロマサンプルの左側)と3つのルマCB(8×4、4×4、4×4ルマCB)が1つのSCIPUを形成し、4×4クロマサンプルの他方のクロマCB(8×4クロマサンプルの右側)と2つのルマCB(8×4、8×4ルマCB)が1つのSCIPUを形成する。
図16はSCIPUの例を示す。
SCIPUのタイプは、現在のスライスがIスライスであるか、又は現在のSCIPUがさらに1回分割された後に4×4ルマパーティションを持っている場合に、(VVCではインター4×4は許可されないため)非インターであると推定される。その他の場合、SCIPUのタイプ(インター又は非インター)は、SCIPU内のCUをパースする前に1つのシグナリングされるフラグにより示される。
2.14 VVCドラフト6における小さなクロマブロックの制約
VVCドラフト6(JVET-O2001-vE.docx)では、小さなクロマブロックに対する制約は、次のように実装されている(関連部分は太字斜体で示されている)。
Figure 2023521119000027
Figure 2023521119000028
Figure 2023521119000029
2.14.1.1 コーディングユニットシンタックス(Coding unit syntax)
Figure 2023521119000030
Figure 2023521119000031
許可される4分割処理
この処理への入力は:
ルマサンプル数でのコーディングブロックサイズcbSize;
マルチタイプツリー深さmttDepth;
CTUのパーティションにシングルツリー(SINGLE_TREE)とデュアルツリーのどちらを使用するか、及びデュアルツリーを使用する場合はルマ成分(DUAL_TREE_LUMA)とクロマ成分(DUAL_TREE_CHROMA)のどちらが現在処理されているかを指定する変数treeType;
Figure 2023521119000032
この処理の出力は、変数allowSplitQtである;
変数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以下である;
Figure 2023521119000033
その他の場合、allowSplitQtがTUREに等しく設定される。
許可されるバイナリ分割処理
この処理への入力は:
-バイナリ分割モードbtSplit;
-ルマサンプル数でのコーディングブロック幅cbWidth;
-ルマサンプル数でのコーディングブロック高さcbHeight;
-ピクチャの左上ルマサンプルに対する検討されるコーディングブロックの左上サンプルの位置(x0,y0);
-マルチタイプツリー深さmttDepth;
-オフセットを持つ最大マルチタイプツリー深さmaxMttDepth;
-最大2分木サイズmaxBtSize;
-最小4分木サイズminQtSize;
-パーティションインデックスpartIdx;
-CTUのパーティションにシングルツリー(SINGLE_TREE)とデュアルツリーのどちらを使用するか、及びデュアルツリーを使用する場合はルマ成分(DUAL_TREE_LUMA)とクロマ成分(DUAL_TREE_CHROMA)のどちらが現在処理されているかを指定する変数treeType;
Figure 2023521119000034
この処理の出力は、変数allowBtSplitである;
Figure 2023521119000035
変数parallelTtSplitとcbSizeは表6-2の指定に従って導出される。
変数allowBtSplitは、以下のように導出される:
以下の条件のうちの1つ以上がTRUEである場合、allowBtSplitはFALSEに等しく設定される:
cbSizeがMinBtSizeY以下である;
cbWidthがmaxBtSizeより大きい;
cbHeightがmaxBtSizeより大きい;
mttDepthが、maxMttDepth以上である;
treeTypeがDUAL_TREE_CHROMAに等しく、(cbWidth/SubWidthC)*(cbHeight/SubHeightC)は16以下である;
Figure 2023521119000036
或いは、以下の条件のうちの全部が、TRUEである場合、allowBtSplitはFALSEに等しく設定される:
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;
Figure 2023521119000037
この処理の出力は、変数allowTtSplitである;
Figure 2023521119000038
変数cbSizeは表6-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以下である;
Figure 2023521119000039
或いは、allowTtSplitはTRUEに等しく設定される;
pred_mode_flagが0の場合、現在コーディングユニットがインター予測モードでコーディングされることを指定する。pred_mode_flagが1の場合、現在コーディングユニットがイントラ予測モードでコーディングされることを指定する;
pred_mode_flagが存在しない場合、それは、以下のように推定される:
cbWidthが4に等しく、cbHeightが4に等しい場合、pred_mode_flagは1に等しいと推定される;
Figure 2023521119000040
それ以外の場合、pred_mode_flagはIスライスを復号するときには1に等しく、P又はBスライスを復号するときには0に等しいと各々推定される;
変数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に等しいと推定される;
Figure 2023521119000041
それ以外の場合、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に等しく設定される。
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.可逆コーディングの最大変換サイズは、非可逆コーディングの最大変換サイズとは別に設定することができる。
4.技術ソリューションと実施形態
以下のリストは、例と考えられるべきである。これらの技術は、狭義に解釈されるべきではない。更に、これらの技術は任意の方法で結合できる。
本明細書では、「M×Nコーディングツリーノード」は、ルマサンプル数で、ブロック幅をM、ブロック高さをNとしたM×Nブロックを示し、QT/BT/TTなどでさらにパーティションできる。例えば、ブロックはQTノード、又はBTノード、又はTTノードなどである。コーディングツリーノードは、コーディングユニット(例えば、シングルツリーの場合は3つの色成分、デュアルツリークロマコーディングの場合は2つのクロマ色成分、デュアルツリールマコーディングの場合はルマ色成分のみ)、又はルマコーディングブロック、又はクロマコーディングブロックであり得る。「小さなコーディングツリーノードユニット」は、ルマサンプル数でブロックサイズM×Nが32/64/128に等しいコーディングツリーノードを示す場合がある。
特に言及されていない場合、コーディングブロックの幅Wと高さHはルマサンプルで測定される。例えば、M×Nコーディングブロックは、M×Nルマブロック、及び/又は2つの(M/SubWidthC)×(N/SubHeightC)クロマブロックを意味し、SubWidthCとSubHeightCは以下のようにクロマフォーマットによって導出される。
Figure 2023521119000042
1.小さいブロックにパーティションするかどうか、又はその方法は、色フォーマットに依存してよい。
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に等しくない。
Figure 2023521119000043
その他の場合、以下の条件のうちのいずれかが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に等しい。
その他の場合、modeTypeConditionが0に等しく設定される。
5.2 例示的な実施形態#2
以下の実施形態は、modeTypeに依存しないパレットモードフラグのシグナリングに関するものである;
Figure 2023521119000044
5.3 例示的な実施形態#3
以下の実施例は、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モードは、ブロックサイズが小さいかどうかに関係なくルマブロックに対して許可される。
Figure 2023521119000045
5.5 例示的な実施形態#5
以下の実施形態は、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に等しく、
Figure 2023521119000046
cbWidth*cbHeightは128に等しく、MttSplitMode[x0][y0][mttDepth]はSPLIT_TT_HOR又はSPLIT_TT_VERに等しく、
Figure 2023521119000047
Figure 2023521119000048
その他の場合、modeTypeConditionが0に等しく設定される。
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に等しい。
Figure 2023521119000049
その他の場合、modeTypeConditionが0に等しく設定される。
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以下である;
Figure 2023521119000050
treeTypeは、DUAL_TREE_CHROMAに等しく、modeTypeはMODE_TYPE_INTRAに等しい;

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以下である;
Figure 2023521119000051
treeTypeは、DUAL_TREE_CHROMAに等しく、modeTypeはMODE_TYPE_INTRAに等しい;
或いは、allowTtSplitは真に等しく設定される。
5.8 例示的な実施形態#8
以下の実施形態は、SCIPUクロマブロックに対してMODE_IBCを有効にすることに関するものである。
Figure 2023521119000052
5.9 例示的な実施形態#9:modeTypeがMODE_TYPE_INTERのときにブロックパーティションを禁止する(解決策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以下である。
Figure 2023521119000053
treeTypeは、DUAL_TREE_CHROMAに等しく、modeTypeはMODE_TYPE_INTRAに等しい。

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以下である;
Figure 2023521119000054
treeTypeは、DUAL_TREE_CHROMAに等しく、modeTypeはMODE_TYPE_INTRAに等しい;
或いは、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以下である;
Figure 2023521119000055
treeTypeは、DUAL_TREE_CHROMAに等しく、modeTypeはMODE_TYPE_INTRAに等しい。

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以下である;
Figure 2023521119000056
treeTypeは、DUAL_TREE_CHROMAに等しく、modeTypeはMODE_TYPE_INTRAに等しい;
或いは、allowTtSplitは真に等しく設定される。
5.11 例示的な実施形態#11
以下の実施形態は、MODE_TYPE_INTERが導出されるときのコーディングツリーのさらに分割する制約に関するものである。
Figure 2023521119000057
5.12 例示的な実施形態#12
以下の実施形態は、パレットモードが有効である場合に、小さいブロックパーティションの制約と予測モードが適用されないことに関するものである。
7.4.9.4 コーディングツリーセマンティクス
変数modeTypeConditionは、以下のように導出される:
以下の条件のうちのいずれかがTUREである場合、modeTypeConditionは0に等しく設定される:
slice_type==I、及びqtbtt_dual_tree_intra_flagは1に等しい;
modeTypeCurrはMODE_TYPE_ALLに等しくない;
Figure 2023521119000058
その他の場合、以下の条件のうちのいずれかが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に等しい;
その他の場合、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に等しい;
Figure 2023521119000059
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.14 SCIPUでのデルタQPシグナリングの例#1
Figure 2023521119000060
Figure 2023521119000061
Figure 2023521119000062
Figure 2023521119000063
5.15 SCIPUでのデルタQPシグナリングの例#2
Figure 2023521119000064
Figure 2023521119000065
Figure 2023521119000066
Figure 2023521119000067
5.16 SCIPUでのデルタQPシグナリングの例#3
Figure 2023521119000068
Figure 2023521119000069
Figure 2023521119000070
Figure 2023521119000071
5.17 SCIPUでのデルタQPシグナリングの例#4
Figure 2023521119000072
Figure 2023521119000073
Figure 2023521119000074
Figure 2023521119000075
5.18 2×8クロマイントラブロックの無効化の例#14
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以下である;
Figure 2023521119000076
treeTypeは、DUAL_TREE_CHROMAに等しく、modeTypeはMODE_TYPE_INTRAに等しい。

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以下である;
Figure 2023521119000077
treeTypeは、DUAL_TREE_CHROMAに等しく、modeTypeはMODE_TYPE_INTRAに等しい;
或いは、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に等しい;
Figure 2023521119000078
その他の場合、modeTypeConditionが0に等しく設定される。
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未満である;
Figure 2023521119000079
cbWidth*cbHeightが64以上である;
それ以外の場合、ciip_flag[x0][y0]は0に等しいと推定される。
Figure 2023521119000080
Figure 2023521119000081
5.18 クロマデブロッキング境界強度を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に設定される;
その他の場合、以下が適用される:
サンプル値p及びqは以下のように導出される:
edgeTypeがEDGE_VERと等しい場合、pはrecPicture[xCb+xDi-1][yCb+yDj]と等しく設定され、qはrecPicture[xCb+xDi][yCb+yDj]と等しく設定される;
それ以外の場合(edgeTypeがEDGE_HORと等しい)、pはrecPicture[xCb+xDi][yCb+yDj-1]と等しく設定され、qはrecPicture[xCb+xDi][yCb+yDj]と等しく設定される;
変数bS[xDi][yDj]は、以下のように導出される:
cIdxが0に等しく、サンプルpとqの両方が1に等しいintra_bdpcm_luma_flagを有するコーディングブロック内にある場合、bS[xDi][yDj]は0に等しく設定される;
その他の場合、cIdxが0より大きく、サンプルpとqの両方が1に等しいintra_bdpcm_chroma_flagを有するコーディングブロック内にある場合、bS[xDi][yDj]は0に等しく設定される;
それ以外の場合、サンプルp又はqがイントラ予測モードでコーディングされたコーディングユニットのコーディングブロック内にある場合、bS[xDi][yDj]は2に等しく設定される;
その他の場合、ブロックエッジがコーディングブロックエッジでもあり、サンプルp又はqが1に等しいciip_flagを有するコーディングブロック内にある場合、bS[xDi][yDj]は2に等しく設定される;
その他の場合、ブロックエッジが変換ブロックエッジでもあり、サンプルp又はqが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に等しく設定される。
Figure 2023521119000082
サンプルpを含むコーディングサブブロックとサンプルqを含むコーディングサブブロックは、どちらもIBC予測モードでコーディングされており、2つのコーディングサブブロックの予測に使用されるブロックベクトルの水平成分又は垂直成分の絶対差は、1/16ルマサンプル単位で8以上である;
サンプルpを含むコーディングサブブロックの予測には、サンプルqを含むコーディングサブブロックの予測とは異なる参照ピクチャ又は異なる数の動きベクトルが使用される;
注1:2つのコーディングサブブロックに使用される参照ピクチャが同じか異なるかの判断は、参照ピクチャリスト0へのインデックス又は参照ピクチャリスト1へのインデックスを使用して予測が形成されるかどうかに関係なく、また参照ピクチャリスト内のインデックス位置が異なるかどうかにも関係なく、どのピクチャが参照されているかにのみ基づく。
注2:(xSb,ySb())をカバーする左上サンプルを持つコーディングサブブロックの予測に使用される動きベクトルの数は、PredFlagL0[xSb][ySb]+PredFlagL1[xSb][ySb]に等しくなる。
1つの動きベクトルがサンプルpを含むコーディングサブブロックを予測するために使用され、1つの動きベクトルがサンプルqを含むコーディングサブブロックを予測するために使用され、使用される動きベクトルの水平成分又は垂直成分の絶対差は1/16ルマサンプル単位で8以上である;
2つの動きベクトルと2つの異なる参照ピクチャがサンプルpを含むコーディングサブブロックを予測するために使用され、同じ2つの参照ピクチャの2つの動きベクトルがサンプルqを含むコーディングサブブロックを予測するために使用され、同じ参照ピクチャの2つのコーディングサブブロックの予測で使用される2つの動きベクトルの水平成分又は垂直成分の絶対差は1/16ルマサンプル単位で8以上である;
同じ参照ピクチャの2つの動きベクトルを使用してサンプルpを含むコーディングサブブロックを予測し、同じ参照ピクチャの2つの動きベクトルを使用してサンプルqを含むコーディングサブブロックを予測し、次の条件の両方がTRUEである:
2つのコーディングサブブロックの予測に使用されるリスト0の動きベクトルの水平成分又は垂直成分の絶対差が、1/16ルマサンプル単位で8以上であるか、又は2つのコーディングサブブロックの予測に使用されるリスト1の動きベクトルの水平成分又は垂直成分の絶対差が、1/16ルマサンプル単位で8以上である;
サンプルpを含むコーディングサブブロックの予測で使用されるリスト0の動きベクトルの水平又は垂直成分とサンプルqを含むコーディングサブブロックの予測で使用されるリスト1の動きベクトルの絶対差が1/16ルマサンプル単位で8以上、又はサンプルpを含むコーディングサブブロックの予測で使用されるリスト1の動きベクトルの水平又は垂直成分とサンプルqを含むコーディングサブブロックの予測で使用されるリスト0の動きベクトルの絶対差が1/16ルマサンプル単位で8以上である;
その他の場合、変数bS[xDi][yDj]は0に等しく設定される。
図17Aは、ビデオ処理機器1700のブロック図である。機器1700は、ここに記載した方法のうちの1つ以上を実施するために使用されてよい。機器1700は、スマートフォン、タブレット、コンピュータ、モノのインターネット(Internet of Things (IoT))受信機、等において実施されてよい。機器1700は、1つ以上のプロセッサ1702、1つ以上のメモリ1704、及びビデオ処理ハードウェア1706を含んでよい。プロセッサ1702は、本願明細書に記載した1つ以上の方法を実施するよう構成されてよい。メモリ(複数のメモリ)1704は、本願明細書に記載の方法及び技術を実施するために使用されるデータ及びコードを格納するために使用されてよい。ビデオ処理ハードウェア1706は、ハードウェア回路で、本願明細書に記載した幾つかの技術を実施するために使用されてよい。
図17Bは、開示の技術が実施され得る別の例示的なビデオ処理システムのブロック図である。図17Bは、ここに開示される種々の技術が実施され得る例示的なビデオ処理システム1710を示すブロック図である。種々の実装は、システム1710のコンポーネントの一部又は全部を含んでよい。システム1710は、ビデオコンテンツを受信する入力1712を含んでよい。ビデオコンテンツは、生(raw)又は非圧縮フォーマット、例えば8又は10ビット複数成分ピクセル値で受信されてよく、或いは圧縮又は符号化フォーマットであってよい。入力1712は、ネットワークインタフェース、周辺機器バスインタフェース、又はストレージインタフェースを表してよい。ネットワークインタフェースの例は、イーサネット(登録商標)、受動光ネットワーク(passive optical network (PON))等のような有線インタフェース、及びWi-Fi又はセルラインタフェースのような無線インタフェースを含む。
システム1710は、本願明細書に記載された種々のコーディング又は符号化方法を実施し得るコーディングコンポーネント1714を含んでよい。コーディングコンポーネント1714は、入力1712からコーディングコンポーネント1714の出力へのビデオの平均ビットレートを低減して、ビデオのコーディング表現を生成してよい。コーディング技術は、従って、時に、ビデオ圧縮又はビデオトランスコーディング技術と呼ばれる。コーディングコンポーネント1714の出力は、コンポーネント1716により表されるように、格納されるか、又は通信接続を介して送信されてよい。入力1712で受信された、格納され又は通信されたビットストリーム(又はコーディングされた)表現は、コンポーネント1718により、ディスプレイインタフェース1720へ送信されるピクセル値又は表示可能なビデオを生成するために、使用されてよい。ビットストリーム表現からユーザに閲覧可能なビデオを生成する処理は、時に、ビデオ伸長と呼ばれる。更に、特定のビデオ処理動作は「コーディング」動作又はツールと呼ばれるが、コーディングツール又は動作は、エンコーダにおいて使用され、コーディングの結果を逆にする対応する復号ツール又は動作がデコーダにより実行されることが理解される。
周辺機器バスインタフェース又はディスプレイインタフェースの例は、ユニバーサルシリアルバス(universal serial bus (USB))又は高解像度マルチメディアインタフェース(high definition multimedia interface (HDMI(登録商標)))又はディスプレイポート(Displayport)、等を含んでよい。ストレージインタフェースの例は、SATA(serial advanced technology attachment)、PCI、IDEインタフェース、等を含む。本願明細書に記載した技術は、移動電話機、ラップトップ、スマートフォン、又はデジタルデータ処理を実行可能な他の装置、及び/又はビデオディスプレイのような種々の電子装置に実装されてよい。
図21は、本開示の技術を利用し得る例示的なビデオコーディングシステム100を示すブロック図である。
図21に示されるように、ビデオコーディングシステム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))規格、及び他の現在及び/又は将来の規格のような、ビデオ圧縮規格に従い動作してよい。
図22は、図21に示したシステム100の中のビデオエンコーダ114であってよいビデオエンコーダ200の例を示すブロック図である。
ビデオエンコーダ200は、本開示の技術のうちのいずれか又は全部を実行するよう構成されてよい。図22の例では、ビデオエンコーダ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のような幾つかのコンポーネントは、高度に統合されてよいが、説明の目的で図22の例では別個に表される。
パーティションユニット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つ以上のエントロピー符号化動作を実行して、エントロピー符号化データを生成し、エントロピー符号化データを含むビットストリームを出力してよい。
図23は図21に示したシステム100の中のビデオデコーダ114であってよいビデオデコーダ300の例を示すブロック図である。
ビデオデコーダ300は、本開示の技術のうちのいずれか又は全部を実行するよう構成されてよい。図23の例では、ビデオデコーダ300は複数の機能コンポーネントを含む。本開示に記載した技術は、ビデオデコーダ300の種々のコンポーネントの間で共有されてよい。幾つかの例では、プロセッサは、本開示に記載した技術のうちのいずれか又は全部を実行するよう構成されてよい。
図23の例では、ビデオデコーダ300は、エントロピー復号ユニット301、動き補償ユニット302、イントラ予測ユニット303、逆量子化ユニット304、逆変換ユニット305、及び再構成ユニット306、及びバッファ307を含む。ビデオデコーダ300は、幾つかの例では、ビデオエンコーダ200(例えば、図22)に関して説明した符号化経路に対して通常相互的な復号経路を実行してよい。
エントロピー復号ユニット301は、符号化ビットストリームを読み出してよい。符号化ビットストリームは、エントロピー符号化ビデオデータ(例えば、ビデオデータの符号化ブロック)を含んでよい。エントロピー復号ユニット301は、エントロピー符号化ビデオデータを復号し、エントロピー復号ビデオデータから、動き補償ユニット302が、動きベクトル、動きベクトル制度、参照ピクチャリストインデックス、及び他の動き情報を含む動き情報を決定してよい。動き補償ユニット302は、例えば、AMVP及びマージモードを実行することにより、このような情報を決定してよい。
動き補償ユニット302は、場合によっては補間フィルタに基づき補間を実行することにより、動き補償ブロックを生成してよい。サブピクセル制度で使用されるべき補間フィルタの識別子は、シンタックス要素に含まれてよい。
動き補償ユニット302は、参照ブロックのサブ整数ピクセルの補間値を計算するためにビデオブロックの符号化中にビデオエンコーダ20により使用されるような補間フィルタを使用してよい。動き補償ユニット302は、受信したシンタックス情報に従い、ビデオエンコーダ200により使用される補間フィルタを決定し、補間フィルタを使用して予測ブロックを生成してよい。
動き補償ユニット302は、シンタックス情報の一部を使用して、符号化ビデオシーケンスのフレーム及び/又はスライスを符号化するために使用されるブロックのサイズ、符号化ビデオシーケンスのピクチャの各マクロブロックがどのようにパーティションされるかを記述するパーティション情報、各パーティションがどのように符号化されるかを示すモード、インター符号化ブロック毎の1つ以上の参照フレーム(及び参照フレームリスト)、及び符号化ビデオシーケンスを復号するための他の情報を決定してよい。
イントラ予測ユニット303は、例えばビットストリーム内で受信したイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成してよい。逆量子化ユニット303は、ビットストリーム内で提供され、エントロピー復号ユニット301により復号された量子化されたビデオブロック係数を逆量子化、つまり量子化解除する。逆変換ユニット303は、逆変換を適用する。
再構成ユニット306は、残差ブロックを、動き補償ユニット202又はイントラ予測ユニット303により生成された対応する予測ブロックと加算して、復号ブロックを形成してよい。望ましい場合には、ブロックアーチファクトを除去するために復号ブロックをフィルタリングするデブロッキングフィルタも適用されてよい。復号ビデオブロックは、次に、後続の動き補償のための参照ブロックを提供するバッファ307に格納される。
図18は、ビデオを処理する方法1800のフローチャートである。方法1800は、
ビデオのビデオ領域とビデオ領域のコーディング表現との間の変換のために、ビデオ領域のクロマブロックサイズと色フォーマットとの間の関係を定義するシンタックスルールに従いコーディング表現をパースするステップ(1802)と、
シンタックスルールに従いパースするステップを実行することにより、変換を実行するステップ(1804)と、
を含む。
幾つかの実施形態による好ましい例のリストが次に提供される。本明細書では、ビデオ領域は、コーディングブロック又はスライス又はコーディングツリーユニット又は予測ブロック又は変換ブロックであってよい。
項の第1のセットは、前の章で議論した技術の例示的な実施形態を示す。以下の項は、前の章の項1に記載された追加技術と一緒に実装されてよい。
(項1)ビデオ処理の方法であって、前記方法は、
ビデオのビデオ領域と前記ビデオ領域のコーディング表現との間の変換のために、前記ビデオ領域のクロマブロックサイズと色フォーマットとの間の関係を定義するシンタックスルールに従い前記コーディング表現をパースするステップと、
前記シンタックスルールに従い前記パースするステップを実行することにより、前記変換を実行するステップと、
を含む方法。
(項2)前記色フォーマットは4:4:4であり、前記シンタックスルールは、クロマブロックがルマブロックと同じサイズ制約を受けることを指定する、項1に記載の方法。
(項3)前記色フォーマットは4:2:2であり、前記シンタックスルールは、クロマブロックが4:2:0色フォーマットと同じサイズ制約を受けることを指定する、項1に記載の方法。
(項4)前記シンタックスは、予測モード及び小さいブロックパーティションがクロマフォーマットに依存する方法で使用されることを指定する、項1~3のいずれかに記載の方法。
(項5)前記シンタックスルールは、最小許容サイズ特徴が、前記ビデオ領域の色フォーマットに基づき前記ビデオ領域の変換に対して有効にされることを定義する、項1に記載の方法。
以下の項は、前の章の項目2に記載された追加技術と一緒に実装されてよい。
(項6)ビデオ処理の方法であって、ビデオのプロパティ及び前記ビデオのクロマフォーマットに基づき、前記ビデオのコーディングツリーノードのコーディングモードを決定するステップと、
前記決定したコーディングモードを使用して、前記ビデオのコーディング表現と前記コーディングツリーノードのビデオブロックとの間の変換を実行するステップと、
を含む、方法。
(項7)前記コーディングモードは、プロパティが以下のi~ivである場合に、4:2:2のクロマフォーマットではMODE_TYPE_ALLであり、4:2:0のクロマフォーマットではMODE_TYPE_INTRA又はMODE_TYPE_INTERであると決定される、項6に記載の方法。
i.前記コーディングノードが、水平2分木分割によるM×Nコーディングツリーノードである;
ii.前記コーディングノードが、垂直2分木分割によるM×Nコーディングツリーノードである;
iii.前記コーディングノードが、水平3分木分割によるM×Nコーディングツリーノードである;
iv.前記コーディングノードが、垂直32分木分割によるM×Nコーディングツリーノードである。
(項8)M=8又は16又は32、及びN=4又は8又は16である、項7に記載の方法。
以下の項は、前の章の項目12に記載された追加技術と一緒に実装されてよい。
(項9)ビデオ処理の方法であって、前記方法は、
ルールに基づき、クロマブロックの特定のサイズがビデオのビデオ領域の中で許可されるかどうかを決定するステップと、
前記決定に基づき、前記ビデオ領域と前記ビデオ領域のコーディング表現との間の変換を実行するステップと、
を含む方法。
(項10)前記ルールは、ビデオ領域がデュアルツリーパーティションを含むために、2×Nクロマブロックが禁止されることを指定する、項9に記載の方法。
(項11)前記ルールは、ビデオ領域が単一ツリーパーティションを含むために、2Nクロマブロックが禁止されることを指定する、項9に記載の方法。
(項12)N<=64である、項10又は11に記載の方法。
以下の項は、前の章の項目13、14、15に記載された追加技術と一緒に実装されてよい。
(項13)ビデオ処理の方法であって、前記方法は、
ビデオ条件についてコーディングモードの使用を許可するルールに基づき、コーディングモードがビデオ領域に許可されることを決定するステップと、
前記決定に基づき、前記ビデオ領域内のピクセルのコーディング表現と前記ビデオ領域のピクセルとの間の変換を実行するステップと、
を含む方法。
(項14)前記ビデオ条件はブロックサイズであり、前記ルールは、小さいブロックサイズのルマブロックにイントラブロックコピーモードを使用することを許可する、項13に記載の方法。
(項15)前記小さいブロックサイズは、8×4、8×8、16×4、又は4×Nルマブロックサイズを含む、項14に記載の方法。
(項16)前記ルールは、MODE_TYPE_INTERコーディングモードを用いる前記ビデオ領域の変換のために、イントラブロックコピーモードを使用することを許可する、項13に記載の方法。
(項17)前記ルールは、MODE_TYPE_INTERコーディングモードを用いる前記ビデオ領域の変換のために、パレットコーディングモードを使用することを許可する、項13に記載の方法。
以下の項は、前の章の項目16、17、18に記載された追加技術と一緒に実装されてよい。
(項18)ビデオ処理の方法であって、前記方法は、ビデオコーディングモードを用いて、ビデオのビデオブロックと前記ビデオブロックのコーディング表現との間の変換を実行するステップであって、前記コーディングモードをシグナリングするシンタックス要素は、ルールの基づき前記コーディング表現に選択的に含まれる、ステップを含む方法。
(項19)前記ビデオコーディングモードは、イントラブロックコーディングモードであり、前記ルールは、前記コーディング表現に前記シンタックス要素を包含することを制御するために、前記ビデオコーディングモードのタイプを使用することを指定する、項18に記載の方法。
(項20)前記ルールは、非SKIPブロックを明示的にシグナリングすることを指定する、項19に記載の方法。
(項21)前記ルールは、スキップフラグ及び前記ビデオブロックのモードタイプに基づき、イントラブロックコピーフラグを暗示的にシグナリングすることを指定する、項18に記載の方法。
(項22)前記コーディングモードは、パレットコーディングモードであり、前記ルールは、前記ビデオブロックのモードタイプに基づき、パレットコーディング指示子を選択的に含むことを指定する、項18に記載の方法。
以下の項は、前の章の項目21に記載された追加技術と一緒に実装されてよい。
(項23)ビデオ処理の方法であって、前記方法は、クロマブロックが閾値サイズより小さいサイズを有することにより、前記クロマブロックと前記クロマブロックのコーディング表現との間の変換中に使用される変換タイプが、対応するルマ変換に使用される変換タイプと異なると決定するステップと、前記決定に基づき前記変換を実行するステップと、を含む方法。
(項24)前記閾値サイズはM×Nであり、Mは2である、項23に記載の方法。
以下の項は、前の章の項目22に記載された追加技術と一緒に実装されてよい。
(項25)前記変換は、MODE_TYPE_INTRAモードのような結合インター及びイントラ予測モードである、項1~24のいずれかに記載の方法。
(項26)前記変換は、MODE_TYPE_INTERモードのような結合インター及びイントラ予測モードである、項18~22のいずれかに記載の方法。例えば、MODE_TYPE_INTERとしてCIIPを考えると、前の章の項14~17に記載された方法が適用されてよい。或いは、項14~16に記載の方法が適用されるとき、CIIPはMODE_TYPE_INTERとして考えることができる。
以下の節は、前の章の項目3~6に記載された追加技術と一緒に実装されてよい。
(項27)ビデオ処理の方法であって、前記方法は、最小クロマブロックルールが、ビデオ領域のコーディング表現と前記ビデオ領域のピクセル値との間の変換中に施行されるかどうかを、前記ビデオ領域のコーディング条件に基づき決定するステップと、前記決定に基づき前記変換を実行するステップと、を含む方法。
(項28)前記コーディング条件は、前記ビデオ領域の色フォーマットを含む、項17に記載の方法。
(項29)前記ビデオ領域は、Mピクセルの幅とNピクセルの高さを有し、前記コーディング条件は、M及び/又はNの値に更に依存する、項18に記載の方法。
(項30)前記最小クロマブロックルールは、前記ビデオ領域が4:2:2色フォーマットを有し、M*N=32又はM*N=64であることにより有効にされる、項29に記載の方法。
以下の節は、前の章の項目7~11に記載された追加技術と一緒に実装されてよい。
(項31)ビデオ処理の方法であって、前記方法は、4:2:2フォーマットのビデオ領域のコーディング表現と前記ビデオ領域のピクセル値との間の変換のために、最小クロマブロックルールが前記ビデオ領域について有効であるかどうかに基づき、前記変換に使用されるべきモードタイプを決定するステップと、前記決定に基づき前記変換を実行するステップと、を含む方法。
(項32)前記ビデオ領域が4:2:2フォーマットを有し、前記最小クロマブロックルールが有効であることにより、前記ビデオ領域のモードタイプは1に設定される、項31に記載の方法。
(項33)前記モードタイプを決定するステップは、前記最小クロマブロックルールが前記ビデオ領域について有効であることにより、前記モードタイプがINTRAタイプであると決定するステップを含む、項31に記載の方法。
(項34)前記モードタイプを決定するステップは、前記最小クロマブロックルールが前記ビデオ領域について有効であることにより、前記モードタイプINTERが無効であると決定するステップを含む、項31に記載の方法。
以下の項は、前の章の項目7~11に記載された追加技術と一緒に実装されてよい。
(項35)ビデオ処理の方法であって、前記方法は、ビデオブロックのコーディング表現とビデオのビデオブロックとの間の変換のために、前記変換の間に使用されるモードタイプ又は前記ビデオブロックの寸法に基づき、ブロックパーティションが前記変換中に許可されるかどうかを決定するステップと、前記決定を用いて前記変換を実行するステップと、を含む方法。
(項36)前記ブロックパーティションは、2分木パーティション又は3分木パーティションを含む、項35に記載の方法。
(項37)前記モードタイプがINTERモードである場合、前記ブロックパーティションは、パーティションタイプを許可又は禁止する制約ルールに基づく、項35~36のいずれかに記載の方法。
以下の項は、前の章の項目34に記載された追加技術と一緒に実装されてよい。
(項38)ビデオ処理の方法であって、前記方法は、ビデオのビデオセグメントのコーディング表現と前記ビデオセグメントとの間の変換のために、サイズM×Nのクロマブロックについて特別処理モードを適用することを決定するステップであって、M×Nは整数である、ステップと、前記決定に基づき前記変換を実行するステップと、を含む方法。
(項39)前記特別処理モードは、前記変換の間のクロマブロックの使用を無効にする、項38に記載の方法。
(項40)前記特別処理モードは、前記クロマブロックのイントラ予測のためにDC予測を使用する、項38に記載の方法。
(項41)前記特別処理モードは、対応するダウンサンプリングされたルマ係数から、前記クロマブロックのイントラ係数を予測する成分間線形モデルを使用することを含む、項38に記載の方法。
(項42)前記特別処理モードは、前記ビデオセグメントがデュアルツリーパーティションを使用することにより、前記クロマブロックの使用を無効にする、項38~41のいずれかに記載の方法。
(項43)前記特別処理モードは、前記ビデオセグメントが単一ツリーパーティションを使用することにより、前記クロマブロックの使用を無効にする、項38~41のいずれかに記載の方法。
(項44)前記変換は、前記ビデオを前記コーディング表現に符号化することを含む、項1~43のいずれかに記載の方法。
(項45)前記変換は、前記コーディング表現を復号して前記ビデオのピクセル値を生成することを含む、項1~43のいずれかに記載の方法。
(項46)ビデオ復号機器であって、項1~45のうちの1つ以上に記載の方法を実施するよう構成されるプロセッサを含むビデオ復号機器。
(項47)ビデオ符号化機器であって、項1~45のうちの1つ以上に記載の方法を実施するよう構成されるプロセッサを含むビデオ符号化機器。
(項48)格納されたコンピュータコードを有するコンピュータプログラムプロダクトであって、前記コードは、プロセッサにより実行されると、前記プロセッサに項1~45のいずれかに記載の方法を実施させる、コンピュータプログラムプロダクト。
(項49)本願明細書に記載された方法、機器、又はシステム。
項の第2のセットは、前の章で議論した技術(例えば、項37~40)の例示的な実施形態を示す。
(項1)ビデオ処理の方法(例えば、図24Aに示すような方法2400)であって、
ルールに従い、ビデオ領域を含むビデオと前記ビデオのビットストリームとの間の変換を実行するステップ(2402)、を含み、
前記ルールは、パレットモードの実施可能性と前記ビデオ領域のコーディングタイプとの間の関係を指定する、方法。
(項2)前記ルールは、前記コーディングタイプが、前記変換のためにイントラモード、パレットモード、及びイントラブロックコピーモードを許可するMODE_TYPEALL、又は前記変換のためにイントラモードの使用を許可するMODE_TYPE_INTRAである場合に、前記パレットモードが有効であると指定する、項1に記載の方法。
(項3)前記ルールは、前記コーディングタイプが、インターコーディングモードのみを許可するMODE_TYPE_INTERである場合に、前記パレットモードが常に無効であると指定する、項2に記載の方法。
(項4)ビデオ処理の方法(例えば、図24Bに示すような方法2410)であって、
ルールに従い、第1ビデオ領域及び第2ビデオ領域を含むビデオと、前記ビデオのビットストリームとの間の変換を実行するステップ(2412)、を含み、
前記ルールは、第1ブロックがイントラブロックコピーモードであり第2ブロックがパレットモードである場合に、前記ビデオのクロマ成分のデブロッキングフィルタの境界強度(bs)が0に設定されることを指定する、方法。
(項5)前記ルールは、前記ビデオの中のクロマ成分に関連する変数が特定の値を有する場合に、前記境界強度が0に設定されることを更に指定する、項4に記載の方法。
(項6)前記特定の値は0に等しくない、項5に記載の方法。
(項7)ビデオ処理の方法(例えば、図24Cに示すような方法2420)であって、
フォーマットルールに従い、ビデオと前記ビデオのビットストリームとの間の変換を実行するステップ(2422)を含み、
前記フォーマットルールは、前記ビデオの入力ビット深さに関連する変数が前記ビットストリームのプロファイルに従い制約されることを指定する、方法。
(項8)前記変数はinternal_minus_input_bit_depthである、項7に記載の方法。
(項9)前記フォーマットルールは、10ビットプロファイルの場合に、前記変数が[0,2]の範囲内に制約されることを指定する、項7に記載の方法。
(項10)前記フォーマットルールは、8ビットプロファイルの場合に、前記変数が0に制約されることを指定する、項7に記載の方法。
(項11)前記フォーマットルールは、(K+8)ビットプロファイルの場合に、前記変数が[0,K]の範囲内に制約されることを指定し、Kは0より大きい整数である、項7に記載の方法。
(項12)ビデオ処理の方法(例えば、図24Dに示すような方法2430)であって、
フォーマットルールに従い、ビデオと前記ビデオのビットストリームとの間の変換を実行するステップ(2432)を含み、
前記フォーマットルールは、最小許容量子化パラメータを示す変数が前記ビットストリームのプロファイルに従い制約されることを指定する、方法。
(項13)前記変数はQpPrimeTsMinである、請求項12に記載の方法。
(項14)前記フォーマットルールは、10ビットプロファイルの場合に、(QpPrimeTsMin-4)/6が[0,2]の範囲内に制約されることを指定する、項13に記載の方法。
(項15)前記フォーマットルールは、8ビットプロファイルの場合に、(QpPrimeTsMin-4)/6が0に制約されることを指定する、項13に記載の方法。
(項16)前記フォーマットルールは、(K+8)ビットプロファイルの場合に、(QpPrimeTsMin-4)/6が[0,K]の範囲内に制約されることを指定し、Kは0より大きい整数である、項12に記載の方法。
(項17)前記変換は、前記ビデオを前記ビットストリームに符号化することを含む、項1~16のいずれかに記載の方法。
(項18)前記変換は、前記ビットストリームから前記ビデオを復号することを含む、項1~16のいずれかに記載の方法。
(項19)前記変換は、前記ビデオから前記ビットストリームを生成することを含み、前記方法は、前記ビットストリームを非一時的コンピュータ可読記録媒体に格納するステップを更に含む、項1~16のいずれかに記載の方法。
(項20)項1~19のうちの1つ以上に記載の方法を実施するよう構成されるプロセッサを含むビデオ処理機器。
(項21)ビデオのビットストリームを格納する方法であって、
項1~19のいずれか一項に記載の方法を含み、非一時的コンピュータ可読記録媒体に前記ビットストリームを格納するステップを更に含む、方法。
(項22)プログラムコードを記憶しているコンピュータ可読媒体であって、前記プログラムコードは、実行されると、プロセッサに項1~19のうちの1つ以上に記載の方法を実施させる、コンピュータ可読媒体。
(項23)項1~21のいずれかに記載の方法に従い生成されたビットストリームを格納しているコンピュータ可読媒体。
(項24)ビットストリーム表現を格納するビデオ処理機器であって、前記ビデオ処理機器は、項1~19のうちの1つ以上に記載の方法を実施するよう構成されるビデオ処理機器。
本願明細書に記載された本開示の及び他のソリューション、例、実施形態、モジュール、及び機能動作は、デジタル電子回路で、又は本願明細書に開示された構造を含む、コンピュータソフトウェア、ファームウェア、又はハードウェア、及びそれらの構造的均等物で、又はそれらの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/084291号、2020年4月10日出願、の優先権及び利益を請求する国際特許出願番号第PCT/CN2021/086522号、2021年4月12日出願、に基づく。前述の特許出願の全て、参照によりそれらの全体がここに組み込まれる。

Claims (24)

  1. ビデオ処理の方法であって、
    ルールに従い、ビデオ領域を含むビデオと前記ビデオのビットストリームとの間の変換を実行するステップ、を含み、
    前記ルールは、パレットモードの実施可能性と前記ビデオ領域のコーディングタイプとの間の関係を指定する、方法。
  2. 前記ルールは、前記コーディングタイプが、前記変換のためにイントラモード、パレットモード、及びイントラブロックコピーモードを許可するMODE_TYPEALL、又は前記変換のためにイントラモードの使用を許可するMODE_TYPE_INTRAである場合に、前記パレットモードが有効であると指定する、請求項1に記載の方法。
  3. 前記ルールは、前記コーディングタイプが、インターコーディングモードのみを許可するMODE_TYPE_INTERである場合に、前記パレットモードが常に無効であると指定する、請求項2に記載の方法。
  4. ビデオ処理の方法であって、
    ルールに従い、第1ビデオ領域及び第2ビデオ領域を含むビデオと、前記ビデオのビットストリームとの間の変換を実行するステップ、を含み、
    前記ルールは、第1ブロックがイントラブロックコピーモードであり第2ブロックがパレットモードである場合に、前記ビデオのクロマ成分のデブロッキングフィルタの境界強度(bs)が0に設定されることを指定する、方法。
  5. 前記ルールは、前記ビデオの中のクロマ成分に関連する変数が特定の値を有する場合に、前記境界強度が0に設定されることを更に指定する、請求項4に記載の方法。
  6. 前記特定の値は0に等しくない、請求項5に記載の方法。
  7. ビデオ処理の方法であって、
    フォーマットルールに従い、ビデオと前記ビデオのビットストリームとの間の変換を実行するステップ、を含み、
    前記フォーマットルールは、前記ビデオの入力ビット深さに関連する変数が前記ビットストリームのプロファイルに従い制約されることを指定する、方法。
  8. 前記変数はinternal_minus_input_bit_depthである、請求項7に記載の方法。
  9. 前記フォーマットルールは、10ビットプロファイルの場合に、前記変数が[0,2]の範囲内に制約されることを指定する、請求項7に記載の方法。
  10. 前記フォーマットルールは、8ビットプロファイルの場合に、前記変数が0に制約されることを指定する、請求項7に記載の方法。
  11. 前記フォーマットルールは、(K+8)ビットプロファイルの場合に、前記変数が[0,K]の範囲内に制約されることを指定し、Kは0より大きい整数である、請求項7に記載の方法。
  12. ビデオ処理の方法であって、
    フォーマットルールに従い、ビデオと前記ビデオのビットストリームとの間の変換を実行するステップ、を含み、
    前記フォーマットルールは、最小許容量子化パラメータを示す変数が前記ビットストリームのプロファイルに従い制約されることを指定する、方法。
  13. 前記変数はQpPrimeTsMinである、請求項12に記載の方法。
  14. 前記フォーマットルールは、10ビットプロファイルの場合に、(QpPrimeTsMin-4)/6が[0,2]の範囲内に制約されることを指定する、請求項13に記載の方法。
  15. 前記フォーマットルールは、8ビットプロファイルの場合に、(QpPrimeTsMin-4)/6が0に制約されることを指定する、請求項13に記載の方法。
  16. 前記フォーマットルールは、(K+8)ビットプロファイルの場合に、(QpPrimeTsMin-4)/6が[0,K]の範囲内に制約されることを指定し、Kは0より大きい整数である、請求項12に記載の方法。
  17. 前記変換は、前記ビデオを前記ビットストリームに符号化することを含む、請求項1~16のいずれかに記載の方法。
  18. 前記変換は、前記ビットストリームから前記ビデオを復号することを含む、請求項1~16のいずれかに記載の方法。
  19. 前記変換は、前記ビデオから前記ビットストリームを生成することを含み、前記方法は、前記ビットストリームを非一時的コンピュータ可読記録媒体に格納するステップを更に含む、請求項1~16のいずれかに記載の方法。
  20. 請求項1~19のうちの1つ以上に記載の方法を実施するよう構成されるプロセッサを含むビデオ処理機器。
  21. ビデオのビットストリームを格納する方法であって、
    請求項1~19のいずれか一項に記載の方法を含み、非一時的コンピュータ可読記録媒体に前記ビットストリームを格納するステップを更に含む、方法。
  22. プログラムコードを記憶しているコンピュータ可読媒体であって、前記プログラムコードは、実行されると、プロセッサに請求項1~19のうちの1つ以上に記載の方法を実施させる、コンピュータ可読媒体。
  23. 請求項1~19、21のいずれかに記載の方法に従い生成されたビットストリームを格納しているコンピュータ可読媒体。
  24. ビットストリーム表現を格納するビデオ処理機器であって、前記ビデオ処理機器は、請求項1~19のうちの1つ以上に記載の方法を実施するよう構成されるビデオ処理機器。
JP2022561403A 2020-04-10 2021-04-12 ビデオコーディングにおけるスキップブロックの変換のための最小許容量子化 Active JP7442673B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
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