Maskmönster

Kallas också: datamask, maskning, mask pattern

Definition

Ett maskmönster är ett av åtta fasta mönster som XOR-behandlas över dataområdet i en QR-kod för att bryta upp stora block och vilseledande former. Kodaren väljer den mask som får bäst poäng enligt fyra straffregler.

Vad maskning gör

När data- och felkorrigeringsbitarna har placerats kan vissa områden få långa sekvenser av samma färg eller former som liknar sökmönster. Maskningen åtgärdar det genom att vända moduler överallt där en enkel formel är sann, vilket fördelar mörkt och ljust jämnare.

Masken gäller bara data- och felkorrigeringsområdet. Sök-, synkroniserings- och justeringsmönster, format- och versionsinformationen samt den mörka modulen maskas aldrig.

De åtta maskerna

Maskerna är numrerade från 000 till 111. Var och en definieras av ett villkor på modulens rad i och kolumn j; där villkoret gäller vänds den modulen. En läsare får maskens nummer från formatinformationen och tillämpar samma mask igen för att ta bort den.

  • 000: (i + j) mod 2 = 0, ett schackbrädemönster
  • 001: i mod 2 = 0, varannan rad
  • 010: j mod 3 = 0, var tredje kolumn
  • 011: (i + j) mod 3 = 0, diagonala ränder
  • 100 till 111: mer komplexa kombinationer av rader, kolumner och produkter

Hur den bästa masken väljs

Kodaren prövar alla åtta masker och poängsätter varje resultat med fyra straffregler. Masken med lägst sammanlagt straff används, vilket gör den färdiga koden lättare för kameror att läsa.

Vissa generatorer hoppar över den fullständiga utvärderingen och använder en fast mask, vilket fortfarande ger en giltig kod men kan göra den något svårare att skanna. Micro QR-koder använder en mindre uppsättning på fyra masker med en egen poängregel.

  • Regel 1: långa sekvenser av samma färg i en rad eller kolumn
  • Regel 2: block på 2 × 2 av en färg
  • Regel 3: mönster som liknar sökmönstrets förhållande 1:1:3:1:1
  • Regel 4: total obalans mellan mörka och ljusa moduler

Vanliga frågor

Varför ser två QR-koder med samma innehåll olika ut?

De kan använda olika maskmönster, felkorrigeringsnivåer eller versioner. Vilken som helst av dessa ändrar modulernas placering medan det avkodade innehållet förblir identiskt.

Hur många maskmönster har en QR-kod?

Standarden definierar åtta, numrerade från 000 till 111. Den valda registreras i formatinformationen så att skannern kan ta bort den.

Källor och standarder

Alla begrepp