基于多內(nèi)核處理器的高性能視頻系統(tǒng)理論分析與設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
時(shí)鐘頻率的提高帶來(lái)的高功耗、深亞微米半導(dǎo)體制造工藝漏電流產(chǎn)生的高功耗以及更多的設(shè)計(jì)挑戰(zhàn)促使處理器設(shè)計(jì)制造商開始將思路轉(zhuǎn)向到多內(nèi)核集成的解決方案上來(lái)。多核處理器技術(shù)是提高處理器性能的有效方法,因?yàn)樘幚砥鞯膶?shí)際性能是處理器在每個(gè)時(shí)鐘周期內(nèi)所能處理指令數(shù)的總量,因此增加一個(gè)內(nèi)核,處理器每個(gè)時(shí)鐘周期內(nèi)可執(zhí)行的單元數(shù)將增加一倍。上世紀(jì)末期,雙內(nèi)核處理器開始進(jìn)入高端服務(wù)器產(chǎn)品。隨著Intel和AMD公司先后推出雙內(nèi)核CPU以來(lái),多內(nèi)核CPU在個(gè)人電腦中的應(yīng)用已經(jīng)成為無(wú)可逆轉(zhuǎn)的趨勢(shì),多內(nèi)核架構(gòu)在處理器性能、低功耗、縮小系統(tǒng)電路面積等方面都表現(xiàn)出了顯著的優(yōu)勢(shì)。
從某些方面來(lái)說(shuō),嵌入式應(yīng)用對(duì)處理器的需求更為苛刻,特別是低功耗、低成本方面。為滿足當(dāng)前嵌入式設(shè)備應(yīng)用越來(lái)越高的性能需求,并盡可能地降低功耗,在高端嵌入式處理器領(lǐng)域的一個(gè)明顯變化是從頻率越來(lái)越高向多內(nèi)核架構(gòu)轉(zhuǎn)變。多內(nèi)核處理器的需求在很多產(chǎn)品領(lǐng)域顯著增加。為加強(qiáng)產(chǎn)品競(jìng)爭(zhēng)優(yōu)勢(shì),嵌入式處理器提供商在多內(nèi)核的競(jìng)爭(zhēng)中紛紛祭出高招。
高性能視頻系統(tǒng)需要多核處理器
對(duì)于嵌入式系統(tǒng)設(shè)計(jì)工程師來(lái)說(shuō),多內(nèi)核絕不是一種時(shí)髦或產(chǎn)品營(yíng)銷時(shí)的噱頭,而是基于產(chǎn)品性能需求、功耗、集成度、成本等多方面的取舍結(jié)果。特別是消費(fèi)電子產(chǎn)品應(yīng)用中,單內(nèi)核處理器依然是絕對(duì)的主流。但在部分需要更高處理、控制能力的應(yīng)用中,雙內(nèi)核處理器早已不是陽(yáng)春白雪,而這類應(yīng)用中多媒體類產(chǎn)品占很大的比重,例如視頻監(jiān)控(特別是具有智能分析功能的監(jiān)控設(shè)備)、視頻會(huì)議系統(tǒng)、數(shù)字?jǐn)z像系統(tǒng)、汽車可視化系統(tǒng)等等。
以視頻監(jiān)控應(yīng)用系統(tǒng)為例,隨著視頻監(jiān)控應(yīng)用的規(guī)模化和網(wǎng)絡(luò)化,智能化將是視頻監(jiān)控系統(tǒng)發(fā)展的另外一個(gè)必然趨勢(shì)。具有智能分析功能的新一代監(jiān)控系統(tǒng)大大地?cái)U(kuò)展了視頻監(jiān)控的應(yīng)用領(lǐng)域,除了傳統(tǒng)的安防應(yīng)用外,人體行為識(shí)別和智能交通也將開辟大量的新興應(yīng)用市場(chǎng)。
智能視頻分析算法的實(shí)現(xiàn)形式絕大部分是軟件實(shí)現(xiàn),對(duì)于嵌入式軟件實(shí)現(xiàn)來(lái)說(shuō),最終產(chǎn)品表現(xiàn)的性能優(yōu)劣與硬件平臺(tái)的關(guān)系很大。畢竟嵌入式平臺(tái)的資源是有限的,相對(duì)普通的計(jì)算機(jī)平臺(tái)而言,嵌入式平臺(tái)計(jì)算能力相對(duì)低很多,核心芯片緩存相對(duì)小,內(nèi)存容量相對(duì)小等等。這些都會(huì)給智能視頻分析算法嵌入式實(shí)現(xiàn)帶來(lái)困難,所以智能視頻分析算法在嵌入式實(shí)現(xiàn)時(shí)都會(huì)進(jìn)行一定的優(yōu)化。硬件平臺(tái)不同會(huì)導(dǎo)致優(yōu)化的策略和程度上有所差異,如果選擇的處理器越高,在底層操作上開放的指令和操作越多,優(yōu)化工具越齊全,則系統(tǒng)整體優(yōu)化的性能會(huì)越好。
智能視頻監(jiān)控設(shè)備大部分都是嵌入式設(shè)備。智能視頻監(jiān)控屬于傳統(tǒng)視頻監(jiān)控的擴(kuò)展與延伸,所以傳統(tǒng)的視頻監(jiān)控對(duì)硬件平臺(tái)的要求,智能視頻監(jiān)控也都必須具備。但智能視頻監(jiān)控與傳統(tǒng)的視頻監(jiān)控相比,用戶的需求更加多樣化,例如:作為地鐵系統(tǒng)用戶,他們需要的功能是檢測(cè)是否跨越候車的黃線,人群密度是否過(guò)大,是否有可疑的遺留物體等;對(duì)于銀行系統(tǒng)用戶來(lái)說(shuō),他們所需要的是ATM機(jī)的智能監(jiān)控分析包括是否有安裝假鍵盤、安裝吞卡器,在ATM機(jī)是否有暴力行為,是否出現(xiàn)犯罪分子的人臉等。因此,一方面,用戶需求的多樣化可以使算法隨著用戶的需求調(diào)整。另一方面,智能視頻處理要求芯片具有強(qiáng)大的處理能力,有許多算法實(shí)現(xiàn)時(shí)必須采用并行處理。因此,傳統(tǒng)的基于單內(nèi)核微控制器的解決方案面臨很大挑戰(zhàn),融合MCU及DSP的異構(gòu)雙處理器或多處理器解決方案,以及具有強(qiáng)大運(yùn)算能力的多內(nèi)核處理器是智能視頻監(jiān)控嵌入式平臺(tái)的可選方案。
雙內(nèi)核匯聚式處理器——BF561
ADSP BF561處理器是Blackfin產(chǎn)品家族中的一個(gè)具有高性能成員,它包括兩個(gè)獨(dú)立的ADI處理器核,每個(gè)處理器核包含一個(gè)雙乘法累加器信號(hào)處理機(jī),一個(gè)類RISC指令集,每個(gè)內(nèi)核均采用完全的SIMD架構(gòu),包含用于視頻加速處理和圖像處理的指令。匯聚式處理器的特點(diǎn)是減少或避免了采用單獨(dú)的數(shù)字信號(hào)和控制處理器的需求,從而減少了物料成本,同時(shí)極大地簡(jiǎn)化了軟硬件開發(fā)任務(wù)。Blackfin處理器同時(shí)提供了全面的電源管理方案,獨(dú)特的低功耗和低電壓設(shè)計(jì)(Blackfin可以由低于2V的外部電壓供電),減少了整體的功耗,這對(duì)于全天候運(yùn)行的視頻監(jiān)控來(lái)說(shuō)具有非常重要的意義。
雙內(nèi)核BF561具有兩倍于BF533處理器的處理性能,兩倍的片上存儲(chǔ)器,大大增強(qiáng)了數(shù)據(jù)帶寬,并保持與BF533處理器完全的代碼兼容。BF561處理器自帶328KB片上存儲(chǔ)器提供兩個(gè)并行數(shù)據(jù)端口,可以直接連接并行AD和DA轉(zhuǎn)換器或其他通用外設(shè)。BF561處理器還內(nèi)置了多個(gè)獨(dú)立DMA控制器,支持?jǐn)?shù)據(jù)自動(dòng)傳輸,從而使處理器內(nèi)核的負(fù)擔(dān)最小化。此外,BF561延續(xù)了Blackfin處理器具有豐富接口的特點(diǎn),為設(shè)計(jì)帶來(lái)極大的便利,例如兩個(gè)雙通道全雙工同步串行口、兩個(gè)支持ITU-R 656視頻數(shù)據(jù)格式的并行外設(shè)接口、SPI端口等。
一直以來(lái),大部分多內(nèi)核處理器是集成多個(gè)DSP和CPU內(nèi)核的異構(gòu)多核處理器,分別將DSP和CPU針對(duì)信號(hào)處理任務(wù)和控制任務(wù),適合于任務(wù)劃分簡(jiǎn)單的手機(jī)等通信應(yīng)用。而BF561的雙內(nèi)核DSP是一個(gè)例外,每個(gè)內(nèi)核都可以同時(shí)單獨(dú)處理信號(hào)處理和控制處理任務(wù),因此無(wú)須將這兩類任務(wù)分別在多個(gè)內(nèi)核之間的分配,設(shè)計(jì)工程師可以隨意地進(jìn)行任務(wù)分配以平衡內(nèi)核之間的任務(wù)處理量。BF561的雙核處理器相互獨(dú)立,工程師可以根據(jù)應(yīng)用分配兩個(gè)處理器內(nèi)核的任務(wù),兩個(gè)內(nèi)核在執(zhí)行指令上是相同的。兩個(gè)處理器內(nèi)核可以分別用于運(yùn)行嵌入式操作系統(tǒng)(OS)和信號(hào)處理;對(duì)于信號(hào)處理任務(wù)量大的嵌入式系統(tǒng)可以將兩個(gè)內(nèi)核同時(shí)用于信號(hào)處理,單獨(dú)采用具有相同內(nèi)核的BF533(或BF536處理器)運(yùn)行嵌入式操作系統(tǒng)。
圖1:匯聚式處理器與異構(gòu)協(xié)處理器的優(yōu)勢(shì)特性對(duì)比。
圖2:基于BF561的視頻監(jiān)控系統(tǒng)功能框圖。
[!--empirenews.page--]
應(yīng)用案例解析
1. 智能視頻分析
圖3是一款基于BF561平臺(tái)開發(fā)的智能視頻監(jiān)控設(shè)備,由博睿視公司獨(dú)立自主研發(fā),融合了視頻圖像處理技術(shù)、模式識(shí)別技術(shù)、嵌入式開發(fā)與設(shè)計(jì)等多種國(guó)際先進(jìn)的技術(shù)。硬件設(shè)備外形小巧、性能卓越、功耗低。目前,博睿視科技已將多種智能視頻分析算法成功移植到該硬件平臺(tái)上,這些算法包括區(qū)域入侵檢測(cè)、拌線檢測(cè)、物品遺留檢測(cè)、物品移動(dòng)或被盜檢測(cè)、有方向性的區(qū)域入侵檢測(cè)、有方向拌線檢測(cè)、車流密度檢測(cè)、人數(shù)統(tǒng)計(jì)等等。產(chǎn)品性能穩(wěn)定,算法執(zhí)行效率高。
圖3:博睿視ADI DSP智能視頻分析設(shè)備。
該視頻分析儀廣泛適用于軍事、公安、金融、交通、教育、公共設(shè)施、社區(qū)和個(gè)人,以及工業(yè)和商業(yè)領(lǐng)域。在該公司進(jìn)行方案選型中,博睿視公司在以下幾個(gè)方面看中了BF561處理器的獨(dú)特優(yōu)勢(shì):Blackfin DSP在算法并行處理上做的很好,特別是BF561采用雙DSP核,能夠?qū)崿F(xiàn)很復(fù)雜的智能視頻處理算法;Blackfin DSP采用低功耗設(shè)計(jì),穩(wěn)定性在同價(jià)位DSP中十分出眾;另外,在Blackfin DSP平臺(tái)上,ADI提供了許多開發(fā)源碼的程序,可以針對(duì)特定應(yīng)用進(jìn)行修改,非常靈活;BF561接口方便、功能強(qiáng)大,具有易于控制兩個(gè)視頻輸入/輸出口(支持ITU-R 656),方便使用的DMA控制器、UART接口,數(shù)量眾多的GPIO等優(yōu)秀性能。
2.最優(yōu)質(zhì)畫面的安保攝像頭
德國(guó)Aglaia GmbH公司推出的汽車駕駛員輔助視覺傳感器系統(tǒng)具有防止交通事故發(fā)生和改善交通流量的功能。該公司的實(shí)時(shí)電子眼方案由硬件和軟件組成,它模仿了人類從眼球(圖像捕捉)到大腦(圖像分析和闡釋)的視覺系統(tǒng),能夠通知駕駛員前方的交通標(biāo)志,對(duì)潛在的交通沖突發(fā)出警告、自動(dòng)限速,當(dāng)駕駛員駛出車道線時(shí)發(fā)出警告,甚至可以提供“疲勞分析”幫助駕駛員避免碰撞。Aglaia的完整解決方案包括攝像頭、圖像傳感器和圖像處理算法,交通分析應(yīng)用程序包括可軟件配置的功能模塊,例如車道線識(shí)別、物體識(shí)別、交通標(biāo)志識(shí)別、頭燈及尾燈識(shí)別。
圖4:德國(guó)Aglaia GmbH公司開發(fā)的汽車駕駛員輔助視覺傳感器系統(tǒng)。
經(jīng)過(guò)對(duì)現(xiàn)有解決方案的全面市場(chǎng)調(diào)研,因?yàn)锽lackfin具有高性能、低成本、低功耗和豐富I/O接口的優(yōu)勢(shì),Aglaia最終選擇了BF561處理器。Aglaia系統(tǒng)的核心部分是四個(gè)BF561處理器,需要在大約3A電流左右消耗少于20W的能量,包括嵌入式微控制器和信號(hào)處理器的能耗。雙核的BF561器件的1.2V設(shè)計(jì)只消耗不到1A的電流,很容易滿足Aglaia的20W限制的要求。
四個(gè)BF561處理器可以在低階算法上協(xié)同運(yùn)算,比如可以很容易地實(shí)現(xiàn)邊緣檢測(cè),因?yàn)檫@些處理器內(nèi)核屬性相同。這些處理器同樣可以在高階算法上協(xié)同運(yùn)算。同時(shí)還有實(shí)時(shí)算法,如需要根據(jù)攝像頭提取的道路和斑馬線特征計(jì)算出車輛的前方和側(cè)面相對(duì)位置,曲線檢測(cè)算法可以自動(dòng)處理由車輛、信號(hào)標(biāo)志、光斑、陰影,或者低圖像對(duì)比度造成的盲區(qū),這么復(fù)雜的高強(qiáng)度數(shù)學(xué)運(yùn)算,只有像BF561這樣的高性能信號(hào)處理器才可以完成任務(wù)。同樣的,對(duì)根據(jù)來(lái)自兩個(gè)攝像頭的數(shù)據(jù)三角相關(guān)來(lái)檢測(cè)道路上的物體和/或在三維空間上相對(duì)于車輛的位置的情況,這同樣需要一個(gè)高性能的信號(hào)處理器。BF561提供了可伸縮的處理性能用于圖像處理和其他任務(wù),比如在攝像頭傳感器網(wǎng)絡(luò)之間通過(guò)CAN總線和LIN總線通信。Aglaia選擇Blackfin的另外一個(gè)重要原因在于它的I/O、存儲(chǔ)器、并行數(shù)據(jù)端口(PPI)和直接內(nèi)存存取(DMA)特點(diǎn)。Blackfin處理器擁有大容量片上存儲(chǔ)器和I/O接口,能夠滿足高速幀抓取和數(shù)據(jù)傳輸需要,同時(shí)它能夠在惡劣的汽車環(huán)境條件下工作。BF561是Aglaia在這個(gè)價(jià)位上發(fā)現(xiàn)的適于汽車應(yīng)用的第一款處理器。
結(jié)束語(yǔ)
在硬件平臺(tái)的選型上如果從成本考慮,在能滿足用戶需求前提下,應(yīng)該選擇成本最低的(這里的成本還包括開發(fā)成本)。另一方面,對(duì)于諸如智能視頻監(jiān)控這類復(fù)雜應(yīng)用來(lái)說(shuō),不同的用戶可能會(huì)提新的不同需求,所以在選型時(shí)還得考慮平臺(tái)的可擴(kuò)展性,以滿足“將來(lái)”的需求。另外,產(chǎn)品開發(fā)時(shí)應(yīng)盡量在已有的資源上進(jìn)行,比如開放的例程,ADI在此提供了非常豐富的例程和資料。由于BF561處理器在代碼上完全與獲得業(yè)界廣泛使用的BF533處理器兼容,因此有非常大的設(shè)計(jì)資源優(yōu)勢(shì)。
對(duì)于多內(nèi)核處理器的復(fù)雜產(chǎn)品設(shè)計(jì)而言,產(chǎn)品本身的功能和特性只是一個(gè)方面,良好的開發(fā)工具和可用的設(shè)計(jì)資源同樣非常重要。ADI公司提供的容易安裝、使用方便的集成軟件開發(fā)和調(diào)試環(huán)境(IDDE)Visual DSP++幫助工程師從頭至尾高效管理項(xiàng)目的開發(fā)。ADI提供了一個(gè)包含編譯器、連接器和調(diào)試器的超高性能的工具鏈。這些開發(fā)環(huán)境是包括Aglaia這樣的客戶選擇BF561的重要原因。此外,ADI本地第三方設(shè)計(jì)合作公司還提供了針對(duì)特定目標(biāo)應(yīng)用而優(yōu)化的參考設(shè)計(jì)、仿真工具以及大量的成熟軟件模塊或庫(kù)資源,能有效幫助終端產(chǎn)品開發(fā)企業(yè)快速推出成熟的產(chǎn)品。