摘要:隨著H.264/AVC壓縮標準得到越來越廣泛的應用,基于H.264/AVC壓縮域的視頻鏡頭分割技術成為視頻檢索領域的熱點問題。根據鏡頭邊緣處前后幀的相關性較低的特征,統計幀在總體上的宏塊預測模式信息來獲取視頻的候選鏡頭邊界集,然后利用局部特性對其進行篩選,得出了鏡頭邊界,并通過實驗進行驗證,實驗結果證明,本算法是快速有效的。
關鍵詞:鏡頭分割;宏塊;預測模式;H.264/AVC
中圖分類號:TP37文獻標識碼:A文章編號:1009-3044(2009)04-0944-03
Scene Change Detection Algorithms in H.264/AVC Compressed Domain
HONG Xia-jun, XIA Dian-song
(Department of Electronic Information Engineering ICE, PLAUST, Nanjing 210007, China)
Abstract: Along with widely using of H.264/AVC, the scene change detection in H.264/AVC compressed domain becomes a hot issue in Context-Based Video Retrieval field. Base on the character that there is less temporal correlation between frames where scene change occurs, according to different macro-block prediction mode in the whole frame, the proposed algorithms obtain candidates of scene change frames. To find accurate scene changes, we use the part characteristic of the fame. The experimental results shows that the proposal algorithm is fast and efficient.
Key words: scene change detection; macro-block; prediction mode; H.264/AVC
1 引言
多媒體技術和Internet的發展給人們帶來巨大的多媒體信息海洋,并進一步導致了超大型多媒體信息庫的產生,僅僅憑關鍵詞是很難做到對多媒體信息的描述和檢索的,這就需要有一種針對多媒體的有效檢索方式。如何有效的幫助人們快速、準確地找到所需要的多媒體信息,成為多媒體信息庫所要解決的核心問題。基于內容的視頻檢索(Content-Based Video Retrieval)是一種新的檢索技術,是對多媒體視頻對象的內容及上下文語義環境進行檢索,如對視頻中的場景、片斷進行分析和特征提取,并基于這些特征進行相似性匹配。
基于內容的視頻信息檢索是當前多媒體數據庫發展的一個重要研究領域,它以視頻鏡頭分割作為第一個步驟,將連續的視頻流劃分為具有特定語義的視頻片段——鏡頭,作為檢索的基本單元。現有的視頻都是以壓縮格式儲存的,廣泛應用的壓縮標準有MEPG-2,MPEG-4,H.264/AVC等。然而,為了實現鏡頭分割,傳統方法需要將壓縮格式的視頻解壓縮,這是一個十分耗時的過程,無法滿足一些實時的需求。為了解決這個問題,學者們做了很多在壓縮域進行鏡頭分割的研究。例如,MPEG-2壓縮域的鏡頭分割方法有基于DC系數的[1],運動向量的[2],比特率控制的[3]等等。然而H.264/AVC的一些新特性,如支持多種大小的宏塊分割、多參考幀等,使得這些基于MPEG-2的分割算法不再適用于H.264/AVC的壓縮視頻。
近幾年來,因為H.264/AVC更高的壓縮比和良好的網絡親和性,它正被越來越廣泛的運用于各類視頻壓縮中。因而基于H.264/AVC壓縮域的視頻分割技術受到了空前的重視,很多學者根據H.264/AVC的特性,提出了許多有效的算法:Sungmin等人在[4]中提出了一種比較兩個連續的I幀的宏塊分割模式來判斷鏡頭邊界的算法,這種算法運行速度十分快,充分體現了壓縮域鏡頭分割算法的優點,有著較高的精度,而且對于檢測鏡頭漸變切換也有著不錯的效果,但是也有一個重要的缺陷,它只能將鏡頭邊界確定在兩個I幀之間,而無法精確到具體的某一幀。
發生鏡頭切換的幀與前面的幀的差異比較大,勢必將大量的采用幀內編碼模式,根據這種特點本文提出了一種改進型的算法,并通過實驗進行了驗證。
2 基于宏塊預測方式的鏡頭分割算法
2.1 原理分析
H.264/AVC中,一個編碼圖像(即一幀)通常劃分成若干個宏塊,一個宏塊由一個16*16的亮度像素和附加的一個8*8Cb和一個8*8Cr彩色像素快組成。每個圖像中,若干宏塊被排列成片的形式。
I片只包含I宏塊,P片可包含P和I宏塊,而B片可以包含B和I宏塊。I宏塊利用從當前片中已解碼的像素作為參考進行幀內預測,P宏塊利用前面已編碼的圖像作為參考圖像進行預測,B宏塊則利用雙向的參考圖象進行預測。H.264的基本檔次中只利用了I片和P片,主要用于可視電話、會議電視、無線通信等實時視頻通信中。
當鏡頭發生切換發生在第i幀時,i幀與i-1幀的差異肯定很大。根據Soo-Chang Pei等在[5]中的分析,我們可以依據第i幀的類型,將鏡頭切換分為兩大類:切換發生在P或者I幀,切換發生在B幀。
1) 如果鏡頭切換發生在I或者P幀,則該I或者P幀前面的B幀中的絕大多數宏塊將
采用前向預測編碼,并且,如果鏡頭切換時發生在P幀,那么該P幀的絕大多數宏塊將采用幀內預測編碼。
2) 如果鏡頭切換發生在B幀,還要根據兩個P幀內B幀的個數分別討論。
① 一個B幀:B幀的絕大多數宏塊將采用后向預測編碼,如果第i+1幀是P幀,那么該P幀的絕大多數宏塊將采用幀內預測編碼。
② 兩個B幀:如果鏡頭切換發生在第一個B幀,那么第i+1幀同樣是B幀,且i,i+1兩幀的絕大多數宏塊將采用后向預測編碼;如果鏡頭切換發生在第二個B幀,那么第i-1幀是B幀,它的絕大多數宏塊將采用前向預測編碼,而發生切換的B幀(i幀)的絕大多數宏塊將采用后向預測編碼。并且,如果發生接下來的如果是P幀,那么該P幀的絕大多數宏塊將采用幀內預測編碼。
③ 三個或三個以上B幀:原理同兩個B幀的情況,不再贅述。B幀的利用將導致解碼時需要進行幀的重排列,不適合用于實時視頻中,因此本文研究的視頻是不含有B幀的視頻,圖像組的結構為IPPP…PPPI。
2.2 實時鏡頭分割算法
為了更加精確的找出鏡頭邊界,先計算每一個P幀的幀內預測編碼的宏塊的比例,當大于設定的域值時,標記為候選鏡頭邊界。因為鏡頭切換不會在特別短的時間內連續發生,所以可以通過對比兩個連續I幀的幀內預測模式來判斷I幀是否發生了鏡頭切換[4]。這樣,我們得到了一個候選鏡頭邊界的集合C。
Intra(Pi)>t(1)
■ (2)
其中,■,NMB是幀的宏塊數。
C的篩選是根據圖像的總體特征,因此,為了從C中剔除冒牌鏡頭邊界c’,我們需要利用圖像的局部特征。把C中的幀分成若干子塊S={ S1,S2,S3,…,SN-1,SN},計算與前一幀(如果是I幀,則是比較前一I幀)在對應子塊上的預測模式的差異。
■ (3)
■ (4)
最后,用Ti,i-1,Fi,i-1,來表示幀的預測模式的差異。
■ (5)
■(6)
其中,■,|S|是幀的子塊數,|Sk|是子塊Sk中的宏塊數。當Ti,i-1或者Fi,i-1大于預設的域值時,則該候選鏡頭邊界為鏡頭邊界。
3 實驗與結果分析
為了驗證算法效果,選取三組不同類型的圖像序列來作為實驗素材進行實驗。第一組是電影《尼斯湖水怪》中開始的一段視頻,3737幀,共有鏡頭變換32次,其中突變30個,漸變2個。第二組是電影《的士速遞》中的一段汽車快速行駛的視頻,2400幀,共有鏡頭變換43個,都是突變切換。第三組是解放軍理工大學謝希仁教授主講的網絡課程《走進互聯網(一)》中的一段,6000幀,16個鏡頭變換,都是突變切換。編碼采用JM8.6版本的baseline標準,每25幀插入一個I幀,幀率為25幀/s,分辨率采用352*288的CIF格式。
為了規范實驗結果,本文采用鏡頭分割研究領域中廣泛采用的查全率(Recall)和查準率(Precision)來驗證算法:
■(7)
■ (8)
其中,Nx、Nf和Nm分別表示正確判斷、誤判和漏判的鏡頭邊界。
表1 候選鏡頭邊界數 表2算法在實驗中的查全率和查準率
■
實驗結果在表1、2中給出。從表中可以看出本算法對于基本檔次的H.264/AVC壓縮視頻的鏡頭突變檢測的效果非常好,查全率和查準率都很高。第一組中漏判的兩個鏡頭都是淡入淡出的漸變切換。第二組和第三組中誤判的鏡頭則分別是由于閃光燈和演示的幻燈片內容變化過大造成。
4 總結與展望
本文分析了鏡頭邊界處宏塊預測模式的特征,并在此基礎上提出了一種基于H.264/AVC壓縮域的改進型實時鏡頭分割算法,并通過實驗證明了其優越性。本算法的運行速度非常快,只需進行熵解碼就能取得算法所需的宏塊類型和預測模式,充分發揮了基于壓縮域算法的優越性。但是,本算法對于鏡頭漸變切換和閃光燈效果的處理不夠理想,因此加強對各種特效的判斷將是進一步改進的方向。
參考文獻:
[1] Kim J, Suh S, Sull S. Fast Scene ChangeDetection for Personal Video Recoder[J].IEEE Transaction on,2003(49):683-688.
[2] Dawood A M, Ghanbari M. Scene Cut Detection from MPEG Video Stream Coded without B Picture[J]. IEEE International Conferenceon,2001(3):645-1648.
[3] Li H, Liu G, Zhang Z, et al. Adaptive Scene Detection Alorithm for VBR Video Stream[J]. IEEE Transaction on, 2004(6):624-633.
[4] Kim S, Byun J, Won C. A Scene Change Detection in H.264/AVC[J]. LNCS3786,2005:1072-1082.
[5] Pei S C, Chou Y Z. Efficient MPEG Compressed Video Analysis Using Macroblock Type Information[J]. IEEE Transactions on Multimedia,1999,1(4).
[6] Zhang J W, Kankanhalli A, Smoliar S. Automatic Partitioning of Full-Motion Video[J]. Multimedia System, 1995,1(1):10-28.
[7] Patel N V, Sethi I K. Compressed Video Processing for Cut Detection[J].IEE Proc Visual Image Signal Process,1996,143(5):315-323.
[8] Yeo B J, Liu B. Rapid Scene Analysis on Compressed Video[J].IEEE Trans Circuits and Systems for Video Technology,1995,5(6):533-544.
[9] Arif S, Ali M. Intelligent Technique for Scene Cut Detection from Mpeg Video[J]. IEEE Virtual Environments, Human-Computer Interfaces, and Measurement Systems.
[10] 畢厚杰.新一代視頻壓縮編碼標準——H.264/AVC[M].北京:人民郵電出版社,2005.