estIntraPredQT
来源:互联网 发布:人工智能狂潮 pdf 编辑:程序博客网 时间:2024/05/29 23:46
首先是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划分。
其次是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划分。
- estIntraPredQT
- HEVC之estIntraPredQT
- HEVC代码追踪(八。一):estIntraPredQT
- Spring Security 3.1 自定义 authentication provider
- ISA的启动与停止
- 关于产品
- 数据库木马的清除
- Install .sty, .cls, .bst files in Lyx
- estIntraPredQT
- 关于我
- centos 卸载自带的 java
- win8 双系统
- ubuntu下双显卡部署cocos2d-x的问题
- 今天就成为更为满足的程序员
- HTTP/1.1协议中定义的八种方法
- 变量的6种作用域:全局作用域,文件作用域,命名空间作用域,类作用域,局部作用域,语句作用域
- Android.mk 语法介绍