基于Android系統(tǒng)的H.264視頻壓縮技術(shù)實(shí)現(xiàn)
視頻服務(wù)器在目前視頻領(lǐng)域中的應(yīng)用,主要是利用網(wǎng)絡(luò)視頻服務(wù)器構(gòu)建遠(yuǎn)程監(jiān)控系統(tǒng)。基于網(wǎng)絡(luò)視頻服務(wù)器的多通道數(shù)字傳播技術(shù),具有傳統(tǒng)的模擬視頻輸出系統(tǒng)無(wú)可比擬的諸多優(yōu)勢(shì)。但要使網(wǎng)絡(luò)視頻監(jiān)控得到普及還有待于解決以下問(wèn)題:盡快提高視頻壓縮的技術(shù)水平,目前先進(jìn)的壓縮標(biāo)準(zhǔn)H.264可以部分解決視頻質(zhì)量和網(wǎng)絡(luò)帶寬占用這個(gè)矛盾。
H.264/AVC標(biāo)準(zhǔn)是一種高性能的視頻編解碼技術(shù),相比以前的標(biāo)準(zhǔn),具有更高的壓縮率、高質(zhì)量圖像、容錯(cuò)功能、并有很強(qiáng)的網(wǎng)絡(luò)適應(yīng)性。
隨著Android技術(shù)的迅猛發(fā)展和日趨成熟,其開放性、便攜性、良好的兼容性、無(wú)縫結(jié)合網(wǎng)絡(luò)通信等特點(diǎn)將使Android操作系統(tǒng)在未來(lái)工業(yè)領(lǐng)域中有廣泛的應(yīng)用。
1 系統(tǒng)概述
基于Android平臺(tái)的視頻服務(wù)器監(jiān)控系統(tǒng)由監(jiān)控前端、監(jiān)控終端和網(wǎng)絡(luò)3部分組成。監(jiān)控前端是一個(gè)嵌入式Android系統(tǒng),通過(guò)S3C6410的USB攝像頭采集視頻數(shù)據(jù),并傳送給Android應(yīng)用層的編解碼模塊,應(yīng)用層通過(guò)調(diào)用JNI接口鏈接Android底層封裝的動(dòng)態(tài)庫(kù),實(shí)現(xiàn)基于H.264標(biāo)準(zhǔn)視頻壓縮,將壓縮數(shù)據(jù)打包發(fā)送到IP網(wǎng)絡(luò)上,監(jiān)控終端通過(guò)網(wǎng)絡(luò)接收數(shù)據(jù)包,最后解碼進(jìn)行實(shí)時(shí)播放?;贏ndroid平臺(tái)的H.264視頻壓縮技術(shù)的總體框架圖,如圖1所示。
2 系統(tǒng)的硬件設(shè)計(jì)
基于Android視頻服務(wù)器系統(tǒng)包括視頻信息采集模塊、視頻信息編解碼模塊、視頻數(shù)據(jù)傳輸和顯示模塊組成。視頻信息采集和編碼模塊是整個(gè)監(jiān)控系統(tǒng)的前端,主要由USB攝像頭和Android底層的系統(tǒng)庫(kù)實(shí)現(xiàn);視頻數(shù)據(jù)傳輸模塊是整個(gè)監(jiān)控系統(tǒng)的中繼,負(fù)責(zé)監(jiān)控前端和監(jiān)控終端視頻數(shù)據(jù)的交互工作;監(jiān)控終端主要由LCD顯示模塊和電源模塊組成,LCD顯示模塊實(shí)時(shí)查看視頻,電源模塊為系統(tǒng)提供運(yùn)行所需的能量。
該技術(shù)設(shè)計(jì)采用Samsung公司的ARM11 S3C6410嵌入式處理器為核心,其主頻為533 MHz/667 MHz,S3C6410是基于16/32-bitRISC內(nèi)核的低成本、低功耗、高性能微處理器解決方案,內(nèi)部集成多個(gè)功能強(qiáng)大的硬件加速器,結(jié)合外部極佳的接口設(shè)備,能夠滿足Android程序開發(fā)的需求。其外接存儲(chǔ)設(shè)備包括256 M的DDR-SDRAM、2MB的NOR Flash、2 GB的NAND Flash。外圍接口包括串行口、JTAG調(diào)試接口和USB接口,其中USB接口連接攝像頭負(fù)責(zé)視頻數(shù)據(jù)的采集,LCD進(jìn)行實(shí)時(shí)顯示。視頻采集設(shè)備硬件結(jié)構(gòu)如圖2所示。
3 軟件設(shè)計(jì)概述
Android的系統(tǒng)構(gòu)架分為應(yīng)用層、應(yīng)用框架層、系統(tǒng)運(yùn)行庫(kù)和IJnux內(nèi)核層,Android應(yīng)用程序的開發(fā)通過(guò)應(yīng)用框架與Android底層進(jìn)行交互。技術(shù)實(shí)現(xiàn)設(shè)計(jì)采用模塊化設(shè)計(jì)方案,主要包括底層驅(qū)動(dòng)移植模塊、視頻采集模塊、視頻壓縮傳輸模塊和視頻顯示模塊。
基于Android的視頻服務(wù)器系統(tǒng)主要包括監(jiān)控前端、中間網(wǎng)絡(luò)和監(jiān)控終端。監(jiān)控前端的USB攝像頭采集視頻數(shù)據(jù),Android應(yīng)用層調(diào)用封裝的JNI庫(kù)進(jìn)行標(biāo)準(zhǔn)的H.264壓縮,經(jīng)過(guò)網(wǎng)絡(luò)打包發(fā)送給監(jiān)控終端,終端通過(guò)解碼實(shí)時(shí)查看視頻。其中流媒體服務(wù)器主要由3層結(jié)構(gòu)組成:服務(wù)器、網(wǎng)絡(luò)服務(wù)接口和驅(qū)動(dòng)模塊,如圖3所示。
3.1 操作系統(tǒng)結(jié)構(gòu)
Android作為終端操作系統(tǒng),其軟件層次自下而上分為:基于Linux內(nèi)核的操作系統(tǒng)層,各種庫(kù)和Android運(yùn)行環(huán)境,應(yīng)用程序框架和應(yīng)用程序。結(jié)構(gòu)圖如圖4所示。
(1)應(yīng)用程序。應(yīng)用程序包括Email客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有應(yīng)用程序均使用Java語(yǔ)言編寫。
評(píng)論