检查引证/信息源请点击:映维网
只需兼容的USB数据线和PC即可解锁PC VR内容
(映维网 2019年11月23日)只需兼容的USB数据线和PC,Oculus link即可为Oculus Quest用户解锁PC VR内容,一同无需开发者支付任何额定的开发尽力。
Oculus link是PC和移动Runtime之间的共同交集。关于怎么整合VR运转,并经过USB数据线来供给高质量低推迟的VR体会,Oculus日前撰文介绍了其间的应战和处理计划。下面是映维网的详细收拾:
1. 构建一个混合架构
要在VR中完成尽可能低的推迟,你需求了解体系中行将发作的全部。假如管道中的推迟导致虚拟国际落后于玩家所感,成果便是糟糕的体会。但假如可以预判推迟,VR Runtime就可以直接进行补偿,然后减轻特定的伪影。
从操作体系的调度程序到显现器的照明形式和人类感知机制,大多数VR优化的中心是了解体系各组成部分的作业。为了从流式传输中获取最大功用,并运用PC和Oculus Quest Runtime中内置的优化功用,Oculus link需求具有一个完好的VR管道:从PC端的运用程序到Oculus Quest端的内容显现。
1.1 Oculus link管道解说
在最上层,Oculus link首要是运用Oculus PC Runtime和Oculus Quest客户端运用程序之间的流式输入与输出。
PC端程序或Oculus Quest的合成器均无改动。不是为头显烘托后缓冲区,PC合成器将运用H.264视频紧缩对眼睛纹路进行编码,然后将图画作为slice并经过USB发送到长途客户端。
Oculus Quest的长途流客户端担任解码,纠正帧,并将帧提交给合成器,充任长途PC运用程序的署理。客户端一同会将包含当前头显方位,输入状况和VSync时序的更新发送至PC Runtime。这不包含猜测,PC VR Runtime会外推所述值,以匹配方针显现周期。
实践上,VR合成器的责任会分配给移动VR和PC VR Runtime,然后将一般的VR管道变成了混合架构。这种分配存在两个优势:
Oculus link可以在两边运用VR Runtime,不会因经过USB传输输入和输出而发作质量减损,管道在提交完毕时可以完成纠正,这将减轻必定的传输推迟。
假如正确完成,现有的Rift和Rift S运用程序无需任何流式传输后端信息都能持续运转。
1.2 猜测精度的应战
VR Runtime的一项重要责任是准确猜测管道的推迟,然后支撑运用程序在方针显现时段内烘托帧。另一个重要的责任是保证在过错的显现期间内不要制作帧。假如显现的时刻过早或太晚,虚拟国际就会晃动推迟。
从这个视点来看,混合管道不能即开即用:当两个Runtime一同运用时,互相都不会增加额定的管道阶段。
Oculus的处理计划是选用一种全新的帧典范,其间PC和移动Runtime彼此映射:从PC Runtime的视点来看,USB的流式传输推迟和Oculus Quest的不知道途径变成了更长的合成器阶段;从移动Runtime的视点来看,从运用程序烘托到帧提交的不知道途径看起来像是一个动态运用程序。
1.3 帧守时概述:PC
猜测的显现时刻是Oculus PC Runtime最小化运用程序推迟的重要方法。假如运用程序不能假定帧正在为特定的显现周期进行预备,则它们将需求为提交运用程序帧之后的不知道管道阶段提早缓冲数帧。
与在Oculus Quest不同,PC VR运用程序不能假定固定的硬件装备:管道的运转时长将一直取决于PC中的CPU和GPU。所以,Runtime将依据四个管道阶段的前史平均值来创立猜测:运用程序的帧循环(CPU和GPU)合成器时刻,以及扫描到显现。
关于Oculus link,Rift PC管道估计不足。可是,可以将这一思维扩展为处理流式传输所增加的其他阶段。当Oculus Quest显现一帧时,流式传输客户端将完毕时刻戳发送回PC Runtime;然后在VSync核算中,将流式传输管道端的时刻戳替换为合成器端的时刻戳;由于PC Runtime现已具有处理可变合成器时刻的才能,所以它可以动态调整猜测并匹配流式传输的端到端推迟,不用下降帧速率。
1.4 帧时序概述:Oculus Quest
一般来说,Oculus Quest运用程序接纳一个姿势,烘托所述姿势,然后在方针显现期间予以提交。Oculus link的不同之处在于,猜测帧来自长途设备。假如一帧的猜测显现时刻与实践显现时刻不一致,成果将是过错的猜测。一帧或两帧的过错猜测一般不行见;可是,猜测抵触会发作颤动。
为了处理这样的一个问题,Oculus link运用了PC Runtime的异步时刻歪曲(Asynchronous Timewarp;ATW)和自适应合成器发动(Adaptive Compositor Kickoff;ACK)。ATW保证总有一帧为行将到来的显现期间预备;ACK则保证ATW有满足的时刻。
关于流式传输,ACK可保证为Oculus Quest的每个帧间隔预备好提交正确显现周期的帧。当流式传输推迟增加到ACK对显现管道的总猜测中时,ATW可以保证及时发动帧,以便在行将到来的显现期间对其进行解码,纠正和出现。
2. AADT可带来更高的视觉质量
从PC到Oculus Quest传输高分辨率图画十分具有应战性,由于视频编解码器(编码器和解码器)的全体推迟直接与需求编码的位数有关。你可能会挑选下降图画分辨率以削减等待时刻,但这会危害视觉质量。经过运用头显的透镜畸变,以及人类视觉体系的作业原理,咱们咱们可以完成更优的计划。
在显现图画之前,Oculus头显都会在烘托的终究阶段运用畸变校对。这是为了抵消由透镜引起的光学枕形畸变。成果是,桶形畸变会“紧缩”VR运用程序的像素,然后令其更接近于头显鸿沟。这在某种程度上预示着关于显现器的每一半,边际的每度像素都比显现器的中心低。
上图是一个径向桶形畸变示例。
终究像素密度与GPU运用的畸变曲率有关。关于给定的透镜,运用这一校对关于VR体会而言至关重要。但关于Oculus link,由PC GPU生成的图画不用定反映Oculus Quest透镜所需的切当畸变曲率,由于与Oculus Rift不同,Oculus Quest内置GPU,可以进一步处理传入图画。所以,Oculus PC Runtime在传输之前存在优化图画的空间。一种首要的优化来依据下面这个现实:透镜令外围区域稍微含糊,然后下降了感知分辨率。
这时,轴对准畸变传输(Axis-Aligned Distortion Transmission;AADT)就能派上用场。Oculus PC Runtime不会直接发送VR运用程序烘托的未畸变图画,而是会运用轴对准畸变来运用一种固定注视点紧缩。虽然用于透镜校对的径向畸变会依据与图画中心的间隔而运用畸变函数,但AADT会分别将畸变函数运用于每个轴。换句话说,AADT运用了矩形图画中的一切可用空间。Oculus Quest在收到AADT图画后会令图画康复至原装(即校对),然后再将其传输到Oculus Quest合成器。
凭借AADT,可以将一对以3616×2000分辨率烘托的未畸变眼图缓冲器紧缩至2016×1120,然后节约了将近70%的视频编解码器预算。AADT不光可以节约编解码器带宽,一同可以终究靠保证编码器和解码器处理较小的图画来节约推迟。虽然所述数字已针对Oculus引荐标准进行了调整,但为了更好的进步视觉保真度,将来的版别可能会进行更新。
人体视觉体系特别擅长于辨认外围视场的闪耀。假如Oculus link直接将未畸变图画发送到Oculus Quest,则Oculus Quest GPU的稀少采样将导致外围发作混杂。运用AADT,当Oculus PC合成器在预备要传输的图画时,体系将能运用带有Mipmap的各向异性滤波。这可以消除欠采样问题,并削减了Oculus Quest进行校对后的外围伪影。
下面咱们来看看AADT的实践运用。请留心第一个示例的上方网格。在运用AADT之后,未畸变的中心区域将被扩大。在Oculus Quest进行校对后,外围稍微含糊,一同保留了中心区域的质量。
3. 总结
本文首要解说了怎么支撑Oculus link完成低推迟,准确时序,以及高质量的视觉体会。
提示一下,你一直可以正常的运用Oculus Performance HUD来监督PC VR运用程序的功用计算信息,包含运用程序和PC合成器推迟。启用Oculus link时,这个东西将为Oculus Quest开箱即用。
---
原文链接:https://yivian.com/news/69196.html