Learning in situ: 视频流媒体中真实环境下训练的自适应码率选择算法Fugu

Fugu算法结合经典控制策略和学习网络预测器,使用现场监督学习,优化视频流的自适应码率选择。通过Puffer平台在真实网络环境中进行训练,针对视频流的ABR问题,降低卡顿时间,提高视频质量。
摘要由CSDN通过智能技术生成

本文出自论文Learning in situ: a randomized experiment in video streaming,作者提出Fugu算法,通过结合经典控制策略和一个学习网络预测器,并将来自真实部署环境下的数据使用监督学习的方法进行现场训练,从而使自适应码率选择性能更优。


在视频流中的一个关键技术问题便是自适应码率选择ABR,来决定每个chunk或者segment的压缩率选择,从而来优化用户的体验质量。这里作者通过结合经典控制策略和一个学习网络预测器,并将来自真实部署环境下的数据使用监督学习的方法进行现场训练,提出合适的ABR算法。


一、简介
  1. 一个ABR决策主要依赖于最近的吞吐量、客户端边的缓存占有率,延迟,在相似ISPs上客户端经验或者连接类型等。在模拟环境中表现良好的ABR决策算法,而在真实网络环境中的表现却经常出现不一致的结果,因此本文的目的在于说明:如何创造一个可学习的ABR算法,从而使在广域网中可以表现良好?这里作者提出了一个Puffer学习研究平台,它随机指定每个session给一组ABR算法中的任意一个,且用户对于其指定方法是未知的。
  2. 在真实环境设置中,基于控制策略或者强化学习方法的复杂算法并没有比buffer-based的简单控制方法表现更好。在量化算法性能的统计误差边际也是值得考虑的一件事情,这些不确定性在一定程度上影响了机器学习方法的设计空间。在观察研究中,我们发现通过将经典的控制策略和一个在真实数据上直接训练得到的ML预测器进行结合,可以鲁棒地优于目前已有方案。这里提出了一个数据驱动的ABR算法Fugu,它将几种技术结合在一起,基于模型可预测的控制策略MPC,并利用一个深度学习网络(在真实环境下进行训练)来预测吞吐量。Fugu预测器有一些不同寻常的特征:给定一个被提出的chunk文件大小,来预测传输时间;它输出一个概率分布;它考虑输入信号之间的低级别拥塞控制统计信息。
二、背景知识
  1. 对于视频流来说,由于存在很多个客户端,使视频服务可以实时调整编码器配置来适应任意一个客户端是不现实的,而服务方却可以将视频编码成多个可替代的压缩视频版本,以供客户端进行选择播放。整个过程可以被简述为如下:service将一个视频分成多个chunk,每个chunk通常为2-6s,并独自对每个chunk进行编码,因此客户端可以选择不同版本的chunk进行播放,但是如何进行合理的版本决策才是关键问题,这也是ABR方法提出的由来。ABR算法的目标通常是选择最优的chunk序列来进行获取或替换,在给定最近经验和未来猜测情况下,来减少启动时间和卡顿次数,最大化chunk播放质量,以及最小化一定时间内的质量变化。
  2. 自适应码率选择方法:(1)rate-based:将视频码率和网络吞吐量相匹配;(2)buffer-based:控制回放缓冲区的持续时间;(3)控制策略方法:在给定下一个chunk大小和未来吞吐量预测的情况下最大化期望QoE;(4)模型预测控制(MPC):它由两个模块组成,一个吞吐量预测器来通知一个预测模型缓存占有率的发生变化情况,以及未来的QoE变化,这个主要依赖于所获取的chunk质量和大小。
  3. Fugu:它使用MPC作为控制策略,根据在真实数据下训练得到的网络预测器来进行通知,被称为传输时间预测器TTP。TTP预测一个被给定文件大小的chunk传输时间,它的预测器也是概率性的,即输出不是一个简单的预测传输时间,而是一个可能输出的概率分布。TTP通过使用监督学习方法来训练,基于历史数据来预测chunk的传输时间。
三、Puffer:ABR研究平台
  1. Puffer使用10种不同的H.264版本来编码每个视频chunk,并使用ffmpeg来计算每个编码chunk的SSIM从而来作为视频质量的一种衡量。实际情况中,码率和质量之间的关系在不同chunk之间进行变化,用户不会直接感受到压缩chunk的大小。
  2. Puffer不是一个客户端边缘的DASH(在HTTP上的动态自适应流)系统,它是一个通过TCP连接传输分块视频的ABR系统。
  3. 准则和统计不确定度:视频流中记录第一个和最后一个事件的时间,启动时间,视频流中成功播放部分中第一个和最后一个的总观看时间,视频播放停止等待rebuffer的总时间,平均SSIM,在SSIM中的chunk-by-chunk变化。
四、Fugu:设计和实现
  1. Fugu是一个用于码率选择的控制算法,被设计来在真实部署环境中进行实地训练。它由一个典型控制器模块(MPC)组成,由一个非线性预测器可以使用监督学习来被训练。Fugu运行在服务器端,可以更容易更新它的模型和聚合来自客户端的表现数据。控制器模块使用控制算法来优化目标QoE函数,它基于对每个chunk传输所需时间的预测来做出决策。传输时间预测器(TTP)提供预测数据,它是一个神经网络来预估给定文件大小的chunk传输时间的一个概率分布。
    Fugu算法框架

  2. 目标函数:Fugu将视频质量、视频质量变化和卡顿时间线性结合来作为每个chunk的QoE量化函数。我们将一个chunk K K K的质量用 Q ( K ) Q(K) Q(K)表示,其不确定性传输时间用 T ( K ) T(K) T(K)表示,当前播放的buffer大小用 B i B_i Bi表示,同一个chunk的不同大小用 K i s K_i^s Kis进行表示,则其QoE可以表示为:
    Q o E ( K i s , K i − 1 ) = Q ( K i s ) − λ ∣ Q ( K i s ) − Q ( K i − 1 ) ∣ − μ . max ⁡ { T ( K i s ) − B

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值