Квадратурные зеркальные фильтры

advertisement
9-я Международная Конференция
по Компьютерной Графике и Машинному Зрению
ГрафиКон’99
Москва, 26 августа - 1 сентября 1999 г.
Учебный курс
Введение в
вейвлет-анализ
Леонид Левкович-Маслюк,
Антон Переберин,
ИПМ РАН, Москва,
ИПМ РАН, Москва,
levkovl@spp.keldysh.ru
avpereb@cs.msu.su
ГрафиКон’99
Москва, 26 августа – 1 сентября 1999
Лекция 2
Квадратурные зеркальные фильтры,
вейвлет-пакеты, сжатие
изображений.




Квадратурные зеркальные фильтры
Конструкция
ортогональных
вейвлетов
(Daubechies)
Вейвлет-пакеты
Двумерные вейвлеты и сжатие изображений
Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 2
Добеши
2
ГрафиКон’99
Москва, 26 августа – 1 сентября 1999
Квадратурные зеркальные фильтры
Кратномасштабный анализ – это математическая конструкция, синтезирующая
две идеи обработки сигналов. Первая идея – разложение сигнала по поддиапазонам
(subband decomposition) при помощи квадратурных зеркальных фильтров (quadrature
mirror filters) – появилась
в задаче сжатия речи. Вторая идея – пирамидное
представление (pyramid representation) – в задаче сжатия изображений. Обе идеи
связаны с применением к сигналу фильтров специального вида. В первом случае
теория строилась в терминах Фурье-преобразования сигнала, во втором – в терминах
исходного сигнала.
Рассмотрим сигнал – последовательность чисел x= {x n }nn
 . Для сглаживания
сигнала, подавления шума и других целей часто используют
фильтры –
преобразования свертки вида:
y n   hk x nk .
k
Сигнал y= {y n }nn
 получается «локальным усреднением» сигнала x с помощью
набора «весов» h  {hk } :
y:
...
...
yn
...
...
h1
x:
...
x n1
xn
x n1
...
В дальнейшем нам понадобятся следующие понятия.
Дискретное преобразование Фурье (ДПФ) сигнала: X ( )  xne in
(формальная
n
сумма).
z-преобразование сигнала: X (z)  xnz n (формальная сумма).
n
Преобразование Фурье функции x( t ) имеет вид x ( ) 
1
2

 x( t )e
 it
