视频QoE测量学习笔记(二)

A Survey on Bitrate Adaptation Schemes for Streaming Media Over HTTP论文学习笔记

自适应比特率(ABH或ABS)

是一种旨在通过 HTTP 网络有效地流式传输文件的技术。向用户的视频播放器提供多个相同内容、不同大小文件的文件,然后客户端选择最合适的文件在设备上播放。

它旨在通过在任何情况下提供正确的内容、考虑特定设备和特定网络条件来改进流传输,从而减少重新缓冲的需求。 ABR 流式传输允许视频播放器根据可用比特率和设备功能选择最佳可用视频片段(或块)来播放。

HAS介绍

HAS:HTTP adaptive streaming

主要在客户端执行,即,以分布式的方式

公共互联网上的视频传输也被称为过顶(OTT)视频流 

自适应本质:

每个片段以多个比特率级别编码,并在称为媒体呈现描述(MPD)的清单中列出。

MPD是提供服务器处的可用媒体片段的索引的XML文档。

在客户端侧,DASH实现比特率适配逻辑,其发出定时请求并使用HTTP(部分)GET消息从服务器下载MPD中描述的片段。在下载期间,DASH客户端估计网络中的可用带宽,并使用来自回放缓冲器的信息来为要获取的下一个片段选择合适的比特率。这种行为被称为比特率切换,其中客户端的目标是获取它可以获取的最高比特率片段,同时在回放缓冲区中保持足够的数据以避免视频停顿,从而实现良好的QoE权衡。

HAS正在解决传统流协议中主要关注的几个方面:

(1)它使用HTTP来传递视频片段,这简化了通过NAT和防火墙的遍历[6];

(2)在服务器端,它使用互联网服务提供商(ISP)和内容分发网络(CDN)的网络中可用的传统Web服务器或缓存;

(3)客户端独立于其他片段请求和获取每个片段,并维护回放会话状态,而服务器不需要维护因此,客户端可以从不同的服务器下载段,而不会影响系统的可伸缩性;

(4)它不需要客户端和服务器之间的持久连接,这提高了系统的可伸缩性,并降低了实现和部署成本。

DASH标准化原因

为了避免市场中的碎片化,运动图像专家组(MPEG)与第三代合作伙伴计划(3GPP)一起分别开始致力于MPEG媒体和HAS的HTTP流传输。这些努力最终导致了HTTP动态自适应流(DASH)的标准化。

影响HAS系统的四个主要问题:

(1)多客户端竞争和稳定性问题,

(2)一致性质量流,

(3)QoE优化和测量,

(4)目的地间多媒体同步。

使用集中式管理控制器可以提高整体视频质量,同时改善观众的QoE。

一个健全的HAS方案应实现三个主要目标:

稳定性:HAS客户端应避免频繁的比特率切换,这会导致质量振荡和视频停顿,进而对QoE产生负面影响。

公平性:竞争可用带宽的多个HAS客户端应该基于观看者、内容和设备特性平等地共享网络资源。这里所期望的公平性通常不会导致带宽公平性。

高利用率:当客户端试图保持稳定和公平时,网络资源应尽可能有效地使用。

流会话的两种状态

  • 缓冲区填充状态
  • 稳定状态

缓冲器填充状态旨在填充回放缓冲器并达到可以发起或恢复回放的特定阈值。在这种状态下,客户端在前一个块被完全下载。在回放缓冲器水平达到目标阈值(例如,30秒,然而,注意,该阈值在不同的比特率适配方案之间变化,或者可以基于预期的条件来增加或减少),则客户端进入稳定状态。

在稳定状态期间的目标是保持缓冲器水平高于最小阈值,而不管带宽波动或中断,以便避免缓冲器欠载运行或停滞事件。稳态由两个活动周期组成,称为ON和OFF。基本上,HAS客户端每Ts个时间单位请求一个段,其中Ts表示每个段的内容持续时间,并且ON和OFF时段持续时间之和等于Ts。在开启时段期间,HAS客户端下载当前段并记录所实现的吞吐量值,该吞吐量值稍后将用于为未来段选择适当的比特率。之后,客户端在OFF时段中暂时变为空闲。

HAS分类

1.互联网最初是为尽力而为、非实时数据传输而设计的。

2.2005年,Move Networks推出一种视频交付模式HAS,将媒体内容视为常规Web内容,并通过HTTP协议将其分成小块进行交付。

3.HTTP动态自适应流(DASH)提供了用于通过HTTP的自适应流传输的开放规范,并且将自适应逻辑的实现留给第三方。服务端一样,客户端(DASH播放器)的实现不同。

相关研究根据DASH实现方案,分为三大类

  • 客户端:
  • 服务端
  • 网内方法

基于客户端:

介绍

通过根据诸如可用带宽、回放缓冲器大小等一个或多个度量切换到适当的视频比特率来适应带宽变化。

客户端使用一个或多个度量作为其比特率选择算法的输入,以便为要下载的下一个片段选择适当的比特率级别。这些算法试图避免流媒体问题,如视频不稳定,质量振荡和缓冲区饥饿,同时提高观众的QoE。

实现目标

(i)当回放缓冲区耗尽时最小的重新缓冲事件,

(ii)最小的启动延迟

(iii)相对于网络资源的高整体回放比特率水平

(iv)由于频繁切换而发生的最小视频质量振荡。

基于客户端的比特率适配组织成五个类别:

(1)基于可用带宽(第III-A1节),

(2)基于回放缓冲器(第III-A2节),

(3)专有解决方案(第III-A3节),

(4)混合(第III-A4节),

(5)基于马尔可夫决策过程(MDP)(第III-A5节)。

1)基于可用带宽的自适应:在这种直观类型的方案中,客户端基于测量的可用网络带宽做出表示决策,该带宽通常计算为所获取的段的大小除以传输时间。

缺点

基于客户端的方案可能遭受由于HAS的ON-OFF模式而引起的HAS稳定性问题和QoE变化。当地理位置分散的客户端数量不断增长时,这些问题会变得更加严重。

基于服务端

介绍

基于服务器的方案在服务器侧使用比特率整形方法,并且不需要来自客户端的任何合作。因此,比特率之间的切换由比特率整形器隐式地控制。客户端仍然会做出自己的决定,但这些决定或多或少是由服务器上的整形方法决定的。

缺点:

基于服务器的方案引入了开销和复杂性,随着客户端数量的增加限制了系统的可扩展性。

网络辅助适应

介绍

允许HAS客户端在比特率适配过程中考虑网络内决策。这是通过收集有关网络状况的测量结果,同时通知客户端要选择的合适比特率来实现的。网内过程需要一个特殊的组件(例如,部署在网络中的代理/代理服务器)来监视网络状态和条件。它提供了网络级信息,使HAS客户端能够有效地使用网络资源。

QoE感知的DASH(QDASH)是客户端和流服务器之间的代理,其目的在于通过使用集成的中间级别来确保比特率级别的逐渐变化,从而避免视频振荡,这可以导致更好的QoE。

QDASH由用于测量带宽的QDASH-abw模块和用于帮助客户端选择能够支持当前网络条件和缓冲区占用率的合适比特率的QDASH-qoe模块组成。然而,它会在网络中产生显著的开销,尤其是随着客户端数量的增加。这种开销可能最终导致其自身的网络拥塞,从而导致低Qofg

缺点:

网络辅助和混合自适应方案使用集中式实体来辅助客户端进行决策,提高观众QoE,并避免HAS可扩展性问题。然而,它们很难部署在真实世界网络基础设施的完全分散的性质上,并且它们不支持许多HAS参与者在地理上分布的大规模部署。第三,我们在一组QoE和网络方面提供了所调查的方案之间的比较。

混合适配

介绍

在混合比特率自适应中,许多联网实体一起协作并收集关于网络条件的有用信息,这些信息可以帮助HAS客户端进行比特率选择。这种类型的技术包括基于SDN和服务器和网络辅助的适应。

HAS趋势

HAS和可伸缩视频编码(SVC)

介绍:

在大多数现有技术的自适应流传输系统中,不可伸缩视频编码(即,AVC、HEVC、VP 9/AV 1)由于其编码效率、易于实现和广泛采用而被广泛依赖。然而,可缩放视频译码具有多个益处,例如对包丢失的弹性及对装置能力(例如,如果设备不能解码高质量视频,则它可以选择仅解码较低层)。

在HAS中使用SVC而不是AVC的好处:

(1)它允许HAS支持异构客户端,

(2)它降低了存储和网络成本,

(3)它使CDN和缓存能够更有效地使用,

描述了基于SVC的HAS,其中每个段可以被分割成比特流的子集,而不是不同的比特率级别,并且因此,可以以不同的SVC质量(时间、空间、SNR)对视频片段进行编码。使用这种机制,HAS客户端可以通过根据可用带宽的动态获取附加的比特流或层来递增地提高片段的质量。当使用SVC与DASH时的一个关键区别是客户端可能必须下载多个段(即,基本层和增强层),这与不可缩放视频的情况不同。

基于HTTP/2和QUIC的流

1)HTTP/2:HTTP/2用于客户端和服务器之间的单个持久TCP连接(支持流水线),包括全双工模式中的多个流,具有高级功能,如帧交换,请求优先级,报头字段压缩和服务器推送。

2)QUIC:QUIC是一种基于UDP的安全传输层协议,旨在加速连接,减少延迟,实现拥塞和流量控制,允许多个(复用/流水线)数据连接(例如,HTTP请求/响应),而没有HOL阻塞,以及具有前向纠错(FEC)的UDP连接迁移。

沉浸式媒体流

介绍

由于360度摄像机和头戴式显示器(HMD)的可用性越来越高,沉浸式媒体流传输,特别是虚拟现实(VR)/360度视频流传输如今受到学术界和工业界的极大关注。VR应用范围从3D视频游戏到360度视频流和远程沉浸。

QOE

感知元素:

  • 视频图像质量;
  • 初始延迟;
  • 停滞持续时间和频率;
  • 以及质量切换幅度和频率;

评估标准:

(1)客观度量,例如峰值信噪比(PSNR)、结构相似性(SSIM和SSIMplus)、感知视频质量(PVQ)[43]和统计上无差别的质量变化(SIQV);

(2)主观度量,诸如平均意见得分(MOS);

(3)服务质量(QoS)导出的度量,诸如启动延迟、平均视频比特率、质量切换和再缓冲事件;实现高QoE是困难的,因为尝试优化每个度量可能导致冲突。这些测量之间的复杂关系以及适配逻辑与其他应用和网络层决策之间的相互作用可显著影响QoE。

(4)目的地间多媒体同步:社交多媒体网站的不断发展正在改变人们共享内容的方式。

 编码:

从可能不同的表示(以不同的比特率编码)请求和下载段的客户机在其回放缓冲器中无缝地连接这些段。这产生可使用标准解码器处理的符合位流

参考链接:

