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

Сжатие данных, звука и изображений

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

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

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

со - М + v/IO + Vb + 2 v l 0 j / (16^2) « .3326,

ci = f 5 + л/Ш + Зл/5 4-2л/Го) / (l6\/2) « .8068,

C2 = no - 2A/I0 + 2\/5 + 2ч/Го) / (16л/2) « .4598,

(4.13)

сз = f 10 - 2лД0 - 2v^5 + 2x/l0J / (l6v/2) ?::J -.1350,

C4 = f5 -h \/l0 - 3\/5 + 2л/10^ / (l6\/2) ?::^ -.0854,

C5 = (l + VTO - \/5 + 2л/1б) / (16^2) « .0352.

В каждой последовательности этого семейства число коэффи­ циентов на два больше, чем в предыдущей, причем они являют­ ся более гладкими. Происхождение этих функций обсуждается в [Daubechies 88], [DeVore и др. 92] и [Vetterii, Kovacevic 95].

4.7. Примеры

Нам уже известно, что дискретное вейвлетное преобразование мо­ жет восстанавливать изображения, если известно малое число ко­ эффициентов преобразования. Первый пример этого параграфа ил­ люстрирует такое важное свойство, как способность реконструиро­ вать сильно огрубленные изображения, но без внесения артефактов, в которых обнулена значительная часть коэффициентов преобра­ зования с помош.ью грубого квантования. Другие преобразования, особенно это касается DCT, способны вносить дополнительные ар­ тефакты в сжатый образ. Это свойство DWT делает его идеальным, например, в таких приложениях, как при сжатии отпечатков паль­ цев [Salomon 2000].

Вэтом примере используются функции f wt2 и iwt2 из рис. 4.27 и

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

^.7. Примеры 261

ного изображения, а не огрубление его и внесение дополнительных артефактов.

т 5

8

6

7

11

 

 

 

9

10

 

12

13

clear, colormap(gray); filename='lenal28'; dim=128; fid=fopen(filename,'r'); img=fread(fid,[dim,dim])';

filt=[0.23037,0.71484,0.63088,-0.02798, ...

-0.18703,0.03084,0.03288,-0.01059]; fwim=fwt2(img,3,filt);

figure(l), imagesc(fwim), axis square fwim(l:16,17:32)=fwim(l:16,17:32)/2; fwim(l:16,33:128)=0; fwim(17:32,l:32)=fwim(17:32,l:32)/2; fwim(17:32,33:128)=0; fwim(33:128,:)=0;

figure(2), colormap(gray), imagesc(fwim) rec=iwt2(fwim,3,filt);

figure(3), colormap(gray), imagesc(rec)

Рис. 4.29. Размытие, как результат грубого квантования.

На рис. 4.29 показан результат размытия изображения «Lena». На рис. 4.29а и 4.29Ь изображены, соответственно, логарифмическое дерево мультиразрешения и структура поддиапазонов образа.

Глава

4- Вейвлетные

методы

 

 

 

 

 

 

148

141

137

124

101

104

105

]103

98

89

100

136

156

173

175

176

179

171

152

]116

80

82

92

99

103

102

101

100

100

102

106

]L04

112

139

155

149

139

107

90

126

90

65

65

93

62

87

61

84

48

64

42

75

72

35

42

53

73

45

58

130

156

176

185

196

167

185

178

]L21

113

126

113

122

133

109

106

92

91

133

162

]L65

174

189

193

190

190

167

120

97

92

106

103

81

55

43

60

150

126

55

61

65

61

50

52

53

52

79

135

132

147

163

161

158

157

157

156

156

156

158

159

156

155

154

155

155

157

157

154

]150

 

 

 

 

 

 

 

 

 

 

W

-11.64

 

 

 

 

117.95

 

-10.38

-5.99

-0.19

12.6

-5.95

4.15

-2.57

 

6.61

-17.08

-0.50

7.88

15.53

4.10

-10.80

-5.29

 

2.94

-0.63

5.42

-2.39

0.53

-5.96

2.67

 

-6.4

 

9.71

-5.43

0.56

-0.13

0.83

-0.02

1.17

-1.38

 

-2.68

1.92

3.14

-3.71

0.62

-0.02

-0.04

-1.41

 

-2.37

0.08

-1.62

-1.03

-3.50

2.52

2.81

-1.68

 

1.41

-1.79

1.11

3.55

-0.24

-7.44

0.28

-0.49

 

-2.56

1.98

-0.00

0.10

-0.17

0.42

0.65

 

0.35

 

-1.00

0.15

0.21

-1.30

0.31

0.21

0.45

 

0.85

 

-1.62

0.04

0.25

 

0

-0.10

0.23

-0.93

 

1.06

 

0.98

-2.43

0.35

-1.48

-1.72

-1.51

-1.54

-1.91

 

1.86

-0.67

1.95

-2.99

0.78

0.04

-1.55

 

2.42

 

-1.46

-0.64

1.47

0.23

-1.98

1.26

-0.32

 

0.42

 

0.95

-0.75

-1.02

1.01

-0.55

-3.45

3.31

-0.80

 

0.39

-0.11

-1.17

2.19

-0.25

0.25

-0.07

-0.03

 

-0.09

0.18

-0.02

0.02

0.06

0.08

0.19

 

 

 

 

 

 

(Ь)

 

 

 

 

 

117.95

 

-9.68

-16.44

1.31

-20.81

3.31

14.37

-29.44

-6.63

 

8.38

-20.56

39.38

10.44

31.50

-14.25

 

1.13

7.75

 

22.13

4.25 --13.88

-24.37

21.50

24.00

 

9.25

0.13

 

11.38

-22.75 --28.88

0.38

-0.38

1.25

 

0.13

7.25

 

13.25

15.00

1.00

-1.75

11.00

-6.50

-25.75

-9.00

 

-5.00

6.50

35.00

4.75

3.50

21.50

-28.00

7.25

 

13.75

3.75

1.50

-6.50

34.00

-10.75

-2.25

1.25

 

0.50

-0.50

-0.25

1.50

-0.25

-1.00

 

2.50

14.50

 

-9.00

3.50

28.50

4.00

-6.50

6.50

-4.50

-5.50

 

12.00

1.50

7.00

0.50

21.00

-14.50

-1.50

-4.50

 

-7.50

-2.00

1.50

 

0

11.50

23.50

11.50

2.50

 

-7.00

1.50

11.00

13.00

6.00

-8.50

-45.00

12.00

 

35.50

-3.00

-2.00

2.00

5.50

-1.00

-0.50

0.50

--13.50

-28.00

1.50

-7.50

-8.00

1.00

 

1.50

0.50

 

0

0.50

0

 

0

-1.00

-0.50

 

1.50

0.50

 

0.50

-0.50

0

-1.00

0

1.50

 

2.00

(с)

Табл. 4.30. Преобразования Добеши и Хаара средней строки образа «Lena»

J^.l. Примеры

На рис. 4.29с приведен результат квантования. Коэффициенты преобразования поддиапазонов 5-7 были разделены на 2, а все коэф­ фициенты поддиапазонов 8-13 были просто стерты. Прежде всего, большая часть изображения 4.29с выглядит равномерно черным (то есть, с нулевыми пикселами), однако более тщательное визуальное изучение обнаружит много ненулевых коэффициентов в поддиапа­ зонах 5-7. Можно сказать, что размытое изображение на рис. 4.29d было получено при использовании всех коэффициентов поддиапазо­ нов 1-4 (1/64 от общего числа коэффициентов преобразования) и половины коэффициентов поддиапазонов 5-7 (половины от 3/64, то есть, 3/128). Таким образом, изображение было восстановлено при использовании примерно 5/128 ^ 0.039 или 3.9% от общего числа коэффициентов преобразования. В этих вычислениях использовался вейвлет Добеши D8. Я призываю читателей поупражняться с этой программой и оценить достоинства этого и других фильтров.

< <WaveletTransf опп. m data={148,141,137,124,101,104,105,103, 98, 89,100,136

,155,154,155,155,157,157,154.150}; forward = Wavelet[data, DaubechiesC4]] NumberForm[forward,{6,2}]

inverse = InverseWavelet[forward,Daubechies[4]] data = inverse

(a) (Matematica)

*/t Преобразовг1Ние Хаара (средние и разности)

data=[148 141 137 124 101 104 105 103 98 89 100 136 ...

155 154 155 155 157 157 154 150]; n=128; ln=7; y.log.2 n=7

for k=l:ln, for i=l:n/2,

il=2*i; j=n/2+i; newdat(i)=(data(il-l)+data(il))/2; newdat(j)=(data(j-1)-data(j))/2;

end

data=newdat; n'=n/2; end round(100*data)/100

(b) (Matlab)

Рис. 4.31. Программы для вычисления тгьбл. 4.30.

Второй пример демонстрирует преимущества фильтра Добеши D4 по сравнению с простейшим фильтром Хаара, основанном на

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

взятии средних и разностей, если сравнивать концентрацию энергии образов.

В табл. 4.30а приведены значения 128 пикселов, которые образу­ ют строку 64 (среднюю линию) полутонового изображения «Lena» размера 128 х 128. В табл. 4.30b и 4.30с перечислены, соответствен­ но, коэффициенты вейвлетного преобразования Добеши D4 и пре­ образования Хаара для этих данных. Первый коэффициент обоих преобразований одинаковый, но все остальные 127 коэффициентов, в среднем, меньше у преобразования D8. Это указывает на то, что фильтр D8 лучше концентрирует энергию образа. Среднее абсолют­ ных величин этих 127 коэффициентов для D8 равно 2.1790, в то вре­ мя как для фильтра Хаара эта величина равна 9.8446, то есть по­ чти в 4.5 раза больше. Программы вычисления таблиц 4.30b и 4.30с даны на рис. 4.31. Отметим, что первая программа использует па­ кет WaveletTransform.m системы Matematica, разработанный Алистаром Роу и Полем Эботом, который размеш;ен по адресу [Alistar, Abbott 01].

4.8. Вейвлеты Добеши

Многие полезные математические функции можно записать в яв­ ном виде. В этом смысле самой простой функцией, по-видимому, является многочлен. Однако имеется также большое число важных функций, которые задаются рекурсивно, то есть, через самих себя. Вы можете сказать, что если определять что-то через себя самого, то возникнет противоречие. Но этого легко избежать, если рекур­ сивное определение будет состоять из нескольких частей, причем одна из частей будет иметь явное выражение. Эта часть, обычно, содержит начальное задание определяемой функции. Простейшим примером может служить функция факториал. Ее можно задать явной формулой

п! = п ( п - 1 ) ( п - 2 ) - • • 3 - 2 - 1 ,

а можно определить с помощью двух равенств вида

1! = 1, п\ =

П'(п-1)\

Другим интересным примером служит функция е^ (или «ехр»), ко­ торую можно также задать в виде рекурсивного соотношения

^0

de^

 

ах

4-8. Вейвлеты Добеши 265 ,

