Čo maskovanie robí
Po umiestnení dátových bitov a bitov opravy chýb môžu v niektorých oblastiach vzniknúť dlhé úseky jednej farby alebo tvary, ktoré vyzerajú ako vyhľadávacie vzory. Maskovanie to napraví tak, že prevráti moduly všade tam, kde platí jednoduchý vzorec, čím sa tmavé a svetlé rozložia rovnomernejšie.
Maska sa vzťahuje len na oblasť údajov a opravy chýb. Vyhľadávacie, časovacie a zarovnávacie vzory, informácie o formáte a verzii a tmavý modul sa nikdy nemaskujú.
Osem masiek
Masky sú číslované od 000 do 111. Každá je definovaná podmienkou na riadok i a stĺpec j modulu; kde podmienka platí, daný modul sa prevráti. Čítačka sa dozvie číslo masky z informácií o formáte a rovnakú masku použije znova, aby ju zrušila.
- 000: (i + j) mod 2 = 0, šachovnica
- 001: i mod 2 = 0, striedajúce sa riadky
- 010: j mod 3 = 0, každý tretí stĺpec
- 011: (i + j) mod 3 = 0, diagonálne pruhy
- 100 až 111: zložitejšie kombinácie riadkov, stĺpcov a súčinov
Ako sa vyberie najlepšia maska
Kodér vyskúša všetkých osem masiek a každý výsledok ohodnotí štyrmi penalizačnými pravidlami. Použije sa maska s najnižšou celkovou penalizáciou, vďaka čomu sa hotový kód fotoaparátom číta ľahšie.
Niektoré generátory preskočia úplné vyhodnotenie a použijú pevnú masku, čo stále vytvorí platný kód, ale môže byť o niečo ťažšie na skenovanie. Micro QR kódy používajú menšiu sadu štyroch masiek s vlastným pravidlom hodnotenia.
- Pravidlo 1: dlhé úseky rovnakej farby v riadku alebo stĺpci
- Pravidlo 2: bloky 2 × 2 jednej farby
- Pravidlo 3: vzory pripomínajúce pomer vyhľadávacieho vzoru 1:1:3:1:1
- Pravidlo 4: celková nerovnováha medzi tmavými a svetlými modulmi