一种基于模板匹配的多视点视频运动和视差矢量预测方法转让专利

申请号 : CN201210211415.4

文献号 : CN102801995B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王荣刚高璇高文

申请人 : 北京大学深圳研究生院

摘要 :

本发明公开了一种基于模板匹配技术提高多视点视频运动和视差矢量预测精度的方法。所述方法包括:对当前编码块进行运动矢量预测时如果相邻块不存在运动矢量,则采用模板匹配的方法估计相邻块运动矢量,用作当前块运动矢量预测的参考;对当前编码块进行视差矢量预测时,如果相邻块不存在视差矢量,则采用模板匹配的方法估计相邻块的视差矢量,用作当前块视差矢量预测的参考。

权利要求 :

1.一种基于模板匹配的多视点视频运动矢量和视差矢量预测的方法,该方法能够提高预测精度,所述方法包括:对当前编码块进行运动矢量预测时如果相邻块不存在运动矢量,则采用模板匹配的方法估计相邻块运动矢量,用作当前块运动矢量预测的参考;对当前编码块进行视差矢量预测时,如果相邻块不存在视差矢量,则采用模板匹配的方法估计相邻块的视差矢量,用作当前块视差矢量预测的参考。

2.如权利要求1所述方法中,模板匹配中用到的模板是以当前编码块为左下角的矩形块,除去当前块的区域。

3.如权利要求1或2所述的方法,对当前编码块进行运动矢量预测时如果存在运动矢量相邻块数目少于两个,则采用模板匹配的方法估计不存在运动矢量的相邻块运动矢量,用作当前块运动矢量预测的参考;对当前编码块进行视差矢量预测时,如果不存在视差矢量的相邻块数目少于两个,则采用模板匹配的方法估计不存在视差矢量的相邻块视差矢量,用作当前块视差矢量预测的参考。

4.采用权利要求1,2,3任意一项所述方法的设备。

说明书 :

一种基于模板匹配的多视点视频运动和视差矢量预测方法

技术领域

[0001] 本发明涉及3D视频编码技术领域,具体是一种基于模板匹配的多视点视频运动和视差矢量预测方法。技术背景
[0002] 多视点视频指的是由不同视点的多个摄像机从不同视角拍摄同一场景得到的一组同步视频信号,能够更加生动地再现场景,可广泛应用于三维电视、交融式会议电视、远程医学诊疗、虚拟现实以及视频监视系统等多种正在兴起的多媒体业务。与单视点视频相比,多视点视频的数据量随着摄像机的数目增加而线性增加。因此,如何提高多视点视频的编码效率便成为了当前研究的主要内容。
[0003] 多视点视频编码技术主要采用视点间预测来去除视点间冗余,即在编码当前图像时使用其他视点中的已解码图像作为参考图像进行视间和时域预测。由于双目立体视频之间的存在几何对应关系,左右视点之间存在很大的相关性。因此,如何利用视间相关性进行预测来提高编码效率是提高多视点视频编码效率的关键。
[0004] 在码流里,对于视间域预测块需要标记视差矢量,对于时域预测块需要标记运动矢量。中值预测是目前运动矢量和视差矢量常用的预测方法。当视间域预测块周围是时域预测块时,时域预测块由于缺少视差矢量,对视差矢量的预测没有贡献,会造成视间域预测块视差矢量预测效率下降。同样,当时域预测块周围是视间域预测块时,视间域预测块对运动矢量的预测也没有贡献,运动矢量的预测效率也会下降。《A motion vector prediction method for multi-view video coding》一文中提出利用时域上前后两帧对应块的视差矢量来估计当前块的视差,但仍然存在两个问题:一是当时域前后两帧对应块无视差矢量时,如何对当前块视差矢量进行预测;二是对于当前块的运动矢量,若周围块均无运动信息时如何预测。为了解决这些问题,我们采用基于模板匹配的视差和运动矢量预测的办法来重建视间域预测块的运动矢量和时域预测块的视差矢量。

发明内容

