: архив : архив журнала "625" : 2000 : #7

Развитие методов сжатия видеоинформации для систем компьютерной видеоконференцсвязи
Дмитрий Елисеев, Владимир Селиванов

Системы компьютерной видеоконференцсвязи (КВКС) предназначены для обмена видео, аудио и, опциально, данными приложений между удалёнными пользователями. Другими словами, система КВКС представляет собой комплекс, выполняющий функции телефона, видеотелефона и рабочей станции (РС), оснащенный устройством, производящим обмен информацией с телекоммуникационной средой. Такие системы могут работать как в цифровых телефонных сетях с интеграцией услуг (ISDN), так и в обычных телефонных сетях общего пользования.

Появление стандарта WAP широкополосной технологии сотовой связи для доступа в Internet, создает перспективный рынок для продуктов КВКС со скоростью передачи данных, определяемой используемым стандартом сотовой телефонии и предопределяет период интенсивных исследований в области разработки новых эффективных методов сжатия изображений. Для систем КВКС, работающих по традиционным линиям связи, стандарты передачи видеоданных (Н.261 - Н.263) базируются на пространственно-временных методах сокращении избыточности, аналогичных стандартам MPEG-1, 2.

Хотя при реализации сеанса КВКС функция качества передачи видео имеет наименьший приоритет по отношению к другим видам передаваемой информации, тем не менее объективные требования к сохранению возможности передачи подвижного изображения с достаточным разрешением практически исчерпывают потенциальные резервы традиционных методов сжатия с частичной потерей информации. При использовании же видеоконференцсвязи в сотовых видеосистемах с достаточным для потребителя качеством необходимы принципиально новые подходы к кодированию изображений.

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

Плодотворность такого подхода к передаче изображений подтверждается использованием его при разработке нового поколения стандартов ISO MPEG-4 и MPEG-7 [1, 2], поддерживающих скорость видеопотоков в системах КВКС до 5 кбит/с. Эти стандарты можно рассматривать как переходный этап к новому качественному уровню, поскольку в них реализованы как классические, так и виртуальные технологии обработки видеосигнала. Дальнейшие исследования в этом направлении возможно позволят кардинально изменить взгляд специалистов на кодирование изображений. Учитывая, что в отечественной периодике, ориентированной на технических специалистов, этой проблематике пока не уделяется должного внимания, авторам показалось актуальным рассмотреть общие принципы кодирования, частично опираясь на уже существующие стандарты.

Технология объектно-ориентированного кодирования изображений

Главной особенностью кодирования изображения по стандарту MPEG-4 является использование в качестве рабочего материала не дискретных пространственно-временных компонент видеосигнала, а непосредственно семантической структуры видеообъекта, описываемого этим сигналом. Для реализации этого принципа применяется технология объектно-ориентированного кодирования (OBC - Object-based coding) [1, 3, 4].

При этом кодирование видеопотока может проходить по двум направлениям: для объектов неизвестной формы (OBASC - object-based analysis/synthesis coding) и для объектов известной формы (KBC - knowledge-based coding).

Технология кодирования OBASC осуществляет те же процедуры, что и кодер H.261, но в своей работе использует более сложные алгоритмы вычисления абсолютной погрешности вектора движения. Суть этой технологии состоит в том, что для движущегося изображения объекта делается попытка подбора ряда параметров (цвет, движение, форма), классифицирующих его как соответствующего некой модели (model compliant) или не соответствующего (model failed). В первом случае, на основе этой модели проводится синтез. Полученная модель может быть как двухмерной, так и трёхмерной (в зависимости от сложности исходного изображения). При этом в канал связи поступает только информация о смещении объекта во время движения.

Также на технологии ОВС основано применение методики область-ориентированного (region-based) кодирования, при которой в изображении производится поиск областей с одинаковыми яркостями. Далее производится объединение этих областей, тем самым описывается форма изображённого объекта.

