10456

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

Реферат

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

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

Русский

2013-03-26

163 KB

73 чел.

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

Введение

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


 

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

53772. Організуючі, стройові та ЗРВ. Спеціальні бігові та стрибкові вправи. Рухливі ігри 75 KB
  Стройові вправи: Праворуч Ліворуч Кругом Ліворуч Ліворуч Рівняйсь струнко Ходьба: звичайна навшпиньках на п’ятках з високим підніманням стегна руки перед собою у напівприсіді у повному присіді звичайна. руки на пояс. руки до плечей колові оберти зігнутими в ліктях руками вперед назад. руки в сторони сжаті в кулачки на 123 – розвести руки в сторони на 4 – зігнути руки до...
53773. Ярослав Стельмах. «Митькозавр із Юрківки, або химера лісогвого озера». Характеристика образів Сергія і Митька, їхньої поведінки у складних ситуаціях 48.5 KB
  Мета: Удосконалювати навички визначення рис характеру героїв твору вміння висловлювати свої думки про прочитане; розвивати навички переказу виразного і вибіркового читання спостережливість увагу; виховувати допитливість доброту любов до ближніх. Обладнання: схема з рисами характеру героїв портрет Ярослава Стельмаха. Завдання: учні мають удосконалити навички визначати риси характеру героїв твору і оцінювати їхні вчинки; закріпити вміння переказувати твір віднаходити цитати за поданим завданням висловлювати своє враження про...
53774. Малювання композиції Дерева у лісі 656 KB
  Провести бесіду В художникаграфіка; розвивати умінняспостерігати і виявляти особливості будови дерев різних порід; ознайомити звиразними особливостями ліній різної товщини навчити прийомам роботи зпаличкою пензлем пером або восковими крейдами на вибір учителя ітушшю; формувати уміння заповнювати зображенням усю площину аркушапаперу; виховувати любов до рідної природи дбайливе ставлення до матеріалівта інструментів акуратність під час роботи з тушшю;...
53775. Дієслова майбутнього часу 65.5 KB
  Життя прожити не поле перейти Хочеш знати – не соромся питати Гарно того вчити – хто хоче все знати Щоб довго жити треба працю любити Знайдіть дієслова в неозначеній формі. Чи можна визначити за цими дієсловами коли відбулася дія і хто її виконує Чому Не можна бо неозначена форма дієслова не вказує ні на час ні на особу 2. Запитання вчителя : Що називається дієсловом Частина мови що означає дію предмета і відповідає на питання що робити Що робив Що зробив Що робить Що зробить Що буде робити Яким...
53776. Підготовка до творчої роботи. «Мій улюблений герой казки» 58.5 KB
  Мій улюблений герой казки. Мій улюблений герой казки. Що складає основний зміст більшості казок В основі казки захоплива розповідь про вигадані події і явища які сприймаються і переживаються як реальні. Які різновиди казок ви знаєте Казки про тварин фантастичні побутові...
53777. Розвиток національного театру («Березіль» Леся Курбаса та Харківський театр ім. І.Франка). Пєси В.Винниченка, М.Куліша, І. Дніпровського, І. Кочерги 104.5 KB
  Антоніна Куліш дружина митця у своїх мемуарах Спогади про Миколу Куліша завершених у 1953 році у Філадельфії детально виклала один із драматичних моментів його дитячих літ записаний зі слів письменника що засвідчує що мати його неодноразово била за брехню та інші провини. Чаплинські інтелігенти особливо енергійний шкільний вчитель Володимир Пилипович Губенко...
53778. Групи слів за значенням. Омоніми 103 KB
  Мета: поглибити знання учнів набуті у молодшій школі; навчити п’ятикласників знаходити в тексті омоніми; сприяти виробленню вмінь та навичок правильно використовувати різні за значенням групи слів в усному та писемному монологічному і діалогічному мовленні; за допомогою вправ різнотипного характеру розвивати творчі здібності логічне й образне мислення та мовлення спостережливість пам'ять логіку викладу думокуміння аналізувати експериментувати досліджувати й порівнювати мовний матеріал робити правильні...
53779. Незмінювані іменники 39.5 KB
  Мета: поглибити знання учнів про незмінювані іменники навчити визначати в них рід розвивати вміння вживати незмінювані іменники у звязному мовленні розвивати творче мислення виховувати бажання збагачувати свій лексикон. Лінгвістичний двобій Двоє учнів по черзі ставлять підготовлені вдома питання Яка частина мови називається іменником За чим змінюється іменник Як визначити рід іменника Які іменники належать до власних назв Як пишуться власні назви До якого роду належать назви осіб за професією чи...
53780. Общее укрепление мышечного тонуса, саморазвитие. Воспитание здоровой личности 96.5 KB
  Спина прямая руки прямые по возможности наклоны головы выполняем плавно дыхание ровное.сидя стоя на коленях на вдохе поднять руки вверх на выдохе опустить. 46 раз Следим за осанкой вдох должен быть глубоким руки опускаем плавно вниз выдох удлиненный с одновременным произнесением звуков.