CN101374235A - 视频编码中的快速块运动估计方法和装置 - Google Patents
视频编码中的快速块运动估计方法和装置 Download PDFInfo
- Publication number
- CN101374235A CN101374235A CN 200710120762 CN200710120762A CN101374235A CN 101374235 A CN101374235 A CN 101374235A CN 200710120762 CN200710120762 CN 200710120762 CN 200710120762 A CN200710120762 A CN 200710120762A CN 101374235 A CN101374235 A CN 101374235A
- Authority
- CN
- China
- Prior art keywords
- value
- current block
- sad
- block
- motion vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种的视频编码中的快速块运动估计方法,包括:当前块为非边界块时,计算当前块邻块的运动矢量中值;计算运动矢量中值的SAD值;当得到的SAD值小于预设值时,该候选块为匹配块,搜索完成,将该SAD值对应矢量作为当前块最终运动矢量;当得到的SAD值不小于预设值时,运动矢量中值作为初始最佳预测矢量;以初始最佳预测矢量指向的点为中心,重复使用小钻石搜索,直到最小SAD值的点与小钻石搜索的中心重合或到达搜索窗口边缘,此时最小SAD点对应候选块为匹配块,匹配块的位移为当前块的最终运动矢量。本发明还公开了一种的视频编码中的块运动估计装置。利用本发明,可以使搜索的候选块快速准确的落到最佳匹配块的范围。
Description
技术领域
本发明涉及视频编码技术领域,特别涉及一种视频编码中的快速块运动估计方法和装置。
背景技术
视频编码一般采取基于块的编码方式,即把视频中的一帧图像分成多个互不重叠的矩形块,之后对这些块进行编码。
例如视频会议中,背景可能是不变的,而只有人物、或人物的肢体在画面上移动,那么,对于活动的部分,在相邻的两帧图像(或当前帧与当前帧之前的某一帧)中,显示同一内容的块,其位置可能不同,也就是说发生了一定的位移,当然,这个块显示的内容在前后两帧中也可能发生一定的变化,这里称后一帧中的这个块为当前块,前一帧(或所述当前帧之前的某一帧,可以统称为参考帧)中的这个块为匹配块。而在视频中,当前帧与参考帧中存在很多这样的块,即帧间具有相关性,那么,在参考帧编码的基础上,当前帧不必像参考帧一样全部进行编码,因为当前帧与参考帧中存在很多相同的数据信息,即帧间冗余。通常的做法是,用当前块减去匹配块,得到余块和两块之间的位移,之后,对得到的余块和位移数据信息进行编码,以进行后续的传输或存储等操作。这样,根据匹配块的编码信息及当前块的余块和位移信息,可以恢复当前块的图像,这一过程中,对当前块的余块和位移信息的编码要比当前块完全的编码小很多,对一帧图像而言,后一帧的编码要比前一帧的编码小很多,因此,可以节约传输位率。
两个块的相似程度可以由现有技术中的某个测度准值进行计算,如采用绝对差和(Sum of Absolute Difference,SAD)来计算。一帧图像被划分为非重叠的矩形块,一般可以是16×16像素的块,计算当前帧和参考帧中的两个块的16×16像素中每个相同位置上的像素的差的绝对值之和,用公式可以表示为:
其中,i,j分别表示像素横轴序号和纵轴序号,x表示当前块,y表示参考帧图像中的一个块。
所得的SAD值越小,说明这两个块匹配度越高,即y越可能是x的匹配块。计算当前块在参考帧中的匹配块时,需要选定参考帧中的一些块来做计算,这里称之为候选块。在候选块中找到匹配块后,可以得到两块之间的位移矢量,即对块做出运动估计。上面内容可以如图1所示。图1中,当前帧中的当前块为x,y是参考帧中的候选块,当确定y是x的匹配块后,得到x与y的之间的运动矢量,即图中的MV,从而完成当前块的运动估计,之后可以进行编码等后续处理。该过程中,将参考帧中的哪些块作为候选块进行匹配块的运算,对于能否快速准确找到匹配块存在很大的影响。
下面介绍现有技术中一种块运动估计方法—十字架搜索方法。在介绍该方法之前,首先介绍一种搜索模式—小钻石搜索模式,如图2所示,该搜索模式中由5个点组成菱形(钻石形),同一行或同一列上相邻的两点相隔一个像素(图2中一个最小的方块代表一个像素)。该搜索模式下,以参考帧中与当前块位置相同的块的中心点为中心,即为前述钻石形的中心点,分别计算以前述钻石形的5个点为中心的块与当前块的匹配度,即计算SAD值。当计算得到当前5个点范围内中心点的SAD值最小时,该搜索模式完成;当计算得到当前5个点中SAD值最小的点不是中心点时,以SAD值最小的点为中心点构造小钻石,重复计算构造的小钻石各个点为中心的块与当前块的SAD值,直到得到小钻石的SAD值最小的点为中心点为止。上面的小钻石搜索模式中,5个点中四周的点与中心点在水平方向或垂直方向上距离为一个像素,因此成该搜索模式大小为1。
下面介绍十字架搜索方法,包括:
步骤A1:计算当前块与参考帧同一位置的候选块的SAD值,如果得到的SAD值小于预设的门限值时,则当前块相对于所述候选块的运动矢量为0,此时该搜索完毕;否则,转步骤A2。
步骤A2:判断当前块是否为左边界块,如果是,转步骤A3;如果否,转步骤A4。
所述左边界块为一帧视频中除最左上顶角块之外的最左边的块,如图3所示,在左上顶角的块为左上边界块,除左上边界块的最左边的块为该帧图像中的左边界块,相应地,除左上边界块的最上面的块为上边界块。相应地,当前块的左块、上块和右上块如图3中所示。
步骤A3:设定搜索模式大小为2,分别计算参考帧中距离搜索窗口中心为2的4个点对应的候选块与当前块的SAD值,并找出这4个SAD值和中心点的SAD值中的最小值,转步骤A5。
步骤A4:搜索模式大小为当前块的左块的运动矢量在水平方向和垂直方向上绝对值分量的最大值,分别计算参考帧中在水平及垂直方向上距离搜索窗口中心为上述搜索模式大小的4个点对应的候选块与当前块的SAD值,找出这4个SAD值和中心点SAD值中的最小值,转步骤A5。
左块的运动矢量在x和y轴上有两个分量,该步骤中,搜索模式大小为这两个分量中的大的值。
步骤A5:以上一步计算的最小SAD点为中心,构成小钻石搜索模式,继续计算新增4点的SAD,找出这4点的SAD值和中心点SAD值中的最小SAD,如果最小值的点与中心点重合,则由该最小值点对应的候选块为当前块的最佳匹配块,停止搜索;否则,重复此步骤直到搜索窗口边缘。最佳匹配块到当前块之间的位移矢量为当前块最终运动矢量。
但是,从上面过程中可以看出,步骤A4中如果当前块不是左边界块,仅以当前块的左块的运动矢量在水平方向和垂直方向上的最大值作为搜索模式大小,没有考虑预测方向,显然,预测结果不理想。而一般地,当前块运动情况不仅与左块的运动方向和位移有关系,还与其上块、左块、上右块等邻块有关系,因此,现有技术仅参考左块运动情况的方式不全面,很可能由于左块并不是与当前块运动最一致的块而导致搜索偏离真正的匹配块,即导致对匹配块不准确预测。
发明内容
本发明的目的是提供一种视频编码中的快速块运动估计方法和装置,以克服现有技术中仅参考左块运动情况而导致对匹配块不准确预测的问题。
为解决上述技术问题,本发明提供一种视频编码中的快速块运动估计方法和装置是这样实现的:
一种视频编码中的快速块运动估计方法,包括:
当前块为非边界块时,计算当前块邻块的运动矢量中值;
计算当前块与参考帧中由运动矢量中值指向的候选块之间的绝对差和SAD值;
比较得到的SAD值与预设值,当得到的SAD值小于预设值时,则该候选块为匹配块,停止搜索,将该SAD值对应的矢量作为当前块的最终运动矢量;当得到的SAD值不小于预设值时,当前块邻块的运动矢量中值作为初始最佳预测矢量;
以上述初始最佳预测矢量指向的点为中心,重复使用小钻石搜索方法,直到小钻石搜索中的最小SAD值的点与小钻石算法的中心重合或到达搜索窗口边缘,此时最小SAD点对应的候选块为匹配块,匹配块与当前块之间的位移为当前块的最终运动矢量。
所述计算当前块邻块的运动矢量中值由以下方式实现:
计算左块、上块和上右块的运动矢量的水平分量的中值与垂直分量的中值构成的矢量。
以初始最佳预测矢量指向的点为中心,重复使用小钻石搜索方法之前还包括:
当前块为上边界块时,计算参考帧中与当前块位置相同的候选块和当前块之间的第一SAD值;
比较得到的第一SAD值与预设值,当得到的第一SAD值小于预设值时,则该候选块为匹配块,停止搜索,当前块的运动矢量为0;当得到的第一SAD值不小于预设值时,计算当前块上块运动矢量在参考帧中对应的候选块和当前块之间的第二SAD值,并将第一SAD值与第二SAD值中小的一个对应的矢量作为初始最佳预测矢量。
以初始最佳预测矢量指向的点为中心,重复使用小钻石搜索方法之前还包括:
当前块为左边界块时,计算参考帧中与当前块位置相同的候选块和当前块之间的第三SAD值;
比较得到的第三SAD值与预设值,当小于预设值时,则该候选块为匹配块,停止搜索,当前块的运动矢量为0;当不小于预设值时,计算左块运动矢量在参考帧中对应的候选块和当前块之间的第四SAD值,并将第三SAD值与第四SAD值中小的一个对应的矢量作为初始最佳预测矢量。
所述以初始最佳预测矢量指向的点为中心,重复使用小钻石搜索方法之前还包括:
当前块为左上边界块时,计算参考帧中与当前块位置相同的候选块和当前块之间的SAD值;
比较得到的SAD值与预设值,当得到的SAD值小于预设值时,则该候选块为匹配块,停止搜索,当前块的运动矢量为0;当得到的SAD值不小于预设值时,将该SAD值对应的矢量作为初始最佳预测矢量。
所述预设值设为512。
一种视频编码中的快速块运动估计装置,包括运动矢量中值计算单元71,中值候选块SAD计算单元72,比较单元73,运动矢量计算单元74,其中,
运动矢量中值计算单元71,当前块为非边界块时,用于计算当前块邻块的运动矢量中值;
中值候选块SAD计算单元72,与运动矢量中值计算单元71相连,用于计算当前块与参考帧中由运动矢量中值指向的候选块之间的SAD值;
比较单元73,与中值候选块SAD计算单元72相连,用于比较得到的SAD值与预设值,当得到的SAD值小于预设值时,则该候选块为匹配块,停止搜索,将该SAD值对应的矢量作为当前块的最终运动矢量;当得到的SAD值不小于预设值时,将当前块邻块的运动矢量中值作为初始最佳预测矢量;
运动矢量计算单元74,与比较单元73相连,用于以初始最佳预测矢量指向的点为中心,重复使用小钻石搜索方法,直到小钻石搜索中的最小SAD值的点与小钻石算法的中心重合或到达搜索窗口边缘,此时最小SAD点对应的候选块为匹配块,匹配块与当前块之间的位移为当前块的最终运动矢量。
还包括第一SAD计算单元75,上边界块预测矢量计算单元76,其中,
第一SAD计算单元75,当前块为上边界块时,用于计算参考帧中与当前块位置相同的候选块和当前块之间的第一SAD值;
上边界块预测矢量计算单元76,与第一SAD计算单元75和运动矢量计算单元74相连,用于比较得到的第一SAD值与预设值,当得到的第一SAD值小于预设值时,则该候选块为匹配块,停止搜索,当前块的运动矢量为0;当得到的第一SAD值不小于预设值时,计算当前块上块运动矢量在参考帧中对应的候选块和当前块之间的第二SAD值,并将第一SAD值与第二SAD值中小的一个对应的矢量作为初始最佳预测矢量。
还包括第二SAD计算单元77,左边界块预测矢量计算单元78,其中,
第二SAD计算单元77,当前块为左边界块时,用于计算参考帧中与当前块位置相同的候选块和当前块之间的第三SAD值;
左边界块预测矢量计算单元78,与第二SAD计算单元77和运动矢量计算单元74相连,用于比较得到的第三SAD值与预设值,当得到的SAD值小于预设值时,则该候选块为匹配块,停止搜索,当前块的运动矢量为0;当得到的SAD值不小于预设值时,计算左块运动矢量在参考帧中对应的候选块和当前块之间的第四SAD值,并将第三SAD值与第四SAD值中小的一个对应的矢量作为初始最佳预测矢量。
还包括第三SAD计算单元79,左上边界块预测矢量计算单元80,其中,
第三SAD计算单元79,当前块为左上边界块时,用于计算参考帧中与当前块位置相同的候选块和当前块之间的SAD值;
左上边界块预测矢量计算单元80,与第三SAD计算单元79和运动矢量计算单元74相连,用于比较得到的SAD值与预设值,当得到的SAD值小于预设值时,则该候选块为匹配块,停止搜索,当前块的运动矢量为0;当得到的SAD值不小于预设值时,将该SAD值对应的矢量作为初始最佳预测矢量。
由以上本发明提供的技术方案可见,本发明中,当前块为非边界块时,计算当前块邻块的运动矢量中值,并计算当前块与运动矢量中值指向的候选块之间的SAD值,该方式综合考虑了当前块周围的邻块的运动信息,使搜索的候选块可以快速准确的落到最佳匹配块的范围。而且,本发明比较得到的运动矢量中值指向的候选块之间的SAD值与预设值,当SAD值小于预设值时,该候选块为匹配块,停止搜索,这样,可以尽早的确定运动矢量中值指向的候选块是否是匹配块,降低了搜索时间和搜索复杂度,提高了搜索效率。
附图说明
图1为当前块、匹配块与运动矢量之间的关系图;
图2为小钻石的示意图;
图3为边界块及当前块与其邻块之间的位置关系图;
图4为本发明方法实施例的流程图;
图5为运动矢量中值示意图;
图6为从运动矢量中值开始做小钻石搜索的示意图;
图7为本发明装置实施例的框图。
具体实施方式
本发明提供一种视频编码中的快速块运动估计方法,当前块为非边界块时,计算当前块邻块的运动矢量中值,并计算当前块与运动矢量中值指向的候选块之间的SAD值;比较得到的SAD值与预设值,当得到的SAD值小于预设值时,则该候选块为匹配块,停止搜索,将该SAD值对应的矢量作为当前块的最终运动矢量,当得到的SAD值不小于预设值时,当前块邻块的运动矢量中值作为初始最佳预测矢量;以初始最佳预测矢量指向的点为中心,重复使用小钻石搜索方法,直到小钻石搜索中的最小SAD值的点与小钻石搜索的中心重合或到达搜索窗口边缘,此时最小SAD点对应的候选块为匹配块,匹配块与当前块之间的位移为当前块的最终运动矢量。
现有技术中,仅以左块的运动矢量作为参考的方式下,特别是左块为稳态块或亚稳态块(稳态块意指静止块,即当前块相对于前一帧同样位置的块没有运动,亚稳态块指运动位移很小可以忽略其运动的块),那么仅以左块做参考的方式显然是不合适的。当前块的典型预测块一般为左块、上块和右上块的最佳组合,也就是说,三个块的联合作用才可以比较准确的预测当前块运动,且以运动幅度进行全方位搜索必然会产生冗余搜索,因此,仅以左块为候选块过于片面,其预测性能还有进一步改进的余地。。
本领域技术人员知道,一帧图像中的块按照光栅顺序扫描,也就是按照先行后列(第1行第1列,第1行第2列,...,第2行第1列,第2行第2列,...)的顺序扫描。非边界块的运动矢量由边界块的运动矢量预测得来。如果边界块运动矢量预测不准确,将直接影响后面非边界块的运动矢量计算准确度。对于边界块,如上边界块和左边界块,由于包含的运动比较少并且预测信息也少,容易引起不准确预测,因此,初始的搜索模式与非边界块的不同。例如,除左上角边界块之外,上边界块只有左边的预测邻块,没有上边块和上右边块;左边界块有上边和上右边的预测邻块,但没有左块。那么,对于边界块应该根据其位置参考其周围存在的块的运动矢量。对于非边界块,应该充分参考其周围块的运动矢量,例如,可以综合考虑当前块的左上块、上块、上右块、左块等的运动矢量。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。
图4示出了本发明方法实施例的流程,如图所示,包括:
步骤401:当前块为非边界块时,计算当前块邻块的运动矢量中值。
本步骤中对非边界块计算其邻块的运动中值矢量。
所谓几个矢量的中值是这几个矢量的水平分量的中值与垂直分量的中值构成的矢量。这里的当前块邻块可以包括左块、上块和上右块这一最佳组合,因此,计算当前块邻块的运动矢量中值即为计算左块、上块和上右块的运动矢量的水平分量的中值与垂直分量的中值构成的矢量。
图5示出了几个运动矢量与初始预测矢量的关系。如图中,MVleft,MVtop、MVtop-right分别代表左块、上块和上右块的运动矢量,取这三个矢量的中值即为矢量MVmedian。
当SAD值不小于预设门限值,而当前块为上边界块时,计算参考帧中与当前块位置相同的块与当前块的SAD值,以及左块运动矢量在参考帧中对应的块与当前块的SAD值,将SAD值小的块到当前块的矢量作为初始最佳预测矢量。
步骤402:计算当前块与参考帧中由运动矢量中值指向的候选块之间的SAD值。
参考帧中存在与当前块位置相同的块相隔所述运动矢量中值的候选块,该步骤计算该候选块与当前块的SAD值。
步骤403:比较得到的SAD值与预设值,当得到的SAD值小于预设值时,则该候选块为匹配块,停止搜索,将该SAD值对应的矢量作为当前块的最终运动矢量;当得到的SAD值不小于预设值时,当前块邻块的运动矢量中值作为初始最佳预测矢量。
实际视频通常包含一些平滑的、缓慢变化的或静止的稳态块(或亚稳态块),有文献报道,大约98%以上的稳态块(或亚稳态块)在与当前块的SAD值小于512,如果这些稳态块(或亚稳态块)的初始最佳预测矢量设置为0,那么,后续搜索匹配块的过程可以降低复杂度,节省时间,同时,不损失图像质量。
加入预设值的目的是检测稳态块(或亚稳态块),预设的门限值例如可以是512。如果中心SAD,即在当前块和参考帧内的相同位置的候选块之间的SAD小于512,则认为当前块为稳态块,如果这些稳态块能够提前检测出来,那么可以避免对稳态块的不必要搜索计算。因此,当得到的SAD值小于预设值时,则该候选块为匹配块,停止搜索,将该SAD值对应的矢量作为当前块的运动矢量。而当得到的SAD值不小于预设值时,即由运动矢量中值指向的候选块不是稳态块,而这个运动矢量中值指向的点一般地为匹配块最可能在的区域,因此,下一步需要将这个运动矢量中值作为初始最佳预测矢量,从该矢量中值指向的点开始搜索最佳匹配块。
而对于边界块,由于边界块的邻块较少,邻块信息也不全,而且,相对于这些很少邻块的运动矢量指向的候选块,一般地,参考帧中与当前块位置相同的块更易成为最佳匹配块。因此,对于边界块初始最佳预测矢量的计算,与上面的非边界块应该有所不同。根据边界块所处位置的不同,计算方法分为以下a、b、c三种:
a、当前块为上边界块时,计算参考帧中与当前块位置相同的候选块和当前块之间的第一SAD值;之后,比较得到的第一SAD值与预设值,当得到的第一SAD值小于预设值时,则该候选块为匹配块,搜索完成,当前块的运动矢量为0;当得到的第一SAD值不小于预设值时,计算当前块的上块运动矢量在参考帧中对应的候选块和当前块之间的第二SAD值,并将第一SAD值与第二SAD值中小的一个对应的矢量作为初始最佳预测矢量。
首先比较当前块(上边界块)和参考帧中与当前块同一位置的块的第一SAD值,第一SAD值小于预设值时,确定该候选块为匹配块,停止搜索,当前块的运动矢量为0。这样做的目的是为了及早检测稳态块和亚稳态块,避免后续不必要的匹配搜索计算。
对于上边界块,即一帧中的第一行块(除左上边界块),每个上边界块都有一个左块。而前面提到的现有技术中即仅采用左块来进行搜索,当存在稳态块或亚稳态块时,这样的方法是不够的。因此,这里,对于上边界块,当第一SAD值不小于预设值时,采用左块的运动矢量进行搜索的同时,还对参考帧中与当前块位置相同的块进行搜索,即计算上面两个块与当前块的SAD值,并将SAD值小的块与当前块的矢量作为初始最佳预测矢量。这样做,尽可能的使当前块自适应地跟踪相邻块的运动,很好地利用邻块运动矢量,更加准确的预测当前块的初始的预测矢量,进一步缩短后续搜索的路径,尽快找到全局最优匹配点。
b、当前块为左边界块时,计算参考帧中与当前块位置相同的候选块和当前块之间的第三SAD值;之后,比较得到的第三SAD值与预设值,当得到的SAD值小于预设值时,则该候选块为匹配块,停止搜索,当前块的运动矢量为0;当得到的第三SAD值不小于预设值时,计算左块运动矢量在参考帧中对应的候选块和当前块之间的第四SAD值,并将第三SAD值与第四SAD值中小的一个对应的矢量作为初始最佳预测矢量。
首先比较当前块(左边界块)和参考帧中与当前块同一位置的块的第三SAD值,第三SAD值小于预设值时,确定该候选块为匹配块,停止搜索,当前块的运动矢量为0。这样做的目的也是为了及早检测稳态块和亚稳态块,避免后续不必要的匹配搜索计算。
与a类似的,对于左边界块,即一帧中的第一列块(除左上边界块),每个左边界块都有一个上块。而由于一般视频序列的大部分运动主要集中于水平和垂直方向,为进一步简化计算,对于左边界块,当第三SAD值不小于预设值时,这里采用上块的运动矢量进行搜索的同时,同时,还对参考帧中与当前块位置相同的块进行搜索,即计算上面两个块与当前块的SAD值,并将SAD值小的块与当前块的位移作为初始最佳预测矢量。这样做,也是尽可能的使当前块自适应地跟踪相邻块的运动,很好地利用邻块运动矢量,更加准确的预测当前块的初始的预测矢量,进一步缩短后续搜索的路径,尽快找到全局最优匹配点。
c、当前块为左上边界块时,计算参考帧中与当前块位置相同的候选块和当前块之间的SAD值;之后,比较得到的SAD值与预设值,当得到的SAD值小于预设值时,则该候选块为匹配块,停止搜索,当前块的运动矢量为0;当得到的SAD值不小于预设值时,将该SAD值对应的矢量作为初始最佳预测矢量。
这样做的原因与上面b、c中的类似,在此不再赘述。
步骤404:以初始最佳预测矢量指向的点为中心,重复使用小钻石搜索方法,直到小钻石搜索中的最小SAD值的点与小钻石搜索的中心重合或到达搜索窗口边缘,此时最小SAD点对应的候选块为匹配块,匹配块与当前块之间的位移为当前块的最终运动矢量。
该步骤可以如图6所示,以图中预测矢量MVmedian所指向的点为中心,计算该中心的SDSP中边界点和中心点对应的候选块与当前块的SAD(中心点对应的候选块与当前块的SAD已在步骤402中计算得到),比较这些SAD,找到最小SAD。如果最小SAD为中心点对应的块,则该中心点对应的块为匹配块,参考帧中与当前块位置相同的块到匹配块的位移矢量即为当前块的运动矢量,搜索完成;如果最小SAD点为SDSP周围的四个点中的一个,则以该最小SAD点为中心,再组成新的SDSP,类似的,计算新SDSP的4个边界点对应块与当前块的SAD,并在这4个点SAD和中心SAD中比较,得到新的最小SAD值。如此反复,直到最小SAD值对应的点与SDSP的中心点重合,确定该中心点对应的候选块为匹配块,参考帧中与当前块位置相同的块到匹配块的位移矢量即为当前块的运动矢量,搜索完成。
或者,当最小SAD值对应的候选块位于参考帧的边缘且不再变化,以此时该最小SAD值对应的候选块为匹配块。
采用SDSP方式作进一步搜索,由于该方式以1像素单位在更小范围内密集搜索,可以更加准确的找到匹配块。
之后,可以由得到的运动矢量和当前块的其它相关信息进行后续的编码或存储等操作。
由上述方法实施例可见,当前块为非边界块时,计算当前块邻块的运动矢量中值,并计算当前块与运动矢量中值指向的候选块之间的SAD值,该方式综合考虑了当前块周围的邻块的运动信息,使搜索的候选块可以快速准确的落到最佳匹配块的范围。而且,本发明比较得到的运动矢量中值指向的候选块之间的SAD值与预设值,当SAD值小于预设值时,该候选块为匹配块,停止搜索,这样,可以尽早的确定运动矢量中值指向的候选块是否是静止块,降低了搜索时间和搜索复杂度,提高了搜索效率。
以下介绍本发明的装置实施例。图7示出了该装置实施例的框图。
一种的视频编码中的块运动估计装置,包括运动矢量中值计算单元71,中值候选块SAD计算单元72,比较单元73,运动矢量计算单元74,其中,
运动矢量中值计算单元71,当前块为非边界块时,用于计算当前块邻块的运动矢量中值;
中值候选块SAD计算单元72,与运动矢量中值计算单元71相连,用于计算当前块与参考帧中由运动矢量中值指向的候选块之间的SAD值;
比较单元73,与中值候选块SAD计算单元72相连,用于比较得到的SAD值与预设值,当得到的SAD值小于预设值时,则该候选块为匹配块,停止搜索,将该SAD值对应的矢量作为当前块的最终运动矢量;当得到的SAD值不小于预设值时,将当前块邻块的运动矢量中值作为初始最佳预测矢量;
运动矢量计算单元74,与比较单元73相连,用于以初始最佳预测矢量指向的点为中心,重复使用小钻石搜索方法,直到小钻石搜索中的最小SAD值的点与小钻石搜索中的中心重合或到达搜索窗口边缘,此时最小SAD点对应的候选块为匹配块,匹配块与当前块之间的位移为当前块的最终运动矢量。
还可以包括第一SAD计算单元75,上边界块预测矢量计算单元76,其中,
第一SAD计算单元75,当前块为上边界块时,用于计算参考帧中与当前块位置相同的候选块和当前块之间的第一SAD值;
上边界块预测矢量计算单元76,与第一SAD计算单元75和运动矢量计算单元74相连,用于比较得到的第一SAD值与预设值,当得到的第一SAD值小于预设值时,则该候选块为匹配块,停止搜索,当前块的运动矢量为0;当得到的第一SAD值不小于预设值时,计算上块运动矢量在参考帧中对应的候选块和当前块之间的第二SAD值,并将第一SAD值与第二SAD值中小的一个对应的矢量作为初始最佳预测矢量。
还可以包括第二SAD计算单元77,左边界块预测矢量计算单元78,其中,
第二SAD计算单元77,当前块为左边界块时,用于计算参考帧中与当前块位置相同的候选块和当前块之间的第三SAD值;
左边界块预测矢量计算单元78,与第二SAD计算单元77和运动矢量计算单元74相连,用于比较得到的SAD值与预设值,当得到的SAD值小于预设值时,则该候选块为匹配块,停止搜索,当前块的运动矢量为0;当得到的SAD值不小于预设值时,计算当前块左块运动矢量参考帧中对应的候选块和当前块之间的第四SAD值,并将第三SAD值与第四SAD值中小的一个对应的矢量作为初始最佳预测矢量。
还可以包括第三SAD计算单元79,左上边界块预测矢量计算单元80,其中,
第三SAD计算单元79,当前块为左上边界块时,用于计算参考帧中与当前块位置相同的候选块和当前块之间的SAD值;
左上边界块预测矢量计算单元80,与第三SAD计算单元79和运动矢量计算单元74相连,用于比较得到的SAD值与预设值,当得到的SAD值小于预设值时,则该候选块为匹配块,停止搜索,当前块的运动矢量为0;当得到的SAD值不小于预设值时,将该SAD值对应的矢量作为初始最佳预测矢量。
利用上述装置实施例实现视频编码中快速块运动估计的方法与前面的方法类似,在此不再赘述。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
Claims (10)
1.一种视频编码中的快速块运动估计方法,其特征在于,包括:
当前块为非边界块时,计算当前块邻块的运动矢量中值;
计算当前块与参考帧中由运动矢量中值指向的候选块之间的绝对差和SAD值;
比较得到的SAD值与预设值,当得到的SAD值小于预设值时,则该候选块为匹配块,停止搜索,将该SAD值对应的矢量作为当前块的最终运动矢量;当得到的SAD值不小于预设值时,当前块邻块的运动矢量中值作为初始最佳预测矢量;
以上述初始最佳预测矢量指向的点为中心,重复使用小钻石搜索方法,直到小钻石搜索中的最小SAD值的点与小钻石算法的中心重合或到达搜索窗口边缘,此时最小SAD点对应的候选块为匹配块,匹配块与当前块之间的位移为当前块的最终运动矢量。
2.如权利要求1所述的方法,其特征在于,所述计算当前块邻块的运动矢量中值由以下方式实现:
计算左块、上块和上右块的运动矢量的水平分量的中值与垂直分量的中值构成的矢量。
3.如权利要求1所述的方法,其特征在于,以初始最佳预测矢量指向的点为中心,重复使用小钻石搜索方法之前还包括:
当前块为上边界块时,计算参考帧中与当前块位置相同的候选块和当前块之间的第一SAD值;
比较得到的第一SAD值与预设值,当得到的第一SAD值小于预设值时,则该候选块为匹配块,停止搜索,当前块的运动矢量为0;当得到的第一SAD值不小于预设值时,计算当前块上块运动矢量在参考帧中对应的候选块和当前块之间的第二SAD值,并将第一SAD值与第二SAD值中小的一个对应的矢量作为初始最佳预测矢量。
4.如权利要求1所述的方法,其特征在于,以初始最佳预测矢量指向的点为中心,重复使用小钻石搜索方法之前还包括:
当前块为左边界块时,计算参考帧中与当前块位置相同的候选块和当前块之间的第三SAD值;
比较得到的第三SAD值与预设值,当小于预设值时,则该候选块为匹配块,停止搜索,当前块的运动矢量为0;当不小于预设值时,计算左块运动矢量在参考帧中对应的候选块和当前块之间的第四SAD值,并将第三SAD值与第四SAD值中小的一个对应的矢量作为初始最佳预测矢量。
5.如权利要求1所述的方法,其特征在于,所述以初始最佳预测矢量指向的点为中心,重复使用小钻石搜索方法之前还包括:
当前块为左上边界块时,计算参考帧中与当前块位置相同的候选块和当前块之间的SAD值;
比较得到的SAD值与预设值,当得到的SAD值小于预设值时,则该候选块为匹配块,停止搜索,当前块的运动矢量为0;当得到的SAD值不小于预设值时,将该SAD值对应的矢量作为初始最佳预测矢量。
6.如权利要求1、3、4和5中任一项所述的方法,其特征在于,所述预设值设为512。
7.一种视频编码中的快速块运动估计装置,其特征在于,包括运动矢量中值计算单元(71),中值候选块SAD计算单元(72),比较单元(73),运动矢量计算单元(74),其中,
运动矢量中值计算单元(71),当前块为非边界块时,用于计算当前块邻块的运动矢量中值;
中值候选块SAD计算单元(72),与运动矢量中值计算单元(71)相连,用于计算当前块与参考帧中由运动矢量中值指向的候选块之间的SAD值;
比较单元(73),与中值候选块SAD计算单元(72)相连,用于比较得到的SAD值与预设值,当得到的SAD值小于预设值时,则该候选块为匹配块,停止搜索,将该SAD值对应的矢量作为当前块的最终运动矢量;当得到的SAD值不小于预设值时,将当前块邻块的运动矢量中值作为初始最佳预测矢量;
运动矢量计算单元(74),与比较单元(73)相连,用于以初始最佳预测矢量指向的点为中心,重复使用小钻石搜索方法,直到小钻石搜索中的最小SAD值的点与小钻石算法的中心重合或到达搜索窗口边缘,此时最小SAD点对应的候选块为匹配块,匹配块与当前块之间的位移为当前块的最终运动矢量。
8.如权利要求7所述的装置,其特征在于,还包括第一SAD计算单元(75),上边界块预测矢量计算单元(76),其中,
第一SAD计算单元(75),当前块为上边界块时,用于计算参考帧中与当前块位置相同的候选块和当前块之间的第一SAD值;
上边界块预测矢量计算单元(76),与第一SAD计算单元(75)和运动矢量计算单元(74)相连,用于比较得到的第一SAD值与预设值,当得到的第一SAD值小于预设值时,则该候选块为匹配块,停止搜索,当前块的运动矢量为0;当得到的第一SAD值不小于预设值时,计算当前块上块运动矢量在参考帧中对应的候选块和当前块之间的第二SAD值,并将第一SAD值与第二SAD值中小的一个对应的矢量作为初始最佳预测矢量。
9.如权利要求7所述的装置,其特征在于,还包括第二SAD计算单元(77),左边界块预测矢量计算单元(78),其中,
第二SAD计算单元(77),当前块为左边界块时,用于计算参考帧中与当前块位置相同的候选块和当前块之间的第三SAD值;
左边界块预测矢量计算单元(78),与第二SAD计算单元(77)和运动矢量计算单元(74)相连,用于比较得到的第三SAD值与预设值,当得到的SAD值小于预设值时,则该候选块为匹配块,停止搜索,当前块的运动矢量为0;当得到的SAD值不小于预设值时,计算左块运动矢量在参考帧中对应的候选块和当前块之间的第四SAD值,并将第三SAD值与第四SAD值中小的一个对应的矢量作为初始最佳预测矢量。
10.如权利要求7所述的装置,其特征在于,还包括第三SAD计算单元(79),左上边界块预测矢量计算单元(80),其中,
第三SAD计算单元(79),当前块为左上边界块时,用于计算参考帧中与当前块位置相同的候选块和当前块之间的SAD值;
左上边界块预测矢量计算单元(80),与第三SAD计算单元(79)和运动矢量计算单元(74)相连,用于比较得到的SAD值与预设值,当得到的SAD值小于预设值时,则该候选块为匹配块,停止搜索,当前块的运动矢量为0;当得到的SAD值不小于预设值时,将该SAD值对应的矢量作为初始最佳预测矢量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710120762 CN101374235B (zh) | 2007-08-24 | 2007-08-24 | 视频编码中的快速块运动估计方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710120762 CN101374235B (zh) | 2007-08-24 | 2007-08-24 | 视频编码中的快速块运动估计方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101374235A true CN101374235A (zh) | 2009-02-25 |
CN101374235B CN101374235B (zh) | 2012-05-02 |
Family
ID=40448127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200710120762 Active CN101374235B (zh) | 2007-08-24 | 2007-08-24 | 视频编码中的快速块运动估计方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101374235B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101720039B (zh) * | 2009-09-08 | 2011-08-24 | 广东工业大学 | 一种基于菱形搜索的多分辨率的快速运动估计方法 |
CN105432086A (zh) * | 2013-07-18 | 2016-03-23 | Lg电子株式会社 | 处理视频信号的方法和装置 |
CN107948658A (zh) * | 2011-03-21 | 2018-04-20 | Lg 电子株式会社 | 选择运动矢量预测值的方法和使用其的设备 |
CN110267047A (zh) * | 2019-06-28 | 2019-09-20 | 苏州浪潮智能科技有限公司 | 视频帧间运动估计方法、装置、设备及可读存储介质 |
CN110365987A (zh) * | 2018-04-09 | 2019-10-22 | 杭州海康威视数字技术股份有限公司 | 一种运动矢量确定方法、装置及其设备 |
CN112104871A (zh) * | 2020-11-13 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 一种数据编码方法、装置以及计算机可读存储介质 |
CN114727115A (zh) * | 2022-04-14 | 2022-07-08 | 中南大学 | 一种视频编码的整数运动估计方法、系统及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69422876T2 (de) * | 1993-10-11 | 2000-06-15 | Thomson Multimedia Sa | Verfahren und Gerät zur Korrektur von Bewegungsvektoren |
US5539469A (en) * | 1994-12-30 | 1996-07-23 | Daewoo Electronics Co., Ltd. | Apparatus for determining motion vectors through the use of an adaptive median filtering technique |
CN100396100C (zh) * | 2004-12-21 | 2008-06-18 | 华为技术有限公司 | 视频压缩的运动估计方法 |
CN100337482C (zh) * | 2005-06-09 | 2007-09-12 | 上海交通大学 | 基于对象边缘的形状快速运动估值的方法 |
CN1777289A (zh) * | 2005-11-30 | 2006-05-24 | 天津大学 | 利用选择性预测加快运动估计的方法 |
-
2007
- 2007-08-24 CN CN 200710120762 patent/CN101374235B/zh active Active
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101720039B (zh) * | 2009-09-08 | 2011-08-24 | 广东工业大学 | 一种基于菱形搜索的多分辨率的快速运动估计方法 |
CN107979759B (zh) * | 2011-03-21 | 2021-04-30 | Lg 电子株式会社 | 选择运动矢量预测值的方法和使用其的设备 |
CN107948658A (zh) * | 2011-03-21 | 2018-04-20 | Lg 电子株式会社 | 选择运动矢量预测值的方法和使用其的设备 |
CN107948657A (zh) * | 2011-03-21 | 2018-04-20 | Lg 电子株式会社 | 选择运动矢量预测值的方法和使用其的设备 |
CN107979759A (zh) * | 2011-03-21 | 2018-05-01 | Lg 电子株式会社 | 选择运动矢量预测值的方法和使用其的设备 |
CN107979758A (zh) * | 2011-03-21 | 2018-05-01 | Lg 电子株式会社 | 选择运动矢量预测值的方法和使用其的设备 |
US10999598B2 (en) | 2011-03-21 | 2021-05-04 | Lg Electronics Inc. | Method for selecting motion vector predictor and device using same |
CN105432086A (zh) * | 2013-07-18 | 2016-03-23 | Lg电子株式会社 | 处理视频信号的方法和装置 |
US10129560B2 (en) | 2013-07-18 | 2018-11-13 | Lg Electronics Inc. | Method and apparatus for processing video signal |
CN110365987A (zh) * | 2018-04-09 | 2019-10-22 | 杭州海康威视数字技术股份有限公司 | 一种运动矢量确定方法、装置及其设备 |
CN110365987B (zh) * | 2018-04-09 | 2022-03-25 | 杭州海康威视数字技术股份有限公司 | 一种运动矢量确定方法、装置及其设备 |
CN110267047A (zh) * | 2019-06-28 | 2019-09-20 | 苏州浪潮智能科技有限公司 | 视频帧间运动估计方法、装置、设备及可读存储介质 |
CN110267047B (zh) * | 2019-06-28 | 2021-06-29 | 苏州浪潮智能科技有限公司 | 视频帧间运动估计方法、装置、设备及可读存储介质 |
CN112104871A (zh) * | 2020-11-13 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 一种数据编码方法、装置以及计算机可读存储介质 |
CN114727115A (zh) * | 2022-04-14 | 2022-07-08 | 中南大学 | 一种视频编码的整数运动估计方法、系统及存储介质 |
CN114727115B (zh) * | 2022-04-14 | 2024-05-03 | 中南大学 | 一种视频编码的整数运动估计方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101374235B (zh) | 2012-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101374235B (zh) | 视频编码中的快速块运动估计方法和装置 | |
CN102103753B (zh) | 使用实时相机运动估计检测和跟踪运动对象的方法和终端 | |
CN103702128B (zh) | 一种应用于视频帧速率上转换的插值帧生成方法 | |
CN108174208B (zh) | 一种基于特征分类的高效视频编码方法 | |
CN110163196B (zh) | 显著特征检测方法和装置 | |
CN107360433B (zh) | 一种帧间预测编码方法和装置 | |
CN102075760A (zh) | 快速运动估计方法及装置 | |
CN111161309B (zh) | 一种车载视频动态目标的搜索与定位方法 | |
US20100080298A1 (en) | Refined Weighting Function and Momentum-Directed Genetic search pattern algorithm | |
CN106534858A (zh) | 真实运动估计方法及装置 | |
KR100640498B1 (ko) | 프레임의 오류 은닉 장치 및 방법 | |
CN111901590B (zh) | 一种用于帧间预测的细化运动矢量存储方法及装置 | |
US20120224749A1 (en) | Block matching method | |
CN105263026A (zh) | 基于概率统计与图像梯度信息的全局矢量获取方法 | |
CN104202606B (zh) | 一种基于hevc运动估计起始点确定方法 | |
KR101769575B1 (ko) | 움직임 탐색시 효율적인 움직임 벡터 추출 방법 및 그 장치 | |
CN102111622A (zh) | 一种视频图像的时域错误隐藏方法及装置 | |
US20130195190A1 (en) | Method for deciding motion partition mode and encoder | |
JP4250598B2 (ja) | 動き補償型ip変換処理装置及び動き補償型ip変換処理方法 | |
JPH09182077A (ja) | 画像符号化方法および画像符号化装置 | |
CN101296381B (zh) | 一种视频解码器的时域差错掩盖方法 | |
CN105611299A (zh) | 一种基于hevc的运动估计方法 | |
Wang et al. | A novel SSDA-based block matching algorithm for image stabilization | |
CN104683812A (zh) | 用于移动估计的视频预处理方法与装置 | |
KR101486850B1 (ko) | 불가능 후보블록 순차제거에 의한 고속 전영역 무손실 움직임 예측방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |