estIntraPredQT

首先是inter部分,在xCheckRDCostInter中,的确prediction和residual coding是分开的,先是m_pcPredSearch->predInterSearch进行运动估计,再是m_pcPredSearch->encodeResAndCalcRdInterCU进行残差编码,但是,在这个残差编码中,调用了xEstimateResidualQT进行递归编码,其思路跟帧内预测的对应函数是类似的,这点该如何理解?
其次是intra部分,在xCheckRDCostIntra中,(只考虑亮度分量)工作量都在m_pcPredSearch  ->estIntraPredQT中,先有一个外循环for( UInt uiPU = 0; uiPU < uiNumPU; uiPU++, uiPartOffset += uiQNumParts )对CU中的每个PU进行遍历,其次的一个循环for( Int modeIdx = 0; modeIdx < numModesAvailable; modeIdx++ )对每种预测模式进行遍历,然后根据一个简化了的cost筛选出numModesForFullRD个最佳的待选项,此处的数量小于35但大于1,跟PU的尺寸有关。
再次,还是intra部分,继续上面的讨论,下一个循环是for( UInt uiMode = 0; uiMode < numModesForFullRD; uiMode++ ),此循环中会调用xRecurIntraCodingQT进行TU的划分,注意此时倒数第二个参数为true,即该函数中的bCheckSplit为false,只进行当前深度的TU计算;根据计算得到的RDCost,从numModesForFullRD中选出最佳的一个,此处已经在uiMode的循环外了。然后再次调用xRecurIntraCodingQT,注意此时倒数第二个参数为false,即函数中的bCheckSplit为true,进行所有深度的TU计算,从而确定最终的TU划分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值