[2018年最新整理]媒体信号编码第4章
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
您可能关注的文档
- [2018年最新整理]如何在PowerPoint 2007中插入swf.docx
- [2018年最新整理]如何在ImageJ中设置比例尺.doc
- [2018年最新整理]如何在PPT中插入html网页.ppt
- [2018年最新整理]如何在PPT中插入媒体控件.ppt
- [2018年最新整理]如何在PPT中插入背景音乐及删除背景音乐.doc
- [2018年最新整理]如何在ppt中插入一个视频.ppt
- [2018年最新整理]如何在Proe里面打开CAD图形实体.doc
- [2018年最新整理]如何在已有的单元格中批量加入一段固定字符.doc
- [2018年最新整理]如何在幻灯片中插入图片.pptx
- [2018年最新整理]如何在线填写并打印申请表(适用于再次申请的学生).ppt
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 2025年德州市中考数学试题卷(含答案及解析).docx
- ISO 15614-1-2012 金属材料焊接工艺规范和评定.pdf VIP
- 发那科fanuc维修手册 内部资料教材.pdf VIP
- 2026年节后复工开工第一课课件.ppt
- 蔬菜水果的收货验货标准.doc VIP
- 新部编人教版语文五年级上册生字字帖直接打印资料文档.pdf VIP
- 东北大学2024-2025学年第1学期《高等数学(上)》期末考试试卷(A卷)附参考答案.pdf
- T_DZJN 455-2025 冶金工业变频节能选型设计规范.docx VIP
- 北京邮电大学《机器学习》2024 - 2025 学年第一学期期末试卷.pdf VIP
- 新版2026春重庆大学版英语四年级下册单词表国标手写斜体描红字帖.pdf
原创力文档

文档评论(0)