Skip to content
EntityQ2733· pop 18· linked from 250 articles

Lempel–Ziv–Markov chain algorithm

Sign in to save

Also known as LZMA, Lempel–Ziv–Markov algorithm

LZMA (Lempel–Ziv–Markov chain algorithm) is a lossless data compression algorithm developed since 1998 by Igor Pavlov, the developer of 7-Zip. It has been used in the 7z format of the 7-Zip archiver since 2001. This algorithm uses a dictionary compression scheme somewhat similar to the LZ77 algorithm published by Abraham Lempel and Jacob Ziv in 1977 and features a high compression ratio (generally higher than bzip2) and a variable compression-dictionary size (up to 4 GB), while still maintaining decompression speed similar to other commonly used compression algorithms.

~23 min read

Encyclopedic overview

13 sections
Contents
  • Overview
  • Compressed format overview
  • Decompression algorithm details
  • Range coding of bits
  • Range coding of integers
  • LZMA configuration
  • LZMA coding contexts
  • LZMA2 format
  • xz and 7z formats
  • 7-Zip reference implementation
  • Other implementations
  • References
  • External links

LZMA (Lempel–Ziv–Markov chain algorithm) is a lossless data compression algorithm developed since 1998 by Igor Pavlov, the developer of 7-Zip. It has been used in the 7z format of the 7-Zip archiver since 2001. This algorithm uses a dictionary compression scheme somewhat similar to the LZ77 algorithm published by Abraham Lempel and Jacob Ziv in 1977 and features a high compression ratio (generally higher than bzip2) and a variable compression-dictionary size (up to 4 GB), while still maintaining decompression speed similar to other commonly used compression algorithms.

LZMA2 is a simple container format that allows multi-threaded compression and decompression using multiple separate LZMA streams. It is used in both in the 7z and the xz format.

Excerpted from Wikipedia’s “Lempel–Ziv–Markov chain algorithm” article, available under the CC BY-SA 4.0 licence.