Информационные технологии Вестник Нижегородского университета им. Н.И. Лобачевского, 2012, № 6 (1), с. 159-163
УДК 004.932
ОПТИМИЗАЦИЯ АЛГОРИТМА СЖАТИЯ JPEG2000 ДЛЯ ЗАДАЧИ ОБРАБОТКИ ТЕКСТА
© 2012 г. А.А. Полетаев, О.Н. Корелин, Э.С. Соколова
Нижегородский государственный технический университет им. Р.Е. Алексеева
Поступик9 в оед9кцию 05.06.2012
На основании данных экспериментов предложен подход к решению задачи оптимальной минимизации длины кода алгоритмом энтропийного кодирования по критерию качества. Проведен анализ показателей значимости точек усечения данных с помощью предложенной функции значимости. На основании анализа данных экспериментов получена функция зависимости процентного соотношения размера групп вейвлет-коэффициентов в файле по отношению к заданной степени сжатия. Данная функция позволяет найти решение рассмотренной задачи оптимальной минимизации длины кода.
Ключевые сков9: арифметическое кодирование, битовые плоскости, подбор длины R-D кривых, вейвлет-коэффициенты, JPEG2000.
Введение
На практике к системам, выполняющим задачу централизованной цифровой обработки текстовых документов, предъявляются жесткие требования в плане себестоимости, производительности и простоты реализации. В этой связи сложные и трудоемкие функции обработки цифровой копии документа возлагаются на серверную часть. На распределенные устройства сбора данных возложены функции сканирования документов и предоставления интерфейса взаимодействия с системой хранения документов. Этот подход оптимален в плане себестоимости, обладает явным преимуществом в простоте обслуживания и обновления программного обеспечения - любые изменения происходят централизованно, они локализованы на серверной стороне.
Недостатком такой реализации является увеличение загрузки канала связи и повышение требований к объему памяти промежуточного хранилища документов. Применение классических алгоритмов сжатия изображений документов решает эту задачу, но негативно сказывается на быстродействии за счет трудоемкости используемых методов. При необходимости высокого качества сжатия и критичности времени обработки данных требуется оптимизация ал-
горитмов для повышения временных характеристик преобразований. В работе предлагается алгоритм оптимизации алгоритма сжатия изображений JPEG2000 применительно к задачам обработки текстов.
Структура алгоритма сжатия изображений JPEG2000
В общем виде процесс кодирования алгоритма состоит из четырех последовательных этапов [1], представленных на рис. 1.
На первых трех этапах алгоритма производится минимизация энтропии и структурирование данных - данные подготавливаются к кодированию. На этапе вейвлет-преобразования итеративно производится горизонтальная и вертикальная фильтрация изображения комбинациями высокочастотного и низкочастотного вейвлет-фильтров. На каждом шаге вейвлет-преобразования получают четыре группы вейвлет-коэффициентов (LL, LH, HL, НН), которые представляют данные изображения в частотновременной области.
Последний этап уменьшает объем информации путем сжатия и кодирования вейвлет-коэффициентов. Исследование особенностей вейвлет-коэффициентов для класса текстовых изображений позволило разработать эффектив-
Рис. 1. Схема процесса кодирования JPEG2000
ный подход к увеличению быстродействия алгоритма иерархического кодирования блоков ЕВСОТ.
Минимизация длины кода алгоритмом энтропийного кодирования по критерию качества изображения
Алгоритм ЕВСОТ работает в два этапа: сначала группы вейвлет-коэффициентов, полученные в ходе вейвлет-преобразования, поразрядно кодируются в битовые плоскости, а затем выполняется алгоритм отсечения плоскостей, биты информации которых вносят минимальный вклад в качество изображения (незначимые данные). Плоскости могут быть отброшены в процессе кодирования на основании оценки их вклада в качество изображения по отношению к величине роста размера файла при их использовании. Более того, в концепции ЕВСОТ каждая битовая плоскость кодируется в три блока данных. Это позволяет уменьшить энтропию и провести отсечение данных более гранулярно.
Процесс кодирования любой из групп вейвлет-коэффициентов может быть остановлен в определенной точке, которая называется точкой усечения. В общем плане стоит задача выбора оптимального множества таких точек для достижения наилучшего качества изображения. Точка характеризуется двумя параметрами: размером вносимых данных и величиной устранения ошибки, причем ошибка рассчитывается по следующей формуле:
1 т—1 и—1
М8Е =— УУI/ (х, у) — К (х, у)|2, (1)
тп7~0
где / (х, у) и К (х, у) - величина яркости участка изображения до усечения и после, т и и -число пикселов на участке изображения по вертикали и горизонтали соответственно, а значения х и у определяют индекс пиксела по горизонтали и вертикали.
Размер блока данных, который потребуется для того, чтобы записать в файл группу вейвлет-коэффициентов с усечением в определенной точке, обозначается как Ь^,где ] = 1,2...-
номер точки усечения, 1 = 1, k - индекс группы вейвлет-коэффициентов, а последовательность ошибок - DJІ ,] = 1,2..., i = 1,к . Общий размер
к
данных может быть записан как Ь = У ЬП , а
1=1
к
общая величина ошибки как D = У О”1 , где п1
1=1
- номер оптимальной точки усечения для группы вейвлет-коэффициентов с индексом 1. Поиск
оптимального набора значений п1 для заданной степени сжатия является задачей оптимизации [2]. Общепринятым является метод множителей Лагранжа поиска величины X, минимизирующей функцию R = Ь + ХО . Недостатком этого метода является необходимость проведения полного цикла кодирования и вычисления значений ошибки, так как он работает только на полном наборе данных.
Более оптимальным является сжатие с использованием Я-О кривых, которые показывают отношение величины уменьшения среднеквадратической ошибки к размеру данных, вносимых точкой усечения. Оригинальное использование Я-О кривых заключается в нахождении минимума функции (2) для совокупности точек решения п1: к к
Я = у п1) + ) ^ тт , (2)
1=1 1=1
где коэффициент 5 > 0 выбирается таким образом, чтобы решение, минимизирующее функцию, позволяло достичь заданного коэффициента сжатия [3].
Так как отношение величин Д(-') / Ь() является прямой характеристикой значимости точки усечения, можно построить эффективный по быстродействию и потреблению ресурсов алгоритм сжатия с использованием Я-О кривых в качестве инструмента анализа и характеристики отдельных точек усечения в контексте всей их совокупности.
На рисунке 2 приведены графики функции f1 (и) = О1(п) /ЦП, определяющие значимость точек усечения для групп вейвлет-коэффициентов LL, LH, HL, НН (номер группы
задается индексом 1 = 1,4 ). По оси ординат отмечены значения функции f1 (и), по оси абсцисс - номера точек усечения. ЬЬ, ЬН, НЬ, НН -группы вейвлет-коэффициентов, полученные при различных сочетаниях вейвлет-фильтров. В зависимости от структуры текстового изображения меняются абсолютные значения значимости точек усечения, при этом графики имеют сходную форму (рис. 2а, 2б). Как видно из рисунка 2, более значимыми при кодировании являются блоки вейвлет-коэффициентов ЬЬ.
Введем функцию «полезности» точки усечения п1, которая имеет следующий вид:
Vй1 =у Г1 О). (3)
]=1
Сумма функций (3) для всех точек решения должна стремиться к максимуму. При этом размер данных должен соответствовать заданной степени сжатия.
а)
б)
Рис. 2. Графики функций значимости точек усечения для двух текстовых изображений, различающихся шрифтом, размером и количеством символов (а - художественный текст, б - текст документа)
В результате моделирования (рисунок 3) получены графики увеличения длины кода, где Ц (п) - размер блока данных, который потребуется для записи в файл группы вейвлет-коэффициентов с индексом і при усечении в точке с номером п. Исследования показали, что формы графиков увеличения длины кода для текстовых изображений также имеют одинаковый вид. При этом определены точки, после которых происходит скачок длины кода. Данные точки аппроксимируются прямой (штриховая линия на графиках), что позволяет получить прогноз роста длины кода в зависимости от номера точки усечения, как показывает экспери-
мент, с достаточно малой ошибкой. При этом наклон прямой для различных изображений варьируется.
В результате совместного анализа графиков, приведенных на рисунках 2 и 3, построена функция зависимости процентного соотношения размера каждой группы вейвлет-коэффициентов в файле по отношению к заданной степени сжатия, вид которой представлен на рисунке 4. На основании построенных графиков (рис. 3, 4) можно с достаточно малой ошибкой определить номер точки усечения для каждой группы вейвлет-коэффициентов в отдельности.
Таким образом, на основании графика, приве-
-х-ш
-НН
-н-ш
-НН
Рис. 3. Графики увеличения длины кода (штриховая прямая аппроксимирует точки скачков длины кода)
Рис. 4. Функция зависимости размера данных каждой группы вейвлет-коэффициентов в сжатом файле по отношению к заданной степени сжатия
денного на рисунке 4, можно сделать вывод, что при степени сжатия, равной 1, когда нет необходимости усекать данные, все вейвлет-коэффициенты будут сохранены. Но, например, при коэффициенте сжатия, равном 2, в файл можно записать только половину от максимального размера данных. В этом случае в него войдет 95% данных от группы вейвлет-коэффициентов ЬЬ, 18% от группы НЬ, 8% от группы ЬН и 0% от группы НН. Отметим, что для наглядности приведенная на рисунке 4 функция построена для одной итерации вейвлет-преобразования. На практике часто реализуется большее число итераций - соответствующие функции строятся аналогично.
Заключение
Предложенный подход позволяет оптимизировать скорость работы алгоритма кодирования при сохранении оптимального качества изображения. Выигрыш в быстродействии варьируется в зависимости от заданной степени сжатия (чем выше степень сжатия, тем меньше, по отноше-
нию к стандартному подходу, будет произведено расчетов для определения размера кодируемого блока данных и для определения ошибок точек усечения), а также от размера изображения по высоте и ширине (чем больше кодируемое изображение, тем больше выигрыш).
Кроме того, в работе представлены характерные особенности текстовых изображений, исследовать которые можно с применением более сложных средств анализа.
Список литературы
1. Pennebaker W.B., Mitchell J.L. The jpeg still image data compression standard. New York: Van Nostrand Reinhold, 1993. 638 c.
2. Taubman D., Ordentlich E., Weinberg M. Embedded block coding in JPEG2000 // ICIP00, page TA02.02. 2002.
3. Battiato S.A., Gallo G., Impoco G., Stanco F. Color reindexing algorithm for lossless compression of digital images // SCCG '01 Proceedings of the 17th Spring conference on Computer graphics. 2001.
4. Impoco G. JPEG2000 - A Short Tutorial. Tech. Report, Visual Computing Lab. 2004.
JPEG2000 OPTIMIZATION FOR TEXT PROCESSING A.A. Poletaev, O.N. Korelin, E.S. Sokolova
On the basis of experimental data, an approach is proposed to solve the problem of code length optimal minimization by the entropy coding algorithm using the quality criterion. An analysis is carried out of significance factors of data truncation points on the basis of the proposed significance function. The percentage ratio dependence of wavelet-coefficient group sizes vs the given compression rate has been obtained. This function makes it possible to solve the problem of code length optimal minimization.
Keywords: arithmetic coding, bit planes, R-D curve length optimization, wavelet coefficients, JPEG2000.