ГОСТ ISO/IEC 15438-2018
Группа П85
МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ
Информационные технологии
ТЕХНОЛОГИИ АВТОМАТИЧЕСКОЙ ИДЕНТИФИКАЦИИ И СБОРА ДАННЫХ
Спецификация символики штрихового кода PDF417
Information technology. Automatic identification and data capture techniques. PDF417 bar code symbology specification
ОКС 35.040
ОКСТУ 4002
Дата введения 2019-05-01
Предисловие
Цели, основные принципы и основной порядок проведения работ по межгосударственной стандартизации установлены в ГОСТ 1.0-2015 "Межгосударственная система стандартизации. Основные положения" и ГОСТ 1.2-2015 "Межгосударственная система стандартизации. Стандарты межгосударственные, правила и рекомендации по межгосударственной стандартизации. Правила разработки, принятия, обновления и отмены"
1 ПОДГОТОВЛЕН Обществом с ограниченной ответственностью "Научно-производственный центр "Интелком" (ООО "НПЦ "Интелком") при участии Ассоциации автоматической идентификации "ЮНИСКАН/ГС1 РУС" (ГС1 РУС) на основе собственного перевода на русский язык англоязычной версии стандарта, указанного в пункте 5
2 ВНЕСЕН Федеральным агентством по техническому регулированию и метрологии
3 ПРИНЯТ Межгосударственным советом по стандартизации, метрологии и сертификации (протокол от 30 января 2018 г. N 105-П)
За принятие проголосовали:
|
|
|
Краткое наименование страны по МК (ИСО 3166) 004-97 | Код страны по МК (ISO 3166) 004-97 | Сокращенное наименование национального органа по стандартизации |
Азербайджан | AZ | Азстандарт |
Армения | AM | Минэкономики Республики Армения |
Беларусь | BY | Госстандарт Республики Беларусь |
Грузия | GE | Грузстандарт |
Казахстан | KZ | Госстандарт Республики Казахстан |
Киргизия | KG | Кыргызстандарт |
Молдова | MD | Институт стандартизации Молдовы |
Россия | RU | Росстандарт |
Таджикистан | TJ | Таджикстандарт |
Туркменистан | TM | Главгосслужба "Туркменстандартлары" |
Узбекистан | UZ | Узстандарт |
Украина | UA | Минэкономразвития Украины |
4 Приказом Федерального агентства по техническому регулированию и метрологии от 25 апреля 2018 г. N 212-ст межгосударственный стандарт ГОСТ ISO/IEC 15438-2018 введен в действие в качестве национального стандарта Российской Федерации с 1 мая 2019 г.
5 Настоящий стандарт идентичен международному стандарту ISO/IEC 15438:2015* "Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода PDF417" ("Information technology - Automatic identification and data capture techniques - PDF417 bar code symbology specification", IDT).
Международный стандарт разработан подкомитетом ISO/IEC JTC 1/SC 31 "Технологии автоматической идентификации и сбора данных" Совместного технического комитета по стандартизации ISO/IEC JTC 1 "Информационные технологии" Международной организации по стандартизации (ISO) и Международной электротехнической комиссии (IEC).
При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов соответствующие им межгосударственные стандарты, сведения о которых приведены в дополнительном приложении ДВ
6 ВЗАМЕН ГОСТ 31016-2003 (ИСО/МЭК 15438:2001)
7 Некоторые положения международного стандарта могут быть объектами патентных прав. Международная организация по стандартизации (ISO) и Международная электротехническая комиссия (IEC) не несут ответственности за идентификацию подобных патентных прав
Информация об изменениях к настоящему стандарту публикуется в ежегодном информационном указателе "Национальные стандарты", а текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ежемесячном информационном указателе "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)
Введение
Технология штрихового кодирования основана на распознавании комбинаций штрихов и пробелов определенных размеров. Существует множество методов кодирования информации в формате штрихового кода, именуемых символиками, и множество правил перевода знаков в комбинации штрихов и пробелов и других важных параметров, именуемых спецификациями символики.
Производителям оборудования для штрихового кодирования и пользователям технологии штрихового кодирования необходим общедоступный стандарт спецификаций символик, к которому можно обращаться при разработке оборудования или стандартов применений. Символика, представленная в данном стандарте, является общественным достоянием и не подлежит лицензированию, взиманию налогов и ограничениям для использования.
В дополнительном приложении ДА приведены сведения о соответствии международных и русских терминов и обозначений, встречающихся в тексте настоящего стандарта, а в дополнительном приложении ДБ набор знаков ASCII (версия КОИ-7) по ISO/IEC 646, графические знаки расширенного набора знаков ASCII (версия КОИ-8) по ISO/IEC 8859-1 и набор 8-битовых графических знаков (версия КОИ-8) по ISO/IEC 8859-5.
Дополнительные сноски в тексте стандарта, выделенные курсивом, приведены для пояснения текста оригинала.
1 Область применения
Настоящий стандарт устанавливает:
_______________
- показатели символики PDF417, кодирование знаков данных, форматы символов, размеры, правила коррекции ошибки, рекомендуемый алгоритм декодирования и совокупность параметров применения.
2 Нормативные ссылки
В настоящем стандарте использованы нормативные ссылки на следующие стандарты*. Для датированных ссылок следует применять только указанное издание ссылочного стандарта, для недатированных - последнее издание, включая любые поправки и изменения к ним:
ISO/IEC 646, Information technology - ISO 7-bit coded character set for information interchange (Информационные технологии. 7-битовый набор кодированных символов ISO для обмена информацией)
ISO/IEC 15415, Information technology - Automatic identification and data capture techniques - Bar code print quality test specification - Two-dimensional symbols (Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация испытаний символов штрихового кода для оценки качества печати. Двумерные символы)
ISO/IEC 15424, Information technology - Automatic identification and data capture techniques - Data Carrier Identifiers (including Symbology Identifiers) [Информационные технологии. Технологии автоматической идентификации и сбора данных. Идентификаторы носителя данных (включая идентификаторы символики)]
ISO/IEC 19762-1, Information technology - Automatic identification and data capture (AIDC) techniques - Harmonized vocabulary - Part 1: General terms relating to AIDC (Информационные технологии. Технологии автоматической идентификации и сбора данных (АИСД). Гармонизированный словарь. Часть 1. Общие термины в области АИСД)
ISO/IEC 19762-2, Information technology - Automatic identification and data capture (AIDC) techniques - Part 2: Optically readable media (ORM) [Информационные технологии. Технологии автоматической идентификации и сбора данных (АИСД). Гармонизированный словарь. Часть 2. Оптические носители данных (ОНД)]
ISO/IEC 24723, Information technology - Automatic identification and data capture techniques - GS1 Composite bar code symbology specification (Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики композитного штрихового кода GS1)
3 Термины и определения
_______________
3.1 модель базового канала (basic channel model): Стандартная система кодирования и передачи данных штрихового кода, в которой с выхода декодера поступают байты данных сообщения, но не передается никакой управляющей информации о сообщении.
Примечание - В соответствии с данной моделью декодер работает в режиме базового канала.
3.2 последовательность штрихов и пробелов (bar-space sequence): Последовательность, представляющая ширину элементов знака символа в модулях.
3.3 кластер (cluster): Одно из трех непересекающихся подмножеств знаков символа PDF417.
Примечание - Знаки символа в кластере соответствуют особым структурным правилам, которые используются при декодировании символики.
3.4 режим уплотнения (compaction mode): Наименование каждого из трех алгоритмов уплотнения данных PDF417: режим текстового уплотнения (Text Compaction mode), режим цифрового уплотнения (Numeric Compaction mode) и режим байтового уплотнения (Byte Compaction mode), эффективно преобразующих 8-битовые байты данных в кодовые слова PDF417.
3.5 е-расстояние (e-distance): Расстояние от ведущего края одного элемента до ведущего края следующего подобного элемента или от завершающего края одного элемента до завершающего края следующего элемента.
3.6 кодовое слово коррекции ошибок (error correction codeword): Кодовое слово, которое кодирует значение, получаемое из алгоритма исправления ошибок кодовых слов для декодирования обнаруженных ошибок и их исправления в зависимости от уровня коррекции ошибок.
3.7 интерпретация в расширенном канале (Extended Channel Interpretation, ECI): Процедура, применяемая в некоторых символиках, включая PDF417, для точной замены интерпретации по умолчанию иной интерпретацией.
Примечание - Интерпретация, изначально предназначенная для формирования символа, может быть восстановлена после декодирования сканированного символа для воссоздания сообщения данных в его исходном формате.
3.8 модель расширенного канала (Extended Channel Model): Система кодирования и передачи байтов данных сообщения и управляющей информации о сообщении, в которой управляющая информация передается с использованием управляющей последовательности интерпретации в расширенном канале (ECI).
Примечание - Декодер, соответствующий данной модели, работает в режиме расширенного канала.
3.9 функциональное кодовое слово (function codeword): Кодовое слово, которое инициирует определенную операцию в символике.
Пример - Функциональное кодовое слово используется, например, для перехода между кодированными наборами данных, вызова схемы уплотнения, программирования считывающего устройства или вызова интерпретаций в расширенном канале.
3.10 идентификатор глобальной метки (Global Label Identifier, GLI): Процедура в рамках символики PDF417, назначение которой идентично назначению интерпретации в расширенном канале.
Примечание - Связанная с символикой PDF417 система идентификаторов глобальных меток предшествовала независимой от символики системе интерпретации в расширенном канале.
3.11 Макро PDF417 (Macro PDF417): Процедура в символике PDF417 по логической передаче данных из компьютерного файла в комплект связанных символов PDF417.
Примечания
1 Эта процедура значительно расширяет емкость данных по сравнению с емкостью единичного символа.
2 Настоящая процедура подобна параметру структурированного соединения, применяемому в других символиках.
3.12 кодовое слово фиксации режима (Mode Latch codeword): Кодовое слово, используемое для перехода из одного режима в другой, который будет действовать до применения другого кодового слова фиксации режима или регистра режима, либо до окончания символа.
3.13 кодовое слово регистра режима (Mode Shift codeword): Кодовое слово, которое используется для перехода из одного режима в другой только для одного кодового слова, после чего режим кодирования возвращается к исходному.
3.14 кодовое слово индикатора строки (Row Indicator codeword): Кодовое слово PDF417, примыкающее к знаку СТАРТ или знаку СТОП в строке, которое кодирует информацию о структуре символа PDF417: идентификацию строки, общее количество строк и столбцов и уровень коррекции ошибки.
3.15 кодовое слово дескриптора длины символа (Symbol Length Descriptor): Первое кодовое слово в символе PDF417, кодирующее общее количество кодовых слов данных в символе.
4 Символы, операции и сокращения
4.1 Символы
В настоящем стандарте использованы следующие математические символы. В некоторых случаях эти символы имеют другие значения в уравнении с целью соответствия общепринятому использованию данных символов, что всегда ясно следует из текста.
4.2 Математические операции
В настоящем стандарте используются следующие обозначения для математических операций:
div - оператор целочисленного деления с округлением в меньшую сторону;
INT - целое число, полученное в результате округления в меньшую сторону до целого значения с отбрасыванием десятых долей;
mod - положительный остаток целого числа после деления. Если остаток окажется отрицательным, для получения положительного результата к нему прибавляют значение делителя. Например, остаток от деления минус 29160 на 929 равен минус 361. При прибавлении к остатку минус 361 делителя 929 получают положительное значение 568.
4.3 Сокращения
В настоящем стандарте применены следующие сокращения.
ECI - интерпретация в расширенном канале;
GLI - идентификатор глобальной метки.
5 Требования к символике PDF417
5.1 Показатели символики
5.1.1 Основные показатели
Символика штрихового ASCII (версия КОИ-7) кода PDF417 (русское обозначение ПДФ417) имеет следующие основные показатели:
a) кодируемый набор знаков:
_______________
_______________
3) в режиме цифрового уплотнения (5.4.4) позволяет эффективно кодировать цифровые последовательности данных;
4) позволяет кодировать до 811800 различных наборов знаков или интерпретаций данных;
5) позволяет кодировать различные функциональные кодовые слова для управления;
c) при максимально возможном количестве знаков данных в символе (при нулевом уровне коррекции ошибок) - 925 кодовых слов данных, позволяющих закодировать:
1) в режиме текстового уплотнения - 1850 знаков (2,0 знака данных на одно кодовое слово);
2) в режиме байтового уплотнения - 1108 знаков (1,2 знака данных на одно кодовое слово);
3) в режиме цифрового уплотнения - 2710 знаков (2,93 знака данных одно на* кодовое слово).
При минимальном рекомендуемом уровне коррекции ошибок - 863 кодовых слов данных, позволяющих закодировать:
4) в режиме текстового уплотнения - 1726 знаков (2,0 знака данных на одно кодовое слово);
5) в режиме байтового уплотнения - 1033 знаков (1,2 знака данных на одно кодовое слово);
6) в режиме цифрового уплотнения - 2528 знаков (2,93 знака данных одно на* кодовое слово);
d) размер символа:
1) количество строк - от 3 до 90;
2) количество столбцов - от 1 до 30;
3) ширина в модулях - от 90X до 583X, включая свободные зоны;
4) максимальное количество кодовых слов - 928;
5) максимальное количество кодовых слов данных - 925.
Так как может быть задано как число строк, так и число столбцов, то при печати может быть изменен коэффициент сжатия символа PDF417 для выполнения требований по размещению;
e) задаваемая коррекция ошибок - от 2 до 512 кодовых слов на один символ (5.7).
f) знаки, не относящиеся к знакам данных:
1) на одну строку - 73 модуля, включая свободные зоны;
2) на один символ - не менее трех кодовых слов, представленных в виде знаков символа;
g) тип кода - непрерывный, многострочный, двумерный;
h) самоконтроль знака - присутствует;
i) двунаправленное декодирование - присутствует.
5.1.2 Дополнительные свойства
В символике PDF417 к дополнительным свойствам (обязательным или необязательным) относят:
a) уплотнение данных (обязательное свойство).
_______________
b) интерпретацию в расширенном канале (необязательное свойство).
Данный механизм позволяет кодировать до 811800 различных наборов знаков данных или интерпретаций (5.5);
c) Макро PDF417 (необязательное свойство).
Данный механизм предоставляет логическое и последовательное представление файлов данных в ряде символов PDF417, которые, вплоть до 99999 символов PDF417, могут быть связаны или соединены и отсканированы в любом порядке для правильного восстановления исходного файла данных (5.13);
d) декодируемость от края до края (обязательное свойство).
PDF417 может декодироваться измерением размеров от края одного элемента знака символа до соответствующего края другого элемента знака символа (5.3.1);
e) перекрестное сканирование строк (обязательное свойство).
Для перекрестного сканирования строк в PDF417 используют сочетание трех следующих показателей:
1) синхронизацию по горизонтали или синхронизацию по времени;
2) идентификацию строки;
3) синхронизацию по вертикали с использованием значений кластеров для обеспечения локального распознавания строк.
При использовании данного сочетания одиночное линейное сканирование при пересечении ряда строк позволяет получить неполное декодирование данных, если хотя бы один полный знак символа в строке был декодирован и получено значение его кодового слова. В дальнейшем с помощью алгоритма декодирования отдельные кодовые слова могут быть соединены в значащую матрицу;
f) коррекцию ошибок (обязательное свойство).
Пользователь может задать один из девяти уровней коррекции ошибок. На всех уровнях, кроме нулевого, возможно не только обнаружение ошибок, но и исправление ошибочно закодированных или недостающих кодовых слов (5.7).
g) Компакт PDF417 (необязательное свойство).
_______________
Примечание - В предыдущих спецификациях символики PDF417 данное свойство называлось "Сокращенный PDF417" ("Truncated PDF417"). Использование термина "Компакт PDF417" ("Compact PDF417") является предпочтительнее во избежание путаницы с общепринятым использованием термина "сокращенный".
5.2 Структура символа
5.2.1 Параметры символа PDF417
Каждый символ PDF417, состоящий из множества выровненных по вертикали строк, должен содержать не менее трех строк (но не более 90). Каждая строка должна содержать не менее одного знака символа (но не более 30 знаков символа) без учета столбцов знаков СТАРТ, СТОП и столбцов индикатора строк. Символ должен включать свободные зоны со всех четырех сторон. На рисунке 1 приведен символ PDF417 с закодированными данными: PDF417 Symbology Standard.
|
Рисунок 1 - Структура символа PDF417
5.2.2 Параметры строки
Каждая строка PDF417 должна содержать:
a) начальную свободную зону;
b) знак СТАРТ;
c) знак символа левого индикатора строки;
d) от 1 до 30 знаков символа;
e) знак символа правого индикатора строки;
f) знак СТОП;
g) конечную свободную зону.
Примечание - Число знаков символа (или кодовых слов), приведенных в перечислении d), соответствует числу столбцов в символе PDF417.
5.2.3 Последовательность кодовых слов
Символ PDF417 может содержать до 928 знаков символа или кодовых слов. Термин "знак символа" рекомендуют использовать для обозначения напечатанной комбинации штрихов и пробелов; термин "кодовое слово" - для числового значения знака символа. Кодовые слова должны быть приведены в следующей последовательности:
a) первое кодовое слово, соответствующее дескриптору длины символа, всегда должно кодировать общее количество кодовых слов данных в символе, включая сам дескриптор длины символа, кодовые слова данных и кодовые слова-заполнители, за исключением числа кодовых слов коррекции ошибок;
b) далее должны следовать кодовые слова данных, начиная со старшего закодированного знака. Могут быть вставлены функциональные кодовые слова для уплотнения данных;
c) далее располагаются кодовые слова-заполнители, помогающие представить последовательность кодовых слов в виде прямоугольной матрицы. Кодовые слова-заполнители можно также использовать для формирования дополнительных полных конечных строк с целью получения желаемого коэффициента сжатия или установленного в спецификации по применению;
d) далее может располагаться необязательный управляющий блок Макро PDF417;
e) затем располагаются кодовые слова коррекции ошибок для обнаружения и исправления ошибок.
Кодовые слова должны быть расположены таким образом, чтобы кодовое слово позиции старшего разряда примыкало к дескриптору длины символа, а остальные кодовые слова кодировались слева направо от верхнего ряда к нижнему. На рисунке 2 в виде схемы представлена последовательность кодовых слов для символа, подобного представленному на рисунке 1. На рисунке 2 используется уровень коррекции ошибок 1 и требуется одно кодовое слово-заполнитель для полного заполнения матрицы символа.
|
Рисунок 2 - Пример схемы размещения символа PDF417
Правила и рекомендации по определению структуры матрицы приведены в 5.9.
5.3 Основное кодирование
5.3.1 Структура знака символа
Каждый знак символа задается последовательностью штрихов и пробелов из восьми цифр, которые представляют ширину в модулях каждого из восьми элементов этого знака символа. На рисунке 3 представлен знак символа с последовательностью штрихов и пробелов 51111125.
|
Рисунок 3 - Знак символа PDF417
В PDF417 имеется 929 установленных значений знаков символа (кодовых слов), пронумерованных от 0 до 928.
Кодовые слова представлены в виде трех взаимно исключающих наборов знаков символа или кластеров. Каждый кластер кодирует 929 допустимых кодовых слов PDF417 в виде различных комбинаций штрихов и пробелов так, что один кластер отличается от другого. Кластеры обозначают номерами 0, 3, 6. Определение кластера распространяется на все знаки символа PDF417, за исключением знаков СТАРТ и СТОП.
Значения кодовых слов и последовательности штрихов и пробелов для каждого кластера знаков символа приведены в приложении А.
5.3.2 Знаки СТАРТ и СТОП
Знаки СТАРТ и СТОП должны быть представлены в соответствии с таблицей 1 и рисунком 4.
Таблица 1 - Последовательность штрихов и пробелов для знаков СТАРТ и СТОП
|
|
|
|
|
|
|
|
|
|
Знак | Последовательность штрихов и пробелов | ||||||||
| B | S | B | S | B | S | B | S | В |
СТАРТ | 8 | 1 | 1 | 1 | 1 | 1 | 1 | 3 |
|
СТОП | 7 | 1 | 1 | 3 | 1 | 1 | 1 | 2 | 1 |
Примечание 1 - Знаки PDF417 СТАРТ и СТОП уникальны тем, что в них присутствуют элементы шириной более шести модулей.
Примечание 2 - Знак СТОП имеет один дополнительный элемент - штрих шириной в один модуль.
Последовательность штрихов и пробелов в знаках СТАРТ и СТОП должна быть одинаковой для всех строк.
|
Рисунок 4 - Знаки PDF417 СТАРТ и СТОП
5.4 Высокоуровневое кодирование данных
Высокоуровневое кодирование преобразовывает знаки данных в соответствующие им значения кодовых слов.
При высокоуровневом кодировании используют схемы уплотнения данных. Соответствие заданных пользователем данных и последовательностей кодовых слов в PDF417 устанавливают три режима уплотнения данных:
_______________
- байтовое уплотнение (5.4.3);
- цифровое уплотнение (5.4.4).
Данная цепочка байтов может быть представлена различными последовательностями кодовых слов, в зависимости от кодирования переходов между режимами и подрежимами уплотнения. В символике PDF417 нет специального способа кодирования данных.
В каждом режиме предусмотрены 900 кодовых слов (со значениями от 0 до 899) для кодирования данных и иных функций в рамках этого режима. Оставшиеся 29 кодовых слов предназначены для специальных функций (5.4.1), независимых от текущего режима уплотнения.
Символика PDF417 также поддерживает систему интерпретации в расширенном канале, позволяющую точно кодировать разные интерпретации данных в символе (5.5).
5.4.1 Функциональные кодовые слова
Кодовые слова со значениями от 900 до 928 (далее - кодовые слова от 900 до 928) используются в качестве функциональных кодовых слов:
- для переключения между режимами (5.4.1.1);
- для усовершенствованных приложений, использующих интерпретации в расширенном канале (5.4.1.2);
- для других усовершенствованных приложений (5.4.1.3 и 5.4.1.4).
В настоящее время кодовые слова от 903 до 912, от 914 до 917 и 919 зарезервированы. В таблице 2 приведен полный список назначенных и зарезервированных функциональных кодовых слов, функции которых установлены в 5.4.1.1-5.4.1.5. Зарезервированные кодовые слова представлены в 5.4.6.
Таблица 2 - Назначение функциональных кодовых слов PDF417
|
|
|
Значение кодового слова | Функция | Пункт настоящего стандарта |
900 | Фиксация режима текстового уплотнения | 5.4.1.1 |
901 | Фиксация режима байтового уплотнения | 5.4.1.1, 5.4.3.1 |
902 | Фиксация режима цифрового уплотнения | 5.4.1.1 |
903-912 | Зарезервированы |
|
913 | Переключение регистра в режим байтового уплотнения | 5.4.1.1 |
914-917, 919 | Зарезервированы | - |
918 | Признак наличия связанного линейного компонента в композитном символе (отличном от композитного символа GS1 ) | 5.4.1.5 |
920 | Признак наличия связанного линейного компонента в композитном символе GS1 | 5.4.1.5 |
921 | Инициализация считывающего устройства | 5.4.1.4 |
922 | Конечное кодовое слово для управляющего блока Макро PDF417 | 5.13.13* |
923 | Метка последовательности для идентификации необязательных полей в управляющем блоке Макро PDF417 | 5.13 |
924 | Фиксация режима байтового уплотнения (используется отлично от функции с кодовым словом 901) | 5.4.1.1, 5.4.3.1 |
925-927 | Идентификатор для интерпретации в расширенном канале | 5.5 |
928 | Кодовое слово - макро-метка для указания начала управляющего блока Макро PDF | 5.13 |
5.4.1.1 Функциональные кодовые слова для переключения режимов уплотнения
В одном символе PDF417 предусмотрена возможность двухстороннего переключения режимов с требуемой частотой. Рекомендации по выбору режимов приведены в 5.4.5.
Для переключения из текущего режима в требуемый режим (который будет оставаться в действии до тех пор, пока он не будет изменен на другой) должно использоваться кодовое слово фиксации режима. Для этой функции предназначены кодовые слова 900-902 и 924 (таблица 3).
Кодовое слово 913 регистра байтового уплотнения вызывает временный переход из режима текстового уплотнения в режим байтового уплотнения. Этот переход действует только для следующего кодового слова, после чего происходит возврат в прежний подрежим режима текстового уплотнения. Кодовое слово 913 может применяться только в режиме текстового уплотнения; его использование установлено в 5.4.2.4.
Таблица 3 - Кодовые слова установления режима и перехода между режимами
|
|
|
Требуемый режим | Фиксация режима | Регистр режима |
Текстовое уплотнение | 900 | - |
Байтовое уплотнение | 901/924 | 913 |
Цифровое уплотнение | 902 | - |
Примечание - В таблице 3 указаны кодовые слова, используемые для перехода в требуемый режим.
Порядок перехода между тремя режимами установлен в таблице 4 и приведен в рисунке 5.
Таблица 4 - Таблица переходов между режимами, представляющая кодовые слова и их функции
|
|
|
|
Исходный режим | Кодовое слово, используемое для перехода в требуемый режим | ||
| Текстового уплотнения | Байтового уплотнения | Цифрового уплотнения |
Текстовое уплотнение | 900 (фиксация режима текстового уплотнения) | 913 (регистр режима байтового уплотнения)
901 (фиксация режима байтового уплотнения)
924 (фиксация режима байтового уплотнения) | 902 (фиксация режима цифрового уплотнения) |
Байтовое уплотнение | 900 (фиксация режима текстового уплотнения) | 901 (фиксация режима байтового уплотнения)
924 (фиксация режима байтового уплотнения) | 902 (фиксация режима цифрового уплотнения) |
Цифровое уплотнение | 900 (фиксация режима текстового уплотнения) | 901 (фиксация режима байтового уплотнения)
924 (фиксация режима байтового уплотнения) | 902 (фиксация режима цифрового уплотнения) |
|
Рисунок 5 - Возможные переходы между режимами
Правила перехода в режим байтового уплотнения более подробно приведены в 5.4.3.1.
5.4.1.2 Функциональные кодовые слова для перехода к интерпретациям в расширенном канале
Кодовое слово интерпретации в расширенном канале (кодовое слово ECI) может быть использовано для перехода к особой интерпретации, которая будет действовать до другого кодового слова ECI или до окончания данных. Для этой функции назначены кодовые слова от 925 до 927 (5.5).
5.4.1.3 Функциональные кодовые слова для Макро PDF417
Символы Макро PDF417 (в соответствии с 5.13) должны использовать кодовое слово 928 в начале управляющего блока Макро PDF417. Кодовые слова 922 и 923 используют для особых функций в Макро PDF417.
5.4.1.4 Функциональное кодовое слово для инициализации считывающего устройства
Кодовое слово используют для указания считывающему устройству, что данные, заключенные внутри символа, являются программным кодом для инициализации считывающего устройства. Кодовое слово 921 должно быть первым кодовым словом после дескриптора длины символа. В случае применения последовательности инициализации Макро PDF417 в каждом символе должно появляться кодовое слово 921.
Считывающее устройство не должно передавать данные, содержащиеся в символе инициализации или в последовательности таких символов.
5.4.1.5 Функциональные кодовые слова для признака связи в композитном символе
_______________
Кодовое слово 918 должно использоваться как признак наличия связанного линейного компонента в любой другой композитной символике.
Кодовые слова 918 или 920 могут присутствовать в любом месте символа. В конкретной спецификации по применению композитной символики может быть явно указана позиция признака наличия связанного компонента.
Считывающие устройства, поддерживающие индикацию композитного символа, должны декодировать и передавать данные от всех компонентов, как указано в спецификации соответствующей композитной символики. Считывающие устройства, не поддерживающие индикацию композитного символа, могут обрабатывать кодовые слова 918 или 920 как зарезервированные (5.4.6). Считывающие устройства, не поддерживающие индикацию композитного символа, опционально могут игнорировать двумерный компонент композитного символа и передавать данные только из связанного линейного компонента.
5.4.2 Режим текстового уплотнения
Режим текстового уплотнения включает все графические знаки набора ASCII (версии КОИ-7) (т.е. знаки с десятичными значениями от 32 до 126) и три управляющих знака набора ASCII (версии КОИ-7): НТ (ГТ или ГОРИЗОНТАЛЬНОЕ ТАБУЛИРОВАНИЕ) (десятичное значение знака 9), LF (ПС или ПЕРЕВОД СТРОКИ) (десятичное значение знака 10), и CR (ВК или ВОЗВРАТ КАРЕТКИ) (десятичное значение знака 13).
Режим текстового уплотнения предусматривает также различные знаки с функциями фиксации и переключения регистра, которые используют исключительно в рамках режима текстового уплотнения.
В режиме текстового уплотнения осуществляется кодирование до двух знаков в кодовом слове. Правила уплотнения для преобразования данных в кодовые слова PDF417 приведены в 5.4.2.2. Переключения подрежимов приведены в 5.4.2.3.
5.4.2.1 Подрежимы режима текстового уплотнения
Режим текстового уплотнения предусматривает четыре подрежима:
- прописных букв (Alpha) (прописные буквы латинского алфавита);
- строчных букв (Lower) (строчные буквы латинского алфавита);
- смешанных знаков (Mixed) (числа и некоторые знаки пунктуации);
- знаков пунктуации (Punctuation).
В каждом подрежиме содержится 30 знаков, в том числе знаки фиксации подрежима (sub-mode latch) и регистра подрежима (sub-mode shift).
Режимом уплотнения по умолчанию для PDF417 должен быть режим текстового уплотнения в подрежиме прописных букв. При переходе из другого режима кодовое слово фиксации режима текстового уплотнения должно всегда переключать в подрежим прописных букв режима текстового уплотнения.
Все знаки и их значения приведены в таблице 5.
Таблица 5 - Определения подрежимов режима текстового уплотнения
|
|
|
|
|
|
|
|
|
30 базовых значений | Подрежимы режима текстового уплотнения | |||||||
| Прописные буквы (Alpha) | Строчные буквы (Lower) | Специальные знаки (Mixed) | Знаки пунктуации (Punctuation) | ||||
| Знак | ASCII | Знак | ASCII | Знак | ASCII | Знак | ASCII |
0 | A | 65 | a | 97 | 0 | 48 | ; | 59 |
1 | B | 66 | b | 98 | 1 | 49 | < | 60 |
2 | C | 67 | c | 99 | 2 | 50 | > | 62 |
3 | D | 68 | d | 100 | 3 | 51 | @ | 64 |
4 | E | 69 | e | 101 | 4 | 52 | [ | 91 |
5 | F | 70 | f | 102 | 5 | 53 | \ | 92 |
6 | G | 71 | g | 103 | 6 | 54 | ] | 93 |
7 | H | 72 | h | 104 | 7 | 55 | _ | 95 |
8 | I | 73 | i | 105 | 8 | 56 | ’ | 96 |
9 | J | 74 | j | 106 | 9 | 57 | ~ | 126 |
10 | K | 75 | k | 107 | & | 38 | ! | 33 |
11 | L | 76 | I | 108 | CR | 13 | CR | 13 |
12 | M | 77 | m | 109 | HT | 9 | HT | 9 |
13 | N | 78 | n | 110 | , | 44 | , | 44 |
14 | О | 79 | o | 111 | : | 58 | : | 58 |
15 | P | 80 | p | 112 | # | 35 | LF | 10 |
16 | Q | 81 | q | 113 | - | 45 | - | 45 |
17 | R | 82 | r | 114 | . | 46 | . | 46 |
18 | S | 83 | s | 115 | $ | 36 | $ | 36 |
19 | T | 84 | t | 116 | / | 47 | / | 47 |
20 | U | 85 | u | 117 | + | 43 | " | 34 |
21 | V | 86 | v | 118 | % | 37 | | | 124 |
22 | W | 87 | w | 119 | * | 42 | * | 42 |
23 | X | 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 | II | as | II | } | 125 | |||
28 | ml | ml | al | ’ | 39 | |||
29 | ps | ps | ps | al | ||||
al - знак фиксации подрежима прописных букв (latch to Alpha);
as - знак регистра подрежима прописных букв (shift to Alpha);
II - знак фиксации подрежима строчных букв (latch to Lower);
ml - знак фиксации подрежима смешанных знаков (latch to Mixed);
pl - знак фиксации подрежима знаков пунктуации (latch to Punctuation);
ps - знак регистра подрежима знаков пунктуации (shift to Punctuation). |
Примечание - В графах "Знак" по умолчанию представлена интерпретация в расширенном канале ECI 000003 для значений байтов, представленных в соседних графах "ASCII". Каждая величина, указанная в таблице, представляет собой половину кодового слова, т.е. значения от 0 до 29 (см. 5.4.2.2).
5.4.2.2 Правила уплотнения для кодирования в режиме текстового уплотнения
Значение закодированного кодового слова в PDF417 определяется по формуле
Эта формула также распространяется на 30 базовых значений для функций фиксации подрежима (sub-mode latch) и регистра подрежима (sub-mode shift) в рамках режима текстового уплотнения. Для переключения между подрежимами следует использовать соответствующие значения знаков фиксации подрежима (sub-mode latch) и регистра подрежима (sub-mode shift). Если в результате кодирования последовательности знаков не получено четное число 30 базовых значений, следует использовать специальную методику, приведенную в 5.4.2.4.
Приведенный пример кодирования представляет, каким образом достигается уплотнение в режиме текстового уплотнения.
Пример - Подлежащие кодированию данные: PDF417.
Таблица 6 - Пример кодирования в режиме текстового уплотнения
|
|
|
|
|
Пары знаков | Кодовое слово | |||
P D | 15 | 3 | 15x30+3 | 453 |
F ml | 5 | 28 | 5x30+28 | 178 |
4 1 | 4 | 1 | 4x30+1 | 121 |
7 ps | 7 | 29 | 7x30+29 | 239 |
Примечание 1 - ml - знак фиксации подрежима смешанных знаков используется для переключения с целью кодирования цифровых знаков.
Примечание 2 - Знак ps используется в этом примере как значение-заполнитель, могут использоваться и другие значения знаков регистра подрежима и фиксации подрежима (см. 5.4.2.4).
Данные PDF417 представлены кодовыми словами 453, 178, 121, 239.
5.4.2.3 Переключение подрежимов режима текстового уплотнения (функции фиксации подрежима и регистра подрежима)
Переключение из одного подрежима в другой в пределах режима текстового уплотнения должно выполняться с помощью значений знаков фиксации подрежима и регистра подрежима, заданных для подрежима и действующих до переключения.
Знак регистра подрежима должен использоваться для переключения из одного подрежима режима текстового уплотнения в другой только для одного знака данных. Последующие кодовые слова возвращаются в подрежим, который использовался непосредственно до знака регистра подрежима (кроме случая, когда знак ps используется в качестве знака-заполнителя, в соответствии с 5.4.2.4). Функции знака регистра подрежима:
- ps - переключение регистра в подрежим знаков пунктуации (shift to punctuation sub-mode);
- as - переключение регистра в подрежим прописных букв (shift to uppercase alphabetic sub-mode).
Знак фиксации подрежима должен использоваться для переключения из одного подрежима режима текстового уплотнения в другой, который будет действовать до тех пор, пока не будет явно задействован другой знак регистра подрежима или знак фиксации подрежима. Функции знака фиксации подрежима:
- al - фиксация подрежима прописных букв (latch to uppercase alphabetic sub-mode);
- II - фиксация подрежима строчных букв (latch to lowercase alphabetic sub-mode);
- ml - фиксация подрежима смешанных знаков [цифровые или другие знаки пунктуации (latch to mixed sub-mode)];
- pl - фиксация подрежима знаков пунктуации (latch to punctuation sub-mode).
Внутри каждого подрежима режима текстового уплотнения допускается ограниченный набор функций фиксации подрежима и переключения регистра подрежима (таблица 5). В таблице 7 представлены переключения подрежимов режима текстового уплотнения; на рисунке 6 приведена схема данного процесса.
Примечание - После знака фиксации подрежима может следовать другой знак фиксации подрежима или знак регистра подрежима; но после знака регистра подрежима не может следовать ни знак фиксации подрежима, ни знак регистра подрежима.
Таблица 7 - Переключения подрежимов в режиме текстового уплотнения
|
|
|
|
|
Исходный подрежим | Знаки для переключения в требуемый подрежим | |||
| Прописные буквы | Строчные буквы | Смешанные знаки | Знаки пунктуации |
Прописные буквы |
| II | ml | ps |
Строчные буквы | as |
| ml | ps |
Смешанные знаки | al | II |
| ps pl |
Знаки пунктуации | al |
|
|
|
|
II - знак фиксации подрежима строчных букв;
ps - знак регистра подрежима знаков пунктуации;
ml - знак фиксации подрежима смешанных знаков;
as - знак регистра подрежима прописных букв;
al - знак фиксации подрежима прописных букв;
pl - знак фиксации подрежима знаков пунктуации
Рисунок 6 - Переключения подрежимов в режиме текстового уплотнения
5.4.2.4 Методика применения знака-заполнителя в режиме текстового уплотнения
Если последовательность знаков из 30 базовых значений в режиме текстового уплотнения не является четным числом, то к окончанию последовательности знаков добавляют знак-заполнитель (см. таблицу 6). Поскольку в режиме текстового уплотнения нет специальных нулевых функций, знаки фиксации подрежима и регистра подрежима должны использоваться в соответствии с приведенной ниже методикой:
a) если последовательность знаков представляет собой окончание данных или за последовательностью знаков в режиме текстового уплотнения следует фиксация другого режима уплотнения, то знаком-заполнителем может быть любой знак регистра подрежима или фиксации подрежима;
b) если за последовательностью знаков в режиме текстового уплотнения следует функция переключения регистра в режим байтового уплотнения (кодовое слово 913) для кодирования одного знака в режиме байтового уплотнения, то можно применять два способа в зависимости от подрежима режима текстового уплотнения, использованного до переключения регистра в режим байтового уплотнения:
1) если подрежим режима текстового уплотнения не является подрежимом знаков пунктуации, то должен использоваться знак со значением 29 (ps) из 30 базовых значений, при условии, что кодирование вернется к тому же подрежиму режима текстового уплотнения. Декодер должен игнорировать знак ps, который непосредственно предшествует кодовому слову 913;
2) если подрежимом режима текстового уплотнения является подрежим знаков пунктуации, то используют знак со значением 29 (al) из 30 базовых значений. Декодер не должен игнорировать знак (al) и таким образом должен осуществиться возврат в подрежим прописных букв. Переключение из режима текстового уплотнения.
Режим текстового уплотнения может завершиться с окончанием символа или любым из нижеперечисленных кодовых слов:
- 900 (фиксация режима текстового уплотнения);
- 901 (фиксация режима байтового уплотнения);
- 902 (фиксация режима цифрового уплотнения);
- 924 (фиксация режима байтового уплотнения);
- 928 (начало управляющего блока Макро PDF417);
- 923 (начало необязательного поля Макро PDF417);
- 922 (ограничитель Макро PDF417).
Последние три кодовых слова могут встречаться только внутри управляющего блока Макро PDF417 символа Макро PDF417 (5.13.1). На режим текстового уплотнения также влияет присутствие зарезервированного кодового слова (5.4.6).
Если декодер находится в режиме текстового уплотнения и встречается кодовое слово 913 (регистр режима байтового уплотнения), он декодирует кодовое слово, которое следует за кодовым словом 913, как отдельный двоичный байт, и затем возвращается к режиму текстового уплотнения. Подрежим, в который возвращается декодер, является самым последним фиксированным подрежимом, который действовал до кодового слова 913; знак регистра подрежима ps, непосредственно предшествующий кодовому слову 913, игнорируют.
Если декодер находится в режиме текстового уплотнения и встречает кодовое слово 900 (фиксация режима текстового уплотнения), то декодер вернется в подрежим прописных букв.
5.4.3 Режим байтового уплотнения
Режим байтового уплотнения позволяет кодировать последовательность 8-битового набора байтов в последовательность кодовых слов преобразованием базы 256 в базу 900, при этом достигается коэффициент уплотнения, равный шести байтам на пять кодовых слов (1,2:1).
Набор знаков и их значения (от 0 до 255) приведены в приложении В. Они должны рассматриваться как заданная по умолчанию интерпретация графических и управляющих знаков. При вызове интерпретаций в расширенном канале (ECI) (см. 5.5) эта интерпретация задана как ECI 000003 (см. 5.5.2).
Примечание - В исходной версии спецификации символики PDF417 ([3] и [4]), набор знаков по умолчанию соответствовал ECI 000002 (кодовая страница операционной системы MS-DOS). Интерпретация байтов со значениями меньше 128 не изменилась и оборудование для операций печати и сканирования PDF417 не требует доработки. Новые приложения, которые обрабатывают байты со значениями больше 127, должны подразумевать ECI 000003 как интерпретацию по умолчанию для совместимости с большинством существующих систем. Существующие приложения, использующие байты со значениями более 127, могут продолжать кодировать и обрабатывать данные как прежде. Приложения, которые полагаются на предшествующую заданную по умолчанию интерпретацию значений больше 127, могут явно кодировать ECI 000002, если они желают сообщить об этой интерпретации.
5.4.3.1 Переход в режим байтового уплотнения
Для режимов текстового или цифрового уплотнения при переходе в режим байтового уплотнения необходимо использовать одно из следующих кодовых слов:
- 924 (фиксация режима байтового уплотнения) - при общем числе знаков в режиме байтового уплотнения, подлежащих кодированию, кратном шести;
- 901 (фиксация режима байтового уплотнения) - при общем числе знаков в режиме байтового уплотнения, подлежащих кодированию, не кратном шести;
- 913 (регистр режима байтового уплотнения), которое может использоваться вместо кодового слова 901, когда в режиме байтового уплотнения подлежит кодированию одиночный знак.
5.4.3.2 Правила уплотнения для кодирования одиночного знака в режиме байтового уплотнения (с использованием кодового слова регистра режима байтового уплотнения 913)
Для кодирования одиночного знака в режиме байтового уплотнения значение кодового слова должно соответствовать десятичному значению (от 0 до 255) знака из расширенного набора ASCII (версия КОИ-8) в соответствии с приложением В.
5.4.3.3 Правила уплотнения для кодирования протяженных цепочек знаков в режиме байтового уплотнения (с использованием кодовых слов фиксации режима байтового уплотнения 924 или 901)
Для кодирования знака данных в режиме байтового уплотнения используют следующую процедуру:
a) устанавливают общее число знаков режима байтового уплотнения;
b) при наличии числа, кратного шести, используют кодовое слово 924 (фиксация режима байтового уплотнения), в противном случае используют кодовое слово 901 (фиксация режима байтового уплотнения);
c) количество знаков в режиме байтового уплотнения разбивают на последовательности из шести знаков слева направо (от позиций старших разрядов к младшим). Если количество знаков менее шести, следует перейти к этапу g);
e) преобразуют базу 256 в базу 900 для получения последовательности из пяти кодовых слов (в приложении C определен алгоритм и приведен пример);
f) при необходимости повторяют операцию на этапе с);
g) для оставшихся знаков режима байтового уплотнения при использовании кодового слова фиксации режима байтового уплотнения 901 (т.е. когда количество знаков режима байтового уплотнения в последней группе менее шести) значением (значениями) кодового слова (слов) должно быть десятичное значение (десятичные значения) (от 0 до 255) знака (знаков) в соответствии с примером кодирования, приведенным в приложении В, от позиций старших разрядов к младшим.
Примечание - Режим байтового уплотнения, следующий за кодовым словом 901 (фиксация режима байтового уплотнения), предполагает, что общее число байтов, подлежащих кодированию, не является кратным шести. Если число байтов, подлежащих кодированию в режиме байтового уплотнения, кратно шести, для соответствия настоящим правилам кодирования можно разместить в любой точке символа кодовое слово фиксации режима 901 или 924. Например, кодовое слово 924 представленное в качестве первого или второго кодового слова, будет идентифицировать следующую за ним последовательность кодовых слов режима байтового уплотнения как кодируемое число байтов, кратное шести. В качестве альтернативы кодовое слово 901 может быть вставлено в любую позицию в пределах последовательности кодовых слов режима байтового уплотнения, что разделит эту последовательность на две части, из которых ни одна не кодирует число байтов, кратное шести.
Если в режимах текстового или цифрового уплотнения требуется дополнительное кодирование, следует использовать соответствующие знаки фиксации режима (5.4.1.1).
5.4.3.4 Переход из режима байтового уплотнения
Режим байтового уплотнения может быть завершен с окончанием символа или любым из указанных кодовых слов:
- 900 (фиксация режима текстового уплотнения);
- 901 (фиксация режима байтового уплотнения);
- 902 (фиксация режима цифрового уплотнения);
- 924 (фиксация режима байтового уплотнения);
- 928 (начало управляющего блока Макро PDF417);
- 923 (начало необязательного поля Макро PDF417);
- 922 (ограничитель Макро PDF417).
Три последних кодовых слова могут встречаться только внутри управляющего блока Макро PDF417 символа Макро PDF417 (5.13.1). На режим байтового уплотнения также влияет присутствие зарезервированного кодового слова (5.4.6).
Повторный вызов режима байтового уплотнения (посредством использования кодового слова 901 или 924 во время действия режима байтового уплотнения) служит для завершения предыдущего режима байтового уплотнения группирования в шести знаках режима байтового уплотнения, как указано в 5.4.3.3, и, затем, для начала нового группирования. Эта процедура может быть необходима при кодировании номера назначения интерпретации в расширенном канале (ECI assignment number) в соответствии с 5.5.3.2.
В ходе процесса декодирования в режиме байтового уплотнения обработка последней группы кодовых слов различается в зависимости оттого, каким кодовым словом (901 или 924) был вызван режим байтового уплотнения:
Если режим байтового уплотнения вызван кодовым словом 924, то общее число кодовых слов в пределах режима уплотнения должно быть кратным пяти. В противном случае символ является дефектным. Все группы из пяти кодовых слов декодируют в виде групп из 6 байтов.
Если режим байтового уплотнения вызван кодовым словом 901, то последнюю группу кодовых слов строго интерпретируют как один байт на кодовое слово, без уплотнения. Следовательно, если последняя группа состоит из пяти кодовых слов, группу интерпретируют как 5 байтов, а не 6 байтов.
5.4.4 Режим цифрового уплотнения
Режим цифрового уплотнения является методом уплотнения данных с базы 10 в базу 900 и должен использоваться для кодирования протяженных цепочек последовательных цифровых разрядов. Режим цифрового уплотнения позволяет кодировать до 2,93 цифровых разрядов на кодовое слово.
5.4.4.1 Переключение в режим цифрового уплотнения
Вызов режима цифрового уплотнения может быть осуществлен из режимов байтового или текстового уплотнения с использованием кодового слова фиксации режима цифрового уплотнения 902.
5.4.4.2 Правила уплотнения для кодирования протяженных цепочек последовательных цифровых разрядов
Для уплотнения цифровых данных используют следующую процедуру:
a) следует разделить цепочку цифр на группы из 44 цифр, за исключением последней группы, которая может содержать меньшее количество цифр;
b) в каждой группе к позиции старшего разряда должна быть добавлена цифра 1 для исключения потери начальных нулей.
|
|
|
Пример - | Исходные данные: | 00246812345678 |
| После выполнения этапа b): | 1 00246812345678 |
Примечание - Начальная цифра 1 исключается в алгоритме декодирования.
c) следует провести преобразование базы 10 в базу 900. В приложении D установлен алгоритм преобразования и приведен пояснительный пример;
d) при необходимости повторяют операцию на этапе b).
Для определения точного числа кодовых слов в режиме цифрового уплотнения могут использоваться следующие правила:
- группы из 44 цифровых разрядов уплотнены в 15 кодовых слов;
- для групп более коротких цифровых последовательностей число кодовых слов можно вычислить следующим образом:
кодовые слова = INT (количество цифр / 3) +1
Пример - Для последовательности из 28 разрядов
INT (28/3) + 1 =9 + 1 = 10 кодовых слов
5.4.4.3 Переключение из режима цифрового уплотнения
Режим цифрового уплотнения может быть завершен с окончанием символа или с помощью любого из указанных кодовых слов:
- 900 (фиксация режима текстового уплотнения);
- 901 (фиксация режима байтового уплотнения);
- 902 (фиксация режима цифрового уплотнения);
- 924 (фиксация режима байтового уплотнения);
- 928 (начало управляющего блока Макро PDF417);
- 923 (начало необязательного поля Макро PDF417);
- 922 (ограничитель Макро PDF417).
Последние три кодовых слова могут встречаться только внутри управляющего блока Макро PDF417 символа Макро PDF417 (5.13.1). На режим цифрового уплотнения также влияет присутствие зарезервированного кодового слова (5.4.6).
Повторный вызов режима цифрового уплотнения (путем использования кодового слова 902, не выходя из режима цифрового уплотнения) служит для завершения группирования текущего режима цифрового уплотнения, как указано в 5.4.4.2, и для начала новой группировки. Эта процедура может быть необходима при кодировании номера назначения интерпретации в расширенном канале (в соответствии с 5.5.3.4).
В ходе процесса декодирования для режима цифрового уплотнения результат преобразования базы 900 в базу 10 должен привести к числу, в котором разрядом старшего порядка является 1. Если при преобразовании базы 900 в базу 10 в результате получится число, начинающееся не с 1, символ должен рассматриваться как дефектный. Начальная 1 исключается при получении исходного числа.
5.4.5 Рекомендации по выбору подходящего режима уплотнения
Все базовые разработки при печати и сканировании символов PDF417 должны предусматривать три режима: текстовое уплотнение, байтовое уплотнение, цифровое уплотнение. Набор знаков по умолчанию для режима текстового уплотнения должен соответствовать приведенному в таблице 5, а для режима байтового уплотнения - установленному в приложении В. Режим текстового уплотнения обычно эффективнее режима байтового уплотнения для кодирования текстовых файлов типового набора ASCII (версии КОИ-7) в связи с большим уплотнением знаков ASCII с десятичными значениями 9, 10, 13 и от 32 до 126.
Режим цифрового уплотнения должен использоваться для протяженных цепочек цифр.
Рекомендации по переключению между режимами для получения наименьшего числа кодовых слов приведены в виде алгоритма в приложении N.
5.4.6 Обработка зарезервированных кодовых слов PDF417
5.4.6.1 Краткий обзор
Символы PDF417, предназначенные для использования в открытых системах, не должны использовать кодовые слова, которые обозначены как зарезервированные (5.4.1) в настоящем стандарте. Однако декодирующее оборудование должно поддерживать передачу зарезервированных кодовых слов, используя управляющие последовательности в соответствии с 5.17.4. Декодирующее оборудование также может поддерживать опцию обработки таких символов как дефектных, что может произойти при работе в режиме базового канала.
Системы приема должны отбрасывать данные, содержащие любые управляющие последовательности, использующие зарезервированные кодовые слова до тех пор, пока в систему не внесут новое определение для ранее зарезервированного кодового слова.
5.4.6.2 Расширение перечня зарезервированных кодовых слов для будущих версий
Любые новые кодовые слова, подлежащие определению в будущих редакциях настоящего стандарта, должны иметь свои правила кодирования, направленные на обеспечение обратной совместимости с ранее установленным оборудованием, в частности:
a) если закодировано новое сигнальное кодовое слово (отличное от кодового слова нового режима уплотнения), непосредственно за ним должна следовать соответствующая функция фиксации режима уплотнения, чтобы последующие кодовые слова интерпретировались и передавались в качестве набора байтов, а не в качестве серий управляющих неинтерпретируемых кодовых слов. При использовании данного подхода будут достигнуты желаемые результаты при согласовании декодирующего оборудования, соответствующего исходному и настоящему стандарту PDF417, вне зависимости от использования данным оборудованием исходного или нового протокола передачи;
b) в системе приема декодер интерпретаций в расширенном канале будет обрабатывать управляющие интерпретации в расширенном канале (т.е. управляющие блоки Макро PDF417 и управляющие неинтерпретируемые кодовые слова) до интерпретируемых интерпретаций в расширенном канале (таких, как схемы шифрования и наборы знаков). Поэтому схема декодирования должна учесть следующий порядок операций:
1) если присутствуют интерпретации в расширенном канале - ECI управляющего блока Макро PDF417 (Macro PDF417 Control Block), то они будут использоваться для компоновки полного набора байтов в соответствующем порядке;
2) кодовые слова управления данными будут преобразованы декодером ECI в соответствии с правилами нового режима уплотнения или сигнальной ECI. Полученные в результате байты данных будут вставлены в соответствующие места внутри потока байтов;
3) к полученному в результате потоку байтов будет применяться набор знаков или другие интерпретируемые ECI.
5.5 Интерпретация в расширенном канале
Протокол интерпретации в расширенном канале (далее - протокол ECI) позволяет выходному потоку данных иметь интерпретации, отличные от интерпретаций набора знаков по умолчанию. Протокол ECI полностью определяется в ряде символик, включая PDF417. Интерпретации в расширенном канале устанавливаются AIM Global, Inc.
Примечание - Первоначально для PDF417 была установлена особая схема символики, именуемая идентификаторами глобальной метки (Global Label Identifiers) (далее GLI). Процессы кодирования и декодирования интерпретации в расширенном канале (далее ECI) идентичны ранее опубликованным спецификациям GLIs PDF417. Однако протокол передачи для декодированных сообщений в соответствии с ранее опубликованными спецификациями PDF417 в части GLI отличается от протокола передачи для ECI. Также имеются различия относительно использования интерпретации ECI с Макро PDF417. Настоящий стандарт позволяет использовать ранние и современные протоколы таким способом, чтобы устаревшее и новое оборудование были совместимыми.
В PDF417 поддерживаются пять основных типов интерпретаций:
a) наборы знаков (или кодовые страницы);
b) интерпретации общего назначения, например, шифрование данных и уплотнение данных (в отличие от режимов уплотнения символики);
c) задаваемые пользователем интерпретации для замкнутых систем;
d) передача управляющей информации для Макро PDF417;
e) передача неинтерпретируемых кодовых слов PDF417.
Передача протокола ECI представлена в полном объеме в стандарте [1]. Протокол обеспечивает согласованный метод точного определения отдельных интерпретаций или значений байтов перед печатью и после декодирования.
ECI идентифицируется 6-разрядным номером, который закодирован в символе PDF417 с помощью одного из трех специальных кодовых слов, за которым следует одно или два кодовых слова (5.5.1). Особая ECI может быть вызвана в любой точке закодированного сообщения в соответствии с правилами режимов уплотнения (в соответствии с 5.5.3).
Использование протокола ECI возможно только с декодерами, имеющими возможность передачи идентификатора символики (5.17.5). Декодеры, которые не имеют возможности передачи идентификатора символики, не могут точно передать управляющие последовательности из любого символа, в котором содержится интерпретация в расширенном канале.
5.5.1 Кодирование номера назначения интерпретации в расширенном канале
ECI можно вызвать в любом месте потока данных при соблюдении условий, установленных в 5.5.3. После совершения вызова ECI возможно переключение между любыми режимами уплотнения. Используемый режим уплотнения строго определяют закодированные 8-битовые значения данных, не зависящие от действующей ECI. Например, кодирование последовательности со значениями от 48 до 57 (десятичные значения) будет иметь наибольшую эффективность в режиме цифрового уплотнения, даже если последовательность не будет интерпретироваться как цифры.
Номер назначения интерпретации в расширенном канале (далее - номер назначения ECI) закодирован в одной из трех последовательностей кодовых слов ECI, которые начинаются с кодовых слов 927, 926 или 925. Для кодирования номера назначения ECI используется одно или два дополнительных кодовых слова. В таблице 8 представлены правила кодирования ECI.
Таблица 8 - Кодирование номера назначения ECI
|
|
|
|
Номер назначения ECI | Последовательность кодовых слов | Кодовые слова | Область значений |
От 000000 до 000899 | 927 |
| |
| Номер ECI | (от 0 до 899) | |
От 000900 до 810899 | 926 |
| |
| Номер ECI div 900 - 1 | (от 0 до 899) | |
| Номер ECI mod 900 | (от 0 до 899) | |
От 810900 до 811799 | 925 |
| |
| Номер ECI - 810900 | (от 0 до 899) |
_______________
Примечание - Метод кодирования идентичен схеме GLI, поддерживаемой в фирменных исходных спецификациях PDF417 и включенной в спецификации [3] и [4].
Пример - ECI = 013579
Кодовые слова: [926] [(13 579 div 900) - 1] [13 579 mod 900] = [926] [15 - 1] [79] = [926] [14] [79]
5.5.2 Заранее назначенные интерпретации и интерпретации по умолчанию в расширенном канале
Для обеспечения обратной совместимости с действующими спецификациями символик, включая PDF417, заранее назначены следующие интерпретации в расширенном канале:
- ECI 000000 (приравниваемая к исходному GLI 0) - схема кодирования по умолчанию кодирующего устройства, соответствующая исходным стандартам PDF417. Набор знаков представлен в приложении А;
_______________
Примечание - Для ECI 000000 (эквивалентной GLI 0) и ECI 000001 (эквивалентной GLI 1) требуется логическая схема с возвратом к GLI 0 в начале каждого закодированного символа комплекта символов Макро PDF417. Этот протокол не принят для других интерпретаций в расширенном канале;
- ECI 000002 соответствует кодовой таблице (приложение В), эквивалентной ECI 000000, без логической схемы с возвратом к GLI 0;
- ECI 000003 соответствует кодовой таблице, эквивалентной ECI 000001, без логической схемы с возвратом к GLI 0. ECI 000003 является схемой кодирования по умолчанию для кодирующих устройств, полностью соответствующей настоящему стандарту.
ECI 000000 и ECI 000001 не допускается кодировать в одном и том же символе PDF417 или наборе символов Макро PDF417, за исключением интерпретаций в расширенном канале, заданных пользователем. ECI 000002 и ECI 000003 обеспечивают совместимые альтернативы ECI 000000 и ECI 000001 соответственно и являются предпочтительными для использования в новых применениях. ECI 000000 и ECI 000001 не должны использоваться в новых приложениях.
5.5.3 Кодирование последовательностей интерпретаций в расширенном канале в рамках режимов уплотнения
Основной принцип кодирования заключается в том, что интерпретации в расширенном канале используют в исходном потоке байтов данных (для обозначения разных интерпретаций) путем формирования модифицированного потока данных, который кодируется в символах PDF417 с использованием для большей эффективности режимов уплотнения символики. Кодирование ECI и специальное уплотнение символики формируют два независимых логических слоя в этом процессе.
Несмотря на то, что назначения ECI и режимы уплотнения могут перемежаться, некоторые их комбинации могут формировать нелогическую или неоднозначную ситуацию. В 5.5.3.1-5.5.3.5 определено, каким образом ECI могут быть встроены без появления неоднозначности путем установления надлежащего расположения управляющих последовательностей ECI.
5.5.3.1 Интерпретации в расширенном канале и режим текстового уплотнения
Управляющая последовательность ECI может быть размещена в любом месте в рамках режима текстового уплотнения. Подрежим, вызванный непосредственно перед управляющей последовательностью ECI, сохраняется для кодирования сразу после этой последовательности. Поэтому функции фиксации подрежима и регистра подрежима сохраняются параллельно управляющей последовательности ECI и функция регистра подрежима непосредственно перед управляющей последовательностью кода ECI не игнорируется.
5.5.3.2 Интерпретации в расширенном канале и режим байтового уплотнения, использующий кодовые слова 924 и 901 (фиксации режима байтового уплотнения)
При кодировании в режиме байтового уплотнения, использующего кодовое слово 924 (фиксации режима байтового уплотнения, управляющая последовательность ECI может быть размещена кодирующим устройством непосредственно после кодового слова 924 или соответственно на любой границе, отделяющей группы из пяти кодовых слов. Это необходимо для обеспечения однозначного расположения в декодированном потоке байтов для декодера, чтобы разместить управляющую последовательность.
Если декодер находится в версии 924 режима байтового уплотнения и обнаруживает управляющую последовательность ECI, которая следует за группой из пяти кодовых слов, он должен вывести шесть байтов данных, связанных с кодовыми словами данных перед управляющей последовательностью, вывести управляющую последовательность и затем продолжать сбор кодовых слов для декодирования в режиме байтового уплотнения. Если декодер обнаруживает управляющую последовательность ECI иных, отличных от данных установленных местоположений, он должен рассматривать символ как дефектный.
При кодировании в режиме байтового уплотнения с использованием кодового слова 901 (фиксация режима байтового уплотнения), управляющая последовательность ECI может размещаться непосредственно:
- после кодового слова 901;
- после любого набора из пяти кодовых слов, кодирующих шесть байтов;
- после любых замыкающих однобайтовых кодовых слов в конце последовательности.
На рисунке 7 представлено допустимое расположение управляющих последовательностей ECI при кодировании в режиме байтового уплотнения. Если декодер встретит управляющую последовательность ECI внутри группы из пяти кодовых слов, он должен рассматривать символ как дефектный.
Группа из 5 кодовых слов
|
Рисунок 7 - Допустимые расположения управляющих последовательностей ECI при кодировании в режиме байтового уплотнения
5.5.3.3 Интерпретации в расширенном канале и режим байтового уплотнения, использующий кодовое слово 913 (регистр режима байтового уплотнения)
При кодировании в режиме байтового уплотнения, использующего кодовое слово 913 (регистр режима байтового уплотнения), управляющая последовательность ECI может быть размещена непосредственно:
- перед кодовым словом 913;
- за кодовым словом 913;
- за кодовым словом, следующим после кодового слова 913.
В первых двух случаях управляющая последовательность ECI выводится до закодированных байтов, в то время как в последнем случае управляющая последовательность ECI выводится после закодированного байта.
5.5.3.4 Интерпретации в расширенном канале и режим цифрового уплотнения
Управляющую последовательность ECI не следует размещать внутри группы кодовых слов, подлежащих обработке преобразованием базы 10 в базу 900 (5.4.4.2). Она может быть размещена только внутри области режима цифрового уплотнения (обычно) на границе между группами из 15 кодовых слов. Это необходимо для обеспечения однозначного позиционирования в декодированном потоке байтов при размещении декодером управляющей последовательности.
Управляющую последовательность ECI размещают непосредственно:
- после кодового слова 902;
- после 15 кодового слова;
- после 30 кодового слова и т.д.
Если кодирующему устройству необходимо расположить управляющую последовательность ECI в позиции, которая не является кратной 15 кодовым словам, то оно должно рассматривать цифровой блок до ECI как завершенный объект в соответствии со вторым этапом 5.4.4.2. Кодирующее устройство должно повторно ввести режим цифрового уплотнения путем расположения в потоке другого кодового слова со значением 902, за которым следует управляющая последовательность ECI.
Если декодер обнаруживает управляющую последовательность ECI на одной из вышеуказанных пограничных точек, то он должен генерировать байты данных, связанные с кодовыми словами до управляющей последовательности (при наличии таковых), генерировать управляющую последовательность и затем продолжить сбор кодовых слов для декодирования в режиме цифрового уплотнения. Если декодер обнаруживает управляющую последовательность ECI в иных позициях, отличающихся от установленных, то он должен рассматривать символ как дефектный.
5.5.3.5 Комбинирование интерпретаций в расширенном канале
Две и более управляющие последовательности ECI (например, номера назначения) могут быть расположены в любой точке, где возможно размещение надлежащим образом одной ECI, при том условии, что между ними размещены только кодовые слова, которые используют для кодирования управляющей последовательности ECI.
5.5.4 Протокол после декодирования
Протокол для передачи данных ECI должен соответствовать представленному в 5.17.2. Во время передачи интерпретаций в расширенном канале, идентификаторы символики (5.17.5) должны быть полностью реализованы, и соответствующий идентификатор символики должен быть передан в качестве преамбулы.
5.6 Определение последовательности кодовых слов
В процессе кодирования генерируется последовательность кодовых слов в виде:
Процесс, используемый для определения матрицы строк и столбцов символа (5.9.2), может потребовать дополнения замыкающими кодовыми словами-заполнителями для завершения последовательности кодовых слов данных.
5.7 Обнаружение и коррекция ошибок
Каждый символ PDF417 содержит минимум два кодовых слова коррекции ошибки. Кодовые слова коррекции ошибок позволяют как обнаруживать, так и исправлять ошибки.
5.7.1 Уровень коррекции ошибок
Уровень коррекции ошибок в символе PDF417 выбирается в момент создания символа. В таблице 9 показано число кодовых слов коррекции ошибки для каждого уровня коррекции ошибок.
Таблица 9 - Уровни коррекции ошибок и кодовые слова коррекции ошибок
|
|
Уровень коррекции ошибки | Общее число кодовых слов коррекции ошибок |
0 | 2 |
1 | 4 |
2 | 8 |
3 | 16 |
4 | 32 |
5 | 64 |
6 | 128 |
7 | 256 |
8 | 512 |
5.7.2 Возможности для исправления ошибок
Исправление ошибок может использоваться для устранения дефектов на этикетке и ошибочного считывания в ходе процедуры декодирования. Для любого заданного уровня коррекции ошибок в символ PDF417 должно быть включено определенное количество кодовых слов коррекции ошибки. Используемый алгоритм кодовых слов коррекции ошибки должен позволять устранить два вида ошибок:
- стирание, обусловленное недостающим или не подлежащим декодированию кодовым словом, расположенном на известной позиции;
- ошибку подстановки, обусловленную неправильно декодированным кодовым словом.
Схема коррекции ошибок требует наличия одного кодового слова коррекции ошибки для восстановления стирания и двух кодовых слов для устранения ошибки подстановки. Таким образом, заданный уровень коррекции ошибок может исправить любое сочетание ошибок подстановки и стираний, которое удовлетворяет уравнению:
Пример - Символ PDF417 с уровнем коррекции ошибок 3 предусматривает наличие 16 кодовых слов коррекции ошибки, из которых 14 могут использоваться для исправления ошибок и стираний. С их помощью может быть восстановлено до 13 стираний или до семи ошибок подстановки или любое сочетание I стираний и f ошибок подстановки по условиям приведенного выше практического уравнения. В таблице 10 установлены возможные сочетания.
Таблица 10 - Возможные сочетания коррекции ошибок для уровня коррекции 3
|
|
|
Восстановленные ошибки подстановки | Восстановленные стирания | Определяющее уравнение |
0 | 13 или меньше | (число ошибок <4) |
1 | 11 или меньше |
|
2 | 9 или меньше |
|
3 | 7 или меньше |
|
4 | 6 или меньше | (число ошибок 4) |
5 | 4 или меньше |
|
6 | 2 или меньше |
|
7 | 0 |
|
5.7.3 Определение кодовых слов коррекции ошибки
Кодовые слова коррекции ошибки определяют в два этапа:
a) выбор уровня коррекции ошибок - определяет пользователь или требования, установленные применением (приложение Е);
b) формирование кодовых слов коррекции ошибок - в соответствии с перечнем правил, приведенным в 5.10. Процедуры не могут быть использованы до тех пор, пока не будут определены все кодовые слова данных, включая кодовые слова-заполнители (5.9.2).
Примечание - Процедуры в соответствии с 5.3-5.9, 5.13 и 5.14 определяются пользователями. Прочие технические процедуры согласно 5.10, 5.11 и 5.15 выполняются оборудованием и не требуют вмешательств пользователя.
5.8 Размеры
Символы PDF417 должны соответствовать следующим размерам, указанным в 5.8.1-5.8.3.
Минимальная ширина модуля подлежит определению в нормативных документах, устанавливающих требования по применению. Она учитывает наличие оборудования для производства и считывания символов и соответствует основным требованиям, установленным применением.
Примечание - Действующие стандарты оценки качества символа штрихового кода (например, ISO/IEC 15415) не требуют измерения абсолютных размеров для оценки качества символа. Поэтому несоответствие любому минимальному размеру не является поводом для оценки символа как не соответствующего настоящему стандарту.
Для символов с уровнем коррекции ошибок не меньше рекомендуемого:
5.8.3 Свободные зоны
Наименьшая ширина горизонтальной свободной зоны (слева и справа от символа PDF417) - 2X.
Наименьший размер вертикальной свободной зоны (над и под символом PDF417) - 2X.
5.9 Определение формата символа
Матрицу символа PDF417, общий размер и форму символа определяют следующие факторы:
a) ширина модуля и коэффициент сжатия;
b) число строк и столбцов в матрице символа.
При создании символа PDF417 эти параметры выбирают сочетанием установок пользователя, ограничений, определяемых применением, и установок по умолчанию. Процесс выбора может повторяться до получения пользователем требуемого формата.
5.9.1 Определение коэффициента сжатия модуля
Коэффициент сжатия печатаемого модуля (aspect ratio of the module) определяют два размера:
Эти размеры определяются пользователем или нормативными документами, регламентирующими применение штрихового кода. Основным фактором, определяющим эти параметры, является разрешение систем печати и считывания, используемых в рамках конкретного применения (5.14).
5.9.2 Определение матрицы строк и столбцов символа
- объем и тип данных, подлежащих кодированию;
- основные правила символики, определяющие, например, предельное число строк и столбцов (5.2.1 и 5.2.2).
- фактическое пространство для нанесения символа;
- более длинные строки приводят к уменьшенной вспомогательной части символа (включающей знаки СТАРТ и СТОП, индикаторы строки и области свободных зон);
- длина строки (включая свободные зоны) должна быть меньше длины линии сканирования, регламентируемой или подразумеваемой в рамках применения;
- тип сканера, который может определять общий коэффициент сжатия символа;
- выбранный уровень коррекции ошибок.
Во многих применениях допустимая ширина символа является первичным ограничением и матрицу символа можно определить фиксированным числом столбцов. В приложении О приведены рекомендации по определению матрицы символа.
В матрице могут возникнуть ситуации, когда для достижения необходимого числа строк и столбцов требуется использование кодовых слов-заполнителей (условно используется кодовое слово со значением 900). Такая ситуация может произойти при
Таким образом
Кодовые слова-заполнители должны иметь значение 900 и размещаться в позициях младших разрядов последовательности кодовых слов данных, т.е. справа от исходного кодового слова данных в позиции самого младшего разряда (но до управляющего блока Макро PDF417, при наличии). Пример такого преобразования приведен ниже. Независимо от включения дескриптора длины символа и каких-либо кодовых слов-заполнителей последовательность кодовых слов должна оставаться идентичной последовательности, изначально произведенной при кодировании данных.
Примечание - Обозначения соответствуют указанным выше.
В настоящем примере кодовые слова данных (до кодовых слов-заполнителей) начинаются с функции фиксации режима цифрового уплотнения (кодовое слово 902) и заканчиваются кодовым словом со значением 423. Все кодовые слова-заполнители являются кодовыми словами 900. Дополнение дескриптором длины символа и кодовыми словами-заполнителями представлено ниже:
|
|
|
|
|
|
|
|
Исходная последовательность кодовых слов данных |
| … |
|
|
| ||
Значения кодовых слов |
| 902 | … | 423 |
|
|
|
Дополненная последовательность кодовых слов данных | … | … | |||||
Значения кодовых слов | 256 | 902 | … | 423 | 900 | … | 900 |
5.10 Формирование кодовых слов коррекции ошибок
Кодовые слова коррекции ошибок формируют с помощью приведенной ниже процедуры и вычисляют на основе значений всех кодовых слов данных, включая дескриптор длины символа и все кодовые слова-заполнители. Последовательность кодовых слов должна быть представлена в виде:
Полином данных символа представляет собой
Ниже приведено математическое описание вычисления кодовых слов коррекции ошибок для конкретного потока данных и выбранного уровня коррекции ошибок. Все арифметические действия должны быть выполнены по модулю 929.
Пример вычисления коэффициентов приведен в приложении Q.
В приложении F приведены все значения коэффициентов, необходимые для кодирования символа PDF417 для всех уровней коррекции ошибок.
Кодовые слова коррекции ошибок должны вычисляться в соответствии с приведенным ниже алгоритмом с использованием следующих обозначений:
Алгоритм:
НАЧАЛО
НАЧАЛО
КОНЕЦ
КОНЕЦ
НАЧАЛО
КОНЕЦ
Пример вычисления кодовых слов коррекции ошибок приведен в приложении Q.
Для получения доступа к полной версии без ограничений вы можете выбрать подходящий тариф или активировать демо-доступ.