目录
JVET-A1001
接下来就把文档JVET-A1001中剩下的关于变换、量化、后处理等技术给了解一下。
变换编码
变换编码的改进主要在自适应多核变换(AMT)、二次变换和信号相关变换(SDT)。
1、自适应多核变换(Adaptive multiple Core transform)
除了在HEVC中使用的DCT-II和4x4 DST-VII外,JEM还采用了自适应多变换核(AMT)方案对帧内和帧间编码的残差块进行变换编码。它将DCT/DST多个不同的转换方式进行组合。新引入的变换矩阵有DST-VII、DCT-VIII、DST-I和DCT-V。对于帧内预测残差,根据帧内预测模式预先定义变换集,因此每个帧内预测模式都有自己的变换集,例如某个帧内预测模式变换集可以是{DCT-VIII, DST-VII}。注意,用于水平和垂直变换的变换集不同,即使对于相同的帧内预测模式也是如此。然而,对于帧间预测残差,对于所有帧间预测模式以及水平和垂直变换,只使用一个变换集。
AMT适用于小于64x64的CUs,并且AMT在CU级别上受到控制。
2、二次变换(Secondary transforms )
二次变换应用于正向核变换和量化(在编码器)之间,反量化和反向核变换(在解码器端)之间,即对在主变换之后对主变换系数进行第二次变换,之后再进行量化、熵编码等操作。在JEM中,如下图所示,对每个4×4的变换系数子组分别进行二次变换,并且只适用于帧内编码的CU。在JEM中,采用模式相关不可分的二次变换(MDNSST)。二次变换的示意图如下:
下面以以一个例子描述不可分离变换的应用。要应用不可分离变换,4x4输入块X为:
X首先表示为向量:
不可分变换计算为:
其中F表示变换系数向量,T为16x16变换矩阵。随后,使用该块的扫描顺序(水平、垂直或对角线)将16x1系数向量重新组织为4x4块。
该技术中共11×3(方向模式) + 1×2(非方向模式)不可分离变换矩阵,即总共有12组,其索引从0到11,其中11为帧内预测模式变换集的个数,每个变换集包含3个变换矩阵。而对于非方向模式,即平面、DC和LM,只应用了一个变换集,其中包含2个变换矩阵。下表定义了从帧内预测模式到转换集的映射,应用于亮度/色度变换系数的变换集由相应的亮度/色度预测模式指定。
3、信号相关变换(Signal dependent transform (SDT))
考虑到帧内和帧间有许多相似的块,利用KLT来研究这种相关性可以提高编码性能,更有效地进行压缩。
图中的流程图描述了这种思想,对于当前编码块C,首先得到参考块R,R由重构的左上模板 t b t_b tb和编码块的预测块p组成的;然后,用这个参考块R在重建区域内搜索N个最相似的块;最后,基于这些相似的块和预测块计算出一维KLT。该技术适用于不同块大小的4x4、8x8、16x16和32x32,利用率失真优化方法,确定了所提出的变换与DCT/DST变换之间的最佳模式。
为了更加清楚的说明,直接使用例子,KLT通过在重构区域中进行搜索,得到N个与参考块最相似的块 x i x_i x