首页>论文>正文
日期
09/15
2006
咨询
  • QQ扫一扫

  • Vision小助手
    (CMVU)

基于流媒体技术的网络视频会议的研究
收藏
2006-09-15 08:40:41来源: 洪俊

摘要:本文介绍了一种新的基于流媒体技术的网络视频会议系统,克服了传统的基于硬件的网络视频会议系统的需要特殊硬件以及固定通道的缺陷,同时又采用先进的抠像、运动估计和运动补偿技术并以MPEG-4为标准将之进行压缩,在流媒体服务器上进行发布,大大减少了数据的传输量、处理目标花费时间,提高了网络会议的质量。

关键词:流媒体;视频会议;运动估计;运动补偿;抠像

1 引 言

   视频会议能同时允许几组不同地方的人参加同一个会议,他们都能看到全方位的活动图像,清楚地听到别人所说的话,就像在大家坐在一起,从而实现了不同地理位置的与会者的可视化的交流。目前的网络视频会议系统主要是基于硬件的,包括MCU(多点控制器)、Gateway(网关)、Gatekeeper(网闸)、Video Client(视频终端)、Video Settop(机顶盒式视频终端)、电话会议终端产品等多种产品,以及提供网络平台通信系统、管理工具和配件等。但是由于硬件网络视频会议系统的售价昂贵,因此既限制了其自己的发展,同时也限制了更多的用户使用。

    流媒体播放技术是当今世界上争相探索的一个热门话题,其实现关系到众多的网站建设和信息传播速度。运用流式传输方法,用户不必等待全部数据内容传输完毕,而可以直接从服务器端连续、实时地接收声音、视频或动画等实时媒体。因此,在网络视频会议系统中运用流媒体技术,同时采用先进的抠像、运动估计和运动补偿技术并以MPEG-4为标准将之进行压缩,在流媒体服务器上进行发布,将大大减少了数据的传输量、处理目标花费时间,提高了网络会议的质量。

2 基于流媒体技术的视频会议系统构成

2.1 构建流媒体视频会议系统需要的资源
1) 摄像设备:用以获取现场的图像信息。只需普通的USB摄像头即可。
2) 声音拾取设备:用以获取会场的声音信号。包括麦克风、耳机或音箱。
3) 服务器及服务器软件:奔4的计算机配置就能满足系统对硬件上的要求,软件上只需安装Windows Media Service(已集成在Windows 2003 Server系统中)、Windows Media Format SDK、DirectX SDK。
4) 应用程序:采用directshow技术,Windows Media技术在VC++6.0环境中实现其功能。

  2.2 工作原理
系统程序分为服务器端和客户端两种。服务器端由一台性能较好的PC机来承担,操作系统为Windows 2003 Server,供会议的主持人使用,是整个系统的控制中枢。它主要完成对会议全过程的调度以及对各与会者端传送来的视音频数据进行整合并发布,包括:处理入会者的申请;会议发言令牌的控制;监视整个会议网络的服务质量,根据实时网络状况进行会议调度;视音频数据的整合及发布;接收来自客户端的反馈信息,并实时地分析这些数据,根据客户端的接收能力,动态地调整视音频数据的发送率等。

每一个会议场地需要一个客户端,可供与会者使用。在会议过程中,与会者既可以是听众也可以是发言人。而且不同于其他视频会议系统,在同一时刻,会议的发言人可以有多个。客户端主要完成对本地视音频的采集、发送,接收来自服务器端合成后的流数据等,包括:发送本地的声音、视频信息给服务器;接收来自服务器的反馈信息,并实时地分析这些数据,根据服务器端的接收能力,动态地调整视音频数据的发送率;通过访问发布点接收来自服务器端处理后的流数据并显示在窗口中等。

其实现细节如下:将分布在异地的计算机通过USB摄像头实时捕获与会者的视频信息,通过抠像技术,将人物目标与背景分离,并通过声卡捕获与会者的音频信息。将捕获到的视音频数据转换为流媒体信息,采用RTP、RTCP等协议将流数据传送到流媒体服务器上。服务器程序将各数据信号(包括人像与声音)进行整合,每一方以一个小窗口显示,并将之在网络上进行发布。其他人只需打开流媒体服务器上的广播发布点URL,就能实时观看会议。

3 流媒体协议的应用

实时传输协议RTP(Real-time Transport Protocol)是在Internet上处理多媒体数据流的一种网络协议, 利用它能够实现流媒体数据的实时传输。RTP通常使用UDP来进行多媒体数据的传输,其设计目的是提供实时数据传输中的时间戳信息以及各数据流的同步功能。

RTP本身并不能为按序传输数据包提供可靠的保证,也不提供流量控制和拥塞控制, 这些都由实时传输控制协议RTCP(Real-time Transport Control Protocol)来负责完成。通常RTCP会采用与RTP相同的分发机制,向会话中的所有成员周期性地发送控制信息,应用程序通过接收这些数据,从而能够对服务质量进行控制或者对网络状况进行诊断。

本系统客户端程序将RTP用UDP封装起来传输数据流到服务器端,其结构如图1所示;而服务器端程序将RTP和RTCP结合使用,由RTP处理线程负责把视音频数据流以UDP方式发送给客户端,由RTCP处理线程根据RTP线程的统计数据,产生发送方报告给客户端。RTP、RTCP线程之间通过一段共享互斥体内存交互统计数据。在这种方式下,服务端器可以根据每个用户的不同请求和具体情况方便地提供不同的服务。

 

