预测编码实验报告.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

华南理工大学

XXX课程实验报告

实验题目:__________预测编码算法________________________

姓名:____苏启院_______学号:__200820110730____

班级:___计算机应用2班_______组别:________

合作者:__________________

指导教师:_____沃焱_______________

实验概述

【实验目的及要求】

掌握预测编码的原理。

编程实现预测编码算法,用此算法对灰白图像进行压缩,并实现解压算法。

分析算法和实验数据,得出此算法的压缩比。

【实验原理】

根据离散信号之间存在一定相关性的特点,利用前面的一个或多个信号对下一个信号进行预测,然后对实际值和预测值的差(预测误差)进行编码。

如果预测比较准确,那么误差信号就会很小,就可以用较少的码位进行编码,以达到数据压缩的目的。

利用以往的样本值对新样本值进行预测,将新样本值的实际值与其预测值相减,得到误差值

对该误差值进行编码,传送此编码即可

【实验环境】

软件环境:windowsvista

Visualstudio2005

编程语言:C#

?

实验内容

【实验方案设计】

采用无损预测编码模型

设图像为,x=0,1,2…PicW-1;y=0,1,2…PicH-1;当信号序列进入编码器时,预测器根据若干个过去的输入产生当前输入的预测(估计)值。预测器设计如下:

若:x=0,y=0;=,=0;

x=0,y!=0;=,=-;

x!=0,y=0;=,=-;

x!=0,y!=0;=*+*-*

=-;

由于相邻的离散信号之间存在一定相关性,故采用此方法预测的所得的误差的动态范围会远小于原始信号序列的动态范围,所以对顶测误差的编码所需的比持数会大大减少,这是预测编码获得数据压缩结果的原因,压缩过程如图(a)所示。

此处对这些误差我们采用huffman编码。存储这些误差的huffman编码和,再按照同样的方法根据这些存储的数据就可以将图像解压出来,解压过程如图(b)所示。

【实验过程】(实验步骤、记录、数据、分析)

1.读取图片,对图片进行编码,编码结果如下图所示:

由于是对位图进行编码,我们知道,位图的每个像素要用8比特位来表示,由图可以看出,对误差编码后,每位误差的平均码长是4.13比特位,故此算法的压缩比为:2:1

对编码后的文件进行解码,解码结果如下图所示:

由于此处采用的无损编码,故解压后的图像和解压前的图像没有什么区别,不会有模糊效应。

【结论】

在这个实验中,本人提出了一种具体的无损的预测编码算法,它根据图像像素之间的相关性,利用邻近像素对当前像素进行预测,用它再配合huffman算法对图像进行编码。

实验证明:此算法通用性广,不管误差的波动范围多大都可以实现无损编码和解码,且压缩比比较高(编码后的平均码长大概都在4比特左右)。但是此算法时间复杂度比较高,对大图像进行编码时,可能需要较长的时间,这也是有待改进的地方。

小结

?

?初次使用c#,感触颇多,遇到的问题颇多,收获也颇多。

由于huffman编码在前面已经有过实践,故此处算法的实现难度不是很大,困难主要在于c#的语法与c的语法的区别和文件读写操作的实现,在以后的学习中需加多这方面的练习。

注意:color对象的创建方式:Colorcl=Color.FromArgb(byte],byte,byte);

指导教师评语及成绩

评语:

?

?

?

?

成绩:??????????指导教师签名:

??????????????????????????????????????????????批阅日期:

文档评论(0)

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

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

1亿VIP精品文档

相关文档