[0005] 本发明目的在于提供一种基于模板匹配的多视点视频运动和视差矢量预测方法,以便在编码前能更为准确的预测当前编码块的运动矢量或视差矢量,从而提高编码效率。
[0006] 为实现上述目的,本发明提出的基于模板匹配的多视点视频运动和视差矢量预测方法包括以下步骤:
[0007] 第一步:对输入的左右两路视频信号,以一个图像组(GOP)为例,先对左路第一帧图像进行普通的视频编码。我们将图像划分成若干宏块,然后对宏块进行帧内预测,当前块与预测块相差得到残差值,并对残差进行变换、量化、扫描和熵编码,形成码流序列;
[0008] 第二步,在解码端,码流序列通过熵解码、反量化和反变换后得到残差值,通过帧内预测的预测值与残差值相加,经滤波得到每个解码宏块,形成左路第一帧图像的解码图像;
[0009] 第三步,继续编码左路视频序列的下一帧图像,分别对宏块进行帧内预测和运动补偿预测。然后通过中值预测的方法对当前块的运动矢量进行预测得到MVp。将运动矢量MV和运动矢量预测值MVp相减,得到运动矢量的差值MVd。采用率失真优化准则对当前编码块进行模式选择(帧内预测/运动补偿预测),当前块与预测块相差得到残差值,并对残差进行变换、量化,然后和MVd一起熵编码,形成码流序列;
[0010] 第四步,在解码端码流序列通过熵解码、反量化和反变换后得到残差值,并通过中值预测预测出当前块运动矢量MVp,加上经解码的MVd得到运动矢量MV,然后根据MV和左路前一帧进行运动补偿得到预测值,预测值与残差值相加,经滤波得到每个解码宏块,形成左路解码图像;
[0011] 第五步,跳回第三步,处理左路下一帧图像,直至左路GOP图像全部编解码完毕;
[0012] 第六步,对右路第一帧图像进行三维立体编码,分别对宏块进行帧内预测和视差补偿预测。其中视差补偿预测通过视差估计来得到当前块的视差矢量DV,然后根据视差矢量DV从左路参考帧中找到对应预测块。然后我们通过中值预测或模板匹配的方法对当前块的视差矢量进行预测得到DVp:如果当前编码宏块周围有两个或两个以上块为视间预测块,则采用中值预测的方法对当前编码块进行视差矢量预测,否则采用模板匹配的方法,在解码端得到的左路第一帧重建图像中搜索最佳匹配块,从而预测出当前视间预测块的视差矢量DVp。将视差矢量DV和视差矢量预测值DVp相减,得到视差矢量的差值DVd。采用率失真优化准则对当前编码块进行模式选择(帧内预测/视差补偿预测),当前块与预测块相差得到残差值,并对残差进行变换、量化,然后和DVd一起熵编码,形成码流序列;
[0013] 第七步,在解码端码流序列通过熵解码、反量化和反变换后得到残差值,并通过中值预测或模板匹配法预测出当前块视差矢量DVp,加上经解码的DVd得到视差矢量DV,然后根据DV和左路参考帧进行视差补偿得到预测值,预测值与残差值相加,经滤波得到每个解码宏块,形成右路第一帧图像的解码图像;
[0014] 第八步,继续编码右路视频序列的下一帧图像,分别对宏块进行帧内预测、运动补偿预测和视差补偿预测。其中运动补偿预测是通过运动估计来得到当前块的运动矢量MV,然后根据运动矢量MV从时域前一帧中找到对应预测块。然后我们通过中值预测或模板匹配的方法对当前块的运动矢量进行预测得到MVp:如果当前编码块周围有两个或两个以上块为时域预测块,则采用中值预测的方法对当前编码块进行运动矢量预测,否则采用模板匹配的方法,在解码端得到的右路前一帧重建图像中搜索最佳匹配块,从而预测出当前运动预测块的运动矢量MVp。同时对当前块做视差估计得到视差矢量DV,然后根据视差矢量DV从左路参考帧中找到对应预测块。通过中值预测或模板匹配的方法对当前块的视差矢量进行预测得到DVp(同第三步),最后得到视差矢量的差值DVd。
[0015] 采用率失真优化准则对当前编码宏块进行模式选择(帧内预测/运动补偿预测/视差补偿预测),当前块与预测块相差得到残差值,并对残差进行变换、量化、和MVd(DVd)一起熵编码,形成码流序列;
[0016] 第九步,在解码端码流序列通过熵解码、反量化和反变换后得到残差值,并通过中值预测或模板匹配法预测出当前块运动矢量MVp(或预测视差矢量DVp),加上经解码的MVd(DVd)得到运动矢量MV(视差矢量DV),然后根据MV(DV)和右路前一帧(左路参考帧)进行运动(视差)补偿得到预测值,预测值与残差值相加,经滤波得到每个解码宏块,形成右路解码图像;
[0017] 第十步,跳回第八步,处理右路下一帧图像,直至右路GOP图像全部编解码完毕;
[0018] 本发明具有以下优点
[0019] 本发明使用模板匹配方法对编码块的运动矢量和视差矢量进行预测,提高了预测的准确性,对图像的编码效率有所改善。

附图说明

[0020] 图1是本发明实施例中倒L型模板匹配示意图;
[0021] 图2是本发明实例中视差和运动矢量预测示意图;
[0022] 图3是本发明实例中视差和运动矢量预测的流程图;
[0023] 图4是本发明实例编码和解码框图。

具体实施方式

[0024] 下面结合附图和实施例,对本发明进行详细的描述。本实施例仅为本发明的一个实施例而不是全部实施例。
[0025] 我们采用模板匹配的方法对视差和运动矢量进行预测。我们这里采用倒L型模板匹配,如图1所示,当前编码块的上面块和左边块构成倒L型模板(模板大小为4像素宽度),模板L在主视点重建图像中平移搜索窗口覆盖的子图记作Lij’,i,j为子图左上顶点在主视点图像中的坐标,最终通过比较L与Lij’的相似性,完成模板匹配过程。
[0026] 该实施例中,图2为基于模板匹配的视差和运动矢量预测示意图,图3为具体实现的流程图,图4为编码解码框架图;对于输入的视频信号,我们以一组GOP为例(如GOP=8),编解码过程如下:(为方面起见,我们设左路视频为主视点图像,右路视频为辅视点图像)[0027] 第一步:对输入的两路视频信号,将一路定义为主视点,另一路定义为辅视点,先对主视点第一帧图像进行普通的视频编码。我们将图像划分成若干宏块,按照从上至下、从左至右的顺序对每个宏块进行处理。首先然后对宏块进行帧内预测,这里基于块的划分采用不同的预测方向作为相应的编码模式,即根据已经编码和重建后的块形成一个预测块,选择使预测块与当前块的差值最小的预测模式作为当前块的预测模式,然后对当前块与该预测块的差值块进行变换、量化和熵编码,得到码流序列;
[0028] 第二步,在解码端码流序列通过熵解码、反量化和反变换后得到残差值,预测值与残差值相加,经滤波得到每个解码宏块,形成主视点第一帧图像的解码图像;
[0029] 第三步,继续编码主视点视频序列的一帧图像,分别对宏块进行帧内预测和运动补偿预测。然后通过中值预测或模板匹配的方法对当前块的运动矢量进行预测得到MVp。将运动矢量MV和运动矢量预测值MVp相减,得到运动矢量的差值MVd。采用率失真优化准则对当前编码块进行模式选择(帧内预测/运动补偿预测),当前块与预测块相差得到残差值,并对残差进行变换、量化,然后和MVd一起熵编码,形成码流序列;
[0030] 第四步,在解码端码流序列通过熵解码、反量化和反变换后得到残差值,并通过中值预测或模板匹配法预测出当前块运动矢量MVp,加上经解码的MVd得到运动矢量MV,然后根据MV和主视点前一帧进行运动补偿得到预测值,预测值与残差值相加,经滤波得到每个解码宏块,形成主视点解码图像;
[0031] 第五步,跳回第三步,处理主视点下一帧图像,直至主视点GOP图像全部编解码完毕;
[0032] 第六步,对辅视点第一帧图像进行三维立体编码,分别对当前块(如B6块)进行帧内预测和视差补偿预测。其中视差补偿预测通过视差估计来得到当前块的视差矢量D6,然后根据视差矢量D6从主视点参考帧中找到对应预测块。然后我们通过中值预测或模板匹配的方法对当前块的视差矢量进行预测得到D6p(如图2),判断其相邻图像块B1、B2、B3和B5的预测模式,如果至少有两块为视间预测块(如B1、B2,对应视差矢量为D1、D2),则可从其邻近视间域预测块中估计出B6的视差矢量预测值D6p:
[0033] D6p=f(D1,D2)
[0034] 如果与其相邻的图像块B1、B2、B3和B5均为时域预测块,没有可用视差矢量,则以B1,B2,B3和B5的重建值为模板,采用模板匹配方法在主视点第一帧重建图像中寻找最佳匹配块B1’,B2’,B3’和B5’,可以近似得到B1,B2,B3和B5的视差矢量D1,D2,D3和D5,从而得到B6的视差矢量预测值D6p:
[0035] D6p=f(D1,D2,D3,D5)
[0036] 采用中值预测,f为中值函数:
[0037] D6p=median(D2,D3,D5)
[0038] 将视差矢量D6和视差矢量预测值D6p相减,得到视差矢量的差值D6d。采用率失真优化准则对当前编码块进行模式选择(帧内预测/视差补偿预测),当前块与预测块相差得到残差值,并对残差进行变换、量化,然后和D6d一起熵编码,形成码流序列;
[0039] 第七步,在解码端码流序列通过熵解码、反量化和反变换后得到残差值,并通过中值预测或模板匹配法预测出当前块视差矢量D6p,加上经解码的D6d得到视差矢量D6,然后根据D6和主视点参考帧进行视差补偿得到预测值,预测值与残差值相加,经滤波得到每个解码宏块,形成辅视点第一帧解码图像;
[0040] 第八步,继续编码辅视点图像,分别对宏块进行帧内预测、视差补偿预测和运动补偿预测。其中运动补偿预测是通过运动估计来得到当前块(如B11)的运动矢量M11,然后根据运动矢量M11从辅视点前一帧中找到对应预测块。然后我们通过中值预测或模板匹配的方法对当前块的运动矢量进行预测得到M11p(如图2):判断其相邻图像块B6、B7、B8和B10的预测模式,如果至少有两块为时域预测块(如B6、B7,对应运动矢量为M6、M7),则可从其邻近时域预测块中估计出B11的运动矢量预测值M11p:
[0041] M11p=g(M6,M7)
[0042] 如果与其相邻的图像块B6,B7,B8和B10均为视间预测块,没有可用运动矢量,则以B6,B7,B8和B10的重建块作为模板,采用模板匹配方法在辅视点前一帧图像中搜索最佳匹配块B6’,B7’,B8’和B10’,可以近似得到B6,B7,B8和B10的运动矢量M6,M7,M8和M10,从而得到B11的运动矢量预测值M11p:
[0043] M11p=g(M6,M7,,M8,M10)
[0044] 如果采用中值预测,g为中值函数:
[0045] M11p=median(M7,M8,M10)
[0046] 将运动矢量M11和运动矢量预测值M11p相减,得到运动矢量的差值M11d。同时对当前块做视差估计得到视差矢量D11,然后根据视差矢量D11从主视点参考帧中找到对应预测块。通过中值预测或模板匹配的方法对当前块的视差矢量进行预测得到D11p(同第六步),最后得到视差矢量的差值D11d。
[0047] 采用率失真优化准则对当前编码宏块进行模式选择(帧内预测/运动补偿预测/视差补偿预测),当前块与预测块相差得到残差值,并对残差进行变换、量化、和M11d(D11d)一起熵编码,形成码流序列;
[0048] 第九步,在解码端码流序列通过熵解码、反量化和反变换后得到残差值,并通过中值预测或模板匹配法预测出当前块运动矢量M11p(或预测视差矢量D11p),加上经解码的M11d(D11d)得到运动矢量M11(视差矢量D11),然后根据M11(D11)和辅视点前一帧(主视点参考帧)进行运动(视差)补偿得到预测值,预测值与残差值相加,经滤波得到每个解码宏块,形成辅视点解码图像;
[0049] 第十步,跳回第八步,处理辅视点下一帧图像,直至辅视点GOP图像全部编解码完毕。
[0050] 至此,该实施例的所有步骤完成。
[0051] 本发明通过以上步骤,使用模板匹配方法对编码块的视差矢量和运动矢量进行估计,提高了运动补偿预测和视差补偿预测的准确性,对于图像的编码效率有所改善。