Сравнительный анализ эффективности методов сжатия изображений на основе дискретного косинусного преобразования и фрактального кодирования

№ 5 (35) 2011

А. Н. Земцов, канд. техн. наук, доцент Волгоградского государственного технического университета

Сравнительный анализ эффективности методов сжатия изображений на основе дискретного косинусного преобразования и фрактального кодирования

Работа представляет собой вторую часть сравнительного анализа метода сжатия изображений на основе дискретного косинусного преобразования и метода фрактального кодирования. Первая часть опубликована в № 4 (34) журнала «Прикладная информатика» за 2011 год.

Часть II

Фрактальное кодирование изображений

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

1) изображение f разбивается на неперекрывающиеся ранговые блоки Я,. Обычно используются прямоугольники или треугольники, но могут быть и другие геометрические формы. Блоки Я1 могут быть равными, но чаще используется адаптивное разбиение с переменным размером блоков, что дает возможность плотно заполнять ранговыми блоками малых размеров области изображения, содержащие мелкие детали. Наиболее распространенным типом адаптивной схемы разбиения является метод квадроде-рева, описанный Фишером [9];

2) изображение покрывается последовательностью доменных блоков, которые мо-

гут перекрываться. Домены могут быть различными по размеру, и их количество обычно исчисляется сотнями и тысячами;

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

4) в случае, если не получается точного соответствия, ранговые блоки разбиваются на меньшие ранговые блоки. Процесс разбиения продолжается до тех пор, пока не получится добиться приемлемого соответствия или размер ранговых блоков не достигнет некоторого заданного предела.

Базовый алгоритм фрактального кодирования показан на рис. 11.

Для каждого wi определим соответствующее сжатие w¡ на пространстве изображений:

w!

выбирая в, так, чтобы w¡ было сжатием.

Третий шаг алгоритма требует наибольших вычислений. Для каждого рангового блока Я 1 алгоритм ищет домен D ,, пространственное преобразование w , контрастность в, и яркость о, такие, чтобы w¡(f) было близким к изображению f в блоке Я,, т. е. величина оценки качества d(f,g) была наименьшей.

№ 5 (35) 2011

! s

О

il

12

0 s

1

I

I

s

О

Й SI

0

1

s §

i Si ¡2 ! I

!

£ 00 О

S

о

I

SI

о

g

s

s «

0 ?

Si

i! Ц

§

1

<u

S«

1 S <0

il

s «§

D, R,

Рис. 11. Преобразование w, отображает домены D, в ранговые области Ri

Если после нахождения наилучшего w, величина d(f,g) оказывается все еще больше некоторой заранее определенной погрешности, то адаптивная схема разбиения на блоки разбивает ранговые блоки на меньшие, и затем поиск оптимального преобразования повторяется для этих меньших блоков. Процесс продолжается до тех пор, пока величина d(f, g) не станет меньше допустимой погрешности или пока не достигается заранее определенный размер рангового блока.

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

Доменные блоки

Для каждого рангового блока необходимо найти доменный блок, который эффективно отображается в этот ранговый блок. Для того чтобы отображение было сжимаю-

щим, домен должен быть больше рангового блока. Слишком дробное разбиение ранговых областей (т. е. слишком большое их количество) ухудшает коэффициент сжатия. Стандартная схема кодирования использует пять параметров: строка домена, столбец домена, уровень домена, горизонтальное перекрытие, вертикальное перекрытие. Строки и столбцы домена определяют, как много доменов верхнего уровня находятся в одной строке и одном столбце доменных блоков. Например, если размер изображения 256 х 256, строка и столбец равны 8, то размер наибольшего домена равен 64 х 64. Размер доменного блока уменьшается в 2 раза с увеличением параметра уровня доменов. Если наибольшие домены имеют размер 64 х 64, то на уровне 2 размер доменов равен 32х 32. Количество доменов на каждом уровне увеличивается в 4 раза. Параметры горизонтального и вертикального перекрытия принимают значение от 0 до 1. Здесь 1 означает, что перекрытия нет, 0,5 — половинное перекрытие, 0 — полное перекрытие блоков.

Разбиение методом квадродерева

Метод квадродерева является одним из наиболее перспективных методов разбиения [9]. Первоначально производится приближенное разбиение на 4 прямоугольника. Для каждого рангового блока

78

№ 5 (35) 2011

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

При уменьшении величины допустимой погрешности увеличивается количество

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

Отображение доменов в ранговые области

Сравнение доменных и ранговых блоков является наиболее вычислительно сложным этапом алгоритма фрактального сжатия. Для каждого рангового блока алгоритм сравнивает варианты преобразования всех доменов к этому ранговому блоку. Схема сопоставления доменных и ранговых блоков показана на рис. 12.

Как видно из рис. 12, сопоставление доменного и рангового блоков выполняется с помощью аффинных преобразований, а именно: параллельный перенос, сжатие и восемь вариантов ориентации. Варианты ориентации включают четыре поворота на 90° и зеркальное отражение в каждой ориентации. Поиск соответствия между доменными и ранговыми блоками является трехшаговым процессом. Сначала выполняется один из 8 базовых поворотов/отражений. Далее доменная область сжимается, чтобы соответствовать размеру ранго-

