参考像素滤波

在帧内预测时需要使用左侧一列和上方一行重建像素作为参考像素。在使用参考像素进行预测前为了更好的利用空域相关性和降噪,通常需要对参考像素进行滤波。在HEVC中根据TU大小和帧内预测模式的不同会使用不同的滤波,即模式依赖的参考像素滤波( mode dependent intra reference sample smoothing,MDIS)。

帧内预测中的参考像素滤波和像素投影_MDIS

滤波选择

(1)不同尺寸TU的滤波

  • DC模式的任何尺寸TU都不进行滤波。

  • 4x4大小的TU不进行滤波。

  • 32x32的TU:除模式10(水平)、模式26(垂直)之外的所有角度模式以及Planar模式需要滤波。

  • 16x16TU:在32x32TU基础上去掉模式9、11、25、27,其他模式需要滤波。

  • 8x8TU:仅对3个45度方向的模式(模式2、18、34)和Planar模式进行滤波。

(2)滤波强度

  • 常规滤波

HEVC使用3抽头滤波器[1,2,1]/4进行常规滤波,如上图所示。滤波过程如下:

帧内预测中的参考像素滤波和像素投影_MDIS_02

其中x,y=1,2,...2N-1。

对于R_0,0,R_2N,0,R_0,2N,滤波结果如下:

帧内预测中的参考像素滤波和像素投影_像素投影_03

  • 强滤波

强滤波仅对32x32TU进行,且需要满足下面两个条件:

帧内预测中的参考像素滤波和像素投影_多媒体_04

其中Bd为位深。

强滤波在水平和垂直方向的过程如下:

帧内预测中的参考像素滤波和像素投影_多媒体_05

像素投影

帧内预测时需要使用左侧一列和上方一行重建像素作为参考像素,在实际使用时通常需要将其投影到一维,即对于垂直类模式将左侧参考像素投影到上方,对于水平类模式将上方参考像素投影到左侧。在使用投影后的一维参考像素进行预测时,若该角度模式未落到整数像素位置需要使用1/32像素精度进行插值预测。

角度预测过程

每个角度模式都相当于在水平或垂直方向进行了一个偏移,各角度模式对应的偏移值如下:

帧内预测中的参考像素滤波和像素投影_多媒体_06

以垂直类模式为例介绍预测像素计算过程:

(1)像素投影

给定的垂直类模式M,需要将参考像素映射为一维形式Ref。

  • 若模式M的偏移offset[M]<0,则需要将TU左侧的像素投影到上方像素的左侧,投影方式如下:

帧内预测中的参考像素滤波和像素投影_视频编码_07

  • 若模式M的偏移offset[M]>=0,则预测时只需要用到上方的参考像素。

以8x8TU,模式20(offset=-21)为例,投影方式如下:

y(-1)=2,y(-2)=,y(-3)=5,y(-4)=6,y(-5)=8

则有:

Ref[-1]=R_0,2,Ref[-2]=R_0,3,Ref[-3]=R_0,5,Ref[-4]=R_0,6,Ref[-5]=R_0,8。

帧内预测中的参考像素滤波和像素投影_MDIS_08

(2)预测值计算

  • 计算当前像素对应的参考像素在Ref中的位置pos:

pos=(y*offset[M])>>5

  • 计算加权因子w

w=(y*offset[M])&31

  • 计算预测值

P_xy=((32-w)Ref[pos]+w*Ref[pos+1]+16)>>5

附:下图是4x4TU水平类模式投影的结果

帧内预测中的参考像素滤波和像素投影_h.265/hevc_09

感兴趣的请关注微信公众号Video Coding

帧内预测中的参考像素滤波和像素投影_像素投影_10