Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1 / Salmon_sjatie_dannyh_izobrajeniy_i_zvuka[torrents.ru]

.pdf
Скачиваний:
24
Добавлен:
05.06.2015
Размер:
7.92 Mб
Скачать

240 Глава 4- Вейвлетные методы

мы, называется импульсным откликом системы. На рис. 4.16 при­ ведено графическое представление свертки, где конечный результат (интеграл) равен площади серой области под кривой.

Свертка имеет несколько важных свойств. Она удовлетворяет свойствам коммутативности, ассоциативности и дистрибутивности по сложению, то есть, имеют место следующие тождества:

f^ig^h)

=

{f^g)^h,

(4.7)

f^(g-\-h)

=

fi^g +

f-kh.

Ha практике непрерывные сигналы преобразуются в дискрет­ ные последовательности чисел, поэтому нам также понадобится дис­ кретная свертка. Дискретная свертка двух числовых последова­ тельностей /(г) и р(г) задается равенством

Нг) = /(J)*ffW = X^/(i)ff(i - i ) .

(4.8)

3

 

Если длины последовательностей /(г) и р(г) равны, соответственно, m и п, то h{i) имеет длину in-\-n1.

Пример: Даны две последовательности / = (/(0), / ( 1 ) , . . . , /(5)) (шесть элементов) и ^ = (р(0),р(1),... ,^(4)) (пять элементов). Урав­ нения (4.8) задают свертку /г = / • р из 10 элементов:

MO) = E/W^(o-i)

=

/(0)^(0)

1

 

 

Mi) = E/W^(i-^*)

=

/(0)р(1) + /(%(0)

2

-

/(0)р(2)+/(%(1)+/(%(0)

M2) = E/(i)^(2-i)

3

 

 

M3) = X^/(i)^(3-i)

=

/(0)^(3)+/(l)p(2)+/(2)p(l) +/(3)^(0)

4

 

 

M4) = $ ] / ( j ) p ( 4 - i )

=

/(0)5(4)+/(l)fl{3)+/(2)5(2)+/(%(l) +

3=0

 

 

+/(4)ff{0)

 

 

4.3. Поддиапазонные преобразования

241

5

 

 

 

/»(5)=Е/0)»(5-Я

=

/{l)p(4)+/(2)s(3)+/(3)5(2)+/(%(l) +

i =i

 

 

 

 

+

/(5)ff(0)

 

5

 

 

 

HQ) = J2f(^)9{^-^)

=

/(2Ж4)+/(ЗЖЗ) + /(4Ж2)+ /(%(!)

5

 

 

 

М7) = Е/(^')^(7-Я

-

/(%(4)+/(4ЖЗ) + /(%(2)

 

5

 

 

 

М8) = Е / ( ^ Ж 8 - Я

=

/(4Ж4)+/(5ЖЗ)

 

j=4

 

 

 

5

 

 

 

M9) = E/(i)^(9 - ^)

=

/(%(4)-

(4-9)

Простейшим примером использования свертки является сглажи­ вание или очищение сигналов от шума. Здесь становится ясным, как можно использовать свертку в фильтрах. Имея зашумленный сигнал f{t) (рис. 4.17), выберем прямоугольный импульс в качестве компоненты g{t) свертки:

{

1,

-а/2

< t < а/2,

1/2,

t =

±a/2,

О,

иначе,

где а - некоторое подходящее малое число (например, а = 1). При вычислении свертки, импульс перемещается слева направо и умно­ жается на f(t). Результат произведения равен локальному среднему функции f(t) на интервале длины а. Это выглядит как отбрасыва­ ние высокочастотных флуктуации из исходного сигнала f{t).

входная функция

сглаженная функция

Р и с . 4 . 17 . Применение свертки при «очищении» функции от шума.

Глава 4- Вейвлетные методы

 

 

«О нет, - сказал Жорж, - это больше чем деньги.»

 

Он обхват,ил голову

ладонями и постарался

припомнить

что-

нибудь еще, кроме денег. Серое вещесппво в его голове было

полно

конволюций и извилин,

его барабанные перепонки

были туго

натя­

нуты. Сквозь них проходили только звуки очень высокой частоты.

Поль Скот,т, «Клещи»

4.4. Банк фильтров

Матричное определение преобразования Хаара будет использовано в этом параграфе для введения понятия банка фильтров [Strang, Nguyen 96]. Будет показано, что преобразование Хаара можно ин­ терпретировать как банк, состоящий из двух фильтров: один про­ пускает низкие частоты, а другой - высокие. Будет дано объяснение термину «фильтр», а также показано, как простая идея банка филь­ тров ложится в основу концепции поддиапазонных преобразований [Simoncelli и др. 90]. Конечно, преобразование Хаара является про­ стейшим вейвлетным преобразованием, которое здесь употребляет­ ся для иллюстрации новых идей. Однако, его использование в ка­ честве банка фильтров не очень эффективно. В конкретных прило­ жениях используются более сложные множества фильтров, однако общая идея остается без изменений.

Фильтром называется линейный оператор, определяемый с по­ мощью коэффициентов фильтра /г(0), h(l), h{2)^.... Этот оператор применяется к входному вектору х, в результате чего получается выходной вектор у :

УМ = 2-1 ^(^)^(^ ~ ^) = h-kX.

Заметим, что пределы суммирования зависят от выбора последо­ вательностей X и h. Независимой переменной является время t, по­ этому удобно считать, что входная и выходная последовательности заданы при всех временах ^ = . . . , —2, — 1,0,1,2,.... Итак, использу­ ется обозначения

а; = (...,a,6,c,rf,e, ),

причем центральное значение «с» задает входной символ в нулевой момент времени [с = ^(0)], величины d и е определяют входные символы при i = 1 и ^ = 2, а, кроме того, b = х(—1) и а = х(—2). На практике входная последовательность всегда является конечной, поэтому считается, что бесконечный вектор х имеет лишь конечное число ненулевых компонентов.

4.4- Банк фильтров

Глубже вникнуть в работу фильтра можно с помощью простей­ шего входного сигнала х = (...,0,0,1,0,0,...). Эта последователь­ ность равна нулю всюду кроме момента ^ = 0. Она называется еди­ ничным импульсом. Несмотря на то, что в сумме, задающей свертку, не за­ даны пределы суммирования, легко видеть, что при любом п имеет­

ся всего одно ненулевое слагаемое, то есть, у(п)

= h(n)x(0) =

h(n).

Будем

говорить, что выходной сигнал у(п) =

h(n) является

от­

кликом

в момент времени ^ = п на единичный импульс х(0)

= 1.

Поскольку число коэффициентов фильтра h{i) конечно, то фильтр называется конечным импульсным откликом (FIR, finite impulse re­ sponse).

На рис 4.18 показана основная идея банка фильтров. Там изо­ бражен банк анализа, состоящий из двух фильтров: низкочастотно­ го Но и высокочастотного Hi. Низкочастотный фильтр использует свертку для удаления из сигнала высокочастотной составляющей. Он пропускает низкие частоты. А высокочастотный фильтр делает все наоборот. Он удаляет из сигнала высокие частоты. Вместе они разделяют входной сигнал на поддиапазоны частот.

||Но1-П5]^

квантовать

_^[t2]-JF^

вход а^-Нг=п 7==\

сжимать

р=; г=^

4Hi[-)4.2[— или сохранять —|t2|-]FI TLT выход X

Рис. 4.18. Банк фильтров из двух каналов.

Входной сигнал х может быть одномерным (вектором из веще­ ственных компонентов, как это предполагается в этом параграфе) или двумерным, то есть, изображением. Элементы х{п) подаются на вход фильтров один за другим, и каждый фильтр вычисляет и выдает на выход один сигнальный отклик у{п). Число откликов в два раза больше числа входных сигналов (так как рассматривается два фильтра). Разочаровывающий результат, поскольку мы хотим получить сжатие. Для исправления этого обстоятельства после про­ хождения через фильтр делается прореживание, при котором вы­ брасываются отклики с нечетными номерами. Эту операцию также называют децимацией. На рисунке она обозначается в квадратике в виде «4, 2». После применения децимации число элементов на выходе равно числу элементов на входе.

Пример: Легко построить банк фильтров, в котором низкоча­ стотный фильтр вычисляет средние значения, а высокочастотный фильтр вычисляет полуразности, то есть, делается преобразование

244 Глава 4- Вейвлетные методы

Хаара входного сигнала. Коэффициенты низкочастотного фильтра равны /i(0) = /i(l) = 1/2, а коэффициенты высокочастотного филь­ тра равны h(0) — —1/2 и h(\) = 1/2. Применяем эти фильтры к одномерной входной последовательности

(х(0),..., а:(7)) = (255,224,192,159,127,95,63,32)

и получаем последовательность средних чисел а{г)

а(0)

0.5

• х(0) +

0.5

д:(-1)

= 0.5-(255 + 0) = 127.5,

а(1)

0.5-д:(1)+0.5

:г(0) =

0.5

(224 -h 255) = 239.5,

а(2)

0.5

х{2) + 0.5

х{1)

=

0.5

(192

+ 224) = 208,

а(3)

0.5

ГЕ(3) +

0.5

х{2)

=

0.5

(159

-h 192) =

175.5,

а(4)

0.5

• х(4) +

0.5

а:(3) =

0.5

(127

-h 159) =

143,

а(5)

0.5-х(5)+0.5

х{А) =

0.5

(95-h 127) = 111,

а(6)

0.5

• а;(6) +

0.5

х(Ь) =

0.5

(63 + 95) = 79,

а(1)

0.5

х{7) +

0.5

х(6)

=

0.5

(32 4- 63) = 47.5,

а(8)

0.5 • а:(8) +

0.5

х(7)

=

0.5

(0 -h 32) = 16,

 

и последовательность полуразностей

d(i)

 

 

 

d(0)

-0.5 • x{0)

+

0.5

x(-l)

 

=0.5 . ( - 255 + 0) = -127.5,

d(l)

-0.5-ж(1)Н-0.5

x(0)

= 0.5 •

-224

+ 255)

=

15.5,

d(2)

-0.5-^(2)+0.5

x(l)

= 0 . 5 -

-192 + 224)

=

16,

d{3)

-0.5 • a:(3) +

0.5

x(2)

=

0.5

-159

+

192)

=

16.5,

d{4)

-0.5 • x(4)

-h 0.5

x{3)

=

0.5

-127

+

159)

