Introduction to Information Theory and Data Compression
Darrel Hankerson,
Greg A. Harris,
and
Peter D. Johnson Jr.
Table of Contents
Preface
Part I: Information Theory
1 Elementary Probability
1.1 Introduction
1.2 Events
1.3 Conditional probability
1.4 Independence
1.5 Bernoulli trials
1.6 An elementary counting principle
1.7* On drawing without replacement
1.8 Random variables and expected, or average, value
1.9 The law of large numbers
2 Information and Entropy
2.1 Systems of events
2.2 Information
2.3 Entropy
2.4 Information and entropy
5.4 The Noiseless Coding Theorem and Shannon's bound
6 Arithmetic Coding
6.1 Pure zeroth-order arithmetic coding: dfwld
6.1.1 Rescaling while encoding
6.1.2 Decoding
6.2 What's good about dfwld coding: the compression ratio
6.3 What's bad about dfwld coding and some ways to fix it
6.3.1 Supplying the source word length
6.3.2 Computation
6.3.3 Must decoding wait until encoding is completed?
6.4 Implementing arithmetic coding
6.4.1 Use of integer arithmetic
6.4.2 Implementation and performance issues
6.5 Notes
7 Higher-order Modeling
7.1 Higher-order Huffman encoding
7.2 The Shannon bound for higher-order encoding
7.3 Higher-order arithmetic coding
7.4 Statistical models, statistics, and the possibly unknowable truth
8 Adaptive Methods
8.1 Adaptive Huffman encoding
8.1.1 Compression and readjustment
8.1.2 Higher-order adaptive Huffman encoding
8.2 Maintaining the tree in adaptive Huffman encoding: the method of Knuth
and Gallager
8.2.1 Gallager's method
8.2.2 Knuth's algorithm
8.3 Adaptive arithmetic coding
8.4 Interval and recency rank encoding