info

  • Bampis C G, Bovik A C. Learning to predict streaming video QoE: Distortions, rebuffering and memory[J]. arXiv preprint arXiv:1703.00633, 2017.

  • PDF can be found here


与其说是笔记,不如说是小翻译,以便日后翻阅,也给有需要的人提供一点参考。但是能力有限,万望谅解。

注:文中的我们是指作者(们),不是我(们)


  • Abstract
  • Introduction
  • Previous Work on QoE Prediction
    • Impairments of Videos with Normal Playback
    • Playback Interruption
  • The LIVE-Netflix Rebuffering Dataset
  • Is Objective VQA Enough ?
  • Learning-based Framework for QoE Prediction
  • Training and Evaluation of The Proposed Framework
    • Experiment 1: Testing for Content Independence (LIVE-Netflix)
    • Experiment 2: Testing for Pattern Independence (LIVE-Netflix)
    • Experiment 3: Training and Testing for Waterloo DB
    • Experiment 4: Training on Waterloo DB and testing on LIVE-Netflix
    • Experiment 5: Training on LIVE-Netflix and testing on Waterloo DB
  • Future Work

Abstract

移动流媒体视频数据与日俱增,而我们可使用的带宽经常不稳定,所以就会给高质量视频的传输带来困扰。诸如Netflix或者YouTube等流媒体服务提供商都需要根据带宽的变动,调整其供给状态,比如降低传输视频的比特率,或者在更糟糕的时候进行缓冲(rebuffering)。

在调整供给时,通过估计用户的体验质量(Quality of Experience, QoE),可以更好地设计一种感知驱动的网络资源分配策略,以便获得更高的QoE。现有的QoE方法仅仅考虑了视频质量衰减或者rebuffering中的一种情况,而对于流媒体应用来说,在有限带宽的情况下,比特率的动态分配(带来视频质量衰减)和rebuffering都可能会出现。

因此,我们提出了一种基于机器学习的框架:Video Assessment of TemoraL Artifacts and Stalls (Video ATLAS),来同时度量这两种情况。我们结合了一些与QoE相关的特征,包括客观质量特征、与rebuffering有关特征,以及记忆驱动的特征,来做QoE的估计。我们在LIVE-Netflix数据集上测试了苏提出的模型,取得了较好的结果,并且通过在Waterloo DB上测试,也表明了模型有很好的泛化性。同时,给源码


Introduction

背景介绍,我为什么要做这个工作?

现在视频越来越多,诸如Netflix和YouTube等提供商在面对有限的网络带宽时,都不得不做一些资源分配的决策,以便平衡用户的体验质量(Quality of Experience, QoE)。由于视频数据的最终用户是人,所以应该设计一种感知驱动的优化策略来指导资源分配问题。(也就是说,要是我的QoE做得好,那么我就可以根据QoE来调整供给策略,使得QoE最大化)

但是,人很复杂啊,所以QoE要做好其实很难。我们关注的的QoE一般有两种:单个QoE值和连续时间的QoE。单个QoE值就是给你一段视频,看完后,给我打一个质量分数(好不好啊,给个五星好评还是一星差评),描述的是整个视频片段的质量;连续的QoE分数是随着时间,被试者不停地给出连续时间的质量分数,可能会受到短时或者长时的记忆机制的影响。

同时,现有的视频质量评价(Video Quality Assessment, VQA)方法不足以估计主观QoE,视频的各种噪声,包括压缩噪声,以及rebuffering,都会对主观的QoE产生不同的影响。然而,只有近年来的一些方法才关注rebuffering的影响,而同时估计不同质量衰减噪声和rebuffering的QoE方法,更是难上加难。

为了解决这个问题,我们用一种基于学习的方法,同时考虑比特率变化所带来的质量衰减影响和rebuffering,来做QoE的估计。由于现有的QoE数据集都不能很好的同时刻画出质量衰减和rebuffering,但在实际中,这是很常见的情况。所以我们最近也做了一个数据集LIVE-Netflix,来弥补这一缺陷。


Previous Work on QoE Prediction

我要做这个工作,那之前是怎么做的呢?做到什么程度了?

我们考虑两种影响QoE的情况:

Impairments of Videos with Normal Playback

