CN114549712B - 一种生成动态webp格式图片的方法及装置 - Google Patents
一种生成动态webp格式图片的方法及装置 Download PDFInfo
- Publication number
- CN114549712B CN114549712B CN202210438975.7A CN202210438975A CN114549712B CN 114549712 B CN114549712 B CN 114549712B CN 202210438975 A CN202210438975 A CN 202210438975A CN 114549712 B CN114549712 B CN 114549712B
- Authority
- CN
- China
- Prior art keywords
- picture
- static
- pictures
- frame
- side area
- 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
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000003068 static effect Effects 0.000 claims abstract description 393
- 230000000295 complement effect Effects 0.000 claims abstract description 161
- 239000011159 matrix material Substances 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 23
- 230000009466 transformation Effects 0.000 claims description 18
- 238000005457 optimization Methods 0.000 claims description 10
- 238000004519 manufacturing process Methods 0.000 abstract description 10
- 230000000694 effects Effects 0.000 description 13
- 239000000463 material Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/80—2D [Two Dimensional] animation, e.g. using sprites
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供了一种生成动态webp格式图片的方法及装置,该方法为:获取用于生成动态webp格式图片的待处理任务,待处理任务中至少包含:多张第一静态图片、补帧数量、输出尺寸和循环次数;将多张第一静态图片设为透明以及将多张第一静态图片的尺寸设置为输出尺寸,以得到多张第二静态图片;根据循环次数生成webp对象;依序对每组第二静态图片执行补帧图生成步骤,以生成每组第二静态图片对应的补帧数量张补帧图片;依序将每组第二静态图片及其对应的补帧数量张补帧图片添加至webp对象中,以生成动态webp格式图片。不需要用户逐帧制作补帧图片,降低动态webp格式图片的制作难度和制作成本。
Description
技术领域
本发明涉及图片处理技术领域,具体涉及一种生成动态webp格式图片的方法及装置。
背景技术
相对于视频和GIF格式图片而言,小体积的webp格式图片更适合作为带有万花筒动效的广告素材。当用户存在投放带有万花筒动效的广告素材的意愿时,需要由用户制作动态webp格式图片以作为广告素材。但是一方面,大多数用户缺乏制作广告素材的能力,制作动态webp格式图片的难度较大;另一方面,用户在制作动态webp格式图片的过程中需要逐帧制作,耗费较高的时间和精力,制作动态webp格式图片的成本较高。
发明内容
有鉴于此,本发明实施例提供一种生成动态webp格式图片的方法及装置,以降低制作动态webp格式图片的难度和成本。
为实现上述目的,本发明实施例提供如下技术方案:
本发明实施例第一方面公开一种生成动态webp格式图片的方法,所述方法包括:
获取用于生成动态webp格式图片的待处理任务,所述待处理任务中至少包含:多张第一静态图片、补帧数量、输出尺寸和循环次数;
将多张所述第一静态图片设为透明以及将多张所述第一静态图片的尺寸设置为所述输出尺寸,以得到多张第二静态图片;
根据所述循环次数生成webp对象;
依序对每组所述第二静态图片执行以下补帧图生成步骤,以生成每组所述第二静态图片对应的所述补帧数量张补帧图片;其中,每组所述第二静态图片包含两张相邻的所述第二静态图片;第一张所述第二静态图片和最后一张所述第二静态图片相邻;
依序将每组所述第二静态图片及其对应的所述补帧数量张补帧图片添加至所述webp对象中,以生成所述动态webp格式图片,其中,所述webp对象中每张所述第二静态图片和每张所述补帧图片的停留时间为预先设定;
所述补帧图生成步骤包括:
利用第三静态图片和第四静态图片之间待生成的所述补帧图片的序号和所述补帧数量,确定每张待生成的所述补帧图片对应的贝塞尔曲线坐标,其中,所述第三静态图片和所述第四静态图片为两张相邻的所述第二静态图片,所述贝塞尔曲线坐标为贝塞尔曲线横坐标或贝塞尔曲线纵坐标;
利用每张待生成的所述补帧图片对应的贝塞尔曲线坐标和预设的三阶贝塞尔函数方程,计算与每张待生成的所述补帧图片对应的分界线位置,所述分界线位置为所述第三静态图片和所述第四静态图片的分界线的位置;
针对每张待生成的所述补帧图片,将所述第三静态图片、所述第四静态图片和/或空白图片沿处于所述补帧图片对应的分界线位置的分界线进行拼接,以生成所述补帧图片。
优选的,针对每张待生成的所述补帧图片,将所述第三静态图片、所述第四静态图片和/或空白图片沿处于所述补帧图片对应的分界线位置的分界线进行拼接,以生成所述补帧图片,包括:
针对每张待生成的所述补帧图片,在处于所述补帧图片对应的分界线位置的分界线的第一侧区域和第二侧区域的边长均大于边长阈值的情况下,对所述第三静态图片和第四静态图片进行透视旋转,其中,所述第一侧区域为用于显示所述第三静态图片或第一空白图片的区域,所述第二侧区域为用于显示所述第四静态图片或第二空白图片的区域;
将透视旋转后的所述第三静态图片和所述第四静态图片沿处于所述补帧图片对应的分界线位置的分界线进行拼接,以生成所述补帧图片;
在所述第二侧区域的边长小于所述边长阈值的情况下,对所述第三静态图片进行透视旋转;
将透视旋转后的所述第三静态图片和所述第二空白图片沿处于所述补帧图片对应的分界线位置的分界线进行拼接,以生成所述补帧图片;
在所述第一侧区域的边长小于所述边长阈值的情况下,对所述第四静态图片进行透视旋转;
将所述第一空白图片和透视旋转后的所述第四静态图片沿处于所述补帧图片对应的分界线位置的分界线进行拼接,以生成所述补帧图片;
其中,若所述第三静态图片和所述第四静态图片为水平旋转,所述第一侧区域为左侧区域,所述第二侧区域为右侧区域,所述第一侧区域和所述第二侧区域的边长为宽度;若所述第三静态图片和所述第四静态图片为竖直旋转,所述第一侧区域为上侧区域,所述第二侧区域为下侧区域,所述第一侧区域和所述第二侧区域的边长为高度。
优选的,对所述第三静态图片进行透视旋转的过程,包括:
利用预设的优化因子,确定处于所述补帧图片对应的分界线位置的分界线的两个第一顶点的顶点坐标;
根据所述补帧图片对应的分界线位置,确定所述第三静态图片相对于两个所述第一顶点的另外两个第二顶点的顶点坐标;
根据两个所述第一顶点和两个所述第二顶点的顶点坐标,计算第一转换矩阵;
利用所述第一转换矩阵对所述第三静态图片进行透视旋转。
优选的,对所述第四静态图片进行透视旋转的过程,包括:
利用预设的优化因子,确定处于所述补帧图片对应的分界线位置的分界线的两个第一顶点的顶点坐标;
根据所述补帧图片对应的分界线位置,确定所述第四静态图片相对于两个所述第一顶点的另外两个第三顶点的顶点坐标;
根据两个所述第一顶点和两个所述第三顶点的顶点坐标,计算第二转换矩阵;
利用所述第二转换矩阵对所述第四静态图片进行透视旋转。
优选的,将多张所述第一静态图片设为透明以及将多张所述第一静态图片的尺寸设置为所述输出尺寸,以得到多张第二静态图片,包括:
对多张所述第一静态图片添加alpha通道;
将添加alpha通道的多张所述第一静态图片设为透明,并将设为透明的多张所述第一静态图片的尺寸设置为所述输出尺寸,以得到多张第二静态图片。
优选的,将每组所述第二静态图片及其对应的所述补帧数量张补帧图片添加至所述webp对象中的过程,包括:
对于任意一组第二静态图片,将所述任意一组第二静态图片中的第一帧第二静态图片添加至所述webp对象;
将所述任意一组第二静态图片对应的所述补帧数量张补帧图片依序添加至所述webp对象;
将所述任意一组第二静态图片中的第二帧第二静态图片添加至所述webp对象。
本发明实施例第二方面公开一种生成动态webp格式图片的装置,所述装置包括:
获取单元,用于获取用于生成动态webp格式图片的待处理任务,所述待处理任务中至少包含:多张第一静态图片、补帧数量、输出尺寸和循环次数;
设置单元,用于将多张所述第一静态图片设为透明以及将多张所述第一静态图片的尺寸设置为所述输出尺寸,以得到多张第二静态图片;
生成单元,用于根据所述循环次数生成webp对象;
执行单元,用于依序对每组所述第二静态图片执行以下补帧图生成步骤,以生成每组所述第二静态图片对应的所述补帧数量张补帧图片;其中,每组所述第二静态图片包含两张相邻的所述第二静态图片;第一张所述第二静态图片和最后一张所述第二静态图片相邻;
添加单元,用于依序将每组所述第二静态图片及其对应的所述补帧数量张补帧图片添加至所述webp对象中,以生成所述动态webp格式图片,其中,所述webp对象中每张所述第二静态图片和每张所述补帧图片的停留时间为预先设定;
所述补帧图生成步骤包括:
利用第三静态图片和第四静态图片之间待生成的所述补帧图片的序号和所述补帧数量,确定每张待生成的所述补帧图片对应的贝塞尔曲线坐标,其中,所述第三静态图片和所述第四静态图片为两张相邻的所述第二静态图片,所述贝塞尔曲线坐标为贝塞尔曲线横坐标或贝塞尔曲线纵坐标;
利用每张待生成的所述补帧图片对应的贝塞尔曲线坐标和预设的三阶贝塞尔函数方程,计算与每张待生成的所述补帧图片对应的分界线位置,所述分界线位置为所述第三静态图片和所述第四静态图片的分界线的位置;
针对每张待生成的所述补帧图片,将所述第三静态图片、所述第四静态图片和/或空白图片沿处于所述补帧图片对应的分界线位置的分界线进行拼接,以生成所述补帧图片。
优选的,当所述执行单元执行所述步骤:针对每张待生成的所述补帧图片,将所述第三静态图片、所述第四静态图片和/或空白图片沿处于所述补帧图片对应的分界线位置的分界线进行拼接,以生成所述补帧图片;所述执行单元具体用于:
针对每张待生成的所述补帧图片,在处于所述补帧图片对应的分界线位置的分界线的第一侧区域和第二侧区域的边长均大于边长阈值的情况下,对所述第三静态图片和第四静态图片进行透视旋转,其中,所述第一侧区域为用于显示所述第三静态图片或第一空白图片的区域,所述第二侧区域为用于显示所述第四静态图片或第二空白图片的区域;
将透视旋转后的所述第三静态图片和所述第四静态图片沿处于所述补帧图片对应的分界线位置的分界线进行拼接,以生成所述补帧图片;
在所述第二侧区域的边长小于所述边长阈值的情况下,对所述第三静态图片进行透视旋转;
将透视旋转后的所述第三静态图片和所述第二空白图片沿处于所述补帧图片对应的分界线位置的分界线进行拼接,以生成所述补帧图片;
在所述第一侧区域的边长小于所述边长阈值的情况下,对所述第四静态图片进行透视旋转;
将所述第一空白图片和透视旋转后的所述第四静态图片沿处于所述补帧图片对应的分界线位置的分界线进行拼接,以生成所述补帧图片;
其中,若所述第三静态图片和所述第四静态图片为水平旋转,所述第一侧区域为左侧区域,所述第二侧区域为右侧区域,所述第一侧区域和所述第二侧区域的边长为宽度;若所述第三静态图片和所述第四静态图片为竖直旋转,所述第一侧区域为上侧区域,所述第二侧区域为下侧区域,所述第一侧区域和所述第二侧区域的边长为高度。
优选的,所述设置单元具体用于:对多张所述第一静态图片添加alpha通道;将添加alpha通道的多张所述第一静态图片设为透明,并将设为透明的多张所述第一静态图片的尺寸设置为所述输出尺寸,以得到多张第二静态图片。
优选的,将每组所述第二静态图片及其对应的所述补帧数量张补帧图片添加至所述webp对象中的所述添加单元,具体用于:对于任意一组第二静态图片,将所述任意一组第二静态图片中的第一帧第二静态图片添加至所述webp对象;将所述任意一组第二静态图片对应的所述补帧数量张补帧图片依序添加至所述webp对象;将所述任意一组第二静态图片中的第二帧第二静态图片添加至所述webp对象。
基于上述本发明实施例提供的一种生成动态webp格式图片的方法及装置,该方法为:获取用于生成动态webp格式图片的待处理任务,待处理任务中至少包含:多张第一静态图片、补帧数量、输出尺寸和循环次数;将多张第一静态图片设为透明以及将多张第一静态图片的尺寸设置为输出尺寸,以得到多张第二静态图片;根据循环次数生成webp对象;依序对每组第二静态图片执行补帧图生成步骤,以生成每组第二静态图片对应的补帧数量张补帧图片;依序将每组第二静态图片及其对应的补帧数量张补帧图片添加至webp对象中,以生成动态webp格式图片。采用本方案,可利用待处理任务中的多张静态图片自动生成补帧图片,并将静态图片和补帧图片添加至webp对象以生成动态webp格式图片。不需要用户逐帧制作补帧图片,降低动态webp格式图片的制作难度和制作成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种生成动态webp格式图片的方法的流程图;
图2(a)为本发明实施例提供的第一帧图像的示意图;
图2(b)为本发明实施例提供的中间帧图像的示意图;
图2(c)为本发明实施例提供的最后一帧图像的示意图;
图3为本发明实施例提供的一种生成动态webp格式图片的装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由背景技术可知,用户存在投放带有万花筒动效的广告素材的意愿时,需要由用户制作动态webp格式图片以作为广告素材。但是大多数用户缺乏制作广告素材的能力,且用户在制作动态webp格式图片的过程中需要逐帧制作,制作动态webp格式图片的难度较大和成本较高。
因此,本发明实施例提供一种生成动态webp格式图片的方法及装置,利用待处理任务中的多张静态图片自动生成补帧图片,并将静态图片和补帧图片添加至webp对象以生成动态webp格式图片。不需要用户逐帧制作补帧图片,以降低动态webp格式图片的制作难度和制作成本。
需要说明的是,采用本发明实施公开的生成动态webp格式图片的方法,可生成能够作为带有万花筒动效的广告素材的动态webp格式图片;该动态webp格式图片作为带有万花筒动效的广告素材仅为其中一个示例,动态webp格式图片还可以作为带有万花筒动效的其它素材;对于动态webp格式图片的具体应用,在此不做具体限定。
可以理解的是,webp格式为由谷歌推出的新一代图片格式。万花筒动效具体是指:将多张静态图片按水平或竖直方向按序旋转的效果;通过万花筒动效可以模拟3D动态效果。在利用php提供web服务的情况下,可以将本发明实施公开的生成动态webp格式图片的方法封装为php可用的动态扩展库,以提供在web端一键生成动态webp格式图片的功能。
应用本发明实施例公开的生成动态webp格式图片的方法后,会使得实际的其中一个应用场景为:用户通过浏览器上传多张第一静态图片,以及通过浏览器设置补帧数量、输出尺寸、循环次数和图片质量参数。用户点击生成按键(生成动态webp格式图片)以请求web服务,为节约算力,先为该用户分配一待处理任务,该待处理任务包含:该用户上传的第一静态图片及设置的补帧数量、输出尺寸、循环次数和图片质量参数;将待处理任务放入任务队列(通过任务唯一标识区分任务队列中的不同任务)等待排队处理;在获取到该待处理任务后,通过本发明实施公开的生成动态webp格式图片的方法,处理该待处理任务以生成动态webp格式图片。生成动态webp格式图片的详细过程通过以下各个实施例进行解释说明。
参见图1,示出了本发明实施例提供的一种生成动态webp格式图片的方法的流程图,该方法包括:
步骤S101:获取用于生成动态webp格式图片的待处理任务。
需要说明的是,待处理任务中至少包含:多张第一静态图片、补帧数量(也就是帧率)、输出尺寸、循环次数和图片质量参数等参数;其中,图片质量参数用于确定最终生成的动态webp格式图片的图片质量,循环次数用于确定动态webp格式图片循环播放的次数。
在具体实现步骤S101的过程中,从任务队列中获取待处理任务;并通过上传第一静态图片的本地路径(如部署php服务的机器),利用OpenCV提供的imread方法,依次获取待处理任务中的多张第一静态图片,以及获取待处理任务中的补帧数量、输出尺寸和循环次数等参数。
可以理解的是,从待处理任务中所获取的多张第一静态图片已预先完成排序,例如:从待处理任务中获取静态图片A、静态图片B、静态图片C和静态图片D;其中,静态图片A为第一张第一静态图片,静态图片B为第二张第一静态图片,静态图片C为第三张第一静态图片,静态图片D为第四张第一静态图片。
步骤S102:将多张第一静态图片设为透明以及将多张第一静态图片的尺寸设置为输出尺寸,以得到多张第二静态图片。
需要说明的是,图片矩阵对象是cv库描述一张图片的信息矩阵,每张图片对应一个图片矩阵对象;也就是说,一张第一静态图片对应一个图片矩阵对象。
进一步需要说明的是,静态图片在转动过程中,静态图片所显示的图片内容会变形,但静态图片的可显示区域是固定的,静态图片中没有图片内容的地方会露出图片底色;对于没有alpha通道的静态图片则无法展示透明,因此在生成动态webp格式图片的时候,需要对静态图片增加alpha通道并设置为透明。
在具体实现步骤S102的过程中,对多张第一静态图片添加alpha通道,将添加alpha通道的多张第一静态图片设为透明,并将设为透明的多张第一静态图片的尺寸设置为输出尺寸,以得到多张第二静态图片。
具体而言,对第一静态图片对应的图片矩阵对象增加alpha通道并设为透明,将设为透明的第一静态图片对应的图片矩阵对象的尺寸设置为输出尺寸,从而得到多张第二静态图片。
可以理解的是,待处理任务中的输出尺寸包含宽度和高度;在调整设为透明的第一静态图片的尺寸时,将设为透明的第一静态图片的宽度和高度设置为输出尺寸对应的宽度和高度,从而得到第二静态图片。
步骤S103:根据循环次数生成webp对象。
在具体实现步骤S103的过程中,根据循环次数,调用库函数创建一个webp对象。
需要说明的是,在生成webp对象后,对于每两张相邻的第二静态图片,需要通过以下步骤S104生成两张相邻的第二静态图片之间需要补充的补帧图片(补帧图片的数量为待处理任务中的补帧数量);再将两张相邻的第二静态图片及其对应的补帧图片添加到webp对象,以生成动态webp格式图片。例如:假设存在A和B两张第二静态图片;计算A和B之间需要补充的补帧图片,依序将A、补帧图片和B添加到webp对象后即可生成动态webp格式图片。
一些实施例中,可预先设定webp对象中每张第二静态图片和每张补帧图片的停留时间;具体而言,每张补帧图片的停留时间为m/n,n为补帧数量,m为两张相邻的第二静态图片的切换时长,第二静态图片的停留时间可以默认设置为m(也可以设置为其它数值)。例如:假设存在A和B两张第二静态图片;A转动切换至B的切换时长为1秒,A和B的停留时间可以默认设置为1秒,A和B之间的每张补帧图片的停留时长为1/n。
步骤S104:依序对每组第二静态图片执行补帧图生成步骤,以生成每组第二静态图片对应的补帧数量张补帧图片。
需要说明的是,由上述内容可知,多张第一静态图片已预先完成排序,故由多张第一静态图片生成的多张第二静态图片也已预先完成排序;每组第二静态图片包含两张相邻的第二静态图片;第一张第二静态图片和最后一张第二静态图片相邻。例如:A、B和C分别为第一张第二静态图片、第二张第二静态图片和第三张第二静态图片;此时可划分得到三组第二静态图片,该三组第二静态图片分别为:(A,B)、(B,C)和(C,A)。
在具体实现步骤S104的过程中,对于每一组第二静态图片,对该组第二静态图片执行补帧图生成步骤,以生成该组第二静态图片对应的补帧数量张补帧图片(n张补帧图片,n为补帧数量)。
需要说明的是,为使最终所生成的动态webp格式图片达到较好的观感,可使动态webp格式图片中的第二静态图片和补帧图片的转动速率符合三阶贝塞尔曲线,例如:在第二静态图片水平转动情况下,可使转动速率符合一条初始点为(0,0)、目标点为(1,1)、第一控制点为(0.33,0)和第二控制点为(0.66,1)的三阶贝塞尔曲线;因此可结合三阶贝塞尔函数方程来生成补帧图片,以下通过过程A1至A3来详细解释补帧图生成步骤的具体内容,即补帧图生成步骤包含以下过程A1至A3所示出的内容。
A1、利用第三静态图片和第四静态图片之间待生成的补帧图片的序号和补帧数量,确定每张待生成的补帧图片对应的贝塞尔曲线坐标,其中,第三静态图片和第四静态图片为两张相邻的第二静态图片,贝塞尔曲线坐标为贝塞尔曲线横坐标或贝塞尔曲线纵坐标。
需要说明的是,第三静态图片和第四静态图片之间待生成的补帧图片按1-n的序号进行排序,n为补帧数量。
在具体实现中,对于第三静态图片和第四静态图片之间的每一张待生成的补帧图片,利用该张待生成的补帧图片的序号和补帧数量,确定得到该张待生成的补帧图片对应的贝塞尔曲线坐标;一些实施例中,在第二静态图片水平转动情况下,前述所确定得到的贝塞尔曲线坐标为贝塞尔曲线横坐标;在第二静态图片竖直转动情况下,前述所确定得到的贝塞尔曲线坐标为贝塞尔曲线纵坐标。
例如:在第二静态图片水平转动情况下,假设补帧数量为n=10;第一张(序号为1)待生成的补帧图片对应的贝塞尔曲线横坐标为0.1(1/10),第二张待生成的补帧图片对应的贝塞尔曲线横坐标为0.2(2/10),第三张待生成的补帧图片对应的贝塞尔曲线横坐标为0.3(3/10),以此类推,计算得到每张待生成的补帧图片对应的贝塞尔曲线横坐标。
A2、利用每张待生成的补帧图片对应的贝塞尔曲线坐标和预设的三阶贝塞尔函数方程,计算与每张待生成的补帧图片对应的分界线位置,分界线位置为第三静态图片和第四静态图片的分界线的位置。
在具体实现中,对于每张待生成的补帧图片,利用该张待生成的补帧图片对应的贝塞尔曲线坐标,求解三阶贝塞尔函数方程以计算得到对应因变量,通过计算得到的因变量计算得到该张待生成的补帧图片对应的分界线位置(边界线在动态webp格式图片中的相对位置),该边界线位置可以表征为边界线占动态webp格式图片总长的比例;其中,在第二静态图片水平转动情况下,动态webp格式图片总长为动态webp格式图片的宽度,在第二静态图片竖直转动情况下,动态webp格式图片总长为动态webp格式图片的高度。
例如:第二静态图片水平转动情况下,对于某一张待生成的补帧图片,利用该张待生成的补帧图片对应的贝塞尔曲线横坐标x,求解三阶贝塞尔函数方程以求出因变量t,再利用因变量t求出贝塞尔曲线纵坐标y,该贝塞尔曲线纵坐标y即可作为该张待生成的补帧图片对应的边界线位置。
需要说明的是,补帧图片是由第三静态图片、第四静态图片和/或空白图片沿分界线拼接得到的;通过上述方式确定每张待生成的补帧图片对应的边界线位置,不同待生成的补帧图片对应的边界线位置不同;在播放动态webp格式图片中的静态图片和补帧图片时,能够使得随着帧数(补帧图片的帧数)的变化,分界线扫过的画布的比例变化符合三阶贝塞尔曲线,从而使得人眼感受到图片按照慢-快-慢的转动速率流畅转动,从而实现3D转动效果。
A3、针对每张待生成的补帧图片,将第三静态图片、第四静态图片和/或空白图片沿处于补帧图片对应的分界线位置的分界线进行拼接,以生成补帧图片。
需要说明的是,对于每张补帧图片,将第三静态图片、第四静态图片和/或空白图片沿处于该张补帧图片对应的分界线位置的分界线进行拼接,从而拼接得到该张补帧图片;即补帧图片由第三静态图片、第四静态图片和/或空白图片沿处于该张补帧图片对应的分界线位置的分界线进行拼接得到。
为使第三静态图片转动切换至第四静态图片的过程中实现3D效果,可按序播放第三静态图片、多张补帧图片和第四静态图片;在播放过程中,补帧图片相当于第三静态图片旋转至第四静态图片时中间状态的图像,分界线会随着播放帧数的变化而移动(不同补帧图片的分界线位置不同),从而实现第三静态图片转动切换至第四静态图片的3D转动效果。
例如:设第三静态图片转动切换至第四静态图片为水平顺时针转动,如图2(a)示出的第一帧图像,第一帧图像为第三静态图片(此时第三静态图片铺满画布,用户看不见第四静态图片),随之按序播放多张补帧图片;随着边界线的移动,如图2(b)所示出的中间帧图像(第一帧图像至最后一帧图像之间的图像),对于用户的视角而言,第三静态图片越来越远直至看不见,第四静态图片开始出现并越来越近,图2(b)中边界线两端超出画布(或者说可视区域);如图2(c)示出的最后一帧图像,最后一帧图像为第四静态图片(此时第四静态图片铺满画布,用户看不见第三静态图片)。值得说明的是,在实际播放过程中,第三静态图片和第四静态图片的内容会发生扭曲变形,故上述图2(a)至图2(c)所示出的内容仅用于示例说明。
在上述示例中,第三静态图片转动切换至第四静态图片为水平顺时针转动时,边界线左侧区域(下述涉及的第一侧区域)显示的内容为第三静态图片,边界线右侧区域(下述涉及的第二侧区域)显示的内容为第四静态图片;在播放补帧图片的过程中,某些补帧图片并未显示有第四静态图片的内容(即用户看不见第四静态图片),以及某些补帧图片中未显示有第三静态图片的内容(即用户看不见第三静态图片);因此,在生成某一张补帧图片时,需要根据边界线的第一侧区域和第二侧区域的边长,来确定将第三静态图片、第四静态图片和/或空白图片进行拼接以生成该补帧图片。以下具体解释如何生成补帧图片。
关于如何生成补帧图片的说明:
针对每张待生成的补帧图片,在处于该张补帧图片对应的分界线位置的分界线的第一侧区域和第二侧区域的边长均大于边长阈值的情况下,对第三静态图片和第四静态图片进行透视旋转(或者说扭曲变形)。将透视旋转后的第三静态图片和第四静态图片沿处于该张补帧图片对应的分界线位置的分界线进行拼接,以该张生成该补帧图片;在此种情况下,第三静态图片和第四静态图片共用一条边界线,或者说,第三静态图片和第四静态图片共用一条边。
其中,第一侧区域为用于显示第三静态图片或第一空白图片的区域,第二侧区域为用于显示第四静态图片或第二空白图片的区域。
也就是说,如果处于某一张补帧图片对应的分界线位置的分界线的第一侧区域和第二侧区域的边长均大于边长阈值,则表示该张补帧图片上用户可以同时看到第三静态图片和第四静态图片的内容;此时需要根据该分界线位置对第三静态图片和第四静态图片进行透视旋转,再将透视旋转后的第三静态图片和第四静态图片沿该分界线进行拼接,从而可生成该张补帧图。
针对每张待生成的补帧图片,在处于该张补帧图片对应的分界线位置的分界线的第二侧区域的边长小于边长阈值的情况下,对第三静态图片进行透视旋转;将透视旋转后的第三静态图片和第二空白图片沿处于该张补帧图片对应的分界线位置的分界线进行拼接,以生成该张补帧图片。
也就是说,如果处于某一张补帧图片对应的分界线位置的分界线的第二侧区域的边长小于边长阈值,则表示该张补帧图片上用户只能看到第三静态图片的内容,而看不到第四静态图片的内容;此时需要根据该分界线位置对第三静态图片进行透视旋转(第四静态图片不需要进行透视旋转),将透视旋转后的第三静态图片和第二空白图片沿该分界线进行拼接(第二侧区域留白),以生成该张补帧图片。
针对每张待生成的补帧图片,在处于该张补帧图片对应的分界线位置的分界线的第一侧区域的边长小于边长阈值的情况下,对第四静态图片进行透视旋转;将第一空白图片和透视旋转后的第四静态图片沿处于该张补帧图片对应的分界线位置的分界线进行拼接,以生成该张补帧图片。
也就是说,如果处于某一张补帧图片对应的分界线位置的分界线的第一侧区域的边长小于边长阈值,则表示该张补帧图片上用户只能看到第四静态图片的内容,而看不到第三静态图片的内容;此时需要根据该分界线位置对第四静态图片进行透视旋转(第三静态图片不需要进行透视旋转),将第一空白图片和透视旋转后的第四静态图片沿该分界线进行拼接(第一侧区域留白),以生成该张补帧图片。
需要说明的是,若第三静态图片和第四静态图片为水平旋转,第一侧区域为左侧区域,第二侧区域为右侧区域,第一侧区域和第二侧区域的边长为宽度;若第三静态图片和第四静态图片为竖直旋转,第一侧区域为上侧区域,第二侧区域为下侧区域,第一侧区域和第二侧区域的边长为高度。
例如:在第三静态图片和第四静态图片为水平旋转的情况下,如果处于某一张补帧图片对应的分界线位置的分界线的第二侧区域的宽度小于25,需要根据该分界线位置对第三静态图片进行透视旋转(第四静态图片不需要进行透视旋转),将透视旋转后的第三静态图片和第二空白图片沿该分界线进行拼接(第二侧区域留白),以生成该张补帧图片。
一些实施例中,在对第三静态图片和第四静态图片进行旋转透视时,可利用分界线两个顶点的顶点坐标,对第三静态图片和第四静态图片进行旋转透视,进行旋转透视的具体方式详见以下说明。
对第三静态图片进行透视旋转的过程:
利用预设的优化因子(一个常数因子),确定处于补帧图片对应的分界线位置的分界线的两个第一顶点的顶点坐标;根据补帧图片对应的分界线位置,确定第三静态图片相对于两个第一顶点的另外两个第二顶点的顶点坐标;根据两个第一顶点和两个第二顶点的顶点坐标,计算第一转换矩阵;利用第一转换矩阵对第三静态图片进行透视旋转。
可以理解的是,播放动态webp格式图片时,在旋转视觉上分界线的两个第一顶点是超出画布的,边界线超出画布多大比例可以由预设的优化因子决定;在利用优化因子计算边界线超出画布的长度之后,可以利用边界线超出画布的长度,计算分界线在拉伸后的两个第一顶点的顶点坐标。
第三静态图片相对于两个第一顶点的另外两个第二顶点具体是指:第三静态图片相对于边界线的另一条边的两个顶点。
由上述内容可知,边界线可以等同于第三静态图片的一条边,在计算得到两个第一顶点的顶点坐标和两个第二顶点的顶点坐标之后,可认为是重新计算得到第三静态图片四个顶点的顶点坐标。此时根据两个第一顶点和两个第二顶点的顶点坐标,利用getPerspectiveTransform函数求得第一转换矩阵;利用warpPerspective函数将第一转换矩阵应用到第三静态图片对应的图片矩阵对象上,即可完成对第三静态图片的透视旋转。
对第四静态图片进行透视旋转的过程:
利用预设的优化因子,确定处于补帧图片对应的分界线位置的分界线的两个第一顶点的顶点坐标;根据补帧图片对应的分界线位置,确定第四静态图片相对于两个第一顶点的另外两个第三顶点的顶点坐标;根据两个第一顶点和两个第三顶点的顶点坐标,计算第二转换矩阵;利用第二转换矩阵对第四静态图片进行透视旋转。对第四静态图片进行透视旋转的具体内容,详见上述关于对第三静态图片进行透视旋转的解释说明,在此不再赘述。
步骤S105:依序将每组第二静态图片及其对应的补帧数量张补帧图片添加至webp对象中,以生成动态webp格式图片。
需要说明的是,webp对象中每张第二静态图片和每张补帧图片的停留时间为预先设定。
在具体实现步骤S105的过程中,对于任意一组第二静态图片,将该任意一组第二静态图片中的第一帧第二静态图片添加至webp对象;将该任意一组第二静态图片对应的补帧数量张补帧图片依序添加至webp对象;将该任意一组第二静态图片中的第二帧第二静态图片添加至webp对象。在将每组第二静态图片及其对应的补帧数量张补帧图片添加至webp对象中之后,将webp对象写入webp格式文件中即可生成动态webp格式图片。需要说明的是,所生成的动态webp格式图片不包含重复的第二静态图片,即对于相同的第二静态图片,只需要添加一张第二静态图片至webp对象即可。
按照组序,依序将每组第二静态图片及其对应的补帧数量张补帧图片添加至webp对象中;之后再将webp对象写入webp格式文件中,即可生成最终的动态webp格式图片。
例如:设A、B和C分别为第一张第二静态图片、第二张第二静态图片和第三张第二静态图片;此时存在三组第二静态图片,该三组第二静态图片分别为:(A,B)、(B,C)和(C,A)。首先,先将A添加至webp对象,并依序将A和B之间的补帧图片添加至webp对象,再将B添加至webp对象;其次,依序将B和C之间的补帧图片添加至webp对象,再将C添加至webp对象;最后,将C和A之间的补帧图片添加至webp对象,并将webp对象写入webp格式文件中以生成动态webp格式图片。将该动态webp格式图片中的图片顺序播放,可以实现万花筒动效,在播放过程中,A和B之间的补帧图片,相当于A旋转至B时中间状态的图像,起到了补帧作用;B和C之间的补帧图片同理,C和A之间的补帧图片也同理。
优选的,在生成动态webp格式图片后,可将所生成的动态webp格式图片上传至内容分发网络(Content Delivery Network,CDN)中,用户可以在CDN中预览和下载所生成的动态webp格式图片。
在本发明实施例中,可利用待处理任务中的多张静态图片自动生成补帧图片,并将静态图片和补帧图片添加至webp对象以生成动态webp格式图片。不需要用户逐帧制作补帧图片,降低动态webp格式图片的制作难度和制作成本。
与上述本发明实施例提供的一种生成动态webp格式图片的方法相对应,参见图3,本发明实施例还提供了一种生成动态webp格式图片的装置的结构框图,该装置包括:获取单元301、设置单元302、生成单元303、执行单元304和添加单元305;
获取单元301,用于获取用于生成动态webp格式图片的待处理任务,待处理任务中至少包含:多张第一静态图片、补帧数量、输出尺寸和循环次数。
设置单元302,用于将多张第一静态图片设为透明以及将多张第一静态图片的尺寸设置为输出尺寸,以得到多张第二静态图片。
一些实施例中,设置单元302具体用于:对多张第一静态图片添加alpha通道;将添加alpha通道的多张第一静态图片设为透明,并将设为透明的多张第一静态图片的尺寸设置为所述输出尺寸,以得到多张第二静态图片。
生成单元303,用于根据循环次数生成webp对象。
执行单元304,用于依序对每组第二静态图片执行以下补帧图生成步骤,以生成每组所述第二静态图片对应的补帧数量张补帧图片;其中,每组第二静态图片包含两张相邻的第二静态图片;第一张第二静态图片和最后一张第二静态图片相邻。
补帧图生成步骤包括:
利用第三静态图片和第四静态图片之间待生成的所述补帧图片的序号和补帧数量,确定每张待生成的补帧图片对应的贝塞尔曲线坐标,其中,第三静态图片和第四静态图片为两张相邻的第二静态图片,贝塞尔曲线坐标为贝塞尔曲线横坐标或贝塞尔曲线纵坐标;
利用每张待生成的补帧图片对应的贝塞尔曲线坐标和预设的三阶贝塞尔函数方程,计算与每张待生成的补帧图片对应的分界线位置,分界线位置为第三静态图片和第四静态图片的分界线的位置;
针对每张待生成的补帧图片,将第三静态图片、第四静态图片和/或空白图片沿处于补帧图片对应的分界线位置的分界线进行拼接,以生成补帧图片。
添加单元305,用于依序将每组第二静态图片及其对应的补帧数量张补帧图片添加至webp对象中,以生成动态webp格式图片,其中,webp对象中每张第二静态图片和每张补帧图片的停留时间为预先设定。
一些实施例中,将每组第二静态图片及其对应的补帧数量张补帧图片添加至webp对象中的添加单元305,具体用于:对于任意一组第二静态图片,将任意一组第二静态图片中的第一帧第二静态图片添加至webp对象;将该任意一组第二静态图片对应的补帧数量张补帧图片依序添加至webp对象;将该任意一组第二静态图片中的第二帧第二静态图片添加至webp对象。
一些实施例中,当执行单元304执行步骤:针对每张待生成的补帧图片,将第三静态图片、第四静态图片和/或空白图片沿处于补帧图片对应的分界线位置的分界线进行拼接,以生成补帧图片;执行单元304具体用于:针对每张待生成的补帧图片,在处于补帧图片对应的分界线位置的分界线的第一侧区域和第二侧区域的边长均大于边长阈值的情况下,对第三静态图片和第四静态图片进行透视旋转,其中,第一侧区域为用于显示第三静态图片或第一空白图片的区域,第二侧区域为用于显示第四静态图片或第二空白图片的区域;
将透视旋转后的第三静态图片和所述第四静态图片沿处于补帧图片对应的分界线位置的分界线进行拼接,以生成补帧图片;
在第二侧区域的边长小于边长阈值的情况下,对第三静态图片进行透视旋转;
将透视旋转后的第三静态图片和第二空白图片沿处于补帧图片对应的分界线位置的分界线进行拼接,以生成补帧图片;
在第一侧区域的边长小于边长阈值的情况下,对第四静态图片进行透视旋转;
将第一空白图片和透视旋转后的第四静态图片沿处于补帧图片对应的分界线位置的分界线进行拼接,以生成补帧图片;
其中,若第三静态图片和第四静态图片为水平旋转,第一侧区域为左侧区域,第二侧区域为右侧区域,第一侧区域和第二侧区域的边长为宽度;若第三静态图片和第四静态图片为竖直旋转,第一侧区域为上侧区域,第二侧区域为下侧区域,第一侧区域和第二侧区域的边长为高度。
一些实施例中,对第三静态图片进行透视旋转的执行单元304,具体用于:利用预设的优化因子,确定处于补帧图片对应的分界线位置的分界线的两个第一顶点的顶点坐标;根据补帧图片对应的分界线位置,确定第三静态图片相对于两个第一顶点的另外两个第二顶点的顶点坐标;根据两个第一顶点和两个第二顶点的顶点坐标,计算第一转换矩阵;利用第一转换矩阵对第三静态图片进行透视旋转。
一些实施例中,对第四静态图片进行透视旋转的执行单元304,具体用于:利用预设的优化因子,确定处于补帧图片对应的分界线位置的分界线的两个第一顶点的顶点坐标;根据补帧图片对应的分界线位置,确定第四静态图片相对于两个第一顶点的另外两个第三顶点的顶点坐标;根据两个第一顶点和两个第三顶点的顶点坐标,计算第二转换矩阵;利用第二转换矩阵对第四静态图片进行透视旋转。
综上所述,本发明实施例提供一种生成动态webp格式图片的方法及装置,可利用待处理任务中的多张静态图片自动生成补帧图片,并将静态图片和补帧图片添加至webp对象以生成动态webp格式图片。不需要用户逐帧制作补帧图片,降低动态webp格式图片的制作难度和制作成本。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种生成动态webp格式图片的方法,其特征在于,所述方法包括:
获取用于生成动态webp格式图片的待处理任务,所述待处理任务中至少包含:多张第一静态图片、补帧数量、输出尺寸和循环次数;
将多张所述第一静态图片设为透明以及将多张所述第一静态图片的尺寸设置为所述输出尺寸,以得到多张第二静态图片;
根据所述循环次数生成webp对象;
依序对每组所述第二静态图片执行以下补帧图生成步骤,以生成每组所述第二静态图片对应的所述补帧数量张补帧图片;其中,每组所述第二静态图片包含两张相邻的所述第二静态图片;第一张所述第二静态图片和最后一张所述第二静态图片相邻;
依序将每组所述第二静态图片及其对应的所述补帧数量张补帧图片添加至所述webp对象中,以生成所述动态webp格式图片,其中,所述webp对象中每张所述第二静态图片和每张所述补帧图片的停留时间为预先设定;
所述补帧图生成步骤包括:
利用第三静态图片和第四静态图片之间待生成的所述补帧图片的序号和所述补帧数量,确定每张待生成的所述补帧图片对应的贝塞尔曲线坐标,其中,所述第三静态图片和所述第四静态图片为两张相邻的所述第二静态图片,所述贝塞尔曲线坐标为贝塞尔曲线横坐标或贝塞尔曲线纵坐标;
利用每张待生成的所述补帧图片对应的贝塞尔曲线坐标和预设的三阶贝塞尔函数方程,计算与每张待生成的所述补帧图片对应的分界线位置,所述分界线位置为所述第三静态图片和所述第四静态图片的分界线的位置;
针对每张待生成的所述补帧图片,将所述第三静态图片、所述第四静态图片和/或空白图片沿处于所述补帧图片对应的分界线位置的分界线进行拼接,以生成所述补帧图片。
2.根据权利要求1所述的方法,其特征在于,针对每张待生成的所述补帧图片,将所述第三静态图片、所述第四静态图片和/或空白图片沿处于所述补帧图片对应的分界线位置的分界线进行拼接,以生成所述补帧图片,包括:
针对每张待生成的所述补帧图片,在处于所述补帧图片对应的分界线位置的分界线的第一侧区域和第二侧区域的边长均大于边长阈值的情况下,对所述第三静态图片和第四静态图片进行透视旋转,其中,所述第一侧区域为用于显示所述第三静态图片或第一空白图片的区域,所述第二侧区域为用于显示所述第四静态图片或第二空白图片的区域;
将透视旋转后的所述第三静态图片和所述第四静态图片沿处于所述补帧图片对应的分界线位置的分界线进行拼接,以生成所述补帧图片;
在所述第二侧区域的边长小于所述边长阈值的情况下,对所述第三静态图片进行透视旋转;
将透视旋转后的所述第三静态图片和所述第二空白图片沿处于所述补帧图片对应的分界线位置的分界线进行拼接,以生成所述补帧图片;
在所述第一侧区域的边长小于所述边长阈值的情况下,对所述第四静态图片进行透视旋转;
将所述第一空白图片和透视旋转后的所述第四静态图片沿处于所述补帧图片对应的分界线位置的分界线进行拼接,以生成所述补帧图片;
其中,若所述第三静态图片和所述第四静态图片为水平旋转,所述第一侧区域为左侧区域,所述第二侧区域为右侧区域,所述第一侧区域和所述第二侧区域的边长为宽度;若所述第三静态图片和所述第四静态图片为竖直旋转,所述第一侧区域为上侧区域,所述第二侧区域为下侧区域,所述第一侧区域和所述第二侧区域的边长为高度。
3.根据权利要求2所述的方法,其特征在于,对所述第三静态图片进行透视旋转的过程,包括:
利用预设的优化因子,确定处于所述补帧图片对应的分界线位置的分界线的两个第一顶点的顶点坐标;
根据所述补帧图片对应的分界线位置,确定所述第三静态图片相对于两个所述第一顶点的另外两个第二顶点的顶点坐标;
根据两个所述第一顶点和两个所述第二顶点的顶点坐标,计算第一转换矩阵;
利用所述第一转换矩阵对所述第三静态图片进行透视旋转。
4.根据权利要求2所述的方法,其特征在于,对所述第四静态图片进行透视旋转的过程,包括:
利用预设的优化因子,确定处于所述补帧图片对应的分界线位置的分界线的两个第一顶点的顶点坐标;
根据所述补帧图片对应的分界线位置,确定所述第四静态图片相对于两个所述第一顶点的另外两个第三顶点的顶点坐标;
根据两个所述第一顶点和两个所述第三顶点的顶点坐标,计算第二转换矩阵;
利用所述第二转换矩阵对所述第四静态图片进行透视旋转。
5.根据权利要求1所述的方法,其特征在于,将多张所述第一静态图片设为透明以及将多张所述第一静态图片的尺寸设置为所述输出尺寸,以得到多张第二静态图片,包括:
对多张所述第一静态图片添加alpha通道;
将添加alpha通道的多张所述第一静态图片设为透明,并将设为透明的多张所述第一静态图片的尺寸设置为所述输出尺寸,以得到多张第二静态图片。
6.根据权利要求1所述的方法,其特征在于,将每组所述第二静态图片及其对应的所述补帧数量张补帧图片添加至所述webp对象中的过程,包括:
对于任意一组第二静态图片,将所述任意一组第二静态图片中的第一帧第二静态图片添加至所述webp对象;
将所述任意一组第二静态图片对应的所述补帧数量张补帧图片依序添加至所述webp对象;
将所述任意一组第二静态图片中的第二帧第二静态图片添加至所述webp对象。
7.一种生成动态webp格式图片的装置,其特征在于,所述装置包括:
获取单元,用于获取用于生成动态webp格式图片的待处理任务,所述待处理任务中至少包含:多张第一静态图片、补帧数量、输出尺寸和循环次数;
设置单元,用于将多张所述第一静态图片设为透明以及将多张所述第一静态图片的尺寸设置为所述输出尺寸,以得到多张第二静态图片;
生成单元,用于根据所述循环次数生成webp对象;
执行单元,用于依序对每组所述第二静态图片执行以下补帧图生成步骤,以生成每组所述第二静态图片对应的所述补帧数量张补帧图片;其中,每组所述第二静态图片包含两张相邻的所述第二静态图片;第一张所述第二静态图片和最后一张所述第二静态图片相邻;
添加单元,用于依序将每组所述第二静态图片及其对应的所述补帧数量张补帧图片添加至所述webp对象中,以生成所述动态webp格式图片,其中,所述webp对象中每张所述第二静态图片和每张所述补帧图片的停留时间为预先设定;
所述补帧图生成步骤包括:
利用第三静态图片和第四静态图片之间待生成的所述补帧图片的序号和所述补帧数量,确定每张待生成的所述补帧图片对应的贝塞尔曲线坐标,其中,所述第三静态图片和所述第四静态图片为两张相邻的所述第二静态图片,所述贝塞尔曲线坐标为贝塞尔曲线横坐标或贝塞尔曲线纵坐标;
利用每张待生成的所述补帧图片对应的贝塞尔曲线坐标和预设的三阶贝塞尔函数方程,计算与每张待生成的所述补帧图片对应的分界线位置,所述分界线位置为所述第三静态图片和所述第四静态图片的分界线的位置;
针对每张待生成的所述补帧图片,将所述第三静态图片、所述第四静态图片和/或空白图片沿处于所述补帧图片对应的分界线位置的分界线进行拼接,以生成所述补帧图片。
8.根据权利要求7所述的装置,其特征在于,当所述执行单元执行所述步骤:针对每张待生成的所述补帧图片,将所述第三静态图片、所述第四静态图片和/或空白图片沿处于所述补帧图片对应的分界线位置的分界线进行拼接,以生成所述补帧图片;所述执行单元具体用于:
针对每张待生成的所述补帧图片,在处于所述补帧图片对应的分界线位置的分界线的第一侧区域和第二侧区域的边长均大于边长阈值的情况下,对所述第三静态图片和第四静态图片进行透视旋转,其中,所述第一侧区域为用于显示所述第三静态图片或第一空白图片的区域,所述第二侧区域为用于显示所述第四静态图片或第二空白图片的区域;
将透视旋转后的所述第三静态图片和所述第四静态图片沿处于所述补帧图片对应的分界线位置的分界线进行拼接,以生成所述补帧图片;
在所述第二侧区域的边长小于所述边长阈值的情况下,对所述第三静态图片进行透视旋转;
将透视旋转后的所述第三静态图片和所述第二空白图片沿处于所述补帧图片对应的分界线位置的分界线进行拼接,以生成所述补帧图片;
在所述第一侧区域的边长小于所述边长阈值的情况下,对所述第四静态图片进行透视旋转;
将所述第一空白图片和透视旋转后的所述第四静态图片沿处于所述补帧图片对应的分界线位置的分界线进行拼接,以生成所述补帧图片;
其中,若所述第三静态图片和所述第四静态图片为水平旋转,所述第一侧区域为左侧区域,所述第二侧区域为右侧区域,所述第一侧区域和所述第二侧区域的边长为宽度;若所述第三静态图片和所述第四静态图片为竖直旋转,所述第一侧区域为上侧区域,所述第二侧区域为下侧区域,所述第一侧区域和所述第二侧区域的边长为高度。
9.根据权利要求7所述的装置,其特征在于,所述设置单元具体用于:对多张所述第一静态图片添加alpha通道;将添加alpha通道的多张所述第一静态图片设为透明,并将设为透明的多张所述第一静态图片的尺寸设置为所述输出尺寸,以得到多张第二静态图片。
10.根据权利要求7所述的装置,其特征在于,将每组所述第二静态图片及其对应的所述补帧数量张补帧图片添加至所述webp对象中的所述添加单元,具体用于:对于任意一组第二静态图片,将所述任意一组第二静态图片中的第一帧第二静态图片添加至所述webp对象;将所述任意一组第二静态图片对应的所述补帧数量张补帧图片依序添加至所述webp对象;将所述任意一组第二静态图片中的第二帧第二静态图片添加至所述webp对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210438975.7A CN114549712B (zh) | 2022-04-25 | 2022-04-25 | 一种生成动态webp格式图片的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210438975.7A CN114549712B (zh) | 2022-04-25 | 2022-04-25 | 一种生成动态webp格式图片的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114549712A CN114549712A (zh) | 2022-05-27 |
CN114549712B true CN114549712B (zh) | 2022-07-12 |
Family
ID=81667626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210438975.7A Active CN114549712B (zh) | 2022-04-25 | 2022-04-25 | 一种生成动态webp格式图片的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114549712B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9117409D0 (en) * | 1991-08-12 | 1991-09-25 | Cambridge Animation Syst | Animation |
US5377320A (en) * | 1992-09-30 | 1994-12-27 | Sun Microsystems, Inc. | Method and apparatus for the rendering of trimmed nurb surfaces |
US6208360B1 (en) * | 1997-03-10 | 2001-03-27 | Kabushiki Kaisha Toshiba | Method and apparatus for graffiti animation |
CN106686452A (zh) * | 2016-12-29 | 2017-05-17 | 北京奇艺世纪科技有限公司 | 一种动态图片的生成方法及装置 |
CN109327698A (zh) * | 2018-11-09 | 2019-02-12 | 杭州网易云音乐科技有限公司 | 动态预览图的生成方法、系统、介质和电子设备 |
CN113393562A (zh) * | 2021-06-16 | 2021-09-14 | 黄淮学院 | 基于视觉传达的动画中间画智能生成方法及系统 |
CN113556461A (zh) * | 2020-09-29 | 2021-10-26 | 华为技术有限公司 | 一种图像处理方法及相关装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100592341C (zh) * | 2007-09-24 | 2010-02-24 | 腾讯科技(深圳)有限公司 | 一种图片的处理方法及处理系统 |
WO2015100518A1 (en) * | 2013-12-31 | 2015-07-09 | Google Inc. | Systems and methods for converting static image online content to dynamic online content |
US10297227B2 (en) * | 2015-10-16 | 2019-05-21 | Sap Se | Dynamically-themed display utilizing physical ambient conditions |
-
2022
- 2022-04-25 CN CN202210438975.7A patent/CN114549712B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9117409D0 (en) * | 1991-08-12 | 1991-09-25 | Cambridge Animation Syst | Animation |
US5377320A (en) * | 1992-09-30 | 1994-12-27 | Sun Microsystems, Inc. | Method and apparatus for the rendering of trimmed nurb surfaces |
US6208360B1 (en) * | 1997-03-10 | 2001-03-27 | Kabushiki Kaisha Toshiba | Method and apparatus for graffiti animation |
CN106686452A (zh) * | 2016-12-29 | 2017-05-17 | 北京奇艺世纪科技有限公司 | 一种动态图片的生成方法及装置 |
CN109327698A (zh) * | 2018-11-09 | 2019-02-12 | 杭州网易云音乐科技有限公司 | 动态预览图的生成方法、系统、介质和电子设备 |
CN113556461A (zh) * | 2020-09-29 | 2021-10-26 | 华为技术有限公司 | 一种图像处理方法及相关装置 |
CN113393562A (zh) * | 2021-06-16 | 2021-09-14 | 黄淮学院 | 基于视觉传达的动画中间画智能生成方法及系统 |
Non-Patent Citations (1)
Title |
---|
基于矢量图的具有动态效果的漫画存储格式的研究与设计;张攀等;《计算机与现代化》;20100415(第04期);65-67 * |
Also Published As
Publication number | Publication date |
---|---|
CN114549712A (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10585283B2 (en) | Head mounted display and control method therefor | |
US20200358996A1 (en) | Real-time aliasing rendering method for 3d vr video and virtual three-dimensional scene | |
WO2018086295A1 (zh) | 一种应用界面显示方法及装置 | |
CN106527857A (zh) | 一种基于虚拟现实的全景视频交互方法 | |
US20110181606A1 (en) | Automatic and semi-automatic generation of image features suggestive of motion for computer-generated images and video | |
CN108965847A (zh) | 一种全景视频数据的处理方法及装置 | |
CN103247064B (zh) | 一种三维动态图形的生成方法、装置和移动终端 | |
CN107358659B (zh) | 基于3d技术的多画面融合显示方法及存储设备 | |
PT1527599E (pt) | Processo e sistema que permite a um utilizador misturar em tempo real imagens de sintese com imagens de vídeo | |
CN114745598A (zh) | 视频数据展示方法、装置、电子设备及存储介质 | |
CN101189643A (zh) | 3d图像生成和显示系统 | |
JP2020504537A (ja) | デジタル静止画像へのモーション効果の追加 | |
CN104168315A (zh) | 一种全视角平滑的沉浸式显示方法和系统 | |
CN111355944A (zh) | 生成并用信号传递全景图像之间的转换 | |
US8913065B2 (en) | Computer system for animating 3D models using offset transforms | |
JP3538263B2 (ja) | 画像生成方法 | |
CN113206993A (zh) | 一种调整显示屏幕的方法及显示设备 | |
EP2961503B1 (en) | Method for reproducing an item of audiovisual content having haptic actuator control parameters and device implementing the method | |
CN114549712B (zh) | 一种生成动态webp格式图片的方法及装置 | |
JP2024502273A (ja) | 時間的中心窩レンダリング | |
JP2020530218A (ja) | 没入型視聴覚コンテンツを投影する方法 | |
CN116458153A (zh) | 双凸透镜图像生成 | |
CN112991146A (zh) | 一种自动特效生成系统及方法 | |
US11423516B2 (en) | Gaze enhanced natural motion blur | |
JP2023504368A (ja) | 静止画内のステレオスプラッシュスクリーンのエンコーディング |
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 |