Poreklo i šira upotreba
Reed–Solomonove kodove opisali su Irving S. Reed i Gustave Solomon 1960. godine. Rade nad celim simbolima, obično bajtovima, a ne nad pojedinačnim bitovima, zbog čega dobro podnose nizove oštećenja kao što su ogrebotina ili mrlja.
Ista porodica kodova štiti podatke na CD, DVD i Blu-ray diskovima, u nekim digitalnim televizijskim i satelitskim vezama i u drugim 2D bar kodovima, uključujući Data Matrix ECC 200, Aztec kod i PDF417.
Kako ga QR kodovi koriste
QR kod svaku 8-bitnu kodnu reč tretira kao element konačnog polja GF(256), izgrađenog pomoću primitivnog polinoma x^8 + x^4 + x^3 + x^2 + 1 (heksadecimalno 0x11D). Kodne reči podataka dele se generatorskim polinomom, a ostatak postaje kodne reči za ispravljanje grešaka koje im se dodaju.
Veći kodovi dele svoje podatke na više blokova, svaki sa sopstvenim kodnim rečima za ispravljanje grešaka. Blokovi se zatim prepliću pri postavljanju kodnih reči u mrežu, pa se jedna mrlja oštećenja raspoređuje na mnogo blokova umesto da preoptereti jedan.
Koliko može da ispravi
Sa n kodnih reči za ispravljanje grešaka u bloku, dekoder može da ispravi do n/2 kodnih reči čiji položaj nije poznat ili do n kodnih reči čiji je položaj poznat, a koje se zovu brisanja (erasures). Mešoviti slučajevi slede pravilo da se svaka greška računa dvaput, a svako brisanje jednom.
Zato kod sa čistom, ravnom površinom prekrivenom logotipom i dalje može da se skenira: pametan čitač može prekrivenu oblast da tretira kao brisanja, dok je nasumično oštećenje teže popraviti jer dekoder prvo mora da ga pronađe.
- Nepoznate greške: do polovine broja EC kodnih reči
- Brisanja (poznati položaji): do broja EC kodnih reči
- Polje: GF(256), polinom 0x11D
- Blokovi se prepliću da bi se rasporedilo oštećenje u nizu