Dragonfly:以更高的感知质量实现连续 360° 视频播放 | SIGCOMM 2023

在流式传输 360° 视频时,通过将视频在空间上分割为 tile 并仅传输用户的视口,可以减少 5 倍带宽。但正确预测用户的视口非常困难,这就导致由于错误预测用户视口以及网络带宽下降而引起的重缓冲,降低了交互体验。而简单地跳过未能在播放截止时间前到达的 tile 来避免重缓冲又可能会导致不完整的视口,一样会降低体验。本文描述了 Dragonfly,一个新的 360° 系统,通过避免播放卡顿同时保持高感知质量来提升交互体验。Dragonfly 谨慎地选择跳过哪些 tile,使用总体效用函数来决定获取哪些以及以哪种质量获取 tile,以优化用户体验。此外,它还通过低质量的保障流来确保观看完整性。26 名用户的主观评价和基于仿真的实验结果显示, Dragonfly 具有比最先进的 360° 流媒体方法更高的质量和更低的开销。

来源:SIGCOMM ’23
题目:Dragonfly: Higher Perceptual Quality For Continuous 360° Video Playback
作者:Ehab Ghabashneh,Chandan Bothra,Ramesh Govindan,Antonio Ortega,Sanjay Rao
原文链接:https://dl.acm.org/doi/10.1145/3603269.3604876
内容整理:李雨航

引言

与主要处理网络带宽不确定性的传统视频不同,360°视频还必须处理用户与视频交互方式的不确定性(运动不确定性)。目前关于 360° 视频的传输有两类解决方案:

1. 完整传输。将360°视频视为常规视频流,对整个360°视图进行编码和传输到客户端。这也是目前 YouTube、Facebook 等视频平台使用的方案。但这种方案的代价是高昂的,可能会消耗比仅向用户传输视频的相关部分所需的带宽多5-6倍。

Dragonfly:以更高的感知质量实现连续 360° 视频播放 | SIGCOMM 2023
图 1 基于 tile 的流式传输:视频在时间上被分割成 chunk,而这些 chunk 在空间上被划分为 tile

2. 视角中心(view-centric)。涉及预测用户的视口(用户可见视频的部分)并根据预测调整传输。这些方法可以以更高的质量传输整个视口或其子集,而以较低的质量传输视口之外的区域,或者根本不传输。如图 1,除了像传统视频流所做的将视频分成块(chunk)外,它们还将每个 chunk 在空间上分割成片(tile),其中一个 tile 具有与原始块相同的帧数,但仅覆盖帧的较小空间区域。tile 可以是固定大小的(例如形成4×6的网格 )或可变大小的。。每个 tile 可以独立编码和下载,并且可以以不同的质量进行编码。大多数视角中心的方案如果在播放截止时刻之前出现 tile 未准备好的情况,就会发生卡顿,而这些做法主要致力于优化视口的感知质量和减少卡顿,类似于传统视频流。

Dragonfly:以更高的感知质量实现连续 360° 视频播放 | SIGCOMM 2023
图 2 视口预测的准确性(即被预测的视口中的 tile 的比例)随着更大的预测窗口而急剧下降

挑战: 同时正确处理网络和运动不确定性是困难的。一方面,小的预测提前窗口可以提高视口预测效果,但会使方案对网络带宽下降变得脆弱,可能导致视频播放中的网络引起的停滞。另一方面,大的预测提前窗口可能导致由于在播放之前可能无法获取与用户视口相关的所有 tile 而引起的运动引起的停滞。目前最先进的系统如 Pano 和 Flare,报告了显著的重缓冲。图 2 显示,随着预测窗口的增加,预测准确性急剧下降 – 对于0.2秒的窗口,中位准确性为94.2%,而对于3秒的窗口仅为25.4%。

贡献: 现有方法在所有与用户相关的 tile 到达之前都会停止播放。这在360°环境中尤其不可取,因为在停滞事件期间用户可能会移动,可能改变必须获取的视口,从而导致进一步的级联停滞。我们提出的360°流媒体系统 Dragonfly 专门被设计用于连续播放。

为了确保无缝连续播放,Dragonfly 使用两个流:(i) 主要流,它以高质量对视口内 tile 进行编码;以及(ii) 较低质量的保障流,以弥补缺失 tile 的效果。

尽管使用两个流是有帮助的,但要确保在呈现截止时间之前获取主要流中的所有视口 tile 仍然比较困难,而且由于部分带宽被保障流占用,这个问题变得更加严重。应对此问题的一种做法是在呈现截止时间之前以尽可能高的质量获取主要流中的所有视口 tile ,并简单地跳过那些未在截止时间之前到达的 tile (一种被动跳过策略)。

Dragonfly 的核心贡献是主动跳过(proactive skipping),即主要流中的一些视口 tile 可以选择被跳过。这基于两个观察:首先,用户可能会容忍偶尔降级(甚至缺失)内容,尤其是视口的某些部分(例如,位于边缘的部分)。其次,主动跳过 tile 的获取提供了可以用以增强用户体验的额外自由度,例如,可能希望跳过一个截止时间更紧急、仅有少量帧受益且位于视口边缘的 tile ,并取而代之以以更高质量获取一个稍后需要但在多个帧中位于视口中心的 tile 。

为了实现主动跳过,Dragonfly 为每个 tile 计算一个效用函数,考虑到:(i) 如果在特定时间内获取 tile ,可能受益的帧数;(ii)  tile 在视口内每帧中的中心位置;以及(iii) 以更高质量获取该 tile 的边际感知增益。在这个效用函数的指导下,Dragonfly 决定了要获取(或跳过)哪些 tile ,以什么顺序,以及以什么质量。与用于获取所有 tile 的现有调度算法不同,在 Dragonfly 中,可以跳过 tile ,或者按顺序获取。

尽管传输保障流会产生开销,但这是小的,因为:(i) 保障流具有较低的质量;以及(ii) 传输保障流允许Dragonfly降低主要流所需的总体速率。这是因为有保障流时,当视口移动且主要流的某部分不可用时,惩罚较小。因此,可以更接近播放截止时间时预测要发送的内容(更准确),并减小在主要流中围绕预测视口获取的窗口的大小。因此,保障流开销的增加通过主要速率的减小得到了补偿。

DRAGONFLY 设计

Dragonfly的设计旨在解决现有视口为中心方法的局限性。 Dragonfly利用了两个观察结果:(a) 暂停播放等待当前视口中的所有 tile 会影响交互体验;和 (b) 通过传输低质量的保障流可以实现连续播放。然而,用户体验关键取决于在呈现截止时间之前在主要流中获取一组适当的视口 tile 。

在决定如何在主要流中安排 tile 获取时,现有方法如 Flare 和 Pano 不能直接应用,因为它们旨在获取所有 tile 同时最小化停滞。一个潜在的解决方案是使用这些算法,然后简单地跳过未在截止时间前到达的 tile (一种被动跳过策略),以实现连续播放。

Dragonfly:以更高的感知质量实现连续 360° 视频播放 | SIGCOMM 2023
图 3 跳过视口边缘的只需要为少数帧提供服务的一个 tile ,获取位于中心且需要为更多帧提供服务的 tile

相反,Dragonfly的设计动机是,主动跳过 tile 的自由使其能够仔细优先考虑除 tile 截止时间之外的因素,以进行 tile 下载的优先级安排。更具体地说:

  • Dragonfly可以跳过位于视口边缘的 tile ,而更快地检索可能在不久的将来需要的中心 tile (图 3)。相比之下,获取较不关键的 tile 可能会延迟较关键的 tile ,导致进一步的跳过或降低这些 tile 的质量。
  • Dragonfly优先考虑对更多帧有益的 tile ,而不仅仅是对少数帧有益的 tile 。例如,在图 3 中,它会跳过接近块边界的一个 tile ,而优先考虑下一个块开始时需要更多帧的 tile 。
  • Dragonfly可以选择下载更高质量的 tile ,即使可能会增加延迟。如果这样做可以在足够多的帧上产生好处,即使该 tile 在前几帧中被跳过,获取该 tile 的更高质量版本可能会提高感知质量。相比之下,为了最小化重新缓冲,选择暂停播放的系统会获取低质量版本。

Dragonfly关于获取哪些 tile 的决策受到可用网络带宽的限制(从吞吐量预测器获得)。为了在此约束下获得最高质量,Dragonfly使用了一个效用函数,并分配了主要流和保障流之间的带宽。

基于效用的调度算法

Dragonfly 调度算法决定要获取哪些、以及以什么质量和顺序获取 tile 。而这主要取决于以下三个因素。

