MicroPDF417

MicroPDF417 (англ. MicroPDF417) — двухмерная (2D) линейно-матричная штрих-кодовая симвология, изобретённая в 1996 году Фредериком Шюсслером (Frederick Schuessler), Кевином Хантером (Kevin Hunter), Сундипом Кумаром (Sundeep Kumar) и Кэри Чу (Cary Chu) из компании Symbol Technologies[1]. MicroPDF417 строится из специально закодированных столбцов шаблонов адресации строк (Row Address Patterns, RAP) и выровненных с ними столбцов данных, кодируемых по схеме «417», предложенной в 1990 году[2]. В 2006 году стандарт был зарегистрирован как ISO/IEC 24728:2006[3].

Штрих-коды MicroPDF417 могут считываться с помощью как лазерных сканеров, так и камерных чтителей штрих-кодов[4]. Как и большинство двумерных штрих-кодов, стандарт MicroPDF417 включает коррекцию ошибок по методу Рида — Соломона (Reed–Solomon error correction), что позволяет декодировать даже повреждённые или загрязнённые символы, а также обеспечивает высокую плотность данных. Однако максимальный объём информации, который может быть закодирован — 150 байт или 250 алфавитно-цифровых символов в самой крупной версии с четырьмя столбцами[4]. Кроме того, из-за специфики конструкции, MicroPDF417 подходит только для печати на высококачественных документах и изображениях.

В типовых режимах MicroPDF417 позволяет кодировать текст, числа, двоичные данные и Unicode-текст с использованием механизма расширенной интерпретации каналов (Extended Channel Interpretation). Кроме того, предусмотрены специальные режимы, предназначенные для кодирования текста и числовых данных в специальных индустриальных форматах, например, для стандартов составных штрих-кодов GS1 Composite[5].

undefined

История и стандарты

Штрих-код MicroPDF417 был запатентован в 1996 году Фредериком Шюсслером, Кевином Хантером, Сундипом Кумаром и Кэри Чу из компании Symbol Technologies[1]. Он является развитием линейно-матричной символогии PDF417[6] и использует сходные принципы кодирования данных[2]. До 2006 года спецификация распространялась через ассоциацию AIM[7] и была известна как стандарт ITS MicroPDF417[8], применяясь тогда в составе EAN.UCC Composite Symbology[9]. В 2006 году MicroPDF417 был утверждён как международный стандарт ISO/IEC 24728:2006[3] и теперь может использоваться как самостоятельно, так и как часть составных кодов GS1 Composite[5].

Применение

Основное применение MicroPDF417 — добавление расширенных данных к линейным штрих-кодам[9]. Благодаря высокой плотности кодирования, технология позволяет компактно размещать дополнительную информацию на ограниченной площади. Широко применяется в учёте и маркировке товаров, особенно в составе составных символогий EAN.UCC Composite[9] и GS1 Composite[5]. Большинство современных принтеров штрих-кодов[10] и сканеров[11] поддерживают работу с MicroPDF417.

Структура штрих-кода

Символ MicroPDF417 содержит минимум два столбца шаблонов адресации строк (Row Address Patterns, RAP), определяющих номера строк, и выровненные по ним столбцы данных[12]. Существуют четыре варианта кодов с 1, 2, 3 и 4 столбцами данных. Стандартная структура включает:[3]

  • Тихая зона (quiet zone)
  • Левый RAP-столбец
  • Переменное число столбцов данных и, при необходимости, центральный RAP-столбец
    • Вариант с одним столбцом данных: 1 Data column
    • С двумя столбцами данных: 2 Data columns
    • С тремя столбцами: 1 Data column, центральный RAP, 2 Data columns
    • С четырьмя столбцами: 2 Data columns, центральный RAP, 2 Data columns
  • Правый RAP-столбец с завершающей чёрной чертой (stop bar)
  • Тихая зона

Каждая из версий MicroPDF417 допускает определённое количество строк, зависящее от числа столбцов[3] Высота строки составляет от 2 до 5 минимальных ширин элемента (штриха или пробела).[3]

Варианты символов MicroPDF417
Столбцы данных Допустимые строки Структура
1 11, 14, 17, 20, 24, 28
Структура MicroPDF417 с 1 столбцом данных
2 8, 11, 14, 17, 20, 23, 26
Структура MicroPDF417 с 2 столбцами данных
3 6, 8, 10, 12, 15, 20, 26, 32, 38, 44
Структура MicroPDF417 с 3 столбцами данных
4 4, 6, 8, 10, 12, 15, 20, 26, 32, 38, 44
Структура MicroPDF417 с 4 столбцами данных

Структура столбцов RAP

