В 1987 году немецкий институт Фраунхофера (Fraunhofer Institut für Integrierte Schaltungen) начал всесторонние исследования проблемы кодирования цифрового звука. Именно этому институту принадлежит патент на технологию MP3. «Отцом» этого формата звука называют Карл-Хайнца Бранденбурга (
Какие же принципы легли в основу кодирования цифрового звука в этот формат? Исходный звуковой файл делится на фреймы (англ. frame — кадр) продолжительностью 0,05 сек. каждый. Затем проводится анализ каждого фрейма. При этом все частоты звука, лежащие вне диапазона восприятия ухом человека, отбрасываются. Кроме того, отбрасываются колебания со слишком высоким либо низким значением амплитуды. Как известно, ее верхняя граница восприятия человеком составляет 96 дБ. Нижняя граница восприятия сильно зависит от частоты звука. Высокие и низкие частоты имеют более высокий амплитудный порог восприятия.
На первом этапе сигнал каждого фрейма математическим преобразованием Фурье представляется в виде суммы синусоид различной амплитуды и частоты (ведь графически звук любой частоты представляет собой именно синусоиду). В память записываются значения амплитуд и частот, входящих в результирующую формулу.
Второй этап обработки основан на использовании психоакустической модели восприятия звука ухом человека. К примеру, отбрасываются незначительные последовательные изменения в частоте звука (сигнал частотой 5000 Гц и следующий за ним сигнал 5100 Гц записываются как один с частотой 5000 Гц и суммированной продолжительностью). Другая особенность уха приводит к эффекту частотной маскировки. Звук с определенной частотой маскирует другие звуки с близкой частотой, но меньшей амплитудой, которые отбрасываются. Инерционность восприятия звука ухом приводит к тому, что, скажем, некоторое время после громкого хлопка звук высокой частоты и низкой амплитуды просто не слышен. Такие звуки тоже отбрасываются фильтром.
Третий этап представляет собой сжатие обработанного сигнала известными математическими методами. Сжатие данных в MP3 осуществляется по немного модифицированному варианту алгоритма Хаффмана (Huffman), применяющемуся при создании архивов формата PKZIP, LHA, ZOO, ARJ.
В итоге всех трех преобразований информация, содержащаяся в исходном звуковом файле, ужимается в несколько раз. Степень сжатия в современных кодерах измеряется в килобитах в секунду (kbps), и может быть задана самим пользователем. При этом он должен помнить, что бесконечное стремление к понижению размера файла с повышением степени сжатия приводит к тому, что второй этап обработки звука (именно он регулируется без особых ограничений) становится более агрессивным. «Под нож» начинают идти звуки, различимые ухом человека.
Нет однозначного мнения о минимальной степени сжатия звука, допустимой при его обработке. Одни говорят о том, что 128 kbps (степень сжатия — приблизительно 10:1) — вполне достаточно, другие предпочитают величину, вдвое большую. Сегодня в большинстве проигрывателей и кодеров установлена верхняя граница — 320 kbps, которая способна удовлетворить любого эксперта.
Напоследок отмечу, что кодирование звука в MP3 относится к типу lossy (происходит потеря информации о звуке). Способы, относящиеся к типу lossless, в которых исключен второй этап «психоакустического ножа», а сжатие основано исключительно на математических методах, полностью сохраняют исходную информацию в итоговом сжатом файле.