H.266/VVC技术描述_4-变换-高频调零, 多核变换MST, 子块变换SBT, 二次变换LFNST

1、高频调零

  VTM中最大支持64x64的变换块。VTM中可以在SPS配置允许的最大的变换块,可以是16、32或64。
  对于DCT-2,高或宽为64的块进行高频调零。如果宽为64,仅保留左32列,如果高为64,仅保留上32列。使用变换的skip模式时不使用高频调零。对于DCT8和DST7,高或宽为32的块进行高频调零,只保留16x16的区域。

2、多核变换MTS

  DCT变换在数学上有8类,一般图像处理中使用的DCT变换是DCT2,HEVC只使用了DCT-2,VVC中新加了DCT8和DST7,以下是它们的基函数。

H.266/VVC技术描述_4-变换-高频调零, 多核变换MST, 子块变换SBT, 二次变换LFNST_第1张图片
  变换矩阵进行了比HEVC更高精度的量化,变换计算中变换系数使用16比特,水平和垂直变换后系数为10比特。
  SPS中有两个标志为分别控制帧内和帧间的MTS开关,如果使用MTS,每个CU有一个标志为表示是否使用MTS。CU使用MTS必须满足宽高均小于32且CBF标志位为1。
  如果CU的MTS的标志位为0,水平和垂直方向均使用DCT2。如果MTS标志位为1,使用额外的两位表示使用的变换核。

H.266/VVC技术描述_4-变换-高频调零, 多核变换MST, 子块变换SBT, 二次变换LFNST_第2张图片
  为了避免冗余,CU的MTS标志非零时变换的skip标志不被发送(只有宽和高均小于32时可以使用skip模式)。
  另外有几处隐性MTS。如果CU使用ISP或者CU是帧内块并且帧内和帧间的MTS开关都打开,只使用DST7进行水平垂直变换。CU使用二次变换或者MIP时使用DCT2。帧间块使用MTS时仍可以使用隐性MTS。

3、子块变换SBT

  SBT是只对CU的一部分进行变换,有以下几个步骤:1、cu_cbf equal=1的情况下,通过cu_sbt_flag判断是否进行SBT。2、通选择变换核。3、选中的区域进行变换,剩余区域置零。
  SBT只用于帧间模式,并且不用于CIIP和TPM,不用于边长超过最大变换尺寸的CU,同时禁止划分出边长小于等4的子块。
  SBT根据不同划分方式指定不同的变换核,具体如图所示。
在这里插入图片描述
  在编码端,编码器需要在各种模式中作出决策(DCT2模式,TS模式,4种MTS模式,8种SBT模式),VTM设计了相应的快速算法,做出的选择传输到解码器端。

4、二次变换LFNST

  低频不可分变换(low-frequency non-separable transform, LFNST),又被称为二次变换,仅用于帧内模式的CU。LFNST用在编码端的初次变换和量化之间,以及解码端的反量化和反初次变换之间。
  LFNST只对长宽均大于4的亮度和色度块使用。LFNST有4x4的变换和8x8的变换,分别用于宽高的较小值小于8的块和宽高的较小值大于4的块。对于大于4x4或8x8的块,只对左上区域进行二次变换,其他区域仍然保留初次变换的系数。二次变换后,根据不同情况对结果进行调零。
H.266/VVC技术描述_4-变换-高频调零, 多核变换MST, 子块变换SBT, 二次变换LFNST_第3张图片
4.1 LFNST简化
  进行LFNST计算时,对于4x4的块,需要先展开为一个16维向量,再与16x16的变换核相乘得到结果。对于8x8的块,则需要64x64的变换矩阵。为了减少计算量与内存空间,对于8x8的块,只选取左上三个4x4的块进行二次变换,输入系数向量的维数为48,变换核为16x48的矩阵,这样相乘后得到16个值填充到左上角4x4块,其他两个块填充为0。
H.266/VVC技术描述_4-变换-高频调零, 多核变换MST, 子块变换SBT, 二次变换LFNST_第4张图片
4.2 LFNST变换核选择
  LFNST有4个变换集,每个变换集有2个变换核,变换集根据预测模式选择,变换核索引编码到每个帧内CU的变换系数之后。CCLM模式使用集合0,其他帧内模式与变换集关系如下表。
  H.266/VVC技术描述_4-变换-高频调零, 多核变换MST, 子块变换SBT, 二次变换LFNST_第5张图片
4.3 LFNST索引编码以及与其他工具的交互
  LFNST仅用于第一个系数组之外的系数均不显著的情况。LFNST索引的第一个bin使用上下文编码,不依赖于预测模式。LFNST对帧内slice和帧间slice中的帧内CU均适用,对于dual tree,亮度和色度分别发送一个索引。ISP模式和MIP模式禁用LFNST。LFNST最大尺寸与TU一致,为64x64。LFNST只使用DCT2。

你可能感兴趣的:(H.266/VVC,视频编码)