[发明专利]一种码率控制方法有效
申请号: | 200510110106.8 | 申请日: | 2005-11-08 |
公开(公告)号: | CN1767653A | 公开(公告)日: | 2006-05-03 |
发明(设计)人: | 李国平;赵海武;陈勇;李萍;侯钢;王国中 | 申请(专利权)人: | 上海广电(集团)有限公司中央研究院 |
主分类号: | H04N7/32 | 分类号: | H04N7/32 |
代理公司: | 上海新天专利代理有限公司 | 代理人: | 衷诚宣 |
地址: | 200233*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供的一种码率控制方法,根据当前帧的图像类型,采用帧级码率控制和宏块级码率控制来对图像进行编码。本发明提供的一种码率控制方法,控制精度高,主观图像质量好,同时计算复杂度很低,不仅适合各种软件应用,而且也适合硬件的实时工作。 | ||
搜索关键词: | 一种 控制 方法 | ||
【主权项】:
1.一种码率控制方法,其特征在于,包含以下步骤:步骤1、在帧级码率控制中,以每个图像组GOP为单位,计算每个图像组的比特Bgop:步骤1.1、根据信道目标码率R和帧率F,计算每个图像组的比特Bgop: 在上式中,Bfullness是缓存中剩余的比特数,Sgop为每个图像组GOP中的图像帧数;步骤1.2、对缓存中剩余的比特数Bfullness初始化为0;步骤2、根据当前帧的图像类型可为I图像(帧内图像),P图像(前向预测图像)或B图像(双向预测图像),计算当前图像帧所分配的比特Bcur_frame:Bcur_frame=Pcur×(Bgop-Bcur_gop_used)/(Pip×Ppb×Fi+Ppb×Fp+Fb)(2)在上式中Fi,Fp,Fb分别为I图像和P图像以及B图像的帧数,Pip为I图像相对于P图像的比特分配权重参数,Ppb为P图像相对于B图像的比特分配权重参数,Pcur为当前帧的权重参数;初始化Bcur_gop_used,,Fi,Fp,Fb,并且设定Pip,Ppb的值;步骤3、计算当前图像帧的目标平均量化系数Qcur_ave:如果前一帧图像已经使用的比特数为Bprev_frame,前一帧图像非零离散余弦变换系数的个数为Nprev_frame,则当前帧中非零离散余弦变换系数的个数为:Ncur_frame=Bcur_frame×Nprev_frame/Bprev_frame (3)如果一帧离散余弦变换系数的个数为Ntotal_frame,前一帧图像的平均量化系数为Qprev_ave,则当前图像帧的目标平均量化系数为:Qcur_ave=Qprev_ave+W×(Nprev_frame-Ncur_frame)/(Ntotal_frame-Nprev_frame)(4)在上式中W为权重系数,其值由用户根据不同情况定义;步骤4、宏块级码率控制:步骤4.1、如果当前图像中已经编码宏块使用的比特为Bcur_frame_used,则剩余宏块所分配的比特为:Bcur_frame_rest=Bcur_frame-Bcur_frame_used (5)如果已编码宏块中的非零离散余弦变换系数的个数为Ncur_frame_used,则未编码宏块的非零离散余弦变换系数的个数为:Ncur_frame_rest=Bcur_frame_rest×Ncur_frame_used/Bcur_frame_used (6)步骤4.2、如果剩余宏块的离散余弦变换系数的个数为Ntotal_frame_rest,当前宏块的非零离散余弦变换系数的平均数为:Ncur_mb_ave=Ncur_frame_rest/Ntotal_frame_rest (7)步骤4.3、计算当前宏块的非零离散余弦变换系数的个数Npred_mb:在编码宏块中,宏块之间存在相关性,根据已经编码宏块的非零离散余弦变换系数的个数,或者根据当前宏块离散余弦变换系数的总数和当前宏块零离散余弦变换系数的预测数,来预测出当前宏块的非零离散余弦变换系数的个数,即: Niprev_mb表示在当前宏块之前编码宏块的非零离散余弦变换系数的个数; nZiprev_mb表示在当前宏块之前编码宏块的零离散余弦变换系数的个数,nZpred_mb为当前宏块的零离散余弦变换系数的预测数;Npred_mb=Nmb-nZpred_mb (10)在上式中,Nmb表示当前宏块的离散余弦变换系数的总数,Pred代表预测方法,N代表这种预测方法所需要的以前编码宏块的个数;步骤4.4、如果当前编码宏块的前一个宏块的量化系数为Qprev_mb,则当前编码宏块的量化系数为: 在上式中Max为两者取最大值算子,W为权重系数,其值由用户根据情况定义;将Qcur_mb限制在[Qcur_ave-step,Qcur_ave+step]范围内,其中step是量化系数的跳跃系数,由用户根据需要定义;步骤4.5、宏块编码;步骤4.6、当前宏块编码完成后,更新已经编码宏块所使用的比特Bcur_frame_used,和已经编码宏块的非零离散余弦变换系数的个数Ncur_frame_used,如果当前图像所有宏块编码完成,则到步骤5,否则到步骤4.1;步骤5、当前图像帧编码已完成,更新Bcur_gop_used,Bprev_frame,Nprev_frame,Qprev_ave,判断当前图像组GOP中所有的帧图像的帧编码是否完成,是,则到步骤6,否则到步骤2;步骤6、将当前缓存中剩余的比特数赋值给当前图像组GOP的参数Bfullness,如果所有图像组的编码均完成,则结束,否则到步骤1。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海广电(集团)有限公司中央研究院,未经上海广电(集团)有限公司中央研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200510110106.8/,转载请声明来源钻瓜专利网。