Всё, что вы хотели знать об МР3, но боялись спросить
 
Автор Игорь Шакуров (Все статьи)
Опубликовано04.06.2003
Источник http://www.comprice.ru/
РазделЛикбез
Просмотров9324
Оцените статью!
  • Рейтинг статьи - 4.67 из 5
  • 1
  • 2
  • 3
  • 4
  • 5

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

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

Второй плюс, скорее всего, является следствием первого. Под МР3 разработана целая куча программного обеспечения. Будь это кодеры или проигрыватели. Появились даже аппаратные МР3-плееры. А МР3 стал основой кодирования звука в стандартах MPEG1 и MPEG2. Как видно, преимущество МР3 заключается лишь в отсутствии конкурентов. А чтобы выявить минусы данного формата, нужно рассмотреть МР3 более детально.

Что такое МР3

Само слово МР3 - это сокращение MPEG Layer3. МР3 разработан фирмами Fraunhofer IIS и THOMSON. Точнее, первая фирма - это не совсем фирма. Это институт Фраунгофера. МР3 является потоковым стандартом сжатия аудио. Это значит, что исходный сигнал разбивается на отдельные одинаковые куски - фреймы, которые кодируются отдельно. В моей статье, посвященной анализу МР3-проигрывателей (Битва игралок: есть ли конкуренты у WinAmp?), я уже поверхностно касался методов раскодирования фреймов, квантования и адаптивного кодирования. Поэтому возьму на себя смелость опустить данные элементы без потери сути и сразу перейти к более детальному рассмотрению.

Наверняка, вы хорошо себе представляете, для чего нужен битрейт. Понятно, что 128 kbps лучше, чем 256 kbps, а 320 kbps - это почти CD-качество. Kbps, говоря по-русски, это количество килобит (не килобайт!), из которых состоит одна секунда звука. Причем, это общая величина потока. Она не зависит от количества каналов, на которых записан звук. То есть и 5.1, и стерео в 128 kbps будет занимать одинаковое количество места на диске. Понятно, что качество стерео в данном случае будет существенно выше, чем 5.1. Ведь при стереозвучании на канал будет приходиться примерно 64 kbps, а в 5.1 - 21 с копейками kbps. Более подробно о распределении потока между каналами я расскажу ниже. А теперь о самом процессе кодирования.

Процесс кодирования

Сам процесс кодирования можно разбить на четыре основных этапа.

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

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

Построение и обработка психоакустической модели. Здесь работа происходит над выделенными в предыдущем этапе диапазанами. Для каждого диапазона определяется величина маскирующего эффекта, создаваемого сигналами соседних диапазонов и сигналом предыдущего фрейма. Если величина сигнала в диапазоне оказывается ниже порога слышимости, то сигнал не кодируется, а просто отбрасывается. Естественно, порог слышимости у разных людей разный. Также качество акустики стоит не на последнем месте. Если на пластиковых пищалках можно не услышать разницы и между 128 kbps и 256 kbps, то на советских доработанных "Корветах" или "Радиотехнике S90" первых годов выпуска (читай: буржуйный hi-end за $500-1000), можно отчетливо услышать разницу между 320 kbps и CD.

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

Вот основные этапы кодирования МР3. На самом деле все происходит несколько сложнее. Здесь, например, не рассматривается разница при кодировании различными битрейтами. Также имеется несколько различных способов кодирования стереосигнала, влияющих на процесс кодирования кардинально.

Способы кодирования стерео

Dual Channel - самый простой способ кодирования стереосигнала. Каждому каналу отдается ровно половина потока. Например, если выбран битрейт 128 kbps, то каждому каналу будет отдано по 64 kbps. И кодируются каналы полностью независимо. Такой способ может потребоваться, если в каналах сигналы абсолютно разные.

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

