Last updated on

Nov 8, 2014

title.png (6502 bytes)

Main page

Upper page

aac vs mp3

СРАВНЕНИЕ СТАНДАРТОВ КОДИРОВАНИЯ AAC И MP3

Алексей Лукин

Статья напечатана в журнале «Звукорежиссер», №1, 2008.

Первые идеи об использовании психоакустической маскировки для компрессии аудиоданных относятся к 1979 году. Однако соответствующие аудио-кодеры начали получать широкое распространение лишь с середины 90-х годов, когда вычислительных мощностей персональных компьютеров стало хватать для воспроизведения сжатого аудио в реальном времени и появился стандарт MPEG-1 Audio Layer 3, более известный как mp3. Аудио-форматы с компрессией стали незаменимыми при передаче звука через Интернет, обеспечивая «практически прозрачное» качество стереозвука при битрейтах выше 128 кбит/с. С основными принципами формата mp3 можно познакомиться в статьях «Звукорежиссер».

Развитие методов сжатия данных и психоакустики постепенно приводило к тому, что стандарт mp3 стал «тесным» для реализации новых идей в кодировании аудио. В результате, к 1997 году институтом Фраунгофера (Fraunhofer IIS), который в начале 90-х создал mp3, а также компаниями Dolby, AT&T, Sony и Nokia, – был разработан новый метод компрессии аудио – Advanced Audio Coding (AAC), вошедший в стандарты MPEG-2 и MPEG-4. Основными отличиями от стандарта mp3 стали:

  • Поддержка более широкого набора форматов (вплоть до 48 каналов) и частот дискретизации звука (от 8 кГц до 96 кГц).
  • Более эффективный и простой банк фильтров: гибридный банк фильтров mp3 был заменен обычным MDCT (модифицированным дискретным косинусным преобразованием).
  • Более широкие пределы варьирования частотно-временного разрешения в банке фильтров – в 8 раз (в mp3 – в 3 раза) – привели к улучшению кодирования транзиентов (переходных процессов) и стационарных участков аудиосигнала.
  • Более качественное кодирование частот выше 16 кГц.
  • Более гибкий режим кодирования стереосигналов, позволяющий переключаться в режим M/S ("joint stereo") независимо в различных частотных полосах.
  • Дополнительные возможности стандарта, повышающие эффективность компрессии: технология формирования шума во временной области (TNS), предсказание MDCT-коэффициентов по времени (long term prediction), режим параметрического кодирования стереосигнала (parametric stereo), синтез шумов (perceptual noise substitution), технология восстановления высоких частот (SBR).

Благодаря этим особенностям, стандарт AAC способен достигать более гибкого и эффективного, а значит – и более качественного кодирования звука. В результате широкого распространения формата mp3, стандарт AAC до сих пор не приобрел сравнимой с mp3 популярности. Однако AAC является основным форматом в популярном интернет-магазине iTunes Store, плеерах iPod, iTunes, телефоне iPhone, игровых приставках PlayStation 3, Nintendo Wii и в цифровом радиовещании DAB+/DRM.

Рассмотрим основные особенности AAC подробнее.

Банк фильтров

Как и другие психоакустические аудиокодеры, AAC работает по следующей схеме. Входной сигнал пропускается через банк фильтров – преобразование, переводящее сигнал из временной области в частотно-временную область (аналогично построению спектрограммы). Параллельно с этим психоакустическая модель анализирует сигнал и определяет пороги психоакустической маскировки. Далее частотно-временные коэффициенты сигнала на выходе банка фильтров квантуются так, чтобы спектр шума по возможности (если позволяет битрейт) оказался ниже порогов маскировки, т.е. не был слышен. Квантованные коэффициенты сжимаются без потерь в выходной файл формата AAC. Таким образом, сам банк фильтров не сжимает сигнал; он лишь переводит его в форму, более пригодную для сжатия.

