首页> 中国专利> 一种视频压缩中的块匹配方法及装置

一种视频压缩中的块匹配方法及装置

摘要

本发明提供了一种视频压缩中的块匹配方法及装置,以提高块匹配速度。所述方法包括:每次进行块匹配计算时,对待搜索块和当前块中的像素进行抽样;利用抽样像素进行块匹配计算,并将计算结果与预置条件进行比较,如果符合预置条件,则提前结束当前待搜索块的块匹配计算;否则,继续从该块的剩余像素中抽样进行块匹配计算。本发明不需要每次都对块中的所有像素进行计算,降低了每次块匹配计算的像素个数,在保证块匹配精度的前提下,大大加快了匹配速度。

著录项

  • 公开/公告号CN102065300A

    专利类型发明专利

  • 公开/公告日2011-05-18

    原文格式PDF

  • 申请/专利权人 北京中星微电子有限公司;

    申请/专利号CN201110021023.7

  • 发明设计人 季鹏飞;

    申请日2011-01-18

  • 分类号H04N7/26(20060101);H04N7/46(20060101);

  • 代理机构11319 北京润泽恒知识产权代理有限公司;

  • 代理人苏培华

  • 地址 100083 北京市海淀区学院路35号世宁大厦16层

  • 入库时间 2023-12-18 02:21:58

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-10

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04N19/56 变更前: 变更后: 申请日:20110118

    专利权人的姓名或者名称、地址的变更

  • 2018-01-12

    专利权的转移 IPC(主分类):H04N19/56 登记生效日:20171222 变更前: 变更后: 申请日:20110118

    专利申请权、专利权的转移

  • 2016-05-11

    授权

    授权

  • 2013-11-06

    实质审查的生效 IPC(主分类):H04N7/26 申请日:20110118

    实质审查的生效

  • 2011-05-18

    公开

    公开

说明书

技术领域

本发明涉及编解码技术,特别是涉及一种视频压缩中的块匹配方法及装置。

背景技术

在视频编码与压缩中,块匹配算法作为一种十分有用的算法,主要用在运动向量的计算和补偿等方面。块匹配的基本思想是将当前帧(也称目标图像)分割成固定大小的块,然后在参考帧中寻找最匹配的块。

参照图1,是块匹配计算原理示意图。图(a)为当前帧示意图,图(b)为参考帧示意图。将当前帧分成互不重叠的大小为m×n的块(每一个块包括m×n个像素),当前帧中的每一个块(可称为目标块或待编码块)都在参考帧中的一定区域(即搜索窗)内,因此在参考帧中按照一定的匹配准则搜索与之具有最小匹配误差的块(MiNiMail DistortioN Block,MDB),则该块即为目标块的匹配块,匹配块与目标块之间的坐标位移就是运动矢量。视频解压缩的时候,只需保存运动矢量和残差数据就可以完全恢复出当前块。如图1所示,对于当前帧的某一块m1,其坐标为(u1,v1),对应在参考帧的搜索窗中的匹配块m2,坐标变为(u2,v2)。

块匹配算法的主要目的是计算两幅图像中目标块与匹配块的相关性,通过对图像目标块的相关系数的计算,反映出当前像素块之间的相互关系。其中,所述相关性可以通过变量残差反映,残差的绝对误差和越小,相关性越大;反之,残差的绝对误差和越大,相关性越小。残差的绝对误差和计算公式如下:

SADn=Σi=1...n|PEi(x,y)=Origi(x,y)-Predi(x,y)|

其中,SAD表示残差的绝对误差和,n表示像素个数,(x,y)表示像素点坐标,Orig(x,y)表示目标块的像素值,Pred(x,y)表示匹配块的像素值,i表示求和个数。

在块匹配过程中,需要将目标块与搜索窗中的每一个像素块(可称为待搜索块)计算残差值,然后选择残差最小的块作为匹配块。但是由上述计算公式可知,块匹配算法高昂的计算代价主要是来自于频繁的像素叠加计算,进而影响了块匹配的速度。

发明内容

本发明所要解决的技术问题是提供一种视频压缩中的块匹配方法及装置,以提高块匹配速度。

为了解决上述问题,本发明公开了一种视频压缩中的块匹配方法,包括:

每次进行块匹配计算时,对待搜索块和当前块中的像素进行抽样;

利用抽样像素进行块匹配计算,并将计算结果与预置条件进行比较,如果符合预置条件,则提前结束当前待搜索块的块匹配计算;否则,继续从该块的剩余像素中抽样进行块匹配计算。

优选的,所述对待搜索块和当前块中的像素进行抽样,包括:将块中的所有m个像素分为n组,每组包含m/n个像素;从n组中选择一组作为抽样。

优选的,所述块匹配计算为计算当前帧的待编码块与参考帧的待搜索块的残差的绝对误差和;每次选择一组抽样像素计算残差的绝对误差和,通过与预置阈值和最佳匹配残差绝对误差和进行比较来提前结束当前的块匹配计算;否则,继续下一组抽样像素的计算。

优选的,当利用第一组抽样像素计算第一残差绝对误差和SAD1时,如果符合以下预置条件:SAD1>T1,并且SAD1>SAD/n,其中T1表示第一预置阈值,SAD表示最佳匹配残差绝对误差和,则提前结束当前的块匹配计算;否则,继续从n组中选择第二组抽样像素计算第二残差绝对误差和SAD2,如果符合以下预置条件:SAD1+SAD2>T2,并且SAD2>SAD/n,其中T2表示第二预置阈值,则结束当前的块匹配计算;否则,继续从n组中选择剩余的抽样像素计算残差绝对误差和,并按照上述步骤进行处理,直到符合预置条件或块中最后一组像素计算完毕。

其中,所述第一预置阈值T1取多次计算第一残差绝对误差和SAD1的最大值或最小值或均值;所述第二预置阈值T2取多次计算SAD1+SAD2的最大值或最小值或均值;所述最佳匹配残差绝对误差和SAD取多次计算最佳匹配残差绝对误差和的最大值或最小值或均值。

优选的,所述方法还包括:如果块中最后一组像素计算完毕仍不符合预置条件,则结束当前块的匹配过程,并得到当前块的残差绝对误差和。

本发明还提供了一种视频压缩中的块匹配装置,包括:

抽样模块,用于每次进行块匹配计算时,对待搜索块和当前块中的像素进行抽样;

计算模块,用于利用抽样像素进行块匹配计算,得到计算结果;

比较模块,用于将计算结果与预置条件进行比较,如果符合预置条件,则提前结束当前待搜索块的块匹配计算;否则,继续从该块的剩余像素中抽样进行块匹配计算。

优选的,所述抽样模块包括:分组子模块,用于将块中的所有m个像素分为n组,每组包含m/n个像素;抽样选取子模块,用于从n组中选择一组作为抽样。

优选的,所述计算模块是通过计算当前帧的待编码块与参考帧的待搜索块的残差绝对误差和来进行块匹配计算。

优选的,当计算模块利用第一组抽样像素计算第一残差绝对误差和SAD1时,如果比较模块判断SAD1符合以下预置条件:SAD1>T1,并且SAD1>SAD/n,其中T1表示第一预置阈值,SAD表示最佳匹配残差绝对误差和,则提前结束当前的块匹配计算;否则,计算模块继续从n组中选择第二组抽样像素计算第二残差绝对误差和SAD2,如果比较模块判断SAD2符合以下预置条件:SAD1+SAD2>T2,并且SAD2>SAD/n,其中T2表示第二预置阈值,则结束当前的块匹配计算;否则,计算模块继续从n组中选择剩余的抽样像素计算残差绝对误差和,比较模块按照上述方式进行判断,直到符合预置条件或块中最后一组像素计算完毕。

与现有技术相比,本发明具有以下优点:

本发明提供了一种快速块匹配方法,每次进行块匹配计算时,首先对待搜索块和当前块中的像素进行抽样,然后利用抽样像素进行块匹配计算,并将计算结果与预置条件进行比较,如果符合预置条件,则提前结束当前的块匹配计算;否则,继续从该块的剩余像素中抽样进行块匹配计算。因此,本发明不需要每次都对块中的所有像素进行计算,降低了每次块匹配计算的像素个数,在保证块匹配精度的前提下,大大加快了匹配速度。

附图说明

图1是现有技术中块匹配计算原理示意图;

图2是本发明实施例所述一种视频压缩中的块匹配方法流程图;

图3a是本发明实施例中原始8×8块的示意图;

图3b至图3e是本发明实施例中采样的4×4块示意图;

图4是本发明实施例所述一种视频压缩中的块匹配装置的结构图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

