H.264/AVC, H.265/HEVC, H.266/VVC技术对比整理-帧内预测

1、H.264/AVC帧内预测

  H.264帧内模式中,亮度块可以用16x16或4x4的尺寸,色度块只能是8x8(对应亮度16x16)。根据块大小不同,预测模式个数不同。16x16的亮度块和8x8的色度块有4种模式,包括垂直、水平、DC、plane模式,适用于平坦区域。4x4的亮度块适用于细节区域,有9种预测模式,包括垂直、水平、DC和另外6种角度模式。

2、H.265/HEVC帧内预测
2.1 预测模式

  HEVC中预测以PU为单位,帧内CU到PU仅可划分一次,且是4叉树划分,因此PU也都是方块。HEVC帧内PU有35种预测模式,包括33种角度模式和DC模式、planar模式。色度块模式有一定限制,必须是DC、planar、垂直、水平或者与亮度块模式相同。

H.264/AVC, H.265/HEVC, H.266/VVC技术对比整理-帧内预测_第1张图片

2.2 参考像素平滑滤波

  HEVC对大于等于8x8的部分亮度块的参考像素进行平滑滤波,来去除噪声。根据预测模式不同进行不同程度滤波。DC模式不需要平滑滤波,planar模式需要平滑滤波。对于角度模式,总体上的趋势是,越大的块越需要滤波,距离水平和垂直方向越远的方向越需要滤波。
  平滑滤波分为常规平滑滤波和强平滑滤波。常规平滑滤波使用3抽头滤波器,开头结尾不滤波。强平滑滤波在大于32x32的块,且满足活动性条件时才会进行,会用线性插值替代一些参考像素。

2.3 预测值计算

  DC预测值为参考像素均值,planar模式的每个预测值由4个参考像素决定,体现出渐变趋势。角度模式下根据不同模式计算出参考像素的方向和位置,每个角度对应一个tan值,根据预测点坐标和tan值可以计算出预测点坐标与参考点之差,进而计算出参考点。当参考点位于两个参考像素之间时,会根据距离对两个参考像素线性插值得到预测值。

2.4 预测值滤波

  为了保证边界连续性,对小于32x32的块部分模式靠近参考像素的部分进行平滑滤波。DC模式下对第一行和第一列进行滤波,垂直模式下对第一行滤波,水平模式下对第一列滤波。

2.5 预测模式编码

  亮度模式编码时,首先根据周边块的模式,建立一个长度MPM列表(最可能模式列表)。如果预测模式在MPM中,直接传输模式在MPM列表中的索引,否则传输模式索引。编码色度模式时,首先判断亮度快模式,根据亮度模式不同有不同的编码方案。

3、H.266/VVC帧内预测
2.1 预测模式

  VVC共67种模式,包括DC模式、planar模式,以及65种角度模式。由于VVC的帧内预测块出现了矩形,部分角度模式在矩形块中自适应地替换为宽角度模式(距离垂直右侧或水平下侧超过45度)。下图分别是常规模式和宽角度下模式预测方向。

H.264/AVC, H.265/HEVC, H.266/VVC技术对比整理-帧内预测_第2张图片H.264/AVC, H.265/HEVC, H.266/VVC技术对比整理-帧内预测_第3张图片

  VVC色度有8种模式(与HEVC类似,与亮度相同算是一种,因此实际上可以表示67种),包括5种传统模式和3种CCLM模式。

2.2 MRL(Multiple reference line intra prediction)

  VVC中除了使用上方最近一行和左边最近一列(参考行0)作为参考外,还可以用上方第3行或左方第3列(参考行2),上方第4行或左方第4列(参考行3)作为参考,但是参考行2和参考行3仅能使用MPM列表中的模式。

H.264/AVC, H.265/HEVC, H.266/VVC技术对比整理-帧内预测_第4张图片

2.3 MDIS(Mode dependent intra smoothing)

  VVC的参考像素滤波和预测值获取根据MDIS判断。如果为垂直模式或水平模式,不进行参考像素滤波。如果角度可以被45度整除,使用121平滑滤波器滤波。这两种情况下参考位置都是正数,不需要插值滤波器。其他模式下,不进行参考像素滤波,但是可能会出现非整数参考位置,这时使用插值滤波器得到预测值,插值滤波器有高斯滤波器和cubic滤波器。

2.4 CCLM(Cross-component linear model)

  CCLM是使用重建的亮度值对色度值做预测,具有非常显著的效果。CCLM的预测方法是将亮度下采样后,在同位置的亮度和色度间建立一个线性模型,C = a * Y + b。每个块的参数a和b需要根据参考像素的的亮度和色度值计算,得到两个参数值至少需要选择两个点。
  VVC中首先选择4个点,然后分为值较大的两个点和较小的两个点分别求平均,得到两个点后计算出线性模型参数值。CCLM模式有3种类型,LM模式在上方和左方采点,LM_A仅在上方采点, LM_L仅在左方采点。参数值根据重建值计算,因此无需编码。

2.5 PDPC(Position dependent intra prediction combination)

  PDPC在得到帧内预测值后对预测值进行修正。对于DC和planar模式,使用像素上方和左方两个参考点对预测值修正。对于水平模式,使用垂直方向上参考点进行修正,对于垂直模式,使用水平方向上参考点进行修正。对于其他角度模式,使用相反方向的点进行修正。修正的强度与预测像素点位置有关,预测点距离修正参考点的距离越近,修正强度越高。

2.6 MIP(Matrix based intra prediction)

H.264/AVC, H.265/HEVC, H.266/VVC技术对比整理-帧内预测_第5张图片
  MIP最初是使用全连接神经网络进行帧内预测,后来由于不断简化,网络层数被简化为1层,神经元的bia也被去除,因此可以称为基于矩阵的帧内预测。
  如图所示,MIP主要分为三个部分,下采样、矩阵乘法、插值。下采样和插值是为了减少矩阵参数量和乘法的计算量,例如边长为N的方块,参考像素数量为2N,需要进行2*N^3次乘法计算。边上减少到二分之一,计算量可以减少到八分之一。
  MIP将块分为3类,第一类是边长4x4,下采样时每边取2点,第二类是4xN、Nx4、8x8的块,下采样每边取4点,第三类是其它块,下采样每边取4点。三类分别有32、16、12种模式,每种模式对应一组矩阵参数。矩阵参数训练时为浮点数,写入编码器时根据映射表表量化为整数,实际计算时再根据映射表映射回去。

你可能感兴趣的:(视频编码)