УДК 6S1.3.G1
П.П.Кравченко, Н.Ш.Хусаинов, А.Н.Шкурко АРХИТЕКТУРА ПРОГРАММНОЙ СИСТЕМЫ ВИДЕОКОНФРЕНЦСВЯЗИ "ДЕЛЬТА-КОНФЕРЕНЦИЯ"
Интенсивное развитие информационных технологий в области управления предприятием и производством, базирующееся на использовании локальных сетей, растущая потребность в оперативных аудиовидеокоммуникациях и обмене данными в реальном масштабе времени между несколькими сотрудниками обосновывает актуальность использования эффективных средств многосторонней связи, отличающихся простотой в использовании, набором необходимых функциональных возможностей, доступной ценой. По существу, сформировалась потребность в простом в установке и использовании, дешевом и программно реализуемом "офисном компьютерном аудиовидеотелефоне".
Наиболее известные и популярные системы конференцсвязи для IP-сетей (NetMeeting фирмы Microsoft, CU-SeeMe фирмы WhitePine, LiveLAN фирмы PictureTel и др.) характеризуются следующими недостатками:
- организация многоточечной аудиовидео- и документ-конференции невозможна без использования выделенного специального модуля (устройства) многоточечной конференции (MCU);
- относительно высокая трудоемкость существующих алгоритмов компрессии аудио- и, особенно, видеоинформации и, следовательно, их низкая эффективность при одновременной работе с несколькими медиапотоками;
- ориентация аудио- и видеокодеров на поддержание постоянной скорости выходных потоков независимо от реальной текущей (динамически изменяющейся) пропускной способности канала связи;
- высокая стоимость существующих систем многоточечной конференцсвязи.
Решение указанных проблем предлагается авторами в новой программной системе многоточечной конференцсвязи для локальных и корпоративных IP-сетей, разрабатываемой в рамках комплексного проекта № 2.37.G4.G2.19 "Высокоинформативные системы передачи аудиовизуальной информации. Аппаратно-программные и испытательные комплексы высокоинформативных систем передачи с цифровой компрессией" (ведущая организация -
Всероссийский НИИ телевидения и радиовещания (ОАО ВНИИТР), государственный контракт № 37.G23.11.GG37 от 01.02.2002г.).
При этом особое внимание уделяется вопросам аудиокомпрессии, видеокомпрессии, управления скоростью выходного потока аудиовидеокодера, временной синхронизации и программной реализации модулей системы многоточечной конференцсвязи [1]. Ниже рассматриваются некоторые основные аспекты архитектуры и программной реализации разработанной системы ВКС "Дельта-конференция".
Обобщенная структура терминала системы ВКС
Одним из принципиальных отличий разработанной системы ВКС является от использования какого-либо выделенного специализированного модуля управления видеоконференцией MCU. Взаимодействие осуществляется между
программными терминалами, имеющими одинаковый набор функциональных программных модулей, предназначенных для решения задач захвата, кодирования, синхронизации, буферизации, передачи, приема, декодирования и воспроизведения медиаданных, а также управления качеством кодирования видео и аудиопотоков.
Для обмена сигнальной и управляющей информацией в реальном масштабе времени используются логические каналы управления и контроля, организуемые в виде полного графа на базе протокола TCP/IP (протокол с гарантированной доставкой пакетов). Обмен медиаданными выполняется с использованием широковещательных пакетов, что позволяет значительно повысить эффективность использования канала связи.
Терминал фактически представляет собой самостоятельный экземпляр приложения, функционирующий на персональном компьютере каждого пользователя, участвующего в конференции. Все терминалы идентичны друг другу и, как показано на рисунке 1, содержат модули контроля и управления, чтения информации об установленном оборудовании, трансмиттер, ресивер(ы), модули сетевого интерфейса и взаимодействия с пользователем. Идентичность всех модулей и наличие в каждом из них подсистемы контроля и управления конференцией позволяет отказаться от использования выделенного программного или аппаратно-программного устройства управления многоточечной конференции (MCU) и реализовать распределенное управление конференцией.
Рис.1. Структурная схема терминала ВКС
Модули передающего и приемного терминала (трансмиттеры и ресиверы) реализуют функции терминала, связанные с обработкой, приемом и передачей медиаданных. Ресивер и трансмиттер обмениваются медиаданными с соответствующими модулями других терминалов только посредством иОР-протокола. Для обработки медиапотока, получаемого от каждого подключенного терминала существует собственный ресивер. Терминал может содержать единственный трансмиттер.
Модуль сетевого ТСР-интерфейса реализует алгоритмы взаимодействия с другими терминалами системы по логическим каналам ТСР для передачи и приема управляющей, контрольной и статусной информации, источником или получателем которой является модуль управления конференцией.
Модуль чтения информации об оборудовании позволяет получить сведения об установленных аппаратно-программных средствах ввода/вывода, кодирования и декодирования аудио и видеоданных. Эта информация необходима для обеспечения правильной генерации сообщений, предназначенных модулю управления конференцией, расширения возможностей по управлению конференцией, предоставленных пользователю, упрощению процедуры конфигурирования и настройки системы.
Основным модулем, выполняющим функции управления конференцией, является модуль управления конференцией, управляющий функционированием всех остальных модулей. В его основные функции входит:
- инициирование, завершение и распределенное управление конференцией;
- управление приемом и передачей данных;
- поддержание (посредством ТСР-интерфейса) постоянного логического соединения со всеми подключенными терминалами и обмен с ними управляющими и информационными сообщениями;
- контроль состояния и управление параметрами функционирования подчиненных модулей терминала.
Модуль обработки событий пользовательского интерфейса организует взаимодействие между терминалом и пользователем и обеспечивает ввод данных с клавиатуры (установка параметров конференции, кодирования аудио и видеопотоков и т.п.) и вывод статусной информации на экран.
Схемы взаимодействия терминалов ВКС
Функционирование системы ВКС основано на взаимодействии отдельных терминалов посредством 1Р-сети с коммутацией пакетов. Реализуемые сетевые протоколы поддерживают два способа обмена данными: с гарантированной доставкой данных между терминалами (ТСР-соединение в рассматриваемой системе) и с негарантированной доставкой данных (ЦОР-канал). Коммуникации между терминалами осуществляются в соответствии с принятыми в системе и поддерживаемыми всеми терминалами управляющими, информационными сигналами и форматами медиапотоков.
В процессе работы многоточечной конференции между любыми двумя терминалами существует постоянное логическое двустороннее ТСР-соединение, по которому могут передаваться управляющие сообщения и служебная информация. Таким образом, число ТСР-соединений, установленных в процессе работы конференции составляет N*(N-^/2, где N -число терминалов-участников конференции.
Несмотря на то, что каждый терминал принимает потоки медиаданных от всех терминалов-участников, число ЦОР-каналов (по которым передаются медиаданные) равно N. Это объясняется тем, что медиаданные передаются широковещательными пакетами и каждый терминал передает только один медиапоток (и принимает медиапотоки от каждого термианала-участника). Эта особенность системы позволяет значительно снизить нагрузку на сеть,
поскольку объем передаваемых медиданных снижается в (N-1) раз. В случае организации однонаправленных ЦОР-каналов между каждыми двумя участниками получалось бы N*(N-1) потоков, причем каждые N-1 потоков были бы идентичными.
Основными схемами взаимодействия между терминалами являются:
- схема инициирования многосторонней конференции;
- схема ограничения доступа участника(ов) к компрессированному потоку медиаданных, передаваемых терминалом;
- схема завершения конференции;
- схема авторизации терминалов-участников конференции.
Рассмотрим в качестве примера схему инициирования
многосторонней конференции. Логическая схема взаимодействия терминалов системы ВКС при инициировании многоточечной конференции приведена на рис. 2.
Рис.2. Инициирование многосторонней конференции
Функционирование схемы осуществляется в несколько этапов:
а) на первом этапе (шаги 1-3 на рисунке 3.4) инициирования конференции выделяется терминал-инициатор, пользователь которого определяет список участников конференции. После определения участников конференции в терминале-инициаторе создается модуль-трансмиттер и начинается широковещательная трансляция медиаданных. Одновременно терминал-
инициатор устанавливает с каждым из участников управляющее TCP-соединение, после чего производит рассылку по этим каналам управляющих сообщений с приглашением на конференцию. На каждом терминале-участнике система выдает запрос к пользователю на принятие приглашения. Если приглашение не принимается, то получатель приглашения отправляет инициатору соответствующее сообщение, после чего терминал-инициатор разрывает связь с отказавшим терминалом, который удаляется из списка участников конференции. В случае принятия терминалом приглашения инициатору отправляется соответствующее сообщение и происходит переход ко второму этапу;
б) на втором этапе (шаг 4 на рисунке 3.4) каждый терминал-участник создает модуль-ресивер для приема медиаданных от терминала-инициатора, и модуль-трансмиттер для передачи своих медиаданных;
в) на третьем этапе (шаг 5 на рисунке 3.4) терминал-инициатор создает несколько модулей-ресиверов для приема медиапотоков от каждого из терминалов-участников (модуль-ресивер создается только для уже существующего и передающего в сеть данные модуля-трансмиттера);
г) на четвертом этапе (шаги 6-8 на рисунке 3.4) терминал-инициатор выполняет рассылку каждому терминалу-участнику информации обо всех терминалах-участниках. Терминалы-участники устанавливают по одному TCP-соединению между каждой парой терминалов и создают соответствующие модули-ресиверы. После этого конференция считается начатой.
Элементы программной реализации ВКС "Дельта-конференция"
Программная реализация аудио и видеокодеков в системе ВКС выполнена на основе технологии Microsoft DirectShow, предназначенной для обработки потоков медиаданных в ОС Windows. Использование возможностей DirectShow в разрабатываемом программном обеспечении осуществляется путем доступа к стандартным библиотечным объектам и процедурам DirectShow для выполнения базовых операций над потоками медиаданных.
Таким образом, можно отметить следующие принципиальные особенности DirectShow, позволяющие сделать вывод о перспективности ее применения при разработке системы многосторонней аудиовидеоконференцсвязи: универсальность, высокая производительность, аппаратная независимость, переносимость, независимость приложения от используемых компонентов, многопоточность, автоматическое управление качеством воспроизведения.
В настоящее время ведутся работы по расширению функциональных возможностей программной системы ВКС "Дельта-конференция" за счет интегрирования в нее функций документ-конференции.
1. Кравченко П.П., Хусаинов Н.Ш., Погорелое К.В., Хаджинов А.А. Система организации многоточечной видеоконференции для локальных сетей с негарантированным качеством обслуживания /"Известия высших учебных заведений. Северо-Кавказский регион. Технические науки". Специальный выпуск "Математическое моделирование и компьютерные технологии в науке и производстве". - 2003г. С.18-21.