Rejection-Sampled Linear Codes for Lossy Compression and Channel Simulation
Jianguo Zhao, Cheuk Ting Li
TL;DR
This work advances channel simulation and lossy source coding by pairing linear inner codes with rejection sampling to realize exact AXN-channel simulation with near-capacity efficiency. It introduces stochastic, state-dependent, and greedy RSSE schemes, providing both short-blocklength BCH-based implementations and asymptotic polar-based schemes, each with provable bounds and practical complexity. By exploiting RTC-decomposition and code-distance properties, the approach achieves performance close to the excess functional information lower bound and demonstrates competitive rate-distortion behavior at small blocklengths, often outperforming conventional covering codes. The framework also supports oblivious relaying and offers a constructive, scalable path to capacity-achieving schemes using structured codes.
Abstract
We show that linear codes combined with rejection sampling can yield a capacity-achieving scheme for simulating additive exchangeable noise channels. Specifically, our scheme achieves an amount of communication within $\log e + 1$ bits from the excess functional information lower bound. Hence, it can be used in lossy source coding to achieve the rate-distortion function. We discuss practical implementations based on BCH codes and polar codes. For the simulation of binary symmetric channels, the BCH-based construction with a blocklength of $n = 63$ attains a rate comparable to the PolarSim with $n = 4096$, while significantly reducing the latency. The polar-based construction asymptotically achieves the channel capacity with polynomial average complexity. Furthermore, using the idea from greedy rejection sampling, we propose an algorithm to construct capacity-achieving schemes based on any linear codes. Experiments reveal that our construction can outperform conventional covering codes for lossy source coding with Hamming distortion for a certain range of distortion levels, and performs well even when the blocklength is small (e.g., $n = 24$).
