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