动画文件生成及播放方法、装置和系统与流程

文档序号:16065707发布日期:2018-11-24 12:38阅读:366来源:国知局
本申请涉及通信
技术领域
,尤其涉及一种动画文件生成及播放方法、装置和系统。
背景技术
目前电子终端可以安装视频客户端、网页客户端等客户端,客户端可以采用动画播放技术来播放动画文件,以便实现小视频的播放功能。以奇秀web端为例,特效动画的格式为swf格式,技术上受限于flashplayer播放器,无法在其它平台(js前端、安卓、ios等)使用。目前,adobe公司宣布即将停止flash的相关服务,所以需要采用新技术方案实现web端特效动画的展示。技术实现要素:鉴于此,本申请提供一种动画文件生成及播放方法、装置和系统,可以原始动画文件转换为通用版的重组动画文件,以便后续在其它平台上播放重组动画文件;另外,重组动画文件相对于原始动画文件而言,其资源体积较小,可以占用较小存储空间。为了解决上述问题,提供了下述技术特征:一种动画文件生成方法,包括:获取包含多个图像帧的原始动画文件;逐一拆分所述原始动画文件中图像帧,获得与图像帧一一对应的帧数据;按所述多个图像帧的播放顺序,合并所述多个图像帧一一对应的多个帧数据,获得重组动画文件。一种动画文件播放方法,包括:按重组动画文件中多个帧数据排列顺序,下载并获取重组动画文件中一帧数据,将该帧数据作为当前帧数据;其中所述重组动画文件包括从原始动画文件中拆分多个图像帧后获得的与多个图像帧一一对应的多个帧数据,且,所述多个帧数据按照多个图像帧的播放顺序依次排列;生成与所述当前帧数据对应的重组图像帧;渲染并播放所述重组图像帧;在所述当前帧数据非所述重组动画文件中末尾帧数据的情况下,执行按重组动画文件中多个帧数据排列顺序,下载并获取重组动画文件中一帧数据,将该帧数据作为当前帧数据的步骤,直到所述当前帧数据为末尾帧数据。一种动画文件生成装置,包括:获取单元,用于获取包含多个图像帧的原始动画文件;拆分单元,用于逐一拆分所述原始动画文件中图像帧,获得与图像帧一一对应的帧数据;合并单元,用于按所述多个图像帧的播放顺序,合并所述多个图像帧一一对应的多个帧数据,获得重组动画文件。一种服务器,其上存储应用程序,执行该应用程序用于实现如下步骤:按重组动画文件中多个帧数据排列顺序,下载并获取重组动画文件中一帧数据,将该帧数据作为当前帧数据;其中所述重组动画文件包括从原始动画文件中拆分多个图像帧后获得的与多个图像帧一一对应的多个帧数据,且,所述多个帧数据按照多个图像帧的播放顺序依次排列;生成与所述当前帧数据对应的重组图像帧;渲染并播放所述重组图像帧;在所述当前帧数据非所述重组动画文件中末尾帧数据的情况下,执行按重组动画文件中多个帧数据排列顺序,下载并获取重组动画文件中一帧数据,将该帧数据作为当前帧数据的步骤,直到所述当前帧数据为末尾帧数据。一种动画文件播放装置,包括:下载单元,用于按重组动画文件中多个帧数据排列顺序,下载并获取重组动画文件中一帧数据,将该帧数据作为当前帧数据;其中所述重组动画文件包括从原始动画文件中拆分多个图像帧后获得的与多个图像帧一一对应的多个帧数据,且,所述多个帧数据按照多个图像帧的播放顺序依次排列;生成单元,用于生成与所述当前帧数据对应的重组图像帧;播放单元,用于渲染并播放所述重组图像帧;判断单元,用于在判定所述当前帧数据非所述重组动画文件中末尾帧数据的情况下进入下载单元,直到所述当前帧数据为末尾帧数据。一种动画文件播放系统,其特征在于,包括:服务器,用于获取包含多个图像帧的原始动画文件;逐一拆分所述原始动画文件中图像帧,获得与图像帧一一对应的帧数据;按所述多个图像帧的播放顺序,合并所述多个图像帧一一对应的多个帧数据,获得重组动画文件;终端,用于按重组动画文件中多个帧数据排列顺序,下载并获取重组动画文件中一帧数据,将该帧数据作为当前帧数据;生成与所述当前帧数据对应的重组图像帧;渲染并播放所述重组图像帧;在所述当前帧数据非所述重组动画文件中末尾帧数据的情况下,执行按重组动画文件中多个帧数据排列顺序,下载并获取重组动画文件中一帧数据,将该帧数据作为当前帧数据的步骤,直到所述当前帧数据为末尾帧数据。通过以上技术手段,可以实现以下有益效果:本申请可以获取包含多个图像帧的原始动画文件,逐一拆分所述原始动画文件中图像帧,获得与图像帧一一对应的帧数据;按所述多个图像帧的播放顺序,合并所述多个图像帧一一对应的多个帧数据,获得重组动画文件。重组动画文件仅仅包含原始动画文件中每个图像帧的帧数据,所以重组动画文件不再为swf格式、gif格式等特效动画格式。即,本申请可以将原始动画文件转换为通用版的重组动画文件,以便后续在其它平台上播放重组动画文件。此外,重组动画文件包括多个图像帧一一对应的多个帧数据,可以理解的是,帧数据的资源体积小于完整图像帧的资源体积,进而由多个帧数据组成的重组动画文件的资源体积,小于原始动画文件的资源体积。因此,本申请还可以减小动画文件的资源体积。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1a和1b为本申请实施例公开的一种动画播放系统的结构示意图;图2为本申请实施例公开的一种动画文件生成方法的流程图;图3为本申请实施例公开的一种二进制文件的示意图;图4为本申请实施例公开的又一种动画文件生成方法的流程图;图5为本申请实施例公开的一种帧素材集的示意图;图6为本申请实施例公开的一种动画文件播放方法的流程图;图7为本申请实施例公开的又一种动画文件播放方法的流程图;图8为本申请实施例公开的一种动画文件生成装置的结构示意图;图9为本申请实施例公开的一种动画文件播放装置的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。为了便于本领域技术人员理解,本申请提供了一种动画处理系统。参见图1a,动画文件处理系统包括:处理终端100,用于获取包含多个图像帧的原始动画文件,逐一拆分所述原始动画文件中图像帧,获得与图像帧一一对应的帧数据,按所述多个图像帧的播放顺序,合并所述多个图像帧一一对应的多个帧数据获得重组动画文件,上传重组动画文件以及动画文件标识至服务器200。与处理终端100相连的服务器200,用于存储动画文件标识以及重组动画文件以及两者对应关系。当然,处理终端100的执行过程也可以在服务器200上实现(参见图1b所示的系统),对于具体实现架构不做限定。与服务器200相连的播放终端300,用于按重组动画文件中多个帧数据排列顺序,下载并获取重组动画文件中一帧数据,将该帧数据作为当前帧数据;生成与所述当前帧数据对应的重组图像帧;渲染并播放所述重组图像帧;在所述当前帧数据非所述重组动画文件中末尾帧数据的情况下,执行按重组动画文件中多个帧数据排列顺序,下载并获取重组动画文件中一帧数据,将该帧数据作为当前帧数据的步骤,直到所述当前帧数据为末尾帧数据。通过上述技术特征可知,本申请具有以下有益效果:第一,适用性高、性能较高。重组动画文件仅仅包含原始动画文件中每个图像帧的帧数据,所以重组动画文件不再为swf格式、gif格式等特效动画格式。即,本申请可以将原始动画文件转换为通用版的重组动画文件,以便后续在其它平台上播放重组动画文件。第二,资源体积小。重组动画文件包括多个图像帧一一对应的多个帧数据,可以理解的是,帧数据的资源体积小于完整图像帧的资源体积,进而由多个帧数据组成的重组动画文件的资源体积,小于原始动画文件的资源体积。因此,本申请还可以减小动画文件的资源体积。第三,播放性能高,缩短动画播放等待时间。本申请中一个图像帧对应一个帧数据,所以播放终端可以边从服务器下载帧数据,边播放帧数据对应的图像帧,直到重组动画文件播放完毕。相较于现有动画播放技术必须下载动画文件的全部数据才可以播放动画文件(用户需等待一段时间以便动画文件全部下载完毕)而言,本申请可以边下载边播放图像帧,从而缩短播放动画文件的等待时间。第四,能够实现动态插入信息。本申请中在当前图像帧还包含用于动态插入信息的扩展部件的情况下,帧数据还包括用于描述所述扩展部件的扩展信息;所述扩展部件包括用于插入字符的文本框,和/或,用于插入图像的锚点。有益效果在于:可以方便在播放视频的过程中动态添加插入信息。即,可以动态设置文本框内容,或者,在锚点处插入图像的目的。插入信息也可以插入文本或插入图像,即本实施例支持动态插入文本或图像。为了便于本领域技术人员详细了解上述动画处理系统,下面分别对处理终端100和播放终端300进行详细说明。首先对处理终端100进行详细说明。根据本申请提供的一个实施例,提供一种动画文件生成方法,参见图2,可以包括以下步骤:步骤s201:获取包含多个图像帧的原始动画文件。处理终端100可以获取原始动画文件,可以理解的是原始动画文件包括按照播放顺序排列的多个完整的图像帧,也即一个图像帧为一幅图像,图像具有形状各异的素材,不同素材位于不同位置,以组成具有意境或含义的图像。例如,一幅图像包含太阳、树木和草地三个素材,且,三个素材位于不同位置,以展示一幅太阳照耀树木和草地意境的图像。原始动画文件可以包括swf格式的动画文件,即目前仅可在flashplayer播放器上播放的动画文件,以便在flash播放器取消后,还可以利用本方案来播放swf格式的动画文件。当然原始动画文件还可以为其它格式的动画文件,例如,gif格式动画文件、svg格式动画文件等,本申请对此不做限定。步骤s202:逐一拆分所述原始动画文件中图像帧,获得与图像帧一一对应的帧数据。原始动画文件包括多个按照播放顺序排列的多个图像帧,优选情况下,可以按照多个图像帧的播放顺序逐一对每个图像帧进行拆分操作。也即,按照多个图像帧的播放顺序由前至后依次拆分图像帧。步骤s202可以采用如下方式执行:步骤s2021:在所述原始动画文件中按播放顺序选择未拆分图像帧作为当前图像帧。初始情况下,原始动画文件中多个图像帧均未执行拆分操作,将原始动画文件第一个图像帧(也即初始图像帧)作为当前图像帧;后续依次按图像帧的播放顺序选择下一未拆分图像帧作为当前图像帧。步骤s2022:拆分所述当前图像帧获得当前图像帧对应的当前帧数据。处理终端获取当前图像帧后,可以拆分当前图像帧,从而获得当前图像帧对应的当前帧数据;步骤2022拆分所述当前图像帧获得当前图像帧对应的当前帧数据,具体包括:s1:确定所述当前图像帧的当前帧素材集;其中,所述当前帧素材集包括:所述当前图像帧包含的多个素材中,排除已拆分图像帧所包含素材后的剩余素材。s2:确定所述当前图像帧的当前帧信息;其中,所述当前帧信息包括:与所述当前帧素材集包含的多个素材一一对应的多个素材描述信息,以及,与所述当前图像帧包含的多个素材一一对应的多个素材信息。可选的,在图像帧还包含用于动态插入信息的扩展部件的情况下,与图像帧一一对应的帧数据的帧信息还包括:用于描述所述扩展部件的扩展信息。其中,所述扩展部件包括用于插入字符的文本框,和/或,用于插入图像的锚点。所述扩展信息包括扩展部件标识、所述扩展部件的位置参数和用于对插入信息添加特效的效果参数。s3:构建所述当前图像帧对应的当前帧数据;其中,所述当前帧数据包括所述当前帧素材集,和,所述当前帧信息。关于步骤s2022上述三个步骤s1、s2和s3的执行过程可以参见图4所示的实施例,由于内容较多在此暂不展开详细描述。步骤s2023:判断当前图像帧是否为原始动画文件的末尾图像帧,若否则进入步骤s2021,若是则结束。也即:在所述当前图像帧非原始动画文件末尾图像帧也即最后一个图像帧的情况下,进入步骤s2021在原始动画文件中按播放顺序选择下一未处理图像帧作为当前图像帧的步骤,直到所述当前图像帧为最后图像帧。接步骤s202进入步骤s203:按所述多个图像帧的播放顺序,合并所述多个图像帧一一对应的多个帧数据,获得重组动画文件。优选的,处理终端按预设二进制文件格式和所述多个图像帧的播放顺序,合并所述多个图像帧一一对应的帧数据,获得二进制文件,并将获得的二进制文件,确定为所述重组动画文件。例如,与多个图像帧一一对应的多个帧数据为帧数据1、帧数据2和帧数据3,多个图像帧的播放顺序也为图像帧1、图像帧2和图像帧3,则合并多个图像帧一一对应的多个帧数据的重组动画文件为{帧数据1,帧数据2,帧数据3}。上述技术特征可以实现以下有益效果:通过上述技术特征可知,重组动画文件仅仅包含原始动画文件中每个图像帧的帧数据,所以重组动画文件不再为swf格式、gif格式等特效动画格式。即,本申请可以将原始动画文件转换为通用版的重组动画文件,以便后续在其它平台上播放重组动画文件。此外,重组动画文件包括多个图像帧一一对应的多个帧数据,可以理解的是,帧数据的资源体积小于完整图像帧的资源体积,进而由多个帧数据组成的重组动画文件的资源体积,小于原始动画文件的资源体积。因此,本申请还可以减小动画文件的资源体积。本申请还提供一种二进制文件,用于存储重组动画文件。参见图3,本申请提供二进制文件的示意图,二进制文件包括:文件头,用于表示该二进制文件为重组动画文件的文件头;头部数据块,用于包含生成帧数据对应的图像帧过程中所使用预设图像的预设宽度和预设高度。其中,预设图像为利用帧数据还原图像帧过程中所使用的预设图像,以便将帧数据还原至预设图像上形成图像帧。多个用于按多个图像帧播放顺序依次存储帧数据的数据块。参见图3,本申请还提供二进制文件中各部分的具体实例。其中,文件头可以采用89495844来表示,以用于表示该二进制文件为重组动画文件。头部数据块和帧数据块统称为数据块,数据块可以包括用于表示数据块长度的数据长度(4byte),用于表示为头部数据块或帧数据块的类型(1byte),以及数据。数据长度(4byte)类型(1byte)数据对于头部数据块而言,该数据具体包括用于表示重组动画文件版本的特效类型(1byte)、帧率(1byte)、总帧长(2byte)、预设宽度(2byte)、预设长度(2byte)。其中,特效类型可以用于指示重组动画文件的版本1、版本2、版本3等等,以便于本申请提供的方案后续提出重组动画文件的新版本后,二进制文件还可以向后兼容新版本。其中,总帧长可以表示原始动画文件所有的图像帧数量。对于帧数据块而言,该数据具体包括:帧类型(1byte)、偏移x(2byte)、偏移y(2byte)、帧信息长(2byte)、帧信息、帧素材集。其中,帧类型用于表示帧数据的版本1、版本2、版本3等等,以便于本申请提供的方案后续提出帧数据的新版本后,二进制文件还可以向后兼容新版本。偏移x和偏移y,用于表示利用帧数据还原图像帧后,需要在指定位置显示图像帧过程中,在显示屏幕上对图像帧的偏移量。帧信息和帧素材集为图像帧的帧数据,帧信息包括与图像帧所包含的多个素材一一对应的多个素材信息和素材描述信息。其中,素材信息包括素材标识、图像帧中该素材的位置参数、图像帧中该素材携带的效果参数,以及图像帧中该素材相对于帧素材集中素材的形状变换参数。关于素材信息和素材描述信息的具体内容可以参见图4所示的实施例,在此暂不赘述。接步骤s203进入步骤s204:上传重组动画文件和动画文件标识至服务器。处理终端在获取重组动画文件后,再获取动画文件标识(也即原始动画文件的标识),并将重组动画文件和动画文件标识发送至服务器,以供服务器存储。本实施例的有益效果为:本申请将帧数据按播放顺序打包成特定格式的二进制文件,一个图像帧对应一个帧数据,所以可以实现后续边下载播放帧数据,无需像现有技术一样必须等待动画文件整体下载完毕才可逐帧解析并播放,这样可以缩短播放视频的等待时间。参见图4,下面对步骤s2022拆分所述当前图像帧获得当前图像帧对应的当前帧数据,进行详细描述。步骤s401:识别所述当前图像帧,获得所述当前图像帧包含的多个素材以及各个素材对应的属性参数。处理终端识别当前图像帧,获得当前图像帧所包含的所有素材,以及,每个素材对应的属性参数。素材对应的属性参数包括:图像帧中素材的位置参数、图像帧中素材携带的效果参数(透明度、偏转量、滤镜等)以及图像帧中素材的形状参数(宽度、高度)。步骤s402:确定所述当前图像帧的当前帧素材集。在所述当前图像帧为所述原始动画文件中初始图像帧的情况下,识别所述当前图像帧包含的多个素材;构建一个或多个位图图像,用于展示所述当前图像帧包含的多个素材;将所述一个或多个位图图像作为所述当前帧素材集。在所述当前图像帧非所述原始动画文件中初始图像帧的情况下,识别所述当前图像帧包含的多个素材;在所述当前图像帧包含的多个素材中,排除已拆分图像帧包含的素材,获得所述当前图像帧的剩余素材;构建一个或多个位图图像,用于展示所述当前图像帧的剩余素材;将所述一个或多个位图图像作为所述当前帧素材集。可以理解的是,若当前图像帧非初始图像帧的情况下,在此之前已经具有已有帧素材集。为了避免后续帧素材集存储相同图像(相同图像即为重复多余图像),可以将当前图像帧所包含的所有素材逐一与已有帧素材集的图像进行匹配。假设图像帧1包含素材1、素材2和素材3,素材3已存储于已有帧素材集中,所以图像帧1的帧素材集仅包含素材1和素材2即可,减少了素材数量。这使得重组动画文件对于同一素材仅存储一次,进一步缩小了重复动画文件的体积。本步骤中的帧素材集可以采用位图图像方式来实现,即利用位图图像存储有多个素材。其有益效果为:由于各个播放终端均可以处理位图格式的位图图像,不会因存在格式不匹配问题而不适用;所以采用位图图像来存储素材,可以保证本实施例中获得的帧素材集可以被各个播放终端识别并用于后续重组动画文件。本步骤中可以构建一个或多个位图图像,用于展示帧素材集中的多个素材,即帧素材集中所有素材分散于多个位图图像上;位图图像的数量可以根据实际情况而定。参见图5,优选情况下,帧素材集中所有素材位于一个位图图像上,也即一个位图图像上存储帧素材集的所有素材,且,该位图图像为包含所有素材且具有最小面积的位图图像。这样可以保证尽量小的缩小帧数据的资源体积。为了尽量缩小帧数据的资源体积,在添加素材至位图图像的过程中,可以采用一些添加图像方式使得位图图像具有最小面积。例如,10*10像素的三个素材,可以采用100*100像素的位图图像来展示,但是该位图图像的资源体积较大,所以优选可以采用30*30像素的一个位图图像来展示。可以理解的是,添加图像方式并保证位图图像具有最小面积的技术已为成熟技术,在此不再赘述。步骤s403:确定所述当前图像帧的当前帧信息。s1:为所述当前图像帧包含的多个素材赋予素材标识。在所述当前图像帧为所述原始动画文件中初始图像帧的情况下,所以为所述当前帧素材集中各个素材赋予唯一的素材标识。在所述当前图像帧非所述原始动画文件中初始图像帧的情况下,为所述当前帧素材集中各个素材赋予唯一的素材标识,并为对当前图像帧包含的多个素材中所述当前帧素材集之外的其余素材,赋予已有已有帧素材集中相同素材的素材标识。这样可以保证相同素材仅具有一个素材标识。假设图像帧1包含素材1、素材2和素材3,素材3已存储于已有帧素材集中,所以图像帧1的帧素材集仅包含素材1和素材2即可,并可以为素材1和素材2分配唯一的素材标识;为素材3赋予已有帧素材集所包含素材3的素材标识。s2:确定与所述当前帧素材集包含的多个素材一一对应的多个素材描述信息;其中,素材描述信息包括:素材的素材标识、素材位于位图图像中的位置参数和形状参数。为了保证后续可以从位图图像中提取素材,在添加素材至位图图像后,可以确定描述位图图像中素材的素材描述信息。其中,素材描述信息包括素材在位图图像中的位置参数和形状参数。位置参数为素材于位图图象中横坐标和纵坐标,以素材为长方形正方形为例,形状参数为素材的长度和宽度;以素材为圆柱形为例,形状参数为可以是半径和高度;以素材为三角形为例,形状参数可以底长和高度;关于形状参数不再一一列举。s3:确定与所述当前图像帧包含的多个素材一一对应的多个素材信息。其中,素材对应的素材信息包括:素材的素材标识、形状转换参数以及所述当前图像帧中素材的属性参数。所述素材的属性参数包括素材位于所述当前图像帧中的位置参数和素材于所述当前图像帧中携带的效果参数。对于所述当前帧素材集中素材,形状转换参数为该素材于所述当前图像帧中形状参数与该素材于所述当前帧素材集中形状参数的比例;此情况下,将当前图像帧中素材的形状参数与当前的帧素材集中素材的形状参数进行计算比例,将比例作为图像帧中素材相对于帧素材集中素材的形状变换参数。对于所述当前图像帧中当前帧素材集外的其余素材,形状转换参数为该素材于所述当前图像帧中形状参数与该素材于已有帧素材集中形状参数的比例。例如,形状参数包括长度和宽度,则形状变换参数包括长度缩放比例,和,宽度缩放比例;以当前图像帧中素材的形状参数为长10cm宽10cm,当前的帧素材集中素材的形状参数为长2cm宽2cm,则长度缩放比例和宽度缩放比例均为5:1。根据前面关于帧素材集的介绍,可以理解的是,当前图像帧中有的素材存在于已有帧素材集中,已有帧素材集中的素材形状与当前图像帧中的素材形状一致,但是素材大小可能不一致。形状变换参数的目的为便于对已有帧素材集中的素材按形状变换参数进行变换后,可以得到当前图像帧中的素材形状大小。为此,将当前图像帧中素材的形状参数与已有帧素材集或当前的帧素材集中素材的形状参数进行计算比例,获得图像帧中素材相对于帧素材集中素材的形状变换参数。利用当前图像帧的素材参数、素材标识和形状变换参数,生成素材信息;素材信息包括素材标识、图像帧中该素材的位置参数、图像帧中该素材携带的效果参数,以及图像帧中该素材相对于帧素材集中素材的形状变换参数。在当前图像帧还包含用于动态插入信息的扩展部件的情况下,在识别所述当前图像帧后获得扩展部件对应的扩展信息;则当前图像帧对应帧数据中帧信息还包括扩展部件对应的扩展信息。所述扩展部件包括用于插入字符的文本框,和/或,用于插入图像的锚点。其中所述扩展信息包括扩展部件标识、所述扩展部件的位置参数和用于对插入信息添加特效的效果参数。s4:确定所述当前图像帧的当前帧信息;其中,所述当前帧信息包括:与所述当前帧素材集包含的多个素材一一对应的多个素材描述信息,以及,与所述当前图像帧包含的多个素材一一对应的多个素材信息,和扩展信息(若有的话)接步骤s403进入步骤s404:构建所述当前图像帧的当前帧数据;其中,所述当前帧数据包括所述当前帧素材集,和,所述当前帧信息。上述处理终端100执行的过程为本申请的预先执行过程,在服务器存储重组动画文件和动画文件标识后,便可以供播放终端300进行下载并播放。在清楚介绍处理终端100的执行过程后,下面介绍播放终端300的执行过程。根据本申请提供的一个实施例,提供一种动画文件播放方法的实施例。参见图6,可以包括以下步骤:步骤s601:发送包含动画文件标识的播放指令至服务器。由于动画资源存储于服务器上,因此播放终端在有播放动画的需求时,可以发送包含动画文件标识的播放指令至服务器。步骤s602:从服务器按重组动画文件中多个帧数据排列顺序,下载并获取重组动画文件中一帧数据,将该帧数据作为当前帧数据;其中所述重组动画文件包括从原始动画文件中拆分多个图像帧后获得的与多个图像帧一一对应的多个帧数据,且,多个帧数据按照多个图像帧的播放顺序依次排列。服务器存储的重组动画文件中的多个帧数据按照播放顺序排列,所以,播放终端可以按播放顺序从服务器逐一下载并获取到各个帧数据。以播放终端下载并获取的当前帧数据为例,对后续步骤进行说明。可以理解的是,播放终端对于其它帧数据的处理过程是一致的。步骤s603:生成与所述当前帧数据对应的重组图像帧。所述当前帧数据包括:帧素材集和帧信息,帧信息包括素材描述信息、素材信息和扩展信息(如有的话)。关于帧数据的具体描述可以参见图4所示的实施例,在此不再赘述。参见图7,步骤s603所述生成与所述当前帧数据对应的重组图像帧,包括:步骤s6031:将所述当前帧数据的当前帧素材集存储于素材库,并在素材描述信息列表中添加所述当前帧素材集中素材描述信息,并更新素材描述信息中位置参数。在获取当前帧数据的帧素材集后,可以将当前帧数据的帧素材集存储于素材库中,素材库可以采用一个位图图像来实现,当前图像帧之前帧素材集中的素材已经存储于该位图图像中,即采用一个大位图图像来不断存储各个帧素材集中素材,以便后续在素材库中查找并提取素材。并且,将当前帧素材集的素材描述信息添加至素材描述信息列表中,由于素材由原来位图图像更改为存储于大位图图像中后,其位置参数也发生变化,所以还会更新素材描述信息中位置参数。本步骤的有益效果在于:逐一将各个帧数据的帧素材集存储于一个素材库中,所以素材库为当前帧数据的帧素材集以及之前帧数据帧素材集的并集,在重组图像帧过程中可以共用素材库中素材,即实现一个素材供多个图像帧调取并使用。这样既能保证帧数据为排除多余素材的最简帧数据,还能保证重组图像帧过程中完整重组得到图像帧。例如,图像帧1拆分后包含素材1,图像帧2拆分后包含素材1、图像帧3拆分后也包含素材1,则图像帧1的帧素材集必然包含素材1,图像帧2和图像帧3的帧素材集不包含素材1。在重组图像帧1过程中素材1已经存储于素材库中,后续在重组图像帧2和图像帧3的过程中,图像帧2和图像帧3均可以从素材库中调取素材1并使用,从而实现共用素材的目的。步骤s6032:在所述当前帧数据的帧信息中选择未处理素材信息作为当前素材信息。在当前图像帧之前,播放终端已经从二进制文件的头数据块中获取预设宽度和预设高度,可以基于预设宽度和预设高度构建空白图像作为预设图像。步骤s6033:基于所述当前素材信息从素材库中查找素材,并添加符合当前素材信息的素材至预设图像。每个素材信息均包括素材标识、图像帧中该素材的位置参数、图像帧中该素材携带的效果参数以及图像帧中该素材相对于帧素材集中素材的形状变换参数。则所述基于所述素材信息从素材库中查找素材,并添加符合素材信息的素材至预设图像,可以包括:s1:利用当前素材信息中的素材标识,在素材描述信息列表确定素材的素材描述信息,并在素材库中利用素材描述信息确定并提取素材。s2:对该素材按所述素材信息中形状变换参数对素材进行形状变换;在素材库中查找到素材后,对素材按形状变换参数进行形状变换,获得形状变换后的素材。s3:对该素材添加所述当前素材信息中效果参数对应的特效;按当前素材信息中的效果参数对素材添加特效,获得添加特效后的素材。s4:将该素材添加至预设图像中位置参数对应的位置处。接步骤s6033进入步骤s6034:判断当前素材信息是否为末尾素材信息,若是则进入步骤s6035,若否则进入步骤s6032。在所述当前素材信息非末尾素材信息的情况下,进入在所述当前帧数据的帧信息中选择下一素材信息作为当前素材信息的步骤,直到所述当前素材信息为最后素材信息。步骤s6035:在帧信息包括扩展信息的情况下,在预设图像上基于扩展信息添加扩展部件。基于扩展部件的形状参数生成扩展部件,并对扩展部件添加效果参数对应的特效,添加扩展部件至预设图像中位置参数对应的位置处。在步骤s603后便生成与当前帧数据对应的重组图像帧。接步骤s603进入步骤s604:渲染并播放所述重组图像帧。步骤s605:在播放重组图像帧的过程中,接收插入信息。步骤s606:添加插入信息至播放扩展部件中。其中扩展部件包括用于插入字符的文本框,和/或,用于插入图像的锚点。在重组图像帧中具有扩展部件,可以方便在播放视频的过程中,动态添加插入信息。即,可以动态设置文本框内容,或者,在锚点处插入图像。步骤s607:判断当前帧数据是否为所述重组动画文件中末尾帧数据,若是则结束,若否则进入步骤s601。在所述当前帧数据非所述重组动画文件中末尾帧数据的情况下,进入步骤s601直到所述当前帧数据为末尾帧数据。本实施例的有益效果为:本实施例中由于重组动画文件中为按照播放顺序依次排列的多个帧数据,可以实现边下载边重组帧数据获得重组图像帧边播放重组图像帧,而无需像现有技术一样必须等待动画文件整体下载完毕才逐帧解析并播放。本申请可以缩短播放动画文件的等待时间。此外,本实施例中的重组图像帧中具有扩展部件,可以方便在播放视频的过程中,动态添加插入信息。即,可以动态设置文本框内容,或者,在锚点处插入图像。本申请还提供与图2所示的动画文件生成方法对应的一种动画文件生成装置,参见图8,具体包括:获取单元81,用于获取包含多个图像帧的原始动画文件;拆分单元82,用于逐一拆分所述原始动画文件中图像帧,获得与图像帧一一对应的帧数据。合并单元83,用于按所述多个图像帧的播放顺序,合并所述多个图像帧一一对应的多个帧数据,获得重组动画文件。按预设二进制文件格式和所述多个图像帧的播放顺序,合并所述多个图像帧一一对应的帧数据,获得二进制文件;将获得的二进制文件,确定为所述重组动画文件。其中,所述拆分单元82,具体包括:选择单元821,用于在所述原始动画文件中按播放顺序选择未拆分图像帧作为当前图像帧;当前拆分单元822,用于拆分所述当前图像帧获得当前图像帧对应的当前帧数据;判断单元823,用于在判定所述当前图像帧非所述原始动画文件中末尾图像帧的情况下,执行在所述原始动画文件中按播放顺序选择未拆分图像帧作为当前图像帧的步骤,直到所述当前图像帧为末尾图像帧。所述当前拆分单元822,具体包括:确定帧素材集单元8221,用于确定所述当前图像帧的当前帧素材集;其中,所述当前帧素材集包括:所述当前图像帧包含的多个素材中,排除已拆分图像帧所包含素材后的剩余素材;确定帧信息单元8222,用于确定所述当前图像帧的当前帧信息;其中,所述当前帧信息包括:与所述当前帧素材集包含的多个素材一一对应的多个素材描述信息,以及,与所述当前图像帧包含的多个素材一一对应的多个素材信息;构建单元8223,用于构建所述当前图像帧对应的当前帧数据;其中,所述当前帧数据包括所述当前帧素材集,和,所述当前帧信息。其中,确定帧素材集单元8221,包括:在所述当前图像帧为所述原始动画文件中初始图像帧的情况下,识别所述当前图像帧包含的多个素材;构建一个或多个位图图像,用于展示所述当前图像帧包含的多个素材;将所述一个或多个位图图像作为所述当前帧素材集。所述构建一个或多个位图图像,用于展示所述当前图像帧包含的多个素材,包括:构建一个位图图像,并展示所述当前图像帧包含的多个素材于该位图图像中;其中,该位图图像中素材之间无遮挡,且,该位图图像为包含所述当前图像帧包含的多个素材中具有最小面积的位图图像;其中,确定帧素材集单元8221,包括:在所述当前图像帧非所述原始动画文件中初始图像帧的情况下,识别所述当前图像帧包含的多个素材;在所述当前图像帧包含的多个素材中,排除已拆分图像帧包含的素材,获得所述当前图像帧的剩余素材;构建一个或多个位图图像,用于展示所述当前图像帧的剩余素材;将所述一个或多个位图图像作为所述当前帧素材集。所述构建一个或多个位图图像,用于展示所述当前图像帧的剩余素材,包括:构建一个位图图像,并展示所述当前图像帧的剩余素材于一个或多个位图图像中;其中,该位图图像中素材之间无遮挡,且,该位图图像为包含所述当前图像帧的剩余素材中具有最小面积的位图图像。其中,确定帧信息单元8222,包括:赋予标识单元82221,用于为所述当前图像帧包含的多个素材赋予素材标识;确定素材描述信息单元82222,用于确定与所述当前帧素材集包含的多个素材一一对应的多个素材描述信息;其中,素材描述信息包括:素材的素材标识、素材位于位图图像中的位置参数和形状参数;确定素材信息单元82223,用于确定与所述当前图像帧包含的多个素材一一对应的多个素材信息;其中,素材对应的素材信息包括:素材的素材标识、形状转换参数以及所述当前图像帧中素材的属性参数;对于所述当前帧素材集中素材,形状转换参数为该素材于所述当前图像帧中形状参数与该素材于所述当前帧素材集中形状参数的比例;对于所述当前帧素材集外的其余素材,形状转换参数为该素材于所述当前图像帧中形状参数与该素材于已有帧素材集中形状参数的比例;所述素材的属性参数包括:素材位于所述当前图像帧中的位置参数和素材于所述当前图像帧中携带的效果参数。其中,赋予标识单元82221具体包括:在所述当前图像帧为所述原始动画文件中初始图像帧的情况下,为所述当前帧素材集中各个素材赋予唯一的素材标识;在所述当前图像帧非所述原始动画文件中初始图像帧的情况下,为所述当前帧素材集中各个素材赋予唯一的素材标识,并为对当前图像帧包含的多个素材中所述当前帧素材集之外的其余素材,赋予已有已有帧素材集中相同素材的素材标识。在构建一个位图图像后,统一待展示于位图图像中素材为预设大小;则所述素材描述信息中的形状参数为预设大小,或,缺省值;对于所述当前帧素材集中素材以及对于所述当前帧素材集外的其余素材而言:形状转换参数为该素材于所述当前图像帧中形状参数与预设大小的比例。扩展信息获取单元82224,用于在所述当前图像帧还包含用于动态插入信息的扩展部件的情况下,还包括识别所述当前图像帧并获得用于描述所述扩展部件的扩展信息;则所述当前图像帧的当前帧信息还包括所述扩展部件的扩展信息;其中,扩展部件标识、所述扩展部件的位置参数和用于对插入信息添加特效的效果参数;所述扩展部件包括用于插入字符的文本框,和/或,用于插入图像的锚点。关于图8所示动画文件生成装置的详细内容,可以参见图2所示的动画文件生成方法的详细内容,在此不再赘述。参见图9,本申请还提供与图6所示的动画文件播放方法对应的一种动画文件播放装置,具体包括:下载单元91,用于按重组动画文件中多个帧数据排列顺序,下载并获取重组动画文件中一帧数据,将该帧数据作为当前帧数据;其中所述重组动画文件包括从原始动画文件中拆分多个图像帧后获得的与多个图像帧一一对应的多个帧数据,且,多个帧数据按照多个图像帧的播放顺序依次排列;生成单元92,用于生成与所述当前帧数据对应的重组图像帧;播放单元93,用于渲染并播放所述重组图像帧。判断单元94,用于在所述当前帧数据非所述重组动画文件中末尾帧数据的情况下,执行按重组动画文件中多个帧数据排列顺序,下载并获取重组动画文件中一帧数据,将该帧数据作为当前帧数据的步骤,直到所述当前帧数据为末尾帧数据。所述当前帧数据包括当前帧素材集和当前帧信息;则生成单元92包括:存储单元921,用于将所述当前帧数据的当前帧素材集存储于素材库,并在素材描述信息列表中添加所述当前帧素材集中素材描述信息,并更新素材描述信息中位置参数;选择单元922,用于在所述当前帧数据的当前帧信息中选择未处理素材信息作为当前素材信息;查找并添加单元923,用于基于所述当前素材信息从素材库中查找素材,并添加符合所述当前素材信息的素材至预设图像;末尾判断单元924,用于在所述当前素材信息非末尾素材信息的情况下,进入在所述当前帧数据的帧信息中选择未处理素材信息作为当前素材信息的步骤,直到所述当前素材信息为末尾素材信息。其中,所述当前素材信息包括素材的素材标识、形状转换参数以及所述当前图像帧中素材的属性参数;所述素材的属性参数包括素材位于所述当前图像帧中的位置参数和素材于所述当前图像帧中携带的效果参数;则查找并添加单元923,具体包括:提取单元9231,用于利用当前素材信息中的素材标识,在素材描述信息列表确定素材的素材描述信息,并在素材库中利用素材描述信息确定并提取素材;形状变换单元9232,用于对该素材按所述当前素材信息中形状变换参数对素材进行形状变换;添加特效单元9233,用于对该素材添加所述当前素材信息中效果参数对应的特效;添加素材单元9234,用于将该素材添加至预设图像中位置参数对应的位置处。所述当前帧信息还包括用于描述所述扩展部件的扩展信息;则查找并添加单元923还包括:添加扩展部件单元9235,用于在预设图像中基于扩展信息添加扩展部件;其中,所述扩展信息包括扩展部件标识、所述扩展部件的位置参数和用于对插入信息添加特效的效果参数;则所述在预设图像中基于扩展信息添加扩展部件,包括在位置参数处添加扩展部件,并对该扩展部件添加与效果参数对应的特效。播放单元93,还用于在渲染并播放所述重组图像帧过程中接收插入信息,添加插入信息至所述扩展部件中;所述扩展部件包括用于插入字符的文本框,和/或,用于插入图像的锚点。关于图9所示动画播放装置的详细内容,可以参见图6所示的动画文件生成方法的详细内容,在此不再赘述。本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1