基于MATLAB的JPEG基本系统编码Word格式文档下载.docx

上传人:聆听****声音 文档编号:954238 上传时间:2023-04-29 格式:DOCX 页数:48 大小:347.89KB
下载 相关 举报
基于MATLAB的JPEG基本系统编码Word格式文档下载.docx_第1页
第1页 / 共48页
基于MATLAB的JPEG基本系统编码Word格式文档下载.docx_第2页
第2页 / 共48页
基于MATLAB的JPEG基本系统编码Word格式文档下载.docx_第3页
第3页 / 共48页
基于MATLAB的JPEG基本系统编码Word格式文档下载.docx_第4页
第4页 / 共48页
基于MATLAB的JPEG基本系统编码Word格式文档下载.docx_第5页
第5页 / 共48页
基于MATLAB的JPEG基本系统编码Word格式文档下载.docx_第6页
第6页 / 共48页
基于MATLAB的JPEG基本系统编码Word格式文档下载.docx_第7页
第7页 / 共48页
基于MATLAB的JPEG基本系统编码Word格式文档下载.docx_第8页
第8页 / 共48页
基于MATLAB的JPEG基本系统编码Word格式文档下载.docx_第9页
第9页 / 共48页
基于MATLAB的JPEG基本系统编码Word格式文档下载.docx_第10页
第10页 / 共48页
基于MATLAB的JPEG基本系统编码Word格式文档下载.docx_第11页
第11页 / 共48页
基于MATLAB的JPEG基本系统编码Word格式文档下载.docx_第12页
第12页 / 共48页
基于MATLAB的JPEG基本系统编码Word格式文档下载.docx_第13页
第13页 / 共48页
基于MATLAB的JPEG基本系统编码Word格式文档下载.docx_第14页
第14页 / 共48页
基于MATLAB的JPEG基本系统编码Word格式文档下载.docx_第15页
第15页 / 共48页
基于MATLAB的JPEG基本系统编码Word格式文档下载.docx_第16页
第16页 / 共48页
基于MATLAB的JPEG基本系统编码Word格式文档下载.docx_第17页
第17页 / 共48页
基于MATLAB的JPEG基本系统编码Word格式文档下载.docx_第18页
第18页 / 共48页
基于MATLAB的JPEG基本系统编码Word格式文档下载.docx_第19页
第19页 / 共48页
基于MATLAB的JPEG基本系统编码Word格式文档下载.docx_第20页
第20页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于MATLAB的JPEG基本系统编码Word格式文档下载.docx

《基于MATLAB的JPEG基本系统编码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的JPEG基本系统编码Word格式文档下载.docx(48页珍藏版)》请在冰点文库上搜索。

基于MATLAB的JPEG基本系统编码Word格式文档下载.docx

TheJPEGbasicsystemcodingdividesthegrayimageintoseveralsub-imagesofsize8×

8firstly.Discretecosinetransformisusedtogetthetransformcoefficientofsub-imageandthenthetransformcoefficientisquantized.Secondly,Ztypescanisadoptedtogetdirectcurrent(DC)coefficientandalternatecurrent(AC)coefficientofthequantizedtransformcoefficient.Thirdly,predictivecodingandvariable-lengthcodingisusedforDCandACcoefficientrespectively.Finally,bitsequencesofthecompressedimageareoutputtedbyusingentropycodingaccordingtostandardHuffmancoding.Thenimagecompressionisrealized.TheusergetsthereconstructedimagebyHuffmandecoding,variable-lengthdecodingofDCandACcoefficient,dequantizationandreversediscretecosinetransformsequentially.

MATLABresultsofsimulationdemonstratethatthereisnodifferencebetweenreconstructedimageandoriginalimageandreconstructedimagecansatisfyhumanvisualrequirements.Additionally,compressionratioisabout10andpeaksignal-to-noiseratioisalloverthan30dB.Therefore,therealizationofJPEGbasicsystemcodingusingMATLABisofsuchadvantagesassimplemethod,fastspeed,smallerroranditcanenhancetheefficiencyandaccuracyofimagecompressiongreatly.

Keywords:

JPEG;

discretecosinetransform;

MATLAB;

graphicaluserinterface

目 录

第1章绪 论 1

1.1图像变换编码概述及目前状况 1

1.2论文结构 2

第2章MATLAB简介 3

2.1MATLAB的发展简史 3

2.2MATLAB的特点 3

2.2.1MATLAB的功能 3

2.2.2MATLAB的技术特点 4

2.3MATLAB图像类型 5

2.4GUI 5

第3章变换编码 7

3.1变换编码的一般形式与意义 7

3.2基本原理 7

