图像处理方法、装置、电子设备及存储介质与流程

专利2022-06-28  105


本申请涉及图像处理技术领域,更具体地,涉及一种图像处理方法、装置、电子设备及存储介质。



背景技术:

而随着游戏用户的要求越来越高,电子游戏更多的朝着画面表现越来越高清,光影表现越来越真实化的趋势进行发展。但是,在相关的动态效果展示的过程中,为了提升动态效果表现能力,需要预先通过开发工具制作更多的画面内容,造成了较高的制作成本。



技术实现要素:

鉴于上述问题,本申请提出了一种图像处理方法、装置、电子设备及存储介质,以改善上述问题。

第一方面,本申请提供了一种图像处理方法,所述方法包括:获取第一序列图像以及所述第一序列图像中每帧图像各自对应的运动矢量数据;基于所述运动矢量数据、所述第一序列图像以及放慢倍数,生成数量与所述放慢倍数匹配的插入图像;将所述插入图像插入所述第一序列图像的播放序列中,得到第二序列图像;播放所述第二序列图像。

第二方面,本申请提供了一种图像处理装置,所述装置包括:数据获取单元,用于获取第一序列图像以及所述第一序列图像中每帧图像各自对应的运动矢量数据;图像生成单元,用于基于所述运动矢量数据、所述第一序列图像以及放慢倍数,生成数量与所述放慢倍数匹配的插入图像;图像配置单元,用于将所述插入图像插入所述第一序列图像的播放序列中,得到第二序列图像;图像播放单元,用于播放所述第二序列图像。

第三方面,本申请提供了一种电子设备,包括处理器以及存储器;一个或多个程序被存储在所述存储器中并被配置为由所述处理器执行以实现上述的方法。

第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码被处理器运行时执行上述的方法。

本申请提供的一种图像处理方法、装置、电子设备及存储介质,通过在获取第一序列图像以及运动矢量数据后,再基于所述运动矢量数据、所述第一序列图像以及放慢倍数,生成数量与所述放慢倍数匹配的插入图像,并将所述插入图像插入所述第一序列图像的播放序列中,得到第二序列图像的方式,实现了可以在已经制作得到第一序列图像后,在需要将第一序列图像所表征的动态效果进行放慢的情况下,可以根据放慢倍数以及第一序列图像中每帧图像各自对应的运动矢量数据制作得到插入图像,插入到第一序列图像的播放序列中,以得到包括更多图像的第二序列图像,进而实现可以动态的根据放慢倍数以及运动矢量数据来生成插入图像,以降低制作成本以及缩短动态效果制作的耗时。

附图说明

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

图1示出了本申请实施例中的一种运动矢量的示意图;

图2示出了本申请实施例中的另一种运动矢量的示意图;

图3示出了本申请实施例中物体移动的示意图;

图4示出了本申请一实施例提出的一种图像处理方法的流程图;

图5示出了图4所示实施例中插入图像插入播放序列的示意图;

图6示出了图4所示实施例中第二序列图像的示意图;

图7示出了本申请另一实施例提出的一种图像处理方法的流程图;

图8示出了图7提供的图像处理方法中s220的一种实施方式的流程图;

图9示出了本申请实施例提中参考运动矢量数据的示意图;

图10示出了本申请实施例中基础图像与运动矢量贴图的示意图;

图11示出了本申请实施例中像素对应的示意图;

图12示出了图7提供的图像处理方法中s230的一种实施方式的流程图;

图13示出了本申请另一实施例提出的一种图像处理方法中相邻两个图像中生成插入图像的示意图;

图14示出了本申请另一实施例提出的一种图像处理方法中插入图像对应的参考运动矢量数据的示意图;

图15示出了本申请再一实施例提出的一种图像处理方法的流程图;

图16示出了本申请实施例中的一种配置界面的示意图;

图17示出了本申请又一实施例提出的一种图像处理方法的流程图;

图18示出了本申请又一实施例提出的一种图像处理方法的流程图;

图19示出了本申请实施例中的一种游戏场景中爆炸效果的示意图;

图20示出了本申请实施例中的一种游戏场景中爆炸效果处理前后的效果对比的示意图;

图21示出了本申请实施例提供的图像处理方法与相关技术中所需制作图像数量的对比效果图;

图22示出了本申请实施例提出的一种图像处理装置的结构框图;

图23示出了本申请另一实施例提出的一种图像处理装置的结构框图;

图24示出了本申请再一实施例提出的一种图像处理装置的结构框图;

图25示出了本申请又一实施例提出的一种图像处理装置的结构框图;

图26示出了本申请的用于执行根据本申请实施例的图像处理方法的另一种电子设备的结构框图;

图27是本申请实施例的用于保存或者携带实现根据本申请实施例的图像处理方法的程序代码的存储单元。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

随着用户对视觉体验的要求越来越高,虚拟场景的画面显示越发朝着更加清晰化以及真实化的方向发展。例如,在电子游戏场景中各种游戏人物以及游戏特效都表现得越发更加有视觉冲击力。

而发明人在研究中发现,在一些虚拟场景中所涉及的动态效果需要较高的制作成本。例如,为了实现需要的动态效果,在相关的实现方式中可以通过制作关键帧的方式或者通过制作序列图像的方式来实现。

其中,在关键帧的这种方式中,关键帧相当于动态效果中的原画,指物体运动或变化中的关键动作所处的那一帧。在序列图像的这种方式中,对于要展示的动态效果会被进行分解,进而将该动态效果分解为多个动作,其中每个动作可以作为一帧图像,再将分别对应一个动作的图像组合起来就是一个序列图像,在对该序列图像进行播放的过程中,就可以实现展示序列图像对应的动态效果。

但是,在该相关的方式中,为了实现需要的动态效果,对于动态效果中的每一帧图像都需要开发人员前期通过开发工具进行制作,进而会造成较高的制作成本。例如,对于超级慢动作类的动态效果相比普通类的动态效果具有更高的帧率(每秒显示的帧数),可选的,普通类的动态效果的帧率为30fps,而超级慢动作类的动态效果的帧率可以为240fps,甚至更高。其中,30fps表征每秒播放30帧图像,240则表征每秒播放240帧图像。那么在初始的动态效果为普通类的动态效果,且需要基于普通类的动态效果进行放慢而实现超级慢动作类的动态效果的情况下,需要开发人员通过开发工具制作更多的图像插入到该普通的动态效果的图像序列中,以适应帧率的增加。并且,如果对于已经完成制作的动态效果需要进行调整(例如,调整播放时长),那么就会涉及到重新制作的问题,进而会进一步的增加制作成本。例如,对于一个本身的播放时长为2秒且包括60帧图像的动态效果,如果要放慢5倍(可以理解为延长5倍播放时长)进行播放,并且同时保持原有的视觉效果的情况下,一共需要300帧图像,也就意味着需要重新制作240帧图像,进而会造成较大的制作成本。

并且,预先制作得到的图像会存储在资源文件中,当资源文件被存放于用户所使用的终端设备之后,会使得资源文件占用该终端设备更多的存储空间,降低了存储空间的利用率。

因此,发明人提出了本申请实施例提供的图像处理方法、装置、电子设备及存储介质,以实现了可以在已经通过开发工具制作得到原始序列图像后,在需要将原始序列图像所表征的动态效果(或者也可以理解为所达到的动态效果)进行放慢且同时保持视觉效果或者需要更佳的视觉效果的情况下,可以根据该制作得到的原始序列图像中每帧图像各自对应的运动矢量数据制作得到插入图像插入到原始序列图像的播放序列中,以得到包括更多图像的序列图像,进而实现可以动态的根据放慢倍数以及运动矢量数据来生成插入图像,而不需要再通过开发工具制作更多用于插入到原始序列图像的图像,以降低制作成本以及缩短动态效果制作的耗时。

在对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。