о

л

со эё

Доменный блок

Доменный блок

Доменный блок Доменный блок

Ранговый блок

Поворот

Ранговый блок

Вычисление яркости и контрастности

Ранговый блок Ранговый блок

Сравнение результата с ранговым блоком

Рис. 12. Сопоставление доменного и рангового блоков

79

-N ПРИКЛАДНАЯ ИНФОРМАТИКА

№ 5 (35) 2011 ' -

и

5

о

6

Ü о t

I

I

5 со о

Й

6

0 Ü

12 §

t §

12 Ü

1 Ü

00 о

is

о

1

о

§

is

S 00

0

Ü

Si S

U §

1

<u

s-

та

1 §

<0

§ I

a

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

Критерии оценки потерь качества изображения

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

Введем метрику (^2мера, RMS, Root Mean Square), называемую среднеквадратичным отклонением значений пикселов сжатого изображения от оригинала:

Для описания метрик оценки искажений, вносимых методом сжатия, определим цифровое изображение как дискретное поле f (матрица значений m х n, где i = 0,1,...,n-1; j = 0,1,...,m -1):

f =f ((, y),

/=0 j=0

i=0 j=0

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

Максимальное отклонение (L^ мера) выражается в виде:

а^

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

В настоящее время наиболее предпочтительной мерой оценки искажений является мера отношения уровня сигнала к уровню шума (Peak Signal-to-Noise Ratio, PSNR), которая определяется следующим выражением:

mnM'

di2 ((,g)=l0log10 ^T-m-г 2

I If (y)-У)]

,

i =0 j =0

