博客专栏

EEPW首页 > 博客 > 蓄势待发的3D技术

蓄势待发的3D技术

发布人:lijian 时间:2013-12-31 来源:工程师 发布文章

 你是否还记得几年前的《阿凡达》,它不仅震撼了全人类对电影的认识,同时让3D技术广泛的进入人们的视线。任何一个技术控都会对阿凡达的三维影像技术叹为观止为之热泪盈眶,但仅仅是出于对技术的崇拜。阿凡达最后留在人们的是回忆中那华丽无比的3D影像,影片的剧情随着时间渐渐褪色渐渐淡忘,但是整个世界开始为3D而疯狂。
  的确,3D并不是新技术,3D被人熟知更多还是依靠《阿凡达》。但是当《阿凡达》热度渐消之后,这个世界任何一个能扯上关系的事物都言必称3D:消费电子展、电视、世界杯、世博会、春节晚会、游戏、显示器、笔记本、打印机、投影机、照相机、GPS、摄像机、MP3、手机、服务器、Window 7……那么整个显示行业在这次被迫的高潮后将会迎来什么样的阵痛?它的发展是否已经准备好面向消费者呢?
何为3D?
  从清晰度来看,2D图像就像一张照片,只有宽度和高度,没有深度。一辆车的2D图像可以旋转、缩放,在屏幕上做二维(‘x’和‘y’)移动(转换)。而3D图像可以做三维(‘x’、‘y’和 ‘z’)的旋转、缩放和转换。3D物体有深度,是全视角的。这是基于人对空间和物体的认知,3D可使人们获得更直观和互动的体验。有效的3D图像让消费者享受视觉盛宴,帮助定义产品的风格和价值,并传递大量的信息。
  生成3D图像需要复杂精尖的图像显示控制器(GDC),而它又需要一个几何单元和结构处理单元。将这些元素整合到一个图像引擎中可提供最佳性能,如图一所示。
  
  图1  图像SoC集成。
  当前,许多最好的图像控制器对2D和3D图像都能驾驭。但在许多情况下,系统设计者并没有充分利用已有的3D功能,而这一功能可以给终端用户带来许多益处。例如,在汽车应用中,驾驶者想要了解泄气的车胎或不亮的车灯的情况。应用2D技术就要求具备许多预置图像,以此来突出所有可能的角度和情况。加之“车门或后备箱微开”的情况,就需要数百兆字节的预置2D图像(图2)。
  

     
  图2   显示旋转的2D图像(还需几百个图像来显示完整的旋转动作)。
  

     
  图3  3D图像——单一物体可以旋转至任何角度,缩放至任意大小,突出任意部位(轮胎、车灯、车门等等)。
  而有了3D技术,所有这些及更多要求只需不到一兆字节的图像和几何数据就可轻松搞定。作为该技术的领先者,富士通在嵌入式图像市场已活跃了十多年,而涉足图像领域已近二十年,它设计、开发并帮助客户集成领先的2D和3D 图像显示控制器。因此,让我们回顾一下这些强大而创新器件的基本原理。
3D物体的工作原理
  3D物体由三角形“网格”构成,这些三角形勾勒出物体具体的形状。物体越具体详细,所需的三角形也就越多(图4)。构成物体形状的三角形数量依所需物体显现的真实度而异。
  
  图4   一款福特汽车的多边形网格
  每个多边形都有三个顶点,每个顶点都在“模型空间”中有“x”、“y” 和“z”坐标。这些顶点通常表示为一系列的浮点数。整个模型完全由这些浮点数构成,这些浮点数组成了模型的顶点数组。
  下一步是对模型进行“阴影处理”或“纹理绘制”,以使其看起来更像实物。阴影处理的过程其实就是简单地为每个三角形填色。可对三角形进行单色阴影处理——即只在三角形中填充一种灰度或颜色;也可以进行高氏阴影处理——即基于每一个顶点的颜色来填充渐变色(图5)。
  
  
  图5   3D物体网格图、单色阴影处理图和高氏阴影处理图
  要使物体看起来更真实,就要添加其它复杂的效果。含有阴影处理器引擎的图像显示控制器可以实现包括水、烟、火和反射性表面属性等其它效果。
  应用纹理绘图的过程与给塑料模型印花来增加真实度相似。像印花一样,纹理绘图使网格状的框架变成一个更逼真的图像。纹理绘图是一个由多个独立小图像构成的2D方形图,这些小图被放置在多边形网格的特定位置。一个叫UV图的表格指定了这些位置,该图包括了纹理绘图中每一个“印花”的坐标(图6)。
  
  图6    一款福特汽车的UV图。
  纹理绘图一旦应用于多边形网格,就可以建立起一个完整的3D模型,既有深度,也可以旋转、缩放及随三轴(x、y、z)转换。在应用了纹理绘图以及图像处理器处理了顶点和纹理绘图数据之后,你即可看到如图七所示的完整的3D模型。
  
  图7   福特汽车完整3D模型
  通过使用图像芯片的几何引擎,这一模型现在可以任何方式进行动画模拟、从任何角度进行位置摆放。只要拥有3D模型(多边形网格和纹理绘图),无需提供任何其它数据,你就能全方位地展示3D模型。通过沿着3D模型的三个轴进行缩放、旋转和转换,你可以获得无限量的图像数据。正如之前指出的,无需昂贵的闪存或系统存储器,你就可呈现车胎数据、故障的车灯和车门状况等任意数量的信息和提示。
  因此为了达到最佳的显示效果和图像流畅性,选择正确而且合适的绘图显示控制器就变得尤为重要了。
