一种交互式教育资源预览生成方法及系统与流程

文档序号:18689861发布日期:2019-09-17 20:26阅读:163来源:国知局
一种交互式教育资源预览生成方法及系统与流程

本发明涉及在线教育技术领域,尤其涉及一种交互式教育资源预览生成方法及系统。



背景技术:

近几年来,随着数字化学习越来越受到欢迎,交互式教育资源制作工具得到快速发展,因此网络上出现了很多交互式教育资源。一些可交互的控件往往存在于交互式教育资源中,用户通过与这些控件交互可以了解到资源的动态内容,从而提升用户对于资源的理解程度。一般而言,网上提供的对交互式教育资源在线预览服务还较少。在这种情况下,用户先在本地客户端安装某种具体类型的交互式教育资源的浏览软件,然后通过搜索引擎去检索自己感兴趣的交互式教育资源,然后下载这些资源,通过资源的浏览软件打开资源,然后手动与资源进行交互,通过交互了解资源的主要内容,最后判断该资源是否对自己有帮助,如果没有帮助,再删除这些资源。从上面的过程可以看到,在缺乏针对交互式教育资源预览服务的情况下,存在用户手动与资源交互繁琐,用户检索和了解资源内容的过程耗时的问题。

现有技术中存在一种针对移动应用的预览图生成方法,主要是先获取资源包,然后通过预先设定的某种截图规则对应用界面进行截图,将截图发送给服务器作为该资源的预览效果。该方法虽然也较好地为移动应用提供了针对运行界面的预览,但是该方法并没有对资源的具体交互过程生成预览,同时当截图个数较多时,用户观看所有截图耗费的时间较长,该方法还只是停留在获取截图的资源信息获取阶段,并没有对资源中的重要部分信息提取和自动拼接在一张图片中来节省用户预览时间。

另有一种图片预览方法及装置,该方法主要的思想是通过根据给定目标图片的拍摄时间和图片轮廓信息,来寻找图片库中与其拍摄日期时间间隔小于设定值的方法或图片相似度大于给定阈值的图片作为候选图片,然后将候选图片作为新的目标图片不断重复上述过程来寻找到与目标图片有关联的图片集合制作成GIF等进行图片预览的方法。该方法的优点是通过拍摄时间等信息对图片进行关联并组合这些图片生成预览,不足的地方在于这种关联性带有不确定性,因此生成的预览不一定是正确的。

在现有技术中,通过针对移动应用设定截图生成规则来获取应用截图作为移动应用预览的方法,并没有对截图做相关的处理,当截图数量较多时,用户观看全部截图的时间较长,该预览节约用户时间较少。而根据图片拍摄时间和图片轮廓信息等为目标图片生成关联图片集合从而进行图片预览的方法,当这种关联性不明显或者不确定性时,生成的预览不一定是正确的。而且针对交互式教育资源本身所带有的交互特征,上述一些预览方法并没有生成具体的交互操作视频来为交互式教育资源提供视频预览,也缺少对于可交互区域和资源的动态内容等关键信息的图片预览。



技术实现要素:

本发明的目的在于克服现有技术的不足,本发明提供了一种交互式教育资源预览生成方法及系统,可以解决对交互式教育资源交互操作过程、可交互区域信息、资源动态内容等信息缺乏预览,用户手动与交互式教育资源交互繁琐,检索和理解资源内容耗时的问题。

为了解决上述问题,本发明提出了一种交互式教育资源预览生成方法,所述方法包括:

分析交互式教育资源,提取出资源中的可交互元素,生成事件集合,抽取出可交互元素之间的依赖关系;

根据事件集合和依赖关系生成操作序列;

通过操作序列对资源进行GUI遍历,将模拟用户与资源交互的过程进行保存,得到交互操作视频和截图集合;

对截图集合进行动画播放来为交互式教育资源提供细节信息的预览;

根据事件集合和截图集合中的第一张图片,对交互式教育资源中的可交互区域进行渲染;

对截图集合中的截图进行比对,对差异部分进行聚类来提取出交互式教育资源的动态内容,并将动态内容拼接到一张图片中。

优选地,所述分析交互式教育资源,提取出资源中的可交互元素,生成事件集合,抽取出可交互元素之间的依赖关系的步骤,包括:

分析交互式教育资源,生成资源文件信息,将交互式教育资源表示为IR=(P,E),其中,所述P表示交互式教育资源中的页面集合,所述E表示资源中页面之间的关系;

将页面集合P表示为P=(E,DR),其中,所述E表示页面中的元素集合,DR表示元素之间的依赖关系;

将元素之间的依赖关系DR表示为DR={<ei,ej>|ei∈E∧ej∈E}并根据依赖关系的类型具体分为数据依赖和控制依赖;

将页面元素表示为e=<id,eType,data,actionType,scope,reactionNum>,其中,所述id表示元素标识符,eType表示元素的可见与可交互特征;

从资源文件信息中抽取出可交互的元素集合;

根据API接口信息提取出资源的描述信息;

将事件表示为event=<eid,actionType,position>,所述事件是指对于可交互元素的一次操作,其中,所述eid表示事件标识符,所述actionType表示为事件操作类型,所述position表示事件的操作位置;

根据资源文件信息以及对于元素之间依赖关系DR的定义,抽取出元素之间的依赖关系。

优选地,所述通过操作序列对资源进行GUI遍历,将模拟用户与资源交互的过程进行保存,得到交互操作视频和截图集合的步骤,包括:

开启视频录制;

遍历操作序列S中的每一个事件,根据事件位置、事件的操作类型以及事件所操作的元素的操作反应个数来执行事件;

停顿一定秒数后,对当前交互式教育资源的页面进行截图并保存;

全部执行完成后,结束视频录制,并将执行过程存储为视频保存下来,得到交互式教育资源的交互操作视频和截图集合。

优选地,所述对截图集合进行动画播放来为交互式教育资源提供细节信息的预览的步骤,包括:

获取截图集合,设定动画播放的时间间隔;

设定动画的初始图片为截图集合中的第一张截图;

在每次间隔时间后,将当前截图替换为截图集合中的下一张截图,如果播放到最后一张截图,则设置最后一张截图的下一张截图为第一张截图,重复上述过程,不断播放截图集合;

根据事件集合和截图集合中的第一张截图,对交互式教育资源中的可交互区域进行渲染。

优选地,所述根据事件集合和截图集合中的第一张图片,对交互式教育资源中的可交互区域进行渲染的步骤,包括:

初始化颜色权重矩阵中每个值为0,获取事先指定的最大颜色权重;

遍历事件集合中的每个事件,获取截图集合中第一张截图中以事件位置为中心,以事先指定大小为半径的可交互区域圆中的像素点集合;

对于像素点集合中的每一个像素点,计算该像素点距离事件位置的距离,通过高斯模型来计算该像素点的颜色权重系数,并更新该像素点颜色权重;

遍历第一张截图中的每个像素点,获取每个像素点的颜色权重,根据RGB复合分量模型与颜色权重的关系来计算每个像素点新的RGB分量;

返回经过渲染后的第一张截图。

相应地,本发明还提供一种交互式教育资源预览生成系统,所述系统包括:

适配模块,用于分析交互式教育资源,提取出资源中的可交互元素,生成事件集合,抽取出可交互元素之间的依赖关系,并根据事件集合和依赖关系生成操作序列;

资源预览生成模块,用于通过操作序列对资源进行GUI遍历,将模拟用户与资源交互的过程进行保存,得到交互操作视频和截图集合;

预览模块,用于对截图集合进行动画播放来为交互式教育资源提供细节信息的预览;

图片预览生成模块,用于根据事件集合和截图集合中的第一张图片,对交互式教育资源中的可交互区域进行渲染,并对截图集合中的截图进行比对,对差异部分进行聚类来提取出交互式教育资源的动态内容,并将动态内容拼接到一张图片中。