Joint Stereo (MS Stereo) - в данном случае сигнал раскладывается на средний между каналами и разностный. Далее один из каналов кодируется очень качественно, а другой - очень некачественно :). Если каналы практически совпадают (как в попсе), то можно получить очень хорошее качество сигнала. Другое дело, что закодировать записи любой уважающей себя группы (The Beatles, Mеtallica, Roxette - вкус автора) скорее всего не получится. Там каналы имеют очень большое различие, вплоть до полного несоответствия. Но иногда и Мадонну (к вкусам автора не относится) не получится закодировать таким образом, несмотря на полное совпадение каналов. Дело в том, что у старых записей часто не совпадают фазы каналов. И ничего с этим сделать нельзя :(.

Joint Stereo (MS/IS Stereo) - этот метод может применяться для низких битрейтов. Здесь кодируется только средний сигнал между каналами (фактически становится моно). Сохраняется только разность в мощности сигнала между каналами. Естественно, такая потеря качества на высоких битрейтах неприемлема. Но на низких битрейтах данная методика позволяет получить достаточно качественный сигнал. Насколько мне известно, такой тип сжатия использует только FhG IIS на битрейтах ниже 96 kbps, и то лишь для высоких частот.

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

128 kbps vs. 256 kbps.
Характер потерь

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

Как мы уже знаем, исходный сигнал разбивается по частотным диапазонам. И если мощность сигнала в каком-либо диапазоне меньше слухового порога, то он не кодируется. Но такое справедливо только для высоких битрейтов. На практике все значительно хуже. Сначала кодируются диапазоны с наиболее мощным сигналом. И не всегда получается закодировать все диапазоны из-за жестких требований к размеру получаемого файла (если, например, кодирование происходит с битрейтом 128 kbps, то на каждую секунду будет использоваться именно 128 килобит). Таким образом, пропадают мелкие подробности звучания. Говорят, что звук теряет свою кристальную чистоту. Естественно, владельцев дорогой зарубежной, переделанной советской (те же S90) или самодельной акустики такое положение вещей не может устроить. А вот на всяких кампутерных КАЛонках такие потери, зачастую, остаются незамеченными в силу качества такой акустики. В последнем случае кодирование на низких битрейтах будет оправданным ввиду малого размера получаемого файла.

Другой недостаток МР3 - явное неуважение к высоким частотам выше 16000 Гц. Кодируется диапазон 16000-20000 Гц с низшим приоритетом. Мало того, что данные частоты не всегда "умещаются" в итоговый файл, так и искажения, вносимые при кодировании, всегда существенны. Иногда это проявляется в появлении звона, иногда в характерной шепелявости. Но владельцев дешевых пластиковых погремушек это опять не касается. Они эти недостатки просто не услышат. Редкая однополосная (где один динамик) акустика может воспроизвести частоты выше 12 КГц. Конечно, бывают и исключения. Например, советский динамик 4а32 или его современный потомок - 75ГДШ3-3. Но их размеры, параметры, да и цена снимают все вопросы. (Данная статья - не реклама советской акустики.) Так вот, чтобы проверить, может ли конкретный экземпляр воспроизводить высокие частоты, нужно всего лишь убедиться в наличии специального высокочастотного динамика - в простонародье "пищалки". Есть пищалка, есть и высокие частоты.

Существует мнение, что при кодировании низкими битрейтами появляются шумы. Это полностью несостоятельное заявление. Шумы зависят только от их наличия в исходном файле и качества воспроизводящей аппаратуры.

CD-качество

В народе пошло утверждение, что при кодировании 128 kbps качество получаемого файла ничуть не уступает оригиналу. Разбить данный миф очень просто. Просто представьте, какой образ возникает у вас при словосочетании "компьютерные колонки". Могу поспорить, что вы себе представили маленькие кремовые мыльницы по бокам монитора. Именно такие и стоят у большинства пользователей. Естественно, это большинство и не слышит разницы между CD и 128 kbps МР3. А нет разницы, значит, то же самое. Значит, 128 kbps - CD-качество. Но в последнее время наблюдается существенный прорыв в области звука. Потихоньку все переползают с пластиковых пшикалок на деревянные "Свены" и "Микролабы" весьма посредственного качества. Но это хорошо, если прогресс таким образом пойдет. А ведь теперь в моде новый формат - 5.1. И все стремятся этот 5.1 заиметь. И неважно, что теперь вместо двух пищалок стоит пять. Ну еще к 5.1 сабвуфер нужен. Ну и ставят пластиковые гробы системы Band-Pass (тип корпуса сабвуфера, когда сам динамик находится внутри, а звук выходит через фазоинвертор). Ладно, оставим эту тему. Просто 128 kbps - это не CD-качество.

Официально, CD-качество - 320 kbps. Именно с таким битрейтом нужно кодировать, чтобы предотвратить потерю качества. Я не могу это ни подтвердить, ни опровергнуть. Скорее всего, если использовать профессиональную звуковую карту и акустику класса Hi-End, то, возможно, разница будет заметна. Ведь сам стандарт МР3 подразумевает потери. Даже если информация на всех диапазонах "поместится" в файле, но ведь будут диапазоны, мощность сигнала в которых лежит ниже порога слышимости (естественно, такие диапазоны в любом случае не кодируются). Но как знать, что 100% акустики не воспроизведет данные участки сигнала и 100% не в состоянии их услышать. А частоты выше 16 кГц срезаются некоторыми кодерами по умолчанию.

128 kbps

Пожалуй, единственным достоинством данного битрейта является малый размер получаемого файла при достаточно хорошем качестве звучания. На современном этапе развития Интернета 128 kbps является оптимальным решением с точки зрения отношения скорости скачивания к качеству. Хочу заметить, что наибольший интерес среди пользователей вызывает поп-музыка. Именно на нее приходится львиная доля скачиваемых МР3-файлов. А основное свойство популярности такой музыки - недолговечность. Поэтому и не предъявляется высоких требований к качеству таких композиций. И 128 kbps является в таком случае вполне оправданным выбором.

При кодировании 128 kbps мы теряем большинство пространственных стереоэффектов. То есть, нельзя сказать, что пространственные эффекты исчезли. Они остались. Но если раньше эти эффекты воспринимались подсознательно, то теперь тонкая структура стереофонического звучания размылась. Таким образом, стереоэффекты стали восприниматься, как посторонний шум. Возможно, от этого и пошло мнение, что кодирование на малых битрейтах вносит шумы.

А происходит "размывание" звука по следующей причине. Чтобы придать инстументу смещенное положение относительно центра, сигнал одного канала немного запаздывает относительно другого на некоторое время. Время выбирается ровно такое, чтобы человек точно воспринял направление звука (чтобы определить направление звука, соответствующий отдел головного мозга сравнивает время запаздывание поступления звукового сигнала в одно ухо относительно другого; этот эффект и используется для передания стереофонической картины). Этому способствует относительно небольшая скорость распространения звука - 330 м/с. А при кодировании 128 kbps это запаздывание записывается в один моноканал. И при воспроизведении стереокартина не может быть воспроизведена из-за того, что запаздывание происходит не между разными источниками звука (колонками), а сигналы происходят из одного источника. Поэтому мозг не может нарисовать пространственную картину, а воспринимает только то, что звук размыт.

Это касалось средних и высоких частот. Они (в особенности - ВЧ) обладают достаточно узкой направленностью. А вот низкие частоты ниже 200 Гц не позиционируются. Мозг не может определить, откуда они происходят из-за многочисленных отражений от стен и достаточно больших длин волн (порядка нескольких метров) на данном диапазоне. Поэтому басы одинаково хорошо слышатся в любом месте помещения. Кстати, именно на этом эффекте и обосновано применение сабвуферов. Человек все равно не сможет определить (если не будет прислушиваться специально), исходит ли звук из колонок, или откуда-нибудь еще. А вот МР3 битрейтом 128 kbps творит чудеса, нарушая все законы физики. При кодировании таким качеством басы как бы "разбегаются" по колонкам. Я так и не смог выяснить, почему это происходит. Наверное, создатель МР3 - шаман или колдун.

Следующий недостаток является следствием низкого битрейта. Если на незагруженных участках качество 128 kbps вполне приемлемое, то бывают моменты, когда звуковая картина переполнена звуками в различных частотных диапазонах. Места для записи всех не хватает, и итоговое звучание получается очень невнятным и неразборчивым. Это очень сильно режет слух. Но все же 128 kbps иногда дает вполне приемлемое качество.

Хорошо сжимаются (под словом "хорошо" понимается качество получаемого файла) звуковые отрезки следующих типов:

1) Сольные инструменты с простым "ненагруженным" звуком. Например, фортепиано или гитара. А вот такие инструменты, как орган или некоторые духовые, будут обладать несколько "ужатым", "синтезаторным" звучанием при сжатии в 128 kbps. Неплохо зазвучит голос в аккомпанементе с простым инструментом.

