#G0

ГОСТ Р 51294.9-2002

(ИСО/МЭК 15438-2001)

 

Группа П85

 

 

ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

 

 

Автоматическая идентификация

 

КОДИРОВАНИЕ ШТРИХОВОЕ

 

Спецификации символики PDF417 (ПДФ417)

 

Automatic identification. Bar coding.

Symbology specifications PDF417

 

 

ОКС 35.040

ОКСТУ 4002

Дата введения 2003-01-01

 

 

Предисловие

 

1 РАЗРАБОТАН Ассоциацией автоматической идентификации ЮНИСКАН/EAN РОССИЯ/AIM РОССИЯ совместно с ЗАО "Фирма ПИЛОТ"

 

ВНЕСЕН Техническим комитетом по стандартизации ТК 355 "Автоматическая идентификация"

 

2 ПРИНЯТ И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Госстандарта России от 26 августа 2002 г. N 314-ст

 

3 Настоящий стандарт представляет собой аутентичный текст международного стандарта ИСО/МЭК 15438-2001 "Информационная технология. Технологии автоматической идентификации и сбора данных. Спецификации символики штрихового кода ПДФ417" (ISO/IEC 15438-2001 "Information Technology - Automatic Identification and Data Capture - Bar code symbology specifications - РDF417"), за исключением раздела "Библиография", и приложений V, W, X. Дополнительные положения выделены курсивом.

 

При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов соответствующие им межгосударственные стандарты, сведения о которых приведены в дополнительном приложении W, и государственные стандарты Российской Федерации, сведения о которых приведены в дополнительном приложении Х

 

4 ВВЕДЕН ВПЕРВЫЕ

 

 

 

 Введение

 

Технология штрихового кодирования основана на распознавании комбинаций штрихов и пробелов определенных размеров. Существуют множество методов кодирования информации в формате штрихового кода, именуемых символиками, и множество правил перевода знаков в комбинации штрихов и пробелов и других важных параметров, именуемых спецификациями символики.

 

Производителям оборудования для штрихового кодирования и пользователям технологии штрихового кодирования необходим общедоступный стандарт спецификаций символики, к которому можно обращаться при разработке оборудования или стандартов применений. Символика, представленная в данном стандарте, является общественным достоянием и не подлежит ограничениям для пользователей, лицензированию и взиманию взносов.

 

 

 

     1 Область применения

 

Настоящий стандарт устанавливает:

 

- требования к символике штрихового кода PDF-417;

 

- показатели символики PDF-417, кодирование знаков данных, форматы символов, размеры, правила коррекции ошибки, алгоритм декодирования и совокупность параметров применения.

 

 

 

     2 Нормативные ссылки

 

1 В настоящем стандарте использованы ссылки на следующие стандарты*:

________________

* Соответствие межгосударственных стандартов и государственных стандартов Российской Федерации международным стандартам приведено в приложениях W и X. Международные спецификации, указанные в разделе 2 ИСО/МЭК 15438, перенесены в раздел "Библиография" ([1] и [5]).

 

ИСО 646-91 Информационная технология - 7-битный кодированный набор знаков ИСО для обмена информацией

 

ИСО 8859-1-98 Обработка информации. Наборы 8-битных однобайтовых кодированных графических символов. Часть 1. Латинский алфавит N 1

 

ИСО/МЭК 15416-2000 "Информационная технология. Технологии автоматической идентификации и сбора данных. Спецификации испытаний качества печати штриховых кодов - Линейные символы"

 

ЕН 796-96 Штриховое кодирование. Идентификаторы символик

 

ЕН 1556-98 Штриховое кодирование. Терминология

 

 

 

3 Определения, обозначения и сокращения

 

     3.1 Определения

 

Применительно к настоящему стандарту использованы следующие термины и определения, данные в ЕН 1556:

 

Алгоритм (algorithm), стандарт применения (application standard), версия КОИ-7 (ASCII), автораспознавание (autodiscrimination), штрих (bar), штриховой код (bar code), двунаправленность декодирования (bi-directional), двоичный (binary), бит (bit), кодовое слово (codeword), столбец символа штрихового кода (column), непрерывный штриховой код (continuous code), знак данных (data character), кодовое слово данных (data codeword), уплотнение данных (data compaction), поле данных символа (data region), алгоритм декодирования (decode algorithm), декодер (decoder), элемент символа штрихового кода (element), кодирование (encode), уровень коррекции ошибок (error correction level), визуальное представление знаков (human readable character), начальные нули (leading zeros), линейная символика (linear symbology), модуль (module), расчет "по модулю" контрольного знака (modulo), многострочная символика (multi-row symbology), n, k символика (n, k symbology), набор цифровых знаков (numeric), дополнение символа штрихового кода (overhead), знак-заполнитель (pad character), кодовое слово-заполнитель (pad codeword), свободная зона (quiet zone), рекомендуемый алгоритм декодирования (reference decode algorithm), строка символа штрихового кода (row), сканер (scanner), самоконтроль знака символа штрихового кода (self-checking), пробел символа штрихового кода (space), знак СТАРТ (start character), знак СТОП (stop character), коэффициент сжатия символа штрихового кода (symbol aspect ratio), знак символа (symbol character), символика штрихового кода (symbology), идентификатор символики (symbology identifier), длина символа штрихового кода (symbol width), размер (-dimension), размер (-dimension).

 

В настоящем стандарте применяют также следующие термины с соответствующими определениями:

 

3.1.1 модель базового канала (Basic Channel Model): Стандартная система кодирования и передачи данных штрихового кода, в которой с выхода декодера поступают байты данных сообщения, но не передается никакой управляющей информации о сообщении.

 

Примечание - В соответствии с данной моделью декодер работает в режиме базового канала

 

 

3.1.2 последовательность штрихов и пробелов (bar-space sequence): Последовательность, представляющая ширину элементов знака символа в модулях

 

3.1.3 кластер (cluster): Одно из трех подмножеств самостоятельных знаков символа PDF417, в котором знаки символа соответствуют особым структурным правилам, используемым при декодировании символики

 

3.1.4 режим уплотнения (compaction mode): Наименование каждого из трех алгоритмов уплотнения данных PDF417: режим текстового уплотнения (Text Compaction mode), режим цифрового уплотнения (Numeric Compaction mode) и режим байтового уплотнения (Byte Compaction mode), эффективно преобразующих 8-битные байты данных в кодовые слова PDF417

 

3.1.5 кодовое слово коррекции ошибок (Error correction codeword): Кодовое слово в символе, которое кодирует значение, получаемое из алгоритма исправления ошибок кодовых слов для декодирования обнаруженных ошибок и их исправления в зависимости от уровня коррекции ошибок

 

3.1.6 интерпретация расширенного канала (Extended Channel Interpretation): Процедура, применяемая в некоторых символиках, включая PDF417, для точной замены интерпретации по умолчанию иной интерпретацией.

 

Примечание - Интерпретация, изначально предназначенная для формирования символа, может быть восстановлена после декодирования сканированного символа для воссоздания сообщения данных в его исходном формате

 

 

3.1.7 модель расширенного канала (Extended Channel Model): Система кодирования и передачи байтов данных сообщения и управляющей информации о сообщении, в которой управляющая информация передается с использованием управляющей последовательности интерпретации расширенного канала.

 

Примечание - Декодер, соответствующий данной модели, работает в режиме расширенного канала

 

 

3.1.8 функциональное кодовое слово (function codeword): Кодовое слово в символике, которое инициирует определенную операцию в символике.

 

Примечание - Функциональное кодовое слово используется, например, для перехода между кодированными наборами данных, вызова схемы уплотнения, программирования считывающего устройства и вызова интерпретаций расширенного канала

 

 

3.1.9 идентификатор глобальной метки (Global Label Identifier): Процедура в рамках символики PDF417, предназначенная для замены интерпретации по умолчанию иной интерпретацией.

 

Примечания:

 

1 Назначение указанной процедуры идентично назначению интерпретации расширенного канала.

 

2 Связанная с символикой система идентификаторов глобальных меток предшествовала независимой от символики системе интерпретации расширенного канала

 

 

3.1.10 Макро PDF417 (Macro PDF417): Процедура в символике PDF417 по логической передаче данных из компьютерного файла в комплект связанных символов PDF417.

 

Примечания:

 

1 Эта процедура значительно расширяет емкость данных по сравнению с емкостью единичного символа.

 

2 Настоящая процедура подобна параметру структурированного соединения, применяемому в других символиках

 

 

3.1.11 кодовое слово фиксации в режиме (Mode Latch codeword): Кодовое слово, которое используется для перехода из одного режима в другой, который будет действовать до применения кодового слова фиксации в режиме или регистра в режиме, либо до окончания символа

 

3.1.12 кодовое слово регистра в режиме (Mode Shift codeword): Кодовое слово, которое используется для перехода из одного режима в другой только для одного кодового слова, после чего режим кодирования возвращается к исходному

 

3.1.13 кодовое слово индикатора строки (Row Indicator codeword): Кодовое слово PDF417, примыкающее к знаку СТАРТ или знаку СТОП в строке, которое кодирует информацию о структуре символа PDF417: идентификацию строки, общее количество строк и столбцов и уровень коррекции ошибки

 

3.1.14 кодовое слово дескриптора длины символа (Symbol Length Descriptor): Кодовое слово в символе PDF417, кодирующее общее количество кодовых слов данных в символе.

 

Примечание - Дескриптор длины символа всегда должен быть первым кодовым словом в символе PDF417

 

     3.2 Обозначения математических символов и операций

 

В настоящем стандарте используются следующие обозначения математических символов, которые согласуются с наиболее общим использованием системы счисления:

 

 - коэффициент сжатия символа (symbol aspect ratio) PDF417 (отношение высоты к длине);

 

 - ширина элемента в знаке символа;

 

 - количество столбцов в символе в области данных (за исключением знаков СТАРТ и СТОП и кодовых слов индикаторов строк);

 

 - кодовое слово данных, включая все функциональные кодовые слова;

 

 - кодовое слово коррекции ошибок;

 

 - расстояние между подобными краями в знаке символа;

 

 - номер строки;

 

 - количество ошибок подстановки;

 

 - высота символа, включая свободную зону;

 

 - номер кластера;

 

 - количество кодовых слов коррекции ошибок;

 

 - левый индикатор строки (Left row indicator);

 

* - количество стираний;

________________

* Вероятна ошибка оригинала. Следует читать . - Примечание "КОДЕКС".

 

 - количество первоначальных кодовых слов данных, предшествующих дополнению дескриптора длины символа и любых кодовых слов-заполнителей (pad);

 

 - общее количество кодовых слов данных, включая дескриптор длины символа и все кодовые слова-заполнители;

 

 - шаг или ширина знака символа;

 

 - горизонтальная свободная зона;

 

 - вертикальная свободная зона;

 

 - правый индикатор строки (Right row indicator);

 

 - число строк в символе;

 

 - уровень коррекции ошибок;

 

- длина символа, включая свободную зону;

 

 - размер  или ширина модуля;

 

 - высота модуля (также именуется высотой строки).

 

В настоящем стандарте используют также следующие обозначения для математических операций:

 

div - оператор целоисчисленного деления с округлением в меньшую сторону;

 

INT - целое число, полученное в результате округления в меньшую сторону до целого значения, с отбрасыванием десятых долей;

 

mod - положительный остаток целого числа после деления.

 

Примечание - Если остаток окажется отрицательным, для получения положительного результата прибавляют значение делителя. Например, остаток от деления -29160 на 929 равен -361. При прибавлении к остатку -361 делителя 929 получают положительное значение 568.

 

     3.3 Сокращения

 

В настоящем стандарте применяют следующие сокращения:

 

ECI - интерпретация расширенного канала;

 

GLI - идентификатор глобальной метки.

 

 

 

4 Требования к символике PDF417

 

 

4.1 Показатели символики

 

4.1.1 Основные показатели

 

Символика штрихового кода PDF417 (русское обозначение ПДФ417) имеет следующие основные показатели:

 

a) кодируемый набор знаков:

 

в режиме текстового уплотнения (4.4.2) позволяет кодировать все графические знаки КОИ-7, т.е. знаки с десятичными значениями от 32 до 126 включительно в соответствии с ИСО/МЭК 646*, а также некоторые управляющие знаки,

__________________

* Версия 7-битного кодированного набора знаков для обмена и обработки информации по ИСО 646 соответствует набору С0 ссылочной версии КОИ-7Н0 по #M12291 1200021930ГОСТ 27463#S и набору Г0 версии КОИ-8 В1 по #M12291 1200027427ГОСТ Р 34.303#S. В ИСО/МЭК 15438 указанная версия обозначена как ASCII.

 

в режиме байтового уплотнения (4.4.3) позволяет кодировать все 256 значений 8-битных байтов. Этот режим включает все знаки КОИ-7 с десятичными значениями от 0 до 127 включительно и предусматривает поддержку международных наборов знаков,

 

в режиме цифрового уплотнения (4.4.4) позволяет эффективно кодировать цифровые последовательности данных,

 

различные функциональные кодовые слова для управления;

 

b) структура знака символа: знаки (n, k, m), представленные 17 модулями (n), элементами - 4 штрихами и 4 пробелами (k), с самым крупным элементом шириной в 6 модулей (m);

 

c) максимально возможное количество знаков данных в символе (при нулевом уровне коррекции ошибок) - 925 кодовых слов данных, позволяющих закодировать:

 

в режиме текстового уплотнения - 1850 знаков (2 знака данных на кодовое слово),

 

в режиме байтового уплотнения - 1108 знаков (1,2 знака данных на кодовое слово),

 

в режиме цифрового уплотнения - 2710 знаков (2,93 знака данных на кодовое слово).

    

При минимальном рекомендуемом уровне коррекции ошибок (error correction level) имеется 863 кодовых слов данных, позволяющих закодировать:

 

в режиме текстового уплотнения - 1726 знаков (2 знака данных на кодовое слово),

 

в режиме байтового уплотнения - 1033 знака (1,2 знака данных на кодовое слово),

 

в режиме цифрового уплотнения - 2528 знаков (2,93 знака данных на кодовое слово);

 

d) размер символа:

 

количество строк - от 3 до 90,

 

количество столбцов - от 1 до 30,

 

длина в модулях - от 90 до 583, включая свободные зоны,

 

максимальное количество кодовых слов - 928,

 

максимальное количество кодовых слов данных - 925.

 

Поскольку может быть задано как число строк, так и число столбцов, при печати может быть изменен и коэффициент сжатия символа PDF417 для выполнения требований по размещению;

 

e) задаваемая коррекция ошибок - от 2 до 510 кодовых слов на символ (4.7);

 

f) знаки, не относящиеся к знакам данных:

 

на строку - 73 модуля, включая свободные зоны,

 

на символ - не менее трех дополнительных кодовых слов, представленных в виде знаков символа;

 

g) тип кода - непрерывный, многострочный, двухмерный;

 

h) самоконтроль знака - присутствует;

 

i) двунаправленное декодирование - присутствует.

 

4.1.2 Дополнительные свойства

 

В символике PDF417 к дополнительным свойствам (обязательным или необязательным) относят:

 

a) уплотнение данных (обязательное свойство).

 

Установлены три схемы уплотнения совокупности знаков данных в кодовые слова. Обычно данные непосредственно не представляются на основе "один знак - одно кодовое слово" (4.4.2-4.4.4);

 

b) интерпретации расширенного канала (необязательное свойство).

 

Данный механизм позволяет кодировать до 811800 различных наборов знаков данных или интерпретаций (4.5);

 

c) Макро PDF417 (необязательное свойство).

 

Данный механизм предоставляет логическое и последовательное представление файлов данных в ряде символов PDF417. Таким образом, вплоть до 99999 символов PDF417, могут быть связаны или соединены и отсканированы в любом порядке для правильного восстановления исходного файла данных (4.13);

 

d) декодируемость от края до края (обязательное свойство).

 

PDF417 может декодироваться измерением размеров от края одного элемента знака символа до соответствующего края другого элемента (4.3.1);

 

e) перекрестное сканирование строк (обязательное свойство).

 

Для перекрестного сканирования строк в PDF417 используют сочетание трех следующих показателей:

 

- синхронизацию по горизонтали или синхронизацию по времени,

 

- идентификацию строки,

 

- синхронизацию по вертикали использованием значения кластеров для обеспечения локального распознавания строк.

 

При использовании данного сочетания одиночное линейное сканирование при пересечении ряда строк позволяет получить неполное декодирование данных, если хотя бы один полный знак символа в строке был декодирован и получено значение его кодового слова. В дальнейшем с помощью алгоритма декодирования отдельные кодовые слова могут быть соединены в значащую матрицу;

 

f) коррекция ошибок (обязательное свойство).

 

Пользователь может задать один из девяти уровней коррекции ошибок. На всех уровнях, кроме нулевого, возможно не только обнаружение ошибок, но и исправление ошибочно закодированных или недостающих кодовых слов (4.7);

 

g) Компакт PDF417 (Compact PDF417) (необязательное свойство).

 

В относительно "чистой" среде возможно сокращение некоторых строк со знаками, не относящимися к данным (4.12).

 

Примечание - В предыдущей версии показателей PDF417 данное свойство именовалось "Сокращенный PDF417" ("Truncated PDF417"). Термин Компакт PDF417 (Compact PDF417) является предпочтительным во избежание путаницы с наиболее общим использованием термина "сокращенный" (’truncated’).

 

 

 

4.2 Структура символа

 

4.2.1 Параметры символа PDF417

 

Любой символ PDF417, состоящий из множества выровненных по вертикали строк, должен содержать не менее трех строк (но не более 90). Любая строка должна содержать не менее одного знака символа (но не более 30 знаков символа) без учета столбцов знаков СТАРТ, СТОП и столбцов индикатора строк. Символ должен включать свободные зоны со всех 4-х сторон. На рисунке 1 приведен символ PDF417 с закодированными данными: PDF417 Symbology Standard.

 

 

 

 

Рисунок 1 - Структура символа PDF417.

 

 

4.2.2 Параметры строки

 

Каждая строка PDF417 должна содержать:

 

a) начальную свободную зону,

 

b) знак СТАРТ,

 

c) знак символа левого индикатора строки,

 

d) от 1 до 30 знаков символа,

 

e) знак символа правого индикатора строки,

 

f) знак СТОП,

 

g) конечную свободную зону.

 

Примечание - Число знаков символа (или кодовых слов), приведенных в перечислении d), соответствует числу столбцов в символе PDF417.

 

 

4.2.3 Последовательность кодовых слов

 

Символ PDF417 может содержать до 928 знаков символа или кодовых слов.

 

Примечание - Термин "Знак символа PDF417" рекомендуется использовать для обозначения напечатанной комбинации штрихов и пробелов; "кодовое слово" - для числового значения знака символа.

 

 

Кодовые слова должны быть приведены в следующей последовательности:

 

a) первое кодовое слово - дескриптор длины символа - всегда должно кодировать общее количество кодовых слов данных в символе, включая сам дескриптор длины символа, кодовые слова данных и кодовые слова-заполнители, за исключением числа кодовых слов коррекции ошибок;

 

b) кодовые слова формируют по старшинству разрядов подлежащих кодированию знаков. Могут быть вставлены функциональные знаки для уплотнения данных;

 

c) кодовые слова-заполнители помогают представлять последовательности кодовых слов в виде прямоугольной матрицы. Кодовые слова-заполнители можно также использовать для формирования дополнительных полных конечных строк с целью получения желаемого коэффициента сжатия или установленного в нормативном документе по применению;

 

d) необязательный управляющий блок Макро PDF417;

 

e) кодовые слова коррекции ошибки для обнаружения и исправления ошибок.

 

Кодовые слова должны быть расположены таким образом, чтобы кодовое слово позиции старшего разряда примыкало к дескриптору длины символа (Symbol Length Descriptor), а кодовые слова кодировались слева направо от верхнего ряда к нижнему. На рисунке 2 представлена в виде схемы последовательность для символа, подобного представленному на рисунке 1. На рисунке 2 используется уровень коррекции ошибок 1 и требуется одно кодовое слово для полного заполнения матрицы символа.

 

 

 

#G0

 

 

 

 

 

 

 

 

 

 

СТАРТ

 

СТОП

 

 

 

 

 

 

 

 

    

Обозначения:  - дескриптор длины символа;

 

- - закодированное представление данных;

 

 - кодовое слово-заполнитель.

 

Рисунок 2 - Пример схемы размещения символа PDF417

 

Примечание - Значения , ,  и  определены в 3.2.

 

 

Правила и рекомендации по определению структуры матрицы приведены в 4.9.

 

 

 

4.3 Основное кодирование

 

4.3.1 Структура знака символа

 

Каждый знак символа PDF417 должен состоять из следующих элементов: четырех штрихов и четырех пробелов, ширина каждого из которых может быть от 1 до 6 модулей. Совокупная ширина 4 штрихов и 4 пробелов должна составлять 17 модулей. Знаки символа PDF417 могут быть декодированы путем измерения расстояний "" внутри знака.

 

Каждый знак символа задается последовательностью штрихов и пробелов из восьми цифр, которые представляют ширину в модулях каждого из восьми элементов этого знака символа. На рисунке 3 представлен знак символа с последовательностью штрихов и пробелов 51111125.

 

 

 

    

Рисунок 3 - Знак символа PDF417.

 

 

В PDF417 имеется 929 установленных значений знаков символа (кодовых слов), пронумерованных от 0 до 928.

 

Кодовые слова представлены в виде трех взаимно исключающих наборов знаков символа или кластеров. Каждый кластер кодирует 929 допустимых кодовых слов PDF417 в виде различных комбинаций штрихов и пробелов так, что один кластер отличается от другого. Кластеры обозначают номерами 0, 3, 6. Задание кластера распространяется на все знаки символа PDF417, за исключением знаков СТАРТ и СТОП.

 

Номер кластера  определяют по следующей формуле

 

,

 

где и  - ширина в модулях соответственно четырех штрихов.

 

Номер кластера  для знака символа, представленного на рисунке 3, составляет

 

.

 

Значения кодовых слов и последовательности штрихов и пробелов для каждого кластера знаков символа приведены в приложении А.

 

4.3.2 Знаки СТАРТ и СТОП

 

Знаки СТАРТ и СТОП должны быть представлены в соответствии с таблицей 1 и рисунком 4.

 

 

Таблица 1 - Последовательность штрихов и пробелов для знаков СТАРТ и СТОП

 

#G0Знак

 

Последовательность штрихов и пробелов

 

 

В

 

S

 

В

 

S

 

В

 

S

 

В

 

S

 

В

 

СТАРТ

 

8

 

1

 

1

 

1

 

1

 

1

 

1

 

3

 

 

 

СТОП

 

7

 

1

 

1

 

3

 

1

 

1

 

1

 

2

 

1

 

 

 

 

    

Рисунок 4 - Знаки PDF417 СТАРТ и СТОП.

 

 

Примечания:

 

1 Знаки PDF417 СТАРТ и СТОП уникальны тем, что в них присутствуют элементы шириной более 6 модулей.

 

2 Знак СТОП имеет один дополнительный элемент - штрих шириной 1 модуль.

 

Последовательность штрихов и пробелов в знаках СТАРТ и СТОП должна быть одинаковой для всех строк.

 

 

 

4.4 Высокоуровневое кодирование данных

 

Высокоуровневое кодирование преобразовывает знаки данных в соответствующие им значения кодовых слов.

 

При высокоуровневом кодировании используют схемы уплотнения данных. Соответствие заданных пользователем данных и последовательностей кодовых слов в PDF417 устанавливают три режима уплотнения данных:

 

текстовое (4.4.2),

 

байтовое (4.4.3),

 

цифровое (4.4.4).

 

Данная цепочка байтов данных может быть представлена различными последовательностями кодовых слов, в зависимости от кодирования переходов между режимами и подрежимами уплотнения. В символе PDF417 нет специального способа кодирования данных.

 

В каждом режиме предусмотрены 900 кодовых слов для кодирования данных и иных функций в рамках этого режима. Оставшиеся 29 кодовых слов предназначены для специальных функций (4.4.1), независимых от текущего режима уплотнения.

 

PDF417 также поддерживает систему интерпретации расширенного канала, позволяющую точно кодировать разные интерпретации данных в символе (4.5).

 

4.4.1 Функциональные кодовые слова

 

Кодовые слова со значениями от 900 до 928 (далее - кодовые слова от 900 до 928) назначены в качестве функциональных кодовых слов:

 

- для переключения между режимами (4.4.1.1),

 

- для усовершенствованных применений, использующих интерпретации расширенного канала,

 

- для других усовершенствованных применений (4.4.1.3 и 4.4.1.4).

 

В настоящее время кодовые слова от 903 до 912 и от 914 до 920 зарезервированы. В таблице 2 приведен полный список назначенных и зарезервированных функциональных кодовых слов, функции которых установлены в 4.4.1.1-4.4.1.4. Зарезервированные кодовые слова представлены в 4.4.6.

 

 

Таблица 2 - Назначение функциональных кодовых слов PDF417

 

#G0Значение кодового слова

Функция

 

 

Наименование кодового слова

 

Пункт настоящего стандарта

 

 

русское

 

международное

 

 

900

 

Фиксация режима в режиме текстового уплотнения

 

Фиксация в режиме текстового уплотнения

 

Text Compaction mode latch

 

4.4.1.1

 

 

901

 

Фиксация режима в режиме байтового уплотнения

 

Фиксация в режиме байтового уплотнения

 

Byte Compaction mode latch

 

4.4.1.1

 

902

 

Фиксация режима в режиме цифрового уплотнения

 

Фиксация в режиме цифрового уплотнения

 

Numeric Compaction mode latch

 

4.4.1.1

 

903-912

 

Зарезервированы

 

-

 

-

 

-

 

913

 

Переключение регистра в режим байтового уплотнения

 

Регистр в режиме байтового уплотнения

 

mode shift to Byte Compaction mode

 

4.4.1.1

 

914-920

 

Зарезервированы

 

-

 

-

 

-

 

921

 

Инициализация считывающего устройства

 

Инициализация считывающего устройства

 

reader initialisation

 

4.4.1.4

 

922

 

Конечное кодовое слово для управляющего блока Макро PDF417

 

Ограничитель Макро PDF417

 

Macro PDF417 Terminator

 

4.13

 

923

 

Метка последовательности для идентификации необязательных полей в управляющем блоке Макро PDF417

 

Начало необязательного поля Макро PDF417

 

Beginning of Macro PDF417 Optional Field

 

4.13

 

924

 

Фиксация режима в режиме байтового уплотнения (используется отлично от 901)

 

Фиксация в режиме байтового уплотнения

 

Byte Compaction mode latch

 

4.4.1.1

 

925

 

Идентификатор для задаваемой пользователем интерпретации расширенного канала

 

Идентификатор ECI пользователя

 

identifier for a user defined ECI

 

4.5

 

926

 

Идентификатор общего назначения формата ECI

 

Идентификатор общего назначения формата ECI

 

identifier for a general purpose ECI format

 

4.5

 

927

 

Идентификатор ECI для набора знаков или кодовой страницы

 

Идентификатор ECI для набора знаков или кодовой страницы

 

identifier for an ECI of a character set or code page

 

4.5

 

928

 

Кодовое слово - Макро-метка для указания начала управляющего блока Макро PDF

 

Начало управляющего блока Макро PDF417 или Макро-маркер

 

Beginning of Macro PDF417 Control Block or Macro marker

 

4.13

 

 

 

4.4.1.1 Функциональные коды для перехода режима

 

В одном символе PDF417 предусмотрена возможность двухстороннего переключения режимов с требуемой частотой. Рекомендации по выбору режимов приведены в 4.4.5.

 

Для перехода из текущего режима в требуемый режим (который будет оставаться в действии до тех пop, пока он не будет изменен на другой) должно использоваться кодовое слово фиксации в режиме. Для этой функции предназначены кодовые слова 900-902 и 924 (таблица 3).

 

 

Таблица 3 - Кодовые слова установления режима и перехода между режимами

 

#G0Требуемый режим

 

Фиксация в режиме

 

Регистр в режиме

 

Текстовое уплотнение

 

900

 

