Матричные коды
Матричный код (двумерный штриховой код) — это способ кодирования информации в виде графического изображения, состоящего из множества мелких элементов (обычно квадратных модулей), расположенных в определённой последовательности на прямоугольной сетке. В отличие от линейных одномерных штрихкодов, матричные коды позволяют хранить значительно больший объём данных как в цифровом, так и в текстовом виде, а также обладают повышенной устойчивостью к повреждениям. Считывание кода производится с помощью оптических сканеров, камер мобильных устройств или специализированных программ-декодеров.
История
Предпосылки возникновения
В 1970-х годах внедрение линейных штрихкодов (например, UPC) позволило автоматизировать учёт товаров. Однако к концу 1980-х годов промышленность столкнулась с ограничениями одномерных кодов: они вмещали лишь несколько десятков символов, требовали чёткого горизонтального сканирования и были чувствительны к частичному повреждению. Возникла потребность в кодах, способных хранить в компактном виде полноценные тексты, ссылки или базы данных.
Разработка прототипов
Первые практические шаги в создании двумерных кодов предприняла японская компания Denso Wave (дочернее предприятие Toyota Group) в 1994 году. Инженер Масахиро Хара создал QR-код (Quick Response — «быстрый отклик»), который изначально предназначался для маркировки автомобильных деталей. QR-код отличался высокой скоростью распознавания и возможностью кодировать до 7089 цифровых знаков или 4296 буквенно-цифровых символов.
Параллельно в США в 1988 году был разработан код PDF417 (Portable Data File), представляющий собой многострочный столбцовый код, пригодный для печати на документах. В Европе в 1990-х годах компания Swedot представила код Data Matrix, который стал популярным в микроэлектронике и фармацевтике благодаря своей компактности.
Распространение и стандартизация
В конце 1990-х — начале 2000-х годов матричные коды стали массово включаться в международные стандарты. QR-код был принят в стандарты AIM (1997), ISO/IEC 18004 (2000). Data Matrix получил стандартизацию в ISO/IEC 16022 (2000). С развитием мобильных технологий и появлением смартфонов с камерами (после 2007 года) матричные коды проникли в повседневное использование: рекламные объявления, билеты, визитки, платёжные системы. В России с 2019 года внедряется маркировка товаров системы «Честный ЗНАК» на основе кодов Data Matrix.
Принцип работы
Структура кода
Матричный код представляет собой сетку из ячеек (модулей). Каждый модуль может быть либо чёрным, либо белым (для цветного кода — одного из двух контрастных цветов). Чёрный модуль соответствует логической «1», белый — «0». Код содержит обязательные служебные зоны:
- Зона поиска (Pattern Finder) — специфические последовательности модулей (например, три квадрата в углах QR-кода), помогающие декодеру определить ориентацию и размер кода.
- Зона синхронизации — точки, определяющие сетку считывания.
- Зона данных — модули, кодирующие полезную информацию, объединённые в блоки.
- Зона коррекции ошибок — избыточные данные, позволяющие восстановить до 30% утерянной информации (в QR-коде применяются коды Рида — Соломона).
Механизм кодирования
Исходная информация (текст, числа, байты) преобразуется в бинарную последовательность. Затем к ней добавляются биты коррекции. После этого данные перемешиваются с помощью псевдослучайной маски, чтобы избежать больших однотонных блоков, затрудняющих сканирование. Результат наносится на модули сетки.
Считывание
Камера или сканер фиксирует изображение кода. Программный декодер распознаёт зоны поиска, определяет размер модуля, выравнивает перспективные искажения и считывает бинарную матрицу. Затем производится демодуляция, удаление маски, извлечение данных и коррекция ошибок. Обработанный результат — исходный текст или число.
Классификация
Матричные коды делятся на две основные группы:
Двумерные матричные коды (2D)
Элементы расположены в двухмерной координатной сетке. К этой группе относятся:
- QR-код — самый распространённый, 40 версий (от 21×21 до 177×177 модулей).
- Micro QR-код — уменьшенная версия для малых объёмов данных (11×11 до 17×17).
- Data Matrix — компактный код (10×10 до 144×144 модулей), часто применяется на мелких деталях.
- Aztec Code — код с центральным квадратом поиска, не требует полей.
- MaxiCode — кольцевой код, используется в системе экспресс-доставки UPS.
Многострочные коды (Stacked)
Геометрически напоминают стопку одномерных штрихкодов. Примеры: PDF417, Micro PDF417, Codablock. В отличие от матричных, они хуже устойчивы к повреждениям, но легче читаются старыми сканерами.
Характеристики
Основные параметры матричных кодов включают:
| Параметр | QR-код | Data Matrix | PDF417 |
|---|---|---|---|
| Максимальная длина (цифры) | 7089 | 3116 | 2710 |
| Максимальная длина (текст) | 4296 | 2335 | 1850 |
| Размер минимального модуля | 0,025 мм | 0,01 мм | 0,05 мм |
| Коррекция ошибок | 7–30% | 25% | до 50% |
| Зависимость от размера | Прямо пропорциональна | Прямо пропорциональна | Линейна |
Также важна скорость считывания: QR-код распознаётся за 0,2–0,3 секунды, Data Matrix за 0,1–0,2 секунды.
Применение
Промышленность и логистика
Матричные коды используются для идентификации деталей и компонентов на протяжении всего производственного цикла. Например, в автомобилестроении QR-код наклеивается на двигатель, позволяя операторам отследить его историю. Data Matrix применяется для маркировки микрочипов и электронных плат.
Торговля и розница
С 2019 года в России действует система обязательной маркировки товаров «Честный ЗНАК», где каждую единицу товара (обувь, лекарства, шубы, табак, вода, молочная продукция) маркируют кодом Data Matrix. Код позволяет проверить подлинность через мобильное приложение. QR-коды используются на ценниках, упаковках и купонах для быстрого перехода на сайт с описанием или скидкой.
Финансы и платежи
В России и других странах QR-коды внедрены в систему быстрых платежей (СБП). Покупатель сканирует код продавца, подтверждает платёж в банковском приложении, после чего деньги списываются. Система работает без POS-терминалов. Также QR-коды используются в китайских платформах WeChat Pay и AliPay, банкоматах и мобильных банках для перевода средств.
Медицина и фармацевтика
Коды Data Matrix наносятся на упаковку лекарств для сериализации — отслеживания от производителя до аптеки. В России это требование введено с 2017 года для всех лекарственных средств, входящих в список жизненно важных. Код содержит уникальный серийный номер, дату выпуска и срок годности.
Транспорт и билеты
QR-коды печатаются на билетах на поезда, самолёты, концерты. Пассажир предъявляет код на экране смартфона или на бумаге, контролёр сканирует его. Система введена, например, в Российской железнодорожной системе «Сапсан» и авиакомпании «Аэрофлот».
Реклама и маркетинг
Рекламодатели размещают QR-коды на билбордах, в журналах, на упаковке. При сканировании пользователь переходит на лендинг, видео, промо-страницу или в приложение. В России в 2022–2024 годах эта практика стала менее популярной из-за ограничений на использование западных платформ, но сохраняется в офлайн-точках продаж.
Преимущества и недостатки
Преимущества:
- Высокая информационная ёмкость (до 7089 цифр).
- Встроенная коррекция ошибок (восстановление до 30% данных).
- Возможность считывания с повреждённых или загрязнённых носителей.
- Компактный размер (Data Matrix может помещаться на головке винта).
- Быстрое распознавание без точной ориентации (до 360°).
Недостатки:
- Требуется камера или сканер (не все устройства поддерживают).
- Зависимость от качества печати и контраста.
- Зона поиска может быть закрыта небольшим загрязнением (для QR-кода — чувствителен к закрытию угловых маркеров).
- Необходимость программного обеспечения для генерации и чтения.
Интересные факты
- Первоначальное название QR-кода — «2D Code from Denso Wave». Слово «Quick Response» было выбрано для обозначения способности декодера обрабатывать данные быстрее, чем у конкурирующих кодов.
- В Японии QR-коды активно используются в цветочных магазинах и на кладбищах: сканируя код на надгробии, можно увидеть фотографию и биографию усопшего.
- В 2014 году японский инженер-любитель создал QR-код из живых бактерий, кодирующий фразу «Hello world!». Код был выполнен на чашке Петри с питательной средой.
- В России в 2021–2022 годах QR-коды использовались как средство контроля за вакцинацией против COVID-19: граждане получали коды о перенесённом заболевании или сделанной прививке для доступа в общественные места.
Критика и ограничения
Матричные коды подвергаются критике за уязвимость к подделке. Злоумышленники могут заменить легитимный код на подложный, ведущий на фишинговый сайт. Кроме того, отсутствует сквозная аутентификация: сканер не проверяет цифровую подпись кода. В ответ на это разработаны защищённые версии кодов с асимметричным шифрованием (например, Digital Signature QR). В России действуют предписания Роскомнадзора о необходимости проверять ссылки в публичных QR-кодах на вредоносное содержание. Также отмечается, что избыточное размещение кодов в рекламе и на упаковке приводит к информационному шуму и снижает доверие пользователей.
Источники
- ISO/IEC 18004:2015 «Information technology — Automatic identification and data capture techniques — QR Code bar code symbology specification».
- ISO/IEC 16022:2006 «Information technology — Automatic identification and data capture techniques — Data Matrix bar code symbology specification».
- ГОСТ Р 56034-2014 «Идентификация продукции. Маркировка товаров штриховыми кодами. Общие требования».
- Федеральный закон № 425-ФЗ от 27.12.2018 «О внесении изменений в Федеральный закон „О качестве и безопасности пищевых продуктов“…» (регулирование маркировки товаров).
- Распоряжение Правительства РФ № 792-р от 10.04.2019 (утверждение Положения о системе «Честный ЗНАК»).
- Handbook of Barcoding, 2020, W. K. Chesney, «Matrix Codes: Theory and Applications», Wiley-IEEE Press.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →