视频去噪方法和装置、存储介质及电子设备与流程

文档序号:31056122发布日期:2022-08-09 17:12阅读:58来源:国知局
视频去噪方法和装置、存储介质及电子设备与流程

1.本发明涉及计算机领域,具体而言,涉及一种视频去噪方法和装置、存储介质及电子设备。


背景技术:

2.现有技术中,在对视频进行去噪的过程中,可以采用时域滤波方法对视频进行去噪。然而,如果采用时域滤波方法对视频进行去噪,则会在视频的运动区域产生拖影现象,造成去噪后的视频中对象有拖影,去噪后的视频不清晰。
3.也就是说,采用现有的视频去噪方法,去噪后的视频中存在拖影。
4.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本发明实施例提供了一种视频去噪方法和装置、存储介质及电子设备,以至少解决对视频去噪时,会产生拖影的技术问题。
6.根据本发明实施例的一个方面,提供了一种视频去噪方法,包括:取第一视频帧和第二视频帧,其中,上述第一视频帧为待去噪的视频帧,上述第二视频帧为上述视频中上述第一视频帧的前一帧视频帧;确定上述第一视频帧和上述第二视频帧中目标像素点的像素差值,以确定出上述第一视频帧的目标运动参数,其中,上述目标运动参数用于指示上述第一视频帧的运动状态,上述目标像素点包括上述第一视频帧与上述第二视频帧中,位置相同的多个像素点;在上述目标运动参数指示上述第一视频帧的运动状态为相对于上述第二视频帧静止的情况下,对上述第一视频帧执行时域滤波操作,得到第一目标视频帧;将上述第一目标视频帧确定为上述第一视频帧去噪后的视频帧;在上述目标运动参数指示上述第一视频帧的运动状态为相对于上述第二视频帧运动的情况下,对上述第一视频帧执行空域滤波操作,得到第二目标视频帧;将上述第二目标视频帧确定为上述第一视频帧去噪后的视频帧。
7.根据本发明实施例的另一方面,还提供了一种视频去噪装置,包括:第一获取单元,用于获取第一视频帧和第二视频帧,其中,上述第一视频帧为待去噪的视频帧,上述第二视频帧为上述视频中上述第一视频帧的前一帧视频帧;第一确定单元,用于确定上述第一视频帧和上述第二视频帧中目标像素点的像素差值,以确定出上述第一视频帧的目标运动参数,其中,上述目标运动参数用于指示上述第一视频帧的运动状态,上述目标像素点包括上述第一视频帧与上述第二视频帧中,位置相同的多个像素点;第一滤波单元,用于在上述目标运动参数指示上述第一视频帧的运动状态为相对于上述第二视频帧静止的情况下,对上述第一视频帧执行时域滤波操作,得到第一目标视频帧;将上述第一目标视频帧确定为上述第一视频帧去噪后的视频帧;第二滤波单元,用于在上述目标运动参数指示上述第一视频帧的运动状态为相对于上述第二视频帧运动的情况下,对上述第一视频帧执行空域滤波操作,得到第二目标视频帧;将上述第二目标视频帧确定为上述第一视频帧去噪后的
视频帧。
8.作为一种可选的示例,上述第一滤波单元包括:第三确定模块,用于将上述第一视频帧中的每一个像素点确定为当前像素点,对上述当前像素点执行如下操作:确定上述当前像素点的当前滤波参数;使用上述当前滤波参数对上述当前像素点的当前像素值和第一像素点的第一像素值进行计算,得到对上述当前像素点执行上述时域滤波操作后的像素点,其中,上述第一像素点为上述第二视频帧中,与上述当前像素点位置相同的像素点。
9.作为一种可选的示例,上述第三确定模块还用于:通过上述当前像素值的大小确定上述当前像素点为明亮场景下的像素点或黑暗场景下的像素点;确定上述当前像素点的运动阈值,其中,上述当前像素点在明亮场景和上述黑暗场景下的上述运动阈值不同,上述运动阈值通过上述第一视频帧的第一像素块和上述第二视频帧的第二像素块的像素差值的最小值确定;确定上述当前像素点与上述第一像素点的第一像素差值;比对上述运动阈值与上述第一像素差值,确定上述当前滤波参数。
10.作为一种可选的示例,上述装置还包括:第二获取单元,用于获取位于上述第一视频帧前的多帧第三视频帧,其中,上述多帧第三视频帧中包括上述第二视频帧;第二确定单元,用于通过每一帧上述第三视频帧的前一帧视频帧,确定每一帧上述第三视频帧的上述目标运动参数;第三确定单元,用于在根据上述目标运动参数确定出上述第三视频帧中,存在一帧视频帧的运动状态为相对于前一帧视频帧运动的情况下,确定上述第一视频帧的运动状态为相对于上述第二视频帧运动。
11.根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述视频去噪方法。
12.根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的视频去噪方法。
13.在本发明实施例中,采用了获取第一视频帧和第二视频帧,其中,上述第一视频帧为待去噪的视频帧,上述第二视频帧为上述视频中上述第一视频帧的前一帧视频帧;确定上述第一视频帧和上述第二视频帧中目标像素点的像素差值,以确定出上述第一视频帧的目标运动参数,其中,上述目标运动参数用于指示上述第一视频帧的运动状态,上述目标像素点包括上述第一视频帧与上述第二视频帧中,位置相同的多个像素点;在上述目标运动参数指示上述第一视频帧的运动状态为相对于上述第二视频帧静止的情况下,对上述第一视频帧执行时域滤波操作,得到第一目标视频帧;将上述第一目标视频帧确定为上述第一视频帧去噪后的视频帧;在上述目标运动参数指示上述第一视频帧的运动状态为相对于上述第二视频帧运动的情况下,对上述第一视频帧执行空域滤波操作,得到第二目标视频帧;将上述第二目标视频帧确定为上述第一视频帧去噪后的视频帧的方法,由于在上述方法中,在对视频进行去噪的过程中,可以根据去噪的视频帧的运动状态来确定去噪的手段,从而可以避免在对视频进行去噪时,产生拖影,进而解决了对视频去噪时,会产生拖影的技术问题。
附图说明
14.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
15.图1是根据本发明实施例的一种可选的视频去噪方法的应用环境的示意图;
16.图2是根据本发明实施例的另一种可选的视频去噪方法的应用环境的示意图;
17.图3是根据本发明实施例的一种可选的视频去噪方法的流程的示意图;
18.图4是根据本发明实施例的一种可选的视频去噪方法的第一像素块和第二像素块的获取示意图;
19.图5是根据本发明实施例的另一种可选的视频去噪方法的第一像素块和第二像素块的获取示意图;
20.图6是根据本发明实施例的一种可选的视频去噪方法的系统示意图;
21.图7是根据本发明实施例的一种可选的视频去噪装置的结构示意图;
22.图8是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
23.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
24.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
25.根据本发明实施例的一个方面,提供了一种视频去噪方法,可选地,作为一种可选的实施方式,上述视频去噪方法可以但不限于应用于如图1所示的环境中。
26.如图1所示,终端设备102包括了存储器104,用于存储终端设备102运行过程中产生的各项数据、处理器106,用于处理运算上述各项数据、显示器108,用于显示视频、第一视频帧和第二视频帧。终端设备102可以通过网络110与服务器112之间进行数据交互。服务器112包括数据库114,用于存储各项数据,处理引擎116,用于处理上述各项数据。步骤s102到步骤s106,终端设备102将视频发送到服务器112,由服务器112完成视频的去噪,并返回去噪后的视频。
27.作为一种可选的实施方式,上述视频去噪方法可以但不限于应用于如图2所示的环境中。
28.如图2所示,终端设备202包括了存储器204,用于存储终端设备202运行过程中产生的各项数据、处理器206,用于处理运算上述各项数据、显示器208,用于显示视频。终端设
备202可以执行步骤s202到s208,完成视频中视频帧的去噪。
29.可选地,在本实施例中,上述终端设备可以是配置有目标客户端的终端设备,可以包括但不限于以下至少之一:手机(如android手机、ios手机等)、笔记本电脑、平板电脑、掌上电脑、mid(mobile internet devices,移动互联网设备)、pad、台式电脑、智能电视等。目标客户端可以是视频客户端、即时通信客户端、浏览器客户端、教育客户端等。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、wifi及其他实现无线通信的网络。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述仅是一种示例,本实施例中对此不作任何限定。
30.可选地,作为一种可选的实施方式,如图3所示,上述视频去噪方法包括:
31.s302,获取第一视频帧和第二视频帧,其中,第一视频帧为待去噪的视频帧,第二视频帧为视频中第一视频帧的前一帧视频帧;
32.s304,确定第一视频帧和第二视频帧中目标像素点的像素差值,以确定出第一视频帧的目标运动参数,其中,目标运动参数用于指示第一视频帧的运动状态,目标像素点包括第一视频帧与第二视频帧中,位置相同的多个像素点;
33.s306,在目标运动参数指示第一视频帧的运动状态为相对于第二视频帧静止的情况下,对第一视频帧执行时域滤波操作,得到第一目标视频帧;将第一目标视频帧确定为第一视频帧去噪后的视频帧;
34.s308,在目标运动参数指示第一视频帧的运动状态为相对于第二视频帧运动的情况下,对第一视频帧执行空域滤波操作,得到第二目标视频帧;将第二目标视频帧确定为第一视频帧去噪后的视频帧。
35.可选地,在对视频进行去噪时,可以对视频中的所有视频帧进行去噪,也可以对视频中的部分视频帧进行去噪。如果对部分视频帧进行去噪,可以确定视频中的帧内编码帧i帧,对i帧进行去噪。或者,截取视频的一部分,对一部分视频中的视频帧进行去噪等。
36.可选地,本实施例中,在确定要去噪的第一视频帧之后,在对第一视频帧进行去噪时,需要获取第一视频帧的前一帧视频帧,也就是第二视频帧,然后根据第二视频帧确定第一视频帧的运动状态。运动状态可以通过确定第一视频帧的目标运动参数来确定。目标运动参数可以为数值,不同的数值表示不同的运动状态。例如,目标运动参数可以为第一参数或第二参数,第一参数表示第一视频帧的运动状态为相对于第二视频帧静止,第二参数表示第一视频帧的运动状态为相对于第二视频帧运动。或者,目标运动参数可以和一个阈值进行比较,小于阈值则认为第一视频帧的运动状态为相对于第二视频帧静止,大于阈值则表示第一视频帧的运动状态为相对于第二视频帧运动。针对第一视频帧的运动状态的不同,使用不同的滤波手段对第一视频帧执行滤波操作。
37.可选地,本技术实施例中,可以从第一视频帧与第二视频帧中的相同位置获取多个像素点,通过比对多个像素点的像素值来确定目标运动参数。多个像素点之间可能为相连的,也可能为分离的,可能为任意形状。例如,多个像素点组成像素块。
38.可选地,本实施例中可以通过确定第一视频帧和第二视频帧的像素差值确定目标运动参数。可以将第一视频帧和第二视频帧分成多个像素块,或者从第一视频帧和第二视频帧中提取多个像素块。第一视频帧与第二视频帧分成的像素块的大小和形状是相同的。
但是具体分成的像素块的数量并不做限定。也就是说,第一视频帧与第二视频帧采用相同的分块方法进行分块,具体分成多少块并不限定。每一块之间大小和形状可以不同。例如,图4为将第一视频帧402分成四个第一像素块402-1,将第二视频帧404分成四块第二像素块404-1的示意图。
39.或者,可以从第一视频帧中提取第一像素块,从第二视频帧中提取第二像素块。像素块的大小与形状与提取位置不做限定,但第一像素块在第一视频帧中的提取位置与第二像素块在第二视频帧中的提取位置是相同的。提取第一像素块或第二像素块时,如果提取的第一像素块或第二像素块有多个,则多个第一像素块或者多个第二像素块之间,可以包括重叠的部分,或者完全不重叠。以不重叠为例,如图5所示,图5中从第一视频帧502中提取第一像素块502-1,从第二视频帧504中提取第二像素块504-1。
40.本实施例中提到的像素块的像素差值或者像素点的像素差值,如果为负值,则取绝对值。
41.对于确定第一像素块与第二像素块时,像素块的数量n和像素块中像素点的数量m,可以是随机确定的。也可以为,根据视频所在的场景确定。场景可以分为实时场景或者非实时场景。实时场景可以为视频实时录制、实时传输、实时播放的场景。例如直播场景、摄像头监控场景、实时通话场景。而非实时场景可以为视频录制后保存,等待后续处理的场景。例如拍摄电影、相机录制视频等场景。录制的视频被直接保存,已做后续播放或后续处理。如果是实时场景,则上述n与m可以设置的比非实时场景的n和m更小,从而非实时场景提取更多的像素块,以及像素块中像素点更多。
42.可选地,本实施例中在获取到第一像素块与第二像素块之后,可以确定相同位置的第一像素块与第二像素块的像素差值。第一像素块与第二像素块的像素差值可以包括最小差值和平均差值。最小差值是第一像素块和第二像素块中像素点的像素差值的最小值。平均差值是上述第一像素块和第二像素块中像素点的像素差值的平均值。例如,第一像素块有4个像素点,第二像素块有4个像素点,相同位置的像素点的像素差值分别为10、20、40、10,则最小差值为10,平均差值为20=(10+20+40+10)/4。然后,可以通过最小差值确定最小均值。最小均值是每一对第一像素块和第二像素块的最小差值的平均值,然后与预定参数相乘,得到的结果。至此,获取到每一个第一像素块与第二像素块的平均差值,和多对第一像素块和第二像素块的最小均值。将每一个平均差值与最小均值进行比对,如果平均差值大于最小均值,则认为对应的第一像素块的第一运动参数为第一值,表示第一像素块的运动状态为相对于第二像素块静止,如果平均差值小于或等于最小均值,则认为对应的第一像素块第一运动参数为第二值,表示第一像素块的运动状态为相对于第二像素块运动。统计第一视频帧中相对静止的像素块和相对运动的像素块的数量,如果相对静止的像素块的数量多,则第一视频帧的运动状态为相对于第二视频帧静止。如果相对运动的像素块的数量多,则第一视频帧的运动状态为相对于第二视频帧运动。如果两种像素块数量相等,则认为第一视频帧的运动状态为相对于第二视频帧静止。
43.在确定出第一视频帧的运动状态为相对于第二视频帧运动或静止的情况下,就可以使用空域滤波手段或者时域滤波手段对第一视频帧进行滤波处理。当然,如果第一视频帧为视频的首个视频帧的情况下,第一视频帧没有第二视频帧,因此,可以使用时域滤波手段进行处理。后续的具有第二视频帧的第一视频帧,可以根据确定出的运动状态采用空域
滤波或者时域滤波进行处理。如果第一视频帧的运动状态为相对于第二视频帧运动,则使用空域滤波手段进行处理。如果第一视频帧的运动状态为相对于第二视频帧静止,则使用时域滤波手段进行处理。
44.可选地,本实施例中,如果对第一视频帧执行空域滤波操作,则可以使用如高斯滤波、均值滤波或者双边滤波等。如果采用时域滤波手段,则可以使用均值滤波、中值滤波等方法。
45.本实施例中还提供了一种时域滤波方法,可以对第一视频帧执行时域滤波操作。可以对第一视频帧中的所有像素点执行时域滤波操作或者选择出部分像素点执行时域滤波操作。以对所有像素点执行时域滤波操作为例,方法如下:
46.首先,在时域滤波时,将每一个待滤波的像素点作为当前像素点,首先,确定当前像素点的当前滤波参数。当前滤波参数是用于时域滤波的参数。
47.将当前像素点的当前像素值和当前滤波参数相乘,得到第一结果,并将第二视频帧中与当前像素点位置相同的第一像素点的第一像素值与1减去当前滤波参数的差相乘,得到第二结果,将第一结果减去第二结果得到的差作为对当前像素点执行时域滤波操作后得到的目标像素点的像素值。由此,完成对当前像素点的时域滤波操作。对所有像素点执行时域滤波操作后,完成对第一视频帧的时域滤波。
48.上述当前滤波参数的获取方法可以有多种。例如,可以人工设置或者由系统自动调节。或者,本实施例还提出了一种当前滤波参数的确定方法。方法如下:
49.首先可以确定当前像素点的像素值,如果像素值大于像素范围取值的一半,则确定当前像素点所在的场景为明亮场景,则确定运动阈值为上述的最小均值。如果当前像素点的场景为黑暗场景,也就是像素值小于或等于了像素范围取值的一半,则运动阈值为常数和上述最小均值的乘积。确定出运动阈值后,如果当前像素点的当前像素值和第一像素点的第一像素值的差值大于了上述运动阈值,则将当前滤波参数设置为1。如果当前像素点的当前像素值和第一像素点的第一像素值的差值小于或等于上述运动阈值,则将当前滤波参数设置为u。u为一个参数。可以先计算上述当前像素点的当前像素值和第一像素点的第一像素值的差值比上β的商,然后计算e的上述商次方。e为自然常数。由1减去上述e的商次方,得到上述u。u即为当前滤波参数。
50.以下结合一个具体示例进行说明。上述视频去噪方法的系统图如图6所示。
51.首先进行噪声估计。将视频中的视频帧中,待滤波的视频帧作为第一视频帧f(i)输入。输入的第一视频帧f(i)(可以简称为输入视频帧)和缓存帧f(i-1)随机选取不交叠的n个k
×
k大小的时域像素块b(i,m)(m=0,1

n),计算当前帧f(i)与缓存帧f(i-1)中每个像素块中所有对应位置像素差的绝对值如下:
[0052][0053]
其中,f(i-1)是输入视频帧f(i)在视频中的前一帧。n、k为正整数,b(i,m)表示视频帧f(i)中的第m块像素块。与分别表示当前帧与缓存帧像素块m中(x,y)位置的像素值。进而确定每个像素块中像素差绝对值的最小值dmin(i,m),该绝对值的最小值也就是上述的最小差值,将这n个像素块中dmin(i,m)取均值即作为当前视频噪声强度nos,即:
[0054][0055]
该噪声强度也就是上述的最小均值。
[0056]
该噪声估计过程中随机选取像素块能够能够有效保证估计的鲁棒性,同时保证计算速度。随机块个数n以及每个随机块包含的像素个数k
×
k可依据应用场景进行调整,如视频文件转码等非实时性场景中,n与k可取较大值以便能够完成更为准确的噪声估计;而直播、视频通话等场景中,n与k可取较小值以便快速完成噪声估计。
[0057]
当然,上述的噪声强度的估计还可以使用随机查分块的噪声估计方法,本实施例不做限定。
[0058]
在确定了噪声强度也就是最小均值之后,进行帧级运动检测,从而确定第一视频帧的运动状态。
[0059]
对于上述噪声估计中提取的视频帧中的时域像素块b(i,m),计算每个像素块中像素差绝对值的平均值dave(i,m),依据当前块的平均值dave(i,m)与噪声强度nos的关系,判断当前块运动状态:
[0060][0061]
其中θ为常数参数,1表示该块的运动状态为相对于上一帧视频帧中相同位置的块运动,0表示该块的运动状态为相对于上一帧视频帧中相同位置的块静止。进而根据n个块的运动状态判定当前帧的运动状态mf,即若n个块若有半数块以上为相对于上一帧视频帧中相同位置的块运动的块,则判定该帧的运动状态为相对于上一帧运动,否则该帧的运动状态为相对于上一帧静止,即:
[0062][0063]
其中,sum()表示求和。
[0064]
如果确定出目标运动参数后,根据目标运动参数的数值,确定使用空域滤波还是时域滤波来对第一视频帧进行滤波。
[0065]
如果是空域滤波,则对当前帧f(i)进行空域滤波得到空域滤波图像t(i),空域滤波方法可以采用高斯滤波、均值滤波或者双边滤波等方法,本实施例不做限定。例如使用双边滤波等保边滤波器,可以保持滤波图像边缘和纹理细节。
[0066]
如果是时域滤波,则首先针对当前帧f(i)中每个像素属于明亮场景和黑暗场景进行简单区分,若当前像素点fi(x,y)的当前像素值大于像素范围取值的一半,则判定该像素点属于明亮场景(scene=1),否则属于黑暗场景(scene=0)。明亮与黑暗场景的区分能够有效提高算法在不同场景下的鲁棒性,保证去噪质量。依据不同的场景,得到不同的运动阈值:
[0067][0068]
其中,α为常数参数,可取1.5。
[0069]
进而进行像素级的运动检测,计算当前帧与缓存帧之间的像素差:
[0070]
d(x,y)=|fi(x,y)-f
i-1
(x,y)|
[0071]
上述像素差即为当前像素点的当前像素值和第一像素点的第一像素值的差值。基于像素差与运动阈值之间的关系,得到当前帧与缓存帧之间的权重阈值:
[0072][0073]
其中β为常数系数。基于该权重完成时域滤波,计算当前视频帧每点像素值s

(x,y),得到最终的时域滤波图像s(i)。
[0074]s′
(x,y)=wfi(x,y)-(1-w)f
i-1
(x,y)
[0075]
时域和空域联合滤波。基于帧级运动检测值mf以及上述步骤中得到的时域滤波图像s(i)以及空域滤波图像t(i),完成最终滤波图像f

(i)的选择。即当帧级运动检测判定该帧相对于上一帧运动时,采用空域滤波;当该帧相对于上一帧静止时采用时域滤波。该选取方法能够有效避免单一采用时域滤波造成的运动拖影现象。本实施例中,可以先确定mf,然后根据mf选择滤波手段,得到t(i)或s(i),也可以先执行时域滤波和空域滤波操作,得到t(i)和s(i),然后根据mf的值来选择t(i)或s(i)作为f

(i)。
[0076][0077]
作为一种可选的实施方式,确定第一视频帧和第二视频帧中目标像素点的像素差值,以确定出第一视频帧的目标运动参数包括:
[0078]
从第一视频帧中获取第一像素块并从第二视频帧中获取第二像素块,其中,第一像素块在第一视频帧中的第一位置和第二像素块在第二视频帧中的第二位置相同,第一像素块或第二像素块由目标像素点组成;
[0079]
确定第一像素块和第二像素块的像素差值的最小差值和像素差值的平均差值;
[0080]
比对平均差值和最小均值从而确定出第一视频帧中的每一个第一像素块的第一运动参数,其中,最小均值根据最小差值和预定参数计算得到,第一运动参数用于指示第一像素块的运动状态;
[0081]
在第一运动参数为第一值的第一像素块的数量大于第一运动参数为第二值的第一像素块的数量的情况下,确定目标运动参数为第一参数,在第一运动参数为第一值的第一像素块的数量小于或等于第一运动参数为第二值的第一像素块的数量的情况下,确定目标运动参数为第二参数,其中,第一值用于指示第一像素块的运动状态为相对于第二像素块静止,第二值用于指示第一像素块的运动状态为相对于第二像素块运动,第一参数用于指示第一视频帧的运动状态为相对于第二视频帧静止,第二参数用于指示第一视频帧的运动状态为相对于第二视频帧运动。
[0082]
在本实施例中,从第一视频帧和第二视频帧中获取到第一像素块和第二像素块,第一像素块有多个,第二像素块也有多个。在获取时,从第一视频帧和第二视频帧的相同位置获取第一像素块和第二像素块,多个第一像素块和第二像素块之间不重叠,从而获取到多个第一像素块和多个第二像素块。可以随机选择位置获取第一像素块和第二像素块。通过此方法,可以有效保证估计视频噪声的鲁棒性,同时保证计算速度。
[0083]
作为一种可选的实施方式,确定第一像素块和第二像素块的像素差值的最小差值
和像素差值的平均差值包括:
[0084]
在第一像素块和第二像素块有多个的情况下,将相同位置的第一像素块和第二像素块作为一个像素块对;
[0085]
确定每一个像素块对中,每一个相同位置的像素点的像素差值,并将每一个相同位置的像素点的像素差值中的最小值,作为最小差值,将每一个像素块对中,每一个相同位置的像素点的像素差值的平均值,作为平均差值。
[0086]
可选地,本实施例中,在获取到第一视频帧的多个第一像素块和第二视频帧的多个第二像素块之后,相同位置的像素块作为一个像素块对,确定像素块对中像素块的最小差值和平均差值。通过本方法,可以确定出第一视频帧和第二视频帧中每一个像素块对的最小差值和平均差值,由于减少了计算的像素数,从而提高了确定最小差值和平均差值的确定速度。而且,由于确定出多对像素块对,且像素块对是随机确定的,因此,仍然能够保证确定最小差值和平均差值的准确度。
[0087]
作为一种可选的实施方式,比对平均差值和最小均值从而确定出第一视频帧中的每一个第一像素块的第一运动参数包括:
[0088]
确定第一像素块和第二像素块的最小差值的平均值,得到第一均值;
[0089]
将第一均值与预定参数相乘,得到最小均值;
[0090]
在第一像素块与第二像素块的平均差值大于最小均值的情况下,确定第一像素块的第一运动参数为第一值;
[0091]
在平均差值小于或等于最小均值的情况下,确定第一像素块的第一运动参数为第二值。
[0092]
可选地,在确定出上述最小均值后,将每一个像素块的平均差值和上述最小均值进行比对,从而确定出每一个像素块的运动状态,通过每一个像素块的运动状态来确定出第一视频帧的运动状态,可以准确确定第一视频帧的运动状态,以及由于通过像素块确定第一视频帧的运动状态,无需遍历第一视频帧的所有像素点,因此提高了确定第一视频帧的运动状态的效率。
[0093]
作为一种可选的实施方式,从第一视频帧中获取第一像素块并从第二视频帧中获取第二像素块包括:
[0094]
在第一视频帧中确定出n个第一像素块与在第二视频帧中确定出n个第二像素块,每一个第一像素块与每一个第二像素块中各包括m个像素点,其中,在视频所在的场景为非实时场景的情况下n的取值为第一数值,m的取值为第二数值,在视频所在的场景为实时场景的情况下n的取值为第三数值,m的取值为第四数值,第一数值大于第三数值且第二数值大于第四数值。
[0095]
可选地,对于不同的场景,设置不同的m和n值,目的在于,所要处理的数据量不同。对于实时场景,m和n设置的较小,从而有效控制要处理的数据量,提高处理效率。如果是非实时场景,则通过设置m和n较大,可以提高确定的第一视频帧的运动状态的准确度。
[0096]
作为一种可选的实施方式,在目标运动参数指示第一视频帧的运动状态为相对于第二视频帧静止的情况下,对第一视频帧执行时域滤波操作,得到第一目标视频帧包括:
[0097]
将第一视频帧中的每一个像素点确定为当前像素点,对当前像素点执行如下操作:
[0098]
确定当前像素点的当前滤波参数;
[0099]
使用当前滤波参数对当前像素点的当前像素值和第一像素点的第一像素值进行计算,得到对当前像素点执行时域滤波操作后的像素点,其中,第一像素点为第二视频帧中,与当前像素点位置相同的像素点。
[0100]
可选地,本实施例中,为每一个像素点确定一个当前滤波参数,从而可以使用每一个像素点的当前滤波参数对该像素点执行滤波操作,提高滤波的准确性。
[0101]
作为一种可选的实施方式,确定当前像素点的当前滤波参数包括:
[0102]
通过当前像素值的大小确定当前像素点为明亮场景下的像素点或黑暗场景下的像素点;
[0103]
确定当前像素点的运动阈值,其中,当前像素点在明亮场景和黑暗场景下的运动阈值不同,运动阈值通过第一视频帧的第一像素块和第二视频帧的第二像素块的像素差值的最小值确定;
[0104]
确定当前像素点与第一像素点的第一像素差值;
[0105]
比对运动阈值与第一像素差值,确定当前滤波参数。
[0106]
通过本实施例,通过上述方法确定每一个像素点的当前滤波参数,从而提高确定的当前滤波参数的准确度。
[0107]
作为一种可选的实施例,方法还包括:
[0108]
获取位于第一视频帧前的多帧第三视频帧,其中,多帧第三视频帧中包括第二视频帧;
[0109]
通过每一帧第三视频帧的前一帧视频帧,确定每一帧第三视频帧的目标运动参数;
[0110]
在根据目标运动参数确定出第三视频帧中,存在一帧视频帧的运动状态为相对于前一帧视频帧运动的情况下,确定第一视频帧的运动状态为相对于第二视频帧运动。
[0111]
也就是说,第一视频帧的运动状态,不仅仅受第二视频帧约束,还与第一视频帧前的多帧第三视频帧相关。
[0112]
例如,第1到第5帧视频帧,第5帧视频帧为第一视频帧,第1到第4帧视频帧为第三视频帧。其中,使用第1帧视频帧确定第2帧视频帧的运动状态,使用第2帧视频帧确定第3帧视频帧的运动状态,使用第3帧视频帧确定第4帧视频帧的运动状态,使用第4帧视频帧确定第5帧视频帧的运动状态,如果第2到第5帧视频帧中有任意一帧视频帧的运动状态被确定为相比于上一帧运动,则确定第一视频帧,也即是上述的第5帧视频帧的运动状态为相比于上一帧视频帧运动。
[0113]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0114]
根据本发明实施例的另一个方面,还提供了一种用于实施上述视频去噪方法的视频去噪装置。如图7所示,该装置包括:
[0115]
第一获取单元702,用于获取第一视频帧和第二视频帧,其中,第一视频帧为待去
噪的视频帧,第二视频帧为视频中第一视频帧的前一帧视频帧;
[0116]
第一确定单元704,用于确定第一视频帧和第二视频帧中目标像素点的像素差值,以确定出第一视频帧的目标运动参数,其中,目标运动参数用于指示第一视频帧的运动状态,目标像素点包括第一视频帧与第二视频帧中,位置相同的多个像素点;
[0117]
第一滤波单元706,用于在目标运动参数指示第一视频帧的运动状态为相对于第二视频帧静止的情况下,对第一视频帧执行时域滤波操作,得到第一目标视频帧;将第一目标视频帧确定为第一视频帧去噪后的视频帧;
[0118]
第二滤波单元708,用于在目标运动参数指示第一视频帧的运动状态为相对于第二视频帧运动的情况下,对第一视频帧执行空域滤波操作,得到第二目标视频帧;将第二目标视频帧确定为第一视频帧去噪后的视频帧。
[0119]
本实施例的其他示例请参见上述示例,在此不再赘述。
[0120]
根据本发明实施例的又一个方面,还提供了一种用于实施上述视频去噪方法的电子设备,该电子设备可以是图8所示的终端设备或服务器。本实施例以该电子设备为终端为例来说明。如图8所示,该电子设备包括存储器802和处理器804,该存储器802中存储有计算机程序,该处理器804被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
[0121]
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
[0122]
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
[0123]
获取第一视频帧和第二视频帧,其中,第一视频帧为待去噪的视频帧,第二视频帧为视频中第一视频帧的前一帧视频帧;
[0124]
确定第一视频帧和第二视频帧中目标像素点的像素差值,以确定出第一视频帧的目标运动参数,其中,目标运动参数用于指示第一视频帧的运动状态,目标像素点包括第一视频帧与第二视频帧中,位置相同的多个像素点;
[0125]
在目标运动参数指示第一视频帧的运动状态为相对于第二视频帧静止的情况下,对第一视频帧执行时域滤波操作,得到第一目标视频帧;将第一目标视频帧确定为第一视频帧去噪后的视频帧;
[0126]
在目标运动参数指示第一视频帧的运动状态为相对于第二视频帧运动的情况下,对第一视频帧执行空域滤波操作,得到第二目标视频帧;将第二目标视频帧确定为第一视频帧去噪后的视频帧。
[0127]
可选地,本领域普通技术人员可以理解,图8所示的结构仅为示意,电子装置电子设备也可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobile internet devices,mid)、pad等终端设备。图8其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图8中所示更多或者更少的组件(如网络接口等),或者具有与图8所示不同的配置。
[0128]
其中,存储器802可用于存储软件程序以及模块,如本发明实施例中的视频去噪方法和装置对应的程序指令/模块,处理器804通过运行存储在存储器802内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的视频去噪方法。存储器802可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器802可进一步包括相对于处理器804远
程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器802具体可以但不限于用于显示去噪结果等信息。作为一种示例,如图8所示,上述存储器802中可以但不限于包括上述视频去噪装置中的第一获取单元702、第一确定单元704、第一滤波单元706和第二滤波单元708。此外,还可以包括但不限于上述视频去噪装置中的其他模块单元,本示例中不再赘述。
[0129]
可选地,上述的传输装置806用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置806包括一个网络适配器(network interface controller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置806为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
[0130]
此外,上述电子设备还包括:显示器808,用于显示上述待处理的订单信息;和连接总线810,用于连接上述电子设备中的各个模块部件。
[0131]
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(p2p,peer to peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
[0132]
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
[0133]
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
[0134]
获取第一视频帧和第二视频帧,其中,第一视频帧为待去噪的视频帧,第二视频帧为视频中第一视频帧的前一帧视频帧;
[0135]
确定第一视频帧和第二视频帧中目标像素点的像素差值,以确定出第一视频帧的目标运动参数,其中,目标运动参数用于指示第一视频帧的运动状态,目标像素点包括第一视频帧与第二视频帧中,位置相同的多个像素点;
[0136]
在目标运动参数指示第一视频帧的运动状态为相对于第二视频帧静止的情况下,对第一视频帧执行时域滤波操作,得到第一目标视频帧;将第一目标视频帧确定为第一视频帧去噪后的视频帧;
[0137]
在目标运动参数指示第一视频帧的运动状态为相对于第二视频帧运动的情况下,对第一视频帧执行空域滤波操作,得到第二目标视频帧;将第二目标视频帧确定为第一视频帧去噪后的视频帧。
[0138]
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
[0139]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0140]
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
[0141]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0142]
在本技术所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0143]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0144]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0145]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1