913

 

Байтовое уплотнение

 

901/924

 

 

Цифровое уплотнение

 

902

 

 

 

Примечание - В таблице указаны кодовые слова, используемые для перехода в требуемый режим

 

 

 

Кодовое слово регистра в режиме 913 вызывает временный переход из режима текстового уплотнения в режим байтового уплотнения. Этот переход действует только для следующего кодового слова, после чего должен вернуться прежний подрежим режима текстового уплотнения. Кодовое слово 913 может применяться только в режиме текстового уплотнения; его использование установлено в 4.4.2.4.

 

Порядок перехода между тремя режимами установлен в таблице 4 и на рисунке 5.

 

 

Таблица 4 - Таблица перехода между режимами, представляющая кодовые слова и их функции

 

#G0Исходный режим

Кодовое слово, используемое для перехода в требуемый режим

 

 

текстового уплотнения

 

байтового уплотнения

 

цифрового уплотнения

 

Текстовое уплотнение

 

900 (фиксация в режиме текстового уплотнения)

 

913 (регистр в режиме байтового уплотнения)

 

901 (фиксация в режиме байтового уплотнения)

 

924 (фиксация в режиме байтового уплотнения)

 

902 (фиксация в режиме цифрового уплотнения)

 

Байтовое уплотнение

 

900 (фиксация в режиме текстового уплотнения)

 

901 (фиксация в режиме байтового уплотнения)

 

924 (фиксация в режиме байтового уплотнения)

 

902 (фиксация в режиме цифрового уплотнения)

 

Цифровое уплотнение

 

900 (фиксация в режиме текстового уплотнения)

 

901 (фиксация в режиме байтового уплотнения)

 

924 (фиксация в режиме байтового уплотнения)

 

902 (фиксация в режиме цифрового уплотнения)

 

 

    

    

 

 Регистрация в режиме (Mode Shift)

 

 Фиксация в режиме (Mode Latch)

 

Рисунок 5 - Возможные переходы между режимами.

 

 

Правила перехода в режим байтового уплотнения приведены в 4.4.3.1.

 

4.4.1.2 Функциональные кодовые слова для перехода к интерпретациям расширенного канала

 

Кодовое слово интерпретации расширенного канала (кодовое слово ECI) может быть использовано для перехода к особой интерпретации, которая будет действовать до другого кодового слова ECI или до окончания данных. Для этой функции назначены кодовые слова от 925 до 927 (4.5).

 

4.4.1.3 Функциональные кодовые слова для Макро PDF417

 

Символы Макро PDF417 (в соответствии с 4.13) должны использовать кодовое слово 928 в начале управляющего блока Макро PDF417. Кодовые слова 922 и 923 используют для особых функций в Макро PDF417.

 

4.4.1.4 Функциональное кодовое слово для инициализации считывающего устройства

 

Кодовое слово используют для указания считывающему устройству, что данные, заключенные внутри символа, являются программным кодом для инициализации считывающего устройства. Кодовое слово 921 должно быть первым кодовым словом после дескриптора длины символа. В случае применения последовательности инициализации Макро PDF417 в каждом символе должно появляться кодовое слово 921.

 

Данные, содержащиеся в инициализации символа или в последовательности символов, не должны передаваться считывающим устройством.

 

4.4.2 Режим текстового уплотнения

 

Режим текстового уплотнения включает все графические знаки версии КОИ-7 (т.е. знаки с десятичными значениями от 32 до 126) и три управляющих знака версии КОИ-7: ГТ (НТ) или ГОРИЗОНТАЛЬНОЕ ТАБУЛИРОВАНИЕ (десятичное значение знака 9), ПС (LF) или ПЕРЕВОД СТРОКИ (десятичное значение знака 10), и ВК (CR) или ВОЗВРАТ КАРЕТКИ (десятичное значение знака 13).

 

Примечание - В скобках приведены международные обозначения управляющих знаков (приложение V).

 

 

Режим текстового уплотнения предусматривает также различные знаки с функциями фиксации и переключения регистра, которые используют исключительно в рамках режима текстового уплотнения.

 

В режиме текстового уплотнения осуществляется кодирование до двух знаков в кодовом слове. Правила уплотнения для преобразования данных в кодовые слова PDF417 приведены в 4.4.2.2. Переключения подрежимов приведены в 4.4.2.3.

 

4.4.2.1 Подрежимы режима текстового уплотнения

 

Режим текстового уплотнения предусматривает четыре подрежима:

 

- прописных букв (Alpha) (прописные буквы латинского алфавита),

 

- строчных букв (Lower) (строчные буквы латинского алфавита),

 

- смешанных знаков (Mixed) (числа и некоторые знаки пунктуации),

 

- знаков пунктуации (Punctuation).

 

В каждом подрежиме содержится 30 знаков, в том числе знаки фиксации в подрежиме (sub-mode latch) и регистра в подрежиме (sub-mode shift).

 

Режимом уплотнения по умолчанию для PDF417 должен быть режим текстового уплотнения в подрежиме прописных букв. При переходе из другого режима кодовое слово фиксации в режиме текстового уплотнения должно всегда переключать в подрежим прописных букв режима текстового уплотнения.

 

Все знаки и их значения приведены в таблице 5.

 

 

Таблица 5 - Определение подрежимов режима текстового уплотнения

 

#G030 базовых значений

Подрежимы режима текстового уплотнения

 

 

прописных букв (Alpha)

 

строчных букв (Lower)

 

смешанных знаков (Mixed)

 

знаков пунктуации (Punctuation)

 

 

Знак

 

КОИ-7

 

Знак

 

КОИ-7

 

Знак

 

КОИ-7

 

Знак

 

КОИ-7

 

0

 

А

 

65

 

а

 

97

 

0

 

48

 

;

 

59

 

1

 

В

 

66

 

b

 

98

 

1

 

49

 

 

60

 

2

 

С

 

67

 

с

 

99

 

2

 

50

 

 

62

 

3

 

D

 

68

 

d

 

100

 

3

 

51

 

@

 

64

 

4

 

Е

 

69

 

е

 

101

 

4

 

52

 

[

 

91

 

5

 

F

 

70

 

f

 

102

 

5

 

53

 

\

 

92

 

6

 

G

 

71

 

g

 

103

 

6

 

54

 

]

 

93

 

7

 

Н

 

72

 

h

 

104

 

7

 

55

 

95

 

8

 

I

 

73

 

i

 

105

 

8

 

56

 

 

96

9

 

J

 

74

 

j

 

106

 

9

 

57

 

~

 

126

 

10

 

К

 

75

 

k

 

107

 

&

 

38

 

!

 

33

 

11

 

L

 

76

 

l

 

108

 

BK (CR)

 

13

 

BK (CR)

 

13

 

12

 

М

 

77

 

m

 

109

 

ГТ (НТ)

 

9

 

ГТ (НТ)

 

9

 

13

 

N

 

78

 

n

 

110

 

44

 

44

 

14

 

O

 

79

 

o

 

111

 

:

 

58

 

:

 

58

 

15

 

Р

 

80

 

p

 

112

 

#

 

35

 

ПС (LF)

 

10

 

16

 

Q

 

81

 

q

 

113

 

-

 

45

 

-

 

45

 

17

 

R

 

82

 

г

 

114

 

.

46

 

.

46

 

18

 

S

 

83

 

s

 

115

 

$

 

36

 

$

 

36

 

19

 

Т

 

84

 

t

 

116

 

/

 

47

 

/

 

47

 

20

 

U

 

85

 

u

 

117

 

+

 

43

 

 

34

 

21

 

V

 

86

 

v

 

118

 

%

 

37

 

I

124

 

22

 

W

 

87

 

w

 

119

 

*

 

42

 

*

 

42

 

23

 

Х

 

88

 

x

 

120

 

=

 

61

 

(

 

40

 

24

 

Y

 

89

 

y

 

121

 

 

94

 

)

 

41

 

25

 

Z

 

90

 

z

 

122

 

pl

 

?

 

63

 

26

 

Пробел (space)

 

32

 

Пробел (space)

 

32

 

Пробел (space)

 

32

 

{

 

123

 

27

 

}

 

125

 

28

 

 

39

29

 

 

Примечания

 

1 Обозначения:

 

 - знак фиксации в подрежиме прописных букв (latch to Alpha)

 

 - знак регистра в подрежиме прописных букв (shift to Alpha)

 

 - знак фиксации в подрежиме смешанных знаков (latch to Mixed)

 

 - знак фиксации в подрежиме знаков пунктуации (latch to Punctuation).

 

2 В графах "Знак" представлена интерпретация по умолчанию идентификатора глобальной метки GLI 0 и интерпретация расширенного канала ECI 000002 для значений байтов, представленных в соседних графах "КОИ-7". Каждая величина, указанная в таблице, представляет собой половину кодового слова, т.е. значения от 0 до 29 (4.4.2.2).

 

3 В графах "Знак" в скобках указаны международные обозначения знаков.

 

 

 

4.4.2.2 Правила уплотнения для кодирования в режиме текстового уплотнения

 

В режиме текстового уплотнения пары знаков данных должны быть представлены одним кодовым словом. Значения знаков данных находятся в диапазоне от 0 до 29 (т.е. 30 базовых значений) и указаны в таблице 5. В каждой паре из 30 базовых значений первое или находящееся слева значение пары должно обозначать значение  более высокого порядка, следующее значение пары - значение более низкого порядка .

 

Закодированное кодовое слово в PDF417 определяется по формуле

 

,

 

где  установлено в 3.2.

 

Эта формула также распространяется на 30 базовых значений для функций фиксации в подрежиме (sub-mode latch) и регистра в подрежиме (sub-mode shift) в рамках режима текстового уплотнения. Для переключения между подрежимами следует использовать соответствующие значения знаков фиксации в подрежиме (sub-mode latch) и регистра в подрежиме (sub-mode shift). Если в результате кодирования последовательности знаков не получено четное число 30 базовых значений, следует использовать специальную методику, приведенную в 4.4.2.4.

 

Приведенный пример кодирования (таблица 6) представляет, каким образом достигается уплотнение в режиме текстового уплотнения.

 

Подлежащие кодированию данные: PDF417.

 

 

Таблица 6 - Пример кодирования в режиме текстового уплотнения

 

#G0Пары знаков

 

 

 

 

Значение кодового слова

 

 

15

 

3

 

15х30+3

 

453

 

 

5

 

28

 

5x30+28

 

178

 

 

4

 

1

 

4x30+1

 

121

 

7 сзп ()

 

7

 

29

 

7x30+29

 

239

 

 

Примечания

 

1  - знак фиксации в подрежиме смешанных знаков используется для переключения с целью кодирования цифровых знаков.

 

2 Знак  используется в этом примере как значение-заполнитель, могут использоваться и другие значения знаков регистра в подрежиме и фиксации в подрежиме (4.4.2.4).

 

 

 

Данные PDF417 представлены кодовыми словами 453, 178, 121, 239.

 

4.4.2.3 Переключение подрежимов режима текстового уплотнения (функции фиксации в подрежиме и регистра в подрежим)

 

Переключение из одного подрежима в другой в пределах режима текстового уплотнения должно выполняться с помощью значений знаков фиксации в подрежиме и регистра в подрежиме, заданных для подрежима и действовавших до переключения.

 

Знак регистра в подрежиме должен использоваться для переключения из одного подрежима режима текстового уплотнения в другой только для одного знака данных. Последующие кодовые слова возвращаются в подрежим, который использовался непосредственно до знака регистра в подрежиме (кроме случая, когда знак  используется в качестве знака-заполнителя, в соответствии с 4.4.2.4). Функции знака регистра в подрежиме:

 

 - переключение регистра в подрежим знаков пунктуации (shift to punctuation sub-mode),

 

 - переключение регистра в подрежим прописных букв (shift to uppercase alphabetic sub-mode).

 

Знак фиксации в подрежиме должен использоваться для переключения из одного подрежима режима текстового уплотнения в другой, который будет действовать до тех пор, пока не будет явно задействован другой знак регистра в подрежиме или знак фиксации в подрежиме. Функции знака фиксации в подрежиме:

 

 - фиксация в подрежиме прописных букв (latch to uppercase alphabetic sub-mode),

 

 - фиксация в подрежиме строчных букв (latch to lowercase alphabetic sub-mode),

 

 - фиксация в подрежиме смешанных знаков (цифровые или другие знаки пунктуации) (latch to mixed sub-mode),

 

 - фиксация в подрежиме знаков пунктуации (latch to punctuation sub-mode).

 

Внутри каждого подрежима режима текстового уплотнения допускается ограниченный набор функций фиксации в подрежиме и переключения регистра в подрежим (таблица 5). В таблице 7 представлены переключения подрежимов режима текстового уплотнения; на рисунке 6 приведена схема данного процесса.

 

Примечание - После знака фиксации в подрежиме может следовать другой знак фиксации в подрежиме или знак регистра в подрежиме; но после знака регистра в подрежиме не может следовать ни знак фиксации в подрежиме, ни знак регистра в подрежиме.

 

 

Таблица 7 - Переключения подрежимов в режиме текстового уплотнения

 

#G0Исходный подрежим

 

Знаки для переключения в требуемый подрежим

 

 

прописных букв

 

строчных букв

 

смешанных знаков

 

знаков пунктуации

 

Прописные буквы

 

 

 

 

 

Строчные буквы

 

 

 

 

Смешанные знаки

 

 

 

 

 

 

Знаки пунктуации

 

 

 

 

 

 

 

    

 

    

 

Обозначения:

 

 - фиксация в подрежиме;

 

 - переключение регистра в подрежим;

 

 - знак фиксации в подрежиме строчных букв;

 

 - знак регистра в подрежиме знаков пунктуации;

 

 - знак фиксации в подрежиме смешанных знаков;

 

 - знак регистра в подрежиме прописных букв;

 

 - знак фиксации в подрежиме прописных букв;

 

- знак фиксации в подрежиме знаков пунктуации

 

Рисунок 6 - Переключения подрежимов в режиме текстового уплотнения

 

 

4.4.2.4 Методика применения знака-заполнителя в режиме текстового уплотнения

 

Если последовательность знаков из 30 базовых значений в режиме текстового уплотнения не является четным числом, то к окончанию последовательности знаков добавляют знак-заполнитель (пример в таблице 6). Поскольку в режиме текстового уплотнения нет специальных нулевых функций, знаки фиксации в подрежиме и регистра в подрежиме должны использоваться в соответствии с приведенной ниже методикой:

 

a) если последовательность знаков представляет собой окончание данных или за последовательностью знаков в режиме текстового уплотнения следует фиксация в другом режиме уплотнения, знаком-заполнителем может быть любой знак регистра в подрежиме или фиксации в подрежиме;

 

b) если за последовательностью знаков в режиме текстового уплотнения следует функция переключения регистра в режим байтового уплотнения (кодовое слово 913) для кодирования знака в режиме байтового уплотнения, можно применять два способа в зависимости от подрежима режима текстового уплотнения, использованного до переключения регистра в режим байтового уплотнения;

 

1) если подрежим режима текстового уплотнения не является подрежимом знаков пунктуации, то должен использоваться знак со значением 29 () из 30 базовых значений при условии, что кодирование вернется к тому же подрежиму режима текстового уплотнения. Декодер должен игнорировать знак , который непосредственно предшествует кодовому слову 913,

 

2) если подрежимом режима текстового уплотнения является подрежим знаков пунктуации, используют знак со значением 29 () из 30 базовых значений. Декодер не должен игнорировать знак (), и таким образом осуществится возврат в подрежим прописных букв.

 

4.4.2.5 Переключение из режима текстового уплотнения

 

Режим текстового уплотнения может завершиться с окончанием символа или любым из нижеперечисленных кодовых слов:

 

900 (фиксация в режиме текстового уплотнения);

 

901 (фиксация в режиме байтового уплотнения);

 

902 (фиксация в режиме цифрового уплотнения);

 

924 (фиксация в режиме байтового уплотнения);

 

928 (начало управляющего блока Макро);

 

923 (начало необязательного поля Макро PDF417);

 

922 (ограничитель Макро PDF417).

 

Последние три кодовых слова могут встречаться только внутри управляющего блока Макро PDF417 символа Макро PDF417 (4.13.1). На режим текстового уплотнения также влияет присутствие зарезервированного кодового слова (4.4.6).

 

Если декодер находится в режиме текстового уплотнения и встречается кодовое слово 913 (регистр в режиме байтового уплотнения), он декодирует кодовое слово, которое следует за кодовым словом 913, как отдельный двоичный байт, и затем возвращается к режиму текстового уплотнения. Подрежим, в который возвращается декодер, является самым последним фиксированным подрежимом, который действовал до кодового слова 913; знак регистра в подрежиме , непосредственно предшествующий кодовому слову 913, игнорируют.

 

Если декодер находится в режиме текстового уплотнения и встречает кодовое слово 900 (фиксация в режиме текстового уплотнения), декодер вернется в подрежим прописных букв.

 

4.4.3 Режим байтового уплотнения

 

Режим байтового уплотнения позволяет кодировать последовательность 8-битного набора байтов в последовательность кодовых слов преобразованием базы 256 в базу 900, при этом достигается коэффициент уплотнения, равный шести байтам на пять кодовых слов (1,2:1).

 

Набор знаков и их значения (от 0 до 255) приведены в приложении В. Они должны рассматриваться как заданная по умолчанию интерпретация графических и управляющих знаков. При вызове интерпретаций расширенного канала (ECI) (4.5) эта интерпретация может быть задана как ECI 000000 или ECI 000002 (4.5.2).

 

4.4.3.1 Переход в режим байтового уплотнения

 

Для режимов текстового или цифрового уплотнения при переходе в режим байтового уплотнения необходимо использовать одно из следующих кодовых слов:

 

- 924 (фиксация в режиме байтового уплотнения) - при общем числе знаков в режиме байтового уплотнения, подлежащих кодированию, кратном 6;

 

- 901 (фиксация в режиме байтового уплотнения) - при общем числе знаков в режиме байтового уплотнения, подлежащих кодированию, не кратном 6;

 

- 913 (регистр в режиме байтового уплотнения), которое может использоваться вместо кодового слова 901, когда в режиме байтового уплотнения подлежит кодированию одиночный знак.

 

4.4.3.2 Правила уплотнения для кодирования одиночного знака в режиме байтового уплотнения (с использованием кодового слова регистра в режиме байтового уплотнения 913)

 

Для кодирования одиночного знака в режиме байтового уплотнения значение кодового слова должно соответствовать десятичному значению (от 0 до 255) знака версии КОИ-8 (в соответствии с приложением В).

 

4.4.3.3 Правила уплотнения для кодирования протяженных цепочек знаков в режиме байтового уплотнения (с использованием кодовых слов фиксации в режиме байтового уплотнения 924 или 901)

 

Для кодирования знака данных режима байтового уплотнения используют следующую процедуру:

 

устанавливают общее число знаков режима байтового уплотнения;

 

при наличии числа, кратного 6, используют кодовое слово 924 (фиксация в режиме байтового уплотнения), в противном случае используют кодовое слово 901 (фиксация в режиме байтового уплотнения);

 

количество знаков в режиме байтового уплотнения разбивают на последовательности из 6 знаков слева направо (от позиций старших разрядов к младшим). Если количество знаков менее 6, следует перейти к шагу 7;

 

десятичные значения шести байтов данных, подлежащих кодированию в режиме байтового уплотнения, обозначают как ряд от b до b (где b является первым байтом данных);

 

преобразуют базу 256 в базу 900 для получения последовательности из 5 кодовых слов (в приложении С определен алгоритм и приведен пример);

 

при необходимости повторяют операцию на этапе 3;

 

для оставшихся знаков режима байтового уплотнения при использовании кодового слова фиксации в режиме байтового уплотнения 901 (т.е. когда количество знаков режима байтового уплотнения в последней группе менее 6) значением (значениями) кодового слова (слов) должно быть десятичное значение (десятичные значения) (от 0 до 255) знака (знаков) (в соответствии с примером кодирования, приведенным в приложении В) от позиций старших разрядов к младшим.

 

Примечание - Режим байтового уплотнения, следующий за кодовым словом 901 (фиксация в режиме байтового уплотнения), предполагает, что общее число байтов, подлежащих кодированию, не является кратным 6. Если число байтов, подлежащих кодированию в режиме байтового уплотнения, кратно 6, для соответствия настоящим правилам кодирования следует закодировать, разместить в любой точке символа кодовое слово фиксации в режиме байтового уплотнения 901 или 924. Например, кодовое слово 924, представленное в качестве первого или второго кодового слова, будет идентифицировать следующую за ним последовательность кодовых слов режима байтового уплотнения как кодируемое число байтов, кратное 6. В качестве альтернативы кодовое слово 901 может быть вставлено в любую позицию в пределах последовательности кодовых слов режима байтового уплотнения, что разделит эту последовательность на две части, из которых ни одна не кодирует число байтов, кратное 6.

 

 

Если в режимах текстового или цифрового уплотнения требуется дополнительное кодирование, следует использовать соответствующие знаки фиксации в режиме (4.4.1.1).

 

4.4.3.4 Переход из режима байтового уплотнения

 

Режим байтового уплотнения может быть завершен с окончанием символа или любым из указанных кодовых слов:

 

900 (фиксация в режиме текстового уплотнения);

 

901 (фиксация в режиме байтового уплотнения);

 

902 (фиксация в режиме цифрового уплотнения);

 

924 (фиксация в режиме байтового уплотнения);

 

928 (начало управляющего блока Макро PDF417);

 

923 (начало необязательного поля Макро PDF417);

 

922 (ограничитель Макро PDF417).

 

Три последних кодовых слова могут встречаться только внутри управляющего блока Макро PDF417 символа Макро PDF417 (в соответствии с 4.13.1). На режим байтового уплотнения также влияет присутствие зарезервированного кодового слова (в соответствии с 4.4.6).

 

Повторный вызов режима байтового уплотнения (посредством использования кодового слова 901 или 924 во время действия режима байтового уплотнения) служит для завершения предыдущего режима байтового уплотнения группирования в 6 знаках режима байтового уплотнения, как указано в 4.4.3.3, и затем для начала нового группирования. Эта процедура может быть необходима при кодировании номера назначения интерпретации расширенного канала (ECI assignment number) (в соответствии с 4.5.3.2).

 

В ходе процесса декодирования в режиме байтового уплотнения обработка последней группы кодовых слов различна в зависимости от того, каким кодовым словом (901 или 924) был вызван режим байтового уплотнения.

 

Если режим байтового уплотнения вызван кодовым словом 924, то общее число кодовых слов в пределах режима уплотнения должно быть кратным 5. В противном случае символ является дефектным. Все группы из 5 кодовых слов декодируют в виде групп из 6 байтов.

 

Если режим байтового уплотнения вызван кодовым словом 901, то последнюю группу кодовых слов четко интерпретируют как один байт на кодовое слово, без уплотнения. Следовательно, если последняя группа состоит из пяти кодовых слов, группу интерпретируют как 5 байтов, а не 6.

 

4.4.4 Режим цифрового уплотнения

 

Режим цифрового уплотнения является методом уплотнения данных с базы 10 в базу 900 и должен использоваться для кодирования протяженных цепочек последовательных цифровых разрядов. Режим цифрового уплотнения позволяет кодировать до 2,93 цифровых разрядов на кодовое слово.

 

4.4.4.1 Переключение в режим цифрового уплотнения

 

Вызов режима цифрового уплотнения может быть осуществлен из режимов байтового или текстового уплотнения с использованием кодового слова фиксации в режиме цифрового уплотнения 902.

 

4.4.4.2 Правила уплотнения для кодирования протяженных цепочек последовательных цифровых разрядов

 

Для уплотнения цифровых данных используют следующую процедуру.

 

Следует разделить цепочку цифр на группы из 44 цифр, за исключением последней группы, которая может содержать меньшее количество цифр.

 

В каждой группе к позиции старшего разряда должна быть добавлена цифра 1 для исключения потери начальных нулей.

 

ПРИМЕР: Исходные данные: 00246812345678

 

После выполнения этапа 2: 1 00246812345678

 

Примечание - Начальная цифра 1 исключается в алгоритме декодирования.

 

 

Следует провести преобразование базы 10 в базу 900. В приложении D установлен алгоритм преобразования и приведен пояснительный пример.

 

При необходимости повторяют операцию на этапе 2.

 

Для определения точного числа кодовых слов в режиме цифрового уплотнения могут использоваться следующие правила:

 

группы из 44 цифровых разрядов уплотнены в 15 кодовых словах;

 

для групп более коротких цифровых последовательностей число кодовых слов можно вычислить следующим образом:

 

кодовые слова = INT (количество цифровых разрядов/3)+1

 

ПРИМЕР:

 

Для последовательности из 28 разрядов

 

INT (28/3)+1

 

=9+1

 

=10 кодовых слов

 

4.4.4.3 Переход из режима цифрового уплотнения

 

Режим цифрового уплотнения может быть завершен с окончанием символа или с помощью любого из указанных кодовых слов:

 

900 (фиксация в режиме текстового уплотнения);

 

901 (фиксация в режиме байтового уплотнения);

 

902 (фиксация в режиме цифрового уплотнения);

 

924 (фиксация в режиме байтового уплотнения);

 

928 (начало управляющего блока Макро PDF417);

 

923 (начало необязательного поля Макро PDF417);

 

922 (ограничитель Макро PDF417).

 

Последние три кодовых слова могут встречаться только внутри управляющего блока Макро PDF417 символа Макро PDF417 (4.13.1). На режим цифрового уплотнения также влияет присутствие зарезервированного кодового слова (4.4.6).

 

Повторный вызов режима цифрового уплотнения (путем использования кодового слова 902 не выходя из режима цифрового уплотнения) служит для завершения группирования текущего режима цифрового уплотнения, как указано в 4.4.4.2, и для начала нового группирования. Эта процедура может быть необходима при кодировании номера назначения интерпретации расширенного канала (в соответствии с 4.5.3.4).

 

В ходе процесса декодирования для режима цифрового уплотнения результат преобразования базы 900 в базу 10 должен привести к числу, в котором разрядом старшего порядка является 1. Если преобразование базы 900 в базу 10 не имеет результатом число, начинающееся с 1, символ должен рассматриваться как дефектный. Начальная 1 исключается при получении исходного числа.

 

4.4.5 Рекомендации по выбору подходящего режима уплотнения

 

Все базовые разработки при печати и сканировании символов PDF417 должны предусматривать три режима: текстовое уплотнение, байтовое уплотнение, цифровое уплотнение. Набор знаков по умолчанию для режима текстового уплотнения должен соответствовать установленному в приложении В. Режим текстового уплотнения обычно эффективнее режима байтового уплотнения для кодирования текстовых файлов стандартной версии КОИ-7 в связи с большим уплотнением знаков КОИ-7 с десятичными значениями 9, 10, 13 и от 32 до 126.

 

Режим цифрового уплотнения должен использоваться для протяженных цепочек цифр.

 

Рекомендации по переключению между режимами для получения наименьшего числа кодовых слов приведены в виде алгоритма в приложении Р.

 

4.4.6 Обработка зарезервированных кодовых слов PDF417

 

4.4.6.1 Краткий обзор

 

Символы PDF417, предназначенные для использования в открытых системах, не должны использовать кодовые слова, которые обозначены как зарезервированные (4.4.1) в настоящем стандарте. Однако декодирующее оборудование должно поддерживать передачу зарезервированных кодовых слов, используя управляющие последовательности в соответствии с 4.17.4. Декодирующее оборудование также может поддерживать опцию обработки таких символов как дефектных, что может произойти при работе в режиме базового канала.

 

Системы приема должны отбрасывать данные, содержащие любые управляющие последовательности, использующие зарезервированные кодовые слова до тех пор, пока в систему не внесут новое определение для ранее зарезервированного кодового слова.

 

4.4.6.2 Создание будущего использования зарезервированных кодовых слов

 

Любые новые кодовые слова, подлежащие определению в будущих редакциях настоящего стандарта, должны иметь свои правила кодирования, направленные на обеспечение обратной совместимости с ранее установленным оборудованием. В частности:

 

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

 

- в системе приема декодер интерпретаций расширенного канала будет обрабатывать управляющие интерпретации расширенного канала (т.е. управляющие блоки Макро PDF417) и управляющие неинтерпретируемые кодовые слова) до интерпретируемых интерпретаций расширенного канала (таких, как схемы шифрования и наборы знаков). Поэтому схема декодирования должна учесть следующий порядок операций:

 

1) если присутствуют интерпретации расширенного канала - ECI управляющего блока Макро PDF417 (Macro PDF417 Control Block), то они будут использоваться для компоновки полного набора байтов в соответствующем порядке;

 

2) кодовые слова управления данными будут преобразованы декодером ECI в соответствии с правилами нового режима уплотнения или сигнальной ECI. Полученные в результате байты данных будут вставлены в соответствующие места внутри потока байтов;

 

3) к полученному в результате потоку байтов будет применяться набор знаков или другие интерпретируемые ECI.

 

 

 

4.5 Интерпретация расширенного канала

 

Протокол интерпретации расширенного канала (далее - протокол ECI) позволяет выходному потоку данных иметь интерпретации, отличные от интерпретаций набора знаков по умолчанию. Протокол ECI полностью определяется в ряде символик, включая PDF417.

 

Примечание - Первоначально для PDF417 была установлена особая схема символики, именуемая идентификаторами глобальной метки (Global Label Identifiers) (далее GLI). Процессы кодирования и декодирования интерпретации расширенного канала (далее ECI) идентичны ранее опубликованным спецификациям к GLI PDF417 ([2] и [3]). Однако протокол передачи для декодированных сообщений в соответствии с ранее опубликованными спецификациями PDF417 ([2] и [3]) в части GLI отличается от протокола передачи для ECI. Также имеются отличия по отношению к использованию ECI с Макро PDF417. Настоящий стандарт позволяет использовать ранние и современные протоколы таким образом, чтобы устаревшее и новое оборудование были совместимы.

 

 

В PDF417 поддерживаются пять основных типов интерпретаций:

 

a) наборы знаков (или кодовые страницы);

 

b) интерпретации общего назначения, например шифрование данных и уплотнение данных (в отличие от режимов уплотнения символики);

 

c) задаваемые пользователем интерпретации для замкнутых систем;

 

d) передача управляющей информации для Макро PDF417 (Macro PDF417);

 

e) передача неинтерпретируемых кодовых слов PDF417.

 

Передача протокола ECI представлена в полном объеме в [1]. Протокол обеспечивает согласованный метод точного определения отдельных интерпретаций или значений байтов перед печатью и после декодирования.

 

ECI идентифицируется 6-разрядным номером, который закодирован в символе PDF417 с помощью одного из трех специальных кодовых слов, за которым следует одно или два кодовых слова (4.5.1). Особая ECI может быть вызвана в любой точке закодированного сообщения в соответствии с правилами режимов уплотнения (в соответствии с 4.5.3).

 

Использование протокола ECI возможно только с декодерами, имеющими возможность передачи идентификатора символики (4.17.5). Декодеры, которые не имеют возможности передачи идентификатора символики, не могут точно передать управляющие последовательности из любого символа, в котором содержится интерпретация расширенного канала.

 

4.5.1 Кодирование номера назначения интерпретации расширенного канала

 

ECI можно вызвать в любом месте потока данных при соблюдении условий, установленных в 4.5.3. После совершения вызова ECI возможно переключение между любыми режимами уплотнения. Используемый режим уплотнения строго определяют закодированные 8-битные значения данных, не зависящие от действующей ECI. Например, кодирование последовательности со значениями от 48 до 57 (десятичные значения) будет иметь наибольшую эффективность в режиме цифрового уплотнения, даже если последовательность не будет интерпретироваться как цифры.

 

Номер назначения интерпретации расширенного канала (далее - номер назначения ECI) закодирован в одной из трех последовательностей кодовых слов ECI, которые начинаются с кодовых слов 927, 926 или 925. Для кодирования номера назначения ECI используется одно или два дополнительных кодовых слова. В таблице 8 представлены правила кодирования.

 

 

Таблица 8 - Кодирование номеров назначения ECI

 

#G0Номер назначения ECI

 

Последовательность кодовых слов

 

Кодовые слова

 

Область значений

 

От 000000 до 000899

 

 

927

 

=(0 to 899)

 

 

 

Номер ECI

 

 

 

От 000900 до 810899

 

926

 

=(0 to 899)

 

 

 

Номер ECI div 900 - 1

 

=(0 to 899)

 

 

 

Номер ECI mod 900

 

 

 

От 810900 до 811799

 

925

 

=(0 to 899)

 

 

 

Номер ECI - 810900

 

 

 

 

 

В PDF417 доступно 811800 возможных номеров назначения ECI.

 

Примечание - Метод кодирования идентичен схеме GLI, поддерживаемой в фирменных исходных спецификациях PDF417 и включенной в [2] и [3].

 

Пример процесса кодирования:

 

ECI =013579

 

Кодовые слова: [926] [(13579 div 900) -1] [13579 mod 900]

= [926] [15-1] [79]

= [926] [14] [79]

 

4.5.2 Заранее назначенные интерпретации расширенного канала

 

Для обеспечения обратной совместимости с действующими спецификациями символик, включая PDF417, заранее назначены следующие интерпретации расширенного канала:

 

- ECI 000000 (приравниваемая к исходному GLI 0) - схема кодирования по умолчанию кодирующего устройства, соответствующая исходным стандартам PDF417. Набор знаков представлен в приложении А;

 

- ECI 000001 (приравниваемая к исходному GLI 1) - схема кодирования GLI ряда символик, где знаки с десятичными значениями от 0 до 127 идентичны знакам ИСО/МЭК 646* (или [4]), и знаки с десятичными значениями от 128 до 255 идентичны знакам ИСО 8859-1.

_______________

* 7-битный кодированный набор знаков по ИСО 646 соответствует набору ссылочной версии КОИ-7НО по #M12291 1200021930ГОСТ 27463#S, за исключением двух знаков: в позиции 02/04 в ИСО 646 используют знак $ (ДЕНЕЖНЫЙ ЗНАК ДОЛЛАРА) (целочисленное значение 37) и в позиции 7/14 знак ~ (ТИЛЬДА) (целочисленное значение 111).

 

Примечание - Для ECI 000000 (эквивалентной GLI 0) и ИРК/ЕСI 000001 (эквивалентной GLI 1) требуется логическая схема с возвратом к GLI 0 в начале каждого закодированного символа комплекта символов Макро PDF417. Этот протокол не принят для других интерпретаций расширенного канала;

 

 

- ECI 000002 соответствует кодовой таблице (приложение В), эквивалентной ECI 000000, без логической схемы с возвратом к GLI 0. Она является схемой кодирования по умолчанию для кодирующих устройств, полностью соответствующей настоящему стандарту;

 

- ECI 000003 соответствует кодовой таблице, эквивалентной ECI 000001, без логической схемы с возвратом к GLI 0.

 

ECI 000000 и ECI 000001 не допускается кодировать в одном и том же символе PDF417 или наборе символов Макро PDF417, за исключением интерпретаций расширенного канала, заданных пользователем. ECI 000002 и ECI 000003 обеспечивают совместимые альтернативы ECI 000000 и ECI 000001 соответственно и являются предпочтительными для использования в новых применениях.

 

Дополнительные интерпретации расширенного канала присваиваются в соответствии с правилами, приведенными в [5].

 

4.5.3 Кодирование последовательностей интерпретаций расширенного канала в рамках режимов уплотнения

 

Основной принцип кодирования заключается в том, что интерпретации расширенного канала используют в исходном потоке байтов данных (для обозначения разных интерпретаций) путем формирования модифицированного потока данных, который кодируется в символах PDF417 с использованием для большей эффективности режимов уплотнения символики. Кодирование ECI и специальное уплотнение символики формируют два независимых логических слоя в этом процессе.

 

Несмотря на то, что назначения ECI и режимы уплотнения, как правило, могут перемежаться, некоторые их комбинации могут формировать нелогическую или неоднозначную ситуацию. В 4.5.3.1-4.5.3.5 определено, каким образом ECI могут быть встроены без появления неоднозначности путем установления надлежащего расположения управляющих последовательностей ECI.

 

4.5.3.1 Интерпретации расширенного канала и режим текстового уплотнения

 

Управляющая последовательность ECI может быть размещена в любом месте в рамках режима текстового уплотнения. Подрежим, вызванный непосредственно перед управляющей последовательностью ECI, сохраняется для кодирования сразу после этой последовательности. Поэтому функции фиксации в подрежиме и регистра в подрежиме сохраняются параллельно управляющей последовательности ECI и функция регистра в подрежиме непосредственно перед управляющей последовательностью кода ECI не игнорируется.

 

4.5.3.2 Интерпретации расширенного канала и режим байтового уплотнения, использующий кодовые слова 924 и 901 (фиксация в режиме байтового уплотнения)

 

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

 

Если декодер находится в версии 924 режима байтового уплотнения и обнаруживает управляющую последовательность ECI, которая следует за группой из пяти кодовых слов, он должен вывести шесть байтов данных, связанных с кодовыми словами перед управляющей последовательностью, вывести управляющую последовательность и затем продолжать сбор кодовых слов для декодирования в режиме байтового уплотнения. Если декодер обнаруживает управляющую последовательность ECI в иных, отличных от данных установленных местоположений, он должен рассматривать символ как дефектный.

 

При кодировании в режиме байтового уплотнения с использованием кодового слова 901 (фиксация в режиме байтового уплотнения) управляющая последовательность ECI может размещаться непосредственно:

 

- после кодового слова 901;

 

- после любого набора из пяти кодовых слов, кодирующих шесть байтов;

 

- после любых замыкающих однобайтовых кодовых слов в конце последовательности.

 

Примечание - Декодер не может допустить, чтобы из-за того, что управляющая последовательность ECI следует за набором из пяти кодовых слов, эти пять кодовых слов кодируют шесть байтов, а затем поток на входе длиной 6+5 (где  - целое число) будет иметь конечный набор из пяти кодовых слов, которые кодируют только пять байтов - один байт на одно кодовое слово. Следовательно, декодер должен в первом сканированном символе, минуя управляющую последовательность ECI, установить, где завершается режим 901 в соответствии с 4.4.3.4. На основе этой информации он может установить, каким образом была закодирована группа из пяти кодовых слов.

 

 

На рисунке 7 представлено допустимое расположение управляющих последовательностей ECI при кодировании в режиме байтового уплотнения. Если декодер встретит управляющую последовательность ECI внутри группы из пяти кодовых слов, он должен рассматривать символ как дефектный.

 

 

 

          

Рисунок 7 - Допустимые расположения управляющих последовательностей ECI при кодировании в режиме байтового уплотнения

 

 

4.5.3.3 Интерпретации расширенного канала и режим байтового уплотнения, использующий кодовое слово 913 (регистр в режиме байтового уплотнения)

 

При кодировании в режиме байтового уплотнения, использующего кодовое слово 913 (регистр в режиме байтового уплотнения), управляющая последовательность ECI может быть размещена непосредственно:

 

- перед кодовым словом 913,

 

- за кодовым словом 913,

 

- за кодовым словом, следующим после кодового слова 913.

 

В первых двух случаях управляющая последовательность ECI выводится до закодированных байтов, в то время как в последнем случае управляющая последовательность ECI выводится после закодированного байта.

 

4.5.3.4 Интерпретации расширенного канала и режим цифрового уплотнения

 

Управляющую последовательность ECI не следует размещать внутри группы кодовых слов, подлежащих обработке преобразованием базы 10 в базу 900 (4.4.4.2). Она может быть размещена только внутри области режима цифрового уплотнения (обычно) на границе между группами из 15 кодовых слов. Это необходимо для обеспечения однозначного позиционирования в декодированном потоке байтов при размещении декодером управляющей последовательности.

 

Поэтому управляющую последовательность ECI размещают непосредственно:

 

- после кодового слова со значением 902;

 

- после 15-го кодового слова;

 

- после 30-го кодового слова;

 

- и т.д.

 

Если кодирующему устройству необходимо расположить управляющую последовательность ECI в позиции, которая не является кратной 15 кодовым словам, то оно должно рассматривать цифровой блок до ECI как завершенный объект в соответствии со вторым этапом 4.4.4.2. Кодирующее устройство должно повторно ввести режим цифрового уплотнения путем расположения в потоке другого кодового слова со значением 902, за которым следует управляющая последовательность ECI.

 

Если декодер обнаруживает управляющую последовательность ECI на одной из вышеуказанных пограничных точек, он должен генерировать байты данных, связанные с кодовыми словами до управляющей последовательности (при наличии таковых), генерировать управляющую последовательность и затем продолжить сбор кодовых слов для декодирования в режиме цифрового уплотнения. Если декодер обнаруживает управляющую последовательность ECI в иных позициях, отличающихся от установленных, он должен рассматривать символ как дефектный.

 

4.5.3.5 Комбинирование интерпретаций расширенного канала

 

Две или более управляющие последовательности (т.е. номера назначения ECI) могут быть расположены в любой точке, где возможно размещение надлежащим образом одной ECI, при том условии, что между ними размещены только кодовые слова, которые используют для кодирования управляющей последовательности ECI.

 

4.5.4 Протокол после декодирования

 

Протокол для передачи данных ECI должен соответствовать представленному в 4.17.2. Во время передачи интерпретаций расширенного канала идентификаторы символики (4.17.5) должны быть полностью реализованы, и соответствующий идентификатор символики должен быть передан в качестве преамбулы.

 

 

 

4.6 Определение последовательности кодовых слов

 

В процессе кодирования генерируется последовательность кодовых слов в виде

 

,

 

где  - кодовое слово данных, включая дескриптор длины символа и все кодовые слова функций;

 

 - общее количество кодовых слов данных, включая дескриптор длины символа, за исключением кодовых слов коррекции ошибки.

 

Дескриптор длины символа, обозначаемый , должен быть первым кодовым словом данных. Его значение должно быть равно общему количеству кодовых слов данных ; при этом подсчете должен учитываться непосредственно сам дескриптор длины символа и поэтому его значение должно быть от 1 до 926.

 

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

 

