劉 菲 孟祥增
【摘要】Flash是一種重要的多媒體形式,在教學中應用十分廣泛。通過分析Flash動畫的內部結構,提取關鍵幀圖象,采用區(qū)域顏色差加權綜合算法進行關鍵幀聚類,生成基于場景的Flash動畫摘要,實現(xiàn)Flash動畫的快速瀏覽,有利于準確檢索、更好地使用Flash教學資源。
【關鍵詞】Flash;場景分割;關鍵幀;動畫摘要;教育應用
【中圖分類號】G40-057 【文獻標識碼】B 【論文編號】1009—8097(2009)05—0111—04
引言
Flash集文本、圖形、圖象、聲音等多種媒體元素于一體,通過內部特征表達豐富的語義,是一個基于矢量的交互性影片格式,動畫摘要是實現(xiàn)基于表達語義的Flash檢索技術的有效工具。隨著網(wǎng)絡遠程教育及多媒體教學的發(fā)展,F(xiàn)lash成為多媒體教學資源的一種重要形式,如何建立Flash內部特征索引、實現(xiàn)基于挖掘和理解影片語義信息的Flash自動檢索模型成為多媒體檢索領域研究的新課題[1]。本文提出的Flash動畫摘要利用關鍵幀來表達內容特征,基于關鍵幀的顏色特征完成視覺場景分割,形成可循環(huán)播放的GIF動畫,高度概括原始動畫的主要內容,為Flash動畫檢索和內容管理服務。
一 Flash動畫結構分析及形成原理
1 結構分析
一般來說,F(xiàn)lash動畫有FLA和SWF兩類,F(xiàn)LA文件是Flash動畫的源文件,SWF文件是嵌入到網(wǎng)頁中并直接播放的Flash影片壓縮格式,我們研究的是SWF文件。SWF文件有著和XML文件相似的內部結構,是二進制編碼XML文件,使用一系列二進制標簽來定義文件中的各種對象及其屬性[2]。
SWF文件由文件頭、文件主體、文件結束標記三部分組成,文件主體由按順序排列的定義型標簽和控制型標簽組成,存儲結構如圖1。
文件頭定義了動畫的基本信息,包括是否經(jīng)過壓縮、文件版本、文件大小、舞臺大小、幀率和幀數(shù)。一般以“FSW”或“CSW”開始,這個標記用來標識文件是Flash動畫,“FSW”表征沒有經(jīng)過壓縮的SWF文件,“CSW”表明該SWF文件從第9個字節(jié)開始使用ZLIB無損壓縮算法進行了壓縮[3]。對于壓縮SWF文件,必須先解壓縮才能進行內容分析和特征提取。文件版本用一個字節(jié)標識,如果版本是4,則字段的值為0x04。
文件主體由一系列用來定義各種媒體對象的標簽組成,按功能分為定義型標簽(Definition tag)和控制型標簽(Control tag)。定義型標簽用來定義SWF文件的對象及其屬性,對象包括文本、圖形、圖像、聲音、視頻。定義型標簽在定義每一個對象時,都會為對象分配唯一的ID標識;控制型標簽通過ID標識找到特定對象并控制對象的顯示、屬性的改變、整個動畫的播放流程等。
2 形成原理
Flash動畫是一種基于關鍵幀的動畫,通過在兩個關鍵幀之間使用一定的插補算法插入一些中間幀形成,由定義型標簽和控制型標簽實現(xiàn)各種復雜的動畫效果。首先由定義型標簽定義不同的媒體對象,為每個對象分配唯一的ID,F(xiàn)lash播放器在對SWF文件進行解析時,將各種媒體對象放到一個稱為“Dictionary”的庫中;控制型標簽根據(jù)對象的ID在對象庫中搜索,找到對象并施加特定的動作,比如顯示、旋轉或者縮放[4]。定義型標簽、對象庫和控制型標簽是SWF文件實現(xiàn)豐富的動態(tài)視覺效果必不可少的組成部分。它們三者的關系如圖2。
PlaceObject標簽用來在當前播放列表中添加一個新對象或改變已有對象的屬性,ShowFrame標簽用來將播放列表中的對象顯示到舞臺上,并停留一幀所應持續(xù)的時間。每個ShowFrame標簽都代表動畫中的一幀,通過分析Flash動畫的內部結構,就能提取其中的對象和相關屬性。
二 Flash動畫關鍵幀的提取
Flash動畫中的關鍵幀指定義了動畫中對象屬性的變化、分配了動作、在舞臺上添加對象、移除對象、形變動畫等的幀。含有動作的幀指添加了Action Script腳本的幀,使用DoAction標簽定義;使用PlaceObject標簽在舞臺上添加一個對象,使用RemoveObject標簽或者RemoveObject2標簽移除一個對象,使用DefineMorph標簽定義形變動畫。因此,通過判斷某幀所包括的所有標簽中是否含有DoAction、PlaceObject、RemoveObject、RemoveObject2或DefineMorph標簽就可以提取關鍵幀,包含任意一個就是關鍵幀。
改變對象屬性的關鍵幀判斷要復雜一些,一般使用PlaceObject2和PlaceObject3標簽。PlaceObject2標簽中有兩個標志位PlaceFlagMove和PlaceFlagHasCharacter,用來標識PlaceObject2標簽是添加一個對象還是修改已有對象的屬性[5]。添加對象和替換對象操作所在的幀肯定是關鍵幀,而改變動畫的屬性操作所在的幀卻不一定是關鍵幀,即Flash動畫中的形變動畫,漸變動畫在Flash動畫中按照表1所示的方式存儲。
表1所示動畫包含三幀內容,每一幀都使用了PlaceObject2標簽來修改對象的一個或多個屬性,但是只有第一幀和第三幀是關鍵幀,中間幀的標簽雖然也是Place Object2和Show Frame,卻是由Flash動畫自動生成的普通幀。因此,在提取Flash動畫關鍵幀時,當在某幀中遇到PlaceObject2標簽或PlaceObject3標簽時,首先判斷它們是不是要改變對象的屬性。如果不是,則該幀為關鍵幀;如果是,則判斷是否為形變動畫,如果不是,則該幀為關鍵幀,如果是形變動畫,則只有形變動畫的起始幀和結束幀為關鍵幀。
綜上所述,通過對播放列表標簽的檢測和分析就可以獲得關鍵幀的索引,然后利用Flash Player ActiveX控件提供的跳轉到某一幀暫停并顯示的功能,截屏獲取關鍵幀圖像,這種截屏的方法比內容分析法簡單、高效[6]。
三 基于場景的Flash動畫摘要
我們提出的Flash動畫摘要以場景作為基本粒度單位,持續(xù)時間不能低于3.5秒,這樣能比較全面地反映動畫的內容,并且有效地減少冗余信息。場景指在時間軸線上相鄰、視覺效果相似的一段連續(xù)幀序列,并且可以用一個或多個代表幀來概括其含義,它們在內容上包含相似的對象或類似的背景,兩個場景的視覺特征對比較大,因此,我們又稱為視覺場景。通過基于視覺特征的關鍵幀聚類,實現(xiàn)視覺場景分割,形成表達Flash動畫主要內容的動畫摘要。
關鍵幀圖像聚類采用不均勻分塊方法將關鍵幀圖像按照3:4:3的比例分割,使用區(qū)域顏色差的加權綜合,將場景畫面劃分為9份,9個區(qū)域的顏色差權重和大小如圖3。這種不均勻分塊方法能夠較好地體現(xiàn)動畫中主要內容的變化,避免了屏幕上下部分黑色塊或字幕的干擾。計算兩幅關鍵幀圖象的顏色直方圖距離,使用全局單一閾值法判斷場景的邊界,經(jīng)過多次實驗,選擇幀差閾值47。判斷場景邊界時,把閾值與所有相鄰關鍵幀直方圖的差值做比較,如果直方圖的差值大于設定的閾值,則認為兩個關鍵幀屬于不同的場景,這兩個關鍵幀圖象就是場景的邊界;如果直方圖的差值小于設定的閾值,則認為兩個關鍵幀圖象屬于同一個場景,繼續(xù)向后比較其它的差值,直到場景邊界。到達場景邊界后,再根據(jù)場景中關鍵幀的數(shù)量和持續(xù)時間來確定該場景代表幀的位置和數(shù)目[7]。
四 實驗結果分析
實驗中,我們從建立的Flash動畫庫選取卡通動畫、mtv、游戲各30個,每類小于2MB的15個,大于2MB的15個,最大的文件9.20MB,最小的文件167KB。首先對每個Flash動畫進行視覺場景的人工標注,利用snagit截取場景畫面,雖然人工標注存在主觀性,但由于人類視覺感受的相似性,經(jīng)過多次實驗,人工標注的場景數(shù)差別不超過5。利用查準率和查全率兩個指標來評估場景分割的實驗效果,計算每一個樣本Flash動畫場景分割的查準率和查全率,再對每一類Flash動畫求平均查準率和查全率。表2是實驗中樣本Flash分析表的樣例,我們對每個Flash進行人工標注場景,同時利用程序分割場景。表3是卡通動畫類和mtv類的實驗結果,game類的實驗結果不理想,必須分析action腳本,才能提取出游戲的場景畫面,這是我們下一步需要解決的問題。
查準率=正確分割場景數(shù)/分割的總場景數(shù)
查全率=正確分割場景數(shù)/人工標注場景數(shù)
cartoon類和mtv類,生成的動畫摘要能夠良好地反映Flash的內容信息,實現(xiàn)通過縮略圖快速瀏覽Flash動畫的目的。其中,影響查全率的因素在于關鍵幀的判斷,我們判斷的是主場景中時間軸上的關鍵幀,sprite即movie clip中的關鍵幀沒有提取出來,查全率達不到70%;影響查準率的因素在于關鍵幀聚類,卡通動畫類和mtv類漸變動畫比較多,基于動畫摘要簡潔表達Flash內容的原則,我們取漸變動畫的開始幀和結束幀,中間的漸變效果忽略,因此關鍵幀聚類算法對漸變動畫場景的提取出現(xiàn)冗余信息,查準率達到75%以上。
五 Flash動畫摘要的教育應用
1 動畫摘要以GIF格式展現(xiàn)Flash的主要內容,實現(xiàn)了快速瀏覽,促進了師生與數(shù)字環(huán)境及媒體的相互作用。無論課件點播系統(tǒng)、網(wǎng)絡教學系統(tǒng)、開放教學平臺還是精品課程,越來越多地教學資源選擇Flash作為多媒體承載工具,面對網(wǎng)絡上大量的Flash教學資源,如何判斷其內容是否滿足學習者的需要是一項艱難的工作,動畫摘要正是瀏覽Flash內容最有效的工具。
2 動畫摘要為基于挖掘和理解影片內容的完全自動化Flash檢索技術帶來了新的發(fā)展。Flash具有文件小、兼容性好、包含豐富語義、強大交互能力等特征,不論搜索Flash游戲的少年、音樂mv的愛好者還是動畫的開發(fā)者,通過動畫摘要顯示檢索結果都是理想的選擇。[6]通常檢索系統(tǒng)返回的是大量的動畫文件,不僅耗費系統(tǒng)及網(wǎng)絡資源,也不便于學習資源的內容管理。GIF是專門為網(wǎng)絡交換而設計的一種圖像格式,語義表達能力強,有助于大量Flash教學資源的內容理解和快速獲??;利用Flash動畫摘要實現(xiàn)實例檢索,在教學中有效檢索和利用數(shù)字資源。
3 動畫摘要促進了遠程教學系統(tǒng)和網(wǎng)絡課程的發(fā)展。在遠程教育系統(tǒng)中,教學過程存在帶寬和費用的矛盾,F(xiàn)lash多媒體的存在解決了信息傳遞的速度問題。動畫摘要通過可視化查詢接口,對不同類型的信息分別進行高效編碼和描述,建立適于瞬息萬變的數(shù)字時代教學活動的遠程教育系統(tǒng)。數(shù)字時代的教學工作需要技術與知識的相互作用,突出強調和鼓勵學生的創(chuàng)新、參與和使用數(shù)字環(huán)境及媒體進行交流、學習、合作、創(chuàng)造的能力,F(xiàn)lash動畫摘要推動了師生與數(shù)字環(huán)境及媒體的交互。
六 小結
為了提高動畫摘要的查準率和查全率,必須進一步提取Flash動畫的圖形、視頻、音頻等媒體對象,分析對象的動態(tài)特征和交互特征,綜合場景復雜度、動畫節(jié)奏等高層語義信息分割場景,生成準確全面的反映Flash豐富語義的動畫摘要,為教育資源的獲取和管理服務,有效實現(xiàn)Flash的教育價值。同時積極開展Flash特征提取與內容管理的研究,探索Flash動畫檢索在教學領域的應用,推動教育信息化和教師專業(yè)化發(fā)展,適應基礎教育課程改革的要求,為師生提供豐富精煉的信息與資源,主動、積極完成知識建構。
參考文獻
[1] Yang Jun, Qing Li, Liu Wenyin, Yueting Zhuang . FLAME: A Generic Framework for Content-based Flash Retrieval[DB/OL]. ACM Multimedia 2002, December, 2002.
[2] Jun Yang, Qing Li, Liu Wenyin, Yueting Zhuang. Searching for Flash Movies on the Web: A Content and Context Based Framework[DB/OL].
[3] GIURL.GZIP,Zlib,PNG壓縮算法詳解[DB/OL].
[4] Adobe Corporation. Flash File Format Specification[DB/OL].
[5] Meng Xiang-zeng,Liu Lei. On Retrieval of Flash Animations based on Visual Features,Lecture Notes of Computer Science[J].2007.
[6] Jun Yang, Qing Li, Liu Wenyin, Yueting Zhuang. Content-Based Retrieval of Flash Movies: Research Issues, Generic Framework, and Futrue Directions[DB/OL].
[7] 彭強,李華.基于塊直方圖分析的視頻背景提取方法[J].西南交通大學學報. 2006,(1):48-56.