Discover new selections
Buy used:
$6.39
FREE delivery April 25 - 30. Details
Or fastest delivery Wednesday, April 23. Details
Used: Very Good | Details
Condition: Used: Very Good
Comment: May have limited writing in cover pages. Pages are unmarked. ~ ThriftBooks: Read More, Spend Less
Access codes and supplements are not guaranteed with used items.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the authors

Something went wrong. Please try your request again later.

The Data Compression Book 2nd Edition

4.0 out of 5 stars 16 ratings

The Data Compression Book Second Edition The Data Compression Book is the most authoritative guide to data compression techniques available. This second edition has been updated to include fractal compression techniques and all the latest developments in the compression field. All the code in the previous edition has been updated to run with today's compilers and has been tested on multiple platforms to ensure flawless performance. You'll learn to write C programs for nearly any environment as you explore different compression methods. Nelson and Gailly discuss the theory behind each method and apply the techniques involved to shrink data down to a minimum. Each technique is illustrated with a complete, functional C program that not only demonstrates how data compression works, but it also can be incorporated into your own data compression programs. You'll also get detailed benchmarks demonstrating the speed and compression ability of each technique. The code in this book has been tested on a variety of platforms and compilers including Microsoft Visual C++ 1.5 with MS-DOS 5.0 and 6.22; Borland C++ 4.0 and 4.5 with MS-DOS 5.0 and 6.22; Symantec C++ 6.0 and 7.0 with MS-DOS 5.0 & 6.22; Interactive Unix System 3.2 with the portable C compiler; Solaris 2.4 with the SunSoft compiler; and Linux 1.1 with the Gnu C Compiler. Topics Include:
  • The Shannon-Fano and Huffman coding techniques
  • Adaptive Huffman coding techniques
  • Lossy compression
  • The JPEG compression algorithm
  • Fractal compression techniques
  • Arithmetic coding
  • Dictionary compression methods

Editorial Reviews

About the Author

MARK NELSON is a regular contributor to various technical publications including Dr. Dobbs Journal, Computer Language, and the C User's Journal. JEAN-LOUP GAILLY, a software consultant with more than 15 years of programming experience, wrote the compression code of the freeware zip archiver and is the author of the gzip data-compression program.

Product details

  • Publisher ‏ : ‎ Wiley; 2nd edition (December 14, 1995)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 576 pages
  • ISBN-10 ‏ : ‎ 1558514341
  • ISBN-13 ‏ : ‎ 978-1558514348
  • Item Weight ‏ : ‎ 2.1 pounds
  • Dimensions ‏ : ‎ 7.24 x 1.38 x 9.26 inches
  • Customer Reviews:
    4.0 out of 5 stars 16 ratings

About the authors

Follow authors to get new release updates, plus improved recommendations.

Customer reviews

4 out of 5 stars
16 global ratings

Review this product

Share your thoughts with other customers

