ГОСТ Р ИСО/МЭК 24778 — 2010
Приложение Н
(справочное)
Обеспечение минимального размера символа
В настоящем приложении приведен метод нахождения последовательности знаков регистра и фиксации,
обеспечивающих кодирование любых заданных данных сообщения в строку битов минимальной длины для пред
ставления в виде символа Aztec Code. Входную строку знаков обрабатывают последовательно по одному знаку с
сохранением информации о возможных вариантах кодирования вформате усеченного дерева или решетки. В
итоге определяют последовательность, требующую минимального числа битов.
Перед обработкой каждого знака последовательность кодирования может находиться в относительно
небольшом числе возможных «состояний» (таблица 2)1):
1) Upper («U»).
2) Lower {«L»).
3) Mixed(«М»).
4) Punctuation («Р»),
5) Digit («D»).
6) Binary («В»).
Необходимо создать несколько таблиц с константами. Для начала потребуется матрица 6x6
LatLenIFrom][To). которая содержит размер знаков фиксации, т.е. числа битов, необходимых для перехода из
одного состояния в другое с помощью знака фиксации.
Размер знака фиксации (LatLen) для перехода из одного состояния в другое, в битах:
Из какого состояния
(From)
В какое
состояние
(То)
иLМРDВ
и
L
М
Р
D
В
0 5 5 10 5 10
10 0 5 10 5 10
5 5 0 5 10 10
5 10 10 0 10 15
4 9 9 14 0 14
0* 0* 0* 0* 0* 0*
’ Вданном контексте знак регистра Binary Shift выполняет функцию фиксации, потому что кодирование
может оставаться в том же состоянии на протяжении многих знаков. Возврат из состояния Binary не требует
дополнительных битов, но приводит только к тому состоянию, из которого произошел переход в состояние Binary.
Матрица 5x5 знаков регистра ShftLen[From][To] содержит размер регистровых переходов, т.е. числа битов,
необходимых для переключения из одного состояния вдругое для одного знака. Большинство элементов матри
цы будет пустым («Е»), что указывает на невозможность прямого переключения реплсгра. Вэтом и в последующих
вариантах использования для «Е» присвоено заведомо большое значение (например. 10 000).
Размер знака регистра (ShftLen), в битах:
Из какого состояния
(From)
В какоеиLМРD
состояние
(То)
и
L
М
Р
D
ЕЕЕ5Е
5ЕЕ5Е
ЕЕЕ5Е
ЕЕЕЕЕ
4ЕЕ4Е
В дополнительной матрице 6x1 CharSiz(State) содержатся размеры знака, т.е. число битов, необходимых
для представления одного знака данных в каждом состоянии:
Размер знака (CharSiz), в битах:
В каком состоянииULМРDВ
________
(И ________________________________________________________
555548
11В оригинале ИСО/МЭК 24778 ошибснно указано «таблица 1».
40