Mida maskeerimine teeb
Pärast andmete ja veaparanduse bittide paigutamist võivad mõned alad sisaldada pikki ühevärvilisi lõike või tuvastusmustreid meenutavaid kujundeid. Maskeerimine parandab selle, pöörates mooduleid ümber kõikjal, kus lihtne valem on tõene, mis jaotab tumedat ja heledat ühtlasemalt.
Mask rakendub ainult andme- ja veaparanduse alale. Tuvastus-, ajastus- ja joondusmustreid, vormi- ja versiooniteavet ning tumedat moodulit ei maskeerita kunagi.
Kaheksa maski
Maskid on nummerdatud 000–111. Igaüks on määratletud mooduli rea i ja veeru j tingimusega; kus tingimus kehtib, see moodul pööratakse ümber. Lugeja saab maski numbri teada vormiteabest ja rakendab sama maski uuesti selle tühistamiseks.
- 000: (i + j) mod 2 = 0, malelaud
- 001: i mod 2 = 0, vahelduvad read
- 010: j mod 3 = 0, iga kolmas veerg
- 011: (i + j) mod 3 = 0, diagonaalsed triibud
- 100 kuni 111: keerulisemad ridade, veergude ja korrutiste kombinatsioonid
Kuidas parim mask valitakse
Kodeerija proovib kõiki kaheksat maski ja hindab iga tulemust nelja karistusreegliga. Kasutatakse maski, millel on madalaim karistuste summa, mis muudab valmis koodi kaameratele lihtsamini loetavaks.
Mõned generaatorid jätavad täieliku hindamise vahele ja kasutavad fikseeritud maski, mis annab siiski kehtiva koodi, kuid seda võib olla veidi raskem skannida. Micro QR-koodid kasutavad väiksemat nelja maski komplekti oma hindamisreegliga.
- Reegel 1: pikad sama värvi lõigud reas või veerus
- Reegel 2: 2 × 2 ühevärvilised plokid
- Reegel 3: mustrid, mis meenutavad tuvastusmustri suhet 1:1:3:1:1
- Reegel 4: tumedate ja heledate moodulite üldine tasakaalutus