AAC
Кодек AAC (Advanced Audio Coding)
Области применения:
AAC используется для потоковой передачи аудио в интернете, вещании цифрового радио, а также в мобильных устройствах и цифровых плеерах. Он широко применяется в стриминговых платформах и технике (например, в камерах и кодерах) благодаря своей высокой степени сжатия при сохранении качества звука.
Лицензия:
AAC является патентованным стандартом, который был разработан MPEG (Moving Picture Experts Group). Для коммерческого использования могут потребоваться лицензионные отчисления за использование патентов, связанных с AAC. Однако для некоммерческого использования или разработки программного обеспечения под лицензией GPLv2 или выше обычно не требуется платить роялти.
Технические характеристики:
- Частота дискретизации: от 8 кГц до 96 кГц.
- Битрейт: от 16 кбит/с до 576 кбит/с.
- Каналы: моно, стерео, 5.1, 7.1.
- Форматы: MP4, ADTS, ADIF, 3GP, MKV.
- Алгоритмы сжатия: MDCT (Modified Discrete Cosine Transform), PNS (Perceptual Noise Substitution), TNS (Temporal Noise Shaping).
Эффективность сжатия:
По сравнению с другими популярными аудиокодеками, такими как MP3:
- AAC обеспечивает лучшее качество звука при одинаковом битрейте.
- При одинаковом качестве звука AAC требует меньшего битрейта, чем MP3.
- Например, при битрейте 128 кбит/с AAC звучит лучше, чем MP3 того же битрейта.
Совместимость с ПО:
AAC поддерживается большинством современных медиа-плееров и платформ, включая:
- Windows Media Player, VLC, QuickTime, iTunes.
- Браузеры: Chrome, Firefox, Safari, Edge.
Принцип сжатия
Кодек AAC использует несколько методов для достижения высокого уровня сжатия без значительной потери качества:
- MDCT (Modified Discrete Cosine Transform):
Этот метод преобразует временные сигналы в частотную область, позволяя эффективно сжимать данные. В отличие от традиционного DCT, MDCT позволяет избежать артефактов на границах блоков данных. - PNS (Perceptual Noise Substitution):
PNS заменяет высокочастотные компоненты сигнала шумоподобными сигналами, которые менее заметны человеческому уху. Это позволяет уменьшить количество передаваемых данных без значительного ухудшения восприятия. - TNS (Temporal Noise Shaping):
TNS уменьшает искажения, вызванные квантованием, путем временного распределения шума квантования таким образом, чтобы он был менее заметен слушателю. - Психоакустическая модель:
AAC использует психоакустические модели для определения тех частей звукового спектра, которые наименее важны для человеческого слуха. Эти части затем удаляются или сильно сжаты, что приводит к уменьшению размера файла без заметной потери качества.
Примеры кодирования
Через FFmpeg:
ffmpeg -i input.mp3 -c:a aac -b:a 192k output.m4a
Этот пример конвертирует файл input.mp3 в формат AAC с битрейтом 192 кбит/с и сохраняет результат в файл output.m4a.
Через GStreamer:
gst-launch-1.0 filesrc location=input.mp3 ! decodebin ! audioconvert ! faac ! mp4mux ! filesink location=output.m4a
Здесь файл input.mp3 декодируется, конвертируется в формат AAC с помощью кодека FAAC и сохраняется в контейнере MP4 (output.m4a).
Отличительные особенности относительно MP3
- Более гибкая частота дискретизации:
AAC поддерживает более широкий диапазон частот дискретизации (от 8 кГц до 96 кГц), тогда как MP3 ограничен диапазоном от 32 кГц до 48 кГц. Это дает возможность сохранять больше деталей исходного сигнала. - Лучшее качество при низком битрейте:
Благодаря использованию более сложных алгоритмов сжатия, AAC обеспечивает значительно лучшее качество звука при низких битрейтах по сравнению с MP3. Например, при битрейте 64–96 кбит/с AAC заметно превосходит MP3 по качеству. - Поддержка большего количества каналов:
AAC поддерживает многоканальные конфигурации, такие как 5.1 и 7.1, что делает его предпочтительным выбором для работы с пространственным звуком в кино и телевидении. - Улучшенная обработка высоких частот:
Применение PNS и TNS позволяет AAC более эффективно обрабатывать высокие частоты, обеспечивая более чистое звучание даже после сильной компрессии.