视频流降噪方法、装置及存储介质与流程

文档序号:17430771发布日期:2019-04-17 03:28阅读:163来源:国知局
视频流降噪方法、装置及存储介质与流程

本发明实施例涉及图像处理技术领域,尤其涉及一种视频流降噪方法、装置及存储介质。



背景技术:

图像和视频去噪就是去除图像及视频在获取和传输等过程中带进的噪声,从而提高图像质量并方便后续的处理,因此图像和视频去噪是图像处理过程中一个非常重要的环节。

在视频去噪方面,现有的技术方案采用自适应卡尔曼滤波视频降噪系统,视频降噪本身是一种视频滤波处理,该系统使用固定方差参数的卡尔曼滤波,但是如果测量方差相对于预测方差偏小,那么系统的视频降噪效果不明显,滤波之后图像存在残影。另外,现有视频流降噪方案需要消耗较高的运算,无法满足移动端实时的降噪处理。



技术实现要素:

本发明提供一种视频流降噪方法、装置及存储介质,实现对视频流图像的实时降噪处理,降噪效果较佳。

本发明的第一方面提供一种视频流降噪方法,包括:

获取视频流中第一图像纹理以及降噪后的第二图像纹理;所述第一图像为视频流中当前待处理的图像,所述第二图像为所述第一图像的上一帧图像;

根据滤波系统当前的滤波参数,对所述第一图像纹理和所述第二图像纹理进行线性插值计算,输出降噪后的第一图像纹理;所述滤波系统的滤波参数是动态变化的。

在一种可能的实现方式中,所述根据滤波系统当前的滤波参数,对所述第一图像纹理和所述第二图像纹理进行线性插值计算,输出降噪后的第一图像纹理之前,还包括:

根据所述滤波系统的预设测量方差、预测方差以及上一帧的滤波方差系数,确定所述滤波系统当前的滤波参数。

在一种可能的实现方式中,所述根据所述滤波系统的预设测量方差、预测方差以及上一帧的滤波方差系数,确定所述滤波系统当前的滤波参数之前,还包括:

统计图像处理器gpu的计算队列中所有图像纹理的每个像素块对应的最大亮度差值;

根据所述最大亮度差值、所述预设测量方差以及预设缩放系数,确定所述预测方差。

在一种可能的实现方式中,所述根据所述最大亮度差值、所述预设测量方差以及预设缩放系数,确定所述预测方差,包括:

将所述最大亮度差值、所述预设测量方差以及预设缩放系数的乘积作为所述预测方差。

在一种可能的实现方式中,所述滤波系统当前的滤波参数包括插值系数和滤波方差系数;所述根据所述滤波系统的预设测量方差、预测方差以及上一帧的滤波方差系数,确定所述滤波系统当前的滤波参数,包括:

根据所述滤波系统的预测测量方差、预测方差以及上一帧的滤波方差系数,确定所述滤波系统当前的插值系数;

根据所述插值系数、所述上一帧的滤波方差系数以及所述预测方差,确定所述滤波系统当前的滤波方差系数。

在一种可能的实现方式中,所述根据滤波系统当前的滤波参数,对所述第一图像纹理和所述第二图像纹理进行线性插值计算,输出降噪后的第一图像纹理,包括:

根据滤波系统当前的所述插值系数,对所述第一图像纹理和所述第二图像纹理进行线性插值计算,输出降噪后的第一图像纹理。

在一种可能的实现方式中,所述获取视频流中第一图像纹理以及降噪后的第二图像纹理,包括:

将视频流中第一图像缩小至原来的1/n并转化为灰度纹理,得到所述第一图像纹理;其中,n为大于等于2的正整数;

从图像处理器gpu的计算队列中获取降噪后的第二图像纹理。

在一种可能的实现方式中,所述滤波系统为卡尔曼滤波系统。

本发明的第二方面提供一种视频流降噪装置,包括:

获取模块,用于获取视频流中第一图像纹理以及降噪后的第二图像纹理;所述第一图像为视频流中当前待处理的图像,所述第二图像为所述第一图像的上一帧图像;

降噪处理模块,用于根据滤波系统当前的滤波参数,对所述第一图像纹理和所述第二图像纹理进行线性插值计算,输出降噪后的第一图像纹理;所述滤波系统的滤波参数是动态变化的。

本发明的第三方面提供一种视频流降噪装置,包括:

存储器;

处理器;以及

计算机程序;

其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如本发明第一方面任一项所述的方法。

本发明的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如本发明第一方面任一项所述的方法。

