场景切换码率控制方法

文档序号:7919015阅读:121来源:国知局

专利名称::场景切换码率控制方法
技术领域
:本发明涉及编码技术,特别涉及场景切换码率控制方法。
背景技术
:为了节约传输带宽和存储空间,支持数字电视广播、远程监控、数字视频点播、无线多媒体通信等应用,视频编码己经成为国内外研究和工业应用的热点之一。至今国际上已制定了一系列的视频编码标准,如MPEG-1/2/4,H.261/H.263,H.264/AVC,以及国内目前正在制定完善中的AVS视频编码标准。其中,H.264/AVC和AVS与以前的标准相比,虽然编码框架类似,但其压縮效率比以往的任何标准都提高了至少一倍以上,适合在更多的场景应用。图l为视频编码的编码框架。目前的视频编码标准采用的主要编解码技术包括整数变换、码率控制,量化、帧内预测、帧间预测、变长编码和去块效应滤波。其中,码率控制的目的是为了保证在产生指定码率码流的条件下,能够达到最优的图像质量,并保证编解码缓冲区不会发生溢出。码率控制模块的主要输出为量化参数(QP),编码过程中,根据此QP值,査找(或者计算)得到量化步长(QPSt印),用于图像量化。码率控制的主要步骤包括首先,确定初始QP,这个可以是用户输入,也可以是码率控制算法计算得到。但是,对于大多数应用,需要码率控制算法自动计算。第二步为位分配,即根据目标码率以及缓冲区状态,为每一帧图像分配一定的比特数;最后,计算并调整量化参数,使得编码该帧图像所用的比特数接近分配给该帧的比特数,从而达到目标码率。图2为码率控制模块的框图。码率控制是视频编码中必不可少的技术,任何标准离开码率控制,其应用都会受到限制,比如在恒定带宽约束条件下的传输系统中,如果没有合适的码率控制方法,信道将无法稳定的传输压縮视频流。为此,每种视频编码标准都推荐了一种适合其自身的码率控制方案。现在的码率控制算法中,使用RQ预测模型和线性MAD预测模型,计算量化步长。需要根据相邻帧的相似性,估计得到图像的复杂度PMAD,进而根据分配的比特数计算得到用于编码的量化步长。现有的码率控制方法是基于相邻图像帧内容相似的假定,没有考虑场景切换情况。当场景切换时,由于相邻帧不再存在相似性,因此用于码率控制的RQ预测模型和MAD预测模型失效,其计算得到的量化参数将不适合于场景切换帧。另外,由于相邻帧不再存在相似性,编码P帧和B帧时,运动估计将失效,导致许多宏块采用帧内模式编码,码流长度和图像质量波动较大。图3给出了AVS参考软件码率控制方法下512Kbps混合CIF码流的编码结果,可以看到,在发生场景切换时,由于不合适的量化参数,导致图像质量大幅下降。图4给出了AVS参考软件码率控制方法下512Kbps混合CIF码流的编码长度,可以看到在场景切换处,编码长度波动非常大。目前,场景切换码率控制方法可以分为2类。第1类为2遍编码方式,在第一遍编码过程中发现场景切换帧,并记录编码信息,用于第二遍编码。这类方法计算量大,而且不适合实时应用。第2类方法为1遍编码方式。首先检测是否发生场景切换,如果判断出现场景切换则进行不同的码率控制。一种方法把场景切换帧类型设定为I帧,也就是重新开始一个GOP编码,这种方法改变了GOP的结构,一定程度上增加了编码器的复杂度。其他方法,不改变G0P结构,但是为场景切换帧重新分配码率,然后根据分配的码率来计算得到QP。在场景检测的方法上,2个相邻帧像素差值,图像像素平均值,以及运动估计残差是常用的场景检测参数。
发明内容本发明的目的是提供一种场景切换时的码率控制方法。为实现上述目的,一种场景切换码率控制方法,包括步骤-a)判断当前编码图像是否发生场景切换;b)如果发生场景切换,则计算适合该场景切换帧的量化参数,并使用所述量化参数进行编码。本发明的方法能够方便的集成在现有的各种视频编码标准中。与已有的各种方法不同,本发明不改变编码的GOP结构,也不重新分配码率,而是直接计算用于场景切换帧的量化参数。图l是编码器功能框图2是码率控制框图3是场景切换前后图像质量;图4是编码长度;图5是发明流程图6是场景检测流程;图7是场景切换帧量化参数计算;图8是RD性能;图io是码流长度比较。具体实施例方式本发明流程图,如图5所示首先,执行501步骤,计算图像特征,并判断是否发生场景切换。501步骤的具体执行过程如图6所示601步骤中,计算当前编码图像水平方向的梯度变化值-CA=J-^-^和,M4G/^为上一编码帧的水平方向梯度绝对值和,M4G4和M4C^计算方法相同,为M4G/2=|;|;|/y-/,v+1|,/,为像素值,W和H为图像的宽和高。602步骤中,计算当前编码图像垂直方向的梯度变化值-,其中M4G/^为当前编码帧的水平方向梯度绝对值J腸广腿,l,其中旭G^为当前编码帧的垂直方向梯度绝对值和,M4Gv。为上一编码帧的垂直方向梯度绝对值和,计算方法为旭G"ESlK+J,^为像素值,W和H为图像的宽和高。603步骤中,计算梯度变化c=并判断其与设定的阈值(^,和&2的关系,如果C〉CV,,则当前帧发生了场景切换;如果C〈C^,则当前帧没有发生场景切换;如果梯度变化在2个设定阈值之间,则执行步骤604,做进一步判断。这里,Cn和C^均大于0,G,典型取值范围在0到10之间,也可取此范围以外的数值。Q取值范围在0到1之间,C^取值需小于C^。步骤604中,计算当前编码图像位平面均值变化,其中Mf为当前编码帧的位平面均值,M。为上一编码帧的位平面均值,计算方法为加D一//m=I;u为像素点的第k个位平面值,w和H为图像的宽和高。这里,根据不同的应用,选择不同的位平面,例如可以选择第7,第6,第5个位平面;也可以选择第5,第4,第2个位平面。步骤605中,判断位平面均值变化和设定的阈值&3的关系,如果CA>Cf3,则当前帧发生了场景切换;否则,则认为当前帧没有发生场景切换。这里,C^为大于0的任意数。如果在501步骤中,判断发生了场景切换,则执行步骤502,为场景切换帧计算量化参数。502步骤的具体执行过程如图7所示701步骤中,首先计算场景切换帧图像特征M4G^^^^,W,,为图像中像素数目。702步骤中,根据得到的图像特征,计算用于场景切换帧的量化步长="x腐",这里,a,ay分别为参数l,参数2和参数3,此3水参数取值范围没有限制,可以取任意值;^/根据目标码率和帧率大/|、计算得到,表示了目标码率下每帧的比特数=&>她为编码目标比特率,/为帧率;^^印为计算得到量化步长。703步骤中,根据视频编码标准,将上面计算得到的量化步长映射为量化参数。不同的视频编码标准规定了量化步长和量化参数的关系e尸=0尸&印22尸(2尸S,印),这里eP&卬2g尸是视频编码标准中完成量化步长到量化参数OP映射的函数。704步骤中,对计算得到的量化参数进行调整,如果当前GOP剩余bit数,小于按照目标码率编码剩余图像需要的bit数,则将量化参数加l;否则,量化参数不变。705步骤中,将计算得到的量化参数赋给当前GOP的量化参数,以及GOP中量化参数和,同时置GOP中已编码P帧计数器为O。下面以AVS标准为例,具体说明本发明的具体实施。其他具体实施方式,虽未包含在本实施例中,但仍在本发明的权利覆盖范围内。首先,计算当前编码图像水平方向的梯度变化值C,1^^^1;第二步,计算当前编码图像垂直方向的梯度变化值|M4Gvc-M4GvpCv-M4Gvc,第三步,计算梯度变化C-C^G,并判断其与设定的阈值(^和C^的关系,如果C〉C^,则当前帧发生了场景切换,执行第六步;如果C〈Cn,则当前帧没有发生场景切换,按照原有码率控制算法编码当前图像;如果梯度变化在2个设定阈值之间,则执行第四步,做进一步判断。在本实施例中,Q和(^分别取值0.8和0.2;第四步,计算当前编码图像位平面均值变化G-1^^1。本实施例中取第4,第5,第6个位平面。第五步,判断位平面均值变化和设定的阈值Cn的关系,如果c;〉Cn,则当前帧发生了场景切换,继续执行第六步;否则,则认为当前帧没有发生场景切换,按照原有码率控制算法编码当前图像。本实施例中,C^取值O.1;第六歩,首先计算场景切换帧图像特征脇&=+,然后计算用于场景切换帧的量化步长2尸^印=本实施例中,取参数l,参数2和参数3分别为"=55000,々=20000,"=訓;第七步,根据编码标准,将上面计算得到的量化步长映射为量化参数。在AVS中,量化步长和量化参数为指数关系^^/"f(11.5xln(2PSf^));在H.264中,量化步长和量化参数的关系为2P=M12+6xlog,(^^));最后,判断当前GOP剩余bit数,是否小于按照目标码率编码剩余图像需要的bit数。如果小于,则将第七步计算得到的量化参数加一;否则,保持量化参数不变。并将计算得到的量化参数赋给当前GOP的量化参数,以及GOP中量化参数和,同时置GOP中已编码P帧计数器为0。本发明的方法和AVS参考软件实现的码率控制方法进行了对比,利用9个CIF大小30Hz禾示y隹序歹廿Foreman,paris,bus,football,news,mobile,tempete,mother—daughter和deadline混合而成一个包含17次场景切换的360帧序列。在这9个序列中,football包含剧烈运动;mobile和bus中物体存在平移和旋转,背景也存在相对运动;paris和deadline为复杂背景,局部运动序列;mother—daughter为简单背景,简单运动序列;news存在背景运动;foreman存在镜头晃动;tempete存在不规则快速运动。这些序列为AVS工作组推荐的测试序列,我们随机的排列这9个序列,拼接出360帧混合序列。利用AVS参考软件和本专利方法,分别在384Kbps,512Kbps,10000Kbps和1500Kbps目标码率下进行压缩,获得如下结果<table>tableseeoriginaldocumentpage11</column></row><table><table>tableseeoriginaldocumentpage12</column></row><table>RD曲线如图8所示,可以看到本专利的方法平均提高PSNR在l个dB左右。在主观质量上,本发明很好的解决了场景切换时图像质量大幅下降的问题,同样以512Kbps混合压缩码流为例,图9左边为AVS参考软件的压缩效果,右边为本发明的压縮效果。在码流长度上,本发明避免了场景切换时的码流长度突变,图IO给出了512Kbps目标码率下AVS参考软件和本发明的压縮码流长度比较。权利要求1.一种场景切换码率控制方法,包括步骤a)判断当前编码图像是否发生场景切换;b)如果发生场景切换,则计算适合该场景切换帧的量化参数,并使用所述量化参数进行编码。2.根据权利要求l所述的方法,其特征在于所述步骤a)包括计算当前编码帧和前一个编码帧水平方向梯度变化;计算当前编码帧和前一个编码帧垂直方向梯度变化;如果水平方向和垂直方向梯度变化之和大于阈值CT,,则发生场景切换。3.根据权利要求2所述的方法,其特征在于还包括如果水平方向和垂直方向梯度变化之和小于阈值Cn大于阈值CT2,则计算当前编码帧和前一个编码帧位平面均值变化;如果位平面均值变化大于阈值CT3,则发生场景切换。4.根据权利要求2所述的方法,其特征在于按下式计算当前编码图像水平方向的梯度变化值<formula>formulaseeoriginaldocumentpage2</formula>,其中M4C^为当前编码帧的水平方向梯度绝对M4G\值和,M4G、为上一编码帧的水平方向梯度绝对值和。5.根据权利要求2所述的方法,其特征在于按下式计算当前编码图像垂直方向的梯度变化值<formula>formulaseeoriginaldocumentpage2</formula>,其中M4(^为当前编码帧的垂直方向梯度绝对值和,M4GVp为上一编码帧的垂直方向梯度绝对值和。6.根据权利要求3所述的方法,其特征在于按下式计算当前编码图像位平面均值变化值<formula>formulaseeoriginaldocumentpage3</formula>其中M,为当前编码帧的位平面均值,Mp为上一编码帧的位平面均值。7.根据权利要求2所述的方法,其特征在于所述阈值CT2取值在0-1之间。8.根据权利要求3所述的方法,其特征在于所述阈值CT2小于CT,。9.根据权利要求3所述的方法,其特征在于所述阈值CT3大于零。10.根据权利要求3所述的方法,其特征在于所述阈值Cn为0.8。11.根据权利要求8所述的方法,其特征在于所述阈值CT2为0.2。12.根据权利要求9所述的方法,其特征在于所述阈值CT3为0.1。13.根据权利要求l所述的方法,其特征在于所述步骤b)包括计算当前编码帧图像特征;计算当前编码帧的量化步长;计算当前编码帧的量化参数;根据剩余bit数调整量化参数;更新GOP量化参数。14.根据权利要求13所述的方法,其特征在于按下式计算当前编码帧图像特征<formula>formulaseeoriginaldocumentpage3</formula>v为图像中像素数目。15.根据权利要求13所述的方法,其特征在于按下式计算当前编码帧的量化步长<formula>formulaseeoriginaldocumentpage3</formula>这里,",/,y分别为参数l,参数2和参数3;6/7/根据目标码率和帧率大小计算得到,表示了目标码率下每帧的比特数<formula>formulaseeoriginaldocumentpage3</formula>她为编码目标比特率,/为帧率;2A哗为16.根据权利要求15所述的方法,其特征在于所述参数a=55000,"=20000,;k=1000。全文摘要一种场景切换码率控制方法,包括步骤判断当前编码图像是否发生场景切换;如果发生场景切换,则计算适合该场景切换帧的量化参数,并使用所述量化参数进行编码。本发明的方法能够方便的集成在现有的各种视频编码标准中。与已有的各种方法不同,本发明不改变编码的GOP结构,也不重新分配码率,而是直接计算用于场景切换帧的量化参数。文档编号H04N7/50GK101677398SQ20081014905公开日2010年3月24日申请日期2008年9月19日优先权日2008年9月19日发明者李昌贤,熊君君,王锡贵,勐郭,高艳君申请人:三星电子株式会社;北京三星通信技术研究有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1