Відкрити головне меню

Кодування Шеннона назване на честь творця, Клода Шеннона, — безвтратна техніка стискування даних для будівництва префіксного коду, ґрунтованого на наборі символів і їх вірогідності (оцінено або виважено). Це підоптимально в сенсі, що це не досягає найнижчої можливої очікуваної довжини кодового слова подібно до кодування Хаффмана, і не краще але інколи рівний до кодування Шеннона-Фано.

Метод був першим свого типу, техніка була використана, щоб довести безшумну теорему Шеннона, що закодувала, у його статті 1948 року — «Математична Теорія Комунікації», і тому хрестовина інформаційного віку.

Приклад Редагувати

У даній таблиці наведено приклад кодування методом Шеннона. Можна відразу зауважити за підсумковим кодом, що він є менш оптимальним, ніж алгоритм Фано-Шеннона.

Першим кроком буде підрахунок ймовірностей кожного символу. Потім рахується число   для кожної ймовірності. Наприклад, для 2 воно дорівнює трьом (  - Мінімальна ступінь двійки -3, отже   дорівнює трьом). Після цього вважається сума ймовірностей від 0 до i-1 і перекладається в двійкову форму.Потім дрібна частина усікається зліва на   число знаків.

i p (a i ) l i Сума p i до i-1 Сума по p (a i ) bin підсумковий 

код

1 0.36 2 0.0 0.0000 00
2 0.18 3 0.36 0.0100 010
3 0.18 3 0.54 0.1000 100
4 0.12 4 0.72 0.1011 1011
5 0.09 4 0.84 0.1101 1101
6 0.07 4 0.93 0.1110 1110