HM intra

HM intra部分

intra中几个函数:

estIntraPredQT主要做模式选择的工作,选出对于当前PU的最优模式,如DC,planar,角度方向。

estIntraPredChromaQT做了类似的工作,不过是针对于色度。

xRecurIntraCodingQT和xRecurIntraChromaCodingQT函数是依据给定的候选模式采用递归进行PU的分割,进而依据TU进行重建estIntraPredQT。

estIntraPredQT在这里面首先对N个候选模式进行粗粒度筛选:采用SATD+λ*ModeBits,从M个模式选出N个最可能的候选模式,在粗选时没有采用TU分割。所涉及的函数: 

predIntraLumaAng: 根据mode算出当前PU的预测值

calcHAD: 计算SATD代价

xModeBitsIntra: 计算当前模式所耗费的比特数目

xUpdateCandList: 更新mode代价,保持前N个模式的代价最小

在选出N个模式后,这N个模式会进入xRecurIntraCodingQT函数从而进行TU的分割

xRecurIntraCodingQT

为了加速RQT过程,这个函数会被调用两次:

第一次的调用不进行PU分割为TU的过程, PU直接转换为TU,只为算出N个模式的RD代价,从而选出一个最优的,在这个最优的模式被选出后,会第二次调用这个函数,再对这个最优的模式进行PU的分割。这个过程所涉及的函数: 

xIntraCodingLumaBlk: 进行对当前TU进行求残差,对残差变换,量化,反量化,反变换,重建当前TU等一系列编码工作,并求得失真

xGetIntraBitsQT: 求出当前模式的所有信息进行熵编码会产生的比特数 

calcRdCos:根据xIntraCodingLumaBlk得到的失真和xGetIntraBitsQT产生的比特数目进行RD代价的计算,比较各模式的优劣

xSetIntraResultQT:保存最优模式的数据



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值