faqs.org.ru

 Главная > Компьютеры и комплектующие > Мультимедиа >

Обзор формата MP3

Секция 1 из 2 - Предыдущая - Следующая

From: Mikhail Fedotov, 2:5015/93.7 (24 May 99)

                           Обзор MP3. Часть I.

                                 23.05.99

Что такое MP3 ?

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

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

  Высокая степень компактности MP3 по сравнению с PCM 16Bit Stereo 44.1kHz
(CD  Audio) и ему подобными форматами при сохранении аналогичного качества
звучания    достигается   с   помощью   дополнительного   квантования   по
установленной схеме, позволяющей минимизировать потери качества.

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

  Степень  сжатия,  и,  соответственно, объем дополнительного квантования,
определяются   не   форматом,  а  самим  пользователем  в  момент  задания
параметров   кодирования.   Ширина  потока  (  bitrate  )  варьируется  от
наибольшего  для MP3, равного 320kbs ( 320 килобит в секунду ), до 96kbs и
ниже.  Термин  битрейт обозначает общую ширину потока, безразлично к тому,
монофонический или стереофонический сигнал он содержит.

  На   проведенных   тестах   специально  приглашенные  опытные  эксперты,
специализирующиеся  на  субъективной  оценке  качественности  звучания, не
смогли  различить  звучание  оригинального трека на CD и закодированного в
MP3 с коэффициентом сжатия 6:1, то есть с битрейтом в 256kbs.

  Более  низкие битрейты, несмотря на их популярность, не дают возможности
обеспечить  надлежащее  качество кодирования. Фактически, и 256kbs не дает
возможности  осуществить  полностью  прозрачное  кодирование,  то же самое
можно  сказать  и  про  наивысший  возможный для MP3 битрейт -- 320kbs, но
отличия  от  CD  Audio,  по  которому  кодируется тестовый MP3, сравнимы с
отличиями  самого  CD  Audio  от исходного высококачественного сигнала, из
которого  он  был  получен путем оцифровки. То есть, вообще говоря, потери
есть,  но  несущественны с точки зрения того, кому CD Audio представляется
верхом качественности.

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

  Возможно,  'монополия' MP3 будет сломлена начинанием Microsoft - WMA. Но
пока  рано говорить об этом. В то же время, в связи с появлением Microsoft
на  данном  рынке со столь сильно разработкой можно уверенно предположить,
что  разработки  семейства  AAC,  прямого  наследника  MP3,  уже не успеют
завоевать популярности.

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

Подготовка к кодированию. Фреймовая структура

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

Начало кодирования

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

Работа психоакустической модели.

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

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

Завершение кодирования

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

Замечание

На практике схема несколько сложнее.

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

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

Дополнение

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

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

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

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

  Joint  Stereo  (  MS/IS  Stereo  )  --  Вводит  еще один метод упрощения
стереосигнала,  повышающий качество кодирования на особо низких битрейтах.
Состоит  в  том, что для высоких частот оставляется уже даже не разностный
сигнал,  а  только  отношение мощностей сигнала в разных каналах. Понятно,
для кодирования этой информации употребляется еще меньший битрейт.
  В  отличие  от  всех  предыдущих,  этот  метод приводит к потере фазовой
информации,  но  выгоды  от  экономии  места  в  пользу  среднего  сигнала
оказываются выше, если речь идет о очень низких битрейтах.
  Этот  режим  по  умолчанию  используется  продукцией FhG IIS для высоких
частот  на  битрейтах  от 96kbs и ниже. В ISO-based кодерах возможен выбор
диапазона.  Фактически,  MS  Stereo  -- частный случай MS/IS Stereo, когда
переменная,  отвечающая  за  кодируемый  таким образом диапазон, принимает
нулевое значение.
  При  применении  данного  режима происходит потеря фазовой информации, а
также имеет место меланхоличное превращение противофазного сигнала кодером
в полное отсутствие оного (сигнала).

О граблях

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

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

  Абсолютное большинство пользователей MP3 применяет те программы, которые
