Compression

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
m (Specific file formats/programs)
m (Transparent file compression)
(48 intermediate revisions by 5 users not shown)
Line 9: Line 9:
 
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.
 
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 in general ==
+
== Compression algorithms and compressed data formats ==
  
(including specific implementations used in multiple formats)
+
(excluding formats usually used as file formats)
  
 
* [[Arithmetic coding]]
 
* [[Arithmetic coding]]
 +
* [[Brotli]]
 +
* [[Burrows–Wheeler transform]]
 
* [[DEFLATE]]
 
* [[DEFLATE]]
 +
* [[DivANS]]
 
* [[Huffman coding]]
 
* [[Huffman coding]]
* [[Lempel-Ziv]]
 
 
* [[LZ4]]
 
* [[LZ4]]
 
* [[LZ77]]
 
* [[LZ77]]
 
* [[LZ78]]
 
* [[LZ78]]
 +
* [[LZFSE]]
 +
* [[LZHAM]]
 
* [[LZMA]]
 
* [[LZMA]]
 
* [[LZMA2]]
 
* [[LZMA2]]
 +
* [[LZO]] (Lempel–Ziv–Oberhumer)
 
* [[LZSS]] (Lempel–Ziv–Storer–Szymanski)
 
* [[LZSS]] (Lempel–Ziv–Storer–Szymanski)
 
* [[LZW]]
 
* [[LZW]]
 +
* [[MSZIP]]
 +
* [[PKWARE DCL Implode]]
 +
* [[PPMd]]
 
* [[Run-length encoding]]
 
* [[Run-length encoding]]
 +
** [[RLE90]]
 +
* [[Shannon–Fano coding]]
 +
* [[Snappy]] (Google-created compression also used by Apple in iWork formats)
 
* [[zlib]]
 
* [[zlib]]
 +
* [[Zstandard]] (Zstd)
 +
** [[Zstandard dictionary]]
 +
 +
=== Graphics compression ===
 +
See [[Graphics#Compression]] for compression formats used primarily with graphics.
  
 
== Specific file formats/programs ==
 
== Specific file formats/programs ==
  
* [[7z]]  
+
(multi-file compressors are in [[Archiving]])
 +
 
 
* [[9CDR]] (Amiga FileImploder Clone)
 
* [[9CDR]] (Amiga FileImploder Clone)
 
* [[BARF]] (.x, .x??)
 
* [[BARF]] (.x, .x??)
 +
* [[BWTC32Key]] (.B3K)
 
* [[bzip]] (.bz)
 
* [[bzip]] (.bz)
 
* [[bzip2]] (.bz2)
 
* [[bzip2]] (.bz2)
 +
* [[Compact (Unix)|compact]] (.C)
 
* [[compress]] (.Z)
 
* [[compress]] (.Z)
 
* [[CrLZH]] (.?y?)
 
* [[CrLZH]] (.?y?)
 
* [[CRN]] (.crn) - compressed text files used for PC-Write manual
 
* [[CRN]] (.crn) - compressed text files used for PC-Write manual
 
* [[Crunch]] (.?z?)
 
* [[Crunch]] (.?z?)
* [[DiskDoubler]]
 
 
* [[DUPA]] (Amiga FileImploder Clone)
 
* [[DUPA]] (Amiga FileImploder Clone)
 
* [[Error Code Modeler]] (.ecm)
 
* [[Error Code Modeler]] (.ecm)
Line 44: Line 62:
 
* [[Freeze/Melt]] (Unix) (.F)
 
* [[Freeze/Melt]] (Unix) (.F)
 
* [[gzip]] (.gz)
 
* [[gzip]] (.gz)
 +
* [[Hammer (compression)|Hammer]]
 +
* [[ICE (Michael Lamanuzzi)|ICE]] (.ice, by Michael Lamanuzzi)
 
* [[Inflate]] (.infl) - parody format that actually increases size
 
* [[Inflate]] (.infl) - parody format that actually increases size
 +
* [[JAM (W. Jiang)]]
 
* [[JCalG1]] (.jc, Commodore Amiga)
 
* [[JCalG1]] (.jc, Commodore Amiga)
 +
* [[lrzip]] (.lrz)
 
* [[Lzip]] (.lz)
 
* [[Lzip]] (.lz)
 
* [[LZMA Alone|LZMA_Alone]] (.lzma)
 
* [[LZMA Alone|LZMA_Alone]] (.lzma)
 
* [[lzop]] (.lzo)
 
* [[lzop]] (.lzo)
 
* [[LZX]]
 
* [[LZX]]
 +
* [[Mozilla LZ4]] (.jsonlz4)
 
* [[MS-DOS installation compression]] (.??_)
 
* [[MS-DOS installation compression]] (.??_)
 +
* [[Oodle Data Compression]]
 
* [[pack]] (.z)
 
* [[pack]] (.z)
 +
* [[PowerPacker]] (.pp)
 +
* [[Pro-Pack]]
 +
* [[RAC]]
 
* [[RK]] (WinRK)
 
* [[RK]] (WinRK)
 +
* [[rzip]] (.rz)
 +
* [[SCO compress LZH]]
 +
* [[SHARC]] (density)
 
* [[Softdisk Text Compressor]] (.ctx)
 
* [[Softdisk Text Compressor]] (.ctx)
 
* [[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?)
 +
* [[TTComp archive]]
 
* [[tzip]]
 
* [[tzip]]
 
* [[Tzip (Text ZIP)]]
 
* [[Tzip (Text ZIP)]]
 +
* [[WWPACK]]
 
* [[XZ]] (.xz)
 
* [[XZ]] (.xz)
 +
* [[Yaz0]]
 +
 +
== Transparent file compression ==
 +
(An obsolete technique in which a background process hooks into the OS and decompresses files transparently when they are read. ''Compression'' is usually done manually. The line between this and ''Disk compression'' can be blurry.)
 +
 +
* [[CFS (Computer Concepts Compression)]]
 +
* [[DIET (compression)|DIET]]
 +
* [[Pack-Ice]]
 +
* [[SLIM (Dominic Herity)|SLIM]]
 +
* [[XPACK]]
 +
 +
== 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]].
 +
 +
== Executable compression ==
 +
 +
See [[Executable compression]].
  
 
== See also ==
 
== See also ==
  
 +
* [[Compression research]]
 
* [[Archiving]] (for formats that place multiple files together in one file, with or without compression)
 
* [[Archiving]] (for formats that place multiple files together in one file, with or without compression)
 
* [[Graphics#Compression|Graphics]] (for image-specific compression)
 
* [[Graphics#Compression|Graphics]] (for image-specific compression)
 
* [[Video]] (for video-specific compression)
 
* [[Video]] (for video-specific compression)
 
* [[Audio and Music]] (for audio-specific compression)
 
* [[Audio and Music]] (for audio-specific compression)
 +
 +
== Links ==
 +
* [http://boingboing.net/2014/03/04/data-compression-with-playing.html Data-compression with playing cards]
 +
* [http://www.quora.com/What-is-the-most-compressed-file-ever/answer/Kelly-Martin?srid=uejz&share=1 What is the most compressed file ever?]
 +
* [http://ieeeghn.org/wiki/index.php/History_of_Lossless_Data_Compression_Algorithms History of Lossless Data Compression Algorithms]

Revision as of 14:01, 10 February 2020

File Format
Name Compression
Ontology

{{{caption}}}

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)

Graphics compression

See Graphics#Compression for compression formats used primarily with graphics.

Specific file formats/programs

(multi-file compressors are in Archiving)

Transparent file compression

(An obsolete technique in which a background process hooks into the OS and decompresses files transparently when they are read. Compression is usually done manually. The line between this and Disk compression can be blurry.)

Disk compression

(Transparent disk compression software and the like, excluding filesystem formats.)

For filesystem formats that feature compression, see Filesystem.

Executable compression

See Executable compression.

See also

Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox