关于H.264视频编码传输的QoS特性分析
RTP的封装规范总结如下:
(1)额外开销要少,使MTU尺寸在100~64千字节范围都可以;
(2)易于区分分组的重要性,而不必对分组内的数据解码;
(3)载荷规范应当保证不用解码就可识别由于其他比特丢失而造成的分组不可解码;
(4)支持将NALU分割成多个RTP分组;
(5)支持将多个NALU汇集在一个RTP分组中。
H.264采用了简单打包的方案,即一个RTP分组里放入一个NALU,将NALU(包括同时作为载荷头标的NALU头)放入RTP的载荷中,设置RTP头标值。理想情况下,VCL不会产生超过MTU尺寸的NAL单元,来避免IP层的分拆。在接收端,通过RTP序列信息识别复制包并丢弃,取出有效RTP包里的NAL单元。基本档次和扩展档次允许片的无序解码,这样在抖动缓存中就不必对包重新排序。在使用主档次时(不允许片的乱序),要通过RTP序列信息来对包重新排序,解码顺序号(DON)的概念现正在IETF的讨论中。
存在如下情况,例如当使用内容预编码时,编码器不了解底层网络的MTU大小,将产生许多大于MTU尺寸的NALU。这就需要涉及NALU的分割和合并。
(1)NALU的分割
虽然IP层的分割可以使数据块小于64千字节,但无法在应用层实现保护,从而降低了非平等保护方案的效果。由于UDP数据包小于64千字节,而且一个片的长度对某些应用场合来说太小,所以应用层打包是RTP打包方案的一部分。目前的拆分方案正在IETF的讨论之中,大致具有以下特点:①NALU的分块以按RTP次序号升序传输;②能够标记第一个和最后一个NALU分块;③可以检测丢失的分块。
(2)NALU的合并
一些NALU如SEI、参数集等非常小,将它们合并在一起有利于减少头标开销。现有的两种集合分组:①单一时间集合分组(STAP),按时间戳进行组合,一般用于低时延环境;②多时间集合分组(MTAP),不同时间戳也可以组合,一般用于高时延环境,比如流应用。
五、结束语
本文针对最新推出的视频编解码标准H.264的抗误码性能进行了分析,可以看到H.264/AVC标准除了拥有高效编码的特性,还引入了一些新工具用于提高错误恢复能力。特别是,参数集、NAL上的NALU的概念、灵活的宏块排序FMO、数据分割以及帧内编码等都极大地提高了复杂网络环境下的抗误码能力。同时,详细介绍了与视频比特流传输密切相关的RTP封装规范,与H.264的NAL紧密结合,提供了对数据封装的指导。通过附加了一些传输层的低开销机制来用于NALU包的高效拆分和聚合。当联合使用这些工具时,可以达到更高的性能,在因特网和恶劣的无线网络上进行高质量的视频压缩也将最终成为现实[5]。
■ 参考文献
[1] Wiegand T,Sullivan G J,Bjфntegaard G,Luthra A.Overview of the H.264/AVC Video Coding Standard.IEEE Trans,Circuits Syst,Video Technol.,2003,13(7):560~576
[2] 冯秀波,谢剑英.无线视频传输容错算法研究新进展.通信学报,2003(11)
[3] Wang Y,Zhu Q.Error control and concealment for video communication:a review.Proceedings of the IEEE,1998,86(5):974~997
[4] 毕厚杰.H.264/AVC视频编码标准的技术特点和评价.世界电信,2004(7)
[5] Stockhammer T,Hannuksela M,Wiegand T.H.264/AVC in wireless environments.IEEE Trans,Circuits Syst,Video Technol,2003,13(7):657~673
评论