=

16,

d(5)

-0.5

х(Б)

+

0.5 «х{4)

=

0.5

- 9 5

+

127) =

16,

d{6)

-0.5

• a;(6)-h 0.5 'х(Ь) =

0.5

- 6 3

+ 95)

=

 

16,

d{7)

-0.5

• a;(7) +

0.5 ' x(6)

=

0.5

- 3 2

+ 63)

=

 

15.5,

d(S)

-0.5

• a:(8) + 0.5 •x{7)

= 0.5 •

- 0 + 32) = 16.

 

После децимации (прореживания) первая последовательность сокра­ щается до (239.5,175.5,111,47.5), а вторая приобретает следующий вид: (15.5,16.5,16,15.5). Затем эти две последовательности объеди­ няются в одну: (239.5,175.5,111,47.5,15.5,16.5,16,15.5), совпадаю­ щую с последовательностью, которая получается из уравнения (4.1).

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

4.4- Банк фильтров

для вычисления четырех восстановленных значений у(0), у (2), у (А) и 2/(6), а фильтр синтеза высоких частот с помощью коэффициен­ тов — 1 и 1 восстанавливает значения ?/(!), 2/(3), у(5) и у(7). Затем эти восемь значений перемежаются для получения окончательной реконструкции исходной последовательности.

2/(0) =

а(1)

+ d(l)

= (239.5

4-15.5) = 255,

2/(2) = а(3)

+ d(3)

= (175.5

+ 16.5)

=

192,

у(4) = а(5)

+ d{b) = (111 + 16) = 127,

у(6) =

а{7) + (i(7) =

(47.5 +

15.5)

= 63,

2/(1) =

а(1) -

с/(1)

=

(239.5

-

15.5)

=

224,

2/(3) =

а(3)

-

d(3)

=

(175.5

-

16.5)

=

159,

2/(5) =

а(5)

-

ф )

=

(111 -

16) =

95,

 

2/(7) =

а(7)

-

d(7) =

(47.5 -

 

15.5)

= 32.

Банки фильтров позволяют взглянуть на преобразование Хаара с общих позиций. Они же дают возможность построить другие, более изощренные вейвлетные преобразования. Эта техника обсу­ ждается в § 4.5.

Использование банка фильтров имеет существенное преимуще­ ство по сравнению с одним фильтром, так как позволяет исполь­ зовать свойства, недоступные одному фильтру. Прежде всего, это возможность восстанавливать исходный сигнал х из выходных сиг­ налов HQX И Hix после их децимации (прореживания).

Децимация не является трансляционно инвариантной операцией. После ее применения выходная последовательность состоит из чет­ ных членов 2/(0), 2/(2), 2/(4),..., но если сделать задержку входа на один отсчет времени, то выходом будет служить последователь­ ность 2/(—1), 2/(1)? 2/(3), .. •, которая полностью отличается от под­ линного выхода. Эти две последовательности являются двумя фаза­ ми выходного сигнала у.

Выходы банка анализа называются коэффициентами поддиапа­ зона. Их можно квантовать (если допустима ^1астичная потеря ин­ формации), а затем сжимать с помощью RLE, методом Хаффмана, арифметическим кодированием или любым другим методом. В ко­ нечном счете, они подаются на вход банка синтеза, где к ним сна­ чала добавляются нули (на место отброшенных членов), после чего они пропускаются через обратные фильтры FQ и Fi, где из после­ довательностей формируется выходной вектор х. Выход каждого фильтра анализа (после децимации) имеет вид

а у) = {...,?/(-4),у(-2),у(0),у{2),3/(4),...) •

Глава 4- Вейвлетные методы

Обратная процедура состоит в добавлении нулей на место отбро­ шенных членов. Она преобразовывает этот вектор в форму

(t 2/) = (..., j/(-4), о, 2/(-2), о, у(0), о, г/(2), о, у(4), о , . . . ) .

Децимация означает потерю данных. Обратная процедура не мо­ жет компенсировать эту потерю, поскольку она лишь добавляет нули. Для того, чтобы достигнуть полного восстановления исход­ ного сигнала х, необходимо конструировать фильтры так, чтобы они могли компенсировать эти потери. Первое свойство, которое часто применяется при проектировании фильтров - это свойство ортогональности. Банк анализа преобразования Хаара состоит из коэффициентов (1/2,1/2) низкочастотного фильтра и из ко.эффициентов (—1/2,1/2) высокочастотного фильтра. Скалярное произве­ дение этих двух векторов (1/2,1/2) • (—1/2,1/2) = 0. То есть, они ортогональны. Аналогично, банк синтеза состоит из двух ортого­ нальных векторов коэффициентов фильтров (1,1) и (—1,1).

На рис. 4.19 показано множество ортогональных фильтров раз­ мера 4. Эти фильтры ортогональны, поскольку скалярное произве­ дение векторов их коэффициентов равно нулю:

(а, 6, с, d) • (d, —с, 6, —а) = 0.

Заметьте, что фильтры HQ И FQ (как и фильтры Hi и Fi) очень по­ хожи. Конечно, еще необходимо выбрать подходящие значения для коэффициентов фильтров а^Ь^с и d. Детальное обсуждения этого вопроса выходит за рамки настоящей книги, но в § 4.5 иллюстриру­ ются некоторые методы и правила, которые позволяют на практи­ ке определить коэффициенты фильтров. Примером служит фильтр Добеши (Daubechies) D4. Его коэффициенты приведены в уравне­ нии (4.12).

а, Ь, с, d

\4щ-^

пЩ-\

^'

с, Ь, а .

 

х{п) 4

I ^

^

I

/

