Алгоритмы cжатия изображений
cd7c7591

Попробуем на этом этапе сделать


Попробуем на этом этапе сделать некоторые обобщения. С одной стороны, приведенные выше алгоритмы достаточно универсальны и покрывают все типы изображений, с другой — у них, по сегодняшним меркам, слишком маленький коэффициент архивации. Используя один из алгоритмов сжатия без потерь, можно обеспечить архивацию изображения примерно в два раза. В то же время алгоритмы сжатия с потерями оперируют с коэффициентами 10-200 раз. Помимо возможности модификации изображения, одна из основных причин подобной разницы заключается в том, что традиционные алгоритмы ориентированы на работу с цепочкой. Они не учитывают, так называемую, “когерентность областей” в изображениях. Идея когерентности областей заключается в малом изменении цвета и структуры на небольшом участке изображения. Все алгоритмы, о которых речь пойдет ниже, были созданы позднее специально для сжатия графики и используют эту идею.
Справедливости ради следует отметить, что и в классических алгоритмах можно использовать идею когерентности. Существуют алгоритмы обхода изображения по “фрактальной” кривой, при работе которых оно также вытягивается в цепочку; но за счет того, что кривая обегает области изображения по сложной траектории, участки близких цветов в получающейся цепочке удлиняются.





Алгоритм Особенности изображения, за счет которых происходит сжатие
RLE Подряд идущие одинаковые цвета: 2 2 2 2 2 2 15 15 15
LZW Одинаковые подцепочки: 2 3 15 40 2 3 15 40
Хаффмана Разная частота появления цвета: 2 2 3 2 2 4 3 2 2 2 4
CCITT-3 Преобладание белого цвета в изображении, большие области, заполненные одним цветом
Рекурсивный Плавные переходы цветов и отсутствие резких границ
JPEG Отсутствие резких границ
Фрактальный Подобие между элементами изображения


 
 

Алгоритм

К-ты сжатия

Симметричность по времени

На что 

ориентирован

Потери

Размерность
RLE 32, 2, 0.5 
1
3,4-х битные
Нет

1D
LZW 1000, 4, 5/7
1.2-3
1-8 битные
Нет

1D
Хаффмана 8, 1.5, 1
1-1.5
8 битные
Нет

1D
CCITT-3 213(3), 5, 0.25
~1
1-битные
Нет

1D
JBIG 2-30 раз
~1
1-битные
Нет

2D
Lossless JPEG 2 раза
~1
24-битные, серые
Нет

2D
JPEG 2-20 раз
~1
24-битные, серые
Да

2D
Рекурсивное сжатие 2-200 раз 1.5
24-битные, серые Да
2D
Фрактальный 2-2000 раз
1000-10000
24-битные, серые
Да

2.5D


В приведенной таблице отчетливо видны тенденции развития алгоритмов графики последних лет:
ориентация на фотореалистичные изображения с 16 миллионами цветов (24 бита);
использование сжатия с потерями, возможность за счет потерь регулировать качество изображений;
использование избыточности изображений в двух измерениях;
появление существенно несимметричных алгоритмов;
увеличивающаяся степень сжатия изображений.

Содержание раздела