无线视频传输QoS优化研究

2018-05-15 08:31冯灵霞张亚娟
软件导刊 2018年4期

冯灵霞 张亚娟

摘 要:随着智能手机信息处理能力的增强和移动互联网传输速率的大幅提升,使用手机通过移动网络进行视频传输越来越普及。Android操作系统雄踞智能手机终端操作系统榜首。由于无线信道环境恶劣,利用无线网络传输高质量视频极富挑战。选择使用H.264作为视频压缩标准,基于现有AMID算法,提出一种将丢包率和接收缓冲区使用情况相结合的改进AMID拥塞控制算法。实验表明:在网络状况良好情况下,虽没有明显改善接收端丢包率,但发送端发送数据包个数明显增加;在网络状况较差时,对改善丢包率作用明显,说明该系统对保障视频传输QoS有一定作用。

关键词:视频传输;RTCP;拥塞控制;AMID算法;Android

DOI:10.11907/rjdk.172670

中图分类号:TP319

文献标识码:A 文章编号:1672-7800(2018)004-0148-03

Abstract:With the enhancement of the information processing ability of smart phones and the promotion of the mobile Internet transmission rate, it has become more and more popular to use mobile phones to transmit video via mobile network. In the smartphone platform, Android operating system in the intelligent terminal operating system list on the top. Because the wireless channel environment is abominable, to achieve high quality video transmission over wireless networks is a challenging task. Therefore, the system chooses to use H.264 as the video compression standard by comparison. At the same time, on the basis of H.264, an improved AMID congestion control algorithm combining the packet loss rate and the received buffer usage is proposed based on the existing AMID algorithm. The experiment shows that, When the network is in good condition, although the packet loss rate of the receiver is not obviously improved, the number of packets sent at the transmitter has increased significantly. When the network is poor, it has obvious effect on improving the packet loss rate. So the system has some significance to ensure video transmission QoS.

Key Words:video transmission; RTCP; congestion control; AMID algorithm; Android

0 引言

智能手机既具有手机功能,又具有掌上电脑的信息处理功能,深受人们喜爱。智能手机通过无线方式切入网络,帮助人们从网络中获取信息。Android因其開源性代码和良好的应用占据了智能手机操作系统的大半壁江山。智能手机可通过无线网络传输信息给远程处理终端。诸多信息中,多媒体视频信息量巨大,将智能手机和传统的视频实时通信需求相结合具有广阔的应用前景。视频实时通信涉及到视频采集、编码、传输、解码和显示等多项技术,本文通过合理选择视频编码标准、精心设计网络传输模块以及改进常用的拥塞控制算法,以保证基于Android平台的无线视频传输QoS(Quality of Service,服务质量)。

1 无线视频传输系统分析

基于Android手机的无线视频传输系统实现端到端的无线视频传输,包含视频采集和视频播放两大部分[1]。系统结构如图1所示。

视频信息由基于Android的智能手机实时采集并编码,通过无线通信网络发送出去,而手机播放终端则要完成视频的接收、解码和播放等工作。

2 视频编码标准选择

2.1 视频编码标准

视频压缩编码标准由国际标准化组织(International Organization for Standardization,ISO)和国际电信联盟(International Telecommunications Union,ITU)制定,ISO主要标准有MPEG-1、MPEG-2、MPEG-4、MPEG-7和MPEG-21,ITU标准有H.261、H.263和H.264[2]。MPEG标准主要应用于广播电视、视频存储、互联网或无线互联网流媒体等,而ITU制定的标准主要用于网络传输,尤其是实时的视频通信领域。另外,ITU-T视频专家组和ISO动态图像专家组组成的联合视频组(JVT)共同制定了新一代的视频编码标准H.264[3]。

当前互联网最常用的视频编码技术是MPEG-4和H.264。

2.2 常用视频编码标准优劣比较