4 基于流媒体技术的多点交互网络视频会议系统设计

本系统由服务器端程序和客户端程序两部分组成。服务器端程序主要完成对会议全过程的调度以及对各客户端传送来的视音频数据进行整合并发布;客户端程序主要完成对本地视音频的采集、发送,接收来自服务器端合成后的流数据等。

4.1 程序流程图

4.2 服务器端程序

1) 接收来自各客户端发送过来视音频流数据。
在本系统中,我们用DirectShow开发了一个Filter用于接收网络数据,然后在将接收到的数据从该Filter的输出Pin上传送给下一级Filter。其实现原理是使用独立的线程进行网络数据的接收;当接收到第一个媒体格式数据后,立刻通知上层应用程序完成Filter Graph的构建;然后继续接收媒体数据,并将这些数据以Sample的形式“推”给下一级Filter。
2)将收到的数据以MPEG-4标准进行解压缩处理。
3)将解压后的数据进行整合处理,每一方以一个小窗口显示出来。

        摄像头采集的视频信号经过抠像处理后,得到了具有目标的数字视频对象,然后将多视频进行合成。几个视频对象的合成场景可看成是一个新的视频对象,视频源产生的视频对象为原始视频对象, 修改过的视频对象为合成视频对象。我们主要是以视频帧为单位, 通过对每一帧即每一合成视频对象中的所有视频对象进行各种操作,达到合成的目的。

4)将处理后的数据以ASF文件格式保存到本机并推发送到Windows Media服务器的发布点上。
其具体步骤如下:
① 使用Windows Media Format SDK创建一个Profile,然后设置给生成器(生成器对象通过WMCreateWriter函数创建);生成器根据Profile的描述,为每个连接创建一个输入,并使用数字编号来标识。
② 为生成器设置一个目标文件名;生成器内部使用文件接收器来管理Windows Media 文件的创建。
③ 生成器根据Profile的描述,创建一个ASF文件头对象。
④ 生成器根据Profile的描述,选择合适的Windows Media编码器对输入的Sample进行压缩编码,最终写入ASF文件的数据对象中。
⑤ 将压缩数据流推发送到Windows Media服务器的发布点上。

4.3 客户端程序
1)计算机通过USB摄像头实时捕获与会者的视频信息,通过抠像技术,将人物目标与背景分离;采用运动估计和运动补偿技术,预测下一桢图像中目标所在位置,使得需要传输的视频信息量大量减少。
i)抠像技术
           保存摄像头摄取的第一桢数据作为背景,目标人物进入后进行桢间数据的比较,除去背景部分,保留目标人物,实现目标的抠像。
ii)运动估计和运动补偿技术
考虑到图像中存在着运动物体,我们传送x与前一帧经位移后所对应的像素(匹配像素)之间的差值,这种方法称为具有运动补偿的帧间预测。显然,具有运动补偿的帧间预测给出的预测误差要比简单的帧间预测低,因而可以达到更高的压缩比。用k-1帧预测k帧图像的方式称为前向预测。如果待测子块在k-1帧,而搜索区处在k帧,也就是从后续的k帧预测前面的k-1帧图像,这种方式称为后向预测。
其具体运动处理过程原理可描述为:
① 当前帧在过去帧(前一帧)的窗口中寻找匹配部分,从中找到运动矢量;
② 根据运动矢量,将前一帧位移,求得对当前帧的估计(预测);
③ 将这个估计(预测)和当前帧相减,求得估计(预测)的误差值;
④ 将运动矢量和估计(预测)的误差值送到接收端去;
⑤ 接收端根据收到的运动矢量将过去帧(前一帧)作位移(也就是对当前帧的估计),再加上接收到的误差值,就得到了当前帧。
2)通过声卡捕获与会者的音频信息。
3) 将捕获到的视音频数据转换为流媒体信息并以MPEG-4标准进行压缩,采用RTP、RTCP、RTSP等协议使用DirectShow技术将流数据传送到流媒体服务器上。
4)接收来自各客户端发送过来视音频流数据,以MPEG-4标准进行解压缩后显示在程序窗口中。
5) 其他非与会成员若想实时观看会议,只需使用Windows操作系统自带的Windows Media Player打开流媒体服务器上的广播发布点URL即可。

5 小结

视频通讯、会议系统是一个正在迅速成长着的新兴领域,但国内网络普遍具有带宽较窄、数据传输不稳定等的特点,无法满足传统的视频会议的要求。鉴于此,我们开发了一套基于流媒体技术的网络视频会议系统,较好地解决了以上问题。实践表明,在校园网上安装运行后,系统具有较短的语音延迟,抠像效果较好,传输的图像稳定,误码率较低等特点。

参 考 文 献:

[1] 杨淑莹. 图像模式识别---VC++技术实现[M], 清华大学出版社, 北京交通大学出版社, 2005,07
[2] 杨淑莹. VC++图像处理程序设计[M], 清华大学出版社, 北京交通大学出版社, 2005,01
[3] 张永久, 李立军, 刘文超. 视频会议的多媒体传输与调度系统设计[J], 网络信息技术, 2005,24(1):33-36
[4] 赵进, 叶梧, 冯穗力. 基于RTP协议族的流媒体系统设计和实现[J], 计算机工程, 2005, 31(2):195-197
[5] 郑力明, 张会汀, 刘伟平, 肖志明, 黄伟英. 基于IP组播技术的分布式视频会议系统的设计与实现[J] 计算机工程与应用, 2003, 2:153-155