Кодек MP3Pro был анонсирован в июле 2001. Появления кодека ожидали с интересом и некоторым нетерпением по двум причинам. Во-первых, этот кодек по своим возможностям обещал быть если не революционным, то очень развитым. Во-вторых, MP3Pro анонсировался и задумывался как продолжение знаменитого «MP3» (MPEG-1 Layer III), а то, что разработкой MP3Pro занимался «папа» MP3 (институт Fraunhofer), внушало доверие и уважение. Несмотря на солидность разработчиков и проекта, MP3Pro довольно долго оставался в тени. Сначала не было ни одной программы не только для кодирования в MP3Pro, но даже для воспроизведения файлов в этом формате. Потом, хотя программы, использующие MP3Pro, и стали появляться, процесс их интеграции проходил вяло и малозаметно для пользователя. И только сегодня MP3Pro стал развиваться и приобретать аппаратную основу, что незамедлительно сказалось на потребительском рынке. В частности, на рынке начали появляться аппаратные плееры, способные воспроизводить аудио в формате MP3Pro. Этот факт является хорошим сигналом для пользователя, говорящим о том, что MP3Pro после всех неурядиц все-таки принят производителями.
В данной статье мы кратко рассмотрим историю появления MP3Pro, популярно и доступной форме разберемся в его возможностях, области применения, а также в проблемах, возникающих при использовании кодека.
Чтобы понять, что из себя представляет кодек MP3Pro здесь стоит напомнить, что такое вообще MPEG и какую роль в появлении MP3Pro сыграл всем известный MP3 (или по научному MPEG-1 Layer III).
Итак, MPEG расшифровывается как «Moving Picture Coding Experts Group» (дословно «Группа экспертов по кодированию подвижных изображений») и ведет свою историю с января 1988 года. Группа MPEG была создана Международной организацией стандартов (International Standards Organization или сокращенно ISO) и Международной электротехнической комиссией (International Electro-Technical Commission или сокращенно IEC) для создания стандартов кодирования подвижных изображений и аудио информации. Начиная с первого собрания в мае 1988 года группа специалистов MPEG начала расти и плодотворно работать. Уже в ноябре 1992 года в свет был выпущен MPEG-1 - стандарт кодирования, хранения и декодирования подвижных изображений и аудио информации. Этот стандарт имеет несколько подстандартов, одним из которых и является Layer III, известный нам как MP3. В 1994 году был утвержден новый стандарт MPEG-2, который в 1997 году получил продолжение в виде одного из достаточно известных сегодня аудио кодеков MPEG-2 AAC (впоследствии ставший MPEG-4 AAC).
MP3 является одним из первых аудио кодеков, где была реализована идея «lossy-кодирования» (кодирование аудио с потерями). Сегодня компрессоров, основанных на подобной идее, есть уже достаточно много. Вот только некоторые из них: Ogg Vorbis (OGG), Windows Media Audio (WMA), TwinVQ (VQF), MPEG-2 AAC (AAC), MPEG Plus (MPC). Компрессоры, основанные на идее кодирования с потерями качества (lossy-coding), преследуют две цели: закодировать аудио сигнал так, чтобы сжатые данные занимали как можно меньший объем памяти и звучали при этом как можно ближе к оригиналу. Способы, которыми достигаются эти две цели, могут быть различными, однако, все они в результате приводят к тому, что закодированные данные при воспроизведении (декодировании) уже не являются оригинальным сигналом, а лишь похоже звучат. Такая деградация качества оригинального звучания связана с тем, что в процессе кодирования данные сильно «упрощаются»: из них выбрасываются ненужные слабослышимые или замаскированные для человеческого слуха детали, а также используются другие методы «облегчения» данных. Подобная техника упрощения аудио данных известна под понятием «психоакустическая модель».
Применение психоакустической модели в компрессии аудио данных - мера вынужденная. Как известно, данные можно сжимать и без применения всяких сложных психоакустических ухищрений, а именно с помощью широко известных алгоритмов компрессии данных без потерь, применяемых в таких универсальных архиваторах как, например, ZIP и RAR (примерами таких алгоритмов являются PPM, Huffman, LZW). Такая компрессия данных не приводила бы вообще к потерям качества, однако компрессия без потерь обеспечивает очень ограниченный коэффициент сжатия, обусловленный энтропией данных. Для достижения более плотного сжатия аудио данных необходима другая техника. Применение психоакустической модели перед сжатием позволяет преобразовать данные так, что при некоторых потерях качества звучания плотность компрессии данных повышается, что соответственно, увеличивает коэффициент компрессии. Кроме того, в зависимости от «глубины упрощения» данных, плотность компрессии может регулироваться в широких пределах.
Механизм «упрощения» аудио можно пояснить следующим образом. Исходный аудио поток раскладывается на частотные составляющие спектра. Ясно, что чем меньше «нюансов звучания» имеются в сигнале (чем проще частотный спектр), тем лучше он поддается компрессии. Упростить сигнал можно по-разному. Например, существует ряд способов упрощения информации о стерео панораме сигнала; можно также отфильтровать все частоты выше определенной границы, что автоматически упростит сигнал в высоких частотных областях (но при этом, естественно, заметно испортит звучание). Но основным способом является психоакустический анализ (с последующей соответствующей обработкой сигнала), когда кодер анализирует аудио информацию и, опираясь на указанный пользователем битрейт, «решает» какие тонкости звучания можно выбросить.
В качестве справки: при сжатии в MP3 пользователь указывает желаемый битрейт (или границы изменения битрейта) для сжатого выходного потока (битрейт – количество бит, используемых для хранения одной секунды аудио). Чем ниже битрейт, тем меньше бит позволяется кодеру отводить для хранения информации об одной секунде аудио и, таким образом, тем «глубже» кодер упрощает сигнал, что соответственно влияет на качество звучания получаемого сжатого потока аудио. Наиболее распространенное среднее значение битрейта для MP3 колеблется в пределах от 128 до 192 Kbps («килобит в секунду»).
Здесь следует заметить, что применение психоакустики приводит к тому, что процесс декодирования уже не способен восстановить утраченные во время компрессии данные (нюансы звучания, отфильтрованные частоты и проч.).
А теперь перейдем к рассмотрению кодека MP3Pro. Кодек MP3Pro анонсирован в июле 2001 года компанией Coding Tech. вместе с Tomson Mulimedia и институтом Fraunhofer. Формат MP3Pro является прямым продолжением, или точнее, развитием старого MP3. MP3Pro совместим с MP3 «вперед» полностью и «назад» частично. То есть файлы, закодированные с помощью MP3Pro, можно воспроизводить в обычных проигрывателях, однако качество звучания при этом заметно хуже, чем при воспроизведении в специальном MP3Pro-проигрывателе. Это связано с тем, что файл (контейнер) в формате MP3Pro несет в себе два потока аудио: один – стандартный в формате MPEG-1 Layer III, а другой – специальный, дополнительный поток. Обычные проигрыватели MP3 распознают в новом формате только один поток - обычный MPEG-1 Layer 3, это и обуславливает лишь частичную совместимость «назад».
В MP3Pro использована новая технология SBR (Spectral Band Replication). Эта технология предназначена для передачи верхнего частотного диапазона. Идея технологии и ее предпосылки следующие. Дело в том, что как и алгоритмы компрессии данных без потерь ограничены в своей эффективности, так и технологии, основанные на использовании психоакустической модели, имеют один общий недостаток: все они работают качественно до битрейта 128 Kbps. На более низких битрейтах начинают проявляться сильные искажения звучания, так называемые «артефакты кодирования»: бульканье, позвякивания, заметные скачки уровня сигнала на различных частотах и проч. Единственный найденный способ борьбы с этим явлением заключается в урезании частотного диапазона сигнала перед компрессией. Однако эта процедура также отрицательно сказывается на восприятии звучания. Все это показывает, что для получения более-менее качественного звучания на низких битрейтах использования психоакустической модели недостаточно.
Новая технология SBR от Coding Tech. дополняет использование психоакустической модели. Идея технологии состоит в следующем: в файле передается (кодируется) чуть более узкий диапазон частот, чем обычно (с «урезанными верхами»), а верхние частоты воссоздаются уже самим декодером на основе имеющейся небольшой дополнительной информации о более высоких частотных составляющих. Таким образом, технология SBR применяется фактически не столько на стадии сжатия, сколько на стадии декодирования. Технология SBR в MP3Pro задействована следующим образом. Основные данные кодируются в несколько более зауженном, чем обычно, диапазоне частот в MP3 и записываются в первый основной поток контейнера MP3Pro. Второй, параллельный поток данных, невидимый для обычного MP3-проигрывателя, несет ту минимальную необходимую информацию, которая используется при воспроизведении для восстановления верхних частот. Проведенные автором статьи исследования показывают, что эта информация есть усредненная мощность сигнала в верхнем (урезанном) диапазоне частот. Точнее, не одна усредненная мощность для всего диапазона вырезанных частот, а информация о средней мощности в нескольких полосах частот верхнего диапазона. Такой вывод был сделан на основе следующего несложного, но очень показательного теста.
Возьмем тестовый сигнал протяженностью 13 секунд, состоящий из белого шума от 0 до 10 КГц, плюс тон, плавно переходящий от 10 до 19 КГц. Закодируем этот сигнал с помощью MP3Pro (в режиме VBR со средним битрейтом 142 Kbps) и, для сравнения, в обычный MP3 (в режиме CBR на битрейте 140 Kbps). Посмотрим на сонограммы сигналов (рис. 1 – сонограмма оригинального сигнала, рис. 2 – сонограмма MP3Pro, рис. 3 – сонограмма MP3).
рис. 1
рис. 2
рис. 3
Как видно, сонограмма сигнала MP3Pro (см. рис. 2) в диапазоне частот выше 10 КГц не имеет ничего общего с оригиналом (см. рис. 1). Более того, на рис. 2 очень четко видно разделение верхней полосы частот на подполосы. Полученный график в этой области может быть объяснен однозначно: во время сжатия кодер закодировал в MP3 весь частотный диапазон сигнала ниже 10 КГц, сигнал выше этого рубежа был нарезан на полосы, в каждой такой полосе кодер просто следил за средним уровнем сигнала и сохранял результат в выходном потоке. Пока плавно поднимающийся тон находился в пределах одной подполосы, для кодера средний уровень сигнала в этой подполосе оставался неизменным. Как только тон «уходил» из подполосы, измеряемый кодером уровень сигнала падал до нуля. Во время декодирования декодер, не имея данных о том, что находилось в каждой подполосе, просто брал известный сигнал в нижнем диапазоне (в какой-то определенной области), умножал его на известный средний уровень сигнала в подполосе и размещал в ней полученный после умножения сигнал. Конечно, это лишь искусственный тест, однако он как никакой другой наиболее ярко выявляет механизм работы MP3Pro.
Стоит обратить внимание на то, что «старичок» MP3 на битрейте даже чуть ниже MP3Pro достаточно точно и четко «отработал» и сохранил информацию о всем частотном диапазоне.
Какие же выводы можно сделать относительно MP3Pro? С одной стороны, можно говорить о целесообразности использования MP3Pro лишь на низких битрейтах (ниже 128 Kbps). На более высоких битрейтах обычный MP3 справляется с кодированием куда лучше. Кстати, ни один из известных автору статьи кодеров MP3Pro не поддерживает кодирование выше чем на 140 Kbps. Ценителям качественного звука, привыкшим кодировать аудио на высоких битрейтах, автор статьи рекомендует отказаться от использования MP3Pro, так как выдаваемые им высокие частоты не имеют ничего общего с оригинальным сигналом. С другой стороны, примененная в MP3Pro технология SBR очень оправдывает себя на низких битрейтах. Так, на битрейтах 64 Kbps и ниже (там, где обычный MP3 и подобные кодеки совершенно не справляются с кодированием) MP3Pro выходит победителем, поскольку субъективно воспринимаемое качество сигнала MP3Pro оказывается достаточно высоким за счет слышимых, пусть и не настоящих, высоких частот. MP3Pro можно порекомендовать к использованию при осуществлении низкобитрейтных потоковых трансляций в Интернет и создании музыкальных привью. При прослушивании музыки в формате MP3Pro на улице, «на ходу», когда не слишком важно качество звучания, пользователь также выигрывает за счет заметно меньшего объема памяти проигрывателя, занимаемого звуковыми файлами.
В заключение отметим, что 9 октября 2002 года компания Coding Tech. анонсировала выход нового кодека AACPlus. AACPlus основан на совершенно аналогичной MP3Pro идее использования технологии SBR. Разница заключается лишь в том, что в MP3Pro основной поток кодируется в MP3 (MPEG-1 Layer III), а в AACPlus – в AAC (MPEG-2/4 AAC). ААС является младшим и намного более развитым кодеком, чем MP3, что позволяет ожидать от AACPlus более качественных результатов кодирования. Однако, относительно нового AACPlus, вероятно, можно будет сделать почти те же общие выводы, что и в отношении к MP3Pro.