3GPP眼中的XR及其技术特点

news2024/11/24 4:53:26

3GPP R18 支持了XR Services。XR需要高数据速率和低延迟通信,这也真是5G可以大展身手的地方。这篇就从3GPP的角度看下XR是什么以及XR有哪些技术特点。

Extended Reality (XR) 是指由计算机技术和可穿戴设备生成的所有现实与虚拟相结合的环境和人机交互技术。

实际上XR是不同类型现实的总称:

(1)虚拟现实 (VR) 是交付的视听场景的渲染版本。渲染旨在尽可能自然地模仿现实世界的视听感官刺激,让观察者或用户在应用程序定义的限制内移动。虚拟现实通常(但不一定)要求用户佩戴头戴式显示器 (HMD),用模拟的视觉组件完全替换用户的视野,除此之外还有戴上耳机以便为用户提供伴奏音频。通常还需要在 VR 中对用户进行某种形式的头部和运动跟踪,以允许更新模拟的视听组件,从而确保从用户的角度来看,VR场景及声源是与用户的运动保持一致,尽可能的保持真实。近几年来VR在游戏、影视、专业学习与训练、旅游、制造、军事等各个方面极大地影响了人类。实际产品如头戴式VR设备,手持式VR设备,体感式VR设备等等。VR主要体现的是虚拟,用户无法看到现实世界的物体和环境,通过VR设备让人置身于一个虚拟的环境中,得到不同的视觉体验。

例如商城中的VR游戏设备。

(2)增强现实 (AR) 是指向用户提供附加信息或人工生成的场景或内容,将其叠加在当前环境中而形成。此类附加信息或内容通常是实现在视觉或听觉上。用户对当前环境的观察可能是直接的,没有中间的感知、处理和渲染,也可能是间接的,用户对环境的感知通过传感器传递,并可能得到增强或处理。AR是在现实世界中叠加虚拟内容,用户可以看到现实世界和虚拟内容的结合。最常见的比如在服饰行业中,AR技术可以提供了虚拟试穿,消费者可以在虚拟环境中实时观察服装的效果,从而更准确地选择符合个人的产品。

(3) 混合现实 (MR) 是 AR 的一种高级形式,其中将一些虚拟元素插入物理场景中,进一步提升用户体验。MR可以把真实世界和虚拟世界合成在一起,产生一个新的环境,在真实世界中,通过虚拟世界进一步形象化,从而产生物理和数字对象共存,实时的交互,这就是所谓的混合现实。

最近很火的apple vision pro就是MR的一种实现。就像广告语所说“Apple Vision Pro 将数字化内容无缝融入现实空间。从工作、娱乐、沟通到重温回忆,都有不可思议的新方式。空间计算的时代,从此解锁”。MR更能凸显那种沉浸感(被虚拟环境包围的感觉)以及在虚拟环境中身临其境的感觉。而这种身临其境的感觉就对跟踪、延迟、持久性、分辨率和光学等提出了最低性能要求。

常沉浸感分为认知沉浸感和感知沉浸感。相对来说,认知沉浸感很容易实现,人类通过通过观看引人入胜的电影或书就可以达到,它是思想层面的沉浸感,如果一种技术连认知沉浸感都达不到,就无从可谈了。感知沉浸感是人感官上的沉浸,要实现这种沉浸感,就必须欺骗人的感官、视觉、听觉、触觉和嗅觉等。因而要创造感知沉浸感,XR 设备必须欺骗用户的感官,首当其冲的就是人的视听系统,因而感知沉浸感就是XR应用要实现的目标。具体到XR设备,就是通过基于运动的位置跟踪来实现感知上的沉浸。

这里就不得不提 Human filed of view(FoV),也就是人类视野的概念。FoV的定义是头部固定时特定时刻的视野区域,其代表的是从焦点测量的可见视野角度,以degrees表示。那单眼视野就是一只眼睛的可见视野角度,而双眼视野是两只眼睛视野的组合。双眼水平视野约为 200-220°,而垂直视野约为 135°。中央视觉约为 60°,这也被称为舒适区,这时候就对细节有非常高的敏感度。

在 XR 中,动作和交互涉及运动和手势。因此就牵连到自由度 (DoF),而DoF就描述了用于定义3D 空间中的运动的独立参数的数量。这里我们就看下3DoF和6DoF是什么。

