Как обустроить мансарду?



Как создать искусственный водоем?



Как наладить теплоизоляцию?



Как сделать стяжку пола?



Как выбрать теплый пол?



Зачем нужны фасадные системы?



Что может получиться из балкона?


Главная страница » Энциклопедия строителя

содержание:
[стр.Введение] [стр.1] [стр.2] [стр.3]

страница - 0

Оптимизация алгоритма сжатия изображений JPEG-2000 с помощью подбора длины R-D кривых.

Сокол А.В. (sokol glaz@mail.ru )

НПО «Лептон»

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

В данной статье приводится описание одного такого способа.

Коротко суть алгоритма JPEG-2000 состоит в следующем. К исходному

изображению применяется вейвлет-преобразование с заданным числом уровней.

Дискретное вейвлет-преобразование - это фильтрация строки (или столбца)

исходного изображения двумя вейвлет-фильтрами. Это КИХ-фильтры, один из

которых - низкочастотный фильтр L, а другой - высокочастотный фильтр H.

Поскольку после фильтрации частотный диапазон сокращается в два раза,

профильтрованные данные, согласно теореме Котельникова, можно проредить

вдвое, т.е. убрать, допустим, все четные коэффициенты. Затем из полученных

компонент составляется новая строка, как показано на Рис1.

х

^\ ^2 ^3

li l2 h \ К К h

Рис.1. Вейвлет-преобразование одномерного сигнала.

Для двумерного сигнала существует отдельное двумерное вейвлет-преобразование. Но его достаточно сложно реализовать, и на практике его обычно заменяют одномерным. Такая замена не сильно проигрывает в качестве сжатия, но при этом существенно упрощает фильтрацию. В одномерном случае сначала фильтруют строки, потом столбцы. Изображение при этом распадается на 4 части (рис. 2).


width=271

1 1 1

- LL

1 1 1 LH -

- Н L . 1 1

НИ -1 1 1

Рис. 2. Фильтрация двумерного сигнала - изображения.

Затем к части, которая профильтрована только низкочастотными фильтрами применяют ту же самую процедуру. Такой алгоритм носит название алгоритма Малла (рис.3).

т—I—I—I-1—I—г

J_I_I_I_I__

т—I—I—I—I—I—г

J_I_I_I_I__

т—I-1—I—г

J_I_I_I_I__

Рис.3. Алгоритм Малла. Результат вейвлет-преобразования будет выглядеть таким образом (рис. 4):

width=180

LL2

LH2

LH1

HL2

НН2

HL1

НН1

Рис. 4. Результат вейвлет-преобразования.

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

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


битов (bit plane), в три стадии, которые

Далее применяется последовательное кодирование всех частотных блоков LL2, LH2 и т. д. Кодирование осуществляется арифметическим методом с помощью вероятностной модели, и проводится в следующей последовательности:

1)определяется разрядность коэффициентов блока по формуле

Nmax = Ceil (log2(C max))

где Cmax это максимальный по модулю коэффициент.

2)у всех коэффициентов кодируются биты на месте Nmax , затем

Nmax " 1 и т.д.

Такой способ называется кодированием этажей алгоритме JPEG-2000 каждый этаж битов кодируется в называются significance pass, refinement pass, cleanup pass. Вероятностная модель для арифметического кодирования строится на том факте, что большие и малые коэффициенты блока не перемешаны равномерно, а концентрируются в отдельных областях, и это позволяет судить о значении кодируемого бита, рассматривая величину ближайших вейвлет-коэффициентов.

Отличительной чертой JPEG-2000 является наличие так называемого метода оптимизации длины кода блоков (optimized truncation). Как уже было сказано, биты последовательно кодируются от значения Nmax вплоть до младшего бита (LSB, least

significant bit), причем закодированные данные сразу не посылаются в выходной поток, а запоминаются в памяти. После того, как закодированы все блоки, в памяти остается набор закодированных данных (для двухуровнего вейвлет-преобразования этот набор состоит из 7 элементов). Задача метода - оптимизировать длину элементов таким образом, чтобы обеспечить требуемую степень сжатия и одновременно так подобрать соотношение длин элементов, чтобы среднеквадратическая ошибка сжатия была наименьшей.

5

4

3

2

1

LL2 □

□ □

LH2

11=1

HL2

НН2

LH1

HL1

этажи битов

закодированные данные, которые остались после оптимизации

НН1 □ пз\пз пз

width=94

significance cleanup refinement

Рис. 5. Оптимизация длин закодированных данных.




содержание:
[стр.Введение] [стр.1] [стр.2] [стр.3]

© ЗАО "ЛэндМэн"