Информация о формате QR (Format Information)
Информация о формате — 15-битное поле QR-кода вдоль позиционных маркеров, хранящее уровень коррекции ошибок и номер маски; защищено кодом БЧХ и читается сканером первым.
Что хранит поле формата
Информация о формате — это 15-битное служебное поле QR-кода, в котором зашиты два параметра: уровень коррекции ошибок (L, M, Q или H — два бита) и номер применённой маски (0–7 — три бита). Итого пять значащих бит; остальные десять добавляет код БЧХ. Без этих пяти бит сканер не знает ни насколько избыточен код, ни какой шаблон маскирования нужно снять, чтобы добраться до данных.
Как размещено и защищено
Поле продублировано дважды и разложено вокруг трёх позиционных маркеров. Первая копия идёт узкой полосой рядом с верхним левым маркером, вторая — вдоль верхнего правого и нижнего левого. Дублирование не декоративное: если угол кода затёрт или закрыт логотипом, декодер прочитает вторую копию. Сами 15 бит защищены кодом БЧХ (15,5) — он исправляет до трёх ошибочных бит из пятнадцати. Поверх ещё накладывается фиксированная маска 101010000010010, чтобы поле не выродилось в сплошные нули при уровне и маске, дающих все нули.
Зачем читается первым
Логика декодирования жёсткая: сначала формат, потом данные. Пока сканер не узнал номер маски, он видит не биты данных, а их XOR с шаблоном — мусор. И пока не узнал уровень коррекции, не может правильно разделить поток на кодовые слова данных и коррекции. Поэтому 15 бит формата — первое, что вычитывается после того, как найдены позиционные маркеры и определена сетка модулей. Проверить, как это собирается на практике, можно в генераторе QR.