Технология вейвлетов
Содержание
Введение
Зачем нужна видеокомпрессия?……………………………………………. 6
1.1. Алгоритмы сжатия - JPEG или Wavelet.................................................6
1.2. Требования, предъявляемые к преобразованиям……………………. 7
2. Применение вейвлет-преобразования для сжатия изображения………… 10
2.1. Базовый вейвлет-кодер изображения…………………………………11
2.1.1. Выбор вейвлетов для сжатия изображения………………..........11
2.1.2. Осуществление преобразования на границах изображения…...13
2.1.3. Квантование……………………………………………………….14
2.1.4. Энтропийное кодирование……………………………………….15
2.1.5. Меры искажения, взвешенные с учетом восприятия
человеком……..…………………………..……………………….15
2.2. Новые идеи в области сжатия изображений, связанные с
вейвлет-преобразованием……………………………………………...16
2.3. Кодирование посредством нульдерева………………………………..18
2.3.1. Алгоритм Льюиса и Ноулеса……………………………………..19
2.3.2. Алгоритмы Шапиро и Саида-Перельмана...…………………….21
2.3.3.Оптимизация нульдеревьев по критерию скорость-искажение...24
2.4. Современные направления исследований…………………………….25
Заключение
Список литературы
ВЕДЕНИЕ
В последнее десятилетие в мире возникло и оформилось новое научное направление, связанное с так называемым вейвлет - Слово “wavelet”, являющееся переводом французского “ondelette”, означает небольшие волны, следующие друг за другом. Можно без преувеличения сказать, что вейвлеты произвели революцию в области теории и практики обработки нестационарных сигналов. В настоящее время вейвлеты широко применяются для распознавания образов; при обработке и синтезе различных сигналов, например речевых, медицинских; для изучения свойств турбулентных полей и во многих других случаях.
Особо большое развитие получила практика применения вейвлетов для решения задач сжатия и обработки изображений, являющихся нестационарными по своей природе. В этой области применение вейвлет - позволило достичь одновременного снижения сложности и повышения эффективности кодеров. В настоящее время уже находятся в разработке международные стандарты по сжатию неподвижных изображений и видео – JPEG2000 и MPEG-4. Ядром этих стандартов будет вейвлет. Огромный интерес к изучению теории и практики вейвлет вызвал лавинообразный поток издающейся литературы. В США и других развитых странах ежегодно издаются десятки книг, учебных пособий, тематических выпусков журналов, посвященных данной тематике. На этом фоне почти полное отсутствие публикаций в отечественных журналах выглядит достаточно странно. Теория и практика вейвлет - находится на стыке различных наук: математики, физики и т.д.
Первое упоминание о вейвлетах появилось в литературе по цифровой обработке и анализу сейсмических сигналов (работы А.Гроссмана и Ж.Морлета). Так как интерес авторов заключался в анализе сигналов, набор базисных функций был збыточным. Далее, математик И.Мейер показал существование вейвлетов, образующих ортонормальный базис. Дискретизация вейвлет - была описана в статье И.Добеши, которая перекинула мост между математиками и специалистами в области обработки сигналов. Добеши разработала семейство вейвлет - имеющих максимальную гладкость для данной длины фильтра.
Популярность вейвлетов увеличилась после введения С.Маллатом концепции кратномасштабного анализа. Он же, первым применил вейвлеты для кодирования изображений.
И И.Добеши, и С.Маллат показали, что практическое выполнение вейвлет - осуществляется посредством двухполосного банка фильтров анализа - известного ранее в теории субполосного кодирования. Эта теория может быть описана в терминах вейвлетов. Главное различие между этими двумя направлениями заключается в критериях построения фильтров.
Некоторые идеи теории вейвлетов частично были разработаны уже очень давно. Например, А.Хаар опубликовал в 1910 году полную ортонормальную систему базисных функций с локальной областью определения. Эти функции называются теперь вейвлетами Хаара.
В настоящее время исследования в области вейвлетов ведутся по многим направлениям. Несмотря на то, что теория вейвлет - уже в основном разработана, точного определения, что же такое "вейвлет", какие функции можно назвать вейвлетами, насколько известно, не существует. Обычно под вейвлетами понимаются функции, сдвиги и растяжения которых образуют базис многих важных пространств. Эти функции являются компактными как во временной, так и в частотной области.
Вейвлеты непосредственно связаны с кратномасштабным анализом сигналов. Вейвлеты могут быть ортогональными, полуортогональными, биортогональными. Эти функции могут быть симметричными, асимметричными и несимметричными. Различают вейвлеты с компактной областью определения и не имеющие таковой. Некоторые функции имеют аналитическое выражение, другие – быстрый алгоритм вычисления связанного с ними вейвлет. Вейвлеты различаются также степенью гладкости. Для практики желательно было бы иметь ортогональные симметричные (асимметричные) вейвлеты. К сожалению, доказана теорема о том, что такими вейвлетами являются лишь вейвлеты Хаара. Функции Хаара не обладают достаточной гладкостью и не подходят для большинства приложений, поэтому для кодирования изображений обычно используют биортогональные вейвлеты.
В настоящее время многие исследователи понимают под вейвлетами более широкий класс функций. Это и вейвлет - локальные тригонометрические базисы (вейвлеты Малвара), и мультивейвлеты, и так называемые вейвлеты второго поколения, не являющиеся сдвигами и растяжениями одной функции. Базисы преобразования Фурье не являются вейвлетами, так как у них отсутствует локализация в пространстве (времени).
Российские математики вейвлеты иногда называют всплесками. На наш взгляд, этот термин является неудачным, а попытка русификации терминологии может ввести в заблуждение и порождать ошибки.
Некоторым может показаться, что вейвлеты не являются чем - фундаментально новым. В самом деле, сходные идеи появлялись на протяжении последних десятилетий: субполосное кодирование, успешно применяемое при кодировании речи, пирамидальные схемы кодирования изображений, преобразование и функции Габора (вейвлеты Габора). С развитием теории вейвлетов произошло как бы объединение, взаимопроникновение, взаимообогащение этих идей, что привело к качественно новому результату. Так как с точки зрения практики наиболее интересными представляются быстрые алгоритмы вычисления вейвлет
1. Зачем нужна видеокомпрессия?
Под видеокомпрессией обычно понимается сокращение объема памяти, необходимой для хранения цифровых видеоданных и передачи их по каналам связи. Цель видеокомпрессии - более компактное представление изображений.
Широко распространенные приложения мультимедиа (графика, аудио, видео) с каждым днем предъявляют все более высокие требования к аппаратной базе компьютера. Ни наращивание тактовой частоты процессора, ни увеличение объема жесткого диска, ни улучшение пропускной способности каналов передачи данных не в состоянии спасти положение. Единственным путем решения этой проблемы является разработка эффективных алгоритмов видеокомпрессии.
Задача написания новых программ видеосжатия чрезвычайно актуальна для создателей цифровых систем видеонаблюдения - ведь именно в этой области постоянно приходится обрабатывать и хранить большие объемы видеоданных. Но возникает вопрос: как изменится качество изображения после сжатия?
Алгоритмы сжатия - JPEG или Wavelet?
Наиболее важные теоретические результаты в цифровой компрессии видео были получены еще в конце 70-х. В частности, было установлено, что любое изображение содержит в себе избыточную информацию, не воспринимаемую человеческим глазом. Эта избыточность вызвана сильными корреляционными связями между элементами изображения - изменения от пикселя к пикселю в пределах некоторого участка кадра можно считать несущественными.
Также дело обстоит и с реальным видео - даже при съемке движущихся объектов различие между двумя соседними кадрами невелико.
Итак, перед алгоритмом видеокомпрессии стоит задача обнаружения и фильтрации избыточной информации. Как ее решить?
Наиболее распространенные до сегодняшнего времени методы сжатия, применяющиеся в стандартах JPEG и MJPEG, основаны на Фурье-преобразовании сигнала - он представляется в виде набора гармонических колебаний с различными частотами и амплитудами. Важно отметить, что и JPEG, и MJPEG, перед тем как обрабатывать изображение, делят его на блоки. Очень часто это приводит к снижению качества - изображение получается сильно дискретизованным, четко видна блочная структура.
В конце 80-х - начале 90-х годов был разработан новый стандарт, названный Wavelet-компрессией (в русскоязычной литературе используется термин "вейвлет").
В буквальном переводе с английского слово "wavelet" означает "маленькая волна". Название это объясняется формой графиков функций, используемых в вейвлет-анализе.
Идеологически же понятия "вейвлет-анализ" и "Фурье-анализ" эквивалентны. И в том, и в другом случае реальный сигнал заменяется набором функций (как правило, в преобразовании Фурье используется система синусов и косинусов).
1.2. Требования, предъявляемые к преобразованиям
Рассмотрим свойства, которые являются важными при кодировании изображений.
1. Масштаб и ориентация. Для эффективного представления изображения важную роль играет масштаб. В изображениях имеются объекты самых различных размеров. Поэтому, преобразование должно позволять анализировать изображение одновременно (и независимо) на различных масштабах. Для двумерного сигнала некоторая спектральная область соответствует определенному масштабу и ориентации. Ориентация базисных функций определяет способность преобразования корректно анализировать ориентированные структуры, типичные для изображений. Примером могут служить контуры и линии. Таким образом, для решения задачи анализа желательно иметь преобразование, которое бы делило входной сигнал на локальные частотные области.
2. Пространственная локализация. Кроме частотной локализации, базисные функции должны быть локальными и в пространстве. Необходимость в пространственной локализации. Преобразования возникает тогда, когда информация о местоположении деталей изображения является важнейшей. Эта локальность, однако, не должна быть «абсолютной», блочной, как при ДКП, так как это ведет к потере свойства локальности в частотной области.
Наиболее часто применяемый подход при анализе заключается в следующем: сигнал дискретизируется, затем выполняется ДПФ. В результате сначала сигнал раскладывается по базису единичного импульса, который не имеет частотной локальности, а затем по базису синусоид с четными и нечетными фазами, не имеющих пространственной локальности. Конечно, представление сигнала в частотной области исключительно важно для его анализа. Однако это не означает, что выбор функций импульса и синусоиды для решения этой задачи является наилучшим. Еще в 1946 году Д.Габор предложил класс линейных преобразований, которые обеспечивают локальность и в частотной, и во временной области. Базис единичного импульса и базис синусоиды могут рассматриваться как два экстремальных случая этих преобразований. Вейвлеты являются еще одним примером функций, хорошо локализованных в пространственной и частотной областях.
3. Ортогональность. Преобразование не обязательно должно быть ортогональным. Так, ортогональность обычно не рассматривается в контексте субполосного кодирования, хотя вейвлет как правило, является ортогональным. Ортогональность функций упрощает многие вычисления. Кроме того «сильно» неортогональное преобразование может быть неприемлемо для кодирования.
4. Быстрые алгоритмы вычисления. Это, наверное, наиболее важное свойство. Так как невозможность практической реализации преобразования в реальном масштабе времени сводит на нет все его положительные свойства.
2. ПРИМЕНЕНИЕ ВЕЙВЛЕТ – ПРЕОБРАЗОВАНИЯ ДЛЯ СЖАТИЯ ИЗОБРАЖЕНИЯ
В последнее десятилетие в мире наблюдается значительный интерес к сжатию изображений. Это вызвано стремительным развитием вычислительной техники, графических мониторов, цветных принтеров, а также цифровой техники связи. Изображение представляется в цифровом виде достаточно большим количеством бит. Так, цветная картинка размером 512х512 требует для своего хранения 768 кБайт. Если передавать видеопоследовательность таких картинок со скоростью 25 кадров в секунду, требуемая скорость составит 188.7 Мбит / с.
Различают сжатие изображений без потерь и с потерями. Первое характеризуется незначительными коэффициентами сжатия (от 3 до 5 раз) и находит применение в телевидении, медицине, аэрофотосъемке и других приложениях. При сжатии изображения с допустимыми потерями коэффициент сжатия может достигать сотен раз. Популярность вейвлет – приобразования (ВП) во многом объясняется тем, что оно успешно может использоваться для сжатия изображения как без потерь, так и с потерями. Так, коэффициент сжатия видеосигнала в видеокодеках семейства ADV6xx варьируется от 3 до 350 и больше раз.
Причин успешного применения несколько.
1. Известно, что вейвлет - хорошо аппроксимирует преобразование Карунена - для фрактальных сигналов, к которым относятся и изображения.
2. Дисперсии коэффициентов субполос ортонормального вейвлет – приобразования распределены в широком диапазоне значений. Пусть дисперсии кодируются простым энтропийным кодером. Тогда стоимость кодирования всего изображения есть сумма кодирования субполос. Различные энтропии субполос приведут к стоимости кодирования значительно меньшей, чем при непосредственном кодировании изображения.
3. В результате этого перераспределения дисперсий коэффициенты вейвлет - имеют существенно негауссовскую статистику и, таким образом, меньшую энтропию, чем гауссовский сигнал той же дисперсии.
4.Наконец, коэффициенты вейвлет - имеют регулярные пространственно-частотные зависимости, которые с успехом используются в ряде алгоритмов кодирования.
Рассмотрим основные проблемы, возникающие при сжатии изображения при помощи вейвлет – приобразования и возможные пути их решения.
2.1. Базовый вейвлет – кодер изображения
Вейвлет – кодер изображения устроен так же, как и любой другой кодер с преобразованием. Назовем такой кодер базовым. Он состоит из трех основных частей: декоррелирующее преобразование, процедура квантования и энтропийное кодирование. В настоящее время во всем мире проводятся исследования по усовершенствованию всех трех компонент базового кодера.
2.1.1. Выбор вейвлетов для сжатия изображения
Выбор оптимального базиса вейвлетов для кодирования изображения является трудной и вряд ли решаемой задачей. Известен ряд критериев построения «хороших» вейвлетов, среди которых наиболее важными являются: гладкость, точность аппроксимации, величина области определения, частотная избирательность фильтра. Тем не менее, наилучшая комбинация этих свойств неизвестна.
Простейшим видом вейвлет – базиса для изображений является разделимый базис, получаемый сжатием и растяжением одномерных вейвлетов. Использование разделимого преобразования сводит проблему поиска эффективного базиса к одномерному случаю, и почти все известные на сегодняшний день кодеры используют его. Однако неразделимые базисы могут быть более эффективными, чем разделимые.
Прототипами базисных функций для разделимого преобразования являются функции ф(х)ф(у), ф(х)(у), (х)ф(у) и (х)(у). На каждом шаге преобразования выполняется два разбиения по частоте, а не одно. Предположим, имеем изображение размером N х N. Сначала каждая из N строк изображения делится на низкочастотную и высокочастотную половины. Получается два изображения размерами N × N / 2. Далее, каждый столбец делится аналогичным образом. В результате получается четыре изображения размерами N / 2 × N / 2: низкочастотное по горизонтали и вертикали, высокочастотное по горизонтали и вертикали, низкочастотное по горизонтали и высокочастотное по вертикали и высокочастотное по горизонтали и низкочастотное по вертикали.
Известно, что для кодирования изображений хорошо подходят сплайновые вейвлеты. Эксперименты, проведенные рядом исследователей, показывают важность гладкости базисных функций для сжатия. Практически столь же большое значение имеет число нулевых моментов вейвлетов, которое тесно связано с гладкостью. Несмотря на это, некоторые исследователи считают, что важность гладкости для приложений цифровой обработки сигналов остается открытым вопросом. Наиболее широко на практике используют базисы, имеющие от одной до двух непрерывных производных. Увеличение гладкости не приводит к увеличению эффективности кодирования.
Д.Вилласенор систематически протестировал все биортогональные блоки фильтров минимального порядка с длиной фильтров <=36. В дополнение к вышеперечисленным критериям учитывалась также чувствительность аппроксимации с низким разрешением к сдвигам функции f(x). Наилучшим фильтром, найденным в этих экспериментах, оказался сплайновый фильтр 7/9. Этот фильтр наиболее часто используется в вейвлет - изображений. В частности, в видеокодеках семейства ADV6xx применяются именно эти фильтры.
Необходимо сделать одно замечание относительно этих результатов. Д.Вилласенор сравнивал пиковое отношение сигнал/шум, получаемое при использовании различных фильтров в простой схеме кодирования. Алгоритм размещения бит, применяемый им, хорошо работает с ортогональными базисами. В случае биортогональных фильтров должен применяться другой, более эффективный алгоритм. В силу этой причины некоторые заслуживающие внимания биортогональные фильтры были им обойдены.
Для биортогонального преобразования квадрат ошибки в области преобразования не равен квадрату ошибки в восстановленном изображении. В результате проблема минимизации ошибки становится намного более трудной, чем в ортогональном случае. Можно уменьшить ошибку в области изображения путем применения схемы взвешенного распределения бит. Тогда целый ряд фильтров по своей эффективности становится равным фильтру 7/9. Один из таких базисов – интерполирующий вейвлет Деслаури – Дубук порядка 4, преимуществом которого является то, что коэффициенты фильтра - рациональные числа, кратные степени 2. Оба этих вейвлета имеют 4 нулевых момента и две непрерывные производные.
Семейство многообещающих фильтров было разработано И.Баласингамом и Т.Рамстадом. Процедура разработки заключалась в комбинировании классических методов разработки фильтров с идеями теории вейвлетов. Получившиеся фильтры значительно превосходят популярные фильтры 7/9.
2.1.2. Осуществление преобразования на границах изображения
Для эффективного сжатия необходимо тщательно обрабатывать границы изображения. Альтернативным методом является конструирование граничных фильтров, сохраняющих ортогональность преобразования вблизи границы. Проблеме конструирования граничных фильтров посвящен ряд статей Е.Ковачевич. При применении лифтинговой схемы границы учитываются автоматически.
2.1.3. Квантование
В большинстве вейвлет - применяется скалярное квантование. Существуют две основные стратегии выполнения скалярного квантования. Если заранее известно распределение коэффициентов в каждой полосе, оптимальным будет использование квантователей Ллойда - с ограниченной энтропией для каждой субполосы. В общем случае подобным знанием мы не обладаем, но можем передать параметрическое описание коэффициентов путем посылки декодеру дополнительных бит. Априорно известно, что коэффициенты высокочастотных полос имеют обобщенное гауссовское распределение с нулевым матожиданием.
На практике обычно применяется намного более простой равномерный квантователь с «мертвой» зоной. Интервалы квантования имеют размер ^, кроме центрального интервала (возле нуля), чей размер обычно выбирается 2^ . Коэффициенту, попавшему в некоторый интервал, ставится в соответствие значение центроида этого интервала. В случае асимптотически высоких скоростей кодирования равномерное квантование является оптимальным. Хотя в практических режимах работы квантователи с «мертвой» зоной субоптимальны, они работают почти так же хорошо, как квантователи Ллой-да-Макса будучи намного проще в исполнении. Кроме того, они робастны к изменениям распределения коэффициентов в субполосе. Дополнительным их преимуществом является то, что они могут быть вложены друг в друга для получения вложенного битового потока.
2.1.4. Энтропийное кодирование
Субоптимальное энтропийное кодирование коэффициентов можно осуществить при помощи алгоритма арифметического кодирования. Кодеру требуется оценить распределение квантованных коэффициентов. Эта оценка получается путем аппроксимации распределения коэффициентов гауссовской или лапласовской плотностью и вычисления параметров распределения. Оценка параметров может также производиться и в процессе работы, «на ходу». Такой подход имеет то преимущество, что кодер учитывает локальные изменения статистики изображения. Известны эффективные адаптивные процедуры оценивания.
Так как изображение не является случайным гауссовским процессом, коэффициенты преобразования, хотя и некоррелированные, обладают определенной структурой. Энтропийный кодер может использовать эту структуру, осуществляя некоторое предсказание. В ряде работ отмечено, что применение предсказания приводит к незначительному повышению эффективности.
На практике зачастую вместо арифметического кодера используют кодер Хаффмана. Причина этого заключается в меньшем требующемся объеме вычислений, а также в том, что алгоритмы арифметического кодирования запатентованы. Так, только фирма IBM обладает более чем 90 патентами различных вариаций этого кодера. В силу этого в видеокодеках ADV6xx применен кодер Хаффмана.
2.1.5. Меры искажения, взвешенные с учетом восприятия человеком
СКО (среднеквадратическая ошибка) не всегда хорошо согласуется с визуально наблюдаемой ошибкой. Рассмотрим, например, два изображения, которые полностью одинаковы, кроме небольшой области. Хотя визуально разность между этими изображениями хорошо заметна, СКО будет примерно одинаковой. Учет системы человеческого зрения в схеме сжатия является трудной задачей. Было проведено множество исследований, но в силу трудностей с математическим описанием системы зрения человека подходящей меры найдено не было. Известно, что в человеческом глазу выполняется операция многомасштабного представления изображений. Глаз более чувствителен к искажениям в низкочастотной области. Отсюда существует возможность улучшения визуального качества реконструированного изображения путем взвешивания СКО субполос в соответствии с чувствительностью глаза в различных частотных диапазонах. Веса для наиболее часто используемого фильтра 7/9 были вычислены А.Ватсоном.
2.2. Новые идеи в области сжатия изображений, связанные с вейвлет – преобразованием
Базовый вейвлет – кодер использует общие принципы кодера с преобразованием, то есть основан на эффектах декорреляции и перераспределения энергии. Математическая теория вейвлет – приобразования позволяет создавать совершенно новые и эффективные методы сжатия.
Кодирование с преобразованием основано на том, что большая часть энергии сосредоточивается в малом количестве коэффициентов, которые квантуются в соответствии с их значением. Эта парадигма, являясь достаточно мощной, основывается на нескольких предположениях, которые не всегда верны. В частности, предполагается, что изображение порождается гауссовским источником, что не соответствует действительности. С.Маллат и Ф.Фальзон показали, как это несоответствие приводит к неверным результатам при кодировании с низкими скоростями.
Традиционное кодирование с преобразованием может быть улучшено путем введения операторов выбора. Вместо квантования коэффициентов трансформанты в заранее определенном порядке вейвлет позволяет выбирать нужные для кодирования элементы. Это становится возможным главным образом благодаря тому, что базис вейвлетов компактен в частотной и пространственной областях.
Вообще говоря, развитие идей кодирования с преобразованием заключается в снятии ограничения на линейную аппроксимацию изображения, так как оператор выбора является нелинейным. В работах Р.Девора, С.Маллата и Ф.Фальзона показано, что проблема кодирования изображения может быть эффективно решена в рамках теории нелинейной аппроксимации. Отсюда возникает и ряд различий в алгоритмах работы традиционных и вейвлет - кодеров. В случае линейной аппроксимации изображение представляется фиксированным числом базисных векторов Карунена - Лоэва. Далее, какое-то число малых коэффициентов трансформанты приравнивается к нулю. Идея нелинейной аппроксимации заключается в аппроксимации изображения путем адаптивного выбора самих базисных функций. Информация о выбранных базисных функциях хранится в бинарной карте значений и передается декодеру, как дополнительная информация.
Для получения большей компактности энергии необходимо адаптировать преобразование к какому - конкретному, а не к целому классу изображений. В случае если источник описывается смесью различных распределений, преобразование Карунена - не является больше эффективным.
Решетчатое квантование коэффициентов гораздо ближе по своей сути к векторному квантованию, чем к кодированию с преобразованием.
Развитие идей кодирования с преобразованием заключается в основном во введении некоторого оператора выбора. Информация о выборе должна быть передана декодеру, как дополнительная информация. Она может быть в виде нульдеревьев или в виде обобщенных классов энергии. Метод «обратного оценивания распределения», предложенный К.Рамчандраном, основан на другом подходе. Считается, что дополнительная информация является избыточной и может быть получена декодером непосредственно из данных. Использование данного метода приводит к хорошим показателям кодирования.
Визуальное сравнение восстановленных изображений показывает, что лучшие результаты дают методы, использующие нульдеревья для кодирования коэффициентов. В частности, в этих изображениях лучше выражены контуры и отсутствует размытость мелких деталей.
2.3. Кодирование посредством нульдерева
Из теории кодирования с погрешностью известно, что оптимальное распределение бит достигается в случае, если сигнал поделен на субполосы, содержащие «белый» шум. Для реальных сигналов это достигается в случае неравномерной ширины субполос: в области НЧ они более узки, чем в области ВЧ. Вот почему вейвлет –преобразование обеспечивает компактность энергии.
Эта компактность энергии ведет к эффективному применению скалярных квантователей. Однако они не учитывают остаточную структуру, сохраняющуюся в вейвлет -коэффициентах в особенности ВЧ субполос. Современные алгоритмы сжатия все тем или иным образом используют эту структуру для повышения эффективности сжатия. Одним из наиболее естественных способов является учет взаимосвязей между коэффициентами из различных субполос. В высокочастотных субполосах имеются обычно большие области с нулевой или малой энергией. Области с высокой энергией повторяют от субполосы к субполосе свои очертания и местоположение. И это неудивительно – ведь они появляются вокруг контуров в исходном изображении – там, где вейвлет – преобразование не может адекватно представить сигнал, что приводит к «утечке» части энергии в ВЧ субполосы. Медленно изменяющиеся, гладкие области исходного изображения хорошо описывают НЧ вейвлет – преобразования, что приводит к «упаковке» энергии в малом числе коэффициентов НЧ области. Этот процесс примерно повторяется на всех уровнях декомпозиции, что и приводит к визуальной «похожести» различных субполос. Итак, знание о том, что изображение состоит из гладких областей, текстур и контуров, помогает учитывать эту межполосную структуру. Кодеры, использующие структуру нульдерева, сочетают учет структуры коэффициентов с совместным кодированием нулей, в результате чего получается очень эффективный алгоритм сжатия.
2.3.1. Алгоритм Льюиса и Ноулеса
Впервые идея нульдерева была предложена А.Льюисом и Г.Ноулесом. В их алгоритме применялась древовидная структура данных для описания вейвлет. Такая структура получается в результате применения двухканального разделимого вейвлет - преобразования. Корневой узел дерева представляет коэффициент масштабирующей функции в самой НЧ области и имеет три отпрыска. Узлы дерева соответствуют вейвлет - масштаба, равного их высоте в дереве. Каждый из узлов имеет четыре отпрыска, соответствующих вейвлет – коэффициентам следующего уровня и того же пространственного расположения. Низом дерева являются листьевые узлы, не имеющие отпрысков.
Для каждого из коэффициентов самой НЧ области существует три таких дерева, соответствующих трем порядкам фильтрации.
Квантование нульдеревом основано на наблюдении, что если коэффициент мал, его отпрыски на дереве зачастую тоже малы. Это объясняется тем, что значимые коэффициенты возникают вблизи контуров и текстур, которые локальны. Нетрудно увидеть, что это является разновидностью предсказания. А.Льюис и Г.Ноулес свели это предсказание к минимуму, предположив, что если какой - коэффициент незначимый, то все его потомки также будут незначимыми. Дерево или субдерево, которое содержит (по крайней мере, так предполагается) только незначимые коэффициенты, называется нульдеревом.
А.Льюис и Г.Ноулес использовали следующий алгоритм квантования вейвлет – коэффициентов. Вначале каждый узел квантуется квантователем, оптимальным для плотности распределения Лапласа. Если значение узла меньше некоторого порога, его потомки игнорируются. Эти потомки будут восстановлены декодером как нули. Иначе осуществляется переход к четырем отпрыскам узла, и процедура повторяется. Если узел не имеет отпрысков (является листом), начинает обрабатываться следующий корневой узел и т.д.
Данный алгоритм является эффективным в силу двух причин. Во-первых, в силу хорошей «упаковки» энергии вейвлет - преобразованием и, во-вторых, за счет совместного кодирования нулей. Для кодирования нулей обычно применяется кодер длин серий. Для повышения эффективности на вход этого кодера коэффициенты должны подаваться в определенном порядке. Например, в JPEG применено зигзагообразное сканирование. Наверное, наиболее важным вкладом этой работы была демонстрация того, что область вейвлет – коэффициентов прекрасно приспособлена для работы кодера длин серий. В самом деле, генерируются большие серии нулей и не надо передавать их длину, так как высота дерева известна. Аналогично JPEG данный алгоритм является разновидностью скалярного/векторного квантования. Каждый (значимый) коэффициент квантуется отдельно, а символы, соответствующие малым коэффициентам, образуют вектор. Этот вектор состоит из символа нульдерева и последовательности нулей длиной до конца дерева.
Характеристики алгоритма Льюиса и Ноулеса незначительно превосходят JPEG хотя визуальное качество изображений лучше. Недостатком алгоритма является способ порождения и распознавания нульдеревьев. Как было отмечено, если коэффициент мал, то скорее всего его потомки будут малы, но может быть, и нет. В случае если это не так, обнуляются значимые коэффициенты, и алгоритм Льюиса и Ноулеса ведет к большим искажениям.
Преимуществом этого алгоритма является его простота. Нульдеревья порождаются путем простого сравнения амплитуд коэффициентов, и не требуется дополнительной информации об их местоположении. Однако эта простота дается ценой невысокой эффективности. Детальный анализ этого взаимообмена привел к появлению следующего поколения кодеров с применением нульдеревьев.
2.3.2. Алгоритмы Шапиро и Саида – Перельмана
Идеи, лежащие в основе алгоритма Льюиса и Ноулеса, легли в основу многих современных кодеров изображения. Основным недостатком данного алгоритма является возможность ошибочного порождения нульдерева, так как оно генерируется не из реальных данных, а на основе априорных предположений. Если потомки некоторого узла окажутся больше своего родителя (что нечасто, но все - бывает), алгоритм Льюиса и Ноулеса приводит к значительным искажениям.
Методы, рассмотренные ниже, свободны от этого недостатка.
Шапиро разработал элегантный метод, названный алгоритмом вложенного нульдерева (Embedded Zerotree Wavelet coder - EZW). Данный кодер основан на передаче и ненулевых данных, и карты значений. Биты, отводящиеся для кодирования карты значений, могут превалировать в общем потоке бит, особенно на низких скоростях. Однако в карте значений, порождаемой изображениями, существует очень большая избыточность, которая и используется для достижения малых скоростей кодирования. Если имеется незначащий родительский узел, то очень вероятно, что потомки также будут незначимы. Так что в большинстве случаев генерируется символ нульдерева. Если вероятность этого события p близка к 1, то количество информации p log p, содержащееся в нем, близко к нулю. Значит, среднее число бит, требующихся для кодирования карты значений, мало. Если один или более потомков незначимого узла является значимым, генерируется символ «изолированного нуля». Вероятность этого события ниже, следовательно, для кодирования требуется большее количество бит. Это плата за то, чтобы не допустить значительного искажения за счет ошибочного порождения нульдерева.
Алгоритм EZW генерирует вложенный, иерархический код. Подобные кодеры позволяют осуществить прогрессивную передачу изображения с последовательным уточнением его на приеме. При этом изображение вначале аппроксимируется небольшим количеством бит, а потом эта аппроксимация уточняется. Вложенный код имеет то свойство, что при R>1>>R>2 >код для R>2> будет префиксом кода для R>1> . Такие коды имеют большой практический
интерес по следующим причинам:
1) возможность точного регулирования скорости передачи;
2) возможность восстановления всего изображения при прекращении приема декодером бит в любой точке. При этом изображение будет максимально хорошего качества для данного числа бит. Это применимо для передачи по каналам с потерями, а также для приложений вещания. В этом случае кодер генерирует высокоскоростной высококачественный поток, который передается по каналам различной пропускной способности декодерам различной вычислительной возможности. Последние выделяют из него нужные им субпотоки;
3) возможность быстрого просмотра изображений в удаленной базе данных. Для поиска достаточно и грубой копии, а при нахождении нужного изображения оно декодируется полностью.
Алгоритм Шапиро генерирует вложенный код побитовым способом. В основе метода EZW лежат следующие основные операции.
Вначале выполняется частичное упорядочивание коэффициентов по амплитуде. Оно реализуется путем сравнения величины каждого вейвлет – коэффициента (ВК) с некоторым порогом Т. Если ВК > Т, то выносится решение о том, что коэффициент значимый, в противном случае – незначимый. Сканирование производится от низкочастотных полос к высокочастотным.
Для кодирования знака и позиции всех коэффициентов используется двухбитный символ. Этот символ может быть: « ± » - знак ВК; «0» – показывает, что ВК незначащий; «корень нульдерева» - показывает, что ВК незначащий вместе со всеми ВК данной пространственной области из более высокочастотных полос. Таким образом, используется межполосная, пространственная корреляция ВК. После вычисления и передачи карты значений для значащих коэффициентов должны быть переданы биты, уточняющие их значение («карта данных»). Далее карта данных и карта значений сжимаются арифметическим кодером. В том случае, если не исчерпан ресурс скорости передачи, порог Т делится на два и процесс повторяется.
Верхние ряды бит содержат много нулей, так как многие коэффициенты имеют значение ниже порога. Роль нульдерева заключается в предотвращении передачи этих нулей. Символ нульдерева может снова и снова передаваться для данного коэффициента, пока он не станет больше текущего порога. После этого передается его квантованное значение.
А.Саид и В.Перельман улучшили алгоритм EZW. Их версия кодера называется «установка подразделений в иерархических деревьях» (Set Partition In Hierarchical Trees - SPIHT). Имеется общедоступная программная реализация этого кодера, которая очень быстра. Так, сжатие изображения размером 512х512 в 100 раз занимает на компьютере Р-166 порядка 0.1 секунды. При этом качество восстановленного изображения весьма приемлемо. Вложенные кодеры обладают одной интересной особенностью: чем больше коэффициент сжатия, тем меньше время работы кодера. Это объясняется тем, что требуется осуществление меньшего числа уточнений. SPIHT превосходит EZW примерно на 0.3 -6 дБ за счет кодирования не одиночных, а параллельных нульдеревьев.
Можно показать, что EZW и SPIHT являются членами большого семейства алгоритмов, в которых карта значений имеет древовидную структуру.
2.3.3. Оптимизация нульдеревьев по критерию скорость - искажение
В рассмотренных кодерах нульдеревья порождались только на основе анализируемых данных. Однако рассмотрим следующий гипотетический пример. Пусть изображение имеет большую равномерную область. Соответствующие ей вейвлет - будут малы, будет генерироваться нульдерево, и на кодирование тратится малое число бит. Предположим теперь, что среди этой области имеется один резко отличающийся по значению пиксель. Этот пиксель приведет к появлению большого вейвлет и нульдерево порождаться не будет.
Неточное кодирование одного пиксела не приведет к большому искажению изображения. В нашем примере эффективность кодера может быть существенно повышена путем игнорирования соответствующего коэффициента и построения нульдерева. Возникает вопрос: каким образом определять, стоит ли отбрасывать коэффициенты, «мешающие» построению нульдерева.
Введение нульдерева для группы вейвлет является, по сути, разновидностью квантования. Значения коэффициентов, которые мы кодируем посредством нульдерева, не являются в общем случае нулевыми. Значимые коэффициенты также подвергаются квантованию. Если сэкономить часть бит путем порождения больших нульдеревьев, высвободившийся ресурс бит можно направить на более точное квантование значимых коэффициентов. Задачей является оптимальное распределение ограниченного ресурса бит между двумя видами квантователей для достижения меньшего искажения.
Эта задача решена с использованием хорошо известного метода распределения бит. Основным утверждением является то, что для случая оптимального распределения бит наклоны касательных к кривым скорость для всех квантователей равны. Наклон показывает, насколько искажение увеличивается/уменьшается при обнулении/передаче данного узла. Если один из квантователей имеет меньший наклон, это означает, что при его передаче искажение уменьшится меньше, чем при передаче других узлов. Следовательно, можно передать часть бит от этого квантователя другим. Таким образом, при повторении этой процедуры наклоны всех квантователей будут выровнены.
Ясно, что нульдеревья влияют на уровни квантования ненулевых коэффициентов, так как общий ресурс бит ограничен. Верно и обратное. Поэтому возможен итеративный алгоритм для оптимизации этих двух режимов квантования по критерию скорость Вначале фиксируется скалярный квантователь, и ищется оптимальное нульдерево. Затем оно фиксируется, и ищется оптимальный скалярный квантователь. З.Ксионг было доказано, что эта процедура сходится к локальному оптимуму.
Данный алгоритм незначительно превосходит по эффективности SPIHT, но обладает серьезными недостатками. Во-первых он намного более сложен. Во-вторых и, наверное, самое главное, он не порождает иерархический поток бит.
2.4. Современные направления исследований
Исследования в области сжатия изображений ведутся по разным направлениям. Так, появилась новая интерпретация вейвлет – преобразования – лифтинговая схема, не основанная на преобразовании Фурье. С использованием этой схемы появилась возможность конструирования новых неразделимых базисов вейвлетов, которые потенциально могут привести к повышению эффективности кодеров. Интересным направлением исследований является изучение нелинейных аналогов вейвлет – преобразования, которые философия лифтинга делает возможным. Активные исследования проводятся в области кодеров, основанных на классификации и оценивании по прошлому.
Одним из наиболее интересных направлений является разработка кодеров изображения, робастных к ошибкам, возникающим в каналах связи. При этом используется идея совместной оптимизации кодеров источника и канала, а также оптимального сочетания раздельно оптимизированных кодеров.
Особый интерес представляет адаптация вейвлет – кодирования изображения для кодирования видео. Здесь можно сочетать внутрикадровое кодирование с межкадровым предсказанием, как это заложено в стандарте MPEG-4. Можно также рассматривать видеопоследовательность как трехмерный массив и применять трехмерный вейвлет - анализ. Однако этот метод наталкивается на трудности, связанные с фундаментальными особенностями вейвлет – преобразования, как и любого субполосного кодирования. Вейвлет – преобразование не является пространственно – инвариантным в силу присутствия децимации и интерполяции. Эта изменчивость в пространстве мешает компактному представлению видеосигналов.
Видеосигналы состоят из кадров. От кадра к кадру информация меняется незначительно. Поэтому существует возможность достичь хороших результатов сжатия, передав одинаковую информацию лишь однажды. Однако вейвлет - преобразование не является инвариантным к сдвигу, следовательно, подобное кодирование невозможно. Аналогичные доводы против трехмерного вейвлет – преобразования приводят и в частотной области.
Итак, в настоящей главе рассмотрено применение вейвлет – преобразования для сжатия изображений. Во всем мире в данном направлении ведутся интенсивные работы. Разработано большое число алгоритмов и кодеров, некоторые из которых стандартизированы.
Современные вейвлет – кодеры основаны на предположении, что изображение порождается источником с флюктуирующей дисперсией. Каждый кодер реализует определенный механизм для отображения локальной дисперсии вейвлет - и квантует их оптимальным или субоптимальным образом в соответствии с дисперсией. Кодеры отличаются друг от друга стратегиями квантования коэффициентов и тем, каким образом происходит оценка и передача значения дисперсии декодеру.
Кодеры, основанные на алгоритме нульдерева, предполагают у дисперсии наличие двух состояний: нуль или нет. Декодеру передается дополнительная информация о местоположении значимых коэффициентов. Этот процесс приводит к нелинейной аппроксимации изображения. Множества нулевых коэффициентов выражаются в терминах деревьев вейвлетов (Льюис и Ноулес, Шапиро и др.) или комбинаций этих деревьев (Саид и Перельман). Нули передаются декодеру как дополнительная информация, так же как и квантованные данные. Кодеры, основанные на нульдеревьях, учитывают межполосные зависимости вейвлет – коэффициентов.
В частотно-адаптивных кодерах применяются ортогональные адаптивные преобразования – метод вейвлет – пакетов. Локальные флюктуации корреляционных связей используют пространственно кодеры.
Другие вейвлет учитывают внутриполосные зависимости между вейвлет - коэффициентами (иногда одновременно и межполосные). Кодеры, основанные на решетчатом квантовании, делят коэффициенты на группы в соответствии с их энергией. Для каждого коэффициента они оценивают и (или) передают информацию о группе и значение квантованного в соответствие с номинальной дисперсией группы коэффициента. Другой новый класс кодеров передает незначительное количество информации о дисперсии. Это показывает, что, возможно, информация о дисперсии имеет большую избыточность, чем считалось раньше.
ЗАКЛЮЧЕНИЕ
Интенсивность исследований, ведущихся в данной области такова, что для подробного освещения всего обширного круга вопросов, касающихся данной темы, потребовалось бы издание, сопоставимое по масштабам с БСЭ.
Преимущество вейвлетов по сравнению с JPEG?
Во-первых, вейвлет-алгоритмы работают с целым изображением, а не с его частью. Во-вторых, с их помощью легко анализировать прерывистые сигналы и сигналы с острыми всплесками, поскольку вейвлет-алгоритмы используют принципиально иной математический аппарат. В-третьих, даже при 100 кратном вейвлет-сжатии изображения его качество почти не изменяется.
Основная идея вейвлет-преобразования состоит в представлении некоторой случайной функции (в нашем случае - исследуемого сигнала) как суперпозиции определенных базисных негармонических функций - вейвлетов.
вейвлет WAVE |
вейвлет MHAT - "мексиканская шляпа" |
вейвлет Морле |
Для того чтобы вейвлеты хорошо аппроксимировали исходный сигнал, они подвергаются масштабированию (сжатию или растяжению) и сдвигу (смещению).
Результат вейвлет-преобразования - обычный массив числовых коэффициентов. Такая форма представления информации об изображении очень удобна, поскольку числовые данные легко обрабатывать.
После этого наступает очень важный этап - пороговое преобразование. Нужно отбросить коэффициенты, значение которых близко к нулю. Следует помнить, что при этом происходит необратимая потеря информации, ведь отброшенные коэффициенты участвуют в формировании изображения. Поэтому выбранное пороговое значение коэффициентов сильно влияет на качество изображения - задание слишком высокого порога повлечет за собой падение качества.
Итак, видеокомпрессия происходит в два этапа - на первом осуществляется сжатие с потерей информации (вейвлет-преобразование), на втором - обычная архивация данных.
Для восстановления изображения необходимо повторить все действия в обратном порядке. Сначала восстанавливаются значения коэффициентов, а затем по ним, применяя обратное вейвлет-преобразование, получают изображение (сигнал).
В качестве практического применения вейвлет – приобразования рассмотрены современные подходы к сжатию изображений. Вейвлет – приобразование легло в основу международного стандарта MPEG-4, стандарта на сжатие отпечатков пальцев ФБР, видеокодеков фирмы Analog Devices. В настоящее время ведется разработка стандарта JPEG-2000, где вейвлет – приобразования вероятно, также найдут себе применение.
Вейвлет-анализ нашел широкое применение во множестве приложений - в медицине, в биологии, в нефтегазовой отрасли, в телекоммуникациях. ФБР активно использует вейвлеты для оптимизации алгоритмов хранения дактилоскопических баз данных, а NASA разрабатывает технологию применения вейвлет-анализа к задачам освоения космического пространства.
В странах Западной Европы и США вейвлеты уверенно вытесняют JPEG-технологии. В России же только ISS - одна из немногих компаний, предлагающих программные продукты, использующие вейвлет-идеологию.
Между тем, во многих областях можно ожидать существенно лучших результатов за счет использования вейвлетов. Перечислим некоторые из них. Задачи, связанные с предсказанием. Это - предсказание курса ценных бумаг на рынке, предсказание землетрясений, прогноз погоды.
Вейвлеты успешно применяются в квантовой физике, при изучении строения атома, в лазерной технике.
Очистка от шума зашумленных сигналов. Так, ученые Стэнфорда с успехом применили вейвлеты для улучшения звучания старых грампластинок.
Задачи, связанные с обнаружением сигнала на фоне помехи, его распознаванием, классификации. Сотрудниками Исследовательской лаборатории ВМС США вейвлеты применялись для обнаружения подводных лодок, для оценки разрушений, произведенных бомбардировками, и для многих других важных военно-прикладных задач.
В заключение можно отметить, что вейвлеты и сопутствующие им идеи внесли неоценимый вклад в теорию и практику кодирования изображений и, будут оставаться основным направлением исследований в этой области в ближайшем будущем.
Список литературы
Воробьев В.И., Грибунин В.Г. «Теория и практика вейвлет преобразования» ВУС, 1999. С.1 -204.
Intenet.