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做了哪些增强。