Ингрид Добеши (Ingrid Daubechies) ввела вейвлет ф и функцию шка­ лы (строительный блок) следуюш;им образом. Одно требование состояло в том, чтобы функция шкалы (/? имела компактный носи­ тель. Она должна равняться нулю вне конечного отрезка. Добеши выбрала в качестве носителя отрезок [0,3]. Она доказала, что эту функцию нельзя выразить через известные элементарные функции: многочлены, тригонометрические или степенные функции. Она так­ же показала, что (^ можно построить рекурсивно, с помош,ью неко­ торого начального задания и рекурсивного правила. Она выбрала следующие начальные значения:

V.(0) = о, ^(1) = i ^ , (^(2) = i ^ , ^(3) = О,

И задала рекурсивное соотношение

+ i ^ ^ ( 2 r - 3 ) =

= ho^p{2r) + hx^p{2r - l)+/i2'^(2r - 2) + /i3<^(2r - 3) = (4.14)

= (/io, /гь /»2, hz) • (¥J(2r), ^(2r - 1), ip{2r - 2), <^(2r - 3)).

Отметим, что сумма начальных значений равна Г.

^(0) + v'(l) + ¥'(2) + У-СЗ) = О + i ^ + ^ ^ + О = 1.

Дальнейшее вычисление значений функции ip совершается по шагам. На шаге 1 применяется условие компактного носителя, четыре на­ чальные значения и рекурсивное соотношение (4.14) для вычисления значений </?(г) в трех новых точках г = 0.5, 1.5 и 2.5.

(/?(1/2)

=

/10^(2/2) + /11(^(2/2 - 1) -Ь h2ip{2l2

-

2) +

/гз(^(2/2-3) =

 

=

1 +

А/З l - h\/3

,

^ , ^

,

^

2 +

V3

 

—^

2 ^

+ /ii-0 + /i2-0 + /i3-0 =

^ ,

(^(3/2)

=

/io(^(6/2)-h/ii(/p(6/2-l)4-/i2<^(6/2-2)+/13(^(6/2-3) =

 

 

и

п ^ 1 ± ^

1-V3

1-Х/З

1 + Х/З

 

V?(5/2)

=

/ioV^(5)4-/ii(/?(5-l)-h/i2(p(5-2) + /i3(/?(5-3)-

 

Глава 4' Вейвлетиые методы

Теперь значения функции (р{г) известны в четырех начальньЕх точках О, 1, 2, 3 и в трех промежуточных средних точках 0.5, 1.5 и 2.5, то есть, всего 7 значений. На шаге 2 можно вычислить еще 6 значений этой функции в точках 1/4, 3/4, 5/4, 7/4, 9/4, 11/4. В ре­ зультате получаются числа

5 + 3\/3

9 + 5л/3

 

1 + \/3

 

1 - у / З

 

9 - 5 у / 3

5 - Зл/З

16 '

16

'

8

'

8

'

16 '

16 '

Итак, уже вычислены значения (р{г) в 4+3+6 = 13 точках (рис. 4.32).

0.0

0.5

1.0

1.5

2.0

2.5

 

Рис. 4.32. Функция шкалы Добеши у? в 13 точках.

Шаг 3 даст еще 12 значений в точках посередине между 13 уже вычисленными точками. Получим всего 12 + 13 = 25 чисел. Следую­ щие шаги дадут 24, 48, 96 и так далее значений. После шага п значе­

ния функции (^(г) будут уже известны в 4+3+6+12+24Н

1-3-2" =

= 4 + 3(2'^"''^ — 1) точках. Например, после 9 шагов будет

известно

4 + 3(210 _ 1) ^ 3073 значения (рис. 4.33).

 

Функция (^ служит строительным блоком для построения вейвлета Добеши ф^ который задается также рекурсивно с помощью формулы

4^9. SPIHT 267J

+ l : ^ ^ ( 2 r + 2) =

= -hoip(2r - 1) + hi<p{2r) - h2(p(2r + 1) 4- Нз(р{2г + 2).

0.0

0.5

1.0

1.5

2.0

2.5

3

Рис. 4.33. Функция шкалы Добеши ip в 3073 точках.

Напомним, что функция (р(г) не равна нулю только на интер­ вале [0,3]. Поэтому носитель функции 'ф{г) принадлежит отрезку [—1,2]. Функцию ф можно задать рекурсивно подобно функции (р. На рис. 4.34 показаны значения этого вейвлета в 3073 точках. Взгляд на рис. 4.33 и 4.34 также объясняет (хотя несколько поздно) причину выбора термина «вейвлет» (wavelet, маленькая волна, всплеск).

4.9. SPIHT

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

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

1.5

 

 

 

 

1

 

 

 

 

0.5

 

 

 

 

0

 

 

 

л/ v_

0.5

 

 

/

 

- 1

 

 

/

 

1.5

 

 

 

 

-0.5

О

0.5

1

1.5

Рис. 4.34. Вейвлет Добеши ф в 3073 точках.

В§ 4.2 было показано, что преобразования Хаара можно при­ менять к изображению несколько раз подряд. При этом образуются различные области (поддиапазоны), состоящие из средних и деталей данного образа. Преобразование Хаара является очень простым и наглядным, но для лучшего сжатия стоит использовать другие вей­ влетные фильтры, которые лучше концентрируют энергию изобра­ жения. Представляется логичным, что различные вейвлетные филь­ тры будут давать разные коэффициенты сжатия для разных типов изображений. Однако исследователям пока не до конца ясно, как по­ строить наилучший фильтр для каждого типа образов. Независимо от конкретно используемого фильтра, образ разлагается на поддиа­ пазоны так, что нижние поддиапазоны соответствуют высоким ча­ стотам изображения, а верхние поддиапазоны отвечают низким ча­ стотам образа, в которых концентрируется основная часть энергии изображения (см. рис. 4.35). Поэтому можно ожидать, что коэффи­ циенты деталей изображения уменьшаются при перемещении от вы­ сокого уровня к более низкому. Кроме того, имеется определенное пространственное подобие между поддиапазонами (рис. 4.7Ь). Ча­ сти образа, такие как пики, занимают одну и ту же пространствен­ ную позицию во всех поддиапазонах. Эта особенность вейвлетного

4-9. SPIHT 269J

разложения используется методом SPIHT, который расшифровыва­ ется как «Set partitioning in hierarchical trees» (разложение множества по иерархическим деревьям) (см. [Said, Pearlman 96]).

Рис. 4.35. Поддиапазоны и уровни вейвлетного разложения.

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

Другая отличительная черта алгоритма SPIHT состоит в ис­ пользовании им вложенного кодирования. Это свойство можно опре­ делить следуюп];им образом: если кодер, используюш;ий вложенное кодирование, производит два файла, большой объема М бит и ма­ ленький объема 171 бит, то меньший файл совпадает с первыми т битами большего файла.