一种分像素运动估计方法及估计系统

文档序号:89990 发布日期:2021-10-08 浏览:40次 >En<

阅读说明:本技术 一种分像素运动估计方法及估计系统 (Sub-pixel motion estimation method and estimation system ) 是由 向国庆 曾毓宁 张鹏 张广耀 宋磊 于 2021-05-26 设计创作,主要内容包括:本发明公开了一种分像素运动估计方法及估计系统,方法包括:对当前LCU块进行CU划分得到多种不同尺寸的CU块;根据预存的不同运动估计电路包含的CU尺寸,将划分得到的CU块分配给相应的运动估计电路;并行执行各个运动估计电路,以由各个运动估计电路将所分配的CU块按照其最小处理尺寸划分为多个子块,并基于该多个子块的处理结果得到所分配的CU块的分像素运动矢量。通过设计多尺寸CU共用的运动估计电路,并预先存储不同运动估计电路包含的CU尺寸,通过将CU块分配给相应的运动估计电路进行分像素运动估计,由于不同的运动估计电路并行执行,并且多尺寸CU共用一个运动估计电路,因此不仅可以降低资源消耗,减少电路面积,还可以提升运行速度。(The invention discloses a sub-pixel motion estimation method and an estimation system, wherein the method comprises the following steps: performing CU division on a current LCU block to obtain a plurality of CU blocks with different sizes; distributing the divided CU blocks to corresponding motion estimation circuits according to the sizes of the pre-stored CUs contained in different motion estimation circuits; each motion estimation circuit is executed in parallel to divide the allocated CU block into a plurality of sub-blocks by its minimum processing size by each motion estimation circuit, and to obtain a sub-pixel motion vector of the allocated CU block based on the processing results of the plurality of sub-blocks. By designing a motion estimation circuit shared by multi-size CUs, storing CU sizes contained in different motion estimation circuits in advance, and distributing CU blocks to corresponding motion estimation circuits for sub-pixel motion estimation, because different motion estimation circuits are executed in parallel and the multi-size CUs share one motion estimation circuit, not only can the resource consumption be reduced, the circuit area be reduced, but also the operation speed can be improved.)

一种分像素运动估计方法及估计系统

技术领域

本发明涉及视频编码

技术领域

,具体涉及一种分像素运动估计方法及估计系统。

背景技术

在AVS3视频编码标准中,对于LCU(largest coding unit,最大编码单元)的尺寸从64x64扩展到了128x128,并且在BT(binary tree,二叉树)和QT(quad-tree,四叉树)的编码单元(CU,coding unit)划分模式之外,又引入了EQT(extended quad-tree,增强型四叉树)划分模式,这使得CU划分的复杂度急剧增加。

由于CU划分复杂度的增加,对于CU的分像素运动估计(FME,fractional motionestimation)来说,每种CU尺寸需要设计一种分像素运动估计电路方案,这就会导致资源消耗过多,电路复杂且面积过大的问题。

发明内容

本发明的目的是针对上述现有技术的不足提出的一种分像素运动估计方法及估计系统,该目的是通过以下技术方案实现的。

本发明的第一方面提出了一种分像素运动估计方法,所述方法包括:

对当前LCU块进行CU划分,得到多种不同尺寸的CU块;

根据预存的不同运动估计电路包含的CU尺寸,将划分得到的CU块分配给相应的运动估计电路;

并行执行各个运动估计电路,以由各个运动估计电路将所分配的CU块按照其最小处理尺寸划分为多个子块,并基于该多个子块的处理结果得到所分配的CU块的分像素运动矢量。

本发明的第二方面提出了一种分像素运动估计系统,包括:

CU划分模块,用于对当前LCU块进行CU划分,得到多种不同尺寸的CU块,并根据预存的不同运动估计电路包含的CU尺寸,将划分得到的CU块分配给相应的运动估计电路

多个并行执行的运动估计电路,用于将所分配的CU块按照其最小处理尺寸划分为多个子块,并基于该多个子块的处理结果得到所分配的CU块的分像素运动矢量。

基于上述第一方面和第二方面所述的分像素运动估计方法及估计系统,本发明具有如下有益效果或好处:

本方案通过设计多尺寸CU共用的运动估计电路,并预先存储不同运动估计电路包含的CU尺寸,在划分得到各种不同尺寸的CU块后,通过将划分得到的CU块分配给相应的运动估计电路进行分像素运动估计,由于不同的运动估计电路并行执行,并且多尺寸CU共用一个运动估计电路,因此不仅可以降低资源消耗,减少电路面积,还可以提升运行速度。

另外,各个运动估计电路是将所分配的CU块按照其最小处理尺寸划分为多个子块进行处理,而不是对整个CU块进行处理,可以降低运动估计电路的复杂度。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明根据一示例性实施例示出的一种分像素运动估计方法的实施例流程图;

图2为本发明根据一示例性实施例示出的一种CU块的子块划分示意图;

图3为本发明根据一示例性实施例示出的一种分像素运动估计系统的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

图1为本发明根据一示例性实施例示出的一种分像素运动估计方法的实施例流程图,包括如下步骤:

步骤101:对当前LCU块进行CU划分,得到多种不同尺寸的CU块。

其中,在对CU编码前,需要获得所有可能尺寸CU的分像素运动矢量,由于BT模式和QT模式为常使用的划分模式,因此可以采用BT模式和QT模式对当前LCU块进行CU划分。

本领域技术人员可以理解的是,对BT模式和QT模式的具体CU划分过程,可以采用相关技术实现,本发明对此不进行具体限定。

举例来说,假设某LCU块大小为64x64,并且CU最小处理尺寸为4x8和8x4,对该LCU块进行BT模式和QT模式划分,得到22种尺寸CU个数,如下述表1所示。

CU尺寸 数量
4x8 128
4x16 64
4x32 32
8x4 128
8x8 64
8x16 32
8x32 16
8x64 8
16x4 64
16x8 32
16x16 16
16x32 8
16x64 4
32x4 32
32x8 16
32x16 8
32x32 4
32x64 2
64x8 8
64x16 4
64x32 2
64x64 1

表1

由上述表1可以看出,划分得到4x8和8x4尺寸的CU数量最多,4x16、8x8、及16x4尺寸的CU数量次之,并且随着CU尺寸增大,其对应的数量在减少。

步骤102:根据预存的不同运动估计电路包含的CU尺寸,将划分得到的CU块分配给相应的运动估计电路。

在执行步骤102之前,在AVS3中,宽高尺寸不一样CU的分像素运动估计方式和宽高尺寸一样CU的分像素运动估计方式不同,为了能够让不同尺寸的CU共用电路,本发明设计让所有尺寸CU的分像素运动估计都符合下面的方式:

1、最小边大小为4的CU均采用4x4尺寸CU的分像素运动估计方式;

2、最小边大小为8或者大于8的CU均采用8x8尺寸CU的分像素运动估计方式。

也就是说,对于不同尺寸的CU块,可以将其划分成最小处理尺寸为8x8的子块或4x4的子块。对于最小边大小为8或大于8的CU块,可以将其分成最小处理尺寸为8x8的子块,如图2所示,左侧(a)的16x16尺寸CU块可以划分成4个8x8的子块;对于最小边大小为4的CU块,可以将其分成最小处理尺寸为4x4的子块,如图2所示,右侧(b)的4x8尺寸CU块可以划分成2个4x4的子块。

基于此,本发明通过设计至少两个运动估计电路,一个运动估计电路采用4x4尺寸CU的分像素运动估计方式,另一个运动估计电路采用8x8尺寸CU的分像素运动估计方式。也就是说,每个运动估计电路的最小处理尺寸为4x4大小或者8x8大小。

在一具体实现方式中,如上述表1所示的22种尺寸CU个数,综合考虑运行速度和电路面积的问题,通过设计五个运动估计电路,其中,运动估计电路1和运动估计电路2均采用4x4尺寸CU的分像素运动估计方式;运动估计电路3、4、5均采用8x8尺寸CU的分像素运动估计方式。

也就是说,可以将最小边大小为4的CU划分给运动估计电路1或者运动估计电路2,将最小边大小为8或大于8的CU划分给运动估计电路3或4或5。

为了让每个运动估计电路处理的最小CU尺寸数量大致均衡,保证运行速度,需要预先将不同CU块尺寸分类到相应的运动估计电路,并存储CU块尺寸与运动估计电路之间的对应关系,便于后续分配。如表2所示,将上述表1所示的22种尺寸预先分类到五个运动估计电路1、2、3、4、5,每个运动估计电路包含了不同CU尺寸的分类结果。由表2可以看出,对于4x8、4x16、4x32的CU块分配给运动估计电路1处理,对于8x4、16x4、32x4的CU块分配给运动估计电路2处理,对于8x8、8x16、8x32、8x64、64x64的CU块分配给运动估计电路3处理,对于16x16、16x32、16x64、32x32、32x64的CU块分配给运动估计电路4处理,对于16x8、32x8、64x8、32x16、64x16、64x32的CU块分配给运动估计电路5处理。

电路 CU尺寸
运动估计电路1 4x8、4x16、4x32
运动估计电路2 8x4、16x4、32x4
运动估计电路3 8x8、8x16、8x32、8x64、64x64
运动估计电路4 16x16、16x32、16x64、32x32、32x64
运动估计电路5 16x8、32x8、64x8、32x16、64x16、64x32

表2

进一步地,根据上述表1所示的每种CU块尺寸的数量和上述表2所示的每个运动估计电路包含的CU尺寸,统计每个运动估计电路包含的最小处理尺寸数量,如表3所示,为每个运动估计电路包含的最小处理尺寸数量统计结果,由表3可以看出,每个运动估计电路需要处理的最小处理尺寸数量大致是均衡的,可以保证运动速度。

电路 4x4数量或8x8数量
运动估计电路1 768(4x4)
运动估计电路2 768(4x4)
运动估计电路3 320(8x8)
运动估计电路4 320(8x8)
运动估计电路5 384(8x8)

表3

由此可见,预存的不同运动估计电路包含的CU尺寸表示的是:每个运动估计电路对应至少一种CU尺寸需要处理,并且将CU块按照最小处理尺寸划分之后,各个运动估计电路需要处理的最小处理尺寸数量大致均衡。

步骤103:并行执行各个运动估计电路,以由各个运动估计电路将所分配的CU块按照其最小处理尺寸划分为多个子块,并基于该多个子块的处理结果得到所分配的CU块的分像素运动矢量。

在一可选的具体实施例中,对于每个运动估计电路,通过将所分配的CU块按照其最小处理尺寸划分为多个子块,并获取所分配的CU块的整像素运动矢量和参考窗,然后针对每个子块,根据所述子块在CU块中的位置和获取的整像素运动矢量从参考窗中截取第一待搜索块,并对第一待搜索块进行分像素插值,并在插值后的第一待搜索块中选取所述子块的第一待搜索分像素点,并计算每个第一待搜索分像素点的代价值,最后根据每个子块的各个第一待搜索分像素点的代价值,确定所分配的CU块的分像素运动矢量。

其中,在将CU块分配给运动估计电路之后,还需要将CU块的整像素运动矢量和参考窗输入运动估计电路。所述参考窗包括当前LCU在参考帧中相对应的相似区域的像素信息。

可选的,针对根据所述子块在CU块中的位置和获取的整像素运动矢量从参考窗中截取第一待搜索块的过程,根据所述子块在CU块中的位置和获取的整像素运动矢量在参考窗中定位所述子块的最优整像素点,并在参考窗中截取包含最优整像素点的第一待搜索块。

具体地,可以以最优整像素点为起始点开始分别向右和向下定位一个与所述子块尺寸一致的区域,然后将该区域的4个边界分别再扩展4个整像素点后截取,得到第一待搜索块。

其中,将边界再扩展像素的目的是后续插值该区域中像素时使用,但扩展出来的像素不进行插值。

举例来说,划分的子块大小为4x4,那么截取的第一待搜索块大小为12x12,如果对第一待搜索块进行4倍分像素插值,得到的插值后的第一待搜索块大小为(4*4+3+4)x(4*4+3+4)。也就是说,对于以整像素点为界的边缘需要继续往外扩3个分像素点。

可选的,针对在插值后的第一待搜索块中选取所述子块的第一待搜索分像素点的过程,可以选取子块的最优整像素点周围的分像素点作为第一待搜索分像素点。

具体选取规则可以是:将最优整像素点左边和上边一个分像素点距离和最优整像素点右边和下边两个分像素点距离内的16个像素点作为第一待搜索分像素点,并分别计算这16个第一待搜索分像素点的代价值。

由此可见,由于各个子块的第一待搜索分像素点的选取规则相同,因此数量也相等;

在一可选的具体实施例中,针对根据每个子块的各个第一待搜索分像素点的代价值,确定所分配的CU块的分像素运动矢量的过程,可以对每个子块的各个第一待搜索分像素点按照选取顺序进行编号,并统计所有子块对应的相同编号第一待搜索分像素点的代价值的累加,然后根据CU块的整像素运动矢量从参考窗中截取第二待搜索块,并对第二待搜索块进行分像素插值后选取所述CU块的第二待搜索分像素点,并对第二待搜索分像素点采用与第一待搜索分像素点相同方式进行编号,最后从统计得到的累加结果中选取累加结果最小的编号所对应的第二待搜索分像素点作为所述CU块的最优分像素点,并将所述最优分像素点相对所述CU块的矢量作为所述CU块的分像素运动矢量。

其中,由于所有子块的第一待搜索分像素点的选取规则一样,因此按照选取顺序编号后,各个子块对应的相应位置的第一待搜索分像素点的编号也一样,同样地,对应CU块的第二待搜索分像素点的选取规则也一样,按照选取顺序编号后,子块的第一待搜索分像素点的编号与相应位置上CU块的第二待搜索分像素点的编号也一样。

本领域技术人员可以理解的是,分像素点的代价值具体可以是SATD(sum ofabsolute transformed difference,绝对变换差和)。

至此,完成上述图1所示流程,本方案通过设计多尺寸CU共用的运动估计电路,并预先存储不同运动估计电路包含的CU尺寸,在划分得到各种不同尺寸的CU块后,通过将划分得到的CU块分配给相应的运动估计电路进行分像素运动估计,由于不同的运动估计电路并行执行,并且多尺寸CU共用一个运动估计电路,因此不仅可以降低资源消耗,减少电路面积,还可以提升运行速度。

另外,各个运动估计电路是将所分配的CU块按照其最小处理尺寸划分为多个子块进行处理,而不是对整个CU块进行处理,可以降低运动估计电路的复杂度。

与前述分像素运动估计方法的实施例相对应,本发明还提供了分像素运动估计系统的实施例。

图3为本发明根据一示例性实施例示出的一种分像素运动估计系统的结构示意图,包括:划分模块810和多个运动估计电路820(图3中示出5个运动估计电路)。

其中,CU划分模块810,用于对当前LCU块进行CU划分,得到多种不同尺寸的CU块,并根据预存的不同运动估计电路包含的CU尺寸,将划分得到的CU块分配给相应的运动估计电路;

多个运动估计电路820并行执行,并且每个运动估计电路用于将所分配的CU块按照其最小处理尺寸划分为多个子块,并基于该多个子块的处理结果得到所分配的CU块的分像素运动矢量。

在一可选的实现方式中,所述多个运动估计电路820至少包括最小处理尺寸为4x4的运动估计电路和最小处理尺寸为8x8的运动估计电路。

在一可选的实现方式中,多个运动估计电路820,具体用于将所分配的CU块按照其最小处理尺寸划分为多个子块;获取所分配的CU块的整像素运动矢量;针对每个子块,根据所述子块在所述CU块中的位置和所述整像素运动矢量从参考窗中截取第一待搜索块,并对第一待搜索块进行分像素插值,并在插值后的第一待搜索块中选取所述子块的第一待搜索分像素点,并计算所述子块的第一待搜索分像素点的代价值;根据每个子块的各个第一待搜索分像素点的代价值,确定所分配的CU块的分像素运动矢量。

在一可选的实现方式中,多个运动估计电路820,具体用于对每个子块的第一待搜索分像素点按照选取顺序进行编号,每个子块的第一待搜索分像素点的数量相等;统计所有子块对应的相同编号第一待搜索分像素点的代价值的累加;根据所述CU块的整像素运动矢量从参考窗中截取第二待搜索块,并对第二待搜索块进行分像素插值后选取所述CU块的第二待搜索分像素点,并对第二待搜索分像素点采用与第一待搜索分像素点相同方式进行编号;从统计得到的累加结果中选取累加结果最小的编号所对应的第二待搜索分像素点作为所述CU块的最优分像素点;将所述最优分像素点相对所述CU块的矢量作为所述CU块的分像素运动矢量。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种整像素运动估计方法、装置、电子设备及介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类