Статистическое кодирование дискретных сообщений



Основой статистического (оптимального) кодирования сообщений является теорема К. Шеннона для каналов связи без помех.

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

Производительность и избыточность дискретного источника согласно определениям равны, соответственно,

    ,       ;

откуда получаем

              .                                

Из этой формулы видно, что для увеличения производительности нужно уменьшать избыточность g и среднюю длительность со­общений .

Известно, что H(x)<Hmax(x), если априорные вероятности различных элементов сообщения различны (H(x)= Hmax(x) при равной вероятности этих элементов). Но при неравной вероятности сообщений можно приме­нить оптимальное (статистическое) кодирование, при котором уменьшается средняя длительность сообщений.

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

Рассмотрим принципы оптимального кодирования на приводимом ниже примере.

Пусть источник сообщений выдаёт 8 различных сообщений x1 ... x8 с вероятностями 0,495; 0,4; 0,026; 0,02; 0,018; 0,016; 0,015; 0,01 (сумма вероятностей равна 1). 

Располагаем эти сообщения столбцом в порядке убывания вероятно­стей (рис. 6). Объединяем два сообщения с самыми минимальными вероят­ностями двумя прямыми и в месте их соединения записываем суммарную вероятность: p(x7)+p(x8)=0,015+0,01=0,025. В дальнейшем полу­ченное число 0,025 учитываем в последующих расчётах наравне с другими оставшимися числами, кроме чисел 0,015 и 0,01. Эти уже использованные числа из дальнейшего расчёта исключаются.

 

Далее таким же образом объединяются числа 0,018 и 0,016, получа­ется число 0,034, затем вновь объединяются два минимальных числа (0,02 и 0,025) и т.д.

Построенное таким образом кодовое дерево используется для опре­делённых кодовых комбинаций. Напомним, что для нахождения любой ко­довой комбинации надо исходить их корня дерева (точка с вероятностью 1) и двигаться по ветвям дерева к соответствующим сообщениям x1 ... x8. При движении по верхней ветви элемент двоичного кода равен нулю, а при движении по нижней – равен единице. Например, сообщению x5 будет соответствовать комбинация 11010. Справа от кодового дерева записаны кодовые комбинации получен­ного неравномерного кода. В соответствии с поставленной задачей, наибо­лее часто встречающееся сообщение x1 (вероятность 0,495) имеет длитель­ность в 1 элемент, а наиболее редко встречающиеся комбинации имеют дли­тельность в 5 элементов. В двух последних столбцах рисунка приведено число элементов Nэi в кодовой комбинации и величина произведения p(xi)×Nэi , а  представляет собой число элементов, приходя­щееся на одну комбинацию, т.е. в данном случае .

Если бы для кодирования был применён равномерный двоичный код, который чаще всего применяется на практике, число элементов в каждой кодовой комбинации для кодирования восьми различных сообщений рав­нялось бы трём (23=8), т.е. .

В рассматриваемом примере средняя длительность комбинаций бла­годаря применённому статистическому кодированию уменьшилась в 3/1,774=1,72 раза. Во столько же раз увеличилась  и производительность ис­точника (24).

 

Вопросы к разделу 9

1. Какая цель достигается при оптимальном кодировании дискретных сообщений?

2. Почему оптимальное кодирование называется оптимальным и почему статистическим?

3. В чём заключается идея оптимального кодирования?

4. Как осуществляется процесс кодирования дискретных сообщений оптимальным кодом по методу Шеннона - Фано - Хаффмена?

5. Почему код Шеннона - Фано должен быть неравномерным и неприводимым?

 

 

10. Статистическое кодирование кодовых слов

 

Дальнейшим развитием оптимального статистического кодирования является кодирование кодовых слов. В этом методе применяется также оптимальное кодирование по методу Шеннона‑Фано‑Хаффмена, однако не к отдельным буквам, а к кодовым словам( сочетаниям n букв первичного сообщения). Статистическое кодирование слов позволяет ещё больше уменьшить среднюю длительность со­общений, так как алфавит источника быстро увеличивается с увеличением длины слова. Число возможных кодовых слов (алфавит источника после объединения букв) определяется выражением m=kn,  где k - алфавит букв первичного сообщения. Пусть, например, у нас имеется двоичный источник, дающий буквы а1 и а2 (например, “1” и “0”). При передаче этих букв по каналу связи используются сигналы длительностью tэ, а .

Рассмотрим пример, когда p(а1)=0,8 и p(а2)=0,2 (если вероятности p(а1) и p(а2) равны между собой, никакое кодиро­вание не может уменьшить среднюю длительность сообщения). Образуем из элементов а1 и а2 слова из двух букв(n=2), беря различные сочетания из этих букв. Если у нас источник с независимым выбором эле­ментов сообщений, то

                    p(а1а1)=0,8×0,8=0,64;

                    p(а1а2)= p(а2а1)=0,8×0,2=0,16;

                    p(а2а2)=0,2×0,2=0,04.

Применяя к полученным словам кодирование по методу Шен­нона‑Фано, получаем кодовое дерево (рис. 7), из которого видно, что новые комбинации неравномерного кода имеют длительность tэ, 2tэ и 3tэ.

 

                       

Средняя длина кодового слова

    .

Но так как каждое слово содержит информацию о двух буквах пер­вичного сообщения, то в расчёте на 1 букву получаем . Отсюда видно, что средняя длина элемента сообщения сократилась по сравнению с первона­чальной в 1/0,78=1,38 раза.

Если усложнить кодирование и использовать n=3, то в этом случае получим . Это – уже почти предел, дальше уменьшать  уже нецелесообразно. Чтобы убедиться в этом, рассчитаем производи­тельность источника сообщений для всех трёх случаев.

Энтропия источника

         .

При отсутствии статистического кодирования ,

               бит/с.

При кодировании слов по две буквы ,

        

     бит/с.

При кодировании по две буквы

               бит/с.

Последняя величина близка к предельно возможной величине 1/tэ.

Статистическое кодирование слов целесообразно применять также в случае использования эргодического дискретного источника (источника с корреляционными связями букв), так как объединение букв в слова приводит к разрушению корреляционных связей (величина n должна быть не менее порядка эргодического источника, а n×tэ , соответственно, больше интервала корреляции букв первичного сообщения). Корреляционные связи между буквами трансформируются в различные вероятности появления возможных слов (n - буквенных сочетаний).

При этом необходимо помнить, что ве­роятность n‑буквенных сочетаний определяется не произведением вероят­ностей отдельных букв, а, в соответствии с теоремой умножения, вероятно­стей надо учитывать также условные вероятности. Так, например, для ис­точника с независимым выбором букв p(a1a1)=p(a1)×p(a1), а для эргодиче­ского источника с корреляционными связями букв p(a1a1)=p(a1)×p(a1/a1).

 

Вопросы к разделу 10

1. Какая цель достигается объединением букв в слова при оптимальном кодировании источников независимых сообщений?

2. Что является математической моделью источников сообщений с корреляционными связями?

3. Какая цель достигается объединением букв в слова при оптимальном кодировании источников зависимых сообщений, как выбирается длина кодовых слов?

4. Как осуществляется оптимальное кодирование сообщений с корреляционными связями?

5. В чём отличия алгоритмов оптимального кодирования кодовых слов для источников независимых и зависимых сообщений?

 


Дата добавления: 2018-02-15; просмотров: 1468; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!