浅谈VR的需求以及相关ARM IP的特性

2016-07-01 16:25:32来源: EEWORLD
日前,ARM多媒体处理部门的Anand Patel介绍了VR的相关话题,以及ARM在VR领域所做的努力和准备,以下是详细发言。

首先,我们来大致介绍一下VR的出现,VR不是一个新的话题,在90年代就有提到,那个时候的设备还比较贵,它的性能也不能满足一个比较好的或者是让人可以接受的用户体验,这样的一个概念其实是很早就已经提出来的。在2014、2015年VR这个话题开始热起来,我们可以看到Oculus Rift这样的设备,包括索尼的PlayStation VR以及HTC的Vive这样一些设备,这些设备的价钱都超过500美金。

基于手机的VR,也是不断出现,像三星的Gear VR设备。可以看到随着手机处理器能力的增加,它已经能够提供一个比较好的用户体验了,同时在传感器这块的技术也是在不断跟进的,这样一个设备它在功耗这块也是有严格的要求的,需要控制在5瓦以内。

从我们的角度来看,其实mobile这样一个产品形态是更容易被客户接受的产品形态。作为VR来讲,是一个很好的形态。前面讲的是VR现在的一个发展,整个的概念,从VR垂直市场看供应商是包括了很多高端的机柜、手机处理器的OEM以及游戏发布商,包括一些游戏引擎等。我们之前提到的Apical也已经参与到了这个市场中。

第三方的数据预测,在2018年VR出货量会达到5680万的量级,市场容量大概在2018年可达23亿美金。所以VR它其实是一个全产业链的机会,无论是从芯片制造商,尤其是开发、发布者,包括做渠道,做供应的这样一些公司都在这个产品链中有自己的机会。

所以这个地方可以看到VR包括AR增强现实都是一个很好的能够拉动高端手机市场的应用场景,这样的一个应用它对性能的要求非常高,而这个性能不只是来自于GPU,也来自于CPU,包括AR可能还需要摄像头的参与,所以它是一个全系统的运算的方案。

这里有两个VR的例子:左边这个是VR游戏的一个例子,可以看到在高端的VR游戏的运算的情况下,它其实需要很强的GPU的处理能力,很强的CPU的处理能力,很强的系统的设计,所以它对整个硬件的要求也是非常高的;右边这个场景是VR的360度视频播放的应用场景,它除了对GPU的要求以外,在视频编解码器这块也有一个比较高的要求,需要很高的分辨率,配合我们的VR设备得到一个沉浸式的体验。

那么VR是如何运行的,有几个很重要的点:

第一点就是立体显示是如何实现的,通过我们左右眼的渲染,左眼和右眼的图像,它通过角度的细微差别去得到这样一个立体的视觉效果。

还有一点是对头部动作的捕捉,这个是通过一些传感器可以实现的。这个地方可以从底下看到整个VR的处理流程,这个处理流程可以看到我们需要渲染左右眼两幅图像,这两幅图像通过人眼的位置对几何图形做了投影,再通过光学透镜看到在屏幕上显示的左右眼的两幅图像,处理过程中需要两倍的CPU的处理,同时需要两倍几何顶点的处理能力,在最后显示的像素处理这块,它的性能要求也是在不断提升的。

这里介绍如何得到一个好的VR体验,第一点是延时,有可能是系统来的,也可能是传感器,到你的软件的操作,再到硬件的加速,整个延迟你需要控制得非常小,才可以得到一个比较好的体验。我们现在的设备需要把这个延迟控制在16毫秒,但是实际上在下一代我们看到的需求是在10毫秒以下。

还有一点就是高的帧率,现在的设备可能是在60Hz的范围内,但是在未来的设备需要达到120Hz。

在分辨率这块,高分辨率也是VR非常重要的一个需求,其实分辨率也是越高越好,目前我们看到的VR设备,1080p是一个门槛,大部分是在2K左右的分辨率,未来这个分辨率需要进一步的达到4K的量级。

所以提到这个延迟的挑战,其实这个挑战来自于整个VR全通道,可以从底下这幅图中看到我们从一开始的传感器的数据处理,再到应用层面,它可能是一个UI或者是一个VR的应用,这样一个应用层面的逻辑,再到API的驱动,再到你的渲染,这一个一个环节,再到后面的缓存的机制,包括双缓存到三缓存,以及最后显示到屏幕顶上,其实这个全通道它带来了整体的延迟,我们现在要做的事情就是和GPU相关的,也就是右下角这个蓝色的框框内的一部分,我们需要把这部分的延迟降到最低。



Mali如何增强VR体验

我们这边提到了在VR体验上,ARM在很早就在参与VR这个产业了,我们GPU是在2013年,也就是三星的Gear就已经作为硬件的加速单元做了这样的产品。

第二点就是ARM基于VR这个技术也做了很多的贡献,第一个就是之前提到的我们GPU的多核的可扩展的设计,能够更好地支持不同的VR运算的要求。第二点就是我们在   OpenGL ES和OpenEGL这块有很多的扩展,去减小这个延时,后续还有一些内容可以给大家分享。

第三点是之前提到的4倍的全屏抗锯齿或者是全屏反走样这样一个功能,可以更好地减少这样一个体验上的不足。

第四点就是AFBC的技术,这个技术是在全系统减少系统带宽,可以节省功耗,同时也能够增加整体的性能表现。

这一块还是再强调我们AFBC这样一个技术。其实从手机的内存系统来看,它能够提供带宽,比其我们PC这样的产品形态,它提供了非常有限的带宽支持。通常情况下,这个带宽都是很多应用的一个瓶颈,而且这个带宽也会消耗很多额外的功耗,所以AFBC这个技术就是为了解决这样一个应用上的瓶颈,同时能够减少带宽,提升功耗,降低性能。

这边有一个例子,通过我们的video,为作为一个视频的解码,通过AFBC的编码器把它做了压缩,再写出,送给我们的GPU做一个操作的应用,可能是一个VR的应用。GPU把这个压缩解码完以后去做处理,处理之后再把这个数据做AFBC的压缩,送给我们display,display再解压以后,再显示到屏幕上,整个flow可以节省很多带宽。右下角是两个应用场景,节省带宽的一个数据,可以看到左边是UI的一个带宽节省,基本上可以节省到50%。右边是GFXBench的带宽节省,也可以达到46%的量级。



这是一个VR的具体的处理流程。可以看到在左侧我们有左右眼两幅场景,首先在GPU渲染完之后,它需要写入到我们外部内存当中,同时我们需要做一个后处理,这个变形是用于校正我们的透镜带来的变形,所以我们需要把它做一个变换,还是需要从内存读出来处理完之后再写回出去,最后再由我们display读出,再显示到屏幕上。所以可以看到这种多次的内存读写的操作通过引入AFBC这样一个技术我们可以节省50%的带宽。



这个地方是对Google的Daydream的介绍,Daydream这个平台是面向一个高质量的手机的VR平台,ARM在早期就已经和Google有深度的合作,我们通过定义不同的场景需求以及运算能力,参与它的设计以及支持。另外我们在和Google合作的过程中,也保证了我们的GPU、video和display这样三个处理器能够很好地匹配Daydream的运算要求。

这一块我们还和我们很多的伙伴,也就是我们生产芯片的客户,以及OEM,有很好的合作,我们会帮助他们在他们的平台上把Daydream这样一些功能给用起来,这样的一些设备从我们的合作伙伴可能在今年下半年就会面市,大家可以看到。

VR这一块在应用场景里面也是要求各种各样IP的支持,在video这一块,在VR这个场景底下也是有很多应用的方式,比如360度的VR场景的视频应用。我们video IP也是可以支持多种编码以及解码的功能的,我们可以支持2K到4K高清的内容的解码。

回到AR的应用场景,其实AR的应用场景,它的计算要求和VR非常像,无论从性能上,还是从低延迟的要求来讲,但是这个AR的应用它其实是需要非常强的各种处理模块的互动的,这里面包括CPU、GPU以及我们display的IP在里面的。ARM是通过异构运算,通过内存的一致性,能够把所有的运算单元组合在一起,能够提供一个最好的对AR加速的计算平台。

这个地方我们提到的是VR的一些扩展,首先第一个就是multiview多画面的渲染的能力。首先VR是需要左右眼两个画面做渲染的,可能需要两个draw-call实现这样的功能,通过multiview这样一个扩展的支持,我们可以通过单个的draw-call实现这两个应用场景的渲染,可以极大程度上降低CPU的应用负载。

第二个扩展是Context Priority,内容上下文优先的扩展。它的功能主要是现在我们在VR处理的时候需要60帧、90帧甚至120帧这样一个高的屏幕刷新率,在处理的时候,如果这个场景过于复杂,我没有办法满足这样一个刷新率的情况下,我可以通过对前一帧的后处理,去补足当前没有处理到的这一帧,能够得到更好的体验效果。

这个地方是我们的一个技术贡献,它叫视网膜中央凹渲染。它可以用到之前我们提到的multiview多视觉场景渲染这样一个技术。右边这张图,它中间的这部分是人最关注的,我们人眼在看的时候最关注的是一个场景中间的,或者是你眼球中心这块,我们视网膜上也是分辨率最高的一个部分,这个部分我们可以把它渲染得更精细,但是它周围的人眼不关注的地方,可以把它渲染得没有那么精细,这样可以把性能完全发挥出来,得到一个更的好VR的性能表现,因为整体的负载相比你全渲染整幅图而言,你是有一个节省的,这部分节省就可以体现在你的VR的性能上。

这边是我们的Mali VR SDK,这个东西也是免费提供给开发者的,大家可以在malideveloper.arm.com这个网站上下载到。之前提到的很多技术,包括扩展,它的实现,都可以从这个SDK里面找到,这样可以使我们开发者很容易在开发者项应用的时候用到这样一些新的技术。

这个地方提一下Enlighten的技术,这个技术是一个全局光照的技术,这个全局光照对于VR的用户体验来讲是一个非常重要的东西。Enlighten是一个非常好的能够实现高效的全局光照的技术实现,前面提到我们VR在挑战上是非常多的,比如刷新率低延时以及GPU这块很重的负载,从光照这个角度来看,通过引入Enlighten,我们可以只计算一次,去渲染两次,这样可以很大程度上降低负载。

关键字:ARM  VR  Mali

编辑:冀凯 引用地址:http://www.eeworld.com.cn/xfdz/article_2016070155342.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
ARM
VR
Mali

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved