lzw编解码实验报告(含程序和注释)

lzw编解码实验报告(含程序和注释)

ID:27619643

大小:169.69 KB

页数:9页

时间:2018-12-05

lzw编解码实验报告(含程序和注释)_第1页
lzw编解码实验报告(含程序和注释)_第2页
lzw编解码实验报告(含程序和注释)_第3页
lzw编解码实验报告(含程序和注释)_第4页
lzw编解码实验报告(含程序和注释)_第5页
资源描述:

《lzw编解码实验报告(含程序和注释)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、一实验名称LZW编码及译码二、实验目的1、熟悉和巩固信息论课程屮有关信源编码屮LZW编码的原理、方法。2、会用VC调试和验证LZW编码译码程序,提高分析程序的能力3、将所学的理论知识进行上机实践。三、实验要求设计一个LZW编码/译码系统,掌握LZW编码的特点、存储方法和基本原理,培养利用C++语言编写程序以及调试程序的能力,运用信息论知识解决实际问题的能力。用C语言实现LZW编/译码的相关函数的基本框架设计,如LZW树的构建,LZW编码的实现,LZW译码的实现等。四、实验原理由韦尔奇在1984年开发的LZW算法,是LZ系列码中应用最广泛、变形最多的。它是先建立初始字典,在分解输

2、入流为短语词条,这个短语若不在初始字典中,就将其存入字典,这些新词条和初始字典共同构成编码器字典。而初始字典可由信源符号集构成,每一个符号是一个词条。1、编码原理:LZW编码器使用了一种很实用的分析(parsing)算法,称为贪婪分析算法(greedyparsingalgorithm)。在贪婪分析算法中,每一次分析都要串行地检查来自字符流(Charstream)的字符串,从中分解出已经识别的最长的字符串,也就是已经在词典中出现的最长的前缀(Prefix)。用已知的前缀(Prefix)加上下一个输入字符C也就是当前字符(Currentcharacter)作为该前缀的扩展字符,形成新

3、的扩展字符串——缀-符申(String):Prefix.Co这个新的缀-符申(String)是否要加到词典中,还要看词典中是否存有和它相同的缀-符串String。如果有,那么这个缀-符串(String)就变成前缀(Prefix),继续输入新的字符,否则就把这个缀-符串(String)写到词典中生成一个新的前缀(Prefix),并给一个代码。编码示例:被编码的字符申位置123456789字符ABBABABACLZW的编码过程步骤位置词典输岀⑴A(2)B(3)C11⑷AB(1)22(5)BB(2)一实验名称LZW编码及译码二、实验目的1、熟悉和巩固信息论课程屮有关信源编码屮LZW编

4、码的原理、方法。2、会用VC调试和验证LZW编码译码程序,提高分析程序的能力3、将所学的理论知识进行上机实践。三、实验要求设计一个LZW编码/译码系统,掌握LZW编码的特点、存储方法和基本原理,培养利用C++语言编写程序以及调试程序的能力,运用信息论知识解决实际问题的能力。用C语言实现LZW编/译码的相关函数的基本框架设计,如LZW树的构建,LZW编码的实现,LZW译码的实现等。四、实验原理由韦尔奇在1984年开发的LZW算法,是LZ系列码中应用最广泛、变形最多的。它是先建立初始字典,在分解输入流为短语词条,这个短语若不在初始字典中,就将其存入字典,这些新词条和初始字典共同构成编

5、码器字典。而初始字典可由信源符号集构成,每一个符号是一个词条。1、编码原理:LZW编码器使用了一种很实用的分析(parsing)算法,称为贪婪分析算法(greedyparsingalgorithm)。在贪婪分析算法中,每一次分析都要串行地检查来自字符流(Charstream)的字符串,从中分解出已经识别的最长的字符串,也就是已经在词典中出现的最长的前缀(Prefix)。用已知的前缀(Prefix)加上下一个输入字符C也就是当前字符(Currentcharacter)作为该前缀的扩展字符,形成新的扩展字符串——缀-符申(String):Prefix.Co这个新的缀-符申(Strin

6、g)是否要加到词典中,还要看词典中是否存有和它相同的缀-符串String。如果有,那么这个缀-符串(String)就变成前缀(Prefix),继续输入新的字符,否则就把这个缀-符串(String)写到词典中生成一个新的前缀(Prefix),并给一个代码。编码示例:被编码的字符申位置123456789字符ABBABABACLZW的编码过程步骤位置词典输岀⑴A(2)B(3)C11⑷AB(1)22(5)BB(2)33(6)BA(2)44(7)ABA(4)56(8)ABAC(7)6麵•一一⑶2、解码原理:LZW译码算法中会用到另外两个术语:①当前码字(Currentcodeword):指

7、当前正在处理的码字,用cW表示,用string.cW表示当前缀-符串;②先前码字(Previouscodeword):指先于当前码字的码字,用pW表示,用string.pW表示先前缀-符串。LZW译码算法开始时,译码词典与编码词典相同,它包含所有可能的前缀根(roots)。LZW算法在译码过程中会记住先前码字(pW),从码字流中读当前码字(cW)之后输出当前缀-符串string.cW,然后把用string.cW的第一个字符扩展的先前缀-符串string.pW添加到词典中。五、实验

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。