Что такое mp3? Что такое формат MP3? МР3 изнутри: психофизиология звука

В 1987 году институт Fraunhofer начал свою работу над алгоритмом аудио кодирования, основанном на восприятии в агентстве EUREKA, проект EU147: Трансляция Цифрового Аудио (Digital Audio Broadcasting – DAB). В совместной кооперации с Университетом Эрлангена (University of Erlangen, Prof. Dieter Seitzer), Fraunhofer IIS продумал и разработал очень мощный алгоритм, который был стандартизирован как ISO-MPEG Audio Layer-3 (IS 11172-3 и IS 13818-3 ).

Различную информацию по разработкам института Fraunhofer’а вы можете найти по адресу

Общие сведения

Формат иногда путают с MPEG-3, но MP3 предназначен для сжатия исключительно аудиоинформации и полное название звучит как MPEG Audio Layer-3. MPEG-3 же предназначался для использования в системах телевидения высокой четкости (HDTV) с битрейтом потока 20-40 Мбит/с, но позже стал частью стандарта MPEG-2 и отдельно теперь не упоминается.

Нельзя сказать, что этот формат аудиосжатия легко пробился к массовому пользователю. На начальном этапе раскрутки Fraunhofer – институт, создавший МP3 , едва не убил собственное детище не в меру поспешной жадностью (кстати, многие разработчики новых аудиоформатов, совершают ту же ошибку), но, увидев, что никто не желает платить деньги за кота в мешке, сделала единственно верный шаг – сделала этот формат открытым и бесплатным. Сказать, что после этого МP3 стал популярен – значит ничего не сказать. Это был взрыв популярности! Этот аудиоформат столь резво пошедший в массы обладал по тем временам нереально высоким коэффициентом сжатия звука при достаточно высоком качестве звука и с легкостью покорял любого пользователя, который любил слушать музыку. С молниеносной быстротой появилась целая индустрия: МP3-сайты, которые занимались только МP3 , производители программных и аппаратных проигрывателей музыки в МP3 формате, нелегальные распространители музыкальных композиций, более известные как пираты, первые додумавшиеся до выпуска дисков типа “все песни этой группы на одном диске”. Невероятно возрос спрос на пишущие CD-R дисководы и чистые диски для них. МP3 теперь всюду – это признанный звуковой формат. Его используют в играх, кодеки встраивают в операционные системы. Вот уже несколько лет МP3 на вершине популярности…

Но вот, эйфория, вызванная его появлением, потихоньку прошла, и стало ясно, что МP3 вовсе не безупречен. Несмотря на высокую степень сжатия, размер файлов все же слишком велик, чтобы сделать МP3 по-настоящему сетевым форматом, а 128 kbps, столь любимый пиратами и народом, дает настолько низкое качество, что огрехи при воспроизведении слышат не только продвинутые музыканты и меломаны, но и вполне рядовые пользователи. В свете этого возникла нужда в новых альтернативных более прогрессивных алгоритмах компрессии звука. И такие алгоритмы появились очень быстро. Некоторые из них начали разрабатываться практически одновременно с МP3 (например VQF), но по каким-то причинам вышли позже и упустили пальму первенства, некоторые алгоритмы разрабатывались и позиционировались разработчиками уже как замена МP3 (семейство MPEG-2 ААС). Тем не менее, эти алгоритмы по своим возможностям и качеству во многом превосходят MP3 .

MP3Pro

Расширенная версия от Coding Technologies, которая использует Spectral Band Replicaton (отражение спектральной полосы частот) – SBR , чтобы повысить его эффективность для битрейтов ниже 96 kbps stereo. Не будучи частью MPEG стандарта, поддержка mp3PRO обеспечивается только некоторыми программными и аппаратными продуктами, например Thomson демо плеер/кодер и input plugin для Winamp, MusicMatch JukeBox, Nero, dbPowerAMP, JetAudio, Steinberg myMP3PRO, Impload, Spacial Audio, Audion 3, RCA Lyra портируемый и DVD плеер. Это возможно не изменится в будущем, тем не менее некоторые слуховые тесты показали хорошую производительность на низких битрейтах по сравнению с другими кодеками.

Реализации

Lame (Lame Ain’t Mp3 Encoder)

Разработка Lame началась приблизительно в середине 1998 года. Майк Ченг (Mike Cheng) начал улучшение и исправление исходных кодов кодера 8hz-MP3. После некоторых сомнений сообщества о его качестве, Майк твердо решил начать с чернового варианта, основанного на исходных кодах dist10. Эта ветка стала LAME 2.0, и только на LAME 3.81 они освободились от всего исходного кода dist10, и LAME наконец-то перестал быть всего лишь доработкой. Проект быстро превратился в командный проект. Майк Ченг (Mike Cheng) в итоге оставил лидерство и начал работать над MP2 кодером, tooLame. Марк Тейлор (Mark Taylor) принял лидерство и появилась версия 3.0, имевшая новую психоакустическую модель, gpsycho, разработанную им. Сегодня Lame считается лучшим MP3 кодером на высоких и переменных битрейтах, следует сказать большое спасибо посвятившим этой работе талантливых разработчиков, таких как Takehiro Tominaga, Naoki Shibata, Darin Morrison, Gabriel Bouvigne, Robert Hegemann и так далее. Разработка Lame продолжается и по сей день. Таким образом, LAME на сегодняшний день является наиболее перспективным кодером. Замечательное качество и высокая доступность позволили получить ему народное признание. Используется в Winamp’е для кодирования информации в MP3 из Audio-CD, также есть в dbPowerAmp’е.

Gogo-No-Coda

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

FhG Fastencc

Это – MP3 кодер, основанный на кодирующих библиотеках, украденных из института Fraunhofer’а. По слухам, разработчик нарушил свое соглашение о конфиденциальности и сделал доступными эти библиотеки для некоторых программистов. Один из этих программистов сделал CLI для этих библиотек и назвал его fastencc.

Этот кодер известен своим отвратительным багом стерео, его использование крайне не рекомендуется.

Fraunhofer IIS

Это – кодек от создателей технологий MP3 и AAC . Считается самым медленным MP3 -кодеком, тем не менее, он обладает довольно высоким качеством. Он входит в стандартную поставку Windows, используется в Adobe Audition .

Helix

После приобретения кодека Xing компанией RealNetworks , его развитие продолжилось и кодек стал называться Helix . На форумах doom9 пользователь karl_lillevold (похоже , что он является разработчиком в компании RealNetworks ) объявил об открытии исходного кода проекта Helix . Сообщество восприняло довольно тепло такой шаг, участником Enig123 начали формироваться сборки с исправлениями и улучшениями.

На сайте сообщества Helix есть описание MP3 декодера, ключевыми моментами которого являются оптимизация под ARM-процессоры, легкая подключаемость в виде библиотеки и в целом качественный код.

6 сентября 2010 в 15:53

Внутри MP3. А как оно всё устроено?

  • Алгоритмы

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

Если Вам интересно, что там внутри – добро пожаловать под кат (трафик).

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

ID3 теги

ID3 (от англ. Identify a MP3) - формат метаданных, наиболее часто используемый в звуковых файлах в формате MP3. ID3 подпись содержит данные о названии трека, альбома, имени исполнителя и т. д., которые используются мультимедиапроигрывателями и другими программами, а также аппаратными проигрывателями, для отображения информации о файле и автоматического упорядочивания аудиоколлекции.

Wikipedia

Существует две абсолютно разных версии ID3-данных: ID3v1 и ID3v2.

ID3v1 – имеет фиксированный размер в 128 байт, которые дописываются в конец mp3-файла. Там можно хранить: название трека, исполнитель, альбом, год, комментарий, номер трека (для версии 1.1) и жанр.

