简体   繁体   中英

Use case of Huffman coding in real applications?

I'm doing some research on Huffman coding, there are some variants and I can't find their use case in real applications.

Huffman (classic): ? (pass tree with 0 for node and 1 for leaf)

Efficient way of storing Huffman tree

Canonical Variant

  • JPEG
  • PNG

Fixed Variant

  • Deflate
  • HPACK http/2

Adaptative Variant: ?

Do you know of any other use cases?

Thank you.

I'm not sure what you're trying to discriminate there between "canonical" and "fixed". All implementations I know of use canonical Huffman codes, since that avoids having to transmit information about a Huffman code that is irrelevant. Both Deflate and JPEG use both fixed and dynamic Huffman codes, where fixed codes are defined a priori, and dynamic codes depend on the data being compressed.

PNG uses Deflate as does many, many other applications. Some examples are gzip, zip, HTTP (with the gzip or zlib "deflate" encodings), PDF, FITS, CDF, HDF. I have no idea how many more.

You just used Deflate to read this web page. There. You did it again, You do this every day. many many times.

Brotli is another compression format that uses Huffman codes.

I'm sure there are a thousand others, many of which are proprietary.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM