Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #54, МАЙ 2005 г.

Эффект сжатия

Главнов Владимир

Спецвыпуск: Хакер, номер #054, стр. 054-008-3


Это свойство позволяет применить аналогичное разложение для и получить следующий уровень вейвлет-разложения.

Для двумерного сигнала, такого как изображение, вейвлет-преобразование на каждом уровне разложения применяется дважды: сначала по строкам, затем по столбцам.

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

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

В то же время вейвлет-разложение не избавилось от смазывания граней, от утраты мелких деталей, появления "незваной" ауры и шероховатостей вблизи границ объектов изображения.

Оценка и компенсация движения

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

Наиболее популярным среди наших дедов способом поиска вектора движения был полный перебор всех векторов из заданной области (обычно [-64..+63, -64..+63]) на наилучшее соответствие и логарифмический поиск (подробнее об этом - в книжке 9). Но полный перебор с вычислением меры соответствия для каждого возможного вектора занимает очень много времени, а логарифмический поиск очень часто ошибается и дает "плохое" решение, несмотря на то, что существует "хорошее".

Наши отцы уже применяли метод корреляции фаз (для заинтересовавшихся - книжка 7). Перейдя в область Фурье с использованием быстрого преобразования, они быстро и точно находили вектор смещения одной области относительно другой. Но точность достигалась только при малых смещениях больших областей, для изображений с быстрыми движениями в кадре метод был просто неприменим.

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

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

Назад на стр. 054-008-2  Содержание  Вперед на стр. 054-008-4