新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 3G交互式视频网关的设计与实现方案

3G交互式视频网关的设计与实现方案

作者: 时间:2012-09-17 来源:网络 收藏

  4.jpg

  图4 3G-324M 协议栈结构

  从图中可以看出,所设计的3G-324M 协议栈一共有3 个逻辑信道,分别是H.245 控制消息信道、音频信道和信道。由应用自上而下传递的控制消息翻译成对应的H.245消息,经过CCSR(Control ChannelSegmentation and Reassembly Layer,简称CCSR)分段后交NSRP(Numbered Simple RetransmissionProtocol,简称NSRP)加上序列号,加入到控制消息发送队列中,由应用自上而下传递的音频和数据经过H.223 的适配层进行适配后,也加入到相应的媒体数据发送队列中,H.223 的复用层分别从各队列中取得数据复用后通过3G 网络发送到3G 手机上。对于从3G网络得到的数据,协议栈自下而上通过H.223 进行解复用到各逻辑信道的接收队列中,应用从各逻辑信道提取控制消息或媒体数据进行处理。

  在设计3G-324M 协议栈音发送机制的时候,考虑到媒体流中视频的数据量较大,而电路域提供给视频的带宽只有40kbps 左右,所以如果不做适当处理,肯定会出现音频超前视频的情形。因此为音频数据流设计一个缓冲区,只有当音频缓冲区中音频包的个数大于一定域值的时候,才会发送音频数据,这样就最大限度的避免了可能出现的音视频不同步的问题。

  在设计协议间媒体格式转换机制,特别是在将RTP 格式的H.263 视频数据转换成3G-324M 协议栈能处理的视频帧的时候,由于RTP 封装的H.263视频数据在图像开始码处字节对齐,具有填充位,如果不去掉填充位直接发送到3G 手机终端,则会出现马赛克,所以设计了一个H.263 视频帧的缓冲区,将连续两个图像开始码之间的视频帧缓冲起来,以去掉帧间的填充位。具体的处理流程是让程序扫描H.263格式的视频流缓冲区,每遇到图像开始码便将其之后的视频帧缓冲起来,缓冲区的大小动态分配,直到遇到下一个图像开始码,然后将两个图像开始码之间的视频数据去掉填充位后发送到3G-324M 协议栈。

3 的实现

  在实现的时候,用到的硬件主要包括PC 机一台和E1 板卡一块,用到的软件主要包括Linux 操作系统和实验室已有的2G 语音平台(该平台主要提供应用程序接口、SIP 协议栈和E1 板卡驱动程序),在此基础上实现了3G 视频,其中最主要的是实现了3G-324M 协议栈以及3G-324M 协议与SIP协议间媒体格式和控制消息的转换。

  3.1 3G-324M协议栈的实现设计的主要数据结构包括:

  H324M: 提供协议栈对外的统一接口,包括H324M::Int(),H324M::Demux(),H324M::Mutex()等。其中H324M::Init()接口初始化3G-324M 协议栈, H324M::Demux()接口解复用从B 信道收到的数据,H324M::Mutex()将音频、视频和控制消息复用后,发送到3G 手机终端。

  H324MChannels: 音视频信道、控制信道和复用/解复用器等资源的容器,并通过回调的形式向上层传递消息。

  AudioChannel: 音频信道,包含H223 适配层等资源,提供的接口包括AudioChannel::GetFrame(),AudioChannel::S-endFrame()。

  VideoChannel: 视频信道,包含H223 适配层等资源,提供的接口包括VideoChannel::GetFrame(),VideoChannel::S-endFrame()。

  ControlChannel: 控制信道,实现了CCSR、NSRP协议。

  H223ALReceiver: H223 协议的适配层,负责对从3G 手机接收到的数据进行检错。

  H223ALSender: H223 协议的适配层,负责对发发送到3G手机的数据进行适配并追加所计算的校验和。

  H223Demuxer: H223 协议的复用层,负责解复用从3G 手机接收到的数据,并将解复用后的数据根据数据类型分别添加到音频、视频和控制消息接收队列中。

  H223Muxer: H223 协议的复用层,将从IP 域一侧收到的音频、视频和控制消息复用到一个物理通道上,从3G 电路域一侧发送到3G 手机上。

  3.2 网关工作流程。

  网关的主要工作是在3G 域与IP 域之间进行控制消息和媒体格式的转换,主程序的设计首先进行3G-324M 协议栈等各种数据结构的初始化,然后在3G 域和IP 域两个通道同时监听数据的到达。如果从监听返回的时候没有数据到达,则意味着某个通道出错,此时进行退出处理;如果从监听返回是因为3G域通道有数据到达,则将收到的数据根据3G-324M协议解复用后进行格式转换发送到IP 域的通道;如果从监听返回是因为IP 域通道有数据到达,则转换格式后根据3G-324M 协议复用并发送到3G 域通道。在后两种情况下,进行完数据转发后,继续回到监听3G域通道和IP 域通道的状态。程序流程图如图5 所示。

  5.jpg

  图5 网关工作流程。

  4 测试

  联合中科院沈阳计算所网络与通信实验室的增值应用服务器在实际的3G 环境中对所实现的网关进行了测试。在测试用例中,3G 视频网关被放在了台湾宏远电信的机房中,通过E1 板卡与交换机相连,并预先分配了一些测试号码,增值应用服务器放在了互联网的公网上。在台湾的测试人员通过3G 手机拨打预先分配的测试号码拨号到网关, 网关通过3G-324M 协议与3G 手机终端建立了视频会话后,发送SIP INVITE 消息与增值应用服务器建立一个SIP会话,增值应用服务器将音视频数据(在此测试用例中为一个3gp 格式的影音文件)发送到网关,网关将接收到的音视频数据转换格式后再发送到3G 手机,测试人员通过手机上的按键切换播放不同的影音文件,实现交互功能。测试数据如表1 所示,手机到网关的接通率在95%以上,接通时间控制在6 秒之内,手机端收到的音频声音清晰,视频流畅,音视频基本同步。

  表1 测试数据

  7.jpg

  5 结语

  本文在阐述3G 视频网关关键技术的基础上,提出了该网关的一个具体的设计实现方法。该网关与增值应用服务器配合使用,可以用来在3G 通信网络中提供交互式多媒体增值应用服务,通过在实际环境中进行测试,该网关运行稳定,接通率高,对今后开发类似的系统具有借鉴的意义。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