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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 一種改進的嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)

          一種改進的嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)

          作者: 時間:2013-04-06 來源:網(wǎng)絡(luò) 收藏

          在具體實現(xiàn)過程中,還需特別考慮DSP端視頻編碼算法的代碼優(yōu)化。

          首先,合理分配片內(nèi)存儲器(速度快但容量小),把使用頻繁的變量(如各種編碼量化表、IDCT系數(shù)等)存放在片內(nèi)存儲器,由于原始視頻數(shù)據(jù)的數(shù)據(jù)量很大,一幀YUV420的QCIF圖像,需要37 Kbyte,因此,不能將一幀圖像的全部數(shù)據(jù)都存放在片內(nèi),可將一幀圖像數(shù)據(jù)通過DMA分多次從片外存儲器讀入到片內(nèi)處理。

          其次,盡量使用TI提供的圖像處理函數(shù)庫,即IMGLIB(它是專門為圖像和視頻處理開發(fā)的庫,TI對該庫進行了深度優(yōu)化,使用IMGLIB既簡化了開發(fā)過程,又能最大限度地提高視頻編碼算法的效率)。

          第三,使用DSP內(nèi)部自帶的一些特殊運算指令(主要執(zhí)行一些簡單的算術(shù)操作,它們是由優(yōu)化的匯編代碼寫成),可提高代碼執(zhí)行的效率;最后,為了使程序的執(zhí)行效率更高,可采取一些代碼優(yōu)化技巧,例如多用并行操作,減少判斷分支轉(zhuǎn)移,合理地使用多重循環(huán),為運算方便可將浮點數(shù)定點化,使用移位加減操作代替乘除法等。

          本系統(tǒng)實現(xiàn)了雙核架構(gòu)協(xié)調(diào)工作,克服了傳統(tǒng)單ARM核實現(xiàn)方案的數(shù)字運算能力不足和單DSP核控制代碼復(fù)雜,易用性不好的缺點。在實際應(yīng)用中,用戶能體驗到它所提供的監(jiān)控圖像質(zhì)量及幀率都比單ARM核的系統(tǒng)有明顯提高,并且系統(tǒng)的易用性沒有因為增加了DSP核而降低。下面,將給出實驗數(shù)據(jù),說明兩種方案的差距,讓讀者更直觀體會到改進方案的優(yōu)勢。

          5 測試結(jié)果

          測試硬件平臺為單ARM9核的三星S3C2410開發(fā)板和DSP+ARM9雙核的TI OSK開發(fā)板,操作系統(tǒng)為嵌入式Linux,測試序列為QCIF(176×144)格式的foreman和news,編碼算法為H.263,在碼率同為128Kbit/s的情況下進行,測試其結(jié)果列于表1中。

          從表1可看出,本文提出的對嵌入式視頻的改進方案比傳統(tǒng)方案在視頻壓縮效率上有較大提高,可在不增加帶寬需求的情況下,大幅提高監(jiān)控視頻的編碼幀率,基本可滿足人眼對視頻流暢度的要求。整個系統(tǒng)的效果圖如圖4所示。嵌入式視頻監(jiān)控終端部分采用Telnet客戶端軟件Tera Term控制運行。監(jiān)控畫面通過PC機Windows操作系統(tǒng)自帶的IE瀏覽器查看。

          6 結(jié)論

          OMAP平臺具有獨特的雙核結(jié)構(gòu),本文充分利用OMAP雙核的特點,對嵌入式網(wǎng)絡(luò)監(jiān)控終端進行改進,提高了嵌入式監(jiān)控終端的實用性,另外還簡要闡述了OMAP的軟件優(yōu)化開發(fā)方法,希望能對使用OMAP的開發(fā)人員具有借鑒作用。


          上一頁 1 2 下一頁

          評論


          相關(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); })();