写点什么

基于 E3PO 平台设计的一种自适应 360°视频传输方案

作者:Geek-yan
  • 2023-12-29
    陕西
  • 本文字数:1812 字

    阅读完需:约 6 分钟

前言

随着 VR/AR 技术的迅速发展,360 度视频正逐步成为主流的拓展现实内容形式。但是,如何在有限的网络条件下高效传输和流畅播放 360 度视频仍面临诸多挑战。特别是对于移动终端,网络状况波动严重,将传输效率最大限度提升至关重要。E3PO 作为开源的 360 度视频传输模拟平台,具有较高的定制性和可靠性。它支持对各种传输参数进行细致设置,包括视频编码格式、投影方式、分块策略以及传输策略等各个环节。此外,E3PO 可以真实还原不同网络环境下的传输效果,支持对主观质量影响因素进行量化分析。基于 E3PO 平台的优势,本文将设计一种针对移动环境的自适应 360 度视频传输方案。该方案旨在通过实时调节视频质量和预加载数量,最大限度保证在不确定的网络条件下播放流畅度。具体而言,它将采用视角预测加载优先策略,结合网络评测动态调整视频码流质量。全面利用 E3PO 模拟能力,通过迭代优化找寻最佳传输参数组合。通过这一设计,我们期望打造一套适应各种网络环境的 360 度视频解决方案。同时也将 E3PO 在这一领域的应用价值进一步检验和发掘。


设计思路

将 360°视频投影为等角格式,将 spherical 引入平面,更便于后续处理。然后将等角投影后的视频图像整除为 8×8 小块进行编码。在编码过程中,采用这样的分块策略可以提高可变分辨率编码的优势,支持不同块采用不同的分辨率来平衡画质和码率。


// 使用equirectangular projectionMat videoFrame = projectSphericalToEqui(inputFrame); 
// 将图像分为8×8块 const int BLOCK_SIZE = 8;vector<Mat> blocks;splitFrameIntoBlocks(videoFrame, BLOCK_SIZE, blocks);
复制代码


设计基于视角和网络状态实时监测的动态自适应预测算法。在编码过程中,通过预测用户当前和未来一段时间内可能观看的视角区域,可以提前加载和缓存这些视角周边块的数据。这样可以缩短视角转移时的延时,有效保证视觉连贯性。


// 预测下一时刻用户视角Point predictNextGazePoint(currentGaze, timeInterval); 
// 获取相邻块编码参数 vector<int> getNearbyBlockLevels(predictNextGazePoint);
复制代码


根据网络带宽监测结果,在编码过程中算法可以实时调整每个块的预加载程度,以及选择使用什么级别的分辨率对其进行编码。例如在低带宽条件下,可以仅预加载视角周边少量块,同时选择更低的分辨率进行编码,从而保证流畅播放。


// 根据网络带宽调整块编码参数void adjustBlockLevels(vector<int> levels, bandwidth);
// 选择性编码块encodeBlock(block, level);
复制代码


采用基于点播的流传输策略,在编码和封包过程中支持视频文件被拆分编码后的不同分辨率行实时中途切换下载和解码。这可以更好适应不同网络瞬时带宽波动情况。


// 下载匹配码率片段downloadSegment(targetRate); 
// 在线解码片段 decodeSegment(segment);
复制代码


选择开源和更高效的 AV1 视频编码格式,在编码过程中有利于支持更广泛设备的硬件 accelarated 解码,提高兼容性。


// 使用AV1编码器AV1Encoder encoder;
// 对块进行AV1编码encoder.encodeBlock(block, outSegment);
复制代码

使用 E3PO 评估与优化

将自适应传输算法写为 E3PO 脚本:定义传输控制、视频编码解码、视角追踪预测等模块。编码单元、编码参数也进行了设定。

在 E3PO 模拟不同网络环境:分别设置 5 个延迟区间(20ms 一级增长至 150ms)和 3 个丢包率区间(1%、3%、5%)。每种网络环境下重复运行 100 次以获取统计数据。

测量和记录关键指标:如解码器的缓冲时长、播放器的每秒重绘次数以表示流畅度。每帧解码前后的 PSNR,以计算不同条件下的视频质量。

优化预测算法参数:每次分别增大或缩小视区大小、预测窗口,观察视角延迟的变化。记录最小延迟点的参数设置。

调整码率自适应阈值:重复设置 5 个分辨率级别对应的带宽占比,观察整体表现。找到保证流畅且画质较好的组合。

比较不同方案在各环境下的优劣:用量化指标与主观评判来确定表现最佳的算法参数配置。

总结

基于 E3PO 平台,我们设计了一种自适应的 360°视频传输方案,通过视角预测、动态码率控制以及点播传输策略等技术手段,实现了根据网络条件实时调整视频质量,从而保证流畅播放。利用 E3PO 的模拟能力,我们对该方案进行了全面验证和多轮优化。结果表明,与固定码率传输相比,该自适应传输方案可以更好地适应各种网络环境,有效提升视觉体验。虽然在 E3PO 模拟平台上获得了不错的效果,但是 E3PO 模拟的仍然是理想化条件,未来还需在真实设备和复杂网络环境下进行测试与优化,以适应不同终端硬件能力和大量网络变因,期望通过持续探索与改进,最终打造一套通用且高效的自适应 360°视频传输解决方案。


用户头像

Geek-yan

关注

还未添加个人签名 2023-12-20 加入

还未添加个人简介

评论

发布
暂无评论
基于E3PO平台设计的一种自适应360°视频传输方案_Geek-yan_InfoQ写作社区
vConsole