О векторном квантовании изображений

X КРАТКИЕ СООБЩЕНИЯ

УДК 004.932.2

О ВЕКТОРНОМ КВАНТОВАНИИ ИЗОБРАЖЕНИЙ

Е. А. Крук,

доктор техн. наук, профессор М. Б. Сергеев,

доктор техн. наук, профессор

Санкт-Петербургский государственный университет аэрокосмического приборостроения

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

Ключевые слова — сжатие изображений, векторное квантование, кодовое векторное квантование, кодовая книга.

Введение

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

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

Имеется стандартное тестовое изображение размером 512 х 512 точек, каждая точка является

одним из 256 оттенков серого. Разобьем изображение на домены размером 8 х 8 точек. Домен при этом можно представить вектором длины 64 или, что то же самое, точкой в 64-мерном пространстве. Соответственно, всего в таком векторном пространстве будет 25664 = 2512 точек. Само же изображение будет разбито всего на 4096 = 212 доменов, и, следовательно, далеко не все точки пространства будут задействованы. Если бы набор доменов из 212 элементов для этого изображения был известен и кодеру, и декодеру, то можно было бы передать каждый домен максимум 12 битами. Более того, при сжатии с потерей качества все похожие домены внутри изображения могут быть заменены на один, приближающий реальные домены изображения с некоторой ошибкой, что позволит использовать еще меньше бит. Например, если набор используемых образцов будет содержать 256 доменов, то на передачу одного домена изображения потребуется максимум 1 байт, при этом сжатие составило бы не менее 16 раз.

Рассматривая домены как векторы и задавая их отображение в «похожие» векторы из множества квантованных (кодовых) векторов, можно сформулировать процедуру, которая носит название «векторное квантование». Сжатие изображений при векторном квантовании достигается за счет того, что множество квантованных векторов (кодовая книга) выбирается существенно меньшим, чем исходное множество векторов. Векторное квантование изображений исследовалось в работах [1-11].

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

Векторное квантование

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

Векторное квантование обеспечивает сжатие домена в NL/log (К) раз, где N — длина вектора (число точек в домене); L — число бит на символ одного элемента входного вектора; К — число векторов в кодовой книге.

После применения векторного квантования восстановленное изображение может отличаться от исходного. Уровень искажений при этом будет определяться не только степенью сжатия, но и самим набором векторов в кодовой книге: {Ж} = {w1, w2, wк}. Одна и та же кодовая книга может давать хорошие результаты для одного изображения и плохие для другого. Поэтому в традиционных схемах применения векторного квантования для каждого изображения строится своя кодовая книга. Для этой цели обычно используется обобщенный алгоритм Ллойда [1, 9], позволяющий относительно быстро создавать кодовую книгу. Такой подход к векторному квантованию, однако, связан с большими накладными расходами при хранении и передаче сжатого изображения, поскольку вместе с изображением требуется хранить (передавать) и соответствующую кодовую книгу. Степень сжатия при векторном квантовании можно повысить, если отказаться от хранения кодовой книги, например, если использовать одну и ту же книгу для всех изображений.

Будем говорить, что домен а размера п х п покрывается в коде W с радиусом Я, если найдется w е Ж, для которого сумма квадратов разностей элементов матрицы w - а не превышает Я: ^— а.)2 < Я. Тогда любой код можно рассматривать как покрытие некоего множества доменов радиусом Я, а процесс векторного квантования — как отображение множества доменов в кодовые слова w е Ж.

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

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

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

Кодовое векторное квантование

Пусть G — некоторый линейный (п, &)-код над полем GF(q), q = 256 для того же случая, когда каждая точка является одним из 256 оттенков серого GF(q). Пусть сторона домена изображения будет равна пл, при этом плпл = п.

Если точки покрываемого пространства являются доменами некоего изображения, то сжатие будет состоять в том, что каждый домен из п точек будет заменен на кодовое слово кода G, наиболее близкое к исходному домену в евклидовой метрике. Так как кодовое слово однозначно определяется своей информационной совокупностью (в нашем случае информационная совокупность имеет длину к), то достаточно хранить k элементов для восстановления всего кодового слова. В результате вместо п точек будет храниться k, а сжатие составит n/k раз. Потери качества будут происходить из-за того, что при замене реальных доменов на кодовые слова идеального соответствия не будет. Главным достоинством при этом является то, что сам код в этом случае вообще не передается. Данный метод для случая использования кодов Рида — Соломона описан в работе [10].

С точки зрения сжатия и последующего восстановления радиус полученного покрытия для изображения влияет на качество восстановленного изображения: чем больше радиус, тем хуже объективное качество. На радиус покрытия будут влиять как количество слов в коде G, так и расположение этих слов в пространстве относительно точек покрываемого множества, и, следовательно, чем лучше выбран код, тем лучше будет качество восстановленного изображения. Если использовать линейный (п, ^-код, то его можно компактно хранить, например, в виде генераторной матрицы кода. Тогда для квантования различных изображений можно использовать разные коды и, следовательно, несколько улучшить качество.

Однако, даже несмотря на то, что при использовании помехоустойчивого кода для квантова-

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

Пусть есть некое пространство С и некий код W, полностью покрывающий пространство С радиусом Я. Это означает, что для любой точки пространства С найдется кодовое слово кода W, расстояние от которого до точки пространства не превышает Я:

Зw е Ж: "с е С, d(c, w) < Я, где d(c, w) = ^ (w. — с. )2.

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

"С е С , т е М: с = тс', с е С.

Таким образом, любую точку из пространства С’ можно при помощи преобразований из М перевести в точку пространства С, где она будет покрыта кодом W с радиусом Я, и, следовательно, использование кодового слова из W в качестве квантователя для точек вида тс' , с' е С' не будет давать ошибку квантования больше, чем Я, и преобразования смогут подстроить единый код под конкретное изображение.

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

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

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

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

— каждый домен х1 изображения отображается при помощи преобразований в точку сь пространства С, покрытого кодом W;

— в пространстве С выполняется декодирование вектора сь в коде W, находится ближайшее кодовое слово wi, принадлежащее коду W, и это слово wi считается квантователем для исходного домена х;

— сохраняется у; — информационная совокупность слова wi. Сжатие от квантования будет состоять в том, что вместо домена хь будет храниться информационная совокупность у;.

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

Заключение

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

1. Li J., Gray R. M., Olsen R. Joint Image Compression and Classification with Vector Quantization and Two Dimensional Hidden Markov Model // Proc. of the IEEE Data Compression Conf. (DCC), Snowbird, Utah, 1999. P. 23-32.

2. Hung A. C., Tsern E. K., Meng T. H. Error-resilient pyramid vector quantization for image compression // IEEE Transactions on Image Processing. Oct.

1998. Vol. 7. P. 1373-1386.

3. Lin J.-H., Vitter J. S. Nearly Optimal Vector Quantization via Linear Programming // Proc. of the IEEE Data Compression Conf. (DCC), Snowbird, Utah, 1992. P. 22-31.

4. Cosman P. C., Oehler K. L., Riskin E. A., Gray R. M. Using vector quantization for image processing // Proc. of the IEEE. Sept. 1993. Vol. 81. N 9. P. 1326-1341.

5. Bayazit U., Pearlman W. A. Variable-Length Constrained Storage Tree-Structured Vector Quantiza-

6. Bradley J. N., Brislawn C. M. Wavelet transform-vec-tor quantization compression of supercomputer ocean models // Proc. of the IEEE Data Compression Conf. (DCC), Snowbird, Utah, 1993. P. 224-233.

tion // IEEE Transactions Image Processing. Mar.

1999. Vol. 8. N 3. P. 321-331.

9. Gersho A., Gray R. M. Vector Quantization and Signal Compression. — Kluwer Academic Publishers, 1992. — 732 p.

7. Raffy P., Antonini M., Barlaud M. Distortion-Rate Models for Entropy-Coded Lattice Vector Quantization // IEEE Transactions. 2000. Vol. 9. N 12. P. 2006-2017.

10. Белоголовый А. В. Применение кодов, исправляющих ошибки, для сжатия видеоизображений // Вторая Междунар. молодежная школа-семинар БИКАМП’99: тез. докл. /ГУАП. СПб., 1999. С. 119.

8. Garey M. R., Johnson D. S., Witsenhausen H. S. The

complexity of the generalized Lloyd-Max problem // IEEE Transactions Inform. Theory. 1982. Vol. 28. N 2. P. 255-256.

11. Kabatiansky G., Krouk E., Semenov S. Error Correcting Coding and Security for Data Networks. Analysis of the Super Channel Concept. — John Wiley & Sons, Ltd., 2005. — 278 p.

/

УВАЖАЕМЫЕ АВТОРЫ!

При подготовке рукописей статей необходимо руководствоваться следующими рекомендациями.

Статьи должны содержать изложение новых научных результатов. Название статьи должно быть кратким, но информативным. В названии недопустимо использование сокращений, кроме самых общепринятых (РАН, РФ, САПР и т. п.).

Объем статьи (текст, таблицы, иллюстрации и библиография) не должен превышать эквивалента в 20 страниц, напечатанных на бумаге формата А4 на одной стороне через 1,5 интервала Word шрифтом Times New Roman размером 13, поля не менее двух сантиметров.

Обязательными элементами оформления статьи являются: индекс УДК, заглавие, инициалы и фамилия автора (авторов), ученая степень, звание (при отсутствии — должность), полное название организации, аннотация и ключевые слова на русском и английском языках, электронные адреса авторов, которые по требованию ВАК должны быть опубликованы на страницах журнала. При написании аннотации не используйте аббревиатур и не делайте ссылок на источники в списке литературы.

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

Формулы набирайте в Word, не используя формульный редактор (Mathtype или Equation), при необходимости можно использовать формульный редактор; для набора одной формулы не используйте два редактора; при наборе формул в формульном редакторе знаки препинания, ограничивающие формулу, набирайте вместе с формулой; для установки размера шрифта никогда не пользуйтесь вкладкой Other..., используйте заводские установки редактора, не подгоняйте размер символов в формулах под размер шрифта в тексте статьи, не растягивайте и не сжимайте мышью формулы, вставленные в текст; в формулах не отделяйте пробелами знаки: + = -.

Для набора формул в Word никогда не используйте Конструктор (на верхней панели: «Работа с формулами» — «Конструктор»), т. к. этот ресурс предназначен только для внутреннего использования в Word и не поддерживается программами, предназначенными для изготовления оригинал-макета журнала.

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

Иллюстрации в текст не заверстываются и предоставляются отдельными исходными файлами, поддающимися редактированию:

— рисунки, графики, диаграммы, блок-схемы изготавливаются в векторных программах: Visio 4, 5, 2002-2003 (*.vsd); Coreldraw (*.cdr); Excel; Word; AdobeIllustrator; AutoCad (*.dxf); Компас; Matlab (*.ps, *.pdf или экспорт в формат *.ai);

— фото и растровые — в формате *.tif, *.png с максимальным разрешением (не менее 300 pixels/inch).

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

В редакцию предоставляются:

— сведения об авторе (фамилия, имя, отчество, место работы, должность, ученое звание, учебное заведение и год его окончания, ученая степень и год защиты диссертации, область научных интересов, количество научных публикаций, домашний и служебный адреса и телефоны, e-mail), фото авторов: анфас, в темной одежде на белом фоне, должны быть видны плечи и грудь, высокая степень четкости изображения без теней и отблесков на лице, фото можно представить в электронном виде в формате *.tif, *.png с максимальным разрешением — не менее 300 pixels/inch при минимальном размере фото 40 x 55 мм;

— экспертное заключение.

Список литературы составляется по порядку ссылок в тексте и оформляется следующим образом:

— для книг и сборников — фамилия и инициалы авторов, полное название книги (сборника), город, издательство, год, общее количество страниц;

— для журнальных статей — фамилия и инициалы авторов, полное название статьи, название журнала, год издания, номер журнала, номера страниц;

— ссылки на иностранную литературу следует давать на языке оригинала без сокращений;

— при использовании web-материалов указывайте адрес сайта и дату обращения.

Более подробно правила подготовки текста с образцами изложены на нашем сайте в разделе «Оформление статей».

Контакты

Куда: 190000, Санкт-Петербург,

Б. Морская ул., д. 67, ГУАП, РИЦ

Кому: Редакция журнала «Информационно-управляющие системы»

Тел.: (812) 494-70-02

Эл. почта: 80x@mail.ru

Сайт: www.i-us.ru