Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Методические указания к заданию 3.3




 

В 1952 году Дэвид Хаффман предложил метод экономного префиксного кодирования с минимальной избыточностью. Как и код Шеннона-Фано, код Хаффмана требует получения априорных сведений о статистических свойствах источника сообщения, то есть необходима таблица абсолютных частот симво-лов данного сообщения. На основе этих данных строится кодовое дерево, также называемое деревом Хаффмана или H-деревом. В отличие от кода Шеннона-Фано, дерево Хаффмана строится в направлении от листьев к корню (в обрат-ном направлении).

 

Построение кодового дерева начинают с того, что формируют набор ли-стьев, имеющих веса, равные частотам появления символов в исходном (сжи-маемом) сообщении. Листья ранжируют в соответствии с их весами (записыва-ют веса справа налево в порядке их возрастания). Затем выбирают пару узлов (листьев), имеющих наименьший вес, которые соединяют дугами с новым уз-лом, вес которого равен сумме весов присоединенных к нему потомков. Обра-зовавшийся узел называется родителем. Новый узел (родитель) участвует в

 

14


_______________________________________________________________________________

 

дальнейших построениях дерева. Процедура объединения свободных узлов ве-дется до тех пор, пока не останется единственный узел (корень дерева).

 

На рис. 4 показан первый этап построения дерева.

 

 

Рис. 4 - Первый этап формирования дерева Хаффмана

 

На втором шаге аналогично объединим общим родителем узлы, соответст-вующие символам «5» и «6». На третьем шаге, имея несколько возможностей для объединения узлов, выберем сформированные на первых двух шагах узлы с весом 2 (рис. 5).

 

Рис. 5 - Третий шаг построения дерева Хаффмана

 

На четвертом шаге объединяем узлы «3» и «Н», получая новый узел с ве-сом 5 (рис. 6).

 

Рис. 6 – Четвертый шаг построения дерева Хаффмана

 

На пятом шаге узлами с наименьшими весами, используемыми для по-строения, выберем «2» с весом 3 и составной узел «5, 6, И, Пробел» с весом 4 (рис. 7).

 

Рис. 7 – Пятый шаг построения дерева Хаффмана

 

15


_______________________________________________________________________________

 

 

На шестом шаге объединяем узел «7» с весом 4 и составной узел «3, Н» с весом 5 (рис. 8).

 

Рис. 8 – Шестой шаг построения дерева Хаффмана

 

В результате объединения двух составных узлов «7, 3, Н» с весом 9 и «2, 5, 6, И, Пробел» с весом 7 получаем итоговое дерево (рис. 9).

 

Рис. 9 - Дерево Хаффмана

 

Кодовые слова формируются так же, как и в случае кода Шеннона-Фано.

 

Все разрешенные кодовые комбинации кода Хаффмана приведены в таблице.

 

Символ

Кодовая ком-

Символ

Кодовая комби-  

бинация

нация

 
     
7 11 5 0011  
2 01 6 0010  
3 101 И 0001  
Н 100   0000  

 

Закодированное сообщение выглядит так: «000110010000000010101111010101110011110110111». Общая длина закодиро-ванного сообщения равна 45 бит, средняя длина кодовой комбинации

n 45 2,813 бит/символ.Избыточность сжатого сообщения равна:

16

 

16


_______________________________________________________________________________

 

L1

2, 781

100% 1,13% .

 
     

2, 813

   
       

 

Средняя длина и избыточность для рассмотренного примера получились такими же, как у кода Шеннона-Фано.

 

Полученные коды Шеннона-Фано и Хаффмана обладают свойством пре-фиксности. Это означает, что ни одна кодовая комбинация не является началом другой, что позволяет обеспечить однозначное декодирование и нет необходи-мости двоичные символы разделять пробелами.

 

Как уже отмечалось ранее, для кодирования и декодирования сообщений, сжатых по методам Шеннона-Фано и Хаффмана, кодек должен обладать апри-орной информацией о статистике сообщения. Поэтому кроме самого сообщения на приемную сторону необходимо передать таблицу частот символов данного сообщения, что увеличивает длину передаваемых данных и снижает фактиче-скую эффективность сжатия. Тем не менее, этот недостаток нивелируется при сжатии больших объемов данных, например, при сохранении изображений в формате JPEG.

 

 




Список литературы

 

1. Алексеев А.П. Информатика 2007.– СОЛОН-ПРЕСС, 2007. – 608 с.

2. Shannon C. E. «A mathematical theory of communication», Bell Sys. Tech.

Jour., vol. 27, pp. 379-423; July, 1948.

 

3. Huffman D. A., «A method for the construction of minimum-redundancy codes», Proc. Inst. Radio Engineers, vol. 40, no. 9, pp. 1098-1101, Sep. 1952.

 

 

17


_______________________________________________________________________________

 

 


Приложение 1

 

Таблица СР-1251

пробел 32 ! 33 " 34 # 35 $ 36
% 37 & 38 ' 39 ( 40 ) 41
* 42 + 43 , 44 - 45 . 46
/ 47 0 48 1 49 2 50 3 51
4 52 5 53 6 54 7 55 8 56
9 57 : 58 ; 59 < 60 = 61
> 62 ? 63 @ 64 A 65 B 66
C 67 D 68 E 69 F 70 G 71
H 72 I 73 J 74 K 75 L 76
M 77 N 78 O 79 P 80 Q 81
R 82 S 83 T 84 U 85 V 86
W 87 X 88 Y 89 Z 90 [ 91
\ 92 ] 93 ^ 94 _ 95 ` 96
a 97 b 98 c 99 d 100 e 101
f 102 g 103 h 104 i 105 j 106
k 107 l 108 m 109 n 110 o 111
p 112 q 113 r 114 s 115 t 116
u 117 v 118 w 119 x 120 y 121
z 122 А 192 Б 193 В 194 Г 195
Д 196 Е 197 Ж 198 З 199 И 200
Й 201 К 202 Л 203 М 204 Н 205
О 206 П 207 Р 208 С 209 Т 210
У 211 Ф 212 Х 213 Ц 214 Ч 215
Ш 216 Щ 217 Ъ 218 Ы 219 Ь 220
Э 221 Ю 222 Я 223 а 224 б 225
в 226 г 227 д 228 е 229 ж 230
з 231 и 232 й 233 к 234 л 235
м 236 н 237 о 238 п 239 р 240
с 241 т 242 у 243 ф 244 х 245
ц 246 ч 247 ш 248 щ 249 ъ 250
ы 251 ь 252 э 253 ю 254 я 255

 

 

18










Последнее изменение этой страницы: 2018-05-10; просмотров: 223.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...