[发明专利]一种基于H.264分层B帧编码结构的码率控制方法无效
申请号: | 201010190719.8 | 申请日: | 2010-06-03 |
公开(公告)号: | CN101917614A | 公开(公告)日: | 2010-12-15 |
发明(设计)人: | 杨波;常侃;门爱东;宗晓飞;张文豪;韩钰;叶锋;邸金红 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | H04N7/26 | 分类号: | H04N7/26;H04N7/50 |
代理公司: | 天津盛理知识产权代理有限公司 12209 | 代理人: | 王来佳 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 264 分层 编码 结构 控制 方法 | ||
技术领域
本发明涉及视频压缩技术,特别涉及视频压缩技术中的一种基于H.264分层B帧编码结构的码率控制方法。
背景技术
码率控制在视频压缩技术中起着至关重要的作用,其最终目的是在给定的目标比特率及缓存容量的条件下,使得传输的视频质量最优化。
H.264是由联合视频组(JVT)推出的最新视频编码标准,在对其进行码率控制的时候,由于压缩过程中产生的量化参数(QP)既用于码率控制过程,又用于率失真优化过程,因此会产生“蛋鸡悖论”的问题:一方面,为了计算当前宏块的率失真优化(RDO),需要利用当前宏块的QP作为输入;另一方面,当前宏块的QP的计算则需要利用该宏块的平均绝对差(MAD)来揭示其编码复杂度,然而,每个当前宏块的MAD只有在得知其RDO后才能计算出。因此,如何解决“蛋鸡悖论”成了H.264码率控制过程中的难题。
目前,应用较为广泛的H.264码率控制算法是JVT-G012,其要点是:为保证码率控制精度,分为图像组(GOP)级别、帧级别、基本单元(BU)级别的比特数分配,并通过流量模型计算某个时刻的缓冲器占用量以辅助调整分配的比特数大小;通过线性MAD预测模型来预测当前编码单元的MAD值,以解决“蛋鸡悖论”;使用MPEG-2中经典的二次码率-量化步长(R-Q)模型来计算量化步长(Q),从而得到最后的QP。虽然JVT-G012码率控制算法解决了“蛋鸡悖论”的问题并在多数情况下取得较好的编码效果,但是该算法并不能很好地支持分层B帧这种特殊的编码结构。
在分层B帧编码结构中,关键帧直接或者间接地作为二个连续的GOP之间的分层B帧的参考帧;较低层的B帧作为较高层的B帧的参考帧。换句话说,越低层的编码帧对整体的编码效率贡献越大。在这种编码结构中,应当给低层编码帧分配较多的编码比特数,以保证整体的编码效率。但是,在JVT-G012中,B帧的QP值是对两个相邻P帧的QP值进行插值计算得到,没有考虑属于不同时域编码层的编码帧的重要性。因此,若仍沿用JVT-G012中的算法,就会由于没有很好地利用分层B帧的编码特性而导致最终码率控制不准确以及编码视频质量下降。
为了提高JVT-G012算法在分层B帧编码结构下的码率控制性能,可以采用如下的改进的算法:
1、采用层叠量化(Cascading QP)的方法:首先利用相邻P帧的QP插值得到低层B帧的QP值,其次对其上层B帧逐层加大QP值,以此保证低层编码帧分配到较多比特数。这种方法存在的问题是:控制结果较为粗糙,并且不同编码帧之间的峰值信噪比(PSNR)波动很大。
2、通过预先定义不同层B帧与P帧编码比特数的目标比例来分配编码比特数,并伸缩(Scale)由P帧的统计结果得到的二次R-Q模型用于不同时域层的B帧。该方法虽然可以获得较为精确的码率控制结果,但是,由于不同层B帧与P帧编码比特数的目标比例、二次R-Q模型的伸缩比例都需要预先设定,并不能自适应于不同的编码序列。
综上所述,针对分层B帧编码结构的码率控制,目前的JVT-G012算法及其改进算法在性能上都存在缺陷。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于H.264分层B帧编码结构的码率控制方法,能够克服JVT-G012码率控制算法及其改进算法在性能上存在的缺陷,实现对分层B帧编码结构最有效的码率控制。
本发明解决其技术问题是采取以下技术方案实现的:
一种基于H.264分层B帧编码结构的码率控制方法,用于依次对当前GOP中的每个编码帧进行码率控制,包括如下步骤:
(1)在编码第i个GOP的初始阶段,利用可用信道带宽、第i-1个GOP的目标比特数和实际编码比特数之差计算为每个GOP分配的目标比特数;
(2)在为第i个GOP分配目标比特数之后,进行时域层级比特分配,利用第i-1个GOP的编码结果计算第i个GOP的所有时域层的权重系数,并以此计算为每个时域层分配的目标比特数;
(3)在完成第k个时域层编码之后根据其编码结果对剩余未编码时域层分配的目标比特数进行调整;
(4)在编码当前时域层第l个编码帧的初始阶段,通过利用目标缓冲器水平、实际的缓冲器占用量、可用信道带宽、帧率和当前时域层剩余比特数计算给当前编码帧分配的比特数;
(5)在计算出为当前编码帧分配的比特数之后,采用多MAD预测模型来预测当前编码帧MAD,采用多二次R-Q模型计算当前编码帧量化步长并转换为QP,最后将QP值经过调整得到码率控制模块的输出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010190719.8/2.html,转载请声明来源钻瓜专利网。