ISO/IEC 15438
ISO/IEC 15438 — это международный стандарт, определяющий требования к символике штрихового кода PDF417 (Portable Data File — портативный файл данных, сокращение от «Portable Data File 417»). Стандарт устанавливает спецификации для кодирования данных, структуры символа, размеров, уровней коррекции ошибок и методов декодирования двумерного матричного штрихкода, который используется для хранения значительных объёмов информации в компактной графической форме.
История и разработка
Разработка стандарта ISO/IEC 15438 началась в конце 1990-х годов как часть серии международных стандартов по автоматической идентификации и сбору данных (AIDC). PDF417 был изобретён в 1991 году компанией Symbol Technologies (США) для удовлетворения потребностей в высокоплотном кодировании данных, превышающем возможности линейных штрихкодов. Первая версия стандарта была опубликована в 2000 году. Впоследствии документ неоднократно пересматривался: последняя актуальная редакция — ISO/IEC 15438:2015 (с поправками 2020 года). Работа над стандартом ведётся подкомитетом SC 31 «Автоматическая идентификация и сбор данных» объединённого технического комитета ISO/IEC JTC 1.
Структура символа PDF417
Символ PDF417 состоит из последовательности строк, каждая из которых содержит несколько модулей (элементов). Основные структурные элементы:
- Стартовый и стоповый паттерны — уникальные последовательности модулей, обозначающие начало и конец символа.
- Левая и правая индикаторные колонки — содержат информацию о количестве строк, столбцов, уровне коррекции ошибок и других параметрах символа.
- Кодовые слова (codewords) — каждая строка делится на 17 модулей, образующих 4 штриха и 4 пробела. Каждый такой набор кодирует одно кодовое слово — 17-битное значение в диапазоне от 0 до 928 (всего 929 возможных значений). Количество кодовых слов в строке может варьироваться от 1 до 30, что задаёт ширину символа.
- Область данных — последовательность кодовых слов, несущих закодированную информацию и служебные данные.
Количество строк в символе может составлять от 3 до 90, количество столбцов (кодовых слов на строку) — от 1 до 30. Таким образом, общее количество кодовых слов в одном символе может достигать 2700, что позволяет хранить до 1850 буквенно-цифровых или 2710 цифровых символов.
Режимы кодирования данных
Стандарт ISO/IEC 15438 определяет три основных режима сжатия данных (компакции), которые могут переключаться внутри одного символа:
- Text compaction — кодирование буквенно-цифровых символов (латиница, цифры, знаки препинания) с использованием таблиц подстановки. Обеспечивает сжатие примерно 2,9 символа на кодовое слово.
- Byte compaction — кодирование произвольных байтовых данных (бинарные файлы, изображения). Обеспечивает сжатие 1,2 байта на кодовое слово.
- Numeric compaction — кодирование последовательностей цифр. Обеспечивает сжатие примерно 2,93 цифры на кодовое слово.
Переключение между режимами осуществляется с помощью специальных кодовых слов-переключателей, что позволяет оптимизировать плотность упаковки данных в зависимости от их типа.
Коррекция ошибок
PDF417 использует алгоритм Рида — Соломона для исправления ошибок. Стандарт ISO/IEC 15438 предусматривает девять уровней коррекции ошибок (ECL — Error Correction Level), от 0 до 8:
| Уровень ECL | Количество кодовых слов коррекции | Максимальная исправляемая ошибка (в % от данных) |
|---|---|---|
| 0 | 2 | 0,2 % |
| 1 | 4 | 0,5 % |
| 2 | 8 | 1,0 % |
| 3 | 16 | 2,0 % |
| 4 | 32 | 4,0 % |
| 5 | 64 | 8,0 % |
| 6 | 128 | 16,0 % |
| 7 | 256 | 32,0 % |
| 8 | 512 | 64,0 % |
Выбор уровня коррекции зависит от условий сканирования и требуемой надёжности. В реальных приложениях чаще всего используются уровни 2–5. Кодовые слова коррекции располагаются в конце символа после данных.
Макро-PDF417
Стандарт ISO/IEC 15438 также определяет расширение Macro PDF417 (также известное как PDF417 Truncated), позволяющее разбивать большие объёмы данных на несколько связанных символов. Каждый символ в такой последовательности содержит заголовок с идентификатором файла, номером сегмента и общим количеством сегментов. Это позволяет декодировать данные, превышающие ёмкость одного символа (до 1,1 мегабайта в теоретическом максимуме).
Применение
PDF417 и соответствующий стандарт ISO/IEC 15438 нашли широкое применение в различных отраслях:
- Транспорт и логистика — авиационные билеты (IATA), почтовые отправления, грузовые накладные.
- Документооборот — водительские удостоверения (в США и некоторых других странах), удостоверения личности, паспорта, визы.
- Здравоохранение — маркировка лекарственных средств, медицинских приборов, браслеты пациентов.
- Банковское дело — чеки, платёжные поручения.
- Производство — маркировка комплектующих, серийных номеров, инструкций.
В России PDF417 используется в системах маркировки товаров (например, «Честный знак» — обязательная маркировка лекарств, обуви, табачной продукции), а также в транспортных документах и удостоверениях личности.
Технические требования
Стандарт ISO/IEC 15438 устанавливает жёсткие параметры для печати и сканирования:
- Минимальный размер модуля (X-размер) — не менее 0,0075 дюйма (0,19 мм) для большинства приложений.
- Соотношение высоты штриха к ширине модуля (Y-размер) — обычно 3:1, но может варьироваться.
- Поля (quiet zones) — свободное пространство вокруг символа не менее 2X слева и справа, не менее 1X сверху и снизу.
- Допуски на печать — отклонения ширины модулей не более ±0,4X для штрихов и пробелов.
Критика и ограничения
Несмотря на широкое распространение, PDF417 имеет ряд недостатков:
- Относительно низкая плотность данных по сравнению с более современными двумерными кодами (например, Data Matrix или QR-код). Для хранения одинакового объёма информации PDF417 требует большей площади.
- Чувствительность к повреждениям — при локальном повреждении символа (например, царапине) восстановление данных возможно только в пределах возможностей коррекции ошибок, что ограничено выбранным уровнем ECL.
- Сложность декодирования — алгоритм требует больше вычислительных ресурсов по сравнению с простыми линейными кодами.
Тем не менее, PDF417 остаётся одним из наиболее распространённых двумерных штрихкодов благодаря своей надёжности и поддержке в большинстве сканеров и мобильных устройств.
Источники
- ISO/IEC 15438:2015 «Information technology — Automatic identification and data capture techniques — PDF417 bar code symbology specification»
- ГОСТ Р ИСО/МЭК 15438-2010 «Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода PDF417»
- AIM International Technical Specification — PDF417 (1994)
- Palmer, R. C. «The Bar Code Book: A Comprehensive Guide to Reading, Printing, Specifying, and Applying Bar Code and Other Machine-Readable Symbols» (5th ed., 2007)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →