- •Кратко об истории и характеристиках стандартов mpeg
- •1.Введение
- •1.1.Феномен мрз
- •1.2.Что такое формат мрз
- •1.3.Качество записи мрз
- •1.4.Формат мрз и музыкальные компакт-диски
- •1.5.Работа со звукозаписями формата мрз
- •2.Основные понятия цифровой звукозаписи
- •2.1.Натуральное цифровое представление данных
- •2.2.Кодирование рсм
- •2.3.Стандартный формат оцифровки звука
- •2.4.Параметры дискретизации
- •2.5.Качество компакт-диска
- •2.6.Объем звукозаписей
- •2.7.Формат wav
- •3.Формат mp3
- •3.1.Сжатие звуковых данных
- •3.2.Сжатие с потерей информации
- •3.3.Ориентация на человека
- •3.4.Кратко об истории и характеристиках стандартов mpeg.
- •3.5.Что такое cbr и vbr?
- •3.6.Каковы отличия режимов cbr, vbr и abr?
- •3.6.1.Вступление
- •3.6.2.Cbr
- •3.6.3.Abr
- •3.6.4.Vbr
- •3.7.Методы оценки сложности сигнала
- •3.7.1.Методы оценки сложности сигнала: метод 1 (vbr)
- •3.7.2.Методы оценки сложности сигнала: метод 2 (abr / cbr)
- •3.8.Какие методы кодирования стерео информации используются в алгоритмах mpeg (и других)?
- •3.9.Какие параметры предпочтительны при кодировании mp3?
- •3.10.Какие альтернативные mpeg-1 Layer III (mp3) алгоритмы компрессии существуют?
- •4.Формат заголовка mp3-файлов
- •4.1.Таблица sample rate
- •4.2.Таблица mode extension
- •4.3.Таблица bit rate (kBit/s)
- •4.4.Описание инфоpмационного тэга
- •5.Литература
3.6.3.Abr
Пояснение:Можно было бы сказать, что резервуар неплохо справляется со своей основной обязанностью - накопление "лишних" битов во время простых пассажей и их выдача в качестве дополнительных при кодировании сложных пассажей, если бы не одно "но": он обладает конечным и, причём, весьма ограниченным размером, что означает, что копить его можно лишь до определенных пределов, и вынимать, соответственно, тоже, пока резервуар не опустошится. Именно для того чтобы убрать этот главный недостаток резервуара и был разработан ABR.
Главное отличие ABR от CBR в том, что в CBR все фреймы обязаны быть одного размера (то есть битрейт для всех фреймов должен быть одинаков), в ABR же это ограничение снято, соответственно, существует возможность вместо стандартного весьма ограниченного по размеру резервуара использовать практически бесконечный "виртуальный" резервуар. Выглядит это приблизительно следующим образом.
Механизм:Допустим, что пользователь указал режим ABR и определенный битрейт B (пользователь может указывать абсолютно любой битрейт от 32 до 320, даже не из стандартной сетки битрейтов, например можно указать в качестве желаемого среднего битрейта 129). Кодер принимает кусок аудио (фрейм), который необходимо закодировать. Таким же образом, как и в CBR, определяет его сложность (об этом мы поговорим ниже). Если пассаж сложный, то кодер также берёт на него больше битов, но уже не из резервуара (как в CBR), а просто-напросто увеличивая битрейт на необходимое количество ступеней (выбранный битрейт должен входить в сетку стандартных), создавая таким образом "виртуальный резервуар" (поднять битрейт здесь можно - это не CBR). Что значит "виртуальный резервуар"? Это просто: мы предположили, что указанного пользователем битрейта B кодеру мало, ему нужно K бит (K > B), тогда кодер подбирает такой минимальныйстандартныйбитрейт N, при котором выполняется: N >= K (такой выбор битрейта мы и называем "виртуальный резервуар"). Затем происходит кодирование с помощью K бит взятого куска аудио. Однако N >= K, то есть мы использовали меньше бит, чем есть во взятом фрейме, так не будем же мы выбрасывать эти лишние биты? Вот эти лишние биты мы и записываем в уже настоящий резервуар. Так как в ABR есть возможность использовать "виртуальный резервуар" не имеет смысла строить стандартный резервуар, поэтому когда придет следующий кусок аудио, для его кодирования сначала будут использованы биты из резервуара, а потом кодер решит какой битрейт необходим дальше. Другими словами, если в CBR кодер все время старается накопить как можно больше бит в резервуаре, то в ABR кодер наоборот, старается избавиться от бит в резервуаре, так как копить их незачем - можно просто поднять битрейт.
Простые пассажи кодируются меньшим количеством бит, на них берётся примерно 95% от указанного битрейта B, но теперь остаток не откладывается в резервуар, кодер просто берёт фрейм с меньшим битрейтом. Возникающая разница (оставшиеся биты) записывается в стандартный резервуар (не выбрасывать же оставшиеся биты...). Пример. Допустим, пришел "простой" пассаж. Тогда кодер берет все биты (если таковые есть) в резервуаре (настоящем), потом ищет ближайший стандартный битрейт, при котором суммарное количество бит, получившееся для этого фрейма (все биты из резервуара + взятый битрейт), составит 95% от заданного пользователем битрейта B, производит кодирование, а лишние биты (если они остались) снова сохраняет в резервуаре.
Итог:Таким образом, использование резервуара в ABR отлично от CBR. В CBR битрейт менять нельзя и резервуар специально копят путем сохранения там бит, которые остались (были сэкономлены) от кодирования фрейма на заданном изначально фиксированном битрейте во время простого пассажа; если для кодирования нужны биты и резервуар пуст - то пуст, ничего с этим поделать нельзя и кодирование идет просто на указанном битрейте в ущерб качеству. В ABR битрейт переменный и стандартный резервуар фактически не нужен, однако поскольку поднятие (опускание) битрейта происходит обязательно до определенноготабличногозначения, которое может оказаться выше необходимого кодеру количества бит, то лишние биты, конечно, не выбрасывают, а сохраняют в резервуаре. Иными словами, в CBR накопление стандартного резервуара - основная задача, в ABR же есть неограниченный "виртуальный резервуар" и стандартный используется только для хранения лишних бит, образовавшихся в результате разницы между табличными значениями битрейтов и реально необходимым битрейтом.