3.2.1正交变换的去相关性 8

3.2.2变换编码性能判断 9

3.2.3变换编码的特点 11

3.3最佳正交变换——K-L变换 11

第4章JPEG图像压缩 13

4.1JPEG概述 13

4.2JPEG图像编码算法的实现 14

4.2.1离散余弦编码 14

4.2.2量化 15

4.2.3编码 16

4.2.4JPEG图像数据压缩发展 19

第5章MATLAB仿真 21

5.1系统模块图 21

5.2JPEG压缩编码的设计流程 21

5.2.1扫描顺序变换 22

5.2.2量化部分程序流程图 22

5.2.3霍夫曼编码部分程序流程图 22

5.3图形用户界面设计 25

第6章 结论与展望 29

6.1结论 29

6.2不足之处及未来展望 29

参考文献 31

致 谢 32

附 录 33

第1章绪 论

1.1图像变换编码概述及目前状况

现实世界中的图像多为模拟图像,但是计算机只能处理数字信息,因此,必须将其数字化,转换成适合计算机存储和表示的形式,才能由计算机进行处理。

为了便于信息交换和方便使用,数字图像必须以一定的格式存储,如常用的BMP、JPEG、GIF等图像文件格式。

从颜色来看,数字图像又有线画稿、灰度图像、彩色图像、真彩色图像等种类。

随着信息技术的发展,对静止图像和视频序列图像的压缩编码技术的应用越来越广泛,从家庭娱乐到专业的通信设备、从廉价的消费电子产品到昂贵的专业级专用设备,应用的例子举不胜举,如VCD、DVD、可视电话、视频会议、IP上的视频服务、数字图书馆、数字电视、高清晰电视、数码照相机、数字图像监控等因此工业界对图像压缩专业人员的需求在不断地增长。

长期以来,人们在自然界感受到的最主要的信息是视觉信息,但与此不同,在早期计算机和通信领域,能够处理和传输的主要是文字和声音。

因此,早期的计算机和通信设备的处理能力跟人类的需求有相当大的差距。

随着通信信道及计算机容量和速度的提高,图像信息已经成为通信和计算机系统的一种重要的处理对象。

与文字信息不同,图像信息需要大的存储容量和宽的传输信道,尤其是在需要实现大规模图像数据库或传输高分辨率实时图像序列的场合,即使以现在的技术,仍然难以满足原始数字图像存储和传输的需要(表1.1是几种常见视频图像源未经压缩的原始数据率)。

正由于这种需求,使得图像压缩(编码)算法和技术成为近30年来非常活跃的一个研究领域。

图像压缩的基本理论起源于20世纪40年代末香农(Shannon)的信息理论。

香农的编码定理告诉我们,在不产生任何失真的前提下,通过合理的编码,对每一个信源符合分配不等长的码字,平均码长可以任意接近于信源的熵。

在这个理论框架下,出现了几种不同的无失真信源编码方法,如Huffman编码、算术编码、字典编码等,这些方法可以应用于一幅数字图像,能获得一定的码率压缩。

但无失真编码的压缩率是很有限的,对较复杂的自然图像,压缩率一般不超过2。

由于无失真信源编码压缩率的限制,使其难以满足大多数图像存储和传输的需要。

根据应用的需求,人们对有失真压缩进行了广泛的研究。

有失真压缩的目的是去除图像数据中的冗余信息和对视觉不重要的细节分量,以尽可能少的码字来表示所处理的图像。

给定一幅数字图像,它的原始表示一般是空间像素阵列,这是它的空间域表示。

在空间域表示中,相邻的像素之间存在很强的相关性,冗余信息分布在较大范围的空间像素集中,直接处理比较困难。

最常用的处理方法是通过一种变换,将图像从空间域映射到变

换域中,在变换域可以进行简捷和有效的处理。

对于变换的第一种要求是:

将强相关的空间像素阵映射成完全不相关的、能量分布紧凑的变换系数阵,占少数的大的变换系数代表了图像中最主要的能量成分,占多数的小的变换系数表示了一些不重要的细节分量,通过量化去除小系数所代表的细节分量,用很少的码字来描述大系数所代表的主要能量成分,从而达到高的压缩比。

这是用变换技术进行有失真编码能够达到高压缩比的主要原因。

对于变换的第二种要求是:

变换系数阵的物理含义要明确,使其容易与人们关于

HVS(人类视觉系统)的知识相结合,以便有效地去除视觉冗余,尽可能地保留重要的视觉信息。

具备最理想的去相关和最强的能量紧致特性的变换是KL(KarhunenLoeve)变换,KL变换使得变换系数之间是统计不相关的。

但KL变换的基是不固定的,由像素的相关系数矩阵的特征向量构成,特征分析的复杂性和需要额外存储变换基,使得KL变换的应用不现实。

幸运的是,人们找到了KL变换的一个很好的逼近。

对于强相关空间像素阵,人们发现DCT(discretecosinetransform,离散余弦变换)是KL变换的很好的逼近。

DCT有固定的基和明确的物理含义,使得DCT广泛应用于图像压缩,成了变换编码的主要工具。

20世纪80年代中期开始制定的静止图像压缩编码的国际标准JPEG采用了DCT变换编码为其核心算法,并被广泛地接受和应用。

但是DCT变换编码也有难以克服的缺点。

在实际应用中,为了便于实现和后处理,图像被划分成8×

8或16×

16的小块,对每一个块进行单独的变换和后处理。

这种块之间的单独处理带来了压缩效率上的限制和块效应

问题,尤其是当压缩倍数较高时,块效应成为限制DCT变换编码质量的主要因素。

20世纪80年代后期,小波变换的发展提供了一种新的有效的多分辨信号处理工具,也为各种可分级图像编码算法的实现奠定了基础。

小波变换应用在很多领域,最成功的应用领域之一就是图像压缩。

小波变换的理论和算法明确地提出了一些有启发意义的思想,一个关键的思想是多分辨率分解,这个思想很好地利用在小波图像编码的研究中。

小波图像压缩的研究表明,现代应用所需求的许多特征如多分辨、多层质量控制、嵌入式码流等与小波图像编码结构非常自然地融合在一起,在较大压缩比下,小波图像压缩的重构质量也明显好于DCT变换方法[1]。

1.2论文结构

第1章主要介绍了图像变换编码及其目前状况;

第2章简单阐述了MATLAB的相关内容,其中包括它的发展史、特点、功能、图像类型、图像用户界面等方面;

第3章则讨论了静止图像的变换编码,这是传统变换方法的主要内容,也是构成目前多数图像编码标准的基础算法;

第4章主要给出了一些JPEG图像压缩的标准,以及具体的JPEG图像编码算法的实现过程;

第5章则用MATLAB对图像编码进行仿真,并用图形用户界面的形式呈现处理结果;

第6章对基于MATLAB的JPEG基本系统编码进行总结,并对其应用进行展望。

实验仿真结果表明,用MATLAB来实现离散余弦变换的图像压缩,具有方法简单、

速度快、误差小的优点,免去了大量矩阵计算,大大提高了图像压缩的效率和精度。

第2章MATLAB简介

MATLAB语言是由美国MathWorks 公司推出的计算机软件,经过多年的逐步发展与不断完善,现已成为国际公认的最优秀的科学计算与数学应用软件之一。

其内容涉及矩阵代数、微积分、应用数学、有限元法、科学技术、信号与系统、神经网络、小波分析及其应用、数字图像处理、计算机图形学、电子线路、电机学、自动控制与通信技术、物理、力学和机械振动等方面。

MATLAB的特点是语法结构简单,数值计算高效,图形功能完备,特别受以完成数据处理与图像生成为目的的科研人员的青睐。

在高等院校,

MATLAB已经成为学生必须掌握的基本技能。

在设计研究单位和工业部门,MATLAB已经走出实验室,并被广泛应用于研究和解决各种具体的工程问题[2]。

2.1MATLAB的发展简史

MATLAB是MatrixLaboratory(矩阵实验室的缩写),最初由美国CleveMoler博士在

70年代末讲授矩阵理论和数据分析等课程时编写的软件包Linpack与Eispack组成,旨在使应用人员免去大量经常重复的矩阵运算和基本数学运算等繁琐的编程工作。

1984年成立的Math Works 公司正式把MATLAB推向市场,并从事MATLAB的研究和开发。

1990年,该公司推出了以框图为基础的控制系统仿真工具Simulink,它方便了系统的研究与开发,使控制工程师可以直接构造系统框图进行仿真,并提供了控制系统中常用的各种环节的模块库。

1993年,MathWorks公司推出的MATLAB4.0版在原来的基础上又作了较大改进,并推出了Windows版,使命令执行和图形绘制可以在不同窗口进行。

1994年推出了MATLAB4.2版本,并得到广泛的重视和应用。

1999年,推出了

MATLAB5.3版本,真正实现了32位运算,其速度更快、功能更完善、界面更友好,并提供了Internet搜索引擎,可以协助用户寻求在线帮助。

版本6.0、6.1又作了更精细的改进,增加了许多新的功能。

版本7.0、7.1包括拥有数百个内部函数的主包和三十几种工具包。

工具包又可以分为功能性工具包和学科工具包。

功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。

学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。

2.2MATLAB的特点

2.2.1MATLAB的功能

MATLAB之所以成为世界流行的科学计算与数学应用软件,是因为它有着强大的功能。

(1)高质量、强大的数值计算功能。

为满足复杂科学计算任务的需要,MATLAB汇集了大量常用的科学和工程计算算法,如矩阵求逆、矩阵特征值以及快速傅立叶变换等。

(2)数据分析和科学计算可视化功能。

MATLAB不但科学计算功能强大,而且在数值计算结果的分析和数据可视化方面也远远优于其他同类软件。

在科学计算和工程应用中,经常需要分析大量的原始数据和数值计算结果,MATLAB能将这些数据以图形的方式显示出来,使数据间的关系清晰明了。

(3)强大的符号计算功能。

在MATLAB的发展过程中,MathWorks公司以Maple的核心部分作为其符号计算功能的引擎,依靠Maple已有的库函数,实现了MATLAB环境下符号的计算功能。

(4)强大的非线性动态系统建模和仿真功能。

MATLAB提供了一个模拟动态系统的交互式程序Simulink,允许用户通过绘制框图来模拟一个系统,并动态地控制该系统。

(5)灵活的程序接口功能。

应用程序接口(API)是一个允许用户编写的与MATLAB互相配合的C.或Fortran程序的文件库。

用户可以在MATLAB环境下直接调用已经编译过

的C和Fortran子程序,同样,在C和Fortran程序中也可以调用MATLAB的函数或命令,使得这些语言可以充分利用MATLAB的矩阵运算功能和方便的绘图功能。

(6)文字处理功能。

MATLAB记事本成功地将MATLAB与文字处理系统Microsoft

Word集成为一个整体,为用户进行文字处理、科学计算、工程设计创造了一个统一的工作环境。

2.2.2MATLAB的技术特点

MATLAB还具有支持科学计算标准的开放式可扩充结构和跨平台兼容的特点,能够很好地解决科学和工程领域内的复杂问题。

(1) 界面友好,编程效率高。

MATLAB不仅免去了大量的经常重复的基本数学运算,而且其编译和执行速度都远远超过了采用C和Fortran语言设计的程序。

(2) 功能强大,可扩展性强。

MATLAB语言不但提供了科学计算、数据分析与可视化、系统仿真等强大的功能,而且还具有可扩展性特征。

MATLAB支持用户对其函数进行二次开发,用户的应用程序可以作为新的函数添加到相应的工具箱中。

(3) 图形功能灵活方便。

MATLAB具有灵活的二维与三维绘图功能,在程序的运行过程中,可方便迅速地用图形、图像、声音、动画等多媒体技术直接表述数值计算结果,可以选择不同的坐标系,可以设置颜色、线型等,还可以将图形嵌入到用户的Word文件中。

(4) 在线帮助,有利于自学。

用户可借助MATLAB环境下的“在线帮助”学习各种函数的用法。

总之,MATLAB语言已经成为科学计算、系统仿真、信号与图像处理的主流软件。

2.3MATLAB图像类型

图像类型是指数组数值与像素颜色之间定义的关系。

MATLAB图像处理工具箱支持五种类型的图像:

(1)二进制图像。

在一幅二进制图像中,每一个像素将取两个离散数值(0或1)中的一个,从本质上说,这两个数值分别代表状态“开”(on)或“关”(off)。

(2)索引图像。

索引图像是一种把像素值直接作为RGB调色板下标的图像。

(3)灰度图像。

灰度图像是包含灰度级(亮度)的图像。

在MATLAB中,灰度图像由一个uint8、uint16或一个双精度类型的数组来描述。

(4)多帧图像。

多帧图像也称为多页图像,是一种包含多幅图像或帧的图像文件。

MATLAB内存中,多帧图像是一个四维数组,第四维用来指定帧的序号。

多帧图像主要用于需要对时间或场景上相关图像集合进行操作的场合,例如,磁谐振图像切片或电影帧等。

(5)RGB图像。

RGB图像也称为真彩图像,其每一个像素由三个数值来指定红、绿和蓝色分量。

2.4GUI

传统的用户界面是指用户与计算机之间进行交互通信联系的平台。

但在近几年,这种概念发生了巨大的变化,出现了多种形式的人机交互方式,从命令的交互方式转变到以图形界面为主的交互形式。

现在,图形界面已在人机交互方式中占主导地位。

图形用户界面(GUI)是包含图形对象(如窗口、图标、菜单和文本)的用户界面。

