Ce face mascarea
După ce biții de date și de corectare a erorilor sunt plasați, unele zone pot ajunge să aibă șiruri lungi de aceeași culoare sau forme care seamănă cu modelele de localizare. Mascarea rezolvă asta inversând module oriunde o formulă simplă este adevărată, ceea ce răspândește mai uniform închisul și deschisul.
Masca se aplică doar zonei de date și de corectare a erorilor. Modelele de localizare, de sincronizare și de aliniere, informațiile de format și de versiune și modulul închis nu sunt niciodată mascate.
Cele opt măști
Măștile sunt numerotate de la 000 la 111. Fiecare este definită printr-o condiție asupra rândului i și coloanei j ale unui modul; acolo unde condiția este îndeplinită, modulul este inversat. Un cititor află numărul măștii din informațiile de format și aplică aceeași mască încă o dată pentru a o anula.
- 000: (i + j) mod 2 = 0, un șah
- 001: i mod 2 = 0, rânduri alternante
- 010: j mod 3 = 0, fiecare a treia coloană
- 011: (i + j) mod 3 = 0, dungi diagonale
- De la 100 la 111: combinații mai complexe de rânduri, coloane și produse
Cum se alege cea mai bună mască
Codificatorul încearcă toate cele opt măști și punctează fiecare rezultat cu patru reguli de penalizare. Se folosește masca cu penalizarea totală cea mai mică, ceea ce face codul finit mai ușor de citit pentru camere.
Unele generatoare sar peste evaluarea completă și folosesc o mască fixă, ceea ce produce tot un cod valid, dar poate puțin mai greu de scanat. Codurile Micro QR folosesc un set mai mic de patru măști, cu propria regulă de punctare.
- Regula 1: șiruri lungi de aceeași culoare pe un rând sau o coloană
- Regula 2: blocuri de 2 × 2 de o singură culoare
- Regula 3: modele care seamănă cu raportul 1:1:3:1:1 al modelului de localizare
- Regula 4: dezechilibrul general între modulele închise și cele deschise