Использование wavelet2преобразования в алгоритме сжатия изображения JPEG

23 декабря 2011 г. 11:20

ТЕХНОЛОГИИ ИНФОРМАЦИОННОГО ОБЩЕСТВА

Использование WAVELET-преобразования в алгоритме сжатия изображения JPEG

Оценивается возможность применения wavelet-лреобразомния в алгоритме JPEG вместо дискретного косинусного преобразования. Предложен модифицированный алгоритм JPEG с использованием woveiei — преобразование, позволяющий обеспечил, предварительный просмотр копии всего изображения гтутем обработки лишь части данных. Приводится пример реализации модифицированного алгоритма JPEG применительно к беспроводной системе видеонаблюдения.

Богданов ПА,

Кафедра метрологии, стандартизации и измерений в технике связи

Введение

В последнее десятилетие в мире возникло и оформилось новое научное направление, связанное с так называемым вейвлет — Слово "waveleî", являющееся переводом французского "ondelete", означает небольшие волны, следующие друг за другом Можно без преувеличения сказать, что вейвлеты произвели революцию в области теории и практики обработки нестационарных сигналов. В настоящее время вейвлеты широко применяются для распознавания образов при обработке и синтезе различных сигналов, например речевых, медицинских; для изучения свойств турбулентных полей и во многих других случаях.

Большое развитие получила практика применения вейвлетов для решения задач сжатия и обработки изображений, являющихся нестационарными по своей природе. В этой области применение вейвлет — позволило достичь одновременного снижения сложности и повышения эффективности кодеров. В настоящее время уже находятся в разработке международные стандарты по сжатию неподвижных изображений и видео—JPEG2000 и MPEG-4. Ядром этих стандартов будет вейвлет.

В настоящее время исследования в области вейвлетов ведутся по многим направлениям. Если рассматривать построение цифровых систем видео наблюдения, использующих низкоскоростные каналы связи, возникает необходимость передачи больших объемов данных (изображений) за ограниченное время. Для этого обычно используется алгоритм сжатия изображений JPEG, обеспечивающий степень сжатия от 2 до 200 раз. Однако, в раде случаев например, в беспроводных охранных системах видеонобледения нет необходимости передавать по каналу связи донные о каждом полном изображении. Можно использовать режим предварительного просмотра изображений. При реализации такою режжло объем передаваемых данных существенно уменьшается.

Наиболее важные теоретические результаты в цифровой компрессии видео были получены еще в конце 70-х. В частности, было установлено, что любое изображение содержит в себе избыточную информацию, не воспринимаемую человеческим глазом. Эта избыточность вызвана сильными корреляционными связями между элементами изображения — изменения от пикселя к пикселю в пределах некоторого участка кадра можно считать несущественными. Аналогичная ситуация происходит и при работе с реальным видео — даже при съемке движущихся объектов различие между двумя соседними кадрами невелико. Итак, перед алгоритмом видеокомпрессии стоит задача обнаружения и фильтрации избыточной информации.

Принципиальная разница состоит в способе преобразования видеосигнала: метод сжатия JPEG и MJPEG используют дискретнокосинусное преобразование сигнала (ДКП), тогда как метод сжатия Wavelet представляет сигнал как суперпозицию конечных во времени негармонических функций — вейвлетов для реализации режима предварительного просмотра и масштабирования изображений. Важно отметить, что и JPEG, и MJPEG, перед тем как обрабатывать изображение, делят его на блоки. Очень чосто это приводит к снижению качества — изображение получается сильно дискретизованным, четко видна блочная структура.

Ниже рассмотрим свойства, которые являются важными при кодировании изображений.

1. Масштаб и ориентация. Для эффективного представления изображения важную роль играет масштаб. В изображениях имеются объекты самых различных размеров Поэтому, преобразование должно позволять анализировать изображение одновременно (и независимо) но различных масштабах. Для двумерного сигнала некоторая спектральная о6лость соответствует определенному масштабу и ориентации. Ориентация базисных функций определяет способность преобразования корректно анализировать ориентированные структуры, типичные для изображений. Примером могут служить контуры и линии. Таким образом, для решения задачи анализа желательно иметь преобразование, которое бы делило входной сигнал на локальные частотные области.

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

Чаще всего применяемый подход при анализе заключается в следующем: сигнал дискретизируется, затем выполняется ДПФ. В результате сначала сигнал раскладывается по базису единичного импульса, который не имеет чостотной локальности, а затем по базису синусоид с четными и нечетными фазами, не имеющих пространственной локальности. Конечно, представление сигнала в частотной облости исключительно важно для его анализа. Однако это не означает, что выбор функций импульса и синусоиды для решения этой задачи является наилучшим. Еще в 1946 г. Д Габор предложил класс линейных преобразований, которые обеспечивают локальность и в частотной, и во временной области. Базис единичного импульса и базис синусоиды могут рассматриваться как два экстремальных случая этих преобразований. Вейвлеты являются еще одним примером функций, хорошо локализованных в пространственной и частотной областях.

3. Ортогональность. Преобразование не обязательно должно быть ортогональным. Так, ортогональность обычно не рассматрива-

32

T-Comm, #9-2011

ТЕХНОЛОГИИ ИНФОРМАЦИОННОГО ОБЩЕСТВА

ется в контексте субполосного кодирования, хотя вейвлет как правило, является ортогональным.

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

4. Быстрые алгоритмы вычисления. Эго, наверное, наиболее важное свойство. Так как невозможность практической реализации преобразования в реальном масштабе времени сводит на нет все его положительные свойства.

В качестве базового алгоритма рассмотрим применение алгоритма JPEG. Характеристики алгоритма: степень сжатия варьируется от 2 до 200, алгоритм ориентирован на сжатие полноцветных (с глубиной цвета 24 бито, по 8 бит на каждую из 3-х компонент) изображений или изображений в градациях серого без резких переходов цветов. Алгоритм оперирует областями 8x8 точек, на которых яркость и цвет меняются сравнительно плавно. Вследствие этого при применении к матрице такой области (ДКП) значимыми оказываются только первые коэффициенты. Таким образом, сжатие в JPEG осуществляется за счет плавности изменения цветов в изображении. Изображение представляется в цифровом вцде достаточно большим количеством бит. Например, цветная картинка размером 512x512 требует для своего хранения 768 кбайт. Если передавать видеопоследовательность таких картинок со скоростью 25 кадров в секунду, требуемая скорость составит 188,7 Мбит/с.

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

Популярность вейвлет — при образования во многом объясняется тем, что оно успешно может использоваться для сжатия изображения как без потерь, так и с потерями. Так, коэффициент сжатия видеосигнала в видеокодеках семейства ADV6xx варьируется от 3 до 350 и больше раз.

Структурная схема алгоритма JPEG представлена на рис. 1.

На рис. 1 в блоке "интерполяция RAW в RGB" происходит преобразование формата RAW, который поддерживоет большинство видеокамер, в формат RGB, соответствующий алгоритму JPEG. Формат RAW предусматривает хранение информации только об одной цветовой компоненте для каждой точки изображения, поэтому недостающие компоненты получаются путем интерполяции значений ближайших соседних компонент.

В блоке "RGB в YCbCr'1 происходит преобразование цветовых пространств. YCbO представляет собой аппаратно-ориентированную модель, используемую в телевидении и служащую для сокращения передаваемой полосы частот за счет использования психофизиологических особенностей зрения. В этой модели Y — интенсивность цвета, а СЬ и О — синяя и красная цветоразностные компоненты.

С

Кодирование изображений в этой палитре существенно уменьшает количество информации, требуемой для воспроизведения изображения без существенной потери его качества. Для преобразования палитры (ЮВ в УСЬСг пользуются следующими соотношениями:

KGB Дж«р<- few

ШІІФІІ .ХМ! Чип«'- *1.1 по

і.ка««роа •мае

|—• Омуми

В'мвгйгрё 0

L- UiMipwiCbiiCi

У

Сг »

СЬ

I» 2990 0.58*0 9.5000 -О -418" -0.168" -0.3313

0 1140 -0 0813 О 5000

R 1)

J + 1JS

В і:;;

