【AICon】硅谷视野+中国实践,汇聚全球顶尖技术的 AI 科技盛会 >>> 了解详情
写点什么

龙游神州:揭秘云 VR 大空间背后的技术魔法

刘志伟;孙金波;Arthur

  • 2024-02-29
    北京
  • 本文字数:2834 字

    阅读完需:约 9 分钟

龙游神州:揭秘云VR大空间背后的技术魔法

龙游神州,一场将古老庙会与现代科技完美融合的云 VR 体验,近期成为北京地坛新春庙会的网红打卡项目。这场由央博数字文化艺术博物馆和火山引擎云游戏团队联手打造的沉浸式体验,究竟是如何通过技术魔法实现的呢?让我们一起来揭开这层神秘的面纱。

系统架构



本项目的技术架构主要由服务端包含云渲染、智能调度、运营监控、媒体服务等能力构建,并在多路并发、超低延时、体验优化、运营监控等大空间技术难点层面做了优化和提升;客户端硬件采用 Pico 4E,无线方案采用企业级 AC + AP,运营方案由 Pico 企业服务提供支持。

核心优化

WiFi 场景 24 路并发实现


24 路并发取决于客户端侧 WiFi 的规划以及 AC 和 AP 的深度优化


通过 AC 将 AP 组合理规划,保证网络连接的稳定性,同时,每个 AP 组均衡分配终端,以保证负载的均衡做到 24 路并发,同时配合 AP 固件优化,做到端到端更低的延迟




端到端低延迟



端到端延迟优化是通过服务端云流化引擎的 RTC 部分实现的。


云 VR 使用了火山引擎智能拥塞控制算法 VICC(Volcano Intelligent Congesttion Control)VICC 是一种自适应的拥塞控制算法,旨在解决全球不同网络环境下,不同音视频应用对带宽利用率和延时的差异化要求。它结合了传统拥塞控制算法(如 GCC 和 BBR)的优点,并且能够根据不不同的网络条件、业务偏好和码率特征进行自适应调整,包括自适应拥塞响应速度、自适应带宽探测幅度、自适应丢包检测策路、自适应抗抖动能力和自适应 Padding。通过这些自适应调整,VICC 算法能够提升各种复杂弱网下的带宽利用率,同时在满足不同延时的条件下,尽量提升带宽的稳定性,为用户提供更好的音视频体验。


VICC 优点如下:


  1. 多种基础网络状态参数展示

评估当前网络状态的重要指标之一是网络状态统计参数,而准确的基础网络状态参数是提高带宽估计准确性和带宽利用率的关键基石。VICC 算法提供了多种基础网络状态参数,部分基础网络状态态统计参数如下:



  1. 自适应拥塞控制

VICC 算法结合了传统拥塞控制算法的优点,并且能够根据不下同的网络条件、业务偏好和码率特征进行自适应调整,包括自适应拥塞响应速度、自适应抗干扰能力、自适应丢包检测、自适应带宽探测幅度、自适应拥塞排空等。


  1. 抗抖动能力强

拥塞响应越灵敏,意味着在网络抖动场景下容易误判,导致算法抗干扰能力下降。VICC 使用蚁穴算法来对抗网络抖动和乱序,通过接收码率和发送码率来度量网络透过率,并结合观察延迟参数变化趋势及关联性,提升自适应抗干扰能力。



帧率优化



帧率优化的实现依赖的是云 VR 引擎中的架构设计和代码实现。


云 VR 引擎,火山引擎自主研发,包含设备模拟(头盔及手柄模拟)、操控模拟、音频采集、图像采集、编码框架、传输框架等功能,架构设计如下


