Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
441 views
in Technique[技术] by (71.8m points)

除了HuffmanLZMA之外还有那些压缩算法?

除了Huffman和LZMA外还有啥压缩算法呐?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

你提这俩都是无损压缩算法。

如果局限于此的话,LZMA 的前辈有 LZ77LZ78,以及后来的变体 LZXLZWLZXXLZWLLZSSLZJLZO 等等,其开头两个字母 LZ 得名于两个发明者姓氏首字母。

二者合体还有一个 DEFLATE

更古早一些的有 Shannon-Fano coding(香农-范诺编码),由信息论之父香农发明,不过因为效率低所以没流行起来。

新一点儿的有 PPM,不是音频的那个 PPM 格式,而是 Predicition with partial string matching,RAR 用的就是它。

再就还有 BWTBurrows-Wheeler Transform)算法,其最著名的开源实现就是 bzip2,广泛存在于类 Unix 系统中。

这都是比较流行的了,都有一些流行的归档程序(比如 ARC、RAR、ZIP、7z)在使用。

更新的一些的就是如今这些互联网巨头们发明的了,比如谷歌的 ZopfliBrotli;微软的 Project Zipline;Facebook 的 zstd;苹果的 LZFSE 等等等等。

P.S. 除了香农-范诺编码这个鼻祖外,上面提到的这些算法绝大部分要么参考了霍夫曼编码的理论,要么本身就依赖于霍夫曼编码,所以无论怎么着都离不开 Huffman


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...