基于matlab的jpeg基本系统编码--学位论文.doc
《基于matlab的jpeg基本系统编码--学位论文.doc》由会员分享,可在线阅读,更多相关《基于matlab的jpeg基本系统编码--学位论文.doc(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘 要本文介绍了基于MATLAB的JPEG基本系统编码。在图像传送过程中,经常采用JPEG格式对静止图像进行压缩编码。JPEG基本系统编码首先把灰度图像分成88的像素块,然后对各个像素块进行离散余弦变换得到变换系数后再进行量化。其次,对量化后的变换系数采用Z形扫描,得到直流系数和交流系数。接着,对直流系数采用预测编码,对交流系数采用可变长编码。最后,根据标准的Huffman编码进行熵编码,输出压缩图像的比特序列,从而实现图像压缩。在接收端,经过Huffman解码、直流系数和交流系数可变长解码以及反量化后,再进行离散余弦逆变换后得到重建图像。MATLAB仿真结果表明:重建图像与原始图像几乎没有任
2、何差异,能够满足人们的视觉需求。另外,数据压缩比在10倍左右且峰值信噪比均在30dB以上。因此,采用MATLAB实现JPEG基本系统编码具有方法简单、速度快、误差小等优点,能够大大提高图像压缩的效率和精度。关键词:JPEG;离散余弦变换; MATLAB;图形用户界面AbstractABSTRACTThe JPEG basic system coding based on MATLAB is introduced in this paper. The JPEG format is usually used to compress static image during the process o
3、f image transmission.The JPEG basic system coding divides the gray image into several sub-images of size 88 firstly. Discrete cosine transform is used to get the transform coefficient of sub-image and then the transform coefficient is quantized. Secondly, Z type scan is adopted to get direct current
4、 (DC) coefficient and alternate current (AC) coefficient of the quantized transform coefficient. Thirdly, predictive coding and variable-length coding is used for DC and AC coefficient respectively. Finally, bit sequences of the compressed image are outputted by using entropy coding according to sta
5、ndard Huffman coding. Then image compression is realized. The user gets the reconstructed image by Huffman decoding, variable-length decoding of DC and AC coefficient, dequantization and reverse discrete cosine transform sequentially.MATLAB results of simulation demonstrate that there is no differen
6、ce between reconstructed image and original image and reconstructed image can satisfy human visual requirements. Additionally, compression ratio is about 10 and peak signal-to-noise ratio is all over than 30dB. Therefore, the realization of JPEG basic system coding using MATLAB is of such advantages
7、 as simple method, fast speed, small error and it can enhance the efficiency and accuracy of image compression greatly. Key words: JPEG; discrete cosine transform; MATLAB; graphical user interface目录目 录第1章 绪 论11.1 图像变换编码概述及目前状况11.2 论文结构2第2章 MATLAB简介32.1 MATLAB的发展简史32.2 MATLAB的特点32.2.1 MATLAB的功能32.2.2
8、 MATLAB的技术特点42.3 MATLAB图像类型52.4 GUI5第3章 变换编码73.1 变换编码的一般形式与意义73.2 基本原理73.2.1 正交变换的去相关性83.2.2 变换编码性能判断93.2.3 变换编码的特点113.3 最佳正交变换K-L变换11第4章 JPEG图像压缩134.1 JPEG概述134.2 JPEG图像编码算法的实现144.2.1离散余弦编码144.2.2 量化154.2.3编码164.2.4 JPEG图像数据压缩发展19第5章 MATLAB仿真215.1 系统模块图215.2 JPEG压缩编码的设计流程215.2.1 扫描顺序变换225.2.2 量化部分程
9、序流程图225.2.3 霍夫曼编码部分程序流程图225.3 图形用户界面设计25第6章 结论与展望296.1 结论296.2 不足之处及未来展望29参考文献31致 谢32附 录331基于MATLAB的JPEG基本系统编码第1章 绪 论1.1 图像变换编码概述及目前状况现实世界中的图像多为模拟图像,但是计算机只能处理数字信息,因此,必须将其数字化,转换成适合计算机存储和表示的形式,才能由计算机进行处理。为了便于信息交换和方便使用,数字图像必须以一定的格式存储,如常用的BMP、JPEG、GIF等图像文件格式。从颜色来看,数字图像又有线画稿、灰度图像、彩色图像、真彩色图像等种类。随着信息技术的发展,
10、对静止图像和视频序列图像的压缩编码技术的应用越来越广泛,从家庭娱乐到专业的通信设备、从廉价的消费电子产品到昂贵的专业级专用设备,应用的例子举不胜举,如VCD、DVD、可视电话、视频会议、IP上的视频服务、数字图书馆、数字电视、高清晰电视、数码照相机、数字图像监控等因此工业界对图像压缩专业人员的需求在不断地增长。长期以来,人们在自然界感受到的最主要的信息是视觉信息,但与此不同,在早期计算机和通信领域,能够处理和传输的主要是文字和声音。因此,早期的计算机和通信设备的处理能力跟人类的需求有相当大的差距。随着通信信道及计算机容量和速度的提高,图像信息已经成为通信和计算机系统的一种重要的处理对象。与文字
11、信息不同,图像信息需要大的存储容量和宽的传输信道,尤其是在需要实现大规模图像数据库或传输高分辨率实时图像序列的场合,即使以现在的技术,仍然难以满足原始数字图像存储和传输的需要(表1.1是几种常见视频图像源未经压缩的原始数据率)。正由于这种需求,使得图像压缩(编码)算法和技术成为近30年来非常活跃的一个研究领域。图像压缩的基本理论起源于20世纪40年代末香农(Shannon)的信息理论。香农的编码定理告诉我们,在不产生任何失真的前提下,通过合理的编码,对每一个信源符合分配不等长的码字,平均码长可以任意接近于信源的熵。在这个理论框架下,出现了几种不同的无失真信源编码方法,如Huffman编码、算术
12、编码、字典编码等,这些方法可以应用于一幅数字图像,能获得一定的码率压缩。但无失真编码的压缩率是很有限的,对较复杂的自然图像,压缩率一般不超过2。由于无失真信源编码压缩率的限制,使其难以满足大多数图像存储和传输的需要。根据应用的需求,人们对有失真压缩进行了广泛的研究。有失真压缩的目的是去除图像数据中的冗余信息和对视觉不重要的细节分量,以尽可能少的码字来表示所处理的图像。给定一幅数字图像,它的原始表示一般是空间像素阵列,这是它的空间域表示。在空间域表示中,相邻的像素之间存在很强的相关性,冗余信息分布在较大范围的空间像素集中,直接处理比较困难。最常用的处理方法是通过一种变换,将图像从空间域映射到变换
13、域中,在变换域可以进行简捷和有效的处理。对于变换的第一种要求是:将强相关的空间像素阵映射成完全不相关的、能量分布紧凑的变换系数阵,占少数的大的变换系数代表了图像中最主要的能量成分,占多数的小的变换系数表示了一些不重要的细节分量,通过量化去除小系数所代表的细节分量,用很少的码字来描述大系数所代表的主要能量成分,从而达到高的压缩比。这是用变换技术进行有失真编码能够达到高压缩比的主要原因。对于变换的第二种要求是:变换系数阵的物理含义要明确,使其容易与人们关于HVS(人类视觉系统)的知识相结合,以便有效地去除视觉冗余,尽可能地保留重要的视觉信息。具备最理想的去相关和最强的能量紧致特性的变换是KL(Ka
14、rhunen Loeve)变换,KL变换使得变换系数之间是统计不相关的。但KL变换的基是不固定的,由像素的相关系数矩阵的特征向量构成,特征分析的复杂性和需要额外存储变换基,使得KL变换的应用不现实。幸运的是,人们找到了KL变换的一个很好的逼近。对于强相关空间像素阵,人们发现DCT(discrete cosine transform,离散余弦变换)是KL变换的很好的逼近。DCT有固定的基和明确的物理含义,使得DCT广泛应用于图像压缩,成了变换编码的主要工具。20世纪80年代中期开始制定的静止图像压缩编码的国际标准JPEG采用了DCT变换编码为其核心算法,并被广泛地接受和应用。但是DCT变换编码也
15、有难以克服的缺点。在实际应用中,为了便于实现和后处理,图像被划分成88或1616的小块,对每一个块进行单独的变换和后处理。这种块之间的单独处理带来了压缩效率上的限制和块效应问题,尤其是当压缩倍数较高时,块效应成为限制DCT变换编码质量的主要因素。20世纪80年代后期,小波变换的发展提供了一种新的有效的多分辨信号处理工具,也为各种可分级图像编码算法的实现奠定了基础。小波变换应用在很多领域,最成功的应用领域之一就是图像压缩。小波变换的理论和算法明确地提出了一些有启发意义的思想,一个关键的思想是多分辨率分解,这个思想很好地利用在小波图像编码的研究中。小波图像压缩的研究表明,现代应用所需求的许多特征如
16、多分辨、多层质量控制、嵌入式码流等与小波图像编码结构非常自然地融合在一起,在较大压缩比下,小波图像压缩的重构质量也明显好于DCT变换方法1。1.2 论文结构第1章主要介绍了图像变换编码及其目前状况;第2章简单阐述了MATLAB的相关内容,其中包括它的发展史、特点、功能、图像类型、图像用户界面等方面;第3章则讨论了静止图像的变换编码,这是传统变换方法的主要内容,也是构成目前多数图像编码标准的基础算法;第4章主要给出了一些JPEG图像压缩的标准,以及具体的JPEG图像编码算法的实现过程;第5章则用MATLAB对图像编码进行仿真,并用图形用户界面的形式呈现处理结果;第6章对基于MATLAB的JPEG
17、基本系统编码进行总结,并对其应用进行展望。实验仿真结果表明,用MATLAB 来实现离散余弦变换的图像压缩,具有方法简单、速度快、误差小的优点,免去了大量矩阵计算,大大提高了图像压缩的效率和精度。第2章 MATLAB简介 MATLAB语言是由美国Math Works 公司推出的计算机软件,经过多年的逐步发展与不断完善,现已成为国际公认的最优秀的科学计算与数学应用软件之一。其内容涉及矩阵代数、微积分、应用数学、有限元法、科学技术、信号与系统、神经网络、小波分析及其应用、数字图像处理、计算机图形学、电子线路、电机学、自动控制与通信技术、物理、力学和机械振动等方面。MATLAB的特点是语法结构简单,数
18、值计算高效,图形功能完备,特别受以完成数据处理与图像生成为目的的科研人员的青睐。在高等院校,MATLAB已经成为学生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB已经走出实验室,并被广泛应用于研究和解决各种具体的工程问题2。2.1 MATLAB的发展简史 MATLAB是Matrix Laboratory(矩阵实验室的缩写),最初由美国Cleve Moler博士在70年代末讲授矩阵理论和数据分析等课程时编写的软件包Linpack与Eispack组成,旨在使应用人员免去大量经常重复的矩阵运算和基本数学运算等繁琐的编程工作。1984年成立的Math Works 公司正式把MATLAB推向
19、市场,并从事MATLAB的研究和开发。1990年,该公司推出了以框图为基础的控制系统仿真工具Simulink,它方便了系统的研究与开发,使控制工程师可以直接构造系统框图进行仿真,并提供了控制系统中常用的各种环节的模块库。1993年,Math Works公司推出的MATLAB4.0版在原来的基础上又作了较大改进,并推出了Windows版,使命令执行和图形绘制可以在不同窗口进行。1994年推出了MATLAB4.2版本,并得到广泛的重视和应用。1999年,推出了MATLAB5.3版本,真正实现了32位运算,其速度更快、功能更完善、界面更友好,并提供了Internet搜索引擎,可以协助用户寻求在线帮助
20、。版本6.0、6.1又作了更精细的改进,增加了许多新的功能。版本7.0、7.1包括拥有数百个内部函数的主包和三十几种工具包。工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。2.2 MATLAB的特点2.2.1 MATLAB的功能 MATLAB之所以成为世界流行的科学计算与数学应用软件,是因为它有着强大的功能。(1) 高质量、强大的数值计算功能。为满足复杂科学计算任务的需要,MATLAB汇集了大量常用的科学和工程计算算法,如矩阵求逆、
21、矩阵特征值以及快速傅立叶变换等。(2) 数据分析和科学计算可视化功能。MATLAB不但科学计算功能强大,而且在数值计算结果的分析和数据可视化方面也远远优于其他同类软件。在科学计算和工程应用中,经常需要分析大量的原始数据和数值计算结果,MATLAB能将这些数据以图形的方式显示出来,使数据间的关系清晰明了。(3) 强大的符号计算功能。在MATLAB的发展过程中,Math Works 公司以Maple的核心部分作为其符号计算功能的引擎,依靠Maple已有的库函数,实现了MATLAB环境下符号的计算功能。(4) 强大的非线性动态系统建模和仿真功能。MATLAB提供了一个模拟动态系统的交互式程序Simu
22、link,允许用户通过绘制框图来模拟一个系统,并动态地控制该系统。(5) 灵活的程序接口功能。应用程序接口(API)是一个允许用户编写的与MATLAB互相配合的C.或Fortran程序的文件库。用户可以在MATLAB环境下直接调用已经编译过的C和Fortran子程序,同样,在C和Fortran程序中也可以调用MATLAB的函数或命令,使得这些语言可以充分利用MATLAB的矩阵运算功能和方便的绘图功能。(6) 文字处理功能。MATLAB记事本成功地将MATLAB与文字处理系统Microsoft Word集成为一个整体,为用户进行文字处理、科学计算、工程设计创造了一个统一的工作环境。2.2.2 M
23、ATLAB的技术特点 MATLAB还具有支持科学计算标准的开放式可扩充结构和跨平台兼容的特点,能够很好地解决科学和工程领域内的复杂问题。(1) 界面友好,编程效率高。MATLAB不仅免去了大量的经常重复的基本数学运算,而且其编译和执行速度都远远超过了采用C和Fortran语言设计的程序。(2) 功能强大,可扩展性强。MATLAB语言不但提供了科学计算、数据分析与可视化、系统仿真等强大的功能,而且还具有可扩展性特征。MATLAB支持用户对其函数进行二次开发,用户的应用程序可以作为新的函数添加到相应的工具箱中。(3) 图形功能灵活方便。MATLAB具有灵活的二维与三维绘图功能,在程序的运行过程中,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 matlab jpeg 基本 系统 编码 学位 论文
限制150内