4.3. Использование стандарта
Документация стандарта MPEG-4 Visual (Second Edition) содержит 539 страниц формата А4, стандарт Н.264 изложен на 250 станицах того же формата. Стандарты сосредоточены на деталях, чтобы добиться наилучшей совместимости и согласованности систем и продуктов на их основе. Однако степень детализации в документах стандартов мешает извлечению из них необходимой информации. В этом параграфе будет дан обзор содержимого стандартов и будут даны рекомендации, как их интерпретировать и применять.
4.3.1. Что кодирует стандарт
Так же как и более ранние стандарты видеокодирования, MPEG-4 Visual и Н.264 не дают описания видеокодеков. Вместо этого стандарты подробным образом объясняют синтаксис кодированного битового потока (двоичные коды и значения, из которых состоит поток), семантику элементов этого синтаксиса (что они означают) и процесс, на основании которого можно декодировать элементы синтаксиса и извлекать из них визуальную информацию.
Пример
MPEG-4 Visual, синтаксис блока коэффициентов. Блок квантованных и записанных в форме «серия значение» коэффициентов DCT представляется в MPEG-4 Visual в виде битового потока с помощью синтаксиса, показанного на рис. 4.1 (Простой профиль и мода с коротким заголовком). Смысл (семантика) элементов синтаксиса состоит в следующем.
intra_dc_coefficient: Код фиксированной длины, определяющий значение коэффициента DC (0,0).
DCT coefficient: Код переменной длины, задающий значения «серия», «значение», «конец». «Серия» число нулей, предшествующих ненулевому значению квантованного коэффициента. «Значение» величина ненулевого коэффициента. «Конец» флаг, указывающий на последний ненулевой коэффициент в блоке.
Стандарт описывает, как правильно декодировать элементы исходных данных (коэффициенты, серии нулей и конец), имея коды фиксированной и переменной длины.
Рис. 4.1. Синтаксис блока в MPEG-4 Visual.
|
Специфицировав синтаксис и семантику кодового потока, стандарт определяет, что в нем допустимо, а что - нет. Правильный кодер должен производить битовый поток, который может быть корректно декодирован с помощью предписанного стандартом процесса декодирования. Вместе с синтаксисом, семантикой и процессом декодирования в обоих стандартах описывается также гипотетический рекомендуемый декодер, который вместе с некоторыми заданными уровнями операций накладывает определенные практические ограничения на конкретный кодер. Эти ограничения включают, например, максимальную битовую скорость кодирования, максимальный размер изображения и т.п. Все это важно с точки зрения ограничений на объем памяти и вычислительные ресурсы, используемые декодером.