Top reviews from the United States

  • Reviewed in the United States on April 15, 2015
    I am not an EE major. Actually, I never found any EE oriented book or class very clear to me.
    I have been looking into the compress algorithms recently, this is really a life saver. It make things really simple and clear.
    I guess it is not a book for people looking for theoretical proof.
    For people who are really bothered by the confusing descriptions of compression algorithms in other sources, and feels they have to look into the source code to make thinks straight, this book is a book place to start.
    2 people found this helpful
    Report
  • Reviewed in the United States on January 6, 2024
    This is what I had to say several months back. But Amazon let’s you edit a review.
    Scroll down to see my new opinion

    I approached this book with programming mindset and nothing else. With what this book
    Claims to have offered I thought I would succeed. The first programming task is a simple Huffman
    Tree and compress routine. Faced with uncompilable and confusing GitHub files and poor descriptions
    I could make no progress whatsoever. I turned to Mastering C algorithms by oreilly and I can program
    Huffman trees easily. The next chapter is on adaptive Huffman coding so I would turn back to our book
    To shed some light on concepts and c++, for which I got totally offput and lost again. I now turned
    To Khalid Sayoods book on data compression and with some good flow charts and garnered Huffman skills I can now apply adaptive coding to receiver transmitter problems using c++. Dare I turn to this garbage
    To learn arithmetic coding, dictionary techniques, and Fourier transforms and gain any information? If so
    I will readjust my rating on this poorly written book and get back to all you suckers who plan on buying.

    Harsh, but several months later I find myself trying to program LZSS. Sayood has nothing but pictures,
    No idea whatsoever is given on an implementation. Oreily has an LZ77 program but it horribly inefficient
    Having you scan 4096 symbols each time you scan n symbols in the input file. It’s O(n) says Oreily!
    But can’t you use a binary search tree to speed this up? Well, I turned to the data compression book knowing I was bound to be confused, but actually, no this time. The binary tree is laid out with good diagrams And the c code, although something I wouldn’t attempt to cut and paste, serves as good pseudo code. So here I am, with a knowledge how to implement LZSS, so I got my money’s worth after all.
  • Reviewed in the United States on February 20, 2015
    Very satisfied!
    One person found this helpful
    Report
  • Reviewed in the United States on May 8, 1998
    This books is for C programmers, interested in understanding Data compression. Both Lossless and Lossy is covered. Easy to read, and each compression is implemented in C. You will not find Mathematical details in this book.
    8 people found this helpful
    Report
  • Reviewed in the United States on March 23, 2011
    From zip archives to jpg images, compressed data are ubiquitous on
    hard drives and on the internet. Consequently, a book offering
    the intermediate-level programmer a hands-on introduction to data
    compression is valuable. Even better is a book that does so using
    C language source code compiling to ready-to-use executables.

    That better book is The Data Compression Book (2nd edition).
    Published in 1996 and now out of print (but available through
    used book vendors), this book takes the reader from Huffman
    coding to the Ziv - Lempel LZ77 and LZ78 dictionary compression
    algorithms that are the heart of much lossless data compression.
    Lossy compression of audio and image data are also addressed.
    Most valuable to me is the patient yet thorough coverage of the
    discrete cosine transform and the entropy (i.e., "zigzag")
    encoding central to jpg images. The second edition ends with a
    new chapter on fractal image compression, a fascinating topic
    sadly encumbered within a minefield of patents. Yet, as those
    patents expire, fractal methods introduced here may see a
    renaissance.

    Anyone integrating the standard compression libraries (e.g.,
    zlib, libjpeg, and libpng) into their software will find this
    book useful. And if you anticipate modifying those libraries
    (perhaps to introduce data hiding (steganography)), this book
    will be even more useful through the technical background it
    provides.

    The book does show its age in places. (1) Source code originally
    came on a floppy disk. The used copy I bought lacked it. Emailing
    the first author (markn at ieee dot org) brought a prompt reply
    with an attached zip file of all source files. (2) Not covered,
    of course, are compression methods developed since 1996. These
    include the LZMA methods used by 7-zip and Rar, mp3 audio
    compression, and the Burrows-Wheeler algorithm used by bzip2. (3)
    A graphics display utility program that is part of the source
    writes directly to video memory, a classic DOS-era hack. That's
    not apt to work anymore! A simple workaround is to convert the
    graphics test files supplied with the source to portable graymap
    files. Do that by prepending the following three lines of text

    P5
    320 200
    255

    to the test image file and by changing the extension of the
    resulting file to .pgm. Now most image display programs (e.g.,
    Gimp, Irfanview, Xnview) will display the image. (For how this
    works, read the Wikipedia article on the Netpbm graphics format.)
    Using mingw gcc 3.4.5 on Windows XP, I found compiling and
    linking the source code to be problem-free. The authors tried
    hard to keep their C code as portable as possible.

    Finally, to those who might snub this book for the attention it
    gives to first-generation compression methods such as Huffman
    coding, I offer this anecdote. Adaptive Huffman, I found, often
    beats other more powerful methods, including 7-zip and rar, when
    the data set to compress is tiny (i.e., about the size of a
    "tweet", 140 bytes or less). Adaptive Huffman wins because,
    unlike the more powerful methods, it includes no header or other
    overhead in the compressed file. Older can sometimes be better.
    8 people found this helpful
    Report
  • Reviewed in the United States on August 25, 2000
    If you want to implement a compression scheme fast easily, or to have general knowledge about compression algorithms this is a very good book. If you really want to deeply understand compression algorithms, to have some kind of insight about them, and to know about the best algorithms available today - this book is has less benefit (understatement).
    23 people found this helpful
    Report
  • Reviewed in the United States on June 15, 2000
    This book's target audience is the novice C programmer who needs to implement data compression of some kind. The authors go to great pains to explain exactly how the code works, but they don't do as good a job on the algorithms themselves. If you are a competent C programmer and/or have any formal training in algorithms, this is probably not the book for you, though it may be a good jumping-off point if it's the only book you can get your hands on.
    16 people found this helpful
    Report

Top reviews from other countries

Translate all reviews to English
  • Hardik
    5.0 out of 5 stars excellent
    Reviewed in India on April 20, 2015
    this book for GTU students. as well as all the other programmers
  • Amazon Customer
    4.0 out of 5 stars Vecchio ma interessante
    Reviewed in Italy on February 2, 2017
    Non si tratta di un libro fresco di stampa, però da una prima occhiata mi sembra ben fatto ed interessante. Inoltre l'approccio utilizzato risulta essere chiaro.
    Report
  • Eui Kyum Kim
    4.0 out of 5 stars Still haven't looked inside
    Reviewed in the United Kingdom on February 15, 2013
    Still haven't looked inside, as its a bit old book now,
    but i think this will be very useful and nice
  • Sabeesh
    4.0 out of 5 stars Bad print
    Reviewed in India on March 17, 2024
    Its a great book. But poor print quality
  • Suman
    1.0 out of 5 stars Photocopy of book provided
    Reviewed in India on July 17, 2018
    I don't like the Book paper quality. It's page quality is too bad.Photocopy of the book is provided to me.