LZ77 with Huffman coding

From Just Solve the File Format Problem
Jump to: navigation, search
File Format
Name LZ77 with Huffman coding
Ontology

A popular data compression technique is to use LZ77 combined with some type of Huffman coding.

Popular though it is, it's not clear that it has a well-established name. LZH is sometimes used, but LZH more commonly refers to a particular implementation of it (see also the LZH disambiguation page), or to the LHA file format. In this article, though, we'll use LZH.

Discussion

The compressor uses LZ77 compression to produce a stream of coded instructions, and uses one or more Huffman codebooks to compress those instructions. The exact strategy for doing this could be complicated.

LZH can be subclassified into schemes that use Adaptive Huffman coding (the term LZAH might be used), and those that use non-adaptive ("static") Huffman coding. But it's not always that simple, because some LZH schemes use multiple kinds of Huffman coding.

Examples

Examples of formats that use, or may use, LZH:

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox