视频编码中的快速块运动估计方法和装置的制作方法

文档序号:7655946阅读:104来源:国知局
专利名称:视频编码中的快速块运动估计方法和装置的制作方法
技术领域
本发明涉及视频编码技术领域,特别涉及一种视频编码中的快速块运动估 计方法和装置。
背景技术
视频编码一般釆取基于块的编码方式,即把视频中的一帧图像分成多个互 不重叠的矩形块,之后对这些块进行编码。
例如视频会议中,背景可能是不变的,而只有人物、或人物的肢体在画面 上移动,那么,对于活动的部分,在相邻的两帧图像(或当前帧与当前帧之前 的某一帧)中,显示同一内容的块,其位置可能不同,也就是说发生了一定的 位移,当然,这个块显示的内容在前后两帧中也可能发生一定的变化,这里称 后一帧中的这个块为当前块,前一帧(或所述当前帧之前的某一帧,可以统称 为参考帧)中的这个块为匹配块。而在视频中,当前帧与参考帧中存在很多这 样的块,即帧间具有相关性,那么,在参考帧编码的基础上,当前帧不必像参 考帧一样全部进行编码,因为当前帧与参考帧中存在很多相同的数据信息,即 帧间冗余。通常的做法是,用当前块减去匹配块,得到余块和两块之间的位移, 之后,对得到的余块和位移数据信息进行编码,以进行后续的传输或存储等操 作。这样,根据匹配块的编码信息及当前块的余块和位移信息,可以恢复当前 块的图像,这一过程中,对当前块的余块和位移信息的编码要比当前块完全的 编码小很多,对一帧图像而言,后一帧的编码要比前一帧的编码小很多,因此, 可以节约传输位率。
对差和(Sum of Absolute Difference, SAD)来计算。 一帧图像被划分为非重 叠的矩形块, 一般可以是16x16像素的块,计算当前帧和参考帧中的两个块的 16x16像素中每个相同位置上的像素的差的绝对值之和,用公式可以表示为
<formula>formula see original document page 6</formula> 其中,i, j分别表示像素横轴序号和纵轴序号,x表示当前块,y表示参
考帧图像中的一个块。
所得的SAD值越小,说明这两个块匹配度越高,即y越可能是x的匹配 块。计算当前块在参考帧中的匹配块时,需要选定参考帧中的一些块来做计算, 这里称之为候选块。在候选块中找到匹配块后,可以得到两块之间的位移矢量, 即对块做出运动估计。上面内容可以如图l所示。图1中,当前帧中的当前块 为x, y是参考帧中的候选块,当确定y是x的匹配块后,得到x与y的之间 的运动矢量,即图中的MV,从而完成当前块的运动估计,之后可以进行编码 等后续处理。该过程中,将参考帧中的哪些块作为候选块进行匹配块的运算, 对于能否快速准确找到匹配块存在^f艮大的影响。
下面介绍现有技术中一种块运动估计方法一h字架搜索方法。在介绍该方 法之前,首先介绍一种搜索模式一小钻石搜索模式,如图2所示,该搜索模式 中由5个点组成菱形(钻石形),同一行或同一列上相邻的两点相隔一个^f象素 (图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中如果当前块不是左边界块,仅 以当前块的左块的运动矢量在水平方向和垂直方向上的最大值作为搜索模式 大小,没有考虑预测方向,显然,预测结果不理想。而一般地,当前块运动情 况不仅与左块的运动方向和位移有关系,还与其上块、左块、上右块等邻块有 关系,因此,现有技术仅参考左块运动情况的方式不全面,很可能由于左块并 不是与当前块运动最一致的块而导致搜索偏离真正的匹配块,即导致对匹配块 不准确预测。

发明内容
本发明的目的是提供一种^L频编码中的快速块运动估计方法和装置,以克 服现有技术中仅参考左块运动情况而导致对匹配块不准确预测的问题。
为解决上述技术问题,本发明提供一种视频编码中的快速块运动估计方法
和装置是这样实现的
一种视频编码中的快速块运动估计方法,包括
当前块为非边界块时,计算当前块邻块的运动矢量中值;
计算当前块与参考帧中由运动矢量中值指向的候选块之间的绝对差和
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值不 'J、于预设值时,将当前块邻块的运动矢量中值作为初始最佳预测矢量;
运动矢量计算单元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值,该方式综合考虑了当前块周围的邻块的运动信息,^f吏搜索的候 选块可以快速准确的落到最佳匹配块的范围。而且,本发明比较得到的运动矢 量中值指向的候选块之间的SAD值与预设值,当SAD值小于预设值时,该候 选块为匹配块,停止搜索,这样,可以尽早的确定运动矢量中值指向的候选块 是否是匹配块,降低了搜索时间和搜索复杂度,提高了搜索效率。


图1为当前块、匹配块与运动矢量之间的关系图; 图2为小钻石的示意图3为边界块及当前块与其邻块之间的位置关系图; 图4为本发明方法实施例的流程图; 图5为运动矢量中值示意图; 图6为从运动矢量中值开始做小钻石搜索的示意图; 图7为本发明装置实施例的框图。
具体实施例方式
本发明提供一种视频编码中的快速块运动估计方法,当前块为非边界块 时,计算当前块邻块的运动矢量中值,并计算当前块与运动矢量中值指向的候 选块之间的SAD值;比较得到的SAD值与预设值,当得到的SAD值小于预 设值时,则该候选块为匹配块,停止搜索,将该SAD值对应的矢量作为当前 块的最终运动矢量,当得到的SAD值不小于预设值时,当前块邻块的运动矢 量中值作为初始最佳预测矢量;以初始最佳预测矢量指向的点为中心,重复使 用小钻石搜索方法,直到小钻石搜索中的最小SAD值的点与小钻石搜索的中 心重合或到达搜索窗口边缘,此时最小SAD点对应的候选块为匹配块,匹配 块与当前块之间的位移为当前块的最终运动矢量。
现有技术中,仅以左块的运动矢量作为参考的方式下,特别是左块为稳态 块或亚稳态块(稳态块意指静止块,即当前块相对于前一帧同样位置的块没有 运动,亚稳态块指运动位移很小可以忽略其运动的块),那么仅以左块做参考 的方式显然是不合适的。当前块的典型预测块一般为左块、上块和右上块的最 佳组合,也就是说,三个块的联合作用才可以比较准确的预测当前块运动,且 以运动幅度进行全方位搜索必然会产生冗余搜索,因此,仅以左块为候选块过 于片面,其预测性能还有进一步改进的余地。。
本领域技术人员知道, 一帧图像中的块按照光4册顺序扫描,也就是按照先
行后列(第1行第1歹'J,第1行第2列,...,第2行第1歹'j ,第2行第2列,...) 的顺序扫描。非边界块的运动矢量由边界块的运动矢量预测得来。如果边界块 运动矢量预测不准确,将直接影响后面非边界块的运动矢量计算准确度。对于 边界块,如上边界块和左边界块,由于包含的运动比较少并且预测信息也少, 容易引起不准确预测,因此,初始的搜索模式与非边界块的不同。例如,除左 上角边界块之外,上边界块只有左边的预测邻块,没有上边块和上右边块;左 边界块有上边和上右边的预测邻块,但没有左块。那么,对于边界块应该根据 其位置参考其周围存在的块的运动矢量。对于非边界块,应该充分参考其周围 块的运动矢量,例如,可以综合考虑当前块的左上块、上块、上右块、左块等 的运动矢量。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方 式对本发明作进一步的详细说明。
图4示出了本发明方法实施例的流程,如图所示,包括 步骤401:当前块为非边界块时,计算当前块邻块的运动矢量中值。 本步骤中对非边界块计算其邻块的运动中值矢量。
所谓几个矢量的中值是这几个矢量的水平分量的中值与垂直分量的中值 构成的矢量。这里的当前块邻块可以包括左块、上块和上右块这一最佳组合, 因此,计算当前块邻块的运动矢量中值即为计算左块、上块和上右块的运动矢 量的水平分量的中值与垂直分量的中值构成的矢量。
图5示出了几个运动矢量与初始预测矢量的关系。如图中,MVleft, MVt。p、
MVt。p-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值不小于预设值时,即由运动矢量中值指向的 候选块不是稳态块,而这个运动矢量中值指向的点一般地为匹配块最可能在的
区域,因此,下一步需要将这个运动矢量中值作为初始最佳预测矢量,从该矢 量中值指向的点开始:t叟索最佳匹配块。
而对于边界块,由于边界块的邻块较少,邻块信息也不全,而且,相对于 这些很少邻块的运动矢量指向的候选块, 一般地,参考帧中与当前块位置相同 的块更易成为最佳匹配块。因此,对于边界块初始最佳预测矢量的计算,与上 面的非边界块应该有所不同。根据边界块所处位置的不同,计算方法分为以下
a、 b、 c三种
a、 当前块为上边界块时,计算参考帧中与当前块位置相同的候选块和当 前块之间的第一SAD值;之后,比较得到的第一SAD值与预设值,当得到的 第一 SAD值小于预设值时,则该候选块为匹配块,搜索完成,当前块的运动 矢量为0;当得到的第一 SAD值不小于预设值时,计算当前块的上块运动矢 量在参考帧中对应的候选块和当前块之间的第二 SAD值,并将第一 SAD值与 第二 SAD值中小的一个对应的矢量作为初始最佳预测矢量。
首先比较当前块(上边界块)和参考帧中与当前块同一位置的块的第一 SAD值,第一SAD值小于预设值时,确定该候选块为匹配块,停止搜索,当 前块的运动矢量为0。这样做的目的是为了及早检测稳态块和亚稳态块,避免 后续不必要的匹配搜索计算。
对于上边界块,即一帧中的第一行块(除左上边界块),每个上边界块都 有一个左块。而前面提到的现有技术中即仅采用左块来进行搜索,当存在稳态 块或亚稳态块时,这样的方法是不够的。因此,这里,对于上边界块,当第一 SAD值不小于预设值时,采用左块的运动矢量进行搜索的同时,还对参考帧 中与当前块位置相同的块进行搜索,即计算上面两个块与当前块的SAD值, 并将SAD值小的块与当前块的矢量作为初始最佳预测矢量。这样做,尽可能 的使当前块自适应地跟踪相邻块的运动,4艮好地利用邻块运动矢量,更加准确 的预测当前块的初始的预测矢量,进一步缩短后续搜索的路径,尽快找到全局 最优匹配点。
b、 当前块为左边界块时,计算参考帧中与当前块位置相同的候选块和当
前块之间的第三SAD值;之后,比较得到的第三SAD值与预设值,当得到的 SAD值小于预设值时,则该候选块为匹配块,停止搜索,当前块的运动矢量 为0;当得到的第三SAD值不小于预设值时,计算左块运动矢量在参考帧中 对应的候选块和当前块之间的第四SAD值,并将第三SAD值与第四SAD值 中小的 一个对应的矢量作为初始最佳预测矢量。
首先比较当前块(左边界块)和参考帧中与当前块同一位置的块的第三 SAD值,第三SAD值小于预设值时,确定该候选块为匹配块,停止搜索,当 前块的运动矢量为0。这样做的目的也是为了及早检测稳态块和亚稳态块,避 免后续不必要的匹配搜索计算。
与a类似的,对于左边界块,即一帧中的第一列块(除左上边界块),每 个左边界块都有一个上块。而由于一般视频序列的大部分运动主要集中于水平 和垂直方向,为进一步简化计算,对于左边界块,当第三SAD值不小于预设 值时,这里采用上块的运动矢量进行搜索的同时,同时,还对参考帧中与当前 块位置相同的块进行搜索,即计算上面两个块与当前块的SAD值,并将SAD 值小的块与当前块的位移作为初始最佳预测矢量。这样做,也是尽可能的使当 前块自适应地3艮踪相邻块的运动,^艮好地利用邻块运动矢量,更加准确的预测 当前块的初始的预测矢量,进一步缩短后续搜索的路径,尽快找到全局最优匹 配点。
c、当前块为左上边界块时,计算参考帧中与当前块位置相同的候选块和 当前块之间的SAD值;之后,比较得到的SAD值与预设值,当得到的SAD 值小于预设值时,则该候选块为匹配块,停止搜索,当前块的运动矢量为0; 当得到的SAD值不小于预设值时,将该SAD值对应的矢量作为初始最佳预测 矢量。
这样做的原因与上面b、 c中的类似,在此不再赘述。
步骤404:以初始最佳预测矢量指向的点为中心,重复使用小钻石搜索方 法,直到小钻石搜索中的最小SAD值的点与小钻石搜索的中心重合或到达搜 索窗口边缘,此时最小SAD点对应的候选块为匹配块,匹配块与当前块之间 的位移为当前块的最终运动矢量。
该步骤可以如图6所示,以图中预测矢量MV加dian所指向的点为中心,计
算该中心的SDSP中边界点和中心点对应的候选块与当前块的SAD (中心点 对应的候选块与当前块的SAD已在步骤402中计算得到),比l交这些SAD, 找到最小SAD。如果最小SAD为中心点对应的块,则该中心点对应的块为匹 配块,参考帧中与当前块位置相同的块到匹配块的位移矢量即为当前块的运动 矢量,搜索完成;如果最小SAD点为SDSP周围的四个点中的一个,则以该 最小SAD点为中心,再组成新的SDSP,类似的,计算新SDSP的4个边界点 对应块与当前块的SAD,并在这4个点SAD和中心SAD中比较,得到新的 最小SAD值。如此反复,直到最小SAD值对应的点与SDSP的中心点重合, 确定该中心点对应的候选块为匹配块,参考帧中与当前块位置相同的块到匹配 块的位移矢量即为当前块的运动矢量,搜索完成。
或者,当最小SAD值对应的候选块位于参考帧的边缘且不再变化,以此 时该最小SAD值对应的候选块为匹配块。
采用SDSP方式作进一步搜索,由于该方式以l像素单位在更小范围内密 集搜索,可以更加准确的找到匹配块。
之后,可以由得到的运动矢量和当前块的其它相关信息进行后续的编码或 存储等操作。
由上述方法实施例可见,当前块为非边界块时,计算当前块邻块的运动矢 量中值,并计算当前块与运动矢量中值指向的候选块之间的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值小于 预设值时,则该候选块为匹配块,停止搜索,当前块的运动矢量为O;当得到 的SAD值不小于预设值时,将该SAD值对应的矢量作为初始最佳预测矢量。
利用上述装置实施例实现视频编码中快速块运动估计的方法与前面的方 法类似,在此不再赘述。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多 变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化 而不脱离本发明的精神。
权利要求
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、 如权利要求l所述的方法,其特征在于,所述以初始最佳预测矢量指 向的点为中心,重复使用小钻石搜索方法之前还包括当前块为左上边界块时,计算参考帧中与当前块位置相同的候选块和当前 块之间的SAD值;比较得到的SAD值与预设值,当得到的SAD值小于预设值时,则该候选 块为匹配块,停止搜索,当前块的运动矢量为0;当得到的SAD值不小于预 设值时,将该SAD值对应的矢量作为初始最佳预测矢量。
6、 如权利要求l、 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值对应的矢量作为初始最佳预测 矢量。
全文摘要
本发明公开了一种的视频编码中的快速块运动估计方法,包括当前块为非边界块时,计算当前块邻块的运动矢量中值;计算运动矢量中值的SAD值;当得到的SAD值小于预设值时,该候选块为匹配块,搜索完成,将该SAD值对应矢量作为当前块最终运动矢量;当得到的SAD值不小于预设值时,运动矢量中值作为初始最佳预测矢量;以初始最佳预测矢量指向的点为中心,重复使用小钻石搜索,直到最小SAD值的点与小钻石搜索的中心重合或到达搜索窗口边缘,此时最小SAD点对应候选块为匹配块,匹配块的位移为当前块的最终运动矢量。本发明还公开了一种的视频编码中的块运动估计装置。利用本发明,可以使搜索的候选块快速准确的落到最佳匹配块的范围。
文档编号H04N7/26GK101374235SQ20071012076
公开日2009年2月25日 申请日期2007年8月24日 优先权日2007年8月24日
发明者刘丽娟 申请人:大唐移动通信设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1