/自适应视频推流方案

Created Thu, 21 Oct 2021 10:50:54 +0800 Modified Tue, 07 May 2024 01:58:26 +0000
4625 Words 21 min

概述

自适应方案可以在处理不同目标对象时帮助改善推流体验。

目标主要包括视频质量、功耗、负载均衡等在移动无线网和有线网接入的情形。

适应性的视频比特率需要同时匹配网络条件和质量目标的需求。

分类

服务端适应

大多数服务端适应的方案要求客户端发送系统或网络相关信息。

质量导向的适应方案(Quality-Oriented Adaptive Scheme/QOAS)

向终端用户提供了高知觉质量的媒体内容。

  1. QOAS 是 C-S 架构,决策在服务器端产生。

  2. QOAS 基于客户知觉质量的反馈,提供对推流质量等级的调整。

智能优先级适应方案(intelligent Prioritized Adaptive Scheme/iPAS)

专用于 802.11 网络。

  1. iPAS 服务器上的基于固有印象的带宽分配模块被用于组合 QoS 相关的参数和视频内容特征来进行内容的优先级分类和带宽份额分配。

  2. 通过区分多媒体流,iPAS 提供可用无线信道的优先级分配。

设备导向的适应方案(Device-Oriented Adaptive multimedia Scheme/DOAS)

专用于 LTE 网络,建立在 LTE 下行链路调度机制之上。

  1. DOAS 专门根据设备特性实现适配,尤其为多屏终端用户提供了卓越的 QoE。

客户端适应

基于吞吐量的自适应方案

这类方案基于估计的网络吞吐量从服务端选择视频的比特率。

  1. HTTP 客户端通过之前的观察记录来估计网络的吞吐量。
  2. 通过测量端获取时间(segment fetch time/SFT)来代表发起和收到回复的瞬时 HTTP GET 请求之间的时间段,以此来确定一个推流会话中吞吐量的变化,进而独立地做出适应决策。
  3. 在分布式网络中,同时考虑并发和顺序的 SFT。通过比较实际的和理想的 SFT 来选择未来的 segment 的质量等级。
FESTIVE 算法

适用于多个 HAS 客户端共享一个常见的拥塞带宽链路的情形。

效率、稳定性、公平性为度量因素的适应性算法。

探索了一种为分段调度、吞吐量估计和比特率选择而生的健壮的机制。

包含一个随机调度器来调度下一个视频块的下载。

多个客户端共享容量为$W$的满带宽链路,每个客户端$x$在$t$时刻播放的视频比特率为$b_x,_t$ ,需要避免以下 3 种问题:

  • Inefficiency:多个 HAS 客户端必须能选择最可能的表示来提高 QoE。

    $$ Inefficiency = \frac{|\sum_{x}b_x,_t - W|}{W} $$

    Inefficiency值表明多个客户端对带宽实现了最有效的利用。

  • Unfairness:可用带宽应该被均等地分配。

    $$ Unfairness = \sqrt{1-JainFair} $$

    Unfairness值表明多个客户端有相近的比特率。

  • Instability:不必要的比特率切换会损害推流体验

    $$Instability = \frac{\sum_{d=0}^{k-1}|b_{x,t-d} - b_{x,t-d-1}|*w(d)}{\sum_{d=1}^{k}b_{x,t-d} * w(d)}$$

Probe AND Adapt(PANDA)算法

用于检测网络状况,考虑未来比特率选择的平均目标数据比特率。

目标是当多个 HAS 客户端共享一个拥塞带宽信道时,通过正确探测网络,进而最小化比特率震荡

PANDA 算法在性能上击败了 FESTIVE 算法,并且 PANDA 算法在这些解决方案中表现出了最好的适应性,在不同带宽情况和播放器设置下实现了最优的效率、公平性和稳定性

整体上的推流质量不只依赖于本地的吞吐量测量,还依赖服务端的网络容量。

  1. 利用服务器发起的推送机制来降低 DASH 内容推流到移动客户端的端到端延迟。
  2. 利用HTTP/2的流终止特性来实现中间质量调整。
  3. 基于估计的用户 QoE,功耗和可用资源来改善用户端的推流体验。

虽然有证据表明性能得到了提高,但是评估工作只是在受控的 LAN 环境下有效。

Cross Session Stateful Predictor(CS2P)方案

一种数据驱动的吞吐量估计方案,以克服不准确的 HAS 流量预测问题。

将共享相似特性的推流会话分簇,然后对每个簇使用隐马尔科夫模型预测相应的吞吐量样本。

在一个大规模数据集上实验性的评估表明:CS2P 高效地估计了可用的网络吞吐量,进而改善了整体上的视频比特率的适应性。

CFA 和 Pytheas 等方案和 CS2P 类似,也使用数据驱动的控制器来估计可用的吞吐量。

但是这些工作不支持异构系统并且需要额外的训练复杂性,使其不够具有吸引力。

基于吞吐量的适应性方案主要的挑战在于对吞吐量的精确估计。

为 360 度视频采用一个没有经过精巧设计的吞吐量估计机制可能会导致不稳定性和较差的 QoE,在高度动态化的无线和蜂窝网络中尤甚。

