Od podataka do obrasca
Pravljenje QR koda počinje izborom režima kodiranja koji odgovara podacima: numerički, alfanumerički, bajtni ili kanji. Koder pretvara podatke u bitove, deli ih na 8-bitne kodne reči i dodaje kodne reči za Reed–Solomonovo ispravljanje grešaka na izabranom nivou. Zatim bira najmanju verziju u koju podaci staju.
Kodne reči se raspoređuju po mreži cik-cak putanjom koja preskače fiksne obrasce. Na kraju koder primenjuje jedan od osam obrazaca maske da razbije velike prazne površine ili zbunjujuće oblike i beleži masku i nivo ispravljanja grešaka u informacijama o formatu.
- Izaberite režim kodiranja
- Kodirajte podatke i dodajte kodne reči za ispravljanje grešaka
- Izaberite verziju (veličinu)
- Postavite obrasce za pronalaženje, tajming i poravnanje
- Popunite module sa podacima
- Primenite najbolju od osam maski i upišite informacije o formatu
Od slike kamere do podataka
Dekodiranje ide istim koracima unazad. Skener pronalazi tri obrasca za pronalaženje, čiji se odnos tamnog i svetlog 1:1:3:1:1 izdvaja iz većine slika, i uz pomoć njih i obrazaca za tajming i poravnanje mapira mrežu. Čita informacije o formatu, uklanja masku i prikuplja kodne reči.
Reed–Solomonovo dekodiranje zatim popravlja sve pogrešno pročitane kodne reči, do granice koju određuje nivo ispravljanja grešaka. Ako je previše oštećeno, kod se ne pročita umesto da vrati pogrešne podatke, zbog čega QR kodovi retko daju izopačene rezultate.
Zašto su važni veličina i kontrast
Svaki korak zavisi od toga da kamera razlikuje tamne od svetlih modula. Mali moduli, slab kontrast, odsjaj, zamućenje ili nedostatak tihe zone dovode u sumnju sve više modula, a ispravljanje grešaka može da apsorbuje samo ograničenu količinu. Kratki podaci, jak kontrast i čista margina daju dekoderu najlakši zadatak.