Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Teoria_informatsii / Лекция 3.ppt
Скачиваний:
119
Добавлен:
22.03.2016
Размер:
266.24 Кб
Скачать

Теорема кодирования источников II

Для любого сколь угодно малого числа ε, существует метод кодирования блоков, содержащих L > 1 / ε символов, при котором для средней длины кодового слова на символ выполняется неравенство

n logHD

Избыточность кода

D 2

 

n H

1

H

n

 

n

Задача оптимального кодирования

A {a1,...,aN } P {p1,..., pN }

N

n ni pi

i 1

n min

D 2

N

2 ni 1

i 1

Метод Фано

Упорядоченный в порядке убывания вероятностей список букв делится на две последовательные части так, чтобы суммы вероятностей входящих в них букв как можно меньше отличались друг от друга. Буквам из первой части приписывается символ 0, а буквам из второй части – символ 1. Далее точно также поступают с каждой из полученных частей, если она содержит, по крайней мере, две буквы. Процесс продолжается до тех пор, пока весь список не разобьется на части, содержащие по одной букве. Каждой букве ставится в соответствие последовательность символов, приписанных в результате этого процесса данной букве. Легко видеть, что полученный код является префиксным.

Метод Фано

a1

0.20

0

0

 

 

00

a2

0.20

 

 

1

0

010

a3

0.19

 

 

 

1

011

a4

0.12

1

 

0

0

100

a5

0.11

 

 

 

1

101

a6

0.09

 

 

1

0

110

a7

0.09

 

N

 

1

111

 

 

 

 

 

 

 

 

n pini

2.8

 

 

i 1

Метод Шеннона

Метод Шеннона состоит в том, что букве ai, имеющей вероятность pi > 0, ставится в соответствие последовательность из

ni = ]log(1/pi)[ первых после дробной точки цифр разложения числа qi = p1 + … + pi–1 в бесконечную дробь.

На основе полученного префиксного кода строится усеченный префиксный код, который и является результатом кодирования по методу Шеннона.

ai a1 a2 a3 a4 a5 a6 a7

Метод Шеннона

ni

qi

Код ai

Усеченный код ai

]2.321…[ = 3

0

000

000

]2.321…[ = 3

0.2

001

001

]2.395…[ = 3

0.4

011

01

]3.058…[ = 4

0.59

1001

100

]3.183…[ = 4

0.71

1011

101

]3.472…[ = 4

0.82

1101

110

]3.472…[ = 4

0.91

1110

111

 

N

 

 

 

n pi ni

2.81

 

i 1

Метод Хаффмена

1.Упорядочение: буквы располагаются в порядке убывания их вероятностей.

2.Редукция: две буквы с наименьшими вероятностями объединяются в одну с суммарной вероятностью; список букв переупорядочивается в соответствии с шагом 1; процесс продолжается до тех пор, пока все буквы не будут объединены в одну. При этом можно добиться выравнивания длин кодовых слов с помощью следующей стратегии: если несколько букв имеют одинаковые вероятности, то объединяют те две из них, которые до этого имели наименьшее число объединений (правда на среднюю длину кода это не повлияет).

3.Кодирование: начиная с последнего объединения, последовательно приписываются одной компоненте составной буквы символ 0, а второй – символ 1; процесс продолжается до тех пор, пока все исходные буквы не будут закодированы.

Избыточность кода

 

 

N

 

 

1

 

 

 

H (X ) pi log

2.73

 

 

 

i 1

 

 

pi

 

Код Фано:

1

H

1

2.73

0.025

n

2.8

 

 

 

 

 

 

Код Шеннона:

1

H

1

2.73

 

0.028

 

 

n

 

2.81

 

Код Хаффмена:

1

H

1

2.73

0.018

 

 

n

 

2.78

 

Метод Хаффмена

1.Алфавит A = {a1, a2, a3, a4, a5, a6, a7},

P = {0.2, 0.2, 0.19, 0.12, 0.11, 0.09, 0.09}.

2.Объединим буквы a6 и a7 в одну букву a1 с вероятностью 0.18 и переупорядочим список: A1 = {a1, a2, a3, a1, a4, a5},

P1 = {0.2, 0.2, 0.19, 0.18, 0.12, 0.11}.

3.Повторим шаг 2 до тех пор, пока не останется одна буква в списке:

P2 = {0.23, 0.2, 0.2, 0.19, 0.18}, A2 = {a2, a1, a2, a3, a1};

P3

= {0.37, 0.23, 0.2, 0.2},

A3

= {a3, a2, a1, a2};

P4

= {0.4, 0.37, 0.23},

A4

= {a4, a3, a2};

P5

= {0.6, 0.4},

A5 = {a5, a4};

P6

= {1}, A6 = {a6}.

 

 

4.Присвоим двоичные коды символам:

a6: a5 = 0, a4 = 1; a5: a3 = 00, a2 = 01; a4: a1 = 10, a2 = 11;

a3: a3 = 000, a1 = 001; a2: a4 = 010, a5 = 011; a1: a6 = 0010, a7 = 0011.

a1 = 10, a2 = 11, a3 = 000, a4 = 010, a5 = 011, a6 = 0010, a7 = 0011.

N

n pi ni 2.78

i 1

Соседние файлы в папке Teoria_informatsii