Компрессия звука — это процесс уменьшения объёма цифровых или аналоговых аудиоданных без существенного ухудшения воспринимаемого качества. С физической и акустической точки зрения компрессия основывается на особенностях восприятия звука человеком и на статистических характеристиках звуковых сигналов. Методы компрессии играют важную роль в передаче, хранении и обработке звука, особенно в условиях ограниченного канала связи или объёма памяти.
Компрессия без потерь (lossless) сохраняет исходные данные в полном объёме. После декомпрессии можно восстановить точную копию оригинального сигнала. Используется, например, в форматах FLAC и ALAC.
Компрессия с потерями (lossy) удаляет компоненты звукового сигнала, малозаметные для слуха человека, опираясь на психоакустические модели. Такая компрессия достигает значительно более высокого коэффициента сжатия, как, например, в форматах MP3, AAC, Ogg Vorbis.
Человеческое ухо не одинаково чувствительно ко всем частотам. Это позволяет удалять или понижать амплитуду компонентов, которые находятся:
Эти особенности учитываются в кодеках с потерями, особенно в стандартах MPEG, где используются модели маскировки и слухового восприятия.
Компрессия невозможна без детального анализа звукового сигнала. Для этого применяются следующие математические методы:
После частотного преобразования и квантования применяется энтропийное кодирование (например, кодирование Хаффмана), при котором часто встречающиеся элементы кодируются короткими битовыми последовательностями.
1. Блочное преобразование. Сигнал разбивается на короткие отрезки (фреймы), каждый из которых анализируется отдельно. Это позволяет учитывать временные изменения спектра.
2. Перекрытие блоков. Чтобы избежать артефактов на границах фреймов, применяют перекрытие блоков и оконные функции (например, окно Ханна или Блэкмана-Харриса).
3. Психоакустическая модель. Каждому фрейму сигнала сопоставляется спектральная маска, определяющая, какие компоненты сигнала подлежат удалению или грубому квантованию.
4. Алгоритмы кодирования. После анализа и квантования данные кодируются при помощи алгоритмов переменной длины (например, Huffman coding) или арифметического кодирования, с целью минимизации длины итогового битового потока.
MP3 (MPEG-1 Layer III): использует частотный анализ с фильтрами и DCT, а также встроенные психоакустические модели. Поддерживает переменный и постоянный битрейт.
AAC (Advanced Audio Coding): более современный алгоритм, улучшенная частотная разложимость, лучшая маскировка, эффективность на низких битрейтах.
FLAC: формат без потерь. Использует предсказание сигнала (linear predictive coding) и энтропийное кодирование без удаления информации.
Opus: гибридный кодек, сочетающий CELT (для широкополосного аудио) и SILK (для речи). Используется в реальном времени в VoIP и стриминге.
Качество звука после компрессии зависит от нескольких факторов:
Физические искажения проявляются как:
Важной задачей является субъективная оценка качества звука после компрессии. Существуют стандартизованные методы:
Оценка проводится с учётом воспринимаемой громкости, тембральной окраски, чистоты звучания, наличия артефактов и устойчивости в условиях переменного канала передачи.
Компрессия играет важнейшую роль в самых разных областях акустики:
Компрессия не может быть универсальной без учёта характеристик слуха человека и параметров среды:
Развитие методов машинного обучения и нейросетевых моделей привело к появлению обучаемых кодеков (например, Lyra от Google или Encodec от Meta). Такие алгоритмы обучаются на огромных объёмах данных и могут находить более эффективные формы представления сигнала, с меньшими потерями и более точным сохранением акустически значимых деталей.
Новые подходы включают:
Таким образом, компрессия звука уже давно перестала быть чисто инженерной задачей и стала областью, тесно связанной с физикой звука, физиологией слуха, цифровой обработкой сигналов и психоакустикой.