发明名称 一种自适应的码率控制方法
摘要 本发明涉及一种低复杂度的自适应码率控制方法,包括可变码率与固定码率两种工作模式;可变码率通常应用于要求恒定图像质量的非实时应用场合,固定码率则通常应用于要求恒定带宽的实时应用场合;本发明可以根据不同的应用场合以及视频源的特征自适应地调整量化步长,达到码率的合理分配;同时加入了量化步长变化幅度限制,有效地防止了连续图像间的质量跳变,实现平滑过渡,便于硬件实现。
申请公布号 CN101252689B 申请公布日期 2010.08.25
申请号 CN200810060009.6 申请日期 2008.02.29
申请人 杭州爱威芯科技有限公司 发明人 叶志成;江巧微;秦兴
分类号 H04N7/26(2006.01)I;H04N7/28(2006.01)I;H04N7/50(2006.01)I 主分类号 H04N7/26(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 周烽
主权项 一种自适应的码率控制方法,适用于固定码率模式和可变码率模式,其特征在于,包含以下步骤:(1)如果当前的编码帧为I帧并且前面一帧为非I帧,对之前已编码各帧的量化参数QP求加权平均值,并转化为量化缩放因子qscalei;(2)如果当前帧为非I帧,或者当前帧为I帧但是前一帧仍为I帧,在固定码率模式下,根据上一帧匹配代价来预测当前帧的复杂度,并用经验公式计算出对应该复杂度的图像理论上应使用的qscalei,作为当前帧的qscalei初始值,然后根据实际的已编码比特数与预期的目标比特数间的差值,结合事先设定的可容忍的码率浮动范围,修正qscalei;在可变码率模式下,直接由量化参数QP得到量化缩放因子qscalei;(3)将步骤(2)得到的当前帧的qscalei限制在前一帧qscalei-1的[0.83,1.2]范围内,从而避免由于qscalei和qscalei-1偏离过大引起的连续图像间的质量跳变;然后由虚拟缓存的满度来修正qscalei;之后预测当前帧在量化缩放因子取值为qscalei时将得到的编码比特数,从而推测出当前帧编码结束后的虚拟缓存满度是否会超出预期范围,以此修正qscalei;(4)将经过上述步骤(1)转化的量化缩放因子qscalei或经过步骤(2)和(3)修正的量化缩放因子qscalei限制在LMIN和LMAX之间,[LMIN,LMAX]是用户设定的量化步长最大变化范围;(5)将步骤(4)所得的qscalei利用式qp=12.0+6.0×log(qscale/0.85)/log(2.0),转化为当前帧的量化参数QP。其中,所述步骤(2)中,所述经验公式为:qscalei=blurred_complexityi/rate_factoriblurred_complexityi=short_term_cplxsumi/short_term_cplxcountirate_factori=wanted_bits_wini/cplxr_sumishort_term_cplxsumi=short_term_cplxsumi-1×0.5+satdishort_term_cplxcounti=short_term_cplxcounti-1×0.5+1wanted_bits_wini=wanted_bits_wini-1+buf_ratecplxr_sumi=cplxr_sumi-1+qscalei-1×bitsi-1/blurred_complexityi-1bitsi-1=min(last_bitsi-1,8000000)上述各式中,buf_rate表示编码每帧的目标比特数,以bits/frame为单位,last_bitsi-1表示上一帧的实际编码比特数,以bit为单位;short_term_cplxsumi表示之前已经编码的所有帧satd的加权和,初始值short_term_cplxsum0等于0;short_term_cplxcounti表示加权平均因子,初始值short_term_cplxcount0等于0;wanted_bits_wini表示预期的累积编码比特数,初始值为0.01。
地址 310053 浙江省杭州市滨江区滨安路1187号B4