Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
7.2. КОНСТРУКТИВНЫЕ МЕТОДЫ КОДИРОВАНИЯ ИСТОЧНИКОВ СООБЩЕНИЙСуществует множество способов кодирования источников сообщений. Многие способы реализованы на практике, особенно для сжатия сообщений с большой избыточностью, например факсимильных и телевизионных, где они позволяют увеличить скорость передачи сообщений в десятки раз (см гл. 11). В данном параграфе мы рассмотрим сначала кодирование источников с известной статистикой сообщений. Общая идея построения такого кода подсказывается теоремой кодирования 1 для каналов без помех. Поскольку минимизируется средняя длина кодовой последовательности, то код должен быть неравномерным. Очевидно, что средняя длина неравномерного кода будет минимизироваться тогда, когда с более вероятными сообщениями источника будут сопоставляться более короткие комбинации канальных символов. Проблема, однако, состоит в том, что у неравномерного кода на приёмной стороне оказываются неизвестными границы этих комбинаций. Если же мы попытаемся их выделить, используя известный способ кодирования, то декодирование может оказаться неоднозначным. (Действительно, если, например, с буквой А сопоставлена комбинация 0, с буквой Необходимые и достаточные условия существования префиксного кода определяются неравенством Крафта, которое мы сформулируем в виде теоремы. Теорема 7.1. Пусть
Докажем достаточность. Пусть множество
где Далее преобразуем это неравенство, раскрыв сумму
Поскольку все
Эта система неравенств и определяет способ построения кода с данным набором кодовых длин Сначала выберем Рассмотрим теперь некоторый источник дискретных сообщений без памяти, который согласно § 6.1 однозначно определяется своим алфавитом А объёма К и вероятностями появления символов
Тогда из (7.4) получаем, что
и поэтому по теореме 7.1 можно символами источника с укрупнённым алфавитом сопоставить последовательности символов
Учитывая тот факт, что для источника без памяти
Фактически мы доказали теорему кодирования для каналов без помех и источника без памяти. Более того, было доказано, что предельное значение средней длины Алгоритм Шеннона-Фано заключается в следующем. Символы алфавита источника (первичного или укрупнённого) записываются в порядке не возрастающих вероятностей. Затем они разделяются на две части так, чтобы суммы вероятностей символов, входящих в каждую из таких частей, были примерно одинаковыми. Всем символам первой части приписывается в качестве первого символа комбинации неравномерного кода ноль, а символам второй части — единица. Затем каждая из этих частей (если она содержит более одного сообщения) делится в свою очередь на две, по возможности равновероятные части и к ним применяется то же самое правило кодирования. Этот процесс повторяется до тех пор, пока в каждой из полученных частей не останется по одному сообщению. Пример. Пусть алфавит А источника состоит из шести символов Заметим, что хотя деление на части с "примерно равными вероятностями" не является однозначной процедурой, но при увеличении длин блоков Таблица 7.2 (см. скан) Неравномерное префиксное кодирование устраняет избыточность источника, вызванную неодинаковой вероятностью сообщений. Если источник имеет память, то вероятность появления очередного сообщения зависит от того, какое сообщение появилось перед ним. На первом этапе устранения избыточности дискретного источника с памятью заданный источник заменяют эквивалентным источником без памяти с помощью метода укрупнения алфавита. Представим, например, дискретный источник с алфавитом имеет памяти, то Более реалистичной является, конечно, ситуация, когда о некотором избыточном источнике известен лишь его алфавит А, но не известно распределение вероятностей последовательностей символов этого источника. Например, необходимо сконструировать двоичный префиксный код для передачи текста на различных языках, имеющих общий алфавит. Казалось бы, эта задача является неразрешимой, но в действительности удаётся сконструировать некоторый универсальный сжимающий код. Рассмотрим кратко метод сжатия подобного типа, известный как алгоритм Зива-Лемпела и широко применяемый в ЭВМ для архивирования файлов. Общая идея данного метода состоит в том, что последовательность символов источника разбивается на кратчайшие различимые цепочки, которые не встречались раньше, а затем эти цепочки кодируются равномерным кодом. Например, если последовательность имела вид 1011010100010, то она будет разбита на цепочки следующим образом: Рассмотренный пример даёт фактически не сжатие, а "растяжение" сообщений, поскольку вместо 13 исходных бит мы получаем 28 бит. Однако для длинных последовательностей сообщений эффективность алгоритма увеличивается, и в асимптотике, т.е. при
Заметим, что фактически для сжатия файлов используется модифицированный алгоритм, называемый алгоритмом сжатия Зива-Лемпела-Велча, на основе этого алгоритма построены наиболее эффективные программы архивирования файлов, такие как PKARC, PKZIP ICE и др.
|
1 |
Оглавление
|