Особенностью каждого банка фильтров является его частотное разрешение, т.е. число частотных полос, на которые он делит спектр сигнала. В большинстве банков фильтров, используемых для сжатия звука, число полос составляет несколько сотен. Это означает, что в силу соотношения неопределенностей такие банки фильтров имеют временное разрешение порядка нескольких десятков миллисекунд. Когда частотно-временные коэффициенты сигнала квантуются, то вносимая ошибка квантования при декодировании сигнала распространяется по времени на всю длину окна банка фильтров. В некоторых случаях это приводит к нежелательному эффекту, называемому пред-эхом (pre-echo). Он проявляется, когда ошибка квантования от транзиента (резкого всплеска энергии в сигнале) распространяется по времени на предшествующий транзиенту участок времени и становится слышна (рис. 1). Чтобы уменьшить этот эффект, применяют банки фильтров с переменным частотно-временным разрешением. Например, в mp3 используется переключение временного разрешения банка фильтров между 26 и 9 мс. Для стационарных сигналов используются окна длиной 26 мс, дающее хорошее частотное разрешение, а для переходных сигналов используются окна длиной 9 мс, уменьшающие эффект пред-эха (рис. 1).

Рис. 1. Эффект пред-эха. Сверху вниз: исходный сигнал; сигнал после сжатия с фиксированным размером окна (видно сильное пред-эхо); сигнал после сжатия с переменным размером окна (пред-эхо уменьшилось).

В алгоритме AAC также используется переключение размера окон MDCT. При этом разница в размере окон составляет 8 раз: 6 и 48 мс (256 и 2048 отсчетов). Благодаря этому алгоритм способен адаптироваться к более широкому диапазону сигналов и достигать лучшей степени компрессии.

Технология TNS – формирование амплитудной огибающей шума

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

Технология TNS (temporal noise shaping, формирование шума во временной области) в стандарте AAC позволяет управлять распространением шума квантования по времени в пределах каждого окна MDCT. Технология TNS основана на:

  1. подобии (частотно-временном дуализме) между амплитудной огибающей сигнала и огибающей его спектра;
  2. использовании линейного предсказания (LPC) по частоте при квантовании спектра.

Хорошо известно, что для сигналов со спектром, сильно отличающимся от белого (напр., тональных сигналов), использование линейного предсказания (LPC) во временной области позволяет эффективно «отбеливать» спектр и кодировать такие сигналы путем их разложения на коэффициенты предсказания и сравнительно небольшую по амплитуде ошибку предсказания (residual). При декодировании фильтр линейного предсказания формирует спектр ошибки согласно спектру исходного сигнала.

В кодере AAC линейное предсказание используется противоположным образом: для предсказания отсчетов спектра в частотной области. Разность исходных и предсказанных коэффициентов MDCT квантуется согласно порогам маскировки (в традиционных кодерах квантуются исходные коэффициенты MDCT). Коэффициенты линейного предсказания также записываются в выходной файл. При декодировании сигнала фильтр линейного предсказания, применяемый к разностному сигналу в частотной области (включающему ошибку квантования), формирует амплитудную огибающую исходного сигнала (и ошибки квантования) во временной области. Таким образом, амплитудная огибающая ошибок квантования становится близкой к амплитудной огибающей исходного сигнала (рис. 2).

Рис. 2. Технология TNS: формирование амплитудной огибающей шума квантования. Сверху вниз: исходный сигнал; ошибка квантования алгоритмом AAC (с технологией TNS); ошибка квантования алгоритмом mp3 с тем же битрейтом.

Технология TNS снижает эффект пред-эха и заметность ошибок квантования на некоторых гармонических сигналах с импульсным характером звукоизвлечения (речь, некоторые духовые и струнно-смычковые инструменты). На рис. 2 сравниваются ошибки квантования, вносимые в вокальный сигнал алгоритмами AAC и mp3 с одинаковыми битрейтами. Вместе с общим понижением ошибки квантования (в силу большей эффективности AAC) наблюдается формирование амплитудной огибающей ошибки квантования по времени согласно огибающей исходного сигнала.

В стандарте AAC технология TNS может применяться к отдельным частотным полосам спектра независимо или отключаться совсем.

Технология SBR – восстановление высоких частот

Достоверная передача широкого частотного диапазона – важное требование для качественного кодирования. Однако передача каждой следующей октавы звукового диапазона в полтора–два раза повышает требования к битрейту для традиционного аудиокодера. Чтобы снизить битрейт и при этом сохранить высокие частоты в кодируемом материале, была создана технология искусственного синтеза высоких частот SBR (spectral band replication).

Технология основывается в том, что наш слух анализирует высокие частоты с меньшей точностью, чем средние и низкие. Для создания эффекта присутствия высоких частот необязательно математически точно реконструировать форму волны, а достаточно лишь восстановить некоторые существенные психоакустические параметры сигнала на высоких частотах. К таким существенным параметрам относятся частотно-временное распределение (огибающая) энергии сигнала и степень его тональности/зашумленности.

Идея алгоритма такова. При кодировании осуществляется анализ высоких частот в исходном аудиосигнале и извлекаются их параметры: в первую очередь – амплитудная огибающая в нескольких (обычно – 8) частотных полосах. Далее высокие частоты из записи удаляются и кодируются только оставшиеся низкие и средние частоты. При этом в выходной файл также добавляется сравнительно небольшой поток информации о параметрах утерянных высоких частот.

При воспроизведении сначала декодируется сигнал низких и средних частот. Далее (в случае его наличия в плеере) начинает работу декодер SBR. Первым шагом он осуществляет синтез высокочастотного сигнала путем транспонирования (точнее – частотного сдвига) имеющихся средних частот. Поскольку степень тональности/зашумленности спектра на средних и высоких частотах обычно близка, то в результате этого шага получается высокочастотный сигнал с правдоподобной структурой спектра. На втором шаге декодер SBR использует дополнительную сохраненную информацию о высоких частотах для придания им нужной амплитудной огибающей в каждой частотной полосе. В результате получается сигнал, у которого высокие частоты полностью синтезированы из средних, но при этом сохраняют звучание исходных высоких частот.

Технология SBR может быть пристроена ко многим существующим стандартам кодирования аудио. Например, SBR в сочетании с mp3 называется mp3 PRO, а SBR в сочетании с AAC называется HE-AAC (high efficiency AAC). В основном, SBR используется при кодировании с относительно низкими битрейтами: 64 кбит/с и ниже. Технология позволяет значительно расширить частотный диапазон аудиосигнала с минимальным увеличением битрейта (несколько кбит/с).

Технология Parametric stereo

Передача стереосигнала обычно требует от кодера почти в 2 раза большего битрейта, чем передача монофонического сигнала. При этом стереоканалы можно кодировать как независимо, так и после M/S преобразования. В последнем случае на S-канал зачастую тратится меньший битрейт, чем на M-канал. Этот режим кодирования также называется joint stereo. В стандарте AAC этот режим может включаться и отключаться кодером независимо для каждой частотной полосы.

Для более эффективного кодирования стереосигналов на совсем низких битрейтах (16–32 кбит/с) была разработана технология параметрического кодирования стереопанорамы (parametric stereo). Она заключается в том, что стереосигнал перед кодированим сводится к моно, но в выходной файл добавляется небольшой поток (2–3 кбит/с), содержащий информацию о стереопанораме исходного стереофайла. Этот поток содержит (в сжатом виде) своеобразную «карту панорамы» для частотно-временной плоскости.

На стадии декодирования к полученному монофоническому сигналу применяется частотно-зависимое панорамирование. Это можно производить одновременно с декодированием, применяя к изначально равным коэффициентам MDCT левого и правого каналов соответствующие амплитудные множители.

Технология Parametric stereo дает хорошее впечатление об исходной стереопанораме звука ценой лишь небольшого увеличения битрейта по сравнению с кодированием моносигнала. Однако она не позволяет добиться полностью прозрачного звучания, т.к. не способна учесть все нюансы стереопанорамы, например – фазовые сдвиги между образами источников звука в стереоканалах.

Технология Parametric stereo была включена в стандарт HE-AAC v2.

Технология PNS – генерация шумов

Для дополнительного увеличения эффективности кодирования шумовых сигналов в стандарте AAC предусмотрена технология PNS (perceptual noise substitution) для синтеза шумов. Известно, что наше ухо более чувствительно к амплитудному спектру сигнала, чем к фазовому. Поэтому вместо кодирования MDCT-коэффициентов исходного сигнала в шумовых областях можно лишь передавать параметры шума: его мощность в зависимости от частоты и времени.

Так и работает технология PNS. При кодировании идентифицируются участки спектра, представляющие собой шум, и соответствующие группы MDCT-коэффициентов исключаются из процесса кодирования. Частотная полоса помечается как шумовая, и для нее запоминается общая энергия шума.

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

Технология Long term prediction – предсказание по времени

Психоакустическое кодирование тональных сигналов требует более высокого локального соотношения сигнал/шум, чем кодирование шумовых сигналов (напр., 20 дБ и 6 дБ соответственно). А это, в свою очередь, требует повышенного битрейта. Однако MDCT-коэффициенты тональных сигналов являются предсказуемыми по времени. Это обстоятельство позволяет эксплуатировать их зависимость по времени для уменьшения битрейта.

В стандарте AAC предусмотрен режим Long term prediction, в котором MDCT-коэффициенты дополнительно кодируются по времени с помощью линейного предсказания. Термин “long term” означает, что предсказание осуществляется не по соседним отсчетам, а по отсчетам, отстоящим на наиболее вероятный период тона на данной частоте.

Квантование и сжатие MDCT-коэффициентов

Аналогично стандарту mp3, в AAC используется нелинейное квантование MDCT-коэффициентов и сжатие их методом Хаффмана. Коэффициенты MDCT квантуются после возведения в степень 0.75, что позволяет увеличивать ошибку квантования для мощных сигналов и уменьшать ее для слабых сигналов в пределах каждой частотной полосы. Таким образом осуществляется дополнительное неявное формирование спектра шума.

После квантования MDCT-коэффициенты сжимаются с помощью набора фиксированных таблиц Хаффмана. В стандарте AAC этих таблиц больше, чем в mp3, и шире возможности по группировке коэффициентов. Это приводит к дополнительному увеличению сжатия.

Качество звучания

При оценке качества звучания аудиокодеров обычно используются субъективные тесты. Слушателям представляются фрагменты сжатых разными кодерами записей, и они оценивают чистоту звучания каждого фрагмента по шкале от 1 до 5. Достаточно авторитетным интернет-источником, где приведены результаты таких тестов, является сайт http://www.listening-tests.info На нем представлены тестирования различных кодеков на множестве битрейтов. Приведенные результаты в целом хорошо согласуются с другими источниками. Приведем несколько результатов для кодеров mp3 и AAC, помогающих сравнить их качество.

Лучшим кодером mp3 является бесплатный Lame. Однако на большинстве битрейтов он уступает в качестве более новым кодерам. На высоких битрейтах (выше 128 кбит/с) отставание невелико, и лидером является кодер Ogg Vorbis.

На битрейте 64 кбит/с преимущество AAC уже становится ощутимым. В варианте HE-AAC алгоритм зарабатывает оценку 3.68. Это примерно соответствует Lame с битрейтом 96 кбит/с, и означает преимущество AAC над mp3 примерно в 1.5 раза. Оценка Lame с битрейтом 128 кбит/с – 4.29.

На битрейте 32 кбит/с кодер AAC от Nero серьезно выигрывает в качестве у mp3: оценки 3.23 и 1.72 соответственно. Однако AAC лишь ненамного опережает формат mp3PRO, получивший оценку 3.08. Это указывает, что технология SBR действительно значительно улучшает качество при низких битрейтах.

 

Your comments and questions: lukin@ixbt.com