Моделирование подхода к алгоритмизации сжатия изображения

Моделирование подхода к алгоритмизации сжатия изображения

О.В. Шиляева 1, А.В. Черпаков 12, К.К. Куралесин.1, Д.С. Ильина 1

1 Донской государственный технический университет 2Южный федеральный университет

Аннотация: Рассматривается задача создания формата файла, содержащего изображение, имеющего оптимизированный (сжатый) размер. Исходный файл представлен в формате BMP. Задача решается на основе оптимальной интерполяции данных полиномами различной степени. Моделирование процесса алгоритмизации выполнено в пакете MATLAB. Предложенный алгоритм показал хорошее сжатие исходной информации.

Ключевые слова: изображение, BMP формат, сжатие, алгоритм, полиномиальная регрессия.

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

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

Формат файла, содержащий графическую информацию может быть представлен в виде определенных данных: координаты и интенсивность излучаемой световой энергии на единицу поверхности в точке с изображением Б(£,ц). Единичный элемент изображения, характеризуемый определенным значением (£,ц), называется пикселем, а величина г=Б(£,,ц) -яркостью [1].

У изображений с палитрой в пикселе (одном из отчетов изображения -значение функции Б(х,у) для конкретного xt и у) хранится число - индекс в

некотором одномерном векторе цветов, называемом палитрой. Палитры обычно бывают 8, 16 и 256 - цветов [1].

Если изображение представлено в какой-то системе цветопредставления, то каждый ее пиксель является структурой, описывающей компоненты цвета. Наиболее распространенной системой цветопредставления, используемой в электронных и компьютерных системах, является система RGB. В этой системе цвет определяется как комбинация красного (R), зеленого (G) и синего (B) цвета. И на каждую из составляющих приходится по одному байту. В обычном, не сжатом файле, записи о палитре цветов располагаются поочередно, согласно простейшей логической цепочке расположения пикселей - нумерация, по умолчанию, поочередная, построчно - слева направо, переход к следующей строке -снизу-вверх. Данный формат является исходным для представления изображения и достаточно объемен, с точки зрения хранения. При разработке приложений, особенно требующих дозагрузку графических данных [2-11], в том числе и из сети интернет, приводящих к затратам трафика и времени, этот вопрос становится достаточно актуальным.

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

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

С этой цель проведено моделирование процесса сжатия изображения в исходном формате BMP в пакете MATLAB (рис 1).

Данная картинка представляется в виде файла, имеющего графическую матрицу размером 100х100 элементов. Каждый элемент матрицы состоит из массива трех цветов - {красный, зеленый, синий} (RGB) размеров в 8 бит-3=24 бита, или 3 байта. Каждый канал цвета, имеет размерность в области 0..255 условных единиц или 1 байт.

На рис. 2 представлено распределение палитры цветов (RGB) в линейной горизонтальной области. Выборка палитры происходила построчно с номерами строк а) 1; б) 20; в) 50; г) 80. Анализ показывает, что данные сортируются участками, имеющие определенное распределение и сгущение амплитуд цвета. Границы областей сгущения можно определить в виде изменения углов перегибов дискретных данных по длине.

Анализ различных областей показывает, что данные распределения параметров цвета представляются в виде:

1. линейно-протяженного распределения типа у=кх+Ь в области [x1, x2];

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

области [x1,x2];

3. одиночных точек, имеющих исходное описание типа.

0

О 50 100

Рис. 1. - Пример исследуемого изображения

С целью оптимизации предполагается использование полиномов до 5-ой степени.

a)

в)

О 10 20 30 40 50

70 ЙО 90

б)

г)

30 40 50 60 70 80 90

Рис. 2. - Распределения палитры цветов (RGB, соответственно) в линейной горизонтальной области по строкам с номерами а) 1; б) 20; в) 50; г) 80

Алгоритм анализа массива описания изображения включает в себя:

1. Выделение цветового распределения в строках;

2. Нахождение перегибов, характеризующей разбиение массива на участки;

3. Для каждого участка построение функции подобия в виде интерполяционной кривой;

4. Представление массива данных в виде наборы следующих данных: - открытие новой строки: заглавные буквы нового участка ББ;

- отдельных точек: заглавные буквы нового участка TT; NN - номер точки 2 байта; затем описание цвета: [R] -1 байт, [G] - 1 байт, [B] - 1байт;

- полиномиальной функции: заглавные буквы нового участка PP, количество коэффициентов полинома NN (1 байт), коэффициенты полинома [x¡:xn], запись расхождения по цветам в виде Acoll = Rt - Col1.

5. Расчет расхождения между полиномом и локацией амплитуд цветового распределения.

6. Полученное число (формата A^^^2A^з •• A, каждая из

компонентов которого Acoli варьируется значением от 0 до 9) переводим в

битовый формат. Для случая разбиения чисел на двойные и одинарные перед первыми добавляем число 9.

Анализ реализации. На рис. 3 представлены результаты примера разбиения на участки строки № 20. На данной строке участки с номерами 1-7 имеют разброс углов перегибов не более 10 рад. Что может быть достаточно хорошим результатом при нахождении описания полиномиальной зависимости. Результаты наложения для хорошо интерполируемых областей показаны на рис. 4.

Рис. 3. - Распределение дискретных областей в цветовой палитре для 20 строки. а) линейное представление дискретных областей; б) области: красные точки - углы перегибов, черные точки -участки для линейной регрессии

0 10 20 30 40 50 60 ТО во 00 100

Рис. 4. - Наложение на дискретные области полиномов

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

Работа выполнена при частичной поддержке Минобрнауки России (проект № БЧ0110-11/2017-20), РФФИ (проект 19-08-00365 -а).

Литература

1. Гонсалес Р., Вудс Р. Цифровая обработка изображений. Москва. Техносфера, 2006. 1072 с.

2. Скороход С.В., Дроздов С.Н., Скороход Д.С. Исследование зависимости качества декодированного изображения в формате jpeg 2000 от параметров jpwl и частоты пакетных ошибок в зашумленном канале // Инженерный вестник Дона, 2017, № 4. URL: ivdon.ru/ru/magazine/archive/n4y2017/4453

3. Альбекова З.М., Квашурин В.О., Тутик Н.А. Анализ эволюции технологии беспроводных сетей и прогнозы развития инфокоммуникационных сетей в России // Инженерный вестник Дона, 2016, №4 URL: ivdon.ru/ru/magazine/archive/n4y2016/3933.

4. Переверзев И. А., Шиляева О.В. О разработке инструмента для стилизации изображений с помощью нейронных сетей // Аллея науки. 2018. Т. 2. № 7 (23). С. 152-156.

5. Куралесин К.К., Шиляева О.В. Разработка веб сервиса с взаимодействием через API // Инновационное развитие. 2018. № 5 (22). С. 30-31.

6. Ильина Д.С., Шиляева О.В. Исследование методов оптимизации веб-приложения для продвижения в SEO // Инновационное развитие. 2018. № 5 (22). С. 21-22.

7. Шиляева О.В. Системы управления версиями // В сборнике: Строительство и архитектура - 2015. РГСУ. 2015. С. 97-98.

8. Паринов И.А., Соловьев А.Н., Черпаков А.В. программа "vibrograf" для регистрации, визуализации и обработки колебаний конструкций. / Свидетельство о регистрации программы для ЭВМ RUS 2016612309 24.02.2016

9. Паринов И.А., Черпаков А.В., Рожков Е.В., Соловьев А.Н., Чебаненко В.А. Программа генератор сигнала Sgenerator. / Свидетельство о регистрации программы для ЭВМ RUS 2018610408 13.11.2017

10. M. Berning, K. M. Boergens, and M. Helmstaedter. SegEM: Efficient Image Analysis for High-Resolution Connectomics. Neuron. Sept. 2015, 87(6), pp.11931206

11. A. A. Efros and W. T. Freeman. Image quilting for texture synthesis and transfer. In: Proceedings of the 28th annual conference on Computer graphics and interactive techniques. ACM. 2001, pp. 341-346

References

1. Gonsales R., Vuds R. Cifrovaya obrabotka izobrazhenij [Digital image processing], Moskva. Tekhnosfera, 2006. 1072 p.

2. Skorohod S.V., Drozdov S.N., Skorohod D.S. Inzenernyj vestnik Dona (Rus), 2017, № 4. URL: ivdon.ru/ru/magazine/archive/n4y2017/4453.

3. Al'bekova Z. M., Kvashurin V. O., Tutik N. A. Inzenernyj vestnik Dona (Rus), 2016, №4. URL: ivdon.ru/ru/magazine/archive/n4y2016/3933.

4. Pereverzev I.A., Shilyaeva O.V. Alleya nauki. 2018. V.2. №7(23). pp. 152-156.

5. Kuralesin K.K., Shilyaeva O.V. Innovacionnoe razvitie. 2018. №5 (22). pp. 3031.

6. Il'ina D.S., Shilyaeva O.V. Innovacionnoe razvitie. 2018. №5(22). pp. 21-22.

7. Shilyaeva O.V. Sistemy upravleniya versiyami. V sbornike: Stroitel'stvo i arhitektura -2015 (In: Building and Architecture -2015). RGSU, 2015, pp. 97-98.

8. Parinov I.A., Solov'ev A.N., Cherpakov A.V. Programma "vibrograf" dlya registracii, vizualizacii i obrabotki kolebanij konstrukcij [The program "vibrograf" for registration, visualization and processing of vibrations of structures]. Cvidetel'stvo o registracii programmy dlya EHVM RUS [The certificate of registration of software] 2016612309 24.02.2016

9. Parinov I.A., CHerpakov A.V., Rozhkov E.V., Solov'ev A.N., CHebanenko V.A. Programma generator signala Sgenerator [The program signal generator Sgenerator]. Cvidetel'stvo o registracii programmy dlya EHVM RUS [The certificate of registration of software ENG] 2018610408 13.11.2017

10. M. Berning, K. M. Boergens, and M. Helmstaedter. SegEM: Efficient Image Analysis for High-Resolution Connectomics. Neuron. Sept. 2015, 87(6), pp.11931206

11. A. A. Efros and W. T. Freeman. In: Proceedings of the 28th annual conference on Computer graphics and interactive techniques. ACM. 2001, pp. 341-346.