视频图像块处理方法及装置转让专利

申请号 : CN201010144630.8

文献号 : CN102215386B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 坎普·斯蒂芬韦恩·马蒂尔斯林四新于浩平

申请人 : 华为技术有限公司

摘要 :

本发明涉及一种视频图像块处理方法及装置,其中方法包括:获取当前块的当前模板与一个以上估计运动矢量对应的参考模板的匹配误差;根据所述估计运动矢量的可信度,对所述一个以上估计运动矢量中部分或全部估计运动矢量对应的参考模板与所述当前模板的匹配误差进行修正;根据修正后的匹配误差,从一个以上参考模板中选择最佳匹配模板;根据所述最佳匹配模板,得到当前块的预测块,对所述当前块进行编码或解码。本发明使得不可信的估计运动矢量对应的参考模板与当前模板的匹配相似度被削弱,这样选择的最佳匹配模板是可信的估计运动矢量对应的参考模板的可能性增大,也就减弱了抖动效应。

权利要求 :

1.一种视频图像块处理方法,其特征在于,包括:

获取当前块的当前模板与一个以上估计运动矢量对应的参考模板的匹配误差;

根据所述估计运动矢量的可信度,对所述一个以上估计运动矢量中部分或全部估计运动矢量对应的参考模板与所述当前模板的匹配误差进行修正,所述估计运动矢量的可信度是指估计得到的运动矢量和物体真实的运动的一致性;

根据修正后的匹配误差,从一个以上参考模板中选择最佳匹配模板;

根据所述最佳匹配模板,得到当前块的预测块,对所述当前块进行编码或解码。

2.根据权利要求1所述的视频图像块处理方法,其特征在于,所述根据所述估计运动矢量的可信度,对所述一个以上估计运动矢量中部分估计运动矢量对应的参考模板与所述当前模板的匹配误差进行修正包括:将所述部分估计运动矢量对应的参考模板与所述当前模板的第一匹配误差代入预设的代价函数,得到第一代价函数值作为所述修正后的匹配误差,所述部分估计运动矢量的可信度低于除所述部分估计运动矢量以外的其他估计运动矢量,所述第一代价函数值大于所述第一匹配误差;

或者,将所述部分估计运动矢量对应的参考模板与所述当前模板的第二匹配误差代入预设的代价函数,得到第二代价函数值作为所述修正后的匹配误差,所述部分估计运动矢量的可信度高于除所述部分估计运动矢量以外的其他估计运动矢量,所述第二代价函数值小于所述第二匹配误差;

其中所述预设的代价函数包括惩罚参数与所述匹配误差的乘积。

3.根据权利要求1所述的视频图像块处理方法,其特征在于,所述根据所述估计运动矢量的可信度,对所述一个以上估计运动矢量中全部估计运动矢量对应的参考模板与所述当前模板的匹配误差进行修正包括:将所述一个以上估计运动矢量对应的参考模板与所述当前模板的匹配误差代入预设的代价函数,得到代价函数值作为所述修正后的匹配误差;

其中所述预设的代价函数包括惩罚参数与所述匹配误差的乘积。

4.根据权利要求3所述的视频图像块处理方法,其特征在于,所述惩罚参数的值是根据所述估计运动矢量的可信度而确定的。

5.根据权利要求4所述的视频图像块处理方法,其特征在于,所述估计运动矢量的可信度是根据所述估计运动矢量是否为候选运动矢量而确定的,所述候选运动矢量的可信度高于精细化运动矢量的可信度,所述候选运动矢量对应的惩罚参数的值小于所述精细化运动矢量对应的惩罚参数的值;

其中,所述候选运动矢量是当前块周边的已知运动矢量或整像素精度运动矢量;所述精细化运动矢量是所述候选运动矢量通过偏移半像素精度位置得到的运动矢量或半像素精度运动矢量。

6.根据权利要求4所述的视频图像块处理方法,其特征在于,所述估计运动矢量的可信度是根据所述估计运动矢量对应的参考模板与当前模板的方差或梯度信息的相似程度而确定的。

7.根据权利要求4所述的视频图像块处理方法,其特征在于,码流中包括所述惩罚参数。

8.根据权利要求1所述的视频图像块处理方法,其特征在于,所述根据所述最佳匹配模板,得到当前块的预测块,对所述当前块进行编码包括:当所述最佳匹配模板对应的估计运动矢量为第一估计运动矢量时,采用解码端运动矢量可推导DMVD技术对所述当前块进行编码;当所述最佳匹配模板对应的估计运动矢量是第二估计运动矢量时,将运动信息写入码流,采用非DMVD技术对所述当前块进行编码,其中第一估计运动矢量的可信度高于第二估计运动矢量。

9.根据权利要求1所述的视频图像块处理方法,其特征在于,所述根据所述最佳匹配模板,得到当前块的预测块,对所述当前块进行解码包括:当所述最佳匹配模板对应的估计运动矢量为第一估计运动矢量时,采用DMVD技术对所述当前块进行解码;当所述最佳匹配模板对应的估计运动矢量是第二估计运动矢量时,根据码流中的运动信息,采用非DMVD技术对所述当前块进行解码,其中第一估计运动矢量的可信度高于第二估计运动矢量。

10.一种视频图像块处理装置,其特征在于,包括:

匹配模块,用于获取当前块的当前模板与一个以上估计运动矢量对应的参考模板的匹配误差;

修正模块,用于根据所述估计运动矢量的可信度,对所述一个以上估计运动矢量中部分或全部估计运动矢量对应的参考模板与所述当前模板的匹配误差进行修正,所述估计运动矢量的可信度是指估计得到的运动矢量和物体真实的运动的一致性;

选择模块,用于根据修正后的匹配误差,从一个以上参考模板中选择最佳匹配模板;

处理模块,用于根据所述最佳匹配模板,得到当前块的预测块,对所述当前块进行编码或解码。

11.根据权利要求10所述的视频图像块处理装置,其特征在于,所述修正模块包括:第一修正单元,用于将所述部分估计运动矢量对应的参考模板与所述当前模板的第一匹配误差代入预设的代价函数,得到第一代价函数值作为所述修正后的匹配误差;所述部分估计运动矢量的可信度低于除所述部分估计运动矢量以外的其他估计运动矢量,所述第一代价函数值大于所述第一匹配误差;

或者,第二修正单元,用于将所述部分估计运动矢量对应的参考模板与所述当前模板的第二匹配误差代入预设的代价函数,得到第二代价函数值作为所述修正后的匹配误差,所述部分估计运动矢量的可信度高于除所述部分估计运动矢量以外的其他估计运动矢量,所述第二代价函数值小于所述第二匹配误差;

其中所述预设的代价函数包括惩罚参数与所述匹配误差的乘积。

12.根据权利要求10所述的视频图像块处理装置,其特征在于,所述修正模块包括:第三修正单元,用于将所述一个以上估计运动矢量对应的参考模板与所述当前模板的匹配误差代入预设的代价函数,得到代价函数值作为所述修正后的匹配误差;

其中所述预设的代价函数包括惩罚参数与所述匹配误差的乘积。

13.根据权利要求10或11或12所述的视频图像块处理装置,其特征在于,所述处理模块包括:编码单元,用于当所述最佳匹配模板对应的估计运动矢量为第一估计运动矢量时,采用解码端运动矢量可推导DMVD技术对所述当前块进行编码;当所述最佳匹配模板对应的估计运动矢量是第二估计运动矢量时,将运动信息写入码流,采用非DMVD技术对所述当前块进行编码,其中第一估计运动矢量的可信度高于第二估计运动矢量。

14.根据权利要求10或11或12所述的视频图像块处理装置,其特征在于,所述处理模块包括:解码单元,用于当所述最佳匹配模板对应的估计运动矢量为第一估计运动矢量时,采用DMVD技术对所述当前块进行解码;当所述最佳匹配模板对应的估计运动矢量是第二估计运动矢量时,根据码流中的运动信息,采用非DMVD技术对所述当前块进行解码,其中第一估计运动矢量的可信度高于第二估计运动矢量。

说明书 :

视频图像块处理方法及装置

技术领域

[0001] 本发明实施例涉及通信领域,尤其涉及一种视频图像块处理方法及装置。

背景技术

[0002] 在视频编码中,运动补偿的帧间预测技术对编码效率的提高有非常重要的作用。在已有的视频标准中,编码器采用运动搜索的方法推导出运动信息,该运动信息可以为运动矢量(Motion Vector,简称:MV)的相关信息,例如:运动信息为相对于空间运动矢量预测值的运动矢量差,将运动信息编码到码流中,解码器从码流中解码出运动信息,然后利用运动补偿技术来重建图像。例如,在H.264/AVC标准中,编码器采用非标准化的运动估计方法推导得到运动信息,将运动信息编码到码流中,解码器从码流中解码出运动信息,在参考帧中偏移到运动矢量所指的位置区域,将该位置区域作为当前块的预测信号进行帧间预测。在这种帧间预测技术中,运动信息要占用大量的编码比特流。
[0003] 为了减少编码比特流,现有技术提出一种解码端运动矢量可推导(Decoder Side Motion Vector Derivation,简称:DMVD)技术,将其应用在帧间预测编解码中,不需要在码流中传递运动信息。具体地,在编码端,获取当前块的左边和上边的重建图像构成当前模板(TM1),在当前块的参考帧中指定的搜索范围内搜索与当前模板匹配的参考模板(TM2),TM1和TM2的形状一样;当TM1和TM2的匹配误差最小时,与TM2相邻的预测块作为当前块的预测信号,对当前块进行预测得到当前块的残差,进行变换和量化处理后,再进行熵编码。在解码端,利用与上述相同的方法搜索得到TM2,根据与TM2相邻的预测块,重建当前块。
[0004] 进一步的,在DMVD技术中预测性的快速搜索方法取代了上述全搜索方法,该方法以当前块周围已编码图像块的运动矢量作为当前块的候选运动矢量集,由于运动物体的空间和时间相关性,DMVD技术可以在这些候选运动矢量集中选择最优的作为当前块的运动矢量,而不必像传统运动矢量全搜索方法那样在一定范围内搜索,并按照一定层级从整像素、分像素逐级搜索,从而大幅度的减少了解码端的计算压力。
[0005] 由于在DMVD技术中不需要在码流中显式的编码运动矢量,采用DMVD技术可以减少大量编码比特流。如果没有运动信息编码,则可以减少编码所需要的比特。在码率失真最优(Rate Distortion Optimization,简称:RDO)模式判决下,对于连续运动图像区域,经常采用DMVD技术进行编码。如果这些区域相对的没有结构特征或比较平滑,则对于各个不同的运动矢量候选值,DMVD的模板匹配误差值可能变得非常相近。
[0006] 在实现本发明创造的过程中,发明人发现:由于模板或参考帧中存在量化噪声,DMVD可能推导得到一个相对于视频系列中的真实自然运动异常的运动矢量。对应地,当获得这种在时间上或空间上不规则的运动矢量时,会导致影响主观视觉效果的抖动块效应。

发明内容

[0007] 本发明实施例提供了一种视频图像块处理方法及装置,用以减弱抖动块效应。
[0008] 本发明实施例提供了一种视频图像块处理方法,包括:
[0009] 获取当前块的当前模板与一个以上估计运动矢量对应的参考模板的匹配误差;
[0010] 根据所述估计运动矢量的可信度,对所述一个以上估计运动矢量中部分或全部估计运动矢量对应的参考模板与所述当前模板的匹配误差进行修正;
[0011] 根据修正后的匹配误差,从一个以上参考模板中选择最佳匹配模板;
[0012] 根据所述最佳匹配模板,得到当前块的预测块,对所述当前块进行编码或解码。
[0013] 本发明实施例提供了一种视频图像块处理装置,包括:
[0014] 匹配模块,用于获取当前块的当前模板与一个以上估计运动矢量对应的参考模板的匹配误差;
[0015] 修正模块,用于根据所述估计运动矢量的可信度,对所述一个以上估计运动矢量中部分或全部估计运动矢量对应的参考模板与所述当前模板的匹配误差进行修正;
[0016] 选择模块,用于根据修正后的匹配误差,从一个以上参考模板中选择最佳匹配模板;
[0017] 处理模块,用于根据所述最佳匹配模板,得到当前块的预测块,对所述当前块进行编码或解码。
[0018] 本发明实施例根据估计运动矢量的可信度对匹配误差进行修正,根据修正后的匹配误差从一个以上参考模板中选择最佳匹配模板,根据最佳匹配模板,找到当前块的预测块,对当前块进行编码或解码。通过对匹配误差进行修正,可以使得不可信的估计运动矢量对应的参考模板与当前模板的匹配相似度被削弱,这样选择的最佳匹配模板是可信的估计运动矢量对应的参考模板的可能性增大,也就减弱了抖动效应。

附图说明

[0019] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020] 图1为本发明实施例一提供的视频图像块处理方法的流程图;
[0021] 图2为本发明实施例二提供的视频图像块处理方法的流程图;
[0022] 图3为本发明实施例三提供的视频图像块处理方法的流程图;
[0023] 图4为本发明实施例四提供的视频图像块处理方法的流程图;
[0024] 图5为本发明实施例四提供的视频图像块处理方法中当前帧的示意图;
[0025] 图6为图5的当前帧对应的参考帧的示意图;
[0026] 图7为本发明实施例六提供的视频图像块处理方法的流程图;
[0027] 图8为本发明实施例七提供的视频图像块处理装置的结构示意图;
[0028] 图9为本发明实施例八提供的视频图像块处理装置的结构示意图;
[0029] 图10为本发明实施例九提供的视频图像块处理装置的结构示意图;
[0030] 图11为本发明实施例十提供的视频图像块处理装置的结构示意图;
[0031] 图12为本发明实施例十一提供的视频图像块处理装置的结构示意图;
[0032] 图13为本发明实施例十二提供的视频图像块处理装置的结构示意图。

具体实施方式

[0033] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0034] 图1为本发明实施例一提供的视频图像块处理方法的流程图。如图1所示,本实施例包括:
[0035] 101、获取当前块的当前模板与一个以上估计运动矢量对应的参考模板的匹配误差。
[0036] 在预测性的快速搜索方法中,利用当前块周边的重建象素构建当前模板,将当前块周围已编码图像块的运动矢量作为当前块的候选运动矢量集,这些候选运动矢量作为估计运动矢量的一部分;在候选运动矢量所指位置区域的周围区域(如上下左右各偏移一个搜索精度单位的区域),进行精细化搜索得到一些和当前模板形状一样的参考模板,这些参考模板对应的精细化运动矢量也作为估计运动矢量的一部分。
[0037] 分别获取当前块的当前模板与上述候选运动矢量和精细化运动矢量对应的参考模板的匹配误差。
[0038] 102、根据估计运动矢量的可信度,对一个以上估计运动矢量中部分或全部估计运动矢量对应的参考模板与当前模板的匹配误差进行修正。
[0039] 所谓估计运动矢量的可信度是指是指估计得到的运动矢量和该物体真实的运动的一致性,一个以上估计运动矢量中一部分被认为是可信的(即可信度较高),另一部分被认为是不可信的(即可信度较低),例如:由于物体运动的空间连续性,候选运动矢量可以被认为是可信的,精细化运动矢量被认为是不可信的。
[0040] 本实施例中,可以对可信的估计运动矢量对应的参考模板与当前模板的匹配误差进行修正,也可以对不可信的估计运动矢量对应的参考模板与当前模板的匹配误差进行修正,还可以对全部的估计运动矢量对应的参考模板与当前模板的匹配误差进行修正。
[0041] 103、根据修正后的匹配误差,从一个以上参考模板中选择最佳匹配模板。
[0042] 在修正之后,比较匹配误差的大小,可以选择匹配误差最小的参考模板作为最佳匹配模板。
[0043] 104、根据最佳匹配模板,得到当前块的预测块,对所述当前块进行编码或解码。
[0044] 根据最佳匹配模板,通过该最佳匹配模板对应的运动矢量,找到当前块的预测块,对所述当前块进行编码或解码。
[0045] 本实施例根据估计运动矢量的可信度对匹配误差进行修正,根据修正后的匹配误差从一个以上参考模板中选择最佳匹配模板,根据最佳匹配模板,找到当前块的预测块,对当前块进行编码或解码。通过对匹配误差进行修正,可以使得不可信的估计运动矢量对应的参考模板与当前模板的匹配相似度被削弱,这样选择的最佳匹配模板是可信的估计运动矢量对应的参考模板的可能性增大,也就减弱了抖动效应。
[0046] 图2为本发明实施例二提供的视频图像块处理方法的流程图。如图2所示,本实施例包括:
[0047] 201、获取当前块的当前模板与一个以上估计运动矢量对应的参考模板的匹配误差。
[0048] 该步骤的具体实施过程可与步骤101相同。
[0049] 202、将部分估计运动矢量对应的参考模板与当前模板的第一匹配误差代入预设的代价函数,得到第一代价函数值作为修正后的匹配误差。
[0050] 根据估计运动矢量的可信度,可以将一个以上估计运动矢量分成两部分,一部分是可信的运动矢量,一部分为不可信的运动矢量,本步骤所述部分估计运动矢量为不可信的运动矢量,不可信的运动矢量的可信度低于可信的运动矢量。将不可信的运动矢量对应的参考模板与当前模板的第一匹配误差代入预设的代价函数,得到第一代价函数值作为修正后的匹配误差,其中第一代价函数值大于第一匹配误差,也就是说,经过修正后不可信的运动矢量的匹配误差增大了。
[0051] 作为一种具体实施方式,预设的代价函数可以为:
[0052] C=ω·SAD(MV) (1)
[0053] 其中,SAD(MV)为第一匹配误差,具体为绝对误差和,当然也可以为平方差和或平方根和,还可以是码率失真等与失真有关的函数,本实施例对此不做限制;ω为惩罚参数,这里ω>1,第一匹配误差SAD(MV)经过修正后得到的第一代价函数值C大于SAD(MV)。
[0054] 公式(1)所示的代价函数仅为一个具体的例子,本实施例不仅限于此,只要是保证修正后的第一代价函数值大于第一匹配误差的代价函数均属于本实施例所要保护的范围。
[0055] 203、在部分修正后的匹配误差和未经过修正的匹配误差中选择最小的一个,将其对应的参考模板作为最佳匹配模板。
[0056] 本实施例将不可信的运动矢量的匹配误差进行了修正,可信的运动矢量的匹配误差未经过修正,从这些修正后的匹配误差以及未经过修正的匹配误差中选择最小的一个,将该最小的匹配误差对应的参考模板作为最佳匹配模板。
[0057] 204、根据最佳匹配模板,得到当前块的预测块,对所述当前块进行编码或解码。
[0058] 根据最佳匹配模板,通过该最佳匹配模板对应的运动矢量,找到当前块的预测块,对所述当前块进行编码或解码。
[0059] 本实施例对不可信的运动矢量的匹配误差进行了修正,修正后的匹配误差增大了,使得不可信的估计运动矢量对应的参考模板与当前模板的匹配相似度被削弱,然后选择最小的匹配误差对应的参考模板作为最佳匹配模板,选择的最佳匹配模板是可信的估计运动矢量对应的参考模板的可能性增大,也就减弱了抖动效应。
[0060] 图3为本发明实施例三提供的视频图像块处理方法的流程图。如图3所示,本实施例包括:
[0061] 301、获取当前块的当前模板与一个以上估计运动矢量对应的参考模板的匹配误差。
[0062] 该步骤的具体实施过程可与步骤101相同。
[0063] 302、将部分估计运动矢量对应的参考模板与当前模板的第二匹配误差代入预设的代价函数,得到第二代价函数值作为修正后的匹配误差。
[0064] 根据估计运动矢量的可信度,可以将一个以上估计运动矢量分成两部分,一部分是可信的运动矢量,一部分为不可信的运动矢量,本步骤所述部分估计运动矢量为可信的运动矢量,可信的运动矢量的可信度高于不可信的运动矢量。将可信的运动矢量对应的参考模板与当前模板的第二匹配误差代入预设的代价函数,得到第二代价函数值作为修正后的匹配误差,其中第二代价函数值小于第二匹配误差,也就是说,经过修正后可信的运动矢量的匹配误差减小了。
[0065] 作为一种具体实施方式,预设的代价函数可以为:
[0066] C=ω·SAD(MV) (2)
[0067] 其中,SAD(MV)为第二匹配误差,具体为绝对误差和,当然也可以为平方差和或平方根和,还可以是码率失真等与失真有关的函数,本实施例对此不做限制;ω为惩罚参数,这里ω<1,第二匹配误差SAD(MV)经过修正后得到的第二代价函数值C小于SAD(MV)。
[0068] 公式(2)所示的代价函数仅为一个具体的例子,本实施例不仅限于此,只要是保证修正后的第二代价函数值小于第二匹配误差的代价函数均属于本实施例所要保护的范围。
[0069] 303、在部分修正后的匹配误差和未经过修正的匹配误差中选择最小的一个,将其对应的参考模板作为最佳匹配模板。
[0070] 本实施例将可信的运动矢量的匹配误差进行了修正,不可信的运动矢量的匹配误差未经过修正,从这些修正后的匹配误差以及未经过修正的匹配误差中选择最小的一个,将该最小的匹配误差对应的参考模板作为最佳匹配模板。
[0071] 304、根据最佳匹配模板,得到当前块的预测块,对所述当前块进行编码或解码。
[0072] 根据最佳匹配模板,通过该最佳匹配模板对应的运动矢量,找到当前块的预测块,对所述当前块进行编码或解码。
[0073] 本实施例对可信的运动矢量的匹配误差进行了修正,修正后的匹配误差减小了,使得可信的估计运动矢量对应的参考模板与当前模板的匹配相似度被增强,然后选择最小的匹配误差对应的参考模板作为最佳匹配模板,选择的最佳匹配模板是可信的估计运动矢量对应的参考模板的可能性增大,也就减弱了抖动效应。
[0074] 图4为本发明实施例四提供的视频图像块处理方法的流程图。如图4所示,本实施例包括:
[0075] 401、获取当前块的当前模板与一个以上估计运动矢量对应的参考模板的匹配误差。
[0076] 在预测性的快速搜索方法中,将当前块周围已编码图像块的运动矢量作为当前块的候选运动矢量集,候选运动矢量是当前块周边的已知运动矢量或整像素精度运动矢量,这些候选运动矢量作为估计运动矢量的一部分;在候选运动矢量所指位置区域的周围区域(如上下左右各偏移一个搜索精度单位的区域),进行精细化搜索得到一些参考模板,这些参考模板对应的精细化运动矢量也作为估计运动矢量的一部分,精细化运动矢量是候选运动矢量通过偏移半像素精度位置得到的运动矢量或半像素精度运动矢量。下面通过一个具体的例子进行说明:
[0077] 图5为本发明实施例四提供的视频图像块处理方法中当前帧的示意图,图6为图5的当前帧对应的参考帧的示意图。其中,当前帧是指当前处理的图像块(即当前块)所属的帧。如图5所示,当前块周围已编码图像块包括左边块A、右上块C和左上块C’,将它们的运动矢量组成当前块的候选运动矢量集{mv1,mv2,mv3,mv4},其中mv1,mv2,mv3分别为左边块A、右上块C和左上块C’的运动矢量,mv4为mv1,mv2和mv3平均值。在参考帧中每个候选运动矢量所指位置区域的周围区域,进行精细化搜索得到一些参考模板,这些参考模板对应的精细化运动矢量也作为估计运动矢量的一部分。如图6所示,以左上块C’为例,在参考帧中圆圈所示的位置是左上块C’的运动矢量mv3所指位置区域,在该位置区域进行亚像素移位,得到4个三角形所指的偏移位置,在这4个三角形所指的偏移位置形成的参考模板即为进行精细化搜索得到的参考模板,这些参考模板对应精细化运动矢量{mv31,mv32,mv33,mv34},这些精细化运动矢量与候选运动矢量集共同构成估计运动矢量集。
[0078] 本步骤分别获取当前块的当前模板与上述候选运动矢量和精细化运动矢量对应的参考模板的匹配误差,当前模板和参考模板的形状是一样的。其中匹配误差可以为绝对误差和(Sum of Absolute Differences,简称:SAD),也可以为平方差和(Sum of Squares for Error,简称:SSE)或平方根和,还可以是码率失真等与失真有关的函数。
[0079] 402、将匹配误差代入预设的代价函数,根据估计运动矢量的性质,得到代价函数值作为修正后的匹配误差。
[0080] 对于连续运动图像区域,如果没有结构特征或比较平滑,匹配误差的值可能非常相近,再加之量化噪声的影响,直接根据匹配误差来选择最佳匹配模板可能推导得到一个相对于视频系列中的真实自然运动异常的运动矢量。本步骤为了在保证较高编码效率的前提下,减弱抖动块效应,提供了一种削弱精细化模板匹配相似度的方法,具体地,利用一些条件变量构造了代价函数,用于修正匹配误差。
[0081] 本实施例提供一种代价函数,该代价函数的参数包括惩罚参数,惩罚参数的值是根据估计运动矢量的可信度而确定的。进一步的,本实施例中,估计运动矢量的可信度又是根据估计运动矢量是否为当前块的候选运动矢量而确定的。本实施例中认为候选运动矢量的可信度高于精细化运动矢量,因此候选运动矢量对应的惩罚参数的值小于精细化运动矢量对应的惩罚参数的值。
[0082] 作为一种具体实施方式,预设的代价函数可以为:
[0083] C=ω·SAD(MV),
[0084] 其中,ω为惩罚参数,SAD(MV)为匹配误差,具体为绝对误差和,当然也可以为平方差和或者平方根和,还可以是码率失真等与失真有关的函数,本实施例对此不做限制;C为代价函数值。当估计运动矢量为原始的候选运动矢量时,惩罚参数的值为1,当估计运动矢量不是原始的候选运动矢量,而是精细化运动矢量时,惩罚参数的值为 其中 也即估计运动矢量是候选运动矢量时的惩罚参数的值小于估计运动矢量是精细化运动矢量时的惩罚参数的值,这样根据公式(3),对于精细化运动矢量对应的参考模板的代价函数值大于候选运动矢量对应的参考模板的代价函数值,从而使得精细化运动矢量对应的参考模板与当前模板的匹配相似度相对于候选运动矢量被削弱。
[0085] 码流中可以包括惩罚参数,惩罚参数的值是在编码端预先设定的,具体取值可以通过离线训练而设定,这样在编码端根据预设的惩罚参数计算代价函数值之后,可以将该惩罚参数写入码流中;当在解码端进行解码时,可以从码流中解码得到惩罚参数,根据该惩罚参数计算代价函数值。码流中也可以不包括惩罚参数,惩罚参数的值是在编码端和解码端预先设定的且是相同的,具体取值可以通过离线训练而设定,编码端和解码端分别使用预先设定的相同的惩罚参数计算代价函数值。
[0086] 作为另外一种具体实施方式,预设的代价函数可以为:
[0087] C=ω·SAD(MV)+δ,
[0088] 其中,ω为惩罚参数,SAD(MV)为匹配误差,具体为绝对误差和,当然也可以为平方差和或者平方根和,还可以是码率失真等与失真有关的函数,本实施例对此不做限制;C为代价函数值,δ是预设的修正值,它的取值可以通过离线训练得到。当估计运动矢量为原始的候选运动矢量时,惩罚参数的值为1,当估计运动矢量不是原始的候选运动矢量,而是精细化运动矢量时,惩罚参数的值为 其中 也即估计运动矢量是候选运动矢量时的惩罚参数的值小于估计运动矢量是精细化运动矢量时的惩罚参数的值,这样根据公式(4),精细化运动矢量对应的参考模板的代价函数值大于候选运动矢量对应的参考模板的代价函数值,从而使得精细化运动矢量对应的参考模板与当前模板的匹配相似度相对于候选运动矢量被削弱。
[0089] 由上述可知,本实施例中代价函数的确定受到匹配误差以及与参考模板对应的估计运动矢量是原始的候选运动矢量还是精细化运动矢量的影响。
[0090] 公式(3)和(4)所示的代价函数仅为一个具体的例子,本实施例不仅限于此,只要是保证修正后精细化运动矢量对应的参考模板与当前模板的匹配相似度相对于候选运动矢量被削弱的代价函数均属于本实施例所要保护的范围。
[0091] 403、从一个以上参考模板中选择修正后的匹配误差最小的作为最佳匹配模板。
[0092] 比较计算得到的代价函数值,选择代价函数最小的参考模板作为最佳匹配模板。
[0093] 404、将最佳匹配模板对应的估计运动矢量所指的图像块作为预测块,对当前块进行编码或解码。
[0094] 在编码端,将该最佳匹配模板对应的估计运动矢量所指的图像块作为预测块,对当前块进行预测得到当前块的残差,进行变换和量化处理后,再进行熵编码;在解码端,将最佳匹配模板对应的估计运动矢量所指的图像块作为预测块,根据该预测块重建当前块。
[0095] 本实施例中,可以直接在码流中传输上述代价函数,在编码端根据代价函数计算代价函数值之后,可以将代价函数写入码流中;当在解码端进行解码时,可以从码流中解码得到代价函数,根据该代价函数计算代价函数值。码流中也可以包括代价函数的索引值,在这种情况下,对于不同的当前块来说有可能采用的代价函数有所不同,如一些当前块采用公式(3)的代价函数,另一些当前块采用公式(4)的代价函数,码流中传输代价函数的索引值,编解码端分别根据索引值选择对应的代价函数进行计算。
[0096] 本实施例通过构造的代价函数,对匹配误差进行修正得到代价函数值,使得精细化运动矢量对应的参考模板修正后的匹配误差较大,候选运动矢量对应的参考模板修正后的匹配误差较小,然后根据修正后的匹配误差从一个以上参考模板中选择最佳匹配模板,根据最佳匹配模板,找到当前块的预测块,对当前块进行编码或解码,本实施例中进行精细化搜索得到的参考模板与当前模板的匹配相似度可信度被削弱,因此选择的最佳匹配模板是候选运动矢量对应的参考模板的可能性增大,这样也就减弱了因精细化搜索而带来的抖动效应。
[0097] 本发明实施例五提供的视频图像块处理方法与上述实施例四的不同之处在于估计运动矢量的可信度是根据估计运动矢量对应的参考模板与当前模板的纹理结构信息而确定的,也即代价函数中惩罚参数的值受到匹配误差以及当前模板和参考模板的纹理结构信息的影响,进一步的,估计运动矢量的可信度是根据估计运动矢量对应的参考模板与当前模板的方差或梯度信息的相似程度而确定的。
[0098] 以方差为例,本实施例在上述实施例四的基础上,用下列方法取代根据估计运动矢量的性质来确定代价函数:获取当前块的当前模板(用TM1来表示)与一个以上估计运动矢量对应的参考模板(用TM2来表示)的方差,其中TM1的方差为D1=∑|TM1(x,y)-E1|,其中E1是TM1各像素值的平均数,TM1(x,y)是TM1在(x,y)位置的像素值;TM2的方差为D2=∑|TM2(x,y)-E2|,其中E2是TM2各像素值的平均数,TM2(x,y)是TM2在(x,y)位置的像素值。
[0099] 作为一种具体实施方式,预设的代价函数可以为:
[0100] C=ω·SAD(MV),
[0101] 其中,ω为惩罚参数,SAD(MV)为匹配误差,具体为绝对误差和,当然也可以为平方差和或者平方根和,还可以是码率失真等与失真有关的函数,本实施例对此不做限制;C为代价函数值。当D1/D2<1.5且D1/D2>2/3时,惩罚参数的值为1,当D1/D2<2/3或者D1/D2>1.5时,惩罚参数的值为 其中 也即,惩罚参数的值是根据当前模板和参考模板的纹理相似程度而确定的,当D1/D2<2/3或D1/D2>1.5时,表明当前模板和参考模板的纹理结构相差较大,该参考模板对应的估计运动矢量被认为是不可信运动矢量,即认为可信度低,惩罚参数的值为 当D1/D2<1.5且D1/D2>2/3时,表明当前模板和参考模板的纹理结构较相似,该参考模板对应的估计运动矢量被认为是可信运动矢量,即可信度高,惩罚参数的值为1。
[0102] 作为另外一种具体实施方式,预设的代价函数可以为:
[0103] C=ω·SAD(MV)+δ,
[0104] 其中,ω为惩罚参数,SAD(MV)为匹配误差,具体为绝对误差和,当然也可以为平方差和或者平方根和,还可以是码率失真等与失真有关的函数,本实施例对此不做限制;C为代价函数值,δ是预设的修正值,它的取值可以通过离线训练得到。当D1/D2<1.5且D1/D2>2/3时,惩罚参数的值为1,当D1/D2<2/3或者D1/D2>1.5时,惩罚参数的值为其中 也即,惩罚参数的值是根据当前模板和参考模板的纹理相似程度而确定的,当D1/D2<2/3或D1/D2>1.5时,表明当前模板和参考模板的纹理结构相差较大,该参考模板对应的估计运动矢量被认为是不可信运动矢量,惩罚参数的值为 当D1/D2<1.5或者D1/D2>2/3时,表明当前模板和参考模板的纹理结构较相似,该参考模板对应的估计运动矢量被认为是可信运动矢量,惩罚参数的值为1。
[0105] 本实施例也可以根据当前模板和参考模板的梯度信息的相似程度确定惩罚参数的值。
[0106] 由于当前模板和参考模板的纹理结构信息也是衡量参考模板对应的运动矢量所指的图像块作为当前块预测值可信度的一种方法,所以上述通过当前模板和参考模板的纹理结构信息确定惩罚参数的值与根据估计运动矢量是否为当前块的候选运动矢量确定惩罚参数的值的效果是相同的。
[0107] 本实施例构造的代价函数根据纹理结构信息对匹配误差进行修正得到代价函数值,使得参考模板和当前模板纹理差异较大的参考模板修正后的匹配误差较大,参考模板和当前模板纹理差异较小的参考模板修正后的匹配误差较小,然后根据修正后的匹配误差从一个以上参考模板中选择最佳匹配模板,根据最佳匹配模板,找到当前块的预测块,对当前块进行编码或解码,本实施例中纹理差异比较大的参考模板与当前模板的匹配相似度被削弱,因此选择的最佳匹配模板是纹理差异较小的参考模板的可能性增大,这样也就减弱了因误选非真实运动矢量而带来的抖动效应。
[0108] 图7为本发明实施例六提供的视频图像块处理方法的流程图。如图7所示,本实施例包括:
[0109] 501、获取当前块的当前模板与一个以上估计运动矢量对应的参考模板的匹配误差。
[0110] 502、将匹配误差代入预设的代价函数,根据估计运动矢量的性质,得到代价函数值作为修正后的匹配误差。
[0111] 503、从一个以上参考模板中选择修正后的匹配误差最小的作为最佳匹配模板。
[0112] 504、若本实施例应用于编码端,本步骤具体为:当最佳匹配模板对应的估计运动矢量为第一估计运动矢量时,采用DMVD技术对当前块进行编码;当最佳匹配模板对应的估计运动矢量是第二估计运动矢量时,将运动信息写入码流,采用非DMVD技术对当前块进行编码,其中第一估计运动矢量的可信度高于第二估计运动矢量;
[0113] 若本实施例应用于解码端,本步骤具体为:当最佳匹配模板对应的估计运动矢量为第一估计运动矢量时,采用DMVD技术对当前块进行解码;当最佳匹配模板对应的估计运动矢量是第二估计运动矢量时,根据码流中的运动信息,采用非DMVD技术对当前块进行解码,其中第一估计运动矢量的可信度高于第二估计运动矢量。
[0114] 上述写入码流的运动信息可以为按H.264/AVC已有技术运动估计得到的运动矢量与一设定运动矢量的差值。
[0115] 具体地说,上述步骤501-503的具体实施过程的描述可以参见实施例二、三、四或五对应的步骤,在此不再赘述。
[0116] 在上述步骤504中,若本实施例应用于编码端,当最佳匹配模板对应的估计运动矢量为可信的估计运动矢量时,采用DMVD技术对当前块进行编码,也即将最佳匹配模板对应的估计运动矢量所指的图像块作为预测块,对当前块进行编码;当最佳匹配模板对应的估计运动矢量是不可信的估计运动矢量时,采用非DMVD技术(如H.264/AVC中的技术)对当前块进行编码。若本实施例应用于解码端,当最佳匹配模板对应的估计运动矢量为可信的估计运动矢量时,采用DMVD技术对当前块进行解码,也即将最佳匹配模板对应的估计运动矢量所指的图像块作为预测块,根据该预测块重建当前块;当最佳匹配模板对应的估计运动矢量是不可信的估计运动矢量时,根据码流中的运动信息,采用非DMVD技术(如H.264/AVC中的技术)对当前块进行解码。
[0117] 当最佳匹配模板对应的估计运动矢量为可信的估计运动矢量时,本实施例采用预测性的快速搜索方法的DMVD技术进行编码或解码,减弱了抖动块效应。当最佳匹配模板对应的估计运动矢量是不可信的估计运动矢量时,在这种情况下如果采用DMVD技术进行编码或解码,一些抖动又会出现,本实施例在这种情况下的编码端,采用非DMVD技术进行编码,解码端根据码流中的运动信息(如运动矢量差),采用非DMVD技术进行解码,由于非DMVD技术中根据RDO准则,在非结构化区域,编码端更愿意选择较小的运动矢量差进行编码,这样可以产生较规则的运动矢量场,保证了运动矢量场规则化,也减弱了抖动块效应。
[0118] 图8为本发明实施例七提供的视频图像块处理装置的结构示意图。如图8所示,本实施例包括:匹配模块11、修正模块12、选择模块13以及处理模块14,其中:
[0119] 匹配模块11用于获取当前块的当前模板与一个以上估计运动矢量对应的参考模板的匹配误差;
[0120] 修正模块12用于根据估计运动矢量的可信度,对一个以上估计运动矢量中部分或全部估计运动矢量对应的参考模板与当前模板的匹配误差进行修正;
[0121] 选择模块13用于根据修正后的匹配误差,从一个以上参考模板中选择最佳匹配模板;
[0122] 处理模块14用于根据最佳匹配模板,得到当前块的预测块,对当前块进行编码或解码。
[0123] 具体地说,在预测性的快速搜索方法中,将当前块周围已编码图像块的运动矢量作为当前块的候选运动矢量集,这些候选运动矢量作为估计运动矢量的一部分;在候选运动矢量所指位置区域的周围区域(如上下左右各偏移一个搜索精度单位的区域),进行精细化搜索得到一些参考模板,这些参考模板对应的精细化运动矢量也作为估计运动矢量的一部分。匹配模块11分别获取当前块的当前模板与上述候选运动矢量和精细化运动矢量对应的参考模板的匹配误差。
[0124] 一个以上估计运动矢量中一部分被认为是可信的(即可信度较高),另一部分被认为是不可信的(即可信度较低),例如:候选运动矢量可以被认为是可信的,精细化运动矢量被认为是不可信的。本实施例中,修正模块12可以对可信的估计运动矢量对应的参考模板与当前模板的匹配误差进行修正,也可以对不可信的估计运动矢量对应的参考模板与当前模板的匹配误差进行修正,还可以对全部的估计运动矢量对应的参考模板与当前模板的匹配误差进行修正。
[0125] 在修正之后,选择模块13比较匹配误差的大小,可以选择匹配误差最小的参考模板作为最佳匹配模板。
[0126] 处理模块14根据最佳匹配模板,通过该最佳匹配模板对应的运动矢量,找到当前块的预测块,对所述当前块进行编码或解码。
[0127] 本实施例中,修正模块根据估计运动矢量的可信度对匹配误差进行修正,选择模块根据修正后的匹配误差从一个以上参考模板中选择最佳匹配模板,处理模块根据最佳匹配模板,找到当前块的预测块,对当前块进行编码或解码。通过对匹配误差进行修正,可以使得不可信的估计运动矢量对应的参考模板与当前模板的匹配相似度相对地被削弱,这样选择的最佳匹配模板是可信的估计运动矢量对应的参考模板的可能性相对地增大,也就减弱了抖动效应。
[0128] 图9为本发明实施例八提供的视频图像块处理装置的结构示意图。如图9所示,本实施例在上述实施例七的基础上,进一步的,修正模块12包括:第一修正单元21,用于将部分估计运动矢量对应的参考模板与当前模板的第一匹配误差代入预设的代价函数,得到第一代价函数值作为修正后的匹配误差。
[0129] 上述部分估计运动矢量的可信度低于除部分估计运动矢量以外的其他估计运动矢量,第一代价函数值大于第一匹配误差。
[0130] 根据估计运动矢量的可信度,可以将一个以上估计运动矢量分成两部分,一部分是可信的运动矢量,一部分为不可信的运动矢量,本实施例中部分估计运动矢量为不可信的运动矢量,不可信的运动矢量的可信度低于可信的运动矢量。第一修正单元21将不可信的运动矢量对应的参考模板与当前模板的第一匹配误差代入预设的代价函数,得到第一代价函数值作为修正后的匹配误差,其中第一代价函数值大于第一匹配误差,也就是说,经过修正后不可信的运动矢量的匹配误差增大了。
[0131] 进一步的,本实施例所采用的代价函数可以为公式(1)。
[0132] 本实施例提供的视频图像块处理装置各模块具体功能的实现过程可以参考上述方法实施例二中的相关描述。
[0133] 本实施例第一修正单元对不可信的运动矢量的匹配误差进行了修正,修正后的匹配误差增大了,使得不可信的估计运动矢量对应的参考模板与当前模板的匹配相似度被削弱,然后选择最小的匹配误差对应的参考模板作为最佳匹配模板,选择的最佳匹配模板是可信的估计运动矢量对应的参考模板的可能性增大,也就减弱了抖动效应。
[0134] 图10为本发明实施例九提供的视频图像块处理装置的结构示意图。如图10所示,本实施例在上述实施例七的基础上,进一步的,修正模块12包括:第二修正单元31,用于将部分估计运动矢量对应的参考模板与当前模板的第二匹配误差代入预设的代价函数,得到第二代价函数值作为修正后的匹配误差。
[0135] 上述部分估计运动矢量的可信度高于除部分估计运动矢量以外的其他估计运动矢量,第二代价函数值小于第二匹配误差。
[0136] 根据估计运动矢量的可信度,可以将一个以上估计运动矢量分成两部分,一部分是可信的运动矢量,一部分为不可信的运动矢量,本实施例中部分估计运动矢量为可信的运动矢量,可信的运动矢量的可信度高于不可信的运动矢量。第二修正单元31将可信的运动矢量对应的参考模板与当前模板的第二匹配误差代入预设的代价函数,得到第二代价函数值作为修正后的匹配误差,其中第二代价函数值小于第二匹配误差,也就是说,经过修正后可信的运动矢量的匹配误差减小了。
[0137] 进一步的,本实施例所采用的代价函数可以为公式(2)。
[0138] 本实施例提供的视频图像块处理装置各模块具体功能的实现过程可以参考上述方法实施例三中的相关描述。
[0139] 本实施例第二修正单元对可信的运动矢量的匹配误差进行了修正,修正后的匹配误差减小了,使得可信的估计运动矢量对应的参考模板与当前模板的匹配相似度被增强,相对地,不可信的估计运动矢量对应的参考模板与当前模板的匹配相似度被削弱,然后选择最小的匹配误差对应的参考模板作为最佳匹配模板,选择的最佳匹配模板是可信的估计运动矢量对应的参考模板的可能性增大,也就减弱了抖动效应。
[0140] 图11为本发明实施例十提供的视频图像块处理装置的结构示意图。如图11所示,本实施例在上述实施例七的基础上,进一步的,修正模块12包括:第三修正单元41,用于将一个以上估计运动矢量对应的参考模板与当前模板的匹配误差代入预设的代价函数,得到代价函数值作为修正后的匹配误差。
[0141] 本实施例中,代价函数的参数包括惩罚参数,惩罚参数的值是根据估计运动矢量的可信度而确定的。进一步的,估计运动矢量的可信度可以是根据估计运动矢量是否为当前块的候选运动矢量而确定的,这样认为候选运动矢量的可信度高于精细化运动矢量,候选运动矢量对应的惩罚参数的值小于精细化运动矢量对应的惩罚参数的值。估计运动矢量的可信度也可以是根据估计运动矢量对应的参考模板与当前模板的纹理结构信息而确定的,进一步的,估计运动矢量的可信度是根据估计运动矢量对应的参考模板与当前模板的方差或梯度信息的相似程度而确定的。
[0142] 进一步的,本实施例所采用的代价函数可以为公式(3)-(6)中的任意一个。
[0143] 本实施例提供的视频图像块处理装置各模块具体功能的实现过程可以参考上述方法实施例四或五中的相关描述。
[0144] 本实施例第三修正单元对全部估计运动矢量的匹配误差进行了修正,其中代价函数中惩罚参数的值是根据估计运动矢量的可信度而确定,这样使得不可信的估计运动矢量对应的参考模板与当前模板的匹配相似度被削弱,然后选择最小的匹配误差对应的参考模板作为最佳匹配模板,选择的最佳匹配模板是可信的估计运动矢量对应的参考模板的可能性增大,也就减弱了抖动效应。
[0145] 在上述实施例七至十任一个实施例的基础上,作为一种实施方式,处理模块14可以具体用于将最佳匹配模板对应的估计运动矢量所指的图像块作为预测块,对当前块进行编码或解码。作为另一种实施方式,处理模块14还可以实现其他编码或解码功能,下面分别进行描述。
[0146] 图12为本发明实施例十一提供的视频图像块处理装置的结构示意图。如图12所示,本实施例具体为一编码装置,在上述实施例七的基础上,处理模块14进一步包括:编码单元51,用于当最佳匹配模板对应的估计运动矢量为第一估计运动矢量时,采用解码端运动矢量可推导DMVD技术对当前块进行编码;当最佳匹配模板对应的估计运动矢量是第二估计运动矢量时,将运动信息写入码流,采用非DMVD技术对当前块进行编码,其中第一估计运动矢量的可信度高于第二估计运动矢量。
[0147] 上述实施例八或九或十中处理模块也可以包括该编码单元。
[0148] 图13为本发明实施例十二提供的视频图像块处理装置的结构示意图。如图13所示,本实施例具体为一解码装置,在上述实施例七的基础上,处理模块14进一步包括:解码单元61,用于当最佳匹配模板对应的估计运动矢量为第一估计运动矢量时,采用DMVD技术对当前块进行解码;当最佳匹配模板对应的估计运动矢量是第二估计运动矢量时,根据码流中的运动信息,采用非DMVD技术对当前块进行解码,其中第一估计运动矢量的可信度高于第二估计运动矢量。
[0149] 上述实施例八或九或十中处理模块也可以包括该解码单元。
[0150] 当最佳匹配模板对应的估计运动矢量为可信的估计运动矢量时,上述实施例采用预测性的快速搜索方法的DMVD技术进行编码或解码,减弱了抖动块效应。当最佳匹配模板对应的估计运动矢量是不可信的估计运动矢量时,在这种情况下如果采用DMVD技术进行编码或解码,一些抖动又会出现,上述实施例在这种情况下的编码端,采用非DMVD技术进行编码,解码端根据码流中的运动信息(如运动矢量差),采用非DMVD技术进行解码,由于非DMVD技术中根据RDO准则,在非结构化区域,编码端更愿意选择较小的运动矢量差进行编码,这样可以产生较规则的运动矢量场,保证了运动矢量场规则化,也减弱了抖动块效应。
[0151] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤,而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0152] 最后应说明的是:以上实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。