(1»

В блоке "Дискретизация" происходит разделение исходного изображения на матрицы 8x8 точек и формирование из них рабочих матриц ДКП по 8 бит отдельно для каждой компоненты.

Блок "ДКП" является ключевым компонентом работы алгоритма. ДКП представляет собой разновидность преобразования Фурье и также имеет обратное преобразование. Графическое изображение можно рассматривать как совокупность пространственных волн, причем оси X и У совпадают с шириной и высотой картинки, а по оси 1 откладывается значение цвета соответствующего пикселя изображения. ДКП позволяет переходить от пространственного представления картинки к ее спектральному представлению и обратно. Воздействуя на спектральное представление картинки, состоящее из "гармоник*, то есть, отбрасывая наименее значимые из них, можно балансировать между качеством воспроизведения и степенью сжатия. Формула дискретного косинусного преобразования представлена ниже:

1 я — і л — і rju.vj= -= Z I Cu.u\iC(j.v)v[i.j\. V-»/»Оу-о

л . <2Я + 1шиТ

C0.U) -AiUHtosi—-------

2ш

гле 1-г“-°

Ilk «О

(3>

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

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

В блоке "Квантование" происходит деление рабочей матрицы на матрицу квантования поэлементно с округлением элементов до целого значения. Для каждой компоненты (У, О и СЬ) в общем слу-чое задается своя матрица квантования я(х,у]:

Yq[x.y] = IntegerFound j j

FWi 1. Структурне» схема алгоритма JPEG

На этом шаге осуществляется управление степенью сжатия. Задавая матрицу квантования с большими коэффициентами, можно получить больше нулей и, следовательно, большую степень сжатия. В стандарт JPEG включены рекомендованные матрицы квантования, построенные опытным путем:

T-Comm, #9-2011

33

q(6-І) = {До. 11.10.16.24. 4M. 51.61.

12.12.14. 1Р. 16. 59.60. 55.

14.13.16. 24. 40. 5". 69. 56.

14.17.22. 29. 51. 8*. 80.62.

18. 22. 3". 56.68.109.103. ”.

24. 35. 55.04. 81 104 113.92.

49. <М. “8 8". ЮЗ. 121. 120. 101.

’2. 92.95.98. 112.100. 103. 99}

Матрицы для других степеней сжатш получают путем умножения исходной матрицы на выбранное число gamma.

В блоке "Зигзаг" - сканирование" происходит перевод матрицы размером 8x8 точек в 64-элемектный вектор при помощи "зигэаН'-сконировония. Таким образом, начальными »лементами вектора являются коэффициенты матрицы, соответствующие низким частотам, а конечными — высоким чостотам.

В блоке "RLE" происходит операция свертывания полученного вектора с помощью алгоритма группового кодирования RLE. В результате получаются пары типа пропустить, число>, где "пропустить" является количеством пропускаемых нулей, а "число" - значение, которое необходимо поставить в следующую ячейку.

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

Вейвлет-преобразование

Вейвлеты представляют собой математические функции, позволяющие анализировать различные частотные компоненты данных. Вейвлеты обладают существенными преимуществами по сравнению с преобразованием Фурье, потому что вейвлет-перобразово-ние позволяет судить не только о частотном спектре сигнала, но также о том, в какой момент времени появилось та или иная гармоника. С их помощью можно легко анализировать прерывистые сигналы, либо сигналы с острыми всплесками. Кроме того, вейвлеты позволяют анализировать данные соглосно масштабу на одном из заданных уровней. Уникальные свойства вейвлетов позволяют сконструировать базис, в котором представление данных будет выражаться всего несколькими ненулевыми коэффициентами. Эго свойство делает вейвлеты очень привлекательными для упаковки данных, в том числе видео- и сгудио-информации. Вейвлеты нашли широкое применение в цифровой обработке изображения, обработке сигналов и анализе данных.

Различают два класса вейвлет-преобразований: непрерывные и дискретные. Непрерывное вейвлет-преобразование (CTWT) есть скалярное произведение f(x) и базисных функций

у/«Пх*“л"игИ —- |.в-=л*л«я. (о»

CTWTjia.b)*

Базисные функции 4^ являются вещественными и колеблются вокруг оси абсцисс. Они определены на некотором интервале. Данные функции называются вейвлетами и могут рассматриваться как масштабированные и сдвинутые версии функции-прототипа Н*(х). Параметр Ь показывает расположение во времени, а а—параметр масштаба. Большие значения а соответствуют низким частотам, малые — высоким.

Алгоритм вейвлет-преобразования может быть представлен, как передача сигнала через пару фильтров, низкочастотный и высокочастотный. Низкочастотный фильтр выдает грубую форму исходного сигнала. Высокочастотный фильтр выдает сигнал разности или дополнительной детализации.

Причин успешного применения вейвлетов несколько.

1. Известно, что вейвлет — хорошо аппроксимирует преобразование Карунена — для фрактальных сигналов, к которым относятся и изображения.

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

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

4. Наконец коэффициенты вейвлет — имеют регулярные пространственно- частотные зависимости, которые с успехом используются в ряде алгоритмов кодирования.

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

Алгоритм дисхретного вейвлет-преобразования можно представить как субполосное преобразование с фильтрацией и последующим прореживанием в два роза. Так как в данном случае имеется два фильтра Н и С, то банк фильтров — двухполосный и может быть изображен, как показано на рис. 2.

В нижней ветви схемы выполняется низкочастотная фильтрация. В результате получается некоторая аппроксимация сигнала, лишенная деталей — низкочастотная (НЧ) субполоса. В верхней части схемы выделяется высокочастотная (ВЧ) субполоса. Отметим, что при обработке сигналов константа 21/2 всегда выносится из банка фильтров и сигнал домножается на 2. Схема делит сигнал уровня рО на два сигнала уровня (=1 .Далее, вейвлет-преобразование получается путем рекурсивного применения данной схемы к НЧ части.

В обработке изображений используется двумерное дискретное вейвлет-преобразование, которое представляет собой одномерное вейвлет-преобразование по очереди применяемое к столбцам, а затем к строкам Можно представить вейвлет-преобразование изображения следующей структурой на основе банков фильтров представленной на рис. 3.

На рис З НЧНЧ — это низкочастотные составляющая для столбцов и строк, НЧВЧ — низкочастотные составляющие для строк и высокочастотные для столбцов, ВЧНЧ — высокочастотные составляющие для строк и низкочастотные для столбцов, ВЧВЧ — высокочастотные составляющие для строк и столбцов. Можно применить донное преобразование еще раз к низкочастотной составляющей. Та-

G •> І

Н *> І

FW. 2. Схема двухпогюсного банка фильтров

34

T-Comm, #9-2011

Пр*о6рыо>*>о» RGB « YCiCb

Пркммхт в«#ашт-лр*о6р*юв*кил для южяой комхююхты

Деление м« блоки 3x8

Пока не обработаны все блоки

КжАмтов4кт блок* 8x8

Группоао* ноккровдкт я т по Хдффмдиу

Посыпьсжатого гаобрдоеккл

А«с 5. Блок-схема прсхраммы

рея обрабатывается в данный момент. Также необходимо зарезервировать область памяти для хранения сжатого изображения. Таким образом, для работы алгоритма необходимо около 800 Кбойт памяти. В микропроцессоре ТMS320VC5510 доступно около 300Кбайт внутренней памяти, поэтому была использована внешняя память SORAM Производительность алгоритма составляет 2 кадра в секунду

Современные направления исследований

На данный момент, исследования в облости сжатия изображений ведутся по разным направлениям Так, появилось новая интерпретация вейвлет — преобразования — лифгинговая схема, не основанная на преобразовании Фурье. С использованием згой схемы появилось возможность конструирования новых неразделимых бо-зисов вейвлетов, которые потенциально могут привеаи к повышению эффективности кодеров. Интереснь*м направлением исследований является изучение нелинейных аналогов вейвлет — преобразования, которые философия лифгинга делает возможным. Активные исследования проводятся в облости кодеров, основанных на классификации и оценивании по прошлому

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

Особый интерес представляет адаптация вейвлет — кодирования изображения для кодирования видео. Здесь можно сочетать вну-трикадровое кодирование с межкааровым предсказанием, как это

заложено в стандарте МРЕС-4. Можно также рассматривать видеопоследовательность как трехмерный массив и применять трехмерный вейвлет — анализ. Однако этот метод наталкивается на трудности, связанные с фундаментальными особенностями вейвлет — преобразования, как и любого субпалосного копирования. Вейвлет — преобразование не является пространственно — инвариантным в силу присутствия децимации и интерполяции. Эта изменчивость в пространстве мешает компактному представлению видеосигналов.

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

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

Кодеры, основанные на алгоритме нуладерева, предполагают у дисперсии наличие двух состояний: нуль или нет. Декодеру передается дополнительная информация о местоположении значимых коэффициентов. Этот процесс приводит к нелинейной аппроксимации изображения. Множества нулевых коэффициентов выражаются в терминах деревьев вейвлетов (Льюис и Ноулес, Шапиро и др.) или комбинаций этих деревьев (Саид и Перельман). Нули передаются декодеру как дополнительная информация, так же как и квантованные данные. Кодеры, основанные на нульдеревьях, учитывают межполосные зависимости вейвлет — коэффициентов

В частотно-адаптивных кодерах применяются ортогональные адаптивные преобразована — метод вейвлет — пакетов. Локальные флюктуации корреляционных связей используют пространственно кодеры.

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

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

Литература

1 В&логщ А.Ратуй*«*, М. Смирное и др. Методы сжатия данных. — М.: "Диалог-мифи", 2003. — 381 с

2 Лрбгчч И. Д есять лекций по вейвлетам. - Ижевск: НИЦ ’Регулярной и хаотическойдоамики", 2001. — 464с.

3. К. Чуй. Введение в вэйвлеты. — М: "Мир", 2001 . — 412с

4 В.П. Воробьеву В/.Грибу»*#! Теория и практика вейвлет преобразовав. -Спб., 1999.-203с

36

T-Comm, #9-2011