基于缓冲区的自适应方案

客户端会在播放视频时根据当前缓冲区的占用情况请求将要到来的 segment。

如何克服不完整的网络信息的限制
  1. 在多客户端启用缓存的环境中,结合客户端测量工具集和补偿算法构造模型。

    这个模型可以高效探测比特率切换时间并通过选择切换适当的比特率来进行补偿,最终实现了可达 20%的比特率改善。

  2. Buffer Based Adaptation(BBA)方法

    应用于 Netfix 客户端时可以减少可达 20%的重新缓冲事件。

    BBA 方法考虑的缓冲区较大,因此对于比较短的视频不一定有这样的性能。

  3. Buffer Occupancy-based Lyapunov Algorithm(BOLA)

    把比特率适应性问题看作是与播放质量和重新缓冲时间相关的最优化问题。

    BOLA 旨在通过把缓冲区大小保持在设定的目标水平来避免重新缓冲。

    对于缓冲区级别的突然下降,BOLA 通过请求最低可用视频比特率来避免停顿事件的频率。

如何优化缓冲区利用率
  1. Adaptation and Buffer Management Algorithm(ABMA+)

    • 基于重新缓冲事件的可能性确定未来 representation 的下载时间。
    • 通过基于预先计算的缓冲区大小和 segment 下载时间选择最大比特率来确保流畅的播放。

    这样可以实现低计算开销的良好部署。

  2. Scalable Video Coding(SVC)/Bandwidth Independent Efficient Buffering(BIEB)

    • 基于层分发获取视频块,进而维持稳定的缓冲区大小来避免频繁的中断。
    • 没有考虑 QoE 模型中的卡顿和质量切换。
    • 涉及额外的编码和处理开销。
  3. 使用 PID 控制器的控制论方法

    • 强制执行缓冲区设置点来使缓冲区保持在最佳水平。
    • 略微降低视频比特率,以防止不必要的视频比特率调整。
    • 在多个客户端竞争的情况下,不能保证公平性。
如何降低 DASH 流的排队延迟

DASH 流会经历最长可达 1s 的排队延迟和严重拥塞,导致缓冲区膨胀问题,而这会严重损害实时多媒体服务的 QoE。

旨在减少网络拥塞的主动队列管理 (AQM) 策略并没有充分减少这种不必要的延迟。

  1. DASH 客户端根据网络设备的队列大小动态接收窗口大小可以显著减轻缓冲区膨胀效应。
  2. 由于长期的 viewport 预测的高度不确定性,充足的缓冲区空间对于 360 度视频的流畅播放来说并不可行。
  3. 通常小于 3s 的缓冲区大小对于短期的 viewport 预测来讲比较适合。
  4. 由于小缓冲区很有可能造成播放卡顿,因此较短持续时间的 segment 可以被用于基于 tile 的流中,但是相比于长持续时间的 segment,这样也会降低编码效率。

混合自适应方案

客户端同时考虑吞吐量和播放缓冲信号来确定即将到来的 segments 的视频比特率。

Model Predictive Control(MPC)

利用良好定义的参数集合来估计可用的网络和缓冲区资源,进而为高 QoE 的比特率做出最优调整的控制论方法。

提出的 QoE 模型采用视频的平均质量$R_k$,平均比特率切换,重新缓冲事件,和初始延迟$T_s$作计算:

$$ QoE_1^K = \sum_{k=1}^{K}q(R_k) - \lambda\sum_{k=1}^{K-1}|q(R_{k+1}) - q(R_k)| - \mu\sum_{k=1}^{K}(d_k(R_k)/C_k - B_k)_+ - \mu_sT_s $$

$C_k$:第 k 个块的可用带宽,$B_k$:第 k 个块的可用缓冲区大小

$\lambda, \mu, \mu_s$:可以根据用户兴趣进行调整的权重

  • MPC 用调和平均的方法来估计吞吐量,并且能够明确管理复杂的控制对象。

  • 只研究了单播放器的情况,因此没有公平性的考量。

Throughput and Buffer Occupancy-based Adaptation(TBOA)

选择合适的视频比特率来获得单个或多个客户端环境中改进的推流体验。

  • 激进地提高了比特率来最高效地利用可用的带宽。

  • 等待缓冲区超过某个级别,然后降低比特率以获得稳定的性能。

  • 为缓冲区等级设置三个阈值,例如:

    $0 < B_{min} < B_{low} < B_{high}$

    目标区间在$B_{low}$和$B_{high}$之间。

    算法努力使最优区间$B_{opt}满足$ $B_{opt} = B_{low} + B_{high} \over 2$。

    通过控制$B_{low}$和$B_{high}$的阈值,使缓冲区和比特率的变化稳定来应对未知的 TCP 吞吐量。

  • 算法表现的流畅而公平,但是没有把用户满意度的度量考虑在内。

fuzzy logic-based DASH

控制重新缓冲事件和视频推流的质量。

  • 考虑了平均吞吐量的估计方法,获得了更高的视频比特率和更少的质量波动。
  • 没有考虑 QoE 度量。

