好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于软交换的高性能视频会议多点控制单元.doc

9页
  • 卖家[上传人]:油条
  • 文档编号:5526208
  • 上传时间:2017-09-06
  • 文档格式:DOC
  • 文档大小:395.50KB
  • / 9 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 基于软交换的高性能视频会议多点控制单元摘要:针对企业级高性能多点控制单元(MCU)的要求,提出了一个基于软交换模式的 MCU 设计,该设计对传统的集中式 MCU 架构的 MC 与 MP 部分进行修改,并通过帧缓冲映射技术,实现了 MCU系统的高效性在过去的 2011 年,随着宽带网络(Internet)的逐步普及,推动了视频会议在政府和企业、远程医疗、视频点播等领域的应用,视频会议市场获得了持续的发展,国内视频会议总额达到了 30 亿元,年增长率 50%以上我们可以预见:随着网络环境、视频设备的采购成本、视频软件的质量与互通等方面问题的解决和视频通讯技术的进一步完善,视频通讯必然会成为办公和生活必不可少的一部分处于视频会议系统核心地位的多点会议控制单元(Multipoint Control Unit –MCU)受到人们更多的关注一、 MCU 概述从构建的形式来分,MCU 可以分为硬件 MCU 与软件 MCU,硬件 MCU 的音、视频编码都基于硬件的芯片,因此效率高、容量大、价格也相对较高软件 MCU 通过软件运算,实现硬件编码,因此除了价格较低外,效率与容量都逊色于硬件 MCU,但随着 CPU 主频的不断提升,基于软件的音、视频编码效率也越来越高,因此考虑到成本与各方面的因素,软件 MCU 必然成为以后的主流方向。

      但大多的软件 MCU 现今的效率不高,最多能处理 4 路终端,不能适应现今市场的发展的需要,因此重新构建 MCU 的架构,成为研发软件 MCU 的关键MCU 的主要目的是在同一个会议中,连接三个或者三个以上的终端终端首先与 MCU 进行 H225 呼叫信令的传输,然后 MCU 通过与终端之间的能力协商,决定之间的音、视频编码,从而通过H245 控制信令,控制与处理经过编码的 RTP 音、视频流,从而实现音、视频的传输根据 ITU H323 标准, MCU 包括一个 MC(多点控制器)与零个或更多的 MP(多点处理器) MCU 通过 MC 与MP 来处理终端的 RTP 音、视频流MCU 的组成结构如图一M C UM C M P终端终端注 : 控制通道 , 用于传输 H 2 4 5 控制信令逻辑通道 , 用于传输实时传输协议的 R T P 包呼叫通道 , 用于传输 H 2 2 5 呼叫信令图一 : M C U 组成结构图1. MC(多点控制器)MC 通过与终端建立一个 H225 呼叫信道,并通过 H225 进行呼叫管理,当成功建立连接后,建立另一个 H245 控制信道,在这个 H245 控制信道上与终端进行能力协商与主从决定,从而决定两者共同的编码能力集与主从关系,最后在 H245 信道上建立编码的逻辑通道,在这个逻辑通道里面可以传输实时传输协议的数据包(RTP ) ,从而为以后的音、视频流传输做好准备。

      通过在 RTP 包上的控制帧,可以对终端进行流量限制、帧率控制2. MP(多点处理器)ITU 标准把 MP 作为 MCU 可选的部件,一个 MCU 可以存在若干个 MPMP 接收到终端的音、视频流后,通过解码器进行解码,然后在把原始的音、视频流进行处理,最后再对音、视频流进行编码,传回终端,其中的处理部分通常对音频进行 PCM 信号的叠加,达到声音混合的效果,其典型应用是多个终端能同时听到其他终端的声音;视频主要采用图像合成技术,通过图像象素的重新整合,达到多幅图像合成为一幅图像的效果其典型应用是将 4 幅图像合成为 2*2 的多画面图像二 、 传统的软 MCU 架构局限性传统的软件 MCU 的架构是从硬件 MCU 继承过来的,MCU 包括 MC 和 MP 部分,MC 部分对终端进行连接控制以及逻辑通道的管理,MP 部分对音频进行混合,视频进行合成传统 MCU 的设计如图二,这种架构对硬件 MCU 不成问题,因为硬件的 MCU 的编解码都是用硬件实现,但对软件实现的 MCU 并不太适合,用软件实现的 MCU 编解码都是通过 CPU 来运算,这样必然给 CPU 带来非常大的负担,特别对于传输视频流,花费的 CPU 就更多了,举个例子:编码一路 30 帧/秒的 CIF(352*288)图像,大概编码后的字节数为:30 * 352*288*2=6MB,如此编码的程序必然花费巨大的 CPU 资源。

      经测试:P4 2.6 G CPU 在这种架构下,最多支持 5 路终端,如超过 5 路,CPU 资源基本占有完,图像合成的效果严重下降之所以出现种情况,原因是传统的软 MCU 的 MP 的部分对音、视频进行了解码与编码,花费了较多的 CPU 资源因此我们要设计高性能的 MCU,必须把 MCU 的音、视频编码等消耗 CPU 部分转移到终端上,通过这种转移,能大大减少了 MCU 的负担,提高了整体的效率M C UM C向终端传输呼叫、 传输信令以及R T P包向终端传输 R T P 包M P编码器 解码器R T P 包图二 : 传统 M C U 设计图三 、软交换模式的 MCU 的设计针对传统模式的 MCU,我们采用了基于软交换模式的 MCU 的设计,MCU 也包括有 MC 与 MP,但 MC 与 MP 都与传统的软MCU 有所不同所谓的软交换模式就是仿照交换机的模式,不对音、视频进行编解码的处理,只对它进行转发与控制1、 MP 部分传统的软 MCU 的 MP 对音、视频先进行解码,然后处理后再编码,耗费较多的 CPU 资源基于软交换的 MP,不对音、视频进行解码与编码,通过帧缓冲映射算法,查找终端对应的缓冲区,然后到把接收到的音、视频流放到该缓冲区里面,通过 MC 部分的控制,把音、视频转发到终端。

      下面接受一下实现 MP 部分的帧缓冲映射算法:由于 MCU 在 MP 部分是处理,大量的实时的 RTP 包,如当 10 个终端向 MCU 发送音、视频的时候,一秒钟的音频数据包就大约有 10*20=200 个,视频数据包就大约有 10*25*10=2500,总共一秒钟通过 MCU 的数据包就有 2700 个,因此从缓冲区里面搜索相应的数据包,成为了 MP 的关键步骤考虑到 MP 要处理不同的终端,不同的终端对应不同的缓冲区,所以采用哈西算映射法,它能将任意长度的二进制值映射为固定长度的较小二进制值,并把这个哈西函数表放到内存,以便多次的查找,这样通过这个较小的二进制值就可以以非常快的速度找到相应比较大的值下面是具体的步骤:首先把终端的唯一 ID 与会议 ID,通过哈西算法,映射到一个缓冲区,通过终端的唯一 ID 与会议 ID 就可以直接找到本终端的缓冲区,当 MP 收到终端的 RTP 包后,通过 RTP 包的边界分析,把多个 RTP 合成一个数据帧,然后把数据帧放到终端的缓冲区里面帧缓冲映射查找如图三当终端要转发其他终端的音、视频流的时候,通过哈西算法找到相应的终端的缓冲,然后把缓冲区的数据读出到数据帧里面,最后通过 RTP 包进行发送。

      A 终端的 I D 与会议 I D哈西表0 1 0 1 . . . 1 0 1 0 . . . 1 0 1 1 1 . . 0 0 1 0 . . 0 1 1 0 . .… … . .缓冲区B 终端的 I D 与会议 I DB 缓冲区A 缓冲区… .图三 : 帧缓冲映射 查找图R T P 包 R T P 包. . .R T P 包 R T P 包 R T P 包 … R T P 包R T P 帧R T P 帧把 R T P 包合成一个 R T P 帧 把 R T P 包合成一个 R T P 帧2、 MC 部分MC 部分的设计主要包括:会议组管理、会议 RTP 流转发管理1)会议组管理会议组管理包括支持多组会议的召开(包括创建会议组以及取消会议组,每组的会议之间互不干绕,每组的内部构成一个会议对某组会议来说,包括会议的成员信息,处理与会者的加入与退出等为了实现这些功能,建立一个会议组类、成员信息类、成员状态类、成员身份类、成员的音频缓冲类、成员的视频缓冲类,会议组类主要记录终端所选的会议组 ID,成员信息类主要记录终端的唯一 ID、IP 等信息,成员的状态记录成员是否,身份类可以确定是主席还是听众,成员的音、视频缓冲类主要是存放终端的 RTP 包的类,一个缓冲类里面可以存在多个缓冲区。

      MC 首先通过设定TCP 特定的端口并在端口上建立一个 TCP 监听线程,终端通过这个端口与 MCU 进行 TCP 连接,并由 MC 建立一个 H225 呼叫线程用于监听 H225 呼叫信令,通过这个 H225 通道,终端把自己的会议组ID、IP、唯一 ID、身份注册到 MC 2)会议 RTP 流转发管理终端对 MCU 进行注册后,MC 建立一个 H245 控制信令线程,并与终端进行连接,通过 H245 控制信令与 MC 进行呼叫信令处理与能力协商、主从决定,然后建立音、视频的接收逻辑通道,并开始接收终端发送的 RTP 帧,把 RTP 帧保存到缓存区里面,MC 为已经进行了呼叫连接的终端都分配一个接收的音、视频缓冲区,缓冲区是一个分配在堆里面的数据结构,考虑到会议中音、视频大量的RTP 包的必须有实时性,效率成为了最主要的问题,因此把音、视频缓冲区的首地址放到一个哈西表里面,并通过这个哈西表把终端的唯一 ID 映射于这个缓冲区利用哈西算法,通过终端的唯一的ID 迅速找到相应的缓冲区在终端 A 上,可以看到注册到 MCU 的人员名单,通过终端的人员名单的选择,可以通知 MC 转发终端 B的音、视频,当 MC 收到 A 终端的提交的转发信息后,与终端 A 再建立一个逻辑通道,用于传输其他终端的 RTP 包,然后通过逻辑通道,在 MC 的 A 终端缓冲类里面,新建一个缓冲区,然后同样把终端 B 的唯一 ID 通过哈西表映射到这个缓冲上,当 MC 的 A 终端缓冲类收到终端的 RTP 包后,除了把 RTP 包拷贝到原来的接收的缓冲区里,还把它拷贝到属于 B 的缓冲区里面。

      MC 的软交换模式如图四三 、测试结果与结论通过对 MCU 的 MC 与 MP 的重新设计, MCU 的性能有了较大的提高,首先从性能方面进行测试,传统的 MCU 由于在 MC 上进行编解码,只能容纳 4 路音、视频终端,而通过修改的 MCU,MC没有进行编解码,只对音、视频进行转发,因此在 20 路音、视频的情况下,系统的 CPU 只占有 5%从效率、质量方面来进行比较,传统的 MCU 由于进行了 4 编解码,返回到终端的数据包延迟比较大,而修改过的 MCU 没有进行到编解码,因此数据包的延时很小传统的 MCU 在 MC 里面进行图像的混合,图像的分辨率变为原来的 1/4,因此图像质量有较大的下降,而基于软交换的 MCU 保持了原来图像的分辨率,因此图像质量较好从视频的帧数来比较,传统的 MCU 架构不能达到 15 帧/秒,而基于软交换的 MCU 能达到 30帧/秒由于基于软交换的 MCU 的视频传输的是原来图像的分辨率,因此传输率比传统的 MCU 要高,但可以通过在终端采用传输率较低的编码器来降低传输率传统的 MCU 架构 基于软交换的 MCU 架构占用的 CPU 资源 非常多 很少支持的终端数量 少于 5 路 多于 20 路音、视频的延时 大于 0.4 秒 少于 0.2 秒视频的分辨率 QCF(177*144 ) CIF(352*288)视频的帧数 少于 15 帧/秒 达到 30 帧/秒传输率 较少 较大从以上的测试证明,基于软交换的 MCU 架构,由于采用了帧缓冲映射技术,并修改了 MC 与 MP, MCU 的性能有了较大的提高。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.