基于强化学习的移动视频流业务码率自适应算法研究进展

2021-09-28 11:05杜丽娜卓力杨硕李嘉锋张菁
通信学报 2021年9期
关键词:码率深度函数

杜丽娜,卓力,杨硕,李嘉锋,张菁

(1.北京工业大学计算智能与智能系统北京市重点实验室,北京 100124;2.北京工业大学信息学部,北京 100124)

1 引言

随着移动通信技术和移动智能终端的迅猛发展,移动互联网用户数量以及移动视频业务流量呈指数级增长趋势。思科公司的报告预测,到2022 年,视频业务流量将占据全球互联网数据流量的82%[1]。与传统互联网在线视频业务相比,移动环境下的视频业务呈现出空间移动性、时间碎片性以及社交关联性等新的复杂特性。面向复杂的移动环境以及移动视频业务所呈现出的新特性,如何在有限的网络资源条件下保障移动视频业务的用户体验质量(QoE,quality of experience),成为当下学术界和工业界共同关注的热点课题。

QoE 是指用户对设备、网络、系统、应用或业务的质量和性能的整体主观感受[2],反映了用户在接受服务时的满意或舒适程度。国际电信联盟[3]对QoE 的定义为“用户使用一项应用或服务时感到的快乐或烦恼程度”。

目前的移动视频流媒体业务普遍采用基于HTTP 的自适应流媒体(HAS,HTTP adaptive streaming)技术进行传输。HAS 技术可以根据网络的时变、波动特性以及客户端的播放状态自适应调整视频码率,有效提高用户的质量体验。2012 年,MPEG 和3GPP 联合推出了基于HTTP 的动态自适应流媒体(DASH,dynamic adaptive streaming over HTTP)国际标准[4],以满足移动流媒体业务日益发展的需求。除此之外,工业界也推出了各种HAS协议,如Adobe公司推出了HTTP动态流媒体(HDS,HTTP dynamic streaming)[5],苹果公司推出了HLS(HTTP live streaming)[6],微软公司推出了MSS(Microsoft smooth streaming)[7]等。由于HAS 技术具有兼容性好、扩展性强、易部署等优点,目前已被广泛应用于各种移动流媒体业务系统中。

HAS 流程如图1 所示。对原始视频以不同的码率进行编码,将每个视频码流分割成不同的片段存储于服务器端。客户端根据当前的网络状况、自身硬件的处理能力、缓存状态等,动态调整视频流的码率,以提升用户的QoE。可以看出,在客户端部署的码率自适应(ABR,adaptive bit rate)算法,是HAS 技术的核心所在。

图1 HAS 流程

在实际应用过程中,ABR 算法仍然面临许多的困难与挑战。这些挑战主要来自以下几个方面。

1) 网络状态的多变性以及不可预测性。

2) 决策的累积效应。即前面的决策会影响未来的码率选择,这就需要ABR 算法决策具有一定的前瞻性和预测性。

3) 实时性。ABR 算法的决策时间不能过长。

4) 公平性和稳定性。多个客户端同时通过瓶颈链路竞争共享带宽时,面临公平性和稳定性问题。

5) QoE 影响因素众多且难以量化。QoE 的影响因素既包括主观因素,又包括客观因素,这些因素相互影响,尤其是主观因素难以量化。如何精确地预测用户QoE 是设计ABR 算法不可回避的问题。

近年来,随着强化学习(RL,reinforcement learning)和深度学习在各个领域的广泛应用,学者将其应用于ABR 算法中,取得了诸多有意义的成果。这些方法以直接优化用户的QoE 为目的,从大量数据中学习码率自适应的最优策略,可以获得比传统启发式方法更好的性能,因此逐步成为目前ABR 研究的主流方向。

目前国内外已经有关于ABR 算法的研究综述,比如,2017 年,Kua 等[8]从客户端、服务器端和网络内部3 个角度出发,总结了ABR 算法的研究进展。此外,作者还阐释了直播和点播之间的区别以及具体实施过程中媒体呈现描述(MPD,media presentation description)文件的差异。2018 年,Ayad等[9]从代码层面分析了DASH 标准开源播放器DASH-IF、谷歌的DASH Media Source 以及Bitmovin播放器的实现细节,并评估了上述3 个播放器以及Netflix、YouTube、Vimeo 共6 个播放器的性能。本文则对近几年来出现的基于RL(包括深度强化学习)的ABR算法进行了综述,对代表性ABR算法的思路、策略、性能等进行了深入的分析总结。

2 基于强化学习的ABR 算法研究进展

2.1 强化学习

RL 的基本架构如图2 所示。RL 包含3 个基本要素:智能体、环境和奖励函数。其基本原理为:智能体通过从环境中观察到的状态选择一个动作用于环境,环境接受该动作更新状态并产生一个强化信号(奖或惩)反馈给智能体。如果智能体的某个行为策略导致环境正的奖赏,那么智能体产生这个行为策略的趋势便会加强。智能体的目标是在每个离散状态下发现最优策略,以使期望的折扣奖赏最大,并根据强化信号和当前状态再选择下一个动作。选择的动作不仅影响当前的强化值,还影响环境下一时刻的状态及最终的强化值。

图2 强化学习基本架构

不同于监督学习和非监督学习,RL 把学习看作试探评价过程,侧重在交互中学习,由智能体在与环境的交互过程中根据获得的奖励或惩罚不断地学习,最终学习到更加适应环境的策略。

2.2 基于强化学习的ABR 算法

RL 为ABR 算法的设计提供了一种新的技术手段[10],其本质可以看成高维状态空间的特征选择[11]或者序列决策。在不同的前提条件下,RL 也可以转化成动态规划(DP,dynamic programming)、马尔可夫决策过程(MDP,Markov decision process)、隐马尔可夫模型(HMM,hidden Markov model)等。

目前,大多数ABR 算法的研究工作集中在QoE建模和训练最佳策略来提高用户QoE 等方面。将RL 应用于码率选择的整体架构如图3 所示。智能体的输入是前几个视频片段的码率以及下载时间、下一个视频片段的可选码率等信息,输出是拟选择的码率。环境包括网络状态和客户端播放器的状态等,奖励函数普遍用QoE 模型表达。人们通过设计不同的算法来定义智能体如何做出决策。

图3 将强化学习应用于码率选择的整体架构

表1 是目前比较具有代表性的几种基于强化学习的ABR 算法。从表1 可以看出,这些ABR 算法采用的RL 方法主要包括Q-learning、HMM、MDP和DP 等,其中Q-learning 是最常用的算法。Q-learning 的经典实现方式是列举出所有的状态和动作,构建Q 函数表,然后迭代计算各种状态下执行每个动作的预期回报的最大值。例如,Claeys 等[12]采用Q-learning 方法来解决ABR 问题,将环境模型划分成2 500 万个状态,由于状态空间太大,导致该模型难以收敛。作者之后进行了改进,减少了环境状态的组成元素,并重新设计了奖励函数,提升了性能[13]。由于Q-learning 方法在计算和存储Q 函数表时需要耗费大量的时间与空间,因此基于Q-learning 的ABR 算法需要在Q 函数表空间-时间复杂度和QoE 性能之间进行折中。

表1 基于强化学习的代表性ABR 算法

RobustMPC[19]算法是一种基于控制理论的ABR 算法,该算法综合考虑带宽预测器预测的带宽、缓冲区状态以及用户的QoE 来选择码率,所采用的QoE 模型被广泛应用于各种基于RL 的ABR算法中,如式(1)所示。

其中,Rn表示第n个视频片段的码率,q(Rn)表示视频质量,Tn表示卡顿时长,最后一项表示平滑度,α、β、γ表示每一项的权重。

RobustMPC 算法对带宽预测的准确性要求较高,当带宽预测不够准确时,算法性能会出现明显下降。为此,Sun 等[14]利用隐马尔可夫模型进行带宽预测,该算法在带宽剧烈抖动的情况下依然有较好的性能。Chiariotti 等[15]采用并行学习技术,可提高学习率并限制次优选择,从而实现快速而准确的学习过程,并迅速收敛于稳定的奖励。通过选择最佳码率,使长期预期奖励最大化。

还有一部分研究者采用DP 来解决ABR 问题。例如Andelin 等[16]采用DP 来解决码率的最优选择问题,设计奖励函数时考虑了视频质量以及视频质量切换等因素。仿真网络下的实验结果表明,该算法可以有效提升用户的QoE。

PANDA/CQ[17]是另一种比较具有代表性的使用DP 的ABR 算法,该算法的重点在于奖励函数的设计,目的是减少不必要的质量切换对QoE 产生的影响。García 等[20]提出基于随机DP 的ABR 算法,目的是学习到保障用户QoE 的最佳请求策略。该算法的奖励函数是视频质量、卡顿频率和时长以及质量切换的线性表达式,通过对卡顿、质量切换等不同指标的实验结果分析,证明该算法可以实现视频质量和卡顿之间的均衡。