为了更好地调整比特率做出的改进:

  • 用 Kaufman’s Adaptive Moving Average/KAMA 测量法估计吞吐量。
  • 用 Grey Prediction Model/GPM 来估计缓冲区等级。

竞争流模拟环境中,改进所取得的效果:

  • 平均情况下达到 50%的公平性。
  • 最好情况下达到 17%的更好的接收质量。
Spectrum-based Quality Adaptation(SQUAD)算法

解决吞吐量预测和缓冲区等级估计的不连续性。

  • 吞吐量和缓冲区等级反馈信号都被用于选择恰当的质量。
  • 在一开始获取最低质量的 segment 来减少启动时间。
  • 在视频质量切换频率和幅度方面性能显著提高。

尚未有方案讨论如何在视频质量和带宽利用率之间做出很好的平衡。

Throughput Friendly DASH/TFDASH

获得多个竞争客户端情形下的公平性、稳定性和效率。

  • 通过避免 OFF 端获得了最大并且公平的带宽利用率。
  • 双阈值的缓冲区保证播放时的稳定性。

在单客户端的环境中,混合适应方案表现的很合理。

但是多个客户端一起竞争带宽时会迅速扼杀整个网络。

当客户端的缓冲区达到了最大阈值时,客户端进入了 ON-OFF 阶段,此时客户端只对自己的视频比特率做了调整而没有考虑其他客户端,因而不能正确地估计可用的带宽资源。

这会导致竞争客户端之间带宽利用不足以及带宽分配不均。

基于多路径的自适应方案

解决的主要问题是在异质网络之上,如何面对交付内容的增加。

Multipath Transmission Control Protocol(MPTCP)
  • 有用但是并不理想
    • 因为需要发送端和接收端同时修改内核堆栈。
    • 因为受到网络运营商的限制可能无法通过中间件。
CMT-QA 方案

采用多种特定的网络技术来实现并发的多路内容交付。

Multi-source player(MSPlayer)

实现多条链路之上的高质量视频传送和弹性的容错机制。

  • 客户端驱动的对未来视频 segment 的比特率分配依赖于估计的网络状况。

  • 视频 segment 可以在两种可用网络之上进行下载,但是多路径的下载可能会造成交付顺序错乱。

Cross-layer Fairness solution

通过探索数据链路层和传输层之间的交互来分析数据传输路径的实时质量,提出了一个公平性驱动的高效流控机制。

在模拟环境中,相比于 CMT-QA 方案:

  • 获得了更高的公平性评级。
  • 获得了更低的平均吞吐量和 PSNR(峰值信噪比)。
Kim and Chung’s work

同时利用 WiFi 和 LTE 网络接口,从多个视频源下载部分 segment。

  • 对多路径的聚合带宽进行平滑处理以避免带宽波动。
  • 实现了一种部分 segment 请求策略以避免乱序问题,经过各种路径传输的部分片段 在呈现给用户之前进行组合。
Go’s work

在网络成本限制下,调度跨网络间相同比特率的视频块中的所有 segment。

基于 MPEG-DASH 的推流策略实验性评估

以低功耗为移动设备提供了 WiFi 和 LTE 网络下的无缝视频播放。

  • 没有分析感知视频质量的影响。
DAVVI

基于 HTTP 的推流系统,为了实现 3G 和 WiFi 网络之上的多信道支持。

  • 基于每个信道的质量,视频 segment 被动态地划分成 subsegment,以便于最大负载可以被应用到每个信道上。

为多媒体内容交付使用多个网络接口需要为路径质量测量和数据调度精心设计机制,来避免丢包和乱序交付的问题。

然而因为无线异质网络的高度动态性和复杂性,现有的方案在测量实时信息的时候是受限的。

Elgabli’s work

考虑了基于 SVC 的优先自适应视频传输的两条路径。

  • 属于每一层的段可以根据质量、块 deadline 和路径偏好从可用路由之一传输。
  • 没有考虑在任何路径上应用最大贡献度。
Zhang’s work

提出了一种基于两个流的优先级感知自适应解决方案,它为每个流使用不同的视频比特率。

  • 实现了一个集成带宽的方式来为高优先级流启用更高的视频比特率,并在没有足够的可用带宽时终止低优先级流。
Yun and Chung’s work

为多视图视频提出了一种基于 DASH 的推流框架,它包括基于缓冲区的服务器推送方案和并行传输机制,以减少不同传输视图之间的切换时间。

  • 只有一种路径配置被应用。
Rahman and Chung’s work

介绍了基于 HAS 的多视图会议流解决方案,其中演示者、观众和演示屏幕的多个流通过多条路径同时传输。

  • 对所有的 3 个流分配相同的优先级。
  • 采用统一带宽的方式,以便于统一的质量可以被分配到所有流的 segment 上。
  • 对于多个流的每个 segment,其路径以通过考虑网络吞吐量和每个 segment 的比特率来决定。
  • 没有考虑多信道的影响,这可能降低整体性能。

利用多路径网络的特点和优先级特性可以为 360 度 tile 视频推流提供更高的推流性能。

提出的所有自适应策略都是通用的,目标是标准的视频交付,并没有对 360 度视频内容做出特别的考虑。