MP3

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
MPEG-1 Audio Layer 3
Расширение

.mp3

MIME

audio/mpeg

Тип формата

аудиоформат

MP3 (более точно, англ. MPEG-1/2/2.5 Layer 3; но не MPEG-3) — это кодек третьего уровня, разработанный командой MPEG, лицензируемый формат файла для хранения аудиоинформации.

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

В формате MP3 используется алгоритм сжатия с потерями, разработанный для существенного уменьшения размера данных, необходимых для воспроизведения записи и обеспечения качества воспроизведения звука, очень близкого к оригинальному (по мнению большинства слушателей), хотя аудиофилы говорят об ощутимом различии. При создании MP3 со средним битрейтом 128 кбит/с в результате получается файл, размер которого примерно равен 1/11 от оригинального файла с CD-Audio. Само по себе несжатое аудио формата CD-Audio имеет битрейт 1411,2 кбит/с. MP3-файлы могут создаваться с высоким или низким битрейтом, который влияет на качество файла-результата. Принцип сжатия заключается в снижении точности некоторых частей звукового потока, что практически неразличимо для слуха на повсеместно распространённой аппаратуре низкой верности воспроизведения звука (например, доминирующее большинство портативных устройств, звуковых карт, музыкальных центров, автомагнитол и прочей не специальной аппаратуры), а также для людей старшего возраста, в связи с естественными необратимыми возрастными изменениями слухового аппарата, однако в большинстве случаев чётко различимы на специальной аппаратуре высокой верности воспроизведения. Данный метод называют кодированием восприятия.[1] При этом на первом этапе строится диаграмма звука в виде последовательности коротких промежутков времени, затем на ней удаляется информация, не различимая человеческим ухом, а оставшаяся информация сохраняется в компактном виде. Данный подход похож на метод сжатия, используемый при сжатии картинок в формат JPEG.[уточнить]

История[править | править исходный текст]

MP3 разработан рабочей группой института Фраунгофера (нем. Fraunhofer-Institut für Integrierte Schaltungen) под руководством Карлхайнца Бранденбурга и университета Эрланген-Нюрнберг в сотрудничестве с AT&T Bell Labs и Thomson (Джонсон, Штолл, Деери и др.).

Основой разработки MP3 послужил экспериментальный кодек ASPEC (Adaptive Spectral Perceptual Entropy Coding). Первым кодировщиком в формат MP3 стала программа L3Enc, выпущенная летом 1994 года. Спустя один год появился первый программный MP3-плеер — Winplay3.

При разработке алгоритма тесты проводились на вполне конкретных популярных композициях. Основной стала песня Сюзанны Веги «Tom's Diner». Отсюда возникла шутка, что «MP3 был создан исключительно ради комфортного прослушивания любимой песни Бранденбурга», а Вегу стали называть «мамой MP3».

Описание формата[править | править исходный текст]

Как и формат JPEG, MP3 использует спектральные отсечения, согласно психоакустической модели. Звуковой сигнал разбивается на равные по продолжительности отрезки, каждый из которых после обработки упаковывается в свой фрейм (кадр). Разложение в спектр требует непрерывности входного сигнала, посему для расчётов используется также предыдущий и следующий фрейм. В звуковом сигнале есть гармоники с меньшей амплитудой и гармоники, лежащие вблизи более интенсивных — такие гармоники отсекаются, так как среднестатистическое человеческое ухо не всегда сможет определить присутствие либо отсутствие таких гармоник. Такая особенность слуха называется эффектом маскировки. Также возможна замена двух и более близлежащих пиков одним усреднённым (что, как правило, и приводит к искажению звука). Критерий отсечения определяется требованием к выходному потоку. Поскольку весь спектр актуален, высокочастотные гармоники не отсекаются, как в JPEG, а только выборочно удаляются, чтобы уменьшить поток информации за счёт разрежения спектра. После спектральной «зачистки» применяются математические методы сжатия и упаковка во фреймы. Каждый фрейм может иметь несколько контейнеров, что позволяет хранить информацию о нескольких потоках (левый и правый канал либо центральный канал и разница каналов). Степень сжатия можно варьировать, в том числе в пределах одного фрейма. Интервал возможных значений битрейта составляет 8-320 кбит/c.

