一种动画合成方法及装置与流程

文档序号:11217367阅读:323来源:国知局
一种动画合成方法及装置与流程

本发明涉及数据处理领域,尤其涉及一种动画合成方法及装置。



背景技术:

在计算机技术、网络技术以及电子技术不断发展的今天,用户越来越习惯于在终端设备上观看视频。当用户在观看视频的过程中,对视频中的某些内容很感兴趣,用户有从播放的视频中截取某些画面进行动画合成的需要,比如图像互换格式(graphicsinterchangeformat,gif)合成。

当前采取的方案主要是:以gif合成为例,在超文本标记语言5(hypertextmarkuplanguage5,html5)环境下,在播放视频的过程中,按照一定的时间间隔从当前正在播放的视频画面中截取图像,得到图像数据,然后通过gif合成算法对图像数据进行gif合成,得到gif文件。

然而,由于html5环境下的程序执行速度不高,导致gif合成算法的执行效率不高,针对于一些数据量大的gif文件,采用该gif合成算法来合成gif文件会耗费大量的时间,从而gif文件的合成效率不高。



技术实现要素:

本发明实施例提供了一种动画合成方法及装置,在与解释型语言相关联的第一环境下得到图像数据后,将该图像数据的动画合成过程在与编译型语言相关联的第二环境下完成,从而提升动画合成效率。

有鉴于此,本发明实施例第一方面提供了一种动画合成方法,可包括:

获取待处理的视频内容;

在第一环境下对所述视频内容的视频画面进行截取,得到至少两个图像数据,其中,所述第一环境与解释型语言相关联;

在第二环境下对所述至少两个图像数据进行动画合成,得到动画文件,其中,所述第二环境与编译型语言相关联。

本发明实施例第二方面提供了一种动画合成装置,可包括:

获取模块,用于获取待处理的视频内容;

截取模块,用于在第一环境下对所述视频内容的视频画面进行截取,得到至少两个图像数据,其中,所述第一环境与解释型语言相关联;

合成模块,用于在第二环境下对所述至少两个图像数据进行动画合成,得到动画文件,其中,所述第二环境与编译型语言相关联。

本发明实施例第三方面提供了一种动画合成装置,可包括:处理器以及存储器;

所述处理器,用于获取待处理的视频内容;在第一环境下对所述视频内容的视频画面进行截取,得到至少两个图像数据;在第二环境下对所述至少两个图像数据进行动画合成,得到动画文件,其中,所述第一环境与解释型语言相关联,所述第二环境与编译型语言相关联;

所述存储器,用于存储所述处理器执行相应的操作所需的代码。

本发明实施例第四方面提供了一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本发明实施例第一方面所述方法的步骤。

从以上技术方案可以看出,本发明实施例具有以下优点:由于编译型语言的程序执行速度高于解释型语言的程序执行速度,所以第二环境下的程序执行速度高于第一环境下的程序执行速度,于是在第二环境下进行动画合成所需的时间显然少于在第一环境下进行动画合成所需的时间,所以本发明技术方案提升了动画合成效率。

附图说明

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

图1为本发明实施例所提供的一种动画合成方法的原理示意图;

图2为本发明实施例中动画合成方法一个实施例示意图;

图3-a为本发明实施例提供的一种在同一视频画面中的两个截取区域进行截取的示意图;

图3-b为本发明实施例提供的一种在实际应用中的同一视频画面中的两个截取区域进行截取的示意图;

图4为本发明实施例中动画合成方法另一个实施例示意图;

图5-a为本发明提供的一种在视频界面上点击截取图像按钮示意图;

图5-b为本发明提供的一种对视频画面进行截取得到图像的示意图;

图5-c为本发明提供的一种对gif文件进行分享界面图;

图6为本发明实施例中动画合成装置一个实施例示意图;

图7为本发明实施例中动画合成装置另一个实施例示意图;

图8为本发明实施例中动画合成装置另一个实施例示意图;

图9为本发明实施例中终端设备一个实施例示意图。

具体实施方式

本发明实施例提供了一种动画合成方法及装置,在与解释型语言相关联的第一环境下得到图像数据后,将该图像数据的动画合成过程在与编译型语言相关联的第二环境下完成,从而提升动画合成效率。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

应理解,本发明实施例所提供的动画合成方法可以应用在终端上,该终端可以为智能手机、电脑或者个人数字助理(personaldigitalassistant,pda)等,此处不作限定。在实际应用中,本发明实施例所涉及的第一环境可以为html5环境,第二环境可以为原生(native)环境,下面以第一环境为html5环境、第二环境为native环境为例,对本发明中动画合成方法的原理进行说明。需要说明的是,在实际应用中,第一环境还可以为其他环境,比如html4环境,此处不作限定。

请参阅图1,图1为本发明实施例所提供的一种动画合成方法的原理示意图。如图1所示,包括如下步骤:步骤101中,在html5环境下接收gif合成请求。步骤102、根据该gif合成请求对当前正在播放的视频的视频画面进行周期性地截取,每次截取得到的图像数据便是一帧图像数据。步骤103、将html5环境下所得到的每一帧图像数据经过预处理后,将预处理后的每一帧图像数据传递到native环境下的native层。步骤104、在native层接收到经过预设处理后的每一帧图像数据后,将每一帧图像数据通过合成算法进行gif合成,得到gif图。

应理解,若在html5环境下,将每帧图像数据通过合成算法合成gif文件,则由于该合成算法是在javascript中实现的,而javascript是解释型语言,解释型语言的代码执行效率比较低,所以会耗费较多的时间来合成gif文件。而在native环境下,该合成算法是在native环境下的native层中实现的,native层是编译型语言实现的,在代码执行效率上编译型语言远高于解释型语言javascript,由此,本发明将html5环境下的gif文件的合成过程放到native层,从而来提升合成效率。

应理解,编译型语言为需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言。一般需经过编译(compile)、链接(linker)这两个步骤。编译是把源代码编译成机器码,链接是把各个模块的机器码和依赖码串连起来生成可执行文件。

编译器一般会有预编译的过程对代码进行优化。因为,编译只做一次,每次运行时不需要重新翻译,直接使用编译的结果。所以编译型语言的程序执行效率高,可以脱离语言环境独立运行。编译型语言中的代表性语言可以为:c、c++、pascal、object-c以及swift等。

然而,解释型语言每次运行的时候都要解释一遍,而解释是一句句的翻译,所以每次运行时都需要重新翻译,因而解析型语言在性能上不如编译型语言。解释型语言中的代表性语言可以为:javascript、python、erlang、php、perl以及ruby等。

下面通过具体实施例对本发明实施例中的动画合成方法进行描述,请参阅图2,本发明实施例中动画合成方法一个实施例包括:

201、获取待处理的视频内容;

本实施例中,待处理的视频内容可以为当前正在播放的视频内容,例如,网页在线播放的视频内容或视频应用上正在播放的视频内容;此外,待处理的视频内容也可以为本地已存储的视频内容,此处不作限定。

显然,在一些可能的实施例中,在步骤201之前,还可以包括:接收对所述待处理的视频内容的视频画面进行截取的触发指令。

202、在第一环境下对视频内容的视频画面进行截取,得到至少两个图像数据,其中,第一环境与解释型语言相关联;

本实施例中,在获取待处理的视频内容后,在第一环境下对视频内容的视频画面进行截取,得到至少两个图像的图像数据,此外,第一环境与解释型语言相关联。

需要说明的是,若待处理的视频内容为本地已存储的视频内容,则动画合成装置可以在确定任一个截取视频时间点后,调取该截取视频时间点的视频画面,再对该视频画面进行截取,从而得到一个图像数据,采用类似方法,动画合成装置需要至少得到两个图像数据。

需要说明的是,在一些可能的实施例中,在步骤202之前,还可以包括:获取图像截取指令;相应的,此时步骤202具体可以为:在第一环境下根据获取到的图像截取指令对视频内容的视频画面进行周期性地截取,其中,图像截取指令包括如下至少一种:截取视频时间点指令、截取区域指令、截取的图像数据个数指令以及截取周期指令。

例如,当用户在操作终端进行视频播放时,用户在观看到很感兴趣的视频时,用户可以操作终端上的截取视频按钮,从而触发终端执行视频画面的截取,例如,终端的触摸屏幕上显示一个截取图像按钮,当用户需要从视频画面中截取图像时,用户点击触摸屏幕上的截取图像按钮,用户向终端发送一个图像截取指令,终端根据图像截取指令对当前正在播放的视频的视频画面进行截取。

在一些可能的实施例中,若图像截取指令包括截取区域指令,则有:当用户需要对终端当前正在播放的视频的视频画面的部分画面区域进行截取,而不需要截取整个视频画面时,用户可以在当前正在播放的视频的视频画面中划定一个图像截取区域,那么在该图像截取区域以外的画面不做截取。用户向终端发送的图像截取指令至少包括截取区域指令,从而终端根据截取区域指令确定所截取图像的截取区域。

进一步的,上述在第一环境下根据获取到的图像截取指令对视频内容的视频画面进行周期性地截取包括:根据获取到的截取区域指令确定同一视频画面中的至少两个截取区域;在第一环境下对视频内容的视频画面中的至少两个截取区域中的视频画面进行周期性地截取。

如图3-a所示,图3-a为本发明实施例提供的一种在同一视频画面中的两个截取区域进行截取的示意图,在图3-a的基础上,本发明实施例还提供了一种在实际应用中的同一视频画面中的两个截取区域进行截取的示意图,具体可参见图3-b,在图3-b中,针对某一个视频画面,终端根据获取到的截取区域指令确定对该视频画面中的截取区域a和截取区域b进行截取,在确定截取区域a和截取区域b后,终端在第一环境下对该视频画面中的截取区域a和截取区域b进行周期性地截取。可以理解的是,在对截取区域a进行周期性地截取得到多个图像数据1,以及对截取区域b进行周期性地截取也得到多个图像数据2后,终端可以对多个图像数据1进行合成,得到动画文件1,同时,终端可以对多个图像数据2进行合成,得到动画文件2。此外,终端还可以对多个图像数据1和图像数据2进行整合,将整合后的图像数据进行合成,得到动画文件3。可见,本发明提供了多种对图像数据的整合方式,完善了本申请技术方案。

为便于理解,下面对终端将多个图像数据1和图像数据2进行整合,将整合后的图像数据进行合成,得到动画文件3进行举例说明:假设多个图像数据1中包含3个图像数据,分别为图像数据a、图像数据b以及图像数据c,多个图像数据2中也包含3个图像数据,分别为图像数据a、图像数据b以及图像数据c,本发明可以按照如下顺序的整合方式进行整合:例如:整合方式一:图像数据a、图像数据a、图像数据b、图像数据b、图像数据c、图像数据c;整合方式二:图像数据a、图像数据b、图像数据c、图像数据a、图像数据b以及图像数据c。此外,本发明还可以采用其他整合方式,此处不作限定。

更进一步的,终端在第一环境下对该视频画面中的截取区域a和截取区域b进行周期性地截取可以为:终端确定截取区域a对应的截取周期为t1,以及截取区域b对应的截取周期为t2,则终端根据截取周期t1对该视频画面中的截取区域a进行周期性地截取,同时,终端根据截取周期t2对该视频画面中的截取区域b进行周期性的截取。在实际应用中,为了尽可能保证最后所合成的动画文件的显示画面的场景具有一致性,截取周期t1的取值可以为20ms,截取周期t2的取值可以为30ms,当然,针对需要不同场景的显示画面所组成的动画文件,截取周期t1的取值和截取周期t2的取值可以设置大点,比如截取周期t1的取值为5s,截取周期t2的取值为8s,此处不作限定。

当然,在一些可能的实施例中,终端可以在第一环境下对该视频画面中的截取区域a进行周期性的截取,同时,终端在第一环境下对该视频画面中的截取区域b按照预设截取视频时间点进行截取,此处不作限定。

显然,在一些可能的实施例中,当终端根据获取到的截取区域指令确定对该视频画面中的截取区域a、截取区域b以及截取区域c进行截取时,终端同样可以在第一环境下对该视频画面中的截取区域a、截取区域b以及截取区域c进行周期性地截取,此处不再赘述。

在一些可能的实施例中,若图像截取指令包括截取周期指令,则有:用户可以直接确定需要截取的图像是否是连续性的多张图像,又或者是不连续的多张图像,若用户需要截取的图像为连续性的多张图像,则用户向终端发送的图像截取指令至少包括截取周期指令,从而终端根据截取周期指令周期性地截取图像,截取得到的图像即为连续性的多张图像。

在一些可能的实施例中,若图像截取指令包括截取视频时间点指令,则有:若用户需要截取的图像不为连续性的多张图像,则用户向终端发送的图像截取指令至少包括截取视频时间点指令,截取视频时间点指令可以由用户自行设置,或者由终端出厂预设,从而终端根据截取视频时间点指令可以确定从哪个时间点开始截取视频。

在一些可能的实施例中,图像截取指令还可以包括截取的图像数据的文件格式,例如,用户可以指示终端应该输出满足什么文件格式要求的图像数据,即还可以进一步对截取得到的图像数据的文件格式按照用户要求来输出相应的图像数据,从而可以满足用户对截取的图像数据的更多要求。其中,文件格式是指图像数据的文件本身的格式,例如可以为:jpg、png以及bmp等。

在一些可能的实施例中,图像截取指令还可以包括截取的图像数据的图像分辨率,此处不再赘述。

203、在第二环境下对至少两个图像数据进行动画合成,得到动画文件,其中,第二环境与编译型语言相关联。

本实施例中,在第一环境下得到至少两个图像数据后,在第二环境下对至少两个图像数据进行动画合成,得到动画文件。例如,在第二环境下对至少两个图像数据进行gif合成,得到gif文件。需要注意的是,第二环境与编译型语言相关联,第二环境下的程序执行速度高于第一环境下的程序执行速度,即第二环境下的代码执行效率高于第一环境下的代码执行效率。

另外,本实施例中第一环境与解释型语言相关联可以为:第一环境下代码采用的语言为解释型语言;同理,第二环境与编译型语言相关联可以为:第二环境下代码采用的语言的编译型语言。

本实施例中,由于编译型语言的程序执行速度高于解释型语言的程序执行速度,所以第二环境下的程序执行速度高于第一环境下的程序执行速度,于是在第二环境下进行动画合成所需的时间显然少于在第一环境下进行动画合成所需的时间,所以本发明技术方案提升了动画合成效率。

下面以第一环境为html5环境、第二环境为native环境为例,对本发明实施例中的动画合成方法进行详细描述,请参阅图4,本发明实施例中动画合成方法另一个实施例包括:

301、获取待处理的视频内容;

本实施例中,待处理的视频内容可以为当前正在播放的视频内容,例如,网页在线播放视频或应用上正在播放的视频内容;此外,待处理的视频内容也可以为本地已存储的视频内容,此处不作限定。

302、在html5环境下对视频内容的视频画面进行截取,得到至少两个图像数据;

本实施例中,在html5环境下可以对视频内容的视频画面进行周期性地截取,或者在html5环境下可以对视频内容的视频画面进行非周期性地截取。另外,所截取得到的每一个图像的图像数据即为一帧图像的图像数据。

需要说明的是,若待处理的视频内容为本地已存储的视频内容,则动画合成装置可以在确定任一个截取视频时间点后,调取该截取视频时间点的视频画面,再对该视频画面进行截取,从而得到一个图像数据,采用类似方法,动画合成装置需要至少得到两个图像数据。

303、将至少两个图像数据封装在轻量级的数据交换格式json对象中;

本实施例中,由于html5环境和native环境下的native层之间可以传递轻量级的数据交换格式(javascriptobjectnotation,json)对象,所以可以将至少两个图像数据封装在json对象中,然后将json对象发送到native层中。

应理解,html5环境和native环境下的native层之间还可以传递其他格式对象,所以本发明还可以将至少两个图像数据封装在其他格式对象中,只需要用于封装的格式对象为html5环境和native环境下的native层之间可以传递的格式对象。

304、将json对象发送到原生native环境下的native层中;

本实施例中,在将至少两个图像数据封装在json对象中之后,将json对象发送到native环境下的native层中,从而也就将至少两个图像数据以json对象的形式发送到native层。

305、在native层从json对象中解析出至少两个图像数据;

本实施例中,在确定json对象发送到native环境下的native层中之后,在native层从json对象中解析出至少两个图像数据,所解析出的至少两个图像数据均属于二进制数据。

306、将至少两个图像数据转换为位图对象数据;

本实施例中,由于从json对象中解析出来的图像数据为二进制数据,而在native层不能处理二进制数据,所以需要将二进制数据转换为在native层能够处理的位图对象,因此将至少两个图像数据转换为位图对象数据。

307、对位图对象数据进行gif合成,得到gif文件。

本实施例中,在将至少两个图像数据转换为在native层能够处理的位图对象数据后,对位图对象数据进行gif合成,得到gif文件。

本实施例中,由于native环境下的程序执行速度高于html5环境下的程序执行速度,所以在native环境下进行动画合成所需的时间显然少于在html5环境下进行动画合成所需的时间,所以本发明技术方案提升了动画合成效率。

其次,采用封装的方式将至少两个图像数据发送到native层,实现了在native层对至少两个图像数据的合成处理,从而完善了本申请技术方案。

最后,在native层对至少两个图像数据进行合成之前,将至少两个图像数据转换为在native层能够处理的位图对象数据,以避免将native层不能处理的图像数据发送到native层,从而进一步完善了本申请技术方案。

在上述实施例中,提供了一种在第二环境下对至少两个图像数据进行动画合成的实现方式,即将经过封装的至少两个图像数据发送到native环境下的native层;在native层对经过封装的至少两个图像数据进行动画合成。在一些可能的实施例中,还提供了另一种在第二环境下对至少两个图像数据进行动画合成的实现方式,具体可以为:将超文本标记语言5环境切换为native环境;在native环境下的native层对经过封装的至少两个图像数据进行动画合成。可见,通过将html5环境切换为native环境,也能达到在native环境下的native层对经过封装的至少两个图像数据进行动画合成的目的,从而增强了方案的多样性,充实了本申请技术方案。

为便于理解,下面以一个具体应用场景对本发明中的动画合成方法进行详细描述,具体为:

手机预设图像截图指令,图像截取指令包括截取视频时间点指令、截取区域指令、截取的图像数据个数指令以及截取周期指令,其中,截取视频时间点指令用于指示截取时间点初始值为点击截取图像按钮时刻,即当用户甲点击截取图像按钮后,开始对视频画面进行截取;截取区域指令用于指示截取区域,截取区域由手机尺寸确定,比如可以设置为手机尺寸的二分之一;截取的图像数据个数指令用于指示截取的图像个数为5,截取周期指令用于指示截取周期为6s,即每隔6s开始截一次图。

步骤1、用户甲在手机上使用某视频应用观看在线视频时,用户甲对所观看的视频内容很感兴趣,想要将该视频内容中的一些视频画面进行截取,以合成gif图。于是,在视频播放到第15分24s时,用户甲点击视频界面上所显示的截取图像按钮,从而用户甲向手机发送了一个图像截取指令。其中,如图5-a所示,图5-a为本发明提供的一种在视频界面上点击截取图像按钮示意图,在该视频界面上,存在一个截取图像按钮,以及该视频界面上显示视频播放时间为第15分24s。

步骤2、在html环境下,手机在接收到图像截取指令后,手机根据图像截取指令对视频画面进行截图,即手机从第15分24s开始截图,得到图像1,在第15分30s截图,得到图像2,在第15分36s截图,得到图像3,在第15分42s截图,得到图像4,在第15分48s截图,得到图像5。其中,如图5-b所示,图5-b为本发明提供的一种对视频画面进行截取得到图像的示意图,在图5-b中,该截取得到的图像为图像1。

步骤3、手机在截取得到图像1、图像2、图像3、图像4以及图像5后,手机在native环境下对图像1、图像2、图像3、图像4以及图像5进行gif合成,得到gif文件。

步骤4:手机在得到gif文件后,手机弹出gif文件分享界面图,用户甲可以分享该gif文件,如图5-c所示,图5-c为本发明提供的一种对gif文件进行分享界面图。

应理解,由于截取周期设置过长(5s),所以对图像1、图像2、图像3、图像4以及图像5进行gif合成所得到的gif文件的显示画面的场景可能不一致,所以在一些可能的应用场景中,比如需要对视频中的一系列连贯动作进行截取,来合成gif图的场景,此时截取周期的取值可以设置小点,比如将截取周期的取值设置为20ms或30ms等,从而保证最后得到的gif图的动作具有高连贯性。

应理解,上述应用场景中手机预设图像截取指令,所以当用户需要对视频画面进行截取时,只能按照预设的图像截取指令进行截取,显然,在上述应用场景下,用户难以自主选择视频画面进行截取。由此,针对于用户需要自主选择视频画面进行截取的需求,本发明同样能够提供相应的解决方案。具体的,为便于理解,下面以另一个具体应用场景对本发明中的动画合成方法进行详细描述,具体为:

步骤1:用户乙在手机上使用某视频应用观看在线视频时,用户乙对所观看的视频内容很感兴趣,想要将该视频内容中的一些视频画面进行截取,以合成gif图。于是,用户乙首先暂停该视频的播放,然后用户乙手动滑动视频进度条。

步骤2:在滑动视频进度条的过程中,当视频进度条滑动到第一位置时,用户乙想要对当前视频画面进行截取,于是用户乙点击了视频界面上所显示的截取图像按钮,从而用户乙向手机发送了一个图像截取指令。当视频进度条滑动到第二位置以及第三位置时,用户乙再次点击了视频界面上所显示的截取图像按钮。

步骤3:在html环境下,手机接收到图像截取指令后,手机根据图像截取指令对视频画面进行截图,得到图像a、图像b以及图像c。

步骤4:手机在截取得到图像a、图像b以及图像c后,手机在native环境下对图像a、图像b以及图像c进行gif合成,得到gif文件。

步骤5:手机在得到gif文件后,手机弹出gif文件分享界面图,用户乙可以分享该gif文件。

上面通过实施例介绍了本发明实施例中的动画合成方法,下面通过实施例介绍本发明实施例中的动画合成装置,请参阅图6,本发明实施例中动画合成装置一个实施例包括:

获取模块401,用于获取待处理的视频内容;

截取模块402,用于在第一环境下对视频内容的视频画面进行截取,得到至少两个图像数据,其中,所述第一环境与解释型语言相关联;

合成模块403,用于在第二环境下对至少两个图像数据进行动画合成,得到动画文件,其中,所述第二环境与编译型语言相关联。

本实施例中,由于编译型语言的程序执行速度高于解释型语言的程序执行速度,所以第二环境下的程序执行速度高于第一环境下的程序执行速度,于是合成模块403在第二环境下进行动画合成所需的时间显然少于在第一环境下进行动画合成所需的时间,所以本发明技术方案提升了动画合成效率。

在图6所示实施例的基础上,进一步的,在一些可能的实施例中,上述截取模块402,具体用于在超文本标记语言5环境下对视频内容的视屏画面进行截取。

可见,将第一环境限定为html5环境,即将应用环境进行具体化处理,从而增加了本申请技术方案的可读性。

更进一步的,请参阅图7,在一些可能的实施例中,上述合成模块403,包括:

发送单元4031,用于将至少两个图像数据发送到原生native环境下的native层中;

第一合成单元4032,用于在native层对至少两个图像数据进行动画合成。

可见,将图像数据发送到native层,在native层进行动画合成,从而提供了一种动画合成的实现方式,增强了本发明技术方案的可操作性,完善了本发明技术方案。

更进一步的,还可以包括:封装模块404,用于在发送单元4031将至少两个图像数据发送到原生native环境下的native层中之前,将至少两个图像数据封装在轻量级的数据交换格式json对象中;相应的,发送单元4031,具体用于将json对象发送到原生native环境下的native层中。

可见,通过将图像数据封装在json对象中,以实现将html5环境下的数据发送到native层,从而进一步完善了本申请技术方案。

上述图7所示实施例提供了一种动画合成的实现方式,本发明技术方案还提供了另一种动画合成的实现方式,具体的,请参阅图8,在一些可能的实施例中,上述合成模块403,包括:

切换单元4032,用于将超文本标记语言5环境切换为native环境;

第二合成单元4033,用于在native环境下的native层对至少两个图像数据进行动画合成。

可见,将超文本标记语言5环境切换为native环境,在native环境下的native层进行动画合成,从而提供了另一种动画合成的实现方式,增强了本发明技术方案的可操作性,完善了本发明技术方案。

在图6所示实施例的基础上,进一步的,在一些可能的实施例中,上述截取模块402,具体用于在第一环境下根据获取到的图像截取指令对视频内容的视频画面进行周期性地截取,其中,图像截取指令包括如下至少一种:截取视频时间点指令、截取区域指令、截取的图像数据个数指令以及截取周期指令。

更进一步的,在一些可能的实施例中,上述截取模块402,具体用于若图像截取指令包括截取区域指令,则根据获取到的截取区域指令确定同一视频画面中的至少两个截取区域;在第一环境下对视频内容的视频画面中的至少两个截取区域中的视频画面进行周期性地截取。

可见,按照图像截取指令对视频内容的视频画面进行周期性地截取,而图像截取指令可以为截取视频时间点指令、截取区域指令、截取的图像数据个数指令以及截取周期指令中的一种或多种,从而提供了多种可选的截取图像的方法,增加了方案的多样性,从而完善了本申请技术方案。

其次,当图像截取指令包括截取区域指令时,若截取区域指令中指示对同一视频画面中的至少两个截取区域中的视频画面进行截取,从而提高了截取效率,节省了截取时间,进一步完善了本申请技术方案。

本发明实施例中的动画合成装置可以为一种终端设备,如图9所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端设备可以为包括手机、平板电脑、个人数字助理、销售终端(英文全称:pointofsales,英文缩写:pos)、车载电脑等任意终端设备,以终端设备为手机为例:

图9示出的是与本发明实施例提供的终端设备相关的手机的部分结构的框图。参考图9,手机包括:射频(英文全称:radiofrequency,英文缩写:rf)电路510、存储器520、输入单元530、显示单元540、传感器550、音频电路5660、无线保真(英文全称:wirelessfidelity,英文缩写:wifi)模块570、处理器580、以及电源590等部件。本领域技术人员可以理解,图9中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图9对手机的各个构成部件进行具体的介绍:

rf电路510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器580处理;另外,将设计上行的数据发送给基站。通常,rf电路510包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(英文全称:lownoiseamplifier,英文缩写:lna)、双工器等。此外,rf电路510还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(英文全称:globalsystemofmobilecommunication,英文缩写:gsm)、通用分组无线服务(英文全称:generalpacketradioservice,gprs)、码分多址(英文全称:codedivisionmultipleaccess,英文缩写:cdma)、宽带码分多址(英文全称:widebandcodedivisionmultipleaccess,英文缩写:wcdma)、长期演进(英文全称:longtermevolution,英文缩写:lte)、电子邮件、短消息服务(英文全称:shortmessagingservice,sms)等。

存储器520可用于存储软件程序以及模块,处理器580通过运行存储在存储器520的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元530可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元530可包括触控面板531以及其他输入设备532。触控面板531,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板531上或在触控面板531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器580,并能接收处理器580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板531。除了触控面板531,输入单元530还可以包括其他输入设备532。具体地,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元540可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元540可包括显示面板541,可选的,可以采用液晶显示器(英文全称:liquidcrystaldisplay,英文缩写:lcd)、有机发光二极管(英文全称:organiclight-emittingdiode,英文缩写:oled)等形式来配置显示面板541。进一步的,触控面板531可覆盖显示面板541,当触控面板531检测到在其上或附近的触摸操作后,传送给处理器580以确定触摸事件的类型,随后处理器580根据触摸事件的类型在显示面板541上提供相应的视觉输出。虽然在图9中,触控面板531与显示面板541是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板531与显示面板541集成而实现手机的输入和输出功能。

手机还可包括至少一种传感器550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板541的亮度,接近传感器可在手机移动到耳边时,关闭显示面板541和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路560、扬声器561,传声器562可提供用户与手机之间的音频接口。音频电路560可将接收到的音频数据转换后的电信号,传输到扬声器561,由扬声器561转换为声音信号输出;另一方面,传声器562将收集的声音信号转换为电信号,由音频电路560接收后转换为音频数据,再将音频数据输出处理器580处理后,经rf电路510以发送给比如另一手机,或者将音频数据输出至存储器520以便进一步处理。

wifi属于短距离无线传输技术,手机通过wifi模块570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了wifi模块570,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器580是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器520内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器580可包括一个或多个处理单元;优选的,处理器580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器580中。

手机还包括给各个部件供电的电源590(比如电池),优选的,电源可以通过电源管理系统与处理器50逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。

在本发明实施例中,该终端设备所包括的处理器580还具有如下功能:获取待处理的视频内容;

在第一环境下对所述视频内容的视频画面进行截取,得到至少两个图像数据,其中,第一环境与解释型语言相关联;

在第二环境下对所述至少两个图像数据进行动画合成,得到动画文件,其中,第二环境与编译型语言相关联。

本实施例中,由于编译型语言的程序执行速度高于解释型语言的程序执行速度,所以第二环境下的程序执行速度高于第一环境下的程序执行速度,于是处理器580在第二环境下进行动画合成所需的时间显然少于在第一环境下进行动画合成所需的时间,所以本发明技术方案提升了动画合成效率。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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