Izcelsme un plašāka izmantošana
Reed–Solomon kodus 1960. gadā aprakstīja Irvings S. Rīds (Irving S. Reed) un Gustavs Solomons (Gustave Solomon). Tie darbojas ar veseliem simboliem, parasti baitiem, nevis atsevišķiem bitiem, kas ļauj labi tikt galā ar bojājumu uzliesmojumiem, piemēram, skrāpējumu vai traipu.
Šī pati kodu saime aizsargā datus CD, DVD un Blu-ray diskos, dažos digitālās televīzijas un satelītu sakaros un citos 2D svītrkodos, tostarp Data Matrix ECC 200, Aztec code un PDF417.
Kā QR kodi to izmanto
QR kods katru 8 bitu kodvārdu uzskata par galīgā lauka GF(256) elementu, kas veidots ar primitīvo polinomu x^8 + x^4 + x^3 + x^2 + 1 (hex 0x11D). Datu kodvārdus dala ar ģeneratorpolinomu, un atlikums kļūst par kļūdu labošanas kodvārdiem, kas tiek pievienoti aiz tiem.
Lielāki kodi sadala datus vairākos blokos, katram ar saviem kļūdu labošanas kodvārdiem. Pēc tam bloki tiek savstarpēji sajaukti (interleaved), kad kodvārdi tiek ievietoti režģī, tāpēc viens bojājuma plankums tiek izkliedēts pa daudziem blokiem, nevis pārslogo vienu.
Cik daudz tā var izlabot
Ja blokā ir n kļūdu labošanas kodvārdu, dekodētājs var izlabot līdz n/2 kodvārdiem, kuru pozīcija nav zināma, vai līdz n kodvārdiem, kuru pozīcija ir zināma, ko sauc par dzēsumiem (erasures). Jauktos gadījumos darbojas noteikums, ka katra kļūda skaitās divreiz, bet katrs dzēsums vienreiz.
Tāpēc kods ar tīru, līdzenu apgabalu, ko aizsedz logotips, joprojām var noskenēties: gudrs lasītājs var uzskatīt aizsegto apgabalu par dzēsumiem, bet nejaušus bojājumus labot ir grūtāk, jo dekodētājam tie vispirms jāatrod.
- Nezināmas kļūdas: līdz pusei no kļūdu labošanas kodvārdu skaita
- Dzēsumi (zināmas pozīcijas): līdz kļūdu labošanas kodvārdu skaitam
- Lauks: GF(256), polinoms 0x11D
- Bloki tiek savstarpēji sajaukti, lai izkliedētu uzliesmojumveida bojājumus