Исследователями
визуального восприятия человека отмечено, что далеко не вся информация требуется
для того, чтобы адекватно воспринимать цветное изображение. Для реализации этого
закона были разработаны алгоритмы с потерей информации, которые обеспечивают
выбор уровня компрессии с уровнем качества изображения (рис. 10.4). Тем самым
достигается компромисс между размером и качеством изображений.
Рис.
10.4. Компромисс между качеством и уровнем компрессии
Наиболее известным
методом компрессии с потерями является JPEG-компрессия. Метод компрессии основан
на особенности человеческого восприятия: глаз достаточно четко различает яркость
объекта и цветовые контрасты, а плавные изменения в светах и тенях значительно
меньше. При записи такой изобразительной информации часть цветовых данных может
быть опущена, как предполагается, без заметного ущерба для восприятия.
Для этого обработка
изображения происходит в несколько этапов. Сначала изображение конвертируется
в особое цветовое пространство, напоминающее цветовую модель CIE Lab, в котором
один канал сохраняет яркостные характеристики, а в остальных двух цветовых каналах
уменьшается разрешение (по методу мозаики).
Замечание
RGB-изображение конвертируется в пространство YUV (иногда называемое также YcrCb), основанное на характеристиках яркости (составляющая Y) и цветности (составляющие U и V).
Затем изображение
разбивается на фрагменты квадратной формы со стороной в 8 пикселов. Каждый фрагмент
подвергается достаточно сложным математическим преобразованиям.
Замечание
Название этого преобразования — дискретное косинус-преобразование (ДКП). Одновременно каждый блок разлагается на составляющие цвета и производится подсчет частоты встречаемости каждого цвета. Информация о частоте позволяет исключить небольшую часть яркостной характеристики и довольно значительную цветовой. Уровень исключения информации как раз и определяется установкой требуемого качества.
Затем информация
о яркости и цвете кодируется таким образом, что остаются только различия между
соседними блоками. Результатом всего процесса обработки являются последовательности
простых чисел, которые в свою очередь легко сжимать каким-либо алгоритмом сжатия
без потерь из уже упомянутых, например алгоритмом Хаффмана.
Замечание
Алгоритмы сжатия с потерями, в частности алгоритм JPEG, не позволяют полностью восстановить изображение до его исходного состояния, а следовательно, не рекомендуется сжимать изображения несколько раз.