自适应视频流媒体理论控制模型论文理解-视频MPC
1、自适应网络流驱动模型
QoE:用户体验
Throughput:网络吞吐量,某一个时刻可以看作为网络带宽
Buffer:缓存占用
Bitrate Controller:码率控制
2、几个概念
-
自适应网络流的优化方法分为三个大的方向:Client-side,Server-side,Network
-
自适应视频流的目标
The goal of an adaptive video player is to choose the bitrate level for future chunks to deliver the highest possible QoE; e.g., maximizing bitrate while minimizing the likelihood of rebuffering and avoiding too many bitrate switches
在最大码率的同时最小化二次缓冲可能性和码率切换的约束下,选择合适码率的视频,来尽可能的提高用户的体验
-
在最大码率的同时最小化二次缓冲可能性和码率切换的约束下,选择合适码率的视频,构成了Bitrate Controller的行为
3、为了算法的实现,我们需要对上述过程中的几个重要概念进行抽象和量化
抽象下载过程
: 开始下载第
个chunk时buffer 占用情况 。
: 下载第
个chunk的时间 。
:下载第
个chunk的码率。
:以码率
下载第
个chunk时的大小
:下载第
个chunk时的网络吞吐量,即带宽
:下载完第
个chunk等待
时间后开始第
个chunk的下载
:为第
个chunk的下载时间
-
量化用户体验
在所有过程中,如何量化用户体验时一个比较困难且必须的过程,因为用户体验是优化算法的优化方向,也是算法优略的指标。
在这里我们明确几个概念:
1、在我们的优化范围内,理想情况下的用户体验:本地播放最合适码率的视频(在特定的设备上,高码率并不一定能带来很高的体验优化)
2、一次播放行为中序列是已知的,那么理想视频的平均质量:
,其中
是
码率的第
个chunk的视频质量
3、平均切换质量:
4、缓冲时间:,其中
为
,保证为非负
5、启动延时 ,假设:
,
为最大可利用的缓存
6、用户的质量为: ,我们的目标是:
4、MPC算法的实践
借用作者的话,MPC并不一定是最好的途径,但是它天然的具有处理视频流自适应的能力。
作者对MPC算法的应用经历了三个过程:基本MPC工作流 -- robustMPC(提高了健壮性) -- FastMPC(优化了算法速度性能)
在介绍算法前定义一个公式:
, 其中
为预测网速(在该论文中作者没有关注预测算法的设计,基于一个“已有预测器”的假设),
为下载第
个chunk是的码率
可以看到预测输入考虑的是1、当前的 buffer情况,2、预测带宽,3、以往码率三个因素
在实际的算法中,没有必要观测以往的所有码率,这里只考虑过往的一个码率,网速的预测也不对所有过往的网速进行观测,仅观测过往的个
算法流程
论文原文链接:https://download.****.net/download/hongye_main/12753739