АНАЛИЗ И СРАВНЕНИЕ МЕТОДОВ СЖАТИЯ ПРИ ОБРАБОТКЕ ДАННЫХ БОЛЬШОГО ОБЪЁМА - Студенческий научный форум

XVII Международная студенческая научная конференция Студенческий научный форум - 2025

АНАЛИЗ И СРАВНЕНИЕ МЕТОДОВ СЖАТИЯ ПРИ ОБРАБОТКЕ ДАННЫХ БОЛЬШОГО ОБЪЁМА

Адаменко К.М. 1
1ФГБОУ ВО "Мелитопольский государственный университет"
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение.Современная эпоха характеризуется беспрецедентным ростом объемов данных, генерируемых различными источниками, такими как социальные сети, интернет вещей (IoT), биоинформатика и многие другие области. Обработка и хранение этих данных представляют собой значительные вызовы для информационных систем [1]. Одним из наиболее эффективных решений является использование методов сжатия данных, которые позволяют уменьшить объем хранимой и передаваемой информации, сохраняя при этом ее целостность и доступность для анализа.

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

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

Материал и методы исследования

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

  • MP3 (для аудиофайлов) и MPEG (для видеоданных).

  • Для экспериментов использовались тестовые наборы данных различного типа:

  • Текстовые файлы (корпус текстов из различных предметных областей)

  • Изображения (в формате PNG и BMP для оценки алгоритмов без потерь, а также JPEG для анализа алгоритмов с потерями)

  • Аудиофайлы (в формате WAV)

  • Видеофайлы (в формате RAW и MP4)

Исследование проводилось на вычислительном кластере с характеристиками:

  • Процессор: Intel Xeon Gold 6230 (2.1 ГГц, 20 ядер)

  • ОЗУ: 128 ГБ DDR4

  • Хранилище: SSD NVMe 2 ТБ

  • ОС: Ubuntu 20.04 LTS

Исследование включает сравнительный анализ алгоритмов по следующим критериям:

  1. Степень сжатия (CR, Compression Ratio) – отношение размера сжатого файла к исходному размеру.

  2. Время сжатия – измерение скорости работы алгоритма при сжатии различных типов данных.

  3. Время декомпрессии – оценка скорости восстановления данных.

  4. Качество восстановленных данных (для алгоритмов с потерями) – измерение PSNR (Peak Signal-to-Noise Ratio) и SSIM (Structural Similarity Index) для изображений и аудио.

  5. Потребление оперативной памяти – учет максимального объема оперативной памяти, используемой в процессе работы алгоритма.

Для проведения экспериментов была разработана программная среда, реализованная на языке Python с использованием библиотек:

  1. gzip, bz2, zlib – для алгоритмов без потерь

  2. PIL и OpenCV – для анализа изображений

  3. librosa – для обработки аудиофайлов

  4. ffmpeg-python – для работы с видеоданными

Результаты каждого эксперимента фиксировались и анализировались с использованием библиотек pandas и matplotlib.

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

Результаты исследования и их обсуждение

Методы сжатия данных имеют долгую историю, начиная с начала 20 века. Одним из первых и наиболее известных алгоритмов является кодирование Хаффмана, предложенное Дэвидом Хаффманом в 1952 году. Этот метод основывается на построении дерева кодов, где более часто встречающиеся символы кодируются короткими последовательностями бит, а редко встречающиеся — более длинными.

Еще один важный шаг был сделан в 1977 году с появлением алгоритма LZ77, разработанного Абрахамом Лемпелем и Яковом Зивом. Этот алгоритм вводит понятие словарного сжатия, где повторяющиеся последовательности символов заменяются ссылками на предыдущие вхождения. В 1984 году был предложен алгоритм LZW, который является модификацией LZ77 и широко используется в формате GIF.

Современные методы сжатия данных развивались на основе классических алгоритмов, добавляя новые техники и подходы. К примеру, алгоритм DEFLATE, используемый в формате ZIP и gzip, объединяет LZ77 и кодирование Хаффмана, обеспечивая высокую степень сжатия и скорость.

Другой современный метод — Brotli, разработанный Google, также основан на комбинации LZ77 и кодирования Хаффмана, но включает дополнительные оптимизации для повышения эффективности сжатия. В сфере мультимедиа популярными являются алгоритмы JPEG (для изображений), MP3 (для аудио) и MPEG (для видео), которые применяют дискретные преобразования и псих акустические модели для удаления избыточной информации.

Методы сжатия данных применяются в самых различных областях:

  1. Медиатехнологии: Сжатие изображений, аудио и видео для хранения и передачи в интернете (например, потоковое видео и аудио) [2].

  2. Телекоммуникации: Сжатие данных для увеличения пропускной способности каналов связи и уменьшения времени передачи [3].

  3. Облачные вычисления: Оптимизация хранения данных и уменьшение затрат на ресурсы.

  4. Биоинформатика: Сжатие геномных данных для эффективного хранения и анализа больших объемов биологических данных.

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

Рассмотрим наиболее популярные методы сжатия более детально. Начнем с методов сжатия без потерь [5]:

Brotli

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

Принцип работы:

  • использует комбинацию словарного кодирования LZ77;

  • применяет контекстное моделирование Хаффмана;

  • содержит предварительно определённый словарь веб-ориентированных слов;

  • особенно эффективен для HTML, CSS, JavaScript и других веб-ресурсов.

GZIP

Универсальный формат сжатия, широко используемый в веб-серверах и Unix-системах. Обеспечивает хороший баланс между степенью сжатия и скоростью работы.

Принцип работы:

  • основан на алгоритме DEFLATE;

  • использует LZ77 для поиска повторяющихся последовательностей;

  • применяет кодирование Хаффмана для оптимизации часто встречающихся символов;

  • поддерживает разные уровни сжатия (от 1 до 9).

LZMA

Алгоритм с высокой степенью сжатия, используемый в формате 7-Zip. Требует больше ресурсов, но обеспечивает лучшее сжатие по сравнению с GZIP.

Принцип работы:

  • использует улучшенную версию алгоритма LZ77;

  • применяет большие словари для поиска совпадений;

  • использует адаптивное арифметическое кодирование;

  • включает сложные модели вероятности для предсказания символов.

LZ4

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

Принцип работы:

  • использует упрощённую версию LZ77;

  • применяет быстрый поиск совпадений;

  • имеет простой формат блоков для быстрой распаковки;

  • минимизирует использование памяти.

Для сжатия файлов графического, видеоматериалов и аудиоматериалов используются методы сжатия с потерями, рассмотрим их:

Сжатие изображений JPEG (Joint Photographic Experts Group) — это стандартный метод сжатия изображений, который использует дискретное косинусное преобразование (DCT) для удаления избыточной информации. JPEG позволяет добиться значительного уменьшения размера файлов изображений с минимальными потерями качества, что делает его популярным в цифровой фотографии и веб-графике.

Сжатие аудио MP3 (MPEG-1 Audio Layer 3) — это стандартный метод сжатия аудио, который использует психоакустическую модель для удаления звуков, которые не воспринимаются человеческим ухом. Этот метод позволяет значительно уменьшить размер аудиофайлов, сохраняя при этом их качество на приемлемом уровне для большинства пользователей.

Сжатие видео MPEG (Moving Picture Experts Group) — это стандартный метод сжатия видео, который сочетает в себе методы сжатия изображений и аудио, а также межкадровое сжатие. MPEG использует различные техники, такие как дискретное косинусное преобразование и прогнозирование, для уменьшения объема данных, что позволяет эффективно передавать и хранить видеофайлы [4].

К форматам подобного сжатия относятся:

WebP

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

Принцип работы:

  • использует предсказательное кодирование;

  • применяет дискретное косинусное преобразование (dct);

  • выполняет адаптивное квантование для разных областей;

  • поддерживает прозрачность и анимацию.

H.265/HEVC

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

Принцип работы:

  • разделяет кадры на блоки разного размера (до 64x64);

  • использует продвинутое предсказание движения;

  • поддерживает параллельную обработку;

  • применяет улучшенное энтропийное кодирование cabac.

AV1

Открытый и бесплатный формат сжатия видео, разработанный Alliance for Open Media. Обеспечивает лучшее сжатие по сравнению с H.265.

Принцип работы:

  • использует многослойное предсказание кадров;

  • применяет адаптивное разделение блоков;

  • включает продвинутые фильтры для устранения артефактов;

  • поддерживает множество инструментов кодирования.

Отдельного упоминания заслуживают специальные методы сжатия, к ним относятся:

DEFLATE — это метод сжатия, который объединяет алгоритмы LZ77 и кодирования Хаффмана. Этот метод широко используется в форматах ZIP и gzip и обеспечивает высокую степень сжатия и производительность.

Среди форматов результатов работы специальных методов сжатия особого внимания заслуживают следующие:

HDF5

Формат для хранения и организации больших объёмов научных данных. Поддерживает сложные иерархические структуры данных.

Принцип работы:

  • организует данные в виде древовидной структуры;

  • поддерживает чанкинг (разделение на блоки);

  • интегрирует различные алгоритмы сжатия;

  • хранит метаданные вместе с данными.

CRAM

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

Принцип работы:

  • использует референсную последовательность;

  • хранит только отличия от референса;

  • применяет специальные методы кодирования;

  • поддерживает выборочную распаковку.

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

Таблица 1 - Сравнительный анализ методов сжатия данных

Метод сжатия

Принцип работы

Применение

Преимущества

Недостатки

Методы сжатия без потерь

Кодирование Хаффмана

Построение дерева кодов, где частые символы имеют короткие коды

Текстовые данные, общее сжатие

Эффективно для текста

Оптимальное кодирование

Требует два прохода по данным

Overhead при малых данных

LZW (Lempel-Ziv-Welch)

Построение словаря последовательностей символов

GIF, TIFF форматы

Универсальность

Хорошее сжатие повторов

Патентные ограничения

Требует память для словаря

RLE (Run-Length Encoding)

Замена повторов на символ и число повторений

Простая графика, данные с повторами

Простота реализации

Быстрая работа

Неэффективен для случайных данных

DEFLATE

Комбинация LZ77 и кодирования Хаффмана

ZIP, gzip форматы

Хорошая степень сжатия

Широкая поддержка

Средняя скорость работы

Brotli

Улучшенная версия DEFLATE с дополнительными оптимизациями

Веб-контент, HTTP сжатие

Лучшее сжатие чем DEFLATE Оптимизирован для веба

Медленное сжатие

Новый стандарт

Методы сжатия без потерь

JPEG

Дискретное косинусное преобразование (DCT)

Фотографии, веб-графика

Высокая степень сжатия Настраиваемое качество

Потеря качества Артефакты при сильном сжатии

MP3

Психоакустическое моделирование

Аудио файлы

Значительное уменьшение размера Приемлемое качество звука

Потеря качества

Не подходит для профессионального использования

MPEG

Комбинация DCT и межкадрового сжатия

Видео файлы

Эффективное сжатие видео Широкая поддержка

Сложность кодирования Требовательность к ресурсам

Выводы. По результатам исследования можно сделать следующие выводы:

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

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

Временные характеристики алгоритмов показывают, что методы на основе Huffman и LZW работают быстрее при сжатии текстовых данных, тогда как Deflate и Bzip2 эффективнее при работе с изображениями.

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

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

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

Список литературы

  1. Features of the development of an automated educational and control complex for checking the quality of students / D. Bukreiev, P. Chornyi, E. Kupchak, A. Sender // CEUR Workshop Proceedings : 3, Kryvyi Rih, 27 ноября 2020 года. – Kryvyi Rih, 2020. – P. 55-74. – EDN SXYNJI.

  2. Букреев, Д. А. Актуальность использования программно-аппаратных комплексов для повышения качества учебного процесса в условиях смешанного обучения / Д. А. Букреев // Современные информационные технологии в условиях новых вызовов : Материалы VII Международной научной интернет-конференции, Донецк, 17 мая 2024 года. – Донецк: Федеральное государственное бюджетное учреждение высшего образования "Донецкий национальный университет экономики и торговли имени Михаила Туган-Барановского", 2024. – С. 265-268. – EDNRWTBNW.

  3. Букреев, Д. А. Современные проблемы обеспечения актуальности программного обеспечения на производственных предприятиях / Д. А. Букреев, Е. В. Кириленко // Современные проблемы геометрического моделирования и информационные технологии : материалы II Межрегиональной научно-практической конференции преподавателей и студентов, посвященной 60-летию образования Мелитопольской школы прикладной геометрии, Мелитополь, 28 мая 2024 года. – Мелитополь: Мелитопольский государственный университет, 2024. – С. 45-52. – EDNNEOSYT.

  4. Измерение и анализ данных - Трищенко О.А. (2016). Москва: Физматлит.

  5. «Алгоритмы сжатия данных: от базовых принципов до современных методов» [Электронный ресурс]. ‒ Режим доступа: URL: https://ya.zerocoder.ru/pgt-algoritmy-szhatiya-dannyh-ot-bazovyh-principov-do-sovremennyh-metodov/ (09.12.2024).

Просмотров работы: 9