310 likes | 544 Vues
组播视频工具 VIC 研究. 清华大学信息网络工程研究中心 陈旸 张轩 李崇荣 2004-12-26. 目录. VIC 的历史 VIC 的体系结构 VIC 的适用性研究 VIC 的扩展性研究 应用及前景. VIC 的历史 VIC 的体系结构 VIC 的适用性研究 VIC 的扩展性研究 应用及前景. VIC 简介. VIC (Videoconferencing Tool) 是一个组播视频工具,主要用于组播视频会议系统。 VIC 的主要特点: 支持组播( multicast ) 支持多种标准视频编码方式 支持多种平台 支持多种网络结构
E N D
组播视频工具VIC研究 清华大学信息网络工程研究中心 陈旸 张轩 李崇荣 2004-12-26
目录 • VIC的历史 • VIC的体系结构 • VIC的适用性研究 • VIC的扩展性研究 • 应用及前景
VIC的历史 VIC的体系结构 VIC的适用性研究 VIC的扩展性研究 应用及前景
VIC简介 • VIC (Videoconferencing Tool)是一个组播视频工具,主要用于组播视频会议系统。 • VIC的主要特点: • 支持组播(multicast) • 支持多种标准视频编码方式 • 支持多种平台 • 支持多种网络结构 • 提供视频流加密和用户身份认证 • 有良好的交互界面 • 提供会议同步协调总线机制 • 可以和音频软件同步
VIC的历史 • 作者 • UCB-LBNL,Lawrence Berkeley National Laboratory at University of California, Berkeley • UCL,University College London • 组织 • AG,AccessGrid • OpenMash • 版本 • Berkeley Version • UCL Version • OpenMash Version
发展里程碑 • 1992 Multicast Backbone (MBone) • 1993,1994 MBone Tools • Xerox PARC Network Video tool, nv • INRIA Video-conferencing System, ivs. • 1995 UCB/LBNL, UCL • Vic,vat,wb • Sdr • 1997 UCL • Vic,rat • GCCP • 清华大学与UCB实现基于MBone的视频会议 • 2001 清华大学、复旦大学、东南大学和华南理工大学 • 实现基于VIC的多点实时授课系统 • 2003 CERNET • 建成中国第一个大规模基于网络的视频组播技术服务系统
VIC的历史 VIC的体系结构 VIC的适用性研究 VIC的扩展性研究 应用及前景
视频采集 视频显示 Session 会话 渲染 编码/加密 外部协同 进程 本用户 其他用户信息 解码 网络传输 Mbus/Confbus(消息总线) RTP打包 解包 VIC系统组成框图
设计思想 • 轻量会话模型 (Lightweight Session Model) • 体系结构原理 • 应用层分帧原则 (Application Level Framing ALF) • 工程实现原理 • 综合层处理原则 (Integrated Layer Processing ILP) • 会话 (Session): • Multicast address + port
提出LSM的考虑: • 兼顾分层原则与效率 • 关键点:数据处理没有任何的延迟 • LSM具体实现: • RTP packet成为操作的单元结构 • 减小延时,减小数据的重复拷贝 • 管道线处理
VIC的历史 VIC的体系结构 VIC的适用性研究 VIC的扩展性研究 应用及前景
平台适用性 • VIC采用了平台无关的实现方法 • Windows • Linux • Solaris • HP-UX • MAC • Tcl/Tk与C混合编程 • C++实现类定义和实现 • Tcl/Tk控制程序流程 • VIC采用Tcl/Tk脚本编写界面,通过C++ 程序调用Tcl/Tk的解释器来运行Tcl/Tk脚本,从会话Session对象中获得相应的资源列表,调用系统资源实现
网络传输适用性 • ALF实现高速海量连续数据流的传输,协调数据传输所经过的应用组件和网络 • 在ALF的设计思想基础上形成了RTP协议 • RTP协议采用了ALF模型,完全独立于下层的网络,适用于异质异构的网络结构 • 采用宏块(Macro Block)级别发送 • 压缩编码到宏块后,用RTP打包发送,而不是一般方法采用的将一帧数据都压缩好以后发送
网络环境适用性 • 对现有IP网络和ATM网络有很好的适用性 • 可以用于IPv4和IPv6网络,采用了协议栈无关性的实现方法,有很好的灵活性 • 初步实验证明可以适用于下一代互联网
编解码适用性 • 多种编解码方式 • 现有H.261,H.263,H.263+,JPEG,nv,phv,MPEG1,MPEG2等 • 编解码部分完全模块化 • 可实现: • MPEG4 适用于低带宽的情况 • 正在研究中: • 加入DV格式,用于高质量视频 • 加入H.264标准 • 高压缩率,大码流的的MPEG2
VIC的历史 VIC的体系结构 VIC的适用性研究 VIC的扩展性研究 应用及前景
可扩展性需求 • 下一代互联网的高带宽、高性能决定了视频会议具有大规模、强交互的特点 • VIC是否能够成为大规模、强交互组播视频会议的核心工具,是一个值得研究的问题
可扩展性分析 • VIC的总线设计具有内部总线和会议总线,支持内部组件之间的协同,也支持进程之间的协同通信,并且提供了外部的接口,可以实现会议的管理 • Mbus(Local Message Bus)为VIC内部组件通信总线,也是整体的会议通信总线 ,Confbus为不同本地进程间通信总线
Mbus • 消息总线(LocalMessage Bus),简称Mbus,是一种面向消息的构件,用于组通信中的通信对等实体之间协调和相互定位 • Mbus主要是构建在UDP之上的,主要有三种传送方式:单播,组播和广播 • Mbus的消息格式 +++++++++++++++++++++++++++++++++++++++++++++++++++++ | mbus version | message sequence number | timestamp | reliable | source addr | destination addr |Ack List +++++++++++++++++++++++++++++++++++++++++++++++++++++ | Mbus Command | +++++++++++++++++++++++++++++++++++++++++++++++++++++ | command args | +++++++++++++++++++++++++++++++++++++++++++++++++++++
Mbus的通信 • Mbus采用了实体间通晓的机制 • 在一定间隔时间内,实体之间用单播形式发送消息,以表示实体的存在 • 当收到别的实体发送的确认消息Mbus.hello时,对照已有的实体列表进行增减,然后发送回应消息。这个机制一直持续到整个Mbus通信结束 • 实体间还可以发送要求确认信息,收到此信息就会被动发送Mbus.hello消息,并且不要求回应。当收不到某个实体的回应消息时,如果时间超过5个时间间隔,就可以认定这个实体已经离开Mbus,在列表中去除这一实体 • 如果实体主动退出Mbus,则发送Mbus.bye表示退出 • 实体间通信和协同的地址由各自的主机地址和id号组成。最初获得Mbus成员列表是在建立Session的过程中,由各节点从信息包中得到
Confbus • Confbus主要由Tcl编程实现,采用IPC(Interprocess Communication)的方式来提供一种外部进程接口,可以实现外部进程和VIC的通信和协同,例如实现音视频同步。相对于Mbus来说,Confbus实现比较简单
VIC支持内部组件之间的协同,也支持进程之间的协同通信,并且提供了外部的接口,可以实现会议的管理,从而可以有效地支持大规模的视频会议模式,具有下一代互联网的大规模强交互的视频会议特点
VIC的历史 VIC的体系结构 VIC的适用性研究 VIC的扩展性研究 应用及前景
现状 • AG的视频会议系统采用了VIC,目前在全球大范围内推行 • 在国外有基于VIC的商业化产品推出 • VIC可以和H.323系统互联互通并已实验成功 • CERNET组播视频会议系统视频部分是在VIC的基础上开发完成的
AG关于VIC的目标 • AG的终极目标就是建立一个体系使使用者之间完全无隔阂和距离感的交流,一种完全的沟通。为此需要推广VIC的使用范围和应用的全面性以满足不用的需求
前景 • VIC的体系结构 • LSM的思想从现在的角度来看,还是适用的 • 基于LSM的VIC体系结构设计是合理的 • 总线思想 • 对于复杂系统的构成和协调运行起了关键作用 • 其组件的设计思想使各个组件模块化、并可替换 • VIC可以成为下一代互联网组播视频会议系统的重要视频工具