• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于3G多媒體傳輸控制系統(tǒng)的設(shè)計(jì)

      2011-12-31 00:00:00張華翔樸燕于莉楠
      科技資訊 2011年28期

      摘 要:本文以O(shè)MAP3530為平臺(tái),介紹了一種基于CDMA2000的3G網(wǎng)絡(luò)視頻播放系統(tǒng)的設(shè)計(jì)方案,利用嵌入式系統(tǒng)實(shí)現(xiàn)了視頻文件的遠(yuǎn)程傳輸和播放,并通過(guò)對(duì)mplayer軟件及算法的優(yōu)化,提高了系統(tǒng)的性能,經(jīng)過(guò)測(cè)試,達(dá)到了較好的效果。

      關(guān)鍵詞:OMAP3530 CDMA2000 Mplayer 3G 嵌入式系統(tǒng)

      中圖分類號(hào):TN915\t\t文獻(xiàn)標(biāo)識(shí)碼:A\t\t\t文章編號(hào):1672-3791(2011)10(a)-0017-02

      目前,市場(chǎng)上的流媒體播放設(shè)備大部分分為2種類型,一種仍是單片機(jī)流媒體播放設(shè)備,這種設(shè)備僅僅只能靠自身的存儲(chǔ)設(shè)備來(lái)自動(dòng)循環(huán)播放流媒體文件;另一種是嵌入式流媒體播放設(shè)備,不過(guò)其流媒體更新還局限于局域網(wǎng)內(nèi)部傳輸或者GPRS傳輸,前者傳輸速度較快但是受地域的局限性影響,而后者屬于第二代通信系統(tǒng),視頻文件的傳輸速率受到很大影響。隨著第三代移動(dòng)通信技術(shù)的普及和嵌入式技術(shù)的成熟以及高性能嵌入式處理器的飛速發(fā)展,我們完全可以利用3G無(wú)線網(wǎng)絡(luò)傳輸速率的優(yōu)勢(shì),搭載ARM系利嵌入式平臺(tái),使流媒體傳輸不受地域限制,能快速有效的傳輸。同時(shí),由TI公司生產(chǎn)的OMAP3530高性能處理器,能夠完全很好的處理音視頻播放以及讀寫(xiě)大容量SD卡。本文設(shè)計(jì)了一種基于先進(jìn)微處理器(ARM)的3G移動(dòng)多媒體播放器,結(jié)合了3G無(wú)線傳輸技術(shù)的傳輸距離遠(yuǎn)、成本低、接入方便等優(yōu)點(diǎn)和嵌入式多媒體播放系統(tǒng)的體積小,功耗小等特點(diǎn),能夠快速、高效和大容量存儲(chǔ)傳輸流媒體文件并實(shí)現(xiàn)實(shí)時(shí)播放功能。

      1 系統(tǒng)的基本結(jié)構(gòu)

      本系統(tǒng)采用中央服務(wù)器/客戶機(jī)模式,由智能無(wú)線多媒體終端和一個(gè)發(fā)送流媒體文件的服務(wù)器組成,采用以太網(wǎng)(TCP/IP)實(shí)現(xiàn)信息傳播,可以實(shí)現(xiàn)一點(diǎn)對(duì)多點(diǎn)及集中方式對(duì)終端進(jìn)行控制播放。系統(tǒng)由中央控制器(視頻播放服務(wù)器)、播放控制軟件、網(wǎng)絡(luò)平臺(tái)、網(wǎng)絡(luò)型播放終端機(jī)構(gòu)成。

      1.1 系統(tǒng)的基本框架

      該系統(tǒng)具備的功能為:(1)無(wú)線通信功能:終端啟動(dòng)后自動(dòng)連接上DynDNS服務(wù)器,方便服務(wù)器通過(guò)3G網(wǎng)絡(luò)無(wú)線更新并存儲(chǔ)流媒體文件內(nèi)容;(2)信息管理:既可以通過(guò)3G網(wǎng)絡(luò)對(duì)成百上千個(gè)終端播放情況進(jìn)行集中統(tǒng)一的管理,也可以分級(jí)分區(qū)進(jìn)行分布式管理??蓪?duì)所有終端播放公共信息,或僅針對(duì)一個(gè)終端播放個(gè)體信息[1];(3)遠(yuǎn)程受控:隨時(shí)接收并執(zhí)行服務(wù)器端發(fā)送的任務(wù);(4)服務(wù)器端能夠?qū)h(yuǎn)程終端實(shí)現(xiàn)靈活的管理,可對(duì)相應(yīng)終端進(jìn)行實(shí)時(shí)播放和本地播放控制以及查詢?cè)摻K端本地播放內(nèi)容和刪除終端本地播放內(nèi)容等操作,可監(jiān)控各終端工作狀態(tài),多媒體播放質(zhì)量不受帶寬制約。

      本系統(tǒng)的處理器是用TI公司生產(chǎn)的OMAP3530,采用了ARM+DSP的雙核處理器(ARM CortexTM-A8處理器),能夠?qū)⑺俣葟?600MHz(不包括NEON,追蹤技術(shù)和二級(jí)高速緩沖存儲(chǔ)器)提高到1GHz以上,集成了NAND Flash控制器、SD/MMC控制器、LCD控制器、SPI接口控制器等。

      嵌入式操作系統(tǒng)構(gòu)成如下:(1)Bootloader使用TI公司專為其產(chǎn)品開(kāi)發(fā)的啟動(dòng)代碼U-BOOT;(2)內(nèi)核采用Linux2.6.28;(3)文件系統(tǒng)選擇與NAND Flash兼容較好的UBI文件系統(tǒng)。本文設(shè)計(jì)的嵌入式無(wú)線終端系統(tǒng)的硬件體系結(jié)構(gòu)如圖1所示。

      1.2 3G在嵌入式上的驅(qū)動(dòng)

      第三代通信系統(tǒng)采用的是CDMA2000,CDMA2000做到了對(duì)CDMA(is-95)系統(tǒng)的完全兼容,為技術(shù)的延續(xù)性帶來(lái)了明顯的好處:成熟性和可靠性比較有保障,同時(shí)也使CDMA2000成為從第二代向第三代移動(dòng)通信過(guò)渡最平滑的選擇。

      3G無(wú)線網(wǎng)絡(luò)在本設(shè)計(jì)中主要通過(guò)數(shù)據(jù)的發(fā)送與接收,實(shí)現(xiàn)終端與服務(wù)器的通信,因此,3G模塊在ARM9上的驅(qū)動(dòng),使得ARM9實(shí)現(xiàn)最終上網(wǎng)功能顯得異常重要。本設(shè)計(jì)的3G模塊采用了ETCOM公司生產(chǎn)的E300USB接口無(wú)線模塊。E300是一款CDMA EV-DO的Rev.A產(chǎn)品,下載速度可達(dá)到3.1Mbps。它采用傳統(tǒng)USB2.0接口,技術(shù)上采用美國(guó)高通6085芯片,支持多頻段工作、支持外接TF卡從而可以具備U盤功能,在綜合測(cè)試中顯示出了多樣化的功能和優(yōu)異的通訊性能。

      由于USB總線是主機(jī)和外設(shè)之間的一種連接,它只擔(dān)當(dāng)設(shè)備和主控制器之間的通信通道的角色。所以當(dāng)3G模塊通過(guò)USB總線接入OMAP3530中時(shí),我們必須將其驅(qū)動(dòng)程序向子系統(tǒng)注冊(cè),在宿主機(jī)上編譯內(nèi)核,進(jìn)入系統(tǒng)內(nèi)核/drivers/usb/serial,在option.c中添加E300的vendor和product這兩個(gè)ID號(hào)0x1bbb和0x000f。然后再編譯內(nèi)核中的SCSI device support 以及USB support,這樣生成的內(nèi)核拷進(jìn)OMAP3530中。

      當(dāng)3G無(wú)線網(wǎng)卡插入U(xiǎn)SB總線的時(shí)候,USBcore就會(huì)調(diào)用probe方法來(lái)檢測(cè)被傳遞進(jìn)來(lái)的信息,以確定3G無(wú)線網(wǎng)卡與驅(qū)動(dòng)程序是否相匹配。當(dāng)3G無(wú)線網(wǎng)卡被拔出時(shí),USBcore就會(huì)調(diào)用disconnect的方法來(lái)完成卸載。無(wú)線網(wǎng)卡的驅(qū)動(dòng)與USBcore的通信時(shí)是通過(guò)批量方式來(lái)傳送的。而后將撥號(hào)腳本及所需文件存放在OMAP3530文件系統(tǒng)的/etc/ppp目錄下:evdo-connect-chat、evdo-disconnect-chat、resolv.conf、/peers/evdo。其中evdo-connect-chat和evdo-disconnect-chat是chat的腳本;evdo是pppd腳本,里面配置了pppd程序參數(shù);resolv.conf是域名服務(wù)器配置文件[2]。至此,可以執(zhí)行PPP撥號(hào)實(shí)現(xiàn)3G無(wú)線網(wǎng)絡(luò)的接入功能。試著PING外網(wǎng),如果PING通就說(shuō)明終端系統(tǒng)已實(shí)現(xiàn)上網(wǎng)功能。

      2 嵌入式流媒體傳輸軟件層次結(jié)構(gòu)

      2.1 系統(tǒng)軟件的主流程(如圖2所示)

      系統(tǒng)開(kāi)啟后,Bootloader啟動(dòng),完成了硬件設(shè)備的初始化,并引導(dǎo)系統(tǒng)內(nèi)核啟動(dòng)。系統(tǒng)執(zhí)行完初始化任務(wù)后,首先自動(dòng)驅(qū)動(dòng)3G模塊實(shí)現(xiàn)上網(wǎng)功能,而后接收來(lái)自服務(wù)器端傳來(lái)的多媒體文件數(shù)據(jù),與此同時(shí)系統(tǒng)自動(dòng)掛載SD卡,調(diào)用Mplayer播放多媒體文件,在LCD上顯示出來(lái)。整個(gè)系統(tǒng)的軟件部分的實(shí)現(xiàn)可以分成三個(gè)部分:終端軟件設(shè)計(jì)、服務(wù)器軟件設(shè)計(jì)和播放器的實(shí)現(xiàn)。

      2.2 終端軟件設(shè)計(jì)

      終端軟件控制部分其主要功能是通過(guò)USB控制E300模塊和服務(wù)器進(jìn)行通信,程序一開(kāi)始就不斷監(jiān)聽(tīng)服務(wù)器端的呼叫,一旦收到服務(wù)器的連接請(qǐng)求呼叫,就會(huì)自動(dòng)連接服務(wù)器端的IP。連接成功后,終端就會(huì)開(kāi)始等待服務(wù)器端傳來(lái)的命令,收到文件傳輸命令后就開(kāi)始和服務(wù)器進(jìn)行通信。本系統(tǒng)客戶機(jī)端有兩種播放形式可供選擇。

      流媒體實(shí)時(shí)播放形式。ARM終端通過(guò)3G模塊連接到服務(wù)器端,通過(guò)讀取服務(wù)器端的內(nèi)容,實(shí)現(xiàn)與服務(wù)器端的音視頻內(nèi)容同步實(shí)時(shí)播放。這樣,就能很好的控制系統(tǒng)終端的播放內(nèi)容,實(shí)現(xiàn)了播放內(nèi)容的實(shí)時(shí)更新。同時(shí),加入了通信報(bào)錯(cuò)功能,如果某臺(tái)基于ARM模塊的客戶機(jī)終端因?yàn)榫W(wǎng)絡(luò)故障或者機(jī)械故障等原因沒(méi)有連上服務(wù)器端,服務(wù)器端會(huì)有提示。如果服務(wù)器端顯示出某個(gè)ARM模塊因?yàn)榫W(wǎng)絡(luò)故障沒(méi)有連上服務(wù)器端,終端系統(tǒng)會(huì)自動(dòng)播放SD卡上已存儲(chǔ)的音視頻文件,并每隔半小時(shí),系統(tǒng)自動(dòng)重啟3G模塊搜索網(wǎng)絡(luò)。

      傳輸?shù)絊D卡后實(shí)現(xiàn)播放。由于實(shí)時(shí)在線播放成本過(guò)于高昂,很多情況下采用系統(tǒng)傳輸音視頻文件到ARM模塊的SD卡內(nèi)存儲(chǔ)再實(shí)現(xiàn)音視頻循環(huán)播放。一旦有流媒體文件要發(fā)送時(shí),服務(wù)器端通過(guò)無(wú)線廣域網(wǎng)或有線廣域網(wǎng)發(fā)送音視頻文件,客戶端的智能無(wú)線多媒體終端通過(guò)3G模塊傳送接收音視頻文件并送入ARM模塊處理,同時(shí)存儲(chǔ)到ARM模塊上的SD卡內(nèi),通過(guò)媒體播放軟件mplayer進(jìn)行播放最終實(shí)現(xiàn)流媒體的播放。系統(tǒng)能遠(yuǎn)程監(jiān)控ARM模塊,具有二級(jí)審核功能,可以遠(yuǎn)程刪除SD卡內(nèi)文件的,比如發(fā)送錯(cuò)誤的文件或者一些過(guò)期的文件,我們可以在服務(wù)器端及時(shí)刪除;也能在服務(wù)器端實(shí)時(shí)檢測(cè)到ARM模塊正在播放的音視頻文件;當(dāng)有緊急通知等即時(shí)信息播報(bào)時(shí),系統(tǒng)能迅速切回到流媒體實(shí)時(shí)播放形式,在第一時(shí)間將最新鮮的資訊傳遞給受眾人群[3]。同時(shí),當(dāng)系統(tǒng)因?yàn)榫W(wǎng)絡(luò)故障或者機(jī)械故障等原因沒(méi)有連上服務(wù)器,服務(wù)器端會(huì)有提示。該終端支持AVI/MP4/WAV/MPEG4/H.264等音視頻解碼標(biāo)準(zhǔn)。

      2.3 服務(wù)器軟件設(shè)計(jì)

      服務(wù)器端應(yīng)用程序主要分為主線程和用戶線程。主線程主要負(fù)責(zé)用戶線程的創(chuàng)建等工作。用戶線程主要是發(fā)送對(duì)終端的控制指令和接收反饋信息,以實(shí)現(xiàn)文件的傳送,實(shí)時(shí)播放,讀取終端播放情況等功能。在數(shù)據(jù)傳輸過(guò)程中可能出現(xiàn)連接中斷的情況,為此程序中采取了斷電續(xù)傳以及超時(shí)重傳等功能,保證了數(shù)據(jù)的可靠傳輸。

      由于服務(wù)器是通過(guò)3G模塊終端移動(dòng)接入Internert,每次撥號(hào)后獲得的都是動(dòng)態(tài)IP,為了解決這個(gè)問(wèn)題,本系統(tǒng)使用了DDNS服務(wù)器。DDNS是將終端用戶的動(dòng)態(tài)IP地址映射到一個(gè)固定的域名解析服務(wù)上,用戶每次連接網(wǎng)絡(luò)的時(shí)候客戶端程序就會(huì)通過(guò)信息傳遞把該終端的動(dòng)態(tài)IP地址傳送給位于服務(wù)商主機(jī)上的服務(wù)器程序,服務(wù)器程序負(fù)責(zé)提供DNS服務(wù)并實(shí)現(xiàn)動(dòng)態(tài)域名解析。基于成本與技術(shù)層面的考慮,要求DDNS服務(wù)器滿足:免費(fèi);提供Linux客服端;速度快的要求,我們最終使用了DynDNS,把交叉編譯的客戶端放到終端運(yùn)行,并讓它在系統(tǒng)啟動(dòng)的時(shí)候自動(dòng)去更新IP。這樣,終端就能夠?qū)潭ㄓ蛎鸌P進(jìn)行解析后連接到服務(wù)器,從而使終端播放視頻的地點(diǎn)和方式更加的靈活、方便。服務(wù)器的流程圖如圖5所示,客戶機(jī)終端接收到文件后就能自動(dòng)通過(guò)Mplayer在液晶屏幕上播放出來(lái)。

      2.4 播放器的實(shí)現(xiàn)

      系統(tǒng)的視頻文件播放器選擇的是Mplayer,該播放器具有廣泛的輸出設(shè)備支持;強(qiáng)大的播放能力;OSD功能以及強(qiáng)大的音頻支持。又因其是免費(fèi)開(kāi)源的,且能很好的移植進(jìn)多種平臺(tái),Mplayer的軟件包中含有針對(duì)ARM構(gòu)架的優(yōu)化代碼,能加速對(duì)流媒體文件的處理速度,還能方便的加入新的解碼函數(shù)。

      Mplayer包含六個(gè)模塊:流接口,解復(fù)用器,主控制,解碼器,視頻輸出和音頻輸出模塊。流接口實(shí)現(xiàn)了多媒體文件的輸入接口,它可以從網(wǎng)絡(luò),標(biāo)準(zhǔn)輸入,文件等得到多媒體數(shù)據(jù)。然后通過(guò)復(fù)用模塊AVI,asf解出相應(yīng)的音視頻包。音頻視頻包被分派到解碼模塊進(jìn)行解碼,并通過(guò)音頻輸出模塊和視頻輸出模塊進(jìn)行回放。

      3 終端系統(tǒng)性能優(yōu)化

      3.1 播放器的優(yōu)化

      (1)Mplayer自帶的mp3lib庫(kù)浮點(diǎn)音頻解碼庫(kù)的解碼效率很低,在播放音頻的時(shí)候聲音比較拖沓。所以我們選用開(kāi)源軟件解碼庫(kù)libmad,它具有100%定點(diǎn)計(jì)算的特點(diǎn),完全可以取代原來(lái)的mp3lib庫(kù),進(jìn)行音頻解碼[4];(2)Mplayer的視頻解碼優(yōu)化。通過(guò)以上的方法,對(duì)視頻解碼進(jìn)行優(yōu)化。使播放器的性能得到了較大提高。CPU使用率較沒(méi)優(yōu)化前下降了許多,視頻模仿效果得到較大改善。

      3.2 算法的優(yōu)化

      在實(shí)時(shí)播放過(guò)程中,為了能在有限的帶寬下傳輸更高質(zhì)量的視頻畫(huà)質(zhì),我們利用H.264標(biāo)準(zhǔn)對(duì)視頻進(jìn)行處理,經(jīng)過(guò)在DSP內(nèi)實(shí)現(xiàn)的H.264視頻壓縮和ARM中實(shí)現(xiàn)的負(fù)載均衡算法后,能有效提高解碼效率、減少發(fā)送數(shù)據(jù)量、并能充分利用無(wú)線網(wǎng)絡(luò)帶寬資源。然而H.264的優(yōu)越性能是以增加計(jì)算復(fù)雜度為代價(jià)的,H.264解碼的復(fù)雜度是MPEG-4的3倍。多核處理器的誕生為高復(fù)雜度并行程序提供了物理平臺(tái),我們依據(jù)不同的子塊類型對(duì)應(yīng)著不同的計(jì)算復(fù)雜度,通過(guò)優(yōu)化系統(tǒng)和內(nèi)存降低系統(tǒng)消耗,來(lái)獲得更高的加速比,使得整體數(shù)據(jù)搬運(yùn)效率得到進(jìn)一步提高。針對(duì)ARM+DSP雙核,利用基于宏塊的細(xì)顆粒度并行算法,這種方法可以較好的均衡雙核間的運(yùn)算量分配問(wèn)題。然后根據(jù)H.264解碼算法的特點(diǎn),縮減不必要的判斷,合理分配和使用內(nèi)存,進(jìn)而提高運(yùn)行效率。另一方面,我們對(duì)代碼進(jìn)行合理組織,幫助解碼器生成并行度高的代碼。這樣,H.264的解碼速度得到相當(dāng)大的提高。

      于是我們著重采用并行算法來(lái)減少片上功耗問(wèn)題。這樣,對(duì)于算法性能也提出了更高的要求,而FFT算法則是音視頻編解碼以及信號(hào)處理中的一個(gè)重要組成部分。我們主要進(jìn)行在ARM Cortex-A8平臺(tái)上的非原址(Out-of-place)FFT算法的性能優(yōu)化。利用TI公司提供的LINUX下的C6x codegen tool編譯生成一個(gè)解碼算法的庫(kù)文件,對(duì)OMAP3530的DSP內(nèi)核進(jìn)行解碼算法優(yōu)化。使用Engine_open()建立一個(gè)Codec Engine實(shí)例,返回一個(gè)句柄,供該Engine的示例算法的實(shí)例使用。接下來(lái)在Engine上用videoEncodeAlgCreat()分配和初始化編解碼引擎。然后為壓縮算法分配內(nèi)存并用FifoUtil_get()取得數(shù)據(jù),調(diào)用VIDENC_process()壓縮視頻信號(hào)。最后將視頻線程和本地存儲(chǔ)線程交互,將數(shù)據(jù)寫(xiě)入SD卡中。經(jīng)測(cè)試,DSP內(nèi)核通過(guò)并行計(jì)算,大幅度減少運(yùn)算循環(huán)數(shù)量,改善運(yùn)算效率,大大提高了FFT算法的性能指標(biāo),減少片上功耗,比原始的FFT算法運(yùn)算量降低了近65%[5]。運(yùn)用新算法后,視頻播放拖沓的問(wèn)題基本得以解決。

      4 測(cè)試結(jié)果

      嵌入式終端與服務(wù)器端相隔二十公里左右進(jìn)行視頻實(shí)時(shí)播放及文件傳輸測(cè)試,終端可以流暢的播放服務(wù)器上正播放的內(nèi)容。在實(shí)時(shí)播放的同時(shí),一臺(tái)服務(wù)器端可同時(shí)向多個(gè)終端分別傳送30M、56M、108M的視頻文件傳輸。經(jīng)測(cè)試,視頻文件分別在10分鐘、18分鐘、27分鐘內(nèi)接收完畢,并在實(shí)時(shí)播放結(jié)束后順利播放出來(lái),能夠滿足系統(tǒng)的無(wú)線傳輸要求。

      5 結(jié)語(yǔ)

      本文設(shè)計(jì)開(kāi)發(fā)的基于OMAP3530的3G無(wú)線通信音視頻播放系統(tǒng),實(shí)現(xiàn)了跨地域遠(yuǎn)程數(shù)據(jù)傳輸,并較好的解決了傳輸速率以及流媒體編解碼技術(shù)問(wèn)題,具有功耗低、實(shí)時(shí)性好的優(yōu)點(diǎn)。實(shí)踐證明該系統(tǒng)性能和可靠性較高,取得了較好的效果。算法的進(jìn)一步完備和功能的擴(kuò)展是下一步需要改進(jìn)的方向。

      參考文獻(xiàn)

      [1]\t許艷英,包宋建.基于OMAP3530的無(wú)線雙模視頻監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].視頻應(yīng)用與工程,2011,35(1):115~118.

      [2]\tRUBINIA,魏永明,譯.Linux設(shè)備驅(qū)動(dòng)程序[M].北京:中國(guó)電力出版社,2005.

      [3]\tW.Richard Stevens,施正川,等,譯.UNIX網(wǎng)絡(luò)編程第1卷:套接口API和X/Open傳輸接口API[M].北京:清華大學(xué)出版社,1999.

      [4]\t羅少波.基于ESL的Linux多核多媒體解碼器系統(tǒng)研究[D].上海:上海交通大學(xué),2008.

      [5]\t王家樑,陳穎琪.基于ARM Cortec-A8平臺(tái)的Out-of-place FFT算法優(yōu)化[J].電子技術(shù),2008,23(10):144~147.

      ①基金項(xiàng)目:吉林省科技廳重點(diǎn)項(xiàng)目(項(xiàng)目編號(hào):20090315)。

      老河口市| 察隅县| 杂多县| 庆云县| 灯塔市| 延吉市| 陆河县| 崇仁县| 南部县| 浦江县| 浦县| 北流市| 洪江市| 德保县| 论坛| 建阳市| 商水县| 利川市| 霸州市| 扎兰屯市| 建湖县| 临城县| 张家界市| 五河县| 玉树县| 新昌县| 汶上县| 通化县| 广宁县| 桃江县| 南川市| 龙门县| 龙游县| 喀喇| 靖州| 中江县| 藁城市| 崇义县| 上林县| 浦东新区| 威信县|