当前位置: 华文问答 > 数码

VR 头显需要多高的分辨率才能实现「视网膜」效果?刷新率要多高才能足够真实?

2017-01-19数码

结论前置:

对于类似HTC Vive的设备,需要双目12450*6840或更高的分辨率(介于8k和16k之间)才能达到「视网膜」效果。
对于所有VR设备,需要达到150-240fps的刷新率才能让一般人觉得足够真实。
如此高的分辨率和刷新率需要数十倍于当前PC的硬件性能才能驱动。

「视网膜」效果是一个没有清晰定义的概念。根据Steve Jobs在发布iPhone 4时的定义,它是指在10-12英寸的距离上,设备的像素密度达到300ppi(每英寸300像素)的水平时的显示效果[1]。然而实际上人眼在12英寸的距离上的分辨率可以超过900ppi[2]。我们在这里采用Jobs的标准来讨论。

12英寸距离上300ppi的像素密度,通常用一个单位为ppd(每度像素数)的参数来表示:

ppd = 2drtan(0.5^{\circ } )

想象一个顶角为1°的细长的等腰三角形,其高度 d 为眼睛与屏幕的距离,r 即为其底边覆盖的像素数量。根据Jobs的定义,要获得视网膜显示效果,需要至少57ppd。

对于主流VR头显如HTC Vive来说,其单眼横向FOV为110°,纵向约120°。据此计算,它需要

(110\times 57)*(120\times 57)=6270*6840

的单眼分辨率才能达到视网膜水平,也就是需要一块至少 12540*6840 的屏幕输出双目画面。按照类似流行的4k、5k、8k 的说法,这样一块屏幕差不多是13k;如果维持Vive显示面板大小不变的话,其像素密度约为2567 ppi(作为对比,Vive的像素密度约为447 ppi)。至于有的朋友提出这样高的像素密度能否实现,我觉得应该是没什么问题的,毕竟Sony早在2013年就造出了2098 ppi的OLED屏幕[3]。


如上图。目前的主流VR头显的像素密度只达到了这一标准的1/6。我们在主流显示设备的像素密度上翻的前一个6倍,花了二十多年(从DOS时代的320*200到目前主流的1920*1080)。

提高VR设备的像素密度,并不是单纯地把高密度显示面板造出来然后放进头显这么简单。从2k到4k、4k到8k,每次升级看上去都只是数字翻了一倍,然而像素数量却是呈平方级上升的,4k是2k的4倍,8k是2k的16倍。视网膜VR级别的分辨率,其像素数量是目前Vive的33倍。

为了满足VR游戏的需求,目前最顶级的PC的性能都可以被轻易榨干。3D游戏的性能是与分辨率密切相关的,这意味着如果要提供相匹配视网膜VR的3D游戏内容,计算机的性能也要相应地提升几十倍。以摩尔定律计算,这个过程需要近10年。

视频信号的传输也是一个大问题。上图每个方块右上角给出了在该分辨率下以90 Hz的频率发送未压缩的每像素24 bit的视频信号所需要的带宽(不含音频)。作为参考,目前最新的HDMI 2.0标准可以传输最大18 Gbps的带宽——连视网膜VR所需求带宽的1/10都达不到。为此,我们必须使用更先进的传输方式,例如光纤传输。尚在襁褓之中的无线传输则会面临更大的挑战(开个脑洞,近场激光传输?)。

很多朋友提到,由于人眼只能清晰地看到聚焦点周围很小的范围(2°)[4],利用这一特性,我们可以通过降低周围的分辨率来降低对像素数量的需求,以及计算机和传输性能的要求。

上图是人类左眼的分辨率曲线(CC-BY-SA 3.0授权)。可见只有眼球中央凹(Fovea centralis)附近的区域有较高的分辨率,周围的分辨率急转直下,甚至不及中央十一。

要利用这一特性,我们需要在VR头显中植入眼球追踪设备。它可以通过追踪眼球中央凹的移动来获知用户的眼睛正看向哪个点,然后在这一点周围使用全清晰度渲染,其他地方使用低清晰度渲染。目前眼球追踪技术已经非常成熟,但相关产品都还是以头显插件的方式存在,比如我们这里有一只样机,可以插入Vive头显使用;但由于设备太大,戴眼镜的用户就无法使用了;这个设备需要使用USB线连接,走线上也很繁冗。不过相信下一代的VR头显就会开始集成此类设备,也就不存在这些问题了。根据nVidia的说法,应用这一技术可以将渲染性能提高2到3倍[5][6]。

不过眼球跟踪并不能实际降低对头显像素数量的需求。有的朋友在此基础上设想了一种机构,使得显示面板可以快速根据眼球的位置来移动,这样就只需要极低的分辨率了。我不能否认这种技术在未来出现的可能性,但人眼的转动速度可以达到900°/s[7],很难想像有何种设备既能够提供足够的扭矩来低延时地跟踪这样高速的移动,又能小到能放进头显里(开个脑洞,也许使用类似Olympus微单防抖系统那样的磁悬浮面板?)。

换一种思路,由于目前的VR头显都是通过一块(菲涅尔)透镜来将矩形(接近正方形)的显示面板矫正为符合人眼的视野,面板上的某些像素实际上是被浪费掉的。譬如面板上只有内接的近圆形区域里的内容才会被看到,四个角上的像素实际上是完全用不到的,所以根本不需要去渲染。再比如由于透镜的特性,边缘的可视像素密度比中心要低,因此也没有必要使用全分辨率渲染。nVidia的Multi-res Shading技术就利用了这一特性,使得渲染性能可以提高33%-50%[8]。

nVidia Multi-res Shading示意图,边缘的部分像素密度较低,因此以较低的精度渲染。

尽管这些技术看上去能有效地节约像素数量,但需要注意的是,因为生产难度和成本问题,实际情况下基本上不可能去生产像素密度不均匀的显示面板。因此这些技术只能用于缓解对计算机性能的要求。

刷新率方面,尽管我们知道24 fps已经能提供连续的画面、60 fps的游戏对于绝大多数人来说已经足够流畅;对于VR来说,为了提供足够的沉浸感,这些刷新率都远远不够。理论上人眼最大可以感知到1000 fps的画面(维基百科说的,我也没有查到引用来源);对于未经训练的人来说,150-240 fps的画面已经显得足够真实[9]。因此Vive、Oculus的90 Hz,以及PSVR的120 Hz都还太低。而如果要达到理想的刷新率,VR对机器性能的需求和传输带宽的压力还会进一步提升一到两倍。

[1]:

Retina Display - Wikipedia

[2]:

Why Retina Isn't Enough [Feature] | Cult of Mac

[3]:

Insanely high 2098PPI OLED display from Sony makes your 1080p smartphone weep at night

[4]:

Fovea centralis - Wikipedia

[5]:

https:// research.nvidia.com/sit es/default/files/publications/foveated-sig16-etech.pdf

[6]:

NVIDIA Says New Foveated Rendering Technique is More Efficient, Virtually Unnoticeable

[7]:

Saccade - Wikipedia

[8]:

NVIDIA VRWorks™

[9]:

Frame rate - Wikipedia