|
Навигация по сайту: Главная Страница > Аудио > Что такое формат MP3 Что такое формат MP3 |
|
Продолжение статьи - страница 2
Описание процесса кодирования ![]() Подготовка к кодированию. Фреймовая структура Перед кодированием исходный сигнал разбивается на участки, называемые фреймами, каждый из которых кодируется отдельно и помещается к конечном файле независимо от других. Последовательность воспроизведения определяется порядком расположения фреймов. Каждый фрейм может кодироваться с разными параметрами. Информация о них содержится в заголовке фрейма. Начало кодирования Кодирование начинается с того, что исходный сигнал с помощью фильтров разделяется на несколько, представляющих отдельные частотные диапазоны, сумма которых эквивалентна исходному сигналу. Работа психоакустической модели Для каждого диапазона определяется величина маскирующего эффекта, создаваемого сигналом соседних диапазонов и сигналом предыдущего фрейма. Если она превышает мощность сигнала интересующего диапазона или мощность сигнала в нем оказывается ниже определенного опытным путем порога слышимости, то для данного фрейма данный диапазон сигнала не кодируется. Для оставшихся данных для каждого диапазона определяется, сколькими битами на сэмпл мы можем пожертвовать, чтобы потери от дополнительного квантования были ниже величины маскирующего эффекта. При этом учитывается, что потеря одного бита ведет к внесению шума квантования величиной порядка 6 dB. Завершение кодирования После завершения работы психоакустической модели формируется итоговый поток, который дополнительно кодируется по Хаффману, на этом кодирование завершается. Замечание На практике схема несколько сложнее. Например, необходимо согласовываться с требованиями битрейта. В зависимости от кодера это приводит при повышении битрейта к разного рода релаксациям при отборе сохраняемой части исходного сигнала, а при понижении - наоборот, к ужесточению критериев. В рамках формата MP3 кодирование стереосигнала допустимо четырьмя различными методами:
Dual Channel - Каждый канал получает ровно половину потока и кодируется отдельно как моно сигнал. Рекомендуется главным образом в случаях, когда разные каналы содержат принципиально разный сигнал - скажем, текст на разных языках.
Stereo - Каждый канал кодируется отдельно, но кодер может принять решение отдать одному каналу больше места, чем другому. Это может быть полезно в том случае, когда после отброса части сигнала, лежащей ниже порога слышимости или полностью маскируемой, оказалось, что код не полностью заполняет выделенный для данного канала объем, и кодер имеет возможность использовать это место для кодирования другого канала. В документации к mp3enc замечено, что этим, например, избегается кодирование "тишины" в одном канале, когда в другом есть сигнал.
Joint Stereo (MS Stereo) - Стереосигнал раскладывается на средний между каналами и разностный. При этом второй кодируется с меньшим битрейтом. Это позволяет несколько увеличить качество кодирования в обычной ситуации, когда каналы по фазе совпадают. Но приводит и к резкому его ухудшению, если кодируются сигналы, по фазе не совпадающие. В частности, фазовый сдвиг практически всегда присутствует в записях, оцифрованных с аудиокассет, но встречается и на CD, особенно если CD сам был записан в свое время с аудиоленты. С другой стороны, уже совершена (первая ?) попытка написать программу для автоматической коррекции фазового сдвига. Возможно, она немного поможет любителям кодировать оцифровки с аудиокассет с битрейтом порядка 128kbs.
Joint Stereo (MS/IS Stereo) - Вводит еще один метод упрощения стереосигнала, повышающий качество кодирования на особо низких битрейтах. Состоит в том, что для некоторых частотных диапазонов оставляется уже даже не разностный сигнал, а только отношение мощностей сигнала в разных каналах. Понятно, для кодирования этой информации употребляется еще меньший битрейт. Статьи по теме: {catnews} |