本发明实施例提供一种视频流降噪方法、装置及存储介质,通过获取视频流中第一图像纹理以及降噪后的第二图像纹理,根据滤波系统当前实时的滤波参数,对第一图像纹理和第二图像纹理进行线性插值计算,输出降噪后的第一图像纹理,其中第一图像为视频流中当前待处理的图像,第二图像为第一图像的上一帧图像。通过上述方法实现对视频流图像的实时降噪处理,降噪效果明显且不存在残影的问题。

附图说明

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

图1为本发明一实施例提供的视频流降噪方法的流程示意图;

图2为本发明实施例提供的gpu的计算队列的结构示意图;

图3为本发明另一实施例提供的视频流降噪方法的流程示意图;

图4为本发明一实施例提供的滤波系统的滤波参数的计算过程示意图;

图5为本发明一实施例提供的视频流降噪装置的结构示意图;

图6为本发明另一实施例提供的视频流降噪装置的结构示意图;

图7为本发明一实施例提供的视频流降噪装置的硬件结构示意图。

具体实施方式

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

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。

应当理解,本文中使用的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明实施例提供的视频流降噪方法,主要分为两个阶段:第一阶段主要完成对图像处理器gpu计算队列中所有图像的最大亮度差值的统计,完成对滤波系统的滤波参数的动态更新,得到滤波系统当前的插值系数和滤波方差系数;第二阶段主要根据第一阶段输出的插值系数、降噪处理过的上一帧图像以及当前待处理图像,线性插值计算输出当前图像的降噪处理结果。通过上述过程实现对视频流图像的实时降噪处理,降噪效果明显且不存在残影的问题。

下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图1为本发明一实施例提供的视频流降噪方法的流程示意图,图2为本发明实施例提供的gpu的计算队列的结构示意图。

本实施例提供的方法可以由任意执行视频流降噪方法的装置来执行,该装置可以通过软件和/或硬件实现。如图1所示,本实施提供的视频流降噪方法包括如下步骤:

s101、获取视频流中第一图像纹理以及降噪后的第二图像纹理;第一图像为视频流中当前待处理的图像,第二图像为第一图像的上一帧图像;

在本实施例中,视频降噪装置获取视频流中当前待处理的第一图像,对第一图像进行预处理,转化为第一图像纹理。同时,从降噪处理历史记录中获取降噪后的上一帧图像的第二图像纹理。

需要指出的是,gpu的计算队列是一个具有固定容量的先进先出的队列,用于存放视频流中的待处理的图像纹理。如图2所示,假设gpu的计算队列的长度为5,包括0、1、2、3、4字段,每个字段存储一帧图像的图像纹理,当有新的图像纹理输入时,第1字段的图像纹理移动至第0字段,第2字段的图像纹理移动至第1字段,依次类推,新的图像纹理输入至第4字段。

以图2为例,本步骤中的第一图像纹理为待处理的第一图像的图像纹理,当前存放在gpu计算队列的第4字段,第二图像纹理为第一图像的上一帧图像经过降噪处理后的图像纹理,当前存放在gpu计算队列的第3字段。

为了降低显存的资源消耗以及gpu纹理采样和计算的消耗,在获取视频流中第一图像纹理之后,需要对获取的第一图像纹理作进一步处理,具体的,将视频流中第一图像纹理缩小至原来的1/n,并将缩小后的第一图像纹理转化为灰度纹理,存放到上述gpu的计算队列中。

s102、根据滤波系统当前的滤波参数,对第一图像纹理和第二图像纹理进行线性插值计算,输出降噪后的第一图像纹理。

在本实施例中,滤波系统的滤波参数是动态变化的。

视频降噪装置首先获取滤波系统当前的滤波参数,其中,滤波系统当前的滤波参数包括差值系数和滤波方差系数。视频降噪装置根据滤波系统当前的插值系数,对第一图像纹理和第二图像纹理进行线性插值计算,得到降噪后的第一图像纹理,并用降噪后的第一图像纹理代替gpu计算队列中待处理的第一图像纹理。

需要指出的是,滤波系统当前的滤波参数是通过对当前gpu计算队列中所有图像纹理进行像素信息统计得到的,在gpu计算队列中的图像纹理发生变化时,即gpu计算队列中有新的图像纹理进入时,滤波系统的滤波参数会发生动态变化,通过对gpu计算队列中的第一图像纹理以及降噪后的第二图像纹理进行线性插值计算,输出降噪后的第一图像纹理,简化了滤波参数计算过程,降噪效果更好。

本发明实施例提供的视频流降噪方法,通过获取视频流中第一图像纹理以及降噪后的第二图像纹理,根据滤波系统当前实时的滤波参数,对第一图像纹理和第二图像纹理进行线性插值计算,输出降噪后的第一图像纹理,其中第一图像为视频流中当前待处理的图像,第二图像为第一图像的上一帧图像。通过上述方法,实现对视频流图像的实时降噪处理,降噪效果明显,且解决了视频流存在残影的问题。

在上述实施例的基础上,本实施例提供的视频流降噪方法具体公开了如何获取当前滤波系统的滤波参数,从而根据当前滤波参数对第一图像纹理进行降噪处理。

下面结合附图对本实施提供的视频流降噪方法进行详细说明。

图3为本发明另一实施例提供的视频流降噪方法的流程示意图,图4为本发明一实施例提供的滤波系统的滤波参数的计算过程示意图。

如图3所示,本实施例的视频流降噪方法包括如下步骤:

s301、获取视频流中第一图像纹理以及降噪后的第二图像纹理;第一图像为视频流中当前待处理的图像,第二图像为第一图像的上一帧图像;

本实施例的s301与上述实施例的s101相同,具体参见上述实施例,此处不再赘述。

s302、根据滤波系统的预设测量方差、预测方差以及上一帧的滤波方差系数,确定滤波系统当前的滤波参数;

本实施例中滤波系统为卡尔曼滤波系统,针对一帧图像中的每一个像素块,设置预测值等于上一帧滤波值加一个符合正态分布的随机值,则滤波系统可以描述为:

预测值:x(k)=f(k-1)+w(k)

测量值:z(k)=h*m(k)+v(k)

其中,k为视频流的帧数,x(k)表示预测的画面信息,z(k)表示真实的画面信息,f(k-1)表示上一帧滤波后的输出画面信息,m(k)为当前输入画面信息,w(k)和v(k)表示噪点信息,w(k)为符合预测方差pcov的正态分布的随机变量,v(k)为符合预设测量方差mcov的正态分布的随机变量,h为单位矩阵。

卡尔曼滤波的原理如下:

当v(k)的测量方差mcov比w(k)的预测方差更大时,滤波系统认定测量值不可靠性更大,因此滤波系统更信任预测值,即插值权重更偏向于预测的画面x(k),如果预测的权重无限接近于1,那么滤波的结果基本是一个静止画面,自然不存在跳动的视频噪点;反之,滤波系统更信任测量值,输出的画面z(k)存在噪点。

本实施例的滤波系统根据计算图像处理器gpu计算队列中各图像纹理中各像素块的亮度差值信息,实现动态调整滤波参数。滤波系统的滤波参数包括插值系数kg和滤波方差系数pcov,其计算过程如下:

s3021、统计图像处理器gpu的计算队列中所有图像纹理的每个像素块对应的最大亮度差值dl;

基于上述实施例的实例,假设gpu的计算队列的长度为5,统计gpu计算队列中5帧图像纹理的每个像素块的亮度值,得到每个像素块的最大亮度差值dl。

s3022、根据最大亮度差值、预设测量方差以及预设缩放系数,确定预测方差;

在本实施例中,默认设置每个像素块的预测测量方差为mcov,预设缩放系数为scale,两个参数均为固定参数。

具体的,将最大亮度差值dl、预设测量方差mcov以及预设缩放系数scale的乘积作为预测方差pcov,参见公式一。

pcov(k)=dl*mcov*scale公式一

由公式一可知,随着gpu计算队列的更新,每个像素块的dl值是动态变化的,pcov(k)也是动态变化的。

s3023、根据滤波系统的预测测量方差、预测方差以及上一帧的滤波方差系数,确定滤波系统当前的插值系数;

滤波系统的插值系数kg的计算公式参见公式二。

kg=sqrt(a/(a+b))公式二

其中,sqrt表示计算平方根;

a=pcov(k)*pcov(k)+fcov(k-1)*fcov(k-1)

b=mcov(k)*mcov(k)

fcov(k-1)表示上一帧的滤波方差系数。

s3024、根据插值系数、上一帧的滤波方差系数以及预测方差,确定滤波系统当前的滤波方差系数。

滤波系统当前的滤波方差系数fcov(k)的计算公式参见公式三。

fcov(k)=sqrt((1-kg)*a)公式三

s303、根据滤波系统当前的滤波参数,对第一图像纹理和第二图像纹理进行线性插值计算,输出降噪后的第一图像纹理。

在获取滤波系统当前的滤波参数之后,根据滤波系统当前的所述插值系数,对所述第一图像纹理和所述第二图像纹理进行线性插值计算,输出降噪后的第一图像纹理。同时,将当前的滤波参数,即当前的滤波方差系数以及插值系数压缩到rgba纹理并保存,以便在计算下一帧滤波系数时使用。

本发明实施例提供的视频流降噪方法,对滤波系统动态变化的滤波参数的计算进行了详细说明,由于本实施例的滤波系统采用滤波方差动态计算方案,输出的降噪后的实时图像具有在亮度变动大的像素块偏向测量值,亮度变动小的像素块偏向预测值的特点,提高了系统整体的降噪效果,同时解决了视频流存在残影的问题。

图5为本发明一实施例提供的视频流降噪装置的结构示意图,如图5所示,本实施例提供的视频流降噪装置50包括:

获取模块51,用于获取视频流中第一图像纹理以及降噪后的第二图像纹理;所述第一图像为视频流中当前待处理的图像,所述第二图像为所述第一图像的上一帧图像;

降噪处理模块52,用于根据滤波系统当前的滤波参数,对所述第一图像纹理和所述第二图像纹理进行线性插值计算,输出降噪后的第一图像纹理;所述滤波系统的滤波参数是动态变化的。

本发明实施例提供的视频流降噪装置包括:获取模块和降噪处理模块,其中获取模块用于获取视频流中第一图像纹理以及降噪后的第二图像纹理,第一图像为视频流中当前待处理的图像,第二图像为第一图像的上一帧图像;降噪处理模块用于根据滤波系统当前的滤波参数,对所述第一图像纹理和所述第二图像纹理进行线性插值计算,输出降噪后的第一图像纹理。上述装置实现对视频流图像的实时降噪处理,降噪效果明显,且解决了视频流存在残影的问题。

在上述实施例的基础上,图6为本发明另一实施例提供的视频流降噪装置的结构示意图,在图5所示装置的基础上,如图6所示,本实施例提供的视频流降噪装置50,还包括:确认模块53。

所述确认模块53,用于根据滤波系统当前的滤波参数,对所述第一图像纹理和所述第二图像纹理进行线性插值计算,输出降噪后的第一图像纹理之前,根据所述滤波系统的预设测量方差、预测方差以及上一帧的滤波方差系数,确定所述滤波系统当前的滤波参数。

可选的,所述确认模块53,还用于:统计图像处理器gpu的计算队列中所有图像纹理的每个像素块对应的最大亮度差值;

根据所述最大亮度差值、所述预设测量方差以及预设缩放系数,确定所述预测方差。

可选的,所述确认模块53,具体用于:

将所述最大亮度差值、所述预设测量方差以及预设缩放系数的乘积作为所述预测方差。

可选的,所述滤波系统当前的滤波参数包括插值系数和滤波方差系数;所述确认模块,具体用于:

根据所述滤波系统的预测测量方差、预测方差以及上一帧的滤波方差系数,确定所述滤波系统当前的插值系数;

根据所述插值系数、所述上一帧的滤波方差系数以及所述预测方差,确定所述滤波系统当前的滤波方差系数。

可选的,所述降噪处理模块52,具体用于:

根据滤波系统当前的所述插值系数,对所述第一图像纹理和所述第二图像纹理进行线性插值计算,输出降噪后的第一图像纹理。

可选的,所述获取模块51,具体用于:

将视频流中第一图像缩小至原来的1/n并转化为灰度纹理,得到所述第一图像纹理;其中,n为大于等于2的正整数;

从图像处理器gpu的计算队列中获取降噪后的第二图像纹理。

可选的,所述滤波系统为卡尔曼滤波系统。

本实施例提供的视频流降噪装置,可以执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图7为本发明一实施例提供的视频流降噪装置的硬件结构示意图,如图7所示,本实施例的视频流降噪装置70,包括:

存储器71;

处理器72;以及

计算机程序;

其中,计算机程序存储在存储器71中,并被配置为由处理器72执行以实现如前述任一项方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

可选的,存储器71既可以是独立的,也可以跟处理器72集成在一起。

当存储器71是独立于处理器72之外的器件时,视频流降噪装置70还包括:

总线73,用于连接存储器71和处理器72。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器72执行以实现如上方法实施例中视频流降噪装置70所执行的各个步骤。

在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例方法的部分步骤。

应理解,上述处理器可以是中央处理单元(英文:centralprocessingunit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digitalsignalprocessor,简称:dsp)、专用集成电路(英文:applicationspecificintegratedcircuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。

总线可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外部设备互连(peripheralcomponent,pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。

上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。

一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(applicationspecificintegratedcircuits,简称:asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1