dt .
В этих терминах применение фильтра записывается так:
Y ( )  H ( )X ( ) ,
(1)
Y (z )  H (z )X (z )
(1')
или
Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 2
3
ГрафиКон’99
Москва, 26 августа – 1 сентября 1999
Транспонированный фильтр h* состоит из тех же коэффициентов, что и фильтр h ,
переставленных в обратном порядке. В Фурье-области транспонированный фильтр
имеет вид H( ) . Коэффициенты всех сигналов и фильтров будут предполагаться
вещественными.
X( ) характеризует распределение «энергии» сигнала по частотам  [ ,  ) .
Иногда бывает полезно разложить сигнал на компоненты, энергия которых
сосредоточена в различных частотных поддиапазонах (т.е. существенно отлична от
нуля на различных подотрезках отрезка  [ ,  ) ), и кодировать их с разной степенью
детальности (например, в зависимости от чувствительности человеческого уха к
звукам различной частоты). Задолго до создания вейвлет-анализа для этого
использовалась схема, которую мы сейчас опишем.
Мы хотим найти два фильтра,
h
(подавляющий высокие частоты) и
g (подавляющий низкие частоты), которые позволяли бы разложить сигнал на две
компоненты, X H ( z ) и X G ( z ) , вдвое их проредить (половина значений становится
лишней – ведь частотный диапазон сократился вдвое!), а затем, с помощью
транспонированных фильтров, точно восстановить по этим данным исходный сигнал
(эту операцию можно применять рекурсивно). Условия на искомые фильтры удобно
записать в терминах z-преобразования.
Пусть Y ( z ) – z-преобразование одной из компонент. Перед кодированием она
прореживается вдвое, а перед
восстановлением исходного сигнала доводится до
исходной длины вставкой нулей между соседними значениями. При этом zпреобразование из Y ( z ) превращается в (Y ( z )  Y (  z )) / 2 . Подставим сюда (1’) для
каждого из фильтров, и получим z-преобразования компонент перед восстановлением
X H (z) 
 ( H ( z ) X ( z )  H (  z ) X (  z )) / 2
XG (z) 
 ( G( z ) X ( z )  G(  z ) X (  z )) / 2
z-преобразования транспонированных фильтров имеют вид H ( z 1 ) и G( z 1 ) . Сигнал
восстановится с их помощью точно, если:


X ( z )  ( H ( z 1 ) H ( z )  G( z 1 )G( z )) X ( z ) / 2 + ( H ( z 1 ) H (  z )  G( z 1 )G(  z )) X (  z ) / 2 .
Получаем условия точного восстановления (perfect reconstruction, PR):
H ( z 1 ) H ( z )  G( z 1 )G( z ) = 2
H ( z 1 ) H (  z )  G( z 1 )G(  z ) = 0
Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 2
4
ГрафиКон’99
Москва, 26 августа – 1 сентября 1999
В матричной форме они записываются так:


t
 2 0
M ( z ) M ( z 1 )  
  2E ,
 0 2
где
G( z ) 
 H( z)
M(z)  

 H (  z ) G(  z )
Подставив z  ei , получим условия на ДПФ искомых фильтров:
2
2

H ( )  G( )  2

H ( )H(   ) + G( )G(   )  0
(2)
Допустим, что мы нашли h такой, что
2
2
H ( )  H (   )  2
(2’)
G( )  e i H (   )
(3)
Тогда, положив
мы видим, что (2) выполняется. Задача свелась к нахождению тригонометрического
многочлена H( ) , удовлетворяющего (2’). На методах построения таких многочленов
мы остановимся в следующем разделе. Фильтры h и g , удовлетворяющие (2),
называются квадратурными зеркальными фильтрами (quadrature mirror filters, QMF).
На рис.1, (a) и (b), показаны ДПФ такой пары фильтров h и g , а также
Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 2
5
ГрафиКон’99
исходный
Москва, 26 августа – 1 сентября 1999
сигнал
до
и
после
фильтрации
(без
прореживания).
Рисунок 1a.
Рисунок 1b.
Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 2
6
ГрафиКон’99
Москва, 26 августа – 1 сентября 1999
Точно такую же операцию можно применить к одной или обеим из полученных
компонент, и т.д.,
добиваясь нужной локализации по частоте. Это позволяет
адаптироваться к особенностям сигнала за счет выбора подходящего «дерева
разложения».
Вспоминая предыдущую лекцию, мы видим, что ортогональность базисных
функций ОКА приводит к тому, что вычисление сглаженных версий сигнала и его
деталей выполняется сверткой с парой квадратурных зеркальных фильтров.
Конструкция ортогональных вейвлетов Добеши (Daubechies)
Функции Хаара хорошо локализованы в пространстве, но плохо локализованы в
частотной области. Существуют конструкции ОКА, порожденные сплайнами более
высокого порядка. Но базисные функции этих ОКА отличны от нуля на всей прямой.
А это означает, что и соответствующие фильтры имеют бесконечную длину. Пример
вейвлета, полученного ортогонализацией кусочно-линейных сплайнов, показан на
рисунке 2.
Рис. 2. Кусочно-линейный «вейвлет Франклина».
Ингрид Добеши впервые построила примеры ортогональных вейвлетов,
имеющих сколь угодно высокую гладкость, и сосредоточенных на конечном
интервале. Таким вейвлетам соответствуют конечные QMF, удобные в приложениях.
Здесь мы кратко наметим конструкцию Добеши. Она основана на выражении фурьеобраза скейлинг-функции через фурье-образ искомого фильтра.
Обозначим m0 ( )  H ( ) / 2 . Должно выполняться условие:
2
2
m0 ( )  m0 (   )  1 .
Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 2
(4)
7
ГрафиКон’99
Москва, 26 августа – 1 сентября 1999
N
Ищем
решение


m0 ( )   cos 2 

2
2
в
N
 1  e i 
m0 ( )  
 Q( e i ) ,
 2 
виде:
2
Q( e i ) . Положим y  cos 2

2
Q
–
многочлен.
Тогда
, тогда
2


Q(e i )  P1  cos 2  ,

2
(5)
y N P(1  y )  (1  y ) N P( y )  1.
(6)
и (2.3) превращается в
Требуется: а) найти многочлен P( y ) , удовлетворяющий (6) и такой, что 0  P( y )  2
2( N 1)
при
y  0,1 , и б) извлечь из него квадратный корень в смысле (5). Ответ на а) предъявляется:
PN ( y ) 
 N  1  j j