选择合适的GDC
  从3D着色到影像变形,现今绘图显示控制器(GDC)的功能,透过各式各样的应用呈现在使用者的眼前。众多高阶图像显示控制器的产品风格与价值,塑造出让消费者目眩神迷的影像,在频谱的另一端,各种等级的GDC能明确而简单地显示资讯,让使用者一目了然看到自己想要的讯息。
  不论是简单的功能或炫丽的特色,能在绘图功能上细心投入的,最后必会在许多层面获得明显的成果。打造完美图像功能的第一步,是针对应用目标选择一款适合的GDC,并以合理的价位获得所需功能。GDC可根据其性价比分成下列三类:
* 基本–QVGA荧幕,预先着色的图形,可包括影像输入功能;
* 中阶- WVGA荧幕,以2D动态绘图为主,也可支援3D,有支援影像输入功能;
* 高阶- SXGA或更高解析度的荧幕,动态3D绘图,多重影像输入;
  汽车产业是成本相对敏感应用领域的一个很好的例子,对于系统研发业者而言,最重要的工作就是降低零组件(BOM)成本。就基本到中阶的应用而言,研发者可采用系统单芯片(SoC)绘图控制器来满足此方面需求,利用这种元件作为单芯片解决方案,这些GDC能透过CAN总线来和其他汽车系统进行通讯,并能切换到关机的电源模式来节省电池电力。由于内部VRAM记忆体的容量有限,加上各项系统瓶颈(像是总线速度)的限制,因此这些装置所支援的图像功能、弹性、像素填充率、以及荧幕尺寸都会受到局限。
  当成本因素的重要性不及效能时,这类应用可采用多重芯片架构的高阶芯片。这些GDC依赖外部车用微控制器来管理CAN传输作业,电源,以及像是步进马达控制器等周边元件。
  此外,由于这些GDC没有内建VRAM与程式快闪记忆体,因此会利用外部VRAM来支援高效能作业,在未来,运用内建式VRAM可进一步降低高阶车用GDC成本。
  富士通的“Jade”和“Emerald”是经过验证、具有复杂3D功能和领先的图像显示属性的图像显示控制器的样板。MB86R0x Jade系列图像显示控制器被用于多种汽车和工业应用。MB86R1x Emerald系列图像显示控制器则可让开发者有能力实现未来更雄心勃勃和复杂的3D应用。
富士通GDC的优势
  Jade助手库(Quantum)在富士通提供的图像库(图8和图9)中,帮助完成建立几何和纹理绘制所需的绝大多数艰巨工作。而Emerald则使用类似于OpenGL ES 2.0的图库。
  使用现的平台上实现3D更加复杂的图像功能,只需更改软件即可。总而言之,汽车制造商、游戏开发者和其他消费类电子公司可轻而易举的进行设计,而不需要花费额外的硬件工程费用,因为所需要的功能硬件和显示已经存在。
  
  图8    使用Quantum进行3D处理
  
  
  图9   Quantum 3D引擎
  Jade和Emerald在其核心部位为3D运行提供了巨大支持。这些图像显示控制器的图像功能中,至少有一半与3D技术相关,包括:
  * 3D 基本要素—— 点、线、线带、三角、三角带、三角扇、任意多边形;
  * 防失真;
  * 高氏阴影处理、单色阴影处理;
  * 纹理绘图——过滤、透视校正、混合模式、alpha颜色混合及遮盖技术;
  * 几何处理——MVP变换、裁剪、筛选、视见区转换;
  * Z-缓冲——消除隐藏面;
  * 多边绘图标志缓冲器;
  * OpenGL ES 2.0——可兼容阴影处理器引擎(只限Emerald)。
  这些强大的功能支持,可以让3D引擎像处理3D图像那样,非常Easy地处理2D图像。当你将上述3D引擎的功能添加到2D图像中,就可以获得不同凡响的效果。
  举个例子:如果使用常规的2D技术,图10中树叶图像估计会消耗100MB的闪存。这当然大大超过了许多系统的合理存储量预算和规范,特别是对于单一图像功能而言。
  如果加入更多的图像功能——假设每种功能所需的空间大小相似——就需要数百兆的闪存空间才能实现所要的图像。通过使用3D引擎来完成缩放、旋转和转换任务,取决于所选的颜色深度等因素,我们就可以将存储要求降低到8MB或更少。
  这是通过如下面的方式式实现的:
  * 为树叶的每一状态生成一幅图像;
  * 让3D引擎来处理旋转和缩放;
  * 然后用2D引擎来呈现图像(图11)。
  
  图10 3D动画树叶的自动化仪表盘
  
  图11 树叶图像:Jade 前后旋转和缩放
  全新的3D技术就是为了解决2D图像处理的各种不足,比如要求小得多的内存空间;支持加速的旋转、缩放和转换;简化图像资产的增加或更改,以及支持简单的迁移路径等,进而改进和实现消费者所需求的用户界面。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所示。各模块并行工作,实现了极速的图像性能。
  当前一些汽车的集成表盘只使用这四个模块中的两个9(2D单元和显示控制器)。另外两个是默认禁用的。使用3D几何单元和纹理处理单元可以为终端用户带来更赏心悦目的图像体验。
  
  图15 Jade图像子系统
随时增加或改变动态图像素材
  当为系统添加图像素材时,图像素材特性通常会变身为部分底层源代码。当使用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引擎被用来处理以前用户界面的2D图像元素,那么支持这些代替现有2D元素的新3D物体要相对简单。这是因为处理这些图像的过程和库调用几乎一样,只需增加深度轴即可让物体达到真正的3D效果。
  3D带给艺术工作室的诸多可能性值得深究,因为3D可以为众多产品增色。使用3D用户界面的主要障碍来自于对整个设计周期中应用该界面存在困难的担忧。采用富士通的图像显示控制器,就解决了这一问题。一旦艺术工作室和开发人员知道如何将2D物体转化为3D物体,他们就开启了全新的、精尖的图像选择的新世界。
  为2D物体采用3D引擎的最大困难是无限的图像可能。解决之道就是明确如何最大程度地发挥可用功能的作用。
  
  图16 2D与3D的差别简示
提升终端用户的3D体验
  在消费类电子产品领域,如苹果公司引领的3D元素(例如封面流、应用流和滚选图标)在很大程度上依赖3D技术。没有这些3D元素,就几乎不可能传送这数以千计的信息节点(如iPod上的歌),用户需要3D进行快速分类和筛选。采用3D界面技术,在有限空间里为用户提供成千上万的选择就变得很实用(图17)。
  
  图17 3D流媒体概念
  另一个例子是汽车仪表板。标准的汽车模拟仪表板(图18)所提供的信息有限。仪表板上的每一个物理位置只能传达一则信息(如燃油量)。
  2D图像仪表板(图19)传达更多信息,但缺乏深度观感。尽管从其传达的信息来看,已是对模拟仪表板的巨大改进,但是添加3D元素仍会带来显著提升。
  
  图18 标准的模拟汽车仪表板
  
  图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技术示范(图22)。这可能是几十个“诊断”内容之一在汽车系统。
  
  图22 3D胎压显示单元
  尽管上述的大多数例子都是关于汽车应用的,但是3D技术可广泛应用于其它工业和消费类产品,如游戏、信息终端、培训、航天和医疗设备。其中一项特别的创新应用是在冰箱上,3D图像提供了一整套可帮助用户完成一系列任务的互动功能,从使用制冰机来调节冰箱温度到确保冷藏室门已关严。
总结
  的确,3D并不是新技术,3D被人熟知更多还是依靠《阿凡达》。但是当《阿凡达》热度渐消之后,整个显示行业在这次被迫的高潮后将会迎来什么样的阵痛?对于消费者来说,因为次时代技术而加大投入到底值不值?我们还需的好好掂量掂量。
  现今极广泛的GDC功能,让元件选择成为应用开发的一个重要环结。富士通协助简化这种选择工作,针对各种应用提供许多量身打造的GDC选择,这些GDC产品都具备多元功能,并且获得业界肯定,具备竞争力与成本效益。随着设计者和开放者能更加舒适、自信和创造性地使用3D图像,更多创新的实现指日可待。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词:

相关推荐

技术专区

关闭