То, что вам нужно знать об MP3


    Что такое MP3?

    MP3 - сокращение от MPEG Layer3. Это один из потоковых форматов хранения и передачи аудиосигнала в цифровой форме, разработанный Fraunhofer IIS и THOMSON, позднее утвержденный как часть стандартов сжатого видео и аудио MPEG1 и MPEG2. Данная схема является наиболее сложной схемой семейства MPEG Layer 1/2/3. Она требует наибольших затрат машинного времени для кодирования по сравнению с двумя другими и обеспечивает более высокое качество кодирования. Используется главным образом для для кодирования CD Audio.

    Высокая степень компактности MP3 по сравнению с другими форматами, в частности с PCM (т.е. обычный WAV - файл) и ему подобными форматами при сохранении аналогичного качества звучания (рассматривается 16Bit Stereo 44.1kHz) достигается с помощью дополнительного квантования по определенной схеме, которая позволяет минимизировать потери качества. Это достигается учетом особенностей человеческого слуха, в том числе эффекта маскирования слабого сигнала одного диапазона частот более мощным сигналом соседнего диапазона, когда он имеет место, или мощным сигналом предыдущего фрейма, вызывающего временное понижение чувствительности уха к сигналу текущего фрейма (попросту, удаляются второстепенные звуки, которые не слышатся человеческим ухом из-за наличия в данный/предыдущий момент другого - более громкого). Также учитывается неспособность большинства людей различать сигналы, по мощности лежащие ниже определенного уровня, разного для разных частотных диапазонов.

    Это называется адаптивным кодированием и позволяет экономить на наименее значимых с точки зрения восприятия человеком деталях звучания. Степень сжатия (а, следовательно, и качество), определяются не форматом, а шириной потока данных при кодировании в MP3. Ширина потока (bitrate) при кодировании сигнала, аналогичного CD Audio (44.1kHz 16Bit Stereo) варьируется от наибольшего, 320kbs (320 килобит в секунду, также пишут kbs, kbps или kb/s), до 96kbs и ниже.


    Почему MP3?

    MP3 на сегодня имеет два огромных преимущества перед другими доступными форматами. Правда, MicroSoft пытается потеснить MP3 со своим новым форматом WMA, а также есть альтернативные форматы VQF и AAC, но они еще не получили должного распространения, а качество зачастую несколько хуже. Однако WMA пока, фактически, закрыт для свободного использования, поэтому у него есть проблемы с различным софтом для кодирования / прослушивания / обслуживания (хотя, кто же сомневается в мобилизационных возможностях MicroSoft :-).

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


    Самые известные Encoder'ы

    На сегодняшний день существует 3 основных источника, создавшие программы для кодирования музыки в MP3. Это Fraunhofer-IIS, Xing Technologies и собственно ISO, которая приложила к выработанному ей стандарту ISO MPEG демонстрационный свободно распространяемый (но весьма медленный) код. Львиная доля созданных на сегодня кодеров использует измененный код одной из этих организаций. Кодеры на основе кода от Fraunhofer-IIS работают не очень быстро, но весьма качественно, оптимизированы по качеству на низкие битрейты. Кодеры на основе кода от Xing очень быстры но некачественны. Традиционные кодеры на основе кода от ISO медленны (демонстрационный код совсем не оптимизирован), обеспечивают очень высокое качество (в особенности на больших битрейтах). Представляют особый интерес сильно оптимизированные ISO-кодеры, существенно увеличившие скорость (обогнав Fraunhofer-IIS и выйдя на второе место), но не потерявшие при этом качество.

LAME : LAME Ain't an Mp3 Encoder
    Свободно распространяемый кодер разрабатываемый группой энтузиастов. Представляет собой оптимизированный код от ISO. Работает быстрее и качественнее, чем "чистый" ISO-код. Первый кодер, который при отличном качестве звука сравним с Xing'ом по скорости. Однозначно лучший выбор для высоких битрейтов - 192 кб/с и выше. Интерфейс программы только из командной строки, но существует много программ all-in-one, которые содержат этот кодек.

BladeEnc: Blade's MP3 Encoder
    Свободно распространяемый кодер, написанный Тордом Янсоном (Tord Jansson). Представляет собой оптимизированный код от ISO. Работает быстрее, чем "чистый" ISO-код. Интерфейс программы только из командной строки, но в интернете есть программы-оболочки к Blade. Качество кодирования весьма высоко и если учесть скорость работы, то Blade становится очень привлекательным выбором для битрейтов 192 кб/с и выше, однако в последнее время этот кодек развивается менее динамично, нежели L.A.M.E.

