Gaussian Rate-Distortion and Reverse Waterfilling

The 6 dB Rule

The Gaussian source is the most important continuous source in practice β€” it models thermal noise, quantization error, and many natural signals. Its rate-distortion function has a beautiful closed form that yields the famous "6 dB per bit" rule: each additional bit of rate halves the distortion. For vector Gaussian sources, the optimal strategy is "reverse waterfilling" β€” the dual of the waterfilling solution for channel capacity. Understanding these results is essential for anyone working with quantization, compression, or signal processing.

Theorem: Rate-Distortion Function for Gaussian Source

For a Gaussian source X∼N(0,Οƒ2)X \sim \mathcal{N}(0, \sigma^2) with squared-error distortion d(x,x^)=(xβˆ’x^)2d(x, \hat{x}) = (x - \hat{x})^2: R={12log⁑2Οƒ2DifΒ 0<D≀σ20ifΒ D>Οƒ2R = \begin{cases} \frac{1}{2}\log_2 \frac{\sigma^2}{D} & \text{if } 0 < D \leq \sigma^2 \\ 0 & \text{if } D > \sigma^2 \end{cases} Equivalently, the distortion-rate function is D(R)=Οƒ2β‹…2βˆ’2RD(R) = \sigma^2 \cdot 2^{-2R}.

Each bit of rate halves the distortion: going from RR to R+1R + 1 bits reduces DD by a factor of 4 (= 6 dB). This is the information-theoretic version of the "6 dB per bit" rule. At zero rate, the best we can do is estimate XX by its mean (zero), giving distortion Οƒ2\sigma^2. At infinite rate, distortion approaches zero.

Example: Gaussian Rate-Distortion in Practice

A speech signal is modeled as Gaussian with Οƒ2=1\sigma^2 = 1. Compute the rate needed for SNR values of 20 dB, 40 dB, and 60 dB, where SNR =Οƒ2/D= \sigma^2/D.

Theorem: Reverse Waterfilling for Vector Gaussian Sources

Let X∼N(0,Ξ›)\mathbf{X} \sim \mathcal{N}(\mathbf{0}, \boldsymbol{\Lambda}) where Ξ›=diag(Οƒ12,…,Οƒk2)\boldsymbol{\Lambda} = \text{diag}(\sigma_1^2, \ldots, \sigma_k^2) is diagonal (parallel independent Gaussian sources). The rate-distortion function under total squared-error distortion D=βˆ‘i=1kDiD = \sum_{i=1}^k D_i is: R=βˆ‘i=1k12log⁑2Οƒi2Diβˆ—R = \sum_{i=1}^k \frac{1}{2}\log_2 \frac{\sigma_i^2}{D_i^*} where Diβˆ—=min⁑(Ξ³,Οƒi2)D_i^* = \min(\gamma, \sigma_i^2) and the reverse waterfilling level Ξ³\gamma is chosen so that βˆ‘i=1kDiβˆ—=D\sum_{i=1}^k D_i^* = D.

Reverse waterfilling allocates more distortion to components with smaller variance. If a component has variance Οƒi2<Ξ³\sigma_i^2 < \gamma, it gets Diβˆ—=Οƒi2D_i^* = \sigma_i^2 (no bits allocated β€” the component is "drowned" in distortion). Components with Οƒi2>Ξ³\sigma_i^2 > \gamma get Diβˆ—=Ξ³D_i^* = \gamma, with the excess Οƒi2βˆ’Ξ³\sigma_i^2 - \gamma captured by the code.

This is the opposite of channel waterfilling, where we pour power into strong subchannels. Here we pour distortion into weak components. The connection to transform coding is immediate: apply the KLT (eigendecomposition) to decorrelate, then reverse-waterfill on the eigenvalues.

Reverse Waterfilling for Parallel Gaussian Sources

Visualize the reverse waterfilling solution for a set of parallel Gaussian sources. Adjust the total distortion budget and observe how distortion is allocated across components. Compare with the forward waterfilling for channel capacity.

Parameters
2
4
⚠️Engineering Note

The 6 dB Rule in System Design

The 6 dB/bit rule (D=Οƒ2β‹…2βˆ’2RD = \sigma^2 \cdot 2^{-2R}) is the fundamental benchmark for all quantization and compression system design. A practical quantizer that achieves SNR =6Rβˆ’c= 6R - c dB for some constant cc is said to be "cc dB from the R-D bound." The best practical schemes:

  • Uniform quantizer + entropy coding: cβ‰ˆ1.53c \approx 1.53 dB (Gish-Pierce, 1968)
  • Lloyd-Max quantizer (no entropy coding): cβ‰ˆ1.2c \approx 1.2 dB for large MM
  • Lattice quantizer + entropy coding: cβ‰ˆ0.5c \approx 0.5 dB (approaching the Gaussian R-D bound)

These gaps quantify the "price" of structured (implementable) coding versus random coding.

Common Mistake: Forward vs. Reverse Waterfilling

Mistake:

Confusing forward waterfilling (channel capacity, pour power into strong subchannels) with reverse waterfilling (rate-distortion, pour distortion into weak components).

Correction:

The two are duals:

  • Channel (forward): Fill from the bottom up with power. Strong subchannels get more power. Weak subchannels may be shut off.
  • Source (reverse): Fill from the top down with distortion. Weak components get more distortion. Weak components may be completely discarded.

The reversal comes from maximizing vs. minimizing: channel capacity maximizes rate (use strong subchannels), rate-distortion minimizes rate (sacrifice weak components).

Reverse Waterfilling: Pouring Distortion into Weak Components

Animated comparison of forward waterfilling (channel capacity, pour power into strong subchannels) with reverse waterfilling (rate-distortion, pour distortion into weak components). The waterfilling level Ξ³\gamma rises to show which components are "shut off" at each distortion budget.

Key Takeaway

For a Gaussian source, R=12log⁑(Οƒ2/D)R = \frac{1}{2}\log(\sigma^2/D) β€” the "6 dB per bit" rule. For parallel Gaussian sources, reverse waterfilling allocates more distortion to weak components and zero bits to components with variance below the waterfilling level Ξ³\gamma. This is the dual of channel waterfilling and the foundation of transform coding: apply the KLT to decorrelate, then reverse-waterfill across the transform coefficients.