stringtranslate.com

Модифицированное кодирование Хаффмана

Модифицированное кодирование Хаффмана используется в факсимильных аппаратах для кодирования черно-белых изображений ( битовых изображений ). Оно объединяет коды переменной длины кодирования Хаффмана с кодированием повторяющихся данных в кодировании длин серий .

Базовое кодирование Хаффмана обеспечивает способ сжатия файлов, содержащих много повторяющихся данных, например, файла с текстом, где буквы алфавита являются повторяющимися объектами. Однако одна строка сканирования содержит только два типа элементов — белые пиксели и черные пиксели, — которые можно представить непосредственно как 0 и 1. Этот «алфавит», состоящий всего из двух символов , слишком мал для непосредственного применения кодирования Хаффмана . Но если мы сначала используем кодирование длин серий, у нас может быть больше объектов для кодирования. Вот пример, взятый из статьи о кодировании длин серий :

Гипотетическая строка сканирования, где B представляет черный пиксель, а W представляет белый, может выглядеть следующим образом:

WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW 

Применив алгоритм сжатия данных с использованием кодирования длин серий (RLE) к приведенной выше гипотетической строке сканирования, ее можно визуализировать следующим образом:

12W1B12W3B24W1B14W

Здесь мы видим, что у нас есть, в дополнение к двум элементам "белый" и "черный", несколько различных чисел. Эти числа предоставляют множество дополнительных элементов для использования, поэтому кодирование Хаффмана может быть напрямую применено к последовательности выше, чтобы уменьшить размер еще больше.

Смотрите также

Внешние ссылки