2) Почти вся современная попса, "гениальные" продюсеры не знают никаких стереоэффектов, кроме реверберации, только знают, что голос можно так переделывать, что узнать нельзя. Естественно, что размываться там нечему.

3) Все остальное, что не требовательно к качеству.

А вот то, что сжимать в МР3 128 kbps не рекомендуется.

1) Запись с наличием посторонних шумов. Например, запись выступления в баре или ночном клубе. Здесь шумы занимают очень большой диапазон частот. В результате кодирования получится "каша".

2) Записи с большим количеством стереоэффектов. Причины описаны выше.

3) Запись, "перегруженная" многими инструментами в различных частотных диапазонах. Например, большой симфонический оркестр или серьезная группа с хорошим продюсером.

4) Любая требовательная к качеству запись.

Очень многое зависит и от требовательности самого человека. Есть такие, кого просто выворачивает наизнанку при одном упоминании МР3 128 kbps (и я, в том числе). А есть и те, кто разницу между оригиналом и 128 kbps с разбегу и не заметит. Поэтому нет требовательности к качеству - сжимайте 128 kbps. Есть - забудьте слово 128 kbps.

256 kbps

Давайте побыстрее перейдем к чему-нибудь более качественному. А именно - 256 kbps.

На сегодняшний день, пожалуй, единственным способом сжать запись с большим коэффициентом сжатия и при этом избежать потери качества является сжатие в МР3 256 kbps. Сжатие таким битрейтом позволяет получать файлы примерно в десять раз меньше, чем оригинал. Естественно, потери качества существуют и в 256 kbps, но их услышат только аудиофилы.

