Opprinnelse og bredere bruk
Reed–Solomon-koder ble beskrevet av Irving S. Reed og Gustave Solomon i 1960. De arbeider med hele symboler, vanligvis byte, i stedet for enkeltbiter, og det gjør dem gode til å håndtere skade i klumper, som en ripe eller en flekk.
Den samme kodefamilien beskytter data på CD-er, DVD-er og Blu-ray-plater, i noen digitale TV- og satellittforbindelser og i andre 2D-strekkoder, blant annet Data Matrix ECC 200, Aztec-kode og PDF417.
Hvordan QR-koder bruker den
En QR-kode behandler hvert kodeord på 8 biter som et element i det endelige legemet GF(256), bygget med det primitive polynomet x^8 + x^4 + x^3 + x^2 + 1 (hex 0x11D). Datakodeordene deles på et generatorpolynom, og resten blir feilrettingskodeordene som legges til etter dem.
Større koder deler dataene i flere blokker, hver med egne feilrettingskodeord. Blokkene flettes så sammen når kodeordene plasseres i rutenettet, slik at ett enkelt skadeområde spres over mange blokker i stedet for å overvelde én.
Hvor mye den kan rette
Med n feilrettingskodeord i en blokk kan en dekoder rette opp til n/2 kodeord med ukjent posisjon, eller opp til n kodeord med kjent posisjon, såkalte utslettinger (erasures). Blandede tilfeller følger regelen at hver feil teller to ganger og hver utsletting én gang.
Derfor kan en kode med et rent, jevnt område som er dekket av en logo, fortsatt skannes: en smart leser kan behandle det tildekkede området som utslettinger, mens tilfeldig skade er vanskeligere å rette fordi dekoderen først må finne den.
- Ukjente feil: opp til halvparten av antallet EC-kodeord
- Utslettinger (kjente posisjoner): opp til antallet EC-kodeord
- Legeme: GF(256), polynom 0x11D
- Blokkene flettes sammen for å spre skade i klumper