4.4 Высокоуровневое кодирование данных
Высокоуровневое кодирование преобразовывает знаки данных в соответствующие им значения кодовых слов.
При высокоуровневом кодировании используют схемы уплотнения данных. Соответствие заданных пользователем данных и последовательностей кодовых слов в PDF417 устанавливают три режима уплотнения данных:
текстовое (4.4.2),
байтовое (4.4.3),
цифровое (4.4.4).
Данная цепочка байтов данных может быть представлена различными последовательностями кодовых слов, в зависимости от кодирования переходов между режимами и подрежимами уплотнения. В символе PDF417 нет специального способа кодирования данных.
В каждом режиме предусмотрены 900 кодовых слов для кодирования данных и иных функций в рамках этого режима. Оставшиеся 29 кодовых слов предназначены для специальных функций (4.4.1), независимых от текущего режима уплотнения.
PDF417 также поддерживает систему интерпретации расширенного канала, позволяющую точно кодировать разные интерпретации данных в символе (4.5).
4.4.1 Функциональные кодовые слова
Кодовые слова со значениями от 900 до 928 (далее - кодовые слова от 900 до 928) назначены в качестве функциональных кодовых слов:
- для переключения между режимами (4.4.1.1),
- для усовершенствованных применений, использующих интерпретации расширенного канала,
- для других усовершенствованных применений (4.4.1.3 и 4.4.1.4).
В настоящее время кодовые слова от 903 до 912 и от 914 до 920 зарезервированы. В таблице 2 приведен полный список назначенных и зарезервированных функциональных кодовых слов, функции которых установлены в 4.4.1.1-4.4.1.4. Зарезервированные кодовые слова представлены в 4.4.6.
Таблица 2 - Назначение функциональных кодовых слов PDF417
Значение кодового слова | Функция | Наименование кодового слова | Пункт настоящего стандарта | |
русское | международное | |||
900 | Фиксация режима в режиме текстового уплотнения | Фиксация в режиме текстового уплотнения | Text Compaction mode latch | 4.4.1.1 |
901 | Фиксация режима в режиме байтового уплотнения | Фиксация в режиме байтового уплотнения | Byte Compaction mode latch | 4.4.1.1 |
902 | Фиксация режима в режиме цифрового уплотнения | Фиксация в режиме цифрового уплотнения | Numeric Compaction mode latch | 4.4.1.1 |
903-912 | Зарезервированы | - | - | - |
913 | Переключение регистра в режим байтового уплотнения | Регистр в режиме байтового уплотнения | mode shift to Byte Compaction mode | 4.4.1.1 |
914-920 | Зарезервированы | - | - | - |
921 | Инициализация считывающего устройства | Инициализация считывающего устройства | reader initialisation | 4.4.1.4 |
922 | Конечное кодовое слово для управляющего блока Макро PDF417 | Ограничитель Макро PDF417 | Macro PDF417 Terminator | 4.13 |
923 | Метка последовательности для идентификации необязательных полей в управляющем блоке Макро PDF417 | Начало необязательного поля Макро PDF417 | Beginning of Macro PDF417 Optional Field | 4.13 |
924 | Фиксация режима в режиме байтового уплотнения (используется отлично от 901) | Фиксация в режиме байтового уплотнения | Byte Compaction mode latch | 4.4.1.1 |
925 | Идентификатор для задаваемой пользователем интерпретации расширенного канала | Идентификатор ECI пользователя | identifier for a user defined ECI | 4.5 |
926 | Идентификатор общего назначения формата ECI | Идентификатор общего назначения формата ECI | identifier for a general purpose ECI format | 4.5 |
927 | Идентификатор ECI для набора знаков или кодовой страницы | Идентификатор ECI для набора знаков или кодовой страницы | identifier for an ECI of a character set or code page | 4.5 |
928 | Кодовое слово - Макро-метка для указания начала управляющего блока Макро PDF | Начало управляющего блока Макро PDF417 или Макро-маркер | Beginning of Macro PDF417 Control Block or Macro marker | 4.13 |
4.4.1.1 Функциональные коды для перехода режима
В одном символе PDF417 предусмотрена возможность двухстороннего переключения режимов с требуемой частотой. Рекомендации по выбору режимов приведены в 4.4.5.
Для перехода из текущего режима в требуемый режим (который будет оставаться в действии до тех пop, пока он не будет изменен на другой) должно использоваться кодовое слово фиксации в режиме. Для этой функции предназначены кодовые слова 900-902 и 924 (таблица 3).
Таблица 3 - Кодовые слова установления режима и перехода между режимами
Требуемый режим | Фиксация в режиме | Регистр в режиме |
Текстовое уплотнение | 900 | 913 |
Байтовое уплотнение | 901/924 | |
Цифровое уплотнение | 902 | |
Примечание - В таблице указаны кодовые слова, используемые для перехода в требуемый режим |
Кодовое слово регистра в режиме 913 вызывает временный переход из режима текстового уплотнения в режим байтового уплотнения. Этот переход действует только для следующего кодового слова, после чего должен вернуться прежний подрежим режима текстового уплотнения. Кодовое слово 913 может применяться только в режиме текстового уплотнения; его использование установлено в 4.4.2.4.
Порядок перехода между тремя режимами установлен в таблице 4 и на рисунке 5.