Page 180 - 4496
P. 180
Тому коди з різною довжиною кодових комбінацій
повинні бути побудовані так, щоб потреби в розділових
знаках не виникало. Для цього жодна кодова комбінація не
повинна співпадати з початком більш довгої кодової
комбінації. Коди, що задовольняють указаній умові,
називають префіксними кодами.
Приклад 1. Задано непрефіксний код z 1 - 00, z 2 - 01, z 3 -
101, z 4 - 010 (кодова комбінація 01 співпадає з початком
кодової комбінації 010). Декодувати повідомлення
00010101010101.
Результати декодування неоднозначні і можуть бути,
наприклад, такими:
Перший варіант
00 01 01 01 010 101
z 1 z 2 z 2 z 2 z 4 z 3
Другий варіант
00 010 101 010 101
z 1 z 4 z 3 z 4 z 3
Приклад 2. Задано префіксний код z 1 - 00, z 2 - 01, z 3 -
101, z 4 - 100. Декодувати повідомлення 100000110110110100.
Дане повідомлення декодується однозначно:
100 00 01 101 101 101 00
z 4 z 1 z 2 z 3 z 3 z 3 z 1
Неважко переконатися, що коди, отримувані за
методиками Шеннона-Фано або Хаффмена, є префіксними.
Розглянемо недоліки ефективного коду.
- Причиною першого недоліку є різниця в довжині
кодових комбінацій. Припустимо, що джерело видає
повідомлення неперервно зі сталою швидкістю. У такому разі
кодер джерела буде видавати кодові комбінації різної
довжини через рівні проміжки часу. Отже, символи з кодера
177