0 引言
在數(shù)字化視頻監(jiān)控技術(shù)飛速發(fā)展的今天,,數(shù)字化視頻監(jiān)控系統(tǒng)正迅速的深入到各行業(yè),如企業(yè),、煤礦,、學(xué)校、公共場(chǎng)所,,為人們的工作和生活帶來(lái)了一次大變革,。由于能夠在達(dá)芬奇平臺(tái)中實(shí)現(xiàn)數(shù)字視頻、音頻,、語(yǔ)音與話(huà)音技術(shù),,因此達(dá)芬奇技術(shù)可以為數(shù)字化視頻監(jiān)控系統(tǒng)的當(dāng)前變革打下基礎(chǔ)。
與此同時(shí),,隨著3G 網(wǎng)絡(luò)的開(kāi)通,,更為高清移動(dòng)數(shù)字化監(jiān)控系統(tǒng)提供了實(shí)現(xiàn)的可能。
本文中要設(shè)計(jì)的3G移動(dòng)視頻監(jiān)控系統(tǒng)是一種能提供視頻采集,、視頻數(shù)據(jù)壓縮,、聯(lián)動(dòng)報(bào)警、衛(wèi)星定位及網(wǎng)絡(luò)傳輸功能于一體的一種移動(dòng)實(shí)時(shí)視頻監(jiān)控系統(tǒng),。其主要技術(shù)瓶頸就在于:①其系統(tǒng)耗時(shí)是否能保證其實(shí)時(shí)性要求,,關(guān)鍵為H.264壓縮算法耗時(shí)。由于嵌入式環(huán)境資源的限制,在視頻數(shù)據(jù)的實(shí)時(shí)性傳輸和圖像質(zhì)量方面,,尤其是多路的情況下,,其一直都得不到保證。但是隨著達(dá)芬奇技術(shù)的成熟,,其ARM 926EJ-S與DSP C64x+ 的雙核架構(gòu),,H.264 壓縮算法獨(dú)立運(yùn)行在DSP的 Codec Server 端,解決了系統(tǒng)耗時(shí)保證其實(shí)時(shí)性要求,。②其3G 無(wú)線(xiàn)網(wǎng)絡(luò)傳輸能否保證視頻質(zhì)量及實(shí)時(shí)性,。在保證視頻質(zhì)量及傳輸實(shí)時(shí)性要求上,可以從兩個(gè)方面入手:①縮短視頻數(shù)據(jù)的傳輸時(shí)間,,使用當(dāng)前最高效的H.264 編碼技術(shù)縮小傳輸?shù)男畔⒘?,采用?dòng)態(tài)自適應(yīng)調(diào)整視頻數(shù)據(jù)的幀碼率來(lái)減少傳輸?shù)男畔⒘浚赃m應(yīng)無(wú)線(xiàn)帶寬及抖動(dòng),。②實(shí)現(xiàn)視頻數(shù)據(jù)傳輸?shù)腝oS 機(jī)制,,自己設(shè)計(jì)實(shí)現(xiàn)了3G 無(wú)線(xiàn)傳輸?shù)腝oS 機(jī)制,選用實(shí)時(shí)傳輸控制協(xié)議RTCP 和RTP 配合使用,,能以有效的反饋和最小的開(kāi)銷(xiāo)實(shí)現(xiàn)傳輸效率最佳化,,因此保證了視頻質(zhì)量及其實(shí)時(shí)性。
1 系統(tǒng)架構(gòu)及工作原理
本系統(tǒng)采用的是由達(dá)芬奇處理器(TMS320DM6446),、DDR2SDRAM(MT47H64M16),、NAND FLASH(K9F1208X0C)、視頻解碼器TVP5150,、3G 芯片(中興MC8360),、GPS 衛(wèi)星定位芯片加上外圍接口芯片的方案。CCD 攝像機(jī)采集模擬視頻信號(hào)傳入視頻解碼器內(nèi),,進(jìn)行模/ 數(shù)轉(zhuǎn)換,, 輸出符合ITU-BT.656標(biāo)準(zhǔn)的數(shù)字視頻信號(hào),然后將數(shù)字視頻信號(hào)傳到視頻處理子系統(tǒng)的前端進(jìn)行預(yù)處理,,將數(shù)字視頻信號(hào)通過(guò)本人設(shè)計(jì)的OSD字幕添加算法加入白底黑邊字幕后,,經(jīng)過(guò)Codec Engine 編碼后通過(guò)USB2.0 總線(xiàn)端口送入3G 傳輸芯片,無(wú)線(xiàn)傳輸?shù)竭h(yuǎn)程視頻監(jiān)控中心,;達(dá)芬奇處理器檢測(cè)進(jìn)行衛(wèi)星定位命令,,通過(guò)串口接收GPS 衛(wèi)星定位信息,然后將GPS 衛(wèi)星定位信息傳入到3G 傳輸芯片,,無(wú)線(xiàn)傳輸?shù)竭h(yuǎn)程視頻監(jiān)控中心,,在地圖上標(biāo)定其坐標(biāo)點(diǎn)及其移動(dòng)軌跡。DM6446 上的DSP 端主要負(fù)責(zé)視頻編解碼工作,,ARM 端做為控制視頻解碼芯片,、3G 傳輸芯片,、GPS 定位芯片和外圍接口芯片的控制器。系統(tǒng)硬件結(jié)構(gòu)框圖如圖1 所示,。
圖1 系統(tǒng)硬件結(jié)構(gòu)框圖
2 硬件方案設(shè)計(jì)
2.1 視頻采集與解碼設(shè)計(jì)
本設(shè)計(jì)中選用TI 公司的視頻解碼芯片TVP5150 完成視頻圖像的模/ 數(shù)轉(zhuǎn)換,。TVP5150 是超低功耗、支持NTSC/PAL/S E C A M 等格式的高性能視頻解碼器,,它正常工作時(shí)功耗僅115mW,,并具有32 腳TQFP 超小封裝。它可以接收兩路CVBS或一路S-Video 信號(hào),,通過(guò)I2C 總線(xiàn)設(shè)置其內(nèi)部寄存器,,可以輸出8位4:2:2的ITU BT.656信號(hào)。
TVP5150 芯片采用14.31818 MHz 晶振做為輸入時(shí)鐘,,數(shù)字和模擬輸入電壓為1.8V,,IO 口電壓為3.3V;信號(hào)輸入有AIP1A 和AIP1B 兩路,并且都進(jìn)行阻抗匹配設(shè)計(jì),,防止對(duì)輸入信號(hào)的反射,;YOUT[0:7]輸出8 路YcbCr 信號(hào),行場(chǎng)同步信號(hào)選擇引腳HSYNC 和VSYNC 輸出,;SCLK 引腳向DM6446 芯片輸出27MHz 時(shí)鐘信號(hào),,用來(lái)同步數(shù)據(jù)采集。
2.2 DDR2 SDRAM 內(nèi)存接口設(shè)計(jì)
內(nèi)存主要用來(lái)緩存視頻輸入圖像數(shù)據(jù),,存儲(chǔ)ARM 和DSP代碼等。DDR2 內(nèi)存是一種新型高速,、大容量的雙速率同步存儲(chǔ)器,,相對(duì)于DDR,DDR2 具有更高的頻寬,、更低的功耗,、更好的高速效能。
本設(shè)計(jì)選用Micron 公司的MT47H64M16BT 型號(hào)DDR2芯片,,該芯片單片容量為1Gb,,提供16 位字長(zhǎng)數(shù)據(jù)總線(xiàn)接口,芯片采用1.8V 做為輸入電壓,,其內(nèi)存支持差分鎖存信號(hào),,可以保證電路在高速情況下準(zhǔn)確的鎖存總線(xiàn)上的數(shù)據(jù),使系統(tǒng)更加穩(wěn)定可靠,。為提高系統(tǒng)內(nèi)存容量并最大限度利用DDR2控制器的32 數(shù)據(jù)總線(xiàn),,設(shè)計(jì)選用兩片MT47H64M16BT,分別作為數(shù)據(jù)總線(xiàn)的高低16 位,,組成32 位數(shù)據(jù)總線(xiàn),、大小為256Mbyte 的內(nèi)存系統(tǒng)。將兩片16 位DDR2 芯片與32 位總線(xiàn)的DDR2 控制器連接時(shí),把數(shù)據(jù)總線(xiàn)和相應(yīng)的數(shù)據(jù)選通信號(hào)及字節(jié)使能信號(hào)與相應(yīng)DDR2 芯片分別連接,,其它信號(hào)兩片DDR2 芯片公用,。此時(shí),32 位數(shù)據(jù)總線(xiàn)的DDR2 控制器可同時(shí)訪問(wèn)兩片DDR2 芯片,。
2.3 電源設(shè)計(jì)
本設(shè)計(jì)選用TI 公司的TPS75003 和TPS62040 電源管理芯片,,T P S 7 5 0 0 3 具有兩路最大提供3 A 的拓?fù)潆娫春鸵宦?00mA LDO 電源,每個(gè)Buck 輸出電壓范圍在1.2V 至6.5V 之間,,LDO 輸出電壓范圍在0.9V 至6.5V 之間,,輸入電壓范圍在2.2V 至6.5V 之間。TPS62040 是高效異步開(kāi)關(guān)DC/DC 轉(zhuǎn)換電源,,其轉(zhuǎn)換效率達(dá)到95%,,輸入電壓范圍在2.5V 至6.0V,輸出電壓在0.7V 至6.0V,,因此都可通過(guò)主電源+5V 供電,。
系統(tǒng)電源分為+5V、+3.3V,、+1.8V,、+1.2V 四種,系統(tǒng)主供電電源為+5V,,其余均由+5V 電源供給,。因此,采用一片TPS75003 和一片TPS62040 完成系統(tǒng)四種電源的轉(zhuǎn)換,。設(shè)計(jì)用TPS75003 的SW1 引腳經(jīng)過(guò)SI2323 續(xù)流整形后輸出1.2V 電壓用于DM6446 內(nèi)核供電,,IS1 引腳連接參考電壓,F(xiàn)B1 引腳接輸出1.2V 電壓作為反饋,,SW2 引腳輸出3.3V 電壓用于DM6446 外設(shè)接口供電,。TPS62040 的SW1 和SW2 引腳短接后輸出1.8V 電壓用于DM6446 存儲(chǔ)器接口供電,F(xiàn)B 引腳連接1.8V 作為反饋輸入,。這樣,,用一片TPS75003 和TPS62040 電源管理芯片就可以滿(mǎn)足本系統(tǒng)供電。TPS75003 和TPS62040電源轉(zhuǎn)換電路如圖2 所示,。
圖2 TPS75003 和TPS62040 電源轉(zhuǎn)換電路圖
3 軟件方案設(shè)計(jì)
本系統(tǒng)選用嵌入式MontaVista Linux操作系統(tǒng)平臺(tái),,其具有安全、穩(wěn)定,、高效率,、高實(shí)時(shí)性等特點(diǎn)。本文系統(tǒng)軟件采用模塊化設(shè)計(jì),,從功能角度,,其軟件體系結(jié)構(gòu)主要?jiǎng)澐譃橐韵挛宀糠郑翰杉K,、編碼模塊、3G 傳輸模塊,、GPS 衛(wèi)星定位模塊,、設(shè)備監(jiān)測(cè)模塊。由于3G無(wú)線(xiàn)傳輸受到其帶寬的限制,,如何能保證視頻圖像質(zhì)量和實(shí)時(shí)性尤為關(guān)鍵,,因此,3G 傳輸模塊是系統(tǒng)軟件的核心部分,。
3.1 采集模塊
本模塊主要完成視頻的采集,、圖像格式轉(zhuǎn)換。采用V4L2接口采集攝像頭的視頻數(shù)據(jù),,V4L2 是Linux 下開(kāi)發(fā)視頻采集設(shè)備驅(qū)動(dòng)程序的一套規(guī)范,,這套規(guī)范使用分層的方法給驅(qū)動(dòng)程序開(kāi)發(fā)提供了清晰的模型和一致的接口。應(yīng)用程序處于最上層,,V4L2 處于中間層,,而硬件設(shè)備處于下層,從而通過(guò)驅(qū)動(dòng)程序,,應(yīng)用程序?qū)υO(shè)備的操作如同一個(gè)文件一樣,,屏蔽了硬件設(shè)備的具體操作。
TVP5150 驅(qū)動(dòng)程序以包含在Linux內(nèi)核中,,本設(shè)計(jì)是基于該驅(qū)動(dòng)程序?qū)崿F(xiàn)視頻采集的,,視頻采集程序基本流程如圖3所示。
圖3 視頻采集程序基本流程圖
3.2 編碼模塊
本模塊主要完成了OSD 字幕信息添加及圖像的壓縮編碼,。
設(shè)計(jì)中充分利用了Davinci 編解碼引擎接口進(jìn)行應(yīng)用程序編程,,對(duì)采集到的視頻數(shù)據(jù)進(jìn)行YUV 格式轉(zhuǎn)換后,通過(guò)自己設(shè)計(jì)的OSD 字幕算法加入OSD 字幕信息,,采用優(yōu)化的TI 公司H.264 壓縮算法,對(duì)完成處理的YUV4:2:0 格式數(shù)據(jù)進(jìn)行幀間編碼壓縮,。
OSD 字幕算法實(shí)現(xiàn)了在YUV 圖像上面添加中英文字幕信息,,并可設(shè)置字體的字和邊界為兩種顏色,以在不同背景色下清晰顯示字體,。其基本原理為根據(jù)字符的ASCII 從點(diǎn)陣字庫(kù)中讀入其點(diǎn)陣數(shù)據(jù),,進(jìn)行一次外圍邊界像素點(diǎn)擴(kuò)展,這樣就可以判斷每位數(shù)據(jù)中為1 的相鄰8 個(gè)像素點(diǎn)對(duì)應(yīng)位的值,,為0則表示該點(diǎn)是字符的邊框,,為1 則表示該點(diǎn)是字符邊框內(nèi)的背景色。
3.3 3G傳輸模塊
本部分主要完成視頻數(shù)據(jù)及系統(tǒng)數(shù)據(jù)的3G 無(wú)線(xiàn)網(wǎng)絡(luò)傳輸,,用于支持視頻監(jiān)控及系統(tǒng)控制通訊等功能,。設(shè)計(jì)中采用RTP/RTCP 協(xié)議配合使用,,由于無(wú)線(xiàn)網(wǎng)絡(luò)的不穩(wěn)定性,加入了自適應(yīng)幀碼率處理機(jī)制及QoS 處理機(jī)制,,保證了視頻圖像質(zhì)量和實(shí)時(shí)性要求,。其基本過(guò)程是壓縮編碼完成后,進(jìn)行視頻預(yù)存緩沖處理,,對(duì)編碼數(shù)據(jù)進(jìn)行RTP 封包處理,,然后經(jīng)過(guò)USB總線(xiàn)傳輸?shù)?G 模塊中,通過(guò)無(wú)線(xiàn)網(wǎng)絡(luò)進(jìn)行發(fā)送,;接收數(shù)據(jù)完成后,,進(jìn)行命令解析處理,判斷是否有自適應(yīng)或重傳控制命令,,實(shí)現(xiàn)動(dòng)態(tài)調(diào)整幀碼率以降低無(wú)線(xiàn)網(wǎng)絡(luò)傳輸負(fù)載,,或者通過(guò)預(yù)存緩沖機(jī)制提取出丟失視頻數(shù)據(jù),完成重傳數(shù)據(jù)傳輸,。
其3G 傳輸程序基本流程如圖4 所示,。
圖4 3G 傳輸程序基本流程圖
3.4 GPS衛(wèi)星定位模塊
設(shè)計(jì)中使用GPS統(tǒng)一標(biāo)準(zhǔn)的NMEA(National Marine ElectronicsAssociation)協(xié)議完成通訊解析,其主要實(shí)現(xiàn)了對(duì)GPS衛(wèi)星定位數(shù)據(jù)的解析處理,,并實(shí)時(shí)傳輸?shù)竭h(yuǎn)程服務(wù)器軟件上,,以對(duì)本3G 無(wú)線(xiàn)移動(dòng)監(jiān)控系統(tǒng)平臺(tái)實(shí)現(xiàn)其位置信息、速度信息,、方向信息,、可用衛(wèi)星數(shù)及狀態(tài)信息等進(jìn)行實(shí)時(shí)監(jiān)控顯示,從而在地圖上標(biāo)定出移動(dòng)平臺(tái)的地理坐標(biāo),、移動(dòng)軌跡及其狀態(tài)信息等,。
3.5 設(shè)備監(jiān)測(cè)模塊
本部分主要完成系統(tǒng)控制命令解析及其響應(yīng),以實(shí)現(xiàn)對(duì)云臺(tái),、鏡頭等設(shè)備的控制,;各種報(bào)警事件的檢測(cè)與處理,如視頻丟失,、視頻遮擋,、移動(dòng)偵測(cè)報(bào)警等功能;系統(tǒng)運(yùn)行狀態(tài)檢測(cè)處理,,以實(shí)現(xiàn)系統(tǒng)運(yùn)行出錯(cuò)或崩潰的自動(dòng)重啟,、系統(tǒng)程序的自動(dòng)升級(jí)、系統(tǒng)程序的恢復(fù)出廠設(shè)置等功能,;系統(tǒng)運(yùn)行權(quán)限及規(guī)則的檢測(cè)處理,,以實(shí)現(xiàn)對(duì)使用者的權(quán)限分級(jí)管理和操作規(guī)則的合法化。
4 結(jié)論
基于3G無(wú)線(xiàn)移動(dòng)視頻監(jiān)控系統(tǒng)已經(jīng)進(jìn)入內(nèi)部測(cè)試階段并且功能強(qiáng)大,,性能穩(wěn)定,,擴(kuò)展性強(qiáng),,能夠很好的在3G 無(wú)線(xiàn)帶寬抖動(dòng)中進(jìn)行視頻監(jiān)控,為移動(dòng)視頻監(jiān)控應(yīng)用打下了堅(jiān)實(shí)的基礎(chǔ),,如移動(dòng)警車(chē)監(jiān)控系統(tǒng)等,。本文提出一種基于TI DM6446 的3G 移動(dòng)視頻監(jiān)控系統(tǒng)設(shè)計(jì)方案,并進(jìn)行了系統(tǒng)硬件詳細(xì)設(shè)計(jì)和軟件模塊化詳細(xì)設(shè)計(jì),。該系統(tǒng)很好的解決了在視頻監(jiān)控前段OSD 字幕信息添加和無(wú)線(xiàn)帶寬抖動(dòng)的問(wèn)題,,從而使視頻監(jiān)控流暢穩(wěn)定。