Adaptive Bitrate Video Streaming - 知乎 (zhihu.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/59446.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML 基础标签——文本内容标签 <ul>、<ol>、<blockquote> 、<code> 等标签的用法详解

文章目录 1. 标题标签2. 段落标签3. 文本格式化标签4. 列表标签4.1 无序列表 `<ul>`4.2 有序列表 `<ol>`5. 引用标签5.1 块引用 `<blockquote>`5.2 行内引用 `<q>`5.3 作品引用 `<cite>`6. 代码和预格式文本标签6.1 代码标签 `<code>`6.2 …

论文阅读笔记-Get To The Point: Summarization with Pointer-Generator Networks

前言 最近看2021ACL的文章&#xff0c;碰到了Copying Mechanism和Coverage mechanism两种技巧&#xff0c;甚是感兴趣的翻阅了原文进行阅读&#xff0c;Copying Mechanism的模型CopyNet已经进行阅读并写了阅读笔记&#xff0c;如下&#xff1a; 论文阅读笔记&#xff1a;Copyi…

PDF多功能工具箱 PDF Shaper v14.6

如今对PDF处理的软件很多都是只是单一的功能。PDF Shaper给你完全不同的体验&#xff0c;因为PDF Shaper是一款免费的PDF工具集合的软件。有了PDF Shaper&#xff0c;你以后再也不用下载其他处理PDF的软件了。PDF Shaper的功能有&#xff1a;合并&#xff0c;分割&#xff0c;加…

【算法】(Python)贪心算法

贪心算法&#xff1a; 又称贪婪算法&#xff0c;greedy algorithm。贪心地追求局部最优解&#xff0c;即每一步当前状态下最优选择。试图通过各局部最优解达到最终全局最优解。但不从整体最优上考虑&#xff0c;不一定全局最优解。步骤&#xff1a;从初始状态拆分成一步一步的…

vue常见题型(1-10)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 2.2双向绑定的原理是什么vue框架采用的是数据双向绑定的方式&#xff0c;由三个重要部分构成2.2.1.ViewModel2.2.2 双向绑定2.2.3.1.编译Compile2.2.3.2.依赖收集 3…

论文阅读:人工智能赋能源网荷储协同互动的应用及展望

论文阅读&#xff1a;人工智能赋能源网荷储协同互动的应用及展望 [1]王继业.人工智能赋能源网荷储协同互动的应用及展望[J].中国电机工程学报,2022,42(21):7667-7682.DOI:10.13334/j.0258-8013.pcsee.220538. 文章目录 论文阅读&#xff1a;人工智能赋能源网荷储协同互动的应用…

虚幻引擎5(UE5)学习教程

虚幻引擎5&#xff08;UE5&#xff09;学习教程 引言 虚幻引擎5&#xff08;Unreal Engine 5&#xff0c;简称UE5&#xff09;是Epic Games开发的一款强大的游戏引擎&#xff0c;广泛应用于游戏开发、影视制作、建筑可视化等多个领域。UE5引入了许多先进的技术&#xff0c;如…

Golang | Leetcode Golang题解之第543题二叉树的直径

题目&#xff1a; 题解&#xff1a; func diameterOfBinaryTree(root *TreeNode) int {var (dfs func(node *TreeNode) int // node节点深度ans int)dfs func(node *TreeNode) int {//边界if node nil {return -1}//求左右子树深度leftDepth : dfs(node.Left)rightDepth : d…

【TS】九天学会TS语法——3.TypeScript 函数

今天学习 TypeScript 的函数&#xff0c;包括函数类型、可选参数、默认参数、剩余参数。 函数声明和表达式函数类型可选参数和默认参数剩余参数 在 TypeScript 中&#xff0c;函数是编程的核心概念之一。它们允许我们将代码组织成可重用的块&#xff0c;并提供了强大的抽象能力…

解决程序因缺少xinput1_3.dll无法运行的有效方法,有效修复丢失xinput1_3.dll

如果你的电脑在运行某些应用程序或游戏时提示“xinput1_3.dll丢失”或“找不到xinput1_3.dll”的错误消息&#xff0c;那么很可能是因为你的系统中缺少这个重要的DLL文件而导致的问题。那么电脑出现xinput1_3.dll丢失的问题时有哪些方法进行修复呢&#xff1f; 如何确定电脑是否…

Golang--面向对象

Golang语言面向对象编程说明&#xff1a; Golang也支持面向对象编程(OOP)&#xff0c;但是和传统的面向对象编程有区别&#xff0c;并不是纯粹的面向对象语言。所以我们说Golang支持面向对象编程特性是比较准确的。Golang没有类(class)&#xff0c;Go语言的结构体(struct)和其…

语音识别中的RPM技术:原理、应用与发展趋势

目录 引言1. RPM技术的基本原理2. RPM的应用领域3. RPM技术的挑战与发展趋势4. 总结 引言 在语音识别和音频处理领域&#xff0c;RPM&#xff08;Recurrent Phase Model&#xff0c;递归相位模型&#xff09;技术正逐渐崭露头角。它作为一种创新的信号处理方法&#xff0c;通过…

IntelliJ Idea设置自定义快捷键

我IDEA的快捷键是自己修改成了和Eclipse相似&#xff0c;然后想要跳转到某个方法的上层抽象方法没有对应的快捷键&#xff0c;IDEA默认的是Ctrl U &#xff08;Windows/Linux 系统&#xff09; 或 Command U &#xff08;Mac 系统&#xff09;&#xff0c;但是我的不起作用&a…

深入探讨钉钉与金蝶云星空的数据集成技术

钉钉报销数据集成到金蝶云星空的技术案例分享 在企业日常运营中&#xff0c;行政报销流程的高效管理至关重要。为了实现这一目标&#xff0c;我们采用了轻易云数据集成平台&#xff0c;将钉钉的行政报销数据无缝对接到金蝶云星空的付款单系统。本次案例将重点介绍如何通过API接…

Python 数据结构对比:列表与数组的选择指南

文章目录 &#x1f4af;前言&#x1f4af;Python中的列表&#xff08;list&#xff09;和数组&#xff08;array&#xff09;的详细对比1. 数据类型的灵活性2. 性能与效率3. 功能与操作4. 使用场景5. 数据结构选择的考量6. 实际应用案例7. 结论 &#x1f4af;小结 &#x1f4af…

ML 系列:机器学习和深度学习的深层次总结( 19)— PMF、PDF、平均值、方差、标准差

一、说明 在概率和统计学中&#xff0c;了解结果是如何量化的至关重要。概率质量函数 &#xff08;PMF&#xff09; 和概率密度函数 &#xff08;PDF&#xff09; 是实现此目的的基本工具&#xff0c;每个函数都提供不同类型的数据&#xff1a;离散和连续数据。 二、PMF 的定义…

string模拟实现插入+删除

个人主页&#xff1a;Jason_from_China-CSDN博客 所属栏目&#xff1a;C系统性学习_Jason_from_China的博客-CSDN博客 所属栏目&#xff1a;C知识点的补充_Jason_from_China的博客-CSDN博客 string模拟实现reserve 这里实现的是扩容 扩容这里是可以实现缩容&#xff0c;可以实现…

《JVM第8课》垃圾回收算法

文章目录 1.标记算法1.1 引用计数法1.2 可达性分析法 2.回收算法2.1 标记-清除算法&#xff08;Mark-Sweep&#xff09;2.2 复制算法&#xff08;Coping&#xff09;2.3 标记-整理算法&#xff08;Mark-Compact&#xff09; 3.三种垃圾回收算法的对比 为什么要进行垃圾回收&…

编程之路:蓝桥杯备赛指南

文章目录 一、蓝桥杯的起源与发展二、比赛的目的与意义三、比赛内容与形式四、比赛前的准备五、获奖与激励六、蓝桥杯的影响力七、蓝桥杯比赛注意事项详解使用Dev-C的注意事项 一、蓝桥杯的起源与发展 蓝桥杯全国软件和信息技术专业人才大赛&#xff0c;简称蓝桥杯&#xff0c…

全网最适合入门的面向对象编程教程:58 Python字符串与序列化-序列化Web对象的定义与实现

全网最适合入门的面向对象编程教程&#xff1a;58 Python 字符串与序列化-序列化 Web 对象的定义与实现 摘要&#xff1a; 如果我们要在不同的编程语言之间传递对象&#xff0c;就必须把对象序列化为标准格式&#xff0c;比如XML\YAML\JSON格式这种序列化Web对象。这种序列化W…