你的位置:首頁 > 測試測量 > 正文

工業(yè)分享:基于Linux的無線音視頻對講系統(tǒng)的設計

發(fā)布時間:2014-10-14 責任編輯:echolady

【導讀】隨著網(wǎng)絡技術的到來,寬帶無線網(wǎng)絡給音視頻等大數(shù)據(jù)量傳輸業(yè)務的發(fā)展提供了發(fā)展的平臺。對于音視頻的感官特性方面的更新,也隨著市場應用的更迭變得尤為迫切。無線多媒體成為通信領域的焦點,起源于無線多媒體是移動通信與多媒體的結(jié)合體。本文中的設計方案采用Linux操作系統(tǒng),能夠使系統(tǒng)更具有穩(wěn)定性和實時性。系統(tǒng)把ARM11作為核心處理器,編譯碼則采用新一代視頻編解碼標準H.264,通過無線網(wǎng)絡傳輸音視頻。設計中還采用了性價比較高的S3C6410微處理器內(nèi)部集成的多媒體編解碼器。此次設計可以在視頻電話和遠程監(jiān)控等領域推廣。

一、系統(tǒng)總體方案設計

通信雙方系統(tǒng)中音頻和視頻采集模塊負責采集模擬信號,并將采集到的音視頻數(shù)據(jù)送到音視頻管理模塊,經(jīng)過壓縮處理,再加上數(shù)據(jù)包頭一起由WiFi發(fā)送到對方;對方接收到數(shù)據(jù)后,經(jīng)過相關處理,判斷音視頻幀類型,再送往解壓縮處理模塊,恢復出音視頻數(shù)據(jù)。通信雙方設備均包含嵌入式音視頻管理模塊和無線收發(fā)模塊。無線WiFi收發(fā)模塊運行在2.4 GHz頻段,符合IEEE 802.11b無線局域網(wǎng)協(xié)議標準。

二、硬件設計

1、系統(tǒng)硬件設計

系統(tǒng)硬件設計以ARM11為核心微處理器,主頻為532 MHz,能夠滿足實時處理的要求,其內(nèi)部集成有256 MB SDRAM、2 GB FLASH、音頻錄、放音接口、Camera視頻接口、無線WiFi接口、LCD接口、SD卡接口等,同時以開源的Linux 2.6.28為內(nèi)核,yaffs2為根文件系統(tǒng),Qtopia 4.4.3作為用戶界面,為開發(fā)調(diào)試和系統(tǒng)設計提供了良好的平臺。

2、無線傳輸模塊

本系統(tǒng)的無線傳輸模塊采用工作在2.4 GHz公共頻段的WiFi模塊來實現(xiàn),它遵循IEEE 802.11b/g網(wǎng)絡標準,可用于在后期開發(fā)中將終端接入Internet,其最高數(shù)據(jù)率為54 Mb/s,支持WinCE、Linux系統(tǒng)。室內(nèi)通信距離可達100 m,室外開闊地可達300 m.只需要對ARM-Linux操作系統(tǒng)進行簡單的配置就可以由以太網(wǎng)連接模式轉(zhuǎn)化為雙機通信AD-HOC模式,在系統(tǒng)啟動之后,設計了基于Qt的窗口設計,方便切換連接模式。

選用WiFi具有很好的可擴展性,可以通過無線路由器的WiFi連接到廣域網(wǎng),具有很好的應用前景。同時大多數(shù)手機等終端設備具有WiFi功能,后期還可以將軟件升級至Andriod系統(tǒng),方便開發(fā)和移植。它減少了音視頻實時傳輸?shù)拈_發(fā)成本和周期,也給現(xiàn)代移動通信提供了一種新的音視頻通信方式。

WiFi的驅(qū)動配置好后,應用層和以太網(wǎng)接口模式編程完全相同。由于此設計音視頻數(shù)據(jù)量較大,不宜采用UDP,因為當數(shù)據(jù)量過大或傳輸信號不好時,UDP會嚴重丟包,所以最終選擇面向連接的TCP傳輸協(xié)議,保證了系統(tǒng)音視頻有效傳輸。由于TCP是應答時式傳輸數(shù)據(jù),在局域網(wǎng)內(nèi),無需考慮TCP丟包問題,為實現(xiàn)系統(tǒng)功能提供了可靠的保障。

3、音視頻采集模塊

音頻采用處理器內(nèi)部集成的IIS(Inter-IC SoundBus)音頻接口和WM9714音頻芯片。IIS是飛利浦公司為數(shù)字音頻設備之間的音頻數(shù)據(jù)傳輸而定制的一種總線標準。在飛利浦公司的IIS標準中,既規(guī)定了硬件接口系統(tǒng),也規(guī)范了音頻數(shù)據(jù)的格式?;诖擞布敖涌谝?guī)范,實現(xiàn)了集成音頻輸出、Linein輸入和Mic輸入功能。