MP3 и «качество Audio-CD»[править | править исходный текст]

В прошлом было распространено мнение, что запись с битрейтом 128 кбит/c подходит для музыкальных произведений, предназначенных для прослушивания большинством людей, обеспечивая качество звучания Audio-CD. В действительности всё намного сложнее. Во-первых, качество полученного MP3 зависит не только от битрейта, но и от кодирующей программы (кодека) (стандарт не устанавливает алгоритм кодирования, только описывает способ представления). Во-вторых, помимо превалирующего режима CBR (Constant Bitrate — постоянный битрейт) (в котором, проще говоря, каждая секунда аудио кодируется одинаковым числом бит) существуют режимы ABR (Average Bitrate — усреднённый битрейт) и VBR (Variable Bitrate — переменный битрейт). В-третьих, граница 128 кбит/c является условной, так как она была «изобретена» в эпоху становления формата, когда качество воспроизведения звуковых плат и компьютерных колонок, как правило, было ниже, чем в настоящее время.

На данный момент наиболее часто встречаются MP3-файлы с битрейтом 192 кбит/c, что может косвенно говорить о том, что большинство считает этот битрейт достаточным. Реально воспринимаемое «качество» зависит от исходного аудиофайла, слушателя и его аудиосистемы. Некоторые меломаны предпочитают сжимать музыку с «максимальным качеством» — 320 кбит/c, либо даже переходить на кодеки без потерь, например, FLAC. Также среди меломанов бытует мнение, что некоторые семплы (фрагменты аудиозаписи) не поддаются качественному сжатию с потерями: на всех возможных битрейтах не составляет особого труда отличить сжатое аудио от оригинала. Однако есть и серьёзные возражения[2]:

Совершенно очевидно, что (возьмём с запасом) битрейта 256 kbps в подавляющем большинстве случаев должно быть более чем достаточно для комфортного восприятия музыки с CDA-источника (44 kHz/16 bit/stereo). Это очевидно не только из моего доморощенного теста, но и по анализу профессиональных слепых тестов (например, германского издания «c’t», июнь 2000 г.): даже в них экспертам не всегда удается «угадать» сжатый до 256 kbps звук, причем тестирование проходит в специально подготовленных помещениях и на дорогом оборудовании, а эксперт знает, что надо «слушать», чтобы почувствовать сжатие.

Режимы кодирования и опции[править | править исходный текст]

Существует три версии MP3 формата для различных нужд: MPEG-1, MPEG-2 и MPEG-2.5. Отличаются они возможными диапазонами битрейта и частоты дискретизации:

  • 32—320 кбит/c при частотах дискретизации 32000 Гц, 44100 Гц и 48000 Гц для MPEG-1 Layer 3;
  • 16—160 кбит/c при частотах дискретизации 16000 Гц, 22050 Гц и 24000 Гц для MPEG-2 Layer 3;
  • 8—160 кбит/c при частотах дискретизации 8000 Гц и 11025 Гц для MPEG-2.5 Layer 3.

Режимы управления кодированием звуковых каналов[править | править исходный текст]