Столбцы шаблонов адресации строк (RAP)[3] построены по особой схеме: каждый шаблон отображает номер строки, но не совпадает с ним. Каждый RAP состоит из 10 модулей, которые разбиты на 3 чёрные полосы и 3 белых промежутка, ширина которых может варьировать от 1 до 5 модулей. Все RAP начинаются с чёрной полосы и оканчиваются белым промежутком; правый RAP дополняется заключительной чёрной полосой.

Для левого и правого RAP используется 52 значения шаблонов, для центрального — 52 других; значения RAP — от 1 до 52. Модификации MicroPDF417 с одним и двумя столбцами данных используют только левый и правый RAP, с тремя и четырьмя столбцами — дополнительно центральный.

Каждый RAP в MicroPDF417 содержит определённую специальную последовательность (RNA — Row Number Assignments),[3] которая однозначно задаёт версию и соответствие номеру строки.

Например, MicroPDF417 с 4 столбцами и 4 строками содержит: левый RAP с номерами от 47 до 50, центральный — от 19 до 22, правый — от 43 до 46. Сочетание этих последовательностей определяет структуру символа и связь RAP-значения с текущей строкой.

Кодовые слова (Codewords)

Кодирование данных в MicroPDF417 сходно с символогией PDF417.[3] Каждая строка данных содержит 17 модулей, состоящих из 4 чёрных полос и 4 белых промежутков (от 1 до 6 модулей шириной каждая). Одно кодовое слово — это число от 0 до 928, все слова разделены по трём кластерам с номерами 0, 3 и 6.

Номер кластера определяется по формуле:[3]

Коррекция ошибок

MicroPDF417 поддерживает коррекцию ошибок по коду Рида — Соломона.[3] Число кодовых слов коррекции фиксировано для каждой версии.[3] Доля символа, отведённая под слова коррекции, составляет от 28 % до 67 %. Коррекция позволяет восстанавливать как стирания, так и ошибки замены:[3]

  • Возможность коррекции стираний: число кодовых слов коррекции минус 1;
  • Ошибки замены: (число кодовых слов коррекции минус 1) делить на 2.

Пример размещения кодовых слов MicroPDF417

Ниже приведён пример расположения всех кодовых слов в символе MicroPDF417:[3]

Структура MicroPDF417: 4 столбца, 4 строки
Левый RAP Столбец данных 1 Столбец данных 2 Центральный RAP Столбец данных 3 Столбец данных 4 Правый RAP
LR47 D7 D6 CR19 D5 D4 RR43
LR48 D3 D2 CR20 D1 D0 RR44
LR49 E7 E6 CR21 E5 E4 RR45
LR50 E3 E2 CR22 E1 E0 RR46


LR(x) — идентификатор левого шаблона адресации строки.
D(x) — кодовое слово данных.
CR(x) — идентификатор центрального шаблона адресации строки.
RR(x) — идентификатор правого шаблона адресации строки.
E(x) — кодовое слово коррекции ошибок.

Кодирование

В MicroPDF417 определено 929 возможных кодовых слов, из которых 900 (от 0 до 899) предназначены для кодирования данных в различных режимах, а 29 (900–928) — для специальных функций,[3] в основном управляющих режимом кодирования. По типу режимов различаются обычные режимы кодирования (для текста, чисел, двоичных данных) и специальные режимы для отдельных промышленных применений.

Обычные режимы

Обычные режимы кодирования MicroPDF417 повторяют режимы PDF417:[3]

  • числовой режим для кодирования цифр (0–9);
  • текстовый режим (около 100 символов ANSI, включая цифры, латинские буквы верхнего и нижнего регистра, знаки препинания и спецсимволы);
  • байтовый режим (значения байтов от 0 до 255);
  • символы Unicode с использованием подрежимов расширенной интерпретации каналов (Extended Channel Interpretation).[3]

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

Специальные режимы

MicroPDF417 может использоваться в специальных промышленных режимах:[3]

  • UCC/EAN-128 — для максимально компактного кодирования идентификаторов приложений GS1 (GS1 Application Identifiers);[13].
  • UCC/EAN-128 «linked» — для кодирования и маркировки символа как связанного (используется вместе с линейной частью);
  • Режим EAN.UCC Composite symbol «linked» — для передачи данных согласно спецификации GS1 Composite (ISO/IEC 24723:2010)[5]
  • Строки макросов «05 Macro» и «06 Macro» по ISO/IEC 15434:2019 — для кодирования отраслевых заголовков и концовок в компактной форме;[14];
  • Режим эмуляции Code 128[15] — декодер должен воспринимать символ как Code 128, а не как MicroPDF417.