Dragonfly:以更高的感知质量实现连续 360° 视频播放 | SIGCOMM 2023
图 4 在前瞻窗口中计算位置分数
  1. 位置分数(l𝑖𝑓),它捕捉在用户查看帧 𝑓 时显示 tile  𝑖 的预测重要性。考虑图 4,该图说明了与四个不同 tile 相关的区域何时出现在用户的视口中。在这个例子中,最上面的 tile 与时间 t1 和时间  t2 之间的用户相关。即使 tile 可能在( t1,t2)时段内位于用户的视口中,但在某些时间间隔内(例如当该关联区域在视口中心时)它可能更为重要。
  2. 累积位置分数(L𝑖t),它捕捉到达时间为 𝑡 时获取 tile  𝑖 的总位置分数。再次考虑图 4,如果在 𝑡1 之前获取最上面的 tile ,则它提供最大的价值,并且在 𝑡2 之后获取 tile 的价值逐渐减少。
  3. 对质量的敏感度(Q𝑖𝑞),它捕捉编码质量为 𝑞 时 tile  𝑖 的质量度量分数。对用户而言,某个 tile 的更高质量可能会产生更大的价值,但这个相对优势的大小取决于视频内容本身。

考虑一个离散时间模型,其中每个时间单位表示一个帧的播放持续时间。时间 𝑡 表示已完成 𝑡 − 1 帧的播放,目前正在进行第 𝑡 帧的播放。在时间 t0 时计算效用,Dragonfly 考虑了在时间窗口(t0,t0+w)内的预测视口,其中 𝑊 表示前瞻窗口大小。对于每个 tile  𝑖,Dragonfly 计算:

Dragonfly:以更高的感知质量实现连续 360° 视频播放 | SIGCOMM 2023

形式化 tile 调度: 我们现在描述 Dragonfly 在 t0 时刻、给定前瞻窗口为 𝑊 的情况下解决调度问题的优化公式。该公式希望在给定前瞻窗口上、根据带宽估计 𝐵 优化整体效用,以确定应该在什么时候以及以什么质量获取哪些 tile 。

Dragonfly:以更高的感知质量实现连续 360° 视频播放 | SIGCOMM 2023

在这里, S𝑖𝑞表示在质量 𝑞 下获取 tile  𝑖 的大小,而 U𝑖𝑞𝑡 预先计算了所有 tile 的效用,𝐶 表示在窗口内的预测视口所需的所有 tile 。如果质量 𝑞 的 tile  𝑖 在时间 𝑡 时到达,变量 z𝑖𝑞𝑡   为 1,否则为 0。

质量 𝑞 = 0 表示 tile 被跳过(相应的 S𝑖𝑞 为 0)。即使 tile 被跳过,效用可能仍然非零:当该算法用于主要流时,跳过主要流中的 tile 意味着显示该 tile 的保障流版本。

Dragonfly:以更高的感知质量实现连续 360° 视频播放 | SIGCOMM 2023
算法 1 效用算法

贪婪启发式算法: 首先将每个 tile 的效用初始化为与该 tile 的低质量保障流版本相关联的效用(若其在 t0 时到达),否则初始化为 0。维护一个列表(初始为空的抓取列表),其中包含主要流应获取的所有 tile 以及相关质量。每一轮中,算法首先计算将每个 tile 从其当前分配的质量提升到质量 𝑞 的效用增益。它按效用增益最大的顺序考虑每个 tile 。对于考虑的每个 tile  𝑖,算法考虑将该 tile 的质量升级到 𝑞 对总效用的影响,并将其插入抓取列表的每个可能位置。这涉及到为每个潜在的列表位置计算 tile 的到达时间,调整抓取列表中后续 tile 的到达时间,并重新计算所有这些 tile 的效用。

算法将 tile 以质量 𝑞 插入最大化总效用的最佳位置,或者如果没有位置改善总效用,则保持当前质量。在列表中插入 tile 可能意味着后续 tile 无法满足截止时间,并且其效用调整为零,这是可以接受的,因为总效用增加了。在这种情况下,算法会降低 tile 的质量,直到它在主要流的最低质量下具有零效用,并最终将其从抓取列表中删除。该调度算法的复杂度为 O(C2Q),其中 𝐶 是与前瞻窗口相关的 tile 数量,在实践中我们认为这是可以接受的。该过程的伪代码如算法 1 所示。

实现

Dragonfly:以更高的感知质量实现连续 360° 视频播放 | SIGCOMM 2023
图 5 Dragonfly 概览

图 5 展示了 Dragonfly 的概览。我们在 Linux 平台上使用 C++ 实现了 Dragonfly 的原型。主要部分包括:(i)  tile 调度器,决定应该获取 tile 的顺序,以及哪些 tile 即使存在于视口中也可能被丢弃;(ii) 带宽调度器,决定如何在主要流和保障流之间划分流量。其他组件包括:(i) 解码器,解码主要和保障流 tile ;(ii) 视口构造器,将 tile 拼接在一起进行渲染;(iii) 用于用户运动和带宽的预测器。

客户端使用线性回归来进行视口预测。它发送一个带有期望质量的 tile 列表的请求到服务器。当接收到一个 tile 时,客户端计算未来带宽估计的接收时间,并使用 ffmpeg-libavcodec C++ 库解码 tile 。对于解码,我们使用 avio_alloc_context 来分配内存中的解码器缓冲区。在渲染方面,客户端将所有视口 tile 拼接在一起,将缺失的 tile 替换为黑色像素。服务器是 DASH 服务器的修改版本。清单文件更新以包含 tile 大小,该 tile 的质量度量(例如 PSNR 或 PSPNR)的所有质量级别,以及每个块的偏航和俯仰位移。

由于客户端可以为同一个 tile 发送多个请求,服务器跟踪已发送的每个 tile 的质量,并且仅会在之前以保障流质量获取的情况下才会重复发送一个 tile 。随着时间的推移,客户端会定期改进其预测,因此它会刷新 tile 列表。当接收到新请求时,服务器会丢弃先前较旧的请求,并根据较新的请求传输 tile 。在发送队列中尚未传输的旧请求中的 tile 将被丢弃。

实验

实验设计

我们使用主观和客观指标评估 Dragonfly 和其他 360° 系统的性能。主管指标为平均意见分数(MOS),客观指标包括:

  1. PSNR,在部分实验中使用 PSPNR;
  2. 重缓冲率,即会话经历重新缓冲的总时间与总视频播放时间的比率;
  3. 不完整帧的百分比,即每个会话中至少有一个跳过的 tile 的视口百分比;
  4. 空白区域,视口中空白区域的占比;
  5. 带宽浪费,定义为系统接收的不必要数据与其总接收数据之比,其中不必要的数据对应于位于实际视口之外的 tile 或位于视口内但未被渲染的 tile (例如,冗余的保障流版本是不必要的数据)。

Baseline:

  • Flare: Flare 获取视口 tile 以及边缘的附加 tile 。它不断改进预测,可能会根据带宽和播放延迟约束获取附加 tile ,质量取决于带宽和播放延迟约束。
  • Pano 和 Pano-PSPNR: Pano 使用传统的 ABR 算法首先确定每个块的比特率。接下来,给定比特率,Pano 为块内的每个 tile 分配一个质量级别,以最大化所需的质量指标。此外,360° 中的所有 tile 都以非视口 tile 分配的最低质量发送。默认情况下,我们的实验和用户研究专注于最大化 PSNR 的 Pano 变体。我们还使用了一个优化 PSPNR 的 Pano 版本进行了评估,该指标调整了 PSNR 计算,考虑到用户对某些类型的视频内容的质量失真的敏感度。
  • Two-tier: 与 Dragonfly 类似,此系统具有低质量的背景流和更高质量的主要流。与 Dragonfly 的主动跳过方法不同,Two-tier 获取相同质量的所有主要流 tile ,并被动地跳过那些未能及时到达的 tile 。此外,如果保障流的所有视口 tile 未能及时到达,就会卡顿。
Dragonfly:以更高的感知质量实现连续 360° 视频播放 | SIGCOMM 2023
表 1 各方案设计对比

表 1 比较了这些系统在设计选择方面的不同之处。

方案实现

由于 Flare 和 Two-tier 的未开源,而 Pano 的关键部分也不可用,我们通过修改 Dragonfly 的代码来实现它们。对于使用单个流的 Pano 和 Flare,我们使用了 3 秒的前瞻(但对此进行了敏感性测试)。对于 Two-tier 和 Dragonfly,我们在保障(主要)流中使用了 3 秒(1 秒)的前瞻。

数据集

使用 Afshin Taghavi Nasrabadi 等人的公开数据集”A taxonomy and dataset for 360° videos”中的视频子集。tile 布局为 12 × 12。

量化参数(QP)为22、27、32、37和42对视频进行编码。比特率随着视频和质量以及分块而变化。

使用 ffmpeg-crop 将视频分割成 tile 。然后使用不同的 QP 对视频 tile 进行编码,以生成同一视频 tile 的多个质量。I 帧间隔(即块长度)设置为 1 秒,并使用 ffmpeg 将视频划分为块。为了生成每个 tile 的PSNR值,我们使用视频质量管理工具 VQMT 和 Pano 的脚本生成 PSPNR。

在网络轨迹方面我们使用两个数据集的吞吐量轨迹:
(i)J. van der Hooft 等人的 “HTTP/2-Based Adaptive Streaming of HEVC Video Over 4G/LTE Networks”
(ii)Darijo Raca 等人的 “Beyond throughput, the next generation: A 5g dataset with channel and context metrics”

对比实验

Dragonfly:以更高的感知质量实现连续 360° 视频播放 | SIGCOMM 2023
图6

图 6 展示了系统比较的结果,以 PSNR、重缓冲比率和不完整帧百分比为指标。

图 6(a) 表示,Dragonfly 在 PSNR 方面表现最佳。相对于Flare和Pano,中位PSNR分别高出1.72 dB和2.5 dB。

图 6(b) 表示,尽管 Two-tier 很少发生重缓冲(预期情况,因为它提前三秒以最低质量获取完整 360° 块),但 PSNR 最低。这是因为该方案为增强流中的所有 tile 选择统一质量,而Dragonfly 使用实用程序算法以更高的质量获取最重要的 tile 。Dragonfly 的会话不会出现丢失的 tile ,因为它获取了完整 360° 用作背景。相反,Flare 的会话中位重缓冲比率为 1.42%。虽然 Pano 的中位重缓冲较低,但其范围较大,90% 分位数的重缓冲比率为 1.71%。

图 6(c) 显示了每个系统的带宽开销(浪费字节的百分比)。Pano 和 Flare 的开销较高(中位会话分别为 61.31% 和 55.7%),而 Dragonfly 和 Two-tier 的开销较低,尽管它们获取了冗余的保障流。这是因为单一流的方案(Pano 和 Flare)以 3 秒的更大先行为网络波动提供了 tile 。这导致可能影响质量的预测错误(例如,可能以较低质量获取视口 tile ,而在视口外的 tile 以较高质量获取)。而 Two-tier 的开销较 Dragonfly 更高,因为它不会优化其获取决策,这导致更高的不准确性,从而导致更高的开销。

Dragonfly:以更高的感知质量实现连续 360° 视频播放 | SIGCOMM 2023
图 7 优化 PSPNR 的 Dragonfly 和 Pano 变体

可选的质量度量:PSPNR。尽管 Dragonfly 优化 PSNR,但它也可以使用其他质量度量。我们将优化 PSPNR 的 Dragonfly 和 Pano 的变体与上述相同的视频、用户轨迹和带宽轨迹进行比较。图 7 显示,Dragonfly-PSPNR 的性能优于 Pano-PSPNR。进一步分析显示,Dragonfly 在所有视口上实现了更高的 PSPNR,并在 69% 的视口上将 PSPNR 提高了 2dB 以上。

消融实验

Dragonfly:以更高的感知质量实现连续 360° 视频播放 | SIGCOMM 2023
表 2 Dragon 变体

Dragonfly 的主要优势来自三个设计元素:(i)使用两个流;(ii)以效用为驱动的主动跳过策略;(iii)每 100 毫秒细化一次提取决策,而不是每块只提取一次。消融实验将 Dragonfly 与三个变体进行比较:PassiveSkip、PerChunk 和 NoMask(如表 2),每个变体舍弃上述其中一个元素。

Dragonfly:以更高的感知质量实现连续 360° 视频播放 | SIGCOMM 2023
图 8 消融实验结果 (a) 所有会话中视口上 PSNR 的分布;(b) 每个视口的空白区域比例;(c) 浪费字节的百分比

图 8 总结了 Dragonfly 变体的性能。在图 8(a) 中,Dragonfly 按预期流式传输最高的视口质量。Dragonfly 的中位 PSNR 比 PerChunk 和 PassiveSkip 分别高 4.8dB 和 1.6dB。PerChunk 在各变体中的 PSNR 最低,表明细化提取决策的重要性。接下来,PassiveSkip 的 PSNR 明显低于 Dragonfly。这表明仅仅使用背景流是不够的,而 Dragonfly 采用的主动跳过策略来决定提取哪些主要 tile 是至关重要的。NoMask 在中位 PSNR 上与 Dragonfly 相当,然而,在图 8(a)的放大部分中,它显示出一个显著的尾部。这是因为 NoMask 具有一小部分不完整的视口,影响了 PSNR 的尾部。

