一种视频去噪方法、装置与流程

未命名 09-22 阅读:62 评论:0
1.本发明涉及视频去噪处理领域,具体涉及一种视频去噪方法、装置。
背景技术
::2.数字图像(视频)在传输过程不可避免的会受到噪声干扰,而且噪声的位置是随机的,这就导致视频序列在帧与帧之间有噪声扰动,导致视觉效果不佳,因此对视频去噪是很有必要的。3.目前的视频去噪算法主要有三类,一类是运动补偿的去噪方法;一类是运动自适应的去噪方法;一类是空域变换域结合的方法,例如bm4d,vbm3d等。4.传统的技术方案存在以下弊端:5.就运动补偿的去噪方法来说,其要在参考帧中找到和当前帧待去噪像素点最相似的位置作为运动补偿向量,但运动补偿向量是否准确依赖于搜索范围,而搜索范围加大会增加资源消耗和计算量。6.就运动自适应的去噪方法来说,其要通过区域的运动幅度来调整两帧之间对应像素的权重,若去噪强度大,则会在运动物体上产生伪影;若去噪强度小,则去噪效果不理想。7.对于空域变换域结合的方法来说,其计算量和资源消耗非常大,很难做到实时处理,可能影响视频图像的正常传输速度。技术实现要素:8.基于上述现状,本发明的主要目的在于提供一种视频去噪方法、装置,能够同时实现去噪精度高且资源消耗低的技术效果。9.为实现上述目的,本发明采用的技术方案如下:10.第一方面,本发明提供了一种视频去噪的方法,包括步骤:11.s100:输入参考帧和待去噪的当前帧的图像数据;12.还包括以下步骤:13.s200:对所述当前帧中的各待去噪像素采用sad算法计算其所在窗口内的每个像素与参考帧中对应像素的第一相似度sad值、以及所述待去噪像素与参考帧对应像素的第二相似度sad_value0值;14.s300:将当前帧中的每一所述待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域,所述初步划分通过将所述待去噪像素对应的sad_value0值分别与第一预设阈值、第二预设阈值相比较,当sad_value0值大于第二预设阈值时,相应像素被初步划分为属于运动区域;当sad_value0值小于第一预设阈值时,相应像素被初步划分为属于静止区域;否则,相应像素被初步划分为属于过渡区域;15.s400:对初步划分出的静止区域、过渡区域和运动区域进行校正,得到校正后的静止区域、过渡区域和运动区域,所述校正的方式为对各所述待去噪像素所在窗口内的每个像素对应的sad值分别与第一预设阈值、第二预设阈值相比较,当该窗口内的某个像素对应的sad值大于第二预设阈值时,判定该像素为运动像素;当该窗口内的某个像素对应的sad值小于第一预设阈值时,判定该像素为静止像素;否则,判定该像素为过渡像素;在所述待去噪像素被初步划分为属于运动区域、但所在窗口内的静止像素数量高于第一预定比值时,将所述待去噪像素校正为属于过渡区域;在所述待去噪像素被初步划分为属于静止区域,但所在窗口内的运动像素数量高于第二预定比值时,将所述待去噪像素校正为属于过渡区域;16.s500:针对当前帧中的属于静止区域的各待去噪像素采用运动自适应的去噪方法、对属于过渡区域的各待去噪像素采用运动自适应和运动补偿相结合的去噪方法、对属于运动区域的待去噪像素采用运动补偿的去噪方法分别进行去噪。17.优选地,所述步骤s200中,将所述窗口选为m像素*m像素,所述m为奇数,各所述待去噪像素为其所在的窗口内最中心的像素,通过以下公式(1)-(2)分别计算所述sad值和所述sad_value0值:[0018][0019]其中,src和ref分别代表当前帧和参考帧中像素的亮度值;abs代表取绝对值操作;j和i分别代表待去噪像素在当前帧内行和列的索引;j1和i1分别代表该窗口内的一个像素相对于当前待去噪像素的偏移量,取值为【-n,n】内的整数,n为(m-1)/2;k取值为区间【-1,1】内的整数,表示以当前像素为中心,向左列和向右列各扩展一个像素;[0020][0021]其中,table1是预先设置的m*m权重表。[0022]优选地,在所述步骤s200之后和步骤s300之前还包括步骤s210:[0023]确定在参考帧的对应窗口中与当前帧中的当前待去噪像素相似度最高的像素的坐标位置,将所述坐标位置处的像素的亮度值用于所述运动自适应和运动补偿相结合的去噪方法,和/或所述运动补偿的去噪方法中;[0024]在步骤s210中:通过以下公式(3)-(4)计算出所述坐标位置(best_j,best_i):[0025][0026]comp_dist0,(best_j,best_i)=min(sad_comp(j1+n,i1+n))ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(4)[0027]通过公式(3)得到的sad_comp(j1+n,i1+n)代表参考帧在对应窗口中的每个像素与当前帧中的当前待去噪像素的相似度;[0028]公式(4)中,comp_dist0代表最小值;min代表取最小值的操作,通过对所有sad_comp(j1+n,i1+n)中取到其中的最小值,确定出参考帧的对应窗口中与当前帧中的当前待去噪像素相似度最高的像素的坐标位置(best_j,best_i)。[0029]优选地,在所述步骤s210之后和步骤s300之前还包括步骤s220:对每一所述待去噪像素根据其所在窗口内各像素的亮度进行亮度补偿,得到亮度补偿后的值sad_value1和comp_dist1;[0030]所述步骤s300中,将每一所述待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域时,采用亮度补偿后的值sad_value1代替sad_value0,将sad_value1值分别与第一预设阈值、第二预设阈值相比较;[0031]所述步骤s220中,通过以下公式(5)-(6)计算出所述sad_value1值:[0032][0033]sad_value1=sad_value0*luma_comp[mean]/sum_tableꢀꢀ(6)[0034]通过以下公式(7)计算出所述comp_dist1值:[0035]comp_dist1=comp_dist0*luma_comp[mean]ꢀꢀ(7)[0036]其中,mean是当前帧中待去噪像素所在的窗口内所有像素的亮度值的均值,luma_comp是亮度补偿系数数组,sum_table是预先设置的m*m权重表table1的表中各数值的和。[0037]优选地,在所述步骤s220之后和步骤s300之前还包括步骤s230:对各所述待去噪像素先进行边缘检测,根据边缘检测的结果对其sad_value1和comp_dist1进行补偿,得到补偿后的值sad_value2和comp_dist2;[0038]所述步骤s300中,将当前帧的待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域时,采用补偿后的值sad_value2分别与第一预设阈值、第二预设阈值相比较;[0039]所述步骤s230中,通过以下公式(8)对各待去噪像素进行边缘检测,得到其边缘值edge:[0040][0041]sobel是用于求像素边缘的m*m的索贝尔算子;[0042]在计算边缘补偿后的值sad_value2和comp_dist2之前,根据edge的计算结果,先判定所述待去噪像素是否位于平坦区域或是纹理区域,如果edge小于平坦区域阈值,判定所述待去噪像素位于平坦区域;如果edge大于纹理区域阈值,判定所述待去噪像素位于纹理区域;其中,纹理区域阈值大于平坦区域阈值;[0043]对位于平坦区域的所述待去噪像素sad_value1和comp_dist1分别增加平坦区域补偿值进行补偿,对位于纹理区域的待去噪像素的sad_value1和comp_dist1分别减去纹理区域补偿值进行补偿。[0044]优选地,在所述步骤s400和步骤s500之间还包括步骤s410:对各所述待去噪像素确定去噪权重值,所述去噪权重值用在步骤s500中的运动自适应的去噪方法、运动自适应和运动补偿相结合的去噪方法、运动补偿的去噪方法中;[0045]所述步骤s410中,选取权重曲线table2,所述待去噪像素的去噪权重值由公式(9)、(10)计算得到:[0046][0047][0048]其中,weight_cur和weight_ref分别表示在运动自适应算法中,当前帧中的待去噪像素的去噪权重值和参考帧中的对应像素的去噪权重值;[0049]weight_cur_comp和weight_ref_comp分别表示在运动补偿算法中,当前帧中的待去噪像素的去噪权重值和参考帧中的对应像素的去噪权重值;[0050]所述步骤s500中,对于属于静止区域的待去噪像素、属于运动区域的待去噪像素和属于过渡区域的待去噪像素,分别采用以下公式(11)、(12)、(13)来进行去噪:[0051]dst(j,i)=src(j,i)*weight_cur+ref(j,i)*weight_refꢀꢀ(11)[0052]dst(j,i)=src(j,i)*weight_cur_comp+ref(best_j,best_i)*weight_ref_compꢀꢀ(12)[0053]dst(j,i)=(src(j,i)*weight_cur+ref(j,i)*weight_ref+src(j,i)*weight_cur_comp+ref(best_j,best_i)*weight_ref_comp)/2ꢀꢀ(13)[0054]其中,dst(j,i)是所述待去噪像素被去噪后的输出亮度值。[0055]第二方面,本发明提供了一种视频去噪装置,包括图像输入模块,所述图像输入模块用于输入参考帧和待去噪的当前帧的图像数据,还包括相似度计算模块、动静评估模块、动静校正模块和去噪模块;[0056]所述相似度计算模块用于对所述当前帧中的各待去噪像素采用sad算法计算其所在窗口内的每个像素与参考帧中对应像素的第一相似度sad值、以及所述待去噪像素与参考帧对应像素的第二相似度sad_value0值;[0057]所述动静评估模块用于将当前帧中的每一所述待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域,所述初步划分通过将所述待去噪像素对应的sad_value0值分别与第一预设阈值、第二预设阈值相比较,当sad_value0值大于第二预设阈值时,相应像素被初步划分为属于运动区域;当sad_value0值小于第一预设阈值时,相应像素被初步划分为属于静止区域;否则,相应像素被初步划分为属于过渡区域;[0058]所述动静校正模块用于对初步划分出的静止区域、过渡区域和运动区域进行校正,得到校正后的静止区域、过渡区域和运动区域,所述校正的方式为对各所述待去噪像素所在窗口内的每个像素对应的sad值分别与第一预设阈值、第二预设阈值相比较,当该窗口内的某个像素对应的sad值大于第二预设阈值时,判定该像素为运动像素;当该窗口内的某个像素对应的sad值小于第一预设阈值时,判定该像素为静止像素;否则,判定该像素为过渡像素;在所述待去噪像素被初步划分为属于运动区域、但所在窗口内的静止像素数量高于第一预定比值时,将所述待去噪像素校正为属于过渡区域;在所述待去噪像素被初步划分为属于静止区域,但所在窗口内的运动像素数量高于第二预定比值时,将所述待去噪像素校正为属于过渡区域;[0059]所述去噪模块用于针对当前帧中的属于静止区域的各待去噪像素采用运动自适应的去噪方法、对属于过渡区域的各待去噪像素采用运动自适应和运动补偿相结合的去噪方法、对属于运动区域的待去噪像素采用运动补偿的去噪方法分别进行去噪。[0060]优选地,所述相似度计算模块对所述当前帧中的各待去噪像素采用sad算法计算其所在窗口内的每个像素与参考帧中对应像素的第一相似度sad值、以及所述待去噪像素与参考帧对应像素的第二相似度sad_value0值时,将所述窗口选为m像素*m像素,所述m为奇数,各所述待去噪像素为其所在的窗口内最中心的像素,通过以下公式(1)-(2)分别计算所述sad值和所述sad_value0值:[0061][0062]其中,src和ref分别代表当前帧和参考帧中像素的亮度值;abs代表取绝对值操作;j和i分别代表待去噪像素在当前帧内行和列的索引;j1和i1分别代表该窗口内的一个像素相对于当前待去噪像素的偏移量,取值为【-n,n】内的整数,n为(m-1)/2;k取值为区间【-1,1】内的整数,表示以当前像素为中心,向左列和向右列各扩展一个像素;[0063][0064]其中,table1是预先设置的m*m权重表。[0065]优选地,所述装置还包括运动补偿模块,所述运动补偿模块用于确定在参考帧的对应窗口中与当前帧中的当前待去噪像素相似度最高的像素的坐标位置,将所述坐标位置处的像素的亮度值用于所述运动自适应和运动补偿相结合的去噪方法,和/或所述运动补偿的去噪方法中;[0066]所述运动补偿模块通过以下公式(3)-(4)计算出所述坐标位置(best_j,best_i):[0067][0068]comp_dist0,(best_j,best_i)=min(sad_comp(j1+n,i1+n))ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(4)[0069]通过公式(3)得到的sad_comp(j1+n,i1+n)代表参考帧在对应窗口中的每个像素与当前帧中的当前待去噪像素的相似度;[0070]公式(4)中,comp_dist0代表最小值;min代表取最小值的操作,通过对所有sad_comp(j1+n,i1+n)中取到其中的最小值,确定出参考帧的对应窗口中与当前帧中的当前待去噪像素相似度最高的像素的坐标位置(best_j,best_i)。[0071]优选地,所述装置还包括亮度补偿模块,所述亮度补偿模块用于对每一所述待去噪像素根据其所在窗口内各像素的亮度进行亮度补偿,得到亮度补偿后的值sad_value1和comp_dist1;[0072]所述动静评估模块将所述待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域时,采用亮度补偿后的值sad_value1代替sad_value0,将sad_value1值分别与第一预设阈值、第二预设阈值相比较;[0073]所述亮度补偿模块通过以下公式(5)-(6)计算出所述sad_value1值:[0074][0075]sad_value1=sad_value0*luma_comp[mean]/sum_tableꢀꢀ(6)[0076]通过以下公式(7)计算出所述comp_dist1值:[0077]comp_dist1=comp_dist0*luma_comp[mean]ꢀꢀ(7)[0078]其中,mean是当前帧中的待去噪像素所在的窗口内所有像素的亮度值的均值,luma_comp是亮度补偿系数数组,sum_table是预先设置的m*m权重表table1的表中各数值的和。[0079]优选地,所述装置还包括边缘补偿模块,所述边缘补偿模块用于对各所述待去噪像素先进行边缘检测,根据边缘检测的结果对其sad_value1和comp_dist1进行补偿,得到补偿后的值sad_value2和comp_dist2;[0080]所述动静评估模块将当前帧的待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域时,采用边缘补偿后的值sad_value2分别与第一预设阈值、第二预设阈值相比较;[0081]所述边缘补偿模块通过以下公式(8)对各待去噪像素进行边缘检测,得到其边缘值edge:[0082][0083]sobel是用于求像素边缘的m*m的索贝尔算子;[0084]所述边缘补偿模块在在计算边缘补偿后的值sad_value2和comp_dist2之前,根据edge的计算结果,先判定所述待去噪像素是否位于平坦区域或是纹理区域,如果edge小于平坦区域阈值,判定所述待去噪像素位于平坦区域;如果edge大于纹理区域阈值,判定所述待去噪像素位于纹理区域;其中,纹理区域阈值大于平坦区域阈值;[0085]对位于平坦区域的所述待去噪像素sad_value1和comp_dist1分别增加平坦区域补偿值进行补偿,对位于纹理区域的待去噪像素的sad_value1和comp_dist1分别减去纹理区域补偿值进行补偿。[0086]优选地,所述装置还包括去噪权重计算模块,所述去噪权重计算模块用于对各所述待去噪像素确定去噪权重值,所述去噪权重值用在步骤s500中的运动自适应的去噪方法、运动自适应和运动补偿相结合的去噪方法、运动补偿的去噪方法中;[0087]所述去噪权重计算模块在确定去噪权重值时,选取权重曲线table2,所述待去噪像素的去噪权重值由公式(9)、(10)计算得到:[0088][0089][0090]其中,weight_cur和weight_ref分别表示在运动自适应算法中,当前帧中的待去噪像素的去噪权重值和参考帧中的对应像素的去噪权重值;[0091]weight_cur_comp和weight_ref_comp分别表示在运动补偿算法中,当前帧中的待去噪像素的去噪权重值和参考帧中的对应像素的去噪权重值;[0092]所述去噪模块进行去噪时,对于属于静止区域的待去噪像素、属于运动区域的待去噪像素和属于过渡区域的待去噪像素,分别采用以下公式(11)、(12)、(13)来进行去噪:[0093]dst(j,i)=src(j,i)*weight_cur+ref(j,i)*weight_refꢀꢀ(11)[0094]dst(j,i)=src(j,i)*weight_cur_comp+ref(best_j,best_i)*weight_ref_compꢀꢀ(12)[0095]dst(j,i)=(src(j,i)*weight_cur+ref(j,i)*weight_ref+src(j,i)*weight_cur_comp+ref(best_j,best_i)*weight_ref_comp)/2ꢀꢀ(13)[0096]其中,dst(j,i)是所述待去噪像素被去噪后的输出亮度值。[0097]第三方面,本发明提供了一种电子设备,包括:[0098]处理器;以及[0099]存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,能够实现如上所述的视频去噪的方法。[0100]第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于运行以实现如上所述的视频去噪的方法。[0101]本发明通过将当前帧的各个待去噪像素分别初步划分为属于静止区域、运动区域,还是过渡区域,继而通过校正前述初步划分的结果,使得静止区域、运动区域和过渡区域的划分更为精准,然后对静止像素采用运动自适应的方式进行去噪,对运动像素采用运动补偿的方式进行去噪,对过渡像素采用运动自适应和运动补偿相结合的去噪方式。本发明能够去除静止区域和过渡区域的像素扰动,对运动区域可以有效去噪且不产生伪影,且资源消耗低,在提升视觉显示效果的同时有效保证了视频的实时传输。[0102]本发明的其他有益效果,将在具体实施方式中通过具体技术特征和技术方案的介绍来阐述,本领域技术人员通过这些技术特征和技术方案的介绍,应能理解所述技术特征和技术方案带来的有益技术效果。附图说明[0103]以下将参照附图对本发明的优选实施方式进行描述。图中:[0104]图1为本发明所提供的视频去噪方法的一种优选实施方式的流程图;[0105]图2为本发明所提供的视频去噪方法的另一种优选实施方式的流程图;[0106]图3为本发明所提供的视频去噪装置的一种优选实施方式的系统图;[0107]图4为本发明所提供的视频去噪装置的另一种优选实施方式的系统图;[0108]图5为本发明所提供的权重曲线table2的一种优选实施方式的示意图。具体实施方式[0109]以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分,为了避免混淆本发明的实质,公知的方法、过程、流程、元件并没有详细叙述。[0110]此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。[0111]除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。[0112]在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。[0113]说明:本发明适用于灰度图像视频的去噪,视频的每一帧图像中,像素值都只有y值(y值表示亮度值),而没有u值和v值(u值和v值都表示饱和度)。[0114]第一方面,参见附图1,本发明提供了一种视频去噪的方法,包括步骤:[0115]s100:输入参考帧和待去噪的当前帧的图像数据;[0116]还包括以下步骤:[0117]s200:对所述当前帧中的各待去噪像素采用sad算法计算其所在窗口内的每个像素与参考帧中对应像素的第一相似度sad值、以及所述待去噪像素与参考帧对应像素的第二相似度sad_value0值;[0118]s300:将当前帧中的每一所述待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域,所述初步划分通过将所述待去噪像素对应的sad_value0值分别与第一预设阈值、第二预设阈值相比较,当sad_value0值大于第二预设阈值时,相应像素被初步划分为属于运动区域;当sad_value0值小于第一预设阈值时,相应像素被初步划分为属于静止区域;否则,相应像素被初步划分为属于过渡区域;[0119]s400:对初步划分出的静止区域、过渡区域和运动区域进行校正,得到校正后的静止区域、过渡区域和运动区域,所述校正的方式为对各所述待去噪像素所在窗口内的每个像素对应的sad值分别与第一预设阈值、第二预设阈值相比较,当该窗口内的某个像素对应的sad值大于第二预设阈值时,判定该像素为运动像素;当该窗口内的某个像素对应的sad值小于第一预设阈值时,判定该像素为静止像素;否则,判定该像素为过渡像素;在所述待去噪像素被初步划分为属于运动区域、但所在窗口内的静止像素数量高于第一预定比值时,将所述待去噪像素校正为属于过渡区域;在所述待去噪像素被初步划分为属于静止区域,但所在窗口内的运动像素数量高于第二预定比值时,将所述待去噪像素校正为属于过渡区域;[0120]s500:针对当前帧中的属于静止区域的各待去噪像素采用运动自适应的去噪方法、对属于过渡区域的各待去噪像素采用运动自适应和运动补偿相结合的去噪方法、对属于运动区域的待去噪像素采用运动补偿的去噪方法分别进行去噪。[0121]具体地,图像输入模块的输入图像是视频中的连续两帧图像,当前帧指的是待去噪图像帧,上一帧是参考帧(参考帧通常为上一帧图像帧完成去噪后得来)。[0122]在步骤s200中,可以采用现有技术中存在的sad算法,也可以采用下文中本发明改进后的sad算法。本领域技术人员可以理解地,对当前帧中的每个待去噪像素,在计算方式支持的前提下,都要去计算其与参考帧中每个对应像素之间的相似度。[0123]本发明在用sad算法时,将每帧图像划分为多个窗口,每个窗口中有一个待去噪像素。将每个待去噪像素所在的窗口选为m像素*m像素,该窗口内一共有m*m个像素,所述m为奇数,所述待去噪像素为所述窗口内最中心的像素。[0124]在步骤s300中,初步划分某个待去噪像素是属于静止区域、过渡区域,还是属于运动区域时,可设置运动阈值,即第一预设阈值motion_th1和第二预设阈值motion_th2,且motion_th1小于motion_th2,具体可由公式(x)得到:[0125][0126]motion_flag为是否运动的标志位,motion_flag为0,代表该待去噪像素为静止,即被初步划分为属于静止区域;motion_flag为2,代表该待去噪像素被初步划分为属于运动区域;motion_flag为1,代表该待去噪像素被初步划分为属于过渡区域。[0127]承接上文所述的每个待去噪像素所在的窗口内共有m*m个像素,在一个具体的示例中,将m取为5。在步骤s400中,将步骤s300划分出的静止区域、过渡区域和运动区域进行校正以得到校正后的静止区域、过渡区域和运动区域时,所述校正的方式为对将当前帧的待去噪像素所在窗口内的每个像素的sad值分别与第一预设阈值motion_th1、第二预设阈值motion_th2相比较,也就是将25个sad值分别与第一预设阈值motion_th1、第二预设阈值motion_th2相比较,当该5*5的窗口内的某个像素的sad值大于第二预设阈值motion_th2时,判定该像素为运动像素;当该窗口内的某个像素的sad值小于第一预设阈值motion_th1时,判定该像素为静止像素;否则,判定该像素为过渡像素。[0128]如果当前帧该窗口内的待去噪像素被初步划分为属于运动区域,但该窗口内的静止像素数量高于第一预定比值时,将所述待去噪像素由属于所述运动区域校正为属于过渡区域。第一预定比值可以根据实际情况来针对性的选取,在一个具体的示例中,可以在窗口为5*5时,将第一预定比值设为60%,也就是说,在该窗口内所有25个像素中,共有超过60%的像素被判定为静止像素时,即使该窗口的中心像素(即待去噪像素)被动静评估模块初步划分为属于运动区域,那么也要将该待去噪像素由属于运动区域校正为属于过渡区域。[0129]在当前帧的待去噪像素被初步划分为属于静止区域,但所在窗口内的运动像素数量高于第二预定比值时,将该待去噪像素由属于所述静止区域校正为属于过渡区域,第二预定比值可以根据实际情况来针对性的选取。[0130]在步骤s400之后进行步骤s500,步骤s500用以针对属于静止区域的待去噪像素采用运动自适应的去噪方法、对属于过渡区域的待去噪像素采用运动自适应和运动补偿相结合的去噪方法、对属于运动区域的待去噪像素采用运动补偿的去噪方法分别进行去噪以得到去噪后图像,并可以将该去噪后的图像作为下一帧待去噪图像的参考帧。此时,可以采用现有技术中的运动自适应的去噪方法、运动自适应和运动补偿相结合的去噪方法、运动补偿的去噪方法,也可以采用下文提及的经过本发明改进后的运动自适应的去噪方法、运动自适应和运动补偿相结合的去噪方法、运动补偿的去噪方法。[0131]本发明通过将当前帧的每个窗口内的待去噪像素分别初步划分为属于静止区域、运动区域,还是过渡区域,继而通过校正前述初步划分的结果,使得每个待去噪像素属于静止区域、运动区域或过渡区域的划分更为精准,然后对静止像素采用运动自适应的方式进行去噪,对运动像素采用运动补偿的方式进行去噪,对过渡像素采用运动自适应和运动补偿相结合的去噪方式。本发明能够精确划分静止区域、运动区域和过渡区域,去除静止区域和过渡区域的像素扰动,对运动区域可以有效去噪且不产生伪影,且资源消耗低,在提升视觉显示效果的同时有效保证了视频的实时传输。[0132]优选地,所述步骤s200中,将所述窗口选为m像素*m像素,所述m为奇数,各所述待去噪像素为其所在所述窗口内最中心的像素,通过以下公式(1)-(2)分别计算所述sad值和所述sad_value0值:[0133][0134]其中,src和ref分别代表当前帧和参考帧中像素的亮度值;abs代表取绝对值操作;j和i分别代表待去噪像素在当前帧内行和列的索引;j1和i1分别代表该窗口内的一个像素相对于当前待去噪像素的偏移量,取值为【-n,n】内的整数,n为(m-1)/2;k取值为区间【-1,1】内的整数,表示以当前像素为中心,向左列和向右列各扩展一个像素;如src(j+j1,i+i1+k)代表当前帧第j+j1行、第i+i1+k列的像素的亮度值,ref(j+j1,i+i1+k)代表参考帧第j+j1行、第i+i1+k列的像素的亮度值。[0135][0136]其中,table1是预先设置的m*m权重表。[0137]具体地,本发明在采用sad算法计算相似度时,将每个窗口选为m像素*m像素,即行共有m行,列共有m列,每个窗口内共有m*m个像素,且设置所述m为奇数。每个所述待去噪像素都是每个相应窗口内最中心的那个像素点。[0138]将n值取为(m-1)/2,用在sad算法具体的计算过程中。[0139]计算时,对该m像素*m像素的窗口内每一个像素,都会计算一个sad值,即,最终对每个窗口计算完毕后,获得m*m个sad值。为了进一步提高精度,兼顾降低对计算资源的消耗,在对该窗口内每个像素的sad值计算中,均以该像素为中心、向左列和向右列各扩展一个像素,由此计算出窗口内每个像素的sad值为sad(j1+n,i1+n),也就是说,虽然本发明在相似度计算时,将每个窗口选为m像素*m像素,但由于前述扩展,对一个窗口内的像素进行计算sad值时,实际上参与计算的区域有m行、m+2列。[0140]在通过上述公式(1)算出每个窗口内的m*m个sad值、即m*m个sad(j1+n,i1+n)之后,通过公式(2)算出当前待去噪像素与参考帧对应位置处的那个像素的相似度sad_value0,公式(2)是通过权重把第一相似度加权得到第二相似度:[0141][0142]在一个具体的示例中,m可选为5,此时,n=2,公式(1)即为:[0143][0144]公式(2)即为:[0145][0146]此时,本领域技术人员可以理解地,由于每帧图像的前两行和后两行、前三列和后三列中的每个像素,无法以其为最中心的像素去扩展到能够有5行和7列大小的区域参与运算,即计算方式不支持,故这些像素不参与相似度计算,也不参与后续任何计算,本发明对这些像素不做去噪处理。由于实际应用中,每帧图像的像素总数通常是极为可观的,即使以上这些像素不被去噪处理,也不会明显影响到整帧图像最终去噪后的视觉效果。[0147]table1可根据实际应用情况进行选取,在一个具体的示例中,table1可选取为:[0148][0149]通过如上table1的选取,能够突出了当前待去噪像素点的权重,而且通过将乘法操作利用移位操作实现,有效降低了计算时的资源消耗。[0150]优选地,参见附图2,在所述步骤s200之后和步骤s300之前还包括步骤s210:[0151]确定在参考帧的对应窗口中与当前帧中的当前待去噪像素相似度最高的像素的坐标位置,将所述坐标位置处的像素的亮度值用于所述运动自适应和运动补偿相结合的去噪方法,和/或所述运动补偿的去噪方法中;[0152]在步骤s210中:通过以下公式(3)-(4)计算出所述坐标位置(best_j,best_i):[0153][0154]comp_dist0,(best_j,best_i)=min(sad_comp(j1+n,i1+n))ꢀꢀꢀꢀꢀ(4)[0155]通过公式(3)得到的sad_comp(j1+n,i1+n)代表参考帧在对应窗口中的每个像素与当前帧中的当前待去噪像素的相似度;[0156]公式(4)中,comp_dist0代表最小值;min代表取最小值的操作,通过对所有sad_comp(j1+n,i1+n)中取到其中的最小值,确定出参考帧的对应窗口中与当前帧中的当前待去噪像素相似度最高的像素的坐标位置(best_j,best_i)。[0157]承接上文m=5的示例,具体可由公式(3’)-(4’)计算出参考帧的对应窗口中与当前帧中的当前待去噪像素相似度最高的像素的坐标位置:[0158][0159]comp_dist0,(best_j,best_i)=min(sad_comp(j1+2,i1+2))ꢀꢀꢀ(4’)[0160]具体来说,通过上述公式(3’)进行计算,以得到25个sad_comp(j1+2,i1+2),其含义代表参考帧在该5*5的对应窗口内的每个像素与当前帧中的当前待去噪像素点的相似度;在上述公式(4’)中,min代表取最小值的操作,comp_dist0代表最小值,通过对计算出的25个sad_comp(j1+2,i1+2)找到那个最小值,就可以确定参考帧的对应窗口中与当前帧中的当前待去噪像素相似度最高的像素的坐标位置,即确定出best_j和best_i。[0161]上述坐标位置处的像素的亮度值可用于下文所介绍的所述运动自适应和运动补偿相结合的去噪方法,和/或所述运动补偿的去噪方法中。[0162]优选地,在所述步骤s210之后和步骤s300之前还包括步骤s220:对每一所述待去噪像素根据其所在窗口内各像素的亮度进行亮度补偿,得到亮度补偿后的值sad_value1和comp_dist1(参见附图2);[0163]所述步骤s300中,将每一所述待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域时,采用亮度补偿后的值sad_value1代替sad_value0,将sad_value1值分别与第一预设阈值、第二预设阈值相比较;[0164]所述步骤s220中,通过以下公式(5)-(6)计算出所述sad_value1值:[0165][0166]sad_value1=sad_value0*luma_comp[mean]/sum_tableꢀꢀ(6)[0167]通过以下公式(7)计算出所述comp_dist1值:[0168]comp_dist1=comp_dist0*luma_comp[mean]ꢀꢀ(7)[0169]其中,mean是当前帧中的待去噪像素所在的窗口内所有像素的亮度值的均值,luma_comp是亮度补偿系数数组,sum_table是预先设置的m*m权重表table1的表中各数值的和。[0170]具体地,为了进一步提高计算精度,对上述计算出的sad_value0和comp_dist0做亮度补偿。在m=5的一个具体示例中,进行亮度补偿的具体方式是将5*5区域内的所有25个像素的亮度值均值作为当前待去噪像素点的亮度值,并根据亮度补偿系数进行亮度补偿(本领域技术人员可以理解地,对不同位置处的待去噪像素,亮度补偿系数可能不同,是要根据实际情况选取相应的亮度补偿系数的),具体的计算公式见下(5’)、(6’)和(7’)。[0171][0172]sad_value1=sad_value0*luma_comp[mean]/sum_tableꢀꢀ(6’)[0173]comp_dist1=comp_dist0*luma_comp[mean]ꢀꢀ(7’)[0174]sum_table作为预先设置的m*m权重表table1的表中各数值的和,目的是对sad_value0做归一化,将sad_value0归一化到和comp_dist0统一水平。[0175]优选地,参见附图2,在所述步骤s220之后和步骤s300之前还包括步骤s230:对各所述待去噪像素先进行边缘检测,根据边缘检测的结果对其sad_value1和comp_dist1进行补偿,得到补偿后的值sad_value2和comp_dist2;[0176]所述步骤s300中,将当前帧的待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域时,采用补偿后的值sad_value2分别与第一预设阈值、第二预设阈值相比较;[0177]所述步骤s230中,通过以下公式(8)对各待去噪像素进行边缘检测,得到其边缘值edge:[0178][0179]sobel是用于求像素边缘的m*m的索贝尔算子;[0180]在计算边缘补偿后的值sad_value2和comp_dist2之前,根据edge的计算结果,先判定所述待去噪像素是否位于平坦区域或是纹理区域,如果edge小于平坦区域阈值,判定所述待去噪像素位于平坦区域;如果edge大于纹理区域阈值,判定所述待去噪像素位于纹理区域;其中,纹理区域阈值大于平坦区域阈值;[0181]对位于平坦区域的所述待去噪像素sad_value1和comp_dist1分别增加平坦区域补偿值进行补偿,对位于纹理区域的待去噪像素的sad_value1和comp_dist1分别减去纹理区域补偿值进行补偿。[0182]即,通过以下计算公式(y)和(z)得到边缘补偿后的值sad_value2和comp_dist2:[0183][0184][0185]其中,smooth_th为平坦区域阈值;texture_th为纹理区域阈值;smooth_v为平坦区域补偿值;texture_v为纹理区域补偿值。各阈值和补偿值的具体数值可根据实际情况选取确定。[0186]具体地,可以用索贝尔算子,拉普拉斯算子计算当前待去噪像素的边缘edge,在示例中,以采用索贝尔算子计算edge为例,因为当前待去噪像素所在的窗口为5像素*5像素的窗口,故索贝尔算子也需要是5*5的算子,具体可由公式(8’)得到当前待去噪像素的边缘值edge:[0187][0188]此时,sobel是在m=5的示例中,5*5的索贝尔算子。[0189]优选地,在所述步骤s400和步骤s500之间还包括步骤s410:对各所述待去噪像素确定去噪权重值,所述去噪权重值用在步骤s500中的运动自适应的去噪方法、运动自适应和运动补偿相结合的去噪方法、运动补偿的去噪方法中;[0190]所述步骤s410中,选取权重曲线table2(table2的一个示例见附图5),所述待去噪像素的去噪权重值由公式(9)、(10)计算得到:[0191][0192][0193]其中,weight_cur和weight_ref分别表示在运动自适应算法中,当前帧中的待去噪像素的去噪权重值和参考帧中的对应像素的去噪权重值;[0194]weight_cur_comp和weight_ref_comp分别表示在运动补偿算法中,当前帧中的待去噪像素的去噪权重值和参考帧中的对应像素的去噪权重值。[0195]对公式(10)和(11)而言,在sad_value2、comp_dist2已经确定后,可以以其为横坐标值,查看table2的曲线对应该横坐标值的点所对应的纵坐标值,就可以确定weight_cur和weight_cur_comp。[0196]所述步骤s500中,对于属于静止区域的待去噪像素、属于运动区域的待去噪像素和属于过渡区域的待去噪像素,分别采用以下公式(11)、(12)、(13)来进行去噪:[0197]dst(j,i)=src(j,i)*weight_cur+ref(j,i)*weight_refꢀꢀ(11)[0198]dst(j,i)=src(j,i)*weight_cur_comp+ref(best_j,best_i)*weight_ref_compꢀꢀ(12)[0199]dst(j,i)=(src(j,i)*weight_cur+ref(j,i)*weight_ref+src(j,i)*weight_cur_comp+ref(best_j,best_i)*weight_ref_comp)/2ꢀꢀ(13)[0200]其中,dst(j,i)是所述待去噪像素被去噪后的输出亮度值。[0201]优选地,对于权重曲线table2,在待去噪像素的sad_value2相对较小时,所述待去噪像素对应的去噪权重值相对较小;当sad_value2相对较大时,所述待去噪像素对应的去噪权重值相对较大。[0202]由此,可以提高计算精度,并达到去除帧间扰动、抑制伪影等技术效果。[0203]本发明通过对图像进行背景检测并对不同区域做不同的去噪处理,可以在去噪的同时去除帧间扰动,并且抑制伪影;通过进行亮度补偿,边缘补偿以及膨胀腐蚀可以提高背景检测的准确率,并且算法整体计算复杂度低,资源消耗少,可以达到实时处理。[0204]第二方面,参见附图3,本发明还提供了一种视频去噪装置,包括图像输入模块,所述图像输入模块用于输入参考帧和待去噪的当前帧的图像数据,还包括相似度计算模块、动静评估模块、动静校正模块和去噪模块;[0205]所述相似度计算模块用于对所述当前帧中的各待去噪像素采用sad算法计算其所在窗口内的每个像素与参考帧中对应像素的第一相似度sad值、以及所述待去噪像素与参考帧对应像素的第二相似度sad_value0值;[0206]所述动静评估模块用于将当前帧中的每一所述待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域,所述初步划分通过将所述待去噪像素对应的sad_value0值分别与第一预设阈值、第二预设阈值相比较,当sad_value0值大于第二预设阈值时,相应像素被初步划分为属于运动区域;当sad_value0值小于第一预设阈值时,相应像素被初步划分为属于静止区域;否则,相应像素被初步划分为属于过渡区域;[0207]所述动静校正模块用于对初步划分出的静止区域、过渡区域和运动区域进行校正,得到校正后的静止区域、过渡区域和运动区域,所述校正的方式为对各所述待去噪像素所在窗口内的每个像素对应的sad值分别与第一预设阈值、第二预设阈值相比较,当该窗口内的某个像素对应的sad值大于第二预设阈值时,判定该像素为运动像素;当该窗口内的某个像素对应的sad值小于第一预设阈值时,判定该像素为静止像素;否则,判定该像素为过渡像素;在所述待去噪像素被初步划分为属于运动区域、但所在窗口内的静止像素数量高于第一预定比值时,将所述待去噪像素校正为属于过渡区域;在所述待去噪像素被初步划分为属于静止区域,但所在窗口内的运动像素数量高于第二预定比值时,将所述待去噪像素校正为属于过渡区域;[0208]所述去噪模块用于针对当前帧中的属于静止区域的各待去噪像素采用运动自适应的去噪方法、对属于过渡区域的各待去噪像素采用运动自适应和运动补偿相结合的去噪方法、对属于运动区域的待去噪像素采用运动补偿的去噪方法分别进行去噪。[0209]优选地,所述相似度计算模块对所述当前帧中的各待去噪像素采用sad算法计算其所在窗口内的每个像素与参考帧中对应像素的第一相似度sad值、以及所述待去噪像素与参考帧对应像素的第二相似度sad_value0值时,将所述窗口选为m像素*m像素,所述m为奇数,各所述待去噪像素为其所在所述窗口内最中心的像素,通过以下公式(1)-(2)分别计算所述sad值和所述sad_value0值:[0210][0211]其中,src和ref分别代表当前帧和参考帧中像素的亮度值;abs代表取绝对值操作;j和i分别代表待去噪像素在当前帧内行和列的索引;j1和i1分别代表该窗口内的一个像素相对于当前待去噪像素的偏移量,取值为【-n,n】内的整数,n为(m-1)/2;k取值为区间【-1,1】内的整数,表示以当前像素为中心,向左列和向右列各扩展一个像素;[0212][0213]其中,table1是预先设置的m*m权重表。[0214]优选地,参见附图4,所述装置还包括运动补偿模块,所述运动补偿模块用于确定在参考帧的对应窗口中与当前帧中的当前待去噪像素相似度最高的像素的坐标位置,将所述坐标位置处的像素的亮度值用于所述运动自适应和运动补偿相结合的去噪方法,和/或所述运动补偿的去噪方法中;[0215]所述运动补偿模块通过以下公式(3)-(4)计算出所述坐标位置(best_j,best_i):[0216][0217]comp_dist0,(best_j,best_i)=min(sad_comp(j1+n,i1+n))ꢀꢀꢀꢀꢀꢀꢀꢀꢀ(4)[0218]通过公式(3)得到的sad_comp(j1+n,i1+n)代表参考帧在对应窗口中的每个像素与当前帧中的当前待去噪像素的相似度;[0219]公式(4)中,comp_dist0代表最小值;min代表取最小值的操作,通过对所有sad_comp(j1+n,i1+n)中取到其中的最小值,确定出参考帧的对应窗口中与当前帧中的当前待去噪像素相似度最高的像素的坐标位置(best_j,best_i)。[0220]优选地,参见附图4,所述装置还包括亮度补偿模块,所述亮度补偿模块用于对每一所述待去噪像素根据其所在窗口内各像素的亮度进行亮度补偿,得到亮度补偿后的值sad_value1和comp_dist1;[0221]所述动静评估模块将所述待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域时,采用亮度补偿后的值sad_value1代替sad_value0,将sad_value1值分别与第一预设阈值、第二预设阈值相比较;[0222]所述亮度补偿模块通过以下公式(5)-(6)计算出所述sad_value1值:[0223][0224]sad_value1=sad_value0*luma_comp[mean]/sum_tableꢀꢀ(6)[0225]通过以下公式(7)计算出所述comp_dist1值:[0226]comp_dist1=comp_dist0*luma_comp[mean]ꢀꢀ(7)[0227]其中,mean是当前帧中的待去噪像素所在的窗口内所有像素的亮度值的均值,luma_comp是亮度补偿系数数组,sum_table是预先设置的m*m权重表table1的表中各数值的和。[0228]优选地,参见附图4,所述装置还包括边缘补偿模块,所述边缘补偿模块用于对各所述待去噪像素先进行边缘检测,根据边缘检测的结果对其sad_value1和comp_dist1进行补偿,得到补偿后的值sad_value2和comp_dist2;[0229]所述动静评估模块将当前帧的待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域时,采用边缘补偿后的值sad_value2分别与第一预设阈值、第二预设阈值相比较;[0230]所述边缘补偿模块通过以下公式(8)对各待去噪像素进行边缘检测,得到其边缘值edge:[0231][0232]sobel是用于求像素边缘的m*m的索贝尔算子;[0233]所述边缘补偿模块在在计算边缘补偿后的值sad_value2和comp_dist2之前,根据edge的计算结果,先判定所述待去噪像素是否位于平坦区域或是纹理区域,如果edge小于平坦区域阈值,判定所述待去噪像素位于平坦区域;如果edge大于纹理区域阈值,判定所述待去噪像素位于纹理区域;其中,纹理区域阈值大于平坦区域阈值;[0234]对位于平坦区域的所述待去噪像素sad_value1和comp_dist1分别增加平坦区域补偿值进行补偿,对位于纹理区域的待去噪像素的sad_value1和comp_dist1分别减去纹理区域补偿值进行补偿。[0235]优选地,参见附图4,所述装置还包括去噪权重计算模块,所述去噪权重计算模块用于对各所述待去噪像素确定去噪权重值,所述去噪权重值用在步骤s500中的运动自适应的去噪方法、运动自适应和运动补偿相结合的去噪方法、运动补偿的去噪方法中;[0236]所述去噪权重计算模块在确定去噪权重值时,选取权重曲线table2,所述待去噪像素的去噪权重值由公式(9)、(10)计算得到:[0237][0238][0239]其中,weight_cur和weight_ref分别表示在运动自适应算法中,当前帧中的待去噪像素的去噪权重值和参考帧中的对应像素的去噪权重值;[0240]weight_cur_comp和weight_ref_comp分别表示在运动补偿算法中,当前帧中的待去噪像素的去噪权重值和参考帧中的对应像素的去噪权重值;[0241]所述去噪模块进行去噪时,对于属于静止区域的待去噪像素、属于运动区域的待去噪像素和属于过渡区域的待去噪像素,分别采用以下公式(11)、(12)、(13)来进行去噪:[0242]dst(j,i)=src(j,i)*weight_cur+ref(j,i)*weight_refꢀꢀ(11)[0243]dst(j,i)=src(j,i)*weight_cur_comp+ref(best_j,best_i)*weight_ref_compꢀꢀ(12)[0244]dst(j,i)=(src(j,i)*weight_cur+ref(j,i)*weight_ref+src(j,i)*weight_cur_comp+ref(best_j,best_i)*weight_ref_comp)/2ꢀꢀ(13)[0245]其中,dst(j,i)是所述待去噪像素被去噪后的输出亮度值。[0246]本发明提供的视频去噪装置,能够很好地实施上文所述的视频去噪方法,以达到去噪精度高且资源消耗低的技术效果。[0247]第三方面,本发明还提供了一种电子设备,包括:[0248]处理器;以及[0249]存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,能够实现如上所述的视频去噪的方法。[0250]第四方面,本发明还提供了计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序用于运行以实现如上所述的视频去噪的方法。[0251]本领域的技术人员能够理解的是,在不冲突的前提下,上述各优选方案可以自由地组合、叠加。[0252]应当理解,上述的实施方式仅是示例性的,而非限制性的,在不偏离本发明的基本原理的情况下,本领域的技术人员可以针对上述细节做出的各种明显的或等同的修改或替换,都将包含于本发明的权利要求范围内。当前第1页12当前第1页12
技术特征:
1.一种视频去噪的方法,其特征在于,包括步骤:s100:输入参考帧和待去噪的当前帧的图像数据;还包括以下步骤:s200:对所述当前帧中的各待去噪像素采用sad算法计算其所在窗口内的每个像素与参考帧中对应像素的第一相似度sad值、以及所述待去噪像素与参考帧对应像素的第二相似度sad_value0值;s300:将当前帧中的每一所述待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域,所述初步划分通过将所述待去噪像素对应的sad_value0值分别与第一预设阈值、第二预设阈值相比较,当sad_value0值大于第二预设阈值时,相应像素被初步划分为属于运动区域;当sad_value0值小于第一预设阈值时,相应像素被初步划分为属于静止区域;否则,相应像素被初步划分为属于过渡区域;s400:对初步划分出的静止区域、过渡区域和运动区域进行校正,得到校正后的静止区域、过渡区域和运动区域,所述校正的方式为对各所述待去噪像素所在窗口内的每个像素对应的sad值分别与第一预设阈值、第二预设阈值相比较,当该窗口内的某个像素对应的sad值大于第二预设阈值时,判定该像素为运动像素;当该窗口内的某个像素对应的sad值小于第一预设阈值时,判定该像素为静止像素;否则,判定该像素为过渡像素;在所述待去噪像素被初步划分为属于运动区域、但所在窗口内的静止像素数量高于第一预定比值时,将所述待去噪像素校正为属于过渡区域;在所述待去噪像素被初步划分为属于静止区域,但所在窗口内的运动像素数量高于第二预定比值时,将所述待去噪像素校正为属于过渡区域;s500:针对当前帧中的属于静止区域的各待去噪像素采用运动自适应的去噪方法、对属于过渡区域的各待去噪像素采用运动自适应和运动补偿相结合的去噪方法、对属于运动区域的待去噪像素采用运动补偿的去噪方法分别进行去噪。2.根据权利要求1所述的方法,其特征在于,所述步骤s200中,将所述窗口选为m像素*m像素,所述m为奇数,各所述待去噪像素为其所在的窗口内最中心的像素,通过以下公式(1)-(2)分别计算所述sad值和所述sad_value0值:其中,src和ref分别代表当前帧和参考帧中像素的亮度值;abs代表取绝对值操作;j和i分别代表待去噪像素在当前帧内行和列的索引;j1和i1分别代表该窗口内的一个像素相对于当前待去噪像素的偏移量,取值为【-n,n】内的整数,n为(m-1)/2;k取值为区间【-1,1】内的整数,表示以当前像素为中心,向左列和向右列各扩展一个像素;其中,table1是预先设置的m*m权重表。3.根据权利要求2所述的方法,其特征在于,在所述步骤s200之后和步骤s300之前还包括步骤s210:
确定在参考帧的对应窗口中与当前帧中的当前待去噪像素相似度最高的像素的坐标位置,将所述坐标位置处的像素的亮度值用于所述运动自适应和运动补偿相结合的去噪方法,和/或所述运动补偿的去噪方法中;在步骤s210中:通过以下公式(3)-(4)计算出所述坐标位置(best_j,best_i):comp_dist0,(best_j,best_i)=min(sad_comp(j1+n,i1+n))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)通过公式(3)得到的sad_comp(j1+n,i1+n)代表参考帧在对应窗口中的每个像素与当前帧中的当前待去噪像素的相似度;公式(4)中,comp_dist0代表最小值;min代表取最小值的操作,通过对所有sad_comp(j1+n,i1+n)中取到其中的最小值,确定出参考帧的对应窗口中与当前帧中的当前待去噪像素相似度最高的像素的坐标位置(best_j,best_i)。4.根据权利要求3所述的方法,其特征在于,在所述步骤s210之后和步骤s300之前还包括步骤s220:对每一所述待去噪像素根据其所在窗口内各像素的亮度进行亮度补偿,得到亮度补偿后的值sad_value1和comp_dist1;所述步骤s300中,将每一所述待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域时,采用亮度补偿后的值sad_value1代替sad_value0,将sad_value1值分别与第一预设阈值、第二预设阈值相比较;所述步骤s220中,通过以下公式(5)-(6)计算出所述sad_value1值:sad_value1=sad_value0*luma_comp[mean]/sum_table
ꢀꢀ
(6)通过以下公式(7)计算出所述comp_dist1值:comp_dist1=comp_dist0*luma_comp[mean]
ꢀꢀꢀꢀ
(7)其中,mean是当前帧中待去噪像素所在的窗口内所有像素的亮度值的均值,luma_comp是亮度补偿系数数组,sum_table是预先设置的m*m权重表table1的表中各数值的和。5.根据权利要求4所述的方法,其特征在于,在所述步骤s220之后和步骤s300之前还包括步骤s230:对各所述待去噪像素先进行边缘检测,根据边缘检测的结果对其sad_value1和comp_dist1进行补偿,得到补偿后的值sad_value2和comp_dist2;所述步骤s300中,将当前帧的待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域时,采用补偿后的值sad_value2分别与第一预设阈值、第二预设阈值相比较;所述步骤s230中,通过以下公式(8)对各待去噪像素进行边缘检测,得到其边缘值edge:sobel是用于求像素边缘的m*m的索贝尔算子;在计算边缘补偿后的值sad_value2和comp_dist2之前,根据edge的计算结果,先判定
所述待去噪像素是否位于平坦区域或是纹理区域,如果edge小于平坦区域阈值,判定所述待去噪像素位于平坦区域;如果edge大于纹理区域阈值,判定所述待去噪像素位于纹理区域;其中,纹理区域阈值大于平坦区域阈值;对位于平坦区域的所述待去噪像素sad_value1和comp_dist1分别增加平坦区域补偿值进行补偿,对位于纹理区域的待去噪像素的sad_value1和comp_dist1分别减去纹理区域补偿值进行补偿。6.根据权利要求5所述的方法,其特征在于,在所述步骤s400和步骤s500之间还包括步骤s410:对各所述待去噪像素确定去噪权重值,所述去噪权重值用在步骤s500中的运动自适应的去噪方法、运动自适应和运动补偿相结合的去噪方法、运动补偿的去噪方法中;所述步骤s410中,选取权重曲线table2,所述待去噪像素的去噪权重值由公式(9)、(10)计算得到:(10)计算得到:其中,weight_cur和weight_ref分别表示在运动自适应算法中,当前帧中的待去噪像素的去噪权重值和参考帧中的对应像素的去噪权重值;weight_cur_comp和weight_ref_comp分别表示在运动补偿算法中,当前帧中的待去噪像素的去噪权重值和参考帧中的对应像素的去噪权重值;所述步骤s500中,对于属于静止区域的待去噪像素、属于运动区域的待去噪像素和属于过渡区域的待去噪像素,分别采用以下公式(11)、(12)、(13)来进行去噪:dst(j,i)=src(j,i)*weight_cur+ref(j,i)*weight_ref
ꢀꢀ
(11)dst(j,i)=src(j,i)*weight_cur_comp+ref(best_j,best_i)*weight_ref_comp
ꢀꢀꢀꢀ
(12)dst(j,i)=(src(j,i)*weight_cur+ref(j,i)*weight_ref+src(j,i)*weight_cur_comp+ref(best_j,best_i)*weight_ref_comp)/2
ꢀꢀꢀ
(13)其中,dst(j,i)是所述待去噪像素被去噪后的输出亮度值。7.一种视频去噪装置,包括图像输入模块,所述图像输入模块用于输入参考帧和待去噪的当前帧的图像数据,其特征在于,还包括相似度计算模块、动静评估模块、动静校正模块和去噪模块;所述相似度计算模块用于对所述当前帧中的各待去噪像素采用sad算法计算其所在窗口内的每个像素与参考帧中对应像素的第一相似度sad值、以及所述待去噪像素与参考帧对应像素的第二相似度sad_value0值;所述动静评估模块用于将当前帧中的每一所述待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域,所述初步划分通过将所述待去噪像素对应的sad_value0值分别与第一预设阈值、第二预设阈值相比较,当sad_value0值大于第二预设阈值时,相应像素被初步划分为属于运动区域;当sad_value0值小于第一预设阈值时,相应像素被初步划分为属于静止区域;否则,相应像素被初步划分为属于过渡区域;所述动静校正模块用于对初步划分出的静止区域、过渡区域和运动区域进行校正,得
到校正后的静止区域、过渡区域和运动区域,所述校正的方式为对各所述待去噪像素所在窗口内的每个像素对应的sad值分别与第一预设阈值、第二预设阈值相比较,当该窗口内的某个像素对应的sad值大于第二预设阈值时,判定该像素为运动像素;当该窗口内的某个像素对应的sad值小于第一预设阈值时,判定该像素为静止像素;否则,判定该像素为过渡像素;在所述待去噪像素被初步划分为属于运动区域、但所在窗口内的静止像素数量高于第一预定比值时,将所述待去噪像素校正为属于过渡区域;在所述待去噪像素被初步划分为属于静止区域,但所在窗口内的运动像素数量高于第二预定比值时,将所述待去噪像素校正为属于过渡区域;所述去噪模块用于针对当前帧中的属于静止区域的各待去噪像素采用运动自适应的去噪方法、对属于过渡区域的各待去噪像素采用运动自适应和运动补偿相结合的去噪方法、对属于运动区域的待去噪像素采用运动补偿的去噪方法分别进行去噪。8.根据权利要求7所述的装置,其特征在于,所述相似度计算模块对所述当前帧中的各待去噪像素采用sad算法计算其所在窗口内的每个像素与参考帧中对应像素的第一相似度sad值、以及所述待去噪像素与参考帧对应像素的第二相似度sad_value0值时,将所述窗口选为m像素*m像素,所述m为奇数,各所述待去噪像素为其所在的窗口内最中心的像素,通过以下公式(1)-(2)分别计算所述sad值和所述sad_value0值:其中,src和ref分别代表当前帧和参考帧中像素的亮度值;abs代表取绝对值操作;j和i分别代表待去噪像素在当前帧内行和列的索引;j1和i1分别代表该窗口内的一个像素相对于当前待去噪像素的偏移量,取值为【-n,n】内的整数,n为(m-1)/2;k取值为区间【-1,1】内的整数,表示以当前像素为中心,向左列和向右列各扩展一个像素;其中,table1是预先设置的m*m权重表。9.根据权利要求8所述的装置,其特征在于,所述装置还包括运动补偿模块,所述运动补偿模块用于确定在参考帧的对应窗口中与当前帧中的当前待去噪像素相似度最高的像素的坐标位置,将所述坐标位置处的像素的亮度值用于所述运动自适应和运动补偿相结合的去噪方法,和/或所述运动补偿的去噪方法中;所述运动补偿模块通过以下公式(3)-(4)计算出所述坐标位置(best_j,best_i):comp_dist0,(best_j,best_i)=min(sad_comp(j1+n,i1+n))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)通过公式(3)得到的sad_comp(j1+n,i1+n)代表参考帧在对应窗口中的每个像素与当前帧中的当前待去噪像素的相似度;公式(4)中,comp_dist0代表最小值;min代表取最小值的操作,通过对所有sad_comp
(j1+n,i1+n)中取到其中的最小值,确定出参考帧的对应窗口中与当前帧中的当前待去噪像素相似度最高的像素的坐标位置(best_j,best_i)。10.根据权利要求9所述的装置,其特征在于,所述装置还包括亮度补偿模块,所述亮度补偿模块用于对每一所述待去噪像素根据其所在窗口内各像素的亮度进行亮度补偿,得到亮度补偿后的值sad_value1和comp_dist1;所述动静评估模块将所述待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域时,采用亮度补偿后的值sad_value1代替sad_value0,将sad_value1值分别与第一预设阈值、第二预设阈值相比较;所述亮度补偿模块通过以下公式(5)-(6)计算出所述sad_value1值:sad_value1=sad_value0*luma_comp[mean]/sum_table
ꢀꢀ
(6)通过以下公式(7)计算出所述comp_dist1值:comp_dist1=comp_dist0*luma_comp[mean]
ꢀꢀ
(7)其中,mean是当前帧中的待去噪像素所在的窗口内所有像素的亮度值的均值,luma_comp是亮度补偿系数数组,sum_table是预先设置的m*m权重表table1的表中各数值的和。11.根据权利要求10所述的装置,其特征在于,所述装置还包括边缘补偿模块,所述边缘补偿模块用于对各所述待去噪像素先进行边缘检测,根据边缘检测的结果对其sad_value1和comp_dist1进行补偿,得到补偿后的值sad_value2和comp_dist2;所述动静评估模块将当前帧的待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域时,采用边缘补偿后的值sad_value2分别与第一预设阈值、第二预设阈值相比较;所述边缘补偿模块通过以下公式(8)对各待去噪像素进行边缘检测,得到其边缘值edge:sobel是用于求像素边缘的m*m的索贝尔算子;所述边缘补偿模块在在计算边缘补偿后的值sad_value2和comp_dist2之前,根据edge的计算结果,先判定所述待去噪像素是否位于平坦区域或是纹理区域,如果edge小于平坦区域阈值,判定所述待去噪像素位于平坦区域;如果edge大于纹理区域阈值,判定所述待去噪像素位于纹理区域;其中,纹理区域阈值大于平坦区域阈值;对位于平坦区域的所述待去噪像素sad_value1和comp_dist1分别增加平坦区域补偿值进行补偿,对位于纹理区域的待去噪像素的sad_value1和comp_dist1分别减去纹理区域补偿值进行补偿。12.根据权利要求10所述的装置,其特征在于,所述装置还包括去噪权重计算模块,所述去噪权重计算模块用于对各所述待去噪像素确定去噪权重值,所述去噪权重值用在步骤s500中的运动自适应的去噪方法、运动自适应和运动补偿相结合的去噪方法、运动补偿的
去噪方法中;所述去噪权重计算模块在确定去噪权重值时,选取权重曲线table2,所述待去噪像素的去噪权重值由公式(9)、(10)计算得到:的去噪权重值由公式(9)、(10)计算得到:其中,weight_cur和weight_ref分别表示在运动自适应算法中,当前帧中的待去噪像素的去噪权重值和参考帧中的对应像素的去噪权重值;weight_cur_comp和weight_ref_comp分别表示在运动补偿算法中,当前帧中的待去噪像素的去噪权重值和参考帧中的对应像素的去噪权重值;所述去噪模块进行去噪时,对于属于静止区域的待去噪像素、属于运动区域的待去噪像素和属于过渡区域的待去噪像素,分别采用以下公式(11)、(12)、(13)来进行去噪:dst(j,i)=src(j,i)*weight_cur+ref(j,i)*weight_ref
ꢀꢀ
(11)dst(j,i)=src(j,i)*weight_cur_comp+ref(best_j,best_i)*weight_ref_comp
ꢀꢀꢀ
(12)dst(j,i)=(src(j,i)*weight_cur+ref(j,i)*weight_ref+src(j,i)*weight_cur_comp+ref(best_j,best_i)*weight_ref_comp)/2
ꢀꢀꢀ
(13)其中,dst(j,i)是所述待去噪像素被去噪后的输出亮度值。13.一种电子设备,其特征在于,包括:处理器;以及存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,能够实现如权利要求1至6任一项所述的视频去噪的方法。14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序用于运行以实现如权利要求1至6任一项所述的视频去噪的方法。

技术总结
本发明涉及一种视频去噪的方法、装置,所述方法包括步骤:S100:输入参考帧和待去噪的当前帧的图像数据;S200:对当前帧中的各待去噪像素采用SAD算法计算其所在窗口内的每个像素与参考帧中对应像素的第一相似度SAD值、以及待去噪像素与参考帧对应像素的第二相似度SAD_value0值;S300:将当前帧中的每一待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域;S400:对初步划分出的静止区域、过渡区域和运动区域进行校正,S500:针对当前帧中的属于静止区域、属于过渡区域、属于运动区域的各待去噪像素分别采用运动自适应、运动自适应和运动补偿相结合、采用运动补偿的去噪方法分别进行去噪。本发明能够实现去噪精度高且资源消耗低的技术效果。高且资源消耗低的技术效果。高且资源消耗低的技术效果。


技术研发人员:杨远飞 徐会
受保护的技术使用者:珠海市杰理科技股份有限公司
技术研发日:2022.10.11
技术公布日:2023/9/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