Šta radi maskiranje
Nakon što se bitovi podataka i ispravljanja grešaka rasporede, neke oblasti mogu imati duge nizove jedne boje ili oblike nalik obrascima za pronalaženje. Maskiranje to ispravlja menjanjem modula gde god je neka jednostavna formula tačna, čime se tamno i svetlo ravnomernije raspoređuju.
Maska se primenjuje samo na oblast podataka i ispravljanja grešaka. Obrasci za pronalaženje, tajming i poravnanje, informacije o formatu i verziji i tamni modul nikada se ne maskiraju.
Osam maski
Maske su numerisane od 000 do 111. Svaka je definisana uslovom nad redom i i kolonom j modula; gde god uslov važi, taj modul se menja. Čitač saznaje broj maske iz informacija o formatu i ponovo primenjuje istu masku da je poništi.
- 000: (i + j) mod 2 = 0, šahovska tabla
- 001: i mod 2 = 0, naizmenični redovi
- 010: j mod 3 = 0, svaka treća kolona
- 011: (i + j) mod 3 = 0, dijagonalne pruge
- 100 do 111: složenije kombinacije redova, kolona i proizvoda
Kako se bira najbolja maska
Koder isprobava svih osam maski i ocenjuje svaki rezultat prema četiri kaznena pravila. Koristi se maska sa najnižim ukupnim kaznenim poenima, zbog čega je gotov kod kamerama lakši za čitanje.
Neki generatori preskaču potpunu procenu i koriste fiksnu masku, što i dalje daje ispravan kod, ali se on može nešto teže skenirati. Micro QR kodovi koriste manji skup od četiri maske sa sopstvenim pravilom ocenjivanja.
- Pravilo 1: dugi nizovi iste boje u redu ili koloni
- Pravilo 2: blokovi 2 × 2 jedne boje
- Pravilo 3: obrasci koji liče na odnos 1:1:3:1:1 obrasca za pronalaženje
- Pravilo 4: ukupna neravnoteža između tamnih i svetlih modula