HEVC intra和inter码率控制的不同

本文深入探讨了HEVC压缩标准中,在compressGOP()函数处理intra和inter码率控制的区别。针对intra情况,文章详细介绍了如何以CTU为单位计算intra成本,并通过updateCtuDataISlice()函数进行8*8块的Y分量Hadamard变换,累计变换系数。同时,涉及到pic level和CTU级别的alpha与beta参数的计算,这些参数通过TEncRCSeq访问并影响码率控制策略。
摘要由CSDN通过智能技术生成
  1. 在compressGOP()函数中
compressGOP()
{
    ...
    for (Int iGOPid=0;iGOPid<m_iGopSize;iGOPid++)
    {
        m_pcSliceEncoder->initEncSlice ( pcPic, iPOCLast, pocCurr, iGOPid, pcSlice, isField );//设置当前Slice的编码参数,如QP,lambda(基于QP)等
        if ( m_pcCfg->getUseRateCtrl() ) //若开启码率控制,则会对当前帧进行码率分配,计算RDO的参数lambda和QP
        {
            if ( ( pcSlice->getPOC() == 0 && m_pcCfg->getInitialQP() > 0 ) || ( frameLevel == 0 && m_pcCfg->getForceIntraQP() ) ) // QP is specified
            {
            }
            else if ( frameLevel == 0 )   // intra case, but use the model
            {
                m_pcSliceEncoder->calCostSliceI(pcPic);//计算intraCost,也就是与complexity相关的参数
                ...
                m_pcRateCtrl->getRCPic()->getLCUInitTargetBits();//在intra情况下,初始LCU的成员变量m_targetBitsLeft
                lambda  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值