MP3 Producer: MP3 Producer by Fraunhofer-Gesellschaft - IIS
    Коммерческий кодер от Fraunhofer IIS. Является дальнейшим развитием l3enc, но ушел от него очень и очень далеко. Интерфейс программы не самый лучший, но все же лучше, чем командная строка.
    Работает быстро, сравним по скорости с Blade, кодирует очень качественно на низких битрейтах (128 кб/с и, вероятно, ниже). На высоких битрейтах (от 160 кб/с и выше) субъективно уступает кодерам на основе ISO-кода. Рекомендуется для низких битрейтов (160 кб/с и ниже).

mpegEnc : mpeg Encoder by SoloH
    Свободно распространяемый кодер, написанный неким SoloH. Представляет собой оригинальный код от ISO. Работает очень медленно, но, по некоторым отзывам, качественно (особенно на высоких битрейтах). Для маньяков - аудиофилов. Графический интерфейс у программы присутствует.

Xing : XingMP3 Encoder by Xing Technology Corporation
    Коммерческий кодер от Xing Technology Corp. Представляет собой оригинальный код от Xing Tech. Работает очень быстро, но качество также очень плохое. Интерфейс программы весьма оригинален, но не очень удобен.
    Скорость превыше всего. Страдает, естественно, качество. Все высокие частоты нещадно режутся. Хотя в этой версии введен режим "сохранения высоких частот", но и он не спасает положения, хоть все-таки высоких частот чуть-чуть добавляет. Конечно, качество при 320 кб/с получше, чем при 128 кб/с, но не дотягивает до 160 кб/с. Сравнивать скорость с другими кодерами бесполезно - тут Xing вне конкуренции. Хотя... Скорость LAME тоже не так низка. Кодер явно рассчитан на тех, кто хочет быстро получить результат, пусть даже плохой.


    Степень сжатия и качество.

    Оговорюсь сразу: я не сторонник кодирования на 320 kbps, даже, скорее, противник. И даже не одобряю кодирование в 256 kbps. IMHO лучше всего 160 kbps для музыки, которая просто нравится и 192 kbps для той, которая очень нравится. Хотя иногда встречаются ситуации, когда только 192-256 kbps дают достойный звук. Это относится к старым записям, которые изначально были записаны студийно на магнитную ленту, а уже потом изданы на CD (ранние Beatles, GrOb, Янка) или к классической музыке.
    Но я и не считаю, что "128 kbps дает ужасный звук, который можно слушать только на колонках, вмонтированных в клавиатуру". Все это чушь.
    Большинство тестирований, которые проводились по MP3 заключались в сравнении АЧХ (амплитудно-частотной характеристики) оригинала с закодированным файлом. Сразу отмечу глупость этой затеи. Защитники этой методики говорят, что поскольку эта методика правильно обнаруживает известные искажения (обрезание высоких частот и звон ISO кодеков на низких битрейтах), то она правильна. Но это же полная глупость. ЛЮДИ! Вспомните, чему вас должны были учить на первом курсе института (университета), а некоторых, даже еще в школе. Доказательство необходимости еще не означает доказательства достаточности. Сами подумайте: наиболее "качественным" окажется кодек, который вовсе не не применяет оптимизацию звука в соответствии с критериями слышимости (адаптивное кодирование). Что и получилось в обзоре Андрея Гуле aka Кролик: по результатам исследования АЧХ, первое место занял LAME с ключом -f, что отключает психоакустическую модель, т.е. не осуществляется адаптивное кодирование вовсе. Очевидно также, что "работает" это только на самых высоких битрейтах, т.к. существенно сжать без потери качества не используя ПА модель затруднительно.

    Есть другой подход - экспертный. Это когда человеку дают послушать MP3 на качественной аппаратуре и предлагают сравнить с оригиналом. По этому поводу в опубликованных источниках (преимущественно форумы iXBT) всегда пишут (все как один, почти цитата):