3DoF就围绕 X、Y 和 Z 轴的三个旋转无限制运动,这里可以分别认为是俯仰、偏航和滚动。最典型的用例就是用户坐在椅子上观看头戴式显示器 (HMD)上的 3D 360 VR内容。

而6DoF就是3DoF可沿 X、Y 和 Z 轴进行完全平移的运动。除了3DoF体验之外,6DoF还增加了上下移动(升降/起伏), 左右移动(扫射/摇摆)以及前后移动(行走/波动)。典型用例是用户自由地在 HMD上显示的 3D 360 VR内容中行走。

到这里就不得不提3个XR概念。

XR view描述给定时间内 XR 场景中的单个视图。每个视图对应于 XR设备用来向用户呈现场景部分的显示器或显示器的一部分。

XR viewport描述的是图形表面的viewport或矩形区域。XR viewport对应于 XR view在目标显示器上的投影。XR viewport主要由viewport矩形尺寸的宽度和高度定义。

XR Pose描述的是相对于XR空间的空间位置和方向。XR的一个基本要素就是要实现viewer pose的空间跟踪。

XR内容可以用不同的形式表示,它可以是全景图或球体图,这具体取决于捕获系统。

事实上现代视频编码标准在设计之初,并不能用于处理球形内容。在编码之前,可以通过投影技术将球形(360度)视频转换为二维矩形视频。而投影后,就可以将得到的二维矩形图像划分为不同的区域(例如前、右、左、后、上、下),稍后就可以将这些区域重新排列以生成“packed"帧,进而达到提高编码效率或viewport相关的stream arrangement。

那360度视频传输方式有哪些?这里主要有三种方法:

(1)single stream:这种方法会提供完整的360度视频并但是仅显示用户感兴趣的部分。那这一类的解决方案的缺点就是可能无法扩展或可能在所需的网络资源(高分辨率视频的高比特率)和客户端所需的处理(解码非常高分辨率的视频)方面带来巨大挑战。

(2)multi-stream:这种方法会对多个stream进行编码,每个stream都会给到某个特定的viewport,然后让接收器使用,这样接收器就可以决定在某个时间实例中传输哪个流。

(3)Tiled stream:这种方法会通过传输分辨率降低的non-viewport样本给到当前用户的view port的方式实现。然后这些tiles 可以作为一个公共比特流(使用motion-constrained HEVC tiles)或单独的video stream使用。

video和audio都要基于RTP进行传输,在XR上就有了一些具体的特点和要求。

相比于增加的延迟以满足按序交付的方式来说,RTP层通常可以处理RTP数据包的无序接收,这样一些编解码器需要具有无序接收能力才能很好地运行。因此,这里首选模式就是接收方的lower layer并不总是按序向上层交付,而是可以无序传输。

除此之外,不同XR应用程序的共同特征是很难确定的,因为它们在很大程度上取决于应用程序的选择,例如应用程序本身、使用的编解码器、数据格式和编码操作等等。特别是,低延迟 XR 和云游戏视频服务(例如 Split-Rendering 或 Cloud Gaming)通常不会使用固定图像组 (GOP) 的传统编码结构。此外,低延迟视频传输领域正在经历重大创新,可能会频繁建立新的编码方法。因此,接下来列出的traffic特性和要求,只能在需要XR流量特性的具体示例时用作基准 ,并不普遍适用于所有 XR 应用。

XR video的frame rate从每秒15帧到每秒90帧甚至120 帧不等,VR 的典型最低值为60帧每秒。

XR系统的性能目标是已知的角或旋转前庭眼反射的作用延迟约为 10ms或者范围为7-15ms,这种设定会导致motion-to-photon的延迟小于20ms,而通常设定的目标是10ms。对于大家关心的bit rates,根据帧速率、分辨率和编解码器效率,XR的bit rates预计在10~200Mbps之间。

XR audio可以区分为基于声道和基于对象两种表示方式。基于声道的方式会使用多个麦克风从不同方向捕捉声音;而基于对象的方式将复杂的听觉场景表示为单个audio元素的集合,每个元素都包含音频波形和一组相关参数或metadata。然后metadata进行指定每个音频元素的转换通过最终再现出来。

声音对象通常使用通过声音设计过程录制或合成的单声道音轨。最后使用位置元数据将这些声音元素定位在听众周围的水平面上或定位在完整的三维空间中。

由于声速比光速慢,用户通常能够接受声音相对视频的延迟,但是不能接受声音相对视频提前。最近的研究建议同步精度在15ms(音频延迟)和 5ms(音频提前)之间,而广播视频的绝对限值建议为 60 ms(音频延迟)和 40 ms(音频提前)。

为了保持虚拟世界与现实世界的可靠注册以及确保准确跟踪 XR Viewer Pose,XR App需要以大约 1kHz 的采样频率对设备进行高精度、低延迟跟踪。与时间相关的 XR Viewer Pose 的大小通常会产生大小在 30-100 字节范围内的数据包,因此如果通过网络传输生成的数据大约为几百 kbit/s,那延迟要求在 10-20ms 范围内。

在相同的显示时间内重复提供XR Viewer Pose不一定会产生相同的结果(信息越接近预测时间,预测就越准确),并且在为一个显示时间提供多个XR Viewer Pose和在连续的几个显示时间内使用相同的XR Viewer Pose之间存在权衡。但是可以假设发送一个与渲染视频的帧速率一致的 XR Viewer Pose 就足够了,例如 60fps。如果Pose用于网络(边缘/云)中的预渲染,则最好使用准确且最新的Pose信息。Pose信息必须以超高可靠性传递,因此,预期性能与 URLLC 类似,即上行传感器数据的数据包丢失率应低于10E-3。

最后不得不提到XR引擎,XR引擎为XR应用程序的开发人员提供了抽象硬件和软件功能的中间组件。和游戏开发引擎类似,典型组件包括用于图形的渲染引擎、用于声音的音频引擎和用于模拟物理定律的物理引擎。XR引擎的处理并非仅在设备 GPU 中执行。在功率和资源受限的设备中,可以通过边缘计算来协助或跨网络分割:UE 以实时方式将传感器数据沿上行链路方向发送到云端,当云端接收到传感器数据时,它再执行渲染计算并生成多媒体数据,然后发送回用户设备进行显示。而这正是NR可以发挥重要作用的地方。

下篇我们继续看下为了支持XR,3GPP R18做了哪些增强。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1942184.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【ELK】window下ELK的安装与部署

ELK的安装与部署 1. 下载2. 配置&启动2.1 elasticsarch2.1.1 生成证书2.1.2 生成秘钥2.1.3 将凭证迁移到指定目录2.1.4 改配置2.1.5 启动2.1.6 访问测试2.1.7 生成kibana账号 2.2 kibana2.2.1 改配置2.2.2 启动2.2.3 访问测试 2.3 logstash2.3.1 改配置2.3.2 启动 2.4 file…

SQL injection UNION attacks SQL注入联合查询攻击

通过使用UNION关键字,拼接新的SQL语句从而获得额外的内容,例如 select a,b FROM table1 UNION select c,d FROM table2,可以一次性查询 2行数据,一行是a,b,一行是c,d。 UNION查询必须满足2个条…

Potree在web端显示大型点云模型文件

一、克隆项目代码(准备好上网工具,得先有node.js npm 环境) git clone https://github.com/potree/potree.git二、依赖安装(换淘宝镜像能快一些) cd potree npm install三、运行 npm start四、使用样例 打开浏览器…

【Linux学习】常用基本指令

🔥个人主页: Forcible Bug Maker 🔥专栏:Linux学习 目录 🌈前言🔥XShell的一些使用查看Linux主机IP使用XShell登录主机XShell下的复制粘贴 🔥Linux下常用基本指令ls指令pwd指令cd指定touch指令…

Java:115-Spring Boot的底层原理(下篇)

这里续写上一章博客(115章博客) SpringBoot视图技术: 支持的视图技术 : 前端模板引擎技术的出现(jsp也是),使前端开发人员无需关注后端业务的具体实现(jsp中,具体的…

Windows 如何把软件从C盘移到其他盘

不知道您有没有发现,当我们下载安装程序时,程序通常会默认自动安装在C盘驱动器中,如果您不手动修改路径的话,C盘驱动器上的可用空间将逐渐减少,并会在不久的将来出现 C盘已满 问题,这可能会导致您的电脑性能…

python实现责任链模式

把多个处理方法串成一个list。下一个list的节点是上一个list的属性。 每个节点都有判断是否能处理当前数据的方法。能处理,则直接处理,不能处理则调用下一个节点(也就是当前节点的属性)来进行处理。 Python 实现责任链模式&#…

【Python】sqlite加密库pysqlcipher3编译安装步骤

目录 说明准备工作openssl编译sqlite tclsetup.py修改quote_argumentopenssl路径 安装加密示例代码测试附录参考 说明 pysqlcipher3是针对Python 3使用的pysqlcipher的一个分支, 尽管仍然维护对Python 2的支持。它仍然处于测试阶段, 尽管这个库包含的最…

电脑没有摄像头怎么用手机当摄像头?虚拟摄像头使用的详细教程来了(全)

随着科技水平以及全球化经济的快速发展,视频会议、在线课程和直播已经成为日常办公或者生活中必不可少的一个环节。然而,在如今仍有许多台式电脑和一些老旧的笔记本电脑并没有内置摄像头,亦或者自带的摄像头质量不够理想,这使得视…

数据结构day5

一、思维导图 二、课后练习 1、使用循环链表完成约瑟夫环问题 2、使用栈,完成进制转换(输入:一个整数,进制数,输出:该数的对应的进制数) //头文件 #ifndef DEC_TO_BIN_H #define DEC_TO_BIN_H…

怎样使用 Juicer tools 的 dump 命令将.hic文件转换为交互矩阵matrix计数文件 (Windows)

创作日志: 万恶的生信…一个scHiC数据集没有提供处理好的计数文件,需要从.hic转换。Github一个个好长的文档看了好久才定位到 juicer tools 的dump命令,使用起来比想象中简单。 一、下载Juicer tools 注意:使用Juicer tools的前提…

Ubuntu 22.04.4 LTS (linux) Tomcat 9 内存和线程优化

1 Apache Tomcat 9.0.91 线程 #在70行左右,增加如下 sudo vim /data/tomcat/conf/server.xmlmaxThreads"800" #客户请求最大线程数minSpareThreads"200" #最小线程数maxSpareThreads"500" #最大线程数acceptCount"800"…

Spark RPC框架详解

文章目录 前言Spark RPC模型概述RpcEndpointRpcEndpointRefRpcEnv 基于Netty的RPC实现NettyRpcEndpointRefNettyRpcEnv消息的发送消息的接收RpcEndpointRef的构造方式直接通过RpcEndpoint构造RpcEndpointRef通过消息发送RpcEndpointRef Endpoint的注册Dispatcher消息的投递消息…

go-kratos 学习笔记(4) 服务注册与发现 nacos注册

接口实现​ Registry 接口分为两个,Registrar 为实例注册和反注册,Discovery 为服务实例列表获取 type Registrar interface {// 注册实例Register(ctx context.Context, service *ServiceInstance) error// 反注册实例Deregister(ctx context.Context…

Docker安装nacos(详细教程)

Nacos 是一个开源的动态服务发现、配置管理和服务管理平台,广泛用于微服务架构中。在本文章中,博主将详细介绍如何使用 Docker 来安装 Nacos,以便快速启动并运行这个强大的服务管理工具。 前置条件 在开始安装 Nacos 之前,请确保…

算法信息动力学中的优化公式探索

算法信息动力学中的优化公式探索 Hector Zenil,剑桥大学计算机科学家和生物技术学家,算法信息动力学提出者。学者主页:https://hectorzenil.net/ 信息最大化利用与效益优化的核心公式 算法信息动力学研究的核心在于如何通过有效处理和分析数据,结合算法优化,以实现决策过…

Android中systrace配置及注意问题

Android中systrace配置及注意问题 systrace配置的官方文档地址如下:优化启动时间 Systrace systrace 允许在启动期间收集内核和 Android 跟踪记录。systrace 的可视化可以帮助分析启动过程中的具体问题。(不过,如果要查看整个启动过程中的平…

【目标检测】Anaconda+PyTorch配置

前言 本文主要介绍在windows系统上的Anaconda、PyTorch关键步骤安装,为使用yolo所需的环境配置完善。同时也算是记录下我的配置流程,为以后用到的时候能笔记查阅。 Anaconda 软件安装 Anaconda官网:https://www.anaconda.com/ 另外&#…

C++ 数据类型解析

文章目录 1. 概述 2. 变量类型 3. 代码示例 4. typedef 声明 5. 枚举类型 6. 类型转换 静态转换(Static Cast) 动态转换(Dynamic Cast) 常量转换(Const Cast) 重新解释转换(Reinterpr…

【中项】系统集成项目管理工程师-第4章 信息系统架构-4.5技术架构

前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”&…