了解去方块滤波之前,先了解一下方块效应。
方块效应:由于现有标准均采用基于分块的编码机制,所以每个CU块的编码过程相互独立进行,结果是使得重建图片在块的边界处产生了不连续性,尤其是当图像较平滑且相邻块之间关联性很强的情况下,这种不连续性就形成了方块效应。
方块效应产生原因:主要来自两个方面,一是变换量化的误差 ,各个块之间独立进行量化这种有损压缩过程造成的误差极易引起边界上的视觉不连续;另一个是帧间预测的运动补偿过程,大多数运动补偿都来自于内插点,而不是绝对的匹配(不是绝对的原图像位置运动补偿得到),从而产生误差。
去方块滤波属于环内滤波(环内滤波:滤波后的图像重建帧才能作为后续编码的参考帧,属于视频压缩标准的内容);而环外滤波,类似于后置滤波器可由厂家自行设计,不属于标准内容。
DF作用于相邻CU的边界(除开图像边界),共分为三个步骤
关于HEVC中的DF可见博文:HEVC滤波—去方块滤波
本文主要介绍VVC和HEVC在DF过程中不同的地方
HEVC中DF的滤波强度由beta和tc来决定,beta和tc又根据量化参数QP来确定,其中beta值主要影响是否需要deblocking, tc值影响是否需要strong filter。
beta还用来判断block artifact引起是否是由natural edge引起的;若是,则不需要滤波。
在VVC中,去方块滤波的强度由 q P L qP_L qPL决定
其中 Q p 0 Qp_0 Qp0和 Q p p Qp_p Qpp分别表示 q ( 0 , 0 ) q_{(0,0)} q(0,0)和 p ( 0 , 0 ) p_{(0,0)} p(0,0)所在CU的QP,qpOffset由LL确定
由于tc根据QP得到,VVC中的QP从0~51扩展到了0 ~ 63,tc与QP的对应表格也需要相应的进行更新
tC = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4,
4, 4, 5, 5, 6, 6, 7, 8, 9,10,11,13,14,16,18,20,22,25,28,31,35,39,44,50,56,63,70,79,88,99 ]
由于Affine和SbTMVP为子块编码,VVC中对Sub-block的去方块滤波方式与HEVC中针对8x8子块的滤波方式相同。
啊啊啊还没写完,未完待续吧。。。。。