Главная > Сжатие данных, изображений и звука
НАПИШУ ВСЁ ЧТО ЗАДАЛИ
СЕКРЕТНЫЙ БОТ В ТЕЛЕГЕ
<< Предыдущий параграф Следующий параграф >>
Пред.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
След.
Макеты страниц

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

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO

3.5. Преобразование изображений

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

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

.

Изображение можно сжать, преобразуя его пикселы (которые коррелированы) в представление, где они будут декоррелированными. Произойдет сжатие, если новые величины будут, в среднем, меньше исходных. Сжатие с потерей качества можно затем произвести с помощью квантования результата преобразования. Декодер читает сжатый файл и восстанавливает (точно или приближенно) исходные данные, применяя обратное преобразование. В этом параграфе рассматриваются ортогональные преобразования. В § 4.3 будет обсуждаться под диапазонное преобразование.

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

Начнем с простого примера, в котором образ сканируется растровым способом (то есть, строка за строкой) и группируется в пары прилегающих пикселов. Поскольку пикселы коррелированы, два пиксела  в паре, обычно, имеют близкие значения. Рассмотрим теперь эти пары в виде точек на плоскости и отметим их на графике. Известно, что точки вида  лежат на прямой с наклоном 45°, уравнение которой имеет вид , поэтому можно ожидать, что все точки будут сконцентрированы около этой прямой. Рис. 3.17а дает такой график для типичного изображения, где значения пикселов лежат в интервале [0, 255]. Большинство точек изображают «облако» около этой линии, и только некоторые точки лежит вдали от диагонали. Теперь мы преобразуем эту картинку с помощью поворота на угол 45° по часовой стрелке вокруг начала координат, так, чтобы диагональ легла на ось  (рис. 3.17b). Это делается с помощью простого преобразования

,                (3.3)

где матрица поворота  является ортогональной (то есть, скалярное произведение строк на себя равно 1, а скалярное произведение векторов-строк друг на друга равно 0; то же самое верно и для векторов-столбцов). Обратным преобразованием служит поворот на 45° против часовой стрелки, который запишется в виде

.               (3.4)

(Обращение ортогональных матриц делается с помощью простого транспонирования.)

136.jpg

Рис. 3.17. Поворот облака точек.

Очевидно, что большинство точек преобразованного «облака» будут иметь координату , близкую к нулю, а координата  изменится не слишком сильно. Рис. 3.18а,b изображают распределение координат  и  (то есть, пикселов с четными и нечетными номерами) типичного 128х128x8 полутонового изображения до вращения. Ясно, что эти распределения отличаются не слишком. На рис. 3.18с,d показаны распределения координат после поворота. Распределение координаты  почти не изменилось (увеличилась дисперсия), в то время как распределение координаты  сконцентрировалось около нуля. Программа на Matlab, которая строит эти графики также приведена на рисунке. (На рис. 3.18d координата  сконцентрирована около 100, но это произошло из-за сдвига графика вправо, так как некоторые координаты были близки к –101, и их пришлось сдвинуть для попадания в массив Matlab, у которого индекс всегда начинается с единицы.)

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

Следующий пример поясняет смысл этой величины. Повернем точки (5,5), (6,7), (12.1,13.2), (23,25) и (32,29) по часовой стрелке на 45° и вычислим перекрестную корреляцию до и после поворота. На рис. 3.19 приведена программы Matlab, вычисляющая координаты повернутых точек. Они равны

(7.071,0), (9.19,0.7071), (17.9,0.78), (33.9,1.41), (43.13,–2.12)

(заметьте, что координаты  стали малыми числами). Видно, что значение перекрестной корреляции уменьшилась с 1729.72 до поворота до -23.0846 после поворота. Замечательное сокращение!

Теперь можно сжать образ, просто записав преобразованные координаты в выходной файл. Если допустима некоторая потеря информации, то можно сделать квантование всех пикселов, что даст малые значения пикселов. Можно также записывать в сжатый файл все нечетные пикселы (те, которые являются  координатами в парах), а за ними записать все четные пикселы. Эти две последовательности называются векторами коэффициентов преобразования. Вторая последовательность состоит из малых чисел, и, возможно, после ее квантования возникнут серии нулей, которые можно будет еще лучше сжать.

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

138.jpg

Рис. 3.18. Распределение пикселов до и после поворота.

Концентрирование энергии в одной координате имеет и другое преимущество. Можно делать квантование этой координаты более точным, чем квантование второй координаты. Такой способ квантования приводит к лучшему сжатию.

139.jpg

Рис. 3.19. Поворот пяти точек.

Следующий простой пример иллюстрирует возможности этого ортогонального преобразования. Начнем с точки (4,5) с близкими координатами. С помощью уравнения (3.3) эта точка переходит в . Энергии этих точек равны: . Если удалить координату (4) исходной точки, то получится ошибка . Однако, если удалить меньшую из двух координат преобразованной точки (0.7071), то ошибка будет всего . Эту ошибку можно также вычислить, исходя из реконструированной точки. Применим обратное преобразование (уравнение (3.4)) к точке . Получим, конечно, исходную точку (4,5). Сделав то же самое для точки , получим после округления точку (4.5,4.5). Разность энергий исходной и реконструированной точек будет равна той же малой величине

.

Это простое преобразование легко обобщить на случай любого числа измерений. Вместо пар, можно выбирать тройки точек, триплеты. Каждый триплет становится точкой трехмерного пространства, а все точки образуют «облако» вокруг прямой, проходящей через начало координат под углом 45° к каждой координатной оси. Если эту прямую повернуть так, что она ляжет на ось , то координаты  и  точек «облака» станут малыми числами. Такое преобразование совершается с помощью умножения каждой точки на некоторую матрицу размера 3x3, которая, конечно, является ортогональной. Вторая и третья компоненты координат преобразованных точек будут малыми числами, поэтому координаты всех точек следует разделить на три вектора коэффициентов. Для лучшего сжатия необходимо, чтобы квантование этих векторов коэффициентов делалось с разной степенью точности.

Этот метод легко распространить на более высокие размерности, с той лишь разницей, что получающиеся пространства уже нельзя будет представить зрительно. Однако, соответствующие матрицы преобразований легко выписываются. Единственно, что приходится учитывать, это то, что размерность не должна быть слишком большой, поскольку результат сжатия на основе поворота зависит от корреляции близких пикселов. Например, если объединять по 24 соседних пиксела в одну точку 24-мерного пространства, то полученные точки, вообще говоря, не будут лежать в малой окрестности «прямой под углом 45° к осям координат», поскольку не будет корреляции между пикселом и его дальним соседом. Поэтому после поворота, последние 23 координаты преобразованных точек уже не будут малыми. Наблюдения показывают, что корреляция пикселов сохраняется до размерности восемь, но редко дальше.

Метод JPEG, описанный в § 3.7, делит изображение на блоки пикселов размера 8х8 и поворачивает каждый блок два раза с помощью уравнения (3.9), которое будет объяснено в § 3.5.3. Это двойное вращение дает множества, состоящие из 64 преобразованных величин, из которых первая, называемая «коэффициент DC», большая, а все остальные 63 («коэффициенты AС») - обычно маленькие. Таким образом, это преобразование концентрирует энергию в первой компоненте из 64. Далее множество коэффициентов DC и 63 множества коэффициентов АС следует квантовать раздельно (метод JPEG делает это немного иначе, см. § 3.7.4).

 

1
Оглавление
email@scask.ru