首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

流媒体通信技术在某分布式仿真系统中的应用研究

第四届北京军民融合技术装备博览会

就要开始啦!!!

点击下方“我要参观”

获取免费门票

PS:活动现场将邀请2000名业内专家和众多业内大佬哦!

↓↓↓

我要参观

1引言

随着网络通信技术的快速发展,多种通信手段并存的仿真信息系统为流媒体通信技术的应用提供了平台,流媒体通信的相关技术及应用成为研究和开发的热点。目前,分布式仿真信息系统通信主要限于文字和基于半实物电台的模拟语音,基于数字流媒体通信的分布式仿真信息系统尚未建立并广泛应用,这与信息时代发展的必然趋势和用户的使用体验需求不符。文章基于视频编解码技术H.264、语音编解码技术G.729A和P2P网络中通信技术UDP Hole,设计了某分布式仿真信息系统的流媒体通信原型框架,实现基于P2P网络的视频和语音通信。

2视频和语音编解码技术研究

2.1视频编解码技术

目前视频流传输中最为重要的编解码标准有国际电联的H.261、H.263和H.264,运动静止图像专家组的M-JPEG和国际标准化组织运动图像专家组的MPEG系列标准,此外在互联网上被广泛应用的还有Real-Networks的RealVideo、微软公司的WMT以及Apple公司的QuickTime等。

H.264是国际标准化组织(ISO)和国际电信联盟(ITU)共同提出的继MPEG4之后的新一代数字视频压缩格式,它即保留了以往压缩技术的优点和精华又具有其他压缩技术无法比拟的低码流、高质量的图像、容错能力强和网络适应性强等优点。

目前,大多数的视频会议系统均采用H.261或H.263视频编码标准,而H.264的出现,使得在同等速率下,H.264能够比H.263减小50%的码率。也就是说,用户即使是只利用 384kbit/s的带宽,就可以享受H.263下高达 768kbit/s的高质量视频服务。H.264 不但有助于节省庞大开支,还可以提高资源的使用效率,同时令达到商业质量的视频会议服务拥有更多的潜在客户。

2.2语音编解码技术

语音编码算法从上个世纪七八十年代兴起,已经发展得相当成熟和完善。语音编码一般分为三种类型:波形编码,参数编码和波形参数混合编码。波形编码是以逼近声音波形为目标的,其代表的算法有G.711,它的声音清晰度好,语音的自然度高,但是压缩效率比较差,常在32kbps以上。参数编码是把人的声道抽象成一个发声模型,对这个模型的参数进行编码,特点是语音压缩效率高,但是自然度比较差,可以在极低速率进行编码。波形参数混合编码结合了以上两者的优点,代表算法有G.723,G.729等,能在4-16kbps的速率上进行高质量的语音合成。

G.729采用的是共轭结构的代数码激励线性预测算法(Conjugate StructureAlgebraic Code Excited Linear Prediction,CS-ACELP),这是一种基于CELP编码模型的算法。由于G.729编码器能够实现很高的语音质量(MOS分4.1)和很低的算法延时,被广泛地应用于数据通信的各个领域,如IP Phone和H.323系统等。G.729是对8KHz采样16bit量化的线性PCM语音信号进行编码,压缩后数据速率为8Kbps,具有16:1的高压缩率。

G.729A是G.729的简化版本,两者的编解码结构相同,码流可以互通。主要的简化有:(1)加权滤波器采用量化的LP滤波系数;(2)简化了自适应和固定码本的搜索,在解码器中只使用整数延迟;(3)简化了谐波后滤波器。经过这些简化,G.729A的运算量比G.729减少约一半,而语音质量只有很小的下降,因此在实际的工程应用中一般都采用G.729A。

3 UDP Hole技术

NAT将私有网络IP地址域映射为公有网络IP地址域,相当于透明网关,从而使局域网主机共享一个IP地址访问Internet上的服务成为可能。但NAT不允许外部主机主动访问私有网络主机,外网主机无法穿过NAT与内网主机通信。为了能从外部主机访问内网的主机,首先,我们必须在内网的NAT上打上一个“洞”,也就是在NAT上建立一个Session,这个过程不能由外部的主机来完成,只能由内网的主机来完成。而且这个洞是有方向的,比如从内部某台主机(192.168.0.100)向外部的某个IP(212.237.60.10)发送一个UDP包,那么就在这个内网的NAT设备上打了一个方向为212.237.60.10的“洞”,这就是称为UDPHole Punching的技术,以后外部主机212.237.60.10就可以通过这个洞与内网的192.168.0.10通信了。但是其他的外部IP不能利用这个洞向内部主机(192.168.0.100)发送数据,因为它们不是从私有网络内部初始化的现存会话的一部分。

