CN103281530A - 基于率失真优化的hevc码率控制方法 - Google Patents
基于率失真优化的hevc码率控制方法 Download PDFInfo
- Publication number
- CN103281530A CN103281530A CN2013101652597A CN201310165259A CN103281530A CN 103281530 A CN103281530 A CN 103281530A CN 2013101652597 A CN2013101652597 A CN 2013101652597A CN 201310165259 A CN201310165259 A CN 201310165259A CN 103281530 A CN103281530 A CN 103281530A
- Authority
- CN
- China
- Prior art keywords
- frame
- image sets
- code tree
- gop
- tree unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
本发明公开了一种基于率失真优化的HEVC码率控制方法,主要解决视频编码标准HEVC的现有码率控制方法得到的重建视频质量差的问题。其实现步骤是:(1)设置编码器参数;(2)依次读入每个图像组,并对每个图像组的每一帧进行码率控制;(3)对于每一帧,如果不需要编码树单元层码率控制则计算帧的量化参数并进行编码,如果需要则计算帧的目标比特并进行编码树单元层码率控制;(4)采用一种基于率失真优化的量化参数计算方法,依次计算每个编码树单元的量化参数并进行编码,实现对编码树单元层的码率控制。本发明提高了视频编码标准HEVC的重建视频的质量,可用于视频点播、远程教育、远程医疗、会议电视、可视电话和流媒体等。
Description
技术领域
本发明属于视频通信技术领域,特别涉及针对HEVC视频编码标准的码率控制方法,可用于视频点播、远程教育、远程医疗、会议电视、可视电话和流媒体等。
背景技术
码率控制的目的是通过控制视频编码的参数来控制输出码流的大小,同时尽可能获得更好的视频重建质量。在实时的视频通信中,码率控制是视频编码器不可缺少的一部分。为了满足快速增长的视频内容的需要,由国际电信联盟远程通信标准化组织ITU-T的视频专家组和国际标准委员会ISO的运动图像专家组联合成立的视频编码联合组JCT-VC,制定了新的视频编码标准,即高效率视频编码HEVC。该HEVC标准的编码器配置有三种不同的时域结构:全帧内配置,随机接入配置,低时延配置。其中,全帧内配置对所有的视频帧采用帧内编码的方式进行编码;随机接入配置采用分层的B帧结构,分为四个时域层,I帧以一定的周期插入到GOP第一帧,其时域层的第一层为I帧和GPB帧,其它层为B帧,其中,第一层、第二层和第三层为参考帧,第四层为非参考帧;低时延配置又分为强制性低时延配置和非强制性低时延配置,强制性低时延配置的第一帧为I帧,其余帧为GPB帧,非强制性低时延配置的第一帧为I帧,其余帧为P帧。为了在带宽受限的信道上实时传输HEVC视频码流,需要采用HEVC码率控制技术。
视频编码联合组JCT-VC的会议提案JCTVC-H0213和JCTVC-J0057分别提出了一个码率控制方法,其中JCTVC-H0213在第8次JCT-VC会议上被采纳。JCTVC-H0213提出的编码树单元CTU层码率控制,首先分配CTU的目标比特,然后用基于像素的统一码率-量化参数R-Q模型来计算编码树单元CTU的量化参数QP。JCTVC-H0213码率控制方法的码率-量化参数R-Q模型没有考虑不同时域层对模型参数的影响,对CTU分配比特时没有考虑编码树单元CTU复杂度,所以可以通过对不同的时域层采用不同的码率-量化参数R-Q模型参数和根据编码树单元CTU的复杂度分配其目标比特来进一步提高视频编码质量。JCTVC-J0057中的方法是一个基于x264码率控制的帧层码率控制方法。为了获得更好的视频主观质量,不同编码复杂度的编码树单元CTU应该采用不同的量化参数QP,而JCTVC-J0057中的方法对一帧的所有编码树单元CTU采用相同的量化参数QP编码,导致重建图像的不同区域视觉差别比较大,视频主观质量比较差。
发明内容
本发明的于针对上述已有技术的不足,在提案JCTVC-H0213码率控制方法的基础上提出一种基于率失真优化的HEVC码率控制方法,以获得更好的码率控制性能。
实现本发明的基本思想是:对大多数的图像组GOP第一帧则采用编码树单元CTU层码率控制;对不同的时域层分别使用不同的码率-量化参数R-Q模型参数;根据随机接入配置和低时延配置的时域结构特性分别采用不同的帧层目标比特计算方法;对于编码树单元CTU层的码率控制,采用一种基于码率-量化参数R-Q模型和失真-量化参数D-Q模型的最优化方法计算量化参数QP,其技术方案包括如下步骤:
(1)读取编码器配置文件,设置编码参数:
(1a)根据配置文件,分别设置初始量化参数Qin和所有图像组GOP的大小,并将编码的时域结构设置为随机接入或者低时延,根据配置文件中的原始视频文件路径打开原始视频文件;
(1b)设第i个图像组的初始值i=0,设图像组中第j帧的初始值j=0;
(2)判断原始视频文件中是否有未编码的图像组,如果原始视频文件中有未编码的图像组,则进入步骤(3);否则,编码器编码结束;
(3)读入一个图像组GOP,令i=i+1,j=0;
(4)令j=j+1,计算编码器的输出缓冲区占用值Vi,j和图像组GOP的剩余比特Bi,j;
(5)根据时域结构配置,判断第i个GOP的第j帧是否需要编码树单元CTU层的码率控制:
5a)对于随机接入配置:
若i=1,j=1或者i=2,j=1或者i=2,j=2或者i=2,j=3,则不需要编码树单元CTU层码率控制,即把第i个图像组第j帧的所有编码树单元CTU的量化参数设为初始量化参数Qin,对该帧的所有编码树单元CTU进行编码后,执行步骤(8);
若第i个图像组的第j帧是帧内编码帧,则不需要编码树单元层码率控制,即把其所有编码树单元CTU的量化参数设为上一个图像组中参考帧量化参数的平均值,再对第i个图像组的第j帧所有编码树单元CTU进行编码后,执行步骤(8);
若第i个GOP的第j帧是非参考帧,则不需要编码树单元层码率控制,即根据播放顺序的前一帧的所有编码树单元的量化参数和后一帧的所有编码树单元的量化参数来计算第i个图像组第j帧的所有编码树单元CTU的量化参数,再对第i个图像组第j帧的所有编码树单元CTU编码后,执行步骤(8);
若第i个图像组GOP的剩余比特Bi,j小于0,则不需要编码树单元层码率控制,即把第i个图像组第j帧的所有编码树单元CTU的量化参数设为前一帧的所有编码树单元CTU的量化参数的平均值加2,再对第i个图像组第j帧的所有编码树单元CTU进行编码后,执行步骤(8);
若第i个图像组第j帧为除上述情况外的其它情况,则需要编码树单元层码率控制,执行步骤(6);
5b)对于低时延配置:
若i=1,j=1或者i=2,j=1,则不需要编码树单元CTU层码率控制,即把第i个图像组第j帧的所有编码树单元CTU的量化参数设为初始量化参数Qin,再对第i个图像组第j帧的所有编码树单元CTU进行编码后,执行步骤(8);
若第i个图像组GOP的剩余比特Bi,j小于0,则不需要编码树单元CTU层码率控制,即把第i个图像组第j帧的所有编码树单元CTU的量化参数设为第i个图像组GOP的第j-1帧的所有编码树单元CTU的量化参数的平均值加2,再对第i个图像组第j帧的所有编码树单元CTU进行编码后,执行步骤(8);
若第i个图像组第j帧为上述情况外的其它情况,则需要编码树单元层CTU码率控制,执行步骤(6);
(6)计算第i个图像组的第j帧的目标比特Ti,j;
(7)令第i个图像组第j帧的剩余编码树单元的目标比特Tr,i,j=Ti,j,进行编码树单元层码率控制:
(7a)设第k个编码树单元k=1,将第i个图像组第j帧的第k个编码树单元的量化参数QPi,j,k设为上一个参考帧的所有编码树单元的量化参数的平均值,并对其进行编码,得到第k个编码树单元的实际编码比特bi,j,k;
(7b)令Tr,i,j=Tr,i,j-bi,j,k,k=k+1;如果Tr,i,j≤0,则令第i个图像组第j帧的第k个编码树单元的量化参数QPi,j,k等于上一个参考帧的所有编码树单元的量化参数的平均值加2,执行步骤(7d);否则,执行步骤(7c);
(7c)根据平均绝对差值预测模型,用同一时域层的前一帧的相应位置的编码树单元的实际平均绝对差值预测第i个图像组第j帧每一个剩余的编码树单元的平均绝对差值,根据码率-量化参数模型和失真-量化参数模型,采用拉格朗日方法,通过使剩余编码树单元的失真的倒数和最大化,来计算第k个编码树单元的量化步长QSi,j,k,根据量化步长与量化参数的对应关系得到第i个图像组第j帧的第k个编码树单元的量化参数QPi,j,k;
(7d)用第i个图像组第j帧的第k个编码树单元的量化参数QPi,j,k对第i个图像组第j帧的第k个编码树单元编码,得到第i个图像组第j帧的第k个编码树单元的实际编码比特bi,j,k;
(7e)比较k与一帧所包含的编码树单元个数NCTU的大小,如果k<NCTU,返回步骤(7b);如果k≥NCTU,则编码树单元层码率控制结束,执行步骤(8);
(8)如果第i个图像组的第j帧是第i个图像组的最后一帧,则返回步骤(2);否则返回步骤(4)。
本发明具有如下优点:
1.本发明与提案JCTVC-H0213中的码率控制方法相比,由于对大部分图像组GOP的第一帧采用编码树单元层码率控制,对不同的时域层分别使用不同的模型参数,并根据随机接入配置和低时延配置的时域结构特性分别采用不同的帧层目标比特计算方法;同时由于编码树单元层的码率控制,采用一种基于码率-量化参数模型和失真-量化参数模型的最优化方法计算量化参数,因而能获得更好的码率控制性能。
2.本发明与提案JCTVC-H0213中的码率控制方法相比,采用JCTVC会议提案JCTVC-I1100中规定的视频序列作为测试序列,在码率接近的情况下,提高了重建视频的平均峰值信噪比。
实验结果表明,本发明在随机接入配置下将重建视频的平均峰值信噪比提高了2.055dB,在强制性低时延配置下将重建视频的平均峰值信噪比提高了1.511dB,在非强制性低性时延配置下将重建视频的平均峰值信噪比提高了1.433dB,而且视频帧的峰值信噪比的波动更小。
附图说明
图1是本发明的码率控制流程图;
图2是分别采用本发明和JCTVC-H0213中的码率控制方法进行编码得到的率失真曲线对比图;
图3是分别采用本发明和JCTVC-H0213中的码率控制方法进行编码得到的PSNR曲线对比图。
具体实施方式
下面将结合附图对本发明的实施例进行详细描述。本实施例以本发明技术方法为前提进行实施,给出了详细的实施方式和具体操作,但本发明的保护范围不限于下述实施例。
参照图1,本发明的实现步骤如下:
步骤一:读取编码器配置文件,设置编码参数。
编码参数包括初始量化参数Qin,图像组的大小,编码的时域结构,第i个图像组的初始值,图像组中第j帧的初始值;
初始量化参数Qin有两种方法可以得到:根据编码器配置文件设置初始量化参数Qin或者根据JCTVC会议提案JCTVC-J0262中的方法设置初始量化参数Qin,设置编码的时域结构为随机接入或者低时延,设第i个图像组的初始值i=0,设图像组中第j帧的初始值j=0;
步骤二:根据编码器配置文件中的原始视频文件路径打开原始视频文件。
步骤三:判断原始视频文件中是否有未编码的图像组,如果原始视频文件中有未编码的图像组,则进入步骤四;否则,编码器编码结束。
步骤四:读入一个图像组,令i=i+1,j=0。
步骤五:计算编码器的输出缓冲区占用值Vi,j和图像组的剩余比特Bi,j。
令j=j+1,根据时域结构配置计算编码器的输出缓冲区占用值Vi,j和图像组的剩余比特Bi,j:
对于随机接入配置:
其中f表示帧率,Ri,j表示对第i个图像组第j帧编码时的带宽,Ri,j-1表示对第i个图像组第j-1帧编码时的带宽,NGOP表示图像组的帧数,表示对第i个图像组第NGOP帧编码时的缓冲区占用值,Vi,j-1表示对第i个图像组第j-1帧编码时的缓冲区占用值,bi,j-1表示第i个图像组第j-1帧的实际编码比特,NII表示两个相邻帧内编码帧之间的帧数;
对于低时延配置,
其中f表示帧率,表示对第i个图像组第NGOP帧编码时的带宽,Ri-1,j-1表示对第i个图像组第j-1帧编码时的带宽,Ri-1,j表示对第i个图像组第j帧编码时的带宽,bi,j-1表示第i个图像组第j-1帧的实际编码比特,表示对第i个图像组第NGOP帧编码时的调整比特,Ai,j-1表示第i个图像组第j-1帧编码时的调整比特;
步骤六:根据时域结构配置,判断第i个图像组的第j帧是否需要编码树单元层码率控制。
6a)对于随机接入配置:
若i=1,j=1或者i=2,j=1或者i=2,j=2或者i=2,j=3,则不需要编码树单元层码率控制,即把第i个图像组第j帧的所有编码树单元的量化参数设为初始量化参数Qin,对该第i个图像组第j帧的所有编码树单元进行编码后,执行步骤九;
若第i个图像组的第j帧是帧内编码帧,则不需要编码树单元层码率控制,把其所有编码树单元的量化参数设为上一个图像组中参考帧量化参数的平均值,即令 然后对第i个图像组的第j帧所有编码树单元进行编码后,执行步骤九,其中,QPi-1,1表示第i-1个图像组第1帧的量化参数,Nref表示图像组中参考帧的个数,jref表示参考帧的索引;
若第i个图像组的第j帧是非参考帧,则不需要编码树单元层码率控制,令第i个图像组第j帧的量化参数再对第i个图像组第j帧的所有编码树单元编码后,执行步骤九,其中QPpre表示第i个图像组第j帧播放顺序上的前一帧的量化参数,QPnext表示第i个图像组第j帧播放顺序上的后一帧的量化参数;
若第i个图像组的剩余比特Bi,j小于0,则不需要编码树单元层码率控制,即把第i个图像组第j帧的所有编码树单元的量化参数设为前一帧的所有编码树单元的量化参数的平均值加2,再对第i个图像组第j帧的所有编码树单元进行编码后,执行步骤九;
若第i个图像组第j帧为除上述情况外的其它情况,则需要编码树单元层码率控制,执行步骤七;
6b)对于低时延配置:
若i=1,j=1或者i=2,j=1,则不需要编码树单元层码率控制,即把第i个图像组第j帧的所有编码树单元的量化参数设为初始量化参数Qin,再对第i个图像组第j帧的所有编码树单元进行编码后,执行步骤九;
若第i个图像组的剩余比特Bi,j小于0,则不需要编码树单元层码率控制,即把第i个图像组第j帧的所有编码树单元的量化参数设为第i个图像组的第j-1帧的所有编码树单元的量化参数的平均值加2,再对第i个图像组第j帧的所有编码树单元进行编码后,执行步骤九;
若第i个图像组第j帧为上述情况外的其它情况,则需要编码树单元层码率控制,执行步骤七;
步骤七:计算第i个图像组的第j帧的目标比特Ti,j。
7a1)对于随机接入配置,通过如下公式计算目标比特
其中,lcurr是第i个图像组中第j帧的时域层索引,Bi,j是第i个图像组的剩余比特,Nl,r,i表示第i个图像组中第l时域层的剩余的帧数,m表示总时域层数,取值为4,表示对第i个图像组第j帧编码时第l时域层的权值,表示对第i个图像组第j帧编码时第lcurr时域层的权值;
其中,li,j-1表示第i个图像组第j-1帧所在的时域层索引,NGOP表示图像组包含的帧数,表示第i-1个图像组第NGOP帧所在的时域层索引,li,j-1表示第i个图像组第j-1帧所在的时域层,QPi,j-1表示第i个图像组第j-1帧的量化参数,bi,j-1表示第i个图像组的第j-1帧的实际编码比特,表示对第i个图像组第NGOP帧编码时第l时域层的权值,表示对第i个图像组第j-1帧编码时第l时域层的权值;
其中,Nr,i表示第i个图像组中剩余的帧数,Bi,j表示第i个图像组的剩余比特;
(7b)计算基于缓冲区的目标比特:其中f表示帧率,Ri,j表示对第i个图像组第j帧编码时的带宽,Vi,j表示对第i个图像组第j帧编码时的缓冲区占用值,γ是常数,取值为0.25,Si,j表示目标缓冲区;
所述Si,j根据时域结构配置计算:
对于随机接入配置:
对于低时延配置:
其中,Vi,j表示缓冲区占用值,Si,j-1表示第i个图像组第j帧的目标缓冲区,Nl,i表示第i个图像组第l层的帧数,Ri,j表示对第i个图像组第j帧编码时的带宽,f表示帧率,表示对第i个图像组第j帧编码时第lcurr时域层的权值,lcurr表示第i个图像组第j帧的时域层,表示对第i个图像组第j帧编码时第l时域层的权值,NGOP表示图像组的帧数,Nref表示第i个图像组中参考帧个数,m表示时域层数,取值为4,Si,q表示第i个图像组第q帧的目标缓冲区,Si,p表示第i个图像组第p帧的目标缓冲区,
其中f表示帧率,Ri,j表示第i个图像组第j帧编码时的带宽,Vi,j表示对第i个图像组第j帧编码时缓冲区占用值,Ui,j-1表示第i个图像组第j-1帧的目标比特的上界;Li,j表示目标比特的下界,根据时域结构配置分两种情况计算:
其中f表示帧率,Ri,j表示第i个图像组第j帧编码时的带宽,Vi,j表示对第i个图像组第j帧编码时缓冲区占用值,NGOP表示图像组的帧数,表示第i-1帧第NGOP帧的调整比特,Li,j-1表示第i个图像组第j-1帧的目标比特的下界。
步骤八:令第i个图像组第j帧的剩余编码树单元的目标比特Tr,i,j=Ti,j,进行编码树单元层码率控制。
(8a)设第k个编码树单元k=1,将第i个图像组第j帧的第k个编码树单元的量化参数QPi,j,k设为上一个参考帧的所有编码树单元的量化参数的平均值,并对其进行编码,得到第k个编码树单元的实际编码比特bi,j,k;
(8b)令Tr,i,j=Tr,i,j-bi,j,k,k=k+1;如果Tr,i,j≤0,则令第i个图像组第j帧的第k个编码树单元的量化参数QPi,j,k等于上一个参考帧的所有编码树单元的量化参数的平均值加2,执行步骤(8d);否则,执行步骤(8c);
(8c)计算第i个图像组第j帧的第k个编码树单元的量化参数QPi,j,k:
(8c1)用g表示未编码的编码树单元的索引,g的取值范围是k≤g≤NCTU,对于此范围内的每一个g,根据平均绝对差值预测公式MADpred,g=c1,l×MADac,g+c2,l,得到第i个图像组第j帧第g个编码树单元的预测平均绝对差值MADpred,g;
其中c1,l是第l时域层的平均绝对差值预测模型的一次系数,c2,l是第l时域层的平均绝对差值预测模型的常系数,MADac,g表示第l时域层上一帧的第i个图像组第j帧第g个编码树单元的实际平均绝对差值,NCTU表示一帧中包含的编码树单元的总个数;
其中,l表示时域层,Dl表示处于第l时域层的编码树单元的失真,ρl是第l层的失真-量化参数模型的参数,QS表示量化步长,Tsum,l是第l层的编码树单元编码比特,包括纹理比特和非纹理比特,W和H分别表示编码树单元的宽度和高度,a1,l是第l时域层的码率-量化参数模型的一次系数,a2,l是第l时域层的码率-量化参数模型的二次系数,MADpred,l是第l层编码树单元的预测平均绝对差值,li,j表示第i个图像组第j帧所在的时域层,表示对第k个编码树单元编码时第li,j时域层的码率-量化参数模型一次系数,表示对第k个编码树单元编码时第li,j时域层的码率-量化参数模型的二次系数,Wk和Hk表示第k个编码树单元的实际宽度和高度,Wg和Hg第g个编码树单元的实际宽度和高度,Tr,i,j表示第i个图像组第j帧的剩余比特,NCTU表示一帧中的编码树单元个数,MADpred,k表示第k个编码树单元的预测平均绝对差值,MADpred,g表示第g个编码树单元的预测平均绝对差值;
(8c3)根据量化步长QSi,j,k与量化参数的对应关系,得到第i个图像组第j帧的第k个编码树单元的量化参数QPi,j,k;
(8d)用第i个图像组第j帧的第k个编码树单元的量化参数QPi,j,k对第i个图像组第j帧的第k个编码树单元进行编码,得到第i个图像组第j帧的第k个编码树单元的实际编码比特bi,j,k;
(8e)比较k与一帧所包含的编码树单元个数NCTU的大小,如果k<NCTU,则返回步骤(8b);如果k≥NCTU,则编码树单元层码率控制结束,执行步骤九。
步骤九:判断第i个图像组的第j帧是否是第i个图像组的最后一帧,如果是第i个图像组的第j帧是第i个图像组的最后一帧,则返回步骤三;否则返回步骤五。
上述步骤描述了本发明的优选实例,显然本领域的研究人员可参考本发明的优选实例和附图对本发明做出各种修改和替换,这些修改和替换都应落入本发明的保护范围之内。
本发明的效果可通过以下实验进一步说明:
1)实验条件
实验平台为HEVC参考软件HM-8.0rc2。
测试序列是JCTVC会议提案JCTVC-I1100中所规定的测试序列,根据视频分辨率,视频序列分别分为A类,B类,C类,D类和E类,其中B类根据帧率又分为B1和B2类。
目标码率为JCTVC会议提案JCTVC-A204所规定的目标码率,其中A类的目标码率是3500kbps,5000kbps,8000kbps,和14000kbps,;B1类的目标码率是1600kbps,2500kbps,4000kbps,和6000kbps;B2类的目标码率是3000kbps,4500kbps,7000kbps,和10000kbps;C类的目标码率是512kbps,768kbps,1200kbps和2000kbps;D类和E类的目标码率是384kbps,512kbps,850kbps和1500kbps。
初始量化参数根据JCTVC会议提案JCTVC-J0262中的方法得到,JCTVC-H0213和本发明使用相同的初始量化参数。
2)实验内容与结果
实验1,根据实验条件,对测试序列分别采用本发明和JCTVC-H0213中的码率控制方法进行编码,分别得到重建视频的峰值信噪比和码率。根据该峰值信噪比和码率得到率失真曲线对比图,如图2所示,其中图2(a)是视频序列“Traffic”在随机接入配置下的率失真曲线对比图,图2(b)是视频序列“BQMall”在随机接入配置下的率失真曲线对比图,图2(c)是视频序列“BQTerrace”在强制性低时延配置下的率失真曲线对比图,图2(d)是视频序列“Johnny”在强制性低时延配置下的率失真曲线对比图,图2(e)是视频序列“Cactus”在非强制性低时延配置下的率失真曲线对比图,2(f)是视频序列“KristenAndSara”在非强制性低时延配置下的率失真曲线对比图。
实验1得到的视频序列“PartyScene”的重建视频的峰值信噪比和视频序列“Kimono”的重建视频的峰值信噪比如图3所示,其中图3(a)是视频序列“PartyScene”在随机接入配置下,目标码率为768kbps得到的PSNR曲线对比图,图3(b)是视频序列“Kimono”在非强制性低时延配置下,目标码率为1600kbps得到的PSNR曲线对比图。
为了评估峰值信噪比PSNR和码率的性能,定义峰值信噪比的提高值ΔPSNR和码率变化的百分比ΔR为:
ΔPSNR=PSNRt-PSNRb
其中PSNRt和Rt分别表示使用本发明的码率控制方法进行编码得到的峰值信噪比和码率,PSNRb和Rb分别表示使用JCTVC-H0213中的码率控制方法进行编码得到的峰值信噪比和码率。
根据实验1得到重建视频的峰值信噪比和码率计算得到相应的ΔPSNR和ΔR,并进行统计,结果如表1所示,其中“—”表示JCTVC-I1100中规定不需要进行测试的情况。
表1 本发明与JCTVC-H0213的实验结果比较
从表1中的结果可以看出,与JCTVC-H0213相比,在码率接近的情况下,对于所有的序列,本发明都获得了更高的PSNR。其中随机接入配置的平均ΔPSNR比两种低时延配置的都要大,这是因为本发明考虑了随机接入配置的不同时域层的特性。在随机接入配置,强制性低时延配置和非强制低性时延配置下,本发明将重建视频的平均PSNR分别提高了2.055dB,1.511dB和1.433dB。
从图2中可以看出,本发明和JCTVC-H0213的码率都与目标码率接近,但是本发明在六个视频的各个目标码率上都可以获得更高的PSNR值。其中,序列“Traffic”在目标码率3500kbps时,本发明能够将重建视频的PSNR从34.57dB提高到37.12dB,提高了2.55dB。
从图3可以看出,本发明获得了更平滑的PSNR性能。
Claims (8)
1.一种基于率失真优化的HEVC码率控制方法,包括如下步骤:
(1)读取编码器配置文件,设置编码参数:
(1a)根据配置文件,分别设置初始量化参数Qin和所有图像组GOP的大小,并将编码的时域结构设置为随机接入或者低时延,根据配置文件中的原始视频文件路径打开原始视频文件;
(1b)设第i个图像组的初始值i=0,设图像组中第j帧的初始值j=0;
(2)判断原始视频文件中是否有未编码的图像组,如果原始视频文件中有未编码的图像组,则进入步骤(3);否则,编码器编码结束;
(3)读入一个图像组GOP,令i=i+1,j=0;
(4)令j=j+1,计算编码器的输出缓冲区占用值Vi,j和图像组GOP的剩余比特Bi,j;
(5)根据时域结构配置,判断第i个GOP的第j帧是否需要编码树单元CTU层的码率控制:
5a)对于随机接入配置:
若i=1,j=1或者i=2,j=1或者i=2,j=2或者i=2,j=3,则不需要编码树单元CTU层码率控制,即把第i个图像组第j帧的所有编码树单元CTU的量化参数设为配置中的初始量化参数Qin,对该j帧的所有编码树单元CTU进行编码后,执行步骤(8);
若第i个图像组的第j帧是帧内编码帧,则不需要编码树单元层码率控制,即把其所有编码树单元CTU的量化参数设为上一个图像组中参考帧量化参数的平均值,再对第i个图像组的第j帧所有编码树单元CTU进行编码后,执行步骤(8);
若第i个GOP的第j帧是非参考帧,则不需要编码树单元层码率控制,即根据播放顺序的前一帧的所有编码树单元的量化参数和后一帧的所有编码树单元的量化参数来计算第i个图像组第j帧的所有编码树单元CTU的量化参数,再对第i个图像组第j帧的所有编码树单元CTU编码后,执行步骤(8);
若第i个图像组GOP的剩余比特Bi,j小于0,则不需要编码树单元层码率控制,即把第i个图像组第j帧的所有编码树单元CTU的量化参数设为前一帧的所有编码树单元CTU的量化参数的平均值加2,再对第i个图像组第j帧的所有编码树单元CTU进行编码后,执行步骤(8);
若第i个图像组第j帧为除上述情况外的其它情况,则需要编码树单元层码率控制,执行步骤(6);
5b)对于低时延配置:
若i=1,j=1或者i=2,j=1,则不需要编码树单元CTU层码率控制,即把第i个图像组第j帧的所有编码树单元CTU的量化参数设为初始量化参数Qin,再对第i个图像组第j帧的所有编码树单元CTU进行编码后,执行步骤(8);
若第i个图像组GOP的剩余比特Bi,j小于0,则不需要编码树单元CTU层码率控制,即把第i个图像组第j帧的所有编码树单元CTU的量化参数设为第i个图像组GOP的第j-1帧的所有编码树单元CTU的量化参数的平均值加2,再对第i个图像组第j帧的所有编码树单元CTU进行编码后,执行步骤(8);
若第i个图像组第j帧为上述情况外的其它情况,则需要编码树单元层CTU码率控制,执行步骤(6);
(6)计算第i个图像组的第j帧的目标比特Ti,j;
(7)令第i个图像组第j帧的剩余编码树单元的目标比特Tr,i,j=Ti,j,进行编码树单元层码率控制:
(7a)设第k个编码树单元k=1,将第i个图像组第j帧的第k个编码树单元的量化参数QPi,j,k设为上一个参考帧的所有编码树单元的量化参数的平均值,并对其进行编码,得到第k个编码树单元的实际编码比特bi,j,k;
(7b)令Tr,i,j=Tr,i,j-bi,j,k,k=k+1;如果Tr,i,j≤0,则令第i个图像组第j帧的第k个编码树单元的量化参数QPi,j,k等于上一个参考帧的所有编码树单元的量化参数的平均值加2,执行步骤(7d);否则,执行步骤(7c);
(7c)根据平均绝对差值预测模型,用同一时域层的前一帧的相应位置的编码树单元的实际平均绝对差值预测第i个图像组第j帧每一个剩余的的编码树单元的平均绝对差值,根据码率-量化参数模型和失真-量化参数模型,采用拉格朗日方法,通过使剩余编码树单元的失真的倒数和最大化,来计算第k个编码树单元的量化步长QSi,j,k,根据量化步长与量化参数的对应关系得到第i个图像组第j帧的第k个编码树单元的量化参数QPi,j,k;
(7d)用第i个图像组第j帧的第k个编码树单元的量化参数QPi,j,k对第i个图像组第j帧的第k个编码树单元编码,得到第i个图像组第j帧的第k个编码树单元的实际编码比特bi,j,k;
(7e)比较k与一帧所包含的编码树单元个数NCTU的大小,如果k<NCTU,返回步骤(7b);如果k≥NCTU,则编码树单元层码率控制结束,执行步骤(8);
(8)如果第i个图像组的第j帧是第i个图像组的最后一帧,则返回步骤(2);否则返回步骤(4)。
2.根据权利要求1所述的基于率失真优化的HEVC码率控制方法,其中步骤(4)所述的计算编码器的输出缓冲区占用值Vi,j和图像组剩余比特Bi,j,按以下不同配置计算:
对于随机接入配置:
其中f表示帧率,Ri,j表示对第i个图像组第j帧编码时的带宽,Ri,j-1表示对第i个图像组第j-1帧编码时的带宽,NGOP表示图像组的帧数,表示对第i个图像组第NGOP帧编码时的缓冲区占用值,Vi,j-1表示对第i个图像组第j-1帧编码时的缓冲区占用值,bi,j-1表示第i个图像组第j-1帧的实际编码比特,NII表示两个帧内编码帧之间的帧数;
对于低时延配置,
4.根据权利要求1所述的基于率失真优化的HEVC码率控制方法,其中
步骤(6)所述的计算第i个图像组第j帧的目标比特Ti,j,按如下步骤进行:
其中,lcurr是第i个图像组中第j帧的时域层索引,Bi,j是第i个图像组的剩余比特,Nl,r,i表示第i个图像组中第l时域层的剩余的帧数,m表示总时域层数,取值为4,表示对第i个图像组第j帧编码时第lcurr时域层的权值,表示对第i个图像组第j帧编码时第l时域层的权值,的值根据下式计算:
的值根据下式计算:
其中,li,j-1表示第i个图像组第j-1帧所在的时域层,NGOP表示图像组包含的帧数,表示第i-1个图像组第NGOP帧所在的时域层,li,j-1表示第i个图像组第j-1帧所在的时域层,QPi,j-1表示第i个图像组第j-1帧的量化参数,bi,j-1表示第i个图像组的第j帧的实际编码比特,表示对第i个图像组第NGOP帧编码时第l时域层的权值,表示对第i个图像组第j-1帧编码时第l时域层的权值;
(6a2)对于低时延配置:
其中,Nr,i表示第i个图像组中剩余的帧数,Bi,j表示第i个图像组的剩余比特;
其中f表示帧率,Ri,j表示对第i个图像组第j帧编码时的带宽,Vi,j表示对第i个图像组第j帧编码时的缓冲区占用值,γ是常数,取值为0.25,Si,j表示目标缓冲区,根据时域结构配置计算:
对于随机接入配置:
对于低时延配置:
其中,Vi,j表示缓冲区占用值,Si,j-1表示第i个图像组第j帧的目标缓冲区,Nl,i表示第i个图像组第l层的帧数,Ri,j表示对第i个图像组第j帧编码时的带宽,f表示帧率,表示对第i个图像组第j帧编码时第lcurr时域层的权值,lcurr表示第i个图像组第j帧的时域层,表示对第i个图像组第j帧编码时第l时域层的权值,NGOP表示图像组的帧数,Nref表示第i个图像组中参考帧个数,m表示时域层数,取值为4,Si,q表示第i个图像组第q帧的目标缓冲区,
Si,p表示第i个图像组第p帧的目标缓冲区,
(6c)计算第i个图像组中第j帧的目标比特:
其中f表示帧率,Ri,j表示第i个图像组第j帧编码时的带宽,Vi,j表示对第i个图像组第j帧编码时缓冲区占用值,Ui,j-1表示第i个图像组第j-1帧的目标比特的上界;Li,j表示目标比特的下界,根据时域结构配置分两种情况计算:
5.根据权利要求1所述的基于率失真优化的HEVC码率控制方法,其中所述步骤(7c)的平均绝对差值预测模型,表示如下:
MADpred,l=c1,l×MADactu,l+c2,l
其中c1,l和c2,l是第l时域层的平均绝对差值预测模型参数,MADactu,l表示第l时域层上一帧的编码树单元的实际平均绝对差值。
6.根据权利要求1所述的基于率失真优化的HEVC码率控制方法,其中所述步骤(7c)的码率-量化参数模型,表示如下:
其中l表示时域层,Tsum,l是第l层的编码树单元编码比特,包括纹理比特和非纹理比特,W和H分别表示编码树单元的宽度和高度,a1,l是第l时域层模型的一次系数,a2,l是第l时域层模型的二次系数,QS表示量化步长,MADpred,l是第l层编码树单元的平均绝对差值的预测值。
7.根据权利要求1所述的基于率失真优化的HEVC码率控制方法,其中所述步骤(7c)的失真-量化参数模型,表示如下:
Dl=ρl×QS
其中l表示时域层,Dl表示处于第l时域层的编码树单元的失真,ρl是第l层的模型参数,QS表示量化步长。
8.根据权利要求1所述的基于率失真优化的HEVC码率控制方法,其中步骤(7c)所述的计算第k个编码树单元的量化步长QSi,j,k,其计算公式如下:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310165259.7A CN103281530B (zh) | 2013-05-07 | 2013-05-07 | 基于率失真优化的hevc码率控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310165259.7A CN103281530B (zh) | 2013-05-07 | 2013-05-07 | 基于率失真优化的hevc码率控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103281530A true CN103281530A (zh) | 2013-09-04 |
CN103281530B CN103281530B (zh) | 2016-05-25 |
Family
ID=49063959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310165259.7A Expired - Fee Related CN103281530B (zh) | 2013-05-07 | 2013-05-07 | 基于率失真优化的hevc码率控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103281530B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103561266A (zh) * | 2013-11-06 | 2014-02-05 | 北京牡丹电子集团有限责任公司数字电视技术中心 | 基于对数r-q模型和层次化比特分配的码率控制方法 |
CN105376571A (zh) * | 2015-11-06 | 2016-03-02 | 山东交通学院 | 一种基于R-lambda码率控制模型的HEVC重建视频闪烁抑制方法 |
CN105554503A (zh) * | 2016-02-02 | 2016-05-04 | 同济大学 | 一种hevc编码单元级码率控制方法 |
CN105872545A (zh) * | 2016-04-19 | 2016-08-17 | 电子科技大学 | 一种随机接入视频编码中层次化时域率失真优化方法 |
CN105898328A (zh) * | 2015-12-14 | 2016-08-24 | 乐视云计算有限公司 | 包含自参考编码的参考帧集设置方法及装置 |
CN106231301A (zh) * | 2016-07-22 | 2016-12-14 | 上海交通大学 | 基于编码单元层次和率失真代价的hevc复杂度控制方法 |
CN106303464A (zh) * | 2016-09-30 | 2017-01-04 | 广西师范大学 | 一种无线视频监控服务端、客户端、系统和处理方法 |
CN106412503A (zh) * | 2016-09-23 | 2017-02-15 | 华为技术有限公司 | 图像处理方法及装置 |
CN106937118A (zh) * | 2017-03-13 | 2017-07-07 | 西安电子科技大学 | 一种基于主观感兴趣区域和时空域相结合的码率控制方法 |
CN107071422A (zh) * | 2017-04-17 | 2017-08-18 | 南京邮电大学 | 基于图像相关模型的低复杂度hevc码率适配转换编码方法 |
CN107852491A (zh) * | 2015-07-31 | 2018-03-27 | 深圳市大疆创新科技有限公司 | 传感器辅助的码率控制方法 |
CN112203123A (zh) * | 2020-09-10 | 2021-01-08 | 鹏城实验室 | 一种屏幕内容视频编码码率控制方法、终端及存储介质 |
CN113747161A (zh) * | 2020-05-29 | 2021-12-03 | 北京金山云网络技术有限公司 | 信息的获取方法和装置、存储介质和电子装置 |
CN114466190A (zh) * | 2022-02-18 | 2022-05-10 | 复旦大学 | 一种图像集合级别的码率控制算法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120128067A1 (en) * | 2010-11-22 | 2012-05-24 | Mediatek Singapore Pte. Ltd. | Apparatus and Method of Constrained Partition Size for High Efficiency Video Coding |
KR20120096863A (ko) * | 2011-02-23 | 2012-08-31 | 한국전자통신연구원 | 고효율 비디오 부호화의 계층적 부호화 구조를 위한 비트율 제어 기법 |
US20130094592A1 (en) * | 2011-10-04 | 2013-04-18 | Texas Instruments Incorporated | Virtual Memory Access Bandwidth Verification (VMBV) in Video Coding |
CN103210647A (zh) * | 2010-11-08 | 2013-07-17 | 联发科技股份有限公司 | 高效视频编码的Delta量化参数处理方法及装置 |
-
2013
- 2013-05-07 CN CN201310165259.7A patent/CN103281530B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103210647A (zh) * | 2010-11-08 | 2013-07-17 | 联发科技股份有限公司 | 高效视频编码的Delta量化参数处理方法及装置 |
US20120128067A1 (en) * | 2010-11-22 | 2012-05-24 | Mediatek Singapore Pte. Ltd. | Apparatus and Method of Constrained Partition Size for High Efficiency Video Coding |
KR20120096863A (ko) * | 2011-02-23 | 2012-08-31 | 한국전자통신연구원 | 고효율 비디오 부호화의 계층적 부호화 구조를 위한 비트율 제어 기법 |
US20130094592A1 (en) * | 2011-10-04 | 2013-04-18 | Texas Instruments Incorporated | Virtual Memory Access Bandwidth Verification (VMBV) in Video Coding |
Non-Patent Citations (1)
Title |
---|
H CHOI ET AL: "Rate control based on unified RQ model for HEVC", 《8. MEETING; SAN JOSE; JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11; NO.JCTVC-H0213; 2012-02-10》, 10 February 2012 (2012-02-10) * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103561266B (zh) * | 2013-11-06 | 2016-11-02 | 北京牡丹电子集团有限责任公司数字电视技术中心 | 基于对数r-q模型和层次化比特分配的码率控制方法 |
CN103561266A (zh) * | 2013-11-06 | 2014-02-05 | 北京牡丹电子集团有限责任公司数字电视技术中心 | 基于对数r-q模型和层次化比特分配的码率控制方法 |
CN107852491B (zh) * | 2015-07-31 | 2021-09-14 | 深圳市大疆创新科技有限公司 | 传感器辅助的码率控制方法 |
CN107852491A (zh) * | 2015-07-31 | 2018-03-27 | 深圳市大疆创新科技有限公司 | 传感器辅助的码率控制方法 |
CN105376571A (zh) * | 2015-11-06 | 2016-03-02 | 山东交通学院 | 一种基于R-lambda码率控制模型的HEVC重建视频闪烁抑制方法 |
CN105898328A (zh) * | 2015-12-14 | 2016-08-24 | 乐视云计算有限公司 | 包含自参考编码的参考帧集设置方法及装置 |
CN105554503A (zh) * | 2016-02-02 | 2016-05-04 | 同济大学 | 一种hevc编码单元级码率控制方法 |
CN105554503B (zh) * | 2016-02-02 | 2018-12-18 | 同济大学 | 一种hevc编码单元级码率控制方法 |
CN105872545A (zh) * | 2016-04-19 | 2016-08-17 | 电子科技大学 | 一种随机接入视频编码中层次化时域率失真优化方法 |
CN105872545B (zh) * | 2016-04-19 | 2019-03-29 | 电子科技大学 | 一种随机接入视频编码中层次化时域率失真优化方法 |
CN106231301A (zh) * | 2016-07-22 | 2016-12-14 | 上海交通大学 | 基于编码单元层次和率失真代价的hevc复杂度控制方法 |
CN106412503A (zh) * | 2016-09-23 | 2017-02-15 | 华为技术有限公司 | 图像处理方法及装置 |
CN106303464A (zh) * | 2016-09-30 | 2017-01-04 | 广西师范大学 | 一种无线视频监控服务端、客户端、系统和处理方法 |
CN106937118B (zh) * | 2017-03-13 | 2019-09-13 | 西安电子科技大学 | 一种基于主观感兴趣区域和时空域相结合的码率控制方法 |
CN106937118A (zh) * | 2017-03-13 | 2017-07-07 | 西安电子科技大学 | 一种基于主观感兴趣区域和时空域相结合的码率控制方法 |
CN107071422B (zh) * | 2017-04-17 | 2019-07-12 | 南京邮电大学 | 基于图像相关模型的低复杂度hevc码率适配转换编码方法 |
CN107071422A (zh) * | 2017-04-17 | 2017-08-18 | 南京邮电大学 | 基于图像相关模型的低复杂度hevc码率适配转换编码方法 |
CN113747161A (zh) * | 2020-05-29 | 2021-12-03 | 北京金山云网络技术有限公司 | 信息的获取方法和装置、存储介质和电子装置 |
CN112203123A (zh) * | 2020-09-10 | 2021-01-08 | 鹏城实验室 | 一种屏幕内容视频编码码率控制方法、终端及存储介质 |
CN112203123B (zh) * | 2020-09-10 | 2022-07-05 | 鹏城实验室 | 一种屏幕内容视频编码码率控制方法、终端及存储介质 |
CN114466190A (zh) * | 2022-02-18 | 2022-05-10 | 复旦大学 | 一种图像集合级别的码率控制算法 |
CN114466190B (zh) * | 2022-02-18 | 2023-01-06 | 复旦大学 | 一种图像集合级别的码率控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103281530B (zh) | 2016-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103281530A (zh) | 基于率失真优化的hevc码率控制方法 | |
US9615085B2 (en) | Method and system for structural similarity based rate-distortion optimization for perceptual video coding | |
US8218627B2 (en) | Scalable MPEG video/macro block rate control | |
US7916783B2 (en) | Bit-rate control method and device combined with rate-distortion optimization | |
US8559501B2 (en) | Method and apparatus for adaptively determining a bit budget for encoding video pictures | |
EP1992169B1 (en) | Method and apparatus for bit rate control in scalable video signal encoding using a rate-distortion optimisation | |
CN101287112B (zh) | 一种自适应码率控制方法 | |
CN101877784B (zh) | 一种适用于实时应用的h.264码率控制方法 | |
CN104185024B (zh) | 一种基于总码率与信息熵模型的hevc量化参数优化方法 | |
CN103634601B (zh) | 基于结构相似度的高效视频编码感知码率控制优化方法 | |
KR19990086789A (ko) | 비트율이 급변되는 재양자화 계단 크기 선택 방법 및 그를 이용한 비트율 제어 방법 | |
CN101572806B (zh) | 一种基于h.264的i帧码率控制方法 | |
CN107257464B (zh) | 基于Sobel算子和线性回归的高清视频编码码率控制方法 | |
CN101895758B (zh) | 基于帧复杂度的h.264码率控制方法 | |
CN102137258A (zh) | 一种立体视频码率控制方法 | |
CN102025994B (zh) | 自适应解码复杂度的编码方法、装置、编解码系统和设备 | |
Ringis et al. | Per Clip Lagrangian Multiplier Optimisation for HEVC | |
CN103051897A (zh) | 一种h264视频编码码率控制方法 | |
CN103067720A (zh) | 一种基于h264视频编码标准的宏块层码率控制方法 | |
Mansour et al. | Rate and distortion modeling of medium grain scalable video coding | |
Li et al. | Low-delay window-based rate control scheme for video quality optimization in video encoder | |
Huang et al. | A novel two-pass VBR coding algorithm for the H. 264/AVC video coder based on a new analytical RD model | |
KR100228549B1 (ko) | 채널율을 이용한 가변 비트율 비디오 제어 방법 | |
Shuguang et al. | An improved basic-unit layer rate-control scheme on H. 264 | |
Eiamjumrus et al. | Rate control scheme based on cauchy RD optimization model for H. 264/AVC under low delay constraint |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160525 Termination date: 20210507 |