掌桥专利:专业的专利平台
掌桥专利
首页

视频处理方法、装置、电子设备及存储介质

文献发布时间:2024-04-18 20:00:50


视频处理方法、装置、电子设备及存储介质

技术领域

本申请涉及视频图像处理技术领域,具体涉及一种视频处理方法、装置、电子设备及存储介质。

背景技术

随着视频处理的发展,视频处理的类型也逐渐多样化;其中,视频模糊一般是通过对视频画面进行模糊,相关技术中,一般通过对视频画面整体进行模糊,无法针对速度感较强的运动类(滑板、滑雪、冲浪、足球、骑行等)视频进行运动增强,无法体现出这类视频的画面动感,用户。

发明内容

本申请提供一种视频处理方法、装置、电子设备及存储介质,旨在解决相关技术中,视频模糊处理无法体现视频画面动感的技术问题。

第一方面,本申请提供一种视频处理方法,包括:

获取待处理视频中目标视频帧的光流图,以及所述待处理视频中各视频帧的光流图对应的偏移信息;

根据所述目标视频帧的光流图以及所述待处理视频对应的偏移信息,确定所述目标视频帧具有运动模糊效果所需的采样偏移量;

根据所述采样偏移量对所述目标视频帧进行采样,获得模糊后目标视频帧;

对所述模糊后目标视频帧和所述目标视频帧进行融合,得到主体对象清晰且背景区域具有运动模糊效果的目标特效视频帧。

在本申请一种可能的实现方式中,所述对所述模糊后目标视频帧和所述目标视频帧进行融合,得到主体对象清晰且背景区域具有运动模糊效果的目标特效视频帧,包括:

识别所述目标视频帧中主体对象的前景区域,生成所述前景区域对应的第一掩码图;

对所述第一掩码图进行膨胀处理,得到第二掩码图;

根据所述第二掩码图将所述目标视频帧和所述模糊后目标视频帧进行融合,得到主体对象清晰且背景区域具有运动模糊效果的目标特效视频帧。

在本申请一种可能的实现方式中,所述获取待处理视频中目标视频帧的光流图,包括:

获取所述目标视频帧中的目标像素,以及所述待处理视频中参考视频帧中与所述目标像素对应的参考像素;

根据所述目标视频帧中目标像素对应目标区域的方向梯度直方图,确定所述目标像素的偏移方向;

根据所述目标像素和所述参考像素之间的像素亮度差值,获得所述目标像素的偏移强度;

根据所述目标视频帧中各所述目标像素的所述偏移强度和所述偏移方向,生成光流图。

在本申请一种可能的实现方式中,获取所述待处理视频中各视频帧的光流图对应的偏移信息的步骤,包括:

获取所述待处理视频对应的各光流图的最大的偏移向量;

将获取的各偏移向量设置为所述目标视频帧的光流图的偏移信息。

在本申请一种可能的实现方式中,所述根据所述目标视频帧的光流图以及所述待处理视频对应的偏移信息,确定所述目标视频帧具有运动模糊效果所需的采样偏移量,包括:

计算所述偏移信息中的最大偏移强度和最小偏移强度之间的偏移强度差值;

根据所述偏移强度差值和所述最大偏移强度对所述光流图中的各偏移强度和各偏移方向进行调整,得到所述目标视频帧的采样偏移量。

在本申请一种可能的实现方式中,所述根据所述偏移强度差值和所述最大偏移强度对所述光流图中的各偏移强度和各偏移方向进行调整,得到所述目标视频帧的采样偏移量,包括:

对所述光流图的像素坐标进行纹理映射,得到各所述光流图对应的光流纹理信息;

通过图形处理器根据所述光流纹理信息对所述光流图进行采样处理,获得所述光流图中各像素对应的偏移方向和偏移强度;

计算所述偏移强度差值、所述偏移方向和所述偏移强度的乘积,并对所述乘积和所述最大偏移强度进行融合,得到采样偏移量。

在本申请一种可能的实现方式中,所述根据所述采样偏移量对所述目标视频帧进行采样,获得模糊后目标视频帧,包括:

对所述光流图中的各偏移强度进行排序;

计算排序后的偏移强度序列中预设数量的目标偏移强度的偏移强度均值,并根据所述偏移强度均值对所述采样偏移量进行修正;

根据所述光流图中的最大偏移强度和最小偏移强度之间的偏移强度差值确定迭代次数;

根据修正后的所述采样偏移量对所述目标视频帧进行采样处理,得到模糊后的第一视频帧;

根据所述采样偏移量对所述第一视频帧进行采样处理,直到采样次数达到所述迭代次数,得到模糊后目标视频帧。

第二方面,本方案还提供一种视频处理装置,所述视频处理装置包括:

获取模块,用于获取待处理视频中目标视频帧的光流图,以及所述待处理视频中各视频帧的光流图对应的偏移信息;

偏移确定模块,用于根据所述目标视频帧的光流图以及所述待处理视频对应的偏移信息,确定所述目标视频帧具有运动模糊效果所需的采样偏移量;

模糊处理模块,根据所述采样偏移量对所述目标视频帧进行采样,获得模糊后目标视频帧;

融合模块,用于对所述模糊后目标视频帧和所述目标视频帧进行融合,得到主体对象清晰且背景区域具有运动模糊效果的目标特效视频帧。

第三方面,本申请提供一种电子设备,所述电子设备包括:

一个或多个处理器,其中,所述处理器包括中央处理器和/或图形处理器;

存储器;以及

一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现任一项所述的视频处理方法中的步骤。

