CN115965718A - 动画播放方法、装置、存储介质及电子设备 - Google Patents
动画播放方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN115965718A CN115965718A CN202111187744.5A CN202111187744A CN115965718A CN 115965718 A CN115965718 A CN 115965718A CN 202111187744 A CN202111187744 A CN 202111187744A CN 115965718 A CN115965718 A CN 115965718A
- Authority
- CN
- China
- Prior art keywords
- frame
- animation
- image data
- dynamic
- image
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种动画播放方法、装置、存储介质及电子设备,其中,通过获取包括N帧连续图像的帧动画,N为大于1的正整数;确定帧动画的动态区域和静态区域;确定帧动画中需要保留对应静态区域的目标帧图像数据,并丢弃帧动画中N‑1帧对应静态区域的非目标帧图像数据;响应于针对帧动画的播放指令,持续展示静态区域的目标帧图像数据,并依次展示帧动画中每帧图像对应动态区域的图像数据。本申请能够提高电子设备播放帧动画的帧率。
Description
技术领域
本申请涉及图像处理技术领域,具体涉及一种动画播放方法、装置、存储介质及电子设备。
背景技术
帧动画又称逐帧动画,是一种常见的动画形式,其原理是在连续的关键帧中分解动画动作,也即是逐帧绘制不同的内容并展示,形成动画效果。然而,由于相关技术在播放帧动画时,需要占用大量的系统资源,可能导致播放卡顿。
发明内容
本申请提供了一种动画播放方法、装置、存储介质及电子设备,能够提高电子设备播放帧动画的帧率。
第一方面,本申请提供一种动画播放方法,应用于电子设备,包括:
获取帧动画,所述帧动画包括N帧连续的图像,N为大于1的正整数;
确定所述帧动画的动态区域和静态区域;
确定所述帧动画中需要保留对应所述静态区域的目标帧图像数据,并丢弃所述帧动画中N-1帧对应所述静态区域的非目标帧图像数据;
响应于针对所述帧动画的播放指令,持续展示所述静态区域的目标帧图像数据,并依次展示所述帧动画中每帧图像对应所述动态区域的图像数据。
第二方面,本申请提供一种动画播放装置,应用于电子设备,包括:
动画获取模块,用于获取帧动画,所述帧动画包括N帧连续的图像,N为大于1的正整数;
区域确定模块,用于确定所述帧动画的动态区域和静态区域;
数据处理模块,用于确定所述帧动画中需要保留对应所述静态区域的目标帧图像数据,并丢弃所述帧动画中N-1帧对应所述静态区域的非目标帧图像数据;
动画播放模块,用于响应于针对所述帧动画的播放指令,持续展示所述静态区域的目标帧图像数据,并依次展示所述帧动画中每帧图像对应所述动态区域的图像数据。
第三方面,本申请提供了一种存储介质,其上存储有计算机程序,当所述计算机程序被电子设备的处理器加载时执行如本申请提供的任一动画播放方法。
第四方面,本申请还提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器储存有计算机程序,所述处理器通过加载所述计算机程序执行如本申请提供的任一动画播放方法。
采用本申请所提供的技术方案,将帧动画划分为动态区域和静态区域,并仅保留帧动画中一帧对应静态区域的目标帧图像数据,在播放帧动画时,通过持续展示帧动画中保留的一帧对应静态区域的目标帧图像数据,并依次展示帧动画中每帧图像对应动态区域的图像数据,能够达到逐帧展示帧动画中所有图像数据相同的动画播放效果。另外,相较于逐帧展示帧动画中的所有图像数据,本申请仅逐帧展示帧动画中部分区域的图像数据,能够降低播放帧动画时对系统资源的占用,提高图像加载的速度,进而提高电子设备播放帧动画的帧率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的动画播放方法的一流程示意图。
图2是本申请实施例中确定的帧动画的动态区域和静态区域的示例图。
图3是本申请实施例中丢弃帧动画中非首帧图像中静态区域的图像数据的示例图。
图4是本申请实施例中将动态区域划分为3个子动态区域的示例图。
图5是本申请实施例提供的动画播放装置的结构框图。
图6是本申请实施例提供的电子设备的结构示意图。
具体实施方式
应当说明的是,本申请中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是某些实施例还包括没有列出的步骤或模块,或某些实施例还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例提供一种动画播放方法、动画播放装置、存储介质及电子设备,其中动画播放方法的执行主体可以是本申请实施例提供的动画播放装置,或者集成了该动画播放装置的电子设备,其中该动画播放装置可以采用硬件或者软件的方式实现。其中,电子设备可以是电视、智能手机、平板电脑、掌上电脑、笔记本电脑等配置有处理器而具有数据处理能力的设备。
以电视为例,电视可以包括用于显示图像的显示屏、用于数据传输的射频电路,射频电路可以通过至少一种无线通信协议来与其它终端进行通信,该无线通信协议可以包括但不限于移动通信网络协议(如3G、4G、5G等)、蓝牙通信协议和Wi-Fi图像协议等。比如,电视可以通过射频电路接入到网络接入点,获得网络接入点提供的网络接入服务。基于网络接入点提供的网络接入服务,电视可以从网络的服务器获取帧动画,并确定出帧动画的动态区域和静态区域,以及确定帧动画中需要保留对应静态区域的目标帧图像数据,相应丢弃帧动画中N-1帧对应静态区域的非目标帧图像数据,之后,响应于针对帧动画的播放指令,通过显示屏持续展示对应静态区域的目标帧图像数据,并通过显示屏依次展示帧动画中每帧图像对应动态区域的图像数据。
请参照图1,图1为本申请实施例提供的动画播放方法的流程示意图。该动画播放方法应用于本申请提供的电子设备,如图1所示,本申请实施例提供的动画播放方法的流程可以如下:
在110中,获取帧动画,帧动画包括N帧连续的图像,N为大于1的正整数。
本实施例中,电子设备首先获取帧动画,该帧动画可以由电子设备从指定位置获取,也可以由电子设备对多帧连续的原始图像进行处理后得到。比如,电子设备可以从网络中的服务器获取一实现生日祝福效果的帧动画,该帧动画包括220帧连续的png格式的图像,总的数据大小为224MB。
其中,帧动画包括多帧连续的图像,此处的连续可以理解为多帧图像的图像内容在时序上具有连续性,比如,不同图像中的同一物体在时序上呈现出一连续的动作。
可以理解的是,电子设备获取的帧动画中每一帧图像的图像大小和图像格式应当相同。在其他实施例中,电子设备在获取到帧动画之后,首先识别帧动画中每一帧图像的图像大小和图像格式是否相同,若不相同,则将帧动画中每一帧图像的图像大小和图像格式调整为相同。
在120中,确定帧动画的动态区域和静态区域。
在获取到帧动画之后,电子设备进一步确定出帧动画的动态区域和静态区域,其中,静态区域可以理解为帧动画在播放过程中保持静止的区域,也即是帧动画中所有图像均具有的相同图像内容的区域,动态区域可以理解为帧动画在播放过程中持续变化的区域,也即是静态区域之外的区域。
如上所述,电子设备可以对帧动画中每一帧图像的图像内容进行分析,从而确定出帧动画的静态区域,并直接将帧动画中静态区域之外的区域确定为动态区域。
比如,针对一帧动画,电子设备确定的动态区域和静态区域如图2所示,电子设备可以通过配置文件对动态区域和静态区域进行记录:
Center=365,138,1236,914,true;
其中,Center表示帧动画中静态区域的名称(此处Center代表该区域大致位于帧动画的中间),365表示像素坐标系下该区域的左上角顶点的横坐标, 138表示像素坐标系下该区域的左上角顶点的纵坐标,1236表示像素坐标系下该区域的长度,914表示像素坐标系下该区域的宽度,true表示该区域为静态区域。可以理解的是,动态区域即为静态区域之外的区域。
在130中,确定帧动画中需要保留对应静态区域的目标帧图像数据,并丢弃帧动画中N-1帧对应静态区域的非目标帧图像数据。
本实施例中,仅保留帧动画中一帧图像对应静态区域的图像数据。
其中,电子设备按照配置的目标图像选取策略,确定帧动画中需要保留对应静态区域的图像数据的一帧目标图像,将该目标图像中对应静态区域的图像数据记为目标帧图像数据。此处对目标图像选取策略的配置不作具体限制,可由本领域技术人员根据实际需要进行配置。
比如,目标图像选取策略可以被配置为:
随机从帧动画中选取一帧图像作为目标图像;或者
选择帧动画中首帧图像作为目标图像;或者
选择帧动画中尾帧图像作为目标图像。
如上,在确定帧动画中需要保留对应静态区域的一帧目标图像的目标帧图像数据之后,电子设备进一步丢弃帧动画中N-1帧非目标图像对应静态区域的图像数据,也即丢弃帧动画中N-1帧对应静态区域的非目标帧图像数据。比如,请参照图3,对于以上获取到的包括220帧连续的png格式的图像,总的数据大小为224M,用于实现生日祝福效果的帧动画,假设确定的目标图像为其中的首帧图像,则电子设备丢弃帧动画中除首帧图像之外的219帧图像中对应静态区域的非目标帧图像数据,将该帧动画的数据大小缩减为100MB。
在140中,响应于针对帧动画的播放指令,持续展示静态区域的目标帧图像数据,并依次展示帧动画中每帧图像对应动态区域的图像数据。
本实施例中,电子设备在接收到输入的针对帧动画的播放指令时,响应于该播放指令,持续展示帧动画中目标图像对应静态区域的图像数据(即目标帧图像数据),并依次展示帧动画中每帧图像对应动态区域的图像数据。比如,假设确定的目标图像为帧动画中的首帧图像,则电子设备持续展示帧动画中首帧图像对应静态区域的图像数据(即目标帧图像数据),并依次展示帧动画中每帧图像对应动态区域的图像数据。
可以理解的是,静态区域是帧动画中图像具有相同图像内容的区域,动态区域是帧动画中图像具有差异图像内容的区域,本实施例中,将帧动画划分为动态区域和静态区域,并仅保留帧动画中一帧对应静态区域的目标帧图像数据,在播放帧动画时,通过持续展示帧动画中保留的一帧对应静态区域的目标帧图像数据,并依次展示帧动画中每帧图像对应动态区域的图像数据,能够达到逐帧展示帧动画中所有图像数据相同的动画播放效果。另外,相较于逐帧展示帧动画中的所有图像数据,本实施例仅逐帧展示帧动画中部分区域的图像数据,能够降低播放帧动画时对系统资源的占用,提高图像加载的速度,进而提高电子设备播放帧动画的帧率。
在一可选的实施例中,响应于针对帧动画的播放指令,持续展示静态区域的目标帧图像数据,并依次展示帧动画中每帧图像对应动态区域的图像数据之前,还包括:
将帧动画的动态区域划分为M个子动态区域,M为大于1的正整数;
响应于针对帧动画的播放指令,持续展示静态区域的目标帧图像数据,并依次展示帧动画中每帧图像对应动态区域的图像数据,包括:
响应于针对帧动画的播放指令,通过1个解码线程将静态区域的目标帧图像数据加载至内存中,并通过主线程进行绘制展示;
通过M个解码线程将帧动画中第i帧图像中对应M个子动态区域的图像数据并行加载至内存中,并通过主线程进行绘制展示,i∈[1,N]。
为了进一步提升电子设备播放帧动画的帧率,本实施例提供一可选的帧动画的并行加载策略。
其中,电子设备在确定出帧动画的动态区域和静态区域之后,进一步将帧动画的动态区域划分为M个子动态区域,M为大于1的正整数。此处对于划分的子动态区域的形状以及M的取值均不作具体限制,可由本领域技术人员根据实际需要进行配置。
比如,请参照图4,针对一帧动画,电子设备将该帧动画的动态区域划分为了3个矩形的子动态区域,分别为子动态区域1、子动态区域2和子动态区域3。此外,电子设备还通过以上配置文件对子动态区域的划分信息进行记录,其中,子动态区域1的划分信息为:
Left=0,0,365,914,false;
其中,Left表示子动态区域1的名称(此处Left代表该区域大致位于帧动画的左侧),0,0分别表示像素坐标系下该区域的左上角顶点的横坐标和纵坐标坐标,365表示像素坐标系下该区域的长度,914表示像素坐标系下该区域的宽度,false表示该区域不为静态区域。
本实施例中,在接收到输入的针对帧动画的播放指令时,电子设备根据以上配置文件中记录的划分信息,将线程池中的1个空闲线程转换为解码线程,并通过这1个解码线程将静态区域的目标帧图像数据解码为位图数据后加载至内存队列中。可以理解的是,本申请实施例对于采用何种队列形式不作具体限制,可由本领域技术人员根据实际需要进行配置,比如,可以采用堵塞队列 (Blocking Queue,又称阻塞队列等)。
针对加载至内存队列中的目标图像的位图数据,电子设备通过主线程对其进行绘制,并相应展示绘制结果。比如,以电子设备采用安卓系统为例,电子设备可以通过主线程调用表层视图组件对内存队列中目标图像的位图数据进行绘制,并展示绘制结果。
此外,电子设备还根据配置文件中对动态区域的划分信息,确定出子动态区域的划分数量M,将M确定为用于图像加载的线程数,由于之前已经转换有 1个解码线程,此时电子设备进一步将线程池中M-1个空闲线程转换为解码线程,加上之前的1个解码线程,共获得M个可用的解码线程。相应的,电子设备通过这M个解码线程将帧动画中第i帧图像中对应M个子动态区域的图像数据并行的解码为位图数据后加载至内存队列中,再通过主线程对内存中第i帧图像的位图数据(仅包括动态区域)进行绘制,并相应展示绘制结果,i∈[1,N]。
在其他实施例中,电子设备还可以在完成对帧动画中第N帧图像的图像数据的加载后,将M个解码线程释放,将其转换为空闲线程。
如上,由于帧动画的动态区域被划分为M个子动态区域进行逐帧的并行加载,能够缩减加载时长,提升加载效率,从而进一步提升电子设备播放帧动画的帧率。
在一可选的实施例中,通过M个解码线程将帧动画中第i帧图像对应M个子动态区域的图像数据并行加载至内存中,并通过主线程进行绘制展示,包括:
在帧动画的第i-1帧图像的展示过程中,通过M个解码线程将第i帧图像对应M个子动态区域的图像数据并行加载至内存中;
在第i-1帧图像展示完成时,通过主线程对内存中加载的第i帧图像的图像数据进行绘制展示。
为了进一步提升电子设备播放帧动画的帧率,本实施例提供一可选的帧动画的并行加载策略。
其中,电子设备并不在展示完成第i-1帧图像的绘制结果后,再对第i帧图像的图像数据进行加载,而是在展示第i-1帧图像的绘制结果的过程中,即通过 M个解码线程提前将第i帧图像对应M个子动态区域的图像数据并行的解码为位图数据后加载至内存队列,当第i-1帧的绘制结果展示完成时,即通过主线程对内存队列中第i帧图像的位图数据进行绘制展示。
比如,假设帧动画的动态区域被划分为5个子动态区域,当电子设备在展示第2帧图像对应动态区域的图像数据的过程中,即通过5个解码线程提前将第 3帧图像对应5个子动态区域的图像数据并行的解码为位图数据后加载至内存队列,并在第2帧图像展示完成时,通过主线程对内存对此中第3帧图像的位图数据进行绘制展示。
在一可选的实施例中,本申请提供的动画播放方法还包括:
在第i帧图像的展示过程中,删除内存中第i-1帧图像的加载数据。
为降低播放帧动画时占用的内存空间,本实施例中实时对已绘制展示的加载数据进行清理。
其中,电子设备在第i帧图像的展示过程中,即删除内存中第i-1帧图像的加载数据,也即是删除内存中由第i-1帧的图像数据解码得到的位图数据。
比如,电子设备在第3帧图像的展示过程中,即删除内存中第2帧图像的图像数据解码得到的位图数据。
在一可选的实施例中,确定帧动画的动态区域和静态区域之前,本申请提供的动画播放方法还包括:
去除帧动画中每帧图像的空白像素。
其中,空白像素又称透明像素,并不用于组成图像内容。本实施例中,在帧动画进行动态区域和静态区域的划分之前,还对帧动画中每帧图像的空白像素进行识别,并去除帧动画中每帧图像的空白像素。以此,能够缩减帧动画的数据大小,并且不会对帧动画的动画内容造成影响。
在一可选的实施例中,响应于针对帧动画的播放指令,通过1个解码线程将静态区域的目标帧图像数据加载至内存中,并通过主线程进行绘制展示之前,本申请提供的动画播放方法还包括:
通过1个压缩线程对静态区域的目标帧图像数据行压缩;
通过M个压缩线程对第i帧图像对应M个子动态区域的图像数据分别进行压缩。
本实施例中,电子设备在将帧动画的动态区域划分为M个子动态区域之后,进一步对帧动画的每帧图像进行压缩,以缩减帧动画的数据大小。
其中,电子设备根据以上配置文件中记录的划分信息,将线程池中的1个空闲线程转换为压缩线程,并通过这1个压缩线程对帧动画中目标图像对应静态区域的图像数据(即目标帧图像数据)进行压缩。此处对采用何种压缩方式不作具体限制,可由本领域技术人员根据实际需要进行选择。比如,本实施例中,电子设备可以通过1个压缩线程对静态区域的目标帧图像数据进行压缩,将目标帧图像数据由原格式压缩为webp格式。
此外,电子设备还根据配置文件中对动态区域的划分信息,确定出子动态区域的划分数量M,将M确定为用于图像压缩的线程数,由于之前已经转换有 1个压缩线程,此时电子设备进一步将线程池中M-1个空闲线程转换为压缩线程,加上之前的1个压缩线程,共获得M个可用的压缩线程。相应的,电子设备通过这M个压缩线程并行的对帧动画中第i帧图像对应M个子动态区域的图像数据进行压缩,i∈[1,N]。此处对第i帧图像对应动态区域的图像数据的压缩方式与目标图像对应静态区域的图像数据的压缩方式可以相同,也可以不同。
比如,对于以上获取到的包括220帧连续的png格式的图像,总的数据大小为224M,用于实现生日祝福效果的帧动画,通过丢弃该帧动画中对应静态区域的非目标帧图像数据,该帧动画的总数据大小被缩减为100MB,可以进一步将帧动画中每帧图像的图像格式由png格式压缩为webp格式,该帧动画的总数据大小被进一步缩减为19MB,可以看出,经过丢弃帧动画中对应静态区域的目标帧图像数据以及对图像数据进行压缩,帧动画的数据大小被缩减至不足原始数据大小的十分之一。
在其他实施例中,电子设备还可以在完成对帧动画中第N帧图像的图像数据的压缩后,将M个压缩线程释放,将其转换为空闲线程。
在一可选的实施例中,通过M个压缩线程对第i帧图像中M个子动态区域的图像数据分别进行压缩之后,本申请提供的动画播放方法,还包括:
将压缩后的帧动画备份至网络接入点,以供网络接入点拦截其它电子设备发送至服务器且针对帧动画的获取请求,并将压缩后的帧动画传输至其它电子设备。
其中,网络接入点为电子设备提供网络接入服务,使得电子设备能够通过网络接入点访问网络。此处对于网络接入点的类型不作具体限制,可以是无线的网络接入点,也可以是有线的网络接入点。可以理解的是,网络接入点除了能够为电子设备提供网络接入服务之外,还能够为电子设备之外的其它电子设备提供网络接入服务。比如,网络接入点在接收到其它电子设备发送至网络中服务器的帧动画获取请求时,将该帧动画获取请求发送至服务器,并将服务器响应于该帧动画获取请求返回的帧动画转发至其它电子设备。
为了节省网络带宽,电子设备在通过M个压缩线程对第i帧图像对应M个子动态区域的图像数据分别进行压缩之后,还将压缩后的帧动画备份至网络接入点。以此,网络接入点可以对接入的其它电子设备发送至网络中服务器的帧动画获取请求进行拦截,并不将该帧动画的获取请求发送至服务器,而是将电子设备备份的压缩后的帧动画作为前述获取请求的响应返回至获取请求来源的其它电子设备,供其它电子设备在需要时进行播放。
由于来自于其它电子设备的获取请求被拦截在网络接入点,无需重复从网络中获取相同功能的帧动画,可以节省网络带宽,并且,电子设备备份至网络接入点的帧动画是经过压缩后的,还能够提高其它电子设备播放帧动画的播放帧率。
请参照图5,图5为本申请实施例提供的动画播放装置300的一结构示意图。该动画播放装置300应用于本申请提供的电子设备。如图5所示,该动画播放装置300可以包括:
动画获取模块310,用于获取帧动画,帧动画包括N帧连续的图像,N为大于1的正整数;
区域确定模块320,用于确定帧动画的动态区域和静态区域;
数据处理模块330,用于确定帧动画中需要保留对应静态区域的目标帧图像数据,并丢弃帧动画中N-1帧对应静态区域的非目标帧图像数据;
动画播放模块340,用于响应于针对帧动画的播放指令,持续展示静态区域的目标帧图像数据,并依次展示帧动画中每帧图像对应动态区域的图像数据。
在一可选的实施例中,本申请提供的动画播放装置300还包括区域划分模块,在动画播放模块340响应于针对帧动画的播放指令,持续展示静态区域的目标帧图像数据,并依次展示帧动画中每帧图像对应动态区域的图像数据之前,用于将帧动画的动态区域划分为M个子动态区域,M为大于1的正整数;
动画播放模块340用于响应于针对帧动画的播放指令,通过1个解码线程将静态区域的目标帧图像数据加载至内存中,并通过主线程进行绘制展示;以及
通过M个解码线程将帧动画中第i帧图像对应M个子动态区域的图像数据并行加载至内存中,并通过主线程进行绘制展示,i∈[1,N]。
在一可选的实施例中,在通过M个解码线程将帧动画中第i帧图像对应M个子动态区域的图像数据并行加载至内存中,并通过主线程进行绘制展示时,动画播放模块340用于:
在帧动画的第i-1帧图像的展示过程中,通过M个解码线程将第i帧图像对应M个子动态区域的图像数据并行加载至内存中;以及
在第i-1帧图像展示完成时,通过主线程对内存中加载的第i帧图像的图像数据进行绘制展示。
在一可选的实施例中,动画播放模块340还用于:
在第i帧图像的展示过程中,删除内存中加载的第i-1帧图像的图像数据。
在一可选的实施例中,本申请提供的动画播放装置300还包括图像压缩模块,在动画播放模块340响应于针对帧动画的播放指令,通过1个解码线程将静态区域的目标帧图像数据加载至内存中,并通过主线程进行绘制展示之前,用于:
通过1个压缩线程对静态区域的目标帧图像数据进行压缩;以及
通过M个压缩线程对第i帧图像对应M个子动态区域的图像数据分别进行压缩。
在一可选的实施例中,本申请提供的动画播放装置300还包括动画备份模块,在图像压缩模块通过M个压缩线程对第i帧图像对应M个子动态区域的图像数据分别进行压缩之后,用于:
将压缩后的帧动画备份至网络接入点,以供网络接入点拦截其它电子设备发送至服务器且针对帧动画的获取请求,并将压缩后的帧动画传输至其它电子设备。
在一可选的实施例中,本申请提供的动画播放装置300还包括像素清除模块,在确定帧动画的动态区域和静态区域之前,用于去除帧动画中每帧图像的空白像素。
应当说明的是,本申请实施例提供的动画播放装置300与上文实施例中的适于电子设备的动画播放方法属于同一构思,其具体实现过程详见以上相关实施例,此处不再赘述。
本申请实施例提供一种存储介质,其上存储有计算机程序,当其存储的计算机程序在本申请实施例提供的电子设备的处理器上执行时,使得电子设备的处理器执行以上任一适于电子设备的动画播放方法中的步骤。其中,存储介质可以是磁碟、光盘、只读存储器(Read Only Memory,ROM)或者随机存取器(Random Access Memory,RAM)等。
本申请还提供一种电子设备,请参照图6,电子设备400包括处理器410 和存储器420。
本申请实施例中的处理器410可以是通用处理器,比如ARM架构的处理器。
存储器420中存储有计算机程序,其可以为高速随机存取存储器,还可以为非易失性存储器,比如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件等。相应地,存储器420还可以包括存储器控制器,以提供处理器 401对存储器420的访问。处理器410通过执行存储器420中的计算机程序,用于执行以上任一适于电子设备的动画播放方法,比如:
获取帧动画,帧动画包括N帧连续的图像,N为大于1的正整数;
确定帧动画的动态区域和静态区域;
确定帧动画中需要保留对应静态区域的目标帧图像数据,并丢弃帧动画中 N-1帧对应静态区域的非目标帧图像数据;
响应于针对帧动画的播放指令,持续展示静态区域的目标帧图像数据,并依次展示帧动画中每帧图像对应动态区域的图像数据。
在一可选的实施例中,在响应于针对帧动画的播放指令,持续展示静态区域的目标帧图像数据,并依次展示帧动画中每帧图像对应动态区域的图像数据之前,处理器410还用于执行:
将帧动画的动态区域划分为M个子动态区域,M为大于1的正整数;
在响应于针对帧动画的播放指令,持续展示静态区域的目标帧图像数据,并依次展示帧动画中每帧图像对应动态区域的图像数据时,处理器410用于执行:
响应于针对帧动画的播放指令,通过1个解码线程将静态区域的目标帧图像数据加载至内存中,并通过主线程进行绘制展示;以及
通过M个解码线程将帧动画中第i帧图像对应M个子动态区域的图像数据并行加载至内存中,并通过主线程进行绘制展示,i∈[1,N]。
在一可选的实施例中,在通过M个解码线程将帧动画中第i帧图像对应M个子动态区域的图像数据并行加载至内存中,并通过主线程进行绘制展示时,处理器410用于执行::
在帧动画的第i-1帧图像的展示过程中,通过M个解码线程将第i帧图像对应M个子动态区域的图像数据并行加载至内存中;以及
在第i-1帧图像展示完成时,通过主线程对内存中加载的第i帧图像的图像数据进行绘制展示。
在一可选的实施例中,处理器410还用于执行:
在第i帧图像的展示过程中,删除内存中加载的第i-1帧图像的图像数据。
在一可选的实施例中,在响应于针对帧动画的播放指令,通过1个解码线程将静态区域的目标帧图像数据加载至内存中,并通过主线程进行绘制展示之前,处理器410还用于执行:
通过1个压缩线程对静态区域的目标帧图像数据进行压缩;以及
通过M个压缩线程对第i帧图像对应M个子动态区域的图像数据分别进行压缩。
在一可选的实施例中,在通过M个压缩线程对第i帧图像对应M个子动态区域的图像数据分别进行压缩之后,处理器410还用于执行:
将压缩后的帧动画备份至网络接入点,以供网络接入点拦截其它电子设备发送至服务器且针对帧动画的获取请求,并将压缩后的帧动画传输至其它电子设备。
在一可选的实施例中,在确定帧动画的动态区域和静态区域之前,处理器 410还用于执行:
去除帧动画中每帧图像的空白像素。
应当说明的是,本申请实施例提供的电子设备400与上文实施例中的适于电子设备的动画播放方法属于同一构思,其具体实现过程详见以上相关实施例,此处不再赘述。
以上对本申请所提供的一种动画播放方法、装置、存储介质及电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种动画播放方法,应用于电子设备,其特征在于,包括:
获取帧动画,所述帧动画包括N帧连续的图像,N为大于1的正整数;
确定所述帧动画的动态区域和静态区域;
确定所述帧动画中需要保留对应所述静态区域的目标帧图像数据,并丢弃所述帧动画中N-1帧对应所述静态区域的非目标帧图像数据;
响应于针对所述帧动画的播放指令,持续展示所述静态区域的目标帧图像数据,并依次展示所述帧动画中每帧图像对应所述动态区域的图像数据。
2.根据权利要求1所述的动画播放方法,其特征在于,所述响应于针对所述帧动画的播放指令,持续展示所述静态区域的目标帧图像数据,并依次展示所述帧动画中每帧图像对应所述动态区域的图像数据之前,还包括:
将所述动态区域划分为M个子动态区域,M为大于1的正整数;
所述响应于针对所述帧动画的播放指令,持续展示所述静态区域的目标帧图像数据,并依次展示所述帧动画中每帧图像对应所述动态区域的图像数据,包括:
响应于针对所述帧动画的播放指令,通过1个解码线程将所述静态区域的目标帧图像数据加载至内存中,并通过主线程进行绘制展示;
通过M个解码线程将所述帧动画中第i帧图像对应所述M个子动态区域的图像数据并行加载至所述内存中,并通过所述主线程进行绘制展示,i∈[1,N]。
3.如权利要求2所述的动画播放方法,其特征在于,所述通过M个解码线程将所述帧动画中第i帧图像对应所述M个子动态区域的图像数据并行加载至内存中,并通过所述主线程进行绘制展示,包括:
在所述帧动画的第i-1帧图像的展示过程中,通过M个解码线程将所述第i帧图像对应所述M个子动态区域的图像数据并行加载至所述内存中;
在所述第i-1帧图像展示完成时,通过所述主线程对所述内存中加载的所述第i帧图像的图像数据进行绘制展示。
4.如权利要求3所述的动画播放方法,其特征在于,还包括:
在所述第i帧图像的展示过程中,删除所述内存中加载的所述第i-1帧图像的图像数据。
5.如权利要求2所述的动画播放方法,其特征在于,所述响应于针对所述帧动画的播放指令,通过1个解码线程将所述静态区域的目标帧图像数据加载至内存中,并通过主线程进行绘制展示之前,还包括:
通过1个压缩线程对所述静态区域的目标帧图像数据进行压缩;
通过M个压缩线程对所述第i帧图像对应所述M个子动态区域的图像数据分别进行压缩。
6.如权利要求5所述的动画播放方法,其特征在于,所述通过M个压缩线程对所述第i帧图像对应所述M个子动态区域的图像数据分别进行压缩之后,还包括:
将压缩后的帧动画备份至网络接入点,以供所述网络接入点拦截其它电子设备发送至服务器且针对所述帧动画的获取请求,并将所述压缩后的帧动画传输至所述其它电子设备。
7.如权利要求1-6任一项所述的动画播放方法,其特征在于,所述确定所述帧动画的动态区域和静态区域之前,还包括:
去除所述帧动画中每帧图像的空白像素。
8.一种动画播放装置,应用于电子设备,其特征在于,包括:
动画获取模块,用于获取帧动画,所述帧动画包括N帧连续的图像,N为大于1的正整数;
区域确定模块,用于确定所述帧动画的动态区域和静态区域;
数据处理模块,用于确定所述帧动画中需要保留对应所述静态区域的目标帧图像数据,并丢弃所述帧动画中N-1帧对应所述静态区域的非目标帧图像数据;
动画播放模块,用于响应于针对所述帧动画的播放指令,持续展示所述静态区域的目标帧图像数据,并依次展示所述帧动画中每帧图像对应所述动态区域的图像数据。
9.一种存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序被电子设备的处理器加载时执行如权利要求1-7任一项所述的动画播放方法。
10.一种电子设备,所述电子设备包括处理器和存储器,所述存储器储存有计算机程序,其特征在于,所述处理器通过加载所述计算机程序执行如权利要求1-7任一项所述的动画播放方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111187744.5A CN115965718A (zh) | 2021-10-12 | 2021-10-12 | 动画播放方法、装置、存储介质及电子设备 |
PCT/CN2022/115800 WO2023061073A1 (zh) | 2021-10-12 | 2022-08-30 | 动画播放方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111187744.5A CN115965718A (zh) | 2021-10-12 | 2021-10-12 | 动画播放方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115965718A true CN115965718A (zh) | 2023-04-14 |
Family
ID=85898149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111187744.5A Pending CN115965718A (zh) | 2021-10-12 | 2021-10-12 | 动画播放方法、装置、存储介质及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115965718A (zh) |
WO (1) | WO2023061073A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117065331B (zh) * | 2023-08-25 | 2024-03-12 | 上海皿鎏数字科技有限公司 | 一种游戏场景加载控制方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462470A (zh) * | 2014-12-17 | 2015-03-25 | 北京奇虎科技有限公司 | 动态图像显示方法和装置 |
CN107436879A (zh) * | 2016-05-25 | 2017-12-05 | 广州市动景计算机科技有限公司 | 一种动态图片的加载方法和加载系统 |
CN106504303B (zh) * | 2016-09-13 | 2019-11-26 | 广州华多网络科技有限公司 | 一种播放帧动画的方法和装置 |
CN111915708B (zh) * | 2020-08-27 | 2024-05-28 | 网易(杭州)网络有限公司 | 图像处理的方法及装置、存储介质及电子设备 |
-
2021
- 2021-10-12 CN CN202111187744.5A patent/CN115965718A/zh active Pending
-
2022
- 2022-08-30 WO PCT/CN2022/115800 patent/WO2023061073A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023061073A1 (zh) | 2023-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220139353A1 (en) | Display method, electronic device, and non-transitory computer-readable storage medium | |
US20220139017A1 (en) | Layer composition method, electronic device, and storage medium | |
CN110377263B (zh) | 图像合成方法、装置、电子设备及存储介质 | |
CN113457160B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN111405288A (zh) | 视频抽帧方法、装置、电子设备及计算机可读存储介质 | |
CN110049371A (zh) | 视频合成、播放和修改方法、视频合成系统及设备 | |
WO2017202175A1 (zh) | 一种视频压缩方法、装置及电子设备 | |
US11562772B2 (en) | Video processing method, electronic device, and storage medium | |
US11810524B2 (en) | Virtual reality display device and control method thereof | |
CN112532998B (zh) | 抽取视频帧的方法、装置、设备和可读存储介质 | |
CN114598893B (zh) | 文字的视频实现方法及系统、电子设备、存储介质 | |
CN115965718A (zh) | 动画播放方法、装置、存储介质及电子设备 | |
CN114339412A (zh) | 视频质量增强方法、移动终端、存储介质及装置 | |
CN111669599A (zh) | 视频解码方法、视频解码装置及终端设备 | |
CN113096218B (zh) | 动态图像播放方法、装置、存储介质和计算机设备 | |
US9076207B1 (en) | Image processing method, system and electronic device | |
CN116052701B (zh) | 一种音频处理方法及电子设备 | |
CN113259680B (zh) | 视频流解码方法、装置、计算机设备和存储介质 | |
CN114820660A (zh) | 图像处理方法、装置、电子设备、存储介质及程序产品 | |
CN110189388B (zh) | 动画检测方法、可读存储介质及计算机设备 | |
CN108933945B (zh) | 一种gif图片的压缩方法、装置及存储介质 | |
CN114694007A (zh) | 一种视频结构化处理方法及视频结构化引擎 | |
CN118450240A (zh) | 图像处理方法、电子设备和计算机可读存储介质 | |
CN118433440A (zh) | 视频播放方法、装置、电子设备及计算机可读存储介质 | |
CN115278278B (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 |