UA   EN
ДонНТУ   Портал магистров

Реферат по теме выпускной работы

Содержание

Введение

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

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

Сжатый (упакованный) файл называется архивом. Процесс записи файла в архивный файл называется архивированием (упаковкой, сжатием), а извлечение файла из архива – разархивированием (распаковкой). Архивация информации – это такое преобразование информации, при котором объём информации уменьшается, а количество информации остается прежним [1].

Сегодня архиваторы используются преимущественно для выкладывания данных в Сеть. Большинство драйверов на сайтах производителей выкладываются именно в архивах, и большая часть программ на различных ресурсах также заархивированы. Кстати, и сам пользователь прежде чем выложить какие-либо данные в Сеть (например, на файлообменные ресурсы), запаковывает данные в архив [2]

1. Актуальность темы

Большинство цифровых данных хранятся в двоичных (бинарных) файлах. Чистые текстовые файлы встречаются довольно редко (вероятно, менее 2% данных в мире). Есть несколько причин, по которым используются бинарные файлы:

1. Ввод и вывод намного быстрее при использовании двоичных данных. Преобразование 32-разрядного целого числа в символы занимает время. Не так много времени, но если файл (например, файл изображения) содержит миллионы чисел, накопленное время преобразования является значительным. Компьютерные игры замедлялись бы, если бы их данные хранились в виде символов.

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

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

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

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

Сжатие – это способ кодирования цифровых данных так, чтобы они занимали меньший объём памяти. Для сжатия данных используются методы двух типов – с потерей и без потери данных. Методики с потерей данных позволяют сжать файл, но некоторые данные при этом теряются безвозвратно. А методы сжатия без потери данных сжимают информацию, не искажая её и ничего не теряя во время этого процесса. После восстановления оригинальный документ идентичен исходному с точностью до бита [5]. Поэтому при работе с бинарными данными нужно использовать именно методы сжатия без потери данных. Одними из таких являются алгоритмы сжатия изображений, которые будут использоваться в данной работе.

2. Цель и задачи исследования, планируемые результаты

Целью работы является разработка метода сжатия бинарных данных на основе методов сжатия изображений.

В процессе работы необходимо выполнить следующие задачи:

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

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

3. Обзор исследований и разработок

Вследствие растущих объёмов обрабатываемой и хранимой информации особое значение приобретает архивация данных с их сжатием.

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

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

3.1 Обзор международных источников

В статье [8] Салауддин М. предложил новый метод сжатия для общих данных, основанный на логической таблице истинности. Последовательность входных данных проверяется там, где она чётная или нечётная. Если последовательность нечётная, тогда добавляется бит, 0 или 1, в зависимости от последнего бита, а если чётная, тогда этот шаг пропускается. Если последний бит входной последовательности равен 0, тогда добавляется 0, а если равен 1, то добавляется 1. Затем бинарные данные представляются одним битом на основании предложенной таблице истинности. Таким образом, осуществляется сжатые данных.

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

3.2 Обзор национальных источников

Павлов И.В. в своей работе [10] представляет разработанные различные варианты алгоритмов поиска совпадающих последовательностей символов, что является предварительной процедурой для сжатия данных с помощью алгоритма Лемпела–Зива. Предложенные алгоритмы, в отличие от известных, основаны на использовании деревьев цифрового поиска, что приводит к невысокой критичности временных затрат на поиск к длине исходной последовательности символов. Кроме того, предложенные алгоритмы позволяют выбирать оптимальный вариант алгоритма поиска в зависимости от располагаемых вычислительных ресурсов. Разработанная модификация алгоритма Лемпела–Зива обеспечивает увеличение степени сжатия по сравнению с известными его вариантами на 10-40 % в зависимости от данных.

3.3 Обзор локальных источников

В работах магистров Донецкого национального технического университета также рассматривалась тема архивации и сжатия данных:

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

4. Специфика архивации бинарных данных на основе алгоритмов сжатия изображений

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

Цвет в модели RGВ представляется как сумма трёх базовых цветов – красного (Red), зелёного (Green) и синего (Blue). Из первых букв английских названий этих цветов составлено название модели. На рис. 1 показано, какие цвета получаются при сложении трёх базовых.

Комбинации базовых цветов модели RGB

Рисунок 1 – Комбинации базовых цветов модели RGB [14]

Поскольку яркость каждой из базовых составляющих цвета может принимать только 256 целочисленных значений, каждое значение можно представить 8-разрядным двоичным числом (последовательностью из 8 нулей и единиц) или, другими словами, одним байтом. Таким образом, в модели RGB информация о каждом цвете требует 3 байта [14].

