УДК 004.627
О.О. Евсютин
Программный комплекс для построения и исследования декоррелирующих клеточных преобразований и сжатия цифровых изображений на их основе
Рассматривается комплекс программ, предназначенных для построения базисов ортогональных преобразований из состояний развития клеточного автомата на разбиении, исследования характеристик сжатия указанных базисов и непосредственного сжатия цифровых изображений на их основе.
Ключевые слова: клеточные автоматы, декоррелирующее преобразование, сжатие цифровых изображений, квантование.
Разработка новых методов сжатия цифровых изображений на основе клеточных автоматов требует наличия научно-исследовательского инструмента, который позволит автоматизировать процесс построения и исследования ортогональных базисов декоррелирующих клеточных преобразований. Таким инструментом является рассматриваемый в настоящей статье комплекс программных средств.
Состав программного комплекса
Программный комплекс состоит из трех самостоятельных программных средств, обеспечивающих решение основных задач, возникающих при разработке методов сжатия цифровых изображений на основе клеточных автоматов: получение ортогональных базисов с заданными свойствами, исследование их характеристик сжатия, непосредственное сжатие цифровых изображений.
Схема работы перечисленных программных средств в составе единого комплекса представлена на рис. 1.
Параметры клеточного автомата на разбиении
Параметры выбора базисов
Параметры
исследования
базисов
Рис. 1. Схема работы программного комплекса
Сжатое
изображение
Рассмотрим задачи, решаемые каждым из разработанных программных средств более подробно.
Программное средство для построения базисов декоррелирующих преобразований из состояний развития клеточного автомата на разбиении САТВазезСгеаН^
Декоррелирующим клеточным преобразованием назовем преобразование элементов цифрового изображения к виду, когда между ними отсутствует пространственная избыточность, построенное с использованием динамики клеточного автомата [1]. Основу данного преобразования составляет ортогональный базис С = (су) ^=1^=1, элементы которого принимают свои значения из некоторого конечного множества малой мощности. Декоррелирующие клеточные преобразования относятся к ортогональным преобразованиям наряду с преобразованием Уолша-Адамара, дискретным косинус-
ным преобразованием, преобразованием Хаара (а также и другими вейвлетными преобразованиями) и т.д. [2].
Для получения базисов декоррелирующих клеточных преобразований были выбраны и программно реализованы клеточные автоматы на разбиении САр = (Z,N,A, m, S,y) как обладающие
большей гибкостью с точки зрения управления их поведенческими свойствами по сравнению с классическими клеточными автоматами.
Поясним сказанное на примере.
Рассмотрим классический клеточный автомат с окрестностью фон Неймана, состоящей из трех соседей, CAj = ^Z, N, A, (-1,0,1), ст^, локальная функция перехода которого ст может быть задана либо
аналитически в виде ст(xj, Х2, Х3 ) = xj * Х2 0 X3 (mod |A|), где * и о - некоторые операции, введенные
на множестве A , либо в виде множества подстановок, когда отображение ст: A ^ A однозначно определяет V(xj, Х2, Х3)е A3 соответствие (xj,Х2,Х3 ) ^ у, у е A .
Сравним описанный клеточный автомат с простейшим клеточным автоматом на разбиении СА2 = (Z, N, A,2, (0,1),^, блочная функция перехода которого задается в виде
(ХЬ Х2 )1 (X1, Х2 )2 ... ( Хь x2 )|A 2
(У1, У2 )1 (У1, У2 )2 - (УЪ У2 )|A|2
у =
2 2
где (Xi, X2 )i, (yi, У2 )i є A , i = 1, |A| , причем
У
(Х1,Х2Ф (хі,Х2)7 V/ Ф7, а блок разбиения состоит из двух клеток.
Видим, что при изменении одной из операций * и о, определяющих локальную функцию перехода ст, значение данной функции изменится в общем случае независимо от значений ее аргументов, что может привести к значительным изменениям в динамике всей системы, поэтому аналитический способ задания функции ст не подходит для гибкого управления поведенческими свойствами клеточного автомата. Если зафиксировать некоторое нетривиальное состояние решетки клеточного автомата, история развития изменится, причем значительно, уже после первого шага развития.
В то же время изменение единственного элемента (уі, У2 )^ нижней строки таблицы, определяющей блочную функцию перехода у автомата СА2, приведет к изменению истории развития, только если в решетке клеточного автомата встретится блок со значением (хі, Х2 )^, причем в общем
случае эти изменения будут носить локальный характер. Это позволяет получать истории развития, обладающие малыми различиями на коротких временных отрезках.
Аналогичным образом можно вносить изменения в локальную функцию перехода классического клеточного автомата САі, заданную в виде множества подстановок, однако здесь необходимо
оперировать таблицей значительно большего размера, поскольку окрестность такого клеточного автомата должна включать не меньше трех клеток, чтобы распространение информации в решетке одномерного клеточного автомата осуществлялось в обе стороны. У клеточного автомата на разбиении СА2 минимальный размер блока составляет две клетки, так как распространение информации обеспечивается за счет смены схемы разбиения на каждом шаге развития клеточного автомата.
Кроме того, одной из характерных особенностей клеточного автомата на разбиении является возможность получения обратимых правил развития. В рамках решаемой задачи использование обратимых клеточных автоматов не является необходимым, однако такие клеточные автоматы не обладают неконструируемыми состояниями развития [3], что, в свою очередь, расширяет их поведенческие свойства.
Таким образом, клеточные автоматы на разбиении сочетают в себе возможность гибкого управления динамикой развития и отсутствие неконструируемых состояний в случае выбора обратимой блочной функции перехода.
Опишем алгоритм работы программы СЛТБа8Є8Сгеайп§.
Шаг 1. Пользователь задает параметры клеточного автомата на разбиении: длину решетки N; длину блока разбиения т ; алфавит внутренних состояний А ; правило развития у є 5^т .
Шаг 2. Пользователь задет множество базисных коэффициентов В , В = А .
Шаг 3. Пользователь задает параметры выбора базисов декоррелирующих клеточных преобразований: вектор значений одномерной функции, обладающей пространственной избыточностью, F; количество низкочастотных составляющих г ; минимальное отношение преобразованного элемента данных к математическому ожиданию М [Е], при котором элемент может считаться низкочастотной
составляющей, X ; маску, определяющую расположения частотных составляющих среди преобразованных элементов данных, Н, флаг, определяющий необходимость учета знаков низкочастотных составляющих, в е {0,1}.
Шаг 4. Пользователь задает параметры поиска базисов: состояние решетки клеточного автомата, с которого начинается поиск базисов; состояние решетки клеточного автомата, на котором завершается поиск базисов; глубину поиска в отдельной истории развития клеточного автомата.
Шаг 5. Запускается поиск базисов.
Шаг 6. Начальное состояние решетки клеточного автомата принимается в качестве первого базисного вектора.
Шаг 7. Если достигнута заданная длина истории развития клеточного автомата, то осуществляется переход к шагу 11. В противном случае состояние решетки клеточного автомата обновляется согласно заданным параметрам, и полученный вектор проверяется на взаимную ортогональность со всеми ранее найденными векторами.
Шаг 8. Если число найденных попарно взаимно ортогональных векторов равно N, то осуществляется переход к шагу 9. В противном случае - к шагу 7.
Шаг 9. Вектор Е преобразуется по формуле С = Е • С, где С - найденный базис.
Шаг 10. Если вектор С соответствует всем заданным параметрам выбора базисов, то базис С сохраняется в файл. В противном случае осуществляется переход к следующему шагу без сохранения базиса.
Шаг 11. Если достигнуто последнее из рассматриваемых в качестве начального состояний решетки клеточного автомата, то поиск базисов завершается. В противном случае задается следующее начальное состояние решетки клеточного автомата.
Для обеспечения взаимосвязи программных средств в составе рассматриваемого комплекса был разработан формат представления базисов декоррелирующих клеточных преобразований в виде файлов с расширением .саЛ (рис. 2).
Рис. 2. Формат представления данных в формате .саШ
Первое поле в структуре файлов .саШ содержит значение к е{1,2,3}, так как в программе
САТВаБеБСгеаН^ реализована динамика к -битового клеточного автомата, т.е. такого клеточного автомата, алфавит внутренних состояний которого содержит число элементов, выражаемое к -й степенью двойки, А = 2к. Второе поле определяет размерность базиса N и, соответственно, размер
следующего поля, содержащего последовательность базисных векторов, для записи которых необ-
2
ходимо 4N байт. Поле, определяющее расположение частотных составляющих в спектре одномерного декоррелирующего преобразования, содержит N бит, значения которых 0 и 1 означают, соответственно, низкочастотную и высокочастотную составляющую. Кроме того, оно содержит некоторое количество нулевых бит, необходимых для дополнения длины поля до целого числа байт. Последнее поле содержит код контроля целостности всех прочих полей.
Программное средство для исследования поведения декоррелирующих клеточных преобразований САТВа8е8Ке8еагеЬ
Программа САТВазезЯезеагсИ предназначена для исследования ортогональных преобразований, основанных на базисах, построенных в программе САТВаБеБСгеаН^, на предмет возможности их использования в качестве основы методов сжатия цифровых изображений. Данное исследование включает в себя следующие вопросы:
1. Качество восстановления блоков цифровых изображений после удаления части информации из преобразованных элементов данных в результате применения различных схем квантования.
2. Возможность кратномасштабной обработки цифровых изображений [4].
3. Поведение декоррелирующих клеточных преобразований применительно к функциям различного вида, обладающим пространственной избыточностью.
Следует отметить, что пространственная избыточность цифровых изображений является отчасти субъективной характеристикой, так как речь идет о восприятии изображения человеком, однако попытаемся описать подобные функции математически.
Пусть Л(х) - одномерная дискретная функция, вектор значений которой есть Р = (Л. Область определения и область значений функции Л (х) обозначим, соответственно, Е = {0,1,..., М -1} и Б = {0,1,., I-1}.
Рассмотрим М -1 пар соседних элементов, составляющих вектор Р, для чего введем вектор У = (уі )М1 1, элементы которого будут содержать разницу между значениями элементов каждой пары, т.е. Уі =|Л+1 - Д . Будем считать, что между элементами Лі и Л+1 наличествует пространствен-
Уі
-< ё, где ё — это вводимое нами пороговое значение. Обозначим
ная избыточность, если
тах Б
количество таких пар М' и будем считать, что последовательность значений функции Л(х) облада-
М'
ет пространственной избыточностью, если выполняется условие
М-1
> е, где е - также некоторое
пороговое значение. Для функции, моделирующей последовательность (строку или столбец) пикселей полутонового цифрового изображения либо последовательность элементов одной из плоскостей непрерывно-тонового цифрового изображения, значения ё и е примем равными, соответственно,
0,1 и 0,6.
В программе СЛТБа8е8Яе8еагсЬ рассматривается ряд функций, моделирующих участки непрерывно-тоновых цифровых изображений (некоторые из данных функций представлены на рис. 3), а также предусмотрена работа с реальными цифровыми изображениями.
а б в
Рис. 3. Функции, обладающие пространственной избыточностью: а - функция типа «парабола»; б - функция типа «угол»; в - функция типа «плоскость»
Таким образом, задача получения декоррелирующих клеточных преобразований для сжатия с их помощью цифровых изображений, сводится к построению семейств ортогональных базисов из состояний развития клеточных автоматов на разбиении с различными параметрами и выбору отдельных представителей данных семейств, обладающих наилучшими характеристиками сжатия.
Программное средство, реализующее метод сжатия цифровых изображений на основе клеточных автоматов, CATCompression
Программа CATCompression осуществляет непосредственное сжатие (компрессию) и декомпрессию цифровых изображений с помощью декоррелирующих клеточных преобразований и восстановление сжатых изображений. CATCompression предусматривает два режима работы:
1. Пользователь работает с имеющимися в программе базисами, тогда при восстановлении изображений программа сама выбирает нужный базис и другие параметры алгоритма обратного преобразования.
2. Пользователь использует базис, полученный им самим с помощью программ CATBasesCreating и CATBasesResearch. В этом случае декомпрессия изображения может быть осуществлена только при наличии файла формата .catb с этим базисом.
Для сжатия преобразованных и квантованных элементов исходного цифрового изображения используется арифметическое кодирование.
Файлы, содержащие сжатые данные, имеют расширение .ctc (Cellular Transformation Compes-sion). Общая структура сжатых файлов представлена на рис. 4.
4 байта l байт 6 байт L байт
Заголовок
формата Базис Схема квантования Сжатые элементы данных
Рис. 4. Формат файлов .ctc
На данный момент разработана первая версия программы САТСотрге88Юп, и проводятся эксперименты по разработке формата сжатых файлов, который позволит достичь максимальной степени сжатия.
Заключение
1. Разработан программный комплекс, выступающий в качестве научно-исследовательского инструмента при разработке методов сжатия цифровых изображений на основе клеточных автоматов.
2. Обоснован выбор клеточных автоматов на разбиении для построения на основе их динамики ортогональных базисов.
3. Предложено использовать для исследования характеристик сжатия декоррелирующих клеточных преобразований двумерные функции, построенные на основе элементарных одномерных функций, обладающих пространственной избыточностью. Построена математическая модель таких функций.
Литература
1. Евсютин О.О. Декоррелирующие клеточные преобразования // Тр. 54-й науч. конф. МФТИ «Проблемы фундаментальных и прикладных естественных и технических наук в современном информационном обществе». Управление и прикладная математика. - Т. 2. - М.: МФТИ, 2011. - С. 69-70.
2. Ахмед Н. Ортогональные преобразования при обработке цифровых сигналов / Н. Ахмед, К.Р Рао. - М.: Связь, 1980. - 248 с.
3. Аладьев В.З. Классические однородные структуры: теория и приложения / В.З. Аладьев, В.К. Бойко, Е.А. Ровба. - Гродно: ГрГУ, 2008. - 486 с.
4. Гонсалес Р. Цифровая обработка изображений / Р Гонсалес, Р Вудс. - М.: Техносфера, 2005. -1072 с.
Евсютин Олег Олегович
Аспирант каф. комплексной информационной безопасности электронно-вычислительных систем ТУСУРа
Тел.: +7-923-403-09-21
Эл. почта: [email protected]
Evsutin O.O.
The complex of programmes for the construction and research of decorrelating cellular transformations and for the compression of digital images on the base of it
We investigate the complex of programmes designed for the construction of orthogonal transformation bases generated from the evolving states of partitioning cellular automaton, for the research of compression characteristics of the given bases and directly for digital images compression in terms of it.
Keywords: cellular automata, decorrelating transformation, digital images compression, quantization.