, Г ''(''"•^^

d, —с, Ь,—а N42

t2

-а, Ь, —с, d

 

Рис. 4.19. Ортогональный банк фильтров с 4 коэффициентами.

Если С помощью этого фильтра вручную посчитать несколько примеров, то будет видно, что реконструированный сигнал иденти-

4-4' Банк фильтров

чен исходному входному сигналу, но отстает от него на три отсчета по времени.

Банк фильтров может быть биортогональным^ менее ограничи­ тельным типом фильтров. На рис. 4.20 показан пример такого филь­ тра, который полностью восстанавливает исходный сигнал. Обра­ тите внимание на схожесть фильтров Но и Fi, а также фильтров

Hi и FQ.

Но| _ 1,

2, 6, 2,-lU72]

Ш-}

1,2,1

1^0

€{п) - [

 

i2^

t2

 

1 - 16 х(п-3)

НГ

1' - 2 ' 1

1, 2, - 6 ,

2, 1

 

 

 

 

Рис. 4.20. Биортогональный банк фильтров с полным восстановлением.

Нам уже известно из § 4.2, что выходы фильтра низких ча­ стот Но обычно пропускают через фильтры анализа несколько раз, при этом образуются все более короткие выходные сигналы. Эту ре­ курсивную процедуру можно изобразить в виде дерева (рис. 4.21). Поскольку каждый узел этого дерева вдвое сокращает число вы­ ходных символов своего предшественника, то это дерево называ­ ется логарифмическим. На рис. 4.21 показано, как масштабирую­ щая функция ф{t) и вейвлетная функция ip{t) получаются в преде­ ле из логарифмического дерева. Здесь обнаруживается связь дис­ кретного вейвлетного преобразования (использующего банк филь­ тров) и континуального (непрерывного) вейвлетного преобразова­ ния (CWT, [Salomon 2000]).

Если «взбираться» вверх по логарифмическому дереву с уровня i на уровень гЧ-1, то одновременно вычисляется новое среднее с помо­ щью новой масштабирующей функции ф{2^1 — А;), имеющей большую частоту, а также новые детали с помощью новой вейвлетной функ­ ции ф{24 - к) :

сигнал на уровне i (средние)

\

4-

сигнал на уровне г + 1.

детали на уровне г (разности)

/^

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

Глава 4- Вейвлетные методы

 

 

rJHo i2|

,, - - функция масштаба ф{Ь)

 

 

вейвлет

^ ( t )

 

rJHo

-|HO

i 2 | -

 

 

 

 

i2\-

L|HI

i2\

 

 

 

f(t)-

4 H I

i2\-

 

 

 

 

L|HI

i2[-

 

 

 

 

 

 

Рис. 4.21. Масштабирующая и вейвлетнал функции

 

 

 

как предел логарифмического дерева.

 

Тот, кто профессионально работает со звуком и музыкой, зна­

ет, что два тона, имеющие частоты о; и 2а; звучат

как

один тон,

но разной высоты. Частотный интервал между и) и

2uj делится на

12 подынтервалов (называемых

хроматической гаммой),

однако в

западной традиции отдается предпочтение 8 из 12 тонов этого раз­ деления (диатоническая гамма, которая состоит из 7 нот, а 8 нота называется «октавой»). По этой причине основной частотный ин­ тервал, используемый в музыке, называется октавой. Следуя этой аналогии, можно сказать, что соседние уровни дерева мультиразрешения различаются на октаву частот.

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

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

4.4- Банк фильтров 249)

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

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

Уо{п)

Но| ~ ^ -^№оНFo

Щ4к7и-^1^2/1И-"^рГ№

стадия 3 Уо(п)ug-^g_.^^^"iУн(п).^g-|F^

 

yi(n)

F i H

стадия

g^^kTb--'--'-S^

ug-^k^^l^L^kiHF^i

 

 

yo(n)

 

х(п)-у-|н^}-р^ , ]-W^Fo

x{n)

 

ншниьl/i(n) fl-ki H

стадия 1

L^^H^Nh^"-—&S-i

Рис. 4.22. Общий банк фильтров.

Главным недостатком таких преобразований является появление искусственных артефактов (то есть элементов, которых не бьио в

Соседние файлы в папке 1