Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
3.2. НЕРАВНОМЕРНЫЕ КОДОВЫЕ СЛОВАПредположим, что дискретный источник без памяти В дальнейшем мы будем главным образом интересоваться величиной
Согласно закону больших чисел, если кодируется очень длинная последовательность букв источника с помощью описанной выше процедуры кодирования, то число кодовых букв на одну букву источника будет с большой вероятностью близко к До того как изучить вопрос о том, на сколько мало может быть Заметим, что код I имеет неудачное свойство, состоящее в том, что буквы
Рис. Код II на рис. 3.2.1 обладает тем же самым недостатком что и код I, хотя и выраженным более тонким образом. Если источник порождает последовательность а, то она будет закодирована в 00, что совпадает с кодовым словом для Как было отмечено, коды I и II из рис. 3.2.1 не могут быть использованы для представления источника, так как они не являются однозначно декодируемыми. Это приводит к следующему определению. Код является однозначно декодируемым, если последовательности кодовых букв, соответствующие различным последовательностям источника конечной длины, являются различными. Приведенное выше определение непосредственно не дает какого-либо способа определить, является ли некоторый код однозначно декодируемым или нет. Однако нас будет главным образом интересовать частный класс кодов, которые удовлетворяют условию, известному под названием «свойство префикса», легко показывается, что эти коды однозначно декодируемы. Для того чтобы определить свойство префикса, допустим, что На рис. 3.2.1. можно заметить, что код I не обладает свойством префикса, так как 1, кодовое слово для Для того чтобы декодировать последовательность кодовых слов из кода, обладающего свойством префикса, следует просто начать с начала последовательности и декодировать одно слово сразу. Когда дойдем до конца кодового слова, мы будем знать, что это конец, так как это кодовое слово не является префиксом какого-либо другого кодового слова. Таким образом, можно однозначно декодировать любую последовательность кодовых букв, соответствующую последовательности букв источника и, тем самым доказано, что любой код, удовлетворяющий свойству префикса, является однозначно декодируемым кодом. Так, например, последовательность источника Не любой однозначно декодируемый код обладает свойством префикса. Чтобы заметить это, рассмотрим код IV на рис. 3.2.1. В нем каждое кодовое слово является префиксом каждого более длинного кодового слова. Вместе с тем единственность декодирования является тривиальной, так как символ 0 всегда означает начало нового кодового слова. Коды, обладающие свойством префикса, отличаются, однако, от других однозначно декодируемых кодов тем, что конец кодового слова всегда может быть опознан, так что декодирование может быть выполнено без задержки наблюдаемой последовательности кодовых слов. По этой причине коды, обладающие свойством префикса, называются иногда мгновенными кодами. Удобное графическое представление множества кодовых слов, удовлетворяющих свойству префикса, можно получить, представляя каждое кодовое слово концевым узлом на дереве. Дерево, представляющее кодовые слова кода III рис. 2.3.1, показано на рис. 3.2.2. Начиная с основания дерева, два ребра, ведущие к узлам первого порядка, соответствуют выбору между 0 и 1, рассматриваемым в качестве первой буквы кодовых слов. Подобно этому два ребра, исходящие из правого узла первого порядка, соответствуют выбору между 0 и 1 для второй буквы кодового слова, если первая буква была 1; такое же представление применимо и для других ребер. Последовательность символов каждого кодового слова можно рассматривать как правило восхождения от основания дерева к концевому узлу, представляющему желаемую букву источника. Дерево можно также использовать для представления кодовых слов кода, который не обладает свойством префикса, однако в этом случае некоторые промежуточные узлы дерева будут соответствовать кодовым словам. Обратим теперь наше внимание на задачу выбора кода, обладающего свойством префикса, так чтобы минимизировать Для префиксного кода приемник можно представить себе как устройство, наблюдающее последовательность кодовых букв и прослеживающее их путь вверх по дереву, как изображено рис. 3.2.2, чтобы декодировать сообщение источника.
Рис. 3.2.2. Представление в виде дерева кодовых слов кода III, изображенного на рис. 3.2.1. В каждом узле этого дерева следующий кодовый символ дает информацию о том, какое нужно взять ребро. Можно заметить, что сумма взаимных информаций в последовательных узлах, ведущих к некоторому данному концевому узлу, равна в точности собственной информации символа источника, соответствующего этому узлу. Таким образом, чтобы достичь малого значения Этот пример дает возможность произвести очевидное обобщение, позволяющее построить префиксные коды для общего множества букв источника. Разобьем вначале множество букв на
До того как обратиться к деталям процедуры минимизации средней длины множества кодовых слов, исследуем ограничения на длины кодовых слов префиксного кода. Теорема 3.2.1. [Неравенство Крафта (1949)]. Если целые числа
то существует код, обладающий свойством префикса, с алфавитом объема Доказательство. Назовем полным деревом порядка Пусть теперь построение будет закончено, кодовое дерево будет вложено в полное дерево, как показано на рис. 3.2.3. Для простоты обозначений, предположим, что
Рис. 3.2.3. Двоичное кодовое дерево (сплошные линии), дополненное до полного дерева (пунктирные линии) порядка 3. Продолжая этот процесс, после образования Чтобы доказать вторую часть теоремы, заметим, что кодовое дерево, соответствующее любому префиксному коду, может быть вложено в полное дерево, порядок которого равен наибольшей длине кодового слова. Из концевого узла порядка Докажем теперь теорему о длинах кодовых слов однозначно декодируемых кодов, которая оправдает наше рассмотрение кодов, обладающих свойством префикса. Теорема 3.2.2. Пусть задан код с длинами кодовых слов Доказательство. Пусть
Заметим, что в выражении, стоящем в правой части (3.2.4), различные слагаемые соответствуют каждой возможной последовательности из
где Если код однозначно декодируем, то все последовательности кодовых слов из
Неравенство (3.2.7) справедливо для всех положительных целых чисел Так как длины кодовых слов любого однозначно декодируемого кода удовлетворяют (3.2.3) и так как можно построить префиксный код для любого множества длин, удовлетворяющих (3.2.3), то любой однозначно декодируемый код можно заменить на префиксный код без изменения длин кодовых слов. Таким образом, последующие теоремы относительно средней длины кодового слова приложимы как к однозначно декодируемым кодам, так и к подклассу префиксных кодов.
|
1 |
Оглавление
|