基于TRIMEDIA平臺的數(shù)字監(jiān)控DVR的設計實現(xiàn)
摘要:本文結合實際開發(fā)經(jīng)驗,系統(tǒng)闡述了基于PHILIPS公司TRIMEDIA平臺開發(fā)多通道數(shù)字監(jiān)控DVR的硬件系統(tǒng)設計及關鍵技術,并對開發(fā)過程中難點問題的處理提出了一些建議。
關鍵詞:嵌入式系統(tǒng);DVR TRIMEDIA;MPEG-4;代碼優(yōu)化;運動估計;網(wǎng)絡協(xié)議棧
概述
隨著數(shù)字化時代的到來,在安防監(jiān)控領域,集成了多媒體技術、數(shù)字圖像處理及遠程網(wǎng)絡傳輸?shù)茸钚录夹g的數(shù)字監(jiān)控系統(tǒng)正在逐步取代傳統(tǒng)的模擬監(jiān)控系統(tǒng)。采用最新的嵌入式系統(tǒng)設計技術和MPEG-4壓縮編碼技術的嵌入式DVR產(chǎn)品正在逐漸引起業(yè)內(nèi)的廣泛關注。
本文介紹的針對市場客戶需求,利用PHILIPS公司TRIMEDIA技術平臺成功開發(fā)的基于MPEG-4編解碼技術的長虹“銳眼王”系列嵌入式數(shù)字硬盤錄象機,在國內(nèi)居于行業(yè)領先水平,取得了較好的社會及經(jīng)濟效益。
圖1 硬件的系統(tǒng)結構圖
硬件系統(tǒng)設計(以4路機為例)
如圖1所示,系統(tǒng)主要由以下幾個模塊組成:視音頻編碼器、主處理器、硬盤控制器、網(wǎng)絡控制器、PCI橋、PCI總線仲裁器、系統(tǒng)存儲器、外圍控制器和其他系統(tǒng)模塊。
視音頻編碼器
該模塊主要由視頻解碼器、音頻CODEC和DSP處理器組成。其中視頻解碼器將模擬視頻轉化為數(shù)字視頻,音頻CODEC將模擬音頻轉化為數(shù)字音頻,并通過專用接口傳輸給DSP處理器進行編碼。DSP編碼后的數(shù)據(jù)通過PCI總線傳輸給主處理器,用于本地存儲和網(wǎng)絡傳輸。
主處理器
主處理器完成的工作包括:
從PCI總線上獲得編碼視頻、音頻數(shù)據(jù);
將編碼后的視頻、音頻數(shù)據(jù)進行網(wǎng)絡傳輸;
將編碼后的視頻、音頻數(shù)據(jù)進行本地存儲;
實現(xiàn)視頻預覽及音頻監(jiān)聽;
接收外圍控制器的命令,并將相關操作通知相關設備;
從硬盤中讀出存儲的數(shù)據(jù),并進行本地播放及與播放相關的各項操作;
在系統(tǒng)啟動時,給其他DSP處理器加載程序代碼;
運行嵌入式操作系統(tǒng),進行系統(tǒng)管理和進程調(diào)度。
硬盤控制器
該控制器負責從PCI總線上獲得數(shù)據(jù)流,并將數(shù)據(jù)流以特定的格式存儲到硬盤中。
網(wǎng)絡控制器
該控制器負責從PCI總線上獲得數(shù)據(jù)流,并將數(shù)據(jù)流以特定的格式實現(xiàn)網(wǎng)絡傳輸。
PCI橋
負責PCI橋編碼器之間的總線仲裁以及硬盤控制器和網(wǎng)絡控制器之間的總線仲裁。
PCI總線仲裁器
負責兩個PCI橋和主DSP之間的總線仲裁,使主DSP獲得相應較高的優(yōu)先級,進行有效的非PCI總線操作,以便和外圍控制器之間進行有效數(shù)據(jù)傳輸。
系統(tǒng)存儲器
系統(tǒng)存儲器由系統(tǒng)啟動代碼存儲器、子系統(tǒng)啟動代碼存儲器、程序存儲器和雙端口RAM組成。其中系統(tǒng)啟動代碼存儲器存儲主處理器的BootLoader代碼,主處理器的程序代碼存儲在程序存儲器中。雙端口RAM負責外圍控制器和主處理器之間的數(shù)據(jù)交換。子系統(tǒng)啟動代碼存儲器存儲4路編碼處理器的啟動代碼。編碼處理器的主代碼由主處理器在運行時進行加載,程序可以放于程序存儲器中,也可放于硬盤中。
外圍控制器
主要負責外圍的一些操作控制,例如按鍵輸入、遙控器輸入、報警器輸入和輸出等。
其他系統(tǒng)模塊
包括電源管理等其他系統(tǒng)設備。
項目開發(fā)過程中的難點及關鍵技術
高速數(shù)字電路設計
TRIMEDIA方案中處理器主頻往往超過100MHz,對信號完整性及EMC性能構成極大挑戰(zhàn)。電路板設計應按4~6層板考慮。在元器件布局及布線過程中嚴格遵守高速電路設計原則,確保系統(tǒng)功能的實現(xiàn)以及整機性能指標達到檢測標準。
CODEC設計實現(xiàn)
評價嵌入式DVR最重要的指標是CODEC實現(xiàn)的質(zhì)量,直接體現(xiàn)在同等碼率條件下,音視頻編解碼算法及代碼執(zhí)行的效率。設計優(yōu)良的CODEC應具有如下特征:
·高性能的運動估計
MPEG-4編碼的運算量主要集中在運動估計部分,運動估計的好壞直接影響編碼的質(zhì)量和效率。運動估計可采用多種算法:一是基于碼率失真模型的運動估計;二是碼率受限的模式選擇;三是基于時域和空域相關的自適應預測;四是大搜索范圍預測;五是無限制的運動估計。算法在保證較高的計算效率基礎上,估計的精度應接近全局運動估計。
·高精度的DCT/IDCT變換
在Trimedia定點處理器上,實現(xiàn)的DCT/IDCT變換算法在保證高的計算效率基礎上,也要保證運算精度符合IEEE 1180-1900標準。
·支持差錯掩蓋和自動恢復功能,即使在較差的傳輸信道上,也能有較好的圖像重建質(zhì)量。
·支持多種GOP結構,可設定M,N,以支持IBBP,IBP,IP,I等多種GOB結構。
·С值耐枷穹直媛飾猀CIF-D1,在垂直和水平方向上能以步長的倍數(shù)遞增。
·自適應的幀場DCT變換,支持幀場運動估計。自適應Inter/Intra選擇。
·精確和靈活的碼率控制,支持VBR,CBR和Hybrid 等多種碼率控制方法。
·碼流完全兼容ISO/IEC-14496-2,MPEG4 ASP@LEVEL3規(guī)范。
·解碼器根據(jù)編碼器引入的噪聲類型,自動選擇自適應的濾波器,具有多重去噪的能力。
·具有良好的可移植性。
基于TRIMEDIA平臺的CODEC既可自行開發(fā),也可購買成熟的第三方軟件庫。
BSP設計與調(diào)試
首先是最小系統(tǒng)的調(diào)試。由于最小系統(tǒng)的調(diào)試手段有限,建議使用與DEMO板相同或相近的硬件結構,這樣只需對DEMO板BSP相關的文件進行修改,以適應于自己的目標板。另外,這一階段可能有許多硬件問題尚未完全解決,會很難定位各種故障。除非有硬件調(diào)試器的支持,否則不建議在最小系統(tǒng)中使用過多未曾用過的硬件芯片。
接下來是外圍設備驅動程序的調(diào)試。可以分為兩步來進行:首先通過一些簡單的配置及測試程序進行硬件調(diào)試,這一階段盡可能排除各種硬件故障。接著就是調(diào)試驅動程序本身,由于通常各種外設驅動程序都會與操作系統(tǒng)交互信息,而且隨著信息量的增大,使得驅動程序的運行頻率會變得非常高。因此,設計驅動程序時,一定要注意程序的穩(wěn)定性及效率,它將直接影響到整個系統(tǒng)的性能及穩(wěn)定性。大部分通用設備的驅動程序都可以由兩部分來實現(xiàn),一部分是與CPU相關的代碼,這部分主要是一些配置參數(shù),以及一些代碼功能,這些程序很少。另一部分就是與CPU不相關的驅動程序代碼,它實現(xiàn)了與OS的絕大部分接口。
BSP的調(diào)試方法有如下幾種:硬件仿真器調(diào)試、純軟件方法調(diào)試、軟件調(diào)試器調(diào)試。
網(wǎng)絡協(xié)議棧的實現(xiàn)
網(wǎng)絡遠程監(jiān)控的效果與網(wǎng)絡協(xié)議棧的性能直接相關,目前使用得最多的就是TCP/IP協(xié)議棧。在TriMedia軟件架構中,可以將網(wǎng)絡驅動設計成pSOS網(wǎng)絡部件pNA+訪問網(wǎng)絡接口。這樣設計的優(yōu)點是:上層軟件可以使用pSOS系統(tǒng)的pNA+軟件部件豐富的系統(tǒng)調(diào)用函數(shù),這些函數(shù)不但可以操作網(wǎng)絡接口,而且可以操作套節(jié)字(Socket)進行高級TCP/IP網(wǎng)絡編程,而不需用軟件來實現(xiàn)TCP/IP協(xié)議棧。盡管如此,但往往實際效果最好的當屬專用商用網(wǎng)絡協(xié)議棧,如FUSION公司提供的產(chǎn)品。
一般而言,網(wǎng)絡接口底層的通信協(xié)議由專用芯片硬件實現(xiàn),而上層的通信協(xié)議才需軟件編程實現(xiàn)。TRIMEDIA方案中網(wǎng)絡接口的實現(xiàn)可在PCI總線或同步串行口(SSI)掛上不同的專用網(wǎng)絡接口芯片,接入不同的通信網(wǎng)絡環(huán)境中。
當然,如果設計成本許可,也可直接使用自帶網(wǎng)絡協(xié)議棧的網(wǎng)絡接口控制芯片(如RABBIT公司的產(chǎn)品),減小開發(fā)工作量。
文件系統(tǒng)的實現(xiàn)
在嵌入式DVR設計中,文件系統(tǒng)的實現(xiàn)非常復雜,技術含量相當高。與通常PC機使用的文件系統(tǒng)不同的是,嵌入式DVR中通常采用音視頻交叉存儲文件格式,為有效解決大量文件索引占用CPU資源過多、斷電損傷、TIME-SHIFTING等問題,需要建立特別的AV文件系統(tǒng),在不增加冗余的同時仍能快速索引定位。該文件系統(tǒng)實現(xiàn)效率高低將直接影響到整機性能及可靠性。其中純音頻的保存、快速定位、音視頻同步問題值得重點關注。由于該問題足可構成專題論述,本文不作深入討論。
網(wǎng)絡客戶端軟件的實現(xiàn)
目前幾乎所有的嵌入式DVR均提供網(wǎng)絡客戶端軟件以進行遠程網(wǎng)絡監(jiān)控。主要分為內(nèi)嵌于通用 WEB瀏覽器以及專用軟件兩種類型。開發(fā)難點集中在遠端DVR設備的地址自動解析識別、針對不同網(wǎng)絡帶寬情況下的碼率/幀率自適應調(diào)整、多通道監(jiān)控。