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

发布者:心有所属最新更新时间:2016-07-01 来源: EEWORLD关键字:ARM  Mali 手机看文章 扫描二维码
随时随地手机看文章
日前,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  Mali 引用地址:浅谈VR的需求以及相关ARM IP的特性

上一篇:ARM高级产品经理:ARM GPU发展蓝图
下一篇:ARM高级业务发展经理:Enlighten是什么?能用在哪里?

推荐阅读最新更新时间:2024-05-03 15:41

ARM】s3c2440裸机实现图片显示
功能 LCD显示字汉字,字符和图片 说明 汉字,字符和图片需要用相应的取模软件得到相应的c文件,然后包含到工程中 主要代码 1)绘制背景 void Brush_ U32 c) { int x,y ; for( y = 0 ; y LCD_HEIGHT ; y++ ) { for( x = 0 ; x LCD_WIDTH ; x++ ) { LCD_BUFFER = c ; } } } 2)文字绘制 void Draw_Text16(U32 x,U32 y,U32 color,const unsigned char ch ) { uns
[单片机]
【<font color='red'>ARM</font>】s3c2440裸机实现图片显示
ARM发起成立中国产业创新投资基金
2016年6月2日,ARM今日宣布发起成立产业创新投资基金。该基金将结合ARM的全球技术视野和产业生态系统,投资在中国市场具有潜力的技术公司,覆盖一系列创业、创新投资项目,加速以物联网、智能硬件、云计算、大数据等为代表的关键性创新应用的产生。 ARM一直以来与中国共同成长,履行长期投资的承诺,并积极推动中国创新和产业升级。 去年ARM即与中科创达共同成立安创空间加速器,利用ARM生态系统资源,加速中国物联网产业的发展,建立以ARM技术资源为核心的物联网创新平台,协助并扶植国内新创公司,加速其产品面市。 ARM全球首席执行官Simon Segars表示: 中国科技产业的发展引人瞩目, ARM中国合作伙伴已经展现出引领全球创新
[物联网]
基于ARM和Linux的字符采集与识别系统
传统纸质读物的数字化以及诸如条码识别等字符识别系统都离不开图像的读入与识别,然而目前广泛使用的字符识别设备将这两部分独立开,即由图像读入设备(如扫描仪)和安装于计算机上的识别软件构成,但这样的设备构成离不开安装识别软件的计算机,造成成本上升和使用不便。随着电子产品的普及,具有摄像功能的电子产品及其上的识别软件也可以构成一个字符识别系统,但是这种识别系统的识别速度受到摄像头调焦的限制,难以广泛应用。文中提出的便携式字符采集和识别系统,其硬件平台是基于接触式图像传感器(CIS)与ARM9处理器S3C2410,软件平台是基于嵌入式Linux系统,可以克服以上两种设备的缺点,同时满足方便性和快速性的要求。另一方面,由于设备基于Li-nux
[嵌入式]
ARM 和VORAGO共同助力,空间电子科技发展创下新高
NASA近日成功发射SpaceX CRS-10货运飞船进行第十次国际空间站商业货运任务。SpaceX CRS-10的这次发射搭载了一个电子辐射效应实验,值得关注的是,该实验是由是美国Vorago公司的ARM架构抗辐射MCU进行控制的。 ARM技术在航天工业中势头越来越猛,NASA近日宣布将选择ARM Cortex-A53处理器构建下一代空间电子产品平台, 此次搭载实验由美国空军实验室和NASA联合支持,标志着ARM架构的耐极端环境抗辐射微处理器首次部署于空间系统。 抗辐射存储器实验(RHEME): 在外太空监测电子存储器 空间环境下,电子存储器暴露于高能质子和辐射粒子中,当这些粒子撞击存储器或其他微电路时存储器中信息将会发生改变
[嵌入式]
基于S3C6410的ARM11学习(七) 核心初始化之关闭MMU和CACHE
在关闭了所有中断后,就要关闭MMU和CACHE了。因为这个时候,还在初始化环境,这两个东西是用不到的。所以就需要把他们都关闭,免得影响我们的初始化。 MMU是Memory Management Unit的缩写,中文名是存储器管理单元。主要是两个功能: 1、虚拟地址转换为物理地址 2、实现内存的保护 至于具体的MMU的一些知识,等后面用到了在说明了。目前,只需要将MMU给关掉即可。 这个时候,我们需要查看S3C6410的核ARM1176JZFS手册。在这里,我们要接触到一个系统控制处理器,CP15。也叫做协处理器。 手册中说明了,CP15系统控制处理器的作用,主要是6个: 1、整个系统的控制和配置 2、CACHE的
[单片机]
基于S3C6410的<font color='red'>ARM</font>11学习(七) 核心初始化之关闭MMU和CACHE
交叉编译器 arm-linux-gnueabi 和 arm-linux-gnueabihf 的区别
自己之前一直没搞清楚这两个交叉编译器到底有什么问题,特意google一番,总结如下,希望能帮到道上和我有同样困惑的兄弟….. 一. 什么是ABI和EABI 1) ABI: 二进制应用程序接口(Application Binary Interface (ABI) for the ARM Architecture) 在计算机中,应用二进制接口描述了应用程序(或者其他类型)和操作系统之间或其他应用程序的低级接口. ABI涵盖了各种细节,如: 数据类型的大小、布局和对齐; 调用约定(控制着函数的参数如何传送以及如何接受返回值),例如,是所有的参数都通过栈传递,还是部分参数通过寄存器传递;哪个寄存器用于哪个函数参数;通过栈传递的第一个函数参
[单片机]
基于ARM10和Windows CE.net的数据采集系统与方法
1.引言 目前,在高层建筑和桥梁等大型建筑的基础工程中,用大体积混凝土的整体钢筋混凝土箱型基础已成为较普通的结构形式。这种大体积混凝土硬化期间水泥水化热所产生的温度应力和收缩应力,便成为导致钢筋混凝土结构出现裂缝的主要因素。只有很好的监测出混凝土内外各点处的温度,才能为施工人员提供依据,及时采取相应措施。由于该系统测量点较多,传统的测温方法包括使用玻璃泡温度计、电子测温仪等设备及基于单片机的现场采集系统已逐渐不能满足应用的需要。随着微电子技术和计算机技术的发展,32位的高性能微处理器逐渐代替了传统的8位单任务单片机,并且采用多线程多任务的嵌入式操作系统成为发展趋势,远程监控和数据的网络化管理也越来越多的应用到当中。本文采用高性能
[单片机]
基于<font color='red'>ARM</font>10和Windows CE.net的数据采集系统与方法
TQ2440 学习笔记—— 11、嵌入式编程基础知识【arm-linux-objcopy、objdump选项】
1、arm-linux-objcopy 选项 arm-linux-objcopy 被用来复制一个目标文件的内容到另一个文件中,可以使用不同于源文件的格式来输出目的文件,即可以进行格式转换。 常用arm-linux-objcopy 来将ELF格式的可执行文件转换为二进制文件。 arm-linux-objcopy 的使用格式如下: 2、arm-linux-objdump 选项 arm-linux-objdump 用于显示二进制文件信息,常用来查看反汇编代码 使用格式如下:
[单片机]
TQ2440 学习笔记—— 11、嵌入式编程基础知识【<font color='red'>arm</font>-linux-objcopy、objdump选项】
小广播
最新手机便携文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved