Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


6.4.3. Слои

Битовый поток, сгенерированный по базовому профилю, содержит слои I и/или Р. Слой I состоит только из макроблоков, закодированных в моде intra (прогноз делается только по сэмплам этого же снимка, см. § 6.4.6), а слой Р может иметь макроблоки inter (прогноз делается по ранее закодированным снимкам, см. § 6.4.5), макроблоки intra или пропущенные макроблоки. Когда в битовом потоке появляется сигнал пропущенного макроблока, для этого макроблока дальнейшие данные в битовый поток не посылаются. Декодер вычисляет вектор для пропущенного макроблока (см. § 6.4.5.3) и реконструирует макроблок с помощью прогноза компенсации движения по первому ссылочному снимку из списка 0.

Кодер стандарта Н.264 может опционно помещать ограничитель снимка - единицу RBSP на границу между снимками. Это указывает на начало нового кодированного снимка и, кроме того, дает возможность обозначить допустимые типы слоев в следующем снимке. Если ограничитель снимка не используется, декодер может обнаружить появление нового снимка с помощью заголовка первого слоя этого снимка.

Лишний кодированный снимок. Снимок, помеченный как «лишний», содержит избыточное представление части или всего закодированного снимка. В обычной ситуации декодер реконструирует кадр из «первичных» (неизбыточных) снимков и игнорирует все лишние снимки. Однако, если первичный снимок был испорчен (например, из-за ошибок в канале передачи), декодер может попытаться заменить испорченную область декодированными данными из избыточного снимка.

Произвольный порядок слоев (ASO). Базовый профиль допускает произвольный порядок слоев ASO (Arbitrary Slice Order). Это означает, что слои кодируемого кадра могут следовать в любом порядке декодирования. Использование ASO можно распознать, если первый макроблок в любом слое декодируемого кадра имеет меньший адрес макроблока, чем первый макроблок из ранее декодированного слоя на том же снимке.

Группы слоев. Группой слоев называется подмножество макроблоков закодированного снимка. Она может состоять из одного или нескольких слоев. Внутри каждого слоя, принадлежащего группе, макроблоки кодируются в растровом порядке. Если для данного снимка используется только одна группа слоев, то все макроблоки кодируются в порядке растрового сканирования (за исключением случаев, когда используется ASO, см. выше). Использование нескольких групп (описанное в предыдущих черновых версиях стандарта как гибкий порядок макроблоков FMO, Flexible Macroblock Ordering) дает возможность отображать последовательность закодированных макроблоков на декодированном снимке несколькими возможными способами. Размещение макроблоков задается картой макроблоков в группе слоев, где указывается, какой группе слоев принадлежит каждый блок. В табл. 6.3 перечислены разные типы карт распределения макроблоков по группам слоев.

Пример

Используется 3 группы слоев и тип карты «чередование» (рис. 6.6). Закодированный снимок состоит из трех групп слоев: группы 0, группы 1 и группы 2 (они помечены на рисунки своими номерами). Использование нескольких групп слоев подразумевает определенную устойчивость против ошибок. Например, если одна из групп слоев при рассеянном отображении (см. рис. 6.6) будет «испорчена» ошибками, то недостающие данные могут быть получены интерполяцией по сохранившимся группам слоев.

Рис. 6.6. Группы слоев: перемежение (QCIF, три группы).

Рис. 6.7. Группы слоев: рассеивание (QCIF, четыре группы).

Рис. 6.8. Группы слоев: передний план и задний план (четыре группы).

Рис. 6.9. Группы слоев: квадрат и его внешность, растровый порядок и стирание.

 



<< ПредыдущаяОглавлениеСледующая >>