用于利用前景對象分割的噪聲過濾的視頻編碼的方法和系統(tǒng)的制作方法
【專利摘要】本文討論一種用于提供例如通過低帶寬連接編碼并且傳送高清晰度視頻的技術(shù)。具體地,前景對象被識(shí)別為與由多個(gè)視頻幀表示的場景的背景不同。在識(shí)別前景對象中,區(qū)分語義重要和語義不重要的移動(dòng)(例如,非重復(fù)性對重復(fù)性移動(dòng))。例如,小的并且重復(fù)性的樹的葉子的搖擺運(yùn)動(dòng)可以被確定為語義不重要并且屬于場景的背景。前景對象和背景的處理以不同更新速率或者頻率進(jìn)行。例如,前景對象可以每秒被更新30或60次。相比之下,背景不那么頻繁地被更新,例如每1秒或者10秒一次。在一些實(shí)現(xiàn)方式中,如果沒有識(shí)別出前景對象,則不傳送實(shí)況視頻(例如,如果沒有檢測到運(yùn)動(dòng),則不將靜態(tài)圖像配置為被重復(fù)發(fā)送)。本文討論的技術(shù)利用以下認(rèn)識(shí):在監(jiān)視和無線通信領(lǐng)域中,以高幀速率更新語義重要的移動(dòng)的視頻是足夠的。
【專利說明】用于利用前景對象分割的噪聲過濾的視頻編碼的方法和系統(tǒng)
[0001]相關(guān)申請
[0002]本申請是2011年12月29日提交的USSN 13/340, 564的繼續(xù)并且要求其優(yōu)先權(quán),通過引用的方式于此并入其全部教導(dǎo)。
[0003]本申請還涉及兩個(gè)2010年12月30日提交的USSN 12/982,601和12/982,602,通過引用的方式于此并入其全部教導(dǎo)。
【背景技術(shù)】
[0004]近年來,高清晰度(HD)視頻技術(shù)的使用成指數(shù)增長,并且擴(kuò)展到很多不同領(lǐng)域。例如,現(xiàn)在常規(guī)以高清晰度呈現(xiàn)很多電影、電視節(jié)目和在線視頻流。HD視頻技術(shù)也日益增長地用在監(jiān)視和無線通信領(lǐng)域中。例如,HD照相機(jī)可以提供高度詳細(xì)的視頻流,并且使得能夠有效監(jiān)控例如工業(yè)區(qū)的遠(yuǎn)程站點(diǎn)。
[0005]用于監(jiān)視的HD視頻和無線通信應(yīng)用使用大量帶寬。然而,一些遠(yuǎn)程站點(diǎn)可以至多可靠地傳遞128kbps的帶寬。這種帶寬容量可以使得傳遞高質(zhì)量視頻流幾乎不可能。
[0006]為了幫助便于使用HD視頻,存在很多視頻壓縮方案(例如,MPEG-1/2, MPEG-4和
H.264)以減小原始高清晰度視頻的大小。
[0007]通常,低帶寬和高分辨率在視頻編碼和傳輸領(lǐng)域相互矛盾??梢岳闷渲袃H以高幀或者更新速率編碼并且傳送移動(dòng)對象的基于對象的編碼以節(jié)省帶寬。然而,難于識(shí)別潛在或者候選對象是場景的背景中的真實(shí)對象還是噪聲。因此,已經(jīng)存在對于提供用于有效地識(shí)別噪聲和編碼視頻背景的方法和系統(tǒng)的需要。
【發(fā)明內(nèi)容】
[0008]視頻編碼的方法的示例包括:接收具有多個(gè)像素的視頻圖像;對于圖像中的多個(gè)像素中的每個(gè)像素選擇多個(gè)高斯模型;基于像素最佳擬合的模型的概率將每個(gè)像素分類為背景像素或者前景像素;將圖像劃分為M X M個(gè)像素塊;對于每個(gè)塊比較當(dāng)前幀中的運(yùn)動(dòng)像素和先前幀中的運(yùn)動(dòng)像素,以確定具有運(yùn)動(dòng)改變的像素?cái)?shù)量是否大于第一閾值;如果具有運(yùn)動(dòng)改變的像素?cái)?shù)量大于第一閾值,則觸發(fā)塊的計(jì)數(shù)器;確定在第一預(yù)定時(shí)間段內(nèi)計(jì)數(shù)器中的累積計(jì)數(shù)是否大于第二閾值;如果在第一預(yù)定時(shí)間段內(nèi)計(jì)數(shù)器中的累積計(jì)數(shù)大于第二閾值,則忽略塊中的所有運(yùn)動(dòng);跟蹤圖像中的對象;通過檢測在第二預(yù)定時(shí)間段內(nèi)對象是否總是在預(yù)定距離內(nèi)移動(dòng)并且頻繁改變移動(dòng)方向,確定對象是否總是局部移動(dòng);如果確定步驟確定對象總是局部移動(dòng),則將該對象從作為對象的分類中去除;如果確定步驟確定對象總是局部移動(dòng)并且將對象在其內(nèi)移動(dòng)的區(qū)域標(biāo)記為噪聲掩蔽緩沖器上的噪聲區(qū)域,則忽略對象的運(yùn)動(dòng);基于運(yùn)動(dòng)檢測和噪聲過濾更新背景模型;更新當(dāng)前背景圖像;更新演進(jìn)背景圖像;以及編碼用于傳送的當(dāng)前背景圖像、背景更新塊和對象。
[0009]這種方法的實(shí)現(xiàn)方式可以包括以下特征中的一個(gè)或者多個(gè)。該方法還包括以下步驟:創(chuàng)建隊(duì)列,以在隊(duì)列中緩沖多個(gè)條目,包括需要被更新的對象、背景塊和圖像;向隊(duì)列中的條目提供幀和對象標(biāo)識(shí)符;確定對象是否是真實(shí)對象;確定對象是否在大于第三預(yù)定時(shí)間段的時(shí)間段內(nèi)在隊(duì)列中;以及如果對象沒有被識(shí)別為真實(shí)對象并且已經(jīng)確定對象在大于第三預(yù)定時(shí)間段的時(shí)間段內(nèi)在隊(duì)列中,則從緩沖器中去除該對象。其中接收具有多個(gè)像素的視頻圖像的步驟包括:接收由觀看場景的照相機(jī)捕捉的視頻圖像,并且該方法還包括以下步驟:確定對象是否移動(dòng)到場景中并且在場景中停止,并且如果確定對象是否移動(dòng)到場景中并且在場景中停止的步驟確定第一對象移動(dòng)到場景中并且停止,則更新場景的背景模型并且將第一對象編碼為背景。該方法還包括以下步驟:將當(dāng)前背景圖像建立為用于編碼和解碼的參考圖像;建立演進(jìn)背景圖像;利用檢測到的靜止圖像更新當(dāng)前背景圖像;基于運(yùn)動(dòng)檢測利用接收到的圖像更新演進(jìn)背景圖像;以及利用演進(jìn)背景圖像取代當(dāng)前背景圖像。該方法還包括以下步驟:使用每個(gè)高斯模型的長期計(jì)數(shù)器,以確定當(dāng)前像素是否是前景像素;使用每個(gè)高斯模型的短期計(jì)數(shù)器,以確定哪個(gè)高斯模型用于當(dāng)前背景圖像的像素;如果像素被檢測為背景像素,則利用移動(dòng)平均法更新對應(yīng)演進(jìn)背景模型;如果對象被檢測為靜止對象,則將當(dāng)前幀中的區(qū)域中的像素更新到當(dāng)前背景圖像和演進(jìn)背景圖像中;如果對象被檢測為靜止對象,則最大化與當(dāng)前幀的區(qū)域中的像素對應(yīng)的高斯模型的短期計(jì)數(shù)器并且更新長期計(jì)數(shù)器,以確保該像素將被分類為背景像素;并且如果像素被檢測為背景像素并且該像素的背景模型與先前幀中的像素不同,則更新當(dāng)前和演進(jìn)背景圖像二者的像素,并且編碼和傳送更新后的當(dāng)前背景像素。編碼用于傳送的當(dāng)前背景圖像、背景更新塊和對象的步驟包括:使用當(dāng)前背景圖像和先前解碼幀作為潛在參考圖像。
[0010]用于視頻編碼的系統(tǒng)的示例包括:處理器,適配為接收具有多個(gè)像素的視頻圖像;對于圖像中的多個(gè)像素中的每個(gè)像素選擇多個(gè)高斯模型;基于像素最佳擬合的模型的概率將每個(gè)像素分類為背景像素或者前景像素;將圖像劃分為M X M個(gè)像素塊;對于每個(gè)塊比較當(dāng)前幀中的運(yùn)動(dòng)像素和先前幀中的運(yùn)動(dòng)像素,以確定具有運(yùn)動(dòng)改變的像素?cái)?shù)量是否大于第一閾值;如果具有運(yùn)動(dòng)改變的像素?cái)?shù)量大于第一閾值,則觸發(fā)塊的計(jì)數(shù)器;確定在第一預(yù)定時(shí)間段內(nèi)計(jì)數(shù)器中的累積計(jì)數(shù)是否大于第二閾值;如果在第一預(yù)定時(shí)間段內(nèi)計(jì)數(shù)器中的累積計(jì)數(shù)大于第二閾值,則忽略塊中的所有運(yùn)動(dòng);跟蹤圖像中的對象;通過檢測在第二預(yù)定時(shí)間段內(nèi)對象是否總是在預(yù)定距離內(nèi)移動(dòng)并且頻繁改變移動(dòng)方向,確定對象是否總是局部移動(dòng);如果處理器確定對象總是局部移動(dòng),則將該對象從作為對象的分類中去除;如果確定步驟確定對象總是局部移動(dòng)并且將對象在其內(nèi)移動(dòng)的區(qū)域標(biāo)記為噪聲掩蔽緩沖器上的噪聲區(qū)域,則忽略對象的運(yùn)動(dòng);基于運(yùn)動(dòng)檢測和噪聲過濾更新背景模型;更新當(dāng)前背景圖像;更新演進(jìn)背景圖像;以及編碼用于傳送的當(dāng)前背景圖像、背景更新塊和對象。
[0011]這種系統(tǒng)的實(shí)現(xiàn)方式可以包括以下特征中的一個(gè)或者多個(gè)。處理器還適配為創(chuàng)建隊(duì)列,以在隊(duì)列中緩沖多個(gè)條目,包括需要被更新的對象、背景塊和圖像;向隊(duì)列中的條目提供幀和對象標(biāo)識(shí)符;確定對象是否是真實(shí)對象;確定對象是否在大于第三預(yù)定時(shí)間段的時(shí)間段內(nèi)在隊(duì)列中;以及如果對象沒有被識(shí)別為真實(shí)對象并且已經(jīng)確定對象在大于第三預(yù)定時(shí)間段的時(shí)間段內(nèi)在隊(duì)列中,則從緩沖器中去除該對象。該處理器還適配為接收由觀看場景的照相機(jī)捕捉的視頻圖像,并且確定對象是否移動(dòng)到場景中并且在場景中停止,并且如果處理器確定第一對象移動(dòng)到場景中并且停止,則更新場景的背景模型并且將第一對象編碼為背景。該處理器還適配為將當(dāng)前背景圖像建立為用于編碼和解碼的參考圖像;建立演進(jìn)背景圖像;利用檢測到的靜止圖像更新當(dāng)前背景圖像;基于運(yùn)動(dòng)檢測利用接收到的圖像更新演進(jìn)背景圖像;以及利用演進(jìn)背景圖像取代當(dāng)前背景圖像。該處理器還適配為使用每個(gè)高斯模型的長期計(jì)數(shù)器,以確定當(dāng)前像素是否是前景像素;使用每個(gè)高斯模型的短期計(jì)數(shù)器,以確定哪個(gè)高斯模型用于當(dāng)前背景圖像的像素;如果像素被檢測為背景像素,則利用移動(dòng)平均法更新對應(yīng)演進(jìn)背景模型;如果對象被檢測為靜止對象,則將當(dāng)前幀中的區(qū)域中的像素更新到當(dāng)前背景圖像和演進(jìn)背景圖像中;如果對象被檢測為靜止對象,則最大化與當(dāng)前幀的區(qū)域中的像素對應(yīng)的高斯模型的短期計(jì)數(shù)器并且更新長期計(jì)數(shù)器,以確保該像素將被分類為背景像素;并且如果像素被檢測為背景像素并且該像素的背景模型與先前幀中的像素不同,則更新當(dāng)前和演進(jìn)背景圖像二者的像素,并且編碼和傳送更新后的當(dāng)前背景像素。該處理器還適配為使用當(dāng)前背景圖像和先前解碼幀作為潛在參考圖像。
[0012]非臨時(shí)計(jì)算機(jī)可讀介質(zhì)的示例包括配置為使得處理器執(zhí)行以下處理的指令:接收具有多個(gè)像素的視頻圖像;對于圖像中的多個(gè)像素中的每個(gè)像素選擇多個(gè)高斯模型;基于像素最佳擬合的模型的概率將每個(gè)像素分類為背景像素或者前景像素;將圖像劃分為M XM個(gè)像素塊;對于每個(gè)塊比較當(dāng)前幀中的運(yùn)動(dòng)像素和先前幀中的運(yùn)動(dòng)像素,以確定具有運(yùn)動(dòng)改變的像素?cái)?shù)量是否大于第一閾值;如果具有運(yùn)動(dòng)改變的像素?cái)?shù)量大于第一閾值,則觸發(fā)塊的計(jì)數(shù)器;確定在第一預(yù)定時(shí)間段內(nèi)計(jì)數(shù)器中的累積計(jì)數(shù)是否大于第二閾值;如果在第一預(yù)定時(shí)間段內(nèi)計(jì)數(shù)器中的累積計(jì)數(shù)大于第二閾值,則忽略塊中的所有運(yùn)動(dòng);跟蹤圖像中的對象;通過檢測在第二預(yù)定時(shí)間段內(nèi)對象是否總是在預(yù)定距離內(nèi)移動(dòng)并且頻繁改變移動(dòng)方向,確定對象是否總是局部移動(dòng);如果處理器確定對象總是局部移動(dòng),則將該對象從作為對象的分類中去除;如果處理器確定對象總是局部移動(dòng)并且將對象在其內(nèi)移動(dòng)的區(qū)域標(biāo)記為噪聲掩蔽緩沖器上的噪聲區(qū)域,則忽略對象的運(yùn)動(dòng);基于運(yùn)動(dòng)檢測和噪聲過濾更新背景模型;更新當(dāng)前背景圖像;更新演進(jìn)背景圖像;以及編碼用于傳送的當(dāng)前背景圖像、背景更新塊和對象。
[0013]這種非臨時(shí)計(jì)算機(jī)可讀介質(zhì)的實(shí)現(xiàn)方式可以包括以下特征中的一個(gè)或者多個(gè)。非臨時(shí)計(jì)算機(jī)可讀介質(zhì)還包括配置為使得處理器進(jìn)行以下處理的指令:創(chuàng)建隊(duì)列,以在隊(duì)列中緩沖多個(gè)條目,包括需要被更新的對象、背景塊和圖像;向隊(duì)列中的條目提供幀和對象標(biāo)識(shí)符;確定對象是否是真實(shí)對象;確定對象是否在大于第三預(yù)定時(shí)間段的時(shí)間段內(nèi)在隊(duì)列中;以及如果對象沒有被識(shí)別為真實(shí)對象并且已經(jīng)確定對象在大于第三預(yù)定時(shí)間段的時(shí)間段內(nèi)在隊(duì)列中,則從緩沖器中去除該對象。該非臨時(shí)計(jì)算機(jī)可讀介質(zhì)還包括配置為使得處理器進(jìn)行以下處理的指令:接收由觀看場景的照相機(jī)捕捉的視頻圖像,確定對象是否移動(dòng)到場景中并且在場景中停止,并且如果處理器確定第一對象移動(dòng)到場景中并且停止,則更新場景的背景模型并且將第一對象編碼為背景。該非臨時(shí)計(jì)算機(jī)可讀介質(zhì)還包括配置為使得處理器進(jìn)行以下處理的指令:將當(dāng)前背景圖像建立為用于編碼和解碼的參考圖像;建立演進(jìn)背景圖像;利用檢測到的靜止圖像更新當(dāng)前背景圖像;基于運(yùn)動(dòng)檢測利用接收到的圖像更新演進(jìn)背景圖像;以及利用演進(jìn)背景圖像取代當(dāng)前背景圖像。該非臨時(shí)計(jì)算機(jī)可讀介質(zhì)還包括配置為使得處理器進(jìn)行以下處理的指令:使用每個(gè)高斯模型的長期計(jì)數(shù)器,以確定當(dāng)前像素是否是前景像素;使用每個(gè)高斯模型的短期計(jì)數(shù)器,以確定哪個(gè)高斯模型用于當(dāng)前背景圖像的像素;如果像素被檢測為背景像素,則利用移動(dòng)平均法更新對應(yīng)演進(jìn)背景模型;如果對象被檢測為靜止對象,則將當(dāng)前幀中的區(qū)域中的像素更新到當(dāng)前背景圖像和演進(jìn)背景圖像中;如果對象被檢測為靜止對象,則最大化與當(dāng)前幀的區(qū)域中的像素對應(yīng)的高斯模型的短期計(jì)數(shù)器并且更新長期計(jì)數(shù)器,以確保該像素將被分類為背景像素;并且如果像素被檢測為背景像素并且該像素的背景模型與先前幀中的像素不同,則更新當(dāng)前和演進(jìn)背景圖像二者的像素,并且編碼和傳送更新后的當(dāng)前背景像素。配置為使得處理器編碼用于傳送的當(dāng)前背景圖像、背景更新塊和對象的指令包括配置為使得處理器使用當(dāng)前背景圖像和先前解碼幀作為潛在參考圖像的指令。
[0014]這種計(jì)算機(jī)可讀介質(zhì)的特定實(shí)現(xiàn)方式可以包括以下特征中的一個(gè)或者多個(gè)。使得處理器基于確定的數(shù)據(jù)類型處理數(shù)據(jù)的指令使得處理器解碼數(shù)據(jù),以產(chǎn)生解碼對象圖像;并且在對象列表中存儲(chǔ)解碼對象圖像。
[0015]本文描述的項(xiàng)目和/或技術(shù)可以提供以下能力中的一個(gè)或者多個(gè)以及沒有提及的其他能力。在一些實(shí)現(xiàn)方式中,具有可接受幀速率的高清晰度視頻可以通過低帶寬連接被編碼和分發(fā)。可以借助與所述方式不同的方式實(shí)現(xiàn)如上所述的效果,并且所述項(xiàng)目/技術(shù)可以不必產(chǎn)生所述效果。
[0016]通過檢視下面的詳細(xì)描述、附圖和權(quán)利要求將更全面理解本文描述的處理和系統(tǒng)以及其伴隨的優(yōu)點(diǎn)、應(yīng)用和效果。
【專利附圖】
【附圖說明】
[0017]圖1是包括傳送器和接收器的高清晰度視頻傳輸系統(tǒng)的簡化示圖。
[0018]圖2是圖1中示出的傳送器的組件的示例性框圖。
[0019]圖3是圖1中示出的接收器的組件的示例性框圖。
[0020]圖4是用于編碼視頻的示例性處理的流程框圖。
[0021]圖5是用于解碼視頻的示例性處理的流程框圖。
[0022]圖6是用于編碼和傳送背景圖像的示例性處理的流程框圖。
[0023]圖7是用于編碼和傳送前景對象圖像的示例性處理的流程框圖。
[0024]圖8是用于支持和編碼前景對象圖像的示例性處理的流程框圖。
[0025]圖9是用于解碼視頻數(shù)據(jù)的示例性處理的流程框圖。
[0026]在附圖中,具有類似相關(guān)特性和/或特征的組件具有相同參考標(biāo)記。
【具體實(shí)施方式】
[0027]本文討論用于提供例如通過低帶寬連接編碼并且傳送高清晰度視頻的機(jī)制的技術(shù)。具體地,前景對象被識(shí)別為與由多個(gè)視頻幀表示的場景的背景不同。在識(shí)別前景對象中,區(qū)分語義重要和語義不重要移動(dòng)(例如,非重復(fù)性對重復(fù)性移動(dòng))。例如,小的并且重復(fù)性的樹的葉子的搖擺運(yùn)動(dòng)可以被確定為語義不重要并且屬于場景的背景。前景對象和背景的處理以不同更新速率或者頻率進(jìn)行。例如,前景對象可以每秒被更新30或60次。相比之下,背景不那么頻繁地被更新,例如每I秒或者10秒一次。在一些實(shí)現(xiàn)方式中,如果沒有識(shí)別出前景對象,則不傳送實(shí)況視頻(例如,如果沒有檢測到運(yùn)動(dòng),則不將靜態(tài)圖像配置為被重復(fù)發(fā)送)。
[0028]本文描述的技術(shù)利用下面的事實(shí):在監(jiān)視和無線通信領(lǐng)域中,以高幀速率更新語義重要的移動(dòng)的視頻是足夠的。雖然將很多編碼方案優(yōu)化用于娛樂應(yīng)用,但是在監(jiān)視應(yīng)用中,例如旗子的揮動(dòng)的視頻的背景中小的并且重復(fù)性的改變通常不重要。通過省略背景中的語義不重要的移動(dòng)的傳輸并且通過減小背景被更新的速率,便于通過低帶寬連接傳輸高清晰度視頻。
[0029]本文描述的技術(shù)可以用于通過各種通信系統(tǒng)傳送高清晰度視頻。例如,可以通過例如基于以太網(wǎng)、基于同軸電纜、基于電力線、基于WiFi (802.11系列標(biāo)準(zhǔn))、碼分多址(CDMA)、時(shí)分多址(TDMA)、頻分多址(FDMA)、正交FDMA (OFDMA)、單載波FDMA (SC-FDMA)系統(tǒng)等的各種有線和無線通信系統(tǒng)傳送高清晰度視頻。
[0030]如本文使用,包括在權(quán)利要求中,以“至少一個(gè)”開始的項(xiàng)目的列表中使用的“或”指示析取的列表,使得例如“至少一個(gè)A、B或C”的列表意味著A或B或C或AB或AC或BC或ABC( S卩,A和B和C)。無線通信網(wǎng)絡(luò)不必使得所有通信被無線傳送,而被配置為使得至少一些通信被無線傳送。
[0031]參考圖1,示出包括傳送器和接收器的視頻傳輸系統(tǒng)的簡化示圖。視頻傳輸系統(tǒng)100包括傳送器102、網(wǎng)絡(luò)104和接收器106。傳送器102優(yōu)選是用于編碼和傳送例如高清晰度視頻的設(shè)備。例如,傳送器102可以是視頻捕捉設(shè)備(例如,包括照相機(jī)的計(jì)算設(shè)備、智能照相機(jī)、視頻采集器和相同類型的其他設(shè)備)、連接到一個(gè)或者多個(gè)視頻捕捉設(shè)備(例如,外部照相機(jī))和/或視頻編碼設(shè)備的計(jì)算設(shè)備(例如,桌面型計(jì)算機(jī)、膝上型計(jì)算機(jī)、平板設(shè)備、計(jì)算機(jī)服務(wù)器、視頻代碼轉(zhuǎn)換器和相同類型的其他設(shè)備)、視頻捕捉設(shè)備的模塊和/或計(jì)算設(shè)備的模塊等。例如,傳送器102可以是嵌入照相機(jī)的模塊或者視頻代碼轉(zhuǎn)換器的模塊。如本文使用,視頻包括以間隔拍攝的全運(yùn)動(dòng)視頻和靜止照片。接收器106優(yōu)選是用于例如接收和解碼例如高清晰度視頻的設(shè)備。接收器106可以是例如桌面型計(jì)算機(jī)、膝上型計(jì)算機(jī)、平板設(shè)備、計(jì)算機(jī)服務(wù)器、移動(dòng)設(shè)備、移動(dòng)電話和/或監(jiān)控系統(tǒng)等。
[0032]網(wǎng)絡(luò)104優(yōu)選是便于兩個(gè)或者更多設(shè)備之間的通信的任何適當(dāng)網(wǎng)絡(luò)。例如,網(wǎng)絡(luò)104可以是閉環(huán)通信系統(tǒng)、局域網(wǎng)(例如,內(nèi)部網(wǎng)絡(luò))和/或廣域網(wǎng)LAN(例如,因特網(wǎng))等。傳送器102被配置為通過網(wǎng)絡(luò)104傳送編碼圖像和其他數(shù)據(jù)。例如,傳送器102可以向接收器106提供可以被解碼為用于向用戶呈現(xiàn)的視頻流(例如,高清晰度視頻)的一系列編碼圖像。為了支持圖像的編碼和解碼,傳送器102可以進(jìn)一步向接收器106提供事件信息(例如,新對象出現(xiàn)在視頻流中的指示,以此類推)。
[0033]參考圖2,傳送器102包括成像設(shè)備202、處理器204、存儲(chǔ)器206、通信子系統(tǒng)208和輸入/輸出(I/O)子系統(tǒng)210。處理器204優(yōu)選是智能硬件設(shè)備,例如中央處理器(CPU)
(例如Intel?公司、AMD?、ARM?制造的那些CPU)、微控制器、特定應(yīng)用集成電路(ASIC)、
數(shù)字信號處理器(DSP)(例如,德州儀器的DaVinci?系列DSP)和相同類型的其他設(shè)備。存儲(chǔ)器206包括物理和/或有形存儲(chǔ)介質(zhì)。這種介質(zhì)可以采用很多形式,包括但不限于非易失性介質(zhì)和易失性介質(zhì)。例如,非易失性介質(zhì)包括例如只讀存儲(chǔ)器(ROM)的光盤和/或磁盤。示例性地,非易失性介質(zhì)可以是硬盤驅(qū)動(dòng)器和/或閃存驅(qū)動(dòng)器等。易失性介質(zhì)在不受限制的情況下包括各種類型的隨機(jī)存取存儲(chǔ)器(RAM)。示例性地,易失性介質(zhì)可以是動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)和/或靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)等。存儲(chǔ)器206存儲(chǔ)包含指令的計(jì)算機(jī)可讀、計(jì)算機(jī)可執(zhí)行軟件代碼,該指令被配置為當(dāng)被執(zhí)行時(shí)使得處理器204執(zhí)行本文描述的各種功能。這些功能實(shí)現(xiàn)視頻傳輸系統(tǒng)。在一些實(shí)現(xiàn)方式中,存儲(chǔ)器206可以存儲(chǔ)對象和背景圖像。例如,存儲(chǔ)器206可以存儲(chǔ)從成像設(shè)備202接收到的多個(gè)幀中檢測到的前景對象的圖像。存儲(chǔ)器206可以進(jìn)一步存儲(chǔ)包括與每個(gè)檢測到的前景對象對應(yīng)的標(biāo)識(shí)符、對象圖像、引用和/或其他屬性的對象列表。
[0034]成像設(shè)備202優(yōu)選是捕捉原始視頻數(shù)據(jù)的硬件和/或軟件的任何適當(dāng)組合,例如基于電荷耦合器件(CCD)、互補(bǔ)金屬氧化物半導(dǎo)體(CMOS)圖像傳感器技術(shù)和/或熱成像傳感器等的設(shè)備。傳送器102可以包括任何數(shù)量的成像器件(包括零)。
[0035]傳送器102可以額外或者替代地接收來自直接連接到通信子系統(tǒng)208的一個(gè)或者多個(gè)端口和/或I/O子系統(tǒng)210的一個(gè)或者多個(gè)端口的外部視頻捕捉設(shè)備和/或視頻編碼設(shè)備(例如,外部照相機(jī)、生成編碼視頻的計(jì)算設(shè)備,以此類推)的原始或編碼視頻數(shù)據(jù)。
[0036]通信子系統(tǒng)208優(yōu)選是用于與其他設(shè)備(例如,圖3中所示的接收器106、其他照相機(jī)和類似類型的其他設(shè)備)通信的硬件和/或軟件的任何適當(dāng)組合。通信子系統(tǒng)208可以被配置為例如連接到閉環(huán)通信系統(tǒng)、局域網(wǎng)(例如,內(nèi)部網(wǎng)絡(luò))、廣域網(wǎng)(例如,因特網(wǎng))和類似類型的其他網(wǎng)絡(luò)。I/O子系統(tǒng)210優(yōu)選是用于管理與輸入/輸出設(shè)備的通信和/或輸入/輸出設(shè)備的操作的硬件和/或軟件的任何適當(dāng)組合。
[0037]可以通過處理器204將由傳送器102接收到的視頻數(shù)據(jù)編碼或者壓縮為數(shù)字格式。例如,傳送器102可以根據(jù)一個(gè)或者多個(gè)更新速率對數(shù)據(jù)執(zhí)行分析,識(shí)別數(shù)據(jù)中的前景對象和背景部分,編碼并傳送數(shù)據(jù)。編碼視頻數(shù)據(jù)可以經(jīng)由網(wǎng)絡(luò)104被流傳輸或者傳送到接收器106。
[0038]參考圖3,接收器106包括顯示器302、處理器304、存儲(chǔ)器306、通信子系統(tǒng)308和I/o子系統(tǒng)310。處理器304優(yōu)選是智能硬件設(shè)備,例如中央處理器(CPU)(例如Inte丨'公司、AMD' ARM?制造的那些CPU)、微控制器、特定應(yīng)用集成電路(ASIC)、數(shù)字信號處理器(DSP)和類似類型的其他設(shè)備。存儲(chǔ)器306包括物理和/或有形存儲(chǔ)介質(zhì)。這種介質(zhì)可以采用很多形式,包括但不限于非易失性介質(zhì)和易失性介質(zhì)。例如,非易失性介質(zhì)包括例如只讀存儲(chǔ)器(ROM)的光盤和/或磁盤。示例性地,非易失性介質(zhì)可以是硬盤驅(qū)動(dòng)器和/或閃存驅(qū)動(dòng)器等。易失性介質(zhì)在不受限制的情況下包括各種類型的隨機(jī)存取存儲(chǔ)器(RAM)。示例性地,易失性介質(zhì)可以是動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)和/或靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)等。存儲(chǔ)器306存儲(chǔ)包含指令的計(jì)算機(jī)可讀、計(jì)算機(jī)可執(zhí)行軟件代碼,該指令被配置為當(dāng)被執(zhí)行時(shí)使得處理器304執(zhí)行本文描述的各種功能。這些功能實(shí)現(xiàn)視頻傳輸系統(tǒng)。在一些實(shí)現(xiàn)方式中,存儲(chǔ)器306可以存儲(chǔ)前景對象和背景圖像。例如,存儲(chǔ)器306可以存儲(chǔ)前景對象的圖像。存儲(chǔ)器306可以進(jìn)一步存儲(chǔ)包括與每個(gè)檢測到的前景對象對應(yīng)的標(biāo)識(shí)符、對象圖像、引用和/或其他屬性的對象列表。
[0039]通信子系統(tǒng)308優(yōu)選是用于與其他設(shè)備(例如,圖3中所示的傳送器)通信的硬件和/或軟件的任何適當(dāng)組合。通信子系統(tǒng)308可以被配置為例如連接到閉環(huán)通信系統(tǒng)、局域網(wǎng)、廣域網(wǎng)(例如,因特網(wǎng))和類似類型的其他網(wǎng)絡(luò)。顯示器302優(yōu)選是用于向用戶顯示圖像的任何適當(dāng)設(shè)備,例如陰極射線管(CRT)監(jiān)視器、液晶顯示(LCD)監(jiān)視器、基于等離子的監(jiān)視器、投影儀和類似類型的其他設(shè)備。I/O子系統(tǒng)310優(yōu)選是用于管理與輸入/輸出設(shè)備(例如鍵盤、鼠標(biāo)、觸摸板、掃描儀、打印機(jī)、照相機(jī)和類似類型的其他設(shè)備)的通信和/或輸入/輸出設(shè)備的操作的硬件和/或軟件的任何適當(dāng)組合。如下面詳細(xì)討論,可以由用戶利用例如鍵盤、鼠標(biāo)和觸摸板的設(shè)備,以向處理器304提供用戶輸入,從而提供對要拼接到背景圖像的前景對象的用戶選擇的選擇,用于顯示或者由用戶使用。
[0040]雖然本文描述的各種配置針對高清晰度視頻的傳輸,但是應(yīng)當(dāng)理解可以做出修改以涵蓋其他上下文。例如,可以做出修改以使得能夠進(jìn)行通過低帶寬連接的RADAR、LIDAR和其他基于對象的檢測監(jiān)控。
[0041]參考圖4,另外參考圖1和圖2,用于編碼視頻的處理400包括所示的框。然而,處理400僅是示例性的并且不是限制性的??梢岳缤ㄟ^增加、去除、重新排列和/或同時(shí)執(zhí)行框來改變處理400。例如,可以同時(shí)執(zhí)行用于處理前景對象和背景的框1070和1090。對所示和描述的處理400的其他改變也是可能的。
[0042]處理400可以通過接收來自例如成像設(shè)備的視頻源的視頻幀在框410開始。在框420,處理400應(yīng)用高斯混合模型,用于排除靜態(tài)背景圖像和具有語意不重要的運(yùn)動(dòng)的圖像(例如,在風(fēng)中揮動(dòng)的旗子)。在該高斯混合模型中,對于每個(gè)像素選擇N個(gè)高斯模型,并且基于當(dāng)前像素最佳擬合的模型的概率,將當(dāng)前像素分類為前景像素或者背景像素。如果一個(gè)模型比其他模型更頻繁地出現(xiàn),則該像素將被分類為背景像素;否則,該像素將被分類為前景像素。前景像素被分組為對象并且在多個(gè)幀中被跟蹤以過濾掉噪聲。在框430,通過利用連接組件分析方法將前景運(yùn)動(dòng)像素分組為斑點(diǎn)(blob)。在框440,在多個(gè)連續(xù)幀中跟蹤被標(biāo)注的斑點(diǎn)。在框450,進(jìn)一步分析跟蹤對象,以檢測信息量不是很大并且沒有必要被更新的場景中的噪聲。在框455,將檢測將被快速更新為背景的靜止對象以節(jié)省傳輸帶寬。在框460,基于前景對象、噪聲和靜止對象的檢測,更新當(dāng)前背景圖像和演進(jìn)背景圖像。在框470,從當(dāng)前背景圖像和先前幀選擇參考圖像,并且利用殘差對象差分地編碼跟蹤對象。在框480,緩沖編碼對象用于進(jìn)一步的噪聲分析。如果對象被識(shí)別為頻繁發(fā)生的局部事件,例如移動(dòng)樹枝或者旗子揮動(dòng),則將從對象緩沖器去除這些對象。在框490,由于例如新對象進(jìn)入并且仍留在場景中的環(huán)境改變的背景改變將被融入到當(dāng)前和演進(jìn)背景圖像中,并且將利用從先前的當(dāng)前幀減去的殘差圖像塊編碼對應(yīng)的改變。在框495,將格式化并且傳送所有信息量大的對象和背景改變部分。也傳送額外信息。例如,可以傳送例如給定幀中的對象的出現(xiàn)、丟失或者移動(dòng)的對象事件。這種信息被稱為視頻內(nèi)容元數(shù)據(jù)?;诟咚鼓P偷膽?yīng)用,可以將接收到的幀中的前景對象(即,感興趣的對象)識(shí)別為與幀的背景不同。在框495,基于第一更新速率處理前景對象。例如,更新速率可以規(guī)定每秒30幀地在由接收器產(chǎn)生的視頻流中更新前景對象。作為結(jié)果,基于每秒30幀的速率,生成并且傳送識(shí)別出的前景對象的編碼對象圖像(即,以使得接收器可以接收圖像并且利用以每秒30幀的速率更新的前景對象生成視頻流的方式生成并且傳送編碼圖像)。在框495,基于秒更新速率處理識(shí)別為背景的一部分的幀的多個(gè)部分。例如,更新速率可以規(guī)定每十五秒地更新背景。作為結(jié)果,每十五秒一次地生成并且傳送編碼背景圖像。
[0043]參考圖5,另外參考圖1和圖3,用于解碼視頻的處理500包括示出的框。然而,處理500僅是示例性的并且不是限制性的??梢岳缤ㄟ^增加、去除、重新排列和/或同時(shí)執(zhí)行框來改變處理500。
[0044]處理500可以通過接收數(shù)據(jù)在框502開始。數(shù)據(jù)可以包括編碼圖像和/或事件信息。在框504,處理500可以確定接收到的數(shù)據(jù)的數(shù)據(jù)類型。數(shù)據(jù)類型可以包括事件、背景、移動(dòng)對象和靜止對象類型。在框506,基于識(shí)別出的對象類型處理接收到的數(shù)據(jù)。例如,如果數(shù)據(jù)是事件類型,則可以從用于跟蹤視頻流的幀內(nèi)的對象的對象列表中增加或者去除對象。作為另一示例,如果數(shù)據(jù)是背景類型,則數(shù)據(jù)可以被解碼并且拼接到前景對象,以生成可以呈現(xiàn)給用戶的視頻幀。作為再一示例,如果數(shù)據(jù)是對象類型,則該數(shù)據(jù)可以被解碼并且與其他圖像(例如,其他對象圖像、背景圖像和類似類型的其他圖像)拼接,以生成可以呈現(xiàn)給用戶的視頻幀。
[0045]作為處理400和500的結(jié)果,可以經(jīng)由例如計(jì)算機(jī)工作站的接收器向用戶呈現(xiàn)包括多個(gè)視頻幀的視頻流。視頻流可以包括以第一速率更新的前景對象和以第二速率更新的背景。例如,持續(xù)二十分鐘的視頻流可以包括從O到36,000編號的幀。視頻流中的移動(dòng)的前景對象可以被配置為以每秒30幀的速率更新。因此,由接收器生成的36,000個(gè)幀中的每個(gè)包括更新的移動(dòng)的前景對象。為了維持這種更新速率,前景對象圖像數(shù)據(jù)可以以每秒30次的速率由接收器接收和處理。相比之下,視頻流中的背景可以被配置為每10分鐘一次地被更新。因此,僅幀O、18,000和36,000包括對背景的更新。
[0046]可以通過檢查圖6-9中所示的更詳細(xì)處理獲得進(jìn)一步理解。
[0047]參考圖6,另外參考圖1和圖2,用于傳送背景的處理600包括所示的框。然而,處理600僅是示例性的并且不是限制性的。可以例如通過增加、去除、重新排列和/或同時(shí)執(zhí)行框來改變處理600。例如,可以在框616之前執(zhí)行用于傳送編碼圖像的框618。對所示和描述的處理600的其他改變是可能的。
[0048]在框602,傳送器102接收來自適當(dāng)視頻源的視頻幀(例如,原始視頻數(shù)據(jù)、編碼視頻數(shù)據(jù))。例如,可以由成像設(shè)備202的圖像傳感器捕捉幀。作為另一示例,可以經(jīng)由I/O子系統(tǒng)210和/或通信子系統(tǒng)208 (例如,經(jīng)由子系統(tǒng)的以太網(wǎng)端口、USB端口或者無線連接)接收幀??梢砸砸?guī)則間隔或者以特定幀速率接收視頻幀。例如,傳送器可以以每秒30幀地接收幀。
[0049]在框604,傳送器102的處理器204識(shí)別接收到的幀中的前景對象。這樣做,可以確定接收到的幀的背景部分。具體地,可以在處理器204中實(shí)現(xiàn)場景分析器算法。在并入本申請的交叉引用部分的、2010年12月30日提交的、名稱為“Searching Recorded Video”的美國專利申請第12/982,601中詳細(xì)描述由場景分析器進(jìn)行的處理。簡言之,分析器可以利用高斯混合模型,用于排除靜態(tài)背景圖像和不具有語義重要性的重復(fù)性運(yùn)動(dòng)的圖像(例如,在風(fēng)中搖擺的樹)以識(shí)別前景對象。雖然將場景分析器描述為利用高斯混合模型,但是可以使用在短時(shí)間段內(nèi)捕捉穩(wěn)定像素的任何模型。
[0050]在判定606,處理器204執(zhí)行關(guān)于編碼背景圖像是否應(yīng)當(dāng)被傳送到接收器106的確定。處理器204基于例如預(yù)定義更新速率的標(biāo)準(zhǔn)集合做出這種確定。示例性地,傳送器102的操作者可以規(guī)定背景圖像要每十分鐘地在接收器106被更新。作為結(jié)果,處理器204每十分鐘一次地生成并且發(fā)送編碼背景圖像。處理器204可以額外地或者替代地被配置為自動(dòng)地調(diào)整背景圖像被編碼并且被傳送的速率。例如,處理器204可以被配置為基于網(wǎng)絡(luò)104上當(dāng)前可用的帶寬自動(dòng)地調(diào)整該速率。
[0051]在判定608,處理器204確定當(dāng)前參考背景圖像是否可用。例如,處理器204可以檢查當(dāng)前參考背景圖像是否被存儲(chǔ)在存儲(chǔ)器206的緩沖器中。例如,當(dāng)前參考背景圖像可以是先前接收到的幀的解碼背景圖像。
[0052]如果處理器204確定參考背景圖像可用,則處理器204在框610編碼接收到的幀的殘差圖像。具體地,處理器204確定接收到的幀的背景部分和當(dāng)前參考背景圖像之間的差異(例如,經(jīng)由執(zhí)行圖像減法處理)。此后,處理器204使用例如H.264幀間編碼、JPEG(聯(lián)合圖像專家組)、JPEG 2000和類似類型的其他編碼方案的適當(dāng)編碼方案來編碼背景部分的殘差背景圖像。因?yàn)闅埐畋尘皥D像通常包含低熵,因此可以高度壓縮編碼殘差背景圖像。
[0053]在框612,處理器204解碼在框610生成的編碼殘差背景圖像。此后,處理器204使用解碼殘差背景圖像和當(dāng)前參考背景圖像生成新參考背景圖像。在生成新參考背景之后,處理器204將圖像存儲(chǔ)在存儲(chǔ)器206的緩沖器中。新參考背景圖像可以用于處理稍后接收到的幀。通過以該方式解碼和生成新參考背景圖像,處理器204將其背景圖像與在接收器106生成的背景圖像同步。更具體地,編碼和解碼處理經(jīng)常產(chǎn)生具有可以使得原始圖像和它們的解碼對應(yīng)部分不同的量化誤差的圖像。為了避免該問題并且維持準(zhǔn)確解碼,處理器204執(zhí)行處理以獲得與由接收器106生成的那些相同的解碼圖像。
[0054]再次參考判定608,如果處理器204確定當(dāng)前參考背景圖像不可用,則處理器204在框614編碼接收到的幀的整個(gè)背景部分,以產(chǎn)生編碼背景圖像。處理器204可以使用常規(guī)I幀壓縮方法編碼背景部分。例如可以使用H.264幀間編碼、JPEG、JPEG 2000和類似類型的其他編碼方案來編碼背景部分。示例性地,可以將背景部分劃分為可以被單獨(dú)編碼的8x8像素塊??梢允褂美珉x散余弦變換(DCT)的空間到頻率變換變換每個(gè)塊。然后可以以某種方式量化或者減小變換塊,以減少數(shù)據(jù)量。
[0055]在框616,處理器204解碼先前在框614編碼的背景圖像。解碼背景圖像之后,處理器204將圖像存儲(chǔ)在存儲(chǔ)器206的緩沖器中作為新參考背景圖像。如討論,通過以該方式解碼并且生成新參考背景圖像,處理器204可以將其背景圖像與由接收器106生成的背景圖像同步。這樣做支持視頻流的準(zhǔn)確解碼。
[0056]在框618,處理器204基于背景的規(guī)定更新速率(例如,5、10、15分鐘)向接收器106傳送編碼背景圖像(例如,要么殘差背景圖像要么整個(gè)背景圖像)。背景的更新速率可以比前景對象的更新速率更慢。在一些實(shí)現(xiàn)方式中,可以以基于塊或者圖像的方式更新背景圖像。例如,可以將編碼殘差背景圖像劃分為若干部分或者片段并且以該若干部分或者片段傳送。以不同時(shí)間或者在不同間隔時(shí)段上向接收器106傳送每個(gè)片段。例如,處理器204可以被配置為每10分鐘向接收器106提供更新背景圖像。處理器204可以被進(jìn)一步配置為將編碼背景圖像劃分為五個(gè)背景片段。作為結(jié)果,處理器204在10分鐘跨度上每兩分鐘向接收器106傳送一個(gè)背景片段。這樣做,接收器106能夠在規(guī)定更新速率內(nèi)獲得更新背景圖像。在一些情況下,處理器204可以基于定義的優(yōu)先級規(guī)則和/或標(biāo)準(zhǔn)延遲背景圖像或者片段的傳送。例如,處理器204可以基于當(dāng)前在用于傳送到接收器106的隊(duì)列中的編碼前景對象的數(shù)量和/或帶寬需要延遲背景片段的傳送。
[0057]處理器204經(jīng)由可以包括到接收器106的連接的通信子系統(tǒng)208傳送編碼背景圖像。例如,通信子系統(tǒng)208可以通過閉環(huán)通信系統(tǒng)連接到接收器106。優(yōu)選通過例如傳輸控制協(xié)議(TCP)或者用戶數(shù)據(jù)報(bào)協(xié)議(UDP)的適當(dāng)傳輸層協(xié)議便于編碼背景圖像的傳輸。在一些實(shí)現(xiàn)方式中,處理器204檢查接收器106背景圖像的傳輸是否成功。
[0058]參考圖7,另外參考圖1和圖2,用于編碼和傳送前景對象的處理700包括所示的框。然而,處理700僅是示例性的并且不是限制性的??梢岳缤ㄟ^增加、去除、重新排列和/或同時(shí)執(zhí)行框來改變處理700???02和704可以與圖6中所示的框602和604相同。
[0059]在框702,傳送器102接收來自適當(dāng)設(shè)備的視頻幀。例如,成像設(shè)備202的圖像傳感器可以捕捉傳送器102的圖像數(shù)據(jù)。作為另一示例,可以經(jīng)由I/O子系統(tǒng)210和/或通信子系統(tǒng)208(例如,經(jīng)由子系統(tǒng)的以太網(wǎng)端口、USB端口或者無線連接)接收圖像數(shù)據(jù)??梢砸砸?guī)則間隔或者以特定幀速率接收視頻幀。例如,傳送器可以以每秒30或60幀接收幀。
[0060]在框704,傳送器102的處理器204識(shí)別接收到的視頻幀中的前景對象。具體地,可以在處理器204中實(shí)現(xiàn)場景分析器算法。分析器利用高斯混合模型,用于排除靜態(tài)背景圖像和不具有語義重要性的重復(fù)性運(yùn)動(dòng)的圖像(例如,在風(fēng)中移動(dòng)的樹)以識(shí)別前景對象。高斯混合模型可以基于多個(gè)(例如,三個(gè)或更多)高斯曲線。高斯混合模型可以額外地基于先前接收到的視頻幀。雖然將場景分析器描述為利用高斯混合模型,但是可以使用在短時(shí)段內(nèi)捕捉穩(wěn)定像素的任何模型。
[0061]處理器204使用連接組件分析將任何識(shí)別出的前景像素分組為斑點(diǎn)。分組斑點(diǎn)表示在接收到的視頻幀中檢測到的前景對象。為了從幀中消除噪聲,處理器204去除噪聲斑點(diǎn)。識(shí)別對象候選是否是真實(shí)對象或者其是否是場景的噪聲背景的一部分是困難的。例如,移動(dòng)的旗子和樹枝信息量不是很大,并且應(yīng)當(dāng)被忽略以節(jié)省傳輸帶寬。如果對象被識(shí)別為真實(shí)對象,則其將被編碼和傳送。同時(shí),場景的某一部分將改變并且一些靜止對象可以變成背景的一部分。當(dāng)此發(fā)生時(shí),背景的該部分應(yīng)當(dāng)被更新用于傳輸。為了從前景對象過濾掉噪聲,在三個(gè)級別完成處理:像素級別、塊級別和對象級別。在像素級別,高斯混合模型將動(dòng)態(tài)適配環(huán)境并且忽略例如樹枝和旗子的相同對象的頻繁移動(dòng)。在塊級別,將圖像劃分為M XM個(gè)像素塊。對于每個(gè)塊,將當(dāng)前幀中的運(yùn)動(dòng)像素與先前幀中的運(yùn)動(dòng)像素比較。如果檢測到任何改變,則在具有運(yùn)動(dòng)改變的像素的數(shù)量大于閾值的情況下觸發(fā)塊的計(jì)數(shù)器。如果一時(shí)段中計(jì)數(shù)器中累積的計(jì)數(shù)大于閾值,則該塊將被標(biāo)注為噪聲掩蔽緩沖器中的噪聲塊。將忽略噪聲塊內(nèi)的所有運(yùn)動(dòng)。在對象級別,如果在特定時(shí)間內(nèi)對象總是被檢測到局部移動(dòng)并且頻繁改變方向,則其將被標(biāo)注為噪聲并且將不被更新為對象。對象訪問的區(qū)域?qū)⒈粯?biāo)記為噪聲掩蔽上的噪聲區(qū)域。僅沒有被標(biāo)記為噪聲像素的運(yùn)動(dòng)像素將被標(biāo)注用于進(jìn)一步的處理。
[0062]在框706,處理器204跟蹤任何識(shí)別出的前景對象。具體地,處理器204通過向?qū)ο蠓峙溆?jì)算元數(shù)據(jù)來標(biāo)注任何識(shí)別出的前景對象。
[0063]基于標(biāo)注,處理器204試圖對每個(gè)檢測到的對象與先前接收到的幀中識(shí)別出的對象進(jìn)行映射。例如,處理器204可以比較位置、速度、移動(dòng)方向、顏色、對象大小和類似類型的其他標(biāo)準(zhǔn),以映射對象。示例性地,處理器204可以基于對象的向上軌跡估計(jì)對象將是先前接收到的幀中的其當(dāng)前位置之下的估計(jì)50個(gè)像素?;谠摯_定,處理器204檢查先前接收到的幀中是否在估計(jì)位置示出對象。
[0064]通過跟蹤識(shí)別出的前景對象,處理器204還確定任何對象是否已經(jīng)丟失。更具體地,處理器204識(shí)別在接收到的幀中不再存在的在先前接收到的幀中存在的對象(例如,對象已經(jīng)離開幀的視野、移動(dòng)到另一對象的后面和類似類型的其他情況)。處理器204可以以任何適當(dāng)方式識(shí)別丟失對象。例如,處理器204可以維持包含先前接收到的幀中存在的對象的信息的對象列表。如果在當(dāng)前幀中沒有找到列表中的對象,則處理器204確定對象丟失。作為另一示例,處理器204可以比較先前的前景對象與接收到的幀的前景對象。基于該比較,處理器204識(shí)別接收到的幀中缺少的任何對象。
[0065]在一些實(shí)現(xiàn)方式中,處理器204在跟蹤識(shí)別出的前景對象中額外地過濾掉被視為噪聲的對象。更具體地,處理器204可以延遲新檢測到的前景對象的處理,直至處理器204已經(jīng)在閾值數(shù)量的連續(xù)幀中檢測到前景對象的存在。為了不缺少應(yīng)當(dāng)被傳送的任何真實(shí)對象,在隊(duì)列中編碼所有對象。該隊(duì)列將緩沖需要被更新的多個(gè)圖像和背景塊。如果對象在隊(duì)列中過長并且沒有被辨別為真實(shí)對象,則其將從緩沖器中去除。如果對象被檢測為真實(shí)對象,則將傳送具有同一對象識(shí)別符的所有緩沖對象。
[0066]在框708,處理器204處理識(shí)別出的和丟失的前景對象。例如,處理器204可以生成被識(shí)別為在接收到的幀中不存在的每個(gè)對象的丟失事件。作為另一示例,處理器204可以確定具體識(shí)別出的對象是否是移動(dòng)的、靜止的和/或新的(即,沒有在先前幀中被識(shí)別)等。處理器204可以額外地計(jì)算、編碼和解碼識(shí)別出的對象的對象圖像。處理器204還可以基于移動(dòng)信息確定識(shí)別出的對象的更新速率。示例性地,如果識(shí)別出的對象很慢地移動(dòng),則處理器204可以確定可以以更慢的速率更新對象的圖像(例如,對象的圖像不需要被頻繁傳送和/或?qū)ο蟮漠?dāng)前圖像不需要被傳送)。此外,處理器204可以基于規(guī)定的更新速率向接收器106傳送每個(gè)對象的數(shù)據(jù)。處理器204還可以按順序或者并行地處理識(shí)別出的和丟失的前景對象。如圖8中所示,處理800更詳細(xì)地圖示識(shí)別出的前景對象和丟失的前景對象的處理。
[0067]參考圖8,另外參考圖1和圖2,用于支持對象的編碼和傳輸?shù)奶幚?00包括所示的框。然而,處理800僅是示例性的并且不是限制性的??梢岳缤ㄟ^增加、去除、重新排列和/或同時(shí)執(zhí)行框來改變處理800。例如,可以在框820之前執(zhí)行用于傳送數(shù)據(jù)的框822。對所示和描述的處理800的其他改變是可能的。
[0068]在判定802,處理器204基于關(guān)于對象是否丟失的確定啟動(dòng)處理。如果對象丟失,則處理器204在框804生成對象的丟失事件(例如,“object_leave_scene”事件)。在一些實(shí)現(xiàn)方式中,相應(yīng)地更新與丟失對象先前存在的位置對應(yīng)的背景區(qū)域。區(qū)域背景更新處理除了僅編碼背景的區(qū)域之外,與圖6中所示的背景的更新類似(經(jīng)由整個(gè)或者殘差背景圖像的編碼)。關(guān)于要更新的背景的區(qū)域的位置的信息與編碼背景一起傳送。
[0069]如果對象沒有丟失,則處理器204在判定806確定對象是固定的還是靜止的。處理器204可以通過使用先前計(jì)算的對象的元數(shù)據(jù)(包括移動(dòng)和位置信息)確定對象是否靜止。
[0070]例如,處理器204可以使用位置信息,以比較接收到的幀中的對象的坐標(biāo)與先前接收到的幀中的對象的坐標(biāo)。如上面討論,這些靜止對象也被分類為需要被編碼和傳送的前景像素。然而,如果它們被每幀地發(fā)送,則浪費(fèi)過多帶寬,因?yàn)樗鼈兣c先前的幀相同。一個(gè)示例性方法是編碼對象的位置并且要求解碼器將先前幀的區(qū)域復(fù)制到背景圖像。這將節(jié)省很多帶寬,但編碼器仍需要在對象從場景消失或者融入到背景中之前對于每個(gè)幀傳送關(guān)于對象的一些信息。另一示例性方法是立即更新背景模型并且將該對象編碼為背景。因?yàn)閷ο蟊桓聻楸尘?,所以其不需要被傳送用于未來的幀。為了這樣做,對象區(qū)域中的每個(gè)像素的高斯模型的概率應(yīng)當(dāng)被更新,以確保其將被辨別為背景而不是對象。圖像塊將被強(qiáng)制編碼為背景。
[0071]該示例性實(shí)施例利用兩個(gè)背景圖像。一個(gè)背景圖像是用作用于編碼和解碼的參考圖像的當(dāng)前背景圖像(CBI)。另一背景圖像是基于運(yùn)動(dòng)檢測隨同輸入幀一起被更新的演進(jìn)背景圖像(EBI),并且必要時(shí)其將被更新為當(dāng)前背景圖像并且被編碼用于傳輸。如果像素被檢測為背景像素,則將利用移動(dòng)平均法更新對應(yīng)演進(jìn)背景模型。如果對象被檢測為靜止對象,則當(dāng)前幀中的區(qū)域中的像素將被更新為當(dāng)前背景圖像和演進(jìn)背景圖像。背景模型用于運(yùn)動(dòng)檢測和噪聲過濾,并且背景圖像用于編碼。可以利用例如場景分析器中使用的減小大小的圖像處理背景模型。背景圖像應(yīng)當(dāng)與輸入圖像的大小相同。
[0072]因?yàn)槲覀兪褂酶咚够旌夏P?,所以可能存在與背景對應(yīng)的不止一個(gè)模型。緩沖器中存在僅一個(gè)背景圖像。
[0073]對于最佳視覺表現(xiàn),即使動(dòng)態(tài)改變背景,背景圖像應(yīng)當(dāng)與原始圖像盡可能接近。在示例性實(shí)施例中,兩個(gè)計(jì)數(shù)器用于每個(gè)高斯模型。一個(gè)計(jì)數(shù)器是長期計(jì)數(shù)器(LTC)以計(jì)數(shù)長期概率。另一個(gè)計(jì)數(shù)器是計(jì)數(shù)過去短期時(shí)段的概率的短期計(jì)數(shù)器(STC)。長期計(jì)數(shù)器用于確定當(dāng)前像素是否是前景像素,并且短期計(jì)數(shù)器用于判定哪個(gè)高斯模型應(yīng)當(dāng)用于背景圖像。下面是背景像素選擇的某一示例性標(biāo)準(zhǔn)。如果對象被分類為靜止對象,則當(dāng)前幀中的區(qū)域中的像素將用作背景像素,并且它們的短期計(jì)數(shù)器值將被最大化并且長期計(jì)數(shù)器值將被更新,以確保像素將被分類為背景像素。這些像素將被標(biāo)注,以被立即更新為背景像素,當(dāng)前背景圖像和演進(jìn)背景圖像緩沖器將被同時(shí)更新。否則,具有最高短期計(jì)數(shù)器值的最可能模型被選擇并且其平均值被用作當(dāng)前背景像素值。演進(jìn)背景圖像將與當(dāng)前背景圖像比較。如果兩個(gè)背景圖像之間的差異大,則演進(jìn)背景圖像將被編碼并且更新為當(dāng)前背景圖像。演進(jìn)背景圖像的編碼是利用當(dāng)前背景圖像的差分編碼。
[0074]在判定808,處理器204確定前景對象先前是否被跟蹤。處理器204可以確定先前是否以任何適當(dāng)方式跟蹤對象。例如,處理器204可以維持包含在先前接收到的幀中存在的對象的信息的對象列表。為了確定對象先前是否被跟蹤,處理器204檢查對象是否存在在列表中。作為另一示例,處理器204可以通過比較先前幀與當(dāng)前幀來確定對象先前是否被跟蹤。具體地,處理器204檢查對象是否出現(xiàn)在兩個(gè)幀中。
[0075]如果處理器204在判定808確定前景對象先前被跟蹤,則處理器在框810生成靜止事件(例如,“object_Still”事件)。因?yàn)閷ο螽?dāng)前靜止,所以對象的編碼圖像不需要被立即傳送。靜止對象可以替代地基于更慢的速率或者與背景相同的速率被傳送。除了可以替代參考背景圖像基于先前存儲(chǔ)的圖像(例如,對象的先前存儲(chǔ)的圖像、先前存儲(chǔ)的幀)編碼和解碼之外,用于傳輸?shù)撵o止對象的處理可以以與框816、818、820和/或822中所示類似的方式進(jìn)行。在一些實(shí)現(xiàn)方式中,先前存儲(chǔ)的圖像可以是先前被重建或者生成的圖像。在一些實(shí)現(xiàn)方式中,靜止對象可以融入到背景中或者被認(rèn)為是背景的一部分。當(dāng)此發(fā)生時(shí),對應(yīng)背景區(qū)域相應(yīng)地被更新。除了僅背景的一個(gè)區(qū)域被編碼之外,該區(qū)域背景更新處理與圖6中所示的背景的更新類似(經(jīng)由整個(gè)或者殘差背景圖像的編碼)。關(guān)于更新背景區(qū)域的位置的信息與編碼背景一起傳送。
[0076]再次參考框806,如果處理器204確定前景對象不是靜止的,則處理器204在框812確定對象先前是否被跟蹤。如果處理器204在框812確定對象先前被跟蹤,則處理器204在框814生成進(jìn)入事件(例如,“object_enter_scene” )。
[0077]在框816,處理器204基于當(dāng)前背景圖像計(jì)算前景對象的殘差對象圖像。具體地,處理器204確定表示前景對象的像素的塊和參考背景圖像中的像素的對應(yīng)塊之間的差異(例如,經(jīng)由減法處理)。在框818,處理器204編碼殘差對象圖像。處理器204可以使用任何適當(dāng)編碼方案編碼殘差對象。例如,處理器204可以使用JPEG、JPEG 200或者H.264幀間編碼。
[0078]在替換實(shí)現(xiàn)方式中,處理器204可以基于先前重建圖像(例如,對象的先前重建圖像、先前重建幀)計(jì)算殘差對象圖像。具體地,因?yàn)榻邮盏降膸拖惹皫械膶ο蟮奈恢檬且阎?,所以處理?04可以估計(jì)對象的移動(dòng)的全局運(yùn)動(dòng)矢量?;谠撊忠苿?dòng)估計(jì),處理器204可以例如經(jīng)由基于8x8圖像塊的SAD或者相關(guān)性搜索來估計(jì)局部運(yùn)動(dòng)矢量。此后,可以利用MPEG-4的霍夫曼編碼(Huffman code)編碼局部運(yùn)動(dòng)矢量。基于矢量估計(jì),可以基于先前重建圖像隨后生成殘差對象圖像。可以使用例如基于MPEG的和/或H.264幀間編碼的任何適當(dāng)編碼方案編碼殘差對象圖像。通過使用對象的全局運(yùn)動(dòng)矢量,對象圖像塊的局部運(yùn)動(dòng)矢量可以比沒有全局運(yùn)動(dòng)估計(jì)的圖像塊更小。
[0079]在框820,處理器204解碼先前在框818編碼的殘差對象圖像。此后,處理器204基于解碼殘差對象圖像和替換地依賴于不同編碼模式的參考背景圖像或者先前幀來生成重建對象圖像(例如,經(jīng)由加法處理)。生成重建對象圖像之后,處理器204可以將對象圖像存儲(chǔ)在存儲(chǔ)器206中(例如,在存儲(chǔ)器206中存儲(chǔ)的對象列表中)。通過解碼和生成重建對象圖像,處理器204可以將對象圖像與在接收器106解碼并且由接收器106生成的對象圖像同步。
[0080]在框822,處理器204基于前景對象的規(guī)定更新速率(例如,每秒15、24、29、30或者60幀)向接收器106傳送數(shù)據(jù)。被傳送的數(shù)據(jù)可以包括事件信息(例如,對象已經(jīng)丟失,新對象已經(jīng)進(jìn)入幀和類似類型的其他事件信息)和/或編碼圖像數(shù)據(jù)。例如,可以以每秒30幀的速率向用戶呈現(xiàn)視頻流。作為結(jié)果,可以以1/30秒間隔向接收器106發(fā)送更新前景對象圖像。
[0081]在一些實(shí)現(xiàn)方式中,處理器204可以經(jīng)由可以包括到接收器106的連接的通信子系統(tǒng)208傳送圖像數(shù)據(jù)。例如,通信子系統(tǒng)208可以包括通過廣域網(wǎng)(例如,因特網(wǎng))到接收器106的連接??梢酝ㄟ^例如TCP或者UDP的任何適當(dāng)傳輸層協(xié)議便于編碼背景圖像的傳輸。在一些實(shí)現(xiàn)方式中,處理器204檢查接收器106對象圖像的傳輸是否成功。
[0082]在一些實(shí)現(xiàn)方式中,處理器204可以基于移動(dòng)和/或大小閾值傳送對象的圖像數(shù)據(jù)。例如,處理器204可以被配置為僅在對象已經(jīng)在幀之間移動(dòng)至少20個(gè)像素的情況下或者在對象已經(jīng)從50像素的大小改變到100像素的大小的情況下,傳送該對象的編碼圖像數(shù)據(jù)。處理器204可以基于帶寬的當(dāng)前可用性自動(dòng)修改移動(dòng)/大小閾值。
[0083]在特定實(shí)現(xiàn)方式中,處理器204可以將圖像數(shù)據(jù)(例如,編碼對象圖像、背景圖像等)存儲(chǔ)在傳輸緩沖器中。緩沖器可以用于在帶寬不足夠高以傳送被標(biāo)注為發(fā)送到接收器106的所有圖像數(shù)據(jù)的時(shí)段期間臨時(shí)存儲(chǔ)圖像數(shù)據(jù)。處理器204例如在最近處理的幀包括大量運(yùn)動(dòng)的情況下,可能不能傳送所有圖像數(shù)據(jù)到接收器106。
[0084]在一些實(shí)現(xiàn)方式中,處理器204可以額外地設(shè)置編碼對象和背景圖像的傳輸優(yōu)先級。例如,移動(dòng)對象的圖像可以與高優(yōu)先級相關(guān)聯(lián)。固定對象和背景的圖像可以與更低優(yōu)先級相關(guān)聯(lián)。此后,處理器204可以基于定義的優(yōu)先級傳送圖像(即,在低優(yōu)先級數(shù)據(jù)之前發(fā)送高優(yōu)先級數(shù)據(jù))。在一些實(shí)現(xiàn)方式中,處理器204可以基于數(shù)據(jù)留在傳輸緩沖器中的時(shí)間增加圖像的優(yōu)先級。例如,處理器204可以在圖像在緩沖器中多于兩分鐘的情況下增加該圖像的優(yōu)先級。
[0085]應(yīng)當(dāng)理解,可以同時(shí)或者順序執(zhí)行圖6、7和8中所示的處理。
[0086]參考圖9,另外參考圖1和3,用于支持視頻數(shù)據(jù)的解碼的處理900包括所示的框。然而,處理900僅是示例性的并且不是限制性的??梢岳缤ㄟ^增加、去除、重新排列和/或同時(shí)執(zhí)行框來改變處理900。
[0087]在框902,接收器106接收來自傳送器102的數(shù)據(jù)。數(shù)據(jù)可以包括事件信息(例如,進(jìn)入事件、丟失事件和類似類型的其他事件)、編碼殘差對象圖像、編碼殘差背景圖像和/或整個(gè)編碼背景圖像等。在判定904,接收器104的處理器304確定接收到的數(shù)據(jù)的數(shù)據(jù)類型(例如,事件、背景、移動(dòng)對象、靜止對象)。
[0088]如果處理器304在框906確定接收到的數(shù)據(jù)屬于事件數(shù)據(jù)類型,則處理器304在框906識(shí)別由數(shù)據(jù)指示的具體事件。例如,接收到的數(shù)據(jù)可以指示對象已經(jīng)進(jìn)入當(dāng)前幀(例如,“object_enter_scene”事件)。作為另一示例,接收到的數(shù)據(jù)可以指示對象已經(jīng)離開當(dāng)前巾貞(例如,“object_leave_scene”事件)。在框908,處理器基于接收到的數(shù)據(jù)指示的事件向?qū)ο罅斜碓黾訉ο蠡蛘邚膶ο罅斜砣コ龑ο?。例如,處理?04可以確定接收到的事件數(shù)據(jù)指示對象已經(jīng)進(jìn)入當(dāng)前幀?;谠摯_定,處理器304向?qū)ο罅斜碓黾釉搶ο?。作為另一示例,處理?04可以確定接收到的數(shù)據(jù)指示對象已經(jīng)離開場景。作為結(jié)果,處理器304從對象列表去除該對象。
[0089]再次參考判定904,如果處理器304確定從傳送器102接收到的數(shù)據(jù)是背景類型(例如,編碼殘差背景圖像或者整個(gè)編碼背景圖像),則處理器304在判定910確定是否應(yīng)當(dāng)執(zhí)行幀內(nèi)編碼。
[0090]如果處理器304確定要執(zhí)行幀內(nèi)編碼(即,接收到的數(shù)據(jù)是整個(gè)編碼背景圖像),則處理器304在912解碼背景圖像以產(chǎn)生解碼背景圖像。此后,處理器304將解碼背景圖像存儲(chǔ)在存儲(chǔ)器的參考背景圖像緩沖器中。這樣做,解碼背景圖像取代當(dāng)前參考背景圖像,并且在稍后處理中用作參考背景圖像(例如,用在用于向用戶呈現(xiàn)的圖像的拼接中,用在解碼隨后接收到的數(shù)據(jù)中,以及用在類似類型的其他處理中)。
[0091]如果處理器304確定不執(zhí)行幀內(nèi)編碼(即,接收到的數(shù)據(jù)是殘差背景圖像),則處理器304在914解碼殘差背景圖像以產(chǎn)生解碼殘差背景圖像。此后,處理器304使用解碼殘差背景圖像和當(dāng)前參考背景圖像來生成新參考背景圖像。處理器304隨后在存儲(chǔ)器306的參考背景圖像緩沖器中存儲(chǔ)新參考背景圖像。這樣做,新參考背景圖像取代當(dāng)前參考背景圖像并且用作稍后處理中的參考背景圖像。
[0092]再次參考判定904,如果處理器304確定從傳送器102接收到的數(shù)據(jù)是移動(dòng)對象類型,則處理器304在框916解碼作為殘差對象圖像的數(shù)據(jù),以產(chǎn)生解碼殘差對象圖像。在框918,處理器304基于解碼殘差對象圖像和替換地依賴于不同編碼模式的當(dāng)前參考背景圖像或者先前幀來生成重建對象圖像(例如,通過加法處理)。一旦生成對象圖像,則可以在存儲(chǔ)器306的緩沖器中存儲(chǔ)重建對象圖像。
[0093]再次參考判定904,如果處理器304確定從傳送器102接收到的數(shù)據(jù)是靜止對象類型,則處理器304在框920解碼可以作為殘差對象圖像的數(shù)據(jù),以產(chǎn)生解碼殘差對象圖像。在框922,處理器304基于解碼殘差對象圖像和先前重建圖像(例如,對象的先前重建圖像、先前重建幀)生成重建對象圖像(例如,經(jīng)由加法處理)。用以再現(xiàn)靜止對象的替換方式是直接使用來自對象列表的對應(yīng)對象圖像。在一些實(shí)現(xiàn)方式中,一旦生成對象圖像,則可以在存儲(chǔ)器306的緩沖器中存儲(chǔ)重建對象圖像。
[0094]在框924,處理器304在存儲(chǔ)器306中存儲(chǔ)的對象列表中存儲(chǔ)生成對象圖像或者參考存儲(chǔ)器306中存儲(chǔ)的對象列表中的生成對象圖像。在框926,處理器304將對象列表中的任何對象拼接到當(dāng)前參考背景圖像,以生成視頻幀。此后,處理器304例如向顯示器302提供用于向用戶呈現(xiàn)的視頻幀。在一些實(shí)現(xiàn)方式中,處理器304在執(zhí)行框926之前等待,直至在特定時(shí)間段內(nèi)接收到的所有數(shù)據(jù)被處理。示例性地,處理器30可以在1/30秒時(shí)間段內(nèi)接收包括第一編碼對象圖像和第二編碼對象圖像的兩個(gè)視頻數(shù)據(jù)。接收器106可以在將圖像拼接到參考背景圖像(其例如可以在五分鐘之前被接收、解碼和存儲(chǔ))并且向用戶呈現(xiàn)生成視頻幀之前,處理每個(gè)圖像(例如,解碼和類似類型的其他處理)。
[0095]可以根據(jù)具體需要進(jìn)行描述的配置的實(shí)質(zhì)改變。例如,還可以使用定制硬件和/或可以在硬件、軟件(包括例如小應(yīng)用程序(applet)等的可移植軟件)或者二者中實(shí)現(xiàn)具體元件。此外,可以采用到例如網(wǎng)絡(luò)輸入/輸出設(shè)備的其他計(jì)算設(shè)備的連接。
[0096]本文使用的術(shù)語“機(jī)器可讀介質(zhì)”和“計(jì)算機(jī)可讀介質(zhì)”指代參與提供使得機(jī)器以具體方式操作的數(shù)據(jù)的任何介質(zhì)。物理和/或有形計(jì)算機(jī)可讀介質(zhì)的常見形式包括例如軟盤、可折疊軟盤、硬盤、磁帶或者任何其他磁性介質(zhì)、CD-ROM、任何其他光學(xué)介質(zhì)、打孔卡、紙帶、具有孔圖案的任何其他物理介質(zhì)、RAM、PROM、EPROM、FLASH-EPR0M、任何其他存儲(chǔ)器芯片或者盒、如下文描述的載波、或者計(jì)算機(jī)可以從其讀取指令和/或代碼的任何其他介質(zhì)。各種形式的計(jì)算機(jī)可讀介質(zhì)可以涉及攜帶用于執(zhí)行的一個(gè)或者多個(gè)指令的一個(gè)或者多個(gè)序列到一個(gè)或多個(gè)處理器,例如分別為傳送器102和接收器106的處理器204和304。僅通過示例的方式,可以最初在傳送器102的磁盤和/或光盤上攜帶指令。傳送器102可以將指令加載到其動(dòng)態(tài)存儲(chǔ)器并且通過傳輸介質(zhì)作為信號發(fā)送要由接收器106接收和/或執(zhí)行的指令。根據(jù)本發(fā)明的各種配置,可以是電磁信號、聲學(xué)信號和/或光學(xué)信號等的形式的這些信號是在其上可以編碼指令的載波的所有示例。
[0097]上面討論的方法、系統(tǒng)和設(shè)備是示例。各種配置可以適當(dāng)省略、替代或者增加各種過程。例如,在替換配置中,可以以與描述不同的順序執(zhí)行該方法,并且可以增加、省略或者組合各種步驟。此外,可以以各種其他配置組合關(guān)于特定配置描述的特征。可以以類似的方式組合配置的不同方面和要素。此外,技術(shù)不斷演進(jìn),因而很多要素是示例并且不限制公開或者權(quán)利要求的范圍。
[0098]在描述中給出具體細(xì)節(jié),以提供示例配置(包括實(shí)現(xiàn)方式)的全面理解。然而,配置可以在沒有這些具體細(xì)節(jié)的情況下實(shí)現(xiàn)。例如,示出公知電路、處理、算法、結(jié)構(gòu)和技術(shù),而沒有不必要的細(xì)節(jié),以避免使配置難以理解。該描述僅提供示例配置,并且不限制權(quán)利要求的范圍、應(yīng)用性或者配置。相反,前面的配置描述將向本領(lǐng)域技術(shù)人員提供實(shí)現(xiàn)描述的技術(shù)的有效描述。在不脫離本公開的精神或者范圍的情況下,可以在元件的功能和排列中進(jìn)行各種改變。
[0099]此外,前面的描述詳細(xì)描述視頻傳輸系統(tǒng)。然而,本文描述的系統(tǒng)和方法可以可應(yīng)用于其它傳輸系統(tǒng)。
[0100]此外,可以將配置描述為被描繪為流程圖或者框圖的處理。雖然每個(gè)處理可以將操作描述為順序處理,但是可以并行或者同時(shí)執(zhí)行很多處理。此外,可以重新排列操作的順序。處理可以具有沒有包括在附圖中的額外步驟。此外,可以由硬件、軟件、固件、中間件、微代碼、硬件描述語言或者其任何組合實(shí)現(xiàn)方法的示例。當(dāng)在軟件、固件、中間件或者微代碼中實(shí)現(xiàn)時(shí),可以在例如存儲(chǔ)介質(zhì)的非臨時(shí)性計(jì)算機(jī)可讀介質(zhì)中存儲(chǔ)用以執(zhí)行必要任務(wù)的程序代碼或者代碼段。處理器可以執(zhí)行描述的任務(wù)。
[0101]已經(jīng)描述若干示例配置,可以在不脫離公開的精神的情況下,使用各種修改、替換結(jié)構(gòu)和等效物。例如,上面的元件可以是更大系統(tǒng)的組件,其中,其它規(guī)則可以優(yōu)先于或者另外修改本發(fā)明的應(yīng)用。此外,可以在考慮上面的元件之前、期間或者之后,著手多個(gè)步驟。相應(yīng)地,上面的描述不限制權(quán)利要求的范圍。
【權(quán)利要求】
1.一種視頻編碼的方法,包括:接收具有多個(gè)像素的視頻圖像;對于圖像中的多個(gè)像素中的每個(gè)像素選擇多個(gè)高斯模型;基于像素最佳擬合的模型的概率將每個(gè)像素分類為背景像素或者前景像素;將圖像劃分為M X M個(gè)像素塊;對于每個(gè)塊比較當(dāng)前幀中的運(yùn)動(dòng)像素和先前幀中的運(yùn)動(dòng)像素,以確定具有運(yùn)動(dòng)改變的像素?cái)?shù)量是否大于第一閾值;如果具有運(yùn)動(dòng)改變的像素?cái)?shù)量大于第一閾值,則觸發(fā)塊的計(jì)數(shù)器;確定在第一預(yù)定時(shí)間段內(nèi)計(jì)數(shù)器中的累積計(jì)數(shù)是否大于第二閾值;如果在第一預(yù)定時(shí)間段內(nèi)計(jì)數(shù)器中的累積計(jì)數(shù)大于第二閾值,則忽略塊中的所有運(yùn)動(dòng);跟蹤圖像中的對象;通過檢測在第二預(yù)定時(shí)間段內(nèi)對象是否總是在預(yù)定距離內(nèi)移動(dòng)并且頻繁改變移動(dòng)方向,確定對象是否總是局部移動(dòng);如果確定步驟確定對象總是局部移動(dòng),則將該對象從作為對象的分類中去除;如果確定步驟確定對象總是局部移動(dòng)并且將對象在其內(nèi)移動(dòng)的區(qū)域標(biāo)記為噪聲掩蔽緩沖器上的噪聲區(qū)域,則忽略對象的運(yùn)動(dòng);基于運(yùn)動(dòng)檢測和噪聲過濾更新背景模型;更新當(dāng)前背景圖像;更新演進(jìn)背景圖像;以及編碼用于傳送的當(dāng)前背景圖像、背景更新塊和對象。
2.如權(quán)利要求1所述的方法,還包括以下步驟:創(chuàng)建隊(duì)列,以在隊(duì)列中緩沖多個(gè)條目,包括需要被更新的對象、背景塊和圖像;向隊(duì)列中的條目提供幀和對象標(biāo)識(shí)符;確定對象是否是真實(shí)對象;確定對象是否在大于第三預(yù)定時(shí)間段的時(shí)間段內(nèi)在隊(duì)列中;以及如果對象沒有被識(shí)別為真實(shí)對象并且已經(jīng)確定對象在大于第三預(yù)定時(shí)間段的時(shí)間段內(nèi)在隊(duì)列中,則從緩沖器中去除該對象。
3.如權(quán)利要求1所述的方法,其中,接收具有多個(gè)像素的視頻圖像的步驟包括:接收由觀看場景的照相機(jī)捕捉的視頻圖像,并且還包括以下步驟:確定對象是否移動(dòng)到場景中并且在場景中停止,并且如果確定對象是否移動(dòng)到場景中并且在場景中停止的步驟確定第一對象移動(dòng)到場景中并且停止,則更新場景的背景模型并且將第一對象編碼為背景。
4.如權(quán)利要求1所述的方法,還包括以下步驟:將當(dāng)前背景圖像建立為用于編碼和解碼的參考圖像;建立演進(jìn)背景圖像;利用檢測到的靜止圖像更新當(dāng)前背景圖像;基于運(yùn)動(dòng)檢測利用接收到的圖像更新演進(jìn)背景圖像;以及利用演進(jìn)背景圖像取代當(dāng)前背景圖像。
5.如權(quán)利要求1所述的方法,還包括以下步驟:使用每個(gè)高斯模型的長期計(jì)數(shù)器,以確定當(dāng)前像素是否是前景像素;使用每個(gè)高斯模型的短期計(jì)數(shù)器,以確定哪個(gè)高斯模型用于當(dāng)前背景圖像的像素;如果像素被檢測為背景像素,則利用移動(dòng)平均法更新對應(yīng)演進(jìn)背景模型;如果對象被檢測為靜止對象,則將當(dāng)前幀中的區(qū)域中的像素更新到當(dāng)前背景圖像和演進(jìn)背景圖像中;如果對象被檢測為靜止對象,則最大化與當(dāng)前幀的區(qū)域中的像素對應(yīng)的高斯模型的短期計(jì)數(shù)器并且更新長期計(jì)數(shù)器,以確保該像素將被分類為背景像素;并且如果像素被檢測為背景像素并且該像素的背景模型與先前幀中的像素不同,則更新當(dāng)前和演進(jìn)背景圖像二者的像素,并且編碼和傳送更新后的當(dāng)前背景像素。
6.如權(quán)利要求1所述的方法,其中,編碼用于傳送的當(dāng)前背景圖像、背景更新塊和對象的步驟包括:使用當(dāng)前背景圖像和先前解碼幀作為潛在參考圖像。
7.一種用于視頻編碼的系統(tǒng),包括:處理器,適配為接收具有多個(gè)像素的視頻圖像;對于圖像中的多個(gè)像素中的每個(gè)像素選擇多個(gè)高斯模型;基于像素最佳擬合的模型的概率將每個(gè)像素分類為背景像素或者前景像素;將圖像劃分為M X M個(gè)像素塊;對于每個(gè)塊比較當(dāng)前幀中的運(yùn)動(dòng)像素和先前幀中的運(yùn)動(dòng)像素,以確定具有運(yùn)動(dòng)改變的像素?cái)?shù)量是否大于第一閾值;如果具有運(yùn)動(dòng)改變的像素?cái)?shù)量大于第一閾值,則觸發(fā)塊的計(jì)數(shù)器;確定在第一預(yù)定時(shí)間段內(nèi)計(jì)數(shù)器中的累積計(jì)數(shù)是否大于第二閾值;如果在第一預(yù)定時(shí)間段內(nèi)計(jì)數(shù)器中的累積計(jì)數(shù)大于第二閾值,則忽略塊中的所有運(yùn)動(dòng);跟蹤圖像中的對象;通過檢測在第二預(yù)定時(shí)間段內(nèi)對象是否總是在預(yù)定距離內(nèi)移動(dòng)并且頻繁改變移動(dòng)方向,確定對象是否總是局部移動(dòng);如果處理器確定對象總是局部移動(dòng),則將該對象從作為對象的分類中去除;如果確定步驟確定對象總是局部移動(dòng)并且將對象在其內(nèi)移動(dòng)的區(qū)域標(biāo)記為噪聲掩蔽緩沖器上的噪聲區(qū)域,則忽略對象的運(yùn)動(dòng);基于運(yùn)動(dòng)檢測和噪聲過濾更新背景模型;更新當(dāng)前背景圖像;更新演進(jìn)背景圖像;以及編碼用于傳送的當(dāng)前背景圖像、背景更新塊和對象。
8.如權(quán)利要求7所述的系統(tǒng),其中,處理器還適配為創(chuàng)建隊(duì)列,以在隊(duì)列中緩沖多個(gè)條目,包括需要被更新的對象、背景塊和圖像;向隊(duì)列中的條目提供幀和對象標(biāo)識(shí)符;確定對象是否是真實(shí)對象;確定對象是否在大于第三預(yù)定時(shí)間段的時(shí)間段內(nèi)在隊(duì)列中;以及如果對象沒有被識(shí)別為真實(shí)對象并且已經(jīng)確定對象在大于第三預(yù)定時(shí)間段的時(shí)間段內(nèi)在隊(duì)列中,則從緩沖器中去除該對象。
9.如權(quán)利要求7所述的系統(tǒng),其中,處理器還適配為接收由觀看場景的照相機(jī)捕捉的視頻圖像,并且確定對象是否移動(dòng)到場景中并且在場景中停止,并且如果處理器確定第一對象移動(dòng)到場景中并且停止,則更新場景的背景模型并且將第一對象編碼為背景。
10.如權(quán)利要求7所述的系統(tǒng),其中,處理器還適配為將當(dāng)前背景圖像建立為用于編碼和解碼的參考圖像;建立演進(jìn)背景圖像;利用檢測到的靜止圖像更新當(dāng)前背景圖像;基于運(yùn)動(dòng)檢測利用接收到的圖像更新演進(jìn)背景圖像;以及利用演進(jìn)背景圖像取代當(dāng)前背景圖像。
11.如權(quán)利要求7所述的系統(tǒng),其中,處理器還適配為使用每個(gè)高斯模型的長期計(jì)數(shù)器,以確定當(dāng)前像素是否是前景像素;使用每個(gè)高斯模型的短期計(jì)數(shù)器,以確定哪個(gè)高斯模型用于當(dāng)前背景圖像的像素;如果像素被檢測為背景像素,則利用移動(dòng)平均法更新對應(yīng)演進(jìn)背景模型;如果對象被檢測為靜止對象,則將當(dāng)前幀中的區(qū)域中的像素更新到當(dāng)前背景圖像和演進(jìn)背景圖像中;如果對象被檢測為靜止對象,則最大化與當(dāng)前幀的區(qū)域中的像素對應(yīng)的高斯模型的短期計(jì)數(shù)器并且更新長期計(jì)數(shù)器,以確保該像素將被分類為背景像素;并且如果像素被檢測為背景像素并且該像素的背景模型與先前幀中的像素不同,則更新當(dāng)前和演進(jìn)背景圖像二者的像素,并且編碼和傳送更新后的當(dāng)前背景像素。
12.如權(quán)利要求7所述的系統(tǒng),其中,處理器還適配為使用當(dāng)前背景圖像和先前解碼幀作為潛在參考圖像。
13.一種非臨時(shí)計(jì)算機(jī)可讀介質(zhì),包括配置為使得處理器執(zhí)行以下處理的指令:接收具有多個(gè)像素的視頻圖像;對于圖像中的多個(gè)像素中的每個(gè)像素選擇多個(gè)高斯模型;基于像素最佳擬合的模型的概率將每個(gè)像素分類為背景像素或者前景像素;將圖像劃分為M XM個(gè)像素塊;對于每個(gè)塊比較當(dāng)前幀中的運(yùn)動(dòng)像素和先前幀中的運(yùn)動(dòng)像素,以確定具有運(yùn)動(dòng)改變的像素?cái)?shù)量是否大于第一閾值;如果具有運(yùn)動(dòng)改變的像素?cái)?shù)量大于第一閾值,則觸發(fā)塊的計(jì)數(shù)器;確定在第一預(yù)定時(shí)間段內(nèi)計(jì)數(shù)器中的累積計(jì)數(shù)是否大于第二閾值;如果在第一預(yù)定時(shí)間段內(nèi)計(jì)數(shù)器中的累積計(jì)數(shù)大于第二閾值,則忽略塊中的所有運(yùn)動(dòng);跟蹤圖像中的對象;通過檢測在第二預(yù)定時(shí)間段內(nèi)對象是否總是在預(yù)定距離內(nèi)移動(dòng)并且頻繁改變移動(dòng)方向,確定對象是否總是局部移動(dòng);如果處理器確定對象總是局部移動(dòng),則將該對象從作為對象的分類中去除;如果處理器確定對象總是局部移動(dòng)并且將對象在其內(nèi)移動(dòng)的區(qū)域標(biāo)記為噪聲掩蔽緩沖器上的噪聲區(qū)域,則忽略對象的運(yùn)動(dòng);基于運(yùn)動(dòng)檢測和噪聲過濾更新背景模型;更新當(dāng)前背景圖像;更新演進(jìn)背景圖像;以及編碼用于傳送的當(dāng)前背景圖像、背景更新塊和對象。
14.如權(quán)利要求13所述的非臨時(shí)計(jì)算機(jī)可讀介質(zhì),還包括配置為使得處理器進(jìn)行以下處理的指令:創(chuàng)建隊(duì)列,以在隊(duì)列中緩沖多個(gè)條目,包括需要被更新的對象、背景塊和圖像;向隊(duì)列中的條目提供幀和對象標(biāo)識(shí)符;確定對象是否是真實(shí)對象;確定對象是否在大于第三預(yù)定時(shí)間段的時(shí)間段內(nèi)在隊(duì)列中;以及如果對象沒有被識(shí)別為真實(shí)對象并且已經(jīng)確定對象在大于第三預(yù)定時(shí)間段的時(shí)間段內(nèi)在隊(duì)列中,則從緩沖器中去除該對象。
15.如權(quán)利要求13所述的非臨時(shí)計(jì)算機(jī)可讀介質(zhì),還包括配置為使得處理器進(jìn)行以下處理的指令:接收由觀看場景的照相機(jī)捕捉的視頻圖像,確定對象是否移動(dòng)到場景中并且在場景中停止,并且如果處理器確定第一對象移動(dòng)到場景中并且停止,則更新場景的背景模型并且將第一對象編碼為背景。
16.如權(quán)利要求13所述的非臨時(shí)計(jì)算機(jī)可讀介質(zhì),還包括配置為使得處理器進(jìn)行以下處理的指令:將當(dāng)前背景圖像建立為用于編碼和解碼的參考圖像;建立演進(jìn)背景圖像;利用檢測到的靜止圖像更新當(dāng)前背景圖像;基于運(yùn)動(dòng)檢測利用接收到的圖像更新演進(jìn)背景圖像;以及利用演進(jìn)背景圖像取代當(dāng)前背景圖像。
17.如權(quán)利要求13所述的非臨時(shí)計(jì)算機(jī)可讀介質(zhì),還包括配置為使得處理器進(jìn)行以下處理的指令:使用每個(gè)高斯模型的長期計(jì)數(shù)器,以確定當(dāng)前像素是否是前景像素;使用每個(gè)高斯模型的短期計(jì)數(shù)器,以確定哪個(gè)高斯模型用于當(dāng)前背景圖像的像素;如果像素被檢測為背景像素,則利用移動(dòng)平均法更新對應(yīng)演進(jìn)背景模型;如果對象被檢測為靜止對象,則將當(dāng)前幀中的區(qū)域中的像素更新到當(dāng)前背景圖像和演進(jìn)背景圖像中;如果對象被檢測為靜止對象,則最大化與當(dāng)前幀的區(qū)域中的像素對應(yīng)的高斯模型的短期計(jì)數(shù)器并且更新長期計(jì)數(shù)器,以確保該像素將被分類為背景像素;并且如果像素被檢測為背景像素并且該像素的背景模型與先前幀中的像素不同,則更新當(dāng)前和演進(jìn)背景圖像二者的像素,并且編碼和傳送更新后的當(dāng)前背景像素。
18.如權(quán)利要求13所述的非臨時(shí)計(jì)算機(jī)可讀介質(zhì),其中配置為使得處理器編碼用于傳送的當(dāng)前背景圖像、背景更新塊和對象的指令包括配置為使得處理器使用當(dāng)前背景圖像和先前解碼幀作為潛在參考圖像的指令。
【文檔編號】G06T7/00GK104137146SQ201280070638
【公開日】2014年11月5日 申請日期:2012年12月27日 優(yōu)先權(quán)日:2011年12月29日
【發(fā)明者】L.王, H.朱, F.阿格達(dá)西, G.米拉 申請人:派爾高公司