Как устроен QR-код?

8 3218

История QR-кодов — это история неожиданного триумфа. Изначально многие, включая автора видео, считали их бессмысленными и сомневались, что технология приживется. Однако сегодня QR-коды стали повсеместными: мы видим их в транспорте, ресторанах, рекламе, а в некоторых странах, like China и India, через них совершается большинство платежей. Но чтобы понять их гениальность, нужно заглянуть в прошлое.

Путь к QR-коду начался с азбуки Морзе, разработанной Сэмюэлем Морзе после трагического случая с его женой. Вместе с Джозефом Генри и Альфредом Вейлом он создал аппарат для передачи электрических импульсов, и его код стал стандартом коммуникаций, особенно в военной и авиационной сферах. Следующим шагом стали штрих-коды, изобретенные Бернардом Сильвером и Норманом Вудландом для упрощения процесса продаж. Однако у них был существенный недостаток — ограниченный объем информации. Они не могли содержать данные о происхождении товара, и идея Дэвида Алле использовать несколько штрих-кодов друг на друга проблему не решила.

Прорыв совершил Масахиро Хара из компании Denso Wave, вдохновившись игрой Го. Он разработал QR-код (Quick Response), представляющий информацию в виде двумерной черно-белой матрицы. В отличие от линейного штрих-кода, QR-код хранит данные в двух измерениях, что радикально увеличивает его емкость. Для кодирования символов используется система, аналогичная ASCII, преобразующая их в двоичный код.

Структура QR-кода — это образец инженерной мысли. Он имеет три ключевых элемента:

  1. Пустая рамка (Quiet Zone): Область по краям, необходимая для того, чтобы сканер мог отделить код от фона.

  2. Поисковые узоры (Finder Patterns): Три одинаковых квадрата в углах (кроме нижнего правого), которые помогают сканеру мгновенно определить местоположение и ориентацию кода в пространстве, даже если он перевернут.

  3. Выравнивающий узор (Alignment Pattern): Небольшой квадратик, обычно ближе к нижнему правому углу, который позволяет сканеру скорректировать перспективу и восстановить изображение, если код искажен (например, на изогнутой поверхности).

Данные в QR-коде организованы с ювелирной точностью. Процесс начинается с нижнего правого угла и заполняется зигзагообразно двумя колонками по восемь бит. Первые четыре бита указывают формат данных (числовой, буквенно-цифровой, байтовый или японские иероглифы Кандзи), а следующие восемь — на количество символов в сообщении.

Одна из самых мощных особенностей QR-кода — это встроенная коррекция ошибок. Часть пространства специально отведена под корректирующий код Рида-Соломона, разработанный еще в 1960 году и использовавшийся NASA для передачи данных с «Вояджера». Этот код позволяет восстановить информацию, даже если часть кода повреждена, испачкана или разорвана. Существует четыре уровня коррекции: от L (низкий), который восстанавливает 7% кода, до H (наивысший), способный справиться с повреждением 30% площади.

Чтобы сканеру было легче распознавать код, особенно если в нем много больших черных или белых областей, применяется маскирование. Специальный алгоритм выбирает один из восьми шаблонов, чтобы «перемешать» модули, сделав распределение черных и белых точек более равномерным. Лучшей признается маска с самым низким «штрафным» баллом за длинные непрерывные последовательности одного цвета.

Успех QR-кодов обусловлен несколькими факторами: компания Denso Wave не стала сохранять на них исключительные права, сделав технологию общедоступной, а массовому распространению помогло встроение сканеров прямо в камеры смартфонов Android и Apple в 2017 году. Пандемия COVID-19 лишь ускорила этот процесс, сделав бесконтактные меню и цифровые сертификаты о вакцинации нормой.

Однако рост популярности привлек и мошенников, использующих QR-коды для фишинга. В ответ разрабатываются новые, более безопасные версии с функцией шифрования и электронной аутентификации. Будущее технологии видится в увеличении объема данных — например, для кодирования небольших изображений, таких как рентгеновские снимки, которые можно было бы быстро передать пациентам в зоне бедствия.

Масштаб технологии поражает: количество возможных уникальных QR-кодов составляет 2¹⁵² — это число, которое превышает количество атомов на Земле. Именно эта надежность, емкость и скорость, оправдывающая название «Quick Response», обеспечила QR-кодам переход от простого инструмента учета на производстве до одной из самых выразительных форм цифрового общения в современном мире.

Через тернии к звёздам

У нас было небольшое затишье. Но оно уже заканчивается. В воскресенье вечером Трамп заявил, что «США захватили иранское грузовое судно в Оманском заливе за попытку прорвать морскую блокаду&...

Закройте Шереметьево! (Шереметьевский цикл)

Эпизод 1: Эпизод 2: Как там у пана Царева с Подолякой? Если даже среди въезжающих в Россию окажется сколько-то украинских террористов, не случится ничего стр...

Обсудить