Nuo duomenų iki šablono
QR kodo kūrimas prasideda nuo kodavimo režimo, tinkančio duomenims, pasirinkimo: skaitinio, raidinio ir skaitinio, baitų arba kandži. Kodavimo programa paverčia duomenis bitais, suskirsto juos į 8 bitų kodo žodžius ir prideda Reed–Solomon klaidų taisymo kodo žodžius pasirinktu lygiu. Tada parenka mažiausią tinkamą versiją.
Kodo žodžiai tinklelyje dėliojami zigzago keliu, aplenkiančiu fiksuotus šablonus. Galiausiai kodavimo programa pritaiko vieną iš aštuonių kaukės šablonų, kad išskaidytų dideles tuščias sritis ar painias formas, o kaukę ir klaidų taisymo lygį įrašo į formato informaciją.
- Pasirenkamas kodavimo režimas
- Užkoduojami duomenys ir pridedami klaidų taisymo kodo žodžiai
- Parenkama versija (dydis)
- Išdėstomi paieškos, taktavimo ir lygiavimo šablonai
- Užpildomi duomenų moduliai
- Pritaikoma geriausia iš aštuonių kaukių ir įrašoma formato informacija
Nuo kameros vaizdo iki duomenų
Dekodavimas atlieka tuos pačius žingsnius atvirkštine tvarka. Skaitytuvas suranda tris paieškos šablonus, kurių tamsių ir šviesių dalių santykis 1:1:3:1:1 išsiskiria daugumoje vaizdų, ir kartu su taktavimo bei lygiavimo šablonais atvaizduoja tinklelį. Jis perskaito formato informaciją, pašalina kaukę ir surenka kodo žodžius.
Tada Reed–Solomon dekodavimas pataiso neteisingai perskaitytus kodo žodžius, neviršijant klaidų taisymo lygio ribos. Jei pažeista per daug, kodas tiesiog nenuskaitomas, o ne pateikia klaidingus duomenis, todėl QR kodai retai pateikia iškraipytus rezultatus.
Kodėl svarbus dydis ir kontrastas
Kiekvienas žingsnis priklauso nuo to, ar kamera atskiria tamsius modulius nuo šviesių. Maži moduliai, silpnas kontrastas, atspindžiai, susiliejimas ar tylosios zonos trūkumas didina abejotinų modulių skaičių, o klaidų taisymas gali atlaikyti tik tam tikrą jų kiekį. Trumpi duomenys, stiprus kontrastas ir laisva paraštė dekoderiui palengvina darbą.