写点什么

E3PO:360°视频模拟的探索与发现

作者:RoSofteg
  • 2023-12-30
    广东
  • 本文字数:3822 字

    阅读完需:约 13 分钟

E3PO 是一个用于 360° 视频流传输模拟的开源平台,随着虚拟现实(VR)和增强现实(AR)技术的蓬勃发展,360°视频成为沉浸式体验的关键组成部分。E3PO 作为一个专注于 360°视频流传输模拟的开源平台,不仅支持多种传输方案的模拟,还提供了丰富的定制化选项,从转换投影格式到流传输策略,再到头动预测算法的调整。在这个扩展中,我们将更深入地了解 E3PO 的各个方面,并思考其对 360°视频技术发展的影响。

E3PO 项目地址:https://github.com/bytedance/E3PO


结构

为了模拟流媒体方法,视频预处理器首先根据用户的特定投影和平铺参数将 360° 全景视频分割成小的视频分块。然后,流模拟器读取提供的头部运动轨迹,并模拟详细的流操作,包括何时传输以及传输哪个视频块。最后,系统评估器合成用户屏幕上显示的视频序列并计算各种指标。


  • 视频预处理器:

  1. 功能: 该模块的主要任务是对 360°全景视频进行预处理。

    具体操作: 根据用户提供的特定投影和平铺参数,视频预处理器将 360°全景视频划分成小的视频分块。这可能涉及到将视频投影到平面或球面上,以及将视频划分成适当大小的块以进行后续处理。

  • 流模拟器:

  1. 功能: 流模拟器模拟了流媒体方法,根据用户提供的头部运动轨迹模拟详细的流操作。

    具体操作: 流模拟器读取提供的头部运动轨迹,这可能是用户在虚拟环境中的头部运动数据。然后,模拟器决定何时传输以及传输哪个视频块。这涉及到模拟实时的流媒体传输,以反映用户在虚拟环境中的实际体验。

  • 系统评估器:

  1. 功能: 系统评估器合成用户屏幕上显示的视频序列并计算各种指标。

    具体操作: 系统评估器的任务是将流模拟器生成的视频序列合成为最终用户在屏幕上看到的图像,并计算各种评估指标。这可能包括客观指标(例如图像质量、帧率等)以及主观指标(用户感知的质量和体验)。


这种视口自适应 360 度流媒体系统具有三个优点:(i) 传输视频的比特率低于原始全质量视频,因为远离 QEC 的视频部分以低质量编码。(ii) 当最终用户不移动时,视口将从球形视频的最高质量部分中提取。(iii) 当最终用户的头部移动时,设备仍然可以提取视口,因为它具有完整的球形视频。如果新的视口中心远离接收到的视频表示的 QEC,则提取的视口的质量会较低,但这种降级只会持续到选择具有更接近 QEC 的另一个表示。【1】


图 1:

视口自适应 360 度视频传输系统:服务器提供三个 qer 的视频表示。深棕色是视频中高质量编码的部分,浅棕色是低质量的部分。视口是红色虚线矩形,视口中心是十字。


E3PO 运行体验与反馈

步骤概述

  1. 下载 E3PO 代码:


git clone https://github.com/bytedance/E3PO.git
复制代码

准备视频源:

将 360° 视频放置在 /e3po/source/video/sample.mp4

默认情况下,视频为 8K、30 fps,采用等距矩形投影(ERP),并仅使用视频的前 10 秒。

准备运动轨迹文件:

准备一个运动轨迹文件,类似于从 360VidStr 下载的文件。

将运动轨迹文件重命名并放置在 /e3po/source/motion_trace/motion_trace.log

运行脚本:

依次执行三个 Python 脚本,模拟流式处理过程:

运行视频预处理器模块:


./e3po/make_preprocessing.py -opt approaches/custom_eac/custom_eac.yml
复制代码

运行流式处理模拟器模块:


 ./e3po/make_decision.py -opt approaches/custom_eac/custom_eac.yml
复制代码

运行系统评估器模块:

 ./e3po/make_evaluation.py -opt approaches/custom_eac/custom_eac.yml
复制代码


实施了八种简单但典型的方法

这八种方法的视觉比较结果如下图所示。


—————————————————————优势————————————————————

  • 简单易用的安装过程: E3PO 的安装过程相对简单,通过 git 克隆代码库并按照文档进行配置,用户可以很快地搭建起整个平台。这种直观性对于新手用户是一个明显的优势。

  • 清晰而有序的工作流程: E3PO 的工作流程分为预处理、流模拟和系统评估三个主要步骤,使整个过程易于理解和管理。分步执行的脚本设计有助于用户逐步深入了解其内部机制。

  • 灵活的参数配置: E3PO 的配置文件提供了丰富的参数选项,允许用户根据实际需求进行定制。这种灵活性使得 E3PO 适用于不同场景和方案的研究和评估。

  • 强大的结果输出: E3PO 生成的结果非常详细,包括模拟的视频序列和多种评估指标。这有助于用户深入了解其选择方案的性能,并为后续的研究提供了有价值的数据。

  • 友好的社区支持: 在使用 E3PO 过程中,我发现社区对问题的回应迅速而热情。有积极的讨论和分享,这对于用户解决问题和提高使用技能非常有帮助。

  • 模块化设计的优越性: E3PO 的模块化设计为用户提供了更大的灵活性。通过独立运行视频预处理器、流模拟器和系统评估器,用户可以更好地理解每个模块的功能,也可以根据需要自定义或替换特定的模块。

  • 强大的可扩展性: E3PO 的可扩展性是其突出的优势之一。用户可以轻松地集成自定义的方法,使其更适用于特定的研究或应用场景。这种可扩展性是促使创新和实验的关键。

  • 开发者友好的代码结构: E3PO 的代码结构相对清晰,注释详尽,对于希望深入理解其内部机制的开发者而言,这是一项很大的优势。清晰的代码结构有助于用户修改和优化平台以适应特定需求。

  • 详细的日志和输出信息: 在模拟运行过程中,E3PO 提供了丰富的日志和输出信息,使用户能够追踪和分析整个流程。这对于调试和优化方案至关重要。

  • 丰富的社区资源: E3PO 拥有一个活跃的社区,开发者和用户之间的互动频繁。在 GitHub 上,我发现了许多问题的解答、建议和实际应用的例子。这种社区支持是 E3PO 持续发展的强大动力。


—————————————————————改进————————————————————

  1. 学习曲线较陡峭: 对于不熟悉 360°视频传输领域的新手,E3PO 的学习曲线可能较陡峭。一些简化和更直观的入门教程可能会有助于用户更快地上手。

  2. 可能需要更多示例: 提供更多的示例场景和配置文件,以展示不同使用情景下的运行效果,将使用户更容易理解和调整 E3PO 以满足其需求。

  3. 一些特定场景可能不覆盖: 对于一些特定的 360°视频传输场景,E3PO 的默认配置可能并不总是适用。这意味着用户可能需要更深入地定制平台以适应他们的特定需求。



发展的应用趋势

  • 转换与投影:定制化的 360°视频体验——》E3PO 的能力不仅限于模拟 360°视频的传输,还允许用户将这些视频转换成标准或自定义的投影格式。这为用户提供了更灵活的选择,可以根据不同场景和设备需求进行优化。例如,通过自定义投影格式,用户能够适应各种 VR 头显的显示特性,提供更逼真和流畅的观看体验。

  • 分片与大小的动态调整:优化网络传输与设备性能——》E3PO 的分片功能使得 360°视频可以按等大小或自适应大小进行划分。这为网络传输和设备性能提供了灵活性,用户可以根据网络带宽和设备性能的不同,调整分片大小以实现最佳的视觉效果。这种动态调整的能力使得 E3PO 适用于不同网络环境和设备配置下的 360°视频传输。

  • 头动预测算法:定制化用户体验——》一个引人注目的特色是 E3PO 支持自定义的头动预测算法。头动在 VR 体验中是至关重要的,因为用户的头部移动需要实时响应。通过自定义预测算法,用户可以根据具体应用场景和设备类型调整算法,以提高用户体验的真实感和流畅度。

  • 不同的流传输策略:点播与转码的平衡——》E3PO 支持不同的流传输策略,包括基于点播和转码的方式。这种灵活性允许用户根据具体需求选择最适合的传输方式。点播方式适用于需要实时性和低延迟的场景,而转码方式则可用于优化带宽使用,适应网络条件波动的情况。

  • 实际观看体验的模拟:客观与主观的评估——》E3PO 不仅仅关注客观评价指标,还提供了对方案主观性能的分析与评估。通过模拟用户在头显设备中实际看到的视频内容,E3PO 使得评估 360°视频方案不仅仅停留在技术参数的层面,更关注用户的真实感受,为 360°视频技术的发展提供更全面的视角。


THE END

E3PO 的安装过程相对简单,通过 git 命令即可获取代码,随后的配置也相对直观。平台提供了详尽的文档,对于新手用户而言,这是一个极大的帮助,使我能够快速上手。E3PO 的工作流程清晰而有序,分为视频预处理器、流模拟器和系统评估器三个主要模块。按照提供的示例,我能够轻松地运行整个模拟流程,模拟 360°视频传输的全过程。一个引人注目的特点是 E3PO 提供了丰富的定制选项。从视频转换到流传输策略,再到头动预测算法的调整,用户可以根据不同需求进行灵活的配置。这种灵活性使得 E3PO 适用于各种 360°视频传输场景和应用。分片和大小的动态调整是 E3PO 的一项亮点,使得 360°视频在不同网络和设备条件下能够更好地适应。这为优化网络传输和设备性能提供了极大的便利。E3PO 的结果输出非常详细,包括模拟的视频序列和多种评估指标。这使得用户能够全面了解其选择方案的性能,并为进一步的研究提供了有力的数据支持。

在使用过程中,E3PO 的社区支持也给予了我很大的帮助。社区反馈活跃,问题得到及时解答,这种开发者和用户之间的积极互动为使用者提供了更加完善的支持体系。E3PO 作为一个多功能的 360°视频流传输模拟平台,将继续在虚拟现实和增强现实技术的发展中发挥关键作用。通过提供灵活的定制选项、支持各种传输方案以及关注用户体验,E3PO 为 360°视频的未来发展奠定了坚实的基础。随着技术不断演进,相信 E3PO 将在开源社区中发挥更大的作用,助力 360°视频技术的创新与普及。


参考文献

【1】X. Corbillon, G. Simon, A. Devlic and J. Chakareski, "Viewport-adaptive navigable 360-degree video delivery," 2017 IEEE International Conference on Communications (ICC), Paris, France, 2017, pp. 1-7, doi: 10.1109/ICC.2017.7996611.

发布于: 刚刚阅读数: 4
用户头像

RoSofteg

关注

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

还未添加个人简介

评论

发布
暂无评论
E3PO:360°视频模拟的探索与发现_E3PO_RoSofteg_InfoQ写作社区