Попробуем на этом этапе сделать
Попробуем на этом этапе сделать некоторые обобщения. С одной стороны, приведенные выше алгоритмы достаточно универсальны и покрывают все типы изображений, с другой — у них, по сегодняшним меркам, слишком маленький коэффициент архивации. Используя один из алгоритмов сжатия без потерь, можно обеспечить архивацию изображения примерно в два раза. В то же время алгоритмы сжатия с потерями оперируют с коэффициентами 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 бита); использование сжатия с потерями, возможность за счет потерь регулировать качество изображений; использование избыточности изображений в двух измерениях; появление существенно несимметричных алгоритмов; увеличивающаяся степень сжатия изображений. |