10456

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

Реферат

Информатика, кибернетика и программирование

Алгоритмы сжатия изображений Введение В настоящее время в космических системах ДЗЗ отмечается быстрый рост производительности оптикоэлектронных систем съемки Земли в то время рост пропускной способности радиолиний передачи данных характеризуется более медленным...

Русский

2013-03-26

163 KB

83 чел.

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

Введение

В настоящее время в космических системах ДЗЗ отмечается быстрый рост производительности оптико-электронных систем съемки Земли, в то время рост пропускной способности радиолиний передачи данных характеризуется более медленными темпами. Это обстоятельство приводит к возрастанию требований к аппаратуре сжатия видеоинформации. Так, за последние 10 лет характерная степень сжатия алгоритмов, аппаратно реализуемых на борту, КА возросла с 2-3 до 10 и более раз. Такую степень сжатия невозможно реализовать при использовании алгоритмов сжатия без потерь. Поэтому, несмотря на то, что алгоритмы сжатия без потерь используются в современных космических системах (там, где потери радиометрической точности являются недопустимыми), наиболее активно развиваются и являются востребованными алгоритмы сжатия изображений с потерями. В настоящее время для этих целей, как правило, применяются алгоритмы 4 семейств, отличающихся по эффективности и по сложности реализации: ДИКМ (дифференциально-импульсная кодовая модуляция), ИСИ (иерархическая сеточная интерполяция), JPEG и алгоритмы на основе вейвлет-преобразования.

Алгоритмы семейства ДИКМ отличаются простотой аппаратной реализации на ПЛИС и строгим постоянством выходного информационного потока, однако качество сжатого изображения сохраняется на высоком уровне только при степени сжатия 4 бита на пииксел. При степени сжатия до 2 бита на пиксел деградация изображения становится очень большой, но еще приемлемой для некоторых применений. Сжатие до 1 бита на пиксел искажает изображение до неприемлемого уровня.

Алгоритм JPEG и его аналоги получили широкое распространение в компьютерной технике. Они отличаются умеренной сложностью аппаратной реализации и позволяют регулировать степень сжатия в широких пределах – до 0,5-1 бита на пиксел, причем при степени сжатия 1 бит на пиксел качество изображения оказывается достаточно высоким. К их недостаткам следует отнести непостоянство выходного информационного потока, которое требует использования буферной памяти.

Алгоритм ИСИ, по замыслу его разработчиков, должен был сочетать степень сжатия JPEG и простоту аппаратной реализации ДИКМ. На практике, однако, оказалось, что сложность реализации этого алгоритма сравнима со сложностью  реализации JPEG. Степень сжатия, достижимая при использовании алгоритма ИСИ, близка к таковой для JPEG, однако алгоритм вносит специфические точечные искажения в сжатое изображение, с которыми можно бороться, уменьшая степень сжатия.

Алгоритмы на основе вейвлет – преобразования являются наиболее эффективными алгоритмами, однако и сложность их реализации максимальна. Правда, следует отметить, что они так же, как и ДИКМ, могут обеспечивать постоянство выходного информационного потока.

Критерии качества изображений.

При сравнении алгоритмов сжатия изображений с потерями существует проблема, заключающаяся в том, что отсутствует критерий оценки качества сжатого изображения. На практике используются 4 критерия:

  •  Метод экспертных оценок
  •  Среднеквадратичное отклонение
  •  Максимальное отклонение
  •  Отношение "сигнал/шум".

Пусть x(i, j) – исходное изображение,

y(i, j) -сжатое изображение,

n – число пикселов в изображении.

Тогда:

Среднеквадратичное отклонение .

Максимальное отклонение .

Отношение "сигнал/шум" .

ДИКМ

Алгоритм ДИКМ основан на предсказании сигнала в кодируемом пикселе и на использовании одной или нескольких неравномерных шкал квантования.

Пример неравномерной шкалы квантования.

В некоторых модификациях алгоритма используются несколько шкал квантования. В качестве примера рассмотрим 2 шкалы – "грубую" и "тонкую", содержащие одинаковое количество ступеней. В начале используется грубая шкала квантования. Если для кодирования пиксела использовался код "в глубине шкалы" (не крайнее значение), то для кодирования следующего пиксела используется "тонкая" шкала квантования. Если для кодирования очередного пиксела  использовался код "на краю" шкалы, но для кодирования следующего пиксела используется "грубая" шкала. Этот подход позволяет заметно увеличить качество сжатого изображения.

