LZX
   HOME

TheInfoList



OR:

LZX is an
LZ77 LZ77 and LZ78 are the two lossless data compression algorithms published in papers by Abraham Lempel and Jacob Ziv in 1977 and 1978. They are also known as LZ1 and LZ2 respectively. These two algorithms form the basis for many variations includin ...
family
compression Compression may refer to: Physical science *Compression (physics), size reduction due to forces *Compression member, a structural element such as a column *Compressibility, susceptibility to compression * Gas compression *Compression ratio, of a ...
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
, a slightly improved version of DEFLATE. imlib: the open source Windows Imaging (WIM) library - Compression algorit hmhttps://wimlib.net/compression.html/ref> It is also the name of a file archiver with the same name. Both were invented by
Jonathan Forbes Jonathan Forbes (born 4 December 1976 in Dublin) is an Irish actor. Early life Forbes was born in Dublin, Ireland on 4 December 1976. He attended Gonzaga College where he was in the same class as fellow actor Andrew Scott (actor), Andrew Scot ...
and Tomi Poutanen in 1990s.


Instances of use of the LZX algorithm


Amiga LZX

LZX was publicly released as an Amiga file archiver in 1995, while the authors were studying at the
University of Waterloo The University of Waterloo (UWaterloo, UW, or Waterloo) is a public research university with a main campus in Waterloo, Ontario, Canada. The main campus is on of land adjacent to "Uptown" Waterloo and Waterloo Park. The university also operates ...
in
Canada Canada is a country in North America. Its ten provinces and three territories extend from the Atlantic Ocean to the Pacific Ocean and northward into the Arctic Ocean, covering over , making it the world's second-largest country by tot ...
. The software was shareware, which was common for compression software at the time. The registered version contained fixes and improvements not available in the evaluation version. In 1997, the authors gave away a free keyfile, which allowed anyone to use the registered version, as they had stopped work on the archiver and stopped accepting registrations.


Microsoft Cabinet files

In 1996, Forbes went to work for
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washin ...
, and Microsoft's
cabinet Cabinet or The Cabinet may refer to: Furniture * Cabinetry, a box-shaped piece of furniture with doors and/or drawers * Display cabinet, a piece of furniture with one or more transparent glass sheets or transparent polycarbonate sheets * Filing ...
archiver was enhanced to include the LZX compression method. Improvements included a variable search window size; Amiga LZX was fixed to 64 KB, Microsoft LZX could range on powers of two between 32 and 2048
kilobyte The kilobyte is a multiple of the unit byte for digital information. The International System of Units (SI) defines the prefix '' kilo'' as 1000 (103); per this definition, one kilobyte is 1000 bytes.International Standard IEC 80000-13 Quant ...
s (32,768 to 2,097,152 bytes). A special
preprocessor In computer science, a preprocessor (or precompiler) is a program that processes its input data to produce output that is used as input in another program. The output is said to be a preprocessed form of the input data, which is often used by so ...
was added to detect Intel
80x86 x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its Intel 8088, 8088 variant. The 808 ...
"CALL" instructions, converting their
operand In mathematics, an operand is the object of a mathematical operation, i.e., it is the object or quantity that is operated on. Example The following arithmetic expression shows an example of operators and operands: :3 + 6 = 9 In the above exam ...
s from relative addressing to absolute addressing, thus calls to the same location resulted in repeated strings that the compressor could match, improving compression of 80x86 binary code. (This technique is later generalized as Branch-Call-Jump CJfiltering.)


Microsoft Compressed HTML Help (CHM) files

When Microsoft introduced
Microsoft Compressed HTML Help Microsoft Compiled HTML Help is a Microsoft proprietary online help format, consisting of a collection of HTML pages, an index and other navigation tools. The files are compressed and deployed in a binary format with the extension .CHM, for Com ...
, the replacement to their classic Help file format, they chose to compress all of the HTML data with the LZX algorithm. However, in order to improve random access speed, the compressor was altered to reset itself after every 64 kilobyte (65,536 bytes) interval and re-align to a 16-bit boundary after every 32 kilobyte interval. Thus, the HTMLHelp software could immediately seek to the nearest 64 kilobyte interval and start decoding from there, rather than decoding from the beginning of the compressed datastream at all times.


Microsoft Reader (LIT) files

Microsoft LIT files for
Microsoft Reader Microsoft Reader is a discontinued Microsoft application for reading e-books, first released in August 2000, that used its own .LIT format. It was available for Windows computers and Pocket PC PDAs. The name was also used later for an unrelated a ...
are simply an extension of the CHM file format, and thus also use LZX compression.


Windows Imaging Format (WIM) files

Windows Imaging Format The Windows Imaging Format (WIM) is a file-based disk image format. It was developed by Microsoft to help deploy Windows Vista and subsequent versions of the Windows operating system family, as well as Windows Fundamentals for Legacy PCs. Desig ...
, the installation/drive image file format of
Windows Vista Windows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, which was released five years before, at the time being the longest time span between successive releases of ...
and
Windows 7 Windows 7 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on July 22, 2009, and became generally available on October 22, 2009. It is the successor to Windows Vista, released nearly ...
, uses LZX as one of the compression methods.


CompactOS NTFS file compression

In
Windows 10 Windows 10 is a major release of Microsoft's Windows NT operating system. It is the direct successor to Windows 8.1, which was released nearly two years earlier. It was released to manufacturing on July 15, 2015, and later to retail on J ...
, LZX compression from Windows Imaging Format is used for new CompactOS NTFS file compression.


Xbox Live Avatars

Microsoft uses LZX compression on Xbox Live Avatars to reduce their disk and bandwidth requirements.


Decompressing LZX files

The unlzx program and XAD can unpack Amiga LZX archives. The cabextract program can unpack Microsoft cabinet files using the LZX method. There are a multitude of cross-platform tools for decompiling or viewing CHM files, as stated in the CHM article. LIT files can be unpacked using the Convert LIT software.


See also

*
List of archive formats This is a list of file formats used by archivers and compressors used to create archive files. Archiving only Compression only Archiving and compression Data recovery Comparison Containers and compression Notes While the original ...
*
Comparison of file archivers The following tables compare general and technical information for a number of file archivers. Please see the individual products' articles for further information. They are neither all-inclusive nor are some entries necessarily up to date. Unless ...


References


External links


The LZX page, including many versions of the Amiga LZX archiver

unlzx source code

cabextract (includes source code)

wimlib (included source code)

Convert LIT (includes source code)

Microsoft's LZX DELTA specification
{{Compression Methods Amiga Lossless compression algorithms