LZW编码与译码
更新时间:2023-10-16 17:28:01 阅读量: 综合文库 文档下载
重庆交通大学信息科学与工程学院
综合性设计性实验报告
专 业: 通信工程专业11级
学 号: 631106040222
姓 名: 徐 国 健
实验所属课程: 信息论与编码
实验室(中心): 信息技术软件实验室
指 导 教 师 : 李益才
2014年5月
教师评阅意见: 签名: 年 月 日 实验成绩:
一、题目
LZW编码与译码
二、编程要求
要求一:对字符串进行LZW编码,输出与字符串相一一对应的码字,本次实验所选的字符串为 “ABBABABAC”。
要求二:对要求一输出结果的码字进行译码输出
三、仿真方案详细设计
LZW(Lempel-Ziv & Welch)编码又称为字串表编码,属于一种无损压缩编码。LZW编码与游程编码类似,也是对字符串进行编码从而实现压缩,但它在编码的同时还生成了特定字符串以及与之对应的索引字符串表。LZW压缩使用字典库查找方案。它读入待压缩的数据并与一个字典库(库开始是空的)中的字符串进行对比,如有匹配的字符串,则输出该字符串数据在字典库中的位置索引,否则将该字符串插入字典中。 LZW编码算法
①将字典初始化为包含所有可能的单字字符,当前前缀P初始化为空; ②读入当前字符到C(即字符流中的下一个字符);
③判断P+C是否在字典中,如果在字典中,则用C扩展P,即P=P+C;否则输出与当前前缀P相对应的码字,同时将P+C添加到字典中并令P=C,即重新置当前前缀;
④判断字符流结束与否,如果没有结束,转②,否则把代表当前前缀P的码字输出到码字流;
⑤结束。 编码流程图如下
LZW译码算法
①初始化字典,并读入一个码字W;
②试读一个码字K,如果不存在码字K可读,则输出W对应的字符串,转③;否则,在W对应的字符(串)末尾加入码字K的第一个字符,形成的字符串加入字典(如果K还未在字典中出现,则W+FirstChar(W)放入字典)。然后输出W对应的字符(串),同时W=K(重新赋W的值);转②; ③算法结束。
译码流程图如下
输出W对应的字符串 输出码字W对应的字符串将P1+FirstChar(P2)存入字典结束K不在字典中N取出码字K对应的字符串P2P2=P1YK是结束符N取出码字W对应的字符串P1初始化字典读入一个码字W试读一个码字KW=K
四、仿真结果及结论 结果所示:
结论:本次实验成功的完成了LZW编码的编码过程和译码过程,同时对字符串进行编码从而实现压缩,但它在编码的同时还生成了特定字符串以及与之对应的索引字符串表即词典。从试验结果看出我们对字符串进行编码首要就是进行词典构造。
五、总结与体会
总结:这次实验完成了LZW的编码与译码,同时也让我对它的算法有了一个深刻的理解与掌握。在编程过程中需要对C++语言有较好的掌握,里面涉及到了类和指针的用法。这个实验会考察你对算法的理解与掌握能力,最重要的还有分析能力与C++编程基本功。
心得体会:通过本次实验,我掌握了LZW的编码与译码算法,对它的核心思想有了较好的掌握。它是无失真信源编码的一种重要方法,刚开始的时候编程对这个算法还不太熟练,我通过请教老师和网上查找资料对着个算法编程有了一定的想法。随后,我反复编写与思考,最终得以实现结果。本次实验运行环境是在Visual C++6.0,里面涉及了C与C++的语言。通过这次实验不仅加强了我的编程能力,也提高了我的分析问题的能力,虽然作业量不是很大,但是我通过实验又重新对编程语言有了一个很好的回顾。希望以后能多做类似的实
正在阅读:
LZW编码与译码10-16
液化气充装站安全制度管理手册(第三版)04-26
牡丹江SCR钢架安装方案最终07-21
本人学习abaqus五年的经验总结-让你比做例子快十倍01-18
大自考工程地质与土力学复习题10-19
现代混凝土的问题与对策-二建教育05-15
Unit 4 Why dont you talk to your parents知识点01-31
初中语文语法,实词知识+练习12-08
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 译码
- 编码
- LZW
- 六年级英语第7周周周清试卷
- 我是一条小鱼(3)
- 数值分析也称计算方法
- 体育专业课
- 2019年对乡镇社会事业发展的调研对策
- 关于环烷油的行业分析报告
- 网络与信息安全事件应急预案
- 唐代金银器的鉴赏
- 东师幼儿园课程论16秋在线作业1
- 周恩来小学时代的一篇作文
- 苏衍岭、吕楠楠等犯虚开增值税专用发票、用于骗取出口退税、抵扣
- 第三组蛋白质化学测验答案模板(1) - 图文
- 作为一名合格的公关人员应该具备以下能力与职业素质
- 检察院能否提起民事诉讼来源
- Q-GDW 131-2006 电力系统实时动态监测系统技术规范
- LCD蚀刻液细分产品市场分析(报告精选) - 图文
- unit2 This is my sister.复习课教案
- 体检中心急救应急预案
- 第一章 绪论习题
- 造纸设备选型