Групповые эффективные коды. Кодирование Хаффмана для факсимильной передачи

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

Факсимильная передача – это процесс передачи неподвижного изображения или двумерного образа как последовательности последовательных строчных разверток. В действительности, наиболее распространенными образами являются документы, содержащие цифры и текст. Положение строчное развертки и положение вдоль развертки квантуется в пространственное расположение, которое определит двумерную координатную сетку элементов картинки, называемых пикселями. Ширина стандартного формата МСЭТ определяется равной 20,7 см.(8,27 дюймов), а длина 29, 2 см .(11,7 дюймов). Пространственное квантование для нормального расширения составляет 1 728 пикселей/строку и 1 188 строк на документ. Стандарт также определяет квантование с высоким разрешением с теми же 1 728 пикселей на строку, но с 2 376 строками на документ.

Общее число отдельных пикселей для факсимильной передачи с нормальным разрешением составляет 2052864 и оно удваивается для более высокого разрешения. Для сравнения, число пикселей частного американского телевидения 307200. Т.о., факсимильное изображение имеет разрешение в 6. 7 или в 13, 4 раза больше разрешения стандартного телевизионного образа.

Относительная яркость или затененность разверточного образа в каждом положении на строке развертки квантуется на 2 уровня: Ч – черный, Б – белый. Т.о., сигнал, наблюдаемый на протяжении линии развертки, - это двухуровневая модель, представляющая элементы черный и белый. Горизонтальной развертка страницы будет представлять последовательность, состоящей из длинных групп уровней черного и белого. Легко видеть, что горизонтальная развертка данной страницы будет представлять последовательность, состоящую из длинных групп уровней Ч и Б. Стандарт МСЭТ схемы группового кодирования для сжатия отрезков черного и белого уровней базируется на коде Хаффмана переменной длины, который приведен в таблице. (В приведённой здесь таблице заполнены только те строки, которые используются в рассматриваемом ниже примере). Определяется два типа шаблона: белый и черный. Таблица состоит из двух таблиц. В верхней таблице приведены коды для групп черных и белых символов, длины которых кратны 64. Во второй таблице представлены оконечные кодовые слова, т. е. приведены коды для групп от 0 до 63 символов. Каждой серии из знаков Ч или Б длиной от 0 до 63 соответствует единственной кодовое слово Хаффмана, как и каждой группе длины .

Так же кодом определен уникальный символ конца строки (End Of Line - EOL), который устанавливает, что дальше не идет четный или белый символ. Следовательно, должна начаться новая строка.

Таблица 1 – Модифицированный код Хаффмана для стандартных кодов связи МСЭТ

Длина группы Черные (Ч) Белые (Б)
EOL

 

Таблица 2 – Оконечные кодовые слова

Длина группы Черные (Ч) Белые(Б)

 

Рассмотрим пример использования кода группового кодирования. Используем модифицированный код Хаффмана для сжатия строки

200 Б 10 Ч 10 Б 84 Ч 1424 Б,

состоящей из 1728 пиксельных элементов.

Используя таблицы, определяем, каким должно быть кодирование этой модели:

192Б – 010111; 8Б – 10011; и т.д.

010111 10011 0000100 00111 0000001111 00001101000 000000000001

192 Б 8 Б 10 Ч 10 Б 64 Ч 20 Ч EOL

Итак, требуется всего 56 бит, чтобы послать эту строку, содержащую 1728 бит.