Структурированное добавление (structured append)

Символ MicroPDF417 может содержать метаданные[3], описывающие данные и сам штрих-код. Однако из-за малой ёмкости используется редко. Некоторые поля структурированного добавления обязательны и всегда указываются при использовании функции, часть — опциональны:

Поля структурированного добавления MicroPDF417
Название поля Обязательность Тип значения Описание
Индекс сегмента Обязательное Числовой Íндекс текущего символа MicroPDF417 в последовательности (0–99 998)
Идентификатор файла Обязательное Числовой Переменное по длине поле, уникально идентифицирующее последовательность (barcode file). Размер не ограничен стандартом
Имя файла Опционально Текст Имя файла со штрих-кодом в свободном формате
Число сегментов Опционально Числовой Количество символов MicroPDF417 в уникальной последовательности (1–99 999)
Временная метка Опционально Числовой Время создания файла: число секунд с 1 января 1970 г. 00:00:00 GMT
Отправитель Опционально Текст Отправитель файла штрих-кода (произвольный текст)
Получатель Опционально Текст Адрес отправителя файла штрих-кода (произвольный текст)
Размер файла Опционально Числовой Размер файла штрих-кода в байтах
Контрольная сумма Опционально Числовой Контрольная сумма файла (CRC-CCITT-16: x^16 + x^12 + x^5 + 1)

Примечания

  1. 1 2 Frederick Schuessler, Kevin Hunter, Sundeep Kumar, Cary Chu. United States Patent US5811787A by Symbol Technologies LLC "Two-dimensional bar code symbology using implicit version information encoding" (англ.). patents.google.com. United States Patent and Trademark Office (16 октября 1996). Дата обращения: 24 июня 2024.
  2. 1 2 Theodosios Pavlidis, Yajium P. Wang, Jerome Swartz. United States Patent US5304786 "High density two-dimensional bar code symbol" (англ.). patents.google.com. United States Patent and Trademark Office (5 января 1990). Дата обращения: 24 июня 2024.
  3. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ISO/IEC. ISO/IEC 24728:2006 "Information technology Automatic identification and data capture techniques MicroPDF417 bar code symbology specification" (англ.). iso.org. International Organization for Standardization (2020). Дата обращения: 24 июня 2024. Архивировано 28 сентября 2025 года.
  4. 1 2 Beginners Guide to 2-D Barcodes (англ.). identifydirect.com 19. Identify Direct Ltd. Дата обращения: 24 июня 2024. Архивировано 4 ноября 2024 года.
  5. 1 2 3 4 ISO/IEC. ISO/IEC 24723:2010 "Information technology Automatic identification and data capture techniques GS1 Composite bar code symbology specification" (англ.). iso.org. International Organization for Standardization (2023). Дата обращения: 24 июня 2024. Архивировано 3 июля 2025 года.
  6. Hiroko Kato (2005). “2D-barcode for mobile devices”. Theses: Honours [англ.]. Edith Cowan University: 23. Дата обращения 2024-06-24.
  7. AIMstore. aimglobal.org. Дата обращения: 24 июня 2024. Архивировано 14 июня 2002 года.
  8. Stacked Bar Code Symbologies. aimglobal.org. Дата обращения: 24 июня 2024. Архивировано 18 августа 2002 года.
  9. 1 2 3 Composite Overview. aimglobal.org. Дата обращения: 24 июня 2024. Архивировано 15 июня 2002 года.
  10. Barcode Printer TSC BARCODE PRINTER Series (англ.). tscprinters.com. Дата обращения: 24 июня 2024. Архивировано 8 марта 2024 года.
  11. M-10 2D CMOS Imager Presentation Scanner (англ.). opticonusa.com. Дата обращения: 24 июня 2024. Архивировано 6 октября 2025 года.
  12. Hiroko Kato, Keng T. Tan, Douglas Chai. Barcodes for Mobile Devices : [англ.]. — Cambridge University Press, 8 апреля 2010. — P. 34. — ISBN 978-1139487511.
  13. GS1 Application Identifiers (англ.). gs1.org. Дата обращения: 24 июня 2024. Архивировано 30 июля 2025 года.
  14. ISO/IEC. ISO/IEC 15434:2019 "Information technology Automatic identification and data capture techniques Syntax for high-capacity ADC media" (англ.). iso.org. International Organization for Standardization (2019). Дата обращения: 24 июня 2024. Архивировано 3 июля 2025 года.
  15. Generate PDF417 and Micro PDF417 Barcodes in C# (англ.). aspose.com. Дата обращения: 24 июня 2024. Архивировано 3 июля 2025 года.

Литература