逐行扫描帧的内插方法

文档序号:7570109阅读:303来源:国知局
专利名称:逐行扫描帧的内插方法
技术领域
本发明涉及逐行帧内插的方法。该方法具体用于图像转换系统,包括帧频的变化例如从50Hz的隔行格式到75Hz的逐行格式。本发明具体地用于电视领域。
目前大部分市售电视机接收并显示每秒25幅的图像,每幅由两帧组成,一个一帧包括图像的偶数行,另一个帧包括图像的奇数行。因此,屏幕一秒钟垂直扫描50次,对于眼睛的反应时间来说,这是比较低的频率。眼睛能将在时间上将离散图像的电视序列看成连续的最低频率不比50Hz小多少。相对比,75Hz的帧频就可很好地抑制闪烁,100Hz更好。后一种解决方法就是将频率加倍。
将频率加倍最简单的方法就是将接收的每帧重复显示两次。这就是为什么这种设备被称为100Hz AABB的原因。它还是隔行的显示(312.5个偶数行显示10ms,然后312.5个奇数行显示随后10ms等等)。
可是,这种简单算法的缺点很明显。虽然对于静止图像还是有效的,但如果物体在屏幕上移动,就会使眼睛疲劳。水平运动的点看起来被加倍运动,速度越大越是这样。这是因为这样的事实,即随着连续的图像,在一个位置上的点被眼睛观察两次,然后邻近的位置也观察两次(见

图1)。用于控制眼睛使它能跟上移动物体的系统被这些不规则性严重干扰,而且使眼睛不能清楚地识别原始的运动。
一个好的解决方法是检测并计算图像各个部分的运动,并借助于该信息来计算中间图像。这就是所要采取的策略。因此校正了上述100Hz AABB的主要缺点,而抑制了闪烁。
可是,目前电视机的另一个缺点是与显示行的隔行有关。在清晰度高的图像中,由于隔行,细微细节比如屏幕的一行,在每1/25秒只显示一次(见图2)。解决方法是每次垂直扫描都显示所有屏幕的行,而用时间或空间内插来重构未传输的行。这就不禁要问为什么不用100Hz的新频率每帧显示625行?如果保持100Hz的帧频率,再次加倍每秒所显示的行数,因此,比常规的接收机的屏幕行扫描频率提高四倍这就是公知的在4H行频上工作。
在阴极射线管中,提供点扫描的电子束偏转由位于管基处的电磁系统控制。对于高的扫描频率,这些电磁装置吸收的能量以热的形式存贮,这就很快使它们不适于在当前的大众市场技术中发挥作用。因此,需要减少行频。
该上限目前达到3H。因此,我们考虑基于帧频为75Hz每帧625行的判据。在75Hz时闪烁效果几乎看不见。例如,某些工作站的屏幕具有72Hz的帧频,这就使观看它比观看电视屏幕要轻松得多。
本发明提出从隔行帧来内插逐行帧的方法。
汤姆逊消费电子有限公司(Thomson Consumer Electronics)SA的欧洲专利申请95 400722.5(D94/1281)和95 400721.7(D94/1281)描述了从50Hz隔行格式到100Hz隔行格式的图像转换方法和设备。
Thomson Consumer Electronics的另一欧洲专利申请EP-A-064047涉及到图像转换系统中测量运动估算的置信度的方法。
本发明的目的是转换隔行帧成为逐行帧的方法,包括内插和运动补偿对帧频的改变,其特征在于当与要内插的象素相关的运动矢量为非0时,或当该矢量为0但该矢量的置信度小于给定的阈值时,时间上位于两输入帧之间的帧的象素的内插由对由第一运动-补偿线性时域滤波器、第二运动-补偿线性滤波器和运动补偿中值时域滤波器获得的值进行中值滤波来实施。
滤波是由三个基值滤波器、中值滤波器和时域滤波器三者完成的,并结合中值算子的优点。该结合具有几个优点无论对什么样的图像内容,在它们中的线性滤波器与运动补偿相结合均能给出正确的结果,但损失了分辨率;第一中值滤波器输出的图像保持了好的分辨率;最后中值滤波器通过排除过分分散的值来修改上述三个滤波器的缺点。总体上,第一中值滤波器的偏差由线性滤波器来限制,它通常不怎么分散。
按照具体实施例,矢量的置信度为由该矢量产生的误差的线性函数。
以这种方法确定的置信度的评估使得有可能只采用运动补偿就能为后面提供足够可靠的结果。
按照具体实施例,所说的线性滤波器取决于分别位于时间上围绕要内插的帧的输入帧内的两个象素,每个象素的线性内插系数对应于分别分离要内插的帧和先前输入帧以及随后输入帧的时间间隔的比率。
按照具体实施例,当先前输入帧为奇数帧时,所说的中值时域滤波器适用于下面的三个象素对于要内插的帧的偶数行,a=P[(y-1x)+Front(i,j),12]]]>b=P[(yx)-Rear(i,j),0]]]>c=P[(y+1x)+Front(i,j),12]]]>则P2(x,y)=med(ma+(1-m)b;med(a,b,c);mc+(1-m)b)对于要内插帧的奇数行,a=P[(y-1x)-Rear(i,j),0]]]>b=P[(yx)+Front(i,j),12]]]>c=P[(y+1x)-Rear(i,j),0]]]>则P2(x,y)=med((1-m)a+mb;med(a,b,c);(1-m)c+mb))其中Front(i,j)和Rear(i,j)是与要内插的象素相关的运动矢量的分量,该运动矢量被定标并取整,其中“0”和“1/2”分别代表要内插帧的前一帧和后一帧,m表示内插系数,它取决于在输入帧之间要内插帧的位置。
按照具体实施例,当先前的输入帧为奇数帧时,所说中值时域滤波器适用于下面三个象素对于要内插的帧的奇数行a=P[(y-1x)+Front(i,j),1]]]>b=P[(yx)-Rear(i,j),12]]]>c=P[(y+1x)+Front(i,j),1]]]>则P3(x,y)=med((1-n)a+b;med(a,b,c);(1-n)c+b)对于要内插的帧的偶数行a=P[(y-1x)-Rear(i,j),12]]]>b=P[(yx)+Front(i,j),1]]]>c=P[(y+1x)-Rear(i,j),12]]]>则P3(x,y)=med(na+(1-n)b;med(a,b,c);nc+(1-n)b)其中Front(i,j)和Rear(i,j)是与要内插的象素相关的运动矢量的分量,该运动矢量被定标并取整,其中“1/2”和“1”分别代表要内插帧的前一帧和后一帧,n表示内插系数,它取决于在输入帧之间要内插帧的位置。
按照具体实施例,用于每个线性滤波器的两个象素是从由中值时域滤波器所用的三个象素组中选择的。
按照具体实施例,内插的输入帧从频率为25Hz的逐行输入图像中推演出来,该输出帧的频率为75Hz,第一输出帧时间上与从第一输入图像推演出来的第二帧合并,第二输出帧时间上位于所说第一输入帧和从第二输入图像中推演出来的第一帧之间,第三个输出帧时间上位于从所说第二输入图像推演出来的两个输入帧之间,对于所说第二输出帧,所说时域滤波器采用的内插系数为1/2。
与利用由开始两个输入帧之间的第二输出帧的相对位置导出的系数1/3和2/3相比,使用系数1/2能更好地减少抖动。
按照具体实施例,所说第三输出帧的象素是第二输入图像的象素。
在所谓的“胶片模式”转换的情况下,第三输出帧实际上对应于第二输入图像。如随后具体实施例中所述,第二输入图像的噪声将被降低。
按照具体实施例,当与要内插的象素相关的运动矢量为0并且该矢量的置信度超过给定阈值时,那么要内插的象素值为中值滤波获得的最终值,中值滤波在下列象素值之间执行首先是对与要内插象素具有相同位置的象素的值分别减去和加上该象素的运动矢量置信度并除以校正因子(scale)而获得的两个象素值,这种情况内插象素要插入的帧可以是先前输入的帧或后来输入的帧;其次是回退值,它从时间和水平线性滤波得来,时间和水平线性滤波针对先前和后来输入帧的相应行的象素进行,这些行与包含要内插的象素的行具有相同位置,如果垂直空域滤波适合输入帧的未定行,则执行垂直空域滤波。
按照具体实施例,回退值等于
其中“0”代表在要内插帧之前的输入帧,“1/2”代表在要内插帧之后的输入帧,其中m代表取决于要内插的帧在这些输入帧之间的时间位置的加重系数。
按照具体实施例,当相关的运动矢量不为0且该矢量的置信度很低时,通过对如下步骤获得的值中值滤波来执行帧中给定奇偶性的行的象素的内插,此帧的相反奇偶性的行数等于输入帧的行数,这些步骤是首先,垂直线性滤波(F1);第二,对两个象素进行的垂直空间-时间中值滤波和对一个象素进行的运动补偿;第三,对交叉的四个象素进行空-时域滤波并对一个象素进行运动补偿。
该类两级滤波具有与先前滤波器的滤波相同的优点。另外,经过在垂直和对角两方向的中值滤波,确保了在这些方向上细微结构的良好再现。
当前输入的图像的象素的影响是大的大部份所用象素属于该图像。这就减少了运动估算误差的影响。
按照具体实施例,所说垂直线性滤波如下F1(x,y)=12(P[(y-1x),0]+P[(y+1x),0])]]>其中,“0”代表要内插的帧的时域位置。
按照具体实施例,对两个象素进行的垂直空域-时域滤波和对一个象素进行的运动补偿如下F2(x,y)=med(P[(y-1x),0];P[(y+1x),0];P[(y+vYx+vx),12])]]>其中Vx和Vy为与要内插的象素相关的运动矢量的坐标,其中“0”代表要内插的帧,“1/2”代表后来输入的帧。
按照具体实施例,所说的四个交叉象素和运动补偿的象素的空域-时域滤波为F3(x,y)=med(P[(y-1x-1),0];P[(y+1x-1),0];P[(y-1x+1),0];P[(y+1x+1),0];P[(y+vyx+vx),12])]]>按照具体实施例,当与要内插的象素相关的运动矢量为0时,而且该矢量的置信度大于给定的阈值时,所说象素取后来输入帧中与其有相同位置的象素的值。
结合下面的附图对非限制性的实施例进行描述,本发明的特征和优点将会更清楚。
图1为时间轴上本方法的输入和输出帧的示意图;图2为按照本发明实施该方法的设备的方框图;图3为图2设备的某点处帧的时序图;图4示出了包含周期性结构的图像,以及为该图像所产生的运动矢量的例子;图5为误差矩阵中一行误差的直方图,该矩阵与运动矢量的垂直成份有关,在该矩阵中包括最小误差;图6图示了在确定图像的运动矢量场时处理周期性块所采用的方法;图7表示两个低通滤波器;图8表示帧1、2和2/3、以及子块相对于主块的位置,该主块的矢量被选为子块的选用矢量;图9表示帧1、2/3和3、以及中间块相对于主块的位置,该主块的矢量被选为中间块的选用矢量;图10(a)表示递归时间噪声减少方法所用的非线性函数;图10(b)为用于减小递归时间噪声的滤波器的框图;图11表示用于内插帧1的中值型空域-时域滤波器;图12图示了图像中周期性结构所出现的问题;图13给出了用于内插帧2的空域-时域滤波器的两个例子;图14给出了用于内插帧3的空域-时域滤波器的两个例子;图15为胶片模式中图2的设备的某点处帧的时序图;图16展出了三个帧,时间上分别对应于视频帧的正常操作模式、胶片帧的正常工作模式和胶片模式的特殊模式。
下面将结合从50Hz隔行扫描到75Hz逐行扫描的电视图像的频率转换方法来解释本发明。
同一天一起申请的两个相关专利处理本方法的其它方面。
协议定义显示一输出帧的时间间隔为一个周期(period),即1/75秒。定义算法的一个完整循环所要求的时间间隔为一个循环(cycle),即三个周期或1/25秒。
该过程每三个输出帧或每二个输出帧自身相同地重复。根据协议,第一输出帧标号为1,第二输出帧标号为2等等。可是,由于过程是周期性的,帧1、4、7…将以相同的方式产生,它们将被称为类1帧。类似地,帧2、5、8…,帧3、6、9…也分别以相同方式产生并分别称为类2和类3帧。
协议上,输入帧将参考它们相对于输出帧所占位置来标号。因此,时间上与输出帧对应的输入帧采用该输出帧的标号。位于两个输出帧之间的输入帧采用该两帧的标号例如,位于输出帧2和3之间的输入帧称为帧2/3。
图1图示了输入和输出帧的各自位置。
输入帧号1包括显示在电视屏幕上的第一行。它被标志为行0。该帧即奇数输入帧由行0、2、4、…624构成。偶数帧2/3将包括行1、3、5…623。变量y将代表行数,在扫描方向从屏幕的顶部到底部增大,变量x将用于表示象素的横坐标,在扫描方向从左到右增大。t代表时间,归一化为一个时间单元代表一个循环周期。帧1将位于时间0,帧2/3位于时间1/2而帧4位于时间1。
由于它们是逐行扫描帧,输出帧将包括所有行数。在给定象素位置的亮度信号将由变量P(x,y,t)表示。
总体方案有利的是所描述的该转换过程和实施设备只需要单个帧存贮器。该限制由该事实来解释,即该过程打算用大众化设备来实施。从硬件的观点看,实施的成本减少是一个重要的因素。
图2是本发明实施设备的方框图。下面将详细地见到每个单元。
该设备包括构成FIFO模式的随机存取存贮器1,通过在读出模式时重复每第二帧来增加帧频,从50变到75。因此,存贮器1接收50Hz频率的帧作为输入并给出75Hz频率的帧。
该装置还包括噪声减少电路2,它又包括两个滤波器主要减少脉冲型噪声的空域滤波器,以及循环的时域滤波器。该空域滤波器接收由存储器1输出的帧,然后传送该滤波的帧到时域滤波器。时域滤波器也接收定义为投影帧的帧,它由先前处理帧的信息组成。后面将更详细描述时域滤波器的工作。
经时域滤波的帧存贮在帧存贮器3中并传送到内插器4。该内插器4执行输入帧之间的内插,以从该设备提供输出帧。该内插器4接收来自运动估算电路5的运动矢量。运动估算是在帧存贮器3中存贮的帧和从存贮器1中读出的“当前”帧之间进行的。在噪声减少期间使用与运动估算有关的多个信息项。
图3包括多个时序图,它们与由图5的设备中各个单元处理的帧有关。每个时序图的标识字母与标识与其后面图的单元之间连接的字母相对应。
该帧的扫描以锯齿波形式表示。
第一时序图(1)对应于存贮器1的输入帧,这就是说对应于50Hz的隔行帧。帧1为奇数帧,帧2/3为偶数帧等等…。
第二时序图(A)对应于存贮器1的输出,该帧以75Hz的速率重读。帧1(和帧4、7)只读一次,即使在写被中断之前也开始读。帧2/3(和帧5/6、8/9…)读两次。
第三时序图(G)表示帧存贮器3的输出。该存贮器在其输入帧与其输出帧之间保持一个帧的时间间隙,因此内插可有效正确地进行。为此,该存贮器不是简单地当作为一个帧延迟。如果是这种情况,该滤波的帧2/3将出现在该存贮器的输入端和其输出端。因此,在帧存贮器的输出端滤波的帧1重复两次。
第四时序图(B)表示由运动估算器提供到该设备其它部分的信息的计算周期。正如下面详细解释的,运动估算器在给定循环的每个周期中的工作是不同的。对于类1帧,计算宽块(定义为主块)(标符“MB”)的“粗略”运动矢量,而精确运动矢量用于确定其它两个帧的主块中的子块(标符“SB”)。对于子块的矢量计算基于主块的粗略矢量。标符“MB1//2/3”的时序图指明例如帧1与帧2/3之间的“粗略”运动估算的周期。
第五个时序图(C)涉及从噪声减少电路的空域滤波器的输出。该滤波直接对从存贮器1读出的帧有效。
第六时序图(D)表示由噪声减少电路进行的与空域滤波帧比较的投影帧。
第七时序图(E)指明从时域滤波器的输出,即内插器4的输入和帧存贮器3的输入。最后时序图指明从内插器的输出,即设备本身的输出。
运动估算运动估算器按照等级顺时钟比较过程工作。该过程分为两个步骤。开始是将图像分成16×32象素的粗块或主块,其运动被测定,然后将主块分成子块,以细化矢量场。
估算是针对亮度信号进行的,它通常包括足够的信息来描述屏幕上目标的运动。当然,也可用色度信号或将色度信号与亮度信号组合来作估算。
最初,输入帧在水平和垂直方向由系数2进行子取样。估算所需的计算因此被分成4。可是该子取样帧只被用于运动估算。输出帧的内插是在完全帧的基础上进行。
该子取样自然将运动矢量成份限制为偶数值,由于该强制已经由帧交插而在广播中实行了,故而,这并无大碍。
在子取样时,只有奇数行和偶数列被保留。可是,借助于这里所用的坐标系,图像点将连续标号,而要排除不属于子取样域的象素。
按照本实施例,在子取样前,该帧经过低通滤波器,目的是去掉引起频谱重叠的空间高频率。要在水平方向这么做,就得使用比如具有7个系数的三角窗口Phorizontal=1161234321P(x-3,y,t)P(x-2,y,t)P(x-1,y,t)P(x,y,t)P(x+1,y,t)P(x+2,y,t)P(x+3,y,t)]]>滤波也在垂直方向进行,由于仅保留奇数行,这对应于输入帧1的垂直内插行数和帧2/3的输入行数。为了均匀两子取样输入帧的频谱成份,对输入帧2/3进行低通滤波。Psub-sampled(x,y,12)=14Phorizontal(x,y-2,12)+2Phorizontal(x,y,12)+Phorizontal(x,y+2,12)]]>对于类1帧,用简单的垂直平均来产生奇数行Psub-sampled(x,y,0)=12[Phorizontal(x,y-1,0)+Phorizontal(x,y+1,O)]]]>函数P sub-sampled(x,y,0)和P sub-sampled(x,y,1/2)只对x偶数和y奇数定义。为了简化,该子取样帧将表示为P′(x,y,t)。所用的滤波器在图7中表示。
如所提到的,等级估算过程在一循环的三个周期中的处理是不同的。
-在周期1中,计算的矢量对应于主块,代表帧1和帧2/3之间的运动。
-在周期2中,计算的矢量对应于子块,更精确地代表帧1和2/3之间的运动。其计算是借助于周期1中确定的矢量而进行的。
-在周期3中,计算的矢量对应于子块,代表帧2/3和4之间的运动。在后种情况下,计算是基于中间块的矢量而进行的,该矢量由对应于主块的矢量的刷新值组成。
在帧1和2/3之间粗矢量场的确定图像首先被分为32×16象素的主块。由于有效图像的大小对于判据取样频率为720×576象素,因此,有每行23个主块,每列有36个。
对于标为(i,j)的主块,i在0和22之间,j在0和35之间,定义它们属于近来的帧(时间上最近的帧),即帧2/3或相应帧,出现在各个运动矢量(u,v)中的误差由下式确定E(i,j)(u,v)=k=0,2,4,...,30Σl=0,2,...14|P′[(My*j+1Mx*i+k),t]-P′[(My*j-vMx*j-u),t-1/2]|]]>其中,Mx=32,为沿着主块的横坐标的大小,My=16,为沿着主块的纵坐标的大小,然后计算每个主块的误差矩阵该矩阵的每个单元对应于与可能的运动矢量相联系的误差,即对于u=-16,-14,…,14,16和v=-4,-2,0,2,4Err(i,j)=(E(i,j)(u,v))该运动矢量的成份为偶数并分别在-16和+16,以及-4和+4之间。相关的主块因此与先前帧的检索窗口的块比较,该检索窗口位于该主块相应于先前帧位置的周围。从矢量集合提取的矢量由(u′,v′)代表并对应于误差函数最小值。
对于u=-16,-14,…,14,16和v=-4,-2,0,2,4Errmin=min(E(i,j)(u,v))=Err(i,j)(u′,v′)通过逐块地扫描并将该检索应用到每个主块,来计算全图像的矢量场。
另外,当计算的矢量场处于主块层时进行图像噪声的估算。如此,要计算一个另外的值该矩阵的最大误差对于u=-16,-14,…,14,16和v=-4,-2,0,2,4Errmax=max(E(i.j)(u,v))
Errmin表示两个噪声源之和的估算,即亮度信号中的固有噪声和运动矢量量化噪声。实际上,如果所计算的运动矢量紧密对应于图像中存在的实际运动,Errmin将是存在于具有主块大小的两个相同表面中的亮度差的和因此这些差仅从图像噪声中产生。
另一方面,如果由于可能矢量的量化,运动很难由计算的矢量表示,那么在该矢量中由误差引起的成份将加到先前的噪声中Errimin将不足以定义图像的实际噪声。
因此定义了第二个估算算子,即Errmax-Errmin。这也取决于图像量化噪声。在均匀区域内,最大和最小误差之间的差仅从图像噪声中产生。如果量化噪声高,Errmin和Errmax都受影响。可期望该估算算子因差分而消除了量化噪声。
另外,定义两个估算算子Errminabs和NoiseestErrminabs=min{Errmin(i,j),(Errmax-Errmin)(i,j)}i=0,...,22j=0,...,35Noiseest=min{Err Min(i,j)}i,j对周期1的计算所作的校正按照一个改型的实施例,当图像包含均匀区域时进行第一校正。
在均匀区域上,比如一片兰天,该误差矩阵几乎是常数。抖动是由于图像中的噪声所至。按照本发明的方法所计算的矢量因此是不能预测的,这就导致矢量场的很强非均匀性,这对其余过程会引起偏差。在出现这种非均匀性时,相应的矢量被设置为0。
该设置实际是逐个成份进行的。因此,考虑图像中的水平边界(比如上面为兰天的悬崖),运动矢量的u成份不固定,因为在该矩阵每列上误差为常数。因此该成份被置为0。在垂直边界的情况成份v也是类似的。
按照本发明的实施例,用于确定是否将矢量成份置为0的判据与上面所计算的噪声电平关联。
如果Err(i,j)(0,v)-Err(i,j)(u,v)<Errminabs*threshold_x则u=0如果Err(i,j)(u,0)-Err(i,j)(u,v)<Errminabs*threshold_y则v=0其中Errminabs=min{Errmin{i,j),(Errmax-Errmin)(i,j)}i=0,...,22j=0,...35
threshold_x(阈值_x)和threshold_y(阈值_y)例如等于2的倍数2,4,8…。
很简单,如果由具有0成份的矢量和由运动估算建立的矢量而产生的误差之间的差具有与估算的图像中固有噪声一样的幅度,那么进行校正。
按照本发明的实施例,当图像包含周期结构时进行校正。
这种结构所具有的问题已经在引言中概括了。可是,可以借助于图4和图12的说明更好地理解所想象的检测和校正。
图4中阴影块表示其运动要被检测的块,而两个虚线块表示参考图像中的两个块,这两个块在误差矩阵中引起误差最小值。在输出帧的内插中,不正确的矢量将导致非常明显的斑点。
这些斑点在图12中详细地示出了,其中奇偶相反的两帧之间的块的真实运动由具有水平成份+2的矢量给出。如果运动矢量为0,那么图右手部分所示的斑点隔行出现。该行的高度被夸大以清楚地显示该斑点。
在该实施例的内容中,若主块的大小和运动矢量的垂直成份的范围使得该类误差在垂直方向是不大可能发生的,将只注意到水平周期性(例如具有垂直条的斑马)。垂直成份的范围不允许检测或有效校正。无论怎样,普通技术人员已经能将下面所描述的校正具体应用到垂直周期性上面。
下面将概括两个步骤检测,然后校正该类误差。
该类斑点的检测是在误差矩阵Err的基础上进行的。因此,包含矩阵单元的最小值的列也将包含一个或更多次最小值,如上所述。
首先,包含最小值的误差的列(Rom(u))从阵中提取,其中-16<=u<=+16。让umin为Row(u)中最小值的标符。我们从检测次最小值开始,其特征是为局部最小值Row(u-1)>Row(u)且Row(u+1)>Row(u)只有符合该判据的次最小值中最小的一个被拾取。让usec_min为在列Row(u)中的最小值标符。接下来,位于umin和usec_min之间的次最大值被检测,其特征是为局部最大值Row(u-1)<Row(u)且Row(u+1)<Row(u)只有符合该判据的次最大值中最大的一个被拾取。让usec_max为在列Row(u)中的最大值标符。
图5的直方图表示这种情况特征的例子。
次最小值和绝对最小值与次最大值一起受到另外两个测试来确定周期性结构的存在-两个最小值以值(C1)接近;-它们和次最大值之间的差应明显地与当前噪声电平(C2)相关。
应该做这种预防,以防止在斑马的边缘的主块被认为是周期性。因此,主块可跨越斑马的边缘,一半属于该动物,另一半属于草地。该块可给出误差最小值,可是它将大于与周期性关联的最小值。这也将防止受噪声影响的误差矩阵被认为是周期性的。
我们写成Errmin=Row(umin)Errmax=Row(umax)Err_sec_min=Row(usec_min)Err_sec_max=Row(usec_max)我们设定下面的条件(C1)Err_sec_min-Errmin<a*Errmax(C2)Err_sec_max-Err_sec_min>b*Errminabs(C3)Errmax>c*Errminabs按照本例,取a=0.5b=2c=4满足所有条件的误差列将从与可能包含周期性结构的块相关联的矩阵中得出。
按照一个改变的实施例,只组合前两个条件。
然后与该主块相关联的矢量必须校正。
为此,只考虑周期性的主块是不够的。回到斑马图,忽视该动物不包含在主块中的部分,获得具有垂直条的矩形。检索与矩形相应的先前图像的部分。在不可能决定应考虑哪一个的情况下,将发现几个可能的条状的矩形。为了做该选择,主块逐级放大,以去掉不确定性。该过程由图6图示,其中阴影块为图像行的周期块。
在给定的行,周期性的主块的检测将表明已经发现图像的整个区域包含周期性结构。该主块的运动矢量不立即提取。而是与该块对应的误差矩阵将被存贮。
过渡到同一行的下一个主块,如果也是周期性的,则再存贮其误差矩阵。最终到达周期性结构的尾端,在这例子中是斑马的右手边缘。
让(i1,j1)作为所遇到的第一个周期性主块的坐标,而让(i2,j2)作为最后一个的坐标。一个数接一个数地将所有存贮的矩阵合计在一起。所获得的矩阵成份等于对于所有u∈[-16,-14,…,14,16]以及对于所有v∈[-4,…4]Sum(u,v)=∑Err(i,j)(u,v)i=i1,i2j=j1如果将基本算法加到宽度(i2-i1+1)乘以单个主块宽度的主块,将获得相同的误差矩阵。该误差矩阵显然具有相同尺寸。
该矩阵还是不足以确定正确的运动矢量。必须考虑周期结构开始处和结束处的块。因此,这些块通常包含运动中的周期性区域的边缘,并因此可以去掉包含在误差矩阵中的信息的含糊性。
在确定上述的矩阵后,进行以下操作-考虑周期性结构开始和结束处的两个主块的矢量。对于每一个,相应的误差从矩阵Sum中提取。具有最小误差的矢量将被提取。
-如果该矢量不对应于该误差矩阵Sum中其列的局部最小值。该误差矩阵的最小值被选择而相应的矢量被提取。
-最后,为获得在邻近周期性块之间的垂直连续性,进行测试以确定在该周期块的行上面紧挨着的某个块是否也是周期性的,如果是,其矢量被提取,只要它确实对应于该误差矩阵列中的最小值。
提取的矢量因此将是用于该周期性结构块集合的矢量。
在确定该矢量后及可能的第一和/或第二校正后,所获得的矢量场表示如下
其中0≤i≤22且0≤j≤35矢量场的空间分辩率的细分这段过程在周期2和3中连续进行两次。
要考虑通过将矢量分成更小单元将运动更细化,该更小单元即为子块(按照本例,大小为4×4象素)。这将有可能为运动物体的边缘获得一个更好的矢量场。
按照本例,在一个图像宽度上有180个子块,在高度上有144个子块。
按照本实施例,与可能的运动矢量的全范围相关的误差集合不重算,因已经对该主块做过了。对每个子块,从主块的矢量中选择选用矢量,并确定由每个这种选用矢量产生的误差。
在本例中,子块的选用矢量为最靠近该子块的四个主块的矢量。给出最小误差的矢量将分配给该子块。
使用与包含所考虑子块的块相邻的主块相关的选用矢量,使得能精确地确定运动物体的边缘,因此确定均匀运动区域的边界如果运动物体的边界轻微地进入主块,与后者对应的矢量将指示背景而不是运动的物体,因为该主块最大的象素部分属于背景,其运动可以不同于该物体的运动。因此,该物体的边缘将不会正确地重构。
另一方面,如果考虑该物体的边缘的子块,相邻主块的矢量也要考虑,这些子块的运动将被正确地估算,因为甚少有一个相邻主块将形成所讨论物体的一部分。
帧2我们试图确定使帧1和2/3之间的子块的亮度差最小的矢量场。可是最终要显示的是输出帧2。为了提高精确度,该子块因此被认为形成该帧2的一部分。
对于帧2的每一个子块,四个相邻的主块被确定如下子块被正交地投射到帧2/3(见图8)。然后四个最接近的块将按如下选择若讨论子块(i,j)(0<i<180,0<j<144),则4个相应主块为如果imod8<4则i′=-1否则i′=1如果jmod4<2则j′=-1否则j′=1Rel(i,j)(1)=MB(i∨8,j∨4)Rel(i,j)(2)=MB(i∨8+i′,j∨4)Rel(i,j)(3)=MB(i∨8,j∨4+j′)Rel(i,j)(4)=MB(i∨8+i′,j∨4+j′)其中,a除b的欧基里德除法之商用a∨b表示,余数用amodb表示。
一旦选择了选用矢量,它们必须被比较。如上所指明,子块形成要显示帧的一部分。上述的主块的矢量因此被定标。我们开始计算该2/3并且将其结果取整。因此我们获得帧1和帧2之间的运动矢量。该剩余的矢量对应于帧2和帧2/3之间运动。如果这两个矢量分别称为后矢量和前矢量,就有对于m=1,2,3Rear(i,j)(m)=int(23·Rel(i,j)(m))]]>Front(i,j)(m)=Rel(i,j)(m)-Rear(i,j)(m)下面我们计算与这四个矢量相关的四个误差对于m=1,2,3,4Err(i,j)(m)=Σl=0,2k=0,2|P′[(Sy·i+lSx·i+k)+Front(i,j)(m),12]-P′[(Sy·j+lSx·j+k)·Rear(i,j)(m),0]|]]>其中Sx和Sy代表沿子块坐标的横坐标和纵横标的大小。
该子块的矢量将是具有最小误差的矢量。通过扫描所有的子块而获得由Raw(i,j)表示的矢量场。
按照一个变型的实施例,该场的矢量成份受到中值滤波,以消除极值。因此,子块中的小误差不如矢量场的局部差别明显。
令a=(10)·Raw(i-1,j);a′=(01)·Raw(i-1,j)b=(10)·Raw(i,j);b′=(01)·Raw(i,j)c=(10)·Raw(i+1,j);c′=(01)·Raw(i+1,j)则该矢量场可以写为SB2(i,j)=med(a,b,c)med(a′,b′,c′)]]>因此,对于给定子块进行中值滤波,这要计入先前为该子块计算的矢量和水平相邻子块的矢量。
因此获得4×4象素子块的矢量场。
也为每个子块定义与所选择矢量相关的误差。该误差是对每个运动矢量置信度的测定。该误差可以写为Err2(i,j)=Σl=0,2k=0,1,2,3|P′[(Sy·j+lSx·i+k)]+Front(i,j),12]-P′[(Sy·j+lSx·i+k)]-Rear(i,j),O]|]]>帧3与帧2所做的一样,通过估算帧2/3和帧4之间的运动,也对帧3进行子块层矢量的计算。可是该计算与先前所采用的不同。因此,按照本实施例,考虑到延迟行的经济问题,不计算帧2/3和帧4之间的主块的运动矢量。实际上,对于帧3如果真需要计算该主块以及邻近子块的矢量,对于所给定的子块,就必须计算所有相邻主块的矢量,从而引入近似对应包含在主块的一列中行数的延迟。
从先前对帧1和2/3之间的主块所计算的矢量场中计算出帧3子块的矢量。这在快速运动情况会引起问题,即该子块的矢量要从不再反映实际运动的矢量中计算出来。
按照本实施例,通过对中间块产生一个矢量场,来更新与主块有关的信息,中间块的大小在主块和子块中间。
按照本实施例,中间块具有的大小为4行32象素其宽度为主块的宽度,其高度为子块的高度。在确定帧1和2/3的主块的矢量场的帧2/3和帧4的基础上,来计算与这些中间块相关的、具有平均空间分辨率的矢量场。其次,子块的矢量场将从它推演出来。可看出,如果在帧1和2/3之间确定的矢量场被作为选用矢量源的话,无论如何,在来自帧2/3和4的信息的基础上都将完成误差的计算。
用于对帧2子块类似的方法,考虑对属于输出帧即帧3的中间块进行计算。如上所述,有理由将加到中间块的运动矢量分裂成两个矢量。因此,对于矢量(u,v),两个矢量Front和Rear将由下式确定Front=23(u,v)]]>Rear=(u,v)-Front与中间块(i,j)的运动矢量(u,v)相关的误差如下式
对于给定的帧3的中间块,相应的主块被确定即正交投射到帧3的主块,它包括该中间块。
为给定的中间块(i,j)确定了多个选用矢量
-对应于主块的矢量,-通过在正方向用一个量化步骤修改其水平成份,而从上述的主块矢量中推演出来的矢量,-通过在负方向用一个量化步骤修改其水平成份,而从上述的主块中推演出来的矢量,-与中间块最接近(上或下)的主块的矢量,-通过在正方向用一个量化步骤修改其水平成份,而从上述的主块中推演出来的矢量,-通过在负方向用一个量化步骤修改其水平成份,而从上述的主块中推演出来的矢量,按照本实施例,这六个选用矢量应为如果jmod4<2则j’=-1否则j’=1RelIB(i,j)(1)=MB(i,j∨4)
RelIB(i,j)(4)=MB(i,j∨4+j′)
其中,a除b的欧基里德除法之商用a∨b表示,其余数用amodb表示。
第二和第三矢量具有与第一矢量相同的垂直成份,水平成份则变化了。类似地,第五和第六矢量具有与第四矢量相同的垂直成份,水平成份则变化了。这样选择是由于中间块的大小只有两行高。如果选择中间块的高度更大,就可能进行垂直成份的校正。可是这里中间块只有两行高,很难可靠地确定垂直成份,因此难以校正它。
然后对于每个中间块计算与这六个矢量中的每一个相关的误差。从与中间块对应的六个选用矢量中拾起的矢量为给出最小误差的一个。
按照改型的实施例,省略了水平成份的校正。这就可以避免在受噪声影响的图像情况下在矢量场中产生相当强的不连续性。
最终获得具有平均空间分辨率的矢量场IB(i,j)。
帧3运动估算的最后步骤包括从中间块的矢量场中确定子块层的矢量场。子块自然分给该中间块,该子块形成该中间块的一部分。按照本例,为每个子块确定两个选用矢量第一选用矢量为包含子块的中间块矢量,而第二矢量为下面定义的相邻中间块的矢量。
对于坐标为(i,j)的子块,两个选用矢量将为如果imod8<4则i′=-1否则i′=1Rel(i,j)(1)=IB(i∨8,j∨4)Rel(i,j)(2)=IB(i∨8+i′,j∨4)因此,该矢量将如下计算对于m=1,2Front(i,j)(m)=int(23·Rel(i,j)(m))]]>Rear(i,j)(m)=Rel(i,j)(m)-Front(i,j)(m)然后误差为对于m=1,2Err(i,j)(m)=Σk=0,2l=0,2|P′[(Sy·j+lSx·i+k)+Front(i,j)(m),1]-P′[(Sy·j+lSx·i+k)]-Rear(i,j)(m),12]|]]>给出最小误差的矢量将被提取。对于获得矢量场(SB3(i,j))也进行中值滤波,并计算相应的误差场(Err3(i,j))。
噪声减少噪声减少包括两个步骤-空间噪声减少,-运动补偿的时间噪声减少。
第一步骤访问在单帧中包含的信息,而第二步骤访问在多帧中包含的信息,在此为两个连续的帧。
下面只描述亮度信号的滤波。
在本例中,不需考虑色度信号的空域滤波,因为色度取样与方向型中值滤波器无关。假如色度信息更密,具有与亮度信息相同的分辨率,则明显地色度信号也能被滤波。
通过考虑将输入帧大小除以色度子取样系数(即对于4∶2∶2输入格式在横坐标x上除以2),色度信号的时域滤波可直接从亮度信号的时域滤波推演出来。该运动矢量的x成份也必须除以同一系数。
空间噪声减少噪声的空间减少是要减少输入帧中的脉冲噪声。
按照本例,该空域滤波器是方向性中值滤波器,它的优点是不会降低图像的边缘和细节结构。纯线性或中值滤波器没有该优点。
方向性滤波是在三个象素上进行的即“当前”象素和经过该当前象素的同一行上相邻的两个象素。由于这些限制,四个方向的滤波是可能的水平,垂直和两个对角线。
选择的要考虑的方向是同一方向上三个象素之间投射关系的函数。
下面的表表示当前象素(X22)被其相邻象素包围的情况。
水平方向(标定为d1)经过象素X21、X22和X23。
垂直方向(标定为d2)经过象素X12、X22和X32。
第一对角线方向(d3)经过象素X31,X22和X13。
第二对角线方向(d4)经过象素X11、X22和X33。
与每个方向标志有关的投射系数分别表示为c1至c4,滤波的值为m1至m4。
沿着d1c1=min(|x21-x22|,|x23-x22|)m1=med(x21,x22,x23)沿着d2c2=min(|x12-x22|,|x32-x22|)m2=med(x12,x22,X32)沿着d3c3=min(|x13-x22|,|x31-x22|)x
m3=med(x13,x22,x31)沿着d4c4=min(|x11-x22|,|x33-x22|)m4=med(x11,x22,x33)投射系数为最小的方向将被提取。
其它投射函数也可选择。类似地,如果所用窗口允许的话,滤波可在多于三个象素或多于三个方向上进行。
运动补偿的时间噪声减少运动估算的一个很大好处是它允许实施运动补偿的噪声减少处理。
我们从假设干扰电视图像的噪声基本上具有0数学期望值开始,即其在几个图像上的时间平均趋于0。因此通过图像的时间低通滤波,就可减少该噪声的高频成份。
一种已知的滤波过程包括逐个象素的重复数字滤波。该过程包括对于每个象素存贮一些取样,以及应用这些存贮的值和当前象素之间的递归关系。因此,可能为当前的象素确定一个滤波的值,并更新存贮的值。递归关系的选择和存贮项数目决定了滤波的效果。
可是,将时间低通滤波器用于电视图像序列有一个主要的缺点由于这种滤波的特性,它会在所有运动物体后面产生拖尾,该现象类似于在具有强余磁效应的阴极射线管上所看到的。该现象在某些商业电视机上非常明显。
按照本实施例,采用在有递归关系时计算的运动矢量来改善该现象。重复过程不在具有固定坐标的象素上进行,而是在由运动矢量影射的象素上进行。换句话说,物体的运动被跟随,以使一个图像象素与运动物体的相同点对应。
在本实施例中,时间噪声减少是借助于输入帧(空域滤波的)上的单帧存贮器而进行的。最大精确度的矢量场将被采用,即子块的矢量场。因此,一开始,矢量将在存贮的帧和非噪声减少的输入帧的基础上计算。故而获得的矢量场将用于减少输入帧噪声。内插将在如此处理的输入帧和存贮的帧之间进行因此内插所用的两帧将受到噪声减少。
在本例中,使用单帧存贮器对于每个象素只提取单个过去的取样。则递归过程与两项有关“当前”象素和存贮的取样。
噪声减少由两部分组成
-对与递归关系有关的象素进行匹配;-应用该递归关系。
象素的匹配是在输入帧内逐个子块进行的。输入帧的子块的象素与由存贮帧内相应的运动矢量指定的子块的象素匹配。因此沿着运动矢量场执行存贮帧的投射。
如果输入帧的亮度表示为
包含在存贮器内的噪声减少的帧的亮度表示为
而投射帧的亮度表示为
对于帧2/3,后者可写为x∈{0,1,...,720}y∈{1,3,5,...,575}P^2/3[(yx),12]=P~1[(yx)-SB2(i,j),0]]]>其中i=xmod4j=ymod4对于帧4x∈{0,1,...,720}y∈{0,2,4,...,574}P^4[(yx),1]=P~2/3[(yx)-SB3(i,j),12]]]>其中i=xmod4j=ymod4递归关系现在需要确定和应用。如上所示,它与

有关并将给出
假设物体显示从一帧到下一帧发生很小的变化且某些情况下与滤波器的时间常数相比变化较慢,则亮度上的差别只是由于噪声引起的。在本实施例中,所用的递归关系因此为P~[(yx),t]=P[(yx),t]+P(P^[(yx),t]-P[(yx),t])]]>
其中f为非线性函数,它与噪声匹配并从图10(a)所表示的非线性函数NL中产生,图10(b)中展现了所用的递归滤波器。该函数在曲线的开始部分具有线性部分对于接收的图像与其投射图像之间的细小差别,校正是最大的,输出象素是线性内插的,投射系数为3/4而接收的象素的系数为1/4。如果差别增大,删除图像中真实变迁的概率也增加了。如果偏差太大的话,最好选择完全忽略估算的点处的接收的象素。
按照本实施例,当计算运动矢量时,该函数与估算的噪声变化相匹配这就在要减少的噪声与要保存的信息之间引起差别。
NL可写为NLR+→Rx
NL(x)∀0≤x≤1:NL(x)=min(34x,910x·(x-1)2)]]>x>1NL(x)=0,f是从R到在R+上定义的R的奇函数,其表达式为f(x)=2sxMNL(x2s·xM)]]>其中s为由算法测定的噪声的标准偏差,xM为函数NL的局部最大值。
我们将使S=Noiseest按照本例的一个改型的实施例,当运动矢量的置信度相对于图像噪声很低时,不进行时间噪声减少。
按照另一个实施例,在沿着运动矢量场投射之前进行存贮帧的空域滤波。因此,在运动估算前给出子取样,运动矢量的精确度和以及投射的精确度为2个象素。线性低通滤波器消除了图像的细微部分。测试已经显示出低通滤波可将噪声电平再减少2dB左右。
内插在为每个要内插的帧获得最精确的可能的矢量场后,就要从该信息和输入的帧中推演了要显示的帧。按照所考虑的帧来瞄准不同的目标。
具体地,将采取下列处理方式-我们将在匹配每帧的各个内插过程中保持均匀性两种内插之间的差别太大将导致从一帧到下一帧的差异出现,它每秒重复75次,产生的闪烁比它试图减少的闪烁更有害。
-我们应对以下两个数值进行必要的测试以避免产生可视的干扰,所被测试的值为运动矢量的误差(甚至包括值很大但尚有界的误差)或实际的矢量场与测得的矢量场之间的差异(由于例如量化产生的)。此外,图像中噪声的出现应不会导致内插过程的失败。
帧1的内插(亮度)某种意义上帧1是特殊情况,其偶数行已被征用,可其奇数行必须重建。
帧1的象素的亮度表示为P1(x,y)其中(0≤x≤719;0≤y≤575)。
按照本实施例,采用几种内插来重建失去的行-利用平均垂直线性内插(纯空域滤波);-在静止区域内交播帧1和3(纯时域滤波);-利用运动矢量内插(空域-时域滤波)。
在与矢量相关的判据和与块相关的误差的判据的基础上,逐个对主块选择内插的类型。
与帧1的主块相关的矢量与帧2/3中相同位置处主块的矢量相关。即使运动估算不对帧1的块而对帧2/3的块进行,也要考虑这些矢量。实际上,对帧1块直接估算获得的矢量与对从稳定运动物体的边缘回退计算的帧2/3的矢量类似。
若被检测的运动矢量的置信度大低,则采用的垂直线性内插(纯空域滤波)不是很好的方法。对于本实施例,我们采用下面的内插P1[(x,y)]=12(P[(y-1x),0]+P[(y+1x),0])]]>垂直平均的缺点是在对角线上展现出明显的“阶梯”。另外,它的清晰度一般,顶多与常规电视机一样。还有,它必然产生行闪烁,因为帧2和3不能以这种方法内插。因此,如果可能的话,应该避免垂直平均。
该纯空域滤波用于进一步描述的空域-时域滤波器中。
如果与主块相关的运动矢量为0,所执行的滤波在某种意义上被称为纯时域滤波,它从其它帧选取帧1失去的行。以这种方法来进行两帧的行交插。确定主块的静态特性的所选判据是将运动估算的误差与一个阈值进行比较。如果该误差小于阈值,那么认为该块是静态的。因此,如果只有部分块是静态的,另一部分也将产生可观的误差。
该判据可写成MBError(i,j)<阈值×Noiseest内插象素将写成对于y为偶数P1(x,y)=P(x,y,0)对于y为奇数P1(x,y)=P(x,y,1/2)与平均的垂直型内插相比,该种内插能允许双倍的垂直分辨率并去掉行闪烁。
如果运动矢量非0,或运动矢量为0但不满足先前定义的与相关误差有关的判据,那么空域-时域滤波用于内插。在本例中,该滤波是中值型。
不象纯线性滤波器,中间型滤波器能允许保留好的清晰度和完整地再现图像边缘。
图11图示了该种内插。在该图中,“X”代表要内插的象素,0代表帧1的象素,三角代表帧2/3的象素。
内插象素的值用两个步骤来确定-第一步骤,确定与三个滤波器F1、F2和F3对应的三个值;F1对要内插的象素之上的象素值(b1)和要内插的象素的象素值(b2)进行平均;F2给出b1、b2之间的中间值和帧2/3的象素值(b),象素值(b)由帧1的要内插象素的相应运动矢量的变换得来;F3给出象素值b和与要内插的该象素对角相邻的四个象素值(a1,c1,a2,c2)之间的中值。
-第二步骤,确定由这三个滤波器给出的三个值的中间值。
令MB(i,j)为含有要内插象素的主块的矢量,要内插的象素形成该主块的一部分。

vx=(10)·MB(i,j)vy=(01)·MB(i,j)对于y为偶数P1(x,y)=P[(yx),0]]]>对于y为奇数F1(x,y)=12(P[(y-1x),0]+P[(y+1x),0])]]>F2(x,y)=med3(P[(y-1x),0];P[(y+1x),0];P[(y+vYx+vx),12])]]>F3(x,y)=med(P[(y-1x-1),0];P[(y+1x-1),0];P[(y-1x+1),0];P[(y+1x+1),0];P[(y+vyx+vx),12])]]>最终P1(x,y)=med3(F1(x,y);F2(x,y);F3(x,y))如此构成的滤波器与7个象素值相关,其中只有一个不属于当前帧。因此,改善了不良的运动估算的影响。
而且,清晰度将维持不变,且物体的轮廓将完整地再现,这些都归功于在垂直和对角线方向的沿方向的中值滤波。
帧2的内插(亮度)帧2的内插是在子块层矢量场的基础上进行的。该帧所有的象素都被内插,由于时间上它不属于输入帧,正如帧1的情况那样。
由于均匀性的原因,用于帧2的内插机理的特征与帧1所采用机理的特征相似。
因此,我们逐个子块地进行。
用与帧1相同的方法,如果与子块运动矢量相关的误差很大,用帧1中所用空域-时域滤波器进行内插。可是,由于帧2在时间上位于帧1和帧2/3之间,在帧1和2/3之间的运动矢量分离成两个矢量,一个(前矢量)表示帧1和帧2之间的运动,另一个表示帧2和帧2/3之间的运动。这两个矢量的每一个被取整为一个整值。回忆一下当计算与帧2子块相关的运动矢量时也用了相同的将运动矢量分离成两个矢量的分离方法。在两种情况下都以相同的方法取整,以避免累计误差。如果(i,j)代表包含要内插象素的子块的坐标,我们将计算该矢量Rear(i,j)=int[23·SB2(i,j)]]]>Front(i,j)=SB2(i,j)-Rear(i,j)接下来,确定三个初始值(a,b,c)。根据要内插的象素位于偶数行还是位于奇数行,计算是不同的。
对于y为偶数,使a=P[(y-1x)+Front(i,j),12]]]>b=P[(yx)-Rear(i,j),0]]]>c=P[(y+1x)+Front(i,j),12]]]>然后P2(x,y)=med3((2*a+b)3;med3(a,b,c);(2*c+b)3)]]>对于y为奇数,类似地使a=P[(y-1x)-Rear(i,j),0]]]>b=P[(yx)+Front(i,j),12]]]>c=P[(y+1x)-Rear(i,j),0]]]>然后P2(x,y)=med3((a+2*b)3;med3(a,b,c);c+2*b3)]]>该滤波由图13图示。
P2(x,y)为已内插象素的值且对应于三个值的中间值,即来自两个线性滤波器和一个基于象素值a、b和c的中值滤波器的结果。
两个线性滤波器执行带有加重系数的时域内插,这些系数取决于要内插象素与象素a,b,c的相对位置。应注意到这是两个纯时域滤波器,也就是说在每个输入帧中它们只用单个象素。这就能避免垂直分辨率的损失。
中值滤波器也可能在所产生的帧中保存好的空间分辨率。它还能在用于该三帧的各种内插机构之间保留一定的均匀性。
如果与子块相关的运动矢量为0且如果该矢量的置信度好(低误差),在帧1的情况,内插将是纯时间内插型,即交插帧1和帧2/3的行对于y为偶数P′2(x,y)=P(x,y,0)对于y为奇数P′2(x,y)=P(x,y,1/2)按照一个变型的实施例,也要计算该象素的第二可能值,被称为回退值(fallback value)。该值用Fallback2(x,y)表示,它与大大滤掉所关心两帧内空间高频的线性滤波相对应
通过对上面和下面的象素简单地使用垂直滤波器来内插在这些帧内未定义的象素值。
运动矢量中的置信度也被定义如下Conf(x,y)=Error2(x,y)NBPixel]]>其中NBPixel代表包含在子取样块中的象素数。Conf(x,y)代表一个象素的误差。
那么内插象素的值P2(x,y)为P2(x,y)=med3(P2′(x,y)-Conf(x,y)Scale,Fallback(x,y)P2′(x,y)+Conf(x,y)Scale)]]>值P2(x,y)等于运动补偿的象素值,它偏离后退象素值的大小不应超过被一个校正因子所除的置信度。
帧3的内插(亮度)与帧2所采用的机理非常类似,帧3从帧2/3和4中(即下面循环的帧1)和从子块SB3(i,j)的矢量中内插。只有内插系数和该行的奇偶比将会改变。
因此,计算下列矢量Front(i,j)=int[23·SB3(i,j)]]]>Rear(i,j)=SB3(i,j)-Front(i,j)以及计算下列点对于y为奇数,使a=P[(y-1x)+Front(i,j),1]]]>b=P[(yx)-Rear(i,j),12]]]>c=P[(y+1x)+Front(i,j),1]]]>然后P3(x,y)=med3((a+2*b)3;med3(a,b,c);(c+2*b)3)]]>对于y为偶数,类似地使a=P[(y-1x)-Rear(i,j),12]]]>b=P[(yx)+Front(i,j),1]]]>c=P[(y+1x)-Rear(i,j),12]]]>然后P3(x,y)=med3((2*a+b)3;med3(a,b,c);(2*c+b)3)]]>图14图示了该滤波。如果置信度很好,而且矢量为0,那么将再采用纯时间内插y为偶数
P3(x,y)=P(x,y,1)y为奇数P3(x,y)=P(x,y,12)]]>接下来将计算后退的象素,
运动矢量的置信度为,Conf(i,j)=Error3(i,j)NBpixel]]>最终,将建立显示的象素值,而且,即使置信度很差,也使得该象素不太偏离回退象素值P3/out(i,j)=med(P′3(i,j)-Conf(i,j)Scale,Fallback3(i,j),P′3(i,j)+Cont(i,j)Scale)]]>可以看到,对于前面的帧确保了内插的连续性,因为该算法是从帧2内插中复制过来的。可是,子块的矢量有时间偏差—由于它们是从为前面输出帧而确定的主块中计算出来的—这使得该帧的清晰度比前帧的差,特别是迅速移动的运动情况。
色度的处理比起亮度,色度的内插所受的限制很少,因为,眼睛对色度的分辨率很差。另外,用于无线网络上传输的标准(即所谓的4∶1∶1格式)包括最高为1个色度信号对应4个亮度信号传输的子取样,色度信号自身每隔两行重复。因此,所用滤波器的容差就非常大,这样我们应对简单的滤波器满意。
通过研究包含一半水平方向上象素的帧,并因此取运动矢量的水平成份的一半,色度内插算法就可直接从亮度内插的算法中外推出来。
对于帧1,在亮度模式中使用的、具有7个输入象素的滤波器被限制为3个输入象素让vx=12(10)·MB(i,j)]]>vy=(0 1)·MB(i,j)对于y为偶数P1(x,y)=P[(yx),0]]]>对于y为奇数F1(x,y)=12(P[(y-1x),0]+P[(y+1x),0])]]>F2(x,y)=med3(P[(y-1x),0];P[(y+1x),0];P[(y+vyx+vx),12])]]>F3(x,y)=P[(y+vyx+vx),12]]]>最终P1(x,y)=med3(F1(x,y);F2(x,y);F3(x,y))对于帧2和3,保留了用于亮度的时间中值滤波器,但省略了后退滤波器。从减少空间噪声的滤波器中省略了水平滤波器,因为它过度地滤去空间频率。
胶片模式胶片模式是视频序列以625/25/1的格式,而不是625/50/2的格式产生情况。在输入端,该序列因此为逐行格式,这意味着同一时刻每个输入图像包含2帧。
所有问题都起源于此因此,如果上面描述的算法不做任何修改加到这种序列上,运动估算将完全失效,因为将在相同图像的两帧之间进行主块的计算,对这些块进行的所有后继的估算只产生0矢量。因此,如果不检测运动,就不能进行时间内插或运动补偿。这对显示这些序列是非常不利的,因为每个输入图像只能在屏幕上重复三次。这会导致在任何包含运动的序列中出现特别不能接受的抖动。
一种简单而又便易的、使该抖动效果大大减少的方法是以检测并估算2个不同图像之间运动的这种方式修改信息处理过程,因此,可进行时间内插。
因此,主运动估算(主块过程)将不得不在偶数帧1和奇数帧2/3之间进行而不是在奇数帧1和偶数帧2/3之间进行。图15给出了图示该具体操作模式的时序图。
因此整个处理将移动一个50Hz帧。这意味着在输出端要内插的行将具有与正常处理相反的奇偶性。可是,滤波器和运动估算将严格按照相同的形式工作。因此,将顺序产生如下*逐行帧1,使用主块的矢量场,保留输入行并用前面描述的具有7个点的空域-时域中值滤波器来内插其它行,*逐行帧2,使用输入帧1和2/3估算的子块的矢量场。这里也用先前描述的具有3点的时间中值滤波器。另一方面,不用原始的加重系数2/3和1/3,而用系数1/2和1/2。这意味着以这种方法产生的帧2与帧1和帧2/3等距。该系数简单的修改本身就大大降低了抖动,这在所有已经处理的图像中是显而易见。图16解释了抖动的减少。
*最终,逐行帧3,常使用由中间块校正的子块矢量场,实际上,这里由于帧2/3和4是从相同图像中推演出来,在该两帧之间没有运动。因此它足以将矢量和置信度设置为0。利用这种方法,先前描述的滤波器将纯碎而又简单地交插两个输入帧以再生完善的逐行图像。
最后,有可能不修改滤波器和运动估算机理来处理胶片模式。如果检测到胶片模式的存在,此方案足以控制处理帧2的滤波器的内插系数以及帧3的矢量和置信度的过程。因而,如此获得的抖动减少可以便易地实施。
权利要求
1.将隔行帧转换为逐行帧的方法,包括用内插和运动补偿改变帧频,其特征在于,当与要内插的象素相关的运动矢量不为0或当该矢量为0但该矢量的置信度小于给定的阈值时,通过对经由第一运动补偿的线性时域滤波器、第二运动补偿的线性滤波器和运动补偿的中值时域滤波器所获得的值进行中值滤波来执行时间上位于两输入帧之间的帧的象素(x,y)的内插。
2.按照权利要求1的方法,其特征在于,矢量的置信度是由该矢量产生的误差的线性函数。
3.按照权利要求1或2的方法,其特征在于,所说的线性滤波器取决于分别位于时间上围绕要内插的帧的输入帧内的两个象素(a,b或b,c),每个象素的线性内插系数对应于分别分离要内插的帧和先前输入帧以及随后输入帧的时间间隔的比率。
4.按照权利要求1至3中之一的方法,其特征在于,当先前输入帧为奇数时,所说的中值时域滤波器适用于后面的三个象素对于要内插的帧的偶数行,a=P[(y-1x)+Front(i,j),12]]]>b=P[(yx)-Rear(i,j),0]]]>c=P[(y+1x)+Front(i,j),12]]]>则,P2(x,y)=med(ma+(1-m)b;med(a,b,c);mc+(1-m)b)对于要内插的帧的奇数行,a=P[(y-1x)-Rear(i,j),0]]]>b=P[(yx)+Front(i,j),12]]]>c=P[(y+1x)-Rear(i,j),0]]]>则,P2(xy)=med((1-m)a+mb;med(a,b,c);(1-m)c+mb)其中Front(i,j)和Rear(i,j)是与要内插的象素相关的运动矢量的分量,该运动矢量被定标并取整,其中“0”和“1/2”分别代表要内插帧的前一输入帧和后一输入帧,m表示内插系数,它取决于在输入帧之间要内插帧的位置。
5.按照权利要求1至4中之一的方法,其特征在于,当先前的输入帧为奇数时,所说中值时域滤波器适用于下面三个象素对于要内插的帧的奇数行a=P[(y-1x)+Front(i,j),1]]]>b=P[(yx)-Rear(i,j),12]]]>c=P[(y+1x)+Front(i,j),1]]]>则,P3(x,y)=med((1-n)a+b;med(a,b,c);(1-n)c+b)对于要内插的帧的偶数行a=P[(y-1x)-Rear(i,j),12]]]>b=P[(yx)+Front(i,j),1]]]>c=P[(y+1x)-Rear(i,j),12]]]>则,P3(x,y)=med(na+(1-n)b;med(a,b,c);nc+(1-n)b)其中Front(i,j)和Rear(i,j)是与要内插的象素相关的运动矢量的分量,该运动矢量被定标并取整,其中“1/2”和“1”分别代表要内插帧的前一输入帧和后一输入帧,n表示内插系数,它取决于在输入帧之间要内插帧的位置。
6.按照权利要求3和权利要求4或5之一的方法,其特征在于,用于每个线性滤波器的两个象素是从由中值时域滤波器所用的三个象素组中选择的。
7.按照前面各权利要求中之一的方法,其特征在于,隔行的输入帧从频率为25Hz的逐行输入图像中推演出来,该输出帧的频率为75Hz,第一输出帧(F1)时间上与从第一输入图像推演出来的第二帧重合,第二输出帧(F2)时间上位于所说第一输入帧和从第二输入图像中推演出来的第一帧(F2/3)之间,第三个输出帧(F3)时间上位于从所说第二输入图像中推演出来的两个输入帧(F2/3,F4)之间,对于所说第二输出帧,所说时域滤波器采用的内插系数为1/2。
8.按照权利要求7的方法,其特征在于,所说第三输出帧的象素是第二输入图像的象素。
9.按照权利要求1至8中之一的方法,其特征在于,当与要内插的象素相关的运动矢量为0并且该矢量的置信度超过给定阈值时,那么要内插的象素值为中值滤波获得的最终值,中值滤波在下列的象素值之间执行首先是对与要内插象素具有相同位置的象素的值分别减去和加上该象素的运动矢量置信度并除以校正因子(scale)而获得的两个象素值;这种情况内插象素要插入的帧可以是先前输入的帧或后来输入的帧;其次是回退值,它从时间和水平线性滤波得来,时间和水平线性滤波针对先前和后来输入帧的相应行的象素进行,这些行与包含要内插的象素的行具有相同位置,如果垂直空域滤波适合输入帧的未定行,则执行垂直空域滤波。
10.按照权利要求9的方法,其特征在于,回退值等于
其中“0”代表在要内插的帧之前输入的帧,“1/2”代表在要内插的帧之后的输入帧,其中m代表加重系数,它取决于在这些输入帧之间要内插的帧的时间位置。
11.按照权利要求9或10之一的方法,其特征在于,当相关的运动矢量不为0或该矢量的置信度很低时,通过对如下步骤所获得的值进行中值滤波(P1(x,y)),执行帧(1)中给定奇偶性的某行的某象素(P(x,y))的内插,该帧中相反奇偶性的行数等于输入帧(1)的行数;这些步骤是首先,垂直线性滤波(F1);第二,对两个象素进行的垂直空域-时域中值滤波和对一个象素进行的运动补偿(F2);以及第三,对交叉的四个象素进行的空域-时域中值滤波和对一个象素进行的运动补偿(F3)。
12.按照权利要求11的方法,其特征在于,所说垂直线性滤波(F1)如下F1(x,y)=12(P[(y-1X),0]+P[(y+1x),0])]]>其中,“0”代表要内插的帧的时域位置。
13.按照权利要求11或12之一的方法,其特征在于所说对两个象素进行的垂直空域-时域滤波和对一个象素进行的运动补偿(F2)如下F2(x,y)=med(P[(y-1x),0];P[(y+1x),0];P[(y+vYx+vx),12])]]>其中Vx和Vy为与要内插的象素相关的运动矢量的坐标,其中“0”代表要内插的帧,“1/2”代表后来输入的帧。
14.按照权利要求11至13中之一的方法,其特征在于所说对四个交叉象素和运动补偿的象素进行的空域-时域滤波(F3)为F3(x,y)=med(P[(y-1x-1),0];P[(y+1x-1),0];P[(y-1x+1),0];P[(y+1x+1),0];P[(y+vyx+vx),12])]]>
15.按照权利要求11至14中之一的方法,其特征在于,当与要内插的象素相关的运动矢量为0时,而且该矢量的置信度大于给定的阈值时,所说象素的值取后来输入帧中与其有相同位置的象素的值。
全文摘要
一种将隔行帧转换成逐行帧的方法,包括用内插和运动补偿改变帧频,其特征在于:当与要内插象素相关的运动矢量不为0或该矢量为0但该矢量的置信度小于给定的阈值时,通过对经由第一运动补偿的线性时域滤波器、第二运动补偿的线性滤波器和运动补偿的中值时域滤波器所获得的值进行中值滤波来执行时间上位于两输入帧之间的帧的象素(x,y)的内插。此方法具体用于电视领域。
文档编号H04N5/44GK1170317SQ9612384
公开日1998年1月14日 申请日期1996年12月22日 优先权日1995年12月22日
发明者凯瑟琳·亨伯格 申请人:汤姆森多媒体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1