10456

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

Реферат

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

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

Русский

2013-03-26

163 KB

79 чел.

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

Введение

В настоящее время в космических системах ДЗЗ отмечается быстрый рост производительности оптико-электронных систем съемки Земли, в то время рост пропускной способности радиолиний передачи данных характеризуется более медленными темпами. Это обстоятельство приводит к возрастанию требований к аппаратуре сжатия видеоинформации. Так, за последние 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 соседним пикселам верхнего уровня иерархии. Квантование разностного сигнала осуществляется при помощи неравномерной шкалы или шкал, различных для каждого уровня.


 

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

76768. Кости и соединения плечевого пояса 181.88 KB
  Строение лопатки плоской кости треугольной формы: реберная передняя поверхность с лопаточной ямой для одноименной мышцы; задняя дорсальная поверхность с лопаточной остью над и подостной ямами для одноименных мышц; три угла: латеральный угол с суставной впадиной над и подсуставным бугорками шейкой лопатки; верхний угол для прикрепления поднимателя лопатки нижний угол на уровне УIII го межреберного промежутка ориентир при определении границ легких; два крупных отростка: клювовидный акромиальный с суставной поверхностью для...
76769. Плечевой сустав 180 KB
  У основания клювовидного отростка располагается подсухожильная синовиальная сумка подлопаточной мышцы сообщающаяся с полостью сустава. Мышцы выполняющие движения в плечевом суставе Сгибание дельтовидная передние пучки большая грудная двуглавая клювоплечевая мышцы. Разгибание дельтовидная задние пучки длинная головка трехглавой широчайшая мышца спины большая круглая и подостная мышцы. Отведение до горизонтального уровня дельтовидная и надостная а выше отводят трапециевидная мышца ромбовидные подниматель лопатки приведение...
76770. Соединения костей предплечья и кисти 183.33 KB
  В своей верхней части под проксимальным лучелоктевым суставом она имеет косой пучок толстых фиброзных волокон именуемый косой хордой. Проксимальный лучелоктевой сустав образуется при сочленении суставной окружности на головке луча и лучевой вырезки на проксимальном эпифизе локтевой кости. Он входит в состав локтевого сустава.
76771. Локтевой сустав 179.76 KB
  Шаровидный плечелучевой сустав изза тесной связи с другими двумя суставами утрачивает одну ось и движения в нем осуществляются по фронтальной и продольной оси. Капсула спереди и сзади тонкая возможность вывихов и укреплена по бокам внутри и снизу связками: боковыми коллатеральными: локтевой и лучевой; внутрисуставной кольцевой связкой лучевой кости; снизу квадратной между лучевой шейкой и дистальным краем лучевой вырезки на локтевой кости. Спереди у лучевой шейки возникает слепое синовиальное выпячивание.
76772. Суставы кисти 182.29 KB
  Среди запястнопястных суставов особое место занимает запястнопястный сустав большого пальца так как в процессе антропогенеза в нем сложились специфические приспособления для противопоставления оппозициорепозицио его остальным пальцам. Они сводятся к следующему: изоляции сустава от остальных запястнопястных суставов; формированию седловидной суставной поверхности у коститрапеции и I пястной кости; наличию широкой свободной капсулы; наклону фронтальной оси к ладони что обеспечивает не только сгибание и разгибание но и смещение пальца...
76773. Развитие и строение скелета нижней конечности 185.87 KB
  Все кости проходят через три стадии остеогенеза: фиброзную хрящевую костную. Скелет нижней конечности состоит из пояса правая и левая тазовые кости и свободной части включающей бедренную кость надколенник берцовые кости голени большую и малую кости стопы с предплюсной плюсной и фалангами пальцев. В предплюсну входят кости : пяточная и таранная ладьевидная клиновидные медиальная промежуточная латеральная и кубовидная. Плюсневых костей пять это короткие трубчатые кости.
76774. Кости таза и их соединения 183.03 KB
  Соединения костей таза: крестцовоподзвдошный сустав плоский трехосный с очень малым объемом движений образован ушковидными суставными поверхностями крестца и подвздошной кости; имеет прочную и сильно натянутую капсулу укрепленную крестцовоподвздошными связками: вентральными межкостными и дорсальными; крестцовокопчиковый сустав между верхушкой крестца и I копчиковым позвонком в межпозвоночном диске сустава щель зарастает после 50 лет; сустав укреплен крестцовокопчиковыми связками: вентральными дорсальными и глубокими дорсальными...
76775. Тазобедренный сустав 180.98 KB
  Суставная капсула состоящая из фиброзной и синовиальной мембран прикрепляется по краю вертлужной губы а на бедренной кости по шейке: спереди по межвертельной линии сзади внутрь от межвертельного гребня. Внутри сустава располагается связка головки бедренной кости которая в период его формирования удерживает головку во впадине. Они кровоснабжаются следующими артериями: подвздошнопоясничной верхней ягодичной запирательной наружной половой глубокой и латеральной окружающими подвздошную кость нисходящей коленной мышечными ветвями...
76776. Коленный сустав 180.6 KB
  К внутренним связкам относятся крестообразные: передняя и задняя заполняющие межмыщелковую яму бедренной кости и межмыщелковое поле большеберцовой кости. Коленный сустав типичный мыщелковый сложный и комплексный в нем выполняются следующие движения: вокруг фронтальной оси: сгибание и разгибание с размахом в 140150 о; сгибание тормозят крестовидные связки и сухожилие четырехглавой мышцы; мыщелки бедренной кости при этом скользят по менискам; вокруг продольной вертикальной оси объем активного вращения в среднем 15 о пассивного 3035...