- 1 -
基于 RTP自适应分包的视频无线传输技术
卓薇
宁波大学信息科学与工程学院,浙江宁波 (315211)
摘 要:本文重点研究了MPEG-4码流的 RTP分包问题。传输中的丢包率和 RTP包的长度
有关,为了在无线信道中降低丢包率,改善解码的效果,文章在 RFC3016 的基础上,提出
了一种能够根据网络状态的变化调整 RTP 包的大小的自适应分包算法。最终在 ARM 系统
上实现了高分辨率视频图像的采集、编码、无线发送等。实验结果表明,该方法能较好地改
善大数据量视频信号的无线传输质量。
关键词:RTP/RTCP,MPEG-4,RTP 分包,无线传输,Z228
中图分类号:
1. 引 言
随着现代通信的发展,人们对视频传输的要求也越来越高。清晰的、低延迟的动态画面
质量一直是人们所追求的。为了保证连续播放视频,视频数据必须及时地到达接收端,否则
播放过程会中断,播放质量严重下降,而 RTP 是解决视频实时传输问题的比较好的办法。
RTP协议通常在 UDP上运行以利用它的多路复用技术与校验和服务。对于不同编码方法,
RTP 采取了不同的分包方式,这样便能有效的降低由于网络丢包或拥塞丢包而导致的解码
效果差的影响。尤其在无线信道中传输高分辨率的视频图像,由于传输数据量较大、而无线
信道带宽又极其有限,因此对视频流采取合理的、动态的 RTP分包方法则更有意义。
2. 视频无线传输的特点
无线信道的带宽资源是一种稀有资源,无线信道又具有易错、时变和带限的特点[1]。而
原始数字视频信号的数据量大,因此高压缩比的视频编码方法是解决无线视频传输的首选。
MPEG-4 视频压缩标准能够提供极高的压缩比,最高可达 200:1。更重要的是,MPEG-4
在提供高压缩比的同时,对数据的损失很小。
目前无线局域网内主流技术是 WiFi 技术,主要采用的是 和
两种协议,最大有效传输速率分别为 11Mbps 和 54Mbps,但即便是 54Mbps 的理论带宽,
它的实际有效传输带宽也仅仅是 5~7Mbps。以传输分辨率为 640*480的 VGA大小的视频图
像为例,若输入为每秒 30帧的 RGB原始数据,则编码前每秒的数据量约为 221Mbit,假设
普通 MPEG-4 编码器的压缩比为 50:1,则编码后的每秒须传输的数据量约为 。这
个数据量是相当大的,几乎占用了所有的有效无线带宽。经测试,54Mbps 理论网络带宽的
无线网络中,传输 VGA格式的视频图像,已经是该网络的极限。
综合以上视频图像无线传输的特点,可以表明无线信道的丢包率和误比特率要比有线环
境大得多。在无线网络中丢包情况分为 3种统计级别: 15%~20%属于高丢包率,5%~10%属
于中丢包率,1%~3%属于低丢包率。因此在无线传输中,我们不但要求视频信号要有很高
的压缩比,还要求无线信道要有很高的抗误码的能力和较低的丢包率,把丢包率控制在中低
程度。
3. RTP协议的介绍
RTP是用于 Internet上针对多媒体数据流的一种实时应用的传输协议,可以提供端到端
- - 2 - -
的网络传输服务[2]。RTP 数据包由 12 个字节的固定包头和不一定长的有效负载组成,有效
负载可以是视频数据也可以是音频数据,但由于传输网络的带宽限制,音频或视频数据一般
都是经过编码压缩的。RTP数据包的格式如图 1。
图 1 MPEG-4视频流的 RTP数据包的格式
Fig1 . RTP payload format for MPEG-4 streams
RTP是运行在 UDP上的传输层协议,因此并不能保证数据传输的可靠性。RTP包要加
入 UDP包头后才能封装成 UDP包,继而传递给 IP层,再加入 IP包头封装成 IP包,这样
就可以发送到底层数据链路层进行帧的组合,最后交由网络物理层进行传输。
与 RTP密切相关的是 RTCP(实时传输控制协议),两者是密不可分的,配合使用的。
RTCP可以为传送的 RTP数据的 QoS提供反馈如丢包率,延时抖动等,以此来判断网络的
状况。RTP则根据 RTCP接收者报告中的反馈信息进行计算和比较。RTCP数据包有如下五
种不同控制信息的包类型:发送者报告 SR,接收者报告 RR,源描述 SDES,退出指示 BYE
以及特定应用信息 APP。
4. MPEG-4码流的 RTP分包算法
对 MPEG-4 的 RTP 负载格式比较复杂,为了不造成 IP 碎片,减少错误传播,在 RTP
分包时包长必须有个限制,即不能超过该网络路径的最大传输单元 MTU。传统的分包技术
多数采用了 RTP硬分包的技术,即不管数据的内容,机械的将固定的值(常常以 MTU)作为
每个包的大小。这样,同一个视频帧可能会被放入两个不同的包内,每个数据包之间的相关
性会非常大,数据一旦发生丢包,就无法在接收端采取差错掩盖的技术进行恢复,因为接收
到的数据有可能是不完整的,也不知道是哪一帧被丢弃了。因此,这种方法有可能造成接收
端画面的黑屏或者不连续,大大影响了播放的质量。
而 MPEG-4 是基于对象的视频编码标准,它的比特流提供了视觉场景的分级描述。
MPEG-4使用的是视频对象平面(VOP)的概念。本方案沿用了 RFC3016[3]的提出的以 VOP
作为封装的基本单元进行软分包技术,并在此基础上提出了一种自适应调整分包大小的方
法。以 VOP为单位打包既提高了效率,又充分利用MPEG-4的编码特性,具体分包规则如
下:
(1)MPEG-4码流的头通常携带比较重要的信息,所以单独一个 RTP包。
(2)不同的 VOP 应该分为不同的 RTP 包,一个 RTP 包只包括与唯一 VOP 的时间相
关的数据(在 RTP 包头的时间戳字段中指出)。即使在包空间允许的情况下,也不能把不
同的 VOP数据打入同一个 RTP包中。
(3)对于一个超过MTU大小的 VOP的分包,要分成几个不同的 RTP包(VGA格式的
MPEG-4视频流中几乎每个 VOP都会超过MTU的大小)。每个包的数据以宏块为单位打入。
一个包的丢失只是导致几个宏块的损坏。这样,接收端的解码时可以采用差错掩盖技术,使
- - 3 - -
解码时尽可能掩盖和减小由于丢包而出现的差错,使图像的视觉效果接近于原来的效果。
自适应调整分包大小的方法具体如下:通过 RTCP反馈过来的丢包率信息,判断当前的
网络状况处于轻载、重载或是拥塞。若确认处于长期拥塞的状态时,则对它的分包大小进行
动态的调整,减少包的长度。待恢复正常以后再缓慢增大包的长度。很多文献都对网络传输
带宽的预测和控制函数模型进行了研究,一般都基于快降慢升(即乘性减少,加性增加)的
策略,类似的,本方案的基于宏块的打包的方法如公式(1):
surplus
surplus
{ , }
{ , } 1
pre loss threhold
new
pre threhold loss
MIN MB AIR MB P P
MB
MIN MB MB P Pα
⎧ ⎡ ⎤+ ≤⎪ ⎣ ⎦=⎨ ⎡ ⎤ < ≤⎪ ⎣ ⎦⎩ i (1)
其中 lossP 为返回的 RTCP 包所含的丢包率, surplusMB 一个 VOP 中所剩余的宏块个数,
AIR为线性增量因子,α 为乘性减少因子, threholdP 为丢包率的门限值, preMB 为当前打
入一个 RTP数据包的宏块个数, newMB 为根据当前网络状态更新后的一个 RTP包中的宏块
个数,[ ]i 为取整符号。
若当前的丢包率小于丢包率的门限值即 loss threholdP P≤ 时,说明当前的网络条件较好,
随着丢包率的减少,通过加上一个增量因子 AIR,来使用线性方式逐渐地增加下一个的 RTP
包中的宏块个数。若当前的丢包率大于丢包率的门限值即 1threhold lossP P< ≤ 时,说明网络不
能负荷当前的包的大小,那么随着丢包率的增加,通过乘以一个小于 1的乘性减少因子α ,
来使用乘性方式快速地减少下一个 RTP包中的宏块个数,使之尽快地适应网络的丢包状况。
但上述更新后打入下一个的 RTP包中的宏块数不能超过剩余的宏块个数。这样,VOP就能
根据网络的状态,实时动态的调整 RTP 分包的大小,有效的控制网络传输的丢包率。上述
一个 VOP的自适应分包处理流程如图 2。
newMB
surplus{ , }new preMB MIN MB AIR MB⎡ ⎤= +⎣ ⎦
surplus{ , }new preMB MIN MB MBα⎡ ⎤= ⎣ ⎦i
图 2 一个 VOP中的自适应分包处理方式
Fig2. use an adaptive packeting mothed to handle one VOP
- - 4 - -
5. 视频传输系统的实现
本视频传输系统由图像采集、图像编码、RTP 无线发送、RTP 无线接收、图像解码、
播放几个部分组成,如图 3。利用丢包率近似地反映网络性能指标,通过 RTCP建立的反馈
通道,自适应调整分包的大小。这样既充分发挥了 RTP 协议具有良好实时性的优势,又实
现了多媒体传输 QoS的自适应控制。
图 3 视频传输系统的框图
Fig3 . block diagram for video wireless transmission system
本系统采用的是 JADE的 Z228芯片,该芯片是以 ARM926EJ为内核嵌入式 CPU的多
媒体处理芯片,主要负责设备的控制(包括对摄像头采集的控制)、芯片内部的 MPEG-4
的硬件编解码和控制 RTP的无线传输。无线发送模块使用的是 AzureWave公司 AW-GH320
芯片,该芯片采用了 Marvell 公司的 WLAN 芯片 88W8686 为核,带有 RF 射频天线,支持
SPI接口的方式与 Z228相连。通过 PlatformBuilder软件成功定制
WINDOWS CE 嵌入式操作系统后,导出 SDK,便可在 Embeded Visual C++(EVC)
软件中开发[]。
软件部分的流程图如 4,主要包括了 MPEG-4 编码和 RTP 分包发送两大部分。由于采
用是硬件编码,相对于软件编码来说,极大的提高了压缩速率,减少了编码时间,保证了的
采集到的视频图像能实时的传输。同时,我们也只要通过接口函数控制编码器的参数设置,
来对每一帧的数据进行编码并读取编码后的码流数据,用于 RTP 的分包和发送。RTP 分包
发送部分则采用上述自适应分包规则对数据直接进行分包处理。若一个 VOP的数据量大于
1024 个字节,则根据 RTCP 反馈过来的网络带宽信息,自动的进行宏块打包处理,直至把
一个 VOP的数据封装成若干个 RTP包。最后通过射频天线将采集到的视频图像发送到接收
端上进行解码、播放。
- - 5 - -
MP4EncInit
MP4EncSetRateCtrl
MP4EncSetCodingCtrl
MP4EncSetUsrData
MP4EncSetSmooth
MP4EncSetCrop
MP4EncStrmStart
VOP
MP4EncStrmEncode
?
MP4EncRelease
MP4EncStrmEnd
FrameLength
>=1024byte
RTP
RTP
RTP
Y
N
Y
N
RTP
RTP
MPEG-4
图 4 编码及 RTP发送部分的软件设计流程图
Fig4 .the software flow chart for encoding and RTP-packets’ sending
6. 实验数据分析
通过前期实验,表明无线传输分辨率为 320*240的 QVGA 格式的图像,由于数据量不
大,因此丢包率都稳定在 1%-3%之间,对改进 RTP分包算法效果不明显。最终该实验中采
用的是 130万像素的 CMOS摄像头,采集帧率为每秒 30帧,图像分辨率是 640*480(VGA
格式)。由于是实时采集,所以每次发送的数据量各不相同,但发送数据量普遍在 20M 字
节至 30M字节之间,表 1是多次实验获得的丢包率数据。
表 1 实验获得的 RTP硬分包和 RTP自适应分包的丢包率数据对比
Table experimental result for the different packeting methods
由此可以看出,采用 RTP自适应方法对 MPEG-4流进行分包时,无线传输的丢包率较
传统的硬分包的丢包率小,均值在 %左右,在无线网络中属于中低丢包率,因此丢包率
第 N次测试 N=1 N=2 N=3 N=4 N=5 平均丢包率
RTP硬分包
第 N次测试 N=1 N=2 N=3 N=4 N=5 平均丢包率
RTP自适应分包
- - 6 - -
与包的长度有直接的关系。从视觉感官角度来说,图像的连续性较好,传输延迟小,效果比
较理想。此外,当发送频率下调至每秒 15帧时,则丢包率明显下降,因此丢包率和包的发
送频率也是非常有关的。
7. 结束语
该系统采用硬件的压缩编码改善了视频帧的图像效果,提高了传输效率,减轻了 ARM
芯片的负担。对MPEG-4码流进行 RTP自适应分包的算法,是在 RFC3016的基础上的改进,
根据网络带宽动态的分配 RTP 包内的宏块大小,不仅使发送速率与当前网络可用带宽相匹
配,大大降低的网络中丢包的可能性,而且去除了相邻包之间的相关性,有利于解码的效果。
在Z228硬件平台上实现的MPEG-4视频流点对点的RTP无线传输为今后在无线局域网内点
对多点的无线传输的研究奠定了一定的基础。
参考文献
[1] 董振亚 ,张拥军,彭宇行.基于 RTP的MPEG-4视频传输[ J ],计算机应用研究, 2003,20 (7) : 57~59.
[2] 梁姗.基于无线网络的视频传输系统的研究[D] .北京:北京邮电大学,2006.
[3] Payload Format for MPEG24 Audio /Visual Streams [S] . 2000.
[4] 姚聪,方勇,汪敏等,基于 ARM 的嵌入式图像采集处理系统及其无线传输[J] .电子技术,2003,11(3):25~28.
[5] 何宗键.Windows CE嵌入式系统[M].北京:北京航空航天大学出版社,006.第一版.
A Technology of Video Wireless Transmission Based on
RTP’s Adaptive Packeting Algorithm
Zhuo Wei
Faculty of Information Science and Technology, Ningbo University, Ningbo, China (315211)
Abstract
This paper focus on the RTP packeting problem of MPEG-4 streams. The packet-loss rate relates to
the RTP packets’ length. In order to decrease the packet-loss rate and improve the decode effect when
the signal is transmitted in wireless channel, this paper provided an adaptive algorithm which can
adjust the RTP packet size automatically by the network condition, based on the
scheme has been implemented on ARM system including capturing and encoding high definition video
picture, wireless transmission and so on. The experimental result has proved that the algorithm can
improve the wireless transmission quality of video signal with big data size.
Keywords: RTP/RTCP; MPEG-4; RTP Packeting; Wireless Transmission; Z228
作者简介:卓薇,女,1983 年生,宁波大学通信与信息系统专业在读硕士研究生,主要研
究方向是多媒体通信。