Довольно быстро всем стало понятно, что 128 байт – очень уж небольшое место для хранения таких данных. И поэтому, со временем, появилась и успешно используется вторая версия данных – ID3v2 .
В отличии от первой версии, теги v2 имеют переменную длину и размещаются в начале файла, что позволяет поддерживать потоковое воспроизведение. (Формат ID3v2.4 позволяет так же хранить данные и в конце файла).
Данные ID3v2 состоят из заголовка и последующих фреймов ID3v2. Например, в версии ID3v2.3 существует более 70 типов фреймов.

  • маркер всегда равен ‘ID3’
  • В данный момент имеются три версии ID3v2.2, ID3v2.3 и ID3v2.4
    Версия v2.2 считается устаревшей.
    v2.3 – самая популярная версия.
    v2.4 – набирает популярность. Одно из отличий от v2.3 в том, что позволяет использовать кодировку UTF-8 (а не только UTF-16)
  • Флаги . В настоящее время используются только три (5,6,7) бита:
    bin: %abc00000
    a ‘unsynchronisation’ – используется только с MPEG-2 и MPEG-2.5 форматами.
    b ‘Extended header’ – указывает на наличие расширенного заголовка
    с ‘Experimental indicator’ – эксперементальный индикатор
  • Длина . Особенность указания длины данных ID3v2 в том, что в каждом байте 7-й бит не используется и всегда установлен в 0.
Рассмотрим пример:

В данном случае вместе с заголовком ID3v2 (10 байт) – данные ID3v2 занимают 1024 байта.

После ID3v2-заголовка идут собственно теги. Подробный разбор чтения тегов ID3v2, как сказано выше, я решил не включать в эту статью.

Теперь у нас есть информация о наличии и длине тегов ID3 и мы можем приступать в разбору mp3-фрейма и понять-таки – где же хранится длительность. А заодно понять и всё остальное.

MP3-фрейм

Весь mp3-файл состоит из фреймов, которые можно извлекать только последовательно. Фрейм содержит в себе заголовок и аудио-данные. Поскольку мы не ставим себе целью написать прошивку для магнитофона – нас интересует именно заголовок фрейма.

О нем подробнее (куча таблиц и сухой информации)

Размер заголовка – 4 байта.

Описание:

Режимы сжатия данных или какой бывает битрейт

Существует 3 режима сжатия данных:

CBR (constant bitrate) – постоянный битрейт. Не меняется на всем протяжении трека.

VBR (variable bitrate) – переменный битрейт. При этом сжатии битрейт постоянно меняется на протяжении трека.

ABR (average bitrate) – усредненный битрейт. Это понятие используется только при кодировании файла. На «выходе» получается файл с VBR.

CBR

Если файл закодирован с постоянным битрейтом – то мы уже можем наконец-то! получить длительность нашего трека по следующей формуле:
Длительность = Размер аудиоданных / Битрейт (в битах!) * 8

Например, файл имеет размер 350670 байт. Есть ID3v1 теги (128 байт) и ID3v2 теги (1024 байта). Битрейт = 96. Следовательно размер аудиоданных равен 350670 – 128 – 1024 = 349518 байт.
Длительность = 349518 / 96000 * 8 = 29,1265 = 29 секунд

VBR

Необходимо пояснить – как определить режим сжатия. Всё просто. Если файл сжат с VBR – то добавляется VBR-заголовок. По его наличию мы и можем понять, что используется переменный битрейт.
Есть два вида заголовков: Xing и VBRI.
Xing размещается со смещением от начала первого mp3-фрейма в позиции, согласно таблице:

Например: у нас ID3v2 тег занимает 1024 байта. Если наш mp3-файл имеет режим канала «Стерео» - то заголовок VBR Xing будет начинаться со смещения 1024 + 32 = 1056 байт.

Заголовок VBRI всегда размещается со смещением +32 байта от начала первого mp3-фрейма.

Первые четыре байта в обоих заголовках содержат маркер ‘Xing’ или ‘Info’ для Xing. И ‘VBRI’ для VBRI.

Эти VBR заголовки имеют переменную длину и содержат различную информацию о кодировании файла. Подробнее о структуре заголовков VBR (и не только) можно почитать, например, .

Я же расскажу только о том, что нас интересует в данный момент. А именно – количество фреймов (Number of Frames). Это число длиной 4 байта.
В заголовке Xing оно содержится по смещению +8 байт от начала заголовка. В VBRI +14 байт от начала заголовка.

Используя таблицу Сэмплов на фрейм (Sampler Per Frame) мы можем получить длительность mp3-файла, закодированного с переменным битрейтом.

Длительность = Количество фреймов * Сэмплов на фрейм / Частоту дискретизации

Например: из заголовка VBRI получили количество фреймов 1118, сэмплов на фрейм = 1152. Частота дискретизации = 44100.
Длительность = 1118 * 1152 / 44100 = 29.204 = 29 секунд.

На этом на сегодня всё. Если был кому-то полезен - спасибо .

Для тех, кто захочет немедленно поковырять внутренности mp3 -

Сегодня трудно найти человека, незнакомого с трехбуквенной аббревиатурой – MP3. Вот только, когда начинаешь спрашивать, что же это такое и как расшифровывается, то некоторые люди недоуменно разводят руками, а другие говорят так: ”Ты что? Это же музыка этот MP3!”. Кроме того, MP3 поддерживают многие мобильники. Об этом то мы знаем, а дальше, а больше? :)Понятно, что мало кому понятно, что это за формат. В этой статье я как раз и объясню, что же все - таки это такое, этот MP3.

MP3 – это наиболее популярный формат хранения и передачи информации в цифровой форме, использующий компрессию сигнала. Формат MP3, или MPEG Audio Layer-3, был разработан компаниями Fraunhofer IIS и Thomson. По сравнению с WAV-файлами, являющимися копиями треков Audio CD (PCM, 16 bit, Stereo, 44,1 kHz), MP3-композиции занимают намного меньше места на диске. На обыкновенном CD-R/RW-бланке можно сохранить свыше 11 часов музыки вполне пристойного качества.

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

Описание формата MP3

Формат сжатия аудиоданных MP3 (сокращение от MPEG Layer3) - один из первых популярных способов сжатия звука. Разработан немецкой компанией Fraunhofer IIS и позднее, при поддержке фирмы THOMSON, внедрён как часть видеоформатов MPEG1 и MPEG2. Обеспечивает высокое качество звука при сравнительно небольших размерах файла.

Технические сведения о формате MP3

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

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

Степень сжатия характеризуется битрейтом (bitrate) - количество передаваемой за единицу времени информации. Файлы MP3 обычно закодированы с битрейтом от 64 до 320 килобит в секунду (kbps или kb/s), а также с переменным битрейтом (VBR) - когда для каждого фрейма используется свой, оптимальный для данного участка, битрейт.

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

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

  • Dual Channel - каждый канал получает половину потока и кодируется отдельно - возможна запись двух абсолютно разных сигналов.
  • Stereo - каждый канал кодируется отдельно, но программа-кодер может использовать свободное место одного канала для размещения информации другого. Режим stereo выставлен по умолчанию в большинстве кодеров.
  • Joint Stereo (MS Stereo) - стереосигнал раскладывается на общий для обоих каналов и разностный. Имеет вариант - MS/IS Stereo с упрощённым разностным сигналом.

Сильные стороны формата MP3:

  • Высокая степень сжатия при приемлемом качестве звука.
  • Степень сжатия и качество может регулироваться пользователем.
  • Фреймовая структура удобна для передаче по сети, позволяет переход к любому месту файла.
  • Широкое распространение аппаратуры и программ.

Особенности применения MP3

Несмотря на то, что кодирование в MP3 осуществляется с утерей части исходной информации, при битрейтах 256 и 320 kbps практически невозможно отличить на слух сжатый сигнал от оригинала, особенно при прослушивании на распространённой аудио аппаратуре. При этом размер файла в самом худшем случае будет в 4 раза меньше, чем в формате CD audio.

Для использования в компактных плеерах и других устройствах с невысоким качеством акустики можно вполне использовать битрейт не ниже 192 kbps. Битрейты ниже 192 kbps рекомендуется использовать для сжатия сигнала с ограниченным частотным диапазоном или невысокими требованиями к достоверности (например, разговор или телепередача).

На чем же основана идея компрессии звука в MP3?

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

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

Как же работают такие методы?

Исходный звуковой сигнал разбивается на отдельные блоки, именуемые фреймами, к каждому из которых применяется специальный алгоритм кодирования, причем параметры сжатия для разных фреймов могут значительно отличаться друг от друга. В процессе кодирования блока исходный сигнал разделяется на несколько составляющих частотных диапазонов. Для каждого из них просчитывается величина так называемого эффекта маскирования слабого сигнала более мощным от соседнего диапазона или от предыдущего фрейма. Затем в зависимости от результатов происходит удаление второстепенных звуков, которые не будут слышимы «среднестатистическим» человеком из-за наличия в данный момент более громкого сигнала. Кроме того, учитывается неспособность большинства людей различать высокочастотные сигналы (выше 16 kHz).

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

Битрейт и его значение

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

Битрейт 128 Kbps с легкой руки Fraunhofer IIS был признан оптимальным для использования в интернете, а некоторые производители кодеров распространили мнение о том, что этой скорости вполне достаточно для кодирования музыки с качеством, близким к Audio CD. Однако это не так. На хорошей аппаратуре невосполнимые потери аудиоинформации становятся заметными.

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

Даже профессиональные эксперты с тонким музыкальным слухом порой не в состоянии отличить на хорошей аппаратуре звучание трека Audio CD и его образа, закодированного в MP3-файл с низким коэффициентом сжатия, например 4:1 (320 Kbps). Для рядового же меломана эта разница становится практически неощутимой при скорости потока 192-256 Kbps.

Ежели вы имеете дело только с компьютерными акустическими системами или недорогой бытовой радиоаппаратурой, то для кодирования и последующего прослушивания композиций вполне достаточно 160-192 Kbps. Для компрессии быстро устаревающей поп-музыки, а также для «выкладывания» музыкального архива в сети вполне подойдет и 128 Kbps. Значения битрейта ниже 128 Kbps не позволяют добиться должного качества звучания. Скорости 64-96 Kbps чаще всего используют для сжатия аудиоуроков иностранного языка, лекций, интервью и аудиотрансляций.

Долгое время кодеры поддерживали лишь постоянный битрейт (CBR - Constant BitRate), т. е. пользователь задавал определенную скорость потока данных, а программа обеспечивала при этом максимально возможное качество кодирования. Но очевидно, что плотность потока значимой информации от фрейма к фрейму различна. (Зачем, к примеру, кодировать паузы?) Вот разработчики кодеров и решили использовать для компрессии каждого фрейма свой битрейт, т. е. поставили задачу минимизировать скорость потока данных, сохранив тот же уровень качества. Так родилась идея переменного битрейта VBR (Variable BitRate).

Думаю, теперь вам стало чуть более понятно, какую музыку «предпочитает» ваш телефон. Желаю вам больше приятных мелодий! До встреи в следующих статьях на mobime!

(Описание популярного формата аудиосжатия MP3)

Вступление

Этот самый популярный на сегодняшний день цифровой формат аудиосжатия, был разработан несколько лет назад небольшой немецкой фирмой Fraunhofer IIS. Европейская корпорация THOMSON активно поддержала новоявленный формат и приложила все усилия к его быстрейшему распространению. В частности при ее поддержке новичок стал одним из стандартов аудиосжатия семейства MPEG1, MPEG2 и получил название MPEG Layer3 или более привычное нам MP3.

Революция звука

Появление этого формата на свет уместнее всего назвать тихой революцией. Революцией – потому что до MP3 ни один формат звуковых файлов не мог обеспечить такое качество при таком относительно небольшом размере. Единственный на тот момент сетевой формат.RA (real audio) иначе чем издевательством над слухом не назовешь. MPEG Layer3 задумывался именно как "убийца" этого убогого монополиста, великана на глиняных ногах. MP3 – это формат, разработанный специально для сети Internet, для быстрой пересылки качественного звука куда угодно. Именно поэтому MP3 является потоковым форматом, что это значит будет рассмотрено в дальнейшем. Способность этого алгоритма сжатия уменьшать размер звуковых файлов практически без потери качества, выглядела по тем временам совершенно фантастически. Ведь даже при кодировании с максимальной шириной потока (bitrate) равной 320 kbs (килобит в секунду), а это качество звука практически неотличимое от оригинального, размер исходного WAV файла уменьшается в четыре раза!