視頻采集使用的是OV9650CMOS攝像頭模塊,分辨率高達130萬像素,可直接與OK6410開發(fā)板的Camera接口相接。適用于高端消費類電子產(chǎn)品、工業(yè)控制、車載導航、多媒體終端、行業(yè)PDA、嵌入式教育培訓、個人學習等。其結(jié)構(gòu)較簡單,提供硬件驅(qū)動程序,便于使用和調(diào)試。
[page]

三、軟件設計

軟件分為用戶界面設計和數(shù)據(jù)處理、傳輸?shù)饶K的設計。

1、嵌入式音視頻的同步

本文的基本思想是以視頻流為主媒體流,音頻流為從媒體流,視頻的播放速率保持不變,根據(jù)本地系統(tǒng)時鐘確定實際時間,通過調(diào)整音頻播放速度來達到音視頻同步。

首先選擇一個本地系統(tǒng)時鐘參考(LSCR),然后將LSCR發(fā)送到視頻解碼器和音頻解碼器,由這兩個解碼器根據(jù)各幀的PTS值對照本地系統(tǒng)時鐘,參考產(chǎn)生各幀準確的顯示或回放的時間。也就是說,生成輸出數(shù)據(jù)流時依據(jù)本地參考時鐘上的時間給每個數(shù)據(jù)塊都打上時間戳(一般包括開始時間和結(jié)束時間)。在播放時,讀取數(shù)據(jù)塊上的時間戳,同時根據(jù)本地系統(tǒng)時鐘參考上的時間來安排播放。

工業(yè)分享:基于Linux的無線音視頻對講系統(tǒng)的設計
圖1:整個系統(tǒng)的音視頻同步數(shù)據(jù)流程
 

2、基于多線程的軟件總體設計

系統(tǒng)軟件架構(gòu)如圖1所示,它是音視頻單向采集、壓縮、傳輸、接收、解壓縮、處理回放音視頻流控制過程,各個模塊采用線程處理,由信號量處理線程間優(yōu)先級構(gòu)成循環(huán)的線程,有效地處理了音視頻數(shù)據(jù)流。系統(tǒng)各功能模塊化,便于修改和移植,代碼簡短精悍。

工業(yè)分享:基于Linux的無線音視頻對講系統(tǒng)的設計
圖2:系統(tǒng)軟件架構(gòu)

3、音視頻通道管理

為了節(jié)約內(nèi)存資源,便于通道的管理,本設計采用分通道的線程池管理,音、視頻分別由自己的通道完成任務。

音視頻采集使用同一個線程處理,采用select系統(tǒng)調(diào)用,每執(zhí)行到此線程,就判斷音視頻設備是否就緒,若就緒即采集音頻或視頻到音視頻緩沖區(qū),再交給音由于處理器的高速處理和高效率視頻硬件H.264解壓縮,使得整個系統(tǒng)實時性基本達到要求。嵌入式音視頻管理模塊實現(xiàn)了整個系統(tǒng)的統(tǒng)籌控制和實時處理,為音視頻數(shù)據(jù)管理提供可靠的保證。

視頻采集壓縮線程,最后再交給發(fā)送線程打包后采用TCP發(fā)送。需要說明的是本設計線程之間均采用信號量完成線程間基于TCP的音視頻軟件架構(gòu)的同步管理。發(fā)送完以后進入接收線程等待對方發(fā)音視頻數(shù)據(jù)。在接受端由接收線程接收到據(jù)以后,判斷數(shù)據(jù)的包頭,再交由解壓縮處理線程處理,然后播放音視頻,再等待對方發(fā)數(shù)據(jù)到本機。

4、回音消除

系統(tǒng)開始時出現(xiàn)回音和延時問題,延時是由于采集傳輸過程中造成的,所以只能盡量縮短延時,而無法做到即時播放,這也是此系統(tǒng)的缺陷之一?;匾羰怯捎谘訒r造成的,文中最后采用開源的Speex算法消除了回音。具體做法:將該算法編譯成庫文件,加入到Linux內(nèi)核,即可以使用Speex的API函數(shù),實現(xiàn)音頻的回音消除。

結(jié)語:現(xiàn)如今的電子市場,嵌入式無線終端的視頻監(jiān)控產(chǎn)品以其環(huán)境適應力強、無需布線、性能穩(wěn)通信便利、傳輸距離遠的優(yōu)勢占據(jù)市場的有利位置。本次設計是基于ARM Linux的無線音視頻通信手持式終端,體積小所以攜帶方便。系統(tǒng)采用鋰電池經(jīng)過開關電源芯片降壓的方式進行供電。直流穩(wěn)壓效率大大提高。在市場中有著廣泛的應用前景。

相關閱讀:

技術達人:ARM的非特定人語音識別系統(tǒng)的設計
ARM菜鳥快速上手
基于ARM和TFT6758的液晶顯示模塊設計

要采購微處理器么,點這里了解一下價格!
特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索
?

關閉

?

關閉