просто  первыми  попались на глаза, или пользуется рекомендациями столь же
'образованных'  друзей.  В  итоге  страдает  качество,  так как не все так
просто, как хотелось бы, разные программы дают разное качество кодирования
и  декодирования,  и даже с лучшими образцами связаны свои ньюансы. К тому
же наиболее агрессивно рекламируются как раз не они.

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

  Также  очень  популярны кодеры, написанные самим разработчиком стандарта
--  Fraunhofer IIS, -- хотя при всем их действительно высоком качестве они
имеют небольшой ряд характерных существенных недостатков, проявляющихся на
низких битрейтах, на которые, кстати, и ориентированы. Основной недостаток
-  недостаточные  возможности  настройки,  в  частности,  нет  возможности
отключить  на  низких  битрейтах  режим Joint Stereo. В случаях наличия не
скорректированного  фазового сдвига это необходимо. Впрочем, разработчикам
при  желании  поправить  это  будет  несложно,  чего  не скажешь о кодерах
XingTech,  недостаток  которых -- качество собственно кодирования. Кстати,
кодеры  FhG  IIS  командной  строки  имеют  достаточно хорошие возможности
настройки.

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

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

  А  лежит  в  основе  всего  то,  что  на  традиционно устанавливаемой на
компьютерах   неважной   аудиоаппаратуре,   состоящей   обычно  из  слабой
аудиокарты  и  дешевых  колонок,  закодированные  кодерами от XingTech MP3
часто  звучат  почти  так же, как и сделанные другими кодерами, а CD Audio
звучит  столь  же  неважно, как MP3 128kbs ( сжатие 12:1 ). Именно поэтому
данному    битрейту   приписывают   способность   обеспечить   CD-качество
кодирования, а кодеры от XingTech не перестают пользоваться популярностью.
Но  обычно  это  быстро  вскрывается  --  начинает  проявляться неприятный
осадок,  вызываемый дефектами звучания. Разумеется, при наличии некоторого
слуха.

  По этой же причине еще одной большой трудностью становится устоять перед
соблазном   использования   в   своей  фонотеке  таких  популярных  низких
битрейтов,  как  128kbs,  несмотря на желание иметь максимальное качество.
Обычно забывают, что битрейты порядка 112kbs... 128kbs по качеству неплохи
для  прямых  трансляций и ознакомительного прослушивания, но отнюдь не для
создания  архивов  музыки  качества  CD Audio. У меня тоже была одно время
коллекция  записей в MP3, закодированных с битрейтом 128kbs, и слушал я их
на  дешевой  аппаратуре. Но дефекты звучания оказались легко заметны, я их
довольно скоро просто-напросто выучил. Они превысили все дефекты, вносимые
недостатками   аппаратуры,  и  записи  были  удалены.  И  это  при  плохой
аппаратуре. Что же говорить о хорошей ?

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

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

Несколько слов о разных битрейтах

  Разные  битрейты  дают  разное  качество.  Разные любители MP3 абсолютно
по-разному оценивают степень приемлемости одних и тех же битрейтов и имеют
свой  взгляд  на  то,  какой  битрейт  следует считать оптимальным. Кто-то
выбирает  128kbs,  другие  160kbs, третьи золотую середину -- от 192kbs до
256kbs. Некоторые -- 320kbs.

  Я,  когда  начинал  разбираться  с MP3, изначально искал именно и только
полноценную  замену  CD  Audio,  с  меньшим  объемом,  но с как минимум не
меньшим качеством, и такую возможность MP3 в общем-то дает.

  Любые  существенные  потери  качества  и  нервов, пусть и с утешительным
призом  в  виде дальнейшего уменьшения объема, меня всегда интересовали со
знаком   минус,   и   я  пользуюсь  и  собираюсь  продолжать  пользоваться
исключительно 320kbs MP3. Поясню, на чем основан мой выбор.

  Тесты  профессиональных прослушивателей, нанятых разработчиками формата,
для  выбранных  тестовых  композиций  показали  достаточность  256kbs  для
сохранения   качества   звучания,   неотличимого  человеческим  слухом  от
исходного  ( прошу не забывать про оговорку в начале обзора). В дополнение
к этому, другие тесты, проведенные французом Gabriel Bouvigne, вебмастером
MP3  Tech,  (  www.mp3tech.org  ),  показали недостаточность для этой цели
битрейта 192kbs. С другой стороны, нередко появляются замечания о том, что
256kbs  оказывается недостаточно. Иногда это проявляется лишь на некоторых
композициях,   а   иногда  сказывается  использование  достаточно  хорошей
аппаратуры   и   не   самого  плохого  слуха.  И,  хотя  документированных
доказательств никто не привел, этих высказываний достаточно, чтобы сделать
вывод  об  обоснованности признания 256kbs не самым безупречным битрейтом,
так как этого и следовало ждать.

  То есть достаточного запаса качества 256kbs не дает, несмотря на то, что
он  на  треть  выше  192kbs,  на  котором  отличия для вебмастера MP3 Tech
оказались уже почти неощутимы. Тем не менее, проявляется это крайне редко.

  Из  этого  можно  сделать  три вывода. Во-первых, битрейт 256kbs следует
считать  пограничным. Во-вторых, для абсолютного большинства пользователей
он  действительно  совершенно  достаточен.  В-третьих,  для  безоговорочно
высокого качества все же необходимо несколько увеличить запас.

  С  другой  стороны,  те  же  тесты определили MP3 160kbs... 192kbs как в
большинстве  случаев  вполне  приемлемые для хранения аудио на компьютере,
например, в компьютерных играх, когда внимание отвлечено.

  Следующий  после  256kbs  битрейт  --  320kbs, он же -- максимальный для
кодирования  аудио  с  характеристиками  CD  Audio, то есть 44.1 kHz 16bit
Stereo.  В  данном  случае мы имеем запас в 1/4 от битрейта 256 kbs, и его
вполне  можно  считать  достаточным  в  силу  имеющихся  данных  о степени
улучшения  качества кодирования при кодировании на 160 kbs вместо 128 kbs.
Именно  в  данном  варианте  мы  имеем  дело  со  степенью качественности,
описанной в оговорке в начале обзора.

  Таким  образом,  можно  свободно  уменьшить  объем  CD  Audio  более чем
вчетверо,  используя 320 kbs, и быть спокойным за сохранение качества, или
же  с помощью легкого аутотренинга внушить себе спокойствие и использовать
MP3  256  kbs,  применяя сжатие в шесть раз. В данном случае выбор -- дело
скорее принципа или коммерческой целесообразности.

  Так  или  иначе,  используя  MP3  256kbs  и  320kbs, мы можем без особых
проблем создавать свои обширные фонотеки на CDR.

  И  все  же  ни  для  кого  не  секрет, что самым популярным все же был и
остается  битрейт 128 kbs, широко разрекламированный в свое время FhG IIS.
Но при его использовании мы имеем скорее качество аудиокассеты, записанной
на  подозрительного  происхождения  магнитофоне,  хотя  и  с  очень низким
уровнем шумов. Романтически настроенные разработчики даже почти официально
назвали  это  'CD-качеством',  что  очень  далеко  от истины. Впрочем, это
традиция  --  ADPCM  тоже  в  свое  время называли форматом, дающим только
неслышимые искажения.

  На  самом деле различие между качеством звука на битрейтах 128 kbs и 256
kbs/320  kbs принципиально. Первый к качеству уровня CD никакого отношения
не  имеет, в отличие от двух последних. Разумеется, для тех, кому качество
средней  аудиокассеты  кажется  великолепным, данная оценка неверна, также
она  обычно неверна для случаев, когда внимание сильно отвлечено. Добавить
к этому особенно нечего.

  В  Интернет,  как  правило,  можно  найти  только  MP3, закодированные с