Да, это была революция, но очень странная революция. Ведь этот уникальный алгоритм в начале своего существования висел буквально на волоске. Полное отсутствие рекламы, никаких проигрывателей музыки данного формата, кроме фирменного от Fraunhofer IIS, который отличался крайней убогостью дизайна, жутким управлением и непомерными системными требованиями. Прибавьте еще и колоссальные аппетиты самих разработчиков, которые хотели за свои кодеки (CODEC – COder/DECoder) довольно немалые суммы (схожая ситуация сейчас с некоторыми форматами семейства AAC) и отсутствие музыки как таковой, в отличие от солидных залежей музыки в формате RA. Эти факторы вполне могли загубить новорожденного сразу же после родов. И все любители хорошей музыки должны сказать огромное спасибо тем известным и безымянным разработчикам freeware MP3 CODEC, которые не дали создателю этого формата фирме Fraunhofer IIS из-за своей маркетинговой глупости и жадности погубить гениальное творение.

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

МР3 изнутри: психофизиология звука

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

Как уже говорилось, MP3 является потоковым форматом. Это означает, что звуковая информация при кодировании разбивается на равные по продолжительности участки, которые называются фреймами. Все фреймы взаимно независимы. Каждый из этих фреймов кодируется отдельно со своими параметрами и имеет заголовок, в котором эти параметры описаны. При воспроизведении последовательность декодированных фреймов и порождает непрерывное звучание записанного звука.
Какие преимущества дает данный подход? Во-первых, возможность перемотки, так как возможен легкий переход к произвольному фрейму, и воспроизведение звука именно с этого места. Во-вторых, именно эта структурная особенность и делает MP3 по настоящему сетевым форматом. Загрузив первые несколько фреймов в оперативную память или дисковый кэш, проигрыватель начинает их воспроизводить, при этом одновременно подгружая новые фреймы, чем достигается непрерывность воспроизведения. И наконец, если вы не смогли целиком скачать MP3 файл из сети Internet, то ничего страшного, музыку все равно можно будет слушать, просто проигрыватель дойдет до того места, на котором оборвалась связь и остановится.

Так вот вернемся к нашим фреймам. При высоком качестве MP3, а это bitrate ~ 320 кbs, для кодирования фреймов применяются только математические алгоритмы сжатия. Качество при этом совершенно не страдает, но и размер уменьшается всего в четыре раза, то есть коэффициент сжатия такой, какой бы дал обычный архиватор; именно поэтому файлы формата МР3 практически не ужимаются обычными архиваторами. При уменьшении полосы пропускания (bitrate) до 256 kbs и ниже, в дело вступают те самые алгоритмы удаления "ненужных" звуков, которые основаны на особенностях восприятия звука человеческим ухом, так называемая "психоакустическая модель". Процессы удаления "ненужных" звуков называются квантованием . Чем меньше bitrate, тем жестче идет квантование.

По каким же критериям оценивается "нужность" и "ненужность" звуков? Подавляющее число кодеков выбрасывает звуки, которые считаются выходящими за порог слышимости человека. При этом за значение порога, так сказать de fakto, принимается величина равная 16kHz. Несмотря на то, что этот порог признан азбучной величиной и вписан во все учебники по физике, этот подход неверен. Люди весьма разнообразны по своим физиологическим особенностям. Кроме того, нужно учитывать, что у молодежи слуховой порог гораздо выше, чем у пожилых людей, и запросто может превышать эту среднестатистическую величину. Так же многое зависит от интенсивности сигнала. Следовательно, удаление частот выше 16kHz абсолютно неприемлемо для высоких битрейтов претендующих на CD качество, но вполне уместно для низких битрейтов, где качество приносится в жертву размеру.

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

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

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

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

Чем замечателен этот формат, так это тем, что степень сжатия, то есть, соотношение размер/качество полностью во власти пользователя. Ширина потока (bitrate) способна изменяться от наибольшего значения в 320kbs, до 64 kbs и ниже, соответственно варьируется и размер.

С технологиями сжатия используемых в MP3 CODEC мы ознакомились, настало время поговорить о разных битрейтах.

Качество требует жертв

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

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

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

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

Если вы хотите точного соответствия сжатого файла оригиналу, пользуйтесь максимальный для кодирования CD Audio битрейтом - 320kbs. Коэффициент сжатия 4:1, для битрейта 256 kbs – 6:1. Размер несколько больше, зато качество смело можно считать непогрешимым.

Многие пользователи-меломаны уже создали себе обширные фонотеки на CDR или просто на винте, используя MP3 256kbs и 320kbs. Кстати, именно в этой связи повсеместно приобрели огромную популярность домашние компьютеры, оснащенные приводами CD-RW (пишущий CD-ROM).

Но самый популярный на текущий момент все же битрейт 128 kbs, который весьма быстро занял место формата RA. Причина такой популярности – в относительно небольшом размере (сжатие 12:1), что является определяющим фактором в условиях медленной передачи данных и дороговизны услуг провайдеров. Так же по размеру файла MP3 легко определить продолжительность звучания. У этого битрейта 1 минута звучания занимает примерно 1 мегабайт. Но качество у этого новоявленного "сетевого короля" на СD даже не претендует. Это качество средней аудиокассеты. В сети Интернет можно в основном найти MP3 только с битрейтом 128 kbs, MP3 с этим битрейтом и создавался первоначально как сетевой формат.

Путь к победе: триумф звука

После долгой раскачки данного формата, постепенно тысячи и тысячи пользователей наконец его оценили. Как грибы после дождя появилось множество сайтов, специализирующихся исключительно на распространении музыки в модном формате. Разумеется, практически все MP3-файлы были нелегальны или полулегальны, так как до пользователей не доходило, что распространяя купленную за свои деньги и переведенную в MP3 формат музыку, они нарушают законы об авторских и смежных правах. Или доходило, но... Но вот поймать и тем более наказать нелегальных распространителей оказалось невероятно сложно. Более того, благодаря небольшому размеру MP3 с bitrate 128 kbs оказалось возможным записать на один компакт-диск не 74 минуты музыки как раньше, а более 650 минут! Этим немедленно воспользовались пираты. Они стали производить диски типа "все альбомы хитовой группы на одном диске". Аудиозаписывающие компании стали нести убытки. Зачем покупать один альбом, если за те же деньги можно купить десять альбомов на одном CD?
Попытку побороть нелегальное распространение музыки MP3 недавно предпринял звукозаписывающий гигант RIAA. Но было уже поздно. MP3 индустрия достигла невиданного размаха. Стали появляться аппаратные мини-плееры с памятью на 32 мегабайта и возможностью подключения к компьютеру, их уже появилось более 40 моделей. Плееры для автомобилей на базе небольших по объему (1Гб) винчестеров. Даже звуковые карты с аппаратной поддержкой MP3. С этой волной бороться стало невозможно. MP3 стал первым признанным форматом хранения аудиоданных после CD-Audio. Это была победа.

Эта музыка будет вечной...

Пусть MP3 уже не лучший. Ему на смену идут новые формать: семейство AAC (advanced audio codec), VQF, PAC (perceptual audio codec). Но он был первым. Кроме того, многочисленная аудитория пользователей MP3 весьма консервативен, MP3 удалось глубоко поразить своих поклонников, тогда как его конкуренты способны их разве что слегка удивить. Так что думаю этому стандарту уготованы еще долгие годы существования, прежде чем его сменит более достойный.

Глоссарий

  • MP3 (MPEG Layer3) - цифровой формат мультимедиасжатия семейства MPEG, предназначенный исключительно для кодирования звука. Имел предшественников в лице МР1 и МР2, отличатся высокой сложностью алгоритма, как следствие высокими требованиями к системным ресурсам. Лучший в своем классе по соотношению размер/ качество.
  • CODEC - расшифровывается как COder/DECoder. Это не что иное как совокупность алгоритмов кодирования и декодирования звука.
  • Bitrate - ширина потока. Количество бит, использующиеся для кодирования звукового потока. Измеряется в kbs, т.е. число килобит в секунду.
  • Квантование – процесс удаления частот, не воспринимаемых обычным человеческим слуховым аппаратом (ухом).
  • CD Audio - старейший формат цифрового звука, существует более 20 лет. Параметры 44Khz, 16-bit стерео.
  • RA - формат, расшифровывается как Real Audio. Первый сетевой формат, обеспечивающий передачу и воспроизведение звука в реальном времени. Если сравнивать с МР3, то имеет битрейт 8 и 16 kbs, и соответственно ужасное качество звука.

