- 4
- 0
- 约1.43万字
- 约 80页
- 2017-06-02 发布于湖北
- 举报
4.5 字 典 码 4.5.1 LZ码的基本概念 字典编码起源于20世纪70年代末。1977年和1978年, 以色列两位博士J.Ziv和 A.Lempel 陆续提出了两种不同但又有联系的关于文字数据压缩的论文,该文中的码习惯上简称为LZ码。1984年,T.A.Welch博士对LZ78算法加以改进,提出了所谓的LZW算法。至今,在处理文字数据压缩的问题时,LZW算法一直是被广泛使用。 设想我们要用计算机来储存以下一段9个字符的文字数据,即ABBBABAAB。如果每个字符都用8比特的ASCII码来储存,则需要72比特的内存。然而,如果该计算机拥有一个如表4-19中所示的字典1,借助该字典的信息,则仅需10比特的内存,亦即AB、BB、AB、A及AB等文字数据分别会先被编码成10、11、10、00及10等十个比特,然后再存入内存,其省下的储存空间高达86%。之后,如果一次以两个比特的方式来读取数据,然后通过同样的字典进行译码,则内存所储存的数据1011100010很快地就会被解读出原来的文字数据为ABBBABAAB。 表4-19 计 算 机 字 典 通过上面的例子可以看到,与Huffman码正好形成鲜明对比的是:LZ码及后来的改进算法都是将变长的输入符号串映射成定长(或长度可预测)的码字。LZ码按照几乎相等的出现概率编排输入符号串,从而使频繁出现的符号的串将比不常出现符号的串包含更多的符号。例如在一张将英文字母和符号串编码成12位码字的压缩字符串表中(如表4-20所示),不常用的字母如Z,独占一个12位码字;而常用的符号如空格(表4-20中用“空”表示)和零,则以不同长度的长串表示(实用中字符串长度可大于30)。如果输入一个长串,就会被替换成一个12位码字,此时压缩比自然很高。实际上,表4-20也就是LZ码使用的字典,所以LZ码也是基于字典的压缩编码算法。 表4-20 一种LZ编码的字典 4.5.2 LZW算法 由T.A.Welch在1984年提出的LZW算法,是LZ系列码中应用最广、变形最多的LZ码。LZ码系列算法的共同点是:分解输入流,使其成为长度各异的“短语”,并把它们存入“短语字典”,并给每个“短语”赋予一个码字(通常就是短语的字典索引)。只要短语的码字长度小于短语的长度,就达到了压缩的目的。LZW编码算法独特的地方是先建立初始字典,再将输入流分解为短语词条,这个短语若不在初始字典内,就将其存入字典,这些新词条和初始字典共同构成编码器的字典。初始字典由信源符号集构成,每个符号是一个词条。比如在英文文本的压缩中,可以将扩展的ASCII码作为初始字典,使其成为字典的前256项,这样的初始字典足以应付普通的英文文本压缩。 LZW算法将输入字符串映射成定长(通常为12位)的码字。LZW码表(字典)具有所谓的“前缀性”——表中任何一个字符串的前缀字符串也在表中。这也就是说,如果由某个字符串S和某个单字符c所组成的字符串Sc在表中,则S也在表中,其中c叫前缀串S的扩展字符。 对码表作出这样的说明后,编码前可以将其初始化以包含所有的单字符。在压缩过程中,码表里面存放着编码器在压缩过程中已经遇到的字符串,它动态反映消息的统计特性。LZW使用的是“贪婪”分析算法,即依次检查各个字符,直到碰到码表中没有的字符串或者扫描完全部字符。除初始化码表外,其他码表项也是通过这种方法加入进码表中的。LZW编码算法流程如图4-9所示。 图4-9 LZW编码算法流程 【例4-12】 试对一个最简单的2字符串“ABBBABAAB”作LZW编码。 【解】 根据图4-9给出的LZW编码算法流程,可以得到如下的编码步骤: 步骤0:将A及B字符存入字典里,也就是A及B字符之后分别会被编码成索引值1及2;并读入第一字符A,前缀串S=A。 步骤1:读入下一个字符c=B,串Sc=AB不在码表中,输出串S=A在字典里的索引值1;并将新的字符串AB存入字典里,其索引值等于3;最后置S=B。 步骤2:读入下一个字符c=B,串Sc=BB不在码表中,输出串S=B在字典里的索引值2;并将新的字符串BB存入字典里,其索引值等于4;最后置S=B。 步骤3:读入下一个字符c=B,串Sc=BB已经在码表中,置S=BB。 步骤4:读入下一个字符c=A,串Sc=BBA不在码表中,输出串S=BB在字典里的索引值4;并将新的字符串BBA存入字典里,其索引值等于5;最后置S=A。 步骤5:读入下一个字符c=B,串Sc=AB已经在码表中,置S=AB。 步骤6:读入下一个字符c=A,串Sc=ABA不在码表中,输出串S=AB在字典里的索引值3;并将新的字符串ABA存入字典里,其索引值等于6;最后置S=A。 步骤7:读入下一个字符c=A,串Sc
您可能关注的文档
- 姜启源《数学模型》(第四版)第二讲初等模型.ppt
- 局域网常见网络故障与排除策略.doc
- 局域网的维护及故障解决体会及技巧.doc
- 局域网共享设置与局域网共享软件.pdf
- 局域网共享文件夹打不开与如何取消共享 PDF.pdf
- 局域网及广域网的接口电缆标准.docx
- 局域网络和分布处理1.pdf
- 局域网如何利用电脑自动备份重要文件及数据.pdf
- 局域网——网卡的安装与故障排除.doc
- 开车高手花了一年时间整理的。刚开车的及正在学车的赶紧转吧.doc
- 2026广东佛山市高明区明城镇东洲中学临聘教师招聘3人备考题库含答案详解(a卷).docx
- 2023年浙江省金华市公开招聘警务辅助人员辅警笔试专项训练卷2含答案.docx
- 2026年东营市第二中学教师岗位人才引进备考题库(3人)含答案详解ab卷.docx
- 机电安装工程施工组织设计_竣工档案资料管理.docx
- 2026年安徽省合肥市外企德科安徽派驻蜀山区公立幼儿园多名工勤岗位招聘备考题库带答案详解(综合题).docx
- 2026广东东莞市应急管理局第一次招聘编外聘用人员1人备考题库及一套完整答案详解.docx
- 2026广东东莞市麻涌中学招聘临聘教师10人备考题库附参考答案详解(典型题).docx
- 2026广东佛山顺德区教育科学研究院附属容桂中学后勤人员招聘备考题库带答案详解(巩固).docx
- 2026广东云浮见习岗位人员招聘2人备考题库及答案详解(夺冠).docx
- 2026年上海市针灸经络研究所招聘工作人员2人备考题库含答案详解(精练).docx
最近下载
- 园林工程计量与计价全套教学课件.pptx
- 比较思想政治教育(第二版) 005 比较思想政治教育(第二版) 第五章.pptx VIP
- TSZEVA009-2024 电动自行车公共充电设施 第1部分:公共充电桩及编制说明.pdf VIP
- 干细胞复合物及其制备方法和PGA在治疗骨骼或器官损伤的产品中的应用.pdf VIP
- 2026元旦主题班会:马年猜猜乐,马年成语(30词)课件(共34张PPT).pptx VIP
- 吸塑设计及制造教程文件.ppt VIP
- 2025年兵检的心理测试试题及答案.docx VIP
- 市政公用设施建设项目经济评价办法与参数.pdf VIP
- 中职《金属加工与实训-基础常识与技能训练》--第5章-金属冷加工基础(中)-云天课件.ppt VIP
- TSZEVA009-2024 电动自行车共享换电设施 第1部分:共享换电柜及编制说明.pdf VIP
原创力文档

文档评论(0)