2.3 小结

总体来看,基于RL 的ABR 算法以最优化QoE为目标,通过数据驱动的方式训练ABR 算法。算法不依赖预先设计的模型或对环境的假设,通过观察和实验逐渐学习到码率自适应的最佳策略,取得了比启发式方法更好的性能。然而,采用传统的RL算法设计的ABR 算法存在维度灾难以及收敛缓慢的问题。受限于算法对于高维数据的表达能力,基于RL 的ABR 算法的动作空间和样本空间都很小,难以应对具有很大状态空间和动作空间的情况。

3 基于深度强化学习的ABR 算法研究进展

近年来,深度学习在计算机视觉、自然语言处理、语音识别等领域取得了极大的成功。研究者将深度学习与RL 相结合,提出各种深度强化学习(DRL,deep reinforcement learning)算法,如2013 年Mnih[21]提出的深度Q 网络(DQN,deep q-network),可利用深度学习自动提取大规模输入数据的抽象表征,使深度强化学习能够解决各种复杂的决策任务。

2017 年以来,研究者开始将DRL 应用到ABR算法中,Pensieve 算法[22]是使用DRL 解决ABR 问题最有代表性的算法之一,已成为目前基于DRL的 ABR 算法的基准。Pensieve 算法采用Actor-Critic[23]算法实现ABR,其算法结构如图4 所示。智能体的输入是上一个视频片段的下载时间、带宽估计值、下一个视频片段的可选大小、当前缓冲区占有率、剩余视频片段数量以及前几个视频片段的码率,输出是所选择的码率,奖励函数是RobustMPC 算法采用的QoE 模型,如式(1)所示。深度神经网络(DNN,deep neural network)由一维卷积神经网络(CNN,convolutional neural network)和全连接层组成,输出为下一个视频片段的码率。DNN 作用是提高算法对高维数据的表达能力,进而缓解“维度灾难”问题。

图4 Pensieve 算法结构

具体而言,DNN 用来拟合DRL 中的各种函数,如价值函数和策略函数等。研究结果表明,在强化学习中引入DNN,有助于学习到更好的策略,从而获得更优的性能。

2018 年,Paul 等[24]对Pensieve 算法进行了扩展,在低带宽环境下测试了Pensieve 算法的性能。尽管Pensieve 取得了远超启发式算法的性能,但是依然存在很大的改进空间。为此,研究者从奖励函数、深度神经网络结构、实时性等角度出发,提出了各种基于DRL 的ABR 算法。

3.1 奖励函数设计

QoE 的影响因素众多,不同的因素对QoE 有着不同的影响,而现有的用作奖励函数的QoE 模型忽略了视频的内容特性、用户的行为偏好等影响因素。为此,研究者从不同的角度对奖励函数进行了改进。

1) 考虑用户的行为偏好、兴趣度等主观因素对QoE 的影响

Sengupta 等[25]提出HotDASH 算法,考虑了用户的行为偏好,将用户对视频片段的偏好程度写入MPD 文件,以便环境将该状态信息传递给智能体,预提取满足用户偏好的视频片段。其奖励函数在式(1)的基础上考虑了用户的偏好,采用Actor-Critic算法训练策略。实验结果表明,该算法的性能优于现有的启发式方法以及Pensieve 等基于DRL 的ABR 算法。

Gao 等[26]认为,大多数ABR 算法都没有考虑到视频的语义信息,而语义信息在很大程度上决定了视频内容的信息量和趣味性,从而影响用户的QoE。为此,作者提出了一种基于内容兴趣度(CoI,content of interest)的ABR 算法。首先设计一种用于识别视频CoI的深度学习方法,然后将视频的CoI信息作为智能体的一个输入,采用DQN 方法实现ABR 算法。

文献[27]提出了一种情感内容感知的ABR 算法。作者考虑了用户对情感内容(AC,affective content)的偏好,将视频帧的AC 分为6 类,采用ResNet 网络对视频帧的AC 进行分类,并输出其属于每一类别的置信度。之后对视频片段中所有帧的类别置信度求平均,作为整个视频片段的置信度,并将用户的情感偏好加入奖励函数中,根据用户的情感偏好来优化QoE。

