快速自适应码率控制方法

文档序号:7855699阅读:278来源:国知局
专利名称:快速自适应码率控制方法
技术领域
本发明提供了一种快速自适应码率控制方法,具体涉及一种利用保留预编码信息,根据预编码结果和实际的码率需求作出自适应调整的编码方法,属于视频编码领域。
背景技术
视频编码原理和步骤如下I.帧内编码I)变换,按照固定分割(比如8x8像素为单位),变换后矩阵中系数代表变换前图像的频率分布,其中高频部分集中在左上角,低频部分集中在右下角;
2)量化,使用以量化系数做量化(例如,变换矩阵系数除以量化系数,这个过程叫做量化),使前一步结果中的系数值变小,得到结果为量化后矩阵;3)预测,使用量化后矩阵系数和周边矩阵系数做预测(查找最合适的匹配关系,使匹配后的结果最小,这个过程叫预测),预测后当前矩阵系数值进一步变小;4)熵编码,将矩阵系数按照特定的编码规则编码(比如霍夫曼编码,具体规则在不同的视频编码规范中有所不同),得到最终比特流。2.帧间编码I)运动估计,使用固定的图像分割(比如8x8像素为单位),将当前帧编码位置图像分割的数据和参考帧(时间上位于当前帧之前或之后的帧)中数据做对比,不断改变位置,最终找到差异最小的位置(比如,逐个像素值差的绝对值之和,依次作为比较标准),得到差异矩阵和这个位置与编码位置的坐标偏差(运动向量);2)对差异矩阵做变换、量化、预测、熵编码(同帧内编码步骤);3)对运动向量做熵编码;4)以上步骤熵编码汇总成最终比特流。码率控制,指的是对当前编码帧之前的一组图像(假设为N帧连续图像,可能为帧内或帧间编码)的信息做出计算,预计出当前帧量化系数,从而控制视频的码率(包含当前帧的前面N帧图像的比特数之和除以N帧所占时间值,单位为比特/秒),量化系数是直接影响每一帧编码后比特数的直接因素,系数越大,量化后的结果越小,熵编码后的比特数就越少。传统编码器码率控制方式如下按照固定模型决定每帧图像的帧间和帧内编码类型,根据前一帧的编码大小(比特数)调整后一帧的量化系数,使视频的最终码率趋近目标码率。编码过程中不保存之前帧的编码中间步骤的结果数据。传统码率控制方法的特点如下优点是在视频场景变化不大(图像中变化的细节所占的比例较小)时,可以保持码率平稳,缺点是在视频场景变化较大时,码率会突然变大或变小,再次回到平稳状态需要的时间很长,一般要经过至少一个编码单位(0. 5秒到I秒的编码帧数)才能恢复平稳,在变化剧烈或频繁切换的场景(比如广告)时可能出现码率失控(实际编码码率超出目标码率一倍以上且持续超过I秒)。
本发明所述的方法,在传统码率控制方法上加以优化,具有在复杂场景时的快速响应场景变化、快速改变编码类型、快速恢复码率平稳的优点。

发明内容
本发明的目的是在现有码率控制方法的基础上进行优化,增加新的控制策略,实现比原有码率控制方法更平稳的码率输出。本发明提供的技术方案如下一种快速自适应码率控制方法,包括如下步骤I)使用上一次码率控制得到的量化系数编码当前图像,保存编码时的中间结果,根据当前编码帧的大小和当前编码帧的前N-I帧的大小计算出的码率和目标码率进行比较,根据比较结果对量化系数作出调整; 2)如果当前编码码率没有超出阈值,则量化系数沿用步骤I)调整后的值,跳到步骤I)继续编码下一帧图像;3)如果当前编码码率超出阈值,则执行如下步骤a)将之前保存了编码中间结果的N帧的量化系数进行调整,根据各自帧编码结果与目标码率的差异大小对量化系数作出调整;b)使用调整后的量化系数对这N帧进行重编码,重编码时使用所编码帧之前留下的中间结果,以加快重编速度;c)下一次码率控制计算量化系数时使用这N帧重编后的比特数和量化系数计算下一帧的量化系数;4)跳到步骤I)继续执行。所述的快速自适应码率控制方法,其特征是,步骤I)中,如果是第一帧,则使用用户设定的初始量化系数编码当前图像。所述的快速自适应码率控制方法,其特征是,步骤I)中,如果码率小于目标码率,就减小量化系数,反之就增大量化系数;量化系数改变的幅度由码率差异来决定。所述的快速自适应码率控制方法,其特征是,步骤I)中所述的编码中间结果,包括每帧的编码类型、量化系数、每一帧中分割单位的信息。所述的快速自适应码率控制方法,其特征是,所述编码类型的取值为帧间或帧内;每一帧中分割单位的信息包括预测类型,运动向量。所述的快速自适应码率控制方法,其特征是,所述阈值为目标码率的150%。本发明的优点是,改变了之前的使用当前已经编码的帧的码率来决定下一帧编码量化系数的方式,而是使用参与码率控制计算的若干帧的结果来控制码率,并在需要时重编的方法,使码率的波动得到最大限度的控制,且利用到之前的中间结果,大大加快重编时的速度。通过这个方法的优化,提高了在实际编码码率低于目标码率时的图像质量,并最大限度的避免了码率超高失控的情况。


