Научная статья на тему 'Архитектура программной системы видеоконфренцсвязи "Дельта-конференция"'

Архитектура программной системы видеоконфренцсвязи "Дельта-конференция" Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
180
101
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Кравченко П. П., Хусаинов Н. Ш., Шкурко А. Н.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Архитектура программной системы видеоконфренцсвязи "Дельта-конференция"»

УДК 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.

i Надоели баннеры? Вы всегда можете отключить рекламу.