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

文档序号:35532940发布日期:2023-09-21 15:44阅读:47来源:国知局
本发明涉及视频去噪处理领域,具体涉及一种视频去噪方法、装置。
背景技术
::1、数字图像(视频)在传输过程不可避免的会受到噪声干扰,而且噪声的位置是随机的,这就导致视频序列在帧与帧之间有噪声扰动,导致视觉效果不佳,因此对视频去噪是很有必要的。2、目前的视频去噪算法主要有三类,一类是运动补偿的去噪方法;一类是运动自适应的去噪方法;一类是空域变换域结合的方法,例如bm4d,vbm3d等。3、传统的技术方案存在以下弊端:4、就运动补偿的去噪方法来说,其要在参考帧中找到和当前帧待去噪像素点最相似的位置作为运动补偿向量,但运动补偿向量是否准确依赖于搜索范围,而搜索范围加大会增加资源消耗和计算量。5、就运动自适应的去噪方法来说,其要通过区域的运动幅度来调整两帧之间对应像素的权重,若去噪强度大,则会在运动物体上产生伪影;若去噪强度小,则去噪效果不理想。6、对于空域变换域结合的方法来说,其计算量和资源消耗非常大,很难做到实时处理,可能影响视频图像的正常传输速度。技术实现思路1、基于上述现状,本发明的主要目的在于提供一种视频去噪方法、装置,能够同时实现去噪精度高且资源消耗低的技术效果。2、为实现上述目的,本发明采用的技术方案如下:3、第一方面,本发明提供了一种视频去噪的方法,包括步骤:4、s100:输入参考帧和待去噪的当前帧的图像数据;5、还包括以下步骤:6、s200:对所述当前帧中的各待去噪像素采用sad算法计算其所在窗口内的每个像素与参考帧中对应像素的第一相似度sad值、以及所述待去噪像素与参考帧对应像素的第二相似度sad_value0值;7、s300:将当前帧中的每一所述待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域,所述初步划分通过将所述待去噪像素对应的sad_value0值分别与第一预设阈值、第二预设阈值相比较,当sad_value0值大于第二预设阈值时,相应像素被初步划分为属于运动区域;当sad_value0值小于第一预设阈值时,相应像素被初步划分为属于静止区域;否则,相应像素被初步划分为属于过渡区域;8、s400:对初步划分出的静止区域、过渡区域和运动区域进行校正,得到校正后的静止区域、过渡区域和运动区域,所述校正的方式为对各所述待去噪像素所在窗口内的每个像素对应的sad值分别与第一预设阈值、第二预设阈值相比较,当该窗口内的某个像素对应的sad值大于第二预设阈值时,判定该像素为运动像素;当该窗口内的某个像素对应的sad值小于第一预设阈值时,判定该像素为静止像素;否则,判定该像素为过渡像素;在所述待去噪像素被初步划分为属于运动区域、但所在窗口内的静止像素数量高于第一预定比值时,将所述待去噪像素校正为属于过渡区域;在所述待去噪像素被初步划分为属于静止区域,但所在窗口内的运动像素数量高于第二预定比值时,将所述待去噪像素校正为属于过渡区域;9、s500:针对当前帧中的属于静止区域的各待去噪像素采用运动自适应的去噪方法、对属于过渡区域的各待去噪像素采用运动自适应和运动补偿相结合的去噪方法、对属于运动区域的待去噪像素采用运动补偿的去噪方法分别进行去噪。10、优选地,所述步骤s200中,将所述窗口选为m像素*m像素,所述m为奇数,各所述待去噪像素为其所在的窗口内最中心的像素,通过以下公式(1)-(2)分别计算所述sad值和所述sad_value0值:11、12、其中,src和ref分别代表当前帧和参考帧中像素的亮度值;abs代表取绝对值操作;j和i分别代表待去噪像素在当前帧内行和列的索引;j1和i1分别代表该窗口内的一个像素相对于当前待去噪像素的偏移量,取值为【-n,n】内的整数,n为(m-1)/2;k取值为区间【-1,1】内的整数,表示以当前像素为中心,向左列和向右列各扩展一个像素;13、14、其中,table1是预先设置的m*m权重表。15、优选地,在所述步骤s200之后和步骤s300之前还包括步骤s210:16、确定在参考帧的对应窗口中与当前帧中的当前待去噪像素相似度最高的像素的坐标位置,将所述坐标位置处的像素的亮度值用于所述运动自适应和运动补偿相结合的去噪方法,和/或所述运动补偿的去噪方法中;17、在步骤s210中:通过以下公式(3)-(4)计算出所述坐标位置(best_j,best_i):18、19、comp_dist0,(best_j,best_i)=min(sad_comp(j1+n,i1+n))          (4)20、通过公式(3)得到的sad_comp(j1+n,i1+n)代表参考帧在对应窗口中的每个像素与当前帧中的当前待去噪像素的相似度;21、公式(4)中,comp_dist0代表最小值;min代表取最小值的操作,通过对所有sad_comp(j1+n,i1+n)中取到其中的最小值,确定出参考帧的对应窗口中与当前帧中的当前待去噪像素相似度最高的像素的坐标位置(best_j,best_i)。22、优选地,在所述步骤s210之后和步骤s300之前还包括步骤s220:对每一所述待去噪像素根据其所在窗口内各像素的亮度进行亮度补偿,得到亮度补偿后的值sad_value1和comp_dist1;23、所述步骤s300中,将每一所述待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域时,采用亮度补偿后的值sad_value1代替sad_value0,将sad_value1值分别与第一预设阈值、第二预设阈值相比较;24、所述步骤s220中,通过以下公式(5)-(6)计算出所述sad_value1值:25、26、sad_value1=sad_value0*luma_comp[mean]/sum_table  (6)27、通过以下公式(7)计算出所述comp_dist1值:28、comp_dist1=comp_dist0*luma_comp[mean]  (7)29、其中,mean是当前帧中待去噪像素所在的窗口内所有像素的亮度值的均值,luma_comp是亮度补偿系数数组,sum_table是预先设置的m*m权重表table1的表中各数值的和。30、优选地,在所述步骤s220之后和步骤s300之前还包括步骤s230:对各所述待去噪像素先进行边缘检测,根据边缘检测的结果对其sad_value1和comp_dist1进行补偿,得到补偿后的值sad_value2和comp_dist2;31、所述步骤s300中,将当前帧的待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域时,采用补偿后的值sad_value2分别与第一预设阈值、第二预设阈值相比较;32、所述步骤s230中,通过以下公式(8)对各待去噪像素进行边缘检测,得到其边缘值edge:33、34、sobel是用于求像素边缘的m*m的索贝尔算子;35、在计算边缘补偿后的值sad_value2和comp_dist2之前,根据edge的计算结果,先判定所述待去噪像素是否位于平坦区域或是纹理区域,如果edge小于平坦区域阈值,判定所述待去噪像素位于平坦区域;如果edge大于纹理区域阈值,判定所述待去噪像素位于纹理区域;其中,纹理区域阈值大于平坦区域阈值;36、对位于平坦区域的所述待去噪像素sad_value1和comp_dist1分别增加平坦区域补偿值进行补偿,对位于纹理区域的待去噪像素的sad_value1和comp_dist1分别减去纹理区域补偿值进行补偿。37、优选地,在所述步骤s400和步骤s500之间还包括步骤s410:对各所述待去噪像素确定去噪权重值,所述去噪权重值用在步骤s500中的运动自适应的去噪方法、运动自适应和运动补偿相结合的去噪方法、运动补偿的去噪方法中;38、所述步骤s410中,选取权重曲线table2,所述待去噪像素的去噪权重值由公式(9)、(10)计算得到:39、40、41、其中,weight_cur和weight_ref分别表示在运动自适应算法中,当前帧中的待去噪像素的去噪权重值和参考帧中的对应像素的去噪权重值;42、weight_cur_comp和weight_ref_comp分别表示在运动补偿算法中,当前帧中的待去噪像素的去噪权重值和参考帧中的对应像素的去噪权重值;43、所述步骤s500中,对于属于静止区域的待去噪像素、属于运动区域的待去噪像素和属于过渡区域的待去噪像素,分别采用以下公式(11)、(12)、(13)来进行去噪:44、dst(j,i)=src(j,i)*weight_cur+ref(j,i)*weight_ref  (11)45、dst(j,i)=src(j,i)*weight_cur_comp+ref(best_j,best_i)*weight_ref_comp(12)46、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)47、其中,dst(j,i)是所述待去噪像素被去噪后的输出亮度值。48、第二方面,本发明提供了一种视频去噪装置,包括图像输入模块,所述图像输入模块用于输入参考帧和待去噪的当前帧的图像数据,还包括相似度计算模块、动静评估模块、动静校正模块和去噪模块;49、所述相似度计算模块用于对所述当前帧中的各待去噪像素采用sad算法计算其所在窗口内的每个像素与参考帧中对应像素的第一相似度sad值、以及所述待去噪像素与参考帧对应像素的第二相似度sad_value0值;50、所述动静评估模块用于将当前帧中的每一所述待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域,所述初步划分通过将所述待去噪像素对应的sad_value0值分别与第一预设阈值、第二预设阈值相比较,当sad_value0值大于第二预设阈值时,相应像素被初步划分为属于运动区域;当sad_value0值小于第一预设阈值时,相应像素被初步划分为属于静止区域;否则,相应像素被初步划分为属于过渡区域;51、所述动静校正模块用于对初步划分出的静止区域、过渡区域和运动区域进行校正,得到校正后的静止区域、过渡区域和运动区域,所述校正的方式为对各所述待去噪像素所在窗口内的每个像素对应的sad值分别与第一预设阈值、第二预设阈值相比较,当该窗口内的某个像素对应的sad值大于第二预设阈值时,判定该像素为运动像素;当该窗口内的某个像素对应的sad值小于第一预设阈值时,判定该像素为静止像素;否则,判定该像素为过渡像素;在所述待去噪像素被初步划分为属于运动区域、但所在窗口内的静止像素数量高于第一预定比值时,将所述待去噪像素校正为属于过渡区域;在所述待去噪像素被初步划分为属于静止区域,但所在窗口内的运动像素数量高于第二预定比值时,将所述待去噪像素校正为属于过渡区域;52、所述去噪模块用于针对当前帧中的属于静止区域的各待去噪像素采用运动自适应的去噪方法、对属于过渡区域的各待去噪像素采用运动自适应和运动补偿相结合的去噪方法、对属于运动区域的待去噪像素采用运动补偿的去噪方法分别进行去噪。53、优选地,所述相似度计算模块对所述当前帧中的各待去噪像素采用sad算法计算其所在窗口内的每个像素与参考帧中对应像素的第一相似度sad值、以及所述待去噪像素与参考帧对应像素的第二相似度sad_value0值时,将所述窗口选为m像素*m像素,所述m为奇数,各所述待去噪像素为其所在的窗口内最中心的像素,通过以下公式(1)-(2)分别计算所述sad值和所述sad_value0值:54、55、其中,src和ref分别代表当前帧和参考帧中像素的亮度值;abs代表取绝对值操作;j和i分别代表待去噪像素在当前帧内行和列的索引;j1和i1分别代表该窗口内的一个像素相对于当前待去噪像素的偏移量,取值为【-n,n】内的整数,n为(m-1)/2;k取值为区间【-1,1】内的整数,表示以当前像素为中心,向左列和向右列各扩展一个像素;56、57、其中,table1是预先设置的m*m权重表。58、优选地,所述装置还包括运动补偿模块,所述运动补偿模块用于确定在参考帧的对应窗口中与当前帧中的当前待去噪像素相似度最高的像素的坐标位置,将所述坐标位置处的像素的亮度值用于所述运动自适应和运动补偿相结合的去噪方法,和/或所述运动补偿的去噪方法中;59、所述运动补偿模块通过以下公式(3)-(4)计算出所述坐标位置(best_j,best_i):60、61、comp_dist0,(best_j,best_i)=min(sad_comp(j1+n,i1+n))          (4)62、通过公式(3)得到的sad_comp(j1+n,i1+n)代表参考帧在对应窗口中的每个像素与当前帧中的当前待去噪像素的相似度;63、公式(4)中,comp_dist0代表最小值;min代表取最小值的操作,通过对所有sad_comp(j1+n,i1+n)中取到其中的最小值,确定出参考帧的对应窗口中与当前帧中的当前待去噪像素相似度最高的像素的坐标位置(best_j,best_i)。64、优选地,所述装置还包括亮度补偿模块,所述亮度补偿模块用于对每一所述待去噪像素根据其所在窗口内各像素的亮度进行亮度补偿,得到亮度补偿后的值sad_value1和comp_dist1;65、所述动静评估模块将所述待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域时,采用亮度补偿后的值sad_value1代替sad_value0,将sad_value1值分别与第一预设阈值、第二预设阈值相比较;66、所述亮度补偿模块通过以下公式(5)-(6)计算出所述sad_value1值:67、68、sad_value1=sad_value0*luma_comp[mean]/sum_table  (6)69、通过以下公式(7)计算出所述comp_dist1值:70、comp_dist1=comp_dist0*luma_comp[mean]  (7)71、其中,mean是当前帧中的待去噪像素所在的窗口内所有像素的亮度值的均值,luma_comp是亮度补偿系数数组,sum_table是预先设置的m*m权重表table1的表中各数值的和。72、优选地,所述装置还包括边缘补偿模块,所述边缘补偿模块用于对各所述待去噪像素先进行边缘检测,根据边缘检测的结果对其sad_value1和comp_dist1进行补偿,得到补偿后的值sad_value2和comp_dist2;73、所述动静评估模块将当前帧的待去噪像素各自初步划分为属于静止区域、过渡区域,或属于运动区域时,采用边缘补偿后的值sad_value2分别与第一预设阈值、第二预设阈值相比较;74、所述边缘补偿模块通过以下公式(8)对各待去噪像素进行边缘检测,得到其边缘值edge:75、76、sobel是用于求像素边缘的m*m的索贝尔算子;77、所述边缘补偿模块在在计算边缘补偿后的值sad_value2和comp_dist2之前,根据edge的计算结果,先判定所述待去噪像素是否位于平坦区域或是纹理区域,如果edge小于平坦区域阈值,判定所述待去噪像素位于平坦区域;如果edge大于纹理区域阈值,判定所述待去噪像素位于纹理区域;其中,纹理区域阈值大于平坦区域阈值;78、对位于平坦区域的所述待去噪像素sad_value1和comp_dist1分别增加平坦区域补偿值进行补偿,对位于纹理区域的待去噪像素的sad_value1和comp_dist1分别减去纹理区域补偿值进行补偿。79、优选地,所述装置还包括去噪权重计算模块,所述去噪权重计算模块用于对各所述待去噪像素确定去噪权重值,所述去噪权重值用在步骤s500中的运动自适应的去噪方法、运动自适应和运动补偿相结合的去噪方法、运动补偿的去噪方法中;80、所述去噪权重计算模块在确定去噪权重值时,选取权重曲线table2,所述待去噪像素的去噪权重值由公式(9)、(10)计算得到:81、82、83、其中,weight_cur和weight_ref分别表示在运动自适应算法中,当前帧中的待去噪像素的去噪权重值和参考帧中的对应像素的去噪权重值;84、weight_cur_comp和weight_ref_comp分别表示在运动补偿算法中,当前帧中的待去噪像素的去噪权重值和参考帧中的对应像素的去噪权重值;85、所述去噪模块进行去噪时,对于属于静止区域的待去噪像素、属于运动区域的待去噪像素和属于过渡区域的待去噪像素,分别采用以下公式(11)、(12)、(13)来进行去噪:86、dst(j,i)=src(j,i)*weight_cur+ref(j,i)*weight_ref  (11)87、dst(j,i)=src(j,i)*weight_cur_comp+ref(best_j,best_i)*weight_ref_comp(12)88、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)89、其中,dst(j,i)是所述待去噪像素被去噪后的输出亮度值。90、第三方面,本发明提供了一种电子设备,包括:91、处理器;以及92、存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,能够实现如上所述的视频去噪的方法。93、第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于运行以实现如上所述的视频去噪的方法。94、本发明通过将当前帧的各个待去噪像素分别初步划分为属于静止区域、运动区域,还是过渡区域,继而通过校正前述初步划分的结果,使得静止区域、运动区域和过渡区域的划分更为精准,然后对静止像素采用运动自适应的方式进行去噪,对运动像素采用运动补偿的方式进行去噪,对过渡像素采用运动自适应和运动补偿相结合的去噪方式。本发明能够去除静止区域和过渡区域的像素扰动,对运动区域可以有效去噪且不产生伪影,且资源消耗低,在提升视觉显示效果的同时有效保证了视频的实时传输。95、本发明的其他有益效果,将在具体实施方式中通过具体技术特征和技术方案的介绍来阐述,本领域技术人员通过这些技术特征和技术方案的介绍,应能理解所述技术特征和技术方案带来的有益技术效果。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1