动画处理方法和装置与流程

文档序号:11063957阅读:575来源:国知局
本申请涉及计算机
技术领域
:,尤其涉及动画处理方法和装置。
背景技术
::在现今的计算机技术中,动画技术正逐步成为互联网应用的一个热点。特别是随着在线直播业务的兴起,更推动了对高性能低消耗动画构成技术的需求。相关技术中通常采用A-PNG(AnimatedPortableNetworkGraphics,动画式便携网络图像)、Flash(交互式矢量图和Web动画标准)、SVG(ScalableVectorGraphics,可缩放矢量图形)等技术制作动画。但加载播放上述相关技术制作的动画,对处理器和内存的消耗极大,动画处理效率较低。技术实现要素:本申请提供一种动画处理方法和装置,能够降低加载播放动画时对处理器和内存的消耗,提高动画处理效率。根据本申请实施例的第一方面,提供一种动画处理方法,包括以下步骤:获取待播放动画的SVG格式的序列帧;将所述序列帧内各帧图像所含的动画对象划分为多项动画元素;获取每项动画元素的位图图像为该项动画元素对应的元素位图;根据每帧图像所含的动画元素以及所含动画元素在该帧图像内的动画参数,生成动画描述文件,所述动画描述文件包括动画属性、各帧图像所含的动画元素以及所含动画元素在各帧图像内的动画参数;确定将所述动画描述文件以及各项动画元素对应的元素位图:作为所述待播放动画的动画源文件。在一个实施例中,所述获取待播放动画的SVG格式的序列帧,包括:通过Flash编辑器将Flash格式的待播放动画转换为SVG格式的序列帧;或者,通过BodyMovin将AE格式的待播放动画转换为SVG格式的序列帧。在一个实施例中,所述将所述序列帧内各帧图像所含的动画对象划分为多项动画元素,包括:逐帧比较各序列帧,获取各相邻帧之间的比较信息,其中,所述比较信息包括相邻帧之间的相同动画对象、相同动画对象之间的变化参数、不同动画对象以及不同动画对象之间的位置关系;基于所述比较信息,将每个动画对象中矢量未发生过变化的部分以及矢量发生过变化的各部分:分别作为不同的动画元素。在一个实施例中,所述动画参数包括位置参数、透明度参数、尺寸参数、图层顺序参数。在一个实施例中,所述动画属性包括动画的总帧数、各帧图像的标识、FPS、动画大小。在一个实施例中,所述方法还包括以下步骤:对所述动画源文件进行文件压缩;将压缩后的动画源文件传输到指定地址,以便动画播放端从该指定地址获取所述动画源文件。根据本申请实施例的第二方面,提供一种动画处理方法,包括以下步骤:获取待播放动画的动画源文件,其中,所述动画源文件包括动画描述文件和各元素位图,所述元素位图为所述待播放动画所含的动画元素的位图图像,所述动画描述文件包括动画属性、各帧图像所含的动画元素以及所含动画元素在各帧图像内的动画参数;渲染所有的元素位图,生成各项动画元素的动画图层;从所述动画描述文件中获取动画播放信息,所述动画播放信息包括动画属性、每帧图像所含的动画元素、以及所含动画元素在该帧图像中的动画参数;基于所述动画播放信息,将每帧图像所含的动画元素的动画图层按照所述动画参数进行组合,实现所述待播放动画的播放。在一个实施例中,所述基于所述动画播放信息,将每帧图像所含的动画元素的动画图层按照所述动画参数进行组合,实现所述待播放动画的播放,包括:通过逐帧比较各帧图像所含的动画元素以及所含动画元素在各帧图像内的动画参数,获取各相邻帧图像之间比较信息,其中,所述比较信息包括相邻帧图像之间的相同动画元素、相同动画元素之间的变化参数、不同动画元素以及各项动画元素之间的层级关系;基于获取的比较信息,通过调整在先的一帧图像的动画图层种类、各动画图层的叠加顺序、各动画图层的叠加位置以及各动画图层的其他动画参数,实现在后的一帧图像的播放。根据本申请实施例的第三方面,提供一种动画处理装置,包括:序列帧获取模块,用于获取待播放动画的SVG格式的序列帧;元素划分模块,用于将所述序列帧内各帧图像所含的动画对象划分为多项动画元素;位图获取模块,用于获取每项动画元素的位图图像为该项动画元素对应的元素位图;文件生成模块,用于根据每帧图像所含的动画元素以及所含动画元素在该帧图像内的动画参数,生成动画描述文件,所述动画描述文件包括动画属性、各帧图像所含的动画元素以及所含动画元素在各帧图像内的动画参数;源文件确定模块,用于确定将所述动画描述文件以及各项动画元素对应的元素位图:作为所述待播放动画的动画源文件。在一个实施例中,所述序列帧获取模块包括:第一获取模块,用于通过Flash编辑器将Flash格式的待播放动画转换为SVG格式的序列帧;或者,第二获取模块,用于通过BodyMovin将AE格式的待播放动画转换为SVG格式的序列帧。在一个实施例中,所述元素划分模块包括:逐帧比较模块,用于逐帧比较各序列帧,获取各相邻帧之间的比较信息,其中,所述比较信息包括相邻帧之间的相同动画对象、相同动画对象之间的变化参数、不同动画对象以及不同动画对象之间的位置关系;元素划分子模块,用于基于所述比较信息,将每个动画对象中矢量未发生过变化的部分以及矢量发生过变化的各部分:分别作为不同的动画元素。在一个实施例中,所述动画参数包括位置参数、透明度参数、尺寸参数、图层顺序参数。在一个实施例中,所述动画属性包括动画的总帧数、各帧图像的标识、FPS、动画大小。在一个实施例中,所述装置还包括:文件压缩模块,用于对所述动画源文件进行文件压缩;文件传输模块,用于将压缩后的动画源文件传输到指定地址,以便动画播放端从该指定地址获取所述动画源文件。根据本申请实施例的第四方面,提供一种动画处理装置,包括:源文件获取模块,用于获取待播放动画的动画源文件,其中,所述动画源文件包括动画描述文件和各元素位图,所述元素位图为所述待播放动画所含的动画元素的位图图像,所述动画描述文件包括动画属性、各帧图像所含的动画元素以及所含动画元素在各帧图像内的动画参数;位图渲染模块,用于渲染所有的元素位图,生成各项动画元素的动画图层;信息获取模块,从所述动画描述文件中获取动画播放信息,所述动画播放信息包括动画属性、每帧图像所含的动画元素、以及所含动画元素在该帧图像中的动画参数;动画播放模块,用于基于所述动画播放信息,将每帧图像所含的动画元素的动画图层按照所述动画参数进行组合,实现所述待播放动画的播放。在一个实施例中,所述动画播放模块包括:比较信息获取模块,用于通过逐帧比较各帧图像所含的动画元素以及所含动画元素在各帧图像内的动画参数,获取各相邻帧图像之间比较信息,其中,所述比较信息包括相邻帧图像之间的相同动画元素、相同动画元素之间的变化参数、不同动画元素以及各项动画元素之间的层级关系;图层调整模块,用于基于获取的比较信息,通过调整在先的一帧图像的动画图层种类、各动画图层的叠加顺序、各动画图层的叠加位置以及各动画图层的其他动画参数,实现在后的一帧图像的播放。本申请实施例,获取待播放动画的SVG格式的序列帧,然后将每帧图像所含的动画对象拆分为多项动画元素,再获取每项动画元素的位图图像,然后生成用于描述动画属性、各帧图像所含的动画元素以及所含动画元素在各帧图像内的动画参数的动画描述文件,最终确定将所述动画描述文件以及各项动画元素的位图图像:作为所述待播放动画的动画源文件。因为动画源文件仅包括动画元素的位图图像、以及动画描述文件,其所占空间大小远远小于:原来重复包含各项动画元素的位图图像的各帧图像,所以可以有效减小动画文件的体积,能解决现有技术中动画文件体积过大的弊端。此外,通过对动画源文件进行处理实现动画播放时,获取包括动画描述文件和各项动画元素的位图图像的动画源文件,渲染所有的位图图像,生成各项动画元素的动画图层,然后从所述动画描述文件中获取动画播放信息,再基于所述动画播放信息,将每帧图像所含的动画元素的动画图层按照所述动画参数进行组合,实现所述待播放动画的播放。这样在播放不同帧动画时无需重复渲染相同的动画元素的位图图像,因此能在快速实现动画播放的同时可以有效降低处理器和内存的消耗。附图说明图1是本申请动画处理方法的一个实施例流程图;图2a是本申请动画处理方法的另一个实施例的流程图;图2b是本申请根据一示例性实施例示出的动画元素的第一示意图;图2c是本申请根据一示例性实施例示出的动画元素的第二示意图;图3是本申请动画处理装置的一个实施例框图;图4是本申请动画处理装置的另一个实施例的框图;图5是本申请动画处理装置的硬件结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。随着网络技术的发展,静态的文字和图片开始无法满足网络应用环境中内容展示的需要,可以动态展示场景信息的动画技术应运而生。特别是在线直播业务的兴起,推动行业对高性能低消耗的动画构成技术的需求。例如:在线直播场景中,当用户购买了一种虚拟物品,可以在直播页面中加载庆祝动画,带给用户充分的成就感。而使用庆祝动画会消耗服务端的一定资源来构建并加载庆祝动画,当存在大量的类似庆祝动画的内容需要加载时,一种高性能低消耗的动画构成技术就显得尤为重要。在网络应用环境中,服务端、客户端的运算资源都是有限的,网络传输带宽本身也是有限的,所以在应用动画技术时,动画构成和播放的过程不宜过于复杂,以降低对服务端和客户端较高的硬件需求;动画的体积不宜过大,以避免高额的带宽消费。扩展到网页、桌面应用程序、智能终端的移动平台应用程序等环境中,涉及到使用动画内容的应用场景,都需要一种高性能低消耗的动画构成技术。而本申请提出一种动画处理方法,将待播放动画的SVG(ScalableVectorGraphics,可缩放的矢量图形)格式的序列帧中:每帧图像所含的动画对象拆分为多项动画元素,再获取每项动画元素的位图图像,然后生成用于描述动画属性、各帧图像所含的动画元素以及所含动画元素在各帧图像内的动画参数的动画描述文件,最终确定将所述动画描述文件以及各项动画元素的位图图像:作为所述待播放动画的动画源文件。而动画源文件仅包括动画元素的位图图像、以及动画描述文件,其所占空间大小远远小于:原来重复包含各项动画元素的位图图像的各帧图像,所以可以有效减小动画文件的体积,能解决现有技术中动画文件体积过大的弊端。此外,通过对动画源文件进行处理实现动画播放时,获取包括动画描述文件和各项动画元素的位图图像的动画源文件,渲染所有的位图图像,生成各项动画元素的动画图层,然后从所述动画描述文件中获取动画播放信息,再基于所述动画播放信息,将每帧图像所含的动画元素的动画图层按照所述动画参数进行组合,实现所述待播放动画的播放。这样在播放不同帧动画时无需重复渲染相同的动画元素的位图图像,因此能在快速实现动画播放的同时可以有效降低处理器和内存的消耗。本申请涉及的动画中存在帧的概念,用来表示动画中最小单位的单幅影像画面。例如一个动画1秒20帧,即这个动画在每1秒钟内由20张图片组成,可以是1张图片占一帧,也可以是同一张图片重复多帧。每帧表示角色或者物体运动或变化中的动作,每帧中的角色或物体,在本申请中以“动画对象”的概念表征。下面通过具体实施例并结合具体的应用场景对本申请进行描述。图1是本申请动画处理方法的一个实施例流程图,该实施例可以用于终端中,包括以下步骤101-105:步骤101:获取待播放动画的SVG格式的序列帧。本申请实施例涉及的终端可以是具有动画编辑功能的终端,如:动画播放器、台式电脑、平板电脑、掌上电脑、数字电视机、智能手机等类似设备,所涉及的动画可以是直播应用中的礼物动画、特效动画、弹幕动画等,还可以是本领域的其他类型的动画,本申请对此不做限制。在所述待播放的动画为直播应用中的礼物动画时,一般情况下是动画设计人员编辑的动画原稿,如:Photoshop格式、Flash格式、或者AE格式的动画原稿。对于不同格式的待播放动画,可以通过不同的转换手段将其转换为SVG格式的序列帧,在一个可选实现方式中,可以通过以下操作获取待播放动画的SVG格式的序列帧:通过Flash编辑器将Flash格式的待播放动画转换为SVG格式的序列帧;或者,通过BodyMovin将AE格式的待播放动画转换为SVG格式的序列帧。在本申请的其他实施例中,对于其他格式的待播放动画,可以采用相应的动画编辑器转换为SVG格式的序列帧。步骤102:将所述序列帧内各帧图像所含的动画对象划分为多项动画元素。在待播放动画的相邻序列帧中,一个动画对象在前后两个序列帧中,相对来说可能只有局部产生变化,其他部分保持不变。如果渲染在后的序列帧时,为了渲染一个动画对象局部的变化,将整个对象进行渲染,显然未产生变化的部分是被重复渲染的,由此会造成额外的动画文件体积增加和加载资源浪费。为了减少动画体积和降低加载资源的浪费,本申请实施例可以将待播放动画分解为各帧图像,将每帧图像内的动画对象按照符合其构成方式的规则拆分为若干动画元素,从而将每帧图像分解为各项动画元素以及各项动画元素在该帧图像内的动画参数。例如:待播放动画的各帧图像包含的动画对象为一人物对象,可以将该人物对象拆分为头、躯干、手、脚等元素。在将图像分解为动画元素时,需要逐帧比较图像,找到相邻帧之间的相同之处和不同之处,然后再分解,在一个例子中,可以通过以下操作将所述序列帧内各帧图像所含的动画对象划分为多项动画元素:逐帧比较各序列帧,获取各相邻帧之间的比较信息,其中,所述比较信息包括相邻帧之间的相同动画对象、相同动画对象之间的变化参数、不同动画对象以及不同动画对象之间的位置关系。基于所述比较信息,将每个动画对象中矢量未发生过变化的部分以及矢量发生过变化的各部分:分别作为不同的动画元素。本例子中,划分完每帧图像后,查找相同的动画元素,再从多个相同的动画元素中保留一个动画元素为一项动画元素,并记录各项动画元素分别属于哪一帧图像,以及各项动画元素在每帧图像中的组合关系、动画参数等,所述组合关系用于描述如何将不同的动画元素组合成每帧图像原来所含的动画对象,所述动画参数用于描述各项动画元素在每帧图像中的特征信息,可以包括位置参数、透明度参数、尺寸参数、图层顺序参数等。步骤103:获取每项动画元素的位图图像为该项动画元素对应的元素位图。本申请实施例中,位图图像也可以称为点阵图像或绘制图像,是由称作像素的单个点组成的,这些点可以进行不同的排列和染色以构成图样。可以本领域的相关技术手段获取各项动画元素的位图图像。对于相同的动画元素,只获取其中一个的位图图像。步骤104:根据每帧图像所含的动画元素以及所含动画元素在该帧图像内的动画参数,生成动画描述文件,所述动画描述文件包括动画属性、各帧图像所含的动画元素以及所含动画元素在各帧图像内的动画参数。本申请实施例中,所述动画参数可以包括位置参数、透明度参数、尺寸参数、图层顺序参数等。所述动画属性用于描述所述待播放动画的整体动画特征,可以包括动画的总帧数、各帧图像的标识、FPS(图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数)、动画大小等。各帧图像的标识可以包括各帧图像的名称、播放顺序等。步骤105:确定将所述动画描述文件以及各项动画元素对应的元素位图:作为所述待播放动画的动画源文件。本申请实施例中,为了减小动画描述文件的体积,相同的多个动画元素中可以保留一个动画元素的元素位图,因此所含的元素位图可以互不相同。确定所述待播放动画的动画源文件后,可以对所述动画源文件进行文件压缩;将压缩后的动画源文件传输到指定地址,以便动画播放端从该指定地址获取所述动画源文件。这里提到的指定地址可以是动画数据库的地址、动画服务器的地址、或者动画共享网盘的地址等等。图2a是本申请动画处理方法的另一个实施例流程图,该实施例可以用于终端中,包括以下步骤201-204:步骤201:获取待播放动画的动画源文件,其中,所述动画源文件包括动画描述文件和各元素位图,所述元素位图为所述待播放动画所含的动画元素的位图图像,所述动画描述文件包括动画属性、各帧图像所含的动画元素以及所含动画元素在各帧图像内的动画参数。本申请实施例涉及的终端可以是具有动画播放功能的终端,如:动画播放器、台式电脑、平板电脑、掌上电脑、数字电视机、智能手机等类似设备,所涉及的动画可以是直播应用中的礼物动画、特效动画、弹幕动画等,还可以是本领域的其他类型的动画,本申请对此不做限制。所涉及的具有动画播放功能的终端可以装设有SVGA播放器,需要播放动画前,可以从指定地址下载待播放动画的动画源文件。所下载的动画源文件由附图1对应的动画处理方法所生成。下载到动画源文件后,如果动画源文件为压缩文件,可以通过解压缩获取到其所含的画描述文件和各元素位图。步骤202:渲染所有的元素位图,生成各项动画元素的动画图层。本申请实施例中,生成各项动画元素的动画图层后,同一图层可以在待播放动画的不同帧图像中重复使用。步骤203:从所述动画描述文件中获取动画播放信息,所述动画播放信息包括动画属性、每帧图像所含的动画元素、以及所含动画元素在该帧图像中的动画参数。本申请实施例中,所述动画属性和所述动画参数与图1所示的动画处理方法中所述的动画属性、动画参数相应。可以直接从所述动画描述文件中读取动画播放信息。步骤204:基于所述动画播放信息,将每帧图像所含的动画元素的动画图层按照所述动画参数进行组合,实现所述待播放动画的播放。本申请实施例中,基于所述动画播放信息,可以获得各帧图像的播放顺序、所含的动画元素的动画图层、各动画图层的加载顺序、各动画图层的位置关系、各动画图层在各帧图像中的动画参数,然后基于这些信息按顺序加载动画图层和设置各动画图层的动画参数,渲染各帧图像,实现动画播放。此外,在渲染各帧图像时,通过比较各帧图像的播放顺序、各帧图像所含的动画元素以及所含动画元素在各帧图像内的动画参数,可以获得相邻帧图像之间的不同之处和相同之处,基于这些不同之处和相同之处,可以只渲染产生变化的这部分动画元素,未产生变化的动画元素不做处理,进而节约加载资源的开销。本申请为了节约动画体积和处理器开销,引入描述文件的机制,集中记录各帧图像的加载顺序(播放顺序),每项动画元素在当前关键帧帧图像预设被渲染的变化形态的变化参数(动画参数)。通过读取描述文件,执行描述文件中的内容,即可依次渲染出每个关键帧帧图像上内每项动画元素的变化形态,按照加载顺序调用各帧图像进行加载,构成动画。由于描述文件集中记录每项动画元素的变化参数,使得在渲染第一帧图像前,即可预加载渲染每项动画元素的形态变化时需要调用的资源。避免了在渲染每帧图像时,实时的计算该帧图像中需要渲染哪些动画元素,动态查询渲染这部分动画元素的形态变化所需要的资源,进而避免实时、动态的查询、加载、运算过程,对构成动画的运算资源的消耗,因此,引入描述文件机制,对构成动画的过程予以优化,可以降低构成动画的运算资源的消耗。在一个可选实现方式,可以通过以下操作基于所述动画播放信息,将每帧图像所含的动画元素的动画图层按照所述动画参数进行组合,实现所述待播放动画的播放:通过逐帧比较各帧图像所含的动画元素以及所含动画元素在各帧图像内的动画参数,获取各相邻帧图像之间比较信息,其中,所述比较信息包括相邻帧图像之间的相同动画元素、相同动画元素之间的变化参数、不同动画元素以及各项动画元素之间的层级关系。基于获取的比较信息,通过调整在先的一帧图像的动画图层种类、各动画图层的叠加顺序、各动画图层的叠加位置以及各动画图层的其他动画参数,实现在后的一帧图像的播放。本方式中,一类动画图层对应一种动画元素,各动画图层的叠加顺序、叠加位置由设计者在设计动画时根据动画呈现效果设置。所述其他动画参数可以是动画图层的透明度、形变量、位移、容器尺寸等。此外,在动画的加载过程(渲染过程)中,某些动画元素在第一帧图像中就首次显示在动画中,某些动画元素直到第十帧图像才首次出现在动画中。如图2b所示,对于第一帧图像需要首次显示的动画元素A1,其初始状态在第一帧图像即可见;对于在第一帧图像之后的图像中被首次渲染显示的动画元素B1、C1,在第一帧图像中变化初始形态可以为不可见,当描述文件执行加载到预设该项这些动画元素首次被渲染的显示的一帧图像时,通过设置这些动画元素的动画参数,将这些动画元素的变化形态设置为可见,如图2c所示,动画元素A1在该图中为仍处于可见状态的动画元素A2,通过设置动画元素B1的动画参数,使其在首次出现的图像中形态如动画元素B2的可见状态,动画元素C1在该图中仍为不可见状态的动画元素C2。因此,在渲染动画第一帧图像前即对所有动画元素进行预渲染,不在第一帧图像显示的动画元素可以设置为不可见),当加载到需要显示之前未显示的动画元素的一帧图像时,只需要通过设置这些动画元素的动画参数来修改其可见状态,即可显示这些动画元素,无需将这些动画元素重新渲染为可显示状态。单独就渲染动画元素的资源开销而言,在显示第一帧图像前对动画元素的静态预渲染,资源开销显著低于在渲染各帧图像时对动画元素的动态渲染。而且相对于重新渲染动画的一项动画元素,仅改变动画元素的可见状态,可显著降低动画的加载开销。一般情况下,通过设置动画元素的以下位置参数、透明度、容器尺寸(尺寸参数)、形变量、位移量、图层顺序等,可以改变其可见状态:设置动画元素的位置参数,可以控制动画元素出现在各帧图像中的初始位置。设置动画元素的透明度,可以控制动画元素在序列帧中是否可见,如透明度为100%时,动画元素完全可见;透明度为0%时,动画元素完全不可见;透明度介于100%-0%之间时,动画元素表现出不同程度的透视效果。设置动画元素的透明度,还可以控制动画元素的颜色,通过改变动画元素的红、黄、蓝三原色的透明度,实现类同于调色的过程,达到改变动画元素的颜色的效果。设置动画元素的形变量,可以控制动画元素的形态变化。设置动画元素的容器尺寸,可以控制动画元素在序列帧中的显示范围。设置动画元素的位移量,可以控制动画元素的相对初始位置的移动距离。设置动画元素的同层顺序,可以区分控制同一帧图像中相同动画元素(可以指同一序列帧中处于不同图层的相同动画元素),还可以控制各帧图像中各项动画元素的相互遮挡关系。由上述实施例可知:获取待播放动画的SVG格式的序列帧,然后将每帧图像所含的动画对象拆分为多项动画元素,再获取每项动画元素的位图图像,然后生成用于描述动画属性、各帧图像所含的动画元素以及所含动画元素在各帧图像内的动画参数的动画描述文件,最终确定将所述动画描述文件以及各项动画元素的位图图像:作为所述待播放动画的动画源文件。因为动画源文件仅包括动画元素的位图图像、以及动画描述文件,其所占空间大小远远小于:原来重复包含各项动画元素的位图图像的各帧图像,所以可以有效减小动画文件的体积,能解决现有技术中动画文件体积过大的弊端。此外,通过对动画源文件进行处理实现动画播放时,获取包括动画描述文件和各项动画元素的位图图像的动画源文件,渲染所有的位图图像,生成各项动画元素的动画图层,然后从所述动画描述文件中获取动画播放信息,再基于所述动画播放信息,将每帧图像所含的动画元素的动画图层按照所述动画参数进行组合,实现所述待播放动画的播放。这样在播放不同帧动画时无需重复渲染相同的动画元素的位图图像,因此能在快速实现动画播放的同时可以有效降低处理器和内存的消耗。应用到直播领域后,播放动画时CPU占用率仅为原播放方案的一半,GPU占用率升幅不大,内存占用亦仅为原播放方案的一半。动画源文件的体积仅为原播放方案的10%。与前述动画处理方法的实施例相对应,本申请还提供了动画处理装置的实施例。参见图3,图3是本申请动画处理装置的一个实施例框图,该装置可包括:序列帧获取模块310、元素划分模块320、位图获取模块330、文件生成模块340和源文件确定模块350。其中,序列帧获取模块310,用于获取待播放动画的SVG格式的序列帧。元素划分模块320,用于将所述序列帧内各帧图像所含的动画对象划分为多项动画元素。位图获取模块330,用于获取每项动画元素的位图图像为该项动画元素对应的元素位图。文件生成模块340,用于根据每帧图像所含的动画元素以及所含动画元素在该帧图像内的动画参数,生成动画描述文件,所述动画描述文件包括动画属性、各帧图像所含的动画元素以及所含动画元素在各帧图像内的动画参数。源文件确定模块350,用于确定将所述动画描述文件以及各项动画元素对应的元素位图:作为所述待播放动画的动画源文件。在一个可选的实现方式中,序列帧获取模块310还可以包括(图3中未示出):第一获取模块,用于通过Flash编辑器将Flash格式的待播放动画转换为SVG格式的序列帧。或者,第二获取模块,用于通过BodyMovin将AE格式的待播放动画转换为SVG格式的序列帧。在另一个可选的实现方式中,元素划分模块320还可以包括(图3中未示出):逐帧比较模块,用于逐帧比较各序列帧,获取各相邻帧之间的比较信息,其中,所述比较信息包括相邻帧之间的相同动画对象、相同动画对象之间的变化参数、不同动画对象以及不同动画对象之间的位置关系。元素划分子模块,用于基于所述比较信息,将每个动画对象中矢量未发生过变化的部分以及矢量发生过变化的各部分:分别作为不同的动画元素。在另一个可选的实现方式中,所述动画参数包括位置参数、透明度参数、尺寸参数、图层顺序参数。在另一个可选的实现方式中,所述动画属性包括动画的总帧数、各帧图像的标识、FPS、动画大小。在另一个可选的实现方式中,本申请实施例的动画处理装置还可以包括(图3中未示出):文件压缩模块,用于对所述动画源文件进行文件压缩。文件传输模块,用于将压缩后的动画源文件传输到指定地址,以便动画播放端从该指定地址获取所述动画源文件。参见图4,图4是本申请动画处理装置的另一个实施例框图,该装置可包括:源文件获取模块410、位图渲染模块420、信息获取模块430和动画播放模块440。其中,源文件获取模块410,用于获取待播放动画的动画源文件,其中,所述动画源文件包括动画描述文件和各元素位图,所述元素位图为所述待播放动画所含的动画元素的位图图像,所述动画描述文件包括动画属性、各帧图像所含的动画元素以及所含动画元素在各帧图像内的动画参数。位图渲染模块420,用于渲染所有的元素位图,生成各项动画元素的动画图层。信息获取模块430,从所述动画描述文件中获取动画播放信息,所述动画播放信息包括动画属性、每帧图像所含的动画元素、以及所含动画元素在该帧图像中的动画参数。动画播放模块440,用于基于所述动画播放信息,将每帧图像所含的动画元素的动画图层按照所述动画参数进行组合,实现所述待播放动画的播放。在一个可选的实现方式中,动画播放模块440还可以包括(图4中未示出):比较信息获取模块,用于通过逐帧比较各帧图像所含的动画元素以及所含动画元素在各帧图像内的动画参数,获取各相邻帧图像之间比较信息,其中,所述比较信息包括相邻帧图像之间的相同动画元素、相同动画元素之间的变化参数、不同动画元素以及各项动画元素之间的层级关系。图层调整模块,用于基于获取的比较信息,通过调整在先的一帧图像的动画图层种类、各动画图层的叠加顺序、各动画图层的叠加位置以及各动画图层的其他动画参数,实现在后的一帧图像的播放。上述装置中各个单元(或模块)的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元或模块可以是或者也可以不是物理上分开的,作为单元或模块显示的部件可以是或者也可以不是物理单元或模块,即可以位于一个地方,或者也可以分布到多个网络单元或模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。本申请动画处理装置的实施例可以应用在电子设备上。具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现中,电子设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备、互联网电视、智能机车、智能家居设备或者这些设备中的任意几种设备的组合。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器等可读介质中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本申请动画处理装置所在电子设备的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。电子设备的存储处理器可以是可执行指令的存储器;处理器可以耦合存储器,用于读取所述存储器存储的程序指令,并作为响应,执行如下操作:获取待播放动画的SVG格式的序列帧;将所述序列帧内各帧图像所含的动画对象划分为多项动画元素;获取每项动画元素的位图图像为该项动画元素对应的元素位图;根据每帧图像所含的动画元素以及所含动画元素在该帧图像内的动画参数,生成动画描述文件,所述动画描述文件包括动画属性、各帧图像所含的动画元素以及所含动画元素在各帧图像内的动画参数;确定将所述动画描述文件以及各项动画元素对应的元素位图:作为所述待播放动画的动画源文件。在另一实施例中,电子设备的存储处理器可以是可执行指令的存储器;处理器可以耦合存储器,用于读取所述存储器存储的程序指令,并作为响应,执行如下操作:获取待播放动画的动画源文件,其中,所述动画源文件包括动画描述文件和各元素位图,所述元素位图为所述待播放动画所含的动画元素的位图图像,所述动画描述文件包括动画属性、各帧图像所含的动画元素以及所含动画元素在各帧图像内的动画参数;渲染所有的元素位图,生成各项动画元素的动画图层;从所述动画描述文件中获取动画播放信息,所述动画播放信息包括动画属性、每帧图像所含的动画元素、以及所含动画元素在该帧图像中的动画参数;基于所述动画播放信息,将每帧图像所含的动画元素的动画图层按照所述动画参数进行组合,实现所述待播放动画的播放。在其他实施例中,处理器所执行的操作可以参考上文方法实施例中相关的描述,在此不予赘述。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1