Původ a širší využití
Kódy Reed–Solomon popsali v roce 1960 Irving S. Reed a Gustave Solomon. Pracují s celými symboly, obvykle bajty, ne s jednotlivými bity, což je činí dobrými při zvládání shluků poškození, jako je škrábanec nebo šmouha.
Stejná rodina kódů chrání data na discích CD, DVD a Blu-ray, v některých digitálních televizních a satelitních spojích a v dalších 2D čárových kódech včetně Data Matrix ECC 200, kódu Aztec a PDF417.
Jak je QR kódy používají
QR kód pokládá každé 8bitové kódové slovo za prvek konečného tělesa GF(256), vytvořeného primitivním polynomem x^8 + x^4 + x^3 + x^2 + 1 (hex 0x11D). Datová kódová slova se dělí generujícím polynomem a zbytek se stane kódovými slovy opravy chyb, která se k nim připojí.
Větší kódy dělí data na několik bloků, každý s vlastními kódovými slovy opravy chyb. Bloky se při ukládání kódových slov do mřížky prokládají, takže jediná skvrna poškození se rozprostře do mnoha bloků a nezahltí jeden.
Kolik dokáže opravit
S n kódovými slovy opravy chyb v bloku dokáže dekodér opravit až n/2 kódových slov s neznámou polohou nebo až n kódových slov se známou polohou, zvaných výmazy. Smíšené případy se řídí pravidlem, že každá chyba se počítá dvakrát a každý výmaz jednou.
Proto se dá naskenovat i kód s čistou, plochou oblastí zakrytou logem: chytrá čtečka může zakrytou oblast považovat za výmazy, zatímco náhodné poškození se opravuje hůř, protože ho dekodér musí nejprve najít.
- Neznámé chyby: až polovina počtu kódových slov EC
- Výmazy (známé polohy): až počet kódových slov EC
- Těleso: GF(256), polynom 0x11D
- Bloky jsou prokládány, aby se rozptýlilo shlukové poškození