Открыть сервис

Сжатие информации

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

Основные принципы

В основе сжатия лежит теория информации, введённая Клодом Шенноном в 1948 году. Ключевым понятием является энтропия источника — мера средней информативности символа. Чем выше избыточность (например, повторяющиеся символы или предсказуемые последовательности), тем ниже энтропия и тем сильнее можно сжать данные.

Алгоритмы сжатия делятся на две большие категории:

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

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

Энтропийное кодирование

Присваивает более короткие коды часто встречающимся символам. Основные методы:

  • Код Хаффмана (1952) — построение префиксного дерева по частотам символов; оптимален для статических алфавитов.
  • Арифметическое кодирование — кодирует весь поток в одно число с плавающей точкой, достигая эффективности, близкой к пределу энтропии.
  • Код Шеннона — Фано — ранний метод, предшественник кода Хаффмана.

Словарные методы

Заменяют повторяющиеся последовательности ссылками на ранее встреченные фрагменты:

Контекстное моделирование

Предсказывает вероятность следующего символа на основе контекста. Метод PPM (prediction by partial matching) и алгоритм BWT (Burrows-Wheeler transform, 1994), применяемый в bzip2, достигают высокой степени сжатия текстов.

Методы сжатия с потерями

Эти алгоритмы ориентированы на психофизиологические особенности восприятия человека.

Изображения

Аудио

  • MP3 (1993) — использует психоакустическую модель, отбрасывающую звуки, неразличимые для слуха.
  • AAC (1997) — более совершенный стандарт, применяется в iTunes, YouTube и цифровом радио.
  • Opus (2012) — современный кодек для речи и музыки, используемый в VoIP и веб-браузерах.

Видео

  • H.264/AVC (2003) — стандарт, основанный на блочном кодировании с компенсацией движения; доминирует в интернет-вещании и Blu-ray.
  • H.265/HEVC (2013) — обеспечивает вдвое лучшее сжатие при том же качестве, но требует более мощных процессоров.
  • AV1 (2018) — открытый кодек, разработанный альянсом AOMedia для снижения зависимости от патентованных решений.

Применение

Сжатие информации повсеместно используется:

  • Архивация — форматы ZIP, RAR, 7z для хранения и передачи файлов.
  • Сети и интернет — протоколы HTTP/2 и HTTP/3 поддерживают сжатие заголовков (HPACK, QPACK); сжатие контента (gzip, Brotli) снижает трафик веб-сайтов.
  • Мультимедиа — цифровое телевидение (DVB), видеоконференции (Zoom, Skype), стриминговые сервисы (Netflix, YouTube) невозможны без видеокодеков.
  • Базы данных — сжатие строк и столбцов в СУБД (например, PostgreSQL, Oracle) уменьшает объём хранилища и ускоряет чтение.
  • Научные данные — сжатие телеметрии, геномных последовательностей и результатов моделирования.

Оценка эффективности

Эффективность сжатия характеризуется коэффициентом сжатия — отношением размера исходных данных к размеру сжатых. Для текстов типичны коэффициенты 2–5, для фотографий — 10–20, для видео — 50–200. Важными метриками также являются скорость работы алгоритма и требуемый объём памяти. Для сжатия с потерями применяются объективные метрики искажения (PSNR, SSIM) и субъективные оценки качества.

Ограничения и перспективы

Теоретический предел сжатия без потерь определяется энтропией источника и не может быть преодолён. Для сжатия с потерями предел зависит от допустимого уровня искажений. Современные исследования сосредоточены на использовании нейронных сетей: алгоритмы на основе глубокого обучения (например, компрессионные автоэнкодеры) демонстрируют результаты, превосходящие традиционные кодеки, но требуют значительных вычислительных ресурсов.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →