Kilmė ir platesnis naudojimas
Reed–Solomon kodus 1960 m. aprašė Irving S. Reed ir Gustave Solomon. Jie veikia su ištisais simboliais, dažniausiai baitais, o ne pavieniais bitais, todėl gerai tvarkosi su pažeidimų grupėmis, pavyzdžiui, įbrėžimu ar nubrozdinimu.
Ta pati kodų šeima saugo duomenis CD, DVD ir Blu-ray diskuose, kai kuriose skaitmeninės televizijos ir palydovinio ryšio linijose bei kituose 2D brūkšniniuose kodose, įskaitant Data Matrix ECC 200, Aztec kodą ir PDF417.
Kaip QR kodai jį naudoja
QR kodas kiekvieną 8 bitų kodo žodį traktuoja kaip baigtinio kūno GF(256) elementą, sudarytą naudojant pirminį polinomą x^8 + x^4 + x^3 + x^2 + 1 (šešioliktainis 0x11D). Duomenų kodo žodžiai dalijami iš generuojančiojo polinomo, o liekana tampa prie jų pridedamais klaidų taisymo kodo žodžiais.
Didesni kodai savo duomenis skaido į kelis blokus, kurių kiekvienas turi savo klaidų taisymo kodo žodžius. Dėstant kodo žodžius tinklelyje blokai persidengia (perpinami), todėl viena pažeidimo dėmė pasiskirsto per daug blokų, o ne priblokšta vieno.
Kiek jis gali ištaisyti
Jei bloke yra n klaidų taisymo kodo žodžių, dekoderis gali ištaisyti iki n/2 kodo žodžių, kurių padėtis nežinoma, arba iki n kodo žodžių, kurių padėtis žinoma, vadinamų ištrynimais. Mišriais atvejais galioja taisyklė, kad kiekviena klaida skaičiuojama dukart, o kiekvienas ištrynimas – vieną kartą.
Todėl kodas, kurio švarią, lygią sritį dengia logotipas, vis tiek gali būti nuskaitytas: išmanus skaitytuvas gali uždengtą sritį laikyti ištrynimais, o atsitiktinį pažeidimą ištaisyti sunkiau, nes dekoderis pirmiausia turi jį rasti.
- Nežinomos klaidos: iki pusės EC kodo žodžių skaičiaus
- Ištrynimai (žinomos padėtys): iki EC kodo žodžių skaičiaus
- Kūnas: GF(256), polinomas 0x11D
- Blokai perpinami, kad pažeidimų grupės pasiskirstytų