本发明提出一种优化的块匹配方法,可以使像素叠加计算中的叠加数量尽量减少,从而提高块匹配速度。下面通过实施例进行详细说明。

如前所述,块匹配计算就是计算当前帧中的目标块(即待编码块)与参考帧中搜索窗内的匹配块(即待搜索块)之间的相关性,并将相关性最大的匹配块作为该目标块的最佳匹配块。参照图1所示,匹配时要在搜索窗内进行移动搜索,每移动一个像素位置,就需要计算一次相关性,本发明所述的快速块匹配方法就是针对每次的块匹配计算而提出。

参照图2,是本发明实施例所述一种视频压缩中的块匹配方法流程图。

步骤201,每次进行块匹配计算时,对块中的像素进行抽样;

每次计算目标块与匹配块的相关性时,抽样的目的是尽量从块中选择具有代表性的像素,来代表整个块的像素进行计算,这样就减少了计算的像素个数,从而提高计算速度。

抽样的方法可以有多种,本实施例采用的抽样方式是:将块中的所有m个像素分为n组,每组包含m/n个像素;然后从n组中选择一组作为抽样。其中,m和n均为自然数。当然,实际应用中每组的像素个数也可以不同,本实施例为了方便计算设为每组像素个数相同。

下面以8×8块的匹配计算为例进行说明。参照图3a,是原始8×8块的示意图。图中,每个小方格表示一个像素,8×8块中共有64个像素。参照图3b至图3e所示,是采样的4×4块示意图。8×8的原始块按照图3b至图3e的方式分为四组,每组为一个4×4的子块,每组包含16个像素。

需要说明的是,图3仅是一种抽样的示例,也可以按照其他方式进行抽样。

步骤202,利用抽样像素进行块匹配计算,得到计算结果;

本实施例中,可以通过残差这个变量来反映目标块与块匹配之间的相关性,残差的绝对误差和越小,相关性越大;反之,残差的绝对误差和越大,相关性越小。残差的绝对误差和计算公式如下:

SADn=Σi=1...n|PEi(x,y)=Origi(x,y)-Predi(x,y)|

其中,SAD表示残差的绝对误差和,n表示像素个数,(x,y)表示像素点坐标,Orig(x,y)表示目标块的像素值,Pred(x,y)表示匹配块的像素值,i表示求和个数。

当然,块匹配计算也可以采用其他的计算方式。

步骤203,将计算结果与预置条件进行比较;如果符合预置条件,则提前结束当前的块匹配计算;否则,继续从该块的剩余像素中抽样进行块匹配计算。

针对一个块中的多组抽样像素,每次选择一组抽样像素计算残差的绝对误差和,通过与预置阈值T和最佳匹配残差绝对误差和SAD进行比较来提前结束当前的块匹配计算;否则,继续下一组抽样像素的计算。

仍以图3的8×8块匹配计算为例。

第一步,选择第一组抽样像素(如图3b)计算第一残差绝对误差和SAD1,如果符合以下预置条件:SAD1>T1,并且SAD1>SAD/n,其中T1表示第一预置阈值,SAD表示最佳匹配残差绝对误差和,则提前结束当前的块匹配计算;否则,进入第二步;

即按照图3b的方式选择一个4×4的子块进行块匹配计算,将计算得到的SAD1与T1和SAD/4进行比较,如果SAD1>T1,并且SAD1>SAD/4,则认为当前8×8块的残差绝对误差和大于最佳匹配残差绝对误差和SAD,不需要再对该块中的其他像素进行计算,即可认为当前的8×8块不是最佳的匹配块,可以结束当前块的计算。如果不满足上述条件,则进入第二步,需要继续对块中的其余像素进行块匹配计算。

其中,所述第一预置阈值T1可以取多次计算第一残差绝对误差和SAD1的最大值或最小值或均值。取最大值时,条件最为苛刻,编码质量高,速度慢;取均值时,条件中等,编码质量和速度可以适度折中;取最小值时,条件最为宽松,编码质量低,速度快。同样,所述最佳匹配残差绝对误差和SAD也可以取多次计算最佳匹配残差绝对误差和的最大值或最小值或均值。

第二步,继续从n组中选择第二组抽样像素(如图3c)计算第二残差绝对误差和SAD2,如果符合以下预置条件:SAD1+SAD2>T2,并且SAD2>SAD/n,其中T2表示第二预置阈值,则结束当前的块匹配计算;否则,进入第三步;其中,所述第二预置阈值T2也可以取多次计算SAD1+SAD2的最大值或最小值或均值;

