Error Exponents for Source Coding
The Redundancy–Reliability Tradeoff
Shannon's source coding theorem (Chapter 5) tells us that we can compress a source at any rate with vanishing error probability. But how fast does the error probability vanish? And what if we want to compress at a rate slightly above — how much "redundancy" do we need to achieve a given reliability? The method of types gives a precise answer: the error probability decays exponentially in blocklength , and the exponent depends on in a precise way.
Definition: Source Coding Error Event
Source Coding Error Event
A block source code of rate for a DMS assigns to each source sequence an index . The error event is the event that the source sequence cannot be uniquely recovered: The error probability is .
Theorem: Source Coding Error Exponent
For a DMS with distribution on and a source code of rate :
- If , the optimal error exponent is That is, there exists a sequence of codes with , and no sequence of codes can achieve a strictly larger exponent.
- If , then .
The error occurs when the source sequence has a type with — meaning the type class is too large for the codebook to cover. By Sanov's theorem, the probability of such types is dominated by the one closest to in KL divergence. The redundancy controls how far the "bad" types are from , and hence how fast the error decays.
Error event in terms of types
The optimal code assigns codewords to the most probable sequences. A type- sequence has probability and the type class has elements. If , the entire type class fits in the codebook. The error event is thus:
Apply Sanov's theorem
The set of "bad" distributions is . By Sanov's theorem:
Evaluate the minimization
The optimization is a convex program (KL divergence is convex in , and the entropy constraint defines a convex set). By KKT conditions, the optimal satisfies: for a Lagrange multiplier chosen so that . This is a tilted version of — a member of the exponential family generated by .
Example: Error Exponent for a Binary Source
Compute the source coding error exponent for a binary source with , at rate bits/symbol.
Compute source entropy
bits/symbol. Since , we have redundancy bits/symbol.
Find the optimal tilted distribution
We need with that minimizes . For the binary case, where . Solving: or . Since , the closer solution is (the one on the same side of the entropy curve that's closer to ).
Actually, we need the closest to in KL divergence. Evaluating both:
- :
- :
So and bits.
Interpret
At rate 0.95 bits/symbol (redundancy of 0.069 bits), the error probability decays as . For : . For : , which is astronomically small. The price of small redundancy is moderate blocklength — but the convergence is exponential.
Source Coding Error Exponent
Plot the source coding error exponent as a function of rate for a binary source. Observe how the exponent starts at zero when and increases as redundancy grows. The slider controls the source parameter .
Parameters
The Redundancy–Reliability Tradeoff
The source coding exponent reveals a fundamental tradeoff: redundancy (, the excess rate beyond entropy) buys reliability (, the rate at which errors vanish). At the Shannon limit , the exponent is zero — errors vanish, but only sub-exponentially. Any positive redundancy yields exponential error decay. This is the source coding analogue of the channel coding result that rates below capacity give exponential reliability.
Practical Implications of Source Coding Exponents
In practice, source codes (Huffman, arithmetic, LZ) operate at rates very close to entropy, so their "exponent" is effectively zero — they rely on large blocklengths for reliability rather than excess rate. The error exponent framework is more relevant for fixed-rate source coding (used in delay-constrained systems like real-time video) where you must choose a rate above entropy and want to know how many source symbols to block together to achieve a target error probability. A practical rule of thumb: to achieve error probability below , you need blocklength .
Quick Check
For a DMS with entropy bits and a source code at rate bits/symbol (zero redundancy), the error probability:
Decays exponentially to zero
Goes to zero, but sub-exponentially
Stays bounded away from zero
Goes to 1
When , the error exponent is zero. The error probability still goes to zero (this is Shannon's theorem), but only polynomially in , not exponentially.
Key Takeaway
The source coding error exponent quantifies the redundancy-reliability tradeoff: coding at rate gives error probability decaying as . The exponent is zero at the Shannon limit and increases with redundancy. This is a direct application of Sanov's theorem to the set of "bad" types.