Data Compression


Criteria

Survey Formats

Basics

Compression Methods

Shannon-Fano

Huffman

Lempel-Ziv (LZ)

Arithmetic Coding

Run Length Encoding

Burrows-Wheeler (BWT)

Implementations

Data Formats


Glossary

Index


Download


www.BinaryEssence.com

Huffman Coding


The Huffman coding is a procedure to generate a binary code tree. The algorithm invented by David Huffman in 1952 ensures that the probability for the occurrence of every symbol results in its code length.


As far as known the Huffman coding is not covered by patents. A detailled description of the different types of Huffman coding and some expamples will be found in a special subject block:


Huffman Coding [Huffman Coding]

Example Huffman Tree [Huffman Coding: Example]

Construction of a Huffman Tree [Construction of a Huffman Tree]

Adaptive Huffman Coding [Adaptive Huffman Coding]



Huffman codes are part of several data formats as ZIP, GZIP and JPEG. Normally the coding is preceded by procedures adapted to the particular contents. For example the wide-spread DEFLATE algorithm as used in GZIP or ZIP previously processes the dictionary based LZ77 compression.


 <   ^   > 

Deflate [Deflate]

Deflate64™ (Enhanced Deflate) [Deflate64™ (Enhanced Deflate)]

GZIP [GZIP]

JPEG: Entropy Coding [JPEG: Entropy Coding]

Lempel-Ziv-77 (LZ77) [Lempel-Ziv-77 (LZ77)]

ZIP [ZIP]

Survey Compression Methods Shannon-Fano versus Huffman Lempel-Ziv Coding (LZ)