Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник 374.docx
Скачиваний:
14
Добавлен:
30.04.2022
Размер:
2.1 Mб
Скачать

2. Кодирование информации

2.1. Неравномерное кодирование с однозначным декодированием

Если источник не имеет памяти и избыточность обусловлена лишь неравновероятностью состояний источника, то она может быть умень­шена в результате кодирования более вероятных состояний более ко­роткими кодовыми словами, а менее вероятных — более длинными. Идея кодирования неравномерными блоками впервые нашла приме­нение в коде Морзе, где наиболее короткие комбинации использова­ны для часто встречающихся букв. В последующем были предложены оптимальные способы неравномерного кодирования, обеспечивающие практически полное устранение избыточности источников без памяти.

Рассматривается источник, выбирающий сообщения из ансамбля А. Предполагается, что вероятности появления определенных со­общений известны. Как уже принято, основной характеристи­кой кодирования источника с неравновероятными состояниями являет­ся количество кодовых символов, затрачиваемых на одно состояние. В случае равномерного кодирования это количество одинаково для любо­го состояния. При неравномерном кодировании количество символов, затрачиваемых при кодировании, зависит от состояний источника и по­этому представляет собой случайную величину. В этом случае разумной мерой качества кодирования является среднее количество символов на одно состояние. Если обозначить через длину слова, кодирующе­го i-е состояние, тогда

есть средняя длина кодовых слов. В общем случае неравномерный код используется для кодирования отрезков сообщений длины n, т.е. для кодирования ансамбля и . Тогда величина представляет собой среднюю скорость неравномерного кодированияm-ичным кодом при разбиении последовательности со­общений на блоки длиной п. Как и ранее, средняя скорость изме­ряется в двоичных символах на сообщение.

Пример 1. . Предположим, что n = 1 (побуквенное кодирование) и источник порождает в каждый момент времени одно из девяти сооб­щений ai,...,a9 с вероятностями, указанными в табл. 2.1.

Таблица 2.1

ai

p(ai)

Равномерный код

Неравномерный код

di

a1

0.25

0000

00

2

a2

0.125

0001

010

3

a3

0.125

0010

011

3

a4

0.125

0011

100

3

a5

0.125

0100

101

3

a6

0.0625

0101

1100

4

a7

0.0625

0110

1101

4

a8

0.0625

0111

1110

4

a9

0.0625

1000

1111

4

1. Заметим, что H(A) здесь составляет 3 бит. Для равномерного ко­да длина слов одинакова и равна 4. Для неравномерного кода средняя длина равна 3 (обратим внимание, что совпадение со значением энтро­пии не случайно). Скорость кодирования в первом случае составляет 4 бита на сообщение, во втором — 3 бит/сообщение.

Следует иметь ввиду, что для обеспечения однозначности декоди­рования неравномерных кодов существуют ограничения. Следующий пример служит убедительной демонстрацией этого.

Пример 2. Источник выбирает сообщения из ансамбля, содер­жащего шесть элементов ai, с вероятностями р(а1) = 0,4; p(а2) = 0,3; р(а3) = 0,1; р(а4) = 0,08; р(а5) = 0,07; р(а6) = 0,05. Энтропия ансамбля составляет . При равномерном дво­ичном кодировании на каждое сообщение необходимо затратить три символа. Ниже будет показано, что при неравномерном кодировании этого источника в среднем на каждое сообщение может быть затрачено 2,16 символа. Можно попытаться закодировать сообщения наибо­лее короткими блоками: a1 = 0; а2 = 1; аз = 00; а4 = 01; а5 = 10; а6 = 11. При этом среднее число символов на сообщение окажется равным 1,3, т.е. еще более эффективно, чем позволяет теорема рав­номерного кодирования. Однако принятый код не удовлетворяет усло­вию однозначного декодирования. Действительно, принятую, напри­мер, последовательность символов 00110100011110... можно декоди­ровать так: a1a1a2a2a1a2a1a1a1a1... или a3a6a4a3a1a6a2a5... и еще мно­жеством иных последовательностей сообщений. Причиной неоднознач­ности является то, что кодовое слово 0 является началом слов 00 и 01, а кодовое слово 1 началом слов 10 и 11. Однозначное декодирование неравномерных кодов, в которых не создается специальное разделение слов, может быть обеспечено в случае, когда ни одно кодовое слово не является началом другого. Коды, обладающие тем свойством, что ни одно слово не является началом другого, называются префиксными. Именно эти коды используются при неравномерном кодировании.

Удобное описание префиксных кодов дают специальные графы (связные), называемые деревьями (или кодовыми деревьями); т-ичным деревом называется граф, т.е. такая система узлов и связывающих их ребер, в которой нет петель или замкнутых путей и в которой из каждого узла выходит не более т ребер и в каждый узел, кроме одного (кор­ня дерева), входит точно одно ребро. Каждому из ребер, выходящих из узла, сопоставляется один символ кодового алфавита, содержащего т символов, причем различным ребрам, выходящим из одного узла, сопоставляются различные символы.

На рис. 2.1 представлено двоичное кодовое дерево. Дерево отображает неравномерный код, рассмотрен­ный в примере 1. Можно убедиться, что код является префиксным, если кодовые слова соответствуют концевым узлам дерева.

Рис. 2.1. Двоичное кодовое дерево

Скоростью создания информации при неравномерном кодировании дискретного источника без памяти называют наименьшее число H та­кое, что для любогоR>H найдется п и неравномерный код со средней скоростью кодированияR, который допускает однозначное декодирова­ние. Показано, что скорость создания информации при неравномер­ном кодировании совпадает со скоростью создания информации при равномерном кодировании и равна энтропии источника на сообщение

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]