介绍
● 图像变换编码是指将以空间域中像素形式描述的图像转化至变换域,以变换系数的形式加以表示;
● 图像都含有较多平坦区域和内容变化缓慢的区域,适当的变换可使图像能量在空间域的分散分布转为在变换域的相对集中分布,实现去除空间冗余目的,结合量化、“Z”扫描、熵编码等技术,实现对图像信息的有效压缩;
● 去相关性能最优的是K-L变换;
● DCT变换与输入信号无关,且实现快速,性能接近K-L变换,是构成主流混合视频编码框架的一项基本技术;
DCT变换
● 傅立叶变换表明,任何信号都可以表示多个不同的振幅和频率的正弦波或余弦波的叠加;
● 数学上一共有8类DCT变换,2类DCT应用最广泛,尤其在图像、视频编码领域;
● k=0,变换后值正比于输入信号的平均值,称为信号的“直流”(Direct Current,DC)分量;k>0,称为信号的“交流”(Alternate Current AC)分量;
● 整数DCT
○ 解决舍入误差、编解码失配问题,且运行速度大为提高;
h265中整数DCT
● 采用了4种不同的尺寸,4x4、8x8、16x16、32x32;
● 高分辨率视频在相同大小的区域内包含了更多的像素,因此像素间的相关性变得更强,采用更大的尺寸变换能够提高压缩性能;
● h265中整数DCT更接近传统的浮点DCT,4x4变换时整数化放大128倍,保留了更多的精度;
● h265不同大小的变换形式较为统一,主要由于整数化DCT矩阵时,不同大小的矩阵放大倍数不同,且满足一定规律,利用这特征,设计出具有统一形式的快速蝶形算法;
DST变换
● 采用正弦函数作为基函数,该分解称为正弦变换DST;
● 数学上DST变换也8类,h265中采用的是第7类;
h265中整数DST
● h265标准规定,在帧内4x4模式亮度分量残差编码中使用4x4整数DST,其余一律使用整数DCT;
● 帧内预测特征:距离预测像素越远,预测残差幅度越大,DST基函数能够很好的适应这特征;
● 可以使帧内编码性能提升0.8%,编码复杂度基本保持不变;
变换结构
● 变换单元TU是h265中变换、量化与熵编码的基本单位;
● CU可以以四叉树的形式划分TU;
● PU和TU直接由CU划分得到,因此PU和TU没有直接确定的关系;
● 一个PU可以能包含多个TU,一个TU也可能跨越多个PU,但二者都必须小于CU;
哈达玛变换
● 沃尔什-哈达玛(walsh- Hadamard transform WHT)是广义傅立叶变换的一种;
● Hadamard变换及其矩阵性质:
○ 矩阵所有元素都是±1、特征值也只包含±1、
○ 矩阵为正交、对称矩阵
○ 矩阵奇数行偶对称、偶数行奇对称
○ 满足帕斯瓦卡(parseval)定理,即变换前后能量守恒;
● 与DCT变换相比,仅含有加减法运算,且递归形式快速实现,此外正向变换与反向变换具有相同的形式,算法复杂度较低,容易实现;
● 在h264中,Hadamard变换用于亮度分量帧内16x16模式DC系数以及色度分量DC系数的变换,达到进一步去除相关性的目的;
● 在h265中,与友熵编码是以TU为单位(一个TU仅包含一个DC系数),且较大TU的使用同样具有去除相关性的作用,标准里未使用hadamard变换;
● 在图像、视频处理领域,Hadamard变换常用于计算残差信号的SATD(Sum of Absolute Transformed Difference),即将残差信号进行Hadamard变换后再求各元素绝对值之和;
● h265的官方指定代码HM在亚像素运动搜索过程中也使用了SATD;