图像压缩算法与分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图像压缩方法综述
进行解码(逆变换)时,所损失的将是些不重要 的信息,几乎不会引起图像失真,图像的变换编 码就是利用这些来压缩图像并得到很高的压缩 比。 由于图像可看成二维数据矩阵,所以在图像 编码中多采用二维正交变换方式,然而其正交变 换的计算量太大,所以在实用中变换编码并不是 对整幅图像进行变换和编码,而是将图像分成若 干个n×n的子图像分别处理。这是因为小块图像 的变换计算比较容易,而且距离较远的像素之间 的相关性比距离较近的像素之间的相关性要小。 实践证明4×4、8×8、16×16适合图像压缩,这 是因为: 如果子图像尺寸取得太小, 虽然计算速度快, 实现简单,但压缩能力有限; 如果子图像尺寸取得太大,虽然去相关效果 好,因为 DCT 等正弦类变换均渐近最佳化,同时 也渐近饱和,由于图像本身的相关性很小,反而 使得压缩效果不明显, 并且增加了计算的复杂度。 2.2 变换系数的选择 对子图像经过变换后,保留变换后的哪些系 数用作编码和传输将直接影响信号恢复的质量, 变换系数的选择原则是保留能量集中、方差大的 系数。 系数选择通常有变换变换区域编码和变换阈 值编码两种方法。 (1) 变换区域编码 变换区域编码是对设定形状的区域内的变换 系数进行量化编码区域外的系数被舍去。一般来 说,变换后的系数值较大的会集中在区域的左上 部,即低频分量都集中在左上部。保留的也是这 一部分。其他部分的系数被舍去,在恢复信号时 对它们补0。 这样以来, 由于保留了大部分图像信 号能量,在恢复信号后,其质量不会产生显著变 化。变换区域编码的明显缺陷是高频分量完全丢 失。反应在恢复图像上将是轮廓及细节模糊。为 克服这一缺陷,可预先设定几个区域,根据实际 系数分布自动选取能力最大的区域。 (2) 变换阈值编码 变换阈值编码是根据实际情况设定某一大小 幅度的阈值,若变换系数超过该阈值,则保留这 些系数进行编码传输,其余补0.这样,多数低频 成分被编码输出,而且少数超过阈值的高频成分 也将被保留下来进行编码输出。这在一定程度上
3 DWT 压缩算法描述
3.1 小波变换简介 小波变换是上世纪80年代中后期逐渐发展起 来 的 一 种 数 学 分 析 方 法 。 1984 年 法 国 科 学 家
图像压缩方法综述
J.MOLET 在分析地震波的局部特性时首先使用了 小波这一术语,并用小波变换对地震信号进行处 理。小波术语的含义是指一组Biblioteka Baidu减震动的波形, 其振幅正负相间变化,平均值为零,是具有一定 的带宽和中心频率波组。小波变换是用伸缩和平 移小波形成的小波基来分解(变换)或重构(反 变换)时变信号的过程。不同的小波具有不同带 宽和中心频率,同一小波集中的带宽与中心频率 的比是不变的,小波变换是一系列的带通滤波响 应。它的数学过程与傅立叶分析是相似的,只是 在傅立叶分析中的基函数是单频的调和函数,而 小波分析中的基函数是小波,是一可变带宽内调 和函数的组合。 小波变换在时域和频域都具有很好的局部化 性质,较好地解决了时域和频域分辨率的矛盾, 对于信号的低频成分采用宽时窗,对高频成分采 用窄时窗。因而,小波分析特别适合处理非平稳 时变信号,在语音分析和图象处理中有广泛的应 用,在地震、雷达资料处理中将有良好的应用前 景。 小波分析技术和多分辨率分析理论,摈弃了 传统Fourier分析所必须的前提假设——平稳性, 成为分析非平稳信号的有力工具。小波基的无条 件基特性,使它成为一大类信号的非线性逼近的 最优基,许多信号在小波基的表示下,都可以获 得稀疏的表示式。 由于小波的局部分析性能优越, 在信号分析中尤其是数据压缩与边缘检测等方面 主要性能优于其他方法。在静态图像压缩国际标 准——JPEG 2000 中,离散小波变换(DWT) 已经取 代离散余弦变换 (DCT) ,成为标准的变换编码方 法。 3.2 小波变换算法分析 传统的基于离散余弦变换的图像压缩算法, 其基本思想是在频域对信号进行分解,去除信号 点之间的相关行,并找出重要系数,滤去次要系 数,以达到压缩的效果,但该方法在处理过程中 并不能提供时域的信息,在比较关系时域特性的 时域显得无能为力。 但是这种应用的需求是很广泛的,比如遥感 测控图像,要求在整幅图像有很高的压缩比的同 时,对热点部分的图像要有较高的分辨率,例如 医疗图像,需要对某个局部的细节部分有很高的 分辨率,单纯的频域分析的办法显然不能达到这 个要求,虽然可以通过对图像进行分块分解,然
4 具体工作
了解的基本的内容介绍后,下来说一下我自 己都主要做了什么。这次作业我主要做的是:对 一副图像用 MATLAB 进行离散余弦变换( DCT ) , 进行小波变换进行编码,比较压缩效果。 DCT变 换是图像压缩标准中常用的变换方法。 DCT压缩 的前提是图像信号的能量在变换域的集中性好, 这样就可以通过对高能量区域用大比特数编码而 对低能量区域用小比特数编码或不编码,以达到 压缩的目的。但是DCT 的编码与译码过程都需要 大量的二维变换,这是 DCT的主要的不利因素。 用 MATLAB 实现 DCT 编码算法步骤大概是:先用 imdouble函数把图像转换成双精度图像,这样随 后对图像处理的失真概率会小。用dct2函数进行 二维离散余弦变换, 然后再用dctmtx函数, blkproc 函数做分块处理。需要注意的是,一般变换后的 系数值较大的会集中在区域的左上部,即低频分 量都集中在左上部。保留的也是这一部分。其他 部分的系数被舍去,在恢复信号时对它们补0。 所 以,在mask的设置才有了那样的形式。此次试验 用了左上角的 3 个系数。从出来的结果图可以看 出,处理后的频域图像有明显的方块效应。 利用小波变换 (DWT) 的思想是:把图像进行 多分辨率分解,分解成不同空间、 不同频率的子图 像,然后再对子图像系数进行编码。 系数编码是小 波变换用于图像压缩的核心 , 压缩的实质是对系 数的量化压缩。图像经过小波变换后生成的小波 图像的数据总量与原图像的数据总量相等 , 即小 波变换本身并不具有压缩功能。之所以将它用于
3
后对每块作用不同的阈值或掩膜来达到这个要 求,但分块大小相对固定,有失灵活。 在这个方面,小波分析的就有优势多了,由 于小波分析固有的时频特性,我们可以在时频两 个方向对系数进行处理,这样就可以对我们感兴 趣的部分提供不同的压缩精度。 小波变换实现压缩编码的处理步骤: 步骤1: 使用正向离散小波变换把空间域表示的图 变换成频率域表示的图;步骤 2 :使用 wavedec2 函数对图像进行分解,这个函数对于图像细节系 数的提取是最佳的; 步骤3:使用函数对量化系数进行编码; 步骤 4 :基于小波变换矩阵算法的小波变换的实 现。
图像压缩算法与分析
图像压缩算法与分析
陈清早
( 电信科学技术研究院 PT1400158 )
摘 要 :图像压缩编码技术就是对要处理的图像数据按一定的规则进行变换和组合, 从而达到 以尽可能少的数据流(代码)来表示尽可能多的数据信息。 由于图像数据量的庞大,在存储、传输、处理 时非常困难,因此图像数据的压缩就显得非常重要。图像压缩的算法很多,这里,我们主要介绍下 DCT 算法和 DWT 算法。 关键字:图像压缩;DCT;DWT
k (u , v) ( F (u , v) / G (u , v))
其中,F ( u , v ) 为量化前的DCT系数,K 为量化后的 DCT 系数,而 Q
(u , v )
int
表示取整。
(u , v )
为量化步长,
对于基于 DCT 的 JPEG 图像压缩编码算法,量 化步距是按照系数所在的位置和每种颜色分量的 色调值来确定。因为人眼对亮度信号比对色差信 号更敏感, 因此使用了表2-1所示的量化表。 此外, 由于人眼对低频分量的图像比对高频分量的图像 更敏感,因此表中的左上角的量化步距要比右下 角的量化步距小。 亮度和色度因为代表的图像的信息量不同, 亮度代表了图像的低频分量,色度代表了图像的 高频分量,要分别对亮度和色度进行量化,所以 量化表也是不同的。 量化就是用 DCT变换后的系数除以量化表中 想对应的量化阶后四舍五入取整。 由于量化表中, 左上角的数值比较小,而右下角的数值比较大, 因而能够起到保持低频分量,抑制高频分量的作 用。
2
弥补了区域变换法的不足。但也有两个问题需要 解决:一是被保留下来的系数在矩阵中的位置不 是不确定的,因此需增加地质编码比特数,其码 率相对要高一些; 二是阈值需要通过实验来确定, 当然也可以根据总比特数进行自适应阈值选择, 但需要一定技术,将增加编码的复杂程度。 在解码过程中,形成压缩后的图像格式,先 对已编码的量子化的 DCT系数进行解码,然后求 逆量化并把DCT系数转化为8×8样本像块(使用二 维DCT反变换),最后将操作完成后的块组合成一 个单一的图像。这样就完成了图像的解压过程。 2.3 DCT 系数的量化 量化是对经过 DCT 变换后的频率系数进行量 化, 其目的是减小非 “0” 系数的幅度以及增加 “0” 值系数的数目, 它是图像质量下降的最主要原因。 量化过程定义了一种从实数到整数映射的方 法,它是通过降低 DCT变换产生的数值结果的精 确度,来减少存储变换后的系数需要的比特数。 定义量化公式为:
1
变在 JPEG 图像压缩算法中,有一种是以离散余 弦变换(DCT, Discrete Cosine Transform) 为基础的 有损压缩算法,是本次作业仿真实现结果之一。 DCT 变换利用傅立叶变换的性质。 采用图像边界 褶翻将像变换为偶函数形式,然后对图像进行二 维傅立叶变换,变换后仅包含余弦项,所以称之 为离散余弦变换。 DCT 编码属于正交变换编码方式, 用于去除图像 数据的空间冗余。变换编码就是将图像光强矩阵 ( 时域信号 ) 变换到系数空间 ( 频域信号 ) 上进行处 理的方法。在空间上具有强相关的信号,反映在 频域上是在某些特定的区域内能量常常被集中在 一起,或者是系数矩阵的分布具有某些规律。我 们可以利用这些规律在频域上减少量化比特数,
2
DCT 压缩算法描述
达到压缩的目的。图像经 DCT 变换以后,DCT 系数之间的相关性就会变小。而且大部分能量集 中在少数的系数上,因此,DCT 变换在图像压缩 中非常有用,是有损图像压缩国际标准 JPEG 的 核心。从原理上讲可以对整幅图像进行 DCT 变 换,但由于图像各部位上细节的丰富程度不同, 这种整体处理的方式效果不好。为此,发送者首 先将输入图像分解为 8*8 或 16*16 块,然后再对 每个图像块进行二维 DCT 变换,接着再对 DCT 系数进行量化、编码和传输;接收者通过对量化 的 DCT 系数进行解码, 并对每个图像块进行的二 维 DCT 反变换。 最后将操作完成后所有的块拼接 起来构成一幅单一的图像。 对于一般的图像而言, 大多数 DCT 系数值都接近于 0, 所以去掉这些系 数不会对重建图像的质量产生较大影响。因此, 利用 DCT 进行图像压缩确实可以节约大量的存 储空间。 在实验中, 先将输入的原始图像分为 8*8 块,然后再对每个块进行二维 DCT 变换。 1.2 DCT 编码 DCT编码属于正交变换编码。这类算法通常 是将空间域上的图像经过正交变换映射到系数空 间,使变换后的系数直接相关性降低。图像变换 本身并不能压缩数据,但变换后图像大部分能量 集中到了少数几个变换系数上,再采用适当的量 化和熵编码便可以有效地压缩图像。 信息论的研究表明,正交变换不改变信源的 熵值,变换前后图像的信息量并无损失,完全可 以通过反变换得到原来的图像值。但图像经过正 交变换后,把原来分散在原空间的图像数据在新 的坐标空间中得到集中,对于大多数图像而言, 大量的变换系数很小,只要删除接近于0的系数, 并对较小的系数进行粗量化,而保留包含图像主 要信息的系数,以此进行压缩编码。在重建图像
1
图像处理概述
在数字图像的冗余包括空间冗余、 结构冗余、 知识冗余和视觉冗余等。空间冗余是指规则物体 和规则背景的表面物理特性都具有相关性,数字 化后表现为数字冗余。例如:某图片的画面中有 一个规则物体,其表面颜色均匀,各部分的亮度、 饱和度相近,把该图片作数字化处理,生成位图后, 很大数量的相邻像素的数据是完全一样或十分接 近的,完全一样的数据当然可以压缩,而十分接近 的数据也可以压缩,因为恢复后人亦分辨不出它 与原图有什么区别,这种压缩就是对空间冗余的 压缩。再比如视觉冗余,视觉系统对于图像场的 注意是非均匀和非线性的,视觉系统不是对图像 的任何变化都能感知,因此对图像进行压缩后人 眼也并不会非常敏锐地察觉画面内容有所删减。