где f — матрица значений исходного изображения в точках (x(,y^ , g — матрица значений сжатого изображения в точках (x(, y^. С учетом (43) выражение (42) для вычисления среднеквадратичного отклонения RMS окончательно запишется в виде:

1 n-1 m-1 2

dL2

В ряде случаев для оценки искажений используют меру средней пиксельной ошибки (L1 мера, APE, Average Pixel Error):

1 n-1 m-1

d,

Согласно этому критерию изображение будет сильно испорчено при понижении яркости на несколько процентов, но глаз не заметит это изменение, так как разброс ярко-

где М' = 2552 для полутоновых изображений и М' = 3 • 2552для полноцветных.

Эта мера аналогична среднеквадрати-ческому отклонению, но пользоваться ею удобнее из-за логарифмического масштаба шкалы.

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

Результаты фрактального сжатия изображений

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

80 у

№ 5 (35) 2011

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

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

На рисунке 13 показан график зависимости PSNR от коэффициента сжатия для фрактального метода и метода на основе дискретного косинусного преобразования, с помощью которых было закодировано изображение «Лена» размером 256 х 256. На графике наиболее благоприятным участком принято считать правый верхний квадрант, где сочетаются высокий коэффициент сжатия и хорошее качество изображения.

К сожалению, в действительности графи- гаки всех алгоритмов кодирования распола- $ гаются в левом нижнем углу, что отражает ас попытку найти компромисс между коэффи- ^ циентом сжатия изображения и приемлемой степенью ошибки. Фрактальные алгоритмы кодирования управляются уровнем допустимой ошибки, т. е. чем меньше допустимая ошибка, тем лучше качество декодированного изображения. С другой стороны, уменьшение уровня допустимой ошибки приводит к увеличению количества ранговых блоков, а, следовательно, к уменьшению коэффициента сжатия. Таким образом, пользователь заранее определяет уровень качества изображения и вынужден мириться с той степенью сжатия, которая соответствует такому уровню. В методах, основанных на спектральных преобразованиях, к которым относится, в частности, алгоритм JPEG, пользователь управляет коэффициентом сжатия, задавая процент децимации — удалению в соответствии с заданной стратегией сжатия определенной доли спектральных коэффициентов. Применяя метод на основе дискретного косинусного преобразования, пользователь выбирает коэффициент сжатия и вынужден мириться с таким качеством изображения, которое при этом достигается.

Представленная на рис. 13 зависимость PSNR от коэффициента сжатия получена именно для случаев сжатия с потерями, поэтому графики начинаются около отметки 3.

PSNR, дБ

Рис. 13. Зависимость метрики PSNR от коэффициента сжатия

№ 5 (35) 2011

! s

О

il

12

0 s

1

I

I

s

О

Й SI

0

1

s §

i Si ¡2 ! I

!

£ 00 О

S

о

I

SI

о

g

s

s «

0 ?

Si

i! Ц

§

1

<u

S«

1 S <0

il

s «§

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

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

росту коэффициента сжатия, что свидетельствует о высокой устойчивости фрактального алгоритма.

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

На рисунке 14 показан график зависимости времени кодирования от коэффициента сжатия для фрактального алгоритма и метода на основе дискретного косинусного преобразования, с помощью которых было закодировано изображение «Лена» размером 256 х 256. Для изображений большего размера время кодирования фрактальным алгоритмом растет экспоненциально. Вертикальная шкала времени (указаны значения в секундах) для удобства представлена в логарифмическом масштабе.

Из рисунка 14 видно, что время кодирования фрактальным алгоритмом на два порядка превышает время кодирования алгоритмом JPEG, что служит препятствием широкому внедрению фрактальных алгоритмов.

Как показано в [11], стандартный метод фрактального кодирования характеризуется NP-сложностью. С другой стороны, в настоящее время большое время сжатия считается вполне приемлемым, так как изобра-

Время, с

100

Фрактальное кодирование

Алгоритм JPEG

3 5 10 20 30 50 60 70 100 Коэффициентсжатия Рис. 14. Зависимость времени кодирования от коэффициента сжатия

82

№ 5 (35) 2011

APE = 52,33 PSNR = 11,74 MSE = 4352,97 г

APE = 29,25 PSNR = 16,27 MSE = 1533,53

д

APE = 17,78 PSNR = 19,71 MSE = 694,44 е

APE = 8,96 PSNR = 24,30 MSE = 241,78 к

APE = 7,36 PSNR = 25,32 MSE = 190,80 л

APE = 7,14 PSNR = 25,47 MSE = 184,62 м

Рис. 15. Фрактальное декодирование изображения с указанием ошибки

жение подвергается сжатию, как правило, только один раз, а распаковывается многократно, при каждом его просмотре. Кроме того, для изображений относительно небольшого размера время фрактального кодирования составляет от нескольких секунд до нескольких десятков секунд, при этом коэффициент сжатия существенно выше, чем у алгоритма JPEG, поэтому фрактальный алгоритм вполне может найти применение в приложениях, использующих большое количество изображений малого и очень малого размера, например в веб-приложениях. Подобного рода приложения, особенно ориентированные на передачу изображений по каналам связи [4], нуждаются в эф-

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

Для уменьшения времени при фрактальном сжатии можно использовать фрактальные методы кодирования в сочетании с методами на основе вейвлет-анализа [2, 4, 6], которые позволяют существенно ускорить процесс кодирования и улучшить характеристики сжатого изображения.

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

На рисунках 15 а - в, ж - и показаны результаты декодирования изображения «Обезьяна», полученные с помощью фрактального алгоритма кодирования. Начальным изображением, которое является начальным приближением к аттрактору, может быть любое изображение. В данном случае использовалось серое изображение, заполненное средними значениями яркости. На рисунках показаны шесть итераций декодирования, где результатом каждой итерации является изображение более высокого качества, что подтверждается тремя показателями ошибки, вносимой алгоритмом. Оценки, получаемые с помощью представленных показателей, хорошо согласуются с результатами визуальной экспертизы. С каждым изображением, декодированным на каждой итерации, сопоставлено изображение, являющееся разностью двух изображений (рис. 15, г-е, к - м). Эти изображения показывают пиксельную ошибку, т. е. степень искажения, вносимо-

«

0

1

со эё

83

№ 5 (35) 2011

CQ О

85

О %

t 55

I

CQ О

fi

О

<ъ &

Ч

CQ

О %

и %

%

ц

=1 CQ

го в исходное изображение алгоритмом кодирования.

На рисунке 16 а показан результат сжатия изображения «Лена» размером 256 х 256 фрактальным методом кодирования, а на рисунке 16 б — результат сжатия методом на основе дискретного косинусного преобразования. На рисунках 16 в и г, соответственно, показаны искажения, вносимые алгоритмами кодирования в исходные изображения.

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

Заключение

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

Список литературы

1. Ватолин Д. Методы сжатия данных. Устройство

архиваторов, сжатие изображений и видео. М:

Диалог-МИФИ, 2002.

6.

9.

10.

11

PSNR = 28,04 в

PSNR = 33,49 г

Рис. 16. Сравнение результатов работы алгоритмов сжатия

Земцов А. Н. О выборе оптимального вейвлет-базиса в задаче компрессии триангуляционных моделей рельефа поверхности // Известия ВолгГТУ. 2006. № 4.

Земцов А. Н., Палашевский, А. В. Прогрессивная передача аудиосигналов в компьютерных сетях // Известия ВолгГТУ. 2006. № 4. Земцов А. Н., Рахман С. Мд. Защита авторских прав с помощью дискретного вейвлет-преоб-разования // Известия ВолгГТУ. 2009. Т. 6. № 6.

Миано Дж. Форматы и алгоритмы сжатия изображений в действии. М.: Триумф, 2003. Уэлстид С. Фракталы и вейвлеты для сжатия изображений в действии. М.: Триумф, 2003. Ahmed N., Natarajan T., Rao K. Discrete Cosine Transform // IEEE Trans. Computers. 1974. Barnsley M. Fractals Everywhere. London: Academic Press Inc., 1988.

Fisher Y. Fractal Image Compression. New York: Springer Verlag, 1994.

Hutchison J. Fractals and self-similarity // Indiana University of Math Journal. 1981. № 30. Ruhl M., Hartenstein H. Optimal Fractal Coding is NP-hard // Proc. DCC'97 Data Compression Conference. 1997.

84

б

а