DMVR的相关整理

DMVR(decode MV refinement)解码端MV细化。

顾名思义,就是将MV在解码端做一个细化操作,那么相应的,就可以不在编码端做过多的搜索细化等操作。好处是可以减小传输的码率,缩短编码时间。为了保证质量,将细化的任务放在解码端,虽然增加了一部分解码时间,但在一定条件下,可以将增加的解码时间减小到最少。


以上便是DMVR的思想:分为两步,第一步:构造template;第二步:搜索最匹配的块。

代码中的实现逻辑:

主要由几个函数构成:

 Void xBIPMVRefine(TComDataCU* pcCU, UInt uiAbsPartIdx, RefPicList eRefPicList, Int iWidth, Int iHeight, TComYuv* pOrgYuv, TComYuv* pDstYuv, UInt uiMaxSearchRounds, UInt nSearchStepShift, UInt& uiMinCost);
  UInt xDirectMCCost(Int iBitDepth, Pel* pRef, UInt uiRefStride, Pel* pOrg, UInt uiOrgStride, Int iWidth, Int iHeight);
  Void xPredInterLines(TComDataCU *cu, TComPicYuv *refPic, UInt partAddr, TComMv *mv, Int width, Int height, Pel* dstPix, Int dstStride, Bool bi, const Int bitDepth);
  Void 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值