依靠視頻預(yù)/后處理實(shí)現(xiàn)更出眾的高清多媒體
視頻預(yù)處理和后處理算法的實(shí)現(xiàn)
與視頻編解碼算法不同,預(yù)處理和后處理算法并沒有統(tǒng)一的標(biāo)準(zhǔn),各個(gè)產(chǎn)品采用的算法是不同的。此外,原有算法會(huì)不斷升級(jí),新的算法也會(huì)不斷涌現(xiàn),這些都要求預(yù)/后處理算法的硬件具有更高的可編程能力,因此專門針對(duì)這些算法優(yōu)化過的可配置處理器是一個(gè)不錯(cuò)的解決方案。
你可能并不熟悉可配置處理器的概念,但你一定對(duì)固定指令集架構(gòu)處理器有所了解,自片上系統(tǒng)誕生之日起就在使用它們。固定指令集架構(gòu)處理器延續(xù)了自1971年Intel發(fā)明業(yè)界第一顆商用單片處理器4004以來一直使用標(biāo)準(zhǔn)處理器架構(gòu)的傳統(tǒng)。SOC的出現(xiàn)(其實(shí)就是內(nèi)置處理器的ASIC)在90年代中期改變了微處理器的傳統(tǒng)架構(gòu)。既然用戶可以根據(jù)特定應(yīng)用定制硅片,那么同樣也可以定制片上的處理器。但是過去由于缺乏專門的處理器設(shè)計(jì)人員和開發(fā)維護(hù)軟件工具鏈的昂貴費(fèi)用,定制處理器一直未能實(shí)現(xiàn)。
如今,自動(dòng)化工具已經(jīng)可以幫助邏輯設(shè)計(jì)和軟件開發(fā)人員針對(duì)特定的任務(wù)來定制處理器,而不需要專門的處理器設(shè)計(jì)者參與了。由于增加了新的指令和寄存器以及將多條指令合并成單條指令,優(yōu)化后的定制處理器實(shí)現(xiàn)目標(biāo)算法的性能比通用處理器和DSP要高得多。因此,開發(fā)一個(gè)視頻專用處理器來加速各種視頻預(yù)/后處理算法就順理成章了。有很多方法來實(shí)現(xiàn)視頻算法,這里提到的辦法很簡單:用C語言來描述算法,在處理器上編譯運(yùn)行并進(jìn)行性能分析,接下來就可以看到在不同處理器架構(gòu)上的性能差異了。
表1列出了采用上述方法針對(duì)5種不同的視頻算法分別在RISC處理器、DSP處理器、針對(duì)算法用自動(dòng)化工具定制的處理器和設(shè)計(jì)人員手工定制的處理器上運(yùn)行的結(jié)果。這里的RISC處理器是一款基于Tensilica Xtensa架構(gòu)的RISC核,DSP處理器同樣基于Tensilica Xtensa架構(gòu),但是增加了包括4路SIMD MAC和DSP專用ALU等一系列DSP擴(kuò)展指令,能夠執(zhí)行4路或8路SIMD向量操作,該處理器還支持超長指令字功能,每個(gè)時(shí)鐘周期能夠發(fā)射3條獨(dú)立的指令,這套擴(kuò)展指令集被稱作Vectra LX指令集。
表1中所列視頻處理算法包括:
* 5x5像素2D濾波器:2維濾波器可用于包括圖像銳化,模糊化和增加抖動(dòng)等操作中。
* 5x5像素門限濾波器:門限濾波用黑白二值來表示圖像像素,從而使每個(gè)像素只占用1bit。濾波結(jié)果中不包括灰度信息,用于噪聲檢測等算法中
* 中值濾波:中值濾波經(jīng)常用于減小椒鹽噪聲和高斯噪聲的影響。
* 幀采樣:簡單的圖像縮小功能
* 幀求和:該算法用于衡量視頻圖像不同部位的光強(qiáng),在降噪、曝光補(bǔ)償中都有應(yīng)用,也用于輔助視頻壓縮。
經(jīng)過了SIMD/DSP擴(kuò)展的Xtensa處理器比未擴(kuò)展版本快很多,大多數(shù)視頻處理算法的性能都得到了巨大提升,但增加的面積相對(duì)來說很小(在TSMC 65LP制程下大約0.4mm2)。
表1中“XPRES”列所示為采用Tensilica自動(dòng)化工具XPRES定制的處理器執(zhí)行5種算法的性能。
XPRES對(duì)C源代碼進(jìn)行性能分析并自動(dòng)生成針對(duì)相應(yīng)代碼進(jìn)行優(yōu)化的處理器擴(kuò)展指令。自動(dòng)生成的處理器比擴(kuò)展了Vectra LX指令集的處理器面積稍小,但在大多數(shù)算法的性能上卻可以略勝一籌。
表1最后一列所示為手工定制擴(kuò)展指令和IO接口來加速特定算法的處理器性能。我們可以看到5x5 2D濾波算法的性能比未定制處理器提高了170倍;5x5門限濾波算法的性能提高了225倍;幀求和算法的性能提高了44倍。
表1:視頻算法性能結(jié)果:RISC處理器、DSP處理器和Tensilica自動(dòng)化工具XPRES定制的處理器之間的性能比較。
評(píng)論