битрейтом 128 kbs ( закроем глаза на факт наличия Xing VBR, о котором ниже
).  Этот  битрейт,  помимо признания в качестве любимого битрейта FhG IIS,
был  признан также оптимальным для использования в Интернет. Это печально,
но  логично  -- именно для передачи аудио по сетям MP3 и был первоначально
предназначен.  Просто  битрейт  112kbs,  к сожалению, оказался маловат для
достаточно качественного кодирования, и дополнительно закрепилось значение
128  kbs,  которое  обеспечивает  значительно  более высокое качество. При
дальнейшем   повышении   битрейта   рост   качества  замедляется,  поэтому
остановились именно на 128kbs.

  Вскоре  после  того,  как  тучи  пользователей  осознали все возможности
технологии,  попавшей им в руки, в Сети начался бум роста обширных залежей
нелегальных MP3-файлов, кампанию борьбы с наличием которых недавно провела
RIAA. А с осени 98-го стали выпускаться аппаратные плееры MP3, в том числе
модели  для  автомобилей, несмотря на попытку RIAA помешать этому. В итоге
MP3 стал первым массово признанным форматом хранения аудио после CD-Audio,
а   RIAA   срочно   ищет  формат,  который  бы  не  допускал  нелегального
распространения   аудиотреков   через  Интернет,  и  при  этом  в  головах
многочисленных  любителей  музыки  занял  бы место MP3. Любопытно, как они
себя чувствуют после появления WMA.

VBR & XingTech

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

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

  В  целом, конечно, использование VBR в реализации XingTech аудиофилам не
рекомендуется. Единственное его преимущество -- высокая скорость. Xing VBR
-- лучше, чем Xing с постоянным битрейтом, но не всегда, да и при этом все
еще  не  дотягивает  по  качественности  до других кодеров при аналогичном
объеме получаемых файлов.

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

  Остается  надеяться  на  выход поддерживающего технику VBR кодера от FhG
IIS,  хотя, полагаю, данный институт все же предпочтет не делать шаг назад
и продолжит разработку новых форматов.
  Также  существует возможность модификации кода ISO добровольцами, и даже
понятно, в каком направлении. Поживем -- увидим.

Способы хранения MP3

  Стандарт MP3 не определяет никакого точного стандартного математического
алгоритма  кодирования,  его  разработка  целиком  и полностью остается на
совести  разработчиков  кодеров.  Вместо  этого  он определяет общую схему
процесса   кодирования,   а  также  формат  закодированного  фрейма.  Сами
последовательности  фреймов  могут  передаваться  потоком  (streaming) или
храниться в файлах.

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

  Часто  к  последовательности  фреймов  добавляют  стандартный  заголовок
мета-аудиоформата  WAV,  и  получается  то,  что называют WAV-MP3. Немного
подробнее  о последнем будет сказано ниже, когда будет описываться ACM pro
codec.  Еще  чаще  к  MP3-файлу  добавляется  информационный  блок  ID3v2,
содержащий информацию об исполнителе, жанре, названии композиции, и другую
подобную информацию о треке. Он добавляется в конце файла. В середину пока
никто  ничего ставить не придумал. Хотя, вообще говоря, может представлять
некоторый  интерес  вставка  спецтэга для VBR с информацией о том, в какой
части трека мы, собственно, находимся.

Характер потерь при кодировании

  На  низких битрейтах всегда срезаются мелкие, сравнительно тихие детали,
наличие  или  отсутствие  которых  нередко  серьезно  меняет эмоциональную
окраску  композиции,  придает  или  лишает ее таких эффектов, как ощущение
'кристальной'  чистоты звука ( в той мере, в которой она присутствует в CD
Audio  ).  Кроме  того, в соответствии с психоакустической моделью, высшие
(выше  16  кГц)  частоты  на  низких  битрейтах  кодируются с очень низким
приоритетом.

  Кроме  того,  имеют  место разные особенности кодеров. Так, у кодеров от
FhG  IIS  на  128  kbs  оказываются 'смазаны' верхние частоты, наблюдается
эффект  'шепелявости',  в то время как у ISO-based вместо этого -- 'звон'.
Причем  одним  неприемлемо  первое,  другим -- второе, и выбор кодеров для
низких  битрейтов  в  итоге  всегда  субъективен.  Точно  также  некоторые
выбирают субъективно кодеры от XingTech, но это уже радикализм.

  Узкое  место  всех  схем  компрессии  класса  MPEG  -- участки с резкими
