<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于Intel Xscale和嵌入式Linux的視頻模塊設計

基于Intel Xscale和嵌入式Linux的視頻模塊設計

作者: 時(shí)間:2012-04-06 來(lái)源:網(wǎng)絡(luò ) 收藏


3.2.3 解碼模塊
由于圖像經(jīng)過(guò)了壓縮引擎的壓縮,在本地終端進(jìn)行實(shí)時(shí)顯示之前必須經(jīng)過(guò)解碼模塊的解碼,如果視頻流通過(guò)網(wǎng)絡(luò )進(jìn)行傳輸,在本地終端視頻流則不必經(jīng)過(guò)該模塊,但是遠程應用仍然需要該模塊。目前圖像壓縮技術(shù)主要采用余弦變換(DCT),小波變換(Wavelet)和子帶編碼等技術(shù),其中余弦變換具有快速算法,易于用軟硬件實(shí)現,且壓縮性能接近統計最佳,目前被廣泛采用,這也是壓縮引擎采用的算法。余弦變換用于數字圖像壓縮編碼時(shí),一般采用二維變換,先將整幅圖像分成 8×8 或16×16 宏塊,以宏塊為單位進(jìn)行二維變換,再對每一宏塊的變換域系數用Zig - Zag 方式進(jìn)行Huffman 變長(cháng)編碼或算術(shù)編碼。在圖像接收端作相反的處理,即先恢復各宏塊的變換域系數,再經(jīng)余弦反變換即可恢復圖像數據,其解碼原理和主要步驟如圖4 所示。

該模塊是提高實(shí)時(shí)性的關(guān)鍵所在,為提高實(shí)時(shí)性,我們對代碼進(jìn)行了有效的優(yōu)化,主要措施有:針對Xscale微處理器的特點(diǎn),合理安排程序流程,盡量做到并行處理,提高程序運行效率;采用適合整數運算的快速反余弦變換算法,變換中只用加法和移位,減少了乘法運算量,提高了運算效率;采用基于查表的快速 Huffman 解碼算法,以減少運算量,提高計算速度。通過(guò)這些措施既減少了內存的開(kāi)銷(xiāo),也加快了解碼的速度,取得了滿(mǎn)意的效果。

3.2.4 視頻應用模塊
視頻應用模塊包括兩部分:本地應用子模塊完成視頻圖像的實(shí)時(shí)顯示,本地用戶(hù)控制和圖像的存儲等功能;網(wǎng)絡(luò )傳輸子模塊完成基于RTP 的壓縮后的視頻流數據傳輸,遠程控制等功能。借助于 操作系統對多線(xiàn)程機制的良好支持,主線(xiàn)程專(zhuān)門(mén)負責消息的響應,使程序能夠即時(shí)響應用戶(hù)通過(guò)鼠標或鍵盤(pán)輸入的命令或其他事件,輔助線(xiàn)程用于完成圖像的實(shí)時(shí)顯示、存儲和網(wǎng)絡(luò )傳輸等其他比較費時(shí)的工作,這樣就不至于影響主線(xiàn)程的運行,保證在做圖像解碼顯示和數據傳輸的同時(shí),能夠即時(shí)響應用戶(hù)的輸入。不同的線(xiàn)程完成不同的任務(wù),提高了程序的模塊化,便于維護和擴展,充分利用了系統資源,有利于提高應用程序的實(shí)時(shí)性。由于對視頻輸出設備,RGB空間格式更加直接高效,而解碼??斓妮敵鰹閅UV顏色空間子格式,所以在視頻圖像的回顯之前必須進(jìn)行顏色空間的轉換。該模塊圖形界面的實(shí)現是通過(guò)調用MiniGUI 提供的API 函數來(lái)實(shí)現的,MiniGUI 提供了比較豐富的類(lèi)Win32API 函數,給我們開(kāi)發(fā)圖形界面帶來(lái)了很大的方便。

4 視頻模塊性能及測試效果

視頻模塊經(jīng)過(guò)終端測試,性能結果如表1 所示。通過(guò)結果可以看出,采集的經(jīng)過(guò)壓縮的視頻圖像幀速和經(jīng)過(guò)網(wǎng)絡(luò )傳輸后基于PC顯示的幀速都達到了理想水平,但視頻圖像在終端上顯示時(shí),由于處理能力較PC 機弱,解碼模塊和顯示模塊雖然經(jīng)過(guò)了優(yōu)化,但仍然占有一定的時(shí)間,使速度下降了很多。但該速度相對于來(lái)說(shuō),也達到了實(shí)用的地步,并且不影響終端基于網(wǎng)絡(luò )的視頻應用,隨著(zhù)嵌入式微處理器處理能力的逐漸增強,這個(gè)問(wèn)題也一定能得到很好的解決。比如,集成英特爾無(wú)線(xiàn)MMX 技術(shù)的處理速度更快的英特爾PXA27x 處理器家族新增了一系列新技術(shù)以提供額外的性能來(lái)支持高級視頻。

終端視頻模塊采集的圖像經(jīng)過(guò)壓縮、解壓縮后具有較高的質(zhì)量,基于PC 和終端顯示并未見(jiàn)明顯區別,圖像效果及用戶(hù)界面窗口如圖5 所示。

5 結論
本文針對基于Intel Xscale 和嵌入式 的多媒體終端對視頻應用的需求,從實(shí)時(shí)性、功耗和體積等著(zhù)手,提供了一種多媒體終端圖像實(shí)時(shí)連續采集、顯示管理和網(wǎng)絡(luò )傳輸的方案,并且在實(shí)際中得到了驗證。由于采用了模塊化設計和設計的靈活性,只需稍加修改就還可以很容易的移植到別的多媒體應用中。我們可以在該終端平臺上方便地進(jìn)行一些基于視頻模塊的網(wǎng)絡(luò )應用開(kāi)發(fā),我們認為有價(jià)值的進(jìn)一步開(kāi)發(fā)與研究方向包括: 作為嵌入式視頻網(wǎng)絡(luò )接入終端滿(mǎn)足不同方面的需要,例如遠程數字監控系統, 交互式醫療,交互式可視多媒體遠程教學(xué)、網(wǎng)絡(luò )電臺、視頻點(diǎn)播等。較PC機實(shí)現的系統有具有體積小、成本低和穩定性高的特點(diǎn),開(kāi)發(fā)具有自主知識產(chǎn)權的手持式多媒體視頻網(wǎng)絡(luò )終端系統。當今世界已經(jīng)進(jìn)入了Internet 時(shí)代, 嵌入式系統接入Internet 已成為網(wǎng)絡(luò )接入重要的基礎信息設施。因此, 具有視頻模塊的嵌入式系統在交互式多媒體、嵌入式系統、消費電子產(chǎn)品等領(lǐng)域具有很強的應用背景和市場(chǎng)前景。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>