图I是本发明所述方法的流程图。
具体实施例方式本发明所述方法包括如下步骤(参见图I)I)如果是第一帧,则使用用户设定的初始量化系数,否则,使用上一次码率控制得到的量化系数,编码当前图像,保存包含当前帧在内的N帧的编码中间结果,比如每帧的编码类型(帧间或帧内)、量化系数、每一帧中分割单位的信息(如预测类型,运动向量等),根据当前编码帧的大小和当前编码帧的前N帧(N为码率控制窗口大小,码率控制每次计算都参考这N帧的信息,用户自定义值,例如可以设置N=5,也可以设置其它值)的大小计算出的码率和目标码率进行比较,根据比较结果对量化系数作出调整,比如,如果码率小于目标码率,就减小量化系数,反之就增大量化系数,量化系数改变的幅度由码率差异来决定;2)如果当前编码码率(包含了当前帧在内的N帧图像计算出的码率)没有超出阈值(具体阀值可根据用户需求调整,例如,可以是比目标码率超出50%,即超出目标码率的150%),量化系数沿用步骤I)调整后的值,跳到步骤I)继续编码下一帧图像;
3)如果包含了当前帧在内的N帧图像计算出的码率超出阈值,则执行如下步骤a)将之前保存了编码中间结果的N帧的量化系数进行调整,根据各自帧编码结果与目标码率的差异大小对量化系数作出调整,比如,设目标码率下平均每帧的比特数为B,当前帧比特数小于B的,则量化系数增加1,等于B的,增加2,大于B的,则量化系数增加2乘以变大的比例;b)使用调整后的量化系数对这N帧进行重编码,重编时使用所编码帧之前留下的中间结果,以加快重编速度;c)下一次码率控制计算量化系数时将使用这N帧重编后的比特数和量化系数计算下一帧的量化系数; 4)跳到步骤I)继续执行。下面用一个实施例进行进一步说明实施例I :当前码率控制窗口为N=5,目标码率是每N帧比特数之和不能大于500Kb (1Kb等于1000个比特),已经编码5帧图像,分别为(qp代表量化系数)#1 100Kb, qp=23#2 100Kb, qp=22#3 100Kb, qp=21#4 100Kb, qp=22#5 100Kb, qp=22之前5帧的总和是500Kb,在目标码率之内,码率计算当前帧(#6)用qp=22编码,
编码结果是#6 400Kb, qp=22发现考虑当前帧在内的5帧比特数总和为800Kb,超过目标码率的500Kb的60%(设阈值为目标码率的150%),需要进行重编,重编时根据超出幅度调整量化系数,如果在150%以内则按照正常处理,调整和重编结果如下#2 80Kb, qp=24, +2#3 :80Kb,qp=23,+2
#4 :80Kb,qp=24,+2#5 :80Kb,qp=24,+2
#6 :180Kb,qp=32,+10这5帧的比特数总和为500Kb,符合目标码率要求,继续编码#7帧。
权利要求
1.一种快速自适应码率控制方法,包括如下步骤 1)使用上一次码率控制得到的量化系数编码当前图像,保存编码时的中间结果,根据当前编码帧的大小和当前编码帧的前N-I帧的大小计算出的码率和目标码率进行比较,根据比较结果对量化系数作出调整; 2)如果当前编码码率没有超出阈值,则量化系数沿用步骤I)调整后的值,跳到步骤I)继续编码下一帧图像; 3)如果当前编码码率超出阈值,则执行如下步骤 a)将之前保存了编码中间结果的N帧的量化系数进行调整,根据各自帧编码结果与目标码率的差异大小对量化系数作出调整; b)使用调整后的量化系数对这N帧进行重编码,重编码时使用所编码帧之前留下的中间结果,以加快重编速度; c)下一次码率控制计算量化系数时使用这N帧重编后的比特数和量化系数计算下一帧的量化系数; 4)跳到步骤I)继续执行。
2.如权利要求I所述的快速自适应码率控制方法,其特征是,步骤I)中,如果是第一帧,则使用用户设定的初始量化系数编码当前图像。
3.如权利要求I所述的快速自适应码率控制方法,其特征是,步骤I)中,如果码率小于目标码率,就减小量化系数,反之就增大量化系数;量化系数改变的幅度由码率差异来决定。
4.如权利要求I所述的快速自适应码率控制方法,其特征是,步骤I)中所述的编码中间结果,包括每帧的编码类型、量化系数、每一帧中分割单位的信息。
5.如权利要求4所述的快速自适应码率控制方法,其特征是,所述编码类型的取值为帧间或帧内;每一帧中分割单位的信息包括预测类型,运动向量。
6.如权利要求I所述的快速自适应码率控制方法,其特征是,所述阈值为目标码率的150% o
7.如权利要求I所述的快速自适应码率控制方法,其特征是,所述N=5。
全文摘要
本发明公布了一种快速自适应码率控制方法,包括使用上一次码率控制得到的量化系数编码当前图像,保存编码时的中间结果,根据当前编码帧的大小和当前编码帧的前N-1帧的大小计算出的码率和目标码率进行比较,根据比较结果对量化系数作出调整;如果当前编码码率超出阈值,则前N帧的量化系数进行调整,根据各自帧编码结果与目标码率的差异大小对量化系数作出调整,使用调整后的量化系数对这N帧进行重编码,重编码时使用所编码帧之前留下的中间结果;下一次码率控制计算量化系数时使用这N帧重编后的比特数和量化系数计算下一帧的量化系数。本发明具有在复杂场景时的快速响应场景变化、快速改变编码类型、快速恢复码率平稳的优点。
文档编号H04N7/26GK102752598SQ20121023781
公开日2012年10月24日 申请日期2012年7月9日 优先权日2012年7月9日
发明者李革, 袁磊 申请人:北京博雅华录视听技术研究院有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1