基于场景切换的H.264码率控制技术

2008-03-18 15:04:34来源: 清华大学 关键字:场景切换  视频序列  编码  P帧  帧内  QCIF  算法复杂度  帧间预测  量化参数

  摘 要:在H.264/AVC编码器中,由于采用了固定长度的图像组(GOP)结构,不能有效地处理视频序列中的场景切换,导致场景切换帧后续各帧编码质量严重下降。为了有效解决该问题。提出一种自适应的码率控制算法,通过场景切换的快速检测方法检测视频序列中的场景切换,在场景切换帧处终止当前COP并对GOP层的码率分配算法做出修正。仿真结果表明:采用该算法可以有效地降低场景切换对后续帖编码质量的影响,而且合理地分配码率资源,提高了整个视频序列的编码质量。在相同码率条件下,整体编码质量可以提高0.3~O.5 dB。

  关键词:视频编码;自适应码率控制;场景切换检测

  码率控制技术在带宽受限的多媒体通信系统中具有重要的作用。传统的视频通信码率控制算法,如H.264/AVC编码器中采用的码率控制算法,在将码率资源分配到图像组(GOP)中各帧图像时,仅仅考虑了各帧图像自身的复杂度,而忽视了同GOP中各帧图像之间的相关性,如对含有频繁场景切换的视频序列进行编码时,GOP中某帧图像可能因出现场景切换而与其参考帧之间毫无相关性,如果仍然采用传统的码率控制方法,将导致图像编码资源浪费和编码质量的下降。

  本文提出一种自适应改变GOP长度的码率控制算法,可以有效地节省码率资源,并且能够有效地提高场景切换帧后续各帧的编码质量和序列整体的编码质量。

  1 码率控制技术与视频场景切换

  由于视频序列中I、P及B帧编码后产生的比特数不一样,为了使输出码流速率与信道速率相匹配,提高信道利用率,一般在编码器和信道之间加一个缓冲区,而缓冲区容量大小与通信时延的要求构成了一对新的矛盾,码率控制的目的就是为了解决这一矛盾。对于编码器来说,一个鲁棒的码率控制算法应该在充分利用带宽资源和保证缓冲区不溢出的前提下,将有限的码率资源进行合理分配,获得尽可能好的编码质量。

  当视频序列中出现场景切换时,其编码质量将受到影响,影响程度取决于场景切换帧在其所处GOP中的位置。当场景切换发生在I帧时,由于I帧采用帧内编码模式,场景切换对于I帧本身不会产生任何影响,同时也不会对后续帧的预测编码产生影响;由于B帧为双向预测,只要其前后2个参考帧有1帧与其处于同一场景中(假设序列中没有连续2帧同时发生场景切换),其预测编码的精度仍然能够得到保证,编码质量不会受到很大影响。不同于I帧和B帧,当场景切换发生在P帧,对当前GOP编码质量的影响相当大:首先,由于当前P帧与其参考帧处于不同的场景中,帧间预测编码将完全失效,宏块必须通过RDO(rate-distortion optimiza-tion)模式选择后才采取帧内编码,优化过程极大浪费了编码时间;其次,由于绝大多数宏块采用帧内编码模式,占用了大量的码率资源,使得后续各帧由于码率资源缺乏而编码质量下降,此影响还会延续至后续的GOP。

  图1给出了一个有5处场景切换的测试序列(详见2.3节)在80 kb/s码率条件下各帧编码比特曲线和Y分量PSNR(峰值信噪比)曲线。同时,表1也给出了场景切换帧前10帧和后10帧Y分量平均PSNR值数据及其变化值。由图中(虚线表示场景切换帧位置)可以看出,在场景切换时,当前帧将占用较多编码比特资源,从而导致后续帧由于码率资源缺乏而PSNR值下降,详细数据可见表1。

  

  

  现实中的视频序列,不可避免存在场景切换。如果编码器不考虑场景切换的影响,就会浪费有限的码率资源,从而导致编码质量下降。目前,针对场景切换提出了很多码率控制算法,其中常用的方法是通过改变GOP的结构和长度来重新分配码率资源。如在文的算法中,当检测到场景切换时,当前GOP剩余帧和下一个GOP的所有帧合并为一个GOP,因此,GOP长度要比默认长度N大,最糟的情况下为2N-1。由于GOP过长容易导致缓冲区的溢出,并且导致GOP中后面部分帧的编码性能下降。在文提出的算法中,采取将过长的GOP拆分成2个新的GOP来解决这个问题,但这样做的后果是导致增加一个I帧,造成码率资源的浪费。本文算法与文相比,不额外增加I帧的数量,可以有效地节省码率资源,同时有效地提高场景切换帧后续各帧的编码质量和序列整体的编码质量。

  2 针对场景切换的自适应码率控制算法

  2.1 自适应码率控制算法

  在该算法中,当前GOP的长度将随着场景切换帧的出现自适应地改变,并且同时对码率资源进行重新分配。假设默认的GOP长度为N,分配给每个GOP的码率资源为

  其中:B表示带宽;F表示帧速率;Rprev表示前一个GOP编码剩余比特或超支比特。对于第1个GOP来说,Rprev=0。每编码一帧图像,R更新如下:

  其中Sipb为刚编码帧(可能为I帧、P帧或B帧)所用的比特数。当GOP所有帧编码完毕后,Rprev=R。

  假设当前GOP在编码M(M

  照式(1)计算并不合适,应由下式决定:

  由于GOP提前终止,其未编码的N-M帧应分配的编码比特数为

  这部分比特应该从当前GOP按照式(1)计算的预分配码率中减去,则当前GOP提前终止时,Rprev应该修正如下:

  当前GOP提前终止后对Rprev做出修正,根据式(1)则可计算出下一个GOP的预分配码率,并开始下一个GOP的编码。

  本算法的前提是必须能检测出场景切换,因此,快速有效地检测检测出场景切换是十分必要的。

  2.2 视频场景切换快速检测算法

  视频场景切换包含如下几种类型:突变场景切换、消融和淡入淡出等。目前,已有的场景切换检测算法分为3类:基于灰度值检测、基于运动搜索检测和基于边缘轮廓检测。虽然后2种检测算法具有比较好的性能,但是算法的高复杂度极大地限制了它们的应用,尤其是在对于实时性要求比较高的视频通信码率控制算法中。

  通过对视频序列的统计分析发现,当有场景切换时,当前帧与其参考帧在灰度和色彩信息上有很大的区别,而没有场景切换的时候,整个序列的灰度和色彩基本处于平稳或者缓变的状态。选择mobile和grandma 2个YUV视频序列(无场景切换),其各分量(Y为亮度分量,U、V为色度分量)的均值变化缓慢,如图2所示。同时,对于有频繁场景切换的视频序列(以CNN新闻摘要片断和一个构造序列为例),可知在场景切换处,3个分量的均值全部或部分出现突变,如图3所示。

  

  

  图中mean(x)为枧频序列X分量的均值,X代表视频序列的Y、U、V 3个分量。

  通过以上分析可知,当图像序列的各分量的均值发生突变时,一般来说是有场景切换发生。据此,采用当前帧和参考帧3个分量均值的绝对差值作为判断当前帧图像是否有场景切换的差异函数为

  

  

  其中:mean()为均值函数;Scur和Sref分别表示当前帧图像和其参考帧图像;X代表其3个分量。

  根据差异函数,判断是否有场景切换可以依据式(7)和(8):

  

  

  当式(7)和式(8)同时满足时,可以判定当前帧有场景切换发生。式中:mean(Y)、mean(U)和mean(V)分别为当前GOP内当前帧之前所有帧各分量均值的平均值;tTHl和tTH2为判决门限系数,分别描述当前帧和参考帧之间亮度和色度均值的相对差异和绝对差异。

  显然,上述算法只需要计算各帧图像3个分量的均值,算法复杂度非常低,很适合于码率控制等实时性要求高的应用中。通过对超过2105帧的视频序列进行仿真,超过90%的场景切换能够被检测出来,并且误检率几乎为0。

  2.3 仿真结果

  为了验证提出的码率控制算法,本文采用图3中两个序列进行验证。一个是CNN新闻摘要中一段序列(QCIF,277帧共9处场景切换),另一个为将23帧grandma、38帧foreman、27帧news、41帧sales、33帧silent和29帧table合成为一个测试序列(QCIF,191帧共有5处场景切换)。采用本文提出的快速场景切换检测算法,2个序列共14处场景切换可以全部被检测出,其中2个参数tTH1和tTH2分别设为0.1和10。采用JM8.6平台,测试序列编码采取IPPP结构,默认GOP长度为10。

  通过对本文提出的算法和JM8.6算法进行仿真比较可知,采用本文的算法,可以有效降低场景切换对后续帧编码质量的影响,且更合理地分配码率资源,使编码后的视频图像质量更平稳,同时也可以从整体上提升了视频序列的编码质量。表1列出了

  采用本文算法与JM8.6算法时,测试序列各场景切换点前后10帧Y分量PSNR均值变化情况,从中可以看出采用本文算法可以有效提高场景切换点后续帧的编码质量;图4给出了2种算法下测试序列3个分量PSNR值变化曲线,从图中可以看出,采用本文的算法,重建视频质量更加平稳,同时也提高了整个序列的平均编码质量,仿真结果表明当给定码率为80 kb/s,量化参数

[1] [2]

关键字:场景切换  视频序列  编码  P帧  帧内  QCIF  算法复杂度  帧间预测  量化参数

编辑:ssb 引用地址:http://www.eeworld.com.cn/afdz/2008/0318/article_525.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:中国监控市场将迎来增长高潮
下一篇:H.264中基于编码模式的自适应重叠块运动补偿

论坛活动 E手掌握
关注eeworld公众号
快捷获取更多信息
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
场景切换
视频序列
编码
P帧
帧内
QCIF
算法复杂度
帧间预测
量化参数

小广播

独家专题更多

迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved