計算機視覺最優(yōu)化:異質(zhì)架構(gòu)運算的運用
異質(zhì)架構(gòu)的嵌入式運算正快速成為事實。今天,我們確實已經(jīng)看到許多領(lǐng)先的IP與半導(dǎo)體業(yè)者正在開發(fā)異質(zhì)運算的硬件。在本文中,將說明異質(zhì)運算的一種典型使用案例,以及邁向異質(zhì)的編程模型時會面臨的挑戰(zhàn)。
本文引用地址:http://m.butianyuan.cn/article/279904.htm
圖一:利用多個異質(zhì)硬件與軟件元件來建置支持美化功能的視訊錄像應(yīng)用程序。
CPU還可用來決定臉部哪里些部位的膚色,然后GPU會利用雙線性過濾器來使這些紋理變得更為平滑,并移除斑點和皺紋等假影(artefact),同時保留臉部輪廓的銳利度。
轉(zhuǎn)換過的影像序列會被同時輸出到硬件編碼器以及顯示的子系統(tǒng),前者是用來錄制到硬盤,而后者是在預(yù)覽視窗中進(jìn)行渲染。若要額外的最佳化處理,CPU會指示硬件編碼器以比背景還高的逼真度來編碼臉部的多個座標(biāo),便能同時最佳化視訊質(zhì)量與檔案大小。在此案例中,至少會有5個不同的硬件元件需存取存儲器中的影像資料。
存儲器帶寬的限制
許多SoC的一個重要特性是具備單一的統(tǒng)一系統(tǒng)存儲器,象是芯片外部的DDR DRAM,而此外部存儲器會被所有硬件元件所共享。這些元件通常會利用一個共享的匯流排或互連架構(gòu)與其它的元件和存儲器進(jìn)行通訊,而此匯流排和互連架構(gòu)的帶寬由于考慮建置面積和成本,通常是非常有限的。
圖二:行動嵌入式SoC的存儲器帶寬較桌上型計算機低了許多。
與配備PCI Express匯流排的桌上型計算機等級的裝置相比,SoC的帶寬通常會少了10倍,這是常見的效能瓶頸 ─ 在多個硬件元件都想要同時存取存儲器和其它I/O的案例中更是如此。
此外,當(dāng)應(yīng)用程序?qū)①Y料的所有權(quán)在不同的硬件元件間傳遞時,底層的操作系統(tǒng)會在存儲器中產(chǎn)生重復(fù)的資料復(fù)本。在某些案例下,這可能是由于硬件的限制所造成,例如,GPU必須存取CPU配置在虛擬存儲器中的資料,而此虛擬存儲器是CPU可任意在硬盤中編頁的空間。
在其它的案例中,這可能是與影像格式有關(guān);例如,ISP是以YUV格式來產(chǎn)生影像傳感器資料,但是CPU或GPU需要在RGB色彩空間中過濾此資料。
相反地,有些操作系統(tǒng)象是Android,能在將資料提供給開發(fā)人員之前自動把影像從YUV格式轉(zhuǎn)換到RGB格式(例如:OGLES_TEXTURE_2D紋理);對許多僅需要處理影像亮度資料的視覺算法來說,這會降低它們的效率。當(dāng)以視訊速率處理高分辨率影像資料時,這些幕后資料復(fù)本所導(dǎo)致的效率低落會變得更為嚴(yán)重。
為了解決這些問題,并協(xié)助開發(fā)人員開發(fā)高效能、低功耗的異質(zhì)運算應(yīng)用程序,Imagination已發(fā)表了專為SoC設(shè)計人員、OEM業(yè)者與開發(fā)人員所提供的影像架構(gòu)。本文中所討論的特性在OpenCL驅(qū)動程序中都能完整支持,而目前市場上多款的行動平臺均已內(nèi)建了OpenCL驅(qū)動程序。
Imagination的PowerVR影像架構(gòu)能讓開發(fā)人員利用精致的影像資料操作來打造各種新的使用者體驗,從智能視覺系統(tǒng)、到擴增實境應(yīng)用以及虛擬人物建立等等。設(shè)計人員可發(fā)揮無窮的創(chuàng)造力,唯一的限制只在于手機的處理能力了!
評論