Теорія інформації та кодування в задачах
36


2. ЕФЕКТИВНЕ КОДУВАННЯ

2.1. Теоретичні положення

Ефективне або статистичне кодування застосовують для зменшення довжини повідомлення без втрат (або майже без втрат) інформації. Статистичним його називають тому, що при побудові коду враховуються статистичні (ймовірнісні) характеристики джерела інформації, а саме: довжина кодової комбінації, якою кодується символ джерела, пов’язується із ймовірністю його появи. Більш ймовірним символам джерела намагаються зіставити більш короткі кодові комбінації, тобто код буде нерівномірним. Врешті решт середня довжина кодової комбінації буде меншою ніж, наприклад, при застосуванні рівномірного коду.

Будемо розглядати тільки двійкові ефективні коди, алфавіт яких має два символи, наприклад, 0 та 1. Такі коди використовуються в переважній більшості технічних систем.

Потенційні можливості ефективного кодування визначає перша теорема Шеннона, яка для двійкових кодів формулюється так: для будь-якого дискретного джерела інформації можна розробити такий спосіб кодування, що середня довжина   кодової комбінації двійкового коду в розрахунку на один символ джерела буде як завгодно близькою до ентропії цього джерела, вираженої в бітах, але не може бути меншою за неї.

Щоб нерівномірний код можна було застосувати для кодування послідовності символів, яка утворюється дискретним джерелом інформації, він повинен відповідати деяким вимогам. Розглянемо, наприклад, дискретне джерело з алфавітом  {x1,x 2 ,x 3} та ймовірностями появи символів  p(x1) = 0,5; p(x2) = 0,4;p(x3) = 0,1. Здавалося б, що для кодування символів цього джерела можна застосувати такі комбінації: Припустимо, що на виході джерела з’явилась послідовність   На виході кодера, що