工控新闻
今天的消费电子用户通常希望液晶显示萤幕的用户介面包含3D元素。自最初的3D介面上市以来,消费者们已习惯了看到有纵深且能够旋转的物体,以及能在萤幕上行动来显示更多选项的选单。iPad、iTouch和Android设备就是最好例证。成千上万的液晶显示驱动消费性设备都以具备3D功能作为核心的用户介面技术。
3D优于2D的塬因显而易见。从解析度来看,2D影像就像一张照片,只有宽度和高度,没有深度。一辆车的2D影像可以旋转、缩放,在萤幕上做二维(‘x’和‘y’)行动(转换)。而3D影像可以做叁维(‘x’、‘y’和‘z’)的旋转、缩放和转换。3D物体有深度,是全视角的。这是基于人对空间和物体的认知,3D可使人们获得更直观和互动的体验。有效的3D影像让消费者享受视觉盛宴,帮助定义产品的风格和价值,并传递大量的资讯。
产生3D影像需要复杂精尖的影像显示控制器(GDC),而它又需要一个几何单元和结构处理单元。将这些元素整合在一个影像引擎中可提供最佳性能,如图一所示。
图1:影像SoC整合。
作为该技术的领先者,富士通在嵌入式影像市场已活跃了十多年,而涉足影像领域已近二十年,它设计、开发并帮助客户整合领先的2D和3D影像显示控制器。因此,让我们回顾一下这些强大而创新元件的基本塬理。
目前,许多最好的影像控制器对2D和3D影像都能驾驭。但在许多情况下,系统设计者并没有充分利用已有的3D功能,而这一功能可以给终端用户带来许多益处。例如,在汽车应用中,驾驶者想要了解泄气的车胎或不亮的车灯的情况。应用2D技术就要求具备许多预置影像,以此来突出所有可能的角度和情况。加之‘车门或后备箱微开’的情况,就需要数百GB的预置2D影像(图2)。
图2:显示旋转的2D影像(还需几百个影像来显示完整的旋转动作) 。
而有了3D技术,所有这些及更多要求只需不到1GB的影像和几何数据就可轻鬆搞定。
3D物体的工作塬理
3D物体由叁角形‘网格’构成,这些叁角形勾勒出物体具体的形状。物体越具体详细,所需的叁角形也就越多(图4)。构成物体形状的叁角形数量依所需物体显现的真实度而异。
图3:3D影像──单一物体可以旋转至任何角度,缩放至任意大小,突出任意部位(轮胎、车灯、车门等等) 。《 /i》
图4:一款福特汽车的多边形网格。
每个多边形都有叁个顶点,每个顶点都在‘模型空间’中有‘x’、‘y’和‘z’坐标。这些顶点通常表示为一系列的浮点数。整个模型完全由这些浮点数构成,这些浮点数组成了模型的顶点数组。
下一步是对模型进行‘阴影处理’或‘纹理绘製’,以使其看起来更像实物。阴影处理的过程其实就是简单地为每个叁角形填色。可对叁角形进行单色阴影处理──即只在叁角形中填充一种灰度或颜色;也可以进行高氏阴影处理──即基于每一个顶点的颜色来填充渐变色(图5)。
图5:3D物体网格图、单色阴影处理图和高氏阴影处理图。
增加其它复杂效果
要使物体看起来更真实,就要添加其它复杂的效果。含有阴影处理器引擎的影像显示控制器可以实现包括水、烟、火和反射性表面属性等其它效果。
应用纹理绘图的过程与给塑料模型印花来增加真实度相似。像印花一样,纹理绘图使网格状的框架变成一个更逼真的影像。纹理绘图是一个由多个独立小影像构成的2D方形图,这些小图被放置在多边形网格的特定位置。一个叫UV图的表格指定了这些位置,该图包括了纹理绘图中每一个‘印花’的坐标(图6)。
图6:一款福特汽车的UV图。
纹理绘图一旦应用于多边形网格,就可以设立起一个完整的3D模型,既有深度,也可以旋转、缩放及随叁轴(x、y、z)转换。在应用了纹理绘图以及影像处理器处理了顶点和纹理绘图数据之后,你即可看到如图七所示的完整的3D模型。
透过使用影像晶片的几何引擎,这一模型现在可以任何方式进行动画模拟、从任何角度进行位置摆放。只要拥有3D模型(多边形网格和纹理绘图),无需提供任何其它数据,你就能全方位地展示3D模型。透过沿着3D模型的叁个轴进行缩放、旋转和转换,你可以获得无限量的影像数据。正如之前指出的,无需昂贵的快闪记忆体或系统记忆体,你就可呈现车胎数据、故障的车灯和车门状况等任意数量的资讯和提示。
富士通的‘Jade’和‘Emerald’是经过验证、具有复杂3D功能和领先的影像显示属性的影像显示控制器的样板。MB86R0x Jade系列影像显示控制器被用于多种汽车和产业应用。MB86R1x Emerald系列影像显示控制器则可让开发者有能力实现未来更雄心勃勃和复杂的3D应用。
充分发挥优势
然而,在很多情况下,现有的应用并未充分使用Jade的3D功能。这就太可惜了,因为3D技术可以在现有的平台上实现更加复杂的影像功能,只需更改软体即可。换句话说,汽车厂商、游戏开发者和其他消费性电子公司可为现有的设计注入新鲜血液,而这并不需要花费额外的硬体工程费用,因为拥有这一功能的硬体和显示已经存在。
那么,使用这一功能需要什么呢?就Jade而言,只是去使用现有的3D软体库就万事大吉。为使过程更为便捷,Jade助手库(Quantum)在富士通提供的影像库(V03)(图8和图9)中,帮助完成设立几何和纹理绘製所需的绝大多数艰巨工作。而Emerald则使用类似于OpenGL ES 2.0的图库。
图7:福特汽车完整3D模型。
图8:使用Quantum进行3D处理。
图9:Quantum 3D 引擎
Jade和Emerald在其核心部位为3D执行提供了巨大支援。这些影像显示控制器的影像功能中,至少有一半与3D技术相关,包括:
3D 基本要素──点、线、线带、叁角、叁角带、叁角扇、任意多边形
防失真
高氏阴影处理、单色阴影处理
纹理绘图──过滤、透视校正、混合模式、alpha颜色混合及遮盖技术
几何处理──MVP变换、裁剪、筛选、视见区转换
Z-缓衝──消除隐藏面
多边绘图标誌缓衝器
OpenGL ES 2.0──可相容阴影处理器引擎(只限Emerald)
3D技术如何显着改善2D用户介面
3D引擎可以像处理3D影像那样,轻易、优雅地处理2D影像。当你将上述3D引擎的功能添加到2D影像中,就可以获得不同凡响的效果。
例如,如果使用常规的2D技术,图十中树叶影像估计会消耗100MB的快闪记忆体。这当然大幅超过了许多系统的合理储存量预算和规格,特别是对于单一影像功能而言。如果加入更多的影像功能──假设每种功能所需的空间大小相似──就需要数百MB的快闪记忆体空间才能实现所要的影像。透过使用3D引擎来完成缩放、旋转和转换任务,取决于所选的颜色深度等因素,我们就可以将储存要求降低到8MB或更少。
图10:3D动画树叶的自动化仪表盘。
这是透过如下方式实现的:为树叶的每一状态产生一幅影像;让3D引擎来处理旋转和缩放;然后用2D引擎来呈现影像(图11)。
图11:树叶影像:Jade 前后旋转和缩放。
3D透过其它方式来改进用户介面开发,例如:
要求小得多的记忆体空间
支援加速的旋转、缩放和转换
简化影像资产的增加或更改,以及
支援简单的迁移路径
更小的储存空间
如前所述,3D单元缩放、旋转和转换物体的能力使开发者需要储存的影像数量少得多。3D技术可向用户呈现更多资讯,但对系统记忆体(DDR)和非挥发性记忆体(NOR/NAND快闪记忆体)需求产生的影响甚微。
树叶的例子说明,使用3D影像引擎来缩放、旋转和转换从NOR快闪记忆体中获得的2D影像,就可以有数千个可能的影像。
使用八位元色彩时,就可能改变动态物体的颜色,并产生诸如在两种颜色间有褪色这种强大的色差效果。使用3D单元,可对黑白影像进行着色处理,以实现几千种可能的颜色。透过在已完成的影像上使用2D引擎,你还可以增加临位效应(alpha effect)(透明),并提供数以千计的其它影像效果。
具体来说,可以对2D影像元素实施如下作业:
大小缩放──包括使物体变宽或变窄的非线性缩放
如果使用的是高氏阴影处理而非单色阴影处理,可以实现单一或多种色彩
旋转到任一角度,或
上述作业的任意同时组合
例如,假设我们以单个2D影像(图12)开始,其未压缩和压缩格式分别占32K或3K的记忆体。
图12:2D树叶影像。
我们可以轻鬆地将这个单一影像客体转换成一系列可以从多角度、多方位呈现的影像客体(图13)。一旦3D引擎被用来处理2D图画素材,那么将单一影像物体有用性最大化的能力会成指数成长。
图13:3D树叶状态。
硬体加速的旋转、缩放和转换
电脑影像的关键之一是时间。必须以最快的速度把图画素材收集起来并送到液晶显示面板,否则用户就会注意到影像的绘製过程。这一速率就是通常说的‘讯框频’。
实现成功讯框频的关键是穷尽影像处理器的所有能力,在预算时间内,使影像尽可能逼真。虽然其它因素也在发挥作用,但我们一直不懈地追求液晶显示面板的讯框频指标,以保证影像的流畅呈现。
在每秒60讯框(液晶显示面板的通用刷新率)的情况下,我们只有16.66毫秒(千分之一秒)来绘製希望用户看到的一切。影像控制器需要几项重要的硬体功能以编绘一幅场景(例如,一个具备升级的仪表和影像元素的完整仪表板──图14)、将影像元素转换成所需的影像并且保证时间预算。Jade具备这些功能或模组。
图14:具有仪表和影像元素的3D仪表样板。
例如,在Jade的影像子系统的核心有四个关键硬体加速器,它们支援实现强大且极快的硬体旋转、缩放、转换和影像呈现。这四个模组如图十五所示。各模组平行工作,实现了极速的影像性能。
图15:Jade影像子系统。
目前一些汽车的整合表盘只使用这四个模组中的两个9(2D单元和显示控制器)。另外两个是默认禁用的。使用3D几何单元和纹理处理单元可以为终端用户带来更赏心悦目的影像体验。
随时增加或改变动态图画素材
当为系统添加图画素材时,图画素材特性通常会变身为部份底层塬始程式码。当使用3D引擎来处理2D影像时,只需简单地替换系统中的现有素材,而无需更改其它。
总之,当2D图画素材被应用于3D环境时,纹理图子系统的规则要求:在x和y轴,纹理图必须是2的幂(如32 x 32, 128 x 128, 256 x 256或512 x 512画素)。儘管Jade子系统中纹理图的绝对极限是4096 x 4096,但使用像128 x 128或256 x 256这样合理尺寸的图则更普遍和有效。(一个宝贵的经验法则是:根据视觉需要确定纹理图的大小。)
例如,考虑一幅採用128 x 128画素纹理图的影像。无需改变任何程式码,我们就能完全改变树叶的外观,或彻底将其变成其它物体,而程式码将继续正常工作。这就允许开发者在不干扰编码流程的条件下,随时对影像进行重要的艺术再创作。
提供通往3D的更便捷之路?
在某一时刻,艺术工作室可以选择为现有的用户介面模板製作3D物体,而不是完全重新创作。如果3D引擎被用来处理以前用户介面的2D影像元素,那么支援这些代替现有2D元素的新3D物体要相对简单。这是因为处理这些影像的过程和库调用几乎一样,只需增加深度轴即可让物体达到真正的3D效果。
3D带给艺术工作室的诸多可能性值得深究,因为3D可以为众多产品增色。使用3D用户介面的主要障碍来自于对整个设计週期中应用该介面存在困难的担忧。採用富士通的影像显示控制器,就解决了这一问题。一旦艺术工作室和开发人员知道如何将2D物体转化为3D物体,他们就开启了全新的、精尖的影像选择的新世界。
为2D物体採用3D引擎的最大困难是无限的影像可能。解决之道就是明确如何最大程度地发挥可用功能的作用。
3D如何提升终端用户的体验
举例也许是最能展示3D影像对终端用户价值的方式。
在消费性电子产品领域,如苹果公司引领的3D元素(如封面、应用和滚选图标)在很大程度上依赖3D技术。没有这些3D元素,就几乎不可能传送这数以千计的资讯节点(如iPod上的歌),用户需要3D进行快速分类和筛选。採用3D介面技术,在有限空间裡为用户提供成千上万的选择就变得很实用(图17)。
图16:2D与3D的差别简示。
图17:3D串流媒体概念。
另一个例子是汽车仪表板。标準的汽车类比仪表板(图18)所提供的资讯有限。仪表板上的每一个实体位置只能传达一则资讯(如燃油量)。
图18:标準的类比汽车仪表板。
2D影像仪表板(图19)传达更多资讯,但缺乏深度观感。儘管从其传达的资讯来看,已是对类比仪表板的巨大改进,但是添加3D元素仍会带来显着提升。
图19:2D影像仪表板。
2D/3D影像仪表板(图20)在液晶显示萤幕的左右侧导入了3D元素。
图20:2D/3D 影像仪表板。
左侧的汽车影像可被旋转任意角度,且可提供以下资讯:
轮胎压力
车内温度
车外温度
燃油量
车门、后备箱或引擎盖的开闭状态
特定的转向讯号、前车灯和故障车灯
右侧的地球仪形状的3D影像可以显示:
每加仑油的行驶裡程
指南针的方位
路线导航指南
谷歌地球类形状的下载(fly down)
使用2D技术的仪表板的中央仪表提供了大量资讯,它是由3D引擎完成缩放、旋转等处理的。中央整合表盘(图21)也在萤幕左右侧展示了3D元素,而萤幕中央则以2D/3D元素为特色。这一1280x480分辨度的12.3英吋显示萤幕是採用Jade处理器设计。
图21:2D/3D的中央整合表盘概念。
儘管上述的大多数例子都是关于汽车应用的,但是3D技术可广泛应用于其它产业和消费性产品,如游戏、资讯终端、培训、航空和医疗设备。其中一项特别的创新应用是在冰箱上,3D影像提供了一整套可帮助用户完成一系列任务的互动功能,从使用制冰机来调节冰箱温度到确保冷藏室门已关紧。
随着设计者和开放者能更加舒适、自信和创造性地使用3D影像,这些创新的实现指日可待。
全部0条评论
快来发表一下你的评论吧 !