- 15
- 0
- 约8.81千字
- 约 39页
- 2017-03-12 发布于湖北
- 举报
信息论基础 —信息论与编码 Dictionary coders 词典编码主要利用数据本身包含许多重复的字符串的特性。例如:吃葡萄不吐葡萄皮,不吃葡萄倒吐葡萄皮。 我们如果用一些简单的代号代替这些字符串,就可以实现压缩,实际上就是利用了信源符号之间的相关性。字符串与代号的对应表就是词典。 实用的词典编码算法的核心就是如何动态地形成词典,以及如何选择输出格式以减小冗余。 第一类词典编码 第一类词典编码的想法是企图查找正在压缩的字符序列是否在以前输入的数据中出现过,然后用已经出现过的字符串替代重复的部分,它的输出仅仅是指向早期出现过的字符串的“指针”。 第二类词典编码 从输入的数据中创建一个“短语词典(dictionary of the phrases )”,这种短语不要求有具体的含义。编码时,当遇到已经在词典中出现的“短语”时,编码器就输出这个词典中该“短语”的索引号。这种编码概念如图所示。 LZ77算法 LZ77(Abraham Lempel and Jacob Ziv in 1977) 算法在某种意义上又可以称为“滑动窗口压缩”,该算法将一个虚拟的,可以跟随压缩进程滑动的窗口作为词典,要压缩的字符串如果在该窗口中出现,则输出其出现的位置和长度。 算法中用到的几个术语 1.输入数据流(input stream):要被压缩的字符序列。 2.字符(characte
原创力文档

文档评论(0)