CN110300047B - 一种动画播放方法、装置及存储介质 - Google Patents
一种动画播放方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110300047B CN110300047B CN201810243364.0A CN201810243364A CN110300047B CN 110300047 B CN110300047 B CN 110300047B CN 201810243364 A CN201810243364 A CN 201810243364A CN 110300047 B CN110300047 B CN 110300047B
- Authority
- CN
- China
- Prior art keywords
- animation
- played
- information
- key frame
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/10—Multimedia information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/18—Commands or executable codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44008—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440227—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by decomposing into layers, e.g. base layer and one or more enhancement layers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8146—Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
Abstract
本发明实施例公开了一种动画播放方法、装置及存储介质,本发明实施例可以获取待播放的动画文件;当检测到携带动画标识的播放指令时,从动画文件中获取与动画标识对应的待播放动画的信息;从待播放动画的信息中获取待播放动画中每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息;根据每个层次的待播放对象及其对应的动作信息和关键帧信息对待播放动画进行播放。该方案可以对所属不同层次的每个待播放对象进行控制,并将每个层次的待播放对象及其对应的动作信息和关键帧信息进行组合来实现对动画进行播放,由于播放的每个层次的待播放对象相对于播放图像帧的文件较小,因此,可以节省动画播放的资源,以及提高了动画播放的灵活性。
Description
技术领域
本发明涉及图像处理技术领域,具体涉及一种动画播放方法、装置及存储介质。
背景技术
随着终端的不断普及,以及终端技术的迅速发展,通过终端进行信息交互的内容越来越丰富,例如,动画交互,以动画表情为例,用户可以通过终端上的即时通讯向好友发送动画表情,或者,接收好友发送的动画表情,在终端的显示界面上即可播放该动画表情。
现有技术中,动画表情一般是以便携式网络图形(Portable Network Graphics,PNG)序列帧存在,对于PNG序列帧的动画,该动画文件包括多帧图像,其动画文件比较大,而且当进行动画播放时,只能以频率为基础逐帧图像进行播放,例如,每间隔预设时间依次播放不同帧图像。
在对现有技术的研究和实践过程中,本发明的发明人发现,对于PNG序列帧的动画,其动画文件比较大,会占用较多的资源,例如占用较多的存储资源或消耗较多的传输资源等,而且只能以频率为基础的逐帧图像播放来实现动画播放,无法灵活实现复杂的属性动画效果。
发明内容
本发明实施例提供一种动画播放方法、装置及存储介质,旨在节省动画播放的资源,以及提高动画播放的灵活性。
为解决上述技术问题,本发明实施例提供以下技术方案:
一种动画播放方法,包括:
获取待播放的动画文件;
当检测到携带动画标识的播放指令时,从所述动画文件中获取与所述动画标识对应的待播放动画的信息;
从所述待播放动画的信息中获取所述待播放动画中每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息;
根据每个层次的待播放对象及其对应的动作信息和关键帧信息对所述待播放动画进行播放。
一种动画播放装置,包括:
文件获取单元,用于获取待播放的动画文件;
信息获取单元,用于当检测到携带动画标识的播放指令时,从所述动画文件中获取与所述动画标识对应的待播放动画的信息;
对象获取单元,用于从所述待播放动画的信息中获取所述待播放动画中每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息;
播放单元,用于根据每个层次的待播放对象及其对应的动作信息和关键帧信息对所述待播放动画进行播放。
一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行上述动画播放方法中的步骤。
本发明实施例可以获取待播放的动画文件,并当检测到携带动画标识的播放指令时,可以从动画文件中获取与动画标识对应的待播放动画的信息,以及从待播放动画的信息中获取待播放动画中每个层次的待播放对象及其动作信息和关键帧信息;然后根据每个层次的待播放对象及其对应的动作信息和关键帧信息对待播放动画进行播放。该方案可以对所属不同层次的每个待播放对象进行控制,并将每个层次的待播放对象及其对应的动作信息和关键帧信息进行组合来实现对动画进行播放,由于播放的每个层次的待播放对象相对于播放图像帧的文件较小,因此,可以节省动画播放的资源,以及提高了动画播放的灵活性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的动画播放系统的场景示意图;
图2是本发明实施例提供的动画播放方法的流程示意图;
图3是本发明实施例提供的动画播放的示意图;
图4是本发明实施例提供的动画播放方法的另一流程示意图;
图5是本发明实施例提供的表情动画播放的示意图;
图6是本发明实施例提供的表情动画播放的另一示意图;
图7是本发明实施例提供的动画播放的结构示意图;
图8是本发明实施例提供的动画播放的另一结构示意图;
图9是本发明实施例提供的终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种动画播放方法、装置及存储介质。
请参阅图1,图1为本发明实施例所提供的动画播放系统的场景示意图,该动画播放系统可以包括动画播放装置,该动画播放装置具体可以集成在平板电脑、手机、笔记本电脑、及台式电脑等具备储存单元并安装有微处理器而具有运算能力的终端中,该终端可以是播放终端,主要用于获取待播放的动画文件,该动画文件可以是从终端本地获取,也可以是从服务器获取,例如,制作终端将制作好的动画文件上传至服务器,服务器存储该动画文件,在需要使用动画文件时,播放终端可以向服务器发送动画文件获取请求,并接收服务器基于该获取请求反馈的动画文件。该动画文件可以包括一个或多个待播放动画的信息。当检测到携带动画标识的播放指令时,可以从动画文件中获取与动画标识对应的待播放动画的信息。其中,该播放指令可以是用户在动画图标所在区域内输入的触发操作所生成的,或者是,该播放指令可以是在即时通讯会话框内接收到对端发送的待播放动画的动画图标时所生成的,其中对端可以是用户好友所在的终端。待播放动画的信息可以包括每个层次的待播放对象及其动作信息和关键帧信息等。在得到待播放动画的信息后,此时可以从待播放动画的信息中获取待播放动画中每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息,该动作信息可以包括时间戳、以及每个时间戳对应的旋转、平移、放大及缩小等动作,该关键帧信息可以包括待播放对象所在层次的信息。然后,根据每个层次的待播放对象及其对应的动作信息和关键帧信息对待播放动画进行播放;等等。
此外,该动画播放系统还可以包括服务器,该服务器主要用于存储动画文件,例如,制作终端可以将动画文件上传至服务器,服务器可以对接收到的动画文件进行存储。服务器可以接收播放终端发送的动画文件获取请求,并基于该动画文件获取请求向播放终端发送动画文件,服务器也可以在预设时间戳向预设终端主动发送动画文件等。
需要说明的是,图1所示的动画播放系统的场景示意图仅仅是一个示例,本发明实施例描述的动画播放系统以及场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着动画播放系统的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
以下分别进行详细说明。
在本实施例中,将从动画播放装置的角度进行描述,该动画播放装置具体可以集成在平板电脑、手机、笔记本电脑、及台式电脑等具备储存单元并安装有微处理器而具有运算能力的终端中,该终端可以是播放终端,以下将以播放终端为例进行详细说明。
一种动画播放方法,包括:获取待播放的动画文件;当检测到携带动画标识的播放指令时,从动画文件中获取与动画标识对应的待播放动画的信息;从待播放动画的信息中获取待播放动画中每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息;根据每个层次的待播放对象及其对应的动作信息和关键帧信息对待播放动画进行播放。
请参阅图2,图2是本发明一实施例提供的动画播放方法的流程示意图。该动画播放方法可以包括:
在步骤S101中,获取待播放的动画文件。
其中,该待播放的动画文件中可以包括一个或多个待播放动画的信息,该待播放动画的信息可以包括每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息等。每个层次的待播放对象可以是在将动画进行层次拆分得到的气泡、全屏等层次的待播放对象,动作信息可以包括时间戳、以及待播放对象在每个时间戳对应执行的旋转、平移、放大或缩小等动作,关键帧信息可以包括待播放对象所在层次的信息。例如,当一个待播放动画中包括全屏、马及人时,该待播放动画中的待播放对象为全屏、马及人,其中全屏、马及人可以分别在不同的图层。
播放终端可以是从终端本地获取动画文件,也可以是从服务器获取动画文件,例如,在需要使用动画文件时,播放终端可以主动向服务器发送动画文件获取请求,并接收服务器基于该获取请求反馈的动画文件。
在某些实施方式中,获取待播放的动画文件的步骤可以包括:接收服务器在预设时间戳发送的待播放的动画文件;或者,当动画文件存在更新时,接收服务器发送的更新后的动画文件,并将更新后的动画文件设置为待播放的动画文件。
具体地,服务器可以根据策略、需求或目的进行动态发布动画文件,此时播放终端可以是在预设时间戳被动接收服务器发送的动画文件等,例如,在元旦节、春节、劳动节、国庆节或中秋节等节日,播放终端可以接收服务器主动发送的关于节日的动画文件。或者是,当动画文件存在更新时,服务器可以动态发布动画文件,此时,播放终端可以接收服务器发送的更新后的动画文件,并将更新后的动画文件设置为待播放的动画文件。
为了提高动画播放的效率,制作终端可以预先对动画文件进行制作,并将制作好的动画文件存储在本地或者上传至服务器存储,也可以是既将动画文件存储在本地,又将动画文件上传至服务器存储。需要说明的是,该制作终端可以与播放终端是同一个终端,或者是,该制作终端可以与播放终端不是同一个终端。
在某些实施方式中,获取待播放的动画文件的步骤之前,制作终端可以对动画文件进行制作,具体可以如下:
(1)获取动画样本,以及为动画样本设置动画标识;
(2)对动画样本进行层次拆分,得到每个层次的待播放对象;
(3)对每个层次的待播放对象进行动画信息分解,得到每个待播放对象的动作信息和关键帧信息;
(4)根据动画标识、每个层次的待播放对象及其对应的动作信息和关键帧信息,生成动画文件。
制作终端可以制作多种类型的动画文件,可以根据不同礼物(例如,勋章及玫瑰花等)、不同表情(例如,大笑、戳一戳、及碎屏等)或不同节日的祝贺动画(例如,月饼、汤圆等)等设置对应的待播放对象,并分别对不同的待播放对象进行处理,生成不同类型的动画文件。
具体地,制作终端首先可以获取动画样本,其中,动画样本可以是通过预设的动画制作软件进行制作,可以理解的是,动画样本还可以直接从服务器下载,或通过其他方式获取,具体此处不作限定。其中,动画样本可以是可播放的完整动画,例如,动画样本可以是礼物动画、表情动画或节日祝贺动画等,对动画样本进行层次拆分及动画信息分解后,可以得到动画文件。当动画文件包括多个动画时,为了对每个动画进行区分,此时可以为动画样本设置动画标识,该动画标识用于唯一识别该动画样本,该动画标识可以动画名称或动画编号等,例如,该动画标识是由文字、数字和/或字母等组成的,还可以是其他组成形式的。
在得到动画样本后,制作终端可以对动画样本进行层次拆分,得到每个层次的待播放对象,该每个层次的待播放对象可以是分别设置在不同图层的待播放对象。例如,可以根据动画效果进行层次拆分,拆分为气泡待播放对象、及全屏待播放对象等层次,拆分得到的这些层次可以进行层次间组合播放以实现原动画效果。其中,气泡可以是在即时通讯会话框中发送信息时出现在界面中的信息承载组件。例如,还可以根据动画中包含的马、人和太阳等对象进行层次拆分,拆分为马、人和太阳等待播放对象,并将马、人和太阳等待播放对象分别设置在不同层次。也可以是结合动画效果及动画中包含的对象等多种因素进行层次拆分,具体拆分方式在此处不作限定。
可选地,制作终端对动画样本进行层次拆分,得到每个层次的待播放对象的步骤可以包括:
确定动画样本对应的目标关键帧;从目标关键帧中提取出待播放对象;将每个待播放对象设置在不同的图层,得到每个层次的待播放对象。
具体地,为了提高对动画样本进行层次拆分的准确性,制作终端可以对动画样本进行分析,确定动画样本对应的目标关键帧,该目标关键帧可以是动画样本中物体运动或变化的关键动作所处图像帧,该目标关键帧可以包括一帧或多帧。然后,制作终端从目标关键帧中提取出待播放对象,例如,可以目标关键帧进行图像识别,根据目标关键帧的像素值识别出待播放对象,得到的待播放对象可以是一个或多个。再将得到每个待播放对象分别设置在不同的图层,即一个待播放对象设置在一个图层,可以得到每个层次的待播放对象。
在得到每个层次的待播放对象后,制作终端可以对每个层次的待播放对象进行动画信息分解,得到每个待播放对象的动作信息和关键帧信息。此时,可以利用对象标记(JavaScript Object Notation,JSON)文本文件存储包括时间戳、以及待播放对象在每个时间戳执行对应的旋转、平移、放大或缩小等动作的动作信息,该动作信息还可以利用JSON文本文件的二进制格式(Binary Serialized Document Format,BSON)、可扩展标记语言(eXtensible Markup Language,XML)等格式进行存储;以及利用利用少量图片存储待播放对象的关键帧信息,例如利用PNG格式的图片存储关键帧信息等,而不需要大量图片存储动画样本的每帧图片信息。
可选地,制作终端对每个层次的待播放对象进行动画信息分解,得到每个待播放对象的动作信息和关键帧信息的步骤可以包括:
确定每个层次的待播放对象在目标关键帧中对应的待播放对象;从目标关键帧中提取出每个待播放对象的关键帧信息;获取每个目标关键帧的帧间动作信息;从帧间动作信息中提取出每个待播放对象的动作信息。
具体地,为了提高对待播放对象进行动画信息分解的精准性及可靠性,制作终端可以对动画样本进行分析,确定每个层次的待播放对象在目标关键帧中对应的待播放对象,例如,可以将每个层次的待播放对象与动画样本的目标关键帧进行比对,可以是像素值比对或者是轮廓比对等,当目标关键帧中的待播放对象与某个层次的待播放对象匹配时,即可确定某个层次的待播放对象在该目标关键帧内。然后制作终端可以从目标关键帧中提取出每个待播放对象的关键帧信息,以及获取每个目标关键帧的帧间动作信息,该帧间动作信息可以是动画样本的目标关键帧在每个时间戳对应的旋转、平移、放大或缩小等动作,此时制作终端可以从帧间动作信息中提取出每个待播放对象的动作信息。
在得到动画样本的动画标识、每个层次的待播放对象、以及每个层次的待播放对象的动作信息和关键帧信息后,可以将动画样本的动画标识、每个层次的待播放对象、及每个层次的待播放对象的动作信息和关键帧信息进行打包,生成动画文件。
在得到动画文件后,制作终端可以将动画文件存储在本地,为了节省存储空间,可以将动画文件进行压缩,得到压缩动画文件,将压缩动画文件存储在本地。由于动画文件中可以包括用于存储动作信息的文本文件,以及少量用于用于存储待播放对象的关键帧信息的图片信息,因此可以节省动画文件的存储资源。
制作终端也可以将动画文件上传至服务器,例如,可以将动画文件进行压缩,得到压缩动画文件,将压缩动画文件上传至服务器,由服务器存储该压缩动画文件。此时,服务器可以根据策略、需求或目的等进行动态发布动画文件,可以不随终端应用打包发布,服务器也可以将动画文件发送给各个终端,或者是仅发送给预设终端等。由于动画文件中可以包括用于存储动作信息的文本文件,以及少量用于用于存储待播放对象的关键帧信息的图片信息,因此可以减少传输资源的消耗及降低服务器的运营管理成本。
由于动画文件中可以包括多个动画,因此当动画文件中不同动画之间存在相同待播放对象时,多个动画可以共用同一个待播放对象。其中,共用同一个待播放对象多个动画可以是2个或6个等,该多个动画的个数可以根据实际需要进行灵活设置。以下将以2个动画共用同一个待播放对象为例进行举例说明,当然,动画文件中可能不只有2个动画共用同一个待播放对象,本实施例只是为了便于描述所举的例子,不应理解为是对共用同一个待播放对象的动画数量进行限定,但不管有多少个动画共用同一个待播放对象,动画文件生成的过程都是类似的,都可以按照该示例进行理解。
可选地,制作终端根据动画标识、每个层次的待播放对象及其对应的动作信息和关键帧信息,生成动画文件的步骤可以包括:
(a)当动画文件中包含第一动画和第二动画时,判断第一动画中是否存在与第二动画一致的目标待播放对象;
(b)若存在,则为目标待播放对象设置对象标识,以及获取第一动画中除目标待播放对象之外的剩余待播放对象;
(c)根据第一动画标识、对象标识、以及第一动画中每个层次的剩余待播放对象及其对应的动作信息和关键帧信息,生成第一动画文件;
(d)根据第二动画标识、第二动画中每个层次的待播放对象及其对应的动作信息和关键帧信息,生成第二动画文件;
(e)根据第一动画文件和第二动画文件生成动画文件。
为了节省动画制作的成本,以及节省动画文件的存储及传输等资源,制作终端可以对相同的待播放对象进行复用,具体地,当动画文件中包含第一动画和第二动画时,制作终端可以判断第一动画中是否存在与第二动画一致的目标待播放对象,其中,第一动画和第二动画均为待播放动画,目标待播放对象即为第一动画与第二动画之间相同的待播放对象,该目标待播放对象可以包括一个或多个。
当第一动画中存在与第二动画一致的目标待播放对象时,制作终端可以为目标待播放对象设置对象标识,该对象标识可以对象名称或对象编号等,例如,该对象标识是由文字、数字和/或字母等组成的,还可以是其他组成形式的。以及,制作终端可以获取第一动画中除目标待播放对象之外的剩余待播放对象,此时可以根据第一动画标识、对象标识、第一动画中每个层次的剩余待播放对象、第一动画中每个层次的剩余待播放对象的动作信息和关键帧信息,生成第一动画文件。并且,根据第二动画标识、第二动画中每个层次的待播放对象、第二动画中每个层次的待播放对象的动作信息和关键帧信息,生成第二动画文件。在得到第一动画对应的第一动画文件及第二动画对应的第二动画文件后,可以根据第一动画文件和第二动画文件生成动画文件。
当需要播放第一动画时,可以根据第一动画标识从动画文件的第一动画文件中获取对象标识、第一动画中每个层次的剩余待播放对象、第一动画中每个层次的剩余待播放对象的动作信息和关键帧信息等信息,根据获取到的这些信息对第一动画进行播放。当需要播放第二动画时,可以根据第二动画标识从动画文件的第二动画文件中获取第二动画中每个层次的待播放对象、第二动画中每个层次的待播放对象的动作信息和关键帧信息等信息,根据获取到的这些信息对第二动画进行播放。由于可以对待播放对象进行复用,降低了传输成本,因此可以提升动画文件发送时的即时性,避免出现动画的卡顿播放等问题。
在步骤S102中,当检测到携带动画标识的播放指令时,从动画文件中获取与动画标识对应的待播放动画的信息。
在获取得到待播放的动画文件后,播放终端可以判断是否检测到播放指令,该播放指令可以携带有动画标识等信息,当检测到播放指令时,可以从动画文件中获取与动画标识对应的待播放动画的信息,其中,待播放动画的信息可以包括待播放动画中每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息等。
在某些实施方式中,当检测到携带动画标识的播放指令时,从动画文件中获取与动画标识对应的待播放动画的信息的步骤可以包括:
当接收到在动画图标所在区域内输入的触发操作时,生成携带动画标识的播放指令;根据播放指令对动画文件进行解析,得到与动画标识对应的待播放动画的信息。
具体地,该播放指令可以是在动画图标所在区域内产生的,动画图标所在区域可以是在即时通讯的对话框中,动画发送候选列表中动画图标的显示区域;动画图标所在区域还可以是在即时通讯的对话框显示区域中,已发送或已接收的动画图标的显示区域等。例如,播放终端可以判断在动画图标所在区域内是否接收到输入的触发操作,当接收到在动画图标所在区域内输入的触发操作时,可以生成携带动画标识的播放指令。其中,触发操作可以是点击、按压或双击等操作。在生成播放指令后,可以指示播放终端对获取到的动画文件进行解析,例如,动画文件进行解压缩或解编码等,得到与动画标识对应的待播放动画的信息。
在某些实施方式中,当检测到携带动画标识的播放指令时,从动画文件中获取与动画标识对应的待播放动画的信息的步骤可以包括:
当在即时通讯会话框内接收到对端发送的待播放动画的动画图标时,生成携带动画标识的播放指令;根据播放指令对动画文件进行解析,得到与动画标识对应的待播放动画的信息。
具体地,该播放指令可以是在即时通讯会话框内接收到对端发送的待播放动画的动画图标产生的,其中,即时通讯会话框可以是QQ、腾讯通(Real Time eXpert,RTX)或微信等会话框,对端可以是与播放终端所在的终端组成会话框的另一终端,该对端可以向播放终端发送即时通讯消息或接收播放终端发送的即时通讯消息等。当在即时通讯会话框内接收到对端发送的待播放动画的动画图标时,可以生成携带动画标识的播放指令。在生成播放指令后,可以指示播放终端对获取到的动画文件进行解析,例如,动画文件进行解压缩或解编码等,得到与动画标识对应的待播放动画的信息。
在步骤S103中,从待播放动画的信息中获取待播放动画中每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息。
在得到待播放动画的信息后,播放终端可以从待播放动画的信息中获取待播放动画中每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息。
在某些实施方式中,当待播放对象包括目标待播放对象和剩余待播放对象时,从待播放动画的信息中获取待播放动画中每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息的步骤可以包括:
从待播放动画的信息中获取对象标识、每个层次的剩余待播放对象及其对应的动作信息和关键帧信息;根据对象标识获取目标待播放对象及其对应的动作信息和关键帧信息。
具体地,当动画文件中不同动画之间存在相同待播放对象,且多个动画可以共用同一个待播放对象时,在待播放动画的信息可以包括动画标识、对象标识、每个层次的剩余待播放对象、每个层次的剩余待播放对象的动作信息和关键帧信息,其中对象标识可以包括一个或多个,该剩余待播放对象可以是待播放动画中除共用的待播放对象(即目标待播放对象)之外剩余的待播放对象。
此时,播放终端可以从待播放动画的信息中获取对象标识、每个层次的剩余待播放对象,以及每个层次的剩余待播放对象的动作信息和关键帧信息。然后,从动画文件中获取与得到的对象标识对应的目标待播放对象,以及目标待播放对象的动作信息和关键帧信息,从而提高了信息获取的灵活性。其中,剩余待播放对象和目标待播放对象组成了待播放动画的待播放对象。
在步骤S104中,根据每个层次的待播放对象及其对应的动作信息和关键帧信息对待播放动画进行播放。
在得到每个层次的待播放对象后,播放终端可以根据每个层次的待播放对象及其对应的动作信息和关键帧信息,对待播放动画进行播放,例如,通过对每个关键帧信息之间的动作信息解析,以及每个关键帧信息拼接播放动画效果,实现通过对较低存储与传输成本的待播放动画的信息中的关键帧信息和动作信息的解析及衔接处理完成动画效果的播放。
在对待播放动画进行播放的过程中,播放终端可以先确定每个层次的待播放对象所在的图层,该图层中可以只包含一个待播放对象,以及确定每个图层的层次顺序,该层次顺序可以是播放动画时图层的播放时间及位置等。然后按照层次顺序,根据每个待播放对象及其对应的动作信息和关键帧信息对待播放动画进行播放,从而可以提高动画播放的便捷性。
例如,如图3所示,用户Maidou和用户Ali之间通过即时通讯进行信息交互,用户Ali在播放终端所在的终端,用户Maidou在对端,用户Maidou和用户Ali在互发消息的过程中,当用户Ali通过终端向用户Maidou在对端发送一个包含太阳、马和人的动画时,此时在即时通讯的显示界面内需要对该动画进行播放,在对该动画进行播放的过程中,首先,根据即时通讯的会话框内接收到的动画产生携带动画标识的播放指令,然后,从动画文件中获取与动画标识对应的动画的信息,从动画的信息中获取该动画中每个层次的待播放对象,得到分别在不同层次的太阳、马和人,其次,获取太阳、马和人的动作信息和关键帧信息,最后,可以根据太阳、马和人及其对应的动作信息和关键帧信息对该动画进行播放。
在某些实施方式中,根据每个层次的待播放对象及其对应的动作信息和关键帧信息对待播放动画进行播放的步骤可以包括:
(1)从动画文件中获取动画标识对应的时间戳信息;
(2)确定每个层次的待播放对象在时间戳信息中每个时间戳内所对应的动作信息和关键帧信息;
(3)根据每个时间戳内所对应的动作信息和关键帧信息对待播放动画进行播放。
其中,该动画文件还可以包括时间戳信息,该时间戳信息可以是待播放对象每个动作信息和关键帧信息对应的每个时间戳,该时间戳信息可以是贝塞尔曲线的形式,或者是其他形式等。播放终端在对待播放动画进行播放的过程中,可以从动画文件中获取动画标识对应的时间戳信息,以及确定每个层次的待播放对象在时间戳信息中每个时间戳内所对应的动作信息和关键帧信息。例如,当动画文件中存在待播放对象A和待播放对象B时,可以确定待播放对象A和待播放对象B在每个时间戳内所对应的动作信息和关键帧信息。需要说明的是,不同时间戳内所对应的动作信息可以一致,也可以不一致;不同时间戳内所对应的关键帧信息可以一致,也可以不一致。然后,播放终端可以根据每个时间戳内所对应的动作信息和关键帧信息对待播放动画进行播放。
可选地,根据每个时间戳内所对应的动作信息和关键帧信息对待播放动画进行播放的步骤可以包括:在每个时间戳内控制关键帧信息执行动作信息,得到每个时间戳内的动画帧;根据每个时间戳内的动画帧,对待播放动画进行播放。
具体地,在确定每个层次的待播放对象在每个时间戳内所对应的动作信息和关键帧信息后,播放终端可以在每个时间戳内控制关键帧信息执行相应的动作信息,得到每个时间戳内的动画帧。例如,可以在时间戳1控待播放对象的关键帧信息A向右平移预设距离,在时间戳2控待播放对象的关键帧信息B向左旋转90度。在得到每个时间戳对应的动画帧后,可以根据每个时间戳内的动画帧,对待播放动画进行播放。
由上可知,本发明实施例可以获取待播放的动画文件,并当检测到携带动画标识的播放指令时,可以从动画文件中获取与动画标识对应的待播放动画的信息,以及从待播放动画的信息中获取待播放动画中每个层次的待播放对象及其动作信息和关键帧信息;然后根据每个层次的待播放对象及其对应的动作信息和关键帧信息对待播放动画进行播放。该方案可以对所属不同层次的每个待播放对象进行控制,并将每个层次的待播放对象及其对应的动作信息和关键帧信息进行组合来实现对动画进行播放,由于播放的每个层次的待播放对象相对于播放图像帧的文件较小,因此,可以节省动画播放的资源,以及提高了动画播放的灵活性。
根据上述实施例所描述的方法,以下将举例作进一步详细说明。
本实施例以动画播放装置为播放终端为例,以播放终端通过即时通讯对表情动画进行播放为例,请参阅图4,图4为本发明实施例提供的动画播放方法的另一流程示意图。该方法流程可以包括:
S201、制作终端为表情动画样本设置动画标识,并对表情动画样本进行层次拆分,得到每个层次的待播放对象。
制作终端可以制作多种类型的表情动画文件,可以根据不同表情动画,例如,大笑、戳一戳、点赞、勾引、敲门、抓一下及碎屏等,设置对应的待播放对象,并分别对不同的待播放对象进行处理,生成不同类型的表情动画文件。
具体地,制作终端可以是通过预设的动画制作软件制作表情动画样本,或者,从服务器下载表情动画样本,当然,或表情动画样本还可以是通过其他方式获取,具体此处不作限定。
在得到表情动画样本后,制作终端可以为表情动画样本设置动画标识,该动画标识可以动画名称或动画编号等,例如,该动画标识是由文字、数字和/或字母等组成的,还可以是其他组成形式的。以及,对表情动画样本进行层次拆分,得到每个层次的待播放对象,例如,可以根据动画效果将表情动画样本拆分为拳头气泡待播放对象、及全屏待播放对象等,将这些待播放对象分别设置在不同层次(例如设置在不同的图层),拆分得到的这些层次可以进行层次间组合播放以实现原动画效果。
为了提高对表情动画样本进行层次拆分的准确性,制作终端可以确定表情动画样本对应的目标关键帧,该目标关键帧可以是表情动画样本中物体运动或变化的关键动作所处图像帧。然后,制作终端从目标关键帧中提取出待播放对象,将得到每个待播放对象分别设置在不同的图层,即可得到每个层次的待播放对象。可以理解的是,还可以通过其他方式对表情动画样本进行层次拆分,具体拆分方式在此处不作限定。
S202、制作终端对每个层次的待播放对象进行动画信息分解,得到每个待播放对象的动作信息和关键帧信息。
在得到每个层次的待播放对象后,制作终端可以对每个层次的待播放对象进行动画信息分解,得到每个待播放对象的动作信息和关键帧信息,例如,制作终端可以对表情动画样本进行分析,确定每个层次的待播放对象在目标关键帧中对应的待播放对象,然后可以从目标关键帧中提取出每个待播放对象的关键帧信息,以及获取每个目标关键帧的帧间动作信息,该帧间动作信息可以是表情动画样本的目标关键帧在每个时间戳对应的旋转、平移、放大或缩小等动作,此时制作终端可以从帧间动作信息中提取出每个待播放对象的动作信息。其中,动作信息可以包括待播放对象在各个时间戳对应执行旋转、平移、放大或缩小等动作,关键帧信息可以包括待播放对象所在层次的信息。此时,可以利用JSON文本文件或其他文件存储每个待播放对象的动作信息,以及利用利用PNG格式或其他格式的图片存储每个待播放对象的关键帧信息。
S203、制作终端根据动画标识、每个层次的待播放对象及其对应的动作信息和关键帧信息,生成表情动画文件。
在得到表情动画样本的动画标识、每个层次的待播放对象、以及每个层次的待播放对象的动作信息和关键帧信息后,制作终端可以根据表情动画样本的动画标识、每个层次的待播放对象、及每个层次的待播放对象的动作信息和关键帧信息,生成表情动画文件。可以将该表情动画文件存储在制作终端本地或者服务器。
为了节省动画制作的成本,以及节省动画文件的存储及传输等资源,制作终端可以对相同的待播放对象进行复用,例如,由于表情动画文件中可以包括多个表情动画,因此当表情动画文件中不同表情动画之间存在相同待播放对象时,多个动画可以共用同一个待播放对象。
S204、制作终端将表情动画文件上传至服务器。
制作终端在得到表情动画文件后,可以将动画文件存储在本地,为了节省存储空间,可以将动画文件进行压缩,得到压缩动画文件,将压缩动画文件存储在本地。或者是,制作终端也可以将动画文件上传至服务器,例如,可以将动画文件进行压缩,得到压缩动画文件,将压缩动画文件上传至服务器,由服务器存储该压缩动画文件。
S205、播放终端接收服务器发送的表情动画文件。
服务器可以根据策略、需求或目的进行动态发布动画文件,此时播放终端可以是在预设时间戳被动接收服务器发送的动画文件等,例如,在元旦节、春节、劳动节、国庆节或中秋节等节日,播放终端可以接收服务器主动发送的关于节日的动画文件。或者是,当动画文件存在更新时,服务器可以动态发布动画文件,此时,播放终端可以接收服务器发送的更新后的动画文件,并将更新后的动画文件设置为待播放的动画文件。
需要说明的是,该播放终端与制作终端可以是同一个终端,也可以是不同的终端,例如,播放终端可以是按照上述方法制作好表情动画文件后,将表情动画文件上传至服务器,播放终端还可以根据需求从服务器上下载表情动画文件,或者接收服务器主动发送的表情动画文件。
S204、当检测到携带动画标识的播放指令时,播放终端从表情动画文件中获取与动画标识对应的待播放表情动画的信息。
在得到表情动画文件后,当播放终端检测到携带动画标识的播放指令时,播放终端可以从表情动画文件中获取与动画标识对应的待播放表情动画的信息。其中,待播放表情动画的信息可以包括待播放表情动画中每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息等。
例如,如图5所示,播放终端所对应的用户Ali,在对端所对应的用户Maidou通过即时通讯进行信息交互的过程中,播放终端所对应的用户Ali可以在即时通讯的对话框中的表情动画候选列表选择其中一个碎屏的动画图标,点击该动画图标所在的显示区域内,即可向用户Maidou发送碎屏动画,此时产生携带碎屏动画标识的播放指令。
或者是,播放终端所对应的用户Ali向用户Maidou发送碎屏动画后,在即时通讯的会话框中显示碎屏动画图标,此时,点击会话框中显示的碎屏动画图标所在的显示区域,即可产生携带碎屏动画标识的播放指令。其中,即时通讯会话框可以是QQ、RTX或微信等会话框。
S205、播放终端从待播放表情动画的信息中获取待播放表情动画中每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息。
在得到待播放表情动画的信息后,播放终端可以从待播放表情动画的信息中获取待播放动画中每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息。
S206、播放终端根据每个层次的待播放对象及其对应的动作信息和关键帧信息对待播放表情动画进行播放。
在得到每个层次的待播放对象后,播放终端可以根据每个层次的待播放对象,以及每个层次的待播放对象的动作信息和关键帧信息,对待播放表情动画进行播放。例如,播放终端可以从动画文件中获取动画标识对应的时间戳信息,以及确定每个层次的待播放对象在时间戳信息中每个时间戳内所对应的动作信息和关键帧信息,然后根据每个时间戳内所对应的动作信息和关键帧信息对待播放动画进行播放,即可以在每个时间戳内控制关键帧信息执行动作信息,得到每个时间戳内的动画帧,并根据每个时间戳内的动画帧,对待播放动画进行播放。
例如,如图6所示,播放终端所对应的用户Ali,在对端所对应的用户Maidou通过即时通讯进行信息交互的过程中,播放终端所对应的用户Ali可以在即时通讯的对话框中接收用户Maidou通过对端发送的动画表情,当播放终端接收到对端发给的碎屏动画表情时,可以产生携带碎屏动画标识的播放指令,此时播放终端可以从表情动画文件中获取与碎屏动画标识对应的碎屏动画的信息,以及从碎屏动画的信息中获取碎屏动画中每个层次的待播放对象,得到分别在不同层次的拳头、全屏、碎屏等待播放对象,并获取拳头、全屏、碎屏等每个待播放对象的动作信息和关键帧信息。播放终端可以确定每个层次的待播放对象所在的图层的层次顺序,按照层次顺序在显示界面内,显示根据拳头、全屏、碎屏等每个层次的待播放对象及其对应的动作信息和关键帧信息对碎屏动画进行播放的效果。当播放终端接收到对端连续发给的多个碎屏动画表情时,可以依次播放每个碎屏动画,可以实现表情动画的即时播放,以及通过交互实现最后一个动画前的动画淡出的效果,增强交互性,提升了表情动画切换播放效果。
本发明实施例可以将表情动画根据效果分隔表情动画,得到每个层次的待播放对象及其对应的动作信息和关键帧信息,并在接收到播放指令时,可以根据每个层次的待播放对象及其对应的动作信息及关键帧信息进行衔接处理完成表情动画效果的播放,不仅能够将丰富而复杂的表情动画效果以低成本进行存储与传输、高可靠性实现了表情动画的可运营需求,而且表情动画的播放具有即时性及友好交互等特性,提高了表情动画播放的灵活性。
为便于更好的实施本发明实施例提供的动画播放方法,本发明实施例还提供一种基于上述动画播放方法的装置。其中名词的含义与上述动画播放方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图7,图7为本发明实施例提供的动画播放装置的结构示意图,其中该动画播放装置可以包括文件获取单元301、信息获取单元302、对象获取单元303及播放单元304。
其中,文件获取单元301,用于获取待播放的动画文件。
其中,该待播放的动画文件中可以包括一个或多个待播放动画的信息,该待播放动画的信息可以包括每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息等。每个层次的待播放对象可以是在将动画进行层次拆分得到的气泡、全屏等层次的待播放对象,动作信息可以包括时间戳、以及待播放对象在每个时间戳对应执行的旋转、平移、放大或缩小等动作,关键帧信息可以包括待播放对象所在层次的信息。例如,当一个待播放动画中包括全屏、马及人时,该待播放动画中的待播放对象为全屏、马及人,其中全屏、马及人可以分别在不同的图层。
文件获取单元301可以是从终端本地获取动画文件,也可以是从服务器获取动画文件,例如,在需要使用动画文件时,文件获取单元301可以主动向服务器发送动画文件获取请求,并接收服务器基于该获取请求反馈的动画文件。
在某些实施方式中,文件获取单元具体可以用于:接收服务器在预设时间戳发送的待播放的动画文件;或者,当动画文件存在更新时,接收服务器发送的更新后的动画文件,并将所述更新后的动画文件设置为待播放的动画文件。
具体地,服务器可以根据策略、需求或目的进行动态发布动画文件,此时文件获取单元301可以是在预设时间戳被动接收服务器发送的动画文件等,例如,在元旦节、春节、劳动节、国庆节或中秋节等节日,文件获取单元301可以接收服务器主动发送的关于节日的动画文件。或者是,当动画文件存在更新时,服务器可以动态发布动画文件,此时,文件获取单元301可以接收服务器发送的更新后的动画文件,并将更新后的动画文件设置为待播放的动画文件。
为了提高动画播放的效率,制作终端可以预先对动画文件进行制作,并将制作好的动画文件存储在本地或者上传至服务器存储,也可以是既将动画文件存储在本地,又将动画文件上传至服务器存储。需要说明的是,该制作终端可以与播放终端是同一个终端,或者是,该制作终端可以与播放终端不是同一个终端。
在某些实施方式中,制作终端可以包括样本获取单元、拆分单元、分解单元、及生成单元等,具体可以如下:
样本获取单元,用于获取动画样本,以及为动画样本设置动画标识;
拆分单元,用于对动画样本进行层次拆分,得到每个层次的待播放对象;
分解单元,用于对每个层次的待播放对象进行动画信息分解,得到每个待播放对象的动作信息和关键帧信息;
生成单元,用于根据动画标识、每个层次的待播放对象及其对应的动作信息和关键帧信息,生成动画文件。
制作终端可以制作多种类型的动画文件,可以根据不同礼物(例如,勋章及玫瑰花等)、不同表情(例如,大笑、戳一戳、及碎屏等)或不同节日的祝贺动画(例如,月饼、汤圆等)等设置对应的待播放对象,并分别对不同的待播放对象进行处理,生成不同类型的动画文件。
具体地,样本获取单元首先可以获取动画样本,其中,动画样本可以是通过预设的动画制作软件进行制作,可以理解的是,动画样本还可以直接从服务器下载,或通过其他方式获取,具体此处不作限定。其中,动画样本可以是可播放的完整动画,例如,动画样本可以是礼物动画、表情动画或节日祝贺动画等,对动画样本进行层次拆分及动画信息分解后,可以得到动画文件。当动画文件包括多个动画时,为了对每个动画进行区分,此时可以为动画样本设置动画标识,该动画标识用于唯一识别该动画样本,该动画标识可以动画名称或动画编号等,例如,该动画标识是由文字、数字和/或字母等组成的,还可以是其他组成形式的。
在得到动画样本后,拆分单元可以对动画样本进行层次拆分,得到每个层次的待播放对象,该每个层次的待播放对象可以是分别设置在不同图层的待播放对象。例如,可以根据动画效果进行层次拆分,拆分为气泡待播放对象、及全屏待播放对象等层次,拆分得到的这些层次可以进行层次间组合播放以实现原动画效果。其中,气泡可以是在即时通讯会话框中发送信息时出现在界面中的信息承载组件。例如,还可以根据动画中包含的马、人和太阳等对象进行层次拆分,拆分为马、人和太阳等待播放对象,并将马、人和太阳等待播放对象分别设置在不同层次。也可以是结合动画效果及动画中包含的对象等多种因素进行层次拆分,具体拆分方式在此处不作限定。
可选地,拆分单元可以具体用于:确定动画样本对应的目标关键帧;从目标关键帧中提取出待播放对象;将每个待播放对象设置在不同的图层,得到每个层次的待播放对象。
具体地,为了提高对动画样本进行层次拆分的准确性,拆分单元可以对动画样本进行分析,确定动画样本对应的目标关键帧,该目标关键帧可以是动画样本中物体运动或变化的关键动作所处图像帧,该目标关键帧可以包括一帧或多帧。然后,拆分单元从目标关键帧中提取出待播放对象,例如,可以目标关键帧进行图像识别,根据目标关键帧的像素值识别出待播放对象,得到的待播放对象可以是一个或多个。再将得到每个待播放对象分别设置在不同的图层,即一个待播放对象设置在一个图层,可以得到每个层次的待播放对象。
在得到每个层次的待播放对象后,分解单元可以对每个层次的待播放对象进行动画信息分解,得到每个待播放对象的动作信息和关键帧信息。此时,可以利用对象标记(JavaScript Object Notation,JSON)文本文件存储包括时间戳、以及待播放对象在每个时间戳执行对应的旋转、平移、放大或缩小等动作的动作信息,该动作信息还可以利用JSON文本文件的二进制格式(Binary Serialized Document Format,BSON)、可扩展标记语言(eXtensible Markup Language,XML)等格式进行存储;以及利用利用少量图片存储待播放对象的关键帧信息,例如利用PNG格式的图片存储关键帧信息等,而不需要大量图片存储动画样本的每帧图片信息。
可选地,分解单元可以具体用于:确定每个层次的待播放对象在目标关键帧中对应的待播放对象;从目标关键帧中提取出每个待播放对象的关键帧信息;获取每个目标关键帧的帧间动作信息;从帧间动作信息中提取出每个待播放对象的动作信息。
具体地,为了提高对待播放对象进行动画信息分解的精准性及可靠性,分解单元可以对动画样本进行分析,确定每个层次的待播放对象在目标关键帧中对应的待播放对象,例如,可以将每个层次的待播放对象与动画样本的目标关键帧进行比对,可以是像素值比对或者是轮廓比对等,当目标关键帧中的待播放对象与某个层次的待播放对象匹配时,即可确定某个层次的待播放对象在该目标关键帧内。然后分解单元可以从目标关键帧中提取出每个待播放对象的关键帧信息,以及获取每个目标关键帧的帧间动作信息,该帧间动作信息可以是动画样本的目标关键帧在每个时间戳对应的旋转、平移、放大或缩小等动作,此时分解单元可以从帧间动作信息中提取出每个待播放对象的动作信息。
在得到动画样本的动画标识、每个层次的待播放对象、以及每个层次的待播放对象的动作信息和关键帧信息后,生成单元可以将动画样本的动画标识、每个层次的待播放对象、及每个层次的待播放对象的动作信息和关键帧信息进行打包,生成动画文件。
在得到动画文件后,生成单元可以将动画文件存储在本地,为了节省存储空间,可以将动画文件进行压缩,得到压缩动画文件,将压缩动画文件存储在本地。由于动画文件中可以包括用于存储动作信息的文本文件,以及少量用于用于存储待播放对象的关键帧信息的图片信息,因此可以节省动画文件的存储资源。
生成单元也可以将动画文件上传至服务器,例如,可以将动画文件进行压缩,得到压缩动画文件,将压缩动画文件上传至服务器,由服务器存储该压缩动画文件。此时,服务器可以根据策略、需求或目的等进行动态发布动画文件,可以不随终端应用打包发布,服务器也可以将动画文件发送给各个终端,或者是仅发送给预设终端等。由于动画文件中可以包括用于存储动作信息的文本文件,以及少量用于用于存储待播放对象的关键帧信息的图片信息,因此可以减少传输资源的消耗及降低服务器的运营管理成本。
由于动画文件中可以包括多个动画,因此当动画文件中不同动画之间存在相同待播放对象时,多个动画可以共用同一个待播放对象。其中,共用同一个待播放对象多个动画可以是2个或6个等,该多个动画的个数可以根据实际需要进行灵活设置。以下将以2个动画共用同一个待播放对象为例进行举例说明,当然,动画文件中可能不只有2个动画共用同一个待播放对象,本实施例只是为了便于描述所举的例子,不应理解为是对共用同一个待播放对象的动画数量进行限定,但不管有多少个动画共用同一个待播放对象,动画文件生成的过程都是类似的,都可以按照该示例进行理解。
可选地,生成单元可以具体用于:
当动画文件中包含第一动画和第二动画时,判断第一动画中是否存在与第二动画一致的目标待播放对象;
若存在,则为目标待播放对象设置对象标识,以及获取第一动画中除目标待播放对象之外的剩余待播放对象;
根据第一动画标识、对象标识、以及第一动画中每个层次的剩余待播放对象及其对应的动作信息和关键帧信息,生成第一动画文件;
根据第二动画标识、第二动画中每个层次的待播放对象及其对应的动作信息和关键帧信息,生成第二动画文件;
根据第一动画文件和第二动画文件生成动画文件。
为了节省动画制作的成本,以及节省动画文件的存储及传输等资源,生成单元可以对相同的待播放对象进行复用,具体地,当动画文件中包含第一动画和第二动画时,生成单元可以判断第一动画中是否存在与第二动画一致的目标待播放对象,其中,第一动画和第二动画均为待播放动画,目标待播放对象即为第一动画与第二动画之间相同的待播放对象,该目标待播放对象可以包括一个或多个。
当第一动画中存在与第二动画一致的目标待播放对象时,生成单元可以为目标待播放对象设置对象标识,该对象标识可以对象名称或对象编号等,例如,该对象标识是由文字、数字和/或字母等组成的,还可以是其他组成形式的。以及,生成单元可以获取第一动画中除目标待播放对象之外的剩余待播放对象,此时可以根据第一动画标识、对象标识、第一动画中每个层次的剩余待播放对象、第一动画中每个层次的剩余待播放对象的动作信息和关键帧信息,生成第一动画文件。并且,根据第二动画标识、第二动画中每个层次的待播放对象、第二动画中每个层次的待播放对象的动作信息和关键帧信息,生成第二动画文件。在得到第一动画对应的第一动画文件及第二动画对应的第二动画文件后,可以根据第一动画文件和第二动画文件生成动画文件。
当需要播放第一动画时,可以根据第一动画标识从动画文件的第一动画文件中获取对象标识、第一动画中每个层次的剩余待播放对象、第一动画中每个层次的剩余待播放对象的动作信息和关键帧信息等信息,根据获取到的这些信息对第一动画进行播放。当需要播放第二动画时,可以根据第二动画标识从动画文件的第二动画文件中获取第二动画中每个层次的待播放对象、第二动画中每个层次的待播放对象的动作信息和关键帧信息等信息,根据获取到的这些信息对第二动画进行播放。由于可以对待播放对象进行复用,降低了传输成本,因此可以提升动画文件发送时的即时性,避免出现动画的卡顿播放等问题。
信息获取单元302,用于当检测到携带动画标识的播放指令时,从动画文件中获取与动画标识对应的待播放动画的信息。
在获取得到待播放的动画文件后,信息获取单元302可以判断是否检测到播放指令,该播放指令可以携带有动画标识等信息,当检测到播放指令时,信息获取单元302可以从动画文件中获取与动画标识对应的待播放动画的信息,其中,待播放动画的信息可以包括待播放动画中每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息等。
在某些实施方式中,信息获取单元302可以具体用于:当接收到在动画图标所在区域内输入的触发操作时,生成携带动画标识的播放指令;根据播放指令对动画文件进行解析,得到与动画标识对应的待播放动画的信息。
具体地,该播放指令可以是在动画图标所在区域内产生的,动画图标所在区域可以是在即时通讯的对话框中,动画发送候选列表中动画图标的显示区域;动画图标所在区域还可以是在即时通讯的对话框显示区域中,已发送或已接收的动画图标的显示区域等。例如,信息获取单元302可以判断在动画图标所在区域内是否接收到输入的触发操作,当接收到在动画图标所在区域内输入的触发操作时,可以生成携带动画标识的播放指令。其中,触发操作可以是点击、按压或双击等操作。在生成播放指令后,可以指示信息获取单元302对获取到的动画文件进行解析,例如,动画文件进行解压缩或解编码等,得到与动画标识对应的待播放动画的信息。
在某些实施方式中,信息获取单元302可以具体用于:当在即时通讯会话框内接收到对端发送的待播放动画的动画图标时,生成携带动画标识的播放指令;根据播放指令对动画文件进行解析,得到与动画标识对应的待播放动画的信息。
具体地,该播放指令可以是在即时通讯会话框内接收到对端发送的待播放动画的动画图标产生的,其中,即时通讯会话框可以是QQ、腾讯通(Real Time eXpert,RTX)或微信等会话框,对端可以是与动画播放装置所在的终端组成会话框的另一终端,该对端可以向动画播放装置发送即时通讯消息或接收动画播放装置发送的即时通讯消息等。当在即时通讯会话框内接收到对端发送的待播放动画的动画图标时,可以生成携带动画标识的播放指令。在生成播放指令后,可以指示信息获取单元302对获取到的动画文件进行解析,例如,动画文件进行解压缩或解编码等,得到与动画标识对应的待播放动画的信息。
对象获取单元303,用于从待播放动画的信息中获取待播放动画中每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息。
在得到待播放动画的信息后,对象获取单元303可以从待播放动画的信息中获取待播放动画中每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息。
在某些实施方式中,当待播放对象包括目标待播放对象和剩余待播放对象时,对象获取单元303可以具体用于:从待播放动画的信息中获取对象标识、每个层次的剩余待播放对象及其对应的动作信息和关键帧信息;根据对象标识获取目标待播放对象及其对应的动作信息和关键帧信息。
具体地,当动画文件中不同动画之间存在相同待播放对象,且多个动画可以共用同一个待播放对象时,在待播放动画的信息可以包括动画标识、对象标识、每个层次的剩余待播放对象、每个层次的剩余待播放对象的动作信息和关键帧信息,其中对象标识可以包括一个或多个,该剩余待播放对象可以是待播放动画中除共用的待播放对象(即目标待播放对象)之外剩余的待播放对象。
此时,对象获取单元303可以从待播放动画的信息中获取对象标识、每个层次的剩余待播放对象,以及每个层次的剩余待播放对象的动作信息和关键帧信息。然后,从动画文件中获取与得到的对象标识对应的目标待播放对象,以及目标待播放对象的动作信息和关键帧信息,从而提高了信息获取的灵活性。其中,剩余待播放对象和目标待播放对象组成了待播放动画的待播放对象。
播放单元304,用于根据每个层次的待播放对象及其对应的动作信息和关键帧信息对待播放动画进行播放。
在得到每个层次的待播放对象后,播放单元304可以根据每个层次的待播放对象及其对应的动作信息和关键帧信息,对待播放动画进行播放,例如,通过对每个关键帧信息之间的动作信息解析,以及每个关键帧信息拼接播放动画效果,实现通过对较低存储与传输成本的待播放动画的信息中的关键帧信息和动作信息的解析及衔接处理完成动画效果的播放。
在对待播放动画进行播放的过程中,播放单元304可以先确定每个层次的待播放对象所在的图层,该图层中可以只包含一个待播放对象,以及确定每个图层的层次顺序,该层次顺序可以是播放动画时图层的播放时间及位置等。然后按照层次顺序,根据每个待播放对象及其对应的动作信息和关键帧信息对待播放动画进行播放,从而可以提高动画播放的便捷性。
例如,如图3所示,用户Maidou和用户Ali之间通过即时通讯进行信息交互,用户Ali在动画播放装置所在的终端,用户Maidou在对端,用户Maidou和用户Ali在互发消息的过程中,当用户Ali通过终端向用户Maidou在对端发送一个包含太阳、马和人的动画时,此时在即时通讯的显示界面内需要对该动画进行播放,在对该动画进行播放的过程中,首先,根据即时通讯的会话框内接收到的动画产生携带动画标识的播放指令,然后,从动画文件中获取与动画标识对应的动画的信息,从动画的信息中获取该动画中每个层次的待播放对象,得到分别在不同层次的太阳、马和人,其次,获取太阳、马和人的动作信息和关键帧信息,最后,可以根据太阳、马和人及其对应的动作信息和关键帧信息对该动画进行播放。
在某些实施方式中,如图8所示,播放单元304可以包括获取子单元3041、确定子单元3042、及播放子单元3043等,具体可以如下:
获取子单元3041,用于从动画文件中获取动画标识对应的时间戳信息;
确定子单元3042,用于确定每个层次的待播放对象在时间戳信息中每个时间戳内所对应的动作信息和关键帧信息;
播放子单元3043,用于根据每个时间戳内所对应的动作信息和关键帧信息对待播放动画进行播放。
其中,该动画文件还可以包括时间戳信息,该时间戳信息可以是待播放对象每个动作信息和关键帧信息对应的每个时间戳,该时间戳信息可以是贝塞尔曲线的形式,或者是其他形式等。在对待播放动画进行播放的过程中,获取子单元3041可以从动画文件中获取动画标识对应的时间戳信息,以及确定子单元3042确定每个层次的待播放对象在时间戳信息中每个时间戳内所对应的动作信息和关键帧信息。例如,当动画文件中存在待播放对象A和待播放对象B时,可以确定待播放对象A和待播放对象B在每个时间戳内所对应的动作信息和关键帧信息。需要说明的是,不同时间戳内所对应的动作信息可以一致,也可以不一致;不同时间戳内所对应的关键帧信息可以一致,也可以不一致。然后,播放子单元3043可以根据每个时间戳内所对应的动作信息和关键帧信息对待播放动画进行播放。
可选地,播放子单元3043具体可以用于:在每个时间戳内控制关键帧信息执行动作信息,得到每个时间戳内的动画帧;根据每个时间戳内的动画帧,对待播放动画进行播放。
具体地,在确定每个层次的待播放对象在每个时间戳内所对应的动作信息和关键帧信息后,播放子单元3043可以在每个时间戳内控制关键帧信息执行相应的动作信息,得到每个时间戳内的动画帧。例如,可以在时间戳1控待播放对象的关键帧信息A向右平移预设距离,在时间戳2控待播放对象的关键帧信息B向左旋转90度。在得到每个时间戳对应的动画帧后,可以根据每个时间戳内的动画帧,对待播放动画进行播放。
播放单元304可以具体用于:确定每个层次的待播放对象所在的图层,以及确定每个图层的层次顺序;按照层次顺序,根据每个待播放对象及其对应的动作信息和关键帧信息对待播放动画进行播放。
具体地,播放单元304可以先确定每个层次的待播放对象所在的图层,该图层中可以只包含一个待播放对象,以及确定每个图层的层次顺序,该层次顺序可以是播放动画时图层的播放时间及位置等。然后按照层次顺序,根据每个待播放对象及其对应的动作信息和关键帧信息对待播放动画进行播放,从而可以提高动画播放的便捷性。
由上可知,本发明实施例可以通过文件获取单元301获取待播放的动画文件,并当检测到携带动画标识的播放指令时,可以由信息获取单元302从动画文件中获取与动画标识对应的待播放动画的信息,以及由对象获取单元303从待播放动画的信息中获取待播放动画中每个层次的待播放对象及其动作信息和关键帧信息;然后播放单元304根据每个层次的待播放对象及其对应的动作信息和关键帧信息对待播放动画进行播放。该方案可以对所属不同层次的每个待播放对象进行控制,并将每个层次的待播放对象及其对应的动作信息和关键帧信息进行组合来实现对动画进行播放,由于播放的每个层次的待播放对象相对于播放图像帧的文件较小,因此,可以节省动画播放的资源,以及提高了动画播放的灵活性。
相应的,本发明实施例还提供一种终端,如图9所示,该终端可以包括射频(RF,Radio Frequency)电路601、包括有一个或一个以上计算机可读存储介质的存储器602、输入单元603、显示单元604、传感器605、音频电路606、无线保真(WiFi,Wireless Fidelity)模块607、包括有一个或者一个以上处理核心的处理器608、以及电源609等部件。本领域技术人员可以理解,图9中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路601可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器608处理;另外,将涉及上行的数据发送给基站。通常,RF电路601包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路601还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
存储器602可用于存储软件程序以及模块,处理器608通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器608和输入单元603对存储器602的访问。
输入单元603可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元603可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器608,并能接收处理器608发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元603还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元604可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元604可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器608以确定触摸事件的类型,随后处理器608根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图9中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
终端还可包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路606、扬声器,传声器可提供用户与终端之间的音频接口。音频电路606可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路606接收后转换为音频数据,再将音频数据输出处理器608处理后,经RF电路601以发送给比如另一终端,或者将音频数据输出至存储器602以便进一步处理。音频电路606还可能包括耳塞插孔,以提供外设耳机与终端的通信。
WiFi属于短距离无线传输技术,终端通过WiFi模块607可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了WiFi模块607,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器608是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器608可包括一个或多个处理核心;优选的,处理器608可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器608中。
终端还包括给各个部件供电的电源609(比如电池),优选的,电源可以通过电源管理系统与处理器608逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源609还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端中的处理器608会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器608来运行存储在存储器602中的应用程序,从而实现各种功能:
获取待播放的动画文件;当检测到携带动画标识的播放指令时,从动画文件中获取与动画标识对应的待播放动画的信息;从待播放动画的信息中获取待播放动画中每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息;根据每个层次的待播放对象及其对应的动作信息和关键帧信息对待播放动画进行播放。
由上可知,本发明实施例可以获取待播放的动画文件,并当检测到携带动画标识的播放指令时,可以从动画文件中获取与动画标识对应的待播放动画的信息,以及从待播放动画的信息中获取待播放动画中每个层次的待播放对象及其动作信息和关键帧信息;然后根据每个层次的待播放对象及其对应的动作信息和关键帧信息对待播放动画进行播放。该方案可以对所属不同层次的每个待播放对象进行控制,并将每个层次的待播放对象及其对应的动作信息和关键帧信息进行组合来实现对动画进行播放,由于播放的每个层次的待播放对象相对于播放图像帧的文件较小,因此,可以节省动画播放的资源,以及提高了动画播放的灵活性。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对图像处理方法的详细描述,此处不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种动画播放方法中的步骤。例如,该指令可以执行如下步骤:
获取待播放的动画文件;当检测到携带动画标识的播放指令时,从动画文件中获取与动画标识对应的待播放动画的信息;从待播放动画的信息中获取待播放动画中每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息;根据每个层次的待播放对象及其对应的动作信息和关键帧信息对待播放动画进行播放。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种动画播放方法中的步骤,因此,可以实现本发明实施例所提供的任一种动画播放方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种动画播放方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种动画播放方法,其特征在于,包括:
获取待播放的动画文件,所述动画文件包括用于存储动作信息的文本文件,以及用于存储待播放对象的关键帧信息的图片信息;所述动画文件根据动画样本的动画标识、每个层次的待播放对象及其对应的动作信息和关键帧信息生成,每个待播放对象的动作信息和关键帧信息为对所述动画样本进行层次拆分得到的每个层次的待播放对象进行动画信息分解得到的;每个层次的待播放对象为从所述动画样本对应的目标关键帧中提取出待播放对象,并将每个待播放对象设置在不同的图层而得到;
当检测到携带动画标识的播放指令时,从所述动画文件中获取与所述动画标识对应的待播放动画的信息;
从所述待播放动画的信息中获取所述待播放动画中每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息;所述待播放对象包括气泡和全屏中的至少一种;所述动作信息为从每个目标关键帧的帧间动作信息中提取出的每个待播放对象的动作信息,所述动作信息包括时间戳、以及待播放对象在每个时间戳对应执行的旋转、平移、放大和缩小中的至少一种动作;所述关键帧信息包括待播放对象所在层次的信息;
根据每个层次的待播放对象及其对应的动作信息和关键帧信息对所述待播放动画进行播放,以通过对所述关键帧信息和动作信息的解析及衔接处理完成动画效果的播放。
2.根据权利要求1所述的动画播放方法,其特征在于,所述根据每个层次的待播放对象及其对应的动作信息和关键帧信息对所述待播放动画进行播放的步骤包括:
从所述动画文件中获取所述动画标识对应的时间戳信息;
确定每个层次的待播放对象在所述时间戳信息中每个时间戳内所对应的动作信息和关键帧信息;
根据每个时间戳内所对应的动作信息和关键帧信息对所述待播放动画进行播放。
3.根据权利要求2所述的动画播放方法,其特征在于,所述根据每个时间戳内所对应的动作信息和关键帧信息对所述待播放动画进行播放的步骤包括:
在每个时间戳内控制所述关键帧信息执行所述动作信息,得到每个时间戳内的动画帧;
根据所述每个时间戳内的动画帧,对所述待播放动画进行播放。
4.根据权利要求1所述的动画播放方法,其特征在于,当所述待播放对象包括目标待播放对象和剩余待播放对象时,所述从所述待播放动画的信息中获取所述待播放动画中每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息的步骤包括:
从所述待播放动画的信息中获取对象标识、每个层次的剩余待播放对象及其对应的动作信息和关键帧信息;
根据所述对象标识获取目标待播放对象及其对应的动作信息和关键帧信息。
5.根据权利要求1所述的动画播放方法,其特征在于,所述获取待播放的动画文件的步骤包括:
接收服务器在预设时间戳发送的待播放的动画文件;或者,
当动画文件存在更新时,接收服务器发送的更新后的动画文件,并将所述更新后的动画文件设置为待播放的动画文件。
6.根据权利要求1至5任一项所述的动画播放方法,其特征在于,所述当检测到携带动画标识的播放指令时,从所述动画文件中获取与所述动画标识对应的待播放动画的信息的步骤包括:
当接收到在动画图标所在区域内输入的触发操作时,生成携带动画标识的播放指令;
根据所述播放指令对所述动画文件进行解析,得到与所述动画标识对应的待播放动画的信息。
7.根据权利要求1至5任一项所述的动画播放方法,其特征在于,所述当检测到携带动画标识的播放指令时,从所述动画文件中获取与所述动画标识对应的待播放动画的信息的步骤包括:
当在即时通讯会话框内接收到对端发送的待播放动画的动画图标时,生成携带动画标识的播放指令;
根据所述播放指令对所述动画文件进行解析,得到与所述动画标识对应的待播放动画的信息。
8.一种动画播放装置,其特征在于,包括:
文件获取单元,用于获取待播放的动画文件,所述动画文件包括用于存储动作信息的文本文件,以及用于存储待播放对象的关键帧信息的图片信息;所述动画文件根据动画样本的动画标识、每个层次的待播放对象及其对应的动作信息和关键帧信息生成,每个待播放对象的动作信息和关键帧信息为对所述动画样本进行层次拆分得到的每个层次的待播放对象进行动画信息分解得到的;每个层次的待播放对象为从所述动画样本对应的目标关键帧中提取出待播放对象,并将每个待播放对象设置在不同的图层而得到;
信息获取单元,用于当检测到携带动画标识的播放指令时,从所述动画文件中获取与所述动画标识对应的待播放动画的信息;
对象获取单元,用于从所述待播放动画的信息中获取所述待播放动画中每个层次的待播放对象,以及每个待播放对象的动作信息和关键帧信息;所述待播放对象包括气泡和全屏中的至少一种;所述动作信息为从每个目标关键帧的帧间动作信息中提取出的每个待播放对象的动作信息,所述动作信息包括时间戳、以及待播放对象在每个时间戳对应执行的旋转、平移、放大和缩小中的至少一种动作;关键帧信息包括待播放对象所在层次的信息;
播放单元,用于根据每个层次的待播放对象及其对应的动作信息和关键帧信息对所述待播放动画进行播放,以实现对所述关键帧信息和动作信息的解析及衔接处理完成动画效果的播放。
9.根据权利要求8所述的动画播放装置,其特征在于,所述播放单元包括:
获取子单元,用于从所述动画文件中获取所述动画标识对应的时间戳信息;
确定子单元,用于确定每个层次的待播放对象在所述时间戳信息中每个时间戳内所对应的动作信息和关键帧信息;
播放子单元,用于根据每个时间戳内所对应的动作信息和关键帧信息对所述待播放动画进行播放。
10.根据权利要求9所述的动画播放装置,其特征在于,所述播放子单元具体用于:
在每个时间戳内控制所述关键帧信息执行所述动作信息,得到每个时间戳内的动画帧;
根据所述每个时间戳内的动画帧,对所述待播放动画进行播放。
11.根据权利要求8所述的动画播放装置,其特征在于,当所述待播放对象包括目标待播放对象和剩余待播放对象时,所述对象获取单元具体用于:
从所述待播放动画的信息中获取对象标识、每个层次的剩余待播放对象及其对应的动作信息和关键帧信息;
根据所述对象标识获取目标待播放对象及其对应的动作信息和关键帧信息。
12.根据权利要求8所述的动画播放装置,其特征在于,所述文件获取单元具体用于:
接收服务器在预设时间戳发送的待播放的动画文件;或者,
当动画文件存在更新时,接收服务器发送的更新后的动画文件,并将所述更新后的动画文件设置为待播放的动画文件。
13.根据权利要求8至12任一项所述的动画播放装置,其特征在于,所述信息获取单元具体用于:
当接收到在动画图标所在区域内输入的触发操作时,生成携带动画标识的播放指令;
根据所述播放指令对所述动画文件进行解析,得到与所述动画标识对应的待播放动画的信息。
14.根据权利要求8至12任一项所述的动画播放装置,其特征在于,所述信息获取单元具体用于:
当在即时通讯会话框内接收到对端发送的待播放动画的动画图标时,生成携带动画标识的播放指令;
根据所述播放指令对所述动画文件进行解析,得到与所述动画标识对应的待播放动画的信息。
15.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至7任一项所述的动画播放方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810243364.0A CN110300047B (zh) | 2018-03-23 | 2018-03-23 | 一种动画播放方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810243364.0A CN110300047B (zh) | 2018-03-23 | 2018-03-23 | 一种动画播放方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110300047A CN110300047A (zh) | 2019-10-01 |
CN110300047B true CN110300047B (zh) | 2021-10-08 |
Family
ID=68025699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810243364.0A Active CN110300047B (zh) | 2018-03-23 | 2018-03-23 | 一种动画播放方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110300047B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112435313A (zh) * | 2020-11-10 | 2021-03-02 | 北京百度网讯科技有限公司 | 播放帧动画的方法、装置、电子设备及可读存储介质 |
CN113379876B (zh) * | 2021-06-07 | 2023-09-01 | 腾讯科技(上海)有限公司 | 动画数据处理方法、装置、计算机设备和存储介质 |
CN113438150B (zh) * | 2021-07-20 | 2022-11-08 | 网易(杭州)网络有限公司 | 一种表情发送方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106355629A (zh) * | 2016-08-19 | 2017-01-25 | 腾讯科技(深圳)有限公司 | 一种虚拟形象的配置方法及装置 |
CN106815880A (zh) * | 2015-12-01 | 2017-06-09 | 北京触控科技有限公司 | 动画复用方法和系统 |
CN107038735A (zh) * | 2017-03-31 | 2017-08-11 | 武汉斗鱼网络科技有限公司 | 一种实现实体打开动画的方法及系统 |
CN107294838A (zh) * | 2017-05-24 | 2017-10-24 | 腾讯科技(深圳)有限公司 | 社交应用的动画生成方法、装置、系统以及终端 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064693B (zh) * | 2006-04-24 | 2010-08-11 | 腾讯科技(深圳)有限公司 | 一种在即时通讯中同步呈现动画的方法 |
US20080184139A1 (en) * | 2007-01-29 | 2008-07-31 | Brian Robert Stewart | System and method for generating graphical user interfaces and graphical user interface models |
CN101453427A (zh) * | 2007-11-29 | 2009-06-10 | 悟空数位娱乐实业有限公司 | 实时通讯的动画播放方法 |
CN102385893B (zh) * | 2010-08-31 | 2015-12-16 | 腾讯科技(北京)有限公司 | 多媒体播放的时间轴生成系统及方法 |
CN102024486B (zh) * | 2010-09-14 | 2012-12-19 | 北京神州泰岳软件股份有限公司 | 动画表情图片播放方法及系统 |
US9514242B2 (en) * | 2011-08-29 | 2016-12-06 | Vmware, Inc. | Presenting dynamically changing images in a limited rendering environment |
CN103856390B (zh) * | 2012-12-04 | 2017-05-17 | 腾讯科技(深圳)有限公司 | 即时通讯方法及系统、通讯信息处理方法、终端 |
CN104216697B (zh) * | 2013-06-05 | 2020-05-22 | 百度在线网络技术(北京)有限公司 | 用于移动终端的动画播放方法、装置和移动终端 |
CN106303596A (zh) * | 2015-05-15 | 2017-01-04 | 北京国双科技有限公司 | 视频推荐系统、方法及装置 |
CN107221022A (zh) * | 2017-06-16 | 2017-09-29 | 苏州蜗牛数字科技股份有限公司 | 一种影视动画的编辑方法及装置 |
-
2018
- 2018-03-23 CN CN201810243364.0A patent/CN110300047B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815880A (zh) * | 2015-12-01 | 2017-06-09 | 北京触控科技有限公司 | 动画复用方法和系统 |
CN106355629A (zh) * | 2016-08-19 | 2017-01-25 | 腾讯科技(深圳)有限公司 | 一种虚拟形象的配置方法及装置 |
CN107038735A (zh) * | 2017-03-31 | 2017-08-11 | 武汉斗鱼网络科技有限公司 | 一种实现实体打开动画的方法及系统 |
CN107294838A (zh) * | 2017-05-24 | 2017-10-24 | 腾讯科技(深圳)有限公司 | 社交应用的动画生成方法、装置、系统以及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN110300047A (zh) | 2019-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106775637B (zh) | 一种应用程序的页面显示方法和装置 | |
CN109388297B (zh) | 表情展示方法、装置、计算机可读存储介质及终端 | |
CN108549519B (zh) | 分屏处理方法、装置、存储介质和电子设备 | |
CN106708538B (zh) | 界面显示方法及装置 | |
CN112041791B (zh) | 一种显示输入法虚拟键盘的方法及终端 | |
CN106303070B (zh) | 一种通知消息的提示方法、装置及移动终端 | |
CN105740263B (zh) | 页面显示方法和装置 | |
CN108156508B (zh) | 弹幕信息处理的方法、装置、移动终端、服务器及系统 | |
CN110278141B (zh) | 一种即时通讯信息的处理方法、装置及存储介质 | |
CN111178012A (zh) | 一种表单渲染方法、装置、设备及存储介质 | |
CN109756767B (zh) | 预览数据播放方法、装置及存储介质 | |
WO2018196588A1 (zh) | 一种信息分享方法、装置和系统 | |
CN106293738B (zh) | 一种表情图像的更新方法及装置 | |
CN110300047B (zh) | 一种动画播放方法、装置及存储介质 | |
WO2015003636A1 (zh) | 一种页面元素的拦截方法和装置 | |
CN109189303B (zh) | 文本编辑方法及移动终端 | |
CN108429668B (zh) | 一种消息处理方法、装置、终端及系统 | |
CN105631059B (zh) | 数据处理方法、数据处理装置及数据处理系统 | |
CN105095161B (zh) | 一种显示富文本信息的方法及装置 | |
CN116594616A (zh) | 一种组件配置方法、装置及计算机可读存储介质 | |
CN108920086B (zh) | 分屏退出方法、装置、存储介质和电子设备 | |
CN105320532B (zh) | 显示交互界面的方法、装置及终端 | |
CN109728918B (zh) | 虚拟物品发送方法、虚拟物品接收方法、装置及存储介质 | |
CN106330875B (zh) | 消息显示方法及装置 | |
CN115017340A (zh) | 多媒体资源生成方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |