谷歌详解注视点渲染、图像处理、传输等技术在VR上的应用
文章相关引用及参考:google
本文来自Daydream软件工程经理贝汉·巴斯塔尼(Behnam Bastani)和软件工程师埃里克·特纳(Eric Turner)
(映维网 2017年12月08日)从游戏到专业培训,虚拟现实和混合现实提供了一种沉浸在体验中的新颖方式。然而,当前的VR/MR技术存在一个根本性的挑战:以临场感所需的极高分辨率呈现图像。这对渲染引擎和传输过程提出了巨大的要求。头显往往没有足够的显示分辨率,这会限制视场,令体验变得糟糕。为了驱动更高分辨率的头显,传统的管道需要高端处理能力,但即使是高端移动处理器也无法实现这一点。尽管挑战将毫无疑问地继续出现,但关于提高显示分辨率的研究同时在为我们带来希望。
为了进一步提高VR和MR的视觉质量,我们提出了一个利用人类视觉感知优势的管道,能够以低计算和低功耗的方式实现优秀的视觉质量。本文提出的管道考虑了完整的系统相依性,包括渲染引擎,内存带宽和显示模块本身的能力。我们确定,目前的限制不仅仅局限于内容创建,可能同时存在于传输数据,处理延迟,以及与真实对象(混合现实应用程序)进行交互方面。这个管道包括:1.专注于减少每像素计算的Foveated Rendering(注视点渲染);2.有助于减少视觉伪影的Foveated Image Processing(注视点图像处理);3.有助于每像素位数传输的Foveated Transmission(注视点传输)。
1. 注视点渲染
对于人类的视觉系统,中央凹为视场中心提供了更清晰的视觉,而外围视场的视觉质量则相对更低。注视点渲染利用这一特性来减少头显外围视觉的空间分辨率,从而减少每像素的计算。为了做到这一点,高视敏度(High Acuity,HA)区域需要通过眼动追踪进行更新,确保感知视图与眼球扫视保持一致,从而为用户提供视场范围内的恒定高分辨率感知。相反,缺乏眼动追踪的系统可能需要渲染更大范围的HA区域。
左边图像以全分辨率呈现。右边图像使用了两层注视点渲染,一个以高分辨率渲染(黄色区域内)和一个以较低分辨率渲染(黄色区域外部)。
传统的注视点渲染技术可能会将帧缓冲区分成多个空间分辨率区域。当由于头部运动或动画导致内容出现运动时,呈现降低空间分辨率而带来的锯齿有可能导致可察觉的瞬时伪影。以下例子说明了由于头部旋转而带来的瞬时伪影。
左边是平滑的完整渲染;右侧则显示了注视点区域由于运动而导致的瞬时伪影。
在下面的章节中,我们将介绍两种不同的伪影减少方法:Phase-Aligned Foveated Rendering(相位对齐注视点渲染)和共形注视点渲染(Conformal Foveated Rendering)。每一种都在渲染过程中为视觉质量提供了不同的好处,并且适用于不同的条件。
2. 相位对齐渲染
由于渲染内容的二次采样,低视敏度(Low-Acuity,LA)区域在注视点渲染期间会产生锯齿。对于上文所述的传统注视点渲染,当用户移动头部时,显示像素网格将同时在虚拟场景上移动,所以这种锯齿伪影会在帧与帧之间闪烁。这些像素相对于场景的运动会导致所有现有的锯齿伪影闪烁,而用户十分容易察觉到这一点,即便是在外围视觉也同样如此。
在相位对齐渲染中,我们强制LA区域截锥与世界(例如总是面向北,东,南等等)对齐,而不是与当前帧的头部旋转对齐。大部分锯齿伪影与头部姿势无关,因此更不容易察觉。在上采样之后,这些区域将重新投影至最终的显示屏,以补偿用户的头部旋转,这样可以减少瞬时闪烁。与传统的方法一样,我们将HA区域渲染至一个单独的通道,并将其覆盖在注视点处的合并图像上。下图是传统注视点渲染和相位对齐渲染的比较:
非世界对齐的渲染内容出现了瞬时伪影(左边);右边则是相位对齐方法的效果。
这种方法能够大大减少渲染过程中的视觉伪影。在相同水平的敏度降低下,相位对齐渲染比传统注视点渲染需要更多的计算,但尽管如此,我们仍然可以通过提高注视点渲染水平来实现更优秀的渲染效果,而且无需担心产生过多的伪影。
3. 共形渲染
另一种用于注视点渲染的方法是,根据视觉注视点到屏幕距离的非线性映射,在一个匹配视敏度分辨率下降程度平滑变化的空间中渲染内容。
这种方法存在两个主要的好处。首先,通过紧密匹配人眼视觉保真度的下降,我们可以减少计算的像素总数(与其他方法相比);其次,通过利用保真度的平滑下降,我们可以防止用户在高视敏度和低视敏度之间看到一条清晰的界线,而这通常是用户首先注意到的伪影之一。这两个好处可以支持系统使用更高程度的注视点渲染,同时保持相同的质量水平,从而产生更多的资源节约。
对于这种方式的执行,我们将虚拟场景的顶点扭曲成非线性空间。接下来,这个场景以降低的分辨率进行光栅化,然后作为后处理效果(结合以透镜畸变校正)而恢复成线性空间。
比较传统注视点渲染方法(左)与共形渲染(右),后者将内容渲染至与视觉感知灵敏度和头像透镜特性相匹配的空间。两种方法都使用相同数量的总像素。
与相位对齐方法相比,共形渲染的主要优点在于:这种方法只需进行一次光栅化。对于存在许多顶点的场景而言,这个优势可以带来大量的资源节约。此外,尽管相位对齐渲染可以减少闪烁,但它仍然会在高视敏度区域和低视敏度区域之间产生明显的界限,而共形渲染则不会显示这种伪影。然而,共形渲染的缺点是,外围视觉的锯齿伪影仍然会闪烁,这对需要高视觉保真度的应用而言可能不太理想。
4. 注视点图像处理
头显通常需要在渲染之后执行图像处理步骤,比如说局部色调映射,透镜畸变校正或照明混合。随着图像处理的进行,不同的操作将应用于不同的操作区域。作为示例,包括色差校正在内的透镜畸变校正或许不需要为显示器的每个部分提供相同的空间精度。在放大之前,通过对新内容进行透镜畸变校正,我们将能在计算资源中获得显著的节约。另外,这种技术不会产生可感知的伪影。
在注视点空间为头部显示器校正透镜色差。顶部图像为传统的管道;底部图像(绿色)则显示了在注视点空间中的操作。
左图为透镜畸变后重建的注视点内容;右图则显示了通过注视点方式执行透镜畸变校正时的图像差异(几乎无差异)。在右图中,帧缓冲区边缘附近产生了最小误差,而头显用户通常难以察觉这些误差。
5. 注视点传输
对一体机而言,一个重要的功耗来源是从系统级芯片(SoC)到显示模块的数据传输。为了降低功耗和带宽,我们使用注视点传输来向显示器传输所需的最小数据量,如下图所示。
注视点传输能够支持流式内容进行预重建(右图),并且减少传输的位数,而不是说传输放大的注视点内容(左图)。
这种改变需要将简单的放大和混合操作移至显示端,并且只传输注视点渲染内容。如果眼动追踪随着上图中的注视点区域(红框)移动,这将会出现复杂性。由于在SoC和显示器之间使用的Display Stream Compression(显示传输压缩,DSC)不是为内容创建而设计,所以此类运动可能会导致瞬时伪影(下图)
左边是完全整合的注视点渲染和压缩技术(左);右图则是可能因为在注视点内容中应用DSC而造成的典型闪烁伪影。
6. 新的管道
我们专注于“注视点管道”的一些组成部门。通过考虑注视点管道对显示系统各部分(渲染,处理和传输)的影响,我们可以实现下一代轻量级,低功耗和高分辨率的MR/VR头显。多年来,这一直是研究领域的一个积极讨论的话题,相信搭载注视点管道的VR和MR头显将于未来几年内出现。