CN101431675B - 一种像素运动估计方法和装置 - Google Patents
一种像素运动估计方法和装置 Download PDFInfo
- Publication number
- CN101431675B CN101431675B CN 200810184015 CN200810184015A CN101431675B CN 101431675 B CN101431675 B CN 101431675B CN 200810184015 CN200810184015 CN 200810184015 CN 200810184015 A CN200810184015 A CN 200810184015A CN 101431675 B CN101431675 B CN 101431675B
- Authority
- CN
- China
- Prior art keywords
- search
- point
- pixel
- termination condition
- premature termination
- 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.)
- Active
Links
Images
Abstract
本发明公开了一种像素运动估计方法和装置,涉及视频编码领域,能够在保证图像质量的同时,显著减少编码时间。本发明实施例提供的像素运动估计方法包括进行整像素搜索时,根据中值预测区域搜索或原点预测区域搜索得到的当前最优匹配点的匹配误差值判断是否满足提前终止条件,若满足,则跳过按非对称十字型多层次六边形格点编码顺序后续的至少一步搜索过程,且判断宏块是否为16*16模式来分别进行相应块和相邻帧或上层搜索;根据已得到的当前最优匹配点与矢量(0,0)的距离来决定进行垂直搜索或者水平搜索或者多层次六边形格点搜索;进行分像素搜索时,对不同运动特性宏块进行不同方式的分像素搜索。本发明适用于进行视频编码的场合。
Description
技术领域
本发明涉及视频编码领域,尤其涉及一种像素运动估计方法和装置。
背景技术
随着数字视频技术的发展,近年来世界上出现了许多数字音视频压缩标准。AVS(Audio Video Coding Standard)是我国自主制定,拥有自主知识产权的音视频编码标准。
AVS视频标准采用了一系列技术来达到高效率的视频编码,包括帧内预测、帧间预测、变换和量化、熵编码等。AVS视频标准具有性能高、算法复杂度低等特点,在码率和PSNR相当的情况下,AVS的编码速度是H.264的4倍以上。
由于运动估计在编码运算量中占了相当大的比例,是编码过程中的重要组成部分。其中,非对称十字型多层次六边形格点搜索(Unsymmetrical-crossMulti-Hexagon-grid Search,UMHexagonS)是一种性能较好的快速运动估计算法,得到的广泛的应用。如图1所示,为AVS视频标准中采用的UMHexagonS整像素运动估计方法流程图。可以清楚看出,AVS视频标准进行整像素运动估计时,处理方法主要包括:首先依次进行中值预测区域搜索和原点预测区域搜索,然后直接执行后续的搜索处理,例如,上层预测点区域搜索、网格搜索和钻石搜索等,其中,在后续的搜索处理中,包括对提前结束搜索条件的判断,由整像素运动估计过程得出最优整像素点。
在获取了最优的整像素点后,进行分像素的运动估计。如图2所示,为AVS视频标准中采用全搜索的1/4像素运动估计示意图。图2中大写字母(点A~I)代表整像素点位置,其中,A代表通过整像素运动估计搜索出的最优整像素点,小写字母(点a~h)代表1/2像素点位置,数字(1~8)代表1/4像素点位置,AVS视频标准中采用的分像素搜索方法主要包括:首先搜索最优整像素点(点A)及其周围3*3范围内的8个1/2像素点(点a~h),求出最优的1/2像素点(例如,为点c)然后,搜索最优的1/2像素点(点c)周围的8个1/4像素点(点 1~8),得出最优的1/4像素点,将该最优1/4像素点作为运动估计的匹配最优点。
然而,现有的AVS中像素运动估计方法存在不少缺点,例如,在整像素运动估计的过程中,对大量的视频序列,由中值预测区域搜索或原点预测区域搜索得到的中值预测点或原点预测点与最优整像素点关联密切的情况占了相当大的比例,然而现有的整像素运动估计方法未考虑这种因素,搜索完中值预测区域和原点预测区域之后,直接执行后续的搜索的过程,导致进行了不必要的搜索,搜索点数过多,编码时间过长;并且,现有的分像素运动估计方法,没有考虑不同宏块各自的运动特性,对不同运动特性的宏块按相同的方式进行分像素搜索,也增加了编码的时间。
发明内容
为了解决现有技术中存在的问题,本发明的实施例提供了一种像素运动估计方法和装置。
为达到上述目的,本发明的实施例采用如下技术方案:
一种像素运动估计方法,所述方法包括:
进行中值预测区域搜索,获取当前最优匹配点;
判断当前最优匹配点的匹配误差值是否满足提前终止条件,若满足,则跳过按非对称十字型多层次六边形格点搜索编码顺序后续的至少一步搜索过程,执行第一类型编码步骤;
若不满足,执行如下步骤:
进行原点预测区域搜索,获取当前最优匹配点;
判断当前最优匹配点的匹配误差值是否满足提前终止条件,若满足,则跳过按非对称十字型多层次六边形格点搜索编码顺序后续的至少一步搜索过程,执行所述第一类型编码步骤;若不满足,执行第二类型编码步骤;
其中,所述当前最优匹配点为当前已搜索过的所有像素点中匹配误差值最小的像素点。
进一步的,所述提前终止条件包括提前终止条件2和条件1,所述提前终止条件2和条件1分别为预定的匹配误差阈值,所述提前终止条件2的预定匹配 误差阈值小于所述提前终止条件1的预定匹配误差阈值,所述第二类型编码步骤具体包括:
步骤A:判断当前宏块的宏块模式是否为16*16,若是,进行相应块和相邻帧搜索,获取当前最优匹配点,直接执行步骤B;若否,进行上层预测点区域搜索,获取当前最优匹配点,执行步骤B;
步骤B:根据所述获取的当前最优匹配点的匹配误差值判断是否满足提前终止条件,若满足,则跳过按非对称十字型多层次六边形格点搜索编码顺序后续的至少一步搜索过程,执行所述第一类型编码步骤;若不满足,执行步骤C;
步骤C:判断所述获取的当前最优匹配点与参考帧中和当前宏块位置相同的宏块之间垂直方向的距离是否小于预定像素点数,若小于预定像素点数,则在当前最佳匹配宏块所处的宏块行中进行搜索,然后进行钻石搜索;若不小于预定像素点数,执行步骤D;
步骤D:判断所述获取的当前最优匹配点与参考帧中和当前宏块位置相同的宏块之间水平方向的距离是否小于预定像素点数,若小于预定像素点数,则在当前最佳匹配宏块所处的宏块列中进行搜索,然后进行钻石搜索;若不小于预定像素点数,进行多层次六边形格点搜索,获取当前最优匹配点,执行步骤E;
步骤E:判断所述当前最优匹配点的匹配误差值是否满足提前终止条件2,若满足,进行钻石搜索,若不满足,依次进行扩展六边形搜索和钻石搜索;
其中,所述当前最佳匹配宏块为所述当前最佳匹配点所属的宏块。
进一步的,所述第一类型编码步骤具体包括:
若所述获取的当前最优匹配点的匹配误差值满足所述提前终止条件2,则跳过按非对称十字型多层次六边形格点搜索编码的中间搜索步骤,直接执行钻石搜索;
若所述获取的当前最优匹配点的匹配误差值满足所述提前终止条件1,则跳过按非对称十字型多层次六边形格点搜索编码的中间搜索步骤,直接执行扩展六边形搜索和下一步的钻石搜索。
进一步的,所述预定像素点数为2;通过绝对差分和函数获取所述匹配误差值。
进一步的,根据量化参数QP和当前块的搜索模式确定所述提前终止条件1和条件2的预定匹配误差阈值。
进一步的,该方法还包括:利用中值预测获取的运动矢量进行分像素搜索,具体包括如下步骤:
当所述运动矢量的水平方向运动矢量或垂直方向运动矢量取余于4的余数为0时,只进行十字型方向的分像素搜索;
当所述运动矢量的水平方向运动矢量或垂直方向运动矢量取余于4的余数都不为0时,只进行X字型方向的分像素搜索。
本发明实施例还提供了一种像素运动估计装置,所述装置包括:
中值预测单元,用于进行中值预测区域搜索,获取当前最优匹配点;
第一跳过搜索单元,用于判断所述中值预测单元获取的当前最优匹配点的匹配误差值是否满足提前终止条件,若满足,则跳过按非对称十字型多层次六边形格点搜索编码顺序后续的至少一步搜索过程,执行第一类型编码步骤;
第二跳过搜索单元,用于当所述第一跳过搜索单元获取的当前最优匹配点的匹配误差值不满足提前终止条件时,进行原点预测区域搜索,获取当前最优匹配点;判断当前最优匹配点的匹配误差值是否满足提前终止条件,若满足,则跳过按非对称十字型多层次六边形格点搜索编码顺序后续的至少一步搜索过程,执行所述第一类型编码步骤;若不满足,执行第二类型编码步骤;
其中,所述当前最优匹配点为当前已搜索过的所有像素点中匹配误差值最小的像素点。
进一步的,所述提前终止条件包括提前终止条件2和条件1,所述提前终止条件2和条件1分别为预定的匹配误差阈值,所述提前终止条件2的预定匹配误差阈值小于所述提前终止条件1的预定匹配误差阈值;
所述第一跳过搜索单元和所述第二跳过搜索单元还包括:
第一类型搜索模块,用于根据所述当前最优匹配点的匹配误差值判断是否满足所述提前终止条件2或条件1;若所述获取的当前最优匹配点的匹配误差值满足所述提前终止条件2,则跳过按非对称十字型多层次六边形格点搜索编码的中间搜索步骤,直接执行钻石搜索;若所述获取的当前最优匹配点的匹配误差 值满足所述提前终止条件1,则跳过按非对称十字型多层次六边形格点搜索编码的中间搜索步骤,直接执行扩展六边形搜索和下一步的钻石搜索。
进一步的,所述装置还包括分像素搜索单元,
所述分像素搜索单元,用于利用中值预测获取的运动矢量进行分像素搜索,当所述运动矢量的水平方向运动矢量或垂直方向运动矢量取余于4的余数为0时,只进行十字型方向的分像素搜索;当所述运动矢量的水平方向运动矢量或垂直方向运动矢量取余于4的余数都不为0时,只进行X字型方向的分像素搜索。
由上所述,本发明实施例提供的技术方案,在进行整像素运动估计时,充分考虑了中值预测点或原点预测点与最优整像素点密切关联的特点,利用提前终止条件跳过不必要的搜索过程,并且根据编码特点对编码过程做了优化;在进行分像素运动估计时,利用中值预测点的运动矢量对不同运动特性宏块进行不同方式的分像素搜索,减少了搜索的像素点数,实验证明,本发明实施例提供的技术方案在保证图像质量的同时,显著减少了编码时间。
附图说明
图1为AVS视频标准中采用的非对称十字型多层次六边形格点搜索整像素运动估计方法流程图;
图2为AVS视频标准中采用的分像素运动估计示意图;
图3为本发明实施例一提供的像素运动估计方法流程图;
图4为本发明实施例二提供的像素运动估计方法流程图;
图5A为本发明实施例二中分像素搜索十字型模板示意图;
图5B为本发明实施例二中分像素搜索X字型模板示意图;
图6A和图6B分别为按本发明实施例二提供的像素运动估计方法和现有的像素运动估计方法编码后的重建图像;
图7为本发明实施例三提供的像素运动估计装置结构示意图。
具体实施方式
为了更清楚地说明本发明实施例的技术方案,下面将结合附图对本发明的 实施例进行详细的介绍,下面的描述仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些实施例获得本发明的其他的实施方式。
本发明实施例提供的技术方案,针对AVS视频标准中现有非对称十字型多层次六边形格点搜索(UMHexagonS)整像素搜索方法的不足,在进行整像素运动估计时,考虑到大量视频序列中值预测点或原点预测点与最优整像素点密切关联的特点,跳过UMHexagonS中不必要的搜索过程,并且对原有UMHexagonS整像素搜索进行了优化,例如,优化了上层预测点区域搜索、相应块和相应帧搜索和非对称十字型搜索等,舍弃了5*5的网关搜索;在进行分像素搜索时,对不同运动特性宏块进行不同方式的分像素搜索,本发明实施例提供的技术方案在保证图像质量的同时,显著减少了编码时间。
下面对本发明实施例一采用的像素运动估计方法进行具体说明。
一种像素运动估计方法,如图3所示,所述方法包括:
步骤31:进行中值预测区域搜索,获取当前最优匹配点;
步骤32:判断当前最优匹配点的匹配误差值是否满足提前终止条件,若满足,则跳过按UMHexagonS编码顺序后续的至少一步搜索过程,执行第一类型编码步骤;若不满足,执行步骤33和步骤34。
步骤33:进行原点预测区域搜索,获取当前最优匹配点;
步骤34:判断当前最优匹配点的匹配误差值是否满足提前终止条件,若满足,则跳过按UMHexagonS编码顺序后续的至少一步搜索过程,执行所述第一类型编码步骤;若不满足,执行第二类型编码步骤;
其中,所述当前最优匹配点为当前已搜索过的所有像素点中匹配误差值最小的像素点。
在本发明实施例一中,在步骤32中,若满足提前终止条件,可跳过UMHexagonS编码顺序中包括原点预测区域搜索、上层预测点区域搜索、相应块和相邻帧预测搜索、非对称十字形搜索、5*5范围网格搜索、多层次六边形格点搜索、扩展六边形搜索和钻石搜索至少一步,然后执行UMHexagonS后续的搜索过程。
在步骤34中,若满足提前终止条件,可跳过UMHexagonS编码顺序中包括上层预测点区域搜索、相应块和相邻帧预测搜索、非对称十字形搜索、5*5范围网格搜索、多层次六边形格点搜索、扩展六边形搜索和钻石搜索至少一步,然后执行UMHexagonS后续的搜索过程。
本发明实施例一提供的技术方案,能够减少搜索像素点数,减低编码时间。在本发明实施例二中,不但在中值预测区域搜索和原点预测区域搜索后采用了跳过搜索步骤,而且还对UMHexagonS编码上层预测点区域搜索、相应块和相邻帧预测搜索、非对称十字形搜索、5*5范围网格搜索、多层次六边形格点搜索进行了优化,显著减少了编码时间。下面对本发明实施例二提供的优选像素运动估计方法进行说明。
一种像素运动估计方法,如图4所示,所述方法包括:
步骤S1:进行中值预测区域搜索,获取当前最优匹配点;
利用当前处理宏块的左、上、右上三个相邻宏块的运动矢量的中值作为当前块的预测值,从而获取到中值预测点。进行中值预测时主要在中值预测点及其周围区域的像素点中,进行搜索,获取到匹配误差最小的点。
可选的,通过绝对差分和(Sum of Absolute Difference,SAD)函数获取所述匹配误差,但不限于此,可采用任何可实现相同功能的匹配误差。
步骤S2:判断当前最优匹配点的匹配误差值是否满足提前终止条件,若满足,则跳过按UMHexagonS编码顺序后续的至少一步搜索过程,执行第一类型编码步骤;若不满足,执行步骤S3和S4。
在本发明实施例二中,可选的,所述提前终止条件包括提前终止条件2和条件1,根据量化参数QP和当前块的搜索模式确定所述提前终止条件1和条件2,其中,所述提前终止条件2的阈值小于所述提前终止条件1的阈值。
其中,所述第一类型编码步骤具体包括:
若所述当前最优匹配点的匹配误差SAD值满足所述提前终止条件2,则跳过UMHexagonS编码的中间搜索步骤,直接执行钻石搜索;
若所述当前最优匹配点的匹配误差SAD值满足所述提前终止条件1,则跳过UMHexagonS编码的中间搜索步骤,直接执行扩展六边形搜索和下一步的钻 石搜索。
步骤S3:进行原点预测区域搜索,获取当前最优匹配点;
原点预测是对运动矢量为(0,0)位置处及其周围区域的像素点中进行预搜索,从而获得当前最优匹配点。
在本发明实施例二中,当前最优匹配点具有根据搜索过程的进行不断更新的特点,当首先只进行中值预测时,当前最优匹配点为中值预测中搜索到的匹配误差最小的点,接着进行原点预测区域搜索,这时获取到的当前最优匹配点为中值预测和原点预测中搜索到的匹配误差最小的点,在搜索的过程中当前最优匹配点会自动更新为当前已搜索过的所有像素点中匹配误差值最小的像素点,适用于下文的相关内容,下面不再赘述。
步骤S4:判断当前最优匹配点的匹配误差值是否满足提前终止条件,若满足,则跳过按UMHexagonS编码顺序后续的至少一步搜索过程,执行所述第一类型编码步骤;若不满足,执行第二类型编码步骤。
可选的,在编码过程中,若本步骤得到的匹配误差值小于上一步得到的匹配误差值,会自动对上一步得到的匹配误差值进行更新,当原点预测中搜索的所有像素点的匹配误差值大于所述中值预测获取的当前最优匹配点的匹配误差值,不需再对是否满足提前终止条件进行判断,这时,原点预测后的当前最优匹配点仍未中值预测的当前最优匹配点,不满足提前终止条件,可执行第二类型编码。
当在原点预测更新了当前最优匹配点时,在本发明实施例二中,判断所述当前最优匹配点的匹配误差SAD值是否满足提前终止条件2或1,所述提前终止条件2和条件1分别为预定的匹配误差阈值,所述提前终止条件2的预定匹配误差阈值小于所述提前终止条件1的预定匹配误差阈值;
若所述当前最优匹配点的匹配误差SAD值满足所述提前终止条件2,则跳过UMHexagonS编码的中间搜索步骤,直接进行钻石搜索;
若所述当前最优匹配点的匹配误差SAD值满足所述提前终止条件1,则跳过UMHexagonS编码的中间搜索步骤,直接进行扩展六边形搜索和下一步的钻石搜索。
当所述当前最优匹配点的匹配误差SAD值不能满足提前终止条件2或1时,执行第二类型编码。
以下步骤A至E对上述的第二类型编码进行具体说明,包括如下步骤:
步骤A:判断当前宏块的宏块模式是否为16*16,若是,进行相应块和相邻帧搜索,获取当前最优匹配点;若否,进行上层预测点区域搜索,获取当前最优匹配点。
AVS视频标准中宏块分为16*16、16*8、8*16、8*8四种模式,其中,16*16为16*8和8*16的上层块,16*8为8*8的上层块。上层预测就是用当前块的上层块的运动矢量作为当前块的预测值,所以只有16*8、8*16、8*8三种模式有上层预测,对16*16无需进行上层预测。
在步骤A中,首先对宏块模式是否为16*16进行判断,对16*16模式的宏块跳过上层预测点区域搜索。
步骤B:根据所述当前最优匹配点的匹配误差值判断是否满足提前终止条件,若满足,则跳过按UMHexagonS编码顺序后续的至少一步搜索过程,执行所述第一类型编码步骤;若不满足,执行步骤C。
对于16*16模式的宏块,根据相应块和相邻帧预测搜索获取的当前最优匹配点的SAD值判断是否满足提前终止条件2或1,
若所述当前最优匹配点的匹配误差SAD值满足所述提前终止条件2,则跳过UMHexagonS编码的中间搜索步骤,直接执行钻石搜索;
若所述当前最优匹配点的匹配误差SAD值满足所述提前终止条件1,则跳过UMHexagonS编码的中间搜索步骤,直接执行扩展六边形搜索和下一步的钻石搜索。
对于16*8、8*16、8*8三种模式的宏块,根据上层预测搜索获取的当前最优匹配点的匹配误差SAD值判断是否满足提前终止条件2或1,
若所述当前最优匹配点的匹配误差SAD值满足所述提前终止条件2,则跳过UMHexagonS编码的中间搜索步骤,直接执行钻石搜索;
若所述当前最优匹配点的匹配误差SAD值满足所述提前终止条件1,则跳过UMHexagonS编码的中间搜索步骤,直接执行扩展六边形搜索和下一步的钻 石搜索。
步骤C:判断所述获取的当前最优匹配点与参考帧中和当前宏块位置相同的宏块之间垂直方向的距离是否小于预定像素点数,若小于预定像素点数,则在当前最佳匹配宏块所处的宏块行中进行搜索,然后进行钻石搜索;若不小于预定像素点数,执行步骤D。
通过步骤C对原有的UMHexagonS编码中非对称十字型搜索进行了改进,可选的,上述预定像素点数取值为2。
当当前最优匹配点与参考帧中和当前宏块位置相同的宏块(即运动矢量为(0,0)位置处)之间垂直方向(二维坐标的y方向)的像素的个数小于2时,在参考帧与当前最优宏块所处的宏块行中进行搜索,然后执行钻石搜索,结束搜索过程,其中,所述当前最佳匹配宏块为所述当前最佳匹配点所属的宏块,以下皆同。
步骤D:判断所述获取的当前最优匹配点与参考帧中和当前宏块位置相同的宏块之间水平方向的距离是否小于预定像素点数,若小于预定像素点数,则在当前最佳匹配宏块所处的宏块列中进行搜索,然后进行钻石搜索;若不小于预定像素点数,进行多层次六边形格点搜索,获取当前最优匹配点,执行步骤E。
通过步骤D对原有的UMHexagonS编码中非对称十字型搜索进行了改进,可选的,上述预定像素点数取值为2。
当当前最优匹配点与参考帧中和当前宏块位置相同的宏块(即运动矢量为(0,0)位置处)之间水平方向(二维坐标的x方向)的像素的个数小于2时,在参考帧与当前最优宏块所处的宏块列中进行搜索,然后执行钻石搜索,结束搜索过程。
步骤E:判断所述多层次六边形格点搜索获得的当前最优匹配点的匹配误差值是否满足提前终止条件2,若满足,进行钻石搜索,若不满足,依次进行扩展六边形搜索和钻石搜索。
由于步骤E与搜索过程的最后步骤扩展六边形搜索和钻石搜索相邻,所以无需在对是否满足提前终止条件1进行判断,当多层次六边形格点搜索获得的当前最优匹配点的匹配误差SAD值满足提前终止条件2时,进行钻石搜索,否 则,依次进行扩展六边形搜索和钻石搜索,结束搜索过程。
通过上述描述和图4还可以清楚看出,本发明实施例二提供的方法舍弃了5*5的网格搜索。由上述步骤,可得到最优的整像素匹配点。
进一步的,本发明实施例二中的方法还包括:利用中值预测获取的运动矢量进行分像素搜索,具体包括如下步骤:
如图5A所示,当所述运动矢量的水平方向运动矢量或垂直方向运动矢量取余于4的余数为0时,只进行十字型方向的分像素搜索;
如图5B所示,当所述运动矢量的水平方向运动矢量或垂直方向运动矢量取余于4的余数都不为0时,只进行X字型方向的分像素搜索。
例如,若水平方向运动矢量或垂直方向运动矢量分别为pred_mv_x,pred_mv_y时,且x=pred_mv_x%4,y=pred_mv_y%4,则当x或y为0时,只进行十字型方向的分像素搜索;当x或y都不为0时,只进行X字型方向的分像素搜索。
由于AVS的分像素搜索采用1/4精度,在本发明实施例二采用了水平方向运动矢量或垂直方向运动矢量取余于4的方法,本领域技术人员可以理解认可采用相似或相关方法达到相同功能的方法均属于本发明保护范围之内。
显而易见,单独采用本发明实施例二提供的像素运动估计方法中的整像素搜索方法或分像素搜索方法,也能达到减少搜索的像素点数,减少编码时间的功能。
本发明实施例提供的技术方案,在进行整像素运动估计时,充分考虑了中值预测点或原点预测点与最优整像素点密切关联的特点,利用提前终止条件跳过不必要的搜索过程,并且根据编码特点对编码过程做了优化;在进行分像素运动估计时,利用中值预测点的运动矢量对不同运动特性宏块进行不同方式的分像素搜索,减少了搜索的像素点数,显著减少了编码时间。
实验证明,本发明实施例提供的技术方案单对1/4像素搜索的改进,节省了25%的搜索点,整像素和分像素两方面的改进使视频序列总的编码时间节省15%-20%左右,而信噪比的下降量不超过0.7dB,如图6A和图6B所示,左侧图像图6A为按照现有的像素运动估计方法编码后重建的图像,右侧图像图6B 为按照本发明实施例的像素运动估计方法编码后重建的图像,可看出,两者之间的区别极小,人眼对该区别不敏感。
本发明实施例三提供了一种像素运动估计装置,所述装置包括:
中值预测单元71,用于进行中值预测区域搜索,获取当前最优匹配点;
第一跳过搜索单元72,用于判断所述中值预测单元71获取的当前最优匹配点的匹配误差值是否满足提前终止条件,若满足,则跳过按UMHexagonS编码顺序后续的至少一步搜索过程,执行第一类型编码步骤;
第二跳过搜索单元73,用于当所述第一跳过搜索单元72获取的当前最优匹配点的匹配误差值不满足提前终止条件时,进行原点预测区域搜索,获取当前最优匹配点;判断当前最优匹配点的匹配误差值是否满足提前终止条件,若满足,则跳过按UMHexagonS编码顺序后续的至少一步搜索过程,执行所述第一类型编码步骤;若不满足,执行第二类型编码步骤;
其中,所述当前最优匹配点为当前已搜索过的所有像素点中匹配误差值最小的像素点。
进一步的,所述提前终止条件包括提前终止条件2和条件1,所述提前终止条件2和条件1分别为预定的匹配误差阈值,所述提前终止条件2的预定匹配误差阈值小于所述提前终止条件1的预定匹配误差阈值;
所述第一跳过搜索单元72和所述第二跳过搜索单元73还包括:
第一类型搜索模块,用于根据所述当前最优匹配点的匹配误差值判断是否满足所述提前终止条件2或条件1;若所述获取的当前最优匹配点的匹配误差值满足所述提前终止条件2,则跳过UMHexagonS编码的中间搜索步骤,直接执行钻石搜索;若所述获取的当前最优匹配点的匹配误差值满足所述提前终止条件1,则跳过UMHexagonS编码的中间搜索步骤,直接执行扩展六边形搜索和下一步的钻石搜索。
所述装置还包括分像素搜索单元,该所述分像素搜索单元,用于利用中值预测获取的运动矢量进行分像素搜索,当所述运动矢量的水平方向运动矢量或垂直方向运动矢量取余于4的余数为0时,只进行十字型方向的分像素搜索;当所述运动矢量的水平方向运动矢量或垂直方向运动矢量取余于4的余数都不 为0时,只进行X字型方向的分像素搜索。
本发明装置实施例中各功能模块的具体工作方法可参见本发明方法实施例一和二。
本领域普通技术人员可以理解实现上述实施例中的全部或部分步骤,可以通过程序指令相关硬件完成。所述实施例对应的软件可以存储在一个计算机可存储读取的介质中。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种像素运动估计方法,其特征在于,所述方法包括:
进行中值预测区域搜索,获取当前最优匹配点;
判断当前最优匹配点的匹配误差值是否满足提前终止条件,若满足,则跳过按非对称十字型多层次六边形格点搜索编码顺序后续的至少一步搜索过程,执行第一类型编码步骤,所述第一类型编码步骤为按非对称十字型多层次六边形格点搜索编码顺序执行的,跳过其后续的至少一步搜索的编码步骤;
若不满足,执行如下步骤:
进行原点预测区域搜索,获取当前最优匹配点;
判断当前最优匹配点的匹配误差值是否满足提前终止条件,若满足,则跳过按非对称十字型多层次六边形格点搜索编码顺序后续的至少一步搜索过程,执行所述第一类型编码步骤;若不满足,执行第二类型编码步骤;
其中,所述当前最优匹配点为当前已搜索过的所有像素点中匹配误差值最小的像素点;
所述第二类型编码步骤包括非对称十字型多层次六边形格点搜索编码中,原点预测区域搜索之后的所有步骤,或者,
所述提前终止条件包括提前终止条件2和条件1,所述提前终止条件2和条件1分别为预定的匹配误差阈值,所述提前终止条件2的预定匹配误差阈值小于所述提前终止条件1的预定匹配误差阈值,所述第二类型编码步骤具体包括:
步骤A:判断当前宏块的宏块模式是否为16*16,若是,进行相应块和相邻帧搜索,获取当前最优匹配点,直接执行步骤B;若否,进行上层预测点区域搜索,获取当前最优匹配点,执行步骤B;
步骤B:根据所述获取的当前最优匹配点的匹配误差值判断是否满足提前终止条件,若满足,则跳过按非对称十字型多层次六边形格点搜索编码顺序后续的至少一步搜索过程,执行所述第一类型编码步骤;若不满足,执行步骤C;
步骤C:判断所述获取的当前最优匹配点与参考帧中和当前宏块位置相同的宏决之间垂直方向的距离是否小于预定像素点数,若小于预定像素点数,则在当前最佳匹配宏块所处的宏块行中进行搜索,然后进行钻石搜索;若不小于预定像素点数,执行步骤D;
步骤D:判断所述获取的当前最优匹配点与参考帧中和当前宏块位置相同的宏块之间水平方向的距离是否小于预定像素点数,若小于预定像素点数,则在当前最佳匹配宏块所处的宏块列中进行搜索,然后进行钻石搜索;若不小于预定像素点数,进行多层次六边形格点搜索,获取当前最优匹配点,执行步骤E;
步骤E:判断所述当前最优匹配点的匹配误差值是否满足提前终止条件2,若满足,进行钻石搜索,若不满足,依次进行扩展六边形搜索和钻石搜索;
其中,所述当前最佳匹配宏块为所述当前最佳匹配点所属的宏块。
2.根据权利要求1所述的像素运动估计方法,其特征在于,根据所述当前最优匹配点的匹配误差值判断是否满足提前终止条件,若满足,则跳过按非对称十字型多层次六边形格点搜索编码顺序后续的至少一步搜索过程,执行第一类型编码步骤,具体包括:
所述提前终止条件包括提前终止条件2和条件1;
根据所述当前最优匹配点的匹配误差值判断是否满足所述提前终止条件2或条件1,
所述第一类型编码步骤具体包括:
若所述获取的当前最优匹配点的匹配误差值满足所述提前终止条件2,则跳过按非对称十字型多层次六边形格点搜索编码的中间搜索步骤,直接执行钻石搜索;
若所述获取的当前最优匹配点的匹配误差值满足所述提前终止条件1,则跳过按非对称十字型多层次六边形格点搜索编码的中间搜索步骤,直接执行扩展六边形搜索和下一步的钻石搜索。
3.根据权利要求2所述的像素运动估计方法,其特征在于,所述预定像素点数为2。
4.根据权利要求2所述的像素运动估计方法,其特征在于,根据量化参数和当前块的搜索模式确定所述提前终止条件1和条件2的预定匹配误差阈值。
5.根据权利要求2所述的像素运动估计方法,其特征在于,通过绝对差分和函数获取所述匹配误差值。
6.根据权利要求2所述的像素运动估计方法,其特征在于,该方法还包括:利用中值预测获取的运动矢量进行分像素搜索,具体包括如下步骤:
当所述运动矢量的水平方向运动矢量或垂直方向运动矢量取余于4的余数为0时,只进行十字型方向的分像素搜索;
当所述运动矢量的水平方向运动矢量或垂直方向运动矢量取余于4的余数都不为0时,只进行X字型方向的分像素搜索。
7.一种像素运动估计装置,其特征在于,所述装置包括:
中值预测单元,用于进行中值预测区域搜索,获取当前最优匹配点;
第一跳过搜索单元,用于判断所述中值预测单元获取的当前最优匹配点的匹配误差值是否满足提前终止条件,若满足,则跳过按非对称十字型多层次六边形格点搜索编码顺序后续的至少一步搜索过程,执行第一类型编码步骤,所述第一类型编码步骤为按非对称十字型多层次六边形格点搜索编码顺序执行的,跳过其后续的至少一步搜索的编码步骤;
第二跳过搜索单元,用于当所述第一跳过搜索单元获取的当前最优匹配点的匹配误差值不满足提前终止条件时,进行原点预测区域搜索,获取当前最优匹配点;判断当前最优匹配点的匹配误差值是否满足提前终止条件,若满足,则跳过按非对称十字型多层次六边形格点搜索编码顺序后续的至少一步搜索过程,执行所述第一类型编码步骤;若不满足,执行第二类型编码步骤;
其中,所述当前最优匹配点为当前已搜索过的所有像素点中匹配误差值最小的像素点;
所述第二类型编码步骤包括非对称十字型多层次六边形格点搜索编码中,原点预测区域搜索之后的所有步骤,或者,
所述提前终止条件包括提前终止条件2和条件1,所述提前终止条件2和条件1分别为预定的匹配误差阈值,所述提前终止条件2的预定匹配误差阈值小于所述提前终止条件1的预定匹配误差阈值,所述第二类型编码步骤具体包括:
步骤A:判断当前宏块的宏块模式是否为16*16,若是,进行相应块和相邻帧搜索,获取当前最优匹配点,直接执行步骤B;若否,进行上层预测点区域搜索,获取当前最优匹配点,执行步骤B;
步骤B:根据所述获取的当前最优匹配点的匹配误差值判断是否满足提前终止条件,若满足,则跳过按非对称十字型多层次六边形格点搜索编码顺序后续的至少一步搜索过程,执行所述第一类型编码步骤;若不满足,执行步骤C;
步骤C:判断所述获取的当前最优匹配点与参考帧中和当前宏块位置相同的宏块之间垂直方向的距离是否小于预定像素点数,若小于预定像素点数,则在当前最佳匹配宏块所处的宏块行中进行搜索,然后进行钻石搜索;若不小于预定像素点数,执行步骤D;
步骤D:判断所述获取的当前最优匹配点与参考帧中和当前宏块位置相同的宏块之间水平方向的距离是否小于预定像素点数,若小于预定像素点数,则在当前最佳匹配宏块所处的宏块列中进行搜索,然后进行钻石搜索;若不小于预定像素点数,进行多层次六边形格点搜索,获取当前最优匹配点,执行步骤E;
步骤E:判断所述当前最优匹配点的匹配误差值是否满足提前终止条件2,若满足,进行钻石搜索,若不满足,依次进行扩展六边形搜索和钻石搜索;
其中,所述当前最佳匹配宏块为所述当前最佳匹配点所属的宏块。
8.根据权利要求7所述的像素运动估计装置,其特征在于,所述提前终止条件包括提前终止条件2和条件1,所述提前终止条件2和条件1分别为预定的匹配误差阈值,所述提前终止条件2的预定匹配误差阈值小于所述提前终止条件1的预定匹配误差阈值;
所述第一跳过搜索单元和所述第二跳过搜索单元还包括:
第一类型搜索模块,用于根据所述当前最优匹配点的匹配误差值判断是否满足所述提前终止条件2或条件1;若所述获取的当前最优匹配点的匹配误差值满足所述提前终止条件2,则跳过按非对称十字型多层次六边形格点搜索编码的中间搜索步骤,直接执行钻石搜索;若所述获取的当前最优匹配点的匹配误差值满足所述提前终止条件1,则跳过按非对称十字型多层次六边形格点搜索编码的中间搜索步骤,直接执行扩展六边形搜索和下一步的钻石搜索。
9.根据权利要求7或8所述的像素运动估计装置,其特征在于,所述装置还包括分像素搜索单元,
所述分像素搜索单元,用于利用中值预测获取的运动矢量进行分像素搜索,当所述运动矢量的水平方向运动矢量或垂直方向运动矢量取余于4的余数为0时,只进行十字型方向的分像素搜索;当所述运动矢量的水平方向运动矢量或垂直方向运动矢量取余于4的余数都不为0时,只进行X字型方向的分像素搜索。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810184015 CN101431675B (zh) | 2008-12-09 | 2008-12-09 | 一种像素运动估计方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810184015 CN101431675B (zh) | 2008-12-09 | 2008-12-09 | 一种像素运动估计方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101431675A CN101431675A (zh) | 2009-05-13 |
CN101431675B true CN101431675B (zh) | 2010-12-08 |
Family
ID=40646801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810184015 Active CN101431675B (zh) | 2008-12-09 | 2008-12-09 | 一种像素运动估计方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101431675B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102611887B (zh) * | 2011-01-21 | 2015-08-05 | 华为技术有限公司 | 非整像素位置运动矢量的坐标值取整方法和装置 |
CN102547289B (zh) * | 2012-01-17 | 2015-01-28 | 西安电子科技大学 | 基于gpu并行实现的快速运动估计方法 |
JP6514197B2 (ja) * | 2013-07-15 | 2019-05-15 | ジーイー ビデオ コンプレッション エルエルシー | ネットワーク装置およびエラー処理の方法 |
CN104967858B (zh) * | 2015-06-30 | 2018-01-26 | 北京奇艺世纪科技有限公司 | 一种子像素运动向量估计方法和装置 |
CN105338354B (zh) * | 2015-09-29 | 2019-04-05 | 北京奇艺世纪科技有限公司 | 一种运动向量估计方法和装置 |
CN105578188A (zh) * | 2015-12-22 | 2016-05-11 | 西安理工大学 | 一种隔点全搜索运动估计方法 |
CN107454427A (zh) * | 2016-05-31 | 2017-12-08 | 福州瑞芯微电子股份有限公司 | 基于hevc的帧间预测方法和设备 |
CN106604035B (zh) * | 2017-01-22 | 2019-10-18 | 北京君泊网络科技有限责任公司 | 一种用于视频编码和压缩的运动估计的方法 |
CN109660799A (zh) * | 2017-10-12 | 2019-04-19 | 北京金山云网络技术有限公司 | 视频编码中的运动估计方法、装置、电子设备及存储介质 |
CN110213591B (zh) * | 2018-03-07 | 2023-02-28 | 腾讯科技(深圳)有限公司 | 一种视频运动估计方法、装置及存储介质 |
CN110832861A (zh) * | 2018-07-03 | 2020-02-21 | 深圳市大疆创新科技有限公司 | 视频处理方法和设备 |
CN109089121B (zh) * | 2018-10-19 | 2021-06-22 | 北京金山云网络技术有限公司 | 一种基于视频编码的运动估计方法、装置及电子设备 |
CN109831672B (zh) * | 2019-01-09 | 2020-10-27 | 北京大学 | 一种时空脉冲阵列的运动估计方法、电子设备及存储介质 |
CN110753227A (zh) * | 2019-10-23 | 2020-02-04 | 李思恒 | 基于帧间预测的视频编码方法 |
-
2008
- 2008-12-09 CN CN 200810184015 patent/CN101431675B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101431675A (zh) | 2009-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101431675B (zh) | 一种像素运动估计方法和装置 | |
CN110087087B (zh) | Vvc帧间编码单元预测模式提前决策及块划分提前终止方法 | |
CN103517069B (zh) | 一种基于纹理分析的hevc帧内预测快速模式选择方法 | |
CN101815218B (zh) | 基于宏块特征的快速运动估计视频编码方法 | |
CN101699865B (zh) | 一种块运动自适应的亚像素快速搜索方法 | |
CN103188496A (zh) | 基于运动矢量分布预测的快速运动估计视频编码方法 | |
CN101267556B (zh) | 快速运动估计方法及视频编解码方法 | |
CN101170688B (zh) | 一种宏块模式的快速选择方法 | |
EP2983365A1 (en) | Image prediction coding method and image coder | |
JP2007202150A (ja) | 可変ブロックサイズ動き予測のための符号化モードの決定方法及び装置 | |
CN103237222B (zh) | 多模式搜索的运动估计方法 | |
CN100574447C (zh) | 基于avs视频编码的快速帧间预测模式选择方法 | |
CN107623850A (zh) | 一种基于时空相关性的快速屏幕内容编码方法 | |
CN101888546B (zh) | 一种运动估计的方法及装置 | |
CN102291581B (zh) | 支持帧场自适应运动估计的实现方法 | |
CN104363450A (zh) | 一种帧内编码模式决策方法及装置 | |
CN108134939A (zh) | 一种运动估计方法及装置 | |
CN106993187A (zh) | 一种可变帧率的编码方法及装置 | |
CN101621694A (zh) | 一种运动估计方法、系统及显示终端 | |
CN103384327A (zh) | 基于自适应阈值的avs快速模式选择算法 | |
CN104702959B (zh) | 一种视频编码的帧内预测方法及系统 | |
CN102164283A (zh) | 一种基于avs的亚像素运动估计方法 | |
CN101883275B (zh) | 视频编码方法 | |
CN100385957C (zh) | 一种运动矢量预测的方法 | |
CN105282557A (zh) | 一种预测运动矢量的h264快速运动估计方法 |
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 |