X264运动搜索算法总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 起始搜索点的确定 (1)

2 整数像素运动搜索过程 (3)

2.1 六边形(HEX,hexagon) (3)

2.2 小菱形(DIA,diamond) (4)

2.3 非对称十字多层六边形(UHM,Uneven-cross Multi-Hexagon-grid) (5)

3 分数像素运动搜索过程 (6)

firstime

2010年1月

1起始搜索点的确定

1、利用下采样图像得到的MV

2、利用空间相邻宏块得到的MV:左、上、左上、右上

3、利用时间相关宏块得到的MV:

4、预测MV

说明:

(1)、1/2 参考平面已经在参考帧解码过程中插出,因此如果计算分数精度代价时,MV指向1/2像素,则可以直接取1/2 平面;

(2)、最后确定的最佳运动矢量一定是指向最佳点的整像素位置,无论整像素位置是否是最佳。

2 整数像素运动搜索过程

2.1 六边形(HEX ,hexagon )

1、 原理图:

其中:红色标记处为起始搜索点。 流程图:

2.2

小菱形(DIA ,

diamond )

1、 原理图:

2、流程图:

2.3 非对称十字多层六边形(UHM,Uneven-cross Multi-Hexagon-grid)1、原理图:

流程图:

3分数像素运动搜索过程

说明:

(1)、是否进行1/4精度的2倍步长和1倍步长搜索由变量subpel_refine 决定。通过该变

量去查表示运算次数的常量表,查到的运算次数不为0 则需要搜索;

(2)、因为当subpel_refine < 3 时,整数像素ME过程中并没有对中值预测MV 进行分数精度搜索,因此当“需要2倍步长搜索,且subpel_refine < 3”时需要进行预测MV 的分数精度搜索;

(3)、“计算最优点四邻域2倍步长点代价”和“计算最优点四邻域1倍步长点代价”两个过程中,如果最优点是中心点,则退出代价计算过程而不用等预定的搜索次数完成;(4)、“计算最优点四邻域2倍步长点代价”和“计算最优点四邻域1倍步长点代价”两个过程中,MV 可能指向1/4 像素点;

(5)、计算色度分量代价过程中是否采用SATD 有待确认;

(6)、是否进行色度ME由两个条件决定:

b_chroma_me = h->mb.b_chroma_me && i_pixel <= PIXEL_8x8;

(7)、“计算最优点四邻域1倍步长点代价”过程中,也要对是否进行色度分量ME 进行判断;

(8)、色度分量ME的代价合入亮度分量ME的代价一起作为宏块代价;

(9)、该过程的输入可能整数点,也可能是1/2、1/4像素点。

待解决的问题:

1、查证X264 的MVD 代价表是否跟JM 一致;

2、计算代价什么时候用SAD,什么时候用SATD;

3、运动搜索范围的确定;

4、运动矢量范围的确定。

相关文档
最新文档