Система удаленного извлечения фрагмента растрового изображения изменяемой детализации, адаптированная к его размеру

СИСТЕМА УДАЛЕННОГО ИЗВЛЕЧЕНИЯ ФРАГМЕНТА РАСТРОВОГО ИЗОБРАЖЕНИЯ ИЗМЕНЯЕМОЙ ДЕТАЛИЗАЦИИ, АДАПТИРОВАННАЯ К ЕГО РАЗМЕРУ

А. В. Шокуров

Московский государственный университет им. М. В. Ломоносова,

119991, Москва, Россия

УДК 004.627, 004.92, 004.78

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

Ключевые слова: растровое изображение изменяемой детализации, метод SPIHT, удаленный анализ изображения, канал связи низкой пропускной способности, многомасштабное и постепенное извлечение данных фрагмента изображения, извлечение, адаптивное к размеру фрагмента.

This article gives a brief raster image coding methods survey, develops a visual data mathematical model, describes corresponding efficient encoding (decoding) methods and software tools, as well shows the test results. Efficiency is used in terms of method encoded data streams sizes, image fragments retrieval rate, the amount of the extracted image fragment data and random access memory used by software.

Key words: irregular detailed raster image; SPIHT method; remote image analysis; low bandwidth channel; multiscale and progressive image fragment data retrieval; image fragment size-adaptive retrieval.

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

Традиционные решения задачи удаленного извлечения фрагмента изображения, которые используются на практике, не обладают необходимым уровнем масштабирования как

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

Вследствие существования большого количества разнообразных типов компьютерных систем (кластеры, рабочие станции, настольные персональные компьютеры, ноутбуки, планшетники, наладонники, карманные персональные компьютеры, суперфоны, сотовые телефоны), у которых принципиально различаются размеры экранов, в настоящее время возникла необходимость в инструментальных средствах, которые эффективно масштабируются с изменением размера изображения и отображающего устройства. Последнее подразумевает наличие у этих средств механизмов высокой степени сжатия изображений, высокой скорости извлечения фрагментов изображения и значительной экономии объема используемой оперативной памяти. Такие программные средства востребованы как в традиционных областях деятельности человека (медицинская диагностика [1], дистанционное зондирование (соответственно, maps.google.com и maps.yandex.ru)), так и в критически важных (охрана общественного правопорядка (актуальность определяется наличием большого количества программных продуктов анализа и архивирования видеоданных с охранных камер) и обеспечение государственной безопасности [2]).

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

1) отсутствие возможности изменять в изображении уровень фактического разрешения;

2) большой промежуток времени, необходимого для извлечения фрагментов изображения;

3) сложный характер и настройка на конкретные типы данных.

Рассмотрим подробнее перечисленные недостатки. При использовании первых аналогоцифровых устройств, к числу которых относится устройство “захвата” (формирование данных, представляющих изображение) растровых изображений, основная трудность заключалась в получении адекватного условиям решаемой задачи качества (разрешающей способности) цифрового представления. По мере развития средств вычислительной техники и увеличения их производительности эта трудность для широкого класса задач была устранена.

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

Задача интерактивного анализа растровых изображений в той или иной степени решается [3] путем разбиения изображения на квадратные блоки определенного фиксированного размера, кодирования каждого из них по отдельности тем или иным основным методом

(ЛРЕО, РМО, БИНТ [4] и т. п.) и построчного хранения соответствующих данных. Размер квадратных блоков, на которые разбивается исходное растровое изображение (вейвлет-представление) при кодировании, определяет размер гранулы для эффективного задания положения и размера извлекаемого фрагмента изображения. Это означает, что при уменьшении размера такой гранулы, в частности с целью обеспечения возможности извлечения данных, соответствующих небольшому фрагменту изображения, необходимо уменьшить размер обозначенных квадратных блоков. Однако с уменьшением размера квадратных блоков понижается эффективность декорреляции пикселов (вейвлет-коэффициентов) блока, что оказывает негативное влияние на объем целевого кодированного потока данных и соответственно извлекаемой информации при восстановлении фрагмента изображения. В зависимости от используемого основного метода кодирования при сильной степени сжатия это обстоятельство может привести к образованию визуально фиксируемых артефактов.

Нежелательные особенности и существенные искажения, вызываемые сжатием с потерями, появляются в определенных условиях (например, при резких переходах яркости или цветности) в восстанавливаемых изображениях. Они могут выглядеть как муар, искажения цветов, негладкие линии, смазывание четких линий, появление ложных, побочных линий и ореолов и пр. В частности, при большом коэффициенте сжатия артефакты сжатия ЛРЕО и МРЕО представляют собой прямоугольные поля одного цвета, которые могут иметь достаточно большой размер в одноцветных областях изображения, а также визуально фиксируемые границы областей (в частности, соответствующие блокам) изображения, которые отсутствовали в исходном изображении. Артефакты снижают визуальное качество, в частности исходную визуальную четкость изображения.

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

Традиционно для уменьшения последствий наличия данного недостатка изображение кодируется отдельно для каждого возможного в данной задаче значения размера блока. Например, для стандартных устройств вывода изображений используется блок размером 256 х 256 пикселей, а для отображения на экране мобильного телефона — блок размером 128 х 128 пикселей. Последнее позволяет уменьшить количество блоков, данные которых необходимо передать, примерно до 20, что нивелирует отмеченный ранее недостаток. Однако данный подход имеет ряд недостатков. Кодирование изображения при каждом возможном значении размера блока приводит, во-первых, к избыточным данным, представляющим изображение, и, во-вторых, к избыточным вычислениям в процессе кодирования. Более того, такой подход не обладает необходимой масштабируемостью, так как возможные размеры блока выбираются заранее. В частности, в процессе работы системы может возникнуть необходимость кодирования изображения при ином (не содержащемся в списке возможных) размере блока.

С уменьшением размера квадратных блоков уменьшается количество масштабов (при кодировании блоков соответствующим основным методом, например ЛРЕО и БРШТ), на

которые эти блоки могут быть разбиты. Этот факт означает, что уменьшается количество масштабов, при которых могут быть эффективно извлечены фрагменты изображения. Отмеченное обстоятельство означает, что при необходимости восстановления сильно уменьшенной копии всего изображения будет извлечен объем данных, существенно больший, чем необходим в действительности. В частности, он будет больше объема данных в растровом представлении рассматриваемой копии. На завершающей стадии процесса извлечения фрагмента также вполне возможна потребность в домасштабировании, а именно в уменьшении восстановленного фрагмента до интересующего эксперта размера. Такое действие при программной реализации алгоритма не всегда возможно как в силу нехватки памяти (оперативной и внешней), так и вследствие недостаточной эффективности работы вычислительной системы. В результате при использовании данного подхода восстановление уменьшенной копии всего изображения представляет большие трудности, особенно при удаленном анализе изображений больших размеров.

Как следствие отмеченных выше недостатков в традиционных методах, использующих блочный подход, многомасштабность, необходимая для удаленного анализа изображения, добавляется искусственным образом. Это означает, что по растровому изображению сначала строится пирамида его масштабов, а затем к каждому уровню пирамиды применяется описанный ранее подход. Недостатком такого решения является увеличение объема данных и вычислений, а также тот факт, что при этом не используются связи между кодируемыми уровнями. Последнее обстоятельство означает отсутствие целостности представления, которое может оказаться крайне важным при решении более сложных задач (например, распознавание образов, поиск фрагмента в изображении по шаблону и т. п.) на основе данного представления.

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

Другим аспектом рассматриваемых систем кодирования растровых изображений является отмеченный выше основной метод кодирования, который используется при кодировании каждого из блоков.

Для кодирования отдельных блоков можно использовать, в частности, программное средство, реализующее метод (стандарт) ЛРЕО, который основан на дискретном косинусном преобразовании (ДКП). Однако большинство методов, основанных на ДКП, имеют существенные недостатки. Во-первых, ДКП фиксировано и как следствие не может быть адаптировано в зависимости от класса входных растровых изображений. Более того, существенно затруднено его применение к данным, происхождение которых отлично от происхождения аудиовизуальных данных. Во-вторых, данное преобразование не позволяет естественным образом использовать многомасштабность. Кроме того, при больших степенях сжатия визуально заметна блочность кодирования. Следует отметить, что преимуществом известных методов, основанных на методе ДКП, является высокая скорость кодирования (декодирования), а также широкая область применения.

Термин “блочность кодирования” появился в связи со стандартом кодирования ЛРЕО. Данный визуальный артефакт является следствием кодирования каждого из блоков по отдельности. Артефакт заключается в наличии в изображении визуально заметных границ квадратных блоков, которые отсутствовали в исходном изображении. Последнее приводит к тому, что отмеченные границы препятствуют адекватному восприятию изображения.

Известный альтернативный подход к кодированию растровых изображений основан на теории вейвлет-преобразований. К числу преимуществ данного подхода можно отнести возможность адаптирования вейвлет-преобразования под входное изображение. Такой подход позволяет существенно повысить степень сжатия [5] методов кодирования для определенных (специальных) классов растровых изображений, а также адаптировать его к входным данным, характер которых, в частности, отличен от характера аудиовизуальных данных.

При использовании отмеченного преобразования масштабируемость достигается естественным образом, так как вейвлет-преобразование, применяемое для декорреляции данных растрового изображения, автоматически строит и его масштабы. За счет свойства компакти-зации энергии и ее более точного соответствия зрительной системе человека [6] большинство методов, основанных на вейвлет-преобразовании, превосходят метод JPEG по качеству восстановления растрового изображения как объективно (согласно метрике пикового отношения сигнала к шуму (ПОСШ)), так и субъективно (согласно средней оценке мнения группы экспертов) [7]. Пиковое отношение сигнала к шуму (в англоязычной литературе PSNR) является стандартной метрикой измерения визуальной схожести (в децибелах) двух растровых изображений. Данная величина, по сути, есть величина, обратная среднеквадратичной по-пиксельной разнице между рассматриваемыми изображениями. Следует также отметить, что для методов, основанных на вейвлет-преобразовании, характерно более благоприятное визуальное восприятие человеком по сравнению с методом JPEG [7]. В частности, алгоритмы распознавания образов (лица, отпечатки пальцев и т. п.) в среднем работают лучше на изображениях, которые закодированы с использованием методов SPIHT и JPEG2000, основанных на вейвлет-преобразовании, чем на изображениях, закодированных с использованием метода JPEG [8]. Отмеченные преимущества вейвлет-преобразования подтверждают целесообразность его использования при решении задачи, поставленной в настоящей работе.

С учетом представленных выше соображений рассмотрим более подробно методы кодирования вейвлет-представления. Можно выделить два класса методов кодирования вейвлет-представления растрового изображения: внутриподдиапазонный и межподдиапа-зонный [7].

Внутриподдиапазонные методы (например, EBCOT [9], SPECK, SWEET) основаны на устранении корреляции между соседними вейвлет-коэффициентами в каждом поддиапазоне по отдельности. Заметим, что метод EBCOT был выбран в качестве основы стандарта JPEG2000, с помощью которого также в той или иной степени решается задача удаленного интерактивного анализа изображений [3]. К числу недостатков метода EBCOT можно отнести сложный и как следствие фиксированный характер его преобразования для кодирования визуальной информации растровых изображений, что в свою очередь означает отсутствие возможности его существенной модификации. Недостатком самого метода JPEG2000 является использование тривиального подхода на основе разбиения на блоки и несоответствие объема извлеченных данных размеру растра при извлечении небольших фрагментов.

Межподдиапазонные методы основаны на устранении корреляции между вейвлет-коэффициентами, принадлежащими разным вейвлет-поддиапазонам. Ключевым понятием в таких методах является понятие нуль-дерева, в основе которого лежит гипотеза о том, что если вейвлет-коэффициент меньше определенного порога, то с высокой вероятностью и его “дети” (на элементах вейвлет-представления можно естественным образом задать иерархическую древовидную структуру) меньше этого порога. Метод SPIHT является основным в данной категории методов и часто применяется при сравнительном тестировании новых методов кодирования растровых изображений. Несмотря на то что в работе [4], в которой описыва-

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

Следует отметить, что методы кодирования текстур [10] также позволяют извлекать фрагменты изображения (определяющим свойством методов кодирования текстур является возможность случайного доступа к любой его части при произвольном масштабе). Однако они, например, не обладают (так как это не требуется) существенно важной для решаемой задачи возможностью, которая заключается в последовательной передаче данных с постепенным повышением визуального качества восстанавливаемого изображения (согласно метрике ПОСШ). Более того, в отмеченных методах вводится ограничение либо на визуальное качество извлекаемых фрагментов, либо на скорость извлечения соответствующих данных.

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

Метод БР1НТ активно исследуется, используется и финансируется применительно к задачам космической, медицинской [11] и военной [12] тематики. Выбор метода БРШТ для решения этих задач обусловлен, в частности, перечисленными выше соображениями. С момента разработки метода БРШТ и до настоящего времени на базе данного метода разработано большое число улучшений и расширений. Целью этих исследований является повышение качества восстановления изображения и степени сжатия [13], устойчивости к ошибкам в канале связи [14], упрощение и реализация метода БР1НТ на специализированных вычислительных машинах [12, 15]. В частности, разработана методика извлечения всего растрового изображения при различных масштабах [16]. Однако следует отметить, что задача извлечения фрагмента растрового изображения при различных масштабах в общем случае не была решена.

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

Методы и средства решения задачи. С точки зрения используемых алгоритмических решений предлагаемая система должна включать следующие авторские средства (понятия и механизмы):

1) понятие обобщенного растрового изображения;

2) метод О1-88-8Р1НТ;

3) модифицированный механизм разбиения на блоки, использующий кривую Гильберта;

4) механизм, позволяющий адаптироваться к размеру извлекаемых фрагментов.

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

Рис. 1. Примеры фотографий с областями повышенной степени детализации:

а — лицо и плечи; б — здание

степень сжатия. Разбиение на блоки позволяет локализовать кодированные данные в потоке, что допускает, во-первых, извлечение фрагментов изображения, а во-вторых, использование незначительного объема оперативной памяти. Использование кривой Гильберта позволяет сократить количество сессий доступа к хранилищу данных. Механизм четвертой группы, основанный на механизме третьей группы, позволяет адаптировать метод извлечения к размеру извлекаемого фрагмента.

Архитектура системы кодирования изображений изменяемой детализации для их адаптивного интерактивного анализа. В данном пункте приведено развернутое описание компонентов рассматриваемой архитектуры системы кодирования растровых изображений.

Обобщенное изображение. С учетом отмеченных выше требований разработана формальная модель, описывающая изображение (см. [17. Гл. 1]). Эта модель учитывает заданные пользователем степени детализации областей в растровом изображении, что позволяет устранить отмеченный ранее недостаток, присущий понятию растрового изображения. На рис. 1 приведены примеры растровых изображений с областями изменяемой детализации. В частности, на рис. 1,а показаны две области: область &ед1оплицо, которая соответствует лицу и имеет степень детализации, равную нулю, и область &едгопфон, которая задает фон и имеет степень детализации, равную трем.

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

Схема кодирования. Авторская схема кодирования (набор взаимосвязанных алгоритмов) включает алгоритм первичного кодирования обобщенного растрового изображения, вычисление дискретного вейвлет-преобразования обобщенного растрового изображения, кодирование соответствующих вейвлет-коэффициентов, сжатие пакетов данных и формирование целевого потока данных (см. [17. Гл. 2; 18. Разд. 2]). Результатом действия схемы кодирования является кодированный поток данных. Схема декодирования при восстановлении фрагмента изображения инициализируется сформированным таким образом потоком.

Цель разработки алгоритма первичного кодирования обобщенного растрового изображения заключается в повышении эффективности разрабатываемой системы кодирования. В частности, для повышения корреляции между соседними вейвлет-коэффициентами принято решение разбить поддиапазоны Ж-каскадного вейвлет-представления на блоки небольшого размера (например, 64x64 вейвлет-коэффициента), что улучшило кешируемость соседних вейвлет-коэффициентов [19].

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

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

На следующем этапе автором решается задача пространственно-многомасштабного кодирования растровых изображений (обобщенных растровых изображений, все вейвлет-коэффициенты которых активны). В ходе решения применяются существенно модифицированные версии алгоритмов, лежащих в основе метода кодирования растровых изображений (SPIHT). Алгоритм кодирования SPIHT основан на том, что вейвлет-коэффициенты кодируются побитно в порядке их вклада в ПОСШ-характеристику. При таком подходе последовательность, согласно которой кодируются вейвлет-коэффициенты, явно не кодируется, а используется процесс разбиения множества коэффициентов на подмножества.

Авторский метод пространственно-многомасштабного кодирования растровых изображений SS-SPIHT (spatially scalable SPIHT) концептуально базируется на методе SPIHT, а именно на том факте, что в нем локализуются глобальные переменные (списки) этого метода. Метод SS-SPIHT позволяет локализовать кодированные данные (биты) относительно их масштаба и положения. Последний факт означает, что биты, выводимые при обработке каждого из блоков, обособляются в пакеты данных. Кодированный поток данных (алгоритма кодирования метода SPIHT) фактически разбивается на пакеты данных. За счет разбиения потока на пакеты кратко представленная схема декодирования метода SS-SPIHT (см. ниже) позволяет восстановить произвольные фрагменты растрового изображения при востребованных экспертом масштабах. Последнее достигается путем извлечения пакетов данных (из кодированного потока), которых достаточно для декодирования интересующего фрагмента.

Отличительной особенностью метода GI-SS-SPIHT (general image SS-SPIHT), распространенного на случай обобщенных растровых изображений, является то обстоятельство, что при кодировании учитывается активность узлов (соответствующих вейвлет-коэффициентов). В дополнение к указанным модификациям структура алгоритма кодирования метода GI-SS-SPIHT также претерпевает существенное изменение. Представленный подход позволяет программной реализации алгоритма кодирования метода GI-SS-SPIHT использовать объем оперативной памяти, который не зависит от размера обобщенного растрового изображения.

Необходимо отметить авторский способ формирования целевого кодированного потока данных для его эффективного использования соответствующей схемой декодирования. Суть

Непрерывные части потока данных

Восстановление интересующего фрагмента изображения

Рис. 2. Непрерывные части

этого способа заключается в том, что пакеты данных переупорядочиваются таким образом, чтобы они хранились согласно кривой Гильберта (отдельно для каждого уровня I и битовой плоскости п). Обработка пакетов осуществляется путем рекурсивного спуска по соответствующим квадрантам данного вейвлет-уровня согласно кривой Гильберта.

Схема декодирования. Вычисляются достаточные для восстановления фрагмента узлы вейвлет-представления (индексы вейвлет-коэффициентов). Достаточность узлов означает, что по соответствующим им вейвлет-коэффициентам можно восстановить интересующий эксперта фрагмент растрового изображения (см. [17. Разд. 3.1; 18. Подразд. 1.10; 20; 21]).

Схема авторского декодирования (см. [17. Разд. 3.2; 18. Разд. 2; 20; 21]) фрагмента изображения (рис. 2) состоит из серверной части (алгоритма извлечения данных из целевого потока) и клиентской части (алгоритма восстановления фрагмента по этим данным). Следует отметить, что на запрос пользователя передаются не сами вейвлет-коэффициенты, а пакеты данных, соответствующие блокам, которым эти вейвлет-коэффициенты принадлежат.

Серверный авторский алгоритм использует тот факт, что пакеты данных в целевом потоке хранятся согласно кривой Гильберта. Последнее обстоятельство позволяет извлекать данные, соответствующие фрагменту, путем рекурсивного спуска по соответствующим квадрантам вейвлет-уровня. Представленный способ хранения пакетов позволяет существенно сократить количество обрабатываемых пакетов при извлечении данных, относящихся к фрагменту растрового изображения, что в свою очередь позволяет существенно снизить нагрузку вычислителя (сервера). На основе работ [22, 23] можно показать, что вычислительная сложность извлечения равна

где D = max(width, height) — линейный размер изображения; B — размер блока, используемого при кодировании; w — ширина вырезаемого квадратного фрагмента.

Предлагаемый в настоящей работе алгоритм активной адаптации к размеру растра извлекаемого фрагмента основан на ряде интуитивных эвристик. Так, при извлечении фрагмента размером 1000 х 1000 не имеет смысла в ответ пересылать клиенту пакеты, относящиеся к блокам размером 16 х 16. В данном случае целесообразно сформировать пакеты, соответствующие блокам (квадрантам) размером 64х64 (что, естественно, незначительно увеличит общий объем передаваемых данных). При вырезании фрагмента растрового изображения удается, во-первых, сократить количество рекурсивных вызовов, что уменьшает степень загрузки вычислительной системы, и, во-вторых, объединить пакеты данных в непрерывные фрагменты кодированного потока, что уменьшает общее количество сессий доступа к хранилищу данных. Такой подход снижает загрузку вычислительной системы.

Подводя итог изложенному выше, можно констатировать, что представлены механизмы, существенно уменьшающие время извлечения фрагмента растрового изображения. Следует отметить, что за счет использования хранилищем данных механизмов кеширования (кешируются близкорасположенные данные, в частности ветви кривой Гильберта) алгоритм извлечения фрагментов адаптируется к размеру фрагмента неявно.

Клиентский алгоритм строится обращением алгоритма кодирования. Объем оперативной памяти, используемый программной реализацией данного алгоритма, зависит только от размера растра и масштаба фрагмента и не зависит от размера растрового изображения.

Характеристики системы. При построении алгоритмов применяется специальный механизм (см. [17. Разд. 2.1]), позволяющий оценить объем оперативной памяти, используемый соответствующими программными реализациями. За счет этого удается разработать схему кодирования, при которой объем оперативной памяти, используемой соответствующим программным обеспечением в процессе кодирования изображения, не зависит от размера его растра.

Эффективность метода кодирования GI-SS-SPIHT обобщенных растровых изображений (в частности, растровых изображений) подтверждается теоремой, согласно которой объем извлекаемых данных, соответствующих восстанавливаемым фрагментам изображения, с уменьшением размера блока при кодировании не увеличивается (см. [17. Гл. 4]).

Предварительная оценка эффективности решения. В данном пункте приведена оценка эффективности работы системы и характеристик процесса кодирования.

Степень сжатия. Результаты тестовых испытаний программного комплекса, реализующего метод кодирования GI-SS-SPIHT, свидетельствуют о том, что данный метод имеет явное преимущество по сравнению с методом JPEG2000 по степени сжатия растровых изображений, в том числе с областями изменяемой детализации (табл. 1, где числа 64, 32, 16 в обозначении метода соответствуют линейному размеру блока, используемого при кодировании; буква p означает, что в приведенном результате учитываются данные, необходимые алгоритму вырезания фрагментов). Сравнение с методом JPEG не проводилось, поскольку JPEG2000 превосходит его в заданных тестах (как отмечалось ранее, в принципе JPEG может дать оптимальный результат, но только в случае введения существенных ограничений). Для проведения численного сравнения используется реализация Kakadu. Корректность проводимого тестового испытания гарантируется тем, что выбор данной реализации был осуществлен по результатам сравнительного анализа различных программных реализаций стандарта JPEG2000: Lurawave и LEAD (см. [17. Прил. Б]).

Таблица 1

Средняя степень сжатия наборов изображений методами ЯЯ-ЯРТИТ, ЛРЕС2000 и ЛРБО-ЬЯ

Метод Степень сжатия набора изображений, %

Узор Девушки Девушки2 Разное Вещи

SS-SPIHT 64 13,8 52,7 57,7 61,4 47,5

SS-SPIHT 64p 14,2 53,2 58,1 61,9 47,9

SS-SPIHT 32 14,5 53,4 58,3 62,0 48,0

SS-SPIHT 32p 15,9 54,6 59,6 63,3 49,3

SS-SPIHT 16p 20,8 58,9 64,0 67,6 53,7

JPEG2000 64 10,7 54,6 59,7 63,4 48,8

JPEG2000 64p 11,0 55,2 60,2 63,9 49,3

JPEG2000 32 12,1 58,2 63,5 67,3 52,2

JPEG2000 32p 13,1 59,5 64,7 68,5 53,5

JPEG2000 16p 21,8 73,4 79,0 83,0 66,9

JPEG-LS 7,4 49,3 56,6 59,3 42,6

Рис. 3. Фотографии с размеченными областями детализации: а — изображение, построенное по изображению зоопарка, где выделены группы домов; б — изображение, построенное по фотографии взлетной площадки космического челнока, где выделена взлетная площадка

При сравнении использованы следующие наборы изображений: узор (изображения testpat.lk), девушки (изображения 4.1.01, 4.1.03 и 4.1.04), девушки2 (изображения elaine.512, 4.2.04 и 4.2.02), разное (изображения boat, house, 4.2.01, 4.2.03, 4.2.05, 4.2.06, 4.2.07, 5.2.08 и 5.2.10) и вещи (изображения 4.1.05, 4.1.07, 4.1.08, 5.1.11 и 5.1.12). Все изображения относятся к набору misc (The USC-SIPI Image Database, http://sipi.usc.edu/database/). С уменьшением размера блока при кодировании преимущество метода GI-SS-SPIHT становится более существенным. По сравнению с JPEG-LS предложенный метод дает несколько худшие результаты. Однако метод JPEG-LS не обладает другими важными свойствами (ПОСШ-ха-рактеристика, возможность извлечения фрагментов), кроме превосходящей степени сжатия.

Использование понятия обобщенного растрового изображения (рис. 3) позволяет существенно сократить объем данных с контролируемой пользователем степенью качества во всем

Таблица 2

Степень сжатия обобщенных растровых изображений методами ОТ-ЯВ-ЯРШТ, ЛРЕС2000 и ЛРЕС-ЬЯ

Метод Степень сжатия набора изображений, %

Пентагон* Лена* Зоопарк* Челнок*

СІ-ЯЯ-ЯРІНТ 64 24,6 39,2 16,7 9,4

СІ-ЯЯ-ЯРІНТ 64р 24,8 39,6 16,8 9,4

СІ-ЯЯ-ЯРІНТ 32 24,8 39,6 16,9 9,5

СІ-ЯЯ-ЯРІНТ 32р 25,4 40,5 17,2 9,7

СІ-ЯЯ-ЯРІНТ 16р 27,0 43,3 18,4 10,4

ЛРЕС2000 64 25,9 41,0 17,4 10,0

ЛРЕС2000 64р 26,3 41,4 17,8 10,3

ЛРЕС2000 32 28,0 43,7 19,1 11,3

ЛРЕС2000 32р 29,1 44,9 20,4 12,6

ЛРЕС2000 16р 38,5 56,5 30,1 21,4

ЛРЕС-ЬЯ 34,5 48,3 23,2 16,4

Ширина передаваемого квадрата, пиксели

Рис. 4. Среднее время, затраченное методами СРВЯ-ВЕШХ и JPEG2000 на извлечение фрагмента из большого (размером 37049 х8500 пикселей) растрового изображения

изображении, необходимых для хранения растровых изображений (табл. 2) (используются следующие растровые изображения: Пентагон* (см. рис. 1,6), Лена* (см. рис. 1,а), зоопарк* (см. рис. 3,а) и космический челнок* (см. рис. 3,6)). Заметим, что преимущество использования обобщенного растрового изображения сохраняется и при использовании других методов кодирования (например, ЛРЕС2000 и ЛРЕО-ЬБ). При этом с уменьшением размера блока при кодировании преимущество метода 01-88-8РШТ становится более значительным.

Процесс извлечения. Ниже проведен анализ процесса извлечения фрагмента изображения из потока. Предложенный метод 01-88-8РШТ имеет существенное преимущество по сравнению с методом ЛРЕС2000. Скорость извлечения фрагмента у метода 01-88-8РШТ существенно выше, чем у метода ЛРЕС2000, в частности, средняя скорость извлечения выше как минимум на порядок (рис. 4). Например, на извлечение квадратного фрагмента размером 1000 х 1000 пикселей предложенный метод 01-88-8РШТ затратит 5 мс, а ЛРЕС2000 — более 100 мс.

Объем данных, извлекаемых с использованием метода 01-88-8РШТ, в среднем меньше, чем при использовании метода ЛРЕС2000, и уменьшается с уменьшением размера блока

Ширина передаваемого квадрата, пиксели

Рис. 5. Среднее время, затраченное методами СТ-ЯЯ-ЯРШТ и ЛРЕС2000 на извлечение фрагмента из большого (размером 37,049x8500 пикселей) растрового изображения

а б

Рис. 6. Фрагменты изображения, восстановленные методами ЛРЕС2000

(это согласуется с основной теоремой с учетом того обстоятельства, что используется энтропийное кодирование). С уменьшением размера блока преимущество метода 01-88-8РШТ сохраняется.

Представленный в настоящей работе метод 01-88-8РШТ обладает возможностью адаптации к размеру извлекаемого фрагмента. Это означает, что за счет объединения соседних блоков существенно повышается скорость извлечения (рис. 5). Например, время, затрачиваемое на извлечение фрагмента размером 1000 х 1000 пикселей, уменьшается с 8 до 2 мс.

Фрагмент, восстановленный методом 01-88-8РШТ, имеет визуальное качество, сравнимое с качеством фрагмента, восстановленного методом ЛРЕС2000, а использование небольших блоков заметно его повышает. На рис. 6 представлены фрагменты тестового изображения 3.2.25, восстановленные указанными методами. В среднем количество информации, используемой для определения и описания пикселя, равно 0,3 бит/пиксель. Нетрудно заметить, что визуальное качество изображения на рис. 6,б превосходит качество изображения на рис. 6,а.

Заключение. Анализ представленных выше результатов исследований позволяет сделать следующие выводы.

В настоящей работе предложен метод кодирования растрового изображения изменяемой детализации и удаленного извлечения фрагмента, адаптированный к его размеру, который

включает эффективные модели, методы и программные механизмы кодирования (декодирования) растрового изображения, использующие основные положения метода SPIHT.

Показана доказуемость того, что при формировании кодированного потока данных, оптимизированного для извлечения небольших фрагментов изображения, объем данных, достаточных для их восстановления, не увеличивается.

Аналитические оценки алгоритмов кодирования (декодирования) растрового изображения свидетельствуют о том, что объем используемой для их реализации оперативной памяти не зависит от размера этого изображения.

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

Результаты тестовых испытаний позволяют сделать вывод, что предлагаемые в настоящей работе программные средства, реализующие метод GI-SS-SPIHT, решают задачу интерактивного анализа изображений без ограничений на размеры используемых отображающих устройств и в режиме последовательной передачи данных.

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

Список литературы

1. Maglogiannis I., Delakouridis C., Kazatzopoulos L. Enabling collaborative medical diagnosis over the Internet via peer-to-peer distribution of electronic health records // J. Med. Syst. 2006. V. 30, iss. 2. P. 107-116.

2. Иванов Д. В., Казанкин Е. А., Сухолитко В. А. Мобильная платформа как сервер данных фоноцелевой обстановки // Техническое зрение в системах управления мобильными объектами. 2011. [Электрон. ресурс]. http://tvcs2011.technicalvision.ru/reports/16.03.11/15.15.ppt.

3. ISO/IEC 15444-9. JPEG2000 image coding system, part 9. 2005.

4. Said A., Pearlman W. A. A new, fast, and efficient image CODEC based on set partitioning in hierarchical trees // IEEE Trans. Circuits Syst. Video Technology. 1996. V. 6, N 3. P. 243-250.

5. Saffor A., Ramli A. R., Ng K. H., Rahman R. A. A comparative study of image compression between JPEG and wavelet // Malaysian J. Computer Sci. 2001. V. 14. P. 39-45.

6. Vetterli M. Wavelets and subband coding / M. Vetterli, J. Kovacevic. Upper Saddle River: Prentice Hall PTR, 1995. 488 p.

7. Sudhakar R., Karthiga R., Jayaraman S. Image compression using coding of wavelet coefficients: A survey // Graphics, Vision Image Process. 2005. V. 5, N 6. P. 25-38.

8. Mascher-Kampfer A., Stogner H., Uhl A. Comparison of compression algorithms impact on fingerprint and face recognition accuracy // Proc. SPIE. 2007. V. 6508. P. 12.

9. Taubman D. High performance scalable image compression with EBCOT // IEEE Trans. Image Process. 2000. V. 9, N 7. P. 1158-1170.

10. Krause P. K. Ftc-floating precision texture compression // Comput. Graphics. 2010. V. 34, N 5. P. 594-601.

11. Kesavamurthy T., Rani S. Dicom color medical image compression using 3D-SPIHT for pacs application // JIVP. 2008. V. 4, N 2. P. 113-119.

12. Chew L. W., Chia W. C., Ang L., Seng K. P. Very low-memory wavelet compression architecture using strip-based processing for implementation in wireless sensor networks // EURASIP J. Embedded Syst. 2009. V. 2009. Article ID 479281. [Electron. resource]. http://www.hindawi.com/journals /es/2009/479281/cta/.

13. Wang K., Wu C., Kong F., Zhang L. An improved partial SPIHT with classified weighted rate-distortion optimization for interferential multispectral image compression // Chinese Opt. Lett. 2008. V. 6, N 5. P. 331-333.

14. Yang S. H., Cheng P. F. Robust transmission of SPIHT-coded images over packet networks // IEEE Trans. Circuits Syst. Video Technology. 2007. V. 17, N 5. P. 558-567.

15. Fry T. W., Hauck S. SPIHT image compression on FPGAs // IEEE Trans. Circuits Syst. Video Technology. 2005. V. 15, N 9. P. 1138-1147.

16. Danyali H., Mertins A. Fully spatial and SNR scalable, SPIHT-based image coding for transmission over heterogeneous networks // J. Telecommunic. Inform. Technology. 2003. V. 2. P. 92-98.

17. Шокуров А. В. Метод адаптивного интерактивного анализа растровых изображений изменяемой детализации: Дис. ... канд. физ.-мат. наук. М., 2010.

18. Шокуров А. В. Кодирование изображений с последующим возможным оптимальным декодированием // Фундамент. и прикл. математика. 2007. Т. 13. С. 225-255.

19. Prokop Н. Cache-oblivious algorithms: Ph. thesis. Cambridge: MIT, 1999.

20. Шокуров А. В., Михалев А. В. Оптимальное использование вейвлет-компонент // Успехи мат. наук. 2007. Т. 62. С. 171-172.

21. Шокуров А. В. Оптимальное использование компонент двоичного вейвлет-представления // Вестн. Моск. ун-та. 2009. Т. 5. С. 3-6.

22. Proietti G. An optimal algorithm for decomposing a window into maximal quadtree blocks //

Acta Informatica. 1999. V. 36, N 4. P. 257-266.

23. Moon B., Jagadish Н. V., Faloutsos C., Saltz J. Н. Analysis of the clustering properties

of the hilbert space-filling curve// IEEE Trans. Knowledge Data Engng. 2001. V. 13, N 1. P. 124-141.

Шокуров Антон Вячеславович — канд. физ.-мат. наук, мл. науч. сотр.

Московского государственного университета им. М. В. Ломоносова;

e-mail: shokurov.anton.v@yandex.ru

Дата поступления — 22.12.11 г.