Imagine downloading a large file over a lossy network. Traditional error correction asks the sender to retransmit exactly the missing pieces — but what if the network drops packets at random and the sender doesn't know which ones arrived?
Fountain codes take a completely different approach. Starting from k source blocks, the encoder generates a potentially unlimited stream of encoded packets, each formed by XORing a random subset of the source blocks. The receiver doesn't care which packets arrive — it just needs any set of roughly k + ε of them, and it can solve a system of XOR equations to recover all k original blocks exactly.
The name says it all: the encoder is a fountain that never stops pouring. Tune in for a second, a minute, or an hour — as long as you collect enough drops, you reconstruct the entire original. No retransmissions, no coordination about what was lost.
This idea, developed rigorously by Michael Luby with LT codes (2002) and later refined into Raptor codes (Shokrollahi, 2006), is now inside every modern video-streaming and satellite-broadcast standard you use.
Comments
Loading comments...