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

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


5.4. Кодирование областей произвольной формы

Кодирование объектов произвольной формы (см. § 5.2.3) требует расширения инструментов ядра кодека VLBV [4]. Каждый VOP кодируется на основании прогноза компенсации движения и преобразования DCT остаточного объекта, при этом особым образом обрабатываются границы объекта. Подобная процедура применяется для кодирования формы, представления компенсации движения и кодирования текстуры видеообъектов произвольной формы.

Кодирование формы: Форма объекта определяется с помощью альфа-блоков, покрывающих области размером 16 х 16 на видеосцене. Каждый альфа-блок может быть или полностью внешним по отношению к видеообъекту VO (тогда кодировать нечего), или внутренним (тогда он кодируется как в простом профиле), или пересекающимся с границей VO. В последнем случае необходимо задать край VO внутри альфа-блока. Информация о (форме определяется с помощью концепции «прозрачности». «Прозрачный» пиксел не является частью текущего VOP, «непрозрачный» пиксел принадлежит VOP и заменяет любой пиксел, лежащий «под» ним, а «полупрозрачный» пиксел является частью VOP и частично прозрачен. Информация о форме задается или бинарно (пиксел или прозрачен, 0, или не прозрачен, 1), или в шкале градации (прозрачность пиксела задается численно от 0, прозрачный, до 255, непрозрачный). Бинарная информация о форме границы макроблока кодируется двоичным альфа-блоком (ВАВ) с помощью арифметического кодирования, а информация о форме в шкале градации кодируется на основе компенсации движения и преобразования DCT.

Компенсация движения: Каждый VOP можно закодировать в виде I-VOP (без компенсации движения), P-VOP (компенсация движения на основе прогноза прошлого VOP) или B-VOP (компенсация движения с двунаправленным прогнозом). Компенсация движения для непрозрачных пикселов граничных макроблоков делается из подходящих ссылочных VOP, а граничные пикселы ссылочных VOP "подгоняются» к краям области для заполнения прозрачных пикселов с данными при оценке компенсации движения.

Кодирование текстур: Остаточные сэмплы компенсации движения («текстуры») внешних блоков кодируются с помощью преобразования DCT блоков 8x8, квантования и кодирования кодами переменной длины (см. § 5.3.2.1). Непрозрачные пикселы граничных блоков подгоняются к краям блоков 8 х 8 до совершения DCT.

Кодирование объектов произвольной формы обеспечивается базовым и основным профилями, которые расширяются профилем дополнительного эффективного кодирования и N-битным профилем (рис. 5.28).

Рис. 5.28. Инструменты и объекты для кодирования областей произвольной формы.

 



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