这些方法在进行QoE 建模时,充分考虑了用户的主观因素,建立的模型可以更好地表征人的感知,因此获得了更好的QoE 性能。

2) 考虑视频内容特性对QoE 的影响

文献[28]观察到用户在视频的某些部分对低质量的敏感度高于其他部分。为此,该算法对每个视频进行众包实验,以得出用户在视频不同部分的质量敏感性,将敏感性作为权重对KSQI 模型[29]进行修正,并将该模型应用到ABR 算法中。实验结果表明,这些改进可以有效提高QoE。

文献[30]建立了一种连续性QoE 模型,该模型考虑了前一段时间出现的卡顿、平均的视频质量对当前QoE 的影响。研究结果表明,将该模型作为奖励函数,其性能要优于Pensieve 算法。

上述的研究结果表明,通过改进奖励函数,可以在一定程度上提高ABR 算法的性能。

3.2 深度强化学习方法

学者将各种先进的深度学习方法与强化学习相结合,提升ABR 算法的有效性。

Tiyuntsong 方法[31]将生成对抗网络与Actor-Critic 相结合,生成对抗网络用来从过去的状态中提取隐藏的特征,采用Self-Play 深度强化学习方法,通过训练2 个相互竞争的智能体来自动学习码率控制策略。

Zwei 方法[32]将DRL 与蒙特卡罗算法相结合,在蒙特卡罗搜索过程中,根据当前策略从起始状态中采样多个轨迹,通过平均每个轨迹对的竞争结果来估计预期的长期获胜率,其中结果表示哪个轨迹更接近2 条轨迹之间的实际需求。估计获胜率后,通过增加获胜样本的概率和减少失败样本的可能性,采用近端策略优化[33]来优化DNN,以获得更优的策略。

针对现有的ABR 算法主要侧重于优化所有客户端的整体QoE,而忽略了不同用户QoE 多样性的问题,Huo 等[34]提出了多用户感知的元学习方法,该方法将元学习和多任务DRL 相结合,通过主观实验分析验证了不同用户在QoE 影响因素上的差异,并且量化这个差异。在此基础上,作者修正了奖励函数,借鉴Frans 等[35]提出的方法建立了一种多任务深度强化学习框架,实现了多用户偏好的QoE 优化。

深度学习与强化学习相结合,虽然可以利用深度学习强大的表征能力提升性能,但同时也面临样本效率低、难以收敛、计算复杂度高等问题。为此,很多学者针对性地提出了各种解决方案。

针对无模型深度强化学习方法难以收敛等问题,Liu 等[36]采用支持向量回归(SVR,support vector regression)建立了一个chunk-wise 感知的奖励函数,将Pensieve 算法中的Actor-Critic 算法替换为深度Q-learning 算法,并加入double Q-learning、Dueling network 以及 multi-step 等机制对深度Q-learning 网络进行改进,使网络训练能更快收敛,并获得更高的平均QoE。

Saleem 等[37]提出了一种基于 double deep Q-learning 的ABR 算法,并对算法的性能进行了较全面的评估,主要评价指标有峰值信噪比(PSNR,peak signal to noise ratio)、结构相似性(SSIM,structural similarity index measure)、卡顿频率和质量切换等客观指标以及用户的QoE。实验结果表明,与Actor-Critic 方法相比,采用double deep Q-learning具有更快的收敛速度。

针对现有方法样本效率低和对视频质量信息感知不足的缺点,Huang 等[38]提出了Comyco 算法,该算法主要包括及时求解器、仿真播放器、经验池以及神经网络4 个模块。其中,及时求解器负责提供专家策略,经验池负责存储专家策略,神经网络负责训练策略、做出决策。

Comyco 算法利用模仿学习解决强化学习样本效率低的问题,以视频的感知质量作为奖励函数。此外,作者认为视频质量上升和下降对QoE 的影响不同,因此对奖励函数进行了改进,采用视频多方法评价融合(VMAF,video multimethod assessment fusion)准则来度量视频质量q(Rn)。

DAVS[39]是一种基于学徒学习的ABR 算法,该算法不需要奖励函数作为指导,而是从专家示例中学习更好的策略。考虑到视频内容上的差异性,将视频分为动态片段(纹理丰富度高且运动复杂度高)和静态片段,并为动态片段分配更高的质量。

3.3 深度神经网络结构设计

随着深度学习的不断发展,人们提出了各种DNN 结构,众多研究者对DRL 算法中的DNN 进行了改进。

