一种HEVC自适应视频码率控制方法及系统与流程

文档序号:11157560阅读:1596来源:国知局
一种HEVC自适应视频码率控制方法及系统与制造工艺

本发明涉及码率控制技术领域,尤其涉及一种HEVC自适应视频码率控制方法及系统。



背景技术:

继H.264视频编码标准后,ITU-T又制定出一种新的视频编码标准HEVC。HEVC的主要目的是提高编码效率,即跟H.264相比,压缩比提高一倍。在实际的视频应用中,码率受到一定限制,编码器需要根据限定的码率合理分配控制码率,使得视频编码的效率最优,因此码率控制是视频编码器的重要组成部分。在目前已有的适用于HEVC视频编码的码率控制方法中,为了满足HEVC编码压缩率的提升,相应码率控制精细度也大幅度的提升。但是常规上的此类控制方法,在提升控制码率精细度的同时,经常会导致图像质量压缩不均匀,图像质量大幅波动,尤其在低带宽应用场景下。



技术实现要素:

本发明实施例的目的在于提出一种HEVC自适应视频码率控制方法,旨在解决现有HEVC视频编码的码率控制方法中图像质量压缩不均匀,图像质量大幅波动的问题。

本发明实施例是这样实现的,一种HEVC自适应视频码率控制方法,所述方法包括以下步骤:

分配当前图像帧的目标比特数;

以一个编码树单元CTU为码率控制单位,计算目标比特数初始值;

根据图像结构相似性和运动特性,计算当前编码树单元复杂度;

利用当前编码树单元复杂度,调整当前CTU分配的目标比特数,计算当前CTU目标比特数;

计算当前CTU使用的量化参数。

所述方法还包括:

限定当前帧中当前CTU的量化参数的波动。

本发明实施例的另一目的在于提出一种HEVC自适应视频码率控制系统,所述系统包括:

目标比特数分配模块,用于分配当前图像帧的目标比特数;

目标比特数初始值计算模块,用于以一个编码树单元CTU为码率控制单位,计算目标比特数初始值;

编码树单元复杂度计算模块,用于根据图像结构相似性和运动特性,计算当前编码树单元复杂度;

量化参数计算模块,用于根据二次非线性率失真模型公式12,计算当前CTU使用的量化参数;

目标比特数计算模块,用于利用当前编码树单元复杂度,调整当前CTU分配的目标比特数,计算当前CTU目标比特数。

所述系统还包括:

量化参数波动限定模块,用于限定当前帧中当前CTU的量化参数波动。

本发明的有益效果

本发明提出一种HEVC自适应码率控制方法,本发明方法通过以CTU为单位进行分析处理,将CTU的比特分配与图像结构相似性和运动特性相结合,将码率控制算法与图像复杂特性有机地结合起来,求得编码的量化参数。在保证码率控制精确性的同时,解决图像空间上质量不均匀的问题,提升编码主观效果。试验证明,选用多个测试样本,使用本发明的方法,此方法在图像PSNR基本不变的情况下,比特率误差控制在0.5%,同时图像质量得到更有效控制,提升编码主观质量。

附图说明

图1是本发明优选实施例一种HEVC自适应视频码率控制方法流程图;

图2是本发明优选实施例一种HEVC自适应视频码率控制系统结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明,为了便于说明,仅示出了与本发明实施例相关的部分。应当理解,此处所描写的具体实施例,仅仅用于解释本发明,并不用以限制本发明。

本发明提出一种HEVC自适应码率控制方法和系统,本发明方法通过以CTU为单位进行分析处理,将CTU的比特分配与图像结构相似性和运动特性相结合,将码率控制算法与图像复杂特性有机地结合起来,求得编码的量化参数。在保证码率控制精确性的同时,解决图像空间上质量不均匀的问题,提升编码主观效果。

实施例一

图1是本发明优选实施例一种HEVC自适应视频码率控制方法流程图;所述方法包括以下步骤:

S101,分配当前图像帧的目标比特数;

Tbframe=min(Ub,max(Br/Fr,Lb)) (1)

其中,Tbframe为当前图像帧的目标比特数;Br是编码的目标比特率;Fr是图像帧率;Ub、Lb分别为上下阈值系数;min(变量)表示对变量求取最小值,max(变量)表示对变量就取最大值;α和β是调整系数;W是帧平滑窗系数;

Ub和Lb初始值按照公式2和公式3计算:

Ub=Br/Fr×W×α (2)

Lb=Br/Fr×β (3)

当编码完一帧图像后,分别按照公式4,5更新Ub和Lb;

Ub+=Br/Fr-bits (4)

Lb+=Br/Fr-bits (5)

其中bits是编码当前图像后实际输出编码比特数;

S102,以一个编码树单元CTU(CTU是编码树单元)为码率控制单位,计算目标比特数初始值T1ctu,i

其中,T1ctu,i表示目标比特数初始值;i是当前CTU的编码次序号;j为变量,其取值范围为[i-1-sw,i-1];N是一帧图像中CTU的个数;sw是编码树单元平滑窗系数;Rctu,j是第j个CTU分配的目标比特数;Ract,j是第j个CTU实际编码输出的比特数;Trbit是当前帧的剩余比特数;

Trbit的初始值按照公式7设置:

Trbit=Tbframe (7)

编码完一个CTU后,根据公式8更新Trbit

Trbit-=Ract,i (8)

其中,Ract,i是第i个CTU实际编码输出的比特数。

S103,根据图像结构相似性和运动特性,计算当前编码树单元复杂度Ccomplex

SSIMi-1是第i-1个CTU结构相似性(相似度);MSSIM是平均结构相似性;κ和δ是调整系数;A1是阈值系数;MVi是第i个CTU中的最大运动矢量;

SSIM,结构相似性,是一种衡量两幅图像相似度的指标;给定两个图像x和y,两张图像的结构相似性可按照以下方式求出:

其中,ux是图像x中像素的平均值,uy是图像y中像素的平均值,σx是图像x中像素的方差,σy是图像y中像素的方差,σxy是图像x和图像y中像素的协方差,c1和c2是用来维持稳定的常数。

SSIMi-1的计算方法:将图像x和图像y分别设置为第i-1个CTU的原始图像和重建图像,根据公式(10)计算出的值即为SSIMi-1

MSSIM的计算方法:将每个已经计算出的CTU的SSIM值进行累加平均,得出的值即为MSSIM的值;

S104,利用当前编码树单元复杂度Ccomplex,调整当前CTU分配的目标比特数,计算当前CTU目标比特数Tctu,i

其中,是调整系数。

S105,根据二次非线性率失真模型公式12,计算当前CTU使用的量化参数Qpi

其中,Qpi为当前CTU的量化参数;SSIMi是第i个CTU的结构相似性,d1和d2是调整系数。

SSIMi的计算方法:将图像x和图像y分别设置为第i个CTU的原始图像和重建图像,根据公式(10)计算出的值即为SSIMi

S106,限定当前帧中第i个CTU的量化参数Qpi波动。

根据公式13作限定:

|Qpi-Qpi-1|≤ε (13)

其中,Qpi-1是当前帧已编码的第i-1个CTU的量化参数,ε是限制系数。

实施例二

图2是本发明优选实施例一种HEVC自适应视频码率控制系统结构图,所述系统包括:

目标比特数分配模块,用于分配当前图像帧的目标比特数;

Tbframe=min(Ub,max(Br/Fr,Lb)) (1)

其中,Tbframe为当前图像帧的目标比特数;Br是编码的目标比特率;Fr是图像帧率;Ub、Lb分别为上下阈值系数;min(变量)表示对变量求取最小值,max(变量)表示对变量就取最大值;α和β是调整系数;W是帧平滑窗系数;

Ub和Lb初始值按照公式2和公式3计算:

Ub=Br/Fr×W×α (2)

Lb=Br/Fr×β (3)

当编码完一帧图像后,分别按照公式4,5更新Ub和Lb;

Ub+=Br/Fr-bits (4)

Lb+=Br/Fr-bits (5)

其中bits是编码当前图像后实际输出编码比特数;

目标比特数初始值计算模块,用于以一个编码树单元CTU(CTU是编码树单元)为码率控制单位,计算目标比特数初始值T1ctu,i

其中,T1ctu,i表示目标比特数初始值;i是当前CTU的编码次序号;j为变量,其取值范围为[i-1-sw,i-1];N是一帧图像中CTU的个数;sw是编码树单元平滑窗系数;Rctu,j是第j个CTU分配的目标比特数;Ract,j是第j个CTU实际编码输出的比特数;Trbit是当前帧的剩余比特数;

Trbit的初始值按照公式7设置:

Trbit=Tbframe (7)

编码完一个CTU后,根据公式8更新Trbit

Trbit-=Ract,i (8)

其中,Ract,i是第i个CTU实际编码输出的比特数。

编码树单元复杂度计算模块,用于根据图像结构相似性和运动特性,计算当前编码树单元复杂度Ccomplex

SSIMi-1是第i-1个CTU结构相似性(相似度);MSSIM是平均结构相似性;κ和δ是调整系数;A1是阈值系数;MVi是第i个CTU中的最大运动矢量;

SSIM,结构相似性,是一种衡量两幅图像相似度的指标;给定两个图像x和y,两张图像的结构相似性可按照以下方式求出:

其中,ux是图像x中像素的平均值,uy是图像y中像素的平均值,σx是图像x中像素的方差,σy是图像y中像素的方差,σxy是图像x和图像y中像素的协方差,c1和c2是用来维持稳定的常数。

SSIMi-1的计算方法:将图像x和图像y分别设置为第i-1个CTU的原始图像和重建图像,根据公式(10)计算出的值即为SSIMi-1

MSSIM的计算方法:将每个已经计算出的CTU的SSIM值进行累加平均,得出的值即为MSSIM的值;

目标比特数计算模块,用于利用当前编码树单元复杂度Ccomplex,调整当前CTU分配的目标比特数,计算当前CTU目标比特数Tctu,i

其中,是调整系数。

量化参数计算模块,用于根据二次非线性率失真模型公式12,计算当前CTU使用的量化参数Qpi

其中,Qpi为当前CTU的量化参数;SSIMi是第i个CTU的结构相似性,d1和d2是调整系数。

SSIMi的计算方法:将图像x和图像y分别设置为第i个CTU的原始图像和重建图像,根据公式(10)计算出的值即为SSIMi

量化参数波动限定模块,用于限定当前帧中第i个CTU的量化参数Qpi波动。

根据公式13作限定:

|Qpi-Qpi-1|≤ε (13)

其中,Qpi-1是当前帧已编码的第i-1个CTU的量化参数,ε是限制系数。

本领域的普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序指令相关硬件来完成的,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质可以为ROM、RAM、磁盘、光盘等。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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