掌桥专利:专业的专利平台
掌桥专利
首页

序列帧的存储方法、装置和电子设备

文献发布时间:2024-01-17 01:13:28


序列帧的存储方法、装置和电子设备

技术领域

本发明涉及数据处理技术领域,尤其是涉及一种序列帧的存储方法、装置和电子设备。

背景技术

目前的2D序列帧动画通常采用序列帧图片实现。具体在游戏引擎中按照指定顺序播放序列帧图片以实现2D的序列帧动画。但是,在实现序列帧动画时,需要存储序列帧图片中每个颜色通道存储的颜色值。相关技术中,通常使用贴图存储序列帧图片中每个颜色通道存储的颜色值,当序列帧的帧率较高或序列帧动画数量众多时,需要使用大量的贴图去存储序列帧图片中每个通道的颜色值,大量的贴图会占据较大的游戏存储空间,增大游戏包体体积,影响游戏的运行性能。

发明内容

有鉴于此,本发明的目的在于提供一种序列帧的存储方法、装置和电子设备,以提高序列帧贴图的利用率,减少序列帧贴图在游戏包体中占用的空间,同时提高游戏的运行性能。

第一方面,本发明实施例提供了一种序列帧的存储方法,该方法包括:获取序列帧集合;其中,序列帧集合包括多个序列帧;针对每个序列帧,根据序列帧的颜色值,确定颜色值对应的索引值;根据颜色值对应的索引值,生成序列帧的灰度图;灰度图指示:序列帧中颜色值对应的索引值;根据颜色值和颜色值对应的索引值,确定序列帧的颜色查找贴图;颜色查找贴图用于:根据索引值确定索引值对应的颜色值;按照序列帧的播放顺序,将每个序列帧的灰度图,分别存储至序列帧贴图的各个通道的各个贴图位置中,得到目标序列帧贴图;将目标序列帧贴图和颜色查找贴图中的目标颜色查找贴图,确定为序列帧集合的存储结果。

第二方面,本发明实施例提供了一种序列帧的存储装置,该装置包括:序列帧集合获取模块,用于获取序列帧集合;其中,序列帧集合包括多个序列帧;索引值确定模块,用于针对每个序列帧,根据序列帧的颜色值,确定颜色值对应的索引值;灰度图生成模块,用于根据颜色值对应的索引值,生成序列帧的灰度图;灰度图指示:序列帧中颜色值对应的索引值;颜色查找贴图确定模块,用于根据颜色值和颜色值对应的索引值,确定序列帧的颜色查找贴图;颜色查找贴图用于:根据索引值确定索引值对应的颜色值;灰度图存储模块,用于按照序列帧的播放顺序,将每个序列帧的灰度图,分别存储至序列帧贴图的各个通道的各个贴图位置中,得到目标序列帧贴图;存储结果确定模块,用于将目标序列帧贴图和颜色查找贴图中的目标颜色查找贴图,确定为序列帧集合的存储结果。

第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现第一方面任一项的序列帧的存储方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现第一方面任一项的序列帧的存储方法。

本发明实施例带来了以下有益效果:

本发明提供了一种序列帧的存储方法、装置和电子设备,针对序列帧集合中的每个序列帧,根据序列帧的颜色值对应的索引值,生成序列帧的灰度图;根据颜色值和索引值,确定序列帧的颜色查找贴图;将灰度图存储至序列帧贴图的各个通道的各个贴图位置,根据得到的目标序列帧贴图和颜色查找贴图,得到序列帧集合的存储结果。该方式中,通过序列帧的颜色值对应的索引值生成的灰度图只占用了一个颜色通道,使序列帧贴图的每个通道都能存储序列帧的灰度图,能够存储更多的灰度图,提高了序列帧贴图的利用率,减少了序列帧贴图在游戏包体中占用的空间;另外,通过序列帧的颜色查找贴图,能够无损的还原出每个序列帧的颜色,提高了游戏的运行性能。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

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

图1为本发明实施例提供的一种序列帧的存储方法的流程图;

图2为本发明实施例提供的一种序列帧集合的示意图;

图3为本发明实施例提供的一种序列帧的颜色值对应索引值的示意图;

图4为本发明实施例提供的一种参数代码的实现结果的示意图;

图5为本发明实施例提供的另一种参数代码的实现结果的示意图;

图6为本发明实施例提供的一种第一颜色查找表的示意图;

图7为本发明实施例提供的一种灰度图的生成方式的示意图;

图8为本发明实施例提供的一种采样方式的示意图;

图9为本发明实施例提供的一种序列帧的存储装置的结构示意图;

图10为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前游戏行业中,无论是电脑主机端还是移动端,在实现序列帧动画上,都需要把序列帧的RGB三通道颜色存储下来。具体的,2D序列帧动画通常采用序列帧图片实现。通常需要把3D动画渲染到一张或一组图片中,在游戏引擎中按照指定顺序播放序列帧图片以实现2D的序列帧动画。但是,在实现序列帧动画时,需要存储序列帧图片中每个颜色通道存储的颜色值。

相关技术中,通常使用贴图存储序列帧图片中每个颜色通道存储的颜色值,当序列帧的帧率较高或序列帧动画数量众多时,需要使用大量的贴图去存储序列帧图片中每个通道的颜色值,大量的贴图会占据较大的游戏存储空间,增大游戏包体体积,影响游戏的运行性能。基于此,本发明实施例提供的一种序列帧的存储方法、装置以及电子设备,该技术可以应用于手机、平板电脑、计算机等终端设备,尤其可以应用于大量序列帧的批量化处理。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种序列帧的存储方法进行详细介绍,如图1所示,该方法包括:

步骤S102,获取序列帧集合;其中,序列帧集合包括多个序列帧;

