平滑自适应视频播放技术的研究

2016-11-09 01:11朱大伟赵兰博
计算机应用与软件 2016年9期
关键词:缓冲区间隔信道

朱大伟 陈 瑞 袁 璟 赵兰博

1(南京工程学院 江苏 南京 211167)2(国家电网长春供电公司 吉林 长春 130000)



平滑自适应视频播放技术的研究

朱大伟1陈瑞1袁璟1赵兰博2

1(南京工程学院江苏 南京 211167)2(国家电网长春供电公司吉林 长春 130000)

无线信道时变特性引起的缓冲区占用度波动对视觉质量的影响,使得自适应视频播放算法不仅需要考虑缓冲区的占用度,还要考虑缓冲区占用度的波动。提出一种面向安全区域的平滑自适应播放算法SAO-AMP,采用缓冲区的占用度及其波动程度作为触发条件。首先,根据预估接收速率和缓冲区的预期波动情况设置播放速率的调整期,达到平滑视频播放速率的目的。其次,调整播放速率的同时监测缓冲区的占用度,使缓冲区占用度处于预设的安全区域内。实验结果表明,SAO-AMP算法不仅平滑了播放速率的变化,还能控制缓冲区占用度的波动范围。与基于缓冲区占用度的AMP算法相比,SAO-AMP算法的速率调节次数和丢包率均减小了30%,且算法在信道状态变化较大的情况下,依然能很好地工作。

无线视频流自适应媒体播放线性调整服务质量

0 引 言

无线网络中视频通信的主要问题是网络中视频数据包的传输延迟及其抖动。用户收到初始视频包后,无线视频终端将开始播放该视频。通常,视频帧之间的播放时间间隔是固定的,每个视频包都有自己的预定播放时刻,视频包必须在它预定的播放时刻之前到达播放终端,才能保证播放的连续性。为了解决无线信道状态变化引起的视频数据包延迟及其抖动对接收视频质量的影响,可在视频终端设置缓冲机制[1],可以平滑延迟抖动,保证播放的连续性,拉长视频包的传输时间和它的预定播放最后期限之间的时间间隔,降低丢包率,提高视频质量。

但是,缓冲区的引入也会带来一些问题。一方面,不断增大的缓冲会带来更大的缓冲延迟;另一方面,由于网络状况的影响,缓冲区的下溢概率会随着缓冲的增大而减小。自适应媒体播放AMP技术可缓解上述问题。它依据网络状况动态调节视频帧播放的时间间隔,可以保证在一定下溢概率的条件下减小缓冲延迟,增强视频终端缓冲的自适应能力,为用户提供更好的服务质量(QoS)[2]。

通常,AMP算法是根据缓冲区的占用度来触发的。实施方法大多通过设定一个缓冲区门限来表明缓冲区是否处于“满”状态来调节播放速率[3,4]。如果超过这个门限值就触发调节器;否则,调节器不动作。该门限值的大小对算法性能有很大影响:如果门限值太小,会导致在缓冲区并不太满的时候进行一些不必要的调节,缓冲区的状态不断波动,最终导致视频播放的速率也不断波动,用户体验质量下降;反之,如果门限值太大,控制算法的响应时间缩短,导致缓冲上溢的概率增加。此外,该门限值还与网络的状态有关。网络状况差的时候门限值设小一些,而网络状况好的时候门限值设得大一些。但是,网络的状况通常比较难以预测,特别是无线网络。因此,如何根据网络状况预估视频包的接收速率,预测缓冲区的波动,并在调整期内使得播放速率的变化最平滑,是提高用户体验质量的关键[5]。

针对以上问题,本文提出基于安全区域的平滑自适应视频播放算法SAO-AMP。算法采用缓冲区的占用度和缓冲区的波动程度为触发条件,通过预估视频包的接收速率来获得缓冲区的预期波动情况,最平滑地调整播放速率。同时,算法还对缓冲区的占用程度进行控制,使之总处在安全区域内,减小了缓冲区的上、下溢概率,提高视频的播放质量。

1 系统模型

本文采用如图1所示的系统模型。此模型主要包括三部分:视频流服务器、无线信道和视频客户端。

图1 系统模型

图1中,视频服务器以固定帧率R(30 frame/s)发送视频帧,无线信道采用三状态Markov模型来描述。Markov模型中的信道状态用Si(i=0,1,2)表示,丢包率γ(Si)是信道状态Si的函数。为简单计,设三种状态下的丢包率满足:

γ(Si)<γ(Sj)i,j∈[0,1,2]且i

(1)

在视频应用中,有研究表明播放速率变化幅度≤25%,人眼感觉不到[6]。因此,在实验中我们将丢包率γ(Si)限定在0.2以内。

2 基于安全区域的平滑AMP算法SAO-AMP

系统一直监视接收缓冲区的占用度,如果达到需要控制器的触发条件,系统会触发播放速度调节器,采用相应算法来调节播放速度。如果视频序列的接收速率与播放速率大致相等,则缓冲区的占用度基本稳定在某个值。但实际中,由于接收速率的波动,缓冲区的占用度也随之波动,从而需要自适应地调整接收端的播放速率。本文提出了基于安全区域的平滑AMP算法,记为SAO-AMP。该算法触发速率调整的条件不仅仅是基于缓冲区的占用度,还要参考缓冲区的波动幅度。波动幅度定义为当前缓冲区的占用度与设定的缓冲区参考占用度之间的差值。

参考占用度的初始值通常设为缓冲区大小的一半。在PA调整过程中,这个参考值会不断更新,更新为当前的缓冲区占用度,如图2所示。从图中可以看出,在t1、t2和t3时刻,参考占用度的值被不断更新为当前缓冲区占用度,且在t3时刻,即便此时缓冲区没有出现下溢,PA调整也被触发,因为此时缓冲区占用度的波动超过了预定值。

图2 缓冲区参考占用度的更新过程

当PA调整触发后,需要确定两个参数的取值:1) 播放速率调整的最终目标值;2) 速率调整的速度快慢值。播放速率的最终目标值由系统的预估接收速率决定,播放速率调整的快慢由预期变化值决定[10,12]。

为了进一步分析缓冲区的占用度,并参考文献[10,12],设缓冲区的大小为2M,那么缓冲区占用度处在缓冲区大小的1/2处时,缓冲区的上、下溢概率都是最低的。本文为缓冲区设定一个“安全区域”,如图3所示。当缓冲区占用度位于[M-τ,M+τ]范围内时,认为缓冲区处在安全区域,τ是设定的缓冲区占用度的波动门限值。而[0,τ]和[2M-τ,2M]是缓冲区最容易发生上、下溢的区域,也是需要避免出现的“不安全区域”。

图3 缓冲区的安全区域

2.1预估接收速率RRR

如果不考虑丢包,接收时间间隔等于发送时间间隔Is。如果出现了丢包,则接收间隔大于发送间隔。为简单计,假设一个视频帧被封装到一个数据包中。设p(k)为一个视频包k次重传请求后成功传输的概率,接收间隔为I,则平均接收时间间隔E{I}可由下式计算:

(2)

其中,E{·}是数学期望算子,γ(Si)是总的丢包率。

(z+c-1)E{I}

(3)

2.2预期变化值

为了避免播放间隔的突然变化对缓冲区占用度波动的影响,需要在播放质量和缓冲区溢出两个方面做出权衡,平滑地调整播放速率[11]。本文采用一个预期变化值来控制播放速率调整的速度。这个预期变化值不是指缓冲区占用的预期值,而是缓冲区的预期波动。设当前缓冲区占用度为L,则预期变化值C由下式确定:

(4)

当缓冲区占用度在M附近时,预期变化值设定为-2τ。

2.3调整期的设定

预估接收速率和预期变化值确定后,需要确定速率调整期。速率调整期由目标播放间隔I′和预期变化值C来决定。

假设给定了调整期T,播放间隔从I0调整到I′,采用如下线性调整函数进行播放间隔的调整:

(5)

其中,t是时间变量,t0是当前时刻,It是t时刻的播放间隔,T是调整期。当前时刻t0的播放间隔I0为:

(6)

其中,I0-是t0时刻前的播放间隔,ΔT是固定的时间间隔(本文设定为1 ms)。按照式(6)将播放间隔在调整期内从I0线性调整到I′,使播放间隔的波动最小,从而达到播放间隔的平滑改变。

3 SAO-AMP算法实现及结果分析

3.1SAO-AMP实现

在Windows XP操作系统下,用C语言编程实现了面向安全区域的平滑播放算法SAO-AMP,算法流程如图4所示,主要由以下三个模块构成:

1) 视频包/帧处理模块。该模块主要是对接收到的视频包进行一些预处理,并存入缓冲区。

2) 视频播放控制模块。视频播放控制模块主要是控制视频帧的播放,视频帧的播放间隔来自SAO-AMP模块的输出ΔI。

3) SAO-AMP策略模块。SAO-AMP策略模块首先判断是否需要PA调整,然后通过对接收速率的预估,根据PA调整持续时间,计算播放间隔的调整值ΔI,PA调整结束。

图4 SAO-AMP算法流程图

算法的触发条件是本模块的执行条件。在视频播放前,流媒体终端需要预先缓冲一些视频数据,直到缓冲区占满50%才开始播放。系统始终监测视频包的接收速率和接收缓冲区的占用度,SAO-AMP算法根据缓冲区的占用度及其波动来触发播放调整策略。当前缓冲区处于不安全区域之外时,根据缓冲区的波动范围来决定是否进行PA调整:如波动范围不超过±τ时,不触发PA调整;否则触发PA调整。当前缓冲区处在如图3所示的不安全区域时,触发PA调整,即此时波动范围在±τ之间。

3.2实验结果及分析

为了对播放算法的性能进行比较,本文依然采用文献[6]中的8组实验数据作为处理对象。算法的参数初始设置如表1所示。可得设定的缓冲区安全区域为[12,20],不安全区域为[0,4]和[28,32]。AMP算法的平滑度指标采用文献[4]中提出的短期标准波动σs参数。

表1 算法参数的初始设置

为了进行性能比较,实现了传统的基于缓冲区状态的AMP算法(记为SAMP)和本文的SAO-AMP算法。表2中给出了这两种算法的PA平均调整次数和帧丢失数。可以看出,在8组实验数据下,SAO-AMP算法的平均调整次数为5.375,而SAMP的平均调整次数为7.75,减少了30%;SAO-AMP算法的平均帧丢失数为34帧,而SAMP的平均帧丢失数为48帧,减少了29%。

表2 PA调整次数和帧丢失数比较

续表2

在表3中,给出第1组实验数据下PA调整的具体过程。其中,MRI是平均接收时间间隔。实验时间共81.49 s,起始时刻为0。从起始时刻0到1.63 s这个阶段,两个算法都未进行PA调整;从1.63 s到81.49 s这段时间,SAMP和SAO-AMP算法分别进行了6次和3次PA调整。

表3 根据MRI进行的PA调整

两种算法的第一次PA调整,以及调整后的缓冲区占用度和调整后的播放间隔如表3所示。SAMP算法中,在1.63 s时,缓冲区占用度的波动超过了设定的±4范围,则SAMP算法在1.63 s时触发第一次PA调整;第一次调整后的播放间隔为39.92 ms,本次调整间隔T为2.82-1.63=1.19 s。SAO-AMP算法中,1.63 s时,缓冲区占用度的波动超过了设定的±4范围,且当前缓冲区占用度为11,处于不安全区域,则SAO-AMP算法也触发PA调整;第一次调整后的播放间隔为39.97 ms,本次调整间隔T为3.21-1.63=1.58 s。

为了更直观地表示SAMP和SAO-AMP两种算法的PA调整过程,以及PA调整过程中缓冲区的占用度和播放间隔的变化,采用图形表示,如图5所示。

图5 PA调整中缓冲区占用度和播放间隔的变化

从图5可以看出,在时间t=1.6 s时,信道状态的变化导致缓冲区占用度有较大的波动,此时SAMP和SAO-AMP算法都在1.6 s触发了一次PA调整。SAO-AMP算法的触发条件是此时缓冲区占用度为11,超出了设定的安全区域[12, 20]。在t=3 s时,SAO-AMP算法触发了第二次PA调整,因为此时缓冲区占用度为8,超出了设定的安全区域;在t=32 s时,触发第三次PA调整,因为此时缓冲区占用度为22,也超出了设定的安全区域。而在此期间,SAMP算法触发了6次PA调整。

在时间t趋近50 s时,信道状态突然变化,NS-2的仿真显示在t为46 s到50 s之间,出现几个连续丢包。SAMP算法经过前面6次PA调整后,此时缓冲区占用度为8,但波动范围没有超过门限值,所以SAMP算法没有反应,导致缓冲区下溢。而SAO-AMP算法在t=3.2 s时进行了一次PA调整,到t=50 s时,缓冲区占用度为23,经历t=50 s时信道状态突然变差,缓冲区占用度降为12,没有引起下溢。

4 结 语

大多数自适应媒体播放算法都是根据缓冲区的占用度来触发算法来进行播放速率的调整,而没有考虑到无线网络的时变特性而导致缓冲区占用度的波动变化。本文提出了一种新的面向安全区域的平滑AMP算法,称为SAO-AMP算法。算法的触发条件不仅是缓冲区的占用度,还包括缓冲区的波动程度。算法为缓冲区设定了安全区域和不安全区域,缓冲区的占用度处在安全区域则缓冲区上、下溢的概率很低;反之,缓冲区占用度处在不安全区域时最容易发生上、下溢。实验结果表明,提出的SAO-AMP算法不仅能控制缓冲区占用程度的波动在某个范围内,还能控制缓冲区的占用程度总处在安全区域;不仅平滑了播放速率的变化,还减小了缓冲区的上、下溢概率,提高了视频的播放质量。

[1] Stockhammer T,Jenkac H,Kuhn G.Streaming video over variable bit-rate wireless channels[J].IEEE Transactions on Multimedia,2004,6(2):268-277.

[2] 张辉帅,王劲林,朱小勇,等.基于多步下溢概率估计的自适应媒体播放算法[J].网络新媒体技术,2012,1(3):19-23.

[3] Chuang H C,Huang C Y,Chiang T H.Content-aware adaptive media playout controls for wireless video streaming[J].IEEE Transactions on Multimedia,2007,9(6):1273-1283.

[4] Li M,Lin T W,Cheng S H.Arrival process-controlled adaptive media playout with multiple thresholds for video streaming[J].Multimedia Systems,2012,18(5):391-407.

[5] 陈瑞,焦良葆.基于延迟预测的自适应媒体播放算法[J].计算机工程,2009,35(24):225-228.

[6] Jian Yang,Han Hu,Hong Sheng,et al.Online Buffer Fullness Estimation Aided Adaptive Media Playout for Video Streaming[J].IEEE Transactions on Multimedia,2011,13(5):1141-1153.

[7] 李洪炎.移动视频QoS关键技术的研究[D].华南理工大学,2012.

[8] 陈景良.实时移动视频网络自适应QoS技术研究[D].华南理工大学,2014.

[9] 陈勇斌.网络视频自适应传输技术研究与应用[D].西南交通大学,2011.

[10] 刘国英,章云,陈泓屺.H.264视频码流自适应传输的研究与实现[J].广东工业大学学报,2013,30(4):83-87.[11] Zhu H Y,Wang S Y,He K Y.Research on Adaptive Transmission of H.264 Video Stream and QoS Guarantee Based on SIP[R].2012 Fourth International Conference on Computational and Information Sciences,2012:41-44.

[12] 欧巧凤,邓谦.无线流媒体系统的多模式自适应缓冲设计[J].南昌航空大学学报:自然科学版,2010,24(3):11-15.

ON SMOOTH ADAPTIVE VIDEO PLAYBACK TECHNOLOGY

Zhu Dawei1Chen Rui1Yuan Jing1Zhao Lanbo2

1(Nanjing Institute of Technology,Nanjing 211167,Jiangsu,China)2(StateGridChangchunPowerSupplyCompany,Changchun130000,Jilin,China)

The impact of fluctuation in buffer occupancy on visual quality caused by the time-varying characteristics of wireless channel makes the adaptive video playback algorithm not only need to consider the buffer occupancy but also its fluctuation. This paper proposes a safety area-oriented smooth adaptive playback algorithm SAO-AMP, it uses buffer occupancy and its fluctuation level as trigger condition. First, according to the pre-estimated receiving rate and the anticipated fluctuation situation of buffer it sets the adjustment phase of playback rate to achieve the goal of smoothing video playback rate. Secondly, while adjusting the playback rate it also monitors buffer occupancy and controls the occupancy within the default safety area. Experimental results show that the SAO-AMP algorithm not only smoothes the variation of playback rate, but can also control the fluctuation range of buffer occupancy. Compared with the buffer occupancy-based AMP algorithm, the rate adjustment times and packet loss rate of SAO-AMP algorithm all reduce by 30%, and this algorithm can work well when under the condition of bigger channel state variation.

Wireless video streamingAdaptive media playbackLine regulationQuality of service

2015-03-27。国家自然科学基金项目(61471162);江苏省自然科学基金项目(BK20141389);江苏省未来产业研究院项目(BY2013095-4-07);南京工程学院青年基金项目(QKJB201407)。朱大伟,实验师,主研领域:图像处理与模式识别。陈瑞,副教授。袁璟,副教授。赵兰博,工程师。

TP399

A

10.3969/j.issn.1000-386x.2016.09.025

猜你喜欢
缓冲区间隔信道
间隔问题
间隔之谜
基于网络聚类与自适应概率的数据库缓冲区替换*
一类装配支线缓冲区配置的两阶段求解方法研究
基于导频的OFDM信道估计技术
一种改进的基于DFT-MMSE的信道估计方法
关键链技术缓冲区的确定方法研究
基于MED信道选择和虚拟嵌入块的YASS改进算法
初涉缓冲区
上楼梯的学问