В общем случае, в системах КВКС некоторые объекты появляются в поле зрения видеокамеры с большей вероятностью, чем другие. Естественно, речь идёт о голове и плечах пользователя и т. п.. Разработчики стандарта учли стереотипность данных объектов и для их описания применили технологию КВС. Во время кодирования происходит определения таких объектов и, в случае удачи, задаётся трёхмерная модель (wireframe model -"проволочный каркас"). Затем проводится адаптация полученной модели к параметрам реального объекта. Информация сокращается за счёт априорно известных данных об объектах, подвергаемых алгоритму КВС. Далее, как и в случае с использованием технологии OBASC, параметры окончательной модели передаются в канал связи. Дальнейшим развитием технологии КВС является использование семантического кодирования (semantic coding) - например, изображение головы может быть разбито на ряд малоподвижных элементов - глаза, рот, нос и т. п., каждый из которых может быть описан собственным "синтетическим" подобием [1, 3, 4].

Для описания черт лица в MPEG-4 установлены наборы управляющих параметров (Facial Definition Parameter - FDP), а для его анимации (Facial Animation Parameter - FAP). При этом широко используется интерполяция с помощью контрольных точек (узлов) в сетке, накладываемой на исходный изображаемый объект. Специально выбираются те точки, которые отвечают за какие-либо эмоции. Таким образом, в граничном случае, можно создать виртуальный персонаж, являющийся изображением удаленного пользователя сеансом КВКС.

Программирование виртуальной реальности

Для описания композиции трёхмерных моделей в кадре используется вариант языка программирования виртуальной реальности VRML 2.0. (Virtual Reality Modeling Language). На рис. 1 представлен трёхмерный объект, который может быть описан в синтаксисе VRML 2.0.

Данный язык предназначен для создания трёхмерных объектов и является одним из самых перспективных языков в области программирования виртуальных пространств [4].

VRML-файл представляет собой описание VRML-объектов в текстовом виде. Файл содержит информацию о том, как должны быть отображены различные объекты, где они должны находиться, какого они будут цвета, а также другие необходимые данные.

Вместо термина "VRML-файл" часто используют термин "VRML-мир". Такие миры формируются из объектов, свойств и групп (составных объектов). Эти базовые конструкции называются узлами. Каждый VRML-файл должен содержать хотя бы один узел. Список всех узлов VRML-файла называется графом описания сцены (scene graph), поэтому все VRML-документы тоже можно назвать графами описания сцен [4].

Если говорить упрощённо, то данные в VRML-формате просто описывают объекты. Теоретически эти объекты могут быть, например, JPEG-файлами или трёхмерными геометрическими изображениями. Так как в языке VRML определено множество объектов, то не удивительно, что он классифицируется как объектно-ориетированный, подобно языку Java или C++. Несмотря на то, что эти языки различаются по сложности, все они основаны на использовании базового понятия объекта как универсальной многократно используемой единицы.

Существуют три основных класса узлов:

- property (свойства);
- shape (форма);
- group (группа).

Для хранения необходимых данных в узлах выделяются специальные поля. Узлы и их поля определяют форму и цвет отображаемых объектов, местоположение изображения, а также другие свойства, используемые при построения трёхмерной сцены, описанной в VRML-файле.

В VRML графическая подсистема является связующим звеном между устройствами вывода и прикладной программой (базой данных коэффициентов узлов сетки трёхмерного фрагмента лица, кодируемого по MPEG-4).

Для выполнения VRML-файла и вывода трёхмерного изображения на экран требуется серия процессов (обычно называемых "конвейером") с последующей трансляцией результата в двухмерный вид. Рассмотрим стадии конвейера построения изображений [5]:

- определение состояния объекта (situation modeling). Эта часть программы не имеет прямого отношения к компьютерной графике, она моделирует ту сцену, которая будет отражаться в дальнейшем. В нашем случае это ввод параметров, определяющих положение человеческого лица;
- определение соответствующих текущему состоянию геометрических моделей (geometry generation). Эта часть конвейера создаёт геометрическое представление текущей ситуации нашей пространственной сцены;
- разбиение трёхмерной модели на примитивы (tessellation) - первый действительно зависимый от производительности графической системы этап. Здесь на основе информации, полученной на предыдущем шаге конвейера, создаётся внешний вид объектов в виде набора определённых примитивов. В данном случае под примитивами понимают плоские многоугольники, из которых можно составить трёхмерную фигуру любой сложности. Наиболее распространённый примитив - треугольник, и главным образом с треугольником работает современное программное обеспечение и графические ускорители;
- привязка атрибутов -текстур, освещения и т. д. (attribute definition). На этой стадии определяется, как будут освещены геометрические примитивы (треугольники), а также какие и каким образом на них в дальнейшем будут наложены текстуры (texture - изображение, передающее внешний вид материала объекта, негеометрическую визуальную информацию). Как правило, на этом этапе информация вычисляется только для вершин примитива;
- видовые геометрические преобразования (proection). Здесь определяются новые координаты для всех вершин примитивов, исходя из положения наблюдателя и направления его взгляда. Сцена как бы проецируется на поверхность экрана, превращаясь в двумерную, хотя информация о расстоянии от наблюдателя до вершин сохраняется для последующей обработки;
- отбрасывание невидимых примитивов (culling). На этой стадии из списка примитивов исключаются полностью невидимые (оставшиеся позади или сбоку от зоны видимости, иногда повёрнутые обратной гранью) примитивы. Эта операция необходима, если лицо пользователя в данный момент поворачивается и пропадает необходимость показывать невидимую часть лица;
- установка примитивов (setup). Здесь информация о примитивах (координаты вершин, наложение текстур, освещение и т. д.) преобразуется в вид, пригодный для следующей стадии (например, в целые числа фиксированной длины, с которыми работает графический ускоритель; это могут быть координаты точек буфера экрана или текстур);
- закраска примитивов (fill) - этап собственно построения в буфере кадра (памяти, отведённой под результирующее изображение) картинки на основе информации о примитивах, сформированной на предыдущей стадии конвейера, и прочих данных (таких, как текстуры, освещённость и пр.). Как правило, на этой стадии для каждой точки закрашиваемого примитива определяется её видимость, например, с помощью буфера глубин (Z-буфера), и, если она не заслонена более близкой к наблюдателю и непрозрачной точкой другого примитива, вычисляется её цвет - на основе информации об освещении и наложении текстур, определённой ранее для вершин данного примитива;
- финальная обработка (post processing) - обработка результирующей картинки как единого целого какими-либо двухмерными эффектами (например, полноэкранным сглаживанием).
Конечным выполнением этих процедур является формирование трёхмерного изображения головы (рис. 1) [6].

Рисунок 1.Формирование 3-D объекта, описанного средствами языка VRML. Изменяя координаты узлов сетки, можно создать иллюзию движений мышц лица трёхмерной модели головы

Необходимо отметить, что MPEG-4 совместим с MPEG-2 и Н.261. Поэтому он способен работать и с традиционными процедурами сжатия. В этом случае применяются процедуры так называемого "кадрового кодирования" (frame based) - MPEG-4-FB, опирающегося на кодирование отсчётов видеосигнала (как и в MPEG-1,2), в отличие от объектно-ориентированного (Object Based) подхода MPEG-4-OB, рассмотренного выше. При этом, в зависимости от потребностей пользователя, возможно использование разных скоростей цифрового потока. В случае КВКС используется уровень низкоскоростной передачи данных VLBV (Very Low Bit-rate Video), который рассчитан на битовый поток, распространяющийся со скоростями от 5 до 64 кбит/с.


Рисунок 2

На рис. 2 приведена обобщённая структурная схема видеокодера MPEG-4, в котором, кроме уже знакомых устройств обработки видеосигнала, присутствует блок кодирования видеобъектов произвольной формы. Благодаря тому, что в нём применяются вышеизложенные технологии ОВС, удаётся существенно снизить проявление искажений, возникающих на границах подвижного блока и неподвижного изображения, а также значительно снизить объём передаваемой информации [3, 4].

Метаданные в видеопотоке

Дальнейшим проектом группы MPEG, который, возможно, найдёт своё отражение в применении к системам КВКС, стал новейший стандарт MPEG-7 [2]. Официальное название стандарта - "Multimedia Content Description Interface" ("Интерфейс описания мультимедийного содержания потока данных"). Он предназначен для соединения метаданных с мультимедиа. Этот стандарт реализует абстрактную модель, реализующую так называемое "познавательное кодирование" (cognitive coding). Цель подобного кодирования - внесение в общий цифровой поток аудио и видеоданных определённых дескрипторов или описателей (descriptors), позволяющих автоматически или по требованию определять содержание принимаемых данных, осуществлять поиск и/или фильтрацию данных, сформировывать определённые последовательности действий и т. д., в зависимости от используемой мультимедийной схемы описания (Multimedia Description Schemes).

В качестве примера возможного использования этой особенности MPEG-7 в системах КВКС можно привести более эффективную работу в асинхронных ЛВС. Действительно, большинство сетевых протоколов плохо работает с мультимедийным трафиком (к которому относятся приложения видеоконференцсвязи), что вызывает большие сложности с организацией многоточечных сеансов видеосвязи. Однако, если каким-то образом помечать аудио-визуальные потоки, распространяемые по сети, определяя тем самым повышенный приоритет этих данных перед остальными, можно добиться более устойчивого сеанса видеосвязи. При этом формирование "помеченного" потока данных происходит уже в прикладном уровне хорошо известной открытой системы OSI, и не зависит от разнообразия типов используемого программного обеспечения.

Мультимедийный поток, поступающий на вход кодера MPEG-7, подвергается кодированию по определённым мультимедийным схемам описания (Multimedia Description Schemes) - DS. Например, существуют схемы таких типов, как:

- семантическая DS, основанная на семантическом описании, которое интерпретирует в потоке аудиовизуальных данных объекты, действия, события, то есть всё то, что характеризует реальный мир;
- структурная DS, основанная на структурном представлении. Она описывает структуру аудио-визуальных данных, т. е. отдельные области изображения, кадры, сегменты и пространственно-временные соотношения;
- модельная DS, описывающая особые классы и их связи с семантической информацией;
- DS навигации и доступа - специальная схема, с помощью которой проводится навигация и осуществляется доступ и просмотр, обеспечивающая структурное изложение и управление различными вариациями аудио-визуальных программ.

Следует отметить, что стандарт MPEG-7 позволяет формировать любые новые схемы описания, используя возможности языка программирования Description Definition Language (DDL - язык определения описания). С помощью этого языка описываются особенности, присущие текущему типу аудио-визуальных данных. При этом описании используются дескрипторы, определяющие синтаксис и семантику текущих особенностей. А набор дескрипторов со связями между ними определяет схему описания.

Дескрипторы, применяемые для описания визуальных объектов в MPEG-7, охватывают четыре компонента: цвет, текстуру, форму и движение. Эти дескрипторы выделяются и описываются с помощью двух базовых структур: сетки-схемы и гистограммы.

1Рисунок 3

Сетка-схема предназначена для разделения изображения на ряд прямоугольных областей с целью отдельного описания каждой области. Для описания этих областей используются простейшие дескрипторы.

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

Схема, приведённая на рис. 3, представляет обобщённую модель кодирования мультимедийного потока по стандарту MPEG-7.

Субъективная оценка качества MPEG-4

Рассмотрим результаты тестирования, проводимые тестовой группой ISO, целью которого было определения субъективного качества воспроизводимых видеопотоков, кодированных по стандарту MPEG-4 [7]. При сжатии исходных видеоданных использовались два набора алгоритмов кодирования: для кадрового кодирования MPEG-4-FB и объектно-ориентированного кодирования MPEG-4-OB. Некоторые исходные данные для тестирования показаны в табл. 1.

Таблица 1. Видеофрагменты для тестирования
 
Условия тестирования
Низкоскоростной цифровой поток
Высокоскоростной цифровой поток
Видеофрагменты
Новости, ребенок, береговая охрана
Певец, танцор, Стефан
Разрешение
CIF (352x288)
CIF (352x288)
Видеопоток, кбит/с
256
384
512
768
1150
Частота кадров на входе, Гц
10
25
Управление скоростью потока
MPEG-4
MPEG-4

Декодированные видеопоследовательности демонстрировались зрителям в формате CIF на экране монитора [7]. Предъявлялись пары видеофрагментов, состоящие из декодированного видео MPEG-4-FB и MPEG-4-OB. Параллельно демонстрировалось оригинальное видеоизображение. Задача зрителей состояла в обнаружении различий между видеоизображениями демонстрируемых пар и оригиналом. Субъективная оценка, результаты которой приведены в табл. 2, осуществлялась по следующей пятибалльной шкале:

5 - незаметное различие,
4 - заметное, но не раздражающее различие,
3 - незначительно раздражающее различие,
2 - раздражающее различие,
1 - сильно раздражающее различие.

После обработки результатов тестирования были получены данные, представленные в табл. 2 и 3 [7].

Таблица 2. Результаты тестовой сессии для низкоскоростного цифрового потока
Видеопоток
Новости
Ребенок
Береговая охрана
Средняя оценка
256 FB
4,389
2,333
3,167
3,296
256 OB
4,333
2,944
2,611
3,296
384 FB
4,167
3,667
3,056
3,630
384 OB
4,389
3,444
3,278
3,704

Таблица 3. Результаты тестовой сессии для высокоскоростного цифрового потока
Цифровой поток
Танцор
Певец
Стефан
Средняя оценка
512 OB
4,778
3,944
3,444
4,056
512 FB
4,889
4,833
3,667
4,463
768 OB
4,778
4,944
4,222
4,648
768 FB
4,833
4,944
3,722
4,500
1150 OB
4,833
4,889
4,167
4,630
1150 FB
4,722
4,667
4,111
4,500

Анализ полученных результатов показывает, что, несмотря на принципиально различные подходы, реализуемые в стандарте MPEG-4, субъективное качество результирующих изображений оказывается сравнимым при различных скоростях видеопотока, что подтверждает эффективность этого подхода. Потенциальные же возможности объектно-ориентированного подхода в наибольшей степени ограничиваются производительностью кодека, нежели шириной полосы пропускания канала связи.

Наиболее существенной проблемой при реализации данного подхода является задача разложения представляемого изображения на примитивы, служащие базисом трёхмерной модели объекта. Это проблема сопоставима по своей алгоритмической сложности с фрактальным методом сжатия. Необходимо подчеркнуть, что этот подход в наибольшей степени согласован с психофизиологическими особенностями зрительного восприятия. Очевидно, что теоретические и практические проблемы могут быть снижены при ограничении классов передаваемых изображений. Применительно к системам КВКС таковым является всё множество изображений лиц абонентов, которые описываются конечным числом примитивов.

Литература:

1. ISO/IEC JTC1/SC29/WG11, Coding of moving pictures and audio, Dec. 1999
2. ISO/IEC JTC1/SC29/WG11, Overview of the MPEG-7 Standard, March 2000
3. В.С. Синепол, И.А. Цикин, Системы компьютерной видеоконференцсвязи. -
М.: Мобильные коммуникации, 1999, - 166 с.
4. Э. Титтел и др. Создание VRML-миров. -М.: BHV, 1997, - 376 с.
5. А. Медведев, Прикладная теория Принцев и Нищих… Компьютерра №41, 1998, с. 20.
6. P. Ratner, 3-D Human Modeling and Animation, http://www.highend3d.com/maya/tutorials/peter/model1.3d
7. ISO/IEC JTC1/SC29/WG11, Report of the formal verification tests on MPEG-4 Content Based, March 1999

 

Замечания и предложения по работе сервера направляйте: web.master at 625-net.ru.

© 1996—2009 «Издательство 625». Все права защищены.

e-mail: magazine at 625-net.ru, тел./факс: (495) 691-7724, 695-9588.

Свидетельство о регистрации средства массовой информации Эл № 77-2794.