首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
tencsearch专题
HM代码阅读4:运动估计函数Void TEncSearch::xMotionEstimation()和全搜索Void TEncSearch::xPatternSearch()
HEVC中的运动估计采用的方法: 1、小范围内全搜索(主要用于B帧,第二次遍历计算出较小cost的MV) 2、大范围内菱形搜索(TZSearch) 全搜索: 1、设置好搜索范围,获取当前PU在参考帧重建帧中的位置,获取重建帧的步幅(包含padding) 2、遍历完范围内的所有整数点,逐像素作差得到SAD,获取编码运动矢量的bit数,加在一起形成cost,如果当前SAD比之前最好的SAD小,那么将
阅读更多...
HM代码阅读2:AMVP预测函数Void TEncSearch::xEstimateMvPredAMVP()
AMVP预测函数:根据AMVP候选准则为该帧建立MVP候选列表,调用pcCU->fillMvpCand( uiPartIdx, uiPartAddr, eRefPicList, iRefIdx, pcAMVPInfo ) 填充候选列表(下一篇介绍该函数) 构建好候选列表后,按以下流程选择最优MVP: 将最优MVP索引置为0,最优MVP赋给中间变量cBestMv。进行RDcost计算得到当前Cos
阅读更多...
HM代码阅读1: 帧间预测函数Void TEncSearch::predInterSearch()
AMVP理论知识简单回顾(含GPB) MVP主要是为了给当前PU提供一个运动矢量的预测,可加快ME的计算速度以及提升准确性。并且在后续编码中也只用编码MVD,减少了传输bit数。 HM中获取每个参考图像列表最佳MVP的流程: 遍历refPicList0中的每一帧,为每一帧创建AMVP候选。RDO选出最优MVP。根据最优MVP进行运动估计,得到当前最优的MV。根据MV再次比较AMVP候选中哪一个
阅读更多...