Compression Algorithms for Real Programmers


  • Peter Wayner, Writer, Baltimore, MD, USA

In life, time is money, and on the Internet, the size of data is money. Small programs and small files take less disk space and cost less to send over the Internet. Compression Algorithms for Real Programmers describes the basic algorithms and approaches for compressing information so you can create the smallest files possible. These new algorithms are making it possible for people to take impossibly large audio and video files and compress them enough that they can flow over the Internet.
View full description


programmers, software engineers


Book information

  • Published: September 1999
  • ISBN: 978-0-12-788774-6

Table of Contents

Preface. Book Notes. 1. Introduction1.1 Grading Compression Algorithms1.2 Philosophical Hurdles1.3 How to Use this Book2. Statistical Basics2.1 Huffman Encoding2.2 Shannon-Fano Encoding2.3 Entropy and Information Theory2.4 Character Grouping Schemes2.5 Conclusion3. Dictionary Techniques3.1 Basic Lempel-Ziv-Welch3.2 Simple Windows with LZSS3.3 Coding Notes3.4 Variations3.5 Commercially Available Standards3.6 Conclusions4. Arithmetic Compression4.1 Three Examples4.2 Programming Arithmetic Coding4.3 Products Using Arithmetic Coding4.4 Conclusion5. Adaptive Compression5.1 Escape Codes5.2 Adaptive Huffman Coding5.3 Windows of Data5.4 Conclusion6. Grammar Compression6.1 SEQUITUR6.2 Code Compression6.3 Conclusion7. Programmatic Solutions7.1 PostScript7.2 Conclusion8. Quantization8.1 Basic Quantization8.2 Adaptive Quantization8.3 Vector Quantization8.4 Dimension Reduction8.5 Conclusion9. Wavelet Transforms9.1 Basic Fourier Mathematics9.2 Discrete Cosine Transform9.3 Two-Dimensional Approaches9.4 Other Wavelet Functions9.5 Conclusion10. JPEG10.1 JPEG Overview10.2 Basic JPEG10.3 JPEG Enhancements10.4 Lossless JPEG10.5 Progressive Transmission10.6 Hierarchical Transmission10.7 Conclusions11. Video Compression11.1 Pixel Details11.2 Motion Estimation11.3 Quantization and Bit Packaging11.4 MPEG-211.5 Conclusions12. Audio Compression12.1 Digitization12.2 Subband Coding12.3 Speech Compression12.4 MPEG and MP312.5 Conclusion13. Fractal Compression13.1 Conclusion14. Steganography14.1 Statistical Coding14.2 JPEG and Jsteg14.3 Quantization14.4 Grammars14.5 ConclusionsAppendix A: PatentsA.1 Statistical PatentsA.2 Dictionary Algorithm PatentsA.3 Arithmetic Algorithm PatentsA.4 Adaptive Algorithm PatentsA.5 Grammar Algorithm PatentsA.6 Quantization Algorithm PatentsA.7 Image Algorithm PatentsA.8 Fractal Algorithm PatentsA.9 Other PatentsAppendix B: BibliographyIndex