Московский государственный университет имени М.В.Ломоносова
Опубликован: 23.04.2007 | Доступ: свободный | Студентов: 3280 / 442 | Оценка: 4.18 / 3.71 | Длительность: 17:54:00
ISBN: 978-5-9556-0098-7
Специальности: Программист
Лекция 14:

Сжатие изображений с потерями

< Лекция 13 || Лекция 14: 12345

14.6. Фрактальное сжатие

Фрактальное сжатие основывается на поиске и кодировании самоподобных областей в изображении. При этом используются системы итерируемых функций (англ. IFS - Iterated Function System) [31], [12].

Определение 14.6.1. Отображение f \colon R \to R в полном метрическом пространстве (R, \rho) называется сжимающим, если \exists \alpha < 1 : \forall x,  y \in R \rho(f(x), f(y)) < \alpha \rho(x, y).

Cистеме из n сжимающих отображений F = {f_1, . . . , f_n}, действующих в полном метрическом пространстве (R, \rho), ставится в соответствие оператор системы итерируемых функций

F^*(X) =\bigcup_{i=1}^{n}f_i(X),

где X \subseteq R,  f(X) = \{f(x)|x  \in X\}. Такое отображение является сжимающим с коэффициентом

\alpha = \max\limits_{1\le i\le n}\alpha_i.

По теореме о сжимающих отображениях [3] существует неподвижное множество S\colon F^*(S) = S.

Треугольник Серпинского

Рис. 14.7. Треугольник Серпинского

Рассмотрим пример действия системы итерируемых функций. Пусть

f_1(x, y) =\left(\frac{1}{2}x,\frac{1}{2}y\right),  
f_2(x, y) =\left(\frac{1}{2}x+\frac{1}{2},\frac{1}{2}y\right), \\  
f_3(x, y) =\left(\frac{1}{2}x+\frac{1}{4},\frac{1}{2}y+\frac{\sqrt{3}}{4}\right),

действуют в пространстве R = [0; 1]2 с евклидовой метрикой. Данные отображения являются сжимающими (\alpha_i = \frac{1}{2}), и их неподвижные точки есть вершины равностороннего треугольника (их координаты (0, 0), (1, 0), (\frac{1}{2},\frac{\sqrt{3}}{2}) соответственно). Сначала будем последовательно применять оператор F* данных преобразований к множеству, ограниченному равносторонним треугольником (например, с координатами вершин, указанными выше). Неподвижное множество S, получаемое при действии оператора данной системы итерируемых функций, - это так называемый треугольник Серпинского (см. рис. 14.7). Процесс построения треугольника Серпинского см. на рис. 14.8. Можно начать применять оператор данных преобразований не к треугольнику, а к квадрату. Неподвижное множество будет таким же (см. рис. 14.9). Неважно, с какой области начинать (требуется только компактность), - получим треугольник Серпинского.

Другим примером неподвижного множества S для оператора F* для некоторой системы F из четырех аффинных преобразований является папоротник Барнсли (см. рис. 14.10).

Построение треугольника Серпинского

Рис. 14.8. Построение треугольника Серпинского
Построение треугольника Серпинского из квадрата

Рис. 14.9. Построение треугольника Серпинского из квадрата

Изображение папоротника может занимать десятки мегабайт (в хорошем разрешении), а его описание с помощью параметров аффинных преобразования - несколько сотен байт! Соответственно, идея сжатия состоит в поиске таких систем преобразований, которые бы в процессе итерирования приближали желаемое изображение. Задача ставится так:

по данному множеству S найти систему итерируемых функций F так, что неподвижное множество системы достаточно хорошо приближает3Классически, подразумевается метрика Хаусдорфа. S.

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

f(x, y, I(x, y)) =\left( \begin{array}{ccc} 
a & b & 0 \\ 
c & d & 0 \\ 
0 & 0 & L  
\end{array} \right) \left( \begin{array}{c} 
x & y & I(x, y)  
\end{array} \right) + \left( \begin{array}{c} 
u & v & Q 
\end{array} \right),

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

Папоротник Барнсли

Рис. 14.10. Папоротник Барнсли

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

< Лекция 13 || Лекция 14: 12345