注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

widebright的个人空间

// 编程和生活

 
 
 

日志

 
 

数据压缩算法 lz77 , deflate , gzip 关系和相关资料  

2011-10-26 17:08:48|  分类: linux相关 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1977年,Jacob Ziv和Abraham Lempel描述了一种基于滑动窗口缓存的技术,该缓存用于保存最近刚刚处理的文本( Ziv J., Lempel A., "A Universal Algorithm for Sequential DataCompression", IEEE Transactions on Information Theory, Vol. 23,       No. 3, pp. 337-343. May 1977)。这个算法一般称为IZ77

http://csy8217.blog.163.com/blog/static/9446787200811111943266/

现在流向的上面zip  rar 7z 等应该都是这个办法的变异版本吧。
--------------------------------------------------------------------------
      
DEFLATE是同时使用了LZ77算法与哈夫曼编码(Huffman Coding)的一个无损数据压缩算法. 他先用lz77压缩,然后输出“偏移、长度”组合时又采用哈夫曼编码进行压缩。
   
DEFLATE Compressed Data Format Specification version 1.3
http://tools.ietf.org/html/rfc1951

开眼的zlib库还有很多jar等格式应该都是这个方法。可以自己去看一下zlib的源码的实现。
----------------------------------------------------------------------------
gzip的man 文档说的使用的 LZ77,具体一点应该说压缩快使用的应该是DEFLATE方法

这篇文章分析的比较详细,可能先看完DEFLATE 的Specification再看这个比较有帮助。

gzip原理与实现  http://www.cnblogs.com/netflu/archive/2008/12/26/1363221.html

GZIP file format specification  http://www.gzip.org/zlib/rfc-gzip.html

----------------------------------------------------------------------------------
相关的两个引用文献

   [1] Huffman, D. A., "A Method for the Construction of Minimum
       Redundancy Codes", Proceedings of the Institute of Radio
       Engineers, September 1952, Volume 40, Number 9, pp. 1098-1101.

   [2] Ziv J., Lempel A., "A Universal Algorithm for Sequential Data
       Compression", IEEE Transactions on Information Theory, Vol. 23,
       No. 3, pp. 337-343.
  评论这张
 
阅读(1223)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017