DEFLATE

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
m
 
(8 intermediate revisions by one user not shown)
Line 3: Line 3:
 
|subcat=Compression
 
|subcat=Compression
 
|pronom={{PRONOM|x-cmp/16}}
 
|pronom={{PRONOM|x-cmp/16}}
 +
|wikidata={{wikidata|Q2712}}
 +
|released=~1991
 
}}
 
}}
'''DEFLATE''' is a widely used lossless compression algorithm based on [[LZ77]] and [[Huffman coding]]. For many software implementations that support creation or extraction of [[ZIP]] archive files, DEFLATE is the only compression algorithm supported. It is also used by [[gzip]] and [[PNG]]. The [[PDF]] specification permits a variety of compression schemes, including DEFLATE, which is tagged as FlateDecode.
+
'''Deflate''' (stylized as '''DEFLATE''', '''Deflate''', or '''deflate''') is a widely used lossless compression algorithm based on [[LZ77 with Huffman coding]].
 +
 
 +
It was originally developed for use in [[PKZIP]] 2.x. For many software implementations that support creation or extraction of [[ZIP]] archive files, Deflate is the only compression algorithm supported.
 +
 
 +
There is a popular extension of Deflate known as [[zlib]] format, and the term "Deflate" often turns out to mean zlib. Formats that use Deflate ''without'' zlib include [[ZIP]] and [[gzip]].
 +
 
 +
The term '''Inflate''' is sometimes used in conjunction with decompressing this format.
 +
 
 +
== Format details ==
 +
DEFLATE is a segmented format, with each segment using one of three compression schemes:
 +
* 0: Non-compressed.
 +
* 1: LZ77+Huffman, with predefined Huffman codebooks. Likely intended as a low-overhead scheme for small files.
 +
* 2: LZ77+Huffman, static Huffman, with codebooks stored at the beginning of the segment.
 +
 
 +
Only non-compressed segments have a size limit.
  
 
== See also ==
 
== See also ==
 +
* [[ZIP]]
 
* [[zlib]]
 
* [[zlib]]
 +
 +
== Software ==
 +
* [https://zlib.net/ zlib]
 +
* [https://github.com/madler/infgen infgen] - Deflate "disassembler"
 +
 +
See also [[zlib#Software]], and [[ZIP#Software]].
  
 
== References ==
 
== References ==
* [http://www.ietf.org/rfc/rfc1951.txt RFC 1951: DEFLATE Compressed Data Format Specification version 1.3]
+
* RFC 1951: DEFLATE Compressed Data Format Specification version 1.3
* [http://en.wikipedia.org/wiki/DEFLATE DEFLATE : Wikipedia]
+
* [[Wikipedia:DEFLATE|DEFLATE : Wikipedia]]
 +
* [http://www.infinitepartitions.com/cgi-bin/showarticle.cgi?article=art001 Dissecting the GZIP format]
 +
 
 +
[[Category:PKWARE]]

Latest revision as of 13:35, 6 October 2024

File Format
Name DEFLATE
Ontology
PRONOM x-cmp/16
Wikidata ID Q2712
Released ~1991

Deflate (stylized as DEFLATE, Deflate, or deflate) is a widely used lossless compression algorithm based on LZ77 with Huffman coding.

It was originally developed for use in PKZIP 2.x. For many software implementations that support creation or extraction of ZIP archive files, Deflate is the only compression algorithm supported.

There is a popular extension of Deflate known as zlib format, and the term "Deflate" often turns out to mean zlib. Formats that use Deflate without zlib include ZIP and gzip.

The term Inflate is sometimes used in conjunction with decompressing this format.

Contents

[edit] Format details

DEFLATE is a segmented format, with each segment using one of three compression schemes:

  • 0: Non-compressed.
  • 1: LZ77+Huffman, with predefined Huffman codebooks. Likely intended as a low-overhead scheme for small files.
  • 2: LZ77+Huffman, static Huffman, with codebooks stored at the beginning of the segment.

Only non-compressed segments have a size limit.

[edit] See also

[edit] Software

See also zlib#Software, and ZIP#Software.

[edit] References

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox