用于数字视频信号的运动自适应降噪预处理的制作方法

文档序号:7739053阅读:208来源:国知局

专利名称::用于数字视频信号的运动自适应降噪预处理的制作方法
技术领域
:本发明涉及一种设备与方法,其通过利用预生成运动矢量来应用运动补偿时域滤波,并在场景变换帧应用自适应空域滤波,从而在视频系统中降低噪声。
背景技术
:数字电视向观众提供了高质量视频娱乐,其特色诸如按次计费、电子节目指南、视频点播、天气与股票信息、以及因特网接入。视频图像被包装在信息流中,通过基于卫星、电缆或陆基传输媒介的宽带通信网络传输给用户。由于带宽与功率限制,电影与视频的有效传输要求广泛使用压缩与格式技术。诸如MPEG1与MPEG2之类的协议通过向空域压缩算法添加时域组件来最大化电影与视频信息传输的带宽利用率。电影或视频的一个图像序列中的每一幅单独的图像被称为一帧。每一帧由大量的图像元素(像素)组成,这些像素定义了该图像。在每一帧内,冗余像素描述了场景中的相似部分,例如蓝天。多种类型的压缩算法已被用于去除冗余空间元素,从而降低图像传输的带宽要求。电影或视频的帧序列常包含非常类似或雷同的像素。为了最大化带宽利用率,通常使用压缩与运动补偿协议,例如MPEG,来最小化相邻帧之间的冗余像素。被编码器参考,以预测相邻帧中图像的运动的帧被称为锚帧(anchorframe)。这些锚帧可以是帧内帧(I帧)或预测帧(P帧)类型。不参考其它帧的像素组(宏块)组成I帧,P帧则包含对帧序列内的已编码帧的参考。第三种帧类型被称为双向帧(B帧),其既包含参考已遇到的锚帧的宏块,也包含参考当前被分析帧之后的锚帧的宏块。B帧和P帧编码都通过计算与被参考帧内的宏块相关联的运动矢量减少了像素的重复,使得带宽需求降低。一个特定帧的编码类型的选择取决于该图像的复杂度。对于摇摄图像而言(forimagesthatpan),描述运动物体的像素大体上是相同的,这是因为它们只是在空间上被移动了。参考前面(或后面)的帧中的像素组(即宏块),而不是在连续的若干帧中反复指定这些像素,这常常是有利的。运动矢量指示视频处理器到何处去获取被参考帧中的宏块。为此目的使用运动矢量被称为运动补偿。运动补偿也可用于帮助减小编码视频图像中的噪声影响。多种类型的噪声可于压缩与传输之前被引入到视频中。来自成像与录像设备、来自陆基或轨道传输设备、来自通信信道、以及来自编码与解码设备的赝像(artifact)为人们所熟知。在图像压缩之前引入的噪声会带来问题,因为它垄断数据带宽,同时降低图像质量,从而干扰了后继的压缩系统的性能。另外,离散余弦变换(DCT)域中的量化倾向于放大噪声的影响,导致信号退化加剧。滤波降低了视频图像中的噪声,同时也可能随之降低图像的分辨率(例如锐利度),导致不精确的边沿过渡,从而降低了表观聚焦(apparentfocus)。边沿被定义为像素幅度的陡峭变化(例如像素集之间的色彩差异和/或亮度幅度变化)。这些陡峭变化通常定向于竖直或水平方向,例如介于蓝天与黑色建筑之间的边沿。因此,存在对被改进的噪声滤波系统的需求,该系统可以减小存在于目前的数字图像滤波器中的许多不利影响。本发明提供了一种解决方案,用以解决这些问题,同时提供增强的电影或视频帧的编码吞吐量。
发明内容本发明涉及一种设备与方法,其通过利用预生成运动矢量来应用运动补偿时域滤波算法,并在在场景变换帧应用自适应空域滤波,从而在视频系统中降低噪声。在双编码(two-pass)的视频压缩与编码系统中,描述了用于预压缩视频图像数据的运动补偿时域与自适应空域滤波子系统。输入视频帧的降噪方案可通过使用存储组件实现,该存储组件提供帧缓冲,以存储至少三个连续的视频帧。被缓冲的帧包括当前帧,当前被编码帧之前的第一锚帧,以及当前帧之后的第二锚帧。这些帧中的每一帧上的图像用多个像素表示,其中每个像素展现一个信号幅度。当前帧上的许多图像在图像组(GOP)中的第一(前)和第二(后)帧上被重复。如果当前帧未被判定为场景变换帧,则使用P帧或B帧编码来处理该帧。对于P帧编码,实现了前向预测阶段,由此确定当前帧的一个像素的幅度与第一帧的一个像素的幅度之间的差异的绝对值。该值被用于利用查表实现对无限冲激响应(IIR)滤波器的非线性滤波器系数β(前向)进行求值。作为图像内物体摇摄移动的结果,第一帧的像素位置相对当前帧的像素位置存在偏移,如预计算的运动矢量所描述的那样。使用这些运动矢量,确定先前锚帧像素幅度部分(proportionalvalue),并乘以滤波器系数β(前向)。当前帧内所选像素幅度部分乘以(1-β(前向)),再加上前述结果。对它们各自的幅度值连同β(前向)、(1-β(前向))以及与先前锚帧相关的运动矢量的数值进行算术处理,即可计算出当前帧像素幅度。对于B帧编码,时域滤波被划分为两个阶段。第一阶段,前向预测,与上面描述的P帧编码方案相同。在由第一阶段的前向预测过程进行滤波之后,当前帧的像素数据被送到第二阶段,在这里,后向预测过程再次对该帧进行滤波。计算出当前帧内的一个像素的幅度与第二(后)帧内的一个像素的幅度之间的绝对值差异。第二帧像素位置从当前帧像素位置偏移一个预计算的运动矢量。非线性IIR滤波器系数β(后向)被从查找表中确定,取值在0到1之间,对应于所算出的绝对值差异。第二帧内的像素位置由当前帧内的位置决定,但偏移一个由预计算的运动矢量描述的量。β(后向)与运动补偿的第二帧像素值的乘积为当前帧像素值中所表示的第二锚帧像素值的部分。(1-β(后向))与当前帧像素值的乘积为最后得到的当前帧像素值中由当前锚帧像素值贡献的部分。这两部分帧像素值的和代表当前帧像素值。这些经时域滤波的像素幅度值结果被空域滤波与流水线架构中的其它系统组件进一步处理。延迟器组件也被引入,以提供一定程度的预测(look-ahead),用以提供统计的复用速率控制。这里描述的运动矢量可由第一次扫描编码器计算,作为另一种选择方案,也可使用代码转换计算。这有效消除了在其后的滤波步骤中重新生成运动矢量的需求。当检测到场景变换帧时,选择来自非线性自适应空域滤波器的输出,以替代运动补偿时域滤波的输出。对于自适应空域滤波,每个输出的帧像素值等于一个加权平均值,该值为邻域像素幅度值的合成。一个邻域像素的权重由预确定的参考表确定,且与每个像素到目标像素(subjectpixel)的距离成反比。每个非线性滤波器与一个滤波器系数相联系,该系数适合于输入像素幅度与领域像素幅度加权和之间的绝对值差异。图1描绘了一个依照本发明的示例系统处理架构的框图。图2描绘了与降噪处理器和第一次扫描编码器相联系的处理流水线。图3描绘了指示多个滤波器强度的滤波器系数自适应过程。图4描绘了用于B帧像素的两阶段自适应滤波流水线。具体实施例方式本发明涉及一种设备与方法,其通过利用预生成运动矢量来应用运动补偿时域滤波,并应用自适应空域滤波,从而在视频系统中降低噪声。图1描绘了一个依照本发明的视频帧编码子系统的示例处理架构的框图。该子系统是更大规模的数字视频编码系统的一部分。该子系统由以下组件组成第一次扫描编码器100;降噪预处理器102;第二次扫描编码器104;主压缩控制器(MCC)106;分组处理器108;和视频FIFO队列与分组创建器110。系统总览第一次扫描编码器100、降噪预处理器102与第二次扫描编码器104联合操作,以估计输入的视频帧的复杂度,对输入的视频进行噪声滤波,以及负责压缩输入的视频图像。第二次扫描编码器准备所需的参数,并提供该信息给速率控制处理器(未显示),该处理器提供相应的编码比特率分配值给第二次扫描编码器。第一次与第二次扫描编码器的层叠有效地对输入数据的单一信道进行编码,并进行数据压缩,包括运动补偿(对P帧与B帧)、离散余弦变换(DCT)与量化。编码器可针对实际编码比特率给速率控制处理器提供反馈信息。主压缩控制器(MCC)106通过外围设备互联(PCI)总线为编码器控制数据的压缩。编码数据被提供给分组创建器110,其与分组处理器108联合工作,以提供视频数据的复用比特流。视频先入先出(FIFO)缓冲器110暂时存储压缩数据,分组处理器108将压缩数据与合适的头信息(比如,依照MPEG-2或其它视频标准)组成分组。之后,数据被送到发送器,以在信道上发送输出流。在解码端,提供接收器、缓冲器与解复用器,以输出解码视频信号,例如用于显示在电视上。降噪预处理器102对输入的视频帧实行空域与时域滤波,以减小视频噪声的影响。时域滤波器使用第一次扫描编码器提供的运动矢量,在连续视频帧内对运动物体精确地实行噪声滤波,同时降低系统资源使用率。作为另一种选择方案,可使用代码转换来获得所需的运动矢量。代码转换允许预计算运动矢量在沿信道发送的比特流之内发送到时域滤波器。图2显示了通用降噪预处理流水线的数据流图。如图所示,在降噪预处理之前,第一次扫描编码器100对视频帧进行视频捕捉、水平抽取(decimation)与电影模式效果使用(detelecine)。这些帧被送到降噪预处理器的视频捕捉模块112,并被传统延迟组件114延迟。第一次扫描编码器还进行类型编码与运动矢量合成,它们被送到循环缓冲器116,之后被送往降噪预处理器内的时域与空域118滤波器模块。降噪预处理器,特别是时域滤波器,使用该信息来对连续接收的帧进行自适应无限冲激响应(IIR)滤波。其后,滤波后的视频帧被送到一系列延迟组件120,并最终被送到视频输出驱动器122,以发送到第二次扫描编码器104,进行进一步的处理。降噪在压缩之前,降噪预处理器进行自适应空域滤波与运动补偿时域滤波,以减小视频源噪声的影响。它还对视频进行延迟,以提供预测,用于统计复用的速率控制与特殊事件处理。自适应时域滤波运动补偿时域滤波器是一个IIR滤波器。第一次扫描编码生成的运动矢量被用于跟踪帧内物体的运动。对于P帧,滤波器为每一个坐标(x,y)上的像素pOut生成如下输出pOut[x,y]=(1-βfwd)*pIn[x,y]+βfwd*prevPOut[x-MVx,y-MVy]其中pIn[x,y]是当前P帧的地址[x,y]上的输入像素。prevPOut[x,y]是前一个输出P帧的地址[x,y]上的像素值;[MVx,MVy]是半像素(halfpel)截断的(truncated)场运动矢量。MVy被依照运动矢量中的场选择比特缩放到帧坐标。βfwd是pIn[x,y]与prevPOut[x,y]之间的绝对差的非线性函数,通过查找表实现。(即βfwd=Look-up-table(|pIn[x,y]-prevPOut[x-MVx,y-MVy]|))。图3显示了时域滤波器系数的自适应特性的一个示例。多个查找表被用于描述该自适应特性。对于边沿上的像素,滤波器系数β趋近于零,这意味着没有应用滤波。对于B帧,运动补偿时域滤波器被实现为两个阶段,如图4所示。第一阶段,如轮廓框126所示,其通过利用之前的P帧执行时域滤波器来进行前向预测,以利用前向运动矢量[MVxfwd,MVyfwd]为每一个坐标[x,y]上的像素bOut1生成中间结果bOut1[x,y]=(1-βfwd)*bIn[x,y]+βfwd*pOutfwd[x-MVxfwd,y-MVyfwd]其中bIn[x,y]是当前B帧的地址[x,y]上的输入像素;pOutfwd[x,y]是用于前向预测的P帧的地址[x,y]上的像素值。该帧被存储于图4所示的多帧延迟器130,并在需要时被提供给运动补偿器128。是前向场运动矢量,其被舍入(round)到整数值,并被依照前向运动矢量中的场选择比特缩放到帧坐标。pOutfwd[x-MVxfwd,y-MVyfwd]在运动补偿器部件128中通过结合前向运动矢量与像素信息pOutfwd[x,y]得到,该像素信息由多帧延迟器130提供。βfwd是bIn[x,y]与pOutfwd[x-MVxfwd,y-MVyfwd]之间的绝对差的非线性函数。该操作由图4所示的绝对差计算器132执行,其后从查找表134中搜索滤波器函数βfwd。图3显示了所得到的滤波器函数的一个示例。即βfwd=Look-up-table(|bIn[x,y]-[x-MVxfwd,y-MVyfwd]|)滤波器函数βfwd与用于前向预测的P帧的地址[x,y]上的运动补偿的像素值pOutfwd[x-MVxfwd,y-MVyfwd]的乘积,加上输入像素bIn[x,y]与(1-βfwd)的乘积,得到像素值的中间值bOut1[x,y],该值被送到选择器138,以进行进一步的估计。选择器138对场景变换检测器140的结果进行检查。如果选择器138收到一个场景变换通知,则该选择器选择自适应空域滤波器152的结果,送到延时存储器130,输出到第二次扫描编码器。如果被分析的帧不是图像组(GOP)中的场景变换之后的第一个P帧,则中间结果bOut1[x,y]被送到延时存储器130,之后被送到时域滤波器142的第二阶段。其后的P帧也被选择器138选择送到第二阶段滤波器,在那里,利用后向运动矢量[MVxbwd,MVybwd]生成坐标[x,y]上的最后滤波输出bOutbOut[x,y]=(1-βbwd)*bOut1[x,y]+βbwd*pOutbwd[x-MVxbwd,y-MVybwd]其中pOutbwd[x,y]是用于后向预测的P帧的地址[x,y]上的像素值。该帧通过多帧延迟器130输入到第二阶段滤波器。是后向场运动矢量,其被舍入到整数值,并被依照运动矢量中的场选择比特缩放到帧坐标。运动补偿器144利用后向运动矢量确定pOutbwd[x-MVxbwd,y-MVybwd]。结果传给绝对差计算器146以确定βbwd。βbwd是bOut1[x,y]与pOutbwd[x,y]之间的绝对差的非线性函数,其偏移相应的运动矢量,通过组合绝对差计算器146与查找表148实现。图3显示了该非线性函数的特性曲线。即βbwd=Look-up-table(|bOut1[x,y]-Poutbwd[x-MVxbwd,y-MVybwd]|)滤波器函数βbwd与用于后向预测的P帧的地址[x,y]上的运动补偿的像素值pOutbwd[x-MVxbwd,y-MVybwd]的乘积,加上中间像素值bOut1[x,y]与1减去前向滤波器系数(1-βfwd)150的乘积,得到像素值的输出结果bOut[x,y]。如果βfwd是0,只有后向运动会被用于生成结果。类似地,如果βbwd是0,只有前向运动会被用到。进一步地,建立不同的查找表,以允许用户选择滤波器的强度。β越快从系数自适应曲线衰落(rolloff),滤波器越弱。滤波器系数取值从0到1。对于强度接近于平均值的像素,滤波器系数β趋近于1,滤波器变为平均滤波器,这意味着强滤波。自适应空域滤波自适应空域滤波器被定义为g[x,y]=(1-α)*f[x,y]+α*μ其中f[x,y]与g[x,y]分别是位置[x,y]上的输入像素值与输出像素值。μ是像素f[x,y]周围5×5邻域的局域加权平均值,被定义为μ=(像素f[x,y]周围5×5邻域除f[x,y]之外的所有像素的加权和)/(52-1)下面的权重表被用于计算加权平均0.01250.0250.050.0250.01250.0250.050.10.050.0250.0250.050.10.050.0250.0250.050.10.050.0250.01250.0250.050.0250.0125设计该权重表,使得像素越靠近5×5窗口的中心,其权重也越高。这样的权重有助于保存图像的纹理。滤波器系数α适应于f[x,y]与μ之间的绝对值差异。查找表被用于选择系数值。建立查找表的分类,以允许用户从滤波器的多种强度级别中进行选择。与时域滤波的情形相似,α越快从系数自适应曲线衰落(rolloff),滤波器越弱。滤波器系数取值从0到1。对于强度接近于平均值的像素,滤波器系数α趋近于1,滤波器变为平均滤波器,这意味着强滤波。对于边沿上的像素,滤波器系数α趋近于零,这意味着没有应用滤波。因此,可以看到本发明提供了一种改进的设备与方法,其通过利用被第一次扫描编码器预生成运动矢量来应用运动补偿时域滤波,从而在视频系统中降低噪声。在场景变换帧,自适应空域滤波与权重表相结合,基于像素相对于其它像素及边沿的位置,提供程度可变的滤波。该操作保存了图像内的纹理。改进了时域滤波响应,并降低了计算复杂度;从而使精确度与处理吞吐量得到增强。尽管本发明是结合所述优选实施例进行描述的,应该认识到,在不背离如权利要求书所阐述的本发明的范围的前提下,还可另外作出多种修改和变动。权利要求1.一种用于在视频分配系统上降低噪声的方法,其包括利用对图像数据进行压缩期间预生成的运动矢量来对压缩图像数据应用运动补偿时域滤波,其中所述滤波操作适于降低所述压缩图像数据中的噪声,消除在所述滤波步骤期间重新生成所述运动矢量的需求,和对压缩图像数据应用自适应空域滤波。2.一种运动补偿时域滤波方法,其用于包括至少三个连续视频帧的预压缩的视频图像数据,以降低所述数据中的噪声,所述视频图像数据包括当前帧、所述当前帧之前的第一锚帧、所述当前帧之后的第二锚帧,其中所述各帧中的每一个具有多个像素,每个所述像素具有关联的幅度,所述当前帧的当前像素是中间像素且匹配于所述第一锚帧内的第一像素与所述第二锚帧内的第二像素,所述方法包括如下步骤对于P帧与B帧编码,前向预测阶段,其包括确定所述当前帧内的像素的幅度与位于所述第一帧内的像素的幅度之间的绝对值差异,其中第一帧像素位置从当前帧像素位置偏移出预计算的运动矢量;从所述绝对值差异确定滤波器系数β(前向),通过对前锚帧像素与当前帧像素各自的幅度值连同β(前向)、(1-β(前向))的数值,以及与之关联的运动矢量进行算术处理,为前锚帧像素与当前帧像素计算部分值,从而赋值给计算的当前帧像素值,对各个锚帧像素的部分值结果与当前帧像素的部分值进行相加,以获得单个计算出的像素幅度值;另外,对于B帧编码后向预测阶段,其包括从第一前向预测阶段接收经时域滤波的当前帧像素幅度值,确定位于所述当前帧内的像素的幅度与位于所述第二帧内的像素的幅度之间的绝对值差异,其中第二帧像素位置从所述当前帧像素位置偏移出预计算的运动矢量,确定滤波器系数β(后向),其对应于所述绝对值差异,通过对后锚帧像素与当前帧像素各自的幅度值连同β(后向)、(1-β(后向)),以及位于偏移出代表性的运动矢量的所述第二帧之内的所述像素的幅度进行算术处理,为后锚帧像素值与当前帧像素值计算部分值,以赋值给计算的当前帧像素值,和对各个锚帧像素的部分值结果与当前帧像素的部分值进行相加,以获得单个计算出的像素幅度值。3.如权利要求1所述的方法,其进一步包括查找表,其用于基于像素幅度差异来确定β(后向)和β(前向)的值,其对应于介子0到1之间的值。4.如权利要求1所述的方法,其进一步包括流水线架构,由此将运动补偿时域滤波与空域滤波和延迟组件相结合,以提供预测方案,该方案用于统计的复用器速率控制系统。5.如权利要求1所述的方法,其进一步包括选择代码转换或第一次扫描编码之一,用于计算所述运动矢量。6.一种自适应空域滤波方法,其包括对当前帧内的输入与输出像素值、所述帧上的一组像素的加权平均值以及滤波器系数α进行算术处理。7.如权利要求6所述的方法,其中所述加权平均值是从包含预确定区域内的多个指定像素的像素幅度值的表中确定的。8.如权利要求7所述的方法,其中包含所述预确定区域的所述像素幅度值与像素到所述区域内的中心像素的距离成反比。9.如权利要求1所述的方法,其进一步包括场景变换检测流程,其用于确定所述当前帧是否被承认为场景变换帧。10.如权利要求9所述的方法,其中所述流程选择所述第一阶段时域滤波器输出或所述自适应空域滤波器输出之一。11.一种用于在视频分配系统上降低噪声的设备,其包括运动补偿时域滤波器,其适于利用在对图像数据进行压缩期间预生成的运动矢量,对所述压缩图像数据进行滤波,其中所述滤波操作适于降低所述压缩图像数据中的噪声,消除在所述滤波步骤期间重新生成所述运动矢量的需求,和对压缩图像数据应用自适应空域滤波。12.一种运动补偿时域滤波设备,其用于包括至少三个连续视频帧的预压缩的视频图像数据,以降低所述数据中的噪声,所述视频图像数据包括当前帧、所述当前帧之前的第一锚帧、所述当前帧之后的第二锚帧,其中所述各帧中的每一个具有多个像素,每个所述像素具有关联的幅度,所述当前帧的当前像素是中间像素且匹配于所述第一锚帧内的第一像素与所述第二锚帧内的第二像素,所述方法包括对于P帧与B帧编码第一阶段,其包括减法器,其用于确定位于所述当前帧内的像素的幅度与位于所述第一帧内的像素的幅度之间的绝对值差异,其中第一帧像素位置从当前帧像素位置偏移出预计算的运动矢量;比较器,其用于对绝对值像素差与存储为表的形式的β(前向)值表进行比较,计算器,其通过对前锚帧像素与当前帧像素各自的幅度值连同β(前向)、(1-β(前向))的数值,以及与前锚帧关联的运动矢量进行算术处理,为前锚帧像素与当前帧像素确定部分值,从而赋值给计算的当前帧像素值,计算器,用于对适用的锚帧像素的部分值结果与当前帧像素的部分值进行相加,以获得单个计算出的像素幅度值;和存储组件,其用于存储编码帧,由此可以比较各帧之间的像素;和另外,对于B帧编码第二阶段,其包括减法器,其用于确定所述当前像素的幅度与所述第二像素的幅度之间的绝对值差异,其中所述第二像素位置是通过一个位置和一个由预计算的运动矢量所描述的偏移而确定的;滤波器系数值β(后向)的表,其关联于所述绝对值差异,计算器,其通过对第二锚帧像素和当前帧像素各自的幅度值连同β(后向)、(1-β(后向))的数值,以及与第二锚帧关联的运动矢量进行算术处理,为第二锚帧像素值确定部分值,从而赋值给计算的当前帧像素值;计算器,用于对适用的锚帧像素的部分值结果与当前帧像素的部分值进行相加,以获得单个计算出的像素幅度值;和存储组件,其用于存储编码帧,由此可以比较各帧之间的像素。全文摘要通过应用利用预生成运动矢量的运动补偿时域滤波,以及在场景变换帧应用自适应空域滤波,从而在视频系统中降低噪声。除了对FIR空域滤波的改进,本发明还通过使用无限冲激响应(IIR)时域滤波来降低噪声,同时保持边沿的清晰度,从而改进了以前的滤波技术。它还使用已作为第一次扫描图像编码的一部分被计算出来的运动矢量,或者作为另一种选择方案,使用代码转换,以降低P帧和B帧图像预处理的计算复杂度。介绍了单阶段P帧时域噪声滤波与双阶段B帧时域噪声滤波。文档编号H04N7/50GK1541482SQ02815861公开日2004年10月27日申请日期2002年8月7日优先权日2001年8月14日发明者胡少伟,陈景养申请人:通用仪表公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1