Cum funcționează codurile QR

Numit și: codificarea codului QR, decodarea codului QR

Definiție

Un cod QR funcționează transformând datele în cuvinte de cod, adăugând corectare a erorilor Reed–Solomon și așezând biții într-o grilă în jurul unor modele fixe care ajută camera să îl găsească, să îl îndrepte și să îl citească.

De la date la model

Crearea unui cod QR începe cu alegerea unui mod de codificare potrivit datelor: numeric, alfanumeric, octet sau kanji. Codificatorul convertește datele în biți, îi împarte în cuvinte de cod de 8 biți și adaugă cuvinte de cod de corectare a erorilor Reed–Solomon la nivelul ales. Apoi alege cea mai mică versiune în care încap.

Cuvintele de cod sunt așezate în grilă pe un traseu în zigzag care ocolește modelele fixe. La final, codificatorul aplică una dintre cele opt măști pentru a sparge zonele mari goale sau formele derutante și înregistrează masca și nivelul de corectare a erorilor în informațiile de format.

  • Alege modul de codificare
  • Codifică datele și adaugă cuvintele de corectare a erorilor
  • Alege versiunea (dimensiunea)
  • Plasează modelele de localizare, de sincronizare și de aliniere
  • Completează modulele de date
  • Aplică cea mai bună dintre cele opt măști și scrie informațiile de format

De la imaginea camerei la date

Decodarea parcurge aceiași pași în sens invers. Scanerul găsește cele trei modele de localizare, al căror raport 1:1:3:1:1 de închis și deschis iese în evidență în majoritatea imaginilor, și le folosește împreună cu modelele de sincronizare și de aliniere pentru a cartografia grila. Citește informațiile de format, elimină masca și strânge cuvintele de cod.

Decodarea Reed–Solomon repară apoi cuvintele de cod citite greșit, până la limita nivelului de corectare a erorilor. Dacă prea mult e deteriorat, codul nu se citește deloc, în loc să returneze date greșite, de aceea codurile QR dau rar rezultate încurcate.

De ce contează dimensiunea și contrastul

Fiecare pas depinde de capacitatea camerei de a deosebi modulele închise de cele deschise. Modulele mici, contrastul slab, reflexiile, neclaritatea sau lipsa zonei liniștite pun tot mai multe module la îndoială, iar corectarea erorilor poate absorbi doar până la un punct. Datele scurte, contrastul puternic și marginea liberă îi dau decodorului cea mai ușoară sarcină.

Întrebări frecvente

De unde știe telefonul unde e codul QR?

Caută cele trei modele de localizare, pătrate mari din colțuri. Raportul lor distinctiv 1:1:3:1:1 îi permite scanerului să le găsească din orice unghi și să determine orientarea.

De ce au codurile QR o mască?

Masca inversează module după un model fix, astfel încât codul să evite zonele mari pline și formele care seamănă cu modelele de localizare. Codificatorul încearcă toate cele opt măști și o păstrează pe cea care se citește cel mai sigur.

Poate fi citit un cod QR cu susul în jos?

Da. Modelele de localizare îi spun scanerului orientarea, deci un cod QR poate fi citit la orice rotație.

Surse și standarde

Toți termenii