2017 年,Gadaleta 等[40]提出了D-DASH 方法。该方法采用deep Q-learning 方法实现码率自适应,其中的深度神经网络采用的是多层感知机以及长短期记忆(LSTM,long short-term memory)等网络结构。实验结果表明,与基于强化学习的ABR 算法相比,D-DASH 方法表现出更快的收敛速度以及更好的性能。

LASH 是Lekharu 等[41]提出的一种ABR 算法,该算法采用LSTM 代替部分1D-CNN,将输入部分分为两组:一组输入LSTM 网络,另一组输入全连接层,将两部分的输出合并后,输入下一层全连接层。实验结果表明,加入LSTM 使模型能够更准确地学习到时序特征。与Pensieve 算法相比,平均QoE 提升了约8.84%。

总体来说,深度神经网络可以有效解决传统强化学习算法中“维度灾难”的问题,提高算法对于高维数据的表达能力,通过对深度强化学习中的价值函数、策略函数等进行有效拟合,使网络可以学习到更好的策略。

3.4 面向网络传输需求的改进

移动视频流在网络传输过程中,要综合考虑网络状况、视频编码方式、实时传输需求等多种因素。很多学者针对这些因素开展了研究工作。

单个方案往往无法对复杂多变的网络情况进行充分的建模。为此,有学者通过集成多个ABR算法来提高用户的QoE。比如,Zhang 等[42]提出了集成自适应流媒体(EAS,ensemble adaptive streaming)方法,该方法首先对网络环境进行分类,之后为每种网络环境分别设计了相应的ABR 算法以适应其特性,依据网络状态动态匹配合适的算法。实验结果表明,EAS 可以应对更具挑战性的网络环境。

Zhao 等[43]设计了时延控制模型来控制跳帧,并通过集合2 个不同网络轨迹下训练出来的ABR 算法来提高用户的QoE。Akhtar 等[44]提出了一种Oboe方法。该方法首先对不同的网络状态进行建模,并训练出不同网络环境的最佳参数,之后在线检测网络状态改变点,并自适应调整参数。实验结果表明,Oboe 方法显著提升了RobustMPC、Pensieve 等算法的性能。

众所周知,视频传输质量在很大程度上取决于可用带宽资源。为此,Yeo 等[45]提出NAS 方法,应用图像超分辨率DNN 来提升视频的增强质量,最大化用户的QoE。在进行码率控制时,利用深度强化学习来选择下载的视频片段的码率和DNN 块,降低了视频传输质量对带宽资源的依赖程度。

针对视频流的实时传输需求,研究者开展了ABR 算法的研究。QARC 是Huang 等[46]提出的一种面向实时视频流的码率自适应算法,该算法包括视频质量预测网络(VQPN,video quality prediction network)和视频质量增强学习(VQRL,video quality reinforcement learning)2 个子网络,VQPN 根据历史视频帧的质量预测当前视频帧的质量,其输入是前几个视频帧,输出是下一时刻视频帧的质量;VQRL 则依据网络状态和VQPN 的预测情况选择合适的码率。VQRL 采用Actor-Critic 算法,输入是VQPN 预测的视频帧的质量、最近k个发送和接收到的视频帧的码率、时延以及数据分组丢失率,奖励函数考虑了视频质量、时延、码率和质量切换,输出是所选择的码率。

虽然QARC 取得了很好的性能,但是作者认为其缺乏可解释性,因此于2019 年进一步提出了升级版EQARC(explainable QARC)[47]。EQARC 包括EVQPN(explainable VQPN)和EVQRL(explainable VQRL)2 个子网络:EVQPN 由VQPN 中加入注意力机制形成,用来更准确地预测当前视频帧的质量;EVQRL 采用2D-CNN 代替VQRL 中的1D-CNN,获得了比QARC 算法更优的性能。

Deeplive[48]是另一个针对实时视频流的ABR算法,其奖励函数综合考虑了码率、卡顿时长、端到端的时延、丢帧以及质量切换等因素,输入包括过去k个视频帧的码率、卡顿时长、缓冲区大小和端到端时延,动作包括所选择的码率、目标缓冲区以及时延限制,输出是所选择的码率。实验结果表明,在4 种不同的网络环境下,Deeplive 方法获得的QoE 比Pensieve 算法平均提高了15%以上。

有学者将深度强化学习与可扩展视频编码(SVC,scalable video coding)相结合,来提高用户的QoE。一般的ABR 算法中,视频普遍以恒定码率进行编码,而SVC 可以提供细粒度的码率切换,为HAS 客户端提供更大的灵活性,在可变网络条件下,可以减少卡顿的发生。但是,SVC 会引入额外开销,并增加获取视频块的HTTP 请求数量。

LAAVS[49]方法采用SVC 和非SVC 相结合的方式,可以在不影响视频质量的情况下显著减少视频的卡顿。实验结果表明,该方法可以取得比Pensieve更高的平均QoE。

Grad-HYBJ[50]是一种基于深度强化学习的ABR 算法,该算法将SVC 的质量控制机制加入算法中,考虑了编码开销对QoE 的影响。同时,提出了一种混合编码(HYBJ,jump-enabled hybrid coding)方法来减轻这方面的影响。与Pensieve 算法相比,平均QoE 提升了约17%。

3.5 工业界提出的ABR 算法

基于深度强化学习的ABR 算法取得了远超启发式方法的性能,逐渐成为研究热点,同时也引起了工业界的重视。针对现有算法存在的仅针对单用户、未考虑运营商带宽成本等问题,工业界开展了深入的研究。

RESA[51]是爱奇艺提出的一种实时的ABR 算法,该算法综合考虑流畅度、清晰度和平滑度(视频质量等级切换次数占总视频片段数量的比例)3 个方面的因素,加权组合建立QoE 模型,QoE 模型的参数依据用户的观看行为偏好进行设置。真实用户的在线评估结果表明,该算法在为优质用户和普通用户提供不同QoE 的同时,还可以控制服务提供商的带宽成本。

快手联合清华大学从训练效率和模型复杂度2 个方面对 Comyco 算法进行了改进,提出了Lifelong-Comyco 算法[52]。该算法由外循环系统和内循环系统两部分组成:内循环系统是Comyco,外循环系统的目标是进一步减少训练时所需的训练集。首先对客户端估计的带宽数据进行整理,找出线下最优解。然后查看当前线上策略与线下最优解所取得的QoE 的差距,当差距超过某个值时,将当前带宽数据放入要训练的数据集中。最后采用终身学习的方法训练神经网络,使网络可以在不忘记过去表现良好的带宽数据的情况下,记住表现不好的带宽数据。与Pensieve 算法相比,训练效率提高了1 700 倍,训练速度提高了16 倍,平均QoE 提高了4.57%~9.93%。而且该模型的浮点计算量仅为轻量级神经网络ShuffleNetV2[53]的0.15%,可以成功部署在笔记本电脑等移动设备上。

Stick[54]是一种低复杂度的ABR 算法,该算法将传统的启发式方法BBA(buffer-based algorithm)[55]与基于学习的方法相结合,通过深度学习方法增强BBA 的性能。与此同时,BBA 又能给基于深度学习的算法带来更多的领域知识,从而降低模型的浮点运算量(FLOPS,floating point operation per second)。Stick 算法主要包含Stick 和Trigger 这2 个模块,Stick 模块利用线下训练好的神经网络,根据当前客户端接收的状态输出连续值,用于控制BBA算法的阈值;Trigger 模块用于决定是否开启Stick模块的轻量级神经网络,从而进一步降低Stick 神经网络的整体浮点计算量。在多个数据集上的实验结果表明,该算法获得的平均QoE 要高于Pensieve算法,且模型的FLOP 降低了88%。

3.6 小结

综上所述,近几年基于DRL 的ABR 算法研究工作主要集中在以下几个方面:1) 建立更精确的用户QoE 模型来指导ABR 算法;2) 设计合适的DNN,优化网络训练策略,使网络可以更好地拟合深度强化学习中的价值函数和策略函数,进而学习到更好的策略;3) 应对网络状态的多变性以及用户对于高质量视频的需求;4) 针对深度强化学习方法样本效率低、难以收敛等问题设计更合适的算法。

表2 列举了目前几种代表性的基于深度强化学习的ABR 算法,从算法面向的业务类型、奖励函数、强化学习算法、网络轨迹数据集、性能评价指标(包括平均QoE 提升和节约带宽)等方面进行了总结。在目前的研究工作中,对算法性能进行测试时,普遍采用的网络轨迹数据集是HSDPA[56]和FCC[57],也有少量研究工作采用 4G LTE[58]和Oboe[44]等网络数据集。测试视频则普遍采用的是Envivio 序列。文献[38-39]则在不同类型的视频(如游戏、电影、新闻以及运动等)上对Comyco和DAVS算法进行了测试。测试结果表明,算法的性能与视频的内容密切相关。具体来说,对于电影、新闻和运动这几类场景切换较频繁的视频,Comyco 算法可以获得更高的QoE[38]。对DAVS 算法的测试结果表明,对纹理丰富度高且运动复杂度高的视频,应该分配更高的质量[39]。

