一种双向运动估计去隔行方法与流程

文档序号:12378526阅读:435来源:国知局
一种双向运动估计去隔行方法与流程

本发明涉及一种视频处理中的去隔行方法。特别是涉及一种双向运动估计去隔行方法.



背景技术:

为了节省传输带宽,一些主流的广播电视系统使用隔行扫描的格式处理待传输的视频信号。但是隔行扫描会造成边缘闪烁、锯齿现象和场间混叠等视觉上的缺陷。目前的技术愈发成熟,主流的视频播放设备都支持逐行扫描,因此需要将隔行扫描的视频源转化为逐行扫描的视频源,这个转换的过程称之为去隔行。

针对去隔行研究,前人提出了多种去隔行算法,这些算法可以大致的分为两类:非运动补偿算法和运动补偿算法。

非运动补偿算法主要包括线性去隔行算法和非线性去隔行算法。线性去隔行算法主要有时域滤波、空域滤波和垂直时域滤波等,它们在静止区域表现较好,计算复杂度低,但是在运动幅度较大区域和细节丰富区域表现较差。非线性去隔行算法主要有基于边缘插值和基于权值插值等,它们在一些运动幅度较大区域表现较好,运动复杂度相对较低。

基于运动补偿去隔行算法是目前比较先进的去隔行算法,它能够在一些情况下提供比非运动补偿去隔行算法更好的效果。这种算法一般是通过运动估计找出有效的运动信息,通过有效的运动信息插值缺失的像素点,从而达到去隔行的目的。主要的运动估计方法有贝叶斯运动估计、块匹配运动估计等,其中块匹配运动估计由于相对简单可行,得到了广泛的使用。

基于块重叠的运动补偿去隔行算法使用块匹配运动估计。这种算法在运动幅度不大区域能够提供较好的去隔行效果,但是这种算法有误差传递、插值精度较低等缺陷。



技术实现要素:

本发明所要解决的技术问题是,提供一种能够在适当计算复杂度的情况下提供较好的去隔行效果的新的双向运动估计去隔行方法。

本发明所采用的技术方案是:一种双向运动估计去隔行方法,包括如下步骤:

1)针对隔行扫描视频序列的第一场,采用场内信息进行插值得到重建的图像,选取两个参考帧和一个待插值场,所述两个参考帧是与所述待插值场在时间上相邻的前后各一个重建的图像,其中,与所述待插值场在时间上相邻的后一个重建的图像是采用场内信息进行插值获得的重建的图像,所述的待插值场是基于所述的两个参考帧进行重建获得的图像;

2)从待插值场中选取待匹配块,待匹配块的大小为m×(2n+1),其中m是待匹配块的列数,(2n+1)是待匹配块的行数,n是大于等于1的整数,待匹配块中的奇数行都是原始像素点位置,偶数行都是待插值像素点位置,当下次选取待匹配块的时候,纵向上的两个相邻待匹配块共用一行;

3)从步骤1)中两个所述的参考帧中分别选取一个矩形搜索窗,使步骤2)中所述的待匹配块的位置对应两个所述矩形搜索窗的中心位置;

4)在两个所述的矩形搜索窗中分别找到最佳匹配块,两个所述的最佳匹配块有相应的绝对差值和:SADforward与SADbackward,以及相应的运动补偿值:Iforward和Ibackward,根据所述的绝对差值和及运动补偿值获得最终的插值I,最终的插值公式如下:

<mrow> <mi>I</mi> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <msub> <mi>SAD</mi> <mrow> <mi>f</mi> <mi>o</mi> <mi>r</mi> <mi>w</mi> <mi>a</mi> <mi>r</mi> <mi>d</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>SAD</mi> <mrow> <mi>b</mi> <mi>a</mi> <mi>c</mi> <mi>k</mi> <mi>w</mi> <mi>a</mi> <mi>r</mi> <mi>d</mi> </mrow> </msub> </mrow> </mfrac> <mo>&times;</mo> <mrow> <mo>(</mo> <msub> <mi>SAD</mi> <mrow> <mi>f</mi> <mi>o</mi> <mi>r</mi> <mi>w</mi> <mi>a</mi> <mi>r</mi> <mi>d</mi> </mrow> </msub> <mo>&times;</mo> <msub> <mi>I</mi> <mrow> <mi>b</mi> <mi>a</mi> <mi>c</mi> <mi>k</mi> <mi>w</mi> <mi>a</mi> <mi>r</mi> <mi>d</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>SAD</mi> <mrow> <mi>b</mi> <mi>a</mi> <mi>c</mi> <mi>h</mi> <mi>a</mi> <mi>r</mi> <mi>d</mi> </mrow> </msub> <mo>&times;</mo> <msub> <mi>I</mi> <mrow> <mi>f</mi> <mi>o</mi> <mi>r</mi> <mi>w</mi> <mi>a</mi> <mi>r</mi> <mi>d</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

5)针对待插值场边界情况的处理,包括:当待插值场是奇场时,对于底行的插值,是通过以底行为轴对称向下扩展一行,重复步骤2)至步骤4),当待插值场是偶场时,对于顶行的插值,是通过以顶行为轴对称向上扩展一行,重复步骤2)至步骤4),直至将所有隔行扫描视频序列全部处理完,结束。

步骤2)所述的纵向上的两个相邻待匹配块共用一行,是纵向上两个相邻待匹配块中上面的待匹配块中的最下一行和下面的待匹配块中的最上一行是同一行。

步骤4)中在矩形搜索窗中找到最佳匹配块的方式,包括:首先,搜索的过程中只使用待匹配块中原始像素点和搜索窗中已获得插值的像素点进行搜索,其中将搜索窗中已获得插值的像素点称为重建像素点;并进行如下操作:

(1)从搜索窗的左上角位置选取与待匹配块相同大小的匹配块开始搜索,使待匹配块中的原始像素点对应所述匹配块中的重建像素点,对一个所述的匹配块进行匹配操作;

(2)水平向右移一个重建像素点的位置,重新选取与待匹配块相同大小的匹配块进行匹配操作,直至这一行的末尾;

(3)然后向下移动两行,在最左位置再重新选取与待匹配块相同大小的匹配块由左向右依次进行匹配操作,直至搜索窗中所有的重建像素点都完成匹配操作。

第(3)步所述的匹配操作,包括当匹配块中重建像素点的像素值和待匹配块中与重建像素点相对应的原始像素点的像素值之间的绝对差值和SAD最小的时候,将所述的匹配块作为最佳匹配块,把最佳匹配块中原始像素点的像素值复制到待匹配块中与最佳匹配块中原始像素点对应的待插值像素点位置,从而获得运动补偿的插值

本发明的一种双向运动估计去隔行方法,有效解决了传统的基于块重叠运动补偿去隔行算法的误差传递问题、插值精度较低问题,能够在适当计算复杂度的情况下提供较好的去隔行效果。具有如下有益效果:

1、有效遏制了误差传递问题,使得PSNR维持在一个较高的范围;

2、考虑到待匹配块中原始像素值和搜索窗中重建像素值的奇偶性相同,因此只采用这两类像素值进行运动估计,插值精度获得了一定的提升,另外又由于进行了双向运动估计,并采用自适应的权值结合双向运动估计的运动补偿值,插值精度进一步获得了一定的提升。其中第二场的PSNR要比传统的基于块重叠运动补偿去隔行算法的PSNR高0.5dB左右;

3、在运动估计过程中,只使用搜索窗中重建像素值,因此数据量大大降低,尽管进行了双向的运动估计,但是计算复杂度基本没有提升。

附图说明

图1是本发明双向运动估计去隔行方法中待匹配块的块重叠示意图;

图2是本发明双向运动估计去隔行方法中块匹配方式的示意图;

图3是本发明双向运动估计去隔行方法中双向运动估计的示意图;

图4是本发明双向运动估计去隔行方法测试所用的视频序列图;

图5是本发明双向运动估计去隔行方法与传统的基于块重叠运动补偿去隔行算法(overlappedMC)的重建图像质量对比。

具体实施方式

下面结合实施例和附图对本发明的一种双向运动估计去隔行方法做出详细说明。

本发明的一种双向运动估计去隔行方法,包括如下步骤:

1)针对隔行扫描视频序列的第一场,采用场内信息进行插值得到重建的图像,选取两个参考帧和一个待插值场,所述两个参考帧是与所述待插值场在时间上相邻的前后各一个重建的图像,其中,与所述待插值场在时间上相邻的后一个重建的图像是采用场内信息进行插值获得的重建的图像,所述的待插值场是基于所述的两个参考帧进行重建获得的图像;

2)从待插值场中选取待匹配块,待匹配块的大小为m×(2n+1),其中m是待匹配块的列数,(2n+1)是待匹配块的行数,n是大于等于1的整数,待匹配块中的奇数行都是原始像素点位置,偶数行都是待插值像素点位置,当下次选取待匹配块的时候,纵向上的两个相邻待匹配块共用一行,所述的纵向上的两个相邻待匹配块共用一行,是纵向上两个相邻待匹配块中上面的待匹配块中的最下一行和下面的待匹配块中的最上一行是同一行,图1是针对待匹配块大小为4×3的情况下,块重叠的示意图;

3)从步骤1)中两个所述的参考帧中分别选取一个矩形搜索窗,使步骤2)中所述的待匹配块的位置对应两个所述矩形搜索窗的中心位置;

4)如图3所示,在两个所述的矩形搜索窗中分别找到最佳匹配块,两个所述的最佳匹配块有相应的绝对差值和SADforward与SADbackward,以及相应的运动补偿值Iforward和Ibackward,根据绝对差值和及运动补偿值获得最终的插值I,最终的插值公式如下:

<mrow> <mi>I</mi> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <msub> <mi>SAD</mi> <mrow> <mi>f</mi> <mi>o</mi> <mi>r</mi> <mi>w</mi> <mi>a</mi> <mi>r</mi> <mi>d</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>SAD</mi> <mrow> <mi>b</mi> <mi>a</mi> <mi>c</mi> <mi>k</mi> <mi>w</mi> <mi>a</mi> <mi>r</mi> <mi>d</mi> </mrow> </msub> </mrow> </mfrac> <mo>&times;</mo> <mrow> <mo>(</mo> <msub> <mi>SAD</mi> <mrow> <mi>f</mi> <mi>o</mi> <mi>r</mi> <mi>w</mi> <mi>a</mi> <mi>r</mi> <mi>d</mi> </mrow> </msub> <mo>&times;</mo> <msub> <mi>I</mi> <mrow> <mi>b</mi> <mi>a</mi> <mi>c</mi> <mi>k</mi> <mi>w</mi> <mi>a</mi> <mi>r</mi> <mi>d</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>SAD</mi> <mrow> <mi>b</mi> <mi>a</mi> <mi>c</mi> <mi>h</mi> <mi>a</mi> <mi>r</mi> <mi>d</mi> </mrow> </msub> <mo>&times;</mo> <msub> <mi>I</mi> <mrow> <mi>f</mi> <mi>o</mi> <mi>r</mi> <mi>w</mi> <mi>a</mi> <mi>r</mi> <mi>d</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

在矩形搜索窗中找到最佳匹配块的方式,包括:首先,搜索的过程中只使用待匹配块中原始像素点和搜索窗中已获得插值的像素点进行搜索,其中将搜索窗中已获得插值的像素点称为重建像素点;并进行如下操作:

(1)从搜索窗的左上角位置选取与待匹配块相同大小的匹配块开始搜索,使待匹配块中的原始像素点对应所述匹配块中的重建像素点,对一个所述的匹配块进行匹配操作;

(2)水平向右移一个重建像素点的位置,重新选取与待匹配块相同大小的匹配块进行匹配操作,直至这一行的末尾;

(3)然后向下移动两行,在最左位置再重新选取与待匹配块相同大小的匹配块由左向右依次进行匹配操作,直至搜索窗中所有的重建像素点都完成匹配操作;所述的匹配操作,包括当匹配块中重建像素点的像素值和待匹配块中与重建像素点相对应的原始像素点的像素值之间的绝对差值和SAD最小的时候,将所述的匹配块作为最佳匹配块,把最佳匹配块中原始像素点的像素值复制到待匹配块中与最佳匹配块中原始像素点对应的待插值像素点位置,从而获得运动补偿的插值

图2是当待匹配块的大小为4×3时匹配的示意图,具体如下,当D1~D8与O1~O8之间的绝对差值和SAD最小的时候,就认为该匹配块是最佳匹配块,那么待匹配块中I1~I4就由R1~R4进行填充,进而获得运动补偿的插值。

5)针对待插值场边界情况的处理,包括:当待插值场是奇场时,对于底行的插值,是通过以底行为轴对称向下扩展一行,重复步骤2)至步骤4),当待插值场是偶场时,对于顶行的插值,是通过以顶行为轴对称向上扩展一行,重复步骤2)至步骤4),直至所有隔行扫描视频序列全部处理完,结束。

图5是本发明双向运动估计去隔行方法与传统的基于块重叠运动补偿去隔行算法(overlappedMC)的重建图像质量对比。本发明衡量指标使用PSNR参数。测试视频序列采用splash,其分辨率为720×576,如图4所示。

表1为本发明双向运动估计去隔行方法(Proposed)和传统的基于块重叠运动补偿去隔行算法(overlappedMC)的计算复杂度对比。计量计算复杂度的方式采用插值一个像素所需要的各种运算数量。

表1

下面是本发明方法的最佳实施方式:

1、针对隔行扫描视频序列的第一场,采用行平均插值算法进行插值,得到重建图像,选取一个待插值场和两个参考帧,其中参考帧是与该待插值场时间上相邻的前一个重建图像和后一个重建图像,后一个重建图像先使用行平均算法进行初次插值。行平均算法的计算表达式如下所示,其中ILA(i,j)是利用行平均算法获得的插值,I(i-1,j)是与待插值点相邻的上一行像素值,I(i+1,j)是与待插值点相邻的下一行像素值。

ILA(i,j)=[I(i-1,j)+I(i+1,j)]÷2 (2)

2、从待插值场中选取待匹配块,待匹配块的大小为4×3,最上一行和最下一行是原始像素的位置,中间一行是缺失像素的位置。当下次选取待匹配块的时候,其纵向上的两个相邻待匹配块共用一行,也就是上面待匹配块的最下一行和下面待匹配块的最上一行是同一行,如图1所示。

3、从前后两个参考帧中分别选取一个搜索窗,搜索窗的大小为16×16,其中待匹配块左上角的位置都对应两个搜索窗中(7,7)的位置(假设两个搜索窗的左上角位置都为(0,0))。

4、在前后两个搜索窗中分别找到一个最佳匹配块,在搜索窗找到最佳匹配块,是采用如下匹配准则:

<mrow> <mi>S</mi> <mi>A</mi> <mi>D</mi> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mn>8</mn> </munderover> <mo>|</mo> <msub> <mi>D</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>O</mi> <mi>i</mi> </msub> <mo>|</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

针对搜索窗中不同的匹配块,认为SAD值最小的块为最佳匹配块,那么待匹配块中I1~I4就由R1~R4进行填充,因而获得了运动补偿的插值,图2是相关的示意图。

找到最佳匹配块后,如图3所示,获得相应的绝对差值和SADforward与SADbackward,以及相应的运动补偿值Iforward和Ibackward。根据绝对差值和、运动补偿值以及最终的插值公式(1)获得最终的插值I。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1