Компрессия аудио: форматы, способы и настройки¶
Компрессия (от лат. compressio — сжатие) — процесс уменьшения объёма цифровых данных путём удаления избыточной информации с сохранением или контролируемым снижением качества. В зависимости от области применения различают компрессию аудио, видео, изображений и файлов общего назначения. Сжатие бывает без потерь (lossless) и с потерями (lossy): в первом случае данные восстанавливаются полностью, во втором — приближённо, за счёт чего достигается более высокая степень сжатия.
¶Основные принципы
Любой алгоритм компрессии использует избыточность исходных данных. В аудио это психоакустическая модель: человеческое ухо не различает тихие частоты, присутствующие рядом с громкими, и не воспринимает колебания выше примерно 20 кГц. В изображениях избыточность проявляется в повторяющихся паттернах пикселей и в том, что глаз хуже различает цветовые оттенки, чем яркость. В текстовых и архивных данных работает принцип Хаффмана, LZ77 и другие методы сжатия повторяющихся последовательностей.
Ключевой параметр любого алгоритма — соотношение степени сжатия и потери качества. Чем агрессивнее сжатие, тем заметнее артефакты: в аудио — «ватность» и шипение, в видео — блочность и размытие движения, в изображениях — «каша» вокруг контуров.
¶Компрессия аудио
¶Форматы с потерями
MP3 — наиболее распространённый формат сжатия со звуком. Работает на принципе удаления сигналов, не воспринимаемых слухом. Типичные битрейты: 128 кбит/с — приемлемое качество для речи, 192 кбит/с — хорошее качество музыки, 256–320 кбит/с — практически неотличимое от CD для большинства слушателей. Файлы с битрейтом ниже 128 кбит/с заметно теряют в качестве.
AAC (Advanced Audio Coding) — преемник MP3, используемый в стриминговых сервисах, YouTube и Apple Music. При том же битрейте даёт лучшее качество, чем MP3. Оптимальный битрейт для музыки — 160–256 кбит/с.
OGG Vorbis — открытый формат, применяемый в играх и стриминге. Хорошо себя показывает на низких битрейтах (96–128 кбит/с).
¶Форматы без потерь
FLAC — сжатие аудио в 2 раза без потери качества. Формат открытый, поддерживается большинством плееров. WAV — несжатый формат, используемый в профессиональной записи; компрессия WAV в FLAC позволяет освободить около 50 % места.
¶Как сжать аудио
Для массовой конвертации удобны утилиты FFmpeg и SoX. Команда для перекодирования WAV в MP3 с битрейтом 192 кбит/с:
ffmpeg -i input.wav -b:a 192k output.mp3
Для конвертации в FLAC:
ffmpeg -i input.wav -c:a flac output.flac
В графических редакторах (Audacity, Adobe Audition) компрессия выполняется через меню «Экспорт» с выбором формата и битрейта.
¶Компрессия видео
Видео сжимается сильнее аудио, поскольку объём данных в десятки раз больше. Основные современные кодеки:
| Кодек | Год | Особенности |
|---|---|---|
| H.264/AVC | 2003 | Максимальная совместимость |
| H.265/HEVC | 2013 | Сжатие на 30–50 % лучше H.264 |
| AV1 | 2018 | Открытый, бесплатный, качество уровня HEVC |
| VP9 | 2013 | Открытый, разработан Google |
Типичные битрейты: 1080p при 30 к/с — 5–8 Мбит/с (H.264), 2–4 Мбит/с (H.265/AV1). Для 4K соответствующие значения в 3–4 раза выше.
Компрессия видео выполняется через FFmpeg:
ffmpeg -i input.mp4 -c:v libx265 -crf 23 -c:a aac output.mp4
Параметр CRF (Constant Rate Factor) определяет баланс качества и размера: значения 18–23 считаются оптимальными, ниже 18 — почти без потерь, выше 28 — заметная деградация.
¶Компрессия изображений
Форматы без потерь: PNG, BMP, TIFF. Форматы с потерями: JPEG, WebP. Для веба рекомендуется WebP — при сопоставимом с JPEG качестве файл меньше на 25–35 %.
Сжатие JPEG выполняется утилитами ImageMagick:
convert input.png -quality 85 output.jpg
Значение quality 85 обеспечивает хорошее качество при заметном уменьшении размера. Значения ниже 70 приводят к видимым артефактам.
¶Архивное сжатие
Для общих файлов используются архиваторы: ZIP, 7z, RAR. Наиболее высокая степень сжатия — у 7z (алгоритм LZMA), у ZIP — у Deflate. Для уже сжатых данных (MP3, JPEG, видео) повторное сжатие почти не даёт эффекта.
¶Практические рекомендации
Для музыки, предназначенной для стриминга или мобильных устройств, оптимален AAC 192 кбит/с. Для архивного хранения — FLAC. Для видео в интернете — H.264 при 1080p или AV1 при наличии поддержки у зрителей. Для фотографий на сайтах — WebP или JPEG с качеством 80–85.
Источники:
- «Цифровая обработка сигналов» — А. В. Оппенгейм, Р. В. Шафер
- Справочник FFmpeg Documentation
- RFC 2119 и RFC 3045 — стандарты сжатия мультимедиа
- Книга «Video Encoding by the Numbers» — Джанна Тейлор
- Документация форматов FLAC, WebP, AV1 (Xiph.org, AOMedia)
