You are previewing Fundamental Data Compression.
O'Reilly logo
Fundamental Data Compression

Book Description

Fundamental Data Compression provides all the information students need to be able to use this essential technology in their future careers. A huge, active research field, and a part of many people's everyday lives, compression technology is an essential part of today's Computer Science and Electronic Engineering courses. With the help of this book, students can gain a thorough understanding of the underlying theory and algorithms, as well as specific techniques used in a range of scenarios, including the application of compression techniques to text, still images, video and audio. Practical exercises, projects and exam questions reinforce learning, along with suggestions for further reading.* Dedicated data compression textbook for use on undergraduate courses* Provides essential knowledge for today's web/multimedia applications* Accessible, well structured text backed up by extensive exercises and sample exam questions

Table of Contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Dedication
  5. Copyright
  6. List of Figures
  7. List of Algorithms
  8. Preface
  9. Acknowledgements
  10. Chapter 1: Introduction
    1. 1.1 Data compression problems
    2. 1.2 Lossless and lossy compression
    3. 1.3 Deriving algorithmic solutions
    4. 1.4 Measure of compression quality
    5. 1.5 Limits on lossless compression
    6. Summary
    7. Learning outcomes
    8. Exercises
    9. Laboratory
    10. Assessment
  11. Chapter 2: Coding symbolic data
    1. 2.1 Information, data and codes
    2. 2.2 Symbolic data
    3. 2.3 Variable length codes
  12. Chapter 3: Run-length algorithms
    1. 3.1 Run-length
    2. 3.2 Hardware data compression (HDC)
    3. 3.3 Algorithm Design
    4. Summary
    5. Learning outcomes
    6. Exercises
    7. Laboratory
    8. Assessment
  13. Chapter 4: Huffman coding
    1. 4.1 Static Huffman coding
    2. 4.2 Shannon-Fano approach
    3. 4.3 Optimal Huffman codes
    4. 4.4 Implementation efficiency
    5. 4.5 Extended Huffman coding
    6. Summary
    7. Learning outcomes
    8. Exercises
    9. Laboratory
    10. Assessment
  14. Chapter 5: Adaptive Huffman coding
    1. 5.1 Adaptive approach
    2. 5.2 Compressor
    3. 5.3 Decompressor
    4. 5.4 Disadvantages of Huffman algorithms
    5. Summary
    6. Learning outcomes
    7. Exercises
    8. Laboratory
    9. Assessment
  15. Chapter 6: Arithmetic coding
    1. 6.1 Probabilities and subintervals
    2. 6.2 Model and coders
    3. 6.3 Simple case
    4. 6.4 General case
    5. Summary
    6. Learning outcomes
    7. Exercises
    8. Laboratory
    9. Assessment
  16. Chapter 7: Dictionary-based compression
    1. 7.1 Patterns in a string
    2. 7.2 LZW coding
    3. 7.3 LZ77 family
    4. 7.4 LZ78 family
    5. 7.5 Applications
    6. 7.6 Comparison
    7. Summary
    8. Learning outcomes
    9. Exercises
    10. Laboratory
    11. Assessment
  17. Chapter 8: Prediction and transforms
    1. 8.1 Predictive approach
    2. 8.2 Move to Front coding
    3. 8.3 Burrows-Wheeler Transform (BWT)
    4. 8.4 Transform approach
    5. 8.5 Discrete Cosine Transform (DCT)
    6. 8.6 Subband coding
    7. 8.7 Wavelet transforms
    8. Summary
    9. Learning outcomes
    10. Exercises
    11. Laboratory
    12. Assessment
  18. Chapter 9: Audio compression
    1. 9.1 Modelling sound
    2. 9.2 Sampling
    3. 9.3 Quantisation
    4. 9.3.1 Scalar quantisation
    5. 9.4 Compression performance
    6. 9.5 Speech compression
    7. 9.6 Music compression
    8. Summary
    9. Learning outcomes
    10. Exercises
    11. Assessment
  19. Chapter 10: Image compression
    1. 10.1 Image data
    2. 10.2 Bitmap images
    3. 10.3 Vector graphics
    4. 10.4 Bitmap and vector graphics
    5. Rasterising
    6. Vectorisation
    7. 10.5 Colour
    8. 10.6 Classifying images by colour
    9. 10.7 Classifying images by appearance
    10. 10.8 Image compression
    11. Summary
    12. Learning outcomes
    13. Exercises
    14. Laboratory
    15. Assessment
  20. Chapter 11: Video compression
    1. 11.1 Analogue video
    2. 11.2 Digital video
    3. 11.3 Moving pictures
    4. 11.4 MPEG
    5. 11.5 Basic principles
    6. 11.6 Temporal compression algorithms
    7. 11.7 Group of pictures
    8. 11.8 Motion estimation
    9. 11.9 Work in different video formats
    10. Summary
    11. Learning outcomes
    12. Exercises
    13. Assessment
  21. Appendix A: Brief history
  22. Appendix B: Matrices
  23. Appendix C: Fourier series and harmonic analysis
  24. Appendix D: Pseudocode notation
  25. Appendix E: Notation
  26. Index