摘 要: 介紹了單機多媒體監控系統" title="監控系統">監控系統的軟、硬件實現方法以及系統的功能等。著重描述了基于高速DSP芯片的系統各模塊組成、原理及具體的設計方法。最后,從技術和社會效益角度對系統進行了展望。本系統具有廣闊的應用前景。
關鍵詞: 多媒體 數字信號處理器 數據通信 數據壓縮
在一些重要的單位,例如金融機構的營業網點,為了實現及時地報警,報警裝置能夠自動撥號報警或人工撥號報警。然而,保安人員或警務人員接到報警信號后,在不了解現場情況下就立即趕到報警點,這種比較盲目的方式給事件的妥善處理帶來了不利的因素。所以,對于處理報警的工作人員迫切需要在收到報警信號的同時能直觀地獲取現場圖象及聲音,為準確、及時地處理突發事件提供參考。另外,在一些工業部門中,很多設施和崗位要實行24小時無人職守,完成諸如遙視、遙控等信息的傳輸,對于這種分布廣、持續工作時間長的應用場合,采用自動的遠程監控系統是比較合適的解決方案。
現在,國內的部分地區和部門開始應用多媒體通信技術實現公共安全防范。然而,他們采用的設備大多是基于PC機插卡式的系統,或是國外的單機設備。這些設備要么實用性差,要么價格昂貴,使得多媒體遠程監控技術難以普及和推廣。
在此背景下,我們和廈華電子合作,研制開發了單機的監控系統。本系統參照ITU-H.324協議中的通信協議構建通信過程,采用高速DSP技術,用軟件實現音頻和視頻的壓縮編碼,試圖以新技術為基礎,用最簡化的硬件結構,力求最高的性能價格比,獲得較好的社會效益。
1 系統構成及功能簡介
1.1 系統構成介紹
遠程多媒體監控系統是一種遠程圖像、語音自動傳輸監控裝置,由監控點的終端機和控制中心的主控微機兩大部分組成(見圖1)。終端機的主要功能及構成是:通過A-Law COMBO CODEC器件TP3057采集監控點的語音信號,形成PCM信號;由圖像編碼器BT819A采集監控點的原始圖像信號,形成數字視頻信號;把浮點數字信號處理器ADSP21061作為系統的圖像協處理器,控制視頻圖像采集" title="圖像采集">圖像采集、存儲并實現視頻圖像的實時壓縮處理(符合H.263建議);用定點數字信號處理器ADSP2181作為整個系統的主控處理器,在完成音頻采集和語音的實時壓縮處理(符合G.723.1建議)的同時,還完成對監控點實施數據采集與控制、通過MODEM與主機交互命令并把圖像和語音的編碼數據按一定的格式打包,通過MODEM送到遠端的主機等操作;經過打包后的編碼數據由ADSP2181送出,這里使用異步通信器件TL16C550B連接DSP和MODEM,這樣做簡化了DSP軟件的實現,提高了系統的可靠性和可擴展性。
1.2 系統功能與組網配置
系統具有的主要功能如下:
·報警聯動功能:當報警探測器被觸發時,就自動切換到指定的攝像機,同時開始發送現場采集的圖像和聲音信息。
·遠程監視功能:可通過普通電話線在異地進行可視化監視,包括切換不同攝像畫面、靜止或活動圖像,并可遠程控制現場有關設備工作。
·數字化處理功能:可以將攝像圖像以數字方式保存在電腦硬盤或其他各種存儲設備中,實現各種數字化處理過程,如打印、轉換、檢索等。
·方便的組網功能:控制中心可以通過電話網對監控終端機進行配置,包括:使用許可證書、控制中心電話號碼、終端機編號、缺省數據等,即可完成系統的組網(見圖2)。系統可連接的監控終端機數量不限。
2 系統的硬軟件實現
2.1 系統終端機硬件設計
系統終端機按功能劃分成以下幾個主要部分:處理器核心、模擬數據接口" title="數據接口">數據接口、圖像采集控制、串行控制器接口。
處理器核心 我們考慮到圖像和語音的壓縮編碼處理需要較大的運算量和內存空間,所以采用了兩片DSP芯片分別進行圖像和語音的壓縮編碼。監控終端機的系統處理器核心部分是由ADSP21061(圖像協處理器)與外擴的SRAM、ADSP2181(主控處理器)和各自的EPROM組成。這兩個處理器芯片之間的通信是通過其內部的全雙工同步串口" title="串口">串口的異步應答方式實現的。
硬件連接主要是通過兩個幀同步信號RFS/TFS(接收幀同步/發送幀同步)的交叉互連,兩個主機分別把RFS設成外部輸入、TFS設成內部產生輸出。對于發送端來說,當發送寄存器中的數據有效時產生TFS信號;同時,對于接收端來說,當在RFS信號線上收到RFS信號時就會按照SCLK的時鐘時序接收DR上的數據,這樣經串口發送和接收的數據幀都是對齊的(見圖3)。
模擬數據接口 模擬接口采集外界環境的原始圖像、語音信息進行處理。分為圖像接口和語音接口兩個部分。語音信號模擬部分的作用主要在錄音的過程中將輸入的語音信號放大、帶通濾波后送入COMBO CODEC濾波器中進行A/D轉換。放大部分采用普通的運放電路,構成一個同相放大電路,使得輸入的信號在A/D采樣的范圍內,從而可以提高量化的精度(見圖4)。
視頻信號的采樣、量化采用BT819A,將采集的圖像數據" title="圖像數據">圖像數據通過ADSP21061的外部DMA通道7(設置該通道功能為數據由外部設備傳入到外部指定的地址中的DMA功能)實現。BT819A是一種單片視頻解碼芯片,可以支持PAL/NTSC/S-VIDEO標準的視頻采集設備(見圖5)。
圖像采集控制 圖像采集控制部分是終端機設計中的關鍵部分。因為圖像的采集和轉換要求速度快,并且不能占用系統過多的資源,所以本部分的設計關系到整個系統的性能。
由上面的介紹可以知道,圖像的A/D轉換是通過BT819A來實現的。但是BT819A沒有提供對圖像數據的幀存能力,因此BT819A轉換后的數據需要在ADSP21061的DMA控制器的參與下送入ADSP210161的外擴存儲器中實現幀存,這個過程需要ADSP21061與BT819A通過譯碼邏輯實現。BT819A提供兩種圖像數據接口,我們采用(異步圖像數據接口)API模式B,在該模式下異步圖像數據接口送出圖像數據格式為YUV4:2:2的16bit數據。系統將BT819A作為ADSP21061的外部設備,同時,ADSP21061的外擴存儲器作為BT819A的視頻緩沖器。由于ADSP21061的DMA控制器支持從外部設備到外部的存儲器的DMA傳送方式,這樣在此傳輸方式下,ADSP21061就可以響應外部設備DMA請求信號,執行DMA過程,將相應的數據寫入外部存儲器中。ADSP21061所收到的DMA請求信號是由BT819A送出的圖像數據接口控制信號經過譯碼得到的。
串行控制器接口 經過壓縮編碼的圖像和語音碼流在ADSP2181內部打包處理后,通過MODEM經過PSTN傳送到遠端的中心控制機。因此需要考慮設計一個ADSP2181與MODEM之間的接口,通過ADSP2181與TL16C550B的一個數據接口來實現這個功能,具體的設計思想是將TL16C550B的數據寄存器映射成為ADSP2181的外部存儲器,這樣對TL16C550B內部寄存器的讀寫控制就變為對ADSP2181片外存儲器的訪問。
2.2 系統終端機軟件設計
為了保證各媒體數據傳輸的完整性和實時性,需要對各媒體信源進行高速壓縮、對各媒體的碼流數據進行恰當的組織,而且還將對各媒體數據進行同時處理。
然而如果通過軟件開發在單片數字信號處理器上同時處理多個實時任務是很困難的,因為對于單個的微處理器來說它的運行總是串行的。在我們的系統控制中遇到的正是這個問題:ADSP2181不但要進行整個系統流程的控制,還要進行G.723.1的語音編碼,這兩個任務都是要在系統運行期間不間斷運行的。在具體實現時,我們把實時語音編碼的部分作為主程序,這樣可以保證語音信號處理的連貫性;而系統功能的主要流程在ADSP2181的Timer中斷中完成。為了實現這樣的操作,我們把系統功能的主流程分成了幾個階段,程序中通過設置一個標志位,來引導系統進入不同的運行階段,完成不同的功能及操作。這樣兩個任務就可以分時地享用DSP的運行時間,類似于多任務操作系統中的分時間片操作。
Time中斷服務子程序所實現的是系統功能的主流程:由監控點觸發報警或是主控微機主動巡視來啟動系統,先按缺省方式傳送各路攝像頭的實時圖像和監控點的實時語音,再進入等候狀態,等待主控機的命令并進行相應的操作。主程序進行語音的實時編碼,如圖6所示。
因為語音采集和語音編碼是同時進行的,為了提高系統處理的效率、保證語音數據的連貫性,在需要處理語音數據的地方我們都使用了雙緩沖,數據處理的焦點在兩個緩沖區之間切換。這樣做可以保證對語音的8kHz采樣不會丟失樣本點,不會因為數據暫時來不及送到電話線上而發生丟失。
另外,對將要通過MODEM發送的數據也采用了雙緩沖技術。MODEM備用(錄入)緩沖區的數據來自語音緩沖區或是圖像緩沖區:當發現MODEM備用緩沖區空閑時,先查詢當前的語音緩沖區是否有數據,如果當前語音緩沖區數據有效,則錄入到此MODEM備用緩沖區中;如果當前語音緩沖區數據無效才進一步查詢圖像緩沖區。當MODEM當前(輸出)緩沖區不空閑時,就通過TL16C550向MODEM發送其中的數據。語音/圖像數據的傳送是各自相對獨立的,這個情況相當于把兩個邏輯信道(語音/圖像)加在一個物理信道上傳輸。
2.3 系統控制中心軟件設計
控制中心微機主要進行有關監控數據的接收和處理,還可以進行新登記入網監控點的組網配置。控制中心軟件工作在Windows95/98平臺上,充分利用了Windows95/98下的多線程機制和消息驅動機制。程序是以串口監聽線程為工作核心,監聽串口(也可以說是監聽電話線/MODEM)上的信號,當接收到載波信號及報警終端送來的用戶信息后,就向有關窗口發送連接成功消息IDM_USER_GOT_CARRIER和IDM_USER_CONNECTED。定義成兩個消息是為了進行其他誤呼入載波信號的處理,只有進行過身份確認的呼入信號才能繼續工作。
在連接建立后的工作中,對語音包和圖像數據包分開處理。對接收到的語音包,立即進行實時解碼,為了防止語音緩沖區的重入和覆蓋,把解碼后的數據鏈入一個鏈表結構中(50個幀存入一個表項),放音的時候再從鏈表頭提取一個表項進行播放。為了保證語音信號播放的流暢性,我們為語音的播放啟動單獨的線程。當一次的放音結束時,系統會產生一個消息MM_WOM_DONE,這樣可以在這個消息的處理函數中進行新的處理過程。收到的圖像數據包直接送入解碼緩沖區進行解碼,成功地解出一幀圖像后就在指定的設備上下文中顯示。考慮到信道上可能的錯誤情況和實際需求,對H.263的解碼程序做了補充,增強了穩定性,使系統即使在碼流出錯的情況下仍能復原并盡可能多的解出出錯圖像,還可以在不同格式間自由切換。
綜上所述,如果采用最新的高性能DSP芯片來實現數字監控系統,將得到更高的圖像處理能力,同時可以在不改變系統的前提下,采用更高效率的算法來實現語音和圖像編、解碼,更好的滿足實際需要。文中所介紹的各種方法,不僅可以應用在遠程多媒體監控系統中,還可以應用在其他涉及遠程數據傳輸、信息交互等技術的單機或非單機系統中。監控系統不但可以應用在銀行、倉庫等重要部門,還可以應用于遠程醫療、診斷、維護和教學以及家庭監控等場合。因此采用了高速DSP技術的遠程多媒體終端系統有著廣泛的實用價值和社會效益。
參考文獻
1 王仁華,郭 武,李錦宇,宋 彥.PSTN網上可視多媒體通信終端. 通信學報,1999;20(5):41~49
2 ITU-T Recommendation.G.723.1.Dual Rate Speech Coder for Multimedia Communications Transmitting at 5.3 and 6.3 kbit/s、1996;3
3 ITU-T Recommendation.H.263.Video Coding for Low Bit Rate Communication、1996;3
4 ITU-T Recommendation.H.324.Terminal For Low Bitrate Multimedia Communication、1996;3