<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于Blackfin的智能IP Camera系統(tǒng)設(shè)計和優(yōu)化

          基于Blackfin的智能IP Camera系統(tǒng)設(shè)計和優(yōu)化

          作者:楊曄,ADI DSP | 嵌入式處理器高級技術(shù)應(yīng)用工程師;張鐵虎,ADI視頻監(jiān)控技術(shù)市場經(jīng)理 時間:2008-09-01 來源:EDN China 收藏

            媒體流傳輸

          本文引用地址:http://www.ex-cimer.com/article/87576.htm

            IP Camera的主要用途就是通過網(wǎng)絡(luò)實時傳輸遠程的視頻信息,本項目采用傳輸流(TS)通過UDP或上層的RTP協(xié)議來傳輸。傳送流是根據(jù)ITU-T Rec.H.222.0 | ISO/IEC 13818-2和ISO/IEC 13818-3協(xié)議而定義的一種數(shù)據(jù)流,其目的是為了在有可能發(fā)生嚴重錯誤的環(huán)境下進行一道或多道程序的編碼數(shù)據(jù)的傳輸和存儲。TS主要應(yīng)用于實時傳送的節(jié)目,比如實時廣播的電視節(jié)目,主要特點就是要求從視頻流的任一片段開始都是可以獨立解碼的。所以在接收端可以隨時接入。目前視頻監(jiān)控領(lǐng)域還沒有統(tǒng)一的媒體流標準,但采用TS over RTP/UDP這一標準有利于將來的系統(tǒng)整合。的一些第三方提供了完整的RTP協(xié)議棧產(chǎn)品,網(wǎng)絡(luò)上也有一些開源的實例可供參考。

            數(shù)據(jù)鏈路方面,對于壓縮視頻傳輸,一般的網(wǎng)絡(luò)接口芯片都能滿足帶寬要求,但是在評估網(wǎng)絡(luò)性能的時候,占用比也是一個非常重要的標準。BF53x系列中的BF537芯片有內(nèi)置的10/100M MAC接口,并有專用的DMA 數(shù)據(jù)通道,因此傳輸和占用比性能都非常好,在基于BF537的IP Camera上每1Mbps的網(wǎng)絡(luò)流量只消耗約1%的性能,例如傳輸 H.264 D1分辨率的監(jiān)控碼流,消耗處理器不到10MIPS。  

            軟件架構(gòu)

            mC/OSII是Blackfin所支持的RTOS之一,在高速的Blackfin處理器上有很強的硬實時性能,OS中斷響應(yīng)時間約為110 cycles(600MHz下約0.18ms)。系統(tǒng)首先創(chuàng)建一個主任務(wù)(main task),負責(zé)系統(tǒng)的初始化和創(chuàng)建其他的模塊任務(wù)。各模塊任務(wù)獨立運行,處理自己的輸入和輸出數(shù)據(jù)流,模塊之間的耦合程度較低,可以靈活的取舍。網(wǎng)絡(luò)協(xié)議棧方面,Blackfin上也有多種選擇,除了各商業(yè)RTOS配套提供的TCP/IP協(xié)議棧外,LWIP作為開源網(wǎng)絡(luò)協(xié)議棧中的佼佼者,也在Blackfin處理器上有移植版本。本項目采用了mC/OSII配套的mC/IP協(xié)議棧。

            軟件架構(gòu)分為音視頻采集,智能分析,編碼打包和網(wǎng)絡(luò)傳輸,系統(tǒng)控制等模塊,每個模塊負責(zé)不同優(yōu)先級的任務(wù),這非常有利于系統(tǒng)的集成和模塊化設(shè)計。模塊之間相互獨立,用信號量進行同步,模塊之間的數(shù)據(jù)結(jié)構(gòu)都設(shè)計成雙緩沖或者多緩沖,保證I/O模塊和運算模塊并行執(zhí)行。對于高系統(tǒng)負荷下的容錯,程序和數(shù)據(jù)結(jié)構(gòu)也考慮在內(nèi),偶然出現(xiàn)的丟幀現(xiàn)象不會影響系統(tǒng)的繼續(xù)運行,并且向系統(tǒng)控制部分報告錯誤。

            表1列出了系統(tǒng)中各模塊的來源。

             系統(tǒng)優(yōu)化

            在系統(tǒng)中,一旦算法確定下來,實現(xiàn)過程中的優(yōu)化思路一般也是固定的,首先利用編譯器的一些優(yōu)化開關(guān)和手段,其次對算法做分析,找出關(guān)鍵代碼和數(shù)據(jù),對關(guān)鍵部分做一些手工的調(diào)整,如改寫成匯編等。但在實現(xiàn)一個包括多路輸入輸出,多種算法并行的完整的系統(tǒng)時,如何達到整體運行的最優(yōu)化,除了傳統(tǒng)的算法優(yōu)化外,還需要從系統(tǒng)的角度考慮一些因素。


            系統(tǒng)帶寬的最大化和最優(yōu)化

            在這樣的一個復(fù)雜系統(tǒng)中,視頻和音頻數(shù)據(jù)的多路輸入輸出帶來了沖突和延遲,對片外內(nèi)存的使用效率有很大影響。Blackfin的SDRAM控制器支持多Bank的數(shù)據(jù)并行傳輸,因此我們要盡量把不同通道的I/O數(shù)據(jù)放在內(nèi)存的不同Bank上。因此在音視頻和網(wǎng)絡(luò)數(shù)據(jù)結(jié)構(gòu)的設(shè)計上,不光要保證高效的同步,還要利用Blackfin開發(fā)工具提供的特性把數(shù)據(jù)分散在不同的Bank上。


            片內(nèi)L1內(nèi)存的高效分配

            傳統(tǒng)上,處理器內(nèi)部的L1高速內(nèi)存可以直接訪問,存放關(guān)鍵代碼和數(shù)據(jù),提高算法運行效率。而MCU的L1一般全部用來做Cache,軟件不能直接控制。在Blackfin等高性能處理器上,L1可以靈活地配置成Cache或者直接訪問。在一個完整的系統(tǒng)中,我們要兼顧到各個模塊和操作系統(tǒng)本身,L1內(nèi)存一部分用作Cache,以保證整體cache命中率;另一部分作為SRAM用于算法的關(guān)鍵模塊。這里需要做一些反復(fù)的調(diào)整和測試,來找出一個最優(yōu)化的L1配置方案,最終目的是達到L1 內(nèi)存使用效率(命中率)最大。


            最大效率地使用DMA通道

            越來越多的處理器為I/O接口提供專用的DMA通道,以減輕處理器做數(shù)據(jù)輸入輸出的負擔(dān)。Blackfin上除了音視頻接口的DMA外,還有專用的內(nèi)存DMA通道。但是要最優(yōu)化地使用DMA,最重要的是使用乒乓緩沖,使處理器和DMA通道流水化工作。在數(shù)據(jù)輸入,算法內(nèi)部的內(nèi)存DMA,數(shù)據(jù)輸出等每個環(huán)節(jié)上都要使用DMA和乒乓緩沖,才能保證系統(tǒng)效率最高。這需要每個驅(qū)動和軟件模塊都支持這樣的數(shù)據(jù)結(jié)構(gòu)和運行模型。

            綜合起來,新型處理器上往往集成了多種提高性能的機制,軟件系統(tǒng)優(yōu)化的思路,就是保證系統(tǒng)總帶寬(如多總線,多DMA通道)和總運算單元(如多核,多乘法器)的并行化、流水化,這需要開發(fā)人員從系統(tǒng)和應(yīng)用不同的層面來保證。


            性能分析

            系統(tǒng)使用的RTOS帶來的額外開銷主要就是定時為10ms的Timer Tick,可以忽略不計。而由于BF537高超的網(wǎng)絡(luò)性能,網(wǎng)絡(luò)傳輸所占用的處理器時間也非常小。主要的處理器時間消耗在音視頻的智能分析和編碼上。

            本項目可以運行在單核或雙核Blackfin平臺上,接收端用開源項目Video Lan Client(VLC)來接收并播放。對于單周期指令集的600MHz Blackfin內(nèi)核,我們一般用600MIPS表示單核的總處理器能力,表2列出的部分系統(tǒng)模塊消耗處理器能力也用MIPS表示。

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

            小結(jié)

            未來處理器的發(fā)展,以高計算性能、硬件IP協(xié)處理、多核、面向應(yīng)用等特點,軟件平臺和軟件開發(fā)人員需要適應(yīng)這樣的變化和特點,正向著智能化方向快速發(fā)展的監(jiān)控領(lǐng)域,正需要這樣的軟硬件平臺提供支持。Blackfin處理器家族作為新一代處理能力和控制能力融合處理器的代表,需要設(shè)計更新更完善的軟件平臺與其相配合,才能充分發(fā)揮其性能和靈活性,既能最快滿足市場的需要,又能保證各廠商之間的區(qū)別和創(chuàng)新。同時公司及其合作伙伴提供多樣化的工具和支持,保證客戶能夠快速、低成本地開發(fā)出市場需要的各種產(chǎn)品。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 下一頁

          關(guān)鍵詞: 嵌入式 處理器 DSP ADI

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();