№ 4 (34) 2011
А. Н. Земцов, канд. техн. наук, доцент кафедры «ЭВМ и системы» Волгоградского государственного технического университета
Сравнительный анализ эффективности методов сжатия изображений на основе дискретного косинусного преобразования и фрактального кодирования1
Обработка изображений реальных объектов применяется в современных системах все более широко. Эффективность таких систем во многом определяется эффективностью применяемых алгоритмов сжатия изображений, к наиболее перспективным из которых можно отнести алгоритмы на основе дискретного косинусного преобразования и фрактального кодирования.
Часть I
Введение
Интенсивная информатизация всех сфер деятельности человека стимулирует появление новых математических моделей исследуемых объектов в различных предметных областях. К числу таких моделей относятся изображения, вмещающие большой объем информации об объекте. Развитие вычислительной техники и телекоммуникационных технологий привело к широкому распространению средств получения, обработки, передачи изображений по существующим каналам связи и, как следствие, обусловило устойчивый интерес к разработке новых и улучшению существующих методов их сжатия. Требования пользователей информационных систем по уменьшению искажений, вносимых методами кодирования изображений, стремительно возрастают. Потеря существенных деталей в результате кодирования при решении ряда задач, например в сфере медицины, аэрокосмического картографи-
1 Продолжение статьи будет опубликовано в ближайших номерах журнала «Прикладная информатика».
рования и мониторинга, недопустима, так как делает их решение невозможным [4].
Будущее методов сжатия изображений тесно связано с будущим информационных технологий. Чтобы повысить степень сжатия, нужно усложнить алгоритм. Считается, что сложные методы с более высоким коэффициентом сжатия работают медленнее. В настоящее время это утверждение оспорено многими учеными и может считаться лишь отчасти верным по отношению к методам, реализуемым на вычислительных машинах с последовательной обработкой команд. В последние годы были разработаны подходы к кодированию изображений на основе нового математического аппарата теории вейвлетов [2, 3, 4]. Таким образом, будущее за новыми методами сжатия, возможно, с повышенными требованиями к ресурсам, но обладающими большей эффективностью, чем существующие.
Необходимо отметить, что качество изображений (глубина цвета, разрешение и т. п.) заметно выросло. Добиться нужных характеристик существующие методы сжатия уже не позволяют. Кроме того, они не учитывают структуру изображения и корреляцию между его областями, что приводит не только к ухудшению показателей резуль-
№ 4(34) 2011
тата сжатия, но и к существенному увеличению ошибки, вносимой при кодировании изображения.
Из существующих методов сжатия наиболее распространенным можно считать метод на основе дискретного косинусного преобразования, использующийся во многих стандартах кодирования не только визуальной, но также аудио- и видеоинформации [1, 3]. Методу присущ ряд существенных артефактов, таких как блочность, размытие контуров и т. д. [5].
Сохранение структуры, в частности качественного представления контуров на изображении при кодировании имеет приоритетное значение практически для всех классов изображений. Необходимо отметить, что каждому классу изображений присуща некоторая избыточность, но все они избыточны по-разному, и представляется затруднительным разработка метода, который одинаково хорошо сжимал бы изображения любого класса. Поэтому актуальна задача выявления особенностей существующих методов сжатия изображений, с целью их адаптации к поставленной прикладной задаче, повышения эффективности использования в составе информационной системы в соответствии с заданными критериями, а также для создания новых методов. Одним из основных требований, предъявляемых к современным методам сжатия, является возможность сохранения контурной
информации без искажений или с малыми искажениями.
Дискретное косинусное преобразование
Увеличение спектра требований и их уточнение в различных областях человеческой деятельности, связанных с использованием вычислительной техники, таких как издательские, медицинские, географические информационные системы, мультимедиа и т. п., обусловило появление большого количества стандартов кодирования мультимедийной информации. Особенно следует выделить стандарты JPEG, MPEG-1, MPEG-2, MPEG-4, CCITT H. 261, CCITT H. 263, получившие широкое распространение [5]. Эти, а также некоторые другие стандарты основаны на вычислении дискретного косинусного преобразования [7], которое является гомоморфизмом векторного пространства преобразования Фурье. Пример представления изображения с помощью преобразования Фурье дан на рис. 1.
Различные периодические продолжения сигнала ведут к различным типам дискретного косинусного преобразования F : Rn ^ Rn. Результатом преобразования N вещественных чисел x0,...,xN-1 будет N вещественных чисел X0,..., XN-1 таких, что:
о
л
со
1 , k , N-2
Xk = 2 (0 +(-1) XN-1 )+Х Xn C0S
где k = 0, N -1, n = 0,N -1,
N-1
nk
(1)
Рис. 1. Пример двумерного сигнала (изображения) и его спектр Фурье
91
№ 4 (34) 2011
! s
GO
О ?
12
0 s
1
I
I
s 00 О Й SI
0
л
s §
1 Si ¡2 ! I
! £ О
5
о
I
SI
о
§
is
s «
0 ?
Si
i! Ц
§
1
<u
■S«
1 S <0
il
I Ǥ
N-1
= X xn cos
n=0
+ 1 ,k
где k = 0,N -1, n = 0,N -1,
(2)
1 N -1
= ~ x0 + X xn c°S
2 n=1
П f . 1
—n I k + — N l 2
где k = 0,N -1, n = 0,N -1,
(3)
N-1
= Xxn c°s
n=0
"i n +1 II k +1
N l 2 Л 2
где k = 0, N -1, n = 0,N -1.
(4)
На практике для вычисления дискретного косинусного преобразования обычно используются выражения (2) и (3), причем (2) называют одномерным прямым, а (3) — одномерным обратным дискретным косинусным преобразованием. На рисунке 2 показан пример представления изображения с помощью дискретного косинусного преобразования.
Подход к получению выражений для двумерного дискретного косинусного преобразования заключается в комбинировании одномерных преобразований. В этом случае функциями такого преобразования являются тензорные произведения функций одномерного дискретного косинусного преобразования.
Рассмотрим принципы кодирования изображений с помощью дискретного косинусного преобразования на примере алгоритма JPEG.
Алгоритм JPEG
Алгоритм JPEG — один из самых распространенных и эффективных алгоритмов, он представляет собой метод сжатия изображений, имеющий огромное количество как программных, так и аппаратных реализаций. Алгоритм JPEG работает как с изображениями в градациях серого, так и с полноцветными изображениями.
Алгоритм разработан группой экспертов в области фотографии одноименного подразделения JPEG (Joint Photographic Expert Group) Международной организации по стандартизации ISO специально для сжатия 24-битных изображений. Алгоритм JPEG основан на дискретном косинусном преобразовании, применяемом к матрице изображения для получения некоторой новой матрицы коэффициентов. Для получения изображения, близкого к исходному, применяется обратное преобразование.
Дискретное косинусное преобразование является спектральным преобразованием и раскладывает изображение по амплитудам некоторых базисных функций, которые показаны на рис. 3. Другими словами, в результате вычисления спектрального преоб-
Рис. 2. Пример двумерного сигнала (изображения) и результат вычисления дискретного
косинусного преобразования
92
№ 4(34) 2011
«
0
1
со эё
mm
Рис. 3. Базисные функции дискретного косинусного преобразования
разования получается матрица декоррели-рованных коэффициентов, в которой многие коэффициенты либо близки, либо равны нулю. Кроме того, благодаря несовершенству глаза можно аппроксимировать спектральные коэффициенты без заметной потери качества изображения.
Для сжатия исходного изображения используется квантование полученных спектральных коэффициентов. В результате контролируемо отбрасывается доля информации, что позволяет достичь заданного коэффициента сжатия. Основные этапы алгоритма JPEG показаны на рис. 4.
На первом этапе необходимо перевести изображение из цветового простран-
ства RGB, с компонентами, отвечающими за красную (Red), зеленую (Green) и синюю (Blue) составляющие цвета пиксела, в цветовое пространство YCbCr, которое в литературе иногда называют YUV.
В пространстве YCbCr компонента Y отвечает за представление информации яркости, а Cr, Cb — за цвет (хроматический красный и хроматический синий). Поскольку глаз более чувствителен к яркости, чем к цвету, квантование матриц цветовых компонент Cr и Cb можно выполнять, допуская большие потери. Таким образом, коэффициент сжатия возможно значительно повысить за счет незначительного увеличения величины вносимой ошибки. Идея преоб-
Рис. 4. Конвейер операций, используемый в алгоритме JPEG
=v 93
№ 4 (34) 2011
I
s
о &
¡1
0 а
t £
1 =s
IE
s
СО О Й SI
0
1 12 Sg
i Si 12 ! I
I
£ СО О
iS
о
1 si
о
§
is
s
CO
0 ?
Si
¡5
u
Sg
1
<u та
1 Sg <0
i IS i ¿1
разования из одного цветового пространства в другое была заимствована у телевидения, где для передачи сигналов, несущих информацию о цвете, отводится более узкая полоса частот.
Перевод из цветового пространства RGB в цветовое пространство YCbCr можно представить с помощью матрицы перехода:
Y 0,299 0,587 0,114 R 0
Cb = 0,5 -0,4187 -0,0813 G + 128 . (5)
0,1687 -0,3313 0,5 B 128
Обратное преобразование при декодировании осуществляется умножением вектора YUV на обратную матрицу:
R 1 0 1,402 Y
G = 1 -0,34414 -0,71414 Cb-128 . (6)
B 1 1,772 0 Cr -128
ет сжать исходный массив в два раза. Такой эффект стал возможен в результате перевода из цветового пространства RGB в цветовое пространство YCbCr. Считается, что на результирующем восстановленном изображении в цветовом пространстве RGB прореживание сказывается незначительно. В дальнейшем компоненты обрабатываются и хранятся отдельно друг от друга (см. формулу 7).
После перевода в цветовое пространство YCbCr осуществляется прореживание по следующим соотношениям:
- 4:4:4, когда прореживание не выполняется;
- 4:2:2, когда компоненты цветности меняются через одну по горизонтали;
- 4:2:0, когда компоненты цветности меняются через одну по горизонтали, при этом по вертикали они меняются через строку [1].
B =
Y Cb Cr
' 00
Y10Cb10Cri0
Y Cb Cr
i 20^>^20 20
Y Cb Cr
30^^30^30
Y01Cb01Cr01 YiiCbiAi Y21Cb21Cr21 Y3iCb3iCr3i
Y Cb Cr
02 02 02
Y12Cb12Cri2 Y22Cb22Cr22
Y32 Cb32 Cr32
Y Cb Cr
03 03 03 Y13Cb13Cri3
Y2£b2£r2,
Y33Cb33Cr33 .
(7)
На втором этапе исходное изображение разбивается на блоки размером 8 х8, над значениями которых будет вычисляться дискретное косинусное преобразование. Из каждого блока формируются три матрицы дискретного косинусного преобразования, содержащие 8 бит отдельно для каждой компоненты. Для повышения коэффициента сжатия дополнительно может выполняться прореживание компонент. Изображение делится по компоненте Y так же, как и в первом случае, но для компонент Cr и ^ матрицы формируются через строчку и через столбец. Другими словами, из исходной матрицы размером 16 х 16получает-ся только одна рабочая матрица дискретного косинусного преобразования. При этом отбрасывается 3/4 информации о цветовых составляющих изображения, что позволя-
Компоненты цветности также могут усредняться. Проиллюстрируем подробнее данные соотношения на примерах. В случае прореживания исходного блока пикселей 4 х 4 из (7) результирующие блоки будут выглядеть так (см. формулы 8 -10):
Таким образом, при выполнении прореживания (9) и (10) не содержат 1/3 и 1/2 отброшенной информации соответственно. Выбор того или иного способа прореживания влияет на изменение коэффициента сжатия, причем при отсутствии прореживания коэффициент сжатия ухудшится, а при схеме 4:2:0 будет наибольшим. Если число строк и число столбцов не позволяют представить изображение в виде целого числа блоков размером 4 х 4, то оно модифицируется. А именно, если число строк не кратно четырем, то добавляется от одной до трех
94
№ 4(34) 2011
п = 4:4:4 _
B4:2:2
Y Cb Cr
00 00 00
Y10Cb10Cr10
Y Cb Cr
20 20 20
Y Cb Cr
30 ^^30 ^'30
Y Cb Cr
00 00 00
Y10Cb10Cr10
Y Cb Cr
20 20 20
Y Cb Cr
30 30 30
Y01Cb01Cr01 YuCbnCrn
Y21Cb21Cr21 Y31Cb31Cr31
Y01Cb00Cr00 Y11Cb10Cr10 Y21Cb20Cr20 Y31Cb30Cr30
Y Cb Cr
02 02 02
Y12Cb12Cr12 Y32Cb32Cr32
Y Cb Cr
02 02 02
Y12Cb12Cr12 Y22Cb22Cr22
Y32 Cb32 Cr32
Y Cb Cr
03 03 03 Y13Cb13Cr13 Y23 Cb23 Cr23 Y33 Cb33 Cr33.
Y Cb Cr
03 02 02 Y13Cb12Cr12
Y2,Cb22Cr22
Y33Cb32Cr32 .
(8)
(9)
«
0
1
со
B4:2:0
Y Cb Cr
00 00 00
Y Cb Cr
i 10^1^00 ^'00
Y Cb Cr
20 20 20
Y Cb Cr
i 30 ^1^20 ^'20
Y Cb Cr
01 00 00
Y11Cb00Cr00
Y Cb Cr
i 21^iy20^20
Y Cb Cr
31 20 20
Y Cb Cr
02 02 02
Y Cb Cr
12 02 02
Y Cb Cr
03 02 02
Y Cb Cr
13 02 02 Y33Cb22Cr22 .
(10)
строк-копий нижней строки. Аналогично, если число столбцов не кратно четырем, то добавляется от одного до трех столбцов-копий крайнего правого столбца.
На следующем этапе выполняется дискретное косинусное преобразование. Полученные после прореживания компоненты разбиваются на блоки 8 х8; к каждому блоку применяется дискретное косинусное преобразование отдельно для компонент Y, Cb и Cr. Если число строк и число столбцов не позволяют представить изображение набором целого числа блоков размером 8 х8, то добавляется соответствующее количество строк и столбцов.
Прямое дискретное косинусное преобразование применительно к алгоритму JPEG записывается следующим образом:
1 7 7
Gij = 4 CPi XX Ixy
4 x=0 y=0
cos
(2 y +1)) n
16
cos
(2 x +1) n
(11)
16
где Cf =
-j=,f = 0
V2 .
1,f > 0, при i > 0,i < 7
Pxy =1X X cCG
i=0 j =0
cos
(2 y+1) 16
(12)
• cos
(2 x + 1)i n
16
где Cf =
-W = 0
л/2 .
1,f > 0, при i > 0,i < 7
Восстановление изображения организуется с помощью вычисления обратного дискретного косинусного преобразования:
В (13) приводится пример вычисления прямого дискретного косинусного преобразования для блока 8 х 8.
Из (13) видно, что величины коэффициентов преобразования убывают от левого верхнего угла по направлению к правому нижнему углу. Левый верхний коэффициент является низкочастотным коэффициентом и содержит основную энергию блока после декоррелирующего преобразования.
На следующем этапе выполняется квантование матрицы коэффициентов. Человеческий глаз практически не замечает изменения в высокочастотных составляющих, следовательно, коэффициенты, отвечающие за высокие частоты, можно хранить с меньшей точностью.
Квантование осуществляется с помощью умножения матрицы коэффициентов дискретного косинусного преобразования на так называемую матрицу квантования (14).
95
№ 4 (34) 2011
!
s 00 О
il
12
0 s
1
s
! =s
I
s
О
Й SI
0
1 Î2 Sg
t Si Î2 ! I
!
£ 00 О
5
о
I
si
о
g
il s
со
0
1
Si s
Ц
Sg
i <u
■s«
1 sg <0 'S
il s 8
s Ǥ
G =
235,6 -1 -12,1 -5,2 2,1 -1,7 -2,7 1,3
-22,6 -17,5 -6,2 -3,2 -2,9 -0,1 0,4 -1,2
-10,9 -9,3 -1,6 1,5 0,2 -0,9 -0,6 -0,1
-7,1 -1,9 0,2 1,5 0,9 -0,1 0 0,3
-0,6 -0,8 1,5 1,6 -0,1 -0,7 0,6 1,3
1,8 -0,2 1,6 -0,3 -0,8 1,5 1 -1
-1,3 -0,4 -0,3 -1,5 -0,5 1,7 1,1 -0,8
-2,6 1,6 -3,8 -1,8 1,9 1,2 -0,6 -0,4
(13)
T =
G G
G G
70 77
Q00 ... Q07
Q70 ... Q77
T00 ... T07
T70 ... T77
(14)
где ® означает покомпонентное умножение и взятие целой части, т. е. T = [GQ ], где Gïs — исходные коэффициенты дискретного косинусного преобразования, Qtj — компоненты матрицы квантования стандарта JPEG из (15) и (16) компоненты яркости и цвета
соответственно [5]. Таким образом, происходит квантование области определения коэффициентов исходной матрицы. Для повышения эффективности квантования его матрицы берутся различными для компонент цветности и яркости.
Qy =
16 11 10 16 24 40 51 61
12 12 14 19 26 58 60 55
14 13 16 24 40 57 69 56
14 17 22 29 51 87 80 62
18 22 37 56 68 109 103 77
24 35 55 64 81 104 113 92
49 64 78 87 103 121 120 101
72 92 95 98 112 100 103 99
(15)
Qor = Qcb =
17 18 24 47 99 99 99 99
18 21 26 66 99 99 99 99
24 26 56 99 99 99 99 99
47 66 99 99 99 99 99 99
99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99
(16)
96
№ 4(34) 2011
На данной стадии можно задавать степень сжатия путем изменения матриц квантования. Чем ближе к нулю элементы матрицы, тем меньше будет диапазон значений элементов матрицы Т , а значит, их возможно закодировать меньшим количеством битов, приходящихся на каждый пиксел. Например, если элементы Q¡j достаточно близки к нулю, то большинство элементов Т — нули.
T=
15 0 -1 0 0 0 0 0
-2 -1 0 0 0 0 0 0
-1 -1 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
(17)
Матрицы квантования приводятся в стандарте JPEG, а для изменения коэффициента сжатия они умножаются на определенный коэффициент. Основная проблема, возникающая при вычислении преобразования (11), заключается в том, что после выполнения квантования матрицы коэффициентов границы элементов матриц коэффициентов соседних блоков могут не совпадать и становятся визуально заметными. Необходимо отметить, что потери информации на стадии квантования самые существенные, т. е. если убрать большую долю информации из низкочастотных компонент, то появятся артефакты блочности и эффект Гиббса.
Далее квантованные коэффициенты преобразования из матрицы упорядочиваются определенным образом. Существуют различные схемы упорядочивания, но наибольшую популярность получило зигзаг-упорядочивание. Это специальный проход матрицы для получения определенной последовательности квантованных коэффициентов преобразования. Сначала идет элемент T00, затем T01,T10,T20,T11,T02,... Первыми в последовательности идут ненулевые коэффициенты, несущие основную энергию и соот-
ветствующие низкочастотным компонентам, а следом за ними — множество высокочастотных коэффициентов, определенная часть которых являются нулевыми.
На завершающем этапе выполняется сжатие методом кодирования длин серий. Полученная последовательность кодируется с помощью модифицированного алгоритма группового кодирования, после чего выполняется кодирование по методу Хаффмана с фиксированной таблицей.
В настоящее время стало очевидно, что традиционный аппарат анализа стационарных сигналов, каким является преобразование Фурье, оказывается малоэффективным для представления фрактальных функций и сигналов. Другими словами, функций с локальными особенностями, к которым относятся изображения естественного происхождения, получившие широкое распространение в последние годы благодаря повышенной надежности, простоте применения и ценовой доступности аппаратных средств получения изображений.
Одним из основных недостатков преобразования Фурье является использование в качестве базовой функции синусоиды, имеющей бесконечную область определения. В условиях ограничения числа членов ряда Фурье или спектра разложения такая функция принципиально не способна описывать нестационарные сигналы.
Метрические пространства
Подпространством линейного пространства Я называется совокупность его элементов Я1, которая сама является линейным пространством относительно введенных в Я операций сложения и умножения на число.
Для того чтобы убедиться в этом, необходимо проверить, выполняются ли в Я1 аксиомы линейного пространства, которые выполняются в Я. Для этого надо взять два элемента из Я1 и проверить выполнимость операций сложения, умножения, существование нулевого и противоположного элементов. Очевидно, что размерность подпро-
97
« о
л
со эё
№ 4 (34) 2011
Ü
s 00
О &
Ü
12 о
t
I
I
S 00 О
Й ^
0
Ü 5 lg
t §
12 Ü
1
Ü
£ 00 О
5
о
1 а
о
§
S §
со
0
Ü
1 S
U lg I
<u та
1 lg <0
§
I Ǥ
странства R1 должна быть меньше или равна размерности пространства R.
В обычном трехмерном пространстве R3 геометрических векторов подпространствами будут являться множества векторов на всех плоскостях и всех прямых, проходящих через начало координат. Следовательно, чтобы охарактеризовать расположение любого объекта, достаточно только трех координат, так как объекты располагаются в трехмерном пространстве. Это могут быть не только координаты x,y,z прямолинейной (декартовой) системы координат, но и координаты какой-либо криволинейной системы, например сферической, где положение объекта задается расстоянием до начала координат, зенитным и азимутальным углами.
Очевидно, что подпространством любого пространства R будет само пространство R и множество, состоящее из одного нулевого элемента.
Говорят, что количество координатных осей определяет мерность пространства. Так, если некоторое пространство задано тремя координатными осями, то говорят, что речь идет о трехмерном пространстве.
Основные понятия
Преобразование сопоставляет точке в одном пространстве некоторую точку в другом пространстве согласно определенному заданному закону.
Преобразование вида f: X1 ^ X2 называется отображением, если оно переводит множество X1 в множество X2.
Пусть V — векторное пространство над полем K. Векторное пространство называется нормированным векторным пространством, если для каждого вектора x е V существует такое действительное число ||Х||, что из x = y следует ||Х|| = ||y|| и что для всех X, y из V:
1) положительная определенность: ||X|| > 0 , причем ||X|| = 0 тогда и только тогда, когда X = 0;
2) положительная однородность: IIa- XII = lal-ll XII;
3) неравенство треугольника:
II*+у\\ -IXII+1 \У\|.
Обозначим единичные векторы некоторого нормированного векторного пространства через ё1, ё2,...ёг. Рассмотрим п-мерное пространство, определенное п-координат-ными осями, на каждой из которых заданы
ё1, ё2 ,. ..ёг'
Аффинным пространством называют множество Е , связанное с векторным пространством V отображением f: Е х Е ^ V со свойствами:
1) соотношение Шаля: для любых трех точек х, у,г е Е ху + уг = хг;
2) для каждого элемента х е Е отображение ох : Е ^ V является биекцией Е на V.
Аффинное пространство позволяет изучать общие свойства тел, не изменяющиеся при произвольном преобразовании системы координат. Примером аффинного пространства может служить пространство, по координатным осям которого отложены давление, объем, температура. Однако в нем отсутствует понятие длины, так как совершенно очевидно, что общей единицы для измерения давления, объема и температуры не существует, а, следовательно, не имеет физического смысла понятие расстояния между двумя точками в этом пространстве. Пространство, в котором система координат определена географической широтой, долготой и высотой, является метрическим, т. к., пользуясь данными координатами, возможно определить расстояние между географическими объектами на карте. Поэтому, если в задаче нужно определять расстояние между точками и закон его изменения со временем, то необходимо перейти к метрическому пространству, где и решать поставленную задачу. На практике одинаково часто используют как аффинное, так и метрическое пространства, при необходимости переходя из одного в другое.
Говорят, что в линейном пространстве R задано скалярное произведение, если каждой паре векторов X и у из R поставлено в соответствие такое число (X,у), что выполняются следующие условия:
98
№ 4(34) 2011
(x, у ) = (y, х), (18)
(( + ^2, У ) = ((?1, у )+( , у), (19)
(Ах, у) = А (у, х), (20)
(х, х)> 0, (х, Е) = 0 « Е = 0. (21)
Линейное пространство, в котором определено скалярное произведение, удовлетворяющее условиям (18-21), называется евклидовым пространством и обозначается Е .
Длиной или модулем |х| вектора х в евклидовом пространстве называют корень квадратный из скалярного произведения вектора на самого себя (скалярного квадрата) |х| = ч/(х, х).
Известно, что метрическое пространство есть пара (X ,б), где X — произвольное множество (множество точек), б — функция расстояния, определенная на X. Для любых точек х, у, г из метрического пространства функция расстояния удовлетворяет условиям:
1) симметричность: б (х, у) = б (у,х) для любых х,у е X;
2) неравенство треугольника:
б (х, у) < б (х, г) + б (г, у) для всех х, у, г е X;
3) положительная определенность: б (х,у) > 0 для всех х,у е X , причем б(х, у) = = 0 тогда и только тогда, когда х = у.
Изображения являются функциями евклидова пространства Я2, расстояние между точками х = (х1, х2) и у = (у1, у2) в котором определяется следующим образом:
б,2 (х,у) = >/(х1 -у1 )2 +(2 -у2)г. (22)
Расстояние может также определяться в соответствии с выражением:
бц(х, у) = |х1 - у\ + х - у2
Компактные множества
(23)
При фрактальном сжатии изображение рассматривают не как множество точек, а наоборот, часто пользуются понятием аб-
страктного метрического пространства для определения пространства, в котором изображения сами являются точками. Изображение — замкнутое и ограниченное подмножество в пространстве (Я2,б2). Необходимо обобщить понятия замкнутости и ограниченности, чтобы считать изображения точками в некотором абстрактном метрическом пространстве.
Множество I в метрическом пространстве (X,б) называется компактным, если любое его бесконечное подмножество содержит последовательность, сходящуюся к элементу множества С. Множество (Я2,б2) не является компактным. Компактное множество должно содержать все свои предельные точки, т. е. быть замкнутым. Согласно теореме Больцано-Вейерштрасса в евклидовом пространстве, как и в (Я2,б2), любое замкнутое и ограниченное множество компактно.
Последовательность (хп} элементов метрического пространства X называется фундаментальной, если она удовлетворяет критерию Коши, т. е. для любого е > 0 существует такое натуральное Nе, что р(хп,хт) < е для всех п, т > Nг.
Метрическое пространство называется полным, если любая фундаментальная последовательность его точек имеет предел в этом пространстве.
Пусть ^,б) — полное метрическое пространство. Определим Н (х) как пространство, состоящее из компактных подмножеств X. Таким образом, каждая точка в Н (х) — это компактное подмножество в X. Определим расстояние между х е X и В е Н (х) как кратчайшее расстояние между точкой х и произвольной точкой у е В .
б(х,В) = 1гнп{б(х,у): у е В}. (24)
Заметим, что данный минимум существует и конечен, так как В компактно и, следовательно, замкнуто и ограничено. Определим расстояние между двумя компактными множествами А и В как:
б (А, В) = тах {б (х,В): х е А}.
(25) 99
со о
л
со Эё
№ 4 (34) 2011
Ü s
о
Й si
0
!
12 §
1 §
12 Ü I Ü
00 О
iS
о
I
а
0
is
1 §
со
0
1
Si S
U §
I
<u
■s-
та
1 Sg <0
§ I
a
Рис. 5. Расстояния между двумя компактными множествами A и B
Компактность A обеспечивает существование и конечность этого максимума. Рассмотрим ситуацию, показанную на рис. 5.
Из рисунка 5 видно, что в общем случае d(A,B) d(B,A), т. е. d(A,B) является расстоянием между множествами, но не задает метрику.
Метрика Хаусдорфа
Определим новую меру расстояния: h (A, B) = max {d (A, B), d (B, A). (26)
Видно, что h(A,B) = h (B,A) и h есть метрика в H (x).
Метрика h называется метрикой Хаусдорфа, а метрическое пространство (H (x),h) — метрическим пространством Хаусдорфа. Пространство (H(x),h) является полным метрическим пространством, и, следовательно, все его свойства распространяются на подпространство изображений R2.
Сжимающие отображения
Преобразование сопоставляет точке в одном пространстве некоторую точку в другом пространстве согласно некоторому заданному закону.
Преобразование вида f: X1 ^ X2 называется отображением, если оно переводит пространство X1 в пространство X2.
Отображение f: X ^ X метрического пространства (X,d) называется сжимаю-
щим отображением, если существует константа s, 0 < s < 1 такая, что:
d(f (x1 ),f (x2))< sd(x1,x2), (27)
для всех x1,x2 e X. Константа s называется коэффициентом сжатия отображения f. На рисунке 6 показан пример сжимающего отображения на (R2,d2), примененного к множеству точек в R2. Сжимающее отображение f было применено более одного раза. Первоначально f( x) вычисляется для точки x, затем f применяется к результату и вычисляется f (((x)) и т. д. Преобразования, получаемые таким многократным применением f, называются итерациями преобразования f, т. е. fn (x) = f(f(...f(x)...)). Они образуют последовательность x0,x1 = f(x0),x2 = = f2(x0),...,xn = fn(x0) в X, которая сходится к пределу lim fn (x) = xf.
Пусть (X ,d) — метрическое пространство, а f: X ^ X — сжимающее отображение с коэффициентом сжатия s 0 < s < 1, x0 — начальная точка, xk = f (xk-1). Тогда для всех k имеет место неравенство:
d (x0, xk )< d (x0, xj (28)
Пусть (X ,d) — полное метрическое пространство, а f : X ^ X — сжимающее отображение, тогда f (x) имеет в точности одну неподвижную точку, т. е. существует только одна точка xf e X такая, что:
f (xf ) = xf.
(29)
Точка f (х{ ) = х{ называется аттрактором преобразования.
При выполнении фрактального кодирования можно использовать любое сжимающее отображение, но на практике используются лишь трехмерные аффинные преобразования с достаточно сильными ограничениями по коэффициентам.
Системы итерируемых функций
В основе фрактального метода кодирования лежит теория систем итерируемых
100
№ 4(34) 2011
со
Рис. 6. Сжимающее отображение множества точек в пространстве R2
функций, предложенная Хатчинсоном [10] и в дальнейшем развитая Барнсли [8], которому удалось применить теорию систем итерируемых функций для кодирования изображений.
Пусть {wvw2,...,wn} есть набор сжимающих отображений в метрическом пространстве (X,d) с коэффициентами сжатия {s1,s2,...,s^ , где 0 < sn < 1. Определим отображение W, воздействующее на компактные множества точек B из X в полном метрическом пространстве (X, d) следующим образом:
n
W (B)=w1 (B)uw2 (B) и... и wn (B)=U w/ (B). (30)
/=1
Таким образом, W отображает H (x) в H (x) и является сжимающим отображением на (H(x),h) с коэффициентом сжатия s = max {s1, s2,...,sn}.
h(W(B),W(C))< sh(B,C) для B,C e H(x). (31)
Система итерируемых функций состоит из полного метрического пространства (X,d) и конечного множества сжимающих отображений wn : X ^ X с коэффициентами сжатия sn. Коэффициент сжатия системы итерируемых функций определяется как s = max {, s2,..., s^. Введем обозначение для системы итерируемых функций: {X, wn}.
Системе итерируемых функций ставится в однозначное соответствие неподвижная точка, представляющая собой некоторое изображение. Процесс сжатия заключается в поиске коэффициентов системы итерируемых функций, а процесс распаковки — в проведении итераций системы до получения изображения, близкого к исходному,
т. е. достижения неподвижной точки системы итерируемых функций. На практике достаточно выполнения нескольких итераций.
Из изложенного очевидно, что основной задачей при сжатии фрактальным методом является нахождение соответствующих аффинных преобразований. Представляется возможным переводить любые по размеру и форме области изображения, однако в этом случае чрезвычайно интенсивно растет время вычислений, поскольку количество перебираемых вариантов разных фрагментов таково, что временные затраты на обработку всей совокупности выходят за ограничения, накладываемые режимом работы в реальном времени.
Теорема коллажа
Теорема о сжимающих отображениях может быть применена к отображениям на пространстве (Н(хи, в частности, к системам итерируемых функций. Изображение, которое является единственной неподвижной точкой системы итерируемых функций в Н (х) называется аттрактором системы итерируемых функций. М. Барнсли сформулировал теорему коллажа для систем итерируемых функций на (Н(х),Л) и назвал ее теоремой коллажа. Точкой в Н (х) является компактное множество точек в Я2, представляющее собой изображение. Коллажом будем называть набор областей w¡ (/_).
Пусть ^ — точка пространства Н (х) и задано некоторое е > 0. Найдем такую систему итерируемых функций {X, wn} с коэффициентом сжатия в, 0 < в < 1, чтобы выполня-
лось условие h
L,U W (L)
V /=1
< е, тогда:
101
№ 4 (34) 2011
1 п
ь М)< ггь ^и wl (L)
1 э V /=1
1-э
, (32)
и
оо
о &
¡1
12 о
и
I
I
00 о Й
0
!
12 §
1 §
12 ! I
I
£ 00
о £
о
1 а
о
§
§
8 00
0 ?
£
и §
1
<и та
1 §
<0
¡1 I ¿1
Тогда:
где А — аттрактор системы итерируемых функций.
Проще говоря, если некоторая функция близка к заданному изображению, то аттрактор системы итерируемых функций также близок по критерию расстояния между двумя множествами точек пространства к изображению. Таким образом, можно выразить изображение в форме объединения его собственных уменьшенных, повернутых и смещенных экземпляров.
Предположим, что имеется изображение L с Я2 и возможно задать сжимающие ото-
п
бражения такие, что \_jwj (_) покрывают L
/=1
почти точно и не слишком перекрывают его. В этом случае следует считать каждое w¡ (_) уменьшенной копией L. Согласно теореме коллажа аттрактор А системы итерируемых функций {X№п) близок к L в метрике Хаус-дорфа Ь.
Так как аттрактор А — результат бесконечного числа итераций системы итерируемых функций, то он является фракталом.
Рассмотрим теорему коллажа для системы итерируемых кусочно-определенных функций. Пусть задано изображение в градациях серого f. Предположим, что найдется сжимающее отображение 1Ж, такое что:
d2 ^ ))<£.
d2 (4 )<
1-э
(33)
(34)
где э — коэффициент сжатия изображения Ш, а ^ — аттрактор. Это означает, что можно начать с любого изображения д и итеративно применять преобразование Ш к изображению д, чтобы получить изображение, близкое к f.
В то время как теорема о сжимающих отображениях обеспечивает возможность фрактального кодирования, теорема коллажа позволяет реализовать его практически. Таким образом, вместо бесконечного количества итераций, применяемых к данному изображению, необходимо найти отображение Ш, однократное применение которого, т. е. изображение Ш^) = будет близким к изображению f. Отображение Ш должно быть сжимающим отображением с коэффициентом сжатия э много меньшим единицы.
Системы итерируемых кусочно-определенных функций
Для фрактального сжатия используются системы итерируемых функций особого вида, а именно системы итерируемых кусочно-определенных функций (Part/t/oned
Рис. 7. Система итерируемых кусочно-определенных функций
102
£
£
№ 4(34) 2011
Исходное изображение
Аттрактор
Рис. 8. Результат применения системы итерируемых функций
«
0
1
со ас
iterated function system, PIFS). Система итерируемых кусочно-определенных функций состоит из полного метрического пространства X, набора подобластей D с X и набора сжимающих отображений wi : Di ^ X. Другими словами, система итерируемых функций пытается найти множество сжимающих преобразований wi : D ^ X, которые отображают доменные блоки Dl в множество ранговых блоков Rl, которые покрывают изображение.
Конечная совокупность W сжимающих трехмерных аффинных преобразований w(, определенных на областях D, таких, что w l(D ) = R 1, называется системой итерируемых функций, т. е. Rl — область значений преобразования w(, действующего на множестве D.
Системе итерируемых функций однозначно сопоставляется неподвижная точка — изображение. Области Rl в дальнейшем будут именоваться ранговыми, а области Di — доменными.
На рисунке 8 представлен результат применения сжимающего отображения W к некоторому начальному изображению.
Теорема о сжимающих отображениях является базовой при определении системы итерируемых функций. Действительно, если имеется изображение f и существует сжимающее отображение W такое, что изображение fW, являющееся аттрактором отображения W, близко к изображению f, то отображение W содержит информацию, необходимую для получения изображения fW. Если для хранения отображения W требуется меньше места, чем для хранения изображения f, то результирующее соображение есть сжатие исходного [1].
Аффинные преобразования
Линейное преобразование с последующим преобразованием сдвига представляет собой аффинное преобразование пространства Яп.
Отображение L называется линейным преобразованием пространства Rn в пространство Ят, если:
L (Ax + |iy ) = AL( x) + |L( y) для всех x, y e Rn.
(35)
Пусть L — линейное преобразование пространства Rn в пространство Rm. Тогда существует матрица А размера т х п такая, что:
L(х) = Ах,х е Rn. (36)
Отображение Т называется преобразованием сдвига пространства Rn, если:
Т(х) = х + а,х е Rn, (37)
где а — произвольный вектор.
Из (36) и (37) следует, что любое аффинное преобразование Т пространства Rn можно представить в матричной форме:
T(x) = Ax + a, x e Rn. В случае R2 из (38) имеем:
(38)
T
x
x
a.
a,
Pi
P2
xi Yi
+
x2 Y2
(39)
Если в — множество точек в R2, то площадь преобразованной области Т (Э)
103
№ 4 (34) 2011
I
s
о &
¡1
о а
t
I
I
S о Й а
0
1
12 §
i Si
12 £
I
I
£ 00 о
is
о
1 a
о
§
is
s 00
0 ?
Si s
u §
1
<u та
1 §
<0
il i ¿1
в |det А| раз отличается от площади области й, где |detА| — абсолютное значение определителя A. Таким образом, Т — пространственное сжатие в Н (х). На рисунке 9 показано действие аффинного преобразования на множество точек в пространстве Я2.
Константы, определяющие преобразование, могут быть заданы путем определения операции преобразования над тремя точками. В системах итерируемых функций используются аффинные преобразования, т. к. можно их легко задать и вычислить коэффициенты.
Пусть Dj — доменные блоки, которые являются подобластями полного метрического пространства X, а — область значений преобразования wj, действующего на множестве Dj таких, что w¡(Ц) = (см. рис. 10).
Тогда можно определить отображение w/, действующее на изображение f(x, у) в виде:
w! (f)(х, у) = э/( (х, у)) + о (40)
при условии, что wj обратимо и (х,у) е Я-1. Константа э расширяет или сужает диапазон значений функции f или управляет контрастностью. Аналогично константа о( увеличивает или уменьшает значения яркости. Преобразование wj называется пространственной составляющей преобразования w,.
Y
О
В'
X
Рис. 9. Аффинное преобразование множества точек в R„
Рис. 10. Пространственное аффинное преобразование и обратное ему преобразование
Список литературы
1. Ватолин Д. Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео. М: Диалог-МИФИ, 2002.
2. Земцов А. Н. О выборе оптимального вейвлет-базиса в задаче компрессии триангуляционных моделей рельефа поверхности // Известия ВолгГТУ. 2006. № 4.
3. Земцов А. Н, Палашевский А. В. Прогрессивная передача аудиосигналов в компьютерных сетях // Известия ВолгГТУ. 2006. № 4.
4. Земцов А. Н, Рахман С. Мд. Защита авторских прав с помощью дискретного вейвлет-преобра-зования // Известия ВолгГТУ. 2009. Т. 6. № 6.
5. Миано Дж. Форматы и алгоритмы сжатия изображений в действии. М.: Издательство «Триумф», 2003.
6. Уэлстид С. Фракталы и вейвлеты для сжатия изображений в действии. М.: Издательство «Триумф», 2003.
7. Ahmed N., Natarajan T., Rao K. Discrete Cosine Transform // IEEE Trans. Computers. 1974.
8. Barnsley M. Fractals Everywhere. London: Academic Press Inc., 1988.
9. Fisher Y. Fractal Image Compression. New York: Springer Verlag, 1994.
10. Hutchison J. Fractals and self-similarity // Indiana University of Math Journal. 1981. № 30.
11. Ruhl M, Hartenstein H. Optimal Fractal Coding is NP-hard // Proc. DCC'97 Data Compression Conference. 1997.
104