上述序列帧通常是指序列帧集合中的单帧序列帧。上述多个序列帧通常属于同一个序列帧动画,也就是说,每个序列帧中的对象相同,只是动作不同。示例性的,如图2所示,为一个序列帧集合,其中包括多个序列帧,每个序列帧中具有相同的对象,但是形态都不同,基于该多个序列帧,按照一定顺序播放,可以展示为一个序列帧动画。

实际实现时,首先需要获取序列帧集合,该序列帧集合包括了同一个序列帧动画的每个序列帧,也就是单帧序列帧。比如,有一个2分钟的序列帧动画,该2分钟的序列帧动画中的所有序列帧,即为对应的序列帧集合。

步骤S104,针对每个序列帧,根据序列帧的颜色值,确定颜色值对应的索引值;

上述颜色值通常是指序列帧的RGB色彩模式的红、绿、蓝三色通道的颜色值,每个通道通常使用0至255之间的数字表示其变化。上述索引值通常是指0至255之间的整数数字。

实际实现时,针对序列帧集合中的每个序列帧,获取该序列帧的颜色值,可以根据该颜色值大小,确定每个颜色值对应的索引值。比如,可以将颜色值进行0至255之间的归一化处理,得到每个颜色值对应的索引值,即该索引值为0至255之间的一个整数数字;还可以根据颜色值对颜色值进行排序,根据排列顺序确定每个颜色值对应的索引值。

可以理解的是,序列帧的每个像素点的颜色值,都会对应一个索引值,其中,不同像素点的颜色值如果相同,那么该像素点对应的索引值也会相同。示例性的,如图3中的(a)所示的序列帧,该序列帧包括三个颜色值,其中第一区域的颜色值为第一颜色值,第二区域的颜色值为第二颜色值,第三区域的颜色值为第三颜色值,根据上述步骤确定每个颜色值对应索引值,比如,第一颜色值对应的索引值为1,第二颜色值对应的索引值为2,第三颜色值对应的索引值为3。则该序列帧中每个像素点对应的索引值,如图3中(b)所示,第一区域中每个像素点对应的索引值为1,第二区域中每个像素点对应的索引值为2,第三区域中每个像素点对应的索引值为3。

步骤S106,根据颜色值对应的索引值,生成序列帧的灰度图;灰度图指示:序列帧中颜色值对应的索引值;

上述步骤都是在图像处理程序中实现的,在图像处理程序中,可以直接获取到颜色值对应的索引值。但是,在游戏引擎中,无法读取颜色值对应的索引值,因此,根据颜色值对应的索引值生成序列帧的灰度图,以通过灰度图的灰度值存储序列帧的颜色值对应的索引值,即上述灰度图用于指示:序列帧中颜色值对应的索引值。以在游戏引擎中能够通过读取灰度图的灰度值,确定序列帧每个像素点对应的索引值。

具体的,可以直接将序列帧每个像素点的颜色值对应的索引值,换转为灰度值,即可得到上述序列帧的灰度图;具体将序列帧中的颜色通道的颜色值替换为索引值。或者,可以根据索引值更新序列帧的颜色查找表,将颜色查找表中的颜色值,更改为索引值,也可以生成序列帧的灰度图。

示例性的,可以根据图3中的(b)指示的索引值,生成对应的灰度图,该灰度图中,第一区域的灰度值为1(或表示为(1,1,1)),第二区域的灰度值为2(或表示为(2,2,2)),第三区域的灰度值为3(或表示为(3,3,3))。

步骤S108,根据颜色值和颜色值对应的索引值,确定序列帧的颜色查找贴图;颜色查找贴图用于:根据索引值确定索引值对应的颜色值;

同样的,上述步骤都是在图像处理程序中实现的,在图像处理程序中,可以直接获取到索引值对应的颜色值。但是,在游戏引擎中,无法读取索引值对应的颜色值,因此,根据颜色值和颜色值对应的索引值,确定序列帧的颜色查找贴图,以通过颜色查找贴图存储序列帧的颜色值与索引值之间的对应关系,即上述颜色查找贴图用于:根据索引值确定索引值对应的颜色值。以在游戏引擎中能够通过读取颜色查找贴图,根据索引值,确定索引值对应的颜色值。

上述颜色查找贴图中存储有索引值,以及索引值对应的颜色值。上述颜色查找贴图可以是一维的图片,也可以是多维的图片。其中,一维的图片可以理解为,该图片中包括1行n列个像素位置,每个像素位置都存储有该像素位置的索引值和颜色值,其中索引值从左至右依次递增,或者从左至右依次递减。其中多维的图片可以理解为,该图片中包括m行n列个像素位置。每个像素位置都存储有该像素位置的索引值和颜色值,其中索引值从左至右从上到下依次递增,或者从左至右从上到下依次递减。因此,获取到序列帧中像素点的索引值后,可以根据该索引值,在颜色查找贴图中查找索引值对应的像素位置,进而将该像素位置的颜色值,确定为索引值对应的颜色值,进而得到序列帧中像素点的颜色值。

实际实现时,可以先将索引值按照大小进行像素位置的排序,然后在每个像素位置的颜色通道存储该像素位置的索引值对应的颜色值,即可生成序列帧的颜色查找贴图。

步骤S110,按照序列帧的播放顺序,将每个序列帧的灰度图,分别存储至序列帧贴图的各个通道的各个贴图位置中,得到目标序列帧贴图;

上述序列帧贴图通常被划分为多个贴图位置,每个贴图位置用于存储一张序列帧。本实施中,由于灰度图只占用一个颜色通道,因此,可以将灰度图存储在序列帧贴图的每个通道。一般情况下,序列帧贴图包括四个通道(RGBA),因此每个通道也会划分为多个格子。

