Вычислительные технологии
Том 12, № 4, 2007
ИЕРАРХИЧЕСКИЙ АЛГОРИТМ КОДИРОВАНИЯ ДЛЯ НЕРАЗДЕЛИМЫХ РЕШЕТОК И БАНКОВ ФИЛЬТРОВ*
М. К. ЧОБАНУ Московский энергетический институт, Россия e-mail: [email protected]
Synthesis and implementation of a hierarchical coding system for multidimensional signals was developed, based on the proposed multidimensional nonseparable lattices and filter banks.
Введение
В работе исследованы и реализованы методы сжатия изображений с помощью разделимого и неразделимого многомерного вейвлет-преобразования. Кодирующая часть основана на переработанном и оптимизированном варианте метода пространственно ориентированных иерархических деревьев (set partitioning in hierarchical trees — SPIHT) [1].
Кодирование изображений служит для уменьшения объема данных, представляющих изображение, для эффективного использования средств хранения и трафика при передаче по сети. Преследуемая цель — представление изображения минимальным числом бит при заданном уровне искажений. При этом должен быть сохранен максимум визуальной информации.
Одной из важнейших областей применения многомерных (ММ) многоскоростных систем являются системы преобразования ММ-сигналов с целью их сжатия. Многоскоростные системы состоят из многомерных цифровых фильтров и устройств изменения пространственно-временной частоты отсчетов ММ-сигналов — дециматоров и интерполяторов [2]. Синтез эффективных банков фильтров (БФ) позволяет наиболее полно реализовать два основных принципа, используемых при сжатии.
1. Снижение избыточности. В реальных изображениях всегда существует статистическая зависимость между соседними пикселями. Цель преобразования сигнала БФ — перераспределение его энергии.
2. Субъективное восприятие. Зрительная система человека не может воспринимать некоторые различия между восстановленным и исходным изображениями. При этом равномерно распределенная ошибка менее заметна глазу, чем контрастные переходы. В связи с этим применение более гладких БФ позволяет вносить большие искажения, малозаметные глазу.
* Работа выполнена при содействии Российского фонда фундаментальных исследований и японского общества JSPS (грант № 06-07-91751-ЯФ_а).
© Институт вычислительных технологий Сибирского отделения Российской академии наук, 2007.
Базовый кодер изображений можно представить в виде трех основных частей — декоррелирующего преобразования, процедуры квантования и энтропийного кодирования. До появления кодеров на базе вейвлет-преобразования в качестве декоррелятора использовалось дискретное косинусное преобразование (ОСТ) [3]. В последнее время самые эффективные из кодеров используют вейвлет-декомпозицию сигнала. Стандартизованный кодер ЛРЕС-2000 работает с вейвлет-преобразованием, а его "сердцем" является алгоритм сжатия ЕВСОО [4, 5]. Существует также много не стандартизованных, но зачастую не менее эффективных алгоритмов. Одним из них является БРШТ. Реализуемый в нем подход уже можно считать классическим. На его базе развиваются новые алгоритмы, и в оценках эффективности любого нового вейвлет-кодера всегда можно найти сравнительные тесты со БРШТ.
В настоящее время принято делить кодеры, работающие с вейвлет-декомпозицией, на два класса: межполосные (т1ег-Ьап^ и внутриполосные (т1га-Ьап^. Алгоритм БРШТ относится к классу межполосных кодеров, т. е. в своей работе он использует избыточность, связанную с корреляцией между уровнями декомпозиции.
Цель сжатия изображений во многих случаях не только компактное хранение данных, но и их последующая передача по каналам связи с максимальной скоростью. При этом в системах, где пропускная способность канала ограничена, а скорость передачи крайне важна, полезным оказывается свойство шкалируемости качества для рассматриваемого семейства алгоритмов. Принцип кодирования и постепенной передачи изображений играет большую роль и позволяет быстро определить по полученным ранее фрагментам с малым разрешением важные для приложения области изображения.
В данной работе впервые реализована система кодирования ММ-сигналов на основе разработанных ранее многомерных неразделимых решеток и банков фильтров и специальных иерархических алгоритмов [6-11].
1. Метод пространственно упорядоченных иерархических деревьев
Одним из важных свойств вейвлет-преобразования является его способность перераспределять энергию сигнала, концентрируя ее в малом числе каналов. Исходный сигнал разбивается на субполосы, и энергия концентрируется в одной субполосе, а именно — в низкочастотной (НЧ). Это уплотнение энергии ведет к эффективному применению скалярных квантователей. Для квантования областей с низкой энергией отводится меньшее количество бит, что обеспечивает сжатие. Однако такой подход не учитывает остаточную структуру, сохраняющуюся в вейвлет-коэффициентах, в особенности высокочастотных (ВЧ) субполос. В ВЧ-субполосах имеются обычно большие области с нулевой или малой энергией. Области с высокой энергией повторяют от субполосы к субполосе свои очертания и местоположение. И это неудивительно, так как они появляются вокруг контуров в исходном изображении там, где вейвлет-преобразование на высоких НЧ-уровнях вейвлет-разложения не может адекватно представить сигнал, что приводит к "утечке" части энергии в ВЧ-субполосы. Медленно изменяющиеся гладкие области исходного изображения хорошо описывают низкочастотные вейвлет-базисы — в результате происходит "упаковка" энергии в малом числе коэффициентов НЧ-области. Этот процесс примерно повторяется на всех уровнях декомпозиции, что рождает визуальную "похожесть" различных субполос. Априорное знание о том, что изображение
состоит из гладких областей, текстур и контуров, помогает учитывать эту межполосную структуру.
Впервые идею использования этого свойства вейвлет-разложения предложили А. Льюис и Г. Ноулес [12]. Их алгоритм базировался на построении пространственных деревьев над полем вейвлет-коэффициентов. Дерево выстраивается из выбранной точки, или корня, который может быть расположен в любой субполосе. Корень дает четыре потомка в том же субдиапазоне на предыдущем уровне декомпозиции. Основной недостаток данного алгоритма — возможность ошибочного порождения нулевого дерева, так как оно генерируется не из реальных данных, а на основе априорных предположений. Если потомки некоторого узла окажутся больше своего родителя, то алгоритм Льюиса и Ноулеса приводит к значительным искажениям.
Дж. Шапиро в 1993 году [13] разработал очень эффективный и с малой вычислительной сложностью алгоритм для сжатия изображения EZW. Данный алгоритм основывался на трех принципах:
1) частичное упорядочивание компонент изображения по модулю с передачей порядка при помощи алгоритма формирования подмножеств. При этом декодер релизует аналогичный алгоритм;
2) передача битовых плоскостей в соответствии с сортировкой;
3) использование подобия компонент изображения после вейвлет-преобразования.
В 1996 году А. Саид и В. Пирлманн [14, 15] разработали улучшенный метод кодирования изображений при помощи пространственно упорядоченных иерархических деревьев. Данные алгоритмы являются кодерами битовых плоскостей.
Алгоритмы, работающие с битовыми плоскостями, обладают свойством саморегулируемости. Это означает, что битрейт может быть изменен (уменьшен) после фактического кодирования простым укорачиванием битового потока. Существует несколько типов саморегулируемости битовых потоков в зависимости от того, что происходит с восстанавливаемым изображением при приеме очередной части битового потока. Если получение большего количества бит приводит к тому, что восстановленное изображение имеет меньшее искажение, то данный битовый поток саморегулирующийся с последовательным улучшением качества. Если получение большего количества бит приводит к получению изображения большего размера за счет дополнительных высокочастотных субдиапазонов, то такой битовый поток саморегулирующийся с последовательным увеличением разрешения.
После вейвлет-преобразования и квантования в целые числа задача энтропийного кодирования — конвертировать поле кодовых значений в битовый поток и обратно. Одним из таких алгоритмов является БРШТ. В данном случае термин энтропийное кодирование применяется к высокоуровневому алгоритму, который отображает кодовые значения в битовый поток.
Алгоритм и в кодере, и в декодере группирует незначащие кодовые значения в три типа множеств: тип А — множество "внуков", тип В — множество "правнуков" и индивидуальное множество (незначащие пиксели). На рис. 1 множество типа А имеет корнем кодовое значение И.4 и содержит в себе кодовые значения, обозначенные С4, 04, 004. Все потомки И.4 за исключением самого И.4 попадают в это множество. Множество типа В с корнем в И.4 содержит кодовые значения, отмеченные 04 и 004. Индивидуальные множества содержат единственное кодовое значение, например, И.4 — индивидуальное множество.
КЗ
1М С 3
с 4 с 5
С 4 с 5
С 1
О 34
с 1
Рис. 1. Соотношения для множеств типа А и типа В
В случае обнаружения алгоритмом значимости множества типа А с корнем в И, данное множество разбивается на пять новых множеств: множество типа В с корнем в И и четыре индивидуальных множества, содержащих "детей" по одному в каждом. Множество типа В с корнем в И разбивается на четыре множества типа А с корнями в "детях" И. На рис. 1 показано применение правила разбиения. Если множество типа А расположено на втором уровне, его корневое значение имеет "внуков" (тип А), но не имеет "правнуков" (тип В). Когда такое множество становится значащим, оно разбивается на четыре индивидуальных множества. При этом множество типа В не формируется, так как оно будет пустым. Множество типа А с корнем в И2 показывает пример такой ситуации.
Алгоритм БРШТ генерирует вложенный иерархический код. Подобные кодеры позволяют осуществить прогрессивную передачу изображения с последовательным уточнением его на приеме. При этом изображение вначале аппроксимируется небольшим количеством бит, а потом эта аппроксимация уточняется. Вложенный код имеет то свойство, что при И2 код для И2 будет префиксом кода для Такие коды дают возможность:
1) точно регулировать скорость передачи, а при записи в файл его размер может быть задан с точностью до байта;
2) восстанавливать все изображение при прекращении приема декодером бит в любой точке. При этом изображение будет максимально хорошего качества для данного числа бит;
3) быстро просматривать изображения в удаленной базе данных. Для поиска достаточно и грубой копии, а при нахождении нужного изображения оно декодируется полностью.
2.2. Необходимость адаптации алгоритма 8Р1ЫТ
До сих пор алгоритм БРШТ применялся только к вейвлет-разложениям, полученным с применением разделимых банков фильтров. Это требование лежит в основе алгоритма, так как метод построения деревьев (поиск подобия) подразумевает определенное подобие структур и расположение субполос на плоскости.
Как можно заметить на рис. 3, а, подобие высокочастотных субполос при неразделимой фильтрации также имеет место, но процесс построения деревьев с переходом через раз от прямоугольных к ромбическим областям и обратно неоправданно сложен и трудоемок. Такой алгоритм потребовал бы значительно больше памяти для хранения коэффициентов и потерял бы важную для разработчиков систем компрессии простоту. В то же время возможность применения алгоритма БРШТ к таким разложениям интересна как с теоретической, так и с практической точек зрения. Неразделимые фильтры выделяют двумерные пространственные частоты, в то время как разделимые выделяют только горизонтальную и вертикальную составляющие.
2.3. Сдвиг
На нечетных уровнях декомпозиции единственно возможный способ группировки отсчетов после децимации — это ромбическая форма. Такая группировка не искажает сигнал и делает возможным дальнейший анализ. Если, например, сдвинуть ("схлоп-нуть") отсчеты продецимированного сигнала, как показано на рис. 4, то такой сигнал будет искаженным, а его дальнейший анализ неправомерным, так как будут нарушены геометрические соотношения и относительное расположение коэффициентов. Однако такая структура обладает компактностью.
В данной работе предлагается простое и эффективное решение этой проблемы. Если для более удобной обработки и хранения нужно искажать сигнал, то аналогичным образом, исказив импульсную характеристику фильтра, можно сохранить все геометрические соотношения. Таким образом, сдвиг отсчетов имеет место только визуально, а с точки зрения фильтрации взаимное расположение отсчетов сигнала и неразделимого фильтра не меняется.
Рис. 2. Решетки децимации: а — разделимая решетка децимации; б — неразделимая (шахматная) решетка децимации; в — неразделимая децимация для случая трехканальных БФ
На рис. 2, а показана одна фаза разделимой, а на рис. 2, б и в — одна фаза неразделимых решеток децимации. На рис. 3, а представлен пример использования неразделимого
банка фильтров для шахматной матрицы децимации М 1 1
1 -1
. Нечетные уровни
декомпозиции имеют ромбическую форму.
Для случая трехканальных неразделимых систем матрица децимации имеет вид 2 —1 1
М = . На рис. 2, в представлена решетка децимации, порождаемая матрицей
1 —2
Рис. 3. Два уровня вейвлет-декомпозиции с применением неразделимых решеток: а — двухка-нальная система; б — трехканальная система
M. На рис. 3, б представлен пример использования трехканального неразделимого банка фильтров. Все уровни декомпозиции имеют различную форму.
На данных примерах неразделимой обработки ММ-сигналов можно заметить, что свойство неразделимости затрудняет практическое применение данного класса решеток и фильтров. Такие структуры сложнее хранить в памяти, визуализировать, существенно затруднен их анализ.
2.2. Необходимость адаптации алгоритма ЯР1ЫТ
До сих пор алгоритм БРШТ применялся только к вейвлет-разложениям, полученным с применением разделимых банков фильтров. Это требование лежит в основе алгоритма, так как метод построения деревьев (поиск подобия) подразумевает определенное подобие структур и расположение субполос на плоскости.
Как можно заметить на рис. 3, а, подобие высокочастотных субполос при неразделимой фильтрации также имеет место, но процесс построения деревьев с переходом через раз от прямоугольных к ромбическим областям и обратно неоправданно сложен и трудоемок. Такой алгоритм потребовал бы значительно больше памяти для хранения коэффициентов и потерял бы важную для разработчиков систем компрессии простоту. В то же время возможность применения алгоритма БРШТ к таким разложениям интересна как с теоретической, так и с практической точек зрения. Неразделимые фильтры выделяют двумерные пространственные частоты, в то время как разделимые выделяют только горизонтальную и вертикальную составляющие.
2.3. Сдвиг
На нечетных уровнях декомпозиции единственно возможный способ группировки отсчетов после децимации — это ромбическая форма. Такая группировка не искажает сигнал и делает возможным дальнейший анализ. Если, например, сдвинуть ("схлоп-нуть") отсчеты продецимированного сигнала, как показано на рис. 4, то такой сигнал будет искаженным, а его дальнейший анализ неправомерным, так как будут нарушены геометрические соотношения и относительное расположение коэффициентов. Однако такая структура обладает компактностью.
В данной работе предлагается простое и эффективное решение этой проблемы. Если для более удобной обработки и хранения нужно искажать сигнал, то аналогичным
Рис. 4. Вариант компоновки отсчетов
образом, исказив импульсную характеристику фильтра, можно сохранить все геометрические соотношения. Таким образом, сдвиг отсчетов имеет место только визуально, а с точки зрения фильтрации взаимное расположение отсчетов сигнала и неразделимого фильтра не меняется.
2.4. Синтез "схлопнутых" фильтров
Для вычисления новых "схлопнутых" фильтров нужно применить так называемые замечательные тождества [2]. На практике они получили широкое распространение, позволяя осуществлять эквивалентные преобразования, упрощающие структуру ММ-систем. Многоскоростная система обычно состоит из каскадных соединений фильтров с децима-торами и фильтров с интерполяторами. На рис. 5, а фильтр Г стоит после дециматора, а на рис. 5, в фильтр Г стоит перед интерполятором. Применение замечательных тождеств позволяет строить другие типы каскадных соединений. Каскады на рис. 5, а и б можно представить каскадами, которые изображены на рис. 5, в и г соответственно. Такие соединения особенно удобны при использовании полифазного представления фильтров [2, 19, 20]. На рис. 5, д и е показаны два других эквивалентных преобразования.
В двухканальных системах операцию фильтрации продецимированного сигнала X(г) = Х0(гМ) + гк1 Хх(гМ) фильтром Н0(г), учитывая замечательные тождества, можно заменить на другую последовательность выполнения операций: сначала отбирается (в результате децимации) нулевая фаза сигнала Х0(гМ), затем она без изменения формы фильтруется через проинтерполированный фильтр Н0(тМ) и происходит "схлопыва-ние" (в пространственной области) полученного отфильтрованного сигнала вдоль одной из координат.
Рис. 5. Тождественные преобразования каскадных соединений
Дважды используя полифазное представление для продецимированного сигнала и для интерполированного фильтра, получим
Xo(zM) = Xoo(zM2) + z1z2Xo1 (zM2), Ho(zM) = Hoo(zM) + z1z2Ho1 (zM2).
Пусть матрица децимации является допустимой [8] и тогда M2 = /I (число каналов максимально децимированной системы равно |/|). Поэтому для шахматной матрицы децимации
Xo(zM) = Xoo(z2,z2) + Z1Z2 Xo1(z2,z2),Ho(zM) = Hoo(z2,z2) + Z1 Z2Ho1(z2,z2).
Тогда процесс "схлопывания" вдоль одной из координат (скажем, вдоль z1) описывается следующим образом:
1) сначала вторая фаза сдвигается так, чтобы она попала на четную строку, т. е. вместо Ho(zM) = Hoo(z^zl) + z1z2Ho1 (z^zl) нужно будет подставить в Honew(z^zl) = Hoo(z 2, z|) + z2Ho 1 (z2, z2) (или Honew(z2, z|) = Hoo^2, zf) + zJ^Ho 1 (z^ zf));
2) затем проводится децимация на два (что и является "схлопыванием", но теперь оно выполняется только для имеющихся вновь образованных ЧЕТНЫХ строк вдоль z 1), в результате чего получим HLasi(zbz2) = Hoo(zbz|) + z2Ho1(zbz2) (или HLasi(zbz|) = Hoo(z1,z2) + z1 z2Ho1(z1,z2)).
Теорема 1. Результат фильтрации двух интерполированных сигналов Xo(zM) и Ho(zM) совпадает поточечно с результатом фильтрации их "схлопнутых" версий, если фильтрация осуществляется следующим образом:
двухканальный случай. Для матрицы децимации M
1 1 1 -1
верно следую-
щее:
1) для отсчетов, стоящих на ЧЕТНЫХ строках (по г1), сигнал фильтруется с помощью фильтра Ячет^ъ2!) = Яоо+ 22Я01
2) для отсчетов, стоящих на НЕЧЕТНЫХ строках (по 21), сигнал фильтруется с помощью фильтра ЯНЕЧЕТ(г1,г2) = Я00(г1,г2) + Я01(г1,г2);
2 — 1
трехканальный случай. Для матрицы децимации М
1 -2
верно следу-
ющее:
1) для отсчетов, стоящих на строках, номер которых (по ) делится на три, сигнал фильтруется с помощью фильтра Н0(г1,г2) = Н00(г1,г2>)+22Н01(г1,г2$)+г2Н02(г1,г2>);
2) для отсчетов, стоящих на строках, номер которых (по 21) дает в остатке один при делении на три, сигнал фильтруется с помощью фильтра Н1(г1, 22) = Н00(г1, ^2) +
22Н01 (21, 22 ) + 2122Н02(21,22);
3) для отсчетов, стоящих на строках, номер которых (по 21) дает в остатке два при делении на три, сигнал фильтруется с помощью фильтра Н2(г1, 22) = Н00(21, ^2) + 2122Я01 (21,
Действительно, если рассмотреть двухканальный случай, то свертка проинтерполи-рованных сигналов будет равна
У Ю = Хо^Яо^) = Х00 (zM2 )Яоо(zM2 ) + 22 22X01 (zм2 )Яоl(zM2 ) +
+2122(Х01^м2 )Яоо(zм2) + Хоо^м2 )Яоl(zм2)). После двух ступеней преобразования, описанного выше, получим
Y'(zbz2) = Xoo(z1,z|)Hoo(z1 ,z2) + z1z2Xo1(zbz2)Ho1(zbz2) + +z2 (Xo1 (z1, z2)Hoo (z1, z|) + Xoo (z1, z2)Ho1 (z1, z2)).
Таким образом возможно проводить фильтрацию "схлопнутыми" версиями как сигнала, так и проинтерполированного фильтра. Если для продецимированного сигнала достаточно его просто "схлопнуть", то для фильтра ситуация несколько иная. ЧЕТНЫЕ строки будут обрабатываться фильтром Нчет^ъ^2) = #00^2^01(^1,^!), а НЕЧЕТНЫЕ строки фильтром ННЕЧЕТ(г1,^2) = Н00(г1,^2)+ г1г2Н01(г1, ¿1).
Полученный отклик (1) не является откликом линейной инвариантной к сдвигу (ЛИС) системы, поэтому его нельзя представить в виде свертки двух сигналов. Однако возможно вычисление двух его частей — четной и нечетной фаз.
Действительно, если необходимо рассчитать отсчеты сигнала, находящиеся на ЧЕТНЫХ строках (в исходном варианте интерполированных версий сигналов Х0(2М) и #0(2М)), то результатом должна быть нулевая фаза их свертки, а именно Х00^М ) #00^М ) + ¿2<г2Х01^М )#01^М ). Легко убедиться, что после "схлопыва-ния" этот результат совпадает с результатом свертки "схлопнутого" сигнала и фильтра НЧЕТ(г1,^2) = Н00(г1,^2) + ¿2Н01(г1, ¿2), так как он равен нулевой фазе (Х00(г1,^2) + ¿2X01(21, ¿2))(#чет), а именно Х00(гъ*|) #00(^1, 4) + ¿14X01 (¿1, ^Нл^ъ
Если необходимо рассчитать отсчеты сигнала, находящиеся на НЕЧЕТНЫХ строках (в исходном варианте интерполированных версий сигналов Х0(2М) и #0(2М)), то результатом должна быть первая фаза их свертки, а именно ¿1 ¿2(Х00(2М )#01(2М ) + Х01 )#00(2М )). Легко убедиться, что после "схлопывания" этот результат совпадает с результатом свертки "схлопнутого" сигнала и фильтра #нечет(^1, ¿2) = #00(^1, ¿2) + ¿122#01(21, ¿2), так как он равен первой фазе (Х00(г1 ,¿1) + ¿2Х01(г1, ¿2))(#НЕЧЕТ), а именно ¿2(Х00(2ъ2|)#01 (¿1, ¿2) + Х01 (¿1, ¿2)#00(¿1,^!)).
Аналогично, только значительно более громоздко, доказываются утверждения теоремы для числа каналов, большего двух. □
и в
а 0
ЕГ □
а в □В
п п
_ _ _
'1 1 d Г В £ Ц
Ч 5 6 1 1 г Г *
иш кя _И С ■
1 — — — — — — — — СДВИГ
ГТ III П
в
т ч ЕЭ
г г г 1Ш
— я п гя | — ш
В] ■ 1 1 о И
— | р _
1 П 0 _ — — — — — — —
— — — — — — — —
Рис. 6. Сдвиг сигнала на нечетных уровнях и сдвиг фильтра для дальнейшей декомпозиции искаженного сигнала
Пример 1. Двухканальная неразделимая система. Допустим, что используется шахматная децимация и Я(21,22) = а + б21 + С22 + ^2122. Тогда для шахматной матрицы децимации проинтерполированный фильтр будет равен Я(21,22) = а + Ь2122 + С21 /22 + ¿22. Соответственно для обработки ЧЕТНЫХ строк необходимо применять фильтр ЯЧЕТ(21,2|) = а + ¿21 + 622 + с/22, а для обработки НЕЧЕТНЫХ строк — ЯнеЧЕт(21,2|) = а + ¿21 + 62122 + С21/22.
На рис. 6 показан сдвиг отсчетов фильтра. Перед вейвлет-декомпозицией из исходных фильтров дополнительно формируются два фильтра для нечетных и четных строк. При такой организации сигнал визуально искажается только на нечетных уровнях декомпозиции, там, где необходимо ромбическое представление. На четных же уровнях сигнал сохраняет форму и обрабатывается стандартными фильтрами в силу равенства М2 = 2 = 21, приводящего к разделимой децимации на четных уровнях.
Пример 2. Трехканальная неразделимая система. Для практического применения данного класса БФ нужно преобразовать внешний вид субполос к виду, приемлемому для обработки алгоритмом БРШТ. Для этого субполосы, получаемые в результате трехканальной фильтрации, преобразуются в прямоугольники или квадраты, а располагают их в виде древовидной мозаики для последующего обхода этого разложения алгоритмом БРШТ. При такой компоновке субполос происходит "схлопывание" исходного сигнала и при выполнении фильтрации необходимо учесть результат теоремы 1. Подобно тому, как это было сделано в случае шахматной децимации, если для более удобной обработки и хранения нужно искажать сигнал, то аналогичным образом, исказив импульсную характеристику фильтра, можно правильно вычислить результат фильтрации в целом. Таким образом, сдвиг отсчетов будет иметь место только визуально, а с точки зрения фильтрации все вычисляется корректно.
После проведения всех этих преобразований требуется скомпоновать все полученные субполосы разложения в виде, приемлемом для алгоритма БРШТ. Один из вариантов такой компоновки представлен на рис. 7.
Рис. 7. Пример вейвлет-декомпозиции с использованием неразделимых фильтров, выполненный по предложенной методике (показана инверсия сигнала): а — двухканальная неразделимая система; б — трехканальная неразделимая система
2.5. Результаты кодирования
В ходе работы описанный принцип фильтрации был реализован в среде МАТЬАБ® и на языке С. Фильтр преобразуется в специальной процедуре, т.е. разработчик фильтров избавлен от перегруппировки коэффициентов. На полученном разложении алгоритм БРШТ строит свою работу аналогично разделимому варианту, используя подобие высокочастотных субполос. Такой подход не только позволил применять БРШТ, но и дал еще целый ряд преимуществ: сделал более доступным ненулевое расширение сигнала при фильтрации (например, периодическое, реализация которого на ромбических структурах технически сложная задача); позволил существенно снизить объем требуемой памяти; упростил визуализацию и обработку вейвлет-разложения (рис. 7).
В настоящее время такой подход используется для анализа синтезируемых фильтров, проведения ряда тестов и делает доступным применение неразделимых фильтров в системах компрессии.
Полезно сравнить результаты кодирования изображений двумя кодерами: ЛРЕС-2000-кодером ^2к) и разработанным алгоритмом с применением различных фильтров. При проведении тестов в разработанном алгоритме использовались следующие фильтры: 2Ыог3.3 и 2Ыог6.8 — биортогональные разделимые фильтры различной гладкости, имеющиеся в библиотеке МАТЬАБ®, и К5.М3 — синтезированный ортогональный неразделимый фильтр [6].
Проанализировав полученные графики (один из них показан на рис. 8), можно сделать следующие выводы. Работа БРШТ-кодера в значительной мере зависит от используемого банка фильтров. Тесты также говорят о большей приспособленности алгоритма БРШТ к изображениям с малым числом контуров и резких переходов, которые хорошо аппроксимируются вейвлетами. Например, результаты кодирования разработанным алгоритмом (используя фильтр 2Ыог6.8 и синтезированный фильтр К5.М3) изображе-
Рис. 8. Сравнение качества кодирования ЛРЕС-2000-кодером и разработанным алгоритмом (Barbara512B.bmp)
ния Barbara512B.bmp лучше результатов ЛРЕС-2000. Применительно к изображениям с большим числом контуров ЛРЕС-2000 показывает некоторое преимущество.
Следует также отметить, что описываемая версия алгоритма БРШТ не содержит арифметического кодирования, введение которого позволит улучшить результат.
Заключение
Впервые обоснован и реализован алгоритм неразделимого иерархического кодирования ММ-сигналов, что позволяет применять неразделимые ММ-решетки и банки фильтров для преобразования ММ-сигналов с целью их сжатия, архивирования, интерполяции и т. д.
Приведены результаты применения данного алгоритма для сжатия двумерных сигналов.
Список литературы
[1] Чобану М.К., Черников А.В. Современный метод сжатия изображений на базе вейвлет-преобразования и иерархического алгоритма кодирования // Цифровая обработка сигналов. 2005. № 3. С. 40-59.
[2] Vaidyanathan P.P. Multirate Systems and Filter Banks. Englewood Cliffs: Prentice Hall, 1993. 944 p.
[3] Зубарев Ю.Б., Дворкович В.П. Цифровая обработка телевизионных и компьютерных изображений. М.: МЦНТИ, 1997. 212 с.
[4] Taubman D. Embedded block coding in JPEG 2000 // Signal Processing Image Communication. 2002. Vol. 17. P. 49-72.
[5] Taubman D. Embedded block coding with optimized truncation, Tech. Rep. N1020R/IS0/ IECJTCI/SC29/WGI. 1998. Vol. 17.
[6] Tchobanou M. Design of multi-dimensional wavelets and multi-dimensional multirate systems // Труды Междунар. конф. Wavelets and Splines, 2003. СПб., 2005. С. 118-133.
[7] Tchobanou M. Design of multidimensional multirate systems and orthogonal and biorthogonal wavelets // Автоматизация, управление и информационные технологии (ACIT-2005): Труды 2-й Междунар. конф. Новосибирск, 2005. С. 262-267.
[8] Чобану М.К. Многомерные неразделимые матрицы децимации // Информационные средства и технологии (ITS-2005): Труды Междунар. конф. М., 2005.Т. 1. С. 67-70.
[9] Максименко И.Е., Чобану М.К. Синтез двухканальных многомерных вейвлетов и их применение для сжатия изображений // Вестник МЭИ. 2006. № 2. С. 88-96.
[10] Чобану М.К., Батлук А.В. Исследование применения банков фильтров для сжатия изображений // Цифровая обработка сигналов. 2005. № 4. С. 29-40.
[11] Tchobanou M., Chernikoy A., Plakhoy A. Optimization and development of algorithm SPIHT // Современные проблемы оптимизации в инженерных приложениях (IW0PE-2005): 1-я Междунар. научно-техн. школа-семинар. Ярославль, 2005. Т. 1. С. 45-49.
[12] Lewis A., Knowles G. Image compression using the 2-d wavelet transform // IEEE Trans. Image Proc. 1992. Vol. 2. P. 244-250.
[13] Shapiro J.M. Embedded image coding using zerotrees of wavelets coefficients // IEEE Trans. Signal Proc. 1993. Vol. 41. P. 3445-3462.
[14] Said A., Pearlman W.A. A new fast and efficient image codec based on set partitioning in hierarchical trees // IEEE Trans. Circ., Syst. for Video Technol. 1996. Vol. 6. P. 243-250.
[15] Wheeler F.W., Pearlman W.A. Spiht image compression without lists // Proc. IEEE Int. Conf. Acoust., Speech and Signal Proc. 2000. Vol. 4. P. 2047-2050.
[16] Bose N. Multidimensional Systems Theory and Applications. The Netherlands: Kluwer Academic, 2003. 232 p.
[17] KovaCeviC J., Vetterli M. Nonseparable multidimensional perfect reconstruction filter banks and wavelet bases for // IEEE Trans. Inform. Th., special issue on Wavelet Transforms and Multiresolution Signal Analysis. 1992. Vol. 38, N. 2. P. 533-555.
[18] Chen T., Vaidyanathan P.P. Recent developments in multidimensional multirate systems // IEEE Trans. Circ., Syst. for Video Technol. 1993. Vol. 3, N. 2. P. 116-137.
[19] ЧовАНУ М.К. Многомерные многоскоростные системы и многомерные вейвлет-функции. Ч. 1. Теория // Вестник МЭИ. 2003. Т. 2. С. 75-82.
[20] ЧовАНУ М.К. Многомерные многоскоростные системы и многомерные вейвлет-функции. Ч. 2. Синтез // Вестник МЭИ. 2003. Т. 3. С. 69-78.
Поступила в редакцию 24 июля 2006 г., в переработанном виде —10 апреля 2007 г.