Все статьи

QR-коды: как в квадрате из пикселей помещается ссылка

QR-код был изобретён в 1994 году японской компанией Denso Wave — тогда это было подразделение автопроизводителя Toyota — для быстрого отслеживания автозапчастей на конвейере. Обычный штрихкод вмещал слишком мало информации и требовал точного прицеливания сканера, поэтому инженеры разработали двумерный код, который можно было прочитать почти под любым углом за долю секунды — отсюда и название «Quick Response».

Три квадрата в углах — метки позиционирования

Три крупных квадрата в трёх из четырёх углов QR-кода — это метки позиционирования. Они позволяют сканеру мгновенно определить ориентацию кода в кадре, даже если изображение повёрнуто или снято под углом; именно поэтому наклеенный вкривь стикер с QR-кодом всё равно нормально считывается.

Уровни коррекции ошибок

QR-код поддерживает четыре уровня коррекции ошибок — L, M, Q и H, — которые определяют, какой процент данных кода может быть повреждён без потери читаемости. Наивысший уровень H восстанавливает до 30% повреждённых данных, поэтому в центр кода можно безопасно вставить логотип, перекрыв часть рисунка.

Зачем это нужно

  • Быстро сгенерировать QR-код для ссылки, Wi-Fi-сети или визитной карточки.
  • Подобрать достаточный уровень коррекции ошибок, если код печатается мелко или с логотипом.
  • Понять, почему частично повреждённый или загрязнённый QR-код всё равно сканируется.

Коды Рида — Соломона под капотом

В основе коррекции ошибок лежит код Рида — Соломона — та же техника, что применяется на CD и в спутниковой связи. Данные разбиваются на блоки с избыточной информацией, поэтому потеря части блоков не мешает полностью восстановить исходное сообщение. Это математическое решение было предложено ещё в 1960 году, задолго до появления самого QR-кода, и Denso Wave просто адаптировала уже проверенный алгоритм под новую задачу.

Попробовать инструмент