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