3D图形技术在手机应用中的技术挑战和竞争
亚洲市场正在兴起的对面向图形电子游戏的狂热,正刺激着对下一代具有复杂3D图形功能手机的巨大需求。本文通过详细介绍3D图形技术在手机中应用的技术挑战、3D图形API标准以及开发商将面临的技术竞争,帮助工程师了解3D图形技术的应用现状,分析存在的技术挑战和可能的技术竞争。
仅在两年前,手机还只提供基本的2D位图图形游戏作为附加功能,正如可发送短信的手机几年前才出现一样。手机游戏功能在亚洲国家开始流行,且消费者很容易即被下一代彩屏手机所吸引。用户很快便开始希望能在其手机上玩更高性能的游戏。手机制造商们也顺势推出利用高级图形特性(每像素16位彩色及有限图形加速能力的QVGA分辨率彩屏)以及更复杂及交互式游戏的手机。随着性能的提高,亚洲面向图形手机的发展速度比世界其他任何地方同类手机的发展速度都要快。
现在出现了3D图形功能,第一阶段是通过软件来引入3D图形功能。这要求极大地提高处理器性能,但某些操作仍具有很大的性能局限,且高度复杂的交互式特性还不可行。去年,尤其是去年下半年,市场上开始出现带基于硬件、真正3D图形功能的移动设备。但在世界其他很多地方,人们仍心存疑虑:对于一种普通的语音通信设备,为什么需要彩屏,而且还要给它加上2D/3D图形功能?用手机玩高级电子游戏可能很快会在欧洲流行,过两年也会在美国流行。在西方国家,对连接互联网、无线上网、GPS服务以及内置相机、多媒体消息、移动视频、MP3播放以及游戏等应用感兴趣的高端用户正在增加。
但一种可以理解的谨慎观念开始在移动电话行业中蔓延:尽管游戏依靠3D图形、或实际上是3D图形使性能更高的手机游戏成为可能并推动未来的手机更换市场,但这并没有绝对的把握,毕竟游戏只是手机这一语音通信设备的一项附加功能。目前,市场上已有好几种采用各种不同架构并带3D图形功能的第一代手机,其中有些声称具有较低的功耗,而其他则宣扬更好的视觉效果或特定功能特性。但总体而言,它们在性能或功能上并无多大差异。
面临的技术挑战
创造对高级特性的需求还只是移动设备制造商所面临挑战的一个方面。利用更强大的处理能力来处理并操作静止及活动图像数据的任务,再加上额外的存储资源且不增加设备的体积和重量,这在技术上来讲并非易事。若再加上至少保持或更理想地提高电池的待机时间,技术挑战将变得极其严峻。
而此时专用视频游戏市场中的图形技术也已经大大向前发展。对于此类设备,尤其是基于控制台的设备,对将强大处理能力以及专用游戏引擎放进狭窄空间中的压力并不大。功耗仍是便携式游戏设备的一个问题,尽管它们常常拥有足够的空间来容纳其他硬件,如复杂3D图形芯片组及加速器等。但双屏、触摸屏、交互性以及处理大量像素的能力,将会使手机成为任天堂及索尼等游戏机公司所面临的新威胁。
要将任何接近这些性能的东西集成在移动电话中,要求对手机的架构进行全新的考虑。大约6小时的电池使用时间对于游戏机来说至少还能接受,但对于移动电话,即使有这两倍的时间也不够。鉴于此,大多数手机设计者都采用增加处理能力、核心CPU单独工作等能减少设备功耗的方案。
然而,移动电话还受到空间的压力,必须以最小的硅(硬件)开销来增加其他功能。即使采用第一种彩屏,处理及传输像素的任务仍需要一些理解像素空间的协处理器或专用DMA引擎。今天,尽管已有相当多基于DSP的芯片与内核、图形加速器、专用协处理器、图形引擎以及软件解决方案可用,但如何实现仍很关键。架构、软硬件划分以及系统级芯片(SoC)或芯片组等决策,需在设计过程的前期制定并且非常关键。而制造成本只能靠大批量生产来分摊,后期设计变更大大增加成本,变更造成的项目延期则会冒丧失主要市场及盈利机会的风险。
图形功能并不是一项后增加的功能,而是与显示有关的所有操作的一个完整组成部分,集成并验证这种复杂电子电路需要投入大量的工作。专用平台的出现对手机开发商来说意义重大,因其能方便设计再利用,同时节省大量设计时间与验证工作。3D图形功能是一种最成功的应用子系统实现,尤其是它采用了可执行一些特殊功能(不容易通过通用处理平台来实现的)的专用加速器。
3D图形API标准--Open GL-ES
移动电话行业需要游戏开发商的支持以确保有价格适中的游戏供用户选择,这其中一个潜在的难题是需要有应用编程接口(API)在处理硬件、软件及图形引擎间进行通信。移动电话业已经富有远见地避开了PC 3D游戏市场早期所走过的弯路,当时各种专用API引起了不必要的竞争及冲突。主要手机制造商、芯片供应商、图形引擎及软件提供商、游戏开发商以及基础设备开发企业等,都很快便看出这一潜在的问题,并进行广泛的合作/协作来共同保证从一开始便采用一致的API。
作为移动3D图形行业标准的Open GL-ES的出现,避免了手机制造商由于互不兼容的游戏软件格式而导致无谓的市场竞争。Open GL-ES源自台式机市场,且特别容易缩放,并已经剥离了原有的一些不必要功能,因而能以更小的占板面积来实现。
Open GL-ES已经获得了广泛的行业支持,不仅得到了手机制造商及器件与内核提供商的支持,同时也获得了图形引擎、游戏开发商以及操作系统供应商的支持。更重要的是,尽管Open GL-ES是一种低级的API,但完全能作为Java游戏环境中J2ME应用程序更高级JSR 184 API的补充。
现在,行业的专家们正在开发Open GL-ES 2.0,他们是一些了解市场及硬件局限以及能正确评估开发用于未来应用的软硬件所需资源的人士。第二代手机可能今年会进入设计阶段,且一年后便会有新产品推出-尽管这很大程度上依赖于用户对第一代产品的接受度。届时这些手机将大量上市,并预计将发布Open GL-ES 2.0,以准备开发第三代带3D图形功能的手机。
面临的技术竞争
真正的“技术竞赛”将从第二代具有3D图形功能的手机开始。厂商们将在纯技术性能方面展开前所未有的竞争,特别是一旦API标准完全确立后就将几乎没有什么分歧。一些人认为,手机制造商应避免过快地扩展其平台以及创建一些其专有的扩展,行业必须确保Open GL-ES标准API随市场一起发展。
事实上,Open GL-ES路线图已经确立,而且人们已开始着手制定Open GL-ES 2.0。虽然目前的API是基于状态机,但对于第三代手机来说,它必须发展成为基于Shader(着色引擎)的标准。现在,API基于固定功能管线(pipeline),这种固定功能管线可以根据当前渲染条件来启用或禁用某些功能,它使厂商能根据吞吐量、像素数量及类似功能来制造不同的手机。
通过Open GL-ES 2.0,人们可对图形管线中的某些元素进行编程,从而使内容开发商能够精确定义如何处理顶点(vertex)或像素。这能采用程序性算法以使代码性能依赖于实现,因此不仅能为供应商提供更大的特性集与性能创新空间以及更大的差异化(尤其在视觉质量及效果方面),而且还能为开发商保留一个公共平台。
与使用较大显示屏的桌面或控制台游戏机市场相比,图形子系统开发商必须重新审视移动电话市场。手机2.2英寸显示屏的像素密度远高于笔记本电脑屏幕的像素密度。新出现的2.5英寸显示屏很可能拥有高达每英寸400像素的密度,这是当前像素密度的两倍。因此,利用大量多边形及快速多边形速度来获得高分辨率图形的传统方法几乎完全不适用。聪明的设计者将把目光投向那些用于光照及显示的更高级(但基于更粗糙模型的)技术上。区别在于像素质量以及可用于这些像素的高端处理数量(其指标为每顶点每秒操作数及每像素每秒操作数)。开发商计划通过这种方法不仅能提供以前只有通过数百万多边形才能达到的画面质量,而且还不突?处理器性能、存储器容量及功耗指标。
计划中的Open GL-ES标准发展,不仅为整个移动3D图形市场提供了清晰的路线图及稳定的增长,而且也为厂商提供了一个健康竞争的市场。预计今后几年内,随着开放标准的发展,移动3D图形技术将扩展至许多别的平台及市场,包括汽车与航空电子设备等。
紧凑的3D图形解决方案
今天,一种最流行的面向移动设备平台的3D图形解决方案是由ARM公司开发的PowerVR MBX图形加速器系列。该产品由ARM与Imagination Technologies公司联合开发,其内核被应用处理器用来在移动电话、无线游戏及其他嵌入式设备中提供具有PC及游戏控制台画面质量的3D图形。
该图形加速器具有可分别提供QVGA与SVGA图形性能的两个版本(MBX R-S及MBX HR-S)。MBX R-S版具有较小的裸片尺寸,主要用于小型无线设备。而MBX HR-S版则具有更高的性能。这两款内核都拥有增加顶点几何处理器的选项,该处理器可以将主CPU从几何处理任务解脱,以实现先进的光照特性。
支持全2D与3D特性集且与Open GL-ES兼容的PowerVR MBX解决方案,采用块状渲染(tile-based rendering)来在芯片上实现全带宽密集型像素处理。通过取消3D内核与外部存储器之间的Z缓冲以及保证只将可见像素写入帧缓冲,可降低存储器带宽要求。块状渲染不仅能进行高位精度渲染与合成(即使在带有16位帧缓冲器的系统上),而且还能实现可取消所有多余纹理操作的延时纹理。此种方案便于采用统一的存储器架构,在这种架构中,图形子系统与CPU一起共用系统SDRAM,从而可以采用节省成本与空间的SoC实现。
MBX内核易于与ARM926EJ-S及ARM1136J-S以及ARM PrimeXsys平台集成,故能缩短产品上市时间。该内核架构紧凑,可节省空间及硅成本。通过采用成熟的功率管理技术(包括模块与寄存器级时钟选通等),使功耗最小化。
通过采用ARM公司的AMBA AHB(高级高性能总线)接口及各种ARM PrimeCell外围器件,还能提供其他集成支持。这些经过预先验证及硬件成熟的软IP宏单元,通过PrimeCell外围多端口存储控制器接口很容易与3D图形加速解决方案相集成,因为这些接口已针对MBX R-S及HR-S而优化。
不断发展的OpenGL-ES
Khronos工作组是一个由多个成员单位组成的联盟,专注于开发免许可及跨平台的开放标准图形API,以在各种平台及设备上创作并播放动态媒体。所有Khronos成员都可参与Khronos API规范的开发、在公开部署以前的各阶段投票、并能通过对规范草案及遵循性测试的提前访问来加快先进3D平台与应用的推出。
Khronos API规范包括:用于捕获、传输、处理、显示及同步数字媒体(包括2D/3D与音视频流)的OpenML;可提供用于Flash 及SVG等矢量图形库的低级硬件加速接口的OpenVG;可提供对以前广泛用于图形、音频与图片库以及MPEG-4等视频编解码器的媒体处理标准访问的OpenMAX;以及Open GL-ES。
Open GL-ES是一种面向嵌入式系统(包括手持式设备、仪器及车辆等)上全功能2D与3D图形的免许可、跨平台API。它是一组经过良好定义的桌面OpenGL,可在软件与图形加速之间创建灵活及功能强大的低级接口。OpenGL ES 1.0包括用于浮点与定点系统的Common profile(公用类)与Common-Lite profile(共用简化类),以及用于与本地窗口系统手持连接的EGL 规范。OpenGL-ES 2.0目前正在开发之中。
此外,还建立了“安全关键”工作组,以帮助将标准移植到其他采用3D图形的移动平台、尤其是汽车及航空电子设备上。
评论
查看更多