放慢倍数:放慢倍数表征的是对动态效果的播放时长进行延长的倍数。例如,若放慢倍数为2,那么就表征需要将动态效果的播放时长延长2倍。比如,若原本动态效果的播放时长为2秒,在放慢倍数为2的情况下,就对应的将播放时长延长到4秒,在放慢倍数为5的情况下,对应的将播放时长延长到10秒。

运动矢量:运动矢量表征的是图像中目标像素的位移。而其中的目标像素可以指图像中的任一像素,也可以指图像中的一个内容块中的像素。

如图1所示,如果目标像素为图像中的像素,假设像素10为目标像素中的一个像素,图1中像素10在前一帧的图像中所处的位置为(a,b),而在后一帧图像中所处的位置为(c,d),那么该后一帧图像中像素10对应的运动矢量为(dx,dy),其中,dx表征像素10在x轴方向上的位移,dy表征像素10在y轴方向上的位移,所以在图1所示的情况中dx=a-c,dy=d-b。

如图2所示,如果目标像素为内容块中的像素,运动矢量表征的是该内容块与最佳匹配块之间的位移,最佳匹配块指的是后一帧图像30中与前一帧图像20的内容块21匹配度最高的内容块31。需要说明的是,内容块中可以包括有多个像素,在本申请实施例中可以将内容块的中心点的像素的位移作为该内容块的位移。其中,该中心点可以为几何中心。在图2所示的内容中,内容块与最佳匹配块之间的运动矢量为(a-c,d-b)。

其中,内容块可以理解为在图像中表征具有实体含义的区域。例如,若图像中为一个人,那么该人的头部就是一个具有实体含义的区域,实体含义就是该区域的图像内容表征的是人的头部,进而该头部区域就可以作为一个内容块。再例如,该人的手也是一个具有实体含义的区域,进而手部区域又可以作为一个内容块。

需要说明的是,本申请实施例的目标像素可以理解为图像中的每个像素,也可以理解为前述内容中的内容块中的像素。在本申请实施例中所涉及的运动矢量数据表征的是携带有运动矢量的数据,该数据可以为文本格式或者图片格式。

下面再对本申请实施例所涉及的方案原理进行介绍。

如图3所示,以序列图像表征的是一个物体从画面中的一端移动到另一端的过程举例进行说明。从图3中也可以看出,该物体32在移动过程中会经过多个位置,例如,物体32会从第一位置开始移动,经过第二位置以及第三位置而到达第四位置。该物体32在每个位置时的画面可以通过一帧图像来表示,进而可以理解为序列图像中的每帧图像都表征了该物体的一个位置。示例性的,在序列图像可以包括4帧图像,其中第一帧图像对应于第一位置时的画面,第二帧图像对应于第二位置时的画面,第三帧图像对应于第三位置时的画面,第四帧图像对应于第四位置时的画面。

在这种情况下,可以将每帧图像中表征该物体的像素作为目标像素,进而每帧图像中的物体在移动过程中,可以看做为每帧图像中的目标像素在移动。例如,以图3中目标像素包括的像素33为例,物体32在前述的第一位置到第四位置的移动过程中,也可以看做像素33在第一位置到第四位置的移动。

在本申请实施例正是利用了上述特点,可以通过获取目标像素的运动矢量来生成新的图像作为插入图像,以解决前述提出的技术问题。

下面将结合附图对本申请实施例进行详细的介绍。

请参阅图4,图4所示为本申请一实施例提出的一种图像处理方法的流程图,该方法包括:

s110:获取第一序列图像以及该第一序列图像中每帧图像各自对应的运动矢量数据。

需要说明的是,在本申请实施例中第一序列图像可以理解为表征目标动态效果的序列图像。在该第一序列图像中可以包括有多帧图像,在该多帧图像被绘制到图像显示界面以进行显示的情况下,可以在该图像显示界面中展示该目标动态效果。在本申请实施例中,第一序列图像为后续生成新的图像的基础,作为一种方式,第一序列图像可以为开发人员通过开发工具制作得到。

其中,该第一序列图像中每帧图像各自对应的运动矢量数据,表征的是每帧图像中的目标像素相比在相邻图像中对应像素的位移,或者是每帧图像中的内容块相比在相邻图像中最佳匹配块的位移。而该相邻图像可以为相邻的前一帧图像,也可以为相邻的后一帧图像。

示例性的,若第一序列图像包括有第一帧图像、第二帧图像、第三帧图像以及第四帧图像。那么在运动矢量数据表征的是每帧图像中的目标像素相比在前一帧图像中对应像素的位移的情况下,第一帧图像对应的运动矢量数据均为0,因为第一帧图像中的目标像素还未发生移动,也就未产生位移。第二帧图像对应的运动矢量数据,可以表征目标像素在第二帧图像的位置相比在第一帧图像中对应像素的位置的位移。类似的,第三帧图像对应的运动矢量数据,可以表征目标像素在第三帧图像的位置相比在第二帧图像中对应像素的位置的位移,第四帧图像对应的运动矢量数据,可以表征目标像素在第四帧图像的位置相比在第三帧图像中对应像素的位置的位移。

s120:基于该运动矢量数据、该第一序列图像以及放慢倍数,生成数量与该放慢倍数匹配的插入图像。

如前述内容所知,第一序列图像在显示过程中可以表征一动态效果。在本申请实施例中,放慢倍速可以理解为将该第一序列图像表征的动态效果放慢的倍数,或者可以理解为将该第一序列图像表征的动态效果的播放时长进行延长的倍数。

示例性的,若第一序列图像在显示过程中所表征的动态效果的时长为2秒,那么在放慢倍数为2的情况下,需要将第一序列图像表征的动态效果放慢2倍,也就是将播放时长由2秒延长到2×2=4秒。再例如,若第一序列图像在显示过程中所表征的动态效果的时长为4秒,那么在放慢倍数为3的情况下,需要将第一序列图像表征的动态效果放慢3倍,也就是将动态效果的播放时长由4秒延长到4×3=12秒。

在动态效果的播放过程中,帧率是影响用户视觉体验的一个因素。其中,帧率可以理解为每秒钟时间里播放的图像的帧数,或者理解为每秒种所刷新的帧数。较高的帧率可以得到更流畅、更逼真的动画。那么在将第一序列图像表征的动态效果的播放时长延长的情况下,如果不同时增加第一序列图像中图像的帧数,那么就会造成每秒所播放的帧数减少,进而造成卡顿感。

示例性的,若原本第一序列图像一共包括60帧图像且播放时长为2秒,那么对应的帧率为30fps(每秒显示的帧数)。而在放慢倍数为4的情况下,对应的播放时长就会延长为8秒,那么在不插入新的图像的情况下,对应的帧率就会变成7.5fps。所以,为了达到第一序列图像在放慢播放的同时依然可以保持视觉效果的技术效果,可以基于该运动矢量数据、该第一序列图像以及放慢倍数,生成新的图像作为插入图像。

作为一种方式,在生成插入图像的过程中,可以先获取待生成的插入图像的运动矢量数据作为参考运动矢量数据。可以理解的是,参考运动矢量数据表征是对应图像中目标像素相对在第一序列图像中的某一帧图像的位移情况,或者表征对应图像中目标像素相对在在先生成的插入图像中的位移情况,进而在生成得到参考运动矢量数据后,就可以根据生成的参考运动矢量数据进行目标像素的移动,以生成插入图像。

需要说明的是,对于不同的放慢倍数,动态效果所对应延长的播放时长是不同的,对应所要生成的插入到第一序列中的插入图像的数量也是不同的。因此,生成的插入图像的数量需要与放慢倍数匹配,以便对应不同的放慢倍数,都可以保持原有的视觉效果,甚至提升原有的视觉效果。

s130:将该插入图像插入该第一序列图像的播放序列中,得到第二序列图像。

在生成插入图像后,可以对每个插入图像对应的播放位置进行配置。将该插入图像插入该第一序列图像的播放序列中,可以理解为在原本的第一序列图像的播放序列中配置每个插入图像对应的播放位置,进而得到第二序列图像。可以理解的是,本申请实施例中,每个播放位置表示的是在播放时序上被播放的时序位置。示例性的,若插入图像对应的播放位置为第一序列图像中的第一帧图像和第二帧图像之间,那么也就意味着,在后续的显示过程中会先播放第一帧图像,然后播放该插入图像,再播放第二帧图像。

示例性的,如图5所示,以第一序列图像40a中包括有6帧图像为例,在有6帧图像的情况下可以在每相邻两帧图像之间分别插图一帧图像,即一共插入5帧图像。假设第一序列图像40a对应生成的5帧插入图像包括插入图像51、插入图像52、插入图像53、插入图像54以及插入图像55。并且,每个插入图像各自所对应的插图位置为对应箭头所指向的位置,也就是后续在播放时序中被播放的时序位置。进而所得到的第二序列图像可以为如图6所示。在图6中,在所生成的第二序列图像40b中已经插入了图5中所示出的插入图像(52,53,54,55)。

s140:播放该第二序列图像。

在生成的第二序列图像中包括有多帧图像,那么播放第二序列图像,可以理解为对第二序列图像中包括的多帧图像进行依次播放,以实现播放该第二序列图像所表征的动态效果。例如,如图6所示的第二图像序列41中,在原本的第一图像序列40插入了插入图像(52,53,54,55)后,播放第二序列图像时,就会按照图像由左到右的顺序依次对第二图像序列41中的图像进行播放,以展示对应的动态效果。

本实施例提供的图像处理方法,通过在获取第一序列图像以及运动矢量数据后,再基于该运动矢量数据、该第一序列图像以及放慢倍数,生成数量与该放慢倍数匹配的插入图像,并将该插入图像插入该第一序列图像的播放序列中,得到第二序列图像的方式,实现了可以在已经制作得到第一序列图像后,在需要将第一序列图像所表征的动态效果进行放慢且同时保持视觉效果的情况下,可以根据第一序列图像中每帧图像各自对应的运动矢量数据制作得到插入图像插入到第一序列图像的播放序列中,以得到包括更多图像的第二序列图像,进而实现不需要再通过开发工具进行制作更多用于插入到第一图像序列中的图像,以降低制作成本以及缩短动态效果制作的耗时。

请参阅图7,图7示出了本申请另一实施例提出的一种图像处理方法的流程图,该方法包括:

s210:获取第一序列图像以及该第一序列图像中每帧图像各自对应的运动矢量数据。

s220:根据该运动矢量数据以及放慢倍数,生成数量与该放慢倍数匹配的参考运动矢量数据。

参考运动矢量数据指的是插入图像对应的运动矢量数据,可以根据第一序列图像中每帧图像对应的运动矢量数据以及放慢倍数生成,进而后续再根据参考运动矢量数据生成插入图像。

在本申请实施例中,可以有多种方式生成数量与该放慢倍数匹配的参考运动矢量数据。需要说明的是,每个参考运动矢量数据对应于一个插入图像,也就是说参考运动矢量数据的数量与后续生成的插入图像的数量是对应的。

如图8所示,作为一种方式,根据该运动矢量数据以及放慢倍数,生成数量与该放慢倍数匹配的参考运动矢量数据,可以包括:

s221:获取目标位移,该目标位移为该第一序列图像中,每两个相邻图像中在后显示图像对应的运动矢量数据所表征的位移。

s222:获取该目标位移与该放慢倍数的比值,根据该放慢倍数,获得每两个相邻图像之间的插入图像的数量,将该比值作为每两个相邻图像之间的插入图像对应的参考运动矢量数据,得到数量与该放慢倍数匹配的参考运动矢量数据。

其中,假设第一序列图像包括的图像为第一帧图像、第二帧图像、第三帧图像、第四帧图像、第五帧图像以及第六帧图像,可以以每两个相邻图像作为一个区间进行参考运动矢量数据的生成。在本申请实施例中,可以针对每个区间分别生成一个目标位移,作为本区间所对应的目标位移。

示例性的,可以将第一帧图像以及第二帧图像作为一个区间,将第二帧图像以及第三帧图像作为一个区间,将第三帧图像以及第四帧图像作为一个区间,将第四帧图像以及第五帧图像作为一个区间,以及将第五帧图像以及第六帧图像作为一个区间。而在第一帧图像以及第二帧图像组成的区间中,在后显示的图像即为第二帧图像,那么在这个区间对应的目标位移即为第二帧图像对应的运动矢量数据所表征的位移。可以理解的是,每帧图像对应的运动矢量数据表征的是每帧图像中目标像素的位移,那么目标位移所包括的是目标像素中每个像素的位移。

在这种情况下,假设目标像素中包括的第一像素在第一帧图像的位置为(a1,b1),而该第一像素在第二帧图像中的位置为(a2,b2),那么在第二帧图像对应的运动数量数据中关于该第一像素的运动矢量为(a2-a1,b2-b1),该第一像素在x轴向的位移为a2-a1,在y轴向的位移为b2-b1,那么对于最终计算得到的目标位移就可以包该第一像素在x轴向的位移a2-a1,在y轴向的位移a2-a1,从而通过前述方式就可以获取到目标像素包括的每个像素的位移,以获取到第二帧图像对应的运动矢量数据所表征的位移作为所在区间对应的目标位移。例如,假设该目标像素还包括第二像素,第二像素在第一帧的位置为(c1,d1),而该第二像素在第二帧图像中的位置为(c2,d2),那么对于第二像素而言,在x轴向的位移为c2-c1,在y轴向的位移为d2-d1。在这种情况下,所计算得到的目标位移包括第一像素在x轴向的位移a2-a1,在y轴向的位移b2-b1,以及第二像素在x轴向的位移c2-c1,在y轴向的位移d2-d1。

需要说明的是,在第一序列图像中每个像素的移动是具有一定的整体性的。请再参阅图3,物体32在第一位置到第四位置的移动过程中,而组成物体32的像素除了像素33外,其他像素也都可以看做一起在位置到第四位置进行移动。那么在第二位置到第四位置这种过程中,组成物体32的每个像素的位移是相同的。因此,可以直接将在后显示图像中目标像素中某个像素的位移,作为该在后显示图像对应的运动矢量数据所表征的位移,进而得到每个区间对应的目标位移。

示例性的,以前述包括第一像素以及第二像素的目标像素为例,该目标像素为前述第一帧图像和第二帧图像的目标像素。其中,所计算得到的目标位移包括第一像素在x轴向的位移a2-a1,在y轴向的位移b2-b1,以及第二像素在x轴向的位移c2-c1,在y轴向的位移d2-d1,那么在移动是具有一定的整体性的的情况下,c2-c1与a2-a1是相同的,d2-d1与b2-b1是相同的,进而可以得到第一帧图像和第二帧图像组成区间对应的目标位移为a2-a1(x轴方向)以及b2-b1(y轴方向)。

如前述内容所示,在每两个相邻图像中插入的图像的数量是与当前放慢倍数相关的。在一种方式中,对于第一序列图像所表征的动态效果的播放时长对应的放慢倍数越大,该动态效果所持续的播放时长也就越长,进而需要生成的插入图像就会越多。

在本申请实施例中,获取得到每个区间对应的目标位移后,就可以根据该目标位移与放慢倍数的比值来确定所要生成的插入图像对应的参考运动矢量数据。作为一种方式,目标位移可以包括的是目标像素中每个像素在每相邻图像之间的位移,那么在将目标位移与放慢倍数相比以计算比值的时候,需要将每个目标位移包括的每个像素各自的位移分别与放慢倍数相比,以计算插入图像中每个像素各自对应的参考运动矢量数据,进而得到插入图像对应的参考运动矢量数据。

示例性的,如图9所示,若当前帧图像41中目标像素包括的像素11的运动矢量为(0.5,0.5),该运动矢量表征像素11在当前帧图像41中的位置相比在前一帧图像42中的位置在x轴方向以及y轴方向的位移均为0.5。那么在放慢倍数为2倍的情况下,所得到的比值为0.5/2=0.25,进而再将该比值0.25作为待生成的插入图像包括的目标像素中的像素11的参考运动矢量数据。示例性的,若待生成的插入图像为插入图像56,那么在计算得到比值为0.25的情况下,可以确定的是插入图像56中像素11的位置相比在该前一帧图像42中位置的位移为0.25。

在获取到该比值后,可以根据x×n小于y的公式来确定每个区间内需要生成的参考运动矢量数据的数量。其中,符号“×”表征乘积运算,x为目标位移与该放慢倍数的比值,y为目标位移,n为使x×n小于y成立的最大整数。

以前述像素11在x轴方向的运动为例,该像素11在x轴方向的位移为0.5,也就意味着在后显示图像对应的运动矢量数据所表征的位移为0.5,进而得到目标位移0.5,而对应的放慢倍数为2倍,那么比值为0.25,那么基于该公式x×n小于y,且n为使x×n小于y成立的最大整数,得到n为1。也就意味着,在这个区间内需要生成1个参考运动矢量数据。在这种情况下,若第一序列图像包括有6帧图像,那么一共需要生成(6-1)×1=6个参考运动矢量数据。

再例如,若得到的目标位移依然为0.5,而对应的放慢倍数为3倍,那么比值为0.16,那么基于该公式x×n小于y,且n为使x×n小于y成立的最大整数,得到n为3。也就意味着,在这个区间内需要生成3个参考运动矢量数据。在这种情况下,若第一序列图像包括有6帧图像,那么一共需要生成(6-1)×3=15个参考运动矢量数据,而若第一序列图像包括有9帧图像,那么一共需要生成(9-1)×3=24个参考运动矢量数据。

此外,作为另外一种生成数量与该放慢倍数匹配的参考运动矢量数据的方式,可以直接根据第一序列图像原有的帧数来确定所要新生成的参考运动矢量数据的数量。在这种方式下,若第一序列图像原有的图像的帧数为m,那么在确定放慢倍数为n的情况下,可以得到后续生成的新的序列图像一共有m×n帧图像,那么所要生成的插入图像一共有m×n-m帧,在这种情况下需要生成的参考运动矢量数据的数量为m×n-m,那么每相邻两帧图像之间需要生成的插入图像的数量可以为(m×n-m)/(m-1)。

需要说明的是,在一些情况下m×n-m/(m-1)无法得到一个整数。那么为了改善该情况,在检测到(m×n-m)/(m-1)不是整数的情况下,可以将(m×n-m)/(m-1)的商作为每相邻两帧图像之间需要生成的插入图像的数量,而将得到的余数随机插入到第一序列图像中任意两帧图像之间,或者是插入到第一序列图像中最后一帧图像之后进行显示。

示例性的,若第一序列图像包括有6帧图像,那么在放慢倍数为2倍的情况下,所计算得到的一共需要新生成6×2-6=6帧图像,并且会进一步的检测到6/5不为整数,那么则适应性的计算得到商为1,进而确定在6帧图像中,每相邻两帧图像之间需要生成的插入图像的数量为1帧,而对于剩余的那1帧图像则可以配置在第一序列图像原本的6帧图像中任意两帧之间生成,或者是配置在原本的6帧图像之后生成。示例性的,若原本的6帧图像包括有第一帧图像、第二帧图像、第三帧图像、第四帧图像、第五帧图像以及第六帧图像。那么在确定将剩余的那1帧图像配置在该第一帧图像和第二帧图像之间进行生成的情况下,第一帧图像和第二帧图像之间所要生成的插入图像则为2帧,而其他相邻两帧图像之间生成的插入图像为1帧。

需要说明的是,在本方式下,在确定每相邻两个图像之间要生成的插入图像的数量后,可以依然按照前述的方式来确定每相邻两个图像之间要生成的插入图像对应的参考运动矢量数据。

再者,需要说明的是,第一序列图像中每帧图像各自对应的运动矢量数据可以通过多种方式进行存储。

作为一种方式,可以通过数据表的方式来存储每帧图像中各自对应的运动矢量数据。作为另外一种方式,可以通过制作贴图(map)来携带每帧图像中各自对应的运动矢量数据。其中,贴图为与序列图像中的图像具有相同轮廓的图像。例如,图10中左侧图像为包括序列图像的基础图像,而右侧图像为对应的贴图,贴图中的物体与序列图像中的物体的轮廓是相同的。其中,基础图像中包括有所要达到的动态效果分解为多个动作的情况下,该多个动作各自对应的图像内容。其中,图10中一个方框60对应动态效果中的一个动作,在这种情况下基于图10中的基础图像生成序列图时,一个方框60就可以对应序列图中的一帧图像。

图10中的基础图像表征的一个较小的星星从画面左侧朝向移动,而另一个较大的星星从画面底部朝向顶部移动的动态效果。通过对基础图像中的内容进行剪切就可以得到包括多帧图像的第一序列图像。并且,该贴图中每个像素的指定颜色通道的值用于表征第一序列图像中对应像素的运动矢量。

示例性的,如图11所示,序列图像中的一帧图像中的像素70与贴图中的像素80为对应的像素。那么像素80对应的指定颜色通道的值用于表征像素70的运动矢量。类似的,序列图像中的一帧图像中的像素71与贴图中的像素81为对应的像素,那么像素81对应的指定颜色通道的值用于表征像素71的运动矢量。其中,指定颜色通道可以为红通道以及绿通道,其中红通道用于表征像素在x轴方向的位移,而绿通道用于表征像素在y轴方向的位移。

s230:基于该第一序列图像以及该参考运动矢量数据,生成数量与该放慢倍数匹配的插入图像。

可以理解的是,在本申请实施例中第一序列图像中每帧图像对应的运动矢量数据,表征的是每帧图像中目标像素的相比在前一帧图像中的位移。在先确定好待生成的插入图像对应的参考运动矢量数据后,就可以基于像素移动的方式来生成插入图像。

如图12所示,作为一种方式,该基于该第一序列图像以及该参考运动矢量数据,生成数量与该放慢倍数匹配的插入图像,包括:

s231:在生成当前的参考运动矢量数据对应的插入图像的过程中,获取该当前的参考运动矢量数据对应的目标图像,该目标图像为该当前的参考运动矢量数据所对应的目标像素的移动初始位置所对应的图像。

s232:将每个该参考运动矢量数据各自对应的该目标图像中的目标像素,按照各自所对应的参考运动矢量数据进行移动,得到每个所述参考运动矢量数据对应的插入图像。

示例性的,如图13所示,在图13所示的内容中,图像43和图像44为第一序列中组成一个区间的相邻的两帧图像。而其中的图像57、图像58以及图像59为待生成的插入图像。在生成图像57时,图像57所对应的参考运动矢量数据就为当前的参考运动矢量数据。再者,可以理解的是,基于前述的内容可知待生成的图像57、图像58以及图像59各自对应的参考运动矢量数据,是基于图像44的对应的运动矢量数据所表征的位移以及放慢倍数来确定的,而图像44的运动矢量数据所表征的位移为相对于图像43中的位移。那么在生成图像57的过程中,图像57所对应的参考运动矢量数据对应的目标图像即为图像43。而对于图像58对应的参考运动矢量数据表征的位移为相对于图像57中的位移,那么在生成图像58时,图像58对应的参考运动矢量数据为当前的参考运动矢量数据,而当前的参考运动矢量数据对应的目标图像为图像57。对应的,在生成图像59时,当前的参考运动矢量数据对应的目标图像为图像58。

再者,作为另外一种方式,在第一序列图像中每相邻的两个图像之间的参考运动矢量数据生成后,每个参考运动矢量数据各自所表征的目标像素相比每相邻的两个图像中在先显示图像的位移就已经可以确定的。示例性的,如图14所示,图像44中的目标像素包括的像素11的运动矢量为(0.5,0.5),那么在确定放慢倍数为3倍的情况下,可以得到像素11在图像57、图像58以及图像59中位置对应的运动矢量均为(0.16,0.16),那么也就意味着像素11在图像58中的位置相比在图像43中的位置的位移为0.32,而像素11在图像59中的位置相比在图像43中的位置的位移为0.48,对应的,对于每相邻两个图像中的参考运动矢量数据对应的目标图像可以均配置为每相邻的两个图像中在先显示图像。

在基于前述方式确定目标图像后,就可以通过移动像素的方式来生成得到插入图像。示例性的,请继续参阅图14,运动矢量(0,0)为像素11为在图像41中对应的运动矢量,那么在生成图像57时,将像素11朝向箭头所示的方向在x轴和y轴方向分别移动0.16,就可以得到像素11在图像57中的位置,进而通过这种方式就可以得到图像43中的目标像素移动到图像57中的位置,进而生成图像57对应的图像内容。而在生成图像58时,可以继续在生成的图像57的基础上移动目标像素的位置,即继续朝向箭头所示方向移动0.16像素单位,也可以在图像43的基础上将目标像素移动0.32,以生成图像58对应的图像内容。

需要说明的是,如前述内容所示,运动矢量数据表征的是图像中目标像素的位移,而在实施例中可以通过制作具有相同图像内容的贴图来携带每帧图像中各自对应的运动矢量数据,该贴图中每个像素的指定颜色通道的值用于表征第一序列图像中对应像素的运动矢量。在这种情况下,所得到的位移的单位为颜色通道的值的单位,进而在确定目标像素在图像中实际的移动距离时,需要将得到位移再乘以一个转换因子以得到以像素为单位的移动距离。示例性的,若转换因子为s,那么在计算得到像素的位移为0.25的情况下,那么该像素在图像中实际移动距离为0.25×s个像素单位。可选的,在本实施例中,该转换因子可以根据图像的位色来确定,图像的位色越大所对应的转换因子越大。其中,图像的位色表征每个颜色通道所占的位数,例如,对于24位色的图像,每个颜色通道(红色通道、绿色通道以及蓝色通道)占8位。

s240:将该插入图像插入该第一序列图像的播放序列中,得到第二序列图像。

s250:播放该第二序列图像。

本实施例提供的一种图像处理方法,实现了可以在已经制作得到第一序列图像后,在需要将第一序列图像所表征的动态效果进行放慢且同时保持视觉效果的情况下,可以根据该运动矢量数据以及放慢倍数,生成数量与该放慢倍数匹配的参考运动矢量数据,然后再基于该第一序列图像以及该参考运动矢量数据进行目标像素的移动,进而生成数量与该放慢倍数匹配的插入图像,以插入到第一序列图像的播放序列中,以得到包括更多图像的第二序列图像,进而实现不需要再通过开发工具进行制作更多用于插入到第一图像序列中的图像,以降低制作成本。

请参阅图15,图15示出了本申请再一实施例提出的一种应用于游戏客户端的图像处理方法的流程图,该方法包括:

s310:显示配置界面。

需要说明的是,在本申请实施例中放慢倍数可以预先在第一序列图像的开发阶段就由开发人员进行配置,而也可以在第一序列图像所进行显示的游戏客户端中由用户进行配置。可选的,本申请实施例提供的图像处理方法可以由游戏客户端来执行,而该游戏客户端可以配置有配置界面,那么该游戏客户端可以在检测到用户的触发操作后显示配置界面,以便用户配置自己所需的放慢倍数。

s320:基于所述配置界面获取放慢倍数。

在本申请实施例中,配置界面可以通过多种方式来使得用户输入放慢倍数。

作为一种方式,该配置界面包括第一控件以及可在该第一控件上滑动的第二控件,该获取在该配置界面中输入的动态效果参数,包括:获取该第二控件响应触控操作滑动后所在的位置;将该所在的位置对应的数值,作为的放慢倍数。例如,若所在位置对应的数值为2,则可以得到放慢倍数为2倍。

示例性的,如图16所示,图16所示为游戏客户端的游戏界面99,在该游戏界面99中可以响应用户的操作显示配置界面98,而在该配置98中显示有第一控件97以及可在该第一控件97上滑动的第二控件96。其中,用户可以通过拖拽的方式触控第二控件96在第一控件97上进行滑动,在第一控件97上不同的位置对应不同的数值,游戏客户端可以检测获取该第二控件响应触控操作滑动后所在的位置,将该所在的位置对应的数值,作为输入的放慢倍数。

作为另外一种方式,游戏客户端可以直接在配置界面显示一输入框以及确认控件,以便用户可以直接在该输入框中手动输入所需要的放慢倍数,再点击该确认控件。当游戏客户端检测到该确认控件被触控后,会将从输入框中获取的数据作为放慢倍数。

需要说明的是,游戏客户端所安装在的电子设备会给游戏客户端配置专门的文件存储区域,以存储游戏客户端对应的文件。在这种情况下,在该文件存储区域中会对应存储有游戏客户端对应的配置文件,该配置文件可以记录游戏客户端的相关配置信息。例如,所配置的画面分辨率、所配置的音效以及所配置的操作方式等,对应的,也可以配置有放慢倍数。那么在获取到放慢倍数后,游戏客户端还可以将获取的放慢倍数存储到该配置文件中,以便对之前存储的放慢倍数进行更新。示例性的,配置文件中原本存储的放慢倍数为2倍,那么在检测到有新的输入的放慢倍数后,且识别到该新的输入的放慢倍数与2不同,例如为3,那么游戏客户端会将配置文件的放慢倍数由2更新为3。其中,在这种情况下,配置文件中所存储的放慢倍数可以理解为在实际生成插入图像过程中所采用的放慢倍数。

s330:获取第一序列图像以及该第一序列图像中每帧图像各自对应的运动矢量数据。

s340:基于该运动矢量数据、该第一序列图像以及放慢倍数,生成数量与该放慢倍数匹配的插入图像。

s350:将该插入图像插入该第一序列图像的播放序列中,得到第二序列图像。

s360:播放该第二序列图像。

需要说明的是,在本申请实施例中,s310到s360,与s370可以分别在不同的阶段执行。可以理解的是,第一序列图像表征的是一动态效果。例如,表征是物体从一端飞到另一端的动态效果。而第二序列图像表征的动态效果与第一序列图像表征动态效果的内容是相同的,主要是第二序列图像表征的动态效果的播放时长与第二序列图像表征的动态效果不同。那么如果需要加载显示第二序列图像对应的动态效果时,才开始获取第一序列图像以及第一序列图像中每帧图像各自对应的运动矢量数据,以生成第二序列图像,那么就可能会造成第二序列图像的显示有延迟感。

可以理解的是,第一序列图像中的每帧图像都是预先已经制作得到的,但是因为要进行放慢处理而新生成的插入图像是需要基于第一序列图像实时渲染得到的,而在该渲染过程中是需要消耗游戏客户端所在电子设备的处理资源(cpu的计算资源或者gpu的计算资源)的,而若当时的处理资源较为紧张,那么就会造成插入图像的渲染效率不高,进而造成第二序列图像的显示有延迟感。

那么作为一种改善该问题的方式,游戏客户端可以在检测到放慢倍数发生改变时,即使当前不处于需要加载第二序列图像的场景时,就预先基于该运动矢量数据、该第一序列图像以及放慢倍数,生成数量与该放慢倍数匹配的插入图像,进而预先生成第二序列图像,以便在需要显示第二序列图像时,可以直接对第二序列图像进行播放,提升动态效果播放的实时性。

本实施例提供的一种图像处理方法,除了实现降低制作成本以及缩短动态效果制作的耗时外,在本申请实施例中,该放慢倍速可以为在配置界面进行实时的输入,进而使得可以实时的第一序列图像所要展示的动态效果的播放速度进行控制,提升了动态效果展示过程中的交互性,进而也提升了用户体验。

请参阅图17,图17示出了本申请又一实施例提出的一种应用于游戏客户端的图像处理方法的流程图,该方法包括:

s410:基于外部数据接口获取放慢倍数。

基于外部数据接口获取放慢倍数可以理解为接收通过外部数据接口传输来的放慢倍数。

作为一种方式,游戏客户端所在的电子设备中可以运行有一插件用于集中的对多个游戏客户端的配置信息进行配置,以便于用户可以不必依次对多个游戏客户端各自的配置信息分别进行配置,进而降低了用户的操作重复性,提升用户使用体验。

例如,执行本申请实施例提供的图像处理方法的游戏客户端为客户端a,而客户端a所在的电子设备除了安装有客户端a外,还有客户端b以及客户端c,而其中的电子设备中配置有插件a,该插件a可以通过进程通信的方式与客户端a、客户端b以及客户端c进行通信。在这种情况下,用户可以在插件a中配置游戏界面分辨率、游戏音效以及动态效果的放慢倍数等。插件a在获取到用户配置的游戏界面分辨率、游戏音效以及动态效果的放慢倍数后,可以将这些信息作为配置信息并基于进程通信的方式同步到客户端a、客户端b以及客户端c各自的外部数据接口,以便客户端a、客户端b以及客户端c通过各自的外部数据接口获取到插件a传输的配置信息,以便对配置文件中的配置信息进行更新。

s420:获取第一序列图像以及该第一序列图像中每帧图像各自对应的运动矢量数据。

s430:基于该运动矢量数据、该第一序列图像以及放慢倍数,生成数量与该放慢倍数匹配的插入图像。

s440:将该插入图像插入该第一序列图像的播放序列中,得到第二序列图像。

s450:播放该第二序列图像。

本实施例提供的一种图像处理方法,除了实现降低制作成本以及缩短动态效果制作的耗时外,在本申请实施例中,该放慢倍速可以为由外部程序通过游戏客户端对应的外部数据接口实时输入,进而使得可以实时的第一序列图像所要展示的动态效果的播放速度进行控制,提升了动态效果展示过程中的放慢倍数配置的灵活性,进而也提升了用户体验。

请参阅图18,图18示出了本申请又一实施例提出的一种图像处理方法的流程图,该方法包括:

s510:原始素材生成。

在生成第一序列图像之前可以预先制作得到基础序列图像作为原始素材,进而再从该基础序列图像中选择部分图像作为第一序列图像。

s520:定义所要生成的序列图的数量和精度。

其中,精度可以理解为图像的分辨率。

可选的,在一个包括的总像素固定的基础序列图像中,那么如果要想基于该基础序列图像得到更多的序列图像,那么序列图像中每帧图像的分辨率就会相对更低。示例性的,例如一个总共2048×2048像素的基础序列图像,如果里面包含的是8×8排列的序列图(共64帧),那么对应得到的单帧画面的像素为256×256。而如果里面包含的是16×16排列的序列图(256帧),那么得到的单帧画面的像素为128×128。

在这种情况下,可以根据实际的需求而定义单帧画面的分辨率,进而得到第一序列图像中所包括的图像的帧数。

s530:在第一图像生成环境中生成该第一序列图像。

s540:在该第一图像生成环境中生成与该第一序列图像中每帧图像各自对应的该运动矢量数据。

需要说明的是,在本实施例中s540可以在s530后再执行,也可以与s530同步执行。

s550:将该第一序列图像以及该运动矢量数据输入到第二图像生成环境中,输出携带该第一序列图像、该运动矢量数据以及放慢倍数的材质数据。

作为一种方式,可以在该材质数据(material)中配置标量参数(scalarparameter)用于存储该放慢倍数,以便制作材质模板。其中,该标量参数可以便于外部程序来识别存储放慢倍数的参数,进而通过外部程序对放慢倍数进行访问或者修改。再者,还可以在材质数据中配置动态参数(dynamicparemeter),该动态参数可以用于在制作粒子效果的同时在第二图像生成环境中的cascade(粒子编辑器)系统调用该放慢倍数。

需要说明的是,在材质数据中配置有标量参数的情况下,可以通过对标量参数中关于放慢倍数的参数进行更新进而实现,材质数据中的放慢倍数进行更新,进而实现实时动态的对第一序列图像所表征的动态效果的播放节奏进行控制。

s560:读取该材质数据,以获取该第一序列图像以及该第一序列图像中每帧图像各自对应的运动矢量数据。

s570:读取该材质数据,以获取放慢倍数。

s580:基于该运动矢量数据、该第一序列图像以及放慢倍数,生成数量与该放慢倍数匹配的插入图像。

s590:将该插入图像插入该第一序列图像的播放序列中,得到第二序列图像。

s591:播放该第二序列图像。

下面再通过附图对本申请实施例提供的图像处理方法对游戏场景下态效果进行处理得到超级慢动作类的动态效果进行介绍。

请参阅图19,在图19示出了一种即时战斗类游戏的游戏场景,在该游戏场景中播放了炸弹被投掷出去后的爆炸效果(图中箭头所指向的位置)。可选的,普通类的爆炸效果中通常帧率低于超级慢动作类的爆炸效果的帧率,这就意味着普通类的爆炸效果在很短的时间内就会播放完毕,而对于超级慢动作类的爆炸效果则可以具有更长的播放时长以使得整体的爆炸效果变化得较为平缓。

如图20所示,图20上面一行的图像为表征普通类的爆炸效果的第一序列图像,而靠下面一行的图像为经过本实施例提供的图像处理方法处理得到的第二序列图像中的部分图像。其中,示例性的,可以将其中上面一行图像中t1时刻对应的图像和t2时刻对应的图像作为一个区间,进而基于前述实施例中所提供的方案获取得到这个区间内的插入图像,类似的可以获取到t2时刻对应的图像和t3时刻对应的图像这个区间内的插入图像,以及可以获取到t3时刻对应的图像和t4时刻对应的图像这个区间内的插入图像,从而得到表征的超级慢动作类的爆炸效果的第二序列图像。

其中,靠上面一行的为普通类的爆炸效果分别在爆炸开始后t1、t2、t3以及t4时刻的效果图,靠下面一行的为超级慢动作类的爆炸效果分别在爆炸开始后t1、t2、t3以及t4时刻的效果图。从图20中可以看到第一序列图像所表征的普通类的爆炸效果在播放到t4时刻时已经快要结束,而对于第二序列图像所表征的超级慢动作类的爆炸效果在t4时刻时依然和t1时刻的爆炸效果差别不大,在这种情况下超级慢动作类的爆炸效果可以在t4时刻以后经历更多帧图像的变换再变化到上面一行的普通类的爆炸效果在t4时刻的图像,进而使得整体的爆炸效果变化更加平滑。其中,更多帧图像可以包括基于本实施例提供的方案所获取的插入图像。

需要说明的是,如图21所示,若第一序列图像包括64帧图像(每一小格代表一帧图像),在图21中示出了在放慢倍数为5倍的情况下,采用本申请实施例提供的方案制作所需制作的图像的数量与相关技术中所需要制作的图像的数量对比效果。其中,虚线框94中为本申请实施例提供的方案对应的所需制作的图像的数量,因为在本申请实施例提供的方案中插入图像是通过运动矢量数据计算生成的,所以无需再采用开发工具制作更多图像,所以仅需要原本通过开发工具制作的第一序列图像包括的64帧图像以及第一序列图像中每帧图像各自对应的贴图(也为64帧)就可以实现放慢5倍的视觉效果。虚线框95则为在放慢倍数为5相关技术中所需要制作的图像的数量,因为在相关技术中所有的帧的图像均需要通过开发工具制作,所以在放慢5倍的情况下所需制作的帧的数量明显多于虚线框94中的图像的数量。

需要说明的是,在本实施例中,作为一种方式,s510到s530可以由安装有第一图像生成环境以及第二图像生成环境的计算机执行,s540到s580可以由游戏客户端来执行。

可选的,游戏客户端可以在需要加载该动态效果时,开始读取材质数据以获取第一序列图像以及该第一序列图像中每帧图像各自对应的运动矢量数据。例如,该第一序列图像表征的动态效果为游戏场景中炸弹的爆炸效果。那么游戏客户端在需要展示爆炸效果时,可以读取爆炸效果对应的材质数据以获取该爆炸效果对应的第一序列图像,以及该第一序列图像中每帧图像各自对应的运动矢量数据。

可选的,游戏客户端可以在启动时,就开始获取第一序列图像以及该第一序列图像中每帧图像各自对应的运动矢量数据,可以进一步的提升第二序列图像的显示效率,使得第二序列图像可以被更加即时的进行显示,以降低动态效果的显示延时。示例性的,还是以第一图像序列表征炸弹的爆炸效果为例,对于该爆炸效果是在有炸弹被游戏玩家投掷出去后才会触发,而为了便于该爆炸效果可以无延时的进行显示,游戏客户端可以在还在启动过程中的资源加载阶段或者用户登录阶段就开始获取第一序列图像以及该第一序列图像中每帧图像各自对应的运动矢量数据,以基于该运动矢量数据、该第一序列图像以及放慢倍数,生成数量与该放慢倍数匹配的插入图像,以便在进入需要播放该动态效果的场景之前就体现完成对第二序列图像的生成。

作为另外一种实施方式,s510到s530可以由安装有第一图像生成环境以及第二图像生成环境的计算机执行,s540到s570可以由服务器来执行,s80可以由游戏客户端来执行。在这种方式下,生成的材质数据可以预先存储到该服务器中,在游戏客户端需要播放第二序列图像对应的动态效果时,由服务器根据来读取材质数据以获取到该运动矢量数据、该第一序列图像以及放慢倍数,生成数量与该放慢倍数匹配的插入图像,进而再将该插入图像插入该第一序列图像的播放序列中,得到第二序列图像,然后服务器再将第二序列图像发送到游戏客户端,以便于游戏客户端显示第二序列图像。

需要说明的是,在执行s580时,可以由生成第二序列图像的客户端本身对第二序列图像进行显示,也可以由生成第二序列图像的客户端发送给目标客户端,由目标客户端来显示第二序列图像。示例性的,若有处于同一个局域网中的电子设备a以及电子设备b,电子设备a和电子设备b中均安装有同一游戏客户端,那么在电子设备a中的游戏客户端因为先触发某个游戏场景,而生成有该游戏场景下的动态效果a对应的第二序列图像后,电子设备a可以将所生成的第二序列图像发送给电子设备b的游戏客户端进行存储。在这种情况下电子设备b中的游戏客户端在后进入该游戏场景而需要加载动态效果a时,就可以直接读取之前电子设备a发送过来的第二序列图像,进而不用电子设备b中的游戏客户端再次重复生成。

本实施例提供的一种图像处理方法,实现了可以在已经制作得到第一序列图像后,在需要将第一序列图像所表征的动态效果进行放慢且同时保持视觉效果的情况下,可以根据第一序列图像中每帧图像各自对应的运动矢量数据制作得到插入图像插入到第一序列图像的播放序列中,以得到包括更多图像的第二序列图像,进而实现不需要再通过开发工具进行制作更多用于插入到第一图像序列中的图像,以降低制作成本。并且,在本申请实施例中,该放慢倍速、第一序列图像以及该运动矢量数据可以配置在生成的材质数据中,进而后续通过读取材质数据就可以集中获取到第一序列图像、运动矢量数据以及放慢倍数,提升了动数据获取的效率。

请参阅图22,本申请实施例提供的一种图像处理装置600,该装置600包括:

数据获取单元610,用于获取第一序列图像以及该第一序列图像中每帧图像各自对应的运动矢量数据。

图像生成单元620,用于基于该运动矢量数据、该第一序列图像以及放慢倍数,生成数量与该放慢倍数匹配的插入图像。

图像配置单元630,用于将该插入图像插入该第一序列图像的播放序列中,得到第二序列图像。

图像播放单元640,用于播放该第二序列图像。

本实施例提供的一种图像处理装置,通过在获取第一序列图像以及运动矢量数据后,再基于该运动矢量数据、该第一序列图像以及放慢倍数,生成数量与该放慢倍数匹配的插入图像,并将该插入图像插入该第一序列图像的播放序列中,得到第二序列图像的方式,实现了可以在已经制作得到第一序列图像后,在需要将第一序列图像所表征的动态效果进行放慢且同时保持视觉效果的情况下,可以根据第一序列图像中每帧图像各自对应的运动矢量数据制作得到插入图像插入到第一序列图像的播放序列中,以得到包括更多图像的第二序列图像,进而实现不需要再通过开发工具进行制作更多用于插入到第一图像序列中的图像,以降低制作成本。

作为一种方式,如图23所示,该图像生成单元620,包括:

矢量数据生成子单元621,用于根据该运动矢量数据以及放慢倍数,生成数量与该放慢倍数匹配的参考运动矢量数据。图像生成执行子单元622,用于基于该第一序列图像以及该参考运动矢量数据,生成数量与该放慢倍数匹配的插入图像。

在这种方式下,矢量数据生成子单元621,具体用于获取目标位移,该目标位移为该第一序列图像中,每两个相邻图像中在后显示图像对应的运动矢量数据所表征的位移;计算该目标位移与该放慢倍数的比值;根据该放慢倍数,获得每两个相邻图像之间的插入图像的数量;将该比值作为每两个相邻图像之间的插入图像对应的参考运动矢量数据,得到数量与该放慢倍数匹配的参考运动矢量数据。

图像生成执行子单元622,具体用于在生成当前的参考运动矢量数据对应的插入图像的过程中,获取该当前的参考运动矢量数据对应的目标图像,该目标图像为该当前的参考运动矢量数据所对应的目标像素的移动初始位置所对应的图像;将每个该参考运动矢量数据各自对应的该目标图像中的目标像素,按照各自所对应的参考运动矢量数据进行移动,得到对应的插入图像,以生成数量与该放慢倍数匹配的插入图像。

作为一种方式,如图24所示,该装置600,还包括:参数配置单元650,用于显示配置界面;获取在该配置界面中输入的放慢倍数;将该输入的放慢倍数作为该放慢倍数。可选的,该配置界面包括第一控件以及可在该第一控件上滑动的第二控件,在这种情况下,参数配置单元650,具体用于获取该第二控件响应触控操作滑动后所在的位置;将该所在的位置对应的放慢倍数,作为输入的放慢倍数。

作为另外一种方式,参数配置单元650,还用于获取外部应用程序通过外部数据接口输入的放慢倍数;将该传输的放慢倍数作为该放慢倍数。

作为一种方式,如图25所示,该装置600,还包括:

初始图像生成单元660,用于在第一图像生成环境中生成该第一序列图像;在该第一图像生成环境中生成与该第一序列图像中每帧图像各自对应的该运动矢量数据;将该第一序列图像以及该运动矢量数据输入到第二图像生成环境中,输出携带该第一序列图像、该运动矢量数据以及放慢倍数的材质数据。在这种方式下,数据获取单元610,具体用于读取该材质数据,以获取该第一序列图像,以及该第一序列图像中每帧图像各自对应的运动矢量数据,以及读取该材质数据,以获取放慢倍数。

需要说明的是,本申请中装置实施例与前述方法实施例是相互对应的,装置实施例中具体的原理可以参见前述方法实施例中的内容,此处不再赘述。

下面将结合图26对本申请提供的一种电子设备进行说明。

请参阅图26,基于上述的图像处理方法,本申请实施例还提供的另一种包括可以执行前述图像处理方法的电子设备200。电子设备200包括处理器102、存储器104、以及网络模块106。其中,该存储器104中存储有可以执行前述实施例中内容的程序,而处理器102可以执行该存储器104中存储的程序。

其中,处理器102可以包括一个或者多个用于处理数据的核以及消息矩阵单元。处理器102利用各种接口和线路连接整个电子设备200内的各个部分,通过运行或执行存储在存储器104内的指令、程序、代码集或指令集,以及调用存储在存储器104内的数据,执行电子设备200的各种功能和处理数据。可选地,处理器102可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器102可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器102中,单独通过一块通信芯片进行实现。

存储器104可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。存储器104可用于存储指令、程序、代码、代码集或指令集。存储器104可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。

所述网络模块106用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯,例如和音频播放设备进行通讯。所述网络模块106可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(sim)卡、存储器等等。所述网络模块106可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。例如,网络模块106可以与基站进行信息交互。

请参考图27,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质1100中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。

计算机可读存储介质1100可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质1100包括非易失性计算机可读介质(non-transitorycomputer-readablestoragemedium)。计算机可读存储介质1100具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1110可以例如以适当形式进行压缩。

综上所述,本申请提供的一种图像处理方法、装置、电子设备及存储介质,通过在获取第一序列图像以及运动矢量数据后,再基于所述运动矢量数据、所述第一序列图像以及放慢倍数,生成数量与所述放慢倍数匹配的插入图像,并将所述插入图像插入所述第一序列图像的播放序列中,得到第二序列图像的方式,实现了可以在已经制作得到第一序列图像后,在需要将第一序列图像所表征的动态效果进行放慢且同时保持视觉效果的情况下,可以根据第一序列图像中每帧图像各自对应的运动矢量数据制作得到插入图像插入到第一序列图像的播放序列中,以得到包括更多图像的第二序列图像,进而实现不需要再通过开发工具进行制作更多用于插入到第一图像序列中的图像,以降低制作成本以及缩短动态效果制作的耗时。

并且,因为降低了前期制作过程中所需要通过开发工具进行制作的图像的数量,也降低了需要占用的内存的空间,提升了存储空间的利用率。

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


技术特征:

1.一种图像处理方法,其特征在于,所述方法包括:

获取第一序列图像以及所述第一序列图像中每帧图像各自对应的运动矢量数据;

基于所述运动矢量数据、所述第一序列图像以及放慢倍数,生成数量与所述放慢倍数匹配的插入图像;

将所述插入图像插入所述第一序列图像的播放序列中,得到第二序列图像;

播放所述第二序列图像。

2.根据权利要求1所述的方法,其特征在于,所述基于所述运动矢量数据、所述第一序列图像以及放慢倍数,生成数量与所述放慢倍数匹配的插入图像,包括:

根据所述运动矢量数据以及放慢倍数,生成数量与所述放慢倍数匹配的参考运动矢量数据;

基于所述第一序列图像以及所述参考运动矢量数据,生成数量与所述放慢倍数匹配的插入图像。

3.根据权利要求2所述的方法,其特征在于,所述根据所述运动矢量数据以及放慢倍数,生成数量与所述放慢倍数匹配的参考运动矢量数据,包括:

获取目标位移,所述目标位移为所述第一序列图像中,每两个相邻图像中在后显示图像对应的运动矢量数据所表征的位移;

获取所述目标位移与所述放慢倍数的比值;

根据所述放慢倍数,获得每两个相邻图像之间的插入图像的数量;

将所述比值作为每两个相邻图像之间的插入图像对应的参考运动矢量数据,得到数量与所述放慢倍数匹配的参考运动矢量数据。

4.根据权利要求2所述的方法,其特征在于,所述基于所述第一序列图像以及所述参考运动矢量数据,生成数量与所述放慢倍数匹配的插入图像,包括:

在生成当前的参考运动矢量数据对应的插入图像的过程中,获取所述当前的参考运动矢量数据对应的目标图像,所述目标图像为所述当前的参考运动矢量数据所对应的目标像素的移动初始位置所对应的图像;

将每个所述参考运动矢量数据各自对应的所述目标图像中的目标像素,按照各自所对应的参考运动矢量数据进行移动,得到每个所述参考运动矢量数据对应的插入图像。

5.根据权利要求1所述的方法,其特征在于,所述基于所述运动矢量数据、所述第一序列图像以及放慢倍数,生成数量与所述放慢倍数匹配的插入图像之前,还包括:

显示配置界面;

基于所述配置界面获取放慢倍数。

6.根据权利要求5所述的方法,其特征在于,所述配置界面包括第一控件以及可相对于所述第一控件滑动的第二控件,所述基于所述配置界面获取放慢倍数,包括:

获取所述第二控件响应触控操作滑动后所在的位置;

将所述所在的位置对应的数值,作为放慢倍数。

7.根据权利要求1所述的方法,其特征在于,所述方法还,包括:

基于外部数据接口获取放慢倍数。

8.根据权利要求1-6任一所述的方法,其特征在于,所述运动矢量数据为图像内容与所述第一序列图像对应的贴图,所述贴图中每个像素的指定颜色通道的值用于表征第一序列图像中对应像素的运动矢量。

9.一种图像处理装置,其特征在于,所述装置包括:

数据获取单元,用于获取第一序列图像以及所述第一序列图像中每帧图像各自对应的运动矢量数据;

图像生成单元,用于基于所述运动矢量数据、所述第一序列图像以及放慢倍数,生成数量与所述放慢倍数匹配的插入图像;

图像配置单元,用于将所述插入图像插入所述第一序列图像的播放序列中,得到第二序列图像;

图像播放单元,用于播放所述第二序列图像。

10.根据权利要求9所述的装置,其特征在于,所述图像生成单元,包括:

矢量数据生成子单元,用于根据该运动矢量数据以及放慢倍数,生成数量与该放慢倍数匹配的参考运动矢量数据;

图像生成执行子单元,用于基于所述第一序列图像以及所述参考运动矢量数据,生成数量与所述放慢倍数匹配的插入图像。

11.根据权利要求10所述的装置,其特征在于,所述矢量数据生成子单元,具体用于获取目标位移,所述目标位移为所述第一序列图像中,每两个相邻图像中在后显示图像对应的运动矢量数据所表征的位移;获取所述目标位移与所述放慢倍数的比值;根据所述放慢倍数,获得每两个相邻图像之间的插入图像的数量;将所述比值作为每两个相邻图像之间的插入图像对应的参考运动矢量数据,得到数量与所述放慢倍数匹配的参考运动矢量数据。

12.根据权利要求10所述的装置,其特征在于,所述图像生成执行子单元,具体用于在生成当前的参考运动矢量数据对应的插入图像的过程中,获取所述当前的参考运动矢量数据对应的目标图像,所述目标图像为所述当前的参考运动矢量数据所对应的目标像素的移动初始位置所对应的图像;将每个所述参考运动矢量数据各自对应的所述目标图像中的目标像素,按照各自所对应的参考运动矢量数据进行移动,得到每个所述参考运动矢量数据对应的插入图像。

13.根据权利要求9所述的装置,其特征在于,所述装置还包括:

参数配置单元,用于显示配置界面;基于所述配置界面获取放慢倍数。

14.一种电子设备,其特征在于,包括处理器以及存储器;一个或多个程序被存储在所述存储器中并被配置为由所述处理器执行以实现权利要求1-8所述的方法。

15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码被处理器运行时执行权利要求1-8任一所述的方法。

技术总结
本申请实施例公开了一种图像处理方法、装置、电子设备及存储介质。所述方法包括:获取第一序列图像以及第一序列图像中每帧图像各自对应的运动矢量数据;基于运动矢量数据、第一序列图像以及放慢倍数,生成数量与放慢倍数匹配的插入图像,以得到第二序列图像;显示第二序列图像。该方法在需要将第一序列图像所表征的动态效果进行放慢情况下,可以根据放慢倍数以及第一序列图像中每帧图像各自对应的运动矢量数据制作得到插入图像,插入到第一序列图像的播放序列中,以得到包括更多图像的第二序列图像,进而实现可以动态的根据放慢倍数以及运动矢量数据来生成插入图像,以降低制作成本以及缩短动态效果制作的耗时。

技术研发人员:王恺
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2020.01.10
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-9321.html

最新回复(0)