数据压缩算法—LZ77 vs LZ78

整数压缩编码 ZigZag
Huffman编码的建树优化方法:https://www.cnblogs.com/en-heng/p/4980055.html

LZ77 vs LZ78

  LZ77算法是采用字典做数据压缩的算法,由以色列的两位大神Jacob Ziv与Abraham Lempel在1977年发表的论文《A Universal Algorithm for Sequential Data Compression》中提出。
  基于统计的数据压缩编码,比如Huffman编码,需要得到先验知识——信源的字符频率,然后进行压缩。但是在大多数情况下,这种先验知识是很难预先获得。因此,设计一种更为通用的数据压缩编码显得尤为重要。LZ77数据压缩算法应运而生,其核心思想:利用数据的重复结构信息来进行数据压缩。
  与LZ77算法不同的是LZ78算法使用动态树状词典维护历史字符串。
LZ系列压缩算法均为LZ77与LZ78的变种,在此基础上做了优化。
http://www.cnblogs.com/en-heng/p/4992916.html
http://www.cnblogs.com/en-heng/p/6283282.html
LZ77:LZSS、LZR、LZB、LZH;
LZ78:LZW、LZC、LZT、LZMW、LZJ、LZFG。
其中,LZSS与LZW为这两大阵容里名气最响亮的算法。LZSS是由Storer与Szymanski [2]改进了LZ77:增加最小匹配长度的限制,当最长匹配的长度小于该限制时,则不压缩输出,但仍然滑动窗口右移一个字符。Google开源的Snappy压缩算法库大体遵循LZSS的编码方案,在其基础上做了一些工程上的优化。

Zopfli

  Zopfli编码方式有DEFLATE、gzip或zlib。Zopfli的输出一般比zlib的最大压缩小3%至8%,但消耗约80倍时间。Zopfli的解压速度与zlib的解压速度不相上下。由于其压缩速度显著较慢,zopfli不太适合实时压缩,一般用于静态内容的一次性压缩。如Web内容,PNG和WOFF字体文件,软件包文件下载和更新。
  https://github.com/google/zopfli

zlib

zlib编码方式是C语言的Deflate,
  https://github.com/madler/zlib

7-Zip

7-Zip编码方式是C++语言的Deflate,

你可能感兴趣的:(数据压缩算法)