Хранение экспериментальных данных в графических файлах

УДК 004.62; 004.63;004.92 А. Н. Темников

ХРАНЕНИЕ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ В ГРАФИЧЕСКИХ ФАЙЛАХ

Ключевые слова: информация, сжатие, восстановление, файл, формат.

Проведено сравнение размеров графических файлов с разными алгоритмами сжатия информации (BMP, GIF, JPG, PNG, TIFF), содержащих данные, моделирующие результаты гипотетических экспериментов. Определены предпочтительные форматы файлов для хранения экспериментальных данных с разным отношением сигнал/шум.

Keywords: information, compression, recovery, file, format.

A comparison of the sizes of image files with different algorithms of information compression (BMP, GIF, JPG, TIFF, and PNG) containing the data modeling the results of hypothetic experiments, was carried out. The preferable file formats for saving of experimental data with various signal to noise ratio was determined.

Результаты многих естественнонаучных экспериментов и наблюдений представляют собой двумерные изображения (см., например, [1 - 3]). Эти изображения, как правило, оцифровывают и сохраняют в графических файлах для дальнейшего анализа данных на ЭВМ. Наиболее популярными являются файлы форматов JPG, GIF, TIF, PNG, BMP [4, 5]. Все эти файлы позволяют хранить графическую информацию без потери качества изображения. При этом используются различные алгоритмы сжатия данных, что приводит к различию размеров файлов разного типа.

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

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

Изображение X. Генерирующей является функция Fj = Sexp

Изображение Y. Генерирующей является функция F2 = Sexp(-ay)cos(kyß), создающая изображение горизонтальной плоской волны с убывающими в направлении оси y амплитудой и длиной волны.

Изображение XY. Генерирующей является функция F3 = д/FjF2 . Изображение представляет собой результат суперпозиции затухающих горизонтальных и вертикальных плоских волн.

Изображение N. Генерирующей является функ-

10

ция F4 = (М10)£ RND , где RND - случайное чис-

1

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

• • • •ФФФФФМИ

• • • • • • тт+тттш ' |4|itiftn<><

I Л А Дфффффффффф

• II

Рис. 1 - Изображения X, Y, XY и N. Пояснения в тексте статьи

Любые экспериментальные данные включают как регулярно повторяющиеся, так и случайные сигналы. Поэтому были получены также изображения ХЫ, YN и ХУК, отличающиеся от изображений X, У и ХУ лишь наличием шума. В этом случае генерирующими являлись функции

f5 = f + f4,

F6

= F2 + F4

и F7 = F3 + F4 .

Соотношение S/N (сиг-

нал/шум) выбиралось равным 10.

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

Программа, на языке VB6, генерирующая эти изображения, записывала их в файл типа BMP. Аббревиатура BMP (сокращение BitMap Picture) ука-

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

С помощью графического редактора Paint, входящего в стандартный пакет Windows, файлы BPM перезаписывались в файлы типа GIF, JPG, PNG и TIF, при этом параметры записи устанавливались соответствующим максимальному (100%-му) качеству изображения.

Заметим, что термин «качество изображения» может трактоваться как в субъективном, так и в объективном смысле. В первом случае изображение, извлеченное из графического файла должно быть неотличимо от изображения, записанного в этот файл, по мнению человека (эксперта), проводящего визуальное сравнение этих изображений. Во втором случае все пиксели изображения, извлеченного из графического файла, должны быть тождественны соответствующим пикселям изображения, записанного в этот файл, что проверяется с помощью специальной программы. В данной работе 100% качество изображения понималось в объективном смысле - как полная тождественность двух изображений: исходного и перезаписанного, что подтверждалось программным путем.

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

Таблица 1 - Размеры графических файлов разного типа, хранящих изображения разного вида

Такие метаморфозы, очевидно, связаны с особенностями алгоритма сжатия данных в PNG файле. Повторение строк (в изображении вида X) или повторение столбцов (в изображении вида Y) позволяет резко уменьшить размер файла. (Заметим, что аналогичное поведение, но на другом количественном уровне, демонстрирует и файл формата GIF).

Как ни парадоксально, но PNG файл лидирует и в том случае, когда повторяемости элементов изображения нет в принципе (изображение вида N). Правда, в этом случае отрыв от ближайших конкурентов (файлов JPG и GIF) не превышает 30% (что, впрочем, может составлять значительную величину в байтах при больших размерах файла). Во всех остальных случаях, когда на регулярное изображение накладывается нерегулярный шум, минимальный размер имеют файлы типа JPG.

Учитывая эти особенности, интересно выяснить зависимость размеров файлов JPG и PNG от величины отношения шум/сигнал (N/S). Результаты приведены на рис. 2 и рис. 3 для изображений типа XN и XYN.

Рис. 2 -- Зависимость размера файлов JPG и PNG от уровня шума в изображении вида XN

Вид изображения

X

Y

XY

N

XN

YN

XYN

BMP

117

117

117

117

117

117

117

Тип файла

GIF

6.79

4.87

40.8

46.3

45.0

30.8

41.3

JPG

10.1

10.2

16.6

44.6

22.3

22.0

24.0

PNG

1.46

