基于DCT的图像压缩编码算法及其MATLAB实现【毕业论文+文献综述+开题报告】

基于DCT的图像压缩编码算法及其MATLAB实现【毕业论文+文献综述+开题报告】

ID:363649

大小:878.03 KB

页数:48页

时间:2017-07-28

上传者:U-944
基于DCT的图像压缩编码算法及其MATLAB实现【毕业论文+文献综述+开题报告】_第1页
基于DCT的图像压缩编码算法及其MATLAB实现【毕业论文+文献综述+开题报告】_第2页
基于DCT的图像压缩编码算法及其MATLAB实现【毕业论文+文献综述+开题报告】_第3页
基于DCT的图像压缩编码算法及其MATLAB实现【毕业论文+文献综述+开题报告】_第4页
基于DCT的图像压缩编码算法及其MATLAB实现【毕业论文+文献综述+开题报告】_第5页
资源描述:

《基于DCT的图像压缩编码算法及其MATLAB实现【毕业论文+文献综述+开题报告】》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

(2011届)毕业设计题目:基于DCT的图像压缩编码算法及其MATLAB实现姓  名:         专  业:  电子信息工程   班  级:     学号:指导教师:     导师职称:            2011年5月20日 基于DCT的图像压缩编码算法及其MATLAB实现摘要在当今社会中随着信息技术的迅速发展,图像压缩技术扮演着越来越重要的角色,对其也有着更高的要求。基于此在众多图像压缩标准中选择了DCT离散余弦变换对该技术进行研究,在本次研究中主要介绍了JPEG压缩编码的实现过程及方法,并具体说明了DCT变换和量化等各项模块的方法、原理及在数学上的推导过程,分析这几项在图像压缩上的功能。接着用通过对各种软件的比较,选取了MATLAB进行仿真。图象经过不同的压缩之后,能够满足不同的场合不同的节制码率下要求不同的图象质量的实际需要。用MATLAB做仿真测试,要领简略并且偏差小,大大提高了图象压缩的效率和精度。实验结果表明基于DCT变换的JPEG图像压缩方法简单、方便,在确保拥有较高压缩比的同时又能确保有较高的图像质量,通过使用MATLAB所得出的仿真结果很好的反映了DCT的编码算法原理。关键词:JPEG图像压缩;DCT;MATLAB;图像处理工具箱I Dct-basedimagecompressionalgorithmandMATLABImplmentationAbstractIntoday'ssocietyalongwiththerapiddevelopmentofinformationtechnology,imagecompressiontechnologyplaysamoreandmoreimportantroleinits,alsohashigherrequirements.BasedonthisinmanyimagecompressionstandardchoseDCTdiscretecosinetransformofusingthetechnologyresearch,InthisstudymainlyintroducedtheJPEGcompressioncodingtherealizationandmethods,andspecifyingtheDCTtransformation,wavelettransformandquantitativemethodsofthemoduleinmathematics,theprincipleandthederivationprocess,analyzesthisseveralintheimagecompressionfunctioning.Thenusethroughvarioussoftwarecomparison,selectedtheMATLABsimulation.Imageafterdifferentcompressionafter,cansatisfythedifferentoccasionsdifferenttemperanceyardsratesrequiredifferentimagequalitypracticalneeds.MATLABdosimulationtest,bringingbriefanddeviationsmall,greatlyimprovingtheimagecompressionefficiencyandprecision.Experimentalresultsshowthatdct-basedtransformJPEGimagecompressionmethodissimpleandconvenient,ensureahighercompressionratioalsoensuresahigherimagequality,throughtheuseofMATLABsimulationresultsofgainsfromthewellreflecttheDCTencodingalgorithmprinciple.Keywords:JPEGimagecompression;DCT;MATLAB;ImageProcessingToolboxI 目录摘要IIIAbstractIV1绪论11.1图像压缩技术的背景11.1.1DCT变换11.1.2预测技术21.2图像压缩技术的发展及现状21.2.1图像编码技术发展历史21.2.2图像编码技术的现状31.3MATLAB及其图像处理工具箱31.4论文组织结构42图像压缩编码算法52.1DCT变换理论依据52.2JPEG编码算法62.3基于DCT的JPEG图像压缩编码步骤72.3.1颜色空间的转换和采样72.3.2二维离散余弦变换92.3.3量化的算法描述112.3.4量化矩阵的选择112.3.5量化系数的编排112.3.6DC系数的编码122.3.7AC系数的编码132.3.8组成位数据流142.4本章小结173基于DCT的图像压缩MATLAB仿真实现173.1数字图像文件的读写183.2程序流程图193.3DCT变换的编程实现203.4运行结果213.5实验结果分析243.6本章小结25结论26参考文献27致谢28I 附录29I 基于DCT的图像压缩编码算法及其MATLAB实现1绪论1.1图像压缩技术的背景目前,随着信息技术的高速发展,多媒体信息越来越多地出现在人们生活中,同时这也满足了人类对各种视觉信息需求的不断提高。文本、声音与图像是多媒体信息存在的3种最重要的形式。从信息技术的发展历史上(书信、电话到现在的电视和网络)我们能够得出,在信息传播的类型上慢慢地从声音转向了图像信息的传播,但是在以上的3种信息类型中,图像信息所占的资源是最大的,于是对图像的传输与储存提出了很高的要求,这已经成为了图像技术发展的一大难题。通过图像信息的数字化我们能够高质量地将图像信息进行传输,同时使图像的检索、分析、处理与存储得到了更大的便利。可是数字信息所占用的数据量非常庞大,这就要求对图像信息进行压缩。尽管使用了各种不同的方法对图像信息进行了压缩,但是它所占用的数据量还是非常大的,对各种硬件和传输方式还是有着很高的要求。所以快速的图像压缩编码技术在很多以图像信息作为基础的应用场合有着致关重要的作用。也因为图像压缩编码技术领域的迅猛发展,使得现代多媒体技术有了大幅度的提高。图像压缩技术在各个应用领域的使用,已经取得了可观的经济效益。[1]1.1.1DCT变换DCT离散余弦变换利用了傅立叶变换的性质。通过图像边界褶翻把像转变成偶函数的形式,接着对图像作二维傅立叶变换,变换之后只含有余弦项,因此将其称作离散余弦变换。[2]41 基于DCT的图像压缩编码算法及其MATLAB实现DCT的编码方式是正交变换编码中的一种,其作用是将图像中的空间冗余除去。变换编码技术的意义是将时域信号变换到频域信号上并对其作出处理。在空间里相互之间关联性很大的信号,在频域上的表现就是在一些特定的区域中的能量往往是集中在一块得,也有可能在系数矩阵的分布上有着特定的规律。由于以上的两个规律我们就可以将频域上的量化比特数降低,从而将图像数据压缩。把图像进行DCT变换之后,DCT系数彼此之间的关联性将会变小。同时大多数能量会汇聚在一小部分的系数上,所以,DCT变换在图像压缩中的作用相当大,在损图像压缩国际标准JPEG中有着核心的作用。对整幅图像作DCT变换在理论上虽然说是可行的,但其经过变换后所得到的结果并不理想,这是因为在图像的各个部分上有着不同丰富程度的细节。基于此,在发送端先要把输入图像分成8*8或16*16块,接着再将其中的各个图像块作二维DCT变换,继而再对DCT系数进行量化、编码和传输;在接收端则会解码已量化的DCT系数,同时把每一个图像块作二维DCT反变换。在整个过程的最后部分是把经过上述操作后的每个图像块组成在一起形成一个单一的图像。在大部分的图像中,其DCT的系数的值基本近似于0,因此在将图像进行重建时将这些系数的去除对图像的质量不会造成太大的影响。所以,对图像进行DCT变换是可以节约大量的存储空间。在具体的实验中,把输入的原始lena图像分为8*8块,然后再将每一个块作二维DCT变换。MATLAB图像处理工具箱中所提供的二维DCT变换以及DCT反变换函数如下。dct2实现图像的二维离散余弦变换。其语法格式为:(1)B=dct2(A)返回图像A的二维离散余弦变换值,其大小与A相等并且各元素为离散余弦变换的系数B(K1,k2)。(2)B=dct2(A,in,n)或B=dct2(A,[m,n])如果m和n比图像A大,在对图像进行二维离散余弦变换之前,先将图像A补零至m*n如果m和n比图像A小。则进行变换之前,将图像A剪切。idct2可以实现图像的二维离散余弦反变换,其语法格式为:B=idct2(A);B=idct2(A,m,n)或者B=idct2(A,[m,n])[3]。1.1.2预测技术预测技术是通过利用空间中邻近数据之间的相互关联性,并利用在过去和当前所出现的点的数据情况来预测未来带你的数据。一般所使用的方法是自适应差分脉冲编码调制(ADPCM)与差分脉冲编码调制(DPCM)[4]。1.2图像压缩技术的发展及现状1.2.1图像编码技术发展历史在20世纪40年代的电视信号数字化提出之后,图像压缩编码技术的大发展便开始了。在图像压缩技术研究的开始阶段,由于客观条件制约,只能研究帧内预测法及亚取样内查复原法,同时对视觉特性作出了一定程度的研究。在1966年J.B.ONeal将DPCM和PCM进行了比较同时得出了使用在电视上的实验数据。在1969年对线性预测编码做出了实际实验,同一年举行了第一次图像编码会议。70年代则开始了对帧间预测编码的研究工作。80年代则对运动估值与模型编码开始了研究[5]。到了90年代,ITU-T、ISO制定了一系列图像编码国际建议,例如:H.261、JPEG、MPEG-1、H.262、H.263、MPEG-4等。在1968年H.C.Andrews等人提出了变换编码,当时使用的是二维离散傅立叶变换,在此之后先后出现了包括二维离散余弦变换在内的许多另外的变换方法的变换编码[6]。41 基于DCT的图像压缩编码算法及其MATLAB实现1.2.2图像编码技术的现状通过这5、60年的发展,图像编码技术已经取得了长足的进步,同时许多国际建议的的制定大大地加快了图像编码技术的实现以及产业化,进而使图像编码技术的发展速度得到了提高。当前该技术的研究方向主要有以下这两个方面:(1)如何更好地实现图像编码国际建议。研制出高性能、高集成度的图像编码专用芯片,降低编码系统的成本并提高其可靠性。对于现有图像编码系统开发中技术问题的解决。例如:提高抗码能力与图像质量等。(2)对图像编码理论以及其他图像编码方式的研究。当前已被提出和正在研究的图像编码方法主要有以下几种:基于表面描述的编码、利用数学形态学的编码、利用人工神经网络的编码、模型编码、利用分形几何的编码、多分辨率编码等等[7]。1.3MATLAB及其图像处理工具箱如果使用高级语言(如Basic,C,Fortran)编写仿真程序来实现这一基于离散余弦变换的图像压缩编码算法比较困难,同时其仿真效果也不是十分理想。本文主要应用MATLAB发布的图像处理工具箱中的相关函数和命令来实现基于DCT的图像压缩编码理论算法的仿真。[8]MATLAB是美国MathWorks公司所推出的一款计算机软件,通过近些年来的完善与发展,该软件已经被认为是当今最好的商业数学软件之一,它集算法开发、数据可视化、数据分析以及数值计算于一体,形成了一个方便的、界面友好的用户环境,人机交互性更强,操作更简单,并且有着极佳的拓展性。因为数字图像在MATLAB中是以矩阵来表现的,而MTALAB中的数字图像同样可以用矩阵运算的语法来进行处理,所以使用有着极强矩阵运算能力的MATLAB来对图像进行处理非常合适。图像处理工具箱(ImageProcessingToolbox)提供了一套全方位的参照标准算法和图形工具,用于进行图像处理、分析、可视化和算法开发。可进行图像压缩、空间转换、图像增强、特征检测、降噪、图像分割和图像配准等功能。工具箱中大部分函数均以开放式MATLAB语言编写,这意味着可以检查算法、修改源代码和创建自定义函数。本文利用MATLAB图像处理工具箱对基于DCT的JPEG图像压缩编码理论算法进行仿真,实验证明该软件功能强大,语言简洁易学,工具箱具有丰富的技术支持并集成了该领域专家的智慧,应用简单而效果良好。[9]41 基于DCT的图像压缩编码算法及其MATLAB实现1.4论文组织结构本文的主要内容是,介绍图像压缩编码算法中的离散余弦变换(DCT)变换算法,和用MATLAB进行仿真。第1章绪论,对于图像压缩的研究意义、可行性、压缩技术的现状和发展、MATLAB图像处理工具进行了简要的介绍。第2章对图像压缩编码理论算法进行了介绍,着重讲解了基于DCT的JPEG图像压缩编码步骤。第3章对基于DCT的图像压缩MATLAB仿真实现进行了详细的描述。其中包括利用MATLAB编写程序的流程图,和给出了具体仿真实验结果与结果分析。41 基于DCT的图像压缩编码算法及其MATLAB实现2图像压缩编码算法2.1DCT变换理论依据信号的变换分析方法中,一般是通过一组适当的基函数将信号进行分解,得到信号在变换域的表示方法,利用信号在变换域中某些特征趋于集中的特点来提取其特征从而进行分析。自从在1822年傅立叶(Fourier)发表了“热传导解析理论”之后,傅立叶变换就成为了信号处理方面中使用范围最广、效果最佳的一种分析方法。可是傅里叶变换这种方法只适用于纯频域上,在频域的分析上他的定位性十分准确,但是在时域上没有定位性,也就是说傅里叶变换所表现的是整体信号所有时间下的整体频域特征,而不会得到任何局部时间段上的频率信息。实际上,生活中我们一般所遇见的信号往往都有着不平稳的性质,也就是说信号在频域上的性质都是随时间而变化的。对这一类信号用傅立叶变换进行分析,虽然我们能够知道信号所包含有哪些频率信息,但是不能知道这些频率信息具体会出现在哪个时间段上,所以不能提供关于信号完整的信息。由此,傅立叶变换不适用于提取局部时间段(或瞬间)的频域特征信息。[10]DCT变换从根本来讲是一种变换分析方法,如果在变换中要尽可能地除去分析信号的关联性得到它的特点,就需要构造一组合适基函数,该基函数存在形式和我们想要表示的数据相近,还可能有着与数据相同的关联类型。一般我们所碰见的信号在时域和空间域上都有着关联性。空间上距离很小的样值关联性比距离很大的要强很多,然而在频域上往往是带状的。对于这些信号的研究与表示,所用到的基函数在空间域和频域上都是带有局域性的。因为离散余弦函数的频域和时域两者之间分辨率为反比关系,这与信号长时低频、短时高频的特点相符,在准确定位信号的突发跳变的同时将信号的整体变化率得到了控制。因此,DCT变换对于信号的分析有着极好的应用效果[11]。图像压缩编码的理论算法。(1)基于DCT的JPEG图像压缩编码理论算法基于DCT编码的JPEG编码压缩过程框图,如图2-1所示。原始图像数据分成8*8的小块压缩数据量化器DCT变换熵编码器码表量化表图2-1基于DCT编码的JPEG算法图像压缩过程简化图41 基于DCT的图像压缩编码算法及其MATLAB实现上图是基于DCT变换的图像压缩编码的压缩过程,解压缩与上图的过程相反。在DCT编码的过程中,开始是把输入图像颜色空间变换之后分解为8×8的数据块,再通过正向二维DCT将每一个块转变为64个DCT系数值,在这64个DCT系数值中,有1个为直流(DC)系数,也就是8×8空域图像子块的平均值,剩下的63个是交流(AC)系数,接下来对DCT系数进行量化,最后将变换得到的量化的DCT系数进行编码和传送,这样就完成了图像的压缩过程。在解码过程中,形成压缩后的图像格式,先对已编码的量子化的DCT系数进行解码,然后求逆量化并把DCT系数转化为8×8样本像块(使用二维DCT反变换),最后将操作完成后的块组合成一个单一的图像。这样就完成了图像的解压过程。2.2JPEG编码算法从70年代末开始,新型图像压缩类型的研究成为了新的热点,科研人员想要通过这些新研究来大幅地加快图像压缩技术的发展。到八十年代末,开始可为桌面系统的图像处理而寻找应用的工作,大多数是为UNIX和Macintosh工作站加入的协处理器卡的形式,这些卡的图象质量没有任何可见退化的情况下,可以以95%的比率执行图像的有损压缩。同时,另一部分人开始发展一个国际标准,它能够包括这些新的压缩的种类。如果标准允许方便的图形格式的互换,那么,显然,对于各方面都是有利的,关于标准化工作,早期的担心是:它会限制进一步革新的可能性。两个标准化组织,CCITT和ISO,分别从涉及图像压缩的工业和学术两个入手,并且,似乎已经潜在的阻止了工作的负结果。JPEG(联合图像专家组)标准是关于连续影调的的静态图像的数字压缩和编码的一个ISO/IEC的国际标准(10918-1)。比如ITU-T-T.81也是国际电联标准。为了使实际应用中的要求得到满足,此标准定义了以下的四种模式:基于DCT的顺序模式:该模式是一种在离散余弦基础上的转换编码,此模式是将每种颜色分量分割成(8×8)块然后进行离散余弦转换。转换系数是游程和熵编码。这种模式的子集是基线模式,它是JPEG最低要求的兼容译码器。基于DCT的渐进模式:这种模式类似于基于连续DCT的编码,除了传播在多个扫描上的量化系数。经过部分译码后传输的数据,在该模式下可以对传输的图像作一个大概的预览,在该译码器获得一个较低的传输带宽。无失真模式:该模式适用在无损数字图像压缩编码。其应用的是预测方式,邻近的预测编码的像素决定了输入图像的像素。41 基于DCT的图像压缩编码算法及其MATLAB实现层次模式:在该模式下,提供了空域分级以及将输入图像编码为分辨率更高的的图像。在另外的模式下,最低分辨率图像能用或无损或有损的技术所编码,剩余的则使用无损的或基于DCT模式进行编码。JPEG支持含有多种组成成分的图像。对于彩色图像,输入图像时一般采用RGB,其他的格式则采用例如色度、亮度(YUV,YCbCr)等。色彩空间的转化过程不是该标准的一部分,但大部分的编解码器使用了YCbCr系统,因为在水平距离和垂直距离的因素上色度组成成分能被大幅度的减少从而获得更好的压缩性能。不管是算术编码技术亦或是霍夫曼编码技术,都能被应用在JPEG模式下的(基线模式除外,因为在哈夫曼编码技术中它是强制的)熵编码。在JPEG中,相比于哈夫曼编码,算术编码技术往往有着更好的执行效果,而哈夫曼编码是简单地实现。对哈夫曼编码,至多2个DC表和4个AC表能被指定。JPEG下的输入图像可能会有1-65,535行,每行则有1-65,535个像素组成。除渐进模式外每个像素由1-255个颜色构成,颜色分量至多由4个成分组成。对于DCT模式来说,一个8位或者12位的无符号整数构成了每个组成成分的像素,基线模式除外,因为它只允许精度。在无损模式下,支持的范围是2-16位。其中,基于DCT的顺序模式和基于DCT的渐进模式是基于DCT的有损压缩;无失真模式是基于线性预测的无损压缩;层次模式可以是DCT与线性预测的分层混合。JPEG算法可分为基本JPEG和扩展,即BaselineSystem与ExtendedSystem。在BaselineSystem中产生的编码文件,在ExtendedSystem中一定会正确解码。JPEG有损压缩算法在三个成功的过程中处理,见图2-2DCTCoefficientLosslessTransformation→Quantization→Compression图2-2通过以上三个阶段将会产生一个强力的压缩器,它能把连续色调图像压缩至小于原大小的10%,并且原始逼真度也不会有多少降低。2.3基于DCT的JPEG图像压缩编码步骤2.3.1颜色空间的转换和采样JPEG文件所使用的颜色空间是1982年所提出的电视图像数字化标准CCIR601(目前为ITU-RBT.601)。在这个色彩空间中,每一个分量和像素的电平规定为255级,用8位代码表示。JPEG只支持YCbCr颜色模式。其中Y代表亮度,CbCr代表色度。全彩色图像RGB模式转变成YCbCr模式,用下组公式。41 基于DCT的图像压缩编码算法及其MATLAB实现(2-1)其逆变换为:(2-2)JPEG是以8×8的块为单位来进行处理的,因为人眼对亮度Y的敏感度比色度CbCr的敏感度大的多,所以采用缩减取样的方式,一般采用YUV422取样,图2-3所示。图2-3YUV422取样示意图即对于16×16的块,Y取4个8×8的块,CbCr各取2个8×8的块。也有YUV411方式,Y取4个8×8的块,CbCr各取1个8×8的块。YUV422取样方式,数据减少1/3。YUV411取样方式,数据减少1/2。缩减取样一般采用图2-4所示方法。abcde……b'd'图2-4压缩取样示意图41 基于DCT的图像压缩编码算法及其MATLAB实现2.3.2二维离散余弦变换在傅里叶级数展开式中,假如被函数展开之后所得到是实偶函数,那么,其傅里叶技术中只含有余弦项,再将其离散化则可以得出余弦变换,或将其称为离散余弦变换(DCT,DiscreteCosineTransform)。二维离散余弦正变换公式为(2-3)式中,。二维离散余弦逆变换公式为(2-4)式中,。JPEG技术所使用的是8×8大小的子块的二维离散余弦变换。在编码器的输入端,把原始图像顺序地分割成一系列8×8的子块,子块的数值在-128到127之间。采用余弦变换获得64个变换系数。变换公式,如式(2-5)所示。(2-5)式中,。在MATLAB的图像处理工具箱中,可以直接调用dct2和idct2来实现二维离散余弦变换及其反变换。(1)dct2dct2函数实现图像的二维离散余弦变换,其语法为:F=dct2(f)运行下列程序:f=imread('cameraman.tif');f=im2double(f);41 基于DCT的图像压缩编码算法及其MATLAB实现F=dct2(f);subplot(121),imshow(f,[]);subplot(122),imshow(log(1+20*abs(F)),[]);在DCT变换中具有能量集中的性质,在左上角集中了低频数据。所以在对图像进行压缩时离散余弦变换矩阵可以舍弃右下角的高频数据。(2)idct2idct2函数实现图像的二维离散余弦逆变换,其语法为:F=idct2(f)在MATLAB图像处理工具箱中,有一个对图像进行块操作的函数blkproc,利用这个函数,可以直接实现图像一系列8×8子块的DCT变换。其语法格式为:B=blkproc(A,[mn],fun,parameter1,,parameter2,...)B=blkproc(A,[mn],[mbordernborder],fun,...)B=blkproc(A,'indexed',...)[mn]是指图像以m*n为分块单位,对图像进行处理(如8像素*8像素)Fun:应用此函数对分别对每个m*n分块的像素进行处理parameter1,parameter2:要传给fun函数的参数mbordernborder:对每个m*n块上下进行mborder个单位的扩充,左右进行nborder个单位的扩充,扩充的像素值为0,fun函数对整个扩充后的分块进行处理。如下列程序:I=imread('cameraman.tif');fun=idct2;J=blkproc(I,[88],fun);imagesc(J),colormap(hot)通过DCT变换8×8的图像后,在频域图像的左上角分布了低频分量,而右下角集中了高频分量(DCT变换就是空间域的低通滤波器)。因为相比较高频分量,低频分量中包含了各种主要的信息(例如亮度),高频分量也就显得次要了,由此我们可以不考虑高频分量,以得到图像压缩的结果。使用量化可以将高频分量除去,它导致信息损失的产生。在此的量化过程中,也就是把其中的某个值跟量化表中对应的值相除。因为相较于右上角的值左上角的值更小,这样就使得低频分量得到了维持,而高频分量将会受到抑制。JPEG所采用的颜色格式为YUV格式。在JPEG中,亮度信息用Y分量来表示,色差信息则用UV来表示。对比两者,Y分量则更为重要。通过对Y采用细量化,而对UV采用粗量化,能够使压缩比得到进一步的提高。因此上述的量化表被分成两类,一种是针对Y的,而另一针针对于UV的[12]。41 基于DCT的图像压缩编码算法及其MATLAB实现2.3.3量化的算法描述通过量化矩阵(QuantizationMatrix)我们能够在JPEG中实现量化。在DCT矩阵中的所有元素位置中,两个矩阵中的对应的位置可以得出一量子值(QuantumValue),量子值说明了图像在压缩时元素的步长,从1值255取值。通过小步长编码来量化与图像联系最紧密的元素,其最高精度为1。如果慢慢地离开原点,将会取得一个很大的值,量化的公式如下:量化后的值(i,j)=圆整成最近的整数(2-6)根据上式我们能够明确的得到,高于25或者50的量化值可以保证素有高频分量事实上接近于0,仅当高频系数达为不寻常的值时,编码后其值不为0。在译码阶段,逆量化公式如下:DCT(i,j)=量化后的值(i,j)*量子(i,j)(2-7)2.3.4量化矩阵的选择我们能够利用很多不同的方法来确定矩阵中的值,起码有两个实验方法用来测试不同的量化方案。一种方法是重建了图像后,计算输入输出图像之间的数学误差;第二种方法是利用人眼来对图像信息作判断,这与利用数学方法有一定的差别。因为在压缩时的运行时间中能够定义量化矩阵,因此在JPEG中能够采用所有量化矩阵。于运行时间中选择量化矩阵使被压缩的图形采用JPEG算法时能够非常方便地得到预期的图像质量值。以下程序所呈现的用于测试代码的量化表是利用算法卷里起来的。在测定量子步长的工程中,我们输入单个的“质量因子”(qualityfactor),它的值取1至25。大于25的值是可以处理的,可当值是25时,图像的质量已经完全得不到保证,因此没有必要再做任何处理。for(i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