Думаю, недостатки у 256 kbps тоже присутствуют. А именно:

1) Размер, в два раза больший, чем 128 kbps. МР3 используется в 99% в сети Интернет, а при современных скоростях и ценах на него это является существенным сдерживающим фактором популярности данного битрейта.

2) Зачем слушать 256 kbps, если при использовании средней акустики голова начинает болеть уже через один час прослушивания даже CD.

Но в последнее время наблюдается существенный скачок в развитии как компьютерной акустики, так и Интернета. Тотальный переход на более-менее приличные "Свены" и "Микролабы" я уже отмечал. Очень хорошая звуковая карточка (среди непрофессиональных) - SB Live 5.1, стоит всего $30-35, что не так уж дорого для качественного звука. Еще хочется отметить существенное падение цен на Интернет в нашем городе. Теперь ситуация больше напоминает конкурентную борьбу между провайдерами, нежели монополистическую. Но последнее обстоятельство не может никак повлиять на ситуацию. Многие пользуются глобальной сетью на работе по выделенной линии за счет фирмы. Казалось бы, все обстоятельства располагают к переходу на 256 kbps. Но этого не происходит и не может произойти в ближайшее время. Дело в том, что на Западе вышеперечисленные изменения произошли несколько раньше, чем в нашей стране (что не удивительно). А там никакого перехода на 256 kbps не намечается. Соответственно, у Нас переход не может наступить раньше, чем у Них.

Давайте разберемся, почему этот переход так и не произойдет в ближайшее время. На Западе МР3 является заменой лицензионным дискам, которые стоят там $10-20. А у нас эти $10-20 идут по курсу 60-70 рублей за n долларов. Зачем нашим согражданам качать мегабайты МР3, если можно купить пиратский CD?

Поэтому 128 kbps так и останется стандартом де-факто.

Но и у 256 kbps недостатки все-таки есть. Итоговый сигнал получается несколько размазанным во времени по сравнению с оригиналом. Это касается резких и быстрых звуков, таких как удар о металлический предмет. Еще для 256 kbps (как и для любого другого битрейта) характерна слабая, не совсем точная передача моментов, перегруженных мощными звуками. На данный момент алгоритм коррекции такой: в потоке данных mp3 имеется буфер, который позволяет экономить некоторую часть потока, чтобы в нужный момент воспользоваться накопленным резервом и затратить гораздо больше данных на кодирование узкого участка. К сожалению, буфер этот невелик, а дальнейшее развитие этой идеи - переменный поток - VBR - пока не имеет разумной и качественной реализации.

Думаю, теперь о различных битрейтах вы знаете достаточно, чтобы правильно выбрать для себя приемлемое решение.

Немного о кодерах

Существуют три линии развития кодеров -- кодеры от XingTech, кодеры от FhG IIS и кодеры, основанные на исходном иллюстративном коде ISO. Кодеры, основанные на ядре от XingTech, не обладают должным качеством, и существенно уступают конкурентам. Единственное преимущество данных кодеров - высокая скорость работы. Поэтому они применяются там, где качество получаемого файла не критично.

Самым высоким качеством обладают кодеры, основанные на FhG IIS. У FhG IIS лучше оптимизирована работа психоакустической модели.

Кодеры, основанные на ISO, обладают очень разными характеристиками, поэтому одним предложением качество данного ядра описать нельзя.

Ядра - ядрами, а, собственно, какие кодеры есть в нашем распоряжении? Вот небольшой списочек: Astrid/Quartex AACEnc v.0.2, Audioactive Production, Studio v.1.0.5, Audioactive Production Studio v.1.5.4, Audioactive Production Studio v.1.5.5b, Audioactive Production Studio v.2.0.4j, Blade Encoder DLL v.0.91, Blade Encoder DLL v.0.93.4, Fraunhofer Radium MP3 codec v.1.263, Freeware AAC Encoder v.0.61, GOGO DLL v.2.3, GOGO v.2.35.1, L3Enc v.2.61, Lame DLL v.3.7, Lame DLL v.3.83, Lame v.3.61, Lame v.3.84, Lame v.3.85, LQT Liquid v.4.0, Microsoft WMA V1, Microsoft WMA V2, Microsoft WMA V7, MP3 Producer v.2.1 Professional, MP3Enc v.3.0, OGG Vorbis , PULSE MP3 Master v.2.0, RealAudio v.3, SCMPX v.1.5.1, Streambox Ripper v.2.009, TwinVQ Encoder v.2.1.1, VQF Yamaha SoundVQ Encoder V.2.60b1e, XingMP3 Encoder v.1.5, XingMPEG Encoder v.2.20

К сожалению, объем статьи не позволяет мне рассмотреть каждый кодер в отдельности. У каждого есть свои достоинства и недостатки. Многие не имеют графического интерфейса. Но де-факто стандартом является кодер MP3 Producer от основателя МР3 - FhG IIS. Я думаю, что вы должны сами для себя решить, каким кодером пользоваться, если у вас вообще есть необходимость пользоваться такими программами. Надеюсь, что данная статья не оставила у вас пробелов в области МР3, и вы, можно считать, стали экспертами в этой области. А я на этом радостном моменте умываю ру... клавиатуру и желаю приятного прослушивания вашей любимой музыки в том стандарте, который вы сами выберете.

Отзывы о статье Всё, что вы хотели знать об МР3, но боялись спросить

САША [28-01-2010]

СПАСИБО ОГРОМНОЕ ЗА МАТЕРИАЛ
| | Ответить

смирнофф [06-01-2006]

у меня , в отличие от автора, по математике как раз были пятёрки, но его изложение(если это его изложение) весьма достойно выглядит. Многое прояснилось. Спасибо.
| | Ответить

Смотреть все отзывы (2) / Добавить отзыв