Article View: gnu.misc.discuss
Article #75428Re: LZW and shareware wars
From: gwollman
Date: Sun, 05 Aug 1990 03:12
Date: Sun, 05 Aug 1990 03:12
23 lines
1688 bytes
1688 bytes
The compression method used by PkZIP is identical to that used by LHARC (that is, Lempel-Ziv/Storer-Syzmanski plus Huffman; sorry no refs), except that instead of the frequency-fixed Huffman used by Yoshi, PK uses two or three Shannon-Fano trees to compress separately the length, offset, and literal (if necessary) components of the data stream. The exact LZSS method is to keep a 4096 (or 8192) byte sliding dictionary; you then read in data and search for as long a match as possible in the dictionary. You then emit a code giving the offset into the buffer and the length of the match found, and continue; if no match is found, then emit a literal character and try again. Yoshi's hand-tuned Huffman and Katz's Shannon-Fano arrangements run at about the same compression rate, all things considered, with a slight edge to PK. I haven't tried it yet, but there is a program out there which uses an adaptive arithmetic second stage, which may or may not perform better. -GAWollman -- "Sorry, my .signature's in Baltimore." - me
Technical Details
Message-ID:
<1595@uvm-gen.UUCP>Path:
arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!uvm-gen!gwollmanReferences:
<1990Aug2.200440.7101@bellcore-2.bellcore.com>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 1025b4,fd1f9159dfd68799 X-Google-Attributes: gid1025b4,public X-Google-ArrivalTime: 1990-08-05 09:01:55 PST Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!uvm-gen!gwollman From: gwollman@f107.n325.z1.fidonet.org Newsgroups: gnu.misc.discuss Subject: Re: LZW and shareware wars Message-ID: <1595@uvm-gen.UUCP> Date: 5 Aug 90 03:12:46 GMT References: <1990Aug2.200440.7101@bellcore-2.bellcore.com> Sender: nobody@uvm-gen.UUCP Organization: none that I'm aware of Lines: 23 Posted: Sun Aug 5 04:12:46 1990 Comments: posted from [132.198.???.???], a terminal concentrator