题目: 数字图像处理系统设计-KLT\DCT变换压缩
院(系) 信息科学与工程学院
专 业 通信工程
届 别 2012届
摘 要
随着科学技术的发展,图像压缩技术越来越引起人们的关注,文章在研究近年来图像压缩一般方法的基础上,介绍了基于DCT变换的图像压缩的基本原理及其实现步骤,适当扩展研究KL变换的图像压缩方法,并使用MATLAB,针对同一幅原始图像进行不同方法的压缩比较,给出了实验仿真结果。
本
论文首先说明了图像压缩在现代通信中的必要性和可行性以及介绍了Matlab的基本功能,提出了用Matlab来实现DCT变换的数字图像压缩技术, 方法简单,快速, 且误差小。 然后重点介绍了图像压缩编码的具体过程和方法。最后分析了图像经过2种压缩方法时,图像质量的变化情况。
关键词:图像压缩技术;DCT/KL变换;MATLAB
ABSTRACT
With the development of science and technology,image compression technology has drawn increasing attention,this thesis based on the research of the general image compression method in recent years, introduces the basic principle based on the DCT transform image compression and implementation steps,e*pands the research of KL transform image compression method appropriately,and use MATLAB to compare with the original image through different image compression method for the e*perimental simulation results.
First,this paper e*plains the necessary of image compression technology in the modern and introduces the basic function of MATLAB.It put forward using MATLAB to achieve the digital image compression technology of DCT transform.Th
……(新文秘网https://www.wm114.cn省略1864字,正式会员可完整阅读)……
。1966年J.B.O Neal对比分析了DPCM和PCM并提出了用于电视的实验数据。1969年进行了线性预测编码的实际实验。1969年举行首届图像编码会议。70年代开始进行了帧间预测编码的研究。80年代开始对运动估值和模型编码进行研究。
进入90年代,ITU-T和ISO制定了一系列图像编码国际建议,如H.261、JPEG、MPEG-1、H.262、H.263、MPEG-4等。
变换编码是1968年H.C.Andrews等人提出的,采用的是二维离散傅立叶变换,此后相继出现用其他变换方法的变换编码,其中包括二维离散余弦变换。
经过几十年的发展,图像编码技术业已成熟,一些国际建议的制定极大地推动了图像编码技术的实现和产业化,从而推动图像编码技术以更快的速度发展,目前的研究方向有两个:
(A)更好地实现现有的图像编码国际建议。研制出集成度更高、性能更好的图像编码专用芯片,使编码系统成本更低、可靠性更高。解决好现有的图像编码系统开发中的技术问题。例如:提高图像质量、提高抗码能力等。
(B)对图像编码理论和其他图像编码方法的研究。目前已经提出和正在进行研究的图像编码方法有:多分辨率编码、基于表面描述的编码、模型编码、利用人工神经网络的编码、利用分形几何的编码、利用数学形态学的编码等等。
1.3 MATLAB简介及其功能
如果应用高级语言(如Basic,C,Fortran)编写仿真程序来实现这一基于DCT的图像压缩编码算法比较麻烦,而且仿真效果也不是十分理想。本文主要应用MATLAB发布的图像处理工具箱中的相关函数和命令来实基于DCT的图像压缩编码理论算法的仿真。
MATLAB语言是由美国MathWorks公司推出的计算机软件,经过多年的逐步发展与不断完善,现已成为国际公认的最优秀的科学计算与数学应用软件之一,它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境,而且还具有可扩展性特征。MATLAB中的数字图像是以矩阵形式表示的,矩阵运算的语法对MATLAB中的数字图像同样适用,这意味着MATLAB强大的矩阵运算能力对用于图像处理非常有利。其特点是语法结构简单, 数值计算高效,图形功能完备。Matlab之所以成为世界顶尖的科学计算与数学应用软件, 是因为它随着版本的升级与不断完善而具有愈来愈强大的功能:
(1)数值计算功能 Matlab出色的数值计算功能是使之优于其他数学应用软件的决定性因素。
(2)符号计算功能 在数学科学、应用科学和工程计算领域,常常会遇到符号计算问题。1993年,MathWorks公司以Maple的“内核”作为符号计算功能的“引擎”, 依靠Maple已有的库函数,开发出了在Matlab环境下实现符号计算功能的系统组件。
(3)数据分析功能 在科学计算和工程应用中,大量的原始数据和数值计算结果需要进行分析,Matlab将这些数据以图形的方式显示出来,不仅使数据间的关系清晰明了,而且对于揭示其内在本质往往有着非常重要的作用。
(4)动态仿真功能 Matlab提供了一个模拟动态系统的交互式程序SIMULINK,允许用户在屏幕上绘制框图来模拟一个系统,并能动态地控制该系统。SIMULINK采用鼠标驱动方式,能处理线性、非线性、连续、离散等多种系统。
(5)程序接口功能 Matlab提供了方便的应用程序接口,用户可以在Matlab环境下直接调用已经编译过的C和Fortran子程序,可以在Matlab和其他应用程序之间建立客户服务器关系。同样,在C和Fortran程序中,也可以调用Matlab的函数或命令,使得这些语言可以充分利用Matlab强大矩阵运算功能和方便的绘图功能。
(6)文字处理功能 Matlab Notebook能成功地将Matlab与文字处理系统Micro soft Word集成一个整体,为用户进行科学计算、工程设计和文字处理等营造了一个完美统一的工作环境。
1.4 DCT变换
DCT变换利用傅立叶变换的性质。采用图像边界褶翻将像变换为偶函数形式,然后对图像进行二维傅立叶变换,变换后仅包含余弦项,所以称之为离散余弦变换。
DCT编码属于正交变换编码方式,用于去除图像数据的空间冗余。变换编码就是将图像光强矩阵(时域信号)变换到系数空间(频域信号)上进行处理的方法。在空间上具有强相关的信号,反映在频域上是在某些特定的区域内能量常常被集中在一起,或者是系数矩阵的分布具有某些规律。我们可以利用这些规律在频域上减少量化比特数,达到压缩的目的。图像经DCT变换以后,DCT系数之间的相关性就会变小。而且大部分能量集中在少数的系数上,因此,DCT变换在图像压缩中非常有用,是有损图像压缩国际标准JPEG的核心。从原理上讲可以对整幅图像进行DCT变换,但由于图像各部位上细节的丰富程度不同,这种整体处理的方式效果不好。为此,发送者首先将输入图像分解为8*8或16*16块,然后再对每个图像块进行二维DCT变换,接着再对DCT系数进行量化、编码和传输;接收者通过对量化的DCT系数进行解码,并对每个图像块进行的二维DCT反变换。最后将操作完成后所有的块拼接起来构成一幅单一的图像。对于一般的图像而言,大多数DCT系数值都接近于0,所以去掉这些系数不会对重建图像的质量产生较大影响。因此,利用DCT进行图像压缩确实可以节约大量的存储空间。
1.5 KL变换
KL变换又称Hotelling变换,特征向量变换或主分量方法。KL变换是遥感图像增强和信息提取中用得最多的线性变换,是对原波段图像进行波谱信息的线性投影变换,在尽可能不减少信息量的前提下,将原图像的高维多光谱空间的像元亮度值投影到新的低维空间,减少特征空间维数,达到数据压缩、提高信噪比、提取相关信息、降维处理和提取原图像特征信息的目的,并能有效地提取影像信息。它可使原来多波段图像经变换后提供出一组不相关的图像变量,最前面的主分量具有较大的方差,包含了原始影像的主要信息,所以要集中表达信息,突出图像的某些细部特征,可采用主分量变换来完成。KL变换是图像压缩中的一种最优正交变换。人们将它用于统计特征提取,从而形成了子空间法模式识别的基础。
第二章 图像压缩算法基础
2.1 DCT变换思想的来源
信号的变换分析方法中,通常是通过一组适当的基函数对信号进行分解,得到信号在变换域的表示方法,利用信号在变换域中某些特征趋于集中的特点来提取其特征从而进行分析。自1822年傅立叶(Fourier)发表“热传导解析理论”以来,傅立叶变换一直是信号处理领域中应用最广泛、效果最好的一种分析手段。但傅立叶变换只是一种纯频域的分析方法,它在频域的定位性是完全准确的(即频域分辨率最高),而在时域无任何定位性(或分辩能力),也即傅立叶变换所反映的是整个信号全部时间下的整体频域特征,而不能提供任何局部时间段上的频率信息。事实上,在我们生活中的常见信号通常都具有非平稳的性质,即其频域性质都是随时间而变化的。对这一类信号用傅立叶变换进行分析,虽然可以知道信号所包含有哪些频率信息,但不能知道这些频率信息具体出现在哪个时间段上,因此不能提供关于信号完整的信息。可见,傅立叶变换不适用于提取局部时间段(或瞬间)的频域特征信息。
为了研究信号在局部时间范围的频域特征,1946年Gabor提出了著名的Gabor变换。其基本思想是,取时间函数 作为窗口函数,用 与待分析函数 相乘,然后再进行傅立叶变换。在Gabor变换的基础上,为了适应不同问题的需要,进一步发展了多种形式的窗口函数,如矩形窗、汉宁窗、哈明窗等,这一类加窗的傅立叶变换统称为短时傅立叶变换(STFT)。STFT从本质上讲,是用窗函数截取原始信号的一个待分析段进行傅立叶变换,因而可以描述信号在某一局部时间段上的频率信息。目前,STFT在许多领域获得了广泛的应用,但由于STFT的定义决定了其窗函数的大小和形状均与时间和频率无关,一旦选定窗口就保持固定不变,不利于分析时变信号。实际上一般的高频信号持续时间较短,而低频信号持续时间较长,因此我们期望对于高频信号采用小时间窗,对于低频信号采用大时间窗进行分析。在进行信号分析时,这种变时间窗的要求同STFT的固定时窗(窗不随频率而变化)的特性是相矛盾的。
离散余弦变换(DCT)从本质上是一种变换分析方法,要在变换时最大的去除分析信号的相关性提取其特征,就必须适当的构造一组基函数,这组基函数以某种形式类似于我们所要表示的数据,甚至具有与数据相同的相关结构。在我们日常生活中常遇到的信号在空间域和频域都具有相关性。在空间上相隔较近的样值间的相关性比相隔较远的大的多,而在频域上通常呈带状。为了分析和表示这样的信号,我们需要基函数在空间域和频域是局域性的。由于离散余弦函数的频域分辨率与时域分辨率成反比,刚好与实际信号长时低频、短时高频的特性相吻合,既能精确定位信号的突发跳变,又能把握信号的整体变化率。由此可见,离散余弦变换是一种比较理想的进行信号处理的数学工具。
图像压缩编码的理论算法。
基于DCT的JPEG图像压缩编码理论算法,基于DCT编码的JPEG编码压缩过程框图,如图所示
基于DCT编码的图像压缩过程简化图
上图是基于DCT变换的图像压缩编码的压缩过程,解压缩与上图的过程相反。
在编码过程中,首先将输入图像颜色空间转换后分解为8*8大小的数据块,然后用正向二维DCT把每个块转变成64个DCT系数值,其中1个数值是直流(DC)系数,即8*8空域图像子块的平均值,其余的63个是交流(AC)系数,接下来对DCT系数进行量化,最后将变换得到的量化的DCT系数进行编码和传送,这样就完成了图像的压缩过程。
在解码过程中,形成 ……(未完,全文共29112字,当前仅显示5236字,请阅读下面提示信息。
收藏《毕业论文:数字图像处理系统设计-KLT\DCT变换压缩》)