Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кратко об истории и характеристиках формата MPEG4 / 2008-05-19-23-53-Кирилл- об истории и характеристиках стандартов MPEG (документация, исходники, скачать).doc
Скачиваний:
43
Добавлен:
01.05.2014
Размер:
265.73 Кб
Скачать

3.7.2.Методы оценки сложности сигнала: метод 2 (abr / cbr)

  Второй метод основан на вычислении Perceptual Entropy (PE), характеризующей сложность кодируемого сигнала (чем сложнее сигнал, тем PE больше). Этот метод используется при кодировании CBR и ABR. Механизм расчета сложности сигнала с помощью PE полностью отличается от механизма, использованного в VBR. Не вдаваясь глубоко в подробности следует сказать, что если в первом методе расчет сложности сигнала проводился опираясь на свойства маскировки, то в данном методе сложность сигнала оценивается путем попытки его предсказания: чем более сложный сигнал (огибающая ведет себя хаотично), тем труднее он предсказуем и, соответственно, тем больше бит требуется для кодирования сигнала. Во время кодирования кодер пытается предсказать сигнал, затем сравнивает предсказанный сигнал с оригиналом, чем менее предсказанный сигнал совпадает с оригиналом, тем больше бит уходит на кодирование. Очень важно отметить, что используемые методы вычисления сложности сигнала принципиальновлияют на отличия использующих их механизмов. Так, принципиальная разница между ABR/CBR (использующих описываемый метод) и VBR (который использует метод 1, описанный выше) заключаются еще и в том, что выбор битрейта в ABR/CBR лежит не на кодере, а на пользователе, при этом Lame лишь добавляет/отнимает небольшое количество бит во время кодирования сложных/простых мест соответственно (для чего и рассчитывается PE). Другими словами, в зависимости от рассчитанного PE, квыбранному пользователембитрейту добавляется (или отнимается от него) нужное число бит, что реализуется с помощью механизма работы с резервуаром (виртуальным или настоящим). Таким образом, при использовании второго метода именно пользователь выбирает битрейт (когда в VBRкодер самрешает величину битрейта), PE же лишь корректирует его с помощью резервуара в зависимости от сложности музыки. Происходит это примерно следующим образом.

  CBR. Для каждого фрейма выделяется "основное", постоянное количество бит, 90% от указанного битрейта и "дополнительное", переменное. Простые пассажи кодируются с помощью этих 90-а процентов, а оставшиеся 10% процентов накапливаются в резервуаре битов (как было описано вначале), вплоть до его заполнения, после чего на кодирование простых пассажей уходит весь битрейт (так как экономить биты некуда). Сложные пассажи кодируются используя полный битрейт плюс из резервуара изымаются дополнительные биты, если только в нём ещё есть биты. Плюсы: совместимость, минусы: из-за малого размера резервуара очень часто нахватает дополнительных бит для кодирования сложных мест.

  ABR. При кодировании ABR использование резервуара минимизировано, он просто-напросто не нужен, ведь в ABR мы можем использовать фреймы с разным битрейтом и, соответственно, не накапливать биты в резервуаре (механизм работы ABR пояснен на примере выше). После вычисления PE и необходимого "дополнительного количества" бит, Lame просто выбирает минимальный битрейт в который укладывается полное необходимое количество бит (битрейт выбирается из таблицы). Остаток бит не выбрасывается, а накапливается в резервуаре.

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