第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行任一项所述的视频处理方法中的步骤。

本申请提供视频处理方法、装置、电子设备及存储介质,通过获取待处理视频中目标视频帧的光流图,以及所述待处理视频中各视频帧的光流图对应的偏移信息;根据所述目标视频帧的光流图以及所述待处理视频对应的偏移信息,确定所述目标视频帧具有运动模糊效果所需的采样偏移量;根据所述采样偏移量对所述目标视频帧进行采样,获得模糊后目标视频帧;对所述模糊后目标视频帧和所述目标视频帧进行融合,得到主体对象清晰且背景区域具有运动模糊效果的目标特效视频帧。本方案中通过结合待处理的目标视频帧以及所述参考视频帧之前的各像素的变化信息分析目标视频帧对应所述参考视频帧的光流,并结合光流以及所述光流对应的偏移确定采样偏移量,即,得到包含目标视频帧的光流特征和对应偏移特征的采样偏移量,进一步根据所述采样偏移量进行采样模糊,得到目标视频帧即,即,将所述目标视频帧的光流信息以及偏移信息结合到模糊采样过程中,使得模糊采样后的视频帧包含目标视频帧的运动信息,解决了视频模糊处理无法体现视频画面动感的问题,实现对所述目标视频帧模糊的同时进行动感增强,同时基于像素的维度进行模糊处理,保证模糊处理的准确性以及动态效果增强的精确度,增强视频的动态视觉体验效果。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的视频处理方法的场景示意图;

图2是本申请实施例中提供的视频处理方法的一个实施例流程示意图;

图3为本申请实施例提供的视频处理方法中目标视频帧模糊处理的其中一种实施方案流程示意图;

图4为本申请实施例提供的视频处理方法中光流图生成的其中一种实施方案流程示意图;

图5为本申请实施例提供的视频处理方法中采样偏移量确定的其中一种实施方案流程示意图;

图6为本申请实施例提供的视频处理方法中采样偏移量确定的其中一种实施方案流程示意图;

图7为本申请实施例提供的视频处理方法中提供的模糊后目标视频帧的参考示意图;

图8是本申请实施例中提供的视频处理装置的一个实施例结构示意图;

图9是本申请实施例中提供的电子设备的一个实施例结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

本申请实施例中,“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。

在本申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。

本申请实施例提供一种视频处理方法、装置、设备及计算机可读存储介质,以下分别进行详细说明。

本发明实施例中的视频处理方法应用于视频处理装置,视频处理装置设置于电子设备,电子设备中设置有一个或多个处理器、存储器,以及一个或多个应用程序,可以理解的是,所述处理器可以包括中央处理器和/或图形处理器其中一个或多个应用程序被存储于存储器中,并配置为由处理器执行以实现视频处理方法;电子设备可以是终端,例如,手机或平板电脑,电子设备还可以是一台服务器,或者多台服务器组成的服务集群。

如图1所示,图1为本申请实施例视频处理方法的场景示意图,本发明实施例中视频处理场景中包括电子设备100(电子设备100中集成有视频处理装置),电子设备100中运行视频处理对应的计算机可读存储介质,以执行视频处理的步骤。

可以理解的是,图1所示视频处理方法的场景中的电子设备,或者电子设备中包含的装置并不构成对本发明实施例的限制,即,视频处理方法的场景中包含的设备数量、设备种类,或者各个设备中包含的装置数量、装置种类不影响本发明实施例中技术方案整体实现,均可以算作本发明实施例要求保护技术方案的等效替换或衍生。

本发明实施例中电子设备100主要用于:获取待处理视频中目标视频帧的光流图,以及所述待处理视频中各视频帧的光流图对应的偏移信息;根据所述目标视频帧的光流图以及所述待处理视频对应的偏移信息,确定所述目标视频帧具有运动模糊效果所需的采样偏移量;根据所述采样偏移量对所述目标视频帧进行采样,获得模糊后目标视频帧;对所述模糊后目标视频帧和所述目标视频帧进行融合,得到主体对象清晰且背景区域具有运动模糊效果的目标特效视频帧。

本发明实施例中该电子设备100可以是独立的电子设备,也可以是电子设备组成的电子设备网络或电子设备集群,例如,本发明实施例中所描述的电子设备100,其包括但不限于计算机、网络主机、单个网络电子设备、多个网络电子设备集或多个电子设备构成的云电子设备。其中,云电子设备由基于云计算(Cloud Computing)的大量计算机或网络电子设备构成。

本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本申请方案一种应用场景,并不构成对本申请方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的电子设备,或者电子设备网络连接关系,例如图1中仅示出1个电子设备,可以理解的,该视频处理方法的场景还可以包括一个或多个其他电子设备,具体此处不作限定;该电子设备100中还可以包括存储器,用于存储数据,例如,存储拍摄获得的图像信息等。

此外,本申请视频处理方法的场景中电子设备100可以设置显示装置,或者电子设备100中不设置显示装置与外接的显示装置200通讯连接,显示装置200用于输出电子设备中视频处理方法执行的结果。电子设备100可以访问后台数据库300(后台数据库可以是电子设备的本地存储器中,后台数据库还可以设置在云端),后台数据库300中保存有视频处理相关的信息,例如,后台数据库300中初始图像,或者预先设置的滤波参数。

需要说明的是,图1所示的视频处理方法的场景示意图仅仅是一个示例,本发明实施例描述的视频处理方法的场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定。

基于上述视频处理方法的场景,提出了视频处理方法的实施例。

