Повышение эффективности сжатия изображений на основе вейвлет-преобразования

ПОВЫШЕНИЕ ЭФФЕКТИВНОСТИ СЖАТИЯ ИЗОБРАЖЕНИИ НА ОСНОВЕ ВЕЙВЛЕТ-ПРЕОБРАЗОВАНИЯ

М.В. Гришин

Цифровые изображения завоевывают все большую часть информационного мира из-за развития Интернета и прогресса в технологиях производства цифровых камер и сканеров. Для уменьшения объема графических данных используют множество алгоритмов сжатия, к которым предъявляется много жестких требований как по объему сжатого файла, качеству восстановленного изображения, так и по ресурсоемкости самого алгоритма. К тому же из-за широкого развития сетевых технологий важно, чтобы методы сжатия позволяли постепенно «прорисовывать» изображение в процессе закачки из сети.

В рамках проведенной работы был разработан разрядно-срезовый метод кодирования вейвлет-коэффициентов, который наиболее полно удовлетворяет описанным требованиям.

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

При выполнении двумерного вейвлет-анализа вначале выполняется разложение по строкам, а затем по столбцам изображения. Результатом разложения являются 4 матрицы НН1, НЬ1, ЬН1, ЬЬ1. Далее низкочастотная матрица ЬЬ1 также подвергается вейвлет-разложению. Его результатом являются матрицы НН2, НЬ2, ЬН2, ЬЬ2 (рис.1).

Рис.1. Двухуровневое пирамидальное вейвлет-преобразование изображения

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

Ткг - порог для определения незначимых частотных коэффициентов, Ь2 - число бит, используемое для кодирования коэффициентов из субполосы ЬЬ2, Ь1 - число бит, используемое для кодирования коэффициентов из субполос (НЬ2, ЬН2, НН2),

Ь0 - число бит, используемое для кодирования коэффициентов из субполос (НЬ1, ЬН1, НН1).

Для каждого коэффициента из низкочастотной составляющей ЬЬ2 и из коэффициентов смежных частотных составляющих динамически формируется вектор Уг. Пусть на начальном этапе вектор Уг состоит из одного элемента: Р/" (рис.2) и длина этого вектора /у=1.

1 2 3 | 4 5 б | 7 | 8 9 10 11 12 13 14 15 16

к

Рис. 2. Схема разрядно-срезового алгоритма

Если данный коэффициент - значимый, т.е. \РхУ2| > Ткг, то его потомки Р^Н2, РН2, Р™2 также значимы, и они помещаются в вектор Уг, таким образом его длина /V становится равной 4. Если бы значение коэффициента 2| оказалось меньше либо равным порогу, то потомки данного коэффициента считались бы незначимыми, и формирование вектора Уг было бы прекращено.

Затем, аналогично коэффициенту Р^2, рассматриваются значения коэффициентов Р^2, Р^2, Р™2. Например, если рН") > ТЬг, то потомки данного коэффициента РгХ\-у, Р^.у, Р^хъу+1, Р^.у+1 являются значимыми и помещаются в вектор Уг . Если нет, то рассматривается следующий коэффициент Р^2 и его потомки, и так далее.

Таким образом, от одного корневого коэффициента Р^2 , при рассмотрении всех

его потомков, с дальнейшим отбрасыванием незначимых коэффициентов, на основе правила «нуль-дерева», динамически формируется вектор Уг, длина которого может варьироваться от 1 до 16.

Коэффициенты в векторе Уг принадлежат одной из 3-х групп (Л,Б,С)(рис.2).В зависимости от группы, к которой принадлежит коэффициент, из него сохраняют Ь2, Ь1 или Ь0 значимых бит. Формирование новых кодов возможно при горизонтальном или вертикальном обходе полученных коэффициентов.

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

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

Второй метод кодирования позволяет реализовать возможность «постепенного проявления» изображения при его восстановлении, что особенно удобно при загрузке больших изображений из сети. Так как при вейвлет-преобразовании изображения образуются низкочастотная составляющая и компоненты детализации, то процесс передачи данных можно организовать следующим образом. Сначала на сторону клиента передается закодированная низкочастотная составляющая LL2, распаковав которую, пользователь получает «грубое» представление исходного изображения. Затем клиент получает сред-нечастотные детализирующие составляющие и улучшает качество восстанавливаемого изображения. Наконец, получив последние высокочастотные закодированные детализирующие составляющие, можно полностью восстановить исходное изображение.

Результаты сжатия изображения «Lena» на основе данного алгоритма приведены в табл. 1.

Метод сжатия До вторичного сжатия После вторичного сжатия

Исходный файл BMP 227k 137kb/109kb

JPEG 25k

Разрядно-срезовый алгоритм с параметрами L2=8;L1=7;L0=5;Thr=2 60 31kb/26kb

Разрядно-срезовый алгоритм с параметрами L2=8;L1=8;L0=5;Thr=3 65 34kb /29kb

Таблица 1. Сравнение алгоритмов по степени сжатия изображения

Сравним вычислительную сложность представленного метода с вычислительной сложностью JPEG сжатия. Вычислительную сложность методов можно сравнить по числу операций сложения, умножения и деления, необходимых для сжатия картинки размером WxH. Основную вычислительную нагрузку в алгоритмах сжатия изображений несет ядро алгоритма сжатия, которым может быть дискретное ортогональное преобразование [3].

Оценим сложность алгоритма сжатия JPEG. Ядром алгоритма сжатия JPEG является дискретно-косинусное преобразование, применяемое к блокам изображения размером 8x8. Априорно допустим, что значения синуса и косинуса уже рассчитаны, и для получения их значений необходимо произвести поиск по специальным внутренним таблицам. Таким образом, сложность преобразования для блока размером 8x8 определяется как

Опреобр = 515Q*+12 8Q/+12 8Q++12 8Qsearch ,

где Q* - количество тактов процессора, необходимых для выполнения операции умножения, Q/ - количество тактов процессора, необходимых для выполнения операции деления, Q+ - количество тактов процессора, необходимых для выполнения операции сложения, Qsearch - количество тактов процессора, необходимых для выполнения операции поиска.

На втором этапе осуществляется квантование матрицы частотных коэффициентов. Сложность данной операции определяется как QKBaHT=64Q/

Таким образом, можно оценить сложность дискретно косинусного преобразования в алгоритме сжатия JPEG следующим образом:

=

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

Qlevel1=[3Q++1Q/]*W*H,

а сложность преобразования второго уровня - как

Qlevel2=1/4*[3Q++1Q/]*W*H.

На этапе квантования осуществляется однородное квантование каждой из субполос, таким образом, сложность данного этапа определяется так: Qквaнт=WH*Q/.

Общую сложность преобразования можно оценить следующим образом:

QWAVELET =Qlevel1 + Qlevel2 + Qквaнт=[15Q++9Q/]*W*H/4»[4Q++3Q/]*W*H.

Для упрощения процедуры сравнения сложности методов сжатия можно воспользоваться гипотетическим процессором, в котором сложности всех операций равны, т.е. Q+=Q*=Q/ . С учетом этого предположения, вычислительную сложность методов сжатия на основе дискретно-косинусного и вейвлет-преобразований можно выразить следующим образом:

QJPEG ; QWAVELET ^^

Зависимость трудоемкости алгоритмов сжатия от размеров изображения представлена на рис. 3.

Рис. 3. Трудоемкость методов сжатия в зависимости от размеров изображения

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

Литература

1. Уэлстид С. Фракталы и вейвлеты для сжатия изображений в действии М.: Триумф, 2003.

2. Дьяконов В.П. От теории к практике Вейвлеты. М.: Солон-Р, 2002.

3. Солонина А., Улахович Д., Яковлев Л. Алгоритмы и процессоры цифровой обработки сигналов. СПб: БХВ-Петербург, 2002.