按照图3c的方式选择下一个4×4的子块进行块匹配计算,将计算得到的SAD2与T2和SAD/4进行比较,如果SAD2>T2,并且SAD2>SAD/4,则认为当前8×8块的残差绝对误差和大于最佳匹配残差绝对误差和SAD,当前的8×8块不是最佳的匹配块,可以结束当前块的计算。如果不满足上述条件,则进入第三步。

第三步,继续从n组中选择第三组抽样像素(如图3d)计算第三残差绝对误差和SAD3,如果符合以下预置条件:SAD1+SAD2+SAD3>T3,并且SAD3>SAD/n,其中T3表示第三预置阈值,则结束当前的块匹配计算;否则,进入第四步;同样,所述第三预置阈值T3也可以取多次计算SAD1+SAD2+SAD3的最大值或最小值或均值;

第四步,继续从n组中选择剩余组的抽样像素计算残差绝对误差和,并按照上述步骤进行处理,直到符合预置条件或块中最后一组像素计算完毕。

上例中,继续从n组中选择最后一组抽样像素(如图3e)计算第四残差绝对误差和SAD4,如果符合以下预置条件:SAD1+SAD2+SAD3+SAD4>T4,并且SAD4>SAD/4,其中T4表示第三预置阈值,则结束当前的块匹配计算;其中,所述第四预置阈值T4也可以取多次计算SAD1+SAD2+SAD3+SAD4的最大值或最小值或均值。

需要说明的是,如果SAD4不满足T4和SAD/4的判断条件,则结束当前待编码块的匹配过程,并得到当前块的最终残差绝对误差和SAD1+SAD2+SAD3+SAD4。即如果所有条件都没有符合,表明不能提前结束当前的块搜索过程,还要继续进行搜索!

由上述过程可知,利用这种块匹配方法,在绝大多数情况下,块匹配过程都会在小块匹配的过程中提前结束,大大降低了整个过程的计算时间。而且鉴于所有的阈值都可以通过大量试验或者针对编码过程进行自适应的得到,因此本方法的性能也很接近现有技术基于8x8直接做的块匹配方法,可以保证块匹配精度。

基于上述内容,本发明还提供了相应的装置实施例。

参照图4,是本发明实施例所述一种视频压缩中的块匹配装置的结构图。

所述块匹配装置可以包括抽样模块41、计算模块42和比较模块43,其中,抽样模块41用于每次进行块匹配计算时,对待搜索块和当前块中的像素进行抽样;计算模块42用于利用抽样像素进行块匹配计算,得到计算结果;比较模块43用于将计算结果与预置条件进行比较,如果符合预置条件,则提前结束当前待搜索块的块匹配计算;否则,继续从该块的剩余像素中抽样进行块匹配计算。

优选的,所述抽样模块41进一步可以包括:

分组子模块,用于将块中的所有m个像素分为n组,每组包含m/n个像素;

抽样选取子模块,用于从n组中选择一组作为抽样。

本实施例中,所述计算模块42是通过计算当前帧的待编码块与参考帧的待搜索块(即目标块与匹配块)的残差绝对误差和来进行块匹配计算。

所述块匹配装置的处理过程如下:

当计算模块利用第一组抽样像素计算第一残差绝对误差和SAD1时,如果比较模块判断SAD1符合以下预置条件:SAD1>T1,并且SAD1>SAD/n,其中T1表示第一预置阈值,SAD表示最佳匹配残差绝对误差和,则提前结束当前的块匹配计算;否则,计算模块继续从n组中选择第二组抽样像素计算第二残差绝对误差和SAD2,如果比较模块判断SAD2符合以下预置条件:SAD1+SAD2>T2,并且SAD2>SAD/n,其中T2表示第二预置阈值,则结束当前的块匹配计算;否则,计算模块继续从n组中选择剩余的抽样像素计算残差绝对误差和,比较模块按照上述方式进行判断,直到符合预置条件或块中最后一组像素计算完毕。

其中,各个阈值T及最佳匹配残差绝对误差和SAD的设定可参照上述方法实施例的说明。

上述块匹配装置不需要每次都对块中的所有像素进行计算,降低了每次块匹配计算的像素个数,在保证块匹配精度的前提下,大大加快了匹配速度。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上对本发明所提供的一种视频压缩中的块匹配方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号