一种基于人眼视觉系统的AVC码率控制方法与流程

文档序号:15925168发布日期:2018-11-14 01:03阅读:197来源:国知局

本发明涉及计算机信息技术领域,具体地涉及图像压缩领域。

背景技术

在视频通信中,视频源首先需要进行有效的压缩,使得传输的数据量处在信道带宽范围内。码率过高将超过信道最大容量,导致数据丢失;码率过低将造成带宽浪费。因此,码率控制的目标是在满足信道带宽约束条件下获取最优的图像质量。

avc视频编解码标准,以其高压缩率和图像质量得以广泛应用,成为当前图像通信领域的一个研究热点。传统的avc码率控制在图像压缩率和图像质量之间取得了较好的平衡,然而传统的avc码率控制对每个宏块都是采用统一的策略分配目标码率,没有考虑人眼视觉特性,当视频序列中有较大的全局运动或者图像内容较为复杂时,传统的avc码率控制方法并不能客观准确地分配符合人眼视觉敏感特性的比特数,从而导致在一定程度上人眼主观视频质量下降。



技术实现要素:

针对现有技术的不足,本发明提供了一种基于人眼视觉系统的avc码率控制方法。

为实现本发明目的提供的一种基于人眼视觉系统的avc码率控制方法,包括如下步骤:

设定编码器的目标码率和帧率,初始化码率控制模型参数,将目标比特数分配给每个gop;

计算每帧图像的复杂度,根据图像复杂度分配每个gop中每帧图像的目标比特数;

计算每帧图像中每个宏块的特征信息,对宏块进行分类,根据宏块类型分配每个宏块的目标比特数;

计算每个宏块的编码量化参数。

在其中一个实施例中,设定编码器的目标码率和帧率,初始化码率控制模型参数,将目标比特数分配给每个gop,包括如下步骤:

根据应用场景需求,设定编码器的目标码率和帧率;

初始化码率控制模型参数;

分配视频序列中第个gop的目标比特数,记为,其中,表示第个gop的第帧,表示一个gop中所包含帧的帧数,表示目标码率,表示帧率,表示初始缓冲充盈度,表示编码完第个gop的第帧时的实际缓冲充盈度。

在其中一个实施例中,实际缓冲充盈度按更新,其中,表示编码第个gop的第帧实际产生的比特数,表示编码第个gop的第帧时可获得的信道带宽。

在其中一个实施例中,计算每帧图像的复杂度,根据图像复杂度分配每个gop中每帧图像的目标比特数,包括如下步骤:

计算编码第个gop的第帧时剩余目标比特数,记为

计算第一轮分配给第个gop的第帧的目标比特数,记为

计算第个gop的第帧的目标缓冲级别,记为,其中,

计算第二轮分配给第个gop的第帧的目标比特数,记为,其中,为常数;

计算第三轮分配给第个gop的第帧的目标比特数,记为,其中,为常数;

计算图像复杂度,记为,其中,表示当前帧图像在整个视频序列中的序号,分别表示图像宽度和高度,分别表示当前帧图像和前一帧图像的重构帧在坐标位置上的亮度值;

计算第四轮分配给第个gop的第帧的目标比特数,记为

在其中一个实施例中,计算每帧图像中每个宏块的特征信息,对宏块进行分类,根据宏块类型分配每个宏块的目标比特数,包括如下步骤:

计算第一轮分配给第个gop的第帧的第个宏块的目标比特数,记为,其中,表示第帧包含的宏块个数,表示编码第个gop的第帧的第个宏块实际产生的比特数;

计算第个gop的第帧的第个宏块的mad预测值,记为,其中,分别表示线性模型的两个系数,表示第个gop的第帧的第个宏块的mad值;

计算第二轮分配给第个gop的第帧的第个宏块的目标比特数,记为,其中,

计算第个gop的第帧的第个宏块的亮度特征信息,记为,其中,分别表示宏块的宽与高;

如果小于阈值,则判断该宏块为亮度敏感宏块;否则判断为非亮度敏感宏块;

如果宏块为非亮度敏感宏块,则计算第个gop的第帧的第个宏块的运动特征信息,记为

如果大于阈值,则该宏块判断为运动块;否则判断为背景块;

如果宏块为背景块,则计算第个gop的第帧的第个宏块的纹理特征信息,记为,其中,表示宏块中亮度值大于等于宏块平均亮度值的像素点集合,表示集合中包含的像素点个数,表示宏块中亮度值小于宏块平均亮度值的像素点集合,表示集合中包含的像素点个数;

如果大于阈值,则该宏块判断为细节块;否则判断为平滑块;

设置宏块权重,记为,如果宏块为亮度敏感宏块,则设置;如果宏块为运动块,则设置;如果宏块为细节块,则设置;如果宏块为平滑块,则设置

计算第三轮分配给第个gop的第帧的第个宏块的目标比特数,记为

在其中一个实施例中,第一轮分配给第个gop的第帧的第0个宏块的目标比特数初始化为

在其中一个实施例中,初始化为1,初始化为0,在每编码完一个宏块之后进行更新。

在其中一个实施例中,所述阈值通过对大量宏块进行统计而得到。

在其中一个实施例中,计算每个宏块的编码量化参数,包括如下步骤:

通过二次方程计算宏块的编码量化参数,记为,其中,表示编码第个gop的第帧的第个宏块前所有宏块平均头信息所占比特数,表示二次模型的两个系数。

在其中一个实施例中,初始化为目标码率,初始化为0,在每编码完一个宏块之后进行更新。

上述一种基于人眼视觉系统的avc码率控制方法的有益效果:

设定编码器的目标码率和帧率,初始化码率控制模型参数,将目标比特数分配给每个gop;计算每帧图像的复杂度,根据图像复杂度分配每个gop中每帧图像的目标比特数;计算每帧图像中每个宏块的特征信息,对宏块进行分类,根据宏块类型分配每个宏块的目标比特数;计算每个宏块的编码量化参数。本发明对不同类型的宏块进行自适应调节,在人眼视觉敏感区域多分配比特数,在人眼视觉不敏感区域少分配比特数,在视频压缩和传输过程中,充分利用有限带宽,有效地提高了视频的主观和客观质量。

附图说明

图1是根据本发明方法的一具体实施例的流程图。

图2是avc参考软件jm19.0编码的主观效果图。

图3根据本发明方法的一具体实施例的主观效果图。

图4是avc参考软件jm19.0编码的码率控制的效果图。

图5是根据本发明方法的一具体实施例的码率控制的效果图。

图6是avc参考软件jm19.0编码与根据本发明方法的一具体实施例的编码psnr对比图。

具体实施方式

下面结合附图对本发明做进一步的说明。

图1是根据本发明方法的一具体实施例的流程图;

在步骤101,设定编码器的目标码率和帧率,初始化码率控制模型参数,将目标比特数分配给每个gop。

在步骤102,计算每帧图像的复杂度,根据图像复杂度分配每个gop中每帧图像的目标比特数。

在步骤103,计算每帧图像中每个宏块的特征信息,对宏块进行分类,根据宏块类型分配每个宏块的目标比特数。

在步骤104,计算每个宏块的编码量化参数。

下面,对根据本发明一个实施例的一种基于人眼视觉系统的avc码率控制方法作一个详细的描述。

gop层码率控制中根据应用场景以及带宽容量,设定编码器的目标码率和帧率。

初始化线性模型系数,;初始化二次模型系数,初始化为目标码率,初始化为0;初始化编码量化参数。

判断当前gop序号以及帧号,当满足并且时,设置实际缓冲充盈度,否则按计算实际缓冲充盈度。

分配视频序列中第个gop的目标比特数,记为

帧层码率控制中计算编码第个gop的第帧时剩余目标比特数,记为

计算第一轮分配给第个gop的第帧的目标比特数,记为

计算第个gop的第帧的目标缓冲级别,记为

判断当前帧号,当满足时,设置目标缓冲级别

计算第二轮分配给第个gop的第帧的目标比特数,记为,其中,为常数,在此,

计算第三轮分配给第个gop的第帧的目标比特数,记为,其中,为常数,在此,

计算图像复杂度,记为

计算第四轮分配给第个gop的第帧的目标比特数,记为

宏块层码率控制中,假设当前帧图像为第个gop的第帧,并且假设当前帧图像包含a、b、c和d四个宏块,前一帧图像中包含ap、bp、cp和dp四个宏块。假设ap、bp、cp和dp四个宏块对应的mad值分别记为,a、b、c和d四个宏块的mad预测值分别记为,则

判断当前编码块的宏块序号,当宏块序号时,即当前对宏块a进行编码,初始化第一轮分配给宏块a的目标比特数,直接设置宏块a的编码量化参数为初始化的编码量化参数,按该编码量化参数对宏块a进行编码后,获取编码完宏块a产生的实际比特数,记为,同时获取编码宏块a的头信息部分产生的比特数,记为

计算第一轮分配给宏块b的目标比特数。计算第二轮分配给宏块b的目标比特数。计算宏块b的亮度特征信息,并与阈值比较。假设大于等于,则判断宏块b为非亮度敏感块。计算宏块b的运动特征信息,并与阈值比较。假设小于等于,则判断宏块b为背景块。计算宏块b对应的宏块平均亮度值,将宏块b中所有像素点的亮度值与宏块平均亮度值比较,将亮度值大于等于宏块平均亮度值的像素划入集合,将亮度值小于宏块平均亮度值的像素划入集合,假设集合中包含个像素点,假设集合中包含个像素点。计算宏块b的纹理特征信息,并与阈值比较。假设大于,则判断宏块b为细节块。设置宏块b的宏块权重。计算第三轮分配给宏块b的目标比特数。通过二次方程,计算宏块b的编码量化参数。按该编码量化参数对宏块b进行编码后,获取编码完宏块b产生的实际比特数,记为,同时获取编码宏块a与b的头信息部分产生的比特数的平均值,记为。采用线性回归方法更新线性模型系数;采用线性回归方法更新二次模型系数

同理,对宏块c和宏块d按上述流程方法进行编码,从而完成当前帧编码。

综上所述,本发明能够根据宏块特性合理地分配目标比特数,使得编码的实际码率接近设定的目标码率,同时获取较高的图像质量,在给定带宽的情况下,为用户提供较好的体验。分别采用avc参考软件jm19.0和本发明方法进行编码,配置相同的参数编码720p图像,在编码产生的比特数基本相同的条件下,参见图2和图3,采用本发明方法进行编码的图像细节更丰富,没有模糊的块,而采用avc参考软件jm19.0编码的图像在树林细节部分不够清晰,局部有模糊块;配置相同的参数编码1080p图像,在编码产生的比特数基本相同的条件下,参见图4和图5,采用本发明方法进行编码的图像视觉效果更加清晰,并且没有块效应,而采用avc参考软件jm19.0编码的图像中云彩部分产生了明显的块效应,并且路灯融入了云彩中,导致严重视觉失真;从psnr方面看,设置相同的配置参数,参见图6,采用本发明方法进行编码的psnr更高。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1