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