1.46

24.6

33.8

34.5

28.9

34.1

TIF

59.5

18.6

68.8

64.3

72.9

57.5

67.5

50

40

аз ю

аз с;

аз

CL

ш

_г 30

20

аз Û_

10

О —г

0,01

0,1

--JPG -•-PNG

11111-1—I—I 111111-1—I—I 111111-1—I

N/S

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

Следующее наблюдение - сюрприз, преподнесенный файлами типа PNG. При перезаписи изображений вида X и Y из формата BMP в PNG размер файла уменьшился в 80 раз! Однако при переходе к изображению XY размер файла резко возрастает.

Рис. 3 - Зависимость размера файлов JPG и PNG от уровня шума в изображении вида XYN

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

и затем немного снижается. Для изображений вида XYN размер файла PNG слабо зависит от уровня шумов.

Анализ рисунков 2 и 3 позволяет выделить несколько областей значений N/S, в каждой из которых предпочтительнее использовать тот или иной тип файла. Так, в случае изображений вида XN при 0.02 < N/S < 0.5 файлы JPG имеют меньший размер, чем PNG файлы. При N/S < 0.01 и при N/S > 1 выгоднее хранить массив экспериментальных данных в файлах PNG.

В случае изображений вида XYN файлы PNG лучше использовать при N/S > 1, то есть при больших шумах (когда полезный сигнал выделяют с помощью статистических методов анализа). При небольших шумах предпочтительнее файлы JPG, например, при N/S < 0.2, файлы JPG имеют размер в ~1.5 раза меньший, чем файлы PNG.

При записи графических файлов можно существенно уменьшить размер файла, используя дополнительные настройки. Так, в случае JPG предлагается выбрать качество записи в диапазоне от 100% до 0 %. Для выяснения влияния этого параметра на достоверность данных было проведено дополнительное исследование. Сигналы вида XN с разным уровнем шума записывались в JPG файлы разного качества. Для каждого файла определялся его размер и относительная погрешность записи данных в расчете на одну точку, в качестве истинных значений использовались значения генерирующей функции. Результаты исследования приведены в таблице 2.

Таблица 2 - Размер JPG файла и среднеквадратичное отклонение содержащихся в нем данных от значений генерирующей функции при разном отношении шум/сигнал и разном качестве записи

Качество, % Размер, кБ с, 10-2

N/S = 0.01

100 14.0 0.665

90 7.0 0.717

50 4.5 1.01

20 3.2 1.67

10 2.6 2.62

N/S = 0.1

100 22.3 5.88

90 7.96 5.84

50 4.35 5.90

20 3.15 6.01

10 2.51 6.52

N/S = 1.0

100 36.1 32.39

90 17.1 32.35

50 5.89 32.04

20 3.11 31.88

10 2.21 31.89

Из таблицы видно, что для сигналов с разным уровнем шума зависимости среднеквадратичного отклонения от качества записи различны. При малых шумах величина с резко возрастает при снижении качества записи. При значении N/S = 0.1 с практически не зависит от качества записи, вплоть до 50% (заметим, что при этом размер файла уменьшается в 5 раз). Наконец, когда уровень шума становится сравнимым с уровнем сигнала, величина с уменьшается (!) с уменьшением качества записи, при этом размер файла может быть уменьшен более чем в 15 раз.

Последний, довольно неожиданный результат, очевидно, объясняется особенностями алгоритма сжатия информации при записи данных в формате JPG, основанном на постепенном удалении высокочастотных составляющих сигнала [4]. Наглядно это иллюстрирует рис. 4, на котором представлены фрагменты сигналов, извлеченных из JPG файлов, записанных с разным качеством, а также фрагмент исходного сигнала с нулевым уровнем шума. Каждый фрагмент представляет собой профиль изображения вида XN в направлении оси X при постоянном значении Y. Видно, что по мере снижения качества записи сигналов их форма приближается к форме исходного сигнала.

Рис. 4 - Фрагменты сигналов, восстановленных из сжатых графических JPG файлов вида XN, записанных с разным качеством (коэффициентом сжатия): сверху вниз - 100% (1), 50% (6), 10% (17). Нижняя кривая - фрагмент сигнала с N/S = 0

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

Литература

1. Ш.А. Шермухамедов, С.А. Панкратова, Вестник технологического университета, 19, 2, с. 91- 93

2. Е.А. Емельянычева, А.И. Абдуллин, Вестник Казанского технологического университета, 15, 12, с. 172 - 174

3. А.Е. Заикин. Вестник Казанского технологического университета, 16, 13, с.102 - 106

4. J.D. Murray, W.V. Ryper, Encyclopedia of Graphics File Formats: The Complete Reference, O'Reilly Media, 1996, 1152 p.

5. S. Rimmer, Windows bitmapped graphics New York: Windcrest/McGraw-Hill, 1993, 381 p.

© А Н. Темников, к.ф.-м.н., доцент, кафедра физики, Казанский национальный исследовательский технологический университет, antemnikov@yahoo.com.

© A. N. Temnikov, PhD in Physics and Mathematics, Associate Professor, Physics Department, Kazan National Research Technological University, antemnikov@yahoo.com.