Когда формат передаваемых данных относительно хорошо известен и постоянен, кодовые битовые последовательности, или лексемы, могут быть определены заранее. Однако адаптивный алгоритм может подстраиваться под поток данных путем "обучения" с последующим изменением своих лексем.
В протоколе MNP5 определяются 256 лексем для всех возможных 8-разрядных величин (октетов). Лексема состоит из 3-разрядного префикса (заголовка) и суффикса (тела, или основы), который может включать от 1 до 8 разрядов. Как передатчик, так и приемник инициализируют свои символьно-лексемные таблицы в соответствии с табл. 5.2. Первая и последняя записи
Таблица 5.2. Карта символьно-лексемного кодирования в начале процедуры уплотнения данных
Значение октета (десятичное) |
Заголовок лексемы |
Тело лексемы |
0 |
000 |
0 |
1 |
000 |
1 |
2 |
001 |
0 |
3 |
001 |
1 |
4 |
010 |
00 |
5 |
010 |
01 |
6 |
010 |
10 |
7 |
010 |
11 |
8 |
011 |
00 |
… |
… |
… |
15 |
011 |
111 |
16 |
100 |
0000 |
… |
… |
… |
31 |
100 |
1111 |
32 |
101 |
00000 |
… |
… |
… |
63 |
101 |
11111 |
64 |
110 |
000000 |
… |
… |
… |
127 |
110 |
111111 |
128 |
111 |
0000000 |
… |
… |
… |
254 |
111 |
1111110 |
255 |
111 |
11111110 |
(строки) этой таблицы содержат наиболее и наименее часто встречающиеся октеты, соответственно.
После того как обработан каждый октет, таблица переопределяется, исходя из частоты появления каждого символа. Октетам, которые появляются чаще всего, приписываются наиболее короткие лексемы. На приемном конце лексемы преобразуются в символы. В соответствии с частотой появления тех или иных символов трансформируется таблица приемника. Тем самым осуществляется самосинхронизация, таблиц кодирования и декодирования.
5.2.2. Протокол MNP7