Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 3, КТ.doc
Скачиваний:
8
Добавлен:
24.11.2019
Размер:
18.19 Mб
Скачать

36

Постоянная тенденция в современной наукоемких областях науки и техники, таких, как экспериментальная физика, космические исследования, оборонные исследования, медицина – рост объемов двоичной информации. Зачастую недопустимы потери даже части данных.

Это приводит к появлению проблем, связанных с увеличением нагрузок на средства хранения и передачи данных.

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

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

В конце 60-x годов, 20 – го века, Колмогоровым была доказана возможность построения кодирования, получившего название универсального кодирования.

Отличительным свойством универсального кодирования является то, что для дан­ного класса источников, оно устраняет избыточность из исходного потока двоичных данных за счет увеличения длины блоков, на которые разбивается исходная последовательность, без знания статистических характеристик конкретного источника.

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

Существуют следующие пути преодоления трудностей реализации.

  • Создание новых методов универсального кодирования.

  • Разработка методики оптимального выбора длины исходных блоков.

  • Разработка менее трудоемких способов нумерации кодовых элементов.

  • Использование достижений современной элементной базы (флэш - технологии, ЭВМ на одном кристалле и т.д.).

В данной лекции рассмотрим результаты работы по созданию и исследованию конкретного метода универсального коди­рования (УК).

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

Допустим, что известны какой-либо параметры n - блока. В этом случае после исходного разбиения по признаку соответствия n - блока этим параметрам, в подмножествах окажется меньше элементов, чем 2n. Но тогда можно предполо­жить, что трудоемкость кодирования уменьшится, за счет уменьше­ния количества элементов в подмножествах и не будет носить экспоненциальный характер.

В связи с этим сформулируем метод УК и в дальнейшем исследуем его эффек­тивность и трудоемкость.

Пусть источник порождает последовательность статистически независимых символов «1» и «0» с вероятностями p и q, нам неизвестными.

Разобьем всю последовательность двоичных символов, порождаемую источником на блоки длиной n(n - блоки).

Под избыточностью, приходящейся на символ исходной последова­тельности, будем понимать величину:

Rn (p) = nср /n - Н (p) , где (1)

nср - средняя длина кодового слова - это

сумма произведений всех возможных кодовых слов на вероятности их появления.

Н (p) - энтропия источника, минимальная теоретически возможная избыточность:

Н (р) =-(p log2p+q log2q)

Качество кодирования будет определяться величиной Rn ­- избыточностью кодирования:

Rn = Sup Rn (p), где 0‹p‹1 (2).

Данный код является универсальным, если для него выполняется условие:

im Rn = 0 (3).

n

Перейдем к определению кодирования. Рассмотрим множество n , элементами которого являются

все возможные двоичные числа, разрядностью n, всего 2n

элементов. На Рис. 1 представлены элементы множества N для n = 5, расположенные в порядке возрастания.

Рис.1. Элементы множества N для n = 5, расположенные в порядке возрастания

Определим на N подмножества, обозначим их Mk ,Ls.

Элементами МК являются все элементы множества N , содержащие k единиц (0 ≤ k ≤ n). Элементами Ls являются все элементы множества N , сумма номеров позиций единиц которых равна S (0 ≤ S≤ n(n+1)/2). На Рис. 1 показаны эти подмножества для n = 5.

Определим Rk,s , как пересечение Mk ,Ls.

Обозначим r(n,k,s) количество элементов множества Rk,s.

Поставим в соответствие каждому элементу множества Rk,s номер b(n,k,s), причем 0 ≤ b(n,k,s) ≤ r(n,k,s) – 1.

Определим кодовое слово w соответствующее n -блоку, как упорядоченную тройку двоичных наборов (k, s, b(n,k,s)). Длина кодового слова (в битах) будет равна:

L=]log 2 (n+1)[+ ]log 2 (n(n+1)/2+1 [+]log 2 r(n,k,s)[ (4).

Код определим, как множество W элементами которого являются все кодовые слова w. Из построения следует, что W - префикс­ное множество, а, следовательно, между n -блоками и кодовыми сло­вами w существует взаимо однозначное соответствие.

Данное кодирование назовем кодированием тройками двоичных наборов (сокращенно КТ).

Теорема 1. КТ облает свойством универсальности для бернуллиевских источников.

Доказательство. Обозначим η(n,k,s) вероятность появления n -блока содержащего k единиц и при этом имеющего сумму номе­ров позиций единиц равную S .

η(n,k,s)=r(n,k,s)p.

Запишем выражение для средней длины кодового слова - nср.

n smax(k)

nср=]log2 (n+1)[+]log2 (n(n+1)/2+1[+∑∑ η(n,k,s)]log2 r(n,k,s)[

K=0 s=smin(k) (5)

S min(k) = k(k+1)/2;

S max(k) =kn - k(k+1)/2 (6)

Далее:

nср log2 (n+1)+ log2 (n(n+1)/2+1)+∑∑ η(n,k,s)log2 r(n,k,s)+2 (7)

K s

Учтем, что:

n(n+1)/2+1=(n2+n+2)/2(n2+2n+1)/2=(n+1)2/2 для любого n.

Тогда: nср 3log2 (n+1)+∑∑ η(n,k,s)log2 r(n,k,s) +2

K s

Проведем некоторые тождественные преобразования.

∑∑ η(n,k,s)log2 r(n,k,s)=∑∑ η(n,k,s)log2 η(n,k,s)-

K s K s

K s K s

- ∑∑ η(n,k,s)log2 pkqn-k=H- ∑∑ η(n,k,s)k log2 p -

K s K s

-∑∑ η(n,k,s) (n-k) log2 q

K s

Из комбинаторных соображений ясно (Рис. 1), что:

r (n,k,s)= Ckn

s

Тогда:

∑∑ η(n,k,s)k log2 p= Ckn pkqn-k k log2 p ≤ n log2 p

K s K

Аналогично:

∑∑ η(n,k,s) (n-k) log2 q= Ckn pkqn-k(n-k) log2 q≤ n log2 q

K s K

Следовательно:

nср 3log2 (n+1) + H′+ nH(p)+2

Rn (p) = nср /n - Н (p) ≤ (3log2 (n+1))/n+ H′/n+ Н (p)+2/n-H(p)

Так как: H′≤0

Rn (p) ≤ (3log2 (n+1))/n+2/n (8)

Следовательно: im Rn = 0

n → ∞

Теорема доказана.

На Рис. 2 представлены графики иллюстрирующие свойства сформулированного метода кодирования. Значения избыточности кодирования были вычислены на ЭВМ в соответствии с фор­мулами (1) и (7) с точностью до трех знаков. Показана так же верхняя граница избыточности, вычисленная по формуле (8).

Рис. 2. Зависимости избыточности кодирования