本文介绍我们最新发表在 IEEE TBC 的工作,对自由视视频应用的传输延迟、稳定性及服务规模扩展下展开优化。文中分析自由视视频对传输性能的需求,限定编码参数和数据封装格式,降低传输延迟;设计服务端编码控制策略和客户端缓存播放控制策略,提升传输稳定性;探索数据组织优化和多种通信技术协同,实现资源受限条件下服务规模的提升。
论文标题:Ultra-Low Latency, Stable, and Scalable Video Transmission for Free-Viewpoint Video Services
发表期刊:IEEE Transactions On Broadcasting
作者:董瑜,宋利,解蓉,张文军
原文连接:https://doi.org/10.1109/TBC.2022.3176193
自由视视频(FVV)应用在计算、网络以及视频技术快速发展的背景下逐渐兴起,并开始进入人们的生活,为观看者提供特定场景的沉浸式体验。与传统点播、直播类“呈现式”视频不同,FVV 是“会话式”的,即视频内容可以实时响应用户在客户端的操作。类似的应用也包括云游戏、视频会议等。而与这两种较为成熟的应用相比,FVV在应用特性、资源需求上具有显著差异,也因正处于早期发展阶段,在体验优化策略上相对缺乏。
如图1所示,FVV 对计算资源、通信带宽、交互延迟都具有一定的要求,且由于高度的云原生性而更易受到网络波动的影响。本文的研究针对边缘计算环境下的 FVV 应用,从以下三方面展开。
- 分析FVV系统的性能指标,提出超低延迟的传输方案。
- 在服务端和客户端分别提出控制策略,降低边缘网络抖动对传输稳定性的影响。
- 提出云-边-端协作计算,单播-组播-广播协同传输的混合FVV服务架构,提升资源受限条件下系统的服务规模。
传输延迟降低
为实现系统性能的优化,本文首先分析系统的关键延迟性能指标。考虑自由视视频存在交互和非交互两种状态,传输延迟可分为交互相关的“回路延迟”和与交互无关的“端到端延迟”。排除由系统硬件性能、算法复杂度引入的计算类延迟后,可以将传输关键延迟归纳为数据传输消耗的时间和网络抖动引入的额外延迟,即:
其中为帧的数据量,为传输信道的带宽,J为网络内在抖动,而则是客户端缓冲引入的延迟。后续传输性能优化结合这两方面的延迟展开。
本文提出的自由视视频超低延迟传输方案可概括如下:
- 视频编码格式
- LowDelayP参考模式,避免B帧造成的延迟,同时比All Intra性能更高
- CBR码率控制,使码率更为稳定
- 启用Intra-Refresh工具,避免产生I帧,降低丢包带来的影响
- 视频传输协议
- 基于UDP的QUIC协议,支持多通道复用和自定义双向传输
- 视频封装格式
- 改造的TS
常规 TS 需要被改造,其原因是 TS 封装视频数据时,不会在帧头中标注数据长度,需要由客户端识别,在特定的数据量下,可能导致一个帧在传输后被延迟一个帧间隔才能识别,如图2所示。
为避免这一问题,本文提出“零延迟” TS 封装策略,首先依据 TS 数据包的长度,TS 头的长度,打包的基本码流(PES)的头长度,计算一帧长度为视频帧的目标 TS 包数量。
如果为整数,则说明会当前帧会出现延迟问题,此时在 r 后人为加入无效填充,调整 TS 头中的填充调整标识,并利用 PES 中对视频数据废弃的长度字段标记这一操作,便可以在传输过程中完全避免由常规 TS 带来的随机延迟问题,保证封装、接封装过程的“零延迟”。
传输稳定性提升
数据传输和网络抖动都会带来系统中关键延迟的波动。由于数据传输延迟与数据量、带宽都相关,当编码器输出的帧级码率波动较大时,即使边缘网络相对稳定的带宽也无法保证稳定的单帧传输时间;而网络抖动则带有随机性,因此为提升视频播放的稳定性,客户端也需要应用合理的帧缓冲机制。
帧级码率稳定性控制
FVV 应用中,造成帧级码率波动最主要的因素是用户操作导致的视角改变。通过实验,本文发现视角改变的幅度和码率波动的比例大致呈分段线性关系,如图3所示。
该关系通过两个阈值点和,分成3段线性关系,其中第一段和第三段线性斜率为和。则该关系可以表示为:
而相同场景下,不同目标码率的分段线性参数不同,但通过实验发现,各个参数与目标码率大致呈线性关系。因此,对于固定的场景,可以预先采样若干码率点、拟合出分段关系参数集。此后对于特定的目标码率,可以插值获得近似的参数集合。
帧级码率稳定性控制算法则包括三个步骤:
- 当用户发起交互时,对于每一个视角改变的帧,根据分段线性参数、及视角改变幅度,计算
- 若增大,则按照增大的比例调低该帧的目标码率,避免数据量激增
- 若减小,则按照减小比例调高该帧的目标码率,同时利用一个大于1的平衡因子避免整体码率的降低。
网络自适应缓冲与播放控制
由于自由视视频对传输低延迟有极致的需求,无法利用较大的缓冲应对网络抖动。因此,本文为客户端提出动态缓冲调整与自适应播放策略,利用可控的缓冲延迟提升播放稳定性。
尽管边缘网络的状况是长期波动的,但从短期看,在某些时间窗口内网络的状况可以由一个固定大小的缓冲应对;且因为边缘网络相对稳定,相邻的两个时间窗口所需的缓冲也不会差距很大。
- 动态缓冲调整(DBA)策略根据近期接收帧的到达速率和播放速率,估算网络状况,并计算缓冲增量,对客户端的目标缓冲进行调整。
- 自适应播放(AFC)策略则根据目标缓冲和实际缓冲的差,对下一帧的播放速率进行动态调整,使实际缓冲平滑地向目标缓冲逼近。
DBA 和 AFC 策略以松耦合的方式对目标缓冲和实际缓冲进行异步控制,以实现缓冲延迟和播放稳定性的均衡。
传输规模优化
FVV 在用户体验方面包含互动式的视角选择操作,而对应的视角合成算法因为计算复杂度高,在并发用户数量增加时会显著增加边缘服务器的负载。为提高 FVV 应用的收益,需要在保证用户数量的同时减轻其对计算资源造成的压力。可以通过限定视角变化粒度的方式,以牺牲少量交互个性化程度为代价提供分级的体验。更精细的视角变化粒度通常可以带来更流畅的观看体验。
本文提出一种混合的 FVV 服务扩展架构,通过不同的传输技术为观看者提供不同模式的服务,其框架如图4所示。用户共可以通过三种模式体验一个场景,分别为无交互、由云端准备的导演视角模式,限制视角切换粒度的部分自由视模式,以及支持任意切换角度的完全自由视模式。
导演视角与完全自由视模式
导演视角模式即常规的视频直播类服务,是呈现式服务,用户只能被动观看预设的视角。可以采用经济实惠的广播或组播进行传输,且对低延迟没有很高的需求。
完全自由视模式则需要利用本文提出的超低延迟传输方案和控制策略,为观看者提供最完整的自由视体验。
部分自由视模式
部分自由视模式是对计算成本和用户体验的权衡。通过对视角改变的单位幅度加以限定,部分自由视模式将会话式应用退化为呈现式。图5展示了部分自由视模式可行的视频帧组织形式,而图6则体现了其视频流组织方法。
采用这种多帧集合、GOP 交叠的数据组织和传输方式,用户可以在一路流中任意切换视角,或快速切换到其他的流选择视角,获得自由视应用的部分体验。同时,多路的视频可以用 HLS/DASH 等方式传输,与传统呈现式视频无异。
部分自由视模式需要云计算、边缘计算、和客户端的协作。云上执行虚拟视角合成、帧组织、GOP 交叠的视频流编码等操作;边缘除了缓存和分发外,可以利用空闲资源对多路视频进行转码,进一步增加 GOP 交叠的层数,提升视角切换流畅度;客户端则进行简单的视角提取、缩放操作。
实验结果与分析
- 常规TS出现延迟的概率约为0.5%,即30fps的视频,每6s就可能随机出现一个延迟的帧,而零延迟TS则完全避免了这一问题。
- 帧级码率稳定性控制策略在模拟实验中带来了平均26.42%的稳定性提升。
- 动态缓冲调整和自适应播放控制策略相比不同大小的固定缓冲,可以更好地适应网络条件的波动,带来均衡的延迟和稳定性。
- 真实系统中的联合测试中,当用户交互剧烈时,本文提出的控制策略使帧级码率波动性降低50%以上,而视频播放的稳定性提升25%以上。
- 混合FVV服务架构可以通过对云边资源的分配平衡成本、增加收益。特别是在部分自由视模式下,可以分别在云和边对服务的体验进行配置,实现开销的调节。
总结
本文针对 FVV 视频在传输阶段面临的挑战展开研究,以降低传输延迟、提升播放稳定性、提升资源受限条件下的服务规模为目标。模拟和真实系统中的实验均证明本文提出控制算法的有效性,而混合 FVV 服务架构则可以平衡应用的成本和收益,具有进一步推广的价值。
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。