- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
成绩
评阅人
中国矿业大学2015-2016学年第二学期
《数字视频技术》课程小设计考核
图像的LZW编码研究
专业班级: 信息14-05班
学生姓名: 李辉、李港深、李少杰
学生学号: 04141393
本人郑重声明:本人认真、独立完成了查找资料、完成作业、编写程序等考核任务,无抄袭行为。
签字:
日期:2017.05.17
引言
1.1 A.Lempel和J.Ziv在1978年首次发表了介绍字典编码方法的文章将其称之为LZ78。在他们的研究基础上,Terry A.Welch在1984年发表了对这种编码算法进行了改进的文章,并首先在高速硬盘控制器上应用了这种算法。因此后来把这种编码方法称为LZW(Lempel—Ziv Walch)压缩编码。
近年来越来越多的研究人员注意到图像压缩的重要性,主要原因在于图像文
件不仅占据内存空间,而且也占据大量的传输带宽,因此存储和传输前对图像进
行压缩就成为必然。信息数字化的高速进行更是给数据压缩带来严峻的挑战,在不同的领域,出现了各种各样的压缩方法,例如基于熵的统计编码(Huffman编码、Shannon编码、算术编码等),基于字典的ARJ,LZH,PKZIP等压缩方法,分形编码、小波变换等变换编码,分块编码,以及JPEG,MPEG等。
LZW压缩算法是一种无损压缩算法,它主要是用一种代码来表示数据流中出现的重复串,以达到压缩的目的,并且LZW算法可以大大缩小对通讯带宽的需求,具有较高的实用价值。LZW算法不仅可以用于文字数据的压缩,而且也可以成功地用于某些图像数据的压缩处理,如GIF和TIFF等图像格式,本文正是基于这种LZW编码的。
大量数据的图象信息会给存储器的存储容量,通信干线信道的宽度,以及计
算机的处理速度增加极大的压力,会使得World Wide Web变成World Wide Wait。单纯靠增加存储器容量,提高信道带宽以及计算机处理速度等方法来解决这个问题是不现实的。很显然,在信道带宽、通信链路一定的前提下,采用编码压缩技术,减少传输数据量,是提高通信速度的重要手段。没有图象编码压缩技术的发展,大容量图象信息的存储与传输是难以实现的,多媒体、信息高速公路等新技术在实际中的应用也会碰到很大的困难。LZW压缩算法是一种常用的数据压缩算法,由于它不依赖于任何数据格式,而且具有很高的综合性能指标,因而得到广泛应用。
1.2 LZW编码
LZW算法的词典是根据输入的数据动态创建的。LZW算法先将可能的信源符号创建一个初始词典,然后在编码过程中,遇到词典中没有的短语(信源序列)就加到词典中,动态创建词典。提取原始文本文件数据中的不同字符,基于这些字符创建一个编译表,然后用编译表中的字符的索引来替代原始文本文件数据中的相应字符,减少原始数据大小。看起来和 调色板图象的实现原理差不多,但是应该注意到的是,我们这里的编译表不是事先创建好的,而是根据原始文件数据动态创建的,解码时还要从已编码的数据中还原出原来的编译表.
设计任务
设计任务
实现灰度图像的LZW编码和解码恢复图像
设计目的
了解LZW编码的基本原理及其特点;
理解并熟练对图像进行LZW编码的算法;
学习和熟悉MATLAB图像处理工具箱;
熟悉和掌握MATLAB 程序设计方法;
设计要求
要求实现灰度图像的LZW编码和解码恢复图像;处理结果要求最终图像显示,且计算图像的信息熵,平均码字长度,编码效率,压缩比。
扩展要求:读写GIF图片。
总体设计方案
系统运行环境
Windows 8.1/10系统
编程软件平台
MATLAB R2013a/R2014a
LZW编码算法原理
LZW算法是一种基于字典的编码——将变长的输入符号串映射成定长的码字——形成
一本短语词典索引(串表),利用字符出现的频率冗余度及串模式高使用率冗余度达到压缩的目的。该算法只需要一遍扫描,且具有自适应的特点,不需要保存和传送串表。
LZW压缩算法
初始化:
将所有单个字符的串放入串表ST中(共项,实际操作时不必放入,只
需空出串表的前项,字符对应码字所对应的的串表索引即可);
读首字符入前缀串w;
设置码长codeBits=n+1;
设置串表中当前表项的索引值next=初始码字=;
循环:
读下一输入字符c;
若c=EOF(文件结束符),则输出w的码字,结束循环(输出结束码字);
若wc已在串表中,则w=wc,转到循环开始处;
否则,输出w的码字,将wc放入ST中的next中,next+
文档评论(0)