LiveNas: Neural-Enhanced Live Streaming: Improving Live Video Ingest via Online Learning解读


这篇文章的核心是将SR(super-resolution)应用到实时直播视频的Upstream上,也即在直播过程中从摄像头(产生数据)到服务器server的过程,SR的执行是在资源充沛的server端。该课题组之前发表过另一篇文章 Neural Adaptive Content-aware Internet Video Delivery (18 OSDI),是在点播过程中在客户端执行SR。作者为该论文建了 项目主页

背景

在直播过程中,涉及到从ingest clients(摄像头)上传到server端的过程,再从server端发给用户。这个过程中涉及到video streaming(视频传输的码率分配),当网络带宽比较小时,那么只能上传低质量的视频到server端,从而降低用户的观看体验(因为用户只能下载这个低质量的视频)。因此,作者在server端部署SR模型,提升视频质量。
系统架构图如上图所示,左边是ingest side,用户通过摄像头采集视频,由附近的基站传到CDN Server。右边是distribution server,由CDN传送给观看者。

问题出发点

由于是在直播,视频场景未曾见过,因此需要重新训练CNN(SR)模型,即online learning。如果使用训练好的模型,即pre-trained model,由于不满足iid,那么SR的效果不是很好。

因此,作者在server端部署两个ingest components。1、在服务器端,同时训练超分辨率模型train和进行推断inference。(也即同时有两个模型)2、在摄像头端,同时传输普通质量的视频和高质量的视频,因为需要提供高质量的视频作为labels去训练。

这里带来了三点挑战

  1. 上传高质量视频时,会占用普通视频的带宽
  2. 训练时,内容变化不大的视频SR模型可能收敛较快;内容变化较大的视频需要较大的资源;
  3. 应尽量减小SR模型训练和推断的时间差对质量提升效果的影响。

接下来的几个模块依次解决上面的挑战。

Quality-Optimizing Scheduler

Quality-Optimizing Scheduler的任务是平衡高质量视频和实时视频占用的带宽,目标是最大化最后获得的视频质量
max ⁡ v t , p t Q v i d e o ( v t ) + γ ⋅ Q D N N ( ∑ k = 0 t p k ) s . t , ∀ t , v t + p t ≤ C t \begin{aligned} \max _{v_{t}, p_{t}} Q_{\mathrm{video}}\left(v_{t}\right)+\gamma \cdot Q_{DNN}\left(\sum_{k=0}^{t} p_{k}\right) & \\ & s . t, \forall t, v_{t}+p_{t} \leq C_{t} \end{aligned} vt,ptmaxQvideo(vt)+γQDNN(k=0tpk)s.t,t,vt+ptCt

Q v i d e o ( v t ) Q_{video}(v_t) Qvideo(vt)表示上传普通视频时的质量, Q D N N ( ∑ k = 0 t p k ) Q_{DNN}(\sum_{k=0}^{t}p_{k}) QDNN(k=0tpk)表示经SR提升的质量, γ \gamma γ表示结合因子。 v t v_t vt p t p_t pt是普通视频和高质量视频对应的码率,是要解的变量。

作者采用了梯度上升方法。当导数越大时,说明增大 p t p_t pt随质量贡献越大,则增加其值。 α \alpha α为学习率。
p t + 1 = α ⋅ { γ ⋅ d Q D N N d p t + d Q v i d e o d p t } + p t p_{t+1}=\alpha \cdot\left\{\gamma \cdot \frac{d Q_{D N N}}{d p_{t}}+\frac{d Q_{v i d e o}}{d p_{t}}\right\}+p_{t} pt+1=α{γdptdQDNN+dptdQvideo}+pt

在求 d Q D N N dQ_{DNN} dQDNN时,作者采用最近的两个DNN质量变化值;在求 d Q v i d e o dQ_{video} dQvideo时,由于它是非线性的,作者观察到同一类型的视频在 v t v_t vt Q v i d e o Q_{video} Qvideo变量之间有相似的正则化曲线,因此先求出该视频类型的正则化曲线 N Q t y p e ( v t ) NQ_{type}(v_t) NQtype(vt)。然后给定 v t v_t vt v t − 1 v_{t-1} vt1 Q v i d e o ( v t − 1 ) Q_{video}(v_{t-1}) Qvideo(vt1),就可以求出 Q v i d e o ( v t ) Q_{video}(v_{t}) Qvideo(vt)及其导数。

在训练时,作者每5s同步一次推断的SR模型的参数,每1s更新一次 p t p_t pt

Patch Selection

Patch Selection的目标是选择部分高质量的视频帧作为label上传,使得最后SR获得的效果最好。作者首先计算整个帧编码后的质量;然后把一帧切分成 16 × 9 16 \times 9 16×9块patch,每帧随机抽取一块。最后,选取其中编码后的质量低于整体帧质量的patch出来,再从中选择少量进行传输。由于选取出来的帧质量较低,所以经过SR处理后的效果也越好。

同时,对于传输的patch,同时包含其时间戳和位置。将时间较近的patch在训练时赋予更高的权重,使模型更好地拟合最近的画面。
Patch Selection

Content-Adaptive Online Learning

自适应算法
Content-Adaptive Online Learning的目的是当视频画面变动不大时,即模型提前拟合时,暂停模型的训练,节约资源。作者设置了 p a t i e n c e patience patience变量,当两次训练之间质量的提升 Δ Q D N N \Delta Q_{DNN} ΔQDNN小于给定阈值 t h r e s h s a t thresh_{sat} threshsat时, p a t i e n c e + 1 patience+1 patience+1;当 p a t i e n c e patience patience达到给定阈值 c o u n t s a t count_{sat} countsat时,则暂停训练。启动训练同理。

Super-resolution Processor

作者对近150个patches的样本赋予更高的权重。同时分为多GPU训练,在计算梯度时,越临近的批次计算得到的梯度权重越大。

最后作者提升的质量、节约的资源和用户QoE的提升等维度进行评估。

讨论

作者的核心是将SR应用到直播场景中并解决其中的需要在线训练模型、平衡lables占用的带宽、模型训练过程中拟合程度的差异等问题。作者主要讨论Upstream端视频质量、资源等的影响,但对于Downstream端用户QoE的更深入的讨论我认为还值得商榷,尤其是延时。同时,是否需要同时考虑用户的带宽、需求呢。假设大部分用户只能看1080p视频,那大费周章提升到4K是否是有意义的呢,而且看直播用户会更在意延时。Edge buffer, client SR是否都可以加进来呢。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值