ГОСТ Р 51294.9—2002
ПРИЛОЖЕНИЕ Р
(справочное)
Алгоритм минимизации числа кодовых слов
Одни и те же данные могут быть представлены в виде различных последовательностей кодовых слов
PDF417 использованием разных режимов уплотнения и процедур перехода. Не существует предписанной про
цедуры для минимизации числа требуемых кодовых слов, но для этих целей можно использовать следующий
алгоритм:
1) принимают, что Р указывает начало потока данных;
2) устанавливают текущий режим кодирования в режим текстового уплотнения;
3) принимают, что Nчисло последовательных разрядов, начинающихся от Р;
4) если N>13, тогда:
5) фиксируют режим цифрового уплотнения;
6) кодируют N знаков с использованием цифрового уплотнения;
7) передвиг ают вперед указатель Р на N;
8) переходят к шагу 3;
9) в противном случае, если N < 13, тогда:
10) принимают Т длиной последовательности знаков в режиме текстового уплотнения, начинающейся с Р.
Последовательность заканчивается в том случае, если будут обнаружены либо знак, не находящийся в режиме
текстового уплотнения, либо цифровая последовательность длиной 13 и более разрядов;
11) если Т > 5 , тогда:
12) фиксируют режим текстового уплотнения;
13) кодируют Т знаков с использованием режима текстового уплотнения;
14) перемещают вперед указатель Р на Т;
15) переходят к шагу 3
16) в случае, если Т < 5, тогда:
17) принимают В в качестве длины кодируемой в двоичном виде последовательности, начинающейся с Р.
Последовательность заканчивают в случаях, если будут найдены либо последовательность в режиме текстового
уплотнения, длиной 5 и более, либо цифровая последовательность, длиной 13 и более
18) если В = 1и текущий режим текстового уплотнения, тогда:
19) переводят регистр в режим байтового уплотнения;
20) кодируют значение одного байта с использованием режима байтового уплотнения;
21) перемещают вперед указатель Р на В;
22) переходят к шагу 3
23) иначе:
24) фиксируют режим байтового уплотнения;
25) кодируют В байтов с использованием режима байтового уплотнения;
26) перемещают вперед указатель Р на В;
27) переходят к шагу 3.
76