Главная // Актуальные документы // ГОСТ (Государственный стандарт)
СПРАВКА
Источник публикации
М.: Стандартинформ, 2018
Примечание к документу
Документ введен в действие с 1 мая 2019 года.

Взамен ГОСТ 31016-2003 (ИСО/МЭК 15438:2001).
Название документа
"ГОСТ ISO/IEC 15438-2018. Межгосударственный стандарт. Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода PDF417"
(введен в действие Приказом Росстандарта от 25.04.2018 N 212-ст)

"ГОСТ ISO/IEC 15438-2018. Межгосударственный стандарт. Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода PDF417"
(введен в действие Приказом Росстандарта от 25.04.2018 N 212-ст)


Содержание


Введен в действие
Приказом Федерального агентства
по техническому регулированию
и метрологии
от 25 апреля 2018 г. N 212-ст
МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
ТЕХНОЛОГИИ АВТОМАТИЧЕСКОЙ ИДЕНТИФИКАЦИИ И СБОРА ДАННЫХ
СПЕЦИФИКАЦИЯ СИМВОЛИКИ ШТРИХОВОГО КОДА PDF417
Information technology. Automatic identification and data
capture techniques. PDF417 bar code symbology specification
(ISO/IEC 15438:2015, IDT)
ГОСТ ISO/IEC 15438-2018
Группа П85
ОКС 35.040
ОКСТУ 4002
Дата введения
1 мая 2019 года
Предисловие
Цели, основные принципы и основной порядок проведения работ по межгосударственной стандартизации установлены в ГОСТ 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 <1>;
--------------------------------
<1> Наименование символики на русском языке рекомендуется писать ПДФ417.
- показатели символики 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 Термины и определения
В настоящем стандарте применены термины и определения по ISO/IEC 19762-1 и ISO/IEC 19762-2 <1>, а также следующие термины с соответствующими определениями:
--------------------------------
<1> На момент публикации настоящего стандарта ISO/IEC 19762-1:2008 и ISO/IEC 19762-2:2008 заменены на ISO/IEC 19762:2016, который включает русскую версию.
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-расстояние (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 Символы
В настоящем стандарте использованы следующие математические символы. В некоторых случаях эти символы имеют другие значения в уравнении с целью соответствия общепринятому использованию данных символов, что всегда ясно следует из текста.
A - коэффициент сжатия символа PDF417 (отношение высоты к ширине);
b - ширина элемента в знаке символа;
c - количество столбцов в символе в области данных (за исключением знаков СТАРТ, СТОП и кодовых слов индикаторов строк);
d - кодовое слово данных, включая все функциональные кодовые слова;
E - кодовое слово коррекции ошибок;
e - расстояние между подобными краями в знаке символа;
F - номер строки;
f - количество ошибок подстановки;
H - высота символа, включая свободную зону;
K - номер кластера;
k - количество кодовых слов коррекции ошибок;
L - левый индикатор строки;
l - количество стираний;
m - количество первоначальных кодовых слов данных, предшествующих дополнению дескриптора длины символа и любых кодовых слов-заполнителей;
n - общее количество кодовых слов данных, включая дескриптор длины символа и все кодовые слова-заполнители;
p - шаг или ширина знака символа;
QH - горизонтальная свободная зона;
QV - вертикальная свободная зона;
R - правый индикатор строки;
r - число строк в символе;
s - уровень коррекции ошибок;
W - ширина символа, включая свободную зону;
X - размер X или ширина модуля;
Y - высота модуля (также именуется высотой строки).
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) кодируемый набор знаков:
1) в режиме текстового уплотнения (5.4.2 <1>) позволяет кодировать все графические знаки ASCII (версия КОИ-7), т.е. знаки с десятичными значениями от 32 до 126 включительно в соответствии с ISO/IEC 646 <2>, а также некоторые управляющие знаки;
--------------------------------
<1> В ISO/IEC 15438 ошибочно приведена ссылка на 5.4.1.5.
<2> Версия 7-битового кодированного набора знаков для обмена и обработки информации ASCII (версия КОИ-7) по ISO/IEC 646 приведена в приложении ДБ (ДБ.1).
2) в режиме байтового уплотнения (5.4.3) позволяет кодировать все 256 значений 8-битовых байтов. Этот режим включает все знаки ASCII (версия КОИ-7) с десятичными значениями от 0 до 127 включительно и предусматривает поддержку международных наборов знаков <3>;
--------------------------------
<3> Одним из возможных наборов знаков является набор 8-битовых графических знаков (версия КОИ-8) по ISO/IEC 8859-5, представляющий знаки кирилловского алфавита. Графические знаки указанного набора приведены в приложении ДБ (ДБ.3).
3) в режиме цифрового уплотнения (5.4.4) позволяет эффективно кодировать цифровые последовательности данных;
4) позволяет кодировать до 811 800 различных наборов знаков или интерпретаций данных;
5) позволяет кодировать различные функциональные кодовые слова для управления;
b) структуру знаков символа: знаки (n, k, m), представленные 17 модулями (n), элементами - четырьмя штрихами и четырьмя пробелами (k), с самым крупным элементом шириной в шесть модулей (m);
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) уплотнение данных (обязательное свойство).
Установлены три схемы уплотнения совокупности знаков данных в кодовые слова. Обычно данные не представляются на основе "один знак - одно кодовое слово" (5.4.2 <1> - 5.4.4);
--------------------------------
<1> В ISO/IEC 15438-2015 ошибочно приведена ссылка на 5.4.1.5.
b) интерпретацию в расширенном канале (необязательное свойство).
Данный механизм позволяет кодировать до 811800 различных наборов знаков данных или интерпретаций (5.5);
c) Макро PDF417 (необязательное свойство).
Данный механизм предоставляет логическое и последовательное представление файлов данных в ряде символов PDF417, которые, вплоть до 99 999 символов PDF417, могут быть связаны или соединены и отсканированы в любом порядке для правильного восстановления исходного файла данных (5.13);
d) декодируемость от края до края (обязательное свойство).
PDF417 может декодироваться измерением размеров от края одного элемента знака символа до соответствующего края другого элемента знака символа (5.3.1);
e) перекрестное сканирование строк (обязательное свойство).
Для перекрестного сканирования строк в PDF417 используют сочетание трех следующих показателей:
1) синхронизацию по горизонтали или синхронизацию по времени;
2) идентификацию строки;
3) синхронизацию по вертикали с использованием значений кластеров для обеспечения локального распознавания строк.
При использовании данного сочетания одиночное линейное сканирование при пересечении ряда строк позволяет получить неполное декодирование данных, если хотя бы один полный знак символа в строке был декодирован и получено значение его кодового слова. В дальнейшем с помощью алгоритма декодирования отдельные кодовые слова могут быть соединены в значащую матрицу;
f) коррекцию ошибок (обязательное свойство).
Пользователь может задать один из девяти уровней коррекции ошибок. На всех уровнях, кроме нулевого, возможно не только обнаружение ошибок, но и исправление ошибочно закодированных или недостающих кодовых слов (5.7).
g) Компакт PDF417 (необязательное свойство).
В относительно "чистой" среде <2> для повышения плотности символа возможно сокращение некоторой части строки <3>, не содержащей данные (5.12).
--------------------------------
<2> Например в условиях офиса, где повреждение символа маловероятно.
<3> В пределах всех строк символа указанные части строк можно рассматривать как столбцы, которые могут быть сокращены.
Примечание - В предыдущих спецификациях символики 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 и требуется одно кодовое слово-заполнитель для полного заполнения матрицы символа.
СТАРТ
L1
d15
d14
R1
СТОП
L2
d13
d12
R2
L3
d11
d10
R3
L4
d9
d8
R4
L5
d7
d6
R5
L6
d5
d4
R6
L7
d3
d2
R7
L8
d1
d0
R8
L9
E3
E2
R9
L10
E1
E0
R10
L, R, d и E определены в разделе 4; d15 - дескриптор длины
символа (в этом примере - 16); d14 - d1 - закодированное
представление данных; d0 - кодовое слово-заполнитель
Рисунок 2 - Пример схемы размещения символа PDF417
Правила и рекомендации по определению структуры матрицы приведены в 5.9.
5.3 Основное кодирование
5.3.1 Структура знака символа
Каждый знак символа PDF417 должен состоять из следующих элементов: четырех штрихов и четырех пробелов, ширина каждого из которых может быть от одного до шести модулей. Совокупная ширина четырех штрихов и четырех пробелов должна составлять 17 модулей. Знаки символа PDF417 могут быть декодированы путем измерения расстояний e внутри знака.
Каждый знак символа задается последовательностью штрихов и пробелов из восьми цифр, которые представляют ширину в модулях каждого из восьми элементов этого знака символа. На рисунке 3 представлен знак символа с последовательностью штрихов и пробелов 51111125.
Рисунок 3 - Знак символа PDF417
В PDF417 имеется 929 установленных значений знаков символа (кодовых слов), пронумерованных от 0 до 928.
Кодовые слова представлены в виде трех взаимно исключающих наборов знаков символа или кластеров. Каждый кластер кодирует 929 допустимых кодовых слов PDF417 в виде различных комбинаций штрихов и пробелов так, что один кластер отличается от другого. Кластеры обозначают номерами 0, 3, 6. Определение кластера распространяется на все знаки символа PDF417, за исключением знаков СТАРТ и СТОП.
Номер кластера K определяют по следующей формуле
K = (b1 - b2 + b3 - b4 + 9) mod 9,
где b1, b2, b3 и b4 - ширина в модулях соответственно четырех штрихов.
Номер кластера K для знака символа, представленного на рисунке 3, составляет:
K = (5 - 1 + 1 - 2 + 9) mod 9 = 3
Значения кодовых слов и последовательности штрихов и пробелов для каждого кластера знаков символа приведены в приложении A.
5.3.2 Знаки СТАРТ и СТОП
Знаки СТАРТ и СТОП должны быть представлены в соответствии с таблицей 1 и рисунком 4.
Таблица 1
Последовательность штрихов и пробелов для знаков
СТАРТ и СТОП
Знак
Последовательность штрихов и пробелов
B
S
B
S
B
S
B
S
B
СТАРТ
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.2 <1>);
--------------------------------
<1> В ISO/IEC 15438 ошибочно приведена ссылка на 5.4.1.5.
- байтовое уплотнение (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
Фиксация режима текстового уплотнения
901
Фиксация режима байтового уплотнения
902
Фиксация режима цифрового уплотнения
903 - 912
Зарезервированы
913
Переключение регистра в режим байтового уплотнения
914 - 917, 919
Зарезервированы
-
918
Признак наличия связанного линейного компонента в композитном символе (отличном от композитного символа GS1 <1>)
920
Признак наличия связанного линейного компонента в композитном символе GS1 <1>
921
Инициализация считывающего устройства
ИС МЕГАНОРМ: примечание.
В официальном тексте документа, видимо, допущена опечатка: имеется в виду пункт 5.13, а не 5.13.13.
922
Конечное кодовое слово для управляющего блока Макро PDF417
923
Метка последовательности для идентификации необязательных полей в управляющем блоке Макро PDF417
924
Фиксация режима байтового уплотнения (используется отлично от функции с кодовым словом 901)
925 - 927
Идентификатор для интерпретации в расширенном канале
928
Кодовое слово - макро-метка для указания начала управляющего блока Макро PDF
--------------------------------
<1> В ISO/IEC 15438 указано устаревшее наименование EAN.UCC.
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 (фиксация режима цифрового уплотнения)
- регистр в режиме (Mode Shift);
- фиксация в режиме (Mode Latch)
Рисунок 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 Функциональные кодовые слова для признака связи в композитном символе
Кодовое слово 920 должно использоваться как признак наличия связанного линейного компонента в символике штрихового кода GS1 Composite <1> в соответствии с ISO/IEC 24723.
--------------------------------
<1> В ISO/IEC 15438 указано устаревшее наименование EAN.UCC.
Кодовое слово 918 должно использоваться как признак наличия связанного линейного компонента в любой другой композитной символике.
Кодовые слова 918 или 920 могут присутствовать в любом месте символа. В конкретной спецификации по применению композитной символики может быть явно указана позиция признака наличия связанного компонента.
Считывающие устройства, поддерживающие индикацию композитного символа, должны декодировать и передавать данные от всех компонентов, как указано в спецификации соответствующей композитной символики. Считывающие устройства, не поддерживающие индикацию композитного символа, могут обрабатывать кодовые слова 918 или 920 как зарезервированные (5.4.6). Считывающие устройства, не поддерживающие индикацию композитного символа, опционально могут игнорировать двумерный компонент композитного символа и передавать данные только из связанного линейного компонента.
5.4.2 Режим текстового уплотнения
Режим текстового уплотнения включает все графические знаки набора ASCII (версии КОИ-7) (т.е. знаки с десятичными значениями от 32 до 126) и три управляющих знака набора ASCII (версии КОИ-7): HT (ГТ или ГОРИЗОНТАЛЬНОЕ ТАБУЛИРОВАНИЕ) (десятичное значение знака 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
l
108
CR
13
CR
13
12
M
77
m
109
HT
9
HT
9
13
N
78
n
110
,
44
,
44
14
O
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
ll
as
ll
}
125
28
ml
ml
al
39
29
ps
ps
ps
al
al - знак фиксации подрежима прописных букв (latch to Alpha);
as - знак регистра подрежима прописных букв (shift to Alpha);
ll - знак фиксации подрежима строчных букв (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 Правила уплотнения для кодирования в режиме текстового уплотнения
В режиме текстового уплотнения пары знаков данных должны быть представлены одним кодовым словом. Значения знаков данных находятся в диапазоне от 0 до 29 (т.е. 30 базовых значений) и указаны в таблице 5. В каждой паре из 30 базовых значений первое или находящееся слева значение пары должно обозначать значение h более высокого порядка, следующее значение пары - значение более низкого порядка l.
Значение закодированного кодового слова в PDF417 определяется по формуле
d = h·30 + l,
где d установлено в разделе 4.
Эта формула также распространяется на 30 базовых значений для функций фиксации подрежима (sub-mode latch) и регистра подрежима (sub-mode shift) в рамках режима текстового уплотнения. Для переключения между подрежимами следует использовать соответствующие значения знаков фиксации подрежима (sub-mode latch) и регистра подрежима (sub-mode shift). Если в результате кодирования последовательности знаков не получено четное число 30 базовых значений, следует использовать специальную методику, приведенную в 5.4.2.4.
Приведенный пример кодирования представляет, каким образом достигается уплотнение в режиме текстового уплотнения.
Пример - Подлежащие кодированию данные: PDF417.
Таблица 6
Пример кодирования в режиме текстового уплотнения
Пары знаков
h
l
h·30 + l
Кодовое слово
P D
15
3
15 x 30 + 3
453
F ml
5
28
5 x 30 + 28
178
4 1
4
1
4 x 30 + 1
121
7 ps
7
29
7 x 30 + 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);
- ll - фиксация подрежима строчных букв (latch to lowercase alphabetic sub-mode);
- ml - фиксация подрежима смешанных знаков [цифровые или другие знаки пунктуации (latch to mixed sub-mode)];
- pl - фиксация подрежима знаков пунктуации (latch to punctuation sub-mode).
Внутри каждого подрежима режима текстового уплотнения допускается ограниченный набор функций фиксации подрежима и переключения регистра подрежима (таблица 5). В таблице 7 представлены переключения подрежимов режима текстового уплотнения; на рисунке 6 приведена схема данного процесса.
Примечание - После знака фиксации подрежима может следовать другой знак фиксации подрежима или знак регистра подрежима; но после знака регистра подрежима не может следовать ни знак фиксации подрежима, ни знак регистра подрежима.
Таблица 7
Переключения подрежимов в режиме текстового уплотнения
Исходный подрежим
Знаки для переключения в требуемый подрежим
Прописные буквы
Строчные буквы
Смешанные знаки
Знаки пунктуации
Прописные буквы
ll
ml
ps
Строчные буквы
as
ml
ps
Смешанные знаки
al
ll
ps
pl
Знаки пунктуации
al
- фиксация подрежима;
- переключение регистра подрежима;
ll - знак фиксации подрежима строчных букв;
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) приведены в приложении B. Они должны рассматриваться как заданная по умолчанию интерпретация графических и управляющих знаков. При вызове интерпретаций в расширенном канале (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) в соответствии с приложением B.
5.4.3.3 Правила уплотнения для кодирования протяженных цепочек знаков в режиме байтового уплотнения (с использованием кодовых слов фиксации режима байтового уплотнения 924 или 901)
Для кодирования знака данных в режиме байтового уплотнения используют следующую процедуру:
a) устанавливают общее число знаков режима байтового уплотнения;
b) при наличии числа, кратного шести, используют кодовое слово 924 (фиксация режима байтового уплотнения), в противном случае используют кодовое слово 901 (фиксация режима байтового уплотнения);
c) количество знаков в режиме байтового уплотнения разбивают на последовательности из шести знаков слева направо (от позиций старших разрядов к младшим). Если количество знаков менее шести, следует перейти к этапу g);
d) десятичные значения шести байтов данных, подлежащих кодированию в режиме байтового уплотнения, обозначают как ряд от b5 до b0 (где b5 является первым байтом данных);
e) преобразуют базу 256 в базу 900 для получения последовательности из пяти кодовых слов (в приложении C определен алгоритм и приведен пример);
f) при необходимости повторяют операцию на этапе c);
g) для оставшихся знаков режима байтового уплотнения при использовании кодового слова фиксации режима байтового уплотнения 901 (т.е. когда количество знаков режима байтового уплотнения в последней группе менее шести) значением (значениями) кодового слова (слов) должно быть десятичное значение (десятичные значения) (от 0 до 255) знака (знаков) в соответствии с примером кодирования, приведенным в приложении B, от позиций старших разрядов к младшим.
Примечание - Режим байтового уплотнения, следующий за кодовым словом 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, а для режима байтового уплотнения - установленному в приложении B. Режим текстового уплотнения обычно эффективнее режима байтового уплотнения для кодирования текстовых файлов типового набора 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
C0
927
C1
Номер ECI
C1 = (от 0 до 899)
От 000900 до 810899
C0
926
C1
Номер ECI div 900 - 1
C1 = (от 0 до 899)
C2
Номер ECI mod 900
C2 = (от 0 до 899)
От 810900 до 811799
C0
925
C1
Номер ECI - 810 900
C1 = (от 0 до 899)
В PDF417 доступно 811800 возможных номеров назначения ECI <1>.
--------------------------------
<1> ECI 000007 позволяет кодировать 8-битовые графические знаки по ISO/IEC 8859-5, содержащие буквы кирилловского алфавита. В приложении ДБ (ДБ.3) приведен набор знаков кирилловского алфавита по ISO/IEC 8859-5.
Примечание - Метод кодирования идентичен схеме 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. Набор знаков представлен в приложении A;
- ECI 000001 (приравниваемая к исходному GLI 1) - схема кодирования GLI ряда символик, где знаки с десятичными значениями от 0 до 127 идентичны знакам ISO/IEC 646 <2> (или [1]); и знаки с десятичными значениями от 128 до 255 идентичны знакам ISO 8859-1 <3>;
--------------------------------
<2> 7-битовый кодированный набор знаков по ISO/IEC 646 соответствует набору ссылочной версии КОИ-7НО по ГОСТ 27463, за исключением двух знаков: в позиции 02/04 в ISO/IEC 646 используют знак $ (ДЕНЕЖНЫЙ ЗНАК ДОЛЛАРА) (целочисленное значение 37) и в позиции 7/14 знак ~ (ТИЛЬДА) (целочисленное значение 111). Набор 7-битовых знаков ASCII (версия КОИ-7) по ISO/IEC 646 приведен в приложении ДБ (ДБ.1).
<3> Графические знаки расширенного набора 8-битовых знаков ASCII (версия КОИ-8) по ISO/IEC 8859-1 приведены в приложении ДБ (ДБ.2).
Примечание - Для ECI 000000 (эквивалентной GLI 0) и ECI 000001 (эквивалентной GLI 1) требуется логическая схема с возвратом к GLI 0 в начале каждого закодированного символа комплекта символов Макро PDF417. Этот протокол не принят для других интерпретаций в расширенном канале;
- ECI 000002 соответствует кодовой таблице (приложение B), эквивалентной 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;
- после любого набора из пяти кодовых слов, кодирующих шесть байтов;
- после любых замыкающих однобайтовых кодовых слов в конце последовательности.
Примечание - Декодер не может допустить, чтобы из-за того, что управляющая последовательность ECI следует за набором из пяти кодовых слов, эти пять кодовых слов кодируют шесть байтов, а затем поток на входе длиной 6N + 5 (где N - целое число) будет иметь конечный набор из пяти кодовых слов, которые кодируют только пять байтов - один байт на одно кодовое слово. Следовательно, декодер должен в первом сканированном символе, минуя управляющую последовательность ECI, установить, где завершается режим 901 в соответствии с 5.4.3.4. На основе этой информации он может установить, каким образом была закодирована группа из пяти кодовых слов.
На рисунке 7 представлено допустимое расположение управляющих последовательностей ECI при кодировании в режиме байтового уплотнения. Если декодер встретит управляющую последовательность ECI внутри группы из пяти кодовых слов, он должен рассматривать символ как дефектный.
- кодовое слово режима байтового уплотнения;
- допустимое расположение управляющей последовательности ECI
Рисунок 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 Определение последовательности кодовых слов
В процессе кодирования генерируется последовательность кодовых слов в виде:
dn - 1 ... d0,
где d - кодовое слово данных, включая дескриптор длины символа и все функциональные кодовые слова;
n - общее количество кодовых слов данных, включая дескриптор длины символа (и кодовые слова-заполнители), за исключением кодовых слов коррекции ошибок.
Дескриптор длины символа, обозначаемый dn - 1, должен быть первым кодовым словом данных. Его значение должно быть равно общему количеству кодовых слов данных n; при этом подсчете должен учитываться непосредственно сам дескриптор длины символа, и его значение должно быть от 1 до 926.
В процессе кодирования должны быть установлены последовательности кодовых слов. По аналогии с исходными данными сначала должны следовать данные позиций старших разрядов, например текстовые и цифровые данные, которые читаются слева направо. Последовательность кодовых слов должна быть представлена таким образом, чтобы кодовые слова данных позиций старших разрядов, содержащие закодированные данные, были обозначены dn - 2. Последнее кодовое слово данных (или кодовое слово-заполнитель) обозначается d0.
Процесс, используемый для определения матрицы строк и столбцов символа (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 должно быть включено определенное количество кодовых слов коррекции ошибки. Используемый алгоритм кодовых слов коррекции ошибки должен позволять устранить два вида ошибок:
- стирание, обусловленное недостающим или не подлежащим декодированию кодовым словом, расположенном на известной позиции;
- ошибку подстановки, обусловленную неправильно декодированным кодовым словом.
Схема коррекции ошибок требует наличия одного кодового слова коррекции ошибки для восстановления стирания и двух кодовых слов для устранения ошибки подстановки. Таким образом, заданный уровень коррекции ошибок может исправить любое сочетание ошибок подстановки и стираний, которое удовлетворяет уравнению:
l + 2f <= 2s+1 - 2,
где l, f и s определены в 4.1.
Если использована большая часть возможностей по коррекции ошибок для восстановления стираний, то возрастает вероятность наличия необнаруженных ошибок. Если исправлено менее четырех ошибок (за исключением s = 0), то возможность коррекции ошибок уменьшается по уравнению:
l + 2f <= 2s+1 - 3,
где l, f и s определены в 4.1.
Пример - Символ PDF417 с уровнем коррекции ошибок 3 предусматривает наличие 16 кодовых слов коррекции ошибки, из которых 14 могут использоваться для исправления ошибок и стираний. С их помощью может быть восстановлено до 13 стираний или до семи ошибок подстановки или любое сочетание l стираний и f ошибок подстановки по условиям приведенного выше практического уравнения. В таблице 10 установлены возможные сочетания.
Таблица 10
Возможные сочетания коррекции ошибок для уровня коррекции 3
Восстановленные ошибки подстановки
Восстановленные стирания
Определяющее уравнение
0
13 или меньше
l + 2f <= 2s+1 - 3
(число ошибок < 4)
1
11 или меньше
2
9 или меньше
3
7 или меньше
4
6 или меньше
l + 2f <= 2s+1 - 2
(число ошибок >= 4)
5
4 или меньше
6
2 или меньше
7
0
5.7.3 Определение кодовых слов коррекции ошибки
Кодовые слова коррекции ошибки определяют в два этапа:
a) выбор уровня коррекции ошибок - определяет пользователь или требования, установленные применением (приложение E);
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.
5.8.1 Минимальная ширина модуля (X)
Минимальная ширина модуля подлежит определению в нормативных документах, устанавливающих требования по применению. Она учитывает наличие оборудования для производства и считывания символов и соответствует основным требованиям, установленным применением.
Размер X должен оставаться неизменным в пределах всего символа.
Примечание - Действующие стандарты оценки качества символа штрихового кода (например, ISO/IEC 15415) не требуют измерения абсолютных размеров для оценки качества символа. Поэтому несоответствие любому минимальному размеру не является поводом для оценки символа как не соответствующего настоящему стандарту.
5.8.2 Высота строки (Y)
Для символов с уровнем коррекции ошибок не меньше рекомендуемого:
Y >= 3X
Для символов с уровнем коррекции ошибок меньше рекомендуемого высота строки может быть увеличена, если размер X слишком мал. В приложении E приведен рекомендуемый уровень коррекции ошибок.
5.8.3 Свободные зоны
Наименьшая ширина горизонтальной свободной зоны (слева и справа от символа PDF417) - 2X.
Наименьший размер вертикальной свободной зоны (над и под символом PDF417) - 2X.
5.9 Определение формата символа
Матрицу символа PDF417, общий размер и форму символа определяют следующие факторы:
a) ширина модуля и коэффициент сжатия;
b) число строк и столбцов в матрице символа.
При создании символа PDF417 эти параметры выбирают сочетанием установок пользователя, ограничений, определяемых применением, и установок по умолчанию. Процесс выбора может повторяться до получения пользователем требуемого формата.
5.9.1 Определение коэффициента сжатия модуля
Коэффициент сжатия печатаемого модуля (aspect ratio of the module) определяют два размера:
- X - требуемая ширина самого узкого штриха и самого узкого пробела;
- Y - требуемая высота каждой строки.
Эти размеры определяются пользователем или нормативными документами, регламентирующими применение штрихового кода. Основным фактором, определяющим эти параметры, является разрешение систем печати и считывания, используемых в рамках конкретного применения (5.14).
5.9.2 Определение матрицы строк и столбцов символа
Для определения матрицы символа, т.е. числа строк r и числа столбцов c, учитывают следующие факторы:
- объем и тип данных, подлежащих кодированию;
- основные правила символики, определяющие, например, предельное число строк и столбцов (5.2.1 и 5.2.2).
- фактическое пространство для нанесения символа;
- более длинные строки приводят к уменьшенной вспомогательной части символа (включающей знаки СТАРТ и СТОП, индикаторы строки и области свободных зон);
- длина строки (включая свободные зоны) должна быть меньше длины линии сканирования, регламентируемой или подразумеваемой в рамках применения;
- тип сканера, который может определять общий коэффициент сжатия символа;
- выбранный уровень коррекции ошибок.
Во многих применениях допустимая ширина символа является первичным ограничением и матрицу символа можно определить фиксированным числом столбцов. В приложении O приведены рекомендации по определению матрицы символа.
После кодирования исходных данных с использованием выбранных режимов уплотнения известно число исходных кодовых слов данных m (до дополнения дескриптором длины символа и любыми кодовыми словами-заполнителями). После выбора числа строк и столбцов и уровня коррекции ошибок общее число кодовых слов данных n вычисляется по формуле:
n = c·r - k,
где c, k, n и r соответствуют определениям, приведенным в 4.1.
В матрице могут возникнуть ситуации, когда для достижения необходимого числа строк и столбцов требуется использование кодовых слов-заполнителей (условно используется кодовое слово со значением 900). Такая ситуация может произойти при
n > m + 1,
где m и n соответствуют определениям, приведенным в 4.1.
Дескриптору длины символа следует назначить значение n, определенное выше.
Таким образом
dn - 1 = n = c·r - k.
Требуемое число кодовых слов-заполнителей равно (n - m) - 1.
Кодовые слова-заполнители должны иметь значение 900 и размещаться в позициях младших разрядов последовательности кодовых слов данных, т.е. справа от исходного кодового слова данных в позиции самого младшего разряда (но до управляющего блока Макро PDF417, при наличии). Пример такого преобразования приведен ниже. Независимо от включения дескриптора длины символа и каких-либо кодовых слов-заполнителей последовательность кодовых слов должна оставаться идентичной последовательности, изначально произведенной при кодировании данных.
Пример - Пусть m = 246, c = 12, r = 24 и k = 32, тогда n = (c·r) - k = (12·24) - 32 = 256.
Примечание - Обозначения соответствуют указанным выше.
Значение дескриптора длины символа n равно 256.
Число кодовых слов-заполнителей равно (n - m) - 1 = 256 - 246 - 1 = 9.
В настоящем примере кодовые слова данных (до кодовых слов-заполнителей) начинаются с функции фиксации режима цифрового уплотнения (кодовое слово 902) и заканчиваются кодовым словом со значением 423. Все кодовые слова-заполнители являются кодовыми словами 900. Дополнение дескриптором длины символа и кодовыми словами-заполнителями представлено ниже:
Исходная последовательность кодовых слов данных
dm-1
...
d0
Значения кодовых слов
902
...
423
Дополненная последовательность кодовых слов данных
dn-1
dn-2
...
d9
d8
...
d0
Значения кодовых слов
256
902
...
423
900
...
900
5.10 Формирование кодовых слов коррекции ошибок
Кодовые слова коррекции ошибок формируют с помощью приведенной ниже процедуры и вычисляют на основе значений всех кодовых слов данных, включая дескриптор длины символа и все кодовые слова-заполнители. Последовательность кодовых слов должна быть представлена в виде:
dn-1, dn-2,...d0,
где dn-1 - дескриптор длины символа.
Полином данных символа представляет собой
d(x) = dn-1xn-1 + dn-2xn-2 +...+ d1x + d0.
Ниже приведено математическое описание вычисления кодовых слов коррекции ошибок для конкретного потока данных и выбранного уровня коррекции ошибок. Все арифметические действия должны быть выполнены по модулю 929.
Кодовые слова коррекции ошибки являются дополнением коэффициентов остатка, получающегося в результате деления полинома данных символа d(x), умноженного на xk, на порождающий полином g(x). Отрицательные значения отражаются в поле Галуа GF (929) прибавлением 929 до получения значения большего или равного нулю.
Для вычисления коэффициентов для кодовых слов коррекции ошибки k, необходимых для уровня коррекции ошибок, используют порождающий полином:
,
где gk(x) - порождающий полином;
x - неизвестная переменная;
k - общее число кодовых слов коррекции ошибок;
- коэффициент показателей степеней x, образованный порождающим полиномом gk(x).
Пример вычисления коэффициентов приведен в приложении Q.
В приложении F приведены все значения коэффициентов, необходимые для кодирования символа PDF417 для всех уровней коррекции ошибок.
Кодовые слова коррекции ошибок должны вычисляться в соответствии с приведенным ниже алгоритмом с использованием следующих обозначений:
di - кодовое слово данных dn - 1 ... d0;
Ej - кодовые слова коррекции ошибок Ek - 1 ... E0;
- коэффициент показателей степени числа x, из порождающего полинома (пояснения приведены ниже, а значения - в приложении F);
t1, t2, t3 - временные переменные.
Алгоритм:
a) обозначают последовательность кодовых слов данных dn - 1, dn - 2 ... d0;
b) устанавливают в исходное состояние кодовые слова коррекции ошибки E0, ..., Ek - 1 для значения, равного нулю;
c) для каждого кодового слова данных (data) di = dn - 1 ... d0:
НАЧАЛО
t1 = (di + Ek - 1) mod 929
для каждого кодового слова коррекции ошибки Ej = Ek - 1 ... E1:
НАЧАЛО
t3 = 929 - t2
Ej = (Ej - 1 + t3) mod 929
КОНЕЦ
t3 = 929 - t2
E0 = t3 mod 929
КОНЕЦ
d) для каждого кодового слова коррекции ошибки Ej = E0 ... Ek - 1 подсчитывают дополнение:
НАЧАЛО
если Ej /= 0
Ej = 929 - Ej
КОНЕЦ
Пример вычисления кодовых слов коррекции ошибок приведен в приложении Q.
Альтернативная процедура формирования кодовых слов коррекции ошибок с использованием схемы деления приведена в приложении R.
5.11 Низкоуровневое кодирование
Низкоуровневое кодирование необходимо для преобразования значений кодовых слов в соответствующие знаки символа (последовательности штрихов и пробелов), при этом матрица символа должна быть фиксированной.
На рисунке 8 схематично представлены соответствующие позиции каждого кодового слова данных, кодового слова коррекции ошибок и индикаторов строк для символа PDF417.
Lr - левый индикатор строки; Rr - правый индикатор строки;
затененная область - область кодовых слов данных;
незатененная область под областью кодовых слов данных -
предназначена для кодовых слов коррекции ошибок
Рисунок 8 - Схема размещения кодовых слов
типового символа PDF417
5.11.1 Кластеры
В PDF417 используют систему распознавания локальной строки для определения перехода от строки к строке.
Наборы кодовых слов представлены в каждом из трех кластеров. Кластеры имеют номера 0, 3 и 6. В приложении A приведены соответствующие последовательности штрихов и пробелов для каждого знака символа, представляющие каждое кодовое слово и кластер.
Для кодирования индикаторов строк и других кодовых слов каждая строка должна содержать знаки символа (комбинации в виде штрихов и пробелов) только одного кластера. В первой строке используют знаки символа из кластера 0, во второй строке - из кластера 3, в третьей строке - из кластера 6, в четвертой строке - из кластера 0 и так далее. Последовательность кластеров 0, 3, 6 должна постоянно повторяться. Номер кластера K для любой строки вычисляют по формуле:
K = [(номер строки - 1) mod 3]·3,
где все строки пронумерованы от 1 до r (в соответствии с 4.1)
Так как любые две смежные строки имеют разные кластеры, во время декодирования символа PDF417 декодер может использовать пути сканирования, которые пересекают строки.
5.11.2 Определение матрицы символа
Матрицу строк и столбцов символа окончательно определяют в соответствии с процедурами, приведенными в 5.9.2. Они обеспечивают получение значений r и c.
5.11.3 Определение значений левого и правого индикаторов строк
Индикаторы строк в символе PDF417 - кодовые слова, которые должны кодировать несколько основных параметров: номер строки (F), число строк (r), число столбцов (c) и уровень коррекции ошибки (s). Эта информация должна быть отнесена к трем строкам, и цикл должен повторяться непрерывно. Номер строки (F) должен быть закодирован в каждой строке.
5.11.3.1 Левый индикатор строк
Левый индикатор строк вычисляют по формулам:
при KF = 0; LF = 30·((F - 1) div 3) + (r - 1) div 3;
при KF = 3; LF = 30·((F - 1) div 3) + (s x 3) + (r - 1) mod 3;
при KF = 6; LF = 30·((F - 1) div 3) + (c - 1),
где c, F, r, s и K соответствуют определениям, приведенным в 4.1
5.11.3.2 Правый индикатор строк
Правый индикатор строк вычисляют по формулам:
при KF = 0; RF = 30·((F - 1) div 3) + (c - 1);
при KF = 3; RF = 30·((F - 1) div 3) + (r - 1) div 3;
при KF = 6; RF = 30·((F - 1) div 3) + (s x 3) + (r - 1) mod 3,
где c, F, r, s и K соответствуют определениям, приведенным в 4.1
5.11.4 Кодирование строки
В каждой строке должны быть согласованы с номером кластера следующие знаки символа:
- левый индикатор строки;
- знаки символа, представляющие кодовые слова данных и (или) коррекции ошибок, в количестве, равном числу столбцов;
- правый индикатор строки.
Знаки СТАРТ и СТОП должны быть одинаковы для всех строк.
Символ должен кодироваться строка за строкой, с включением c (числа столбцов) кодовых слов в каждой строке. Первая строка должна включать дескриптор длины символа в первом столбце. Последняя строка должна включать частично или полностью кодовые слова коррекции ошибок.
5.12 Компакт PDF417 (Compact PDF417)
Символы Компакт PDF417 являются возможным выбором. В случае использования Компакт PDF417 должен соответствовать требованиям приложения G.
5.13 Макро PDF417 (Macro PDF417)
Макро PDF417 должен предусматривать механизм разделения данных файла на блоки и представления их более чем в одном символе PDF417. Данный механизм является идентичным свойству структурированного соединения в других символиках.
Каждый символ Макро PDF417 должен содержать дополнительную управляющую информацию для обеспечения надлежащего восстановления исходного файла данных независимо от последовательности, в которой сканируются и декодируются отдельные символы PDF417.
Для кодирования данных в Макро PDF417 можно использовать до 99 999 отдельных символов PDF417.
Процедуры Макро PDF417 приведены в приложении H.
5.13.1 Режимы уплотнения и Макро PDF417
Управляющий блок Макро PDF417 должен иметь предопределенный метод кодирования, так что кодовое слово 928 вызывает завершение любой последовательности режима уплотнения в теле символа. Поле индекса сегмента должно быть закодировано в режиме цифрового уплотнения. Каждое определенное необязательное поле Макро PDF417 имеет особые, изначально подразумеваемые режим и подрежим уплотнения, и начало нового необязательного поля служит окончанием режима уплотнения предыдущего поля (в соответствии с H.2.3) и вызывает собственный режим по умолчанию. В частности, даже если два следующих друг за другом необязательных поля используют один и тот же режим текстового уплотнения, то когда встречается кодовое слово 923, подрежим прописных букв сбрасывается.
5.13.2 Интерпретации в расширенном канале и Макро PDF417
В зависимости от ограничений, приведенных в 5.5.2, ECI могут встречаться в сообщениях, закодированных в отдельном символе или в наборе символов Макро PDF417. Любая вызванная ECI должна применяться до окончания закодированных данных или до тех пор, пока не встретится другая ECI. Таким образом, интерпретация ECI может охватить два символа или более.
Интерпретация (интерпретации) в расширенном канале в теле потока кодовых слов данных не должна распространяться на управляющий блок Макро PDF417, но возобновляется автоматически в начале следующего символа. Данные управляющего блока интерпретируются с помощью значения ECI по умолчанию (000002) до тех пор, пока управляющие последовательности ECI не будут явно закодированы в необязательном поле в управляющем блоке. Действие любой ECI такого рода автоматически заканчивается при окончании поля, в котором она присутствует.
Примечание - При реализации в качестве идентификаторов глобальной метки в соответствии с прежними спецификациями ([3] и [4]), кодирование подразумевает возврат к GLI 0 (равнозначному ECI 000000) в начале каждого символа. Если подразумевают, что GLI 1 сохраняется в следующем символе, тогда в начале этого следующего символа должен быть явно закодирован GLI 1. В связи с тем, что кодирующие устройства согласованы с этими ранее опубликованными стандартами, которые еще некоторое время будут в использовании, рекомендации по обеспечению совместимости с настоящими требованиями приведены в 5.17.6.
5.14 Рекомендации для пользователя
5.14.1 Визуальное представление
Символы PDF417 допускают кодирование больших объемов данных, в связи с этим печать визуальных представлений знаков данных может оказаться непрактичной. В качестве альтернативы символ может сопровождать описательный, а не дословный текст. Представление может быть отпечатано в любом месте вокруг символа, но без нарушения символа и свободных зон. Размеры знаков и шрифт не регламентированы настоящим стандартом, но могут быть установлены в стандартах, регламентирующих требования по применению.
5.14.2 Возможность автоматического распознавания
PDF417 может быть использован в условиях автоматического распознавания с рядом других символик в соответствии с приложением S (см. S.1).
5.14.3 Параметры применения, устанавливаемые пользователем
ИС МЕГАНОРМ: примечание.
В официальном тексте документа, видимо, допущена опечатка: имеется в виду пункт 5.14.3.1, а не 5.14.2.1.
Параметры символов PDF417, которые в настоящем стандарте указаны как выбираемые пользователем, должны определять стандарты, регламентирующие требования по применению в соответствии с требованиями, указанными в 5.14.2.1 и 5.14.3.2.
5.14.3.1 Символика и размеры
Стандарты, регламентирующие требования по применению, должны устанавливать следующие параметры данных и символики, включая размеры:
a) выбор и использование интерпретаций в расширенном канале, при необходимости, чтобы расширить возможности кодирования данных за пределами интерпретаций по умолчанию базовых режимов;
b) объем данных в символе, который может быть фиксированным, переменным или переменным до определенного значения;
c) выбор уровня коррекции ошибок;
d) диапазон размеров X;
e) диапазон размеров Y;
f) параметры символа - диапазон допустимых коэффициентов сжатия и/или соответствие длины или высоты символа (любой из двух) наибольшим размерам.
Примечание - Дополнительные факторы, которые следует учитывать при определении применений PDF417, приведены в приложении O и приложении S.
5.14.3.2 Требования контроля
Параметры оценки символов определяют установлением класса качества в соответствии с ISO/IEC 15415 в стандарте, регламентирующем требования по применению.
Класс качества выражается в следующей форме:
класс/апертура/длина волны в максимуме интенсивности отраженного излучения.
Пример представления типов значений, которые необходимо отразить
1,5/10/660,
где 1,5 - полный класс качества символа;
10 - ссылочный номер измерительной апертуры (в настоящем примере диаметр 0,25 мм);
660 - длина волны отраженного излучения в максимуме интенсивности в нанометрах.
Примечание - В ISO/IEC 15415 определены классы допустимых значений. Значения, соответствующие применению, должны быть установлены в стандарте, регламентирующем требования по применению.
5.14.4 Качество печати символа PDF417
Качество печати символа PDF417 оценивается, используя рекомендации по оценке качества печати двумерных штрих-кодов, определенных в ISO/IEC 15415 для многострочных символик с возможностью перекрестного сканирования.
5.15 Рекомендуемый алгоритм декодирования
Рекомендуемый алгоритм декодирования для PDF417 приведен в приложении J. Этот алгоритм должен быть основой для оценки качества печати в соответствии с ISO/IEC 15415.
5.16 Процедура обнаружения и коррекции ошибок
В качестве составной части процедуры декодирования возможна реконструкция символа при наличии стираний и ошибок подстановки в пределах возможностей коррекции ошибок символа. Реконструкция может выполняться с помощью процедуры, описанной в приложении K.
5.17 Передаваемые данные
5.17.1 Передаваемые данные в базовой интерпретации (по умолчанию)
Все кодовые слова данных должны быть переведены в данные для пользователя и переданы в виде 8-битовых байтов независимо от того, находятся ли эти данные в режимах текстового, байтового или цифрового уплотнения. Не подлежат передаче знаки СТАРТ и СТОП, индикаторы строк, дескриптор длины символа, кодовые слова переключения режима, кодовые слова-заполнители и кодовые слова коррекции ошибок.
5.17.2 Протокол передачи для интерпретаций в расширенном канале (ECI)
В системах, поддерживающих ECI, в каждой передаче должен использоваться префикс идентификатора символики (согласно стандарту [6] и приложению L). Управляющие блоки Макро PDF417 (в случае, если они передаются) должны обрабатываться как часть набора управляющих последовательностей, который работает совместно с протоколом передачи ECI (5.17.3 и приложение H).
Три кодовых слова (со значениями 925, 926 и 927) являются сигналом для кодирования значения ECI и декодируются как значения байтов следующим образом:
a) если последовательность ECI начинается с кодового слова 927:
1) кодовое слово 927 передается в качестве управляющего знака со значением 92, который представляет знак ОБРАТНАЯ ДРОБНАЯ ЧЕРТА (\) при кодировании по умолчанию;
2) следующее кодовое слово преобразуется в 6-разрядное значение путем размещения начальных нулей перед кодовым словом. 6-разрядное значение передается как шесть соответствующих значений байтов с десятичными значениями от 48 до 57.
Пример - Закодировано в символе - [927] [123]
Передаваемые данные (десятичные значения байтов) - 92, 48, 48, 48, 49, 50, 51
Интерпретация в знаках ASCII (версия КОИ-7) - \000123
b) если последовательность ECI начинается с кодового слова 926:
1) кодовое слово 926 передается как управляющий знак с десятичным значением 92;
2) следующие два кодовых слова преобразуются в 6-разрядное значение с начальными нулями (при необходимости), используя следующую формулу:
([первое кодовое слово] + 1)·900 + [второе кодовое слово])
6-разрядное значение передается как шесть соответствующих значений байтов с десятичными значениями от 48 до 57.
Пример - Закодировано в символе - [926] [136] [156]
Передаваемые данные (десятичные значения байтов) - 92, 49, 50, 51, 52, 53, 54
Интерпретация в знаках ASCII (версия КОИ-7) - \123456
c) если последовательность ECI начинается с кодового слова 925:
1) кодовое слово 925 передается как управляющий знак с десятичным значением 92.
2) следующее кодовое слово преобразуется в 6-разрядное значение путем прибавления к нему 810 900. 6-разрядное значение передается как шесть соответствующих значений байтов с десятичными значениями от 48 до 57.
Пример - Закодировано в символе - [925] [456]
Передаваемые данные (десятичные значения байтов) - 92, 56, 49, 49, 51, 53, 54
Интерпретация в знаках ASCII (версия КОИ-7) - \811356
Процедура повторяется для каждого случая интерпретации в расширенном канале (ECI).
Прикладное программное обеспечение, распознающее 7-байтовую управляющую последовательность по знаку со значением 92, при помощи шести байтов (каждый из диапазона знаков со значениями от 48 до 57) должно интерпретировать все последующие знаки до окончания закодированных данных или до тех пор, пока не встретится другой отдельный байт со значением 92 в качестве байта из интерпретации в расширенном канале, определенной 6-разрядной последовательностью.
Если знак ОБРАТНАЯ ДРОБНАЯ ЧЕРТА или другой знак, представленный байтом со значением 92, необходимо использовать в качестве закодированных данных, то передача должна происходить в соответствии с приведенным примером. Если байт со значением 92 появляется в качестве данных, то должны быть переданы два байта этого значения; таким образом, единичное появление всегда является управляющим знаком, а двоичное появление означает достоверные данные.
Пример - Закодированные данные - A\\B\C
Передача - A\\\\B\\C
5.17.3 Передача данных для Макро PDF417
Протокол передачи данных для Макро PDF417 приведен в H.6.
5.17.4 Передача зарезервированных кодовых слов с использованием протокола интерпретации в расширенном канале
При работе под протоколом передачи ECI декодеры PDF417 должны передавать управляющую последовательность ECI из 6 байтов зарезервированных кодовых слов (интерпретируемых как \CnnnC), представляющую управляющий знак (со значением 92), за которым следует знак C (значение 67), три разряда, которые представляют десятичное значение зарезервированного кодового слова и за которыми следует другое C, завершающее управляющую последовательность ECI независимым от символики способом. Кодовые слова данных, следующие за зарезервированным кодовым словом, не интерпретируются декодером в соответствии с любым режимом уплотнения, но вместо этого передаются как серии управляющих последовательностей, представляющие кодовые слова с использованием той же 6-байтовой управляющей последовательности, указанной ранее. Все оставшиеся кодовые слова данных передаются этим же способом до тех пор, пока не будут достигнуты:
- окончание закодированных данных в символе;
- функция фиксации режима уплотнения;
- функциональное кодовое слово управляющего блока Макро PDF417 (928, 923, или 922).
Кодовое слово 913 (регистр режима байтового уплотнения) разрешено только в режиме текстового уплотнения и не может быть частью потока кодовых слов в процессе отправки неинтерпретируемых управляющих кодовых слов.
Примечание - Этот протокол может правильно передавать синтаксис сообщения для любых зарезервированных кодовых слов, для которых будущие определения представляют собой обеспечение сигнальных функций или представления новых режимов уплотнения.
5.17.5 Идентификатор символики
После определения структуры данных (в виде Макро PDF417, ECI и т.д.) в качестве преамбулы к переданным декодером данным должен быть добавлен идентификатор символики. Идентификаторы символики для PDF417 приведены в приложении L.
5.17.6 Передача, использующая устаревшие протоколы
Введение системы интерпретаций в расширенном канале в некоторые символики оказало воздействие на ранее существовавшие символики, включая PDF417. Основные правила кодирования и декодирования в настоящем стандарте остались теми же, что и в исходных версиях PDF417 ([3] и [4]). Передача для ECI и Макро PDF417 отличается по формату, но передает равнозначную информацию.
Новое оборудование и программное обеспечение для декодирования символики PDF417 должно соответствовать настоящему стандарту, при этом допускают использование существующего оборудования, соответствующего устаревшим стандартам. В приложении M приведены правила, которыми необходимо руководствоваться при использовании декодирующего оборудования и программного обеспечения, которые не соответствуют современным символам с ECI и Макро PDF417, что обеспечивает сосуществование старого и нового оборудования.
Приложение A
(обязательное)
КОДИРОВАНИЕ/ДЕКОДИРОВАНИЕ ПОСЛЕДОВАТЕЛЬНОСТЕЙ ШТРИХОВ
И ПРОБЕЛОВ ЗНАКОВ СИМВОЛА PDF417
В таблице A.1 установлены значения каждого кодового слова и последовательности штрихов и пробелов для знаков символа в кластерах 0, 3 и 6.
Таблица A.1
Последовательность штрихов и пробелов
Значение кодового слова
Последовательность штрихов и пробелов для кластера
0
BSBSBSBS
3
BSBSBSBS
6
BSBSBSBS
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
21231242
262
12132125
12115421
11231333
263
22132133
12116132
21231341
264
32132141
12116231
11231432
265
11223125
51211115
11231531
266
12132224
61211123
12141143
267
22132232
11211164
22141151
268
11223224
51211214
11232143
269
21223232
61211222
12141242
270
22132331
11211263
11232242
271
11223323
51211313
12141341
272
12132422
61211321
11232341
273
12132521
11211362
12142151
274
12133133
51211412
11233151
275
22133141
51211511
11241134
276
11224133
42121115
21241142
277
12133232
52121123
11241233
278
11224232
62121131
21241241
279
12133331
41212115
11241332
280
11224331
42121214
11241431
281
11225141
61212131
12151142
282
21231116
41212214
11242142
283
31231124
51212222
12151241
284
41231132
52121321
11242241
285
21231215
41212313
11251133
286
31231223
42121412
21251141
287
41231231
41212412
11251232
288
21231314
42121511
11251331
289
31231322
41212511
12161141
290
21231413
32122115
11252141
291
31231421
42122123
11261132
292
21231512
52122131
11261231
293
21231611
31213115
13111145
294
12141116
32122214
23111153
295
22141124
42122222
33111161
296
32141132
31213214
13111244
297
11232116
41213222
23111252
298
12141215
42122321
13111343
299
22141223
31213313
23111351
300
32141231
32122412
13111442
301
11232215
31213412
13111541
302
21232223
32122511
63112112
303
31232231
31213511
13112153
304
11232314
22123115
23112161
305
12141413
32123123
63112211
306
22141421
42123131
13112252
307
11232413
21214115
13112351
308
21232421
22123214
53113112
309
11232512
32123222
13113161
310
12142124
21214214
53113211
311
22142132
31214222
43114112
312
11233124
32123321
43114211
313
12142223
21214313
33115112
314
22142231
22123412
33115211
315
11233223
21214412
23116112
316
21233231
22123511
23116211
317
11233322
21214511
12211136
318
12142421
12124115
22211144
319
11233421
22124123
32211152
320
11234132
32124131
12211235
321
11234231
11215115
22211243
322
21241115
12124214
32211251
323
31241123
22124222
12211334
324
41241131
11215214
22211342
325
21241214
21215222
12211433
326
31241222
22124321
22211441
327
21241313
11215313
12211532
328
31241321
12124412
12211631
329
21241412
11215412
13121144
330
21241511
12124511
23121152
331
12151115
12125123
12212144
332
22151123
22125131
13121243
333
32151131
11216123
23121251
334
11242115
12125222
12212243
335
12151214
11216222
22212251
336
22151222
12125321
12212342
337
11242214
11216321
13121441
338
21242222
12126131
12212441
339
22151321
51221114
63122111
340
11242313
61221122
13122152
341
12151412
11221163
62213111
342
11242412
51221213
12213152
343
12151511
61221221
13122251
344
12152123
11221262
12213251
345
11243123
51221312
53123111
346
11243222
11221361
52214111
347
11243321
51221411
43124111
348
31251122
42131114
42215111
349
31251221
52131122
33125111
350
21251411
41222114
32216111
351
22161122
42131213
23126111
352
12161213
52131221
21311135
353
11252213
41222213
31311143
354
11252312
51222221
41311151
355
11252411
41222312
11311226
356
23111126
42131411
21311234
357
33111134
41222411
31311242
358
43111142
32132114
11311325
359
23111225
42132122
21311333
360
33111233
31223114
31311341
361
13111316
32132213
11311424
362
23111324
42132221
21311432
363
33111332
31223213
11311523
364
13111415
41223221
21311531
365
23111423
31223312
11311622
366
13111514
32132411
12221135
367
13111613
31223411
22221143
368
13112126
22133114
32221151
369
23112134
32133122
11312135
370
33112142
21224114
12221234
371
13112225
22133213
22221242
372
23112233
32133221
11312234
373
33112241
21224213
21312242
374
13112324
31224221
22221341
375
23112332
21224312
11312333
376
13112423
22133411
12221432
377
13112522
21224411
11312432
378
13113134
12134114
12221531
379
23113142
22134122
11312531
380
13113233
11225114
13131143
381
23113241
12134213
23131151
382
13113332
22134221
12222143
383
13114142
11225213
13131242
384
13114241
21225221
11313143
385
32211125
11225312
12222242
386
42211133
12134411
13131341
387
52211141
11225411
11313242
388
22211216
12135122
12222341
389
32211224
11226122
11313341
390
42211232
12135221
13132151
391
22211315
11226221
12223151
392
32211323
51231113
11314151
393
42211331
61231121
11321126
394
22211414
11231162
21321134
395
32211422
51231212
31321142
396
22211513
11231261
11321225
397
32211521
51231311
21321233
398
23121125
42141113
31321241
399
33121133
52141121
11321324
400
43121141
41232113
21321332
401
22212125
51232121
11321423
402
23121224
41232212
21321431
403
33121232
42141311
11321522
404
12212216
41232311
11321621
405
13121315
32142113
12231134
406
32212232
42142121
22231142
407
33121331
31233113
11322134
408
12212315
32142212
12231233
409
22212323
31233212
22231241
410
23121422
32142311
11322233
411
12212414
31233311
21322241
412
13121513
22143113
11322332
413
12212513
32143121
12231431
414
13122125
21234113
11322431
415
23122133
31234121
13141142
416
33122141
21234212
12232142
417
12213125
22143311
13141241
418
13122224
21234311
11323142
419
32213141
12144113
12232241
420
12213224
22144121
11323241
421
22213232
11235113
11331125
422
23122331
12144212
21331133
423
12213323
11235212
31331141
424
13122422
12144311
11331224
425
12213422
11235311
21331232
426
13123133
12145121
11331323
427
23123141
11236121
21331331
428
12214133
51241112
11331422
429
13123232
11241161
11331521
430
12214232
51241211
12241133
431
13123331
42151112
22241141
432
13124141
41242112
11332133
433
12215141
42151211
12241232
434
31311116
41242211
11332232
435
41311124
32152112
12241331
436
51311132
31243112
11332331
437
31311215
32152211
13151141
438
41311223
31243211
12242141
439
51311231
22153112
11333141
440
31311314
21244112
11341124
441
41311322
22153211
21341132
442
31311413
21244211
11341223
443
41311421
12154112
21341231
444
31311512
11245112
11341322
445
22221116
12154211
11341421
446
32221124
11245211
12251132
447
42221132
51251111
11342132
448
21312116
42161111
12251231
449
22221215
41252111
11342231
450
41312132
32162111
11351123
451
42221231
31253111
21351131
452
21312215
22163111
11351222
453
31312223
21254111
11351321
454
41312231
43111115
12261131
455
21312314
53111123
11352131
456
22221413
63111131
11361122
457
32221421
43111214
11361221
458
21312413
53111222
14111144
459
31312421
43111313
24111152
460
22221611
53111321
14111243
461
13131116
43111412
24111251
462
23131124
43111511
14111342
463
33131132
33112115
14111441
464
12222116
43112123
14112152
465
13131215
53112131
14112251
466
23131223
33112214
54113111
467
33131231
43112222
44114111
468
11313116
33112313
34115111
469
12222215
43112321
24116111
470
22222223
33112412
13211135
471
32222231
33112511
23211143
472
11313215
23113115
33211151
473
21313223
33113123
13211234
474
31313231
43113131
23211242
475
23131421
23113214
13211333
476
11313314
33113222
23211341
477
12222413
23113313
13211432
478
22222421
33113321
13211531
479
11313413
23113412
14121143
480
13131611
23113511
24121151
481
13132124
13114115
13212143
482
23132132
23114123
14121242
483
12223124
33114131
13212242
484
13132223
13114214
14121341
485
23132231
23114222
13212341
486
11314124
13114313
14122151
487
12223223
23114321
13213151
488
22223231
13114412
12311126
489
11314223
13114511
22311134
490
21314231
13115123
32311142
491
13132421
23115131
12311225
492
12223421
13115222
22311233
493
13133132
13115321
32311241
494
12224132
13116131
12311324
495
13133231
52211114
22311332
496
11315132
62211122
12311423
497
12224231
12211163
22311431
498
31321115
52211213
12311522
499
41321123
62211221
12311621
500
51321131
12211262
13221134
501
31321214
52211312
23221142
502
41321222
12211361
12312134
503
31321313
52211411
13221233
504
41321321
43121114
23221241
505
31321412
53121122
12312233
506
31321511
42212114
13221332
507
22231115
43121213
12312332
508
32231123
53121221
13221431
509
42231131
42212213
12312431
510
21322115
52212221
14131142
511
22231214
42212312
13222142
512
41322131
43121411
14131241
513
21322214
42212411
12313142
514
31322222
33122114
13222241
515
32231321
43122122
12313241
516
21322313
32213114
21411125
517
22231412
33122213
31411133
518
21322412
43122221
41411141
519
22231511
32213213
11411216
520
21322511
42213221
21411224
521
13141115
32213312
31411232
522
23141123
33122411
11411315
523
33141131
32213411
21411323
524
12232115
23123114
31411331
525
13141214
33123122
11411414
526
23141222
22214114
21411422
527
11323115
23123213
11411513
528
12232214
33123221
21411521
529
22232222
22214213
11411612
530
23141321
32214221
12321125
531
11323214
22214312
22321133
532
21323222
23123411
32321141
533
13141412
22214411
11412125
534
11323313
13124114
12321224
535
12232412
23124122
22321232
536
13141511
12215114
11412224
537
12232511
13124213
21412232
538
13142123
23124221
22321331
539
23142131
12215213
11412323
540
12233123
22215221
12321422
541
13142222
12215312
11412422
542
11324123
13124411
12321521
543
12233222
12215411
11412521
544
13142321
13125122
13231133
545
11324222
12216122
23231141
546
12233321
13125221
12322133
547
13143131
12216221
13231232
548
11325131
61311113
11413133
549
31331114
11311154
12322232
550
41331122
21311162
13231331
551
31331213
61311212
11413232
552
41331221
11311253
12322331
553
31331312
21311261
11413331
554
31331411
61311311
14141141
555
22241114
11311352
13232141
556
32241122
11311451
12323141
557
21332114
52221113
11414141
558
22241213
62221121
11421116
559
32241221
12221162
21421124
560
21332213
51312113
31421132
561
31332221
61312121
11421215
562
21332312
11312162
21421223
563
22241411
12221261
31421231
564
21332411
51312212
11421314
565
13151114
52221311
21421322
566
23151122
11312261
11421413
567
12242114
51312311
21421421
568
13151213
43131113
11421512
569
23151221
53131121
11421611
570
11333114
42222113
12331124
571
12242213
43131212
22331132
572
22242221
41313113
11422124
573
11333213
51313121
12331223
574
21333221
43131311
22331231
575
13151411
41313212
11422223
576
11333312
42222311
21422231
577
12242411
41313311
11422322
578
11333411
33132113
12331421
579
12243122
43132121
11422421
580
11334122
32223113
13241132
581
11334221
33132212
12332132
582
41341121
31314113
13241231
583
31341311
32223212
11423132
584
32251121
33132311
12332231
585
22251212
31314212
11423231
586
22251311
32223311
11431115
587
13161113
31314311
21431123
588
12252113
23133113
31431131
589
11343113
33133121
11431214
590
13161311
22224113
21431222
591
12252311
23133212
11431313
592
24111125
21315113
21431321
593
14111216
22224212
11431412
594
24111224
23133311
11431511
595
14111315
21315212
12341123
596
24111323
22224311
22341131
597
34111331
21315311
11432123
598
14111414
13134113
12341222
599
24111422
23134121
11432222
600
14111513
12225113
12341321
601
24111521
13134212
11432321
602
14112125
11316113
13251131
603
24112133
12225212
12342131
604
34112141
13134311
11433131
605
14112224
11316212
11441114
606
24112232
12225311
21441122
607
14112323
11316311
11441213
608
24112331
13135121
21441221
609
14112422
12226121
11441312
610
14112521
61321112
11441411
611
14113133
11321153
12351122
612
24113141
21321161
11442122
613
14113232
61321211
12351221
614
14113331
11321252
11442221
615
14114141
11321351
11451113
616
23211116
52231112
21451121
617
33211124
12231161
11451212
618
43211132
51322112
11451311
619
23211215
52231211
12361121
620
33211223
11322161
11452121
621
23211314
51322211
15111143
622
33211322
43141112
25111151
623
23211413
42232112
15111242
624
33211421
43141211
15111341
625
23211512
41323112
15112151
626
14121116
42232211
14211134
627
24121124
41323211
24211142
628
34121132
33142112
14211233
629
13212116
32233112
24211241
630
14121215
33142211
14211332
631
33212132
31324112
14211431
632
34121231
32233211
15121142
633
13212215
31324211
14212142
634
23212223
23143112
15121241
635
33212231
22234112
14212241
636
13212314
23143211
13311125
637
14121413
21325112
23311133
638
24121421
22234211
33311141
639
13212413
21325211
13311224
640
23212421
13144112
23311232
641
14121611
12235112
13311323
642
14122124
13144211
23311331
643
24122132
11326112
13311422
644
13213124
12235211
13311521
645
14122223
11326211
14221133
646
24122231
61331111
24221141
647
13213223
11331152
13312133
648
23213231
11331251
14221232
649
13213322
52241111
13312232
650
14122421
51332111
14221331
651
14123132
43151111
13312331
652
13214132
42242111
15131141
653
14123231
41333111
14222141
654
13214231
33152111
13313141
655
32311115
32243111
12411116
656
42311123
31334111
22411124
657
52311131
23153111
32411132
658
32311214
22244111
12411215
659
42311222
21335111
22411223
660
32311313
13154111
32411231
661
42311321
12245111
12411314
662
32311412
11336111
22411322
663
32311511
11341151
12411413
664
23221115
44111114
22411421
665
33221123
54111122
12411512
666
22312115
44111213
12411611
667
23221214
54111221
13321124
668
33221222
44111312
23321132
669
22312214
44111411
12412124
670
32312222
34112114
13321223
671
33221321
44112122
23321231
672
22312313
34112213
12412223
673
23221412
44112221
22412231
674
22312412
34112312
12412322
675
23221511
34112411
13321421
676
22312511
24113114
12412421
677
14131115
34113122
14231132
678
24131123
24113213
13322132
679
13222115
34113221
14231231
680
14131214
24113312
12413132
681
33222131
24113411
13322231
682
12313115
14114114
12413231
683
13222214
24114122
21511115
684
23222222
14114213
31511123
685
24131321
24114221
41511131
686
12313214
14114312
21511214
687
22313222
14114411
31511222
688
14131412
14115122
21511313
689
12313313
14115221
31511321
690
13222412
53211113
21511412
691
14131511
63211121
21511511
692
13222511
13211162
12421115
693
14132123
53211212
22421123
694
24132131
13211261
32421131
695
13223123
53211311
11512115
696
14132222
44121113
12421214
697
12314123
54121121
22421222
698
13223222
43212113
11512214
699
14132321
44121212
21512222
700
12314222
43212212
22421321
701
13223321
44121311
11512313
702
14133131
43212311
12421412
703
13224131
34122113
11512412
704
12315131
44122121
12421511
705
41411114
33213113
11512511
706
51411122
34122212
13331123
707
41411213
33213212
23331131
708
51411221
34122311
12422123
709
41411312
33213311
13331222
710
41411411
24123113
11513123
711
32321114
34123121
12422222
712
42321122
23214113
13331321
713
31412114
24123212
11513222
714
41412122
23214212
12422321
715
42321221
24123311
11513321
716
31412213
23214311
14241131
717
41412221
14124113
13332131
718
31412312
24124121
12423131
719
32321411
13215113
11514131
720
31412411
14124212
21521114
721
23231114
13215212
31521122
722
33231122
14124311
21521213
723
22322114
13215311
31521221
724
23231213
14125121
21521312
725
33231221
13216121
21521411
726
21413114
62311112
12431114
727
22322213
12311153
22431122
728
32322221
22311161
11522114
729
21413213
62311211
12431213
730
31413221
12311252
22431221
731
23231411
12311351
11522213
732
21413312
53221112
21522221
733
22322411
13221161
11522312
734
21413411
52312112
12431411
735
14141114
53221211
11522411
736
24141122
12312161
13341122
737
13232114
52312211
12432122
738
14141213
44131112
13341221
739
24141221
43222112
11523122
740
12323114
44131211
12432221
741
13232213
42313112
11523221
742
23232221
43222211
21531113
743
11414114
42313211
31531121
744
12323213
34132112
21531212
745
22323221
33223112
21531311
746
14141411
34132211
12441113
747
11414213
32314112
22441121
748
21414221
33223211
11532113
749
13232411
32314211
12441212
750
11414312
24133112
11532212
751
14142122
23224112
12441311
752
13233122
24133211
11532311
753
14142221
22315112
13351121
754
12324122
23224211
12442121
755
13233221
22315211
11533121
756
11415122
14134112
21541112
757
12324221
13225112
21541211
758
11415221
14134211
12451112
759
41421113
12316112
11542112
760
51421121
13225211
12451211
761
41421212
12316211
11542211
762
41421311
11411144
16111142
763
32331113
21411152
16111241
764
42331121
11411243
15211133
765
31422113
21411251
25211141
766
41422121
11411342
15211232
767
31422212
11411441
15211331
768
32331311
62321111
16121141
769
31422311
12321152
15212141
770
23241113
61412111
14311124
771
33241121
11412152
24311132
772
22332113
12321251
14311223
773
23241212
11412251
24311231
774
21423113
53231111
14311322
775
22332212
52322111
14311421
776
23241311
51413111
15221132
777
21423212
44141111
14312132
ИС МЕГАНОРМ: примечание.
В официальном тексте документа, видимо, допущена опечатка: строки со значениями кодового слова с "712" по "777" приведены дважды.
712
42321122
23214113
13331321
713
31412114
24123212
11513222
714
41412122
23214212
12422321
715
42321221
24123311
11513321
716
31412213
23214311
14241131
717
41412221
14124113
13332131
718
31412312
24124121
12423131
719
32321411
13215113
11514131
720
31412411
14124212
21521114
721
23231114
13215212
31521122
722
33231122
14124311
21521213
723
22322114
13215311
31521221
724
23231213
14125121
21521312
725
33231221
13216121
21521411
726
21413114
62311112
12431114
727
22322213
12311153
22431122
728
32322221
22311161
11522114
729
21413213
62311211
12431213
730
31413221
12311252
22431221
731
23231411
12311351
11522213
732
21413312
53221112
21522221
733
22322411
13221161
11522312
734
21413411
52312112
12431411
735
14141114
53221211
11522411
736
24141122
12312161
13341122
737
13232114
52312211
12432122
738
14141213
44131112
13341221
739
24141221
43222112
11523122
740
12323114
44131211
12432221
741
13232213
42313112
11523221
742
23232221
43222211
21531113
743
11414114
42313211
31531121
744
12323213
34132112
21531212
745
22323221
33223112
21531311
746
14141411
34132211
12441113
747
11414213
32314112
22441121
748
21414221
33223211
11532113
749
13232411
32314211
12441212
750
11414312
24133112
11532212
751
14142122
23224112
12441311
752
13233122
24133211
11532311
753
14142221
22315112
13351121
754
12324122
23224211
12442121
755
13233221
22315211
11533121
756
11415122
14134112
21541112
757
12324221
13225112
21541211
758
11415221
14134211
12451112
759
41421113
12316112
11542112
760
51421121
13225211
12451211
761
41421212
12316211
11542211
762
41421311
11411144
16111142
763
32331113
21411152
16111241
764
42331121
11411243
15211133
765
31422113
21411251
25211141
766
41422121
11411342
15211232
767
31422212
11411441
15211331
768
32331311
62321111
16121141
769
31422311
12321152
15212141
770
23241113
61412111
14311124
771
33241121
11412152
24311132
772
22332113
12321251
14311223
773
23241212
11412251
24311231
774
21423113
53231111
14311322
775
22332212
52322111
14311421
776
23241311
51413111
15221132
777
21423212
44141111
14312132
778
22332311
43232111
15221231
779
21423311
42323111
14312231
780
14151113
41414111
13411115
781
24151121
34142111
23411123
782
13242113
33233111
33411131
783
23242121
32324111
13411214
784
12333113
31415111
23411222
785
13242212
24143111
13411313
786
14151311
23234111
23411321
787
11424113
22325111
13411412
788
12333212
21416111
13411511
789
13242311
14144111
14321123
790
11424212
13235111
24321131
791
12333311
12326111
13412123
792
11424311
11421143
23412131
793
13243121
21421151
13412222
794
11425121
11421242
14321321
795
41431211
11421341
13412321
796
31432112
12331151
15231131
797
31432211
11422151
14322131
798
22342112
11431142
13413131
799
21433112
11431241
22511114
800
21433211
11441141
32511122
801
13252112
45111113
22511213
802
12343112
45111212
32511221
803
11434112
45111311
22511312
804
11434211
35112113
22511411
805
15111116
45112121
13421114
806
15111215
35112212
23421122
807
25111223
35112311
12512114
808
15111314
25113113
22512122
809
15111413
35113121
23421221
810
15111512
25113212
12512213
811
15112124
25113311
13421312
812
15112223
15114113
12512312
813
15112322
25114121
13421411
814
15112421
15114212
12512411
815
15113132
15114311
14331122
816
15113231
15115121
13422122
817
24211115
54211112
14331221
818
24211214
14211161
12513122
819
34211222
54211211
13422221
820
24211313
45121112
12513221
821
34211321
44212112
31611113
822
24211412
45121211
41611121
823
24211511
44212211
31611212
824
15121115
35122112
31611311
825
25121123
34213112
22521113
826
14212115
35122211
32521121
827
24212123
34213211
21612113
828
25121222
25123112
22521212
829
14212214
24214112
21612212
830
24212222
25123211
22521311
831
14212313
24214211
21612311
832
24212321
15124112
13431113
833
14212412
14215112
23431121
834
15121511
15124211
12522113
835
14212511
14215211
13431212
836
15122123
63311111
11613113
837
25122131
13311152
12522212
838
14213123
13311251
13431311
839
24213131
54221111
11613212
840
14213222
53312111
12522311
841
15122321
45131111
11613311
842
14213321
44222111
14341121
843
15123131
43313111
13432121
844
14214131
35132111
12523121
845
33311114
34223111
11614121
846
33311213
33314111
31621112
847
33311312
25133111
31621211
848
33311411
24224111
22531112
849
24221114
23315111
21622112
850
23312114
15134111
22531211
851
33312122
14225111
21622211
852
34221221
13316111
13441112
853
23312213
12411143
12532112
854
33312221
22411151
13441211
855
23312312
12411242
11623112
856
24221411
12411341
12532211
857
23312411
13321151
11623211
858
15131114
12412151
31631111
859
14222114
11511134
22541111
860
15131213
21511142
21632111
861
25131221
11511233
13451111
862
13313114
21511241
12542111
863
14222213
11511332
11633111
864
15131312
11511431
16211132
865
13313213
12421142
16211231
866
14222312
11512142
15311123
867
15131411
12421241
25311131
868
13313312
11512241
15311222
869
14222411
11521133
15311321
870
15132122
21521141
16221131
871
14223122
11521232
15312131
872
15132221
11521331
14411114
873
13314122
12431141
24411122
874
14223221
11522141
14411213
875
13314221
11531132
24411221
876
42411113
11531231
14411312
877
42411212
11541131
14411411
878
42411311
36112112
15321122
879
33321113
36112211
14412122
880
32412113
26113112
15321221
881
42412121
26113211
14412221
882
32412212
16114112
23511113
883
33321311
16114211
33511121
884
32412311
45212111
23511212
885
24231113
36122111
23511311
886
34231121
35213111
14421113
887
23322113
26123111
24421121
888
33322121
25214111
13512113
889
22413113
16124111
23512121
890
23322212
15215111
13512212
891
24231311
14311151
14421311
892
22413212
13411142
13512311
893
23322311
13411241
15331121
894
22413311
12511133
14422121
895
15141113
22511141
13513121
896
25141121
12511232
32611112
897
14232113
12511331
32611211
898
24232121
13421141
23521112
899
13323113
12512141
22612112
900
14232212
11611124
23521211
901
15141311
21611132
22612211
902
12414113
11611223
14431112
903
13323212
21611231
13522112
904
14232311
11611322
14431211
905
12414212
11611421
12613112
906
13323311
12521132
13522211
907
15142121
11612132
12613211
908
14233121
12521231
32621111
909
13324121
11612231
23531111
910
12415121
11621123
22622111
911
51511112
21621131
14441111
912
51511211
11621222
13532111
913
42421112
11621321
12623111
914
41512112
12531131
16311122
915
42421211
11622131
16311221
916
41512211
11631122
15411113
917
33331112
11631221
25411121
918
32422112
14411141
15411212
919
33331211
13511132
15411311
920
31513112
13511231
16321121
921
32422211
12611123
15412121
922
31513211
22611131
24511112
923
24241112
12611222
24511211
924
23332112
12611321
15421112
925
24241211
13521131
14512112
926
22423112
12612131
15421211
927
23332211
12621122
14512211
928
21514112
12621221
33611111
Приложение B
(обязательное)
НАБОР ЗНАКОВ ПО УМОЛЧАНИЮ ДЛЯ РЕЖИМА БАЙТОВОГО УПЛОТНЕНИЯ
Набор знаков по умолчанию для режима байтового уплотнения приведен в таблице B.1.
Таблица B.1
Набор знаков по умолчанию для режима байтового уплотнения
B
C
0
NUL
1
SOH
2
STX
3
ETX
4
EOT
5
ENQ
6
ACK
7
BEL
8
BS
9
HT
10
LF
11
VT
12
FF
13
CR
14
SO
15
SI
16
DLE
17
DC1
18
DC2
19
DC3
20
DC4
21
NAK
22
SYN
23
ETB
24
CAN
25
EM
26
SUB
27
ESC
28
IS4/FS
29
IS3/GS
30
IS2/RS
31
IS1/US
32
space
33
!
34
"
35
#
36
$
37
%
38
&
39
'
40
(
41
)
42
*
43
+
44
,
45
-
46
.
47
/
48
0
49
1
50
2
51
3
52
4
53
5
54
6
55
7
56
8
57
9
58
:
59
;
60
<
61
=
62
>
63
?
64
@
65
A
66
B
67
C
68
D
69
E
70
F
71
G
72
H
73
I
74
J
75
K
76
L
77
M
78
N
79
O
80
P
81
Q
82
R
83
S
84
T
85
U
86
V
87
W
88
X
89
Y
90
Z
91
[
92
\
93
]
94
^
95
_
96
`
97
a
98
b
99
c
100
d
101
e
102
f
103
g
104
h
105
i
106
j
107
k
108
l
109
m
110
n
111
o
112
p
113
q
114
r
115
s
116
t
117
u
118
v
119
w
120
x
121
y
122
z
123
{
124
|
125
}
126
~
127
DEL
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
NBSP
161
162
163
164
165
166
167
§
168
169
170
a
171
172
173
SHY
174
175
176
177
178
2
179
3
180
181
182
183
·
184
185
1
186
0
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
Примечание - Эта таблица соответствует набору знаков, определенному в ISO/IEC 8859-1 <1>, с добавлением управляющих знаков (с десятичными значениями байтов 00 - 31), определенных в ISO/IEC 646.
--------------------------------
<1> Набор графических знаков по ISO/IEC 8859-1 приведен в приложении ДБ (ДБ.2).
Приложение C
(обязательное)
АЛГОРИТМ КОДИРОВАНИЯ В РЕЖИМЕ БАЙТОВОГО УПЛОТНЕНИЯ
Это преобразование следует использовать в режиме байтового уплотнения. С его помощью могут быть преобразованы шесть байтов данных в пять кодовых слов данных PDF417 по уравнению
b5·2565 + b4·2564 + b3·2563 + b2·2562 + b1·2561 + b0·2560 =
= d4·9004 + d3·9003 + d2·9002 + d1·9001 + d0·9000,
где b - значение байта данных (от 0 до 255);
d - кодовое слово данных.
Для преобразования базы 256 в базу 900 может быть использован следующий алгоритм:
a) принимают t в качестве временной переменной;
b) вычисляют t = b5·2565 + b4·2564 + b3·2563 + b2·2562 + b1·2561 + b0·2560;
c) каждое кодовое слово вычисляют следующим образом:
для каждого кодового слова данных di = d0 .... d4
НАЧАЛО
di = t mod 900
t = t div 900
КОНЕЦ
Пример - Требуется закодировать знаки данных в режиме байтового уплотнения b5 .... b0 {231, 101, 11, 97, 205, 2}.
Вычисляют сумму t с использованием десятичных значений шести знаков в режиме байтового уплотнения:
t = 231·2565 + 101·2564 + 11·2563 + 97·2562 + 205·2561 + 2·2560 = 254 421 168 672 002
Вычисляют кодовое слово 0
d0 = 254 421 168 672 002 mod 900 = 302
t = 254 421 168 672 002 div 900 = 282 690 187 413
Вычисляют кодовое слово 1
d1 = 282 690 187 413 mod 900 = 213
t = 282 690 187 413 div 900 = 314 100 208
Вычисляют кодовое слово 2
d2 = 314 100 208 mod 900 = 208
t = 314 100 208 div 900 = 349 000
Вычисляют кодовое слово 3
d3 = 349 000 mod 900 = 700
t = 349 000 div 900 = 387
Вычисляют кодовое слово 4
d4 = 387 mod 900 = 387
t = 387 div 900 = 0
Последовательность кодовых слов d4 ... d0 представляет собой 387, 700, 208, 213, 302.
Приложение D
(обязательное)
АЛГОРИТМ КОДИРОВАНИЯ В РЕЖИМЕ ЦИФРОВОГО УПЛОТНЕНИЯ
Это преобразование должно использоваться в режиме цифрового уплотнения. С его помощью могут быть преобразованы группы, содержащие до 44 последовательных цифровых разрядов включительно, в 15 (или менее) кодовых слов данных PDF417.
Для преобразования базы 10 в базу 900 может быть использован следующий алгоритм:
a) принимают t в качестве временной переменной;
b) устанавливают начальное значение t в виде группы последовательных цифровых разрядов, количество которых доходит до 44, которой предшествует единица;
c) каждое кодовое слово вычисляют в следующем порядке:
Для каждого кодового слова данных di = d0 .... dn-1
НАЧАЛО
di = t mod 900
t = t div 900
Если t = 0, то кодирование прекращается
КОНЕЦ
Пример - Требуется закодировать числовую цепочку из 15 цифр 000213298174000
В начале числовой цепочки ставят 1 и устанавливают исходное значение в виде:
t = 1 000 213 298 174 000
Вычисляют кодовое слово 0
d0 = 1 000 213 298 174 000 mod 900 = 200
t = 1 000 213 298 174 000 div 900 = 1 111 348 109 082
Вычисляют кодовое слово 1
d1 = 1 111 348 109 082 mod 900 = 282
t = 1 111 348 109 082 div 900 = 1 234 831 232
Вычисляют кодовое слово 2
d2 = 1 234 831 232 mod 900 = 632
t = 1 234 831 232 div 900 = 1 372 034
Вычисляют кодовое слово 3
d3 = 1 372 034 mod 900 = 434
t = 1 372 034 div 900 = 1 524
Вычисляют кодовое слово 4
d4 = 1 524 mod 900 = 624
t = 1 524 div 900 = 1
Вычисляют кодовое слово 5
d5 = 1 mod 900 = 1
t = 1 div 900 = 0
Последовательность кодовых слов d5 ... d0 представляют в виде: 1, 624, 434, 632, 282, 200.
Приложение E
(обязательное)
ВЫБОР ПОЛЬЗОВАТЕЛЕМ УРОВНЯ КОРРЕКЦИИ ОШИБОК
E.1 Рекомендуемый минимальный уровень коррекции ошибок
Минимальный уровень коррекции ошибок должен соответствовать приведенному в таблице E.1.
Таблица E.1
Рекомендуемый уровень коррекции ошибок
Количество кодовых слов данных
Минимальный уровень коррекции ошибок
от 1 до 40
2
от 41 до 160
3
от 161 до 320
4
от 321 до 863
5
Для приблизительного подсчета количества кодовых слов данных из содержания данных при использовании таблицы E.1 следует использовать 1,8 текстовых знаков на кодовое слово данных в режиме текстового уплотнения, 2,9 цифры на кодовое слово данных в режиме цифрового уплотнения и 1,2 байта на кодовое слово данных в режиме байтового уплотнения.
Если возможны значительные повреждения изображения символа, то следует использовать более высокие уровни коррекции ошибок. В замкнутых системах применений могут использоваться уровни коррекции ошибок ниже рекомендуемых.
E.2 Прочие факторы, принимаемые во внимание пользователем при выборе уровня коррекции ошибок
Целью прикладного стандарта, регламентирующего требования по применению, должно быть использование особенностей исправления ошибок без уменьшения емкости для данных.
При выборе уровня коррекции ошибок пользователь должен учитывать следующие факторы:
a) должен выбираться рекомендуемый уровень коррекции ошибки (в соответствии с таблицей E.1);
b) так как наибольшее количество кодовых слов данных в одном символе составляет 925, большое количество кодовых слов данных ограничивает наивысший уровень коррекции ошибок, который может быть использован. Количество кодовых слов данных более 415 исключает применение уровня коррекции ошибок 8. Количество кодовых слов данных более 671 исключает применение уровней 7 и 8. Количество кодовых слов данных более 799 исключает применение уровней 6, 7 и 8. Количество кодовых слов данных более 863 исключает уровень коррекции ошибок 5 и не рекомендуется;
c) при высокой вероятности того, что в символах PDF417 возможны недостающие или полностью стертые кодовые слова, уровень коррекции ошибки может быть увеличен до уровня 8 или более высокого уровня, при котором количество кодовых слов коррекции ошибки заполняет матрицу максимального размера, допустимого применением;
d) более предпочтительным является поддержка высокого качества печати символа, по сравнению с компенсацией низкого качества печати увеличением уровня коррекции ошибок. Вместо выбора наивысшего уровня коррекции ошибок рекомендуется установить больший размер X или специальную подложку и материалы, способные обеспечить высокое качество печати символа PDF417.
Приложение F
(обязательное)
ТАБЛИЦЫ КОЭФФИЦИЕНТОВ
ДЛЯ ВЫЧИСЛЕНИЯ КОДОВЫХ СЛОВ КОРРЕКЦИИ ОШИБОК PDF417
Таблица F.1
Коэффициенты для уровня коррекции ошибок 0
j
0
1
27
917
Таблица F.2
Коэффициенты для уровня коррекции ошибок 1
j
0
1
2
3
522
568
723
809
Таблица F.3
Коэффициенты для уровня коррекции ошибок 2
j
0
1
2
3
4
5
6
7
237
308
436
284
646
653
428
379
Таблица F.4
Коэффициенты для уровня коррекции ошибок 3
j
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
274
562
232
755
599
524
801
132
295
116
442
428
295
42
176
65
Таблица F.5
Коэффициенты для уровня коррекции ошибок 4
j
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
361
575
922
525
176
586
640
321
536
742
677
742
687
284
193
517
j
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
273
494
263
147
593
800
571
320
803
133
231
390
685
330
63
410
Таблица F.6
Коэффициенты для уровня коррекции ошибок 5
j
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
539
422
6
93
862
771
453
106
610
287
107
505
733
877
381
612
j
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
723
476
462
172
430
609
858
822
543
376
511
400
672
762
283
184
j
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
440
35
519
31
460
594
225
535
517
352
605
158
651
201
488
502
j
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
648
733
717
83
404
97
280
771
840
629
4
381
843
623
264
543
Таблица F.7
Коэффициенты для уровня коррекции ошибок 6
j
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
521
310
864
547
858
580
296
379
53
779
897
444
400
925
749
415
j
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
822
93
217
208
928
244
583
620
246
148
447
631
292
908
490
704
j
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
516
258
457
907
594
723
674
292
272
96
684
432
686
606
860
569
j
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
193
219
129
186
236
287
192
775
278
173
40
379
712
463
646
776
j
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
171
491
297
763
156
732
95
270
447
90
507
48
228
821
808
898
j
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
784
663
627
378
382
262
380
602
754
336
89
614
87
432
670
616
j
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
157
374
242
726
600
269
375
898
845
454
354
130
814
587
804
34
j
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
211
330
539
297
827
865
37
517
834
315
550
86
801
4
108
539
Таблица F.8
Коэффициенты для уровня коррекции ошибок 7
j
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
524
894
75
766
882
857
74
204
82
586
708
250
905
786
138
720
j
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
858
194
311
913
275
190
375
850
438
733
194
280
201
280
828
757
j
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
710
814
919
89
68
569
11
204
796
605
540
913
801
700
799
137
j
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
439
418
592
668
353
859
370
694
325
240
216
257
284
549
209
884
j
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
315
70
329
793
490
274
877
162
749
812
684
461
334
376
849
521
j
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
307
291
803
712
19
358
399
908
103
511
51
8
517
225
289
470
j
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
637
731
66
255
917
269
463
830
730
433
848
585
136
538
906
90
j
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
2
290
743
199
655
903
329
49
802
580
355
588
188
462
10
134
j
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
628
320
479
130
739
71
263
318
374
601
192
605
142
673
687
234
j
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
722
384
177
752
607
640
455
193
689
707
805
641
48
60
732
621
j
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
895
544
261
852
655
309
697
755
756
60
231
773
434
421
726
528
j
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
503
118
49
795
32
144
500
238
836
394
280
566
319
9
647
550
j
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
73
914
342
126
32
681
331
792
620
60
609
441
180
791
893
754
j
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
605
383
228
749
760
213
54
297
134
54
834
299
922
191
910
532
j
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
609
829
189
20
167
29
872
449
83
402
41
656
505
579
481
173
j
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
404
251
688
95
497
555
642
543
307
159
924
558
648
55
497
10
Таблица F.9
Коэффициенты для уровня коррекции ошибок 8
j
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
352
77
373
504
35
599
428
207
409
574
118
498
285
380
350
492
j
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
197
265
920
155
914
299
229
643
294
871
306
88
87
193
352
781
j
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
846
75
327
520
435
543
203
666
249
346
781
621
640
268
794
534
j
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
539
781
408
390
644
102
476
499
290
632
545
37
858
916
552
41
j
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
542
289
122
272
383
800
485
98
752
472
761
107
784
860
658
741
j
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
290
204
681
407
855
85
99
62
482
180
20
297
451
593
913
142
j
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
808
684
287
536
561
76
653
899
729
567
744
390
513
192
516
258
j
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
240
518
794
395
768
848
51
610
384
168
190
826
328
596
786
303
j
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
570
381
415
641
156
237
151
429
531
207
676
710
89
168
304
402
j
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
40
708
575
162
864
229
65
861
841
512
164
477
221
92
358
785
j
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
288
357
850
836
827
736
707
94
8
494
114
521
2
499
851
543
j
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
152
729
771
95
248
361
578
323
856
797
289
51
684
466
533
820
j
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
669
45
902
452
167
342
244
173
35
463
651
51
699
591
452
578
j
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
37
124
298
332
552
43
427
119
662
777
475
850
764
364
578
911
j
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
283
711
472
420
245
288
594
394
511
327
589
777
699
688
43
408
j
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
842
383
721
521
560
644
714
559
62
145
873
663
713
159
672
729
j
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
624
59
193
417
158
209
563
564
343
693
109
608
563
365
181
772
j
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
677
310
248
353
708
410
579
870
617
841
632
860
289
536
35
777
j
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
618
586
424
833
77
597
346
269
757
632
695
751
331
247
184
45
j
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
787
680
18
66
407
369
54
492
228
613
830
922
437
519
644
905
j
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
789
420
305
441
207
300
892
827
141
537
381
662
513
56
252
341
j
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
242
797
838
837
720
224
307
631
61
87
560
310
756
665
397
808
j
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
851
309
473
795
378
31
647
915
459
806
590
731
425
216
548
249
j
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
321
881
699
535
673
782
210
815
905
303
843
922
281
73
469
791
j
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
660
162
498
308
155
422
907
817
187
62
16
425
535
336
286
437
j
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
375
273
610
296
183
923
116
667
751
353
62
366
691
379
687
842
j
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
37
357
720
742
330
5
39
923
311
424
242
749
321
54
669
316
j
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
342
299
534
105
667
488
640
672
576
540
316
486
721
610
46
656
j
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
447
171
616
464
190
531
297
321
762
752
533
175
134
14
381
433
j
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
717
45
111
20
596
284
736
138
646
411
877
669
141
919
45
780
j
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
407
164
332
899
165
726
600
325
498
655
357
752
768
223
849
647
j
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
63
310
863
251
366
304
282
738
675
410
389
244
31
121
303
263
Приложение G
(обязательное)
КОМПАКТ PDF417
G.1 Описание
Компакт PDF417 (Compact PDF417) можно использовать в тех случаях, когда обеспечение поверхности соответствующего размера для нанесения символа является предметом первостепенной важности и маловероятно повреждение символа. Если повреждение символа маловероятно (например, в условиях офиса), можно исключить правые индикаторы строк и сократить комбинацию штрихов и пробелов знака СТОП до штриха шириной в один модуль в соответствии с рисунком G.1. Эта процедура позволяет сокращать объем кодовых слов, не относящихся к данным, с четырех кодовых слов на строку до двух, с некоторым компромиссом в части выполнения декодирования и устойчивости или способности противостоять помехам, повреждениям, пыли и т.д.
Рисунок G.1 - Компакт PDF417
Эта версия с уменьшением кодовых слов, не относящихся к данным, именуемая Компакт PDF417, полностью совместима в процессе декодирования с типовым PDF417.
Символ Компакт PDF417, имеющий менее шести строк, кодирует число столбцов только в одном кодовом слове, которое не учитывается при коррекции ошибок, и поэтому он особенно уязвим при плохом качестве печати или повреждении.
Примечание - В предыдущих версиях стандартов PDF417 ([3] и [4]) использовался термин "Сжатый PDF417" (Truncated PDF417). Термин Компакт PDF417 (Compact PDF417) является более предпочтительным во избежание путаницы с общим использованием термина "сжатый" ("truncated").
G.2 Качество печати
Хотя стандартный метод оценки качества печати, описанный в 5.14.4, применим и к Компакт PDF417, отсутствие знака СТОП, отличного от штриха шириной в один модуль, требует, чтобы были сделаны следующие два исключения.
Анализ профиля отражения для знаков СТАРТ и СТОП применяется только к знаку СТАРТ.
При оценке параметра эффективности декодирования кодовых слов (Codeword Yield) требование к подлежащему оценке сканированию верхней или нижней строки символа (которое в соответствии с ISO/IEC 15415 включает декодирование и знака СТАРТ и знака СТОП) не может применяться; вместо этого, как для остальных строк, должны быть декодированы знак СТАРТ и, по крайней мере, одно дополнительное кодовое слово.
Приложение H
(обязательное)
МАКРО PDF417
H.1 Обзор Макро PDF417
Макро PDF417 предусматривает стандартный механизм создания распределенного представления файлов, размеры которых слишком велики для того, чтобы быть представленными в отдельном символе PDF417. Символы Макро PDF417 отличаются от обычных символов PDF417 тем, что они содержат дополнительную управляющую информацию в управляющем блоке Макро PDF417.
При использовании Макро PDF417 большие файлы данных разделяются на несколько сегментов файла и каждый кодируется в отдельных символах. Управляющий блок определяет идентификацию файла, последовательность соединения, а также иную нестандартную информацию о файле. Декодер Макро PDF417 использует информацию управляющего блока для точного восстановления файла независимо от того, в каком порядке были отсканированы символы.
H.2 Синтаксис Макро PDF417
Каждый символ Макро PDF417 должен кодировать управляющий блок Макро PDF417, в котором содержится управляющая информация. Управляющий блок начинается с кодового слова Макро маркера (Macro marker) (значение 928). Управляющий блок следует за блоком данных, с которым он связан; число кодовых слов в управляющем блоке Макро PDF417 учитывают как данные и включают в значение дескриптора длины символа. Окончание управляющего блока Макро PDF417 идентифицируется началом кодовых слов коррекции ошибки.
Примечание - Символ, не содержащий данных пользователя, отличных от управляющего блока Макро PDF417, является действительным символом.
Управляющий блок Макро PDF417 должен содержать не менее двух обязательных полей: индекса сегмента (segment index) и идентификации файла (file ID). Он также может содержать ряд необязательных полей (см. H.2.3).
На рисунке H.1 показано расположение управляющего блока в символе Макро PDF417.
Схема стандартного символа PDF417
Схема символа Макро PDF417
Рисунок H.1 - Схемы символов PDF417
H.2.1 Индекс сегмента
В Макро PDF417 каждый символ представляет сегмент целого файла. Для восстановления целого файла сегменты необходимо разместить в определенном порядке. Этот процесс облегчает управляющая информация, содержащаяся в управляющем блоке Макро PDF417. Для файла, разделенного на множество j символов Макро PDF417, поле индекса сегмента (segment index) в каждом управляющем блоке Макро PDF417 символа содержит значения от 0 до j - 1, соответствующие относительной позиции содержимого этого символа внутри распределенного представления.
Поле индекса сегмента состоит из поля длиной в два кодовых слова и кодируется с помощью режима цифрового уплотнения в соответствии с 5.4.4. При кодировании значение индекса сегмента должно быть дополнено начальными нулями до пяти разрядов до применения режима цифрового уплотнения, и это переключение в режим цифрового уплотнения не требует явной фиксации режима (кодового слова 902). Самое большое допустимое значение в поле индекса сегмента равно 99 998. Таким образом, распределенное представление файла данных может содержать до 99 999 символов Макро PDF417.
Примечание - При переводе в объем информации 99 999 символов составят примерно 110 млн байтов данных в режиме байтового уплотнения, или 184 млн. знаков в режиме текстового уплотнения, или около 300 млн знаков в режиме цифрового уплотнения.
H.2.2 Поле идентификатора файла
Для каждого связанного символа Макро PDF417 поле идентификации файла (file ID) должно содержать одно и то же значение, которое обеспечивает соответствие всех воссоединенных данных символов одному распределенному представлению файла. Идентификация файла представляет собой поле переменной длины, которое начинается с первого кодового слова, следующего за индексом сегмента, и продолжается до начала необязательных полей (если таковые присутствуют) или до окончания управляющего блока 0Макро PDF417 (в случае отсутствия необязательных полей).
Каждое кодовое слово в идентификации файла может иметь значение от 0 до 899, эффективно создавая серии идентификации файла для номеров базы 900. Каждое кодовое слово серии передается в качестве 3-разрядного десятичного значения представления ASCII (версия КОИ-7).
Примечание - На эффективность схемы идентификации файла влияет длина поля идентификации файла и соответствие алгоритма, используемого для генерирования значения идентификации файла.
H.2.3 Необязательные поля
Необязательные поля (optional field) могут следовать после идентификации файла. Каждое необязательное поле начинается со специальной последовательности-указателя (tag sequence) и продолжается до начала следующего необязательного поля (если оно присутствует) или окончания управляющего блока (если отсутствует следующее необязательное поле). Последовательность-указатель состоит из кодового слова 923, за которым следует отдельное кодовое слово указателя поля (field designator). В каждом необязательном поле данные, следующие за последовательностью-указателем, имеют интерпретацию, обусловленную спецификой поля. Не следует использовать пустые необязательные поля. В таблице H.1 представлено соответствие между текущими заданными указателями полей и необязательным содержимым полей. Каждое необязательное поле начинается с подразумеваемого возврата к режиму уплотнения, представленному в таблице H.1 и с подразумеваемого возвращения к ECI 000002 (или GLI 0 для кодирующих устройств, соответствующих ранее опубликованным стандартам PDF417). Также могут быть использованы управляющая последовательность ECI и функции фиксации режима и регистра режима, но только в необязательных полях, изначально находящихся в режиме текстового уплотнения.
Таблица H.1
Указатели необязательных полей Макро PDF417
Указатель поля (Field Designator)
Переданное байтовое значение
Содержимое
Исходный режим уплотнения
Фиксированный режим уплотнения <a>
Общее число кодовых слов <b>
0
48
Имя файла (File Name)
Текстовое уплотнение
Нет
Переменное
1
49
Число сегментов (Segment Count)
Цифровое уплотнение
Да
4
2
50
Отметка времени (Time Stamp)
Цифровое уплотнение
Да
6
3
51
Отправитель (Sender)
Цифровое уплотнение
Нет
Переменное
4
52
Получатель (Addressee)
Цифровое уплотнение
Нет
Переменное
5
53
Размер файла (File Size)
Цифровое уплотнение
Да
Переменное
6
54
Контрольная сумма (Checksum)
Цифровое уплотнение
Да
4
<a> "Да" в графе "Фиксированный режим уплотнения" означает, что в этом поле не допускается использовать никакие функции фиксации режима и регистра режима.
<b> В последней графе "Общее число кодовых слов" учитывают последовательность-указатель из двух кодовых слов.
Эти поля всегда представляют параметры глобального файла и поэтому не нуждаются в представлении в управляющем блоке более чем в одном символе Макро PDF417 в пределах распределенного представления файла, за исключением поля числа сегментов (segment count), в соответствии с представленным ниже. Сегмент, который содержит эти поля, задается специальной реализацией кодирующего устройства. Если особое поле подлежит появлению более чем в одном сегменте, оно должно идентично появиться в каждом сегменте. Для необязательных полей не существует определенного порядка.
В соответствии с таблицей H.1 все необязательные поля используют стандарт высокоуровневого кодирования PDF417. Действующий режим по умолчанию в начале каждого поля должен быть задан как в таблице H.1 безотносительно к функциям фиксации режима и регистра режима, ранее присутствующим в символе.
Особое построение необязательного поля должно соответствовать нижеследующему:
- поле числа сегментов (Segment Count) (идентифицирующее общее количество символов PDF417 в распределенном файле) может содержать значения от 1 до 99 999 и должно быть закодировано как два кодовых слова. Если используют необязательное поле числа сегментов, то оно должно быть представлено в каждом сегменте;
- поле отметки времени (Time Stamp) подлежит интерпретации в режиме цифрового уплотнения. Оно указывает отметку времени в исходном файле, и выглядит как астрономическое время в секундах, начиная с 1970:01:01:00:00:00 (т.е. 00:00:00 по Гринвичу на 1 января 1970 г.). Используя данный формат, четыре кодовых слова могут закодировать любую дату в пределах следующих 200 столетий;
- поле размера файла (File Size) содержит размер в байтах исходного единого файла;
- поле контрольной суммы (Checksum) содержит значение контрольной суммы 16-битового (2 байта) циклически избыточного кода (CRC), использующей полином CCITT-16x16 + x12 + x5 + 1, вычисленный по всему исходному единому файлу.
Размер файла и контрольную сумму следует вычислять из исходного файла до прибавления любых управляющих последовательностей ECI, используемых для кодирования интерпретаций в расширенном канале. Имеется в виду, что если приемное устройство проверяет контрольную сумму после осуществления приема, исходный файл должен быть дословно восстановлен. Это требуется для проверки данной необязательной контрольной суммы, чтобы не проводились никакие задаваемые пользователем или необязательные преобразования потока байтов даже в том случае, когда проверка может быть выполнена в процессе декодирования ECI.
Если используют CRC, вычисление может быть выполнено до отправки данных к принтеру или в самом принтере на основе возможностей принтера.
Значения указателя поля больше шести в настоящее время не заданы. Однако, оборудование, декодирующее PDF417, должно декодировать и передавать любые встречающиеся необязательные поля со значением указателя поля от 7 до 9 (значение байта от 55 до 57) или от A до Z (значения байта от 65 до 90) путем обработки данных поля в качестве данных, исходно находящихся в режиме текстового уплотнения и имеющих переменную длину.
H.2.4 Ограничитель Макро PDF417
Управляющий блок в символе, представляющем последний сегмент файла Макро PDF417, содержит особый маркер (называемый ограничителем Макро PDF417 - Macro PDF417 terminator), состоящий из кодового слова 922 в конце управляющего блока. Управляющий блок любого иного символа должен оканчиваться после любых необязательных полей, не имеющих специального ограничителя.
H.3 Рассмотрение высокоуровневого кодирования
Несмотря на то, что Макро PDF417 подразумевает механизм логического связывания множества символов, при высокоуровневом кодировании PDF417, каждый символ должен оставаться как отдельный объект. Таким образом, сфера действия переключения режима должна ограничиваться рамками символа, в котором она возникла. Каждый символ должен начинаться в подрежиме прописных букв режима текстового уплотнения.
Два обязательных поля должны быть закодированы следующим образом: поле индекса сегмента закодировано в режиме цифрового уплотнения; а поле идентификации файла кодируется как последовательность чисел базы 900.
В контексте необязательного поля управляющего блока режимы уплотнения, указанные в таблице H.1, должны замещать текущие режимы, заданные кодовыми словами идентификатора режима в пределах области кодовых слов данных символа. Однако сфера действия текущей интерпретации в расширенном канале переходит через управляющий блок Макро PDF417 к началу следующего символа Макро PDF417. Каждое поле управляющего блока Макро начинается с подразумеваемого возврата к ECI 000002 (или GLI 0 для кодирующих устройств, совместимых с исходными стандартами PDF417). Также должна быть возможность установить другую ECI внутри необязательного поля управляющего блока в режиме текстового уплотнения (например, для правильного представления греческого имени получателя). Управляющую последовательность ECI можно разместить в любой допустимой позиции (5.5.3) после кодового слова 923.
H.4 Пример кодирования
Приведенный пример показывает кодирование управляющего блока Макро PDF417:
Комплект Макро PDF417 кодирует в общей сложности 4 567 байт, заданных пользователем данных в четырех символах PDF417 (или сегментах файлов). Другие "заголовки" данных, подлежащие кодированию:
- идентификатор файла = 17base 900 53base 900;
- число сегментов, подлежащих использованию;
- отправитель: CEN BE;
- получатель: ISO CH.
Примечание - Поля: число сегментов, отправитель и получатель - являются тремя необязательными полями, выбираемыми пользователем.
При условии, что кодирующее устройство располагает необязательные поля в первом символе, кодирование управляющего блока Макро PDF417 в этом символе должно соответствовать приведенному ниже:
... [последнее кодовое слово данных] [928]A [111] [100]B [017] [053]C [923] [001]D
[111] [104]E [923] [003]F [064] [416] [034]G [923] [004]H [258] [446] [067]I
[первое кодовое слово коррекции ошибки]...
В последнем из четырех символов будет следующий управляющий блок Макро PDF417:
[последнее кодовое слово данных] [928]A [111] [103]B [017] [053]C
[923] [001]D [111] [104]E [922]J [первое кодовое слово коррекции ошибки],
где A - кодовое слово маркера макро (Macro marker);
B - идентификация сегмента файла (File Segment ID).
Сегменты файла пронумерованы от 0 до j - 1 и закодированы с использованием режима цифрового уплотнения:
Первый сегмент = 00000 = кодовые слова со значениями 111, 100;
Четвертый сегмент = 00003 = кодовые слова со значениями 111, 103;
C - идентификация файла по базе 900;
D - признак поля числа сегментов;
E - число сегментов;
F - признак поля отправителя;
G - поле отправителя, кодирующее CEN BE;
H - признак поля получателя;
I - поле получатель, кодирующее ISO CH;
J - ограничитель Макро PDF417.
H.5 Макро PDF417 и протокол интерпретации в расширенном канале
Независимый от символики протокол интерпретации в расширенном канале (протокол ECI) был разработан после того, как PDF417 был регламентирован как символика. PDF417 поддерживал собственную систему идентификаторов глобальной метки (GLI), предшественницу и основу протокола ECI, с самой первой публикации спецификаций символики в 1994 г. ([3] и [4]). Поэтому следует принять во внимание ранние внедрения GLI. Существуют два обстоятельства, которые следует учитывать:
- GLI 0 и GLI 1 (равнозначные ECI 000000 и ECI 000001) были только интерпретациями, установленными в исходных спецификациях PDF417. Они эквивалентны ECI 000000 и ECI 000001. Прежние правила для Макро PDF417 приведены в H.5.1;
- иные назначения ECI, используемые совместно с Макро PDF417, приведены в H.5.2.
H.5.1 Макро PDF417 с интерпретациями в расширенном канале 000000 и 000001 (GLI 0 и GLI 1)
Так как GLI были действительной частью исходной спецификации PDF417, является логичным наличие кодирующих устройств GLI и Макро PDF417, объединенных в одну единицу. Исходная спецификация символики PDF417 вызывала обязательную логическую схему "возврат к GLI 0" в начале второго и последующего символов Макро PDF417, поэтому каждый символ должен начинаться с интерпретации по умолчанию. Для GLI 0 и GL 1 (эквивалентным ECI 000000 и ECI 000001) это не оказывает никакого внутреннего воздействия на кодирование. Однако для некоторых сложных интерпретаций в расширенном канале логическую схему "возврат к GLI 0" трудно реализовать независимым от символики способом.
Кодирующее программное обеспечение, соответствующее исходной спецификации для Макро PDF417 и GLI 0 и GLI 1, полностью подходит для ранее существовавших применений, а также применений GLI, задаваемых пользователем (теперь именуемых ECI), так как сфера действия системы по определению является ограниченной.
Все ECI, имеющие нумерацию 000002 или выше, не должны быть заданы логической схемой с возвратом к GLI 0. Следовательно, символы PDF417 не должны смешивать ECI 000000 и ECI 000001 с интерпретациями в расширенном канале, имеющими более высокую нумерацию (за исключением закрытых систем).
H.5.2 Макро PDF417 и прочие интерпретации в расширенном канале
Кодирующее устройство ECI может быть независимым от символики и генерировать поток байтов для ввода данных в кодирующее устройство символики PDF417. Кодирующее устройство ECI должно работать так, как если бы имелся отдельный поток данных независимо от размера файла. Таким образом, после вызова ECI должна сохраняться через сегменты до появления другой ECI или окончания закодированных данных. Это необходимо, например, в случае, где назначение ECI представляет схему шифрования, в которой не приемлем возврат в GLI 0.
Кодирующим устройствам Макро PDF417, соответствующим настоящему стандарту, нет необходимости кодировать преобладающую ECI в начале следующих символов Макро PDF417.
Примечание - Может потребоваться проведение нескольких итераций для генерации логической схемы кодирования окончания символа, например режим цифрового уплотнения не должен растягиваться на два сегмента, но два отдельных блока режима цифрового уплотнения могут быть закодированы в окончании одного символа и в начале следующего. Эти условия относятся к Макро PDF417 и высокоуровневому кодированию (в соответствии с H.3), а не относятся к Макро PDF417 и ECI.
H.6 Передача данных Макро PDF417
Передача информации управляющего блока Макро PDF417 должна трактоваться так же, как интерпретируемые ECI. Независимый от символики протокол ECI приведен ниже; исходный протокол PDF417 приведен в приложении M. Несмотря на то, что управляющий блок Макро PDF417 кодируется в конце данных символа, при использовании протокола ECI он передается перед данными символа.
Три кодовых слова (922, 923 и 928) отмечают кодирование управляющего блока Макро PDF417 или одной из его составных частей. Декодирование происходит следующим образом:
a) если последовательность начинается с кодового слова 928 (макро-маркер):
1) кодовое слово 928 передается как управляющая последовательность 92, 77, 73, которую представляет \MI в интерпретации по умолчанию;
2) следующие два кодовых слова идентифицируют индекс сегмента. Они закодированы в режиме цифрового уплотнения и декодируются как 5-разрядное число в диапазоне от 00000 до 99998;
3) следующие кодовые слова кодируют поле идентификации файла, которое должно быть одинаковым для всех связанных символов Макро PDF417. Поле идентификации файла оканчивается кодовым словом 922 или 923, или завершается с окончанием закодированных данных в символе. Каждое кодовое слово преобразуется в 3-разрядное число в диапазоне от 000 до 899 (т.е. номер кодового слова) и передается как три значения байтов (с десятичными значениями в диапазоне от 48 до 57) после управляющего заголовка: 92, 77, 70, который представлен \MF в интерпретации по умолчанию.
b) если последовательность начинается с кодового слова 923:
1) кодовое слово 923 передается как управляющая последовательность 92, 77, 79, которая представлена \MO в интерпретации по умолчанию;
2) следующее кодовое слово, представляющее один из указателей необязательного поля (field designator), приведенных в таблице H.1, передается как отдельный байт, представляющий значение знака ASCII (версия КОИ-7) для указателя;
3) следующие кодовые слова несут содержимое данных указателя необязательного поля. Необязательное поле оканчивается кодовым словом 922 или 923, или с окончанием закодированных данных в символе. Промежуточные кодовые слова следует преобразовывать в соответствии с правилами декодирования соответствующего режима уплотнения, приведенными в таблице H.1. Полученные в результате данные могут иметь переменную длину;
c) при идентификации ограничителя Макро PDF417 (кодовое слово 922) следует передать управляющую последовательность 92, 77, 90, которая представлена \MZ в интерпретации по умолчанию;
d) в конце управляющего блока Макро PDF417, как определено для окончания кодируемых данных в символе, следует передать управляющую последовательность 92, 77, 89, которая представлена \MY в интерпретации по умолчанию.
Примечание - Эта управляющая последовательность явно в символе не закодирована.
Все поля управляющего блока Макро PDF417 для символа (сегмента) должны быть переданы как единый блок, начинающийся с \MI и оканчивающийся \MY. Передача управляющего блока Макро PDF417 должна предварять передачу остатка закодированного сегмента файла даже в том случае, если управляющий блок Макро PDF417 закодирован в конце символа.
Пример - Управляющий блок Макро PDF417 для первого символа, индекс сегмента = 0 и идентификация файла (100, 200, 300) будут закодированы в символе как последовательность кодовых слов:
[928] [111] [100] [100] [200] [300]
Она будет передаваться следующим образом:
передача данных (байты):
92, 77, 73, 48, 48, 48, 48, 48, 92, 77, 70, 49, 48, 48, 50,
48, 48, 51, 48, 48, 92, 77, 89
интерпретация в знаках ASCII (версия КОИ-7):
\MI00000\MF100200300\MY
После сканирования символов Макро PDF417 функция депакетирования восстановит исходное сообщение с учетом того, что символы могли быть сканированы не по порядку. Если система работает в буферизованном режиме, функция депакетирования находится в декодере; при работе в небуферизованном режиме эта функция находится в системе приема.
Декодеры должны предусматривать специфичный для каждого декодера метод, посредством которого обработка заданной идентификации файла Макро PDF417 (Macro PDF417) может быть отменена таким образом, чтобы позволить декодеру начать обработку новой идентификации файла. Это необходимо для предотвращения условий блокировки, которая может возникнуть при потере или невозможности декодирования одного или более символов заданной идентификации файла.
H.6.1 Работа в буферизованном режиме
При работе в буферизованном режиме (buffered mode) депакетизация должна выполняться в декодере/считывающем устройстве. В зависимости от конфигурации оборудования, декодер будет отправлять:
- восстановленные данные, без управляющего блока Макро PDF417
или
- один управляющий блок Макро PDF417 (который сам по себе может быть восстановлен путем включения всех необязательных полей, присутствующих в любых символах) для нахождения в начале всего закодированного сообщения. Полученный в результате управляющий блок Макро PDF417 должен иметь свое поле индекса Макро (Macro Index) со значением, равным 0, и должен включать в себя поле окончания файла Макро (Macro end-of-file) (в сущности, для обозначения всего восстановленного сообщения как первый и единственный Макро сегмент псевдосерии).
H.6.2 Работа в небуферизованном режиме
В небуферизованном режиме (unbuffered mode) депакетирование должно быть выполнено в системе приема. Каждый переданный управляющий блок Макро PDF417 должен представлять все обязательные и необязательные поля, которые в действительности закодированы в символе.
При конфигурировании в небуферизованном режиме декодер может иметь необязательную конфигурацию, допускающую, чтобы последовательные символы имели одну идентификацию файла (File ID). Эта процедура может быть целесообразной только в том случае, если декодер сконфигурирован для передачи управляющего блока Макро PDF417 в систему приема, и эта система приема разработана для отслеживания идентификации файла управляющего блока Макро PDF417 с целью определения когда был обработан весь файл. Символы с разной идентификацией файлов или без нее (например, отдельный символ, не являющийся частью комплекта символов Макро PDF417) должны рассматриваться в соответствии с установками системы приема.
Для облегчения контроля получения всех символов набора символов Макро PDF417 (Macro PDF417) в небуферизованном режиме, следует по возможности использовать необязательное поле числа сегментов как часть закодированного управляющего блока Макро PDF417.
H.6.3 Передача с возвратом к нулю
Поскольку в исходной спецификации ([3] и [4]) символики PDF417 определены правила для GLI 0 и GLI 1, которые незначительно отличаются от правил для ECI, считывающее устройство, соответствующее настоящему стандарту, должно добавлять особые управляющие последовательности при передаче символов, содержащие явные вызовы GLI 1, в следующих двух случаях:
a) декодер должен передавать управляющую последовательность GLI 0 или управляющую последовательность ECI 000000 (в зависимости от того, какой протокол передачи запрограммирован для использования) после передачи данных каждого символа Макро PDF417, данные которого заканчиваются в интерпретации GLI 1 (ECI 000001);
b) декодер должен передавать GLI 1 (ECI 000001) в начале каждого необязательного поля переменной длины, закодированного в режиме текстового уплотнения в управляющем блоке Макро PDF417, если данные, предваряющие это поле, заканчиваются в интерпретации GLI 1 (ECI 000001).
Это требование применяется вне зависимости от режима (буферизованного или небуферизованного) и вне зависимости от программирования декодера на передачу с использованием одного из двух протоколов (протокола ECI или исходного протокола PDF417).
Приложение I
(обязательное)
ИСПЫТАНИЕ КАЧЕСТВА СИМВОЛА PDF417
В соответствии с 5.14.4 качество печати символов PDF417 оценивается согласно методике, определенной в ISO/IEC 15415 для оценки многострочных символик, предусматривающих сканирование, пересекающее несколько строк.
Символ PDF417 оценивается следующим образом:
- по анализу профиля отражения при сканировании, при котором учитываются только знаки start (СТАРТ) и stop (СТОП);
- по параметру "эффективность декодирования кодовых слов" (Codeword Yield), определяемому с учетом только кодовых слов данных и исправления ошибок, который служит для измерения эффективности, с которой линейные пути сканирования позволяют получать данные от символа. Параметр "эффективность декодирования кодовых слов" (Codeword Yield) соответствует количеству успешно декодированных кодовых слов, выраженному как процент от максимального возможного количества кодовых слов, которые можно декодировать, то есть числу столбцов данных в символе, умноженному на количество "подходящих" просмотров (после корректировки с учетом наклона);
- по параметру "неиспользованных исправлений ошибок" (Unused Error Correction), определяемому с учетом только кодовых слов данных и исправления ошибок, отражающему процент числа ошибок и стираний от общего числа ошибок, которые могут быть исправлены в символе;
- по качеству печати кодовых слов (знаков символа), применимому только к знакам символа кодовых слов данных и кодовых слов коррекции ошибки, обеспечиваемому параметрами "декодируемость" (Decodability), "дефекты" (Defects) и "модуляция" (Modulation) профиля отражения при сканировании по всей области данных символа, которые подлежат оценке с присвоением классов; классы, полученные в результате такой оценки, затем корректируются с целью исправления ошибок, которое состоит в маскировке несовершенных параметров символа, оказывающих влияние на качество символа.
За полный класс символа принимается наименьшее из значений классов, основанных на анализе профиля отражения при сканировании, а также классов, основанных на оценке параметров "эффективность декодирования кодовых слов" (Codeword Yield), "неиспользованное исправление ошибок" (Unused Error Correction), и оценке качества печати кодовых слов (знаков символа).
Приложение J
(обязательное)
РЕКОМЕНДУЕМЫЙ АЛГОРИТМ ДЕКОДИРОВАНИЯ ДЛЯ PDF417
J.1 Общие положения
Рекомендуемый алгоритм декодирования применяют для вычисления декодируемости при оценке качества символа с использованием методов, приведенных в ISO/IEC 15415.
При оценке качества символа с помощью настоящего рекомендуемого алгоритма декодирования символ PDF417 должен декодироваться в виде серии линий сканирования вдоль этого символа до знаков СТАРТ или СТОП, но необязательно строка за строкой. Символ может быть декодирован с помощью номера кластера и в том случае, если линия сканирования проходит через две или более строк. Последовательности штрихов и пробелов знаков символа PDF417 декодируют с использованием измерений "от края до подобного края" (e).
Символ PDF417 подлежит декодированию в четыре этапа:
a) инициализация - для установления матрицы символа;
b) декодирование линии с использованием рекомендуемого алгоритма декодирования;
c) заполнение матрицы;
d) интерпретация.
J.2 Инициализация
В начале процесса декодирования для установления параметров структуры символа (числа строк r, числа столбцов c) и уровней коррекции ошибок должно быть выполнено достаточное количество декодирований вдоль линии сканирования (J.3). Эта информация кодируется в левом и правом индикаторах строки, примыкающих соответственно к знакам СТАРТ и СТОП.
После проведения инициализации параметров структуры символа должна быть установлена матрица, отражающая размер (число строк и число столбцов) декодируемого символа. Матрица должна исключать знаки СТАРТ и СТОП и индикаторы строк.
J.3 Рекомендуемый алгоритм декодирования линии
Декодируемая линия сканирования должна содержать свободную зону, знак СТАРТ и/или СТОП, один или два индикатора строки и один или более знаков символа в области данных. Линия сканирования может пересекать более чем одну строку. Алгоритм должен включать следующие этапы по декодированию линии:
a) подтверждение наличия свободной зоны;
b) подсчет для каждой последовательности штрихов и пробелов знака символа (включая знаки СТАРТ и СТОП) ширины элементов в соответствии с рисунком J.1:
Рисунок J.1 - Размеры для декодирования
c) преобразование измерения e1, e2, e3, e4, e5, и e6 в нормализованные значения E1, E2, E3, E4, E5 и E6, которые должны представлять ширину этих элементов в модулях. Используют следующий способ для определения i-го значения:
при 1,5p/17 <= ei < 2,5p/17, Ei = 2
при 2,5p/17 <= ei < 3,5p/17, Ei = 3
при 3,5p/17 <= ei < 4,5p/17, Ei = 4
при 4,5p/17 <= ei < 5,5p/17, Ei = 5
при 5,5p/17 <= ei < 6,5p/17, Ei = 6
при 6,5p/17 <= ei < 7,5p/17, Ei = 7
при 7,5p/17 <= ei < 8,5p/17, Ei = 8
при 8,5p/17 <= ei < 9,5p/17, Ei = 9
В противном случае последовательность штрихов и пробелов знака символа должна считаться ошибочной;
d) после нахождения знаков СТАРТ и СТОП предпринимают попытку декодировать индикатор строки и знаки символа в количестве, соответствующем числу столбцов матрицы в направлении, выведенном из декодированных знаков СТАРТ и СТОП. Последовательности штрихов и пробелов знаков символа декодируют в соответствии с этапом e);
e) вычисление номера кластера K знака символа по формуле:
K = (E1 - E2 + E5 - E6 + 9) mod 9
Примечание - Формула дает результаты, идентичные результатам уравнения, приведенного в 5.3.1.
Номер кластера K должен быть равен 0, 3 или 6; в противном случае знак символа и связанное с ним кодовое слово должны считаться ошибочными;
f) восстанавливают значение кодового слова по таблице декодирования (см. приложение A) с использованием семи значений (значения кластера K и значений E1, E2, E3, E4, E5 и E6) в качестве ключевых. Эти значения можно вычислить из последовательностей штрихов и пробелов, приведенных в приложении A.
Примечание - В вычислении неявно используют номер кластера для обнаружения всех ошибок декодирования, вызванных отдельными несистематическими ошибками положения края на величину одного модуля;
g) как только будут установлены знаки СТАРТ и СТОП, должны использоваться значения кодового слова левого индикатора строки и (или) правого индикатора строки для установления параметров структуры символа. Применяют уравнения, обратные к приведенным в 5.11.3.1 и 5.11.3.2 для установления: номера строки (F), числа строк (r), числа столбцов (c) и уровня коррекции ошибок (s);
h) выполняются дополнительные проверки (ускорение сканирования, абсолютные синхронизированные размеры, свободные зоны и т.д.), результаты которых должны быть приемлемы для отдельных характеристик считывающего устройства.
J.4 Заполнение матрицы
Для заполнения матрицы из (r) строк и (c) столбцов, установленной с помощью процедуры инициализации, должна использоваться следующая процедура:
a) устанавливают начальное значение v для подсчета числа стираний v = r x c;
b) для каждого сканирования следует декодировать количество кодовых слов, равное числу столбцов в матрице;
c) действительные результаты декодирования размещают в матрице на соответствующих местах, определенных по номеру строки (из индикаторов строк), и значению кластера.
Если происходит пересечение нескольких строк, линия сканирования будет характеризоваться разными номерами строк, определяемыми левым и правым индикаторами строк. Номер кластера следует использовать для интерполяции правильного номера строки для каждого отдельного действительного кодового слова.
Пример - Сканирование с декодированием характеризуется знаками start (СТАРТ) и stop (СТОП), в нем присутствует левый индикатор строки с номером строки 7 и правый индикатор строки с номером строки 10. В матрице присутствуют 10 столбцов. Линия сканирования при декодировании не смогла декодировать три кодовых слова, поскольку она не оставалась полностью в одной строке для полного перехода, однако на основании синхронизации элементов известно положение этих "неустановленных" кодовых слов.
Рисунок J.2 - Схема, представляющая
линию сканирования, пересекающую строки
Кластеры расположены в следующей последовательности: "неустановленный", 6, 6, 6; "неустановленный", 0, 0; "неустановленный", 3, 3.
Используя систему обозначений матрицы для строки (r) и столбца (c), кодовые слова подлежат заполнению согласно позициям: "неустановленная", (8,2), (8,3), (8,4); "неустановленная", (9,6), (9,7); "неустановленная", (10,9) и (10,10).
Примечание - Этот пример является крайним случаем в связи с тем, что линия сканирования пересекает четыре строки, но с его помощью достигается декодирование 70% кодовых слов;
d) по мере заполнения матрицы подсчет стираний v должен быть уменьшен на одно значение для каждого действительного кодового слова.
e) если уровень коррекции ошибки не равен нулю, то может быть предпринято исправление ошибки, когда число неустановленных кодовых слов (число стираний v) будет удовлетворять уравнениям, приведенным в 5.7.2 (при v = I и f = 0). Если устранить ошибки не удается, то должны быть собраны дополнительные кодовые слова;
f) если уровень коррекции ошибок равен нулю, то следует ввести два кодовых слова коррекции ошибок.
Дальнейшие подробности обнаружения и коррекции ошибки приведены в приложении K.
J.5 Интерпретация
Начиная с первоначального состояния подрежима прописные буквы режима текстового уплотнения, кодовые слова данных следует интерпретировать в соответствии с режимами уплотнения.
Приложение K
(обязательное)
ПРОЦЕДУРЫ КОРРЕКЦИИ ОШИБОК
Схема восстановления может быть вызвана при общем числе неустановленных кодовых слов v менее или равном значению l, заданному соответствующим уравнением в 5.7.2, где f = 0, тогда возможно применение схемы восстановления. Неустановленные кодовые слова подлежат замещению нулями, и позицией неустановленного кодового слова l является jl, где l = 1, 2, ..., v. Составляют полином знака символа:
C(x) = Cn-1xn-1 + Cn-2xn-2 + ... + C1x1 + C0,
где коэффициенты при x являются считанными кодовыми словами с первым кодовым словом, Cn-1;
n - общее количество кодовых слов.
Рассчитывают значения синдрома k (от S1 до Sk) путем следующих вычислений:
C(x) при x = 3i
для i = 1 до i = k,
где k - число кодовых слов коррекции в символе, равное 2s + 1.
Схема генерации синдромов приведена на рисунке K.1.
Рисунок K.1 - Делитель синдрома символа
Так как позиции неустановленных кодовых слов известны из jl для l = 1, 2, ... v, полином местонахождения ошибки для этих известных позиций можно вычислить по формуле
,
где .
Полином местонахождения ошибок можно корректировать, чтобы включить позиции ошибок. Это можно выполнить с помощью алгоритма Берлекампа-Массе (Berlekamp-Massey), приведенного в [2].
Далее следует удостовериться, что количество стираний и ошибок удовлетворяет соответствующему уравнению, вычисляющему возможности исправления ошибок, приведенному в 5.7.2.
Решение дает позицию для t ошибок, где t >= 0; если t = 0, то ошибки отсутствуют. Далее рассчитывают значение ошибок для позиции jl, l = 1, ..., v + t. Для вычисления ошибок требуется вспомогательный полином Z(x), который определяют следующим образом
,
где .
Значение ошибок в позиции jl таким образом получается через
После успешного решения для ошибок дополнения значений ошибок добавляются к кодовым словам в соответствующих позициях.
Приложение L
(обязательное)
ИДЕНТИФИКАТОР СИМВОЛИКИ
Унифицированная методика, определенная в ISO/IEC 15424, используется для формирования сообщения о считываемой символике, о настройках декодера и других особых свойствах символики.
Идентификатор символики для PDF417 должен быть представлен в виде:
]Lm
где ] - знак флага идентификатора символики (десятичное значение ASCII - 93);
L - идентификатор символики для PDF417;
m - знак-модификатор, имеющий одно из значений, приведенных в таблице L.1.
Таблица L.1
Значения модификаторов идентификатора символики для PDF417
m
Вариант обработки
0
Считывающее устройство установлено в соответствии с протоколом, приведенным в спецификациях символики [3] и [4], опубликованных в 1994 (приложение M) <a>
1
Считывающее устройство установлено в соответствии с протоколом настоящего стандарта для интерпретации в расширенном канале (5.17.2). Все знаки данных со значением 92 дублируются
2
Считывающее устройство установлено в соответствии с протоколом настоящего стандарта для операций базового канала (5.17.1). Знаки данных со значением 92 не дублируются <b>
<a> Во время передачи этого варианта приемное устройство не может точно определить, были ли вызваны ECI или в передаче повторились байты данных со значением 92.
<b> Когда декодер установлен на этот режим, небуферизованные символы Макро PDF417 и символы, вынуждающие декодер передавать управляющие последовательности ECI, не могут корректно быть переданы.
Эта информация не должна кодироваться в символе штрихового кода, однако она должна генерироваться декодером после декодирования и передаваться как преамбула к данным сообщения.
Приложение M
(обязательное)
ПРОТОКОЛ ПЕРЕДАЧИ ДЛЯ ДЕКОДЕРОВ, СООТВЕТСТВУЮЩИЙ
ИСХОДНЫМ СПЕЦИФИКАЦИЯМ PDF417
M.1 Общие положения
Ранее опубликованные спецификации символики PDF417 ([3] и [4]) поддерживают режим базового канала, идентификаторы глобальной метки - GLI (предшествующие независимой от символики интерпретации в расширенном канале - ECI) и Макро PDF417 (но без интегрирования с протоколом ECI). Настоящее приложение определяет протокол передачи, соответствующий первоначальной спецификации, который все еще может находиться в эксплуатации, и направлено на обеспечение совместимости.
M.2 Режим базового канала
В режиме базового канала (Basic Channel mode) все знаки данных символа передаются в соответствии с действующими режимами уплотнения и включаются в передачу данных как последовательность 8-битовых байтов. Знаки СТАРТ и СТОП, индикаторы строк, дескриптор длины символа, кодовые слова переключения режима и кодовые слова коррекции ошибок не передаются.
Примечание - Передача идентична процедуре, приведенной в 5.17.1.
Ранние декодеры должны выдавать идентификатор символики ]L0, однако могут и не передавать префикс идентификатора символики.
M.3 Символы, кодирующие GLI
Ранее были установлены только GLI 1 и GLI 0, но исходным протоколом поддерживается передача всех управляющих последовательностей GLI/ECI. Три кодовых слова (925, 926 и 927) отмечают кодирование значения GLI и декодируются как значения байтов в соответствии с приведенной ниже процедурой:
a) если управляющая последовательность GLI начинается кодовым словом 927 (идентификатор ECI для набора знаков или кодовой страницы):
1) кодовое слово со значением 927 передается как 4-байтовая управляющая последовательность 92, 57, 50, 55, которая представлена \927 в интерпретации знаков ASCII (версия КОИ-7);
2) следующее кодовое слово представляет номер GLI в области значений от 000 до 899. Кодовое слово преобразовывается в 3-разрядное значение. 3-разрядное значение передается как соответствующие значения байтов (с десятичными значениями от 48 до 57), которым предшествует байт со значением 92.
Пример -
В символе закодировано:
[927] [001]
Передача данных (байты):
92, 57, 50, 55, 92, 48, 48, 49
Интерпретация знаков ASCII (версия КОИ-7):
\927\001
b) если управляющая последовательность GLI начинается кодовым словом 926 (идентификатор общего назначения формата ECI):
1) кодовое слово 926 передается как 4-байтовая управляющая последовательность 92, 57, 50, 54, которая представлена \926 в интерпретации знаков ASCII (версия КОИ-7);
2) следующие два кодовых слова (допускаются кодовые слова со значениями от 000 до 899) представляют номер ECI следующим способом:
Кодовое слово 1: Номер_ECI div 900 - 1
Кодовое слово 2: Номер_ECI mod 900.
Каждое кодовое слово преобразовывается в 3-разрядное значение. 3-разрядное значение передается как соответствующие значения байтов (от 48 до 57), которым предшествует байт со значением 92.
Пример -
В символе закодировано:
[926] [136] [156]
Передача данных (байты):
92, 57, 50, 54, 92, 49, 51, 54, 92, 49, 53, 54
Интерпретация знаков ASCII (версия КОИ-7):
\926\136\156
c) если управляющая последовательность GLI начинается кодовым словом 925 (идентификатор ECI, задаваемый пользователем):
1) кодовое слово 925 передается как 4-байтовая управляющая последовательность 92, 57, 50, 53, которая представлена \925 в интерпретации в знаках ASCII (версия КОИ-7);
2) следующее кодовое слово представляет номер задаваемого пользователем GLI минус 810 900 (допускаются кодовые слова со значениями от 000 до 899). Кодовое слово преобразуется в 3-разрядное значение. 3-разрядное значение передается как соответствующие значения байтов (от 48 до 57), которым предшествует байт со значением 92.
Пример -
В символе закодировано:
[925] [456]
Передача данных (байты):
92, 57, 50, 53, 92, 52, 53, 54
Интерпретация знаков ASCII (версия КОИ-7):
\925\456
Эта процедура повторяется для каждого случая появления GLI.
Примечание - Объяснения примеров с соответствующими ECI, но использующих протокол передачи ECI, приведены в 5.17.2.
Если знак ОБРАТНАЯ ДРОБНАЯ ЧЕРТА или другой знак, представленный байтом со значением 92, необходимо использовать в качестве закодированных данных, передача должна происходить в соответствии с нижеуказанным примером. Всякий раз, когда байт со значением 92 появляется в качестве данных, должны быть переданы два байта этого значения; таким образом, единичное появление всегда является управляющим знаком, а двоичное появление означает достоверные данные.
Пример - Закодированные данные: A\\B\C
Передача: A\\\\B\\C
Заданный по умолчанию управляющий знак может быть изменен в декодере (в таком случае должна быть соответственно сконфигурирована система получения), но для этого не должны использоваться значения байтов от 47 до 58 (в основном интерпретируемые как цифровые разряды).
Примечание - В протоколе для передачи ECI (5.17.2) значение 92 для управляющего знака является фиксированным.
В качестве варианта декодеры могут иметь режим работы, при котором управляющие знаки не определены. Такие считывающие устройства не могут ни передавать управляющие последовательности, ни дублировать любые знаки данных, поэтому этот режим не может поддерживать передачу управляющих последовательностей ECI и передачу управляющих блоков Макро PDF417.
M.4 Символы Макро PDF417
При работе по первоначальному протоколу передачи данных PDF417, после того как декодер PDF417 обработал символ Макро PDF417 с заданной идентификацией файла, он должен декодировать и передать все символы с той же идентификацией файла до передачи любых иных символов. Это требование применяют для каждого из нижеуказанных режимов передачи.
M.4.1 Передача в буферизованном режиме
Буферизованная система передачи требует, чтобы декодер собрал весь комплект символов до его передачи. Обработка обязательных полей управляющего блока Макро PDF417 проводится в самом декодере. Передача необязательных полей в декодере может быть индивидуально разрешена или запрещена. Необязательные поля, при их наличии, должны единовременно передаваться в конце полного комплекта данных. Передача каждого поля должна начинаться с передачи соответствующей последовательности - указателя необязательного поля Макро PDF417. Последовательность-указатель состоит из кодового слова 923 (начало необязательного поля Макро PDF417), за которым следует значение указателя в соответствии с таблицей H.1. Эта последовательность должна передаваться с помощью управляющего знака в соответствии с M.3. Декодированное высокоуровневое содержимое поля должно передаваться после этой последовательности-указателя.
M.4.2 Передача в небуферизованном режиме
Система небуферизованной передачи позволяет декодеру передавать отдельные символы по мере их декодирования.
При использовании небуферизованной схемы должна быть разрешена передача управляющего заголовка Макро PDF417 (Macro PDF417 Control Header), поскольку символы в небуферизованной схеме не подлежат внутреннему упорядочиванию считывающим устройством. Это позволяет системе сервера производить соответствующую систематизацию поступающих данных.
Передача управляющего заголовка Макро PDF417 может быть разрешена или запрещена. Управляющий заголовок Макро PDF417 является частью управляющего блока Макро PDF417 (рисунок H.1), который состоит из кодового слова 928 (Макро-маркер), индекса сегмента (в режиме цифрового уплотнения) и последовательности кодовых слов идентификации файла. В случае, когда передача управляющего заголовка Макро PDF417 разрешена, кодовое слово Макро-маркера и кодовые слова идентификации файла следует передавать, используя управляющий знак в соответствии с M.3. Например, управляющий заголовок Макро PDF417 первого символа, индекс сегмента, равный 0, и идентификация файла (значения кодовых слов 100, 200, 300) должны быть закодированы в символе как последовательность кодовых слов:
[928] [111] [100] [100] [200] [300]
и (принимая управляющий знак со значением 92 по умолчанию) переданы следующим образом:
Передача данных (байты):
92, 57, 50, 56, 48, 48, 48, 48, 48, 92, 49, 48, 48, 92, 50,
48, 48, 92, 51, 48, 48
Интерпретация в знаках ASCII (версия КОИ-7): \92800000\100\200\300
Управляющий заголовок Макро PDF417 (если разрешен) следует передавать после данных, закодированных в символе.
Если последняя последовательность GLI, переданная считывающим устройством, не является GLI 0, тогда переданные данные из этого сегмента должны оканчиваться последовательностью байтов 92, 57, 50, 55, 92, 48, 48, 48 (эквивалент в знаках ASCII \927\000), как если бы данные символа оканчивались последовательностью кодовых слов [927][000]. Это возвращает интерпретацию следующего блока к GLI 0.
Передача необязательных полей может быть индивидуально разрешена или запрещена в декодере. Разрешенные необязательные поля должны передаваться вместе с каждым символом Макро PDF417, в котором они были закодированы. Каждое поле должно начинаться с передачи соответствующей последовательности - указателя необязательного поля Макро PDF417. Последовательность-указатель состоит из кодового слова 923, за которым следует значение указателя в соответствии с таблицей H.1; эта последовательность должна передаваться с использованием управляющего знака в соответствии с M.3. Декодированное высокоуровневое содержимое поля должно передаваться после этой последовательности-указателя.
Базируясь только на передаче закодированного потока данных, могут возникнуть трудности или невозможность определения наличия границы между окончанием управляющего блока Макро PDF417 (особенно если он содержит необязательные поля) и началом содержимого данных следующего символа. Протокол передачи системы (например, использующий типовую передачу управляющих знаков STX (НТ) <1> и ETX (КТ) или другие процедуры установления связи) может использоваться для определения границ между переданными символами Макро PDF417.
--------------------------------
<1> В скобках приведены русские обозначения управляющих знаков по ГОСТ 27465.
С целью облегчения контроля получения всех символов Макро PDF417 в небуферизованном режиме, когда это возможно, следует использовать необязательное поле числа сегментов как часть закодированного управляющего блока Макро PDF417.
M.5 Передача зарезервированных кодовых слов с использованием исходного протокола PDF417
При работе по исходному протоколу передачи PDF417 декодер должен передавать зарезервированное кодовое слово как управляющий знак (со значением 92 по умолчанию), за которым следуют три разряда, представляющие десятичное значение зарезервированного кодового слова. Кодовые слова данных, которые следуют после зарезервированного кодового слова, интерпретируются и передаются в соответствии с режимом уплотнения, действующим до зарезервированного кодового слова. В частности, будет установлена интерпретация, как если бы зарезервированное кодовое слово ввело кодовое слово фиксации режима в уже действующем режиме уплотнения.
Такая функция фиксации режима байтового или цифрового уплотнения заново устанавливает новое "группирование" кодовых слов. Если доминирующим режимом является режим текстового уплотнения, то осуществляется повторный переход в подрежим прописных букв режима текстового уплотнения.
Несмотря на то, что протокол может соответствующим образом передавать синтаксис сообщения для любых зарезервированных кодовых слов, будущие определения которых заключаются в сигнальных функциях, он не будет предусматривать однозначного выхода данных для нового режима уплотнения. При использовании исходного протокола передачи PDF417 приемное устройство не должно учитывать любые данные, которые следуют за управляющей последовательностью, представляющей вновь определенное кодовое слово режима уплотнения.
M.6 Достижение согласованности между старым и новым оборудованием PDF417
M.6.1 Кодирующие устройства
Введение интерпретаций в расширенном канале, которые не зависят от символики, подразумевает отделение функций кодирования ECI от кодирования символики. Кодирование GLI фактически является внутренне связанным с символикой PDF417. Закодированный поток кодовых слов будет равнозначным независимо от того, какое кодирующее оборудование использовалось для его кодирования: существующее или вновь вводимое. Возможно кодирование, например, данных в соответствии с интерпретацией ECI 000123 (которая еще не задана на момент публикации настоящего стандарта) с помощью кодирующего устройства, способного устанавливать GLI для PDF417; или на первом этапе, кодирование с помощью кодирующего устройства для независимой от символики ECI, за которым, на втором этапе, следует кодирующее устройство для символики PDF417.
Имеются два ограничения:
- логическая схема с возвратом к GLI 0 должна применяться для GLI 0 (ECI 000000) и GLI 1 (ECI 000001);
- GLI 0 и GLI 1 не должны смешиваться с другими ECI в одном символе или комплекте символов Макро PDF417.
M.6.2 Декодеры
Ключом к взаимодействию декодеров, использующих исходный и новый протокол PDF417, является обязательная передача префикса идентификатора символики всякий раз, когда декодер сконфигурирован для работы в новом режиме расширенного канала (extended channel mode) и требует обязательного использования префикса, когда старое и новое оборудование PDF417 используется в одной системе. То есть декодер, имеющий разрешение для работы в режиме расширенного канала (даже при считывании разнородных символов режима базового канала и режима расширенного канала) будет отправлять идентификатор символики с каждой передачей.
Примечание - Исходный стандарт PDF417 ([3] и [4]) не обязывает использовать идентификатор символики даже при дублировании управляющего знака (со значением 92 по умолчанию). Соответствие протоколу ECI, представленное в настоящем стандарте, обязывает использовать идентификатор символики.
Декодеры подлежат проверке на соответствие по одному из нижеследующих условий:
a) полностью соответствуют протоколу ECI и настоящему стандарту:
1) передают соответствующие идентификаторы символики;
2) имеют возможность установки или переключения на работу в режиме базового канала или режиме расширенного канала;
3) передают протокол ECI в соответствии с настоящим стандартом (5.17.2);
4) обрабатывают Макро PDF417 в соответствии с настоящим стандартом.
b) соответствуют стандартам 1994 года <1>:
--------------------------------
<1> Имеются в виду документы [3] и [4].
1) и имеют возможности взаимодействия с новым оборудованием и символами, кодирующими ECI:
i) передают идентификатор символики ]L0:
ii) имеют возможность установки или переключения на работу в режиме базового канала или в режиме расширенного канала:
iii) передают протокол GLI в соответствии с M.3;
iv) обрабатывают Макро PDF417 в соответствии с M.4;
2) но не имеют возможности взаимодействия с новым оборудованием и символами, кодирующими ECI:
i) не передают идентификатор символики;
ii) имеют возможность установки или переключения на работу в режиме базового канала или в режиме расширенного канала;
iii) передают протокол GLI в соответствии с M.3;
iv) обрабатывают Макро PDF417 в соответствии с M.4;
c) соответствуют только режиму базового канала:
1) передают идентификатор символики ]L0 (старое оборудование) или ]L2 (новое оборудование) или не передают идентификатор символики;
2) рассматривают символы, содержащие кодовые слова ECI, как ошибочные;
3) рассматривают символы Макро PDF417 как ошибочные, за исключением случая, когда считывающее устройство работает в буферизованном режиме и передача управляющего заголовка Макро PDF417 запрещена.
Допустим, что оборудование настроено в соответствии с вышеуказанным, что предоставит считывающему устройству возможность обнаруживать и соответствующим образом реагировать на следующие условия:
a) если в начале передачи присутствует идентификатор символики ]L1.
В данном случае приемное устройство достоверно информируется, что декодер работает в режиме расширенного канала для сканированного символа. Следовательно, все байты со значением 92, когда они появляются в качестве данных, были дублированы независимо от того, содержит ли символ ECI или является частью комплекта Макро PDF417. Появления одиночного байта со значением 92 указывают начало управляющей последовательности. Все остальные свойства должны соответствовать настоящему стандарту;
b) если в начале передачи присутствует идентификатор символики ]L2.
В данном случае приемное устройство информируется, что декодер работает в режиме базового канала для отсканированного символа. Следовательно, байт со значением 92 будет представлять отдельный байт данных.
Символы с управляющими последовательностями ECI должны рассматриваться как ошибочные. Символы Макро PDF417 должны быть рассмотрены как ошибочные, за исключением, если считывающее устройство работает в буферизованном режиме и передача управляющих заголовков Макро PDF417 запрещена;
c) если в начале передачи присутствует идентификатор символики ]L0, указывая версию PDF417 1994 года:
Данный случай является исключением по причине того, что исходные документы по PDF417 организаций AIM USA (1994 г.) <2> и AIM Europe (1994 г.) <3> несмотря на то, что он подразумевает явную поддержку режима расширенного канала, определяет 0 (т.е. набор вариантов отсутствует) как единственное значение варианта обработки для идентификатора символики PDF417. Таким образом, существующее оборудование PDF417 при полном соответствии исходным документам по PDF417 организаций AIM USA (1994 г.) и AIM Europe (1994 г.) не будет использовать новые значения вариантов, чтобы указать, действует ли режим базового канала, или режим расширенного канала. Следовательно, если приемное устройство встречает ]L0, тогда оно должно ожидать режим, соответствующий документам 1994 г. В частности:
--------------------------------
<2> См. документ [3].
<3> См. документ [4].
1) приемное устройство не может распознать из передачи, в каком из режимов находится декодер: в режиме расширенного канала (всегда дублирует байт, задаваемый в качестве управляющего знака в соответствии с M.3) или в режиме базового канала (никогда не дублирует байтов); декодер должен быть конфигурирован таким образом, чтобы соответствовать данным, ожидаемым приемным устройством;
2) если декодер установлен в режим расширенного канала и если в символе закодированы ECI, декодер будет скорее передавать управляющие последовательности GLI в формате PDF417 1994 г. (в соответствии с M.3), чем управляющую последовательность ECI, как указано в 5.17.2;
3) при использовании исходного протокола, если присутствует управляющий блок Макро PDF417, содержимое управляющего блока Макро PDF417 скорее следует после байтов данных символа, чем предваряет их;
d) если в начале передачи нет идентификатора символики.
В этом случае:
1) декодер соответствующим образом сконфигурирован для поддержки только символов режима базового канала. Система приема должна быть настроена на то, чтобы декодер не дублировал ни одного значения байта и чтобы любые встречающиеся в потоке байтов управляющие последовательности ECI являлись случайными комбинациями знаков или
2) декодер неправильно сконфигурирован для возможности взаимодействия в открытой системе, где могут встречаться символы, кодирующие ECI.
Приложение N
(справочное)
АЛГОРИТМ МИНИМИЗАЦИИ ЧИСЛА КОДОВЫХ СЛОВ
Одни и те же данные могут быть представлены в виде различных последовательностей кодовых слов PDF417 использованием разных режимов уплотнения и процедур перехода. Не существует предписанной процедуры для минимизации числа требуемых кодовых слов, но для этих целей можно использовать следующий алгоритм:
a) принимают, что P указывает на начало потока данных;
b) устанавливают текущий режим кодирования в режим текстового уплотнения;
c) принимают, что N - число последовательных цифр, начинающихся от P;
d) если N >= 13, тогда:
1) фиксируют режим цифрового уплотнения;
2) кодируют N знаков с использованием цифрового уплотнения;
3) передвигают указатель P вперед на N знаков;
4) переходят к этапу c);
e) в противном случае, если N < 13, тогда:
1) принимают, что T - длина последовательности знаков в режиме текстового уплотнения, начинающейся с P. Последовательность заканчивается в том случае, если будут обнаружены либо знак, не находящийся в режиме текстового уплотнения, либо цифровая последовательность длиной 13 и более разрядов;
2) если T >= 5, тогда
i) фиксируют режим текстового уплотнения;
ii) кодируют T знаков с использованием режима текстового уплотнения;
iii) перемещают указатель P вперед на T знаков;
iv) переходят к этапу c);
3) если T < 5, тогда:
i) принимают, что B - длина кодируемой в двоичном виде последовательности, начинающейся с P. Последовательность заканчивают в случаях, если будут найдены либо последовательность в режиме текстового уплотнения, длиной 5 и более, либо цифровая последовательность, длиной 13 и более;
ii) если B = 1 и текущий режим текстового уплотнения, тогда;
I) переводят регистр в режим байтового уплотнения;
II) кодируют значение одного байта с использованием регистра режима байтового уплотнения;
III) перемещают вперед указатель P на B;
IV) переходят к этапу c);
iii) иначе
I) фиксируют режим байтового уплотнения;
II) кодируют B байтов с использованием режима байтового уплотнения;
III) перемещают вперед указатель P на B;
IV) переходят к этапу c).
Приложение O
(справочное)
РЕКОМЕНДАЦИИ ПО ОПРЕДЕЛЕНИЮ МАТРИЦЫ СИМВОЛА PDF417
O.1 Параметры, влияющие на определение матрицы
Для определения матрицы символа в виде числа строк (r) и столбцов (c) до печати символа следует использовать ряд параметров.
Каждый параметр назначает одну характеристику, которая может ограничивать матрицу символа. Обозначения (в нижеуказанных уравнениях) A, c, k, QH, QV, r, X и Y соответствуют обозначениям, установленным в 4.1.
Следующие формулы можно использовать непосредственно или для создания более сложного алгоритма:
- параметр 1 - число строк, r
3 <= r <= 90 (см. 5.2.1)
- параметр 2 - число столбцов, c
1 <= c <= 30 (см. 5.2.2)
- параметр 3 - размер X
Определяют в нормативном документе, устанавливающем требования по применению (см. 5.8.1)
- параметр 4 - размер Y
Y >= 3X (см. 5.8.2)
- параметр 5 - горизонтальная свободная зона, QH
QH >= 2X (см. 5.8.3)
- параметр 6 - Вертикальная свободная зона, QV
QV >= 2X (см. 5.8.3)
- параметр 7 - полезная ширина символа, W
W >= (17c + 69) + 2QH
Примечание - Этот параметр может быть ограничен полем обзора сканера или шириной этикетки.
- параметр 8 - полезная высота символа, H
H >= Yr + 2QV
Примечание - Этот параметр может быть ограничен полем обзора сканера или размером этикетки.
- параметр 9 - параметры матрицы
(n + k) = (c·r) < 929
- параметр 10 - коэффициент сжатия символа, A.
До определения размера символа может быть вычислено число кодовых слов данных и кодовых слов коррекции ошибки. Следующий этап зависит от ограничений определенных параметров, указанных в применении. Если параметры применения определяют общий коэффициент сжатия символа, можно использовать рекомендации, приведенные в O.2, по вычислению числа столбцов области данных, требуемых для создания символа с данным коэффициентом сжатия.
Если в применении ограничивается допустимая высота или ширина символа (или оба параметра), можно использовать более простые вычисления. В O.1 приведен простой алгоритм, который следует использовать при ограниченной длине символа.
Если общая ширина W (включающая свободные зоны) задана, то число столбцов данных можно вычислить, используя уравнение параметра 7 (округляя до ближайшего целого значения числа столбцов). В этом случае число строк выводится из общего числа кодовых слов:
(n + k) = (c·r).
Коэффициент сжатия символа A представляет собой отношение высоты к длине символа, включая свободные зоны. Для получения заданного значения A необходимо решить приведенное ниже уравнение относительно числа столбцов (c), в котором допускается, что свободные зоны выражены в точных значениях X. Уравнение может использоваться для всех случаев получения наилучшей аппроксимации числа столбцов (c).
,
где A, c, H, QV, r, W, X и Y соответствуют обозначениям, приведенным в разделе 4;
QV = 2X.
Затем количество строк вычисляется по формуле:
,
где n и k соответствуют обозначениям, приведенным в разделе 4.
Уравнение может быть записано в следующем виде
затем
.
Это эквивалентно
.
Это уравнение (при замене c на x) является квадратным уравнением вида:
ax2 + bx + c = 0,
имеющее корни
.
При подстановке значений параметров PDF417 решение квадратного уравнения, с отбрасыванием отрицательных значений, может быть записано в следующем виде
.
Значение n зависит от числа кодовых слов-заполнителей, которое неизвестно до определения параметров матрицы. Однако число исходных кодовых слов известно, и оно может быть подставлено в виде m + 1 <= n в уравнении, представленном выше, следующим способом
.
При определении положительного значения c может быть получен результат, не являющийся целым числом. Ближайшее значение величины целого числа c должно давать наилучшее значение числа столбцов для определения коэффициента сжатия.
Число строк задается величиной
r = INT [(m + 1 + k)/c] + 1.
Если (c·r) >= m + 1 + k + c, то
r = r - 1.
При (c·r) = (n + k) число кодовых слов-заполнителей равно (n + k) - (m + 1 + k).
Пример - Требуется получить коэффициент сжатия A = 0,5 для символа PDF417, где m + 1 + k = 277, X = 0,33 mm и Y = 1,00 mm
,
,
,
,
(m + 1 + k) <= (c·r) < 929,
277 <= 280 < 929.
Число требуемых кодовых слов-заполнителей равно:
(c·r) - (m + 1 + k),
280 - 277 = 3.
Этот символ характеризуется следующими параметрами: количество строк 35, количество столбцов 8, ширина 68,97 мм, высота 36,32 мм, фактический коэффициент сжатия 0,527.
O.2 Рекомендации, когда не удается достичь приемлемых параметров
Если символ не соответствует требуемому размеру этикетки, следует придерживаться следующих рекомендаций:
a) по возможности, уменьшают содержание данных;
b) увеличивают размер этикетки в одном или двух измерениях;
c) уменьшают уровни коррекции ошибок;
d) уменьшают размер X или высоту модуля (Y).
Приложение P
(справочное)
ПРИМЕР ВЫЧИСЛЕНИЯ КОЭФФИЦИЕНТОВ
ДЛЯ ГЕНЕРАЦИИ КОДОВЫХ СЛОВ КОРРЕКЦИИ ОШИБОК
Для подсчета коэффициентов каждого уровня коррекции ошибок должен использоваться порождающий полином gk(x):
,
где k - общее количество кодовых слов коррекции ошибок;
- коэффициенты при x, вычисляемые согласно порождающему полиному gk(x).
Сначала раскладывают в ряд приведенное выше уравнение, затем вычисляют дополнение коэффициента:
Для 
НАЧАЛО
КОНЕЦ
Пример - Требуется вычислить коэффициенты порождающего полинома для уровня коррекции ошибок 1
s
= 1
уровень коррекции ошибок 1
k
= 2s + 1
= 4 (количество кодовых слов коррекции ошибок)
g4(x)
=
(x - 3)(x - 32)(x - 33)(x - 34)
=
59 049 - 29 160x + 3 510x2 - 120x3 + x4
=
59 049 mod 929
=
522
=
-29 160 mod 929
=
568
=
3 510 mod 929
=
723
=
-120 mod 929
=
809
Примечание - В приложении F приведены таблицы коэффициентов для вычисления кодовых слов коррекции ошибки PDF417, содержащие все значения коэффициентов, необходимые для кодирования символа PDF417 любого уровня коррекции ошибок.
Приложение Q
(справочное)
ПРИМЕРЫ ГЕНЕРАЦИИ КОДОВЫХ СЛОВ КОРРЕКЦИИ ОШИБОК
Для генерации кодовых слов коррекции ошибки должен использоваться алгоритм в соответствии с 5.10 (обозначения, используемые в приведенном примере, соответствуют обозначениям в 5.10).
Пример - Данные PDF417 представлены кодовыми словами 5, 453, 178, 121, 239, перед которыми расположен дескриптор длины символа) Кодовые слова-заполнители отсутствуют. Тогда
n = 5 (количество кодовых слов, включая дескриптор длины символа)
d4 = 5
d3 = 453
d2 = 178
d1 = 121
d0 = 239
При выборе уровня коррекции ошибок 1 получают:
s = 1
k = 21 + 1
= 4
Примечание - Пример, приведенный для представления всего процесса, упрощен и содержит только пять кодовых слов данных и четыре кодовых слова коррекции ошибок. Процесс значительно усложняется при увеличении числа кодовых слов данных и кодовых слов коррекции ошибки.
Порядок вычисления:
устанавливают E0, ..., E3 на нулевое значение.
t1 = (d4 + E3) mod 929 = (5 + 0) mod 929 = 5
t3 = 929 - t2 = 929 - 329 = 600
E3 = (E2 + t3) mod 929 = (0 + 600) mod 929 = 600
t3 = 929 - t2 = 929 - 828 = 101
E2 = (E1 + t3) mod 929 = (0 + 101) mod 929 = 101
t3 = 929 - t2 = 929 - 53 = 876
E1 = (E0 + t3) mod 929 = (0 + 876) mod 929 = 876
t3 = 929 - t2 = 929 - 752 = 177
E0 = t3 mod 929 = 177 mod 929 = 177
t1 = (d3 + E3) mod 929 = (453 + 600) mod 929 = 124
t3 = 929 - t2 = 929 - 913 = 16
E3 = (E2 + t3) mod 929 = (101 + 16) mod 929 = 117
t3 = 929 - t2 = 929 - 468 = 461
E2 = (E1 + t3) mod 929 = (876 + 461) mod 929 = 408
t3 = 929 - t2 = 929 - 757 = 172
E1 = (E0 + t3) mod 929 = (177 + 172) mod 929 = 349
t3 = 929 - t2 = 929 - 627 = 302
E0 = t3 mod 929 = 302 mod 929 = 302
t1 = (d2 + E3) mod 929 = (178 + 117) mod 929 = 295
t3 = 929 - t2 = 929 - 831 = 98
E3 = (E2 + t3) mod 929 = (408 + 98) mod 929 = 506
t3 = 929 - t2 = 929 - 544 = 385
E2 = (E1 + t3) mod 929 = (349 + 385) mod 929 = 734
t3 = 929 - t2 = 929 - 340 = 589
E1 = (E0 + t3) mod 929 = (302 + 589) mod 929 = 891
t3 = 929 - t2 = 929 - 705 = 224
E0 = t3 mod 929 = 224 mod 929 = 224
t1 = (d1 + E3) mod 929 = (121 + 506) mod 929 = 627
t3 = 929 - t2 = 929 - 9 = 920
E3 = (E2 + t3) mod 929 = (734 + 920) mod 929 = 725
t3 = 929 - t2 = 929 - 898 = 31
E2 = (E1 + t3) mod 929 = (891 + 31) mod 929 = 922
t3 = 929 - t2 = 929 - 329 = 600
E1 = (E0 + t3) mod 929 = (224 + 600) mod 929 = 824
t3 = 929 - t2 = 929 - 286 = 643
E0 = t0 mod 929 = 643 mod 929 = 643
t1 = (d0 + E3) mod 929 = (239 + 725) mod 929 = 35
t3 = 929 - t2 = 929 - 445 = 484
E3 = (E2 + t3) mod 929 = (922 + 484) mod 929 = 477
t3 = 929 - t2 = 929 - 222 = 707
E2 = (E1 + t3) mod 929 = (824 + 707) mod 929 = 602
t3 = 929 - t2 = 929 - 371 = 558
E1 = (E0 + t3) mod 929 = (643 + 558) mod 929 = 272
t3 = 929 - t2 = 929 - 619 = 310
E0 = t3 mod 929 = 310 mod 929 = 310
В конце вычисляют дополнения приведенных выше результатов и получают четыре кодовых слова коррекции ошибок для закодированных данных PDF417:
E3 = 929 - E3 = 929 - 477 = 452
E2 = 929 - E2 = 929 - 602 = 327
E1 = 929 - E1 = 929 - 272 = 657
E0 = 929 - E0 = 929 - 310 = 619
Приложение R
(справочное)
ПРОЦЕДУРА СХЕМЫ ДЕЛЕНИЯ
ДЛЯ ГЕНЕРАЦИИ КОДОВЫХ СЛОВ КОРРЕКЦИИ ОШИБОК
Эта процедура представляет собой альтернативу процедуре, установленной в 5.10, и использует схему деления в качестве базы определения кодовых слов коррекции ошибок.
Схема деления приведена на рисунке R.1.
- дополнение по модулю;
- сложение по модулю;
ИС МЕГАНОРМ: примечание.
Абзац дан в соответствии с официальным текстом документа.
- умножение по модулю
Рисунок R.1 - Схема кодирования
кодовых слов коррекции ошибок
Регистры от b0 до bk - 1 должны быть установлены в нуль. Математика по модулю должна быть задана следующими уравнениями:
;
;
,
где x и y - числа от 0 до 928;
- сложение по модулю;
- умножение по модулю;
- дополнение по модулю.
Генерирование кодирования происходит в два этапа. На первом этапе с переключением в нижнее положение данные символа проходят и к выводу и к схеме. Первый этап завершается после n синхронизирующих импульсов. На втором этапе (синхронизирующие импульсы n + 1 ... n + k) с переключением в верхнее положение генерируются кодовые слова коррекции ошибки Ek - 1, ..., E0 путем сдвига регистров по порядку и дополнения вывода данных при удержании ввода данных на нуле.
Приложение S
(справочное)
ДОПОЛНИТЕЛЬНЫЕ ПРАВИЛА ИСПОЛЬЗОВАНИЯ СИМВОЛИКИ PDF417
S.1 Совместимость для автоматического распознавания
Символы PDF417 могут быть считаны с применением соответствующим образом запрограммированных декодеров штрихового кода, которые были разработаны для автоматического распознавания этих символов от символов других символик. Для обеспечения максимальной надежности считывания набор символик, распознаваемых декодером, должен ограничиваться теми, которые используются в конкретном применении.
S.2 Пиксель-ориентированная печать
S.2.1 Основные принципы
Программное обеспечение для формирования символов штрихового кода с использованием устройств печати с попиксельным формированием изображения должно обеспечивать масштабирование штрихов и пробелов с точностью до пикселя. Для символик, декодируемых от края одного элемента до соответствующего края следующего элемента, подобных PDF417, число пикселей, составляющих каждый знак символа, должно представлять собой фиксированное постоянное целое число и должно быть равно числу модулей в знаке символа, умноженному на константу. В PDF417 число модулей в знаках символа и знаке СТАРТ равно 17, а в знаке СТОП - 18. Поэтому данный принтер может печатать символы только с определенным набором размеров X.
Компенсировать однородное увеличение (уменьшение) ширины штриха следует путем смещения границы штрих/пробел на одинаковую величину по всему символу. Это может быть выполнено путем изменения целого числа пикселей с темного на светлые или со светлого на темные одинаковым образом для каждой пары штрих/пробел в символе и для последнего штриха. Например, все пиксели по тому же самому (правому или левому) краю каждого штриха в символе могли быть изменены с темного на светлый, или пиксели по обоим краям каждого штриха в символе могли быть изменены с темного на светлый, при условии, что разрешающая способность принтера достаточна для удовлетворительной печати. Любой вариант замены пикселей с темного на светлый или со светлого на темный (выбираемый при настройке оборудования) выполняется последовательно по всему символу и не должен изменять измерения от края одного элемента до соответствующего края следующего элемента или общую длину символа. Несоблюдение этих принципов приводит к снижению качества символа и зачастую к невозможности его считывания.
Программное обеспечение печати общего назначения, предназначенное для поддержки широкого диапазона принтеров, должно предусмотреть возможность корректировки пользователем размера X и приращения/уменьшения ширины штриха.
S.2.2 Пример программирования
Эти принципы можно свести к следующим правилам для производства цифровых файлов штрихового кода:
a) преобразуют желательный размер X в размер модуля в пикселях, округленный в меньшую сторону до ближайшего целого;
b) определят число пикселей, соответствующее требуемой компенсации общего увеличения ширины штриха, и округляют его до ближайшего большего целого числа;
c) полученное в результате значение применяют для определения числа пикселей каждого штриха и пробела в символе.
Пример:
Используя файлы штрихового кода на устройстве печати с разрешением 24 точки на мм, создают символ с размером X = 0,27 мм с учетом сокращения ширины штриха до 0,06 мм, при этом:
- число точек, приходящихся на модуль: 24 точек/мм x 0,27 мм/модуль = 6,5 пикселей округляют в меньшую сторону до шести пикселей на модуль;
- компенсацию ширины штриха: 0,06 мм x 24 точек/мм = 1,4 пикселей округляют в большую сторону до двух пикселей.
Результаты вычислений для штрихов и пробелов разной ширины приведены в таблице S.1.
Таблица S.1
Пример коррекции числа пикселей на элемент
с учетом разрешающей способности изображения
и сокращения ширины штриха
Ширина элемента (в модулях)
Номинальная ширина (в пикселях)
Скорректированное число пикселей
Штрихов
Пробелов
1
6
4
8
2
12
10
14
3
18
16
20
4
24
22
26
5
30
28
32
6
36
34
38
8
48
46
Неприменимо
Приложение ДА
(справочное)
СООТВЕТСТВИЕ МЕЖДУНАРОДНЫХ И РУССКИХ ТЕРМИНОВ И ОБОЗНАЧЕНИЙ,
ВСТРЕЧАЮЩИХСЯ В ТЕКСТЕ НАСТОЯЩЕГО СТАНДАРТА
Данное приложение включено в дополнение к международному стандарту ISO/IEC 15438 и содержит соответствие терминов и обозначений на русском языке (в настоящем стандарте) и английском языке (в ISO/IEC 15438) для удобства пользователей при переводе документов с одного языка на другой.
Таблица ДА.1
Соответствие международных и русских наименований
кодовых слов
Наименование кодового слова (знака символа)
Русское
Международное
Кодовое слово коррекции ошибки
Error correction codeword
Функциональное кодовое слово
function codeword
Кодовое слово фиксации режима
Mode Latch codeword
Кодовое слово регистра режима
Mode Shift codeword
Кодовое слово индикатора строки
Row Indicator codeword
Дескриптор длины символа
Symbol Length Descriptor
Кодовое слово данных
data codeword
Левый индикатор строки
Left row indicator
Правый индикатор строки
Right row indicator
Кодовое слово-заполнитель
pad codeword
Фиксация режима текстового уплотнения
Text Compaction mode latch
Фиксация режима байтового уплотнения
Byte Compaction mode latch
Фиксация режима цифрового уплотнения
Numeric Compaction mode latch
Регистр режима байтового уплотнения
mode shift to Byte Compaction mode
Инициализация считывающего устройства
reader initialisation
Ограничитель Макро PDF417
Macro PDF417 Terminator
Начало необязательного поля Макро PDF417
Beginning of Macro PDF417 Optional Field
Идентификатор интерпретации в расширенном канале пользователя
identifier for a user defined ECI
Идентификатор общего назначения формата интерпретации в расширенном канале
identifier for a general purpose ECI format
Идентификатор интерпретации в расширенном канале для набора знаков или кодовой страницы
identifier for an ECI of a character set or code page
Начало управляющего блока Макро PDF417
Beginning of Macro PDF417 Control Block
Макро-маркер
Macro marker
Указатель поля
field designator
Знак символа "СТАРТ"
START character (Start pattern)
Знак символа "СТОП"
STOP character (Stop pattern)
Таблица ДА.2
Соответствие международных и русских наименований знаков
Обозначение знака
Наименование знака
Русское
Международное
al
Знак фиксации подрежима прописных букв
Latch to uppercase alphabetic sub-mode
Ll
Знак фиксации подрежима строчных букв
Latch to lowercase alphabetic sub-mode
ml
Знак фиксации подрежима смешанных знаков
Latch to mixed sub-mode
pl
Знак фиксации подрежима знаков пунктуации
Latch to punctuation sub-mode
as
Знак регистра подрежима прописных букв
Shift to uppercase alphabetic sub-mode
ps
Знак регистра подрежима знаков пунктуации
Shift to punctuation sub-mode
Таблица ДА.3
Соответствие международных и русских наименований
и обозначений режимов и подрежимов и блоков PDF417
Наименование режима (подрежима)
Русское
Международное
Режим уплотнения
Compaction mode
Режим текстового уплотнения
Text Compaction mode
Режим байтового уплотнения
Byte Compaction mode
Режим цифрового уплотнения
Numeric Compaction mode
Подрежим прописных букв
Alpha sub-mode
Подрежим строчных букв
Lower sub-mode
Подрежим смешанных знаков
Mixed sub-mode
Подрежим знаков пунктуации
Punctuation sub-mode
Буферизированный режим
Buffered mode
Небуферизированный режим
Unbuffered mode
Режим базового канала
Basic Channel
Режим расширенного канала
Extended Channel mode
Таблица ДА.4
Соответствие международных и русских наименований
свойств PDF417
Наименование свойства PDF417
Русское
Международное
Уплотнение данных
Data compaction
Интерпретация в расширенном канале
Extended Channel Interpretation
Макро PDF417
Macro PDF417
Декодируемость от края до края
Edge to edge decodable
Перекрестное сканирование строк
Cross row scanning
Коррекция ошибок
Error correction
Компакт PDF 417
Compact PDF417
Идентификатор глобальной метки
Global Label Identifier
Управляющий блок Макро PDF417
Macro PDF417 Control Block
Модель базового канала
Basic Channel Model
Модель расширенного канала
Extended Channel Model
Кластер
Cluster
Коэффициент сжатия символа
Symbol aspect ratio
Идентификатор символики
Symbology identifier
Коэффициент сжатия модуля
Aspect ratio of the module
Глобальный порог
Global threshold
Управляющий заголовок Макро PDF417
Macro PDF417 Control Header
Таблица ДА.5
Соответствие международных и русских наименований
полей PDF417 и их атрибутов
Наименование полей PDF417
Русское
Международное
Индекс сегмента
Segment index
Идентификация файла
File ID
Имя файла
File Name
Число сегментов
Segment Count
Отметка времени
Time Stamp
Отправитель
Sender
Получатель
Addressee
Размер файла
File Size
Контрольная сумма
Checksum
Необязательное поле
Optional field
Последовательность-указатель
Tag sequence
Указатель поля
Field designator
Индекс Макро
Macro Index
Окончания файла Макро
Macro end-of-file
Таблица ДА.6
Соответствие международных и русских наименований
и обозначений управляющих знаков
Обозначение знака
Наименование знака
Международное
Русское
Международное
Русское
NUL
ПУС
NULL
ПУСТО
SOH
НЗ
START OF HEADING
НАЧАЛО ЗАГОЛОВКА
STX
НТ
START OF TEXT
НАЧАЛО ТЕКСТА
ETX
КТ
END OF TEXT
КОНЕЦ ТЕКСТА
EOT
КП
END OF TRANSMISSION
КОНЕЦ ПЕРЕДАЧИ
ENQ
КТМ
ENQUIRY
КТО ТАМ?
ACK
ДА
ACKNOWLEDGE
ПОДТВЕРЖДЕНИЕ
BEL
ЗВ
BELL
ЗВОНОК
BS
ВШ
BACKSPACE
ВОЗВРАТ НА ШАГ
HT
ГТ
HORIZONTAL TABULATION
ГОРИЗОНТАЛЬНАЯ ТАБУЛЯЦИЯ
LF
ПС
LINE FEED
ПЕРЕВОД СТРОКИ
VT
ВТ
VERTICAL TABULATION
ВЕРТИКАЛЬНАЯ ТАБУЛЯЦИЯ
FF
ПФ
FORM FEED
ПЕРЕВОД ФОРМАТА
CR
ВК
CARRIAGE RETURN
ВОЗВРАТ КАРЕТКИ
SO
ВЫХ
SHIFT-OUT
ВЫХОД
SI
ВХ
SHIFT-IN
ВХОД
DLE
АР1
DATA LINK ESCAPE
АВТОРЕГИСТР ОДИН
DC1
СУ1
DEVICE CONTROL ONE
СИМВОЛ УСТРОЙСТВА ОДИН
DC2
СУ2
DEVICE CONTROL TWO
СИМВОЛ УСТРОЙСТВА ДВА
DC3
СУ3
DEVICE CONTROL THREE
СИМВОЛ УСТРОЙСТВА ТРИ
DC4
СУ4
DEVICE CONTROL FOUR
СИМВОЛ УСТРОЙСТВА ЧЕТЫРЕ
NAK
НЕТ
NEGATIVE ACKNOWLEDGE
ОТРИЦАНИЕ
SYN
СИН
SYNCHRONOUS IDLE
СИНХРОНИЗАЦИЯ
ETB
КБ
END OF TRANSMISSION BLOCK
КОНЕЦ БЛОКА
CAN
АН
CANCEL
АННУЛИРОВАНИЕ
EM
КН
END OF MEDIUM
КОНЕЦ НОСИТЕЛЯ
SUB
ЗМ
SUBSTITUTE CHARACTER
ЗАМЕНА СИМВОЛА
ESC
АР2
ESCAPE
АВТОРЕГИСТР ДВА
FS
РФ
FILE SEPARATOR
РАЗДЕЛИТЕЛЬ ФАЙЛОВ
GS
РГ
GROUP SEPARATOR
РАЗДЕЛИТЕЛЬ ГРУПП
RS
РЗ
RECORD SEPARATOR
РАЗДЕЛИТЕЛЬ ЗАПИСЕЙ
US
РЭ
UNIT SEPARATOR
РАЗДЕЛИТЕЛЬ ЭЛЕМЕНТОВ
DEL
ЗБ
DELETE
ЗАБОЙ
NBSP
НПР
NO-BREAK SPACE
НЕПРЕРЫВАЮЩИЙ ПРОБЕЛ
Примечания
1 Русские наименования и обозначения знаков по ГОСТ 27465-87, кроме знака NBSP.
2 Русские наименования и обозначения знака NBSP по ГОСТ 34.302.2-91.
Приложение ДБ
(справочное)
НАБОР ЗНАКОВ ASCII (ВЕРСИЯ КОИ-7) ПО ISO/IEC 646,
ГРАФИЧЕСКИЕ ЗНАКИ РАСШИРЕННОГО НАБОРА ЗНАКОВ ASCII
(ВЕРСИЯ КОИ-8) ПО ISO/IEC 8859-1 И НАБОР 8-БИТОВЫХ
ГРАФИЧЕСКИХ ЗНАКОВ (ВЕРСИЯ КОИ-8) ПО ISO/IEC 8859-5
ДБ.1 Набор 7-битовых знаков ASCII (версия КОИ-7) по ISO/IEC 646
В таблице ДБ.1 приведен набор 7-битовых знаков ASCII (версия КОИ-7) по ISO/IEC 646 и соответствие международных и русских наименований и обозначений знаков.
Таблица ДБ.1
Набор 7-битовых знаков ASCII (версия КОИ-7) по ISO/IEC 646
Десятичное значение
Шестнадцатеричное значение
Обозначения знака
Наименование знака
Международное
Русское
Международное
Русское
00
00
NUL
ПУС
NULL
ПУСТО
01
01
SOH
НЗ
START OF HEADING
НАЧАЛО ЗАГОЛОВКА
02
02
STX
НТ
START OF TEXT
НАЧАЛО ТЕКСТА
03
03
ETX
КТ
END OF TEXT
КОНЕЦ ТЕКСТА
04
04
EOT
КП
END OF TRANSMISSION
КОНЕЦ ПЕРЕДАЧИ
05
05
ENQ
КТМ
ENQUIRY
КТО ТАМ?
06
06
ACK
ДА
ACKNOWLEDGE
ПОДТВЕРЖДЕНИЕ
07
07
BEL
ЗВ
BELL
ЗВОНОК
08
08
BS
ВШ
BACKSPACE
ВОЗВРАТ НА ШАГ
09
09
HT
ГТ
HORIZONTAL TABULATION
ГОРИЗОНТАЛЬНАЯ ТАБУЛЯЦИЯ
10
0A
LF
ПС
LINE FEED
ПЕРЕВОД СТРОКИ
11
0B
VT
ВТ
VERTICAL TABULATION
ВЕРТИКАЛЬНАЯ ТАБУЛЯЦИЯ
12
0C
FF
ПФ
FORM FEED
ПЕРЕВОД ФОРМАТА
13
0D
CR
ВК
CARRIAGE RETURN
ВОЗВРАТ КАРЕТКИ
14
0E
SO
ВЫХ
SHIFT-OUT
ВЫХОД
15
0F
SI
ВХ
SHIFT-IN
ВХОД
16
10
DLE
АР1
DATA LINK ESCAPE
АВТОРЕГИСТР ОДИН
17
11
DC1
СУ1
DEVICE CONTROL ONE
СИМВОЛ УСТРОЙСТВА ОДИН
18
12
DC2
СУ2
DEVICE CONTROL TWO
СИМВОЛ УСТРОЙСТВА ДВА
19
13
DC3
СУ3
DEVICE CONTROL THREE
СИМВОЛ УСТРОЙСТВА ТРИ
20
14
DC4
СУ4
DEVICE CONTROL FOUR
СИМВОЛ УСТРОЙСТВА ЧЕТЫРЕ
21
15
NAK
НЕТ
NEGATIVE ACKNOWLEDGE
ОТРИЦАНИЕ
22
16
SYN
СИН
SYNCHRONOUS IDLE
СИНХРОНИЗАЦИЯ
23
17
ETB
КБ
END OF TRANSMISSION BLOCK
КОНЕЦ БЛОКА
24
18
CAN
АН
CANCEL
АННУЛИРОВАНИЕ
25
19
EM
КН
END OF MEDIUM
КОНЕЦ НОСИТЕЛЯ
26
1A
SUB
ЗМ
SUBSTITUTE CHARACTER
ЗАМЕНА СИМВОЛА
27
1B
ESC
АР2
ESCAPE
АВТОРЕГИСТР ДВА
28
1C
FS
РФ
FILE SEPARATOR
РАЗДЕЛИТЕЛЬ ФАЙЛОВ
29
1D
GS
РГ
GROUP SEPARATOR
РАЗДЕЛИТЕЛЬ ГРУПП
30
1E
RS
РЗ
RECORD SEPARATOR
РАЗДЕЛИТЕЛЬ ЗАПИСЕЙ
31
1F
US
РЭ
UNIT SEPARATOR
РАЗДЕЛИТЕЛЬ ЭЛЕМЕНТОВ
32
20
SP
SPACE
ПРОБЕЛ
33
21
!
!
EXCLAMATION MARK
ВОСКЛИЦАТЕЛЬНЫЙ ЗНАК
34
22
QUOTATION MARK
КАВЫЧКИ
35
23
#
#
NUMBER SIGN
НОМЕР
36 <1>
24
CURRENCY SIGH
ЗНАК ДЕНЕЖНОЙ ЕДИНИЦЫ
37
25
%
%
PERCENT SIGH
ПРОЦЕНТЫ
38
26
&
&
AMPERSAND
КОММЕРЧЕСКОЕ И (АМПЕРСАНД)
39
27
'
'
APOSTROPHE
АПОСТРОФ
40
28
(
(
LEFT PARENTHESIS
КРУГЛАЯ СКОБКА ЛЕВАЯ
41
29
)
)
RIGHT PARENTHESIS
КРУГЛАЯ СКОБКА ПРАВАЯ
42
2A
*
*
ASTERISK
ЗВЕЗДОЧКА
43
2B
+
+
PLUS SIGH
ПЛЮС
44
2C
,
,
COMMA
ЗАПЯТАЯ
45
2D
-
-
HYPHEN-MINUS
ДЕФИС, МИНУС
46
2E
.
.
FULL STOP
ТОЧКА
47
2F
/
/
SOLIDUS
ДРОБНАЯ ЧЕРТА
48
30
0
0
DIGIT ZERO
ЦИФРА НОЛЬ
49
31
1
1
DIGIT ONE
ЦИФРА ОДИН
50
32
2
2
DIGIT TWO
ЦИФРА ДВА
51
33
3
3
DIGIT THREE
ЦИФРА ТРИ
52
34
4
4
DIGIT FOUR
ЦИФРА ЧЕТЫРЕ
53
35
5
5
DIGIT FIVE
ЦИФРА ПЯТЬ
54
36
6
6
DIGIT SIX
ЦИФРА ШЕСТЬ
55
37
7
7
DIGIT SEVEN
ЦИФРА СЕМЬ
56
38
8
8
DIGIT EIGHT
ЦИФРА ВОСЕМЬ
57
39
9
9
DIGIT NINE
ЦИФРА ДЕВЯТЬ
58
3A
:
:
COLON
ДВОЕТОЧИЕ
59
3B
;
;
SEMICOLON
ТОЧКА С ЗАПЯТОЙ
60
3C
<
<
LESS THAN SIGN
МЕНЬШЕ
61
3D
=
=
EQUALS SIGN
РАВНО
62
3E
>
>
GREATER THAN SIGN
БОЛЬШЕ
63
3F
?
?
QUESTION MARK
ВОПРОСИТЕЛЬНЫЙ ЗНАК
64
40
@
@
COMMERCIAL AT
КОММЕРЧЕСКОЕ ЭТ
65
41
A
A
LATIN CAPITAL LETTER A
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА A
66
42
B
B
LATIN CAPITAL LETTER B
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА B
67
43
C
C
LATIN CAPITAL LETTER C
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА C
68
44
D
D
LATIN CAPITAL LETTER D
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА D
69
45
E
E
LATIN CAPITAL LETTER E
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА E
70
46
F
F
LATIN CAPITAL LETTER F
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА F
71
47
G
G
LATIN CAPITAL LETTER G
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА G
72
48
H
H
LATIN CAPITAL LETTER H
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА H
73
49
I
I
LATIN CAPITAL LETTER I
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА I
74
4A
J
J
LATIN CAPITAL LETTER J
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА J
75
4B
K
K
LATIN CAPITAL LETTER K
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА K
76
4C
L
L
LATIN CAPITAL LETTER L
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА L
77
4D
M
M
LATIN CAPITAL LETTER M
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА M
78
4E
N
N
LATIN CAPITAL LETTER N
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА N
79
4F
O
O
LATIN CAPITAL LETTER O
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА O
80
50
P
P
LATIN CAPITAL LETTER P
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА P
81
51
Q
Q
LATIN CAPITAL LETTER Q
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА Q
82
52
R
R
LATIN CAPITAL LETTER R
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА R
83
53
S
S
LATIN CAPITAL LETTER S
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА S
84
54
T
T
LATIN CAPITAL LETTER T
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА T
85
55
U
U
LATIN CAPITAL LETTER U
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА U
86
56
V
V
LATIN CAPITAL LETTER V
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА V
87
57
W
W
LATIN CAPITAL LETTER W
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА W
88
58
X
X
LATIN CAPITAL LETTER X
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА X
89
59
Y
Y
LATIN CAPITAL LETTER Y
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА Y
90
5A
Z
Z
LATIN CAPITAL LETTER Z
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА Z
91
5B
[
[
LEFT SQUARE BRACKET
КВАДРАТНАЯ СКОБКА ЛЕВАЯ
92
5C
\
\
REVERSE SOLIDUS
ОБРАТНАЯ ДРОБНАЯ ЧЕРТА
93
5D
]
]
RIGHT SQUARE BRACKET
КВАДРАТНАЯ СКОБКА ПРАВАЯ
94
5E
^
^
CIRCUMFLEX ACCENT
ЦИРКЮМФЛЕКС УДАРЕНИЕ
95
5F
_
_
LOW LINE
ПОДЧЕРКИВАНИЕ
96
60
'
'
GRAVE ACCENT
СЛАБОЕ УДАРЕНИЕ
97
61
a
a
LATIN SMALL LETTER A
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА a
98
62
b
b
LATIN SMALL LETTER B
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА b
99
63
c
c
LATIN SMALL LETTER C
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА c
100
64
d
d
LATIN SMALL LETTER D
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА d
101
65
e
e
LATIN SMALL LETTER E
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА e
102
66
f
f
LATIN SMALL LETTER F
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА f
103
67
g
g
LATIN SMALL LETTER G
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА g
104
68
h
h
LATIN SMALL LETTER H
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА h
105
69
i
i
LATIN SMALL LETTER I
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА i
106
6A
j
j
LATIN SMALL LETTER J
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА j
107
6B
k
k
LATIN SMALL LETTER K
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА k
108
6C
l
l
LATIN SMALL LETTER L
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА l
109
6D
m
m
LATIN SMALL LETTER M
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА m
110
6E
n
n
LATIN SMALL LETTER N
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА n
111
6F
o
o
LATIN SMALL LETTER O
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА o
112
70
p
p
LATIN SMALL LETTER P
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА p
113
71
q
q
LATIN SMALL LETTER Q
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА q
114
72
r
r
LATIN SMALL LETTER R
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА r
115
73
s
s
LATIN SMALL LETTER S
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА s
116
74
t
t
LATIN SMALL LETTER T
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА t
117
75
u
u
LATIN SMALL LETTER U
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА u
118
76
v
v
LATIN SMALL LETTER V
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА v
119
77
w
w
LATIN SMALL LETTER W
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА w
120
78
x
x
LATIN SMALL LETTER X
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА x
121
79
y
y
LATIN SMALL LETTER Y
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА y
122
7A
z
z
LATIN SMALL LETTER Z
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА z
123
7B
{
{
LEFT CURLY BRACKET
ФИГУРНАЯ СКОБКА ЛЕВАЯ
124
7C
|
|
VERTICAL LINE
ВЕРТИКАЛЬНАЯ ЧЕРТА
125
7D
}
}
RIGHT CURLY BRACKET
ФИГУРНАЯ СКОБКА ПРАВАЯ
126
7E
~
~
TILDE
ТИЛЬДА
127
7F
DEL
DEL
DELETE
ЗАБОЙ
--------------------------------
<1> В международной ссылочной версии (IRV, International Reference Version) ISO/IEC 646 знаку с десятичным значением 36 соответствует знак $ - DOLLAR SIGH (ДЕНЕЖНЫЙ ЗНАК ДОЛЛАРА).
Примечание - Набор 7-битовых знаков ASCII (версия КОИ-7) состоит из набора знаков G0 по ISO/IEC 646 и C0 по ISO/IEC 6429, в котором знаки с десятичными значениями от 28 до 31 соответствуют знакам FS, GS, RS и US национальной версии США <1> соответственно.
--------------------------------
<1> Набор знаков по ANSI INCITS 4-1986 (R2007) Information Systems - Coded Character Sets - 7-Bit American National Standard Code for Information Interchange (7-Bit ASCII) (Информационные системы - Кодированные наборы знаков - 7-битовый американский национальный стандартный код для обмена информацией (7-битовый ASCII).
ДБ.2 Графические знаки расширенного набора знаков ASCII (версия КОИ-8) по ISO/IEC 8859-1
В таблице ДБ.2 приведены графические знаки расширенного набора 8-битовых знаков ASCII (версия КОИ-8) по ISO/IEC 8859-1:1998 (латинский алфавит N 1) и соответствие международных и русских наименований и обозначений знаков. В связи с тем, что знаки указанного набора с десятичными значениями с 0 по 127 полностью совпадают с набором знаков ASCII (КОИ-7), в таблице ДБ.2 приведены 8-битовые графические знаки с десятичными значениями от 160 по 255 и их шестнадцатеричные значения.
Таблица ДБ.2
Графические знаки расширенного набора 8-битовых знаков ASCII
(версия КОИ-8) по ISO/IEC 8859-1
Десятичное значение
Шестнадцатеричное значение
Международное (русское) обозначение знака
Наименование знака
Международное
Русское
160
A0
NBSP (НПР)
NO-BREAK SPACE
НЕПРЕРЫВАЮЩИЙ ПРОБЕЛ
161
A1
INVERTED EXCLAMATION MARK
ПЕРЕВЕРНУТЫЙ ВОСКЛИЦАТЕЛЬНЫЙ ЗНАК
162
A2
CENT SIGN
ДЕНЕЖНЫЙ ЗНАК ЦЕНТА
163
A3
POUND SIGN
ДЕНЕЖНЫЙ ЗНАК ФУНТА
164
A4
CURRENCY SIGN
ЗНАК ДЕНЕЖНОЙ ЕДИНИЦЫ
165
A5
YEN SIGN
ДЕНЕЖНЫЙ ЗНАК ЙЕНЫ
166
A6
BROKEN BAR
ВЕРТИКАЛЬНАЯ ЧЕРТА С РАЗРЫВОМ
167
A7
SECTION SIGN
ПАРАГРАФ
168
A8
DIAERESIS
ДИЕРЕЗ
169
A9
COPYRIGHT SIGN
ЗНАК АВТОРСКОГО ПРАВА
170
AA
FEMININE ORDINAL INDICATOR
ЖЕНСКИЙ ПОРЯДКОВЫЙ ИНДИКАТОР
171
AB
LEFT POINTING DOUBLE ANGLE QUOTATION MARK
ЗНАК ЛЕВОНАПРАВЛЕННОЙ ДВОЙНОЙ УГЛОВОЙ КАВЫЧКИ
172
AC
NOT SIGN
ЗНАК НЕТ
173
AD
SOFT HYPHEN
ГИБКИЙ ДЕФИС
174
AE
REGISTERED SIGN
ЗНАК РЕГИСТРАЦИИ
175
AF
MACRON
ЧЕРТА СВЕРХУ
176
B0
°
DEGREE SIGN
ЗНАК ГРАДУСА
177
B1
PLUS-MINUS SIGN
ЗНАК ПЛЮС-МИНУС
178
B2
2
SUPERSCRIPT TWO
ВЕРХНИЙ ИНДЕКС ДВА
179
B3
3
SUPERSCRIPT THREE
ВЕРХНИЙ ИНДЕКС ТРИ
180
B4
ACUTE ACCENT
СИЛЬНОЕ УДАРЕНИЕ
181
B5
MICRO SIGN
ЗНАК МИКРО
182
B6
PILCROW SIGN
ЗНАК ПИ
183
B7
·
MIDDLE DOT
СРЕДНЯЯ ТОЧКА
184
B8
CEDILLA
СЕДИЛЬ
185
B9
1
SUPERSCRIPT ONE
ВЕРХНИЙ ИНДЕКС ОДИН
186
BA
MASCULINE ORDINAL INDICATOR
МУЖСКОЙ ПОРЯДКОВЫЙ ИНДИКАТОР
187
BB
RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
ЗНАК ПРАВОНАПРАВЛЕННОЙ ДВОЙНОЙ УГЛОВОЙ КАВЫЧКИ
188
BC
VULGAR FRACTION ONE QUARTER
ПРОСТАЯ ДРОБЬ ОДНА ЧЕТВЕРТАЯ
189
BD
VULGAR FRACTION ONE HALF
ПРОСТАЯ ДРОБЬ ОДНА ВТОРАЯ
190
BE
VULGAR FRACTION THREE QUARTERS
ПРОСТАЯ ДРОБЬ ТРИ ЧЕТВЕРТЫХ
191
BF
INVERTED QUESTION MARK
ПЕРЕВЕРНУТЫЙ ВОПРОСИТЕЛЬНЫЙ ЗНАК
192
C0
LATIN CAPITAL LETTER A WITH GRAVE
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА A СО СЛАБЫМ УДАРЕНИЕМ
193
C1
LATIN CAPITAL LETTER A WITH ACUTE
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА A С СИЛЬНЫМ УДАРЕНИЕМ
194
C2
LATIN CAPITAL LETTER A WITH CIRCUMFLEX
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА A С ЦИРКУМФЛЕКСОМ
ИС МЕГАНОРМ: примечание.
Значение в первом столбце дано в соответствии с официальным текстом документа.
194
C3
LATIN CAPITAL LETTER A WITH TILDE
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА A С ТИЛЬДОЙ
196
C4
LATIN CAPITAL LETTER A WITH DIAERESIS
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА A С ДИЕРЕЗОМ
197
C5
LATIN CAPITAL LETTER A WITH RING ABOVE
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА A С КРУЖКОМ СВЕРХУ
198
C6
LATIN CAPITAL LETTER 
ПРОПИСНАЯ ЛАТИНСКАЯ ЛИГАТУРА 
199
C7
LATIN CAPITAL LETTER C WITH CEDILLA
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА C С СЕДИЛЕМ
200
C8
LATIN CAPITAL LETTER E WITH GRAVE
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА E СО СЛАБЫМ УДАРЕНИЕМ
201
C9
LATIN CAPITAL LETTER E WITH ACUTE
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА E С СИЛЬНЫМ УДАРЕНИЕМ
202
CA
LATIN CAPITAL LETTER E WITH CIRCUMFLEX
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА E С ЦИРКУМФЛЕКСОМ
203
CB
LATIN CAPITAL LETTER E WITH DIAERESIS
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА E С ДИЕРЕЗОМ
204
CC
LATIN CAPITAL LETTER I WITH GRAVE
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА I СО СЛАБЫМ УДАРЕНИЕМ
205
CD
LATIN CAPITAL LETTER I WITH ACUTE
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА I С СИЛЬНЫМ УДАРЕНИЕМ
206
CE
LATIN CAPITAL LETTER I WITH CIRCUMFLEX
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА I С ЦИРКУМФЛЕКСОМ
207
CF
LATIN CAPITAL LETTER I WITH DIAERESIS
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА I С ДИЕРЕЗОМ
208
D0
LATIN CAPITAL LETTER ETH
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА D СО ШТРИХОМ
209
D1
LATIN CAPITAL LETTER N WITH TILDE
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА N С ТИЛЬДОЙ
210
D2
LATIN CAPITAL LETTER O WITH GRAVE
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА O СО СЛАБЫМ УДАРЕНИЕМ
211
D3
LATIN CAPITAL LETTER O WITH ACUTE
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА O С СИЛЬНЫМ УДАРЕНИЕМ
212
D4
LATIN CAPITAL LETTER O WITH CIRCUMFLEX
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА O С ЦИРКУМФЛЕКСОМ
213
D5
LATIN CAPITAL LETTER O WITH TILDE
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА O С ТИЛЬДОЙ
214
D6
LATIN CAPITAL LETTER O WITH DIAERESIS
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА O С ДИЕРЕЗОМ
215
D7
MULTIPLICATION SIGN
ЗНАК УМНОЖЕНИЯ
216
D8
LATIN CAPITAL LETTER O WITH STROKE
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА O СО ШТРИХОМ
217
D9
LATIN CAPITAL LETTER U WITH GRAVE
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА U СО СЛАБЫМ УДАРЕНИЕМ
218
DA
LATIN CAPITAL LETTER U WITH ACUTE
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА U С СИЛЬНЫМ УДАРЕНИЕМ
219
DB
LATIN CAPITAL LETTER U WITH CIRCUMFLEX
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА U С ЦИРКУМФЛЕКСОМ
220
DC
LATIN CAPITAL LETTER U WITH DIAERESIS
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА U С ДИЕРЕЗОМ
221
DD
LATIN CAPITAL LETTER Y WITH ACUTE
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА Y С СИЛЬНЫМ УДАРЕНИЕМ
222
DE
LATIN CAPITAL LETTER THORN
ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА (ФОРН)
223
DF
LATIN SMALL LETTER SHARP S
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА (СДВОЕННАЯ s)
224
E0
LATIN SMALL LETTER A WITH GRAVE
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА a СО СЛАБЫМ УДАРЕНИЕМ
225
E1
LATIN SMALL LETTER A WITH ACUTE
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА a С СИЛЬНЫМ УДАРЕНИЕМ
226
E2
LATIN SMALL LETTER A WITH CIRCUMFLEX
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА a С ЦИРКУМФЛЕКСОМ
227
E3
LATIN SMALL LETTER A WITH TILDE
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА a С ТИЛЬДОЙ
228
E4
LATIN SMALL LETTER A WITH DIAERESIS
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА a С ДИЕРЕЗОМ
229
E5
LATIN SMALL LETTER A WITH RING ABOVE
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА a С КРУЖКОМ СВЕРХУ
230
E6
LATIN SMALL LETTER AE
СТРОЧНАЯ ЛАТИНСКАЯ ЛИГАТУРА 
231
E7
LATIN SMALL LETTER C WITH CEDILLA
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА c С СЕДИЛЕМ
232
E8
LATIN SMALL LETTER E WITH GRAVE
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА e СО СЛАБЫМ УДАРЕНИЕМ
233
E9
LATIN SMALL LETTER E WITH ACUTE
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА e С СИЛЬНЫМ УДАРЕНИЕМ
234
EA
LATIN SMALL LETTER E WITH CIRCUMFLEX
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА e С ЦИРКУМФЛЕКСОМ
235
EB
LATIN SMALL LETTER E WITH DIAERESIS
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА e С ДИЕРЕЗОМ
236
EC
LATIN SMALL LETTER I WITH GRAVE
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА i СО СЛАБЫМ УДАРЕНИЕМ
237
ED
LATIN SMALL LETTER I WITH ACUTE
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА i С СИЛЬНЫМ УДАРЕНИЕМ
238
EE
LATIN SMALL LETTER I WITH CIRCUMFLEX
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА i С ЦИРКУМФЛЕКСОМ
239
EF
LATIN SMALL LETTER I WITH DIAERESIS
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА i С ДИЕРЕЗОМ
240
F0
LATIN SMALL LETTER ETH
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА 
241
F1
LATIN SMALL LETTER N WITH TILDE
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА n С ТИЛЬДОЙ
242
F2
LATIN SMALL LETTER O WITH GRAVE
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА o СО СЛАБЫМ УДАРЕНИЕМ
243
F3
LATIN SMALL LETTER O WITH ACUTE
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА o С СИЛЬНЫМ УДАРЕНИЕМ
244
F4
LATIN SMALL LETTER O WITH CIRCUMFLEX
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА o С ЦИРКУМФЛЕКСОМ
245
F5
LATIN SMALL LETTER O WITH TILDE
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА o С ТИЛЬДОЙ
246
F6
LATIN SMALL LETTER O WITH DIAERESIS
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА o С ДИЕРЕЗОМ
247
F7
DIVISION SIGN
ЗНАК ДЕЛЕНИЯ
248
F8
LATIN SMALL LETTER O WITH STROKE
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА o СО ШТРИХОМ
249
F9
LATIN SMALL LETTER U WITH GRAVE
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА u СО СЛАБЫМ УДАРЕНИЕМ
250
FA
LATIN SMALL LETTER U WITH ACUTE
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА u С СИЛЬНЫМ УДАРЕНИЕМ
251
FB
LATIN SMALL LETTER U WITH CIRCUMFLEX
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА u С ЦИРКУМФЛЕКСОМ
252
FC
LATIN SMALL LETTER U WITH DIAERESIS
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА u С ДИЕРЕЗОМ
253
FD
LATIN SMALL LETTER Y WITH ACUTE
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА y С СИЛЬНЫМ УДАРЕНИЕМ
254
FE
LATIN SMALL LETTER THORN
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА (ФОРН)
255
FF
LATIN SMALL LETTER Y WITH DIAERESIS
СТРОЧНАЯ ЛАТИНСКАЯ БУКВА y С ДИЕРЕЗОМ
ДБ.3 Набор 8-битовых графических знаков (версия КОИ-8) по ISO/IEC 8859-5
В таблице ДБ.3 приведен набор 8-битовых графических знаков (версия КОИ-8) по ISO/IEC 8859-5:1999 (латинский/кирилловский алфавит) и соответствие международных и русских наименований и обозначений знаков. В связи с тем, что знаки указанного набора с десятичными значениями с 0 по 127 полностью совпадают с набором 7-битовых знаков по ISO/IEC 646, в таблице ДБ.3 приведены 8-битовые графические знаки с десятичными значениями от 160 по 255.
Таблица ДБ.3
Набор 8-битовых графических знаков (версия КОИ-8)
по ISO/IEC 8859-5
Десятичное значение
Шестнадцатеричное значение
Международное (русское) обозначение знака
Наименование знака
Международное
Русское
160
A0
NBSP (НПР)
NO-BREAK SPACE
НЕРАЗРЫВАЮЩИЙ ПРОБЕЛ
161
A1
Ё
CYRILLIC CAPITAL LETTER IO
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Ё
162
A2
CYRILLIC CAPITAL LETTER DJE
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА 
163
A3
CYRILLIC CAPITAL LETTER GJE
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА 
164
A4
CYRILLIC CAPITAL LETTER UKRAINIAN IE
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА (УКРАИНСКИЙ ЯЗЫК)
165
A5
S
CYRILLIC CAPITAL LETTER DZE
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА S
166
A6
I
CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА I (БЕЛОРУССКИЙ И УКРАИНСКИЙ ЯЗЫКИ)
167
A7
CYRILLIC CAPITAL LETTER YI
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА 
168
A8
J
CYRILLIC CAPITAL LETTER JE
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА J
169
A9
CYRILLIC CAPITAL LETTER LJE
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА 
170
AA
CYRILLIC CAPITAL LETTER NJE
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА 
171
AB
CYRILLIC CAPITAL LETTER TSHE
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА 
172
AC
CYRILLIC CAPITAL LETTER KJE
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА 
173
AD
SHY (ГД)
SOFT HYPHEN
ГИБКИЙ ДЕФИС
174
AE
CYRILLIC CAPITAL LETTER SHORT U
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА 
175
AF
CYRILLIC CAPITAL LETTER DZHE
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА 
176
B0
А
CYRILLIC CAPITAL LETTER A
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА А
177
B1
Б
CYRILLIC CAPITAL LETTER BE
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Б
178
B2
В
CYRILLIC CAPITAL LETTER VE
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА В
179
B3
Г
CYRILLIC CAPITAL LETTER GHE
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Г
180
B4
Д
CYRILLIC CAPITAL LETTER DE
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Д
181
B5
Е
CYRILLIC CAPITAL LETTER IE
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Е
182
B6
Ж
CYRILLIC CAPITAL LETTER ZHE
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Ж
183
B7
З
CYRILLIC CAPITAL LETTER ZE
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА З
184
B8
И
CYRILLIC CAPITAL LETTER I
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА И
185
B9
Й
CYRILLIC CAPITAL LETTER SHORT I
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Й
186
BA
К
CYRILLIC CAPITAL LETTER KA
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА К
187
BB
Л
CYRILLIC CAPITAL LETTER EL
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Л
188
BC
М
CYRILLIC CAPITAL LETTER EM
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА М
189
BD
Н
CYRILLIC CAPITAL LETTER EN
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Н
190
BE
О
CYRILLIC CAPITAL LETTER O
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА О
191
BF
П
CYRILLIC CAPITAL LETTER PE
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА П
192
C0
Р
CYRILLIC CAPITAL LETTER ER
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Р
193
C1
С
CYRILLIC CAPITAL LETTER ES
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА С
194
C2
Т
CYRILLIC CAPITAL LETTER TE
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Т
ИС МЕГАНОРМ: примечание.
Значение в первом столбце дано в соответствии с официальным текстом документа.
194
C3
У
CYRILLIC CAPITAL LETTER U
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА У
196
C4
Ф
CYRILLIC CAPITAL LETTER EF
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Ф
197
C5
Х
CYRILLIC CAPITAL LETTER HA
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Х
198
C6
Ц
CYRILLIC CAPITAL LETTER TSE
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Ц
199
C7
Ч
CYRILLIC CAPITAL LETTER CHE
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Ч
200
C8
Ш
CYRILLIC CAPITAL LETTER SHA
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Ш
201
C9
Щ
CYRILLIC CAPITAL LETTER SHCHA
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Щ
202
CA
Ъ
CYRILLIC CAPITAL LETTER HARD SIGN
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Ъ
203
CB
Ы
CYRILLIC CAPITAL LETTER YERU
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Ы
204
CC
Ь
CYRILLIC CAPITAL LETTER SOFT SIGN
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Ь
205
CD
Э
CYRILLIC CAPITAL LETTER E
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Э
206
CE
Ю
CYRILLIC CAPITAL LETTER YU
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Ю
207
CF
Я
CYRILLIC CAPITAL LETTER YA
ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Я
208
D0
а
CYRILLIC SMALL LETTER A
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА а
209
D1
б
CYRILLIC SMALL LETTER BE
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА б
210
D2
в
CYRILLIC SMALL LETTER VE
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА в
211
D3
г
CYRILLIC SMALL LETTER GHE
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА г
212
D4
д
CYRILLIC SMALL LETTER DE
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА д
213
D5
е
CYRILLIC SMALL LETTER IE
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА е
214
D6
ж
CYRILLIC SMALL LETTER ZHE
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ж
215
D7
з
CYRILLIC SMALL LETTER ZE
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА з
216
D8
и
CYRILLIC SMALL LETTER I
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА и
217
D9
й
CYRILLIC SMALL LETTER SHORT I
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА й
218
DA
к
CYRILLIC SMALL LETTER KA
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА к
219
DB
л
CYRILLIC SMALL LETTER EL
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА л
220
DC
м
CYRILLIC SMALL LETTER EM
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА м
221
DD
н
CYRILLIC SMALL LETTER EN
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА н
222
DE
о
CYRILLIC SMALL LETTER O
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА о
223
DF
п
CYRILLIC SMALL LETTER PE
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА п
224
E0
р
CYRILLIC SMALL LETTER ER
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА р
225
E1
с
CYRILLIC SMALL LETTER ES
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА с
226
E2
т
CYRILLIC SMALL LETTER TE
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА т
227
E3
у
CYRILLIC SMALL LETTER U
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА у
228
E4
ф
CYRILLIC SMALL LETTER EF
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ф
229
E5
х
CYRILLIC SMALL LETTER HA
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА х
230
E6
ц
CYRILLIC SMALL LETTER TSE
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ц
231
E7
ч
CYRILLIC SMALL LETTER CHE
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ч
232
E8
ш
CYRILLIC SMALL LETTER SHA
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ш
233
E9
щ
CYRILLIC SMALL LETTER SHCHA
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА щ
234
EA
ъ
CYRILLIC SMALL LETTER HARD SIGN
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ъ
235
EB
ы
CYRILLIC SMALL LETTER YERU
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ы
236
EC
ь
CYRILLIC SMALL LETTER SOFT SIGN
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ь
237
ED
э
CYRILLIC SMALL LETTER E
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА э
238
EE
ю
CYRILLIC SMALL LETTER YU
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ю
239
EF
я
CYRILLIC SMALL LETTER YA
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА я
240
F0
NUMERO SIGN
ЗНАК "НОМЕР"
241
F1
ё
CYRILLIC SMALL LETTER IO
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ё
242
F2
CYRILLIC SMALL LETTER DJE
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА 
243
F3
CYRILLIC SMALL LETTER GJE
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА 
244
F4
CYRILLIC SMALL LETTER UKRAINIAN IE
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА (УКРАИНСКИЙ ЯЗЫК)
245
F5
s
CYRILLIC SMALL LETTER DZE
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА s
246
F6
i
CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА i (БЕЛОРУССКИЙ И УКРАИНСКИЙ ЯЗЫКИ)
247
F7
CYRILLIC SMALL LETTER Yl
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА 
248
F8
j
CYRILLIC SMALL LETTER JE
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА j
249
F9
CYRILLIC SMALL LETTER LJE
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА 
250
FA
CYRILLIC SMALL LETTER NJE
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА 
251
FB
CYRILLIC SMALL LETTER TSHE
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА 
252
FC
CYRILLIC SMALL LETTER KJE
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА 
253
FD
SECTION SIGN
ПАРАГРАФ
254
FE
CYRILLIC SMALL LETTER SHORT U
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА 
255
FF
CYRILLIC SMALL LETTER DZHE
СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА 
Приложение ДВ
(справочное)
СВЕДЕНИЯ О СООТВЕТСТВИИ ССЫЛОЧНЫХ МЕЖДУНАРОДНЫХ СТАНДАРТОВ
МЕЖГОСУДАРСТВЕННЫМ СТАНДАРТАМ
Таблица ДВ.1
Обозначение ссылочного международного стандарта
Степень соответствия
Обозначение и наименование соответствующего межгосударственного стандарта
ISO/IEC 646
NEQ
ГОСТ 27463-87 "Системы обработки информации. 7-битные кодированные наборы символов"
ISO/IEC 15415
-
ISO/IEC 15424
IDT
ГОСТ ISO/IEC 15424-2018 "Информационные технологии. Технологии автоматической идентификации и сбора данных. Идентификаторы носителей данных (включая идентификаторы символики)"
ISO/IEC 19762-1
NEQ
ГОСТ 30721-2000/ГОСТ Р 51294.3-99 "Автоматическая идентификация. Кодирование штриховое. Термины и определения" <2>
ISO/IEC 19762-2
NEQ
ГОСТ 30721-2000/ГОСТ Р 51294.3-99 "Автоматическая идентификация. Кодирование штриховое. Термины и определения" <3>
ISO/IEC 24723
-
<*> Соответствующий межгосударственный стандарт отсутствует. До его утверждения рекомендуется использовать перевод на русский язык данного международного стандарта.
Примечание - В настоящей таблице использованы следующие условные обозначения степени соответствия стандартов:
- IDT - идентичный стандарт;
- NEQ - неэквивалентные стандарты.
--------------------------------
<1> В Российской Федерации действует ГОСТ Р ИСО/МЭК 15415-2012 "Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация испытаний символов штрихового кода для оценки качества печати. Двумерные символы".
ИС МЕГАНОРМ: примечание.
ГОСТ Р ИСО/МЭК 19762-1-2011, ГОСТ Р ИСО/МЭК 19762-2-2011 утратили силу с 01.10.2021 в связи с введением в действие ГОСТ 30721-2020 (Приказ Росстандарта от 22.09.2020 N 660-ст).
<2> В Российской Федерации действует ГОСТ Р ИСО/МЭК 19762-1-2011 "Информационные технологии. Технологии автоматической идентификации и сбора данных (АИСД). Гармонизированный словарь. Часть 1. Общие термины в области АИСД".
<3> В Российской Федерации действует ГОСТ Р ИСО/МЭК 19762-2-2011 "Информационные технологии. Технологии автоматической идентификации и сбора данных (АИСД). Гармонизированный словарь. Часть 2. Оптические носители данных (ОНД)".
Библиография
[1]
ISO/IEC 8859-1
Information technology - 8-bit single-byte coded graphic character sets - Part 1: Latin alphabet No. 1
[2]
Blahut, R.E. Theory and Practice of Error Control Codes, published by Addison Wesley, 1984, p. 260, etc.
[3]
AIM USA Uniform Symbology Specification PDF417, published by AIM USA, 1994
[4]
Europe Uniform Symbology Specification AIM PDF417, published by AIM Europe, 1994
[5]
ANSI X3.4, Coded Character Sets - 7-bit American National Standard Code for Information Interchange (7-bit ASCII) (equivalent to the US national version of ISO/IEC 646)
[6]
AIM Inc. International Technical Standard: ITS/04-001, Extended Channel Interpretations - Part 1: Identification Schemes and Protocols <1>
[7]
AIM Inc. ITS/04-001: International Technical Standard: Extended Channel Interpretations - Part 2: Registration Procedure for Coded Character Sets and Other Data Formats - Character Set Register
--------------------------------
<1> Опубликовано ассоциацией AIM Global, 125 Warrendale-Bayne Road, Suite 100, Warrendale, PA 15086, USA.