CN115205428A - 视频处理方法、装置、设备及存储介质 - Google Patents
视频处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115205428A CN115205428A CN202210802559.0A CN202210802559A CN115205428A CN 115205428 A CN115205428 A CN 115205428A CN 202210802559 A CN202210802559 A CN 202210802559A CN 115205428 A CN115205428 A CN 115205428A
- Authority
- CN
- China
- Prior art keywords
- frame
- prediction
- predicted
- sequence
- initial
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2213/00—Indexing scheme for animation
- G06T2213/12—Rule based animation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例提供一种视频处理方法、装置、设备及存储介质,至少应用于人工智能领域和视频领域,其中,方法包括:分别以目标视频的初始帧和结束帧为预测起始帧,采用自回归预测方式,确定出对应于初始帧的正向预测帧序列和对应于结束帧的反向预测帧序列;按照正向预测帧序列中每一正向预测帧对应的时间戳和反向预测帧序列中每一反向预测帧对应的时间戳,对正向预测帧序列和反向预测帧序列进行预测帧融合处理,得到预测帧序列;对初始帧、预测帧序列和结束帧进行视频帧拼接处理,得到目标视频。通过本申请,能够解决关键帧插值任务中的目标帧偏离问题,且能够提高所生成的目标视频的动画质量,降低视频后处理的工作量,极大的节约计算资源。
Description
技术领域
本申请实施例涉及互联网技术领域,涉及但不限于一种视频处理方法、装置、设备及存储介质。
背景技术
关键帧插值技术(In-betweening)在电影制作以及电子游戏等动画视频领域有着广泛的应用,而手动插值的方式是非常耗时的,这将大大增加动画视频制作过程的时间成本。一些基于深度学习的数据驱动的方法可以有效地代替手动插值,从而显著地节省人力资源、加速动画视频制作的流程。
相关技术中,基于深度学习的方法受误差累积的影响,生成的过渡动画会逐渐地偏移目标帧,通常采用后处理的方式对偏离问题进行解决,例如,将生成的过渡动画的最后一帧或几帧与提供的目标帧或目标帧之后的几帧进行混合。
但是,相关技术中的方法,将动画的视频帧经过混合后,由于指定的目标帧发生改变,因此混合后的结果依旧是偏离目标帧的,并且,相关技术无法保证混合后的结果是自然的动画视频。混合后的结果会存在滑步、漂移等动画质量问题,这需要额外的后处理工作来解决。
发明内容
本申请实施例提供一种视频处理方法、装置、设备及存储介质,至少应用于人工智能领域和视频领域,能够解决关键帧插值任务中的目标帧偏离问题,且能够提高所生成的目标视频的动画质量,降低视频后处理的工作量,极大的节约计算资源。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种视频处理方法,所述方法包括:
获取目标视频的初始帧和结束帧;分别以所述初始帧和所述结束帧为预测起始帧,采用自回归预测方式,确定出对应于所述初始帧的正向预测帧序列和对应于所述结束帧的反向预测帧序列;按照所述正向预测帧序列中每一正向预测帧对应的时间戳和所述反向预测帧序列中每一反向预测帧对应的时间戳,对所述正向预测帧序列和所述反向预测帧序列进行预测帧融合处理,得到预测帧序列;对所述初始帧、所述预测帧序列和所述结束帧进行视频帧拼接处理,得到所述目标视频。
本申请实施例提供一种视频处理装置,所述装置包括:获取模块,用于获取目标视频的初始帧和结束帧;确定模块,用于分别以所述初始帧和所述结束帧为预测起始帧,采用自回归预测方式,确定出对应于所述初始帧的正向预测帧序列和对应于所述结束帧的反向预测帧序列;预测帧融合模块,用于按照所述正向预测帧序列中每一正向预测帧对应的时间戳和所述反向预测帧序列中每一反向预测帧对应的时间戳,对所述正向预测帧序列和所述反向预测帧序列进行预测帧融合处理,得到预测帧序列;拼接模块,用于对所述初始帧、所述预测帧序列和所述结束帧进行视频帧拼接处理,得到所述目标视频。
在一些实施例中,所述确定模块还用于:针对于每一当前帧,获取所述当前帧的角色状态、所述初始帧的角色状态和所述结束帧的角色状态;通过编码器对所述当前帧的角色状态、所述初始帧的角色状态和所述结束帧的角色状态进行编码处理,得到编码向量;通过解码器对所述编码向量进行解码处理,对应得到所述当前帧的下一正向预测帧和下一反向预测帧。
在一些实施例中,所述确定模块还用于:当预测所述当前帧的下一正向预测帧时,确定所述当前帧与所述结束帧的角色状态偏移量,并通过编码器对所述当前帧的角色状态、所述结束帧的角色状态和所述角色状态偏移量进行编码处理,得到第一编码向量;当预测所述当前帧的下一反向预测帧时,确定所述当前帧与所述初始帧的角色状态偏移量,并通过编码器对所述当前帧的角色状态、所述初始帧的角色状态和所述角色状态偏移量进行编码处理,得到第二编码向量;对所述第一编码向量和所述第二编码向量分别进行数据分布空间提取,对应得到第一提取向量和第二提取向量;通过所述解码器分别对所述第一提取向量和所述第二提取向量进行解码处理,对应得到所述当前帧的下一正向预测帧和下一反向预测帧。
在一些实施例中,所述确定模块还用于:对所述第一编码向量分别进行当前帧数据分布空间提取和结束帧数据分布空间提取,对应得到当前帧数据分布和结束帧数据分布;对所述当前帧数据分布和所述结束帧数据分布进行线性插值处理,得到所述第一提取向量;以及,对所述第二编码向量分别进行当前帧数据分布空间提取和初始帧数据分布空间提取,对应得到当前帧数据分布和初始帧数据分布;对所述当前帧数据分布和所述初始帧数据分布进行线性插值处理,得到所述第二提取向量。
在一些实施例中,所述装置还包括:系数确定模块,用于根据所述当前帧在所述目标视频中的位置,确定线性插值系数;所述确定模块还用于:基于所述线性插值系数,对所述当前帧数据分布和所述结束帧数据分布进行线性插值处理,得到所述第一提取向量;基于所述线性插值系数,对所述当前帧数据分布和所述初始帧数据分布进行线性插值处理,得到所述第二提取向量。
在一些实施例中,所述确定模块还用于:通过正向生成器以所述初始帧为预测起始帧,依次确定出所述正向预测帧序列中的每一正向预测帧;通过反向生成器以所述结束帧为预测起始帧,依次确定出所述反向预测帧序列中的每一反向预测帧;其中,所述正向生成器与所述反向生成器交替运行,且所述反向生成器在每次预测得到反向预测帧时,将所述反向预测帧作为所述正向生成器的条件信息,输入至所述正向生成器中以预测所述正向预测帧;所述正向生成器在每次预测得到正向预测帧时,将所述正向预测帧作为所述反向生成器的条件信息,输入至所述反向生成器中以预测所述反向预测帧。
在一些实施例中,所述解码器包括多个专家网络和一个门控网络;所述装置还包括:相位特征获取模块,用于获取所述目标视频的相位特征;输入模块,用于将所述相位特征输入至所述门控网络中,得到多个混合系数;线性混合模块,用于基于所述多个混合系数对所述多个专家网络进行线性混合,得到所述解码器。
在一些实施例中,所述预测帧融合模块还用于:将所述正向预测帧序列和所述反向预测帧序列中具有相同时间戳的正向预测帧和反向预测帧,确定为一对双向预测帧对;依次对所述正向预测帧序列和所述反向预测帧序列对应的每一双向预测帧对进行预测帧融合处理,得到所述预测帧序列。
在一些实施例中,所述预测帧融合模块还用于:确定所述正向预测帧序列中未进行所述预测帧混合处理的正向剩余帧、和所述反向预测帧序列中未进行所述预测帧混合处理的反向剩余帧;确定所述正向剩余帧和所述反向剩余帧各自对应的时间戳;依次对所述正向预测帧序列和所述反向预测帧序列对应的每一双向预测帧对进行预测帧混合处理,得到混合处理帧;将所述双向预测帧对中正向预测帧和反向预测帧的时间戳,确定为相应的混合处理帧的时间戳;按照所述时间戳先后顺序,对所述正向剩余帧、所述混合处理帧和所述反向剩余帧进行拼接处理,得到所述预测帧序列。
在一些实施例中,所述正向预测帧中包括目标对象的多个关键点的第一位置坐标,所述反向预测帧中包括所述目标对象的多个关键点的第二位置坐标;所述预测帧融合模块还用于:依次根据正向预测帧和反向预测帧在所述目标视频中的位置,确定相应的正向预测帧混合权重和相应的反向预测帧的混合权重;基于所述正向预测帧的混合权重和所述反向预测帧的混合权重,依次对每一双向预测帧对中的相同关键点的第一位置坐标和第二位置坐标进行预测帧混合处理,得到所述混合处理帧。
在一些实施例中,所述正向预测帧序列中的正向预测帧的数量与所述反向预测帧序列中的反向预测帧的数量相同;在所述正向预测帧序列中,每相邻的两个正向预测帧在所述目标视频中对应的时间间隔,与所述反向预测帧序列中,每相邻的两个反向预测帧在所述目标视频中对应的时间间隔相同。
在一些实施例中,在所述正向预测帧序列中,第一个正向预测帧与最后一个正向预测帧在所述目标视频中对应的时间间隔,小于所述初始帧与所述结束帧在所述目标视频中对应的时间间隔,且大于所述初始帧与所述结束帧在所述目标视频中对应的时间间隔的一半;在所述反向预测帧序列中,第一个反向预测帧与最后一个反向预测帧在所述目标视频中对应的时间间隔,小于所述初始帧与所述结束帧在所述目标视频中对应的时间间隔,且大于所述初始帧与所述结束帧在所述目标视频中对应的时间间隔的一半。
本申请实施例提供一种视频处理设备,包括:
存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现上述视频处理方法。
本申请实施例提供一种计算机程序产品或计算机程序,计算机程序产品或计算机程序包括可执行指令,可执行指令存储在计算机可读存储介质中;其中,视频处理设备的处理器从计算机可读存储介质中读取可执行指令,并执行可执行指令时,实现上述的视频处理方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行所述可执行指令时,实现上述视频处理方法。
本申请实施例具有以下有益效果:分别以初始帧和结束帧为预测起始帧,采用自回归预测方式,确定出对应于初始帧的正向预测帧序列和对应于结束帧的反向预测帧序列,然后对正向预测帧序列和反向预测帧序列进行预测帧融合处理,得到预测帧序列,从而对初始帧、预测帧序列和结束帧进行视频帧拼接处理,得到目标视频。如此,由于采用自回归预测方式分别从两个方向开始,确定出正向预测帧序列和反向预测帧序列,并通过对正向预测帧序列和反向预测帧序列进行融合,从而能够解决关键帧插值任务中的目标帧偏离问题,且能够提高所生成的目标视频的动画质量,缓解所生成的目标视频中目标对象的滑步和漂移等问题,降低视频后处理的工作量,极大的节约计算资源。
附图说明
图1A至图1C是相关技术中采用RMIB方法生成动画视频的示意图;
图2是RMIB方法在相同约束条件下生成六次样本的同一时刻的结果;
图3是本申请实施例提供的视频处理系统的一个可选的架构示意图;
图4是本申请实施例提供的视频处理设备的结构示意图;
图5是本申请实施例提供的视频处理方法的一个可选的流程示意图;
图6是本申请实施例提供的视频处理方法的另一个可选的流程示意图;
图7是本申请实施例提供的视频处理方法的再一个可选的流程示意图;
图8是本申请实施例的视频处理方法的效果示意图;
图9是采用本申请实施例的方法在相同条件下生成三次并截取的同一时刻的生成结果示意图;
图10是本申请实施例提供的双向生成机制的流程图;
图11是本申请实施例提供的CVAE网络的结构示意图;
图12是本申请实施例提供的S-CVAE的编码器结构示意图;
图13是本申请实施例提供的双向对齐示意图;
图14A至14C是本申请实施例提供的过渡动画的生成结果示意图;
图15是本申请实施例提供的多段连续的关键帧插值结果示意图;
图16是在相同条件下生成的6次预测值及对应的实际值对比图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请实施例的技术领域的技术人员通常理解的含义相同。本申请实施例所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在解释本申请实施例的视频处理方法之前,首先对相关技术中的方法进行说明。
相关技术中,关键帧插值在电影制作以及电子游戏领域有着广泛的应用,而手动插值的方式是非常耗时的,尤其是随着过渡动画序列长度的增加,时间成本也会成倍的增长,这将大大增加动画视频(即目标视频)制作过程的时间成本。一些基于深度学习的数据驱动的方法可以有效地代替手动插值,从而显著地节省人力资源、加速动画视频制作地流程。并且过渡动画的序列越长,基于学习的方式优势越明显。因为序列越长,手动插值需要的时间会成倍增长。长时间序列意味着包含有更多的信息,这对插值结果的多样性提出了更高的要求,手动插值的难度也大大增加。
基于深度学习的数据驱动方法对以上问题可以有效的解决,但也面临着新的问题。例如,相关技术中通过RMIB进行预测的方法,由于受到误差累积的影响,导致生成的片段逐渐的远离目标帧,图1A至图1C是相关技术中采用RMIB方法生成动画视频的示意图,其中细实线表示RMIB方法生成的尾帧101,粗实线表示给定的目标帧102,从图1中RMIB方法生成的尾帧101与给定的目标帧102的贴合情况,可以看出,生成的视频片段(即过渡动画)远离目标帧。相关技术中的方法常采用后处理的方式对偏离问题进行解决。具体方法是,将生成的过渡动画的最后一帧或几帧与提供的目标帧或目标帧之后的几帧进行混合。这样做可能导致两个问题:1)经过混合后,指定的目标帧发生改变,混合后的结果依旧是偏离目标帧的;2)无法保证混合的结果是自然的动画,混合后的结果很可能存在滑步、漂移等瑕疵,这需要额外的后处理工作来解决。
另外,RMIB以及基于Transformer的方法的生成结果都缺乏多样性,如图2所示,其中,图2是RMIB方法在相同约束条件下生成六次样本的同一时刻的结果,可以看出,RMIB方法在相同约束条件下生成六次样本的同一时刻的结果非常接近,因此,生成的结果非常单一,不具备多样性。而通常初始帧与目标帧的过渡动画结果往往存在多种可能,单一的生成结果很难满足动画制作者的需要。
基于相关技术中所存在的问题,本申请实施例提供一种视频处理方法,该方法是一种可得到多样性结果的双向关键帧插值方案。本申请实施例可以保证生成的过渡动画完美的与目标帧贴合,同时使生成的结果具备一定的多样性,即在相同条件下每次生成的结果是有差别的。也就是说,本申请实施例提出了一种可得到多样性结果的双向关键帧插值方案,可以有效的解决关键帧插值任务中的多样性以及目标帧偏离问题;并且,本申请实施例首次将相位特征(Phase)引入到关键帧插值任务。Phase可以缓解生成过渡动画的滑步问题,提升动画质量。
本申请实施例提供的视频处理方法中,首先,获取目标视频的初始帧和结束帧;并分别以初始帧和结束帧为预测起始帧,采用自回归预测方式,确定出对应于初始帧的正向预测帧序列和对应于结束帧的反向预测帧序列;然后,按照正向预测帧序列中每一正向预测帧对应的时间戳和反向预测帧序列中每一反向预测帧对应的时间戳,对正向预测帧序列和反向预测帧序列进行预测帧融合处理,得到预测帧序列;最后,对初始帧、预测帧序列和结束帧进行视频帧拼接处理,得到目标视频。如此,由于采用自回归预测方式分别从两个方向开始,确定出正向预测帧序列和反向预测帧序列,并通过对正向预测帧序列和反向预测帧序列进行融合,从而能够解决关键帧插值任务中的目标帧偏离问题,且能够提高所生成的目标视频的动画质量,缓解所生成的目标视频中目标对象的滑步和漂移等问题,降低视频后处理的工作量,极大的节约计算资源。
下面说明本申请实施例的视频处理设备的示例性应用,本申请实施例提供的视频处理设备可以实施为终端,也可以实施为服务器。在一种实现方式中,本申请实施例提供的视频处理设备可以实施为笔记本电脑,平板电脑,台式计算机,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)、智能机器人、智能家电和智能车载设备等任意的具备视频显示功能并能够对给定的初始帧和结束帧进行处理以得到目标视频的终端;在另一种实现方式中,本申请实施例提供的视频处理设备还可以实施为服务器,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,Content DeliveryNet work)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。下面,将说明视频处理设备实施为服务器时的示例性应用。
参见图3,图3是本申请实施例提供的视频处理系统的一个可选的架构示意图,本申请实施例以视频处理方法应用于动画视频制作为例进行说明,也就是说,最终生成的目标视频可以是动画视频。为实现支撑任意一个动画视频制作应用,本申请实施例的终端上至少安装有动画视频制作应用,通过该动画视频制作应用能够实现在给定动画视频的初始帧和结束帧的条件下,自动生成初始帧与结束帧之间的过渡动画,该过渡动画即预测帧序列,最终可以将过渡动画与初始帧和结束帧分别进行拼接,生成一个完整的动画视频。
本申请实施例中,视频处理系统10中至少包括终端100、网络200和服务器300,其中服务器300是动画视频制作应用的服务器。服务器300可以构成本申请实施例的视频处理设备。终端100通过网络200连接服务器300,网络200可以是广域网或者局域网,又或者是二者的组合。在运行动画视频制作应用时,终端100通过动画视频制作应用的客户端获取目标视频的初始帧和结束帧,并与初始帧和结束帧生成目标视频生成请求,将目标视频生成请求发送给服务器300。服务器300解析目标视频生成请求得到初始帧和结束帧,并分别以初始帧和结束帧为预测起始帧,采用自回归预测方式,确定出对应于初始帧的正向预测帧序列和对应于结束帧的反向预测帧序列;按照正向预测帧序列中每一正向预测帧对应的时间戳和反向预测帧序列中每一反向预测帧对应的时间戳,对正向预测帧序列和反向预测帧序列进行预测帧融合处理,得到预测帧序列;对初始帧、预测帧序列和结束帧进行视频帧拼接处理,得到目标视频。服务器300在得到目标视频之后,将目标视频通过网络200发送给终端100,终端100在客户端显示目标视频。
在一些实施例中,终端100可以通过动画视频制作应用的客户端获取目标视频的初始帧和结束帧,并将初始帧和结束帧发送给服务器300。服务器300分别以初始帧和结束帧为预测起始帧,采用自回归预测方式,确定出对应于初始帧的正向预测帧序列和对应于结束帧的反向预测帧序列;按照正向预测帧序列中每一正向预测帧对应的时间戳和反向预测帧序列中每一反向预测帧对应的时间戳,对正向预测帧序列和反向预测帧序列进行预测帧融合处理,得到预测帧序列。服务器300在得到预测帧序列后,将预测帧序列通过网络200发送给终端100,终端100对初始帧、预测帧序列和结束帧进行视频帧拼接处理,得到目标视频并显示。
在一些实施例中,还可以由终端100实现视频处理方法,也就是说,由终端作为执行主体分别以初始帧和结束帧为预测起始帧,采用自回归预测方式,确定出对应于初始帧的正向预测帧序列和对应于结束帧的反向预测帧序列;并按照正向预测帧序列中每一正向预测帧对应的时间戳和反向预测帧序列中每一反向预测帧对应的时间戳,对正向预测帧序列和反向预测帧序列进行预测帧融合处理,得到预测帧序列;以及,对初始帧、预测帧序列和结束帧进行视频帧拼接处理,得到目标视频。
本申请实施例所提供的视频处理方法还可以基于云平台并通过云技术来实现,例如,上述服务器300可以是云端服务器。通过云端服务器采用自回归预测方式,确定出对应于初始帧的正向预测帧序列和对应于结束帧的反向预测帧序列,或者,通过云端服务器对正向预测帧序列和反向预测帧序列进行预测帧融合处理,得到预测帧序列,或者,通过云端服务器对初始帧、预测帧序列和结束帧进行视频帧拼接处理,得到目标视频等。
在一些实施例中,还可以具有云端存储器,可以将目标视频的初始帧和结束帧存储至云端存储器中,或者,还可以将正向预测帧序列、反向预测帧序列和预测帧序列存储至云端存储器中,或者,还可以将目标视频存储至云端存储器中。这样,在输入初始帧和结束帧以请求预测目标视频时,可以从云端存储器中获取正向预测帧序列和反向预测帧序列,或者从云端存储器中获取预测帧序列,进而得到目标视频。
这里需要说明的是,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
图4是本申请实施例提供的视频处理设备的结构示意图,图4所示的视频处理设备包括:至少一个处理器310、存储器350、至少一个网络接口320和用户接口330。视频处理设备中的各个组件通过总线系统340耦合在一起。可理解,总线系统340用于实现这些组件之间的连接通信。总线系统340除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统340。
处理器310可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口330包括使得能够呈现媒体内容的一个或多个输出装置331,以及一个或多个输入装置332。
存储器350可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器350可选地包括在物理位置上远离处理器310的一个或多个存储设备。存储器350包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器350旨在包括任意适合类型的存储器。在一些实施例中,存储器350能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统351,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块352,用于经由一个或多个(有线或无线)网络接口320到达其他计算设备,示例性的网络接口320包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
输入处理模块353,用于对一个或多个来自一个或多个输入装置332之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可采用软件方式实现,图4示出了存储在存储器350中的一种视频处理装置354,该视频处理装置354可以是视频处理设备中的视频处理装置,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块3541、确定模块3542、预测帧融合模块3543和拼接模块3544,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的视频处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logi c Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。
本申请各实施例提供的视频处理方法可以由视频处理设备来执行,其中,该视频处理设备可以是任意一种具备视频显示功能并能够对给定的初始帧和结束帧进行处理以得到目标视频的终端,或者也可以是服务器,即本申请各实施例的视频处理方法可以通过终端来执行,也可以通过服务器来执行,或者还可以通过终端与服务器进行交互来执行。
参见图5,图5是本申请实施例提供的视频处理方法的一个可选的流程示意图,下面将结合图5示出的步骤进行说明,需要说明的是,图5中的视频处理方法是通过服务器作为执行主体为例来说明的。
步骤S501,获取目标视频的初始帧和结束帧。
这里,目标视频是指待生成的视频,本申请实施例中,目标视频可以是动画视频或者目标对象的骨骼动画,例如,可以是人体的骨骼动画、动物的骨骼动画等。在骨骼动画中,可以没有背景图像和背景信息,只有目标对象的骨架,且该骨架是三维的骨骼。
初始帧是指目标视频的第一帧图像,结束帧是指目标视频的最后一帧图像。本申请实施例的方案是预测初始帧与结束帧之间的多个连续的视频帧。
本申请实施例可以应用于动画视频制作应用,为了制作一段动画视频片段,或者为了对动画视频片段中间的视频帧进行修正和更新,可以给定初始帧和结束帧,并基于给定的初始帧和结束帧预测中间的预测帧序列。在选取初始帧和结束帧时,对于一个具有一定时长的动画视频,可以基于一定的时间间隔,选取多个动画视频片段对应的视频帧对,一个视频帧对中包括一个初始帧和一个结束帧,相邻两个视频帧对中,前一个视频帧对的结束帧可以是下一个视频帧对的初始帧。在基于时间间隔选取多个视频帧对之后,基于多个视频帧对预测相应的每一视频帧对中的初始帧和结束帧之间的预测帧序列。
步骤S502,分别以初始帧和结束帧为预测起始帧,采用自回归预测方式,确定出对应于初始帧的正向预测帧序列和对应于结束帧的反向预测帧序列。
这里,可以以初始帧为预测起始帧,正向预测出对应于初始帧的正向预测帧序列,同时,以结束帧为预测起始帧,反向预测出对应于结束帧的反向预测帧序列。
可以采用自回归预测方式分别预测出正向预测帧序列中的每一正向预测帧和反向预测帧序列中的每一反向预测帧。这里,自回归预测方式是指,在预测正向预测帧序列中的每一正向预测帧时,对于当前预测过程,是基于在先的、已预测得到的、且与当前即将预测出的正向预测帧相邻的正向预测帧作为输入参数,来预测当前预测过程即将预测出的正向预测帧;在预测反向预测帧序列中的每一反向预测帧时,对于当前预测过程,是基于在先的、已预测得到的、且与当前即将预测出的反向预测帧相邻的反向预测帧作为输入参数,来预测当前预测过程即将预测出的反向预测帧。也就是说,在自回归预测方式中,是用自身的数据预测下一帧的数据,然后会用下一帧的数据再作为输入预测下下一帧的数据,如此循环的预测方式。
在一些实施例中,可以预先构建一自回归模型,该自回归模型可以集成于生成器中,通过生成器中的自回归模型来预测每一正向预测帧和每一反向预测帧。
正向预测帧序列中包括多个正向预测帧,每一正向预测帧对应一时间戳,初始帧和结束帧对应目标视频的起始时间和结束时间。在正向视频帧序列中,目标视频的初始帧位于正向视频帧序列的初始位置之前,目标视频的结束帧位置正向视频帧序列的结束位置之后。正向预测帧序列对应的时长小于或等于目标视频的时长。举例来说,目标视频的时长可以为10秒(s),正向视频帧序列中可以包括时间为第1s、2s、3s、4s、5s、6s、7s时的视频帧,初始帧为第0秒的视频帧,结束帧为第10秒的视频帧。
反向预测帧序列中包括多个反向预测帧,每一反向预测帧也对应一时间戳,在预测反向视频帧序列时,是以结束帧为预测起始帧,得到多个反向视频帧。此时,目标视频的初始帧和结束帧在反向视频帧序列中的位置,与在正向视频帧序列中的位置刚好相反,即目标视频的初始帧位于反向视频帧序列的结束位置之后,目标视频的结束帧位于反向视频帧序列的初始位置之前。反向预测帧序列对应的时长也小于或等于目标视频的时长。举例来说,目标视频的时长可以为10s,反向视频帧序列中可以包括时间为第9s、8s、7s、6s、5s、4s、3s时的视频帧1。
在一些实施例中,由于正向视频帧序列与反向视频帧序列同时生成,且预测正向视频帧与预测反向视频帧的速率相同,因此,正向视频帧序列中正向视频帧的数量与反向视频帧序列中反向视频帧的数量相同。在正向预测帧序列中,每相邻的两个正向预测帧在目标视频中对应的时间间隔,与在反向预测帧序列中,每相邻的两个反向预测帧在目标视频中对应的时间间隔相同。也就是说,正向视频帧序列的预测帧率与反向视频帧序列的预测帧率相同。
步骤S503,按照正向预测帧序列中每一正向预测帧对应的时间戳和反向预测帧序列中每一反向预测帧对应的时间戳,对正向预测帧序列和反向预测帧序列进行预测帧融合处理,得到预测帧序列。
这里,预测帧融合处理可以是将具有相同时间戳的正向预测帧与反向视频帧进行混合,得到混合后的一个预测帧,该预测帧与对应的正向预测帧和反向预测帧的时间戳相同。在对全部具有相同时间戳的正向预测帧和反向视频帧进行混合处理之后,将全部的混合后的预测帧按照时间戳的先后顺序进行排序和拼接,得到预测帧序列。
本申请实施例中,由于正向视频帧序列对应的时长小于目标视频,且反向视频帧序列对应的时长也小于目标视频,正向视频帧序列对应的时长与反向视频帧序列对应的时长相同,因此,在进行预测帧融合处理时,可以无需对初始帧与结束帧之间的每一时刻上的视频帧均进行混合处理,从而能够极大的降低视频处理的数据量,提高预测帧序列的生成效率。
在一些实施例中,对于正向预测帧序列和反向预测帧序列中,不具有相同时间戳的正向预测帧和反向预测帧,可以不进行混合处理,直接作为预测帧被拼接至预测帧序列中。
步骤S504,对初始帧、预测帧序列和结束帧进行视频帧拼接处理,得到目标视频。
本申请实施例中,在得到预测帧序列之后,可以将初始帧拼接至预测帧序列的首部位置,将结束帧拼接至预测帧序列的尾部位置,形成连续的目标视频。由于预测帧序列时基于初始帧和结束帧得到的,因此,预测帧序列的开始几帧预测帧与初始帧中的目标对象的动作之间的差异度小于差异度阈值,预测帧序列的结束几帧预测帧与结束帧中的目标对象的动作之间的差异度小于差异度阈值,如此,使得预测帧序列不仅与初始帧中的目标对象的动作之间更加衔接和连续,且预测帧序列还与结束帧中的目标对象的动作之间更加衔接和连续。
需要说明的是,本申请实施例中,由于是对动画视频进行预测,且动画视频是包括人体或动物的骨骼动画,因此,在预测正向预测帧和反向预测帧时,可以是预测正向预测帧和反向预测帧中的人体或动物的各个关键位置(例如,可以是关节位置)的关键点在世界坐标系下的坐标,然后基于预测得到的坐标,依次连接各个关键点,得到骨骼动画对应的预测帧。
本申请实施例提供的视频处理方法,分别以初始帧和结束帧为预测起始帧,采用自回归预测方式,确定出对应于初始帧的正向预测帧序列和对应于结束帧的反向预测帧序列,然后对正向预测帧序列和反向预测帧序列进行预测帧融合处理,得到预测帧序列,从而对初始帧、预测帧序列和结束帧进行视频帧拼接处理,得到目标视频。如此,由于采用自回归预测方式分别从两个方向开始,确定出正向预测帧序列和反向预测帧序列,并通过对正向预测帧序列和反向预测帧序列进行融合,从而能够解决关键帧插值任务中的目标帧偏离问题,且能够提高所生成的目标视频的动画质量,缓解所生成的目标视频中目标对象的滑步和漂移等问题,降低视频后处理的工作量,极大的节约计算资源。
在一些实施例中,视频处理系统中至少包括终端和服务器,本申请实施例的视频处理方法可以应用于动画视频的生成。终端上安装有动画视频制作应用,通过动画视频制作应用的客户端输入待生成的动画视频(即目标视频)的初始帧和结束帧,就可以自动生成一段包含有初始帧和结束帧的连续动画视频。
图6是本申请实施例提供的视频处理方法的另一个可选的流程示意图,如图6所示,方法包括以下步骤:
步骤S601,终端获取目标视频的初始帧和结束帧。
在一些实施例中,用户可以通过动画视频制作应用的客户端输入初始帧和结束帧,例如,可以通过输入画笔在客户端的输入界面上绘制初始帧和结束帧,或者,在客户端的输入界面上点击选择各个关键位置(例如,人体的关节位置),或者,输入各个关键位置对应的关键点在世界坐标系下的坐标。
在另一些实施例中,目标视频的初始帧和结束帧可以是从网络上下载或者是客户端接收到的视频帧,该视频帧中已经标注出每一关键位置,或者,在从网络上下载或者客户端接收到视频帧之后,可以接收用户的标记操作,该标记操作用于标记出初始帧和结束帧中的每一关键位置。从而保证后续在预测正向预测帧序列和反向预测帧序列时,可以基于关键位置对应的关键点的坐标进行准确的预测。
在其他实施例中,视频处理方法还可以应用于对已有动画视频的更新,因此可以提取已有动画视频中的任意两帧视频作为初始帧和结束帧,并重新预测初始帧和结束帧之间的预测帧序列,以实现基于预测得到的新的预测帧序列生成一段新的动画视频片段,实现对已有动画视频中的一个或多个动画视频片段的更新。
步骤S602,终端将初始帧和结束帧封装至目标视频生成请求中。
步骤S603,终端将目标视频生成请求发送给服务器。
步骤S604,服务器针对于每一当前帧,获取当前帧的角色状态、初始帧的角色状态和结束帧的角色状态。
这里,当前帧是指在正向预测帧序列和反向预测帧序列的预测过程中,对于每一时刻下正在预测的一个视频帧的前一视频帧,举例来说,当当前正在预测正向视频帧序列中的第N+1个正向视频帧时,则第N个正向视频帧即为当前帧。如果当前正在预测的是正向视频帧序列中的第一个正向视频帧,则当前帧为初始帧;如果当前正在预测的是反向视频帧序列中的第一个反向视频帧,则当前帧为结束帧。
本申请实施例中,角色状态包括但不限于以下至少之一:目标对象在世界坐标系下的坐标(例如,x坐标值、y坐标值、z坐标值)、目标对象的脚部关节的信息、左右脚是否与地面接触的信息、根节点的运动速度。其中,根节点是指目标对象最中间位置对应的点,例如,当目标对象为人体时,根节点可以是人体臀部位置的节点。
步骤S605,服务器调用编码器对当前帧的角色状态、初始帧的角色状态和结束帧的角色状态进行编码处理,得到编码向量。
在一些实施例中,通过编码器进行编码处理,可以通过以下方式实现:当预测当前帧的下一正向预测帧时,可以先基于当前帧的角色状态与结束帧的角色状态,确定当前帧与结束帧之间的角色状态偏移量,然后,通过编码器对当前帧的角色状态、结束帧的角色状态和角色状态偏移量分别进行编码处理,得到三个编码子向量,再然后,对三个编码子向量进行拼接,得到第一编码向量,其中,第一编码向量的维度等于三个编码子向量的维度之和。
这里,编码器可以是正向生成器中的正向编码器,正向编码器可以由三个子编码器构成,其中三个子编码器可以分别为当前帧编码器、目标帧编码器和偏移量编码器,前帧编码器用于对当前帧的角色状态进行编码处理,目标帧编码器用于对结束帧的角色状态进行编码处理,偏移量编码器用于对角色状态偏移量进行编码处理。
当预测当前帧的下一反向预测帧时,可以先基于当前帧的角色状态与初始帧的角色状态,确定当前帧与初始帧之间的角色状态偏移量,然后,通过编码器对当前帧的角色状态、初始帧的角色状态和角色状态偏移量分别进行编码处理,得到三个编码子向量,再然后,对三个编码子向量进行拼接,得到得到第二编码向量,其中,第二编码向量的维度等于三个编码子向量的维度之和。
这里,编码器可以是反向生成器中的反向编码器,反向编码器也可以由三个子编码器构成,其中三个子编码器可以分别为当前帧编码器、目标帧编码器和偏移量编码器,前帧编码器用于对当前帧的角色状态进行编码处理,目标帧编码器用于对初始帧的角色状态进行编码处理,偏移量编码器用于对角色状态偏移量进行编码处理。
步骤S606,服务器调用解码器对编码向量进行解码处理,对应得到当前帧的下一正向预测帧和下一反向预测帧。
在一些实施例中,通过解码器进行解码处理,可以通过以下步骤S6061和步骤S6062(图中未示出)实现:
步骤S6061,在解码处理之前,对第一编码向量和第二编码向量分别进行数据分布空间提取,对应得到第一提取向量和第二提取向量。
本申请实施例中,可以对第一编码向量分别进行当前帧数据分布空间提取和结束帧数据分布空间提取,对应得到当前帧数据分布和结束帧数据分布;然后,对当前帧数据分布和结束帧数据分布进行线性插值处理,得到第一提取向量。以及,对第二编码向量分别进行当前帧数据分布空间提取和初始帧数据分布空间提取,对应得到当前帧数据分布和初始帧数据分布;然后,对当前帧数据分布和初始帧数据分布进行线性插值处理,得到第二提取向量。
这里,对第一编码向量进行当前帧数据分布空间提取是指从第一编码向量中,提取当前帧的角色状态的数据分布;对第一编码向量进行结束帧数据分布空间提取,是指从第一编码向量中,提取结束帧的角色状态的数据分布。对第二编码向量进行当前帧数据分布空间提取是指从第二编码向量中,提取当前帧的角色状态的数据分布;对第二编码向量进行初始帧数据分布空间提取,是指从第二编码向量中,提取初始帧的角色状态的数据分布。
对当前帧数据分布和结束帧数据分布进行线性插值处理,可以是基于一定的线性插值系数,对当前帧数据分布和结束帧数据分布进行加权求和,得到求和向量,即第一提取向量;对当前帧数据分布和初始帧数据分布进行线性插值处理,可以是基于一定的线性插值系数,对当前帧数据分布和初始帧数据分布进行加权求和,得到求和向量,即第二提取向量。
在一些实施例中,还可以根据当前帧和结束帧在目标视频中的位置,确定线性插值系数,也就是说,对于处于目标视频中不同位置的当前帧,具有不同的线性插值系统,针对于当前帧和结束帧可以具有不同的线性插值系数,且当前帧和结束帧的线性插值系数之和为1。并且,可以基于线性插值系数,对当前帧数据分布和结束帧数据分布进行线性插值处理,得到第一提取向量。在实现的过程中,可以是将当前帧数据分布与当前帧的线性插值系数相乘,将结束帧数据分布与结束帧的线性插值系数相乘,然后,将两个乘积向量求和,得到第一提取向量。
在另一些实施例中,还可以根据当前帧和初始帧在目标视频中的位置,确定线性插值系数,也就是说,对于处于目标视频中不同位置的当前帧,具有不同的线性插值系统,针对于当前帧和初始帧可以具有不同的线性插值系数,且当前帧和初始帧的线性插值系数之和为1。并且,可以基于线性插值系数,对当前帧数据分布和初始帧数据分布进行线性插值处理,得到第二提取向量。在实现的过程中,可以是将当前帧数据分布与当前帧的线性插值系数相乘,将初始帧数据分布与初始帧的线性插值系数相乘,然后,将两个乘积向量求和,得到第二提取向量。
步骤S6062,通过解码器分别对第一提取向量和第二提取向量进行解码处理,对应得到当前帧的下一正向预测帧和下一反向预测帧。
这里,在预测下一正向预测帧时,是对第一提取向量进行解码处理;在预测下一反向预测帧时,是对第二提取向量进行解码处理。
步骤S607,服务器按照正向预测帧序列中每一正向预测帧对应的时间戳和反向预测帧序列中每一反向预测帧对应的时间戳,对正向预测帧序列和反向预测帧序列进行预测帧融合处理,得到预测帧序列。
这里,预测帧融合处理可以是将具有相同时间戳的正向预测帧与反向视频帧进行混合,得到混合后的一个预测帧,该预测帧与对应的正向预测帧和反向预测帧的时间戳相同。在对全部具有相同时间戳的正向预测帧和反向视频帧进行混合处理之后,将全部的混合后的预测帧按照时间戳的先后顺序进行排序和拼接,得到预测帧序列。将在下文中对正向预测帧和反向视频帧进行混合处理的实现过程进行说明。
步骤S608,服务器对初始帧、预测帧序列和结束帧进行视频帧拼接处理,得到目标视频。
这里,可以将初始帧拼接至预测帧序列的首部位置,将结束帧拼接至预测帧序列的尾部位置,形成连续的目标视频。
步骤S609,服务器将目标视频发送给终端。
步骤S610,终端在当前界面上显示目标视频。
本申请实施例提供的视频处理方法,通过调用编码器分别对当前帧的角色状态、初始帧的角色状态和结束帧的角色状态进行编码处理,在进行编码处理时,每一当前帧的编码处理均基于在先的已预测得到的预测帧的结果实现,如此,本次预测过程考虑了在先的预测结果,这样自回归的方式使得先后相邻的两帧预测帧之间的动作更加平滑,从而极大的避免预测的正向预测帧序列和反向预测帧序列中相邻预测帧之间差异度,提高正向预测帧序列和反向预测帧序列的动作平滑度,使得后续预测帧融合处理后生成的预测帧序列的动作也更加平滑,避免了所生成的目标视频中目标对象的滑步和漂移等问题。
图7是本申请实施例提供的视频处理方法的再一个可选的流程示意图,如图7所示,方法包括以下步骤:
步骤S701,终端获取目标视频的初始帧和结束帧。
步骤S702,终端将初始帧和结束帧封装至目标视频生成请求中。
步骤S703,终端将目标视频生成请求发送给服务器。
步骤S704,通过正向生成器以初始帧为预测起始帧,依次确定出正向预测帧序列中的每一正向预测帧。
这里,正向生成器中包括编码器和解码器,通过正向生成器中的编码器以初始帧为预测起始帧,依次对每一当前帧的角色状态、结束帧的角色状态进行编码处理,得到编码向量。在实现的过程中,可以先基于当前帧的角色状态与结束帧的角色状态,确定当前帧与结束帧之间的角色状态偏移量,然后,通过编码器对当前帧的角色状态、结束帧的角色状态和角色状态偏移量分别进行编码处理,得到三个编码子向量,再然后,对三个编码子向量进行拼接,得到正向的编码向量。在得到正向的编码向量之后,通过解码器对编码向量进行解码处理,对应得到当前帧的下一正向预测帧。
步骤S705,通过反向生成器以结束帧为预测起始帧,依次确定出反向预测帧序列中的每一反向预测帧。
这里,反向生成器中包括编码器和解码器,通过反向生成器中的编码器以结束帧为预测起始帧,依次对每一当前帧的角色状态、初始帧的角色状态进行编码处理,得到编码向量。在实现的过程中,可以先基于当前帧的角色状态与初始帧的角色状态,确定当前帧与初始帧之间的角色状态偏移量,然后,通过编码器对当前帧的角色状态、初始帧的角色状态和角色状态偏移量分别进行编码处理,得到三个编码子向量,再然后,对三个编码子向量进行拼接,得到反向的编码向量。在得到反向的编码向量之后,通过解码器对编码向量进行解码处理,对应得到当前帧的下一反向预测帧。
本申请实施例中,正向生成器与反向生成器可以交替运行,且反向生成器在每次预测得到反向预测帧时,可以将预测得到的反向预测帧作为正向生成器的条件信息,输入至正向生成器中以预测下一个正向预测帧;同样的,正向生成器在每次预测得到正向预测帧时,也可以将正向预测帧作为反向生成器的条件信息,输入至反向生成器中以预测下一个反向预测帧。
本申请实施例中,正向生成器与反向生成器的结构相同。在一些实施例中,解码器包括多个专家网络和一个门控网络,下面对解码器的生成过程进行说明,可以通过以下步骤S11至步骤S13(图中未示出)生成解码器:
步骤S11,获取目标视频的相位特征。
这里,相位特征可以是本地相位(local motion phase),相位特征是动作生成领域的一个概念,相位特征是一种周期性信号。
举例来说,相位特征可以通过以下方式得到:对于一个图像序列,如果图像序列中的任一图像中的人物的脚部触地了,则数字设置为1,如果脚部没触地,则数字设置为0,这样就会生成一个由0和1组成的数字序列,该数字序列与图像序列对应。这个数字序列首先会通过一个三角函数逼近的方式,把该数字序列逼近成一个三角函数曲线,从而形成一个连续性的信号,然后对该连续性的信号进行滤波操作,让三角函数曲线更平滑;再然后,把滤波操作后得到的周期性的信号再乘上图像序列中的脚部运动速度,并将乘积作为三角函数曲线的幅值。如此,经过这样一系列处理后,所得到的曲线就是本申请实施例的相位特征,即p hase特征。
步骤S12,将相位特征输入至门控网络中,得到多个混合系数。
本申请实施例中,门控网络是用于协调多个专家网络的。相位特征作为门控网络的输入,输出是一组混合系数。
步骤S13,基于多个混合系数对多个专家网络进行线性混合,得到解码器。
这里,每一专家网络对应一个混合系数,在进行线性混合时,可以是将混合系数与对应的专家网络的网络参数相乘,将乘积分别作为解码器中的网络参数。
步骤S706,将正向预测帧序列和反向预测帧序列中具有相同时间戳的正向预测帧和反向预测帧,确定为一对双向预测帧对。
在一些实施例中,正向预测帧序列中的正向预测帧的数量与反向预测帧序列中的反向预测帧的数量相同;在正向预测帧序列中,每相邻的两个正向预测帧在目标视频中对应的时间间隔,与反向预测帧序列中,每相邻的两个反向预测帧在目标视频中对应的时间间隔相同。
在一些实施例中,在正向预测帧序列中,第一个正向预测帧与最后一个正向预测帧在目标视频中对应的时间间隔,小于初始帧与结束帧在目标视频中对应的时间间隔,且大于初始帧与结束帧在目标视频中对应的时间间隔的一半;在反向预测帧序列中,第一个反向预测帧与最后一个反向预测帧在目标视频中对应的时间间隔,小于初始帧与结束帧在目标视频中对应的时间间隔,且大于初始帧与结束帧在目标视频中对应的时间间隔的一半。
步骤S707,依次对正向预测帧序列和反向预测帧序列对应的每一双向预测帧对进行预测帧融合处理,得到预测帧序列。
在一些实施例中,预测帧融合处理可以通过以下步骤S7071至步骤S7075(图中未示出)实现:
步骤S7071,确定正向预测帧序列中未进行预测帧混合处理的正向剩余帧、和反向预测帧序列中未进行预测帧混合处理的反向剩余帧。
步骤S7072,确定正向剩余帧和反向剩余帧各自对应的时间戳。
步骤S7073,依次对正向预测帧序列和反向预测帧序列对应的每一双向预测帧对进行预测帧混合处理,得到混合处理帧。
在一些实施例中,正向预测帧中包括目标对象的多个关键点的第一位置坐标,反向预测帧中也包括目标对象的多个关键点的第二位置坐标。
这里,目标对象可以是人体或者动物,目标对象的关键点可以是人体或动物的关节位置。在每一正向预测帧和反向预测帧中,可以包括多个关节位置的位置坐标。
依次对正向预测帧序列和反向预测帧序列对应的每一双向预测帧对进行预测帧混合处理,可以通过以下方式实现:依次根据正向预测帧和反向预测帧在目标视频中的位置,确定相应的正向预测帧混合权重和相应的反向预测帧的混合权重;然后,基于正向预测帧的混合权重和反向预测帧的混合权重,依次对每一双向预测帧对中的相同关键点的第一位置坐标和第二位置坐标进行预测帧混合处理,得到混合处理帧。
本申请实施例中,可以根据正向预测帧在目标视频中的位置,确定正向预测帧混合权重,其中,距离目标视频的结束帧越近位置的正向视频帧的正向预测帧混合权重越小,距离目标视频的结束帧越远位置的正向视频帧的正向预测帧混合权重越大。也就是说,距离目标视频的初始帧越近位置的正向视频帧的正向预测帧混合权重越大,距离目标视频的初始帧越远位置的正向视频帧的正向预测帧混合权重越小。并且,可以根据反向预测帧在目标视频中的位置,确定反向预测帧混合权重,其中,距离目标视频的结束帧越近位置的反向预测帧的反向预测帧混合权重越大,距离目标视频的结束帧越远位置的反向预测帧的反向预测帧混合权重越小。也就是说,距离目标视频的初始帧越近位置的反向预测帧的反向预测帧混合权重越小,距离目标视频的初始帧越远位置的反向预测帧的反向预测帧混合权重越大。
这里,基于正向预测帧的混合权重和反向预测帧的混合权重,依次对每一双向预测帧对中的相同关键点的第一位置坐标和第二位置坐标进行预测帧混合处理,可以是分别将正向预测帧的混合权重与第一位置坐标相乘、将反向预测帧的混合权重与第二位置坐标相乘,然后,将两个乘积求和,得到每一双向预测帧对中的每一相同关键点的混合坐标,最后,基于全部相同关键点的混合坐标进行相同关键点连接,得到混合处理帧中目标对象的动作图像,即得到混合处理帧。
举例来说,目标视频总共有11帧(初始帧为第0帧,结束帧为第10帧),正向预测帧序列生成的是正向的第5+2帧,总共7帧,反向预测帧序列生成的是反向的第5+2帧,总共7帧,这样中间就有5帧的重合,分别为第3、4、5、6、7帧。那么,采用本申请实施例的预测帧混合处理,可以是采用线性插值方式,正向的第3、4、5、6、7帧和反向的第7、6、5、4、3帧分别进行混合。这里,在进行线性插值时,正向和反向两方都会有一个系数,这个系数就是混合权重,混合权重在接近最左边(即正向的起始位置)的时候,比值是最大的,混合权重在接近最右边(即正向的结束位置)的时候,比值是最小的。比值最大时,混合权重取值为1,比值最小时,混合权重取值为0。也就是说,从左到右,正向的系数会逐渐减小,反向的系数会逐渐增大,到最右端的时候,正向的系数是0,反向的系数是1。
步骤S7074,将双向预测帧对中正向预测帧和反向预测帧的时间戳,确定为相应的混合处理帧的时间戳。
步骤S7075,按照时间戳先后顺序,对正向剩余帧、混合处理帧和反向剩余帧进行拼接处理,得到预测帧序列。
步骤S708,服务器对初始帧、预测帧序列和结束帧进行视频帧拼接处理,得到目标视频。
步骤S709,服务器将目标视频发送给终端。
步骤S710,终端在当前界面上显示目标视频。
本申请实施例提供的视频处理方法,在对正向预测帧序列和反向预测帧序列进行预测帧融合处理时,是基于正向预测帧在目标视频中的位置,以及反向视频帧在目标视频中的位置,确定正向预测帧的混合权重和反向预测帧的混合权重,从而分别基于正向预测帧的混合权重和反向预测帧的混合权重,对双向预测帧对中的相同关键点的第一位置坐标和第二位置坐标进行加权求和,实现预测帧混合处理。其中,越靠近初始帧的正向预测帧的混合权重越大,越靠近结束帧的反向预测帧的混合权重越大,如此,能够保证越靠近初始帧的混合处理帧与初始帧之间的目标对象的动作越接近,动作更平滑;越靠近结束帧的混合处理帧与结束帧之间的目标对象的动作越接近,动作更平滑,从而进一步避免了所生成的目标视频中目标对象的滑步和漂移等问题。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例提供一种视频处理方法,该视频处理方法适用于可变长度序列的关键帧插值。只要给定关键帧,就可以通过本申请实施例的方案进行过渡动画的补全。实际的应用场景可以是只给定关键帧的动画资产制作或动作捕捉时部分遗漏的过渡动画的二次补全。举例来说,这里的动画可以是游戏动画,本申请实施例的视频处理方法可以应用于游戏动画的制作或者对游戏动画中部分遗漏的过度动画的补全。
在其他实施例中,视频处理方法还可以应用于对游戏动画中任意两帧动画帧之间的其他动画帧的更新。例如,在回合制游戏应用中,当玩家的操作指令确定之后,本回合游戏的最终结果是确定的,也就是说,初始帧和最终的结束帧是确定的,但是对于初始帧与结束帧之间的游戏动画片段,由于多个玩家对局过程中的对局多样性,可以具有多种对局过程动画,因此,在该回合制游戏场景下,可以采用本申请实施例的方法,首先基于确定的初始帧和结束帧,预测任一玩家A的游戏动画片段A1,同时,还可以继续采用本申请实施例的方法,对该游戏动画片段A1进行更新,得到一段新的游戏动画片段A2,并将该游戏动画片段A2作为玩家B的游戏动画,在玩家B的终端上显示。
另外,由于本申请实施例方案生成的结果可以完美的与目标帧(即结束帧)贴合,因此可以实现在不借助后处理的帮助下的多段过渡动画生成,图8是本申请实施例的视频处理方法的效果示意图,如图8所示,其中人物视频帧801为给定的关键帧(可以是初始帧,也可以是结束帧)。在图8所示的效果示意图中是多段连续的关键帧插值结果,人物视频帧801为关键帧,人物视频帧802为预测后的生成帧(即预测帧),相邻两个关键帧之间的多个预测帧构成一个预测帧序列。
本申请实施例的方案还可以应对多样性的需求,在相同约束条件下,每次可以生成差异化的结果。图9是采用本申请实施例的方法在相同条件下生成三次并截取的同一时刻的生成结果示意图,如图9所示,在相同条件下生成三次并截取的同一时刻的生成结果均不相同,因此,本申请实施例的方法可以生成差异化的结果。
本申请实施例提供的视频处理方法,基于双向生成机制来实现。下面,对本申请实施例的双向生成机制进行说明。
双向生成机制的设计主要是为了解决生成的过渡动画(即预测帧序列)由于误差累积而偏离目标帧的问题。图10是本申请实施例提供的双向生成机制的流程图,如图10所示,会分别从初始帧以及结束帧开始生成动作序列,然后在中间区域进行两个序列的拼接(Stitc h),从而构成完整的过渡动画。为了实现双向生成机制,本申请实施例需要两个生成器:正向生成器(Forward Generator)1001和反向生成器(Backward Generator)1002。其中,正向生成器会从初始帧开始生成正向的动作序列(即正向预测帧序列),反向生成器从结束帧开始生成反向动作序列(即反向预测帧序列)。图中L表示整个动画片段的长度,即整个动画片段包括的动画帧数量,K代表额外的几帧动画帧,用来与另一个序列进行混合,以得到平滑的拼接结果。因此,每个方向的序列长度为L/2+K。在拼接的时候,会对两个序列在时间上重合的部分进行混合,然后再将混合的结果与两个序列剩余的部分进行拼接,以构成完整的过渡动画。为了提升生成结果的自然程度,会将生成的结果通过一对判别器:长判别器(Long Discriminator)1003和短判别器(Short Discriminator)1004进行判别处理。
不同于单向生成的方法,本申请实施例的双向生成机制把进行后处理的混合操作的位置,从过渡动画的末尾转移到了中间。这样,可以完美解决在末尾处进行混合导致的结果偏离目标帧的问题。在关键帧插值任务中,在边界处要尽可能与给定的初始帧与结束帧一致,在中间区域则没有原始数据,反而越多样越好,这样的特性与双向生成机制非常契合。同时,这也为双向生成机制的实现提出了更高的要求,它要求必须要在拼接的中间区域提供一个够大的、多样的空间。为了配合双向生成机制,本申请实施例还设计了如下的动作生成模型,其中,两个方向的生成器均采用了这样的设计。
本申请实施例的动作生成模型是基于条件变分自编码器(CVAE,ConditionalVariation al Auto Encoder)网络设计的。这里对CVAE网络进行说明:CVAE是一种深度生成网络,在VAE的基础上增加了条件信号的输入,从而实现指定数据类型的生成。图11是CVAE网络的结构示意图,如图11所示,CVAE网络包含一个编码器(E)和一个解码器(G),其中编码器可用来提取数据x的分布空间,在条件信号c的指导下,解码器可将从该分布空间中采样的隐变量z映射到期望的输出X’。
为了更好的在双向生成机制中实现拼接,本申请实施例还加入了一些特别的设计,因此将本申请实施例的动作生成模型称为S-CVAE(Stitching-CVAE)。在S-CVAE中,包含一个编码器以及一个解码器。编码器可以将动画数据的初始帧和结束帧映射到一个隐变量空间,在该隐空间中可以进行采样得到隐变量z。在条件信号的调节以及相位特征(Phase)的控制下,解码器可以将采样得到的隐变量z还原到角色下一帧的状态,由此实现动作的生成。
图12是本申请实施例提供的S-CVAE的编码器结构示意图,如图12所示,本申请实施例中的编码器会通过三个子编码器:当前帧编码器121(State Encoder)、目标帧编码器122(Target Encoder)和偏移量编码器123(Offset Encoder),分别对当前帧角色状态、目标帧角色状态以及当前帧与目标帧两帧之间角色状态的偏移量进行编码,经过拼接后再一次通过长短期记忆网络(LSTM,Long Short-Term Memory)124和全连接层(FC,Fully connected layer)125进行数据分布空间的提取,最后进行随机采样处理126。为了使S-CVAE更适用于双向机制中的拼接任务,本申请实施例加入了以下几个方面的内容:
(1)隐空间插值(Latent Interpolate):如图12所示,会对当前帧以及目标帧的角色状态都进行提取,然后对两个空间采样以下公式(1)进行线性插值:
其中,表示当前帧的数据分布;表示目标帧的数据分布。目标帧的系数γ会随着接近目标帧从0~1逐渐增大。这会促使在越接近目标帧的地方,生成的姿势也越接近目标帧;μ表示平均值;θ表示标准差。为对当前帧以及目标帧的数据分布进行线性插值的线性插值结果。
(2)双向对齐:图13是本申请实施例提供的双向对齐示意图,如图13所示,两个生成器是交替运行的,首先反向生成器131的结果会作为正向生成器132的条件信号。然后正向生成器132的最新生成结果又会作为反向生成器131的控制信号指导反向动作序列的生成,如此交替进行。这会使得两个生成器朝着接近目标帧的方向进行生成以便于进行拼接。否则,两个生成器产生的序列差距过远的话会导致拼接失败。
(3)拼接损失函数:拼接损失计算的是正向和反向动画序列重合部分的关节全局位置的L1距离。该L1距离对应的损失可以约束两个方向生成的序列在中间区域的结果相互接近,以便于进行拼接。本申请实施例提供的拼接损失函数的定义如以下公式(2):
其中,P表示生成序列中角色的全局位置信息。pf为正向生成序列的值,pb为反向生成序列的值。
(4)相位生成器:S-CVAE的解码器部分引入了相位特征(Phase)作为控制信号。Phase是动画的“相位”,可以表示当前正处于运动周期的哪一阶段,相位特征可以消除长序列运动过程中的二义性问题,缓解生成过渡动画的滑步,提升动画质量。本申请实施例利用脚步的触地信息经过低通滤波、三角函数逼近等操作得到双脚的相位特征。
本申请实施例中,解码器使用的相位特征来自于相位生成器。经过计算得到的相位特征会作为相位生成器的训练数据。相位生成器以当前帧角色状态为输入进行相位特征的预测。相位生成器是基于多层感知机(MLP,Multilayer Perceptron)的网络,以相位特征的重建损失进行训练。
S-CVAE的编码器和解码器采用了非对称的设计。编码器的结构如图12所示,而解码器基于混合专家网络(MoEN,Mixture of Experts Networks)进行设计。解码器包含多个专家网络以及一个负责协调这些专家网络的门控网络。混合专家网络相比于纯粹的MLP有更强的学习和生成能力。相位特征会作为门控网络的输入,输出是一组混合系数,可以用这组混合系数对多个专家网络进行线性混合,从而得到最终的生成器。本申请实施例中,每个方向的生成器都由上述模型构成,最终构成完整的双向生成机制。
本申请实施例提出的双向关键帧插值技术,可以完美解决自回归方法中由于误差累积导致的目标帧偏离问题。如图14A至14C所示的过渡动画的生成结果示意图,可以看出,在不同的例子下,本申请实施例的方法生成的过渡动画的尾帧141(细实线),都可以与目标帧142(粗实线)完美贴合。
由于不需要借助后处理解决目标帧的偏离问题,可以在没有后处理的情况下进行连续多段的关键帧插值。如图15所示,是本申请实施例提供的多段连续的关键帧插值结果示意图,其中人物视频帧151为给定的关键帧(可以是初始帧,也可以是结束帧)。人物视频帧152为预测后的生成帧(即预测帧),相邻两个关键帧之间的多个预测帧构成一个预测帧序列。
由于S-CVAE的引入,本申请实施例的方法生成的结果具备多样性,即在相同的约束条件下进行多次生成,每次生成的样本间是存在差别的。如图16所示的在相同条件下生成的6次预测值及对应的实际值对比图。
除去以上优点,本申请实施例的应用将会极大节省手动关键帧插值的人力消耗,提升动画资产的产生速度。
可以理解的是,在本申请实施例中,涉及到用户信息的内容,例如,目标视频的初始帧和结束帧、预测帧序列以及目标视频等信息,如果涉及与用户信息或企业信息相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面继续说明本申请实施例提供的视频处理装置354实施为软件模块的示例性结构,在一些实施例中,如图4所示,视频处理装置354包括:
获取模块,用于获取目标视频的初始帧和结束帧;确定模块,用于分别以所述初始帧和所述结束帧为预测起始帧,采用自回归预测方式,确定出对应于所述初始帧的正向预测帧序列和对应于所述结束帧的反向预测帧序列;预测帧融合模块,用于按照所述正向预测帧序列中每一正向预测帧对应的时间戳和所述反向预测帧序列中每一反向预测帧对应的时间戳,对所述正向预测帧序列和所述反向预测帧序列进行预测帧融合处理,得到预测帧序列;拼接模块,用于对所述初始帧、所述预测帧序列和所述结束帧进行视频帧拼接处理,得到所述目标视频。
在一些实施例中,所述确定模块还用于:针对于每一当前帧,获取所述当前帧的角色状态、所述初始帧的角色状态和所述结束帧的角色状态;通过编码器对所述当前帧的角色状态、所述初始帧的角色状态和所述结束帧的角色状态进行编码处理,得到编码向量;通过解码器对所述编码向量进行解码处理,对应得到所述当前帧的下一正向预测帧和下一反向预测帧。
在一些实施例中,所述确定模块还用于:当预测所述当前帧的下一正向预测帧时,确定所述当前帧与所述结束帧的角色状态偏移量,并通过编码器对所述当前帧的角色状态、所述结束帧的角色状态和所述角色状态偏移量进行编码处理,得到第一编码向量;当预测所述当前帧的下一反向预测帧时,确定所述当前帧与所述初始帧的角色状态偏移量,并通过编码器对所述当前帧的角色状态、所述初始帧的角色状态和所述角色状态偏移量进行编码处理,得到第二编码向量;对所述第一编码向量和所述第二编码向量分别进行数据分布空间提取,对应得到第一提取向量和第二提取向量;通过所述解码器分别对所述第一提取向量和所述第二提取向量进行解码处理,对应得到所述当前帧的下一正向预测帧和下一反向预测帧。
在一些实施例中,所述确定模块还用于:对所述第一编码向量分别进行当前帧数据分布空间提取和结束帧数据分布空间提取,对应得到当前帧数据分布和结束帧数据分布;对所述当前帧数据分布和所述结束帧数据分布进行线性插值处理,得到所述第一提取向量;以及,对所述第二编码向量分别进行当前帧数据分布空间提取和初始帧数据分布空间提取,对应得到当前帧数据分布和初始帧数据分布;对所述当前帧数据分布和所述初始帧数据分布进行线性插值处理,得到所述第二提取向量。
在一些实施例中,所述装置还包括:系数确定模块,用于根据所述当前帧在所述目标视频中的位置,确定线性插值系数;所述确定模块还用于:基于所述线性插值系数,对所述当前帧数据分布和所述结束帧数据分布进行线性插值处理,得到所述第一提取向量;基于所述线性插值系数,对所述当前帧数据分布和所述初始帧数据分布进行线性插值处理,得到所述第二提取向量。
在一些实施例中,所述确定模块还用于:通过正向生成器以所述初始帧为预测起始帧,依次确定出所述正向预测帧序列中的每一正向预测帧;通过反向生成器以所述结束帧为预测起始帧,依次确定出所述反向预测帧序列中的每一反向预测帧;其中,所述正向生成器与所述反向生成器交替运行,且所述反向生成器在每次预测得到反向预测帧时,将所述反向预测帧作为所述正向生成器的条件信息,输入至所述正向生成器中以预测所述正向预测帧;所述正向生成器在每次预测得到正向预测帧时,将所述正向预测帧作为所述反向生成器的条件信息,输入至所述反向生成器中以预测所述反向预测帧。
在一些实施例中,所述解码器包括多个专家网络和一个门控网络;所述装置还包括:相位特征获取模块,用于获取所述目标视频的相位特征;输入模块,用于将所述相位特征输入至所述门控网络中,得到多个混合系数;线性混合模块,用于基于所述多个混合系数对所述多个专家网络进行线性混合,得到所述解码器。
在一些实施例中,所述预测帧融合模块还用于:将所述正向预测帧序列和所述反向预测帧序列中具有相同时间戳的正向预测帧和反向预测帧,确定为一对双向预测帧对;依次对所述正向预测帧序列和所述反向预测帧序列对应的每一双向预测帧对进行预测帧融合处理,得到所述预测帧序列。
在一些实施例中,所述预测帧融合模块还用于:确定所述正向预测帧序列中未进行所述预测帧混合处理的正向剩余帧、和所述反向预测帧序列中未进行所述预测帧混合处理的反向剩余帧;确定所述正向剩余帧和所述反向剩余帧各自对应的时间戳;依次对所述正向预测帧序列和所述反向预测帧序列对应的每一双向预测帧对进行预测帧混合处理,得到混合处理帧;将所述双向预测帧对中正向预测帧和反向预测帧的时间戳,确定为相应的混合处理帧的时间戳;按照所述时间戳先后顺序,对所述正向剩余帧、所述混合处理帧和所述反向剩余帧进行拼接处理,得到所述预测帧序列。
在一些实施例中,所述正向预测帧中包括目标对象的多个关键点的第一位置坐标,所述反向预测帧中包括所述目标对象的多个关键点的第二位置坐标;所述预测帧融合模块还用于:依次根据正向预测帧和反向预测帧在所述目标视频中的位置,确定相应的正向预测帧混合权重和相应的反向预测帧的混合权重;基于所述正向预测帧的混合权重和所述反向预测帧的混合权重,依次对每一双向预测帧对中的相同关键点的第一位置坐标和第二位置坐标进行预测帧混合处理,得到所述混合处理帧。
在一些实施例中,所述正向预测帧序列中的正向预测帧的数量与所述反向预测帧序列中的反向预测帧的数量相同;在所述正向预测帧序列中,每相邻的两个正向预测帧在所述目标视频中对应的时间间隔,与所述反向预测帧序列中,每相邻的两个反向预测帧在所述目标视频中对应的时间间隔相同。
在一些实施例中,在所述正向预测帧序列中,第一个正向预测帧与最后一个正向预测帧在所述目标视频中对应的时间间隔,小于所述初始帧与所述结束帧在所述目标视频中对应的时间间隔,且大于所述初始帧与所述结束帧在所述目标视频中对应的时间间隔的一半;在所述反向预测帧序列中,第一个反向预测帧与最后一个反向预测帧在所述目标视频中对应的时间间隔,小于所述初始帧与所述结束帧在所述目标视频中对应的时间间隔,且大于所述初始帧与所述结束帧在所述目标视频中对应的时间间隔的一半。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括可执行指令,该可执行指令是一种计算机指令;该可执行指令存储在计算机可读存储介质中。当视频处理设备的处理器从计算机可读存储介质读取该可执行指令,处理器执行该可执行指令时,使得该视频处理设备执行本申请实施例上述的方法。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图5示出的方法。
在一些实施例中,存储介质可以是计算机可读存储介质,例如,铁电存储器(FRAM,Ferromagnetic Random Access Memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read Only Memory)、带电可擦可编程只读存储器(EEPROM,Electrically Erasable Programmable Read Only Memory)、闪存、磁表面存储器、光盘、或光盘只读存储器(CD-ROM,Compact Disk-Read Only Memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。作为示例,可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种视频处理方法,其特征在于,所述方法包括:
获取目标视频的初始帧和结束帧;
分别以所述初始帧和所述结束帧为预测起始帧,采用自回归预测方式,确定出对应于所述初始帧的正向预测帧序列和对应于所述结束帧的反向预测帧序列;
按照所述正向预测帧序列中每一正向预测帧对应的时间戳和所述反向预测帧序列中每一反向预测帧对应的时间戳,对所述正向预测帧序列和所述反向预测帧序列进行预测帧融合处理,得到预测帧序列;
对所述初始帧、所述预测帧序列和所述结束帧进行视频帧拼接处理,得到所述目标视频。
2.根据权利要求1所述的方法,其特征在于,所述分别以所述初始帧和所述结束帧为预测起始帧,采用自回归预测方式,确定出对应于所述初始帧的正向预测帧序列和对应于所述结束帧的反向预测帧序列,包括:
针对于每一当前帧,获取所述当前帧的角色状态、所述初始帧的角色状态和所述结束帧的角色状态;
通过编码器对所述当前帧的角色状态、所述初始帧的角色状态和所述结束帧的角色状态进行编码处理,得到编码向量;
通过解码器对所述编码向量进行解码处理,对应得到所述当前帧的下一正向预测帧和下一反向预测帧。
3.根据权利要求2所述的方法,其特征在于,所述通过编码器对所述当前帧的角色状态、所述初始帧的角色状态和所述结束帧的角色状态进行编码处理,得到编码向量,包括:
当预测所述当前帧的下一正向预测帧时,确定所述当前帧与所述结束帧的角色状态偏移量,并通过编码器对所述当前帧的角色状态、所述结束帧的角色状态和所述角色状态偏移量进行编码处理,得到第一编码向量;
当预测所述当前帧的下一反向预测帧时,确定所述当前帧与所述初始帧的角色状态偏移量,并通过编码器对所述当前帧的角色状态、所述初始帧的角色状态和所述角色状态偏移量进行编码处理,得到第二编码向量;
对应地,所述通过解码器对所述编码向量进行解码处理,对应得到所述当前帧的下一正向预测帧和下一反向预测帧,包括:
对所述第一编码向量和所述第二编码向量分别进行数据分布空间提取,对应得到第一提取向量和第二提取向量;
通过所述解码器分别对所述第一提取向量和所述第二提取向量进行解码处理,对应得到所述当前帧的下一正向预测帧和下一反向预测帧。
4.根据权利要求3所述的方法,其特征在于,所述对所述第一编码向量和所述第二编码向量分别进行数据分布空间提取,对应得到第一提取向量和第二提取向量,包括:
对所述第一编码向量分别进行当前帧数据分布空间提取和结束帧数据分布空间提取,对应得到当前帧数据分布和结束帧数据分布;
对所述当前帧数据分布和所述结束帧数据分布进行线性插值处理,得到所述第一提取向量;
以及,
对所述第二编码向量分别进行当前帧数据分布空间提取和初始帧数据分布空间提取,对应得到当前帧数据分布和初始帧数据分布;
对所述当前帧数据分布和所述初始帧数据分布进行线性插值处理,得到所述第二提取向量。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
根据所述当前帧在所述目标视频中的位置,确定线性插值系数;
所述对所述当前帧数据分布和所述结束帧数据分布进行线性插值处理,得到所述第一提取向量,包括:
基于所述线性插值系数,对所述当前帧数据分布和所述结束帧数据分布进行线性插值处理,得到所述第一提取向量;
所述对所述当前帧数据分布和所述初始帧数据分布进行线性插值处理,得到所述第二提取向量,包括:
基于所述线性插值系数,对所述当前帧数据分布和所述初始帧数据分布进行线性插值处理,得到所述第二提取向量。
6.根据权利要求1所述的方法,其特征在于,分别以所述初始帧和所述结束帧为预测起始帧,采用自回归预测方式,确定出对应于所述初始帧的正向预测帧序列和对应于所述结束帧的反向预测帧序列,包括:
通过正向生成器以所述初始帧为预测起始帧,依次确定出所述正向预测帧序列中的每一正向预测帧;
通过反向生成器以所述结束帧为预测起始帧,依次确定出所述反向预测帧序列中的每一反向预测帧;
其中,所述正向生成器与所述反向生成器交替运行,且所述反向生成器在每次预测得到反向预测帧时,将所述反向预测帧作为所述正向生成器的条件信息,输入至所述正向生成器中以预测所述正向预测帧;所述正向生成器在每次预测得到正向预测帧时,将所述正向预测帧作为所述反向生成器的条件信息,输入至所述反向生成器中以预测所述反向预测帧。
7.根据权利要求2所述的方法,其特征在于,所述解码器包括多个专家网络和一个门控网络;所述方法还包括:
获取所述目标视频的相位特征;
将所述相位特征输入至所述门控网络中,得到多个混合系数;
基于所述多个混合系数对所述多个专家网络进行线性混合,得到所述解码器。
8.根据权利要求1所述的方法,其特征在于,所述按照所述正向预测帧序列中每一正向预测帧对应的时间戳和所述反向预测帧序列中每一反向预测帧对应的时间戳,对所述正向预测帧序列和所述反向预测帧序列进行预测帧融合处理,得到预测帧序列,包括:
将所述正向预测帧序列和所述反向预测帧序列中具有相同时间戳的正向预测帧和反向预测帧,确定为一对双向预测帧对;
依次对所述正向预测帧序列和所述反向预测帧序列对应的每一双向预测帧对进行预测帧融合处理,得到所述预测帧序列。
9.根据权利要求8所述的方法,其特征在于,所述依次对所述正向预测帧序列和所述反向预测帧序列对应的每一双向预测帧对进行预测帧融合处理,得到预测帧序列,包括:
确定所述正向预测帧序列中未进行所述预测帧混合处理的正向剩余帧、和所述反向预测帧序列中未进行所述预测帧混合处理的反向剩余帧;
确定所述正向剩余帧和所述反向剩余帧各自对应的时间戳;
依次对所述正向预测帧序列和所述反向预测帧序列对应的每一双向预测帧对进行预测帧混合处理,得到混合处理帧;
将所述双向预测帧对中正向预测帧和反向预测帧的时间戳,确定为相应的混合处理帧的时间戳;
按照所述时间戳先后顺序,对所述正向剩余帧、所述混合处理帧和所述反向剩余帧进行拼接处理,得到所述预测帧序列。
10.根据权利要求9所述的方法,其特征在于,所述正向预测帧中包括目标对象的多个关键点的第一位置坐标,所述反向预测帧中包括所述目标对象的多个关键点的第二位置坐标;
所述依次对所述正向预测帧序列和所述反向预测帧序列对应的每一双向预测帧对进行预测帧混合处理,得到混合处理帧,包括:
依次根据正向预测帧和反向预测帧在所述目标视频中的位置,确定相应的正向预测帧混合权重和相应的反向预测帧的混合权重;
基于所述正向预测帧的混合权重和所述反向预测帧的混合权重,依次对每一双向预测帧对中的相同关键点的第一位置坐标和第二位置坐标进行预测帧混合处理,得到所述混合处理帧。
11.根据权利要求8所述的方法,其特征在于,所述正向预测帧序列中的正向预测帧的数量与所述反向预测帧序列中的反向预测帧的数量相同;
在所述正向预测帧序列中,每相邻的两个正向预测帧在所述目标视频中对应的时间间隔,与所述反向预测帧序列中,每相邻的两个反向预测帧在所述目标视频中对应的时间间隔相同。
12.根据权利要求8所述的方法,其特征在于,
在所述正向预测帧序列中,第一个正向预测帧与最后一个正向预测帧在所述目标视频中对应的时间间隔,小于所述初始帧与所述结束帧在所述目标视频中对应的时间间隔,且大于所述初始帧与所述结束帧在所述目标视频中对应的时间间隔的一半;
在所述反向预测帧序列中,第一个反向预测帧与最后一个反向预测帧在所述目标视频中对应的时间间隔,小于所述初始帧与所述结束帧在所述目标视频中对应的时间间隔,且大于所述初始帧与所述结束帧在所述目标视频中对应的时间间隔的一半。
13.一种视频处理装置,其特征在于,所述装置包括:
获取模块,用于获取目标视频的初始帧和结束帧;
确定模块,用于分别以所述初始帧和所述结束帧为预测起始帧,采用自回归预测方式,确定出对应于所述初始帧的正向预测帧序列和对应于所述结束帧的反向预测帧序列;
预测帧融合模块,用于按照所述正向预测帧序列中每一正向预测帧对应的时间戳和所述反向预测帧序列中每一反向预测帧对应的时间戳,对所述正向预测帧序列和所述反向预测帧序列进行预测帧融合处理,得到预测帧序列;
拼接模块,用于对所述初始帧、所述预测帧序列和所述结束帧进行视频帧拼接处理,得到所述目标视频。
14.一种视频处理设备,其特征在于,包括:
存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至12任一项所述的视频处理方法。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行所述可执行指令时,实现权利要求1至12任一项所述的视频处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210802559.0A CN115205428A (zh) | 2022-07-07 | 2022-07-07 | 视频处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210802559.0A CN115205428A (zh) | 2022-07-07 | 2022-07-07 | 视频处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115205428A true CN115205428A (zh) | 2022-10-18 |
Family
ID=83579484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210802559.0A Pending CN115205428A (zh) | 2022-07-07 | 2022-07-07 | 视频处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115205428A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115618155A (zh) * | 2022-12-20 | 2023-01-17 | 成都泰盟软件有限公司 | 一种生成动画的方法、装置、计算机设备及存储介质 |
-
2022
- 2022-07-07 CN CN202210802559.0A patent/CN115205428A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115618155A (zh) * | 2022-12-20 | 2023-01-17 | 成都泰盟软件有限公司 | 一种生成动画的方法、装置、计算机设备及存储介质 |
CN115618155B (zh) * | 2022-12-20 | 2023-03-10 | 成都泰盟软件有限公司 | 一种生成动画的方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102387570B1 (ko) | 표정 생성 방법, 표정 생성 장치 및 표정 생성을 위한 학습 방법 | |
Li et al. | Ganimator: Neural motion synthesis from a single sequence | |
CN113963087A (zh) | 图像处理方法、图像处理模型训练方法、装置及存储介质 | |
CN113420719A (zh) | 生成动作捕捉数据的方法、装置、电子设备以及存储介质 | |
US20230186583A1 (en) | Method and device for processing virtual digital human, and model training method and device | |
CN115601485B (zh) | 任务处理模型的数据处理方法及虚拟人物动画生成方法 | |
CN111768425A (zh) | 图像处理方法、装置及设备 | |
CN115272565A (zh) | 一种头部三维模型的重建方法及电子设备 | |
CN115205428A (zh) | 视频处理方法、装置、设备及存储介质 | |
CN116392812A (zh) | 动作生成方法及虚拟人物动画生成方法 | |
CN114972591A (zh) | 动画生成模型的训练方法、动画生成方法和装置 | |
CN112269891A (zh) | 动态影集生成方法、服务器、显示终端及可读存储介质 | |
CN115471658A (zh) | 一种动作迁移方法、装置、终端设备及存储介质 | |
CN114170353B (zh) | 一种基于神经网络的多条件控制的舞蹈生成方法及系统 | |
CN112973130A (zh) | 虚拟场景的回放模型构建方法、装置、设备及存储介质 | |
CN116977502A (zh) | 运动重定向方法、装置、电子设备及计算机可读存储介质 | |
Eom et al. | Data‐Driven Reconstruction of Human Locomotion Using a Single Smartphone | |
CN101639940B (zh) | 一种基于视频内容的提取视频注意窗序列的方法及系统 | |
CN116993773A (zh) | 运动信息的重定向方法、装置、设备、存储介质及产品 | |
CN113822117B (zh) | 一种数据处理方法、设备以及计算机可读存储介质 | |
WO2021227532A1 (zh) | 基于浏览器的帧提取方法和系统 | |
CN115082821A (zh) | 过渡帧的生成方法、装置、电子设备及存储介质 | |
KR20230128065A (ko) | 흐름-유도 모션 리타깃팅 | |
CN113486787A (zh) | 一种脸部驱动和直播方法、装置、计算机设备和存储介质 | |
CN117373455B (zh) | 一种音视频的生成方法、装置、设备及存储介质 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40075299 Country of ref document: HK |