Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше
Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике
5.4.2.1. Градуированное кодирование формы
Бинарное
кодирование формы (описанное в § 5.4.1.1) имеет существенные недостатки при
представлении видеосцен, составленных из многих объектов. Объекты и области
«натуральных» видеосцен могут быть просвечивающимися (частично прозрачными), а
бинарное кодирования допускает или полностью прозрачные («невидимые»), или
совершенно непрозрачные («глухие») объекты. Кроме того, часто бывает сложно
четко разделить или расчленить видеообъекты по пикселам (так как границы
объектов могут быть заданы нечетко). Особенно это бывает трудно сделать в
автоматическом или полуавтоматическом режиме. Например, на рис. 5.30 видно,
что края этого VOP «подчищены» не
полностью, что может вызвать нежелательные артефакты при их реконструкции с другими
видеообъектами.
Рис. 5.42. Градуированная альфа-маска граничного
макроблока.
Рис. 5.43. Граничный макроблок с градуированной
прозрачностью.
Градуированное
кодирование формы позволяет более гибко контролировать прозрачность объектов.
Каждый макроблок кодируется в градуированном альфа-плоскости. При этом каждый
пиксел может иметь маску, значение которой меняется от 0 до 255. Число 0
означает, что этот пиксел полностью прозрачен, а 255 указывает на полную
непрозрачность. Промежуточные значения соответствуют разной степени
прозрачности данного пиксела. Пример градуированной маски для граничного
макроблока показан на рис. 5.42. Прозрачность меняется от полностью прозрачной
(черный цвет пикселов) до совершенно глухой (белые пикселы). Отделенный
макроблок показан на рис. 5.43, и края объекта теперь «затухают постепенно»
(сравните с рис. 5.32). На рис. 5.44 дана реконструированная сцена, состоящая
из (прямоугольного) видеообъекта заднего плана и двух видеообъектов переднего
плана Объекты переднего плана идентичны за исключением их прозрачности. Левый
объект имеет бинарную, а правый — градуированную маску, которая позволяет этому
объекту более плавно сочетаться с задним планом на видеосцене. Другие применения
градуированной маски заключаются в представлении просвечивающихся, постепенно
проявляющихся и полупрозрачных объектов (например, на рис. 5.45).
Рис.
5.44. Сцена с объектами в бинарной (слева) градуированной (справа) альфа-маске.
Рис. 5.45. Видеосцена с полупрозрачным объектом.
Градуированная
альфа маска кодируется с использованием двух компонентов. Первый называется
бинарным носителем маски. Он обозначает полностью прозрачные (внешние но
отношению к данному видеообъекту) пикселы и полностью непрозрачные или полупрозрачные
пикселы (внутренние для данного объекта). А второй - это градуированная
альфа-плоскость. Рисунок 5.33 изображает бинарный носитель для градуированной
альфа-маски на рис. 5.42. Бинарный носитель маски кодируется так же, как и ВАВ
(см. § 5.4.1.1). Градуированная альфа-плоскость (отражающая степень прозрачности
внутренних пикселей видеообъекта) кодируется отдельно тем же методом, что и
текстура объекта (т.е. каждый блок 8 х 8 на альфа-плоскости преобразуется с
помощью DCT и кодируется далее
по обычной схеме). Декодер реконструирует альфа-плоскость (которая может не
быть идентичной исходной альфа-плоскости в силу огрубления квантованием) и
бинарный носитель маски. Если бинарный носитель указывает на то, что пиксел
лежит вне видеообъекта, то соответствующее значение на альфа-плоскости обнуляется.
Таким образом, граница объекта в точности сохраняется (так как бинарный
носитель кодируется без потери информации), в то же время как декодированная
альфа-плоскость (а значит, и информация о прозрачности объекта) может не
совпадать с исходной.
Большая
гибкость, обеспечиваемая кодированием альфа-градуированной формы, достигается
за счет уменьшения степени сжатия. Бинарное кодирование (формы требует передачи
блоков BАB для каждого
граничного макроблока, а кроме того, при кодировании градуированной маски
необходимо передавать данные градуированной альфа-плокости для каждого
полупрозрачного макроблока.