图 8(b) 展示了各种方案下每个视口的空白区域的百分比。NoMask 是唯一具有不完整视口的变体,不完整的视口约占 10%。而即使在视口不完整的情况下,Dragonfly 的主动跳过算法确保了提取视口的关键区域,从而减少了对绝大多数帧的 PSNR 的影响。

最后,图 8(c) 显示 NoMask 浪费的字节数最少,因为它不提取蒙版流。

Dragonfly:以更高的感知质量实现连续 360° 视频播放 | SIGCOMM 2023
图 9 主要流中被跳过的 tile 比例,以及它对视口 tile 质量的影响

我们进一步分析 Dragonfly 主动跳过算法的好处。图 9(a)显示了在各种方案中主要流中跳过的图块的百分比。Dragonfly在主要流中跳过的图块明显多于PassiveSkip ,39% 的 Dragonfly 视口跳过了主要图块,而只有 7% 的 PassiveSkip 视口跳过了。然而,正如图 8(a) 所示,Dragonfly 在 PSNR 方面的表现更好。这是因为 Dragonfly 提取了更多在更高质量的关键图块(例如更有益于更多帧的中央图块),同时主动跳过了一些不太关键的图块(例如在边缘的图块,可能只有少数帧受益)。图 9(b) 进一步探讨了这一点,显示了各质量接收的视口图块的百分比。该图表明:(i)相对于 PassiveSkip(2.17%),Dragonfly 在背景流质量(QP=42)中提取了更多的图块(6.74%);(ii)相对于PassiveSkip(53.6%),Dragonfly在最佳质量(QP=22)中提取了更多的图块(83.4%)。这表明了Dragonfly 主动跳过算法的重要性。最后,PerChunk 跳过的主要图块更多(45.72%),因为它没有细化其提取决策。

主观评价

该研究使用了Oculus头戴式设备来比较Dragonfly与其他系统。每位参与者被要求使用 Oculus 头戴设备观看五个360°视频。使用 Mahimahi 模拟不同带宽条件流式传输视频,从带宽数据集中随机选择五条带宽轨迹,每条带宽轨迹分别使用 Pano、Flare 和 Dragonfly 三种方法进行流式传输。对于每位参与者,视频的顺序和每个视频用于流式传输的三种系统的顺序都是随机的。每位参与者观看并评估了15个1分钟的视频,估计实验持续时间为45-60分钟。参与者使用从1(差)到5(优秀)的数字刻度对使用每种方法流式传输的每个视频的体验进行评分,并提供主观评论。

Dragonfly:以更高的感知质量实现连续 360° 视频播放 | SIGCOMM 2023
图 10 用户研究结果。(a) 所有用户和会话中 MOS 分布;(b) 每个视频的MOS以及95%置信区间;以及 (c) 跨用户和会话中 PSNR 的分布。
Dragonfly:以更高的感知质量实现连续 360° 视频播放 | SIGCOMM 2023
图 11 Dragonfly跳过的 tile 主要发生在视口边缘,影响较小。

图 10(a) 显示了所有 26 名参与者在所有会话中(总共 390 个会话,每个系统 130 个)的意见分布。用户偏好 Dragonfly,有 65% 的会话评分为 4 及以上。相比之下,Pano 和 Flare 会话中只有 16% 和 13% 的评分达到这个水平。图 10(b) 显示了用户每个视频的 MOS。Dragonfly 在所有视频中的 MOS 都较高。图 10(c) 显示了所有用户的所有会话的 PSNR。其中 Dragonfly 的 PSNR 较高,视口的 PSNR 中值比 Pano 高 1.7dB,比 Flare 高 2.7dB。虽然 Dragonfly 可能会跳过视口中的一些 tile ,但我们发现这是可以接受的,因为跳过的 tile 通常位于视口的外围,在感知视频质量上影响较小。如图 11 所示,该热图表示在给定位置 tile 不可用的比例(跨所有会话的视口)。该比例从未超过0.8%,而较大的比例出现在外围。

总结

本文做出了三方面的贡献。首先,我们认为在流式传输360°视频时,跳过 tile 以保持交互体验而不是停顿播放是更可取的。其次,我们介绍了 Dragonfly,这是一个新型 360° 系统,通过使用捕捉与用户体验相关的因素的效用模型来决定获取哪些 tile 以及以何种质量获取。此外,Dragonfly 通过在小的前瞻中获取高质量的 tile ,以及在较长的前瞻中获取低质量的版本,来解决前瞻性能的下降问题。第三,我们展示了 Dragonfly 优于现有 360° 流媒体方法。

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论