如图2所示,为本申请实施例中视频处理方法的一个实施例流程示意图,该视频处理方法包括步骤S201-S204:

S201、获取待处理视频中目标视频帧的光流图,以及所述待处理视频中各视频帧的光流图对应的偏移信息。

其中,所述目标视频帧,即,待模糊处理的视频中的任一个视频帧,可以理解的是,一个待处理视频可解码得到视频帧序列,一个视频帧序列中包括视频对应的多个视频帧,所述目标视频帧为所述视频帧序列中的任一个。

其中,所述光流图,即,用于表征目标视频帧对应所述参考视频帧的光流的图像,即,光流图为将所述目标视频帧对应所述参考视频帧的光流可视化表现的一种形态,所述光流图可以通过将将所述目标视频帧对应计算得到的光流进行编码可视化为一张光流图,可以理解的是,所述光流包括偏移强度和偏移方向,表征用户在某一方向上的偏移强度,示例性的,所述偏移强度可以为瞬时速度,亮度差异等,所述光流图的形式可以是JPG、PNG等格式,具体本申请不做具体的限定。

其中,所述偏移信息,即,所述光流图对应的偏移强度,具体的,所述偏移信息可以为目标视频帧对应的光流图的中的至少一个偏移强度,比如最大偏移强度,或者为最大偏移强度和做小偏移强度,或者均值偏移强度等;另一种实施方案中,所述偏移信息也可以为包括所述目标视频帧对应的视频帧序列中,各视频帧对应的光流图中的至少一个偏移强度,具体本申请不做具体的限定。

具体的,在本申请其中一种实施方案中,所述视频处理方法运用于电子设备,所述电子设备可以为手机或电脑等,所述电子设备上设置有显示装置,用于为用户提供视频或图像处理的操作页面,所述操作页面具有数据库访问端口,当用户点击所述操作页面中的数据访问端口时,在获取用户的数据访问权限的前提下,访问用户的图像/视频数据库并显示图像/视频数据库中的图像和视频素材,接收用户基于显示的所述图像/视频素材的操作信息确定待处理的视频,并获取所述视频的视频文件,通过读取目标视频文件然后逐帧解码得到视频帧序列,并将所述视频帧中的各视频帧设置为待处理的目标视频帧,并确定对应的参考视频,后续进一步针对每一个目标视频帧进行模糊处理,根据模糊处理后的目标视频帧生成模糊后的视频。

S202、根据所述目标视频帧的光流图以及所述待处理视频对应的偏移信息,确定所述目标视频帧具有运动模糊效果所需的采样偏移量。

其中,所述采样偏移量,即,在对所述目标视频帧进行模糊处理时的纹理采样坐标的坐标偏移量,可以理解的是,在本申请的实施方案中,通过对所述目标视频帧进行重新采样实现对所述目标视频帧的模糊处理,本方案结合光流和偏移确定模糊处理中的采样坐标的偏移程度,即,融合光流信息进行采样模糊处理,实现运动增强的模糊效果。

示例性的,在本申请的其中一个实施方案中,电子设备在确定光流图后,并将所述目标视频帧对应的视频帧序列中的所有视频帧(包括目标视频帧)对应的光流图中最大的偏移强度提取出来,作为各光流图对应的偏移信息,可以理解的是,所述偏移信息表征了所述视频的整体偏移强度信息。

具体的,根据所述光流图以及所述光流图对应的偏移信息,确定采样偏移量的具体实现方案本申请不做具体的限定,示例性的:

在本申请的其中一种实施方案中,所述光流信息对应的偏移信息包括一个偏移强度,则可以针对所述光流图中的每个像素,提取所述像素对应的光流,并查找光流和偏移对应的预设映射表,获取所述像素对应的光流和所述偏移强度对应的采样偏移量。

在本申请的另一种实施方案中,所述光流信息对应的偏移信息包括多个偏移强度,根据预设的偏移强度筛选规则,从所述偏移信息中筛选出偏移强度,进一步的,根据筛选出来的偏移强度和所述光流图中的每个像素对应的光流,确定采样偏移量;可以理解的是,所述偏移强度筛选规则可以为找最大值和/或找最小值等,或者找均值,或者计算方差值、标准差值等,具体本申请不做具体的限定。

S203、根据所述采样偏移量对所述目标视频帧进行采样,获得模糊后目标视频帧。

具体的,在本申请的其中一种实施方案,在获取到采样偏移量后,通过所述目标视频帧对应的纹理采样坐标和所述采样坐标偏移量确定目标采样坐标,进一步根据所述采样做表对所述目标视频帧进行纹理采样,采样后获得模糊后目标视频帧;模糊后目标视频帧呈现运动增强后的模糊效果。

本申请的其中一种实施方案中,通过将所述光流可视化为光流图,并通过图形处理器GPU对所述光流图以及所述目标视频帧进行图像处理,实现目标视频帧的模糊处理,因为GPU中执行效率更高,能大大提升效率,且可从像素级对光流信息进行分析,实现对所述目标视频帧模糊的同时进行动感增强,同时基于像素的维度进行模糊处理,保证模糊处理的准确性以及动态效果增强的精确度,增强视频的动态视觉体验效果。

示例性的,在确定采样偏移量后,根据采样偏移量对所述目标视频帧对应的原始采样UV(纹理贴图坐标)进行调整,根据调整后UV对对所述目标视频帧进行采样,得到模糊后目标视频帧。

S204、对所述模糊后目标视频帧和所述目标视频帧进行融合,得到主体对象清晰且背景区域具有运动模糊效果的目标特效视频帧。

