微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 3G交互式视频网关的设计与实现方案

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

时间:05-30 来源:互联网 点击:

和控制消息复用到B 信道上发送到3G 手机。

对于从B 信道上获得的数据,网关解复用成相应的音频、视频数据和控制消息后封装成对应的RTP 格式的数据报和SIP 消息,发送到增值应用服务器。网关的交互式功能主要通过控制消息的转换实现,而控制消息主要来自手机端的DTMF 输入。

在设计的时候,由于实验室已有的2G 音频网关技术平台已经实现了SIP 协议栈并配有E1 板卡, 所以只要在其基础上加入3G-324M 协议栈,并实现3G-324M 协议与SIP 协议之间媒体格式和控制消息的转换即可以完成3G 交互式视频网关的基本功能。

根据3G-324M 协议标准,3G-324M 协议栈的结构设计如图4 所示:
 


 

 图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 域之间

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top