一种运动估计方法及装置制造方法及图纸

技术编号:18724884 阅读:52 留言:0更新日期:2018-08-22 01:04
本发明专利技术实施例公开了一种运动估计方法及装置,该方法包括:确定目标编码块的初始运动矢量;根据所述初始运动矢量,调整所述目标编码块的初始搜索范围,得到目标搜索范围;在所述目标搜索范围内,利用搜索模板对所述目标编码块进行运动搜索,获得第一最佳运动矢量及所述第一最佳运动矢量对应的第一编码代价;判断所述第一编码代价是否小于第一预设阈值;如果是,将所述第一最佳运动矢量确定为所述目标编码块的目标运动矢量。应用本发明专利技术实施例提供的方案进行运动估计可以提高编码速度。

A motion estimation method and device

The embodiment of the invention discloses a motion estimation method and a device, which include: determining the initial motion vector of the target coding block; adjusting the initial search range of the target coding block according to the initial motion vector to obtain the target search range; and using the search template to search the target within the target search range. The target coding block performs a motion search to obtain the first best motion vector and the first coding cost corresponding to the first best motion vector; determines whether the first coding cost is less than the first preset threshold; and if so, determines the first best motion vector as the target motion vector of the target coding block. The motion estimation provided by the embodiment of the invention can improve the encoding speed.

【技术实现步骤摘要】
一种运动估计方法及装置
本专利技术涉及视频编码
,特别涉及一种运动估计方法及装置。
技术介绍
随着多媒体应用中视频业务的不断发展以及视频云计算需求的不断提高,现有的网络传输带宽和存储资源愈来愈难以支撑数据量庞大的原始视频信源,这一现状使得视频编码逐渐成为国内外研究和应用的热点之一。至今,国内外标准化组织已相继制定了多种不同的视频编码标准。自H.261视频编码标准以来,主流的视频编码标准均采用“基于块的预测和变换”的混合编码框架,输入的视频信号经过编码器中预测、变换、量化、扫描、熵编码等编码技术处理后,去除视频图像数据中的冗余信息,以减少传输带宽和存储空间。其中,视频编码中的预测技术一般分为两种,即帧内预测和帧间预测,I帧仅采用帧内预测,P、B帧既可采用帧内预测也能使用帧间预测。其中,帧间预测用于减少时域冗余,它是利用相邻帧之间的相关性进行预测编码,即当前待编码的图像使用其它已编码并重构的图像作为参考帧,当前待编码块在参考帧中搜索相似块作为预测块。帧间预测中的关键技术包括运动估计(MotionEstimation)、运动补偿(MotionCompensation)技术。其中,运动估计是在一定数量的参考帧中搜索最佳参考帧中的最佳预测块的过程,最佳参考帧内的最佳预测块与当前编码块的相对位置信息用运动矢量(motionvector,mv)来表示。帧间预测由于相邻图像之间存在一定相关性,能搜索到更为匹配的预测块,使得残差值更小,因此可以用较少的编码比特编码视频信息,而由于需要从所有参考帧中以不同的搜索方式搜索最佳预测块,并进行后期运动补偿,其编码复杂度也随之增加。运动估计技术试图在当前待编码图像的参考帧集合中所有参考帧的有效搜索区域内搜索一个大小相同的预测块,因此,运动估计最为关键的是预测块的搜索过程。现有的运动估计技术关于搜索预测块的搜索方法有全搜索、三步法、四步法、菱形搜索(DiamondSearch,DS)、六边形搜索(HEXagonsearch,HEX)、UMH(UnevenMulti-Hexagon-grid)搜索、EPZS(EnhancedPredictiveZonalSearch)搜索等,其中,UMH搜索结合了全局搜索和局部搜索,可以有效地避免陷入局部最小陷阱,且编码性能较高,但是该搜索存在大量冗余的搜索点,导致编码速度较慢。
技术实现思路
本专利技术实施例的目的在于提供一种运动估计方法及装置,以提高编码速度。具体技术方案如下:为达到上述目的,本专利技术实施例公开了一种运动估计方法,所述方法包括:确定目标编码块的初始运动矢量;根据所述初始运动矢量,调整所述目标编码块的初始搜索范围,得到目标搜索范围;在所述目标搜索范围内,利用搜索模板对所述目标编码块进行运动搜索,获得第一最佳运动矢量及所述第一最佳运动矢量对应的第一编码代价;判断所述第一编码代价是否小于第一预设阈值;如果是,将所述第一最佳运动矢量确定为所述目标编码块的目标运动矢量。可选的,所述搜索模板为局部搜索模板。可选的,在判断出所述第一编码代价不小于所述第一预设阈值的情况下,所述方法还包括:在所述目标搜索范围内,基于所述第一最佳运动矢量,利用全局搜索模板对所述目标编码块进行运动搜索,获得第二最佳运动矢量;在所述目标搜索范围内,基于所述第二最佳运动矢量,利用局部搜索模板对所述目标编码块进行运动搜索,获得第三最佳运动矢量;将所述第三最佳运动矢量确定为所述目标编码块的目标运动矢量。可选的,所述利用全局搜索模板对所述目标编码块进行运动搜索,获得第二最佳运动矢量,包括:判断所述第一编码代价是否大于第二预设阈值,其中,所述第二预设阈值大于所述第一预设阈值;如果否,采用第一局部搜索模板对所述目标编码块进行运动搜索,获得第四最佳运动矢量,再基于所述第四最佳运动矢量,采用第一全局搜索模板对所述目标编码块进行运动搜索,获得第二最佳运动矢量;如果是,利用第二全局搜索模板对所述目标编码块进行运动搜索,获得第五最佳运动矢量,再基于所述第五最佳运动矢量,利用第一局部搜索模板对所述目标编码块进行运动搜索,获得第六最佳运动矢量,再基于所述第六最佳运动矢量,采用第一全局搜索模板对所述目标编码块进行运动搜索,获得第二最佳运动矢量。可选的,所述基于所述第二最佳运动矢量,利用局部搜索模板对所述目标编码块进行运动搜索,获得第三最佳运动矢量,包括:获得所述第二最佳运动矢量对应的第二编码代价,判断所述第二编码代价是否大于所述第一预设阈值;如果是,设置起始最佳运动矢量为所述第二最佳运动矢量,以所述起始最佳运动矢量的指向位置作为第二局部搜索模板的中心进行运动搜索,得到最佳运动矢量,当所得到的最佳运动矢量的指向位置不是所述第二局部搜索模板的中心时,将所述起始最佳运动矢量更新为所得到的最佳运动矢量,返回所述以所述起始最佳运动矢量的指向位置作为第二局部搜索模板的中心进行运动搜索的步骤,直至所得到的最佳运动矢量的指向位置为所述第二局部搜索模板的中心,并将当前最佳运动矢量确定为第三最佳运动矢量;如果否,以所述第二最佳运动矢量的指向位置作为第三局部搜索模板的中心进行运动搜索,获得第三最佳运动矢量。可选的,所述确定目标编码块的初始运动矢量,包括:根据已完成编码的编码块的运动矢量,构建所述目标编码块的针对运动矢量的预测候选集合;按照预设的运动矢量选择顺序,从所述预测候选集合中确定两个中间运动矢量;确定所述中间运动矢量对应的编码代价,并将编码代价最小的中间运动矢量确定为备选运动矢量;根据所述备选运动矢量,确定所述目标编码块的初始运动矢量。可选的,所述根据已完成编码的编码块的运动矢量,构建所述目标编码块的针对运动矢量的预测候选集合,包括:依次判断所述目标编码块的左下相邻块、左相邻块、右上相邻块、上相邻块、左上相邻块、第一编码块的右下相邻块、所述第一编码块的中心所在块是否存在且其预测模式不是帧内预测,其中,所述第一编码块为:在所述目标编码块的参考帧中的位置与所述目标编码块在当前编码帧的位置相同的编码块;如果相邻块存在且其预测模式不是帧内预测,将该块的运动矢量及该块的运动矢量缩放后的运动矢量加入到所述预测候选集合中;将零向量加入到所述预测候选集合中。可选的,所述方法还包括:当所述目标编码块所在编码单元存在父编码单元和/或子编码单元时,将所述父编码单元的运动矢量和/或子编码单元的运动矢量加入到所述预测候选集合中。可选的,所述按照预设的运动矢量选择顺序,从所述预测候选集合中确定两个中间运动矢量,包括:当所述预测候选集合中存在第一子集合时,按照第一优先级顺序,从所述第一子集合中选择一个运动矢量确定为中间运动矢量,其中,所述第一子集合由所述左下相邻块对应的第一运动矢量和/或所述左相邻块对应的第二运动矢量确定,所述第一优先级顺序为:所述第一运动矢量的优先级大于所述第二运动矢量的优先级;当所述预测候选集合中存在第二子集合时,按照第二优先级顺序,从所述第二子集合中选择一个运动矢量确定为中间运动矢量,其中,所述第二子集合由所述右上相邻块对应的第三运动矢量和/或所述上相邻块对应的第四运动矢量和/或所述左上相邻块对应的第五运动矢量确定,所述第二优先级顺序为:所述第三运动矢量的优先级大于所述第四运动矢量的优先级、所述第四运动矢量的优先级本文档来自技高网
...

【技术保护点】
1.一种运动估计方法,其特征在于,所述方法包括:确定目标编码块的初始运动矢量;根据所述初始运动矢量,调整所述目标编码块的初始搜索范围,得到目标搜索范围;在所述目标搜索范围内,利用搜索模板对所述目标编码块进行运动搜索,获得第一最佳运动矢量及所述第一最佳运动矢量对应的第一编码代价;判断所述第一编码代价是否小于第一预设阈值;如果是,将所述第一最佳运动矢量确定为所述目标编码块的目标运动矢量。

【技术特征摘要】
1.一种运动估计方法,其特征在于,所述方法包括:确定目标编码块的初始运动矢量;根据所述初始运动矢量,调整所述目标编码块的初始搜索范围,得到目标搜索范围;在所述目标搜索范围内,利用搜索模板对所述目标编码块进行运动搜索,获得第一最佳运动矢量及所述第一最佳运动矢量对应的第一编码代价;判断所述第一编码代价是否小于第一预设阈值;如果是,将所述第一最佳运动矢量确定为所述目标编码块的目标运动矢量。2.根据权利要求1所述的方法,其特征在于,所述搜索模板为局部搜索模板。3.根据权利要求2所述的方法,其特征在于,在判断出所述第一编码代价不小于所述第一预设阈值的情况下,所述方法还包括:在所述目标搜索范围内,基于所述第一最佳运动矢量,利用全局搜索模板对所述目标编码块进行运动搜索,获得第二最佳运动矢量;在所述目标搜索范围内,基于所述第二最佳运动矢量,利用局部搜索模板对所述目标编码块进行运动搜索,获得第三最佳运动矢量;将所述第三最佳运动矢量确定为所述目标编码块的目标运动矢量。4.根据权利要求3所述的方法,其特征在于,所述利用全局搜索模板对所述目标编码块进行运动搜索,获得第二最佳运动矢量,包括:判断所述第一编码代价是否大于第二预设阈值,其中,所述第二预设阈值大于所述第一预设阈值;如果否,采用第一局部搜索模板对所述目标编码块进行运动搜索,获得第四最佳运动矢量,再基于所述第四最佳运动矢量,采用第一全局搜索模板对所述目标编码块进行运动搜索,获得第二最佳运动矢量;如果是,利用第二全局搜索模板对所述目标编码块进行运动搜索,获得第五最佳运动矢量,再基于所述第五最佳运动矢量,利用第一局部搜索模板对所述目标编码块进行运动搜索,获得第六最佳运动矢量,再基于所述第六最佳运动矢量,采用第一全局搜索模板对所述目标编码块进行运动搜索,获得第二最佳运动矢量。5.根据权利要求3所述的方法,其特征在于,所述基于所述第二最佳运动矢量,利用局部搜索模板对所述目标编码块进行运动搜索,获得第三最佳运动矢量,包括:获得所述第二最佳运动矢量对应的第二编码代价,判断所述第二编码代价是否大于所述第一预设阈值;如果是,设置起始最佳运动矢量为所述第二最佳运动矢量,以所述起始最佳运动矢量的指向位置作为第二局部搜索模板的中心进行运动搜索,得到最佳运动矢量,当所得到的最佳运动矢量的指向位置不是所述第二局部搜索模板的中心时,将所述起始最佳运动矢量更新为所得到的最佳运动矢量,返回所述以所述起始最佳运动矢量的指向位置作为第二局部搜索模板的中心进行运动搜索的步骤,直至所得到的最佳运动矢量的指向位置为所述第二局部搜索模板的中心,并将当前最佳运动矢量确定为第三最佳运动矢量;如果否,以所述第二最佳运动矢量的指向位置作为第三局部搜索模板的中心进行运动搜索,获得第三最佳运动矢量。6.根据权利要求1所述的方法,其特征在于,所述确定目标编码块的初始运动矢量,包括:根据已完成编码的编码块的运动矢量,构建所述目标编码块的针对运动矢量的预测候选集合;按照预设的运动矢量选择顺序,从所述预测候选集合中确定两个中间运动矢量;确定所述中间运动矢量对应的编码代价,并将编码代价最小的中间运动矢量确定为备选运动矢量;根据所述备选运动矢量,确定所述目标编码块的初始运动矢量。7.根据权利要求6所述的方法,其特征在于,所述根据已完成编码的编码块的运动矢量,构建所述目标编码块的针对运动矢量的预测候选集合,包括:依次判断所述目标编码块的左下相邻块、左相邻块、右上相邻块、上相邻块、左上相邻块、第一编码块的右下相邻块、所述第一编码块的中心所在块是否存在且其预测模式不是帧内预测,其中,所述第一编码块为:在所述目标编码块的参考帧中的位置与所述目标编码块在当前编码帧的位置相同的编码块;如果相邻块存在且其预测模式不是帧内预测,将该块的运动矢量及该块的运动矢量缩放后的运动矢量加入到所述预测候选集合中;将零向量加入到所述预测候选集合中。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:当所述目标编码块所在编码单元存在父编码单元和/或子编码单元时,将所述父编码单元的运动矢量和/或子编码单元的运动矢量加入到所述预测候选集合中。9.根据权利要求7所述的方法,其特征在于,所述按照预设的运动矢量选择顺序,从所述预测候选集合中确定两个中间运动矢量,包括:当所述预测候选集合中存在第一子集合时,按照第一优先级顺序,从所述第一子集合中选择一个运动矢量确定为中间运动矢量,其中,所述第一子集合由所述左下相邻块对应的第一运动矢量和/或所述左相邻块对应的第二运动矢量确定,所述第一优先级顺序为:所述第一运动矢量的优先级大于所述第二运动矢量的优先级;当所述预测候选集合中存在第二子集合时,按照第二优先级顺序,从所述第二子集合中选择一个运动矢量确定为中间运动矢量,其中,所述第二子集合由所述右上相邻块对应的第三运动矢量和/或所述上相邻块对应的第四运动矢量和/或所述左上相邻块对应的第五运动矢量确定,所述第二优先级顺序为:所述第三运动矢量的优先级大于所述第四运动矢量的优先级、所述第四运动矢量的优先级大于所述第五运动矢量的优先级;判断所述中间运动矢量的数量是否等于2;如果不是,当所述预测候选集合中存在第三子集合时,按照第三优先级顺序,从所述第三子集合中选择一个运动矢量确定为中间运动矢量,其中,所述第三子集合由所述第一编码块的右下相邻块对应的第六运动矢量和/或所述第一编码块的中心所在块对应的第七运动矢量确定,所述第三优先级顺序为:所述第六运动矢量的优先级大于所述第七运动矢量的优先级;判断所述中间运动矢量的数量是否等于2;如果不是,将所述预测候选集合中的零向量确定为中间运动矢量。10.根据权利要求6-9中任一项所述的方法,其特征在于,所述根据所述备选运动矢量,确定所述目标编码块的初始运动矢量,包括:判断所述目标编码块所在编码单元是否存在父编码单元和/或子编码单元;如果是,确定所述父编码单元的运动矢量和/或子编码单元的运动矢量对应的编码代价,并将所述备选运动矢量、所述父编码单元的运动矢量和/或子编码单元的运动矢量对应的编码代价最小的运动矢量确定为初始运动矢量;如果否,将所述备选运动矢量确定为初始运动矢量。11.根据权利要求7所述的方法,其特征在于,所述根据所述初始运动矢量,调整所述目标编码块的初始搜索范围,包括:将起始运动矢量设置为预设顺序中第一个运动矢量,其中,所述预设顺序为:左下相邻块的运动矢量、左下相邻块的运动矢量经缩放后的运动矢量、左相邻块的运动矢量、左相邻块的运动矢量经缩放后的运动矢量、右上相邻块的运动矢量、右上相邻块的运动矢量经缩放后的运动矢量、上相邻块的运动矢量、上相邻块的运动矢量经缩放后的运动矢量、左上相邻块的运动矢量、左上相邻块经缩放后的运动矢量、第一编码块的右下相邻块的运动矢量、第一编码块的右下相邻块的运动矢量经缩放后的运动矢量、第一编码块的中心所在块的运动矢量、第一编码块的中心所在块的运动矢量经缩放后的运动矢量;判断所述起始运动矢量是否为零向量;若为否,计算所述起始运动矢量和所述初始运动矢量的差值的绝对值,更新所述起始运动矢量为所述预设顺序中下一个运动矢量,跳转至执行所述判断所述起始运动矢量是否为零向量的步骤;若为是,统计计算得到的差值的绝对值的个数K,判断K是否不小于第三预设阈值;若不小于,根据计算得到的差值的绝对值,调整所述目标编码块的初始搜索范围。12.一种运动估计装置,其特征在于,所述装置包括:第一确定模块,用于确定目标编码块的初始运动矢量;调整模块,用于根据所述初始运动矢量,调整所述目标编码块的初始搜索范围,得到目标搜索范围;第一搜索模块,用于在所述目标搜索范围内,利用搜索模板对所述目标编码块进行运动搜索,获得第一最佳运动矢量及所述第一最佳运动矢量对应的第一编码代价;判断模块,用于判断所述第一编码代价是否小于第一预设阈值;第二确定模块,用于在所述判断模块判断出所述第一编码代价小于第一预设阈值时,将所述第一最佳运动矢量确定为所述目标编码块的目标运动矢量。13.根据权利要求12所述的装置,其特征在于,所述搜索模板为局部搜索模板。14.根据权利...

【专利技术属性】
技术研发人员:范娟婷朱政金星张贤国张二丽
申请(专利权)人:北京金山云网络技术有限公司北京金山云科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1