Маска

Також відомо як: маска даних, маскування, mask pattern

Визначення

Маска це один із восьми фіксованих шаблонів, що накладаються за XOR на область даних QR-коду, щоб розбити великі блоки й оманливі форми. Кодувальник обирає маску, яка отримує найкращу оцінку за чотирма штрафними правилами.

Що робить маскування

Після розміщення бітів даних і корекції помилок деякі ділянки можуть мати довгі серії одного кольору або форми, схожі на пошукові шаблони. Маскування виправляє це, інвертуючи модулі там, де виконується проста формула, що рівномірніше розподіляє темне й світле.

Маска застосовується лише до області даних і корекції помилок. Пошукові шаблони, шаблони синхронізації та вирівнювання, інформація про формат і версію та темний модуль ніколи не маскуються.

Вісім масок

Маски пронумеровано від 000 до 111. Кожну задає умова щодо рядка i та стовпця j модуля; де умова виконується, цей модуль інвертується. Зчитувач дізнається номер маски з інформації про формат і застосовує ту саму маску ще раз, щоб скасувати її.

  • 000: (i + j) mod 2 = 0, шахівниця
  • 001: i mod 2 = 0, чергування рядків
  • 010: j mod 3 = 0, кожен третій стовпець
  • 011: (i + j) mod 3 = 0, діагональні смуги
  • від 100 до 111: складніші комбінації рядків, стовпців і добутків

Як обирають найкращу маску

Кодувальник пробує всі вісім масок і оцінює кожен результат за чотирма штрафними правилами. Використовується маска з найменшою сумою штрафів, що робить готовий код легшим для зчитування камерами.

Деякі генератори пропускають повне оцінювання й використовують фіксовану маску, що все одно дає чинний код, але його може бути трохи важче сканувати. Micro QR використовують меншу множину з чотирьох масок із власним правилом оцінювання.

  • Правило 1: довгі серії одного кольору в рядку чи стовпці
  • Правило 2: блоки 2 × 2 одного кольору
  • Правило 3: шаблони, схожі на співвідношення пошукових шаблонів 1:1:3:1:1
  • Правило 4: загальний дисбаланс між темними й світлими модулями

Поширені запитання

Чому два QR-коди з однаковим вмістом виглядають по-різному?

Вони можуть використовувати різні маски, рівні корекції помилок або версії. Будь-яка з цих змін змінює розташування модулів, а декодований вміст залишається однаковим.

Скільки масок має QR-код?

Стандарт визначає вісім, пронумерованих від 000 до 111. Обрану записано в інформації про формат, щоб сканер міг її зняти.

Джерела та стандарти

Усі терміни