CN115801987A - 一种视频插帧方法及装置 - Google Patents

一种视频插帧方法及装置 Download PDF

Info

Publication number
CN115801987A
CN115801987A CN202111061599.6A CN202111061599A CN115801987A CN 115801987 A CN115801987 A CN 115801987A CN 202111061599 A CN202111061599 A CN 202111061599A CN 115801987 A CN115801987 A CN 115801987A
Authority
CN
China
Prior art keywords
video frame
optical flow
sample
matching cost
feature
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
Application number
CN202111061599.6A
Other languages
English (en)
Inventor
刘鹏鹏
李林格
姜磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202111061599.6A priority Critical patent/CN115801987A/zh
Publication of CN115801987A publication Critical patent/CN115801987A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Television Systems (AREA)

Abstract

一种视频插帧方法及装置,涉及媒体技术领域,能够提升视频插帧的效果。该方法包括:根据第一视频帧和第二视频帧,得到第一匹配成本和第二匹配成本;对第一视频帧进行特征提取,得到第一视频帧的第一特征;并对第二视频帧进行特征提取,得到第二视频帧的第一特征;以及根据第一匹配成本及第一视频帧的第一特征,得到第一光流和第二光流;并根据第一光流和第二光流,得到第三视频帧至第一视频帧的第一目标光流;以及根据第二匹配成本及第二视频帧的第一特征,得到第三光流和第四光流;并根据第三光流和第四光流,得到第三视频帧至第二视频帧的第二目标光流;根据第一视频帧、第二视频帧、第一目标光流以及第二目标光流,得到第三视频帧。

Description

一种视频插帧方法及装置
技术领域
本申请实施例涉及媒体技术领域,尤其涉及一种视频插帧方法及装置。
背景技术
视频插帧是利用相邻帧的信息,合成一个或多个中间帧,并将合成的中间帧插入相邻帧之间的技术,基于视频插帧技术可以生成高帧率的视频,从而使得视频播放得更加流畅,视频插帧能够解决视频中的卡顿、抖动等画质问题。视频插帧可以应用于老片(照片或视频)修复、超高清视频制作、慢动作视频制作等场景。
目前,常用的视频插帧方法是基于光流进行视频插帧,基于光流进行视频插帧的思路是:预测中间帧至两个相邻帧(也可以称为两个参考帧)的光流,再基于两个相邻帧以及中间帧至两个相邻帧的光流得到中间帧。
基于光流进行视频插帧的方法中光流的准确估计对视频插帧的效果至关重要,现有基于光流的视频插帧方法得到的中间帧往往质量欠佳。
发明内容
本申请实施例提供一种视频插帧方法及装置,能够通过准确地估计待插入的中间帧到两个参考帧的光流,来合成图像质量较高的中间帧,从而提升视频插帧的效果。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,本申请实施例提供一种视频插帧方法,该方法用于在第一视帧和第二视频帧之间插入第三视频帧,该方法包括:根据第一视频帧和第二视频帧,得到第一匹配成本和第二匹配成本;然后对第一视频帧进行特征提取,得到第一视频帧的第一特征;并且对第二视频帧进行特征提取,得到第二视频帧的第一特征;以及根据第一匹配成本及第一视频帧的第一特征,得到第一光流和第二光流,该第一光流为第一视频帧至第二视频帧的光流,该第二光流为第三视频帧至第一视频帧的光流;根据第一光流和第二光流,得到第一目标光流,该第一目标光流为第三视频帧至第一视频帧的光流;再根据第二匹配成本及第二视频帧的第一特征,得到第三光流和第四光流,该第三光流为第二视频帧至第一视频帧的光流,该第四光流为第三视频帧至第二视频帧的光流;根据第三光流和第四光流,得到第二目标光流,该第二目标光流为第三视频帧至第二视频帧的光流;最后,根据第一视频帧、第二视频帧、第一目标光流以及第二目标光流,得到第三视频帧。
本申请实施例提供的视频插帧方法中,由于电子设备获取上述第一目标光流和第二目标光流的方法能够克服空洞或者多映射的问题,因此预测得到的第一目标光流和第二目标光流的准确性比较高,如此,能够合成图像质量较高的中间帧(即上述第三视频帧),从而提升视频插帧的效果。
一种可能的实现方式中,上述根据第一光流和第二光流,得到第一目标光流的方法包括:基于光流的线性运动特性,根据第一光流确定第五光流,该第五光流为第一视频帧至第三视频帧的光流;并且采用第二光流对第五光流进行反向扭曲,得到第一反向扭曲光流和第一光流掩膜,第一光流掩膜用于指示第五光流中光流值是否被反向扭曲;以及根据第一光流掩膜和第一反向扭曲光流对第二光流进行更新,得到第一目标光流。
应理解,光流的运动通常是线性运动,基于光流的线性运动特性,根据第一视频帧至第二视频帧的光流(即第一光流F0→1)可以估计第一视频帧至第三视频帧的光流(即第五光流F0→t),首先,可以采用下述表达式确定第五光流:
F0→t=t×F0→1
其中,F0→t为第五光流,F0→1为第一光流,t表示第三视频帧的插入时刻。
其次,可以采用下述表达式对第五光流进行反向扭曲操作:
Figure BDA0003256824540000021
其中,F″t→0表示第一反向扭曲光流,V1表示第一光流掩膜,F0→t为第五光流,F′t→0为第二光流,
Figure BDA0003256824540000022
表示反向扭曲操作。关于反向扭曲操作的详细过程可以参考本领域现有技术中方法,本申请实施例不再详述。
应理解,第一光流掩膜V1是一个光流掩膜矩阵,由元素0和1组成,其中,0表示反向扭曲过程中对应位置的像素未被覆盖(未被覆盖的位置通常是边缘或者遮挡区域),即对第五光流进行反向扭曲过程中,对应位置的光流值未被反向扭曲,即光流值未发生变化(未更新);1表示反向扭曲过程中对应位置的像素被覆盖,即对第五光流进行反向扭曲过程中,对应位置的光流值被反向扭曲,即光流值发生了变化(已更新)。
最后,可以采用下述表达式确定第一目标光流:
Ft→0=F″t→0⊙V1+F′t→0⊙(1-V1)
其中,Ft→0表示第一目标光流(第三视频帧至第一视频帧的光流),F″t→0表示第一反向扭曲光流,V1表示第一光流掩膜,F′t→0为第二光流,⊙表示对应位置的元素相乘。
上述确定第一目标光流的表达式的含义是:对于反向扭曲过程中光流值被反向扭曲的位置,使用第一反向扭曲光流F″t→0中该位置的光流值作为第一目标光流对应位置的光流值,对于反向扭曲过程中光流值未被反向扭曲的位置,使用第二光流F′t→0中该位置的光流值作为第一目标光流对应位置的光流值。
一种可能的实现方式中,上述根据第三光流和第四光流,得到第二目标光流的方法包括:基于光流的线性运动特性,根据第三光流确定第六光流,该第六光流为第二视频帧至第三视频帧的光流;并且采用第四光流对第六光流进行反向扭曲,得到第二反向扭曲光流和第二光流掩膜,第二光流掩膜用于指示第六光流中光流值是否被反向扭曲;以及根据第二光流掩膜和第二反向扭曲光流对第四光流进行更新,得到第二目标光流。
基于光流的线性运动特性,根据第二视频帧至第一视频帧的光流(即第一光流F1→0)可以估计第二视频帧至第三视频帧的光流(即第六光流F1→t),首先,可以采用下述表达式确定第六光流:
F1→t=t×F1→0
其中,F1→t为第六光流,F1→0为第三光流,t表示第三视频帧的插入时刻。
其次,可以采用下述表达式对第六光流进行反向扭曲操作:
Figure BDA0003256824540000023
其中,F″t→1表示第二反向扭曲光流,V2表示第二光流掩膜,F1→t为第六光流,F′t→1为第四光流,
Figure BDA0003256824540000024
表示反向扭曲操作。
最后,可以采用下述表达式确定第二目标光流:
Ft→1=F″t→1⊙V2+F′t→1⊙(1-V2)
其中,Ft→1表示第二目标光流(第三视频帧至第二视频帧的光流),F″t→1表示第二反向扭曲光流,V2表示第一光流掩膜,F′t→1为第四光流,⊙表示对应位置的元素相乘。
上述确定第二目标光流的表达式的含义是:对于反向扭曲过程中光流值被反向扭曲的位置,使用第二反向扭曲光流F″t→1中该位置的光流值作为第二目标光流对应位置的光流值,对于反向扭曲过程中光流值未被反向扭曲的位置,使用第四光流F′t→1中该位置的光流值作为第二目标光流对应位置的光流值。
一种可能的实现方式中,上述第一匹配成本是从第一视频帧向第二视频帧进行特征匹配的匹配成本,上述第二匹配成本是从第二视频帧向第一视频帧进行特征匹配的匹配成本。
应理解,视频帧之间的匹配成本是一个视频帧的特征图(由特征向量组成)中的某一个特征向量与另一个视频帧的特征图中可能的对应特征向量之间的匹配代价(或相似度),也可以称为立体匹配成本。可选地,可以采用不同方法获取上述第一匹配成本和第二匹配成本,常用的立体匹配成本的计算方法有基于区域约束的局部匹配算法和基于全局约束的优化算法,基于区域约束的局部匹配算法包括但不限于匹配窗的代价聚合算法(平方差算法SSD,绝对差算法SAD,归一化算法NCC等)、特征点的匹配算法、相位匹配的匹配算法等;基于全局约束的优化算法包括但不限于图割(GC)算法、人工智能算法(例如神经网络算法、遗传算法等)、置信传播(BP)算法、动态规划(DP)算法等。
一种可能的实现方式中,上述根据第一视频帧和第二视频帧,得到第一匹配成本和第二匹配成本的方法包括:对第一视频帧进行特征提取,得到第一视频帧的第二特征;并且对第二视频帧进行特征提取,得到第二视频帧的第二特征;以及根据第一视频帧的第二特征和第二视频帧的第二特征,确定第一匹配成本和第二匹配成本。
上述第一匹配成本的获取过程包括:获取第一视频帧的第二特征的特征向量与第二视频帧的第二特征中可能对应的特征向量之间的相关性,得到第一匹配成本,第二视频帧的第二特征中可能对应的特征向量可以根据初始的第一视频帧至第二视频帧的光流确定。应理解,第一视频帧的第二特征中的某一特征可以对应第二视频帧的第二特征中的至少一个特征向量。
述第二匹配成本的获取过程包括:获取第二视频帧的第二特征的特征向量与第一视频帧的第二特征点中可能对应的特征向量之间的相关性,得到第二匹配成本,第二视频帧的第二特征中的某一特征可以对应第一视频帧的第二特征中的至少一个特征向量。
可选地,上述视频帧的第一特征与视频帧的第二特征可以是不同的特征,也可以是相同的特征,本申请实施例不做限定。
一种可能的实现方式中,上述第一目标光流和第二目标光流由耦合光流网络获取,该耦合光流网络是基于第一训练样本集训练得到的,该第一训练样本集包括第一样本视频帧、第二样本视频帧、第一样本视频帧至第二样本视频帧的光流、第二样本视频帧至第一样本视频帧的光流、第三样本视频帧至第一样本视频帧的光流以及第三样本视频帧至第二样本视频帧的光流。
本申请实施例中,耦合光流网络可以是基于人工智能技术(机器学习、深度学习)训练得到的,该耦合光流网络可以是在服务端(例如云端)训练的,当电子设备执行本申请实施例的视频插帧方法时,电子设备从服务端获取该耦合光流网络的模型,并基于该模型预测第一目标光流和第二目标光流;该耦合光流网络也可以是电子设备在线训练的,本申请实施例不做限定。
可选地,获取第一训练样本集中的训练样本的方法是:根据预训练得到的RAFT光流模型生成第一样本视频帧至第二样本视频帧的光流、第二样本视频帧至第一样本视频帧的光流、第三样本视频帧至第一样本视频帧的光流以及第三样本视频帧至第二样本视频帧的光流。由于按照RAFT光流模型得到的光流可能不是准确的光流,因此该第一训练样本集可以称为具有伪光流标签的训练样本集。
可选地,上述用于训练耦合光流网络的训练样本集还可以包括有准确光流标签的训练样本集,该有准确光流标签的训练样本集包括第一样本视频帧、第二样本视频帧、第一样本视频帧至第二样本视频帧的光流以及第二样本视频帧至第一样本视频帧的光流,该训练样本集中不包括第三样本视频帧、第三样本视频帧至第一样本视频帧的光流以及第三样本视频帧至第二样本视频帧的光流。
本申请实施例中,可以基于具有伪光流标签的训练样本集和有准确光流标签的训练样本集训练耦合光流网络,在耦合光流网络的训练过程中,可以将两个训练样本集组合成一个训练样本集。
一种可能的实现方式中,第三视频帧由视频插帧网络获取,该视频插帧网络是基于第二训练样本集训练得到的,该第二训练样本集包括第一样本视频帧、第二样本视频帧、耦合光流网络输出的第三样本视频帧至第一样本视频帧的光流、耦合光流网络输出的第三样本视频帧至第二样本视频帧的光流以及第三样本视频帧。视频插帧网络可以是Unet等卷积神经网络,也可以是对抗神经网络等其他可以用于图像处理的网络结构。
可选地,在上述根据视频插帧网络预测的第三样本视频帧和真实的第三样本视频帧更新视频插帧网络的过程中,也可以根据预测的第三样本视频帧和真实的第三样本视频帧微调上述训练好的耦合光流网络。
第二方面,本申请实施例提供一种视频插帧装置,该视频插帧装置用于在第一视频帧和第二视频帧之间插入第三视频帧,该装置包括:匹配成本计算模块、第一特征提取模块、光流估计模块以及视频插帧模块。其中,匹配成本计算模块用于根据第一视频帧和第二视频帧,得到第一匹配成本和第二匹配成本;第一特征提取模块用于对第一视频帧进行特征提取,得到第一视频帧的第一特征;并且对第二视频帧进行特征提取,得到第二视频帧的第一特征;光流估计模块用于根据第一匹配成本及第一视频帧的第一特征,得到第一光流和第二光流,该第一光流为第一视频帧至第二视频帧的光流,该第二光流为第三视频帧至第一视频帧的光流;根据第一光流和第二光流,得到第一目标光流,该第一目标光流为第三视频帧至第一视频帧的光流;光流估计模块还用于根据第二匹配成本及第二视频帧的第一特征,得到第三光流和第四光流,该第三光流为第二视频帧至第一视频帧的光流,该第四光流为第三视频帧至第二视频帧的光流;根据第三光流和第四光流,得到第二目标光流,该第二目标光流为第三视频帧至第二视频帧的光流;视频插帧模块用于根据第一视频帧、第二视频帧、第一目标光流以及第二目标光流,得到第三视频帧。
一种可能的实现方式中,上述光流估计模块具体用于基于光流的线性运动特性,根据第一光流确定第五光流,该第五光流为第一视频帧至第三视频帧的光流;并且采用第二光流对第五光流进行反向扭曲,得到第一反向扭曲光流和第一光流掩膜,第一光流掩膜用于指示第五光流中光流值是否被反向扭曲;以及根据第一光流掩膜和第一反向扭曲光流对第二光流进行更新,得到第一目标光流。
一种可能的实现方式中,上述光流估计模块具体用于基于光流的线性运动特性,根据第三光流确定第六光流,该第六光流为第二视频帧至第三视频帧的光流;并且采用第四光流对第六光流进行反向扭曲,得到第二反向扭曲光流和第二光流掩膜,第二光流掩膜用于指示第六光流中光流值是否被反向扭曲;以及根据第二光流掩膜和第二反向扭曲光流对第四光流进行更新,得到第二目标光流。
一种可能的实现方式中,上述第一匹配成本是从第一视频帧向第二视频帧进行特征匹配的匹配成本,上述第二匹配成本是从第二视频帧向第一视频帧进行特征匹配的匹配成本。
一种可能的实现方式中,本申请实施例提供的视频插帧装置还包括第二特征提取模块;该第二特征提取模块用于对第一视频帧进行特征提取,得到第一视频帧的第二特征;并且对第二视频帧进行特征提取,得到第二视频帧的第二特征;上述匹配成本计算模块具体用于根据第一视频帧的第二特征和第二视频帧的第二特征,确定第一匹配成本和第二匹配成本。
一种可能的实现方式中,上述光流估计模块为耦合光流网络,该耦合光流网络用于根据第一视频帧和第二视频帧,得到第一目标光流和第二目标光流。该耦合光流网络是基于第一训练样本集训练得到的,上述第一训练样本集包括第一样本视频帧、第二样本视频帧、第一样本视频帧至第二样本视频帧的光流、第二样本视频帧至第一样本视频帧的光流、第三样本视频帧至第一样本视频帧的光流以及第三样本视频帧至第二样本视频帧的光流。
一种可能的实现方式中,上述视频插帧模块为视频插帧模块,该视频插帧网络用于根据第一目标光流和第二目标光流,得到第三视频帧。该视频插帧网络是基于第二训练样本集训练得到的,上述第二训练样本集包括第一样本视频帧、第二样本视频帧、耦合光流网络输出的第三样本视频帧至第一样本视频帧的光流、耦合光流网络输出的第三样本视频帧至第二样本视频帧的光流以及第三样本视频帧。
第三方面,本申请实施例提供一种电子设备,包括存储器和与该存储器连接的至少一个处理器,存储器用于存储指令,该指令被至少一个处理器读取后,执行第一方面及其可能的实现方式中任意之一所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时执行第一方面及其可能的实现方式中任意之一所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,该计算机程序产品包含指令,当该计算机程序产品在计算机上运行时,执行第一方面及其可能的实现方式中任意之一所述的方法。
第六方面,本申请实施例提供一种芯片,包括通信接口和处理电路。通信接口用于与其他设备或部件通信。处理电路用于执行计算机指令,以执行第一方面及其可能的实现方式中任意之一所述的方法。
应当理解的是,本申请实施例的第二方面至第六方面技术方案及对应的可能的实施方式所取得的有益效果可以参见上述对第一方面及其对应的可能的实施方式的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种基于光流的视频插帧过程示意图;
图2为本申请实施例提供的一种手机的硬件示意图;
图3为本申请实施例提供的一种视频插帧方法的应用场景示意图;
图4为本申请实施例提供的一种视频插帧方法示意图;
图5为本申请实施例提供的另一种视频插帧方法示意图;
图6为本申请实施例提供的另一种视频插帧方法示意图;
图7为本申请实施例提供的另一种视频插帧方法示意图;
图8为本申请实施例提供的一种基于视频插网络进行视频插帧的过程示意图;
图9为本申请实施例提供的一种视频插帧方法的效果示意图;
图10为本申请实施例提供的一种耦合光流网络的结构示意图;
图11为本申请实施例提供的一种视频插帧装置的结构示意图;
图12为本申请实施例提供的另一种视频插帧装置的结构示意图。
具体实施方式
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一视频帧和第二视频帧等是用于区别不同的视频帧,而不是用于描述视频帧的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
首先对本申请实施例提供的一种视频插帧方法及装置中涉及的一些概念做解释说明。
视频插帧:利用相邻帧的信息,合成一个或多个中间帧,并将合成的中间帧插入相邻帧之间的技术,基于视频插帧技术可以生成高帧率的视频,从而使得视频播放得更加流畅,视频插帧能够解决视频中的卡顿、抖动等画质问题。
视频插帧方法可以应用于老片(照片或视频)修复、超高清视频制作、慢动作视频制作等场景,例如,将一段帧率为30帧/秒(f/s)视频经双倍插帧后再以30f/s的帧率播放,可以达到慢放且不卡顿的播放效果。
光流:指的是在视频帧序列之间,代表同一对象(或物体)的像素从前一帧移动到下一帧的位移。应理解,在已知一个视频帧至另一个视频帧的光流的条件下,根据视频帧之间的光流可以估计其中一个视频帧。
例如,已知视频帧I0,待估计视频帧I1,若计算出视频帧I0至视频帧I1的光流(记为F0→1),可以对F0→1视频帧I0进行正向扭曲,从而得到视频帧I1;或者,若计算出视频帧I1至视频帧I0的光流(记为F1→0),可以对F1→0视频帧I0进行反向扭曲,从而得到视频帧I1
其中,正向扭曲是指将源图像(例如上述的I0)中的每一个像素映射到目标图像(例如上述的I1)中的适当位置,具体是根据源图像至目标图像的光流,将源图像中的每一个像素映射到目标图像中的适当位置,正向扭曲也可以称为正向映射。需要说明的是,正向扭曲可能存在空洞或者多映射的问题,其中,空洞问题是目标图像中的有些位置的像素未被映射,也就是说,经正向扭曲之后,目标图像中有些位置的像素值不存在;多映射问题是目标图像中的某些位置的像素被多次映射。
反向扭曲是指遍历目标图像中的每一个像素,对源图像中适当位置的像素进行采样作为目标图像的像素。反向映射不存在上述空洞或者多映射的问题,反向映射可以保证目标图像中的每一个像素都可以被映射到源图像中的像素。
本申请实施例提供的视频插帧方法是一种基于光流进行视频插帧的方法,以向相邻的视频帧I0和I1之间插入视频帧It为例,参考图1,基于光流进行视频插帧的过程包括:首先,预测得到It到I0的光流Ft→0,以及It到I1的光流Ft→1;其次,根据光流Ft→0对I0进行反向扭曲得到一个中间帧,记为It',并且根据光流Ft→1对I1反向扭曲得到一个中间帧,记为It";最后,将估计的It'和It"进行加权融合,得到待插入的中间帧It
上述视频插帧过程中,准确地预测中间帧至两个参考帧的光流影响合成的中间帧的图像质量,仍以向相邻的视频帧I0和I1之间插入视频帧It为例,现有的一种预测中间帧至两个参考帧的光流的方法是:先计算两个参考帧之间的双向光流,即估计I0至I1的光流F0→1和I1至I0的光流F1→0;然后,再根据F0→1和F1→0,得到Ft→0和Ft→1,例如采用正向扭曲的方法,对F0→1进行正向扭曲操作(一种线性插值)得到Ft→0,对F1→0进行正向扭曲操作得到Ft→1,然而,由于正向扭曲存在空洞或者多映射的问题,因此,预测得到的中间帧至两个参考帧的光流的准确性较低,如此,导致合成的中间帧的质量也较差。
针对现有技术中存在的问题,本申请实施例提供一种视频插帧方法,用于视频插帧的装置可以根据第一视频帧和第二视频帧,得到第一匹配成本和第二匹配成本;然后根据第一匹配成本及第一视频帧的第一特征,得到第一光流和第二光流,该第一光流为第一视频帧至第二视频帧的光流,第二光流为第三视频帧至第一视频帧的光流;并且根据第一光流和第二光流,得到第一目标光流,该第一目标光流为第三视频帧至第一视频帧的光流;用于视频插帧的装置根据第二匹配成本及第二视频帧的第一特征,得到第三光流和第四光流,该第三光流为第二视频帧至第一视频帧的光流,第四光流为第三视频帧至第二视频帧的光流;并且根据第三光流和第四光流,得到第二目标光流,该第二目标光流为第三视频帧至第二视频帧的光流;最后,根据第一视频帧、第二视频帧、第一目标光流以及第二目标光流,得到第三视频帧。通过本申请实施例提供的技术方案,能够通过准确地估计待插入的中间帧到两个参考帧的光流,来合成图像质量较高的中间帧,从而提升视频插帧的效果。
本申请实施例提供的视频插帧方法可以应用于手机、平板电脑或个人计算机(Ultra-mobile Personal Computer,UMPC)等电子设备中。或者,还可以应用于其他桌面型设备、膝上型设备、手持型设备、可穿戴设备、智能家居设备和车载型设备等电子设备中,例如上网本、智能手表、智能相机、上网本、个人数字助理(Personal Digital Assistant,PDA)、便携式多媒体播放器(Portable Multimedia Player,PMP)、专用媒体播放器等。本申请实施例对电子设备的具体类型和结构等不作限定。
以电子设备为手机为例,图2为本申请实施例提供的一种手机200的硬件结构示意图,该手机200包括处理器210,外部存储器接口220,内部存储器221,通用串行总线(universal serial bus,USB)接口230,充电管理模块240,电源管理模块241,电池242,天线1,天线2,移动通信模块250,无线通信模块260,音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,传感器模块280,按键290,马达291,指示器292,摄像头293,显示屏294,以及用户标识模块(subscriber identification module,SIM)卡接口295等。其中传感器模块280可以包括压力传感器280A,陀螺仪传感器280B,气压传感器280C,磁传感器280D,加速度传感器280E,距离传感器280F,接近光传感器280G,指纹传感器280H,温度传感器280J,触摸传感器280K,环境光传感器280L,骨传导传感器280M等。
可以理解的是,本申请实施例示意的结构并不构成对手机200的具体限定。在本申请另一些实施例中,手机200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是手机200的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了系统的效率。
在一些实施例中,处理器210可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器210可以包含多组I2C总线。处理器210可以通过不同的I2C总线接口分别耦合触摸传感器280K,充电器,闪光灯,摄像头293等。例如:处理器210可以通过I2C接口耦合触摸传感器280K,使处理器210与触摸传感器280K通过I2C总线接口通信,实现手机200的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器210可以包含多组I2S总线。处理器210可以通过I2S总线与音频模块270耦合,实现处理器210与音频模块270之间的通信。在一些实施例中,音频模块270可以通过I2S接口向无线通信模块260传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块270与无线通信模块260可以通过PCM总线接口耦合。在一些实施例中,音频模块270也可以通过PCM接口向无线通信模块260传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器210与无线通信模块260。例如:处理器210通过UART接口与无线通信模块260中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块270可以通过UART接口向无线通信模块260传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器210与显示屏294,摄像头293等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器210和摄像头293通过CSI接口通信,实现手机200的拍摄功能。处理器210和显示屏294通过DSI接口通信,实现手机200的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器210与摄像头293,显示屏294,无线通信模块260,音频模块270,传感器模块280等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口230是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口230可以用于连接充电器为手机200充电,也可以用于手机200与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对手机200的结构限定。在本申请另一些实施例中,手机200也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块240用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块240可以通过USB接口230接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块240可以通过手机200的无线充电线圈接收无线充电输入。充电管理模块240为电池242充电的同时,还可以通过电源管理模块241为电子设备供电。
电源管理模块241用于连接电池242,充电管理模块240与处理器210。电源管理模块241接收电池242和/或充电管理模块240的输入,为处理器210,内部存储器221,外部存储器,显示屏294,摄像头293,和无线通信模块260等供电。电源管理模块241还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块241也可以设置于处理器210中。在另一些实施例中,电源管理模块241和充电管理模块240也可以设置于同一个器件中。
手机200的无线通信功能可以通过天线1,天线2,移动通信模块250,无线通信模块260,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。手机200中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块250可以提供应用在手机200上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块250可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块250可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块250还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块250的至少部分功能模块可以被设置于处理器210中。在一些实施例中,移动通信模块250的至少部分功能模块可以与处理器210的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器270A,受话器270B等)输出声音信号,或通过显示屏294显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器210,与移动通信模块250或其他功能模块设置在同一个器件中。
无线通信模块260可以提供应用在手机200上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块260可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块260经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块260还可以从处理器210接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,手机200的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得手机200可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
手机200通过GPU,显示屏294,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏294和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏294用于显示图像,视频等。显示屏294包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,手机200可以包括1个或N个显示屏294,N为大于1的正整数。
手机200可以通过ISP,摄像头293,视频编解码器,GPU,显示屏294以及应用处理器等实现拍摄功能。
ISP用于处理摄像头293反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头293中。
摄像头293用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,手机200可以包括1个或N个摄像头293,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号(如音频信号等)。例如,当手机200在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。手机200可以支持一种或多种视频编解码器。这样,手机200可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现手机200的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口220可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机200的存储能力。外部存储卡通过外部存储器接口220与处理器210通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器221可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器210通过运行存储在内部存储器221的指令,从而执行手机200的各种功能应用以及数据处理。内部存储器221可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机200使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
手机200可以通过音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块270用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块270还可以用于对音频信号编码和解码。在一些实施例中,音频模块270可以设置于处理器210中,或将音频模块270的部分功能模块设置于处理器210中。
扬声器270A,也称“喇叭”,用于将音频电信号转换为声音信号。手机200可以通过扬声器270A收听音乐,或收听免提通话。
受话器270B,也称“听筒”,用于将音频电信号转换成声音信号。当手机200接听电话或语音信息时,可以通过将受话器270B靠近人耳接听语音。
麦克风270C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风270C发声,将声音信号输入到麦克风270C。手机200可以设置至少一个麦克风270C。在另一些实施例中,手机200可以设置两个麦克风270C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,手机200还可以设置三个,四个或更多麦克风270C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口270D用于连接有线耳机。耳机接口270D可以是USB接口230,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器280A用于感受压力信号,可以将压力信号转换成电信号,陀螺仪传感器280B可以用于确定手机200的运动姿态,气压传感器280C用于测量气压。磁传感器280D包括霍尔传感器,加速度传感器280E可检测手机200在各个方向上(一般为三轴)加速度的大小,接近光传感器280G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管,环境光传感器280L用于感知环境光亮度,指纹传感器280H用于采集指纹,温度传感器280J用于检测温度,触摸传感器280K,也称“触控面板”。触摸传感器280K可以设置于显示屏294,由触摸传感器280K与显示屏294组成触摸屏,也称“触控屏”。触摸传感器280K用于检测作用于其上或附近的触摸操作。骨传导传感器280M可以获取振动信号。在一些实施例中,骨传导传感器280M可以获取人体声部振动骨块的振动信号。
按键290包括开机键,音量键等。按键290可以是机械按键。也可以是触摸式按键。手机200可以接收按键输入,产生与手机200的用户设置以及功能控制有关的键信号输入。
马达291可以产生振动提示。马达291可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏294不同区域的触摸操作,马达291也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器292可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口295用于连接SIM卡。SIM卡可以通过插入SIM卡接口295,或从SIM卡接口295拔出,实现和手机200的接触和分离。手机200可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口295可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口295可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口295也可以兼容不同类型的SIM卡。SIM卡接口295也可以兼容外部存储卡。手机200通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,手机200采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在手机200中,不能和手机200分离。
可以理解的,本申请实施例中,电子设备(例如上述手机200)可以执行本申请实施例中的部分或全部步骤,这些步骤或操作仅是示例,电子设备还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照本申请实施例呈现的不同的顺序来执行,并且有可能并非要执行本申请实施例中的全部操作。本申请各实施例可以单独实施,也可以任意组合实施,本申请对此不作限定。
本申请实施例提供的视频插帧方法可以应用于具有如图2所示硬件结构的电子设备或者具有类似结构的电子设备。或者还可以应用于其他结构的电子设备中,本申请实施例对此不作限定。
可选地,本申请实施例提供的视频插帧方法可以应用在下述的情况中,一种情况是:参考图3,对于一段涉及多个画面场景(例如包括室内场景、室外场景等)的低帧率视频,首先可以按照不同场景将视频划分(分割)为不同的视频段,例如场景一对应的视频段、场景二段对应的视频段以及场景三对应的视频段;然后,按照对不同场景的视频段执行本申请实施例提供的视频插帧方法,得到不同场景的视频段对应的高帧率视频;最后,将不同场景的视频段对应的高帧率视频按照场景顺序合并,得到完整的高帧率视频。
另一种情况是:对于单一场景的低帧率视频,直接执行本申请实施例提供的视频插帧方法,得到高帧率视频。
如图4所示,本申请实施例提供一种视频插帧方法,该方法可以应用于电子设备,该方法用于在第一视频帧和第二视频帧之间插入第三视频帧,该方法包括步骤401至步骤408。
步骤401、电子设备根据第一视频帧和第二视频帧,得到第一匹配成本和第二匹配成本。
其中,第一匹配成本是从第一视频帧向第二视频帧进行特征匹配的匹配成本,第二匹配成本是从第二视频帧向第一视频帧进行特征匹配的匹配成本。需要说明的是,匹配成本的计算具有指向性,即第一匹配成本是从第一视频帧指向第二视频帧,第二匹配成本是从第二视频帧至第一视频帧,第一匹配成本和第二匹配成本不同。
视频帧之间的匹配成本是一个视频帧的特征图(由特征向量组成)中的某一个特征向量与另一个视频帧的特征图中可能的对应特征向量之间的匹配代价(或相似度),也可以称为立体匹配成本。可选地,可以采用不同方法获取上述第一匹配成本和第二匹配成本,常用的立体匹配成本的计算方法有基于区域约束的局部匹配算法和基于全局约束的优化算法,基于区域约束的局部匹配算法包括但不限于匹配窗的代价聚合算法(平方差算法SSD,绝对差算法SAD,归一化算法NCC等)、特征点的匹配算法、相位匹配的匹配算法等;基于全局约束的优化算法包括但不限于图割(graph cuts,GC)算法、人工智能算法(例如神经网络算法、遗传算法等)、置信传播(belief propagation,BP)算法、动态规划(dynamicprogramming,DP)算法等。
本申请实施例中,以特征点匹配算法为例,结合图4,如图5所示,上述计算第一匹配成本和第二匹配成本的过程可以包括步骤4011至步骤4013。
步骤4011、电子设备对第一视频帧进行特征提取,得到第一视频帧的第二特征。
步骤4012、电子设备对第二视频帧进行特征提取,得到第二视频帧的第二特征。
可选地,图像的第二特征可以是基于第二特征器提取的特征,图像的第二特征是由特征向量组成的特征图,本申请实施例中,该第二特征提取器可以是基于深度学习算法学习得到的特征提取器,特征器提取器可以为卷积神经网络。
步骤4013、电子设备根据第一视频帧的第二特征和第二视频帧的第二特征,确定第一匹配成本和第二匹配成本。
具体的,上述第一匹配成本的获取过程包括:获取第一视频帧的第二特征的特征向量与第二视频帧的第二特征中可能对应的特征向量之间的相关性,得到第一匹配成本,第二视频帧的第二特征中可能对应的特征向量可以根据初始的第一视频帧至第二视频帧的光流确定。应理解,第一视频帧的第二特征中的某一特征可以对应第二视频帧的第二特征中的至少一个特征向量。同理,第二匹配成本的获取过程包括:获取第二视频帧的第二特征的特征向量与第一视频帧的第二特征点中可能对应的特征向量之间的相关性,得到第二匹配成本,第二视频帧的第二特征中的某一特征可以对应第一视频帧的第二特征中的至少一个特征向量。
步骤402、电子设备对第一视频帧进行特征提取,得到第一视频帧的第一特征。
步骤403、电子设备对第二视频帧进行特征提取,得到第二视频帧的第一特征。
可选地,图像的第一特征可以是基于第一特征器提取的特征,本申请实施例中,该第一特征提取器是基于深度学习算法学习得到的特征提取器。
可选地,上述第一特征与第二特征可以是不同的特征,也可以是相同的特征,即第一特征提取器的模型结构以及参数可以与第二特征提取器的模型结构以及参数可以不相同,也可以相同,本申请实施例不做限定。
步骤404、电子设备根据第一匹配成本及第一视频帧的第一特征,得到第一光流和第二光流。其中,第一光流为第一视频帧至第二视频帧的光流,第二光流为第三视频帧至第一视频帧的光流。
本申请实施例中,将第一视频帧记为I0,第二视频帧记为I1,第三视频帧记为It,将第一匹配成本记为R1,将第一视频帧的第一特征记为T1,上述根据第一匹配成本及第一视频帧的第一特征,得到第一光流和第二光流的具体过程是:将第一匹配成本R1和第二视频帧的第一特征T1输入至预先训练好的光流预测模型(也可以称为迭代器),应理解,该光流预测模型的输入还包括初始化的状态变量H、初始化的第一视频帧至第二视频帧的光流
Figure BDA0003256824540000131
以及初始化的第三视频帧至第一视频帧的光流
Figure BDA0003256824540000132
经光流预测模型的预测得到第一光流(记为F0→1)和第二光流(记为F′t→0)。
其中,状态变量H的初始值、第一视频帧至第二视频帧的光流的初始值
Figure BDA0003256824540000133
以及第三视频帧至第一视频帧的光流的初始值
Figure BDA0003256824540000134
可以为0,也可以为随机值,本申请实施例不做限定。
可选地,上述状态变量H的初始值也可以为第一视频帧的第一特征。
需要说明的是,上述光流预测模型也可以是基于深度学习算法训练得到的模型,示例性的,该光流预测模型结构可以是门控循环单元(gated recurrent unit,GRU)结构,光流预测模型的训练过程将在下述实施例中进行详细介绍。
步骤405、电子设备根据第一光流和第二光流,得到第一目标光流,第一目标光流为第三视频帧至第一视频帧的光流。
可选地,如图6所示,步骤405可以通过下述步骤4051至步骤4053实现。
步骤4051、电子设备基于光流的线性运动特性,根据第一光流确定第五光流,第五光流为第一视频帧至第三视频帧的光流。
应理解,光流的运动通常是线性运动,基于光流的线性运动特性,根据第一视频帧至第二视频帧的光流(即第一光流F0→1)可以估计第一视频帧至第三视频帧的光流(即第五光流F0→t),具体的,可以采用下述表达式确定第五光流:
F0→t=t×F0→1
其中,F0→t为第五光流,F0→1为第一光流,t表示第三视频帧的插入时刻。
步骤4052、电子设备采用第二光流对第五光流进行反向扭曲,得到第一反向扭曲光流和第一光流掩膜,该第一光流掩膜用于指示第五光流中光流值是否被反向扭曲。
本申请实施例中,可以采用下述表达式对第五光流进行反向扭曲操作:
Figure BDA0003256824540000141
其中,F″t→0表示第一反向扭曲光流,V1表示第一光流掩膜,F0→t为第五光流,F′t→0为第二光流,
Figure BDA0003256824540000142
表示反向扭曲操作。关于反向扭曲操作的详细过程可以参考本领域现有技术中方法,本申请实施例不再详述。
应理解,第一光流掩膜V1是一个光流掩膜矩阵,由元素0和1组成,其中,0表示反向扭曲过程中对应位置的像素未被覆盖(未被覆盖的位置通常是边缘或者遮挡区域),即对第五光流进行反向扭曲过程中,对应位置的光流值未被反向扭曲,即光流值未发生变化(未更新);1表示反向扭曲过程中对应位置的像素被覆盖,即对第五光流进行反向扭曲过程中,对应位置的光流值被反向扭曲,即光流值发生了变化(已更新)。
步骤4053、电子设备根据第一光流掩膜和第一反向扭曲光流对第二光流进行更新,得到第一目标光流。
具体的,可以采用下述表达式确定第一目标光流:
Ft→0=F″t→0⊙V1+F′t→0⊙(1-V1)
其中,Ft→0表示第一目标光流(第三视频帧至第一视频帧的光流),F″t→0表示第一反向扭曲光流,V1表示第一光流掩膜,F′t→0为第二光流,⊙表示对应位置的元素相乘。
上述确定第一目标光流的表达式的含义是:对于反向扭曲过程中光流值被反向扭曲的位置,使用第一反向扭曲光流F″t→0中该位置的光流值作为第一目标光流对应位置的光流值,对于反向扭曲过程中光流值未被反向扭曲的位置,使用第二光流F′t→0中该位置的光流值作为第一目标光流对应位置的光流值。
综上,上述步骤4051至步骤4053所述描述的根据第一光流和第二光流,得到第一目标光流的过程可以理解为对第一光流和第二光流进行耦合处理,得到第一目标光流。
步骤406、电子设备根据第二匹配成本及第二视频帧的第一特征,得到第三光流和第四光流。其中,第三光流为第二视频帧至第一视频帧的光流,第四光流为第三视频帧至第二视频帧的光流。
与上述步骤404类似,将第一视频帧记为I0,第二视频帧记为I1,第三视频帧记为It,将第二匹配成本记为R2,将第二视频帧的第一特征记为T2,上述根据第二匹配成本及第二视频帧的第一特征,得到第三光流和第四光流的具体过程是:将第二匹配成本R2和第二视频帧的第一特征T2输入至预先训练好的光流预测模型(也可以称为迭代器),应理解,该光流预测模型的输入还包括初始化的状态变量H、初始化的第二视频帧至第一视频帧的光流
Figure BDA0003256824540000151
以及初始化的第三视频帧至第二视频帧的光流
Figure BDA0003256824540000152
经光流预测模型的预测得到第三光流(记为F1→0)和第四光流(记为F′t→1)。
其中,状态变量H的初始值、第二视频帧至第一视频帧的光流的初始值
Figure BDA0003256824540000153
以及第三视频帧至第二视频帧的光流的初始值
Figure BDA0003256824540000154
可以为0,也可以为随机值,可选地,状态变量H的初始值也可以为第二视频帧的第一特征。
步骤407、电子设备根据第三光流和第四光流,得到第二目标光流,该第二目标光流为第三视频帧至第二视频帧的光流。
可选地,如图7所示,上述步骤407可以通过下述步骤4071至步骤4073实现。
步骤4071、电子设备基于光流的线性运动特性,根据第三光流确定第六光流,第六光流为第二视频帧至第三视频帧的光流。
基于光流的线性运动特性,根据第二视频帧至第一视频帧的光流(即第一光流F1→0)可以估计第二视频帧至第三视频帧的光流(即第六光流F1→t),具体的,可以采用下述表达式确定第六光流:
F1→t=t×F1→0
其中,F1→t为第六光流,F1→0为第三光流,t表示第三视频帧的插入时刻。
步骤4072、电子设备采用第四光流对第六光流进行反向扭曲,得到第二反向扭曲光流和第二光流掩膜,第二光流掩膜用于指示第六光流中光流值是否被反向扭曲。
本申请实施例中,可以采用下述表达式对第六光流进行反向扭曲操作:
Figure BDA0003256824540000155
其中,F″t→1表示第二反向扭曲光流,V2表示第二光流掩膜,F1→t为第六光流,F′t→1为第四光流,
Figure BDA0003256824540000156
表示反向扭曲操作。
同理,第二光流掩膜V2是一个光流掩膜矩阵由元素0和1组成,关于第二光流掩膜V2的相关描述可以参考上述实施例中对于第一光流掩膜V1的详细描述,此处不再赘述。
步骤4073、电子设备根据第二光流掩膜和第二反向扭曲光流对第四光流进行更新,得到第二目标光流。
具体的,可以采用下述表达式确定第二目标光流:
Ft→1=F″t→1⊙V2+F′t→1⊙(1-V2)
其中,Ft→1表示第二目标光流(第三视频帧至第二视频帧的光流),F″t→1表示第二反向扭曲光流,V2表示第一光流掩膜,F′t→1为第四光流,⊙表示对应位置的元素相乘。
上述确定第二目标光流的表达式的含义是:对于反向扭曲过程中光流值被反向扭曲的位置,使用第二反向扭曲光流F″t→1中该位置的光流值作为第二目标光流对应位置的光流值,对于反向扭曲过程中光流值未被反向扭曲的位置,使用第四光流F′t→1中该位置的光流值作为第二目标光流对应位置的光流值。
步骤408、电子设备根据第一视频帧、第二视频帧、第一目标光流以及第二目标光流,得到第三视频帧。
本申请实施例中,电子设备可以基于视频插帧网络,将第一视频帧、第二视频帧、第一目标光流以及第二目标光流输入至视频插帧网络,从而输出第三视频帧。可选地,视频插帧网络可以是Unet等卷积神经网络,也可以是对抗神经网络等其他可以用于图像处理的网络结构,该视频插帧网络可以是预先训练好的网络,关于视频插帧网络的训练过程将在下述实施例中进行详细介绍。
具体的,参考图8,将第一视频帧、第二视频帧、第一目标光流以及第二目标光流输入至视频插帧网络,在该视频插帧网络中,根据第一目标光流对第一视频帧进行反向扭曲得到第一中间帧(该第一中间帧是对第三视频帧的中间预测结果),然后根据视频插帧网络预测得到的第一遮挡图对第一中间帧进行调整,得到第三视频帧的第一预测值,其中,第一遮挡图用于表示第三视频帧存在,但在第一视频帧中不存在的信息;并且根据第二目标光流对第二视频帧进行反向扭曲得到第二中间帧(该第二中间帧也是对第三视频帧的中间预测结果),然后根据视频插帧网络预测得到的第二遮挡图对第二中间帧进行调整,得到第三视频帧的第二预测值,第二遮挡图用于表示第三视频帧存在,但在第二视频帧中不存在的信息;然后将第三视频帧的第一预测值和第三视频帧的第二预测值进行加权融合,再将融合结果与视频插帧网络预测得到的残差帧进行相加,从而得到合成的第三视频帧。
本申请实施例提供的视频插帧方法中,电子设备可以根据第一视频帧的第一特征及第一视频帧到第二视频帧进行匹配的第一匹配成本得到第一视频帧至第二视频帧的第一光流和第三视频帧至第一视频帧的第二光流,并且根据第一光流和第二光流,得到第三视频帧至第一视频帧的光流的第一目标光流;同理,电子设备可以根据第二视频帧的第一特征及第二视频帧到第一视频帧进行匹配的第二匹配成本得到第二视频帧至第一视频帧的第三光流和第三视频帧至第二视频帧的第四光流,并且根据第三光流和第四光流,得到第三视频帧至第二视频帧的光流的第二目标光流;进而,根据第一视频帧、第二视频帧、第一目标光流以及第二目标光流,得到第三视频帧。由于电子设备获取上述第一目标光流和第二目标光流的方法,能够克服空洞或者多映射的问题,因此预测得到的第一目标光流和第二目标光流的准确性比较高,如此,能够合成图像质量较高的中间帧(即上述第三视频帧),从而提升视频插帧的效果。
参考图9,经实验研究,按照本申请实施例提供的视频插帧方法得到的第三视频帧(图9中的(b))与现有的方法得到第三视频帧相比(图9中的(a)),图像中线条扭曲和纹理错乱的问题得到了较好的改善。
可以理解的是,本申请实施例中,用于视频插帧的模型包括耦合光流网络,该耦合光流网络用于根据第一视频帧和第二视频帧,得到第一目标光流和第二目标光流,即该耦合光流网络用于实现上述实施例中的步骤401至步骤407。如图10所示,该耦合光流网络可以包括上述实施例中的用于提取图像的第一特征的第一特征提取器、用于提取图像的第二特征的第二特征提取器、匹配成本计算模块、光流预测模型以及耦合处理模块。
可选地,耦合光流网络可以是基于人工智能技术(机器学习、深度学习)训练得到的,该耦合光流网络可以是在服务端(例如云端)训练的,当电子设备执行本申请实施例的视频插帧方法时,电子设备从服务端获取该耦合光流网络的模型,并基于该模型预测第一目标光流和第二目标光流;该耦合光流网络也可以是电子设备在线训练的,本申请实施例不做限定。
需要说明的是,在本申请实施例中,在对耦合光流网络进行训练更新的过程中,该耦合光流网络中的匹配成本计算模块和耦合处理模块是无需更新的,需要更新的是第一特征提取器、第二特征提取器以及光流预测模型。
本申请实施例中,耦合光流网络是基于第一训练样本集训练得到的,该第一训练样本集包括第一样本视频帧、第二样本视频帧、第一样本视频帧至第二样本视频帧的光流、第二样本视频帧至第一样本视频帧的光流、第三样本视频帧至第一样本视频帧的光流以及第三样本视频帧至第二样本视频帧的光流。
可选地,获取第一训练样本集中的训练样本的方法可以是:根据预训练得到的RAFT(recurrent all-pairs field transforms for optical flow)光流模型生成第一样本视频帧至第二样本视频帧的光流、第二样本视频帧至第一样本视频帧的光流、第三样本视频帧至第一样本视频帧的光流以及第三样本视频帧至第二样本视频帧的光流。
假设一组训练样本中包括第一样本视频帧记为I0,第二样本视频帧I1,第三样本视频帧It,基于RAFT光流模型,根据第一样本视频帧I0和第二样本视频帧I1,可以得到第一样本视频帧I0至第二样本视频帧I1的光流F0→1和第二样本视频帧I1至第一样本视频帧I0的光流F1→0;根据第一样本视频帧和第三样本视频帧,可以得到第一样本视频帧I0至第三样本视频帧It的光流F0→t和第三样本视频帧It至第一样本视频帧I0的光流Ft→0;根据第二样本视频帧和第三样本视频帧,可以得到第二样本视频帧I1至第三样本视频帧It的光流F1→t和第三样本视频帧It至第二样本视频帧I1的光流Ft→1
按照上述方法得到多组训练样本的三组光流之后,由于可能存在遮挡、运动模糊、大运动等因素,本申请实施例中,根据双向光流的空间一致性(也可以称为前后一致性),对上述三组光流进行前后一致性校验,筛除(或过滤)不合格的样本,其中,双向光流的一致性指的是两个视频帧之间的双向光流的应大小相同,方向相反,例如上述F0→1与F1→0应该大小相同反向相反,即F1→0+F1→0=0,若F1→0+F1→0≠0,说明光流估计不准确,基于此,上述筛除(或过滤)不合格的样本具体是将训练样本中的双向光流之和不等于0的样本剔除。
经空间一致性校验之后,从校验合格的多组训练样本的三组光流中,选取I0,I1,It,F0→1,F1→0,Ft→0和Ft→1作为训练样本训练耦合光流网络。需要说明的是,按照RAFT光流模型得到的光流可能不是准确的光流,因此,基于RAFT光流模型得到的训练样本集可以称为具有伪光流标签的训练样本集。
应理解,耦合光流网络的训练过程对耦合光流网络中的第一特征提取器、第二特征提取器以及光流预测模型进行不断优化的过程。下面详细描述基于第一训练样本集训练耦合光流网络的过程,具体的,参考图10所示的该耦合光流网络的结构示意图,通过循环执行下述步骤1至步骤5得到耦合光流网络。
步骤1、对于第i个训练样本,通过第一特征提取器提取第一样本视频帧I0的第一特征。
步骤2、通过第二特征提取器第一样本视频帧I0的第二特征和第二样本视频帧I1的第二特征,并且根据第一样本视频帧I0的第二特征和第二样本视频帧I1的第二特征得到第一匹配成本R1
步骤3、将第一样本视频帧I0的第一特征、第一匹配成本R1
Figure BDA0003256824540000171
以及
Figure BDA0003256824540000172
输入至光流预测模型,首先预测到
Figure BDA0003256824540000173
以及
Figure BDA0003256824540000174
并根据
Figure BDA0003256824540000175
Figure BDA0003256824540000176
得到本次估计的第一样本视频帧至第二样本视频帧的光流
Figure BDA0003256824540000177
和第三样本视频帧至第一样本视频帧的光流
Figure BDA0003256824540000178
其中,
Figure BDA0003256824540000179
以及
Figure BDA00032568245400001710
是上一次循环(对应第i-1个训练样本)得到的,
Figure BDA00032568245400001711
为本次估计的F0→1与上一次估计的
Figure BDA00032568245400001712
之间的残差,
Figure BDA00032568245400001713
为本次估计的Ft→0与上一次估计的
Figure BDA00032568245400001714
之间的残差,
Figure BDA00032568245400001715
应理解,本申请实施例中,第一次执行步骤3时,状态变量H1,第一样本视频帧至第二样本视频帧的光流F0→1,第三样本视频帧至第一样本视频帧的光流Ft→0的值是初始化的值,其中,状态变量H初始化为
Figure BDA00032568245400001716
第一样本视频帧至第二样本视频帧的光流F0→1初始化为
Figure BDA00032568245400001717
以及第三样本视频帧至第一样本视频帧的光流Ft→0初始化为
Figure BDA0003256824540000181
步骤4、根据第一样本视频帧至第二样本视频帧的光流
Figure BDA0003256824540000182
和第三样本视频帧至第一样本视频帧的光流
Figure BDA0003256824540000183
得到第三样本视频帧至第一样本视频帧的目标光流
Figure BDA0003256824540000184
具体的,根据下述三个表达式可以得到目标光流
Figure BDA0003256824540000185
Figure BDA0003256824540000186
Figure BDA0003256824540000187
Figure BDA0003256824540000188
关于步骤4的详细描述,可以参考上述实施例中对于步骤4051至步骤4053的描述,此处不再赘述。
应理解,通过上述步骤1至步骤4可以得到本次估计的第一样本视频帧至第二样本视频帧的光流
Figure BDA0003256824540000189
第三样本视频帧至第一样本视频帧的光流
Figure BDA00032568245400001810
步骤5、根据本次估计得到的第一样本视频帧至第二样本视频帧的光流
Figure BDA00032568245400001811
和真实的第一样本视频帧至第二样本视频帧的光流F0→1,以及本次估计得到的第三样本视频帧至第一样本视频帧的光流
Figure BDA00032568245400001812
和真实的第三样本视频帧至第一样本视频帧的光流Ft→0更新耦合光流网络。
具体的,根据上述估计的
Figure BDA00032568245400001813
真实的F0→1,估计的
Figure BDA00032568245400001814
以及真实的Ft→0计算预设的损失函数的损失值,并根据损失值更新耦合光流网络中的第一特征提取器、第二特征提取器以及光流预测模型。
综上可知,循环执行上述步骤1至步骤5直至预设的次数(例如12次)或者直至耦合光流网络的损失值达到预设条件,得到训练好的耦合光流网络。
可选地,也可以循环执行下述步骤a至步骤e得到耦合光流网络。
步骤a、对于第i个训练样本,通过第一特征提取器提取第二样本视频帧I1的第一特征。
步骤b、通过第二特征提取器第一样本视频帧I0的第二特征和第二样本视频帧I1的第二特征,并且根据第一样本视频帧I0的第二特征和第二样本视频帧I1的第二特征得到第二匹配成本R2
步骤c、将第二样本视频帧I1的第一特征、第二匹配成本R2
Figure BDA00032568245400001815
以及
Figure BDA00032568245400001816
输入至光流预测模型,首先预测到
Figure BDA00032568245400001817
以及
Figure BDA00032568245400001818
并根据
Figure BDA00032568245400001819
Figure BDA00032568245400001820
得到本次估计的第二样本视频帧至第一样本视频帧的光流
Figure BDA00032568245400001821
和第三样本视频帧至第二样本视频帧的光流
Figure BDA00032568245400001822
其中,
Figure BDA00032568245400001823
Figure BDA00032568245400001824
是上一次循环(对应第i-1个训练样本)得到的,
Figure BDA00032568245400001825
为本次估计的F1→0与上一次估计的
Figure BDA00032568245400001826
之间的残差,
Figure BDA00032568245400001827
为本次估计的Ft→1与上一次估计的
Figure BDA00032568245400001828
之间的残差,
Figure BDA00032568245400001829
步骤d、根据第二样本视频帧至第一样本视频帧的光流
Figure BDA00032568245400001830
和第三样本视频帧至第二样本视频帧的光流
Figure BDA00032568245400001831
得到第三样本视频帧至第一样本视频帧的目标光流
Figure BDA00032568245400001832
具体的,根据下述三个表达式可以得到目标光流
Figure BDA00032568245400001833
Figure BDA00032568245400001834
Figure BDA00032568245400001835
Figure BDA00032568245400001836
关于步骤d的详细描述,可以参考上述实施例中对于步骤4071至步骤4073的描述,此处不再赘述。
步骤e、根据本次估计得到的第二样本视频帧至第一样本视频帧的光流
Figure BDA0003256824540000191
和真实的第二样本视频帧至第一样本视频帧的光流F1→0,以及本次估计得到的第三样本视频帧至第二样本视频帧的光流
Figure BDA0003256824540000192
和真实的第三样本视频帧至第二样本视频帧的光流Ft→1更新耦合光流网络。
具体的,根据上述估计的
Figure BDA0003256824540000193
真实的F1→0,估计的
Figure BDA0003256824540000194
以及真实的Ft→1计算预设的损失函数的损失值,并根据损失值更新耦合光流网络中的第一特征提取器、第二特征提取器以及光流预测模型。
综上可知,循环执行上述步骤a至步骤e直至预设的次数(例如12次)或者直至耦合光流网络的损失值达到预设条件,得到训练好的耦合光流网络。
可选地,上述用于训练耦合光流网络的训练样本集还可以包括有准确光流标签的训练样本集,该有准确光流标签的训练样本集包括第一样本视频帧、第二样本视频帧、第一样本视频帧至第二样本视频帧的光流以及第二样本视频帧至第一样本视频帧的光流,该训练样本集中不包括第三样本视频帧、第三样本视频帧至第一样本视频帧的光流以及第三样本视频帧至第二样本视频帧的光流。
本申请实施例中,可以基于具有伪光流标签的训练样本集和有准确光流标签的训练样本集训练耦合光流网络,在耦合光流网络的训练过程中,可以将两个训练样本集组合成一个训练样本集。
其中,对于来自具有伪光流标签的训练样本集的训练样本,按照上述步骤1至步骤5的过程更新耦合光流网络,对于来自有准确光流标签的训练样本集中的训练样本,由于不存在第三样本视频帧、第三样本视频帧至第一样本视频帧的光流以及第三样本视频帧至第二样本视频帧的光流,这种情况下,仅根据估计得到的第一样本视频帧至第二样本视频帧的光流和真实的第一样本视频帧至第二样本视频帧的光流,以及估计得到的第二样本视频帧至第一样本视频帧的光流和真实的第二样本视频帧至第一样本视频帧的光流来更新耦合光流网络。
可选地,本申请实施例中,用于视频插帧的模型还包括视频插帧网络,该视频插帧网络用于根据第一目标光流和第二目标光流,得到第三视频帧,即该视频插帧网络用于实现上述实施例中的步骤408。
该视频插帧网络可以是基于第二训练样本集训练得到的,该第二训练样本集包括第一样本视频帧、第二样本视频帧、耦合光流网络输出的第三样本视频帧至第一样本视频帧的光流、耦合光流网络输出的第三样本视频帧至第二样本视频帧的光流以及第三样本视频帧,该第三样本视频帧是真实的第三样本视频帧。
可以理解的是,视频插帧网络的训练原理与上述耦合光流网络的训练原理类似,将第一样本视频帧、第二样本视频帧、耦合光流网络输出的第三样本视频帧至第一样本视频帧的光流、耦合光流网络输出的第三样本视频帧至第二样本视频帧的光流输入至预设的视频插帧网络,该视频插帧网络输出预测的第三样本视频帧;然后根据预测的第三样本视频帧和真实的第三样本视频帧计算损失值,并根据损失值更新该视频插帧网络,通过循环执行上述过程得到训练好的视频插帧网络。
可选地,在上述根据视频插帧网络预测的第三样本视频帧和真实的第三样本视频帧更新视频插帧网络的过程中,也可以根据预测的第三样本视频帧和真实的第三样本视频帧微调上述训练好的耦合光流网络。根据第二训练样本集训练视频插帧插帧网络和耦合光流网络时,视频插帧插帧网络的学习速率和耦合光流网络的学习速率的比值可以按照需求进行设置,例如设置为1:10。
相应地,本申请实施例提供一种视频插帧装置,可以根据上述方法示例对视频插帧装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图11示出上述实施例中所涉及的视频插帧装置的一种可能的结构示意图。如图11所示,该视频插帧装置包括匹配成本计算模块1101、第一特征提取模块1102、光流估计模块1103以及视频插帧模块1104。
匹配成本计算模块1101用于根据第一视频帧和第二视频帧,得到第一匹配成本和第二匹配成本,例如执行上述方法实施例中的步骤401。
第一特征提取模块1102用于对第一视频帧进行特征提取,得到第一视频帧的第一特征,例如执行上述方法实施例中的步骤402。并且该第一特征提取模块1102用于对第二视频帧进行特征提取,得到第二视频帧的第一特征,例如执行上述方法实施例中的步骤403。
光流估计模块1103用于根据第一匹配成本及第一视频帧的第一特征,得到第一光流和第二光流,该第一光流为第一视频帧至第二视频帧的光流,该第二光流为第三视频帧至第一视频帧的光流;并且根据第一光流和第二光流,得到第一目标光流,该第一目标光流为第三视频帧至第一视频帧的光流,例如执行上述方法实施例中的步骤404和步骤405。
光流估计模块1103还用于根据第二匹配成本及第二视频帧的第一特征,得到第三光流和第四光流,该第三光流为第二视频帧至第一视频帧的光流,该第四光流为第三视频帧至第二视频帧的光流;并且根据第三光流和第四光流,得到第二目标光流,该第二目标光流为第三视频帧至第二视频帧的光流,例如执行上述方法实施例中的步骤406和步骤407。
视频插帧模块1104用于根据第一视频帧、第二视频帧、第一目标光流以及第二目标光流,得到第三视频帧,例如执行上述方法实施例中的步骤408。
可选地,光流估计模块1103具体用于基于光流的线性运动特性,根据第一光流确定第五光流,该第五光流为第一视频帧至第三视频帧的光流;并且采用第二光流对第五光流进行反向扭曲,得到第一反向扭曲光流和第一光流掩膜,第一光流掩膜用于指示第五光流中光流值是否被反向扭曲;以及根据第一光流掩膜和第一反向扭曲光流对第二光流进行更新,得到第一目标光流,例如执行上述方法实施例中的步骤4051至步骤4053。
可选地,光流估计模块1103具体用于基于光流的线性运动特性,根据第三光流确定第六光流,该第六光流为第二视频帧至第三视频帧的光流;并且采用第四光流对第六光流进行反向扭曲,得到第二反向扭曲光流和第二光流掩膜,第二光流掩膜用于指示第六光流中光流值是否被反向扭曲;以及根据第二光流掩膜和第二反向扭曲光流对第四光流进行更新,得到第二目标光流,例如执行上述方法实施例中的步骤4071至步骤4073。
可选地,本申请实施例提供的视频插帧装置第二特征提取模块1105,该第二特征提取模块1105用于对第一视频帧进行特征提取,得到第一视频帧的第二特征;并且对第二视频帧进行特征提取,得到第二视频帧的第二特征,例如执行上述方法实施例中的步骤4011和步骤4012。上述匹配成本计算模块1101,具体用于根据第一视频帧的第二特征和第二视频帧的第二特征,确定第一匹配成本和第二匹配成本,例如执行上述方法实施例中的步骤4013。
上述视频插帧装置的各个模块还可以用于执行上述方法实施例中的其他动作,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图12示出了上述实施例中所涉及的视频插帧装置的另一种可能的结构示意图。如图12所示,本申请实施例提供的视频插帧装置可以包括:处理模块1201和通信模块1202。处理模块1201可以用于对该视频插帧装置的动作进行控制管理,例如,处理模块1201可以用于支持该视频插帧装置执行上述方法实施例中的步骤401至步骤408,和/或用于本文所描述的技术的其它过程。通信模块1202可以用于支持该视频插帧装置与其他网络实体的通信。可选地,如图12所示,该视频插帧装置还可以包括存储模块1203,用于存储该装置的程序代码和数据。
其中,处理模块1201可以是处理器或控制器(例如可以是上述如图2所示的处理器210),例如可以是中央处理器(central processing unit,CPU)、通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specificintegrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种示例性的逻辑方框、模块和电路。上述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块1202可以是收发器、收发电路或通信接口等(例如可以是上述如图2所示的移动通信模块250或无线通信模块260)。存储模块1203可以是存储器(例如可以是上述如图2所示的内部存储器221)。
当处理模块1201为处理器,通信模块1202为收发器,存储模块1203为存储器时,处理器、收发器和存储器可以通过总线连接。总线可以是外设部件互连标准(peripheralcomponent interconnect,PCI)总线或扩展工业标准结构(extended Industry standardarchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。
上述视频插帧装置包含的模块实现上述功能的更多细节请参考前面各个方法实施例中的描述,在这里不再重复。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
本申请实施例提供一种电子设备,包括存储器和与该存储器连接的至少一个处理器,存储器用于存储指令,该指令被至少一个处理器读取后,执行如图4至图7任一实施例所述的方法。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时执行如图4至图7任一实施例所述的方法。
本申请实施例提供一种计算机程序产品,该计算机程序产品包含指令,当该计算机程序产品在计算机上运行时,执行如图4至图7任一实施例所述的方法。
本申请实施例提供一种芯片,包括通信接口和处理电路。通信接口用于与其他设备或部件通信。处理电路用于执行计算机指令,以执行如图4至图7任一实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))方式或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、磁盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state drives,SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (17)

1.一种视频插帧方法,其特征在于,所述方法用于在第一视频帧和第二视频帧之间插入第三视频帧,所述方法包括:
根据所述第一视频帧和所述第二视频帧,得到第一匹配成本和第二匹配成本;
对所述第一视频帧进行特征提取,得到所述第一视频帧的第一特征;
对所述第二视频帧进行特征提取,得到所述第二视频帧的第一特征;
根据所述第一匹配成本及所述第一视频帧的第一特征,得到第一光流和第二光流,所述第一光流为所述第一视频帧至所述第二视频帧的光流,所述第二光流为所述第三视频帧至所述第一视频帧的光流;根据所述第一光流和所述第二光流,得到第一目标光流,所述第一目标光流为所述第三视频帧至所述第一视频帧的光流;
根据所述第二匹配成本及所述第二视频帧的第一特征,得到第三光流和第四光流,所述第三光流为所述第二视频帧至所述第一视频帧的光流,所述第四光流为所述第三视频帧至所述第二视频帧的光流;根据所述第三光流和所述第四光流,得到第二目标光流,所述第二目标光流为所述第三视频帧至所述第二视频帧的光流;
根据所述第一视频帧、所述第二视频帧、所述第一目标光流以及所述第二目标光流,得到所述第三视频帧。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一光流和所述第二光流,得到第一目标光流,包括:
基于光流的线性运动特性,根据所述第一光流确定第五光流,所述第五光流为所述第一视频帧至所述第三视频帧的光流;
采用所述第二光流对所述第五光流进行反向扭曲,得到第一反向扭曲光流和第一光流掩膜,所述第一光流掩膜用于指示所述第五光流中光流值是否被反向扭曲;
根据所述第一光流掩膜和所述第一反向扭曲光流对所述第二光流进行更新,得到所述第一目标光流。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述第三光流和所述第四光流,得到第二目标光流,包括:
基于光流的线性运动特性,根据所述第三光流确定第六光流,所述第六光流为所述第二视频帧至所述第三视频帧的光流;
采用所述第四光流对所述第六光流进行反向扭曲,得到第二反向扭曲光流和第二光流掩膜,所述第二光流掩膜用于指示所述第六光流中光流值是否被反向扭曲;
根据所述第二光流掩膜和所述第二反向扭曲光流对所述第四光流进行更新,得到所述第二目标光流。
4.根据权利要求1至3任一项所述的方法,其特征在于,
所述第一匹配成本是从所述第一视频帧向所述第二视频帧进行特征匹配的匹配成本,所述第二匹配成本是从所述第二视频帧向所述第一视频帧进行特征匹配的匹配成本。
5.根据权利要求1至4任一项所述的方法,其特征在于,根据所述第一视频帧和所述第二视频帧,得到第一匹配成本和第二匹配成本,包括:
对所述第一视频帧进行特征提取,得到所述第一视频帧的第二特征;
对所述第二视频帧进行特征提取,得到所述第二视频帧的第二特征;
根据所述第一视频帧的第二特征和所述第二视频帧的第二特征,确定所述第一匹配成本和所述第二匹配成本。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述第一目标光流和所述第二目标光流由耦合光流网络获取;
所述耦合光流网络是基于第一训练样本集训练得到的,所述第一训练样本集包括第一样本视频帧、第二样本视频帧、所述第一样本视频帧至所述第二样本视频帧的光流、所述第二样本视频帧至所述第一样本视频帧的光流、第三样本视频帧至所述第一样本视频帧的光流以及所述第三样本视频帧至所述第二样本视频帧的光流。
7.根据权利要求6所述的方法,其特征在于,所述第三视频帧由视频插帧网络获取;
所述视频插帧网络是基于第二训练样本集训练得到的,所述第二训练样本集包括所述第一样本视频帧、所述第二样本视频帧、所述耦合光流网络输出的所述第三样本视频帧至所述第一样本视频帧的光流、所述耦合光流网络输出的所述第三样本视频帧至所述第二样本视频帧的光流以及所述第三样本视频帧。
8.一种视频插帧装置,其特征在于,所述视频插帧装置用于在第一视频帧和第二视频帧之间插入第三视频帧,所述装置包括:匹配成本计算模块、第一特征提取模块、光流估计模块以及视频插帧模块;
所述匹配成本计算模块,用于根据所述第一视频帧和所述第二视频帧,得到第一匹配成本和第二匹配成本;
所述第一特征提取模块,用于对所述第一视频帧进行特征提取,得到所述第一视频帧的第一特征;并且对所述第二视频帧进行特征提取,得到所述第二视频帧的第一特征;
所述光流估计模块,用于根据所述第一匹配成本及所述第一视频帧的第一特征,得到第一光流和第二光流,所述第一光流为所述第一视频帧至所述第二视频帧的光流,所述第二光流为所述第三视频帧至所述第一视频帧的光流;并且根据所述第一光流和所述第二光流,得到第一目标光流,所述第一目标光流为所述第三视频帧至所述第一视频帧的光流;
所述光流估计模块,还用于根据所述第二匹配成本及所述第二视频帧的第一特征,得到第三光流和第四光流,所述第三光流为所述第二视频帧至所述第一视频帧的光流,所述第四光流为所述第三视频帧至所述第二视频帧的光流;并且根据所述第三光流和所述第四光流,得到第二目标光流,所述第二目标光流为所述第三视频帧至所述第二视频帧的光流;
所述视频插帧模块,用于根据所述第一视频帧、所述第二视频帧、所述第一目标光流以及所述第二目标光流,得到所述第三视频帧。
9.根据权利要求8所述的装置,其特征在于,
所述光流估计模块,具体用于基于光流的线性运动特性,根据所述第一光流确定第五光流,所述第五光流为所述第一视频帧至所述第三视频帧的光流;并且采用所述第二光流对所述第五光流进行反向扭曲,得到第一反向扭曲光流和第一光流掩膜,所述第一光流掩膜用于指示所述第五光流中光流值是否被反向扭曲;以及根据所述第一光流掩膜和所述第一反向扭曲光流对所述第二光流进行更新,得到所述第一目标光流。
10.根据权利要求8或9所述的装置,其特征在于,
所述光流估计模块,具体用于基于光流的线性运动特性,根据所述第三光流确定第六光流,所述第六光流为所述第二视频帧至所述第三视频帧的光流;并且采用所述第四光流对所述第六光流进行反向扭曲,得到第二反向扭曲光流和第二光流掩膜,所述第二光流掩膜用于指示所述第六光流中光流值是否被反向扭曲;以及根据所述第二光流掩膜和所述第二反向扭曲光流对所述第四光流进行更新,得到所述第二目标光流。
11.根据权利要求8至10任一项所述的装置,其特征在于,
所述第一匹配成本是从所述第一视频帧向所述第二视频帧进行特征匹配的匹配成本,所述第二匹配成本是从所述第二视频帧向所述第一视频帧进行特征匹配的匹配成本。
12.根据权利要求8至11任一项所述的装置,其特征在于,所述装置还包括第二特征提取模块;
所述第二特征提取模块,用于对所述第一视频帧进行特征提取,得到所述第一视频帧的第二特征;并且对所述第二视频帧进行特征提取,得到所述第二视频帧的第二特征;
所述匹配成本计算模块,具体用于根据所述第一视频帧的第二特征和所述第二视频帧的第二特征,确定所述第一匹配成本和所述第二匹配成本。
13.根据权利要求8至12任一项所述的装置,其特征在于,所述光流估计模块为耦合光流网络;
所述耦合光流网络是基于第一训练样本集训练得到的,所述第一训练样本集包括第一样本视频帧、第二样本视频帧、所述第一样本视频帧至所述第二样本视频帧的光流、所述第二样本视频帧至所述第一样本视频帧的光流、第三样本视频帧至所述第一样本视频帧的光流以及所述第三样本视频帧至所述第二样本视频帧的光流。
14.根据权利要求13所述的装置,其特征在于,所述视频插帧模块为视频插帧网络;
所述视频插帧网络是基于第二训练样本集训练得到的,所述第二训练样本集包括所述第一样本视频帧、所述第二样本视频帧、所述耦合光流网络输出的所述第三样本视频帧至所述第一样本视频帧的光流、所述耦合光流网络输出的所述第三样本视频帧至所述第二样本视频帧的光流以及所述第三样本视频帧。
15.一种电子设备,其特征在于,包括存储器和与所述存储器连接的至少一个处理器,所述存储器用于存储指令,所述指令被所述至少一个处理器读取后,执行如权利要求1至7任一项所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行权利要求1至7任一项所述的方法。
17.一种计算机程序产品,其特征在于,所述计算机程序产品包含指令,当所述计算机程序产品在计算机上运行时,执行权利要求1至7任一项所述的方法。
CN202111061599.6A 2021-09-10 2021-09-10 一种视频插帧方法及装置 Pending CN115801987A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111061599.6A CN115801987A (zh) 2021-09-10 2021-09-10 一种视频插帧方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111061599.6A CN115801987A (zh) 2021-09-10 2021-09-10 一种视频插帧方法及装置

Publications (1)

Publication Number Publication Date
CN115801987A true CN115801987A (zh) 2023-03-14

Family

ID=85417097

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111061599.6A Pending CN115801987A (zh) 2021-09-10 2021-09-10 一种视频插帧方法及装置

Country Status (1)

Country Link
CN (1) CN115801987A (zh)

Similar Documents

Publication Publication Date Title
CN111179282B (zh) 图像处理方法、图像处理装置、存储介质与电子设备
WO2021135707A1 (zh) 机器学习模型的搜索方法及相关装置、设备
CN113810601B (zh) 终端的图像处理方法、装置和终端设备
CN112954251B (zh) 视频处理方法、视频处理装置、存储介质与电子设备
CN112532892B (zh) 图像处理方法及电子装置
CN117063461A (zh) 一种图像处理方法和电子设备
CN111741303B (zh) 深度视频处理方法、装置、存储介质与电子设备
CN112533115B (zh) 一种提升扬声器的音质的方法及装置
CN111462170A (zh) 运动估计方法、运动估计装置、存储介质与电子设备
CN113810764B (zh) 视频编辑方法和视频编辑装置
CN112700377A (zh) 图像泛光处理方法及装置、存储介质
CN111598919B (zh) 运动估计方法、运动估计装置、存储介质与电子设备
CN113572948B (zh) 视频处理方法和视频处理装置
WO2022022319A1 (zh) 一种图像处理方法、电子设备、图像处理系统及芯片系统
CN114724055A (zh) 视频切换方法、装置、存储介质及设备
CN115412678B (zh) 曝光处理方法、装置及电子设备
WO2022095752A1 (zh) 帧解复用方法、电子设备及存储介质
CN115641867A (zh) 语音处理方法和终端设备
WO2022033344A1 (zh) 视频防抖方法、终端设备和计算机可读存储介质
CN111626931B (zh) 图像处理方法、图像处理装置、存储介质与电子设备
CN116263971A (zh) 图像帧的预测方法、电子设备及计算机可读存储介质
CN115801987A (zh) 一种视频插帧方法及装置
CN113473013A (zh) 图像美化效果的显示方法、装置和终端设备
CN111294905B (zh) 图像处理方法、图像处理装置、存储介质与电子设备
CN116912602B (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