最近两年,虚拟现实(VR)从初入公众视野到逐渐变得炙手可热,很大程度上是来源于其所带来的生动逼真、极具冲击的沉浸式感官体验。不过,当许多来自不同领域的开发者想进入虚拟现实领域一试身手,却遭遇了「道路阻且长」的问题,如图形、交互、音效等。作为开发者,我们究竟该如何上手VR开发?如何良好地结合硬件特性?具体到不同的平台该怎么做?在日前举行的GMIC全球VR峰会上,Qualcomm®高级产品总监Hugo Swart从移动VR入手分享了Qualcomm在VR方面的软硬整合实践,一方面,解决VR对处理能力的高需求,另一方面,也帮助开发者优化应用、简化开发。
硬件:低功耗、散热状态下实现完整的沉浸式体验
即使是在各种VR硬件产品层出不穷的今天,性能依然是横亘在VR从业者面前的一大难题。从此前Oculus创始人Palmer Luckey公开表示Mac图形性能太低无法提供支持便可窥一二,而笔者不久前在使用HTC Vive体验VR时,其所连接的PC的价格已过万元,却还频现卡顿故障问题。在演讲中,Hugo Swart从视觉质量、音频质量和直观交互三个方面入手,详解了在面临VR的极端要求时,如何对症下药,从根本上解决硬件性能问题,在散热和功率限制下满足虚拟现实的处理能力需求。
1. 视觉质量:焦点渲染(Foveated rendering)减少像素处理
在分辨率方面,当前的主流VR头显均有改善,但受限于OLED屏幕技术和硬件性能,还达不到视网膜屏的程度,像素点肉眼仍然可见。对此,Qualcomm® Snapdragon™ 820以TruPalette™显示色域映射、色彩增强,以EcoPix™压缩、变量更新来提高视觉质量,同时支持低功耗360°4K HEVC视频解码,并以60 FPS显示。
而其中颇为重要的一点,就是运用了3D立体焦点渲染(Foveated rendering)技术,并支持最新GPU的API,仅在人眼注视的地方渲染高分辨率图像,GPU则是在小矩形中进行高分辨率渲染,视场其他部分进行低分辨率渲染,如下图所示。
2. 音频质量:基于头部相对于不同声源的位置,实现准确的3D环绕立体声
类似于为人类「视界」创建精确的视觉图像,我们也需要为耳朵提供真实的声音以带来临场体验感。传统的3D音效一般是通过音量变化来判断距离远近,并通过频率变化判断相对移动。而Qualcomm则采用了定位音频和3D环绕声,这也就意味着,当用户在转动头部时,周围的声音会实时地进行动态调整。我们便可以通过声道配合转头来判定上下前后左右以及大概的方位,并且,声音能够在准确时间内以适当强度到达每只耳朵。比如在一段视频或游戏中,有一架正在飞行的飞机,飞行过程中的声音将会基于用户头部的转动以及相对应的声源移动不断变化。
Snapdragon™在音效方面是专门针对定制音频开发的,充分考虑到人脸部和身体的典型特征,例如位置、身形和耳朵大小等,支持Fluence™噪音过滤和主动降噪,以及所有3D音频格式,来让开发者非常便捷地制作3D定位音频。当然,这并不是最近才开发出来的,Hugo Swart在介绍时如此讲道:“In fact, Snapdragon has been supporting 3D positional audio in gaming for a while.(事实上,Snapdragon在游戏中实现3D定位音频已经有一段时间了。)”
3. 直观互动:精准追踪头部运动
再看交互方面,VR的核心意义在于第一人称的互动,但时下,由时延所造成的晕动症却常常会让许多人对VR体验敬而远之,心生“不过如此”之感。这很大程度上是由“你动了,画面没跟上”或“你没动,画面动了”所造成的。由此可见,在VR世界里,实现对头部运动的精确跟踪与控制是何等重要。
在演讲中,Hugo Swart分享了Qualcomm®在头部运动追踪方面的研究成果。首先,针对低功耗,集成双摄像头ISP + DSP,细微运动超快感知,可至像素级时延。其次,颇值得开发者关注的是3-DOF和6-DOF,前者可以从固定角度环视VR世界,而后者则支持侦测旋转运动和平移运动,可以让用户在VR世界里*移动并360°环视各个角落。
用户需要自然的界面、低延迟和精确的动作捕捉,但VR技术演进至今,对于真正自然的交互方式依然还在摸索中。从手柄操控到头部追踪,VR的潜力在逐渐得以释放,而功耗、时延等问题也正在被解决。以时延为例,减少时延需要端到端的方式,从运动侦测、视觉处理到图像显示的总时间必须低于20毫秒。
软件:Qualcomm® Snapdragon™ VR SDK优化应用、简化开发
面对构建移动VR应用纷繁复杂的功耗和性能要求,Qualcomm® Snapdragon™ 820在硬件层面上实现了对于沉浸式VR体验的支持,但如果没有合适的SDK,开发者也很难充分利用其性能特性。由此,Qualcomm®推出了Snapdragon™ VR SDK,帮助开发者改善VR性能,简化开发,减少开发时长。在演讲中,Hugo Swart详解了Qualcomm® Snapdragon™的特性:
- DSP传感器融合: 开发者可以通过Snapdragon™传感器内核,轻松获取来自高频陀螺仪和加速计的感应数据,并利用Qualcomm® Hexagon™ DSP进行预测性的头部位置处理,构建出具备更佳响应性的沉浸式体验;
- 快速光子移动: 通过异步时间扭曲及单显示缓存,提供快速的3D画面渲染,减少延迟;
- 镜头校正的立体渲染: 支持3D双眼画面的色彩校正和桶形畸变,提高图形和视频的视觉质量;
- VR图层: 生成菜单、文字和其他覆盖图层,在虚拟世界中实现正确渲染,减少失真可能造成的视觉不适感;
- 功耗管理: 集成Qualcomm® Symphony System Manager SDK,提供整体的CPU、GPU和DSP功率与性能管理,让VR能够在低功耗、低散热的严格要求下,以稳定的帧数率运行。
不断进步的VR技术:我们离开发一款VR大作还有多远?
在VR火热的现象之下,统一标准匮乏,移动VR更是和Android一样呈现着碎片化严重。而在VR内容方面,由于硬件和技术所限,依然没有一款大作诞生。许多研究员和开发者一直在寻找合适的解决方案,并在不断实践在固有的硬件条件下,开发高画质游戏或应用的可能性,Qualcomm®给出的软硬整合方案很值得细品亲践。
另外,Qualcomm开设在GMIC的E 度空间工作坊上,笔者还亲身体验了一把DragonBoard 410c开发板,在学习快速上手在程序中直接调用硬件方法的同时,也get到了DragonBoard 410c是如何支持更复杂的程序的。
这次Qualcomm还特别邀请了来自96Bords标准的定制厂商Linaro的周新华先生,现场讲解96Bords开发板标准。Qualcomm芯片和模块一般是卖给如小米、LG、HTC等智能手机的公司,但从现场分享来看,现在骁龙芯片不仅可用于智能手机,更能应用于机器人、VR/AR、无人机、全景相机等对性能和功耗有较高要求的智能硬件领域,中小型开发团队均可以使用DragonBoard 系列开发板来进行项目开发。随着技术进步和成本下降,VR应用也势必会如移动应用一样渗透到生活的方方面面,我们一起拭目以待。