作者:富士通半導體Rick Tewell和Cheyenne Wolford 如今, 消費電子用戶通常希望液晶顯示屏的用戶界面包含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技術就要求具備許多預置圖像,以此來突出所有可能的角度和情況。加之“車門或后備箱微開”的情況,就需要數百兆字節的預置2D圖像(圖2)。 圖2:顯示旋轉的2D圖像(還需幾百個圖像來顯示完整的旋轉動作)。 圖3:3D圖像——單一物體可以旋轉至任何角度,縮放至任意大小,突出任意部位(輪胎、車燈、車門等等)。 而有了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模型的三個軸進行縮放、旋轉和轉換,你可以獲得無限量的圖像數據。正如之前指出的,無需昂貴的閃存或系統存儲器,你就可呈現車胎數據、故障的車燈和車門狀況等任意數量的信息和提示。 富士通的“Jade”和“Emerald”是經過驗證、具有復雜3D功能和領先的圖像顯示屬性的圖像顯示控制器的樣板。MB86R0x Jade系列圖像顯示控制器被用于多種汽車和工業應用。MB86R1x Emerald系列圖像顯示控制器則可讓開發者有能力實現未來更雄心勃勃和復雜的3D應用。 充分發揮優勢 然而,在很多情況下,現有的應用并未充分使用Jade的3D功能。這就太可惜了,因為3D技術可以在現有的平臺上實現更加復雜的圖像功能,只需更改軟件即可。換句話說,汽車廠商、游戲開發者和其他消費類電子公司可為現有的設計注入新鮮血液,而這并不需要花費額外的硬件工程費用,因為擁有這一功能的硬件和顯示已經存在。 那么,使用這一功能需要什么呢?就Jade而言,只是去使用現有的3D軟件庫就萬事大吉。為使過程更為便捷,Jade助手庫(Quantum)在富士通提供的圖像庫(V03)(圖8和圖9)中,幫助完成建立幾何和紋理繪制所需的絕大多數艱巨工作。而Emerald則使用類似于OpenGL ES 2.0的圖庫。 圖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的閃存。這當然大大超過了許多系統的合理存儲量預算和規范,特別是對于單一圖像功能而言。如果加入更多的圖像功能——假設每種功能所需的空間大小相似——就需要數百兆的閃存空間才能實現所要的圖像。通過使用3D引擎來完成縮放、旋轉和轉換任務,取決于所選的顏色深度等因素,我們就可以將存儲要求降低到8MB或更少。 這是通過如下方式實現的:為樹葉的每一狀態生成一幅圖像;讓3D引擎來處理旋轉和縮放;然后用2D引擎來呈現圖像(圖11)。 圖10:3D動畫樹葉的自動化儀表盤。 圖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的圖像子系統的核心有四個關鍵硬件加速器,它們支持實現強大且極快的硬件旋轉、縮放、轉換和圖像呈現。這四個模塊如圖十五所示。各模塊并行工作,實現了極速的圖像性能。 當前一些汽車的集成表盤只使用這四個模塊中的兩個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)。 圖15:Jade圖像子系統。 圖16:2D與3D的差別簡示。 圖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技術可廣泛應用于其它工業和消費類產品,如游戲、信息終端、培訓、航天和醫療設備。其中一項特別的創新應用是在冰箱上,3D圖像提供了一整套可幫助用戶完成一系列任務的互動功能,從使用制冰機來調節冰箱溫度到確保冷藏室門已關嚴。 隨著設計者和開放者能更加舒適、自信和創造性地使用3D圖像,這些創新的實現指日可待。 下載原文: |