DCT变换原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字图像的冗余包括空间冗余、结构冗余、知识冗余和视觉冗余等。空间冗余是指规则物体和规则背景的表面物理特性都具有相关性,数字化后表现为数字冗余。例如:某图片的画面中有一个规则物体,其表面颜色均匀,各部分的亮度、饱和度相近,把该图片作数字化处理,生成位图后,很大数量的相邻像素的数据是完全一样或十分接近的,完全一样的数据当然可以压缩,而十分接近的数据也可以压缩,因为恢复后人亦分辨不出它与原图有什么区别,这种压缩就是对空间冗余的压缩。再比如视觉冗余,视觉系统对于图像场的注意是非均匀和非线性的,视觉系统不是对图像的任何变化都能感知,因此对图像进行压缩后人眼也并不会非常敏锐地察觉画面内容有所删减。
所谓的图像压缩编码技术就是对要处理的图像数据按一定的规则进行变换和组合, 从而达到以尽可能少的数据流(代码)来表示尽可能多的数据信息。在众多的图像压缩编码标准中,JPEG(Joint Photographic Experts Group)格式是一种称为联合图像专家组的图像压缩格式,它适用于不同类型、不同分辨率的彩色和黑白静止图像。
而在JPEG图像压缩算法中,有一种是以离散余弦变换(DCT,Discrete Cosine Transform)为基础的有损压缩算法,是为本论文的主要研究对象。
DCT变换利用傅立叶变换的性质。采用图像边界褶翻将像变换为偶函数形式,然后对图像进行二维傅立叶变换,变换后仅包含余弦项,所以称之为离散余弦变换。
DCT编码属于正交变换编码方式,用于去除图像数据的空间冗余。变换编码就是将图像光强矩阵(时域信号)变换到系数空间(频域信号)上进行处理的方法。在空间上具有强相关的信号,反映在频域上是在某些特定的区域内能量常常被集中在一起,或者是系数矩阵的分布具有某些规律。我们可以利用这些规律在频域上减少量化比特数,达到压缩的目的。图像经DCT变换以后,DCT系数之间的相关性就会变小。而且大部分能量集中在少数的系数上,因此,DCT变换在图像压缩中非常有用,是有损图像压缩国际标准JPEG的核心。从原理上讲可以对整幅图像进行DCT变换,但由于图像各部位上细节的丰富程度不同,这种整体处理的方式效果不好。为此,发送者首先将输入图像分解为8*8或16*16块,然后再对每个图像块进行二维DCT变换,接着再对DCT系数进行量化、编码和传输;接收者
通过对量化的DCT系数进行解码,并对每个图像块进行的二维DCT反变换。最后将操作完成后所有的块拼接起来构成一幅单一的图像。对于一般的图像而言,大多数DCT系数值都接近于0,所以去掉这些系数不会对重建图像的质量产生较大影响。因此,利用DCT进行图像压缩确实可以节约大量的存储空间。在实验中,先将输入的原始图像分为8*8块,然后再对每个块进行二维DCT变换。
1.1.1DCT编码
DCT编码属于正交变换编码。这类算法通常是将空间域上的图像经过正交变换映射到系数空间,使变换后的系数直接相关性降低。图像变换本身并不能压缩数据,但变换后图像大部分能量集中到了少数几个变换系数上,再采用适当的量化和熵编码便可以有效地压缩图像。
信息论的研究表明,正交变换不改变信源的熵值,变换前后图像的信息量并无损失,完全可以通过反变换得到原来的图像值。但图像经过正交变换后,把原来分散在原空间的图像数据在新的坐标空间中得到集中,对于大多数图像而言,大量的变换系数很小,只要删除接近于0的系数,并对较小的系数进行粗量化,而保留包含图像主要信息的系数,以此进行压缩编码。在重建图像进行解码(逆变换)时,所损失的将是些不重要的信息,几乎不会引起图像失真,图像的变换编码就是利用这些来压缩图像并得到很高的压缩比。
由于图像可看成二维数据矩阵,所以在图像编码中多采用二维正交变换方式,然而其正交变换的计算量太大,所以在实用中变换编码并不是对整幅图像进行变换和编码,而是将图像分成若干个n×n的子图像分别处理。这是因为小块图像的变换计算比较容易,而且距离较远的像素之间的相关性比距离较近的像素之间的相关性要小。实践证明4×4、8×8、16×16适合图像压缩,这是因为:
①如果子图像尺寸取得太小,虽然计算速度快,实现简单,但压缩能
力有限;
②如果子图像尺寸取得太大,虽然去相关效果好,因为DCT等正弦类
变换均渐近最佳化,同时也渐近饱和,犹豫图像本身的相关性很小,反而使得压缩效果不明显,并且增加了计算的复杂度。
1.1.2变换系数的选择
对子图像经过变换后,保留变换后的哪些系数用作编码和传输将直接影响信号恢复的质量,变换系数的选择原则是保留能量集中、方差大的系数。
系数选择通常有变换变换区域编码和变换阈值编码两种方法。
1)变换区域编码
变换区域编码是对设定形状的区域内的变换系数进行量化编码区域外的系数被舍去。一般来说,变换后的系数值较大的会集中在区域的左上部,即低频分量都集中在左上部。保留的也是这一部分。其他部分的系数被舍去,在恢复信号时对它们补0。这样以来,由于保留了大部分图像信号能量,在恢复信号后,其质量不会产生显著变化。变换区域编码的明显缺陷是高频分量完全丢失。反应在恢复图像上将是轮廓及细节模糊。为克服这一缺陷,可预先设定几个区域,根据实际系数分布自动选取能力最大的区域。
2)变换阈值编码
变换阈值编码是根据实际情况设定某一大小幅度的阈值,若变换系数超过该阈值,则保留这些系数进行编码传输,其余补0.这样,多数低频成分被编码输出,而且少数超过阈值的高频成分也将被保留下来进行编码输出。这在一定程度上弥补了区域变换法的不足。但也有两个问题需要解决:一是被保留下来的系数在矩阵中的位置不是不确定的,因此需增加地质编码比特数,其码率相对要高一些;二是阈值需要通过实验来确定,当然也可以根据总比特数进行自适应阈值选择,但需要一定技术,将增加编码的复杂程度。
1.1.3基于DCT编码的JPEG编码压缩
基于DCT编码的JPEG编码压缩过程框图,如图2-1所示。
图2-1基于D C T编码的J P E G压缩过程简化图