Двумерный штриховой код
Двумерный штриховой код (также 2D-код, матричный код) — это способ кодирования информации в виде графического изображения, состоящего из множества модулей (квадратов, точек, шестиугольников), расположенных в двух измерениях (по горизонтали и вертикали). В отличие от линейных (одномерных) штриховых кодов, которые кодируют данные только в одном направлении (ширине штрихов), двумерные коды позволяют хранить значительно больший объём информации, включая текст, числа, URL-адреса, изображения и бинарные данные, а также обладают механизмами коррекции ошибок, что обеспечивает считывание даже при частичном повреждении кода.
История
Первые идеи использования двумерных матричных кодов для автоматической идентификации появились в конце 1960-х годов, однако практическая реализация стала возможна только с развитием компьютерных технологий и оптических сканеров.
Ранние разработки
В 1970-х годах компания Intermec (США) разработала первый двумерный штриховой код — Code 49. Он представлял собой многострочный стековый код, объединяющий несколько одномерных кодов друг над другом. Однако из-за сложности считывания и низкой ёмкости он не получил широкого распространения.
Появление матричных кодов
Настоящий прорыв произошёл в 1987 году, когда японская компания Denso Wave (дочернее предприятие Toyota) создала QR-код (Quick Response Code). Изначально он предназначался для быстрой маркировки автомобильных деталей на конвейере. QR-код стал первым массовым матричным кодом, поддерживающим коррекцию ошибок (по алгоритму Рида — Соломона) и считывание в любом направлении (360°).
Распространение и стандартизация
В 1990-х годах появились другие популярные форматы: Data Matrix (1994, компания RVSI Acuity CiMatrix), PDF417 (1990, компания Symbol Technologies), Aztec Code (1995, компания Welch Allyn). В 2000-х годах двумерные коды начали активно использоваться в логистике, торговле, здравоохранении и для мобильных платежей. В 2010-х годах с распространением смартфонов QR-коды стали повсеместны.
В России
В России двумерные коды активно внедряются с середины 2010-х годов. В 2019 году система маркировки товаров «Честный знак» (оператор — ЦРПТ) начала использовать код Data Matrix для обязательной маркировки лекарств, табачной продукции, обуви, шин и других товаров. С 2021 года в России введена обязательная маркировка товаров лёгкой промышленности и молочной продукции.
Классификация
Двумерные штриховые коды делятся на два основных типа по способу организации данных:
Стековые (многострочные) коды
Представляют собой несколько одномерных кодов, расположенных друг над другом. Данные считываются последовательно по строкам.
- PDF417 — один из самых распространённых стековых кодов. Используется в билетах, документах (водительские права США), почтовой службе. Ёмкость до 1,1 КБ текста.
- Code 49 — ранний стековый код, ныне малоиспользуемый.
- Code 16K — вариант Code 49 с улучшенной плотностью.
Матричные коды
Данные кодируются в виде матрицы из модулей (обычно квадратов). Считывание происходит по двум осям одновременно. Матричные коды обычно компактнее стековых и имеют лучшую коррекцию ошибок.
- QR-код — самый популярный. Имеет квадратную форму с тремя поисковыми узорами в углах. Поддерживает до 7089 цифр или 4296 символов (включая кириллицу). Коррекция ошибок до 30%.
- Data Matrix — компактный код, часто используется для маркировки малых объектов (микросхемы, медицинские ампулы). Может быть квадратным или прямоугольным. Поддерживает до 2335 цифр. Коррекция ошибок до 25%.
- Aztec Code — код, не требующий «тихой зоны» (поля вокруг кода). Используется в транспорте (билеты метро, авиабилеты). Поддерживает до 3832 цифр.
- MaxiCode — круглый код, разработанный для сортировки посылок (UPS). Содержит концентрические круги.
- Micro QR — уменьшенная версия QR-кода для малых объёмов данных.
Устройство и принцип работы
Структура
Типичный матричный код (на примере QR-кода) состоит из следующих элементов:
- Поисковые узоры (finder patterns) — три квадрата в углах, позволяющие сканеру определить ориентацию и размер кода.
- Выравнивающие узоры (alignment patterns) — небольшие квадраты, помогающие при искажении изображения.
- Синхронизирующие полосы (timing patterns) — чередующиеся чёрные и белые модули, задающие сетку.
- Зона тишины (quiet zone) — белое поле вокруг кода, необходимое для отделения от фона.
- Область данных — непосредственно модули, кодирующие информацию. Данные разбиваются на блоки, к которым добавляются коды коррекции ошибок (алгоритм Рида — Соломона).
Кодирование
Информация преобразуется в бинарный поток, который затем разбивается на слова. К каждому слову добавляются избыточные биты для коррекции ошибок. Затем биты размещаются в матрице по определённому алгоритму (чередование, маскирование для равномерного распределения чёрных и белых модулей).
Считывание
Считывание производится оптическим сканером (лазерным или камерой). Современные смартфоны используют камеру и специализированное ПО для декодирования. Процесс включает:
- Поиск кода в кадре.
- Определение его границ и ориентации.
- Извлечение модулей данных.
- Декодирование с коррекцией ошибок.
- Вывод информации (текст, URL, контакт).
Применение
Логистика и торговля
- Маркировка товаров (Data Matrix в системе «Честный знак» в РФ).
- Отслеживание посылок (MaxiCode, PDF417).
- Учёт на складах (QR-код, Data Matrix).
Транспорт и билеты
- Электронные билеты на самолёты, поезда, концерты (PDF417, Aztec Code).
- QR-коды на остановках для получения расписания.
- Билеты метро (Aztec Code в некоторых системах).
Реклама и маркетинг
- QR-коды на упаковках, листовках, билбордах для перехода на сайт, получения скидки, скачивания приложения.
- В России с 2021 года QR-коды используются для подтверждения вакцинации от COVID-19 (через портал «Госуслуги»).
Здравоохранение
- Маркировка лекарств (Data Matrix в системе мониторинга движения лекарственных средств).
- Идентификация пациентов (браслеты с QR-кодом).
- Учёт медицинского оборудования.
Производство и промышленность
- Маркировка деталей (Data Matrix на микросхемах, печатных платах).
- Отслеживание партий и серийных номеров.
Финансы и платежи
- QR-коды для безналичной оплаты (СБП, Apple Pay, Google Pay).
- Коды на квитанциях для оплаты ЖКХ.
Документы и идентификация
- Водительские права (PDF417 в США).
- Паспорта (Data Matrix на странице с данными).
- Визитные карточки (QR-код с контактами).
Преимущества и недостатки
Преимущества
- Высокая ёмкость — до нескольких тысяч символов.
- Коррекция ошибок — возможность считывания при повреждении до 30% кода.
- Быстрое считывание — считывание с любого угла (360°).
- Компактность — можно размещать на малых поверхностях.
- Универсальность — кодирование любых типов данных (текст, URL, бинарные файлы).
Недостатки
- Зависимость от качества печати — плохая печать или низкий контраст затрудняют считывание.
- Необходимость сканера — для считывания требуется камера или специализированный сканер.
- Уязвимость к искажениям — сильное искажение (сжатие, размытие) может сделать код нечитаемым.
- Проблемы конфиденциальности — QR-коды могут содержать ссылки на вредоносные сайты (фишинг).
Критика и безопасность
С распространением QR-кодов возникли проблемы безопасности. Злоумышленники могут размещать подложные коды, ведущие на фишинговые сайты или загружающие вредоносное ПО. В России в 2022-2023 годах были зафиксированы случаи мошенничества с QR-кодами на парковках и в общественных местах. Рекомендуется проверять URL перед переходом и использовать защищённые сканеры.
Интересные факты
- QR-код был изобретён в 1994 году сотрудником Denso Wave Масахиро Хара. Компания не стала патентовать технологию, что способствовало её глобальному распространению.
- Самая большая версия QR-кода (Version 40) содержит 177×177 модулей и может хранить до 7089 цифр.
- В 2019 году в Китае был создан QR-код площадью 1,2 км² (на рисовом поле), который был виден со спутника.
- В России система «Честный знак» использует код Data Matrix, который наносится на каждую единицу товара для борьбы с контрафактом.
Источники
- ГОСТ Р ИСО/МЭК 18004-2015 «Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода QR Code».
- ISO/IEC 16022:2006 «Information technology — Automatic identification and data capture techniques — Data Matrix bar code symbology specification».
- Официальный сайт системы маркировки «Честный знак» (ЦРПТ).
- «Штриховые коды: теория и практика» / под ред. В. И. Алексеева. — М.: Машиностроение, 2018.
- Denso Wave. «QR Code Essentials» (техническая документация).
- «Two-Dimensional Bar Codes» / R. C. Palmer. — Springer, 2015.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →