版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、h. 264的码率控制策略本文详细讨论了 h.264编码标准的码率控制结构与mpeg-2的tm5模型进行了比较;并对jvt-g012提出的流量往返控制模型进行了探讨;最后对h.264码 率控制提岀了一些改进意见。关键词:h.264码率控制vbr cbr一、引言到目前为止,视频编码标准通常采用去除时空域相关性的帧内/帧间预测、 离散余弦变换量化和爛编码技术,以达到较高的编码效率。对视频通信而言,由 于通信信道带宽有限,需对视频编码码率进行控制,来保证编码码流的顺利传 输和信道带宽的充分利用。针对不同的应用场合,学者们提岀了多种码率控制 (rate control)策略。其中,实时编码码率控制方法
2、主要有两种:用先rv宏块 编码产生的比特数来预测当前宏块编码产生比特数,或者通过视频编码率失真函 数来 预测当前宏块编码产生的比特数。实际上,量化参数过调整离散余弦变换的量化参数人小输岀目标码率码率控制算法1就是动态调整编码器参数,得到目标比特数。它为视频序 列中的图像组gop、图像或者了图像分配一定的比特。现有的码率控制算法主 耍是通(qp)反映了空间细节压缩情况,如qp小,大部分的细节都会被保留;qp增大,一些细节丢失,码率降低,但图像失真加强和质量下降。也就是说,qp和 比特率成反比的关系,而且随着视频源复杂度的提高,这种反比关系会更明显。码率控制有两种模式:vbr和cbr,即可变比特控
3、制和固定比特控制。vbr模式是一种开坏处o由于实际视频序列屮的图像复朵度是不断变化理,的,细节多少、运动快慢等等,比特率也相应变化,不稳定。cbr模式是一种 闭环处理,翡它根据对源复杂度估计、解码缓冲的大小 及网络带宽估计动态调整qp,得到符合耍求的码率。输入为视频源和一个qp值输入为视频源和目标比特二、h.264码率控制结构作为新一代的视频压缩编码标准,h.264对多编码模式、编码参数口适应选 择、上下文自适应爛编码、多参考帧的灵活选择、高精度预测、去方块滤波以及 抗误码能力等方面进行了精雕细刻,采取了一系列切合实际的技术措施,大大提 高了编码效率和网络自适应能力。但h.264标准草案并没有
4、很好地研究rc,主要精力放在了编码码流及解码 方法上。它将qp同吋用于码率控制算法和率失真优化,导致了蛋鸡悖论:为了 计算当前帧中宏块的rdo,需利用当前帧或宏块的mad预测每个宏块的qp, 而每个当前帧或宏块的mad只有在rdo后才能计算出。h.264码率控制方法的提案主要有两个2: jvt-f086中mpeg-2tm5改进 版木及jvt-g012中提出用流量往返模型來分配每个基本单元冃标比特 数,并 在宏块层编码采用二次率失真函数计算量化参数的算法。jvt-g012还比较了这 两种算法,认为其算法优于f086算法。本节主要介绍h.264的码率控制结构,并与mpeg-2的控制模型相比较。h.
5、264码率控制的主要部分类似于-其他rc方案1。图2只是一个概念性的 结构,并不是其软件的实际反映,如p帧和b帧需分别处理,一些估计是前面 值的平均等等。*1.码率量化模型 rate-quantization model*rc算法的核心是一个定量的描述qp、实际比特率和编码复杂度代理的关 系的模型。比特率和复杂度与残差冇关,qp只能影响变换残差信息的细节,对 包含头信息、预测数据、运动矢量信息的比特流没有直接影响。预测谋茅的平 均残差绝对值(mean average difference , mad)被引用,用来估计复杂度。*2.复杂度估i|" complexity estimati
6、on*mad是预测器精度和帧内预测情形下临近图像时间相似度的逆操作omad 可以在对当前图像编码完以后进行估计,但是,在qp选择以后再编码一次,负 荷太 重。相反可以假设mad随图像变化而变化,可根据前一图像的实际值佔 计而得。但该假设在场景切换时失效。*3. qp 限制 qp-limiter*闭环控制系统须能够保证稳定性和视觉变化最小。对一些复杂度快速改变 的序列,qp变化显著,须设置以码率限制器来限制图像的qp变化不超过±2。*4.虚拟缓存模型 virtual buffer model*解码器都冇一个缓存來平滑码率变换和数据的到达时间。相应编码器产生 的比特流须满足解码器的限制,
7、所以用一个虚拟缓存模型來仿真实际解码器的满 度。虚拟缓存满度的改变即编码成流的总比特数的差界。缓存满度的下届为0, 匕界为缓存容量。用户需根据解码器支持的级别设置缓存容量和初始值。*5. qp 初始化 qp initializer*qp须在视频序列的开始初始化,并人为输入初值,但更好的方法是根据每个像素的比特数估计,并可根据qp和demandedbitsperpixel表查找。*6. gop 比特分配 gop bit allocation *根据需求的比特率和虚拟缓存的当前满度,计算gop的目标码率,i图像和 第一个p图像的qp。*7.基本单元比特分配 basic unit bit alloc
8、ation*如果基本单元小于图像,图2则分为两层:图像层和基本单元层。对h.264 而言,重点是计算每个存储图像(通常为p图像)的qp。严格地讲h.264是允 许b图像用作参考的,只是通常不用。非存储图像(通常为b图像)则通过邻 近p图像的qp内插或偏移得岀。首先,考虑到图像的mad,可为缓存满度设 置一口标级。接着,利用该级别,计算图像的口标比特数。与mpeg-2的tm5模型相比,类似z处有:虚拟缓存的设立,gop和图 像层的目标比特的计算,为每个基本单元生成qp等。不同z处有:基本单元是 宏块,口同一图像中的不同宏块的qp可能相差很大:i/p/b三帧之间只是目标 比特分配的不同,其余处理类
9、似;mpeg-2预测模式没有h.264的多样性。由于 其没冇高级的帧内预测,也没有必要对关联qp和残差时那么严格;宏块级的空 间复杂度由源活动性估计而得。忽略复杂度 是否由mv和残差数据体现;对图 像分配比特,需考虑图像类型、gop结构、需要的比特率,而非图像的复杂度。 但在图像中,缓存满度和相关的空间活动性用来 分配图像比特等。三、h.264码率控制算法如上所述,h.264码率控制方案主要冇jvt-f086和jvt-g012捉出的两种。 jvt-g012通过引入基本单元和线性模型的概念,提出一种自适应基本单元层码 率控制方案。基木单元可能是一帧、片或者一个宏块。线性模型用于预测当前基 本单元
10、的mad,它是通过前一帧帕应位置的基本单刃得到。蛋鸡悖论解决如下:当前帧的目标比特率根据预先定义的帧率、当前缓冲 容量、目标缓冲级别和可利用信道带宽,利用漏斗模型和线性跟踪理论计算得出。 剩余比特分配给当前帧未编码基木单元。当前基木单元的mad利用前一帧相同 位置基本单元的mad实际值线性预测而得。相应的qp通过一个二次rd模型 获得。该方案同样适用于vbr情形。该方案利用一个虚拟缓存,根据信道带宽 的动态特征,来帮助调节编码操作。该缓存既不上溢也不下溢。由于该模型类似 于漏斗模型,该rc算法与hrd是一致的。为了验证该方案,jvt-g012在vbr和cbr两种情形下进行实验。vbr的比特率曲
11、线是一预先确定的曲线,即实际产生的比特接近于比特率 曲线口缓存不上溢和下溢。cbr情形下,与qp固定的编码器比较了编码效率。 口标比特率由以固定qp编码测试序列产生。计算出的码率由该方案编码产生。该方案编码效率上dd升1.02db,所有测试序列的平均psnr改善2db。并利用 软件ahm2.0和f086提出的方案进行了比较。psnr改善了最高达1.73db,平 均达0.5dbo且该方案只一个通道而f086是两个通道。四、结束语随着h.264的不断改进和推广,其码率控制的算法也在不断改进更新。比 如hezhihai等3提出线性率失真函数,通过变换量化后零值在变换系数中的比 例(认为这对编码码率的
12、影响最大)来选取量化参数,可避免蛋鸡悖论;陈川等 4提出联合编码模式选择、信源的码率控制算法;xue jinzhu5等提出基于块活 动性和缓冲状态的算法;masiwei等提出结合hrd的控制算法,并被h.264 采用等等。述有学者捉岀考虑解码端(通过其反馈信息控制码率)的控制模型。 上述的算法都在其实验范围内体现出了编码效率的改进。可见,h.264码率控制 的改进有许多方向,主要有:考 虑编码器端的编码参数(如量化参数、编码模 式或直接影响比特流的参数等)的率失真控制模型,结合信源信道失真和缓冲状 态的码率控制模型,考虑解码端反馈信息的控制模型等。h.264采用了多种改进编码效率的技术,针对不
13、同的应用可以选择不同的技 术,其码率控制模型的建立也应该结合实际应用做出调整,而不是-定要建立一 个适应各种场合的控制模型。参考文献1 wiegand t, schwarz h, joch a, sullivan g. rate constrained coder control and comparison of video coding standards. ieee trans, circuits syst, video technol, 2003, 13 (7)2 li z, et al. adaptive basic unit layer rate control for jvt.
14、jvt-g012, 7th meeting: pattaya, thailand, 2003 (3)3 he zhihai a unified approach to rate-distortion analysis and rate control for visual coding and communication phd thesis ucsb, 20014 陈川等.联合编码模式选择的码率控制算法.电子学报,2004 (5) 5 xue jinzhu, shen lansun rate control algorithm for h.264 video encoding, journa
15、l of electronics (china) , 2003, 20 (6) ma siwei, wengao. rate control for jvt video coding scheme with hrd considerations. ieee icip 2003h. 264的码率控制算法2010-05-21 09:27h. 264的码率控制算法采用了多种技术,其中包括自适应基本单元层(adaptive basic unit layer)流量往返模®(fluid traffic model)>线性mad模型、二次率失真模型等。并 且采用了分层码率控制策略,共分为三层
16、:gop层、帧层和基木单元层。在jvt的提案屮, 采用的是jvt-g012码率控制算法,该算法提出了基本单元的概念,将一帧划分为若t个基 本单元,棊本单元可能是一宏块、一行宏块、一场或一帧。帧层码率控制根据网络带宽、缓 存占用量、缓存大小及剩余比特來分配每一帧的目标比特;在基本单兀层码率控制中,目标 比特由该帧的剩余口标比特平均得到。这些技术的采用成功地解决了传统码率控制算法与 h. 264的率失真优化技术之间存在的因果矛盾,能较准确地控制输出码率,输出视频质量 较好。h. 264 >|«的jvt. g012算法采用的二次rq模型如下:r = madmxjq呵+xjqs&quo
17、t;这一模型用于基本单元的量化参数计算,具屮r代表编码量化系数所需的码字位 数,q指基木单元的量化步长,mad通过以下线性预测模型进行预测:mad£h = <7| x madz + a2其屮madcb和madpb代表当前基木单元和前一帧相应位置处的mad, al, a2 是模型系数,在每一个基本单元的最后一个宏块处理小通过线性回归的方法进行更新。jvt的码率控制比以往的标准更加因难。因为量化参数不仅在码率控制算法中使川 而且在率失真优化屮应用,从而导致一种称为"鸡与蛋”的悖论(chicken and egg dilemma): 为了在当前帧的宏块屮应用率失真优化,首先
18、要有一个量化参数,这个量化参数通过计算当 前帧的mad(mcan absolute difference)得到。然而,只冇在率失真优化以后才能得到当前帧 的mad。并ii编码处理所使用的信道带宽可能是恒定的,也可能是可变的。必须同时考虑 恒定比特率(constant bit rate, cbr)和可变比特率(variable bit rate, vbr)两种情况。目而 的码率控制机制大多针对恒定码率的情况.率失真理论是视频编码的一个基本部分。率失真优化(rdo)在给定的码率限制下最 小化解码失真,lagrangian方法可以在码率和失真之间有效地进行折屮。在h. 264标准屮, lagrang
19、ian方法用于运动补偿的模式选择和帧内预测。换言之,它可以在给定的码率限制下, 最小化失真,寻找到块的最佳运动向量和编码模式。然而,lagrangian方法的应用使码率控 制变得更困难,因为qp涉及到码率控制和失真计算。换言之,码率控制方案在调整qp后 将影响块的运动和模式选择。在mpeg. 4码率控制中,可以在估计qp前通过执行二次r d模型来获得xi,x2、mad和口标比特数。但在h. 264标准中,qp在码率控制和rdo 中都指定了,因此在执行rc时就存在一个问题:对mb执行rdo,要先通过mb的mad 决定mb的qp,然而mb的mad只有在rdo运行后才能获得。这就是一个蛋鸡悖论。如上
20、所述,在h. 264标准的码率控制中存在两个问题:1. 在执行rdo之前,mad是未知的。2. 虽然在运动补偿后可以获得每个编码模式的mad,但最佳编码模式仍然未知,所以不 能决定哪个mad可以用于估计qp。ma等人提出了一个新的h. 264码率控制方案,该方案没有考虑qp与mad z间的和关性, 但它不是single-pass码率控制算法。虽然该算法可以实现目标比特数口没有明显的比特变 动,但执行rdo要花费2倍的时间,对宏块而言这样的时i司复杂度是不可接受的。h. 264中的码率控制方法是以提案jvtg012为蓝本的。jvt. g012提案通过 引入基本单元和线形模型的概念,提出-种口适应
21、基本单元层码率控制方案。基本单元可能 是一帧、片或宏块。并提出了一种线性模型,通过前一帧相应位置的基本单元预测当前基木 单元mado为阐述g012捉案,本文首先对具中的关键技术进行分析。lo基本单元的定义假设某一帧由nmbpic个宏块组成,那么定义基本单元为一个由nmbpic个宏块中连 续的nmbunit个宏块所组成的纽。那么在该帧中的总的基本单元的个数为:nunit=nmbpic/nmbunit需要注意的是,如果采用了比较大的基本单元,那么psnr可以达到一个较高的值, 同时比特的波动也会增大。另一方而,如果采用了比较小的基本单元,比特的波动会比较的 小,但是相应的会带来psnr的损失。2.流量往返模型(fluid tramc model)在这里,诊算法创建了一个流虽往返模型(fluid traffic model)来计算当前正 在编码的帧的目标比特数。我们定义ma为整个图像组(gop)中的总的帧数, 2,,j=q, 2,)为第i个图像组中第j个帧,4(")为第j帧编 码后的虛拟缓存的占用度。然后缓冲区占有率的计算方法有下式:(4j = min max 0, bc (q)+ a(ntj)-豊丿, ba(4-2)才(43)bc(go) = begg )(4-4)其
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 省重点专科脑病科
- 国开04957+11807经济学(本)期末复习资料
- 软件项目-项目启动会讲义模板
- 2024届江西省丰城四中高三数学试题一模试卷
- 房地产经纪人《房地产交易制度政策》近年考试真题题库(含答案解析)
- 2024年税务师《财务与会计》考前必刷必练题库500题(含真题、必会题)
- 四川省达州市渠县中学2024-2025学年九年级上学期11月期中考试英语试题(含答案)
- 三年级上册数学教案第六单元
- 冀教版英语小学三年级上学期期中试题及解答参考(2024-2025学年)
- 公司团建活动方案
- 《班主任工作》教学大纲
- 国家开放大学《数据结构》课程实验报告(实验2-线性表)参考答案
- 大学生消费观 调查报告
- 2023经皮冠状动脉腔内冲击波球囊导管成形术临床应用中国专家建议
- 齐鲁书社新二年级上册传统文化全
- 医学影像学论文5000
- 《新编普通高校大学生军事课教程》第二章
- 班主任带班育人方略ppt
- 船员安全守册
- 2023年四川事业单位之综合高频考点题库(共500题含答案解析)模拟练习试卷
- 2023-2024人教版小学5五年级数学下册(全册)教案
评论
0/150
提交评论