一种常见的优化带宽消耗的策略就是采用自适应比特率分配策略。降低比特率会带来更强的压缩噪声,如下图左。除了比特率的选择会导致压缩噪声,其它一些与网络相关的影响也会产生数据丢包等问题。但是这类视频噪声基本没有rebuffering问题,因为在网络很差的时候会丢包。

基本上现有的大部分VQA算法都是基于此类视频噪声来做的。FR-IQA:SSIM、MS-SSIM,FR-VQA:VQM_VFD、MOVIE、ST-MAD、VMAF、FLOSIM,RR-VQA:STRRED。

Playback Interruption

但是有时候,在可用带宽极低时,播放中断是不可不避免的,如下图右。大部分的工作都表明,rebuffering的持续时长、频率和位置都会影响QoE。一些方法如FTW、VsQM利用了rebuffering的全局统计特性,现在的一些工作在考虑rebuffering对QoE的影响的基础上,整合了recency的机制。

但是这些工作都只是对上述两种噪声类型中的一种进行研究,要么针对第一种压缩噪声,要么针对第二种rebuffering,其中一个因素是因为缺少合适的主观数据。在[32]中,作者结合了全参考的算法(如SSIM和MS-SSIM)和rebuffering的信息,产生了Streaming Quality Index (SQI)。在[33]中,作者将QP值和与rebuffering相关的特征输入到Random Neural Network估计QoE。但是呢,这些算法用的视频数据不充分,一共只有4种视频内容,每段视频只有16秒,因此也没考虑到长时记忆的影响。这就引导我们做一个更大的基于流媒体的主观数据集,以及设计相应的算法。

需要注意的是,HTTP Adaptive Streaming(HAS)使用了TCP协议,因此能抗拒一些由数据丢包产生的噪声,比如视频数据丢失或者其他的瞬变。因此,我们只需要考虑两类主要的噪声:压缩(多个编码比特率)和播放中断(rebuffering)。

所以,下面,我们要先介绍一下我们见了一个数据集,然后基于这个数据集,我们提出一个新的方法:Video ATLAS。


The LIVE-Netflix Rebuffering Dataset

他们的数据集都不够好,所以我要自己造

大部分现有的数据集,都只考虑了上述两种噪声中的一种,或者方式很特定,妨碍了实用性。所以我们自己造了一个数据集LIVE-Netflix:14个参考视频,每个参考视频可以产生8种不同的比特变化或者rebuffering形式(Patterns),产生了112个噪声视频。我们假设可获得带宽最大250kbps,最小100kbps,下图给一个小例子。我们假定buffer的容量是固定的,所以我们可以对不同比特率下的Patterns、rebuffering的位置和时长等进行比较。


Is Objective VQA Enough ?

数据集造好了,我要开始自己设计算法了,为什么呢?因为现有的算法不行……行就没得玩儿了

现有的大部分VQA算法都没考虑rebuffering,但是现实中我们其实很需要。所以我们挑了一堆QA算法,在我们的LIVE-Netflix上测了一下,他们果然不行:)

我们是这样测的,首先挑出没有rebuffering的视频,测得一个质量SqSqS_q,然后对所有视频,测得一个质量SallSallS_{all},结果在下面这张图。(都是辣鸡)

我们觉得,主观QoE是受rebuffering和质量衰减联合影响的,而不应该仅仅只度量质量衰减这一个因素。所以客观VQA都不这么可靠,因为它们都将这种关联性去掉了,这也启发我们要考虑这种相关性。


Learning-based Framework for QoE Prediction

你们都不行,所以该我了

我们提了一些特征,因为需要同时度量质量衰减和rebuffering,所以这些特征有:
- Objective Video Quality Scores (VQA):现有的一些VQA算法都可以整合进来用,取平均到一个score值;
- Rebuffering-aware features (R1R1R_1 和 R2R2R_2):每段rebuffering的时间长度R1R1R_1和rebuffering的次数R2R2R_2;
- Memory-related feature (M):由于QoE在的一定程度上依赖于recency effect(一般来说,噪声出现的时刻越接近你给出质量分数的时刻,噪声的主观效果越强烈),所以我们也计算了最后一次发生rebuffering或者比特率跳变,到视频末尾的时间长度;
- Impairments duration feature (I):噪声所cover的时长。

