![](/user_photo/47320_bcElf.jpg)
- •Способы кодирования источника:
- •Примитивное кодирование:
- •Неравномерное кодирование:
- •Префиксные коды, неравенство Крафта.
- •Предельные возможности эффективного кодирования дискретных сообщений.
- •Прямая теорема (теорема Шеннона для канала без помех – первая теорема Шеннона)
- •Классификация кодов
- •Эффективное кодирование
- •Кодирование источников без памяти
- •Кодирование источников без памяти
- •Кодовое дерево
- •Равномерное кодирование
- •Статистическое кодирование
- •Метод кодирования Шеннона - Фано.
- •Метод кодирования Хаффмана.
- •Теорема Шеннона
- •Условие оптимальности кодов
- •Арифмитическое кодирование
- •Словарное кодирование, алгоритм Лемпеля – Зива –Велча
Кодирование источников без памяти
Источник сообщений называют источником без памяти, если вероятность появления на его выходе очередного символа никак не зависит от предыстории. Энтропия дискретного источника без памяти с алфавитом A={a1, a2, … aM} размерности M и вероятностями символов P(ai)
Кодирование источников без памяти
Для источников с памятью характерна зависимость последующих символов от предыдущих. Таким образом проявляется некая «информационная инерционность» источника, повышающая предсказуемость очередного символа и, следовательно, снижающая энтропию.
Кодовое дерево
Ведем понятие кодового дерева, которым часто пользуются при рассмотрении Известно, что любую букву или событие, содержащиеся в алфавите источника или в сообщении, можно разложить на последовательности двоичных решений с исходами «ДА»=1 и «НЕТ»=0, причем без потери информации. Таким образом, каждой букве исходного алфавита может быть поставлена в соответствие или, как говорят, приписана некоторая последовательность двоичных символов - 0 или 1.А такую последовательность называют кодовым деревом. При этом потери информации не происходит, так как каждое событие может быть восстановлено по соответствующему кодовому слову.
Равномерное кодирование
для построения равномерного кода с использованием D кодовых букв необходимо обеспечить выполнение следующего условия:
,
где n- количество элементов кодовой последовательности.
Для построения равномерного кода достаточно пронумеровать буквы исходного алфавита и записать их в коды как n-разрядное число в D-ичной системе счисления
Статистическое кодирование
Статистическое кодирование теоретически позволяет приблизить среднюю длину кода к величине безусловной энтропии источника. Это означает, что первоначальная избыточность кодирования может быть устранена.
Метод кодирования Шеннона - Фано.
Буквы исходного алфавита записываются в порядке убывания их вероятностей. Это множество разбивается так, чтобы вероятности двух подмножеств были примерно равны. Все буквы верхнего подмножества в качестве первого символа кода получают 1, а буквы нижнего подмножества-0. Затем последнее подмножество снова разбивается на два подмножества с соблюдением того же условия и проводят то же самое присвоение кодовым элементам второго символа. Процесс продолжается до тех пор, пока во всех подмножествах не останется по одной букве кодового алфавита.
Метод кодирования Хаффмана.
Этот метод всегда дает оптимальное кодирование в отличие от предыдущего, так как получаемая средняя длина кодового слова является минимальной.
Буквы алфавита сообщения располагают в порядке убывания вероятностей. Две последние буквы объединяют в один составной символ, которому приписывают суммарную вероятность. Далее заново переупорядочивают символы и снова объединяют пару с наименьшими вероятностями. Продолжают эту процедуру до тех пор, пока все значения не будут объединены. Это называется редукцией. Затем строится кодовое дерево из точки, соответствующей вероятности 1 (это корень дерева), причем ребрам с большей вероятностью присваивают 1,а с меньшей-0. Двигаясь по кодовому дереву от корня к оконечному узлу, можно записать кодовое слово для каждой буквы исходного алфавита.