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

Немецкий институт и десятилетие пути к стандарту

В 1987 году Университет Эрлангена-Нюрнберга и Институт интегральных схем Fraunhofer IIS объединились в рамках европейского проекта EU147 по цифровому радиовещанию. Главным архитектором будущего MP3 стал Карлхайнц Бранденбург, начавший работу над сжатием цифрового звука ещё в начале 1980-х годов. Его диссертация была посвящена тому, как человек воспринимает музыку, и именно это понимание психоакустики легло в основу всей дальнейшей разработки.

В 1989 году MPEG объявил конкурс на аудиостандарт. Из 14 поданных предложений в финал вышли четыре кандидата. Команда Fraunhofer представила формат ASPEC, основанный на адаптивном спектральном перцептивном энтропийном кодировании. По итогам тестирования MPEG принял решение создать семейство из трёх кодеков: Layer 1, Layer 2 и Layer 3. Последний, самый сложный, впоследствии и стал MP3. Технический стандарт MPEG-1 Audio (ISO/IEC 11172-3) был завершён в декабре 1991 года. Расширение .mp3 файлы получили 14 июля 1995 года по итогам внутреннего голосования сотрудников Fraunhofer IIS, а до этого файлы носили расширение .bit.

Тестовым материалом для отладки алгоритма стала запись а-капелла "Tom's Diner" в исполнении Сюзанны Вега. Голос без инструментов обнажал артефакты сжатия куда беспощаднее насыщенной аранжировки. Бранденбург прослушал эту запись тысячи раз, каждый раз сравнивая оригинал с очередной итерацией алгоритма. Вегу впоследствии назвали "матерью MP3".

Пять ступеней превращения звука в данные

Чтобы понять MP3, нужно пройти весь путь от аналогового звука до битового потока. Кодек работает конвейерно, и каждый этап решает строго свою задачу.

Первый этап, полосовой фильтр. Входной PCM-сигнал поступает в полифазный фильтровый банк, который делит звуковой спектр на 32 равные субполосы. Эта архитектура унаследована от Layer 1 и Layer 2 намеренно ради обратной совместимости. Каждая субполоса представляет определённый диапазон частот, и с каждой из них дальше работа ведётся независимо. Полифазный фильтр вносит небольшое искажение сам по себе, что является одним из структурных ограничений MP3 по сравнению с более поздними кодеками.

Второй этап, MDCT и повышение частотного разрешения. Каждую из 32 субполос кодек дополнительно обрабатывает через модифицированное дискретное косинусное преобразование (MDCT), разбивая её ещё на 18 частотных линий. В итоге получается 576 спектральных коэффициентов на гранулу, что даёт достаточно высокое частотное разрешение для точного управления шумом квантования. MDCT использует перекрывающиеся окна: каждый блок данных частично пересекается с соседними, что устраняет блочные артефакты на стыках. Для быстро меняющихся сигналов, например ударных, кодек переключается на короткие блоки из 6 подблоков по 192 коэффициента вместо одного длинного на 576, уменьшая временной разброс квантового шума и предотвращая эффект пре-эхо.

Третий этап, психоакустическая модель. Параллельно с фильтровым банком аудиосигнал подаётся на 1024-точечное быстрое преобразование Фурье (FFT). Результат FFT используется психоакустической моделью, которая вычисляет мгновенный порог слышимости для каждой частотной полосы. Модель опирается на два феномена восприятия. Первый называется частотной маскировкой: громкий тон делает неслышимыми тихие звуки в соседних частотных полосах. Второй феномен, временная маскировка, работает иначе: в течение нескольких миллисекунд до и примерно 200 миллисекунд после громкого звука мозг подавляет восприятие других сигналов. Психоакустическая модель вычисляет порог маскировки для каждой из примерно 24 критических полос по шкале Барка и передаёт эти пороги в петлю управления квантованием.

Четвёртый этап, квантование и двойная петля управления. Спектральные коэффициенты квантуются с шагом, который нелинейно растёт с увеличением частоты: на высоких частотах ухо менее чувствительно, поэтому там допускается более грубое квантование. Управление процессом ведётся через две вложенные итерационные петли. Внешняя петля управляет искажениями: она проверяет, не превышает ли квантовый шум в каждой критической полосе порог маскировки, и при необходимости увеличивает масштабирующий коэффициент данной полосы. Внутренняя петля управляет битрейтом: она следит за тем, чтобы суммарное число бит на гранулу не превысило допустимый бюджет. Масштабирующие коэффициенты хранятся в боковой информации (side information) и описывают, во сколько раз усилен или ослаблен сигнал в каждой полосе перед квантованием.

Пятый этап, кодирование Хаффмана и формирование битового потока. Квантованные спектральные коэффициенты кодируются без потерь через кодирование Хаффмана. Кодек выбирает оптимальную из 32 предопределённых таблиц Хаффмана, что позволяет адаптироваться к локальной статистике сигнала. Коэффициенты разделяются на три региона: "big values" (нижняя часть спектра с большими амплитудами), "count1" (область, где значения не превышают единицу) и "rzero" (высокочастотная область нулевых коэффициентов, которая просто не кодируется). Всё упаковывается в стандартный битовый поток.

Структура файла и то, из чего он состоит побайтово

MP3-файл представляет собой последовательность кадров (frames). Каждый кадр MPEG-1 Layer 3 содержит ровно 1152 выборки, разделённых на две гранулы по 576 выборок. При стандартной частоте дискретизации 44 100 Гц продолжительность одного кадра составляет около 26 миллисекунд.

Каждый кадр начинается с заголовка в 4 байта. Заголовок содержит 11-битовое синхрослово для поиска начала кадра, 2-битовый идентификатор версии MPEG, 2-битовый номер слоя, флаг защиты CRC, 4-битовый индекс битрейта от 32 до 320 кбит/с, 2-битовый индекс частоты дискретизации (32 000, 44 100 или 48 000 Гц), флаг набивки (padding), флаг приватного бита и 2-битовый режим канала (stereo, joint stereo, dual channel, mono).

За заголовком следует блок боковой информации размером 17 байт для моно и 32 байта для стерео. Боковая информация содержит указатель на основной поток данных (main_data_begin), масштабирующие коэффициенты, таблицы Хаффмана и параметры гранул. Особенность MP3 в том, что основные данные могут физически начинаться за несколько кадров до текущего: это буферизация битового пула (bit reservoir), позволяющая перераспределять биты между кадрами и эффективнее кодировать сложные фрагменты за счёт более простых.

Теги ID3 хранятся отдельно от аудиоданных, либо в начале файла (ID3v2, переменная длина), либо в последних 128 байтах (ID3v1, фиксированный размер). ID3v2 поддерживает произвольные текстовые поля, обложки альбомов в виде JPEG или PNG и синхронизированные тексты. ID3v1 ограничен 30-символьными полями для названия, исполнителя, альбома и года.

Как MP3 изменил музыкальный бизнес без чьего-либо разрешения

В 1997 году появился первый коммерческий MP3-плеер MPMan F10. В 1998 году Rio PMP300, несмотря на судебный иск от RIAA, вышел на рынок и моментально стал хитом продаж. Рынок физических носителей ещё не знал, что именно происходит, но что-то менялось необратимо. Продажи CD начали снижаться с 2000 года и с тех пор не восстановились.

Napster, запущенный в 1999 году, позволял пользователям обмениваться MP3-файлами напрямую без посредников. На пике к нему подключались десятки миллионов человек. RIAA закрыла сервис через суд в 2001 году, но джинн был выпущен из бутылки: люди поняли, что музыку можно получать мгновенно, и никакие запреты не могли вернуть прежнюю модель потребления.

iTunes Store, открывшийся в 2003 году, предложил легальную альтернативу: 0,99 доллара за трек. Позже Apple перешла на продажи без DRM и предлагала треки в том числе в MP3. Патентная история формата завершилась в 2017 году: последние ключевые патенты Fraunhofer и Technicolor истекли, и с 23 апреля лицензионная программа была официально закрыта. За годы действия патентов только в 2005 году Technicolor генерировал около 100 миллионов евро лицензионных отчислений для Fraunhofer Society.

MP3 против современных форматов без иллюзий

Сегодня MP3 окружён конкурентами, каждый из которых по тем или иным параметрам его превосходит. AAC (Advanced Audio Coding) разрабатывался как прямой преемник MP3 при участии самого Fraunhofer IIS. При одинаковом битрейте AAC обеспечивает заметно лучшее качество звука за счёт более современных алгоритмов психоакустического моделирования, более широкой поддержки частотных полос и отсутствия структурных ограничений полифазного фильтра. Apple выбрала AAC как стандарт для iTunes и Apple Music, YouTube использует его для большинства видео. На битрейтах от 128 кбит/с AAC звучит чище и натуральнее, чем MP3 при тех же условиях.

FLAC (Free Lossless Audio Codec) занимает принципиально иную нишу: это формат без потерь. FLAC-файл в среднем занимает 50-60% от объёма несжатого WAV при абсолютно идентичном качестве звука. Для архивирования коллекций и студийной работы FLAC не имеет разумной альтернативы. Tidal и Amazon Music используют именно его для lossless-потоков.

Opus, появившийся в 2012 году как проект IETF на базе слияния SILK от Skype и музыкального CELT, впечатляет технически: стереозапись при 64 кбит/с звучит сопоставимо с MP3 при 128 кбит/с. При 96 кбит/с Opus опережает AAC по субъективному качеству. Формат полностью открытый, без лицензионных отчислений. SoundCloud перешёл с MP3 на Opus в 2018 году и сократил потребление полосы пропускания вдвое. 

Главное и единственное реальное преимущество MP3 сегодня - универсальная совместимость. Старый автомобильный магнитофон, дешёвая Bluetooth-колонка, любой медиаплеер на любой платформе: везде MP3 воспроизведётся без вопросов. Это не мало, но это единственный аргумент против современных альтернатив.

Наследие формата и что он оставил после себя

Патенты истекли, лицензионная программа закрыта, сам Fraunhofer IIS давно переключился на следующие поколения кодеков: AAC, MPEG-H Audio, xHE-AAC и LC3 для Bluetooth LE Audio. Но MP3 как явление никуда не делся.

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

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