Процесс, используемый для определения матрицы строк и столбцов символа (4.9.2), может потребовать дополнения замыкающими кодовыми словами-заполнителями для завершения последовательности кодовых слов данных.

 

 

 

4.7 Обнаружение и коррекция ошибок

 

Каждый символ PDF417 содержит минимум два кодовых слова коррекции ошибок. Кодовые слова коррекции ошибок позволяют как обнаруживать, так и исправлять ошибки.

 

4.7.1 Уровень коррекции ошибок

 

Уровень коррекции ошибки в символе PDF417 в момент создания символа является выборочным. В таблице 9 показано число кодовых слов коррекции ошибок для каждого уровня коррекции ошибок.

 

 

Таблица 9 - Уровни коррекции ошибок и кодовые слова коррекции ошибок

 

#G0Уровень коррекции ошибок

 

Общее число кодовых слов коррекции ошибок

 

0

 

2

 

1

 

4

 

2

 

8

 

3

 

16

 

4

 

32

 

5

 

64

 

6

 

128

 

7

 

256

 

8

 

512

 

 

 

4.7.2 Возможности для исправления ошибок

 

Исправление ошибок может использоваться для устранения дефектов на этикетке и ошибочного считывания в ходе процедуры декодирования. Для любого заданного уровня коррекции ошибок в символ PDF417 должно быть включено определенное количество кодовых слов коррекции ошибок. Используемый алгоритм кодовых слов коррекции ошибок должен позволять устранить два вида ошибок:

 

- стирание, обусловленное недостающим или не подлежащим декодированию кодовым словом,

 

- ошибку подстановки, обусловленную неправильно декодированным кодовым словом.

 

Схема коррекции ошибок требует наличия одного кодового слова коррекции ошибок для восстановления стирания и двух кодовых слов для устранения ошибки подстановки. Таким образом, заданный уровень коррекции ошибок может исправить любое сочетание ошибок подстановки и стираний, которое удовлетворяет уравнению

 

,

 

где ,  и  соответствуют определениям, приведенным в 3.2.

 

Если использована большая часть возможностей по коррекции ошибок для восстановления стираний, возрастает вероятность наличия необнаруженных ошибок. Если исправлено менее четырех ошибок (за исключением =0), возможность коррекции ошибок уменьшается по уравнению:

 

,

 

где ,  и  s соответствуют определениям, приведенным в 3.2.

 

ПРИМЕР:

 

Символ PDF417 с уровнем коррекции ошибок 3 предусматривает наличие 16 кодовых слов коррекции ошибок, из которых 14 могут использоваться для исправления ошибок и стираний. С их помощью может быть восстановлено до 13 стираний или до семи ошибок подстановки или любое сочетание  стираний и  ошибок подстановки по условиям приведенного выше практического уравнения. В таблице 10 установлены возможные сочетания.

 

 

 

Таблица 10 - Возможные сочетания коррекции ошибок для уровня коррекции 3

 

#G0Восстановленные ошибки подстановки

 

Восстановленные стирания

 

Определяющее уравнение

 

0

 

13 или менее

 

 

(количество ошибок <4)

1

 

11 или менее

 

 

2

 

9 или менее

 

 

3

 

7 или менее

 

 

4

 

6 или менее

 

 

(количество ошибок 4)

5

 

4 или менее

 

 

6

 

2 или менее

 

 

7

 

0

 

 

 

 

4.7.3 Определение кодовых слов коррекции ошибок

 

Кодовые слова коррекции ошибок определяют в два этапа:

 

- выбор уровня коррекции ошибок - определяет пользователь или требования, установленные применением (приложение Е);

 

- формирование кодовых слов коррекции ошибок - в соответствии с перечнем правил, приведенным в 4.10. Процедуры не могут быть использованы до тех пор, пока не будут определены все кодовые слова данных, включая кодовые слова-заполнители (4.9.2).

 

Примечание - Процедуры в соответствии с 4.3-4.9, 4.13 и 4.14 определяются пользователями. Прочие технические процедуры согласно 4.10, 4.11 и 4.15 выполняются оборудованием и требуют решений со стороны пользователя.

 

 

 

4.8 Размеры

 

Символы PDF417 должны соответствовать размерам, указанным в 4.8.1-4.8.3.

 

4.8.1 Минимальная ширина модуля ()

 

Минимальная ширина модуля подлежит определению в нормативных документах, устанавливающих требования по применению. Она учитывает наличие оборудования для производства и считывания символов и соответствует основным требованиям, установленным применением.

 

Размер  должен оставаться неизменным в пределах всего символа.

 

Примечание - Действующие стандарты оценки качества символа штрихового кода (например, ИСО/МЭК 15416) не требуют измерения абсолютных размеров для оценки качества символа. Поэтому несоответствие любому минимальному размеру не является поводом для оценки символа как не соответствующего настоящему стандарту.

 

 

4.8.2 Высота строки ()

 

Для символов с рекомендуемым наименьшим уровнем коррекции ошибок .

 

Для символов с уровнем коррекции ошибок меньшим, чем рекомендуемый наименьший уровень, .

 

Рекомендуемый уровень коррекции ошибок приведен в приложении Е.

 

4.8.3 Свободные зоны

 

Наименьшая ширина горизонтальной свободной зоны (слева и справа от символа PDF417) - .

 

Наименьший размер вертикальной свободной зоны (над и под символом PDF417) - .

 

 

 

4.9 Определение формата символа

 

Матрицу символа PDF417, общий размер и форму символа определяют следующие факторы:

 

ширина модуля и коэффициент сжатия;

 

число строк и столбцов в матрице символа.

 

При создании символа PDF417 эти параметры выбирают сочетанием установок пользователя, ограничений, определяемых применением, и установок по умолчанию. Процесс выбора может повторяться до получения пользователем требуемого формата.

 

4.9.1 Определение коэффициента сжатия модуля

 

Коэффициент сжатия печатаемого модуля (aspect ratio of the module) определяют два размера:

 

 - требуемая ширина самого узкого штриха и самого узкого пробела;

 

 - требуемая высота каждой строки.

 

Эти размеры определяются пользователем или нормативными документами, регламентирующими применение штрихового кода. Основным фактором, определяющим эти параметры, является разрешение систем печати и считывания, используемых в рамках конкретного применения (4.14).

 

4.9.2 Определение матрицы строк и столбцов символа

 

Для определения матрицы символа, т.е. числа строк  и числа столбцов , учитывают следующие факторы:

 

- объем и тип данных, подлежащих кодированию;

 

- основные правила символики, определяющие, например, предельное число строк и столбцов (4.2.1 и 4.2.2);

 

- фактическое пространство для нанесения символа;

 

- более длинные строки приводят к уменьшенной вспомогательной части символа (включающей знаки СТАРТ и СТОП, индикаторы строки и области свободных зон);

 

- длина строки (включая свободные поля) должна быть меньше длины линии сканирования, регламентируемой или подразумеваемой в рамках применения;

 

- тип сканера, который может определять общий коэффициент сжатия символа;

 

- выбранный уровень коррекции ошибок.

 

Во многих применениях допустимая длина символа является первичным ограничением и матрицу символа можно определить фиксированным числом столбцов. В приложении Q приведены рекомендации по определению матрицы символа.

 

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

 

,

 

где  и  соответствуют определениям, приведенным в 3.2.

 

В матрице могут возникнуть ситуации, когда для достижения необходимого числа строк и столбцов требуется использование кодовых слов-заполнителей (условно используется кодовое слово со значением 900). Такая ситуация может произойти при

 

,

 

где  и  соответствуют определениям, приведенным в 3.2.

 

Дескриптору длины символа следует назначить значение , определенное выше. Таким образом:

 

.

 

Требуемое число кодовых слов-заполнителей равно .

 

Кодовые слова-заполнители должны иметь значение 900 и размещаться в позициях младших разрядов последовательности кодовых слов данных, т.е. справа от исходного кодового слова данных в позиции самого младшего разряда (но до управляющего блока Макро PDF417, при наличии). Пример такого преобразования приведен ниже. Независимо от включения дескриптора длины символа и каких-либо кодовых слов-заполнителей последовательность кодовых слов должна оставаться идентичной последовательности, изначально произведенной при кодировании данных.

 

ПРИМЕР

 

Пусть 246, 12, 24 и 32, тогда .

 

Примечание - Обозначения соответствуют указанным выше.

 

 

Значение дескриптора длины символа  равно 256.

 

Число кодовых слов-заполнителей равно: =256-246-1=9.

 

В настоящем примере кодовые слова данных (до кодовых слов-заполнителей) начинаются с функции фиксации в режиме цифрового уплотнения (кодовое слово 902) и заканчиваются кодовым словом со значением 423. Все кодовые слова-заполнители являются кодовыми словами 900. Дополнение дескриптором длины символа и кодовыми словами-заполнителями представлено ниже:

 

#G0Исходная последовательность кодовых слов данных

 

 

, ...,

 

 

 

 

Значения кодовых слов

 

 

902

 

, ...,

 

423

 

 

 

Дополненная последовательность кодовых слов данных

 

, ...,

 

 ,...,

 

Значения кодовых слов

 

256

902

 

, ...,

 

423

 

900 ,.., 900

 

 

 

4.10 Формирование кодовых слов коррекции ошибок

 

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

 

, .... ,

 

где  - дескриптор длины символа.

 

Полином данных символа представляет собой

 

.

 

Ниже приведено математическое описание вычисления кодовых слов коррекции ошибок для конкретного потока данных и выбранного уровня коррекции ошибок. Все арифметические действия должны быть выполнены по модулю 929.

 

Кодовые слова коррекции ошибок являются дополнением коэффициентов остатка, получающегося в результате деления полинома данных символа , умноженного на , на порождающий полином . Отрицательные значения отражаются в поле Галуа GF (929) прибавлением 929 до получения значения 0.

 

Для вычисления коэффициентов для кодовых слов коррекции ошибок , необходимых для уровня коррекции ошибок, используют порождающий полином:

 

,

 

где  - порождающий полином;

 

 - неизвестная переменная;

 

 - общее число кодовых слов коррекции ошибок;

 

 - коэффициент показателей степеней , образованный порождающим полиномом .

 

Пример вычисления коэффициентов приведен в приложении R.

 

В приложении F приведены все значения коэффициентов, необходимые для кодирования символа PDF417 для любого уровня коррекции ошибок.

 

Кодовые слова коррекции ошибок должны вычисляться в соответствии с приведенным ниже алгоритмом с использованием следующих обозначений:

 

 - кодовое слово данных ,..., ;

 

 - кодовое слово коррекции ошибок ,..., ;

 

 - коэффициент показателей степени числа  из порождающего полинома (пояснения приведены ниже, а значения - в приложении F);

 

 - временные переменные.

 

Алгоритм:

 

1. Обозначают последовательность кодовых слов данных

 

 

2. Устанавливают в исходное состояние кодовые слова коррекции ошибок ,...,  для значения, равного нулю

 

3. Для каждого кодового слова данных (data)

 

НАЧАЛО

 

 

для каждого кодового слова коррекции ошибок :

 

НАЧАЛО

 

 

 

 

КОНЕЦ

 

 

 

 

КОНЕЦ

 

4. Для каждого кодового слова коррекции ошибок подсчитывают дополнение:

 

НАЧАЛО

 

Если  не равно нулю

 

 

КОНЕЦ

 

Пример вычисления кодовых слов коррекции ошибок приведен в приложении S.

 

Альтернативная процедура формирования кодовых слов коррекции ошибок с использованием схемы деления приведена в приложении Т.

 

 

 

4.11 Низкоуровневое кодирование

 

Низкоуровневое кодирование необходимо для преобразования значений кодовых слов в соответствующие знаки символа (последовательности штрихов и пробелов), при этом матрица символа должна быть фиксированной.

 

На рисунке 8 схематично представлены соответствующие позиции каждого кодового слова данных, кодового слова коррекции ошибок и индикаторов строк для символа PDF417.

 

 

 

     

Обозначения:  - левый индикатор строки;

 

 - правый индикатор строки;

 

Затененная область - область кодовых слов данных

 

Незатененная область под областью кодовых слов - предназначена для кодовых слов коррекции ошибок

 

Рисунок 8 - Схема размещения кодовых слов типового символа PDF417

 

 

4.11.1 Кластеры

 

В PDF417 используют систему распознавания локальной строки для определения перехода от одной строки к другой.

 

Наборы кодовых слов представлены в каждом из трех кластеров. Кластеры имеют номера 0, 3 и 6. В приложении А приведены соответствующие последовательности штрихов и пробелов для каждого знака символа, представляющие каждое кодовое слово и кластер.

 

Для кодирования индикаторов строк и других кодовых слов каждая строка должна содержать знаки символа (комбинации в виде штрихов и пробелов) только одного кластера. В первой строке используют знаки символа из кластера 0, во второй строке - из кластера 3, в третьей строке - из кластера 6, в четвертой строке - из кластера 0 и так далее. Последовательность кластеров 0, 3, 6 должна постоянно повторяться. Номер кластера  для любой строки вычисляют по формуле

 

,

 

где строки пронумерованы от 1 до  (в соответствии с 3.2).

 

Так как любые две смежные строки имеют разные кластеры, во время декодирования символа PDF417 декодер может использовать пути сканирования, пересекающие строки.

 

4.11.2 Определение матрицы символа

 

Матрицу строк и столбцов символа окончательно определяют в соответствии с процедурами, приведенными в 4.9.2. Они обеспечивают получение значений  и .

 

4.11.3 Определение значений левого и правого индикаторов строк

 

Индикаторы строк в символе PDF417 - кодовые слова, которые должны кодировать несколько основных параметров: номер строки (), число строк (), число столбцов () и уровень коррекции ошибок (). Эта информация должна быть отнесена к трем строкам и цикл должен повторяться непрерывно. Номер строки () должен быть закодирован в каждой строке.

 

4.11.3.1 Левый индикатор строк

 

Левый индикатор строк вычисляют по формулам:

 

при  ;

 

при ;

 

при  ,

 

где , , ,  и  соответствуют определениям, приведенным в 3.2.

 

4.11.3.2 Правый индикатор строк

 

Правый индикатор строк вычисляют по формулам:

 

при  ;

 

при ;

 

при  ,

 

где , , ,  и  соответствуют определениям, приведенным в 3.2.

 

4.11.4 Кодирование строки

 

В каждой строке должны быть согласованы с номером кластера следующие знаки символа:

 

a) левый индикатор строки;

 

b) знаки символа, представляющие кодовые слова данных и (или) коррекции ошибок, в количестве, равном числу столбцов;

 

c) правый индикатор строки.

 

Знаки СТАРТ и СТОП должны быть одинаковыми для всех строк.

 

Символ должен кодироваться строка за строкой с включением числа  (числа столбцов) кодовых слов в каждой строке. Первая строка должна включать дескриптор длины символа в первом столбце. Последняя строка должна включать частично или полностью кодовые слова коррекции ошибок.

 

 

 

4.12 Компакт PDF417 (Compact PDF417)

 

Символы Компакт PDF417 являются возможным выбором. В случае использования Компакт PDF417 должен соответствовать требованиям приложения G.

 

 

 

4.13 Макро PDF417 (Macro PDF417)

 

Макро PDF417 (Macro PDF417) предусматривает механизм разделения данных в файлах на блоки и представления их более чем в одном символе PDF417. Данный механизм идентичен свойству структурированного соединения в других символиках.

 

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

 

Для кодирования данных в Макро PDF417 (Macro PDF417) можно использовать до 99999 отдельных символов PDF417.

 

Процедуры Макро PDF417 приведены в приложении G.

 

4.13.1 Режимы уплотнения и Макро PDF417

 

Управляющий блок Макро PDF417 имеет предопределенный метод кодирования, так что кодовое слово 928 вызывает завершение любой последовательности режима уплотнения в теле символа. Поле индекса сегмента должно быть закодировано в режиме цифрового уплотнения. Каждое определенное необязательное поле Макро PDF417 имеет особые, изначально подразумеваемые режим и подрежим уплотнения, и начало нового необязательного поля служит окончанием режима уплотнения предыдущего поля (в соответствии с Н.2.3) и вызывает собственный режим по умолчанию. В частности, даже если два следующих друг за другом необязательных поля используют один и тот же режим текстового уплотнения, когда встречается кодовое слово 923, подрежим прописных букв сбрасывается.

 

4.13.2 Интерпретации расширенного канала и Макро PDF417

 

В зависимости от ограничений, приведенных в 4.5.3, ECI могут встречаться в сообщениях, закодированных в отдельном символе или в наборе символов Макро PDF417 (Macro PDF417). Любая вызванная ECI должна применяться до окончания закодированных данных или до тех пор, пока не встретится другая ECI. Таким образом, интерпретация ECI может охватить два символа или более.

 

Интерпретация (интерпретации) расширенного канала в теле потока кодовых слов данных не распространяется на управляющий блок Макро PDF417, но возобновляется автоматически в начале следующего символа. Данные управляющего блока интерпретируются с помощью значения ECI по умолчанию (000002) до тех пор, пока управляющие последовательности ECI не будут явно закодированы в необязательном поле в управляющем блоке. Действие любой ECI такого рода автоматически заканчивается при окончании поля, в котором она присутствует.

 

Примечание - При реализации в качестве идентификаторов глобальной метки в соответствии с прежними спецификациями (например, [2] и [3]) кодирование подразумевает возврат к GLI 0 (равнозначному ECI 000000) в начале каждого символа. Если подразумевается, что в следующем символе сохраняется GLI 1, тогда в начале этого следующего символа должен быть явно закодирован GLI 1. В связи с тем, что кодирующие устройства согласованы с этими ранее опубликованными стандартами, которые еще некоторое время будут в использовании, рекомендации по обеспечению совместимости с настоящими требованиями приведены в 4.17.6.

 

 

 

4.14 Рекомендации для пользователя

 

4.14.1 Визуальное представление

 

Символы PDF417 допускают кодирование больших объемов данных, в связи с этим печать визуальных представлений знаков данных может оказаться непрактичной. В качестве альтернативы символ может сопровождать описательный, а не дословный текст. Представление может быть отпечатано в любом месте вокруг символа, но без нарушения символа и свободных зон. Размеры знаков и шрифт не регламентированы настоящим стандартом, но могут устанавливаться в стандартах, регламентирующих требования по применению.

 

4.14.2 Возможность автоматического распознавания

 

PDF417 может использоваться в условиях автоматического распознавания с рядом других символик в соответствии с приложением U.

 

4.14.3 Параметры применения, устанавливаемые пользователем

 

Параметры символов PDF417 должны определять стандарты, регламентирующие требования по применению в соответствии с требованиями, указанными в 4.14.3.1, 4.14.3.2.

 

4.14.3.1 Символика и размеры

 

Стандарты, регламентирующие требования по применению, должны устанавливать следующие параметры данных и символики, включая размеры:

 

a) выбор и использование интерпретаций расширенного канала, при необходимости, для расширения кодирования данных за пределами интерпретаций по умолчанию базовых режимов,

 

b) объем данных в символе, который может быть фиксированным, переменным или переменным до определенного значения,

 

c) выбор уровня коррекции ошибок,

 

d) диапазон размеров ,

 

e) диапазон размеров ,

 

f) параметры символа - диапазон допустимых коэффициентов сжатия и (или) соответствие длины или высоты символа (любой из двух) наибольшим размерам.

 

Примечание - Дополнительные факторы, которые следует учитывать при определении применений PDF417, приведены в приложениях Q и U.

 

 

4.14.3.2 Требования контроля

 

Параметры оценки символов определяют установлением класса качества в соответствии с ИСО/МЭК 15416 в стандарте, регламентирующем требования по применению.

 

Класс качества выражается в следующей форме:

 

класс/апертура/длина волны в максимуме интенсивности отраженного излучения.

 

Пример представления типов значений, которые необходимо отразить.

 

1,5/10/660,

 

где

 

- 1,5 - полный класс качества символа;

 

- 10 - ссылочный номер измерительной апертуры (в настоящем примере диаметр 0,25 мм);

 

- 660 - длина волн в максимуме интенсивности отраженного излучения в нанометрах.

 

Примечание - В ИСО/МЭК 15416 определены классы допустимых значений. Значения, соответствующие применению, должны быть установлены в стандарте, регламентирующем требования по применению.

 

 

4.14.4 Качество символа PDF417

 

Так как ИСО/МЭК 15416 не охватывает полностью испытания символов PDF417, в приложении J приведены процедуры соответствия.

 

 

 

4.15 Рекомендуемый алгоритм декодирования

 

Рекомендуемый алгоритм декодирования для PDF417 приведен в приложении К. Этот алгоритм должен быть основой для любых спецификаций оценки символов штрихового кода PDF417.

 

 

 

4.16 Процедура обнаружения ошибок и коррекции ошибок

 

В качестве составной части процедуры декодирования возможна реконструкция символа при наличии стираний и ошибок подстановки в пределах возможностей коррекции ошибок символа. Реконструкция может выполняться с помощью процедуры, описанной в приложении L.

 

 

 

4.17 Передаваемые данные

 

4.17.1 Передаваемые данные в базовой интерпретации (по умолчанию)

 

Все кодовые слова данных должны быть переведены в данные для пользователя и переданы в виде 8-битовых байтов независимо от того, находятся ли эти данные в режимах текстового, байтового или цифрового уплотнения. Не подлежат передаче знаки СТАРТ и СТОП, индикаторы строк, дескриптор длины символа, кодовые слова переключения режима, кодовые слова-заполнители и кодовые слова коррекции ошибок.

 

4.17.2 Протокол передачи для интерпретаций расширенного канала

 

В системах, поддерживающих ECI, в каждой передаче должен использоваться префикс индификатора символики (4.17.5 и приложение М). Управляющие блоки Макро PDF417 (в случае, если они передаются) должны обрабатываться как управляющий набор управляющих последовательностей, который работает совместно с протоколом передачи ECI (4.17.3 и приложение Н).

 

Три кодовых слова (со значениями 925, 926 и 927) являются сигналом для кодирования значения ECI и декодируются как значения байтов следующим образом:

 

1) если последовательность ECI начинается с кодового слова 927:

 

a) кодовое слово 927 передается в качестве управляющего знака со значением 92, который представляет знак ОБРАТНАЯ ДРОБНАЯ ЧЕРТА (\) при кодировании по умолчанию,

 

b) следующее кодовое слово преобразовано в 6-разрядное значение путем размещения начальных нулей перед кодовым словом. 6-разрядное значение передается как шесть соответствующих значений байтов с десятичными значениями от 48 до 57.

 

ПРИМЕР:

 

Закодировано в символе - [927] [123]

 

Передача данных (десятичные значения байтов) - 92, 48, 48, 48, 49, 50, 51

 

Интерпретация в знаках КОИ-7 - \000123

 

2) если последовательность ECI начинается с кодового слова 926:

 

a) кодовое слово 926 передается как управляющий знак с десятичным значением 92,

 

b) следующие два кодовых слова преобразуются в 6-разрядное значение с начальными нулями при необходимости, используя следующую формулу:

 

([первое кодовое слово] + 1) х 900 + [второе кодовое слово])

 

6-разрядное значение передается как шесть соответствующих значений байтов с десятичными значениями от 48 до 57.

 

ПРИМЕР:

 

Закодировано в символе - [926] [136] [156]

 

Передача данных (десятичные значения байтов) - 92, 49, 50, 51, 52, 53, 54

 

Интерпретация в знаках КОИ-7 - \123456

 

3) если последовательность ECI начинается с кодового слова 925:

 

a) кодовое слово 925 передается в качестве управляющего знака со значением 92,

 

b) следующее кодовое слово преобразовано в 6-разрядное значение прибавлением к нему значения 810900. 6-разрядное значение передается как шесть соответствующих значений байтов с десятичными значениями от 48 до 57.

 

ПРИМЕР:

 

Закодировано в символе - [925] [456]

 

Передача данных (десятичные значения байтов) - 92, 56, 49, 49, 51, 53, 54

 

Интерпретация в знаках КОИ-7 - \811356

 

Процедура повторяется для каждого случая интерпретации расширенного канала.

 

Прикладное программное обеспечение, распознающее 7-байтовую управляющую последовательность по знаку со значением 92, при помощи 6 байтов (каждый из диапазона знаков со значениями от 48 до 47) должно интерпретировать все последовательные знаки до окончания закодированных данных или до тех пор, пока не встретится другой отдельный байт со значением 92 в качестве байта из интерпретации расширенного канала, определенной 6-разрядной последовательностью.

 

Если знак ОБРАТНАЯ ДРОБНАЯ ЧЕРТА или другой знак, представленный байтом со значением 92, необходимо использовать в качестве закодированных данных, передача должна происходить в соответствии с приведенным примером. Если байт со значением 92 появляется в качестве данных, должны быть переданы два байта этого значения; таким образом единичное появление всегда является управляющим знаком, а двоичное появление означает достоверные данные.

 

ПРИМЕР:

 

Закодированные данные - А\\В\С

 

Передача - А\\\\В\\С

 

4.17.3 Передача данных для Макро PDF417

 

Протокол передачи данных для Макро PDF417 (Macro PDF417) приведен в Н.6.

 

4.17.4 Передача зарезервированных кодовых слов с использованием протокола интерпретации расширенного канала

 

При работе под протоколом передачи ECI декодеры PDF417 должны передавать управляющую последовательность ECI из 6 байтов зарезервированных кодовых слов (интерпретируемых как \CnnnC), представляющую управляющий знак (со значением 92), за которым следует С (значение 67), три разряда, которые представляют десятичное значение зарезервированного кодового слова и за которыми следует другое С, завершающее управляющую последовательность ECI независимым от символики способом. Кодовые слова данных, следующие за зарезервированным кодовым словом, не интерпретируются декодером в соответствии с любым режимом уплотнения, но вместо этого передаются как серии управляющих последовательностей, представляющие кодовые слова с использованием той же 6-байтовой управляющей последовательности, указанной ранее. Все оставшиеся кодовые слова данных передаются этим же способом до тех пор, пока не будут достигнуты:

 

- окончание закодированных данных в символе;

 

- функция фиксации в распознанном режиме уплотнения;

 

- функциональное кодовое слово управляющего блока Макро PDF417 (928, 923, 922).

 

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

 

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

 

 

4.17.5 Идентификатор символики

 

После определения структуры данных (в виде Макро PDF417, ECI и т.д.) в качестве преамбулы к переданным декодером данным должен быть добавлен идентификатор символики. Идентификаторы символики для PDF417 приведены в приложении М.

 

4.17.6 Передача, использующая устаревшие протоколы

 

Введение системы интерпретаций расширенного канала в некоторые символики оказало воздействие на ранее существовавшие символики, включая PDF417. Основные правила кодирования и декодирования в настоящем стандарте остались теми же, что и в версиях PDF417 [2] и [3]. Передача для ECI и Макро PDF417 отличается по своему формату, но передает равнозначную информацию.

 

Новое оборудование и прикладное программное обеспечение, декодирующее PDF417, должно соответствовать настоящему стандарту. Однако соответствие оборудования ранее опубликованным стандартам будет действовать в течение нескольких лет. Пользователям, генерирующим символы PDF417, не придется вносить никаких изменений, так как закодированные символы имеют равнозначные значения вне зависимости от поколения используемого декодирующего оборудования. В приложении N приведены правила, которыми необходимо руководствоваться при использовании декодирующего оборудования и прикладного программного обеспечения, которые не соответствуют современным символам с ECI и Макро PDF417. Таким образом старое и новое оборудование могут сосуществовать.

 

 

 

ПРИЛОЖЕНИЕ А

(обязательное)

    

Кодирование/декодирование последовательностей штрихов и пробелов

знаков символа PDF417

 

В таблице А.1 установлены значения каждого кодового слова и последовательности штрихов и пробелов для знаков символа в кластерах 0, 3 и 6.

 

Значения , используемые на этапе декодирования, могут быть получены из последовательности штрихов и пробелов по формуле

 

.

 

 

Таблица A.1 - Последовательность штрихов и пробелов

 

#G0Значение кодового слова

Последовательность штрихов и пробелов для кластера

 

 

0

шпшпшпшп

 

3

шпшпшпшп

 

