# Canonical Huffman code

From Just Solve the File Format Problem

(Difference between revisions)

(Created page with "{{FormatInfo |formattype=electronic |subcat=Compression }} A '''Canonical Huffman code''' is essentially a set of tiebreaking rules that establish a single "canonical" Huffman...") |
m |
||

Line 3: | Line 3: | ||

|subcat=Compression | |subcat=Compression | ||

}} | }} | ||

− | A '''Canonical Huffman code''' is essentially a set of tiebreaking rules that establish a single "canonical" Huffman codebook (see [[Huffman coding]]), given the set of encoded symbols and their corresponding code lengths (in bits). The main benefit of using a canonical Huffman code is that it reduces the amount of information needed to represent a Huffman codebook. Specifically, you only need to know | + | A '''Canonical Huffman code''' is essentially a set of tiebreaking rules that establish a single "canonical" Huffman codebook (see [[Huffman coding]]), given the set of encoded symbols and their corresponding code lengths (in bits). The main benefit of using a canonical Huffman code is that it reduces the amount of information needed to represent a Huffman codebook. Specifically, you only need to know the code length of each symbol. |

From a file format perspective, the term is normally used with "static" (non-adaptive) Huffman compression schemes in which the Huffman codebook to use is stored in the file prior to the encoded data. Canonical Huffman coding is common, though not universal, in such formats. | From a file format perspective, the term is normally used with "static" (non-adaptive) Huffman compression schemes in which the Huffman codebook to use is stored in the file prior to the encoded data. Canonical Huffman coding is common, though not universal, in such formats. |

## Revision as of 15:37, 30 August 2020

A **Canonical Huffman code** is essentially a set of tiebreaking rules that establish a single "canonical" Huffman codebook (see Huffman coding), given the set of encoded symbols and their corresponding code lengths (in bits). The main benefit of using a canonical Huffman code is that it reduces the amount of information needed to represent a Huffman codebook. Specifically, you only need to know the code length of each symbol.

From a file format perspective, the term is normally used with "static" (non-adaptive) Huffman compression schemes in which the Huffman codebook to use is stored in the file prior to the encoded data. Canonical Huffman coding is common, though not universal, in such formats.