專利名稱:基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析方法及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻監(jiān)控領(lǐng)域,特別涉及一種海量視頻實(shí)時(shí)處理技術(shù)。
背景技術(shù):
目前 分布式系統(tǒng)基礎(chǔ)架構(gòu)hadoop是雅虎公司關(guān)于谷歌的云計(jì)算思想開源實(shí)現(xiàn),在傳統(tǒng)互聯(lián)應(yīng)用中取得了比較好的效果。但本發(fā)明的發(fā)明人發(fā)現(xiàn),對分布式系統(tǒng)基礎(chǔ)架構(gòu)hadoop下的海量視頻流于實(shí)時(shí)智能分析存在問題首先,由于hadoop面向的是海量數(shù)據(jù)的批處理,其響應(yīng)會有一定的時(shí)間延遲,雖然hadoop采用分布式計(jì)算技術(shù)處理海量數(shù)據(jù)比獨(dú)立計(jì)算機(jī)處理是要快很多,但是hadoop由于自身框架特性的限制,它無法實(shí)時(shí)返回處理結(jié)果。其次,基于Java虛擬機(jī)的hadoop中的Java虛擬機(jī)啟動(dòng)需要一定時(shí)間,hadoop從接收到用戶的作業(yè)請求到作業(yè)成功啟動(dòng)需要花費(fèi)的時(shí)間過多,導(dǎo)致啟動(dòng)時(shí)間慢;而且hadoop計(jì)算歸并模型或稱為MapReduce模型內(nèi)部節(jié)點(diǎn)之間是通過定時(shí)的心跳來交互信息,使得海量視頻流于實(shí)時(shí)智能分析的實(shí)時(shí)性進(jìn)一步無法保證。同時(shí),對目前各大視頻監(jiān)控的將智能程序嵌入前端視頻采集器或通道的實(shí)時(shí)智能分析產(chǎn)品和專門負(fù)責(zé)若干路視頻采集器或通道的實(shí)時(shí)布控專門的一臺智能分析服務(wù)器,本發(fā)明的發(fā)明人發(fā)現(xiàn),上述產(chǎn)品的處理方式也存在以下問題首先,針對視頻數(shù)據(jù)有很多的分析算法人臉分析、行為分析和車牌分析等,用這些算法可以做實(shí)時(shí)分析,但面向的都是小規(guī)模的數(shù)據(jù),一般來說是采用單獨(dú)的服務(wù)器對處理小范圍的分析,進(jìn)行小規(guī)模的協(xié)同調(diào)度實(shí)時(shí)分析,所以面向小規(guī)模。其次,現(xiàn)有的智能分析服務(wù)器之間都是各自獨(dú)立,不能統(tǒng)一規(guī)劃,有效利用資源。最后,智能分析服務(wù)器可以分析哪些視頻采集器或通道是預(yù)先配置好的,而它分析多少路的視頻采集器或通道受其能力限定,不能動(dòng)態(tài)進(jìn)行增加或減少分析視頻采集器或通道,導(dǎo)致性能擴(kuò)展水平不佳。綜上所述,現(xiàn)有的技術(shù)不能很好解決大規(guī)模實(shí)時(shí)海量視頻智能分析的問題。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析方法及其系統(tǒng),面向大規(guī)模實(shí)時(shí)視頻數(shù)據(jù)的智能分析引入了分布式計(jì)算框架,解決了傳統(tǒng)分布式計(jì)算框架不能面向海量視頻數(shù)據(jù)碼流實(shí)時(shí)處理的問題,便于性能擴(kuò)展和有效利用資源,從而可以高效協(xié)調(diào)各計(jì)算資源進(jìn)行實(shí)時(shí)分析大規(guī)模路數(shù)的視頻流。為解決上述技術(shù)問題,本發(fā)明的實(shí)施方式公開了一種基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析方法,方法基于云計(jì)算的分布式計(jì)算模型進(jìn)行,該模型包括客戶端、主節(jié)點(diǎn)和任務(wù)節(jié)點(diǎn);方法包括以下步驟客戶端為需要進(jìn)行分析的每個(gè)實(shí)時(shí)視頻碼流采集器分別生成切片信息,切片信息中包括實(shí)時(shí)視頻碼流采集器訪問信息和智能分析規(guī)則;客戶端將切片信息上傳到主節(jié)點(diǎn);客戶端向主節(jié)點(diǎn)提交作業(yè);主節(jié)點(diǎn)將作業(yè)分解成多個(gè)任務(wù),將各任務(wù)及與任務(wù)相關(guān)的切片信息分別指派給多個(gè)分布式計(jì)算的任務(wù)節(jié)點(diǎn);各任務(wù)節(jié)點(diǎn)執(zhí)行被指派的任務(wù),根據(jù)任務(wù)相關(guān)的切片信息中的實(shí)時(shí)視頻碼流采集器訪問信息從實(shí)時(shí)視頻碼流采集器獲取實(shí)時(shí)視頻碼流,根據(jù)任務(wù)相關(guān)的切片信息中的智能分析規(guī)則對所獲取的實(shí)時(shí)視頻碼流進(jìn)行分析,并將分析結(jié)果即時(shí)發(fā)送給服務(wù)器。本發(fā)明的實(shí)施方式還公開了一種基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析系統(tǒng),系統(tǒng)基于云計(jì)算的分布式計(jì)算模型,該模型包括客戶端、主節(jié)點(diǎn)和任務(wù)節(jié)點(diǎn);客戶端,用于為需要進(jìn)行分析的每個(gè)實(shí)時(shí)視頻碼流采集器分別生成切片信息,切片信息中包括實(shí)時(shí)視頻碼流采集器訪問信息和智能分析規(guī)則,之后將切片信息上傳到和將作業(yè)提交至主節(jié)點(diǎn);主節(jié)點(diǎn),用于接收客戶端上傳的切片信息和提交的作業(yè),并將作業(yè)分解成多個(gè)任務(wù),以及將各任務(wù)及與任務(wù)相關(guān)的切片信息分別指派給多個(gè)分布式計(jì)算的任務(wù)節(jié)點(diǎn);任務(wù)節(jié)點(diǎn),用于執(zhí)行主節(jié)點(diǎn)中指派的任務(wù),并根據(jù)任務(wù)相關(guān)的切片信息中的實(shí)時(shí)視頻碼流采集器訪問信息從實(shí)時(shí)視頻碼流采集器獲取實(shí)時(shí)視頻碼流,根據(jù)任務(wù)相關(guān)的切片信息中的智能分析規(guī)則對所獲取的實(shí)時(shí)視頻碼流進(jìn)行分析,并將分析結(jié)果即時(shí)發(fā)送給服務(wù)器。本發(fā)明實(shí)施方式與現(xiàn)有技術(shù)相比,主要區(qū)別及其效果在于面向大規(guī)模實(shí)時(shí)視頻數(shù)據(jù)的智能分析引入了分布式計(jì)算框架,客戶端提交分布式作業(yè)任務(wù)請求,為了保證任務(wù)節(jié)點(diǎn)分析的速度不能低于實(shí)時(shí)時(shí)頻碼流的速度,主節(jié)點(diǎn)按照 具體分析算法復(fù)雜度和任務(wù)節(jié)點(diǎn)的機(jī)器性能分解作業(yè),主動(dòng)向各任務(wù)節(jié)點(diǎn)分派任務(wù),任務(wù)節(jié)點(diǎn)執(zhí)行任務(wù)中的具體任務(wù)并根據(jù)實(shí)時(shí)視頻碼流采集器訪問信息從實(shí)時(shí)視頻碼流采集器獲取實(shí)時(shí)視頻碼流,以及根據(jù)切片信息中的智能分析規(guī)則對所獲取的實(shí)時(shí)視頻碼流進(jìn)行實(shí)時(shí)智能分析,并將分析結(jié)果即時(shí)反饋,解決了傳統(tǒng)分布式計(jì)算框架不能面向海量視頻數(shù)據(jù)碼流實(shí)時(shí)處理的問題,保證了大規(guī)模實(shí)時(shí)視頻智能分析的實(shí)時(shí)性,并可應(yīng)用于視頻監(jiān)控領(lǐng)域的實(shí)時(shí)布控;在后臺部署分布式計(jì)算集群,集群集成各種圖像分析算法,便于性能擴(kuò)展和有效利用資源,從而可以高效協(xié)調(diào)各計(jì)算資源進(jìn)行實(shí)時(shí)分析大規(guī)模路數(shù)的視頻流。進(jìn)一步地,通過唯一分配的統(tǒng)一資源定位符采集器訪問信息,可以訪問為網(wǎng)絡(luò)攝像機(jī)的實(shí)時(shí)視頻碼流采集器。進(jìn)一步地,在視頻監(jiān)控領(lǐng)域的實(shí)時(shí)布控應(yīng)用中,可以根據(jù)相關(guān)布防和事件關(guān)聯(lián)性,將報(bào)警記錄中的事件即時(shí)發(fā)送給報(bào)警服務(wù)器即時(shí)報(bào)警;或者在視頻監(jiān)控領(lǐng)域的其他應(yīng)用中,可將報(bào)警記錄中的事件即時(shí)發(fā)送給報(bào)警服務(wù)器即時(shí)報(bào)警,以進(jìn)行相應(yīng)的視頻截取匹配、軌跡跟蹤處理、錄像顯示和追蹤等一系列聯(lián)動(dòng)操作。進(jìn)一步地,在分布式計(jì)算模型中使用輸入插件獲取視頻碼流,多個(gè)任務(wù)節(jié)點(diǎn)可以協(xié)同工作,進(jìn)一步便于海量視頻碼實(shí)時(shí)流智能分析的性能擴(kuò)展和資源的有效利用,使各計(jì)算資源實(shí)時(shí)分析大規(guī)模路數(shù)的視頻碼流可以高效協(xié)調(diào)進(jìn)行。進(jìn)一步地,在分布式計(jì)算模型中使用輸入插件獲取視頻碼流和計(jì)算插件分析視頻碼流,可使在后臺部署的分布式計(jì)算集群中方便集成各種圖像分析算法在每個(gè)計(jì)算插件中,同時(shí)進(jìn)一步增強(qiáng)了系統(tǒng)的可擴(kuò)展性。
圖I是本發(fā)明第一實(shí)施方式中一種基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析方法的流程示意圖;
圖2是本發(fā)明第二實(shí)施方式中一種基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析方法的數(shù)據(jù)處理流程示意圖;圖3是本發(fā)明第三實(shí)施方式中一種基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析系統(tǒng)的結(jié)構(gòu)示意圖;圖4是本發(fā)明第四實(shí)施方式中一種基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式在以下的敘述中,為了使讀者更好地理解本申請而提出了許多技術(shù)細(xì)節(jié)。但是,本領(lǐng)域的普通技術(shù)人員可以理解,即使沒有這些技術(shù)細(xì)節(jié)和基于以下各實(shí)施方式的種種變化和修改,也可以實(shí)現(xiàn)本申請各權(quán)利要求所要求保護(hù)的技術(shù)方案。為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明的實(shí)施方式作進(jìn)一步地詳細(xì)描述。本發(fā)明第一實(shí)施方式涉及一種基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析方法。圖I是該基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析方法的流程示意圖。該基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析方法基于云計(jì)算的分布式計(jì)算模型進(jìn)行,該模型包括客戶端、主節(jié)點(diǎn)和任務(wù)節(jié)點(diǎn)。如圖I所示,所述方法包括以下步驟在步驟101中,客戶端為需要進(jìn)行分析的每個(gè)實(shí)時(shí)視頻碼流采集器分別生成切片信息,切片信息中包括實(shí)時(shí)視頻碼流采集器訪問信息和智能分析規(guī)則。此后進(jìn)入步驟102,客戶端將切片信息上傳到主節(jié)點(diǎn)。此后進(jìn)入步驟103,客戶端向主節(jié)點(diǎn)提交作業(yè)。此后進(jìn)入步驟104,主節(jié)點(diǎn)將作業(yè)分解成多個(gè)任務(wù)。此后進(jìn)入步驟105,將各任務(wù)及與任務(wù)相關(guān)的切片信息分別指派給多個(gè)分布式計(jì)算的任務(wù)節(jié)點(diǎn)。此后進(jìn)入步驟106,各任務(wù)節(jié)點(diǎn)執(zhí)行被指派的任務(wù),根據(jù)任務(wù)相關(guān)的切片信息中的實(shí)時(shí)視頻碼流采集器訪問信息從實(shí)時(shí)視頻碼流采集器獲取實(shí)時(shí)視頻碼流。此后進(jìn)入步驟107,各任務(wù)節(jié)點(diǎn)執(zhí)行被指派的任務(wù),根據(jù)任務(wù)相關(guān)的切片信息中的智能分析規(guī)則對所獲取的實(shí)時(shí)視頻碼流進(jìn)行分析。此后進(jìn)入步驟108,各任務(wù)節(jié)點(diǎn)將分析結(jié)果即時(shí)發(fā)送給服務(wù)器,此后結(jié)束本流程。此外,可以理解,在本發(fā)明中,通過刪減基于云計(jì)算的分布式計(jì)算模型MapReduce框架中的歸并Reduce子框架,保留和使用計(jì)算Map子框架,對基于云計(jì)算的分布式計(jì)算模型MapReduce框架進(jìn)行了改進(jìn),本發(fā)明的實(shí)現(xiàn)也可以借鑒基于云計(jì)算的分布式計(jì)算模型MapReduce進(jìn)行,相關(guān)細(xì)節(jié)和實(shí)現(xiàn)方法可以相互參考,如客戶端、主節(jié)點(diǎn)和任務(wù)節(jié)點(diǎn)可以分別為HMapReduce框架中的負(fù)責(zé)提交分布式計(jì)算請求的客戶端模塊HJobClient、負(fù)責(zé)計(jì)算和歸并任務(wù)的分配和控制的主節(jié)點(diǎn)HJobTracker和負(fù)責(zé)執(zhí)行某些具體的計(jì)算和歸并任務(wù)的任務(wù)節(jié)點(diǎn)HTaskTracker本發(fā)明第二實(shí)施方式涉及一種基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析方法。圖2是該基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析方法的數(shù)據(jù)處理流程示意圖。第二實(shí)施方式在第一實(shí)施方式的基礎(chǔ)上進(jìn)行了改進(jìn),主要改進(jìn)之處在于通過唯一分配的統(tǒng)一資源定位符采集器訪問信息,可以訪問為網(wǎng)絡(luò)攝像機(jī)的實(shí)時(shí)視頻碼流采集器。在視頻監(jiān)控領(lǐng)域的實(shí)時(shí)布控應(yīng)用中,可以根據(jù)相關(guān)布防和事件關(guān)聯(lián)性,將報(bào)警記錄中的事件即時(shí)發(fā)送給報(bào)警服務(wù)器即時(shí)報(bào)警。或者在視頻監(jiān)控領(lǐng)域的其他應(yīng)用中,可將報(bào)警記錄中的事件即時(shí)發(fā)送給報(bào)警服務(wù)器即時(shí)報(bào)警,以進(jìn)行相應(yīng)的視頻截取匹配、軌跡跟蹤處理、錄像顯示和追蹤等一系列聯(lián)動(dòng)操作。在分布式計(jì)算模型中使用輸入插件獲取視頻碼流,進(jìn)一步便于海量視頻碼流實(shí)時(shí)智能分析的性能擴(kuò)展和資源的有效利用,使各計(jì)算資源實(shí)時(shí)分析大規(guī)模路數(shù)的視頻碼流可以高效協(xié)調(diào)進(jìn)行。在分布式計(jì)算模型中使用輸入插件獲取視頻碼流和計(jì)算插件分析視頻碼流,可使在后臺部署的分布式計(jì)算集群中方便集成各種圖像分析算法在每個(gè)計(jì)算插件中,同時(shí)進(jìn)一步增強(qiáng)了系統(tǒng)的可擴(kuò)展性。具體地說采集器為網(wǎng)絡(luò)攝像機(jī)。該采集器訪問信息為統(tǒng)一資源定位符。當(dāng)然,該統(tǒng)一資源定位(Universal Resource Locator,簡稱“URL”)包含訪問該采集器的所有訪問信息。在本發(fā)明的其他某些實(shí)施方式中,實(shí)時(shí)視頻碼流采集器并不局限于網(wǎng)絡(luò)攝像機(jī)(IP Camera,簡稱“IPC”),還包括數(shù)字視頻錄像機(jī)(Digital Video Recorder,簡稱“DVR”)或其中的某路通道,或者模擬攝像裝置等。上述將分析結(jié)果即時(shí)發(fā)送給服務(wù)器的步驟108,還包括以下子步驟將分析結(jié)果生成報(bào)警記錄,該報(bào)警記錄包括為采集器分配的唯一編號、匹配時(shí)間點(diǎn)所采用的時(shí)間戳和事件。將報(bào)警記錄即時(shí)發(fā)送給報(bào)警服務(wù)器。此外,可以理解,在本發(fā)明的其他某些實(shí)施方式中,報(bào)警記錄還可以根據(jù)具體的應(yīng)用,包含為采集器分配的唯一編號、匹配時(shí)間點(diǎn)所采用的時(shí)間戳和事件中的一個(gè)或若干個(gè),也可以包含除上述三個(gè)信息之外的其他信息。在上述根據(jù)任務(wù)相關(guān)的切片信息中的實(shí)時(shí)視頻碼流采集器訪問信息從實(shí)時(shí)視頻碼流采集器獲取實(shí)時(shí)視頻碼流的步驟106之前,還包括以下步驟各任務(wù)節(jié)點(diǎn)加載輸入插件,該輸入插件用于根據(jù)任務(wù)相關(guān)的切片信息中的實(shí)時(shí)視頻碼流采集器訪問信息從實(shí)時(shí)視頻碼流采集器獲取實(shí)時(shí)視頻碼流。此外,可以理解,在與基于云計(jì)算的分布式計(jì)算模型MapReduce的相關(guān)細(xì)節(jié)和實(shí)現(xiàn)方法相互參考時(shí),輸入插件InputPlugin從IPC中獲取實(shí)時(shí)視頻碼流。在本發(fā)明的其他某些實(shí)施方式中,也可以將輸入插件固定在任務(wù)節(jié)點(diǎn)中以直接獲取實(shí)時(shí)視頻碼流。在根據(jù)任務(wù)相關(guān)的切片信息中的智能分析規(guī)則對所獲取的實(shí)時(shí)視頻碼流進(jìn)行分析的步驟107之前,還包括以下步驟各任務(wù)節(jié)點(diǎn)加載計(jì)算插件,該計(jì)算插件根據(jù)任務(wù)相關(guān)的切片信息中的智能分析規(guī)則對所獲取的實(shí)時(shí)視頻 碼流進(jìn)行分析。此外,可以理解,在與分布式計(jì)算模型HMapReduce的相關(guān)細(xì)節(jié)和實(shí)現(xiàn)方法相互參考時(shí),計(jì)算插件MapPlugin進(jìn)行即時(shí)視頻圖像分析。在本發(fā)明的其他某些實(shí)施方式中,也可以將計(jì)算插件固定在任務(wù)節(jié)點(diǎn)中以直接進(jìn)行即時(shí)視頻圖像分析。作為本發(fā)明的一個(gè)優(yōu)選實(shí)施方式,在如圖2所示的數(shù)據(jù)處理過程中,首先,客戶端形成切片信息,一路采集器IPC的相關(guān)信息作為一個(gè)切片,切片信息包括URL和規(guī)則等。URL包含了訪問該IPC的所有信息,規(guī)則是計(jì)算插件中的智能分析算法的一些內(nèi)容,比如匹配條件、采用的具體分析算法等等。其次,主節(jié)點(diǎn)將客戶端提交的作業(yè)分解成任務(wù),再將該任務(wù)分派至各個(gè)任務(wù)節(jié)點(diǎn),即切片被調(diào)度到多個(gè)任務(wù)節(jié)點(diǎn)上,任務(wù)節(jié)點(diǎn)實(shí)時(shí)獲取采集器IPC的碼流進(jìn)行實(shí)時(shí)圖像分析運(yùn)算。再則,如果分析到匹配條件的對象,則形成報(bào)警記錄alarm record,該報(bào)警記錄包括采集器標(biāo)識(CamerID, IPC的唯一編號)、匹配時(shí)間點(diǎn)的采用時(shí)間戳TimeStamp、事件Event。最后,各個(gè)任務(wù)節(jié)點(diǎn)將產(chǎn)生的報(bào)警記錄alarm record都發(fā)給報(bào)警服務(wù)器alarmserver,報(bào)警服務(wù)器alarm server可以根據(jù)CamerID、TimeStamp等信息進(jìn)行后續(xù)的向預(yù)定客戶端或者服務(wù)器發(fā)報(bào)警、聯(lián)動(dòng)錄像、聯(lián)動(dòng)顯示或追蹤等聯(lián)動(dòng)操作。本發(fā)明的各方法實(shí)施方式均可以以軟件、硬件、固件等方式實(shí)現(xiàn)。不管本發(fā)明是以軟件、硬件、還是固件方式實(shí)現(xiàn),指令代碼都可以存儲在任何類型的計(jì)算機(jī)可訪問的存儲器中(例如永久的或者可修改的,易失性的或者非易失性的,固態(tài)的或者非固態(tài)的,固定的或者可更換的介質(zhì)等等)。同樣,存儲器可以例如是可編程陣列邏輯(Prog rammable ArrayLogic,簡稱“PAL”)、隨機(jī)存取存儲器(Random Access Memory,簡稱“RAM”)、可編程只讀存儲器(Prog rammable Read Only Memory,簡稱“PROM”)、只讀存儲器(Read-Only Memory,簡稱“ROM”)、電可擦除可編程只讀存儲器(Electrically Erasable Programmable ROM,簡稱“EEPR0M”)、磁盤、光盤、數(shù)字通用光盤(Digital Versatile Disc,簡稱“DVD”)等等。本發(fā)明第三實(shí)施方式涉及一種基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析系統(tǒng)。圖3是該基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析系統(tǒng)的結(jié)構(gòu)示意圖。該基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析系統(tǒng)基于云計(jì)算的分布式計(jì)算模型,該模型包括客戶端、主節(jié)點(diǎn)和任務(wù)節(jié)點(diǎn)。客戶端,用于為需要進(jìn)行分析的每個(gè)實(shí)時(shí)視頻碼流采集器分別生成切片信息,切片信息中包括實(shí)時(shí)視頻碼流采集器訪問信息和智能分析規(guī)則,之后將切片信息上傳到和將作業(yè)提交至主節(jié)點(diǎn)。主節(jié)點(diǎn),用于接收客戶端上傳的切片信息和提交的作業(yè),并將作業(yè)分解成多個(gè)任務(wù),以及將各任務(wù)及與任務(wù)相關(guān)的切片信息分別指派給多個(gè)分布式計(jì)算的任務(wù)節(jié)點(diǎn)。任務(wù)節(jié)點(diǎn),用于執(zhí)行主節(jié)點(diǎn)中指派的任務(wù),并根據(jù)任務(wù)相關(guān)的切片信息中的實(shí)時(shí)視頻碼流采集器訪問信息從實(shí)時(shí)視頻碼流采集器獲取實(shí)時(shí)視頻碼流,根據(jù)任務(wù)相關(guān)的切片信息中的智能分析規(guī)則對所獲取的實(shí)時(shí)視頻碼流進(jìn)行分析,并將分析結(jié)果即時(shí)發(fā)送給服務(wù)器。
面向大規(guī)模實(shí)時(shí)視頻數(shù)據(jù)的智能分析引入了分布式計(jì)算框架,客戶端提交分布式作業(yè)任務(wù)請求,主節(jié)點(diǎn)分解作業(yè)分派任務(wù),任務(wù)節(jié)點(diǎn)執(zhí)行任務(wù)中的具體任務(wù)并根據(jù)實(shí)時(shí)視頻碼流采集器訪問信息從實(shí)時(shí)視頻碼流采集器獲取實(shí)時(shí)視頻碼流,以及根據(jù)切片信息中的智能分析規(guī)則對所獲取的實(shí)時(shí)視頻碼流進(jìn)行實(shí)時(shí)智能分析,并將分析結(jié)果即時(shí)反饋,解決了傳統(tǒng)分布式計(jì)算框架不能面向海量視頻數(shù)據(jù)碼流實(shí)時(shí)處理的問題,保證了大規(guī)模實(shí)時(shí)視頻智能分析的實(shí)時(shí)性,并可應(yīng)用于視頻監(jiān)控領(lǐng)域的實(shí)時(shí)布控。在后臺部署分布式計(jì)算集群,集群集成各種圖像分析算法,便于性能擴(kuò)展和有效利用資源,從而可以高效協(xié)調(diào)各計(jì)算資源進(jìn)行實(shí)時(shí) 分析大規(guī)模路數(shù)的視頻流。此外,可以理解,在本發(fā)明中,通過刪減基于云計(jì)算的分布式計(jì)算模型MapReduce框架中的歸并Reduce子框架,保留和使用計(jì)算Map子框架,對基于云計(jì)算的分布式計(jì)算模型MapReduce框架進(jìn)行了改進(jìn),本發(fā)明的實(shí)現(xiàn)也可以借鑒基于云計(jì)算的分布式計(jì)算模型MapReduce進(jìn)行,相關(guān)細(xì)節(jié)和實(shí)現(xiàn)方法可以相互參考,如客戶端、主節(jié)點(diǎn)和任務(wù)節(jié)點(diǎn)可以分別為HMapReduce框架中的負(fù)責(zé)提交分布式計(jì)算請求的客戶端模塊HJobClient、負(fù)責(zé)計(jì)算和歸并任務(wù)的分配和控制的主節(jié)點(diǎn)HJobTracker和負(fù)責(zé)執(zhí)行某些具體的計(jì)算和歸并任務(wù)的任務(wù)節(jié)點(diǎn)HTaskTracker。作為本發(fā)明的一個(gè)優(yōu)選實(shí)施例,如圖3所示,系統(tǒng)基于云計(jì)算的分布式計(jì)算模型,該模型包括客戶端、主節(jié)點(diǎn)I. . . k(k為正整數(shù))和任務(wù)節(jié)點(diǎn)I. . . m(m為正整數(shù));客戶端,用于為需要進(jìn)行分析的每個(gè)實(shí)時(shí)視頻碼流采集器分別生成切片信息,該實(shí)時(shí)視頻碼流采集器為實(shí)時(shí)視頻碼流采集器I. . . η中的一個(gè),其中η為正整數(shù),切片信息中包括實(shí)時(shí)視頻碼流采集器訪問信息和智能分析規(guī)則,之后將切片信息上傳到和將作業(yè)提交至主節(jié)點(diǎn)I. . . k ;主節(jié)點(diǎn)I. . . k,用于接收客戶端上傳的切片信息和提交的作業(yè),并將作業(yè)分解成多個(gè)任務(wù),以及將各任務(wù)及與任務(wù)相關(guān)的切片信息分別指派給多個(gè)分布式計(jì)算的任務(wù)節(jié)點(diǎn)
I.. . m ;任務(wù)節(jié)點(diǎn)I... m中的一個(gè)或若干個(gè),用于執(zhí)行被主節(jié)點(diǎn)I... k中的一個(gè)或若干個(gè)指派的任務(wù),并根據(jù)任務(wù)相關(guān)的切片信息中的實(shí)時(shí)視頻碼流采集器訪問信息從實(shí)時(shí)視頻碼流采集器獲取實(shí)時(shí)視頻碼流,根據(jù)任務(wù)相關(guān)的切片信息中的智能分析規(guī)則對所獲取的實(shí)時(shí)視頻碼流進(jìn)行分析,并將分析結(jié)果即時(shí)發(fā)送給服務(wù)器。第一實(shí)施方式是與本實(shí)施方式相對應(yīng)的方法實(shí)施方式,本實(shí)施方式可與第一實(shí)施方式互相配合實(shí)施。第一實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)在本實(shí)施方式中依然有效,為了減少重復(fù),這里不再贅述。相應(yīng)地,本實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)也可應(yīng)用在第一實(shí)施方式中。本發(fā)明第四實(shí)施方式涉及一種基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析系統(tǒng),圖4是該基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析系統(tǒng)的結(jié)構(gòu)示意圖。第四實(shí)施方式在第三實(shí)施方式的基礎(chǔ)上進(jìn)行了改進(jìn),主要改進(jìn)之處在于通過唯一分配的統(tǒng)一資源定位符采集器訪問信息,可以訪問為網(wǎng)絡(luò)攝像機(jī)的實(shí)時(shí)視頻碼流采集器。在視頻監(jiān)控領(lǐng)域的實(shí)時(shí)布控應(yīng)用中,可以根據(jù)相關(guān)布防和事件關(guān)聯(lián)性,將報(bào)警記錄中的事件即時(shí)發(fā)送給報(bào)警服務(wù)器即時(shí)報(bào)警?;蛘咴谝曨l監(jiān)控領(lǐng)域的其他應(yīng)用中,可將報(bào)警記錄中的事件即時(shí)發(fā)送給報(bào)警服務(wù)器即時(shí)報(bào)警,以進(jìn)行相應(yīng)的視頻截取匹配、軌跡跟蹤處理、錄像顯示和追蹤等一系列聯(lián)動(dòng)操作。在分布式計(jì)算模型中使用輸入插件獲取視頻碼流,進(jìn)一步便于海量視頻碼流實(shí)時(shí)智能分析的性能擴(kuò)展和資源的有效利用,使各計(jì)算資源實(shí)時(shí)分析大規(guī)模路數(shù)的視頻碼流可以高效協(xié)調(diào)進(jìn)行。在分布式計(jì)算模型中使用輸入插件獲取視頻碼流和計(jì)算插件分析視頻碼流,可使在后臺部署的分布式計(jì)算集群中方便集成各種圖像分析算法在每個(gè)計(jì)算插件中,同時(shí)進(jìn)一步便于海量視頻碼流實(shí)時(shí)智能分析的性能擴(kuò)展和資源的有效利用,使各計(jì)算資源實(shí)時(shí)分析大規(guī)模路數(shù)的視頻碼流可以高效協(xié)調(diào)進(jìn)行。具體地說采集器為網(wǎng)絡(luò)攝像機(jī)。該采集器訪問信息為統(tǒng)一資源定位符。此外,可以理解,該統(tǒng)一資源定位(Universal Resource Locator,簡稱“URL”)包含訪問該采集器的所有訪問信息。在本發(fā)明的其他某些實(shí)施方式中,實(shí)時(shí)視頻碼流采集器并不局限于網(wǎng)絡(luò)攝像機(jī)(IP Camera,簡稱“IPC”),還包括數(shù)字視頻錄像機(jī)(Digital Video Recorder,簡稱“DVR”)或其中的某路通道,或者模擬攝像裝置等。任務(wù)節(jié)點(diǎn)還包括以下模塊生成子模塊,用于在任務(wù)節(jié)點(diǎn)將分析結(jié)果即時(shí)發(fā)送給服務(wù)器時(shí),將分析結(jié)果生成報(bào)警記錄,該報(bào)警記錄包括為所述采集器分配的唯一編號、匹配時(shí)間點(diǎn)所采用的時(shí)間戳和事件;發(fā)送子模塊,用于將生成子模塊生成的報(bào)警記錄即時(shí)發(fā)送給報(bào)警服務(wù)器。此外,可以理解,在本發(fā)明的其他某些實(shí)施方式中,報(bào)警記錄還可以根據(jù)具體的應(yīng)用,包含為采集器分配的唯一編號、匹配時(shí)間點(diǎn)所采用的時(shí)間戳和事件中的一個(gè)或若干個(gè),也可以包含除上述三個(gè)信息之外的其他信息。系統(tǒng)還包括輸入插件,用于根據(jù)任務(wù)相關(guān)的切片信息中的實(shí)時(shí)視頻碼流采集器訪問信息從實(shí)時(shí)視頻碼流采集器獲取實(shí)時(shí)視頻碼流;任務(wù)節(jié)點(diǎn),還包括以下子模塊加載子模塊,用于加載輸入插件。此外,可以理解,在與分布式計(jì)算模型H mapReduce的相關(guān)細(xì)節(jié)和實(shí)現(xiàn)方法相互參考時(shí),輸入插件InputPlugin從IPC中獲取實(shí)時(shí)視頻碼流。在本發(fā)明的其他某些實(shí)施方式中,也可以將輸入插件固定在任務(wù)節(jié)點(diǎn)中以直接獲取實(shí)時(shí)視頻碼流。系統(tǒng)還包括計(jì)算插件,用于根據(jù)任務(wù)相關(guān)的切片信息中的智能分析規(guī)則對所獲取的實(shí)時(shí)視頻碼流進(jìn)行分析;加載子模塊,還用于加載計(jì)算插件。此外,可以理解,在與分布式計(jì)算模型HMapReduce的相關(guān)細(xì)節(jié)和實(shí)現(xiàn)方法相互參考時(shí),計(jì)算插件MapPlugin進(jìn)行即時(shí)視頻圖像分析。本發(fā)明中,任務(wù)節(jié)點(diǎn)中的加載子模塊加載輸入插件和計(jì)算插件到任務(wù)節(jié)點(diǎn)中,分別用于獲取和分析視頻碼流,這與任務(wù)節(jié)點(diǎn)獲取和分析視頻碼流在層次邏輯上是合理的。在本發(fā)明的其他某些實(shí)施方式中,也可以將計(jì)算插件以代碼的形式固定在任務(wù)節(jié)點(diǎn)中以直接進(jìn)行即時(shí)視頻圖像分析。、
第二實(shí)施方式是與本實(shí)施方式相對應(yīng)的方法實(shí)施方式,本實(shí)施方式可與第二實(shí)施方式互相配合實(shí)施。第二實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)在本實(shí)施方式中依然有效,為了減少重復(fù),這里不再贅述。相應(yīng)地,本實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)也可應(yīng)用在第二實(shí)施方式中。需要說明的是,本發(fā)明各系統(tǒng)實(shí)施方式中提到的各單元都是邏輯單元,在物理上,一個(gè)邏輯單元可以是一個(gè)物理單元或模塊,也可以是一個(gè)物理單 元或模塊的一部分,還可以以多個(gè)物理單元或模塊的組合實(shí)現(xiàn),這些邏輯單元或模塊本身的物理實(shí)現(xiàn)方式并不是最重要的,這些邏輯單元或模塊所實(shí)現(xiàn)的功能的組合是才解決本發(fā)明所提出的技術(shù)問題的關(guān)鍵。此外,為了突出本發(fā)明的創(chuàng)新部分,本發(fā)明上述各系統(tǒng)實(shí)施方式并沒有將與解決本發(fā)明所提出的技術(shù)問題關(guān)系不太密切的單元或模塊引入,這并不表明上述系統(tǒng)實(shí)施方式并不存在其它的單元或模塊。雖然通過參照本發(fā)明的某些優(yōu)選實(shí)施方式,已經(jīng)對本發(fā)明進(jìn)行了圖示和描述,但本領(lǐng)域的普通技術(shù)人員應(yīng)該明白,可以在形式上和細(xì)節(jié)上對其作各種改變,而不偏離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析方法,其特征在于,所述方法基于云計(jì)算的分布式計(jì)算模型進(jìn)行,該模型包括客戶端、主節(jié)點(diǎn)和任務(wù)節(jié)點(diǎn); 所述方法包括以下步驟 所述客戶端為需要進(jìn)行分析的每個(gè)實(shí)時(shí)視頻碼流采集器分別生成切片信息,切片信息中包括實(shí)時(shí)視頻碼流采集器訪問信息和智能分析規(guī)則; 所述客戶端將切片信息上傳到所述主節(jié)點(diǎn); 所述客戶端向所述主節(jié)點(diǎn)提交作業(yè); 所述主節(jié)點(diǎn)將作業(yè)分解成多個(gè)任務(wù),將各任務(wù)及與任務(wù)相關(guān)的切片信息分別指派給多個(gè)分布式計(jì)算的所述任務(wù)節(jié)點(diǎn); 各所述任務(wù)節(jié)點(diǎn)執(zhí)行被指派的任務(wù),根據(jù)任務(wù)相關(guān)的切片信息中的實(shí)時(shí)視頻碼流采集器訪問信息從所述實(shí)時(shí)視頻碼流采集器獲取實(shí)時(shí)視頻碼流,根據(jù)任務(wù)相關(guān)的切片信息中的智能分析規(guī)則對所獲取的實(shí)時(shí)視頻碼流進(jìn)行分析,并將分析結(jié)果即時(shí)發(fā)送給服務(wù)器。
2.根據(jù)權(quán)利要求I所述的基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析方法,其特征在于,所述采集器為網(wǎng)絡(luò)攝像機(jī);所述采集器訪問信息為統(tǒng)一資源定位符。
3.根據(jù)權(quán)利要求I所述的基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析方法,其特征在于,所述將分析結(jié)果即時(shí)發(fā)送給服務(wù)器的步驟,還包括以下子步驟 將分析結(jié)果生成報(bào)警記錄,該報(bào)警記錄包括為所述采集器分配的唯一編號、匹配時(shí)間點(diǎn)所采用的時(shí)間戳和事件; 將所述報(bào)警記錄即時(shí)發(fā)送給報(bào)警服務(wù)器。
4.根據(jù)權(quán)利要求3所述的基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析方法,其特征在于,在所述根據(jù)任務(wù)相關(guān)的切片信息中的實(shí)時(shí)視頻碼流采集器訪問信息從實(shí)時(shí)視頻碼流采集器獲取實(shí)時(shí)視頻碼流的步驟之前,還包括以下步驟 各所述任務(wù)節(jié)點(diǎn)加載輸入插件,該輸入插件用于根據(jù)任務(wù)相關(guān)的切片信息中的實(shí)時(shí)視頻碼流采集器訪問信息從實(shí)時(shí)視頻碼流采集器獲取實(shí)時(shí)視頻碼流。
5.根據(jù)權(quán)利要求4所述的基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析方法,其特征在于,在所述根據(jù)任務(wù)相關(guān)的切片信息中的智能分析規(guī)則對所獲取的實(shí)時(shí)視頻碼流進(jìn)行分析的步驟之前,還包括以下步驟 各所述任務(wù)節(jié)點(diǎn)加載計(jì)算插件,該計(jì)算插件根據(jù)任務(wù)相關(guān)的切片信息中的智能分析規(guī)則對所獲取的實(shí)時(shí)視頻碼流進(jìn)行分析。
6.一種基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析系統(tǒng),其特征在于,所述系統(tǒng)基于云計(jì)算的分布式計(jì)算模型,該模型包括客戶端、主節(jié)點(diǎn)和任務(wù)節(jié)點(diǎn); 所述客戶端,用于為需要進(jìn)行分析的每個(gè)實(shí)時(shí)視頻碼流采集器分別生成切片信息,切片信息中包括實(shí)時(shí)視頻碼流采集器訪問信息和智能分析規(guī)則,之后將切片信息上傳到和將作業(yè)提交至所述主節(jié)點(diǎn); 所述主節(jié)點(diǎn),用于接收所述客戶端上傳的切片信息和提交的作業(yè),并將所述作業(yè)分解成多個(gè)任務(wù),以及將各任務(wù)及與任務(wù)相關(guān)的切片信息分別指派給多個(gè)分布式計(jì)算的所述任務(wù)節(jié)點(diǎn); 所述任務(wù)節(jié)點(diǎn),用于執(zhí)行所述主節(jié)點(diǎn)中指派的任務(wù),并根據(jù)任務(wù)相關(guān)的切片信息中的實(shí)時(shí)視頻碼流采集器訪問信息從所述實(shí)時(shí)視頻碼流采集器獲取實(shí)時(shí)視頻碼流,根據(jù)任務(wù)相關(guān)的切片信息中的智能分析規(guī)則對所獲取的實(shí)時(shí)視頻碼流進(jìn)行分析,并將分析結(jié)果即時(shí)發(fā)送給服務(wù)器。
7.根據(jù)權(quán)利要求6所述的基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析系統(tǒng),其特征在于,所述采集器為網(wǎng)絡(luò)攝像機(jī);所述采集器訪問信息為統(tǒng)一資源定位符。
8.根據(jù)權(quán)利要求6所述的基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析系統(tǒng),其特征在于,所述任務(wù)節(jié)點(diǎn)還包括以下模塊 生成子模塊,用于在所述任務(wù)節(jié)點(diǎn)將分析結(jié)果即時(shí)發(fā)送給服務(wù)器時(shí),將分析結(jié)果生成報(bào)警記錄,該報(bào)警記錄包括為所述采集器分配的唯一編號、匹配時(shí)間點(diǎn)所采用的時(shí)間戳和事件; 發(fā)送子模塊,用于將所述生成子模塊生成的報(bào)警記錄即時(shí)發(fā)送給報(bào)警服務(wù)器。
9.根據(jù)權(quán)利要求8所述的基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析系統(tǒng),其特征在于,所述系統(tǒng)還包括 輸入插件,用于根據(jù)任務(wù)相關(guān)的切片信息中的實(shí)時(shí)視頻碼流采集器訪問信息從實(shí)時(shí)視頻碼流采集器獲取實(shí)時(shí)視頻碼流; 所述任務(wù)節(jié)點(diǎn),還包括以下子模塊 加載子模塊,用于加載所述輸入插件。
10.根據(jù)權(quán)利要求9所述的基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析系統(tǒng),其特征在于,所述系統(tǒng)還包括 計(jì)算插件,用于根據(jù)任務(wù)相關(guān)的切片信息中的智能分析規(guī)則對所獲取的實(shí)時(shí)視頻碼流進(jìn)行分析; 所述加載子模塊,還用于加載所述計(jì)算插件。
全文摘要
本發(fā)明涉及視頻監(jiān)控領(lǐng)域,公開了一種基于云計(jì)算的海量實(shí)時(shí)視頻碼流智能分析方法及其系統(tǒng)。引入了分布式計(jì)算框架,解決了傳統(tǒng)分布式計(jì)算框架不能面向海量視頻數(shù)據(jù)碼流實(shí)時(shí)處理的問題,便于性能擴(kuò)展和有效利用資源,可以高效協(xié)調(diào)各計(jì)算資源進(jìn)行實(shí)時(shí)分析。本發(fā)明中,方法包括以下步驟客戶端生成切片信息;客戶端將切片信息上傳到主節(jié)點(diǎn);客戶端向主節(jié)點(diǎn)提交作業(yè);主節(jié)點(diǎn)將作業(yè)分解成多個(gè)任務(wù),將各任務(wù)及與任務(wù)相關(guān)的切片信息分別指派給多個(gè)任務(wù)節(jié)點(diǎn);各任務(wù)節(jié)點(diǎn)執(zhí)行被指派的任務(wù),獲取和分析實(shí)時(shí)視頻碼,并將分析結(jié)果即時(shí)發(fā)送給服務(wù)器。
文檔編號H04L29/06GK102638456SQ20121007318
公開日2012年8月15日 申請日期2012年3月19日 優(yōu)先權(quán)日2012年3月19日
發(fā)明者管國辰, 鄒拓宇, 金升鵬 申請人:杭州??低曄到y(tǒng)技術(shù)有限公司