Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re: LZW Demystified

by dws (Chancellor)
on Jun 29, 2003 at 22:16 UTC ( #270031=note: print w/replies, xml ) Need Help??

in reply to LZW Demystified

The first char is emitted as simply that, an 8 bit value. Following that point all codes are emitted in longer than 8 bit form (starting with 9 bits until the table grows to have 512 values, then to 10 bits etc.).
A historical side-note: Years back I was doing some patent analysis, and read the Unisys LZW patent carefully several times.

Expanding the table to increasing the output byte width is Welch's improvement to the Lempel-Ziv compression algorithm, and this is what Unisys obtained a patent on. If you crippled your compression such that the table never grew past 256 values, you weren't infringing (in my "Not A Lawyer" opinion). Unisys allowed some FUD to surround this issue, not correcting the impression that it was GIF they held a patent on. Not so.

Replies are listed 'Best First'.
Re: Re: LZW Demystified
by demerphq (Chancellor) on Jun 29, 2003 at 22:43 UTC

    Theres an interesting note in the debian ncompress package about this. I have no idea how much to weight to give it or whatnot, but is suspect that as long as nobody is offering this in a package for sale then they cant do anything about it.

    Also, only using 256 codes, wouldnt cripple the algorithm it would kill it dead completely. :-) Do you mean that if the table size is fixed at any aribitrary level then its ok?

    The following article from James A. Woods, one of the earlier authors of compress, explains its relationship to the Unisys patent on the LZW compression method: From uunet!!uw-beaver!mit-eddie!wuarchive!usc!ucsd!u +cbvax!agate!iacs!jaw Wed Aug 1 15:06:59 EDT 1990 Article: 1282 of gnu.misc.discuss Path: alembic!uunet!!uw-beaver!mit-eddie!wuarchive!u +sc!ucsd!ucbvax!gate!riacs!jaw From: (James A. Woods) Newsgroups: gnu.misc.discuss Subject: Sperry patent #4,558,302 does *not* affect 'compress' Keywords: data compression, algorithm, patent Message-ID: <> Date: 31 Jul 90 22:09:35 GMT Organization: RIACS, NASA Ames Research Center Lines: 69 # "The chief defect of Henry King Was chewing little bits of string." -- Hilaire Belloc, Cautionary Tales [1907] As a co-author of 'compress' who has had contact with an attorney + for Unisys (nee Sperry), I would like to relay a very basic admission from + Unisys that noncommercial use of 'compress' is perfectly legal. 'Compress' i +s also commercially distributed by AT&T as part of Unix System 5 release 4, with no further restrictions placed upon the use of the binary, as far as I am aware. From conversations with Professor Abraham Lempel and others, it appears that neither AT&T, Sun Microsystems, Hewlett Packard, nor IBM are paying any sort of license fees to Unisys in conjunction with pate +nt #4,558,302. It may be true that some organizations are paying fees fo +r data compression technology licensed from one or more of the many hold +ers of compression patents, but this is all independent from 'compress'. In particular, I received a letter at NASA dated October 1, 1987 +from John B. Sowell of the Unisys law department, informing me for the firs +t time that some form of LZW was patented. I naturally expressed skepticism that an algorithm could be patented (a murky legal area which remains so), stated that 'compress' is not identical to LZW, and in fact was designed, developed, and distributed before the ink on the patent was dry. Several telephone conversations later, Mr. Sow +ell intimated that they would *not* seek any fees from users of 'compress' but instead were signing licensees for hardware implementations of LZW +. So, regardless of what you believe about a shady legal area, if a +nyone from Unisys contacts you to extract tribute for the use of 'compress', + please tell them that, first, it is not theirs to begin with, and, second, th +ere is someone who will testify in court about the conversation above. It is not even clear if anyone can "own" 'compress', since original de +veloper Spencer Thomas, myself, and others placed the code in the public domai +n long before the adoption of the Berne copyright convention. In light of the events above, it seems that the Free Software Foundation is being unduly paranoid about the use of 'compress'. Now I can well believe that FSF is more likely to be a legal target than a behemoth like AT&T, but if they are simply redistributing untouched free software developed years ago in the public sector, I see no problem. Aside: I am investigating, possibly for a case history to be recycled to USENET, the particulars of data compression patents. I am aware of the following patents: IBM's Miller-Wegman LZ variant, those of Telcor and ACT [losing candidates for the British Telecom mod +em standard], James A. Storer's work on limited lookahead as explicated i +n his text "Data Compression (methods and theory)", Computer Science Press, +1988, and the various patents pending associated with the Fiala and Greene CACM article of April, 1989 on textual substitution methods. If you have any lore, send it this way. Sincerely, James A. Woods NASA Ames Research Center (RIACS) (or ames!jaw) P.S. The algorithm patent issue certainly is a "topic A" at the momen +t. One useful reference is the review article by Anthony and Colwell -- "Litigating the Validity and Infringement of Software Patents" in Washington and Lee Law Review, volume 41, fall 1984. I know Robert Co +lwell personally. As a practicing patent attorney, he tells me that, at a m +inimum, use of an invention "for research purposes" is legitimate.


    <Elian> And I do take a kind of perverse pleasure in having an OO assembly language...

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://270031]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (4)
As of 2018-06-24 19:15 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (126 votes). Check out past polls.