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

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.rhkb.cn/news/382923.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【相机与图像】1. 相机模型的介绍:内参、外参、畸变参数

想着整理下相机模型(内容上参考 slam十四讲)、相机的内外参标定。方便自己的使用和回顾。 不过,内外参标定啥时候记录随缘 -_- 概述 【构建相机模型】 相机将三位世界中的坐标点(单位为米)映射到二维图像平面&#xff…

项目实战二

Git 服务器 公共代码平台GitLab 配置gitlab 1.设置管理员帐号密码 2.让程序员传代码到20主机上需要配置: 创建用户 mark 1234.com 创建用户组devops 然后把mark 添加到devons 创建项目 http://192.168.88.20/devops/myproject.git 3.客户端操作&#x…

大数据、区块链与人工智能

大数据、区块链与人工智能:技术融合与未来展望 摘要 本文旨在探讨大数据、区块链和人工智能这三个技术领域的基本概念、发展历程、应用场景及其相互之间的融合。文章首先分别介绍这三个技术的定义和特点,然后分析它们在不同行业中的实际应用&#xff0…

mac下010editor的配置文件路径

1.打开访达,点击前往,输入~/.config 2.打开这个文件夹 把里面的 010 Editor.ini 文件删除即可,重新安装010 Editor即可

SpringSecurity如何正确的设置白名单

在SpringSecurity中,往往需要对部分接口白名单访问,而大部分在使用Security中就有一个误区,那就是免鉴权访问和白名单的区别。 大部分的Security文章包括官方文档给出免鉴权访问都是使用.permitAll()去对相应路径进行免鉴权访问,但实际上这仅仅只表示该资源不需要相应的权限访问…

k8s 公共服务

修改named.conf。修改第13行和第21行 下面是 named.rfc1912 修改位置,在最后 所以用cp -p 复制文件,保留权限 nslookup 回车,server是看哪个dns 在起作用 dns服务器要配置给所有公共服务节点和 k8s 节点 就在网络文件加个DNS2就行了&…

【人工智能】AI音乐创作兴起与AI伦理的新视角

文章目录 🍊AI音乐创作:一键生成,打造你的专属乐章🍊1 市面上的AI音乐应用1.1 Suno AI1.2 网易天音 🍊2 AI音乐创作的流程原理(直接制作可跳到第3点)2.1 AI音乐流派2.2 AI音乐风格2.3 AI音乐的结构顺序2.5 选择AI音乐乐…

AI学习记录 - 激活函数的作用

试验,通过在线性公式加入激活函数,可以拟合复杂的情况(使用js实现) 结论:1、线性函数的叠加,无论叠加多少次,都是线性的 如下图 示例代码 线性代码,使用ykxb的方式,叠加10个函数…

前端:Vue学习-3

前端:Vue学习-3 1. 自定义指令2. 插槽2.1 插槽 - 后备内容(默认值)2.2 插槽 - 具名插槽2.3 插槽 - 作用域插槽 3. Vue - 路由3.1 路由模块封装3.2 声明式导航 router-link 高亮3.3 自定义匹配的类名3.4 声明式导肮 - 跳转传参3.5 Vue路由 - 重…

这6款Python IDE代码编辑器,你都用过吗?

工欲善其事,必先利其器,选择编辑器或IDE(集成开发环境)是学习python编程的第二件大事。 Python开发工具有很多,诸如IDLE、Pycharm、Spyder、EclipsePydev、VScode、Wing、Jupyter等,可以说各有千秋。 新手…

Unity | Shader基础知识(第十九集:顶点着色器的进一步理解-易错点讲解)

目录 一、前言 二、网格 三、方法UnityObjectToClipPos 四、顶点着色器和片元着色器的POSITION 五、作者的碎碎念 一、前言 之前我们简单讲解过顶点着色器,也简单讲解了表面着色器,并且一起做了一些案例,因为顶点着色器本身是更自由一些…

docker基础镜像

一、配置 docker 本地源 [docker-ce-stable] nameDocker CE Stable baseurlhttp://10.35.186.181/docker-ce-stable/ enabled1 gpgcheck0 配置阿里云Docker Yum源 yum install -y yum-utils device-mapper-persistent-data lvm2 git yum-config-manager --add-repo http://mirr…

SpringBoot是如何简化Spring开发的,以及SpringBoot的特性以及源码分析

目录 1.什么是springboot 2.配置文件的优先级 2.1 配置文件的优先级 2.2 系统配置以及命令行配置 3.Bean对象的管理 3.1 如何获取对应的bean对象 3.2 bean的作用域 3.3 声明第三方bean Component 及衍生注解 与 Bean注解使用场景? 如何查看项目已有的bean对象&…

【C++】:AVL树的深度解析及其实现

目录 前言一,AVL树的概念二,AVL树节点的定义三,AVL树的插入3.1 第一步3.2 第二步 四,AVL树的旋转4.1 右单旋4.2 左单旋4.3 右左双旋4.4 左右双旋4.5 插入代码的完整实现4.6 旋转总结 五,AVL树的验证六,实现…

埃文科技受邀出席2024年河南省工业领域网络和数据安全政策宣贯会

2024年7月18日,由河南省工业和信息化厅主办,河南省工业信息安全产业发展联盟、河南省信息安全产业协会承办的2024年河南省工业领域网络和数据安全政策宣贯会在郑州召开,活动旨在提升河南省工业领域网络和数据安全保护能力,助力企业…

python模拟12306订火车票【代码示例】

实现效果:从给定的车次信息里选择车票,如果车票在车次信息里,系统提示填写乘车人,并出具购票凭据;如果车票不在车次里,提示车次不存在。 代码 # 定义一个字典,存储车次信息 ticket{G1569:[北京…

2023年码蹄杯专科组第一场初赛 解题报告 | 珂学家

前言 题解 有几道感觉还行,不过数据有些弱 安全验证(字符串)旅行(图论) 安全验证 难度: 钻石 思路: 字符串hash 二分 先提炼下题意: 即存在字符串T, 它即是S的前缀, 也是S的后缀, 同时在S[1:-2]中存在子数组ST…

刷题了:344.反转字符串|541. 反转字符串II|卡码网:54.替换数字

344.反转字符串 题目链接:https://leetcode.cn/problems/reverse-string/description/ 文章讲解:https://programmercarl.com/0344.%E5%8F%8D%E8%BD%AC%E5%AD%97%E7%AC%A6%E4%B8%B2.html 视频讲解:https://www.bilibili.com/video/BV1fV4y17748/?spm_id_from333.788&vd_s…

PostgreSQL简介和安装

一、Postgresql简介: 1、PostgreSql是功能强大的,开源的关系型数据库,底层基于C语言实现; 2、开源:允许对PostgreSql进行封装,用于商业收费; 3、版本迭代速度快,正式版本已经到15.R…

Linux网络命令

文章目录 Linux网络命令1、ping 命令2、netstat命令3、pidof Linux网络命令 1、ping 命令 使用命令:ping [-c 次数]网址或者IP地址。可以查看当前客户端与IP的网络是否可达。 ping -c 5 www.baidu.com PING www.a.shifen.com (157.148.69.74) 56(84) bytes of data…