表2 基于深度强化学习的代表性ABR 算法

虽然基于深度强化学习的ABR 算法有着远超启发式方法的性能,但是其复杂度较高,往往难以直接在客户端实现,尤其是针对计算和存储资源非常有限的移动设备。为此,Meng 等[60]提出Pitree框架,该框架将ABR 转化为决策问题,具有通用性强、高性能和可扩展等优点,可以在牺牲少量性能的情况下,大大提升处理速度。在多个数据集上的实验结果表明,将Pensieve 以及HotDASH 等复杂度较高的算法转为决策树问题,可以有效节约计算和存储资源,进而将算法部署于视频播放器。

4 常用公共数据集和性能评价标准

对算法进行性能评价时,往往需要在同一个数据集上进行,本节首先介绍各种HAS 视频数据集以及网络轨迹数据集,然后介绍评价标准。

4.1 常用公共数据集

数据是基于机器学习的ABR 算法研究中最重要的工具之一。ABR 算法的常用公共数据集包括HAS 视频数据集以及网络轨迹数据集,近年来越来越多数据集的公开为QoE 模型和ABR 算法的设计提供了良好的基础。

4.1.1 HAS 视频数据集

采用HAS 传输的视频可能存在卡顿(包括初始延时)和质量切换2 种失真。早期的数据集大部分为手工生成且包含失真类型单一,数据规模有限。近几年,数据集规模不断扩大,包含的失真类型、采用的ABR 算法和网络环境更加丰富。

表3 是最常用的几个公开HAS 视频数据集,给出了各个数据集的发布时间、QoE 影响因素、原始视频数量、网络轨迹数量、失真视频数量、观看设备以及视频质量感知度量准则等信息。

表3 代表性公开HAS 视频数据集

得克萨斯大学公布的LIVE-NFLX-II[65]是目前最全面的数据集之一。该数据集在7 种网络环境下,采用4 种ABR 算法由15 个原始视频生成了420 个失真视频。数据集提供了每个视频的连续性和回顾性主观MOS 得分。

滑铁卢大学建立的SQoE-Ⅲ数据集[66]包含450个视频。将20 个不同内容类型的源视频序列编码为11 个码率等级(235~7 000 kbit/s),并存储于服务端。客户端选择了6 个具有代表性的ABR 算法,在13 个网络环境下进行仿真,采用ITU-R 绝对类别标度进行主观测试,并进行打分。数据集中给出了MOS、VMAF 等多种视频质量打分结果。

2020 年,SQoE-Ⅲ的作者公布了SQoE-IV[67]。SQoE-IV 是目前为止最大的公开数据集,共包含1 350 个失真视频,5 个时长30 s 的不同内容的原始视频经过H.264 和HEVC 编码器编码为13 个码率等级,在9 个网络环境条件下进行仿真。客户端选择了5 个具有代表性的ABR 算法,测试者在3 种设备上观看打分。在此基础上,作者对现有的11 种QoE 模型的性能进行了评估。实验结果表明,最新的QoE 模型与主观评分之间的相关性还有待提高,QoE 模型和ABR 算法都有改进的余地。

4.1.2 网络轨迹数据集

近年来,研究者公布了多个网络轨迹数据集。表4 是最常用的几个公开网络轨迹数据集,给出了各个数据集的发布时间、移动模式、持续时间、轨迹数目、带宽范围等信息。

表4 代表性公开网络轨迹数据集

已经公开的数据集中包括3G[56]、4G[58]、5G[69]等多种网络通信环境下的轨迹数据,其中FCC 数据集是美国联邦通信委员会依据美国测量宽带计划定期公布的带宽数据集。目前常用的FCC 数据集于2016 年公布。

4.2 评价指标

早期的ABR 算法常用平均比特率、卡顿次数、卡顿频率、平滑性等指标来度量ABR 算法性能的优劣,无法准确反映用户QoE。目前的ABR 算法普遍采用QoE 提升程度、视频感知质量、卡顿时长、平滑性以及QoE 相同情况下节约带宽的比例等指标来度量算法的性能。由于目前没有公认的QoE 评价标准,各算法中所采用的QoE 评价模型往往是研究者自行建立的。