изменениями сигнала. В случае MP3 задержка может достигать величин порядка
160 мс, теоретический минимум -- 59 мс.

  На  высших  битрейтах  при последовательном следовании психоакустической
модели,  разработанной  FhG  IIS, проблемы могут доставлять только ошибки,
внесенные при написании кодера, и упомянутый абзацем выше момент.

Тестирование качественности кодеров

  Обычно  тестирование  кодеров проводится по степени сохранения формы АЧХ
оригинального  сигнала.  При  этом очевидно, что при битрейтах 256 kbs/320
kbs  АЧХ  исходного файла и файла, полученного после декодирования, должны
быть  идентичными как на синтетических тестах (сгенерированный белый шум),
так  и  на  реальных  треках.  На  более низких битрейтах следует в первую
очередь  следить  за  сохранением  формы  АЧХ  в  области низких и средних
частот.

  Сами  тесты по сохранению формы АЧХ следует проводить не только на белом
шуме,  как  это делается обычно, но и на достаточно сложных композициях, в
комплексе это позволяет получить значительно более достоверные результаты.
Белый  шум  может  выявить  мелкие  недостатки, как в BladeEnc на 128 kbs,
мешающие,  но  редко,  а  может  и  выдать  ложное представление о высоком
качестве кодирования, как в случае SoundLimit.

  Кроме  того,  само  сравнение  должно  производиться  не 'не глаз'. Мне,
например,  пришло как-то письмо, где подробно описывалось, какие частоты и
насколько  поднимает этот же самый BladeEnc на низких битрейтах в тесте на
кодирование  белого  шума.  Хотя  в  целом  на  реальных  композициях  АЧХ
визуально вполне похожа на исходную.

  Тесты  АЧХ  не универсальны. В силу особенностей MP3 они дают достаточно
адекватную оценку его качества, но к другим форматам они совсем не обязаны
быть  применимыми -- в частности, они непригодны для оценки качественности
кодирования в формате VQF.

  Относительно  точную раскладку качества сигнала по материалам специально
проведенного  прослушивания  можно  найти  на  сайте  MP3  Tech, а немного
вольный  ее  перевод  на  русский  язык  --  у меня на Mikhail's MP3 Page.
Кстати, сам сайт MP3 Tech посетить весьма рекомендую.

Общий обзор основных используемых кодеров и области их применения

  Самым  важным  моментом, определяющим качество кодера при кодировании на
битрейтах  порядка  192kbs  и  ниже,  являются  характеристики примененной
психоакустической  модели  и  алгоритма  ее  применения,  аккуратность его
реализации.   В  разработке  качественной  модели  больше  всего  преуспел
собственно разработчик формата, Fraunhofer IIS.

  Собственно,  именно  этот  институт  и есть тот единственный, который со
знанием  дела  занимается  разработкой  наиболее  качественных кодеров для
средних  и низших битрейтов ( другие, как авторы ISO-based кодеров, просто
оптимизируют сопровождавший спецификации MP3 иллюстрационный общедоступный
исходный код, а программисты из XingTech проблемами качества занимаются во
вторую очередь ). Современные кодеры, основанные на разработках FhG IIS --
FhG MP3 Producer v2.1, AudioActive v1.55.

  Программы  от  FhG  IIS  не  позволяют  кодировать  с битрейтом 320 kbs,
поэтому  эти кодеры не совсем универсальны. А вышеупомянутые два кодера не
универсальны  еще  и  потому,  что  не позволяют отключать joint stereo на
низких  битрейтах.  По  этой  причине в ряде случаев может оказаться более
предпочтительным  использование  mp3enc  3.1,  который позволяет отключать
Intensity  Stereo  в  режиме Joint Stereo. В версии 3.1 исправлена ошибка,
благодаря которой без нужды выбрасывалась чрезмерно большая часть высоких.

  Решить, какой из кодеров лучше на 256 kbs, может помочь только подробный
