4 ms·
> The RS decoders used in typical CD players doesn't come anywhere near the theoretical performance possible from the format, they're only used as erasure codes
by byuu 7y ago
> The RS decoders used in typical CD players doesn't come anywhere near the theoretical performance possible from the format, they're only used as erasure codes.
Reed-Solomon is fascinating, especially the way both RSPC and CIRC have both P and Q parity. Depending on the order and how many passes you do of each, you can recover more and more data. If you can guess where the error is, you can correct up to twice as many errors. And as a last resort for RSPC, you can potentially brute force corrections via the checksum values.
Reed-Solomon error correction ends up being more of an art than a science, and it's why different CD-ROM drives have different success rates at reading damaged discs.
Explaining Reed-Solomon would be a fun article, but probably too intense and niche a subject. Tons of linear algebra over galois fields, and intimidating if not overly complex algorithms like Berlekamp-Massey, Chien search, and Forney's formula (some of which can be brute forced these days.)
RSPC makes it even more complex with two overlapping channels of parity. CIRC (cross-interleave) makes that even more complex still with differing delay slots per byte of error correcting data. See pages 45 and 46: http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-130.pdf http://www.ecma-international.org/publications/files/ECMA-ST...
- tinus_hn 7y agoThe same error correction is used in qr codes. To correct errors you have to guess which bits are unsure.
- nullc 7y agoYou don't have to guess, in that if there are below a threshold number of errors there is a unique decode which will always be right. And a decoder that uses Berlekamp-Massey can find that unique decode with a lot less work than trying every possibility. :)