考虑到平均比特率无法准确反映视频的主观感受质量,有部分算法采用SSIM、VMAF 等指标来评价视频的感知质量。其中VMAF 是Netflix公司提出的一种全参考视频质量客观评价指标,该指标采用视觉信息保真度、细节损失程度和运动信息等评估方法对视频质量进行度量,使用SVR 将3 个指标进行融合,得到最终的评估结果,这种方式使VMAF 可以保留每种质量评估方法的优势。相比于PSNR、SSIM 等视频质量客观评价准则,VMAF 指标更接近于用户的主观感受,可以与人类的主观评价保持一致,因此被越来越多地应用于 ABR 算法中,对视频感知质量进行度量。

图5 和图6 给出了Comyco、Pitree_Comyco、Pensieve、RobustMPC、BOLA[70]和Rate_based[71]共6 种代表性ABR 算法在FCC 数据集上的测试结果。其中Comyco、Pensieve 是基于DRL 的ABR 算法,Pitree_Comyco 是将Comyco 算法通过Pitree 框架转化为决策树的算法,RobustMPC、BOLA 和Rate_based 是传统的启发式ABR 算法。图5 是6 种算法的平均QoE 累积分布函数(CDF,cumulative distribution function)对比结果,其中横坐标是平均QoE,纵坐标是概率值。图5 很好地反映了在不同区间内平均QoE 的分布概率。图6 进一步给出了平均QoE、平均卡顿时长和平均比特率3 个指标的对比实验结果。为便于对比,对每个指标进行了归一化处理,其计算方式为实际值与最大值的比值,纵坐标表示其归一化后的值。从图6 可以看出,基于深度强化学习的ABR 算法性能要远高于传统的启发式算法,其平均QoE 可以提升1.71%~4.54%,平均卡顿时长可以减少7.04%~34.6%,平均比特率可以提升2.91%~3.98%。

图5 FCC 数据集上多种算法的CDF

图6 FCC 数据集上多种算法性能对比

图7 给出了Pensieve、RobustMPC 以及基于缓存的Buffer_based[55]算法在Oboe 数据集上的测试结果,其中Buffer_based是传统的启发式ABR算法。从图7 可以看出,Pensieve 算法的性能明显优于其他2 种启发式的算法,其平均 QoE 可以提升1.10%~10.16%,平均卡顿时长可以减少3.73%~7.65%,平均比特率可以提升1.93%~6.45%。

图7 Oboe 数据集上多种算法性能对比

5 结束语

在客户端实施ABR 算法是HAS 保障用户QoE的关键所在。大量的研究结果表明,基于深度强化学习的ABR 算法可以取得更优越的性能,是目前ABR 的研究热点。但是,现阶段开展基于深度强化学习的ABR 算法研究还面临以下问题。

1) 视频数据集规模。建立大规模视频主观质量评价数据集十分困难,一方面,主观实验费时费力,花费较高;另一方面,视频时长较长时,由于观测者的兴趣和精神能力有限,难以给出有效的主观评估。因此,建立大规模的主观视频质量评价数据集仍然是一个需要重点解决的问题。

2) 奖励函数的设计。基于深度强化学习的ABR 算法采用QoE 模型作为奖励函数,QoE 模型的准确性将直接影响算法的性能。因此如何建立更加准确的QoE 模型是ABR 算法需要解决的问题,还有很大的研究空间。

3) 深度神经网络的设计。智能体中的深度神经网络用来学习高维数据的有效表示,决定最优的码率控制策略。因此,针对应用场景的具体需求,利用最新的深度学习研究成果,设计适用于ABR 算法的深度神经网络结构是一个重要的研究内容。

此外,将模仿学习、超分辨率重建、可扩展编码等方法引入ABR 算法中,可以有效解决基于深度强化学习的ABR 算法样本效率低、收敛缓慢等问题,也是未来比较有意义的研究方向。

猜你喜欢
码率深度函数
基于缓存补偿的视频码率自适应算法
四增四减 深度推进
移动视频源m3u8多码率节目源终端自动适配技术
二次函数
第3讲 “函数”复习精讲
一种基于HEVC 和AVC 改进的码率控制算法
二次函数
深度理解一元一次方程
函数备考精讲
简约教学 深度学习