比如,序列帧集合包括60个序列帧,序列帧贴图划分了3行5列个贴图位置。按照序列帧动画的播放顺序可以将前15帧序列帧的灰度图依次存储在红色通道的各个位置,即第一帧序列帧存储在红色通道的第一行第一列的贴图位置,第二帧序列帧存储在红色通道的第一行第二列的贴图位置,按照从左至右从上到下的顺序依次存储序列帧的灰度图;然后将16-30帧序列帧的灰度图存储在绿色通道的各个位置,即第16帧序列帧存储在第一行第一列的贴图位置,第17帧序列帧存储在绿色通道的第一行第二列的贴图位置,按照从左至右从上到下的顺序依次存储序列帧的灰度图;然后将31-45帧序列帧的灰度图存储在蓝色通道的各个位置,存储顺序还是按照从左至右从上到下的顺序存储;最后将46-60帧序列帧的灰度图存储在alpha通道的各个位置,存储顺序还是按照从左至右从上到下的顺序存储。

步骤S112,将目标序列帧贴图和颜色查找贴图中的目标颜色查找贴图,确定为序列帧集合的存储结果。

上述目标颜色查找贴图通常是指序列帧集合中的任意一个序列帧的颜色查找贴图,该目标颜色查找贴图显示为一张图片,与其余序列帧的颜色查找贴图之间的颜色基本一致。

实际实现时,由于每个序列帧之间的颜色基本一致,因此只需要存储任意一个颜色查找贴图(即上述目标颜色查找贴图)即可。

本发明实施例提供的一种序列帧的存储方法,获取序列帧集合;其中,序列帧集合包括多个序列帧;针对每个序列帧,根据序列帧的颜色值,确定颜色值对应的索引值;根据颜色值对应的索引值,生成序列帧的灰度图;灰度图指示:序列帧中颜色值对应的索引值;根据颜色值和颜色值对应的索引值,确定序列帧的颜色查找贴图;颜色查找贴图用于:根据索引值确定索引值对应的颜色值;按照序列帧的播放顺序,将每个序列帧的灰度图,分别存储至序列帧贴图的各个通道的各个贴图位置中,得到目标序列帧贴图;将目标序列帧贴图和颜色查找贴图中的目标颜色查找贴图,确定为序列帧集合的存储结果。该方式中,通过序列帧的颜色值对应的索引值生成的灰度图只占用了一个颜色通道,使序列帧贴图的每个通道都能存储序列帧的灰度图,能够存储更多的灰度图,提高了序列帧贴图的利用率,减少了序列帧贴图在游戏包体中占用的空间;另外,通过序列帧的颜色查找贴图,能够无损的还原出每个序列帧的颜色,提高了游戏的运行性能。

在根据颜色值对应的索引值,生成序列帧的灰度图的步骤之前,上述方法还包括:

根据颜色值和颜色值对应的索引值,确定序列帧的索引模式和序列帧的第一颜色查找表;其中,第一颜色查找表和索引模式用于存储序列帧的颜色值。

需要说明的是,由于索引模式只支持8位图像,因此对于非8位的图像,需要先将其转化为8位图像,然后才可以根据颜色值和颜色值对应的索引值,确定序列帧的索引模式。

另外,需要说明的是,序列帧在RGB模式下,只需要三个通道来存储颜色值,即可显示该序列帧。但是,序列帧在索引模式下,通常需要一个通道(存储索引值)和一个颜色查找表来存储颜色,才可以显示该序列帧。上述序列帧的第一颜色查找表通常为一张表格,用于在序列帧的索引模式下存储序列帧的颜色值。

实际实现时,由于索引模式只支持8位图像,因此,对于非8位图像,需要先将其转化为8位,比如,使用指定图像处理软件,将非8位图像转化为8位图像,具体可以使用GIMP(GNU Image Manipulation Program,GNU图像处理程序)中的pdb.gimp_image_convert_precision()将非8位的序列帧转化为8位的序列帧。然后,才会根据颜色值和颜色值对应的索引值,确定序列帧的索引模式,比如,使用通过pdb.gimp_image_convert_indexeds实现将序列帧转化为索引模式。上述GIMP是一款开源的图像处理软件,也可以称为图像处理与合成工具。GIMP的扩展性很强,用户可以通过自己编写的插件来扩充GIMP功能。通常来说,开发GIMP插件使用的编程语言是Python语言。

可以理解的是,上述颜色查找表中的第一颜色查找表和序列帧的索引模式,用于存储该序列帧的颜色值。

举例说明,将图像转化到索引模式的方式,可以在代码中实现,比如,使用python语言编写GIMP插件:

dither_type=0;

palette_type=0;

num_cols=256;

alpha_dither=False;

remove_unused=True;

palette=””;

precision=pdb.gimp_image_get_precision(image);

if precision!=150:;

pdb.gimp_image_convert_precision(image,150);

pdb.gimp_image_convert_indexed(image,dither_type,palette_type,num_cols,alpha_dither,remove_unused,palette);

上述代码中,

dither_type表示抖动插值方式,本实施例中通常设为不使用抖动插值,由于索引模式的图片最大仅支持256种颜色,在颜色较为丰富的图片中会存在颜色丢失现象,造成视觉上可见的色带,示例性的,如图4中(a)所示。如果使用抖动插值,通过算法,在同样数量颜色下,减缓了色带现象,示例性的,如图2中(b)所示。具体的,在GIMP中内置有抖动算法。

Palette_type表示使用的颜色查找表类型,这里设置为根据图片(即序列帧)生成颜色查找表,此处也可以选择使用其他已有的颜色查找表。

Num_cols表示颜色查找表所允许的最大颜色数量,该颜色查找表可保存的颜色数量最大为256,此处设置为最大值。

Alpha_dither表示是否使用透明度抖动,这里设置为不使用,需要说明的是,dither_type参数只对RGB红、绿、蓝三个颜色通道起作用,alpha通道保持原样。如果使用alpha dither,则会对alpha通道,也就是透明度通道进行抖动插值。示例性的,如图5中的(a)和(b)为插值前后对比,由于插值后效果不佳,因此不使用透明度插值。具体的,上述代码在GIMP中实现,而抖动插值是GIMP中索引模式下的唯一一种颜色插值方式,不使用抖动插值,也就是说,不使用任何插值方式。

进一步的,根据颜色值和颜色值对应的索引值,确定序列帧的索引模式和序列帧的第一颜色查找表的步骤,一种可能的实施方式:

将序列帧的多个颜色通道更改为一个索引通道,将多个颜色通道存储的颜色值更新为颜色值对应的索引值,并将索引值存储至索引通道,得到序列帧的索引模式;按照索引值的大小,将索引值对应的颜色值进行第一排序,将第一排序的结果确定为序列帧的第一颜色查找表。

上述多个颜色通道通常是指RGB色彩模式下的红、绿、蓝三色通道。上述索引通道通常是指索引模式下的一个通道,用于存储索引值。上述第一排序可以是指按照索引值的大小,将索引值对应的颜色值按从小到大的顺序进行排序,即第一颜色查找表的第一位置的索引值小于颜色查找表的末尾位置的索引值。还可以是将索引值对应的颜色值按从大到小的顺序进行排序,即第一颜色查找表的第一位置的索引值大于颜色查找表的末尾位置的索引值。

实际实现时,将序列帧的多个颜色通道,比如RGB三色通道,更改为一个索引通道,将多个颜色通道存储的颜色值更新为颜色值对应的索引值,也就是0至255中间的一个整数数值,并且将索引值存储至索引通道(也可以称为indexed通道),得到序列帧的索引模式。然后,根据索引值的大小,可以按从小到大的顺序,将索引值对应的颜色值进行第一排序,在第一排序后,第一位置的索引值小于末尾位置的索引值。也可以按从大到小的顺序,将索引值对应的颜色值进行第一排序,在第一排序后,第一位置的索引值大于末尾位置的索引值。将第一排序的结果确定为序列帧的第一颜色查找表。

示例性的,如图6所示,为第一颜色查找表,左上的位置为第一个颜色值,对应的索引值为0,右下的位置为最后一个颜色值,对应的索引值为255,索引值按照从左到右,从上到下的方式依次递增。(图6中示出的颜色查找表中的颜色为灰度的,实际上,图6中每个位置的颜色为彩色的)。

上述步骤S104,根据序列帧的颜色值,确定颜色值对应的索引值的步骤,一种可能的实施方式:

确定序列帧中每个像素点的颜色值,根据颜色值的大小,对颜色值进行排序,得到颜色值的排列顺序值;将颜色值的排列顺序值,确定为颜色值对应的索引值。

在获取到多个序列帧后,首先会针对每个序列帧获取该序列帧中每个像素点的颜色值。上述排列顺序是指颜色值从小到大或者从大到小的顺序。

实际实现时,获取序列帧中每个像素点的颜色值,比如序列帧中只有三种颜色,则获取到的颜色值就只有三个。然后将颜色值按照从小到大(或从大到小)的顺序进行排序,比如,第一颜色值小于第二颜色值小于第三颜色值,这第一颜色值排在第一位,其对应的索引值为1,第二颜色值在第二位,其对应的索引值为2,第三颜色值在第三位,其对应的索引值为3。示例性的,如图3中的(a)所示的序列帧,该序列帧包括三个颜色值,其中第一区域的颜色值为第一颜色值,第二区域的颜色值为第二颜色值,第三区域的颜色值为第三颜色值,根据上述步骤确定每个颜色值对应索引值,比如,第一颜色值对应的索引值为1,第二颜色值对应的索引值为2,第三颜色值对应的索引值为3。则该序列帧中每个像素点对应的索引值,如图3中(b)所示,第一区域中每个像素点对应的索引值为1,第二区域中每个像素点对应的索引值为2,第三区域中每个像素点对应的索引值为3。

进一步的,根据颜色值对应的索引值,生成序列帧的灰度图的步骤,一种可能的实施方式:

根据索引值,确定序列帧的第二颜色查找表;其中,第二颜色查找表中各个表格位置的索引值与表格位置的颜色值相同;通过序列帧的索引模式和序列帧的第二颜色查找表,生成序列帧的灰度图。

上述第二颜色查找表通常是指根据一个线性黑白渐变生成的一个颜色查找表,该第二颜色查找表中各个表格位置的索引值与该表格位置的颜色值相同,比如,索引值为7则对应的颜色值为(7,7,7),索引值为8则对应的颜色值为(8,8,8)。

实际实现时,可以将第一颜色查找表中的颜色值替换为该颜色值对应的索引值,即可得到第二颜色查找表。然后将索引模式下的第一颜色查找表替换为第二颜色查找表后,就可以生成序列帧的灰度图。

示例性的,图7所示,图中的第一颜色查找表为彩色的,在索引模式下,根据序列帧的索引通道的索引值,以及第一颜色查找表可以显示彩色的序列帧。如果将序列帧的第一颜色查找表更换为第二颜色查找表,根据序列帧的索引通道的索引值,以及第二颜色查找表可以生成序列帧的灰度图。

上述方式中,在索引模式下,将第一颜色查找表更新为第二颜色查找表,即可生成灰度图,进而将索引值存储到灰度图中,减少了序列帧的通道。

进一步的,根据索引值,确定序列帧的第二颜色查找表的步骤,一种可能的实施方式:

按照索引值的大小,将索引值进行第二排序,将第二排序的结果确定为序列帧的第二颜色查找表。

上述第二排序通常是指按照从小到大的顺序进行排序。

具体的,按照索引值从小到大的顺序,对索引值进行第二排序,然后将每个索引值对应的颜色值替换为该索引值。比如,索引值为1对应的颜色值为(1,1,1),索引值为2对应的颜色值为(2,2,2),索引值为3对应的颜色值为(3,3,3),第二颜色查找表最后一个位置的索引值为255,对应的颜色值为(255,255,255)。

上述步骤S108,根据颜色值和颜色值对应的索引值,确定序列帧的颜色查找贴图的步骤,一种可能的实施方式:

根据序列帧的第一颜色查找表,确定序列帧的颜色查找贴图。

实际实现时,第一颜色查找表以表格的形式,存储在索引模式下的图像里,只能在指定图像处理软件中预览。可以理解为,将第一颜色查找表在图像处理程序中导出为一张能在游戏引擎中读取的图片。可以是直接根据表格的索引值作为贴图的像素位置,比如,索引值为1,则在贴图中对应的像素位置为左上角的第一个位置,也就是说,索引值在第一颜色查找表中的位置与贴图中的位置对应;将索引值对应的颜色值作为该像素位置的颜色值,即可得到上述颜色查找贴图。

进一步的,根据序列帧的第一颜色查找表,确定序列帧的颜色查找贴图的步骤,一种可能的实施方式:

根据第一颜色查找表中索引值的大小,将索引值对应的颜色值进行第三排序,将第三排序的结果确定为序列帧的中间颜色查找表;其中,中间颜色查找表为一维表格;根据中间颜色查找表中存储的颜色值,将中间颜色查找表转换为序列帧的颜色查找贴图;其中,颜色查找贴图的颜色通道存储有颜色值,颜色查找贴图在第一方向上,颜色值逐渐变大或变小。

上述第三排序通常是指按照索引值从小到大,或从大到小的顺序,对索引值对应的颜色值进行排序。上述中间颜色查找表通常表示为一个颜色渐变的一维表格。上述第一方向通常是指对颜色查找贴图使用UV坐标进行采样时的水平方向U。

实际实现时,可以先根据第一颜色查找表存储的索引值的大小,将索引值对应的颜色值按照从小到大,从左到右的顺序排列成一个颜色渐变一维表格,将排列后的结果确定为序列帧的中间颜色查找表。具体的,上述过程可以在指定的图像处理软件中实现,比如,通过GIMP内置的pdb.python_fu_palette_to_gradient()进行实现。

然后,根据中间颜色查找表中存储的颜色值,将中间颜色查找表转换为序列帧的颜色查找贴图,该颜色查找贴图显示为一张图片,具体的,可以通过GIMP内置的pdb.script_fu_gradient_example()将中间颜色查找表转化为一张颜色渐变的图片,再将该图片导出即可,导出后的颜色查找贴图可以在任何能读取图片的软件中进行读取。该颜色查找贴图与序列帧相对应,在RGB色彩模式的红、绿、蓝三色通道中存储有颜色值,可以使用UV坐标对于该颜色查找贴图进行采样,在该颜色查找贴图的水平方向U上,随着U值的增大,颜色值逐渐变大,或者,随着U值的减小,颜色值逐渐变小。

举例说明,对中间颜色查找表转化后的图片进行导出的过程可以在指定图像处理软件中实现,比如,使用png导出方法,也就是使用GIMP内置的pdb.file_png_save_default进行导出。上述实现过程,需要提前输入导出路径,然后对中间颜色查找表转化的图片进行导出。

上述步骤S110,按照序列帧的播放顺序,将每个序列帧的灰度图,分别存储至序列帧贴图的各个通道的各个贴图位置中,得到目标序列帧贴图的步骤,一种可能的实施方式:

根据序列帧的文件名称确定序列帧的播放顺序;按照播放顺序,针对每个通道,依次将序列帧的灰度图存储在序列帧贴图的通道的各个贴图位置,得到目标序列帧贴图。

上述播放顺序通常是指序列帧集合中按照时间顺序播放序列帧的顺序。实际实现时,对于同一个序列帧集合,可以根据序列帧集合对应文件夹中的序列帧文件的文件名称确定序列帧的播放顺序,比如,文件名称可以按照数字从小到大的顺序进行设置,也可以按照序列帧的播放时间进行设置,由此确定序列帧的播放顺序。

然后,按照播放顺序,针对序列帧的每个通道,比如,针对RGB色彩模式的红、绿、蓝三色通道,依次将序列帧的灰度图存储在序列帧贴图的通道的各个贴图位置,也就是说,该序列帧贴图以单格的形式存储了序列帧的灰度图。具体的,对序列帧文件中的序列帧图片进行批量处理,获取每个序列帧的灰度图,然后根据RGB色彩模式的红、绿、蓝三色通道的每一通道的最大序列帧的图片张数进行排布,比如,每一通道横向可以存储5张序列帧的灰度图,纵向可以存储3张序列帧的灰度图,则每一通道最大可以存储15张序列帧的灰度图,得到序列帧前15张灰度图后,按照播放播放顺序,从左往右、从上往下依次排列在红色通道内,得到序列帧第16张至30张灰度图后,依次排列在绿色通道内,以此类推。由于在贴图中存储序列帧的灰度图,只需要用到一个通道,因此贴图的RGB三色通道和alpha透明度通道都可以用来存储灰度图,在贴图中存储的序列帧数量就比使用RGB三色通道时多了4倍。

最后,存储在序列帧贴图的通道的各个贴图位置的信息就是序列帧的灰度图,在完成存储后得到目标序列帧贴图,比如,序列帧集合有60帧序列帧,每一个序列帧存储空间大小为100×100,则根据所有序列帧得到的序列帧贴图的存储空间大小1000×600,而目标序列帧贴图的存储空间大小仅为500×300。

上述方式中,通过针对每个通道,按照播放顺序依次将灰度图进行存储,可以对序列帧贴图进行压缩,减小序列帧贴图体积,实现对大量序列帧贴图的批量化处理。

为了在第一颜色查找表中找到颜色值,将目标序列帧贴图和颜色查找贴图中的目标颜色查找贴图,确定为序列帧集合存储结果的步骤之后,上述方法还包括:

从目标序列帧贴图中获取序列帧的灰度图;针对灰度图中的每个像素点,将灰度图中像素点的灰度值,确定为像素点的索引值;根据像素点的索引值,从目标颜色查找贴图中查找索引值对应的颜色值,将灰度图中像素点的灰度值更新为索引值对应的颜色值,得到灰度图对应的序列帧。

上述像素点通常是指灰度图中最小的图像单元。上述灰度值通常是指0至255之间的一个整数数值。

实际实现时,目标序列帧贴图中包括多个序列帧的灰度图,从该目标序列帧贴图中获取需要的序列帧的灰度图,针对序列帧灰度图中的每个像素点,将灰度图中像素点的灰度值,也就是0至255之间的一个整数数值,确定为该像素点的索引值。根据像素点的索引值,从目标颜色查找贴图中查找索引值对应的颜色值,可以理解为,将灰度图作为目标颜色查找贴图的UV坐标(一种二维坐标,u和v两个轴分别表示了游戏引擎中贴图的横向和纵向)进行使用。

在游戏引擎中导入生成好的灰度图和颜色查找贴图,该颜色查找贴图也可以称为lut贴图(Look up table贴图,即颜色查找贴图),用个存储颜色值的图,可根据输入值查找到对应的颜色值,将灰度图和颜色查找贴图的压缩格式设置为未压缩,在材质编辑器中将灰度图作为lut贴图的UV使用,将lut贴图采样出来的结果连入自发光或者基础颜色即可的到反解算后的效果,即得到原始的序列帧。

在实际实现时会将索引值进行归一化处理,使灰度值和索引值都在0-1之间,示例性的,如图8所示,在序列帧的灰度图的第一位置的灰度值为0.05,第二位置的灰度值为0.56,第三位置的灰度值为0.98,每个位置对应的采样颜色在lut贴图中,分别为对应的箭头所指的位置,该第一个箭头所指的位置的颜色值即为序列帧的第一位置的颜色值;该第二个箭头所指的位置的颜色值即为序列帧的第二位置的颜色值;该第三个箭头所指的位置的颜色值即为序列帧的第三位置的颜色值。

对于上述方法实施例,参见图9所示的一种序列帧的存储装置,该装置包括:

序列帧集合获取模块91,用于获取序列帧集合;其中,序列帧集合包括多个序列帧;

索引值确定模块92,用于针对每个序列帧,根据序列帧的颜色值,确定颜色值对应的索引值;

灰度图生成模块93,用于根据颜色值对应的索引值,生成序列帧的灰度图;灰度图指示:序列帧中颜色值对应的索引值;

颜色查找贴图确定模块94,用于根据颜色值和颜色值对应的索引值,确定序列帧的颜色查找贴图;颜色查找贴图用于:根据索引值确定索引值对应的颜色值;

灰度图存储模块95,用于按照序列帧的播放顺序,将每个序列帧的灰度图,分别存储至序列帧贴图的各个通道的各个贴图位置中,得到目标序列帧贴图;

存储结果确定模块96,用于将目标序列帧贴图和颜色查找贴图中的目标颜色查找贴图,确定为序列帧集合的存储结果。

上述序列帧的存储装置,获取序列帧集合;其中,序列帧集合包括多个序列帧;针对每个序列帧,根据序列帧的颜色值,确定颜色值对应的索引值;根据颜色值对应的索引值,生成序列帧的灰度图;灰度图指示:序列帧中颜色值对应的索引值;根据颜色值和颜色值对应的索引值,确定序列帧的颜色查找贴图;颜色查找贴图用于:根据索引值确定索引值对应的颜色值;按照序列帧的播放顺序,将每个序列帧的灰度图,分别存储至序列帧贴图的各个通道的各个贴图位置中,得到目标序列帧贴图;将目标序列帧贴图和颜色查找贴图中的目标颜色查找贴图,确定为序列帧集合的存储结果。该方式中,通过序列帧的颜色值对应的索引值生成的灰度图只占用了一个颜色通道,使序列帧贴图的每个通道都能存储序列帧的灰度图,能够存储更多的灰度图,提高了序列帧贴图的利用率,减少了序列帧贴图在游戏包体中占用的空间;另外,通过序列帧的颜色查找贴图,能够无损的还原出每个序列帧的颜色,提高了游戏的运行性能。

上述装置还包括:颜色值存储模块,用于:根据所述颜色值和所述颜色值对应的索引值,确定所述序列帧的索引模式和所述序列帧的第一颜色查找表;其中,所述第一颜色查找表和所述索引模式用于存储所述序列帧的颜色值。

上述颜色值存储模块,还用于:将所述序列帧的多个颜色通道更改为一个索引通道,将所述多个颜色通道存储的颜色值更新为所述颜色值对应的索引值,并将所述索引值存储至所述索引通道,得到所述序列帧的索引模式;按照所述索引值的大小,将所述索引值对应的颜色值进行第一排序,将第一排序的结果确定为所述序列帧的第一颜色查找表。

上述索引值确定模块,还用于:确定所述序列帧中每个像素点的颜色值,根据所述颜色值的大小,对所述颜色值进行排序,得到所述颜色值的排列顺序值;将所述颜色值的排列顺序值,确定为所述颜色值对应的索引值。

上述灰度图生成模块,还用于:根据所述索引值,确定所述序列帧的第二颜色查找表;其中,所述第二颜色查找表中各个表格位置的索引值与所述表格位置的颜色值相同;通过所述序列帧的索引模式和所述序列帧的第二颜色查找表,生成所述序列帧的灰度图。

上述灰度图生成模块,还用于:按照所述索引值的大小,将所述索引值进行第二排序,将第二排序的结果确定为所述序列帧的第二颜色查找表。

上述颜色查找贴图确定模块,还用于:根据所述序列帧的第一颜色查找表,确定所述序列帧的颜色查找贴图。

上述颜色查找贴图确定模块,还用于:根据所述第一颜色查找表中索引值的大小,将所述索引值对应的颜色值进行第三排序,将第三排序的结果确定为所述序列帧的中间颜色查找表;其中,所述中间颜色查找表为一维表格;根据所述中间颜色查找表中存储的颜色值,将所述中间颜色查找表转换为所述序列帧的颜色查找贴图;其中,所述颜色查找贴图的颜色通道存储有所述颜色值,所述颜色查找贴图在第一方向上,所述颜色值逐渐变大或变小。

上述灰度图存储模块,还用于:根据所述序列帧的文件名称确定所述序列帧的播放顺序;按照所述播放顺序,针对每个所述通道,依次将所述序列帧的灰度图存储在所述序列帧贴图的所述通道的各个贴图位置,得到目标序列帧贴图。

上述装置还包括:反解算模块,用于:从所述目标序列帧贴图中获取所述序列帧的灰度图;针对所述灰度图中的每个像素点,将所述灰度图中所述像素点的灰度值,确定为所述像素点的索引值;根据所述像素点的索引值,从所述目标颜色查找贴图中查找所述索引值对应的颜色值,将所述灰度图中所述像素点的灰度值更新为所述索引值对应的颜色值,得到所述灰度图对应的序列帧。

本发明实施例提供的序列帧的存储装置,与上述实施例提供的序列帧的存储方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

本实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述序列帧的存储方法。该电子设备可以是服务器,也可以是终端设备。

参见图10所示,该电子设备包括处理器100和存储器101,该存储器101存储有能够被处理器100执行的机器可执行指令,该处理器100执行机器可执行指令以实现上述序列帧的存储方法,该方法包括以下步骤:

获取序列帧集合;其中,序列帧集合包括多个序列帧;针对每个序列帧,根据序列帧的颜色值,确定颜色值对应的索引值;根据颜色值对应的索引值,生成序列帧的灰度图;灰度图指示:序列帧中颜色值对应的索引值;根据颜色值和颜色值对应的索引值,确定序列帧的颜色查找贴图;颜色查找贴图用于:根据索引值确定索引值对应的颜色值;按照序列帧的播放顺序,将每个序列帧的灰度图,分别存储至序列帧贴图的各个通道的各个贴图位置中,得到目标序列帧贴图;将目标序列帧贴图和颜色查找贴图中的目标颜色查找贴图,确定为序列帧集合的存储结果。该方式中,通过序列帧的颜色值对应的索引值生成的灰度图只占用了一个颜色通道,使序列帧贴图的每个通道都能存储序列帧的灰度图,能够存储更多的灰度图,提高了序列帧贴图的利用率,减少了序列帧贴图在游戏包体中占用的空间;另外,通过序列帧的颜色查找贴图,能够无损的还原出每个序列帧的颜色,提高了游戏的运行性能。

上述根据颜色值对应的索引值,生成序列帧的灰度图的步骤之前,上述方法还包括:根据颜色值和颜色值对应的索引值,确定序列帧的索引模式和序列帧的第一颜色查找表;其中,第一颜色查找表和索引模式,用于存储序列帧的颜色值。

上述根据颜色值和颜色值对应的索引值,确定序列帧的索引模式和序列帧的第一颜色查找表的步骤,包括:将序列帧的多个颜色通道更改为一个索引通道,将多个颜色通道存储的颜色值更新为颜色值对应的索引值,并将索引值存储至索引通道,得到序列帧的索引模式;按照索引值的大小,将索引值对应的颜色值进行第一排序,将第一排序的结果确定为序列帧的第一颜色查找表。

上述根据序列帧的颜色值,确定颜色值对应的索引值的步骤,包括:确定序列帧中每个像素点的颜色值,根据颜色值的大小,对颜色值进行排序,得到颜色值的排列顺序值;将颜色值的排列顺序值,确定为颜色值对应的索引值。

上述根据颜色值对应的索引值,生成序列帧的灰度图的步骤,包括:根据索引值,确定序列帧的第二颜色查找表;其中,第二颜色查找表中各个表格位置的索引值与表格位置的颜色值相同;通过序列帧的索引模式和序列帧的第二颜色查找表,生成序列帧的灰度图。该方式中,在索引模式下,将第一颜色查找表更新为第二颜色查找表,即可生成灰度图,进而将索引值存储到灰度图中,减少了序列帧的通道。

上述根据索引值,确定序列帧的第二颜色查找表的步骤,包括:按照索引值的大小,将索引值进行第二排序,将第二排序的结果确定为序列帧的第二颜色查找表。

上述根据颜色值和颜色值对应的索引值,确定序列帧的颜色查找贴图的步骤,包括:根据序列帧的第一颜色查找表,确定序列帧的颜色查找贴图。

上述根据序列帧的第一颜色查找表,确定序列帧的颜色查找贴图的步骤,包括:根据第一颜色查找表中索引值的大小,将索引值对应的颜色值进行第三排序,将第三排序的结果确定为序列帧的中间颜色查找表;其中,中间颜色查找表为一维表格;根据中间颜色查找表中存储的颜色值,将中间颜色查找表转换为序列帧的颜色查找贴图;其中,颜色查找贴图的颜色通道存储有颜色值,颜色查找贴图在第一方向上,颜色值逐渐变大或变小。

上述按照序列帧的播放顺序,将每个序列帧的灰度图,分别存储至序列帧贴图的各个通道的各个贴图位置中,得到目标序列帧贴图的步骤,包括:根据序列帧的文件名称确定序列帧的播放顺序;按照播放顺序,针对每个通道,依次将序列帧的灰度图存储在序列帧贴图的通道的各个贴图位置,得到目标序列帧贴图。该方式中,通过针对每个通道,按照播放顺序依次将灰度图进行存储,可以对序列帧贴图进行压缩,减小序列帧贴图体积,实现对大量序列帧贴图的批量化处理。

上述将目标序列帧贴图和颜色查找贴图中的目标颜色查找贴图,确定为序列帧集合存储结果的步骤之后,上述方法还包括:从目标序列帧贴图中获取序列帧的灰度图;针对灰度图中的每个像素点,将灰度图中像素点的灰度值,确定为像素点的索引值;根据像素点的索引值,从目标颜色查找贴图中查找索引值对应的颜色值,将灰度图中像素点的灰度值更新为索引值对应的颜色值,得到灰度图对应的序列帧。

进一步地,图10所示的电子设备还包括总线102和通信接口103,处理器100、通信接口103和存储器101通过总线102连接。

其中,存储器101可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成前述实施例的方法的步骤。

本实施例还提供一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述序列帧的存储方法,该方法包括以下步骤:

获取序列帧集合;其中,序列帧集合包括多个序列帧;针对每个序列帧,根据序列帧的颜色值,确定颜色值对应的索引值;根据颜色值对应的索引值,生成序列帧的灰度图;灰度图指示:序列帧中颜色值对应的索引值;根据颜色值和颜色值对应的索引值,确定序列帧的颜色查找贴图;颜色查找贴图用于:根据索引值确定索引值对应的颜色值;按照序列帧的播放顺序,将每个序列帧的灰度图,分别存储至序列帧贴图的各个通道的各个贴图位置中,得到目标序列帧贴图;将目标序列帧贴图和颜色查找贴图中的目标颜色查找贴图,确定为序列帧集合的存储结果。该方式中,通过序列帧的颜色值对应的索引值生成的灰度图只占用了一个颜色通道,使序列帧贴图的每个通道都能存储序列帧的灰度图,能够存储更多的灰度图,提高了序列帧贴图的利用率,减少了序列帧贴图在游戏包体中占用的空间;另外,通过序列帧的颜色查找贴图,能够无损的还原出每个序列帧的颜色,提高了游戏的运行性能。

上述根据颜色值对应的索引值,生成序列帧的灰度图的步骤之前,上述方法还包括:根据颜色值和颜色值对应的索引值,确定序列帧的索引模式和序列帧的第一颜色查找表;其中,第一颜色查找表和索引模式用于存储序列帧的颜色值。

上述根据颜色值和颜色值对应的索引值,确定序列帧的索引模式和序列帧的第一颜色查找表的步骤,包括:将序列帧的多个颜色通道更改为一个索引通道,将多个颜色通道存储的颜色值更新为颜色值对应的索引值,并将索引值存储至索引通道,得到序列帧的索引模式;按照索引值的大小,将索引值对应的颜色值进行第一排序,将第一排序的结果确定为序列帧的第一颜色查找表。

上述根据序列帧的颜色值,确定颜色值对应的索引值的步骤,包括:确定序列帧中每个像素点的颜色值,根据颜色值的大小,对颜色值进行排序,得到颜色值的排列顺序值;将颜色值的排列顺序值,确定为颜色值对应的索引值。

上述根据颜色值对应的索引值,生成序列帧的灰度图的步骤,包括:根据索引值,确定序列帧的第二颜色查找表;其中,第二颜色查找表中各个表格位置的索引值与表格位置的颜色值相同;通过序列帧的索引模式和序列帧的第二颜色查找表,生成序列帧的灰度图。该方式中,在索引模式下,将第一颜色查找表更新为第二颜色查找表,即可生成灰度图,进而将索引值存储到灰度图中,减少了序列帧的通道。

上述根据索引值,确定序列帧的第二颜色查找表的步骤,包括:按照索引值的大小,将索引值进行第二排序,将第二排序的结果确定为序列帧的第二颜色查找表。

上述根据颜色值和颜色值对应的索引值,确定序列帧的颜色查找贴图的步骤,包括:根据序列帧的第一颜色查找表,确定序列帧的颜色查找贴图。

上述根据序列帧的第一颜色查找表,确定序列帧的颜色查找贴图的步骤,包括:根据第一颜色查找表中索引值的大小,将索引值对应的颜色值进行第三排序,将第三排序的结果确定为序列帧的中间颜色查找表;其中,中间颜色查找表为一维表格;根据中间颜色查找表中存储的颜色值,将中间颜色查找表转换为序列帧的颜色查找贴图;其中,颜色查找贴图的颜色通道存储有颜色值,颜色查找贴图在第一方向上,颜色值逐渐变大或变小。

上述按照序列帧的播放顺序,将每个序列帧的灰度图,分别存储至序列帧贴图的各个通道的各个贴图位置中,得到目标序列帧贴图的步骤,包括:根据序列帧的文件名称确定序列帧的播放顺序;按照播放顺序,针对每个通道,依次将序列帧的灰度图存储在序列帧贴图的通道的各个贴图位置,得到目标序列帧贴图。该方式中,通过针对每个通道,按照播放顺序依次将灰度图进行存储,可以对序列帧贴图进行压缩,减小序列帧贴图体积,实现对大量序列帧贴图的批量化处理。

上述将目标序列帧贴图和颜色查找贴图中的目标颜色查找贴图,确定为序列帧集合存储结果的步骤之后,上述方法还包括:从目标序列帧贴图中获取序列帧的灰度图;针对灰度图中的每个像素点,将灰度图中像素点的灰度值,确定为像素点的索引值;根据像素点的索引值,从目标颜色查找贴图中查找索引值对应的颜色值,将灰度图中像素点的灰度值更新为索引值对应的颜色值,得到灰度图对应的序列帧。

本发明实施例所提供的序列帧的存储方法、装置以及电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

技术分类

06120116065393