下面两幅图展示了市面上的主流实现及火山引擎的实现对比,可以看到,后者的单帧占用时间更少,帧率更高,关键在于以下几点:

  • 更高的 CPU 利用率,通过对各 API 实现的摸索,通过不同函数处理逻辑的合理分配来达成这点,提高了单位时间内引擎的循环次数

  • 更高的 GPU 利用率,通过渲染函数内部非阻塞处理,使 GPU 指令始终处于填满指令队列状态来实现这点,通过 insight 类软件可以确认这点

  • 多线程无缝协同,CPU 多线程协同每 1 毫秒的增加意味着帧率的损失,尤其在 VR 高帧率场景下,1 毫秒在 1 帧的处理时间的占比比普通应用更大,而各 API 实现的调用时机由 SteamVR 的 vrserver 决定,所以要降低单帧占用时间,则需要降低输出帧延迟,这里我们通过将阻塞处理分配到其他线程,实现了更快的获取帧状态的改变消息,在收到之后立即编码

  • 更高的 vsync 精准度,自研 vsync,拆离渲染、采集,使两者可以 Overlap,使 GPU 在渲染和采集之间无缝衔接,达到每帧总体时间的减少




渲染画质提升


渲染画质提升通过客户端集成火山引擎自研超分算法实现。


重新设计实现基于视口的投影技术,将平面投影转换成球面投影,降低镜目边缘的图像畸变,实现均匀像素密度。同时通过端侧的姿态预测智能算法,在网络时延出现波动时,有效降低黑边现象的出现频率。同时为了提升清晰度,客户端渲染上屏前,使用自研的图像超分算法在将 3K 超分至 4K,提升画质色彩深度,且算法是利用 OpenCL 在 GPU 侧实现,对单帧耗时影响较小。



投影优化


投影优化处理在云 VR 引擎及云流化引擎内部处理,包含渲染分辨率的提升及投影变换两部分


常见投影为 CMP,CMP 的像素密度特点为内密外疏,而这就会造成图像中部细节丢失,而边缘细节完整,这与人眼的视觉特点相背,为解决此问题,采集后若做 EAC 处理,使像素密度更加平均,可以增加图像中部细节的完整性,在云 VR 引擎初始化时,首先提高渲染分辨率,在采集完成后再对渲染后的图像做投影变换,具体原理可参考 https://blog.google/products/google-ar-vr/bringing-pixels-front-and-center-vr-video/


其他功能


QoS 实时运营监控


云 VR 大空间项目是一个线下项目,顾客的实时体验监控是运营人员比较关心的一个问题,客户端复用信令通道,以及数据包压缩技术,可以做到客户端不增加任何 QPS 情况下,实时上行传输设备帧率、码率、时延、丢包、电量等信息,使运营监控端可以实现毫秒级监控,做到追踪单个视频帧在各传输阶段的时延。

硬件方案


便捷易用的大空间能力


在以上火山引擎云游戏提供的 VR 实时云渲染技术方案之外,PICO Business 提供的大空间功能也是不可或缺的一环。


PICO Business 包括了企业级硬件、企业级 OS、企业级软件平台和企业级服务等内容,为企业用户提供全面成熟的 XR 解决方案与最佳实践,帮助用户提升业务效率,降低部署的成本和门槛,解决业务中面临的技术挑战,创造全新价值。借助 PICO Business,开发者可以快速实现面向文旅、培训、医疗、营销、线下娱乐等场景的的一体化解决方案。



大空间是 PICO Business 的一个重要产品。大空间功能是通过 SLAM 建图实现,即利用某台设备运行视觉 SLAM 定位对空间进行扫描,设备通过相机拍摄照片,并从照片中提取特征(如桌子的边缘)并记录特征的 3 维坐标(此 3 维坐标所在坐标系即为地图坐标系),此类信息最终都存储在地图中。设备开机后会对空间内提取特征,算法会将新提取的特征与地图内的进行匹配,当匹配成功后,利用 pnp 算法(该算法利用地图内特征的像素坐标、该特征的 3 维坐标、特征在当前设备上的像素坐标)可以计算出设备在地图坐标系下的位姿,即实现了使用地图坐标系。该方案仅需要头戴设备就可以完成,不依赖外部基站,部署简单易用,成本低。另外地图数据可以同步至其他设备,多台 VR 共享同一份 SLAM 地图,即共享同一地图坐标系,达到大空间多设备共享协作的目的,整合方案非常便捷。


技术细节参考 https://business.picoxr.com/cn/doc/Enterprise-Settings-LBE-v1.3#4ab364ef

总结和展望


火山引擎始终坚持在音视频与 AI 领域不断创新。未来火山引擎云游戏将持续深耕技术研发,依托高性能算力和低延迟传输方案,为各类互动场景提供有力支持,让更多用户畅享云技术带来的流畅高清影音体验。未来,随着 OpenXR 标准的逐步落地,云 XR 将是下一个技术目标,会有更多的性能优化及功能的扩展。

2024-02-29 14:286363
用户头像
鲁冬雪 InfoQ 策划主编

发布了 340 篇内容, 共 201.0 次阅读, 收获喜欢 274 次。

关注

评论

发布
暂无评论

静亦求精,罗技MX高性能键鼠组合上市!

Geek_2d6073

手把手教你如何高效落地单项目管理 | 一看既会

阿里云云效

云计算 阿里云 项目管理 敏捷开发 单项目管理

百度吴甜提出大模型落地关键路径 业内首发行业大模型

百度开发者中心

市场份额不断提升,百度智能云稳居金融云解决方案市场第一阵营

百度开发者中心

数据治理项目调研环节思考

agileai

项目管理 数据中台 数据仓库 数据治理 主数据

极客星球 | 机器学习赋能商业地产决策进阶

MobTech袤博科技

卷入上海疫情,被封40天,我的一点心得

大数据梦想家

程序员 程序人生 疫情防控

物联网时代,如何保障嵌入式系统安全?

龙智—DevSecOps解决方案

klocwork perforce Helix QAC

如何 DIY 一款属于自己的【3D 重力感应 动态壁纸 】,看完这篇文章你也可以学会

呆呆敲代码的小Y

android Unity 壁纸 动态壁纸

错过了太后悔,九大绝招大公开,详解华为低时延技术

华为云开发者联盟

云计算 音视频 华为云

ShardingSphere 在金融支付场景下的实践与调优

SphereEx

Apache 数据库 开源 ShardingSphere SphereEx

Jira工时管理插件线上安装量过百,龙智产品赢得全球企业信赖

龙智—DevSecOps解决方案

Jira插件 龙智 龙智自研插件

一文了解游戏美术开发流程,以及可能遇到的问题

龙智—DevSecOps解决方案

perforce Helix Core Helix DAM

达人专栏 | 还不会用 Apache Dolphinscheduler?大佬用时一个月写出的最全入门教程【三】

Apache DolphinScheduler

Apache 大数据 开源 DolphinScheduler workflow

关于2022年12代C/C++Linux服务器开发高级架构师课程体系分析

C++后台开发

后端开发 Linux服务器开发 C++后台开发 Linux后台开发 服务器开发架构师

敏捷团队教练工作坊 (Coaching Agile Teams) | 6月11日

ShineScrum捷行

敏捷 教练 敏捷教练 cat 高管教练

企业网站该怎样选择网站域名?

源字节1号

软件开发

TDengine 社区问题双周精选 | 第一期

TDengine

数据库 tdengine

乏善可陈的Neuralink

图灵教育

leetcode 69. Sqrt(x) x 的平方根(简单)

okokabcd

LeetCode 查找

域成员服务器怎么会突然脱域?

BUG侦探

脱域 域信任关系 windows更新

2022年中国互联网母婴行业年度分析

易观分析

母婴产品

打开人工智能“黑盒”,发展可解释、可扩展、可信赖、安全可靠的人工智能

博文视点Broadview

为什么要上云,您的团队适合上云吗?Atlassian白皮书给你答案

龙智—DevSecOps解决方案

Atlassian atlassian云版

EAM系统解决方案

低代码小观

资产管理 企业管理系统 企业设备管理 设备巡检管理系统 企业管理软件

ironSource开通业内首家微信客户服务平台, 为中国客户提供本地支持

Geek_2d6073

《银行保险机构消费者权益保护管理办法》,如何影响行业与个人?

易观分析

金融消费

如何实现客户自助服务?打造产品知识库

小炮

知识库

易安联参编《SASE技术与应用场景白皮书》正式发布

权说安全

网络安全 sase

微信小程序和 uniapp 的区别是什么?

CRMEB

如何提高团队的工作效率?

ShineScrum捷行

Scrum 敏捷 团队效率

龙游神州:揭秘云VR大空间背后的技术魔法_音视频(前端)_InfoQ精选文章