3.1设立注册服务器

NAT之后的主机私有IP地址在Internet上是不能路由的,Internet上的主机不能主动访问这些NAT之后的主机,位于不同NAT之后的主机无法互相识别而不能直接互相交换信息,设立注册服务器可以有效解决这个问题。假设私有网络中的A和B两个主机都与注册服务器s有活动的UDP会话。当主机向S发送消息时,S记录下主机的内网地址信息(IP地址和端口号),这是主机的私有地址;根据接收到的UDP数据报头提取主机的外网地址信息。

3.2建立点对点会话

在初始情况下,由于A主机和B主机的私有IP地址对于对方都是不可见的,B主机不知如何到达A主机。当B要与A通信时,S便用所记录的包含A的公共和私有地址信息响应B。同时,s使用自己与A的UDP会话向A发送连接请求消息,这个消息包含有B的地址信息,为建立与B的UDP会话及打洞做准备。一旦这些消息到达,A和B就会知道对方的公共和私有地址信息。当B从s接收到A的公共和私有地址信息后,B就向这两个终端发送UDP数据报,同样,当A接受到B的公共和私有地址信息时,A就在这两个终端上向B发送UDP数据报,当发向A,B的数据报穿越它们各自的NAT后,洞在两个方向上就得以打开,此后便可顺利通信了。

4对等网络流媒体通信系统的设计与实现

4.1系统原型框架设计

图一 P2P网络流媒体通信系统结构

系统的体系结构如图一所示,当内网的计算机A要与另一内网的计算机B进行流媒体通信时,首先A与B借助注册服务器通过UDP HolePunching技术打通UDP通信链路,然后计算机A和B就不需要注册服务器进行流媒体通信了。

4.2系统实现

图二 系统实现流程

系统的实现流程如图二所示,包括两个流程:通信发送端和通信接收端处理。发送端通过DirectShow采集视频,然后进行H.264编码,通过DirectSound采集语音,然后进行G.729A编码,将文本信息、已编码的视频或语音信息经AES数据加密通过UDP Socket发送给通过UDP Hole Punching建立会话的接收端。而接收端首选数据时首先进行AES解密,然后解析数据包类型,如果是视频帧,则进行H.264解码,然后通过DirectShow回放视频并根据需要进行存储;如果是语音帧则进行G.729A解码,通过DirectSound播放语音;若是文字信息则直接显示。此外接收端监测网络带宽的占用情况,当达到一定阈值时发送控制命令包给发送端,反馈控制视频的采样频率(网络带宽占用主要是视频数据),这样可以在一定程度上提高无线信道上语音和视频的传输质量,提高系统的抗误码率。

4.3可扩展性设计

以上设计说明仅阐述了本系统能提供的点对点流媒体服务,对于点对多和多对多的服务,主要通过UDP组播通信机制实现。对于内部信息系统网络,通过NAT设备配置完全可以实现组播通信。组播通信的最大优点在于点对多数据传输仅需一次发送,无需多次重复发送,有效降低网络带宽的占用和发送端的CPU负担.

5测试与结论

测试环境:分布式仿真信息系统内两个对等内网普通PC作为流媒体通信双方(无法直接通信),注册服务器为普通PC(流媒体通信双方可以该服务器通信)。

测试结果:借助注册服务器,两台对等内网的PC成功建立UDP通信通道,仅语音通信占用带宽为1KBps,语音和视频同时进行占用带宽为6 KBps ~15 KBps不等(动态调整),即使在某一端网络状况较差时,依然可以获得比较清晰的语音和视频图像。

结论:文章通过H.264、G.729A和 UDP Hole等技术,设计和实现了某分布式仿真信息系统的流媒体通信系统原型。测试表明系统具备较强的网络适应性,能够在窄带宽的对等内网中实现较好质量的流媒体通信。系统采用信源加密手段保证通信数据的安全性,加密方式采用AES。系统设计采用组播通信技术进行拓展,具备较强的可扩展性,可广泛用于各种信息系统的及时通讯业务。

阅读推荐

目前国内军民融合领域最具规模,技术装备信息全方位覆盖的北京军民融合技术装备博览会,由中国指挥与控制学会中国国防工业企业协会中关村科技园区海淀园管理委员会共同主办。

展览时间:2018年7月2日-4日

展览地点:北京国家会议中心

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180514G1C3VY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券