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

devtools/2024/11/7 19:45:03/

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.ppmy.cn/devtools/132106.html

相关文章

如何在本地搭建通义千问大模型

## 如何在本地搭建通义千问大模型 ### 引言 通义千问大模型是一个强大的语言模型,适用于自然语言处理和生成任务。在这篇博客中,我们将介绍如何在本地搭建和运行通义千问大模型,以便于开发者和研究人员进行实验和应用。 ### 环境准备 在开…

mysql代码生成器

项目 pom 文件内容 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/…

无人车之RTK定位原理篇

一、RTK技术基础 RTK技术通过地面基准站和移动站&#xff08;如无人车&#xff09;之间的协作&#xff0c;实现高精度定位。地面基准站接收来自多颗卫星的信号&#xff0c;并计算其精确位置及载波相位观测值。随后&#xff0c;基准站将这些数据通过无线电或移动通信网络实时发送…

【MATLAB代码】一维UKF的IMM,模型有CV和CA

目录 ​编辑 代码介绍 主要功能 UKF 更新函数 总结 代码介绍 这段 MATLAB 代码实现了一维无迹卡尔曼滤波&#xff08;UKF&#xff09;与交互多模型&#xff08;IMM&#xff09;结合的算法&#xff0c;旨在对非线性动态系统进行状态估计。代码中的模型包括恒速&#xff08…

linux 加载uPD720201固件

硬件 jetson orin nano jetpack 35.5.0 uPD720201是瑞萨推出的怕pcie扩展usb3.0芯片&#xff0c;支持flash主动加载与在系统被动加载 本文介绍如何做到没接flash情况下由系统加载固件 在uPD720201没接spi flash时候nano启动会报XhciDxe错误而自动重启&#xff0c;首先需要在ue…

用 Python 写了一个天天酷跑(附源码)

Hello&#xff0c;大家好&#xff0c;给大家说一下&#xff0c;我要开始装逼了 这期写个天天酷跑玩一下叭&#xff01; 制作一个完整的“天天酷跑”游戏涉及很多方面&#xff0c;包括图形渲染、物理引擎、用户输入处理、游戏逻辑等。由于Python是一种高级编程语言&#xff0c;…

十一,D O M 获取

1、DOM初相识 1.1、DOM简介 文档对象模型&#xff08;Document Object Model &#xff0c;简称DOM&#xff09;&#xff0c;它就是一些系列编程接口&#xff0c;有了这些接口&#xff0c;就可以改变页面内容&#xff0c;结构和样式 名称描述DOM文档对象模型(Document Object…

spring boot 3.x 整合Swagger3

环境介绍 jdk版本&#xff1a; 17spring boot 版本&#xff1a;3.2.0Swagger3版本&#xff1a;2.2.0 整合Swagger 添加依赖 <dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><v…