ЭФФЕКТИВНОЕ КОДИРОВАНИЕ ДВУМЕРНЫХ ОДНОРОДНЫХ ОБЛАСТЕЙ ПРИ ИЕРАРХИЧЕСКОЙ КОМПРЕССИИ ИЗОБРАЖЕНИЙ
Гашников М.В., Мазанова Е.В. Самарский государственный аэрокосмический университет, Институт систем обработки изображений РАН
Аннотация
В работе предлагается метод повышения эффективности иерархической компрессии изображений за счет исключения из процесса кодирования двумерных областей близкой или плавно меняющейся яркости. Предлагается эффективный алгоритм поиска таких областей и рассматривается модификация общей схемы иерархической компрессии, необходимая для включения такого алгоритма. Производится вычислительный эксперимент для оценки выигрыша от использования разработанного алгоритма по сравнению с базовым методом.
Введение
Методы иерархической компрессии изображений [1-5] обладают рядом существенных преимуществ по сравнению с методами, основанными на других подходах. Прежде всего, это
- возможность контроля погрешности,
- низкая вычислительная сложность,
- иерархический доступ к сжатым данным и т.д, поэтому актуальной является задача повышения эффективности таких методов. Одним из путей решения этой задачи, по мнению авторов, является повышение эффективности кодирования однородных областей изображения.
Иерархическая компрессия основана на интерполяции менее прореженных масштабных уровней изображения более прореженными с последующим кодированием ошибок интерполяции, при котором эти ошибки сначала квантуются, а затем сжимаются статистическим кодером [4-5].
Под однородной областью в данном случае (т.е. в задаче иерархической компрессии) понимается связная двумерная область изображения, для которой погрешности интерполяции после квантования равны нулю. На изображении такая область содержит отсчеты с примерно одинаковой или плавно меняющейся яркостью.
В стандартной схеме иерархической компрессии одномерная последовательность квантованных ошибок интерполяции, поступающая на статистический кодер, формируется в результате построчной развертки изображения, при которой любая двумерная однородная область будет «разрезана» на несколько одномерных. Другими словами, двумерная однородная область попадет в статистический кодер в виде нескольких разрозненных и относительно небольших последовательностей нулей, что ухудшит эффективность ее кодирования по сравнению с потенциально возможной. Очевидно, что обнаружение однородных областей и их исключение из дальнейшей обработки может повысить эффективность сжатия.
В данной работе предлагается алгоритм обнаружения и эффективного кодирования однородных двумерных областей при иерархической компрессии изображений.
Иерархическая компрессия изображений
Иерархическая компрессия основана на специальном представлении изображения.
Пусть X={x(m,n)} - исходное изображение. Представим изображения X в виде объединения иерархических (масштабных) уровней X/:
ь-1
х = их /,
I=0
Хь-1 ={ хь-1 (т,п)} ,
Х/ ={ х/ (т,п)} \ { X/+1 (т,п)}, I е[0..ь - 2], где ь - количество уровней,
а { х/ (т, п)} - массив отсчетов изображения, взятых
с шагом 2 по каждой координате.
При компрессии уровни обрабатываются последовательно, начиная со старшего уровня Xь -1. Старший уровень сжимается только статистическим кодером. Процедура компрессии любого из следующих младших уровней X/, / е [0, Ь - 2] включает следующие этапы (см. также рис. 1):
Рис. 1. Иерархическая компрессия
1) Интерполяция
Производится интерполяция отсчетов
{ х/ (т, п)} уровня X/ на основе отсчетов
{ х^ (т,п) , к > /} уровней { Xк ,к > /}, уже прошедших компрессию и восстановление.
В результате вычисляются интерполирующие значения отсчетов уровня (т, п). В данной работе
интерполяция осуществляется простым усреднением по ближайшим уже обработанным отсчетам более старшего уровня [4].
2) Вычисление постинтерполяционных остатков
Вычисляется разностный сигнал (массив «постинтерполяционных остатков»), т.е. массив разностей истинных и интерполирующих значений: / (т, п ) = XI (т, п ) - XI (т, п ) .
3) Квантование постинтерполяционных остатков
Выполняется квантование постинтерполяционных остатков. В данной работе используется квантователь [4] с контролем максимальной погрешности ешах
| /1 (т п)| + ета;
qi (m, n) = sign (fi (m, n))
2p +1
где [..] обозначает выделение целой части.
Этот квантователь гарантирует, что декомпрессированное изображение будет отличаться от исходного не более, чем на етах
max x (m, n) - x (m, n ) (m,n) '
<e m
4) Вычисление восстановленных значений отсчетов По квантованным значениям постинтерполяционных остатков вычисляются восстановленные значения xi (m,n) отсчетов уровня. Очевидно, что для
этого необходимо сначала вычислить восстановленные значения постинтерполяционных остатков:
fl (m, n) = qi (m, n) (2e
max
а затем осуществить собственно восстановление: xi (m, n) = fi (m, n) + Xi (m, n). Эти восстановленные отсчеты будут нужны для интерполяции более младших иерархических уровней {X^ , k < i}.
5) Статистическое кодирование Осуществляется статистическое кодирование квантованных постинтерполяционных остатков. Поскольку распределение их вероятностей, как правило, является существенно неравномерным, в результате кодирования можно достичь значительного сокращения объема данных. На этом описание процедуры компрессии иерархического уровня закончено.
Таким образом, для каждого уровня формируется своя последовательность квантованных значений, которая отдельно сжимается статистическим кодером.
Кодирование однородных областей Рассмотрим матрицу {q (m,n)} квантованных постинтерполяционных остатков. Каждому квантованному значению q (m, n) принадлежащему иерархическому уровню с номером i поставим в соответствие следующую область матрицы квантованных значений (см. также рис. 2)
= {?(,1) : т < I < т + 21 -1, п < ] < п + 21 -1}
Нетрудно видеть, что эта область включает квантованные значения более младших уровней, расположенные «близко» от «порождающего» отсчета д(т,п).
Алгоритм поиска и эффективного кодирования однородных областей заключается в следующем. Матрица {д(т,п)} квантованных значений обрабатывается по иерархическим уровням, начиная со старшего (наиболее прореженного). Если на уровне с номером I некоторый отсчет д(т,п) равен нулю, и соответствующая
ему область также содержит только нулевые отсчеты, то это значит, что однородная область обнаружена. При этом в последовательности квантованных отсчетов уровня I нулевое значение, соответствующее отсчету д(т,п), заменяется на специальный символ «иерархический ноль». Нулевые значения всех остальных отсчетов обнаруженной области исключаются из соответствующих квантованных последовательностей. При этом длина всех этих последовательностей уменьшается, и они лучше сжимаются статистическим кодером.
+ +
O
+ +
Рис. 2. Область матрицы квантованных значений: "O " - порождающий отсчет, "+" - отсчеты более старшего уровня
Нетрудно видеть, что нулевые области большого размера будут обнаружены уже при обработке самых прореженных иерархических уровней, а относительно маленькие области будут найдены позже, при обработке менее прореженных уровней. Модифицированная схема иерархической компрессии, включающая этапы поиска однородных областей и модификации кодируемых данных, приведена на рис. 3.
Вычислительный эксперимент Для исследования эффективности разработанного алгоритма кодирования однородных областей был проведен ряд вычислительных экспериментов. При этом определялось, насколько повысилась эффективность иерархической компрессии при использовании алгоритма кодирования областей по сравнению с «базовым» вариантом, в котором поиск однородных областей не производился.
Рис. 3. Иерархическая компрессия с эффективным кодированием однородных областей
В качестве меры повышения эффективности использовалось относительное уменьшение размера сжатого изображения (в процентах), которое произошло благодаря использованию разработанного алгоритма:
os tan dart _ Snew
Д = --_--100%,
—s tan dart
где -standart, -new - размеры сжатых изображений для «базового» и «усовершенствованного» вариантов иерархической компрессии, соответственно. Типичные результаты в виде зависимостей величины Д от задаваемой максимальной погрешности emax, полученные для изображений, показанных на рис. 4, 5, приведены на рис. 6.
Рис. 4. Тестовое изображение "Lena"
Рис. 5. Тестовое изображений "Madonna "
Д,%
Рис. 6. Зависимость выигрыша модифицированного алгоритма сжатия у базового от максимальной погрешности
Как видно из рисунков, разработанный алгоритм действительно повышает эффективность иерархической компрессии на всем рассматриваемом диапазоне максимальных погрешностей. При этом выигрыш увеличивается с увеличением максимальной погрешности, т. к. при этом растет и количество нулевых значений в кодируемом сигнале.
Заключение
Разработан алгоритм эффективного кодирования двумерных однородных областей для иерархической компрессии изображений. Рассмотрена модификация схемы иерархической компрессии, необходимой для встраивания такого алгоритма. Произведено экспериментальное исследование модифицированного метода иерархической компрессии, и показано его преимущество над базовым методом.
Благодарности
Работа выполнена при поддержке российско-американской программы «Фундаментальные исследования и высшее образование» (ВИНЕ); Рос-
сийского фонда фундаментальных исследований
(РФФИ), грант 04-01-96507, гранта Президента РФ
№1007.2003.01.
Литература
1. Александров В.В., Горский Н.Д. Рекурсивный подход // Представление и обработка изображений: Л.: Наука, 1985. - 192 с.
2. Kortman C. M. Redundancy Reduction - A Practical Method of Data Compression // Proc. IEEE, 55, 1967. No. 3. Р. 253-263.
3. Васин Ю. Г., Бакарева В. П. Рекуррентные алгоритмы адаптивного сжатия с использованием хорошо приспособленных локальных восстанавливающих функций // Математическое обеспечение САПР. Горький: ГГУ, 1978. Вып. I
4. Гашников М. В., Глумов Н. И., Сергеев В. В. Информационная технология компрессии изображений в системах оперативного дистанционного зондирования // Известия Самарского научного центра РАН, 1999. № 1. С. 99-107.
5. Гашников М. В., Глумов Н. И., Сергеев В. В. Иерархическая компрессия изображений в системах реального времени // Искусственный интеллект, 2003. №3. С. 218-222.