Файл MP3 весит в десять раз меньше исходной записи не потому, что из музыки грубо вырезали случайные куски звука. Кодировщик действует куда хитрее: он опирается на особенности человеческого слуха и убирает именно те частоты и моменты времени, которые всё равно остались бы неразличимы для уха, даже если бы их сохранили с идеальной точностью. Эта область знаний называется психоакустикой, а конкретный приём, который используют MP3 и AAC для экономии места, называется эффектом маскировки. Разобраться в его механике полезно каждому, кто хоть раз задавался вопросом, почему одна и та же песня в низком битрейте звучит "мутно" в одном месте и абсолютно нормально в другом.

Что такое слуховая маскировка и почему громкий сосед стирает тихий сигнал

Маскировка, или маскирование, это физиологическое явление: в присутствии достаточно громкого звука определённой частоты соседние по частоте более тихие звуки становятся неразличимы для слуховой системы человека, даже если по своим физическим параметрам они полностью присутствуют в сигнале. Классический бытовой пример этого эффекта, разговор рядом с железнодорожными путями становится почти невозможным в момент прохождения поезда, хотя голос собеседника физически никуда не исчезает, он просто перекрывается более мощным звуковым давлением состава. Ухо человека устроено так, что более интенсивный звук подавляет чувствительность к более слабым звукам в той же области восприятия, и специалисты по акустике называют этот сильный подавляющий сигнал маскирующим тоном, а подавленный сигнал, соответственно, маскируемым.

Кодировщик аудио использует именно это свойство слуха, а не какое-то произвольное правило урезания данных. Если психоакустическая модель определяет, что в данный момент один компонент сигнала маскирует другой, значит второй компонент можно закодировать заметно грубее или вовсе не закодировать, потому что слушатель всё равно не заметит разницы между точным и приближённым значением этой составляющей. Экономия происходит не за счёт удаления случайного контента, а за счёт удаления именно той информации, которая физиологически недоступна восприятию в конкретных условиях.

Как устроены критические полосы слуха и шкала Барка, на которой строится расчёт маскировки

Чтобы понять, какой именно тихий звук маскируется каким громким, нужна модель того, как ухо разбивает весь слышимый диапазон на частотные зоны. Слуховая система человека воспринимает частоты не линейно и не по равным интервалам в герцах, а разбивает диапазон на так называемые критические полосы, ширина которых растёт с увеличением частоты. Для описания этой неравномерности немецкий исследователь Эберхард Цвикер в 1961 году предложил специальную психофизическую шкалу, названную в честь учёного Генриха Баркгаузена. Весь слышимый диапазон делится на 24 критические полосы, границы которых по частоте выглядят так: 20, 100, 200, 300, 400, 510, 630, 770, 920, 1080, 1270, 1480, 1720, 2000, 2320, 2700, 3150, 3700, 4400, 5300, 6400, 7700, 9500, 12000 и 15500 герц.

Заметно, что нижние полосы узкие, буквально по сотне герц, а верхние охватывают тысячи герц каждая: это прямо отражает то, как ухо различает соседние тона в басовом диапазоне гораздо тоньше, чем в области высоких частот. Психоакустическая модель кодека рассчитывает эффект маскировки отдельно внутри каждой такой полосы с помощью так называемой функции распространения, которая описывает, насколько сильно маскирующий сигнал в одной полосе подавляет чувствительность к сигналам в соседних полосах. Чем ближе по шкале Барка находятся маскирующий и маскируемый компоненты, тем сильнее эффект, и тем больше данных о слабом сигнале можно безопасно отбросить при кодировании.

Разберём условный числовой пример, чтобы механика стала осязаемой. Пусть в критической полосе с центром около 1000 герц звучит тон интенсивностью 70 децибел, а рядом, всего в паре сотен герц, присутствует второй, гораздо более тихий тон интенсивностью 35 децибел. Функция распространения маскировки для соседних частот внутри одной полосы Барка обычно поднимает порог слышимости на 20-40 децибел относительно исходного порога тишины, и если расчётный порог для второй частоты в присутствии первого тона окажется, скажем, около 40 децибел, то тон в 35 децибел просто не будет услышан человеком, сколько бы точно его ни закодировали. Кодировщик, видя такой расклад, присвоит этому компоненту минимальное число бит или обнулит его вовсе, высвободив место для более важных частей спектра. Если бы разница в громкости была меньше, скажем 70 и 55 децибел, порог маскировки мог бы оказаться ниже реальной интенсивности второго тона, и тогда его пришлось бы закодировать с достаточной точностью, чтобы он остался различим, как и было задумано композитором или звукорежиссёром записи.

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

