CN
EN

新闻动态

体验虚拟现实(VR)的情景-明纬电源

2016-04-21

如果你还未曾见过人们初次体验虚拟现实(VR)的情景,我强烈建议你感受一下。无论是七岁的孩童,还是七十岁的老人,他们戴上眼镜之后,都情不自禁会像演员一般手舞足蹈,伸长着脖子,盯着周围的虚拟空间,仿佛突然进入了全新的世界维度。然后,他们还会兴奋地分享眼前景象,“快看!”“你真该看看!”这让我想起随身听兴起的那些日子,我们兴奋地朝着对面的人大声说话,却忘了歌曲只有自己才能听见。这样来介绍VR非常的贴切:这是一个令人兴奋的新事物,能够立刻吸引住你,让你情不自禁地想要和别人分享。的确,Facebook收购Oculus说明他们已经看到了VR应用于社交媒体的巨大潜力。想象这样一个未来场景并不困难:我们坐在虚拟咖啡厅,对着亲朋栩栩如生的头像聊天;或者在你最喜爱的社交网络上浏览VR视频和360度全景照片,而现实上,你却只是穿着睡衣坐在家里的沙发上。关于VR未来发展的展望无处不在,然而, VR未来将如何被使用和消费,我们仍需拭目以待。就目前而言,也有一些其他技术拥有和VR同样的潜力和影响力,比如和VR来自同一家族的增强现实(AR)。本文中,我将讨论当今的VR市场及其面临的挑战,并介绍能够实现VR的技术。
 
  游戏被认为是VR率先采用的领域,尽管它只是VR技术众多潜在用途的其中之一。VR技术打开了全新的世界,让游戏开发者可以营造更高级的沉浸感,创造全新的游戏机制、体验与控制方法,这些体验是绝对是传统技术无法实现的。移动游戏刚问世时,很多开发商都只是单纯地将传统游戏移植到移动平台。这一做法却因无法实现而被舍弃。两者不同的控制方法和形状因子、多样化的用户与使用模式、以及移动市场截然不同的期望,都促使开发商重新思考移动游戏的核心。从PC、电视迁移到移动设备,游戏本身所受到的影响远超预期。今天,手机游戏仍然与PC和电视游戏共享品牌。尽管在高端设备上,我们已经可以支持相同的图像内容,但游戏行业已经掌握该如何调整传统游戏,使其更适应移动市场,并针对移动市场开发了完全不同的游戏类型。如此转变推动了移动游戏市场的快速成长,有时,移动游戏的收益甚至超过传统的PC、电视游戏。
 
  我们正处于新一轮的探索期:如何将VR更好地应用于游戏、了解哪些有用,哪些没用。所有人都在探寻并试图如何抓住这一千载难逢的机遇。接下来的数年将是见证奇迹的时刻,我们将亲眼目睹VR的发展和演化。历史的经验告诉我们,全沉浸式的游戏尽管可以营造更身临其境的感官体验,但是被外星人一枪爆头的感觉只会让人惊恐万分。相较于此,温和的娱乐形式尽管乍看起来没什么特别,但通常却更令人印象深刻。当然,也不排除会有很多开发商觉得,白天吓人一大跳是件值得骄傲的事情。有的玩家也很乐意体验一下世界最大的虚拟过山车是什么感觉。市场需求是多种多样的,所以我不希望一概而论。Oculus Store中多元化的应用告诉我们,“体验”和“概念”将各自衍生出全新的娱乐形式。即便只在其中添加细微的交互元素,也有可能打造出一款全新的“游戏”。
 
 
 
  如果能够从用户取景的角度来考量,我们可以做地更好。这种新的思维方法特别适用于内容渲染,并进一步突出视图自适应技术的优势。从OTOY和8i正在开发的新技术,或者光场相机相关及新型领域的快速成长中,我们不难发现,GPU为中心的视频技术正快速进步。这是一个快速发展的领域,我们希望整个行业也可以跟上步伐。
 
 
 
  
  实现高品质VR的挑战
 
  高品质移动VR不仅对GPU有更高的要求,对整个系统都是很大的挑战。发热限值是VR设备的重要参数,为确保设备运行时间内不超出发热限制,很多组件都需要重新设计,才能够实现视频、GPU和显示器的超低延迟、零拷贝路径,以及严格的功耗管理。Linux系统对实时操作的要求不高,但低延迟的VR应用则需要接近实时的系统运行。因此,线程间通信和线程优先级、动态调频调压(DVFS)及其他系统集成细微的改变都会对“光子运动”关键路径的稳健性产生影响。
 
  一款安卓应用需要经过操作系统的三重缓冲,仅仅图像提交路径就会产生50ms的延迟。尽管最后的效果还过得去,短时视频体验也还不错,但是眼睛和屏幕的延迟非常明显。如此,看不了太久,延迟就会使人不舒服,甚至感到恶心,哪怕是观看相对静态的内容也不会有很大的改观。尽管VR体验让人印象深刻,但产业发展的重点是为大众市场带来高品质VR产品,唯有此,才能进一步释放其巨大的发展潜力。
 
  业界通用的“光子运动”延迟最高为20ms。低于20ms的话,延迟就难以被察觉。对刷新率为60帧/秒(16毫/帧)的标准面板来讲,这一目标很难实现;但通过一系列技术的结合,三星Gear VR设备现在已经可以实现:
 
  • “异步时间扭曲”流程
 
  • 直接渲染到显示器前置缓冲
 
  • 使用低持续性的OLED显示器
 
 
 
  一旦通过应用框架,应用程序就可以收集最新的头部追踪数据,将当前世界渲染成“眼部缓冲区(eyebuffer)”(一种特殊纹理,对应左右眼分成逻辑两侧)。如果可能的话,我们建议应用程序以60帧/秒的速度运行,但实际应用中很难保证,所以将目标设定为30帧/秒更为显现实。为了保证帧速率,降低有效延迟时间,异步运行的时间扭曲流程会负责收集最新的有效eyebuffer,并在显示器读取之前直接将其写入前置缓冲。安装ARM Mali GPU的“context—priority”扩展后,时间扭曲流程能采用单独的高优先级OpenGL ES(嵌入式系统开放图形库)内容进行渲染。提交高优先级内容后,GPU上现有的渲染工序会自动中断,完成高优先级内容渲染后再继续原有任务。采用该流程,时间扭曲可以及时提交渲染任务,显示器也可以再次读取返回的数据。时间扭曲对显示屏的渲染时间比应用程序更短,其获得的头部追踪数据也就更新,进而可以调整eyebuffer内容,使之与头部的实际方向更加匹配。时间扭曲仅能针对头部转动进行调整,而无法根据头部固定位置或动画场景来调节,但实际应用中,因为头部转动的时间延迟低于可被注意到的阈值,流畅的体验就可以形成。这“刚好及时”将内容渲染到前置缓冲的方式最适合低持续性的OLED显示器。
 
  对全局背光LCD显示器来讲,屏幕必须及时照亮单点图像。相反,低持续性OLED显示器的照亮时间很短,因为帧缓冲已经完成读取。若屏幕保持水平,使用慢动作摄影机观看,每一帧的画面你都会看到一道在面板上从左到右运行的光波。这使得观看屏幕时,头部可以旋转至不同方向,并进一步降低延迟。
 
 
 
  尽管延迟时间是一个亟待攻克的技术难关,但人们对VR的需求不会因此而终结。在头部佩戴镜头以放大面板倍率则进一步印证了我们对高清面板的渴望。哪怕原始分辨率已经达到1440p,面板的视差发光格栅仍清晰可见;但对分辨率大于 1440p,帧率超过 60 FPS的显示屏来讲,我们还需要在系统上花更大的功夫,并进一步提高外置存储器带宽。随着压缩视频、GPU和显示器间的帧缓冲交换变得愈加重要,所有ARM IP均使用无损ARM帧缓冲压缩(AFBC)技术,以尽可能地减少帧缓冲存储器流量。还有一点非常重要,为了高效地创建eyebuffer,且无需为左右眼重复做功,应用程序需要更有效地渲染至多视图。在具备该技术的平台上,Mali可以支持“多视图” OpenGL ES扩展,允许应用程序在一帧图像到达驱动器后提交绘制命令,同步完成左右眼的eyebuffer创建。这一流程可以显著缩短应用程序和驱动器需要的CPU计算时间。同时,我们进一步优化了Midgard Mali GPU的顶点运算能力,运行顶点着色器中不依赖眼睛的部分,并实现双眼共享。Vulkan是Khronos公司开发的全新跨平台API,可以进一步降低CPU开销,让开发者对产品有更大的掌控力度,促进移动VR的发展。
 
  VR是一项开创性的技术,正在快速发展的过程中。得益于现代移动设备的普及和强大功能,VR不再只是昂贵的定制台式机或控制台系统的专属。为了真正实现VR,发挥其对世界的潜在影响,移动VR必须面向大众市场。作为这一领域的意见领袖,我们致力于推动其继续发展并与合作伙伴密切协作,提供高品质的VR体验,发挥该技术的最大潜力,实现更加美好的虚拟世界。