Так как формат MP3 поддерживает двухканальное кодирование (стерео), существует 4 режима:

  • Стерео — двухканальное кодирование, при котором каналы исходного стереосигнала кодируются независимо друг от друга, но распределение бит между каналами в общем битрейте может варьироваться в зависимости от сложности сигнала в каждом канале.
  • Моно — одноканальное кодирование. Если закодировать двухканальный материал этим способом, различия между каналами будут полностью стёрты, так как два канала смешиваются в один, он кодируется и он же воспроизводится в обоих каналах стереосистемы. Единственным плюсом данного режима может являться только выходное качество по сравнению с режимом Стерео при одинаковом битрейте, так как на один канал приходится вдвое большее количество бит, чем в режиме Стерео.
  • Двухканальное стерео (англ. Dual Channel) — два независимых канала, например, звуковое сопровождение на разных языках. Битрейт делится на два канала. Например, если заданный битрейт 192 кбит/c, то для каждого канала он будет равен только 96 кбит/c.
  • Объединённое стерео (англ. Joint Stereo, M/S Stereo) — по мнению некоторых[источник не указан 1382 дня], оптимальный способ двухканального кодирования. Например, в одном из режимов Объединённое стерео левый и правый каналы преобразуются в их сумму (L+R) и разность (L−R). Для большинства звуковых файлов насыщенность канала с разностью (L−R) получается намного меньше канала с суммой (L+R). Также тут свою роль играет восприятие звука человеком, для которого различия в направлении звука намного менее примечательны. Поэтому объединённое стерео позволяет либо сэкономить на битрейте канала разности (L−R), либо улучшить качество на том же битрейте, поскольку на канал суммы (L+R) отводится бо́льшая часть битрейта. Бытует мнение, что данный режим не подходит для звукового стереоматериала, в котором в двух каналах воспроизводится субъективно абсолютно различный материал, так как он стирает различия между каналами. Но современные кодеки используют различные схемы в разных фреймах (включая чистое стерео) в зависимости от исходного сигнала.

CBR[править | править исходный текст]

CBR расшифровывается как Constant Bit Rate, то есть постоянный битрейт, который задаётся пользователем и не изменяется при кодировании произведения. Таким образом, каждой секунде произведения соответствует одинаковое количество закодированных бит данных (даже при кодировании тишины). CBR может быть полезен для потоков мультимедиа-данных по ограниченному каналу; в таком случае кодирование использует все возможности канала данных. Для хранения данный режим кодирования не является оптимальным, так как он не может выделить достаточно места для сложных отрезков исходного произведения, при этом бесполезно тратя место на простых отрезках. Повышенные битрейты (выше 256 кбит/c) могут решить данную проблему, выделив больше места для данных, но зато и пропорционально увеличивая размер файла.

VBR[править | править исходный текст]

VBR расшифровывается как Variable Bit Rate, то есть изменяющийся битрейт или переменный битрейт, который динамически изменяется программой-кодером при кодировании в зависимости от насыщенности кодируемого аудиоматериала и установленного пользователем качества кодирования (например, тишина закодируется с минимальным битрейтом). Этот метод MP3-кодирования является самым прогрессивным и до сих пор развивается и улучшается, так как аудиоматериал разной насыщенности может быть закодирован с определённым качеством, которое обычно выше, чем при установке среднего значения в методе CBR. Плюс к тому, размер файла уменьшается за счёт фрагментов, не требующих высокого битрейта. Минусом данного метода кодирования является сложность предсказания размера выходного файла. Но этот недостаток VBR-кодирования незначителен в сравнении с его достоинствами. Также минусом является то, что VBR считает «незначительной» звуковой информацией более тихие фрагменты, таким образом получается, что если слушать очень громко, то эти фрагменты будут некачественными, в то время как CBR делает с одинаковым битрейтом и тихие, и громкие фрагменты.

Формат VBR постоянно улучшается, благодаря постоянному совершенствованию математической модели кодеков, в частности, после выхода обновлённой версии свободного MP3-кодека LAME (версия 3.99.3), кодирование с переменным битрейтом, по заявлению самих разработчиков, качественно лучше CBR и тем более ABR.

ABR[править | править исходный текст]