отклонений от оригинала на 256 kbps я не замечаю, однако слышал от людей, что есть такие переходы, когда и в 256 kbps заметны искажения... Мой опыт личного общения еще более интересен. Я переписывался с несколькими людьми, в частности, с автором обзоров MP3-кодеков и с создателем программы Easy CD-DA Extractor, а также еще с несколькими обладателями довольно неплохой аппаратуры. Так вот, ни один из них реально не замечает разницы уже в 192 kbps для обычной музыки (256 - для классики), если звук был пропущен через нормальный кодек. Тут, наверное, следует заметить, что, наверное, те люди, которые неудовлетворены 192 kbps, просто слушают оцифрованную Xing'ом запись, которая по некоторым параметрам даже хуже нормально оцифрованного в 128 kbps звука.
    Что касается автора обзора MP3-кодеков, то тут ситуация просто смешная. По его словам, у него очень плохая аппаратура и разницы он не замечает уже в 128 kbps, однако он делает весьма серьезные выводы, используя АЧХ.
    Не спорю, что есть аппаратура (и уши ее обладателей, что не менее важно), на которой заметно различие и в 192 kbps, однако ее стоимость нередко приближается, а то и превышает $1000 (по отзывам владельцев, которых вдоволь можно найти на iXBT). Возникает резонный вопрос: если они такие богатые, то почему бы им не покупать записи на CD? Причем на лицензионных, ведь именно тогда разница в качестве может оказаться весьма существенной (известно, ведь, что зачастую пираты используют не самые лучшие исходники и аппаратуру для копирования дисков - у меня много альбомов ушло на свалку по этой причине).

    Но вернемся к нашим баранам. Итак, 128 kbps, в принципе, нормальный формат, если вы имеете обычную аудиотехнику и рядовой слух. Но, чтобы быть уверенным, лучше кодировать на 160 kbps, т.к. это даст запас (весьма существенный) по сравнению с 128 kbps на тот случай, если улучшится качество аппаратуры (например, купите колонки с усилком за 200 - 300 зеленых). Или подключите ПК к хорошему музыкальному центру... А если хотите быть совсем уверены в том, что ваша горячо любимая музыка ничего не потеряет от кодирования, то берите 192 kbps.

    128 kbps (11:1)
    Самый популярный на сегодня битрейт. Степень сжатия 11:1 - это, конечно, аргумент, особенно для Интернета, где каждый килобайт на счету. Однако при этом не очень хорошо сохраняются высокие частоты и имеют место некоторые искажения звука. При этом могу точно сказать, что на обычной аппаратуре, например, используя обычную звуковую карту, компьютерные колонки, пусть и неплохого качества или вывод через простенький магнитофон на его колонки (используя вход для внешнего CD, как это делаю я), разницы не будет заметно, если только вы не эксперт по звуку.
    Однако на нормальных колонках (как минимум, больших и дорогих) отсутствие высоких частот проявляется довольно заметным образом. Музыка звучит несколько неестественно глухо и резко одновременно. Хотя многое зависит от параметров аудиосистемы.

    На 128 кб/с лучше себя ведут кодеры от Fraunhofer-IIS - они оставляют больше высоких частот, чем кодеры ISO и, тем более, Xing. Но чуда не будет: больше это не означает "воспроизводит идеально". Все ISO кодеры как один добавляют характерный звон, наличие которого связано с особенностью психоакустических фильтров ISO. На этом битрейте отлично себя показал MP3 Producer, специально оптимизированный под низкие битрейты.

    160 kbps (8:1)
    Лучше, чем 128 кб/с. На неплохой (хорошей непрофессиональной) аппаратуре разницы уже не заметите. Но все равно присутствует недостаток высоких частот. На этом битрейте себя лучше проявили кодеры от Fraunhofer, т.к. ISO кодеры продолжают "звенеть", хотя и меньше. Выбирать приходится между кодерами от Fraunhofer, поэтому неплохой выбор - новый MP3 Producer. Тем не менее, новый LAME показывает очень неплохие результаты за счет полномасштабной переработки психоакустической модели.

    192 kbps (7:1)
    Последнее время, с ростом пропускной способности каналов Интернета, этот битрейт становится более популярным на его просторах. Заметная часть новых записей оцифровывается именно в 192 kbps, во всяком случае теми, кто занимается MP3 серьезно. Кодеры от от Fraunhofer убирают высоких больше, чем кодеры ISO, которые уже не "звенят". На этом битрейте кодеры от ISO чуть-чуть опережают Fraunhofer. Но ISO-оптимизированные - гораздо быстрее.

    256 kbps (5:1)
    Вот тут практически все совсем перестают ощущать разницу между записью с CD и MP3-файлами, даже на очень качественной аппаратуре, при кодировании ISO-кодерами. Все ISO-кодеры обеспечивают на слух одинаковое качество, которое выше, чем у других кодеков. Однако будьте готовы к тому, что не все MP3-плейеры (переносные) будут работать с этим форматом (во всяком случае, первые MP3-дискмены не поддерживают битрейты выше 192 кбвс, равно как и VBR).

    320 kbps (4:1)
    Вот этого уже многие совсем не понимают. Это что, попытка быть святее Папы Римского? Ну нет разницы на слух между ISO 256 кб/с и CD. Зачем же 320? В расчете на тех, кто эту разницу услышит? Так этих людей мало, хоть из-за их фанатической активности кажется, что только из них Рунет и состоит :-(. Если бы эти люди хорошенько подумали, то предпочли бы все-таки CD, который, как традиционно считается, обеспечивает качество Hi-Fi. Тем более, что большинство MP3-плейеров (переносных) не "видит" файлы с этим битрейтом. С программами тоже могут возникнуть проблемы.


Способы кодирования СТЕРЕО в сигнале.

    В рамках MP3 кодирование стереосигнала допустимо четырьмя различными методами:

    Dual Channel - Каждый канал получает ровно половину потока и кодируется отдельно как моно сигнал. Рекомендуется главным образом в случаях, когда разные каналы содержат принципиально разный сигнал - скажем, текст на разных языках.

    Stereo - Каждый канал кодируется отдельно, но кодер может принять решение отдать одному каналу больше места, чем другому. Это может быть полезно в том случае, когда после отброса части сигнала, лежащей ниже порога слышимости или полностью маскируемой, оказалось, что код не полностью заполняет выделенный для данного канала объем, и кодер имеет возможность использовать это место для кодирования другого канала. Этим, например, избегается кодирование "тишины" в одном канале, когда в другом есть сигнал.
    Данный режим выставлен по умолчанию в большинстве ISO-based кодеров, а также используется продукцией FhG IIS на битрейтах выше 192kbs. Применим и на более низких битрейтах порядка 128kbs... 160kbs.

    Joint Stereo (MS Stereo) - Стереосигнал раскладывается на средний между каналами и разностный. При этом второй кодируется с меньшим битрейтом. Это позволяет несколько увеличить качество кодирования в обычной ситуации, когда каналы по фазе совпадают. Но приводит и к резкому его ухудшению, если кодируются сигналы, по фазе не совпадающие. В частности, фазовый сдвиг практически всегда присутствует в записях, оцифрованных с аудиокассет, но встречается и на CD, особенно если CD сам был записан в свое время с аудиоленты. Но эта проблема, опять же, нам не сильно важна, т.к. нас интересует, прежде всего, кодирование полноценных Audio CD.
    Режим выставлен по умолчанию продукцией FhG IIS, а также кодером Lame, для битрейтов от 112kbs до 192kbs.

    Joint Stereo (MS/IS Stereo) - Вводит еще один метод упрощения стереосигнала, повышающий качество кодирования на особо низких битрейтах. Состоит в том, что для некоторых частотных диапазонов оставляется уже даже не разностный сигнал, а только отношение мощностей сигнала в разных каналах.


    Глоссарий.

Кодер (англ. coder, encoder)
    Программа и/или устройство, используемые для преобразования информации из одного вида в другой (кодирование). Мы рассматриваем программы, которые преобразуют аудиоданные из формата PCM WAV в ISO MPEG Audio Layer III (MP3).

Декодер (англ. decoder)
    По сути то же, что и кодер, но осуществляет преобразование в обратном направлении.

Кодек (англ. codec)
    Кодер и декодер в одном блоке.

Степень сжатия
    Отношение размера входного (некодированного) файла к размеру выходного (кодированного) файла. Например, степень сжатия 11:1 означает, что закодированный файл в 11 раз меньше оригинала.

Битрейт (англ. bitrate)
    Количество бит, отведенное для записи единицы времени аудиоинформации. Измеряют обычно в кб/с, то есть килобит в секунду (англ. kb/s или kbps).
    Степень сжатия (а, следовательно, и качество), определяются не подформатом (в пределах формата в Mpeg Audio), а шириной потока (bitrate) про кодировании сигнала. Термин битрейт в общем случае обозначает общую величину потока, количество передаваемой за единицу времени информации, и поэтому не связан с внутренними тонкостями строения потока, его смысл не зависит от того, содержит ли поток моно или стерео, или пятиканальное аудио с текстом на разных языках, или что-либо еще. Bitrate может варьировать в весьма широких пределах от наибольшего, 320kbs (320 килобит в секунду, также пишут kbs, kbps или kb/s), до 96kbps и ниже.

Децибел (англ. decibell, обознач. дБ, dB)
    Единица измерения каких-либо величин. По определению значение величины в децибелах равно десяти логарифмам отношения величины в обычных единицах к некоей опорной величине в обычных единицах. В звукотехнике обычно используется для измерения слышимости звукового сигнала, при этом в качестве опорной величины берется максимальный уровень звука. Дело в том, что человеческое ухо воспринимает силу звукового потока нелинейно. Особенность слуха в том, что звук в -40 дБ кажется в 2 раза тише, чем звук в -20 дБ, хотя очевидно, что величина U40, описывающая этот звук (в данном случае - мощность звукового потока), в 100 раз меньше величины U20. Получается что "ухо слышит в децибелах".

Логарифмическая шкала
    Шкала, в которой величины, соответствующие соседним отметкам, различаются не на одинаковую величину (как это делается обычно - линейная шкала), а в одинаковое число раз.

АЧХ (амплитудно-частотная характеристика, англ. AFG, amptitude to frequency graph)
    Зависимость уровня сигнала от частоты сигнала. Из-за того, что уровень может измеряться и в единицах мощности звукового потока, и в единицах электрического напряжения (по отношению к электрическому представлению этого же сигнала в схемах, скажем, усилителя), и много чего еще; а также учитывая особенности человеческого слуха (см. Децибел), уровень сигнала часто измеряют в дБ и не конкретизируют, об уровне чего (громкости, напряжения) идет речь. АЧХ можно построить в виде графика.

Частота дискретизации
    ...................

MPEG Layer 1/2/3
    В MPEG Layer3 основной упор делается на оптимизацию качества звучания (кодируется с частотой 44,1 kHz, как и на обычном CD Audio). Что касается MPEG Layer2, например, то там осуществляется понижение частоты дискретизации до 22,5 kHz, что заметно ухудшает восприятие звука, зато в два раза уменьшает объем файла (потока). Этот формат часто используют для передачи аудио в реальном времени по сетевым каналам (интернет). Правда, в этом секторе более распространен формат RealAudio, т.к. он имеет встроенную защиту. Более подробно это здесь рассматриваться не будет, т.к. этот обзор построен вокруг и около процесса качественного кодирования CD Audio.

Frame
    Кодирование данных происходит посредством выделения независимых отдельных блоков данных - фреймов. Для этого исходный сигнал при кодировании разбивается на равные по продолжительности участки, именуемые фреймами и кодируемые отдельно. При декодировании сигнал формируется из последовательности декодированных фреймов.

VBR
    В районе конца 98 - начала 99 года XingTech первая использовала технологию переменного битрейта, VBR. Если в случае постоянного битрейта кодер выбирает наиболее значащие частотные составляющие фрейма, убирающиеся в выделенный битрейт, то в случае VBR задается максимальный допустимый уровень потерь, а кодер выбирает еще и минимальный битрейт, достаточный для выполнения поставленной задачи. Стоящие рядом в конечном потоке фреймы могут оказаться в итоге закодированы с совершенно разными параметрами (как вы помните, фреймы кодируются отдельно). Сейчас VBR можно использовать в LAME-кодеке. Однако многие сходятся во мнении, что это далеко не лучший выбор. Назову три недостатка. Во-первых, это несовместимость с VBR многих программ и некоторый аппаратных (переносных) MP3-плейеров. Во-вторых, качество зачастую оказывается посредственным и проявляются странные глюки кодирования. В-третьих, - значительное падение скорости кодирования (в 2-3 раза). Так что пока кодирование в VBR не рекомендуется. Согласитесь, неприятно купить MP3-дискмен и выяснить, что он не может прочитать с таким трудом оцифрованные записи...


Использованы материалы (в числе прочих):
Михаил М. Федотов ([email protected])
Андрей Гуле aka Кролик ([email protected])


Срочно работа цветы в Североморске среди цветов.
http://www.AltMusic.ru TWAIN (Alex BigMe)
Рейтинг@Mail.ru