以某种方式选择或激活这些对象,通常会引起动作或发生变化,最常见的激活方法是用鼠标或其他动作。

MATLAB也提供了在MATLAB应用程序中加入GUI的功能。

GUI的目前现状为:

(1)就用户界面的具体形式而言,过去经历了批处理、联机终端(命令接口)、(文本)菜单等多通道—多媒体用户界面和虚拟现实系统。

(2)就用户界面中信息载体类型而言,经历了以文本为主的字符用户界面(GUI)、以二维图形为主的用户界面(GUI)和多媒体用户界面,计算机与用户之间的通信带宽不断提高。

(3)就计算机输出信息的形式而言,经历了以符号为主的字符命令语言、以视觉感知为主的图形用户界面、兼顾听觉感知的多媒体用户界面和综合运用多种感观(包括触觉等)的虚拟现实系统。

(4)就人机界面中的信息维度而言,经历了一维信息(主要指文本流,如早期电传式终端)、二维信息(主要是二维图形技术,利用了色彩、形状、纹理等维度信息)、三维信息(主要是三维图形技术,但显示技术仍利用二维平面为主)和多维信息(多通道的多维信息)空间。

不论从何种角度看,人机交互发展的趋势体现了对人的因素的不断重现,使人机交互更接近于大自然的形式,使用户能利用日常的自然技能,不需经过特别的努力和学习,认知负荷降低,工作效率提高。

MATLAB的用户,在指令窗中打开图形界面后,只要用鼠标进行选择和点击,就可浏览那丰富多彩的内容。

由此可见, 使用GUI给大家带来了许多方便。

第3章变换编码

变换编码是目前应用最广泛的图像压缩编码方法,几乎所有的图像(除2值图像外)和视频压缩标准均以变换编码为工具。

近年所发展的一些技术,如区域或物体编码方法也以变换编码为基础。

变换编码在压缩比、重构图像质量、适应范围和算法复杂性等方面能获得好的折衷,在实际中得到了广泛应用[3]。

3.1变换编码的一般形式与意义

信源编码实质是一种变换,变换就是将像素信息重组为更紧凑的形式,并产生一系列表示像素值的数字信号,并能在信道中更有效地传送。

在变换编码中,用一组代表空间频率分布的变换系数表示一组空间几何位置像素值,通过这种映射能够巧妙地解除或减弱图像信号的相关性(原始图像的帧与帧、场与场、行与行之间存在很强的相关性)。

显然,如果变换系数选择得恰当,所得变换系数之间的相关性要明显小于原始像素之间的相关性,从而达到降低冗余度的目的。

再根据人眼对图像高频成分不如对低频成分敏感的特点,对各个变换系数进行符合主观视觉特性的加权处理,而后量化,就可以获得大幅度的数据压缩。

事实上变换编码都能实现信源编码的解相关性即压缩,换言之,变换并非一定要正交变换。

正交变换在硬件技术中较为容易实现,这是由(矩阵)电路对称性决定的。

变换编码不是直接对空间图像信号编码,而是首先将空间域图像信号映射变换到另一个正交矢量空间即变换域,将图像像素转变成一组非相关系数,然后对这些系数进行量化和编码。

可以证明,基于块的变换编码对静止图像和视频帧是一种非常有效的压缩编码方法。

为了充分利用像素之间的空间相关性,理想的变换块尺寸应该是整幅图像或视频帧大小,但其计算量却是十分惊人的。

为减少计算复杂度,在实际应用上一般都采用基于一定尺寸块的变换编码,即把整幅图像分成许多不重叠的块,对每个块进行变换编码。

在静止图像和视频编码的许多国际标准采样基于16×

16、8×

8、4×

4的DCT变换编码方法。

变换编码技术上比较成熟,理论也比较完整,广泛应用到各种静止图像数据压缩,以及运动图像的帧内压缩,帧间预测误差信号的压缩编码。

正交变换的种类很多,如傅里叶变换(FourierTransform)、离散余弦变换(DCT)、沃尔什变换(WalshTransform)、哈尔变换(Haar Transform)、斜变换(Slant Transform)、离散正弦变换(DST)、K-L变换(KarhunenTransform)、小波变换(WaveletTransform)等。

3.2基本原理

变换编码的通用模型如图3.1所示。

其中映射变换是把原始信号中的各个样值从一个

域变换到另一个域,然后针对变换后的数据再进行量化(二次量化)与编码操作。

接收端首先对接收到的进行解码和反量化(Dequantization),然后再进行反变换以恢复原来信号(在一定的保真度下)。

映射变换的关键在于能产生一系列更有效的系数,对这些系数进行编码所需的总比特

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2