事实上,第一种VQA特征基本度量质量衰减,后续的几个特征主要是在致力于rebuffering的度量(当然,也对质量衰减有影响)。同时,由于rebuffering的视频中有在暂停缓冲阶段,噪声视频是静止的,而参考视频在继续随着时间播放,所以在做FR-VQA时,会有一个校准的过程,避免在计算时出现参考帧和测试帧不是在同一个时刻的情况。


Training and Evaluation of The Proposed Framework

我们试了很多次,发现效果还可以,所以发论文了

我们提了一些特征,所以该用机器学习来训练测试了。机器学习有很多,每个的性能出来都不一样,所以我选了一堆(而不是一个):linear models (Ridge and Lasso regression), Support Vector Regression (SVR), 以及ensemble methods: Random Forest (RF), Gradient Boosting (GB), Extra Trees (ET) regression。

因为是机器学习嘛,所以我们做了很多实验……

Experiment 1: Testing for Content Independence (LIVE-Netflix)

按照80%/20%对视频内容分训练/测试集,然后我们可以看到,经过训练过后的QoE估计比没有经过训练的VQA算法好(这还用说……而且测试数据太少了吧,24个数据样本)

然后,我们发现,使用不同的VQA算法,使用不同的机器学习方法,结果也很不一样

emmm……不同特征的贡献也不同

通过不同的特征组合方式,结果也五花八门,总的来说,虽然特征有点贡献高,有的贡献低,但是缺一不可啊,少了一个性能都会下降

其实我们可以看到,不论是单个特征,还是组合特征,考虑了记忆特征(M)真的很有效。这也证明了单个QoE评价很受recency/memory的影响。

当然了,我们在做VQA算法的时候,其实还考虑过一些时域pooling策略,结果发现还是取平均结果稳定一些

如果不是8/2分做训练/测试呢?基本上就是训练集越少效果越差吧……

总的来说,就是我们的框架产生的效果真的很好,你看,我们在LIVE-Netflix上的结果

Experiment 2: Testing for Pattern Independence (LIVE-Netflix)

因为我们的LIVE-Netflix数据集上,每个参考视频有8中对应的Patterns来产生噪声测试视频,那么结果会不会很依赖于Pattern呢?所以我们又做了对Pattern 8/2分训练/测试集(而不是基于视频内容)。

那么结果也很乐观啦,说明对了Pattern不敏感

Experiment 3: Training and Testing for Waterloo DB

有人会说,你自己的数据集,训练测试都在上面,当然可以根据数据集来建模型咯。所以我又用别人的数据集Waterloo DB来做,用8/2在Waterloo DB上做训练测试,效果还是好好的,甚至比根据Waterloo DB建立起来的算法SQI还要好一点点

Experiment 4: Training on Waterloo DB and testing on LIVE-Netflix

进一步,为了证明框架的合理性和泛化性,我可以在Waterloo DB上训练,在LIVE-Netflix上测试啊。

Experiment 5: Training on LIVE-Netflix and testing on Waterloo DB

同样地,我也可以在LIVE-Netflix上训练,在Waterloo DB上测试,效果都是我最好,这你没得说了吧。

(不,我还是要说:

在LIVE-Netflix上,内容独立时,MS-SSIM+ATLAS+EF最好;Pattern独立时,STRRED+ATLAS+Ridge与SSIM+ATLAS+RF最好;在Waterloo DB上,SSIM+ATLAS+SVR最好;两个数据集做跨库时,SSIM+ATLAS+Lasso最好。

到最后,还是没有一个general的模型,可以在所以实验中都有稳定的结果,依然没有足够的泛化能力。或许这就是所谓的framework,而不是model。

并且这两个数据集真的很小,如果还要拆分出训练集,就更小了。更希望看到在一些传统做VQA数据集上的结果,至少测试压缩噪声子数据集。

我更趋向于去结合这些特征去学习一个temporal pooling策略,而不是平均诸多帧质量之后,再去找这些时域变化特征来做combination)


Future Work

LIVE-Netflix QoE数据集有大量的连续时间的主观数据,可以整合这些时域方面的QoE质量来进一步设计更好的资源分配策略。



[小广告]
我的Github:https://github.com/Sissuire
第一手博客来源:https://sissuire.github.io/


(End of this file)

