LZX (algorithm)
Encyclopedia
LZX is the name of an LZ77 family compression
algorithm
. It is also the name of a file archiver with the same name. Both were invented by Jonathan Forbes and Tomi Poutanen.
file archiver in 1995, while the authors were studying at the University of Waterloo
in Canada
. 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.
, and Microsoft's cabinet
archiver was enhanced to include the LZX compression method. Improvements included a variable search window size; Amiga LZX was fixed to 64kB, Microsoft LZX could range on powers of two between 32 and 2048 kilobytes. A special preprocessor
was added to detect Intel 80x86 "CALL" instructions, converting their operand
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.
, 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 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.
are simply an extension of the CHM file format, and thus also use LZX compression.
and Windows 7, uses LZX as one of the compression methods.
article. LIT files can be unpacked using the Convert LIT software.
Data compression
In computer science and information theory, data compression, source coding or bit-rate reduction is the process of encoding information using fewer bits than the original representation would use....
algorithm
Algorithm
In mathematics and computer science, an algorithm is an effective method expressed as a finite list of well-defined instructions for calculating a function. Algorithms are used for calculation, data processing, and automated reasoning...
. It is also the name of a file archiver with the same name. Both were invented by Jonathan Forbes and Tomi Poutanen.
Amiga LZX
LZX was publicly released as an AmigaAmiga
The Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities...
file archiver in 1995, while the authors were studying at the University of Waterloo
University of Waterloo
The University of Waterloo is a comprehensive public university in the city of Waterloo, Ontario, Canada. The school was founded in 1957 by Drs. Gerry Hagey and Ira G. Needles, and has since grown to an institution of more than 30,000 students, faculty, and staff...
in Canada
Canada
Canada is a North American country consisting of ten provinces and three territories. Located in the northern part of the continent, it extends from the Atlantic Ocean in the east to the Pacific Ocean in the west, and northward into the Arctic Ocean...
. The software was shareware
Shareware
The term shareware is a proprietary software that is provided to users without payment on a trial basis and is often limited by any combination of functionality, availability, or convenience. Shareware is often offered as a download from an Internet website or as a compact disc included with a...
, 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 MicrosoftMicrosoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
, and Microsoft's cabinet
Cabinet (file format)
In computing, CAB is the Microsoft Windows native compressed archive format. It supports compression and digital signing, and is used in a variety of Microsoft installation engines: Setup API, Device Installer, AdvPack and Windows Installer.Though Cabinet was originally called Diamond, its .CAB...
archiver was enhanced to include the LZX compression method. Improvements included a variable search window size; Amiga LZX was fixed to 64kB, Microsoft LZX could range on powers of two between 32 and 2048 kilobytes. A special preprocessor
Preprocessor
In computer science, a preprocessor is a program that processes its input data to produce output that is used as input to another program. The output is said to be a preprocessed form of the input data, which is often used by some subsequent programs like compilers...
was added to detect Intel 80x86 "CALL" instructions, converting their operand
Operand
In mathematics, an operand is the object of a mathematical operation, a quantity on which an operation is performed.-Example :The following arithmetic expression shows an example of operators and operands:3 + 6 = 9\;...
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.
Microsoft Compressed HTML Help (CHM) files
When Microsoft introduced Microsoft Compressed HTML HelpMicrosoft Compressed HTML Help
Microsoft Compiled HTML Help is a Microsoft proprietary online help format. It was introduced as the successor to Microsoft WinHelp with the release of Windows 98, and is still supported in Windows 7.-History:...
, 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 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 ReaderMicrosoft Reader
Microsoft Reader is a Microsoft program for the reading of e-books, originally released in August 2000.Microsoft Reader is available for download from Microsoft as a free program for computers running Windows. It can also be used on a Pocket PC, where it has been built into the ROM since Windows CE...
are simply an extension of the CHM file format, and thus also use LZX compression.
Windows Imaging Format (WIM) files
Windows Imaging Format, the installation/drive image file format of Windows VistaWindows Vista
Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...
and Windows 7, uses LZX as one of the compression methods.
Xbox Live Avatars
Microsoft uses LZX compression on Xbox Live Avatars to reduce their disk and bandwidth requirements.Decompressing LZX files
The unlzx program 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 CHMMicrosoft Compressed HTML Help
Microsoft Compiled HTML Help is a Microsoft proprietary online help format. It was introduced as the successor to Microsoft WinHelp with the release of Windows 98, and is still supported in Windows 7.-History:...
article. LIT files can be unpacked using the Convert LIT software.