Reed–Solomon-foutcorrectie

Ook genoemd: Reed-Solomon-code, RS-code, Reed–Solomon error correction

Definitie

Reed–Solomon-foutcorrectie is de wiskunde waardoor een beschadigde QR-code toch nog scant. Ze voegt controlecodewoorden aan de gegevens toe, zodat een lezer ontbrekende of foute bytes kan reconstrueren, tot een vaste grens.

Oorsprong en breder gebruik

Reed–Solomon-codes werden in 1960 beschreven door Irving S. Reed en Gustave Solomon. Ze werken op hele symbolen, meestal bytes, in plaats van op losse bits, waardoor ze goed zijn in het opvangen van aaneengesloten schade zoals een kras of vlek.

Dezelfde familie van codes beschermt gegevens op cd’s, dvd’s en Blu-ray-schijven, in sommige digitale-televisie- en satellietverbindingen en in andere 2D-barcodes, waaronder Data Matrix ECC 200, Aztec Code en PDF417.

Hoe QR-codes het gebruiken

Een QR-code behandelt elk codewoord van 8 bits als een element van het eindige lichaam GF(256), opgebouwd met de primitieve veelterm x^8 + x^4 + x^3 + x^2 + 1 (hex 0x11D). De gegevenscodewoorden worden gedeeld door een voortbrengende veelterm, en de rest wordt de foutcorrectiecodewoorden die eraan worden toegevoegd.

Grotere codes verdelen hun gegevens in meerdere blokken, elk met eigen foutcorrectiecodewoorden. De blokken worden vervolgens verweven wanneer de codewoorden in het raster worden geplaatst, zodat één beschadigde plek over veel blokken wordt uitgesmeerd in plaats van er één te overweldigen.

Hoeveel het kan herstellen

Met n foutcorrectiecodewoorden in een blok kan een decoder tot n/2 codewoorden corrigeren waarvan de positie onbekend is, of tot n codewoorden waarvan de positie bekend is, zogenoemde uitwissingen. Gemengde gevallen volgen de regel dat elke fout twee telt en elke uitwissing één.

Daarom kan een code met een schoon, vlak gebied dat door een logo is bedekt nog steeds scannen: een slimme lezer kan het bedekte gebied als uitwissingen behandelen, terwijl willekeurige schade moeilijker te herstellen is omdat de decoder haar eerst moet vinden.

  • Onbekende fouten: tot de helft van het aantal EC-codewoorden
  • Uitwissingen (bekende posities): tot het aantal EC-codewoorden
  • Lichaam: GF(256), veelterm 0x11D
  • Blokken worden verweven om aaneengesloten schade te spreiden

Veelgestelde vragen

Wat is Reed–Solomon in een QR-code?

Het is de foutcorrectiemethode die extra codewoorden aan de gegevens toevoegt. Een scanner gebruikt ze om codewoorden te reconstrueren die beschadigd of onleesbaar zijn.

Wie heeft de Reed–Solomon-codes uitgevonden?

Irving S. Reed en Gustave Solomon, die ze in 1960 publiceerden. De codes worden nu gebruikt in optische schijven, communicatie en de meeste 2D-barcodes.

Waarom kan een QR-code met een logo in het midden nog werken?

Het logo bedekt modules die Reed–Solomon-foutcorrectie kan reconstrueren. Het werkt zolang het bedekte gebied binnen de foutcorrectiecapaciteit blijft en de zoekpatronen vrij zijn.

Bronnen en normen

Alle termen