анализ  алгоритмов  применительно  именно  к этому битрейту. А пока мнения
разделились  --  с одной стороны имеем разумное ожидание высокого качества
от  разработчика  формата,  с  другой  --  распространенное мнение о более
высоком качестве ISO-кодеров, более равномерно кодирующих разные частотные
диапазоны.  Кроме  того,  кодеры  от  FhG  IIS 'выметают' все частоты выше
21кГц, а ISO based -- нет, хотя это уже не слишком критичный диапазон. Для
полноты  картины  замечу,  что  представители  обоих  групп  в  один голос
утверждают,  что  продукция  их любимого кодера на 256kbs и на слух звучит
лучше.

  Другой  известный  производитель  коммерческих  MP3-кодеров,  Xing Tech,
специализируется  на  выпуске  высокоскоростных  кодеров.  В  их последних
кодерах реализована техника переменного битрейта ( VBR ). Основное отличие
от кодеров с постоянным битрейтом состоит в том, что в кодерах, основанных
на  технологии  VBR,  в качестве параметра задается не битрейт, а желаемый
уровень качества. Теоретически, это должно давать MP3 нужного качества при
минимально необходимом битрейте.

  Практически,  даже  при  самых  высоких  параметрах кодирования кодерами
XingTech  мы  имеем  хорошее,  но  не  отличное  качество,  причем  и  при
переменном  битрейте, и при постоянном, что сильно снижает удовольствие от
непревзойденной  скорости  кодирования. Но любителей 128 kbs MP3 уговорить
перейти  на  Xing VBR настолько же легко, насколько трудно отговорить меня
пользоваться только ISO-based на 320 kbs.

  Остальные известные кодеры, авторство которых не принадлежит ни FhG IIS,
ни  Xing  Tech,  все  как  один  основаны  на  ISO source -- общедоступных
исходных   текстах  кодеpа,  относительно  равномерно  кодирующего  разные
частотные  диапазоны,  что  пpиводит  к наивысшемy качествy кодиpования на
высоких  битpейтах  и  вполне  пpиличномy  -- на 128 kbs, однако несколько
иному  по  характеру  искажений  по  сравнению  с  кодерами  от FhG IIS на
битрейтах порядка 128 kbs.

  Сам   код   создавался   в   иллюстрационных  целях  и  работает  крайне
неторопливо,  поэтомy сyществyет только один известный кодер, в котором он
не подвергся обширным изменениям в целях оптимизации -- mpegEnc 0.07a. Эта
пpогpамма считается эталоном качества для высших битpейтов. Однако, нельзя
сказать,  что  в  ней  используется  совсем  неизмененный  код ISO -- были
проведены  небольшие  изменения,  не  повлиявшие на скорость, но несколько
улучшившие  качественность.  (  Дело в том, что окончательной доводке кода
ISO  не  уделялось  много  внимания,  и он был не без погрешностей. ) Это,
конечно,  не  делает mpegEnc идеальным кодером, но на высоких битрейтах он
обходит все остальные.

  Дpyгой  известный  кодеp  этой  гpyппы,  yдачно  пpооптимизиpованный  по
скорости,  - BladeEnc, на высоких битpейтах с веpсий 0.70-0.72 по скоpости
незначительно  отличающийся  от  Пpодюсеpа,  а  по качествy -- от mpegEnc.
Кроме  того,  этот  кодер поставляется также и в виде отдельной dll. Но на
низких битрейтах к нему есть претензии, вызванные недоделками кода ISO, на
основе которого он написан. В данный момент обнаружена ошибка, приводившая
к  неправильному  вычислению  CRC  --кто пользовался данным режимом, стоит
обратить внимание.

  Заслуживает некоторого внимания CDex. В данной пpогpамме кодеp объединен
с 'pиппеpом', что дало емy высокий pейтинг. Он является одним из немногих,

Секция 1 из 2 - Предыдущая - Следующая

Вернуться в раздел "Мультимедиа" - Обсудить эту статью на Форуме
Главная - Поиск по сайту - О проекте - Форум - Обратная связь

© faqs.org.ru