Last Updated Sept 17, 1999.
Errors Contributed by Nelson H. F. Beebe

This file records errata and comments for the book

@String{pub-SV                  = "Spring{\-}er-Ver{\-}lag"}
Germany~/ London, UK~/ etc."}

@Book{Salomon:1998:DCC,
author =       "David Salomon",
title =        "Data Compression: The Complete Reference",
publisher =    pub-SV,
year =         "1998",
ISBN =         "0-387-98280-9",
LCCN =         "QA76.9.D33S25 1997",
acknowledgement = ack-nhfb,
pages =        "xx + 427",
price =        "US\$39.95", bibdate = "Wed Nov 08 16:46:55 1995", } In the following, negative line numbers count from the bottom of the page. Line numbers exclude figures, tables, shadow boxes, and gray boxes. p. 2, l. 5 in gray box: portuguese -> Portuguese p. 4, l. -1 in shadow box: sometimes -> sometime p. 4, l. 5: the their -> their p. 16, l. 17: Thus after -> Thus, after p. 16, l. 18: The alphabet is modified -> the alphabet is modified p. 24, l. -12:$P_i$percent -> a fraction$P_i$p. 46, l. -13: this guarantees -> This guarantees [and remove leading indentation.] p. 62, l. -4: (Comit{\'e} ... , or ...) -> (Comit\'e Consultatif International T\'el\'egraphique et T\'el\'ephonique, or ...) p. 103, l. 4: techinque -> technique p. 103, l. 7: have developed -> developed p. 105, l. 6: possibe -> possible p. 107, l. -2: All modern computers use the ASCII codes ... [This is no longer correct. Windows NT, AT&T Plan 9, and Lucent Inferno all use Unicode, a 16-bit character set. Also, there are plenty of IBM (and Amdahl, Fujitsu, and Siemens) mainframe computers using EBCDIC.] p. 147, l. 2: In the UNIX world, {\tt compress} is used virtually exclusively to compress data. [This statement is now inaccurate. In the last couple of years, this situation has changed significantly, and it is likely that Internet archives contain more GNU {\tt gzip}ped files than {\tt compress}ed files. Two motivations for the change have been a patent claim on {\tt compress} [see below], and the superior compression and speed of {\tt gzip}.] p. 147, l. -4: as file -> as the file p. 149, l. 1: notices -> notices a p. 153, l. 6: Shannon-Fano tree -> Shannon-Fano trees p. 158, l. 2: Errors caused -> Errors are caused p. 171, l. 17: coefficients. the DCT -> coefficients. The DCT p. 173, l. -19: Operations on fixed-point numbers ... are considerably faster than floating-point operations. [This is not true on some high-performance computers, such as CDC 6400, CDC 7600, and Cray systems. Sun SPARC before Version 8, and HP PA-RISC 1.0 and 1.1, has no integer multiply or divide, so the choice is between floating-point hardware, or arithmetic in software: hardware usually wins. It would be more accurate to qualify this statement with "On many machines, operations on fixed-point ...".] p. 230, l. 12: Which proves -> This proves p. 231, l. 5: has already been -> was already p. 279, l. -7 .. -5: It also cannot handle accents, ... than text. [While this was formerly true, recent releases of some OCR packages, such as Xexox Techbridge, {\em do\/} handle accents. Adobe Capture goes even further, because it represents a page as a collection of recognized glyphs, and unrecognized bitmaps; it is thus capable of producing a PDF file which, when printed or viewed, may be almost indistinguishable from the original. To date, Capture is the only product I know of that has this capability, but others will surely follow.] p. 295, l. 12: million words ... 1Mbyte -> two hundred thousand words ... 1Mbyte [The colophon at the end of the book illustrates this with precise data from the book itself. It is a handy rule-of-thumb that 1 book == 1 MByte of text, e.g., 60 chars/line * 45 lines/page * 400 pages = 1080000 chars.] p. 296, l. -6: telehone -> telephone p. 337, l. 16: carry a conversation -> carry on a conversation p. 349, l. 7: reult -> result It would be nice if a future edition included portable implementations in C or C++ of all of the compression methods described in the book, included in a CD-ROM with the book, plus performance data for each algorithm on the document corpuses (corpi?) noted at the beginning of the book. I realize that this is a tall order, and very likely beyond the ability of a single individual to collect. However, the lessons of BLAS, EISPACK, LINPACK, LAPACK, FUNPACK, ITPACK, SPARSEPACK, ELLPACK, ... from the numerical analysis community show that it can be exceedingly useful to have a well-tested portable library of implementations of standard algorithms available. I would also have liked to have seen a discussion of the important issue of the Unisys patent on the LZW algorithm, which requires users of that algorithm (including UNIX compress and CompuServe GIF) to pay royalties. This has significant implications for the World-Wide Web, where use of GIF format images is still widespread. This could lead into a discussion of the compression techniques used in PNG files [PNG was developed expressly to replace GIF, and avoid patent claims]; see @String{j-DDJ = "Dr. Dobb's Journal of Software Tools"} @Article{Crocker:1995:PPN, author = "Lee Daniel Crocker", title = "{PNG}: The {Portable Network Graphic} Format", journal = j-DDJ, volume = "20", number = "7", pages = "36, 38, 40, 42, 44", month = jul, year = "1995", CODEN = "DDJOEB", ISSN = "1044-789X", bibdate = "Tue Sep 03 09:16:51 1996", bibsource = "http://www.ddj.com/index/author/index.htm, UnCover database, Compendex database", abstract = "PNG, originally designed as an alternative to GIF, is a graphics file format that's simple, portable, and available free-of-charge in source-code form for reading and writing.", acknowledgement = ack-nhfb, classification = "C6130B (Graphics techniques); C6130E (Data interchange); 723.5; 723.1; 722.3; 723.2; 741.1; 902.2", journalabr = "Dr Dobb's J Software Tools Prof Program", keywords = "Algorithms; Color computer graphics; Color image processing; Color matching; Computer graphics; Computer networks; Computer programming; Computer software; Computer software portability; GIF; Graphics file format; Graphics Interchange File; Graphics interchange file; Huffman coding; Image coding; Image compression; Interfaces (COMPUTER); PNG; Portable network graphic; Portable Network Graphic format; Standards; Transparency information", pagecount = "5", thesaurus = "Computer graphics; Electronic data interchange; Software portability; Software standards", } A search for "+GIF +Unisys +patent +grandfather" at http://altavista.digital.com/ turned up these references: 1. LZW compression issues Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] LZW compression issues. To: [email protected] Subject: LZW compression... [Preview] http://www.tug.org/ListsArchives/pdftex/msg00276.html - size 17K - 4-Aug-97 - English - Translate 2. Re: LZW compression and patents Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: LZW compression and patents. To: [email protected] Subject: Re: LZW... [Preview] http://www.tug.org/ListsArchives/pdftex/msg00266.html - size 8K - 4-Aug-97 - English - Translate 3. WWW Business Yellow Pages World Business On the Web: A Directory by Category. By the University of Houston College of Business Administration. Computer Software : Development and... [Preview] http://www.cba.uh.edu/ylowpges/yc3.html - size 720K - 2-Dec-97 - English - Translate 4. The Winsock Client Listing ISSUES. The Unisys / CompuServe / GIF Mess. A story. In 1987 CompuServe first introduced the GIF format as an efficient means of storing and downloading... [Preview] http://indy2.imt-mrs.fr/winter/issue95.html - size 6K - 5-Jan-96 - English - Translate 5. No Title AAAAAAAAAaaaaaaaaaaaaaaaccccccccckkkkkk!!!!!!!!! You brute! Knock before entering a ladies room! %% Look out! Behind you! %%  *** System.. [Preview] http://www.cdrom.com/pub/obi/alt.quotations/Archive/c.txt - size 4997K - 14-Oct-94 - English - Translate 6. No Title NEWS **** NEWS -- Items of Interest to Legal Professionals **** Document 1 of 348 from Set 1 on May 8, 1997 08 May 97 -- Air Force Link web site wins top.. [Preview] http://pubflite.jag.af.mil/NEWS.txt - size 1345K - 8-May-97 - English - Translate 7. cp05w.htm Chapter 5: Examining WWW Browsers. Examining Browser Types. Features to Look for in a Browser. HTML 3.2 Support. Netscape Extensions. Netscape Plug-Ins.... [Preview] http://207.13.243.187/wwwyp/cp05w.htm - size 68K - 3-Sep-96 - English - Translate 8. HOOVER HISTORIES - VOLUME 5 nbsp; HOOVER HISTORIES - VOLUME 5. HOOVER HISTORIES Copyright 1988, 1997 by Henry Hoover Volume 5, Number 1 ================== Another year for... [Preview] http://home.cwnet.com/dynasty/hoovol5.htm - size 158K - 18-Sep-97 - English - Translate 9. TechInvestor - Company News 569463 Search CMPnet: Advanced Search. Sections News Stocks/Finance Web Development Product Reviews ... [Preview] http://techweb1.web.cerf.net/cgi-bin/cnoc/569463 - size 232K - 10-Jan-98 - English - Translate 10. TechInvestor - Company News 569463 Search CMPnet: Advanced Search. Free E-mail Sign Up Now Sections News Stocks/Finance Web... [Preview] http://techweb4.web.cerf.net/cgi-bin/cnoc/569463 - size 237K - 24-Jan-98 - English - Translate 11. TechInvestor - Company News 569463 Search CMPnet: Advanced Search. Sections News Stocks/Finance Web Development Product Reviews ... [Preview] http://192.215.107.72/cgi-bin/cnoc/569463 - size 230K - 24-Dec-97 - English - Translate 12. No Title ʡæ׍ ׉ צ E-mail ׉: [email protected] Ë ùމ զ ׉, [email protected] զ .. [Preview] http://www.simtel.ru/ms/Index/0INDEX_ALL_WIN.txt - size 4210K - 24-Dec-97 - English - Translate 13. No Title Ӓ  ˒Ӓ ó E-mail : [email protected] Ν ۗ˝ Ә , ԕ [email protected] Ҹ .. [Preview] http://www.simtel.ru/windows/ms/Index/0INDEX_ALL_WIN.txt - size 4210K - 25-Dec-97 - English - Translate 14. 11829 comp.lang.perl.misc:11829] Re: ANNOUNCE: GIFgraph 0.9. "> tail ./ Subject: Re: ANNOUNCE: GIFgraph 0.9 From: Martien Verbruggen .. [Preview] http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/~poffice/news/comp.lang.perl.misc/11829 - size 6K - 21-Dec-97 - English - Translate 15. Barking Spider - Taglines Barking Spider. Taglines. Warning: Dates in Calendar are closer than they appear. Daddy, why doesn't this magnet pick up this floppy disk? Give me... [Preview] http://www.winn.com/bs/taglines.html - size 101K - 25-Nov-97 - English - Translate 16. Barking Spider - Taglines Warning: Dates in Calendar are closer than they appear. Daddy, why doesn't this magnet pick up this floppy disk? We are born naked, wet and hungry. Then... [Preview] http://www.wu-wien.ac.at/usr/h95a/h9550532/internet/signature.html - size 108K - 30-Nov-97 - English - Translate 17. Some Taglines TAGLINES. 1. Warning: Dates in Calendar are closer than they appear. 2. Daddy, why doesn't this magnet pick up this floppy disk? 3. Give me ambiguity or... [Preview] http://www.lmn.pub.ro/~hbogdan/taglines.html - size 109K - 14-Dec-95 - English - Translate The attached HTML text below was originally available at http://www.cis.ohio-state.edu/hypertext/faq/usenet/graphics/fileformats-faq/part1/faq-doc-33.html but that URL no longer exists. A search at http://altavista.digital.com/ for "illegal to use CompuServe's GIF format" turned up 20+ locations, of which the first few are 1. Graphics File Formats (Part 1 of 4): General Graphics Format Questions Begin of part 1. Archive-name: graphics/fileformats-faq/part1 Posting-Frequency: monthly Last-modified: 20Jan97 Graphics File Formats FAQ (Part 1 of 4):... [Preview] http://mx.nsu.ru/FAQ/F-graphics-fileformats/Q0-1.html - size 92K - 22-Jan-97 - English - Translate 2. Graphics File Formats FAQ (Part 1 of 4): General Graphics Format Questions This is an USENET Frequently Asked Questions with answers from news.answers. This is the FAQ list for poster. [email protected] Graphics File Formats FAQ (Part. [Preview] http://www.math.uio.no/faq/graphics/fileformats-faq/part1.html - size 89K - 30-Aug-96 - English - Translate 3. Graphic File Formats FAQ The path to this OLC Stock Answer is: 6. Answers about Software Packages 3. Graphics 16. Graphic File Formats FAQ. Navigate: [HOME] [TOP] [Search OLC]... [Preview] http://www.cc.iastate.edu/olc_answers/packages/graphics/file.formats.faq.html - size 229K - 25-Dec-97 - English - Translate 4. No Title Path:... [Preview] http://rpiwww.mdacc.tmc.edu/~jrussell/dicom/docs/fileformats_part1.txt - size 95K - 6-Aug-97 - English - Translate [Preview] http://wsspinfo.cern.ch/faq/graphics/fileformats-faq/part1 - size 93K - 20-Jan-97 - English - Translate 5. No Title From [email protected] Mon May 19 19:39:25 1994 Newsgroups: comp.graphics.misc,comp.answers,news.answers Path:... [Preview] http://osiris.wu-wien.ac.at:8082/na.hyx/graphics_sfileformats-faq - size 91K - 28-Jan-98 - English - Translate 6. Graphics File Formats FAQ This document contains the full FAQ (4 parts of 4). From: [email protected] Newsgroups: comp.graphics.misc,comp.answers,news.answers Subject: Graphics File... [Preview] http://www.gps.jussieu.fr/comp/GraphicsFileFormatsFAQ.html - size 295K - 20-Jan-97 - English - Translate 7. Graphics File Formats FAQ (Part 1 of 4): General Graphics Format Questions This document answers many of the most frequently asked [Preview] http://www.bookcase.com/library/faq/usenet/graphics/fileformats-faq/part1.html - size 101K - 21-Aug-97 - English - Translate 8. Graphics File Formats (FAQ 1/4) Graphics File Formats (FAQ 1/4): General Graphics Format Questions. Archive-name: graphics/fileformats-faq/part1 Posting-Frequency: monthly Last-modified:. [Preview] http://www.rz.go.dlr.de:8081/info/faqs/graphics/file-formats.1.html - size 92K - 18-Mar-97 - English - Translate 9. No Title X-NEWS: cathy.ijs.si comp.graphics.misc: 182 Relay-Version: ANU News - V6.1B10 04/18/95 OpenVMS VAX V5.5-1; site cathy.ijs.si Path:... [Preview] http://kronos.ijs.si/~jure/text_files/graffile.txt - size 216K - 23-Aug-95 - English - Translate >> ... >> >> Graphics File Formats FAQ (Part 1 of 4): General Graphics Format Questions - 1. Is it now illegal to use CompuServe's GIF format? >> >> >> 1. Is it now illegal to use CompuServe's GIF format? >> >> It is not illegal to own, transmit, or receive GIF files (provided that no >> unlicensed compression and/or decompression of the files occurs). You must >> realize, however, that GIF files are not the issue. The issue is, in fact, >> the LZW data compression algorithm. >> >> In 1984, while working for Sperry Corporation, Terry Welch modified the >> Lempel-Ziv 78 (LZ78) compression algorithm for greater efficiency for >> implementation in high-performance disk controllers. The result was the LZW >> algorithm. The world was informed of the existence of LZW by the following >> journal article, published by Mr. Welch after he left the employment of >> Sperry: >> >> Welch, T. A., "A Technique for High Performance Data Compression," >> IEEE Computer, Volume 17, Number 6, June 1984. >> >> In 1985, Sperry Corporation was granted a patent (4,558,302) for the Welch >> invention and implementation of the LZW data compression algorithm. Since >> that time, this LZW patent has been publicly available for all to see in the >> US Patent Office and many public libraries, and is available through many >> on-line services. >> >> In 1987, CompuServe Corporation created the GIF (Graphical Interchange >> Format) file format to be used for the storage and on-line retrieval of >> bitmapped graphical data. The GIF specification required the use the LZW >> algorithm to compress the data stored in each GIF file. It is very possible >> that CompuServe did not check the patent files to determine whether the GIF >> format infringed on any patents. Such a check would have found the Welch LZW >> patent, which was then owned by Unisys as a result of their having purchased >> Sperry in 1986. At that time, Unisys also did not know that LZW was the >> method of compression used by the very popular GIF file format. >> >> In 1988, Aldus Corporation released Revision 5 the TIFF file format. This >> revision added a new feature giving TIFF the ability to store RGB bitmapped >> data using either a raw format, or a compressed format using the LZW >> algorithm. (Although the LZW algorithm used by TIFF is considered to be >> "broken", it is still covered by the Unisys patent). Since 1991, in >> accordance with their agreement with Unisys, Aldus has been required to place >> a notice regarding the Unisys patent and its applicability to TIFF, in Aldus >> documentation. The 1992 release of Revision 6 of the TIFF specification >> includes this notice of the Unisys patent regarding LZW. The TIFF Revision 6 >> specification also recommends against using LZW to compress RGB bitmaps >> stored using the TIFF format. >> >> In 1990, Unisys licensed Adobe for the use of the Unisys LZW patent for >> PostScript. >> >> In 1991, Unisys licensed Aldus for the use of the Unisys LZW patent in TIFF. >> >> In 1994, Unisys and CompuServe came to an understanding whereby the use of >> the LZW algorithm would be licensed for the application of the GIF file >> format in software. >> >> In 1995, America Online Services and Prodigy Services Company also entered >> license agreements with Unisys for the utilization of LZW. Published >> information indicates that Unisys' licensing policies are as follows: >> >> 1) Unisys considers all software created or modified before January 1, 1995 >> that supports the GIF and/or TIFF-LZW formats to be inadvertently >> infringing upon its patent; Unisys will therefore not require a license >> for GIF software products delivered before January 1, 1995. Unisys will >> therefore not pursue legal actions against such pre-1995 software >> products. >> >> 2) However, Unisys expects developers of commercial or for-profit software >> to obtain a GIF-LZW license agreement from Unisys if, after December 31, >> 1994, the developer creates new software or updates or modifies existing >> software, or issues a new release of software that supports the GIF file >> format. >> >> 3) Unisys does not require licensing of non-commercial, not-for-profit >> software applications that support the GIF file format. >> >> 4) With respect to TIFF, if a license is entered before July 1, 1995, there >> will be no liability for pre-1995 software with respect to that software's >> support of TIFF which uses LZW. >> >> Unisys has drafted licenses for several different applications of the LZW >> algorithm. The two license agreements of most interest in this FAQ are >> applicable to software supporting the GIF file format alone and the agreement >> applicable to software supporting both GIF and the TIFF file format's LZW >> compression feature. >> >> >> Realizing that you have many questions about GIF-LZW and TIFF-LZW licensing, >> the remainder of this section is arranged in a Question/Answer format to help >> convey information about this subject more clearly. >> >> Q: Just what is this all about? >> A: Unisys has asserted its claim to the ownership of the LZW compression and >> decompression algorithm. If you wish to implement LZW in a software or >> firmware application, you must arrange to pay a small royalty to Unisys >> for every software package that you sell. You do this by applying to >> Unisys for an LZW license agreement for your software. >> >> Q: What file formats are effected? >> A: GIF, TIFF, PDF, and PostScript Level II. All of these formats use, or >> can use, LZW compression. For example, a TIFF or PostScript Level II file >> may or may not use the LZW algorithm to compress the data it contains. >> GIF files, and most PDF files, always store bitmap data that is compressed >> using LZW. >> >> Q: How does this agreement affect my use of GIF and TIFF files? >> A: It does not affect the ownership, transmission, or reception of GIF and >> TIFF-LZW files themselves. Only the software that performs compression >> and/or decompression of GIF may be effected in any way by license >> agreements. You are free to store and transport GIF and TIFF-LZW files >> without fear of legalities or cost from the Unisys licenses provided that >> any compression and/or decompression on GIF files is performed by licensed >> software, or by software products delivered prior to 1995. >> >> Q: Which agreement do I need? >> A: If your software supports only GIF then you need the GIF-LZW agreement. >> If it supports TIFF-LZW or both GIF and TIFF-LZW then you need the TIFF-LZW >> and GIF-LZW agreement. >> >> Q: My software supports TIFF-LZW, but not GIF. >> A: You still need to obtain the TIFF-LZW and GIF-LZW agreement. >> >> Q: So if my software only supports non-LZW versions of TIFF and PS Level II >> I don't need to worry about obtaining a license agreement? >> A: That is correct. Only software that is capable of using the LZW >> algorithm requires an agreement. This includes all software that supports >> the GIF file format. >> >> Q: What about file compression programs such as compress, PKZIP, zoo, and >> lha? Don't they use LZW too? >> A: Most file compression programs use the LZ77 algorithm for compressing >> text. The LZ77 compression algorithms (and several of its derivatives) >> predates LZW by several years and is covered by its own series of patents. >> The predecessor to LZW, LZ78, is used primarily for compressing binary >> data and bitmaps. Any software that uses the LZ77 and/or LZ78 algorithms >> without the LZW improvement is not affected by the Unisys LZW patent. >> Of the mentioned software packages, the Unix compress utility does use LZW >> and therefore requires a license. >> >> Q: Doesn't IBM also hold a patent on LZW? >> A: IBM was granted a patent (4,814,746) for use of LZW in disk drive >> technology. This patent does not award ownership of LZW to IBM. >> >> Q: Is there a chance that the Unisys patent is actually invalid? >> A: In 1994, the U.S Patent Office reexamined the Welch patent and, on >> January 4th of that year, not only confirmed the patentability of the >> original 181 patent claims, but also confirmed that 51 claims added >> during the reexamination were also patentable. >> >> Q: But you can't patent a mathematical abstraction. Doesn't this also >> include algorithms implemented as computer software? >> A: A patent grants the exclusive rights, title, or license to produce, >> use, or sell an invention or process. One or more algorithms may be >> applied using software to create an invention. It is this invention >> whose use is restricted by the patent and not the algorithm(s) involved. >> In the case of software, it seems that it is not very easy to separate >> the algorithm(s) from the invention itself. Use of the algorithm(s) would >> seem to imply use of the invention as well. >> >> Q: I use LZW in my programs, but not for GIF or TIFF graphics. What should >> I do? >> A: If you are not a business, and the programs are for your own personal >> non-commercial or not-for-profit use, Unisys does not require you to >> obtain a license. If they are used as part of a business and/or you sell >> the programs for commercial or for-profit purposes, then you must contact >> the Welch Patent Licensing Department at Unisys and explain your >> circumstances. They will have a license agreement for your application of >> their LZW algorithm. >> >> Q: Where can I apply for a GIF-LZW, TIFF-LZW and GIF-LZW, PDF, PostScript >> Level II, or any other LZW license? >> A: You can write to: >> >> Welch Patent Licensing Department >> Unisys Corporation >> Mail Stop C1SW19 >> P.O. Box 500 >> Blue Bell, PA 19424 USA >> >> Or fax: 215.986.3090 >> >> Or email: [email protected] >> >> General licensing information may also be obtained from the home page of >> the Unisys Web Server: >> >> http://www.unisys.com >> >> Q: How much does a license cost? >> A: For a GIF-LZW license there is a$25US non-refundable registration fee to
>>    start. You will then pay 0.45% of the selling price of your software per
>>    unit sold per calendar quarter with a minimum of $0.10US and a maximum >>$10US per unit. For a TIFF-LZW and GIF-LZW license, the non-refundable
>>    registration fee is $50US and you will pay 0.65% of the selling price of >> your software per unit sold per calendar quarter, with a minimum of >>$0.20US and a maximum of \$25US per unit. The license agreement contains
>>    various other terms and conditions, such as those which define the field
>>    of use.
>>
>> Q: Do I need a separate license for each GIF-using software product I sell?
>> A: If you sell three products that all use the GIF format, for example, then
>>    you will need only one license. License fees must be paid for each product
>>    sold.
>>
>> Q: Do I need to obtain a new license if I release a new version of my
>>    software?
>> A: No. However, a license fee is required for each update, improvement, or
>>    enhancement of your software that is sold.
>>
>> Q: What if I give my software away?
>>    personal use and your distributing the software is non-commercial and
>>    not-for-profit use and you receive no financial gain (such as Shareware
>>    donations, royalties for CD-ROM distributions, or as advertising to
>>
>> Q: But what about Shareware donations?
>> A: Each Shareware "payment" you receive is considered the selling price of
>>    that unit. Whatever a user pays to you for your GIF-using software is
>>    required to be included in your quarterly license fee payment to Unisys.
>>    However, minimum license fees per unit must be always paid.
>>
>> Q: My Shareware GIF software is being sold for-profit on a CD-ROM, but I do
>>    not make any profit from its sale. Can I get in trouble? Do I need a
>> A: The person/business that is selling your program for profit on their CD-ROM
>>    is responsible for obtaining the proper license. You would only need a
>>    license if you received any payments from the CD-ROM vendor or from users
>>
>> Q: I do not live in the United States and my software is not available there.
>>    Do I still need to obtain a license agreement?
>> A: Yes, you do. The Unisys patent has many foreign counterparts and the
>>    legalities of using LZW apply to most other countries in addition the US.
>>
>> Q: What will happen to me if I continue to revise my GIF-using software,
>>    sell it for profit, and yet not bother to obtain a license?
>> A: Most likely, when your unlicensed program is discovered by Unisys,
>>    If you then fail to obtain the proper license, Unisys may seek an
>>    injunction against your product including damages. You could also be
>>    charged with willful infringement, which could result in treble damages.
>>
>> Q: On what Usenet newsgroups is this LZW agreement being discussed?
>> A: You will find threads appearing on comp.graphics and other related
>>    graphical newsgroups. The official newsgroup where much discussion
>>    takes place is alt.gif-agreement. You might also find information on
>>    the misc.legal.computing, misc.int-property, and comp.patents newsgroups.
>>
>> Q: Where can I get a copy of the Unisys patent?
>> A: Copies of patents may be found in public libraries or be obtained directly
>>    from the U.S. Patent Office. The patent is also available at many Internet
>>    sites, including:
>>
>>      ftp://cs.columbia.edu/archives/mirror2/world-info/obi/USPatents/lzw-patent.gz
>>      ftp://ftp.std.com/obi/USPatents/lzw-patent.Z
>>      ftp://ftp.uu.net/doc/literary/obi/USPatents/lzw-patent.Z
>>      ftp://gatekeeper.dec.com/.8/misc/lzw-patent.Z
>>
>> Q: What are my alternatives to GIF and TIFF-LZW file formats?
>> A: The most popular alternative is JPEG compression and the JFIF file format.
>>    JFIF-JPEG files are smaller and store far more colors than GIF files.
>>    Another newer alternative is the PNG format, which is currently under
>>    development (see the section "PNG - Portable Network Graphics" in Part 3
>>    of this FAQ). PNG is unencumbered by patent licenses and has much
>>    potential and promise in replacing GIF. But, most software that supports
>>    PNG will likely have been written after January 1, 1995, so make sure that
>>
>> Q: This agreement is bogus! I refuse to ever use GIF again!
>> A: As an end-user you are free never to read, write, or archive another
>>    LZW-encoded file as long as you live. As a developer you are only
>>    free of the legal implications of the Unisys patent if you remove any
>>    LZW code from your programs, including those shipped to your customers
>>    after 1994.
>>
>> Q: Wait! I have more questions!
>> A: Contact the Welch Patent Licensing Department at the aforementioned
>>    addresses. I (the author of this FAQ) am not an employee nor legal
>>    representative of Unisys. You can also find this information on the
>>    Unisys web page:
>>
>>
>>    And in the following InfoWorld article:
>>
>>    "Graphics file format patent Unisys seeks royalties from GIF developers",
>>    Karen Rodriguez, InfoWorld, Jan 09, 1995 (Vol.17, Issue 02, p3)
>>
>>
>> Disclaimer: The information in this FAQ regarding the Unisys LZW licensing
>> agreement has been presented in an attempt to allow the reader to understand
>> some of the legalities they may face by the use of the LZW algorithm. The
>> author has rendered this explanation and example questions using the most
>> accurate information available to him at the date of this FAQ. In no regard
>> should this text be considered an official publication of Unisys Corporation
>> or a legal representation of the policies of Unisys, or in any way obligating
>> Unisys to enter into a license agreement based upon the terms,
>> interpretations, and/or answers to question provided in this text.
>>
>>
>> Parent document is top of "Graphics File Formats FAQ (Part 1 of 4): General Graphics Format Questions"
>> Previous document is "0. Can a graphics file be copyrighted?"
>> Next document is "V. Graphics Formats Misnomers, Misgivings, and Miscellany"
>> ...

------------------        -------------------         ----------------

Errors Contributed by Emilio Millan

> p. viii: "J 923 0.0013" was omitted from the right side of the table.
>
> p. 2: "Portuguese" should be capitalized.
>
> p. 5: The word "abandoning" should probably have been encoded as
> "7ing", and "abate" as "5".

Also, on p. 35, on the very last line, "next" should probably be
"shortly" or the like.

On p. 26, "code1" should probably be "Code1."

On p. 105, "possibe" should be "possible."

------------------        -------------------         ----------------

(1) 1,2,3,4,\framed{5},6,7 : I suggest you lower the framed numbers so the
baselines of the numbers align (several places).

(2) The braille table: looks like there is stretch in the second row. Now the
dotted stuff is not consistently spaced.

------------------        -------------------         ----------------

A comment from Haruhiko Okumura

As a friend of Haruyasu Yoshizaki (the author of LHA) and co-designer
of LHA, I would like to comment on a minor point.  On pages 156 and
410, you mention "ICE" as Yoshizaki's work.  As far as I know, it's a
faked version of either LHarc or LHA, presumably made by someone who
thought the English message "melting..." cute.  Anyway, I haven't seen
the program.

------------------        -------------------         ----------------

Errors found by Paul D. Amer

p. 25, lines+2 & +4: smallest -> largest

p. 350, In Figure F.2b, the .5 and -.5 amplitudes should be 1/3 and -1/3, respectively?

p. 387, Exercise answer 4.5: The 12 below the underbraced sequence of zeros should be 13. The
same error can be found on p. 180 and it also affects the answer to Ex. 4.8, where the word
"twelve" should be changed to "thirteen" and the number 12 should be changed to 13 twice.

------------------        -------------------         ----------------

Errors found by the author

p. 27, line +4: The length of the unary code for the integer n is n bits. [instead of (log base
2 n)+1].

p. 33, line -2 (display equation), the sum of (1/log2 n) -> the sum of 1/n.

p. 48, line -2, heap shrinks by one positions (Figure 2.21c). -> ... (Figure 2.21b).

p. 80, line -9 (above exercise 2.30) add the sentence:
This should have been a 21-bit number but the numbers in Table~\ref{tb:arith.code5} have limited
precision and are not exactly right.

p. 111, line -17: reptition->repetition

p. 124, line+7. 256 (si) -> 264 (as), 105 (i),

p. 125, Table 3.16: 270-(space)es, 271-sil, 272-ly -> 270-(space)ea, 271-asi, 272 il, 273-ly...
Also insert entry "ea(space)" between entries 280-(space)se and 281-(space)si

p. 143, line +7: H=((C>>15)^C)&0xFFFF) -> H=((C>>15)^C)&0xFFFF

p. 143, line +21: H=((I>>15)^I)&0xFFF) -> H=((I>>15)^I)&0xFFF

p. 146, eliminate the 3-line paragraph following Table 3.26.

p. 150, line -18: Change:
...may have a minimum file size of 5Kbytes, so 100 small block of, say,...

To:
...may have a minimum block size of 5Kbytes, so 100 small files of, say,...

p. 153, line -6: multiple Shannon-Fano tree -> multiple Shannon-Fano trees

p. 253, line -13 ...permutation L selected by the decoder -> ...permutation L selected by the
encoder

p. 270, top line of table 5.16 should have 0000 as the run of zeros (column 2) and 1 0001 as
nonzero group (column 3).

p. 277, line +1 ...string is from A are added to the P -> ...string is from A are added to the A-

p. 283, line +2    the 14-bit part -> the 13-bit part

p. 285, line -6   two 6-bit numbers 19 and 23 -> two 6-bit numbers 14 and 23

p. 288, line +6. State 2 has "a", "b", and "c" -> State 2 has "a", "b", and "c"

p. 296, line +3,   a circle is not -> the circle is not

p. 327: The following text is missing at the top of the page:

The rules are applied successively, creating parts that get more and more complex, thereby
transforming the simple axiom closer to the final, complex goal. The rules are called {\it
rewriting} or {\it production}\attention\ rules, and are an extension of Chomsky's^[Chomsky, Noam]
work on formal grammars...

p. 347, line -17, the second codeword -> the third codeword

p. 359, line -21, logically AND -> logically OR

p. 383, line+6. (266: alfa) -> (266: fa), (267: alfa)

------------------        -------------------         ----------------

Errors found by Mark Doyle

p. 67. The definition of a_2 is missing from the notes.

p 124. par+2. The letter "a" of "easily" has been left out of the analysis of the example. It
should also appear in location 270 of Table 3.16 (the dictionary) on page 125.

p128. line-7, dict[pointer].parent contains 1 -> contains 2.

p132. Table 3.19. Column S' should be shifted down one row.

p212. line 5. beighbors -> neighbors

p222. line 18. a (smaller version of) -> (a smaller version of)

p287. line -1 should be: State 1 accumulates 200 counts for "a", 100 counts for "b"

p288. line +6 should be: State 2 has "a" and "c" coming...

p295. line+11 should be: A large book, consisting of a million characters...

p297, line-6 should be:  in a large sound file, the
samples may sometimes have a flat distribution. Such a file will therefore not respond well to
Huffman coding (See exercise 2.14).

------------------        -------------------         ----------------

Errors found by Maxime Zakharov

p217, line+1

type color=(W,B,G); noderecord {White, Black, Gray} ->
type color=(W,B,G); node=record {White, Black, Gray}

p242, line -12:

r * [ SUM a_i - 1/n * (SUM a_i)^2 ] = ... should be:

r * [ SUM a_i^2 - 1/n * (SUM a_i)^2 ] = ...

p242, line -11:

r =  ... \over { SUM a_i - 1/n (SUM a_i)^2 } =
... \over { n * SUM a_i - (SUM a_i)^2 } should be:

r =  ... \over { SUM a_i^2 - 1/n (SUM a_i)^2 } =
... \over { n * SUM a_i^2 - (SUM a_i)^2 }

------------------        -------------------         ----------------

Errors found by Guy Blelloch

p40, line 17: The claim made in this paragraph is wrong, as the following example shows

Huffman -\log_2 P_i  ceil
.01   000      6.644       7
.30   001      1.737       2    VIOLATED
.34   01       1.556       2
.35   1        1.515       2

------------------        -------------------         ----------------

Errors found by Vijayakumaran Saravanan

p172, line -8: "64 cosine functions" should be "32 cosine functions"