作者:富士通半導體Rick Tewell和Cheyenne Wolford 如今, 消費電子用戶(hù)通常希望液晶顯示屏的用戶(hù)界面包含3D元素。自最初的3D界面上市以來(lái),消費者們已習慣了看到有縱深且能夠旋轉的物體,以及能在屏幕上移動(dòng)來(lái)顯示更多選項的菜單。iPad、iTouch和Android設備就是最好例證。成千上萬(wàn)的液晶顯示驅動(dòng)消費類(lèi)設備都以具備3D功能作為核心的用戶(hù)界面技術(shù)。 3D優(yōu)于2D的原因顯而易見(jiàn)。從清晰度來(lái)看,2D圖像就像一張照片,只有寬度和高度,沒(méi)有深度。一輛車(chē)的2D圖像可以旋轉、縮放,在屏幕上做二維(‘x’和‘y’)移動(dòng)(轉換)。而3D圖像可以做三維(‘x’、‘y’和 ‘z’)的旋轉、縮放和轉換。3D物體有深度,是全視角的。這是基于人對空間和物體的認知,3D可使人們獲得更直觀(guān)和互動(dòng)的體驗。有效的3D圖像讓消費者享受視覺(jué)盛宴,幫助定義產(chǎn)品的風(fēng)格和價(jià)值,并傳遞大量的信息。 生成3D圖像需要復雜精尖的圖像顯示控制器(GDC),而它又需要一個(gè)幾何單元和結構處理單元。將這些元素整合到一個(gè)圖像引擎中可提供最佳性能,如圖一所示。 ![]() 圖1:圖像SoC集成。 作為該技術(shù)的領(lǐng)先者,富士通在嵌入式圖像市場(chǎng)已活躍了十多年,而涉足圖像領(lǐng)域已近二十年,它設計、開(kāi)發(fā)并幫助客戶(hù)集成領(lǐng)先的2D和3D 圖像顯示控制器。因此,讓我們回顧一下這些強大而創(chuàng )新器件的基本原理。 當前,許多最好的圖像控制器對2D和3D圖像都能駕馭。但在許多情況下,系統設計者并沒(méi)有充分利用已有的3D功能,而這一功能可以給終端用戶(hù)帶來(lái)許多益處。例如,在汽車(chē)應用中,駕駛者想要了解泄氣的車(chē)胎或不亮的車(chē)燈的情況。應用2D技術(shù)就要求具備許多預置圖像,以此來(lái)突出所有可能的角度和情況。加之“車(chē)門(mén)或后備箱微開(kāi)”的情況,就需要數百兆字節的預置2D圖像(圖2)。 ![]() 圖2:顯示旋轉的2D圖像(還需幾百個(gè)圖像來(lái)顯示完整的旋轉動(dòng)作)。 ![]() 圖3:3D圖像——單一物體可以旋轉至任何角度,縮放至任意大小,突出任意部位(輪胎、車(chē)燈、車(chē)門(mén)等等)。 而有了3D技術(shù),所有這些及更多要求只需不到一兆字節的圖像和幾何數據就可輕松搞定。 3D物體的工作原理 3D物體由三角形“網(wǎng)格”構成,這些三角形勾勒出物體具體的形狀。物體越具體詳細,所需的三角形也就越多(圖4)。構成物體形狀的三角形數量依所需物體顯現的真實(shí)度而異。 ![]() 圖4:一款福特汽車(chē)的多邊形網(wǎng)格。 每個(gè)多邊形都有三個(gè)頂點(diǎn),每個(gè)頂點(diǎn)都在“模型空間”中有“x”、“ y” 和“ z”坐標。這些頂點(diǎn)通常表示為一系列的浮點(diǎn)數。整個(gè)模型完全由這些浮點(diǎn)數構成,這些浮點(diǎn)數組成了模型的頂點(diǎn)數組。 下一步是對模型進(jìn)行“陰影處理”或“紋理繪制”,以使其看起來(lái)更像實(shí)物。陰影處理的過(guò)程其實(shí)就是簡(jiǎn)單地為每個(gè)三角形填色?蓪θ切芜M(jìn)行單色陰影處理——即只在三角形中填充一種灰度或顏色;也可以進(jìn)行高氏陰影處理——即基于每一個(gè)頂點(diǎn)的顏色來(lái)填充漸變色(圖5)。 ![]() 圖5:3D物體網(wǎng)格圖、單色陰影處理圖和高氏陰影處理圖。 增加其它復雜效果 要使物體看起來(lái)更真實(shí),就要添加其它復雜的效果。含有陰影處理器引擎的圖像顯示控制器可以實(shí)現包括水、煙、火和反射性表面屬性等其它效果。 應用紋理繪圖的過(guò)程與給塑料模型印花來(lái)增加真實(shí)度相似。像印花一樣,紋理繪圖使網(wǎng)格狀的框架變成一個(gè)更逼真的圖像。紋理繪圖是一個(gè)由多個(gè)獨立小圖像構成的2D方形圖,這些小圖被放置在多邊形網(wǎng)格的特定位置。一個(gè)叫UV圖的表格指定了這些位置,該圖包括了紋理繪圖中每一個(gè)“印花”的坐標(圖6)。 ![]() 圖6:一款福特汽車(chē)的UV圖。 紋理繪圖一旦應用于多邊形網(wǎng)格,就可以建立起一個(gè)完整的3D模型,既有深度,也可以旋轉、縮放及隨三軸(x、y、z)轉換。在應用了紋理繪圖以及圖像處理器處理了頂點(diǎn)和紋理繪圖數據之后,你即可看到如圖七所示的完整的3D模型。 ![]() 圖7:福特汽車(chē)完整3D模型。 通過(guò)使用圖像芯片的幾何引擎,這一模型現在可以任何方式進(jìn)行動(dòng)畫(huà)模擬、從任何角度進(jìn)行位置擺放。只要擁有3D模型(多邊形網(wǎng)格和紋理繪圖),無(wú)需提供任何其它數據,你就能全方位地展示3D模型。通過(guò)沿著(zhù)3D模型的三個(gè)軸進(jìn)行縮放、旋轉和轉換,你可以獲得無(wú)限量的圖像數據。正如之前指出的,無(wú)需昂貴的閃存或系統存儲器,你就可呈現車(chē)胎數據、故障的車(chē)燈和車(chē)門(mén)狀況等任意數量的信息和提示。 富士通的“Jade”和“Emerald”是經(jīng)過(guò)驗證、具有復雜3D功能和領(lǐng)先的圖像顯示屬性的圖像顯示控制器的樣板。MB86R0x Jade系列圖像顯示控制器被用于多種汽車(chē)和工業(yè)應用。MB86R1x Emerald系列圖像顯示控制器則可讓開(kāi)發(fā)者有能力實(shí)現未來(lái)更雄心勃勃和復雜的3D應用。 充分發(fā)揮優(yōu)勢 然而,在很多情況下,現有的應用并未充分使用Jade的3D功能。這就太可惜了,因為3D技術(shù)可以在現有的平臺上實(shí)現更加復雜的圖像功能,只需更改軟件即可。換句話(huà)說(shuō),汽車(chē)廠(chǎng)商、游戲開(kāi)發(fā)者和其他消費類(lèi)電子公司可為現有的設計注入新鮮血液,而這并不需要花費額外的硬件工程費用,因為擁有這一功能的硬件和顯示已經(jīng)存在。 那么,使用這一功能需要什么呢?就Jade而言,只是去使用現有的3D軟件庫就萬(wàn)事大吉。為使過(guò)程更為便捷,Jade助手庫(Quantum)在富士通提供的圖像庫(V03)(圖8和圖9)中,幫助完成建立幾何和紋理繪制所需的絕大多數艱巨工作。而Emerald則使用類(lèi)似于OpenGL ES 2.0的圖庫。 ![]() 圖8:使用Quantum進(jìn)行3D處理。 ![]() 圖9:Quantum 3D 引擎。 Jade和Emerald在其核心部位為3D運行提供了巨大支持。這些圖像顯示控制器的圖像功能中,至少有一半與3D技術(shù)相關(guān),包括: 3D 基本要素—— 點(diǎn)、線(xiàn)、線(xiàn)帶、三角、三角帶、三角扇、任意多邊形 防失真 高氏陰影處理、單色陰影處理 紋理繪圖——過(guò)濾、透視校正、混合模式、alpha顏色混合及遮蓋技術(shù) 幾何處理——MVP變換、裁剪、篩選、視見(jiàn)區轉換 Z-緩沖——消除隱藏面 多邊繪圖標志緩沖器 OpenGL ES 2.0——可兼容陰影處理器引擎(只限Emerald) 3D技術(shù)如何顯著(zhù)改善2D用戶(hù)界面 3D引擎可以像處理3D圖像那樣,輕易、優(yōu)雅地處理2D圖像。當你將上述3D引擎的功能添加到2D圖像中,就可以獲得不同凡響的效果。 例如,如果使用常規的2D技術(shù),圖十中樹(shù)葉圖像估計會(huì )消耗100MB的閃存。這當然大大超過(guò)了許多系統的合理存儲量預算和規范,特別是對于單一圖像功能而言。如果加入更多的圖像功能——假設每種功能所需的空間大小相似——就需要數百兆的閃存空間才能實(shí)現所要的圖像。通過(guò)使用3D引擎來(lái)完成縮放、旋轉和轉換任務(wù),取決于所選的顏色深度等因素,我們就可以將存儲要求降低到8MB或更少。 這是通過(guò)如下方式實(shí)現的:為樹(shù)葉的每一狀態(tài)生成一幅圖像;讓3D引擎來(lái)處理旋轉和縮放;然后用2D引擎來(lái)呈現圖像(圖11)。 ![]() 圖10:3D動(dòng)畫(huà)樹(shù)葉的自動(dòng)化儀表盤(pán)。 ![]() 圖11:樹(shù)葉圖像:Jade 前后旋轉和縮放。 3D通過(guò)其它方式來(lái)改進(jìn)用戶(hù)界面開(kāi)發(fā),例如: 要求小得多的內存空間 支持加速的旋轉、縮放和轉換 簡(jiǎn)化圖像資產(chǎn)的增加或更改,以及 支持簡(jiǎn)單的遷移路徑 更小的存儲空間 如前所述,3D單元縮放、旋轉和轉換物體的能力使開(kāi)發(fā)者需要存儲的圖像數量少得多。3D技術(shù)可向用戶(hù)呈現更多信息,但對系統存儲器(DDR)和非易失性存儲器(NOR/NAND閃存)需求產(chǎn)生的影響甚微。 樹(shù)葉的例子說(shuō)明,使用3D圖像引擎來(lái)縮放、旋轉和轉換從NOR閃存中獲得的2D圖像,就可以有數千個(gè)可能的圖像。 使用八位色時(shí),就可能改變動(dòng)態(tài)物體的顏色,并產(chǎn)生諸如在兩種顏色間有褪色這種強大的色差效果。使用3D單元,可對黑白圖像進(jìn)行著(zhù)色處理,以實(shí)現幾千種可能的顏色。通過(guò)在已完成的圖像上使用2D引擎,你還可以增加臨位效應(alpha effect)(透明),并提供數以千計的其它圖像效果。 具體來(lái)說(shuō),可以對2D圖像元素實(shí)施如下操作: 大小縮放——包括使物體變寬或變窄的非線(xiàn)性縮放 如果使用的是高氏陰影處理而非單色陰影處理,可以實(shí)現單一或多種色彩 旋轉到任一角度,或 上述操作的任意同時(shí)組合 例如,假設我們以單個(gè)2D圖像(圖12)開(kāi)始,其未壓縮和壓縮格式分別占32K或3K的存儲器。 ![]() 圖12:2D樹(shù)葉圖像。 我們可以輕松地將這個(gè)單一圖像客體轉換成一系列可以從多角度、多方位呈現的圖像客體(圖13)。一旦3D引擎被用來(lái)處理2D圖像素材,那么將單一圖像物體有用性最大化的能力會(huì )成指數增長(cháng)。 ![]() 圖13:3D樹(shù)葉狀態(tài)。 硬件加速的旋轉、縮放和轉換 電腦圖像的關(guān)鍵之一是時(shí)間。必須以最快的速度把圖像素材收集起來(lái)并送到液晶顯示面板,否則用戶(hù)就會(huì )注意到圖像的繪制過(guò)程。這一速率就是通常說(shuō)的“幀頻”。 實(shí)現成功幀頻的關(guān)鍵是窮盡圖像處理器的所有能力,在預算時(shí)間內,使圖像盡可能逼真。雖然其它因素也在發(fā)揮作用,但我們一直不懈地地追求液晶顯示面板的幀頻指標,以保證圖像的流暢呈現。 在每秒60幀(液晶顯示面板的通用刷新率)的情況下,我們只有16.66毫秒(千分之一秒)來(lái)繪制希望用戶(hù)看到的一切。圖像控制器需要幾項重要的硬件功能以編繪一幅場(chǎng)景(例如,一個(gè)具備升級的儀表和圖像元素的完整儀表板——圖14)、將圖像元素轉換成所需的圖像并且保證時(shí)間預算。Jade具備這些功能或模塊。 ![]() 圖14:帶有儀表和圖像元素的3D儀表樣板。 例如,在Jade的圖像子系統的核心有四個(gè)關(guān)鍵硬件加速器,它們支持實(shí)現強大且極快的硬件旋轉、縮放、轉換和圖像呈現。這四個(gè)模塊如圖十五所示。各模塊并行工作,實(shí)現了極速的圖像性能。 當前一些汽車(chē)的集成表盤(pán)只使用這四個(gè)模塊中的兩個(gè)9(2D單元和顯示控制器)。另外兩個(gè)是默認禁用的。使用3D幾何單元和紋理處理單元可以為終端用戶(hù)帶來(lái)更賞心悅目的圖像體驗。 隨時(shí)增加或改變動(dòng)態(tài)圖像素材 當為系統添加圖像素材時(shí),圖像素材特性通常會(huì )變身為部分底層源代碼。當使用3D引擎來(lái)處理2D圖像時(shí),只需簡(jiǎn)單地替換系統中的現有素材,而無(wú)需更改其它。 總之,當2D圖像素材被應用于3D環(huán)境時(shí),紋理圖子系統的規則要求:在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這樣合理尺寸的圖則更普遍和有效。(一個(gè)寶貴的經(jīng)驗法則是:根據視覺(jué)需要確定紋理圖的大小。) 例如,考慮一幅采用128 x 128像素紋理圖的圖像。無(wú)需改變任何代碼,我們就能完全改變樹(shù)葉的外觀(guān),或徹底將其變成其它物體,而代碼將繼續正常工作。這就允許開(kāi)發(fā)者在不干擾編碼流程的條件下,隨時(shí)對圖像進(jìn)行重要的藝術(shù)再創(chuàng )作。 提供通往3D的更便捷之路 在某一時(shí)刻,藝術(shù)工作室可以選擇為現有的用戶(hù)界面模板創(chuàng )建3D物體,而不是完全重新創(chuàng )作。如果3D引擎被用來(lái)處理以前用戶(hù)界面的2D圖像元素,那么支持這些代替現有2D元素的新3D物體要相對簡(jiǎn)單。這是因為處理這些圖像的過(guò)程和庫調用幾乎一樣,只需增加深度軸即可讓物體達到真正的3D效果。 3D帶給藝術(shù)工作室的諸多可能性值得深究,因為3D可以為眾多產(chǎn)品增色。使用3D用戶(hù)界面的主要障礙來(lái)自于對整個(gè)設計周期中應用該界面存在困難的擔憂(yōu)。采用富士通的圖像顯示控制器,就解決了這一問(wèn)題。一旦藝術(shù)工作室和開(kāi)發(fā)人員知道如何將2D物體轉化為3D物體,他們就開(kāi)啟了全新的、精尖的圖像選擇的新世界。 為2D物體采用3D引擎的最大困難是無(wú)限的圖像可能。解決之道就是明確如何最大程度地發(fā)揮可用功能的作用。 3D如何提升終端用戶(hù)的體驗 舉例也許是最能展示3D圖像對終端用戶(hù)價(jià)值的方式。 在消費類(lèi)電子產(chǎn)品領(lǐng)域,如蘋(píng)果公司引領(lǐng)的3D元素(例如封面流、應用流和滾選圖標)在很大程度上依賴(lài)3D技術(shù)。沒(méi)有這些3D元素,就幾乎不可能傳送這數以千計的信息節點(diǎn)(如iPod上的歌),用戶(hù)需要3D進(jìn)行快速分類(lèi)和篩選。采用3D界面技術(shù),在有限空間里為用戶(hù)提供成千上萬(wàn)的選擇就變得很實(shí)用(圖17)。 ![]() 圖15:Jade圖像子系統。 ![]() 圖16:2D與3D的差別簡(jiǎn)示。 ![]() 圖17:3D流媒體概念 另一個(gè)例子是汽車(chē)儀表板。標準的汽車(chē)模擬儀表板(圖18)所提供的信息有限。儀表板上的每一個(gè)物理位置只能傳達一則信息(如燃油量)。 2D圖像儀表板(圖19)傳達更多信息,但缺乏深度觀(guān)感。盡管從其傳達的信息來(lái)看,已是對模擬儀表板的巨大改進(jìn),但是添加3D元素仍會(huì )帶來(lái)顯著(zhù)提升。 ![]() 圖18:標準的模擬汽車(chē)儀表板。 ![]() 圖19:2D圖像儀表板。 2D/3D 圖像儀表板(圖20)在液晶顯示屏的左右側引入了3D元素。 ![]() 圖20:2D/3D 圖像儀表板。 左側的汽車(chē)圖像可被旋轉任意角度,且可提供以下信息: 輪胎壓力 車(chē)內溫度 車(chē)外溫度 燃油量 車(chē)門(mén)、后備箱或引擎蓋的開(kāi)閉狀態(tài) 特定的轉向信號、前車(chē)燈和故障車(chē)燈 右側的地球儀形狀的3D圖像可以顯示: 每加侖油的行駛里程 指南針的方位 路線(xiàn)導航指南 谷歌地球類(lèi)形狀的下載(fly down) 使用2D技術(shù)的儀表板的中央儀表提供了大量信息,它是由3D引擎完成縮放、旋轉等處理的。中央集成表盤(pán)(圖21)也在屏幕左右側展示了3D元素,而屏幕中央則以2D/3D元素為特色。這一1280x480分辨度的12.3英寸顯示屏是采用Jade處理器設計的。 ![]() 圖21:2D/3D的中央集成表盤(pán)概念。 盡管上述的大多數例子都是關(guān)于汽車(chē)應用的,但是3D技術(shù)可廣泛應用于其它工業(yè)和消費類(lèi)產(chǎn)品,如游戲、信息終端、培訓、航天和醫療設備。其中一項特別的創(chuàng )新應用是在冰箱上,3D圖像提供了一整套可幫助用戶(hù)完成一系列任務(wù)的互動(dòng)功能,從使用制冰機來(lái)調節冰箱溫度到確保冷藏室門(mén)已關(guān)嚴。 隨著(zhù)設計者和開(kāi)放者能更加舒適、自信和創(chuàng )造性地使用3D圖像,這些創(chuàng )新的實(shí)現指日可待。 下載原文: ![]() |