Od podatkov do vzorca
Izdelava kode QR se začne z izbiro načina kodiranja, ki ustreza podatkom: številski, alfanumerični, bajtni ali kanji. Kodirnik podatke pretvori v bite, jih razdeli na 8-bitne kodne besede in doda kodne besede za popravljanje napak Reed–Solomon na izbrani ravni. Nato izbere najmanjšo različico, v katero se podatki prilegajo.
Kodne besede se v mrežo vpišejo po cikcakasti poti, ki preskoči fiksne vzorce. Na koncu kodirnik uporabi enega od osmih vzorcev maske, da razbije velike prazne površine ali zavajajoče oblike, ter v informacije o formatu zapiše masko in raven popravljanja napak.
- Izberite način kodiranja
- Kodirajte podatke in dodajte kodne besede za popravljanje napak
- Izberite različico (velikost)
- Postavite iskalne, časovne in poravnalne vzorce
- Zapolnite podatkovne module
- Uporabite najboljšo od osmih mask in zapišite informacije o formatu
Od slike kamere do podatkov
Dekodiranje izvede iste korake v obratnem vrstnem redu. Skener najde tri iskalne vzorce, katerih razmerje temnega in svetlega 1:1:3:1:1 izstopa med večino slik, ter jih skupaj s časovnimi in poravnalnimi vzorci uporabi za preslikavo mreže. Prebere informacije o formatu, odstrani masko in zbere kodne besede.
Dekodiranje Reed–Solomon nato popravi vse napačno prebrane kodne besede, do meje ravni popravljanja napak. Če je poškodovano preveč, branje kode spodleti, namesto da bi vrnilo napačne podatke, zato kode QR le redko dajo popačene rezultate.
Zakaj sta pomembna velikost in kontrast
Vsak korak je odvisen od tega, da kamera loči temne module od svetlih. Majhni moduli, nizek kontrast, bleščanje, zamegljenost ali manjkajoča mirna cona spravijo v dvom več modulov, popravljanje napak pa lahko vsrka le omejeno količino. Kratki podatki, močan kontrast in jasen rob dekodirniku olajšajo delo.