演講嘉賓 | 陳中貴
回顧整理 | 廖 濤
排版校對 | 李萍萍
嘉賓介紹
OS內核及視窗分論壇
陳中貴,廈門大學信息學院教授,博士生導師,美國卡耐基梅隴大學訪問學者,中國計算機學會高級會員。主要從事計算機輔助設計與圖形學研究,已發表學術論文60余篇,主持參與多項國家自然科學基金項目、重點研發項目等。擔任CCF計算機輔助設計與圖形學專委會執行委員,CSIAM幾何設計與計算專委會委員,CSIG智能圖形專委會委員。
視頻回顧
打開嗶哩嗶哩APP,觀看更清晰視頻
正文內容
矢量圖和位圖都是圖形表達中的常用表達形式。相較于位圖而言,矢量圖具有更小文件大小、更易于編輯以及更準確表達等優勢,且能夠實現無損縮放,已廣泛運用在Logo、圖標、矢量藝術和線條圖形等領域。如何實現矢量圖的高質量重建與高效繪制?廈門大學信息學院教授陳中貴在第二屆OpenHarmony技術大會上帶來了精彩分享。
矢量圖是基于數學方程的幾何圖元表示,也稱為面向對象的圖像或繪圖圖像,根據幾何特性來繪制圖形。在計算機中圖形學中,矢量圖的繪制都需要經過光柵化(Rasterization),而光柵化則需要通過圖形渲染管線實現。
由于三角剖分可以將復雜的形狀分解為一系列簡單的小三角形,從而使得圖像處理和渲染更加高效和精確,且在掃描線算法中使用三角形能夠使渲染過程更加高效,絕大部分的GPU都選擇以三角形作為其圖像渲染的基本元素。在二維的圖像繪制中,對于非三角形的元素,如何繪制呢?主要有以下幾種方法:
-
化曲為直法:在曲線上采樣,將曲線轉化為直線(或線段),進而轉換成三角形。Google開發的2D圖形繪制引擎Skia就采用了該方法。但該方法不是分辨率獨立,且放大易失真,遞歸算法不易并行。
-
纏繞數法以及掃描線法。前者可以計算纏繞數來判斷像素歸屬,后者可以利用掃描線提取圖形的邊界片段。但這兩種方法都較難在GPU上實現。
-
隱式方程法:將曲線表達轉化為隱式方程,以隱式方程為基礎判斷像素的內外歸屬。但該方法實際復雜度較高,預處理效率很慢。
目前,在二維矢量圖繪制需要解決的問題主要有:(1)分辨率相關:路徑仿射變換后需要重新細分,導致需要重復計算,實際應用中存在大量需要變換后復用的路徑;(2)不適合移動端:NVPR需要大量的訪存操作,移動端中對內存的讀寫會顯著增加能耗;(3)Stroke難計算:Stroke繪制需要計算偏移曲線,確定偏移曲線的計算量巨大。
NVPR是一種不依賴于CPU的硬件光柵化算法,目前在產業界得到了廣泛應用。但由于NVPR采取了任意三角化方案,導致可能出現部分重疊區域,需要經過額外的計算來刪除,使其繪制效率較低。此外,NVPR采取了在采樣點級別(sample-rate)執行片段著色器的抗鋸齒方案,導致其繪制效率進一步降低,需要更大的顯示內存消耗,且不適合移動端。
針對上述NVPR算法的不足,作者本人及其所在研究團隊將模版測試、著色和有符號距離抗鋸齒進行結合,提出了一種適合移動端的路徑高效硬件繪制方法。該方法能夠降低內存帶寬和功耗,使其適合移動端實現,且克服了因分辨率升高帶來的內存瓶頸,實現了分辨率無關。
此外,在圖像矢量化方面,作者本人及其所在研究團隊提出了基于曲邊網格的圖像矢量化方法以及基于TCB樣條的圖像矢量化方法。前者基于輸入的位圖以及特征檢測結果,經矢量圖初始化表示以及多次繪制優化后,相較直邊網格有更好的重建效果;后者基于TCB樣條函數所具有的分片多項式、局部支撐性以及高階光滑性等優良性質,解決了圖像矢量化的顏色跳躍問題,且輕量級、高保真。
矢量圖在視窗系統中有廣泛的應用,矢量圖繪制的效率會直接或間接影響視窗系統的性能。在設計和開發視窗系統時,需要同時考慮矢量圖的繪制方案,并采取相應的優化措施,以提高系統的性能。E N D
關注我們,獲取更多精彩。
審核編輯 黃宇
-
算法
+關注
關注
23文章
4608瀏覽量
92845 -
OpenHarmony
+關注
關注
25文章
3716瀏覽量
16273
發布評論請先 登錄
相關推薦
評論