0 引言
i.Mx27多媒體應用處理器是飛思卡爾半導體DragONBall家族的最新成員,片內集成H.264/MPEG4/H.263全雙工硬件編解碼視頻處理單元,可廣泛應用于視頻監控、數字錄像機、網絡廣告機、V2IP可視電話、IPTV機頂盒、智能手機、便攜式多媒體播放器、移動電視、車載多媒體產品等。
設計了一種基于i.MX27的移動視頻監控終端,應用于公交視頻監控系統中。終端采集的視頻數據和GPS位置信息可以實時傳輸到公交調度監控中心,在網絡不佳的情況下也可以在本地保存視頻數據和GPS位置信息,在公交車到站后通過WIFI無線網絡集中高速傳輸到監控中心。
1 公交視頻監控系統組成及功能描述
1.1 系統組成
整個系統分為前端車載監控系統、通訊線路、監控平臺 前端車載監控系統又包括車載硬盤錄像機、監控攝像機、監聽頭、報警按鈕、報警閃燈、液晶顯示屏、對講耳機、GPS等 通訊線路包含前端移動傳輸(EDGE/CDMA 1X)和后臺指揮中心以太網網絡 監控平臺包含監控軟件及GIS、流媒體、數據庫、應用服務器等一系列服務群,可以根據需要在公交分局、市公安局、派出所等單位建設多極監控平臺,級別的邏輯關系根據需求可靈活配置,系統具有良好的擴展性。
系統組成的結構圖如圖1所示。

1.2 系統功能描述
(1)視頻監控功能。車載設備最多支持4個攝像頭,可分別監控前后車門、車廂前后;
(2)GPS定位功能。視頻監控設備應該從GPS設備獲取當前時間、經緯度信息,并以時間標簽形式嵌入錄制的視頻文件或視頻流中(即字幕方式);GPS的信息(每秒1條)同時寫入日志文件,用于后期的增值處理:視頻設備內部保存的視頻文件與此GPS日志文件一一對應;
(3)成批通訊功能。當車輛位于停車場、站等有WIFI/WinMax等高速無線網絡的位置時,可隨時進入后臺的數據傳輸工作模式。傳輸的內容包括視頻文件與GPS日志;
(4)實時通訊功能。當終端安裝有GPRS/CDMA網絡通訊模塊功能時,可以進行實時視頻數據和GPS位置信息的傳輸。
2 移動視頻監控終端硬件設計
移動視頻監控傳輸終端采用i.MX27為核心器件,外擴了GPS模塊、WIFI模塊實現了對移動視頻的采集、存儲、無線傳輸功能。同時通過GPS信息可以準確地定位移動設備的實時位置。
系統硬件結構圖如圖2所示。

3 移動視頻監控終端軟件設計
終端系統采用嵌入式Linux操作系統,以提高服務的可靠性和系統效率。軟件主流程框圖如圖3所示。

3.1 終端應用軟件
3.1.1 視頻采集、編碼、存儲
視頻編碼采用H.264標準,以較少的數據提高更高的視頻清晰度。視頻本地存儲采用大容量SD卡或U盤。不采用移動硬盤,以避免公交車運行中因震動而造成移動硬盤的損壞。
3.1.2 無線網絡傳輸
終端系統設計有WIFI高速無線網絡和GPRS/CDMA網絡,以適應不同的應用場合。在WIFI熱點遍及的地方采用WIFI無線網絡進行高速數據傳輸,其他情況下可以通過GPRS/CDMA無線網絡傳輸數據。
無線網絡技術涵蓋的范圍很廣,既包括允許用戶建立遠距離無線連接的全球語音和數據網絡,也包括為近距離無線連接進行優化的紅外線技術及射頻技術。通常用于無線網絡的設備包括便攜式計算機、臺式計算機、手持計算機、個人數字助理 (PDA)、移動電話、筆式計算機和尋呼機。無線技術用于多種實際用途。例如,手機用戶可以使用移動電話查看電子郵件。使用便攜式計算機的旅客可以通過安裝在機場、火車站和其他公共場所的基站連接到 Internet。在家中,用戶可以連接桌面設備來同步數據和發送文件。無線網絡傳輸機制無線網絡技術的信息傳輸機制。
3.1.3 GPS信息及其他信息的采集和處理
終端系統每秒保存實時GPS信息,并實現和視頻數據的時間同步。同時還定時采集其他一些報警檢測等周邊信號,供系統處理。
3.2 關鍵技術實現原理
3.2.1 視頻實時傳輸處理機制
在網絡帶寬不穩定或者較差的情況下,為了盡量保證網絡視頻服務器傳輸到服務器的視頻數據的完整性和實時性,系統采用了雙重處理機制:
(1)單位時間內比較視頻歷史緩沖中的數據包個數,如果發現數據包個數大于500包,則執行清除歷史緩沖操作,并重新關閉打開編碼器來編碼出一個新的IDR幀用于傳輸;
(2)定時比較當前編碼幀的時間與待發送的數據包的時間的差值,如果時間大于5s,則執行清除歷史緩沖的操作,并重新關閉打開編碼器來編碼出一個新的IDR幀用于傳輸;
(3)另外為了保證對帶寬的充分利用,保證傳輸到服務器端的碼流可以正常播放,現在在清除歷史緩沖的時候增加了I幀的完整性判斷,必須保證當前傳輸的視頻數據非I幀才執行清除歷史緩沖的操作;
3.2.2 視頻捕獲和編碼部分的具體實現
(1)設置編碼頭序列參數,返回緩沖區地址和大小
encHeaderParam.headerType=SPS RBSP;
vpu_EncGiveCommand(handle,ENC_PUT_AVC_HEADER,
&encHeaderParam)
bsBuf0=encHeaderParam.buf
size0=encHeaderParam.size;
codecparam.len=0
(2)取得參數存入編碼參數緩沖區
bitstream addr=virt_stream_buf+bsBuf0
bit_steam_buf.phy_addr
memcpy(codecparam.buf+codecparam.len,(char
*)bitstream_addr,size0);codecparam.len+=size0;
(3)設置編碼頭圖象參數,返回緩沖區地址和大小
encHeaderParam.headerType=PPS_RBSP;
vpu_EncGiveCommand(handle,ENC_PUT_AVC_HEADER,
&encHeader.Param);
4 結束語
本文闡述了基于i.MX27的移動視頻監控終端的實現原理以及在公交調度監控中的應用,著重介紹了移動視頻監控終端的設計方案和實現方法,并對其中的一些關鍵技術的實現作了詳細的描述。該系統已經在公交監控中試運行,并取得了良好的使用效果。