本文針對(duì)視頻服務(wù)器的通用結(jié)構(gòu)做了詳細(xì)地探討,并對(duì)該產(chǎn)品未來的智能化設(shè)計(jì)提出了一些設(shè)想,希望能為廣大讀者提供參考。
音視頻壓縮技術(shù)是視頻服務(wù)器和智能視頻監(jiān)控系統(tǒng)中的關(guān)鍵技術(shù)。在數(shù)字多媒體壓縮(特別是視頻壓縮)領(lǐng)域內(nèi)有很多國際標(biāo)準(zhǔn)(如ISO/ITU-T技術(shù)委員會(huì)的JPEG標(biāo)準(zhǔn)、CCITT制定的H.26X標(biāo)準(zhǔn)以及著名的MPEG標(biāo)準(zhǔn)等)。其中,MPEG-4標(biāo)準(zhǔn)的主要特點(diǎn)是可對(duì)圖像中的內(nèi)容進(jìn)行編碼,其核心是基于內(nèi)容尺度可變性(Content-based scalability)即可以給圖像中的各個(gè)對(duì)象分配優(yōu)先級(jí)。其中,比較重要的對(duì)象用較高的空間和(或)時(shí)間分辨率表示;對(duì)于比較低的比特率應(yīng)用系統(tǒng)來說,尺度可變性是一個(gè)關(guān)鍵的因素,因?yàn)樗峁┝俗赃m應(yīng)可用資源的能力。例如,該特性允許對(duì)具有較高優(yōu)先級(jí)的對(duì)象用可接受的質(zhì)量進(jìn)行顯示,次優(yōu)先級(jí)的對(duì)象則用較低的質(zhì)量顯示,而其余內(nèi)容(對(duì)象)則不顯示。對(duì)于監(jiān)控系統(tǒng)來說,在絕大部分時(shí)間內(nèi),監(jiān)視畫面的背景都保持不變,因此,在要求的比特率比較低時(shí),對(duì)于監(jiān)視畫面的背景部分可以以較低的質(zhì)量顯示,這樣并不會(huì)影響整個(gè)畫面的效果。在MPEG-4發(fā)展的基礎(chǔ)上,現(xiàn)又聯(lián)合推出了更為優(yōu)秀的H.264標(biāo)準(zhǔn),目前新設(shè)計(jì)的系統(tǒng),尤其是智能視頻監(jiān)控系統(tǒng),大多采用此標(biāo)準(zhǔn)。
智能視頻監(jiān)控系統(tǒng)的產(chǎn)品形態(tài)之一是使用嵌入式視頻服務(wù)器,這是一個(gè)基于客戶機(jī)/服務(wù)器模型的系統(tǒng),主要由現(xiàn)場采集設(shè)備、嵌入式視頻服務(wù)器、傳輸網(wǎng)絡(luò)以及監(jiān)控終端組成。基于嵌入式視頻服務(wù)器為核心的視頻監(jiān)控系統(tǒng)如圖1所示。
嵌入式視頻服務(wù)器硬件設(shè)計(jì)
嵌入式視頻服務(wù)器的硬件部分,主要由嵌入式微處理器、系統(tǒng)Flash、系統(tǒng)SDRAM、編解碼SDRAM、MPEG-4或H.264音視頻編解碼芯片、音視頻A/D與D/A轉(zhuǎn)換芯片、以太網(wǎng)絡(luò)接口、大容量硬盤、光盤刻錄機(jī)以及一些數(shù)據(jù)采集傳感器組成。從總體上來看,這是一個(gè)以嵌入式微處理器+專用音視頻編解碼芯片為核心的基礎(chǔ)平臺(tái)。信號(hào)關(guān)系為:將模擬的音視頻信號(hào)通過A/D轉(zhuǎn)換成沒有被壓縮的圖像數(shù)字信號(hào),再通過DSP或具有圖像處理功能的ASIC芯片進(jìn)行圖像數(shù)據(jù)的壓縮編碼,將壓縮編碼的數(shù)字圖像數(shù)據(jù)存儲(chǔ)在硬盤等大容量存儲(chǔ)設(shè)備中,或通過網(wǎng)絡(luò)實(shí)時(shí)監(jiān)控遠(yuǎn)程圖像;給使用者提供簡單、便捷的網(wǎng)絡(luò)或遙控器OSD(On-Screen Display)菜單方式,以便對(duì)存儲(chǔ)的錄像數(shù)據(jù)進(jìn)行檢索、回放和備份等。其通用硬件結(jié)構(gòu)如圖2所示。
工作流程為:服務(wù)器上電啟動(dòng)后,系統(tǒng)被加載到與嵌入式CPU相連的SDRAM中運(yùn)行,CPU通過串口控制云臺(tái),轉(zhuǎn)動(dòng)攝像機(jī)獲取視頻信號(hào),經(jīng)過采樣芯片實(shí)現(xiàn)A/D轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)字視頻數(shù)據(jù)傳給MPEG-4或H.264音頻/視頻壓縮芯片,完成MPEG-4或H.264視頻壓縮,壓縮后的數(shù)據(jù)緩存于MPEG-4或H.264壓縮芯片內(nèi)的FIFO中,當(dāng)FIFO半滿時(shí)就觸發(fā)主控CPU產(chǎn)生中斷,由處理器的中斷服務(wù)子程序獲取該數(shù)據(jù)并存放于系統(tǒng)緩沖區(qū)中,等待發(fā)送程序讀取。當(dāng)服務(wù)器監(jiān)聽到監(jiān)控端的視頻請(qǐng)求時(shí),服務(wù)器將視頻數(shù)據(jù)打包并以流媒體的形式通過網(wǎng)絡(luò)接口芯片傳輸?shù)奖O(jiān)控端上去。CPU同時(shí)接收監(jiān)控端發(fā)來的控制信息,通過CGI(Common Gateway Interface)通用網(wǎng)關(guān)接口發(fā)送給應(yīng)用程序。應(yīng)用程序負(fù)責(zé)將控制信息通過RS232串口給攝像機(jī)云臺(tái)。其功能層次關(guān)系如圖3所示。[nextpage]
視頻服務(wù)器主要元器件選擇原則
嵌入式微處理器
嵌入式微處理器是整個(gè)硬件部分的核心,嵌入式系統(tǒng)選擇處理器時(shí)主要需要考慮以下幾個(gè)方面:處理器的性能,處理器所支持的開發(fā)工具和操作系統(tǒng),處理器的成本、代碼兼容性、算法復(fù)雜性以及功率消耗等。最好選擇為電信和網(wǎng)絡(luò)市場而設(shè)計(jì)的集成通信微處理器,其體系結(jié)構(gòu)為內(nèi)核和外圍兩個(gè)部分,內(nèi)核部分完成任務(wù)調(diào)度和內(nèi)存管理,外圍部分承擔(dān)通信處理模塊(CPM)等任務(wù)。CPM應(yīng)同時(shí)支持多個(gè)快速的串行通信控制器(FCC),多通道控制器(MCC),多個(gè)串行通信控制器(SCC)和串行管理控制器(SMC)串行外圍接口,支持60x總線,其數(shù)據(jù)線為64位,地址線為32位,支持PCI/LOCAL總線,其數(shù)據(jù)線為32位,地址線為32位。
音視頻編解碼芯片
原始的音視頻數(shù)據(jù)量很大,需要占用非常高的帶寬,如果需要進(jìn)行長時(shí)間錄像、存儲(chǔ),必須保證在一定圖像質(zhì)量的前提下通過壓縮技術(shù)盡量降低音視頻的碼率,減少需要存儲(chǔ)的數(shù)據(jù)量,以滿足更長時(shí)間的存儲(chǔ)要求和減少成本,同時(shí)也可以更好地滿足網(wǎng)絡(luò)監(jiān)控要求。選擇音頻/視頻編碼解碼芯片的主要考慮以下幾個(gè)方面:
?芯片內(nèi)集成有多個(gè)信號(hào)處理/控制單元,包括一個(gè)視頻編碼(壓縮)器、一個(gè)視頻解碼(解壓)器和一個(gè)片內(nèi)CPU(內(nèi)部擴(kuò)展一個(gè)音頻編碼DSP、一個(gè)音頻解碼DSP、一個(gè)多路復(fù)合單元和一個(gè)多路解復(fù)合單元);
?具有可編程、高性能和低功耗特點(diǎn),因?yàn)槊總€(gè)信號(hào)處理/控制單元都由一個(gè)RISC處理器和專用的硬件加速器構(gòu)成。此外,視頻編、解碼器內(nèi)部還集成了一個(gè)專用的SDRAM;
?在系統(tǒng)上電/復(fù)位時(shí),視頻編、解碼器的固件程序可由外部主機(jī)(Host)載入各自專用的SDRAM;而編解碼芯片內(nèi)CPU的固件程序則可載入編解碼芯片外掛的SDRAM;
?芯片的主機(jī)接口采用標(biāo)準(zhǔn)PCI接口,符合PCI總線規(guī)范2.2;
?為了使編、解碼性能達(dá)到最佳,微處理器內(nèi)部集成了一個(gè)多通道DMAC。系統(tǒng)Host可直接通過主機(jī)接口對(duì)編解碼芯片進(jìn)行控制,MPEG或H.264數(shù)據(jù)流采用DMA方式傳輸;
?提供兼容的I2C總線,可方便地對(duì)外圍芯片進(jìn)行控制。[nextpage]
I2C總線
I2C(Inter-Integrated Circuit)總線是由數(shù)據(jù)總線(SDA)和時(shí)鐘總線(SCL)構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù),在CPU和被控IC之間,IC與IC之間雙向傳輸數(shù)據(jù),最高傳送數(shù)率達(dá)到100Kbps。由于接口直接在組件之上,因此I2C總線占用的空間非常小,減少了電路板的空間和芯片管腳的數(shù)量,降低了互聯(lián)成本??偩€的長度可高達(dá)25英尺,并且能夠以10Kbps的最大傳輸速率支持40個(gè)組件。I2C總線的另一個(gè)優(yōu)點(diǎn)是,它支持多主控(multimastering),其中任何能夠進(jìn)行發(fā)送和接收的設(shè)備都可以成為主總線。一個(gè)主控能夠控制信號(hào)的傳輸和時(shí)鐘頻率。任意時(shí)間點(diǎn)上只能有一個(gè)主控,利用I2C總線主要完成對(duì)外圍設(shè)備進(jìn)行靈活控制。
視頻服務(wù)器軟件的設(shè)計(jì)
視頻服務(wù)器軟件主要功能為:
?構(gòu)造一個(gè)微型的嵌入式Web服務(wù)器,初始化socket,并監(jiān)聽等待客戶機(jī)的連接請(qǐng)求;
?對(duì)客戶機(jī)進(jìn)行認(rèn)證,向客戶機(jī)發(fā)送初始化參數(shù);
?將圖像數(shù)據(jù)發(fā)送給監(jiān)控客戶機(jī),并動(dòng)態(tài)更新圖像數(shù)據(jù),處理監(jiān)控端與服務(wù)器之間的通信以及對(duì)云臺(tái)實(shí)時(shí)控制等任務(wù),接收前端各類報(bào)警傳感器輸入并轉(zhuǎn)發(fā)到監(jiān)控的客戶端;
?對(duì)采集的視頻圖像進(jìn)行分析處理,進(jìn)行壓縮編碼。
服務(wù)器軟件體系構(gòu)架如圖4所示。
Web服務(wù)器
在linux操作系統(tǒng)下,主要有3個(gè)Web Server:Httpd、Thttpd和BOA。Httpd是最簡單的一個(gè)Web Server,它的功能最弱,不支持認(rèn)證,不支持CGI。Thttpd和BOA都支持認(rèn)證、CGI等,功能都比較全。其中Thttpd是一個(gè)單任務(wù)的HTTP服務(wù)器,能夠?qū)崿F(xiàn)動(dòng)態(tài)WEB技術(shù),源代碼開放、性能高。同時(shí)服務(wù)器程序本身所占空間很小,因而十分適用于嵌入式系統(tǒng)。目前,有的linux的代碼中已經(jīng)包含Thttpd的源代碼,對(duì)其運(yùn)行環(huán)境、參數(shù)等進(jìn)行設(shè)置可以很方便地將其在嵌入式CPU上實(shí)現(xiàn)。Thttpd通過HTTP協(xié)議與監(jiān)控端瀏覽器軟件進(jìn)行信息交互,提供其他應(yīng)用程序模塊的接口,此外,它還要對(duì)監(jiān)控端的訪問權(quán)限進(jìn)行控制,過濾監(jiān)控端的請(qǐng)求和控制信息,處理多個(gè)監(jiān)控端的請(qǐng)求和控制的同步和優(yōu)先級(jí)問題。
CGI(Common Gateway Interface)
通用網(wǎng)關(guān)接口(CGI)是外部擴(kuò)展應(yīng)用程序與Web Server交互的一種通用的接口標(biāo)準(zhǔn),它給Web服務(wù)器提供一個(gè)執(zhí)行外部程序的通道??蛻舳讼认駽GI程序發(fā)送基于HTTP協(xié)議的請(qǐng)求和命令觸發(fā),CGI程序然后將客戶端的請(qǐng)求和命令傳給服務(wù)器應(yīng)用程序;在服務(wù)器應(yīng)用程序完成相應(yīng)操作后,CGI程序?qū)⒔Y(jié)果返回給客戶端,CGI是客戶端與服務(wù)器中其他程序通信的橋梁?;谶@種交互模式,客戶端可以查詢和設(shè)置視頻服務(wù)器的IP地址、密碼等參數(shù),控制云臺(tái)的轉(zhuǎn)動(dòng)等操作。
關(guān)于視頻分析與處理軟件部分,限于文章篇幅,不再贅述。
結(jié)論
智能視頻服務(wù)器是網(wǎng)絡(luò)化和智能化視頻監(jiān)控系統(tǒng)的產(chǎn)品形態(tài)之一。在智能視頻監(jiān)控系統(tǒng)中,數(shù)字視頻壓縮技術(shù)、數(shù)字視頻網(wǎng)絡(luò)傳輸技術(shù)、高效大容量的視頻存儲(chǔ)和檢索技術(shù)、監(jiān)控場景中運(yùn)動(dòng)檢測與告警信息處理技術(shù)以及監(jiān)控場景中物體識(shí)別與跟蹤技術(shù)均是關(guān)鍵技術(shù),而這些技術(shù)實(shí)現(xiàn)的基礎(chǔ)平臺(tái)是視頻服務(wù)器DVS、DVR、網(wǎng)絡(luò)攝像機(jī)、專用視頻分析與處理平臺(tái)。本文僅對(duì)視頻服務(wù)器基本結(jié)構(gòu)、設(shè)計(jì)要素進(jìn)行了初步闡述,只要在其上增加視頻分析與處理智能算法部分,即可成為智能視頻服務(wù)器,期望對(duì)新產(chǎn)品的設(shè)計(jì)者有一定借鑒作用。(作者:北京冠林盈科智能系統(tǒng)集成有限公司 于寶玉)