基于Au1200無(wú)線車載視頻監(jiān)控的設(shè)計(jì)與實(shí)現(xiàn)
進(jìn)入信息時(shí)代,汽車的智能化、個(gè)性化需求越來(lái)越高,汽車駕乘中的安全、娛樂(lè)以及信息服務(wù)越來(lái)越受到重視。但現(xiàn)有大部分的車載系統(tǒng)都存在功能單一,智能化低,使用不便,不易組網(wǎng)等缺點(diǎn)。隨著無(wú)線寬帶網(wǎng)絡(luò)的發(fā)展、數(shù)字移動(dòng)電視的建設(shè)、多媒體技術(shù)的應(yīng)用,集多種功能于一體的無(wú)線車載媒體處理系統(tǒng)應(yīng)運(yùn)而生,它可廣泛地應(yīng)用于鐵路、地鐵、客運(yùn)汽車等交通系統(tǒng)。
本文簡(jiǎn)要介紹了基于Au1200處理器,包含無(wú)線傳輸、視頻播放、視頻監(jiān)控等多種功能的嵌入式無(wú)線車載媒體處理系統(tǒng)的設(shè)計(jì)方案,詳細(xì)描述了基于ffmpeg的軟壓縮方法,設(shè)計(jì)并實(shí)現(xiàn)了車載系統(tǒng)中視頻監(jiān)控部分的視頻采集和視頻壓縮。
1 無(wú)線車載媒體處理系統(tǒng)簡(jiǎn)介
基于Au1200的無(wú)線車載媒體處理系統(tǒng)網(wǎng)絡(luò)架構(gòu)如圖1所示。采用客戶端/服務(wù)器架構(gòu),由車載客戶端、車站服務(wù)器及通信網(wǎng)絡(luò)三部分組成。其中,客戶端選用AlchemyTM Au1200作為主控芯片。該芯片采用了MIPS32核心,是針對(duì)數(shù)字多媒體播放器、汽車信息娛樂(lè)系統(tǒng)等應(yīng)用領(lǐng)域設(shè)計(jì)的一款低功耗、高性能的嵌入式處理芯片。利用Au1200在媒體處理方面的優(yōu)勢(shì)及其豐富的外圍接口,無(wú)線車載媒體處理器的系統(tǒng)框圖如圖2所示。用戶可以通過(guò)按鍵控制整個(gè)系統(tǒng)無(wú)線傳輸、視頻播放、視頻監(jiān)控等多種功能。
服務(wù)器端使用通用的PC機(jī)服務(wù)器,為整個(gè)系統(tǒng)提供多媒體資源管理和無(wú)線網(wǎng)絡(luò)服務(wù)。
每個(gè)裝有無(wú)線車載媒體處理器的車輛,可以通過(guò)無(wú)線網(wǎng)絡(luò)連接服務(wù)器,并按照指定的方式傳輸媒體資源。
2 無(wú)線車載視頻監(jiān)控的硬件設(shè)計(jì)
Au1200嵌入式處理器采用MIPS32核心,能夠支持包括MEPG-1,MPEG-2,MPEG-4,WMV9,H.263,MP3,WMA,ASF,AVI和JPEG等多種媒體格式,其內(nèi)部集成了專門的媒體加速引擎(Media Acceler-ation Engine,MAE),不需要外部DSP,因而可以簡(jiǎn)化編程環(huán)境并減少組件,擁有豐富的片上資源和外部接口,支持USB 2.0,IDE,CCIR656攝像頭等接口。無(wú)線車載視頻監(jiān)控硬件框圖如圖3所示。
其中包括:
(1)視頻監(jiān)控輸入部分:采用Omni Vision公司的彩色CMOS圖像傳感器OV9650作為系統(tǒng)的視頻輸入設(shè)備,利用Au1200自帶的CIM(Camera Interface Module)接口,可以方便地控制OV9650。通過(guò)I2C方式,配置OV9650攝像頭的工作模式,通過(guò)CIM接口讀入采集到的視頻數(shù)據(jù),并映射到內(nèi)存單元中。根據(jù)不同流向需求,處理視頻數(shù)據(jù)流,實(shí)現(xiàn)系統(tǒng)的錄制、存儲(chǔ)、播放、傳送等功能。
(2)視頻監(jiān)控?cái)?shù)據(jù)存放部分:通過(guò)ffmpeg軟壓縮方法,將采集到的視頻數(shù)據(jù)按指定視頻格式實(shí)時(shí)壓縮成文件存儲(chǔ)于硬盤中。
(3)視頻監(jiān)控?cái)?shù)據(jù)的實(shí)時(shí)播放部分:采集到的視頻數(shù)據(jù)映射到內(nèi)存后,將RGB視頻數(shù)據(jù)直接輸出到LCD緩沖區(qū)中,即可實(shí)現(xiàn)監(jiān)控視頻在LCD設(shè)備中的實(shí)時(shí)播放。系統(tǒng)也支持視頻輸出到VGA接口的顯示設(shè)備中實(shí)時(shí)播放。此時(shí),需要將數(shù)字視頻數(shù)據(jù)轉(zhuǎn)換為模擬視頻數(shù)據(jù)。可采用ADI公司的ADV7123芯片實(shí)現(xiàn)三路高速、10位輸入的高速視頻數(shù)/模轉(zhuǎn)換。三路DAC可以分別處理紅、綠、藍(lán)視頻數(shù)據(jù),實(shí)現(xiàn)模擬顯示終端的高分辨率顯示。
(4)視頻監(jiān)控的遠(yuǎn)程傳輸部分:通過(guò)客戶端系統(tǒng)的無(wú)線網(wǎng)卡(支持802.11b/g)連接無(wú)線局域網(wǎng)絡(luò),將硬盤中的錄像文件以無(wú)線的方式,上傳到服務(wù)器中進(jìn)行保存。
(5)用戶控制部分:系統(tǒng)設(shè)計(jì)功能按鍵,分別連接到支持中斷的GPIO口上,用戶通過(guò)按鍵選擇方式,方便地對(duì)視頻監(jiān)控進(jìn)行控制。
3 無(wú)線車載視頻監(jiān)控的軟件設(shè)計(jì)
無(wú)線車載視頻監(jiān)控的軟件部分主要包括:
(1)內(nèi)核及驅(qū)動(dòng)部分
系統(tǒng)使用Linux 2.6.11內(nèi)核作為系統(tǒng)的內(nèi)核,通過(guò)make menuconfig命令,根據(jù)用戶需要配置合適的內(nèi)核和驅(qū)動(dòng),生成內(nèi)核文件鏡像。設(shè)備驅(qū)動(dòng)程序與系統(tǒng)硬件緊密相關(guān),通過(guò)修改和調(diào)試后模塊化的集成于內(nèi)核之中。所涉及到的驅(qū)動(dòng)程序包括用戶按鍵驅(qū)動(dòng)、攝像頭驅(qū)動(dòng)、LCD/VGA顯示驅(qū)動(dòng)、硬盤驅(qū)動(dòng)、播放器相關(guān)的MAE驅(qū)動(dòng)和與無(wú)線傳輸相關(guān)的無(wú)線網(wǎng)卡驅(qū)動(dòng)等。在此著重介紹系統(tǒng)攝像頭驅(qū)動(dòng)的關(guān)鍵部分。
在攝像頭驅(qū)動(dòng)中,定義數(shù)據(jù)結(jié)構(gòu)cim_cmos_cam-era_config對(duì)攝像頭設(shè)備進(jìn)行描述:
評(píng)論