專利名稱:視頻分析的制作方法
技術(shù)領(lǐng)域:
本公開涉及一種用于高效地執(zhí)行視頻分析操作的方法、相應(yīng)的計(jì) 算機(jī)程序和照相機(jī)。
背景技術(shù):
視頻分析或視頻內(nèi)容分析涵蓋從視頻運(yùn)動(dòng)檢測和音頻檢測到更
先進(jìn)的系統(tǒng)(包括照相機(jī)擅改(tampering)檢測、人員計(jì)數(shù)、檢測 物體穿過感興趣的線或區(qū)域、車輛牌照識別、將視頻分成前景部分和 背景部分、跟蹤目標(biāo)、交通分析、元數(shù)據(jù)提取、生物測定應(yīng)用、以及 人臉識別)。視頻分析還使得監(jiān)視系統(tǒng)更加智能,以將大量的圖像數(shù) 據(jù)減少到可管理的水平。智能視頻監(jiān)視系統(tǒng)例如可以實(shí)時(shí)地自動(dòng)分析 監(jiān)視視頻并對監(jiān)視視頻加標(biāo)簽,檢測可疑活動(dòng),啟動(dòng)視頻記錄,激活 警報(bào)或其它動(dòng)作以警告操作員或其他人員。
在監(jiān)視應(yīng)用中,常常使用視頻分析來檢測運(yùn)動(dòng)。運(yùn)動(dòng)檢測是通過 分析圖像數(shù)據(jù)來定義場景中的活動(dòng)的一種方式,并可以對監(jiān)視照相機(jī) 的整個(gè)視野或者對用戶定義的感興趣的區(qū)域執(zhí)行運(yùn)動(dòng)檢測。此外,具 有運(yùn)動(dòng)檢測能力的視頻監(jiān)視系統(tǒng)能夠比操作員更可靠地檢測運(yùn)動(dòng),并 因此能夠使操作員不必長時(shí)間地盯著多個(gè)視頻監(jiān)視器。作為替代,具 有運(yùn)動(dòng)檢測能力的視頻監(jiān)視系統(tǒng)能夠在檢測到運(yùn)動(dòng)時(shí)使用視覺指示 器、音頻指示器或兩者來警告操作員。這樣的監(jiān)視系統(tǒng)還可以使監(jiān)視 照相機(jī)自動(dòng)地聚焦在檢測到運(yùn)動(dòng)的區(qū)域以獲得更詳細(xì)的圖像。
如本發(fā)明人所認(rèn)識的那樣,能夠執(zhí)行視頻分析的網(wǎng)絡(luò)照相機(jī)將降 低集中式圖像處理系統(tǒng)的工作負(fù)荷,并節(jié)省寶貴的網(wǎng)絡(luò)帶寬。這樣的 網(wǎng)絡(luò)照相機(jī)將使得能夠?qū)崿F(xiàn)真正的事件驅(qū)動(dòng)的監(jiān)視系統(tǒng),其中照相機(jī) 進(jìn)行的運(yùn)動(dòng)檢測可以觸發(fā)預(yù)先定義的自動(dòng)處理(諸如調(diào)整溫度、激活警報(bào)、鎖門/開門,等等)。
然而,由于視頻分析頻繁地需要對大量的像素?cái)?shù)據(jù)執(zhí)行幾種相對 簡單的操作,所以當(dāng)前的方法不適用于諸如網(wǎng)絡(luò)照相機(jī)的移動(dòng)應(yīng)用或
嵌入式應(yīng)用。為了降低CPU處理負(fù)擔(dān),已開發(fā)了快速減少在視頻分
析期間所處理的數(shù)據(jù)量(像素?cái)?shù)目)的傳統(tǒng)方法。
一種這樣的傳統(tǒng)方法順序地遍歷圖像中的所有像素以識別感興 趣的像素。如果對某像素不感興趣,則該方法轉(zhuǎn)到下一像素進(jìn)行分析。 在本文中,"感興趣的"表示像素包含與正在進(jìn)行的分析相關(guān)的信息 (例如,運(yùn)動(dòng)信息)。如果對某像素感興趣,則該方法在轉(zhuǎn)到下一像 素之前對該像素執(zhí)行相關(guān)操作。因此,此方法將像素的視頻分析處理
嵌套(nest)在識別感興趣的像素的例程(routine)內(nèi)。在濾波器的 情況下,例如,雖然只是選擇性地對感興趣的像素應(yīng)用濾波器,但每 次仍僅對一個(gè)像素應(yīng)用濾波器。
許多現(xiàn)代處理器能夠執(zhí)行單指令多數(shù)據(jù)(SIMD)指令,以便并 行地處理多個(gè)數(shù)據(jù)字段,并提高性能。在具有SIMD指令能力的處理 器中,每個(gè)寄存器被劃分成至少兩個(gè)字段。每個(gè)字段表示獨(dú)立于其它 字段中數(shù)據(jù)的數(shù)據(jù)。例如,在視頻分析的情況下,每個(gè)字段可以表示 單個(gè)像素。由于處理器能夠?qū)φ麄€(gè)寄存器執(zhí)行SIMD指令,所以在寄 存器的多個(gè)字段中包含的像素被同時(shí)處理。因此,具備SIMD能力的 處理器的性能會(huì)明顯地好于通用處理器的性能。
然而,如本發(fā)明人所認(rèn)識的那樣,選擇要被處理的像素的上述傳 統(tǒng)方法不是很適合于SIMD指令處理。因?yàn)樵摲椒▽⒁曨l分析處理嵌 套在像素選擇流程內(nèi),所以迫使具備SIMD能力的處理器以與通用處 理器大致相同的方式一次一個(gè)地處理所選的像素,從而消除了通過采 用SIMD指令而獲得的優(yōu)點(diǎn)。
傳統(tǒng)視頻分析的上述低效的結(jié)果是對于執(zhí)行視頻分析功能(諸 如濾波和運(yùn)動(dòng)檢測)來說,仍然優(yōu)選具有高處理能力的強(qiáng)大計(jì)算機(jī)系 統(tǒng)。因此,這些方法不是很適合于網(wǎng)絡(luò)照相機(jī)中視頻分析的本地實(shí)現(xiàn)。
典型的視頻監(jiān)視系統(tǒng)包括通過諸如基于IP的網(wǎng)絡(luò)之類的網(wǎng)絡(luò)連接到中央處理單元的多個(gè)視頻監(jiān)視照相機(jī)?;贗P的網(wǎng)絡(luò)常常不是 排它地專用于視頻監(jiān)視系統(tǒng),而被與其它基于網(wǎng)絡(luò)的應(yīng)用(諸如電子
郵件、Web瀏覽、數(shù)據(jù)庫系統(tǒng)等)共享。在視頻監(jiān)視系統(tǒng)采用由中央 處理單元執(zhí)行的傳統(tǒng)視頻分析的情況下,每個(gè)照相機(jī)必須向中央處理 單元提供原始視頻圖像流。這將巨量的視頻數(shù)據(jù)置于具有大量數(shù)據(jù)通 信量的網(wǎng)絡(luò)上,因此需要本來可被其它網(wǎng)絡(luò)應(yīng)用所使用的帶寬。
發(fā)明內(nèi)容
本公開提供一種適合于具備SIMD能力的處理器的、用于從圖像 中選擇感興趣的像素的方法、計(jì)算機(jī)程序、以及照相機(jī),從而解決現(xiàn) 有技術(shù)中的上述不足。根據(jù)本發(fā)明的用于視頻分析處理的示例性系統(tǒng) 包括像素收集單元,所述像素收集單元通過使用預(yù)先確定的二進(jìn)制掩 碼從圖像收集多個(gè)感興趣的像素。所述預(yù)先確定的二進(jìn)制掩碼被用于 定義感興趣的像素在圖像上的位置。電子存儲(chǔ)器將感興趣的像素存儲(chǔ) 為像素矩陣,該像素矩陣只包含被相鄰排列的感興趣的像素。數(shù)據(jù)處 理器獨(dú)立于像素收集單元地對所述像素矩陣執(zhí)行視頻分析處理,且像 素分散單元根據(jù)預(yù)先確定的掩碼將經(jīng)處理的像素分散回圖像中。
隨著通過閱讀參照附圖進(jìn)行的以下詳細(xì)描述而更好地理解本發(fā)
明及其許多伴隨的優(yōu)點(diǎn),將容易地獲得對本發(fā)明及其許多伴隨的優(yōu)點(diǎn)
的更全面的認(rèn)識,在附圖中
圖1是根據(jù)本公開的示例性實(shí)施例的視頻分析系統(tǒng)的示意圖; 圖2是在其上執(zhí)行根據(jù)本公開的示例性實(shí)施例的視頻分析方法
的計(jì)算機(jī)系統(tǒng)的示意圖3是根據(jù)本公開的示例性實(shí)施例的視頻分析方法的示意圖; 圖4是根據(jù)本公開的示例性實(shí)施例的二進(jìn)制掩碼應(yīng)用的流程圖; 圖5是根據(jù)本公開的示例性實(shí)施例的二進(jìn)制掩碼的形態(tài)膨脹和
應(yīng)用的示意圖;圖6是根據(jù)本公開的示例性實(shí)施例的形態(tài)膨脹的流程圖7是根據(jù)本公開的實(shí)施例的像素收集圖8是根據(jù)本公開的實(shí)施例的像素分散圖;以及
圖9是根據(jù)本公開的示例性實(shí)施例的視頻分析方法的流程圖10是視頻監(jiān)視系統(tǒng)圖;以及
圖11是根據(jù)本公開的示例性實(shí)施例的網(wǎng)絡(luò)照相機(jī)的圖。
具體實(shí)施例方式
本公開通過參考附圖來描述優(yōu)選實(shí)施例。
圖1是根據(jù)本公開的示例性實(shí)施例的視頻分析系統(tǒng)的圖。該系統(tǒng) 包括用于收集感興趣的像素的收集單元3、用于在處理完成時(shí)分散感 興趣的像素的分散單元4、用于存儲(chǔ)感興趣的像素的電子存儲(chǔ)器2、 以及用于執(zhí)行視頻分析處理的數(shù)據(jù)處理器1。所有上述組件通過數(shù)據(jù) 總線5互連。
可以在諸如采用奔騰處理器的PC的個(gè)人計(jì)算設(shè)備上實(shí)現(xiàn)所述視 頻分析處理系統(tǒng)??梢詫⑹占瘑卧?和分散單元4的指令集提供作為 結(jié)合處理器和操作系統(tǒng)(諸如Microsoft VISTA 、 Unix、 Solaris, Linux、 Apple MAC-OS及本領(lǐng)域技術(shù)人員已知的其它系統(tǒng))所執(zhí)行 的實(shí)用程序(utility application )、操作系統(tǒng)的后臺守護(hù)進(jìn)程或組件、 或其組合。
電子存儲(chǔ)器2可以是被集成到PC的動(dòng)態(tài)或靜態(tài)隨機(jī)存取存儲(chǔ)器 (RAM),或者可以是其它存儲(chǔ)設(shè)備(諸如FLASH、 EEPROM、光 盤、服務(wù)器等)。所述存儲(chǔ)器也可以是能夠從視頻分析處理系統(tǒng)拆卸 的。
圖2是根據(jù)本實(shí)施例的客戶端計(jì)算機(jī)或監(jiān)視中心計(jì)算機(jī)的示意 圖。該計(jì)算機(jī)包括與鍵盤112、定位設(shè)備lll和顯示器IIO相連的計(jì) 算設(shè)備100。
計(jì)算設(shè)備100包括執(zhí)行控制處理并與用于臨時(shí)存儲(chǔ)正被處理的 數(shù)據(jù)的主存儲(chǔ)器105相連的處理器101,和存儲(chǔ)由處理器101執(zhí)行的指令的ROM 106。盤控制器107至少控制可用于在處理前和處理后 存儲(chǔ)視頻序列的盤108和CD-ROM 109。顯示器控制器104用于控制 外部顯示器,且I/O接口 102用于控制其它外部設(shè)備(諸如鍵盤112、 定位設(shè)備111和顯示器110)??偩€103將所有這些組件互連。
計(jì)算設(shè)備100可以是例如采用奔騰處理器的PC。存儲(chǔ)在ROM 106中的指令集可被提供為結(jié)合處理器和操作系統(tǒng)(諸如VISTA、 UNIX、 SOLARIS、 LINUX、 APPLE MAC-OS及本領(lǐng)域技術(shù)人員已 知的其它系統(tǒng))所執(zhí)行的實(shí)用程序、操作系統(tǒng)的后臺守護(hù)進(jìn)程或組件、 或其組合。
計(jì)算設(shè)備100的主存儲(chǔ)器105可以是集成到PC的動(dòng)態(tài)或靜態(tài)隨 機(jī)存取存儲(chǔ)器(RAM),或者可以是其它存儲(chǔ)設(shè)備(諸如FLASH、 EEPROM、光盤、服務(wù)器等)。另外,主存儲(chǔ)器105的至少一部分還 可以是能夠從視頻運(yùn)動(dòng)檢測系統(tǒng)拆卸的。
還可以在硬件設(shè)備(諸如FPGA、 ASIC、微控制器、PLD或本 領(lǐng)域已知的其它這樣的設(shè)備)上實(shí)現(xiàn)所述視頻分析處理系統(tǒng)。
圖3描繪根據(jù)本公開的示例性實(shí)施例的視頻分析處理方法。該視 頻分析處理方法具有三個(gè)階段收集像素、處理像素和分散像素。在 收集階段22中,使用二進(jìn)制掩碼23來收集從圖像21中選擇的用于 視頻分析處理的像素。二進(jìn)制掩碼23是使用'T,和"0"來定義感 興趣的像素的像素位置的位圖。在二進(jìn)制掩碼23中,由一個(gè)位來表 示每個(gè)像素。值為"1"的位定義被選擇以進(jìn)行處理的像素(即"感 興趣的"像素),而值為"0"的位定義未被選擇來進(jìn)行處理的像素。 然而,本公開也可以使用相反的方案,即,可以用"0"值來表示感 興趣的像素,而用值'T,來表示不會(huì)被處理的像素。
使用二進(jìn)制掩碼23來識別感興趣的像素是非常高效的,因?yàn)榭?以同時(shí)測試二進(jìn)制掩碼的幾個(gè)像素位置。圖4是將二進(jìn)制掩碼應(yīng)用于 圖像的流程圖。在本實(shí)施例中,使用32位寄存器,但是可以利用任 何長度的寄存器進(jìn)行該處理。該處理在步驟S40開始。在步驟S41, 向寄存器加載對應(yīng)于32個(gè)圖像像素的32個(gè)二進(jìn)制掩碼位。在步驟S42,將寄存器與"0"進(jìn)行比較,如在本例子中一樣,"0"值定義 未被選擇來進(jìn)行處理的像素。如果寄存器等于"0",則處理繼續(xù)進(jìn) 行至步驟S51以確定是否已到達(dá)掩碼的結(jié)尾。如果已到達(dá)掩碼的結(jié)尾, 則處理在步驟S53結(jié)束。
然而,如果還有更多掩碼位,且因此還有更多要被處理的像素, 則在S52使確定由正被檢驗(yàn)的32個(gè)掩碼位構(gòu)成的區(qū)塊的指針前進(jìn)32 位,且處理返回到步驟S41以將一組新的32個(gè)掩碼位加載到寄存器 中。如果在S42寄存器不等于"0",則在S43將寄存器劃分為兩個(gè) 16位字(最高有效字(MSW)和最低有效字(LSW))。在S44, 將MSW與"0"進(jìn)行比較。如果MSW不等于"0",則在S45將其 劃分為兩個(gè)8位字節(jié)(最高有效字節(jié)(MSB )和最低有效字節(jié)(LSB ))。 在S46,將MSB與"0"進(jìn)行比較,且如果MSB不等于"0",則在 S47對其進(jìn)行線性搜索以識別"非0"位。然后,在S49和S47對LSB 執(zhí)行類似的一系列步驟。在回到S51之前,在S48將"非0"像素存 儲(chǔ)為"感興趣的像素"。
從步驟S50開始對LSW執(zhí)行類似處理。 一旦收集了所有感興趣 的像素并到達(dá)了掩碼的結(jié)尾,則該處理在S53結(jié)束。
雖然在上述例子中,只使用二級劃分(即,從32位至16位,以 及從16位至8位),但可以使用附加的劃分等級,或者可以使用較 少的劃分等級。作為備選的方案,可以在不執(zhí)行任何劃分的情況下直 接對寄存器進(jìn)行線性搜索。在這種情況下,"劃分,,表示從一大組像 素創(chuàng)建像素?cái)?shù)目相等的兩個(gè)像素組。例如, 一個(gè)8位組的第一級劃分 形成兩個(gè)4位組,等等。
在上述像素收集中,將由二進(jìn)制掩碼23定義的感興趣的像素按 照預(yù)先定義的順序收集到陣列中以供進(jìn)一步處理。例如,可以將像素 從左至右收集到一維陣列中。然而,對于被收集的區(qū)域的邊界處的像 素來說,丟失了豎向方向和橫向方向上的關(guān)于相鄰像素的信息。許多 視頻分析操作需要這樣的相鄰信息,因此需要收集鄰近感興趣的像素 的附加的相鄰像素。這些操作例如包括索伯爾(Sobel)梯度濾波器。通過沿橫向方向?qū)ΧM(jìn)制掩碼23進(jìn)行形態(tài)膨脹以包括相鄰像素,高 效地實(shí)現(xiàn)了沿橫向方向收集附加像素。
在沿豎向方向進(jìn)行形態(tài)膨脹的情況下,執(zhí)行三遍收集 一遍用于 向其原始位置之上平移(translate) 了一行的橫向膨脹掩碼;另 一遍 在其原始位置;以及最后一遍用于其原始位置之下的一個(gè)像素行。這 生成3xN陣列?,F(xiàn)在,感興趣的像素在陣列中相同的相對位置處具 有來自原始圖像的它們各自的相鄰像素。向位于沿著邊界的位置的那 些感興趣的像素添加填充(padding)像素作為相鄰像素。
圖5是上述收集處理的簡化例子。感興趣的像素58為灰色,用 "X"標(biāo)記的像素52是作為形態(tài)膨脹的結(jié)果而收集的像素,用圓圈內(nèi) 的"X"標(biāo)記的像素是被填充的像素56,且用方框標(biāo)記的像素顯示沿 豎向方向的附加相鄰像素55。圖5還包括得到的陣列59,其中在第 二遍收集的感興趣的像素58相對于它們最接近的鄰居而被顯示出來。 在不脫離本公開的范圍的情況下,還可以使用其它方法。例如,可在 單遍收集中收集像素。
圖6是根據(jù)本公開的示例性實(shí)施例的將二進(jìn)制掩碼54應(yīng)用于圖 像的流程圖。在步驟S61,將二進(jìn)制掩碼54 (參見圖5)上移一個(gè)像 素行以收集感興趣的像素58之上的豎向鄰居。然后,在S62將二進(jìn) 制掩碼54應(yīng)用于圖像51,并在步驟S63將相應(yīng)的像素存儲(chǔ)在陣列59 的頂行59a中。在步驟S64,將二進(jìn)制掩碼移回其原始位置,以便收 集感興趣的像素58和它們各自的橫向鄰居。在步驟S65,如上所述將 二進(jìn)制掩碼54應(yīng)用于圖像51,并在步驟S66將相應(yīng)的像素存儲(chǔ)在陣 列59的第二行59b中。然后,將二進(jìn)制掩碼54下移一個(gè)像素行,以 便收集感興趣的像素58之下的豎向鄰居。在步驟S68應(yīng)用二進(jìn)制掩 碼54,并在步驟S69將像素存儲(chǔ)在陣列59的第三行59c中。
應(yīng)注意的是,流程圖中的任何處理描迷或方框應(yīng)被理解為表示包 括一個(gè)或多個(gè)可執(zhí)行指令的代碼的模塊、片斷、部分,所述一個(gè)或多 個(gè)可執(zhí)行指令用于實(shí)現(xiàn)該處理中的特定邏輯功能或步驟,并且,如本 領(lǐng)域的技術(shù)人員將理解的那樣,替代的實(shí)施方式被包括在本發(fā)明的示例性實(shí)施例的范圍內(nèi),其中,取決于所涉及的功能,可以按照與所示 出的或所討論的順序不同的順序來執(zhí)行多個(gè)功能,包括基本同時(shí)地執(zhí) 行多個(gè)功能或者按照顛倒的次序執(zhí)行多個(gè)功能。
如上所述,將像素收集在3 x N像素矩陣中使得能夠高效地利用 SIMD指令,因?yàn)橄袼鼐仃囍话紙D像的少數(shù)像素。與每次處理 一個(gè)感興趣的像素的傳統(tǒng)方法不同,應(yīng)用于像素矩陣的行或列的 SIMD指令同時(shí)處理多個(gè)感興趣的像素。對3 x N像素矩陣執(zhí)行的 SIMD指令的示例包括接合(splice)指令、雙倍絕對值指令、對結(jié)果 四舍五入(round)的取平均指令、具有舍位指令的取平均指令、以 及對結(jié)果朝著預(yù)先確定的數(shù)四舍五入的線性內(nèi)插指令。
參照圖7,圖像36由對應(yīng)于像素位置(X, Y)的大量像素組成, 其中,X定義像素的行位置(A~F),且Y定義列位置(1~5)。 然而,僅圖像中的某些像素被確定為感興趣的像素(31~34)。在圖 像36中,感興趣的像素(31~34)散布開而不相鄰。在像素收集期 間,形成只包含感興趣的像素(31~34)和任何相關(guān)相鄰像素的像素 矩陣35。由于像素矩陣35只包含圖像36中所含的一小部分像素,所 以可以高效地實(shí)現(xiàn)基于SIMD的處理。
接下來,參照圖8,描述像素分散。在像素分散期間,將包含在 像素矩陣45中的已處理的像素(41~44)放回圖像36中它們各自的 原始位置(31~34)。因此,分散是收集的反向處理,并使用相同的 二進(jìn)制掩碼23。
在本公開的另 一示例性實(shí)施例中,優(yōu)選具有用于收集和分散階段 的DMA單元。該DMA單元允許繞過數(shù)據(jù)處理器1直接進(jìn)行存儲(chǔ)器 存取,并減輕數(shù)據(jù)處理器的一些處理需求。
圖9是概述根據(jù)本公開的示例性實(shí)施例的視頻分析方法的步驟 的流程圖。在步驟S1,對圖像應(yīng)用定義感興趣的像素的位置的二進(jìn)制 掩碼。然后,在步驟S2收集所識別的感興趣的像素,并在步驟S3期 間將其彼此相鄰地存儲(chǔ)在像素矩陣中。然后,在步驟S4對像素矩陣 執(zhí)行視頻分析處理。該視頻分析處理可以包括使用SIMD指令來處理圖像。在步驟S5,使用用以定義已處理的像素的各自位置的二進(jìn)制掩 碼,將已處理的像素分散回到圖像中。
在另一示例性實(shí)施例中,使用上述方法來實(shí)現(xiàn)NxN濾波器。在 已于收集階段收集了感興趣的像素之后向像素矩陣35應(yīng)用NxN濾 波器核。因?yàn)闉V波器只對之前被收集到像素矩陣中的感興趣的像素以 及它們各自的鄰居而不是整個(gè)圖像進(jìn)行操作從而可改善濾波效率。如 上所述,在濾波完成時(shí),將像素分散。
可以通過使用下面的技術(shù)來實(shí)現(xiàn)濾波器而進(jìn)一步改善濾波效率, 所述技術(shù)避免使用在濾波器核與像素?cái)?shù)據(jù)之間執(zhí)行巻積的傳統(tǒng)方式。 傳統(tǒng)巻積的中間結(jié)果的位數(shù)兩倍于巻積函數(shù)的自變量的位數(shù)。例如, 8位巻積在中間步驟將數(shù)據(jù)擴(kuò)展為16位。使用諸如取平均指令、接合 指令或線性內(nèi)插指令等SIMD運(yùn)算來實(shí)現(xiàn)視頻分析濾波器使得無需執(zhí) 行巻積,并在整個(gè)濾波過程中保持每個(gè)像素的位數(shù)恒定。
接下來,參照圖IO描述采用上述視頻分析系統(tǒng)和相關(guān)方法的網(wǎng) 絡(luò)照相機(jī)。網(wǎng)絡(luò)照相機(jī)70 (或IP照相機(jī))可以是能夠生成圖像序列 并通過網(wǎng)絡(luò)將圖像序列或來自圖像序列的圖像數(shù)據(jù)(諸如圖像元數(shù) 據(jù))傳送至用戶客戶端的任何數(shù)字照相機(jī)。
圖10是具有嵌入式視頻分析的網(wǎng)絡(luò)照相機(jī)70。網(wǎng)絡(luò)照相機(jī)70 包括用于收集入射光的鏡頭系統(tǒng)71、用于寄存入射光的圖像傳感器 (傳感器)72、圖像處理器73、用于管理照相機(jī)功能以及視頻分析處 理76a的中央處理單元(CPU) 76、圖4象/^L頻編碼器75、存儲(chǔ)器74 和網(wǎng)絡(luò)接口 77。
在網(wǎng)絡(luò)照相機(jī)70中,傳感器72例如可以是電荷耦合器件 (CCD)、 CMOS傳感器或類似物。圖像W見頻編碼器75以任何已知 視頻/圖像編碼格式(諸如MPEG 1、 MPEG2、 MPEG4、 H.264、 JPEG、 M-JPEG、位圖等)將視頻編碼。存儲(chǔ)器74存儲(chǔ)圖像信息、程序指令 等,且網(wǎng)絡(luò)接口 77用于通過諸如IP網(wǎng)絡(luò)的網(wǎng)絡(luò)傳輸圖像信息,以及 從網(wǎng)絡(luò)接收信息。
此外,圖像處理器73、視頻分析76a、以及圖像/視頻編碼器75可以被實(shí)現(xiàn)為由CPU 76執(zhí)行的軟件指令,或者可以在諸如單獨(dú)的微 處理器、FPGA、 ASIC等的硬件中被實(shí)現(xiàn)。還可以將CPU76實(shí)現(xiàn)為 具有或不具有SIMD指令能力的微處理器、FPGA、 ASIC等。所述存 儲(chǔ)器可以是靜態(tài)或動(dòng)態(tài)的RAM、 ROM、 EPROM、 EEPROM、 FLASH 等等,且鏡頭系統(tǒng)71可以永久性地附著于網(wǎng)絡(luò)照相機(jī)70,或者可以 是可移除的。
雖然將上述網(wǎng)絡(luò)照相機(jī)70描述為單個(gè)單元,但可以有其它實(shí)施 方式。能夠生成模擬圖像序列的模擬照相機(jī)與諸如視頻編碼器或視頻 服務(wù)器的轉(zhuǎn)換器的系統(tǒng)也可以是網(wǎng)絡(luò)照相機(jī)。這樣的系統(tǒng)中的轉(zhuǎn)換器 將來自模擬照相機(jī)的模擬圖像序列轉(zhuǎn)換成數(shù)字圖像序列或圖像數(shù)據(jù), 并將數(shù)字圖像序列或圖像數(shù)據(jù)提供給網(wǎng)絡(luò)。該轉(zhuǎn)換器還執(zhí)行視頻/圖像 編碼和本地纟見頻分析。
網(wǎng)絡(luò)照相機(jī)70的其它組件(諸如用于使鏡頭系統(tǒng)71聚焦的電動(dòng) 馬達(dá)、光度計(jì)、電源等)是已知的,因此為簡潔起見而省略其描述。 此外,在不脫離本公開的范圍的情況下,可以有其它實(shí)施方式。例如, 網(wǎng)絡(luò)照相機(jī)70可以是紅外線照相機(jī),或者,所述網(wǎng)絡(luò)接口可以是無 線接口,等等。
通過在網(wǎng)絡(luò)照相機(jī)上本地執(zhí)行視頻分析,可以只將相關(guān)視頻數(shù)據(jù) 置于網(wǎng)絡(luò)上,其明顯少于由傳統(tǒng)網(wǎng)絡(luò)照相機(jī)置于網(wǎng)絡(luò)上的視頻數(shù)據(jù)的
圖11是采用如上所述的網(wǎng)絡(luò)照相機(jī)的網(wǎng)絡(luò)照相機(jī)系統(tǒng)。此示例 性網(wǎng)絡(luò)包括連接到專用網(wǎng)絡(luò)92或公共網(wǎng)絡(luò)93的多個(gè)網(wǎng)絡(luò)照相機(jī) (81~85)。網(wǎng)絡(luò)照相機(jī)81包括模擬照相機(jī)81a和轉(zhuǎn)換器81b,同時(shí), 網(wǎng)絡(luò)照相機(jī)(82~85)完全集成了包括視頻分析的所有功能。
專用網(wǎng)絡(luò)92可以是對它的訪問受限的局域網(wǎng)(LAN)或廣域網(wǎng) (WAN)。此外,專用網(wǎng)絡(luò)92可以通過訪問限制設(shè)備90連接到公 共網(wǎng)絡(luò)93,訪問限制設(shè)備90可以提供防火墻功能、網(wǎng)絡(luò)地址轉(zhuǎn)換 (translation)等。訪問限制設(shè)備90可以是專用路由器、計(jì)算機(jī)、服 務(wù)器等。公共網(wǎng)絡(luò)93(例如,因特網(wǎng))可以包含諸如Wifi、蜂窩式網(wǎng)絡(luò)、PSTN、 ISDN等的無線和有線區(qū)段(segment)。專用網(wǎng)絡(luò)92也 可以包括諸如Wifi、以太網(wǎng)等的無線和有線區(qū)段。
客戶端計(jì)算機(jī)(87、 88、 91)、監(jiān)視中心89、以及網(wǎng)絡(luò)視頻記 錄器86經(jīng)由專用網(wǎng)絡(luò)或公共網(wǎng)絡(luò)(分別為92或93 )連接到網(wǎng)絡(luò)照相 機(jī)(81~85)。在網(wǎng)絡(luò)照相機(jī)系統(tǒng)80中,網(wǎng)絡(luò)照相機(jī)(81~85)的 網(wǎng)絡(luò)接口使得能夠?qū)崿F(xiàn)網(wǎng)絡(luò)照相機(jī)(81~85)與客戶端計(jì)算機(jī)(87、 88、 91)之間的通信。這樣的通信包括圖像數(shù)據(jù)、音頻數(shù)據(jù)、控制信 息(拍全景(pan)、傾斜、變焦等)、視頻設(shè)置等的傳輸。此外, 網(wǎng)絡(luò)照相機(jī)(81~85)可以服務(wù)于多個(gè)客戶端(例如監(jiān)視中心89、客 戶端計(jì)算機(jī)(87、 88、 91)、或用于存儲(chǔ)圖像并將它們轉(zhuǎn)送至其它客 戶端(未示出)的服務(wù)器)。
另夕卜,可以在如美國申請第12/273,220號中的圖3所討論的系統(tǒng) 中使用上述網(wǎng)絡(luò)照相機(jī)。
諸如運(yùn)動(dòng)檢測的視頻分析應(yīng)用基于對來自通過網(wǎng)絡(luò)照相機(jī)(81~ 85)捕捉的圖像序列的圖像分析。如本發(fā)明人所認(rèn)識的那樣,當(dāng)在網(wǎng) 絡(luò)照相機(jī)本身上執(zhí)行圖像分析時(shí),可以減少公共網(wǎng)絡(luò)93或?qū)S镁W(wǎng)絡(luò) 92上的數(shù)據(jù)通信量??梢灾粚⑴c相關(guān)事件有關(guān)聯(lián)的數(shù)據(jù)發(fā)送到監(jiān)視中 心89或客戶端計(jì)算機(jī)(87、 88、 91),為其它應(yīng)用節(jié)省帶寬,減少 存儲(chǔ)視頻信息所需的存儲(chǔ)空間的量,并減少隨后要搜索的視頻數(shù)據(jù)的 量。,
雖然在以上描述中討論了運(yùn)動(dòng)檢測,但是這里所描述的系統(tǒng)和相 關(guān)方法還適合于其它形式的視頻分析(諸如人臉識別、對象識別、背 景/前景分離、模式分析等等)。
前述討論僅僅公開了本公開的示例性實(shí)施例。如本領(lǐng)域的技術(shù)人 員將理解的那樣,在不脫離本發(fā)明的精神和本質(zhì)特性的情況下,還可 以其它特定形式來實(shí)現(xiàn)本發(fā)明。因此,本發(fā)明的公開意欲起說明性作 用,而非限制本發(fā)明以及權(quán)利要求的范圍。本公開(包括在此進(jìn)行的 教導(dǎo)的任何容易想到的變體)部分地限定前述術(shù)語的范圍,使得本發(fā) 明的內(nèi)容不被貢獻(xiàn)給公眾。
權(quán)利要求
1.一種視頻分析處理方法,包括根據(jù)預(yù)先確定的二進(jìn)制掩碼將來自圖像的多個(gè)感興趣的像素收集在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,所述預(yù)先確定的二進(jìn)制掩碼定義所述多個(gè)感興趣的像素在所述圖像上的至少一個(gè)位置;將所述多個(gè)感興趣的像素排列在至少包括所述感興趣的像素的像素矩陣中,每個(gè)感興趣的像素被與其它感興趣的像素相鄰地存儲(chǔ)在所述像素矩陣中;使用數(shù)據(jù)處理器上的SIMD指令對所述像素矩陣執(zhí)行視頻分析處理;以及根據(jù)所述預(yù)先確定的二進(jìn)制掩碼,在處理之后將所述感興趣的像素分散到圖像中,其中獨(dú)立于執(zhí)行視頻分析處理步驟地執(zhí)行所述收集步驟和所述分散步驟。
2. 如權(quán)利要求1所迷的視頻分析處理方法,其中,對于每個(gè)感 興趣的像素,所述收集步驟包括使所述預(yù)先確定的二進(jìn)制掩碼沿橫向方向膨脹至少一個(gè)像素位置,依照膨脹后的二進(jìn)制掩碼收集來自所述感興趣的像素之上的像 素行的至少 一 個(gè)相鄰像素,依照膨脹后的二進(jìn)制掩碼收集來自所述感興趣的像素的像素行 的至少一個(gè)相鄰像素和所述感興趣的像素,以及依照膨脹后的二進(jìn)制掩碼收集來自所述感興趣的像素之下的像 素行的至少 一個(gè)相鄰像素。
3. 如權(quán)利要求1或2所述的視頻分析處理方法,其中,所述收 集步驟和所述分散步驟還包括使用DMA單元以獨(dú)立于所述數(shù)據(jù)處理器的方式分別收集和分散所述多個(gè)感興趣的像素和相鄰像素。
4. 如權(quán)利要求1至3中的任何一項(xiàng)所述的視頻分析處理方法, 其中,執(zhí)行視頻分析處理包括使用SIMD指令集利用NxN濾波器核 對所述感興趣的像素進(jìn)行濾波,所述SIMD指令集包括取平均指令、 具有有偏結(jié)果的半分減法指令和接合指令。
5. 如權(quán)利要求4所述的視頻分析處理方法,其中,在整個(gè)濾波 運(yùn)算過程中,預(yù)先確定的表示每個(gè)像素的位的數(shù)目被保持恒定。
6. —種包括計(jì)算機(jī)可讀指令的計(jì)算機(jī)程序,所述指令在被處理 器執(zhí)行時(shí)使該處理器執(zhí)行視頻分析處理方法,所述視頻分析處理方法 包括根據(jù)預(yù)先確定的二進(jìn)制掩碼將來自圖像的多個(gè)感興趣的像素收 集在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,所述預(yù)先確定的二進(jìn)制掩碼定義所述多個(gè)感興趣的像素在所述圖像上的至少一個(gè)位置;將所述多個(gè)感興趣的像素排列在至少包括所述感興趣的像素的 像素矩陣中;使用SIMD處理器對所述像素矩陣執(zhí)行視頻分析處理;以及 根據(jù)所述預(yù)先確定的二進(jìn)制掩碼,在處理之后將所述像素分散到 圖像中,其中獨(dú)立于執(zhí)行視頻分析處理步驟地執(zhí)行所述收集步驟和所述分散步驟。
7. 如權(quán)利要求6所述的計(jì)算機(jī)程序,其中,對于每個(gè)感興趣的 像素,所述收集步驟包括使所述預(yù)先確定的二進(jìn)制掩碼沿橫向方向膨脹至少 一 個(gè)像素位置,依照膨脹后的二進(jìn)制掩碼收集來自所述感興趣的像素之上的像素行的至少一個(gè)相鄰像素,依照膨脹后的二進(jìn)制掩碼收集來自所述感興趣的像素的像素行 的至少一個(gè)相鄰像素和所述感興趣的像素,以及依照膨脹后的二進(jìn)制掩碼收集來自所述感興趣的像素之下的像 素行的至少一個(gè)相鄰像素。
8. 如權(quán)利要求6或7所述的計(jì)算機(jī)程序,其中,所述收集步驟 和所述分散步驟還包括使用DMA單元以獨(dú)立于所述數(shù)據(jù)處理器的方 式分別收集和分散所述多個(gè)感興趣的像素和相鄰像素。
9. 如權(quán)利要求6~8中的任何一項(xiàng)所述的計(jì)算機(jī)程序,其中,執(zhí) 行視頻分析處理包括使用SIMD指令集利用NxN濾波器核對感興趣 的像素進(jìn)行濾波,所述SIMD指令集包括取平均指令、具有有偏結(jié)果 的半分減法指令和接合指令。
10. 如權(quán)利要求9所述的計(jì)算機(jī)程序,其中,在整個(gè)濾波運(yùn)算過 程中,預(yù)先確定的表示每個(gè)像素的位的數(shù)目被保持恒定。
11. 一種網(wǎng)絡(luò)照相機(jī),包括 至少一個(gè)鏡頭,其被配置為收集入射光;傳感器,其被布置在所述鏡頭之后并被配置為將所述入射光轉(zhuǎn)換 為圖像數(shù)據(jù);電子存儲(chǔ)器,其被配置為將對應(yīng)于所述圖像的電子數(shù)據(jù)存儲(chǔ)為圖 像數(shù)據(jù);視頻編碼器,其被配置為對所述圖像數(shù)據(jù)進(jìn)行編碼;數(shù)據(jù)處理器,所述數(shù)據(jù)處理器包括收集單元,其被配置為根據(jù)預(yù)先確定的二進(jìn)制掩碼將來自圖 像的多個(gè)感興趣的像素收集在所述電子存儲(chǔ)器中,所述預(yù)先確定的二 進(jìn)制掩碼定義所述多個(gè)感興趣的像素的至少一個(gè)位置;布置單元,其被配置為將所述多個(gè)感興趣的像素排列在至少 包括所述感興趣的像素的像素矩陣中,視頻分析單元,其被配置為獨(dú)立于所述收集單元地對所述像 素矩陣執(zhí)行視頻分析處理,分散單元,其被配置為獨(dú)立于所述收集單元和所述視頻分析單元地將所述感興趣的像素分散到圖像中;以及 網(wǎng)絡(luò)接口,其被配置為連接到數(shù)據(jù)網(wǎng)絡(luò)。
12. 如權(quán)利要求11所述的網(wǎng)絡(luò)照相機(jī),其中,所述收集單元還 ,皮配置為使所述預(yù)先確定的二進(jìn)制掩碼沿橫向方向膨脹至少 一 個(gè)像素位置,依照膨脹后的二進(jìn)制掩碼收集來自所述感興趣的像素之上的像 素行的至少一個(gè)相鄰像素,依照膨脹后的二進(jìn)制掩碼收集來自所述感興趣的像素的像素行 的至少一個(gè)相鄰像素和所述感興趣的像素,以及依照膨脹后的二進(jìn)制掩碼收集來自所迷感興趣的像素之下的像 素行的至少一個(gè)相鄰像素。
13. 如權(quán)利要求11或12所述的網(wǎng)絡(luò)照相機(jī),還包括 DMA單元,其被配置為獨(dú)立于所述數(shù)據(jù)處理器地傳輸像素,所述像素收集單元和所述像素分散單元分別在收集和分散感興趣的像 素時(shí)采用所述DMA單元。
14. 如權(quán)利要求11~13中的任何一項(xiàng)所述的網(wǎng)絡(luò)照相機(jī),其中, 所述數(shù)據(jù)處理器還被配置為使用SIMD指令利用NxN濾波器核對所 述感興趣的像素進(jìn)行濾波,所述SIMD指令包括取平均指令、具有有 偏結(jié)果的半分減法指令、以及接合指令。
15.如權(quán)利要求14所述的網(wǎng)絡(luò)照相機(jī),其中,在整個(gè)濾波運(yùn)算 過程中,預(yù)先確定的表示每個(gè)像素的位的數(shù)目被保持恒定。
全文摘要
一種用于執(zhí)行低水平視頻分析處理的視頻分析系統(tǒng)及相關(guān)方法將處理分為三個(gè)階段,以便高效地使用許多現(xiàn)代數(shù)據(jù)處理器的SIMD指令。在第一階段,使用預(yù)先確定的掩碼來收集感興趣的像素并將其置于像素矩陣中。在第二階段,對像素矩陣執(zhí)行視頻分析處理,并且在第三階段,使用相同的預(yù)先確定的掩碼來分散所述像素。這允許同時(shí)處理許多像素,提高了總體性能。還可以在像素的收集和分散期間使用DMA單元來減輕處理器的負(fù)擔(dān),進(jìn)一步提高性能。網(wǎng)絡(luò)照相機(jī)集成了視頻分析系統(tǒng)以降低網(wǎng)絡(luò)通信量。
文檔編號H04N7/18GK101685540SQ200910175879
公開日2010年3月31日 申請日期2009年9月23日 優(yōu)先權(quán)日2008年9月26日
發(fā)明者J·阿爾布萊德 申請人:阿克塞斯股份公司