УДК 004.93
ПРОСТОЙ АЛГОРИТМ КОНТРОЛЯ БИТРЕЙТА КОДЕРА СТАНДАРТА JPEG
Д.В. Сидоров, А.Н. Осокин
Томский политехнический университет E-mail: [email protected]
Разработан алгоритм контроля коэффициента сжатия полутоновых реалистичных изображений для кодера стандарта JPEG, отличающийся простотой программной реализации и невысокой вычислительной сложностью. Проведено его исследование на наборе полутоновых изображений Calgary Corpus Gray Set 2. Сделаны выводы о пригодности предложенного алгоритма к использованию в системах видеонаблюдения и видеорегистрации при ограниченности вычислительных ресурсов и пропускной способности каналов передачи данных.
Ключевые слова:
Стандарт JPEG, дискретное косинусное преобразование, алгоритмы контроля битрейта, сжатие полутоновых изображений с потерями.
Key words:
JPEG coder, bit rate control algorithms, discrete cosine transform, compressing half-tone images.
Введение
В связи с появлением и продвижением стандарта JPEG2000, который предусматривает возможность контроля битрейта сжатых изображений, а также с развитием и внедрением новых стандартов связи, обеспечивающих большую пропускную способность, тема разработки алгоритмов контроля битрейта для кодера стандарта JPEG практически перестала освещаться как в зарубежной, так и в отечественной литературе [1-5]. Однако существует ряд прикладных задач, при решении которых использование современных стандартов сжатия (JPEG2000 вместо широко распространенного JPEG), каналов широкополосной связи, либо невозможно, либо сопряжено с рядом трудностей. Решение подобных прикладных задач актуализирует проблему разработки простого и нересурсоёмкого алгоритма контроля битрейта сжатых изображений кодера стандарта JPEG.
Алгоритмы контроля битрейта для кодера JPEG
Теоретическая база для разработки алгоритмов контроля битрейта при сжатии с потерями изображений и видео была заложена достаточно давно и основана на формуле отношения битовых затрат на передачу или хранение сигнала к величине вносимых в него искажений или ошибок [6]. На практике, в отношении кодера стандарта JPEG, данная модель часто сводилась к простой аппроксимации кривой отношения затрат к ошибке по нескольким точкам [7]. На основании полученной кривой выбирался тот вариант сжатия изображения, который при требуемом коэффициенте сжатия или битрейте давал наилучшее качество распакованного изображения. Очевидно, что данный алгоритм обеспечивает хорошие результаты, но обладает высокой вычислительной сложностью и, как следствие, малопригоден для решаемой задачи.
Более современные алгоритмы, основанные на минимизации функции Лагранжа [4, 5] (функ-
ция представляет собой взвешенную сумму ошибки и затрат), обычно позволяют сократить количество сжатий одного и того же изображения до 2-5 раз, но они все еще обладают достаточной вычислительной сложностью. Последний предложенный в работах [1-3] алгоритм, решающий данную проблему и признанный исследователями одним из лучших [2], основан на предположении о том, что существует линейная зависимость между количеством нулей, образовавшихся в ходе квантования коэффициентов после дискретного косинусного преобразования (ДКП), и размером сжатого изображения. Алгоритм позволяет, по сравнению со всеми раннее упомянутыми алгоритмами, значительно упростить процедуру поиска необходимых параметров сжатия (коэффициента квантования): исключить предварительный анализ несжатого изображения, сократить количество сжатий изображения до двух и свести расчет необходимого параметра (таблицы) квантования до простых линейных операций.
В ходе использования этого алгоритма при JPEG-сжатии его авторами [1] было обнаружено значительное отклонение полученных результатов от линейной зависимости, а именно: линейное отношение размера сжатого изображения к количеству нулей нарушалось при высоком коэффициенте сжатия, причём часто в большую сторону (размер сжатого изображения превышал необходимый).
Исходя из вышесказанного, авторами статьи была сформулирована следующая цель работы -разработать алгоритм контроля битрейта, который бы основывался на аналогичных алгоритму [1] принципах, отличался простотой программной реализации по сравнению с исходным, требовал менее двух полных процедур сжатия, легко вписывался в стандартную схему кодера JPEG и обеспечивал приемлемые результаты.
Описание предложенного алгоритма контроля битрейта
Основываясь на работах [1-3, 7], с учётом предъявленных ранее требований к алгоритму (простота программной реализации, малая ресур-соёмкость, менее двух полных сжатий изображения, простота интеграции в стандартную схему кодера JPEG), было сформулировано предположение о существовании близкой к линейной зависимости между количеством бит, необходимых для представления всего сжатого изображения, и количеством бит, необходимых для представления заданного количества сжатых ДКП-блоков изображения. Другими словами, во время поиска необходимого коэффициента квантования (качества) Q при JPEG-сжатии, например, методом дихотомии на отрезке Q„e[5,100), можно ограничиться перекодированием (сжатием) небольшого предварительно заданного количества ДКП-блоков, тем самым значимо снизив время поиска и вычислительную сложность алгоритма (количество обработанных пикселей).
В процессе такого поиска также должны выполняться следующие условия: во-первых, заданные ДКП-блоки должны быть равномерно распределены по всему изображению (необходимо учесть его особенности) и составлять некий заданный процент, далее обозначаемый как п, от их общего числа; во-вторых, при их сжатии не должны учитываться символы конца блока, показывающие нули в конце зигзаг-цепочки; в-третьих, максимальное количество сжатий одного и того же изображения должно быть менее двух, т. е. должно удовлетворяться неравенство 8(п/100)+1=п/12,5+1<2 (дробная часть показывает, что была сжата только часть ДКП-блоков; 8 - это максимально возможное количество шагов в методе дихотомии во время поиска нужного коэффициента квантования на интервале Q„e [5,95)), отсюда процент перекодируемых ДКП-блоков должен быть в интервале пе(0, 12,5) и, в-четвертых, ДКП-блоки необходимо после квантования упаковывать с помощью статических таблиц Хаффмана, т. к. это значительно повышает быстродействие.
Обобщая вышесказанное, авторами статьи был сформулирован следующий алгоритм контроля битрейта (алгоритм приведен для полутоновых изображений).
Начало.
Шаг 1. Задать битрейт (коэффициент сжатия) K.
Шаг 2. Согласно стандарту JPEG произвести ДКП, например, при помощи binDCT (быстрая реализация ДКП) [8].
Шаг 3. Из общего числа ДКП-блоков равномерно выбрать п% блоков, которые затем про-квантовать с высоким качеством Qte[90,95] (используется стандартная рекомендованная таблица квантования) и сжать с помощью статических таблиц Хаффмана (используются рекомендованные в стандарте таблицы) [9].
Шаг 4. Используя подсчитанное в ходе выполнения Шага 3 количество бит, которое необходимо для представления n% сжатых блоков, линейно вычислить предполагаемый конечный размер сжатого изображения; если полученный размер меньше необходимого при заданном битрейте K, то осуществляется переход на Шаг 7, иначе Шаг 5.
Шаг 5. Используя заданный битрейт K, линейно вычислить необходимое количество бит для представления n% сжатых ДКП-блоков (далее обозначено как S).
Шаг 6. Методом дихотомии произвести поиск необходимого коэффициента квантования (качества) из интервала Qne [5, Q) обеспечивающего при сжатии заданных n% ДКП-блоков размер, близкий к вычисленному на Шаге 5размеру S, поиск производить до тех пор, пока |Q„-Q„_j|>2, а при сжатии ДКП-блоков использовать стандартные таблицу квантования и статические таблицы Хаффмана [10].
Шаг 7. На основании найденного коэффициента квантования Qn (коэффициент всегда берется с левого конца отрезка) происходит квантование и сжатие всего изображения с применением динамических таблиц Хаффмана. Конец.
Исследование алгоритма контроля битрейта
Цель исследования - получить количественные характеристики предложенного алгоритма контроля битрейта для кодера стандарта JPEG, т. е. определить, насколько точно алгоритм соблюдает заданный битрейт.
Исходные данные для исследования:
• стандартный, широкоиспользуемый и хорошо зарекомендовавший себя при решении подобных задач набор «Calgary Corpus Gray Set 2» из 12 полутоновых изображений размером 512x512 пикселей (глубина 8 бит на пиксель) [10];
• коэффициент сжатия Ке [4,30], шаг 1;
• максимальная ширина интервала коэффициента квантования Qe[4,90], шаг 1;
• количество кодируемых ДКП-блоков n=7,5 %. Минимальные и максимальные значения параметров K, Q и n были определены исходя из следующих соображений. Максимальное значение коэффициента сжатия K ограничено 30-ю, т. к. при дальнейшем его увеличении качество распакованных изображений набора становится неприемлемым. Диапазон значений коэффициента Q также ограничен соображением визуального качества распакованного изображения. Процент сжимаемых ДКП-блоков был предварительно подобран эмпирическим путем.
Часть результатов исследования приведена в таблице (показаны результаты для изображения «barb_1.bmp»). Полные результаты исследования для всех изображений набора доступны в работе [11]. Следует заметить, что определение качества
распакованного изображения, например, по метрике PSNR, SSIM [12], не имеет смысла, т. к. кодер полностью соответствует стандарту JPEG: используется рекомендованная в стандарте таблица квантования и не происходит отбрасывание каких-либо ДКП-коэффициентов.
Таблица. Результаты исследования алгоритма контроля битрейта для изображения «barb_ l.bmp» из набора «Calgary Corpus Gray Set 2»
K Изменение размера, байт/% Q Количество сжатий
4 -1590/-2,43 88 1,52
5 -928/-1,77 82 1,52
6 -1043/-2,39 75 1,52
7 -804/-2,15 67 1,37
8 -557/-1,70 58 1,44
9 -541/-1,86 49 1,59
10 399/1,52 44 1,52
11 382/1,60 38 1,52
12 -450/-2,06 32 1,52
13 -234/-1,16 29 1,52
14 252/1,35 27 1,52
15 -623/-3,56 23 1,52
16 -652/-3,98 21 1,52
17 312/2,02 21 1,52
18 -633/-4,35 18 1,52
19 133/0,96 18 1,52
20 -517/-3,94 16 1,52
21 107/0,86 16 1,52
22 675/5,67 16 1,52
23 -1577/-13,84 12 1,52
24 -1102/-10,09 12 1,52
25 -665/-6,34 12 1,52
26 -262/-2,60 12 1,52
27 111/1,14 12 1,52
28 -893/-9,54 10 1,52
29 -570/-6,31 10 1,52
30 -269/-3,08 10 1,52
Согласно полученным в ходе исследования результатам работы предложенного алгоритма можно отметить, что: во-первых, обеспечивается приемлемая погрешность, в среднем менее 10 %, контроля битрейта сжатого изображения; во-вторых, значимо снижается вычислительная сложность процесса сжатия по сравнению с существующими аналогами [1-3, 7], а именно - количество обработанных
СПИСОК ЛИТЕРАТУРЫ
1. Nguyen R.D. Rate control and bit allocation for JPEG transcoding: Master’s thesis. - Cambridge: Massachusetts Institute of Technology, 2007. - 51 p.
2. He Z., Mitra S.K. A linear source model and a unified rate control algorithm for DCT video coding // IEEE Trans. on Circuit and System for Video Tech. - 2002. - V. 12. - № 11. - P. 970-982.
3. He Z., Mitra S.K. Optimum bit allocation and accurate rate control for video coding via p-domain source modeling // IEEE Trans. on
пикселей не более чем в полтора раза превышает количество исходных (менее двух полных процедур сжатия) и, в-третьих, не происходит модификаций стандартной схемы сжатия алгоритма JPEG.
Предложенный алгоритм контроля битрейта, в отличие от распространенных аналогов, обладает малой ресурсоемкостью, приемлемой точностью контроля битрейта, не модифицирует схему JPEG-сжатия и, как следствие, может быть с успехом применен при решении прикладных задач по организации систем видеонаблюдения и видеорегистрации в условиях ограниченной производительности вычислительной аппаратуры и пропускной способности каналов передачи данных. Например, при разработке «умных» видеокамер для проходческих угледобывающих комбайнов на недорогих контроллерах ARM mx233 фирмы Freescale.
Данные камеры, благодаря невысоким требованиям предложенного алгоритма к производительности контроллера, могут быть дополнены, в частности, следующими функциями: автоматической фокусировки/позицирования камеры на рабочий орган комбайна с целью определения комбайнером его состояния во время добычи; архивирования состояния рабочего органа в случае аварии комбайна и/или линий передачи данных вследствие взрыва газопылевой смеси; контроля комбайнером границ разрабатываемого пласта угля и т. д.
Выводы
1. Предложен алгоритм контроля коэффициента сжатия полутоновых изображений для кодера стандарта JPEG, основанный на использовании зависимости между размером всего сжатого изображения и размером, необходимым для заданного количества сжатых дискретно-косинусных блоков преобразования. Это позволяет в ходе контроля битрейта обрабатывать заметно меньшее количество пикселей и реализовывать алгоритм на простых контроллерах при сохранении свойств стандартного JPEG.
2. Алгоритм исследован на наборе полутоновых изображений Calgary Corpus Gray Set 2, погрешность контроля битрейта не превышает 10 %.
3. Показана возможность использования предложенного алгоритма в системах видеонаблюдения и видеорегистрации при ограниченности вычислительных ресурсов и пропускной способности каналов передачи данных.
Circuit and System for Video Tech. - 2002. - V. 12. - № 10. -P. 840-849.
4. Морозов В.В. R-D проблема и эффективность систем сжатия изображения // Автоматика. Автоматизация. Электротехнические комплексы и системы. - 2006. - Т. 2. - № 18. - С. 8-12.
5. Умняшкин С.В. Схема RD-оптимизированной компрессии для обработки видеоданных в реальном масштабе времени // Известия вузов. Сер. Электроника, 2002. - № 2. - С. 60-65.
6. Berger T. Rate Distortion Theory. Englewood Cliffs. - N.J.: Prenti-ce-Hall, 1971. - 311 p.
7. Wu S.W., Gersho A. Rate-constrained picture-adaptive quantization for JPEG baseline coders // IEEE Intern. Conf. on Acoustic, Speech and Signal Processing. - 1993. - V. 5. - P. 390-392.
8. Liang J. Fast Multiplierless approximations of DCT with the lifting scheme // IEEE Trans. on Signal Processing. - 2001. - V. 49. -№ 12. - P 3032-3044.
9. ITU-CCITT Recommendation T.81 Information technology. - Digital compression and coding of continuous-tone still images. -ISO/IEC 10918-1. - 1992. - 182 p.
10. Набор изображений Calgary Corpus Gray Set 2. 2002. URL: http://cdb.paradice-insight.us/?corpus=10 (дата обращения: 16.03.2011).
11. Модификация JPEG сжатия. 2012. URL: http://jpg.vt.tpu.ru (дата обращения: 10.03.2012).
12. Wang Z., Bovik A.C. Modern image quality assessment. - N.Y.: Morgan & Claypool, 2006. - 157 p.
Поступила 11.04.2012 г.
УДК 519.71+004
ПОСТРОЕНИЕ МНОГОКОМПОНЕНТНЫХ ВИЗУАЛЬНЫХ 3D-МОДЕЛЕЙ С ИСПОЛЬЗОВАНИЕМ РАЗНОРОДНЫХ ИСТОЧНИКОВ ИНФОРМАЦИИ, НА ПРИМЕРЕ СОЗДАНИЯ ГЕОЛОГИЧЕСКИХ МОДЕЛЕЙ
А.А. Захарова, А.В. Шкляр
Томский политехнический университет E-mail: [email protected]
Показана необходимость разработки и совершенствования визуальных моделей данных, способов их создания и использования. Представлен подход к построению многокомпонентных визуальных SD-моделей, позволяющих проводить проверку, интерпретацию и анализ пространственной информации на примере моделей геологических данных.
Ключевые слова:
SD-моделирование, способы визуализации, визуальные образы, технология обработки данных.
Key words:
SD-modelling, visualization, data processing, visual form.
Использование визуальных способов анализа и интерпретации информации имеет многочисленные преимущества, одним из которых является высокая скорость понимания общего смысла данных и обнаружения содержащихся в них особенностей. Отдельным направлением в визуальном анализе данных является создание 3D-моде-лей - трехмерных графических образов, способных иметь разнообразную информационную основу [1].
Целью работы является обоснование актуальности использования трехмерных визуальных моделей при анализе сложных разнородных данных. Эффективность использования визуальных 3D-моделей обусловлена тем, что к анализу информации подключается ассоциативное образное мышление человека. Во многих случаях, создание подобной модели позволяет решать многочисленные задачи, для которых любое другое решение является дорогостоящим, технически сложным или вообще не существует. Важной особенностью 3D-моде-лирования является возможность создания моделей, как реальных пространственных объектов, так и несуществующих. Отдельной задачей, в общем случае не имеющей однозначного решения, является создание моделей при отсутсвии исчерпывающей информации о пространственных характеристиках исходных объектов.
Трехмерное пространство, в котором создается модель, имеет интуитивно понятную ассоциативную связь с привычным для наблюдателя координатным представлением. Поэтому 3D-модели являются удобным способом представления информации о реальных пространственных объектах, позволяя легко распознавать и интерпретировать. Во многих задачах, созданные 3D-модели можно рассматривать как компактный и эффективный способ представления и, возможно, хранения информации.
Кроме того, пространство моделирования способно выполнять важную роль объединения пространств представления моделей, имеющих совершенно разное информационное содержание. Это позволяет дополнять восприятие каждой из таких субмоделей новой информацией, а также значительно ускорить интерпретацию предлагаемых наблюдателю данных. Как следствие, при создании визуальных 3D-моделей часто возникает стремление использовать пространство моделирования для объединения моделей всех данных, которые имеют отношение к исследуемой задаче. Одним из оценочных параметров визуальной модели является ее информационная ценность, которая определяется как количеством подключенных к модели информационных источников, так и скоростью интерпретации данных [2].