Professional Documents
Culture Documents
MZK 04
MZK 04
Мазур В.В.
Конспект лекцій
Львів-2020
Методи оптимального кодування
Метод Шеннона-Фано
В цьому методі для кожного символа формується бітовий код, довжина якого залежить від
частоти появи символа. Чим менша частота, тим довший код. Визначення частоти (ймовірності)
символа буває статичне (на основі таблиці даних) або динамічне (коли відомості про
ймовірність появи символів визначаються на основі обробки потоку даних).
Кодування здійснюється таким чином (рис. 1):
Всі символи записуються в таблицю по зменшенню їх частоти. Потім вони поділяються на
дві групи так, щоб суми частот для отриманих груп були максимально близькі. Для першої
групи перший біт коду встановлюється рівним 1, а для другої – 0. Потім групи знову поділяємо
на дві і визначаємо наступні розряди коду. Процес продовжується поки в групі не залишиться
тільки один символ.
Номер Символ Частота Код
1 a 10 11
2 b 8 10
-----------------------------------------------------------------------------------------------------
3 c 6 011
4 d 5 010
5 e 4 001
6 f 3 000
Можливий варіант програмної реалізації методу базується на формуванні і обробці такої
таблиці
Nгр Np Nk S Lk Код
1 1 2 18 0+1 1
3 6 18 0+1 0
2 1 1 10 1+1 11
2 2 8 1+1 10
3 3 4 11 1+1 01
5 6 7 1+1 00
4 3 3 6 2+1 011
4 4 5 2+1 010
5 5 5 4 2+1 001
6 6 3 2+1 000