基于Blackfin的智能IP Camera系統設計

發(fā)布時(shí)間:2015-11-12 10:17    發(fā)布者:designapp
關(guān)鍵詞: Blackfin , IP , Camera , DSP
  1.背景及概述
  近年來(lái),隨著(zhù)嵌入式應用越來(lái)越復雜,應用場(chǎng)合越來(lái)越多,特別是多媒體功能在各個(gè)領(lǐng)域飛速發(fā)展,高性能計算變得無(wú)處不在,從消費電子,網(wǎng)絡(luò )通訊到工業(yè)控制和監控,大多數應用都需要更高的數字信號處理能力。出于成本和設計難度的考慮,人們傾向于使用單顆芯片完成所有的工作,傳統的DSP處理器和MCU處理器開(kāi)始以多種形式進(jìn)行融合:
  1.傳統的MCU+DSP合作方案被集成到一顆芯片封裝內;或者進(jìn)一步實(shí)現為真正的異構多核,可以共享部分甚至全部外部設備。
  2.以SoC的形式為MCU加上基于固定硬件IP模塊的數據處理能力,如一些編解碼器。針對一些固定標準的應用。
  3.隨著(zhù)高端嵌入式處理器頻率突破500MHz并正在挺進(jìn)1GHz,MCU和DSP平臺開(kāi)始真正的融合,DSP處理器的外設接口數量和控制能力逐步提高,而MCU的帶寬和計算能力特別是軟件多媒體處理能力也越來(lái)越強,兩者之間不再有質(zhì)的區別。
  以上三種融合的形式,實(shí)際上互相之間都有借鑒和交叉,從這里開(kāi)始的未來(lái)發(fā)展,DSP和MCU之間,多核處理器的核與核之間,都不再有真正的界限。對于任何應用,對應的處理器都是靈活的軟件計算能力、高效的硬件IP模塊和相應外設的結合體,即所謂的“Convergent Platform”(會(huì )聚平臺)。
  這樣的處理器平臺,對于嵌入式軟件開(kāi)發(fā)者提出了更新更高的要求,高級語(yǔ)言編譯器要能夠最大程度的利用硬件細節來(lái)優(yōu)化編譯性能,減少手工優(yōu)化的工作量,保持軟件的通用性;DSP算法開(kāi)發(fā)人員不僅僅要了解硬件平臺,也要考慮到軟件平臺的架構對算法實(shí)現和優(yōu)化的影響,例如分離硬件相關(guān)部分和無(wú)關(guān)部分以適應操作系統的結構;而軟件平臺開(kāi)發(fā)人員也要考慮處理器的細節以便進(jìn)行系統優(yōu)化,例如為多核或DMA通道的并行處理抽象出系統接口。硬件設計者,算法設計者,系統軟件設計者之間的界限也在消失,復合型的嵌入式系統開(kāi)發(fā)者和團隊才能最適應底層硬件平臺的變化。
  在這個(gè)DSP/MCU/硬件IP模塊三者融合的大趨勢中,ADI公司的Blackfin系列處理器就是一個(gè)代表產(chǎn)品。從最早的BF53x系列,到目前的增加了圖像處理單元的BF54x系列和低功耗BF52x系列,以及雙核的BF561,都是以同樣的內核配置多樣化的帶寬和外設,針對不同的應用和市場(chǎng)。在這樣的處理器上選擇和設計軟件,需要考慮的因素有很多:
  1.如何保持對處理器DSP特性硬件細節的最大效率使用,以達到最優(yōu)算法性能和并行性。
  2.如何最大程度地保持軟件通用性,避免過(guò)多的硬件相關(guān)代碼和匯編代碼。
  3.如何降低軟件平臺開(kāi)發(fā)成本,是否適合采用開(kāi)源操作系統或模塊。
  4.系統是否需要實(shí)時(shí)性能,采用的軟件平臺是否提供這樣的實(shí)時(shí)性保證。
  這些因素有時(shí)候是互相矛盾的,需要考慮具體應用的特點(diǎn)和自身的資源,來(lái)做一個(gè)折衷的最優(yōu)化設計。
  ADI公司為Blackfin的軟件平臺做了很多的努力,提供多樣化的軟件生態(tài)環(huán)境。Blackfin支持uClinux,VDK,uC/OSII,Nucleus等等多種OS/RTOS,基于VDSP開(kāi)發(fā)工具提供多種免費的音視頻codec,硬件抽象函數庫及驅動(dòng)。在這個(gè)基于BF53x的智能監控系統中,我們希望最大程度地發(fā)揮芯片處理能力,達到最好的編碼和智能算法能力,所以選擇了一種RTOS - uC/OSII及其網(wǎng)絡(luò )協(xié)議棧作為操作系統平臺。在小型的RTOS中,一般不區分用戶(hù)態(tài)和內核態(tài),訪(fǎng)問(wèn)系統硬件資源的開(kāi)銷(xiāo)小,中斷和任務(wù)切換時(shí)間有實(shí)時(shí)保證,對內存的使用和分配也比較自由,這些特點(diǎn)決定了在RTOS下更容易發(fā)揮Blackfin作為DSP處理器的性能,并能直接使用ADI提供的高性能H264編碼庫;但缺點(diǎn)是對比Linux這樣開(kāi)源資源比較豐富的操作系統,RTOS缺少某些現成的應用程序比如HTTP Server,需要更多的開(kāi)發(fā)投入或第三方資源。
  2.Blackfin IP Camera系統架構
  整個(gè)IP Camera系統主要包括音視頻采集,智能視頻分析或智能音頻分析,音/視頻編碼,流媒體打包傳輸,系統控制等模塊(如圖1所示)。
  基本系統為Blackfin的視頻接口PPI同數字視頻流輸入相連來(lái)接收視頻信號,而串行的SPORT接口可以連接音頻輸入,音視頻數據以專(zhuān)用DMA通道傳送到SDRAM;如果需要智能監控,可以根據需要插入不同的分析模塊;然后軟件編碼器負責對實(shí)時(shí)采集進(jìn)來(lái)的音視頻進(jìn)行壓縮,并打成TS(Transport Stream)流來(lái)傳輸。整個(gè)系統是數據流驅動(dòng)的,下圖中不同的輸入,分析和編碼模塊可以根據需要來(lái)選擇,每個(gè)模塊的輸入和輸出的是符合標準的數據流,可以靈活地插入系統數據流的不同位置進(jìn)行處理。一般的Blackfin單核芯片只能同時(shí)使用其中的一部分模塊,但雙核芯片如BF561或雙片方案中,可以同時(shí)使用所有的模塊。
  


  圖1 基于Blackfin 537處理器IP Camera系統框圖
  2.1 視頻采集和編碼
  Blackfin 系列DSP專(zhuān)門(mén)針對高速并行數據特別是視頻數據集成了并行外圍接口(PPI),在傳統的數據總線(xiàn)的基礎上增加了一條專(zhuān)用數據吞吐通道。
  PPI接口不僅可以按照BT.601視頻流的“硬件同步”模式工作,還能自動(dòng)解碼BT.656前同步碼,從而允許無(wú)縫連接到多種視頻源和圖像傳感器,與直接存儲器存取(DMA)控制器配合使用,PPI可以在完整的視頻幀信息中只讀入有效的視頻信息,或只有消隱區域。這樣當不需要完整的視頻幀時(shí)顯著(zhù)節省了帶寬。另外,PPI可以忽略隔行的BT.656視頻流的所有第二場(chǎng)圖像信息,從而提供了一種很有效的方法用于快速抽取輸入信號。最后,因為PPI本身就可以解碼BT.656視頻流,所以它可以直接連接到流行的類(lèi)似ADV7183A視頻解碼器。
  IP Camera上主流的編碼標準如H.264,MPEG4等,ADI公司都提供了免費的編碼器軟件。本項目采用H.264視頻壓縮標準,ADI的H.264編碼器性能得到了最大的優(yōu)化,充分利用了片內L1 內存,數據通過(guò)DMA來(lái)搬移,與處理器的運算并行執行。主要的特點(diǎn)有:支持YUV420和UYVY422 (CCIR-656) 視頻輸入格式,輸出是以NAL為單位的基本視頻流;對于H264編碼,支持Baseline Profile和一些Main profile的特性(Interlaced encoding, CABAC),在BF53x上能達到最大實(shí)時(shí)1/2 D1,BF561上支持D1實(shí)時(shí),支持I和P幀,自適應CBR碼率控制等。對于不同的應用,ADI H.264編碼器的比特率是可調整的,低比特率下甚至可以在CDMA1x這樣的低帶寬應用中實(shí)現實(shí)時(shí)傳輸。
  2.2 智能監控
  目前監控市場(chǎng)的發(fā)展越來(lái)越趨向于智能化,各種視頻或音頻的智能分析算法得到產(chǎn)業(yè)化應用,如運動(dòng)目標檢測和跟蹤,入侵檢測,特殊聲音檢測和定位等等。Blackfin處理器從架構到指令集都對多媒體處理有很好的支持,有專(zhuān)用的視頻處理指令,因此特別適合于實(shí)現靈活的多媒體智能分析算法。ADI公司推出了“Image Tool Box”智能監控軟件包,針對智能監控算法中的一些常用和基本函數做了專(zhuān)門(mén)的優(yōu)化,有很好的性能,可以加速上層算法的實(shí)現和優(yōu)化。
  一般智能分析的實(shí)現是針對未編碼的媒體流進(jìn)行分析,但也有利用編碼器輸出結果的算法。本項目因為直接使用ADI公司給定的編碼庫,因此使用前置的智能模塊直接分析輸入的媒體流,并輸出結果。音視頻的智能處理種類(lèi)比較多,并在不斷地改進(jìn),所以用一般都用高性能DSP來(lái)實(shí)現。在Blackfin上目前有多種智能處理模塊,如魚(yú)眼矯正,運動(dòng)物體檢測及基于運動(dòng)檢測的上層算法如遺留物檢測、入侵檢測,槍聲檢測和定位等等。根據智能模塊的輸出結果,系統控制和編碼部分都可以做相應的智能處理,如勾勒運動(dòng)物體邊框,調高編碼器分辨率,根據音源位置調整攝像頭方向,等等。這些模塊一般都有比較標準的輸入輸出接口,便于二次開(kāi)發(fā)中的系統集成。
  2.3 媒體流傳輸
  IP Camera的主要用途就是通過(guò)網(wǎng)絡(luò )來(lái)實(shí)時(shí)傳輸遠程的視頻信息,本項目采用傳輸流(TS)通過(guò)UDP或上層的RTP協(xié)議來(lái)傳輸。傳送流是根據ITU-T Rec.H.222.0 | ISO/IEC 13818-2和ISO/IEC 13818-3協(xié)議而定義的一種數據流,其目的是為了在有可能發(fā)生嚴重錯誤的環(huán)境下進(jìn)行一道或多道程序的編碼數據的傳輸和存儲。TS主要應用于實(shí)時(shí)傳送的節目,比如實(shí)時(shí)廣播的電視節目,主要特點(diǎn)就是要求從視頻流的任一片段開(kāi)始都是可以獨立解碼的。所以在接收端可以隨時(shí)接入。目前視頻監控領(lǐng)域還沒(méi)有統一的媒體流標準,但采用TS over RTP/UDP這一標準有利于將來(lái)的系統整合。ADI的一些第三方提供了完整的RTP協(xié)議棧產(chǎn)品,網(wǎng)絡(luò )上也有一些開(kāi)源的實(shí)現可供參考。
  數據鏈路方面,對于壓縮視頻傳輸,一般的網(wǎng)絡(luò )接口芯片都能滿(mǎn)足帶寬要求,但是在評估網(wǎng)絡(luò )性能的時(shí)候,處理器占用比也是一個(gè)非常重要的標準。BF53x系列中的BF537芯片有內置的10/100M MAC接口,并有專(zhuān)用的DMA 數據通道,因此傳輸和處理器占用比性能都非常好,在基于BF537的IP Camera上每1Mbps的網(wǎng)絡(luò )流量只消耗約1%的處理器性能,例如傳輸 H264 D1分辨率的監控碼流,消耗處理器不到10MIPS。
  2.4 軟件架構
  μC/OSII是Blackfin所支持的RTOS之一,在高速的Blackfin處理器上有很強的硬實(shí)時(shí)性能,OS中斷響應時(shí)間約為110 cycles(600MHz下約0.18us)。系統首先創(chuàng )建一個(gè)主任務(wù)(main task),負責系統的初始化和創(chuàng )建其他的模塊任務(wù)。各模塊任務(wù)獨立運行,處理自己的輸入和輸出數據流,模塊之間的耦合程度較低,可以靈活的取舍。網(wǎng)絡(luò )協(xié)議棧方面,Blackfin上也有多種選擇,除了各商業(yè)RTOS配套提供的TCP/IP協(xié)議棧外,LWIP作為開(kāi)源網(wǎng)絡(luò )協(xié)議棧中的佼佼者,也在Blackfin處理器上有移植版本。本項目采用了uC/OSII配套的uC/IP協(xié)議棧。
  軟件架構分為音視頻采集,智能分析,編碼打包和網(wǎng)絡(luò )傳輸,系統控制等模塊,每個(gè)模塊由不同優(yōu)先級的任務(wù)負責,這非常有利于系統的集成和模塊化設計。模塊之間相互獨立,用信號量進(jìn)行同步,模塊之間的數據結構都設計成雙緩沖或者多緩沖,保證IO模塊和運算模塊并行執行。對于高系統負荷下的容錯,程序和數據結構也考慮在內,偶然出現的丟幀現象不會(huì )影響系統的繼續運行,并且向系統控制部分報告錯誤。
                               
                  下表(表1)列出了系統中各模塊的來(lái)源:
  表1 IP Camera系統模塊來(lái)源
  


  3.系統優(yōu)化
  在DSP系統中,一旦算法確定下來(lái),實(shí)現過(guò)程中的優(yōu)化思路一般也是固定的,首先利用編譯器的一些優(yōu)化開(kāi)關(guān)和手段,其次對算法做分析,找出關(guān)鍵代碼和數據,對關(guān)鍵部分做一些手工的調整,如改寫(xiě)成匯編等。但在實(shí)現一個(gè)包括多路輸入輸出,多種算法并行的完整的系統時(shí),如何達到整體運行的最優(yōu)化,除了傳統的算法優(yōu)化外,還需要從系統的角度考慮一些因素:
  1.系統帶寬的最大化和最優(yōu)化
  在這樣的一個(gè)復雜系統中,視頻和音頻數據的多路輸入輸出帶來(lái)了沖突和延遲,對片外內存的使用效率有很大影響。Blackfin的SDRAM控制器支持多Bank的數據并發(fā)傳輸,因此我們要盡量把不同通道的IO數據放在內存的不同Bank上。因此在音視頻和網(wǎng)絡(luò )數據結構的設計上,不光要保證高效的同步,還要利用Blackfin開(kāi)發(fā)工具提供的特性把數據分散在不同的Bank上。
  2.片內L1內存的高效分配
  傳統上,DSP處理器內部的L1高速內存可以直接訪(fǎng)問(wèn),存放關(guān)鍵代碼和數據,提高算法運行效率。而MCU的L1一般全部用來(lái)做Cache,軟件不能直接控制。在Blackfin等高性能處理器上,L1可以靈活地配置成Cache或者直接訪(fǎng)問(wèn)。在一個(gè)完整的系統中,我們要兼顧到各個(gè)模塊和操作系統本身,L1內存一部分用作Cache,以保證整體cache命中率;另一部分作為SRAM用于算法的關(guān)鍵模塊。這里需要做一些反復的調整和測試,來(lái)找出一個(gè)最優(yōu)化的L1配置方案,最終目的是達到L1 內存使用效率(命中率)最大。
  3.最大效率地使用DMA通道
  越來(lái)越多的處理器為IO接口提供專(zhuān)用的DMA通道,以減輕處理器做數據輸入輸出的負擔。Blackfin上除了音視頻接口的DMA外,還有專(zhuān)用的內存DMA通道。但是要最優(yōu)化地使用DMA,最重要的是使用乒乓緩沖,使處理器和DMA通道流水化工作。在數據輸入,算法內部的內存DMA,數據輸出等每個(gè)環(huán)節上都要使用DMA和乒乓緩沖,才能保證系統效率最高。這需要每個(gè)驅動(dòng)和軟件模塊都支持這樣的數據結構和運行模型。
  綜合起來(lái),新型處理器上往往集成了多種提高性能的機制,軟件系統優(yōu)化的思路,就是保證系統總帶寬(如多總線(xiàn),多DMA通道)和總運算單元(如多核,多乘法器)的并行化、流水化,這需要開(kāi)發(fā)人員從系統和應用不同的層面來(lái)保證。
  4.性能分析
  系統使用的RTOS帶來(lái)的額外開(kāi)銷(xiāo)主要就是定時(shí)為10ms的Timer Tick,可以忽略不計。而由于BF537高超的網(wǎng)絡(luò )性能,網(wǎng)絡(luò )傳輸所占用的處理器時(shí)間也非常小。主要的處理器時(shí)間消耗在音視頻的智能分析和編碼上。
  本項目可以運行在單核或雙核Blackfin平臺上,接收端用開(kāi)源項目Video Lan Client(VLC)來(lái)接收并播放。對于單周期指令集的600MHz Blackfin內核,我們一般用600 MIPS來(lái)表示單核的總處理器能力,下表列出的部分系統模塊消耗處理器能力也用MIPS來(lái)表示,如下表 (表2)所示。
  表2 IP Camera 的性能測試 (單位:MIPS)
  


  從上面的性能列表可以看出,對于系統中可以使用的每一個(gè)模塊,我們都可以有一個(gè)不同參數下的性能分析,在此基礎上,使用不同性能的處理器,不同的模塊,不同的編碼格式,甚至不同的幀率,我們可以針對各種應用組合出不同的系統,實(shí)現產(chǎn)品的差異化。比如我們可以完全運行智能處理算法,只在必要的時(shí)候啟動(dòng)編碼模塊發(fā)送關(guān)鍵部分的媒體流;也可以平時(shí)以低碼率、低幀率運行編碼模塊,由智能模塊動(dòng)態(tài)控制提高關(guān)鍵幀的碼率和幀率。這樣的智能監控系統,會(huì )更加實(shí)用化,最大程度地減輕人工負擔。
  


  圖2 基于Blackfin的智能監控IP Camera
  5.小結
  未來(lái)嵌入式處理器的發(fā)展,以高計算性能、硬件IP協(xié)處理、多核、面向應用等特點(diǎn),軟件平臺和軟件開(kāi)發(fā)人員需要適應這樣的變化和特點(diǎn)。正向著(zhù)智能化方向快速發(fā)展的監控領(lǐng)域,正需要這樣的軟硬件平臺提供支持。Blackfin處理器家族作為新一代處理能力和控制能力融合處理器的代表,需要設計更新更完善的軟件平臺與其相配合,才能充分發(fā)揮其性能和靈活性,既能最快滿(mǎn)足市場(chǎng)的需要,又能保證各廠(chǎng)商之間的區別和創(chuàng )新。同時(shí)ADI公司及其合作伙伴提供多樣化的工具和支持,來(lái)保證客戶(hù)能夠快速、低成本地開(kāi)發(fā)出市場(chǎng)需要的各種嵌入式產(chǎn)品。
                               
               
本文地址:http://selenalain.com/thread-156161-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页