3G视频监控系统中关键技术的研究与实现

时间:2011-12-21来源:网络

3 RTP协议封装及改进
本文采用RTP协议,提供了端对端传输服务的实时传输协议,用来支持在单播和多播网络服务中传输实时数据,而实际数据的传输则由RTCP控制协议来监视和控制。RTP协议一般要求与RTCP一起使用,来保证数据传输质量。这种结构在本次设计无线环境会遇到两个问题:
(1)如果增加RTCP,那么增加了复杂度,降低了实时性。
(2)RTP协议没有加密信息,容易被非授权用户浏览到视频数据。
针对第一个问题,本文提出一个策略,即在编码端RTP打包时,在每个NAL单元头的前面加上4个字节的帧的长度,解码端只要根据NAL单元的长度,即可判断是否在传输中有错误,如果有将该NAL单元丢弃,此时无需采用RTCP来向监控端反馈信息,从而降低实现复杂度;此时虽然丢弃了一个NAL单元,但是监控端的帧率是20帧/s,根据人眼视觉残留的效应,这基本上不会引起人眼的察觉。这里还要说明,当NAL单元的帧长大于MTU时,为了避免底层驱动将其分包,需要应用层采用分片打包方式,而此时只需在NAL单元的第一个分包增加4个字节的帧长度信息,而无需在每个分包上都加上该字段。这样在手机端无需返回RTCP包等反馈信息,降低了实现复杂度,增强了实时性。
针对第二个问题,本文提出了一个简单加密方案,具体采用的策略是在关键帧后加上自定义加密信息,本设计为3 b的自定义信息,在解码端只要判断该RTP分包是关键帧,去掉RTP头,然后去掉4个字节帧长度信息,再去掉自定义3 b信息,而其他帧不做任何改变。当解码端收到RTP包时,对于非关键帧虽然能正常解包,但是它并不能独立解码,它必须依赖关键帧,因此关键帧加密后,只要关键帧不解密,其他帧都不能正常播放。这种方法无需在所有帧上都加入加密信息,只在关键帧RTP打包增加了几个bit,就达到了比较好的加密效果,在应用中要注意效率和复杂度的权衡来调整相应方案。

4 无线视频传输的健壮性研究
由于本文提出的视频监控系统,需要在3G无线网络中传输,这势必会受到各种因素的影响,这种干扰,轻微时不会淹没正常图像,而严重时图像就无法观看,或者由于无法捕捉到关键信息而无法显示图像。下面首先分析这种故障产生的原因:
(1)视频编码端本身的问题。视频编码端传输线屏蔽性能差造成信号产生较大衰减。此外,编码端也可能受到辐射、设施腐化等不定因素的影响,这也会产生同样的问题。
(2)无线传输环境的影响。无线信道中存在着Rayleigh衰减和多用户干扰,会在传输位流中产生突发性错误(Burst Error)。但压缩后的码流在无线信道中传输仍然存在一些棘手的问题,一方面,这些压缩后的码流对信道比特误码非常敏感;另一方面,无线信道由于多径反射和衰落引入了大量的随机误码和突发误码,结果在解码端将失去与编码端的同步,同时预测编码技术会将错误扩散到整个视频序列中,降低了重建图像的质量。因此,为了实现良好质量的视频传输,必须结合无线信道的传输特性,采取一定的容错措施。
基于以上方面的考虑,以及断续无法重连的问题,本文提出一种方案,并在实践中得到良好的验证,有效地解决了以上问题:即在编码端得到编码序列后周期性地发送两个参数集,即序列参数集和图像参数集,由于它们包含了解码需要的大部分关键信息,包括图像大小、量化参数、NAL单元类型等,因此即使在解码端第一次无法与编码端同步,也可以在后续过程中通过上述两个参数集重新同步。未插入参数集之前、插入参数集之后的示意图如图3,图4所示。

c.jpg


本文的具体方案是在编码端周期性地发送上面的两个序列集,会遇到一个问题,即发送间隔设置,这里提出H.264中一个重要概念IDR帧,由于编码器算法是隔30帧编码一个IDR帧,那么可以在这一个IDR帧之前加入上述两个参数集,当然也可以设置间隔为60,90帧,但这会引入更大延时,由于监控产品严格的实时性要求,所以本文选定了隔30帧周期性发送,那么实际的关键帧间隔则变为32帧。同时可以调整RTP协议里面的时间戳字段,使其配合关键帧间隔的变化。

1 2 3

关键词: 3G视频 监控系统 关键技术

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版