干货分享:无线VR的前世今生与未来
扫描二维码
随时随地手机看文章
说到VR头显,想看好的效果,就得整个PC版,可是这根线,当真是麻烦事。可是想减掉VR头显上的那根电线,很难,真的很难。想要玩无线的头显,目前有三种方式,要么用手机头显、要么用串流式手机头显,要么,就是用背包+有线头显啦。
VR价值论分享:无线VR的前世今生与未来
虽然,这三种方式,已经在一定的程度上向无线虚拟现实头显迈出了一步,但是哩,劣势也是一堆堆。那到底咋办捏?未来又有哪些更为终极的解决方式呢?实现无线VR头显的关键技术究竟是什么?VR价值论分享:无线VR的前世、今生与未来。(温馨提醒:专业术语有点多,内容小烧脑。)
单身狗节的那天晚上,HTC突然发布了无线虚拟现实头盔。没错,真的没有那根恼人的线了。这感觉,让技术宅们,甚为激动。就好像座机被宣布在一夜间被进化为手机。自从Oculusrif tDK1引爆本次虚拟现实革命后,对VR体验的空间要求不断刷新:
一开始我们只能坐在桌子前,通过传感器处理三个方向的旋转,如左右转头,上下摇头和左右摆头(被称为“桌面级三自由度”,如GearVR的使用);随后,我们体验到除旋转外,传感器还能处理上下、前后、左右的平移(被称为“桌面级六自由度”,如Oculusrift DK2的使用);再到站立式交互、房间级交互、仓库级多人交互,每一次空间的升级都会带来更多的玩法和更好的沉浸式体验。
随着空间要求不断变大,VR输入设备日新月异,但VR头显却发展缓慢,帕尔默·洛基就曾在CES上嚷着,制约站立式交互以上体验的最大障碍,就是那根电线。那么,剪掉VR头显上的电线,真的那么难吗?答案是--很难。
因为VR头显对技术指标要求极为苛刻,这有三方面的原因:第一,延时。合格的VR体验对MoTIonto Photon Latency(从用户开始运动到相应画面显示到屏幕上所花的时间)要求在20ms内,超过这个时间就容易造成眩晕感;第二,分辨率。目前VR头显的主流分辨率是2.5k(2560*1440),在符合视角要求下低于这个分辨率会有明显纱门效应(即在像素不足的情况下,实时渲染引发的细线条舞动、高对比度边缘出现分离式闪烁),破坏沉浸感;第三,渲染能力。VR头显的双目渲染会比单目渲染多消耗70%左右的GPU,降低渲染能力几乎会成倍降低画面质量。
尽管无线虚拟现实头显的研发障碍重重,但在追求无线的道路上,我们仍然看到了诸多已提出或未来会提出的解决方案,我将对这些方案从概念到技术进行一一梳理,以勾画出无线虚拟现实头显的前世、今生和未来。
前世篇:无线虚拟现实头显已有哪些解决方案?
在这一部分,我们将看到无线虚拟现实头显已经提出的解决方案--即手机头显、串流式手机头显以及背包+有线头显。虽然其各自都有劣势,但在通向无线虚拟现实头显的道路上,已经迈出了第一步。
其一,手机头显。
我们最早接触的无线虚拟现实头显便是手机头显。从Cardboard开始,到体验最佳的GearVR,再到水货遍地的一体机,其借助于手机芯片的移动化,做到了天生无线。手机头显的优势就是成本低廉,相对其劣势是缺乏原生空间定位支持以及GPU性能过低,无法进行复杂场景和高质量渲染。
手机头显在当前移动GPU性能的束缚下,最佳使用场景是全景视频,很难提供站立式以上的高质量沉浸式交互体验。
国内最早一批生产手机头显的厂商是暴风魔镜,在那个VR头显严重匮乏的年代,暴风魔镜成为了中国无线虚拟现实头显的启蒙。
其二,串流式手机头显。
串流式手机头显可以将PC上运行的虚拟现实应用程序视频输出结果逐帧捕获(Capture),再将捕获结果经过编码压缩后通过wifi传输到手机头显或一体机上,由手机头显或一体机进行解码后输出到屏幕。
串流式手机头显的优点是:可以使用PC上的强悍显卡资源进行复杂场景的高质量渲染。但缺点也很明显:视频编码解码相当费时间,叠加wifi传输会带来很长的MoTIonto Photon延时,造成严重眩晕感;并且高质量渲染后的图片经过视频编码压缩会显著降低画质。
串流式手机头显最早的产品是Trinus VR。Trinu sVR使用CPU进行视频捕获和编码压缩,传输延时高达100ms以上,但其开启了一个真正的无线时代。
由于英伟达(NVIDIA)Video CodecSDK的出现,我们可以直接调用GPU的NVENC直接对应用程序的视频输出进行捕获和硬编码,结合手机或Tegra平台的硬解码,视频编码压缩和解码的时间可大幅降低到20ms以内。
英伟达最早将此技术应用到Shield掌机的跨屏游戏中,但该技术随后被用到串流式手机头显上,使得串流式手机头显的MoTIonto Photon延时降低至40ms以内。
而最早提出该方案的是Visus VR,于今年初推出了首款PC驱动无线VR头显VISUS,运算使用的是PC,显示用的是智能手机屏幕,通过英伟达Game Stream技术,以无线的方式将电脑屏幕的游戏画面传送到手机上。尽管延时缩短到40ms,但依然会有强烈的眩晕感。
其三,背包+有线头显。
尽管无线虚拟现实头显的研发大大滞后,但随着人们对大范围交互的渴求,诞生了一个折中方案,背包+有线头显。第一次系统化提出背包+有线头显商业解决方案的是澳洲的Zero Latency虚拟现实乐园。
Zero Latency的目标是提供一个仓库级的多人VR交互方案,让多个玩家同时进入到一个游戏场景中游戏。想做到这点必须连过几道关卡:首先是无线,由于场地大小设置为400平米,所以玩家必须以无线方式进入场景,有线很难支持如此大范围行走;其次是延时,由于玩家需要相对长时间进行游戏,所以在游戏时间内不能给玩家造成明显眩晕感,延时控制必须在主流头显水品,即20ms秒内;再次是画面,为营造更好的游戏氛围,必须使用主机级GPU进行渲染;最后是位姿计算,由于玩家以无线方式行走,故需要进行六自由度计算,其中位置计算无法依靠惯性传感器而使用了廉价光学方案(60fps刷新率),造成位置计算延时至少为16.6ms,加上无线传输延时将大于18ms,所以对眩晕影响更大的姿态计算必须通过高采样率(1000Hz)的IMU在本地进行。
Zero Latency使用了Alienware Alpha主机和移动电源设计的背包系统,背包和服务器通过wifi做数据连接,显卡达到970m水平,使用Oculusrift DK2作为头显有线连接到Alpha,达到了上述四个目标。
这一背包系统虽不能严格称之为无线头显但做到了无线头显所能达到的结果,缺点是背包不易穿戴、电池寿命不长。
Zero Latency的方案对随后的虚拟现实主题公园影响深远,最著名的就是盐湖城的the Void。The Void将背包系统和有线头显设计的更有外星范,加入力反馈功能,并结合OpTItrack的光学动捕系统提供了更精确的定位计算、更多样化的虚拟物体交互等,使得大范围多人交互系统变得更为有趣。至此背包+有线头显+wifi的所谓”无线虚拟现实“解决方案落定,成为仓库级虚拟现实交互和VR主题公园的首选方案,国内也有许多公司推出了无线背包系统。
今生篇:无线虚拟现实头显是如何实现的?
实现我们理想中的无线虚拟现实头显的办法有两种:第一,将渲染后的视频信号无线传输;第二,在头显中进行高性能渲染。60Ghz毫米波通讯技术的发展帮我们实现了这一点。接下来,将会一一进行说明:
一、将渲染后的视频信号无线传输是最直接的办法
早在串流式手机头显时代,人们就使用了这种借助远程PC进行高性能渲染,并将视频结果通过wifi输出到头显上的方法。
这种方法的最大缺陷就是必须对视频信号进行压缩,因为符合质量的原始视频数据至少为1920*1080@60fps,如果不经压缩数据消耗带宽约为3Gbps,而最快的802.11ac通讯带宽为1.3Gbps,所以不对数据进行编码压缩将无法通过wifi传输。
如前文所述,即便使用NVENC硬编码和硬解码,附加延时也会达到接近20ms,这对VR体验而言是灾难。
幸运的是60Ghz毫米波通讯在2015年下半年取得了长足进展,目前的WiGig60Ghz通讯最大可以支持7Gbps通讯,这也使得将PC端渲染的视频图像不经压缩以rawdata方式无线传输成为可能。
Lattice是全球60Ghz模组最大供应商,其提供的模组可以对1920*1080@60fps的数据进行近距离(约20米)的无线传输。第一家使用60Ghz进行无线虚拟现实头显设计的公司是Serious Simulations,其生产的无线虚拟现实头显主要用于军事训练。
Serious Simulations的无线虚拟现实头显采用了两块1920*1080的显示屏进行输出,以获得更大视角,但受限于单个模块,左右眼为复制模式。
既然Lattice已经生产了60Ghz相关模组,那么为什么只有少数团队有能力设计无线虚拟现实头显?原因如下:
1、屏幕
Lattice的模组使用了1920*1080@60fps的输入输出规范,所以需要视频以1920*1080的格式输出图像到模组,经过60Ghz 无线传输后再以1920*1080的格式输出到屏幕,这就意味着屏幕必须能够接受1920*1080或以下的横屏(Lands cape)模式。
通过Panelook网站可以轻易查到,支持横屏模式的屏幕最小为7寸,且无法达到1080p,但7寸屏相对头显用屏显然太大了。
理想的头显用屏是5.5寸,且分辨率必须达到1080p,这种屏幕多用在手机上,是竖屏(Portrait)模式,因此需要对数据进行横竖转换以适应竖屏或双屏模式。
2、线速转换
如前文所述,为实现屏幕转换且不增加延时,就必须要对输出的视频数据进行线速转换,这需要头显设计团队具有优秀的高速视频信号处理技能。
3、依然是延时
以横竖屏转换为例,当进行视频数据90度旋转时,会产生以下情况:横屏模式下第一行最后一个像素翻转后刚好会成为竖屏模式下最后一行的最后一个像素,使得转换必须在缓存一帧图像后完成,这使得延时会增加近一帧,优秀的团队会采用更好的算法完成转换而避免缓存造成的延时。
4、对惯性传感器等输入数据的处理
目前的有线虚拟现实头显通过USB将头显中的惯性传感器信息传输到PC上进行数据融合(Fusion),以最短延时获取头显姿态,进而计算摄像机姿态并渲染画面。
当头显的视频输出变为无线时,惯性传感器输入也必须是无线的,这在一定程度上需要设计团队具有超低延时无线通讯技能和扎实的传感器融合技能。
我们在2016年初推出了一款自主研发的无线虚拟现实头显。
这套无线虚拟现实头显提供了1920*1080的OLED屏幕,并在头显后部集成电池组件。
由于头显中集成有60Ghz模块并只进行图像转换和输出,所以电池消耗时间恒定,提供数据是可支持3.5小时。
相比较我们从基础干起的设计方案,TPcast采用了与HTCVIVE合作的方式,用一个外挂模块解决了有线虚拟现实头显的无线化问题,并起了一个容易记住的名字:剪刀计划。
由于VIVE使用了自己的封包格式对USB数据进行传输,所以TPCast所做的第一步就是要得到USB的数据结构,并且在连接PC的发送端上将自己的VendorId伪装成VIVE以实现Direct Mode和支持steam应用程序的loading。
此外VIVE的分辨率是2160*1200@90fps,超过1920*1080@60fps的模块通讯数据,因此推断TPCast可能将yuv444格式变为yuv420格式以支持更高分辨率,并且实际刷新率降为60fps。
这与HTC Vive中国区总裁汪丛青在发布会上提到的没有降低图像质量的说法有出入。当然这是推断,具体要等待发货后验证,但无疑TPCast为无线虚拟现实头显迈出了坚实一步。
二、高性能嵌入式计算平台,不仅是一体机
早在HTC发布无线虚拟现实头显之前,Oculus就在其发布会上透露了O记无线虚拟现实头显的只言片语。
根据有限的信息来看,Oculus的无线虚拟现实头显不使用高性能PC,计算直接在头显内完成,并且内置了InsideOut定位系统,这更像是有线头显和一体机的结合体。当然具体实现方案和使用效果需要更多信息来调研。
当然无论使用有线一体机方案、外挂方案还是从基础干起的方案,在我们看来,无线虚拟现实头显的大幕已经拉开。
未来篇:无线虚拟现实头显的终极方案是什么?
在我看来是肯定的,只要嵌入式GPU足够强大、功耗足够低,MINI主机+头显或一体机将是终极方案,但这一天可能会很久。
那么明天的方案呢?如何使用PC的强悍渲染能力?如何能做到几乎零附加延时(至少看起来是)?如何突破60Ghz的分辨率刷新率上限?接下来所描述的这个方案有可能实现。
首先,在这个方案中,我们可以看到图形渲染仍在PC的GPU上,只不过输出的数据是比正常图像视角更大的图像,类似全景视频。其次,图像按照类似 Facebook的全景视频压缩方法进行压缩并由GPU进行编码,压缩后的图像通过wifi点对点传输到具有图像硬解码能力的专用一体机上。
一体机解码后以准全景视频的方式输出到屏幕,头显根据惯性传感器计算当前视角输出的全景图像,结合ATW用户可以看到稳定无延时的视口图像,就好像图像在头显本地生成。此后,后台的编码视频流以《20ms的延时通过wifi不断填充到头显,以完成相对高延时的位置计算。
根据推断,VIVE之前合作的Quark VR很可能采用的就是这个方案。正如某人所说,虚拟现实中的追踪技术不是由单一传感器构成,而是通过结合不同传感器以达到在不同环境下的有效工作。无线虚拟现实头显也是如此,只有结合不同的技术,才能真正以达到高性能、高分辨率、低延时、大范围、多用户的要求。那就拭目以待吧。