基于DCT图像 压缩编码 算法的MATLAB实现.docVIP

基于DCT图像 压缩编码 算法的MATLAB实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于DCT图像 压缩编码 算法的MATLAB实现 原文地址:基于DCT图像压缩编码算法的MATLAB实现作者:lpyy1801摘要:首先介绍了基于离散余弦变换的图像压缩编码算法,接着用MATLAB6.5对图像进行仿真,并对同一幅cameraman.tif图像做不同的压缩。实验结果表明,在很大的压缩范围内,在不同的压缩比和编码比特率下,重建图像的峰值信噪比都在30dB以上,仍然能满足人们的视觉需要。对图像做不同的压缩,满足了不同的场合不同的控制码率下要求不同的图像质量的实际需要。用MATLAB做仿真实验,方法简单而且误差小,大大提高了图像压缩的效率和精度。 关键词:图像压缩算法;MATLAB软件;DCT;压缩编码 1引言 随着信息技术的发展,图像信息被广泛应用于多媒体通信和计算机系统中。但是图像具有庞大的数据量,不便于存储和传输,必须采用合适的方法对其进行压缩,因此有必要对图像压缩编码标准进行研究。本研究在介绍图像压缩原理的基础上,用Matlab6.5对标准灰度图像进行压缩与重建,并分析实验结果,得出结论。 1.1基于DCT的图像压缩编码理论算法及Matlab仿真基础 1)图像压缩编码的概念 压缩的理论基础是信息论。从信息论的角度来看,压缩就是去掉信息中的冗余,即保留不确定的信息,去掉确定的信息(可推知的),也就是用一种更接近信息本质的描述来代替原有冗余的描述。这个本质的东西就是信息量(即不确定因素)。 2)图像压缩编码的一般框图 熵编码器 量化器 映射变换 原始图像 码 流 信道 码 流 熵解码器 反量化器 反映射变换 复原图像 图像压缩的过程可以概括成图所示的三个步骤,原始图像经映射变换后的数据再经量化器和熵编码器成为码流输出。 (1)映射变换。其目的是通过映射改变图像数据的特性,使之更有利于压缩编码。 (2)量化器。在限失真编码中要对映射后的数据进行量化,若量化是对映射后的数据逐个的进行的,则称标准量化,若量化是成组的进行的,则称矢量量化,量化总会造成某些信息丢失,形成失真,即量化失真或量化噪声,为使失真小,应量化的精细,但压缩比就高不了,这是一对矛盾,应选用恰当的量化级数和量化曲线形状来缓解这对矛盾,量化器的引入是图像编码产生失真的根源,在要求复原图像与原图完全一致的无失真编码器中必须不用量化器,但这样一来,压缩比难以提高,在多数应用中,存在少量失真并不可怕,只要把失真的程 度和性质控制在允许的范围内,也就是把复原图像的主观质量控制在允许的程度内,就可以 在满足应用要求的前提下提高压缩比,值得注意的是,对于同样的量化失真,不同的映射变 换和反变换反映不同性质的复原图像的失真,人眼对某些性质的失真敏感而对另一些性质 的失真不敏感。 (3)熵编码器。这一步是用来消除符号编码冗余度的,它一般不产生失真,理想的情况 是编出的码流的平均码长等于量化后数据的信息熵,常用的编码方法有许多种,例如分组 码、行程码(RLC)和变长码(VLC)、不分组码以及算术码(ArithmaticCoing等)。行程码传输 的是数据行程长度而不是数据本身,例如要传108个0,用行程码是改为传行程码标记和行程长度1080在变长码中最常用的是霍夫曼(Hufman)码,基本原则是对出现概率大的数值用短码来编,对出现概率小的数值用长码来编,从而使平均码长减小。降低码率,在实际编码器中常把RLc和Hufman码结合起来,称为霍夫曼行程码,在H.261,JPEG,啪PEG等国际昧准中用到它,而算术码则用于JPEG,H.263,JBIG等国际标准中。 3)MATLAB仿真实现 根据压缩编码算法,要将一幅灰度图像进行压缩编码,首先把图像分成8×8的像素块,分块 进行DCT变换后,根据标准量化表Es]对变换系数进行量化后,再对直流系数(DC)进行预测编码,然后根据标准的Huffman码表蜘进行熵编码,输出压缩图像的比特序列,实现了图像压缩。在接收端,则经过Huffman熵解码、DC系数和AC系数可变长解码、反量化后,再进行反DCT变换得到重建图像。对一幅图像进行编解码的MATLAB程序流程图: 2、离散余弦变换(DCT) 2.1DCT的定义 DCT变换利用傅立叶变换的性质.采用图像边界褶翻将像变换为偶函数形式,然后对图像进行二维傅立叶变换,变后仅包含余弦项.所以称之为离散余弦变换。二维离散余弦变换DCT(DiscreteCosineTransform)的定为.假设矩阵A的大小为MxN。 其中。Bpq称为矩阵A的DCT系数。在MATLAB中,矩阵的下标从l开始而不是从0开始的,所以MATLAB中的矩阵元素A(1,1)和B(1,1)分别对应于上面定义中的值A加和B。, 依此类推。DCT是一种可逆变换,离散反余弦变换定义如下: 上式的含义是任何MxN的矩阵A都nJ以表示为一

文档评论(0)

ligennv1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档