LZ77
From Just Solve the File Format Problem
(Difference between revisions)
(→See also: No need to list both DEFLATE and LZ+Huf) |
|||
(2 intermediate revisions by one user not shown) | |||
Line 5: | Line 5: | ||
|released=1977 | |released=1977 | ||
}} | }} | ||
− | '''LZ77''' is a general data compression algorithm. It works by putting codes in the compressed datastream which indicate that some recently-decompressed data is to be repeated. | + | '''LZ77''' is a general-purpose data compression algorithm. It works by putting codes in the compressed datastream which indicate that some recently-decompressed data is to be repeated. |
+ | |||
+ | == Technical notes == | ||
+ | The original LZ77 compression scheme forces the ''repeat-matched-string'' and ''emit-literal-character'' codes to be interleaved, so that there are the same number of each. Most actual "LZ77" implementations have no such peculiarity. Most are more similar to [[LZSS]] than to the original LZ77, though many (especially when [[LZ77 with Huffman coding|Huffman coding is involved]]) have been optimized to the point where they don't look very much like LZSS, either. | ||
+ | |||
+ | In practice, the terms ''LZ77'' and ''LZSS'' should not be assumed to mean anything more specific than "some form of generalized LZ77/LZSS compression". | ||
== See also == | == See also == | ||
− | * [[ | + | * [[LZ77 with Huffman coding]] |
* [[LZ78]] | * [[LZ78]] | ||
+ | * [[LZSS]] | ||
== Resources == | == Resources == | ||
* [[Wikipedia:LZ77 and LZ78|Wikipedia: LZ77 and LZ78]] | * [[Wikipedia:LZ77 and LZ78|Wikipedia: LZ77 and LZ78]] |
Latest revision as of 14:53, 12 September 2021
LZ77 is a general-purpose data compression algorithm. It works by putting codes in the compressed datastream which indicate that some recently-decompressed data is to be repeated.
[edit] Technical notes
The original LZ77 compression scheme forces the repeat-matched-string and emit-literal-character codes to be interleaved, so that there are the same number of each. Most actual "LZ77" implementations have no such peculiarity. Most are more similar to LZSS than to the original LZ77, though many (especially when Huffman coding is involved) have been optimized to the point where they don't look very much like LZSS, either.
In practice, the terms LZ77 and LZSS should not be assumed to mean anything more specific than "some form of generalized LZ77/LZSS compression".