Формат 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) про кодировании сигнала, аналогичного CD Audio (44.1kHz 16Bit
Stereo) варьируется от наибольшего, 320kbs (320 килобит в секунду, также
пишут kbs, kbps или kb/s), до 96kbs и ниже.
Термин битрейт в общем случае обозначает общую величину потока,
количество передаваемой за единицу времени информации, и поэтому не
связан с внутренними тонкостями строения потока, его смысл не зависит от
того, содержит ли поток моно или стерео, или пятиканальное аудио с
текстом на разных языках, или что-либо еще.
На проведенных тестах специально приглашенные опытные эксперты,
специализирующиеся на субъективной оценке качественности звучания, не
смогли различить звучание оригинального трека на CD и закодированного в формат MP3
с коэффициентом сжатия 6:1, то есть с битрейтом в 256kbs. Правда, тесты
были проведены на небольшом количестве материала, и на самом деле не
все столь хорошо, нередко бывает действительно нужно пользоваться
320kbs. Для себя я счел это достаточным основанием для полного перехода
на кодирование с битрейтом 320kbs.
Более низкие битрейты, несмотря на их популярность, не дают возможности
обеспечить надлежащее качество кодирования, что незаслуженно обеспечило
MP3 дурную славу любительского формата. На самом деле, хотя и 256kbs, и
даже 320kbs тоже не дают возможности осуществить полностью прозрачное
кодирование, но отличия от CD Audio, по которому кодируется тестовый
MP3, сравнимы с отличиями самого CD Audio от исходного аналогового
сигнала, из которого он был получен путем оцифровки. То есть потери,
конечно, есть, но несущественны с точки зрения того, кому качество CD
Audio представляется достаточным. Фактически, их обнаружение обычно
является задачей нетривиальной на аппаратуре класса Hi-Fi.
Настоящее и будущее MP3.
Формат MP3 на сегодня имеет два огромных преимущества перед
другими доступными форматами его рода. Одно из них состоит в том, что ни
про один из существующих подобных форматов нельзя пока сказать, что он
полностью гарантирует устойчивое сохранение качества звучания на
достаточно высоких битрейтах, кроме формата MP3, который достойно
выдержал проверку временем. Пожалуй, единственный известные мне
конкурент в этом плане - последние варианты формата ATRAC, используемый в
минидисках.
Для формата MP3 также написано множество удобного программного
обеспечения. Этот факт отражает второе, не менее важное преимущество -
на ближайшие годы, а возможно, и на все десятилетие, формат MP3
стал стандартом де факто, настолько много сделано в него вложений
пользующимися им сторонами, в том числе и цифровыми радиостанциями.
Формат MP3 довольно долго оставался неизвестным, но несколько лет
назад начался взрывной рост его популярности, столь же быстро начали
появляться залежи нелегальных файлов в формат MP3. Сейчас налажено производство аппаратных MP3 плееров, а карманных, и для автомобилей. Таким образом, формат MP3 стал первым массово признанным форматом хранения аудио после CD-Audio.
Несмотря на то, что формат MP3 появился достаточно давно, более
новые форматы, претендующие на его место, появившиеся к настоящему
моменту, все на поверку оказались любительскими. Они могут быть или не
быть хороши по сравнению с форматом MP3 на низких битрейтах, это зависит
от трека и особенностей слуха конкретного человека, но на место формата MP3 256kbs... 320kbs претендовать не способны.
Возможно, "монополия" формата MP3 в сфере компьютеров на низких
битрейтах все же будет отчасти сломлена новым форматом от Microsoft --
WMA. Но пока рано говорить об этом. С другой стороны, появление
Microsoft на данном рынке со столь сильной разработкой означает быстрое
отсеивание оказавшимися неудачными ветвей AAC и VQF. Впрочем, остается
надежда, что AAC еще будет доработан.
Описание процесса кодирования
Подготовка к кодированию. Фреймовая структура Перед кодированием
исходный сигнал разбивается на участки, называемые фреймами, каждый из
которых кодируется отдельно и помещается к конечном файле независимо от
других. Последовательность воспроизведения определяется порядком
расположения фреймов. Каждый фрейм может кодироваться с разными
параметрами. Информация о них содержится в заголовке фрейма.
Начало кодирования Кодирование начинается с того, что исходный сигнал с
помощью фильтров разделяется на несколько, представляющих отдельные
частотные диапазоны, сумма которых эквивалентна исходному сигналу.
Работа психоакустической модели Для каждого диапазона определяется
величина маскирующего эффекта, создаваемого сигналом соседних диапазонов
и сигналом предыдущего фрейма. Если она превышает мощность сигнала
интересующего диапазона или мощность сигнала в нем оказывается ниже
определенного опытным путем порога слышимости, то для данного фрейма
данный диапазон сигнала не кодируется.
Для оставшихся данных для каждого диапазона определяется, сколькими
битами на сэмпл мы можем пожертвовать, чтобы потери от дополнительного
квантования были ниже величины маскирующего эффекта. При этом
учитывается, что потеря одного бита ведет к внесению шума квантования
величиной порядка 6 dB.
Завершение кодирования После завершения работы психоакустической модели
формируется итоговый поток, который дополнительно кодируется по
Хаффману, на этом кодирование завершается.
Замечание На практике схема несколько сложнее. Например, необходимо
согласовываться с требованиями битрейта. В зависимости от кодера это
приводит при повышении битрейта к разного рода релаксациям при отборе
сохраняемой части исходного сигнала, а при понижении - наоборот, к
ужесточению критериев.
Способы кодирования стерео сигнала
В рамках формата MP3 кодирование стереосигнала допустимо четырьмя различными методами:
Dual Channel - Каждый канал получает ровно половину потока и
кодируется отдельно как моно сигнал. Рекомендуется главным образом в
случаях, когда разные каналы содержат принципиально разный сигнал -
скажем, текст на разных языках.
Выставляется в некоторых кодерах по требованию.
Stereo - Каждый канал кодируется отдельно, но кодер может принять
решение отдать одному каналу больше места, чем другому. Это может быть
полезно в том случае, когда после отброса части сигнала, лежащей ниже
порога слышимости или полностью маскируемой, оказалось, что код не
полностью заполняет выделенный для данного канала объем, и кодер имеет
возможность использовать это место для кодирования другого канала. В
документации к mp3enc замечено, что этим, например, избегается
кодирование "тишины" в одном канале, когда в другом есть сигнал.
Данный режим выставлен по умолчанию в большинстве ISO-based кодеров,
а также используется продукцией FhG IIS на битрейтах выше 192kbs.
Применим и на более низких битрейтах порядка 128kbs... 160kbs.
Joint Stereo (MS Stereo) - Стереосигнал раскладывается на средний
между каналами и разностный. При этом второй кодируется с меньшим
битрейтом. Это позволяет несколько увеличить качество кодирования в
обычной ситуации, когда каналы по фазе совпадают. Но приводит и к
резкому его ухудшению, если кодируются сигналы, по фазе не совпадающие. В
частности, фазовый сдвиг практически всегда присутствует в записях,
оцифрованных с аудиокассет, но встречается и на CD, особенно если CD сам
был записан в свое время с аудиоленты. С другой стороны, уже совершена
(первая ?) попытка написать программу для автоматической коррекции
фазового сдвига. Возможно, она немного поможет любителям кодировать
оцифровки с аудиокассет с битрейтом порядка 128kbs.
Режим выставлен по умолчанию продукцией FhG IIS, а также кодером Lame, для битрейтов от 112kbs до 192kbs.
Joint Stereo (MS/IS Stereo) - Вводит еще один метод упрощения
стереосигнала, повышающий качество кодирования на особо низких
битрейтах. Состоит в том, что для некоторых частотных диапазонов
оставляется уже даже не разностный сигнал, а только отношение мощностей
сигнала в разных каналах. Понятно, для кодирования этой информации
употребляется еще меньший битрейт.
В отличие от всех предыдущих, этот метод приводит к потере фазовой
информации, но выгоды от экономии места в пользу среднего сигнала
оказываются выше, если речь идет о очень низких битрейтах.
Этот режим по умолчанию используется продукцией FhG IIS для высоких
частот на битрейтах от 96kbs и ниже (другими качественными кодерами этот
режим практически не используется).
Но, как уже говорилось, при применении данного режима происходит
потеря фазовой информации, также теряется любой противофазный сигнал.
Простые ошибки пользователей MP3
Одно из самых больших заблуждений, связанных с форматом MP3, постоянно
проявляется в споре "128kbs vs 256kbs - с каким битрейтом кодировать".
Аргументы сторонников первого варианта исчерпываются напоминанием, что
такие MP3 вдвое меньше. Утверждение, что уж лучше держать CD Audio
вместо MP3 256kbs, несостоятельно - качество формата MP3
256kbs... 320kbs практически сответствует оригиналу, а занимаемый объем в
4.5-6 раз меньше. Заблуждение же состоит в том, что и 128kbs дает
достаточно высокое качество. На самом же деле для людей, сознательно
выбирающих 128kbs, сохранение близкого к исходному качества просто не
является слишком важным, так как их аппаратура обычно не лучше плееров -
"мыльниц;". В то же время многие владельцы CD кодируют их в формате MP3
даже просто потому, что гораздо реже нужно CD менять - на моем 8Gb
винчестере поместится более пятидесяти часов музыки в формате MP3
битрейта 320kbs. Как говорится, в этом случае мотивы пользователей
128kbs нам непонятны.
Чтобы не суметь отличить формат MP3 128kbs от оригинала, нужно
либо не иметь слуха, либо взять аппаратуру похуже. И то, что на
большинстве компьютерных систем с момента покупки стоит ужасно шумная
звуковая плата от ESS, известно всем хорошо. Только мне с некоторых пор
кажется, что дело еще и в постоянном отравлении некачественным звуком,
и, как следствие, временной (но постоянно возобновляемой) потере
чувствительности. Мы слишком часто слушаем то, что слушать не стоило бы,
и дело не только характеристиками компьютерной техники - формат MP3
128kbs при нормальном слухе не понравится и на ESS. Конечно, по
сравнению с дребезгом колонок уличного киоска под аккомпанемент трамвая
звучание формат MP3 128kbs может казаться весьма неплохим, но это не нормально.
Что со всем этим делать? Да просто берегите уши от лишних истязаний, оно
полезно. А что до карты - простая малошумная карта и относительно
приличные наушники стоят не так уж много. Поэтому в обзоре не
учитываются шумы компьютера и карты - эти трудности вполне преодолимы.
Другое небольшое заблуждение состоит в том, что уровень шумов декодированного сигнала сильно связан с уровнем качества формата MP3. Но это заблуждение развевается очень быстро - заметить, что качество формата MP3
зависит от других причин, легче легкого. Как правило, уровень шумов
очень низок на любых битрейтах, это скорее характеристика плеера.
Кроме того, в большинстве учебников прямо говорится о неспособности
человека слышать частоты выше 16kHz. Но во-первых, это просто неверно,
многое зависит от мощности сигнала и от возраста слушателя. Во-вторых,
человек - существо, не лишенное оригинальности. Даже когда он не слышит
такие звуки с помощью уха осознанно, он все же ощущает их. И это влияет
на восприятие. Поэтому обрезание частот выше 16kHz можно считать
обоснованным на низких битрейтах, когда оно позволяет намного лучше
закодировать более низкие диапазоны, но нельзя не брать в расчет, когда
речь заходит о высоких битрейтах, приближающих качество сигнала к уровню
CD Audio. Да, кстати, у детей частотный порог слышимости куда выше
16kHz.
Способы хранения MP3
Стандарт формата MP3 не определяет никакого точного стандартного
математического алгоритма кодирования, его разработка целиком и
полностью остается на совести разработчиков кодеров. Вместо этого он
определяет общую схему процесса кодирования, а также формат
закодированного фрейма. Сами последовательности фреймов могут
передаваться потоком (процесс передачи такого потока называется
streaming) или храниться в файлах.
Файл формата MP3, как и поток, состоит из последовательно
расположеных фреймов, между которыми может содержаться произвольная
информация. Основное требование состоит в том, что не должно быть
совпадений с сигнатурой начала фрейма.
Часто к последовательности фреймов добавляют стандартный заголовок
мета-аудиоформата WAV, и получается то, что называют WAV-MP3. Еще чаще к
MP3-файлу добавляется информационный блок ID3v2, содержащий информацию
об исполнителе, жанре, названии композиции, и другую подобную информацию
о треке. Он добавляется в конец файла. В середину пока никто ничего
ставить не придумал. Хотя, вообще говоря, может представлять некоторый
интерес вставка спецтэга для VBR с информацией о том, в какой части
трека мы, собственно, находимся.
Характер потерь при кодировании
На низких битрейтах всегда срезаются мелкие, сравнительно тихие детали,
наличие или отсутствие которых нередко серьезно меняет эмоциональную
окраску композиции, придает или лишает ее таких эффектов, как ощущение
'кристальной' чистоты звука (в той мере, в которой она присутствует в CD
Audio). Кроме того, в соответствии с психоакустической моделью, высшие
(выше 16 кГц) частоты на низких битрейтах кодируются с очень низким
приоритетом.
Далее, имеют место разные особенности кодеров. Так, у кодеров от FhG IIS
на 128 kbs оказываются 'смазаны' верхние частоты, наблюдается эффект
'шепелявости', в то время как у ISO-based вместо этого - 'звон'. Скорее
всего, это связано с разным отношением к частотам выше 16kHz у данных
кодеров. В кодере Lame, кстати, они по умолчанию срезаются, что
увеличивает качество кодирования на 128kbs.
На высших битрейтах при последовательном следовании психоакустической
модели, разработанной FhG IIS, проблемы могут доставлять только ошибки,
внесенные при написании кодера. Впрочем, из-за не слишком большой
озабоченности FhG IIS качеством его кодеров на высоких битрейтах уже не
раз оказывалось, что новая версия звучит иногда даже несколько хуже
старой. Полагаю, причина кроется в недостаточном или неправильном
ослаблении ограничений психоакустической модели при повышении битрейта.
Опять же, первый серьезный заказчик, и проблема исчезнет.
Комментариев нет:
Отправить комментарий