优·JPEG图像压缩实验.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JPEG 静态图像压缩实验指导书 实验目的 了解多媒体通信中图像压缩技术 熟悉JPEG图像压缩编码过程 掌握二维DCT变换算法 实验原理 JPEG(Joint Photographic Experts Group) 是一个由 ISO和ITU-T两个组织机构联合组成的一个图像专家小组,负责制定静态的数字图像数据压缩编码标准,这个专家组开发的算法称为JPEG算法,并且成为国际上通用的标准。JPEG是一个适用范围很广的静态图像数据压缩标准,既可用于灰度图像又可用于彩色图像。JPEG不仅适于静止图像的压缩,电视图像的帧内图像的压缩编码,也常采用此算法。 JPEG标准定义了多种工作模式,其中最基本的是基于8×8块的DCT顺序编码,将一帧图像分为8×8的块,然后按照从左至右、自上而下的顺序,对块进行DCT、量化和熵编码。其编、解码框图如下: 图1 基于DCT的顺序编码框图 图2 基于DCT的顺序解压缩框图 JPEG压缩编码算法的主要计算步骤: 正向离散余弦变换(FDCT)。 量化(quantization)。 Z字形编码(zigzag scan)。 使用差分脉冲编码调制(differential pulse code modulation,DPCM)对直流系数(DC)进行编码。 使用行程长度编码(run-length encoding,RLE)对交流系数(AC)进行编码。 熵编码(entropy coding)。 实验内容 按照上述压缩过程实现一幅图像的压缩,生成符合JPEG标准的图像文件JPEG图像编码流程如下: 图3 JPEG图像编码流程 DCT变换 对8×8的图像数据块进行二维DCT的变换,把能量集中在少数几个系数上,从而达到数据压缩的目的。: DCT变换公式: DCT反变换公式: 其中: 二维DCT变换可以分解为行和列的一维DCT变换的组合运算,也可将8×8的块分为更小的子块,直接对二维数据进行2维快速余弦变换。 量化 量化表达式为: 其中 T(u,v)是推荐的量化矩阵,详见附录1量化矩阵表 熵编码 JPEG标准中熵编码对直流DC系数和交流AC系数分别采用不同的压缩编码算法 DC系数编码: JEPG把所有子块的DC系数集合在一起,采用差分编码的方法表示。编码步骤为: 将初始值设为128,对相邻块的DC系数F(0,0)进行差分运算 将差分值改写为[size,value] (尺寸,幅值)的符号对。尺寸取2的对数加1 按照表2、3对该符号对进行编码 AC系数编码 AC系数编码步骤为: 以块为单位,从AC01开始对块内的量化数据进行Z形行程扫描,记录两个非零值的大小和其间连续零的个数 将扫描结果改写为[RunLength,level](行程、幅度)的符号对,其中RunLength代表该非零值和它前一个值之间0的个数,以(EOB)表示块结束。 按照表3对上述的符号对进行编码。若符号在表中查不到对应码字,用ESC码表示,然后按表4,5对RunLength和level进行编码。 对编码后的图像数据进行解码,与原始图像数据进行比较。 实验要求 根据实验内容要求编写编解码程序,所用编程语言自选。可以参考实验室提供的范例程序,并充分发挥你的创造性,写出有自己特色的程序。 生成JPEG格式的压缩文件,可用第三方软件打开,由指导教师验证通过 实验完成后提交完整源程序,并在关键处加上详细批注。 撰写实验报告,实验报告要求详细介绍你实现的功能,设计思想,并根据思考题进行分析。 样本程序说明 实验室提供一个BC编写的样本程序,供大家参考。见“JPEG实验”文件夹,各文件功能说明如下: JPEG压缩程序:gendat.exe 为压缩后的数据加上JPEG文件头的程序genjpg.exe 解JEPG压缩程序extrdat.exe 其中:(1)的输入参量是需要生成的压缩文件的名字。 主程序流程为: 程序初始化,读取文件名称、原始图像数据等基本数据; 从AC.TAB和DC.TAB两个文件生成AC表和DC表,存入数组 以8×8为样本单位进行DCT变换 以8×8为样本单位进行量化 以8×8为样本单位进行Z形扫描 以8×8为样本单位进行熵编码 以8×8为样本单位进行解量化 以8×8为样本单位进行IDCT变换 请大家在参考上述程序的基础上,编写自己的JPEG压缩程序,利用(2)、(3)程序检查自己的程序是否正确。 思考题 计算图像的压缩比,并比较原图像的效果 DCT变换、量化后,数据的范围是多少?有没有可能超出码表所给出的幅值范围。 附录:JPEG图像压缩方法相关数据 表1:量化矩阵 T ( U,V ) 亮度量化

文档评论(0)

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

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

1亿VIP精品文档

相关文档