1、Motion Estimation in x264
x264's ME methods in order from best quality to worst:
SATD Exhaustive (tesa)
Exhaustive (esa/full)
Uneven Multi-Hex (umh)
Hexagon (hex)
Diamond (dia/epzs)
x264 has 5 fullpel motion estimation modes:
radius-1 diamond,
radius-2 hex (default),
UMH (somewhat similar to JM),
exhaustive (implemented fast via sequential elimination),
and Hadamard exhaustive (implemented approximately via thresholded sequential elimination).
参考:X264的运动估计算法研究 作者: 丁超, 陈涛, DING Chao, CHEN Tao
2、Motion Estimation in HM
HM 中8PointDiamondSearch 和8PointSquareSearch 算法,默认使用是8PointDiamondSearch,但是Diamond算法的搜索点要比Square要多,Square算法不论半径是多大时一圈都是8个点,而根据代码中的Diamond算法,只有在半径小于等于8时一圈才是8个点,而当半径大于8时,一圈要搜索4+3*4 =16个点,除了搜索菱形的四个顶点外,还搜索了每条边1/4、2/4、3/4处的点。