LiveClip: Towards Intelligent Mobile Short-Form Video Streaming with Deep Reinforcement Learning

NOSSDAV ‘20 ccf b

研究背景

实测研究表明,抖音采用了一种相当简单的基于HTTP渐进式下载的策略(称为Next-One策略),该策略使用带有停止等待协议的滑动窗口。当网络连接较慢且用户滚动较快时,这种策略效果不佳。结果激励我们为移动短视频设计智能自适应流媒体方案。

由于不可预测的网络条件和频繁的用户交互事件(例如不耐烦的滚动和提前退出),满足短视频应用程序的用户体验质量(QoE)具有挑战性。

然而,最近的 深度强化学习 相关工作旨在研究传统长视频的比特率选择,而不是移动短视频,因为移动短视频是播放列表驱动的,通常具有恒定的比特率。

待解决的问题

尽管做了上述工作,短视频服务仍然面临挑战:

缓存决策具有级联效应。也就是说,流畅播放需要足够的预取数据,这会抢占其他视频的缓存,导致日后卡顿。无线移动网络连接动态变化

而大多数短视频服务平台(例如抖音)都试探性地采用了 HTTP 渐进式下载策略,因此流媒体不是码率自适应的,因此更容易受到网络动态的影响。最后但并非最不重要的一点是,用户可以在很短的时间内轻松生成大量滚动事件,这可能会导致极高的缓存未命中率

贡献

提出了一种名为 LiveClip 的自适应流媒体策略,它基于强化学习框架。所提出的方法可以以较低的使用成本开销(缓冲了但由滚动事件而从未被观看的内容)带来更好的 QoE(重新缓冲次数较少)。

抖音的测量研究

我们首先对中国流行的短视频移动应用程序抖音进行了系统的测量研究。测量结果表明,抖音采用的简单的next-one策略导致了用户观看体验的下降和额外的资源使用成本。

研究结果

抖音则采用渐进式下载。它也基于 HTTP,但 CDN 托管完整的视频文件。(通过抓包获得连续视频的传输时间线)播放器总是下载当前视频。完成后,播放器开始下载下一个视频文件。当有滚动事件时,先前的连接会立即关闭。我们将这种固定的流方案称为 Next-One 策略。


较长的延迟和更快的网络速度会减少重新缓冲事件的数量。总浪费成本定义为下降量部分中绿点数量的差值,如果差值为负则为 0。(即释放的量表示该视频的下载量,绿点个数表示用户观看的量)

Untitled

例如,播放器在第一段中仅获得了4秒(4个绿点,绿点表示平滑播放)的流畅播放,之后的下降从4.27下降到0,因此间断时间为6秒(10-4),浪费时间为0.27秒。


通过使用 Appium [1],我们可以模拟真实用户的滚动行为。我们观察到超过一半的视频 (68.6%) 不超过 15 秒,平均视频比特率为1190 Kbps。

结果显示,33%的推荐视频是在一天内发布的,72%是在一周内发布的,96%是在一个月内发布的。推荐系统倾向于推荐最近的视频(前10天左右)。

LiveClip

使用深度强化学习(DRL)方法提出了一种称为 LiveClip 的自适应短视频流策略。 LiveClip网络合并下载速度用户交互等外部因素,以及考虑了播放列表中视频的信息。不同网络场景下对应有不同的神经网络模型。


T 表示观看会话的总时长。

bt :时间 t 时的下载速度、 ct :时间 t 时的用户交互、 dt :时间 t 时的玩家状态。

Tslot: 选择在每个时间段下载播放列表中的哪些视频。将时隙Tslot和视频段设置为1秒为单位

在每个时间步,决策者(player)选择一个动作 a,在给定转移概率 Pa(s, s ‘) 的情况下从状态 s 转移到新的状态 s ‘,并获得相应的奖励 Ra(s, s ‘)。

令 S = {s1, s2, . 。 。 , sT } 表示状态空间。 T 是观看会话的总时长。 st = (bt ,ct ,dt )。

设 vt 表示时间 t 时播放器窗口所在的视频。

Bvt :时间 t 时视口中视频的缓冲内容、 Qvt :播放进度、 Mvt 表示:视频长度。仅当当前片段完全下载后,播放器才开始播放


问题背景

我们假设视频以恒定的比特率进行编码,以便具有相同长度的每个片段具有相同的大小

在每个时隙,播放器只能请求滑动窗口中的一个视频。当用户滚动屏幕时,滑走的视频内容将立即被驱逐。

⚠️(ddl)假设时隙为 1 秒,当下一个 1 秒片段尚未完全缓冲时,视频播放就会停止。


下载速度和用户交互学习

我们构建了一个一维 CNN 层,并将过去 k 秒的下载速度作为输入,学习下载速度的模式

我们构建了另一个 1D-CNN 来学习用户行为模式。以过去k个视频的停留时间作为输入。它学习历史用户交互的模式,并希望它能够预测用户最有可能滚动屏幕的时间。

状态空间相关因素

  • 过去k 秒的下载速度测量。—提供下载速度历史信息
  • 过去k个视频的用户停留时间。—提供用户行为历史信息
  • 播放进度。—播放器当前的播放状态
  • 当前停留时间。
  • 重播回合。
  • 滑动窗口中视频的比特率。—滑动窗口中正在观看或接下来几秒将观看的视频相关
  • 滑动窗口中视频的长度。
  • 滑动窗口中的视频缓冲内容。
  • 下载滑动窗口中视频所花费的时间。
  • 滑动窗口中已完成的视频。

动作

设 A = {a1, a2, …, aT } 表示动作空间。给定一个状态,代理需要采取操作 at = (E ft , Edt ),其中 E ft 是要获取的视频集,而 Edt 是要在时间 t 从缓冲区中逐出的视频集。

在每个时间段,播放器需要确定应该下载滑动窗口中的哪些视频。(即预取工作是由播放器来做的)时隙被定义为最小时间单位,其专用于一次视频传输。玩家还可以决定在任何时间段停止下载。

Untitled

状态转换

Untitled

奖励机制

决策者在状态 st 采取行动,并转移到另一个状态 st+1,产生奖励 rt 。我们将此处的奖励视为优化问题中的损失函数,其中包括 QoE 和浪费成本。


我们将时间 t 的 用户质量(QoE) 定义为重新缓冲事件 et ∈ {0, 1} ,它指示当前视频 vt 是否由于时间 t 的缓存未命中而停止播放。

仅当当前视频 Bvt(时间 t 时视频的缓冲内容/缓冲区) 比播放进度Qvt超前一段(Tslot)或已达到总长度Mvt时,播放器才开始播放当前视频vt。

作者将重新缓冲事件作为qoe评价指标,不考虑视频质量,因为抖音采用了渐进式下载策略,视频质量是在生成播放列表时确定的,因此在播放视频时,视频质量保持不变。


成本开销 → 缓冲了但由滚动事件而从未被观看的内容。将时间 t 的成本表示为 wt ,我们有:

Untitled

即被驱逐的所有视频的缓冲大小减去播放进度大小的和。成本是由滚动事件生成的,指示被逐出的视频中有多少片段尚未观看。


损失函数LOSS(结合 QoE(重新缓冲) 和成本,得到 t 时刻的最终损失函数):

Untitled

η 是一个超参数。它衡量成本的重要性,使用蜂窝网络时成本应较大,而使用 Wi-Fi 时成本应较小。


我们的目标是找到一个策略 π(a|s) 来最小化会话中的总损失函数。 π(a|s) :在给定当前状态的情况下选择某个动作的概率。优化问题正式定义为:

Untitled

网络框架

Untitled

中央管理器维护两个通用模型。他们接受超参数不同的奖励函数的训练。其中一种是针对Wi-Fi场景,另一种是针对蜂窝网络。移动设备定期从中央管理器获取这两个模型,并根据当前的网络连接实时确定哪个模型生成策略。当用户观视频时,传感器进程持续监控下载速度、用户输入和播放器统计数据。收集器收集会话中的痕迹,分析器充当网络中的工作人员。

actor network:动作决策,选择下载当前视频,还是下一个视频,还是下下个视频

critic network:LOSS值

实验

跟踪驱动的实验结果证明,LiveClip 在各种场景下的性能比现有最先进的方法高出约 10%-40%。


真实的短视频数据集(即抖音数据集);

随机选择视频,在每个观看会话中形成一个完整的播放列表;

对于网络追踪数据,我们使用由[10]生成的数据集;

由于很难获取到大规模的真实用户滚动行为追踪数据,我们假设滚动事件之间的时间间隔服从高斯分布;

⚠️对于每个会话,我们随机生成一个列表,其中包含完整的视频播放列表,下载速度跟踪和模拟用户跟踪。我们的模拟器能够在代理采取行动时立即计算QoE和成本


我们将 LiveClip 与以下基准算法进行比较,每个算法代表一种流媒体策略。

(1)最优。考虑到当前的下载速度和视频在视口中的用户停留时间,最优方法是玩家获得最多奖励的最佳策略。它被视为上限。

(2)Next-One,抖音应用采用。有一个带有停止等待协议的滑动窗口来指示要请求哪些视频。在当前视频完成传送之前,播放器不会下载下一个视频。并且它将保持空闲状态,直到新视频进入视口。

(3) Waterfall,这是Next-One策略的延伸,只不过它能够看到接下来的2个视频。

(4) Buffer-Based (BB),它更喜欢在滑动窗口中预取多个视频。它的灵感来自仅使用缓冲区来确定视频比特率的想法[9]。这里它选择滑动窗口中某个视频文件的字节范围。

(5)随机,随机选择一个动作。此方法提供 QoE 的下限。

buffer-based侧重于资源的有限使用,而Waterfall方法更看重 播放的流畅度而不是资源的过度使用。因为WIFI不限制流量,而运营商的网络(蜂窝网络)限制流量。WIF使用的是非授权频谱,只要满足无委会的要求,任何个人都可以自由使用。


我们根据不同的下载速度模式将测试集的下载速度轨迹分为快速(>1700 Kbps)、中速(1100-1700 Kbps)和慢速(<1100 Kbps)组,我们模拟具有适度用户行为模式的 Wi-Fi 网络

Untitled


不同的用户行为模式。我们假设会话中滚动事件之间的间隔遵循高斯分布。我们将不同的用户行为模式分为 3 类:频繁(µ=6,σ=3)、中等(µ=12,σ=6)和耐心(µ =18,σ=9)。评估是在中等下载速度的Wi-Fi网络模拟中进行的。


我们考虑三种不同的网络连接场景: (1)Vanilla-WiFi,其中损失函数中 η = 0.1。 (2) Vanilla-Cellular,其中损失函数中 η = 1。 (3) 交替,接入点每 30 秒更换为另一个。

Waterfall方法在 Wi-Fi 情况下比 buffer-based 表现更好,而在蜂窝情况下反之亦然。因为在蜂窝的资源比较有限。