Выбрать главу

Итак, МР3 — потоковый формат, а это, в свою очередь, означает, что звуковая информация при кодировании разбивается на фреймы, то есть равные по продолжительности участки. Особенность фреймов заключается в том, что все они взаимно независимы, так как каждый фрейм имеет свои собственные параметры, кодируется отдельно и имеет заголовок. В процессе воспроизведения последовательность декодированных фреймов как раз таки и обеспечивает непрерывное звучание записанного звука.

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

При высоком качестве МР3 — а это битрейт 320 Кбит/с — для кодирования фреймов применяются исключительно математические алгоритмы сжатия. Стоит заметить, что качество при этом нисколько не страдает, однако размер уменьшается максимум в четыре раза. Но уже при уменьшении полосы пропускания (битрейта) до 256 Кбит/с и ниже начинают работать алгоритмы удаления «ненужных» звуков, что основано на особенности восприятия аудиоинформации человеческим ухом, или, если говорить более научно, на «психоакустической модели». Сам процесс удаления ненужных звуков называется квантованием. И надо сказать, квантование становится жестче с уменьшением битрейта, то есть налицо обратно пропорциональная зависимость.

Ну а каковы критерии отбора звуков на «нужность» или «ненужность»? Все просто. Большинство кодеков (совокупность алгоритмов кодирования и декодирования звука) отбрасывают звуки, находящиеся за границей порога слышимости человека Причем так сложилось, что значение этого порога составляет 16 кГц. Но эта величина, скажем прямо, условна, поскольку люди по своим физиологическим особенностям очень отличаются друг от друга. Да и потом, необходимо учитывать, что у многих слуховой порог может превышать эту среднестатистическую величину, ведь, например, у молодежи порог слышимости значительно выше, чем у пожилых людей. Таким образом, удаление частот выше 16 кГц частенько и является причиной того, что временами конечный результат воспроизведения музыкального файла не удовлетворяет запросы пользователей. Это абсолютно неприемлемо для высоких битрейтов, претендующих на постоянное качество, но, кстати, вполне уместно для низких, где качество приносится в жертву размеру.

Еще одним критерием, который служит для выявления «ненужности» тех или иных звуков, является такая особенность слуха человека, как неспособность различать мощность сигналов, лежащих ниже определенного уровня, особенно если он меняется в зависимости от разных частотных диапазонов. Когда применятся психоакустическая модель, МР3З-кодек автоматически удаляет маломощные, практически неслышимые частоты. К слову, здесь снова возникает проблема «неодинаковости» личностей: к примеру, некоторые люди, способные различать именно «выброшенные» частоты, постоянно жалуются на плохое качество звучания сжатого файла, в то время как все остальные вообще ничего не замечают

Теперь мы подошли к главной особенности, описывающей психоакустическую модель кодирования формата МР3, - это так называемый эффект маскирования. Во многом благодаря именно этому эффекту возможно столь сильное сжатие исходных аудиоданных. Суть маскирования заключается в следующем. Слабый сигнал одного диапазона частот, как правило, маскируется более мощным сигналом соседнего диапазона, если таковой присутствует в аудиозаписи, или, на крайний случай, мощным сигналом предыдущего фрейма. В итоге имеет место «временное оглушение», так как такой сильный сигнал вызывает временное понижение чувствительности уха к сигналу текущего фрейма. Величина маскирующего эффекта, создаваемого сигналом соседних диапазонов и сигналом предыдущего фрейма, определяется конкретно для каждого звукового диапазона. Если маскирующий сигнал превышает мощность сигнала текущего диапазона, последний не кодируется вовсе, что обеспечивает психоакустической модели возможность удалить часть данных из этого фрейма. Что же касается оставшихся данных каждого диапазона, то для них определяется количество битов на фрейм, которыми можно пожертвовать, чтобы потери от дополнительного квантования были ниже величины маскирующего эффекта. Говоря проще, звук, кодированный при низких битрейтах, отличается заметной нечеткостью и глухостью. Это происходит потому, что при потере всего одного бита информации в общее звучание добавляется шум квантования значительной величины.