优选地,所述适配模块包括:

分析单元,用于分析交互式教育资源,生成资源文件信息,将交互式教育资源表示为IR=(P,E),其中,所述P表示交互式教育资源中的页面集合,所述E表示资源中页面之间的关系;

表示单元,用于将页面集合P表示为P=(E,DR),其中,所述E表示页面中的元素集合,DR表示元素之间的依赖关系;并将元素之间的依赖关系DR表示为DR={<ei,ej>|ei∈E∧ej∈E}并根据依赖关系的类型具体分为数据依赖和控制依赖;将页面元素表示为e=<id,eType,data,actionType,scope,reactionNum>,其中,所述id表示元素标识符,eType表示元素的可见与可交互特征;将事件表示为event=<eid,actionType,position>,所述事件是指对于可交互元素的一次操作,其中,所述eid表示事件标识符,所述actionType表示为事件操作类型,所述position表示事件的操作位置;

提取单元,用于从资源文件信息中抽取出可交互的元素集合,根据API接口信息提取出资源的描述信息,并根据资源文件信息以及对于元素之间依赖关系DR的定义,抽取出元素之间的依赖关系。

优选地,所述资源预览生成模块包括:

开启单元,用于开启视频录制;

遍历单元,用于遍历操作序列S中的每一个事件,根据事件位置、事件的操作类型以及事件所操作的元素的操作反应个数来执行事件;

截图单元,用于停顿一定秒数后,对当前交互式教育资源的页面进行截图并保存;

存储单元,用于全部执行完成后,结束视频录制,并将执行过程存储为视频保存下来,得到交互式教育资源的交互操作视频和截图集合。

优选地,所述预览模块包括:

设定单元,用于获取截图集合,设定动画播放的时间间隔,设定动画的初始图片为截图集合中的第一张截图;

替换单元,用于在每次间隔时间后,将当前截图替换为截图集合中的下一张截图,如果播放到最后一张截图,则设置最后一张截图的下一张截图为第一张截图,重复上述过程,不断播放截图集合;

渲染单元,用于根据事件集合和截图集合中的第一张截图,对交互式教育资源中的可交互区域进行渲染。

优选地,所述图片预览生成模块包括:

初始化单元,用于初始化颜色权重矩阵中每个值为0,获取事先指定的最大颜色权重;

集合获取单元,用于遍历事件集合中的每个事件,获取截图集合中第一张截图中以事件位置为中心,以事先指定大小为半径的可交互区域圆中的像素点集合;

更新单元,用于对于像素点集合中的每一个像素点,计算该像素点距离事件位置的距离,通过高斯模型来计算该像素点的颜色权重系数,并更新该像素点颜色权重;

计算单元,用于遍历第一张截图中的每个像素点,获取每个像素点的颜色权重,根据RGB复合分量模型与颜色权重的关系来计算每个像素点新的RGB分量;并返回经过渲染后的第一张截图。

在本发明实施例中,通过遍历交互式教育资源来为交互式教育资源生成视频预览和图片预览,可以解决对交互式教育资源交互操作过程、可交互区域信息、资源动态内容等信息缺乏预览,用户手动与交互式教育资源交互繁琐,检索和理解资源内容耗时的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本发明实施例的交互式教育资源预览生成方法的流程示意图;

图2是本发明实施例中获得交互操作视频和截图集合的的流程示意图;

图3是本发明实施例的交互式教育资源预览生成系统的结构组成示意图;

图4是本发明实施例中适配模块的结构组成示意图;

图5是本发明实施例中资源预览生成模块的结构组成示意图;

图6是本发明实施例中预览模块的结构组成示意图;

图7是本发明实施例中图片预览生成模块的结构组成示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是本发明实施例的交互式教育资源预览生成方法的流程示意图,如图1所示,该方法包括:

S1,分析交互式教育资源,提取出资源中的可交互元素,生成事件集合,抽取出可交互元素之间的依赖关系;

S2,根据事件集合和依赖关系生成操作序列;

S3,通过操作序列对资源进行GUI遍历,将模拟用户与资源交互的过程进行保存,得到交互操作视频和截图集合;

S4,对截图集合进行动画播放来为交互式教育资源提供细节信息的预览;

S5,根据事件集合和截图集合中的第一张图片,对交互式教育资源中的可交互区域进行渲染;

S6,对截图集合中的截图进行比对,对差异部分进行聚类来提取出交互式教育资源的动态内容,并将动态内容拼接到一张图片中。

具体地,S1包括以下步骤:

分析交互式教育资源,生成资源文件信息,将交互式教育资源表示为IR=(P,E)。其中,P表示交互式教育资源中的页面集合,E表示资源中页面之间的关系。

将上述资源集合P表示为P=(E,DR)。其中,E表示页面中的元素集合,DR表示元素之间的依赖关系。

将元素之间的依赖关系DR表示为DR={<ei,ej>|ei∈E∧ej∈E}并根据依赖关系的类型具体分为数据依赖和控制依赖。数据依赖是指元素与页面中的数据有关联,具体地将数据依赖划分为数据读依赖DRD和数据写依赖DWD;数据读依赖DRD是指元素ei的操作需要依赖于元素ej的输入数据;数据写依赖DWD是指对于元素ei的操作会改变元素ej中的数据;控制依赖CD是指如果元素ei对于元素ej控制依赖,那么ei必须在ej之前执行。

将页面元素表示为e=<id,eType,data,actionType,scope,reactionNum>。其中,id表示元素标识符,eType表示元素的可见与可交互特征,具体包括:invisible(不可见),visible&static(可见且静态),visible&interactive(可见且可交互),data表示元素所关联的数据,actionType表示元素的操作方式,例如点击、拖拽等。scope表示元素可以操作的范围,reactionNum表示根据操作元素的反应个数。

按照上述元素的定义,从资源文件信息中抽取出可交互的元素集合。

根据资源制作工具提供的API接口信息,提取出资源的描述信息。

将事件表示为event=<eid,actionType,position>,该事件是指对于可交互元素的一次操作。其中,eid表示事件标识符,actionType表示为事件操作类型,position表示事件的操作位置。根据表达式(1),以及对元素的定义,事件的定义,以及资源文件信息,生成事件集合Events。

根据资源文件信息,以及对元素之间依赖关系DR的定义,抽取出元素之间的依赖关系。

具体地,根据资源文件信息,以及对元素之间依赖关系DR的定义,抽取出元素之间的依赖关系的步骤进一步包括:

遍历依赖关系集合DR中每一个依赖关系<ei,ej>。

如果元素ej不是可交互的,那么就遍历元素集合E中每一个能与元素ej能构成依赖关系<ej,ek>的元素ek,如果<ei,ej>的依赖关系类型是控制依赖CD,那么就在依赖关系集合DR中加入依赖关系<ei,ek>。

如果元素ei是可见且不可交互的,并且依赖关系<ei,ej>的类型是数据读依赖DRD,那么就遍历元素集合E中每一个能与元素ei能构成依赖关系<ei,ek>的元素ek,如果依赖关系<ej,ek>和<ek,ej>的类型都是数据读依赖DRD,那么就在依赖关系集合DR中加入依赖关系<ej,ek>和<ek,ej>。

依赖关系集合DR抽取完成后,过滤掉依赖关系集合DR中不满足构成依赖关系的两个元素都是可交互元素的依赖关系。

进一步地,S2包括:

步骤1:如果操作序列S的长度超过事件集合Events的个数加上可添加的最大冗余事件个数,则直接返回操作序列S;否则,根据当前事件ei,遍历事件集合Events中的每一个事件ej,根据公式(3)计算从事件ei到事件ej的操作得分opScore<ei,ej>。

score=stepCost+opScore=-0.5×L+∑0≤k<LopScore<S[k],S[k+1]> (2)

上述公式(2)和公式(3)中参数解释:L为操作序列长度;k为操作序列中第k步;S表示操作序列;opScore<S[k],S[k+1]>表示从事件S[k]到事件S[k+1]的操作得分,setpCost表示执行整个操作序列的步数花费,其中每执行一步花费为-0.5;N<=L<=N+M,其中N是事件集合个数,M表示可以添加的最大冗余事件个数;DR表示依赖关系集合;Times(ei)表示事件ei在操作序列中的出现次数。

步骤2:从事件集合Events中选择使得操作得分最大的事件作为事件ei的下一个操作事件ej。

步骤3:如果事件ej是冗余事件并且当前添加的冗余事件个数已经超过了可添加的最大冗余事件个数,则从事件集合Events中选择出一个与事件ei不构成依赖关系的事件作为下一个操作事件ej。

步骤4:如果每一个事件都在操作序列S中出现过并且当前已经添加的冗余事件个数不超过可添加的最大冗余事件个数,则执行步骤5;否则,转步骤6。

步骤5:如果当前操作得分opScore<ei,ej>加上当前步数花费cost的得分大于0,那么就更新操作序列得分S.score=S.score+opScore<ei,ej>+cost,将事件ej加入到操作序列S中,并将事件ej作为当前操作事件ei,并转步骤S21;否则,直接返回操作序列S。

步骤6:如果不是每一个事件都在操作序列S中出现过,则更新操作序列得分S.score=S.score+opScore<ei,ej>+cost,将事件ej加入到操作序列S中,并将事件ej作为当前操作事件ei,并转步骤1。

上述步骤1-6展示了以事件ei为起始操作事件生成操作序列的方法,在本发明实施例中,遍历依赖关系集合DR中的每个依赖关系,选择每个依赖关系中的第一个事件作为起始事件,通过步骤1到步骤6计算以该依赖关系中第一个事件为起始事件的操作序列得分,然后比较各个操作序列的得分S.score,从中选择得分最高的操作序列S作为最终的操作序列。

如图2所示,S3进一步包括:

S31:开启视频录制;具体地,通过AutoHotkey脚本语言来打开视频录制软件Snagit,并开启视频录制;

S32:遍历操作序列S中的每一个事件event,根据事件位置event.position、事件的操作类型event.actionType以及事件所操作的元素的操作反应个数reactionNum来执行事件;

S33:停顿一定秒数后,对当前交互式教育资源的页面进行截图并保存;具体地,通过AutoHotkey的截图库Gdip或者其他截图工具对当前交互式教育资源的页面进行截图并保存;

S34:重复S32、S33直到操作序列S全部执行完成后,结束视频录制,并将执行过程存储为视频保存下来,得到交互式教育资源的交互操作视频和截图集合。

进一步地,S4包括:

获取截图集合Snapshots,设定动画播放的时间间隔interval;

设定动画的初始图片为截图集合Snapshots中的第一张截图;

在每次间隔时间interval后,将当前截图替换为截图集合中的下一张截图,如果播放到最后一张截图,则设置最后一张截图的下一张截图为第一张截图,重复上述过程,不断播放截图集合;

根据事件集合和截图集合中的第一张截图,对交互式教育资源中的可交互区域进行渲染。

具体地,根据事件集合和截图集合中的第一张图片,对交互式教育资源中的可交互区域进行渲染的步骤,包括:

步骤1:初始化颜色权重矩阵weightMatrix中每个值为0,获取事先指定的最大颜色权重W;

步骤2:遍历事件集合Events中的每个事件Event,获取截图集合中第一张截图P0中以事件位置event.position为中心,以事先指定大小R为半径的可交互区域圆中的像素点集合Points;

步骤3:对于像素点集合Points中的每一个像素点p,计算该像素点距离事件位置event.position的距离d=distance(p,event,position),通过高斯模型来计算该像素点的颜色权重系数并更新该像素点颜色权重weightMatrix[p]=weightMatrix[p]+W*coe;

步骤4:遍历第一张截图P0中的每个像素点point,获取每个像素点point的颜色权重w,根据RGB复合分量模型与颜色权重w的关系来计算每个像素点新的RGB分量;其中,所属RGB复合分量模型与颜色权重w的关系如表达式(4),(5),(6)所示。

R=(0<=w<=50?0:(50<w<=75?51*w/5-510:255)) (4)

G=(0<=w<=25?51*w/5:(25<w<=75?255:-51*w/5+1020)) (5)

B=(0<=w<=25?255:(25<w<=50?-51*w/5+510:0)) (6)

并另temp.R=R,temp.G=G,temp.B=B。更新像素点的RGB分量为point.RGB=(point.RGB+temp.RGB)*0.5。

步骤5:返回经过渲染后的第一张截图P0。

在具体实施中可以设置可视半径R=82,颜色权重W=100。

步骤6:对截图集合中的截图进行比对,对差异部分进行聚类来提取出交互式教育资源的动态内容,并将动态内容拼接到一张图片中。上述交互式教育资源的动态内容可以通过比较截图来生成。

其中,步骤6进一步包括:

步骤61:根据截图集合提取出top-k个变化面积最大的区域作为交互式教育资源的动态内容集合DynamicContents;

步骤62:对动态内容集合DynamicContents进行拼接;

步骤61具体可以包括以下步骤:

步骤611:设置截图集合中第一张截图为P0,设置截图集合中除P0外的其他截图组成变化截图集合ChangedSnapshots;

步骤612:遍历变化截图集合ChangedSnapshots中的每个截图Snapshot,计算P0与Snapshot的变化区域area;

步骤613:如果动态内容集合DynamicContents中的动态内容个数小于k,那么直接将变化区域area加入到DynamicContents中;否则,执行步骤614;

步骤614:选择DynamicContents中的最小变化区域minArea,如果minArea的面积<area的面积,则从DynamicContents中删除minArea,并将area加入到DynamicContents中;

步骤615:重复步骤612、613、614直到变化截图集合ChangedSnapshots全部处理结束,此时返回交互式教育资源的动态内容集合DynamicContents。

步骤62具体可以分为以下步骤。

步骤621:获取步骤615生成的动态内容集合DynamicContents,遍历DynamicContents中的每个动态内容content。

步骤622:如果动态内容content的面积<事先设定的剪裁区域面积,那么就将动态内容content直接加入到结果集Regions中;否则,执行步骤623。

步骤623:对动态内容content按水平方向分割成水平线段组成的列表lineList=lineList∪getLineList(row),获取lineList线段列表中每个线段的中点组成的中点集合midPointSet={line.midPoint|line∈lineList},利用k-Means聚类算法对中点集合midPointSet进行聚类,得到聚类结果集合clusterSet。

步骤624:遍历聚类结果集合clusterSet中的每个聚类结果cluster,获取属于cluster的线段集合lineSet={line|line∈lineList∧line.midPoint∈cluster},获取lineSet中的横坐标最大值xMax,横坐标最小值xMin,纵坐标最大值yMax,纵坐标最小值yMin。计算面积area=(xMax-xMin)*(yMax-yMin),如果该面积大于之前记录的最大面积maxArea,则获取contents中(xMax,xMin,yMax,yMin)的矩形对应的区域来更新tempRegion。

步骤625:重复步骤624,当聚类结果集合clusterSet全部遍历完成后,将tempRegion加入到结果集Regions中。

步骤626:当变化截图集合ChangedSnapshots全部遍历完成后,获取得到的动态内容结果集Regions,并将Regions拼接成一张图片,返回该拼接了交互式教育资源动态内容的图片。

相应地,本发明实施例还提供一种交互式教育资源预览生成系统,如图3所示,该系统包括:

适配模块1,用于分析交互式教育资源,提取出资源中的可交互元素,生成事件集合,抽取出可交互元素之间的依赖关系,并根据事件集合和依赖关系生成操作序列;

资源预览生成模块2,用于通过操作序列对资源进行GUI遍历,将模拟用户与资源交互的过程进行保存,得到交互操作视频和截图集合;

预览模块3,用于对截图集合进行动画播放来为交互式教育资源提供细节信息的预览;

图片预览生成模块4,用于根据事件集合和截图集合中的第一张图片,对交互式教育资源中的可交互区域进行渲染,并对截图集合中的截图进行比对,对差异部分进行聚类来提取出交互式教育资源的动态内容,并将动态内容拼接到一张图片中。

如图4所示,适配模块1包括:

分析单元10,用于分析交互式教育资源,生成资源文件信息,将交互式教育资源表示为IR=(P,E),其中,P表示交互式教育资源中的页面集合,E表示资源中页面之间的关系;

表示单元11,用于将页面集合P表示为P=(E,DR),其中,E表示页面中的元素集合,DR表示元素之间的依赖关系;并将元素之间的依赖关系DR表示为DR={<ei,ej>|ei∈E∧ej∈E}并根据依赖关系的类型具体分为数据依赖和控制依赖;将页面元素表示为e=<id,eType,data,actionType,scope,reactionNum>,其中,id表示元素标识符,eType表示元素的可见与可交互特征;将事件表示为event=<eid,actionType,position>,事件是指对于可交互元素的一次操作,其中,eid表示事件标识符,actionType表示为事件操作类型,position表示事件的操作位置;

提取单元12,用于从资源文件信息中抽取出可交互的元素集合,根据API接口信息提取出资源的描述信息,并根据资源文件信息以及对于元素之间依赖关系DR的定义,抽取出元素之间的依赖关系。

如图5所示,资源预览生成模块2包括:

开启单元20,用于开启视频录制;

遍历单元21,用于遍历操作序列S中的每一个事件,根据事件位置、事件的操作类型以及事件所操作的元素的操作反应个数来执行事件;

截图单元22,用于停顿一定秒数后,对当前交互式教育资源的页面进行截图并保存;

存储单元23,用于全部执行完成后,结束视频录制,并将执行过程存储为视频保存下来,得到交互式教育资源的交互操作视频和截图集合。

如图6所示,预览模块3包括:

设定单元30,用于获取截图集合,设定动画播放的时间间隔,设定动画的初始图片为截图集合中的第一张截图;

替换单元31,用于在每次间隔时间后,将当前截图替换为截图集合中的下一张截图,如果播放到最后一张截图,则设置最后一张截图的下一张截图为第一张截图,重复上述过程,不断播放截图集合;

渲染单元32,用于根据事件集合和截图集合中的第一张截图,对交互式教育资源中的可交互区域进行渲染。

如图7所示,图片预览生成模块4包括:

初始化单元40,用于初始化颜色权重矩阵中每个值为0,获取事先指定的最大颜色权重;

集合获取单元41,用于遍历事件集合中的每个事件,获取截图集合中第一张截图中以事件位置为中心,以事先指定大小为半径的可交互区域圆中的像素点集合;

更新单元42,用于对于像素点集合中的每一个像素点,计算该像素点距离事件位置的距离,通过高斯模型来计算该像素点的颜色权重系数,并更新该像素点颜色权重;

计算单元43,用于遍历第一张截图中的每个像素点,获取每个像素点的颜色权重,根据RGB复合分量模型与颜色权重的关系来计算每个像素点新的RGB分量;并返回经过渲染后的第一张截图。

本发明的系统实施例中各功能模块的功能可参见本发明方法实施例中的流程处理,这里不再赘述。

在本发明实施例中,通过遍历交互式教育资源来为交互式教育资源生成视频预览和图片预览,可以解决对交互式教育资源交互操作过程、可交互区域信息、资源动态内容等信息缺乏预览,用户手动与交互式教育资源交互繁琐,检索和理解资源内容耗时的问题。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。

另外,以上对本发明实施例所提供的交互式教育资源预览生成方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1