JP7393550B2 - クロス成分適応ループフィルタリングのためのサンプルパディング - Google Patents
クロス成分適応ループフィルタリングのためのサンプルパディング Download PDFInfo
- Publication number
- JP7393550B2 JP7393550B2 JP2022535772A JP2022535772A JP7393550B2 JP 7393550 B2 JP7393550 B2 JP 7393550B2 JP 2022535772 A JP2022535772 A JP 2022535772A JP 2022535772 A JP2022535772 A JP 2022535772A JP 7393550 B2 JP7393550 B2 JP 7393550B2
- Authority
- JP
- Japan
- Prior art keywords
- sample
- row
- luminance
- video
- samples
- 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
- 230000003044 adaptive effect Effects 0.000 title claims description 33
- 238000001914 filtration Methods 0.000 title description 60
- 238000000034 method Methods 0.000 claims description 231
- 230000008569 process Effects 0.000 claims description 57
- 238000012545 processing Methods 0.000 claims description 46
- 229910052799 carbon Inorganic materials 0.000 claims description 23
- 230000009466 transformation Effects 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 230000015654 memory Effects 0.000 claims description 8
- 239000000872 buffer Substances 0.000 description 30
- 239000013598 vector Substances 0.000 description 17
- 238000010586 diagram Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 10
- 238000013139 quantization Methods 0.000 description 10
- 229910003460 diamond Inorganic materials 0.000 description 9
- 239000010432 diamond Substances 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 230000011664 signaling Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000003252 repetitive effect Effects 0.000 description 7
- 241000023320 Luma <angiosperm> Species 0.000 description 6
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 4
- 238000000844 transformation Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- QNRATNLHPGXHMA-XZHTYLCXSA-N (r)-(6-ethoxyquinolin-4-yl)-[(2s,4s,5r)-5-ethyl-1-azabicyclo[2.2.2]octan-2-yl]methanol;hydrochloride Chemical compound Cl.C([C@H]([C@H](C1)CC)C2)CN1[C@@H]2[C@H](O)C1=CC=NC2=CC=C(OCC)C=C21 QNRATNLHPGXHMA-XZHTYLCXSA-N 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 208000031212 Autoimmune polyendocrinopathy Diseases 0.000 description 1
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 235000019395 ammonium persulphate Nutrition 0.000 description 1
- 238000000261 appearance potential spectroscopy Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Studio Devices (AREA)
- Television Systems (AREA)
- Image Processing (AREA)
Description
本願は、2019年12月11日出願の国際特許出願第PCT/CN2019/124481号の優先権と利益を主張する、2020年12月10日出願の国際特許出願第PCT/CN2020/135134号に基づく。前述のすべての特許出願は、その全体が参照により本明細書に組み込まれる。
本明細書は、映像コーディング技術に関する。具体的には、本発明は、ピクチャ/サブピクチャ/スライス/タイル境界、360度映像仮想境界およびALF仮想境界コーディングに関し、特に、画像/映像コーディングにおけるクロス成分適応ループフィルタ(CC-ALF)および他のコーディングツールに関する。HEVCのような既存の映像コーディング規格に適用してもよいし、規格(Versatile Video Coding)を確定させるために適用してもよい。本発明は、将来の映像コーディング規格または映像コーデックにも適用可能である。
映像コーディング規格は、主に周知のITU-TおよびISO/IEC規格の開発によって発展してきた。ITU-TはH.261とH.263を作り、ISO/IECはMPEG-1とMPEG-4 Visualを作り、両団体はH.262/MPEG-2 VideoとH.264/MPEG-4 AVC(Advanced Video Coding)とH.265/HEVC規格を共同で作った。H.262以来、映像コーディング規格は、時間予測と変換コーディングが利用されるハイブリッド映像コーディング構造に基づく。HEVCを超えた将来の映像コーディング技術を探索するため、2015年には、VCEGとMPEGが共同でJVET(Joint Video Exploration Team)を設立した。それ以来、多くの新しい方法がJVETによって採用され、JEM(Joint Exploration Mode)と呼ばれる参照ソフトウェアに組み込まれてきた。2018年4月には、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)の間にJoint Video Expert Team(JVET)が発足し、HEVCと比較して50%のビットレート削減を目標にVVC規格の策定に取り組んでいる。
色空間は、カラーモデル(又はカラーシステム)としても知られ、色の範囲を数字のタプル(tuple)として簡単に記述する抽象的な数学モデルであり、典型的には3又は4つの値又は色成分(例えばRGB)である。基本的には、色空間は座標系とサブ空間とを精緻化したものである。
3つのY’CbCr成分のそれぞれは、同じサンプルレートを有し、従って、クロマサブサンプリングはない。この方式は、ハイエンドフィルムスキャナ及びシネマティックポストプロダクションに用いられることがある。
2つのクロマ成分は、輝度のサンプルレートの半分でサンプリングされ、水平クロマ解像度は半分にされ、垂直クロマ解像度は変化しない。これにより、視覚的にほとんどまたは全く差がなく、非圧縮の映像信号の帯域幅を1/3に低減することができる。4:2:2カラーフォーマットの名目上の垂直および水平の位置の例が、例えば、VVC作業草案の図1に示されている。
4:2:0では、水平サンプリングは4:1:1に比べて2倍になるが、この方式ではCbとCrチャンネルを各交互のラインでのみサンプリングするため、垂直解像度が半分になる。従って、データレートは同じである。Cb及びCrはそれぞれ水平及び垂直方向の両方に2倍ずつサブサンプリングされる。異なる水平及び垂直位置を有する4:2:0スキームの3つの変形がある。
MPEG-2において、Cb及びCrは水平方向に共座している。CbおよびCrは垂直方向の画素間に位置する(格子間に位置する)。
JPEG/JFIF、H.261、及びMPEG-1において、Cb及びCrは、交互の輝度サンプルの中間に間欠的に位置する。
4:2:0DVにおいて、Cb及びCrは、水平方向に共座している。垂直方向には、それらは交互に共座している。
図2は、3つのインループフィルタリングブロック、すなわちデブロッキングフィルタ(DF)、サンプル適応オフセット(SAO)およびALFを含むVVCのエンコーダブロック図の例を示す。DF(予め定義されたフィルタを使用する)とは異なり、SAOおよびALFは、現在のピクチャのオリジナルサンプルを利用し、オフセットおよびフィルタ係数を信号通知するコーディングサイド情報を用いて、オフセットを追加し、有限インパルス応答(FIR)フィルタを適用することをそれぞれ行うことにより、元のサンプルと再構成サンプルとの間の平均二乗誤差を低減する。ALFは、各ピクチャの最後の処理段階に位置し、前の段階で生成されたアーチファクトを捕捉および修正しようとするツールと見なすことができる。
1つのピクチャは、1つ以上のタイル行および1つ以上のタイル列に分割される。1つのタイルは、1つの画像の1つの矩形領域を覆う1つのCTUのシーケンスである。1つのタイルにおけるCTUは、そのタイル内でラスタスキャン順にスキャンされる。
VVCにおいて、構文要素log2_ctu_size_minus2によりSPSに信号通知されるCTUのサイズは、4×4と小さなものであってもよい。
log2_min_luma_coding_block_size_minus2+2は、最小輝度コーディングブロックサイズを規定する。
変数CtbLog2SizeY,CtbSizeY,MinCbLog2SizeY,MinCbSizeY,MinTbLog2SizeY,MaxTbLog2SizeY,MinTbSizeY,MaxTbSizeY,PicWidthInCtbsY,PicHeightInCtbsY,PicSizeInCtbsY,PicWidthInMinCbsY,PicHeightInMinCbsY,PicSizeInMinCbsY,PicSizeInSamplesY,PicWidthInSamplesCおよびPicHeightInSamplesCは、以下のように導出される。
CtbLog2SizeY=log2_ctu_size_minus2+2 (7-9)
CtbSizeY=1<<CtbLog2SizeY (7-10)
MinCbLog2SizeY=log2_min_luma_coding_block_size_minus2+2 (7-11)
MinCbSizeY=1<<MinCbLog2SizeY (7-12)
MinTbLog2SizeY=2 (7-13)
MaxTbLog2SizeY=6 (7-14)
MinTbSizeY=1<<MinTbLog2SizeY (7-15)
MaxTbSizeY=1<<MaxTbLog2SizeY (7-16)
PicWidthInCtbsY=Ceil(pic_width_in_luma_samples÷CtbSizeY) (7-17)
PicHeightInCtbsY=Ceil(pic_height_in_luma_samples÷CtbSizeY) (7-18)
PicSizeInCtbsY=PicWidthInCtbsY*PicHeightInCtbsY (7-19)
PicWidthInMinCbsY=pic_width_in_luma_samples/MinCbSizeY (7-20)
PicHeightInMinCbsY=pic_height_in_luma_samples/MinCbSizeY (7-21)
PicSizeInMinCbsY=PicWidthInMinCbsY*PicHeightInMinCbsY (7-22)
PicSizeInSamplesY=pic_width_in_luma_samples*pic_height_in_luma_samples (7-23)
PicWidthInSamplesC=pic_width_in_luma_samples/SubWidthC (7-24)
PicHeightInSamplesC=pic_height_in_luma_samples/SubHeightC (7-25)
M×N(一般的に、HEVC/VVCに定義されるように、MはNに等しい)によって示されるCTB/LCUサイズを想定し、ピクチャ(またはタイル、またはスライス、または他の種のタイプがあるが、ピクチャの境界を例として取り上げる)境界に位置するCTBの場合、K×L個のサンプルは、K<MまたはL<Nの場合、ピクチャの境界内にある。図7A~図7Cに示されるCTBの場合、CTBのサイズは依然としてM×Nに等しいが、CTBの下側境界/右側境界はピクチャの外側にある。
DBの入力は、インループフィルタの前に再構成されたサンプルである。
8×8のブロック境界にフィルタリングを適用する。さらに、それは、(例えば、アフィン動き予測、ATMVPを使用しているため)変換ブロックの境界またはコーディングサブブロックの境界でなければならない。そのような境界でない場合、フィルタは無効にされる。
変換ブロックの境界/コーディングサブブロックの境界に対して、それが8×8グリッドに位置する場合、それをフィルタリングしてもよく、このエッジに対するbS[xDi][yDj]([xDi][yDj]は座標を表す)の設定は、それぞれ、表2-2および表2-3で定義している。
デブロッキング決定処理は、このサブセクションで説明する。
条件1は、「ラージブロック条件」である。この条件は、P側およびQ側のサンプルが、それぞれ変数bSidePisLargeBlkおよびbSideQisLargeBlkによって表現されるラージブロックに属するかどうかを検出する。bSidePisLargeBlkおよびbSideQisLargeBlkは、以下のように定義される。
bSidePisLargeBlk=((edge type is vertical and p0 belongs to CU with width>=32)||(edge type is horizontal and p0 belongs to CU with height>=32))?TRUE:FALSE
bSideQisLargeBlk=((edge type is vertical and q0 belongs to CU with width>=32)||(edge type is horizontal and q0 belongs to CU with height>=32))?TRUE:FALSE
bSidePisLargeBlkおよびbSideQisLargeBlkに基づいて、条件1を以下のように定義する。
Condition1=(bSidePisLargeBlk || bSidePisLargeBlk)?TRUE:FALSE
次に、条件1が真である場合、さらに条件2をチェックする。まず、以下の変数を導出する。
-dp0,dp3,dq0,dq3をまずHEVCとして導出する
-if (p side is greater than or equal to 32)
dp0=(dp0+Abs(p50-2*p40+p30)+1)>>1
dp3=(dp3+Abs(p53-2*p43+p33)+1)>>1
-if(q side is greater than or equal to 32)
dq0=(dq0+Abs(q50-2*q40+q30)+1)>>1
dq3=(dq3+Abs(q53-2*q43+q33)+1)>>1
Condition2=(d<β)?TRUE:FALSE
where d=dp0+dq0+dp3+dq3.
条件1および条件2が有効である場合、いずれかのブロックがサブブロックを使用するかどうかをさらにチェックする。
If(bSidePisLargeBlk)
{
If(mode block P==SUBBLOCKMODE)
Sp=5
else
Sp=7
}
else
Sp=3
If(bSideQisLargeBlk)
{
If(mode block Q==SUBBLOCKMODE)
Sq=5
else
Sq=7
}
else
Sq=3
最後に、条件1および条件2の両方が有効である場合、提案されたデブロッキング方法は、以下のように定義される条件3(ラージブロックの強いフィルタ条件)をチェックする。
条件3のStrongFilterConditionにおいて、以下の変数を導出する。
dpqはHEVCと同様に導出される。
sp3=Abs(p3-p0)、HEVCと同様に導出される
if(p側が32以上)
if(Sp==5)
sp3=(sp3+Abs(p5-p3)+1)>>1
else
sp3=(sp3+Abs(p7-p3)+1)>>1
sq3=Abs(q0-q3)は、HEVCと同様に導出される
if(q側が32以上)
If(Sq==5)
sq3=(sq3+Abs(q5-q3)+1)>>1
else
sq3=(sq3+Abs(q7-q3)+1)>>1
HEVCと同様に、StrongFilterCondition=(dpqは(β>>2)未満、sp3+sq3は(3*β>>5)未満、およびAbs(p0-q0)は(5*tC+1)>>1)?TRUE:FALSE.
バイリニアフィルタは、境界の両側のサンプルが1つのラージブロックに属する場合に用いられる。1つのラージブロックに属する1つのサンプルは、垂直エッジの場合、幅≧32であり、水平エッジの場合、高さ≧32であるときとして定義される。
クロマの強いフィルタは、ブロックの境界の両側に用いられる。ここで、クロマフィルタは、クロマエッジの両側が8(クロマ位置)以上である場合に選択され、次の3つの条件を満たす決定が行われる。第1は、ラージブロックと同様に境界強度の決定である。提案されたフィルタは、クロマサンプルドメインにおいて、ブロックのエッジに直交するブロックの幅または高さが8以上である場合に適用できる。第2および第3は、基本的にはHEVC輝度のデブロッキングの決定と同じであり、それぞれオン/オフの決定、および、強いフィルタの決定である。
第2の条件において、
その後、HEVC輝度デブロッキングと同様にdを導出する。
第2の条件は、dがβより小さい場合、TRUEとなる。
第3の条件において、StrongFilterConditionは、以下のように導出される。
dpqはHEVCと同様に導出される。
sp3=Abs(p3-p0)、HEVCと同様に導出される
sq3=Abs(q0-q3)はHEVCと同様に導出される
2.4.6.クロマ用の強いデブロッキングフィルタ
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
位置依存クリッピングtcPDは、境界で7個、5個、および3個のサンプルを修正する強く長いフィルタを含む輝度フィルタリング処理の出力サンプルに適用される。量子化誤差分布を仮定して、より高い量子化ノイズを有すると予想されるサンプルに対して、クリッピング値を増加させることが提案され、よって、再構成されたサンプル値の真のサンプル値からのより高い偏差を有することが予想される。
Tc7={6,5,4,3,2,1,1};Tc3={6,4,2};
tcPD=(Sp==3)?Tc3:Tc7;
tcQD=(Sq==3)?Tc3:Tc7;
Tc3={3,2,1};
p’’i=Clip3(p’i+tcPi,p’i-tcPi,p’i);
q’’j=Clip3(q’j+tcQj,q’j-tcQj,q’j);
両方のロングフィルタを使用する並列フレンドリなデブロッキングおよびサブブロックデブロッキングを可能にするために、ロングフィルタは、ロングフィルタのための輝度制御に示すように、サブブロックデブロッキング(AFFINE、ATMVP、またはDMVR)を使用する側でのサンプルの修正が、最大で5つまでに制限される。さらに、サブブロックのデブロッキングは、CUまたは暗黙のTU境界に近い8×8グリッド上のサブブロック境界の修正が、各側において最大2つまでのサンプルに制限されるように調整される。
以下は、CU境界と整列されていないサブブロック境界に適用される。
If(mode block Q==SUBBLOCKMODE && edge !=0){
if(!(implicitTU && (edge==(64/4))))
if(edge==2 || edge==(orthogonalLength-2) || edge==(56/4) || edge==(72/4))
Sp=Sq=2;
else
Sp=Sq=3;
else
Sp=Sq=bSideQisLargeBlk?5:3
}
SAOの入力は、DBの後に再構成されたサンプルである。SAOの概念は、まず、選択された分類子を使用して領域サンプルを複数のカテゴリに分類し、各カテゴリにオフセットを取得し、次いで、カテゴリの各サンプルにそのオフセットを加えることによって、領域の平均のサンプル歪みを低減することであり、そこで、分類子のインデックスと領域のオフセットとがビットストリームにおいてコーディングされる。HEVCおよびVVCにおいて、この領域(SAOパラメータ信号通知の単位)は、CTUとして定義される。
VVCにおいて、ブロックに基づくフィルタ適応を伴う適応ループフィルタ(ALF)が適用される。輝度成分は、局所勾配の方向および働きに基づいて、4×4ブロックごとに25個のフィルタのうち1つを選択する。
2つの菱形フィルタ形状(図11に示す)が使用される。輝度成分には7×7菱形を適用し、クロマ成分には5×5菱形を適用する。
輝度成分の場合、各4×4ブロックを25個のクラスのうちの1つに分類する。分類インデックスCは、その方向性DおよびアクティビティA^の量子化値に基づいて、以下のように導出される。
各4×4輝度ブロックをフィルタリングする前に、そのブロックに対して計算された勾配値に基づいて、フィルタ係数f(k,l)および対応するフィルタクリッピング値c(k,l)に対して、回転または対角線および垂直方向の反転等の幾何学的変換を施す。これは、これらの変換をフィルタサポート領域内のサンプルに適用することに等しい。その考えは、ALFが適用される異なるブロックを、それらの方向性を揃えることによって、より類似させることである。
対角線、垂直方向の反転および回転を含む3つの幾何学的変換を紹介する。
ALFフィルタパラメータは、適応パラメータセット(APS)において信号通知される。1つのAPSにおいて、最大25組の輝度フィルタ係数およびクリッピング値インデックス、並びに最大8組のクロマフィルタ係数およびクリッピング値インデックスを信号通知することができる。ビットオーバーヘッドを低減するために、輝度成分の異なる分類のフィルタ係数をマージすることができる。スライスヘッダにおいて、現在のスライスに使用されるAPSのインデックスが信号通知される。
デコーダ側において、CTBのためにALFが有効化されると、CU内の各サンプルR(i,j)がフィルタリングされ、その結果、以下に示すように、サンプル値R’(i,j)が得られる。
ハードウェアおよび組み込みソフトウェアにおいて、ピクチャに基づく処理は、その高いピクチャバッファ要件のために、実際には受け入れられない。オンチップピクチャバッファの使用は非常に高価であり、オフチップピクチャバッファの使用は、外部メモリアクセス、電力消費、およびデータアクセス待ち時間を大幅に増加させる。そのため、実際の製品において、DF、SAO、ALFを画像に基づく復号からLCUに基づく復号に変更することになる。DF、SAO、ALFにLCUに基づく処理を使用する場合、複数のLCUを並列処理するために、LCUパイプライン方式を用いたラスタスキャンでLCUごとに全体の復号処理を行うことができる。この場合、1つのLCU行を処理するには上側LCU行からのピクセルが必要であるので、DF、SAO、およびALFのためにラインバッファが必要である。オフチップラインバッファ(例えば、DRAM)を使用する場合、外部メモリの帯域幅および消費電力が増大し、オンチップラインバッファ(例えば、SRAM)を使用する場合、チップ面積が増大する。従って、ラインバッファは既にピクチャバッファよりも遥かに小さいが、ラインバッファを低減することが依然として望ましい。
-ラインK-N(水平DFピクセル):4ライン
-ラインD-J(SAOフィルタリングされたピクセル):7ライン
-ラインJとラインKとの間のSAOエッジオフセット分類子値:0.25ライン
VTM5における水平ラップアラウンドの動き補償は、等長方形(ERP)投影フォーマットにおける再構成された360度映像の視覚品質を改善するように設計された360度固有のコーディングツールである。従来の動き補償において、動きベクトルが参照ピクチャにおけるピクチャの境界を超えるサンプルを指す場合、反復パディングを適用し、対応するピクチャの境界における最も近い近傍のものからコピーすることによって、境界外サンプルの値を導出する。360度映像の場合、この反復パディング方法は適しておらず、再構成されたビューポート映像において、「シームアーチファクト」と呼ばれる視覚的アーチファクトを引き起こす可能性がある。360度の映像は球面上で撮影され、本質的に「境界」を有していないため、投影されたドメインにおいて参照ピクチャの境界外の参照サンプルは、常に球面ドメインにおける近傍のサンプルから得ることができる。一般的な投影フォーマットの場合、2Dから3Dおよび3Dから2Dへの座標変換、並びに端数のサンプルの位置のためのサンプル補間を含むので、球面ドメインにおける対応する近傍のサンプルを導出することは困難となり得る。この問題は、ERP投影フォーマットの左右の境界の場合ははるかに簡単である。何故なら、左側のピクチャの境界外の球面の近傍部分は、右側のピクチャの境界の内側のサンプルから得ることができ、逆もまた同様であるからである。図19は、VVCにおける水平ラップアラウンドの動き補償の例を示す。
図21Aは、他のループフィルタに対するCC-ALFの配置を示す。CC-ALFは、クロマ成分ごとに輝度チャネルに線形菱形フィルタ図21Bを適用することによって動作し、以下のように表される。
(x,y)は、微調整されたクロマ成分iの位置である。
(xC,yC)は、(x,y)に基づく輝度位置である。
Siは、クロマ成分iのための輝度におけるフィルタサポートである。
ci(x0,y0)は、フィルタ係数を表す。(2-14)
x.x.x.x クロマサンプルのブロックのためのクロス成分フィルタリング処理
この処理の入力は以下の通りである。
-輝度適応ループフィルタリング処理の前に再構成された輝度ピクチャサンプルアレイrecPictureL
-フィルタリングされた再構成クロマピクチャサンプルアレイalfPictureC
-現在のピクチャの左上のサンプルに対するクロマサンプルの現在のブロックの左上のサンプルを規定する位置(xC,yC)
-クロマサンプルのブロックの幅ccAlfWidth
-クロマサンプルのブロックの高さccAlfheight
-j=0..13であるクロス成分フィルタ係数CcAlfCoeff[j]
この処理の出力は、修正され、フィルタリングされ、再構成されたクロマピクチャサンプルアレイccAlfPictureである。
コーディングツリーブロック輝度位置(xCtb,yCtb)は、以下のように導出される。
xCtb=(((xC*SubWidthC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
yCtb=(((yC*SubHeightC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
フィルタリングされた再構成クロマサンプルccAlfPicture[xC+x][yC+y]を導出するために、サンプルalfPictureC[xC+x][yC+y](但し、x=0..ccAlfWidth-1,y=0..ccAlfHeight-1)の現在のクロマブロック内部の各々の再構成されたクロマサンプルは、以下のようにフィルタリングされる。
-クロマ位置(xC+x,yC+y)における現在のクロマサンプルに対応する輝度位置(xL,yL)は、((xC+x)*SubWidthC,(yC+y)*SubHeightC)に等しく設定される。
-i=-2..2,j=-2..3の場合、配列recPictureL内の輝度位置(hxL+i,vyL+j)は、以下のように導出される。
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つ、n=0..pps_num_ver_virtual_boundaries-1においてxL-PpsVirtualBoundariesPosX[n]が0以上3未満である場合、以下が適用される。
hxL+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xL+i) (8-1229)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_ver_virtual_boundaries-1においてPpsVirtualBoundariesPosX[n]が0より大きく4未満である場合、以下が適用される。
hx+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xL+i) (8-1230)
-そうでない場合、以下が適用される。
hx+i=Clip3(0,pic_width_in_luma_samples-1,xL+i) (8-1231)
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてyL-PpsVirtualBoundariesPosY[n]が0以上3未満である場合、以下が適用される。
vy+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yL+j) (8-1232)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてPpsVirtualBoundariesPosY[n]-yLが0より大きく4未満である場合、以下が適用される。
vy+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yL+j) (8-1233)
-そうでない場合、以下が適用される。
vy+j=Clip3(0, pic_height_in_luma_samples-1,yL+j) (8-1234)
-変数clipLeftPos、clipRightPos、clipTopPos、およびclipBottomPosは、(xCtb,yCtb)および(xL-xCtb,yL-yCtb)を入力として、8.8.5.5項で規定されるように、ALF境界位置導出処理を呼び出すことによって導出される。
-垂直方向のサンプルの位置yL、clipLeftPos、およびclipRightPosに応じた垂直方向の輝度サンプルの位置のオフセットyM2、yM1、yP1、yP2、yP3を表2-6で規定する。
-水平方向の輝度サンプルの位置xL、clipLeftPos、およびclipRightPosに応じた水平サンプル位置オフセットxM1,xM2,xP1、xP2を表2-7で規定する。
変数currは、以下のように導出される。
curr=alfPictureC[xC+x,yC+y] (8-1286)
-クロス成分フィルタ係数f[j]のアレイは、j=0..13として以下のように導出される。
f[j]=CcAlfCoeff[j] (8-1287)
変数sumは、以下のように導出される。
sum=f[0]*recPictureL[hx,vy+yM2]+
f[1]*recPictureL[hx+xM1,vy+yM1]+
f[2]*recPictureL[hx,vy+yM1]+
f[3]*recPictureL[hx+xP1,vy+yM1]+
f[4]*recPictureL[hx+xM2,vy]+
f[5]*recPictureL[hx+xM1,vy]+
f[6]*recPictureL[hx,vy]+
f[7]*recPictureL[hx+xP1,vy]+
f[4]*recPictureL[hx+xP2,vy]+ (8-1289)
f[4]*recPictureL[hx+xM2,vy+yP1]+
f[8]*recPictureL[hx+xM1,vy+yP1]+
f[9]*recPictureL[hx,vy+yP1]+
f[10]*recPictureL[hx+xP1,vy+yP1]+
f[4]*recPictureL[hx+xP2,vy+yP1]+
f[11]*recPictureL[hx+xM1,vy+yP2]+
f[12]*recPictureL[hx,vy+yP2]+
f[13]*recPictureL[hx+xP1,vy+yP2]+
f[0]*recPictureL[hx,vy+yP3]
sum=curr+(sum+64)>>7) (8-1290)
-修正されフィルタリングされた再構成クロマピクチャサンプルアレイccAlfPicture[xC+x][yC+y]は、以下のように導出される。
ccAlfPicture[xC+x][yC+y]=Clip3(0,(1<<BitDepthC)-1,sum) (8-1291)
輝度ALF/クロマALFと同様に、JVET-P0080におけるCC-ALFの場合、ALF仮想境界において反復パディングが利用される。図22に示すように、ALF仮想境界より上または下の輝度サンプルが利用不可である場合、最も近いサンプル線をパディングに利用する。詳細なパディング方法を表2-6に示す。
JVET-O0636[1]およびCE5-2.1[2]において、クロス成分適応ループフィルタ(CC-ALF)を導入し、検討した。このフィルタは、線形フィルタを使用して輝度サンプル値をフィルタリングし、並置されフィルタリングされた出力からクロマチャネルのための残差補正を生成する。このフィルタは、既存の輝度ALFと並列に動作するように設計されている。
x.x.x.x クロマサンプルのブロックのためのクロス成分フィルタリング処理
この処理の入力は以下の通りである。
-輝度適応ループフィルタリング処理の前に再構成された輝度ピクチャサンプルアレイrecPictureL
-フィルタリングされた再構成クロマピクチャサンプルアレイalfPictureC
-現在のピクチャの左上のサンプルに対する現在のクロマコーディングツリーブロックの左上のサンプルを規定するクロマ位置(xCtbC,yCtbC)
-クロマサンプルのブロックの幅ccAlfWidth
-クロマサンプルのブロックの高さccAlfheight
-j=0..7であるクロス成分フィルタ係数CcAlfCoeff[j]
この処理の出力は、修正され、フィルタリングされ、再構成されたクロマピクチャサンプルアレイccAlfPictureである。
コーディングツリーブロック輝度位置(xCtb,yCtb)は、以下のように導出される。
xCtb=(((xCtbC*SubWidthC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
yCtb=(((yCtbC*SubHeightC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
フィルタリングされた再構成クロマサンプルccAlfPicture[xCtbC+x][yCtbC+y]を導出するために、サンプルalfPictureC[xCtbC+x][yCtbC+y](但し、x=0..ccAlfWidth-1,y=0..ccAlfHeight-1)の現在のクロマブロック内部の各々の再構成されたクロマサンプルは、以下のようにフィルタリングされる。
-クロマ位置(xCtbC+x,yCtbC+y)における現在のクロマサンプルに対応する輝度位置(xL,yL)は、((xCtbC+x)*SubWidthC,(yCtbC+y)*SubHeightC)に等しく設定される。
配列recPictureL内の、-i=-1..1,j=-1..2の場合の輝度位置(hxL+i,vyL+j)は、以下のように導出される。
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つ、n=0..pps_num_ver_virtual_boundaries-1においてxL-PpsVirtualBoundariesPosX[n]が0以上3未満である場合、以下が適用される。
hxL+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xL+i) (8-1229)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_ver_virtual_boundaries-1においてPpsVirtualBoundariesPosX[n]が0より大きく4未満である場合、以下が適用される。
hx+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xL+i) (8-1230)
-そうでない場合、以下が適用される。
hx+i=Clip3(0, pic_width_in_luma_samples-1,xL+i) (8-1231)
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてyL-PpsVirtualBoundariesPosY[n]が0以上3未満である場合、以下が適用される。
vy+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yL+j) (8-1232)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてPpsVirtualBoundariesPosY[n]-yLが0より大きく4未満である場合、以下が適用される。
vy+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yL+j) (8-1233)
-そうでない場合、以下が適用される。
vy+j=Clip3(0, pic_height_in_luma_samples-1,yL+j) (8-1234)
-変数clipLeftPos、clipRightPos、clipTopPos、およびclipBottomPosは、(xCtb,yCtb)および(xL-xCtb,yL-yCtb)を入力として、8.8.5.5項で規定されるように、ALF境界位置導出処理を呼び出すことによって導出される。
-垂直方向のサンプルの位置yL、clipLeftPos、およびclipRightPosに応じた垂直方向の輝度サンプルの位置のオフセットyM1、yP1、yP2を表2-8で規定する。
-水平方向の輝度サンプルの位置xL、clipLeftPos、およびclipRightPosに応じた水平サンプル位置オフセットxM1およびxP1を表2-9で規定する。
変数currは、以下のように導出される。
curr=alfPictureC[xCtbC+x,yCtbC+y] (8-1286)
-クロス成分フィルタ係数f[j]のアレイは、j=0..7の場合、以下のように導出される。
f[j]=CcAlfCoeff[j] (8-1287)
変数sumは、以下のように導出される。
sum=f[0]*recPictureL[hx,vy+yM1]+
f[1]*recPictureL[hx+xM1,vy]+
f[2]*recPictureL[hx,vy]+
f[3]*recPictureL[hx+xP1,vy]+ (8-1289)
f[4]*recPictureL[hx+xM1,vy+yP1]+
f[5]*recPictureL[hx,vy+yP1]+
f[6]*recPictureL[hx+xP1,vy+yP1]+
f[7]*recPictureL[hx,vy+yP2]
sum=Clip3(-(1<<(BitDepthC-1)),(1<<(BitDepthC-1))-1,sum) (8-1290)
sum=curr+(sum+64)>>(7+(BitDepthY-BitDepthC)) (8-1290)
-修正されフィルタリングされた再構成クロマピクチャサンプルアレイccAlfPicture[xCtbC+x][yCtbC+y]は、以下のように導出される。
ccAlfPicture[xCtbC+x][yCtbC+y]=Clip3(0,(1<<BitDepthC)-1,sum) (8-1291)
JVET-P1008のCC-ALFに対しては、ALF仮想境界でミラー(対称)パディングが使用される。図24に示すように、ALF仮想境界より上または下の輝度サンプルが利用不可である場合、最も近いサンプル線をパディングに利用し、対応するサンプルもパディングする必要がある。詳細なパディング方法は表2-9にも示されている。
2.10.1代替のフィルタ形状
CC-ALFフィルタ形状は、以下の図に示すように、8個または6個の係数を有するように修正される。
ジョイントクロマクロス成分適応ループフィルタ(JC-CCALF)は、エンコーダでトレーニングされた1つのCCALFフィルタ係数のみを使用して、1つのフィルタリングされた出力を微調整信号として生成し、これをCb成分に直接追加し、適切に重み付けた後Cr成分に追加する。フィルタはCTUレベルで示されるか、またはブロックサイズで示されて、1つのスライスごとに信号通知される。
CC-ALFのための境界パディングの現在の設計は、以下の問題を有する。
1.CC-ALFにおけるALF仮想境界でのパディング方法は、あまり効率的でない可能性があるパディングされたサンプルが利用されるので、準最適となる場合がある。
2.ALF仮想境界および映像ユニットの境界(例えば、ピクチャ/サブピクチャ/スライス/タイルの境界)並びに360度の仮想境界を処理するための異なる方法、即ち、異なるパディング方法が存在する。
3.ALFにおいて、ミラーパディングが適用され、現在のサンプルまでの距離が計算され、どの対応するサンプルをパディングする必要があるかが決定される。しかしながら、CC-ALFにおいて、特に4:2:0の場合、1つのクロマサンプルをフィルタリングするために、複数の輝度サンプルが関与する。どの対応するサンプルをパディングする必要があるかを決定する方法は不明である。
以下に列記されるものは、一般的な概念を説明するための例であると考えられるべきである。これら項目は狭い意味で解釈されるべきではない。さらに、これらの項目は、任意の方法で組み合わせることができる。
CC-ALFのALF仮想境界の処理
1.ALF仮想境界において利用不可の輝度サンプルをパディングするために、ミラーパディングを利用して、利用不可の輝度サンプルと、利用不可の輝度サンプルの1つまたは複数の対応する輝度サンプルとを導出し、CC-ALFにおいてフィルタリングすることができる。すなわち、利用不可のサンプルの少なくとも1つの対応する輝度サンプルは、それが利用可能であっても同様にパディングすることが必要である。
a.一例において、ミラーパディング方法を使用して、利用不可の輝度サンプルの対応するサンプルとして決定された輝度サンプルをパディングしてもよい。
b.一例において、(対応するフィルタリングサンプルのセットにおける)輝度サンプルが、利用不可のサンプルの対応するサンプルとして決定されるかどうかは、代表的な輝度サンプルに対するサンプルの距離、または/および代表的な輝度サンプルに対する利用不可のサンプルの距離に依存することもある。ここで、代表的な輝度サンプルが位置している中央の行をCで示す。K行におけるサンプルとL列のサンプルとを利用するK×Lフィルタ形状をCC-ALFにおいて使用するとする。
i.一例において、代表的な輝度サンプルは、フィルタリング対象の現在のクロマサンプルの並置された輝度サンプルとして定義される。
1)一例において、現在のクロマサンプルの並置された輝度サンプルの位置は、カラーフォーマットに依存することもある。
a)一例において、(x,y)に位置するクロマサンプルの並置された輝度サンプルは、4:2:0のクロマフォーマットにおける(2x,2y)に位置するものとして定義される。
b)一例において、(x,y)に位置するクロマサンプルの並置された輝度サンプルは、4:2:2のクロマフォーマットにおける(2x,y)に位置するものとして定義される。
c)一例において、(x,y)に位置するクロマサンプルの並置された輝度サンプルは、4:4:4のクロマフォーマットにおける(x,y)に位置するものとして定義される。
ii.一例において、この距離は、輝度サンプルを含む行と代表的な輝度サンプルを含む行との垂直距離を指してもよい。例えば、この距離は、輝度サンプルと代表的な輝度サンプルとの絶対y座標差として計算されてもよい。
1)図29に示すように、代表的な輝度サンプルが位置する中央の行、利用不可のサンプルの行、対応するサンプルの行をそれぞれC、M、Nと表しており、MとNは等しくない。d(x,y)をxとyの絶対y座標差として表しており、これは、行xと行yとの距離を意味する。
iii.一例において、ミラーパディングにおいてパディング対象の対応するサンプルの決定は、フィルタ形状によって利用されるサンプルの行数に依存することもある。
iv.一例において、利用不可のサンプルが行Mに位置している場合(例えば、M<C<NまたはM>C>N)は、d(C,M)=d(N,C)のとき、行Nに位置しているサンプルは、パディング対象の対応するサンプルであると決定される。
1)一例において、値K(例えば、K×L CC-ALFフィルタ形状)が奇数である場合、ALFのためのミラーパディング方法(例えば、図16)をCC-ALFに利用することができ、そこで、中央の輝度サンプルが代表的な輝度サンプルとして選択される。
a)一例において、K=5とし、表4-5に示す5つのサンプル行のy座標をそれぞれyM2=-2、yM1=-1、yL=0、yP1=1、yP2=2として表す。ALF仮想境界はCtbSizeY-4に等しい。
i.一例において、ALF仮想境界が代表的な輝度サンプルよりも上である場合、ALF仮想境界よりも下の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の上の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-3に等しく、行yM2が利用不可である場合、行yM2におけるサンプル(x,yM2)は、行yM1におけるサンプル(x,yM1)を使用してパディングしてもよい。一方、対応する行yP2のサンプル(x,yP2)は、行yP1のサンプル(x,yP1)を使用してパディングしてもよい。
2.一例において、yLがCtbSizeY-4に等しく、行yM2およびyM1が利用不可である場合、行yM2およびyM1におけるサンプル(x,yM2)および(x,yM1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。一方、対応する行yP2およびyP1におけるサンプル(x,yP2)および(x,yP1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。
ii.一例において、ALF仮想境界が代表的な輝度サンプルよりも下である場合、ALF仮想境界よりも上の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の下の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-6に等しく、行yP2が利用不可である場合、行yP2におけるサンプル(x,yP2)は、行yP1におけるサンプル(x,yP1)を使用してパディングしてもよい。一方、対応する行yM2におけるサンプル(x,yM2)は、行yM1におけるサンプル(x,yM1)を使用してパディングしてもよい。
2.一例において、yLがCtbSizeY-5に等しく、行yP2およびyP1が利用不可である場合、行yP2およびyP1におけるサンプル(x,yP2)および(x,yP1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。一方、対応する行yM2およびyM1におけるサンプル(x,yM2)および(x,yM1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。
2)一例において、値K(例えば、K×L CC-ALFフィルタ形状)が偶数である場合、図30に定義されたミラーパディング方法を利用してもよい。利用不可のサンプルがALF仮想境界の上(下)の行M(N)に位置している場合は、ALF仮想境界の下(上)の最も近いサンプル行からパディングされる。ALF仮想境界の下(上)の行N(M)に位置する対応するサンプルは、行N(M)の上(下)の最も近いサンプル行からパディングしてもよいことが提案される。
a)一例において、K=2とし、表4-1に示す2つのサンプル行のy座標をそれぞれyL=0、yP1=1として表す。ALF仮想境界はCtbSizeY-4に等しい。
i.一例において、ALF仮想境界が代表的な輝度サンプルよりも上である場合、ALF仮想境界よりも下の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の上の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-4に等しく、yLより上の行が利用不可である場合、対応する行yP1におけるサンプル(x,yP1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。
ii.一例において、ALF仮想境界が代表的な輝度サンプルよりも下である場合、ALF仮想境界よりも上の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の下の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-5に等しく、行yP1が利用不可である場合、行yP1におけるサンプル(x,yP1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。
a)一例において、K=4とし、表4-3に示す4つのサンプル行のy座標をそれぞれyM1=-1、yM1=-1、yL=0、yP1=1、yP2=2として表す。ALF仮想境界はCtbSizeY-4に等しい。
i.一例において、ALF仮想境界が代表的な輝度サンプルよりも上である場合、ALF仮想境界よりも下の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の上の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-3に等しく、yM1の上の行が利用不可である場合、対応する行yP2におけるサンプル(x,yP2)は、行yP1におけるサンプル(x,yP1)を使用してパディングしてもよい。
2.一例において、yLがCtbSizeY-4に等しく、yM1およびyM1の上の行が利用不可である場合、行yM1におけるサンプル(x,yM1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。一方、対応する行yP2およびyP1におけるサンプル(x,yP2)および(x,yP1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。
ii.一例において、ALF仮想境界が代表的な輝度サンプルよりも下である場合、ALF仮想境界よりも上の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の下の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-6に等しく、行yP2が利用不可である場合、行yP2におけるサンプル(x,yP2)は、行yP1におけるサンプル(x,yP1)を使用してパディングしてもよい。
2.一例において、yLがCtbSizeY-5に等しく、行yP2およびyP1が利用不可である場合、行yP2およびyP1におけるサンプル(x,yP2)および(x,yP1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。一方、対応する行yM1のサンプル(x,yM1)は、行yLのサンプル(x,yL)を使用してパディングしてもよい。
c)一例において、K=6であり、yM2=-2、yM1=-1、yL=0、yP1=1、yP2=2、yP3=3をそれぞれ表4-6に示す6つのサンプル行のy座標として表す。ALF仮想境界はCtbSizeY-4に等しい。
i.一例において、ALF仮想境界が代表的な輝度サンプルよりも上である場合、ALF仮想境界よりも下の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の上の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-2に等しく、yM2の上の行が利用不可である場合、対応する行yP3におけるサンプル(x,yP3)は、行yP2におけるサンプル(x,yP2)を使用してパディングしてもよい。
2.一例において、yLがCtbSizeY-3に等しく、yM2およびyM2の上の行が利用不可である場合、行yM2におけるサンプル(x,yM2)は、行yM1におけるサンプル(x,yM1)を使用してパディングしてもよい。一方、対応する行yP3およびyP2におけるサンプル(x,yP3)および(x,yP2)は、行yP1におけるサンプル(x,yP1)を使用してパディングしてもよい。
3.一例において、yLがCtbSizeY-4に等しく、yM2の上の行、yM2、およびyM1が利用不可である場合、行yM2およびyM1におけるサンプル(x、yM2)および(x、yM1)は、行yLにおけるサンプル(x、yL)を使用してパディングしてもよい。一方、対応する行yP3、yP2、yP1におけるサンプル(x、yP3)、(x、yP2)、および(x、yP1)は、行yLにおけるサンプル(x、yL)を使用してパディングしてもよい。
ii.一例において、ALF仮想境界が代表的な輝度サンプルよりも下である場合、ALF仮想境界よりも上の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の下の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-7に等しく、行yP3が利用不可である場合、行yP3におけるサンプル(x,yP3)は、行yP2におけるサンプル(x,yP2)を使用してパディングしてもよい。
2.一例において、yLがCtbSizeY-6に等しく、行yP3およびyP2が利用不可である場合、行yP3およびyP2におけるサンプル(x,yP3)および(x,yP2)は、その行におけるサンプル(x,yP1)を使用してパディングしてもよい。一方、対応する行yM2におけるサンプル(x,yM2)は、行yM1におけるサンプル(x,yM1)を使用してパディングしてもよい。
3.一例において、yLがCtbSizeY-5に等しく、行yP3、yP2、yP1が利用不可である場合、行yP3、yP2、yP1におけるサンプル(x、yP3)、(x、yP2)、(x、yP1)は、行yLにおけるサンプル(x、yL)を使用してパディングしてもよい。一方、対応する行yM2およびyM1におけるサンプル(x,yM2)および(x,yM1)は、その行におけるサンプル(x,yL)を使用してパディングしてもよい。
v.一例において、利用不可のサンプルが行Mに位置している場合(例えば、M<C)は、d(C,M)=d(N,C)-offset(offsetは整数値、例えば、1)またはd(C,M)<d(N,C)のとき、行Nに位置しているサンプルは、パディング対象の対応するサンプルであると決定される。
1)一例において、利用不可のサンプルが行Mに位置している場合(例えば、M<C)は、d(C,M)=d(N,C)-offset(offsetは整数値、例えば、1)またはd(C,M)<d(N,C)のとき、行Nに位置しているサンプルは、パディング対象の対応するサンプルとして取り扱われる。
2)一例において、図31に定義されたミラーパディング方法を利用することができる。利用不可のサンプルがALF仮想境界の上(下)の行M(N)に位置している場合は、ALF仮想境界の下(上)の最も近いサンプル行からパディングされる。ALF仮想境界の下(上)の行N(M)に位置する対応するサンプルは、行N(M)の上(下)の最も近いサンプル行からパディングしてもよいことが提案される。
a)一例において、K=2とし、表4-2に示す2つのサンプル行のy座標をそれぞれyL=0、yP1=1として表す。ALF仮想境界はCtbSizeY-4に等しい。
i.一例において、ALF仮想境界が代表的な輝度サンプルよりも下である場合、ALF仮想境界よりも上の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の下の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-5に等しく、行yP1が利用不可である場合、行yP1におけるサンプル(x,yP1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。
a)一例において、K=4とし、表4-4に示す4つのサンプル行のy座標をそれぞれyM1=-1、yL=0、yP1=1、yP2=2として表す。ALF仮想境界はCtbSizeY-4に等しい。
i.一例において、ALF仮想境界が代表的な輝度サンプルよりも上である場合、ALF仮想境界よりも下の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の上の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-4に等しく、yM1およびyM1の上の行が利用不可である場合、行yM1におけるサンプル(x,yM1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。一方、対応する行yP2のサンプル(x,yP2)は、行yP1のサンプル(x,yP1)を使用してパディングしてもよい。
ii.一例において、ALF仮想境界が代表的な輝度サンプルよりも下である場合、ALF仮想境界よりも上の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の下の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-6に等しく、行yP2が利用不可である場合、行yP2におけるサンプル(x,yP2)は、行yP1におけるサンプル(x,yP1)を使用してパディングしてもよい。
2.一例において、yLがCtbSizeY-5に等しく、行yP2およびyP1が利用不可である場合、行yP2およびyP1におけるサンプル(x,yP2)および(x,yP1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。一方、対応する行yM1のサンプル(x,yM1)は、行yLのサンプル(x,yL)を使用してパディングしてもよい。
c)一例において、K=6であり、yM2=-2、yM1=-1、yL=0、yP1=1、yP2=2、yP3=3をそれぞれ表4-7に示す6つのサンプル行のy座標として表す。ALF仮想境界はCtbSizeY-4に等しい。
i.一例において、ALF仮想境界が代表的な輝度サンプルよりも上である場合、ALF仮想境界よりも下の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の上の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-3に等しく、yM2およびyM2の上の行が利用不可である場合、行yM2におけるサンプル(x,yM2)は、行yM1におけるサンプル(x,yM1)を使用してパディングしてもよい。一方、対応する行yP3のサンプル(x,yP3)は、行yP2のサンプル(x,yP2)を使用してパディングしてもよい。
2.一例において、yLがCtbSizeY-4に等しく、yM2の上の行、yM2、およびyM1が利用不可である場合、行yM2およびyM1におけるサンプル(x、yM2)および(x、yM1)は、行yLにおけるサンプル(x、yL)を使用してパディングしてもよい。一方、対応する行yP3およびyP2におけるサンプル(x,yP3)および(x,yP2)は、行yP1におけるサンプル(x,yP1)を使用してパディングしてもよい。
ii.一例において、ALF仮想境界が代表的な輝度サンプルよりも下である場合、ALF仮想境界よりも上の最も近い行を使用して、利用不可のサンプルをパディングしてもよい。一方、対応するサンプルは、対応するサンプルが位置する行の下の最も近い行を使用してパディングしてもよい。
1.一例において、yLがCtbSizeY-7に等しく、行yP3が利用不可である場合、行yP3におけるサンプル(x,yP3)は、行yP2におけるサンプル(x,yP2)を使用してパディングしてもよい。一方、対応する行yM2におけるサンプル(x,yM2)は、行yM1におけるサンプル(x,yM1)を使用してパディングしてもよい。
2.一例において、yLがCtbSizeY-6に等しく、行yP3およびyP2が利用不可である場合、行yP3およびyP2におけるサンプル(x,yP3)および(x,yP2)は、行yP1におけるサンプル(x,yP1)を使用してパディングしてもよい。一方、対応する行yM2およびyM1におけるサンプル(x,yM2)および(x,yM1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。
3.一例において、yLがCtbSizeY-5に等しく、行yP3、yP2、yP1が利用不可である場合、行yP3、yP2、yP1におけるサンプル(x、yP3)、(x、yP2)、(x、yP1)は、yLにおけるサンプル(x、yL)を使用してパディングしてもよい。一方、対応する行yM2およびyM1におけるサンプル(x,yM2)および(x,yM1)は、行yLにおけるサンプル(x,yL)を使用してパディングしてもよい。
c.図29は、(Xc,Yc)に位置する現在のクロマサンプルをフィルタリングするときの、(ALF仮想境界の上、C0で表される)利用不可のサンプルの位置およびその対応するサンプル(C7で表される)の例を示す。
d.一例において、CC-ALF/クロマALF/輝度ALF/他の種類のフィルタリング方法のために、ALF仮想境界における鏡面パディングを有効化するかまたは無効化するかは、例えば、シーケンスヘッダ/ピクチャヘッダ/SPS/VPS/DPS/PPS/APS/スライスヘッダ/タイルグループヘッダのようなシーケンスレベル/ピクチャレベル/スライスレベル/タイルグループレベルで信号通知してもよい。
e.一例において、ALF仮想境界における反復パディングおよび/またはミラーパディングを有効化または無効化するかどうかは、コーディング情報に依存することもある。
i.一例において、コーディング情報は、CTU/CTBサイズ等のブロックサイズを指すこともある。
1)一例において、CTU/CTBのサイズがTよりも大きいまたはTに等しい場合、例えばT=32/64/128である場合、ALF仮想境界においてミラーパディングを利用してもよい。
2)一例において、CTU/CTBのサイズがT以下である場合、例えばT=4/8/16である場合、ALF仮想境界において反復パディングを利用してもよい。
2.上記黒丸において、垂直方向のパディングは水平方向のパディングに置き換えられてもよい。
a.さらに代替的に、どのパディング方向(垂直または水平)を使用するかどうかは、境界が水平境界であるか垂直境界であるかに依存してもよい。
b.さらに代替的に、垂直距離を水平距離に置き換えてもよい。
3.黒丸1におけるミラーパディング方法は、ピクチャ/サブピクチャ/スライス/タイル境界および/または360度の境界に利用されてもよい。
一般的な解決策
4.上記開示された方法を適用するかどうかおよび/またはどのように適用するかは、例えば、シーケンスヘッダ/ピクチャヘッダ/SPS/VPS/DPS/PPS/APS/スライスヘッダ/タイルグループヘッダにおいて、シーケンスレベル/ピクチャレベル/スライスレベル/タイルグループレベルで信号通知してもよい。
5.上述した開示された方法を適用するかどうか、および/またはどのように適用するかは、カラーフォーマット、シングル/デュアルツリー分割、サンプルの位置(例えば、CU/CTUに対して)等のコーディング情報に依存してもよい。
変更は削除と追加を示すことで強調される。
JVET-P0080で規定される作業草案は、次のように変更することができる。
x.x.x.x クロマサンプルのブロックのためのクロス成分フィルタリング処理
この処理の入力は以下の通りである。
-輝度適応ループフィルタリング処理の前に再構成された輝度ピクチャサンプルアレイrecPictureL
-フィルタリングされた再構成クロマピクチャサンプルアレイalfPictureC
-現在のピクチャの左上のサンプルに対するクロマサンプルの現在のブロックの左上のサンプルを規定する位置(xC,yC)
-クロマサンプルのブロックの幅ccAlfWidth
-クロマサンプルのブロックの高さccAlfheight
-j=0..13であるクロス成分フィルタ係数CcAlfCoeff[j]
この処理の出力は、修正され、フィルタリングされ、再構成されたクロマピクチャサンプルアレイccAlfPictureである。
コーディングツリーブロック輝度位置(xCtb,yCtb)は、以下のように導出される。
xCtb=(((xC*SubWidthC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
yCtb=(((yC*SubHeightC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
フィルタリングされた再構成クロマサンプルccAlfPicture[xC+x][yC+y]を導出するために、サンプルalfPictureC[xC+x][yC+y](但し、x=0..ccAlfWidth-1,y=0..ccAlfHeight-1)の現在のクロマブロック内部の各々の再構成されたクロマサンプルは、以下のようにフィルタリングされる。
-クロマ位置(xC+x,yC+y)における現在のクロマサンプルに対応する輝度位置(xL,yL)は、((xC+x)*SubWidthC,(yC+y)*SubHeightC)に等しく設定される。
-i=-2..2,j=-2..3の場合、配列recPictureL内の輝度位置(hxL+i,vyL+j)は、以下のように導出される。
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つ、n=0..pps_num_ver_virtual_boundaries-1においてxL-PpsVirtualBoundariesPosX[n]が0以上3未満である場合、以下が適用される。
hxL+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xL+i) (8-1229)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_ver_virtual_boundaries-1においてPpsVirtualBoundariesPosX[n]が0より大きく4未満である場合、以下が適用される。
hx+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xL+i) (8-1230)
-そうでない場合、以下が適用される。
hx+i=Clip3(0,pic_width_in_luma_samples-1,xL+i) (8-1231)
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてyL-PpsVirtualBoundariesPosY[n]が0以上3未満である場合、以下が適用される。
vy+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yL+j) (8-1232)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてPpsVirtualBoundariesPosY[n]-yLが0より大きく4未満である場合、以下が適用される。
vy+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yL+j) (8-1233)
-そうでない場合、以下が適用される。
vy+j=Clip3(0,pic_height_in_luma_samples-1,yL+j) (8-1234)
-変数clipLeftPos、clipRightPos、clipTopPos、およびclipBottomPosは、(xCtb,yCtb)および(xL-xCtb,yL-yCtb)を入力として、8.8.5.5項で規定されるように、ALF境界位置導出処理を呼び出すことによって導出される。
-表4-1に、垂直方向のサンプルの位置のオフセットyM2、yM1、yP1、yP2、yP3を規定している。垂直方向の輝度サンプルの位置yLおよびapplyAlfLineBundaryに応じたyP1の規定
-水平方向の輝度サンプルの位置xL、clipLeftPos、およびclipRightPosに応じた水平方向のサンプルの位置のオフセットxM1、xM2、xP1、およびxP2が、表y-yyyyで規定される。
-変数currは、以下のように導出される。
curr=alfPictureC[xC+x,yC+y] (8-1286)
-クロス成分フィルタ係数f[j]のアレイは、j=0..13として以下のように導出される。
f[j]=CcAlfCoeff[j] (8-1287)
-変数sumは、以下のように導出される。
sum=f[0]*recPictureL[hx,vy+yM2]+
f[1]*recPictureL[hx+xM1,vy+yM1]+
f[2]*recPictureL[hx,vy+yM1]+
f[3]*recPictureL[hx+xP1,vy+yM1]+
f[4]*recPictureL[hx+xM2,vy]+
f[5]*recPictureL[hx+xM1,vy]+
f[6]*recPictureL[hx,vy]+
f[7]*recPictureL[hx+xP1,vy]+
f[4]*recPictureL[hx+xP2,vy]+ (8-1289)
f[4]*recPictureL[hx+xM2,vy+yP1]+
f[8]*recPictureL[hx+xM1,vy+yP1]+
f[9]*recPictureL[hx,vy+yP1]+
f[10]*recPictureL[hx+xP1,vy+yP1]+
f[4]*recPictureL[hx+xP2,vy+yP1]+
f[11]*recPictureL[hx+xM1,vy+yP2]+
f[12]*recPictureL[hx,vy+yP2]+
f[13]*recPictureL[hx+xP1,vy+yP2]+
f[0]*recPictureL[hx,vy+yP3]+
sum=curr+(sum+64)>>7) (8-1290)
-修正されフィルタリングされた再構成クロマピクチャサンプルアレイccAlfPicture[xC+x][yC+y]は、以下のように導出される。
ccAlfPicture[xC+x][yC+y]=Clip3(0,(1<<BitDepthC)-1,sum) (8-1291)
表x-xx -垂直方向の輝度サンプルの位置yL、clipTopPos、clipBottomPosに応じたyM1、yM2、yP1、yP2、yP3の規定
JVET-P0080で規定される作業草案は、次のように変更することができる。
x.x.x.x クロマサンプルのブロックのためのクロス成分フィルタリング処理
この処理の入力は以下の通りである。
-輝度適応ループフィルタリング処理の前に再構成された輝度ピクチャサンプルアレイrecPictureL
-フィルタリングされた再構成クロマピクチャサンプルアレイalfPictureC
-現在のピクチャの左上のサンプルに対するクロマサンプルの現在のブロックの左上のサンプルを規定する位置(xC,yC)
-クロマサンプルのブロックの幅ccAlfWidth
-クロマサンプルのブロックの高さccAlfheight
-j=0..13であるクロス成分フィルタ係数CcAlfCoeff[j]
この処理の出力は、修正され、フィルタリングされ、再構成されたクロマピクチャサンプルアレイccAlfPictureである。
コーディングツリーブロック輝度位置(xCtb,yCtb)は、以下のように導出される。
xCtb=(((xC*SubWidthC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
yCtb=(((yC*SubHeightC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
フィルタリングされた再構成クロマサンプルccAlfPicture[xC+x][yC+y]を導出するために、サンプルalfPictureC[xC+x][yC+y](但し、x=0..ccAlfWidth-1,y=0..ccAlfHeight-1)の現在のクロマブロック内部の各々の再構成されたクロマサンプルは、以下のようにフィルタリングされる。
-クロマ位置(xC+x,yC+y)における現在のクロマサンプルに対応する輝度位置(xL,yL)は、((xC+x)*SubWidthC,(yC+y)*SubHeightC)に等しく設定される。
-i=-2..2,j=-2..3の場合、配列recPictureL内の輝度位置(hxL+i,vyL+j)は、以下のように導出される。
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つ、n=0..pps_num_ver_virtual_boundaries-1においてxL-PpsVirtualBoundariesPosX[n]が0以上3未満である場合、以下が適用される。
hxL+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xL+i) (8-1229)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_ver_virtual_boundaries-1においてPpsVirtualBoundariesPosX[n]が0より大きく4未満である場合、以下が適用される。
hx+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xL+i) (8-1230)
-そうでない場合、以下が適用される。
hx+i=Clip3(0,pic_width_in_luma_samples-1,xL+i) (8-1231)
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてyL-PpsVirtualBoundariesPosY[n]が0以上3未満である場合、以下が適用される。
vy+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yL+j) (8-1232)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてPpsVirtualBoundariesPosY[n]-yLが0より大きく4未満である場合、以下が適用される。
vy+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yL+j) (8-1233)
-そうでない場合、以下が適用される。
vy+j=Clip3(0,pic_height_in_luma_samples-1,yL+j) (8-1234)
-変数clipLeftPos、clipRightPos、clipTopPos、およびclipBottomPosは、(xCtb,yCtb)および(xL-xCtb,yL-yCtb)を入力として、8.8.5.5項で規定されるように、ALF境界位置導出処理を呼び出すことによって導出される。
-表4-1に、垂直方向のサンプルの位置のオフセットyM2、yM1、yP1、yP2、yP3を規定している。垂直方向の輝度サンプルの位置yLおよびapplyAlfLineBundaryに応じたyP1の規定
-水平方向の輝度サンプルの位置xL、clipLeftPos、およびclipRightPosに応じた水平方向のサンプルの位置のオフセットxM1、xM2、xP1、およびxP2が、表y-yyyyで規定される。
変数currは、以下のように導出される。
curr=alfPictureC[xC+x,yC+y] (8-1286)
-クロス成分フィルタ係数f[j]のアレイは、j=0..13として以下のように導出される。
f[j]=CcAlfCoeff[j] (8-1287)
変数sumは、以下のように導出される。
sum=f[0]*recPictureL[hx,vy+yM2]+
f[1]*recPictureL[hx+xM1,vy+yM1]+
f[2]*recPictureL[hx,vy+yM1]+
f[3]*recPictureL[hx+xP1,vy+yM1]+
f[4]*recPictureL[hx+xM2,vy]+
f[5]*recPictureL[hx+xM1,vy]+
f[6]*recPictureL[hx,vy]+
f[7]*recPictureL[hx+xP1,vy]+
f[4]*recPictureL[hx+xP2,vy]+ (8-1289)
f[4]*recPictureL[hx+xM2,vy+yP1]+
f[8]*recPictureL[hx+xM1,vy+yP1]+
f[9]*recPictureL[hx,vy+yP1]+
f[10]*recPictureL[hx+xP1,vy+yP1]+
f[4]*recPictureL[hx+xP2,vy+yP1]+
f[11]*recPictureL[hx+xM1,vy+yP2]+
f[12]*recPictureL[hx,vy+yP2]+
f[13]*recPictureL[hx+xP1,vy+yP2]+
f[0]*recPictureL[hx,vy+yP3]+
sum=curr+(sum+64)>>7) (8-1290)
-修正されフィルタリングされた再構成クロマピクチャサンプルアレイccAlfPicture[xC+x][yC+y]は、以下のように導出される。
ccAlfPicture[xC+x][yC+y]=Clip3(0,(1<<BitDepthC)-1,sum) (8-1291)
表x-xx-垂直方向の輝度サンプルの位置yL、clipTopPos、clipBottomPosに応じたyM1、yM2、yP1、yP2、yP3の規定
JVET-P1008で規定される作業草案は、次のように変更することができる。
x.x.x.xクロマサンプルのブロックのためのクロス成分フィルタリング処理
この処理の入力は以下の通りである。
-輝度適応ループフィルタリング処理の前に再構成された輝度ピクチャサンプルアレイrecPictureL
-フィルタリングされた再構成クロマピクチャサンプルアレイalfPictureC
-現在のピクチャの左上のサンプルに対する現在のクロマコーディングツリーブロックの左上のサンプルを規定するクロマ位置(xCtbC,yCtbC)
-クロマサンプルのブロックの幅ccAlfWidth
-クロマサンプルのブロックの高さccAlfheight
-j=0..7であるクロス成分フィルタ係数CcAlfCoeff[j]
この処理の出力は、修正され、フィルタリングされ、再構成されたクロマピクチャサンプルアレイccAlfPictureである。
コーディングツリーブロック輝度位置(xCtb,yCtb)は、以下のように導出される。
xCtb=(((xCtbC*SubWidthC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
yCtb=(((yCtbC*SubHeightC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
フィルタリングされた再構成クロマサンプルccAlfPicture[xCtbC+x][yCtbC+y]を導出するために、サンプルalfPictureC[xCtbC+x][yCtbC+y](但し、x=0..ccAlfWidth-1,y=0..ccAlfHeight-1)の現在のクロマブロック内部の各々の再構成されたクロマサンプルは、以下のようにフィルタリングされる。
-クロマ位置(xCtbC+x,yCtbC+y)における現在のクロマサンプルに対応する輝度位置(xL,yL)は、((xCtbC+x)*SubWidthC,(yCtbC+y)*SubHeightC)に等しく設定される。
配列recPictureL内の、-i=-1..1,j=-1..2の場合の輝度位置(hxL+i,vyL+j)は、以下のように導出される。
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つ、n=0..pps_num_ver_virtual_boundaries-1においてxL-PpsVirtualBoundariesPosX[n]が0以上3未満である場合、以下が適用される。
hxL+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xL+i) (8-1229)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_ver_virtual_boundaries-1においてPpsVirtualBoundariesPosX[n]が0より大きく4未満である場合、以下が適用される。
hx+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xL+i) (8-1230)
-そうでない場合、以下が適用される。
hx+i=Clip3(0,pic_width_in_luma_samples-1,xL+i) (8-1231)
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてyL-PpsVirtualBoundariesPosY[n]が0以上3未満である場合、以下が適用される。
vy+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yL+j) (8-1232)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてPpsVirtualBoundariesPosY[n]-yLが0より大きく4未満である場合、以下が適用される。
vy+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yL+j) (8-1233)
-そうでない場合、以下が適用される。
vy+j=Clip3(0,pic_height_in_luma_samples-1,yL+j) (8-1234)
-変数clipLeftPos、clipRightPos、clipTopPos、およびclipBottomPosは、(xCtb,yCtb)および(xL-xCtb,yL-yCtb)を入力として、8.8.5.5項で規定されるように、ALF境界位置導出処理を呼び出すことによって導出される。
-表4-1に、垂直方向のサンプルの位置のオフセットyM1、yP1、yP2を規定している。垂直方向の輝度サンプルの位置yLおよびapplyAlfLineBundaryに応じたyP1の規定
-水平方向の輝度サンプルの位置xL、clipLeftPos、およびclipRightPosに応じた水平サンプル位置オフセットxM1およびxP1を表y-yyyyで規定する。
-変数currは、以下のように導出される。
curr=alfPictureC[xCtbC+x,yCtbC+y] (8-1286)
-クロス成分フィルタ係数f[j]のアレイは、j=0..7の場合、以下のように導出される。
f[j]=CcAlfCoeff[j] (8-1287)
-変数sumは、以下のように導出される。
sum=f[0]*recPictureL[hx,vy+yM1]+
f[1]*recPictureL[hx+xM1,vy]+
f[2]*recPictureL[hx,vy]+
f[3]*recPictureL[hx+xP1,vy]+ (8-1289)
f[4]*recPictureL[hx+xM1,vy+yP1]+
f[5]*recPictureL[hx,vy+yP1]+
f[6]*recPictureL[hx+xP1,vy+yP1]+
f[7]*recPictureL[hx,vy+yP2]
sum=Clip3(-(1<<(BitDepthC-1)),(1<<(BitDepthC-1))-1,sum) (8-1290)
sum=curr+(sum+64)>>(7+(BitDepthY-BitDepthC)) (8-1290)
-修正されフィルタリングされた再構成クロマピクチャサンプルアレイccAlfPicture[xCtbC+x][yCtbC+y]は、以下のように導出される。
ccAlfPicture[xCtbC+x][yCtbC+y]=Clip3(0,(1<<BitDepthC)-1,sum) (8-1291)
表x-xx -垂直方向の輝度サンプルの位置yL、clipTopPos、clipBottomPosに応じたyM1、yP1、yP2の規定
JVET-P1008で規定される作業草案は、次のように変更することができる。
x.x.x.x クロマサンプルのブロックのためのクロス成分フィルタリング処理
この処理の入力は以下の通りである。
-輝度適応ループフィルタリング処理の前に再構成された輝度ピクチャサンプルアレイrecPictureL
-フィルタリングされた再構成クロマピクチャサンプルアレイalfPictureC
-現在のピクチャの左上のサンプルに対する現在のクロマコーディングツリーブロックの左上のサンプルを規定するクロマ位置(xCtbC,yCtbC)
-クロマサンプルのブロックの幅ccAlfWidth
-クロマサンプルのブロックの高さccAlfheight
-j=0..7であるクロス成分フィルタ係数CcAlfCoeff[j]
この処理の出力は、修正され、フィルタリングされ、再構成されたクロマピクチャサンプルアレイccAlfPictureである。
コーディングツリーブロック輝度位置(xCtb,yCtb)は、以下のように導出される。
xCtb=(((xCtbC*SubWidthC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
yCtb=(((yCtbC*SubHeightC)>>CtbLog2SizeY)<<CtbLog2SizeY (8-1229)
フィルタリングされた再構成クロマサンプルccAlfPicture[xCtbC+x][yCtbC+y]を導出するために、サンプルalfPictureC[xCtbC+x][yCtbC+y](但し、x=0..ccAlfWidth-1,y=0..ccAlfHeight-1)の現在のクロマブロック内部の各々の再構成されたクロマサンプルは、以下のようにフィルタリングされる。
-クロマ位置(xCtbC+x,yCtbC+y)における現在のクロマサンプルに対応する輝度位置(xL,yL)は、((xCtbC+x)*SubWidthC,(yCtbC+y)*SubHeightC)に等しく設定される。
-配列recPictureL内の、-i=-1..1,j=-1..2の場合の輝度位置(hxL+i,vyL+j)は、以下のように導出される。
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つ、n=0..pps_num_ver_virtual_boundaries-1においてxL-PpsVirtualBoundariesPosX[n]が0以上3未満である場合、以下が適用される。
hxL+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xL+i) (8-1229)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosX[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_ver_virtual_boundaries-1においてPpsVirtualBoundariesPosX[n]が0より大きく4未満である場合、以下が適用される。
hx+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xL+i) (8-1230)
-そうでない場合、以下が適用される。
hx+i=Clip3(0,pic_width_in_luma_samples-1,xL+i) (8-1231)
-pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてyL-PpsVirtualBoundariesPosY[n]が0以上3未満である場合、以下が適用される。
vy+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yL+j) (8-1232)
-あるいは、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しく、PpsVirtualBoundariesPosY[n]%CtbSizeYが0に等しくなく、且つn=0..pps_num_hor_virtual_boundaries-1においてPpsVirtualBoundariesPosY[n]-yLが0より大きく4未満である場合、以下が適用される。
vy+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yL+j) (8-1233)
-そうでない場合、以下が適用される。
vy+j=Clip3(0,pic_height_in_luma_samples-1,yL+j) (8-1234)
-変数clipLeftPos、clipRightPos、clipTopPos、およびclipBottomPosは、(xCtb,yCtb)および(xL-xCtb,yL-yCtb)を入力として、8.8.5.5項で規定されるように、ALF境界位置導出処理を呼び出すことによって導出される。
-表4-1に、垂直方向のサンプルの位置のオフセットyM1、yP1、yP2を規定している。垂直方向の輝度サンプルの位置yLおよびapplyAlfLineBundaryに応じたyP1の規定
-水平方向の輝度サンプルの位置xL、clipLeftPos、およびclipRightPosに応じた水平サンプル位置オフセットxM1およびxP1を表y-yyyyで規定する。
-変数currは、以下のように導出される。
curr=alfPictureC[xCtbC+x,yCtbC+y] (8-1286)
-クロス成分フィルタ係数f[j]のアレイは、j=0..7の場合、以下のように導出される。
f[j]=CcAlfCoeff[j] (8-1287)
-変数sumは、以下のように導出される。
sum= f[0]*recPictureL[hx,vy+yM1]+
f[1]*recPictureL[hx+xM1,vy]+
f[2]*recPictureL[hx,vy]+
f[3]*recPictureL[hx+xP1,vy]+ (8-1289)
f[4]*recPictureL[hx+xM1,vy+yP1]+
f[5]*recPictureL[hx,vy+yP1]+
f[6]*recPictureL[hx+xP1,vy+yP1]+
f[7]*recPictureL[hx,vy+yP2]
sum=Clip3(-(1<<(BitDepthC-1)),(1<<(BitDepthC-1))-1,sum) (8-1290)
sum=curr+(sum+64)>>(7+(BitDepthY-BitDepthC)) (8-1290)
-修正されフィルタリングされた再構成クロマピクチャサンプルアレイccAlfPicture[xCtbC+x][yCtbC+y]は、以下のように導出される。
ccAlfPicture[xCtbC+x][yCtbC+y]=Clip3(0,(1<<BitDepthC)-1,sum) (8-1291)
表x-xx -垂直方向の輝度サンプルの位置yL、clipTopPos、clipBottomPosに応じたyM1、yP1、yP2の規定
Claims (15)
- 映像データを処理する方法であって、
映像の映像ユニットと前記映像のビットストリームとの間での変換について、仮想境界が前記映像ユニットに適用される場合、クロスコンポーネント適応ループフィルタ(CC-ALF)ツールを前記映像ユニットに適用する間、前記仮想境界によって利用不可の利用不可輝度サンプルをパディングするためのミラーパディング処理を使用することを決定することと、
前記決定に基づいて前記変換を行うことと、を含み、
前記ミラーパディング処理は、前記利用不可の輝度サンプルの対応するサンプルをパディングすることと、前記対応するサンプルが前記仮想境界に利用可能であったとしても、前記対応するサンプルを利用不可と見なすこととを含み、それによって、前記対応するサンプルは、前記CC-ALFツールのフィルタサポート領域に位置し、
前記利用不可の輝度サンプルは、前記映像ユニットの行Mに位置すると表され、パディング対象の前記対応するサンプルは、前記映像ユニットの行Nに位置すると表され、ここで、d(C,M)=d(N,C)であり、式中のd(x,y)は、行xと行yとの間の距離を表し、式中のCは、前記映像ユニットにおいて、代表的な輝度サンプルが位置する行を表し、C、M、及びNは整数であり、MがNに等しくなく、前記代表的な輝度サンプルは、前記映像ユニットにおいてフィルタリング対象のクロマサンプルの並置された輝度サンプルである、方法。 - 前記クロマサンプルの前記並置された輝度サンプルの位置は、前記映像のカラーフォーマットに依存する、請求項1に記載の方法。
- (x,y)に位置する前記クロマサンプルの前記並置された輝度サンプルは、前記カラーフォーマットが4:2:0である場合、(2x,2y)に位置する輝度サンプルと定義され、前記カラーフォーマットが4:2:2である場合、(2x,y)に位置する輝度サンプルと定義され、前記カラーフォーマットが4:4:4である場合には、(x,y)に位置する輝度サンプルと定義される、請求項2に記載の方法。
- 前記CC-ALFツールは、K×Lフィルタ形状を有し、ここで、K=4、L=3であり、yM1、yL、yP1、yP2は、前記K×Lフィルタ形状における4つのサンプル行のy座標であり、ここで、yM1=-1、yL=0、yP1=1、yP2=2であり、前記代表的な輝度サンプルは、行yL=0であり、前記仮想境界は、前記映像ユニットにおける行CtbSizeY-4に位置し、CtbSizeYは、コーディングツリーユニット(CTU)である前記映像ユニットのサイズを表す、請求項1に記載の方法。
- 前記仮想境界が前記代表的な輝度サンプルの上にある場合、前記利用不可の輝度サンプルを、前記仮想境界の下の最も近い利用可能な行を使用してパディングし、前記対応するサンプルを、前記対応するサンプルを含む行の上の最も近い利用可能な行を使用してパディングする、請求項4に記載の方法。
- yLがCtbSizeY-3に等しく、yM1より上の行が利用不可である場合、yP2の行における対応するサンプル(x,yP2)を、yP1の行におけるサンプル(x,yP1)を使用してパディングする、請求項5に記載の方法。
- yLがCtbSizeY-4に等しく、yM1の上の行およびyM1の行が利用不可である場合、yM1の行における利用不可の輝度サンプル(x,yM1)を、yLの行におけるサンプル(x,yL)を使用してパディングし、yP1の行における対応するサンプル(x,yP1)は、yLの行におけるサンプル(x,YL)を使用してパディングし、yP2の行における対応するサンプル(x,yP2)を、yLの行におけるサンプル(x,yL)を使用してパディングする、請求項5に記載の方法。
- 前記仮想境界が前記代表的な輝度サンプルの下にある場合、前記利用不可の輝度サンプルを、前記仮想境界の上の最も近い利用可能な行を使用してパディングし、前記対応するサンプルを、前記対応するサンプルを含む行の下の最も近い利用可能な行を使用してパディングする、請求項4に記載の方法。
- yLがCtbSizeY-6に等しく、yP2の行が利用不可である場合、yP2の前記行における前記利用不可の輝度サンプル(x,yP2)を、yP1の行におけるサンプル(x,yP1)を使用してパディングする、請求項8に記載の方法。
- yLがCtbSizeY-5に等しく、yP2およびyP1の行が利用不可である場合、yP2の行における利用不可の輝度サンプル(x、yP2)は、前記yLの行におけるサンプル(x,yL)を使用してパディングされ、行yP1における利用不可の輝度サンプル(x,yP1)は、前記yLの行における前記サンプル(x、yL)を使用してパディングされ、yM1の行における対応するサンプル(x,yM1)は、前記yLの行における前記サンプル(x、yL)を使用してパディングされる、請求項8に記載の方法。
- 前記変換は、前記映像を前記ビットストリームに符号化することを含む、請求項1に記載の方法。
- 前記変換は、前記映像を前記ビットストリームから復号することを含む、請求項1に記載の方法。
- プロセッサと、命令を保持する非一時的メモリとを含む映像データを処理するための装置であって、前記プロセッサに実行されると、前記命令が前記プロセッサに、
映像の映像ユニットと前記映像のビットストリームとの間での変換について、仮想境界が前記映像ユニットに適用される場合、クロスコンポーネント適応ループフィルタ(CC-ALF)ツールを前記映像ユニットに適用する間、前記仮想境界によって利用不可の利用不可輝度サンプルをパディングするためのミラーパディング処理を使用することを決定することと、
前記決定に基づいて前記変換を行うことと、を行わせ、
前記ミラーパディング処理は、前記利用不可の輝度サンプルの対応するサンプルをパディングすることと、前記対応するサンプルが前記仮想境界に利用可能であったとしても、前記対応するサンプルを利用不可と見なすこととを含み、それによって、前記対応するサンプルは、前記CC-ALFツールのフィルタサポート領域に位置し、
前記利用不可の輝度サンプルは、前記映像ユニットの行Mに位置すると表され、パディング対象の前記対応するサンプルは、前記映像ユニットの行Nに位置すると表され、ここで、d(C,M)=d(N,C)であり、式中のd(x,y)は、行xと行yとの間の距離を表し、式中のCは、前記映像ユニットにおいて、代表的な輝度サンプルが位置する行を表し、C、M、及びNは整数であり、MがNに等しくなく、前記代表的な輝度サンプルは、前記映像ユニットにおいてフィルタリング対象のクロマサンプルの並置された輝度サンプルである、装置。 - プロセッサに実行させる命令を記憶した非一時的なコンピュータ可読記憶媒体であって、前記命令は前記プロセッサに、
映像の映像ユニットと前記映像のビットストリームとの間での変換について、仮想境界が前記映像ユニットに適用される場合、クロスコンポーネント適応ループフィルタ(CC-ALF)ツールを前記映像ユニットに適用する間、前記仮想境界によって利用不可の利用不可輝度サンプルをパディングするためのミラーパディング処理を使用することを決定することと、
前記決定に基づいて前記変換を行うことと、を行わせるものであり、
前記ミラーパディング処理は、前記利用不可の輝度サンプルの対応するサンプルをパディングすることと、前記対応するサンプルが前記仮想境界に利用可能であったとしても、前記対応するサンプルを利用不可と見なすこととを含み、それによって、前記対応するサンプルは、前記CC-ALFツールのフィルタサポート領域に位置し、
前記利用不可の輝度サンプルは、前記映像ユニットの行Mに位置すると表され、パディング対象の前記対応するサンプルは、前記映像ユニットの行Nに位置すると表され、ここで、d(C,M)=d(N,C)であり、式中のd(x,y)は、行xと行yとの間の距離を表し、式中のCは、前記映像ユニットにおいて、代表的な輝度サンプルが位置する行を表し、C、M、及びNは整数であり、MがNに等しくなく、前記代表的な輝度サンプルは、前記映像ユニットにおいてフィルタリング対象のクロマサンプルの並置された輝度サンプルである、非一時的なコンピュータ可読記憶媒体。 - 映像のビットストリームを記憶する方法であって、
仮想境界が映像ユニットに適用される場合、クロスコンポーネント適応ループフィルタ(CC-ALF)ツールを映像の前記映像ユニットに適用する間、前記仮想境界によって利用不可の利用不可輝度サンプルをパディングするためのミラーパディング処理を使用することを決定することと、
前記決定に基づいて前記ビットストリームを生成することと、
前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することと、を含み、
前記ミラーパディング処理は、前記利用不可の輝度サンプルの対応するサンプルをパディングすることと、前記対応するサンプルが前記仮想境界に利用可能であったとしても、前記対応するサンプルを利用不可と見なすこととを含み、それよって前記対応するサンプルは、前記CC-ALFツールのフィルタサポート領域に位置し、
前記利用不可の輝度サンプルは、前記映像ユニットの行Mに位置すると表され、パディング対象の前記対応するサンプルは、前記映像ユニットの行Nに位置すると表され、ここで、d(C,M)=d(N,C)であり、式中のd(x,y)は、行xと行yとの間の距離を表し、式中のCは、前記映像ユニットにおいて、代表的な輝度サンプルが位置する行を表し、C、M、及びNは整数であり、MがNに等しくなく、前記代表的な輝度サンプルは、前記映像ユニットにおいてフィルタリング対象のクロマサンプルの同一位置に配置された輝度サンプルである、方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023198422A JP2024026154A (ja) | 2019-12-11 | 2023-11-22 | クロス成分適応ループフィルタリングのためのサンプルパディング |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNPCT/CN2019/124481 | 2019-12-11 | ||
CN2019124481 | 2019-12-11 | ||
PCT/CN2020/135134 WO2021115362A1 (en) | 2019-12-11 | 2020-12-10 | Sample padding for cross-component adaptive loop filtering |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023198422A Division JP2024026154A (ja) | 2019-12-11 | 2023-11-22 | クロス成分適応ループフィルタリングのためのサンプルパディング |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2023506009A JP2023506009A (ja) | 2023-02-14 |
JPWO2021115362A5 JPWO2021115362A5 (ja) | 2023-05-01 |
JP7393550B2 true JP7393550B2 (ja) | 2023-12-06 |
Family
ID=76328854
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022535772A Active JP7393550B2 (ja) | 2019-12-11 | 2020-12-10 | クロス成分適応ループフィルタリングのためのサンプルパディング |
JP2023198422A Pending JP2024026154A (ja) | 2019-12-11 | 2023-11-22 | クロス成分適応ループフィルタリングのためのサンプルパディング |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023198422A Pending JP2024026154A (ja) | 2019-12-11 | 2023-11-22 | クロス成分適応ループフィルタリングのためのサンプルパディング |
Country Status (8)
Country | Link |
---|---|
US (2) | US11539946B2 (ja) |
EP (1) | EP4070544A4 (ja) |
JP (2) | JP7393550B2 (ja) |
KR (2) | KR20240006699A (ja) |
CN (1) | CN115104302A (ja) |
BR (1) | BR112022011466A2 (ja) |
MX (1) | MX2022006734A (ja) |
WO (1) | WO2021115362A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220394309A1 (en) * | 2021-05-20 | 2022-12-08 | Lemon Inc. | On Padding Methods For Neural Network-Based In-Loop Filter |
JP2024006995A (ja) * | 2022-07-05 | 2024-01-18 | シャープ株式会社 | 動画像復号装置および動画像符号化装置 |
Family Cites Families (77)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7991236B2 (en) | 2006-10-16 | 2011-08-02 | Nokia Corporation | Discardable lower layer adaptations in scalable video coding |
BR112012025206B1 (pt) | 2010-04-09 | 2022-04-12 | Mitsubishi Electric Corporation | Dispositivo de decodificação de imagem em movimento |
US9094658B2 (en) | 2010-05-10 | 2015-07-28 | Mediatek Inc. | Method and apparatus of adaptive loop filtering |
US9462298B2 (en) * | 2011-10-21 | 2016-10-04 | Qualcomm Incorporated | Loop filtering around slice boundaries or tile boundaries in video coding |
US9247258B2 (en) | 2011-10-26 | 2016-01-26 | Qualcomm Incorporated | Unified design for picture partitioning schemes |
US9077998B2 (en) | 2011-11-04 | 2015-07-07 | Qualcomm Incorporated | Padding of segments in coded slice NAL units |
US10321130B2 (en) | 2013-01-07 | 2019-06-11 | Vid Scale, Inc. | Enhanced deblocking filters for video coding |
US9473779B2 (en) | 2013-03-05 | 2016-10-18 | Qualcomm Incorporated | Parallel processing for video coding |
US9628792B2 (en) | 2013-07-15 | 2017-04-18 | Qualcomm Incorporated | Cross-layer parallel processing and offset delay parameters for video coding |
JP6866157B2 (ja) | 2013-09-27 | 2021-04-28 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 深度イントラ予測モードのための残差コーディング |
US9807406B2 (en) | 2014-03-17 | 2017-10-31 | Qualcomm Incorporated | Picture flushing and decoded picture buffer parameter inference for multi-layer bitstreams |
US10200700B2 (en) | 2014-06-20 | 2019-02-05 | Qualcomm Incorporated | Cross-component prediction in video coding |
EP3544298A1 (en) | 2014-09-12 | 2019-09-25 | Vid Scale, Inc. | Inter-component de-correlation for video coding |
US20170244975A1 (en) | 2014-10-28 | 2017-08-24 | Mediatek Singapore Pte. Ltd. | Method of Guided Cross-Component Prediction for Video Coding |
US9591325B2 (en) | 2015-01-27 | 2017-03-07 | Microsoft Technology Licensing, Llc | Special case handling for merged chroma blocks in intra block copy prediction mode |
US10924743B2 (en) | 2015-02-06 | 2021-02-16 | Microsoft Technology Licensing, Llc | Skipping evaluation stages during media encoding |
US10057574B2 (en) | 2015-02-11 | 2018-08-21 | Qualcomm Incorporated | Coding tree unit (CTU) level adaptive loop filter (ALF) |
US10306246B2 (en) | 2015-02-13 | 2019-05-28 | Mediatek Inc. | Method and apparatus of loop filters for efficient hardware implementation |
US20160241881A1 (en) | 2015-02-13 | 2016-08-18 | Mediatek Inc. | Method and Apparatus of Loop Filters for Efficient Hardware Implementation |
US10448015B2 (en) | 2015-06-16 | 2019-10-15 | Lg Electronics Inc. | Method and device for performing adaptive filtering according to block boundary |
WO2016204373A1 (ko) | 2015-06-18 | 2016-12-22 | 엘지전자 주식회사 | 영상 코딩 시스템에서 영상 특성에 기반한 적응적 필터링 방법 및 장치 |
WO2017045101A1 (en) | 2015-09-14 | 2017-03-23 | Mediatek Singapore Pte. Ltd. | Advanced deblocking filter in video coding |
EP3371974B1 (en) | 2015-11-06 | 2024-05-01 | Microsoft Technology Licensing, LLC | Flexible reference picture management for video encoding |
US11064195B2 (en) | 2016-02-15 | 2021-07-13 | Qualcomm Incorporated | Merging filters for multiple classes of blocks for video coding |
WO2017190288A1 (en) | 2016-05-04 | 2017-11-09 | Microsoft Technology Licensing, Llc | Intra-picture prediction using non-adjacent reference lines of sample values |
WO2018009746A1 (en) | 2016-07-08 | 2018-01-11 | Vid Scale, Inc. | 360-degree video coding using geometry projection |
US11095922B2 (en) | 2016-08-02 | 2021-08-17 | Qualcomm Incorporated | Geometry transformation-based adaptive loop filtering |
US20180054613A1 (en) | 2016-08-22 | 2018-02-22 | Mediatek Inc. | Video encoding method and apparatus with in-loop filtering process not applied to reconstructed blocks located at image content discontinuity edge and associated video decoding method and apparatus |
US10419757B2 (en) | 2016-08-31 | 2019-09-17 | Qualcomm Incorporated | Cross-component filter |
US20180184127A1 (en) | 2016-12-22 | 2018-06-28 | Qualcomm Incorporated | Determining neighboring samples for bilateral filtering in video coding |
US10506230B2 (en) | 2017-01-04 | 2019-12-10 | Qualcomm Incorporated | Modified adaptive loop filter temporal prediction for temporal scalability support |
KR20200005539A (ko) | 2017-04-11 | 2020-01-15 | 브이아이디 스케일, 인크. | 면 연속성을 사용하는 360 도 비디오 코딩 |
US10778974B2 (en) | 2017-07-05 | 2020-09-15 | Qualcomm Incorporated | Adaptive loop filter with enhanced classification methods |
US10728573B2 (en) | 2017-09-08 | 2020-07-28 | Qualcomm Incorporated | Motion compensated boundary pixel padding |
CN117061771A (zh) | 2017-09-20 | 2023-11-14 | Vid拓展公司 | 用于编码的方法和装置和用于解码的方法和装置 |
US10965941B2 (en) | 2017-10-09 | 2021-03-30 | Qualcomm Incorporated | Position-dependent prediction combinations in video coding |
CN116866559A (zh) | 2017-11-01 | 2023-10-10 | Vid拓展公司 | 用于简化视频译码中的自适应环路滤波器的方法 |
US11425418B2 (en) | 2017-11-01 | 2022-08-23 | Vid Scale, Inc. | Overlapped block motion compensation |
CN107801024B (zh) | 2017-11-09 | 2019-07-12 | 北京大学深圳研究生院 | 一种用于帧内预测的边界滤波方法 |
US10721469B2 (en) | 2017-11-28 | 2020-07-21 | Qualcomm Incorporated | Line buffer reduction for adaptive loop filtering in video coding |
US11432010B2 (en) | 2017-12-19 | 2022-08-30 | Vid Scale, Inc. | Face discontinuity filtering for 360-degree video coding |
US11259021B2 (en) | 2017-12-29 | 2022-02-22 | Sharp Kabushiki Kaisha | Systems and methods for partitioning video blocks at a boundary of a picture for video coding |
WO2020053805A1 (en) | 2018-09-12 | 2020-03-19 | Beijing Bytedance Network Technology Co., Ltd. | Single-line cross component linear model prediction mode |
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 |
CN110337811A (zh) | 2018-02-14 | 2019-10-15 | 北京大学 | 运动补偿的方法、装置和计算机*** |
US10708592B2 (en) | 2018-04-02 | 2020-07-07 | Qualcomm Incorporated | Deblocking filter for video coding and processing |
US20190306502A1 (en) | 2018-04-02 | 2019-10-03 | Qualcomm Incorporated | System and method for improved adaptive loop filtering |
WO2020035837A1 (en) | 2018-08-17 | 2020-02-20 | Beijing Bytedance Network Technology Co., Ltd. | Simplified cross component prediction |
DK3847817T3 (da) | 2018-09-14 | 2024-06-17 | Huawei Tech Co Ltd | Slicing og tiling i videokodning |
TWI822863B (zh) | 2018-09-27 | 2023-11-21 | 美商Vid衡器股份有限公司 | 360度視訊寫碼樣本導出 |
CN112868240B (zh) | 2018-10-23 | 2023-06-30 | 北京字节跳动网络技术有限公司 | 并置的局部照明补偿和修改的帧间预测编解码 |
EP3861728A4 (en) | 2018-11-06 | 2022-04-06 | Beijing Bytedance Network Technology Co., Ltd. | COMPLEXITY REDUCTION IN A DERIVATION OF PARAMETERS FOR AN INTRA PREDICTION |
CN112997500B (zh) | 2018-11-09 | 2023-04-18 | 北京字节跳动网络技术有限公司 | 对基于区域的自适应环路滤波器的改进 |
CN109600611B (zh) * | 2018-11-09 | 2021-07-13 | 北京达佳互联信息技术有限公司 | 环路滤波方法、环路滤波装置、电子设备和可读介质 |
WO2020108591A1 (en) | 2018-12-01 | 2020-06-04 | Beijing Bytedance Network Technology Co., Ltd. | Parameter derivation for intra prediction |
CN117336503A (zh) | 2018-12-07 | 2024-01-02 | 北京字节跳动网络技术有限公司 | 基于上下文的帧内预测 |
WO2020125796A1 (en) | 2018-12-22 | 2020-06-25 | Beijing Bytedance Network Technology Co., Ltd. | Two step cross-component prediction mode based on multiple parameter |
SG11202107543SA (en) | 2019-01-09 | 2021-08-30 | Huawei Tech Co Ltd | Sub-picture layout signaling in video coding |
CN113383554B (zh) | 2019-01-13 | 2022-12-16 | 北京字节跳动网络技术有限公司 | LUT和共享Merge列表之间的交互 |
US11089335B2 (en) | 2019-01-14 | 2021-08-10 | Mediatek Inc. | Method and apparatus of in-loop filtering for virtual boundaries |
BR112021014853A2 (pt) | 2019-02-22 | 2021-10-05 | Beijing Bytedance Network Technology Co., Ltd. | Método e aparelho para processar e codificar dados de vídeo, e, mídias de armazenamento e registro legíveis por computador não transitórias |
AU2020226566A1 (en) | 2019-02-24 | 2021-08-19 | Beijing Bytedance Network Technology Co., Ltd. | Parameter derivation for intra prediction |
MX2021010337A (es) | 2019-02-27 | 2021-09-28 | Huawei Tech Co Ltd | Un codificador, un decodificador y metodos correspondientes. |
WO2020177663A1 (en) | 2019-03-02 | 2020-09-10 | Beijing Bytedance Network Technology Co., Ltd. | Restrictions on partition structures |
SG11202109980WA (en) | 2019-03-11 | 2021-10-28 | Huawei Tech Co Ltd | Sub-picture level filtering in video coding |
CN117499644A (zh) | 2019-03-14 | 2024-02-02 | 北京字节跳动网络技术有限公司 | 环路整形信息的信令和语法 |
JP7233565B2 (ja) | 2019-03-24 | 2023-03-06 | 北京字節跳動網絡技術有限公司 | ビデオ処理におけるマルチパラメータ適応ループフィルタリング |
WO2020192642A1 (en) | 2019-03-24 | 2020-10-01 | Beijing Bytedance Network Technology Co., Ltd. | Conditions in parameter derivation for intra prediction |
CN115914627A (zh) | 2019-04-15 | 2023-04-04 | 北京字节跳动网络技术有限公司 | 自适应环路滤波器中的裁剪参数推导 |
JP2022527012A (ja) | 2019-04-16 | 2022-05-27 | 北京字節跳動網絡技術有限公司 | 映像符号化のためのon適応ループフィルタリング |
US20220217407A1 (en) | 2019-06-19 | 2022-07-07 | Electronics And Telecommunications Research Institute | Virtual boundary signaling method and apparatus for video encoding/decoding |
KR102648121B1 (ko) | 2019-07-11 | 2024-03-18 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 적응적 루프 필터링에서의 샘플 패딩 |
CN117319645A (zh) | 2019-08-23 | 2023-12-29 | 北京字节跳动网络技术有限公司 | 用于处理视频数据的方法、装置以及计算机可读存储介质 |
CN115428449A (zh) * | 2019-11-04 | 2022-12-02 | 抖音视界有限公司 | 交叉分量自适应环路滤波器 |
US11425405B2 (en) * | 2019-11-15 | 2022-08-23 | Qualcomm Incorporated | Cross-component adaptive loop filter in video coding |
BR112022014636A2 (pt) | 2020-01-24 | 2022-10-11 | Huawei Tech Co Ltd | Codificador, decodificador e métodos correspondentes para filtragem de loop adaptativa |
-
2020
- 2020-12-10 EP EP20900340.9A patent/EP4070544A4/en active Pending
- 2020-12-10 MX MX2022006734A patent/MX2022006734A/es unknown
- 2020-12-10 KR KR1020237044740A patent/KR20240006699A/ko active Search and Examination
- 2020-12-10 KR KR1020227018871A patent/KR102619404B1/ko active IP Right Grant
- 2020-12-10 CN CN202080086091.9A patent/CN115104302A/zh active Pending
- 2020-12-10 WO PCT/CN2020/135134 patent/WO2021115362A1/en unknown
- 2020-12-10 BR BR112022011466A patent/BR112022011466A2/pt unknown
- 2020-12-10 JP JP2022535772A patent/JP7393550B2/ja active Active
-
2022
- 2022-06-10 US US17/837,216 patent/US11539946B2/en active Active
- 2022-11-07 US US17/982,038 patent/US11979567B2/en active Active
-
2023
- 2023-11-22 JP JP2023198422A patent/JP2024026154A/ja active Pending
Non-Patent Citations (4)
Title |
---|
Jianle Chen, et al.,"Algorithm description for Versatile Video Coding and Test Model 7 (VTM 7)",Document: JVET-P2002-v1, [online],JVET-P2002 (version 1),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2019年11月10日,Pages 66-70,[令和5年5月10日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=8858> and <URL: https://jvet-experts.org/doc_end_user/documents/16_Geneva/wg11/JVET-P2002-v1.zip>. |
K. Misra, et al.,"CE5-related: On the design of CC-ALF",Document: JVET-P1008-v2, [online],JVET-P1008 (version 2),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2019年10月09日,Pages 1-6,[令和5年5月10日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=8823> and <URL: https://jvet-experts.org/doc_end_user/documents/16_Geneva/wg11/JVET-P1008-v2.zip>. |
Kiran Misra, et al.,"Cross-Component Adaptive Loop Filter for chroma",Document: JVET-O0636_r1, [online],JVET-O0636 (version 2),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2019年07月07日,Pages 1-9,[令和5年4月19日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=7252> and <URL: https://jvet-experts.org/doc_end_user/documents/15_Gothenburg/wg11/JVET-O0636-v2.zip>.,(See document file "JVET-O0636_r1.docx" in the zip file "JVET-O0636-v2.zip".) |
Kiran Misra, et al.,"On Cross Component Adaptive Loop Filter for Video Compression",Proceedings of 2019 Picture Coding Symposium (PCS),IEEE,2019年11月15日,全5頁,ISBN: 978-1-7281-4704-8, <DOI: 10.1109/PCS48520.2019.8954547>. |
Also Published As
Publication number | Publication date |
---|---|
BR112022011466A2 (pt) | 2022-08-23 |
US11539946B2 (en) | 2022-12-27 |
CN115104302A (zh) | 2022-09-23 |
WO2021115362A1 (en) | 2021-06-17 |
US20220312008A1 (en) | 2022-09-29 |
JP2024026154A (ja) | 2024-02-28 |
US20230164313A1 (en) | 2023-05-25 |
EP4070544A4 (en) | 2023-03-01 |
MX2022006734A (es) | 2022-06-09 |
US11979567B2 (en) | 2024-05-07 |
KR102619404B1 (ko) | 2023-12-28 |
KR20240006699A (ko) | 2024-01-15 |
KR20220107201A (ko) | 2022-08-02 |
EP4070544A1 (en) | 2022-10-12 |
JP2023506009A (ja) | 2023-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020249123A1 (en) | Handling video unit boundaries and virtual boundaries | |
US20240098260A1 (en) | Sample Determination For Adaptive Loop Filtering | |
WO2020249124A1 (en) | Handling video unit boundaries and virtual boundaries based on color format | |
KR20220030991A (ko) | 적응적 루프 필터링에서의 샘플 패딩 | |
US11671594B2 (en) | Selective application of sample padding in adaptive loop filtering | |
US11683488B2 (en) | Adaptive loop filtering between different video units | |
JP7454042B2 (ja) | 適応ループ・フィルタリングにおける利用可能でないサンプル位置でのパディング・プロセス | |
US11700368B2 (en) | Classification in adaptive loop filtering | |
JP2024020420A (ja) | 適応ループフィルタリングのための境界位置 | |
JP2024026154A (ja) | クロス成分適応ループフィルタリングのためのサンプルパディング | |
CN115176468A (zh) | 跨分量自适应环路滤波器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220622 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220622 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230421 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20230421 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230516 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230809 |
|
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: 20231024 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231124 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7393550 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |