Сравнительная оценка метода сжатия видеоинформации, основанного на адаптивном квантовании векторов и ряда известных эффективных методов

СРАВНИТЕЛЬНАЯ ОЦЕНКА МЕТОДА СЖАТИЯ ВИДЕОИНФОРМАЦИИ, ОСНОВАННОГО НА АДАПТИВНОМ КВАНТОВАНИИ ВЕКТОРОВ И РЯДА ИЗВЕСТНЫХ ЭФФЕКТИВНЫХ МЕТОДОВ

А. А. ДУХИН, доц. МГИЭМ, канд. физ.-мат. наук

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

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

передаваемой и сохраняемой информации (сотни мегабайт на один кадр) и высокий темп поступления информации.

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

В настоящее время в этих случаях, как правило, применяется либо ограничение количества цветов и разрешения на экране монитора, либо методы компрессии на базе JPEG для сжатия статических изображений; Intel Indeo, Microsoft Video - для получения цифрового видео при стандартной мультимедиа-конфигурации компьютера МРС.

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

138

ЛЕСНОЙ ВЕСТНИК 1/2006

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

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

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

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

Описание эффективных методов компрессии

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

- уменьшении разрешения;

- оптимизации процесса квантования;

- статистических методах кодирования;

- кодировании с преобразованием;

- блочных методах с адаптивным квантованием векторов;

- применении нейронных сетей;

- пирамидально-иерархических представлениях изображений;

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

Наибольшее распространение в настоящее время получили три основных метода сжатия цветных и полутоновых черно-белых статических изображений:

- метод на основе использования дискретного косинусного преобразования (JPEG);

- метод на основе вейвлетного преобразования (Wavelet);

- метод на основе фрактального подхода (Fractal).

Наконец, ниже приведен метод адаптивного квантования векторов в сравнении с перечисленными выше.

На сегодняшний день JPEG как метод сжатия изображений с потерей информации является самым распространенным и наиболее глубоко разработанным. Стандарт получил свое название по имени группы разработчиков Joint Photographic Experts Group, которая образовалась в 1987 г. в результате сотрудничества двух крупнейших в мире организаций стандартов CCITT и ISO. Спецификация JPEG состоит из нескольких частей, включая сжатие с потерями и без. На 1992 г. было разработано два стандарта: JFIF для

серых и более сложный JTIF 6.0 для цветных изображений.

Процесс сжатия с использованием метода JPEG можно разбить на несколько этапов:

I. Получение одного или набора серых полутоновых (grayscale) изображений.

Если кодируемое исходное изображение серое, то этот пункт опускается. Если же исходное изображение цветное (записано в формате RGB или аналогичной цветовой системе типа CMYK), то для него производится следующий набор операций:

1а. Исходное RGB-изображение конвертируется в цветовое пространство YUV (известное также под названием YCrCb). Эта цветовая модель была создана разработчиками видеостандартов. В ней учитывались различные особенности восприятия человеческого глаза. Система зрения человека исключительно чувствительна к одному из этих компонентов (Y) - яркостной составляющей и менее к двум другим - цветораз-ностным.

1b. Из особенностей данного представления цвета следует первая возможность сжатия цветного изображения за счет отбрасывания части строк и столбцов пикселей U- и V-компонент (с дублированием недостающих при восстановлении ). Эта процедура называется прореживание (subsampling). Далее все три компонента сжимаются самостоятельно.

II. ДКП - дискретное косинусное преобразование.

Изображение разбивается на блоки N*N (группа JPEG рекомендует брать N = 8) и каждый блок подвергается ДКП. На данном этапе не происходит потери информации.

III. Квантование.

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

IV. RLE - кодирование повторов, при котором полученные после квантования коэффициенты матрицы кодируются. Коэффи-

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

V. Кодирование «энтропии» (в терминологии группы JPEG).

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

Использование метода обеспечивает компрессию цветных изображений с коэффициентами до 40 при удовлетворительном качестве восстановления (при коэффициентах компрессии до 10 потери качества визуально незаметны) и черно-белых полутоновых изображений (типа аэрофото-) с коэффициентами до 12-16.

Сжатие восьмибитных изображений с палитрой возможно только путем предварительного преобразования его в RGB Формат. Коэффициент компрессии при этом снижается в три раза (при использовании палитры в 256 цветов). И в то же время следует отметить ряд проблемных ситуаций, для которых рассматриваемый метод либо неприменим, либо неоптимален. К ним относятся: большое время восстановления изображений; невозможность прямого доступа к сжатому изображению, а потому невозможность работы со сжатым изображением; невозможность сжатия бинарной информации и недостаточное качество при работе с графическими типами изображений, созданными на компьютерах. Жесткость алгоритма JPEG не позволяет управлять степенью сжатия и качеством восстановления.

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

тригонометрических функций в качестве базиса для разложения. Однако кодирование методами разложения изображений в ортогональных базисах связано с определенными недостатками. В частности, выполнение преобразования Фурье больших изображений связано с существенными вычислительными трудностями, а достичь заметных коэффициентов сжатия при этом не удается, т. к. для большинства имеющих практическую значимость случаев спектральный состав больших изображений оказывается достаточно широким. Выход из этой ситуации может быть найден путем применения блочного кодирования, такого, например, которое используется в стандарте JPEG. Однако несогласованность низкочастотной части Фурье-спектров, вычисляемых в отдельных небольших блоках, приводит при блочном кодировании к тому, что при практически значимых размерах блоков на восстановленном изображении становятся заметны блочные границы. Этого недостатка можно избежать, используя для кодирования разложение изображений в базисах пространственно ограниченных функций. Однако для таких функций спектральная полоса теоретически имеет бесконечную ширину. Поэтому такие базисные функции теоретически ортогональными быть не могут, что препятствует получению с их помощью оптимальных «спектральных» разложений, свободных от коррелированности и избыточности. Для сведения этого недостатка к минимуму ширина спектральной полосы таких базисных функций должна быть возможно более узкой, что входит в противоречие с их локальностью в области пространственных координат. В качестве компромисса между двумя указанными ограничениями были выбраны функции, достаточно быстро затухающие (при удалении от их центра) как в спектральной, так и в пространственной области. Одним из возможных вариантов является использование в качестве базисных вейвлетных функций (Wavelets). В целом данный метод пока не получил широкого распространения.

Однако ему можно предсказать достаточно широкое распространение. В настоящее время достигнутые результаты кодирования данным методом не превосходят аналогичных результатов при использовании JPEG.

Несколько слов скажем о фрактальном подходе к сжатию изображений.

В 1987 году Барнсли и Энсон, математики Технологического института штата Джорджия (США), открыли класс теорем, дающих большие возможности для самой разнообразной обработки и сжатия изображений. Фрактальное сжатие основано на структурах, обладающих свойством самоподобия. Это означает, что фрактал является неперекрывающимся объединением копий самого себя, уменьшенных в некоторое число раз. Показано, что такие структуры можно имитировать и с помощью рекурсивных алгоритмов создавать из них изображения. Фрактальное отображение основано на утверждениях, что:

- изображения реального мира имеют аффинную избыточность,

- основные действия над объектами (вращение, расширение и т.д.) можно описать с помощью аффинных коэффициентов,

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

Основной подход основан на блочном разбиении изображений.

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

Алгоритм фрактального кодирования на основе этого подхода разработала и запатентовала компания Iterated Systems.

Процесс фрактального преобразования включает в себя:

- разделение изображения на неперекрывающиеся блоки (R-блоки), полностью перекрывающие все изображение;

- выбор набора блоков-доменов в изображении (D-блоков), превышающих по размеру R-блоки;

- Фрактальное преобразование, которое сводится к тому, что для каждого R-блока подбирается такой домен, который после аффинного преобразования наиболее точно представляет R-блок;

- параметры аффинного преобразования сжимаются методами сжатия без потерь и сохраняются.

Файл аффинного преобразования содержит информацию о расположении доменов и R-блоков и упакованную таблицу аффинных коэффициентов для каждого домена.

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

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

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

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

Фрактальному методу сжатия-восстановления его авторы предсказывают большое будущее. По прогнозам Барнсли, в ближайшее время большая часть изображений, применяемых на компьютерах, будет храниться и использоваться с применением фрактальных методов сжатия. В перспективе - передача по телефонным линиям видеороликов. На сегодняшний день, хотя теоретический потенциал метода действительно очень велик (в отличие, скажем, от JPEB), реально достигнутое качество восстановления сжатых изображений уступает методу JPEG при аналогичных коэффициентах компрессии, однако время восстановления сжатых изображений в 2-3 раза меньше при чисто программной реализации.

Метод сжатия изображений, основанный на адаптивном квантовании векторов

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

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

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

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

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

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

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

Мы используем другой подход.

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

Процесс кодирования при использовании метода адаптивного квантования векторов имеет следующие основные этапы.

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

2. Кодируемое изображение делится на блоки М х М пикселей (в общем случае блоки могут быть и прямоугольными). Каждый блок пикселей можно интерпретировать как подлежащий кодированию вектор из М х М компонент. Для каждого блока (вектора) изображения ищется ближайший аналог в кодовой книге данного класса изображений по критерию минимума эвклидова расстояния между рассматриваемым вектором и вектором библиотеки. В результате кодирования М х М компонентный вектор заменяется однокомпонентным, соответствующим номеру в кодовой библиотеке. В

зависимости от размера библиотеки количество бит, описывающих этот номер, может изменяться. В настоящее время используются библиотеки размерами 256 и 1024 блока, т. е. номер описывается восемью-десятью битами. Совокупность таких чисел и является, по сути, закодированным изображением.

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

Остановимся несколько подробнее на каждом из указанных этапов.

Процесс построения кодовой книги осуществляется следующим образом. На основании выбранного представительного множества наиболее характерных изображений данного класса строится некое комбинированное изображение, включающее все характерные для данного класса детали. Оно используется как обучающее при построении библиотеки. Это изображение разбивается на блоки, размер которых определяет в значительной степени ожидаемый коэффициент компрессии, - используются блоки размерами 2 х 2, 3 х 3, 4 х 4. Среди всех выделенных блоков отбираются только те, отличия между которыми не превышают заданный предел. Полученный набор блоков фактически может быть интерпретирован как совокупность точек в К-мерном пространстве (К = 4,9,16 - в зависимости от размера блока). Процедура поиска кодовой книги состоит в поиске таких точек в данном К-мерном пространстве, которые в наилучшей степени описывают все представленное множество. Другими словами, векторы библиотеки могут рассматриваться как центры некоторых кластеров, вокруг которых группируются все векторы обучающего изображения, обеспечивая при этом минимально возможное максимальное отклонение от центра кластера. Алгоритм поиска такой библиотеки, как уже отмечалось, заимствован из логики работы нейронной сети и сводится к итеративной процедуре перераспределения центров кластеров.

Идея метода адаптивного квантования векторов с использованием нейронных

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

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

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

- каждый пиксель изображения описывается индексом, представляющим собой номер цвета пикселя из заранее созданной таблицы (палитры). В палитре содержатся тройки RGB, определяющие набор цветов, встречающихся в изображении. Как правило, размер палитры составляет 256 цветов, т. е. каждый пиксель изображения описывается одним байтом.

В качестве рабочего варианта используется следующий путь.

А. Исходное палитровое изображение преобразуется в формат RGB на основании приложенной к нему палитры, исходное изображение в формате RGB считывается в память без изменений.

Б. Полученное изображение (аналогично подходу, реализованному в стандарте JPEG) переводится в другое цветовое пространство YLJV, где Y-компонента описывает яркостную составляющую изображения, и(СЬ)^(Сг)-компоненты - цветоразно-

стные составляющие, определяемые по формулам (при восстановлении используется обратное преобразование): У = 0,29900 х Я + 0,58700 х О + 0,11400 х В СЬ = -0,16874 х Я - 0,33126 х О + 0,50000 х В Сг = 0,50000 х Я - 0,41869 х О - 0,08131 х В

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

В. Поскольку цветоразностные компоненты имеют, как правило, более узкую полосу пространственного спектра, может быть выполнено их прореживание (БиЬБаш-рНп§) в 2 или 3 раза (берется каждое второе или каждое третье значение), что значительно уменьшает объем кодируемой информации без существенных потерь качества.

Г. Полученные УЦУ-составляющие кодируются раздельно как черно-белые полутоновые изображения с использованием стандартной процедуры квантования векторов изображения.

Особенностью метода адаптивного квантования векторов является его существенная несимметричность, т.е. значительное время кодирования изображений при достаточно быстром его декодировании. Основные затраты времени при кодировании изображений приходятся на процедуру поиска ближайшего аналога данному вектору в кодовой библиотеке. Для ускорения данной процедуры был предложен следующий подход. Библиотека предварительно упорядочивается по уровням средней яркости входящих в нее блоков. При анализе очередного блока изображения высчитывается его средняя яркость, и вход в библиотеку осуществляется в соответствии с рассчитанным значением. После этого анализ осуществляется с использованием не всей библиотеки, а только ее части, пределы которой могут задаваться пользователем. Как показал предварительный анализ, достаточно осуществлять поиск в пределах «плюс-минус» 200 значений относительно точки входа в библиотеку. Таким образом достигается выигрыш во времени кодирования по крайней мере в 7 раз

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

После кодирования методом векторного квантования результирующие файлы «дожимаются» одним из стандартных методов сжатия без потерь. В программе реализованы две возможности - либо использование встроенного в нее LZW-алгоритма, либо подключение внешнего архиватора типа АЯ1 или ЯАЯ.

Алгоритм сжатия по методу Лемпеля-Зива-Велча (Lempel-Ziv-Welch) описан в IEEE Computer vol. 17, No. 6, June 1984. Эта схема обеспечивает быстрое сжатие без потерь информации, оставаясь в то же время относительно простой. При использовании LZW-сжатия изображение часто сжимается более чем на 50 %, а иногда и на 90 %.

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

1. Формируется палитра полученного изображения одним из двух возможных способов.

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

Второй (адаптивный) алгоритм (алгоритм Хекберта) приводит к лучшим результатам и является оптимальным по соотношению скорости и качества. Суть данного алгоритма в следующем. Вначале оси цветового куба разбиваются равномерно на интервалы. Затем строится трехмерная таблица (гистограммный куб), показывающий частоту появления каждого из цветов RGB куба в данном изображении. Методом итеративного деления полученных интервалов пополам и объединения их достигается приблизительно равномерное представительство цветов, входящих в интервал, в преобразуемом изображении. При этом деление интервала на части осуществляется с учетом распределения цветов внутри интервала. Итеративный процесс прекращается, когда количество интервалов становится равным размеру палитры. За входы в палитру принимаются центры полученных интервалов.

2. Отображение декомпрессированного изображения на полученную палитру.

Самым простым и быстрым способом в данном случае является поиск ближайшего значения цвета в построенной палитре к цвету каждого пикселя исходного изображения и формирование выходного палитрового изображения как совокупности адресов входов в палитру. Однако такой способ часто приводит к появлению цветовых полос в тех местах, где в исходном изображении наблюдались плавные цветовые переходы. Для того чтобы избежать данного эффекта, может быть использована процедура цветозамещения (dithering). Суть его состоит в том, что данный пиксель изображения может не быть совмещен с ближайшим входом в палитру, но в среднем в некоторой области изображение будет выглядеть ближе к правильному цвету, чем при отсутствии цветозамещения. В программе реализованы два варианта цветоза-мещения: упорядоченный (ordered) алгоритм и алгоритм Флойда-Штейнберга (Floyd-Steinberg), основанный на методе распределения цветовой ошибки.

Отметим потенциальные возможности предлагаемого метода сжатия.

Разработанный метод реализует процедуры сжатия-восстановления цветных (в формате RGB и палитровых) изображений и черно-белых полутоновых изображений с коэффициентами компрессии до 12 раз при сжатии палитровых изображений, до 40-60 - цветных RGB-изображений, до 25 - черно-белых полутоновых изображений. Ошибка восстановления изображений по СКО, нормированной по дисперсии изображения, не превышает 4 %. Субъективно качество восстановленных изображений при малых коэффициентах компрессии уступает методу JPEG, а при предельных несколько превосходит его.

Реализован набор опций, позволяющих:

- сжимать черно-белые полутоновые, цветные палитровые и RGB-изображения ;

- использовать различные комбинации кодовых библиотек, отличающиеся размерами блоков, размерами библиотек и классами обучающих выборок;

- использовать различные цветовые пространства при выполнении операции сжатия (RGB, YUV);

- использовать различные режимы прореживания компонентов для увеличения коэффициентов компрессии;

- использовать различные варианты дополнительного сжатия изображений либо на основе встроенного LZW-алгоритма, либо за счет подключения внешних архиваторов;

- использовать при декомпрессии режим перевода RGB изображений в палитровые.

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

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

Пути совершенствования разработанного алгоритма сводятся на сегодняшний день к следующему:

- подготовка более совершенных библиотек, рассчитанных на различные специализированные классы сжимаемых изображений (аэрофото-, медицинские изображения и пр.);

- использование более мощных встроенных непатентованных алгоритмов сжатия без потерь: адаптивного динамического кодирования Хаффмена, ариямети-ческого кодирования, LZSS-кодирования и их комбинаций, что позволит повысить коэффициент компрессии без потерь качества;

- использование интерполяции при выполнении процедуры дублирования (resampling) и^-компонент при восстановлении изображений;

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

ния кодированных изображений при том же времени декодирования;

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

Библиографический список

1. L.Anson & H.Barnsly. The fractal compression of images. - PC World. 1992. N 4 pp. 52-58.

2. C.K.Chui. An Intoduction to Wavelets. Texas A&M University. 1998.

3. T.Kohonen. Self-Organization and Associative Memory. - Berlin, 1984, Springer-Verlag. - 255 p.

4. M.Nelson. The Data Compression Book. USA. M&T Publishing. 1991.

5. J.A.Storer. Data Compression: Methods and Theory. - USA: Computer Sciens Press. 1988.

6. E. Tompson. The new medium of exchange. Digital compresson technology sparks video revolution. -Photonics Spectra. February 1994. Vol. 28, N 2 pp. 22-102.

7. T.A.Welch. A Technique for High-Performance Data Compression. Computer. 1984. V. 17. N 6.

8. J.Ziv & A.Lempel. Compression of individual Sequences via Variable Rate Coding. IEEE Transactions on Information Theory. - 1978. Vol. 23, N 3.