CN114666583B - 一种基于时空域滤波的视频编码前处理方法 - Google Patents

一种基于时空域滤波的视频编码前处理方法 Download PDF

Info

Publication number
CN114666583B
CN114666583B CN202210248447.5A CN202210248447A CN114666583B CN 114666583 B CN114666583 B CN 114666583B CN 202210248447 A CN202210248447 A CN 202210248447A CN 114666583 B CN114666583 B CN 114666583B
Authority
CN
China
Prior art keywords
pixel
filtering
result
frame
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210248447.5A
Other languages
English (en)
Other versions
CN114666583A (zh
Inventor
梁凡
梁文锟
邱鸿鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN202210248447.5A priority Critical patent/CN114666583B/zh
Publication of CN114666583A publication Critical patent/CN114666583A/zh
Application granted granted Critical
Publication of CN114666583B publication Critical patent/CN114666583B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种基于时空域滤波的视频编码前处理方法,方法包括:获取原始视频源数据;对所述原始视频源数据进行时域滤波处理,得到时域滤波结果;对所述时域滤波结果进行空域滤波处理,得到时空域滤波结果;根据所述时空域滤波结果进行视频编码处理,得到原始视频的二进制码流。本发明的滤波方式多样,结合了时域和空域滤波器,计算结果精确、耗时短且质量高,可广泛应用于图像处理技术领域。

Description

一种基于时空域滤波的视频编码前处理方法
技术领域
本发明涉及图像处理技术领域,尤其是一种基于时空域滤波的视频编码前处理方法。
背景技术
随着视频编码技术的发展,提高视频编码压缩效率成为当下的技术研究热点。
在目前滤波前处理算法中,主要存在以下问题:
当前编码前滤波算法只使用了时域滤波,当视频场景切换迅速或者其他时域相关性较弱时,通过临近帧进行时域滤波不能达到很好的滤波效果。
当前编码前时域滤波的权重值计算方法不够精确,不能充分根据实际滤波情况自适应调整。
当前编码前滤波算法不方便估测噪声水平且滤波帧质量较低。
发明内容
有鉴于此,本发明实施例提供一种计算结果精确且质量高的,基于时空域滤波的视频编码前处理方法。
本发明的一方面提供了一种基于时空域滤波的视频编码前处理方法,包括:
获取原始视频源数据;
对所述原始视频源数据进行时域滤波处理,得到时域滤波结果;
对所述时域滤波结果进行空域滤波处理,得到时空域滤波结果;
其中,所述时空域滤波结果用于视频编码处理,得到滤波后视频的二进制码流。
可选地,所述对所述原始视频源数据进行时域滤波处理,得到时域滤波结果,包括:
配置参考帧;
对所述原始视频源数据进行两次降采样处理,确定降采样后各个坐标处的像素值;
根据所述参考帧和所述降采样后各个坐标处的像素值,执行四次运动搜索,获取运动搜索的结果;
根据滤波帧中各个像素以及所述运动搜索的结果进行加权处理,得到时域滤波结果。
可选地,所述配置参考帧,包括:
将顺序计数为8的倍数的非I帧确定为需要应用滤波的目标帧;
在原始视频源数据中找到本次滤波所需的第一目标帧并保存下来;
根据所述第一目标帧的前后4帧信息,确定时域滤波参考帧;
将所述第一目标帧的前后4帧的画面进行保存。
可选地,所述对所述原始视频源数据进行两次降采样处理,确定降采样后各个坐标处的像素值,包括:
通过四个同位的像素求平均得到一个位置的像素,得到一次降采样操作的结果;
其中,经过降采样后坐标为(x,y)处的像素值I(x,y)计算公式为:
I(x,y)=(I0(2x,2y)+I0(2x+1,2y)+I0(2x,2y+1)+I0(2x+1,2y+1)+2)>>2
其中,I0(2x,2y)为降采样前坐标为(2x,2y)的像素值。
可选地,所述根据所述参考帧和所述降采样后各个坐标处的像素值,执行四次运动搜索,获取运动搜索的结果,包括:
在第一次运动搜索中,以15像素作为搜索范围从参考帧中的同位处开始搜索,逐次计算每个块与当前块中各像素的误差平方和,在搜索范围中误差平方和最小的匹配块为搜索结果,将此时的运动矢量保存下来,作为最优的运动矢量;其中,所述误差平方和的计算公式为:
Figure BDA0003545847020000021
其中,SSE代表所述误差平方和;I(x,y)是参考帧中匹配块坐标为(x,y)的像素值,I0(x,y)是当前块坐标为(x,y)的像素值;
在第二次运动搜索中,将上一层同位块的运动矢量的x、y分量的±2范围内确定一个最优的运动矢量,作为本次运动搜索的起点,根据所述起点,遍历计算搜索范围内的块的误差平方和,确定最优的运动矢量;
在第三次运动搜索中,将上一层同位块的运动矢量的x、y分量的±2范围内确定一个最优的运动矢量,作为本次运动搜索的起点,根据所述起点,遍历计算搜索范围内的块的误差平方和,确定最优的运动矢量;
在第四次运动搜索中,在最优的运动矢量中进行亚像素运动搜索;
其中,所述亚像素运动搜索包括:
使用左右相邻的三个像素值进行计算,对水平方向进行插值,根据水平方向的插值结果,计算当前块上下三行的插值结果;
根据所述水平方向的插值结果,计算竖直方向的插值;
根据所述水平方向和所述竖直方向的插值结果,计算插值像素值;
根据所述插值像素值完成插值后,计算匹配块与当前块的误差平方和;
遍历计算亚像素搜索范围的各个亚像素块的误差平方和,将其中最优的结果作为最终的运动搜索结果保存下来,并且计算当前匹配块的噪声水平及边缘检测数值。
可选地,所述根据滤波帧中各个像素以及所述运动搜索的结果进行加权处理,得到时域滤波结果这一步骤中,所述加权处理的条件包括:
根据滤波帧的比特率,使得分配的比特率较多的帧的权重值大于分配的比特率较少的帧;
根据滤波帧的视频通道,使得亮度通道的帧的权重大于色度通道的帧;
根据滤波帧的距离,使得距离较近的参考帧分配的权重大于距离较远的参考帧;
根据匹配块的匹配准确度,使得匹配准确度较高的帧的权重大于匹配准确度较低的帧;
根据匹配块的噪声水平,使得噪声水平较高且没有明显边缘的匹配块的权重值低于噪声水平低或者有明显边缘的匹配块。
可选地,所述对所述时域滤波结果进行空域滤波处理,得到时空域滤波结果,包括:
通过拉普拉斯算子对输入的16x16像素块进行卷积等运算完成噪声水平的估计,如果得到的噪声水平估计值大于第一阈值,则执行下一步骤;
通过索贝尔算子对输入的16x16像素矩阵进行卷积等运算完成边缘检测,得到边缘检测数值,如果边缘检测数值小于第二阈值,则执行下一步骤;
根据原像素矩阵各像素的方差和噪声方差计算得到空域滤波权重值;
根据所述空域滤波权重值和原像素矩阵中各像素均值对像素矩阵中各个位置的原像素进行修正,并根据修正结果对像素矩阵中对应位置的空域进行滤波。
本发明实施例的另一方面还提供了一种基于时空域滤波的视频编码前处理装置,包括:
第一模块,用于获取原始视频源数据;
第二模块,用于对所述原始视频源数据进行时域滤波处理,得到时域滤波结果;
第三模块,用于对所述时域滤波结果进行空域滤波处理,得到时空域滤波结果;
其中,所述时空域滤波结果用于视频编码处理,得到滤波后视频的二进制码流。
本发明实施例的另一方面还提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如前面所述的方法。
本发明实施例的另一方面还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
本发明的实施例获取原始视频源数据;对所述原始视频源数据进行时域滤波处理,得到时域滤波结果;对所述时域滤波结果进行空域滤波处理,得到时空域滤波结果;根据所述时空域滤波结果进行视频编码处理,得到原始视频的二进制码流。本发明的滤波方式多样,结合了时域和空域滤波器,计算结果精确且质量高。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的整体步骤流程图;
图2为本发明实施例提供的时域滤波处理过程的流程图;
图3为本发明实施例提供的降采样的示意图;
图4为本发明实施例提供的空域滤波处理过程的流程图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
针对现有技术存在的问题,本发明实施例提供了一种基于时空域滤波的视频编码前处理方法,包括:
获取原始视频源数据;
对所述原始视频源数据进行时域滤波处理,得到时域滤波结果;
对所述时域滤波结果进行空域滤波处理,得到时空域滤波结果;
其中,所述时空域滤波结果用于视频编码处理,得到滤波后视频的二进制码流。
可选地,所述对所述原始视频源数据进行时域滤波处理,得到时域滤波结果,包括:
配置参考帧;
对所述原始视频源数据进行两次降采样处理,确定降采样后各个坐标处的像素值;
根据所述参考帧和所述降采样后各个坐标处的像素值,执行四次运动搜索,获取运动搜索的结果;
根据滤波帧中各个像素以及所述运动搜索的结果进行加权处理,得到时域滤波结果。
可选地,所述配置参考帧,包括:
将顺序计数为8的倍数的非I帧确定为需要应用滤波的目标帧;
在原始视频源数据中找到本次滤波所需的第一目标帧并保存下来;
根据所述第一目标帧的前后4帧信息,确定时域滤波参考帧;
将所述第一目标帧的前后4帧的画面进行保存。
可选地,所述对所述原始视频源数据进行两次降采样处理,确定降采样后各个坐标处的像素值,包括:
通过四个同位的像素求平均得到一个位置的像素,得到一次降采样操作的结果;
其中,经过降采样后坐标为(x,y)处的像素值I(x,y)计算公式为:
I(x,y)=(I0(2x,2y)+I0(2x+1,2y)+I0(2x,2y+1)+I0(2x+1,2y+1)+2)>>2
其中,I0(2x,2y)为降采样前坐标为(2x,2y)的像素值。
可选地,所述根据所述参考帧和所述降采样后各个坐标处的像素值,执行四次运动搜索,获取运动搜索的结果,包括:
在第一次运动搜索中,以15像素作为搜索范围从参考帧中的同位处开始搜索,逐次计算每个块与当前块中各像素的误差平方和,在搜索范围中误差平方和最小的匹配块为搜索结果,将此时的运动矢量保存下来,作为最优的运动矢量;其中,所述误差平方和的计算公式为:
Figure BDA0003545847020000051
其中,SSE代表所述误差平方和;I(x,y)是参考帧中匹配块坐标为(x,y)的像素值,I0(x,y)是当前块坐标为(x,y)的像素值;
在第二次运动搜索中,将上一层同位块的运动矢量的x、y分量的±2范围内确定一个最优的运动矢量,作为本次运动搜索的起点,根据所述起点,遍历计算搜索范围内的块的误差平方和,确定最优的运动矢量;
在第三次运动搜索中,将上一层同位块的运动矢量的x、y分量的±2范围内确定一个最优的运动矢量,作为本次运动搜索的起点,根据所述起点,遍历计算搜索范围内的块的误差平方和,确定最优的运动矢量;
在第四次运动搜索中,在最优的运动矢量中进行亚像素运动搜索;
其中,所述亚像素运动搜索包括:
使用左右相邻的三个像素值进行计算,对水平方向进行插值,根据水平方向的插值结果,计算当前块上下三行的插值结果;
根据所述水平方向的插值结果,计算竖直方向的插值;
根据所述水平方向和所述竖直方向的插值结果,计算插值像素值;
根据所述插值像素值完成插值后,计算匹配块与当前块的误差平方和;
遍历计算亚像素搜索范围的各个亚像素块的误差平方和,将其中最优的结果作为最终的运动搜索结果保存下来,并且计算当前匹配块的噪声水平及边缘检测数值。
可选地,所述根据滤波帧中各个像素以及所述运动搜索的结果进行加权处理,得到时域滤波结果这一步骤中,所述加权处理的条件包括:
根据滤波帧的比特率,使得分配的比特率较多的帧的权重值大于分配的比特率较少的帧;
根据滤波帧的视频通道,使得亮度通道的帧的权重大于色度通道的帧;
根据滤波帧的距离,使得距离较近的参考帧分配的权重大于距离较远的参考帧;
根据匹配块的匹配准确度,使得匹配准确度较高的帧的权重大于匹配准确度较低的帧;
根据匹配块的噪声水平,使得噪声水平较高且没有明显边缘的匹配块的权重值低于噪声水平低或者有明显边缘的匹配块。
可选地,所述对所述时域滤波结果进行空域滤波处理,得到时空域滤波结果,包括:
通过拉普拉斯算子对输入的16x16像素块进行卷积等运算完成噪声水平的估计,如果得到的噪声水平估计值大于第一阈值,则执行下一步骤;
通过索贝尔算子对输入的16x16像素矩阵进行卷积等运算完成边缘检测,得到边缘检测数值,如果边缘检测数值小于第二阈值,则执行下一步骤;
根据原像素矩阵各像素的方差和噪声方差计算得到空域滤波权重值;
根据所述空域滤波权重值和原像素矩阵中各像素均值对像素矩阵中各个位置的原像素进行修正,并根据修正结果对像素矩阵中对应位置的空域进行滤波。
本发明实施例的另一方面还提供了一种基于时空域滤波的视频编码前处理装置,包括:
第一模块,用于获取原始视频源数据;
第二模块,用于对所述原始视频源数据进行时域滤波处理,得到时域滤波结果;
第三模块,用于对所述时域滤波结果进行空域滤波处理,得到时空域滤波结果;
其中,所述时空域滤波结果用于视频编码处理,得到滤波后视频的二进制码流。
本发明实施例的另一方面还提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如前面所述的方法。
本发明实施例的另一方面还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
下面结合说明书附图,对本发明的具体实现过程进行详细描述:
具体地,如图1所示,本发明的方法包括以下步骤:
获取原始视频源数据;
对所述原始视频源数据进行时域滤波处理,得到时域滤波结果;
对所述时域滤波结果进行空域滤波处理,得到时空域滤波结果;
根据所述时空域滤波结果进行视频编码处理,得到原始视频的二进制码流。
其中,步骤一为时域滤波模块的处理过程,如图2所示,该步骤包括:
Step1:匹配参考帧。首先确定需要应用滤波的帧,在RA(Random Acess随机接入)配置是顺序计数为8的倍数的非I帧需要滤波,然后在输入视频中找到本次滤波所需的参考帧并保存下来。在该发明中使用了多参考帧,在RA(Random Acess随机接入)配置情况下使用前后4帧一共8帧作为时域滤波参考帧,此时需要将当前帧的前后4帧画面均保存下来。
Step2:视频降采样。对视频进行两次降采样是为了提高运动搜索的效率,通过高分辨率画面继承低分辨率画面同位处的运动矢量,将其作为自己运动搜索的起点,可以更快更准地完成运动搜索。一次降采样操作是由四个同位的像素求平均得到一个位置的像素来完成的,针对降采样后坐标为(x,y)处的像素值I(x,y)具体计算公式如下所示:
I(x,y)=(I0(2x,2y)+I0(2x+1,2y)+I0(2x,2y+1)+I0(2x+1,2y+1)+2)>>2
其中I0(2x,2y)为降采样前坐标为(2x,2y)的像素值。降采样示意图如图3所示;
Step3:运动搜索。该步骤中有四次运动搜索。
第一次是顶层块尺寸为32x32的运动搜索。搜索的运动矢量起点是(0,0),即在参考帧中的同位处开始搜索,搜索范围为±15,即搜索的运动矢量从(-15,-15)到(15,15),逐次计算每个块与当前块中各像素的误差平方和SSE(Sum of Squared Error,误差平方和),计算公式如下:
Figure BDA0003545847020000071
其中,I(x,y)是参考帧中匹配块坐标为(x,y)的像素值,I0(x,y)是当前块坐标为(x,y)的像素值。在搜索范围中SSE最小的匹配块为搜索结果,将此时的运动矢量保存下来,作为最优的运动矢量。
第二次是中间层块尺寸为32x32的运动搜索。搜索的运动矢量起点是继承上一层同位块的运动矢量,但并不是直接使用,在该运动矢量的x、y分量的±2范围内确定一个最优的运动矢量,此运动矢量作为本次运动搜索的起点。本次运动搜索的范围为±8。遍历计算搜索范围内的块的SSE,取最优作为搜索结果,并保存最优的运动矢量。
第三次是底层块尺寸为32x32的运动搜索。本次运动搜索与第二次搜索方法一致。最终保存最优的运动矢量。
第四次是底层块尺寸为16x16的运动搜索。本次运动搜索的前半部分与第二次、第三次搜索方法一致。后半部分是在最优的运动矢量中进行亚像素运动搜索,即参考帧中匹配块的像素是由插值滤波器生成的。亚像素运动搜索的范围是±12,该数值用于确定使用插值滤波器的系数,插值滤波器系数值如下表1所示:
表1
Figure BDA0003545847020000081
Figure BDA0003545847020000091
使用亚像素搜索时,先对水平方向进行插值,需要使用左右相邻的三个像素值进行计算,并且需要计算当前块上下三行的插值结果,供第二步竖直方向插值使用,针对坐标为(x,y)的水平插值中间值计算公式如下:
Ix(x,y)=I0(x-2,y)·xFilter[2]+I0(x-1,y)·xFilter[3]+I0(x,y)·xFilter[4]+I0(x+1,y)·xFilter[5]+I0(x+2,y)·xFilter[6]+I0(x+3,y)·xFilter[7]
其中,I0(x,y)是坐标为(x,y)的原像素值,xFilter[4]为水平插值滤波器的系数4,其他数值以此类推。在完成计算水平插值中间值后,开始计算竖直插值部分,针对坐标为(x,y)的竖直插值中间值计算公式如下:
Iy(x,y)=Ix(x,y-2)·yFilter[2]+Ix(x,y-1)·yFilter[3]+Ix(x,y)·yFilter[4]+Ix(x,y+1)·yFilter[5]+Ix(x,y+2)·yFilter[6]+Ix(x,y+3)·yFilter[7]
其中,Ix(x,y)是坐标为(x,y)的水平插值中间值,yFilter[4]为竖直插值滤波器的系数4,其他数值以此类推。最后通过移位和限幅运算即可得到最终的插值像素值I(x,y),计算公式如下:
I(x,y)=clip((Iy(x,y)+2048)>>12)
其中,clip是限幅运算,即将结果值限制在[0,1023]区间中,因为一般在编码器中位深是10bit,所以像素值的取值范围是[0,1023]。在插值完成后便可计算匹配块与当前块的SSE。遍历计算亚像素搜索范围的各个亚像素块的SSE,将其中最优的结果作为最终的运动搜索结果保存下来,并且计算该块的噪声水平及边缘检测数值(计算方法在空域滤波部分详细介绍),供后续双边滤波使用。
Step4:双边滤波:对滤波帧中各个像素与其运动搜索得到的结果进行加权和即完成双边滤波。加权和的公式如下所示:
Figure BDA0003545847020000101
其中,clip为限幅运算,In为滤波的输出值,I0是滤波的输入值,Ir(i)是在参考帧中运动搜索得到对应位置的像素值,wr(i)是滤波的权重值。该权重值主要由六方面计算,其计算公式如下:
Figure BDA0003545847020000102
1)wb是由该帧分配的比特率(bitrate)决定,对分配较多比特率的帧使用较大的权重值。在RA配置下,其计算公式如下:
Figure BDA0003545847020000103
其中,POC(Picture Order Count图片顺序计数)表示当前帧是第几帧,相对其他普通帧,编码器对图片顺序计数是8倍数的帧分配较多的比特率,但是对图片顺序计数仅是16倍数的帧分配更多的比特率,而对图片顺序计数是8倍数但不是16倍数的帧分配相对前者较少的比特率。
2)wc是由视频通道决定,对亮度通道分配较大的权重,对色度通道则使用较小的权重,其计算公式如下:
Figure BDA0003545847020000104
3)wi是由参考帧到滤波帧的距离决定,对距离较近的参考帧分配较大的权重,对距离较远的参考帧分配较小的权重,当参考帧有8帧时,其计算公式如下:
Figure BDA0003545847020000105
当参考帧有4帧时,其计算公式如下:
Figure BDA0003545847020000106
4)we是由匹配块的匹配准确度决定,当整个匹配块的匹配准确度较低时,降低其权重值。该权重值需要两步计算,其计算公式如下:
Figure BDA0003545847020000111
Figure BDA0003545847020000112
其中,SSEMAX是该帧所有匹配块中与其对应的滤波块最大的SSE,SSECUR是当前匹配块与其对应滤波块的SSE。
5)wn是由匹配块的噪声水平决定,对噪声水平较高且没有明显边缘的匹配块,降低其滤波权重值,其计算公式由噪声水平和边缘检测数值决定(这两者的计算由步骤二的空域滤波模块详细介绍),其计算公式如下:
Figure BDA0003545847020000113
6)
Figure BDA0003545847020000114
中的E是以当前滤波像素为中心的3x3矩阵块和匹配块中的同位矩阵各元素的差值平方和,wcc是区分亮、色度两种通道的权重,两者计算公式如下:
Figure BDA0003545847020000115
Figure BDA0003545847020000116
其中,I(x+a,y+b)表示匹配块中以(x,y)为中心的3x3矩阵中的像素,I0(x+a,y+b)表示当前滤波块中以(x,y)为中心的3x3矩阵中的像素。
步骤二为空域滤波模块的处理步骤流程图。具体细化步骤如图4所示:
Step1:噪声水平估计:通过拉普拉斯算子对输入的16x16像素块进行卷积等运算完成噪声水平的估计,估计公式如下所示:
Figure BDA0003545847020000117
其中,σn是噪声水平的估计值,W是像素矩阵的宽度,在该发明中为16,H是像素矩阵的长度,在该发明中为16。另外,I(x,y)表示当前块以(x,y)为中心的3x3矩阵,*是卷积运算,||是取绝对值运算,矩阵N为拉普拉斯算子,具体数值如下所示:
Figure BDA0003545847020000118
若噪声水平估计值σn高于阈值Th1则进行边缘检测,否则直接结束。在本发明中阈值Th1是通过大量实验选取的一个定值。
Step2:边缘检测。边缘检测是通过索贝尔算子对输入的16x16像素矩阵进行卷积等运算完成边缘检测,得到边缘检测数值。求取边缘检测数值的公式如下所示:
G=Gx+Gy
其中G是边缘检测数值,x是水平方向的边缘检测数值,Gy是竖直方向的边缘检测数值,两者计算公式如下所示:
Figure BDA0003545847020000121
Figure BDA0003545847020000122
其中,I(x,y)表示当前块以(x,y)为中心的3x3矩阵,*是卷积运算,||是取绝对值运算。若噪声水平数值高于阈值Th1且块内边缘检测数值小于阈值Th2则判定为当前块噪声较多且没有明显的纹理边缘,需要进行补充的空域滤波,否则结束。在本发明中阈值Th2是通过大量实验选取的一个定值。
Step3:计算空域滤波权重值。空域滤波权重值是由原像素矩阵各像素的方差和噪声方差计算得到,同一个像素矩阵中各个位置的权重值相同,其计算公式如下:
Figure BDA0003545847020000123
其中,var是像素矩阵各元素的方差,
Figure BDA0003545847020000124
是噪声水平数值的平方,即噪声方差。
Step4:空域滤波。空域滤波是通过上述权重值和原像素矩阵中各像素均值对像素矩阵中各个位置的原像素进行修正,针对像素矩阵中(x,y)处的空域滤波,计算公式如下:
Figure BDA0003545847020000125
其中,I(x,y)为矩阵(x,y)处的滤波输出值,I0(x,y)为矩阵(x,y)处的滤波输入值,
Figure BDA0003545847020000126
是像素矩阵各元素的均值,w是step3中计算得到的滤波权重值。
综上所述,本发明的方法结合时域与空域的滤波,充分使用两者的信息对原视频进行滤波,可以达到更好的滤波效果。
由于当前编码前滤波算法中的运动搜索耗时长。本发明对时域滤波权重值有更精密的计算,主要与运动搜索的匹配准确度、以滤波像素为中心的3x3矩阵块和参考帧中同位矩阵的各像素差值平方和、运动搜索得到匹配块的噪声水平有关。
本发明的滤波块尺寸为16x16,既可以较为准确计算块噪声水平,又可以兼顾运动搜索的效率。
本发明使用多参考帧滤波。在RA(Random Acess随机接入)配置情况下使用前后4帧一共8帧作为时域滤波参考帧。
本发明的滤波权重值计算精密:综合考虑多方面的因素,使滤波权重值计算公式更合理。
本发明滤波后可进一步提高编码器的编码效率:在尽量不丢失有用信息的前提下尽可能地滤除无用信息,在后续编码中可以保证一定客观质量下节省大量比特率。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-On ly Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (7)

1.一种基于时空域滤波的视频编码前处理方法,其特征在于,包括:
获取原始视频源数据;
对所述原始视频源数据进行时域滤波处理,得到时域滤波结果;
对所述时域滤波结果进行空域滤波处理,得到时空域滤波结果;
其中,所述时空域滤波结果用于视频编码处理,得到滤波后视频的二进制码流;
所述对所述原始视频源数据进行时域滤波处理,得到时域滤波结果,包括:
配置参考帧;
对所述原始视频源数据进行两次降采样处理,确定降采样后各个坐标处的像素值;
根据所述参考帧和所述降采样后各个坐标处的像素值,执行四次运动搜索,获取运动搜索的结果;
根据滤波帧中各个像素以及所述运动搜索的结果进行加权处理,得到时域滤波结果;
所述根据所述参考帧和所述降采样后各个坐标处的像素值,执行四次运动搜索,获取运动搜索的结果,包括:
在第一次运动搜索中,以15像素作为搜索范围从参考帧中的同位处开始搜索,逐次计算每个块与当前块中各像素的误差平方和,在搜索范围中误差平方和最小的匹配块为搜索结果,将此时的运动矢量保存下来,作为最优的运动矢量;其中,所述误差平方和的计算公式为:
Figure FDA0003991160810000011
其中,SSE代表所述误差平方和;I(x,y)是参考帧中匹配块坐标为(x,y)的像素值,I0(x,y)是当前块坐标为(x,y)的像素值;w代表块的宽度;h代表块的长度;
在第二次运动搜索中,将上一层同位块的运动矢量的x、y分量的±2范围内确定一个最优的运动矢量,作为本次运动搜索的起点,根据所述起点,遍历计算搜索范围内的块的误差平方和,确定最优的运动矢量;
在第三次运动搜索中,将上一层同位块的运动矢量的x、y分量的±2范围内确定一个最优的运动矢量,作为本次运动搜索的起点,根据所述起点,遍历计算搜索范围内的块的误差平方和,确定最优的运动矢量;
在第四次运动搜索中,在最优的运动矢量中进行亚像素运动搜索;
其中,所述亚像素运动搜索包括:
使用左右相邻的三个像素值进行计算,对水平方向进行插值,根据水平方向的插值结果,计算当前块上下三行的插值结果;
根据所述水平方向的插值结果,计算竖直方向的插值;
根据所述水平方向和所述竖直方向的插值结果,计算插值像素值;
根据所述插值像素值完成插值后,计算匹配块与当前块的误差平方和;
遍历计算亚像素搜索范围的各个亚像素块的误差平方和,将其中最优的结果作为最终的运动搜索结果保存下来,并且计算当前匹配块的噪声水平及边缘检测数值。
2.根据权利要求1所述的一种基于时空域滤波的视频编码前处理方法,其特征在于,所述配置参考帧,包括:
将顺序计数为8的倍数的非I帧确定为需要应用滤波的目标帧;
在原始视频源数据中找到本次滤波所需的第一目标帧并保存下来;
根据所述第一目标帧的前后4帧信息,确定时域滤波参考帧;
将所述第一目标帧的前后4帧的画面进行保存。
3.根据权利要求1所述的一种基于时空域滤波的视频编码前处理方法,其特征在于,所述对所述原始视频源数据进行两次降采样处理,确定降采样后各个坐标处的像素值,包括:
通过四个同位的像素求平均得到一个位置的像素,得到一次降采样操作的结果;
其中,经过降采样后坐标为(x,y)处的像素值I(x,y)计算公式为:
I(x,y)=(I0(2x,2y)+I0(2x+1,2y)+I0(2x,2y+1)+I0(2x+1,2y+1)+2)>>2
其中,I0(2x,2y)为降采样前坐标为(2x,2y)的像素值。
4.根据权利要求1所述的一种基于时空域滤波的视频编码前处理方法,其特征在于,所述根据滤波帧中各个像素以及所述运动搜索的结果进行加权处理,得到时域滤波结果这一步骤中,所述加权处理的条件包括:
根据滤波帧的比特率,使得分配的比特率较多的帧的权重值大于分配的比特率较少的帧;
根据滤波帧的视频通道,使得亮度通道的帧的权重大于色度通道的帧;
根据滤波帧的距离,使得距离较近的参考帧分配的权重大于距离较远的参考帧;
根据匹配块的匹配准确度,使得匹配准确度较高的帧的权重大于匹配准确度较低的帧;
根据匹配块的噪声水平,使得噪声水平较高且没有明显边缘的匹配块的权重值低于噪声水平低或者有明显边缘的匹配块。
5.根据权利要求1所述的一种基于时空域滤波的视频编码前处理方法,其特征在于,所述对所述时域滤波结果进行空域滤波处理,得到时空域滤波结果,包括:
通过拉普拉斯算子对输入的16x16像素块进行卷积等运算完成噪声水平的估计,如果得到的噪声水平估计值大于第一阈值,则执行下一步骤;
通过索贝尔算子对输入的16x16像素矩阵进行卷积等运算完成边缘检测,得到边缘检测数值,如果边缘检测数值小于第二阈值,则执行下一步骤;
根据原像素矩阵各像素的方差和噪声方差计算得到空域滤波权重值;
根据所述空域滤波权重值和原像素矩阵中各像素均值对像素矩阵中各个位置的原像素进行修正,并根据修正结果对像素矩阵中对应位置的空域进行滤波。
6.一种电子设备,其特征在于,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如权利要求1至5中任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,所述存储介质存储有程序,所述程序被处理器执行实现如权利要求1至5中任一项所述的方法。
CN202210248447.5A 2022-03-14 2022-03-14 一种基于时空域滤波的视频编码前处理方法 Active CN114666583B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210248447.5A CN114666583B (zh) 2022-03-14 2022-03-14 一种基于时空域滤波的视频编码前处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210248447.5A CN114666583B (zh) 2022-03-14 2022-03-14 一种基于时空域滤波的视频编码前处理方法

