JPEG图像压缩实验.doc

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

文档评论(0)

676200 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档