编码器的输出速率 MPEG视频编码器的速率控制研究范文

上传人:泽玥15****2海阔 文档编号:205190593 上传时间:2021-10-28 格式:DOCX 页数:7 大小:19.82KB
返回 下载 相关 举报
编码器的输出速率 MPEG视频编码器的速率控制研究范文_第1页
第1页 / 共7页
编码器的输出速率 MPEG视频编码器的速率控制研究范文_第2页
第2页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《编码器的输出速率 MPEG视频编码器的速率控制研究范文》由会员分享,可在线阅读,更多相关《编码器的输出速率 MPEG视频编码器的速率控制研究范文(7页珍藏版)》请在金锄头文库上搜索。

1、编码器的输出速率 视频编码器的速率控制研究 速率控制的由编码器实现,其任务是在保证解码器缓冲区不发生溢出(上溢和下溢)的前提下,尽可能地提高码流的画质。速率控制根据设定的缓冲区大小和码速率来监测解码器的缓冲区占用情况。 速率控制可以分为定速率和变速率控制,还可以分为one-pass和multi-pass。定速率和变速率控制适合不同的传输信道。定速率:适合有速率恒定要求的传输,但画质通常差于变速率控制。变速率:适合变速率传输和带宽较高的传输,画质通常优于定速率控制(在平均速率相等的基础上进行对比)。速率控制中速率的波动与画质的波动是一对矛盾,定速率意味着画质的波动,定画质则意味着速率波动。同时,

2、绝对的定速率与绝对的画质恒定都是难以达到的,好的速率控制算法应当在二者之间取得平衡。One-pass算法结构简单,易于实现,无延时或延时很小,适合实时编码器,但是一般画质不及multl-pass。Multi-pass算法复杂,延时大,画质高,适合不要求实时但要求较高画质的应用场合。 选择合适的速率控制算法需要仔细考察所需要达到的性能要求和应用场合。就使用比例来说,one-pass的定速率控制应该是最重要的,但是同时也是最难获得高画质的。本文重点讨论one-pass的定速率控制。One-pass定速率控制面对的主要问题及其解决方法相对于其他速率控制方法,onepass的定速率控制更易于出现解码器

3、缓冲溢出和更难于提高画质。因为one-pass的实时性提高了溢出风险,而定速率则加大了提高画质的难度。避免溢出是速率控制的主要任务,而提高画质也非一个孤立的工作,应当与避免溢出放在一起考虑。溢出的形成原因速率控制处于编码器内,但是溢出问题出现在解码器的缓冲区。首先,编码器将确定解码器缓冲区大小。然后,当编码工作正式开始后,码流以编码器编码的速度流入解码器缓冲区,又以解码器解码速度流出缓冲区。码流按照编码速率通过解码器缓冲区的时间是其在解码器的生存时间。其中编码速度可以认为是由速率控制来确定的,而编码器的解码速率则可以认为由回放速度决定。编码器通过比较码流的生存时间和回放时间来判断是否发生了溢出

4、。当这两者的速率没有很好的匹配起来时,就可能会发生解码器缓冲区溢出。定性地来看,解码器的缓冲区大小必须与注入码流的速率相适应。如果码率过高或者缓冲区过小,就会发生上溢;如果码率过低无法满足解码器的吞吐要求,或者当设定的解码器缓冲过大时,都会使码流的生存时间过长(超过回放帧速率所允许的时间),就会导致解码缓冲区下溢。解决解码器的缓冲区溢出的方法要解决缓冲区的溢出问题,需要根据其成因找出有针对性的方法。具体来说,首先是要根据画幅,帧速率以及画质方面的要求来设定的合适的码速率和缓冲区大小。其次,要及时的检测编码产生的码流速率,并根据缓冲区占用情况作调整。对于上溢,要设定一个缓冲区溢出预警区域,当码速

5、率进入预警区域就要为防止溢出进行调整。由于调整码速率主要依靠调整编码器的量化系数,调整的效果具有滞后性;同时,量化系数的调整对于最终码速率也难以精确预测,所以设立预警区域和提前调整是必要的。另一方面,对于下溢则需要进行填充。填充的数量以将码速率恢复到正常码速率为限。由缓冲区设定过大而导致的下溢还是以在设定缓冲区时设置合理值效果最好,否则只能经常性地进行填充。当然,对于下溢也可以设定预警区域以便提前调整。但是一来设置预警未必能完全避免下溢,二来它也不如填充那样能及时生效,因而没有必要为下溢设置预警区。图1是一个假设的解码器缓冲区随时间推移的占用情况。该图显示:在t1时刻,解码器缓冲区占用率达到约

6、70时,解码器才开始解码的;在t2时刻,当缓冲区占用率超过80后,被认为进入上溢风险预警区,量化系数开始加大,从而使得码速率逐渐下降,避免发生上溢。在t3时刻,当缓冲区占用一路下降,最后发生了下溢,此时编码器通过填入填充来避免解码器的缓冲区下溢需要指出的是,不管是设立码速率溢出预警区还是进行填充,其实都是为码速率控制保留了一定带宽进行缓冲,是用带宽来换取缓冲区的安全。然而带宽的利用率是影响画质的重要原因。直观来看,不管哪种速率控制方式,带宽利用率越高就意味着有越多的比特可以用于码流的编码,从而提升画质。但是在实际应用中,由于真实码率除了受速率控制影响以外,还受画面内容影响,同时由于速率控制主要

7、靠调整量化系数来调整码率,而量化系数的调整与最终码流的产生之间缺乏可精确预测的确定关系,从而导致了某些码率上的波动。这些码率的波动又会通过速率控制的反馈引起画质的波动。为了尽量保持画质的稳定,减少码率的波动,保留一定带宽作为缓冲是一个好办法。因此实际的速率控制应当是保持带宽在一个比较高的利用率,同时留有一定空间来消化由于量化系数调整导致的码率波动。另外在某些极端情况之下,例如即将发生下溢的时候,降低带宽利用率(加入某些不包含码流信息的填充数据)是唯一有效的方法。因此带宽利用率的调整是码率控制中的重要环节。Onepass定速率控制的原型在速率控制中有几个关键的操作和对应的操作对象。关键操作包括:

8、码流预分配,码流预分配比例调整,量化系数调整和量化操作;关键的操作对象包括:待编码图像序列,最终码流结果,量化系数,码流预分配比例和配额。它们之间的关系如图2所示:图中方框表示了关键操作,椭圆表示的是操作的对象。这些对象是速率控制算法中的关键数据。该模型的运作大致可以分为以下三个步骤:1、根据图像序列的类型(帧内编码或帧间编码)和目标码率,按照码流预分配比例预先为即将编码的图分配码流配额。2、每一帧编码结束后检查其产生的真实码流数量,如果少于既定指标,则减小量化系数;反之则增大量化系数。使编码产生的码流和目标设定尽量一致,从而保证编码的目标码率。3、根据编码的情况,调整各类图像的预分配比例。为

9、了尽可能提高画质,还应当注意一些特别事项。首先,量化系数的调整可以以帧为单位,也可以以行或者块为单位。调整的单位越小,算法对于码流产生的反馈越及时,码流的分配越合理,通常画质也会越高。其次,量化系数的调整是导致画质发生波动的重要原因,为了保持画质有一定的稳定性,量化系数的调整幅度应该有所限制,建议增加调整的频率,减小调整的幅度。控制算法的精度对于画质也有明显影响从理论上来说,对于不同图像的比特分配是在理想精度(例如双精度浮点运算)的情况下进行的。然而,很多应用场合下并不允许使用浮点计算而需要使用定点运算。这为码率控制带来了精度上的误差,并且会带来画质下降。其下降程度还与视频画面的具体内容有关。 7

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号