專利名稱:用于場景變化檢測的隨機子采樣分區(qū)表決算法的制作方法
技術領域:
本發(fā)明一般地涉及數(shù)字視頻處理和分析,具體地涉及利用隨機子采樣 分區(qū)表決算法進行場景變化檢測的方法。
背景技術:
實現(xiàn)視頻壓縮或者解壓縮的數(shù)字視頻編解碼器技術是電信、娛樂和廣 播業(yè)不可缺少的方面。已經(jīng)開發(fā)出許多高級視頻壓縮標準用來傳送高質(zhì)量 和低比特率的視頻流,所述標準例如ISO/IEC MPEG-l、 MPEG-2、 MPEG國4 、 CCITT H.261 、 ITU-T H. 263 、 ITU-T H.264和微軟 WMV9/VC-1。
在視頻壓縮中,使用兩類幀對視頻序列進行編碼內(nèi)幀和預測幀。內(nèi) 幀僅使用它們的內(nèi)部信息,而預測幀則利用視頻序列的時間冗余。因此, 選擇一幀作為參考,根據(jù)該參考幀來預測后續(xù)幀。當鄰近的幀具有高的相 關性時,預測幀的壓縮比遠高于內(nèi)幀的壓縮比。為了實現(xiàn)高壓縮比,在視 頻序列內(nèi)預測幀的百分比通常為90%或者更高。然而,當一幀與先前幀 的相關性很小時,則內(nèi)幀可比預測幀更有效地對該幀進行編碼。另外,內(nèi) 幀被插入在預測幀的序列中以避免在基于先前的預測幀對預測幀進行編 碼時所積累的4m的傳播。
視頻序列可被劃分成不同的鏡頭。兩個鏡頭之間的過渡為場景變化。 在場景變化之后的第 一幀應當被編碼為內(nèi)幀,因為它與先前幀(如果存在)
的相關性很低。需要場景變化檢測算法來識別視頻序列的場景內(nèi)容的變化 并Jjlt何時在一連串幀中插入內(nèi)幀(由此將視頻分割成鏡頭)進行判斷。
現(xiàn)有的低成本場景變化檢測算法可分為基于空間相關性的算法和基 于直方圖的算法?;诳臻g相關性的算法對運動非常敏感,而基于直方圖 的算法則會在它們的決策過程中丟失多數(shù)空間信息。除了這些缺點之外, 這兩類算法的計算復雜度通常很高。因此,它們并不完全適合于滿足實時 嵌入式視頻編碼器的要求,即低存儲器存取帶寬、低計算復雜度和低延時。
發(fā)明內(nèi)容
鑒于以上所述,本發(fā)明的實施例提供了利用隨機子采樣分區(qū)表決
(RSPV)算法進行可靠的低成本場景變化檢測的方法。所述RSPV算法 利用了基于空間相關性的算法和基于直方圖的算法的優(yōu)點。
根據(jù)本發(fā)明的實施例,將當前幀劃分為多個分區(qū)。然后對每個分區(qū)進 行隨機子釆樣,以及構(gòu)建像素強度值的直方圖以確定當前分區(qū)是否不同于 參考幀中的對應分區(qū)。計算在當前幀中的分區(qū)與參考幀中相同位置的分區(qū) 之間的逐柄直方圖絕對差值。然后將該直方圖差值與自適應閾值進行比 較。如果大多數(shù)被檢查的分區(qū)具有顯著改變,則認為檢測到場景變化。此 外,也可使用各種其它閾值來判斷是否可將分區(qū)凈艮告為具有明顯變化。
利用直方圖計算使所述RSPV算法與運動無關,同時進行分割利用 了充分的空間信息。由于計算針對子采樣幀的直方圖,所以該算法的特征 在于存儲器存取和計算的成本顯著減少。
相應地,與多個示例實施例一^^提供了本發(fā)明的多個方面,所述示例 性實施例并非旨在進行限制。
一個這樣的方面是^^供一種用于視頻序列中場景變化檢測的方法,該 方法包括a)將當前幀劃分為多個分區(qū),每個分區(qū)包含多個4象素;b)對 所述多個分區(qū)中各分區(qū)內(nèi)的所述多個像素進行隨機子采樣;c)針對所述 多個分區(qū)中的每個當前分區(qū),生成多個像素值范圍中的各像素值范圍內(nèi)像 素數(shù)目的直方圖,該直方圖包括多個柄;d)確定在當前分區(qū)與參考幀的 相應分區(qū)之前的逐柄直方圖絕對差值;e)如果逐柄直方圖絕對差值大于 第一預定闊值,則將所述當前分區(qū)標記為有變化;f)對當前幀中的多個 分區(qū)中的各分區(qū),重復步驟b)至e);以及g)如果當前幀中標記為有變 化的分區(qū)的數(shù)目大于第二預定閾值,則才艮告當前分區(qū)中的場景變化。
根據(jù)另一方面,提供了一種計算機可讀存儲介質(zhì),所述存儲介質(zhì)被編 碼有用于在計算機系統(tǒng)上執(zhí)行的計算機指令,所述指令在執(zhí)行時執(zhí)行用于
視頻序列中場景變化檢測的方法,包括a)將當前幀劃分為多個分區(qū), 每個分區(qū)包含多個像素;b)對所述多個分區(qū)中各分區(qū)內(nèi)的所述多個像素 進行隨機子采樣;c)對所述多個分區(qū)中的每個當前分區(qū),生成多個i象素 值范圍中的各像素值范圍內(nèi)像素數(shù)目的直方圖,該直方圖包括多個柄;d) 確定在當前分區(qū)與參考幀中的對應分區(qū)之間的逐柄直方圖絕對差值;e) 如果所述逐柄直方圖絕對差值大于第一預定閾值,則將當前分區(qū)標記為有 變化;f)對當前幀中的多個分區(qū)中的各分區(qū),重復步驟b)至e);以及g) 如果當前幀中標記為有變化的分區(qū)的數(shù)目大于第二預定閾值,則報告當前 分區(qū)中的場景變化。
根據(jù)另一方面,提供一種包括處理器和計算機可讀存儲^h質(zhì)的裝置, 該計算機可讀存儲介質(zhì)包含用于在處理器上執(zhí)行以提供用于視頻序列中 場景變化檢測的方法的計算機指令,該方法包括a)將當前幀劃分成多 個分區(qū),每個分區(qū)包含多個像素;b)對所述多個分區(qū)中各分區(qū)內(nèi)的所述 多個像素進行隨機子采樣;c)針對所述多個分區(qū)中的各當前分區(qū),生成 多個像素值范圍中的各像素值范圍內(nèi)像素數(shù)目的直方圖,該直方圖包括多 個柄;d)確定在當前分區(qū)與參考幀中的對應分區(qū)之間的逐柄直方圖絕對 差值;e)如果逐柄直方圖絕對差值大于第一預定閾值,則將當前分區(qū)標 記為有變化;f)針對當前幀中多個分區(qū)中的各分區(qū),重復步驟b)至e); 以及g)如果當前幀中標記為有變化的分區(qū)的數(shù)目大于第二預定閾值,則 才艮告當前分區(qū)中的場景變化。
在一些實施例中,像素值代^目應像素顏色的照度分量。當前幀中分 區(qū)的數(shù)目可以在從16至128的范圍內(nèi)。
在一些實施例中,直方圖可以是16柄直方圖。第二預定閾值可以被 定義為當前幀中的大多數(shù)分區(qū)。
應當理解,上文提到的和下文討論的實施例并非預期是相互排斥的, 除非在上下文中另有指明。
圖l是包括一連串內(nèi)幀和預測幀的視頻序列的示意圖; 圖2是圖示了對幀進行劃分的示意圖3是根據(jù)本發(fā)明實施例的隨機子采樣分區(qū)表決算法的流程圖4是作為隨機子采樣分區(qū)表決算法的一部分而計算的16柄直方圖 的例子;
圖5是隨機子采樣分區(qū)表決算法在視頻片斷上的表現(xiàn)的例子;以及
圖6是示意地圖示了根據(jù)本發(fā)明實施例的實施用于場景變化檢測的 方法的計算設備的框圖。
具體實施例方式
圖l示出了視頻幀序列的例子,其中預測(P)幀之間點綴有內(nèi)(I) 幀。所述I幀在完全不從任何其它幀插入的情況下被編碼,而所述P幀則 相對于先前的I幀或P幀被編碼。場景變化檢測的目的在于在出現(xiàn)場景變 化的任何地方插入I幀。
在本發(fā)明的實施例中,視頻序列中的幀被劃分成分區(qū)。相應地,圖2 是示出了各自被劃分成N個分區(qū)的當前幀200和參考幀202的示意圖。 在一些實施例中, 一幀被劃分成16個分區(qū),這提供了空間分辨率與運動 容差之間的折衷。分區(qū)的數(shù)目可以變化。然而,應當理解,盡管利用更大 數(shù)目的分區(qū)可以使空間分辨率增加,但是它使算法對運動更敏感。
圖2圖示了分區(qū)可以不包括幀200和202的頂邊界和底邊界,因為在
"加框式(letterboxed )"幀時)關于場景變化的信息。另外,如箭頭204 和206所示,將當前幀200中的各分區(qū)與在參考幀202中的對應分區(qū)進行 比較。下文具體描述該比較。
在本發(fā)明的實施例中利用的隨機子采樣分區(qū)表決(RSPV)算法被應 用于每個分區(qū)幀。圖3是圖示了應用于當前幀的RSPV算法300的流程圖。 應當認識到該算法被應用于每個后繼幀k,所述幀K如上文結(jié)合圖2所述 在步驟302中被分成N個分區(qū)。在本發(fā)明的實施例中,分區(qū)的數(shù)目N是 16,但是在本發(fā)明的范圍內(nèi)可以使用不同數(shù)值的N。相應地,在步驟304 中使用任一適當?shù)募夹g對各分區(qū)進行隨機子采樣。對于每個采樣點,隨機 子采樣保證了相等的被選概率。在一些實施例中,無論是水平還是豎直, 子采樣比例均為8:1或者4:1。應當注意,在RSPV算法中利用像素的照 度。也可以使用其它適當?shù)南袼靥卣鳌?br>
圖3示出在步驟308針對N個分區(qū)中的各分區(qū)計算像素強度值的直 方圖。所述直方圖包含M個柄。為了表示清楚,在步驟306中將代表分 區(qū)號的參數(shù)j初始化為l。在步驟306中,將HistoDiff變量初始化為0, 該變量將包含在當前幀中的第k分區(qū)與先前檢查的參考幀中對應的第k 分區(qū)之間的逐柄直方圖絕對差值。在本發(fā)明的實施例中,如上文所討論的, 利用16柄(bin)直方圖,這可以提供對分區(qū)的充分的頻域分析。根據(jù)視 頻序列中的運動活躍性,可以使用其他適當數(shù)目的柄來構(gòu)建該直方圖。所 述分區(qū)的頻域表示對運動不敏感。因此,即使運動強烈,直方圖仍然允許 與運動無關i^r測場景內(nèi)容的變化。在圖4中示出了根據(jù)本發(fā)明實施例計 算的16柄直方圖的例子,其中16個柄的每一個包含在分配給某個柄的范 圍內(nèi)的多個4象素。
如圖3的步驟310和312中所示,使用下式計算逐柄直方圖絕對差值
其中C是當前幀,R是參考幀,k是分區(qū)號,j是針對該第k分區(qū)計算的 直方圖的柄號。圖3圖示了在步驟310中將針對當前幀C的第k分區(qū)計 算的直方圖中M個柄的各第j柄與參考幀R的第k分區(qū)中相應的第j柄 進行比較。應當理解,所述C(k,j)是在分配給當前幀的第k分區(qū)中第j柄 的范圍內(nèi)的像素數(shù)目,其被保存用于對下一幀進行檢查時的PGDS算法 的下一次迭4戈,因此C(k,j)用作R(k,j)。
在已經(jīng)計算在針對當前幀和參考幀的第k分區(qū)構(gòu)建的相應直方圖的 M個柄中各柄之間的逐柄直方圖絕對差值之后(這在步驟312中進行判 斷),在步驟314中,將針對第k分區(qū)所得的逐柄直方圖絕對差值 HistoDiff(k)與可配置的閾值(稱為閾值1)進行比較。如果計算的逐柄直 方圖絕對差值超過閾值l,則在步驟316中將第k分區(qū)標記為有變化。否 則,在步驟318中將第k分區(qū)標記為未變化或者不標記為有變化。
圖3的步驟320確定是否留有要檢查的分區(qū),如果并非所有的N個 分區(qū)均已經(jīng)被分析,則k遞增1,且與第k分區(qū)類似地分析下一個分區(qū) k+l。如果在步驟320中確定已經(jīng)檢查了在當前幀中的所有N個分區(qū),則 確定在所述N個分區(qū)中標記為有變化的分區(qū)的數(shù)目并且在步驟322中將 該數(shù)目與預定閾值(稱為閾值2)進行比較。如果有變化的分區(qū)的數(shù)目大 于閾值2,則在步驟324中寺艮告場景變化。如果有變化的分區(qū)的數(shù)目小于 閾值2,則如在步驟326中所示,才艮告無場景變化。應當理解閾值2可以 是任一適當?shù)目膳渲瞄撝怠?br>
在本發(fā)明的實施例中,閾值2被定義為分區(qū)數(shù)目的50%被標記為有 變化。因此,如果大多數(shù)(即,在分區(qū)數(shù)目為16的實施例中多于8個) 幀分區(qū)被才艮告為有變化,則認為該幀包含場景變化。當出現(xiàn)場景變化時, 針對當前幀分區(qū)的直方圖的分布明顯地從針對相應參考幀分區(qū)的直方圖 的分布移動。逐柄直方圖絕對差值的量值指示了該分布移動的大小。
所述RSPV算法的計算成本低。如果子采樣比例無論是水平還是豎 直均例如是8:1,則被處理的像素僅構(gòu)成該幀中所有像素的約2%??紤] 直方圖計算和存儲器存取的并行處理的特性,該RSPV算法的特征在于與 針對分區(qū)中的所有像素計算直方圖的算法相比,減少了場景變化檢測所需 的時間。另夕卜,盡管是子采樣并且因此減少了所檢查的像素的數(shù)目,但是 正如在發(fā)明人進行的實驗中表現(xiàn)的那樣,檢測結(jié)果充分可靠。對于每個具 有一千個幀的十個眾所周知的視頻序列,場景變化遺漏率小于3%,且誤 報警率小于2%。
應當理解,可以通過改變分區(qū)的數(shù)目和子采樣比例來縮放RSPV算 法以配合不同大小的幀。所述逐柄直方圖絕對差值閾值是自適應的,并且 可以針對各種視頻內(nèi)容加以調(diào)整,包括實時調(diào)整。
圖5圖示了對使用Dl幀大小(720x480像素)編碼的60秒長的電影 片斷進行場景變4匕檢測的示例實驗結(jié)果。水平軸示出幀號,而豎直軸示出 有變化的分區(qū)的數(shù)目,其中分區(qū)總數(shù)目是16。當分區(qū)數(shù)目大于8時,標 識場景變化。因此,所述RSPV算法成功地將場景有變化的幀與其它幀區(qū) 分開,得到高的檢測速率以及低的誤報警率。圖5示出了在幀號大約為 570處,很大的物體在快速移動,ilit成出現(xiàn)一些噪聲。然而,由于該算 法容許運動,所以它提供可靠的場景變化檢測,即當大型物體移動經(jīng)過該 場景時,不^^m地檢測到場景變化。
總之,本發(fā)明的實施例提供了用于場景變化檢測的可靠、低成本和對 運動不敏感的方法。RSPV算法是可縮放的并且可以利用各種自適應閾 值。
本發(fā)明的實施例可以用軟件、硬件、固件、各種類型的處理器或者其 組合來實施。因此, 一些實施例可以實施為在一個或者多個計算機可讀介 質(zhì)上實施的計算機可讀指令,所述計算機可讀介質(zhì)包括但不限于諸如 ROM、 RAM、軟盤、CD-ROM、 DVD等的存儲^h質(zhì)。>^發(fā)明的一些實 施例可以實施為具有存儲在其上的計算機可讀指令的計算機可讀介質(zhì)或 者實施為在Blackfin系列嵌入式數(shù)字信號處理器(該處理器可從馬薩諸塞
州諾伍德市的邏輯器件公司獲得)的高性能部件內(nèi)的視頻編碼器的硬件組
件。例如,可以利用包括各自能夠?qū)崿F(xiàn)600MHz性能的兩個獨立內(nèi)核的 數(shù)字信號處理器ADSP-BF 561以及實現(xiàn)高達756MHz性能的單內(nèi)核 ADSP-BF 533數(shù)字信號處理器。其它各種適當?shù)臄?shù)字信號處理器也可以 實施本發(fā)明的實施例。
圖6是用于實施本發(fā)明實施例的示例計算設備的圖。這樣的設備可以 包括但不限于通過系統(tǒng)總線608互連的微處理器600、高速緩存存儲器 602、內(nèi)部存儲器604和DMA控制器606。在使用圖6的計算設備來實施 的本發(fā)明的實施例中,系統(tǒng)總線608連接到控制外部存儲器612的外部存 儲器控制器610。
從前文中應當理解,可以相互獨立或者以任何組合來運用這里描述的 本發(fā)明的許多方面。具體而言,可以單獨地、組合地或者以在前文描述的 實施例中未具體討論的多種布置^J逸用本發(fā)明的各方面,而這里描述的本 發(fā)明的各方面在它們的應用上并不限于在前面的描述中闡明的或者在附 圖中圖示的組件的細節(jié)和布置。本發(fā)明的各方面能夠具有其它實施例并且 以各種方式加以實施或者實現(xiàn)。本發(fā)明的各個方面可以使用任一類電路來 實施,JJtt電路實施沒有限制。因而,前面的描述和附圖僅為舉例。
應當認識到這里使用的措辭和術語是為了進行描述而不應當理解為 限制。這里對"包括"、"具有"、"包含"及其變體的使用均旨在涵蓋其后列 舉的項及其等同內(nèi)容以及附加項。
權利要求
1.一種用于視頻序列中場景變化檢測的方法,包括a)將當前幀劃分為多個分區(qū),每個分區(qū)包含多個像素;b)對所述多個分區(qū)中各分區(qū)內(nèi)的所述多個像素進行隨機子采樣;c)針對所述多個分區(qū)中的各當前分區(qū),生成多個像素值范圍中的各像素值范圍內(nèi)像素數(shù)目的直方圖,所述直方圖包括多個柄;d)確定所述當前分區(qū)與參考幀中的對應分區(qū)之間的逐柄直方圖絕對差值;e)如果所述逐柄直方圖絕對差值大于第一預定閾值,則將所述當前分區(qū)標記為有變化;f)針對所述當前幀中的所述多個分區(qū)中的各分區(qū),重復步驟b)至e);以及g)如果所述當前幀中標記為有變化的分區(qū)的數(shù)目大于第二預定閾值,則報告所述當前分區(qū)中的場景變化。
2. 根據(jù)權利要求1所述的方法,其中,所述像素值代^N應像素顏色的照度分量。
3. 根據(jù)權利要求1所述的方法,其中,所述當前幀中分區(qū)的數(shù)目在 從16至128的范圍內(nèi)。
4. 根據(jù)權利要求l所述的方法,其中,所述直方圖是16柄直方圖。
5. 根據(jù)權利要求1所述的方法,其中,所述第二預定閾值被定義為 所述當前幀中的大多數(shù)分區(qū)。
6. —種計算機可讀存儲介質(zhì),所述存儲介質(zhì)被編碼有用于在計算機 系統(tǒng)上執(zhí)行的計算機指令,所述指令在被執(zhí)行時執(zhí)行用于視頻序列中場景 變化檢測的方法,包括a) 將當前幀劃分為多個分區(qū),每個分區(qū)包含多個像素;b) 對所述多個分區(qū)中各分區(qū)內(nèi)的所述多個像素進行隨機子釆樣;c) 針對所述多個分區(qū)中的各當前分區(qū),生成多個《象素值范圍中的各 《象素值范圍內(nèi)的4象素數(shù)目的直方圖,所述直方圖包括多個柄;d) 確定所述當前分區(qū)與參考幀中的對應分區(qū)之間的逐柄直方圖絕對 差值;e) 如果所述逐柄直方圖絕對差值大于第一預定閾值,則將所述當前 分區(qū)標記為有變化;f) 針對所述當前幀中所述多個分區(qū)中的各分區(qū),重復步驟b)至e);以及g) 如果所述當前幀中標記為有變化的分區(qū)的數(shù)目大于第二預定閾值, 則才艮告所述當前分區(qū)中的場景變化。
7. 根據(jù)權利要求6所述的計算機可讀存儲介質(zhì),其中,所述像素值 代表相應像素顏色的照度分量。
8. 根據(jù)權利要求6所述的計算機可讀存儲介質(zhì),其中,所述當前幀 中分區(qū)的數(shù)目在從16至128的范圍內(nèi)。
9. 根據(jù)權利要求6所述的計算機可讀存儲介質(zhì),其中,所述直方圖 是16柄直方圖。
10. 根據(jù)權利要求6所述的計算機可讀存儲介質(zhì),其中,所述第二閾 值被定義為所述當前幀中的大多數(shù)分區(qū)。
11. 一種包括處理器和計算機可讀存儲介質(zhì)的裝置,所述計算機可讀 存儲介質(zhì)包含用于在所述處理器上執(zhí)行以提供用于視頻序列中場景變化 檢測的方法的計算機指令,所述方法包括a)將當前幀劃分為多個分區(qū),每個分區(qū)包含多個像素;b )針對所述多個分區(qū)中各分區(qū)內(nèi)的所述多個《象素進行隨機子采樣;c) 針對所述多個分區(qū)中的各當前分區(qū),生成多個像素值范圍中的各 像素值范圍內(nèi)的像素數(shù)目的直方圖,所述直方圖包括多個柄;d) 確定在所述當前分區(qū)與參考幀中的對應分區(qū)之間的逐柄直方圖絕 對差值;e) 如果所述逐柄直方圖絕對差值大于第一預定閾值,則將所述當前 分區(qū)標記為有變化;f) 針對所述當前幀中所述多個分區(qū)中的各分區(qū),重復步驟b)至e); 以及g) 如果所述當前幀中所述多個分區(qū)中的大多數(shù)分區(qū)被標記為有變化, 則報告場景變化。
12. 根據(jù)權利要求11所述的裝置,其中,所述像素值代表相應像素 顏色的照度分量。
13. 根據(jù)權利要求11所述的裝置,其中,所述當前幀中分區(qū)的數(shù)目 在從16至128的范圍內(nèi)。
14. 根據(jù)權利要求ll所述的裝置,其中,所述直方圖是16柄直方圖。
15. 根據(jù)權利要求11所述的裝置,其中,所述第二預定閾值被定義 為所述當前幀中的大多數(shù)分區(qū)。
全文摘要
提供一種利用隨機子采樣分區(qū)表決(RSPV)算法用于視頻序列中場景變化檢測的系統(tǒng)和方法。在所述視頻序列中,當前幀被劃分成多個分區(qū)。每個分區(qū)被進行隨機子采樣,以及構(gòu)建像素強度值的直方圖以確定當前分區(qū)是否不同于參考幀中的對應分區(qū)。計算在當前幀中的分區(qū)與參考幀中相同位置的分區(qū)之間的逐柄直方圖絕對差值。將所述直方圖差值與自適應閾值進行比較。如果大多數(shù)被檢查的分區(qū)具有顯著的變化,則檢測到場景改變。所述RSPV算法是與運動無關的,且特征在于存儲器訪問和計算的費用顯著降低。
文檔編號H04N5/14GK101352029SQ200680046809
公開日2009年1月21日 申請日期2006年12月14日 優(yōu)先權日2005年12月15日
發(fā)明者柯 寧, 偉 張, 馬克·霍夫曼 申請人:模擬裝置公司