本发明属于无人机视频流传输领域,更具体地,涉及一种基于drl的比特率自适应无人机视频流传输方法。
背景技术:
近年来,基于无人机的视频流应用数量迅速增长,例如利用航拍无人机进行视频直播等。大多数的视频播放器都使用自适应比特率(abr,averagebitrate)算法来优化视频质量。视频的下载与播放是分块进行的,每个块都有几种不同的编码方式,分别对应不同的视频质量(比特率):高清、超清、流畅等等。而abr算法所要做的就是自动根据其所依据的观测指标为下一个所要下载的视频块选择最佳的比特率。
现有的abr算法包括基于缓冲区的算法、基于速率(即吞吐量)的算法等。在特定的场景中这些算法效果比较理想,但是这些算法的设计都是基于简化的环境模型或者固定的控制规则,因此不能适用于广泛的网络条件。为解决上述问题,有研究采取深度强化学习(drl,deepreinforcementlearning)生成视频abr算法,深度强化学习的agent会自动根据过去的经验数据学习出如何做出最佳的决策。
然而,与传统的地面终端通信不同,无人机的飞行轨迹更加波动,使得多普勒效应更加明显,同时前后时刻的信道状态波动剧烈,使得信道状态信息csi很难估计准确,解调容易出错,最终造成吞吐量的下降。因此将基于drl的ab算法应用到无人机视频流时会遇到困难。
技术实现要素:
针对现有技术的缺陷,本发明的目的在于解决现有技术将基于drl的ab算法应用到无人机视频流时,由于无人机前后时刻的信道状态波动剧烈,使得信道状态信息csi很难估计准确,解调容易出错,最终造成吞吐量的下降的技术问题。
为实现上述目的,第一方面,本发明实施例提供了一种基于drl的比特率自适应无人机视频流传输方法,该方法包括以下步骤:
s1.无人机将第1-8个视频块以设定比特率传输给地面客户端,t初始化为9;
s2.将第t个视频块开始时刻对应的无人机状态信息发送给地面客户端,所述无人机状态信息包括gps、加速度和飞行速度;
s3.依据各无人机状态信息对无线信道的影响,地面客户端对各无人机状态信息分级处理,得到分级处理后的无人机状态
s4.无人机状态
s5.地面客户端将当前状态向量
s6.无人机根据比特率选择lt,将第t个视频块发送给地面客户端;
s7.将t更新为t+1,并重复步骤s2-s6,直至视频流中所有视频块传输结束。
具体地,所述依据各无人机状态信息对无线信道的影响,地面客户端对各无人机状态信息分级处理,得到分级处理后的无人机状态
(1)将距离小于50米定义为dt=0,距离不小于50米定义为dt=1;
(2)将速度处于[0,4)区间定义为pt=0,速度处于[4,8)区间定义为pt=1,速度处于[8,12)区间定义为pt=2,速度处于[12,∞)区间定义为pt=3;
(3)将加速度小于18.5m/s2定义为at=0,加速度不小于18.5m/s2定义为at=1。
具体地,所述视频状态
具体地,采用advantageactorcritic方法作为drl网络的策略。
具体地,采用lstm网络对过去八个视频块的平均吞吐量进行处理,提取出时域上的特征,再与其他输入参数一同输入至drl网络的隐藏层。
具体地,比特率选择包括比特率240p、360p、720p和1080p,分别对应流畅、低清、高清和超清。
第二方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的比特率自适应无人机视频流传输方法。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
1.本发明将传感器收集到的无人机状态信息作为abr的参考指标,无人机状态信息包括飞行速度、加速度、收发端距离,并依据上述参数对空地无线信道的影响程度对其分级处理,使得每次视频比特率决策均考虑了无人机状态的影响,使其适用于信道状态随无人机状态波动剧烈的情形,提高了用户体验质量;
2.本发明将lstm网络应用到drl方法中,lstm网络对过去八个视频块的平均吞吐量进行处理,提取吞吐量时域序列的特征,以更好地掌握信道状态的变化情况,提高了对未来的信道状态的预测能力,比特率选择更正确。
附图说明
图1为本发明提供的系统结构框架图;
图2为本发明实施例提供的收发端距离-吞吐量曲线图;
图3为本发明实施例提供的速度-吞吐量曲线图;
图4为本发明实施例提供的加速度-吞吐量曲线图;
图5为本发明实施例提供的深度强化学习网络架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为本发明提供的系统结构框架图。如图1所示,无人机与地面终端通过无线网(wifi802.11n)连接。无人机向地面客户端传输视频流,同时无人机上的传感器收集无人机状态信息(gps,加速度,飞行速度),并发送给地面客户端。地面客户端将收集到的传感器数据经过简单处理后,与过去的吞吐量、客户端视频缓冲区状态共同作为abr算法(drl网络)的输入。上述输入经过drl网络之后,输出一个比特率选择给无人机。无人机根据abr算法所选择的比特率将对应编码的视频块发送给地面客户端,同时发送传感器数据。abr算法所要做的就是自动根据其所依据的观测指标为下一个所要下载的视频块选择最佳的比特率。
本发明提供一种基于drl的比特率自适应无人机视频流传输方法,该方法包括以下步骤:
s1.无人机将第1-8个视频块以设定比特率传输给地面客户端,t初始化为9;
s2.将第t个视频块开始时刻对应的无人机状态信息发送给地面客户端,所述无人机状态信息包括gps、加速度和飞行速度;
s3.依据各无人机状态信息对无线信道的影响,地面客户端对各无人机状态信息分级处理,得到分级处理后的无人机状态
s4.无人机状态
s5.地面客户端将向量
s6.无人机根据比特率选择lt,将第t个视频块发送给地面客户端;
s7.将t更新为t+1,并重复步骤s2-s6,直至视频流中所有视频块传输结束。
步骤s1.无人机将第1-8个视频块以设定比特率传输给地面客户端,t初始化为9。
设定比特率是比特率240p、360p、720p、1080p中任一个,它们分别对应流畅、低清、高清、超清。
步骤s2.将第t个视频块开始时刻对应的无人机状态信息发送给地面客户端,所述无人机状态信息包括gps、加速度和飞行速度。
无人机状态信息包括gps、加速度和飞行速度,通过传感器收集。
步骤s3.依据各无人机状态信息对无线信道的影响,地面客户端对各无人机状态信息分级处理,得到分级处理后的无人机状态
对输入的各参数进行分级,分级处理所依据的标准为各参数对无线信道的影响程度。
图2为本发明实施例提供的收发端距离-吞吐量曲线图。如图2所示,当距离小于50米时吞吐量保持在一个较高的水平,当距离大于50米时吞吐量迅速下降。本发明将距离小于50米定义dt=0,距离不小于50米定义dt=1。
图3为本发明实施例提供的速度-吞吐量曲线图。如图3所示,无人机速度强烈影响发送信号的吞吐量。当速度低于8米每秒时,吞吐量的下降还不很明显;当速度高于8米每秒时,吞吐量迅速下降。当无人机速度高于12米每秒时,吞吐量接近于零。随着速度的增加,四个速度区间对应的吞吐量统计值呈下降趋势,因此,本发明将速度处于[0,4)区间,pt=0;速度处于[4,8)区间,pt=1;速度处于[8,12)区间,pt=2;速度处于[12,∞)区间,pt=3。
图4为本发明实施例提供的加速度-吞吐量曲线图。如图4所示,在15~18s时,加速度波动较大,视频传输的吞吐量也随之受到影响下降,当加速度波动完成后,吞吐量恢复到正常过水平。根据加速度对吞吐量的影响程度,将加速度小于18.5m/s2定义为at=0,加速度不小于18.5m/s2定义为at=1。
分级处理后的无人机状态
步骤s4.无人机状态
视频状态
第t-8个~第t-1个视频块的每个视频块的平均吞吐量
步骤s5.地面客户端将向量
本发明采用advantageactorcritic方法作为深度强化学习的策略。图5为本发明实施例提供的深度强化学习网络架构示意图。如图5所示,a2c由两个神经网络组成:actor网络和critic网络。
本发明中actor网络和critic网络的结构基本相同,输入完全相同,但是输出不同:actor网络的输出是下一个视频块的比特率选择;critic网络的输出为一个价值函数v(st;w),用来更新actor的梯度。actor网络训练一个actor,它的功能是基于给定的观察数据来为未来视频块动态选择比特率。actor网络的目标就是找到策略πθ:πθ(s,a)→[0,1]来最大化累积(折扣)奖励。πθ(s,a)是不同比特率选择的分布概率。基于随机策略,所有比特率的视频块都有可能被选择。然而,概率最高的那个比特率是最有可能被选择的。critic网络辅助actor网络的训练,它的作用是评估actor网络的状态-行动对的好坏。critic网络的功能就是对当前状态
actor网络和critic网络在训练与更新参数的过程中相互作用,详细过程如下:
输入:当前状态一维向量
这两个网络共享相同的一组输入参数,采用lstm(longshort-termmemory,lstm)网络对过去八个视频块的平均吞吐量进行处理,研究吞吐量曲线的动态变化特性,提取出时域上的特征,再与其他输入参数一同输入隐藏层。
训练阶段:尽管两个网络的输入相同,并且都使用随机梯度策略来训练参数,但具体方法不同。actor网络训练的关键步骤就是怎样由
式中,γ∈[0,1],代表折扣因子;rt表示在选择第t个视频块后所得到的奖励;n表示视频块的总个数。
actor网络的参数θ通过随机梯度增加算法进行更新:
其中,α是梯度更新的步长。
critic网络的目标就是对所有状态作出一个精准的评估。本发明使用td法来计算并更新critic网络的参数w:
其中,α′是梯度更新的步长。。
奖励设置:当选择了比特率lt并且完成下载视频块t时会得到奖励rt。奖励rt反映了不同比特率选择的用户体验好坏。本发明把用户体验质量作为强化学习网络的反馈值(奖励),用其来评估实时视频比特率选择的正确程度。对于actor网络每一次比特率选择,都采用这个标准计算获得奖励值,最后drl网络的训练目标就是使得所有奖励值的和尽可能大。我们使用一个一般化用户体验质量标准。qoe标准由以下公式给出:
r=qoe=q(lt)-μtt-|q(lt)-q(lt-1)|
其中,lt代表视频块t的比特率选择,q(lt)代表比特率lt下的视频质量,tt代表以比特率lt下载过程中的卡顿时间。对于q(lt)来说,我们选择的是以下标准qoelog:
q(lt)=log(lt/lmin)
其中,lmin表示240p对应的比特率。这个标准表明,对于一些用户来说,在较高的比特率,用户体验质量的增长逐渐平缓。
步骤s6.无人机根据比特率选择lt,将第t个视频块发送给地面客户端。
比特率选择lt包括四种可选的比特率240p、360p、720p、1080p,分别对应流畅、低清、高清、超清。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。