ABR расшифровывается как Average Bit Rate, то есть усредненный битрейт, который является гибридом VBR и CBR: битрейт в кбит/c задаётся пользователем, а программа варьирует его, постоянно подгоняя под заданный битрейт. Таким образом, кодек будет с осторожностью использовать максимально и минимально возможные значения битрейта, так как рискует не вписаться в заданный пользователем битрейт. Это является явным минусом данного метода, так как сказывается на качестве выходного файла, которое будет немного лучше, чем при использовании CBR, но хуже, чем при использовании VBR. С другой стороны, этот метод позволяет наиболее гибко задавать битрейт (может быть любым числом между 8 и 320, против исключительно кратных 16 чисел метода CBR) и вычислять размер выходного файла.

Кодеки[править | править исходный текст]

Типы программ, необходимые для преобразования форматов файлов. Наиболее распространённые кодеки MP3:

  • mp3PRO-codec (использует частотное преобразование SBR).
  • LAME-codec
  • fraunhofer-codec

Структура файла[править | править исходный текст]

Структура файла

MP3-файл состоит из нескольких фрагментов (фреймов) MP3, которые, в свою очередь, состоят из заголовка и блока данных. Такая последовательность фрагментов называется элементарным потоком. Фрагменты не являются независимыми элементами («резервуар байт»), и поэтому не могут быть извлечены произвольно. Блок данных MP3-файла содержит сжатую аудиоинформацию в виде частот и амплитуд. На приведённой диаграмме показано, что заголовок MP3 состоит из маркера, который служит для нахождения верного MP3-фрагмента. За ним следует бит, показывающий, что используется стандарт MPEG, и два бита, показывающие использование layer 3; другими словами, это определяет MPEG-1 Audio Layer 3 или MP3. Последующие значения могут варьироваться в зависимости от типа MP3-файла. Стандарт ISO/IEC 11172-3 определяет диапазон значений для каждой секции заголовка, вместе с общей его спецификацией. Большинство MP3-файлов в настоящий момент содержат ID3-метаданные, которые предшествуют или следуют за MP3-фрагментом; они также отображены на диаграмме.

Теги[править | править исходный текст]

Теги (от англ. tag — ярлык, метка, бирка) — метки в границах MP3-файла (в начале и/или в конце). В них может быть записана информация об авторстве, альбоме, годе выпуска, обложек альбомов и текстов песен и прочая информация о треке. В более поздних версиях тегов возможно хранение прочих данных о звуковой записи. Существуют различные версии тегов (см.: ID3).

Недостатки[править | править исходный текст]

Технические недостатки. Количество каналов звука ограничено двумя, в отличие от AAC и Vorbis.

Юридические ограничения. Патентом на MP3 владеет компания Alcatel-Lucent, которая требует лицензирования некоторых способов использования формата. Срок действия связанных с MP3 патентов истекает в 2007—2017 годах. Почти полный стандарт появился в открытом доступе 6 декабря 1991 года. В США изобретения, публично раскрытые более года, не могут быть запатентованы. Однако для патентов, оформленных до 8 июня 1995 года, существовала возможность увеличить их сроки действия. Известные патенты, касающиеся расшифровки MP3, прекратили действие в США к декабрю 2012; по другим данным, если учитывать только патенты, заявка на которые была подана до декабря 1992 года, это может произойти в сентябре 2015 года.[3][4]

См. также[править | править исходный текст]

Примечания[править | править исходный текст]

  1. Nikil Jayant, James Johnston, Robert Safranek. (October 1992). «Signal Compression Based on Models of Human Perception». Proceedings of the IEEE 81 (10): 1385—1422. DOI:10.1109/5.241504. Проверено 2008-06-30.
  2. Фобомания Журнал «Компьютерра», 14 декабря 2008
  3. Cogliati, Josh Patent Status of MPEG-1, H.261 and MPEG-2. Kuro5hin (20 июля 2008). Архивировано из первоисточника 25 февраля 2013. This work failed to consider patent divisions and continuations.
  4. US Patent Expiration for MP3, MPEG-2, H.264

Ссылки[править | править исходный текст]