Сегодня трудно найти человека, незнакомого с трехбуквенной аббревиатурой – mp3. Вот только, когда начинаешь спрашивать, что же это такое и как расшифровывается, то некоторые люди недоуменно разводят руками, а другие говорят так: ”Ты что? Это же музыка этот MP3!”. Кроме того, MP3 поддерживают многие мобильники. Об этом то мы знаем, а дальше, а больше? :)Понятно, что мало кому понятно, что это за формат. В этой статье я как раз и объясню, что же все - таки это такое, этот MP3.

MP3 – это наиболее популярный формат хранения и передачи информации в цифровой форме, использующий компрессию сигнала. Формат MP3, или MPEG Audio Layer-3, был разработан компаниями Fraunhofer IIS и Thomson. По сравнению с WAV-файлами, являющимися копиями треков Audio CD (PCM, 16 bit, Stereo, 44,1 kHz), MP3-композиции занимают намного меньше места на диске. На обыкновенном CD-R/RW-бланке можно сохранить свыше 11 часов музыки вполне пристойного качества.
Для MP3 написано множество отличных программ (кодировщиков, проигрывателей и т. д.), налажено производство аппаратных (стационарных, карманных и автомобильных) плееров, каждый современный телефон поддерживает MP3-мелодии (и даже имеет встроенный плеер для их удобного воспроизведения). По сравнению со многими другими форматами сжатия аудио MP3 обеспечивает лучшее качество звучания и сегодня по своей популярности занимает, пожалуй, второе место после Audio CD.

Описание формата MP3

Формат сжатия аудиоданных MP3 (сокращение от MPEG Layer3) - один из первых популярных способов сжатия звука. Разработан немецкой компанией Fraunhofer IIS и позднее, при поддержке фирмы THOMSON, внедрён как часть видеоформатов MPEG1 и MPEG2. Обеспечивает высокое качество звука при сравнительно небольших размерах файла.

Технические сведения о формате MP3

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

Поток звука при кодировании разбивается на равные по участки (фреймы). Каждый из фреймов кодируется отдельно со своими параметрами и содержит заголовок, в котором эти параметры указаны. Сжатие может быть выполнено с разным качеством и соответственно размером конечного файла.
Степень сжатия характеризуется битрейтом (bitrate) - количество передаваемой за единицу времени информации. Файлы MP3 обычно закодированы с битрейтом от 64 до 320 килобит в секунду (kbps или kb/s), а также с переменным битрейтом (VBR) - когда для каждого фрейма используется свой, оптимальный для данного участка, битрейт.
Исходный сигнал с помощью фильтров разделяется на несколько частотных диапазонов, для каждого диапазона определяется величина маскирующего эффекта от соседних диапазонов и предыдущего фрейма, несущественные сигналы игнорируется. Для оставшихся данных для каждого диапазона определяется, сколькими битами можно пожертвовать, чтобы потери были ниже величины маскирующего эффекта. На этом работа психоакустической модели завершается, а итоговый поток дополнительно сжимается по алгоритму Хаффмана (аналогично RAR архиватору).

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

Dual Channel - каждый канал получает половину потока и кодируется отдельно - возможна запись двух абсолютно разных сигналов.
Stereo - каждый канал кодируется отдельно, но программа-кодер может использовать свободное место одного канала для размещения информации другого. Режим stereo выставлен по умолчанию в большинстве кодеров.
Joint Stereo (MS Stereo) - стереосигнал раскладывается на общий для обоих каналов и разностный. Имеет вариант - MS/IS Stereo с упрощённым разностным сигналом.

Сильные стороны формата MP3:

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