y .
j 
j 0
N 1
 
(7)
(это фактически единственное решение). Ответ на б) также дается явным выражением, которое мы из-за
громоздкости не приводим – это результат известной в теории функций леммы Рисса. В него входят
комплексные корни многочлена от z , который получается из (7) при выражении y  sin 2

2
через
z  e i . При выборе различных подмножеств множества корней получаются фильтры с различными
свойствами.
Показатель N в (6) определяет степени полиномов, которые «убиваются»
разложением по построенному таким образом вейвлет-базису:
 t  (t )dt  0,
l
( l  0,1,..., N  1) .
Эта величина называется количеством нулевых
моментов (number of vanishing
moments). В классической конструкции Добеши длина фильтров 2N , а количество
нулевых моментов N . На практике это означает, что фильтр g подавляет
полиномиальную составляющую сигнала вида a0  a1t  a2 t 2 ...a N 1t N 1 ,
которая
остается только в крупномасштабной версии. Например, для вейвлетов Хаара N  1 , и
применение фильтра g 0 
1
2
, g1 
-1
2
убивает постоянную составляющую сигнала.
Вейвлет-пакеты
Для увеличения разрешения вейвлет-фильтров по частоте используется
простой, красивый и эффективный прием. Опишем его для ортогонального случая.
Напомним, что при работе алгоритма Малла на каждом шаге «отрезается» половина (в
Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 2
8
ГрафиКон’99
Москва, 26 августа – 1 сентября 1999
случае идеального фильтра)
низкочастотной части диапазона. Но ведь можно
применить ту же операцию «расщепления» (splitting) к любой из получающихся
высокочастотных компонент. На рисунке 3 слева показана схема алгоритма Малла,
справа – другая схема разложения сигнала, при которой каждый высокочастотный
диапазон из схемы Малла тоже делится пополам.
Рис. 3.
Разложение по вейвлет-пакетам.
Этой схеме можно дать истолкование на языке вейвлетов. Дерево на рис. 3
справа соответствует замене вейвлета
 2 ( t )   g n ( t  n ) .
и
Теперь
 ( t ) на два новых вейвлета:  1 ( t )   hn ( t  n )
разложение
V j 1 = V j  Wj превращается
V j 1 = V j  W1 j  W 2 j , где W1 j и W 2 j порождены соответственно
2
j/2

2
j/2

в

 1 2 j t  2m
и

 2 2 j t  2m . Новые вейвлеты тоже локализованы в пространстве, но на вдвое
более широком отрезке, чем исходный вейвлет, так как их локализация по частоте
вдвое тоньше.
Можно нарисовать произвольное бинарное дерево разложения, и ему будет
соответствовать набор подпространств с базисами, построенными по аналогичному
рецепту. Функции, порождающие эти базисы, и называются вейвлет-пакетами
(wavelet-packets).
На практике (при сжатии данных, например) мы имеем дело только с
фильтрами. За счет выбора оптимального дерева для данного сигнала или класса
сигналов иногда можно существенно (в несколько раз) повысить эффективность
Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 2
9
ГрафиКон’99
Москва, 26 августа – 1 сентября 1999
сжатия. Для выбора [квази]оптимального дерева разработан ряд методов. Все они
основаны на введении некоторой функции («энтропии»), позволяющей оценить
«информативность» набора коэффициентов. Стратегия такова: сначала строится
полное дерево разложения, затем снизу вверх анализируются пары узлов, имеющих
общий корень. Если при переходе от корня к узлам энтропия не уменьшается, эта пара
заменяется на корень. Упрощенный вариант – подобрать оптимальный уровень, т.е.
высоту полного дерева, при которой энтропия минимальна.
Двумерные вейвлеты и сжатие изображений
Для работы с графикой необходимо обрабатывать двумерные массивы данных.
Кратномасштабный анализ должен строиться в пространстве функций двух
переменных.
Существует
несколько
способов
обобщить
изложенные
ранее
конструкции на функции нескольких переменных (мы будем говорить только о
функциях двух переменных).
Самый простой и широко распространенный путь – тензорное произведение
одномерных КМА. В качестве двумерной скейлинг-функции берется
( t , s)   (t ) ( s) .
Вместо одного вейвлета возникает три:
LH (t , s)   (t ) ( s), HL ( t , s)   (t ) ( s), HH ( t , s)   (t ) ( s).
(L означает низкую частоту, H – высокую частоту). Пространства V j порождаются
сдвигами скейлинг – функции на одном и том же масштабе:


V j  2 j ( 2 j t  k , 2 j s  m) ,
пространства деталей имеют вид:

 2 

s  m)


W LH j  2 j LH ( 2 j t  k , 2 j s  m) , W HL j  2 j HL ( 2 j t  k , 2 j s  m) ,
W HH j
j
HH ( 2
j
t  k, 2 j
Соответствующие проекции находятся применением фильтров (в очевидных
обозначениях):
x  Ht  H s ( x ), Ht  Gs ( x ), Gt  Hs ( x ), Gt  Gs ( x ) ,
где x – двумерный сигнал. Классическая схема Малла
предполагает рекурсивное
применение той же процедуры к низкочастотной составляющей. На рисунке 4
показаны результаты двух шагов этого процесса для фотографии Ингрид Добеши
Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 2
10
ГрафиКон’99
Москва, 26 августа – 1 сентября 1999
(Ingrid Daubechies) (внесшей выдающийся вклад в теорию вейвлет-анализа).
Коэффициенты расположены по правилу:
LL
HL
LH
HH
Например, LH означает, что в этом квадранте стоит результат применения
фильтра низких частот к столбцам, высоких частот – к строчкам исходной матрицы, и
прореживания вдвое по каждому направлению. На рисунке 4а более ярким цветом
обозначены коэффициенты большей амплитуды. Четко видно, что их положение
указывает на резкие перепады яркости. Такие перепады являются наиболее
информативными при беглом просмотре любого изображения. Вейвлет-представление
позволяет их локализовать путем последовательного уточнения, начиная с более
крупных масштабов. Кроме того, коэффициенты проекции на различные пространства
деталей отвечают за перепады яркости различной ориентации: например, если фильтр
высоких частот применялся к строчкам, то в соответствующем квадранте ярче
выделены вертикальные перепады. Это хорошо видно на рисунке 4б.
Самый простой подход к сжатию изображений при помощи вейвлетпреобразования состоит в следующем:

Выполнить вейвлет-преобразование.

Упорядочить коэффициенты .

Отбросить “хвост” упорядоченного массива, энергия которого равна допустимой
(по условиям задачи) величине.

Запомнить сохраненные коэффициенты и их положение в массиве исходных
коэффициентов.

При восстановлении заменять отброшенные коэффициенты нулями.
Эта идея в той или иной форме присутствует во всех методах вейвлетного сжатия.
Данную процедуру можно, например, применять раздельно к каждому из квадрантов,
полученных при разложении по оптимально выбранным вейвлет-пакетам.
Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 2
11
ГрафиКон’99
Москва, 26 августа – 1 сентября 1999
Рисунок 4а.
Два уровня двумерного вейвлет-преобразования.
Рисунок 4б.
Полное дерево высоты 2 разложения по вейвлет-пакетам.
Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 2
12
ГрафиКон’99
Москва, 26 августа – 1 сентября 1999
Однако существуют и более изощренные методы, где кодирование сразу идет на
уровне битов. Один из них мы сейчас кратко опишем. Он является модификацией
метода погруженного нуль-дерева (embedded zero-tree).

Коэффициенты вейвлет-преобразования квантуются и записываются целыми
числами.

Строится упорядоченная таблица коэффициентов: сначала идут те, у которых в
старшем двоичном разряде 1, затем – те, у которых в старшем разряде 0, но в
следующем – 1, и т.д. В битовом представлении таблица выглядит так:
s
s
s
s
s
s
s
s
s
s
1
1
0
0
0
0
0
0
0
0..
1
1
1
1
1
0
0
0..
1
1
1..
..............................................................................
В первой строке стоят знаки коэффициентов, во второй – старшие биты, и т.д. Ясно,
что для воспроизведения исходного изображения достаточно запомнить (передать)
только те биты, которые стоят в клетках, помеченных стрелками, а также длину
стрелок и положение самих коэффициентов в исходном двумерном массиве
коэффициентов. При передаче битов в таком порядке сначала передается самая
существенная информация (старшие биты самых больших коэффициентов), потом
менее существенная, и т.д. Этот процесс можно оборвать, дойдя до той части таблицы,
где стоят «маленькие» коэффициенты.
таблицу
положений
сохраненных
Проблема в том, как компактно передать
коэффициентов.
Заметим,
что
полностью
упорядочивать массив коэффициентов (по абсолютной величине) не надо, достаточно
найти разбиение на группы, показанные в таблице, т.е на такие группы, что для
фиксированного n
2 n  cij  2 n 1
(8)
Пусть все множество коэффициентов разбито на некоторые подмножества Tm .
Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 2
13
ГрафиКон’99
Москва, 26 августа – 1 сентября 1999
Фиксируем n, и начинаем по очереди просматривать Tm на наличие значимых
коэффициентов – т.е., удовлетворяющих (8). Если в Tm есть значимые коэффициенты,
это множество разбивается на некоторые подмножества, и они опять проверяются на
значимость, и т.д. Хорошо было бы построить разбиение так, чтобы значимые
множества состояли (почти всегда) из единственного элемента, а незначимые были
большими.
Именно здесь используется специфика вейвлет-анализа. В разложениях такого
типа, как на рис. 4а, массив коэффициентов распадется на набор поддеревьев:
Рис. 5.
Структура деревьев, на которые распадается множество вейвлет-коэффициентов.
Верхний левый квадрант распадается на четверки коэффициентов. В каждой четверке
три коэффициента (кроме закрашенного черным) имеют «потомков» – четверки
коэффициентов на нижних уровнях; каждый из коэффициентов в этих четверках
имеет своих отпрысков, и т.д. Узлу (i,j) соответствуют потомки с координатами (2i,2j),
(2i,2j+1), (2i+1,2j), (2i+1,2j+1). В качестве изначального разбиения берется именно
этот набор поддеревьев. Многие из них действительно состоят только из
несущественных коэффициентов, так как малые значения на верхних уровнях почти
всегда соответствуют малым значениям на нижних уровнях (если двигаться по
направлению стрелок на рис. 5). Не углубляясь в дальнейшие подробности, отметим
еще одну особенность этого красивого алгоритма: передается (запоминается) не
таблица положений коэффициентов, а ключевые шаги процесса сортировки, что
существенно компактнее (при декодировании этот процесс фактически
воспроизводится в обратном порядке). Так как обычно многие поддеревья
оказываются “нулевыми”, шагов сортировки будет не очень много.
Литература
[1] I. Daubechies, Ten Lectures on Wavelets. SIAM, 1992.
Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 2
14
ГрафиКон’99
Москва, 26 августа – 1 сентября 1999
[2] И.Я.Новиков, С.Б.Стечкин, Основные конструкции всплесков, Фундаментальная и
прикладная математика, т. 3, вып. 4, стр.999-1028, 1997.
[3] S. G. Mallat, A Wavelet Tour of Signal Processing, 1998.
[4] B.Jawerth, W.Sweldens, An overview of wavelet based multiresolution analyses, SIAM
Review, v. 36, p. 377-412, 1994.
[5] А. Said, W.Pearlman,
A New Fast and Efficient Image Codec Based on Set
Partitioning in Hierarchical Trees, IEEE Trans. on Circuits and Systems for Video
Technology, V.6, June 1996.
[6] “Всплеск” (подборка популярных статей о теории и приложениях вейвлетанализа),
Компьютерра,
№8
(236),
2
марта
1998,
стр.
28-53
(http://www.computerra.ru/1998/8/).
[7] http://www.mathsoft.com/ - электронная библиотека по теории и приложениям
вейвлетов.
[8] http://www.wavelet.org/
выходит с 1992 года.
- электронный вейвлет-дайджест (Wavelet Digest),
[9] http://playfair.stanford.edu/~wavelab –
вейвлетных программ на языке Matlab.
WAVELAB,
бесплатная
библиотека
[10] http://www.cs.dartmouth.edu/~gdavis – Программы (на Си) Джеффри Дэвиса
(Geoffrey Davis) для экспериментов с вейвлетным сжатием изображений.

Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 2
15
Download