их даних занадто довгих послідовностей символів, що повторюються. Цей метод перетворює кожну групу з трьох і більше (аж до 253) однакових суміжних символів до увазі символ і кількість символів. Оскільки групове кодування не пов'язано з великими обчисленнями, цей метод особливо гарний для реалізації в реальному масштабі часу, зокрема, при передачі даних по лініях зв'язку. p> Згідно даного методу система групового кодування перевіряє проходить потік даних. Алгоритм залишається пасивним до тих пір, поки в цьому потоці не виявляться три однакових суміжних символу. Після цього алгоритм починає рахунок і видаляє з потоку даних до 250 однакових наступних один за одним символів. Лічильний байт надсилається слідом за трьома вихідними символами, і передача триває. На рис. 8.2 показаний приклад групового кодування потоку даних. p> Здатність методу групового кодування стискати довгі послідовності очевидна. Тим не менш, рис. 5.1 ілюструє також одну з слабкостей даного алгоритму. Кодування групи з трьох символів, навпаки, розширює потік даних. p>В
На другому етапі стиснення даних протокол MNP5 використовує адаптивне кодування на основі методу Хаффмена, відоме також як адаптивне частотне кодування. Цей спосіб кодування заснований на припущенні,
Рис. 5.1. Групове кодування по протоколу MNP5
що деякі символи будуть зустрічатися в потоці даних частіше, ніж інші. Символи, які зустрічаються частіше, кодуються з використанням невеликого числа бітів. Рідше зустрічаються символи передаються з використанням більш довгих кодових послідовностей. p> Коли формат переданих даних відносно добре відомий і постійний, кодові бітові послідовності, або лексеми, можуть бути визначені заздалегідь. Однак адаптивний алгоритм може підлаштовуватися під потік даних шляхом "навчання" з подальшим зміною своїх лексем. p> У протоколі MNP5 визначаються 256 лексем для всіх можливих 8-розрядних величин (октетів). Лексема складається з 3-розрядного префікса (заголовка) і суфікса (тіла, або основи), який може включати від 1 до 8 розрядів. Як передавач, так і приймач инициализируют свої символьно-лексемного таблиці відповідно до табл. 5.2. Перша і остання запису
Таблиця 5.2. Карта символьно-лексемного кодування на початку процедури ущільнення даних
Значення октету (десяткове)
Тема лексеми
Тіло лексеми
0
000
0
1
000
1
2
001
0
3
001
1
4
010