Теория информации

log 2 (0,2)=2,3 бита. Понятно, что префиксный код Хаффмана не может иметь такую длину, т.е. в конечном итоге это приводит к ухудшению сжатия данных. Например 5.10. Идею арифметического кодирования лучше всего рассмотреть на простом примере. Предположим, что необходимо закодировать три символа входного потока, для определенности – это строка: SWISS_MISS с заданными частотами появления символов: S – 0,5; W – 0,1; I – 0,2; M – 0,1; _ - 0,1. В арифметическом кодере каждый символ представляется интервалом в диапазоне чисел [0, 1) в соответствии с частотой его появления. В данном примере, для символов нашего алфавита получим следующие наборы интервалов (см. рис. 2.2): Рис. 2.2. В арифметическом кодере каждый символ входного потока SWISS_MISS Процесс кодирования начинается со считывания первого символа входного потока и присвоения ему интервала из начального диапазона [0, 1). Для данного примера: первый символ - S лежит в диапазоне [0,5, 1), второй символ – W лежит в диапазоне [0,4, 0,5). Исходный диапазон [0, 1) при считывании первого символа S сокращается до диапазона [0,5, 1). Поэтому символ W необходимо представить в этом

RkJQdWJsaXNoZXIy MTY0OTYy