6

 шпшпшпшп

 

0

 

31111136

 

51111125

 

21111155

 

1

 

41111144

 

61111133

 

31111163

 

2

 

51111152

 

41111216

 

11111246

 

3

 

31111235

 

51111224

 

21111254

 

4

 

41111243

 

61111232

 

31111262

 

5

 

51111251

 

41111315

 

11111345

 

6

 

21111326

 

51111323

 

21111353

 

7

 

31111334

 

61111331

 

31111361

 

8

 

21111425

 

41111414

 

11111444

 

9

 

11111516

 

51111422

 

21111452

 

10

 

21111524

 

41111513

 

11111543

 

11

 

11111615

 

51111521

 

61112114

 

12

 

21112136

 

41111612

 

11112155

 

13

 

31112144

 

41112125

 

21112163

 

14

 

41112152

 

51112133

 

61112213

 

15

 

21112235

 

61112141

 

11112254

 

16

 

31112243

 

31112216

 

21112262

 

17

 

41112251

 

41112224

 

61112312

 

18

 

11112326

 

51112232

 

11112353

 

19

 

21112334

 

31112315

 

21112361

 

20

 

11112425

 

41112323

 

61112411

 

21

 

11113136

 

51112331

 

11112452

 

22

 

21113144

 

31112414

 

51113114

 

23

 

31113152

 

41112422

 

61113122

 

24

 

11113235

 

31112513

 

11113163

 

25

 

21113243

 

41112521

 

51113213

 

26

 

31113251

 

31112612

 

61113221

 

27

 

11113334

 

31113125

 

11113262

 

28

 

21113342

 

41113133

 

51113312

 

29

 

11114144

 

51113141

 

11113361

 

30

 

21114152

 

21113216

 

51113411

 

31

 

11114243

 

31113224

 

41114114

 

32

 

21114251

 

41113232

 

51114122

 

33

 

11115152

 

21113315

 

41114213

 

34

 

51116111

 

31113323

 

51114221

 

35

 

31121135

 

41113331

 

41114312

 

36

 

41121143

 

21113414

 

41114411

 

37

 

51121151

 

31113422

 

31115114

 

38

 

21121226

 

21113513

 

41115122

 

39

 

31121234

 

31113521

 

31115213

 

40

 

41121242

 

21113612

 

41115221

 

41

 

21121325

 

21114125

 

31115312

 

42

 

31121333

 

31114133

 

31115411

 

43

 

11121416

 

41114141

 

21116114

 

44

 

21121424

 

11114216

 

31116122

 

45

 

31121432

 

21114224

 

21116213

 

46

 

11121515

 

31114232

 

31116221

 

47

 

21121523

 

11114315

 

21116312

 

48

 

11121614

 

21114323

 

11121146

 

49

 

21122135

 

31114331

 

21121154

 

50

 

31122143

 

11114414

 

31121162

 

51

 

41122151

 

21114422

 

11121245

 

52

 

11122226

 

11114513

 

21121253

 

53

 

21122234

 

21114521

 

31121261

 

54

 

31122242

 

11115125

 

11121344

 

55

 

11122325

 

21115133

 

21121352

 

56

 

21122333

 

31115141

 

11121443

 

57

 

31122341

 

11115224

 

21121451

 

58

 

11122424

 

21115232

 

11121542

 

59

 

21122432

 

11115323

 

61122113

 

60

 

11123135

 

21115331

 

11122154

 

61

 

21123143

 

11115422

 

21122162

 

62

 

31123151

 

11116133

 

61122212

 

63

 

11123234

 

21116141

 

11122253

 

64

 

21123242

 

11116232

 

21122261

 

65

 

11123333

 

11116331

 

61122311

 

66

 

21123341

 

41121116

 

11122352

 

67

 

11124143

 

51121124

 

11122451

 

68

 

21124151

 

61121132

 

51123113

 

69

 

11124242

 

41121215

 

61123121

 

70

 

11124341

 

51121223

 

11123162

 

71

 

21131126

 

61121231

 

51123212

 

72

 

31131134

 

41121314

 

11123261

 

73

 

41131142

 

51121322

 

51123311

 

74

 

21131225

 

41121413

 

41124113

 

75

 

31131233

 

51121421

 

51124121

 

76

 

41131241

 

41121512

 

41124212

 

77

 

11131316

 

41121611

 

41124311

 

78

 

21131324

 

31122116

 

31125113

 

79

 

31131332

 

41122124

 

41125121

 

80

 

11131415

 

51122132

 

31125212

 

81

 

21131423

 

31122215

 

31125311

 

82

 

11131514

 

41122223

 

21126113

 

83

 

11131613

 

51122231

 

31126121

 

84

 

11132126

 

31122314

 

21126212

 

85

 

21132134

 

41122322

 

21126311

 

86

 

31132142

 

31122413

 

11131145

 

87

 

11132225

 

41122421

 

21131153

 

88

 

21132233

 

31122512

 

31131161

 

89

 

31132241

 

31122611

 

11131244

 

90

 

11132324

 

21123116

 

21131252

 

91

 

21132332

 

31123124

 

11131343

 

92

 

11132423

 

41123132

 

21131351

 

93

 

11132522

 

21123215

 

11131442

 

94

 

11133134

 

31123223

 

11131541

 

95

 

21133142

 

41123231

 

61132112

 

96

 

11133233

 

21123314

 

11132153

 

97

 

21133241

 

31123322

 

21132161

 

98

 

11133332

 

21123413

 

61132211

 

99

 

11134142

 

31123421

 

11132252

 

100

 

21141125

 

21123512

 

11132351

 

101

 

31141133

 

21123611

 

51133112

 

102

 

41141141

 

11124116

 

11133161

 

103

 

11141216

 

21124124

 

51133211

 

104

 

21141224

 

31124132

 

41134112

 

105

 

31141232

 

11124215

 

41134211

 

106

 

11141315

 

21124223

 

31135112

 

107

 

21141323

 

31124231

 

31135211

 

108

 

31141331

 

11124314

 

21136112

 

109

 

11141414

 

21124322

 

21136211

 

110

 

21141422

 

11124413

 

11141144

 

111

 

11141513

 

21124421

 

21141152

 

112

 

21141521

 

11124512

 

11141243

 

113

 

11142125

 

11125124

 

21141251

 

114

 

21142133

 

21125132

 

11141342

 

115

 

31142141

 

11125223

 

11141441

 

116

 

11142224

 

21125231

 

61142111

 

117

 

21142232

 

11125322

 

11142152

 

118

 

11142323

 

11125421

 

11142251

 

119

 

21142331

 

11126132

 

51143111

 

120

 

11142422

 

11126231

 

41144111

 

121

 

11142521

 

41131115

 

31145111

 

122

 

21143141

 

51131123

 

11151143

 

123

 

11143331

 

61131131

 

21151151

 

124

 

11151116

 

41131214

 

11151242

 

125

 

21151124

 

51131222

 

11151341

 

126

 

31151132

 

41131313

 

11152151

 

127

 

11151215

 

51131321

 

11161142

 

128

 

21151223

 

41131412

 

11161241

 

129

 

31151231

 

41131511

 

12111146

 

130

 

11151314

 

31132115

 

22111154

 

131

 

21151322

 

41132123

 

32111162

 

132

 

11151413

 

51132131

 

12111245

 

133

 

21151421

 

31132214

 

22111253

 

134

 

11151512

 

41132222

 

32111261

 

135

 

11152124

 

31132313

 

12111344

 

136

 

11152223

 

41132321

 

22111352

 

137

 

11152322

 

31132412

 

12111443

 

138

 

11161115

 

31132511

 

22111451

 

139

 

31161131

 

21133115

 

12111542

 

140

 

21161222

 

31133123

 

62112113

 

141

 

21161321

 

41133131

 

12112154

 

142

 

11161511

 

21133214

 

22112162

 

143

 

32111135

 

31133222

 

62112212

 

144

 

42111143

 

21133313

 

12112253

 

145

 

52111151

 

31133321

 

22112261

 

146

 

22111226

 

21133412

 

62112311

 

147

 

32111234

 

21133511

 

12112352

 

148

 

42111242

 

11134115

 

12112451

 

149

 

22111325

 

21134123

 

52113113

 

150

 

32111333

 

31134131

 

62113121

 

151

 

42111341

 

11134214

 

12113162

 

152

 

12111416

 

21134222

 

52113212

 

153

 

22111424

 

11134313

 

12113261

 

154

 

12111515

 

21134321

 

52113311

 

155

 

22112135

 

11134412

 

42114113

 

156

 

32112143

 

11134511

 

52114121

 

157

 

42112151

 

11135123

 

42114212

 

158

 

12112226

 

21135131

 

42114311

 

159

 

22112234

 

11135222

 

32115113

 

160

 

32112242

 

11135321

 

42115121

 

161

 

12112325

 

11136131

 

32115212

 

162

 

22112333

 

41141114

 

32115311

 

163

 

12112424

 

51141122

 

22116113

 

164

 

12112523

 

41141213

 

32116121

 

165

 

12113135

 

51141221

 

22116212

 

166

 

22113143

 

41141312

 

22116311

 

167

 

32113151

 

41141411

 

21211145

 

168

 

12113234

 

31142114

 

31211153

 

169

 

22113242

 

41142122

 

41211161

 

170

 

12113333

 

31142213

 

11211236

 

171

 

12113432

 

41142221

 

21211244

 

172

 

12114143

 

31142312

 

31211252

 

173

 

22114151

 

31142411

 

11211335

 

174

 

12114242

 

21143114

 

21211343

 

175

 

12115151

 

31143122

 

31211351

 

176

 

31211126

 

21143213

 

11211434

 

177

 

41211134

 

31143221

 

21211442

 

178

 

51211142

 

21143312

 

11211533

 

179

 

31211225

 

21143411

 

21211541

 

180

 

41211233

 

11144114

 

11211632

 

181

 

51211241

 

21144122

 

12121145

 

182

 

21211316

 

11144213

 

22121153

 

183

 

31211324

 

21144221

 

32121161

 

184

 

41211332

 

11144312

 

11212145

 

185

 

21211415

 

11144411

 

12121244

 

186

 

31211423

 

11145122

 

22121252

 

187

 

41211431

 

11145221

 

11212244

 

188

 

21211514

 

41151113

 

21212252

 

189

 

31211522

 

51151121

 

22121351

 

190

 

22121126

 

41151212

 

11212343

 

191

 

32121134

 

41151311

 

12121442

 

192

 

42121142

 

31152113

 

11212442

 

193

 

21212126

 

41152121

 

12121541

 

194

 

22121225

 

31152212

 

11212541

 

195

 

32121233

 

31152311

 

62122112

 

196

 

42121241

 

21153113

 

12122153

 

197

 

21212225

 

31153121

 

22122161

 

198

 

31212233

 

21153212

 

61213112

 

199

 

41212241

 

21153311

 

62122211

 

200

 

11212316

 

11154113

 

11213153

 

201

 

12121415

 

21154121

 

12122252

 

202

 

22121423

 

11154212

 

61213211

 

203

 

32121431

 

11154311

 

11213252

 

204

 

11212415

 

41161112

 

12122351

 

205

 

21212423

 

41161211

 

11213351

 

206

 

11212514

 

31162112

 

52123112

 

207

 

12122126

 

31162211

 

12123161

 

208

 

22122134

 

21163112

 

51214112

 

209

 

32122142

 

21163211

 

52123211

 

210

 

11213126

 

42111116

 

11214161

 

211

 

12122225

 

52111124

 

51214211

 

212

 

22122233

 

62111132

 

42124112

 

213

 

32122241

 

42111215

 

41215112

 

214

 

11213225

 

52111223

 

42124211

 

215

 

21213233

 

62111231

 

41215211

 

216

 

31213241

 

42111314

 

32125112

 

217

 

11213324

 

52111322

 

31216112

 

218

 

12122423

 

42111413

 

32125211

 

219

 

11213423

 

52111421

 

31216211

 

220

 

12123134

 

42111512

 

22126112

 

221

 

22123142

 

42111611

 

22126211

 

222

 

11214134

 

32112116

 

11221136

 

223

 

12123233

 

42112124

 

21221144

 

224

 

22123241

 

52112132

 

31221152

 

225

 

11214233

 

32112215

 

11221235

 

226

 

21214241

 

42112223

 

21221243

 

227

 

11214332

 

52112231

 

31221251

 

228

 

12124142

 

32112314

 

11221334

 

229

 

11215142

 

42112322

 

21221342

 

230

 

12124241

 

32112413

 

11221433

 

231

 

11215241

 

42112421

 

21221441

 

232

 

31221125

 

32112512

 

11221532

 

233

 

41221133

 

32112611

 

11221631

 

234

 

51221141

 

22113116

 

12131144

 

235

 

21221216

 

32113124

 

22131152

 

236

 

31221224

 

42113132

 

11222144

 

237

 

41221232

 

22113215

 

12131243

 

238

 

21221315

 

32113223

 

22131251

 

239

 

31221323

 

42113231

 

11222243

 

240

 

41221331

 

22113314

 

21222251

 

241

 

21221414

 

32113322

 

11222342

 

242

 

31221422

 

22113413

 

12131441

 

243

 

21221513

 

32113421

 

11222441

 

244

 

21221612

 

22113512

 

62132111

 

245

 

22131125

 

22113611

 

12132152

 

246

 

32131133

 

12114116

 

61223111

 

247

 

42131141

 

22114124

 

11223152

 

248

 

21222125

 

32114132

 

12132251

 

249

 

22131224

 

12114215

 

11223251

 

250

 

32131232

 

22114223

 

52133111

 

251

 

11222216

 

32114231

 

51224111

 

252

 

12131315

 

12114314

 

42134111

 

253

 

31222232

 

22114322

 

41225111

 

254

 

32131331

 

12114413

 

32135111

 

255

 

11222315

 

22114421

 

31226111

 

256

 

12131414

 

12114512

 

22136111

 

257

 

22131422

 

12115124

 

11231135

 

258

 

11222414

 

22115132

 

21231143

 

259

 

21222422

 

12115223

 

31231151

 

260

 

22131521

 

22115231

 

11231234

 

261

 

12131612

 

12115322