Модифицированное кодирование Хаффмана используется в факсимильных аппаратах для кодирования черно-белых изображений ( битовых изображений ). Оно объединяет коды переменной длины кодирования Хаффмана с кодированием повторяющихся данных в кодировании длин серий .
Базовое кодирование Хаффмана обеспечивает способ сжатия файлов, содержащих много повторяющихся данных, например, файла с текстом, где буквы алфавита являются повторяющимися объектами. Однако одна строка сканирования содержит только два типа элементов — белые пиксели и черные пиксели, — которые можно представить непосредственно как 0 и 1. Этот «алфавит», состоящий всего из двух символов , слишком мал для непосредственного применения кодирования Хаффмана . Но если мы сначала используем кодирование длин серий, у нас может быть больше объектов для кодирования. Вот пример, взятый из статьи о кодировании длин серий :
Гипотетическая строка сканирования, где B представляет черный пиксель, а W представляет белый, может выглядеть следующим образом:
WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
Применив алгоритм сжатия данных с использованием кодирования длин серий (RLE) к приведенной выше гипотетической строке сканирования, ее можно визуализировать следующим образом:
12W1B12W3B24W1B14W
Здесь мы видим, что у нас есть, в дополнение к двум элементам "белый" и "черный", несколько различных чисел. Эти числа предоставляют множество дополнительных элементов для использования, поэтому кодирование Хаффмана может быть напрямую применено к последовательности выше, чтобы уменьшить размер еще больше.