目录

  • 背景
  • 问题出发点
  • Quality-Optimizing Scheduler
  • Patch Selection
  • Content-Adaptive Online Learning
  • Super-resolution Processor
  • 讨论

这篇文章的核心是将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⁡vt,ptQvideo(vt)+γ⋅QDNN(∑k=0tpk)s.t,∀t,vt+pt≤Ct\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​,pt​max​Qvideo​(vt​)+γ⋅QDNN​(k=0∑t​pk​)​s.t,∀t,vt​+pt​≤Ct​​

Qvideo(vt)Q_{video}(v_t)Qvideo​(vt​)表示上传普通视频时的质量,QDNN(∑k=0tpk)Q_{DNN}(\sum_{k=0}^{t}p_{k})QDNN​(∑k=0t​pk​)表示经SR提升的质量,γ\gammaγ表示结合因子。vtv_tvt​和ptp_tpt​是普通视频和高质量视频对应的码率,是要解的变量。

作者采用了梯度上升方法。当导数越大时,说明增大ptp_tpt​随质量贡献越大,则增加其值。α\alphaα为学习率。
pt+1=α⋅{γ⋅dQDNNdpt+dQvideodpt}+ptp_{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​=α⋅{γ⋅dpt​dQDNN​​+dpt​dQvideo​​}+pt​

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

在训练时,作者每5s同步一次推断的SR模型的参数,每1s更新一次ptp_tpt​。

Patch Selection

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

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

Content-Adaptive Online Learning


Content-Adaptive Online Learning的目的是当视频画面变动不大时,即模型提前拟合时,暂停模型的训练,节约资源。作者设置了patiencepatiencepatience变量,当两次训练之间质量的提升ΔQDNN\Delta Q_{DNN}ΔQDNN​小于给定阈值threshsatthresh_{sat}threshsat​时,patience+1patience+1patience+1;当patiencepatiencepatience达到给定阈值countsatcount_{sat}countsat​时,则暂停训练。启动训练同理。

Super-resolution Processor

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

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

讨论

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

LiveNas: Neural-Enhanced Live Streaming: Improving Live Video Ingest via Online Learning解读相关推荐

  1. Paper:《Graph Neural Networks: A Review of Methods and Applications》翻译与解读

    Paper:<Graph Neural Networks: A Review of Methods and Applications>翻译与解读 目录 <Graph Neural N ...

  2. Improving Sample Efficiency In Model-Free Reinforcement Learning From Images 论文翻译

    文章目录 论文原文链接 摘要 INTRODUCTION 相关工作 背景 剖析利用β\betaβ-变分自编码器进行状态表示学习的方法 实验环境设置 没有辅助任务的model-free off-polic ...

  3. 【论文模型讲解】VideoBERT: A Joint Model for Video and Language Representation Learning

    文章目录 前言 0 摘要 1 Introduction 2 相关工作 3 模型 3.1 BERT 3.2 VideoBERT 4 实验与分析 4.1 数据集 4.2 视频和语言预处理 4.3 模型预训 ...

  4. Low-Light Image and Video Enhancement Using Deep Learning: A Survey(论文阅读)

    (2021_TPAMI)Low-Light Image and Video Enhancement Using Deep Learning: A Survey   本文是南开大学程明明与南洋理工大学C ...

  5. VideoQA论文阅读笔记——Heterogeneous Memory Enhanced Multimodal Attention Model for Video Question Answering

    论文:Heterogeneous Memory Enhanced Multimodal Attention Model for VQA 来源:CVPR2019 作者:京东研究院 源码: Github ...

  6. Graph Neural Networks: A Review of Methods and Applications(Semantic Segmentation应用解读)

    Graph Neural Networks Graph Neural Networks: A Review of Methods and Applications 下载链接:https://arxiv ...

  7. Paper:RNN之《Generating Sequences With Recurrent Neural Networks用循环神经网络生成序列》的翻译和解读

    Paper:<Generating Sequences With Recurrent Neural Networks>的翻译和解读 目录 Generating Sequences With ...

  8. 【Deep Clustering】Improving Unsupervised Image Clustering With Robust Learning

    Abstract 非监督图像聚类算法通常是提出一个辅助目标函数间接训练模型,并且聚类结果受到错误的预测和过于自信(overconfidence)的结果的影响,作者通过提出RUC (Robust lea ...

  9. 【Deep Learning 五】课程二(mproving Deep Neural Networks),第一周(Setting up your Machine Learning Applicat)答案

    吴恩达深度学习课程课后习题(2课1周) 数据集规模相对小的,可以采用传统三七或二二六分法,但在大量数据的时候,只需要1%的验证和测试就足够了.答案C 有时候我们会遇到训练集和验证/测试集来自不同地方的 ...

  10. Improving Knowledge-aware Recommendation with Multi-levelInteractive Contrastive Learning

    摘要 最近,将知识图谱(KG)作为辅助信息增强推荐引起了相当大的关注.知识感知推荐(KGR)的技术趋势是开发基于图神经网络(GNN)的端到端模型.然而,它们也有一些问题: 1)稀疏交互导致的监督信号不 ...

最新文章

  1. Linux IO实时监控iostat命令详解
  2. 深圳某女孩身家上千万,却称自己不配追求大厂程序员
  3. 设计模式总结——代理模式以及java的动态代理
  4. 第十四周项目二-两个成员的类模版(2)
  5. HashMap中ConcurrentModificationException异常解读
  6. [VB] Option Explicit
  7. 玩转springboot:实现springboot自定义拦截器
  8. (Java)注解和反射
  9. HTML Parser 源代码
  10. SQL Server 急救包(First Responder Kit)入门教程
  11. return中断方法和Unreachable code(永远达不到的代码)
  12. Innodb中的buffer poll和redo undo log
  13. 30-算法训练 最短路 spfa
  14. 邮件策略在域树中的实战应用:Exchange2003系列之十
  15. IP路由原理.ppt
  16. Solr 5.3.0集成mmseg4j、tomcat部署、Solrj 5.3.0使用
  17. 接口测试-解析har文件
  18. 匈牙利算法python实现
  19. Postman中tests的基本使用
  20. 如何获取安卓手机设备名称(包括用户自定义名称)

热门文章

  1. 计算机软件职业资格注册,计算机软件职业资格证具体需要考什么科目
  2. oracle的alter table,Oracle ALTER TABLE语句
  3. mysql存储过程转义字符_mysql存储过程转义字符
  4. UE4自定义资源和编辑器(二):创建自定义编辑器
  5. html图片有的不显示不出来的,css背景图片不显示有哪些原因?
  6. cyj等于什么英语单词_一月到十二月的英语单词及由来
  7. cmd怎么查看当前静态路由_怎么使用cmd设置添加电脑上静态路由
  8. 服务器运行cad慢,CAD绘图唯快不破(CAD运行用加速技巧)
  9. 求解顺序统计量的7种方法
  10. 点赋科技:如何提高淘宝店铺的流量?