Töm luften

Deflate är en förlustfri komprimeringsalgoritm som använder en kombination av LZ77- och Huffman-algoritmerna . Det beskrevs ursprungligen av Phil Katz för den andra versionen av hans PKZIP -arkiverare , som senare definierades i RFC 1951 (1996).

Deflate anses vara fri från alla befintliga patent, och medan patentet för LZW (det gäller i GIF -format ) fortfarande var i kraft, ledde detta till att Deflate inte bara användes i ZIP -formatet , som Katz ursprungligen designade det för, utan också i gzip- kompressorn/dekomprimeraren och i PNG-bilder .

Dataströmformat

Den tömda strömmen innehåller en serie block. Varje block föregås av ett trebitarshuvud:

De flesta block är kodade med metod 10 (dynamisk Huffman), som ger ett optimerat Huffman-kodträd för varje nytt block. Instruktionerna för att skapa Huffman-kodträdet följer omedelbart efter blockhuvudet.

Kompression utförs i två steg:

Länkar