首页 理论教育正交变换实现数据压缩的关键技术——变换编码

正交变换实现数据压缩的关键技术——变换编码

【摘要】:变换编码中的关键技术在于正交变换,与预测编码一样,它是通过消除信源序列中的相关性来实现数据压缩的。变换编码与预测编码之间的区别在于,预测编码是在空间域内进行的,而变换编码则是在变换域内进行的。因此,变换编码的关键就在于:在已知信源的情况下,根据它的协方差矩阵去寻找一种正交变换,使变换后的协方差矩阵满足或近似为一对角矩阵。

变换编码中的关键技术在于正交变换,与预测编码一样,它是通过消除信源序列中的相关性来实现数据压缩的。变换编码与预测编码之间的区别在于,预测编码是在空间域(或时间域)内进行的,而变换编码则是在变换域(或频率域)内进行的。变换编码不是直接对空间域的图像信号进行编码,而是首先将空间域图像信号映射变换到另一个正交矢量空间(变换域或频率域),产生一系列变换系数,然后对这些变换系数进行编码处理。尽管正交变换本身不能对数据进行压缩,但由于变换后系数之间的相关性明显降低,图像的大部分能量只集中到少数几个变换系数上,采用适当的量化和熵编码可以有效地压缩图像的数据量。而且图像经某些变换后,变换系数的空间分布和频率特性能与人眼的视觉特性匹配,因此可以利用人的视觉系统和生理、心理特点来得到较好的压缩效果。

图像信号是随机变量,随机变量之间的相关程度可以用协方差表示,多个随机变量之间的协方差可以用矩阵形式描述,称为协方差矩阵。图像信号在空间域的协方差矩阵表示像素间的相关情况,而变换域的协方差矩阵则表示变换系数间的相关情况,反映经过正交变换后图像解除或削弱的相关性情况。当协方差矩阵中除对角线上元素之外的各个元素都为零时,就相当于无相关性。因此,变换编码的关键就在于:在已知信源的情况下,根据它的协方差矩阵去寻找一种正交变换,使变换后的协方差矩阵满足或近似为一对角矩阵。

如果经过正交变换后的协方差矩阵为一对角矩阵,且具有最小均方误差时,该变换就是最佳变换。Karhunen-Loeve(简称K-L)变换就是均方误差准则下的最佳变换。根据推导可知,K-L变换的变换矩阵由信源协方差矩阵的特征矢量构成。因此,这种变换矩阵不是一种恒定的形式,必须由信源特性来确定。在进行K-L变换前,必须先求出信源的协方差矩阵,然后求出其特征值和特征向量,得到变换矩阵,再进行正交变换,其计算量非常大。由于K-L变换没有快速算法,巨大的计算量使其应用受到很大的限制。而离散余弦变换(DCT)具有和K-L变换相近的性能,经离散余弦变换后的协方差矩阵接近对角矩阵,因此是准最佳变换。另外,DCT可以用固定的变换矩阵进行正交变换,且可用快速算法,从实用的角度来说,简便、易于实现,所以,在近年来的图像数据压缩中得到广泛的应用。

对变换后的图像系数的编码,一般采用门限编码加区域编码的形式,以DCT为例,根据变换系数的能量分布,可以将图像划分为不同的区域,其中变换后幅度值较大的图像系数大多集中于图像块的左上角。与其他系数相比,这些低频系数具有的能量最大,包括了图像的大部分内容,在变换图像中的地位最重要,应该使它们的量化误差最小。同样,对于图像块的其他区域,也应采用与该区域相匹配的量化和编码形式。这种按能量分布对不同区域采用不同量化编码的方法称为区域编码。另一个方面,变换图像中有许多系数的幅度很小,只具有原图像中很小比例的能量,对图像质量影响很小,因此一般采用设定阈值的方法,将小于阈值的变换系数置为零,从而大大提高了编码效率。经门限编码和区域编码后,变换图像的大部分系数为零。为了增加零系数的个数,使得最大的连零串出现概率较大,对已量化的系数进行排序就显得尤为重要。通常对量化后的系数进行Z字形(Zig-Zag)排序可以解决这一问题。

图像变换一般采用分块变换技术,图像块大,相关性就高,压缩比也就大,但是块的尺寸太大又会丢失数据的平稳性,从而引入误差,这些误差包括失去高频细节、引入沿物体边界的噪声和可见的DCT块边界效应(俗称方块效应或马赛克效应)。实验证明,块大小为16×16或8×8的像素块是比较好的选择。但如果为了提高压缩比,而增大量化系数时,还是会出现块边界效应。

实际的变换编码系统可分为以下4个步骤:第一步选择变换类型,DCT是应用最广泛的一种类型;第二步是选择块的大小,较好的方块尺寸是8×8像素块或16×16像素块;第三步是选择量化步长,对其进行高效量化,以便传输或存储;第四步是对量化后的系数进行比特分配,通常使用游程长度编码和算术编码。