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

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


7.2. Функциональный дизайн

На рис. 3.50 и 3.51 показаны блок-схемы типичного видеокодера и видеодекодера на основе компенсации движения и поблочного преобразования. Конкретные кодеки для стандартов MPEG-4 Visual и H.264 должны реализовывать некоторые или все функциональные элементы, обозначенные на этих рисунках (даже если структура кодека отличается от изображенной). Для того чтобы добиться полного соответствия стандартам MPEG-4/H.264 и одновременно получить высокую степень сжатия и хорошую вычислительную производительность системы, необходимо самым тщательным образом проработать все функциональные блоки кодека. Целью дизайна функциональных блоков является достижение хорошего соотношения скорость/искажение (см. § 7.4.3) при сохранении на приемлемом уровне требуемых вычислительных ресурсов.

Такие функции, как оценка движения, преобразование блоков и энтропийное кодирование, могут быть весьма вычислительно емкими. Многие реальные компьютерные платформы, использующие сжатый видеоматериал, имеют определенные ограничения по мощности процессоров и по объему памяти, поэтому крайне важно при конкретных разработках всегда держать в уме эти ограничения. В этом параграфе мы обсудим возможные подходы и альтернативы при разработке основных функциональных блоков видеокодеков.

7.2.1. Сегментация

Функционирование MPEG-4 на основе объектов (используемое базовым, основным и другими профилями) требует сегментации (разделения) видеосцены на видеообъекты. Методы сегментации распадаются на три категории.

1. Ручная сегментация: для этого требуется оператор, т.е. человек, который в ручном режиме обозначит границы каждого видеообъекта на каждом кадре видеоисточника. Это весьма трудоемкий процесс, который, очевидно, можно применить только к видеоконтенту, полученному в режиме off-line (т.е. когда видео отснято и сохранено до его кодирования или передачи по сетям). Такой подход может пригодиться, например, при сегментации важных визуальных объектов, которые будут демонстрироваться многим зрителям или много раз повторяться в сочетании с другими видеопоследовательностями.

2. Полуавтоматическая сегментация: человек-оператор обозначает объекты и, возможно, границы объектов на одном кадре, а затем некоторый алгоритм сегментации уточняет (при необходимости) границы объектов и отслеживает видеообъекты на последующих кадрах.

3. Автоматическая сегментация: алгоритм пытается выполнить полную сегментацию визуальной сцены без вмешательства человека, основываясь, например, на пространственных характеристиках, таких как стороны и края, или на временных характеристиках вроде перемещения объектов по кадрам.

Полуавтоматическая сегментация [1, 2] потенциально дает лучшие результат, чем полностью автоматическая, но требует пользовательского вмешательства. Для автоматической сегментации было разработано большое число алгоритмов. Можно сказать, что лучшую сегментацию можно получить, затратив больший объем вычислений. Некоторые весьма продвинутые алгоритмы сегментации могут потребовать значительно больших вычислений, чем сам процесс видеокодирования. Достаточно приемлемая сегментация получатся с помощью так называемых пространственно-временных методов (см., например, [3]), в которых грубая предварительная сегментация делается на основе пространственной информации, которая затем уточняется по мере движения объектов. Замечательных результатов сегментации можно достигнуть, контролируя процесс съемки (например, если телеведущий стоит на голубом фоне), однако большинство естественных сценариев организованы не столь просто.

На выходе процесса сегментации получаются последовательности кадров-масок для каждого видеообъекта VO, и в каждом таком кадре содержится бинарная маска одного VOP (см., например, рис. 5.30), определяющая обработку макроблоков и блоков и которая кодируется в виде ВАВ для каждого граничного пиксела макроблока.

 



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