本发明涉及一种基于结构相似性系数的H.264帧层码率控制方法,利用结构相似性理论对H.264的帧层的码率进行分配。包括如下步骤:A、计算剩余帧的目标比特数;B、计算结构相似性系数;C、根据结构相似性系数确定当前帧的目标比特数;D、计算量化参数;E、率失真优化。其特征在于,定义了结构相似性系数并在此基础上确定帧的目标比特数。本发明不但能更为准确地控制码率,而且提高视频输出序列的结构相似性,从而得到更好的主观视频质量。
1.一种基于结构相似性系数的H.264帧层码率控制方法,该方法包括如下步骤:A、计算第i个GOP层未编码帧的剩余比特数;B、计算当前帧结构相似性系数SSIMR;C、根据结构相似性系数分配当前帧的目标比特数;D、计算量化参数;E、率失真优化;其特征在于,步骤B中,结构相似性系数SSIMR通过下式计算:
S S I M R = 1 - SSIM p r e 1 - SSIM p p r e ]]>其中,SSIM
pre为前一帧的SSIM值,SSIM
ppre为前前帧的SSIM值;步骤C中,根据步骤B的结构相似性系数,并按下式分配当前帧的目标比特数T
r:
T r = 0.8 × T r ′ S S I M R ≤ 0.8 S S I M R × T r ′ 0.8 < S S I M R < 1.2 1.2 × T r ′ S S I M R ≥ 1.2 ]]>其中,
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="236"/>T
r(n
i,j)是第i个GOP层编码至第j帧时剩余的总比特数,N
r为该GOP层中未编码的帧数。技术领域:本发明属及视频编码技术领域,涉及一种基于结构相似性的H.264帧层码率控制方法。背景技术:在过去十多年中,视频通信技术得到了飞速发展和广泛的应用,并制定了一系列视频编码标准。现有的国际视频编码标准主要包括国际标准化组织(ISO)推出的MPEG-1,MPEG-2,MPEG-4(参见文献:ISO/IEC13818-2.Informationtechnology-GenericcodingofmovingpicturesandassociatedaudioPart2:Video[S].1996;ISO/IEC14496-2.Informationtechnology-Genericcodingofaudio-visualobjectsPart2:Visual[S].1998.),以及国际电信联盟标准化部(ITU-T)推出的H.26x系列,如H.261(参见文献:ITU-T.DraftITU-TRecommendationH.261.Videocodecforaudiovisualservices,atpx64kbps[S],1993.),H.263(参见文献:ITU-T.DraftITU-TRecommendationH.263.Videocodingforlowbitratecommunication[S].1996.)等。2003年,由ISO与ITU-T合作成立的联合视频工作组JVT推出了最新的视频标准H.264(参见文献:ISO/IEC11496-10.ITU-TRecommendationH.264Advancedvideocoding[S].2002.)。H.264吸收了以往各种编码标准方案的优点,在预测编码、变换量化和容错编码等方面进行了较大的改进。目前H.264正逐渐取代原有视频压缩标准在各应用领域占据主导地位。码率控制是H.264视频压缩编码过程中的关键环节,作用于整个视频编码过程,其有效性不仅影响码流的码率稳定,还将影响到整个视频序列的图象质量。码率控制的主要任务是采集缓冲区状态和图像活动性等信息,来给每幅图像分配一定的比特数,使得输出码率能控制在给定的标准上,并使图像失真最小。在H.264的码率控制方法中,由于同时在码率控制和率失真优化环节使用了量化参数,导致了“蛋鸡悖论”[MaS.W,GaoWandLuY.RatecontrolonJVTstandard,docu
mentJVT-D030[S].2002]。为了提高H.264码率控制的性能,很多学者做了大量的研究,文献[ShinIH,LeeYL,ParkHW.Ratecontrolusinglinearrate-ρmodelforH.264[J].SignalProcessImageCom-munication,2004,19:341-352.]在ρ域模型的基础上作了改进,应用在H.264的码率控制中,文献[MaSiwei,GaoWen,LuYan.Rate-distortionanalysisforH.264/AVCvideocodinganditsapplicationtoratecontrol[J].IEEETransonCircuitSystforVideoTechnol,2005,15(12):1533-1544.]提出了码率与量化步长与量化步长间的关系模型及相应的码率控制方法,文献[MaS.W,GaoW,WuFandLuY.RatecontrolforJVTvideocodingschemewithHRDconsiderations.ProceedingofIEEEInternationalConferenceonImageandProcessing,2003,vol.3,pp:793-796.]将HRD一致性约束、平均绝对误差比综合考虑,提出了一种新的码率控制方法。LiZhengguo提出的JVT-G012方法利用线性MAD模型来预测当前基本单元的MAD值,这一方法可以获得比较好的编码效果,引起了广泛的关注[LiZhengguo,GaoWen,PanFeng,etal.AdaptiveratecontrolforH.264[J].JournalofVisualCommunicationandImageRepresentation,2006,17(2):376-406.]。JVT-G012方法虽然较好地解决了蛋鸡悖论问题,然而仍然存在很多问题。比如方法中没有明确的讨论帧内的码率-量化(R-Q)模型,因此文献[X.Jing,L.P.Chau,andW.-CSiu,"f
ramecomplexity-ba
sedrate-quantizationmodelforH.264/AVCintraf
rameratecontrol,"IEEESignalProcessingLetters,vol.15,pp.373-376,2008.]提出了一种自适应的帧内R-Q模型,这种方法通过考虑基于灰度的帧复杂度,自适应的更新模型参数,来更精确地选择帧内编码帧的量化参数。又比如在基于传统变换的视频编码系统中彩色视频信号的率失真(R-D)参数分别为亮度和色度分量模型化,所以文献[Z.Z.ChenandK.N.Ngan,“Towardsrate-distortiontradeoffinreal-timecolorvideocoding”,IEEETrans.CircuitsSyst.VideoTechnol.,2007,vol.17,no.2,pp.158-167]提出为彩色视频编码建立独立的R-D模型。基于帧复杂度的H.264码率控制方法(ZL201010235061.8)中公开了一种基于帧复杂度的H.264码率控制方法。该方法包括以下步骤:A、根据帧复杂度确定当前编码帧的目标比特数;B、计算量化参数并进行率失真优化;其中,帧复杂度是通过一个复杂度系数来衡量,该复杂度系数定义为图像灰度直方图的平均差值和图像亮度分量的平均绝对误差比率的加权之和,在该复杂度系数基础上,通过经验公式对现有的目标比特公式进行了修正。一种H.264码率控制方法(ZL201010239407.1)提供一种结合图像复杂度并对量化参数进行调整的帧层码率控制方法,提高视频输出序列的平均峰值信噪比(PSNR),并能够减小视频图像帧间质量波动,从而提高视频图像质量。上述方法主要从自然图像内容的复杂性分配码率,存在着一些缺点:根据图像内容的客观特性分配码率,没有根据人眼的主观特性分配码率,得到的图像不一定符合人眼的主观特性。Z.Wang,A.C.Bovik等人提出结构相似性(SSIM,StructuralSimilarity)作为一种衡量两幅图像相似度的指标。由于人类视觉很容易从图像中抽取出结构信息,因此计算两幅图像的SSIM就可以用来评价图像主观质量的好坏。考虑SSIM,许多学者提出了新的H.264编码方法。有人将SSIM用于H.264视频编码的率失真优化(崔子冠,朱秀昌.基于结构相似的H.264主观率失真性能改进机制.电子与信息学报,2012,34(2):433-439)。一种基于H.264视频编码标准的宏块层码率控制方法(申请号201310044341.4)给出来一种结合SSIM和MAD的宏块层码率控制,取得了一定的效果。发明内容:本发明的目的在于克服现有技术的不足,提供一种利用结构相似性理论对H.264的帧层的码率进行分配的新方法,更合理的分配帧层比特数,该方法能够使生成码率与目标码率相近的同时,提高视频输出序列的平均SSIM值。本发明解决其技术问题所采用的技术方案是:本发明的方法包括如下步骤:A、计算第i个GOP层未编码帧的剩余比特数;B、计算当前帧结构相似性系数SSIMR;C、根据结构相似性系数分配当前帧的目标比特数;D、计算量化参数;E、率失真优化;其中步骤B中,定义编码帧的结构相似性系数,根据结构相似性系数确定该帧的目标比特数。结构相似性系数SSIMR定义如下:
S S I M R = 1 - SSIM p r e 1 - SSIM p p r e ]]>其中,SSIM
pre为前一帧的SSIM值,SSIM
ppre为前前帧的SSIM值。其中步骤C中,根据上述的结构相似性系数修改JVT-G012码率控制方法中帧层目标比特数的分配公式,得到本发明的帧层目标比特数T
r分配公式如下:
T r = 0.8 × T r ′ S S I M R ≤ 0.8 S S I M R × T r ′ 0.8 < S S I M R < 1.2 1.2 × T r ′ S S I M R ≥ 1.2 ]]>其中,
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="238"/>T
r(n
i,j)是第i个GOP层编码至第j帧时剩余的总比特数,N
r为该GOP层中未编码的帧数。这样,优化了帧层目标比特数的分配,当前一帧失真较大时,当前帧和后续帧的SSIM都得到一定程度的改善,相应的提高了编码质量。本发明相比现有技术具有如下有益效果:本发明根据定义的结构相似性系数为当前帧分配目标比特数,当遇到前一帧失真较大时,可以有效的提高当前帧和后续帧的SSIM值。方法能够使生成码率与目标码率相近的同时,提高视频输出序列的平均SSIM值,从而获得更好的主观视频质量。
附图说明图1是本发明方法与JM10.1方法处理carphone序列的SSIM比较图。图2是本发明方法与JM10.1方法处理foreman序列的SSIM比较图。图3是本发明方法与JM10.1方法处理carphone序列的PSNR比较图。图4是本发明方法与JM10.1方法处理foreman序列的PSNR比较图。
具体实施方式下面结合附图对本发明的技术方案进行详细说明:本发明的H.264的帧层码率控制方法具体包括以下步骤:A、按照下式计算第i个GOP层未编码帧的剩余比特数:
T r ( n i , j ) = u ( n i , 1 ) F r × N g o p - ( B s 8 - B c ( n i - 1 , N g o p ) ) j = 1 , 2 T r ( n i , j - 1 ) - A ( n i , j - 1 ) j = 3 , 4... N i , ]]>其中,T
r(n
i,j)表示第i个GOP层编码至第j帧时剩余的总比特数,u(n
i,1)表示编码第一帧前的可用信道带宽,F
r为帧率,N
gop表示该GOP层中图像帧的个数,B
s为缓冲区的大小,B
c(n
i-1,Ngop)表示第i-1个GOP层中最后一帧编码结束后缓冲区的实际占有率,A(n
i,j-1)是前一帧实际产生的比特数;B、按照如下公式计算当前帧的结构相似性系数SSIMR:
S S I M R = 1 - SSIM p r e 1 - SSIM p p r e ]]>其中,SSIM
pre为前一帧的SSIM值,SSIM
ppre为前前帧的SSIM值,分别用下式算出。
S S I M = ( 2 u x u y + c 1 ) ( 2 δ x y + c 2 ) ( u x 2 + u y 2 + c 1 ) ( δ x 2 + δ y 2 + c 2 ) ]]>其中x,y分别代表当前帧和参考帧,u
x,u
y为x,y各自的亮度均值,
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="77"/>
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="94"/>δ
xy分别为x,y的标准差与x,y之间的协方差,c1,c2是为了避免当分母接近零时测量值不稳定而定义的小常数(Z.Wang,A.C.Bovik,H.R.Sheikh,andE.P.Simoncelli.Imagequalityassessment:Fromerrorvisibilitytostructuralsimilarity[J].IEEETransactiononImageprocessing.2004,13(4):600-612)。C、根据下式计算当前帧的目标比特数T
r:
T r = 0.8 × T r ′ S S I M R ≤ 0.8 S S I M R × T r ′ 0.8 < S S I M R < 1.2 1.2 × T r ′ S S I M R ≥ 1.2 ]]>其中,
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="243"/>T
r(n
i,j)是第i个GOP层编码至第j帧时剩余的总比特数,N
r为当前GOP层中未编码的帧数。D、根据下式计算当前帧的量化参数:
T r = a M A D ( i ) Q P + b M A D ( i - 1 ) QP 2 ]]>其中,i是帧序号,a、b为模型参数,通过线性回归统计计算得到;QP为第i帧的量化参数,MAD(i)=a1×MAD(i-1)+a2,a1和a2是一元线性回归系数,在编码完一帧后进行更新,初始值分别为1和0。E、利用从步骤D得出的量化参数,实现当前帧的率失真率优化。本实施方式中:量化参数计算及率失真优化都为现有技术,详细内容可参考文献(LiZheng-guo,PanFeng,LimKeng-pang,etal.Adaptiveba
seunitlayerratecontrolforJVT,JVT-G012.Proceedingsof7thMeeting,PattayII,Thailand,2003.)为了验证本发明方法的效果,在JVT的校验模型JM10.1上实现了本发明的码率控制方法,并和JM10.1进行了对比(由于JM10.1中所采取的码率控制方法已经超越了JVT-G012方法,所以本算法不再和其进行对比)。实验使用的测试序列是QCIF4:2:0格式:carphone,foreman,crew,salesman,coastguard,帧率为30帧/s,目标码率为64kb/s和128kb/s,共编码100帧,GOP长度为20,搜索范围16,ME精度1/4,参考帧设为3,实验结果如下表1所示:
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>从表1中可以看出,本发明的码率控制方法比JM10.1的码率控制方法码率更精确。图1和图2给出了两种方法计算carphone序列和foreman序列所得的帧数(Frm)从第一帧到第一百帧图像的SSIM对比,可见当视频图像的某些帧SSIM出现明显下降时(即视频图像的主观质量出现明显下降时)本发明得到的SSIM值明显高于JM10.1,即图像质量下降时,本发明方法得到主观图像效果明显好于JM10.1,有效的抑制了主观图像质量的下降。图3和图4给出了两种方法计算carphone序列和foreman序列所得的从第一帧到第一百帧的峰值信噪比(PSNR)的对比,可见本发明方法和JM10.1所得到的峰值信噪比相比有一定的提高。相比现有技术,本发明方法在更精确控制码率精度的同时,能够获得更好的主观视频质量,从而提高视频图像的连续性和稳定性。本发明方法简单,易于硬件实现,有良好的应用前景。