论文笔记-Learning to Predict Streaming Video QoE: Distortions, rebuffering and memory相关推荐

  1. 【论文笔记】SlowFast Networks for Video Recognition

    目录 1,摘要 2,介绍 3. SlowFast 网络 3.1 Slow路径 3.2 Fast 路径 3.3 横向连接 3.4 网络实现 参考文献 参考 1,摘要 本论文提出了用于视频识别的SlowF ...

  2. 论文笔记 | Learning Deep Features for Discriminative Localization

    作者 Bolei Zhou, Aditya Khosla, Agata Lapedriza, Aude Oliva, Antonio Torralba Bolei Zhou Abstract 受到NI ...

  3. [论文笔记] Learning Gestures From WiFi: A Siamese Recurrent Convolutional Architecture

    原文链接:Learning Gestures From WiFi: A Siamese Recurrent Convolutional Architecture | IEEE Journals &am ...

  4. 论文笔记 -- Learning Representations for Time Series Clustering

    文章目录 Learning Representations for Time Series Clustering Motivation Contribution Model DTCR工作 DTCR流程 ...

  5. 论文笔记2:Video-based Person Re-identification with Spatial and Temporal Memory Networks

    本文是韩国延世大学,电气与电子工程学院所发表的基于视频行人重识别的文章. 文章地址:https://openaccess.thecvf.com/content/ICCV2021/papers/Eom_ ...

  6. 图像内复制粘贴篡改取证matlab_[论文笔记] 篡改检测:RGB-N

    [论文笔记] Learning Rich Features for Image Manipulation Detection 说在前面 个人心得: 第一次关注篡改检测,最常见的篡改方式是拼接.复制移动 ...

  7. 论文笔记:Evolving Losses for Unsupervised Video Representation Learning

    Evolving Losses for Unsupervised Video Representation Learning 论文笔记 Distillation Knowledge Distillat ...

  8. Collaborative Spatiotemporal Feature Learning for Video Action Recognition 论文笔记

    论文笔记 1 引子 ​ 在本文中,我们提出了一种新颖的协作时空(CoST)特征学习操作,它与权重共享共同学习时空特征. ​ 给定3D体积视频张量,我们通过从不同角度观看它们,将其展平为三组2D图像. ...

  9. 论文笔记【A Comprehensive Study of Deep Video Action Recognition】

    论文链接:A Comprehensive Study of Deep Video Action Recognition 目录 A Comprehensive Study of Deep Video A ...

最新文章

  1. 整数n的倒数第k个数字
  2. 使用回调方式写POI导入excel工具类
  3. 在Castle中使用nhibernate
  4. Python-读取文件例子:一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本 ....
  5. pyqt2_官网教程
  6. 09 | 队列:队列在线程池等有限资源池中的应用
  7. Linux、Ubuntu、CentOS安装和配置zsh
  8. html5饼图的制作方法,html5制作饼图
  9. SaltStack之target
  10. 王炸!Waymo正式官宣无人车出行平台,瑟瑟发抖的不止Uber
  11. 从txt中读入数据到数组中(fscanf)
  12. OgreSDK_Android_v1-9-0RC1 --Android 环境搭建
  13. java p2p实例_java文件p2p传输
  14. python聊天室(tkinter写界面,treading,socket实现私聊群聊查看聊天记录,mysql存储数据)
  15. the7主题 一个强大的wordpress 主题 html5拖拽式建站系统
  16. Python 助你填写高考志愿
  17. 班级主页效果图html,DW制作网页|html静态页面|班级网页素材|蝶恋花班级主页网站...
  18. Frequent values ——RMQ
  19. W10应用商店Microsoft Store的安装
  20. w ndows摄像头驱动怎么安,一步一步教你安装如何摄像头驱动(图)

热门文章

  1. 九型人格 (性格型态学)
  2. win7 xp双系统启动引导修复指令
  3. 设计已死?Is Design Dead?
  4. stickies 使用_Windows Stickienote桌面应用程序的Stickies
  5. C4D 渲染出现大块黑色噪点
  6. 行业融媒体平台建设与八爪鱼
  7. c++实现时钟(图形实现)
  8. C#网络电视精灵系统
  9. Revit+第一个小程序
  10. Propagation-Based Social-Aware Replication for Social Video Contents