MPEG-4于1998年11月公布,其设计初衷是针对视频会议、可视电话的超低比特率编码,经调整后更加侧重于多媒体系统的交互性和灵活性[4]。MPEG-4主要应用于视频电话、视频电子邮件和电子新闻等,对传输速率要求较低,可以利用很窄的带宽传输数据,从而以最少数据获得最佳图像质量。

H.264是继MPEG-4之后的新一代数字视频压缩标准,它既保留了以往压缩技术的精华,又具有其它压缩技术无法比拟的优点。

在同等图像质量的条件下,H.264的压缩比是MPEG-4的1.5~2倍,采用H.264技术压缩后的数据量只有MPEG-4的1/3[5],大大节省了用户的下载时间和数据流量收费。同时,H.264技术采用视频编码层(VCL)和网络提取层(NAL)的分层设计,不仅使信号处理和网络传输分离,而且在不同的网络环境下,网关不需对VCL比特流进行重构和重编码。

综上所述,无线视频传输适合采用H.264视频编码标准。

3 网络传输模块设计

基于手机的无线视频传输系统,由于无线通信带宽稳定性不强,因而时快时慢现象时有发生。而实时传输系统采用的RTP通信协议并不提供任何保证传输质量的措施[6],所以需要在应用程序中增加保障视频传输QOS的相关策略。

3.1 拥塞控制策略

当视频信息通信量激增时,常常会发生网络拥塞现象,从而造成视频数据包的传输延迟和大量丢失,影响视频传输的QOS。

常见的拥塞控制机制有速率控制和速率整形两种[7]。前者是指将视频的发送速率和网络当前的传输带宽匹配,后者是指对编码后的视频流进行修正以匹配当前的网络带宽。由于速率控制比速率整形更容易实现,所以常通过速率控制对RTP的传输过程进行拥塞控制。基于速率的拥塞控制策略根据应用环境分为基于发送端、基于接收端和混合方式3种。其中基于发送端的速率控制常通过调整发送端的传输速率以适应网络带宽的变化。本系统中,接收端(客户端)的计算和处理能力远比不上发送端(服务器端),所以采用基于发送端的速率控制。

3.2 AIMD算法

拥塞控制算法中行之有效的是AMID算法,即“加法增大”(Additive Increase)和“乘法減小”(Multiplicative Decrease)[8]。其实现思想是:根据实际应用要求设定丢包率的上限值和下限值,当丢包率处在上限值和下限值之间时,维持发送速率;当丢包率超过上限值时,快速降低发送速率(比如减半);当丢包率低于下限值时,缓慢增大发送速率(比如加上某个值)[9]。

AMID算法在实现时,关键是如何确定发送速率的变化参数,从而保证传输平稳。

3.3 AIMD算法改进

3.3.1 RTP丢包率计算

RTP协议包含RTP数据协议和RTCP控制协议两部分[10]。RTCP一般采用和RTP相同的分发机制,周期性地向参与会话的所有成员发送控制信息,根据此控制信息计算出丢包率,计算公式如下:

式(1)中,Psend(t)表示发送端在时间段t内发送数据包的个数,Prec(t)表示接收端在时间段t内接收到的数据包个数, Plost(t)就是t时间段内的丢包率。

3.3.2 网络状况评估

设置丢包率上限值Plostmax和下限值Plostmin,若Plostmin≤Plost≤Plostmax,则网络状况正常,维持发送速率;若PlostmaxPlost,则网络状况良好,需要执行拥塞控制算法缓慢提升发送端发送数据的速率,提高收视质量。

3.3.3 改进算法描述

由于智能手机的性能配置较PC机低,所以对视频信息的解码处理速度较慢,因此在拥塞控制算法中除了通过丢包率查看网络状况外,还要结合接收端的缓存状况,在客户端的接收缓冲区设置两个临界点C1(位于缓冲区1/4处)和C2(位于缓冲区3/4处),如图2所示。

算法实现描述如下:

依据丢包率计算公式计算此刻的丢包率Plost(n),与设置的丢包率上限值Plostmax和下限值Plostmin进行比较,根据比较结果分别进行处理:

3.3.4 改进算法伪码

算法的伪码表示如下:

IF Plost(n)

{IF Buff(n)

{S(n)= Smax;

}

ELSE IF Buff(n)<(C2-C1)/2 //缓冲区较空

{S(n)=min{Smax,(S(n-1)+α)};

}

ELSE IF C2>Buff(n)>(C2-C1)/2 //缓冲区较满

{S(n)=min{Smax,(S(n-1)+α/2)};

}

ELSE //缓冲区很满

{S(n)=S(n-1);

}

}

ELSE IF Plostmin≤Plost(n) ≤Plostmax//网络状况正常

{S(n)=S(n-1)

}

ELSE //网络拥塞

{IF Buff(n)

{S(n)=max{Smin,(S(n-1)× β)};

}

ELSE

{S(n)=max{Smin,(S(n-1)× β2)};

}

}

3.3.5 改进算法结果分析

为验证改进的拥塞控制算法对丢包率的影响,进行以下测试:

实验平台包括1个发送端和5个接收端,设定每隔5s发送一次RTPC报文,选取其中的两个接收端进行重点观察。设定丢包率的上限值和下限值分别为5%和3%。为验证拥塞控制算法,设定接收端A所处的网络带宽处于平均水平之上,接收端B所处的网络带宽处于平均水平之下。统计两个接收端分别采用传统的AIMD算法和改进后的AIMD算法下的丢包率,如表1所示,表中统计时间段为200s。

从表1可以看出:

(1)由于接收端A所处的网络环境明显高于接收端B,所以不管采用何种算法,发往A的数据量和A接收到的数据量都明显高于B。

(2)对于接收端A,由于其所處网络环境较好,所以根据改进的AIMD算法,会导致对A发送的数据量稍微偏大,造成丢包率有所上升,但总的接收数据量有所提高。

(3)接收端B所处网络环境较差,根据改进的AIMD算法,会以较快速度降低发送速率,造成发给B的数据包个数减少,但丢包率却明显提高,说明视频播放质量得到提升。

4 结语

本文以提高视频传输质量为研究目的,通过精心选择合适的编码标准和对传输过程中的拥塞控制,在现有AIMD算法基础上,提出了一种将丢包率和接收端缓冲区使用情况相结合的改进的AIMD拥塞控制算法。对该算法进行实验验证,结果表明:在网络状态良好的情况下,虽没有改善接收端的丢包率状况,但发送数据包的个数却有所增加;在网络状态较差的情况下,接收端的丢包率有较好的改善,表明该措施在保障视频传输QoS时有一定作用。

参考文献:

[1] 杨光平.基于Android的移动流媒体实时传输系统设计与实现[D].西安:西安电子科技大学,2012.

[2] 毕厚杰,王健.新一代视频压缩编码标准:H.264/AVC[M].北京:人民邮电出版社,2009:132-135.

[3] 唐玲娜.H.264视频解码优化及DSP实现[D].成都:电子科技大学,2009.

[4] 张琛琛.基于手机视频监控应用的QOS技术研究与优化设计[D].广州:华南理工大学,2012.

[5] 李校林,刘海波,张杰,等.RTP/RTCP,RTSP在无线视频监控系统的设计与实现[J].电视技术,2011,35(19):89-92.

[6] 李军.异构无线网络融合理论与技术实现[M].北京:电子工业出版社,2009.

[7] KUNARAK S, SULEESATHIRA R. Predictive RSS with Fuzzy Logic based Vertical Handoff Algorithm in Heterogeneous Wireless Networks[J].IEEE Communications and Information Technologies(ISCIT),2010(1):1235-1240.

[8] 朱辉.改进的异构无线网络垂直切换算法[J].西安邮电学院学报,2012,17(1):38-41.

[9] 刘浩,胡栋.基于RTP/RTCP协议的IP视频系统设计与实现[J].计算机应用研究,2012,19(10):140-143.

[10] 李潘潘.基于Android系统的SIP无线视频通信技术研究[D].西安:长安大学.2011.

(责任编辑:杜能钢)