Портал магистров ДонНТУ |
Буток Александр ПетровичФакультет: Компьютерных информационных технологий и автоматики (КИТА)Специальность: Телекоммуникационные системы и сети (ТКС)
|
|
В последнее десятилетие в мире возникло и оформилось новое научное направление, связанное с так называемым вейвлет - Слово "wavelet", являющееся переводом французского "ondelette", означает небольшие волны, следующие друг за другом. Можно без преувеличения сказать, что вейвлеты произвели революцию в области теории и практики обработки нестационарных сигналов. В настоящее время вейвлеты широко применяются для распознавания образов; при обработке и синтезе различных сигналов, например речевых, медицинских; для изучения свойств турбулентных полей и во многих других случаях. Особо большое развитие получила практика применения вейвлетов для решения задач сжатия и обработки изображений, являющихся нестационарными по своей природе. В этой области применение вейвлет - позволило достичь одновременного снижения сложности и повышения эффективности кодеров. В настоящее время уже находятся в разработке международные стандарты по сжатию неподвижных изображений и видео - JPEG2000 и MPEG-4. Ядром этих стандартов будет вейвлет. В настоящее время исследования в области вейвлетов ведутся по многим направлениям. Несмотря на то, что теория вейвлет - уже в основном разработана, точного определения, что же такое "вейвлет", какие функции можно назвать вейвлетами, насколько известно, не существует. Обычно под вейвлетами понимаются функции, сдвиги и растяжения которых образуют базис многих важных пространств. Эти функции являются компактными как во временной, так и в частотной области.
Широко распространенные приложения мультимедиа (графика, аудио, видео) с каждым днем предъявляют все более высокие требования к аппаратной базе компьютера. Ни наращивание тактовой частоты процессора, ни увеличение объема жесткого диска, ни улучшение пропускной способности каналов передачи данных не в состоянии спасти положение. Единственным путем решения этой проблемы является разработка эффективных алгоритмов компрессии мультимедийных данных.
Цель: Разработка кодека для сжатия мультимедийных данных.
Для достижения поставленной цели в работе решаются такие задачи как:
разработка алгоритма и написание программы, которая будет выполнять компрессию мультимедийных данных с использованием требуемого вейвлет фильтра;
Данная работа не является абсолютно новой в своей предметной области. Цель разработка кодека для сжатия мультимедийных данныхс помощью вейвлет преобразований возникла давно и есть большое количество исследований и разработок других специалистов в этой области. Однако в данной работе предложена идея интегрального анализа целого комплекса признаков, рассчитываемых в ходе вейвлет анализа ВП.
Наиболее важные теоретические результаты в цифровой компрессии были получены еще в конце 70-х. В частности, было установлено, что любое изображение содержит в себе избыточную информацию, не воспринимаемую человеческим глазом. Эта избыточность вызвана сильными корреляционными связями между элементами изображения - изменения от пикселя к пикселю в пределах некоторого участка кадра можно считать несущественными. Итак, перед алгоритмом компрессии стоит задача обнаружения и фильтрации избыточной информации. Как ее решить? Наиболее распространенные до сегодняшнего времени методы сжатия, применяющиеся в стандартах JPEG и MPEG, основаны на Фурье-преобразовании сигнала - он представляется в виде набора гармонических колебаний с различными частотами и амплитудами. Важно отметить, что и JPEG, и MPEG, перед тем как обрабатывать изображение, делят его на блоки. Очень часто это приводит к снижению качества - изображение получается сильно дискретизованным, четко видна блочная структура. В конце 80-х - начале 90-х годов был разработан новый стандарт, названный Wavelet-компрессией (в русскоязычной литературе используется термин "вейвлет"). В буквальном переводе с английского слово "wavelet" означает "маленькая волна". Название это объясняется формой графиков функций, используемых в вейвлет-анализе. Идеологически же понятия "вейвлет-анализ" и "Фурье-анализ" эквивалентны. И в том, и в другом случае реальный сигнал заменяется набором функций (как правило, в преобразовании Фурье используется система синусов и косинусов).
Рассмотрим свойства, которые являются важными при кодировании изображений.
В последнее десятилетие в мире наблюдается значительный интерес к сжатию изображений. Это вызвано стремительным развитием вычислительной техники, графических мониторов, цветных принтеров, а также цифровой техники связи. Изображение представляется в цифровом виде достаточно большим количеством бит. Так, цветная картинка размером 512х512 требует для своего хранения 768 кБайт. Если передавать видеопоследовательность таких картинок со скоростью 25 кадров в секунду, требуемая скорость составит 188.7 Мбит / с.
Различают сжатие изображений без потерь и с потерями. Первое характеризуется незначительными коэффициентами сжатия (от 3 до 5 раз) и находит применение в телевидении, медицине, аэрофотосъемке и других приложениях. При сжатии изображения с допустимыми потерями коэффициент сжатия может достигать сотен раз. Популярность вейвлет - приобразования (ВП) во многом объясняется тем, что оно успешно может использоваться для сжатия изображения как без потерь, так и с потерями. Так, коэффициент сжатия видеосигнала в видеокодеках семейства ADV6xx варьируется от 3 до 350 и больше раз.
Причин успешного применения несколько.
Вейвлет - кодер изображения устроен так же, как и любой другой кодер с преобразованием. Назовем такой кодер базовым. Он состоит из трех основных частей: декоррелирующее преобразование, процедура квантования и энтропийное кодирование. В настоящее время во всем мире проводятся исследования по усовершенствованию всех трех компонент базового кодера.
Выбор оптимального базиса вейвлетов для кодирования изображения является трудной и вряд ли решаемой задачей. Известен ряд критериев построения "хороших" вейвлетов, среди которых наиболее важными являются: гладкость, точность аппроксимации, величина области определения, частотная избирательность фильтра. Тем не менее, наилучшая комбинация этих свойств неизвестна.
Простейшим видом вейвлет - базиса для изображений является разделимый базис, получаемый сжатием и растяжением одномерных вейвлетов. Использование разделимого преобразования сводит проблему поиска эффективного базиса к одномерному случаю, и почти все известные на сегодняшний день кодеры используют его. Однако неразделимые базисы могут быть более эффективными, чем разделимые.
Прототипами базисных функций для разделимого преобразования являются функции ф(х)ф(у), ф(х)(у), (х)ф(у) и (х)(у). На каждом шаге преобразования выполняется два разбиения по частоте, а не одно. Предположим, имеем изображение размером N х N. Сначала каждая из N строк изображения делится на низкочастотную и высокочастотную половины. Получается два изображения размерами N ? N / 2. Далее, каждый столбец делится аналогичным образом. В результате получается четыре изображения размерами N / 2 ? N / 2: низкочастотное по горизонтали и вертикали, высокочастотное по горизонтали и вертикали, низкочастотное по горизонтали и высокочастотное по вертикали и высокочастотное по горизонтали и низкочастотное по вертикали.
Известно, что для кодирования изображений хорошо подходят сплайновые вейвлеты. Эксперименты, проведенные рядом исследователей, показывают важность гладкости базисных функций для сжатия. Практически столь же большое значение имеет число нулевых моментов вейвлетов, которое тесно связано с гладкостью. Несмотря на это, некоторые исследователи считают, что важность гладкости для приложений цифровой обработки сигналов остается открытым вопросом. Наиболее широко на практике используют базисы, имеющие от одной до двух непрерывных производных. Увеличение гладкости не приводит к увеличению эффективности кодирования.
Д.Вилласенор систематически протестировал все биортогональные блоки фильтров минимального порядка с длиной фильтров <=36. В дополнение к вышеперечисленным критериям учитывалась также чувствительность аппроксимации с низким разрешением к сдвигам функции f(x). Наилучшим фильтром, найденным в этих экспериментах, оказался сплайновый фильтр 7/9. Этот фильтр наиболее часто используется в вейвлет - изображений. В частности, в видеокодеках семейства ADV6xx применяются именно эти фильтры.
Необходимо сделать одно замечание относительно этих результатов. Д.Вилласенор сравнивал пиковое отношение сигнал/шум, получаемое при использовании различных фильтров в простой схеме кодирования. Алгоритм размещения бит, применяемый им, хорошо работает с ортогональными базисами. В случае биортогональных фильтров должен применяться другой, более эффективный алгоритм. В силу этой причины некоторые заслуживающие внимания биортогональные фильтры были им обойдены.
Для биортогонального преобразования квадрат ошибки в области преобразования не равен квадрату ошибки в восстановленном изображении. В результате проблема минимизации ошибки становится намного более трудной, чем в ортогональном случае. Можно уменьшить ошибку в области изображения путем применения схемы взвешенного распределения бит. Тогда целый ряд фильтров по своей эффективности становится равным фильтру 7/9. Один из таких базисов - интерполирующий вейвлет Деслаури - Дубук порядка 4, преимуществом которого является то, что коэффициенты фильтра - рациональные числа, кратные степени 2. Оба этих вейвлета имеют 4 нулевых момента и две непрерывные производные.
Семейство многообещающих фильтров было разработано И.Баласингамом и Т.Рамстадом. Процедура разработки заключалась в комбинировании классических методов разработки фильтров с идеями теории вейвлетов. Получившиеся фильтры значительно превосходят популярные фильтры 7/9.
Для эффективного сжатия необходимо тщательно обрабатывать границы изображения. Альтернативным методом является конструирование граничных фильтров, сохраняющих ортогональность преобразования вблизи границы. Проблеме конструирования граничных фильтров посвящен ряд статей Е.Ковачевич. При применении лифтинговой схемы границы учитываются автоматически.
В большинстве вейвлет - применяется скалярное квантование. Существуют две основные стратегии выполнения скалярного квантования. Если заранее известно распределение коэффициентов в каждой полосе, оптимальным будет использование квантователей Ллойда - с ограниченной энтропией для каждой субполосы. В общем случае подобным знанием мы не обладаем, но можем передать параметрическое описание коэффициентов путем посылки декодеру дополнительных бит. Априорно известно, что коэффициенты высокочастотных полос имеют обобщенное гауссовское распределение с нулевым матожиданием.
На практике обычно применяется намного более простой равномерный квантователь с "мертвой" зоной. Интервалы квантования имеют размер ^, кроме центрального интервала (возле нуля), чей размер обычно выбирается 2^ . Коэффициенту, попавшему в некоторый интервал, ставится в соответствие значение центроида этого интервала. В случае асимптотически высоких скоростей кодирования равномерное квантование является оптимальным. Хотя в практических режимах работы квантователи с "мертвой" зоной субоптимальны, они работают почти так же хорошо, как квантователи Ллой-да-Макса будучи намного проще в исполнении. Кроме того, они робастны к изменениям распределения коэффициентов в субполосе. Дополнительным их преимуществом является то, что они могут быть вложены друг в друга для получения вложенного битового потока.
Субоптимальное энтропийное кодирование коэффициентов можно осуществить при помощи алгоритма арифметического кодирования. Кодеру требуется оценить распределение квантованных коэффициентов. Эта оценка получается путем аппроксимации распределения коэффициентов гауссовской или лапласовской плотностью и вычисления параметров распределения. Оценка параметров может также производиться и в процессе работы, "на ходу". Такой подход имеет то преимущество, что кодер учитывает локальные изменения статистики изображения. Известны эффективные адаптивные процедуры оценивания.
Так как изображение не является случайным гауссовским процессом, коэффициенты преобразования, хотя и некоррелированные, обладают определенной структурой. Энтропийный кодер может использовать эту структуру, осуществляя некоторое предсказание. В ряде работ отмечено, что применение предсказания приводит к незначительному повышению эффективности.
На практике зачастую вместо арифметического кодера используют кодер Хаффмана. Причина этого заключается в меньшем требующемся объеме вычислений, а также в том, что алгоритмы арифметического кодирования запатентованы. Так, только фирма IBM обладает более чем 90 патентами различных вариаций этого кодера. В силу этого в видеокодеках ADV6xx применен кодер Хаффмана.
СКО (среднеквадратическая ошибка) не всегда хорошо согласуется с визуально наблюдаемой ошибкой. Рассмотрим, например, два изображения, которые полностью одинаковы, кроме небольшой области. Хотя визуально разность между этими изображениями хорошо заметна, СКО будет примерно одинаковой. Учет системы человеческого зрения в схеме сжатия является трудной задачей. Было проведено множество исследований, но в силу трудностей с математическим описанием системы зрения человека подходящей меры найдено не было. Известно, что в человеческом глазу выполняется операция многомасштабного представления изображений. Глаз более чувствителен к искажениям в низкочастотной области. Отсюда существует возможность улучшения визуального качества реконструированного изображения путем взвешивания СКО субполос в соответствии с чувствительностью глаза в различных частотных диапазонах. Веса для наиболее часто используемого фильтра 7/9 были вычислены А.Ватсоном.
Базовый вейвлет - кодер использует общие принципы кодера с преобразованием, то есть основан на эффектах декорреляции и перераспределения энергии. Математическая теория вейвлет - приобразования позволяет создавать совершенно новые и эффективные методы сжатия.
Кодирование с преобразованием основано на том, что большая часть энергии сосредоточивается в малом количестве коэффициентов, которые квантуются в соответствии с их значением. Эта парадигма, являясь достаточно мощной, основывается на нескольких предположениях, которые не всегда верны. В частности, предполагается, что изображение порождается гауссовским источником, что не соответствует действительности. С.Маллат и Ф.Фальзон показали, как это несоответствие приводит к неверным результатам при кодировании с низкими скоростями.
Традиционное кодирование с преобразованием может быть улучшено путем введения операторов выбора. Вместо квантования коэффициентов трансформанты в заранее определенном порядке вейвлет позволяет выбирать нужные для кодирования элементы. Это становится возможным главным образом благодаря тому, что базис вейвлетов компактен в частотной и пространственной областях.
Вообще говоря, развитие идей кодирования с преобразованием заключается в снятии ограничения на линейную аппроксимацию изображения, так как оператор выбора является нелинейным. В работах Р.Девора, С.Маллата и Ф.Фальзона показано, что проблема кодирования изображения может быть эффективно решена в рамках теории нелинейной аппроксимации. Отсюда возникает и ряд различий в алгоритмах работы традиционных и вейвлет - кодеров. В случае линейной аппроксимации изображение представляется фиксированным числом базисных векторов Карунена - Лоэва. Далее, какое-то число малых коэффициентов трансформанты приравнивается к нулю. Идея нелинейной аппроксимации заключается в аппроксимации изображения путем адаптивного выбора самих базисных функций. Информация о выбранных базисных функциях хранится в бинарной карте значений и передается декодеру, как дополнительная информация.
Для получения большей компактности энергии необходимо адаптировать преобразование к какому - конкретному, а не к целому классу изображений. В случае если источник описывается смесью различных распределений, преобразование Карунена - не является больше эффективным.
Решетчатое квантование коэффициентов гораздо ближе по своей сути к векторному квантованию, чем к кодированию с преобразованием.
Развитие идей кодирования с преобразованием заключается в основном во введении некоторого оператора выбора. Информация о выборе должна быть передана декодеру, как дополнительная информация. Она может быть в виде нульдеревьев или в виде обобщенных классов энергии. Метод "обратного оценивания распределения", предложенный К.Рамчандраном, основан на другом подходе. Считается, что дополнительная информация является избыточной и может быть получена декодером непосредственно из данных. Использование данного метода приводит к хорошим показателям кодирования.
Визуальное сравнение восстановленных изображений показывает, что лучшие результаты дают методы, использующие нульдеревья для кодирования коэффициентов. В частности, в этих изображениях лучше выражены контуры и отсутствует размытость мелких деталей.
Исследования в области сжатия изображений ведутся по разным направлениям. Так, появилась новая интерпретация вейвлет - преобразования - лифтинговая схема, не основанная на преобразовании Фурье. С использованием этой схемы появилась возможность конструирования новых неразделимых базисов вейвлетов, которые потенциально могут привести к повышению эффективности кодеров. Интересным направлением исследований является изучение нелинейных аналогов вейвлет - преобразования, которые философия лифтинга делает возможным. Активные исследования проводятся в области кодеров, основанных на классификации и оценивании по прошлому.
Одним из наиболее интересных направлений является разработка кодеров изображения, устойчивых к ошибкам, возникающим в каналах связи. При этом используется идея совместной оптимизации кодеров источника и канала, а также оптимального сочетания раздельно оптимизированных кодеров.
Современные вейвлет - кодеры основаны на предположении, что изображение порождается источником с флюктуирующей дисперсией. Каждый кодер реализует определенный механизм для отображения локальной дисперсии вейвлет - и квантует их оптимальным или субоптимальным образом в соответствии с дисперсией. Кодеры отличаются друг от друга стратегиями квантования коэффициентов и тем, каким образом происходит оценка и передача значения дисперсии декодеру.
Кодеры, основанные на алгоритме нульдерева, предполагают у дисперсии наличие двух состояний: нуль или нет. Декодеру передается дополнительная информация о местоположении значимых коэффициентов. Этот процесс приводит к нелинейной аппроксимации изображения. Множества нулевых коэффициентов выражаются в терминах деревьев вейвлетов (Льюис и Ноулес, Шапиро и др.) или комбинаций этих деревьев (Саид и Перельман). Нули передаются декодеру как дополнительная информация, так же как и квантованные данные. Кодеры, основанные на нульдеревьях, учитывают межполосные зависимости вейвлет - коэффициентов.
В частотно-адаптивных кодерах применяются ортогональные адаптивные преобразования - метод вейвлет - пакетов. Локальные флюктуации корреляционных связей используют пространственно кодеры.
Другие вейвлет учитывают внутриполосные зависимости между вейвлет - коэффициентами (иногда одновременно и межполосные). Кодеры, основанные на решетчатом квантовании, делят коэффициенты на группы в соответствии с их энергией. Для каждого коэффициента они оценивают и (или) передают информацию о группе и значение квантованного в соответствие с номинальной дисперсией группы коэффициента. Другой новый класс кодеров передает незначительное количество информации о дисперсии. Это показывает, что, возможно, информация о дисперсии имеет большую избыточность, чем считалось раньше.
Интенсивность исследований, ведущихся в данной области такова, что для подробного освещения всего обширного круга вопросов, касающихся данной темы, потребовалось бы издание, сопоставимое по масштабам с БСЭ.
Преимущество вейвлетов по сравнению с JPEG?
Во-первых, вейвлет-алгоритмы работают с целым изображением, а не с его частью. Во-вторых, с их помощью легко анализировать прерывистые сигналы и сигналы с острыми всплесками, поскольку вейвлет-алгоритмы используют принципиально иной математический аппарат. В-третьих, даже при 100 кратном вейвлет-сжатии изображения его качество почти не изменяется.
Основная идея вейвлет-преобразования состоит в представлении некоторой случайной функции (в нашем случае - исследуемого сигнала) как суперпозиции определенных базисных негармонических функций - вейвлетов.
Для того чтобы вейвлеты хорошо аппроксимировали исходный сигнал, они подвергаются масштабированию (сжатию или растяжению) и сдвигу (смещению).
Результат вейвлет-преобразования - обычный массив числовых коэффициентов. Такая форма представления информации об изображении очень удобна, поскольку числовые данные легко обрабатывать.
После этого наступает очень важный этап - пороговое преобразование. Нужно отбросить коэффициенты, значение которых близко к нулю. Следует помнить, что при этом происходит необратимая потеря информации, ведь отброшенные коэффициенты участвуют в формировании изображения. Поэтому выбранное пороговое значение коэффициентов сильно влияет на качество изображения - задание слишком высокого порога повлечет за собой падение качества.
Итак, компрессия происходит в два этапа - на первом осуществляется сжатие с потерей информации (вейвлет-преобразование), на втором - обычная архивация данных.
Для восстановления изображения необходимо повторить все действия в обратном порядке. Сначала восстанавливаются значения коэффициентов, а затем по ним, применяя обратное вейвлет-преобразование, получают изображение (сигнал).
В качестве практического применения вейвлет - приобразования рассмотрены современные подходы к сжатию изображений. Вейвлет - преобразование легло в основу международного стандарта MPEG-4, стандарта на сжатие отпечатков пальцев ФБР, видеокодеков фирмы Analog Devices. В настоящее время ведется разработка стандарта JPEG-2000, где вейвлет - приобразования вероятно, также найдут себе применение.
Вейвлет-анализ нашел широкое применение во множестве приложений - в медицине, в биологии, в нефтегазовой отрасли, в телекоммуникациях. ФБР активно использует вейвлеты для оптимизации алгоритмов хранения дактилоскопических баз данных, а NASA разрабатывает технологию применения вейвлет-анализа к задачам освоения космического пространства.
В странах Западной Европы и США вейвлеты уверенно вытесняют JPEG-технологии. В России же только ISS - одна из немногих компаний, предлагающих программные продукты, использующие вейвлет-идеологию.
Между тем, во многих областях можно ожидать существенно лучших результатов за счет использования вейвлетов. Перечислим некоторые из них. Задачи, связанные с предсказанием. Это - предсказание курса ценных бумаг на рынке, предсказание землетрясений, прогноз погоды.
Вейвлеты успешно применяются в квантовой физике, при изучении строения атома, в лазерной технике. Очистка от шума зашумленных сигналов. Так, ученые Стэнфорда с успехом применили вейвлеты для улучшения звучания старых грампластинок. Задачи, связанные с обнаружением сигнала на фоне помехи, его распознаванием, классификации. Сотрудниками Исследовательской лаборатории ВМС США вейвлеты применялись для обнаружения подводных лодок, для оценки разрушений, произведенных бомбардировками, и для многих других важных военно-прикладных задач.