MP3
MP3, mp3 (от MPEG-1 Audio Layer III или MPEG-2 Audio Layer III) — аудиоформат, разработанный командой MPEG. Формат был лицензируемым, но 23 апреля 2017 года срок действия всех патентов истёк и лицензионные сборы прекращены.

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

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

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

Основой разработки MP3 послужил экспериментальный кодек ASPEC (Adaptive Spectral Perceptual Entropy Coding). Почти полный стандарт появился в открытом доступе 6 декабря 1991 года. При разработке алгоритма тесты проводились на вполне конкретных популярных композициях. Основной стала песня Сюзанны Веги «Tom’s Diner». Отсюда возникла шутка, что «MP3 был создан исключительно ради комфортного прослушивания любимой песни Бранденбурга», а Вегу стали называть «мамой MP3».

Первым кодировщиком в формат MP3 стала программа L3Enc, выпущенная летом 1994 года, а в сентябре 1995 года Институт Фраунгофера выпустил первый программный MP3-плеер — Winplay3. С 1996 года началось нелегальное распространение музыкальных MP3 файлов в интернете. Первой композицией загруженной в сеть 10 августа 1996 года риппером под ником NetFrack, стала песня «Until it Sleeps» с альбома «Load» группы Metallica.  

23 апреля 2017 года истекли последние патенты на формат и были прекращены сборы лицензионных отчислений с производителей программного обеспечения и встраиваемых решений. О прекращении лицензирования формата сообщил Институт Фраунгофера на своём официальном сайте.
И, хотя формат 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 является условной, так как она была выбрана в эпоху становления формата, когда качество воспроизведения большинства цифровых звуковых систем, как правило, было ниже, чем в настоящее время. Грубо говоря, утверждение о «качестве Audio-CD» при 128 кбит/c соответствует границе относительно комфортного прослушивания музыки, ниже которой возникает сильная деградация звука у всех программ кодирования в формат MP3.

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

Совершенно очевидно, что (возьмём с запасом) битрейта 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 режима:

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

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

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

 Объединённое стерео () — способы двухканального кодирования, позволяющие увеличить коэффициент сжатия файла. Первый способ Mid / Side Stereo, когда левый и правый каналы преобразуются в их сумму (L+R) и разность (L−R). Для большинства звуковых файлов насыщенность канала с разностью (L−R) получается намного меньше канала с суммой (L+R). Поэтому объединённое стерео позволяет либо сэкономить на битрейте канала разности (L−R), либо улучшить качество на том же битрейте, поскольку на канал суммы (L+R) отводится бо́льшая часть битрейта. Бытует мнение, что данный режим не подходит для звукового стереоматериала, в котором в двух каналах воспроизводится субъективно абсолютно различный материал, так как он стирает различия между каналами. Но современные кодеки используют различные режимы в разных фреймах (включая чистое стерео) в зависимости от исходного сигнала. Второй способ Intensity Stereo опирается на свойство человеческого слуха различать положение звуков в пространстве не во всём спектре частот, игнорируя положение очень низких и очень высоких. Таким образом, кодирование звуков сверхнизкой и сверхвысокой частоты в режиме моно повышает эффективность сжатия данных.

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. Однако формат CBR 320 кбит/c всё ещё позиционируется как гарантирующий максимальное качество (например он используется в пресете «--preset insane»).

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-фрагментом; они также отображены на диаграмме.

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

Недостатки 
Технические недостатки. Количество каналов звука ограничено двумя, в отличие от AAC и Vorbis. Также имеется жёсткое ограничение возможной частоты дискретизации: отсутствует возможность задать произвольную частоту дискретизации. Максимальная частота дискретизации для MP3 — 48 кГц в то время как для Vorbis максимальная частота — 192 кГц, и для AAC — 96 кГц. В MP3 возможно сохранить только в следующих частотах дискретизации: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100 и 48000 Гц.

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

В 2017 году все патенты, касающиеся данного формата, окончили действие, так как не были продлены правообладателями.

См. также 
 LAME
 AAC
 Vorbis
 Opus
 Сжатие аудиоданных
 Цифровые звуковые форматы
 Список аудиоформатов файлов
 Как музыка стала свободной

Примечания

Ссылки 
 Статья о заголовке фрейма MPEG
 Developement and Implementation of an MPEG1 Layer III Decoder on x86 and TMS320C6711 platforms — Презентация Power Point с описанием структуры файла
 Developement and Implementation of an MPEG1 Layer III Decoder on x86 and TMS320C6711 platforms — Презентация Power Point с описанием процесса декодирования
 Audio Coding (TU Ilmenau) — учебный курс профессоров Карлхайнца Бранденбурга и Геральда Шуллера.

Аудиокодеки
Форматы аудиофайлов
MPEG