Чем одновременная маскировка отличается от временной и почему важны обе

Помимо частотной, одновременной маскировки, когда громкий и тихий звук существуют в один и тот же момент времени, психоакустическая модель учитывает и временную маскировку, которая работает совсем иначе. Здесь речь идёт о том, что происходит с чувствительностью уха до и после появления громкого звука, а не о частотном соседстве. Различают предварительную маскировку, действующую до появления громкого сигнала, и последующую маскировку, действующую уже после того, как громкий звук закончился.

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

Как психоакустическая модель превращает эти эффекты в конкретные биты потока

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

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

Что случится со звуком, если реальный шум превысит рассчитанный порог маскировки

Когда заданного битрейта не хватает для того, чтобы уложить шум квантования ниже рассчитанного порога маскировки во всех полосах одновременно, психоакустическая модель вынуждена идти на компромисс, и именно тогда возникают слышимые артефакты сжатия. Чаще всего это происходит на сложном музыкальном материале с большим числом одновременно звучащих инструментов и резкими динамическими переходами, где модели попросту не хватает места для маскировки всего шума округления. Слушатели описывают такие артефакты по-разному: металлический призвук на высоких частотах, потеря пространственного объёма и стереоширины, характерное дребезжание или "бульканье" на резких переходах громкости, известное как пре-эхо, когда шум квантования просачивается перед началом резкого звука ещё до того, как должна была бы включиться защитная предварительная маскировка.

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

Чем психоакустическая модель AAC отличается от подхода, заложенного в MP3

Оба формата опираются на один и тот же фундаментальный принцип, частотно-временное преобразование сигнала плюс психоакустическая модель, определяющая порог маскировки для каждой полосы, но AAC доводит эту схему до большей эффективности. Формат поддерживает более высокие частоты дискретизации и большее число звуковых каналов, использует более совершенный набор инструментов кодирования и в итоге способен обеспечивать сопоставимое воспринимаемое качество звучания при заметно меньшем битрейте, чем MP3, разница по разным оценкам превышает 30 процентов. Одно из ключевых улучшений в самой психоакустической модели связано с более гибким переключением длины блока анализа: короткие блоки лучше отслеживают резкие изменения сигнала и снижают риск пре-эха, а длинные блоки эффективнее сжимают стационарные, плавно меняющиеся звуки, и AAC умеет переключаться между ними более гибко, чем ранние версии MP3.

Практический вывод из этой разницы прост: при равном битрейте AAC обычно демонстрирует меньше слышимых артефактов маскировки именно потому, что точнее рассчитывает, где реально можно экономить биты, а где нельзя. Но сама логика в обоих случаях остаётся одной и той же: не звук пропадает произвольно, а кодировщик математически моделирует границы человеческого восприятия и стирает ровно ту информацию, которую ухо всё равно не способно было бы услышать, экономя место именно там, где эта экономия останется незамеченной.

Из механики маскировки вытекает несколько практических наблюдений, полезных для тех, кто выбирает формат и битрейт под конкретную задачу:

  1. плотные многослойные композиции с обилием одновременно звучащих инструментов легче переносят низкий битрейт, потому что естественная маскировка одних партий другими уже делает часть работы кодировщика за него;
  2. акустические записи с редкой фактурой и долгими тихими паузами, наоборот, требуют более высокого битрейта, поскольку маскирующих соседей у большинства компонентов сигнала там просто нет и почти каждая деталь остаётся различимой;
  3. резкие ударные звуки на фоне тихого материала повышают риск артефакта пре-эха, потому что предварительная маскировка действует лишь считаные миллисекунды и не успевает полностью спрятать просочившийся шум квантования;
  4. переход с MP3 на AAC при том же битрейте почти всегда даёт менее заметные артефакты, поскольку более гибкая психоакустическая модель точнее подбирает длину блока анализа под характер сигнала.