网站大量收购闲置独家精品文档,联系QQ:2885784924

CMVC稿件_视频编码控制技术.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CMVC稿件_视频编码控制技术

CMVC稿件_南邮_朱秀昌 视频编码控制技术 文 / 南京邮电学院信息工程系 朱秀昌 摘 要:本文简要介绍了视频编码中的编码控制技术,着重分析了编码速率、图像失真和计算复杂度之间的关系,以及基于这一分析的几种具体的编码控制方法。 为了有效地保证视频编码信息的互通,大多数视频编码标准(如H.263、MPEG-2/4、H.264/AVC等)仅规定了编码的基本方法、比特流的语法结构和标准的解码过程。而对于具体的编码过程则充分开放,允许实现者灵活地处置。在视频压缩编码中起重要作用的编码控制技术也位于其中。编码参数的控制,如帧模式、宏块模式、运动矢量、量化步长等,直接关系到编码产生的比特数,关系到重建视频的质量,关系到视频编码器的复杂程度。因此,视频编码控制技术一直受到人们的关注,在这方面以作出了很大的努力,并取得了长足的进展。 引言 传输环境、处理器能力等实际因素会对视频编码的比特率和图像质量形成种种限制。为了在这些条件限制下,达到最佳的压缩性能,对视频编码过程进行控制是非常必要的。编码控制的目标就是在实际传输比特率的限制下,以最小的计算复杂度来获得尽可能好的图像质量。编码比特率、计算复杂度和重建图像质量之间的关系随着输入视频不同而变化,如是“有噪声”的还是“干净”的、是多细节的还是少细节的、是复杂运动的还是简单运动的序列。 失真控制,速率控制,即率-失真优化(Rate Distortion Optimization),其目标就是在一定的传输率限制的条件下,取得最好的图像质量。 近来,视频编码的可变复杂度算法(VCA:Variable Complexity Algorithm)可以使开发者能够控制计算复杂度,驾驭处理资源。新的算法在保证最小失真的前提下,联合控制比特率和计算复杂度,这就是算法复杂度控制。 在这三种控制中,图像质量,或失真大小的控制是最终的目标,但往往难以直接达到;速率控制和计算复杂度控制是为获得最好图像质量服务的,可以直接控制它。本文以下部分简要介绍视频编码控制中的这三项主要控制技术。虽然是分别讨论这三种的控制,但实际上它们是相互关联、相互影响的,不能将它们割裂开来看待。 速率控制 速率控制算法的选择对视频质量有很重要的影响,它是受多种因素制约的。例如,受计算复杂度的制约,一般说来,越是有效的算法,其复杂度越高;受编码视频内容的制约,如是相对“静止”的视频会议场景,还是快速运动的电影场景,很难对所有的场景都适用;受传输信道的限制,如是低时延的实时信道,还是离线的存储介质。 下面介绍三种有代表性的速率控制算法。 缓存反馈法 速率控制中最为简单的一种是缓存容量反馈控制法,如图1所示。视频编码后产生编码比特输出速率Rv是可变的。假设受限的信道速率为Rc,为了使可变的编码速率Rv和信道速率Rc相匹配,编码器中设置了一个缓存器。 随着每一帧被编码,编码数据以可变的Rv速率填充缓存器,以的Rc速率移出缓存。由于没有对变化的速率Rv有限制,缓存的数据既有可能漫出(“上溢”),也有可能变空(“下溢”)。为了避免这种情况的发生,可将缓存的占有率B的信息“反馈”到编码器去控制量化步长Q。随着B的增加/减少,Q也随着增加/减少,这就引起压缩率的增加/减少,始终维持缓存容量在一个合理的范围内。 这种方法的优点是十分简单和直接,但它有明显的不足之处,即解码图像质量的波动。例如,一旦视频场景中活动性突然增加,使得缓存占有率B增加的太快,以至于来不及通过Q来控制速率,从而引起缓存上溢,这时惟一的办法只有跳帧,而跳帧就形成了帧率不稳。再如,在每一编码帧的结尾,随着B的增加Q也增加,导致在每一帧的开头图像质量较高,而在结尾(下部)由于大的量化间隔而质量明显下降。 H263的TM8(测试模式8) H.263的测试模式版本8的速率控制包括:图像帧级速率控制,决定是否跳帧等;宏块级速率控制,为每个宏块计设置化步长。 1)帧级控制: 在编码时,如果缓存中的容量超过门限值M,就跳过下一帧;否则就为下一个编码帧建立一个目标比特数B。门限值M越高跳帧数就越少,但结果编解码系统的延时也越大。 2)宏块级控制: 为了防止缓冲区上溢、下溢,在一帧编码中,设置宏块级控制,使得每个宏块的编码比特数也在控制中。在编码帧中,第i个宏块所需的比特数Bi由下式决定: (1) 其中,A表示一个宏块中的像素数,表示在残差宏块中亮度和色度的标准方差,是量化步长索引,K和C是模式参数,将随编码器的运行实时更新。 在宏块控制时,首先计算宏块的,再由K、C、、一帧图像所需的比特数B和表明宏块重要性程度的权重系数,计算(计算公式省

文档评论(0)

bigone123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档