Corectarea erorilor Reed–Solomon

Numit și: cod Reed-Solomon, cod RS

Definiție

Corectarea erorilor Reed–Solomon este matematica ce permite unui cod QR deteriorat să se scaneze în continuare. Adaugă cuvinte de cod de control la date, ca un cititor să poată reconstitui octeții lipsă sau greșiți, până la o limită stabilită.

Origine și folosire mai largă

Codurile Reed–Solomon au fost descrise de Irving S. Reed și Gustave Solomon în 1960. Ele lucrează cu simboluri întregi, de obicei octeți, nu cu biți izolați, ceea ce le face bune la tratarea deteriorărilor în rafală, cum ar fi o zgârietură sau o pată.

Aceeași familie de coduri protejează datele de pe CD-uri, DVD-uri și discuri Blu-ray, în unele legături de televiziune digitală și de satelit și în alte coduri de bare 2D, printre care Data Matrix ECC 200, codul Aztec și PDF417.

Cum îl folosesc codurile QR

Un cod QR tratează fiecare cuvânt de cod de 8 biți ca pe un element al corpului finit GF(256), construit cu polinomul primitiv x^8 + x^4 + x^3 + x^2 + 1 (hex 0x11D). Cuvintele de cod de date sunt împărțite la un polinom generator, iar restul devine cuvintele de cod de corectare a erorilor adăugate după ele.

Codurile mai mari își împart datele în mai multe blocuri, fiecare cu propriile cuvinte de cod de corectare a erorilor. Blocurile sunt apoi întrepătrunse la plasarea cuvintelor de cod în grilă, astfel încât o singură zonă deteriorată se împrăștie pe mai multe blocuri, în loc să copleșească unul.

Cât poate repara

Cu n cuvinte de cod de corectare a erorilor într-un bloc, un decodor poate corecta până la n/2 cuvinte de cod a căror poziție este necunoscută sau până la n cuvinte de cod a căror poziție este cunoscută, numite ștergeri. Cazurile mixte respectă regula că fiecare eroare contează dublu, iar fiecare ștergere o dată.

De aceea un cod cu o zonă curată și plană acoperită de un logo se poate scana în continuare: un cititor inteligent poate trata regiunea acoperită ca ștergeri, în timp ce deteriorarea aleatorie e mai greu de reparat, pentru că decodorul trebuie mai întâi s-o găsească.

  • Erori necunoscute: până la jumătate din numărul cuvintelor de cod EC
  • Ștergeri (poziții cunoscute): până la numărul cuvintelor de cod EC
  • Corp finit: GF(256), polinom 0x11D
  • Blocurile sunt întrepătrunse pentru a împrăștia deteriorările în rafală

Întrebări frecvente

Ce este Reed–Solomon într-un cod QR?

Este metoda de corectare a erorilor care adaugă cuvinte de cod suplimentare la date. Un scaner le folosește pentru a reconstitui cuvintele de cod deteriorate sau ilizibile.

Cine a inventat codurile Reed–Solomon?

Irving S. Reed și Gustave Solomon, care le-au publicat în 1960. Codurile sunt folosite acum în discurile optice, în comunicații și în majoritatea codurilor de bare 2D.

De ce poate funcționa un cod QR cu un logo la mijloc?

Logoul acoperă module pe care corectarea erorilor Reed–Solomon le poate reconstitui. Funcționează atât timp cât zona acoperită rămâne în limitele capacității de corectare a erorilor, iar modelele de localizare sunt libere.

Surse și standarde

Toți termenii