JP7305878B2 - コーディングブロック又はサブブロック境界でのデブロッキングフィルタリング - Google Patents
コーディングブロック又はサブブロック境界でのデブロッキングフィルタリング Download PDFInfo
- Publication number
- JP7305878B2 JP7305878B2 JP2022512298A JP2022512298A JP7305878B2 JP 7305878 B2 JP7305878 B2 JP 7305878B2 JP 2022512298 A JP2022512298 A JP 2022512298A JP 2022512298 A JP2022512298 A JP 2022512298A JP 7305878 B2 JP7305878 B2 JP 7305878B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- boundary
- sub
- video
- equal
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本明細書は、ビデオコーディング技術に関係がある。具体的に、それは、ビデオコーディングにおけるデブロッキングフィルタ及び関連する技術に関する。それは、HEVCのような既存のビデオコーディング標準規格、又は最終合意されるべき標準規格(Versatile Video Coding)に適用され得る。それはまた、将来のビデオ標準規格又はビデオコーデックにも適用可能である。
ビデオコーディング標準規格は、よく知られているITU-T及びISO/IEC標準規格の開発を通じて主に発展してきた。ITU-TはH.261及びH.263を作り出し、ISO/IECはMPEG-1及びMPEG-4 Visualを作り出し、2つの組織は共同でH.262/MPEG-2 Video及びH264/MPEG-4 Advanced Video Coding(AVC)及びH.265/HEVC標準規格を作り出した。H.262以降、ビデオコーディング標準規格は、時間予測に変換コーディングをプラスしたものが利用されるハイブリッド型ビデオコーディング構造に基づいている。HEVCを超える将来のビデオコーディング技術を探求するために、Joint Video Exploration Team(JVET)が2015年にVCEG及びMPEGによって共同で設立された。それ以降、多くの新しい手法がJVETによって採用され、Joint Exploration Model(JEM)と呼ばれる参照ソフトウェアに置かれてきた。JVETミーティングは、四半期ごとに一度同時に開催され、新しいコーディング標準規格は、HEVCと比較して50%のビットレート低減を目標としている。新しいビデオコーディング標準規格は、2018年4月のJVETミーティングでVersatile Video Coding(VVC)と正式に名付けられ、VVCテストモデル(VTM)の第1バージョンはその時にリリースされた。VVC標準化に貢献する連続的な取り組みがあるために、新しいコーディング技術が、JVETミーティングのたびにVVC標準規格に採用されている。VVC作業ドラフト及びテストモデルVTMは、毎回のミーティング後に更新されている。VVCプロジェクトは、現在、2020年7月のミーティングでの技術的完成を目指している(FDIS)。
VTM6には全部で3つのインループフィルタがある。デブロッキングフィルタ及びSAO(HEVCにおける2つのループフィルタ)に加えて、適応ループフィルタ(ALF)がVTM5では適用される。VTM6におけるフィルタリングプロセスの順序は、デブロッキングフィルタ、SAO、及びALFである。VTM6では、デブロッキングフィルタプロセスは、HEVCにおけるそれらとほぼ同じである。しかし、次の変更が加えられている。
a)再構成されたサンプルの平均ルーマレベルに依存するデブロッキングフィルタのフィルタ強さ
b)デブロッキングtCテーブル拡張
c)4×4サンプルグリッドに対するルーマデブロッキング及び8×8サンプルグリッドに対するクロマデブロッキング
d)ルーマに対するより強いデブロッキングフィルタ
e)クロマに対するより強いデブロッキングフィルタ
HEVCでは、デブロッキングフィルタのフィルタ強さは、平均量子化パラメータqPLから導出される変数β及びtCによって制御される。VTM5では、デブロッキングフィルタは、再構成されたサンプルのルーマレベルに従ってオフセットをqPLに加えることによって、デブロッキングフィルタの強さを制御する。再構成されたルーマレベルLLは、次のように導出される:
LL=((p0,0+p0,3+q0,0+q0,3)>>2)/(1<<bitDepth)
ここで、サンプル値pi,k及びqi,k(i=0,・・・、3、k=0及び3)は、図1に示されるように導出される。
qPL=((QpQ+QpP+1)>>1)+qpOffset
ここで、QpQ及びQpPは、サンプルq0,0及びp0,0を夫々含むコーディングユニットの量子化パラメータを表す。オフセットqpOffsetは伝達関数に依存し、値はSPSにおいて通知される。
VVCでは、最大QPが51から63に変更されており、ブロックQPに基づきデブロッキングパラメータtCの値を導出するよう、対応する変更をデブロッキングテーブルに反映することが望ましい。表1は、QP範囲の拡張に適合するよう更新されたtC’テーブルである。変数tCは、次のように導出される:
tC=BitDepthY<10?(tC’+2)>>(10-BitDepthY):tC’×(1<<(BitDepthY-10))
双線形フィルタ(より強いデブロッキングフィルタ)は、境界のどちらか一方の側でのサンプルが大きいブロックに属するときに使用される。サンプルが大きいブロックに属するとは、幅が垂直エッジについて32以上であるとき、及び高さが水平エッジについて32以上であるときとして定義される。i=0~Sp-1についてのブロック境界サンプルpi、及びj=0~Sq-1についてのブロック境界サンプルqiは、その場合に、次のように、線形補間によって置換される:
pi’=(fi×Middles,t+(64-fi)×Ps+32)>>6),pi±tCPDiにクリップされる
qj’=(gj×Middles,t+(64-gj)×Qs+32)>>6),qj±tCPDjにクリップされる
ここで、tCPDi及びtCPDjの項は、位置依存のクリッピングであり、gj、fi、Middles,t、Ps、及びQsは、次で与えられる:
条件2=(d<β)?TRUE:FAILSE
条件3=StrongFilterCondition=(dpqは(β>>2)よりも小さい,sp3+sq3は(3×β>>5)よりも小さい,かつAbs(p0-q0)は(5×tC+1)>>1よりも小さい)?TRUE:FALSE
クロマに対する次の強いデブロッキングフィルタが定義される:
p2’=(3×p3+2×p2+p1+p0+q0+4)>>3
p1’=(2×p3+p2+2×p1+p0+q0+q1+4)>>3
p0’=(p3+p2+p1+2×p0+q0+q1+q2+4)>>3
VTM5.0は、8×8サンプルグリッドに対してデブロッキングを実行する。従って、デブロッキングは、8×8サンプルグリッドと重なり合う全てのブロックエッジについてのみ実行される。VTM5.0のパーティショニングスキーム(二分木(Binary-Tree,BT)、三分木(Ternary-Tree,TT)、イントラサブパーティション、サブブロック変換)により、いくつかの長いCUエッジは、8×8サンプルグリッドと重なり合わないが、依然として十分なブロッキングアーチファクトを有することがある。シナリオは図2に表されている。灰色で示されているエッジは、4×16ブロックに属し、VTM5.0デブロッキングは、このエッジが8×8サンプルグリッドと重なり合わないということで、このエッジに対してデブロッキングを実行しない。
●ブロックの1つが4サンプルのブロック幅を有するかどうかをチェックする。真である場合に、次いで
●最大1つのサンプル変更を伴う弱フィルタを適用する。従って、次の条件:|δ|<10(tC)(なお、δ=(9×(q0-p0)-(3×(q1-p1)+8))>>4)がチェックされ、条件が真であると評価される場合に、次いで、サンプルp0及びq0が変更され、そうでない場合には、フィルタリングは適用されない。
フィルタリングは、ルーマについては4×4グリッドに、クロマについては8×8グリッドに適用される。加えて、それは、変換ブロック境界又はコーディングサブブロック境界でなければならない(例えば、アフィン動き予測、ATMVPの利用による。)。そのような境界でないものについては、フィルタは無効にされる。maxFilterLengthPs及びmaxFilterLengthQsは、P-side及びQ-sideの夫々でいくつのサンプルがフィルタリング処理されるべきかを示す。
水平エッジの各4つの列(又は水平エッジの各4つの行)について、Pブロック及びQブロックについて別々にフィルタ長さを決定するよう次をチェックする。水平エッジを例とすると:
- 行が変換ブロックエッジである(つまり、位置(xCb+x,yCb+y)が変換ブロックエッジにある)場合に、edgeFlags[x][y]は1に等しくセットされる。
- edgeFlags[x][y]が1に等しくセットされる場合に、次が適用される:
- maxFilterLengthQs[x][y]がセットされる:
- P又はQの変換ブロック高さが4以下である場合に、
maxFilterLengthQs[x][y]は1にセットされる;
- Qの変換ブロック高さが32以上である場合に、
maxFilterLengthQs[x][y]は7にセットされる;
- 他の場合には、
maxFilterLengthQs[x][y]は3にセットされる。
- maxFilterLengthPs[x][y]がセットされる:
- P又はQの変換ブロック幅が4以下である場合に、
maxFilterLengthPs[x][y]は1にセットされる;
- Pの変換ブロック幅が32以上である場合に、
maxFilterLengthPs[x][y]は7にセットされる;
- 他の場合には、
maxFilterLengthPs[x][y]は3にセットされる。
サブブロック境界検出のためにデブロッキングフィルタプロセスで使用されるサブブロック高さは、Max(8,nCbH/numSbY)にセットされる。
- アレイエッジTbFlagsはedgeFlagsに等しくセットされる。
- yEdge=0..min((nCbH/8)-1,numSbY-1)、x=0..nCbW-1について:
- 現在のコーディングブロック内の垂直位置yは、yEdge×sbHに等しくセットされる。
- edgeFlags[x][y]が1に等しいとき、maxFilterLengthPs[x][y]及びmaxFilterLengthQs[x][y]の値は、次のように変更される:
- yが0(最初のサブブロック)に等しく、edgeFlags[x][y]が1に等しい場合に、次が適用される:
- numSbYが1よりも大きい(Qがサブブロックコーディングされている)とき、次が適用される:
- (y+4)がnCbH以上である(最後のサブブロック);
- edgeTbFlags[x][y-4]が1に等しい(上に4サンプル離れてTU境界がある);
- edgeTbFlags[x][y+4]が1に等しい(下に4サンプル離れてTU境界がある)
の1つ以上が真である場合に、次が適用される:
- yEdgeが1に等しい(2番目のサブブロック);
- yEdgeが(nCB/8)-1に等しい(最後のサブブロック);
- edgeTbFlags[x][y-sbH]が1に等しい(上にsbHサンプル離れてTU境界がある);
- edgeTbFlags[x][y+sbH]が1に等しい(下にsbHサンプル離れてTU境界がある)
の1つ以上が真である場合に、次が適用される:
デブロッキングフィルタの次の仕様は、VVC作業草案JVET-O2001-vEから抜粋されている。
[2.2.1.1 概略]
このプロセスへの入力は、デブロッキング前の再構成されたピクチャ、つまり、アレイrecPictureL、ChromaArrayTypeが0に等しくないときには、アレイrecPictureCb及びrecPictureCrである。
注記-フィルタリングプロセスは、この仕様ではピクチャ単位で定められているが、フィルタリングプロセスは、デコーダが同じ出力値を生成するように処理の依存関係の順序を適切に考慮しているという条件で、コーディングユニット単位で実装可能であり、同等の結果を得ることができる。
- ピクチャの境界にあるエッジ,
- loop_filter_across_subpic_enabled_flag[SubPicIdx]が0に等しいサブピクチャの境界と一致するエッジ,
- pps_loop_flter_across_virtual_boundaries_disabled_flagが1に等しいときにピクチャの垂直境界と一致するエッジ,
- loop_filter_across_bricks_enabled_flagが0に等しいときにブリック境界と一致するエッジ,
- loop_filter_across_slices_enabled_flagが0に等しいときにスライス境界と一致するエッジ,
- 1に等しいslice_deblocking_filter_disabled_flagを有するスライスの上又は左境界と一致するエッジ,
- 1に等しいslice_deblocking_filter_disabled_flagを有するスライス内のエッジ,
- ルーマ成分の4×4サンプルグリッド境界に対応しないエッジ,
- クロマ成分の8×8サンプルグリッド境界に対応しないエッジ,
- エッジの両側が1に等しいintra_bdpcm_flagを有するルーマ成分内のエッジ,
- 関連する変換ユニットのエッジではないクロマサブブロックのエッジ。
- 変数treeTypeがDUAL_TREE_LUMAに等しくセットされる。
- 垂直エッジは、変数treeType、デブロッキング前の再構成されたピクチャ、つまり、アレイrecPictureL、及びEDGE_VERに等しい変数edgeTypeを入力として、デブロッキング後の変更された再構成されたピクチャ、つまり、アレイrecPictureLを出力として用いて、第8.8.3.2節で定められているように、1方向のためのデブロッキングフィルタプロセスを呼び出すことによってフィルタリング処理される。
- 水平エッジは、変数treeType、デブロッキング前の再構成されたピクチャ、つまり、アレイrecPictureL、及びEDGE_HORに等しい変数edgeTypeを入力として、デブロッキング後の変更された再構成されたピクチャ、つまり、アレイrecPictureLを出力として用いて、第8.8.3.2節で定められているように、1方向のためのデブロッキングフィルタプロセスを呼び出すことによってフィルタリング処理される。
- ChromaArrayTypeが0に等しくないとき、次が適用される:
- 変数treeTypeはDUAL_TREE_CHROMAに等しくセットされる。
- 垂直エッジは、変数treeType、デブロッキング前の再構成されたピクチャ、つまり、アレイrecPictureCb及びrecPictureCr、並びにEDGE_VERに等しい変数edgeTypeを入力として、デブロッキング後の変更された再構成されたピクチャ、つまり、アレイrecPictureLを出力として用いて、第8.8.3.2節で定められているように、1方向のためのデブロッキングフィルタプロセスを呼び出すことによってフィルタリング処理される。
- 水平エッジは、変数treeType、デブロッキング前の再構成されたピクチャ、つまり、アレイrecPictureCb及びrecPictureCr、並びにEDGE_HORに等しい変数edgeTypeを入力として、デブロッキング後の変更された再構成されたピクチャ、つまり、アレイrecPictureLを出力として用いて、第8.8.3.2節で定められているように、1方向のためのデブロッキングフィルタプロセスを呼び出すことによってフィルタリング処理される。
このプロセスへの入力は:
- ルーマ成分(DUAL_TREE_LUMA)又はクロマ成分(DUAL_TREE_CHROMA)が現在処理されているかどうかを示す変数treeType,
- treeTypegaDUAL_TREE_LUMAに等しいとき、デブロッキング前の再構成されたピクチャ、つまり、アレイrecPictureL,
- ChromaArrayTypeが0に等しくなく、かつ、treeTypeがDUAL_TREE_CHROMAに等しいとき、アレイrecPictureCb及びrecPictureCr,
- 垂直エッジ(EDGE_VER)又は水平エッジ(EDGE_HOL)がフィルタリング処理されるかどうかを示す変数edgeType
である。
- treeTypeがDUAL_TREE_LUMAに等しいとき、アレイrecPictureL,
- ChromaArrayTypeが0に等しくなく、かつ、treeTypeがDUAL_TREE_CHROMAに等しいとき、アレイrecPictureCb及びrecPictureCr
である。
- edgeTypeがEDGE_VERに等しく、次の条件の1つ以上が真である場合に、filterEdgeFlagは0に等しくセットされる:
- 現在のコーディングブロックの左境界がピクチャの左境界である;
- 現在のコーディングブロックの左境界がサブピクチャの左又は右境界であり、loop_filter_across_subpic_enabled_flag[SubPicIdx]が0に等しい;
- 現在のコーディングブロックの左境界がブリックの左境界であり、loop_filter_across_bricks_enabled_flagが0に等しい;
- 現在のコーディングブロックの左境界がスライスの左境界であり、loop_filter_across_slices_enabled_flagが0に等しい;
- 現在のコーディングブロックの左境界がピクチャの垂直仮想境界の1つであり、pps_loop_flter_across_virtual_boundaries_disabled_flagが1に等しい。
- そうではなく、edgeTypeがEDGE_HORに等しく、次の条件の1つ以上が真である場合に、変数filterEdgeFlagは0に等しくセットされる:
- 現在のルーマコーディングブロックの上境界がピクチャの上境界である;
- 現在のコーディングブロックの上境界がサブピクチャの上又は下境界であり、loop_filter_across_subpic_enabled_flag[SubPicIdx]が0に等しい;
- 現在のコーディングブロックの上境界がブリックの上境界であり、loop_filter_across_bricks_enabled_flagが0に等しい;
- 現在のコーディングブロックの上境界がスライスの上境界であり、loop_filter_across_slices_enabled_flagが0に等しい;
- 現在のコーディングブロックの上境界がピクチャの水平仮想境界の1つであり、pps_loop_flter_across_virtual_boundaries_disabled_flagが1に等しい。
- cIdxが0に等しい場合に、recPictureは、デブロッキング前の再構成されたルーマピクチャサンプルアレイrecPictureLに等しくセットされる,
- そうではなく、cIdxが1に等しい場合に、recPictureは、デブロッキング前の再構成されたクロマピクチャサンプルアレイrecPictureCbに等しくセットされる,
- 上記以外の場合(cIdxが2に等しい場合)に、recPictureは、デブロッキング前の再構成されたクロマピクチャサンプルアレイrecPictureCrに等しくセットされる。
このプロセスへの入力は:
- 現在のピクチャの左上サンプルに対して現在のコーディングブロックの左上サンプルを指定する位置(xCb,yCb),
- 現在のコーディングブロックの幅を示す変数nCbW,
- 現在のコーディングブロックの高さを示す変数nCbH,
- 現在のコーディングブロックの色成分を示す変数cIdx,
- 変数filterEdgeFlag,
- 2次元(nCbW)×(nCbH)アレイedgeFlags,
- 2次元(nCbW)×(nCbH)アレイmaxFilterLengthQs及びmaxFilterLengthPs,
- 垂直エッジ(EDGE_VER)又は水平エッジ(EDGE_HOL)がフィルタリング処理されるかどうかを示す変数edgeType
である。
- 変更された2次元(nCbW)×(nCbH)アレイedgeFlags,
- 変更された2次元(nCbW)×(nCbH)アレイmaxFilterLengthQs及びmaxFilterLengthPs
である。
- 変数gridSizeが次のようにセットされる:
- 変数numEdgesはMax(1,nCbW/gridSize)に等しくセットされる。
- xEdge=0..numEdges-1及びy=0..nCbH-1について、次が適用される:
- 現在のコーディングブロック内の水平位置xはxEdge×gridSizeに等しくセットされる。
- edgeFlags[x][y]の値は次のように導出される:
- pps_loop_flter_across_virtual_boundaries_disabled_flagが1に等しく、(xCb+x)がいずれかのn=0..pps_num_ver_virtual_boundaries-1についてPpsVirtualBoundariesPosX[n]に等しい場合に、edgeFlags[x][y]は0に等しくセットされる。
- そうではなく、xが0に等しい場合に、edgeFlags[x][y]はfilterEdgeFlagに等しくセットされる。
- そうではなく、位置(xCb+x,yCb+y)が変換ブロックエッジにある場合に、edgeFlags[x][y]は1に等しくセットされる。
- edgeFlags[x][y]が1に等しいとき、次が適用される:
- cIdxが0に等しい場合に、次が適用される:
- maxFilterLengthQs[x][y]の値は次のように導出される:
- ルーマ位置(xCb+x,yCb+y)での変換ブロックのルーマサンプルでの幅が4以下であるか、あるいは、ルーマ位置(xCb+x-1,yCb+y)での変換ブロックのルーマサンプルでの幅が4以下である場合に、maxFilterLengthQs[x][y]は1に等しくセットされる。
- そうではなく、ルーマ位置(xCb+x,yCb+y)での変換ブロックのルーマサンプルでの幅が32以上である場合に、maxFilterLengthQs[x][y]は7に等しくセットされる。
- 上記以外の場合に、maxFilterLengthQs[x][y]は3に等しくセットされる。
- maxFilterLengthPs[x][y]の値は次のように導出される:
- ルーマ位置(xCb+x,yCb+y)での変換ブロックのルーマサンプルでの幅が4以下であるか、あるいは、ルーマ位置(xCb+x-1,yCb+y)での変換ブロックのルーマサンプルでの幅が4以下である場合に、maxFilterLengthPs[x][y]は1に等しくセットされる。
- そうではなく、ルーマ位置(xCb+x-1,yCb+y)での変換ブロックのルーマサンプルでの幅が32以上である場合に、maxFilterLengthPs[x][y]は7に等しくセットされる。
- 上記以外の場合に、maxFilterLengthPs[x][y]は3に等しくセットされる。
- そうでない場合(cIdxが0に等しくない場合)に、maxFilterLengthPs[x][y]及びmaxFilterLengthQs[x][y]の値は、次のように導出される::
- クロマ位置(xCb+x,yCb+y)での変換ブロックのクロマサンプルでの幅及びクロマ位置(xCb+x-1,yCb+y)での幅が両方とも8以下である場合に、maxFilterLengthPs[x][y]及びmaxFilterLengthQs[x][y]は3に等しくセットされる。
- 上記以外の場合に、maxFilterLengthPs[x][y]及びmaxFilterLengthQs[x][y]は1に等しくセットされる。
- そうでない場合(edgeTypeがEDGE_HORである場合)に、次が適用される:
- 変数numEdgesはMax(1,nCbH/gridSize)に等しくセットされる。
- yEdge=0..numEdges-1及びx=0..nCbW-1について、次が適用される:
- 現在のコーディングブロック内の垂直位置yはyEdge×gridSizeに等しくセットされる。
- edgeFlags[x][y]の値は次のように導出される:
- pps_loop_flter_across_virtual_boundaries_disabled_flagが1に等しく、(yCb+y)がいずれかのn=0..pps_num_hor_virtual_boundaries-1についてPpsVirtualBoundariesPosY[n]に等しい場合に、edgeFlags[x][y]は0に等しくセットされる。
- そうではなく、yが0に等しい場合に、edgeFlags[x][y]はfilterEdgeFlagに等しくセットされる。
- そうではなく、位置(xCb+x,yCb+y)が変換ブロックエッジにある場合に、edgeFlags[x][y]は1に等しくセットされる。
- edgeFlags[x][y]が1に等しいとき、次が適用される:
- cIdxが0に等しい場合に、次が適用される:
- maxFilterLengthQs[x][y]の値は次のように導出される:
- ルーマ位置(xCb+x,yCb+y)での変換ブロックのルーマサンプルでの高さが4以下であるか、あるいは、ルーマ位置(xCb+x,yCb+y-1)での変換ブロックのルーマサンプルでの高さが4以下である場合に、maxFilterLengthQs[x][y]は1に等しくセットされる。
- そうではなく、ルーマ位置(xCb+x,yCb+y)での変換ブロックのルーマサンプルでの高さが32以上である場合に、maxFilterLengthQs[x][y]は7に等しくセットされる。
- 上記以外の場合に、maxFilterLengthQs[x][y]は3に等しくセットされる。
- maxFilterLengthPs[x][y]の値は次のように導出される:
- ルーマ位置(xCb+x,yCb+y)での変換ブロックのルーマサンプルでの高さが4以下であるか、あるいは、ルーマ位置(xCb+x,yCb+y-1)での変換ブロックのルーマサンプルでの高さが4以下である場合に、maxFilterLengthPs[x][y]は1に等しくセットされる。
- そうではなく、ルーマ位置(xCb+x,yCb+y-1)での変換ブロックのルーマサンプルでの幅が32以上である場合に、maxFilterLengthPs[x][y]は7に等しくセットされる。
- 上記以外の場合に、maxFilterLengthPs[x][y]は3に等しくセットされる。
- そうでない場合(cIdxが0に等しくない場合)に、maxFilterLengthPs[x][y]及びmaxFilterLengthQs[x][y]の値は、次のように導出される::
- 次の条件の全てが真である場合に、maxFilterLengthPs[x][y]及びmaxFilterLengthQs[x][y]は3に等しくセットされる:
- クロマ位置(xCb+x,yCb+y)での変換ブロックのクロマサンプルでの高さ及びクロマ位置(xCb+x,yCb+y-1)での高さが両方とも8以下である。
- (yCb+y)%CtbHeightCが0よりも大きい、つまり、水平エッジが上側クロマCTB境界と重なり合わない。
- 上記以外の場合に、maxFilterLengthPs[x][y]及びmaxFilterLengthQs[x][y]は1に等しくセットされる。
このプロセスへの入力は:
- 現在のピクチャの左上サンプルに対して現在のコーディングブロックの左上サンプルを指定する位置(xCb,yCb),
- 現在のコーディングブロックの幅を示す変数nCbW,
- 現在のコーディングブロックの高さを示す変数nCbH,
- 2次元(nCbW)×(nCbH)アレイedgeFlags,
- 2次元(nCbW)×(nCbH)アレイmaxFilterLengthQs及びmaxFilterLengthPs,
- 垂直エッジ(EDGE_VER)又は水平エッジ(EDGE_HOL)がフィルタリング処理されるかどうかを示す変数edgeType
である。
- 変更された2次元(nCbW)×(nCbH)アレイedgeFlags,
- 変更された2次元(nCbW)×(nCbH)アレイmaxFilterLengthQs及びmaxFilterLengthPs
である。
- inter_affine_flag[xCb][yCb]が1に等しいか、あるいは、merge_subblock_flag[xCb][yCb]が1に等しい場合に、numSbX及びnumSbYは、NumbSbX[xCb][yCb]及びNumbSbY[xCb][yCb]に夫々等しくセットされる。
- 上記以外の場合に、numSbX及びnumSbYは両方とも1に等しくセットされる。
- edgeTypeがEDGE_VERに等しい場合に、次が適用される:
- 変数sbWはMax(8,nCbW/numSbX)に等しくセットされる。
- アレイedgeTbFlagsはedgeFlagsに等しくセットされる。
- xEdge=0..min((nCbW/8)-1,numSbX-1)、y=0..nCbH-1について:
- 現在のコーディングブロック内の水平位置xはxEdge×sBWに等しくセットされる。
- edgeFlags[x][y]の値は次のように導出される:
- pps_loop_flter_across_virtual_boundaries_disabled_flagが1に等しく、xがいずれかのn=0..pps_num_ver_virtual_boundaries-1についてPpsVirtualBoundariesPosX[n]に等しい場合に、次が適用される:
- xが0に等しい場合に、次が適用される:
- numSbXが1よりも多いとき、次が適用される:
- (x+4)がnCbW以上である,
- edgeTbFlags[x-4][y]が1に等しい,
- edgeTbFlags[x+4][y]が1に等しい
のうちの1つ以上が真である場合に、次が適用される:
- xEdgeが1に等しい,
- xEdgeが(nCbW/8)-1に等しい,
- edgeTbFlags[x-sbW][y]が1に等しい,
- edgeTbFlags[x+sbW][y]が1に等しい
のうちの1つ以上が真である場合に、次が適用される:
- 変数sbHはMax(8,nCbH/numSbY)に等しくセットされる。
- アレイedgeTbFlagsはedgeFlagsに等しくセットされる。
- yEdge=0..min((nCbH/8)-1,numSbY-1)、x=0..nCbW-1について:
- 現在のコーディングブロック内の垂直位置yはyEdge×sBHに等しくセットされる。
- edgeFlags[x][y]の値は次のように導出される:
- pps_loop_flter_across_virtual_boundaries_disabled_flagが1に等しく、yがいずれかのn=0..pps_num_hor_virtual_boundaries-1についてPpsVirtualBoundariesPosY[n]に等しい場合に、次が適用される:
- yが0に等しく、edgeFlags[x][y]が1に等しい場合に、次が適用される:
- numSbYが1よりも多いとき、次が適用される:
- (y+4)がnCbH以上である,
- edgeTbFlags[x][y-4]が1に等しい,
- edgeTbFlags[x][y+4]が1に等しい
のうちの1つ以上が真である場合に、次が適用される:
- yEdgeが1に等しい,
- yEdgeが(nCbH/8)-1に等しい,
- edgeTbFlags[x][y-sbH]が1に等しい,
- edgeTbFlags[x][y+sbH]が1に等しい
のうちの1つ以上が真である場合に、次が適用される:
このプロセスへの入力は:
- ピクチャサンプルアレイrecPicture,
- 現在のピクチャの左上サンプルに対して現在のコーディングブロックの左上サンプルを指定する位置(xCb,yCb),
- 現在のコーディングブロックの幅を示す変数nCbW,
- 現在のコーディングブロックの高さを示す変数nCbH,
- 垂直エッジ(EDGE_VER)又は水平エッジ(EDGE_HOL)がフィルタリング処理されるかどうかを示す変数edgeType,
- 現在のコーディングブロックの色成分を示す変数cIdx,
- 2次元(nCbW)×(nCbH)アレイedgeFlags
である。
- 変数gridSizeは、次のようにセットされる:
- edgeFlags[xDi][yDj]が0に等しい場合に、変数bS[xDi][yDj]は0に等しくセットされる。
- そうでない場合には、次が適用される:
- サンプル値p0及びq0は、次のように導出される:
- edgeTypeがEDGE_VERに等しい場合、p0はrecPicture[xCb+xDi-1][yCb+yDj]に等しくセットされ、q0はrecPicture[xCb+xDi][yCb+yDj]に等しくセットされる。
- そうでない場合(edgeTypeがEDGE_HORである場合)、p0はrecPicture[xCb+xDi][yCb+yDj-1]に等しくセットされ、q0はrecPicture[xCb+xDi][yCb+yDj]に等しくセットされる。
- 変数bS[xDi][yDj]は、次のように導出される:
- cIdxが0に等しく、サンプルp0及びq0の両方が、1に等しいintra_bdpcm_flagを有するコーディングブロックにある場合に、bS[xDi][yDj]は0に等しくセットされる。
- そうではなく、サンプルp0又はq0が、イントラ予測モードデコーディングされたコーディングユニットのコーディングブロックにある場合に、bS[xDi][yDj]は2に等しくセットされる。
- そうではなく、ブロックエッジが変換ブロックエッジでもあり、サンプルp0又はq0が、1に等しいclip_flagを有するコーディングブロックにある場合に、bS[xDi][yDj]は2に等しくセットされる。
- そうではなく、ブロックエッジが変換ブロックエッジでもあり、サンプルp0又はq0が、1つ以上の非ゼロ変換係数レベルを含む変換ブロックにある場合に、bS[xDi][yDj]は1に等しくセットされる。
- そうではなく、ブロックエッジが変換ブロックエッジでもあり、cIdxが0よりも大きく、サンプルp0又はq0が、1に等しいtu_joint_cbcr_residual_flagを有する変換ユニットにある場合に、bS[xDi][yDj]は1に等しくセットされる。
- そうではなく、サンプルp0を含むコーディングサブブロックの予測モードが、サンプルq0を含むコーディングサブブロックの予測モードとは異なる(つまり、コーディングサブブロックの一方がIBC予測モードでコーディングされ、他方がインター予測モードでコーディングされる)場合に、bS[xDi][yDj]は1に等しくセットされる。
- そうではなく、cIdxが0に等しく、次の条件
- サンプルp0を含むコーディングサブブロック及びサンプルq0を含むコーディングサブブロックが両方ともIBC予測モードでコーディングされ、2つのコーディングサブブロックの予測で使用されるブロックベクトルの水平又は垂直成分の間の絶対差が、1/16ルーマサンプルの単位で8以上である。
- サンプルp0を含むコーディングサブブロックの予測のために、サンプルq0を含むコーディングサブブロックの予測のためとは異なる参照ピクチャ又は異なる数の動きベクトルが使用される。
注記1:2つのコーディングサブブロックに使用される参照ピクチャが同じであるか又は異なるかの決定は、どのピクチャが参照されるかにのみ基づき、参照ピクチャリスト0へのインデックス又は参照ピクチャリスト1へのインデックスを用いて予測が形成されるかどうかにも、参照ピクチャリスト内のインデックス位置が異なるかどうかにも無関係である。
注記2:(xSb,ySb)をカバーする左上サンプルを含むコーディングサブブロックの予測のために使用される動きベクトルの数は、PredFlagL0[xSb][ySb]+PredFlagL1[xSb][ySb]に等しい。
- 1つの動きベクトルが、サンプルp0を含むコーディングサブブロックを予測するために使用され、1つの動きベクトルが、サンプルq0を含むコーディングサブブロックを予測するために使用され、使用される動きベクトルの水平又は垂直成分の間の絶対差が、1/16ルーマサンプルの単位で8以上である。
- 2つの動きベクトル及び2つの参照ピクチャが、サンプルp0を含むコーディングサブブロックを予測するために使用され、同じ2つの参照ピクチャの2つの動きベクトルが、サンプルq0を含むコーディングサブブロックを予測するために使用され、同じ参照ピクチャについて2つのコーディングサブブロックの予測で使用される2つの動きベクトルの水平又は垂直成分の間の絶対差が、1/16ルーマサンプルの単位で8以上である。
- 同じ参照ピクチャの2つの動きベクトルが、サンプルp0を含むコーディングサブブロックを予測するために使用され、同じ参照ピクチャの2つの動きベクトルが、サンプルq0を含むコーディングサブブロックを予測するために使用され、次の条件の両方が真である:
- 2つのコーディングサブブロックの予測で使用されるリスト0動きベクトルの水平又は垂直成分の間の絶対差が、1/16ルーマサンプルの単位で8以上であるか、あるいは、2つのコーディングサブブロックの予測で使用されるリスト1動きベクトルの水平又は垂直成分の間の絶対差が、1/16ルーマサンプルの単位で8以上である。
- サンプルp0を含むコーディングサブブロックの予測で使用されるリスト0動きベクトルと、サンプルq0を含むコーディングサブブロックの予測で使用されるリスト1動きベクトルとの水平又は垂直成分の間の絶対差が、1/16ルーマサンプルの単位で8以上であるか、あるいは、サンプルp0を含むコーディングサブブロックの予測で使用されるリスト1動きベクトルと、サンプルq0を含むコーディングサブブロックの予測で使用されるリスト0動きベクトルとの水平又は垂直成分の間の絶対差が、1/16ルーマサンプルの単位で8以上である。
のうちの1つ以上が真である場合に、bS[xDi][yDj]は1に等しくセットされる。
- 上記以外の場合に、変数bS[xDi][yDj]は0に等しくセットされる。
このプロセスへの入力は:
- 垂直エッジ(EDGE_VER)又は水平エッジ(EDGE_HOL)がフィルタリング処理されるかどうかを示す変数edgeType,
- 現在のコーディングブロックの色成分を示す変数cIdx,
- デブロッキング前の再構成されたピクチャrecPicture,
- 現在のピクチャの左上サンプルに対して現在のコーディングブロックの左上サンプルを指定する位置(xCb,yCb),
- 現在のコーディングブロックの幅を示す変数nCbW,
- 現在のコーディングブロックの高さを示す変数nCbH,
- 境界強さを示すアレイbS,
- 変数filterEdgeFlag,
- アレイmaxFilterLengthPs及びmaxFilterLengthQs
である。
- 変数gridSizeは、次のようにセットされる:
- bS[xDk][yDm]が0よりも大きい場合に、次の順序づけられたステップが適用される:
- cIdxが0に等しい場合に、現在のコーディングユニットのルーマコーディングブロック内のエッジに対するフィルタリングプロセスは、次の順序づけられたステップから成る:
1.第8.8.3.6.1節で定められているルーマブロックエッジに対する決定プロセスが、ルーマピクチャサンプルアレイrecPicture、ルーマコーディングブロックの位置(xCb,yCb)、(xDk,yDm)に等しくセットされたブロックのルーマ位置(xBl,yBl)、エッジ方向edgeType、境界フィルタリング強さbS[xDk][yDm]、maxFilterLengthPs[xDk][yDm]に等しくセットされた最大フィルタ長さmaxFilterLengthP、maxFilterLengthQs[xDk][yDm]に等しくセットされた最大フィルタ長さmaxFilterLengthQを入力として、決定dE、dEp及びdEq、変更された最大フィルタ長さmaxFilterLengthP及びmaxFilterLengthQ、並びに変数tCを出力として用いて、呼び出される。
2.第8.8.3.6.2節で定められているブロックエッジのためのフィルタリングプロセスが、ルーマピクチャサンプルアレイrecPicture、ルーマコーディングブロックの位置(xCb,yCb)、(xDk,yDm)に等しくセットされたブロックのルーマ位置(xBl,yBl)、エッジ方向edgeType、決定dE、dEp及びdEq、最大フィルタ長さmaxFilterLengthP及びmaxFilterLengthQ、並びに変数tCを入力として、変更されたルーマピクチャサンプルアレイrecPictureを出力として用いて、呼び出される。
- そうではない場合(cIdxが0に等しくない場合)に、cIdxによって指定される現在のコーディングユニットのクロマコーディングブロック内のエッジに対するフィルタリングプロセスは、次の順序づけられたステップから成る:
1.変数cQpPicOffsetが次のように導出される:
3.maxFilterLengthCbCrが0よりも大きいとき、第8.8.3.6.4節で定められているクロマブロックエッジのためのフィルタリングプロセスが、クロマピクチャサンプルアレイrecPicture、クロマコーディングブロックの位置(xCb,yCb)、(xDk,yDm)に等しくセットされたブロックのクロマ位置(xBl,yBl)、エッジ方向edgeType、変数maxFilterLengthCbCr、及び変数tCを入力として、変更されたクロマピクチャサンプルアレイrecPictureを出力として用いて、呼び出される。
このプロセスへの入力は:
- ピクチャサンプルアレイrecPicture,
- 現在のピクチャの左上サンプルに対して現在のコーディングブロックの左上サンプルを指定する位置(xCb,yCb),
- 現在のコーディングブロックの左上サンプルに対する現在のブロックの左上サンプルを指定する位置(xBl,yBl),
- 垂直エッジ(EDGE_VER)又は水平エッジ(EDGE_HOL)がフィルタリング処理されるかどうかを示す変数edgeType,
- 境界フィルタリング強さを示す変数bS,
- 最大フィルタ長さを示す変数maxFilterLengthP,
- 最大フィルタ長さを示す変数maxFilterLengthQ
である。
- 決定を含む変数dE、dEp及びdEq,
- 変更されたフィルタ長さ変数maxFilterLengthP及びmaxFilterLengthQ,
- 変数tC
である。
- edgeTypeがEDGE_VERに等しい場合に、次が適用される:
- sps_ladf_enabled_flagが1に等しい場合に、次が適用される:
- 再構成されたルーマレベルの変数lumaLevelは、次のように導出される:
1.変数dp0、dp3、dq0、及びdq3が、次のように導出される:
4.maxFilterLengthPが3よりも大きいとき、sidePisLargeBlkは1に等しくセットされる。
5.maxFilterLengthQが3よりも大きいとき、sideQisLargeBlkは1に等しくセットされる。
6.edgeTypeがEDGE_HORであり、(yCb+yBl)%CtbSizeYが0に等しいとき、sidePisLargeBlkは0に等しくセットされる。
7.変数dSam0及びdSam3が0に初期化される。
8.sidePisLargeBlk又はsideQisLargeBlkが0よりも大きいとき、次が適用される:
a.変数qp0L、dp3Lが導出され、maxFilterLengthPは次のように変更される:
- sidePisLargeBlkが1に等しい場合に、次が適用される:
- sideQisLargeBlkが1に等しい場合に、次が適用される:
i.変数dpqが2×dpq0Lに等しくセットされる。
ii.変数spがsp0に等しくセットされ、変数sqがsq0に等しくセットされ、変数spqがspq0に等しくセットされる。
iii.変数p0、p3、q0及びq3は最初に0に初期化され、次いで、次のように、sidePisLargeBlk及びsideQisLargeBlkに従って変更される:
- sidePisLargeBlkが1に等しいとき、次が適用される:
v.変数dpqが2×dpq3Lに等しくセットされる。
vi.変数spがsp3に等しくセットされ、変数sqがsq3に等しくセットされ、変数spqがspq3に等しくセットされる。
vii.変数p0、p3、q0及びq3は最初に0に初期化され、次いで、次のように、sidePisLargeBlk及びsideQisLargeBlkに従って変更される:
- sidePisLargeBlkが1に等しいとき、次が適用される:
9.変数dE、dEp及びdEqが次のように導出される:
- dSam0及びdSam3が両方とも1に等しい場合に、変数dEは3に等しくセットされ、dEpは1に等しくセットされ、dEqは1に等しくセットされる。
- 上記以外の場合には、次の順序づけられたステップが適用される:
a.変数dpq0、dpq3、dp、dq及びdが、次のように導出される:
c.dがβよりも小さく、maxFilterLengthP及びmaxFilterLengthQが両方とも2よりも大きいとき、次の順序づけられたステップが適用される:
i.変数dpqが2×dpq0Lに等しくセットされる。
ii.変数spがsp0に等しくセットされ、変数sqがsq0に等しくセットされ、変数spqがspq0に等しくセットされる。
iii.サンプル位置(xCb+xBl,yCb+yBl)について、第8.8.3.6.5節で指定されるようなルーマサンプルのための決定プロセスが、全て0に等しくセットされた変数p0、p3、q0及びq3、変数dpq、sp、sq、spq、sidePisLargeBlk、sideQisLargeBlk、β、及びtCを入力として用いて呼び出され、出力が、決定dSam0に割り当てられる。
iv.変数dpqが2×dpq3Lに等しくセットされる。
v.変数spがsp3に等しくセットされ、変数sqがsq3に等しくセットされ、変数spqがspq3に等しくセットされる。
vi.サンプル位置(xCb+xBl,yCb+yBl+3)についてedgeTypeがEDGE_VERに等しいとき、又はサンプル位置(xCb+xBl+3,yCb+yBl)についてedgeTypeがEDGE_HORに等しいとき、第8.8.3.6.5節で指定されるようなルーマサンプルのための決定プロセスが、全て0に等しくセットされた変数p0、p3、q0及びq3、変数dpq、sp、sq、spq、sidePisLargeBlk、sideQisLargeBlk、β、及びtCを入力として用いて呼び出され、出力が、決定dSam3に割り当てられる。
d.dがβよりも小さいとき、次の順序づけられたステップが適用される:
i.変数dEが1に等しくセットされる。
ii.dSam0が1に等しく、dSam3が1に等しいとき、変数dEは2に等しくセットされる。
iii.maxFilterLengthPが1よりも大きく、maxFilterLengthQが1よりも大きく、dpが(β+(β>>1))>>3よりも小さいとき、変数dEpは1に等しくセットされる。
iv.maxFilterLengthPが1よりも大きく、maxFilterLengthQが1よりも大きく、dpが(β+(β>>1))>>3よりも小さいとき、変数dEqは1に等しくセットされる。
このプロセスへの入力は:
- ピクチャサンプルアレイrecPicture,
- 現在のピクチャの左上サンプルに対して現在のコーディングブロックの左上サンプルを指定する位置(xCb,yCb),
- 現在のコーディングブロックの左上サンプルに対する現在のブロックの左上サンプルを指定する位置(xBl,yBl),
- 垂直エッジ(EDGE_VER)又は水平エッジ(EDGE_HOL)がフィルタリング処理されるかどうかを示す変数edgeType,
- 決定を含む変数dE、dEp、及びdEq,
- 最大フィルタ長さを含む変数maxFilterLengthP及びmaxFilterLengthQ,
- 変数tC
である。
- edgeTypeがEDGE_VERである場合に、次の順序づけられたステップが適用される:
1.サンプル値pi,k及びqj,k(i=0..maxFilterLengthP、j=0..maxFilterLengthQ、k=0..3)は、次のように導出される:
a.第8.8.3.6.6節で指定されているように短いフィルタを使用するルーマサンプルのためのフィルタリングプロセスは、サンプル値pi,k、qi,k(i=0..3)、(xCb+xBl-i-1,yCb+yBl+k)に等しくセットされた位置(xPi,yPi)及び(xCb+xBl+i,yCb+yBl+k)に等しくセットされた位置(xQi,yQi)(i=0..2)、決定dE、変数dEp及びdEq、並びに変数tCを入力として、ブロック境界の夫々の側からのフィルタリングされたサンプルの数nDp及びnDq並びにフィルタリングされたサンプル値pi’及びqj’を出力として用いて、呼び出される。
b.nDpが0よりも大きいとき、フィルタリングされたサンプル値pi’(i=0..nDp-1)は、次のように、サンプルアレイrecPicture内の対応するサンプルを置換する:
a.第8.8.3.6.7節で指定されているように長いフィルタを使用するルーマサンプルのためのフィルタリングプロセスは、サンプル値pi,k、qj,k(i=0..maxFilterLengthP及びj=0..maxFilterLengthQ)、(xCb+xBl-i-1,yCb+yBl+k)に等しくセットされた位置(xPi,yPi)及び(xCb+xBl+j,yCb+yBl+k)に等しくセットされた位置(xQj,yQj)(j=0..maxFilterLengthQ-1)、変数maxFilterLengthP、maxFilterLengthQ、及びtCを入力として、フィルタリングされたサンプル値pi’及びqj’を出力として用いて、呼び出される。
b.フィルタリングされたサンプル値pi’(i=0..maxFilterLengthP-1)は、次のように、サンプルアレイrecPicture内の対応するサンプルを置換する:
1.サンプル値pi,k及びqj,k(i=0..maxFilterLengthP、j=0..maxFilterLengthQ、k=0..3)は、次のように導出される:
a.第8.8.3.6.6節で指定されているように短いフィルタを使用するルーマサンプルのためのフィルタリングプロセスは、サンプル値pi,k、qi,k(i=0..3)、(xCb+xBl+k,yCb+yBl-i-1)に等しくセットされた位置(xPi,yPi)及び(xCb+xBl+k,yCb+yBl+i)に等しくセットされた位置(xQi,yQi)(i=0..2)、決定dE、変数dEp及びdEq、並びに変数tCを入力として、ブロック境界の夫々の側からのフィルタリングされたサンプルの数nDp及びnDq並びにフィルタリングされたサンプル値pi’及びqj’を出力として用いて、呼び出される。
b.nDpが0よりも大きいとき、フィルタリングされたサンプル値pi’(i=0..nDp-1)は、次のように、サンプルアレイrecPicture内の対応するサンプルを置換する:
a.第8.8.3.6.7節で指定されているように長いフィルタを使用するルーマサンプルのためのフィルタリングプロセスは、サンプル値pi,k、qj,k(i=0..maxFilterLengthP及びj=0..maxFilterLengthQ)、(xCb+xBl+k,yCb+yBl-i-1)に等しくセットされた位置(xPi,yPi)及び(xCb+xBl+kyCb+yBl+j)に等しくセットされた位置(xQj,yQj)(j=0..maxFilterLengthQ-1)、変数maxFilterLengthP、maxFilterLengthQ、及びtCを入力として、フィルタリングされたサンプル値pi’及びqj’を出力として用いて、呼び出される。
b.フィルタリングされたサンプル値pi’(i=0..maxFilterLengthP-1)は、次のように、サンプルアレイrecPicture内の対応するサンプルを置換する:
このプロセスは、ChromaArrayTypeが0に等しくないときにのみ呼び出される。
- クロマピクチャサンプルアレイrecPicture,
- 現在のピクチャの左上クロマサンプルに対して現在のクロマコーディングブロックの左上サンプルを指定するクロマ位置(xCb,yCb),
- 現在のクロマコーディングブロックの左上サンプルに対する現在のクロマブロックの左上サンプルを指定するクロマ位置(xBl,yBl),
- 垂直エッジ(EDGE_VER)又は水平エッジ(EDGE_HOL)がフィルタリング処理されるかどうかを示す変数edgeType,
- 色成分インデックスを示す変数cIdx,
- ピクチャレベルのクロマ量子化パラメータオフセットを示す変数cQpPicOffset,
- 境界フィルタリング強さを示す変数bS,
- 変数maxFilterLengthCbCr
である。
- 変更された変数maxFilterLengthCbCr,
- 変数tC
である。
- edgeTypeがEDGE_VERに等しい場合に、次が適用される:
- edgeTypeがEDGE_VERに等しい場合に、次が適用される:
1.変数n1、dpq0、dpq1、dq、dq及びdが、次のように導出される:
3.変数dがβよりも小さいとき、次の順序づけられたステップが適用される:
a.変数dpqが2×dpq0に等しくセットされる。
b.変数dSam0が、サンプル位置(xCb+xBl,yCb+yBl)について第8.8.3.6.8節で指定されているクロマサンプルのための決定プロセスを、サンプル値p0,0、p3,0、q0,0及びq3,0、変数dpq、β、及びtCを入力として用いて呼び出すことによって、導出され、出力が、決定dSam0に割り当てられる。
c.変数dpqが2×dpq1に等しくセットされる。
d.変数dSam1が次のように変更される:
- サンプル位置(xCb+xBl,yCb+yBl+n1)についてedgeTypeがEDGE_VERに等しいとき、第8.8.3.6.8節で指定されるようなクロマサンプルのための決定プロセスが、サンプル値p0,n1、p3,n1、q0,n1及びq3,n1、変数dpq、β、及びtCを入力として用いて呼び出され、出力が、決定dSam1に割り当てられる。
- そうでない場合(edgeTypeがEDGE_HORに等しい場合)には、サンプル位置(xCb+xBl+n1,yCb+yBl)について、第8.8.3.6.8節で指定されるようなクロマサンプルのための決定プロセスが、サンプル値p0,n1、p3,n1、q0,n1及びq3,n1、変数dpq、β、及びtCを入力として用いて呼び出され、出力が、決定dSam1に割り当てられる。
4.変数maxFilterLengthCbCrは、次のように変更される:
- dSam0が1に等しく、dSam1が1に等しい場合に、maxFilterLengthCbCrは3に等しくセットされる。
- そうでない場合には、maxFilterLengthCbCrは1に等しくセットされる。
このプロセスは、ChromaArrayTypeが0に等しくないときにのみ呼び出される。
- クロマピクチャサンプルアレイrecPicture,
- 現在のピクチャの左上クロマサンプルに対して現在のクロマコーディングブロックの左上サンプルを指定するクロマ位置(xCb,yCb),
- 現在のクロマコーディングブロックの左上サンプルに対する現在のクロマブロックの左上サンプルを指定するクロマ位置(xBl,yBl),
- 垂直エッジ(EDGE_VER)又は水平エッジ(EDGE_HOL)がフィルタリング処理されるかどうかを示す変数edgeType,
- 最大クロマフィルタ長さを含む変数maxFilterLengthCbCr,
- 変数tC
である。
- edgeTypeがEDGE_VERに等しい場合に、次が適用される:
- edgeTypeがEDGE_VERに等しい場合に、次が適用される:
- edgeTypeがEDGE_VERに等しい場合に、各サンプル位置(xCb+xBl,yCb+yBl+k)、k=0..maxKについて、次の順序づけられたステップが適用される:
1.第8.8.3.6.9節で指定されているようなクロマサンプルのためのフィルタリングプロセスは、変数maxFilterLengthCbCr、サンプル値pi,k、qi,k(i=0..maxFilterLengthCbCr)、位置(xCb+xBl-i-1,yCb+yBl+k)及び(xCb+xBl+i,yCb+yBl+k)(i=0..maxFilterLengthCbCr-1)、並びに変数tCを入力として、フィルタリングされたサンプル値pi’及びqi’(i=0..maxFilterLengthCbCr-1)を出力として用いて、呼び出される。
2.フィルタリングされたサンプル値pi’及びqi’(i=0..maxFilterLengthCbCr-1)は、次のように、サンプルアレイrecPicture内の対応するサンプルを置換する:
1.第8.8.3.6.9節で指定されているようなクロマサンプルのためのフィルタリングプロセスは、変数maxFilterLengthCbCr、サンプル値pi,k、qi,k(i=0..maxFilterLengthCbCr)、位置(xCb+xBl+k,yCb+yBl-i-1)及び(xCb+xBl+k,yCb+yBl+i)、並びに変数tCを入力として、フィルタリングされたサンプル値pi’及びqi’を出力として用いて、呼び出される。
2.フィルタリングされたサンプル値pi’及びqi’は、次のように、サンプルアレイrecPicture内の対応するサンプルを置換する:
このプロセスへの入力は:
- サンプル値p0、p3、q0及びq3,
- 変数dpq、sp、sq、spq、sidePisLargeBlk、sideQisLargeBlk、β、及びtC
である。
- sidePisLargeBlkが1に等しいか、あるいは、sideQisLargeBlkが1に等しい場合に、次が適用される:
- 次の条件の全てが真である場合に、dSamは1に等しくセットされる:
- dpqが(β>>2)よりも小さい,
- sp+sqがsThrよりも小さい,
- spqが(5×tC+1)>>1よりも小さい。
- 上記以外の場合に、dSamは0に等しくセットされる。
このプロセスのへ入力は:
- サンプル値pi及びqi(i=0..3),
- pi及びqiの位置(xPi,yPi)及び(xQi,yQi)(i=0..2),
- 変数dE,
- 夫々サンプルp1及びq1にフィルタリング処理を施すとの決定を含む変数dEp及びdEq,
- 変数tC
である。
- フィルタリングされたサンプルの数nDp及びnDq,
- フィルタリングされたサンプル値pi’及びqj’(i=0..nDp-1、j=0..nDq-1)
である。
- 変数dEが2に等しい場合に、nDp及びnDqは両方とも3に等しくセットされ、次の強フィルタリングが適用される:
- 次が適用される:
- フィルタリングされたサンプル値p0’及びq0’が次のように指定される:
- サンプルp0を含むコーディングブロックを含むコーディングユニットのcu_transquant_bypass_flagが1に等しい,
- サンプルp0を含むコーディングブロックを含むコーディングユニットのpred_mode_plt_flagが1に等しい。
- サンプルq0を含むコーディングブロックを含むコーディングユニットのcu_transquant_bypass_flagが1に等しい,
- サンプルq0を含むコーディングブロックを含むコーディングユニットのpred_mode_plt_flagが1に等しい。
このプロセスのへ入力は:
- 変数maxFilterLengthP及びmaxFilterLengthQ,
- サンプル値pi及びqj(i=0..maxFilterLengthP及びj=0..maxFilterLengthQ),
- pi及びqjの位置(xPi,yPi)及び(xQj,yQj)(i=0..maxFilterLengthP-1及びj=0..maxFilterLengthQ-1),
- 変数tC
である。
- フィルタリングされたサンプル値pi’及びqj’(i=0..maxFilterLengthP-1、j=0..maxFilterLengthQ-1)
である。
- maxFilterLengthPがmaxFilterLengthQに等しく、maxFilterLengthPが5に等しい場合に、次が適用される:
- maxFilterLengthQが7に等しく、maxFilterLengthPが5に等しい,
- maxFilterLengthQが5に等しく、maxFilterLengthPが7に等しい
の1つが真である場合に、次が適用される:
- maxFilterLengthQが5に等しく、maxFilterLengthPが3に等しい,
- maxFilterLengthQが3に等しく、maxFilterLengthPが5に等しい
の1つが真である場合に、次が適用される:
- maxFilterLengthPが7に等しい場合に、次が適用される:
- maxFilterLengthQが7に等しい場合に、次が適用される:
- サンプルpiを含むコーディングブロックを含むコーディングユニットのcu_transquant_bypass_flagが1に等しい,
- サンプルpiを含むコーディングブロックを含むコーディングユニットのpred_mode_plt_flagが1に等しい。
- サンプルqiを含むコーディングブロックを含むコーディングユニットのcu_transquant_bypass_flagが1に等しい,
- サンプルqiを含むコーディングブロックを含むコーディングユニットのpred_mode_plt_flagが1に等しい。
このプロセスへの入力は:
- サンプル値p0、p3、q0及びq3,
- 変数dpq、β及びtC
である。
- 次の条件の全てが真である場合に、dSamは1に等しくセットされる:
- dpqが(β>>2)よりも小さい,
- Abs(p3-p0)+Abs(q0-q3)は(β>>3)よりも小さい,
- Abs(p0-q0)は(5×tC+1)>>1よりも小さい。
- そうではない場合に、dSamは0に等しくセットされる。
このプロセスは、ChromaArrayTypeが0に等しくなく呼び出される。
- 変数maxFilterLength,
- クロマサンプル値pi及びqi(i=0..maxFilterLengthCbCr),
- pi及びqiのクロマ位置(xPi,yPi)及び(xQi,yQi)(i=0..maxFilterLengthCbCr-1),
- 変数tC
である。
- maxFilterLengthCbCrが3に等しい場合に、次の強フィルタリングが適用される:
- サンプルpiを含むコーディングブロックを含むコーディングユニットのcu_transquant_bypass_flagが1に等しい,
- サンプルpiを含むコーディングブロックを含むコーディングユニットのpred_mode_plt_flagが1に等しい。
- サンプルqiを含むコーディングブロックを含むコーディングユニットのcu_transquant_bypass_flagが1に等しい,
- サンプルqiを含むコーディングブロックを含むコーディングユニットのpred_mode_plt_flagが1に等しい。
VTM6では、ラインバッファ要件を低減するために、変更されたブロック分類及びフィルタリングが、水平CTU境界に近いサンプルに対して用いられる。このために、仮想境界は、図4に示されるように、“N”個のサンプルを含む水平CTU境界をシフトすることによってラインとして定義される。Nは、ルーマ成分については4に等しく、クロマ成分については2に等しい。
最新のVVC作業草案JVET-O2001-v14には、以下で記載されるいくつかの問題がある。
(1)4×4サンプルグリッドルーマデブロックフィルタリングが仮想境界に適用され、これは、部分CTUに基づいたインループフィルタリングに使用されるラインバッファを増大させる。改善された方法が、余分のラインバッファを低減するために使用され得る。
(2)WD6では、ルーマデブロッキングが4×4グリッド変換ブロック境界で適用されるが、サブブロック境界については、ラインデブロッキングは8×8グリッドで適用される。しかし、サブブロックベースのアフィン予測は4×4に基づいており、これにより、2つの隣接する4×4ブロックの間の動きベクトル差は大きくなる。従って、ブロッキングアーチファクトが4×4サブブロック境界で起こる可能性があり、ルーマデブロッキングフィルタを4×4グリッドサブブロック境界に拡張する必要がある。
(3)WD6では、デブロッキングフィルタは、マージトライアングル予測モード(Triangle Prediction Mode,TPM)コーディングされたブロックの内部サブブロックエッジに適用されない。しかし、TPMブロックの動きベクトルは4×4ブロック粒度で記憶され、これは、2つの隣接する4×4ブロックの間の動きベクトル差を大きくする可能性がある。よって、デブロッキングフィルタをTPMブロック内部のエッジに適用することが必要とされ得る。
(4)WD6では全てのクロマフラグがクロマフォーマットに応じて通知されるわけではない。これは望ましくないことがある。
(5)WD6では、PPSシンタックス要素log2_transform_skip_max_size_minus2がSPSシンタックス要素を条件として通知される。これは、SPSとPPSとの間のパージング依存性を引き起こす可能性がある。
(6)WD6では、maxFilterLengthPsの設定は、現在のコーディングブロックが1よりも多い8×8ブロックを含むかどうかに依存する。例えば、8×8アフィン又はSbTMVPコーディングされたブロックについては、maxFilterLengthPsは変更されないままであり、変換ブロック境界から導出される。しかし、他のサブブロック境界については、maxFilterLengthQsがmini(5,maxFilterLengthQs)にリセットされる。
(7)WD6では、maxFilterLengthQsの設定は、エッジが最初のサブブロック境界(最左又は最上)に位置しているかどうかに依存する。次の2つの場合について:
a)垂直エッジの左にあるブロックがサブブロックコーディングされていない。
b)水平エッジブロックの上にあるブロックがサブブロックコーディングされていない。
上記の場合について、maxFilterLengthPsは変更されないままであり、変換ブロック境界から導出される。しかし、他のサブブロック境界については、maxFilterLengthPsがmini(5,maxFilterLengthPs)にリセットされる。
(8)WD6では、サブブロックエッジのmaxFilterLengthPs及びmaxFilterLengthQsの設定は、エッジの位置に4をプラスしたものが現在のコーディングブロック幅以上であるかどうかに依存するが、これは不要である場合がある。
(9)WD6では、変換ブロックエッジから4サンプル離れている内部サブブロックエッジについて、maxFilterLengthPs及びmaxFilterLengthQsは1にセットされる。そうではなく、内部の最初/最後のサブブロックエッジ、及びTUエッジから8サンプル離れているサブブロックエッジについては、maxFilterLengthPs及びmaxFilterLengthQsは2にセットされる。そうではなく、他の内部サブブロックエッジについては、maxFilterLengthPs及びmaxFilterLengthQsは3にセットされる。これらの条件は更に精緻化されてもよい。
(10)WD6では、デブロッキングフィルタ強さbSの設定は、隣接するブロックの予測モードに依存する(例えば、サンプルp0を含むコーディングサブブロックの予測モードがサンプルq0を含むコーディングサブブロックの予測モードとは異なる場合に、bSは1に等しくセットされる。)。
(11)WD6では、それが変換ブロックエッジであり、エッジのどちらかの側に位置する1つの隣接するブロックがCIIPモードでコーディングされている場合に、このエッジのデブロッキングフィルタ強さbSは2にセットされる。
以下の詳述されている発明は、一般概念を説明するための例と見なされるべきである。これらの発明は、狭い意味で解釈されるべきではない。更に、これらの発明は、如何なる方法でも組み合わせ可能である。
1.ルーマデブロッキングフィルタが、サブブロック自然境界上の4×4グリッドで適用され得る。
a.一例で、現在のサブブロック自然境界がルーマデブロッキングフィルタリング処理される必要があるか否かの決定(例えば、edgeFlagsの値)は、4×4グリッドで実行され得る。
i.一例で、現在のサブブロック自然境界がルーマデブロッキングフィルタリング処理される必要があるか否かの決定(例えば、edgeFlagsの値)は、8×8グリッドで実行され得ない。
b.一例で、ルーマデブロッキングフィルタ長さの決定(例えば、maxFilterLengthPs及びmaxFilterLengthQs)は、4×4グリッドで適用され得る。
i.一例で、ルーマデブロッキングフィルタ長さの決定(maxFilterLengthPs及びmaxFilterLengthQs)は、8×8グリッドで適用され得ない。
c.一例で、サブブロックコーディングされたブロックにおけるサブブロック境界/フィルタ長さ/フィルタ強さ決定のためのグリッド単位(例えば、4×4又は8×8)は、サブブロックコーディング方法に依存し得る。
i.一例で、サブブロックコーディングされたブロックにおけるサブブロック境界/フィルタ長さ/フィルタ強さ決定のためのグリッド単位(例えば、4×4又は8×8)は、動き補償/動き導出で使用されるサブブロックサイズと整列され得る。
ii.一例で、現在のブロックがアフィンコーディングされる場合に、ルーマデブロッキングフィルタは、アフィンサブブロック境界上の4×4グリッドで適用され得る。
1)例えば、アフィンコーディングされたブロックのサブブロック境界については、上記のビュレット1.a及びビュレット2.aが適用され得る。
iii.一例で、現在のブロックがSbTMVPコーディングされる場合に、デブロッキングフィルタは、SbTMVPサブブロック境界上の8×8グリッドで適用され得る。
a.一例で、クロマデブロッキングフィルタは、N×M(例えば、8×8又は4×4又は4×8又は8×4)グリッドサブブロック境界で適用され得る。
b.一例で、現在のクロマデブロッキングエッジがサブブロック境界であるか否かの決定(例えば、edgeFlagsの値)は、N×N(N=8又は4)グリッドで実行され得る。
c.一例で、クロマデブロッキングフィルタ長さの決定(例えば、maxFilterLengthPs及びmaxFilterLengthQs)は、N×M(例えば、8×8又は4×4又は4×8又は8×4)で適用され得る。
d.一例で、クロマデブロッキングフィルタ長さの値(例えば、maxFilterLengthPs及びmaxFilterLengthQs)は、L(例えば、L=3又は2又は1)以下であり得る。
e.一例で、クロマサブブロック境界のための境界フィルタリング強さの値(例えば、bS)は、動きベクトルの数、参照ピクチャ、現在の境界の両側に位置している2つの隣接ピクセル間の絶対BV/MV差に依存し得る。
f.上記の方法を適用すべきかどうかは、現在のブロックがサブブロックベースの技術(例えば、SbTMVP、アフィン、DMVR、デュアルツリーの場合におけるクロマIBCモード)デコーディングされることに依存し得る。
g.上記の方法を適用すべきかどうかは、色サブサンプリングフォーマット(4:4:4に等しいか否か)に依存し得る。
h.デブロッキンググリッドN×Mは色フォーマットに依存し得る。
a.一例で、TPMコーディングされたブロックのための内部エッジ導出は、SbTMVP及び/又はアフィンコーディングされたブロックのためのサブブロック境界導出プロセスと同じであり得る。
b.一例で、TPMコーディングされたブロックは、サブブロックコーディングされたブロックとして扱われてもよく、サブブロック境界/フィルタ長さ/フィルタ強さ決定は、4×4又は8×8グリッドで決定され得る。
a.現在のコーディングブロックの最左の垂直境界(及び/又は最上の水平境界)については、デブロッキングフィルタ長さの値は、それが変換ブロックエッジ(例えば、edgeTbFlags)と一致するか否かを条件とされ得る。
i.一例で、現在のコーディングブロックの最左の垂直境界(又は最上の水平境界)については、この境界のedgeTbFlagsが1に等しい場合に、現在のブロックのデブロッキングフィルタ長さmaxFilterLengthPsは、その境界の左(又は上)にある隣接コーディングブロックがSbTMVPコーディング又はアフィンコーディングされているかどうかにかかわらず、Min(5,maxFilterLengthPs)にセットされ得る。
ii.一例で、現在のコーディングブロックの最左の垂直境界(又は最上の水平境界)については、この境界のedgeTbFlagsが1に等しい場合に、現在のブロックのデブロッキングフィルタ長さmaxFilterLengthPsは、現在のコーディングブロック内のサブブロックの数にかかわらず、Min(5,maxFilterLengthPs)にセットされる。
a.一例で、[a,b]の範囲内のxEdgeについては、maxFilterLengthPs及び/又はmaxFilterLengthQsは、固定整数値L(例えば、L=1,2,3)にセットされ得る。
i.一例で、a=0又は1である。
ii.一例で、b=M又はM-1である。
iii.一例で、a=b=0又は1又はM又はM-1である。
a.一例で、SbTMVP及びアフィンサブブロック境界を導出するとき、デブロッキングフィルタ長さ(例えば、maxFilterLengthPs及び/又はmaxFilterLengthQs)は、x+deltaがブロック幅/高さ以上であるかどうかをチェックせずに決定され得る。
b.一例で、SbTMVP及びアフィンサブブロック境界を導出するとき、デブロッキングフィルタ長さ(例えば、maxFilterLengthPs及び/又はmaxFilterLengthQs)は、x+deltaがブロック幅/高さ以上であるかどうかをチェックすることによって決定され得る。
a.一例で、ブロック(例えば、SbTMVP及び/又はアフィンでコーディングされている。)のサブブロック境界を導出するとき、ブロック内の列xでの垂直境界又は行yでの水平境界のデブロッキングフィルタ長さ(例えば、maxFilterLengthPs及びmaxFilterLengthQs)の決定は、以下の場合のうちの1つに依存し得る:
i.x+dx>=ブロック幅が満足されるかどうか、及び/又はy+dy>=ブロック高さが満足されるかどうかをチェックせずに、列x+dxでの垂直境界又は行y+dyでの水平境界が変換ブロック境界であるか否か;
ii.列x+dxでの垂直境界又は行y+dyでの水平境界が変換ブロック境界であるか否か、並びにx+dx>=ブロック幅が満足されるかどうか、及び/又はy+dy>=ブロック高さが満足されるかどうか。
b.代替的に、ブロック(例えば、SbTMVP及び/又はアフィンでコーディングされている。)のサブブロック境界を導出するとき、ブロック内の列xでの垂直境界又は行yでの水平境界のデブロッキングフィルタ長さ(例えば、maxFilterLengthPs及びmaxFilterLengthQs)の決定は、列x+dxでの垂直境界又は行y+dyでの水平境界が変換ブロック境界であるか否かに依存しなくてもよい。
8.SBTコーディングされたブロックについては、(当該ブロックよりも小さい)変換ブロックの間の2つのデブロッキング境界にマークを付す代わりに、1つの方向(水平又は垂直)について3つの変換ブロック境界にマークを付すことが提案される。
a.一例で、1つの方向(水平又は垂直)について、2つの変換ブロック境界及びコーディングされたブロック境界は全て、デブロッキングフィルタプロセスでフィルタリング処理され得るデブロッキング境界として扱われる。
b.代替的に、更に、コーディングされたブロック境界にフィルタリング処理を施すかどうかは、それがサブブロック境界であるかどうかなどに更に依存してもよい。
a.一例で、現在の変換ブロックエッジの両側に位置している2つの隣接サンプルが、非ゼロ変換係数レベルを有さない2つの変換ブロックに属し、2つの隣接サンプルのうちの1つがマージトライアングル予測モード(TPM)としてコーディングされている場合に、bSは0にセットされ得る。
b.一例で、現在の変換ブロックエッジの両側に位置している2つの隣接サンプルが、非ゼロ変換係数レベルを有さない2つの変換ブロックに属し、2つの隣接サンプル間の動きベクトル差が閾値T(例えば、1/16ルーマサンプルの単位でT=8)よりも大きい場合に、bSは0にセットされ得る。
c.一例で、変換ブロック境界でのデブロッキングフィルタ強さの決定は、動きベクトルに関連した基準から切り離されてもよい。
a.一例で、DMVRによって処理されたCUについて、デブロッキングは、通知されたMVの代わりに、サブブロックの導出されたMVDを用いて、CU内のサブブロック境界で実行され得る。
b.一例で、DMVRによって処理されたCUについて、デブロッキングは、CUの通知されたMVを用いて、CU境界で実行され得る。
c.代替的に、DMVRによって処理されたCUについて。デブロッキングは、CU境界でのサブブロックの導出されたMVD及び通知されたMVを用いて、CU境界で実行され得る。
i.例えば、CU境界にあるブロックについて、MVは、関連するサブブロックの導出されたMVDを通知されたMVに加えることによって生成され得、次いで、デブロッキングのために使用され得る。
a.一例で、デブロッキングフィルタ強さbSの設定は、隣接するブロックの1つがMODE_INTRAとしてコーディングされているかどうかに関して決定され得るが、MODE_IBC及び/又はMODE_INTERに関しては決定されない。
a.一例で、変換ブロック境界でのデブロッキングフィルタ強さ及びコーディングサブブロック境界でのデブロッキングフィルタ強さは、別々に決定され得る。
i.一例で、変換ブロック境界フラグは、(nCbW)×(nCbH)アレイAで記憶され得、一方、コーディングサブブロック境界は、(nCbW)×(nCbH)アレイBで記憶され得る。ここで、A及びBは異なるアレイバッファである。
ii.一例で、変換ブロック境界のデブロッキングフィルタ強さ(例えば、bS)は、変換係数(例えば、非ゼロ係数)に従ってセットされ得る。
1)一例で、現在の変換ブロックエッジの両側に位置している2つの隣接サンプルの両方がゼロ変換係数レベルを有する場合に、bSは0にセットされ得る。
iii.一例で、コーディングサブブロック境界のデブロッキングフィルタ強さ(例えば、bS)は、動きベクトル、及び/又は現在の境界の両側に位置している2つの隣接ピクセル間の参照ピクチャに従って、セットされ得る。
iv.一例で、ブロックエッジが変換ブロックエッジでもあるがサブブロック境界ではなく、エッジ沿いの2つの隣接サンプルのうちの少なくとも一方がCIIPモードによるコーディングブロック内にある場合に、境界強さ(Boundary Strength,BS)はX(X=1又は2)に等しくセットされる。
b.代替的に、フィルタ強さ/フィルタ長さ/境界強さの決定は、異なるエッジタイプについて同じであってよい。
i.一例で、ブロックエッジが変換ブロックエッジ又はサブブロック境界でもあり、エッジ沿いの2つの隣接サンプルのうちの少なくとも一方がCIIPモードによるコーディングブロック内にある場合に、境界強さ(BS)はX(X=1又は2)に等しくセットされる。
13.デブロッキングフィルタは、水平CTU境界の上にN個のサンプル(例えば、ルーマについてはN=4、クロマについてはN=2)である仮想境界で適用され得ない。
a.一例で、仮想境界と一致するTU/CU/PU/サブブロックエッジについては、水平エッジデブロックフィルタリングは適用され得ない。
b.代替的に、更に、仮想境界と一致するTU/CU/PU/サブブロックエッジについては、垂直エッジデブロックフィルタリングが依然として適用され得る。
a.一例で、値pを有するサンプルは、デブロッキングプロセス後に値p’であるよう変更され、pはp’=p+d’として導出され、d’=Clip3(t1,t2,d)であり、ここで、dは、デブロッキングプロセスで導出され、[t1,t2]は、クリッピング範囲である。t1及び/又はt2は、デブロッキングフィルタによってフィルタリング処理される境界が仮想境界と一致するかどうかに依存し得る。
i.一例で、t1=-2N及びt2=2N-1であり、Nは整数である。
1)例えば、Nは色成分に依存し得る。
2)例えば、Nはエンコーダからデコーダへ送られ得る。
3)例えば、Nはサンプルビットデプスに依存し得る。
15.SBT及びサブブロックベースのコーディング方法(例えば、SbTMVP及び/又はアフィン)が排他的に使用され得る。
a.SBTは、SbTMVP及びアフィン予測ブロックのようなサブブロックベースのコーディングブロックに対しては許されないことがある。
b.一例で、コーディングブロックがSbTMVPでコーディングされる場合に、SBTは適用され得ない。
c.一例で、コーディングブロックがアフィン予測でコーディングされる場合に、SBTは適用され得ない。
d.一例で、コーディングブロックがSbTMVP又はアフィン予測でコーディングされる場合に、SBTは適用され得ない。
i.例えば、inter_affine_flagが1に等しいか、又はmerge_subblock_flagが1に等しいとき、cu_sbt_flagは通知されず、0であると推測され得る。
a.代替的に、第2ツールが適用されるときに第1ツールが許可されない場合には、第1ツールの利用の通知は、第2ツールが適用されないという条件下であってよい。
a.一例で、ブロックの2つのサブパーティション間にある列xでの垂直境界は、xがx=M×P+offset及び/又はx<Wを満足する場合に、デブロッキングによってフィルタリング処理される。ここで、offset、M及びPは正の整数である。一例で、M=1,2,3...、及びP=1である。他の例では、M=1,2,3...、及びP=2である。Wはブロックの幅である。例えば、offset=0である。
b.一例で、ブロックの2つのサブパーティション間にある行yでの水平境界は、yがy=M×P+offset及び/又はy<Hを満足する場合に、デブロッキングによってフィルタリング処理される。ここで、offset、M及びPは正の整数である。一例で、M=1,2,3...、及びP=1である。他の例では、M=1,2,3...、及びP=2である。Hはブロックの高さである。例えば、offset=0である。
c.代替的に、デブロッキングフィルタは、ISPモードでコーディングされたブロックの2つのサブパーティション間の境界に適用されない。
a.例えば、2つの隣接するコーディングブロックのうちの1つがTPMでコーディングされたブロックである場合に、2つのブロック間の境界はデブロッキングフィルタリング処理され得る。
a.一例で、デブロッキングフィルタ強さ(例えば、bS)導出プロセス中、TPMコーディングされたブロックの動きベクトルは、動き補償プロセスで使用されたものであってよい。
b.一例で、TPMコーディングされたブロックの記憶されているH×H(例えば、4×4)動きベクトルは、デブロッキング境界フィルタリング強さ設定のために使用され得ない。
c.一例で、TPM動き補償に使用された動きベクトルは、デブロッキング境界フィルタリング強さ設定のために使用され得る。
d.代替的に、動き補償プロセス又は動き保存若しくは動きベクトル予測プロセスでの動き情報を使用すべきかどうかは、適応的に変更され得る。
e.代替的に、動き補償プロセス又は動き保存若しくは動きベクトル予測プロセスでの動き情報を使用すべきかどうかは、復号された情報及び/又はブロック寸法などに基づき決定され得る。
20.クロマシンタックス要素の通知は、クロマフォーマットサンプリング構造(例えば、chroma_format_idc)及び/又はコーディング方法(例えば、separate_colour_plane_flag及び/又はChromaArrayTypeなど)に依存し得る。
a.一例で、PPS Cb/Crフラグは、クロマフォーマットサンプリング構造に従って通知され得る。
i.一例で、ChromaArrayTypeが真に等しい場合に、シンタックス要素Xは通知され得る。さもなければ、シンタックス要素Xは通知されなくてもよい。
ii.一例で、クロマフォーマットがモノクロ(例えば、4:0:0)である場合に、シンタックス要素Xは通知され得る。さもなければ、シンタックス要素Xは通知されなくてもよい。
iii.一例で、クロマフォーマットが4:4:4であり、separate_colour_plane_flagが1に等しい場合に、シンタックス要素Xは通知され得る。さもなければ、シンタックス要素Xは通知されなくてもよい。
iv.例えば、xは、上記のビュレットにおいて、pps_cb_qp_offset及びpps_cr_qp_offsetであってよい。
v.例えば、Xは、上記のビュレットにおいて、pps_joint_cbcr_qp_offsetであってよい。
vi.例えば、Xは、上記のビュレットにおいて、cu_chroma_qp_offset_enabled_flagであってよい。
vii.例えば、Xは、上記のビュレットにおいて、pps_slice_chroma_qp_offsets_present_flagであってよい。
a.一例で、PPSシンタックス要素log2_transform_skip_max_size_minus2は、SPSシンタックス要素(例えば、sps_transform_skip_enabled_flag)によって条件付きで通知されなくてもよい。
以下は、例となる実施形態であり、VVC規格に適用され得る。変更は、最新のVVC作業草案(JVET-O2001-v14)に基づいている。新たに加えられた部分は、太字イタリック体で強調表示されており、VVC作業草案から削除された部分は、二重括弧でマークされている(例えば、[[a]]は、文字“a”の削除を表す。)。
ビデオ処理の方法(例えば、図7に表されている方法700)であって、
ビデオと該ビデオのビットストリーム表現との間の変換のために、デブロッキングフィルタが現在のサブブロックの自然境界に適用されるかどうか又はどのように適用されるかに関する決定を、前記現在のサブブロックのサイズに依存したサイズルール、及び/又はポジションルール、及び/又はコーディングモードルールに基づき行うステップ(702)と、
前記決定に従って前記変換を実行するステップ(704)と
を有し、
前記サイズルールは、前記デブロッキングフィルタが4×4サブブロックに対して適用されることを定める、方法。
前記デブロッキングフィルタがどのように適用されるかに関する決定を行うステップは、フィルタ長さを決定するステップを含む、
付記1に記載の方法。
前記サイズルールは、前記デブロッキングフィルタが8×8サブブロックに適用されないことを更に定めるか、あるいは、前記サイズルールは、前記デブロッキングフィルタがどのように適用されるかに関する決定が8×8サブブロックに対しては実行されないことを更に定める、
付記1に記載の方法。
前記コーディングモードルールは、前記現在のサブブロックの動き補償又は動き導出エッジと整列する前記自然境界で前記デブロッキングフィルタを有効にすることを定める、
付記1乃至3のうちいずれかに記載の方法。
前記ポジションルールは、ビデオ領域内の他のサブブロックのために使用されるのと同じであるフィルタ長さを前記現在のサブブロックのために使用されることを定める、
付記1乃至4のうちいずれかに記載の方法。
前記ビデオ領域は、前記現在のサブブロックを含む現在のブロックである、
付記5に記載の方法。
ビデオ処理の方法であって、
ビデオと該ビデオのビットストリーム表現との間の変換のために、前記ビデオのビデオ領域に対してデブロッキングフィルタを使用するとの決定を行うステップと、
前記決定に従って前記変換を実行するステップと
を有し、
前記デブロッキングフィルタは、前記ビデオ領域に関連した仮想境界の位置に依存するルールに従って、前記ビデオ領域のサンプルに選択的に適用される、
方法。
前記ビデオ領域は、コーディングツリーユニットに対応し、
前記仮想境界は、水平コーディングツリーユニット境界の上にあるN個のサンプルであり、
前記ルールは、前記仮想境界では前記デブロッキングフィルタを無効にすることを定める、
付記7に記載の方法。
前記ビデオ領域は、変換ユニットであり、
前記ルールは、前記仮想境界と一致する前記ビデオ領域の水平エッジでは前記デブロッキングフィルタを無効にすることを定める、
付記7に記載の方法。
前記ビデオ領域は、予測ユニットであり、
前記ルールは、前記仮想境界と一致する前記ビデオ領域の水平エッジでは前記デブロッキングフィルタを無効にすることを定める、
付記7に記載の方法。
前記ルールは、前記仮想境界と一致する前記ビデオ領域の垂直エッジでは前記デブロッキングフィルタを無効にすることを定める、
付記7又は9乃至10のうちいずれかに記載の方法。
ビデオ処理の方法であって、
ビデオと該ビデオのビットストリーム表現との間の変換のために、前記ビデオのビデオ領域に対してデブロッキングフィルタを使用するとの決定を行うステップと、
前記デブロッキングフィルタの計算が、前記ビデオ領域に関連した仮想境界の位置に依存するルールに従って実行されるように、前記決定に従って前記変換を実行するステップと
を有する方法。
前記ルールは、前記デブロッキングフィルタを使用することによってサンプルpがサンプルp’に変更されることを定め、
P’=p+d’であり、d’=Clip3(t1,t2,d)であり、
dは、前記変換の間に導出され、
[t1,t2]は、クリッピング範囲であり、t1及びt2は整数である、
付記12に記載の方法。
t1又はt2は、前記デブロッキングフィルタが前記仮想境界に適用されるかどうかに依存する、
付記13に記載の方法。
t1=-2Nかつt2=2N-1であり、
Nは整数である、
付記13乃至14のうちいずれかに記載の方法。
ビデオ処理の方法であって、
少なくとも一部が複数のサブブロックを含む複数のビデオブロックを有するビデオと、該ビデオのコーディングされた表現との間の変換を、サブブロック変換モード及びサブブロックコーディングモードが前記変換の間に相互排他的に使用されることを定める排他ルールに基づき実行するステップを有する方法。
前記サブブロックコーディングモードは、アフィンコーディングモードに対応する、
付記16に記載の方法。
前記サブブロックコーディングモードは、SbTMVP(Subblock Temporal Motion Vector Predictor)モードを含む、
付記16又は17に記載の方法。
前記コーディングされた表現は、前記排他ルールにより除外されるコーディングモードのシンタックス要素を除く、
付記16乃至18のうちいずれかに記載の方法。
ビデオ処理の方法であって、
ビデオのクロマ成分に関連したコーディング方法又はクロマフォーマットに基づき、前記ビデオと該ビデオのコーディングされた表現との間の変換のために、シンタックス要素が前記コーディングされた表現において通知されるかどうかに関する決定を行うステップと、
前記決定に基づき前記変換を実行するステップと
を有する方法。
前記クロマフォーマットは、クロマフォーマットサンプリング構造を有する、
付記20に記載の方法。
前記シンタックス要素は、クロマフォーマットサンプリング構造に従ってピクチャパラメータセットにおいて条件付きで通知されるCb/Crフラグである、
付記20乃至21のうちいずれかに記載の方法。
前記シンタックス要素はXと呼ばれ、前記クロマフォーマットがモノクロフォーマットである場合にのみ通知される、
付記20に記載の方法。
前記シンタックス要素はXと呼ばれ、前記クロマフォーマットが4:4:4である場合にのみ通知され、別個のカラーフラグは1にセットされる、
付記20に記載の方法。
Xは、pps_cb_qp_offset又はpps_cr_qp_offset又はpps_joint_cbcr_qp_offset又はcu_chroma_qp_offset_enabled_flag又はpps_slice_chroma_qp_offsets_preesent_flagである、
付記23又は24に記載の方法。
ビデオ処理の方法であって、
複数のピクチャの連続を含むビデオのコーディングされた表現において第1シンタックス要素のパージング(parsing)を行うステップと、
前記パージングに基づき前記ビデオを生成するステップと
を有し、
前記第1シンタックス要素は、ピクチャパラメータセットレベルで前記コーディングされた表現に含まれ、
前記パージングは、シーケンスパラメータセットレベルでの第2シンタックス要素の存在に応じて前記第1シンタックス要素の使用を除く暗黙的ルールがないときに実行される、
方法。
ビデオ処理の方法であって、
ピクチャパラメータセットレベルで、複数のピクチャの連続を含むビデオのコーディングされた表現に第1シンタックス要素を含めるステップと、
前記含めることに基づき前記コーディングされた表現を生成するステップと
を有し、
前記含めるステップは、シーケンスパラメータセットレベルでの第2シンタックス要素の存在に応じて前記第1シンタックス要素の包含を除く暗黙的ルールがないときに実行される、
方法。
前記第1シンタックス要素は、log2_transform_skip_max_size_minus2であり、
前記第2シンタックス要素は、sps_transform_skip_enabled_flagである、
付記26乃至27のうちいずれかに記載の方法。
変換は、ビデオをコーディングされた表現に符号化することを有する、
付記1乃至28のうちいずれかに記載の方法。
変換は、コーディングされた表現を復号してビデオのピクセル値を生成することを有する、
付記1乃至28のうちいずれかに記載の方法。
付記1乃至30のうちの1つ以上に記載されている方法を実装するよう構成されたプロセッサを有するビデオ復号化装置。
付記1乃至30のうちの1つ以上に記載されている方法を実装するよう構成されたプロセッサを有するビデオ符号化装置。
コンピュータコードを記憶しているコンピュータプログラム製品であって、
前記コードは、プロセッサによって実行される場合に、該プロセッサに、付記1乃至30のうちいずれかに記載の方法を実装させる、
コンピュータプログラム製品。
本明細書で記載されている方法、装置、又はシステム。
ビデオ処理の方法(例えば、図8Aに表されている方法810)であって、
ビデオの現在のビデオブロックのサブブロックについて、ルールに従って、デブロッキングフィルタが適用されるべきであるサブブロック境界を決定するステップ(812)と、
前記デブロッキングフィルタを用いて、前記ビデオと該ビデオのコーディングされた表現との間の変換を実行するステップ(814)と
を有し、
前記ルールは、i)前記現在のビデオブロックのサブブロックの位置と予め定義された値との和と、ii)前記現在のビデオブロックの幅又は高さとの間の関係をチェックせずに、デブロッキングフィルタ長さが決定されることを定める、
方法。
前記ルールは、x+dxの値が前記現在のビデオブロックの幅以上であるかどうかをチェックせずに、垂直方向における前記デブロッキングフィルタ長さが決定されることを定める、
付記1に記載の方法。
xは、前記現在のビデオブロックにおける当該サブブロックの水平位置である、
付記2に記載の方法。
dxは4に等しくセットされる、
付記3に記載の方法。
前記ルールは、y+dxの値が前記現在のビデオブロックの高さ以上であるかどうかをチェックせずに、水平方向における前記デブロッキングフィルタ長さが決定されることを定める、
付記1に記載の方法。
yは、前記現在のビデオブロックにおける当該サブブロックの垂直位置である、
付記5に記載の方法。
dyは4に等しくセットされる、
付記6に記載の方法。
ビデオ処理の方法(例えば、図8Bに表されている方法820)であって、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、ルールに基づき、デブロッキングフィルタが前記現在のビデオブロックのサブブロック間の境界に適用されるかどうか、及び/又は前記デブロッキングフィルタが適用される場合に使用されるデブロッキングパラメータに関して決定を行う(822)ステップと、
前記決定に基づき前記変換を実行するステップ(824)と
を有し、
前記ルールは、前記境界がサブブロックのN×Mサンプルグリッドに位置するかどうか、及び/又は前記境界が前記現在のビデオブロックの自然境界であるかどうかに基づき、
N及びMは整数である、方法。
前記デブロッキングパラメータは、デブロッキングフィルタ長さ及び/又はデブロッキングフィルタ強さを含む、
付記8に記載の方法。
前記デブロッキングフィルタは、前記ビデオのルーマ情報を含むビデオ情報にデブロッキングフィルタリング処理を施すルーマデブロッキングフィルタに対応し、
前記決定を行うステップは、前記ルーマデブロッキングフィルタを4×4サンプルグリッドに適用することを定める前記ルールに基づき、前記ルーマデブロッキングフィルタを適用すると決定する、
付記8又は9に記載の方法。
前記ルールは、前記境界が8×8サンプルグリッドに位置する場合に、前記自然境界である前記境界には前記ルーマデブロッキングフィルタが適用されないことを更に定める、
付記10に記載の方法。
前記決定を行うステップは、フィルタ長さを決定するステップを含む、
付記8に記載の方法。
前記フィルタ長さの決定は、前記デブロッキングフィルタが、前記ビデオのルーマ情報を含むビデオ情報にデブロッキングフィルタリング処理を施すルーマデブロッキングフィルタに対応する場合に、4×4サンプルグリッドに対して適用され、8×8サンプルグリッドに対しては適用されない、
付記12に記載の方法。
前記N×Mサンプルグリッドは、当該サブブロックのコーディングモードを決定される、
付記8に記載の方法。
前記N×Mサンプルグリッドは、当該サブブロックの動き補償又は動き導出エッジと整列する、
付記14に記載の方法。
前記デブロッキングフィルタは、前記ビデオのクロマ情報を含むビデオ情報にデブロッキングフィルタリング処理を施すクロマデブロッキングフィルタに対応する、
付記8に記載の方法。
前記ルールは、前記クロマデブロッキングフィルタが前記N×Mサンプルグリッドに適用されることを更に定め、N及びMの夫々は4又は8である、
付記16に記載の方法。
前記決定を行うステップは、現在のクロマデブロッキングエッジが当該サブブロックの境界であるかどうかを決定するステップを含み、そのような決定は、N×Nサンプルグリッドに対して実行され、Nは4又は8である、
付記16に記載の方法。
前記フィルタ長さの決定は、前記デブロッキングフィルタが、前記ビデオのクロマ情報を含むビデオ情報にデブロッキングフィルタリング処理を施すクロマデブロッキングフィルタに対応する場合に、前記N×Mサンプルグリッドに対して適用され、N及びMの夫々は4又は8である、
付記12に記載の方法。
クロマデブロッキングフィルタに対して決定される前記フィルタ長さは、L以下である、
付記12に記載の方法。
前記クロマデブロッキングフィルタの強さは、i)動きベクトルの数、ii)参照ピクチャ、又はiii)前記境界の両側に位置している2つの隣接ピクセルの間の絶対ブロックベクトル(Block Vector,BV)又は動きベクトル(Motion Vector,MV)差、のうちの少なくとも1つに依存する、
付記16に記載の方法。
前記決定を行うステップは、前記サブブロックがサブブロックベースの方法を用いてコーディングされるかどうかに更に依存して実行される、
付記8に記載の方法。
前記現在のサブブロックは、アフィンコーディングモード、SbTMVP(Subblock Temporal Motion Vector Predictor)モード、DMVR(Decoder-side Motion Vector Refinement)モード、クロマIBC(Inter Block Copy)モードでコーディングされる、
付記22に記載の方法。
前記決定を行うステップは、前記ビデオのカラーサブサンプリングフォーマットに依存する、
付記8に記載の方法。
N及びMは、前記ビデオのカラーフォーマットに依存する、
付記8乃至24のうちいずれかに記載の方法。
ビデオ処理の方法(例えば、図8Cに表されている方法830)であって、
現在のビデオブロックが予測のための複数のサブパーティションに分割されているジオメトリ予測モードでコーディングされた前記現在のビデオブロックのN×Nサンプルグリッドにデブロッキングフィルタを適用するとの決定を行うステップ(832)と、
前記決定に基づき、前記現在のビデオブロックを含むビデオと該ビデオのコーディングされた表現との間の変換を実行するステップ(834)と
を有し、
Nは4又は8に等しい、
方法。
前記現在のビデオブロックに対する内部エッジ導出は、SbTMVP(Subblock Temporal Motion Vector Predictor)モード及び/又はアフィンモードを用いてコーディングされたビデオブロックに対するサブブロック境界導出プロセスに適用されるルールに基づき、実行される、
付記26に記載の方法。
前記デブロッキングフィルタの境界、フィルタ長さ、及び/又はフィルタ強さは、4×4サンプルグリッド又は8×8サンプルグリッドに基づき決定される、
付記26に記載の方法。
ビデオ処理の方法(例えば、図8Dに表されている方法840)であって、
ビデオの現在のビデオブロックのサブブロックについて、ルールに従って、デブロッキングフィルタが適用されるべきサブブロック境界を決定するステップ(842)と、
前記デブロッキングフィルタを用いて、前記ビデオと該ビデオのコーディングされた表現との間の変換を実行するステップ(844)と
を有する方法。
前記ルールは、最左垂直境界又は最上水平境界のためのデブロッキングフィルタ長さが、他のサブブロックのために使用されるのと同じであることを定める、
付記29に記載の方法。
前記ルールは、前記最左垂直境界又は前記最上水平境界が変換ブロックエッジと一致するかどうかに基づき、前記デブロッキングフィルタ長さが決定されることを更に定める、
付記30に記載の方法。
前記最左垂直境界又は前記最上水平境界について、前記デブロッキングフィルタ長さ(maxFilterLengthPs)は、1)前記最左垂直境界又は前記最上水平境界に対して左隣又は上隣にあるブロックがSbTMVPコーディング若しくはアフィンコーディングされているかどうか、及び/又は2)前記現在のビデオブロック内のサブブロックの数、にかかわらず、Min(5,maxFilterLengthPs)にセットされる、
付記30に記載の方法。
前記ルールは、デブロッキングフィルタ長さが、対応するサブブロックのサブブロックエッジ位置に基づき決定されることを定める、
付記29に記載の方法。
前記サブブロックエッジ位置は、[0,M]の範囲を有する対応するサブブロックエッジインデックス(xEdge)を有し、Mは、0以上の整数である、
付記33に記載の方法。
[a,b]の範囲内のxEdgeについて、前記デブロッキングフィルタ長さは、固定整数値(L)にセットされ、a及びbは、0以上の整数である、
付記34に記載の方法。
a=0又は1、あるいは、b=M又はM-1、あるいは、a=b=0、1、M又はM-1である、
付記35に記載の方法。
前記ルールは、デブロッキングフィルタ長さが、前記現在のビデオブロックのサイズとx+deltaの値との間の関係に基づき決定されることを定め、
xは、前記現在のビデオブロック内の水平又は垂直サブブロック位置を表し、deltaは整数である、
付記29に記載の方法。
前記デブロッキングフィルタ長さは、x+deltaの値が前記現在のビデオブロックの幅又は高さ以上であるかどうかをチェックすることによって、決定される、
付記37に記載の方法。
前記ルールは、前記現在のビデオブロックにおける列xでの垂直境界又は行yでの水平境界のデブロッキングフィルタ長さが、列x+dxでの垂直境界又はy+dyでの水平境界が変換ブロック境界であるか否かに基づき決定されることを定め、
dx及びdyは整数である、
付記29に記載の方法。
前記現在のビデオブロックは、SbTMVP(Subblock Temporal Motion Vector Predictor)モード及び/又はアフィンモードを用いてコーディングされる、
付記39に記載の方法。
前記デブロッキングフィルタ長さは、x+dxが前記現在のビデオブロックの幅以上であるという第1条件が満足されるかどうか、及び/又はy+dyが前記現在のビデオブロックの高さ以上であるという第2条件が満足されるかどうかをチェックせずに、決定される、
付記39に記載の方法。
前記デブロッキングフィルタ長さは、x+dxが前記現在のビデオブロックの幅以上であるという第1条件が満足されるかどうか、及び/又はy+dyが前記現在のビデオブロックの高さ以上であるという第2条件が満足されるかどうかに更に基づき、決定される、
付記39に記載の方法。
前記変換の実行は、前記コーディングされた表現を前記現在のビデオブロックから生成することを含む、
付記1乃至42のうちいずれかに記載の方法。
前記変換の実行は、前記現在のビデオブロックを前記コーディングされた表現から生成することを含む、
付記1乃至42のうちいずれかに記載の方法。
付記1乃至44のうちいずれか1つ以上に記載されている方法を実装するよう構成されたプロセッサを有するビデオ処理装置。
実行される場合に、プロセッサに、付記1乃至44のうちいずれか1つ以上に記載されている方法を実装させるプログラムコードを記憶しているコンピュータ可読媒体。
ビデオ処理の方法(例えば、図9Aに表されている方法910)であって、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、ルールに基づきデブロッキングフィルタを用いて前記現在のビデオブロックのサブブロック境界に適用される境界強さを決定するステップ(912)と、
前記決定に基づき前記変換を実行するステップ(914)と
を有し、
前記ルールは、前記サブブロック境界が変換ブロック境界であるかどうかにかかわらず、前記境界強さが2に等しくセットされることを定める、方法。
前記ルールは、前記変換ブロック境界ではない前記サブブロック境界に対して前記境界強さが2に等しくセットされることを定める、
付記1に記載の方法。
前記ルールは、前記境界沿いの2つの隣接サンプルのうちの少なくとも1つがインター-イントラ複合予測(Combined Inter-Intra Prediction,CIIP)モードを用いてコーディングされることを定める、
付記1又は2に記載の方法。
前記CIIPモードは、インター予測サンプル及びイントラ予測サンプルの加重和に基づき予測サンプルを導出するために使用される、
付記3に記載の方法。
ビデオ処理の方法(例えば、図9Bに表されている方法920)であって、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換をルールに従って実行するステップ(922)を有し、
前記変換は、
符号化中に、前記現在のビデオブロックを変換ブロック(Transform Blocks,TB)にパーティション化し、TBレベル変換を前記TBに適用すること、又は
復号化中に、前記ビデオの前記コーディングされた表現内のコーディングされたサンプルにTBレベル逆変換を適用すること
を有するサブブロック変換(Sb-Block Transform,SBT)ツールを使用し、
前記ルールは、水平方向及び/又は垂直方向において少なくとも3つのTB境界にわたって適応フィルタが有効にされることを定める、
方法。
前記少なくとも3つのTB境界は、前記変換ブロック間の2つのTB境界と、前記現在のビデオブロックのコーディングブロック境界とを含む、
付記5に記載の方法。
変換ブロックは、前記現在のビデオブロックよりもサイズが小さい、
付記6に記載の方法。
前記コーディングブロック境界にフィルタリング処理を施すべきかどうかは、前記コーディングブロック境界が前記現在のビデオブロックのサブブロック間のサブブロック境界であるかどうかに依存する、
付記6に記載の方法。
ビデオ処理の方法(例えば、図9Cに表されている方法930)であって、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、前記現在のビデオブロックのエッジの両側にある2つの隣接サンプルが、非ゼロ変換係数レベルを含まない2つの変換ブロックに属するとの第1決定を行うステップ(932)と、
前記第1決定に基づき、前記現在のブロックエッジのデブロッキングフィルタ強さを0とセットするとの第2決定を行うステップ(934)と、
前記第1決定及び前記第2決定を用いて前記変換を実行するステップ(936)と
を有する方法。
前記2つの隣接サンプルのうちの1つは、前記現在のビデオブロックがサブパーティションに分割されるジオメトリ予測モードとしてコーディングされている、
付記9に記載の方法。
前記2つの隣接サンプルの間の動きベクトル差は、閾値Tよりも高く、Tは整数である、
付記9に記載の方法。
変換ブロック境界での前記デブロッキングフィルタ強さについての前記第2決定は、動きベクトル関連ルールから独立して行われる、
付記9に記載の方法。
ビデオ処理の方法であって、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を、デコーダ側動きベクトル精緻化(Decoder-side Motion Vector Refinement,DMVR)ツールを用いて実行するステップと、
前記変換の間に生成された再構成されたビデオブロックにデブロッキングフィルタを適用するステップと
を有し、
前記DMVRツールは、前記コーディングされた表現内のコーディングされた動きベクトルを精緻化することによって生成された精緻化された動きベクトルを使用する動き補償によって前記再構成されたビデオブロックを生成することを含み、
前記デブロッキングフィルタのパラメータは、前記精緻化された動きベクトルに基づく、
方法。
前記現在のビデオブロックは、前DMVRによって処理されたコーディングユニット(Coding Unit,CU)に対応し、
前記デブロッキングプロセスは、前記現在のビデオブロックのサブブロックの前記精緻化された動きベクトルを用いて前記コーディングユニット内のサブブロック境界で実行される、
付記13に記載の方法。
前記現在のビデオブロックは、前DMVRによって処理されたコーディングユニット(CU)に対応し、
前記デブロッキングプロセスは、前記CUの通知された動きベクトルを用いてCU境界で実行される、
付記13に記載の方法。
前記現在のビデオブロックは、前DMVRによって処理されたコーディングユニット(CU)に対応し、
前記デブロッキングプロセスは、前記CUの通知された動きベクトルと、前記現在のビデオブロックのサブブロックの前記精緻化された動きベクトルとを用いてCU境界で実行される、
付記13に記載の方法。
ビデオ処理の方法(例えば、図9Dに表されている方法940)であって、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、ルールに基づき、デブロッキングフィルタプロセスのためのデブロッキングフィルタ強さを決定するステップ(942)と、
前記決定に基づき前記変換を実行するステップ(944)と
を有し、
前記ルールは、前記デブロッキングフィルタ強さが、前記現在のビデオブロックの隣接するブロックの予測モードに依存しないことを定める、方法。
特定のコーディングモードは、前記現在のビデオブロックを含むビデオフレームを指し示すブロックベクトルを用いて予測ブロックを生成するインターブロックコピー(Inter Block Copy,IBC)モード、又は時間相関を用いて前記ビデオを表現又は再構成することを含むインターコーディングモードである、
付記17に記載の方法。
前記ルールは、前記デブロッキングフィルタ強さが、前に処理されたビデオブロックに基づき前記ビデオを表現又は再構成することを含むイントラモードを用いて前記隣接するブロックの1つがコーディングされているかどうかに依存することを定める、
付記17又は18に記載の方法。
ビデオ処理の方法(例えば、図9Eに表されている方法950)であって、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、デブロッキングフィルタが前記現在のビデオブロックの境界に適用されるかどうか、及び/又は前記デブロッキングフィルタが適用される場合に使用されるデブロッキングパラメータを、前記境界のタイプに依存する又は該タイプとは無関係であるルールに基づき、決定するステップ(952)と、
前記決定に基づき前記変換を実行するステップ(954)と
を有する方法。
前記境界のタイプは、前記境界が変換ブロック境界又はサブブロック境界であるかどうかに関係がある、
付記20に記載の方法。
前記ルールは、デブロッキングフィルタ強さが、変換ブロック境界又はサブブロック境界に対して異なる値として決定されることを定める、
付記20又は21に記載の方法。
変換ブロック境界フラグが第1アレイバッファに格納され、サブブロック境界フラグが、前記第1アレイバッファとは異なる第2アレイバッファに格納される、
付記22に記載の方法。
前記変換ブロック境界のための前記デブロッキングフィルタ強さは、変換係数に基づき決定される、
付記22に記載の方法。
前記サブブロック境界のための前記デブロッキングフィルタ強さは、前記境界の両側に位置している2つの隣接ピクセルの間の参照ピクチャ及び/又は動きベクトルに基づき決定される、
付記22に記載の方法。
前記ルールは、1)前記境界が前記変換ブロック境界であって前記サブブロック境界ではなく、2)前記境界沿いの2つの隣接サンプルのうちの少なくとも1つがインターイントラ複合予測(CIIP)モードを用いてコーディングされている場合に、1又は2に等しくセットされることを定め、Xは1又は2である、
付記22に記載の方法。
前記デブロッキングパラメータは、フィルタ強さ、フィルタ長さ、又は境界強さ、のうちの少なくとも1つを含み、
前記ルールは、前記境界の異なるタイプについて同じパラメータを使用することを定める、
付記20に記載の方法。
ビデオ処理の方法(例えば、図9Fに表されている方法960)であって、
ビデオのビデオ領域と前記ビデオのコーディングされた表現との間の変換のために、ある方向のデブロッキングフィルタが、水平境界からNサンプル離れている仮想境界にわたって適用されないと決定するステップ(962)と、
前記決定に基づき前記変換を実行するステップ(964)と
を有し、
Nは0よりも大きい整数である、方法。
Nは、ルーマ成分に対応する前記ビデオ領域については4であり、
Nは、クロマ成分に対応する前記ビデオ領域については2である、
付記28に記載の方法。
前記決定するステップは、水平方向のデブロッキングフィルタが、前記現在のビデオブロックの変換ユニット、コーディングユニット、予測ユニット、又はサブブロックの境界に適用されないことを決定し、前記境界は前記仮想境界と一致する、
付記28又は29に記載の方法。
前記決定するステップは、垂直方向のデブロッキングフィルタが、前記現在のビデオブロックの変換ユニット、コーディングユニット、予測ユニット、又はサブブロックの境界に適用されることを決定し、前記境界は前記仮想境界と一致する、
付記28又は29に記載の方法。
ビデオ処理の方法(例えば、図9Gに表されている方法970)であって、
ビデオのビデオ領域と前記ビデオのコーディングされた表現との間の変換のために、デブロッキングフィルタを使用するデブロッキングプロセス中にサンプルの値をクリップすべきかどうか又はどのようにクリップすべきかを、前記デブロッキングフィルタによってフィルタリング処理される境界が前記ビデオ領域の水平境界からNサンプル離れている仮想境界と一致するかどうかに依存するルールに基づき、決定するステップ(972)と、
前記決定に基づき前記変換を実行するステップ(974)と
を有し、
Nは0よりも大きい整数である、方法。
前記ルールは、値(p)を有する前記サンプルが前記デブロッキングフィルタを使用することによって異なる値(p’)に変更されることを定め、p’=p+d’であり、d’=Clip3(t1,t2,d)であり、dは前記変換の間に導出され、[t1,t2]はクリッピング範囲であり、t1及びt1は整数である、
付記32に記載の方法。
t1又はt2は、前記デブロッキングフィルタが前記仮想境界に適用されるかどうかに依存する、
付記33に記載の方法。
t1=-2N及びt2=2N-1であり、
Nは整数である、
付記33又は34に記載の方法。
Nは、色成分及び/又はサンプルビットデプスに依存する、
付記35に記載の方法。
ビデオ処理の方法(例えば、図9Hに表されている方法980)であって、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために使用されるコーディングツールをルールに従って決定するステップ(982)と、
前記コーディングツールに従って前記変換を実行するステップ(984)と
を有し、
前記ルールは、サブブロック変換(STB)ツールがサブブロックベースのコーディングモードでのみ使用されることを定める、方法。
前記サブブロックベースのコーディングモードは、アフィンコーディングモード又はSbTMVP(Subblock Temporal Motion Vector Predictor)モードを含む、
付記37に記載の方法。
前記コーディングされた表現は、前記ルールにより除外される前記サブブロックベースのコーディングモードのシンタックス要素を除く、
付記37又は38に記載の方法。
ビデオ処理の方法(例えば、図9Iに表されている方法990)であって、
イントラサブパーティショニング(Intra Sub-Partitioning,ISP)モードの使用に従ってサブパーティションに分割される現在のビデオブロックについて、前記現在のビデオブロックの2つのサブパーティション間の境界にデブロッキングフィルタを適用することを決定するステップ(992)と、
前記決定に基づき前記ビデオの前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップ(994)と
を有する方法。
前記現在のビデオブロックの前記2つのサブパーティション間にある列xでの垂直境界は、xがx=M×P+offset及び/又はx<Wを満足する場合に、前記デブロッキングフィルタによってフィルタリング処理され、
offset、M及びPは正の整数であり、Wは前記現在のビデオブロックの幅である、
付記40に記載の方法。
前記現在のビデオブロックの前記2つのサブパーティション間にある行yでの水平境界は、yがy=M×P+offset及び/又はy<Hを満足する場合に、前記デブロッキングフィルタによってフィルタリング処理され、
offset、M及びPは正の整数であり、Hは前記現在のビデオブロックの高さである、
付記40に記載の方法。
ビデオ処理の方法(例えば、図10Aに表されている方法1010)であって、
現在のビデオブロックがサブパーティションに分割されるジオメトリ予測モードでコーディングされた前記現在のビデオブロックについて、前記現在のビデオブロックの2つのM×N領域の間の境界にデブロッキングフィルタを適用することを決定するステップ(1012)と、
前記決定に基づきビデオの前記現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップ(1014)と
を有し、
M及びNは整数である、方法。
M×Nは4×4又は8×8に等しい、
付記43に記載の方法。
ビデオ処理の方法(例えば、図10Bに表されている方法1020)であって、
ビデオブロックを含むビデオと該ビデオのコーディングされた表現との間の変換のために、2つの隣接するビデオブロックの少なくとも1つが、前記2つの隣接するビデオブロックのうちの少なくとも1つがサブパーティションに分割されるジオメトリ予測モードでコーディングされていることにより、前記2つの隣接するビデオブロックの間の境界にデブロッキングフィルタを適用することを決定するステップ(1022)と、
前記決定に基づき前記変換を実行するステップ(1024)と
を有する方法。
ビデオ処理の方法(例えば、図10Cに表されている方法1030)であって、
ビデオの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、ルールに基づき、フィルタリングプロセスで使用されるフィルタリングパラメータを決定するステップ(1032)と、
前記決定に基づき前記変換を実行するステップ(1034)と
を有し、
前記ルールは、前記フィルタリングパラメータが、i)動き補償プロセスで使用される動き情報、ii)動きストレージに格納されている動き情報、又はiii)動きベクトル予測プロセスで使用される動き情報、に依存することを定める、
方法。
前記ルールは、前記2つの隣接するビデオブロックのうちの少なくとも1つがサブパーティションに分割されるジオメトリ予測モードでコーディングされた前記現在のビデオブロックについて、前記フィルタリングプロセスが前記動き補償プロセスで使用される前記動き情報に基づくことを定める、
付記46に記載の方法。
前記ルールは、デブロッキングフィルタ強さ導出プロセス中に及び/又はデブロッキング境界フィルタリング強さ設定のために、動き補償プロセスで使用される動きベクトルを使用することを更に定める、
付記47に記載の方法。
前記ルールは、前記現在のビデオブロックの記憶されているH×H動きベクトルが、デブロッキング境界フィルタリング強さ設定のために使用されないことを更に定める、Hは0よりも大きい整数である、
付記47に記載の方法。
前記ルールは、復号された情報及び/又はブロック寸法に依存する、
付記47に記載の方法。
ビデオ処理の方法であって、
ビデオと該ビデオのコーディングされた表現との間の変換を実行するステップを有し、
前記コーディングされた表現は、フォーマッティングルールに従い、
前記フォーマッティングルールは、クロマフォーマット、クロマ成分に関連したコーディングモード、又はクロマ情報シンタックス要素に基づき、前記クロマ成分を示すクロマシンタックス要素を前記コーディングされた表現に含めるべきかどうかを定める、
方法。
前記クロマシンタックス要素は、前記クロマフォーマットのサンプリング構造又は前記クロマ情報シンタックス要素に従ってピクチャパラメータセットにおいて条件付きで通知されるCb/Crフラグである、
付記51に記載の方法。
前記クロマシンタックス要素はXと呼ばれ、ChromaArrayTypeが真に等しい場合に通知される、
付記51に記載の方法。
前記クロマシンタックス要素はXと呼ばれ、前記クロマフォーマットがモノクロフォーマットである場合にのみ通知される、
付記51又は52に記載の方法。
前記クロマシンタックス要素はXと呼ばれ、前記クロマフォーマットが4:4:4である場合にのみ通知され、別個のカラーフラグは1にセットされる、
付記51又は52に記載の方法。
前記クロマシンタックス要素はXと呼ばれ、前記クロマ情報シンタックス要素が1にセットされる場合にのみ通知される、
付記51又は52に記載の方法。
Xは、i)pps_cb_qp_offset又はii)pps_cr_qp_offset又はiii)pps_joint_cbcr_qp_offset又はiv)cu_chroma_qp_offset_enabled_flag又はv)pps_slice_chroma_qp_offsets_present_flagである、
付記52乃至56のうちいずれかに記載の方法。
前記変換の実行は、前記コーディングされた表現を前記現在のビデオブロックから生成することを含む、
付記1乃至57のうちいずれかに記載の方法。
前記変換の実行は、前記現在のビデオブロックを前記コーディングされた表現から生成することを含む、
付記1乃至57のうちいずれかに記載の方法。
付記1乃至59のうちいずれか1つ以上に記載されている方法を実装するよう構成されたプロセッサを有するビデオ処理装置。
実行される場合に、プロセッサに、付記1乃至59のうちいずれか1つ以上に記載されている方法を実装させるプログラムコードを記憶しているコンピュータ可読媒体。いくつかの実施形態で、コンピュータ可読媒体は、本明細書で記載されている技術に従って生成されたコーディングされた表現又はビットストリームを記憶する。
本願は、2019年8月23日付けに出願された国際特許出願第PCT/CN2019/102217号の優先権及びその利益を主張して2020年8月24日付けで出願された国際特許出願第PCT/CN2020/110784号の国内移行である。上記の出願の全開示は、本願の開示の部分として参照により援用される。
Claims (16)
- ビデオデータを処理する方法であって、
サブブロック時間動きベクトル予測(STMVP)モード又はアフィン予測モードでコーディングされているビデオの現在のビデオブロックのサブブロックについて、ルールに従って、デブロッキングフィルタが適用されるべきであるサブブロック境界を決定するステップと、
前記決定に基づき前記現在のビデオブロックと前記ビデオのビットストリームとの間の変換を実行するステップと
を有し、
前記ルールは、前記サブブロック境界を決定するときに、前記現在のビデオブロック内の第1水平位置(x1)及び第1垂直位置(y1)での前記サブブロック境界の第1垂直サブブロック境界の第1デブロッキングフィルタ長さが、i)水平位置(x1+dx)及び前記第1垂直位置(y1)での境界が変換ブロック境界であるか否か、ii)水平位置(x1-dx)及び前記第1垂直位置(y1)での境界が変換ブロック境界であるか否か、のうちの一方又は両方をチェックすることに基づき決定されることを定め、dxは4に等しい、
方法。 - 前記第1デブロッキングフィルタ長さは、i)前記水平位置(x1+dx)及び前記第1垂直位置(y1)での境界が変換ブロック境界であること、又はii)前記水平位置(x1-dx)及び前記第1垂直位置(y1)での境界が変換ブロック境界であることのうちの少なくとも一方を満足することに応答して、1に等しく、
前記第1デブロッキングフィルタ長さは、Pサイドのデブロッキングフィルタ長さ、又はQサイドのデブロッキングフィルタ長さを含む、
請求項1に記載の方法。 - 前記第1デブロッキングフィルタ長さは、前記現在のビデオブロックの幅とx1+dxとの間の第1関係をチェックすることを省略することによって、決定される、
請求項1に記載の方法。 - 前記現在のビデオブロックの幅とx1+dxとの間の前記第1関係は、x1+dxが前記現在のビデオブロックの幅以上であるかどうかを有する、
請求項3に記載の方法。 - 前記ルールは、前記サブブロック境界を決定するときに、前記現在のビデオブロック内の第2垂直位置(y2)及び第2水平位置(x2)での前記サブブロック境界の第2水平サブブロック境界の第2デブロッキングフィルタ長さが、i)垂直位置(y2+dy)及び前記第2水平位置(x2)での境界が変換ブロック境界であるか否か、ii)垂直位置(y2-dy)及び前記第2水平位置(x2)での境界が変換ブロック境界であるか否か、のうちの一方又は両方をチェックすることに基づき決定されることを定め、dyは4に等しい、
請求項1乃至4のうちいずれか一項に記載の方法。 - 前記第2デブロッキングフィルタ長さは、i)前記垂直位置(y2+dy)及び前記第2水平位置(x2)での境界が変換ブロック境界であること、又はii)前記垂直位置(y2-dy)及び前記第2水平位置(x2)での境界が変換ブロック境界であることのうちの少なくとも一方を満足することに応答して、1に等しく、
前記第2デブロッキングフィルタ長さは、Pサイドのデブロッキングフィルタ長さ、又はQサイドのデブロッキングフィルタ長さを含む、
請求項5に記載の方法。 - 前記第2デブロッキングフィルタ長さは、前記現在のビデオブロックの高さとy2+dyとの間の第2関係をチェックすることを省略することによって、決定される、
請求項5に記載の方法。 - 前記現在のビデオブロックの高さとy2+dyとの間の前記第2関係は、y2+dyが前記現在のビデオブロックの高さ以上であるかどうかを有する、
請求項7に記載の方法。 - 前記現在のビデオブロックのブロックエッジが前記サブブロック境界の第3サブブロック境界であり、前記第3サブブロック境界沿いの2つの隣接サンプルの少なくとも一方がインター-イントラ複合予測(CIIP)モードでコーディングされている場合に、前記変換中に、前記第3サブブロック境界に適用される境界強さが2に等しいことを決定するステップを更に有する、
請求項1乃至8のうちいずれか一項に記載の方法。 - 前記ビットストリームは、フォーマッティングルールに従い、
前記フォーマッティングルールは、クロマフォーマットサンプリングシンタックス要素に基づき、1つ以上の量子化関連クロマシンタックス要素をビットストリームに含めるかどうかを定める、
請求項1乃至9のうちいずれか一項に記載の方法。 - 前記1つ以上の量子化関連クロマシンタックス要素は、ピクチャパラメータセットに含まれ、
i)Cb量子化パラメータを導出するために使用されるルーマ量子化パラメータに対するオフセットを示す第1シンタックス要素、
ii)Cr量子化パラメータを導出するために使用されるルーマ量子化パラメータに対するオフセットを示す第2シンタックス要素、
iii)CbCr合同量子化パラメータを導出するために使用されるルーマ量子化パラメータに対するオフセットを示す第3シンタックス要素、
iv)クロマ成分量子化パラメータを導出するために使用されるルーマ量子化パラメータに対するオフセットを示すフラグがコーディングユニットレベル若しくは変換ユニットレベルに存在することを許されていることを示す第4シンタックス要素、又は
v)クロマ成分量子化パラメータを導出するために使用されるルーマ量子化パラメータに対するオフセットを示すフラグがスライスレベルに存在することを許されていることを示す第5シンタックス要素
のうちの少なくとも1つを有する、
請求項10に記載の方法。 - 前記変換は、前記現在のビデオブロックを前記ビットストリームに符号化することを含む、
請求項1乃至11のうちいずれか一項に記載の方法。 - 前記変換は、前記現在のビデオブロックを前記ビットストリームから復号することを含む、
請求項1乃至11のうちいずれか一項に記載の方法。 - ビデオデータを処理する装置であって、
プロセッサと、命令を有する非一時的なメモリとを有し、
前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
サブブロック時間動きベクトル予測(STMVP)モード又はアフィン予測モードでコーディングされているビデオの現在のビデオブロックのサブブロックについて、ルールに従って、デブロッキングフィルタが適用されるべきであるサブブロック境界を決定するステップと、
前記決定に基づき前記現在のビデオブロックと前記ビデオのビットストリームとの間の変換を実行するステップと
を実行させ、
前記ルールは、前記サブブロック境界を決定するときに、前記現在のビデオブロック内の第1水平位置(x1)及び第1垂直位置(y1)での前記サブブロック境界の第1垂直サブブロック境界の第1デブロッキングフィルタ長さが、i)水平位置(x1+dx)及び前記第1垂直位置(y1)での境界が変換ブロック境界であるか否か、ii)水平位置(x1-dx)及び前記第1垂直位置(y1)での境界が変換ブロック境界であるか否か、のうちの一方又は両方をチェックすることに基づき決定されることを定め、dxは4に等しい、
装置。 - プロセッサに、
サブブロック時間動きベクトル予測(STMVP)モード又はアフィン予測モードでコーディングされているビデオの現在のビデオブロックのサブブロックについて、ルールに従って、デブロッキングフィルタが適用されるべきであるサブブロック境界を決定するステップと、
前記決定に基づき前記現在のビデオブロックと前記ビデオのビットストリームとの間の変換を実行するステップと
を実行させる命令を記憶し、
前記ルールは、前記サブブロック境界を決定するときに、前記現在のビデオブロック内の第1水平位置(x1)及び第1垂直位置(y1)での前記サブブロック境界の第1垂直サブブロック境界の第1デブロッキングフィルタ長さが、i)水平位置(x1+dx)及び前記第1垂直位置(y1)での境界が変換ブロック境界であるか否か、ii)水平位置(x1-dx)及び前記第1垂直位置(y1)での境界が変換ブロック境界であるか否か、のうちの一方又は両方をチェックすることに基づき決定されることを定め、dxは4に等しい、
非一時的なコンピュータ可読記憶媒体。 - ビデオのビットストリームを記憶する方法であって、
サブブロック時間動きベクトル予測(STMVP)モード又はアフィン予測モードでコーディングされているビデオの現在のビデオブロックのサブブロックについて、ルールに従って、デブロッキングフィルタが適用されるべきであるサブブロック境界を決定するステップと、
前記決定に基づき前記ビットストリームを生成するステップと
を有し、
前記ルールは、前記サブブロック境界を決定するときに、前記現在のビデオブロック内の第1水平位置(x1)及び第1垂直位置(y1)での前記サブブロック境界の第1垂直サブブロック境界の第1デブロッキングフィルタ長さが、i)水平位置(x1+dx)及び前記第1垂直位置(y1)での境界が変換ブロック境界であるか否か、ii)水平位置(x1-dx)及び前記第1垂直位置(y1)での境界が変換ブロック境界であるか否か、のうちの一方又は両方をチェックすることに基づき決定されることを定め、dxは4に等しい、
方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023105609A JP7544921B2 (ja) | 2019-08-23 | 2023-06-28 | コーディングブロック又はサブブロック境界でのデブロッキングフィルタリング |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNPCT/CN2019/102217 | 2019-08-23 | ||
| CN2019102217 | 2019-08-23 | ||
| PCT/CN2020/110784 WO2021036981A1 (en) | 2019-08-23 | 2020-08-24 | Deblocking filtering at coding block or subblock boundary |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023105609A Division JP7544921B2 (ja) | 2019-08-23 | 2023-06-28 | コーディングブロック又はサブブロック境界でのデブロッキングフィルタリング |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022545276A JP2022545276A (ja) | 2022-10-26 |
| JP7305878B2 true JP7305878B2 (ja) | 2023-07-10 |
Family
ID=74683279
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022512298A Active JP7305878B2 (ja) | 2019-08-23 | 2020-08-24 | コーディングブロック又はサブブロック境界でのデブロッキングフィルタリング |
| JP2023105609A Active JP7544921B2 (ja) | 2019-08-23 | 2023-06-28 | コーディングブロック又はサブブロック境界でのデブロッキングフィルタリング |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023105609A Active JP7544921B2 (ja) | 2019-08-23 | 2023-06-28 | コーディングブロック又はサブブロック境界でのデブロッキングフィルタリング |
Country Status (6)
| Country | Link |
|---|---|
| US (2) | US11438585B2 (ja) |
| EP (1) | EP4005206A4 (ja) |
| JP (2) | JP7305878B2 (ja) |
| KR (1) | KR102733969B1 (ja) |
| CN (2) | CN114868391B (ja) |
| WO (2) | WO2021036981A1 (ja) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114731419B (zh) * | 2019-09-05 | 2025-08-22 | 寰发股份有限公司 | 视频编解码方法和装置 |
| WO2021060938A1 (ko) * | 2019-09-26 | 2021-04-01 | 현대자동차주식회사 | 360도 비디오 가상 경계의 인루프 필터를 제한하는 방법 |
| CN114747223B (zh) * | 2019-10-07 | 2023-11-14 | Lg电子株式会社 | 基于子画面结构执行环路内滤波的图像编码/解码方法和装置及发送比特流的方法 |
| WO2021157536A1 (ja) | 2020-02-06 | 2021-08-12 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法、および復号方法 |
| CN120457681A (zh) * | 2023-01-03 | 2025-08-08 | 高通股份有限公司 | 自适应视频滤波器分类器方法 |
| KR20250124417A (ko) * | 2023-01-04 | 2025-08-19 | 엘지전자 주식회사 | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019137750A1 (en) | 2018-01-10 | 2019-07-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Determining filter length for deblocking during encoding and/or decoding of video |
| WO2020050279A1 (ja) | 2018-09-05 | 2020-03-12 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法および復号方法 |
| WO2020175145A1 (ja) | 2019-02-27 | 2020-09-03 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
Family Cites Families (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4191729B2 (ja) * | 2005-01-04 | 2008-12-03 | 三星電子株式会社 | イントラblモードを考慮したデブロックフィルタリング方法、及び該方法を用いる多階層ビデオエンコーダ/デコーダ |
| JP4784188B2 (ja) * | 2005-07-25 | 2011-10-05 | ソニー株式会社 | 画像処理装置、画像処理方法およびプログラム |
| JP5026092B2 (ja) * | 2007-01-12 | 2012-09-12 | 三菱電機株式会社 | 動画像復号装置および動画像復号方法 |
| KR101590500B1 (ko) * | 2008-10-23 | 2016-02-01 | 에스케이텔레콤 주식회사 | 동영상 부호화/복호화 장치, 이를 위한 인트라 예측 방향에기반한 디블록킹 필터링 장치 및 필터링 방법, 및 기록 매체 |
| US9232237B2 (en) * | 2011-08-05 | 2016-01-05 | Texas Instruments Incorporated | Block-based parallel deblocking filter in video coding |
| KR102590030B1 (ko) * | 2011-09-20 | 2023-10-17 | 엘지전자 주식회사 | 영상 정보 인코딩/디코딩 방법 및 장치 |
| US9167269B2 (en) * | 2011-10-25 | 2015-10-20 | Qualcomm Incorporated | Determining boundary strength values for deblocking filtering for video coding |
| US20130107973A1 (en) | 2011-10-28 | 2013-05-02 | Qualcomm Incorporated | Loop filtering control over tile boundaries |
| DK2775711T3 (da) * | 2011-11-04 | 2020-04-06 | Lg Electronics Inc | Fremgangsmåde og apparat til at indkode/afkode billedeinformation |
| US20140321552A1 (en) | 2011-11-18 | 2014-10-30 | Dolby Laboratories Licensing Corporation | Optimization of Deblocking Filter Parameters |
| US9538200B2 (en) | 2012-01-19 | 2017-01-03 | Qualcomm Incorporated | Signaling of deblocking filter parameters in video coding |
| US10321130B2 (en) | 2013-01-07 | 2019-06-11 | Vid Scale, Inc. | Enhanced deblocking filters for video coding |
| JP6359101B2 (ja) | 2013-10-14 | 2018-07-18 | マイクロソフト テクノロジー ライセンシング,エルエルシー | ビデオ及び画像の符号化及び復号のためのイントラブロックコピー予測モードの特徴 |
| AU2014202921B2 (en) * | 2014-05-29 | 2017-02-02 | Canon Kabushiki Kaisha | Method, apparatus and system for de-blocking a block of video samples |
| US10038919B2 (en) * | 2014-05-29 | 2018-07-31 | Apple Inc. | In loop chroma deblocking filter |
| US9832467B2 (en) * | 2014-10-07 | 2017-11-28 | Qualcomm Incorporated | Deblock filtering for intra block copying |
| WO2017045101A1 (en) | 2015-09-14 | 2017-03-23 | Mediatek Singapore Pte. Ltd. | Advanced deblocking filter in video coding |
| KR102437742B1 (ko) * | 2016-08-21 | 2022-08-29 | 엘지전자 주식회사 | 영상 부호화/복호화 방법 및 이를 위한 장치 |
| US10448010B2 (en) * | 2016-10-05 | 2019-10-15 | Qualcomm Incorporated | Motion vector prediction for affine motion models in video coding |
| US10681370B2 (en) * | 2016-12-29 | 2020-06-09 | Qualcomm Incorporated | Motion vector generation for affine motion model for video coding |
| US10708591B2 (en) * | 2017-03-20 | 2020-07-07 | Qualcomm Incorporated | Enhanced deblocking filtering design in video coding |
| TW201842781A (zh) * | 2017-04-06 | 2018-12-01 | 美商松下電器(美國)知識產權公司 | 編碼裝置、解碼裝置、編碼方法及解碼方法 |
| US10986360B2 (en) * | 2017-10-16 | 2021-04-20 | Qualcomm Incorproated | Various improvements to FRUC template matching |
| US10972729B2 (en) | 2018-01-20 | 2021-04-06 | Qualcomm Incorporated | Deblocking filter selection and application in video coding |
| US20190238845A1 (en) | 2018-01-26 | 2019-08-01 | Qualcomm Incorporated | Adaptive loop filtering on deblocking filter results in video coding |
| MX2020010140A (es) | 2018-03-30 | 2020-10-20 | Sharp Kk | Sistemas y metodos para aplicar filtros de suavizamiento a datos de video reconstruidos. |
| US10708592B2 (en) | 2018-04-02 | 2020-07-07 | Qualcomm Incorporated | Deblocking filter for video coding and processing |
| WO2020043192A1 (en) * | 2018-08-31 | 2020-03-05 | Mediatek Inc. | Method and apparatus of in-loop filtering for virtual boundaries in video coding |
| KR20210130735A (ko) | 2019-03-02 | 2021-11-01 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 인-루프 필터링에 대한 제한들 |
-
2020
- 2020-08-24 JP JP2022512298A patent/JP7305878B2/ja active Active
- 2020-08-24 WO PCT/CN2020/110784 patent/WO2021036981A1/en not_active Ceased
- 2020-08-24 CN CN202080059765.6A patent/CN114868391B/zh active Active
- 2020-08-24 WO PCT/CN2020/110782 patent/WO2021036980A1/en not_active Ceased
- 2020-08-24 KR KR1020227005053A patent/KR102733969B1/ko active Active
- 2020-08-24 EP EP20858015.9A patent/EP4005206A4/en active Pending
- 2020-08-24 CN CN202080059654.5A patent/CN114270848B/zh active Active
-
2022
- 2022-02-23 US US17/678,827 patent/US11438585B2/en active Active
- 2022-08-08 US US17/883,082 patent/US12003714B2/en active Active
-
2023
- 2023-06-28 JP JP2023105609A patent/JP7544921B2/ja active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019137750A1 (en) | 2018-01-10 | 2019-07-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Determining filter length for deblocking during encoding and/or decoding of video |
| WO2020050279A1 (ja) | 2018-09-05 | 2020-03-12 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法および復号方法 |
| WO2020175145A1 (ja) | 2019-02-27 | 2020-09-03 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
Non-Patent Citations (4)
| Title |
|---|
| Benjamin Bross, Jianle Chen, and Shan Liu,Versatile Video Coding (Draft 6),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O2001 (version 14),15th Meeting: Gothenburg, SE,2019年07月31日,pp.309-333 |
| Chia-Ming Tsai, et al.,CE5-related: Simplification of subblock deblocking,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,15th Meeting: Gothenburg, SE,15th Meeting: Gothenburg, SE,2019年07月,pp.1-6 |
| Naeri Park, et al.,[AHG16] On deblocking filter process,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-R0289-r1,18th Meeting: by teleconference,2020年04月,pp.1-10 |
| Zhipin Deng, et al.,AHG9: On signalling of deblocking control,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-R0072-v2,18th Meeting: by teleconference,2020年04月,pp.1-7 |
Also Published As
| Publication number | Publication date |
|---|---|
| KR102733969B1 (ko) | 2024-11-26 |
| WO2021036980A1 (en) | 2021-03-04 |
| EP4005206A4 (en) | 2022-09-21 |
| KR20220049520A (ko) | 2022-04-21 |
| US20220394248A1 (en) | 2022-12-08 |
| US11438585B2 (en) | 2022-09-06 |
| CN114270848B (zh) | 2025-04-29 |
| CN114270848A (zh) | 2022-04-01 |
| EP4005206A1 (en) | 2022-06-01 |
| WO2021036981A1 (en) | 2021-03-04 |
| US20220191484A1 (en) | 2022-06-16 |
| JP2023123713A (ja) | 2023-09-05 |
| US12003714B2 (en) | 2024-06-04 |
| CN114868391B (zh) | 2024-06-25 |
| JP2022545276A (ja) | 2022-10-26 |
| JP7544921B2 (ja) | 2024-09-03 |
| CN114868391A (zh) | 2022-08-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7639106B2 (ja) | クロマ残差の共同コーディング及びビデオ処理におけるフィルタリング | |
| JP7305878B2 (ja) | コーディングブロック又はサブブロック境界でのデブロッキングフィルタリング | |
| JP7622153B2 (ja) | クロマデブロックフィルタリングのための量子化パラメータオフセット | |
| JP7662142B2 (ja) | ビデオコーディングにおける量子化グループの使用 | |
| KR20220030953A (ko) | 적응적 루프 필터링을 위한 샘플 결정 | |
| KR20220030991A (ko) | 적응적 루프 필터링에서의 샘플 패딩 | |
| CN114651442A (zh) | 视频编解码中的跨分量适应性回路滤波 | |
| JP7444997B2 (ja) | ビデオコーディングのためのクロスコンポーネント適応ループフィルタリング | |
| WO2024217499A1 (en) | Conditional filter shape switch for adaptive loop filter in video coding | |
| CN120731601A (zh) | 视频编解码中经多个自适应环路滤波器处理的重建 | |
| WO2022026413A1 (en) | Deblocking filtering improvements | |
| CN121079976A (zh) | 在视频编解码中将边信息用于跨分量自适应环路滤波器 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220228 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220228 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230207 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230428 |
|
| 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: 20230530 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230628 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7305878 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
















































































