刘 菲 孟祥增
【摘要】Flash是一种重要的多媒体形式,在教学中应用十分广泛。通过分析Flash动画的内部结构,提取关键帧图象,采用区域颜色差加权综合算法进行关键帧聚类,生成基于场景的Flash动画摘要,实现Flash动画的快速浏览,有利于准确检索、更好地使用Flash教学资源。
【关键词】Flash;场景分割;关键帧;动画摘要;教育应用
【中图分类号】G40-057 【文献标识码】B 【论文编号】1009—8097(2009)05—0111—04
引言
Flash集文本、图形、图象、声音等多种媒体元素于一体,通过内部特征表达丰富的语义,是一个基于矢量的交互性影片格式,动画摘要是实现基于表达语义的Flash检索技术的有效工具。随着网络远程教育及多媒体教学的发展,Flash成为多媒体教学资源的一种重要形式,如何建立Flash内部特征索引、实现基于挖掘和理解影片语义信息的Flash自动检索模型成为多媒体检索领域研究的新课题[1]。本文提出的Flash动画摘要利用关键帧来表达内容特征,基于关键帧的颜色特征完成视觉场景分割,形成可循环播放的GIF动画,高度概括原始动画的主要内容,为Flash动画检索和内容管理服务。
一 Flash动画结构分析及形成原理
1 结构分析
一般来说,Flash动画有FLA和SWF两类,FLA文件是Flash动画的源文件,SWF文件是嵌入到网页中并直接播放的Flash影片压缩格式,我们研究的是SWF文件。SWF文件有着和XML文件相似的内部结构,是二进制编码XML文件,使用一系列二进制标签来定义文件中的各种对象及其属性[2]。
SWF文件由文件头、文件主体、文件结束标记三部分组成,文件主体由按顺序排列的定义型标签和控制型标签组成,存储结构如图1。
文件头定义了动画的基本信息,包括是否经过压缩、文件版本、文件大小、舞台大小、帧率和帧数。一般以“FSW”或“CSW”开始,这个标记用来标识文件是Flash动画,“FSW”表征没有经过压缩的SWF文件,“CSW”表明该SWF文件从第9个字节开始使用ZLIB无损压缩算法进行了压缩[3]。对于压缩SWF文件,必须先解压缩才能进行内容分析和特征提取。文件版本用一个字节标识,如果版本是4,则字段的值为0x04。
文件主体由一系列用来定义各种媒体对象的标签组成,按功能分为定义型标签(Definition tag)和控制型标签(Control tag)。定义型标签用来定义SWF文件的对象及其属性,对象包括文本、图形、图像、声音、视频。定义型标签在定义每一个对象时,都会为对象分配唯一的ID标识;控制型标签通过ID标识找到特定对象并控制对象的显示、属性的改变、整个动画的播放流程等。
2 形成原理
Flash动画是一种基于关键帧的动画,通过在两个关键帧之间使用一定的插补算法插入一些中间帧形成,由定义型标签和控制型标签实现各种复杂的动画效果。首先由定义型标签定义不同的媒体对象,为每个对象分配唯一的ID,Flash播放器在对SWF文件进行解析时,将各种媒体对象放到一个称为“Dictionary”的库中;控制型标签根据对象的ID在对象库中搜索,找到对象并施加特定的动作,比如显示、旋转或者缩放[4]。定义型标签、对象库和控制型标签是SWF文件实现丰富的动态视觉效果必不可少的组成部分。它们三者的关系如图2。
PlaceObject标签用来在当前播放列表中添加一个新对象或改变已有对象的属性,ShowFrame标签用来将播放列表中的对象显示到舞台上,并停留一帧所应持续的时间。每个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动画摘要以场景作为基本粒度单位,持续时间不能低于3.5秒,这样能比较全面地反映动画的内容,并且有效地减少冗余信息。场景指在时间轴线上相邻、视觉效果相似的一段连续帧序列,并且可以用一个或多个代表帧来概括其含义,它们在内容上包含相似的对象或类似的背景,两个场景的视觉特征对比较大,因此,我们又称为视觉场景。通过基于视觉特征的关键帧聚类,实现视觉场景分割,形成表达Flash动画主要内容的动画摘要。
关键帧图像聚类采用不均匀分块方法将关键帧图像按照3:4:3的比例分割,使用区域颜色差的加权综合,将场景画面划分为9份,9个区域的颜色差权重和大小如图3。这种不均匀分块方法能够较好地体现动画中主要内容的变化,避免了屏幕上下部分黑色块或字幕的干扰。计算两幅关键帧图象的颜色直方图距离,使用全局单一阈值法判断场景的边界,经过多次实验,选择帧差阈值47。判断场景边界时,把阈值与所有相邻关键帧直方图的差值做比较,如果直方图的差值大于设定的阈值,则认为两个关键帧属于不同的场景,这两个关键帧图象就是场景的边界;如果直方图的差值小于设定的阈值,则认为两个关键帧图象属于同一个场景,继续向后比较其它的差值,直到场景边界。到达场景边界后,再根据场景中关键帧的数量和持续时间来确定该场景代表帧的位置和数目[7]。
四 实验结果分析
实验中,我们从建立的Flash动画库选取卡通动画、mtv、游戏各30个,每类小于2MB的15个,大于2MB的15个,最大的文件9.20MB,最小的文件167KB。首先对每个Flash动画进行视觉场景的人工标注,利用snagit截取场景画面,虽然人工标注存在主观性,但由于人类视觉感受的相似性,经过多次实验,人工标注的场景数差别不超过5。利用查准率和查全率两个指标来评估场景分割的实验效果,计算每一个样本Flash动画场景分割的查准率和查全率,再对每一类Flash动画求平均查准率和查全率。表2是实验中样本Flash分析表的样例,我们对每个Flash进行人工标注场景,同时利用程序分割场景。表3是卡通动画类和mtv类的实验结果,game类的实验结果不理想,必须分析action脚本,才能提取出游戏的场景画面,这是我们下一步需要解决的问题。
查准率=正确分割场景数/分割的总场景数
查全率=正确分割场景数/人工标注场景数
cartoon类和mtv类,生成的动画摘要能够良好地反映Flash的内容信息,实现通过缩略图快速浏览Flash动画的目的。其中,影响查全率的因素在于关键帧的判断,我们判断的是主场景中时间轴上的关键帧,sprite即movie clip中的关键帧没有提取出来,查全率达不到70%;影响查准率的因素在于关键帧聚类,卡通动画类和mtv类渐变动画比较多,基于动画摘要简洁表达Flash内容的原则,我们取渐变动画的开始帧和结束帧,中间的渐变效果忽略,因此关键帧聚类算法对渐变动画场景的提取出现冗余信息,查准率达到75%以上。
五 Flash动画摘要的教育应用
1 动画摘要以GIF格式展现Flash的主要内容,实现了快速浏览,促进了师生与数字环境及媒体的相互作用。无论课件点播系统、网络教学系统、开放教学平台还是精品课程,越来越多地教学资源选择Flash作为多媒体承载工具,面对网络上大量的Flash教学资源,如何判断其内容是否满足学习者的需要是一项艰难的工作,动画摘要正是浏览Flash内容最有效的工具。
2 动画摘要为基于挖掘和理解影片内容的完全自动化Flash检索技术带来了新的发展。Flash具有文件小、兼容性好、包含丰富语义、强大交互能力等特征,不论搜索Flash游戏的少年、音乐mv的爱好者还是动画的开发者,通过动画摘要显示检索结果都是理想的选择。[6]通常检索系统返回的是大量的动画文件,不仅耗费系统及网络资源,也不便于学习资源的内容管理。GIF是专门为网络交换而设计的一种图像格式,语义表达能力强,有助于大量Flash教学资源的内容理解和快速获取;利用Flash动画摘要实现实例检索,在教学中有效检索和利用数字资源。
3 动画摘要促进了远程教学系统和网络课程的发展。在远程教育系统中,教学过程存在带宽和费用的矛盾,Flash多媒体的存在解决了信息传递的速度问题。动画摘要通过可视化查询接口,对不同类型的信息分别进行高效编码和描述,建立适于瞬息万变的数字时代教学活动的远程教育系统。数字时代的教学工作需要技术与知识的相互作用,突出强调和鼓励学生的创新、参与和使用数字环境及媒体进行交流、学习、合作、创造的能力,Flash动画摘要推动了师生与数字环境及媒体的交互。
六 小结
为了提高动画摘要的查准率和查全率,必须进一步提取Flash动画的图形、视频、音频等媒体对象,分析对象的动态特征和交互特征,综合场景复杂度、动画节奏等高层语义信息分割场景,生成准确全面的反映Flash丰富语义的动画摘要,为教育资源的获取和管理服务,有效实现Flash的教育价值。同时积极开展Flash特征提取与内容管理的研究,探索Flash动画检索在教学领域的应用,推动教育信息化和教师专业化发展,适应基础教育课程改革的要求,为师生提供丰富精炼的信息与资源,主动、积极完成知识建构。
参考文献
[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.