Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
A concise introduction to data compression (Undergraduate Topics in Computer Science)
Salomon D., Springer, 2007. 314 pp. Type: Book
Date Reviewed: Dec 23 2008

Compression is important. With estimates of hundreds or thousands of exabytes of digital data in the world today, numbers big enough to be almost incomprehensible, and increasing even faster every year, compression helps to reduce storage, and increase network transmission speed. Compression is everywhere, from portable music players to image collections to video.

Of course, not all data can be compressed, and, more essentially, the same methods don’t work for all data. While claims of universal compression do appear from time to time, these are usually snake oil or delusion. Indeed, a compression method that works well on one kind of data will often make other data larger, or even make it unusable. For many areas in computing, understanding the types of compression that work, or that do not work, is important, and an understanding of the fundamental algorithms will be helpful.

This book provides an overview of compression methods in general, and goes into a fair amount of detail for some specific algorithms in use. There are two main divisions in the book. The first contains an overview of useful concepts, such as entropy, Huffman coding, and dictionary methods (such as Lempel-Ziv and deflate). The second contains chapters on arithmetic coding, image compression (JPEG and a brief introduction to wavelets), and audio compression, as well as a short chapter on a couple of other methods.

The discussions of specific algorithms are concise, but usually contain a fair amount of detail including specific examples. There are also many figures and graphs illustrating the specific algorithms, as well as a number of exercises with answers. There is a nice bibliography and a reasonable glossary.

Most of the algorithms are described with words instead of either pseudocode or an implementation in a common language, although a few do have more formal descriptions, or MATLAB code. For readers familiar with MATLAB, this is undoubtedly useful; for other readers, the MATLAB listings are sometimes a bit cryptic. In contrast, many of the graphs are annotated with the MATLAB code used to generate them. It is not clear how this adds to the information presented; in many cases, the graph-drawing commands swamp any computation done, and this practice seems strange when contrasted with the lack of code for the compression algorithms used. It would also probably be useful to more completely sketch out just what the file formats look like for each algorithm.

Another odd choice is in the selection of audio compression algorithms. While mu-law and a-law compression are certainly among the simplest, the Moving Pictures Experts Group (MPEG) family of algorithms is used more.

In a few places, the results given by the book and the results I computed differed, but I’m not sure if the error is in the description, in the results presented, or in my computations, and there seems to be no easy way to check some of these.

On the whole, this could be a useful book for a short course on compression at the upper undergraduate level, and would provide students with a taste for the material. In a few places (for audio and image methods), the mathematics might at least look a bit daunting, but the code given should more than compensate for that.

Reviewer:  Jeffrey Putnam Review #: CR136372 (0911-1007)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Data Compaction And Compression (E.4 ... )
 
 
Information Theory (H.1.1 ... )
 
 
Numerical Algorithms And Problems (F.2.1 )
 
Would you recommend this review?
yes
no
Other reviews under "Data Compaction And Compression": Date
Data compression (3rd ed.)
Held G., John Wiley & Sons, Inc., New York, NY, 1991. Type: Book (9780471929413)
Apr 1 1992
Data compression using an intelligent generator: the storage of chess games as an example
Althöfer I. Artificial Intelligence 52(1): 109-113, 1991. Type: Article
Jan 1 1993
An analysis of the longest match and the greedy heuristics in text encoding
Katajainen J., Raita T. Journal of the ACM 39(2): 281-294, 1992. Type: Article
Mar 1 1993
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy