一种低码率下的新型宏块级码率控制算法_第1页
一种低码率下的新型宏块级码率控制算法_第2页
一种低码率下的新型宏块级码率控制算法_第3页
一种低码率下的新型宏块级码率控制算法_第4页
一种低码率下的新型宏块级码率控制算法_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一种低码率下的新型宏块级码率控制算法*周全 刘文予崔春晖(华中科技大学电子与信息工程系武汉430074)(Email: HYPERLINK mailto:quan_ quan )摘要:针对H. 264编码方案提出了一种实时的无需二次编码的低码率宏块级码率 控制策略。为克服H.264码率控制模型的缺陷,首先提出了平均象素信息比特 (APIB)的概念及其码率控制模型;然后在宏块层根据各个宏块不同的编码复杂度 进行准确的码字分配;接着通过APIB的变化自适应更新码率控制模型的系数; 最后提出完整的基于宏块的码率控制算法,并将其在JVT的JM85平台上实现。试 验结果表明,与JVT提案中的码率控制算法

2、JVT-G012相比,本算法在控制精度上 平均提高0.171kbps,平均PSNR值提高0.227dB,同时较好地的控制了输出码率和 PSNR的波动。关键字:码率控制,H.264视频编码标准,平均象素信息比特 中图分类号:TN911.81文献标识码:A4A Novel Macro-block Layer Rate ControlAlgorithm in low bit-rateZhou Quan, Liu Wenyu, Cui Chunhui(Electronics & Information Engineering Department, Huazhong University of Sci

3、. & Tech.Wuhan, Hubei, 430074)(E-mail: HYPERLINK mailto:quan_ quan_)ABSTRACT: A real-time single-pass bit rate control algorithm in low bit-rate of macro-block layer for H.264 is presented. In order to solve the drawback of rate control model in H.264, a new concept of average pixel information bit

4、(APIB) and the rate control model based on it are represented at first; then the more precise bit allocation scheme is implemented according to the coding complexity of each macro-block, and the parameters of rate control model are updated through the change of APIB adaptively; finally, the complete

5、 rate control algorithm is proposed. This algorithm is implemented in JM85 (H.264/AVC), the test results show that, compared to JVT-G012 in JVT, the proposed method gains 0.171kbps in control precision and 0.227 in PSNR averagely, and controls the bit and PSNR fluctuation precisely at the same time.

6、Key words: bit rate control, H.264 video coding standard, average pixel information bit1、刖曰为了在给定码率下高效地传输编码数据,并保证良好和稳定的接收端质量, 码率控制成为视频编码的重要内容之一,现有的视频压缩标准都对其进行了广泛 的研究。H.264编码标准将量化参数同时用于码率控制和率失真优化,这导致了 “蛋鸡”悖论:为了进行宏块的编码,必须先给出该宏块的量化等级,而量化等徽育部博士点基金资助课题(No: 20040487009)。作者简介:周全,硕士研究生,主要研究方向为多媒体 通信及信息处理、视频编

7、码技术;刘文予,教授、博士生导师,主要研究方向为计算机视觉、计算机图形 学、多媒体信息处理、信息安全;崔春晖,硕士研究生,主要研究方向为多媒体通信及信息处理、视频编 码技术。级要根据编码之后的帧内预测或帧间运动估计残差(MAD)来决定。因此,以往 各种经典的码率控制方法在H.264中并不适用1-3。由于MAD不能在量化前得到,Li Zhengguo提出了JVT-G012码率控制算法, 通过对当前宏块的MAD进行线性预测来解决这个问题,然后使用MPEG-4中的二次码率预测模型(R-D预测模型)来计算量化等级囹。但是,该算法并没有突破“蛋 鸡”悖论的瓶颈,而且预测出的MAD并不能完全准确的反映当前

8、宏块的编码复杂 度,以此得到的量化等级也不一定准确,这可能导致实际编码码字与目标码字不 匹配。为了得到更好的目标码率和量化步长的关系式,Lei Shawmin等人从DCT变换的角度来考虑码率控制。He Zhihai等人做了进一步的研究,通过DCT变换 量化后零值在变换系数中的比例来确定量化参数6-7。由此可知,DCT系数的变 化情况与量化参数存在一定的关系。因此,本文在DCT系数的基础上提出平均象 素信息比特(APIB,Average Pixel Information Bit)的概念,在MPEG-4中的R-D 预测模型中用APIB代替MAD,从根本上摆脱了 “蛋鸡”悖论的束缚。APIB既能

9、在量化前得到,又能比较准确地反映出当前宏块的编码复杂度,以此确定的量化 等级更加准确。整篇文章组织如下:第二部分介绍APIB的概念及其R-D预测模型;第三部分 介绍基于该模型的宏块级码率控制算法;第四部分通过试验数据比较了该算法和 JVT-G012在JM85平台下的性能;第五部分总结全文。2、平均象素信息比特及其码率预测模型2.1平均象素信息比特(APIB)为了克服JVT-G012算法中“蛋鸡”悖论的缺陷,本节首先提出APIB的概念。 由于DCT系数是原始图像与参考图像经过运动补偿后的残差信息通过DCT变换 得到的。因此,DCT系数的大小就直接反映出图像的运动剧烈情况和内容的复杂 程度。较大的

10、DCT系数说明原始图像与参考图像间存在较大的残差冗余信息,这 一般意味着图像运动剧烈或者内容变化较大;反之,较小的DCT系数则说明原始 图像与参考图像间只有较小的残差冗余信息,这意味着图像运动平缓或者在内容 上基本没有变化。对于宏块的每个象素而言,APIB的不仅与DCT系数有关,而 且还会受量化步长的影响。如果编码器选择的量化步长较大,则较多的DCT系数 被量化为零,这导致图像的一些运动信息和内容信息被量化掉,降低了宏块的编 码复杂度;反之,如果编码器选择较小的量化步长,则较多的DCT系数被保留, 这种细量化保留了较多的图像运动信息和内容信息,提高了宏块的编码复杂度。从上面的分析看出,宏块的A

11、PIB应该与DCT系数的绝对值大小成正比,而与 编码器的量化步长成反比。由此,定义一个宏块的APIB如(1)式:MB Info Bit = float(log2(| 匕 / 义 | *)(1)i=0式中,七表示宏块内第i个象素的DCT系数,X表示编码器的最小量化步长,N 表示宏块内所有象素的个数。由于H.264标准中定义的最小量化步长为0.625,所以(1)式可以改写为:LN-1 log (I Y /0.625I +1)、MB _ Info _ Bit =(2)float(罗)Y 0.6250,=0Y news、tempete、football四种序列在QP=28,30fps下全I帧的APIB

12、 函数曲线;(b)帝格式,四种序列在QP=28, 30fps下全I帧的APIB函数曲线。2.2基于平均象素信息比特的码率预测模型为了更好的使编码码率匹配目标码率,就要使用更加准确的R-D预测模型。 因此,本文沿用了VT-G012算法中的二次R-D预测模型结构,而把该模型中的 MAD用APIB来替代。新的R-D预测模型定义如下:R -H =(三 + )xMB Info Bit(3)i i QP QP;_ i式中,R .表示编码第i个宏块的目标码率,H.表示宏块头、运动矢量和语法元 素占用的比特开销,MB_Info_Bit.表示当前宏块的APIB,QP.表示当前宏块的量 化步长,而a、8为模型参数

13、,它们在编码完一个宏块后被更新。JVT-G012算法 之所以使用MAD,是为了使R-D预测模型能够自适应图像内容的变化。通过上面 的分析看出,由于APIB也能很好的表达图像的编码复杂度,因此用APIB代替 MAD是完全可行的。3、基于宏块的码率控制算法为了在准确控制码率的前提下提高图像质量,本文利用上节提出的二次R-D 预测模型,提出一种基于宏块的码率控制算法。此算法包括以下两点:一、根据 DCT系数的变化情况,通过(2)式计算当前宏块的APIB,对每个宏块的目标 码字进行更加合理的分配,以减少因码字分配不合理造成图像质量的下降;二、 由于使用APIB代替MAD,因此本算法可根据APIB的变化

14、自适应地更新R-D 预测模型的系数,从而达到码率控制的目的。3.1宏块级码字分配在给宏块进行码字分配之前首先要对包含该宏块的帧进行码字分配。假设 GOP结构为IPPP,GOP内第一个I帧量化等级给定,第一个P帧量化等级与之 相同,后续P帧的目标码字如(4)式定义:U 八 、R _ Fram e 节 x (1 -p) + T xp(4)式中,U.表示编码当前帧时GOP内剩下的可分配码字,N表示GOP内未编码的 P帧个数,T.表示编码上一 P帧使用的实际比特数,p为权重常数。从(4)式 可以看出,为了使实际编码码字更好的匹配目标码字,GOP内的可分配码字平 均分配到各帧中。此外,对目标码字的估计还

15、考虑到图像间的时间相关性,即考 虑到上一帧编码实际码字对本帧目标码字的影响。每帧第一个宏块的量化等级由前一帧的各个宏块的平均量化等级确定。对于 后续宏块而言,先根据(2)式计算当前编码宏块的APIB。由于图像内部不同部 分的运动信息和内容信息各不相同,相同量化等级下编码产生的码字会有较大差 异,因此对于包含较多运动信息和内容信息的宏块应该分配更多的码字,而对于 较少运动信息和内容信息的宏块则应分配较少的码字。因此,每个宏块目标码字 应该与APIB的平方成比例,所以当前宏块的目标码字如(5)式定义:V = M - /晌-叫 x R Frame1 义 MB _ Info _ Bit 2ii式中,R

16、_Frame代表(4)式中分配给当前帧的目标码字,MB_Info_Bit.代表第i 个宏块的实际APIB,N代表一帧图像内所以宏块的个数。与JVT-G012算法不 同之处在于:JVT-G012算法在确定目标码字之前要对当前宏块的MAD做线性 预测,而本算法直接使用当前宏块的实际APIB,不需要对其进行预测。因此, 用APIB确定的目标码字比用MAD确定的目标码字更加准确。3.2码率预测模型系数更新二次R-D预测模型的系数是根据确定个数的已编码宏块的编码结果来时时 更新的。它具体包含三个步骤:(1)选择滑动窗口大小。设置滑动窗口的目的,是为了自适应地平滑图像 中不同部分内容复杂度的不同。滑动窗口

17、的大小如(6)式定义:(int(APIB x MAX WINDOW SIZE:APIB ), APIB APIBN = APIBi1iii1式中,MAX_WINDOW_SIZE为常数,一般设为20。从(6)式中看出,如果图 像编码复杂度较小,运动平缓,则前后宏块的APIB相差不大,滑动窗口较大, 这说明较多的宏块数据被用来估计当前宏块的模型参数;反之,如果前后宏块的 APIB相差较大,则滑动窗口相对缩小,这说明只有与当前宏块较近的宏块数据 被采用。(2)数据选择。确定了滑动窗口大小以后,并不是窗口内所有数据都被用 来更新R-D预测模型系数。根据最小均方估计的理论,定义滑动窗口内所有宏 块的实际

18、编码码字与目标码字的标准偏差为(7)式,而(8)式定义了窗口内每 个宏块实际编码码字与目标码字的实际偏差。如果实际偏差超过标准偏差,就认 为这个宏块的编码数据不可取,其数据不能被用来对R-D预测模型参数做最小 均方估计。std (i)=(7)(8)玄(a x APIB Q + a x (APIB)2 .Q2 R )2,N 1 i 2i i i i=0error(i) = a x APIB Q + a x (APIB )2 Q2 R1i i 2i i i式中,Q.代表量化步长,R.代表实际的编码码字。为了避免窗口内所有的数据都 被滤除,当前编码宏块的前一个宏块的数据始终被保留。(3)更新模型系数

19、。本文沿用了JVT-G012算法中的线性衰减技术,两个模型参数的更新定义如下:(9)W xYr/APIB - (Yq-1) x (Yr. x Qi APIB ) b = i=i=i=WxYQ-2(Yq-1)2i=1i=1YW Q x R APIB - b x Q1a = -i=W式中,W代表经过数据选择后滑动窗口的大小。4、实验结果及分析在JVT的校验模型JM85上实现了本文提出的码率控制算法,并与JVT-G012 算法进行了对比。本试验采用的序列有:Foreman, News,Football, Tempete; cif格式序列测试帧率为15帧/秒,qcif格式序列测试帧率为5帧/秒;GOP

20、结构 为IPPP;初始QP设为24;搜索范围为32;参考帧为5帧;熵编码方式为CABAC; 执行RD优化。表2对比了本文算法和JVT-G012算法的控制精度和PSNR值。表2 两种算法控制精度和PSNR值比较测试序列测试码率(kbps)控制精度(kbps)码率偏移(kbps)PSNR(dB)JVT-G012本文算法JVT-G012本文算法JVT-G012本文算法Foreman2424.0524.020.050.0232.5032.60(qcif)4848.0347.940.03-0.0635.9136.016463.9963.95-0.01-0.0537.4137.478080.0379.91

21、0.03-0.0938.6638.71News(cif)9696.16635.8236.21128128.24037.4237.96192192.26192.100.260.1039.3639.94256256.25256.060.250.0640.9141.32Football(qcif)2436.0336.0312.0312.0325.1025.104848.8848.000.880.0028.2028.376464.0263.760.02-0.2430.8130.928080.1479.710.14-0.2932.4332.45Tempe

22、te(cif)9696.4696.450.460.4524.7024.67128128.64128.60.640.6026.9226.93192192.91192.790.910.7929.3629.44256257.09256.861.090.8630.7830.82图2 (a)和2 (b)分别是news的cif序列和football的qcif序列在分别在15帧/ 秒和5帧/秒下的R-D曲线;2 (c)和2 (d)分别是两序列在128kbps和48kbps下的 PSNR波动图;而2(e)和2 分别是两序列在128kbps和48kbps下的码率波动 图。从表1看出,本文算法的平均码率偏移比JV

23、T-G012算法减少0.171kbps, 平均控制精度优于JVT-G012算法,这说明本文提出的APIB及其R-D预测模型 能够比较准确的估计图像编码复杂度。从表1和图2看出,图像的PSNR平均提 高0.227dB,尤其是news序列,平均提高0.533dB。但是,码率控制的目的是在固定的码率下获得最好的图像质量。这不仅要求 编码每帧的实际码字与分配的目标码字相匹配,而且要求每帧图像的PSNR波动 平缓。因此,本文定义平均比特误差和平均PSNR误差:八.广 V | Actual _ Bit 一 T arg et _ Bit |Bit _ Error =,= (11)psnr Error = |

24、Frame_ PSNR 一 Averagepsnr | N x Average _ PSNR(12)i 1N x T arg et _ Biti=1Target_Bit式中,N代表实际编码的帧数,Actual_Bit代表每帧编码的实际码字,代表每帧的目标码字,Frame_PSNR代表每帧的实际PSNR,Average_PSNR代表 平均的PSNR。表3对比了两算法的平均码率波动和平均PSNR波动。表3 两种算法平均比特误差和平均PSNR误差比较测试序列测试码率 (kbps)平均比特误差平均PSNR误差JVT-G012本文算法JVT-G012本文算法Foreman(qcif)240.194053

25、1250.1528006660.0628057210.057844611480.0878083390.0782687090.0449636560.044341989640.0537869060.0638491160.0382103080.037450755800.0485976820.0653559770.0326439980.033718989News (cif)960.0997727360.0708779010.0333096750.0302632741280.0708111140.0593010130.0249295760.0200232371920.0445277890.0382813

26、530.0155383080.0121314382560.0361182200.0467468840.0104164310.009358591Football (qcif)241.8270783851.8270783850.1580920350.158092035480.7482142860.6854488420.1002198320.092199274640.3913727520.3646611340.0908699680.096475350800.2658001080.2453529090.0915602570.089955110Tempete(cif)960.5959153620.593

27、2788670.0679050280.0677262411280.3738586680.3710567630.0507265240.0516882501920.1788667540.1680063380.0309668340.0293713632560.1055741070.1020296820.0241641580.023738601news序列R-D曲线90140190240z一 一码率(kbps)fooball序列R-D曲线354555657585码率(kbpS)(a)news序列PSNR波动图1 11 21 31 41 51 61 71 81 91 101111121131141帧序号

28、(b)1 3 5 7 9 11131517192123 2527 293133 3537 3941帧序号(c)(d)从上表可以看出,本文算法的平均比特误差比JVT-G012算法减少0.012,而 平均PSNR误差减少0.0014。这有利于低码率下的视频传输,降低了解码端缓冲 区发生上溢和下溢的可能。同时保证了图像质量的平稳过渡,具有较高的主观视 觉质量。news序列码率波动图1 10 19 28 37 46 55 64 73 82 91 100109118127136145帧序号10987654321 )tibk特比0football序列码率波动图0.511.522.533.5比413579

29、11131517192123252729313335373941 帧序号56555 !匕特0(e)(f)图2(a)奇格式的news序列,15fps时的R-D曲线;(b) qcif格式的football序列,5fps时的R-D 曲线;(c) cif格式的news序列,15fps时,128kbps下的PSNR波动图;(d)qcif格式的fooball序 列,5fps时,48kbps下的PSNR波动图;(e) cif格式的news序列,15fps时,128kbps下的码率 波动图;(f)qcif格式的fooball序列,5fps时,48kbps下的码率波动图5、结论好的码率控制算法不仅要有准确的控制

30、精度,而且要获得最好的图像质量。 从试验数据看出,本文提出的宏块级码率控制算法能够达到这些要求。本文将 APIB的概念引入R-D预测模型,从根本上避免了 H.264中的“蛋鸡”悖论,而 且只需一次编码就能达到码率控制的目的。除此之外,APIB较好的反映了图像 的编码复杂度,以此确定的量化等级较MAD更加准确。另外,由于视频编码的 计算复杂度主要集中在运动估计和帧内预测上,所以本算法不会影响编码器的实 时性。通过与JVT提案中的码率控制算法JVT-G012对比试验表明,在保持编码器 实时性基本不变的条件下,本文方法在控制精度上比JVT-G012算法平均提高 0.171kbps,平均PSNR值提高0.227dB。同时,本算法的平均比特误差和平均 PSNR误差均要优于JVT-G012算法,分别减少0.012和0.0014,说明本算法能 够使实际编码码字与目标码字更好的匹配,而且具有更好的主观视频质量。参考文献:1 Chiang T H, Zhang Y Q. A new rate control scheme using quadratic rate

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论