Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТІК / Кодування інформації(методичка).doc
Скачиваний:
46
Добавлен:
16.02.2016
Размер:
222.72 Кб
Скачать

Префіксні коди

Так звані “префікси” можуть бути отримані шляхом послідовного викреслення останнього знаку кодової комбінації.

Приклад:

Для кодової комбінації 11101101 префіксами будуть 11101101, 1110110, 111011, 11101, 1110, 111, 11, 1.

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

Код називається префіксним , якщо жодна з його комбінацій не є префіксом іншої комбінації того ж коду.

Частина кодової комбінації, що доповнює префікс до самої комбінації, називається суфіксом.

Префіксні коди наглядно можуть бути представлені з допомогою кодових дерев.

Якщо жоден вузол кодового дерева не є вершиною даного коду, то він володіє властивістю префікса.

Вузли дерева, що не з’єднуються з іншими, звуться кінечними. Комбінації, що їм відповідають, є кодовими комбінаціями префіксного коду.

Код Хаффмана. Належить до оптимальних нерівномірних кодів. Ідея цих кодів полягає в тому, щоб найбільш ймовірним символам первинного алфавіту відповідали найкоротші комбінації символів вторинного алфавіту. Код Хаффмана є префіксним.

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

Якщо кожній верхній гілці присвоїти значення 0, а нижній 1, то отримаємо комбінації коду Хаффмана.

Нехай, наприклад джерело інформації задане кінечною схемою (табл.1.):

Табл. 1.

а1

а2

а2

а4

а5

а6

а7

а8

а9

а10

а11

а12

а13

а14

а15

а16

1/64

3/64

8/64

1/64

4/64

1/64

4/64

3/64

10/64

1/64

3/64

8/64

1/64

1/64

3/64

12/64

Алгоритм побудови коду Хаффмана такий:

  • Символи первинного алфавіту записують у стовпчик у порядку зменшення їх ймовірностей;

  • Два останніх символи об’єднують в один із сумарною ймовірністю;

  • З отриманих ймовірностей формують новий стовпчик в порядку зменшення ймовірностей;

  • Процес продовжується до отримання однієї ймовірності, що дорівнює 1.

Табл. 2.

Символи

Ймовірності

а16

12/64

12/64

12/64

12/64

12/64

12/64

12/64

12/64

12/64

12/64

15/64

16/64

21/64

27/64

37/64

1

a9

10/64

10/64

10/64

10/64

10/64

10/64

10/64

10/64

10/64

11/64

12/64

15/64

16/64

21/64

27/64

a12

8/64

8/64

8/64

8/64

8/64

8/64

8/64

8/64

8/64

10/64

11/64

12/64

15/64

16/64

a3

8/64

8/64

8/64

8/64

8/64

8/64

8/64

8/64

8/64

8/64

10/64

11/64

12/64

а5

4/64

4/64

4/64

4/64

4/64

5/64

6/64

7/64

8/64

8/64

8/64

10/64

а7

4/64

4/64

4/64

4/64

4/64

4/64

5/64

6/64

7/64

8/64

8/64

а2

3/64

3/64

3/64

3/64

4/64

4/64

4/64

5/64

6/64

7/64

а8

3/64

3/64

3/64

3/64

3/64

4/64

4/64

4/64

5/64

а11

3/64

3/64

3/64

3/64

3/64

3/64

4/64

4/64

а15

3/64

3/64

3/64

3/64

3/64

3/64

3/64

а1

1/64

2/64

2/64

2/64

3/64

3/64

а4

1/64

1/64

2/64

2/64

2/64

а6

1/64

1/64

1/64

2/64

а10

1/64

1/64

1/64

а13

1/64

1/64

а14

1/64

  • Будують кодове дерево (мал. 1 ):

  • з точки, що відповідає ймовірності 1, проводять дві гілки;

  • гілці з більшою ймовірністю присвоюють значення 1, гілці з меншою ймовірністю присвоюють значення 0;

  • процес продовжують, поки гілки не дійдуть до кожного символу;

  • рухаючись по гілці згори донизу, записують код кожного символу.

Мал.1. Кодове дерево ( для спрощення в кружечках вказаний тільки чисельник відповідної ймовірності, оскільки знаменники однакові )

Отримані кодові комбінації показані в табл. 3.

Табл. 3.

Символи первинного алфавіту

Ймовірності символів

Коди Хаффмана

а1

1/64

101111

а2

3/64

11111

а3

8/64

100

а4

1/64

101110

а5

4/64

1010

а6

1/64

101101

а7

4/64

0101

а8

3/64

11110

а9

10/64

110

а10

1/64

101100

а11

3/64

11101

а12

8/64

011

а13

1/64

111000

а14

1/64

111001

а15

3/64

0100

а16

12/64

00

Соседние файлы в папке ТІК