Автор работы: Пользователь скрыл имя, 23 Октября 2017 в 18:10, реферат
Описание работы
Сегодня профессиональные фотоаппараты способны выдавать фотоснимки потрясающего качества, но для хранения необработанных снимков потребуется огромное количество дискового пространства. Именно поэтому специалистами всего мира не один год разрабатываются специальные алгоритмы, позволяющие сжимать растровые изображения до разумных пределов. У всех существующих на сегодня алгоритмов в основе заложены немного различные способы оптимизации итогового размера файла.
Дискретное косинусное преобразование
представляет собой преобразование информации
без потерь и не осуществляет никакого
сжатия. Напротив, дискретное косинусное
преобразование подготавливает информацию
для этапа сжатия с потерями или округления.
Округление представляет собой
процесс уменьшения количества битов,
необходимых для хранения коэффициентов
матрицы дискретного косинусного преобразования
за счет потери точности.
Стандарт JPEG реализует эту процедуру
через матрицу квантования. Для каждого
элемента матрицы дискретного косинусного
преобразования существует соответствующий
элемент матрицы квантования. Результирующая
матрица получается делением каждого
элемента матрицы дискретного косинусного
преобразования на соответствующий элемент
матрицы квантования и последующим округлением
результата до ближайшего целого числа.
Как правило, значения элементов
матрицы квантования растут по направлению
слева направо и сверху вниз. От выбора
матрицы квантования
зависит баланс между степенью
сжатия изображения и его качеством после
восстановления. Стандарт JPEG позволяет
использовать любую матрицу квантования,
однако ISO разработала набор матриц округления.
На этом этапе большинство JPEG-компрессоров
управляются с помощью установки качества.
Компрессор использует встроенную таблицу,
рассчитанную на среднее качество, и наращивает
или уменьшает значение каждого элемента
таблицы обратно пропорционально требуемому
качеству. Применяемые таблицы квантования
записываются в сжатый файл, чтобы декомпрессор
знал, как восстановить коэффициенты ДКП.
С квантованием связаны и специфические
эффекты алгоритма. При больших значениях
фактора качества потери в низких частотах
могут быть настолько велики,
что изображение распадется на квадраты
8х8. Потери в высоких частотах могут проявиться
в так называемом “эффекте Гиббса”, когда
вокруг контуров с резким переходом цвета
образуется своеобразный “нимб”.
Кодирование.
Переводим матрицу 8x8 в 64-элементный
вектор при помощи “зигзаг” - сканирования,
т.е. берем элементы с индексами (0,0), (0,1),
(1,0), (2,0)...
Таким образом, в начале вектора
мы получаем коэффициенты матрицы, соответствующие
низким частотам, а в конце — высоким.
Заключительная стадия работы
кодера JPEG - это собственно кодирование.
Оно включает три действия над округленной
матрицей дискретного косинусного преобразования,
для того, чтобы повысить степень сжатия.
Первое действие - это замена
абсолютного значения коэффициента, расположенного
в ячейке (0,0) матрицы, на относительное.
Так как соседние блоки изображения в
значительной степени “похожи” друг
на друга, то кодирование очередного (0,0)
элемента как разницы с предыдущим дает
меньшее значение.
Коэффициенты матрицы дискретного
косинусного преобразования обходятся
зигзагом. После чего нулевые значения
кодируются с использованием алгоритма
кодирования повторов (RLE), а потом результат
обрабатывается с помощью “кодирования
энтропии”, то есть алгоритмов Хаффмана
или арифметического кодирования, в зависимости
от реализации.