Publications (2)

Publication Number Publication Date
CN114666583A CN114666583A (zh) 2022-06-24
CN114666583B true CN114666583B (zh) 2023-03-21

Family

ID=82030223

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210248447.5A Active CN114666583B (zh) 2022-03-14 2022-03-14 一种基于时空域滤波的视频编码前处理方法

Country Status (1)

Country Link
CN (1) CN114666583B (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101448077B (zh) * 2008-12-26 2010-06-23 四川虹微技术有限公司 一种自适应视频图像3d降噪方法
CN103269412B (zh) * 2013-04-19 2017-03-08 华为技术有限公司 一种视频图像的降噪方法及装置
CN103606132B (zh) * 2013-10-31 2016-04-13 西安电子科技大学 基于空域和时域联合滤波的多帧数字图像去噪方法
WO2015172235A1 (en) * 2014-05-15 2015-11-19 Tandemlaunch Technologies Inc. Time-space methods and systems for the reduction of video noise
CN111986116B (zh) * 2020-08-25 2023-10-13 Oppo广东移动通信有限公司 视频降噪方法和装置、电子设备、计算机可读存储介质
CN113612996B (zh) * 2021-07-30 2024-02-09 百果园技术(新加坡)有限公司 一种基于时域滤波的视频降噪的方法及装置

Also Published As

Publication number Publication date
CN114666583A (zh) 2022-06-24

Similar Documents

Publication Publication Date Title
US8237868B2 (en) Systems and methods for adaptive spatio-temporal filtering for image and video upscaling, denoising and sharpening
JP5839631B2 (ja) ブロックノイズの検出方法
CN103369209B (zh) 视频降噪装置及方法
US8768069B2 (en) Image enhancement apparatus and method
JP6314654B2 (ja) グレースケール画像処理方法及び装置
Chen et al. An empirical identification method of Gaussian blur parameter for image deblurring
US9014490B2 (en) Method to measure local image similarity and its application in image processing
US9165345B2 (en) Method and system for noise reduction in video systems
US8665376B2 (en) Methods and systems for filtering noise in video data
Hou et al. Underwater image dehazing and denoising via curvature variation regularization
US9881358B2 (en) Method and system for adaptive pixel replacement
CN114666583B (zh) 一种基于时空域滤波的视频编码前处理方法
TW201709196A (zh) 影像處理裝置及影像處理方法
KR101651203B1 (ko) 화질 개선을 수반한 영상 확대 방법 및 그 장치
CN103618904B (zh) 基于像素的运动估计方法及装置
Mahayuddin et al. Efficiency measurement of various denoise techniques for moving object detection using aerial images
JP2005176350A (ja) ノイズの入った圧縮画像の印刷処理
CN112561802B (zh) 连续序列图像的插值方法、插值模型训练方法及其系统
Nasonov et al. Adaptive image deringing
CN111429383B (zh) 图像降噪方法及装置、计算机可读存储介质
WO2020113419A1 (zh) 一种图像处理方法和装置
KR101373193B1 (ko) 영상 보간 장치 및 방법
CN115937051B (zh) 一种图像噪声处理方法、装置、设备及存储介质
Bindu et al. Automatic scheme for fused medical image segmentation with nonsubsampled contourlet transform
Wang et al. Anisotropic Gaussian Side Windows Guided Filtering

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant