CN116389670A - 视频处理方法及装置、电子设备和存储介质 - Google Patents
视频处理方法及装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116389670A CN116389670A CN202310567492.1A CN202310567492A CN116389670A CN 116389670 A CN116389670 A CN 116389670A CN 202310567492 A CN202310567492 A CN 202310567492A CN 116389670 A CN116389670 A CN 116389670A
- Authority
- CN
- China
- Prior art keywords
- frame
- optical flow
- motion
- determining
- inter
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 230000003287 optical effect Effects 0.000 claims abstract description 168
- 239000002131 composite material Substances 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 27
- 239000013598 vector Substances 0.000 claims description 25
- 230000015654 memory Effects 0.000 claims description 16
- 238000005070 sampling Methods 0.000 claims description 14
- 238000013507 mapping Methods 0.000 claims description 7
- 230000002194 synthesizing effect Effects 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims 1
- 230000006870 function Effects 0.000 description 22
- 238000003780 insertion Methods 0.000 description 11
- 230000037431 insertion Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000004927 fusion Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000001965 increasing effect Effects 0.000 description 7
- 230000003936 working memory Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000001953 sensory effect Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000002266 amputation Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000012966 insertion method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0127—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0135—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Signal Processing For Recording (AREA)
- Television Systems (AREA)
Abstract
本公开提供了一种视频处理方法及装置、电子设备和存储介质,涉及图像及视频处理技术领域。实现方案为:确定视频中连续的第一帧和第二帧;基于所述第一帧和所述第二帧之间的运动信息确定所述第一帧和所述第二帧之间的运动强度;基于所述运动强度确定用于确定所述第一帧和所述第二帧之间的帧间光流图;以及基于所述第一帧、所述第二帧以及所述帧间光流图确定目标合成帧。
Description
技术领域
本公开涉及图像及视频处理技术领域,具体涉及一种视频处理方法、视频处理装置、电子设备、计算机可读存储介质和计算机程序产品。
背景技术
通过在视频的时序上连续的两帧画面中增加若干帧,可以缩短视频帧之间的显示时间,从而提高视频的帧率和流畅度。
目前的插帧方法包括以下三种:1、通过复制前一帧的画面到后一帧来进行插帧;2、通过将前后两帧进行类似双重曝光的模糊处理来得到中间帧;3、通过对前后两帧画面进行分析建模来生成光流从而得到帧间线性映射关系,最终结合出中间帧。
此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
本公开提供了一种视频处理方法、视频处理装置、电子设备、计算机可读存储介质和计算机程序产品。
根据本公开的一方面,提供了一种视频处理方法,包括:确定视频中连续的第一帧和第二帧;基于所述第一帧和所述第二帧之间的运动信息确定所述第一帧和所述第二帧之间的运动强度;基于所述运动强度确定用于确定所述第一帧和所述第二帧之间的帧间光流图;以及基于所述第一帧、所述第二帧以及所述帧间光流图确定目标合成帧。
根据本公开的另一方面,还提供一种视频处理装置,包括:视频帧确定单元,被配置成确定视频中连续的第一帧和第二帧;运动强度确定单元,被配置成基于所述第一帧和所述第二帧之间的运动信息确定所述第一帧和所述第二帧之间的运动强度;光流估计单元,被配置成基于所述运动强度确定用于确定所述第一帧和所述第二帧之间的帧间光流图;合成单元,被配置成基于所述第一帧、所述第二帧以及所述帧间光流图确定目标合成帧。
根据本公开的另一方面,还提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有计算机程序,所述计算机程序在被所述至少一个处理器执行时实现根据上述的方法。
根据本公开的另一方面,还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被处理器执行时实现根据上述的方法。
根据本公开的另一方面,还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现根据上述的方法。
利用本公开提供的实施例,可以基于两帧之间的强度来自适应地确定两帧之间的帧间光流图,从而使得针对画面中存在的不同的运动幅度自适应地调整光流估计的结果,从而提升整体的光流精度并提高合成帧的感官效果。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开的实施例的视频处理方法的示例性流程图;
图2示出了运动补偿的示意性说明;
图3示出了根据本公开的实施例的视频处理方法的示例性过程;
图4A至图4C示出了视频插帧效果的示例性说明;
图5示出了根据本公开的实施例视频处理装置的示例性框图;以及
图6示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
下面将结合附图详细描述本公开的实施例。
通过对视频中原有画面显示的每两帧画面中增加若干帧,能够缩短视频帧之间的显示时间,从而提高视频的帧率和流畅度,改善视频的观看效果。
相对于通过复制前一帧的画面进行插帧或将去前后两帧进行模糊处理来得到合成的中间帧的插帧方式,基于深度学习光流模型的插帧方式能够对目标中间帧和前后两帧的映射关系进行有效建模,从而以更合理的方式生成中间帧。然而,当原始的前后两帧之间存在较大运动时,可能存在光流估计不准的情况,从而会导致基于光流模型合成的中间帧存在严重伪影。例如,当画面中存在摆动幅度较大的手臂时,合成出来的运动中的手臂常常表现为“断肢”。又例如,当画面中存在前景/背景的快速移动时,合成出来的前景/背景常常表现为模糊。
为了解决上述问题,本公开提供了一种视频处理方法。
图1示出了根据本公开的实施例的视频处理方法的示例性流程图。
如图1所述,在步骤S102中,确定视频中连续的第一帧和第二帧。在步骤S104中,基于第一帧和第二帧之间的运动信息确定第一帧和第二帧之间的运动强度。在步骤S106中,基于运动强度确定用于确定第一帧和第二帧之间的帧间光流图。在步骤S108中,基于第一帧、第二帧以及帧间光流图确定目标合成帧。
利用本公开提供的视频处理方法,可以基于两帧之间的强度来自适应地确定两帧之间的帧间光流图,从而使得针对画面中存在的不同的运动幅度自适应地调整光流估计的结果,从而提升整体的光流精度并提高合成帧的感官效果。
以下将详细描述本公开的实施例。
在步骤S102中,可以确定视频中连续的第一帧和第二帧。在一些实施例中,第一帧和第二帧来自属于同一镜头的一段连续时序的视频片段。
在步骤S104中,可以基于第一帧和第二帧之间的运动信息确定第一帧和第二帧之间的运动强度。
其中,运动信息可以指示第一帧和第二帧之间的图像之间的差异,从而反映第一帧和第二帧之间存在的运动尺度。
在一些实施例中,运动信息可以包括第一帧和第二帧之间的运动向量或帧间光流。运动向量或帧间光流能够体现从第一帧中的对象与第二帧中的对应对象之间的偏移,从而能够反映该对象在从第一帧到第二帧的过程中的运动强度。其中,从第一帧到第二帧的偏移越大,则运动强度越大。
可以基于视频编码数据来确定第一帧和第二帧之间的运动向量。典型的视频编码可以由三个模块组成:预测性编码、转换编码和熵编码。其中,预测性编码通过利用时间(帧间预测)和空间冗余(帧内预测)来减少视频的冗余度。预测性编码可以包括运动估计和运动补偿。通过运动估计和运动补偿的预测性编码会产生一些运动向量。其中,运动向量指示当前帧中的各个区域相对于参考帧中的对应匹配区域的运动轨迹。如图2所示,运动向量可以指示当前帧201中的区域2011相对于参考帧202中的匹配区域2021的运动轨迹。通过基于视频编码过程中的编码数据确定的运动向量来确定第一帧和第二帧之间的运动强度,本公开的方法不需要额外的资源及时间消耗。运动向量信息可以包括第一帧中的多个宏块与第二帧中的多个对应宏块之间的多个运动向量。其中,每个运动向量指示第一帧中的一个宏块与其在第二帧中的对应宏块之间的运动轨迹。
可以基于光流估计的方式来确定第一帧和第二帧之间的帧间光流。其中,光流是一个运动矢量,可以表示像素点的运动方向和运动距离,因而帧间光流可以指示各像素点从第一帧至第二帧的运动信息,也即可以指示各像素点的变化情况。可以通过光流估计模型对第一帧和第二帧进行处理,来获得光流估计模型输出的帧间光流图。该光流估计模型可以是任意基于深度学习的光流估计模型(例如:RAFT(Recurrent All Pairs FieldTransforms for Optical Flow,光流场的递归全对场变换);FlowNet(Learning OpticalFlow with Convolutional Networks,神经光流网络);RIFE(Real-Time IntermediateFlow Estimation,实时中间流估计)等)或者是传统光流估计算法(例如:Lucas-Kanade,一种两帧差分的光流估计算法)。在一些示例中,帧间光流可以指的是从第一帧到第二帧的光流。在另一些示例中,帧间光流可以指的是从第一帧到目标插帧时刻的光流和/或从目标插帧时刻到第二帧的光流。
在一些实施例中,步骤S104可以包括:基于运动信息确定第一帧和第二帧之间的最大运动指标作为全局运动参数。其中,全局运动参数指示第一帧和第二帧的运动强度。
在运动信息包括运动向量的情况下,最大运动指标可以指的是最大运动向量。在一些示例中,可以将多个运动向量中的最大标量值确定为全局运动参数。在这种情况下,可以将视频帧中具有最长运动轨迹的宏块的运动轨迹作为用于表示视频帧全局运动强度的全局运动参数。在一些示例中,可以对多个运动向量的标量值进行筛选,排除其中的异常极大值后,将剩余的运动向量中的最大标量值确定为全局运动参数。在此不限定运动向量的最大标量值的具体确定方式。
在另一些示例中,最大运动指标可以指的是最大相对运动向量。可以基于视频帧中各个宏块的运动向量的横轴分量、纵轴分量、平均运动横轴分量以及平均运动纵轴分量来确定最大相对运动向量。例如,可以通过如下公式(1)确定第一帧和第二帧之间的最大相对运动向量作为全局运动参数:
Ind=max(max(MVx)/max(1.0,mean(abs(MVx))),max(MVy)/max(1.0,mean(abs(MVy)))) (1)
其中,Ind表示全局运动参数;max为最大值函数,min为最小值函数,,mean为平均值函数,abs为绝对值函数。MVx为宏块的运动向量MV在横轴方向上的横轴分量,MVy为宏块的运动向量MV在纵轴方向上的纵轴分量;max表示最大值,在一些示例中,max函数的输出可以是99分位(或其他预先定义的百分位)的值的结果,其目的是为了排除异常大值对最终结果的影响,在另一些示例中,也可以直接使用最大值作为max函数的输出。
在运动信息包括帧间光流的情况下,最大运动指标可以指的是最大光流。在一些示例中,最大运动指标可以是第一帧对应的第一时间戳与目标插帧时刻之间的最大光流或目标插帧时刻与第二帧对应的第二时间戳之间的最大光流。
例如,可以通过如下公式(2)确定第一帧和第二帧之间的最大光流作为全局运动参数。
其中,Ind表示全局运动参数;max为最大值函数,fx和fy分别为光流f在x和y方向上的分量,f0→t表示第一帧对应的第一时间戳0与目标插帧时刻t之间的光流,ft→1表示目标插帧时刻t与第二帧对应的第二时间戳1之间的光流。在一些示例中,max函数的输出可以是99分位(或其他预先定义的百分位)的值的结果,其目的是为了排除异常大值对最终结果的影响,在另一些示例中,也可以直接使用最大值作为max函数的输出。
在另一些示例中,最大运动指标可以是第一帧与第二帧之间的最大相对光流。可以基于各像素点的光流的横轴分量、纵轴分量、平均光流横轴分量以及平均光流纵轴分量来确定最大相对光流。例如,可以通过如下公式(3)确定第一帧和第二帧之间的最大相对光流作为全局运动参数:
Ind=max(max(Fx)/max(1.0,mean(abs(Fx))),max(Fy)/max(1.0,mean(abs(Fy)))) (3)
其中,Ind表示全局运动参数;max为最大值函数,min为最小值函数,mean为平均值函数,abs为绝对值函数。Fx为目标像素点的光流F在横轴方向上的横轴分量,Fy为目标像素点的光流F在纵轴方向上的纵轴分量;max表示最大值,在一些示例中,max函数的输出可以是99分位(或其他预先定义的百分位)的值的结果,其目的是为了排除异常大值对最终结果的影响,在另一些示例中,也可以直接使用最大值作为max函数的输出。
在步骤S106中,可以基于运动强度确定用于确定第一帧和第二帧之间的帧间光流图。
其中,运动强度越大,则用于确定帧间光流图的感受野越大。当两帧之间存在大运动时,模型对于两帧之间的光流估计的结果是不准确的。这是因为当存在大运动时,一个物体在图像中的跨度会很大。当用于光流估计的感受野不足时,将无法很好地捕捉到此物体在两帧之间的联系,从而导致物体存在大运动的部分的光流结果产生偏差。在一些实施例中,当运动强度超过预定阈值时,可以增大光流的感受野。
在一些实现方式中,可以通过增大模型的参数量来增大模型的感受野,从而使得模型的全局建模能力增强并得到较好的光流估计结果。在另一些实现方式中,可以通过缩小原始图像帧的尺寸来相对地扩大感受野。当图像的尺寸缩小时,帧间的物体的大运动被等比例地缩小为小运动。在这种情况下,即使不增加模型的参数量,也能够实现利用足够的感受野来生成两帧之间的光流。尽管小尺寸的光流会损失部分细节,但将更好地捕捉两帧之间的大运动,从而避免出现严重的伪影。此外,采用小尺寸光流还可以提高推理速度并提升模型的总体性能。
当对图像尺寸进行缩小时,步骤S106可以包括:基于运动强度确定用于帧间光流图的缩放系数;基于缩放系数对第一帧和第二帧进行缩放,以得到缩放后的第一帧和缩放后的第二帧;对缩放后的第一帧和缩放后的第二帧进行光流估计,以得到与第一帧对应的第一时间戳与目标插帧时刻之间的第一光流以及与第二帧对应的第二时间戳与目标插帧时刻之间的第二光流,其中第一光流和第二光流的尺寸与缩放后的第一帧和缩放后的第二帧的尺寸相同;基于第一光流和第二光流确定帧间光流图。
其中,可以利用任何合适的光流估计模型(如IFNet)来得到第一光流和第二光流。在此不限定用于进行光流估计的具体方法。
在一些实施例中,可以基于预定的映射关系确定与运动强度对应的缩放系数。
在一些实现方式中,当运动强度大于25时,可以将缩放系数确定为缩小2倍。当运动强度不大于25时,可以将缩放系数确定为1,即不进行缩放。在另一些实现方式中,当运动强度大于25时,可以将缩放系数确定为缩小4倍。当运动强度不大于25时,可以将缩放系数确定为1,即不进行缩放。在又一些实现方式中,在确定预定的映射关系时还可以考虑原视频的尺寸。例如,对于1080p的视频,当运动强度大于25时,可以将缩放系数确定为缩小2倍,对于4k的视频,可以将缩放系数确定为缩小4倍;当运动强度不大于25时,可以将缩放系数确定为1,即不进行缩放。
可以理解的是,上述映射关系仅是示例性的说明,本领域技术人员可以基于实际情况对上述示例进行修改来得到确定用于运动强度和缩放系数的其他映射关系。
通过在运动强度大于阈值(即画面中存在大运动)的情况下对用于光流估计的图像帧的输入进行缩小,可以在不增加光流估计模型参数的情况下增加模型对于画面中存在的运动的感受野,从而增强模型对大运动的建模能力。此外,由于输入的图像帧尺寸变小,同时也提高的模型的运行速度。
在步骤S108中,可以基于第一帧、第二帧以及帧间光流图确定目标合成帧。利用第一帧、第二帧中的图像信息以及帧间光流图的运动信息可以得到目标合成帧。
可以利用任何基于光流的图像融合模型得到目标合成帧。在一些示例中,可以利用RIFE模型的融合层来确定目标合成帧。
在一些实施例中,在步骤S106中对缩放后的第一帧和缩放后的第二帧进行光流估计来得到第一光流和第二光流的情况下,可以对第一光流和第二光流进行逆缩放,以将光流图的尺寸恢复为与原始的第一帧和第二帧相同的尺寸来得到目标合成帧,其中目标合成帧的尺寸与第一帧和第二帧相同。
在这种情况下,步骤S108可以包括:基于缩放系数对第一光流和第二光流进行逆缩放,以得到逆缩放后的第一光流和逆缩放后的第二光流,其中逆缩放后的第一光流和逆缩放后的第二光流的尺寸与第一帧和第二帧的尺寸相同;基于逆缩放后的第一光流、逆缩放后的第二光流、第一帧和第二帧确定目标合成帧。
可以通过对逆缩放后的第一光流与第一帧进行融合,并且通过对逆缩放后的第二光流与第二帧进行融合,并基于这两个融合结果来得到最终的目标合成帧。可以基于任何可能的方式来对光流和图像帧进行融合。在一些实现方式中,可以基于逆缩放后的第一光流从第一帧中采样,获得第一采样结果,基于逆缩放后的第二光流从第二帧中采样,获得第二采样结果,然后可以对第一采样结果和第二采样结果进行融合,以得到用于目标插帧时刻的目标合成帧。
在缩放系数为缩小2倍的情况下,缩放操作指的是将图像的尺寸缩小为当前尺寸的1/2,逆缩放操作指的是将图像的尺寸放大为当前尺寸的2倍。
在另一些实施例中,在步骤S106中对缩放后的第一帧和缩放后的第二帧进行光流估计来得到第一光流和第二光流的情况下,可以基于第一光流、第二光流以及缩放后的第一帧和缩放后的第二帧来进行图像融合,以得到与第一光流和第二光流尺寸相同的合成图像。然后,可以基于缩放系数对合成图像进行逆缩放,以得到与第一帧和第二帧尺寸相同的目标合成帧。
利用所得到的目标合成帧可以对视频进行插帧。可以将目标合成帧***第一帧和第二帧之间的目标插帧时刻来实现插帧。在一些实现方式中,目标插帧时刻可以是基于预定的规则而确定的。例如,可以以均匀分布的方式确定目标插帧时刻。对于2倍插帧来说,在第一帧对应的第一时间戳为0,第二帧对应的第二时间戳为1的情况下,目标插帧时刻可以为0.5。又例如,也可以预先确定目标插帧时刻的具体数值,例如0至1中的任意位置。在另一些实现方式中,目标插帧时刻可以是基于步骤S104中得到的运动强度而确定的。其中,运动强度越大,目标插帧时刻越靠近第一帧和第二帧中的一者。利用这种方式确定目标插帧时刻可以使得所得到的目标合成帧更接近于第一帧和第二帧中的一者(即与目标插帧时刻接近的一者),从而可以进一步提高存在大运动时的插帧的视觉效果。
图3示出了根据本公开的实施例的视频处理方法的示例性过程。
如图3所示,在框301处可以确定视频处理方法的输入,其中输入的图像帧可以包括视频中连续的第一帧和第二帧。
在框302处可以确定输入的两帧之间的帧间光流图。其中帧间光流图可以包括从与第一帧对应的第一时间戳至目标插帧时刻的光流以及从目标插帧时刻至与第二帧对应的第二时间戳之间的光流。
在框303处可以确定在输入的两帧之间是否存在大运动。
如果框303输出的结果是“否(N)”,即两帧之间不存在大运动,则可以在框304处直接基于框302处确定的光流以及框301处确定的输入图像确定目标合成帧。
如果框303输出的结果是“是(Y)”,即两帧之间存在大运动,则可以在框305处执行针对输入的两帧的缩放操作,获取经缩放的(尺寸变小的)图像帧。
在框306处,可以基于框305处得到的经缩放的图像帧确定两帧之间的帧间光流图。
在框307处,可以基于框301处确定的经缩放的图像帧以及框306处确定的帧间光流图确定目标合成帧。可以通过对框306处确定的帧间光流图进行逆缩放来得到与框301处输入的图像帧尺寸相同的光流,并利用逆缩放后的光流与框301处输入的图像进行融合来得到与框301处输入的图像帧尺寸相同的目标合成帧。
可以利用RIFE模型实现本公开的实施例中的光流估计以及基于光流的图像融合。利用RIFE模型进行光流估计时可以确定两帧之间的帧间光流图,还可以得到掩膜fusionMap和残差Residual。其中fusionMap是一张单通道、值域在(0,1)区间、宽高和输入图像相同的掩膜;Residual是一张三通道、值域在(0,1)区间、宽高和输入图像相同残差图,用于对融合后的插帧结果做边缘细节上的补充。在利用RIFE模型对光流和图像进行融合时,可以将输入的图像帧与相同尺寸的光流图进行向后回绕(backward warp)操作来得到第一采样结果和第二采样结果,并基于第一采样结果、第二采样结果、掩膜fusionMap和残差Residual进行融合来得到目标合成帧。
可以理解的是,RIFE模型仅是用于实现本公开的实施例的一种示例。在不脱离本公开原理的情况下,可以使用任何其他合适的模型来实现本公开的方法。
图4A至图4C示出了视频插帧效果的示例性说明。其中图4A对应于第一帧,图4B对应于第二帧。可以看出,第一帧和第二帧之间,画面中的人物的手臂存在较大运动。如果按照常规方式进行光流估计,所生成的合成帧可能如图4C所示,画面中的人物的手臂不再完整。然而,如果采用本公开提供的视频处理方法,可以在光流估计时自适应地确定用于光流估计的感受野的尺度。利用本公开提供的方法,可以提高画面中存在大运动时的光流估计效果,并可以因此提高基于光流预测目标合成帧的效果。
图5示出了根据本公开的实施例的视频处理装置的示例性框图。
如图5所示,视频处理装置500可以包括视频帧确定单元510、运动强度确定单元520、光流估计单元530以及合成单元540。
视频帧确定单元510可以被配置成确定视频中连续的第一帧和第二帧。运动强度确定单元520可以被配置成基于第一帧和第二帧之间的运动信息确定第一帧和第二帧之间的运动强度。光流估计单元530可以被配置成基于运动强度确定用于确定第一帧和第二帧之间的帧间光流图。合成单元540可以被配置成基于第一帧、第二帧以及帧间光流图确定目标合成帧。
利用本公开提供的视频处理方法,可以基于两帧之间的强度来自适应地确定两帧之间的帧间光流图,从而使得针对画面中存在的不同的运动幅度自适应地调整光流估计的结果,从而提升整体的光流精度并提高合成帧的感官效果。
应当理解,图5中所示装置500的各个单元可以与参考图1描述的方法100中的各个步骤相对应。由此,上面针对方法100描述的操作、特征和优点同样适用于装置500及其所包括的单元。为了简洁起见,某些操作、特征和优点在此不再赘述。
还应当理解,本文可以在软件硬件元件或程序模块的一般上下文中描述各种技术。上面关于图5描述的各个单元可以在硬件中或在结合软件和/或固件的硬件中实现。例如,这些单元可以被实现为计算机程序代码/指令,该计算机程序代码/指令被配置为在一个或多个处理器中执行并存储在计算机可读存储介质中。可替换地,这些单元可以被实现为硬件逻辑/电路。例如,在一些实施例中视频帧确定单元510、运动向量确定单元520、插帧时刻确定单元530、合成单元540以及插帧单元550中的一个或多个可以一起被实现在片上***(System on Chip,SoC)中。SoC可以包括集成电路芯片(其包括处理器(例如,中央处理单元(Central Processing Unit,CPU)、微控制器、微处理器、数字信号处理器(DigitalSignal Processor,DSP)等)、存储器、一个或多个通信接口、和/或其他电路中的一个或多个部件),并且可以可选地执行所接收的程序代码和/或包括嵌入式固件以执行功能。
根据本公开的另一方面,还提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有计算机程序,所述计算机程序在被所述至少一个处理器执行时实现根据上述的方法。
根据本公开的另一方面,还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被处理器执行时实现根据上述的方法。
根据本公开的另一方面,还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现根据上述的方法。
参见图6,现将描述可以作为本公开的服务器或客户端的电子设备600的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备可以是不同类型的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,电子设备600可以包括能够通过***总线603彼此通信的至少一个处理器601、工作存储器602、输入单元604、显示单元605、扬声器606、存储单元607、通信单元608以及其它输出单元606。
处理器601可以是单个处理单元或多个处理单元,所有处理单元可以包括单个或多个计算单元或者多个核心。处理器601可以被实施成一个或更多微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信号的任何设备。处理器601可以被配置成获取并且执行存储在工作存储器602、存储单元607或者其他计算机可读介质中的计算机可读指令,诸如操作***602a的程序代码、应用程序602b的程序代码等。
工作存储器602和存储单元607是用于存储指令的计算机可读存储介质的示例,指令由处理器601执行来实施前面所描述的各种功能。工作存储器602可以包括易失性存储器和非易失性存储器二者(例如RAM、ROM等等)。此外,存储单元607可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如CD、DVD)、存储阵列、网络附属存储、存储区域网等等。工作存储器602和存储单元607在本文中都可以被统称为存储器或计算机可读存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非暂态介质,计算机程序代码可以由处理器601作为被配置成实施在本文的示例中所描述的操作和功能的特定机器来执行。
输入单元606可以是能向电子设备600输入信息的任何类型的设备,输入单元606可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出单元可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示单元605、扬声器606以及其它输出单元609,其它输出单元609可以但不限于包括视频/音频输出终端、振动器和/或打印机。通信单元608允许电子设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙设备、802.6设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
工作寄存器602中的应用程序602b可以被加载执行上文所描述的各个方法和处理,例如图1中的步骤S102-步骤S110。例如,在一些实施例中,上文描述的方法100可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元607。在一些实施例中,计算机程序的部分或者全部可以经由存储单元607和/或通信单元608而被载入和/或安装到电子设备600上。当计算机程序被加载并由处理器601执行时,可以执行上文描述的方法100的一个或多个步骤。备选地,在其他实施例中,处理器601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法100。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、***和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。
Claims (13)
1.一种视频处理方法,包括:
确定视频中连续的第一帧和第二帧;
基于所述第一帧和所述第二帧之间的运动信息确定所述第一帧和所述第二帧之间的运动强度;
基于所述运动强度确定用于确定所述第一帧和所述第二帧之间的帧间光流图;以及
基于所述第一帧、所述第二帧以及所述帧间光流图确定目标合成帧。
2.如权利要求1所述的视频处理方法,其中,所述运动强度越大,用于确定所述帧间光流图的感受野越大。
3.如权利要求1所述的视频处理方法,其中,基于所述运动强度确定用于确定所述第一帧和所述第二帧之间的帧间光流图包括:
基于所述运动强度确定用于所述帧间光流图的缩放系数;
基于所述缩放系数对所述第一帧和所述第二帧进行缩放,以得到缩放后的第一帧和缩放后的第二帧;
对所述缩放后的第一帧和所述缩放后的第二帧进行光流估计,以得到与所述第一帧对应的第一时间戳与目标插帧时刻之间的第一光流以及与所述第二帧对应的第二时间戳与目标插帧时刻之间的第二光流,其中所述第一光流和所述第二光流的尺寸与所述缩放后的第一帧和所述缩放后的第二帧的尺寸相同;以及
基于所述第一光流和所述第二光流确定所述帧间光流图。
4.如权利要求3所述的视频处理方法,其中,基于所述第一光流、所述第二光流确定所述目标合成帧包括:
基于所述缩放系数对所述第一光流和所述第二光流进行逆缩放,以得到逆缩放后的第一光流和逆缩放后的第二光流,其中所述逆缩放后的第一光流和所述逆缩放后的第二光流的尺寸与所述第一帧和所述第二帧的尺寸相同;
基于所述逆缩放后的第一光流、所述逆缩放后的第二光流、所述第一帧和所述第二帧确定所述目标合成帧。
5.如权利要求4所述的视频处理方法,其中,基于所述逆缩放后的第一光流、所述逆缩放后的第二光流、所述第一帧和所述第二帧确定所述目标合成帧包括:
基于所述逆缩放后的第一光流从所述第一帧中采样,获得第一采样结果;
基于所述逆缩放后的第二光流从所述第二帧中采样,获得第二采样结果;以及
对所述第一采样结果和所述第二采样结果进行融合,以得到用于所述目标插帧时刻的所述目标合成帧。
6.如权利要求3所述的视频处理方法,其中,基于所述运动强度确定用于所述帧间光流图的缩放系数包括:
根据预定的映射关系确定与所述运动强度对应的所述缩放系数。
7.如权利要求1-6中任一项所述的视频处理方法,其中所述运动信息包括所述第一帧和所述第二帧之间的运动向量或帧间光流。
8.如权利要求7所述的视频处理方法,其中基于所述第一帧和所述第二帧之间的运动信息确定所述第一帧和所述第二帧之间的运动强度包括:
基于所述运动信息确定所述第一帧和所述第二帧之间的最大运动指标作为全局运动参数,其中所述全局运动参数指示所述第一帧和所述第二帧的运动强度。
9.如权利要求8所述的视频处理方法,其中所述运动信息是所述第一帧和所述第二帧之间的帧间光流的情况下,所述最大运动指标是所述第一帧对应的第一时间戳与目标插帧时刻之间的最大光流或目标插帧时刻与所述第二帧对应的第二时间戳之间的最大光流。
10.一种视频处理装置,包括:
视频帧确定单元,被配置成确定视频中连续的第一帧和第二帧;
运动强度确定单元,被配置成基于所述第一帧和所述第二帧之间的运动信息确定所述第一帧和所述第二帧之间的运动强度;
光流估计单元,被配置成基于所述运动强度确定用于确定所述第一帧和所述第二帧之间的帧间光流图;
合成单元,被配置成基于所述第一帧、所述第二帧以及所述帧间光流图确定目标合成帧。
11.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中
所述存储器存储有计算机程序,所述计算机程序在被所述至少一个处理器执行时实现根据权利要求1-9中任一项所述的方法。
12.一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被处理器执行时实现根据权利要求1-9中任一项所述的方法。
13.一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现根据权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310567492.1A CN116389670A (zh) | 2023-05-18 | 2023-05-18 | 视频处理方法及装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310567492.1A CN116389670A (zh) | 2023-05-18 | 2023-05-18 | 视频处理方法及装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116389670A true CN116389670A (zh) | 2023-07-04 |
Family
ID=86975294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310567492.1A Pending CN116389670A (zh) | 2023-05-18 | 2023-05-18 | 视频处理方法及装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116389670A (zh) |
-
2023
- 2023-05-18 CN CN202310567492.1A patent/CN116389670A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105517671B (zh) | 一种基于光流法的视频插帧方法及*** | |
EP2230855B1 (en) | Synthesizing virtual images from texture and depth images | |
JP2012516637A5 (zh) | ||
CN110956219B (zh) | 视频数据的处理方法、装置和电子*** | |
JP2015502120A (ja) | 非局所的超解像再構成の方法及び装置 | |
CN108600783B (zh) | 一种帧率调节方法、装置及终端设备 | |
CN113014936B (zh) | 视频插帧方法、装置、设备以及存储介质 | |
CN109903315B (zh) | 用于光流预测的方法、装置、设备以及可读存储介质 | |
US10803552B2 (en) | Video resolution up-conversion method and device | |
CN110889809B9 (zh) | 图像处理方法及装置、电子设备、存储介质 | |
CN110944176A (zh) | 图像帧降噪方法和计算机存储介质 | |
TW201834453A (zh) | 自適應視頻解碼方法及其裝置 | |
JP2012235407A (ja) | 画像処理装置および画像処理方法 | |
CN113658073A (zh) | 图像去噪处理方法、装置、存储介质与电子设备 | |
JP4600993B2 (ja) | 自由視点映像生成システム | |
CN116389670A (zh) | 视频处理方法及装置、电子设备和存储介质 | |
CN115567712A (zh) | 基于人眼恰可察觉失真的屏幕内容视频编码感知码率控制方法及装置 | |
CN103067647A (zh) | 一种基于fpga的视频去噪方法 | |
CN108600762B (zh) | 结合运动补偿和神经网络算法的递进式视频帧生成方法 | |
CN105872538A (zh) | 时域滤波方法和时域滤波装置 | |
CN113194313B (zh) | 视频帧压缩、解压方法和设备 | |
CN113099231B (zh) | 确定亚像素插值位置的方法、装置、电子设备和存储介质 | |
CN106558024B (zh) | 进行自适应窗口拓展的自回归插值方法及装置 | |
CN116828187A (zh) | 视频处理方法及装置、电子设备和存储介质 | |
CN108810317B (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 |