2.3 边界滤波
2.3.1 概述
亮度块滤波步骤:
1 变量nD等于1 << (log2CbSize −3 ).
2 xDk等于k << 3 其中 k = 0..nD −1,yDm等于m << 2 其中 m = 0..nD * 2 −1, 当bS[ xDk][ yDm]>0时。
2.1 进行2.5.3的步骤,得到决定dE, dEp, and dEq,和变量β和 tC
2.2 进行2.5.4的步骤,得到滤波图像recPictureL
色度块滤波步骤:
1. 变量nD等于1 << (log2CbSize −3 ).
2. xDk等于k << 2 其中 k = 0..nD −1,yDm等于m << 2 其中 m = 0..nD − 1, 当bS[ xDk*2][ yDm*2]等于2且( ( ( xCb / 2 + xDk) >> 3 ) << 3 )等于xCb / 2 + xDk时。
进行2.5.5的步骤,得到滤波图像recPictureCb和recPictureCb
HOR方向
亮度块滤波步骤:
1 变量nD等于1 << (log2CbSize −3 ).
2 yDm等于m << 3 其中 m = 0..nD −1,xDk等于k << 2 其中 k= 0..nD * 2 −1, 当bS[ xDk][ yDm]>0时。
2.1 进行2.3.2的步骤,得到决定dE, dEp, and dEq,和变量β和 tC
2.2 进行2.3.3的步骤,得到滤波图像recPictureL
色度块滤波步骤:
1. 变量nD等于1 << (log2CbSize −3 ).
2. yDm等于m << 2 其中m = 0..nD −1,xDk等于k << 2 其中 k = 0..nD − 1, 当bS[ xDk*2][ yDm*2]等于2且( ( ( yCb / 2 + yDm) >> 3 ) << 3 )等于yCb / 2 + yDm时。
进行2.3.4的步骤,得到滤波图像recPictureCb和recPictureCb
2.3.2 亮度块边缘决定过程
如果edgeType为EDGE_VER, pi,k和qi,k(i = 0..3 ,k = 0 和 3),xB1和yB1为当前亮度块的左上角坐标。
qi,k= recPictureL[ xCb + xBl + i ][ yCb +yBl + k ]
pi,k= recPictureL[ xCb + xBl −i −1 ][ yCb+ yBl + k ]
否则(edgeType为EDGE_HOR),pi,k和qi,k(i = 0..3 ,k = 0 和 3)
qi,k= recPictureL[ xCb + xBl + k ][ yCb +yBl + i ]
pi,k= recPictureL[ xCb + xBl + k ][ yCb +yBl −i −1 ]
变量QpQ和QpP分别等于包含p0,0和q0,0的编码块的QpY。
变量qPL等于( ( QpQ+ QpP+ 1 ) >> 1 )。
变量β’通过Q查表1得到,其中Q由下式得到:
Q = Clip3( 0, 51, qPL+ (slice_beta_offset_div2 << 1 ) )
其中slice_beta_offset_div2是包含q0,0的slice的语法元素slice_beta_offset_div2。
变量β等于β′* ( 1 << ( BitDepthY −8 ) )。
变量tC′通过Q查表得到,其中Q由下式得到:
Q = Clip3( 0, 53, qPL+ 2 * ( bS −1 ) + (slice_tc_offset_div2 << 1 ) )
其中slice_tc_offset_div2是包含q0,0的slice的语法元素slice_tc_offset_div2
变量tC等于tC′* ( 1 << ( BitDepthY −8 ) )
表1 查询β′和tC′