基于DM642的智能視頻監控系統的DSP實(shí)現
DSP軟件包括自啟動(dòng)、初始化、和線(xiàn)程創(chuàng )建,流程如圖2所示。
本文引用地址:http://dyxdggzs.com/article/101027.htm圖2中第五步動(dòng)態(tài)創(chuàng )建了1個(gè)算法處理線(xiàn)程(ProcessTsk)、2個(gè)PCI通信線(xiàn)程(SendTsk,ReceiveTsk)以及一個(gè)中斷服務(wù)子程序(PCI_ISR):ProcessTsk根據客戶(hù)端為每個(gè)通道設定的監控規則,對通道中的圖像進(jìn)行算法分析,若有目標違規,則記錄違規場(chǎng)景,產(chǎn)生報警信息,否則送出原始圖像。SendTsk負責把ProcessTsk產(chǎn)生的報警信息或者圖像通過(guò)PCI傳輸到PC端;ReceiveTsk負責接收來(lái)自本地板卡的模擬攝像頭和來(lái)自PC端的網(wǎng)絡(luò )攝像頭圖像,以及PC端來(lái)的信息。并傳遞給ProcessTsk;PCI_ISR負責監聽(tīng)來(lái)自PC端的請求,根據不同請求發(fā)送不同的旗語(yǔ),控制線(xiàn)程間的運行。
主機服務(wù)器準備傳輸控制命令或者圖像的時(shí)候,向DSP發(fā)送中斷請求。PCI_ISR將響應這些請求,根據主機服務(wù)器的不同信息向其他線(xiàn)程發(fā)送不同的控制旗語(yǔ):如果是PC端接收一幀圖像完畢,則向SendTsk發(fā)旗語(yǔ)PCI_READ_OK,表示可以接收下一幀圖像;如果是斷開(kāi)、連接通道請求,則向ReceiveTsk發(fā)送旗語(yǔ)PCI_WRITE_OK,表示可以接收信息。ReceiveTsk接收網(wǎng)絡(luò )攝像機或者模擬攝像機圖像和控制命令。如果收到圖像,將其存儲在SDRAM的一個(gè)緩沖區中,以待進(jìn)行算法分析;如果收到控制命令,將其存儲在由PC、DSP共同維護的一個(gè)緩沖區中。然后發(fā)起SCOM通信,把信息傳送到ProcessTsk維護的SCOM中。SCOM是RF5框架中的通信模塊,提供了隊列(Queue)和旗語(yǔ)(Semaphore)的雙重功能。ProcessTsk收到信息后,會(huì )使用視頻緩沖區和控制命令緩沖區中的數據作為算法參數進(jìn)行計算。ProcessTsk計算完成后,會(huì )產(chǎn)生相應的結果,比如警報或者處理信息。這些數據會(huì )保存在一個(gè)字節數組中,然后將其打包封裝成一個(gè)Message對象,將其發(fā)送到SendTsk維護的SCOM中,SendTsk接收到這個(gè)Message包后,對其進(jìn)行相應的處理,然后發(fā)送到PC主機。線(xiàn)程通信如圖3所示。
·PC端軟件
在服務(wù)器主機端,主要實(shí)現三個(gè)功能:(1)接收來(lái)自網(wǎng)絡(luò )攝像頭的視頻流并解碼,對應模塊為網(wǎng)絡(luò )攝像機模塊;(2)構建用戶(hù)界面,即客戶(hù)端模塊,記錄用戶(hù)算法設置、控制命令等,用戶(hù)可以根據自己的需求在規則設置界面中對特定的通道設置算法參數和控制命令等;(3)將圖像數據和算法參數、控制命令傳給DSP端,對應模塊為后臺服務(wù)模塊。
評論