Алгоритм JPEG

JPEG - один из новых и достаточно мощных алгоритмов. Практически, он является стандартом де-факто для полноцветных изображений. Оперирует алгоритм областями 8x8, на которых яркость и цвет меняются сравнительно плавно. Вследствие этого при разложении матрицы такой в двойной ряд по косинусам (см. формулы ниже) значимыми оказываются только первые коэффициенты. Таким образом, сжатие в JPEG ocуществляется за счет плавности изменения цветов в изображении.
Алгоритм разработан группой экспертов в области фотографии специально для сжатия 24-битовых изображений. JPEG - Joint Photographic
Expert Group- подразделение в рамках ISO - Международной организации по стандартизации. Название алгоритма читается как [jei'peg]. В целом алгоритм основан на дискретном косинусном преобразовании (в дальнейшем - ДКП), применяемом к матрице изображения для получения некоторой новой матрицы коэффициентов. Для получения исходного изображения применяется обратное преобразование.

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

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

Как работает алгоритм JPEG
Итак, рассмотрим алгоритм подробнее (рис. 6). Пусть мы сжимаем 8 - битовое изображение.

Рисунок 6.

Шаг 1. Разбиваем исходное изображение на матрицы 8x8.

Шаг 2. В упрощенном виде ДКП при n=8 можно представить так:

,      (11)

где

,       (12)

        (13)

Рисунок 7. Базисные функции одномерного ДКП.

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

Шаг 4. Производим квантование. В принципе это просто деление рабочей матрицы на матрицу квантования поэлементно.

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

В стандарт JPEG включены рекомендованные матрицы квантования, построенные опытным путем. Матрицы для большей или меньшей степени сжатия получают путем умножения исходной матрицы на некоторое число A.

С квантованием связаны и специфические эффекты алгоритма. При больших значениях коэффициента А потери в низких частотах мс быть настолько велики, что изображение распадется на квадраты 8x8. Потери в высоких частотах могут проявиться в так называемом эффекте Гиббса, когда вокруг контуров с резким переходом цвета образуется своеобразный "нимб".

Шаг 5. Переводим матрицу 8x8 в 64-элементный вектор при помощи "зигзаг"-сканирования, т. е. берем элементы с индексами (0,0), (0,1), (1,0), (2,0)...

Рисунок 8. "Зигзаг" – сканирование.

Таким образом, в начале вектора мы получаем коэффициенты матрицы, соответствующие низким частотам, а в конце - высоким.

Шаг 6. Свертываем вектор с помощью алгоритма группового кодирования. При этом получаем пары типа <пропустить, число>, где "пропустить" является счетчиком пропускаемых нулей, а "число" - значение, которое необходимо поставить в следующую ячейку. Так, вектор 42 3 0 0 0 2 0 0 0 0 1 ... будет свернут в пары (0,42) (0,3) (3,-2) (4,1)....

Шаг 7. Свертываем получившиеся пары кодированием по Хаффману с фиксированной таблицей.

Отрицательными сторонами алгоритма является то, что:

  •  При повышении степени сжатия изображение распадается на отдельные квадраты (8x8). Это связано с тем, что происходят большие потеря в низких частотах при квантовании и восстановить исходные данные становится невозможно.
  •  Проявляется эффект Гиббса - ореолы по границам резких переходов цветов.

Для обеспечения постоянства выходного информационного потока на выходе блока аппаратного устанавливается специальная буферная память небольшой емкости. Входящая информация разбивается на блоки (обычно по 8 строк), и каждый блок сжимается по отдельности. Объем сжатого блока сравнивается с заданным, и, если полученный объем больше заданного, происходит увеличение матрицы квантования, что приводит к увеличению степени сжатия в А раз. Подобный процесс, в сочетании с контролем степени заполненности буфера (при заполнении буфера на 50-75% степень сжатия увеличивается) приводит к тому, что на выходе буфера получается постоянный информационный поток.

Рисунок 9.

Алгоритм ИСИ

Метод иерархической сеточной интерполяции основан на идее сокращения избыточности входных данных за счет использования прореженного изображения для аппроксимации промежуточных отсчетов.

На рисунке показано расположение отсчетов для 4 иерархических уровней для на изображении размера 9х9.

Рисунок 10. Размещение отсчетов иерархических уровней на изображении

Анализируя схему, легко видеть, что r-й уровень представляет собой сетку с шагом 2r, из которой исключены отсчеты, лежащие в узлах сеток с шагами 2r+1, 2r+2 ... 2R-1 . Таким образом, данное представление не является избыточным и не увеличивает объем входных данных при сжатии. При этом иерархический уровень с большим шагом используется для аппроксимации уровня с меньшим шагом. Очевидно, что при таком подходе для сжатия каждого уровня представления изображения применяется один и тот же алгоритм, поэтому можно ограничиться описанием последовательности процедур обработки для уровня  произвольным фиксированным номером r. Общая схема процесса преобразования информации представлена на рис. 23.

Рисунок 11. Общая схема преобразования информации.

Вычисление предсказания значения для кодируемого пиксела осуществляется путем интерполяции по 2 или 4 соседним пикселам верхнего уровня иерархии. Квантование разностного сигнала осуществляется при помощи неравномерной шкалы или шкал, различных для каждого уровня.


 

А также другие работы, которые могут Вас заинтересовать

10449. Соответствие между дискретным преобразованием Фурье, рядом Фурье и непрерывным преобразованием Фурье 62.5 KB
  Соответствие между дискретным преобразованием Фурье рядом Фурье и непрерывным преобразованием Фурье. Как правило сигнал представленный в цифровом виде состоит из последовательности из последовательности из N отсчетов xn. Такому сигналу можно поставить в соответс
10450. Математическое описание непрерывных изображений. Преобразование Фурье. Дискретизация и восстановление изображений. Теорема Котельникова 163 KB
  Математическое описание непрерывных изображений. Преобразование Фурье. Дискретизация и восстановление изображений. Теорема Котельникова. А. Распределение освещенности на изображении описывается в общем случае непрерывной функцией от четырех переменных двух про
10451. Схемы переходов от непрерывных преобразований к дискретным преобразованиям 44 KB
  Схемы переходов от непрерывных преобразований к дискретным преобразованиям. Введем определения следующих операций: Частотным окном FW frequency window называется ограничение спектра сигнала по частоте. При этом спектр сигнала становится финитным. Окно не обязательно дол
10452. Глаз и психофизические свойства зрения. Зрительные явления. Модель одноцветного зрения. Модель цветного зрения 301 KB
  Глаз и психофизические свойства зрения. Зрительные явления. Модель одноцветного зрения. Модель цветного зрения. На выходе изображающих систем обычно создается фотоснимок или изображение на экране которые рассматриваются человеком. Поэтому очевидно что для эффективн
10453. Квантование изображений. Фотометрия и колориметрия. Преобразование координат цвета. Цветовое тело 788.5 KB
  Квантование изображений. Фотометрия и колориметрия. Преобразование координат цвета. Цветовое тело. Рассмотрим случай чернобелого панхроматического изображения. Для его представления в цифровом виде величину каждого отсчета дискретного изображения необходимо предс...
10454. Двумерные унитарные преобразования. Преобразование Фурье, косинусное, синусное, Адамара, Хаара 2.03 MB
  Двумерные унитарные преобразования. Преобразование Фурье косинусное синусное Адамара Хаара. А. Унитарные преобразования являются частным случаем линейных преобразований когда линейный оператор точно обратим а его ядро удовлетворяет условию ортогональности. В...
10455. Вейвлет-преобразование. Алгоритмы Лифтинга и Маллата 192.5 KB
  Вейвлетпреобразование. Алгоритмы Лифтинга и Маллата. Вейвлет компрессия в последнее время стала передовой технологией среди методов представления и сжатия сигналов и изображений. Методы сжатия с вейвлет преобразованием можно отнести к классу методов с исполь
10457. Алгоритмы сжатия на основе вейвлет-преобразования. Алгоритм SPIHT 63 KB
  Алгоритмы сжатия на основе вейвлетпреобразования. Алгоритм SPIHT. Изображение полученное при помощи вейвлетпреобразования можно сжимать различными способами. Большинство из них можно отнести к одной из двух категорий. К первой категории относятся способы сводящиеся