找了 NSDI22 上的一篇关于视频传输的论文来应付课程报告,主要是针对容积视频(Volumetric Video)的传输优化。
Zhang A, Wang C, Han B, et al. {YuZu}:{Neural-Enhanced} Volumetric Video Streaming[C]//19th USENIX Symposium on Networked Systems Design and Implementation (NSDI 22). 2022: 137-154.

背景介绍

随着硬件设备的发展和网络设施的进一步完善,人们对于观看视频的需求也在持续地提升。在十年前,或许 1080P 视频在我们的认知中已经属于高清视频了,但是站在今天的角度来看,可能 4K 或者更高分辨率的视频才能满足很多人对于画质的追求。随着「元宇宙」概念的热度增加,3D 的容积视频(Volumetric Video)也受到了公众的关注。
容积视频和传统的 2D 视频和 360 度视频的不同之处在于,每一帧视频都包含了一个完整的 3D 场景,一般通过点云或者多边形网格进行渲染。3D 的容积视频允许观众进行 6 个自由度(Six Degree-of-Freedom,6DoF)的移动,不仅可以通过 Yaw/Pitch/Roll 来改变观看视角的,还可以通过移动改变观看的位置,这种观看体验可以说是身临其境了。观看这种容积视频的方式有很多种,可以使用支持 VR/MR(虚拟现实/混合现实)的穿戴设备,当然也可以像玩 3D 游戏一样直接通过 PC 进行观看。
想要实现流畅地观看容积视频,如何通过 Internet 进行容积视频流传输是一个主要的待解决问题。容积视频比传统的 2D 视频和全景视频对于网络带宽的需求更高,一般需要上百甚至千兆网才能实现高画质的容积视频传输。因此,这篇文章着眼于在有限带宽的限制下提高用户的观看容积视频的体验(Quality of Experience,QoE)。

难点阐述

已经有不少的研究关注到了容积视频传输高带宽占用的问题,部分文章尝试使用了视口自适应串流,可以简单的理解为通过预测用户观看的视角和位置来减少需要实时传输的内容。本论文直接指出了这些研究存在的不足和缺陷,这些视口的预测都需要对 6 个 DoF 进行预测,而如果用户的视角或者位置移动的速度比较快,那么预测结果也往往会不准确。而其他的研究尝试了远程渲染的方式,通过让边缘结点将 3D 场景渲染为 2D 的常规帧画面来降低实时传输的带宽,这种转码的方案由于设备的限制往往是难以扩展的。
作者关注到了过去在传输 2D 视频时候为了节省带宽使用的一种技术手段:超分辨率(Super Resolution,SR)。借助 CV 的快速发展,超分辨率实现了将画质较低的图片或者帧,在接近无损的情况下放大为更高分辨率的画面。近年来,专注于 CV 领域的研究人员也尝试了使用神经网络实现了 3D 点云的超分辨率模型。借助训练完的 3D 点云超分辨率模型,服务器只需要将低分辨率的帧和这个 SR 模型传输给用户,即可实现在用户端播放高分辨率的画面。
作者一开始直接使用了 PU-GAN 网络来尝试实现对容积视频的帧进行超分辨率。这个 PU-GAN 模型可以实现 4 倍的 SR,比如原来的点云是 25K 的点,就可以超分到 100K 个点。作者使用一张 2080Ti 训练了这样一个 SR 模型,在保证良好的上采样准确率的前提下,确实节省了接近 74% 的带宽。但是直接使用这样一个现成的模型也存在了很多问题:

  1. 缺少了一种针对容积视频的 QoE 模型,没办法衡量超分完的视频 QoE 受到了什么程度的影响。
  2. 在 SR 的过程中,速度非常慢,平均 10s 才能对一帧进行 SR,这显然不能满足流畅观看的要求。同时,运行 PU-GAN 会占用 7GB 的显存,对硬件要求过高。
  3. PU-GAN 仅仅只是对点云进行 SR,没有处理颜色的信息。

模型分析

本文针对 3D 容积视频流传输的高带宽需求问题,创新地提出了一种基于 SR 的立体视频传输系统 Yuzu。Yuzu 的整体架构如下图所示,接下来我将就自己的理解对各个模块进行讲解和分析。

QoE 模型建立

首先看到最右侧的 QoE 模型,为了衡量 SR 后的容积视频质量,作者使用用户调研的方式来制定了 QoE 模型。考虑到 2D 视频的各种因素被证明对 QoE 的影响成线性,本篇论文也假设了容积 QoE 的计算也是一种线性的格式。
本文为了确认点云密度、观察距离和超分辨率比例对 QoE 的影响,本文的研究团队 40 个国家的 1446 个参与者来对 4 个不同的人像容积视频进行评价。最终确定完各项系数之后的 QoE 预测模型误差中位数为 12.49%,可以认为对于人像类的容积视频具有适用性。

SR 模型

本文由于本质上还是基于 PU-GAN 来实现的对容积视频内点云进行 SR,所以主要目标实际上就是加速 SR 的过程。在超分辨率过程的优化方面,本文主要做了两类的工作:帧内 SR 优化和帧间 SR 优化。
帧内 SR 优化针对的是单帧 SR,上文提到容积视频的超分辨率的对象是对每一帧的点云。考虑到直接 4xSR 的时间开销较大,本文首先对这个倍数进行了优化。点云实际上就是非结构化的点集合,本文发现 3DSR 后输出的点的位置会和原来点的位置发生变化,基于这个关键发现,作者将原本的 4xSR 转换为了 3xSR 加原低分辨率的 1xSR,以此来间接放大四倍。这个方法属于是非常直观且容易理解,显著节省了 35% 的时间,同时实验也证明了这种操作不会降低直接 SR 的准确性。
除此之外,本文的 YuZu 也对 PU-GAN 的 DNN 结构进行了分析,发现所经历的特征提取、特征扩展和点集生成三个阶段中的特征提取阶段时间占比最长,达到了 78.3%。为了加速卷积的过程,YuZu 借鉴最新研究 PointNet++,使用 SKF 核函数来取代了原来的特征提取。文章里也简单阐释了 SKF 加速特征提取过程的可能原因,SKF 的核不对称性有利于学习点云所特有的几何细节。 YuZu 的 SR 模型也删除了特征提取的最后两个密集层核特征扩展阶段的几个大型卷积层,在尽可能不影响上采样精度的前提下减少了扩展特征,以减少 GPU 的内存占用并加速卷积过程。
帧间 SR 优化的思路则关注的是利用时间和空间上接近的 SR 来对当前某个区域 SR 行为的加速。作者强调了每个 patch(视频里的块结构)的 SR 行为进行缓存,利用动态规划来减少不必要上采样的 patch。

网络/计算模型

YuZu 在传输容积视频的时候,不仅会像传统的比特率自适应算法一样会根据网络波动调整传输决策,还建立了特定的计算资源模型来适应可用的计算资源。利用之前建立的 QoE 模型,YuZu 巧妙地根据网络传输和计算资源决定是下载高分辨率还是低分辨率+SR。概括地讲,YuZu 每次基于后面的 $m$ 个 chunk(包含 $f$ 个帧)通过穷举质量和SR比例,最大化 QoE。因为直接穷举会消耗过多的时间,所以对于决策只进行了粗粒度的判断。在计算 SR 比例之前,YuZu 使用了模拟退火算法来查找全局的最优解,为了加速模拟退火的速度,把范围控制在相邻的两帧(前一帧+当前帧)。

上色模型

因为现有的 3D SR 算法都没有考虑过上色的问题,这篇文章采取了一种相对直接的上色算法。每个帧内的点云实际上就是若干个点,每个点都在三维空间内有它对应的坐标,SR 后的点都去找到原帧内的最接近(欧氏距离)的点的颜色。

实验结果

本文为了证明 YuZu 对容积视频的传输优化做了比较多的实验,除了服务端的一台机器,为了模拟不同的场景也准备了三台配置不同的客户端机器。为了模拟观看容积视频时候用户视口发生的变化过程,作者也收集了 32 个用户的 6DoF 移动轨迹。
实验结果包括了三个方面,这边做一个简单的概括:

  1. SR 性能:在进行了上述的优化之后,在保证画质没有降低的同时,用同样的 2080Ti 进行 SR 的速率提升了 307 倍,因此 FPS 也从原来的 0.1 升到了 30+,显存的占用也减少了 87%。
  2. QoE 改善:对于测试用的 4个容积视频,相比较不进行超分的原视频,SR 后的视频提升了至多 150% 的 QoE。
  3. 端到端性能:YuZu 整体的 QoE 提升达到了 83%,仅使用缓存进行优化也能提升 63% 的 QoE。除此以外,YuZu 降低了传输内容体积的 49%,仅使用缓存则可以节省 40% 的数据使用量。

思维延伸

本章的内容主要是我个人在阅读完整篇论文之后的一些收获和拙见。

YuZu 这篇论文的亮点我认为可以归纳为以下几点:

  • 我们都知道想在新兴领域想 idea 本身不难的,但是想找到合适的解决方案往往是非常困难的。探究了一个相对新的领域:容积视频。这个领域内的相关研究内容是比较少的,作者很巧妙地利用其他领域(CV)的研究成果来解决了这个新的问题。
  • 整篇论文想要解决的问题虽然表面上是优化容积视频的网络传输,但是最后实现的是从 0 到 1 的提升,原本的 0.1FPS 被提升到了 30+FPS。
  • 作者对于 SR 的优化是一步一步进行的,对于每一步的实际操作也解释得相当清楚,最后的实验里也证明了每一步优化都是有意义的。
  • 因为 idea 相对冷门,所以很多研究是不够充分的,比如说「容积视频」的 QoE 模型和 3D SR 后的视频效果等。面对这些问题,作者相对巧妙地引入了群众的主观意见来避免过于硬核的研究延伸。

面对这篇文章,我自己的一些胡思乱想:

  • 在 3D 着色的部分有些略显随意,只是寻找原点云内最近的点进行着色显然不是 SR 后点云着色的最优解。
  • 因为很多数据是基于参与者的主观想法,有些对比我不确定是作者故意省略的还是我自己忽略了。比如原画质的容积视频和缩小后重新 SR 的视频在画面质量是否存在差距。
  • 用于 3DSR 的 PU-GAN 模型实际上是针对每个视频都需要单独训练的,现在的每个视频都是几分钟,如果处理时间更长的容积视频会不会导致 SR 模型本身更大或者效果变差呢。