Hva maskering gjør
Etter at data- og feilrettingsbitene er plassert, kan noen områder ende opp med lange rekker av én farge eller former som ligner søkemønstre. Maskering løser dette ved å snu moduler overalt hvor en enkel formel er sann, slik at mørkt og lyst fordeles jevnere.
Masken brukes bare på data- og feilrettingsområdet. Søke-, tids- og justeringsmønstre, format- og versjonsinformasjonen og den mørke modulen maskeres aldri.
De åtte maskene
Maskene er nummerert fra 000 til 111. Hver er definert ved en betingelse for raden i og kolonnen j til en modul, og der betingelsen er oppfylt, snus modulen. En leser finner maskenummeret i formatinformasjonen og bruker den samme masken en gang til for å oppheve den.
- 000: (i + j) mod 2 = 0, et sjakkbrettmønster
- 001: i mod 2 = 0, annenhver rad
- 010: j mod 3 = 0, hver tredje kolonne
- 011: (i + j) mod 3 = 0, diagonale striper
- 100 til 111: mer sammensatte kombinasjoner av rader, kolonner og produkter
Hvordan den beste masken velges
Koderen prøver alle åtte maskene og gir hvert resultat en poengsum etter fire straffregler. Masken med lavest samlet straff brukes, og det gjør den ferdige koden lettere for kameraer å lese.
Noen generatorer hopper over den fulle vurderingen og bruker en fast maske. Det gir fortsatt en gyldig kode, men den kan være litt vanskeligere å skanne. Micro QR-koder bruker et mindre sett på fire masker med sin egen poengregel.
- Regel 1: lange rekker av samme farge i en rad eller kolonne
- Regel 2: blokker på 2 × 2 i én farge
- Regel 3: mønstre som ligner søkemønsterets forhold 1:1:3:1:1
- Regel 4: total ubalanse mellom mørke og lyse moduler