Compression
(→Specific file formats/programs) |
(→Specific file formats/programs) |
||
(12 intermediate revisions by 2 users not shown) | |||
Line 20: | Line 20: | ||
* [[HPACK (HTTP)|HPACK]] (used to compress HTTP headers) | * [[HPACK (HTTP)|HPACK]] (used to compress HTTP headers) | ||
* [[Huffman coding]] | * [[Huffman coding]] | ||
+ | ** [[Adaptive Huffman coding]] | ||
+ | ** [[Canonical Huffman code]] | ||
+ | * [[Lempel–Ziv–Stac]] (LZS) | ||
* [[LZ4]] | * [[LZ4]] | ||
* [[LZ77]] | * [[LZ77]] | ||
+ | * [[LZ77 with Huffman coding]] | ||
* [[LZ78]] | * [[LZ78]] | ||
* [[LZFSE]] | * [[LZFSE]] | ||
Line 27: | Line 31: | ||
* [[LZMA]] | * [[LZMA]] | ||
* [[LZMA2]] | * [[LZMA2]] | ||
+ | * [[LZMW]] | ||
* [[LZO]] (Lempel–Ziv–Oberhumer) | * [[LZO]] (Lempel–Ziv–Oberhumer) | ||
* [[LZSS]] (Lempel–Ziv–Storer–Szymanski) | * [[LZSS]] (Lempel–Ziv–Storer–Szymanski) | ||
Line 35: | Line 40: | ||
* [[Prediction by partial matching]] (PPM) | * [[Prediction by partial matching]] (PPM) | ||
* [[Run-length encoding]] | * [[Run-length encoding]] | ||
+ | ** [[PackBits]] | ||
** [[RLE90]] | ** [[RLE90]] | ||
* [[Shannon–Fano coding]] | * [[Shannon–Fano coding]] | ||
Line 55: | Line 61: | ||
* [[bzip]] (.bz) | * [[bzip]] (.bz) | ||
* [[bzip2]] (.bz2) | * [[bzip2]] (.bz2) | ||
+ | * [[ChiefLZ]] (.LZZ) | ||
+ | * [[compact (Gene Olson)]] (.W) | ||
* [[compact (Unix)]] (.C) | * [[compact (Unix)]] (.C) | ||
* [[compress (Unix)]] (.Z) | * [[compress (Unix)]] (.Z) | ||
Line 65: | Line 73: | ||
* [[Error Code Modeler]] (.ecm) | * [[Error Code Modeler]] (.ecm) | ||
* [[File Imploder]] (Amiga) (.imp) | * [[File Imploder]] (Amiga) (.imp) | ||
+ | * [[FlySpeed st/exp]] | ||
* [[Freeze/Melt]] (Unix) (.F) | * [[Freeze/Melt]] (Unix) (.F) | ||
* [[gzip]] (.gz) | * [[gzip]] (.gz) | ||
Line 72: | Line 81: | ||
* [[Inflate]] (.infl) - parody format that actually increases size | * [[Inflate]] (.infl) - parody format that actually increases size | ||
* [[JAM (W. Jiang)]] | * [[JAM (W. Jiang)]] | ||
+ | * [[The JAM Packer]] | ||
* [[JCalG1]] (.jc, Commodore Amiga) | * [[JCalG1]] (.jc, Commodore Amiga) | ||
* [[lrzip]] (.lrz) | * [[lrzip]] (.lrz) | ||
Line 77: | Line 87: | ||
* [[LZMA Alone|LZMA_Alone]] (.lzma) | * [[LZMA Alone|LZMA_Alone]] (.lzma) | ||
* [[lzop]] (.lzo) | * [[lzop]] (.lzo) | ||
+ | * [[LZS221]] | ||
* [[LZX]] | * [[LZX]] | ||
* [[Mozilla LZ4]] (.jsonlz4) | * [[Mozilla LZ4]] (.jsonlz4) | ||
Line 92: | Line 103: | ||
* [[SHARC]] (density) | * [[SHARC]] (density) | ||
* [[Softdisk Text Compressor]] (.ctx) | * [[Softdisk Text Compressor]] (.ctx) | ||
+ | * [[SQ2]] | ||
* [[Squash (RISC OS)|Squash]] - single file compression on RISC OS | * [[Squash (RISC OS)|Squash]] - single file compression on RISC OS | ||
* [[Squeeze|Squeeze/SQ]] (.?q?) | * [[Squeeze|Squeeze/SQ]] (.?q?) | ||
* [[SQUEEZE (AJP Systems)]] | * [[SQUEEZE (AJP Systems)]] | ||
+ | * [[squeeze (Daniel Bernstein)]] (.MW) | ||
+ | * [[Squish (Mike Albert)]] | ||
+ | * [[Sunzip]] (.sz) | ||
* [[TERSE]] | * [[TERSE]] | ||
* [[TTComp archive]] | * [[TTComp archive]] | ||
Line 104: | Line 119: | ||
* [[XZ]] (.xz) | * [[XZ]] (.xz) | ||
* [[Yaz0]] | * [[Yaz0]] | ||
+ | * [[Zoo filter format]] | ||
+ | * [[Zoo Z format]] | ||
+ | * [[ZSQ (LZW compression)]] | ||
== Transparent file compression == | == Transparent file compression == | ||
Line 123: | Line 141: | ||
* [[Stacker]] | * [[Stacker]] | ||
− | For filesystem formats that feature compression, see [[Filesystem]]. | + | For filesystem formats that feature compression, see [[Filesystem]] (especially [[Filesystem#Compressed filesystems]]). |
== Executable compression == | == Executable compression == |
Revision as of 17:19, 10 January 2021
Contents |
Stream compression formats
A stream format takes a stream of bytes, and outputs a different, hopefully smaller, stream of bytes. These compression formats are often used internally in other data structures to compress data, as well as in network protocols, such as http. Used stand-alone, a stream compression format does not offer archiving capability, however in the UNIX doctrine, an archiver like tar can be combined with an archive format to produce a proper compressed archive.
Compression algorithms and compressed data formats
(excluding formats usually used as file formats)
- Arithmetic coding
- Brotli
- Burrows–Wheeler transform
- DEFLATE
- DivANS
- HPACK (used to compress HTTP headers)
- Huffman coding
- Lempel–Ziv–Stac (LZS)
- LZ4
- LZ77
- LZ77 with Huffman coding
- LZ78
- LZFSE
- LZHAM
- LZMA
- LZMA2
- LZMW
- LZO (Lempel–Ziv–Oberhumer)
- LZSS (Lempel–Ziv–Storer–Szymanski)
- LZW
- MSZIP
- PKWARE DCL Implode
- PPMd
- Prediction by partial matching (PPM)
- Run-length encoding
- Shannon–Fano coding
- Snappy (Google-created compression also used by Apple in iWork formats)
- zlib
- Zstandard (Zstd)
Graphics compression
See Graphics#Compression for compression formats used primarily with graphics.
Specific file formats/programs
(multi-file compressors are in Archiving)
- 9CDR (Amiga FileImploder Clone)
- BARF (.x, .x??)
- BGZF
- BWTC32Key (.B3K)
- bzip (.bz)
- bzip2 (.bz2)
- ChiefLZ (.LZZ)
- compact (Gene Olson) (.W)
- compact (Unix) (.C)
- compress (Unix) (.Z)
- CrLZH (.?y?)
- CRN (.crn) - compressed text files used for PC-Write manual
- Crunch (.?z?)
- Crunch-Mania
- DACT
- DUPA (Amiga FileImploder Clone)
- Error Code Modeler (.ecm)
- File Imploder (Amiga) (.imp)
- FlySpeed st/exp
- Freeze/Melt (Unix) (.F)
- gzip (.gz)
- Hammer
- HAP v2.x
- ICE (.ice, by Michael Lamanuzzi)
- Inflate (.infl) - parody format that actually increases size
- JAM (W. Jiang)
- The JAM Packer
- JCalG1 (.jc, Commodore Amiga)
- lrzip (.lrz)
- Lzip (.lz)
- LZMA_Alone (.lzma)
- lzop (.lzo)
- LZS221
- LZX
- Mozilla LZ4 (.jsonlz4)
- MS-DOS installation compression (.??_)
- Oodle Data Compression
- pack (Unix) (.z)
- PowerPacker (.pp)
- Pro-Pack
- PUT and GET (Scott Jennings)
- Quasijarus Strong Compression
- RAC
- RK (WinRK)
- rzip (.rz)
- SCO compress LZH
- SHARC (density)
- Softdisk Text Compressor (.ctx)
- SQ2
- Squash - single file compression on RISC OS
- Squeeze/SQ (.?q?)
- SQUEEZE (AJP Systems)
- squeeze (Daniel Bernstein) (.MW)
- Squish (Mike Albert)
- Sunzip (.sz)
- TERSE
- TTComp archive
- TTW
- tzip
- Tzip (Text ZIP)
- WWPACK
- XPK
- XZ (.xz)
- Yaz0
- Zoo filter format
- Zoo Z format
- ZSQ (LZW compression)
Transparent file compression
(A mostly-obsolete technique in which a background process hooks into the OS and decompresses files transparently when they are read. Compression might be done manually. The line between this and Disk compression can be blurry.)
Disk compression
(Transparent disk compression software and the like, excluding filesystem formats.)
- DiskDoubler
- DriveSpace and DoubleSpace
- JAM (disk compression)
- Stacker
For filesystem formats that feature compression, see Filesystem (especially Filesystem#Compressed filesystems).
Executable compression
See also
- Compression research
- Archiving (for formats that place multiple files together in one file, with or without compression)
- Graphics (for image-specific compression)
- Video (for video-specific compression)
- Audio and Music (for audio-specific compression)