ПРИЛОЖЕНИЕ Н
(обязательное)
Макро PDF417
H.1 Обзор Макро PDF417
Макро PDF417 (Macro PDF417) предусматривает стандартный механизм создания распределенного представления файлов, слишком больших для того, чтобы быть представленными в отдельном символе PDF417. Символы Макро PDF417 отличаются от обычных символов PDF417 тем, что они содержат дополнительную управляющую информацию в управляющем блоке Макро PDF417.
При использовании Макро PDF417 большие файлы данных разделяются на несколько сегментов файла и кодируются в отдельных символах. Управляющий блок определяет идентификацию файла, последовательность соединения, а также иную нестандартную информацию о файле. Декодер Макро PDF417 использует информацию управляющего блока для точного восстановления файла независимо от того, в каком порядке был отсканирован символ.
Н.2 Синтаксис Макро PDF417
Каждый символ Макро PDF417 должен кодировать управляющий блок Макро PDF417, в котором содержится управляющая информация. Управляющий блок начинается с кодового слова Макро маркера (Macro marker) (значение 928). Управляющий блок следует за блоком данных, с которым он связан; число кодовых слов в управляющем блоке Макро PDF417 учитывают как данные и включают в значение дескриптора длины символа. Окончание управляющего блока Макро PDF417 идентифицируется началом кодовых слов коррекции ошибок.
Примечание - Символ, не содержащий данных пользователя, отличных от управляющего блока Макро PDF417, является действительным символом.
Управляющий блок Макро PDF417 должен содержать не менее двух обязательных полей: индекса сегмента (segment index) и идентификации файла (file ID). Он также может содержать ряд необязательных полей (Н.2.3).
На рисунке H.1 показано расположение управляющего блока в символе Макро PDF417.
Рисунок Н.1 - Схемы символов PDF417
Н.2.1 Индекс сегмента
В Макро PDF417 каждый символ представляет сегмент целого файла. Для восстановления целого файла сегменты необходимо разместить в определенном порядке. Этот процесс облегчает управляющая информация, содержащаяся в управляющем блоке Макро PDF417. Для файла, разделенного на множество символов Макро PDF417, поле индекса сегмента (segment index) в каждом управляющем блоке Макро PDF417 символа содержит значения от 0 до , соответствующие относительной позиции содержимого этого символа внутри распределенного представления.
Поле индекса сегмента состоит из поля длиной в два кодовых слова и кодируется с помощью режима цифрового уплотнения в соответствии с 4.4.4. Значение индекса сегмента должно быть дополнено начальными нулями до пяти разрядов до применения режима цифрового уплотнения. Переключение в режим цифрового уплотнения не требует явной фиксации в режиме (кодового слова 902). Самое большое допустимое значение в поле индекса сегмента равно 99998. Таким образом распределенное представление файла данных может содержать до 99999 символов Макро PDF417.
Примечание - При переводе в объем информации 99999 символов составят примерно 110 млн байтов данных в режиме байтового уплотнения, или 184 млн знаков в режиме текстового уплотнения, или около 300 млн знаков в режиме цифрового уплотнения.
Н.2.2 Поле идентификации файла
Для каждого связанного символа Макро PDF417 поле идентификации файла (file ID) содержит одно и то же значение. Оно обеспечивает соответствие всех воссоединенных данных символов одному распределенному представлению файла. Идентификация файла имеет поле переменной длины, которое начинается с первого кодового слова, следующего за индексом сегмента, и продолжается до начала необязательных полей (если таковые присутствуют) или до окончания управляющего блока Макро PDF417 (в случае отсутствия необязательных полей).
Каждое кодовое слово в идентификации файла может иметь значение от 0 до 899, эффективно создавая серии идентификации файла для номеров базы 900. Каждое кодовое слово серии передается в качестве 3-разрядного десятичного значения представления КОИ-7.
Примечание - На эффективность схемы идентификации файла влияет длина поля идентификации файла и соответствие алгоритма, используемого для генерирования значения идентификации файла.
Н.2.3 Необязательные поля
Необязательные поля (optional field) могут следовать после идентификации файла. Каждое необязательное поле начинается со специальной последовательности-указателя (tag sequence) и продолжается до начала следующего необязательного поля (если таковое присутствует) или окончания управляющего блока (если отсутствует следующее необязательное поле). Последовательность-указатель состоит из кодового слова 923, за которым следует отдельное кодовое слово указателя поля (field designator). В каждом необязательном поле данные, следующие за последовательностью-указателем, имеют интерпретацию, обусловленную спецификой поля. Не следует использовать пустые необязательные поля. В таблице H.1 представлено соответствие между текущими заданными указателями полей и необязательным содержимым полей. Каждое необязательное поле начинается с подразумеваемого возврата к режиму уплотнения, представленному в таблице Н.1, и с подразумеваемого возвращения к ECI 000002 (или GLI 0 для кодирующих устройств, соответствующих ранее опубликованным стандартам PDF417). Управляющая последовательность ECI и функции фиксации в режиме и регистра в режиме могут быть использованы, но только в необязательных полях, изначально находящихся в режиме текстового уплотнения.
Таблица H.1 - Указатели необязательных полей Макро PDF417
Указатель поля (field designator) | Переданное значение байтов | Содержимое | Исходный режим уплотнения | Фиксированный режим уплотнения | Общее число кодовых слов |
0 | 48 | Имя файла (File Name) | Текстовое уплотнение | N | Переменное |
1 | 49 | Число сегментов (Segment Count) | Цифровое уплотнение | Y | 4 |
2 | 50 | Отметка времени (Time Stamp) | Цифровое уплотнение | Y | 6 |
3 | 51 | Отправитель (Sender) | Текстовое уплотнение | N | Переменное |
4 | 52 | Получатель (Addressee) | Текстовое уплотнение | N | Переменное |
5 | 53 | Размер файла (File Size) | Цифровое уплотнение | Y | Переменное |
6 | 54 | Контрольная сумма (Checksum) | Цифровое уплотнение | Y | 4 |