一种动画生成方法及装置制造方法

文档序号:6499712阅读:146来源:国知局
一种动画生成方法及装置制造方法
【专利摘要】本发明涉及一种动画生成方法,包括:获取包含多张图片的图片数组;为所述图片数组选择一个目标区域,所述目标区域外的其他区域为背景区域;为所述图片数组内的每张图片的背景区域进行静态化处理;以及根据完成静态化处理后的图片数组生成动画。本发明还提供一种动画生成装置。利用本发明可以创建局部动态的动画以突出动画中的亮点,并有效降低动画的尺寸。
【专利说明】一种动画生成方法及装置
【技术领域】
[0001]本发明涉及图像处理【技术领域】,特别涉及一种动画生成方法及装置。
【背景技术】
[0002]图片是客观对象的一种相似性的、生动性的描述或写真,是人类社会活动中最常用的信息载体。据统计,一个人获取的信息大约有75%来自视觉。古人说“百闻不如一见”、“一目了然”便是非常形象的例子,都反映了图片在信息传递中的独特效果。随着科技的发展和人们生活节奏的加快,现代人进入了这样一个时代:文字让人厌倦,需要图片不断刺激眼球,激发求知欲和触动麻木的神经。在通过网络分享信息的过程中,文字信息的描述能力有限,而图片则具有生动形象、信息量大的优点。
[0003]视频是动起来的图片,对场景选取、故事剪裁有着更高的要求。但是普通用户由于没有经过专门的培训或者缺乏相应的背景知识,拍出的视频大都拖沓无节奏,亮点不突出。同时由于拍摄得到的视频的尺寸通常都比较大,不方便视频的大面积传播。因此,在拍摄视频后,还需要对视频进行剪辑制作,但是制作门槛很高。
[0004]此外,目前通常采用Flash动画、GIF图片或者3D动画的方式制作动画进行更加丰富的信息展示和传播。但Flash动画不能制作色彩丰富变化柔和的动画,过渡色生硬单一。GIF图片制作简单,来源广泛,兼容性强,但最多支持256种颜色,若图片色彩过于丰富,转换为GIF图片将丢失一些颜色。GIF或Flash文件生成和制作成本很高,需要专业的软件或者方法来制作,并且无法生成只有局部动态的动画。而3D动画虽然效果好,但由于文件很大,音画作品很少采用。

【发明内容】

[0005]有鉴于此,有必要提供一种动画生成方法及装置,可以通过对多张图片的背景区域进行静态化处理,从而创建局部动态的动画以突出动画中的亮点,并有效降低动画的尺寸。
[0006]一种动画生成方法,包括:获取包含多张图片的图片数组;为所述图片数组选择一个目标区域,所述目标区域外的其他区域为背景区域;为所述图片数组内的每张图片的背景区域进行静态化处理;以及根据完成静态化处理后的图片数组生成动画。
[0007]—种动画生成装置,包括:获取模块,用于获取包含多张图片的图片数组;选择模块,用于为所述图片数组选择一个目标区域,所述目标区域外的其他区域为背景区域;处理模块,用于为所述图片数组内的每张图片的背景区域进行静态化处理;以及生成模块,用于根据完成静态化处理后的图片数组生成动画。
[0008]相对于现有技术,本发明的有益效果是:本发明可以通过对多张图片的背景区域进行静态化处理,从而创建局部动态的动画以突出动画中的亮点,并有效降低动画的尺寸。
[0009]为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。【专利附图】

【附图说明】
[0010]图1为本发明实施例提供的动画生成方法的流程图。
[0011]图2为创建及使用蒙板处理图片数组的流程图。
[0012]图3为将绘画层覆盖在背景图片上的示意图。
[0013]图4为对动画进行颜色优化的流程图。
[0014]图5为本发明实施例提供的动画生成装置的流程图。
【具体实施方式】
[0015]为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的【具体实施方式】、结构、特征及其功效,详细说明如后。
[0016]参阅图1所示,本发明实施例提供一种动画生成方法,其包括以下步骤:
[0017]步骤SI,获取包含多张图片的图片数组;
[0018]步骤S2,为所述图片数组选择一个目标区域,所述目标区域外的其他区域为背景区域;
[0019]步骤S3,为所述图片数组内的每张图片的背景区域进行静态化处理;
[0020]步骤S4,根据完成静态化处理后的图片数组生成动画。
[0021]以下结合具体实例作进一步详细说明:
[0022]步骤SI可以根据用户的输入从一段视频中截取一个视频片段,然后按照预定的帧率,例如每秒20帧从所述视频片段中截取多张图片以获取所述图片数组。该段视频没有时间限制。但所述的视频片段为该段视频中具有亮点的片段,例如一段视频中婴儿呵呵大笑的片段。因此该视频片段具有时间限制,通常在I至3秒间。该段视频可以通过摄像装置即时拍摄得到,也可以直接从本地存储单元中获取得到。
[0023]此外,步骤SI还可以根据用户的输入从本地存储单元中选取多张图片构成所述图片数组。所述多张图片的画面具有连续性。
[0024]步骤S2所述的目标区域为所述图片数组中具有亮点的区域,例如一组婴儿呵呵大笑的图片,每张图片中婴儿的脸部所在的区域即为所述目标区域。所述目标区域外的其他区域为背景区域。
[0025]在本实施例中,可以根据用户的输入为所述图片数组选择所述目标区域。例如,在带有触摸屏的移动设备上,当显示有所述图片数组内任意一张图片的所述触摸屏侦测到用户的触摸操作时,记录下所述触摸操作经过的移动路径,所述移动路径在图片数组内各图片上对应的区域即为所述目标区域。若在带有鼠标或触控面板的计算机上,也可以通过记录光标在所显示图片上的移动路径来选择所述目标区域。此外,用户还可以通过直接输入所述图片数组中目标区域的坐标范围来选择所述目标区域。
[0026]步骤S3为所述图片数组内的每张图片的背景区域进行静态化处理,从而使所述图片数组在目标区域实现局部动态。具体而言,所述的静态化处理包括以下两种方式。其中第一种方式为:从所述图片数组选择一张背景图片,然后将所述图片数组内除所述背景图片外的其他图片的背景区域替换为所述背景图片的背景区域。所述背景图片可以为该图片数组中的第一张图片,也可以为该图片数组中的任意一张图片。[0027]在一个具体的实例中,可以使用选区为所述目标区域,非选区为所述背景图片的背景区域的蒙板依次覆盖所述图片数组中的每一张图片,从而使所述图片数组内除所述背景图片外的其他图片的背景区域都被替换为所述背景图片的背景区域,而图片数组内每张图片的目标区域都保持不变。所述蒙板的选区即为被保护的区域,而非选区则为被处理的区域。
[0028]参阅图2所示,为创建及使用蒙板处理图片数组的一个示例流程图。
[0029]步骤S11,创建一个绘画层覆盖在所述背景图片上。如图3所示,所述绘画层为一个与所述背景图片大小相同的半透明黑色涂层。所述绘画层的透明度可以根据经验设定。在本实施例中,将代表绘画层透明度的Alpha值设为0.3。若所述绘画层包括256级RGB色彩和透明度,则所述绘画层内每个像素点的RGBA值可以表示为(O,O,O,0.3)或(O,O,O,77)(255*0.3=77)。
[0030]步骤S12,在所述绘画层上标记目标区域。首先,通过上述步骤S2所述的方式在所显示的绘画层上根据用户的输入为所述图片数组选择所述目标区域。然后,将所述绘画层的目标区域内每个像素点的RGB值都设为255,即将所述绘画层的目标区域绘制成白色。因而所述绘画层的目标区域内每个像素点的RGBA值被设为(255,255,255,77)。受绘画层透明度的影响,被标记后的目标区域的实际显示效果为绘画层的目标区域比背景区域更亮。
[0031]步骤S13,根据所标记的目标区域生成蒙板。具体而言,遍历所述绘画层的所有像素点,当某个像素点的RGBA值不为(0,0,0,77)时,将该像素点在所述背景图片中对应像素点的Alpha值修改为0,相当于将背景图片的目标区域抠除,从而由所述背景图片生成所述蒙板。由此可知,所述蒙板的选区为所述背景图片的目标区域,非选区为所述背景图片的背景区域。
[0032]步骤S14,将所生成的蒙板与所述图片数组内的每一张图片进行叠加处理。当对两张图片叠加处理时,叠加后图片中各像素点的RGB值C的计算公式为:C=aA+(l_a)B。其中,A表示上层图片中像素点的RGB值,a表示上层图片的透明度Alpha值,B表示下层图片中对应像素点的RGB值。
[0033]因此,将所述蒙板与所述图片数组内的图片分别进行叠加后,该图片的目标区域内各像素点的RGB值并未改变,而该图片的背景区域内各像素点的RGB值被替换为背景图片中对应像素点的RGB值。换句话说,即将所述图片数组内除所述背景图片外的其他图片的背景区域替换为所述背景图片的背景区域。
[0034]步骤S3所述静态化处理的第二种方式为:为所述图片数组内每张图片的背景区域添加半透明的遮罩层。所述遮罩层的透明度可以自由设定,所述遮罩层的透明度被设定得越小,被遮住的图片的背景区域的可视度越低。所述遮罩层的透明度被设定得越大,被遮住的图片的背景区域的可视度越高。为所述图片数组内每张图片的背景区域添加半透明的遮罩层后,所述图片的目标区域保持不变,但背景区域的可视度降低,从而可以突出图片的目标区域。
[0035]在本实施例中,也可以使用与所述图片数组内图片大小相同,并且选区为所述目标区域,非选区为带有某种色彩的半透明遮罩层的蒙板依次覆盖所述图片数组中的每一张图片,从而为所述图片数组内每张图片的背景区域添加半透明的遮罩层。
[0036]步骤S4中,在生成动画之前,还可以先设置完成静态化处理后的图片数组中包含的多张图片的播放速度和播放顺序,以保证生成的动画节奏紧凑,不至于太拖沓。所述的播放顺序包括顺序、倒序和循环播放三种方式,通过设置所述图片数组内的多张图片的播放顺序,可以使所生成的动画呈现预期的播放效果,例如泼出去的水又流回来。可选的,在生成动画之前还可以根据用户的输入对完成静态化处理后的图片数组内包含的多张图片进行滤镜处理,使所生成的动画实现特殊的视觉效果。例如耀眼春日下的一株杨树,或者朦胧的雨雾中一个婀娜的背影。
[0037]步骤S4所述的动画为一段局部动态的图片或视频,例如在苹果公司开发iOS操作系统上创建的MOV格式的微视频。在一个具体的实例中,首先,在所述的iOS操作系统上创建一个基于数组中抽取的位图的上下文(context),在所述上下文中绘制所述图片数组内的多张图片,并设置所述上下文的图像叠加属性。然后,在所述上下文中叠加绘制选区为所述目标区域,非选区为所述背景图片的背景区域或带有某种色彩的半透明遮罩层的蒙板。最后,将叠加绘制得到的图片替换所述数组中对应位置的位图,从而生成所述MOV格式的微视频。
[0038]由于所生成的动画中只有局部处于动态,因此可以有效降低所述动画的尺寸,便于在互联网上进行分享传播,同时可以突出动画中的亮点。此外,还可以为所生成的动画增加一些附加信息,例如文字、背景音乐等,以增强所述动画的趣味性。
[0039]在对所生成的动画分享传播的过程中,通常可以将所述动画上传到服务器上,也可以直接通过社交平台服务器的接口进行分享传播。为了适应在网页上或者不同终端设备的Web上无缝浏览所述动画,可以将所述动画转换为GIF格式。GIF格式具有兼容性强的特点,是一种被广泛应用于网页间传输的图片格式。
[0040]然而,GIF格式最多只支持8位256种颜色的转换,而通常的视频是24位的真彩色。因此,在将所述动画转换为GIF格式的时候可能会面临颜色失真的问题,需要在转换过程中进行颜色优化。
[0041]在本实施例中,可以通过将所述动画中没有使用到或较少使用到的颜色替换为使用次数较多的若干种颜色,从而降低动画的尺寸,并在最大程度确保所述动画不失真。具体而言,参阅图4所示,对所生成的动画进行颜色优化包括以下步骤:
[0042]步骤S4.1,统计所述动画中每个像素点的RGB值,对每种RGB值的使用次数进行排序。具体地,可以遍历所述动画中的每一个像素点,将所述动画中使用到的所有RGB值组成一张链表,链表中的每个节点代表一种颜色,同时为每个节点附加一个计数值,表示所述动画对每种RGB值的使用次数。为了提高查询速度,也可以使用八叉树(Octree)的数据结构来统计所述动画中每种RGB值的使用次数。
[0043]步骤S4.2,获取排在前面的指定种类数的RGB值,生成调色板。由于GIF格式最多支持256种颜色,因此所述指定种类数可以为256。所述调色板用于更新所述动画中各像素点的RGB值。
[0044]步骤S4.3,将所述动画中每个像素点的RGB值更新为所述调色板中相对应的RGB值。在所生成的调色板中查询与所述动画中各像素点相对应的RGB值的过程中,通常使用最近匹配策略:遍历所述动画的各像素点,在调色板中查询是否存在与该像素点的RGB值相同的RGB值,若存在,则无需更新该像素点的RGB值。若不存在,则在所述调色板中查询与该像素点的RGB值最相近的RGB值,然后将该像素点的RGB值更新为所述最相近的RGB值。判断所述调色板中的RGB值与该像素点的RGB值是否最相近的方法例如可以是最小平
方差法。
[0045]在另一个实例中,也可以针对所述动画中的每一张图片进行颜色优化,将每一张图片中没有使用或较少使用的颜色替换为在该张图片中使用次数较多的若干种颜色。这种方法可以保证动画中的每张图片都有较好的颜色质量,失真程度更小,但对于包含图片张数较多的动画而言,这种方法也会使动画具有更大的尺寸。
[0046]对所生成的动画进行颜色优化并转换为GIF格式后,可以将得到的GIF格式的动画上传到服务器上,供用户自己或其他用户浏览或下载所述动画。此外,也可以先将所生成的动画上传到服务器上,由所述服务器对该动画进行颜色优化,并转换为GIF格式,以适应网络间分享传播的需求。
[0047]参阅图5所示,本发明实施例还提供一种动画生成装置10,包括获取模块101、选择模块102、处理模块103和生成模块104。可以理解,上述的各模块是指计算机程序或者程序段,用于执行某一项或多项特定的功能。此外,上述各模块的区分并不代表实际的程序代码也必须是分开的。
[0048]获取模块101,用于获取包含多张图片的图片数组;
[0049]选择模块102,用于为所述图片数组选择一个目标区域,所述目标区域外的其他区域为背景区域;
[0050]处理模块103,用于为所述图片数组内的每张图片的背景区域进行静态化处理;以及
[0051]生成模块104,用于根据完成静态化处理后的图片数组生成动画。
[0052]对于以上各模块的具体工作过程,可进一步参考本发明实施例提供的动画生成方法,在此不再重复。
[0053]此外,本发明实施例还提供一种计算机可读存储介质,其内存储有计算机可执行指令,上述的计算机可读存储介质例如为非易失性存储器例如光盘、硬盘、或者闪存。上述的计算机可执行指令用于让计算机或者类似的运算装置完成上述的动画生成方法中的各种操作。
[0054]以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明,任何本领域技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简介修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
【权利要求】
1.一种动画生成方法,其特征在于,该方法包括: 获取包含多张图片的图片数组; 为所述图片数组选择一个目标区域,所述目标区域外的其他区域为背景区域; 为所述图片数组内的每张图片的背景区域进行静态化处理;以及 根据完成静态化处理后的图片数组生成动画。
2.如权利要求1所述的动画生成方法,其特征在于,还包括:从所述图片数组选取一张背景图片; 所述静态化处理包括:将所述图片数组内除所述背景图片外的其他图片的背景区域替换为所述背景图片的背景区域。
3.如权利要求1或2所述的动画生成方法,其特征在于,所述静态化处理还包括: 为所述图片数组内的每张图片的背景区域添加半透明的遮罩层。
4.如权利要求1所述的动画生成方法,其特征在于,获取包含多张图片的图片数组包括: 根据用户的输入从一段视频中截取一个视频片段;以及 按照预定的帧率从所述视频片段中截取多张图片以获取所述图片数组。
5.如权利要求1所述的动画生成方法,其特征在于,获取包含多张图片的图片数组包括: 根据用户的输入选取多张图片构成所述图片数组。
6.如权利要求1所述的动画生成方法,其特征在于,根据完成静态化处理后的图片数组生成动画包括: 设置完成静态化处理后的图片数组中包含的多张图片的播放速度和播放顺序。
7.如权利要求1所述的动画生成方法,其特征在于,还包括: 对完成静态化处理后的图片数组进行滤镜处理。
8.如权利要求1所述的动画生成方法,其特征在于,还包括: 将所生成的动画转换为GIF格式。
9.如权利要求8所述的动画生成方法,其特征在于,将所生成的动画转换为GIF格式包括: 统计所述动画中每个像素点的RGB值,对每种RGB值的使用次数进行排序; 获取排在前面的指定种类数的RGB值,生成调色板;以及 将所述动画中每个像素点的RGB值更新为所述调色板中相对应的RGB值。
10.一种动画生成装置,其特征在于,该装置包括: 获取模块,用于获取包含多张图片的图片数组; 选择模块,用于为所述图片数组选择一个目标区域,所述目标区域外的其他区域为背景区域; 处理模块,用于为所述图片数组内的每张图片的背景区域进行静态化处理;以及 生成模块,用于根据完成静态化处理后的图片数组生成动画。
11.如权利要求10所述的动画生成装置,其特征在于,所述处理模块还用于从所述图片数组选取一张背景图片; 所述静态化处理包括:将所述图片数组内除所述背景图片外的其他图片的背景区域替换为所述背景图片的背景区域。
12.如权利要求10或11所述的动画生成装置,其特征在于,所述静态化处理还包括: 为所述图片数组内的每张图片的背景区域添加半透明的遮罩层。
13.如权利要求10所述的动画生成装置,其特征在于,所述获取模块根据用户的输入从一段视频中截取一个视频片段;以及 按照预定的帧率从所述视频片段中截取多张图片以获取所述图片数组。
14.如权利要求10所述的动画生成装置,其特征在于,所述获取模块根据用户的输入选取多张图片构成所述图片数组。
15.如权利要求10所述的动画生成装置,其特征在于,所述生成模块还用于设置完成静态化处理后的图片数组中包含的多张图片的播放速度和播放顺序。
16.如权利要求10所述的动画生成装置,其特征在于,所述生成模块还用于对完成静态化处理后的图片数组进行滤镜处理。
17.如权利要求10所述的动画生成装置,其特征在于,所述生成模块还用于将所生成的动画转换为GIF格式。
18.如权利要求17 所述的动画生成装置,其特征在于,将所生成的动画转换为GIF格式包括: 统计所述动画中每个像素点的RGB值,对每种RGB值的使用次数进行排序; 获取排在前面的指定种类数的RGB值,生成调色板;以及 将所述动画中每个像素点的RGB值更新为所述调色板中相对应的RGB值。
【文档编号】G06T13/00GK103971391SQ201310041087
【公开日】2014年8月6日 申请日期:2013年2月1日 优先权日:2013年2月1日
【发明者】刘刚, 张瑶琦 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1