3002:
2992:
733:) with a new hardware AHA3610 encoder chip. The new chip was designed to be capable of a sustained 2.5 Gbit/s. Using two of these chips, the AHA363-PCIe board can process Deflate at a rate of up to 5.0 Gbit/s (625 MB/s) using the two channels (two compression and two decompression). The AHA364-PCIe variant is an encode-only version of the card designed for out-going
673:. The AHA361/AHA362 boards are limited to only handling static Huffman blocks and require software to be modified to add support — the cards were not able to support the full Deflate specification, meaning they could only reliably decode their own output (a stream that did not contain any dynamic Huffman type 2 blocks).
369:
to produce as compact a representation as possible. As an alternative to including the tree representation, the "static tree" option provides standard fixed
Huffman trees. The compressed size using the static trees can be computed using the same statistics (the number of times each symbol appears) as
232:
is inserted, linking to the previous location of that identical string instead. An encoded match to an earlier string consists of an 8-bit length (3–258 bytes) and a 15-bit distance (1–32,768 bytes) to the beginning of the duplicate. Relative back-references can be made across any number of blocks,
410:
Deflate64, specified by PKWARE, is a proprietary variant of
Deflate. It's fundamentally the same algorithm. What has changed is the increase in dictionary size from 32 KB to 64 KB, an extension of the distance codes to 16 bits so that they may address a range of 64 KB, and the
411:
length code, which is extended to 16 bits so that it may define lengths of three to 65,538 bytes. This leads to
Deflate64 having a longer compression time, and potentially a slightly higher compression ratio, than Deflate. Several free and/or open source projects support Deflate64, such as
401:
capable of being decompressed by any existing
Deflate decoder. Differing implementations will likely produce variations on the final encoded bit-stream produced. The focus with non-zlib versions of an encoder has normally been to produce a more efficiently compressed and smaller encoded stream.
1340:
198:
encoding, which produces an optimized
Huffman tree customized for each block of data individually. Instructions to generate the necessary Huffman tree immediately follow the block header. The static Huffman option is used for short messages, where the fixed saving gained by omitting the tree
266:
which creates an unprefixed tree of non-overlapping intervals, where the length of each sequence is inversely proportional to the logarithm of the probability of that symbol needing to be encoded. The more likely it is that a symbol has to be encoded, the shorter its bit-sequence will be.
821:
E5-2600 and E5-2400 Processor Series (Sandy Bridge-EP/EN) supports hardware compression and decompression using QuickAssist
Technology. Depending on the chipset, compression and decompression rates of 5 Gbit/s, 10 Gbit/s, or 20 Gbit/s are
754:) is similar to the AHA363-PCIe but uses four AHA3610 chips for a sustained compression rate of 10 Gbit/s (1250 MB/s). Unlike the AHA362-PCIX, the decompression engines on the AHA363-PCIe and AHA367-PCIe boards are fully deflate compliant.
749:
kernel device drivers are available for both of the new cards, along with a modified zlib system library so that dynamically linked applications can automatically use the hardware support without internal modification. The AHA367-PCIe board
244:
If the distance is less than the length, the duplicate overlaps itself, indicating repetition. For example, a run of 10 identical bytes can be encoded as one byte, followed by a duplicate of length 9, beginning with the previous byte.
1160:
CPUs incorporate an improved version of the Nest
Accelerator Unit (NXU) hardware acceleration from the zEDC Express I/O expansion cards used in z14 systems for hardware Deflate compression and decompression as specified by
828:
CPUs incorporate an improved version of the Nest
Accelerator Unit (NXU) hardware acceleration from the zEDC Express I/O expansion cards used in z14 systems for hardware Deflate compression and decompression as specified by
287:
A match length code will always be followed by a distance code. Based on the distance code read, further "extra" bits may be read in order to produce the final distance. The distance tree contains space for 32 symbols:
1593:
800:, supports both Dynamic and Static Huffman tables, and can provide throughputs in excess of 100 Gbps. The company offers compression/decompression accelerator board reference designs for Intel FPGA (
356:
695:) or PCI-X cards featuring between one and six compression engines with claimed processing speeds of up to 3.6 Gbit/s (450 MB/s). A version of the cards are available with the separate brand
100:
As stated in the RFC document, an algorithm producing
Deflate files was widely thought to be implementable in a manner not covered by patents. This led to its widespread use – for example, in
1168:
architecture, IBM added hardware support for compressing and decompressing
Deflate (as specified by RFC 1951) to the formerly crypto-centric Nest accelerator (NX) core introduced with
836:
architecture, IBM added hardware support for compressing and decompressing Deflate (as specified by RFC 1951) to the formerly crypto-centric Nest accelerator (NX) core introduced with
248:
Searching the preceding text for duplicate substrings is the most computationally expensive part of the DEFLATE algorithm, and the operation which compression level settings affect.
262:
The second compression stage consists of replacing commonly used symbols with shorter representations and less commonly used symbols with longer representations. The method used is
861:
The normal intent with an alternative Inflate implementation is highly optimized decoding speed, or extremely predictable RAM usage for micro-controller embedded systems.
1711:
768:
contain high-speed hardware deflate and inflate engines compatible with both ZLIB and GZIP with some devices able to handle multiple simultaneous data streams.
1528:
592:
libdeflate: a library for fast, whole-buffer DEFLATE-based compression and decompression. Libdeflate is heavily optimized and especially on x86 processors.
1439:
1403:
533:, this version is freely licensed and achieves higher compression than zlib at the expense of CPU usage. Has an option to use the DEFLATE64 storage format.
1616:
640:) capable of compressing streams using Deflate at a rate of up to 3.0 Gbit/s (375 MB/s) for incoming uncompressed data. Accompanying the
1826:
853:
Inflate is the decoding process that takes a Deflate bitstream for decompression and correctly produces the original full-size data or file.
2494:
2305:
1573:
1506:
1453:
757:
2194:
1746:
3036:
2700:
2523:
2317:
2008:
1338:, "String Searcher, and Compressor Using Same", published 1991-09-24, issued 1991-09-24, assigned to PKWare Inc.
1139:
793:
670:
320:
1682:
977:), a small, unencumbered, single-file reference implementation included in the /contrib/puff directory of the zlib distribution.
2705:
2282:
1417:
1381:
1107:
386:
allows the user to select from a sliding scale of likely resulting compression-level vs. speed of encoding. Options range from
596:
AdvanceCOMP uses the higher compression ratio versions of Deflate in 7-Zip, libdeflate, and Zopfli to enable recompression of
1365:
955:
556:: uses its own proprietary compression library (in C++ and Assembly) with an option to implement the DEFLATE64 storage format
2435:
1647:
1482:
419:, do not, as a result of the proprietary nature of the procedure and the very modest performance increase over Deflate.
2812:
2550:
2489:
2300:
2250:
2073:
1788:
1933:
1918:
1819:
1657:
1088:
1060:
1030:
900:
722:
718:
714:
2925:
1151:
1147:
805:
801:
1249:
1123:
777:
464:
2935:
2773:
2624:
2543:
2337:
1294:
1064:
904:
605:
910:
2908:
2528:
2322:
2110:
1176:
7.2 Technology Level 4 Expansion Pack or AIX 7.2 Technology Level 5 Service Pack 2 through the zlibNX library.
844:
7.2 Technology Level 4 Expansion Pack or AIX 7.2 Technology Level 5 Service Pack 2 through the zlibNX library.
3005:
2041:
1143:
1040:
797:
501:: standard reference implementation adopted in many apps because of its open-source, permissive license. See
361:
The two codes (the 288-symbol length/literal tree and the 32-symbol distance tree) are themselves encoded as
2670:
2995:
2898:
2440:
1998:
1812:
1196:
570:; achieves higher compression at the expense of CPU usage. ZopfliPNG is a variation of Zopfli for use with
229:
199:
outweighs the percentage compression loss due to using a non-optimal (thus, not technically Huffman) code.
1988:
1983:
2930:
2857:
2695:
2675:
2619:
2277:
2068:
1871:
1074:
1056:
896:
468:
370:
are used to generate the dynamic trees, so it is easy for a compressor to choose whichever is smaller.
31:
1331:
3031:
2940:
2881:
2807:
2655:
2245:
2240:
2095:
1938:
601:
571:
516:
228:
Within compressed blocks, if a duplicate series of bytes is spotted (a repeated string), then a back-
105:
2945:
2518:
2312:
2013:
1157:
959:
946:
825:
761:
612:
files with the possibility of smaller file sizes than zlib is able to achieve at maximum settings.
452:
428:
383:
1594:"Intel® Xeon® Processor E5-2600 and E5-2400 Series with Intel® Communications Chipset 89xx Series"
2886:
2257:
2144:
2100:
1913:
1896:
1886:
1288:
1186:
1146:
The company offers compression/decompression accelerator board reference designs for Intel FPGA (
1029:
implementation of Deflate and gzip decompression, by Thomas Mertes. Made available under the GNU
625:
17:
86:
Katz also designed the original algorithm used to construct Deflate streams. This algorithm was
2511:
2262:
2046:
1891:
1191:
362:
2783:
1355:
986:
553:
2915:
1514:
578:
547:
543:
by Simon Tatham, it has full decoding capability, but only supports static tree only creation
317:
Note that for the match distance symbols 2–29, the number of extra bits can be calculated as
2599:
2061:
2023:
1844:
1461:
1308:
700:
80:
54:
1741:
1617:"Introducing the IBM z15 - The enterprise platform for mission-critical hybrid multicloud"
8:
2830:
2721:
2680:
2665:
2634:
2629:
2538:
2445:
2378:
2347:
2332:
2115:
1233:
Package flate implements the DEFLATE compressed data format, described in RFC issue 1951.
874:
811:
366:
277:
256: end of block – stop processing if last block, otherwise start processing next block.
2903:
2873:
2852:
2758:
2690:
2584:
2272:
2088:
2078:
1973:
1953:
1948:
656:
397:
Other Deflate encoders have been produced, all of which will also produce a compatible
2484:
1114:(Bitsim Accelerated Display Graphics Engine) controller offering for embedded systems.
1051:
decoder by Paul Sladen. Written for research/prototyping and made available under the
2847:
2835:
2817:
2685:
2569:
2506:
2352:
2267:
2223:
2184:
1866:
1653:
1433:
1397:
1361:
1097:: JavaScript speed-optimized port of zlib. Contains separate build with inflate only.
1018:
865:
742:
365:
by giving the bit length of the code for each symbol. The bit lengths are themselves
109:
1250:"PDF 32000-1:2008: Document management — Portable document format — Part 1: PDF 1.7"
2822:
2778:
2751:
2746:
2604:
2589:
2499:
2408:
2403:
2232:
1965:
1943:
1835:
1298:
1284:
427:
Implementations of Deflate are freely available in many languages. Apps written in
57:
1022:
993:), Public domain Inflate implementation contained entirely in a single C function.
983:
written by Jørgen Ibsen in ANSI C and comes with zlib license. Adds about 2k code.
394:
representing the maximum capability of the reference implementation in zlib/gzip.
382:
that chooses the amount of time spent looking for matching strings. The zlib/gzip
2741:
2555:
2479:
2460:
2430:
2398:
2364:
1923:
1861:
1792:
1750:
629:
609:
112:
file format for which Katz originally designed it. The patent has since expired.
87:
1761:
1311:
1269:
FlateDecode Decompresses data encoded using the zlib/deflate compression method
1070:
187:
block option adds minimal overhead and is used for data that is incompressible.
151:: A stored (a.k.a. raw or literal) section, between 0 and 65,535 bytes in length
2533:
2327:
2056:
2051:
1908:
1881:
1853:
1529:"High Performance DEFLATE Compression with Optimizations for Genomic Data Sets"
1036:
641:
563:
456:
440:
263:
257:
120:
A Deflate stream consists of a series of blocks. Each block is preceded by a 3-
68:
92:
3025:
2840:
2788:
2455:
2450:
2425:
2357:
1978:
1876:
1559:
Heavily optimized library for DEFLATE/zlib/gzip compression and decompression
980:
936:
734:
688:
663:
644:
521:
This code is less clever, but hopefully more understandable and maintainable
219:
64:
1783:
1084:
880:
2961:
1928:
1903:
1804:
1733:
1494:
708:
459:
offer out-of-the-box support for Deflate in their libraries (respectively,
436:
209:
Replacing symbols with new, weighted symbols based on the frequency of use.
97:
888:
680:
676:
30:
This article is about the data compression algorithm. For other uses, see
2920:
2798:
2594:
2470:
2420:
1554:
1052:
1008:
922:
892:
746:
586:
540:
60:
1117:
771:
2977:
2768:
2763:
2650:
2609:
2415:
1245:
1004:
1001:, Bob Flanders and Michael Holmes, published in PC Magazine 1994-01-11.
928:
508:
741:
compression channels feeding two physical compression engines. Linux,
1335:
1303:
870:
492:
398:
72:
38:
1216:
472:
283:
286, 287: not used, reserved and illegal but still part of the tree.
161:
compressed block, using a pre-agreed Huffman tree defined in the RFC
2891:
2736:
2393:
990:
476:
234:
1798:
1712:"Exploitation of In-Core Acceleration of POWER Processors for AIX"
1683:"Data compression by using the zlibNX library - IBM Documentation"
1495:
Does zlib support the new "Deflate64" format introduced by PKWare?
1110:
from BitSim. Hardware implementation of Inflate. Part of BitSim's
2083:
1775:
1173:
1130:. This is a Silicon IP core supporting decompression of Deflate,
1094:
841:
502:
313:
30–31: not used, reserved and illegal but still part of the tree.
280:
257–285: combined with extra-bits, a match length of 3–258 bytes.
145:
Second and third bits: Encoding method used for this block type:
684:
206:
The matching and replacement of duplicate strings with pointers.
2174:
1795:– an excellent algorithm to implement Deflate by Jesper Larsson
1578:
1169:
1165:
935:
machine language, written by Keir Fraser and released into the
932:
837:
833:
737:
and instead has multiple register sets to allow 32 independent
660:
567:
559:
887:
assembly language with optional memory paging support for the
589:. 3x faster than zlib -1. Useful for compressing genomic data.
190:
Most compressible data will end up being encoded using method
3009:
2614:
2207:
2154:
1048:
1026:
950:
815:
633:
582:
536:
530:
526:
512:
488:
448:
444:
412:
76:
1127:
781:
2164:
2018:
2003:
1993:
1507:"Plan 9 from Bell Labs's /n/sources/plan9/sys/src/libflate"
1418:"Binary Essence – "Calgary Corpus" compression comparisons"
1135:
1131:
1078:
1044:
1012:
974:
967:
963:
818:
789:
785:
704:
666:
597:
498:
432:
416:
351:{\displaystyle \left\lfloor {\frac {n}{2}}\right\rfloor -1}
223:
101:
171:
compressed block, complete with the Huffman table supplied
2139:
2105:
1687:
1621:
1138:
files. The ZipAccel-D IP core that can be implemented in
918:
914:
884:
390:(do not attempt compression, just store uncompressed) to
121:
1785:
Extended Application of Suffix Trees to Data Compression
1766:
Deflate Compressed Data Format Specification version 1.3
1290:
DEFLATE Compressed Data Format Specification version 1.3
233:
as long as the distance appears within the last 32
1770:
1244:
699:
specifically designed for web-serving use rather than
622:
447:
can take advantage of the improved Deflate library in
1172:. This support is available to programs running with
840:. This support is available to programs running with
725:. In 2008, Comtech started producing two PCIe cards (
323:
270:
A tree is created, containing space for 288 symbols:
958:
by Michael Kohn and unrelated to "KZIP". Comes with
765:
443:(and compatible languages) can use paszlib. Apps in
539:'sshzlib.c': a standalone implementation under the
1799:Zip Files: History, Explanation and Implementation
1481:History of Lossless Data Compression Algorithms –
350:
140:: There are more blocks to process after this one.
1641:
1639:
655:" capable of using the hardware compression from
274:0–255: represent the literal bytes/symbols 0–255.
3023:
1438:: CS1 maint: bot: original URL status unknown (
1420:. Archived from the original on 27 December 2017
1402:: CS1 maint: bot: original URL status unknown (
784:. This is a Silicon IP core supporting Deflate,
422:
1706:
1704:
1611:
1609:
856:
491:: the first implementation, originally done by
213:
79:archiving tool. Deflate was later specified in
1636:
1217:"flate package - compress/flate - Go Packages"
792:compression. ZipAccel-C can be implemented in
1820:
511:: contains a public-domain implementation in
405:
310:28–29: distances 16,385–32,768, 13 extra bits
1834:
1701:
1606:
1384:. Archived from the original on 21 June 2017
1091:implementation of Inflate by Chris Dickinson
307:26–27: distances 8,193–16,384, 12 extra bits
1586:
202:Compression is achieved through two steps:
1827:
1813:
1801:– walk-through of a Deflate implementation
1214:
482:
1677:
1675:
1571:
1302:
931:, a fast and efficient implementation in
237:of uncompressed data decoded (termed the
1357:Data Compression: The Complete Reference
812:Intel Communications Chipset 89xx Series
378:During the compression stage, it is the
128:First bit: Last-block-in-stream marker:
1777:An Explanation of the Deflate Algorithm
1649:IBM z15 (8562) Technical Guide, Page 97
1283:
848:
134:: This is the last block in the stream.
14:
3024:
1672:
1572:Mazzoleni, Andrea (21 February 2023).
1297:. p. 1. sec. Abstract.
1279:
1277:
1808:
1645:
1513:. Lucent Technologies. Archived from
1360:(4 ed.). Springer. p. 241.
1353:
1324:
1081:/zlib decompression, by David Manura.
373:
1454:"-m (Set compression Method) switch"
1330:
1101:
615:
1274:
24:
301:8–9: distances 17–32, 3 extra bits
25:
3048:
1727:
1646:Lascu, Octavian (28 April 2021).
577:igzip: an encoder written in the
298:6–7: distances 9–16, 2 extra bits
3001:
3000:
2991:
2990:
1007:by John Foderaro. Self-standing
550:, implements deflate compression
251:
115:
108:image files, in addition to the
3037:Lossless compression algorithms
1565:
1547:
1521:
1499:
1487:
1011:decoder distributed with a GNU
891:, and made available under the
883:, written by Andrew Collier in
295:4–5: distances 5–8, 1 extra bit
1743:.ZIP File Format Specification
1475:
1446:
1410:
1374:
1347:
1238:
1208:
1077:implementation of Deflate and
913:, written by Laurens Holst in
519:. The author, Wei Dai states "
435:library (under the permissive
13:
1:
1202:
659:. The hardware is based on a
621:AHA361-PCIX/AHA362-PCIX from
562:: C implementation under the
505:for higher-performance forks.
423:Using Deflate in new software
1382:"Binary Essence – Deflate64"
1197:Comparison of file archivers
873:, written by Piotr Fusik in
857:Inflate-only implementations
529:: written by Igor Pavlov in
515:aimed at reducing potential
214:Duplicate string elimination
7:
1221:The Go Programming Language
1180:
647:for the AHA361-PCIX is an "
63:that uses a combination of
10:
3053:
2882:Compressed data structures
2204:RLE + BWT + MTF + Huffman
1872:Asymmetric numeral systems
1246:Adobe Systems Incorporated
962:source-code under the GNU
917:assembly language for the
651:" utility and customised "
406:Deflate64/Enhanced Deflate
255:
217:
32:Deflation (disambiguation)
29:
27:Data compression algorithm
2986:
2970:
2954:
2872:
2797:
2729:
2720:
2643:
2577:
2568:
2469:
2386:
2377:
2293:
2241:Discrete cosine transform
2231:
2222:
2171:LZ77 + Huffman + context
2124:
2034:
1964:
1852:
1843:
2946:Smallest grammar problem
1120:GPL FPGA implementation.
774:GPL FPGA implementation.
669:and four custom AHA3601
517:security vulnerabilities
415:, while others, such as
384:reference implementation
2887:Compressed suffix array
2436:Nyquist–Shannon theorem
1755:X. Deflating – Method 8
1574:"amadvance/advancecomp"
1354:David, Salomon (2007).
1187:List of archive formats
483:Encoder implementations
363:canonical Huffman codes
75:, for version 2 of his
1192:List of file archivers
352:
2916:Kolmogorov complexity
2784:Video characteristics
2161:LZ77 + Huffman + ANS
1780:– by Antaeus Feldspar
1332:US patent 5051745
1043:stand-alone Deflate (
966:license. Used in the
814:(Cave Creek) for the
687:. This is a range of
632:. Comtech produced a
579:x86 assembly language
548:Plan 9 from Bell Labs
465:System.IO.Compression
353:
177:: Reserved—don't use.
104:compressed files and
93:U.S. patent 5,051,745
71:. It was designed by
3006:Compression software
2600:Compression artifact
2556:Psychoacoustic model
1150:) and Xilinx FPGAs (
849:Decoder/decompressor
804:) and Xilinx FPGAs (
321:
2996:Compression formats
2635:Texture compression
2630:Standard test image
2446:Silence compression
1625:. 12 September 2019
1511:plan9.bell-labs.com
1259:. Adobe. p. 23
1164:Beginning with the
832:Beginning with the
2904:Information theory
2759:Display resolution
2585:Chroma subsampling
1974:Byte pair encoding
1919:Shannon–Fano–Elias
1791:2016-09-23 at the
1749:2014-12-05 at the
1108:Serial Inflate GPU
877:assembly language.
628:2006-12-08 at the
546:libflate: part of
431:typically use the
374:Encoder/compressor
367:run-length encoded
348:
292:0–3: distances 1–4
96:, and assigned to
49:, and also called
3019:
3018:
2868:
2867:
2818:Deblocking filter
2716:
2715:
2564:
2563:
2373:
2372:
2218:
2217:
1367:978-1-84628-602-5
1285:Deutsch, L. Peter
1257:Adobe Open Source
1102:Hardware decoders
921:, licensed under
752:PCI-ID: 193f:0367
743:Microsoft Windows
727:PCI-ID: 193f:0363
711:is also produced.
703:or backup use; a
616:Hardware encoders
503:Zlib § Forks
336:
16:(Redirected from
3044:
3032:Data compression
3004:
3003:
2994:
2993:
2823:Lapped transform
2727:
2726:
2605:Image resolution
2590:Coding tree unit
2575:
2574:
2384:
2383:
2229:
2228:
1850:
1849:
1836:Data compression
1829:
1822:
1815:
1806:
1805:
1739:
1722:
1721:
1719:
1718:
1708:
1699:
1698:
1696:
1695:
1679:
1670:
1669:
1667:
1666:
1652:. IBM Redbooks.
1643:
1634:
1633:
1631:
1630:
1613:
1604:
1603:
1601:
1600:
1590:
1584:
1583:
1569:
1563:
1562:
1551:
1545:
1544:
1542:
1540:
1535:. 1 October 2019
1525:
1519:
1518:
1503:
1497:
1491:
1485:
1479:
1473:
1472:
1470:
1469:
1460:. Archived from
1458:sevenzip.osdn.jp
1450:
1444:
1443:
1437:
1429:
1427:
1425:
1414:
1408:
1407:
1401:
1393:
1391:
1389:
1378:
1372:
1371:
1351:
1345:
1344:
1343:
1339:
1336:Katz, Phillip W.
1328:
1322:
1321:
1319:
1318:
1306:
1304:10.17487/RFC1951
1281:
1272:
1271:
1266:
1264:
1254:
1242:
1236:
1235:
1230:
1228:
1215:The Go Authors.
1212:
1000:
764:processors from
753:
732:
728:
694:
677:StorCompress 300
654:
650:
639:
522:
495:as part of PKZip
462:
393:
389:
357:
355:
354:
349:
341:
337:
329:
193:
176:
166:
156:
150:
139:
133:
95:
58:data compression
21:
3052:
3051:
3047:
3046:
3045:
3043:
3042:
3041:
3022:
3021:
3020:
3015:
2982:
2966:
2950:
2931:Rate–distortion
2864:
2793:
2712:
2639:
2560:
2465:
2461:Sub-band coding
2369:
2294:Predictive type
2289:
2214:
2181:LZSS + Huffman
2131:LZ77 + Huffman
2120:
2030:
1966:Dictionary type
1960:
1862:Adaptive coding
1839:
1833:
1793:Wayback Machine
1751:Wayback Machine
1737:
1730:
1725:
1716:
1714:
1710:
1709:
1702:
1693:
1691:
1681:
1680:
1673:
1664:
1662:
1660:
1644:
1637:
1628:
1626:
1615:
1614:
1607:
1598:
1596:
1592:
1591:
1587:
1570:
1566:
1553:
1552:
1548:
1538:
1536:
1527:
1526:
1522:
1505:
1504:
1500:
1492:
1488:
1480:
1476:
1467:
1465:
1452:
1451:
1447:
1431:
1430:
1423:
1421:
1416:
1415:
1411:
1395:
1394:
1387:
1385:
1380:
1379:
1375:
1368:
1352:
1348:
1341:
1329:
1325:
1316:
1314:
1282:
1275:
1262:
1260:
1252:
1243:
1239:
1226:
1224:
1213:
1209:
1205:
1183:
1152:ZipAccel-RD-XIL
1148:ZipAccel-RD-INT
1104:
998:
859:
851:
806:ZipAccel-RD-XIL
802:ZipAccel-RD-INT
751:
730:
726:
692:
653:mod_deflate_aha
652:
648:
637:
630:Wayback Machine
618:
520:
485:
460:
425:
408:
391:
387:
376:
328:
324:
322:
319:
318:
260:
254:
226:
218:Main articles:
216:
196:dynamic Huffman
191:
174:
169:dynamic Huffman
164:
154:
148:
137:
131:
118:
91:
35:
28:
23:
22:
15:
12:
11:
5:
3050:
3040:
3039:
3034:
3017:
3016:
3014:
3013:
2998:
2987:
2984:
2983:
2981:
2980:
2974:
2972:
2968:
2967:
2965:
2964:
2958:
2956:
2952:
2951:
2949:
2948:
2943:
2938:
2933:
2928:
2923:
2918:
2913:
2912:
2911:
2901:
2896:
2895:
2894:
2889:
2878:
2876:
2870:
2869:
2866:
2865:
2863:
2862:
2861:
2860:
2855:
2845:
2844:
2843:
2838:
2833:
2825:
2820:
2815:
2810:
2804:
2802:
2795:
2794:
2792:
2791:
2786:
2781:
2776:
2771:
2766:
2761:
2756:
2755:
2754:
2749:
2744:
2733:
2731:
2724:
2718:
2717:
2714:
2713:
2711:
2710:
2709:
2708:
2703:
2698:
2693:
2683:
2678:
2673:
2668:
2663:
2658:
2653:
2647:
2645:
2641:
2640:
2638:
2637:
2632:
2627:
2622:
2617:
2612:
2607:
2602:
2597:
2592:
2587:
2581:
2579:
2572:
2566:
2565:
2562:
2561:
2559:
2558:
2553:
2548:
2547:
2546:
2541:
2536:
2531:
2526:
2516:
2515:
2514:
2504:
2503:
2502:
2497:
2487:
2482:
2476:
2474:
2467:
2466:
2464:
2463:
2458:
2453:
2448:
2443:
2438:
2433:
2428:
2423:
2418:
2413:
2412:
2411:
2406:
2401:
2390:
2388:
2381:
2375:
2374:
2371:
2370:
2368:
2367:
2365:Psychoacoustic
2362:
2361:
2360:
2355:
2350:
2342:
2341:
2340:
2335:
2330:
2325:
2320:
2310:
2309:
2308:
2297:
2295:
2291:
2290:
2288:
2287:
2286:
2285:
2280:
2275:
2265:
2260:
2255:
2254:
2253:
2248:
2237:
2235:
2233:Transform type
2226:
2220:
2219:
2216:
2215:
2213:
2212:
2211:
2210:
2202:
2201:
2200:
2197:
2189:
2188:
2187:
2179:
2178:
2177:
2169:
2168:
2167:
2159:
2158:
2157:
2149:
2148:
2147:
2142:
2137:
2128:
2126:
2122:
2121:
2119:
2118:
2113:
2108:
2103:
2098:
2093:
2092:
2091:
2086:
2076:
2071:
2066:
2065:
2064:
2054:
2049:
2044:
2038:
2036:
2032:
2031:
2029:
2028:
2027:
2026:
2021:
2016:
2011:
2006:
2001:
1996:
1991:
1986:
1976:
1970:
1968:
1962:
1961:
1959:
1958:
1957:
1956:
1951:
1946:
1941:
1931:
1926:
1921:
1916:
1911:
1906:
1901:
1900:
1899:
1894:
1889:
1879:
1874:
1869:
1864:
1858:
1856:
1847:
1841:
1840:
1832:
1831:
1824:
1817:
1809:
1803:
1802:
1796:
1781:
1773:
1771:zlib Home Page
1768:
1758:
1753:; Section 10,
1729:
1728:External links
1726:
1724:
1723:
1700:
1671:
1658:
1635:
1605:
1585:
1564:
1546:
1533:Intel Software
1520:
1517:on 2006-03-15.
1498:
1486:
1474:
1445:
1409:
1373:
1366:
1346:
1323:
1273:
1237:
1206:
1204:
1201:
1200:
1199:
1194:
1189:
1182:
1179:
1178:
1177:
1162:
1155:
1121:
1115:
1103:
1100:
1099:
1098:
1092:
1082:
1068:
1034:
1016:
1002:
996:
995:
994:
984:
978:
971:
943:
942:
941:
940:
926:
908:
878:
858:
855:
850:
847:
846:
845:
830:
823:
809:
775:
769:
755:
735:load balancers
712:
707:revision, the
685:Indra Networks
674:
636:card (PCI-ID:
617:
614:
594:
593:
590:
581:, released by
575:
564:Apache License
557:
551:
544:
534:
524:
506:
496:
484:
481:
457:.NET Framework
441:Borland Pascal
424:
421:
407:
404:
375:
372:
347:
344:
340:
335:
332:
327:
315:
314:
311:
308:
305:
302:
299:
296:
293:
285:
284:
281:
278:
275:
264:Huffman coding
258:Huffman coding
256:Main article:
253:
250:
239:sliding window
215:
212:
211:
210:
207:
181:
180:
179:
178:
172:
162:
159:static Huffman
152:
143:
142:
141:
135:
117:
114:
69:Huffman coding
26:
9:
6:
4:
3:
2:
3049:
3038:
3035:
3033:
3030:
3029:
3027:
3011:
3007:
2999:
2997:
2989:
2988:
2985:
2979:
2976:
2975:
2973:
2969:
2963:
2960:
2959:
2957:
2953:
2947:
2944:
2942:
2939:
2937:
2934:
2932:
2929:
2927:
2924:
2922:
2919:
2917:
2914:
2910:
2907:
2906:
2905:
2902:
2900:
2897:
2893:
2890:
2888:
2885:
2884:
2883:
2880:
2879:
2877:
2875:
2871:
2859:
2856:
2854:
2851:
2850:
2849:
2846:
2842:
2839:
2837:
2834:
2832:
2829:
2828:
2826:
2824:
2821:
2819:
2816:
2814:
2811:
2809:
2806:
2805:
2803:
2800:
2796:
2790:
2789:Video quality
2787:
2785:
2782:
2780:
2777:
2775:
2772:
2770:
2767:
2765:
2762:
2760:
2757:
2753:
2750:
2748:
2745:
2743:
2740:
2739:
2738:
2735:
2734:
2732:
2728:
2725:
2723:
2719:
2707:
2704:
2702:
2699:
2697:
2694:
2692:
2689:
2688:
2687:
2684:
2682:
2679:
2677:
2674:
2672:
2669:
2667:
2664:
2662:
2659:
2657:
2654:
2652:
2649:
2648:
2646:
2642:
2636:
2633:
2631:
2628:
2626:
2623:
2621:
2618:
2616:
2613:
2611:
2608:
2606:
2603:
2601:
2598:
2596:
2593:
2591:
2588:
2586:
2583:
2582:
2580:
2576:
2573:
2571:
2567:
2557:
2554:
2552:
2549:
2545:
2542:
2540:
2537:
2535:
2532:
2530:
2527:
2525:
2522:
2521:
2520:
2517:
2513:
2510:
2509:
2508:
2505:
2501:
2498:
2496:
2493:
2492:
2491:
2488:
2486:
2483:
2481:
2478:
2477:
2475:
2472:
2468:
2462:
2459:
2457:
2456:Speech coding
2454:
2452:
2451:Sound quality
2449:
2447:
2444:
2442:
2439:
2437:
2434:
2432:
2429:
2427:
2426:Dynamic range
2424:
2422:
2419:
2417:
2414:
2410:
2407:
2405:
2402:
2400:
2397:
2396:
2395:
2392:
2391:
2389:
2385:
2382:
2380:
2376:
2366:
2363:
2359:
2356:
2354:
2351:
2349:
2346:
2345:
2343:
2339:
2336:
2334:
2331:
2329:
2326:
2324:
2321:
2319:
2316:
2315:
2314:
2311:
2307:
2304:
2303:
2302:
2299:
2298:
2296:
2292:
2284:
2281:
2279:
2276:
2274:
2271:
2270:
2269:
2266:
2264:
2261:
2259:
2256:
2252:
2249:
2247:
2244:
2243:
2242:
2239:
2238:
2236:
2234:
2230:
2227:
2225:
2221:
2209:
2206:
2205:
2203:
2198:
2196:
2193:
2192:
2191:LZ77 + Range
2190:
2186:
2183:
2182:
2180:
2176:
2173:
2172:
2170:
2166:
2163:
2162:
2160:
2156:
2153:
2152:
2150:
2146:
2143:
2141:
2138:
2136:
2133:
2132:
2130:
2129:
2127:
2123:
2117:
2114:
2112:
2109:
2107:
2104:
2102:
2099:
2097:
2094:
2090:
2087:
2085:
2082:
2081:
2080:
2077:
2075:
2072:
2070:
2067:
2063:
2060:
2059:
2058:
2055:
2053:
2050:
2048:
2045:
2043:
2040:
2039:
2037:
2033:
2025:
2022:
2020:
2017:
2015:
2012:
2010:
2007:
2005:
2002:
2000:
1997:
1995:
1992:
1990:
1987:
1985:
1982:
1981:
1980:
1977:
1975:
1972:
1971:
1969:
1967:
1963:
1955:
1952:
1950:
1947:
1945:
1942:
1940:
1937:
1936:
1935:
1932:
1930:
1927:
1925:
1922:
1920:
1917:
1915:
1912:
1910:
1907:
1905:
1902:
1898:
1895:
1893:
1890:
1888:
1885:
1884:
1883:
1880:
1878:
1875:
1873:
1870:
1868:
1865:
1863:
1860:
1859:
1857:
1855:
1851:
1848:
1846:
1842:
1837:
1830:
1825:
1823:
1818:
1816:
1811:
1810:
1807:
1800:
1797:
1794:
1790:
1787:
1786:
1782:
1779:
1778:
1774:
1772:
1769:
1767:
1763:
1759:
1756:
1752:
1748:
1745:
1744:
1735:
1732:
1731:
1713:
1707:
1705:
1690:
1689:
1684:
1678:
1676:
1661:
1659:9780738458991
1655:
1651:
1650:
1642:
1640:
1624:
1623:
1618:
1612:
1610:
1595:
1589:
1581:
1580:
1575:
1568:
1560:
1556:
1550:
1534:
1530:
1524:
1516:
1512:
1508:
1502:
1496:
1490:
1484:
1478:
1464:on 2022-04-09
1463:
1459:
1455:
1449:
1441:
1435:
1419:
1413:
1405:
1399:
1383:
1377:
1369:
1363:
1359:
1358:
1350:
1337:
1333:
1327:
1313:
1310:
1305:
1300:
1296:
1292:
1291:
1286:
1280:
1278:
1270:
1258:
1251:
1247:
1241:
1234:
1222:
1218:
1211:
1207:
1198:
1195:
1193:
1190:
1188:
1185:
1184:
1175:
1171:
1167:
1163:
1159:
1156:
1153:
1149:
1145:
1141:
1137:
1133:
1129:
1125:
1122:
1119:
1116:
1113:
1109:
1106:
1105:
1096:
1093:
1090:
1086:
1083:
1080:
1076:
1072:
1069:
1066:
1062:
1058:
1054:
1050:
1046:
1042:
1038:
1035:
1032:
1028:
1024:
1020:
1017:
1014:
1010:
1006:
1003:
997:
992:
988:
985:
982:
979:
976:
972:
969:
965:
961:
957:
954:
953:
952:
948:
945:
944:
938:
937:Public Domain
934:
930:
927:
924:
920:
916:
912:
909:
906:
902:
898:
894:
890:
886:
882:
879:
876:
872:
869:
868:
867:
864:
863:
862:
854:
843:
839:
835:
831:
827:
824:
820:
817:
813:
810:
807:
803:
799:
795:
791:
787:
783:
779:
776:
773:
770:
767:
763:
759:
756:
748:
744:
740:
736:
724:
720:
716:
713:
710:
706:
702:
698:
690:
686:
682:
678:
675:
672:
668:
665:
662:
658:
646:
643:
635:
631:
627:
624:
620:
619:
613:
611:
607:
603:
599:
591:
588:
584:
580:
576:
573:
569:
565:
561:
558:
555:
552:
549:
545:
542:
538:
535:
532:
528:
525:
518:
514:
510:
507:
504:
500:
497:
494:
490:
487:
486:
480:
478:
474:
470:
466:
461:java.util.zip
458:
454:
450:
446:
442:
438:
434:
430:
420:
418:
414:
403:
400:
395:
385:
381:
371:
368:
364:
359:
345:
342:
338:
333:
330:
325:
312:
309:
306:
303:
300:
297:
294:
291:
290:
289:
282:
279:
276:
273:
272:
271:
268:
265:
259:
252:Bit reduction
249:
246:
242:
240:
236:
231:
225:
221:
220:LZ77 and LZ78
208:
205:
204:
203:
200:
197:
188:
186:
173:
170:
163:
160:
153:
147:
146:
144:
136:
130:
129:
127:
126:
125:
123:
116:Stream format
113:
111:
107:
103:
99:
94:
89:
84:
83:1951 (1996).
82:
78:
74:
70:
66:
62:
59:
56:
52:
48:
45:(stylized as
44:
40:
33:
19:
2962:Hutter Prize
2926:Quantization
2831:Compensation
2660:
2625:Quantization
2348:Compensation
2134:
1914:Shannon–Fano
1854:Entropy type
1784:
1776:
1765:
1754:
1742:
1734:PKWARE, Inc.
1715:. Retrieved
1692:. Retrieved
1686:
1663:. Retrieved
1648:
1627:. Retrieved
1620:
1597:. Retrieved
1588:
1577:
1567:
1558:
1555:"libdeflate"
1549:
1537:. Retrieved
1532:
1523:
1515:the original
1510:
1501:
1489:
1477:
1466:. Retrieved
1462:the original
1457:
1448:
1422:. Retrieved
1412:
1386:. Retrieved
1376:
1356:
1349:
1326:
1315:. Retrieved
1289:
1287:(May 1996).
1268:
1261:. Retrieved
1256:
1240:
1232:
1225:. Retrieved
1220:
1210:
1111:
871:6502 inflate
860:
852:
766:Cavium, Inc.
738:
696:
642:Linux kernel
595:
437:zlib License
426:
409:
396:
379:
377:
360:
316:
286:
269:
261:
247:
243:
238:
227:
201:
195:
189:
184:
182:
168:
158:
119:
98:PKWARE, Inc.
85:
50:
46:
42:
36:
2921:Prefix code
2774:Frame types
2595:Color space
2421:Convolution
2151:LZ77 + ANS
2062:Incremental
2035:Other types
1954:Levenshtein
1738:appnote.txt
1493:zlib FAQ –
1263:5 September
1227:5 September
1118:HDL-Deflate
1019:inflate.s7i
1009:Common Lisp
929:inflate.asm
772:HDL-Deflate
747:OpenSolaris
723:AHA367-PCIe
719:AHA364-PCIe
715:AHA363-PCIe
623:Comtech AHA
587:MIT License
541:MIT License
467:). Apps in
439:). Apps in
61:file format
3026:Categories
2978:Mark Adler
2936:Redundancy
2853:Daubechies
2836:Estimation
2769:Frame rate
2691:Daubechies
2651:Chain code
2610:Macroblock
2416:Companding
2353:Estimation
2273:Daubechies
1979:Lempel–Ziv
1939:Exp-Golomb
1867:Arithmetic
1717:2021-11-01
1694:2021-11-01
1665:2021-11-01
1629:2021-11-01
1599:2016-05-18
1539:18 January
1468:2023-01-21
1317:2014-04-23
1203:References
1124:ZipAccel-D
1089:Javascript
1071:deflatelua
1005:inflate.cl
970:installer.
822:available.
778:ZipAccel-C
697:WebEnhance
585:under the
475:(pure) or
2955:Community
2779:Interlace
2165:Zstandard
1944:Fibonacci
1934:Universal
1892:Canonical
1760:RFC
1483:Deflate64
1073:, a pure-
1067:licenses.
1039:, a pure-
1025:, a pure-
907:licenses.
889:SAM Coupé
731:193f:0364
693:17b4:0011
691:(PCI-ID:
638:193f:0001
493:Phil Katz
399:bitstream
343:−
230:reference
73:Phil Katz
39:computing
2941:Symmetry
2909:Timeline
2892:FM-index
2737:Bit rate
2730:Concepts
2578:Concepts
2441:Sampling
2394:Bit rate
2387:Concepts
2089:Sequitur
1924:Tunstall
1897:Modified
1887:Adaptive
1845:Lossless
1789:Archived
1747:Archived
1434:cite web
1398:cite web
1223:. Google
1181:See also
1161:RFC1951.
1128:CAST Inc
1033:license.
1023:gzip.s7i
1015:license.
973:puff.c (
881:SAMflate
866:Assembly
829:RFC1951.
782:CAST Inc
626:Archived
554:Hyperbac
509:Crypto++
477:ZLib-Ada
471:can use
339:⌋
326:⌊
124:header:
88:patented
55:lossless
2899:Entropy
2848:Wavelet
2827:Motion
2686:Wavelet
2666:Fractal
2661:Deflate
2644:Methods
2431:Latency
2344:Motion
2268:Wavelet
2185:LHA/LZH
2135:Deflate
2084:Re-Pair
2079:Grammar
1909:Shannon
1882:Huffman
1838:methods
1170:POWER7+
1158:IBM z15
1087:a pure-
1085:inflate
1037:pyflate
999:PCDEZIP
987:tinfl.c
838:POWER7+
826:IBM z15
739:virtual
649:ahagzip
473:Zip-Ada
451:. Both
380:encoder
53:) is a
47:DEFLATE
43:Deflate
18:DEFLATE
3010:codecs
2971:People
2874:Theory
2841:Vector
2358:Vector
2175:Brotli
2125:Hybrid
2024:Snappy
1877:Golomb
1656:
1579:GitHub
1424:22 May
1388:22 May
1364:
1342:
1334:,
1166:POWER9
1144:FPGAs.
1047:) and
1041:Python
956:kunzip
933:M68000
911:gunzip
834:POWER9
762:Octeon
758:Nitrox
745:, and
664:Virtex
661:Xilinx
657:Apache
645:driver
574:files.
568:Google
560:Zopfli
194:, the
185:stored
2801:parts
2799:Codec
2764:Frame
2722:Video
2706:SPIHT
2615:Pixel
2570:Image
2524:ACELP
2495:ADPCM
2485:ÎĽ-law
2480:A-law
2473:parts
2471:Codec
2379:Audio
2318:ACELP
2306:ADPCM
2283:SPIHT
2224:Lossy
2208:bzip2
2199:LZHAM
2155:LZFSE
2057:Delta
1949:Gamma
1929:Unary
1904:Range
1253:(PDF)
1126:from
1112:BADGE
1049:bzip2
1027:Seed7
991:miniz
816:Intel
798:FPGAs
780:from
683:from
671:ASICs
634:PCI-X
583:Intel
537:PuTTY
527:7-Zip
489:PKZIP
449:7-Zip
413:7-Zip
77:PKZIP
51:Flate
2813:DPCM
2620:PSNR
2551:MDCT
2544:WLPC
2529:CELP
2490:DPCM
2338:WLPC
2323:CELP
2301:DPCM
2251:MDCT
2195:LZMA
2096:LDCT
2074:DPCM
2019:LZWL
2009:LZSS
2004:LZRW
1994:LZJB
1762:1951
1654:ISBN
1541:2020
1440:link
1426:2011
1404:link
1390:2011
1362:ISBN
1312:1951
1295:IETF
1265:2023
1229:2023
1140:ASIC
1136:Gzip
1134:and
1132:Zlib
1095:pako
1079:gzip
1065:DFSG
1061:LGPL
1045:gzip
1031:LGPL
1013:LGPL
981:tinf
975:zlib
968:GIMP
964:LGPL
905:DFSG
901:LGPL
875:6502
819:Xeon
794:ASIC
790:Gzip
788:and
786:Zlib
760:and
709:MX4E
705:PCIe
667:FPGA
608:and
598:gzip
499:zlib
463:and
455:and
453:Java
433:zlib
417:zlib
224:LZSS
222:and
183:The
167:: A
157:: A
102:gzip
67:and
65:LZ77
2858:DWT
2808:DCT
2752:VBR
2747:CBR
2742:ABR
2701:EZW
2696:DWT
2681:RLE
2671:KLT
2656:DCT
2539:LSP
2534:LAR
2519:LPC
2512:FFT
2409:VBR
2404:CBR
2399:ABR
2333:LSP
2328:LAR
2313:LPC
2278:DWT
2263:FFT
2258:DST
2246:DCT
2145:LZS
2140:LZX
2116:RLE
2111:PPM
2106:PAQ
2101:MTF
2069:DMC
2047:CTW
2042:BWT
2014:LZW
1999:LZO
1989:LZ4
1984:842
1736:'s
1688:IBM
1622:IBM
1309:RFC
1299:doi
1174:AIX
1142:or
1075:Lua
1057:GPL
1053:BSD
951:C++
923:BSD
919:MSX
915:Z80
897:GPL
893:BSD
885:Z80
842:AIX
796:or
701:SAN
689:PCI
681:MX3
610:ZIP
606:MNG
602:PNG
572:PNG
566:by
531:C++
513:C++
469:Ada
445:C++
304:...
241:).
235:KiB
122:bit
110:ZIP
106:PNG
90:as
81:RFC
37:In
3028::
2676:LP
2507:FT
2500:DM
2052:CM
1764:–
1740:,
1703:^
1685:.
1674:^
1638:^
1619:.
1608:^
1576:.
1557:.
1531:.
1509:.
1456:.
1436:}}
1432:{{
1400:}}
1396:{{
1307:.
1293:.
1276:^
1267:.
1255:.
1248:.
1231:.
1219:.
1154:).
808:).
604:,
600:,
523:".
479:.
358:.
192:10
175:11
165:10
155:01
149:00
41:,
3012:)
3008:(
1828:e
1821:t
1814:v
1757:.
1720:.
1697:.
1668:.
1632:.
1602:.
1582:.
1561:.
1543:.
1471:.
1442:)
1428:.
1406:)
1392:.
1370:.
1320:.
1301::
1063:/
1059:/
1055:/
1021:/
989:(
960:C
949:/
947:C
939:.
925:.
903:/
899:/
895:/
750:(
729:/
721:/
717:/
679:/
429:C
392:9
388:0
346:1
334:2
331:n
138:0
132:1
34:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.