Преобразованные из двоичного файла пиксели необходимо сохранить в файле, который использует установленный формат файла растрового изображения и которому присвоено имя с трехбуквенным расширением .bmp. Установленный формат файла растрового изображения состоит из структуры bitmapfileheader, за которой следует структура bitmapinfoheader и массив структур rgbquad (также называемый таблицей цветов). Таблица цветов сопровождается вторым массивом индексов в таблицу цветов (фактические данные растрового изображения).

В структуре bitmapfileheader идентифицируется файл, указывается размер файла в байтах и смещение от первого байта в заголовке до первого байта данных растрового изображения. В структуре bitmapinfoheader определяется ширина и высота растрового изображения в пикселях; формат цвета (количество цветовых плоскостей и цветовых битов на пиксель) устройства отображения, на котором была создана битовая карта; были ли данные растрового изображения сжаты перед хранением и тип используемого сжатия; количество байтов растровых данных; разрешение устройства отображения, на котором было создано растровое изображение; и количество цветов, представленных в данных. Структуры RGBQUAD задают яркостные значения RGB для каждого из цветов в палитре устройства [15]

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

После создания растрового изображение в формате .bmp, оно конвертируется в формат .png, использующий метод сжатия Deflate, или в формат .pcx, в котором используется RLE сжатие.

Процесс архивации бинарных данных на основе алгоритмов сжатия изображений представлен на рис. 2.

Процесс архивации/разархивации бинарных данных на основе алгоритмов сжатия изображений

Рисунок 2 – Процесс архивации/разархивации бинарных данных на основе алгоритмов сжатия изображений (анимация: 10 кадров, 7 циклов, 52 килобайта)

Выводы

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

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

На момент написания данного реферата магистерская работа еще не завершена. Окончательное завершение: май 2019 года. Полный текст работы и материалы по теме могут быть получены у автора или его руководителя после указанной даты.

Список источников

  1. Основы информационных технологий [Электронный ресурс]. – Режим доступа: https://libr.msu.by/xmlui/bitstream/handle/123456789.
  2. Служебные программы, их виды и функциональные возможности [Электронный ресурс]. – Режим доступа: https://compress.ru/article.aspx?id=23664.
  3. Kjell Br.Why Binary Files are Needed [Электронный ресурс]. – Режим доступа: https://chortle.ccsu.edu/java5/Notes/chap86/ch86_6.html.
  4. Программы-архиваторы. Общие сведения [Электронный ресурс]. – Режим доступа: http://gulnaraspt2012.narod.ru/u002files/u0025.htm.
  5. Коупланд Л. Сжатие данных и изображений [Электронный ресурс]. – Режим доступа: https://www.osp.ru/cw/2000/33/6612/.
  6. Баранов Г. Обзор методов сжатия данных [Электронный ресурс]. – Режим доступа: http://www.compression.ru/arctest/descript/methods.htm.
  7. Смит Ст. Форматы и методы сжатия данных [Электронный ресурс]. – Режим доступа: http://www.russianelectronics.ru/leader-r/review/8602/doc/46598/.
  8. Mahmud S. An improved data compression method for general data [Электронный ресурс]. – Режим доступа: https://www.ijser.org/researchpaper/An-Improved-Data-Compression.
  9. Sathesh R., Mohan R., Parthasarathy P. Double compression based reversible data hiding in encrypted image [Электронный ресурс]. – Режим доступа: http://www.academia.edu/31192146/DOUBLE_COMPRESSION.
  10. Павлов И.В. Модифицированный алгоритм Лемпела - Зива эффективного сжатия информации с использованием статистических прогнозирующих моделей [Электронный ресурс]. – Режим доступа: http://www.dissercat.com/content/modifitsirovannyi-algoritm.
  11. Козленко Д. А. Исследование алгоритмов сжатия информации и выбор оптимального из них для архивации данных в среде системы автоматизации раскроем проката на НЗС [Электронный ресурс]. – Режим доступа: http://masters.donntu.ru/2005/fvti/kozlenko/diss/index.htm.
  12. Краморенко Е. Г. Методы и алгоритмы сжатия информации для передачи и хранения сенсорных данных [Электронный ресурс]. – Режим доступа: http://masters.donntu.ru/2013/fknt/kramorenko/diss/index.htm.
  13. Кремешная О. А. Разработка компьютеризированной системы сжатия информации, полученной в результате научных экспериментов, для долговременного хранения [Электронный ресурс]. – Режим доступа: http://masters.donntu.ru/2004/kita/kremeshnaya/diss/index.htm.
  14. Скрылина С. Цвет и его модели [Электронный ресурс]. – Режим доступа: https://compuart.ru/article/23772.
  15. Bitmap Storage [Электронный ресурс]. – Режим доступа: https://docs.microsoft.com/ru-ru/windows/desktop/gdi/bitmap-storage.