Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3 Сжатие графических изображений.docx
Скачиваний:
8
Добавлен:
20.08.2019
Размер:
259.4 Кб
Скачать

Сжатие изображения по стандарту jpeg

Данный алгоритм обеспечивает уменьшение размера файла в 25-100 раз за счет сжатия с потерями. Он разработан Международной организацией по стандартиза­ции (International Organization for Standardization, ISO). Метод JPEG достаточно сложен с вычислительной точки зрения, так как занимает много процессорного времени.

Первоначальное и восстановленное изображения — не одно и то же. Но информа­ция усекается не просто так. Некоторые данные можно исключить, и большинство людей этого не заметят. Кроме того, пользователь может контролировать уровень потерь, указывая степень сжатия в зависимости от того, что для него важнее — ка­чество изображения или экономия памяти.

Кодирование изображения по алгоритму JPEG подразделяется на несколько этапов.

  1. Преобразование цветового пространства из RGB в YUV. Канал Y содержит информацию о яркости, U и V — о цвете. Система зрения человека особенно чувствительна к Y-компоненте и менее чувствительна к U и V.

  • Y-компонента — это цветное изображение, показанное на черно-белом те­левизоре.

  • U-компонента — информация о синем цвете.

  • V-компонента — информация о красном цвете.

Поэтому Y-компонента будет сжиматься в меньшей степени, чем U и V.

  1. Прореживание. В U- и V-компонентах отбрасываются строки или столбцы пикселов с определенными номерами. Например, при прореживании с ко­эффициентами 2:1:1 будет отбрасываться информация о цвете для каждой второй строки и каждого второго столбца, в результате чего будет потеряно 75 % данных цветности. При коэффициенте 1:1:1 прореживания нет. На Y- компоненте прореживание не отражается.

  2. Дискретное косинусное преобразование (ДКП). Это удивительная матема­тическая операция, которая позволяет представить значения цвета в удобном для последующего сжатия виде (рис. 16.1).

Р ис. 16.1. Этапы сжатия

ДКП выполняется отдельно для Y-, U- и V-компонент. Изображение разби­вается на блоки размером 8 x 8 пикселов. Такой участок с большой вероят­ностью содержит пикселы близкого цвета. При ДКП информация о 64 пиксе­лах преобразуется в матрицу из 64 коэффициентов, которые характеризуют «энергию» исходных пикселов. Максимальные значения коэффициентов концентрируются в левом верхнем углу матрицы 8 x 8, минимальные — в пра­вом нижнем. Первый коэффициент передает подавляющую часть «энергии», а количество «энергии», представляемой остальными коэффициентами, быс­тро убывает. Таким образом, большая часть информации исходной матрицы 8 x 8 пикселов представляется первым элементом матрицы, преобразованной по ДКП. На этом этапе происходит некоторая потеря информации, связанная с принципиальной невозможностью точного обратного преобразования. Од­нако она незначительна по сравнению с потерями на следующем этапе.

  1. Квантование. Применяется для сокращения разрядности коэффициентов и заключается в делении имеющихся значений на какое-либо число. После отбрасываются малые изменения коэффициентов. Здесь происходит зна­чительная потеря информации. Поэтому после восстановления изображе­ния получаются уже другие значения пикселов. (Для U- и V-компонент квантование более грубое.)

  2. Полученные данные сжимаются по RLE-, LZW-алгоритму или алгоритму Хаффмана для достижения еще большей компрессии. Помимо применяемо­го кодирования наиболее часто встречающихся символов, последние нули в конце строки могут быть заменены символом «конец блока», а так как все блоки имеют одинаковый размер, всегда известно, сколько нулей было опущено.

При восстановлении изображения шаги выполняются в обратном порядке. Изображения, в которых соседние пикселы мало отличаются друг от друга, лучше поддаются сжатию. Однако чем меньше размер выходного файла, тем меньше степень «аккуратности» при работе программы-конвертора и, соот­ветственно, ниже качество выходного изображения. Обычно в программах, позволяющих сохранять растровые данные, есть возможность некоторого компромисса между объемом выходного файла и качеством изображения. При лучшем качестве (рис. 16.2, а) объем выходного файла в 3-5 раз меньше исходного не запакованного, при качестве похуже (рис. 16.2, б) — меньше ис­ходника в десятки раз, но, как правило, при этом качество изображения уже не позволяет использовать его в ответственных задачах.

а) б)

Рис. 16.2. Примеры сжатия изображения по алгоритму JPEG

Данный формат предназначен для хранения в основном фотографических изображений с большим количеством оттенков и цветовых переходов и почти не подходит для хранения однотонных изображений типа кадров из мульт­фильмов, скриншотов (сжатие будет слишком низким или качество картинки достигнет критической отметки). Этот метод сжатия графических данных ис­пользуется в файлах формата PDF, PostScript, собственно в JPEG и др.