我被告知Huffman编码被用作无损数据压缩算法,但同时我也听说现实中的数据压缩软件并不采用Huffman编码,因为如果键的分布不够分散,压缩后的文件甚至可能比原始文件还要大。
这让我想知道Huffman编码是否有任何真实世界的应用?
我被告知Huffman编码被用作无损数据压缩算法,但同时我也听说现实中的数据压缩软件并不采用Huffman编码,因为如果键的分布不够分散,压缩后的文件甚至可能比原始文件还要大。
这让我想知道Huffman编码是否有任何真实世界的应用?
Huffman编码现在通常被用作其他压缩方法的“后端”。 DEFLATE(PKZIP的算法)和多媒体编解码器,如JPEG和MP3,都具有前端模型和量化,然后是Huffman编码。
哈夫曼编码有许多实际应用。ZIP 是使用哈夫曼编码作为基础的最广泛使用的压缩工具。Google 最新推出的最高效无损压缩算法 Brotli Compression 也使用了哈夫曼编码,此外,Brotli 还使用 LZ77 和其他一些基本的无损压缩算法。请参阅Brotli。
Huffman编码用于将固定长度的编码转换为可变长度的编码,从而实现无损压缩。可变长度的编码可以使用JPEG和MPEG技术进一步压缩,以获得所需的压缩比。