【x265编码器】章节5——x265帧间运动估计流程

系列文章目录

   HEVC视频编解码标准简介

【x264编码器】章节1——x264编码流程及基于x264的编码器demo

【x264编码器】章节2——x264的lookahead流程分析

【x264编码器】章节3——x264的码率控制

【x264编码器】章节4——x264的帧内预测流程

【x264编码器】章节5——x264的帧间预测流程

【x264编码器】章节6——x264的变换量化

【x265编码器】章节1——lookahead模块分析

【x265编码器】章节2——编码流程及基于x265的编码器demo

【x265编码器】章节3——帧内预测流程

【x265编码器】章节4——帧间预测流程

【x265编码器】章节5——x265帧间运动估计流程

【x265编码器】章节6——x265的码率控制

【x265编码器】章节7——滤波模块

【x265编码器】章节8——变换量化模块


目录

系列文章目录

一、x265与HM的运动估计对比

二、运动估计搜索算法介绍

1.x265搜索算法和对应的preset

2.x265-StarSearch和HM的TZSeach算法对比

3.x265-HexSearch算法

4.x265-DiaSearch算法


前言

x265完整的流程框架如下:

一、x265与HM的运动估计对比

x265运动估计的实现与HM代码的实现有很大的相似性,但两者会有细微的差别,整体的流程如下,不难发现两者共性都是先进行整像素搜索,之后进行1/2像素搜索以及最后的1/4像素搜索,不同点在于两者所用的搜索算法会有所差异,HM在亚像素搜索阶段,所用的是方形搜索,即对周围的8个点都进行计算,而x265出于速度的考量采用仅对四个点进行菱形搜索,计算量降低一半,其中x265的运动估计代码说明可以参考x265帧间预测流程中的MotionEstimate::motionEstimate:

二、运动估计搜索算法介绍

1.x265搜索算法和对应的preset

x265搜索算法和对应的preset
x265 preset配置搜索算法
slow、slower、veryslow、placeboStarSearch
medium(默认)、fast、faster、veryfast、superfastHexSearch
ultrafastDiaSearch

2.x265-StarSearch和HM的TZSeach算法对比

x265在--preset slow、slower、veryslow和placebo下会使用StarSearch搜索算法;

HM中使用的是TZSeach搜索算法,在x265与之相近的算法是StarSearch搜索算法,两者在流程上基本上没有差别,流程上:

1.都会先按照菱形搜索方式进行搜索;

2.当超过一定搜索距离或者当前点连续3个回合都是最优点时,继续;

3.如果uiBestDistance==1,进行两点搜索,搜索的两个点为上面菱形搜索之后剩余的最近的两个点,如果最优点未发生变化,则直接跳到最后一步,写入最优MV和SAD;

4.如果uiBestDistance!=1或者最优点发生了变化,则进行补偿的为5的光栅搜索(步长为1的光栅搜索等价于全像素搜索);

5.之后进行与步骤1、步骤2、步骤3相似的操作,直到满足条件为止;

HM和x265的差异点: x265-StarSearch搜索算法图中标红的部分即为两者不同的地方;

x265-StarSearch搜索算法

HM的TZSeach算法

3.x265-HexSearch算法

HexSearch算法是x265默认配置medium、fast、faster、veryfast和superfast下使用的搜索算法,大体上流程:

1.对初识点进行距离为2 的六边形搜索;

2.如果周围存在比中心点更优的点,则对改点方向进行,一半的六边形搜索(即只搜索3个点),直到满足中心点为最优点为止;否则中心点最优则进行第三步;

3.进行周围8个点的方形搜索;

4.x265-DiaSearch算法

HexSearch算法是x265在ultrafast配置下使用搜索算法,流程:

1.进行距离为1的菱形搜索,如果存在比当前中心点更好的点,则继续;否则找到了最优点,结束;

点赞、收藏,会是我继续写作的动力!赠人玫瑰,手有余香。


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值