发明内容
本发明的目的就是为了解决上述问题,提供一种基于内容结构特征的网络Flash搜索系统及搜索方法。
为了实现上述目的,本发明采用如下技术方案:
基于内容结构特征的网络Flash搜索系统,该系统由四个模块组成,分别是Flash资源搜索模块、网页分析与Flash资源下载模块、Flash内容结构分析模块及Flash检索模块;其中:Flash资源搜索模块利用本系统中开发的主题搜索器抓取网站中的Flash链接,把包含Flash动画的网页链接保存到Flash网页数据库中;网页分析与Flash资源下载模块通过分析网页代码提取与Flash相关的文本并下载网页链接中的Flash动画,建立Flash动画数据库;应用Flash动画内容结构分析模块实现Flash动画的场景分割与特征提取及Flash动画组成元素的特征提取,并把提取的内容特征添加到相应的Flash动画内容索引数据库中;利用Flash动画的检索模块完成基于内容的Flash动画的检索。
基于内容结构特征的网络Flash搜索系统的搜索方法,该方法的实现步骤如下:
步骤1):Flash资源搜索:利用主题搜索器抓取网站Flash链接,保存包含Flash动画的网页链接;
步骤2):网页分析与Flash资源下载:通过分析网页代码提取Flash相关文本并下载各类Flash动画,建立Flash动画数据库;
步骤3):Flash动画的内容结构分析:应用Flash动画内容特征分析与提取平台实现Flash动画的场景结构分析和特征提取,并建立Flash动画内容索引库;
步骤4):基于内容的Flash检索:利用Flash动画检索系统完成基于内容的Flash动画检索。
所述步骤1)中,Flash资源搜索的步骤如下:
步骤a:首先主题搜索器负责从互联网上抓取网页;
步骤b:其次主题搜索器通过HTML解析器获取即将爬行页面的文本信息,并将其和网页链接存入站内链接数据库中;对即将爬行的页面和查询主题的相关度进行网页内容相似度计算;
步骤c:同时HTML解析器提取出网页的URL,然后判断此网页是否包含Flash,如果包含则进行URL规则训练,将其用于链接相似度计算,经过内容和链接相似度计算后的网页链接与站内链接数据库中的网页链接进行网页链接加权,从而确定下一步要搜索的网页,经过URL链接过滤确定主题搜索器的爬行方向;如果不包含Flash,则直接将提取的网页链接存入站内链接数据库中,等待网页链接加权对其进行权值的分配;
步骤d:最终搜索得到的Flash网页链接存入Flash网页数据库中,同时也要将其存入站内链接数据库中用于指示主题搜索器下一步搜索的方向。
所述步骤2)中,网页分析与Flash资源下载的步骤如下:首先对网页数据库中的网页代码进行预处理与分析;然后对Flash资源区域定位,从Flash资源中提取相关文本;其次对提取的文本进行拼音及英文翻译转换、中文分词和关键词过滤提取的操作,从而提取出用于描述、标引Flash动画的信息,最终形成描述网页中Flash动画的信息库。
所述步骤3)中,Flash动画内容特征包括四个层次,分别是第一次层次Flash总体,第二层次是逻辑场景,第三层次是视觉场景,第四层次是组成元素。
所述步骤3)中,Flash动画的场景结构分析和特征提取包括:
(1)Flash动画逻辑场景的分割及特征提取;
(2)视觉场景的分割及特征提取;
(3)Flash动画的文本特征提取;
(4)Flash动画的形状特征提取;
(5)Flash动画的图像特征提取;
(6)Flash动画的视频特征提取;
(7)Flash动画的声音特征提取;
(8)Flash动画中按钮的特征提取。
所述步骤4)中,基于内容特征的Flash检索的步骤如下:将四十五个最能描述Flash内容的特征确定为索引项,然后把这四十五个索引项描述为十六个模块,这十六个模块又分为外部特征或者叫做总体特征和内部特征,其中外部特征在界面设计中表示为基本检索项,共有六个基本检索项,将这六个项目分为六个模块,其他项目按照内部特征的提取方式和结构分析分为十二个模块;采用布尔检索和模糊检索相结合的综合检索策略,对Flash动画的标题、类型和文件大小用布尔型检索方式,对内容的描述文本和视觉特征参数采用模糊检索方式,完成基于内容特征的Flash检索
本发明的有益效果是本发明建立了Flash动画的内容结构特征描述模型;分析了Flash组成元素的特征,确定了Flash组成元素的特征描述方法;开发了一个基于Flash场景结构和组成元素特征的网络Flash搜索引擎系统,实现了对网络Flash信息资源的有效管理与利用,该系统可以广泛的应用于不良信息过滤、广告产品、动漫娱乐、教育教学等领域。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
一、Flash的内容结构特征描述模型
Flash的内容结构复杂,组成元素多样,逻辑场景、视觉场景、组成元素、交互控制之间有比较复杂的时空、链接和语义关系。语义网能够比较好地描述Flash的内容结构非线性关系,但Flash的组成元素往往很多,时空关系过于复杂,不利于后面的数据结构组织。根据Flash的播放视觉效果、制作时间轴线、SWF文件的数据结构和基于内容的数据管理与检索的有效性考虑,本发明采用四层Flash内容结构描述,即全局描述、逻辑场景描述、视觉场景描述和组成元素描述。四层间还有脚本、交互、链接等确定的时空和语义关系,如图1所示。
考虑人们对Flash动画的内容可能感兴趣的特征和对Flash电影管理、检索的需要,根据上述的四层内容结构描述模型,提取并索引的主要内容特征如表1所示。
表1Flash动画的内容特征
二、本系统首先利用网络爬行器抓取网站Flash链接,保存包含Flash动画的网页链接,然后通过分析网页代码提取Flash相关文本并下载各类Flash动画,建立Flash动画数据库,最后应用Flash动画内容特征分析与提取平台实现Flash动画的场景结构分析和特征提取,并建立Flash动画内容索引库,利用Flash动画检索系统完成基于内容的Flash动画检索。基于内容结构特征的网络Flash搜索引擎系统模块构成图如图2所示。
(一)Flash资源搜索
对于Flash搜索引擎来讲,网络搜索器是其核心组成部分。本系统采用主题式搜索引擎的方式,以查询和检索Flash动画的信息资源为目的,通过智能化的搜索方式提取到Internet上有关Flash主题的信息。在主题搜索引擎中,搜索器按照管理员预先设定的主题去采集网上的相关信息,可以减少被采集的信息数量,这样就能够提高数据库中的信息质量。
本系统设计的搜索器分为在线训练和离线训练两部分,其中在线训练主要负责网页信息提取和待爬行队列中URL的选择,离线训练主要负责URL规则训练和网页相关度的计算。主题搜索器的工作流程如图3所示。
主题搜索器在主题搜索的过程中,首先从一个初始的超链接集合出发,将这些超链接全部放入到一个有序的待提取超链接队列里,然后在从这个队列里按顺序取出,通过Web上的协议,获取超链接URL所指向的页面,再从这些已获取的页面中分析提取出新URL,并将它们继续放入到待提取URL队列里,然后重复上述过程,直到Web信息提取器根据自己的搜索策略停止采集为止,可以看出,超链接是主题搜索器中最为关键的信息。
主题搜索器负责从互联网上抓取网页,提取网页的两部分信息:(1)获取网页内容,以此来确定此网页与查询Flash动画的相关度;(2)提取网页链接,确定主题搜索器的即将爬行页面。通过HTML解析器获取此网页的文本信息,并将其和网页链接存入站内链接数据库中。网页内容相似度计算用于判断此网页和查询主题的相关度;HTML解析器同时提取出网页的URL,然后判断此网页是否包含Flash,如果包含则进行URL规则训练,将其用于链接相似度计算,经过内容和链接相似度计算后的网页链接与站内链接数据库中的网页链接进行网页链接加权,从而确定下一步要搜索的网页,经过URL链接过滤确定主题搜索器的爬行方向;如果不包含Flash,则直接将提取的网页链接存入站内链接数据库中,等待网页链接加权对其进行权值的分配。最终搜索得到的Flash网页链接存入Flash网页数据库中,同时也要将其存入站内链接数据库中用于指示主题搜索器下一步搜索的方向。
该系统模块采用Java程序设计语言在WinXP操作系统下实现网络Flash搜索器的设计,利用三层过滤即网页内容过滤、链接内容过滤、链接类型过滤和四层存储即目标页面存储、中间链接存储、临时页面存储、更新存储的体系结构,在爬行过程中采用多线程技术。Flash种子搜索原则一般选择网站规模大、所包含Flash数据多、爬行速度快、网页结构合理、搜索效率高的网站作为网络爬行器的种子。
(二)网页分析与Flash资源下载
需要对网页数据库中的网页进行预处理与结构分析、多媒体资源区域定位,从Flash动画所在的网页中提取Flash的相关文本,利用自然语言处理技术,对提取的大块文本进行拼音及英文翻译转换、中文分词、关键词过滤提取等操作,从而提取出用于描述、标引Flash动画的信息,最终形成描述网页中Flash动画的信息库。
网页中Flash资源的URL是通过分析HTML代码获得的,通过分析<EMBED>标记SRC属性的属性值,来获得其地址。Flash资源的路径可以分为相对路径与绝对路径,从网页代码中分析得到的路径有可能是相对路径,这就需要把资源的相对路径转换成绝对路径。
该系统模块采用Visual C++6.0为开发平台,Flash动画的网页相关文本提取流程图如图4。
(三)Flash动画的内容结构分析
1.Flash动画的场景分割及特征提取
(1)Flash动画逻辑场景的分割及特征提取
逻辑场景是Flash动画中逻辑上相对独立且能连续播放的一段帧序列。首先要对逻辑场景进行分割,逻辑场景的分割方法是首先判断关键帧,通过分析SWF文件的动作标签,获得逻辑场景的动作记录,并根据节点的位置和帧号获得逻辑场景的数目(逻辑场景的节点位置即包含了脚本动作的关键帧的位置),保存节点位置的图像,完成逻辑场景的分割。
逻辑场景的特征是基于内容的Flash检索的重要组成部分,本系统中提取了表2中的逻辑场景的特征描述参数。
表2逻辑场景特征描述参数
其中,逻辑场景的标题取自逻辑场景特殊位置文本的关键词,多数时候出现在第一帧第一个文本块的上方或中间位置,字号一般大于其它文本,且字数少于32个;元素个数是通过分析该逻辑场景中的PlaceObject标签在对象的帧上添加和移除组成元素的数目来计算;动态小果树是通过分析该逻辑场景中包含的具有动态效果的组成元素的总数,动态效果指该对象是否使用了形变、影片剪辑、蒙版等效果;画面复杂度是利用逻辑场景最后一帧画面的颜色数目和边线分布情况来得到,可分为一般、简单和复杂画面。
(2)视觉场景的分割及特征提取
在Flash动画中,同一个逻辑场景的视觉特征有时会变化很大,类似于视频中的镜头突变切换;有时又可能拥有相同的对象和背景,这样逻辑场景的结构特征就不能表现Flash动画的视觉特征,基于此,我们提出视觉场景的概念。视觉场景指Flash动画中制作时间线上视觉特征相似的一段相邻帧序列。
提取完Flash动画的关键帧并利用截屏的方法提取并保存关键帧图像后,对Flash动画的关键帧图像进行颜色特征聚类,再利用全局单一阈值法判断其视觉场景的边界,实现视觉场景的分割。
按照用户的检索需求,我们提取了表3中的视觉场景的特征描述参数。
表3视觉场景特征描述参数
特征描述参数 |
含义 |
取值 |
元素个数 |
每个视觉场景包含的媒体对象个数 |
1-5个、6-10个、10个以上 |
动态效果数 |
每个视觉场景包含的动态效果数 |
1-5个、6-10个、10个以上 |
画面复杂性 |
视觉场景代表帧图像的画面复杂性 |
简单、一般、复杂 |
主色调 |
描述了每一个视觉场景的主色调 |
23种常见纯颜色颜色词 |
其中,视觉场景的元素个数是通过分析该视觉场景中的PlaceObject标签在对象的帧上添加和移除组成元素的数目来计算;动态效果数是通过分析该视觉场景中包含的具有动态效果的组成元素的总数,动态效果指该对象是否使用了形变、滤镜、影片剪辑、蒙版等效果;画面复杂性是指视觉场景代表帧图像的边缘分布情况和颜色数目,可分为一般、简单和复杂画面;主色调指采用颜色直方图极大值法提取的时间场景代表帧的3-5各主要颜色。
2.Flash动画主要组成元素的特征提取
Flash动画的基本组成元素是形状、图像、文本、视频、声音等。其中,形状是Flash动画中最基本的组成元素,它不但可以显示使用Flash软件绘制的矢量图形,还可以显示导入图像的外轮廓,文本也可以转化成字体形状,变形、按钮、蒙板等也以形状为基础。文本主要表达了Flash动画的主题内容;声音体现了Flash动画的音频信息;按钮、形变、动作等体现了Flash动画的动态效果及其交互性;Flash动画中最灵活、最生动的组成元素影片剪辑也是由这些基本元素组成的。形状、视频和图像等利用它们复杂多变的视觉效果共同表现了Flash动画的丰富多彩的独特的视觉特征。根据SWF文件格式说明书,通过解析图像、形状、按钮等的相应标签,提取用户感兴趣的Flash动画的视觉特征,并把这些视觉特征写入内容特征索引数据库。
(1)Flash动画的文本特征提取
Flash动画的文本信息一般包括Flash动画的标题、创作人员名单、创作时间、角色对白等内容,它对Flash动画的内容有很强的描述作用。因此,Flash动画的文本信息对获取Flash动画的主要内容具有非常重要的价值。在Flash动画中有三种类型的文本形式:静态文本、动态文本和输入文本。静态文本(Static Text)主要用来显示Flash动画播放时不需要更改的信息;动态文本(Dynamic Text)是指Flash动画播放时,可以动态显示信息的文本,而不是指正在移动或者旋转的具有动态效果的文本;输入文本(Input Text)主要用来接收用户输入的文本信息。文本特征的具体描述参数及含义如表4所示。
表4文本特征描述参数
在分析Flash动画中文本的种类及存储方式的基础上,再根据不同的文本类型对Flash动画中不同的文本标签进行分析,提取出Flash动画中的文本,利用自然语言处理中的分词和词性标注技术,把文本转化成关键词序列,再通过词频统计的方法将动画中权重较大的前25个关键词存储到数据库中。
(2)Flash动画的形状特征提取
Flash动画文件通常包含丰富的形状元素,有矢量格式和位图格式两类。根据SWF动画文件版本不同,Flash动画中的形状元素分别由DefineShape、DefineShape2、DefineShape3、DefineShape4标签定义并存储。
Flash动画的形状特征包括类型、填充样式、线条样式、位置、大小、动态效果等,还有位图填充时相应图像元素的特征属性,具体描述参数及含义如表5所示。
表5形状特征描述参数
Flash动画的形状特征提取方法是:
首先,解析SWF文件格式中形状的定义标签,包括DefineShape、DefineShape2、DefineShape3、DefineShape4,提取存储在SHAPEWITHSTYLE结构体中的形状属性和边缘。形状类型通过保存构成形状的记录数定义,根据SWF动画文件格式说明书,每条直线或曲线需要一个形状记录,正方形或矩形需要四个直线形状记录,圆形需要八个曲线形状记录,组合形状及不规则形状统称为复杂形状。形状的颜色、位置、大小通过分析DefineShape等形状定义标签提取,位图填充的形状不记录颜色值。形状大小以形状的最小外接矩形表示,以舞台大小的30%和60%为标准,形状长和宽都小于舞台长和宽的30%时为小,都大于舞台长和宽的60%时为大,长或宽介于30%-60%时为中。由于提取的形状位置是左上角的坐标点,需要转换到形状最小外接矩形中心点,再将舞台的长和宽分别按2∶6∶2的比例分割,计算形状相对舞台的位置,用左、中、右、上、下描述。变色指填充样式的改变,通过提取FILLSTYLE判断形状是否发生颜色改变。
其次,还需结合将形状放置到舞台上的控制型标签PlaceObject、PlaceObject2、PlaceObject3和从舞台上移除形状的RemoveObject、RemoveObject2,提取形状的动态效果和显示帧号。PlaceObject等标签中都有一个变换矩阵,保存了形状的运动、旋转、缩放、变形等属性;帧号是形状在舞台上显示播放的帧号,由ShowFrame标签标记。
(3)Flash动画的图像特征提取
Flash动画支持bmp、jpg、gif、png等多种图像格式,为了减小动画文件的大小,Flash动画的图像对象通常压缩存储,包括JPEG提供的有损压缩和ZLIB提供的无损压缩两种压缩算法。
根据Flash动画中图像的定义和存储,通过分析图像的定义标签,可以提取不同压缩格式的图像的内容数据,依据不同的编码格式,将提取的图像数据信息重新编码,完成Flash动画中图像元素的提取。
系统中,Flash动画中图像特征描述参数及含义如表6所示。
表6图像特征描述参数
特征描述参数 |
含义 |
取值 |
位置(position) |
图像在舞台上的位置 |
上、下、左、右、中 |
大小(size) |
图像相对舞台的大小 |
大、中、小 |
运动(movement) |
是否有位置移动 |
是,否 |
旋转(rotation) |
是否有旋转效果 |
是、否 |
缩放(scale) |
填充图形时是否被缩小/放大 |
是、否 |
变形(transform) |
是否发生变形 |
是、否 |
帧号(frameid) |
图像显示在舞台上的帧号 |
显示起始帧-显示结束帧 |
(4)Flash动画的视频特征提取
Flash动画具有强大的视频功能,支持.wmv、.mov、.avi、.mpg等视频格式文件的导入和处理,视频文件的大小和持续时间没有限制,生成SWF文件时视频的帧频可以不同于SWF文件的帧频。与形状、图像媒体元素类似,Flash动画中的视频特征包括位置、大小、动态效果等,视频特征的描述参数如表7所示。通过解析DefineVideoStream标签提取视频元素的位置、大小、视频流的帧数、编解码方式,位置、大小的取值与形状的定义方式相同;分析PlaceObject、PlaceObject2、PlaceObject3和RemoveObject、RemoveObject2提取视频的运动、旋转、缩放、变形效果。
表7视频特征描述参数
特征描述参数 |
含义 |
取值 |
位置(position) |
视频对象在舞台上的位置 |
上、下、左、右、中 |
大小(size) |
视频对象相对舞台的大小 |
大、中、小 |
运动(movement) |
是否有位置移动 |
是,否 |
旋转(rotation) |
是否有旋转效果 |
是、否 |
缩放(scale) |
是否被缩小/放大 |
是、否 |
变形(transform) |
是否发生变形 |
是、否 |
帧号(frameid) |
视频对象显示在舞台上的帧号 |
显示起始帧-显示结束帧 |
(5)Flash动画的声音特征提取
制作Flash动画时,通常将从外部导入处理好的声音文件用于背景音乐、解说词或按钮音效等。背景音乐、解说词等通常为质量比较高、时间比较长的流式音频文件;按钮音效可以使用质量差一点、播放时间较短的事件音频文件。表8所示为Flash动画中声音特征描述参数及含义。
表8声音特征描述参数
特征描述参数 |
含义 |
取值 |
类型(type) |
声音在Flash中的类型 |
事件声音、流式声音 |
长度(length) |
声音的长度 |
特短、短、中、长、特长 |
采样率(sampling rate) |
每秒钟对声音信号的采样次数 |
5.5kHz、11kHz、22kHz、44kHz |
位分辨率(bit resolution) |
用来描述声音的位数 |
8位、16位 |
声道(channel) |
声音的声道数 |
单声道、双声道 |
帧号(frameid) |
声音对象播放的帧号 |
播放起始帧-播放结束帧 |
Flash动画中声音分为事件音频与流式音频两种。对Flash动画进行解析过程中,可以通过分析Flash动画中定义播放事件音频的DefineSound标签、StartSound标签、StartSound2标签分析事件音频的特征属性;可以通过分析SoundStreamHead标签、SoundStreamHead2标签等分析流式音频的特征属性。
(6)Flash动画中按钮的特征提取
按钮在基于内容的Flash检索系统中起着举足轻重的作用。根据用户的检索需求,通过分析DefinButton、DefinButton2和Placeobject标签,提取了如表9所示的按钮的特征。
表9按钮特征描述参数
Flash动画中按钮的位置、大小等特征可通过分析按钮的定义标签来获得,功能、形状等可通过分析控制型标签PlaceObject、PlaceObject2、PlaceObject3标签来提取。根据SWF3文件为FlashPlayer提供的11类动作,通过分析按钮标签的动作标识来区分按钮的功能。
(四)基于内容的Flash检索
本系统采用模块化程序设计的思想来设计检索算法,首先,分析了Flash的内容特征,将四十五个最能描述Flash内容的特征确定为索引项,然后把这四十五个索引项描述为十六个模块,这十六个模块又分为外部特征(或者叫做总体特征)和内部特征,其中外部特征在界面设计中表示为基本检索项,共有六个基本检索项,将这六个项目分为六个模块,其他项目按照内部特征的提取方式和结构分析分为十二个模块。检索系统采用了简单的布尔检索和复杂的模糊检索相结合的综合检索策略。对Flash动画的标题、类型、文件大小等用布尔型检索方式,对内容的描述文本、视觉特征参数等采用模糊检索方式。
检索界面中包括基本检索和高级检索两部分,基本检索以Flash动画的文件名、Flash动画的文本关键词、类别、交互性、逻辑场景和视觉场景数为检索条件,高级检索以Flash动画的逻辑场景、视觉场景、文本、图形、图像、声音、视频、影片剪辑、按钮、蒙板为检索条件。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
参考文献:
[1]Jun Yang,Qing Li,Liu Wenyin,Yueting Zhuang,Content-basedRetrieval of Flash Movies:Research Issues,Generic Framework,and Future Directions,Multimedia Tools and Application,Kluwer Academic,2006.
[2]Dawei Ding,Jun Yang,Qing Li,Wenyin Liu,Liping Wang,What Can Expressive SemanticsTell:RetrievalModel for a Flash-Movie Search Engine,in Conf. on Image and Video Retrieval(CIVR),Singapore,2005.