关闭

H.264码率控制算法研究及JM相应代码分析(一)

标签: h.264码率控制编码优化算法
2194人阅读 评论(0) 收藏 举报
分类:

这是之前我们学校张远老师留的课程作业,要求个人整理分析H.264码率控制算法及JM相应代码,个人感觉自己做的还不错,所以发出来给大家分享一下。鉴于公式什么的太多了,我这里就直接从文档里截图了。文末包含了pdf文件的下载链接。

要明白码率控制算法,首先要理解率失真理论,定义如下


而要实现这一目标的基本方法有两个:拉格朗日乘子法和动态规划方法



所以最后无论哪种方法,综合考虑起来都只能得到局部最优解。目前看来一般还是用的拉格朗日乘子法。

下面就分别看一下对于前面提到的三大编码参数是如何做出选择来实现RDO 的,首先需要注意的是,视频编码器的整体比特率主要由编码模式选择、运动矢量和量化步长决定,失真度则主要由量化参数决定。




为什么偏偏要看这两种分布?因为DCT 变换后的直流DC 系数通常服从高斯分布,而交流系数一般服从拉普拉斯分布。在较高码率时,对于零均值的统计独立信源,经过标量量化后的比特数b- 失真D 曲线可以用下式近似:


也就是



到这里我们找到拉格朗日乘子和量化步长之间的关系,意味着三种优化参数之间建立了紧密的联系。看起来似乎所有问题都得到了解决,其实不然。


我们用如下图所示的漏斗模型描述这一缓冲区的原理


解码器根据这个缓冲区模型确定内存大小和解码延时等参数。编码器则根据缓冲区模型对编码码流进行约束控制,保证解码器在内存大小确定的情况下正常解码,即解码过程中解码端缓冲区既不上溢也不下溢。这通常需要码率控制技术来实现,因此码率控制是视频编码和传输的关键环节。


本文完整pdf文档下载链接:http://download.csdn.net/detail/nonmarking/8876649



1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:162409次
    • 积分:2240
    • 等级:
    • 排名:第17604名
    • 原创:45篇
    • 转载:10篇
    • 译文:6篇
    • 评论:145条
    联系方式
    email:zhanghuicuc@gmail.com QQ:592271823 欢迎交流讨论
    友情链接
    我的师哥:http://blog.csdn.net/leixiaohua1020 我的室友:http://blog.csdn.net/u013495114
    文章分类
    最新评论