关于Lempel-Ziv压缩算法的笔记

 

Lempel-Ziv, 简称LZ, 拥有LZ77, LZ78, LZW几种不同的演变算法!LZ是一种典型的字典型压缩算法, 巧妙的利用字典, 减少信息量。

例子:

原始编码为: 1001011011010101011
现在有空字典一个, 首先由第一的bit开始, 索引1对应1,因为字典中没有0这个元素, 所以索引2对应0, 第三个bit, 0已经出现在字典中, 我们推后一位01,没有出现在字典中,因此索引为3加入字典。 以此类推!

索引最终用二进制方式表示, 我们得到1,0,10,11,01,101,010,1011这8个字典项, 用3位码可以表示, LZ扩展了一位已表示各个元素间关系。 如下表就是一个完整的字典。

字典
 位置  内容  编码
 001  1 0001 
 010  0  0000
 011  10  0010
 100  11  0011
 101  01  0101
 110  101  0111
 111  010  1010
   1011 1101 

如上所示, 对应的编码是叠加的内容10, 1的位置为001, 10为001+0=0010, 以此类推!

在实际应用中, 使用的是LZ77, LZ78之类的算法。使用的是即时编码的方式,一边编码一边加入字典。

阅读更多
文章标签: 算法 扩展
个人分类: 其它
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