您好,欢迎来到达州工业云! 平台首页 企业驾驶舱 帮助中心 企业登录 企业注册

HI,欢迎使用达州工业云平台!

账号必须大于2位

创新资源平台
服务平台首页>专利库>专利详情

一种基于H.264视频编码标准的宏块层码率控制方法(公开号:CN103067720B)

  • 申请号:CN201310044341.4 申请公布号: CN103067720B
  • 申请日: 2013-02-05 申请公布日: 2015-06-10
  • 申请(专利权)人: 专利代理机构: 南京汇盛专利商标事务所(普通合伙)
  • 分类号:H04N19/176;H04N19/146

专利介绍

本发明涉及一种基于H264视频编码标准的宏块层码率控制方法,包括如下步骤:A、利用流体阻塞模型和线性追踪理论计算当前帧的目标比特数;B、分配宏块层的比特数,C、预测当前帧中当前宏块的平均绝对误差比率。D、计算相应宏块的量化参数;E、利用从步骤D得出的参数值,实现当前帧中每个宏块的率失真优化。其有益效果为:所述宏块层码率控制方法能够使生成码率与目标码率相近的同时,提高视频输出序列的结构相似性,从而得到更好的主观视频质量。
1.一种基于H.264视频编码标准的宏块层码率控制方法,其特征在于,包括如下步骤:A、利用流体阻塞模型和线性追踪理论计算当前帧的目标比特数;B、按照式(1)分配宏块层的比特数, R i = a T r 9 * [ 1 - SSIM ( i ) ] 2 Σ k = i N [ 1 - SSIM ( k ) ] 2 + b T r * MAD EMV ( i ) 2 Σ k = i N MAD EMV ( k ) 2 - - - ( 1 ) ]]> 其中,i是帧中宏块序号,N是帧中的宏块总数,a和b为按结构和内容分配比特数的加权系数,满足a+b=1,Ri为当前宏块分配的比特数,Tr是帧中剩余的总比特数,SSIM(i)为当前帧中第i个宏块的结构相似性值,MADEMV(i)代表帧中第i个宏块的MAD值,MAD值为当前宏块图像亮度的平均绝对误差比率,k是求和变量;C、预测当前帧中当前宏块图像亮度的平均绝对误差比率;D、计算当前帧中当前宏块的量化参数;E、利用从步骤D得出的参数值,实现当前帧中每个宏块的率失真优化。
2.根据权利要求1所述的宏块层码率控制方法,其特征在于,所述步骤C中根据前一参考帧对应宏块的MAD,利用基于MAD的线性预测模型预测当前帧中当前宏块的MAD。
3.根据权利要求1所述的宏块层码率控制方法,其特征在于,所述步骤D包括如下步骤:a、利用二元R-D模型计算当前帧中当前宏块的量化参数,如式(2): T ( i ) = a MAD ( i ) QP + b MAD ( i - 1 ) QP 2 - - - ( 2 ) ]]> 其中,i是帧中宏块序号,a、b为模型参数,通过线性回归统计计算得到;QP为第i个宏块的量化参数,MAD(i)=a1×MAD(i-1)+a2,a1和a2是一元线性回归系数,在编码完一帧后进行更新,初始值分别为1和0;b、为了消除宏块的块效应,对第i个宏块的量化参数进行调整,使得∣QP-QPprev∣≤2,即QP=min(max(QPprev-2,QP),QPprev+2),其中QP为第i个宏块的量化参数,QPprev为前一宏块的量化参数。
4.根据权利要求2所述的宏块层码率控制方法,其特征在于,所述步骤B中的优选方案中,取a=0.4,b=0.6。技术领域
本发明涉及视频编码技术领域,尤其涉及一种基于H.264视频编码标准的宏块层码率控制方法。
背景技术
在视频通信中,压缩编码后的信息流常常需要在带宽不衡定的网络上传输。为了使编码后的视频流很好地适应带宽,尤其是适应低带宽信道或时变的无线信道并充分利用有限的网络资源,码率控制成为了视频通信系统中一个必不可少的环节。码率控制的主要任务是采集缓冲区状态和图像活动性等信息,来给每幅图像分配一定的比特数,使得输出码率能控制在给定的标准上,并使图像失真最小。在基于H.264/AVC视频编码标准的的码率控制方法中,由于同时在码率控制和率失真优化环节使用了量化参数,导致了“蛋鸡悖论”,即对当前帧的宏块进行率失真优化时,需要先通过当前帧或当前宏块的MAD决定每个宏块的量化参数,而当前帧或宏块的MAD仅在率失真优化后才能得到。为了解决“蛋鸡悖论”问题,很多学者做了大量的研究,文献[Shinxa0Ixa0H,Leexa0Yxa0L,Parkxa0Hxa0W.Ratexa0controlxa0usingxa0linearxa0rate-ρmodelxa0forxa0H.264[J].Signalxa0Processxa0Imagexa0Com-munication,2004,19:341-352.]在ρ域模型的基础上作了改进,应用在H.264的码率控制中,文献[Maxa0Siwei,Gaoxa0Wen,Luxa0Yan.Rate-distortionxa0analysisxa0forxa0H.264/AVCxa0videoxa0codingxa0andxa0itsxa0applicationxa0toxa0ratexa0control[J].IEEExa0Transxa0onxa0Circuitxa0Systxa0forxa0Videoxa0Technol,2005,15(12):1533-1544.]提出了码率与量化步长与量化步长间的关系模型及相应的码率控制方法,文献[Maxa0S.W,Gaoxa0W,Wuxa0Fxa0andxa0Luxa0Y.Ratexa0controlxa0forxa0JVTxa0videoxa0codingxa0schemexa0withxa0HRDxa0considerations.Proceedingxa0ofxa0IEEExa0Internationalxa0Conferencexa0onxa0Imagexa0andxa0Processing,2003,vol.3,pp:793-796.]将HRD一致性约束、平均绝对误差比综合考虑,提出了一种新的码率控制方法。Lixa0Zhengguo提出的JVT-G012方法利用线性MAD模型来预测当前基本单元的MAD值,这一方法可以获得比较好的编码效果,引起了广泛的关注[Lixa0Zhengguo,Gaoxa0Wen,Panxa0Feng,etxa0al.Adaptivexa0ratexa0controlxa0forxa0H.264[J].Journalxa0ofxa0Visualxa0Communicationxa0andxa0Imagexa0Representation,2006,17(2):376-406.]。JVT-G012方法虽然较好地解决了蛋鸡悖论问题,然而仍然存在很多问题。比如方法中没有明确的讨论帧内的码率-量化(R-Q)模型,因此文献[X.Jing,L.P.Chau,andxa0W.-Cxa0Siu,"framexa0complexity-basedxa0rate-quantizationxa0modelxa0forxa0H.264/AVCxa0intraframexa0ratexa0control,"IEEExa0Signalxa0Processingxa0Letters,vol.15,pp.373-376,2008.]提出了一种自适应的帧内R-Q模型,这种方法通过考虑基于灰度的帧复杂度,自适应的更新模型参数,来更精确地选择帧内编码帧的量化参数。又比如在基于传统变换的视频编码系统中彩色视频信号的率失真(R-D)参数分别为亮度和色度分量模型化,所以文献[Z.Z.Chenxa0andxa0K.N.Ngan,“Towardsxa0rate-distortionxa0tradeoffxa0inxa0real-timexa0colorxa0videoxa0coding”,IEEExa0Trans.Circuitsxa0Syst.Videoxa0Technol.,2007,vol.17,no.2,pp.158-167]提出为彩色视频编码建立独立的R-D模型。基于帧复杂度的H.264码率控制方法(申请号为201010235061.8)中公开了一种基于帧复杂度的H.264码率控制方法。该方法包括以下步骤:A、根据帧复杂度确定当前编码帧的目标比特数;B、计算量化参数并进行率失真优化;其中,帧复杂度是通过一个复杂度系数来衡量,该复杂度系数定义为图像灰度直方图的平均差值和图像亮度分量的平均绝对误差比率的加权之和,在该复杂度系数基础上,通过经验公式对现有的目标比特公式进行了修正。一种H.264码率控制方法(ZL201010239407.1)提供一种结合图像复杂度并对量化参数进行调整的帧层码率控制方法,提高视频输出序列的平均峰值信噪比,并能够减小视频图像帧间质量波动,从而提高视频图像质量。上述公开的两方法主要从自然图像内容的复杂性分配码率,存在着一些缺点:根据图像内容的客观特性分配码率,没有根据人眼的主观特性分配码率,得到的图像不一定符合人眼的主观特性。Z.Wang,A.C.Bovik等人提出结构相似性(SSIM,Structuralxa0Similarity)作为一种衡量两幅图像相似度的指标。由于人类视觉很容易从图像中抽取出结构信息,因此计算两幅图像的SSIM值就可以用来评价图像主观质量的好坏。从SSIM出发,许多学者提出了新的H.264编码方法。有人将SSIM用于H.264视频编码的率失真优化(崔子冠,朱秀昌.基于结构相似的H.264主观率失真性能改进机制.电子与信息学报,2012,34(2):433-439)。
发明内容
本发明的目的在于克服现有技术的不足,利用结构相似性理论对宏块层的码率进行分配,更合理的分配宏块层比特,提高视频的主观视频质量,提供一种基于H.264视频编码标准的宏块层码率控制方法,具体有以下技术方案实现:所述基于H.264视频编码标准的宏块层码率控制方法,包括如下步骤:A、利用流体阻塞模型和线性追踪理论计算当前帧的目标比特数;B、按照式(1)分配宏块层的比特数, R i = a T r * [ 1 - SSIM ( i ) ] 2 Σ k = i N [ 1 - SSIM ( k ) ] 2 + b T r * MAD EMV ( i ) 2 Σ k = i N MAD EMV ( k ) 2 - - - ( 1 ) ]]> 其中,i是帧中宏块序号,N是帧中的宏块总数,a和b为按结构和内容分配比特数的加权系数,满足a+b=1,Ri为当前宏块分配的比特数,Tr是帧中剩余的比特数,SSIM(i)为当前帧中第i个宏块的SSIM值,MADEMV(i)代表帧中第i个宏块的MAD值,MAD值为当前宏块图像亮度的平均绝对误差比率,k是求和变量;C、预测当前帧中当前宏块图像亮度的平均绝对误差比率;D、计算当前帧中当前宏块的量化参数;E、利用从步骤D得出的参数值,实现当前帧中每个宏块的率失真优化。所述宏块层码率控制方法的进一步设计在于,所述步骤C中根据前一参考帧对应宏块的MAD,利用基于MAD的线性预测模型预测当前帧中当前宏块的MAD。所述宏块层码率控制方法的进一步设计在于,所述步骤D包括如下步骤:a、利用二元R-D模型计算当前帧中当前宏块的量化参数,如式(2): T ( i ) = a MAD ( i ) QP + b MAD ( i - 1 ) QP 2 - - - ( 2 ) ]]> 其中,i是帧中宏块序号,a、b为模型参数,通过线性回归统计计算得到;QP为第i个宏块的量化参数,MAD(i)=a1×MAD(i-1)+a2,a1和a2是一元线性回归系数,在编码完一帧后进行更新,初始值分别为1和0。b、为了消除宏块的块效应,对第i个宏块的量化参数进行调整,使得∣QP-QPprev∣≤2,其中QP为第i个宏块的量化参数,QPprev为前一宏块的量化参数,即QP=min(max(QPprev-2,QP),QPprev+2)。所述宏块层码率控制方法的进一步设计在于,所述步骤B中的优选方案中,取a=0.4,b=0.6,图像内容的清晰程度和图像结构的连续性由最好的效果。本发明的优点如下:所述宏块层码率控制方法能够使生成码率与目标码率相近的同时,提高视频输出序列的SSIM,从而得到更好的主观视频质量。
附图说明
图1是本发明方法与JM10.1方法处理carphone序列的SSIM比较图。图2是本发明方法与JM10.1方法处理foreman序列的SSIM比较图。图3是本发明方法与JM10.1方法处理carphone序列的PSNR比较图。图4是本发明方法与JM10.1方法处理foreman序列的PSNR比较图。
具体实施方式
下面结合附图对本发明方案进行详细说明。本实施例提供的基于H.264视频编码标准的宏块层码率控制方法,包括如下步骤:A利用流体阻塞模型和线性追踪理论计算当前帧的目标比特数;B按照式(1)分配宏块层比特数, R i = a T r * [ 1 - SSIM ( i ) ] 2 Σ k = i N [ 1 - SSIM ( k ) ] 2 + b T r * MAD EMV ( i ) 2 Σ k = i N MAD EMV ( k ) 2 - - - ( 1 ) ]]> 其中,i是帧中宏块序号,N是帧中的宏块总数,a和b为按结构和内容分配比特数的加权系数,满足a+b=1,Ri为当前宏块分配的比特数,Tr是帧中剩余的比特数,SSIM(i)为当前帧中第i个宏块的SSIM值,MADEMV(i)代表帧中第i个宏块的MAD值,MAD值为当前宏块图像亮度的平均绝对误差比率,k是求和变量。 SSIM ( i ) = ( 2 u x u y + c 1 ) ( 2 δ xy + c 2 ) ( u x 2 + u y 2 + c 1 ) ( δ x 2 + δ y 2 + c 2 ) ]]> 其中x,y分别代表当前宏块和参考宏块,ux,uy为x,y各自的亮度均值,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="286"/>分别为x,y的标准差与x,y之间的协方差,c1,c2是为了避免当分母接近零时测量值不稳定而定义的小常数(Z.Wang,A.C.Bovik,H.R.Sheikh,andxa0E.P.Simoncelli.Imagexa0qualityxa0assessment:Fromxa0errorxa0visibilityxa0toxa0structuralxa0similarity[J].IEEExa0Transactionxa0onxa0Imagexa0processing.2004,13(4):600-612)。C、根据前一参考帧对应宏块的MAD值,利用基于MAD的线性预测模型预测当前帧中当前宏块的MAD值。D、计算当前帧中当前宏块的量化参数;本步骤包括以下两个步骤:D1、利用二元R-D模型计算当前帧中当前宏块的量化参数,如式(2): T ( i ) = a MAD ( i ) QP + b MAD ( i - 1 ) QP 2 - - - ( 2 ) ]]> 其中,i是帧中宏块序号,a、b为模型参数,通过线性回归统计计算得到;QP为第i个宏块的量化参数,MAD(i)=a1×MAD(i-1)+a2,a1和a2是一元线性回归系数,在编码完一帧后进行更新,初始值分别为1和0。D2、为了消除宏块的块效应,对第i个宏块的量化参数进行调整,使得∣QP-QPprev∣≤2,其中QP为第i个宏块的量化参数,QPprev为前一宏块的量化参数,即QP=min(max(QPprev-2,QP),QPprev+2)。E、利用从步骤D得出的参数值,实现当前帧中每个宏块的率失真优化。本实施方式中:流体阻塞模型、线性追踪理论、二次模型及率失真优化都为现有技术,详细内容可参考文献(LiZheng-guo,Panxa0Feng,Limxa0Keng-pang,etxa0al.Adaptivexa0basexa0unitxa0layerxa0ratexa0controlxa0forxa0JVT,JVT-G012.Proceedingsxa0ofxa07thxa0Meeting,Pattayxa0II,Thailand,2003.)为了验证本发明方法的效果,在测试H.264编码性能的参考软件平台JM10.1上实现了本发明的码率控制方法,并和JM10.1进行了对比(由于JM10.1中所采取的比特分配方法已经超越了经典的JVT-G012标准,所以本算法不再和其进行对比)。实验使用的测试序列是QCIF4:2:0格式:crew,carphone,highway,foreman,claire,设置帧率为30帧/s,目标码率为64kb/s和128kb/s,共编码100帧,GOP长度为20,搜索范围16,ME精度1/4。得到的实验结果如下表1所示:表1 ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/> 从表中可以看出,本发明的码率控制方法与JM10.1的码率控制方法码率控制效果相当,甚至更准确一点。图1和图2给出了两种方法计算carphone序列和foreman序列所得的从第一帧到第一百帧的SSIM值的对比,从图中可以看出,本发明方法得到的每帧SSIM值更大,更接近于1,因此具有更好的主观视频质量。图3和图4给出了两种方法计算carphone序列和foreman序列所得的从第一帧到第一百帧的峰值信噪比(PSNR)值的对比,可见本发明方法和JM10.1所得到的PSNR相比保持不变。相比现有技术,本发明方法在控制码率精度的同时,能够获得更好的主观视频质量,从而提高视频图像的连续性和稳定性。本发明方法简单,易于硬件实现,有良好的应用前景。