进一步的,可以理解的是,模糊后目标视频帧中的主体对象被模糊,此时对所述模糊后目标视频帧和模糊前所述目标视频帧进行融合,以使模糊后的目标视频帧中除主体对象以外的区域模糊,示例性的,可以通过对模糊前所述目标视频帧中的主体对象进行识别,并提取所述主体对象对应图像区,将所述主体对象对应图像区融合到所述模糊后的目标视频帧中,得到主体对象清晰且背景区域具有运动模糊效果的目标特效视频帧。

进一步的,在上述实施方案的基础上,参见图3,图3为本申请实施例提供的视频处理方法中目标特效视频帧确定的其中一种实施方案流程示意图,具体包括步骤S301-S303:

S301、识别所述目标视频帧中主体对象的前景区域,生成所述前景区域对应的第一掩码图。

其中,所述主体对象,即,视频模糊处理中不做模糊的对象,示例性的,所述主体对象可以是人物、动物等。

示例性的,在本申请的其中一些运用场景中,所述目标视频为所述用户滑冰视频,即,所述主体对象为人像,可以通过人像识别方式针对所述目标视频帧进行人像识别,识别到所述目标视频帧中的人像区,进一步的,在所述目标视频帧对应的人像区标记,即,所述目标视频帧除标记外的区域为背景区域,比如,将所述人像区的ID设置为0;以便后续对所述目标图像帧进行处理时确定背景区域和目标物对应的区域,生成第一掩码图;根据id获得主体对象对应的mask,这种方式相当于是在算法层做控制,把视频帧序列中首帧的“主体对象”记录下来并一直跟踪该主体对象,输出主体对象的mask。

在本申请的其他一些实施方案中,第一掩码图的生成也可以通过掩码区域大小实现,示例性的,识别所述目标图像帧的中的各对象,并生成各对象的掩码图mask;并根据各mask大小判断主体对象,具体的:

a、识别所述目标图像帧的中含运动设备的各对象,根据预设掩码算法返回的包含运动设备的mask;

b、获取mask轮廓点,使用opencv(OpenCV的全称是Open Source Computer VisionLibrary,是一个跨平台的计算机视觉库),输入mask相关的参数,借助接口findContours(用户寻找图像轮廓)得到mask的轮廓点denseContours(表征轮廓稠密);

c、上一个步骤会得到所有mask的轮廓点,存到多个数组中,通过数组长度,可以得到mask的大小(数组长度相当于是mask的周长),这一步骤进行比较,数组长度最长的mask我们判定为“主体对象”,只保留主体对象的mask(第一掩码图),其他mask作为背景模糊处理,将“主体对象”mask传入到shader(着色器)中,以供后期生成模糊后目标视频帧。

可以理解的是,上述识别主体对象,生成第一掩码图的方式都可以,各有利弊,ID标记检测每帧的mask,能保证获得当帧占比最大的人及其运动装备,弊端在于会依赖于视频的拍摄视角,可能会有人物主体对象切换的情况。另一种方式能保证主体对象人物始终是同一个人,但是如果该人物移出画面,则当下就没有主体对象保护了;可以根据实际需求进行选择。

S302、对所述第一掩码图进行膨胀处理,得到第二掩码图。

可以理解的是,在本申请的其中一些实施场景中,可能画面信息量较大,在得到第一掩码图mask后,即,拿到的mask是主体对象的mask(不做模糊的部分),通常受限于精度问题,mask形状与实际的主体对象的显示范围做不到100%贴合,所以,为了保证模糊处理精度,进一步对第一掩码图mask膨胀。

具体的,在本申请的其中一种实施方案中,通过图像处理器GPU对所述第一掩码图mask进行膨胀处理;通过对输入mask进行滤波操作,并进行掩码值计算,然后用掩码值与预设掩码值进行比较,当掩码值大于预设掩码值,则判定该点为mask所在区域,即进一步对像素点的进行掩码区划分,实现掩码膨胀,得到第二掩码图。

示例性的,根据预设掩码值和所述第一掩码图中各像素的掩码值之间的大小关系,对所述前景区域进行膨胀处理,得到第二掩码图。掩码膨胀具体包括步骤:

a.确定步长:调整步长大小的变量值/图像的宽度(高度),其中,所述图像的宽度,即,所述目标图像帧的宽度,所述变量值,即,预设通用值;

b.根据步长确定所述第一掩码图中任一像素的周围像素,并对周围的像素进行alpha值采样,获取该像素以及该像素对应周围像素对应的alpha值;

c.然后对采样结果进行滤波获取滤波后的alpha值;滤波实现是通过将输入值通过线性变换转换到[0,1]区间上,就是把输入值减去背景阈值,然后除以前景阈值和背景阈值之差,最终结果再限制到[0,1]区间上。

滤波实现基于clamp()函数实现,clamp()函数的作用是把一个值限制在一个上限和下限之间,当这个值超过最小值和最大值的范围时,在最小值和最大值之间选择一个值使用,函数参见:

clamp((v-BG_THRESHOLD)/(FG_THRESHOLD-BG_THRESHOLD),0.0,1.0);

其中,v为采样像素的alpha值,所述BG_THRESHOLD背景区域中的各像素的alpha值,FG_THRESHOLD为mask区域中各像素的alpha值。

d.比较周围像素的滤波后的alpha值,计算两个掩码值mask1和tmask。mask1是周围像素中的最大滤波后的alpha值与当前像素滤波后的alpha值之差,而tMask是当前像素滤波后的alpha值与最小滤波后的alpha值之差。

e.根据上一步骤的结果,确定膨胀后的mask区域。

S303、根据所述第二掩码图将所述目标视频帧和所述模糊后目标视频帧进行融合,得到主体对象清晰且背景区域具有运动模糊效果的目标特效视频帧。

进一步的,将所述第二掩码图和所述模糊后目标视频帧进行融合,生成模糊后目标视频帧,实现所述目标视频帧中除主体对象以外的背景区域仅为运动增强的模糊状态,即,得到主体对象清晰,背景环境动感模糊的效果。

进一步的,在上述实施方案的基础上,参见图4,图4为本申请实施例提供的视频处理方法中光流图获取的其中一种实施方案流程示意图,具体包括步骤S401-S404:

S401、获取所述目标视频帧中的目标像素,以及所述待处理视频中参考视频帧中与所述目标像素对应的参考像素。

进一步可以理解的是,所述参考视频帧也为所述视频帧序列中所述目标视频对应的至少一个,示例性的,所述参考视频帧为所述视频帧序列中所述目标视频帧对应的后一个视频帧,或者,所述参考视频帧为所述视频帧序列中所述目标视频帧对应的后的第二个视频帧,又或者,所述参考视频帧为所述视频帧序列中所述目标视频帧对应的前一个视频帧,具体本申请不做具体的限定。

示例性的,在本申请的其中一种实施方案,当所述目标视频帧为所述视频帧序列中的第一个视频帧时,所述参考视频帧为视频帧序列中所述目标视频帧的后一个视频帧,即,所述参考视频帧为所述视频帧序列中的第二个视频帧;当所述目标视频帧为所述视频帧序列中的第二个视频帧时,所述参考视频帧为视频帧序列中的第三个视频帧…,依次类推,当所述目标视频帧为所述视频帧序列中的最后一个视频帧时,所述参考视频帧可以为所述视频帧序列中的导数第二个视频帧。

其中,所述目标像素,即所述目标视频帧中的任一像素,所述目标像素可以包括一个或多个。

其中,所述参考像素为所述参考视频帧中与所述目标像素相同的像素。

示例性的,在本申请的其中一个实施方案中,本申请技术方案中通过对所述目标视频帧中的目标像素和描述子和所述参考视频帧中各像素的描述子进行相似度匹配查找,查找得到所述目标像素和参考像素。

S402、根据所述目标视频帧中目标像素对应目标区域的方向梯度直方图,确定所述目标像素的偏移方向。

其中,方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子,是通过计算和统计图像局部区域的梯度方向直方图来构成特征。

具体的,在本申请的另一种实施方案中,所述目标像素和参考像素确定的实现方式具体包括:

a.针对目标视频帧和参考视频帧,分别构建高斯金字塔,通过应用一系列高斯模糊对图像进行多层次的降采样,针对目标视频帧和参考视频帧,分别得到不同尺度和空间位置上的金字塔图层。

b.检测关键点:在不同的尺度和空间位置上,通过比较像素与其周围邻域之间的差异来寻找稳定的关键点。

c.计算关键点的方向:在关键点周围的图像区域内,计算梯度方向直方图,并选择主要方向作为关键点的方向,即,确定目标像素的偏移方向。

d.描述关键点:将关键点周围的像素转换为尺度、旋转变化的特征向量。

3)对应点匹配:通过比较相邻两帧之间的特征向量,可以找到具有对应关系的像素点对,即,找到参考像素和目标像素。

S403、根据所述目标像素和所述参考像素之间的像素亮度差值,获得所述目标像素的偏移强度。

其中,所述在确定所述目标像素和参考像素后,可以计算目标像素和所述参考像素之间的像素亮度差值,将所述像素亮度差值设置为目标像素的偏移强度,可以理解的是,所述目标像素可以为所述目标视频帧中的每一个像素,即,利用具有对应关系的像素点对,可以计算出目标视频帧中每个像素的位移向量,即光流向量,也可简称光流,所述光流包括偏移强度和偏移方向,表示两帧之间的运动信息。

S404、根据所述目标视频帧中各所述目标像素的所述偏移强度和所述偏移方向,生成光流图。

进一步的,在得到目标视频帧中每一个像素的光流后,将所述光流可视化处理,生成光流图,示例性的,在本申请的其中一种实施方案中,光流图可视化,即,将每帧计算得到的光流向量可视化为一张jpg光流图,之所以使用jpg是为了减小图片的数据量,存储光流信息,它比png更小。本文使用色彩编码进行可视化。

进一步的,在上述实施方案的基础上,在本申请的其中一种实施方案中,根据所述光流图以及所述光流图对应的偏移信息,确定采样偏移量之前,还包括步骤:

(1)根据所述光流图中各所述偏移强度之间的大小关系,确定所述光流图对应的最大的偏移向量;

(2)获取所述待处理视频对应的各光流图的最大的偏移向量;

(3)将获取的各偏移向量设置为所述目标视频帧的光流图的偏移信息。

具体的,在根据所述目标视频帧中各所述目标像素的偏移向量和所述偏移方向,生成光流图后,提取所述光流图中最大的第一偏移向量存储在txt格式的可描述文件中,所述txt格式的可描述文件中存储有目标视频中各视频帧对应的光流图的第二偏移向量,第二偏移向量,即,各视频帧对应的光流图中最大的偏移向量。

具体的,在本申请其中一种实施方案中,电子设备子在获取到待处理的目标视频帧和所述目标视频帧的参考视频帧后,通过查找关键点匹配查找所述目标视频帧和所述参考视频帧之间的关键点对,并基于所述关键点对进行像素之间的变化信息分析,进而确定各像素对应的光流,表示两帧之间的运动信息,进一步的对应所述目标视频帧的像素位置对各像素的光流进行编码,得到所述目标视频帧对应的光流图。

进一步的,在上述实施方案的基础上,参见图5,图5为本申请实施例提供的视频处理方法中采样偏移量确定的其中一种实施方案流程示意图,具体包括步骤S501-S502:

S501、计算所述光流图中的最大偏移强度和最小偏移强度之间的偏移强度差值。

具体的,在本申请实施方案中,所述偏移信息包括预设偏移强度和第一偏移强度,提取所述偏移信息中的最大偏移强度max和最小偏移强度min,并计算最大偏移强度和最小偏移强度之间的偏移强度差值max-min,记为flowRange。

可以理解的是,所述偏移强度差值表征了包括目标视频帧的目标视频的整体的偏移变化信息,通过结合整体的偏移变化信息进行模糊处理,提升模糊处理的准确性。

S502、根据所述偏移强度差值和所述最大偏移强度对所述光流图中的各所述偏移强度和各所述偏移方向进行调整,得到所述目标视频帧的采样偏移量。

具体的,在本申请的其中一种实施方案中,可以根据所述偏移强度差值、所述最大偏移强度对所述光流图中的各所述偏移强度和各所述偏移方向进行映射查找,获取偏移强度差值、所述最大偏移强度对所述光流图中的各所述偏移强度和各所述偏移方向对应的采样偏移量。

在本申请的另一种实施方案中,可以通过将所述偏移强度差值、所述最大偏移强度对所述光流图中的各所述偏移强度和各所述偏移方向输入预设的计算公式,计算得到采样偏移量。

示例性的,在上述实施方案的基础上,本申请提供一种采样偏移量确定的具体实施方案,包括步骤:

(1)对所述光流图的像素坐标进行纹理映射,得到各所述光流图对应的光流纹理信息;

(2)通过图形处理器根据所述光流纹理信息对所述光流图进行采样处理,获得所述光流图中各像素对应的偏移方向和偏移强度;

(3)将所述偏移强度差值、所述偏移方向和所述偏移强度以及所述最大偏移强度输入预设的计算公式,得到所述采样偏移强。

具体的,在本申请实施方案中,在得到光流图后,即,读入光流图信息,构造生成所述光流图对应的texture(光流纹理信息),即,构造生成光流图对应的光流纹理信息;进一步将所述将texture传入到GPU的shader中,GPU对通过所述光流纹理信息对所述光流图采样,获取各像素对应存储在通道中的光流,即,获取各像素对应的偏移强度和偏移方向,示例性的,在本申请实施方案中,所述光流图为JPG格式,所述光流图包括rgb三通道,其中,所述r通道无意义,bg通道分别存储光流中的偏移强度和偏移方向,可以理解,本申请技术方案中rgb三通道分别存储什么值本申请不做具体的限定,即,也可以b通道无意义,r通道存储偏移强度,具体本申请不做具体的限定,可以在编码时进行设置。

进一步的,将所述偏移强度差值、所述偏移方向、所述偏移强度以及所述最大偏移强度输入预设的计算公式,得到所述采样偏移强,具体的,所述预设公式描述为取:bg通道与偏移强度差值flowRange相乘,针对每一个像素,计算所述偏移强度差值、所述偏移方向、所述偏移强度的乘积,进一步的,计算所述乘积再加上最大偏移强度max,然后再乘以预设系数,得到采样偏移量flow,用以控制模糊效果的强度,即,计算所述偏移强度差值、所述偏移方向、所述偏移强度的乘积,并对所述乘积和所述最大偏移强度进行融合,得到采样偏移量。

进一步的,在上述实施方案的基础上,参见图6,图6为本申请实施例提供的视频处理方法中采样偏移量确定的其中一种实施方案流程示意图,具体包括步骤S601-S605:

S601、对所述光流图中的各偏移强度进行排序。

具体的,通过提取所述光流图中个像素的偏移强度,并对所述光流图中的各偏移强度进行排序。

S602、计算排序后的偏移强度序列中预设数量的目标偏移强度的偏移强度均值,并根据所述偏移强度均值对所述采样偏移量进行修正;

其中,所述预设数量可以根据所述目标视频帧中的像素数量确定,示例性的,所述预设数量为所述目标视频帧中的像素数量的1/8倍。

具体的,在对所述光流图中的各偏移强度进行排序后,提取排序靠前的预设数量的目标偏移强度,并计算所述目标偏移强度对应的偏移强度均值,可以理解的是,在本申请的其他一些实施方案中,也可以提取排序靠后的预设数量的目标偏移强度,具体本申请不做具体的限定。

具体的,在得到目标偏移强度后,计算所述目标偏移强度对应的偏移强度均值aspect,并根据所述偏移强度均值aspect对所述采样偏移量进行修正,即,计算偏移强度均值和采样偏移量flow之间的乘积flow*aspect。

S603、根据所述光流图中的最大偏移强度和最小偏移强度之间的偏移强度差值确定迭代次数。

具体的,在本申请的其中一种实施方案中,通过计算所述光流图中最大偏移强度和最小偏移强度之间的偏移强度差值,作为迭代次数。

具体的,在本申请的另一种实施方案中,通过计算所述光流图中最大偏移强度和最小偏移强度之间的偏移强度差值,以及目标视频帧各视频帧对应的光流图中最大偏移强度和最小偏移强度之间的偏移强度差值,并得到所述目标视频中各光流图对应的偏移强度差值,计算所有的偏移强度差值的平均值,作为迭代次数,可以理解的是,根据实际场景不同,迭代次数的选取可以进行适应性调整。

