Как указано в первом параграфе предыдущей лекции, объем информации, нужной для хранения изображений, обычно велик. При этом с каждым днем разрешающая способность устройств ввода изображений растет. Некоторое время назад стало очевидно, что классические алгоритмы не обеспечивают достаточной степени сжатия. Являясь алгоритмами общего назначения, они не учитывали того, что сжимаемая информация есть изображение. Соответственно, были разработаны алгоритмы, обеспечивающие сжатие с потерями информации, которые позволили существенно поднять степень компрессии.
Сжатие с потерями основывается на особенностях восприятия человеком изображения: наибольшей чувствительности в определенном диапазоне волн цвета, способности воспринимать изображение как единое целое, не замечая мелких искажений. Также используется тот факт, что изображение - двумерный объект. Главный класс изображений, на который ориентированы алгоритмы сжатия с потерями, - фотографии, изображения с плавными цветовыми переходами.
Напомним, что A называется алгоритмом сжатия c потерями (англ. A, A*, где A* приближенно восстанавливает изображение: для любого изображения I A(I) = I1, A*(I1) = I2 и при этом полученное восстановленное изображение I2 не обязательно точно совпадает
с I (см. определение в первом параграфе предыдущей лекции). Возникает вопрос: как оценивать потери визуальной информации, т.е. меру отличия I от I2? Существует множество хороших мер для оценки таких потерь, однако для всех из них можно подобрать такие два изображения, что их мера отличия будет достаточно большой, но на глаз различия будут почти незаметными. И наоборот - можно подобрать изображения, сильно различающиеся на глаз, но имеющие небольшую меру отличия.
Введем сначала норму для значений атрибутов пикселей. Для полутоновых изображений, где на каждое значение атрибута пикселя отводится 8 бит:
Причем $$M^* = max \Vert \cdot \Vert$$, т.е. максимально возможное значение для такой нормы равно 255 x 255 = 65025. Для полноцветных изображений с тремя 8 -битными значениями атрибута пикселя (тремя 8 -битными каналами):
следовательно M* = 3 x 255 x 255 = 195075.
Стандартной мерой отличия является мера отношения сигнала к шуму ( PSNR - англ. Peak Signal-to-Noise Ratio), определяемая так:
где - другая мера - среднеквадратическая ошибка ( L2 -мера, - англ. Mean Squared Error), определяемая так:
Тем не менее самой важной "мерой" оценки потерь является мнение наблюдателя. Чем меньше различий (а лучше - их отсутствие) обнаруживает наблюдатель, тем выше качество алгоритма сжатия.
Отметим важный факт, что алгоритмы сжатия с потерями часто предоставляют пользователю возможность выбирать объем "теряемых" данных. Таким образом, существует выбор между качеством и размером сжатого изображения. Естественно, что чем лучше визуальное качество при большем коэффициенте сжатия, тем алгоритм лучше.
(рис 14.1) 8-битное полутоновое изображениеБудем рассматривать изображение как функцию двух переменных, определенную в точках конечного растра (имеется в виду точечная модель растра, см. определение в разделе 1.1). I(x, y) - значение атрибута пикселя (например номер в палитре, интенсивность), зависящее от цветовой модели представления изображения (см. рис. 14.1 и рис. 14.2). Множество таких функций на точках фиксированного конечного растра образуют конечномерное евклидово пространство RX,Y размерности m x n (|X|=m,|Y|= n) со скалярным произведением
(рис 14.2) Изображение как функция двух переменныхБудем отождествлять с таким пространством L2(X x Y ). В таком пространстве существует базис (см. [3]), т.е. такая система элементов $$\left\{e_k \right\}_{k=1}^{k=m \times n}$$ из RX,Y и такой набор не равных одновременно нулю коэффициентов $$\left\{C_k \right\}_{k=1}^{k=m \times n}$$, что для любой функции I из этого пространства выполнено
Если дополнительно предположить ортонормальность базиса, т.е.
$$(e_p, e_q) = { \left\{ \begin{array}{cc} 0, p \ne q\\ 1, p = q \\ \end{array} \right },$$то выполняется следующее соотношение:
Ck = (I, ek).
Напомним определение двумерного дискретного преобразования Фурье функции I:
для всех k = 1 . . .m, l = 1 . . . n. Обратное преобразование определяется так:
Система функций $$\left\{e^{2\pi \left ( p\frac{k}{m} + q\frac{l}{n} \right )}\right\}_{k,l=0}^{m,n}$$ образует базис в пространстве функций-изображений (см. [3]).
Такое преобразование очень популярно в области обработки изображений, однако в общем виде практически не используется для сжатия изображений из-за плохой частотно-пространственной локализации.
Рассмотрим определение дискретного косинусного преобразования (ДКП) [43]. Пусть изображение имеет размеры N x N. Прямое преобразование записывается так:
Обратное преобразование имеет следующий вид:
$$I(k, l) = \sum\limits_{u=0}^{N-1} \sum\limits_{v=0}^{N-1} c(u)c(v) t(u, v) \cos \frac{(2k + 1)u\pi}{2N} \cos \frac{(2l + 1)v\pi}{2N},$$ $$i, j = 0, . . . ,N - 1, c(i) = { \left\{ \begin{array}{cc} \sqrt{\frac{1}{N}}, i = 0 \\ \sqrt{\frac{2}{N}}, i \ne 0 \\ \end{array} \right }.$$Дискретное преобразование обладает свойствами.
Коэффициенты t(u, v) - это амплитуды пространственных частот изображения. В случае изображений с плавными переходами большая часть информации содержится в низкочастотном спектре (см. лекцию 7).
Отметим, что применение дискретного косинус-преобразования эквивалентно применению дискретного преобразования Фурье примерно двойной длины к действительным (некомплексным) и четно симметричным данным (эквивалентность вытекает из того, что преобразование Фурье четной действительной функции четно и действительно).
Алгоритм сжатия, используемый в формате хранения изображений
Y - компонента яркости, Cb и Cr - компоненты цветности. Человеческий глаз более чувствителен к яркости, чем к цвету. Поэтому важнее сохранить большую точность при передаче Y, чем при передаче Cb и Cr. Перевод осуществляется по следующей формуле:$$\left( \begin{array}{c}
Y Cb Cr
\end{array} \right) ={\left( \begin{array}{ccc}
0,299 0,587 0,114 \\
-0,1687 -0,3313 0,5 \\
0,5 -0,4187 -0,0813
\end{array} \right)} {\left( \begin{array}{c}
R G B
\end{array} \right)} + {\left( \begin{array}{c}
0 128 128
\end{array} \right)} ;$$
обратный перевод:
$$\left( \begin{array}{c} R G B \end{array} \right)={\left( \begin{array}{ccc} 1 0 1,402 \\ 1 -0,34415 -0,71414 \\ 1 1,772 0 \end{array} \right)}{\left( \begin{array}{c} Y Cb-128 Cr-128 \end{array} \right)}.$$YCbCr осуществляется субдискретизация по следующим соотношениям: 4:4:4 (отсутствие передискретизации), 4:2:2 (компоненты цветности меняются через одну по горизонтали), 4:2:0 (компоненты цветности меняются через одну по горизонтали; при этом по вертикали они меняются через строку). Проиллюстрируем подробнее данные соотношения на примерах. Будем преобразовывать блок 4 x 4 пикселя изображения:Y00Cb00Cr00 Y01Cb01Cr01 Y02Cb02Cr02 Y03Cb03Cr03 Y10Cb10Cr10 Y11Cb11Cr11 Y12Cb12Cr12 Y13Cb13Cr13 Y20Cb20Cr20 Y21Cb21Cr21 Y22Cb22Cr22 Y23Cb23Cr23 Y30Cb30Cr30 Y31Cb31Cr31 Y32Cb32Cr32 Y33Cb33Cr33
тогда:
4:4:4. Cубдискретизированный блок будет таким же.4:2:2. Cубдискретизированный блок будет таким:Y00Cb00Cr00 Y01Cb00Cr00 Y02Cb02Cr02 Y03Cb02Cr02 Y10Cb10Cr10 Y11Cb10Cr10 Y12Cb12Cr12 Y13Cb12Cr12 Y20Cb20Cr20 Y21Cb20Cr20 Y22Cb22Cr22 Y23Cb22Cr22 Y30Cb30Cr30 Y31Cb30Cr30 Y32Cb32Cr32 Y33Cb32Cr32
4:2:0. Cубдискретизированный блок будет таким:Y00Cb00Cr00 Y01Cb00Cr00 Y02Cb02Cr02 Y03Cb02Cr02 Y10Cb00Cr00 Y11Cb00Cr00 Y12Cb02Cr02 Y13Cb02Cr02 Y20Cb20Cr20 Y21Cb20Cr20 Y22Cb22Cr22 Y23Cb22Cr22 Y30Cb20Cr20 Y31Cb20Cr20 Y32Cb22Cr22 Y33Cb22Cr22
4:2:0 будет наибольшей. Если изображение не делится нацело на блоки 4 x 4, то оно дополняется по непрерывности, т.е. в случае, если размер по вертикали не делится на 4, то добавляется еще от одной до трех строк, совпадающих с последней снизу. Аналогично делается, если размер по горизонтали не делится на 4 - добавляются столбцы, совпадающие с самым правым.8 x 8 ; к каждому блоку применяется дискретное косинус-преобразование (отдельно для компонент Y, Cb и Сr ). Если изображение не делится нацело на блоки 8 x 8, то добавляется соответствующее количество строк и столбцов по непрерывности.где $$\otimes$$ означает покомпонентное умножение и взятие целой части, т.е. Tij = [tijqij ], где tij - исходные коэффициенты ДКП, qij - компоненты матрицы квантования, [] - операция взятия целой части. Таким образом, происходит квантование области определения коэффициентов исходной матрицы. Матрицы квантования разные для компонент цветности и яркости.
На данной стадии можно задавать степень сжатия путем изменения матриц квантования. Чем ближе к нулю элементы матрицы квантования, тем меньше будет диапазон значений элементов матрицы Tij, а значит, их можно закодировать, затратив меньшее количество информации. Например, если элементы qij достаточно близки к нулю, то большинство элементов Tij будет нулями.
Матрицы квантования оговорены в стандарте, а для изменения степени сжатия их умножают на определенный коэффициент. Очевидно, что потери на этой стадии самые большие; если убрать слишком много информации из низкочастотных компонент (т.е. слишком сильно огрубить компоненты), то появятся артефакты: распадение на квадраты 8 x 8, эффект Гиббса (возникновение ореола рядом с местами резких цветовых переходов) (см. рис. 14.3 и лекцию 7).
T00, затем T01, T10, T11 . .. Причем для типичных фотореалистических изображений сначала будут идти ненулевые коэффициенты, соответствующие низкочастотным компонентам, а затем - множество нулей.122 0 125 0 0 44 0 0 0 0 -1.Получим:
(0, 122) (1, 125) (2, 44) (4, -1). Также существует специальный код для обозначения того факта, что оставшиеся значения в последовательности суть нули.
(рис 14.4) Артефакты JPEG. Вверху - исходное изображение, внизу - изображение, сжатое в 30 раз алгоритмом JPEG(рис 14.3) Зигзаг-упорядочиваниеАлгоритм восстановления изображения суть инверсия вышеприведенных действий. Степень сжатия от 5 до 100 и более раз (варьируется с помощью матриц квантования и задания метода субдискретизации). При этом визуальное качество для большинства фотореалистичных изображений остается на хорошем уровне при сжатии до 15 раз.
Данный алгоритм и формат являются самыми распространенными для передачи и хранения полноцветных изображений. Столь широкое распространение объясняется несколькими причинами: относительно невысокой вычислительной сложностью (что было очень актуально до 1996 года), достаточной степенью стандартизованности формата и алгоритма, а также отсутствием необходимости платить какие-либо лицензионные отчисления (т.к. отсутствуют патентованные алгоритмы). К недостаткам алгоритма относят возникновение упоминавшихся выше артефактов, которые слишком заметны для человеческого глаза.
Описанная выше схема сжатия является типичной для алгоритмов сжатия изображений с потерями (за исключением фрактального). Отличие в основном состоит в типе преобразования на шаге 3. Далее мы рассмотрим другой вид преобразования.
Идея вейвлет-преобразования состоит в разложении сигнала (функции-изображения) по системе функций, имеющих локальный всплеск и быстро убывающих на бесконечности [20]. В этом и последующих параграфах предполагается знакомство читателя с базовыми понятиями функционального анализа (см., например, [3]). Обычно такие функции
т.е. $$\psi \in L_2(\mathbb{R}) \cap L_1(\mathbb{R})$$ ; также предполагается, что
$$\int_{-\infty}^\infty \psi (t) dt =0, \int_{-\infty}^\infty {\mid \psi (t) \mid}^2 dt =1.$$Материнский вейвлет преобразовывается следующим образом:
$$\psi_{ab}(t) =\frac{1}{\sqrt {\mid a \mid }}\psi \left( \frac{t-b}{a} \right),$$где $$(a, b) \in \mathbb{R} \backslash \{0\} \times \mathbb{R}$$. Примеры материнских вейвлетов см. на рис. 14.5. В общем случае вейвлет-преобразование записывается так:
$$W_{\psi} f(a, b) =\frac{1}{\sqrt {\mid a \mid }} \int_{-\infty}^\infty \overline{\psi \left( \frac{t-b}{a} \right)}f(t)dt.$$
(рис 14.5) Примеры материнских вейвлетовПри практическом применении вейвлет-преобразования анализ такого мощного (а именно континуум) множества коэффициентов невозможен. Поэтому (a, b) выбираются из счетного подмножества плоскости $$\mathbb{R} \backslash \{0\} \times \mathbb{R}$$. Обычно материнский вейвлет и множество значений (a, b) выбирают так, чтобы система $$\{\psi_{ab}\}$$ образовывала ортонормированный базис в пространстве $$L_2(\mathbb{R})$$. Тогда любую функцию f(x) из этого пространства можно разложить по этому базису $$f(x) = \sum_{j,k} c_{jk} \psi_{jk}(x)$$.
Поясним как применять вейвлет-преобразование к дискретному сигналу (например, изображению). Для простоты будем рассматривать одномерный случай - последовательность конечной длины $${\left\{s_j \right\}}_{j=0}^{N-1}$$. Тогда, при условии что материнский вейвлет $$\psi \in L_2(\mathbb{R})$$, преобразование можно записать так:
$$W_s(a, b) =\frac{1}{\sqrt{a}}\sum\limits_{j=0}^{N-1}s_j \int_{j}^{j+1}\psi \frac{t-b}{a}dt, a = 1 . . .N, b = 0, . . .N - 1.$$Рассмотрим простейшей вейвлет - вейвлет Хаара (англ. Haar
(рис 14.6) Материнский вейвлет Хаара
Данная система называется системой Хаара. Для такого вейвлета материнским является $$\chi_{00}$$ (см. рис. 14.6). В данном случае (a, b) выбраны из $$\mathbb{R} \setminus \{0\} \times \mathbb{R}$$ по такому закону:
Действие вейвлета Хаара на последовательность, состоящую из 2N элементов, можно рассматривать так: элементы группируются по два, вычисляется сумма и разность каждой пары, разности сохраняются, а из сумм формируется последовательность длины 2N-1 ; далее преобразование выполняется до тех пор, пока не останется одна сумма и соответственно 2N - 1 разность. Такое преобразование задается так называемой матрицей Хаара:
Последовательность (a0, . . . , a2N+1) представим так:
((a0, a1), . . . , (a2N, a2N+1)).
Теперь умножим справа векторы (ai, ai+1) на матрицу H2. Получим последовательность сумм и разностей ((s0, d0), . . . , (sN, dN)). Если последовательность имеет длину, кратную 4, то можно применить следующую матрицу Хаара:
Очевидно, что данные преобразования легко обратимы. С таким вейвлет-преобразованием тесно связано так называемое S-преобразование. Если мы не хотим, чтобы при преобразовании Хаара границы значений последовательности удваивались (из-за суммирования), надо брать полусумму. Однако при целом делении на 2 мы теряем точность. Решение данной проблемы выглядит так: пусть a и b - пара значений из исходной последовательности. Тогда
при этом восстановление выглядит так:
$$a = s + \left[\frac{d}{2}\right], b = s - \left[\frac{d}{2}\right],$$при этом, если d - нечетное, то при d > 0 к a добавляется 1, а если d < 0, то к b добавляется 1.
// s - сумма, d - разность
// Round(x) - взятие целой части
// IsOdd(x) - является ли нечетным
a = s + Round( d / 2 ); b = s - Round( d / 2 )
if( IsOdd( d ) )
{
if ( d > 0 )
a++;
else
b++;
}
В алгоритме A длины 8 данное преобразование задается так:
где
$$h_0 =\frac{1 + \sqrt{3}}{ 4\sqrt{2}}, h_1 =\frac{3 + \sqrt{3}}{ 4\sqrt{2}}, h_2 =\frac{3 - \sqrt{3}}{ 4\sqrt{2}}, h_3 =\frac{1 - \sqrt{3}}{ 4\sqrt{2}}, \\ g_0 = h_3, g_1 = -h_2, g_2 = h_1, g_3 = -h-0.$$Как видно, матрица имеет размеры 8 x 10 из-за необходимости участия в суммировании четырех компонент. Т.е. на самом деле, такая матрица умножается на следующий вектор:
A = (a1a2a3a4a5a6a7a8a9a10)T .
Обычно полагают либо a9 = a1, a10 = a2, либо a9 = a8, a10 = a7. Использование вейвлет-преобразований при сжатии изображений аналогично использованию дискретного косинус-преобразования в алгоритме JPEG, т.е. само преобразование - лишь
Вейвлет-преобразования имеют очень хорошую частотно-пространственную локализацию и по этому показателю превосходят традиционные косинус-преобразования и другие преобразования Фурье. Таким образом, становится возможно применять более сильное квантование, улучшая свойства последовательности для последующего сжатия без потерь. Алгоритмы сжатия изображений, основанные на этом преобразовании, при той
же степени сжатия показывают лучшие результаты по сохранению качества изображения. К тому же вычислительная сложность очень низка и составляет O(N) (здесь N - длина последовательности, к которой применяется преобразование). Однако распространенность форматов, использующих сжатие на основе вейвлет-преобразования, невелика из-за наличия патентов, а также из-за большой распространенности обычного JPEG, дающего вполне приемлемые результаты.
Фрактальное сжатие основывается на поиске и кодировании самоподобных областей в изображении. При этом используются системы итерируемых функций (англ. IFS -
Определение 14.6.1. Отображение $$f \colon R \to R$$ в полном
Cистеме из $$n$$ сжимающих отображений $$F = {f_1, . . . , f_n}$$, действующих в полном
где $$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.9) Построение треугольника Серпинского(рис 14.8) Построение треугольника Серпинского из квадратаИзображение папоротника может занимать десятки мегабайт (в хорошем разрешении), а его описание с помощью параметров аффинных преобразования - несколько сотен байт! Соответственно, идея сжатия состоит в поиске таких систем преобразований, которые бы в процессе итерирования приближали желаемое изображение. Задача ставится так:
S найти систему итерируемых функций F так, что неподвижное множество системы достаточно хорошо S.Сложность такой задачи в общем случае очень высока. Однако, если рассматривать изображение как функцию (см. введение раздела 14.3) и ограничивать вид преобразований следующим образом:
$$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. К недостаткам алгоритма относят очень долгое время сжатия по сравнению с другими методами, а также наличие патентов.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.