一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

视频过渡方法、装置、计算机设备、存储介质与流程

2022-06-30 01:13:32 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别是涉及一种视频过渡方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.随着计算机技术以及互联网技术的发展,媒体数据播放在不同业务场景的应用落地,使得各种类型的媒体数据广受大众关注。由于采集视频数据时各种特殊状况层出不穷,因此需要对采集到多个视频片段进行视频过渡处理,最终得到完整的一段视频。
3.然而,目前的视频过渡方式中,通常使用基于随机视频预测的视频过渡方法,可以生成任意长度的过渡视频,由于视频的结尾帧对过渡视频生成的约束较差,在生成较多帧数的过渡视频时,存在空间分辨率低或动作过渡不够自然的问题,导致生成的过渡视频的质量较差。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够有效提高过渡视频生成质量的视频过渡方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
5.第一方面,本技术提供了一种视频过渡方法。所述方法包括:获取待拼接的视频片段序列;所述视频片段序列内每相邻的视频片段作为一组,各视频片段组内的视频片段之间对象行为不连续;依次确定各所述视频片段组中的视频片段的片段相似分值;基于所述片段相似分值确定各所述视频片段组需插入的过渡帧数;基于各所述视频片段组中的视频片段和所述过渡帧数,生成各所述视频片段组的过渡帧图片;将各所述视频片段组中的视频片段与对应的所述过渡帧图片进行拼接。
6.第二方面,本技术还提供了一种视频过渡装置。所述装置包括:获取模块,用于获取待拼接的视频片段序列;所述视频片段序列内每相邻的视频片段作为一组,各视频片段组内的视频片段之间对象行为不连续;确定模块,用于依次确定各所述视频片段组中的视频片段的片段相似分值;基于所述片段相似分值确定各所述视频片段组需插入的过渡帧数;生成模块,用于基于各所述视频片段组中的视频片段和所述过渡帧数,生成各所述视频片段组的过渡帧图片;拼接模块,用于将各所述视频片段组中的视频片段与对应的所述过渡帧图片进行拼接。
7.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取待拼接的视频片段序列;所述视频片段序列内每相邻的视频片段作为一组,各视频片段组内的视频片段之间对象行为不连续;依次确定各所述视频片段组中的视频片段的片段相似分值;基于所述片段相似分值确定各所述视频片段组需插入的过渡帧数;基于各所述视频片段组中的视频片段和所述过渡帧数,生成各所述视频片段组的过渡帧图片;将各所述视频片段组中的视频片段与对应的所述过渡帧图片进行拼接。
8.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取待拼接的视频片段序列;所述视频片段序列内每相邻的视频片段作为一组,各视频片段组内的视频片段之间对象行为不连续;依次确定各所述视频片段组中的视频片段的片段相似分值;基于所述片段相似分值确定各所述视频片段组需插入的过渡帧数;基于各所述视频片段组中的视频片段和所述过渡帧数,生成各所述视频片段组的过渡帧图片;将各所述视频片段组中的视频片段与对应的所述过渡帧图片进行拼接。
9.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:获取待拼接的视频片段序列;所述视频片段序列内每相邻的视频片段作为一组,各视频片段组内的视频片段之间对象行为不连续;依次确定各所述视频片段组中的视频片段的片段相似分值;基于所述片段相似分值确定各所述视频片段组需插入的过渡帧数;基于各所述视频片段组中的视频片段和所述过渡帧数,生成各所述视频片段组的过渡帧图片;将各所述视频片段组中的视频片段与对应的所述过渡帧图片进行拼接。
10.上述视频过渡方法、装置、计算机设备、存储介质和计算机程序产品,通过获取待拼接的视频片段序列;视频片段序列内每相邻的视频片段作为一组,各视频片段组内的视频片段之间对象行为不连续;依次确定各视频片段组中的视频片段的片段相似分值;基于片段相似分值确定各视频片段组需插入的过渡帧数;基于各视频片段组中的视频片段和过渡帧数,生成各视频片段组的过渡帧图片;将各视频片段组中的视频片段与对应的过渡帧图片进行拼接。由于将待拼接的视频片段序列内每相邻的视频片段作为一组,并依次确定各视频片段组中的视频片段的片段相似分值,故基于每个视频片段组所对应的片段相似分值可以确定各视频片段组需插入的自适应的最优过渡帧数,从而可以基于各视频片段组中的视频片段和自适应的最优过渡帧数,生成各视频片段组所对应的最佳数量的过渡帧图片,并将各视频片段组中的视频片段与得到的最佳数量的过渡帧图片进行拼接,实现了多段非连续的视频片段不仅能够完整的合成为一段连贯、无动作跳变的视频,也能够自适应的挑选动作并计算最佳插入帧数,以达到最佳的视觉效果,有效提高了过渡视频生成质量。
附图说明
11.图1为一个实施例中视频过渡方法的应用环境图;
12.图2为一个实施例中视频过渡方法的流程示意图;
13.图3为一个实施例中基于片段相似分值确定各视频片段组需插入的过渡帧数步骤的流程示意图;
14.图4为一个实施例中帧合成网络的结构示意图;
15.图5为一个实施例中基于插帧的自适应视频过渡方法的流程图;
16.图6为一个实施例中多帧过渡图片生成的算法流程示意图;
17.图7为一个实施例中p2pvg生成的过渡帧图片示意图;
18.图8为一个实施例中基于插帧的自适应视频过渡方法所生成的过渡帧图片示意图;
19.图9为一个实施例中视频过渡装置的结构框图;
20.图10为一个实施例中计算机设备的内部结构图。
具体实施方式
21.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
22.本技术实施例提供的视频过渡方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。服务器104可以获取终端102上传的待拼接的视频片段序列,服务器104也可以从数据库中获取待拼接的视频片段序列,视频片段序列内每相邻的视频片段作为一组,各视频片段组内的视频片段之间对象行为不连续;服务器104依次确定各视频片段组中的视频片段的片段相似分值,并基于片段相似分值确定各视频片段组需插入的过渡帧数;服务器104基于各视频片段组中的视频片段和过渡帧数,生成各视频片段组的过渡帧图片,并将各视频片段组中的视频片段与对应的过渡帧图片进行拼接。
23.其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。
24.服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现,可以理解,本技术实施例提供的服务器104也可以是区块链系统中的服务节点,该区块链系统中的各服务节点之间形成组成点对点(p2p,peer to peer)网络,p2p协议是一个运行在传输控制协议(tcp,transmission control protocol)协议之上的应用层协议。
25.计算机视觉技术(computer vision,cv)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、记录和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、ocr、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建、自动驾驶、智慧交通等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
26.随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、车联网、自动驾驶、智慧交通等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
27.机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式
教学习等技术。
28.深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。
29.在一个实施例中,如图2所示,提供了一种视频过渡方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
30.步骤202,获取待拼接的视频片段序列;视频片段序列内每相邻的视频片段作为一组,各视频片段组内的视频片段之间对象行为不连续。
31.其中,待拼接的视频片段序列是指一个完整的视频中所包含的各个视频片段构成的序列,例如,采集得到的3个视频片段分别为视频片段1、视频片段2和视频片段3,则按照预设的播放顺序,将视频片段1、视频片段2和视频片段3进行拼接,得到完整的一段视频a。
32.对象行为是指采集的视频片段中的对象的各种行为,例如,对象行为可以包括肢体动作,肢体动作又可以包括手势动作、舞蹈动作等。
33.对象行为不连续是指对象的行为不相同,例如,视频片段1和视频片段2为相邻的视频片段,其中,视频片段1中目标对象为手势动作为“ok”,视频片段2中目标对象为手势动作为“比心”,即相邻的视频片段中的对象行为不连续。
34.具体的,终端设备中安装有摄像头,终端可以通过摄像头采集各种场景下的视频片段序列,并上传至服务器。或者服务器与其他设备具有关联关系,则服务器可以获取其他设备采集的待拼接的视频片段序列。例如,服务器与某个车辆具有关联关系,则服务器可以获取目标车辆在行车道路上采集的视频片段序列,这里对服务器获取待拼接的视频片段序列的方式不做具体的限定,还可以采用其他的获取方式。其中,视频片段序列可以为实时采集的视频片段序列,也可以为已采集的待处理的视频片段序列,例如,服务器可以将原视频片段序列进行裁剪等预处理后,将预处理后的各个视频片段作为待拼接的视频片段序列。
35.例如,以对象行为为手势动作为例进行举例说明。假设服务器获取到的待拼接的视频片段序列包含3个待拼接的视频片段分别为视频片段a、视频片段b以及视频片段c,并且每两个相邻的视频片段之间的对象行为不连续,即视频片段a和视频片段b为相邻的两个视频片段作为一组,视频片段b和视频片段c为相邻的两个视频片段作为一组,视频片段a中尾帧图片中对象的手势动作与视频片段b中首帧图片中对象的手势动作不一致、视频片段b中尾帧图片中对象的手势动作与视频片段c中首帧图片中对象的手势动作不一致,即各视频片段组内相邻视频片段中的对象的手势动作不连续,因此需要在视频片段a中的尾帧图片与视频片段b中的首帧图片之间、以及视频片段b中的尾帧图片与视频片段c中的首帧图片之间分别插入适量帧数的过渡帧图片,以使得最终合成的视频序列达到最佳的视觉效果。
36.步骤204,依次确定各视频片段组中的视频片段的片段相似分值。
37.其中,片段相似分值是指每两个相邻的视频片段之间的相似性分数,例如,视频片段a和视频片段b为相邻的两个视频片段,视频片段a和视频片段b之间的相似性分数为85%,即视频片段a和视频片段b之间的片段相似分值为85%。
38.具体的,服务器获取待拼接的视频片段序列之后,待拼接的视频片段序列中至少包含两个视频片段,服务器可以基于预设的相似度计算方式,依次确定各视频片段组中的视频片段之间的片段相似分值,即依次确定待拼接的视频片段序列中各相邻视频片段之间的片段相似分值。例如,服务器可以基于psnr相似度计算方式,依次计算各视频片段组中相邻视频片段的前后两帧之间的相似性分数,并将得到的各相邻视频片段的前后两帧之间的相似性分数储存在一个集合中。
39.例如,以对象行为为手势动作为例进行举例说明。假设服务器获取到的待拼接的视频片段序列包含3个待拼接的视频片段分别为视频片段a、视频片段b以及视频片段c,并且每两个相邻片段之间的对象行为不连续,即视频片段a和视频片段b为相邻的两个视频片段作为一组,视频片段b和视频片段c为相邻的两个视频片段作为一组,则服务器可以基于psnr相似度计算方式,计算视频片段a的尾帧图片中的对象手势动作与视频片段b的首帧图片中的对象手势动作之间的相似性分数,得到视频片段a的尾帧图片中的对象手势动作与视频片段b的首帧图片中的对象手势动作之间的相似性分数为s1,并将s1作为视频片段a和视频片段b之间的片段相似分值;进一步的,服务器基于psnr相似度计算方式,计算视频片段b的尾帧图片中的对象手势动作与视频片段c的首帧图片中的对象手势动作之间的相似性分数,得到视频片段b的尾帧图片中的对象手势动作与视频片段c的首帧图片中的对象手势动作之间的相似性分数为s2,并将s2作为视频片段b和视频片段c之间的片段相似分值,服务器可以将得到的相似性分数s1和s2存储在集合s中,以使得服务器可以从集合s中获取任意两个相邻视频片段之间的相似分值。
40.可以理解,本技术实施例中确定各视频片段组中相邻视频片段之间的片段相似分值的方式包括但不限于上述方式,还可以为其他自定义设置的方式,例如,使用ssim相似度计算方法。
41.步骤206,基于片段相似分值确定各视频片段组需插入的过渡帧数。
42.过渡帧数是指每两个相邻的视频片段之间所需插入的中间帧的数量,例如,视频片段a和视频片段b为相邻的两个视频片段作为一个视频片段组,假设基于片段相似分值确定视频片段a和视频片段b之间需插入的中间帧图片为3帧,即视频片段a和视频片段b之间需插入的过渡帧数为3。
43.具体的,服务器基于预设的相似度计算方式,依次确定各视频片段组中的视频片段之间的片段相似分值之后,服务器可以基于片段相似分值确定各视频片段组需插入的过渡帧数,即确定待拼接的视频片段序列中各相邻视频片段之间需插入的过渡帧数,例如,服务器可以基于当前视频片段组的片段相似分值、各视频片段组中的最大相似分值和最小相似分值,综合判断当前视频片段组需插入的过渡帧数。由于各视频片段组中相邻的两个视频片段之间的相似分值不同,因此服务器基于每个视频片段组的片段相似分值、各视频片段组中的最大相似分值和最小相似分值,最终确定的每个视频片段组需插入的过渡帧数也是不同的。
44.例如,以对象行为为手势动作为例进行举例说明。假设服务器获取到的待拼接的视频片段序列包含3个待拼接的视频片段分别为视频片段a、视频片段b以及视频片段c,并且每两个相邻片段之间的对象行为不连续,即视频片段a和视频片段b为相邻的两个视频片段作为一组,视频片段b和视频片段c为相邻的两个视频片段作为一组,则服务器可以基于
psnr相似度计算方式,依次确定各视频片段组中相邻视频片段之间的片段相似分值,假设服务器确定视频片段a的尾帧图片与视频片段b的首帧图片之间的相似性分数为s1、视频片段b的尾帧图片与视频片段c的首帧图片之间的相似性分数为s2,即确定第一个视频片段组中视频片段a与视频片段b之间的片段相似分值为s1,第二个视频片段组中视频片段b与视频片段c之间的片段相似分值为s2,则服务器可以获取所有视频片段组的片段相似分值中的最大值和最小值,进一步的,服务器可以基于第一个视频片段组中的视频片段的片段相似分值s1、最大片段相似分值和最小片段相似分值,确定第一个视频片段组中视频片段a与视频片段b之间需插入的过渡帧数;同时,服务器可以基于第二个视频片段组中的视频片段的片段相似分值s2、最大片段相似分值和最小片段相似分值,确定第二个视频片段组中视频片段b与视频片段c之间需插入的过渡帧数。
45.步骤208,基于各视频片段组中的视频片段和过渡帧数,生成各视频片段组的过渡帧图片。
46.其中,视频片段组是指视频片段序列内每相邻的两个视频片段作为一组,每个视频片段组中包含两个视频片段。例如,某视频片段组中包括视频片段a和视频片段b,则按照预连接的播放顺序,视频片段a为该组中第一个视频片段,视频片段b为该组中第二个视频片段。
47.过渡帧图片是指在原始帧之间合成的过渡动作的帧,过渡帧图片用于提高视频帧率,可用于慢动作、增强播放体验等任务。
48.各视频片段组的过渡帧图片是指每组中两个相邻的视频片段之间所需插入的过渡帧图片,例如,一组中包括视频片段a和视频片段b,则该组的过渡帧图片是指视频片段a和视频片段b之间需要插入的过渡帧图片。
49.具体的,服务器基于片段相似分值确定各视频片段组需插入的过渡帧数之后,针对每组中的相邻视频片段,服务器可以基于每个视频片段组中的第一个视频片段、第二个视频片段和过渡帧数,生成针对每个视频片段组的过渡帧图片。由于每个视频片段组的过渡帧数可以是不同的帧数,因此生成的针对每个视频片段组的过渡帧图片的数量也不同。其中,服务器可以基于每个视频片段组的第一个视频片段的尾帧图片、第二个视频片段的首帧图片合成针对每个视频片段组的过渡帧图片。比如,服务器将当前视频片段组中的第一个视频片段的尾帧图片和第二个视频片段的首帧图片输入训练好的用于生成过渡帧图片的神经网络模型中,输出得到当前视频片段组所对应的过渡帧图片。可以理解,本技术实施例中采用的生成过渡帧图片的方式包括但不限于采用神经网络模型的生成方式,还可以为其他的生成方式。
50.例如,以对象行为为手势动作为例进行举例说明。假设服务器获取到的待拼接的视频片段序列包含3个待拼接的视频片段分别为视频片段a、视频片段b以及视频片段c,并且每两个相邻的视频片段之间的对象的手势动作不连续,即视频片段a和视频片段b为相邻的两个视频片段作为一组,视频片段b和视频片段c为相邻的两个视频片段作为一组,假设服务器基于片段相似分值确定视频片段a的尾帧图片与视频片段b的首帧图片之间需插入的过渡帧数为2、视频片段b的尾帧图片与视频片段c的首帧图片之间需插入的过渡帧数为4,则服务器可以针对每个视频片段组的相邻视频片段,即服务器可以基于第一个视频片段组中视频片段a的尾帧图片、视频片段b的首帧图片,以及视频片段a与视频片段b之间需插
入的过渡帧数2,生成第一个视频片段组中视频片段a和视频片段b之间需要插入的2帧过渡帧图片。进一步的,服务器可以基于第二个视频片段组中视频片段b的尾帧图片、视频片段c的首帧图片,以及视频片段b与视频片段c之间需插入的过渡帧数4,生成第二个视频片段组中视频片段b和视频片段c之间需要插入的4帧过渡帧图片。
51.步骤210,将各视频片段组中的视频片段与对应的过渡帧图片进行拼接。将每组的视频片段与关联的过渡帧图片进行拼接。
52.其中,对应的过渡帧图片是指与每个视频片段组对应的过渡帧图片,即每个视频片段组中的两个视频片段之间需要插入的过渡帧图片与该视频片段组具有关联关系,例如,服务器可以获取到与视频片段a、视频片段b具有关联关系的过渡帧图片有2帧,2帧过渡帧图片对应的标识分别为ab1和ab2。
53.具体的,服务器基于各视频片段组中的视频片段和过渡帧数,生成各视频片段组的过渡帧图片之后,服务器可以将各视频片段组中的视频片段与对应的过渡帧图片进行拼接,即服务器将每个视频片段组中的视频片段与关联的过渡帧图片进行拼接。
54.例如,以对象行为为手势动作为例进行举例说明。假设服务器获取到的待拼接的视频片段序列包含3个待拼接的视频片段分别为视频片段a、视频片段b以及视频片段c,并且每两个相邻的视频片段之间的对象的手势动作不连续,即视频片段a和视频片段b为相邻的两个视频片段作为一组,视频片段b和视频片段c为相邻的两个视频片段作为一组,假设服务器基于视频片段a的尾帧图片f
a1
、视频片段b的首帧图片f
b0
,以及视频片段a与视频片段b之间需插入的过渡帧数s=2,生成第一个视频片段组中视频片段a和视频片段b之间的2帧过渡帧图片,并将生成的2帧过渡帧图片所对应的标识分别标记为f
ab1
和f
ab2
,则服务器可以基于过渡帧图片的标识,将过渡帧图片f
ab1
和f
ab2
插入到尾帧图片f
a1
和首帧图片f
b0
之间,即服务器最终得到的拼接后的视频序列为:f
a1-f
ab1-f
ab2-f
b0
。进一步的,服务器可以基于视频片段b的尾帧图片f
b1
、视频片段c的首帧图片f
c0
,以及视频片段b与视频片段c之间需插入的过渡帧数4,生成第二个视频片段组中视频片段b和视频片段c之间的4帧过渡帧图片,并将生成的4帧过渡帧图片所对应的标识分别标记为f
bc1
、f
bc2
、f
bc3
、f
bc4
,则服务器可以基于过渡帧图片的标识,将过渡帧图片f
bc1
、f
bc2
、f
bc3
、f
bc4
插入到尾帧图片f
b1
和首帧图片f
c0
之间,即服务器最终得到的拼接后的视频序列为:f
a0
~f
a1-f
ab1-f
ab2-f
b0
~f
b1-f
bc1-f
bc2-f
bc3-f
bc4-f
c0
~f
c1
,其中,f
a0
表示视频片段a的首帧图片,f
c1
表示视频片段c的尾帧图片。
55.上述视频过渡方法中,通过获取待拼接的视频片段序列,视频片段序列内每相邻的视频片段作为一组,各视频片段组内的视频片段之间对象行为不连续;依次确定各视频片段组中的视频片段的片段相似分值;基于片段相似分值确定各视频片段组需插入的过渡帧数;基于各视频片段组中的视频片段和过渡帧数,生成各视频片段组的过渡帧图片,并将各视频片段组中的视频片段与对应的过渡帧图片进行拼接。由于将待拼接的视频片段序列内每相邻的视频片段作为一组,并依次确定各视频片段组中的视频片段的片段相似分值,故基于每个视频片段组所对应的片段相似分值可以确定各视频片段组需插入的自适应的最优过渡帧数,从而可以基于各视频片段组中的视频片段和自适应的最优过渡帧数,生成各视频片段组所对应的最佳数量的过渡帧图片,并将各视频片段组中的视频片段与得到的最佳数量的过渡帧图片进行拼接,实现了多段非连续的视频片段不仅能够完整的合成为一段连贯、无动作跳变的视频,也能够自适应的挑选动作并计算最佳插入帧数,以达到最佳的
视觉效果,有效提高了过渡视频生成质量。
56.在一个实施例中,视频片段组包括第一个视频片段和第二个视频片段,依次确定各视频片段组中的视频片段的片段相似分值的步骤,包括:
57.获取第一个视频片段的尾帧图片和第二个视频片段的首帧图片;
58.确定尾帧图片和首帧图片之间的相似分值;
59.将确定的相似分值作为各视频片段组中的视频片段的片段相似分值;其中,每组的尾帧图片和首帧图片中的对象行为不相同。
60.其中,视频片段组是指视频片段序列内每相邻的两个视频片段作为一组,每个视频片段组中包含两个视频片段。例如,某视频片段组中包括视频片段a和视频片段b,则按照预连接的播放顺序,视频片段a为该组中第一个视频片段,视频片段b为该组中第二个视频片段。
61.具体的,服务器获取待拼接的视频片段序列之后,待拼接的视频片段序列中至少包含两个视频片段,服务器可以依次确定各视频片段组中的视频片段之间的片段相似分值,即服务器获取到每个视频片段组中第一个视频片段的尾帧图片和第二个视频片段的首帧图片之后,服务器可以基于预设的相似度计算方式,确定尾帧图片和首帧图片之间的相似分值,并将确定的相似分值作为各视频片段组中的视频片段的片段相似分值;其中,每个视频片段组中第一个视频片段的尾帧图片和第二个视频片段首帧图片中的对象行为不相同。
62.例如,以对象行为为手势动作为例进行举例说明。假设服务器获取到的待拼接的视频片段序列包含3个待拼接的视频片段分别为视频片段a、视频片段b以及视频片段c,并且每两个相邻片段之间的对象行为不连续,即视频片段a和视频片段b为相邻的两个视频片段作为一组,视频片段b和视频片段c为相邻的两个视频片段作为一组,则服务器可以基于psnr相似度计算方式或者ssim相似度计算方式,计算视频片段a的尾帧图片与视频片段b的首帧图片之间的相似性分数,得到视频片段a的尾帧图片中的对象手势动作与视频片段b的首帧图片中的对象手势动作之间的相似性分数为s1,并将s1作为第一个视频片段组中视频片段a和视频片段b之间的片段相似分值;进一步的,服务器基于psnr相似度计算方式或者ssim相似度计算方式,计算视频片段b的尾帧图片与视频片段c的首帧图片之间的相似性分数,得到视频片段b的尾帧图片中的对象手势动作与视频片段c的首帧图片中的对象手势动作之间的相似性分数为s2,并将s2作为第二个视频片段组中视频片段b和视频片段c之间的片段相似分值,服务器可以将得到的片段相似分值s1和s2存储在集合s中,以使得后续服务器可以从集合s中获取任意两个相邻视频片段之间的片段相似分值。由此使得,通过将待拼接的视频片段序列内每相邻的视频片段作为一组,并依次确定各视频片段组中的视频片段的片段相似分值,使得服务器可以基于每个视频片段组所对应的片段相似分值确定各视频片段组需插入的最优过渡帧数,从而可以基于各视频片段组中的视频片段和最优过渡帧数,生成各视频片段组所对应的最佳数量的过渡帧图片,以达到最佳的视觉效果。
63.在一个实施例中,如图3所示,基于片段相似分值确定各视频片段组需插入的过渡帧数的步骤,包括:
64.步骤302,在获得的所有片段相似分值中,选取满足第一分值条件的第一片段相似分值和满足第二分值条件的第二片段相似分值;
65.步骤304,基于第一片段相似分值、第二片段相似分值、基准插帧数值以及各视频片段组中的视频片段的片段相似分值,依次确定各视频片段组需插入的过渡帧数。
66.其中,第一分值条件是指预设的一个分值条件,例如,第一分值条件可以为选取所有相似分值中的最大值,第一片段相似分值是指满足第一分值条件的片段相似分值,例如,当第一分值条件为选取所有相似分值中的最大值时,则第一片段相似分值就是所有相似分值中的最大值。
67.第二分值条件是指预设的另一个分值条件,例如,第二分值条件可以为选取所有相似分值中的最小值,第二片段相似分值是指满足第二分值条件的片段相似分值,例如,当第二分值条件为选取所有相似分值中的最小值时,则第二片段相似分值就是所有相似分值中的最小值。
68.基准插帧数值是指预先设定的一个基准数值,例如,本技术中的基准插帧数值可以设置为整数。
69.具体的,服务器依次确定各视频片段组中的视频片段之间的片段相似分值之后,服务器可以基于片段相似分值确定各视频片段组需插入的过渡帧数,即确定待拼接的视频片段序列中各相邻视频片段之间需插入的过渡帧数,服务器在获得的所有片段相似分值中,选取满足第一分值条件的第一片段相似分值和满足第二分值条件的第二片段相似分值,并基于第一片段相似分值、第二片段相似分值、基准插帧数值以及各视频片段组中的视频片段的片段相似分值,依次确定各视频片段组需插入的过渡帧数。
70.例如,以对象行为为手势动作为例进行举例说明。假设服务器获取到的待拼接的视频片段序列包含3个待拼接的视频片段分别为视频片段a、视频片段b以及视频片段c,并且每两个相邻片段之间的对象行为不连续,即视频片段a和视频片段b为相邻的两个视频片段作为一组,视频片段b和视频片段c为相邻的两个视频片段作为一组,则服务器可以基于psnr相似度计算方式,依次确定各视频片段组中相邻视频片段之间的片段相似分值,假设服务器确定视频片段a的尾帧图片与视频片段b的首帧图片之间的相似性分数为s1、视频片段b的尾帧图片与视频片段c的首帧图片之间的相似性分数为s2,即确定第一个视频片段组中视频片段a与视频片段b之间的片段相似分值为s1,第二个视频片段组中视频片段b与视频片段c之间的片段相似分值为s2,则服务器可以在获得的所有片段相似分值中,选取满足第一分值条件的第一片段相似分值为s2和满足第二分值条件的第二片段相似分值s1;进一步的,服务器可以基于第一个视频片段组中的视频片段的片段相似分值s1、第一片段相似分值s2、以及第二片段相似分值s1,确定第一个视频片段组中视频片段a与视频片段b之间需插入的过渡帧数为a,即确定视频片段a的尾帧图片与视频片段b的首帧图片之间需插入的过渡帧数为a;进一步的,服务器可以基于第二个视频片段组中的视频片段的片段相似分值s2、第一片段相似分值s2、以及第二片段相似分值s1,确定第二个视频片段组中视频片段b与视频片段c之间需插入的过渡帧数为b,即确定视频片段b的尾帧图片与视频片段c的首帧图片之间需插入的过渡帧数为b。
71.本实施例中,通过将待拼接的视频片段序列内每相邻的视频片段作为一组,并依次确定各视频片段组中的视频片段的片段相似分值,使得服务器可以基于第一片段相似分值、第二片段相似分值、基准插帧数值以及各视频片段组中的视频片段的片段相似分值,依次确定各视频片段组需插入的最优过渡帧数,从而可以基于各视频片段组中的视频片段和
最优过渡帧数,生成各视频片段组所对应的最佳数量的过渡帧图片,以达到最佳的视觉效果。
72.在其中一个实施例中,基于第一片段相似分值、第二片段相似分值、基准插帧数值以及各视频片段组中的视频片段的片段相似分值,依次确定各视频片段组需插入的过渡帧数的步骤,包括:
73.基于第一片段相似分值、第二片段相似分值以及各视频片段组中的视频片段的片段相似分值,确定各视频片段组对应的全局相似数值;
74.获取调节参数,并基于调节参数对全局相似数值进行调整;
75.根据调整后的全局相似数值和所述基准插帧数值,确定各视频片段组需插入的过渡帧数。
76.其中,全局相似数值是指用于表示每个视频片段组中的视频片段的片段相似分值与待拼接的视频片段序列中所有的片段相似分值之间的相似性数值,即基于每个视频片段组中的视频片段的片段相似分值、第一片段相似分值和第二片段相似分值确定的每个视频片段组所对应的全局相似数值。可以理解,本技术中的第一片段相似分值可以为最大值、第二片段相似分值可以为最小值。
77.调节参数是预先设定的超参数,用于控制每个过渡位置处的缩放尺度。
78.具体的,服务器依次确定各视频片段组中的视频片段之间的片段相似分值之后,服务器可以基于片段相似分值确定各视频片段组需插入的过渡帧数,即确定待拼接的视频片段序列中各相邻视频片段之间需插入的过渡帧数,服务器在获得的所有片段相似分值中,选取满足第一分值条件的第一片段相似分值和满足第二分值条件的第二片段相似分值之后,服务器可以基于第一片段相似分值、第二片段相似分值以及各视频片段组中的视频片段的片段相似分值,确定各视频片段组对应的全局相似数值。进一步的,服务器可以获取调节参数,并基于调节参数对全局相似数值进行调整,服务器根据调整后的全局相似数值和基准插帧数值,确定各视频片段组需插入的过渡帧数。
79.例如,以对象行为为手势动作为例进行举例说明。假设服务器获取到的待拼接的视频片段序列包含3个待拼接的视频片段分别为视频片段a、视频片段b以及视频片段c,并且每两个相邻片段之间的对象行为不连续,即视频片段a和视频片段b为相邻的两个视频片段作为一组,视频片段b和视频片段c为相邻的两个视频片段作为一组,假设服务器确定视频片段a的尾帧图片与视频片段b的首帧图片之间的相似性分数为s1、视频片段b的尾帧图片与视频片段c的首帧图片之间的相似性分数为s2,即确定第一个视频片段组中视频片段a与视频片段b之间的片段相似分值为s1,第二个视频片段组中视频片段b与视频片段c之间的片段相似分值为s2,则服务器可以在获得的所有片段相似分值中,选取最大片段相似分值s2作为满足第一分值条件的第一片段相似分值,同时选取最小片段相似分值s1作为满足第二分值条件的第二片段相似分值;进一步的,服务器可以基于第一个视频片段组中的视频片段的片段相似分值s1、最大片段相似分值s2、最小片段相似分值s1,确定第一个视频片段组所对应的全局相似数值为a;进一步的,服务器可以基于第二个视频片段组中的视频片段的片段相似分值s2、最大片段相似分值s2、最小片段相似分值s1,确定第二个视频片段组所对应的全局相似数值为b。进一步的,服务器可以获取调节参数为α,并基于调节参数α对全局相似数值a进行调整,得到调整后的全局相似数值为a1,并根据调整后的全局相似数值
a1和基准插帧数值g,确定第一个视频片段组需插入的过渡帧数为g1;进一步的,服务器基于调节参数α对全局相似数值b进行调整,得到调整后的全局相似数值为b1,并根据调整后的全局相似数值b1和基准插帧数值g,确定第二个视频片段组需插入的过渡帧数为g2,即服务器按照上述处理流程,依次确定各个视频片段组需插入的过渡帧数。由此使得,通过依次确定各视频片段组需插入的最优过渡帧数,从而可以基于各视频片段组中的视频片段和最优过渡帧数,生成各视频片段组所对应的最佳数量的过渡帧图片,以达到最佳的视觉效果。
80.在一个实施例中,基于各视频片段组中的视频片段和过渡帧数,生成各视频片段组的过渡帧图片的步骤,包括:
81.在各视频片段组的第一个视频片段中提取尾帧图片,以及在各视频片段组的第二个视频片段中提取首帧图片;
82.基于各视频片段组的尾帧图片、首帧图片和过渡帧数,生成各视频片段组的过渡帧图片。
83.其中,过渡帧数是指各视频片段组所需插入的过渡帧数,例如,服务器依次确定第一个视频片段组需插入的过渡帧数为g1、第二个视频片段组需插入的过渡帧数为g2,g1与g2可以为相同的数值,也可以为不同的数值。
84.具体的,服务器基于片段相似分值确定各视频片段组需插入的过渡帧数之后,服务器可以在各视频片段组的第一个视频片段中提取尾帧图片,以及在各视频片段组的第二个视频片段中提取首帧图片,并基于各视频片段组的尾帧图片、首帧图片和过渡帧数,生成各视频片段组的过渡帧图片。例如,服务器可以将各视频片段组的尾帧图片和首帧图片输入预先训练好的图像生成网络中,输出得到过渡帧图片,并且生成的过渡帧图片的帧数与该视频片段组所对应的过渡帧数保持一致。
85.例如,以对象行为为手势动作为例进行举例说明。假设服务器获取到的待拼接的视频片段序列包含3个待拼接的视频片段分别为视频片段a、视频片段b以及视频片段c,并且每两个相邻的视频片段之间的对象的手势动作不连续,即视频片段a和视频片段b为相邻的两个视频片段作为一组,视频片段b和视频片段c为相邻的两个视频片段作为一组,假设服务器基于片段相似分值确定视频片段a的尾帧图片与视频片段b的首帧图片之间需插入的过渡帧数为g1=2、视频片段b的尾帧图片与视频片段c的首帧图片之间需插入的过渡帧数为g2=4,则服务器可以在第一个视频片段组的第一个视频片段中提取尾帧图片f
a1
,以及在第一个视频片段组的第二个视频片段中提取首帧图片f
b1
,并基于该视频片段组的尾帧图片f
a1
、首帧图片f
b1
和过渡帧数g1=2,生成该视频片段组所对应的2帧过渡帧图片。
86.进一步的,服务器可以在第二个视频片段组的第一个视频片段中提取尾帧图片f
a2
,以及在第二个视频片段组的第二个视频片段中提取首帧图片f
b2
,并基于该视频片段组的尾帧图片f
a2
、首帧图片f
b2
和过渡帧数g2=4,生成该视频片段组所对应的4帧过渡帧图片。
87.本实施例中,通过依次确定各视频片段组需插入的最优过渡帧数,从而可以基于各视频片段组中的视频片段和最优过渡帧数,生成各视频片段组所对应的最佳数量的过渡帧图片,以达到最佳的视觉效果。
88.在一个实施例中,基于各视频片段组的尾帧图片、首帧图片和过渡帧数,生成各视频片段组的过渡帧图片的步骤,包括:
89.构建各视频片段组对应的第一子元素集;第一子元素集内的元素包括尾帧图片对应的元素序号和首帧图片对应的元素序号;
90.基于各视频片段组的尾帧图片和首帧图片,生成第一过渡图片;
91.依据第一过渡图片对应的元素序号对第一子元素集进行子集划分,得到第二子元素集与第三子元素集;
92.当第二子元素集内的元素序号之间的差值和第三子元素集内的元素序号之间的差值不满足差值条件时,将各视频片段组的第一过渡图片作为最终的过渡帧图片。
93.其中,子元素集是指用于保存每两帧图片所对应的元素序号的集合。
94.第一子元素集是指初始化时的子元素集,初始化子元素集,即为第一子元素集,例如,初始化子元素集即第一子元素集可以为[fa,fb],其中,fa代表该视频片段组中尾帧图片对应的元素序号,fb代表该视频片段组中首帧图片对应的元素序号。
[0095]
差值条件是预先设定好的,例如,差值条件可以设置为:index
j-indexi》1,即差值条件为每个子元素集内后一个元素序号减去前一个元素序号的差值大于1。
[0096]
具体的,服务器在各视频片段组的第一个视频片段中提取尾帧图片,以及在各视频片段组的第二个视频片段中提取首帧图片之后,服务器可以构建各视频片段组对应的第一子元素集,并将各视频片段组的尾帧图片对应的元素序号和首帧图片对应的元素序号作为第一子元素集内的两个元素,即第一子元素集为尾帧图片对应的元素序号和首帧图片对应的元素序号。
[0097]
进一步的,当服务器确定第一子元素集内的元素序号之间的差值满足差值条件时,服务器可以基于各视频片段组的尾帧图片和首帧图片,生成第一过渡图片,保存第一过渡图片对应的元素序号,并依据第一过渡图片对应的元素序号对第一子元素集进行子集划分,得到第二子元素集与第三子元素集。
[0098]
进一步的,当服务器确定第二子元素集内的元素序号之间的差值和第三子元素集内的元素序号之间的差值不满足差值条件时,服务器将各视频片段组的第一过渡图片作为最终的过渡帧图片。
[0099]
例如,以对象行为为手势动作为例进行举例说明。假设服务器获取到的待拼接的视频片段序列l包含3个待拼接的视频片段分别为视频片段a、视频片段b以及视频片段c,并且每两个相邻的视频片段之间的对象的手势动作不连续,即视频片段a和视频片段b为相邻的两个视频片段作为一组,视频片段b和视频片段c为相邻的两个视频片段作为一组,假设服务器基于片段相似分值确定视频片段a的尾帧图片与视频片段b的首帧图片之间需插入的过渡帧数为g1=1、视频片段b的尾帧图片与视频片段c的首帧图片之间需插入的过渡帧数为g2=4,则服务器在第一个视频片段组的第一个视频片段中提取尾帧图片f
a1
,以及在第一个视频片段组的第二个视频片段中提取首帧图片f
b1
之后,服务器可以构建视频片段序列l中各视频片段组对应的元素集合q,并将第一个视频片段组的尾帧图片f
a1
对应的元素序号f1和首帧图片f
b1
对应的元素序号f5作为第一子元素集即[1,3],即元素集合q中的第一子元素集[1,3]为尾帧图片对应的元素序号和首帧图片对应的元素序号。
[0100]
假设差值条件设置为:index
j-indexi》1,当服务器确定第一子元素集[1,3]中的元素序号之间的差值满足差值条件时,服务器可以基于第一个视频片段组的尾帧图片f
a1
和首帧图片f
b1
,生成第一过渡图片f
ab1
,并保存第一过渡图片f
ab1
对应的元素序号为f2。进一步
的,服务器可以依据第一过渡图片对应的元素序号f2对第一子元素集[1,3]进行子集划分,得到第二子元素集[1,2]与第三子元素集[2,3]。
[0101]
当服务器确定第二子元素集[1,2]中的元素序号之间的差值和第三子元素集[2,3]中的元素序号之间的差值不满足差值条件时,服务器将第一个视频片段组的第一过渡图片f
ab1
作为最终的过渡帧图片。
[0102]
本实施例中,通过依次确定各视频片段组需插入的最优过渡帧数,从而可以基于各视频片段组中的视频片段和最优过渡帧数,生成更为精确的过渡帧图片,以有效解决传统方式中在生成较多帧数的过渡视频时,存在空间分辨率低或动作过渡不够自然的问题,能够生成更高质量的过渡视频,以达到最佳的视觉效果。
[0103]
在其中一个实施例中,所述方法还包括:
[0104]
当第二子元素集内的元素序号之间的差值和第三子元素集内的元素序号之间的差值满足差值条件时,基于各视频片段组的尾帧图片和第一过渡图片,生成第二过渡图片;以及,基于各视频片段组的首帧图片和第一过渡图片,生成第三过渡图片;
[0105]
依据第二过渡图片对应的元素序号对第二子元素集进行子集划分,得到第四子元素集与第五子元素集;以及,依据第三过渡图片对应的元素序号对第三子元素集进行子集划分,得到第六子元素集与第七子元素集;
[0106]
当第四子元素集、第五子元素集、第六子元素集、第七子元素集内的元素序号之间的差值不满足差值条件时,将各视频片段组的第一过渡图片、第二过渡图片和第三过渡图片作为最终的过渡帧图片。
[0107]
具体的,服务器在各视频片段组的第一个视频片段中提取尾帧图片,以及在各视频片段组的第二个视频片段中提取首帧图片之后,服务器可以构建各视频片段组对应的元素集合,并将各视频片段组的尾帧图片对应的元素序号和首帧图片对应的元素序号作为第一子元素集,即元素集合中的第一子元素集为尾帧图片对应的元素序号和首帧图片对应的元素序号。
[0108]
进一步的,当服务器确定第一子元素集内的元素序号之间的差值满足差值条件时,服务器可以基于各视频片段组的尾帧图片和首帧图片,生成第一过渡图片,保存第一过渡图片对应的元素序号,并依据第一过渡图片对应的元素序号对第一子元素集进行子集划分,得到第二子元素集与第三子元素集。
[0109]
进一步的,当服务器确定第二子元素集内的元素序号之间的差值和第三子元素集内的元素序号之间的差值满足差值条件时,服务器可以基于各视频片段组的尾帧图片和第一过渡图片,生成第二过渡图片;以及,服务器基于各视频片段组的首帧图片和第一过渡图片,生成第三过渡图片,服务器依据第二过渡图片对应的元素序号对第二子元素集进行子集划分,得到第四子元素集与第五子元素集;以及,服务器依据第三过渡图片对应的元素序号对第三子元素集进行子集划分,得到第六子元素集与第七子元素集;
[0110]
当服务器确定第四子元素集、第五子元素集、第六子元素集、第七子元素集内的元素序号之间的差值不满足差值条件时,将各视频片段组的第一过渡图片、第二过渡图片和第三过渡图片作为最终的过渡帧图片,即服务器可以将各视频片段组的第一过渡图片、第二过渡图片和第三过渡图片存入用于存放过渡帧图片的另一个集合中。
[0111]
例如,以对象行为为手势动作为例进行举例说明。假设服务器获取到的待拼接的
视频片段序列l包含3个待拼接的视频片段分别为视频片段a、视频片段b以及视频片段c,并且每两个相邻的视频片段之间的对象的手势动作不连续,即视频片段a和视频片段b为相邻的两个视频片段作为一组,视频片段b和视频片段c为相邻的两个视频片段作为一组,假设服务器基于片段相似分值确定视频片段a的尾帧图片与视频片段b的首帧图片之间需插入的过渡帧数为g1=3、视频片段b的尾帧图片与视频片段c的首帧图片之间需插入的过渡帧数为g2=4,则服务器在第一个视频片段组的第一个视频片段中提取尾帧图片f
a1
,以及在第一个视频片段组的第二个视频片段中提取首帧图片f
b1
之后,服务器可以构建视频片段序列l中各视频片段组对应的元素集合q,并将第一个视频片段组的尾帧图片f
a1
对应的元素序号f1和首帧图片f
b1
对应的元素序号f5作为第一子元素集即[1,5],即元素集合中的第一子元素集[1,5]为尾帧图片对应的元素序号和首帧图片对应的元素序号。
[0112]
假设差值条件设置为:index
j-indexi》1,当服务器确定第一子元素集[1,5]中的元素序号之间的差值满足差值条件时,服务器可以基于第一个视频片段组的尾帧图片f
a1
和首帧图片f
b1
,生成第一过渡图片f
ab1
,并保存第一过渡图片f
ab1
对应的元素序号为f3。进一步的,服务器可以依据第一过渡图片对应的元素序号f3对第一子元素集[1,5]进行子集划分,得到第二子元素集[1,3]与第三子元素集[3,5]。
[0113]
当服务器确定第二子元素集[1,3]中的元素序号之间的差值和第三子元素集[3,5]中的元素序号之间的差值满足差值条件时,服务器基于第一个视频片段组的尾帧图片f
a1
和第一过渡图片f
ab1
,生成第二过渡图片f
ab2
,并保存第二过渡图片f
ab2
对应的元素序号为f2;以及,服务器基于第一个视频片段组的首帧图片f
b1
和第一过渡图片f
ab1
,生成第三过渡图片f
ab3
,并保存第三过渡图片f
ab3
对应的元素序号为f4。服务器可以依据第二过渡图片对应的元素序号f2对第二子元素集[1,3]进行子集划分,得到第四子元素集[1,2]与第五子元素集[2,3];以及,服务器依据第三过渡图片对应的元素序号f4对第三子元素集[3,5]进行子集划分,得到第六子元素集[3,4]与第七子元素集[4,5],由于第四子元素集[1,2]、第五子元素集[2,3]、第六子元素集[3,4]以及第七子元素集[4,5]不符合差值条件:index
j-indexi》1,即当服务器确定第四子元素集、第五子元素集、第六子元素集、第七子元素集内的元素序号之间的差值不满足差值条件时,服务器将第一过渡图片f
ab1
、第二过渡图片f
ab2
和第三过渡图片f
ab3
作为第一个视频片段组最终需要插入的过渡帧图片,即服务器可以将第一个视频片段组的第一过渡图片f
ab1
、第二过渡图片f
ab2
和第三过渡图片f
ab3
存入用于存放过渡帧图片的另一个集合f中,由于服务器基于片段相似分值确定视频片段a的尾帧图片与视频片段b的首帧图片之间需插入的过渡帧数为g1=3,因此,集合f中存放的第一个视频片段组的过渡帧图片的数量等于过渡帧数3。
[0114]
此外,若服务器确定第二子元素集内的元素序号之间的差值不满足差值条件,但第三子元素集内的元素序号之间的差值满足差值条件时,则服务器基于各视频片段组的首帧图片和第一过渡图片,生成第三过渡图片,并依据第三过渡图片对应的元素序号对第三子元素集进行子集划分,直到划分得到的子元素集内的元素序号之间的差值不满足差值条件时停止。
[0115]
本实施例中,通过依次确定各视频片段组需插入的最优过渡帧数,从而可以基于各视频片段组中的视频片段和最优过渡帧数,生成更为精确的过渡帧图片,以有效解决传统方式中在生成较多帧数的过渡视频时,存在空间分辨率低或动作过渡不够自然的问题,
能够生成更高质量的过渡视频,以达到最佳的视觉效果。
[0116]
在其中一个实施例中,所述方法还包括:
[0117]
当第二子元素集内的元素序号之间的差值满足差值条件、但第三子元素集内的元素序号之间的差值不满足差值条件时,基于各视频片段组的尾帧图片和第一过渡图片,生成第二过渡图片,并依据第二过渡图片对应的元素序号对第二子元素集进行子集划分,得到第四子元素集与第五子元素集;
[0118]
当第四子元素集、第五子元素集内的元素序号之间的差值不满足差值条件时,将各视频片段组的第一过渡图片和第二过渡图片作为最终的过渡帧图片。
[0119]
具体的,服务器在各视频片段组的第一个视频片段中提取尾帧图片,以及在各视频片段组的第二个视频片段中提取首帧图片之后,服务器可以构建各视频片段组对应的元素集合,并将各视频片段组的尾帧图片对应的元素序号和首帧图片对应的元素序号作为第一子元素集,即元素集合中的第一子元素集为尾帧图片对应的元素序号和首帧图片对应的元素序号。
[0120]
当服务器确定第一子元素集内的元素序号之间的差值满足差值条件时,服务器可以基于各视频片段组的尾帧图片和首帧图片,生成第一过渡图片,保存第一过渡图片对应的元素序号,并依据第一过渡图片对应的元素序号对第一子元素集进行子集划分,得到第二子元素集与第三子元素集。
[0121]
进一步的,当服务器确定第二子元素集内的元素序号之间的差值满足差值条件、但第三子元素集内的元素序号之间的差值不满足差值条件时,服务器可以基于各视频片段组的尾帧图片和第一过渡图片,生成第二过渡图片,并依据第二过渡图片对应的元素序号对第二子元素集进行子集划分,得到第四子元素集与第五子元素集。
[0122]
进一步的,当服务器确定第四子元素集、第五子元素集内的元素序号之间的差值不满足差值条件时,服务器将各视频片段组的第一过渡图片和第二过渡图片作为最终的过渡帧图片。
[0123]
本实施例中,通过依次确定各视频片段组需插入的最优过渡帧数,从而可以基于各视频片段组中的视频片段和最优过渡帧数,生成更为精确的过渡帧图片,以有效解决传统方式中在生成较多帧数的过渡视频时,存在空间分辨率低或动作过渡不够自然的问题,能够生成更高质量的过渡视频,以达到最佳的视觉效果。
[0124]
在一个实施例中,所述方法还包括:
[0125]
构建各视频片段组对应的过渡帧集合;每组过渡帧集合的元素数量等于过渡帧数,且过渡帧集合的首元素为尾帧图片,末位元素为首帧图片;
[0126]
将各视频片段组的第一过渡图片保存于每组的过渡帧集合。
[0127]
其中,过渡帧集合是指用于存放过渡帧图片的集合,例如,某个视频片段组所对应的第一过渡图片f
ab1
、第二过渡图片f
ab2
和第三过渡图片f
ab3
存放在过渡帧集合s中。
[0128]
具体的,服务器可以构建各视频片段组对应的过渡帧集合,服务器初始化过渡帧集合时,过渡帧集合的首元素可以设置为尾帧图片,末位元素设置为首帧图片,且每组的过渡帧集合的元素数量等于该组所对应的过渡帧数,服务器可以将各视频片段组的第一过渡图片保存于每组的过渡帧集合中。
[0129]
例如,假设第一个视频片段组中包括视频片段a和视频片段b,第一个视频片段为
视频片段a,第二个视频片段为视频片段b,服务器基于第一个视频片段组中的视频片段和过渡帧数g1=3,生成第一个视频片段组的过渡帧图片为第一过渡图片f
ab1
、第二过渡图片f
ab2
和第三过渡图片f
ab3
,服务器可以将第一个视频片段组的第一过渡图片f
ab1
、第二过渡图片f
ab2
和第三过渡图片f
ab3
存入用于存放过渡帧图片的过渡帧集合f中,由于服务器基于片段相似分值确定视频片段a的尾帧图片f
a1
与视频片段b的首帧图片f
b1
之间需插入的过渡帧数为g1=3,因此,过渡帧集合f中的过渡帧图片数量等于过渡帧数3,且服务器初始化过渡帧集合f时,过渡帧集合f的首元素为第一个视频片段组中视频片段a的尾帧图片f
a1
,末位元素为第一个视频片段组中视频片段b的首帧图片f
b1
。由此使得,能够按照集合中保存的各个过渡帧图片的插入帧序号,将各个过渡帧图片准确的插入对应的位置,从而有效保证的过渡帧图片插入的准确性,进而有效提高了过渡视频的生成质量。
[0130]
在一个实施例中,所述方法还包括:
[0131]
构建所述视频片段序列对应的队列集合;
[0132]
将各视频片段组对应的第一子元素集依次存入队列集合;
[0133]
所述基于各视频片段组的尾帧图片和首帧图片,生成第一过渡图片,包括:
[0134]
当各视频片段组对应的第一子元素集从队列集合弹出时,基于各视频片段组的尾帧图片和首帧图片,生成第一过渡图片。
[0135]
其中,队列集合用于每次弹出一个子元素集,每个子元素集内包含两个元素序号,以使得服务器可以基于子元素集内元素序号对应的视频帧生成对应的过渡帧图片。
[0136]
具体的,服务器可以构建视频片段序列对应的队列集合,并将各视频片段组对应的第一子元素集依次存入队列集合;当服务器检测到各视频片段组对应的第一子元素集从队列集合弹出时,服务器可以基于第一子元素集所对应的各视频片段组的尾帧图片和首帧图片,生成第一过渡图片。由于在构建各视频片段组对应的元素集合时,服务器将各视频片段组的尾帧图片对应的元素序号和首帧图片对应的元素序号作为第一子元素集,因此,当服务器检测到各视频片段组对应的第一子元素集从队列集合弹出时,服务器实质上是基于第一子元素集内各视频片段组的尾帧图片和首帧图片,生成的第一过渡图片。
[0137]
例如,服务器可以构建视频片段序列l对应的队列集合q,并将各视频片段组对应的第一子元素集[f
a,
fb]依次存入队列集合q;当服务器检测到各视频片段组对应的第一子元素集[f
a,
fb]从队列集合q弹出时,服务器可以基于第一子元素集[fa,fb]所对应的各视频片段组的尾帧图片fa和首帧图片fb,生成第一过渡图片f
ab
。假设视频片段序列l中第一个视频片段组对应的第一子元素集[f
a1
,f
b1
]和视频片段序列l中第二个视频片段组对应的第一子元素集[f
a2
,f
b2
]依次存入队列集合q;当服务器检测到第一个视频片段组对应的第一子元素集[f
a1
,f
b1
]从队列集合q弹出时,服务器可以基于第一子元素集[f
a1,fb1
]所对应的第一个视频片段组的尾帧图片f
a1
和首帧图片f
b1
,生成第一个视频片段组中需要插入的第一过渡图片f
ab1
;进一步的,当服务器检测到第二个视频片段组对应的第一子元素集[f
a2
,f
b2
]从队列集合q弹出时,服务器可以基于第一子元素集[f
a2
,f
b2
]所对应的第二个视频片段组的尾帧图片f
a2
和首帧图片f
b2
,生成第二个视频片段组中需要插入第一过渡图片f
ab2
。由此使得,能够按照队列中每次弹出的需要插帧的两个相邻视频片段的帧图片,合成最佳数量的过渡帧图片,从而实现了多段非连续的视频片段不仅能够完整的合成为一段连贯、无动作跳变的视频,也能够自适应的挑选动作并计算最佳插入帧数,以达到最佳的视觉效果。
[0138]
在一个实施例中,所述方法还包括:
[0139]
在得到第二子元素集与第三子元素集之后,将第二子元素集与第三子元素集存入队列集合;
[0140]
所述基于各所述视频片段组的尾帧图片和所述第一过渡图片,生成第二过渡图片;以及,基于各所述视频片段组的首帧图片和所述第一过渡图片,生成第三过渡图片,包括:
[0141]
当各视频片段组对应的第二子元素集从队列集合弹出时,基于各视频片段组的尾帧图片和第一过渡图片,生成第二过渡图片;
[0142]
当各视频片段组对应的第三子元素集从队列集合弹出时,基于各视频片段组的首帧图片和第一过渡图片,生成第三过渡图片。
[0143]
具体的,服务器在各视频片段组的第一个视频片段中提取尾帧图片,以及在各视频片段组的第二个视频片段中提取首帧图片之后,服务器可以构建各视频片段组对应的元素集合,并将各视频片段组的尾帧图片对应的元素序号和首帧图片对应的元素序号作为第一子元素集,即元素集合中的第一子元素集为尾帧图片对应的元素序号和首帧图片对应的元素序号。
[0144]
进一步的,当服务器确定第一子元素集内的元素序号之间的差值满足差值条件时,服务器可以基于各视频片段组的尾帧图片和首帧图片,生成第一过渡图片,保存第一过渡图片对应的元素序号,并依据第一过渡图片对应的元素序号对第一子元素集进行子集划分,得到第二子元素集与第三子元素集。
[0145]
在服务器得到第二子元素集与第三子元素集之后,服务器将第二子元素集与第三子元素集存入队列集合;当服务器检测到各视频片段组对应的第二子元素集从队列集合弹出时,服务器判断第二子元素集内的元素序号之间的差值是否满足差值条件,当服务器确定第二子元素集内的元素序号之间的差值满足差值条件时,服务器可以基于各视频片段组的尾帧图片和第一过渡图片,生成第二过渡图片;当服务器检测到各视频片段组对应的第三子元素集从队列集合弹出时,服务器判断第三子元素集内的元素序号之间的差值是否满足差值条件,当服务器确定第三子元素集内的元素序号之间的差值满足差值条件时,服务器可以基于各视频片段组的首帧图片和第一过渡图片,生成第三过渡图片。
[0146]
例如,以对象行为为手势动作为例进行举例说明。假设服务器获取到的待拼接的视频片段序列l包含3个待拼接的视频片段分别为视频片段a、视频片段b以及视频片段c,并且每两个相邻的视频片段之间的对象的手势动作不连续,即视频片段a和视频片段b为相邻的两个视频片段作为一组,视频片段b和视频片段c为相邻的两个视频片段作为一组,假设服务器基于片段相似分值确定视频片段a的尾帧图片与视频片段b的首帧图片之间需插入的过渡帧数为g1=3、视频片段b的尾帧图片与视频片段c的首帧图片之间需插入的过渡帧数为g2=4,则服务器在第一个视频片段组的第一个视频片段中提取尾帧图片f
a1
,以及在第一个视频片段组的第二个视频片段中提取首帧图片f
b1
之后,服务器可以构建视频片段序列l中各视频片段组对应的元素集合f,并将第一个视频片段组的尾帧图片f
a1
对应的元素序号f1和首帧图片f
b1
对应的元素序号f5作为第一子元素集即[1,5],即元素集合f中的第一子元素集[1,5]为尾帧图片对应的元素序号和首帧图片对应的元素序号。
[0147]
同时,服务器可以构建视频片段序列l对应的队列集合q,并将第一个视频片段组
对应的第一子元素集[1,5]依次存入队列集合q。
[0148]
假设差值条件设置为:index
j-indexi》1,当服务器检测到第一个视频片段组对应的第一子元素集[1,5]从队列集合q弹出时,服务器判断第一子元素集[1,5]中的元素序号之间的差值是否满足差值条件,当服务器确定第一子元素集[1,5]中的元素序号之间的差值满足差值条件时,服务器可以基于第一子元素集[1,5]所对应的第一个视频片段组的尾帧图片f
a1
和首帧图片f
b1
,生成第一过渡图片f
ab1
,并保存第一过渡图片f
ab1
对应的元素序号为f3。进一步的,服务器可以依据第一过渡图片对应的元素序号f3对第一子元素集[1,5]进行子集划分,得到第二子元素集[1,3]与第三子元素集[3,5]。
[0149]
在服务器得到第二子元素集[1,3]与第三子元素集[3,5]之后,服务器将第二子元素集[1,3]与第三子元素集[3,5]存入队列集合q;当服务器检测到第一个视频片段组对应的第二子元素集[1,3]从队列集合q弹出时,服务器判断第二子元素集[1,3]中的元素序号之间的差值是否满足差值条件,当服务器确定第二子元素集[1,3]中的元素序号之间的差值满足差值条件时,服务器可以基于第一个视频片段组的尾帧图片f
a1
和第一过渡图片f
ab1
,生成第二过渡图片f
ab2
,并保存第二过渡图片f
ab2
对应的元素序号为f2;当服务器检测到第一个视频片段组对应的第三子元素集[3,5]从队列集q合弹出时,服务器判断第三子元素集[3,5]中的元素序号之间的差值是否满足差值条件,当服务器确定第三子元素集[3,5]中的元素序号之间的差值满足差值条件时,服务器可以基于第一个视频片段组的首帧图片f
b1
和第一过渡图片f
ab1
,生成第三过渡图片f
ab3
,并保存第三过渡图片f
ab3
对应的元素序号为f4。
[0150]
进一步的,服务器还可以继续依据第三过渡图片f
ab3
对应的元素序号f4对第三子元素集[3,5]进行子集划分,得到第六子元素集[3,4]与第七子元素集[4,5],由于第四子元素集[1,2]、第五子元素集[2,3]、第六子元素集[3,4]以及第七子元素集[4,5]不符合差值条件:index
j-indexi》1,即当服务器确定第四子元素集、第五子元素集、第六子元素集、第七子元素集内的元素序号之间的差值不满足差值条件时,服务器将第一过渡图片f
ab1
、第二过渡图片f
ab2
和第三过渡图片f
ab3
作为第一个视频片段组最终需要插入的过渡帧图片,即服务器可以将第一个视频片段组的第一过渡图片f
ab1
、第二过渡图片f
ab2
和第三过渡图片f
ab3
存入用于存放过渡帧图片的另一个集合s中,由于服务器基于片段相似分值确定视频片段a的尾帧图片与视频片段b的首帧图片之间需插入的过渡帧数为g1=3,因此,集合s中存放的第一个视频片段组的过渡帧图片的数量等于过渡帧数3。
[0151]
本实施例中,能够按照队列中每次弹出的需要插帧的两个相邻视频片段的帧图片,合成最佳数量的过渡帧图片,从而实现了多段非连续的视频片段不仅能够完整的合成为一段连贯、无动作跳变的视频,也能够自适应的挑选动作并计算最佳插入帧数,以达到最佳的视觉效果。
[0152]
在一个实施例中,第一过渡图片、第二过渡图片和第三过渡图片,是通过图像生成网络生成的;所述方法还包括:
[0153]
获取视频帧训练集;视频帧训练集包括至少两个训练子集,每个训练子集包括从视频帧序列中抽取的两个视频帧图像,且在抽取视频帧图像时,不同训练子集对应的间隔步长不同;
[0154]
依次将各训练子集输入至图像生成网络进行训练,得到预测图片;
[0155]
当预测图片与视频帧标签之间的损失值达到损失条件时,停止训练。
[0156]
具体的,服务器可以获取视频帧训练集,视频帧训练集包括至少两个训练子集,每个训练子集包括从视频帧序列中抽取的两个视频帧图像,且在抽取视频帧图像时,不同训练子集对应的间隔步长不同;服务器依次将各训练子集输入至图像生成网络进行训练,得到预测图片;当服务器检测到预测图片与视频帧标签之间的损失值达到损失条件时,停止训练。例如,本技术中的图像生成网络可以是abme帧合成网络,如图4所示,为帧合成网络的结构示意图。
[0157]
本实施例中,通过预先对图像生成网络进行训练,使得能够利用训练好的图像生成网络生成更为准确的过渡帧图片,以有效解决传统方式中在生成较多帧数的过渡视频时,存在空间分辨率低或动作过渡不够自然的问题,能够生成更高质量的过渡视频,以达到最佳的视觉效果。
[0158]
本技术还提供一种应用场景,该应用场景应用上述的视频过渡方法。具体地,该视频过渡方法在该应用场景的应用如下:
[0159]
当需要对多段视频过渡任务进行处理时,即需要对多段非连续视频片段进行过渡处理时,或者针对视频插帧方法在多段视频过渡任务上存在的不足进行改进时,可以采用上述的视频过渡方法,即将自适应插帧引入视频过渡任务中,通过获取待拼接的视频片段序列,视频片段序列内每相邻的视频片段作为一组,各视频片段组内的视频片段之间对象行为不连续,服务器可以依次确定各视频片段组中的视频片段的片段相似分值,并基于片段相似分值确定各视频片段组需插入的过渡帧,服务器基于各视频片段组中的视频片段和过渡帧数,生成各视频片段组的过渡帧图片,服务器将各视频片段组中的视频片段与对应的过渡帧图片进行拼接。
[0160]
本技术实施例提供的方法,可以应用于多段视频过渡任务的场景中。以下以多段视频过渡任务场景为例,对本技术实施例提供的视频过渡方法进行说明。
[0161]
传统方式中,通常使用基于随机视频预测的视频过渡方法,可以生成任意长度的过渡视频,由于视频的结尾帧对过渡视频生成的约束较差,在生成较多帧数的过渡视频时,存在空间分辨率低或动作过渡不够自然的问题,导致生成的过渡视频的质量较差。
[0162]
因此,为了解决上述问题,本技术提供了一种基于视频插帧算法的自适应视频过渡方法,针对传统视频插帧方法在多段视频过渡任务上存在的不足进行;额改进,将自适应插帧引入视频过渡任务中,通过计算两个预连接视频片段首尾帧间的相似度差异,使用自适应插帧算法选取最优插入帧数并以迭代的方式生成过渡片段,通过这样的方式轮流对多段视频中每个过渡位置处生成对应的过渡片段,不仅使多段非连续的视频片段能够合并为一段连贯、无动作跳变的视频,也能够自适应的选取最佳插入帧数,解决了视频过渡速度不一致、存在空间分辨率低或动作过渡不够自然等问题,有效提高了过渡视频片段生成质量,使得多段视频在内容和时间上连贯,以达到最佳的视觉效果。
[0163]
如图5所示,为基于插帧的自适应视频过渡方法的流程图。
[0164]
针对传统视频过度方法中存在空间分辨率低或动作过渡不够自然等问题,提出一种基于插帧的自适应视频过渡方法,该方法包含自适应帧数调整、多帧视频过渡、以及视频全局拼接三个部分。
[0165]
具体步骤如下:
[0166]
1)自适应帧数调整
[0167]
插入帧数设定决定着视频过渡的快慢程度,直接影响观众视觉上的直观感受。因此本技术实施例中提出一种自适应的帧数生成算法,包括相似度计算、数值归一化等操作。服务器可以按顺序选取两个相邻的视频片段va和vb,视频片段va的尾帧图片记作fa,视频片段vb的首帧图片记作fb。
[0168]
在一些实施例中,服务器可以使用psnr算法计算两帧之间的相似性分数记作sim,计算两帧之间的相似性分数sim的公式可以如下所示:
[0169][0170][0171]
其中,i(i,j)表示第i张图片的第i行,第j个像素;k(i,j)表示第k张图片的第i行,第j个像素;m和n代表像素的长和宽。maxi表示图像点颜色的最大数值,例如,如果每个采样点用8位表示,那么maxi就是255。
[0172]
服务器可以按照预定的视频片段的播放顺序,从待拼接的视频片段序列中依次选取两个相邻的视频片段,并通过对待拼接的视频片段序列中所有视频片段按顺序两两之间进行上述操作后,得到相似度分数存储为集合s=[sim0,...sim1]。
[0173]
进一步的,服务器通过对全局相似性数值的综合判断来确定待拼接的视频片段序列中每个过渡位置处的插入帧数。计算待拼接的视频片段序列中每个过渡位置处的插入帧数的公式可以如下所示:
[0174]gi
=α(sim
i-min(s))/(max(s)-min(s)) gbꢀꢀꢀꢀ
(3)
[0175]
其中,gb表示基准插帧数值,α为调节参数,用于控制每个过渡位置处的缩放尺度,最终输出帧数gi为自适应的过渡片段的理想插入帧数;simi表示第i个前后视频帧的相似度,min(s)表示相似度的最小值,max(s)表示相似度的最大值。
[0176]
本技术实施例中的gb是预先设定的,可以设置为整数;α也是预设设定的,一般α设置为大于1的数值。
[0177]
可以理解,本技术实施例中计算相似度或者相似分数的方式包括但不限于采用上述psnr相似度计算公式,还可以为其他计算相似度的方法,例如,使用ssim相似度计算方法。
[0178]
2)多帧视频过渡
[0179]
视频插帧方法是在两个相邻帧之间插入一帧图片,本技术实施例中设计了一种在相邻片段之间插入自适应帧数的多帧过渡图片的方法。如图6所示,为多帧过渡图片生成的算法流程示意图。首先服务器可以按顺序选取两个相邻的视频片段va和vb,服务器将获得到的视频片段va的尾帧图片记作fa,视频片段vb的首帧图片记作fb。由于要构建的过渡帧序列将放在fa和fb之间,是fa到fb动作的补全。因此,对于在自适应帧数中给定的插入帧数l,服务器构建一个用于存放生成的过渡帧且大小为l的空集合s。初始化时集合s的第一个元素和最后一个元素分别用fa和fb进行替换。同时,服务器定义一个空集合q,集合q是用来保存插入帧序号的队列。队列q在初始化时包含一个子元素集合q0[1,l],即fa和fb的序号。当服务器生成各视频片段组的过渡帧图片时,算法每次弹出队列q中的第一个子集合q0,将q0的
第一个元素i对应的视频帧和q0第二个元素j对应的视频帧送入abme网络生成中间帧s
t
,并保存回集合s中t索引处的位置,其中,若服务器检测到j-i》1,则服务器将子元素集合[i,t]和[t,j]送入队列q的末尾,等待被弹出。服务器经过多次这样操作后,将得到包含指定数量的过渡帧图片集合。若服务器检测到j-i≤1则不处理,相差j-i》1说明该位置处存在不止一处可插入的过渡帧。服务器将[i,t]和[t,j]送入队列q的末尾,是在t已经进行插帧操作后,服务器需要对[i,t]和[t,j]两处中间的位置再进行插帧。
[0180]
其中,子元素集合q0[1,l]中包含两个值,代表两个要插帧的索引位置。将q0[1,l]中的第一个元素i对应的视频帧和q0第二个元素j对应的视频帧送入abme网络生成中间帧s
t
,是通过索引视频帧序号获取到对应的帧图片,之后服务器再基于生成的过渡帧图片,在两个相邻帧的中间位置进行插帧操作,以完成过渡视频的拼接。本技术实施例中之所以要将abme网络生成中间帧s
t
,保存回集合s中t索引处的位置,是因为abme网络生成的中间过渡帧图片需要按照插帧的位置进行保存,保存的标志就是t索引。
[0181]
可以理解,本技术中生成过渡帧图片的方式包括但不限于采用abme网络生成过渡帧图片的方式,还可以是其他的方式,例如,也可以采用其他模型如adaconf得到过渡帧。
[0182]
3)全局视频拼接
[0183]
服务器对全部视频进行上面1)2)两个步骤的操作后,服务器将原视频片段和生成的过渡帧图片进行拼接,最后生成完整的视频序列。其中,服务器可以使用ffmpeg方法将原视频片段和生成的过渡帧图片进行拼接,最后生成完整的视频序列。可以理解,本技术实施例中的采用的拼接方式包括但不限于是采用ffmpeg方法,还可以使用其他工具包如moviepy。
[0184]
本实施例中,针对目前视频过渡上存在的诸多问题,提出构建一种基于视频插帧算法的自适应视频过渡方法,该方法首先通过计算总体视频片段与候选空闲队列中每个动作的相似性分数,分数最高的动作帧选取为当前视频集合的基准过渡动作。然后,通过每个动作片段的起始帧和基准动作之间的相似度数值,输入到自适应帧数调整算法获得插帧的最佳数值。最后,利用提出的帧插入算法对视频进行全局插帧并合成最终完整的视频。由此,多段非连续的视频片段不仅能够完整的合成为一段连贯、无动作跳变的视频,也能够自适应的挑选动作并计算最佳插入帧数,以达到最佳的视觉效果。
[0185]
在yun数据集上测试本技术实施例中的方法是否可以通过所设计的方案生成高质量的视频序列。在测试序列上将本技术申请实施例采用的方法和p2pvg生成的方法进行比较,将第一张图进行放大。如图7所示,为p2pvg生成的过渡帧图片示意图,如图8所示,为基于插帧的自适应视频过渡方法所生成的过渡帧图片示意图。显然,相较于图7中显示的各帧图片中目标对象的行为动作,图8中所示的各帧图片之间目标对象的行为动作显示的更加清晰,即采用本实施例中的方案能够生成更高质量的过渡视频,有效解决了分辨率低、动作不够自然等问题。
[0186]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个
阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0187]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的视频过渡方法的视频过渡装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个视频过渡装置实施例中的具体限定可以参见上文中对于视频过渡方法的限定,在此不再赘述。
[0188]
在一个实施例中,如图9所示,提供了一种视频过渡装置,包括:获取模块902、确定模块904、生成模块906和拼接模块908,其中:
[0189]
获取模块902,用于获取待拼接的视频片段序列;视频片段序列内每相邻的视频片段作为一组,各视频片段组内的视频片段之间对象行为不连续。
[0190]
确定模块904,用于依次确定各视频片段组中的视频片段的片段相似分值;基于片段相似分值确定各视频片段组需插入的过渡帧数。
[0191]
生成模块906,用于基于各视频片段组中的视频片段和过渡帧数,生成各视频片段组的过渡帧图片。
[0192]
拼接模块908,用于将各视频片段组中的视频片段与对应的过渡帧图片进行拼接。
[0193]
在一个实施例中,获取模块还用于获取所述第一个视频片段的尾帧图片和所述第二个视频片段的首帧图片;确定模块还用于确定所述尾帧图片和所述首帧图片之间的相似分值;将确定的所述相似分值作为各所述视频片段组中的视频片段的片段相似分值;其中,每组的尾帧图片和首帧图片中的对象行为不相同。
[0194]
在一个实施例中,所述装置还包括:选取模块,用于在获得的所有片段相似分值中,选取满足第一分值条件的第一片段相似分值和满足第二分值条件的第二片段相似分值;确定模块还用于基于所述第一片段相似分值、所述第二片段相似分值、基准插帧数值以及各所述视频片段组中的视频片段的片段相似分值,依次确定各所述视频片段组需插入的过渡帧数。
[0195]
在一个实施例中,所述装置还包括:确定模块还用于基于所述第一片段相似分值、所述第二片段相似分值以及各所述视频片段组中的视频片段的片段相似分值,确定各所述视频片段组对应的全局相似数值;调整模块,用于获取调节参数,并基于所述调节参数对所述全局相似数值进行调整;确定模块还用于根据调整后的所述全局相似数值和所述基准插帧数值,确定各所述视频片段组需插入的过渡帧数。
[0196]
在一个实施例中,所述装置还包括:提取模块,用于在各所述视频片段组的第一个视频片段中提取尾帧图片,以及在各所述视频片段组的第二个视频片段中提取首帧图片;生成模块还用于基于各所述视频片段组的尾帧图片、首帧图片和所述过渡帧数,生成各所述视频片段组的过渡帧图片。
[0197]
在一个实施例中,所述装置还包括:构建模块,用于构建各所述视频片段组对应的第一子元素集;所述第一子元素集内的元素包括所述尾帧图片对应的元素序号和所述首帧图片对应的元素序号;生成模块还用于基于各所述视频片段组的尾帧图片和首帧图片,生成第一过渡图片;划分模块,用于依据所述第一过渡图片对应的元素序号对所述第一子元素集进行子集划分,得到第二子元素集与第三子元素集;当所述第二子元素集内的元素序
号之间的差值和所述第三子元素集内的元素序号之间的差值不满足所述差值条件时,将各所述视频片段组的第一过渡图片作为最终的过渡帧图片。
[0198]
在一个实施例中,生成模块还用于当所述第二子元素集内的元素序号之间的差值和所述第三子元素集内的元素序号之间的差值满足所述差值条件时,基于各所述视频片段组的尾帧图片和所述第一过渡图片,生成第二过渡图片;以及,基于各所述视频片段组的首帧图片和所述第一过渡图片,生成第三过渡图片;划分模块还用于依据所述第二过渡图片对应的元素序号对所述第二子元素集进行子集划分,得到第四子元素集与第五子元素集;以及,依据所述第三过渡图片对应的元素序号对所述第三子元素集进行子集划分,得到第六子元素集与第七子元素集;当所述第四子元素集、所述第五子元素集、所述第六子元素集、第七子元素集内的元素序号之间的差值不满足所述差值条件时,将各所述视频片段组的第一过渡图片、第二过渡图片和第三过渡图片作为最终的过渡帧图片。
[0199]
在一个实施例中,生成模块还用于当所述第二子元素集内的元素序号之间的差值满足所述差值条件、但所述第三子元素集内的元素序号之间的差值不满足所述差值条件时,基于各所述视频片段组的尾帧图片和所述第一过渡图片,生成第二过渡图片;划分模块还用于依据所述第二过渡图片对应的元素序号对所述第二子元素集进行子集划分,得到第四子元素集与第五子元素集;当所述第四子元素集、所述第五子元素集内的元素序号之间的差值不满足所述差值条件时,将各所述视频片段组的第一过渡图片和第二过渡图片作为最终的过渡帧图片。
[0200]
在一个实施例中,所述装置还包括:构建模块还用于构建各所述视频片段组对应的过渡帧集合;每组所述过渡帧集合的元素数量等于所述过渡帧数,且所述过渡帧集合的首元素为所述尾帧图片,末位元素为所述首帧图片;保存模块,用于将各所述视频片段组的第一过渡图片保存于每组的所述过渡帧集合。
[0201]
在一个实施例中,所述装置还包括:构建模块还用于构建所述视频片段序列对应的队列集合;存入模块,用于将各所述视频片段组对应的第一子元素集依次存入所述队列集合;生成模块还用于当各所述视频片段组对应的第一子元素集从所述队列集合弹出时,基于各所述视频片段组的尾帧图片和首帧图片,生成第一过渡图片。
[0202]
在一个实施例中,存入模块还用于在得到所述第二子元素集与所述第三子元素集之后,将所述第二子元素集与所述第三子元素集存入所述队列集合;生成模块还用于当各所述视频片段组对应的第二子元素集从所述队列集合弹出时,基于各所述视频片段组的尾帧图片和第一过渡图片,生成第二过渡图片;当各所述视频片段组对应的第三子元素集从所述队列集合弹出时,基于各所述视频片段组的首帧图片和所述第一过渡图片,生成第三过渡图片。
[0203]
在一个实施例中,所述装置还包括:获取模块还用于获取视频帧训练集;所述视频帧训练集包括至少两个训练子集,每个所述训练子集包括从视频帧序列中抽取的两个视频帧图像,且在抽取视频帧图像时,不同所述训练子集对应的间隔步长不同;训练模块,用于依次将各所述训练子集输入至所述图像生成网络进行训练,得到预测图片;当所述预测图片与视频帧标签之间的损失值达到损失条件时,停止训练。
[0204]
上述视频过渡装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存
储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0205]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括处理器、存储器、输入/输出接口(input/output,简称i/o)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储视频过渡数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种视频过渡方法。
[0206]
本领域技术人员可以理解,图10中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0207]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0208]
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0209]
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
[0210]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0211]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形
处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0212]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0213]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献