S604、根据修正后的所述采样偏移量对所述目标视频帧进行采样处理,得到模糊后的目标视频帧。

具体的,根据修正后的采样偏移量flow*aspect计算采样坐标,即,将修正后的所述采样偏移量flow*aspect,输入计算公式:偏移uv=uv+flow*aspect;其中,所述偏移uv为采样坐标,uv为目标视频帧中各像素的原始采样坐标。并根据偏移后的偏移uv对目标视频帧中的背景区域进行纹理采样处理,得到模糊后的第一视频帧。

S605、根据所述采样偏移量对所述第一视频帧中的背景区域进行采样处理,直到采样次数达到所述迭代次数,得到模糊后目标视频帧。

进一步的,h.基于之前确定的迭代次数,在GPU中将上次的结果(第一视频帧)作为输入,多次重复该步骤,直到采样次数达到所述迭代次数,将模糊后的texture与原图基于mask进行混合,从而得到主体清晰,背景环境动感模糊的效果。不断打磨形成的运动模糊效果。其中,所述运动模糊后的效果图参见图7。

本方案中通过光流图实现一种表现运动方向和强度的模糊效果,能近似模拟慢速快门效果;光流图存储到jpg格式的图片中,数据量较小,减少数据传输压力;有识别主体对象的功能;能保护主体对象区域,不加模糊效果;在GPU中实现模糊效果,相比较在cpu中opencv接口实现,能大大提升效率;对mask在gpu阶段做了膨胀,能保护主体对象区域的完整性。

本申请实施方案中提供视频处理方法,通过通过获取待处理视频中目标视频帧的光流图,以及所述待处理视频中各视频帧的光流图对应的偏移信息;根据所述目标视频帧的光流图以及所述待处理视频对应的偏移信息,确定所述目标视频帧具有运动模糊效果所需的采样偏移量;根据所述采样偏移量对所述目标视频帧进行采样,获得模糊后目标视频帧;对所述模糊后目标视频帧和所述目标视频帧进行融合,得到主体对象清晰且背景区域具有运动模糊效果的目标特效视频帧。本方案中通过结合待处理的目标视频帧以及所述参考视频帧之前的各像素的变化信息分析目标视频帧对应所述参考视频帧的光流,并结合光流以及所述光流对应的偏移确定采样偏移量,即,得到包含目标视频帧的光流特征和对应偏移特征的采样偏移量,进一步根据所述采样偏移量进行采样模糊,得到目标视频帧即,即,将所述目标视频帧的光流信息以及偏移信息结合到模糊采样过程中,使得模糊采样后的视频帧包含目标视频帧的运动信息,解决了视频模糊处理无法体现视频画面动感的问题,实现对所述目标视频帧模糊的同时进行动感增强,同时基于像素的维度进行模糊处理,保证模糊处理的准确性以及动态效果增强的精确度,增强视频的动态视觉体验效果。

为了更好实施本申请实施例中视频处理方法,在视频处理方法基础之上,本申请实施例中还提供一种视频处理装置,如图8所示,所述视频处理装置包括模块801-804:

获取模块801,用于获取待处理视频中目标视频帧的光流图,以及所述待处理视频中各视频帧的光流图对应的偏移信息;

偏移确定模块802,用于根据所述目标视频帧的光流图以及所述待处理视频对应的偏移信息,确定所述目标视频帧具有运动模糊效果所需的采样偏移量;

模糊处理模块803,根据所述采样偏移量对所述目标视频帧进行采样,获得模糊后目标视频帧;

融合模块804,用于对所述模糊后目标视频帧和所述目标视频帧进行融合,得到主体对象清晰且背景区域具有运动模糊效果的目标特效视频帧。

在本申请的其中一种实施方案中,所述融合模块804,用于对所述模糊后目标视频帧和所述目标视频帧进行融合,得到主体对象清晰且背景区域具有运动模糊效果的目标特效视频帧,具体包括:

识别所述目标视频帧中主体对象的前景区域,生成所述前景区域对应的第一掩码图;

对所述第一掩码图进行膨胀处理,得到第二掩码图;

根据所述第二掩码图将所述目标视频帧和所述模糊后目标视频帧进行融合,得到主体对象清晰且背景区域具有运动模糊效果的目标特效视频帧。

在本申请的其中一种实施方案中,获取模块801,用于获取待处理视频中目标视频帧的光流图,具体包括用于:

获取所述目标视频帧中的目标像素,以及所述待处理视频中参考视频帧中与所述目标像素对应的参考像素;

根据所述目标视频帧中目标像素对应目标区域的方向梯度直方图,确定所述目标像素的偏移方向;

根据所述目标像素和所述参考像素之间的像素亮度差值,获得所述目标像素的偏移强度;

根据所述目标视频帧中各所述目标像素的所述偏移强度和所述偏移方向,生成光流图。

在本申请的其中一种实施方案中,所述获取模块801,用于获取所述待处理视频中各视频帧的光流图对应的偏移信息的步骤,具体包括:

获取所述待处理视频对应的各光流图的最大的偏移向量;

将获取的各偏移向量设置为所述目标视频帧的光流图的偏移信息。

在本申请的其中一种实施方案中,偏移确定模块802,用于根据所述目标视频帧的光流图以及所述待处理视频对应的偏移信息,确定所述目标视频帧具有运动模糊效果所需的采样偏移量,具体包括:

计算所述偏移信息中的最大偏移强度和最小偏移强度之间的偏移强度差值;

根据所述偏移强度差值和所述最大偏移强度对所述光流图中的各偏移强度和各偏移方向进行调整,得到所述目标视频帧的采样偏移量。

在本申请的其中一种实施方案中,偏移确定模块802,用于根据所述偏移强度差值和所述最大偏移强度对所述光流图中的各偏移强度和各偏移方向进行调整,得到所述目标视频帧的采样偏移量,具体包括用于:

对所述光流图的像素坐标进行纹理映射,得到各所述光流图对应的光流纹理信息;

通过图形处理器根据所述光流纹理信息对所述光流图进行采样处理,获得所述光流图中各像素对应的偏移方向和偏移强度;

计算所述偏移强度差值、所述偏移方向和所述偏移强度的乘积,并对所述乘积和所述最大偏移强度进行融合,得到采样偏移量。

在本申请的其中一种实施方案中,模糊处理模块803,根据所述采样偏移量对所述目标视频帧进行采样,获得模糊后目标视频帧,具体包括:

对所述光流图中的各偏移强度进行排序;

计算排序后的偏移强度序列中预设数量的目标偏移强度的偏移强度均值,并根据所述偏移强度均值对所述采样偏移量进行修正;

根据所述光流图中的最大偏移强度和最小偏移强度之间的偏移强度差值确定迭代次数;

根据修正后的所述采样偏移量对所述目标视频帧进行采样处理,得到模糊后的第一视频帧;

根据所述采样偏移量对所述第一视频帧进行采样处理,直到采样次数达到所述迭代次数,得到模糊后目标视频帧。

在上述实施方案的基础上,本发明实施例还提供一种电子设备,如图8所示,图9是本申请实施例中提供的电子设备的一个实施例结构示意图。

电子设备包括:

一个或多个处理器,其中,所述处理器包括中央处理器和/或图形处理器;

存储器;以及

一个或多个应用程序,其中一个或多个应用程序被存储于存储器中,并配置为由处理器执行上述平台内容推荐方法实施例中任一实施例中的平台内容推荐方法中的步骤。

具体来讲:电子设备可以包括一个或者一个以上处理核心的处理器1001、一个或一个以上计算机可读存储介质的存储器1002、电源1003和输入单元1004等部件。本领域技术人员可以理解,图8中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器1001是该平台内容推荐中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器1002内的软件程序和/或模块,以及调用存储在存储器1002内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可以理解的是,处理器1001通过与控制器信号传输,可选的,处理器1001可包括一个或多个处理核心;优选的,处理器1001可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1001中。

存储器1002可用于存储软件程序以及模块,处理器1001通过运行存储在存储器1002的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1002可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1002还可以包括存储器控制器,以提供处理器1001对存储器1002的访问。

在本申请一些实施例中,平台内容推荐装置可以实现为一种计算机程序的形式,计算机程序可在如图9所示的电子设备上运行。电子设备的存储器中可存储组成该平台内容推荐方法装置的各个程序模块,比如,图8所示的获取模块801、偏移确定模块802、模糊处理模块803、融合模块804。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的平台内容推荐方法中的步骤。

例如,图9所示的电子设备可以通过如图8所示的平台内容推荐方法装置中的获取模块801执行步骤S201。电子设备可通过偏移确定模块802执行步骤S202。电子设备可通过模糊处理模块803执行步骤S203。电子设备可通过第二融合模块804执行步骤S204。该电子设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的电子设备通过网络连接通信。该计算机程序被处理器执行时以实现一种平台内容推荐方法。

电子设备还包括给各个部件供电的电源1003,优选的,电源1003可以通过电源管理系统与处理器1001逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1003还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该电子设备还可包括输入单元1004,该输入单元1004可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器1001会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器1002中,并由处理器1001来运行存储在存储器1002中的应用程序,从而实现各种功能,如下:

获取待处理视频中目标视频帧的光流图,以及所述待处理视频中各视频帧的光流图对应的偏移信息;

根据所述目标视频帧的光流图以及所述待处理视频对应的偏移信息,确定所述目标视频帧具有运动模糊效果所需的采样偏移量;

根据所述采样偏移量对所述目标视频帧进行采样,获得模糊后目标视频帧;

对所述模糊后目标视频帧和所述目标视频帧进行融合,得到主体对象清晰且背景区域具有运动模糊效果的目标特效视频帧。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本发明实施例提供一种计算机可读存储介质(可简称存储介质),该计算机可读存储介质可以包括:只读存储器(ROM,ReadOnlyMemory)、随机存取记忆体(RAM,RandomAccessMemory)、磁盘或光盘等。其上存储有计算机程序,计算机程序被处理器进行加载,以执行本发明实施例所提供的任一种平台内容推荐方法中的步骤。例如,计算机程序被处理器进行加载可以执行如下步骤:

获取待处理视频中目标视频帧的光流图,以及所述待处理视频中各视频帧的光流图对应的偏移信息;

根据所述目标视频帧的光流图以及所述待处理视频对应的偏移信息,确定所述目标视频帧具有运动模糊效果所需的采样偏移量;

根据所述采样偏移量对所述目标视频帧进行采样,获得模糊后目标视频帧;

对所述模糊后目标视频帧和所述目标视频帧进行融合,得到主体对象清晰且背景区域具有运动模糊效果的目标特效视频帧。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。

具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

以上对本申请实施例所提供的一种视频处理方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

技术分类

06120116541578