Принципы кодирования звука в формате MPEG

Чувствительность слухового аппарата человека различна в диапазоне частот воспринимаемых колебаний от 20 Гц до 22 кГц. Эксперименты указывают на то, что в тихой окружающей обстановке чувствительность уха максимальна при частотах от 2 до 4 кГц. Стоит отметить, что частотный диапазон человеческого голоса также весьма ограничен. Он располагается в интервале от 500 Гц до 2 кГц. Важной деталью восприятия звука слуховым аппаратом человека является так называемый порог слышимости - минимальная интенсивность звука, с которой начинается восприятие сигнала. Как мы видели, уровни равной громкости звука для человека не остаются постоянным с изменением частоты. Иными словами, чувствительность слуховой системы сильно зависит как от громкости звука, так и от его частоты. В частности, и порог слышимости также не одинаков на разных частотах. Например, порог слышимости сигнала на частоте около 3 кГц составляет чуть менее 0 дБ, а на частоте 200 Гц – около 15 дБ. Напротив, болевой порог слышимости мало зависит от частоты и колеблется в пределах 100 – 130 дБ. График порога слышимости представлен на рисунке.

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

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

Очень важной характеристикой слуховой системы человека является способность различать два тона с разными частотами. Опытные проверки показали, что в полосе от 0 до 16 кГц человеческий слух способен различать до 620 градаций частот (в зависимости от интенсивности звука), при этом примерно 140 градаций находятся в промежутке от 0 до 500 Гц. В целом, принято считать, что низкие частоты «ответственны» за разборчивость, ясность аудио информации, а высокие частоты – за субъективное качество звука.

Длительность звучания сказывается на воспринимаемой высоте тона критическим образом. Так, очень кратковременное звучание (менее 15 мс) любой частоты покажется на слух просто резким щелчком – слух будет неспособен различить высоту тона для такого сигнала. Высота тона начинает восприниматься лишь спустя 15 мс для частот в полосе 1000 – 2000 Гц и лишь спустя 60 мс – для частот ниже 500 Гц. Это явление называется инерционностью слуха.

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

В результате звук, обозначенный тоненькой стрелкой в точке «х» и имеющий нормальную громкость выше своего порога чувствительности, становится неслышимым; он маскируется более громким звуком. Хороший метод сжатия звука должен использовать это свойство слуха и удалять сигналы, соответствующие звуку «х», поскольку они все равно не будут услышаны человеком. Это один возможный путь сжатия с потерями. Частотное маскирование (область под пунктирной линией на рис. 6.4Ь) зависит от частоты сигнала. Оно варьируется от 100 Гц для низких слышимых частот до более чем 4 кГц высоких частот. Следовательно, область слышимых частот можно разделить на несколько критических полос, которые обозначают падение чувствительности уха для более высоких частот.

Причиной появления эффекта частотной маскировки является схема восприятия звука слуховой системой. Мощный по амплитуде сигнал некоторой частоты f0 вызывает сильные возмущения базилярной мембраны на некотором ее отрезке. Близкий по частоте, но более слабый по амплитуде сигнал с частотой f1 уже не способен повлиять на колебания мембраны, и поэтому остается «незамеченным» нервными окончаниями и мозгом.

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

Порог временного маскирования от громкого звука в момент времени 0 идет вверх сначала круто, а потом полого. Более слабый звук в 30 дБ не будет слышен, если он раздастся за 10 мсек до или после громкого звука, но будет различим, если временной интервал между ними будет больше 20 мсек.

Можно считать критические полосы еще одной характеристикой звука, подобной его частоте. Однако, в отличие от частоты, которая абсолютна и не зависит от органов слуха, критические полосы определяются в соответствии со слуховым восприятием. В итоге они образуют некоторые меры восприятия частот. Критические полосы можно описать следующим образом: из-за ограниченности слухового восприятия звуковых частот порог слышимости частоты приподнимается соседним звуком, если звук находится в критической полосе. Это свойство открывает путь для разработки практического алгоритма сжатия аудиоданных с потерями. Звук необходимо преобразовать в частотную область, а получившиеся величины (частотный спектр) следует разделить на подполосы, которые максимально приближают критические полосы. Если это сделано, то сигналы каждой из подполос нужно квантовать так, что шум квантования (разность между исходным звуковым сэмплом и его квантованными значениями) был неслышимым.

Кодирование звука и музыки в стандартах MPEG осуществляется отдельным аудиокодером. В составе стандарта MPEG1 было создано семейство из трех звуковых кодеров, названных "слоями": Layer I, Layer II, Layer III. Все они построены на основе психоакустической модели.

Первый "слой" (Layer I) был рассчитан на поток скоростью 192 кбит/с на канал.

Разновидность Layer II, предназначенная для потоков до 128 кбит/с на канал, была разработана как компромисс между качеством звука, величиной потока и сложностью кодера.

Layer III исходно был рассчитан на низкоскоростные сети с потоком до 64 кбит/с на канал. Однако введенные усовершенствования позволили сохранить "CD-качество" звука при низкой скорости потока. Это требует больших вычислительных ресурсов, но производительность современных компьютеров достаточна. В результате появился формат сжатия аудиоинформации МР3 (полное его название - MPEG Audio Layer III), который начал вполне самостоятельную жизнь.

В случае Layer 3 (то есть, в случае MP 3) обработка ведется по отдельным временным блокам – фреймам. Сигнал раскладывается на частотные составляющие спектра (применяется косинусное преобразование - MDCT , частный случай преобразования Фурье) в результате чего получается набор коэффициентов разложения. Вся дальнейшая обработка сигнала нацелена на максимально возможное упрощение сигнала с целью достижения наиболее эффективного переквантования этих коэффициентов и их записи. Спектр входного сигнала очищается от заведомо неслышных составляющих - низкочастотных шумов и наивысших гармоник. На следующем этапе производится психоакустический анализ кодируемого аудио материала в диапазоне слышимых частот. Вышеописанные процессы преобразования позволяют исключить из исходного аудио материала больше половины информации. На заключительном этапе кодирования производится сжатие уже готового потока данных с использованием упрощенного аналога алгоритма Хаффмана ( Huffman).

В случае сжатия данных с использованием Layer 2 идея упрощения сигнала остается той же, однако переквантованию подвергаются не коэффициенты MDCT , а отсчеты амплитудного сигнала в каждой частотной полосе.

Три упомянутых выше уровня различаются свой целевой направленностью, механизмами кодирования и, таким образом, обеспечивают различные степени сжатия. Так, например, аудио данные в формате [ИКМ / 44.1 кГц / 16 бит / стерео], Layer 1 позволяет сохранить без особо ощутимых потерь качества при скорости потока (битрейте) 384 Кбит/с, что составляет 4-х кратный выигрыш в занимаемом данными объеме; Layer 2 обеспечивает субъективно такое же качество при 192 - 224 Кбит/с, а Layer III ( MP 3) - при 128-160. Нельзя говорить о выигрыше или проигрыше одного уровня перед другим, так как каждый уровень разработан для достижения своей собственной цели. Преимущество Layer 3 заключается в том, что фактически он позволяет сжимать информацию в 8-12 раз (в зависимости от битрейта) без сильно ощутимых потерь качества исходного звучания. При этом, однако, обеспечиваемая им скорость компрессии является самой низкой среди всех уровней. Layer 2 потенциально способен обеспечить более высокое качество кодирования в виду более «легкой» внутренней обработки сигнала в процессе преобразования. В то же время, Layer 2 не позволяет достичь таких высоких степеней компрессии, какие достигаются при использовании Layer 3.