БИБЛИОТЕКА НОРМАТИВНЫХ ДОКУМЕНТОВ

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

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 внутри группы из пяти кодовых слов, он должен рассматривать символ как дефектный.

 

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

 

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

ГОСТ ISO/IEC 15438-2018. Межгосударственный стандарт. Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода PDF417 - допустимое расположение управляющей последовательности 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) должны быть полностью реализованы, и соответствующий идентификатор символики должен быть передан в качестве преамбулы.