快速高效应码率控制的优化方法

文档序号:7686247阅读:216来源:国知局

专利名称::快速高效应码率控制的优化方法
技术领域
:本发明涉及视频压縮中的码率控制领域,特别涉及一种基于相关性的自适应新码率控制方法和该方法的算法优化。技术背景H,264是由联合视频组(JointVideoTeam,JVT)近年来致力开发研究的最新视频压縮国际标准。该标准为广播、存储设备、对话服务以及无线网络等方面的视频技术提供了技术支持,该和以往的标准相比,例如H.263,H.263+,H.263++和MPEG-4,在视频编码效率取得了很大的提高,相同视频质量下,H.264不仅比H.263和MPEG-4节约了5()Q^的码率,而且对网络传输具有更好的支持功能。随着通信和视频技术的发展,视频信号的传输受到了越来越多的资源限制,对视频压縮和通信而言,主要的限制在于有限的通信带宽和存储空间,而这些决定了视频信号的输出码率。因此码率控制在视频通信中起着至关重要的作用。码率控制的最终目的是为了在有限的缓冲区容量和信道带宽下传输高质量的视频序列。对一些实时的视频通信服务而言,如视频会议,视频手机,这些系统资源常常非常有限,在这种情况下,码率控制的要求很高,一方面需要满足低的传输时延要求,另一方面又要保证缓冲区中数据的容量不能上溢或下溢,保持在通信过程中缓冲区中数据占有量保持比较恒定。因此就需要精确的码率控制方法。但是在地码率通信时,很多现有的码率控制策略,如MPEG2TM5、H.263TMN8、MPEG4VM8均无法适用。H,264编码标准采用了LiZhengGuo提出的JVT-G012码率控制方法。该方法利用线性预测来预测当前宏块的MAD,然后再使用MPEG-2中的二次模型(R-D预测模型)来计算量化等级。在JVT-G012标准中提出,码率控制分为GOP层码率控制,帧层码率控制以及宏块层码率控制。我们可在各层建立不同的模型即算法,通过层层地控制以实现高精度的码率控制方法。视频压縮主要是利用了视频信号之间的相关性,视频压縮采用了各种预测技术来降低视频信号间的冗余,例如,帧内预测技术,帧间预测技术。码率方法也在一定程度上利用了视频信号之间的相关性,其利用这些相关性来进码率控制参数的预测及量化等级的预测。但是,不同的帧之间的相关性不同,若用相关性小的数据进行码率控制模型参数计算以及量化等级的预测,可能导致得到的结果不准确。视频帧与帧之间相关性随着时间间隔的增加,其不断降低,而对每一帧内的宏块,处于不同时空位置的宏块之间相关性也不相同。但G012标准中对这些情况并没有作详细的区分,是其码率控制模型精度不够的一个主要原因,并且需要采用较多的数据进行计算,在JM8.6版本中需要20组数据,虽然采用的数据量多可以在一定程度上保持码率控制的精度,但是当视频序列发生激烈变化或场景切换时,模型中的参数很难跟上其变化,从而使得量化等级也很难跟上其变化,这时,采用过多的过时数据来进行模型计算反而引起模型精度的下降。此外,在计算量化参数(QP)时,需用对MAD模型及RD模型中的参数进行预测,其预测方法涉及到解超维方程组,其算法较复杂。本发明基于发明"一种新的快速高效自适应码率控制方法"的基础上,对其算法进行优化和简化,在保证算法性能的基础上进一步地降低了算法复杂度。
发明内容本发明的是鉴于上述问题而完成的,主要目的提供对发明"一种新的快速高效自适应码率控制方法"的进一步优化和简化。这种方法具有很高的码率控制精度,所需用于计算的数据量大大降低,算法复杂度也得到很大程度上降低,此外,相比G012标准而言,本发明能更准确地控制输出码率变化,使得跳帧数目大大降低,并取得更高质量的视频输出。本发明目的实现主要包括以下步骤-1)为该即将编码的视频序列(GOP)分配目标编码比特编码一个GOP时对该GOP分配目标比特,计算公式如下<formula>formulaseeoriginaldocumentpage8</formula>T^是为编码该GOP分配的目标比特,"信道输出码率,F为编码帧率,为该GOP帧的数目,A为缓冲区最大容量,A为编码完上一GOP缓冲区占有容量。在本发明中目标缓冲区容量设置为缓冲区容量大小的35%,为了满足低时延通信的要求,缓冲区存储编码数据的所导致的时间延迟不超过O.l秒,并且当缓冲区中容量的容量超过缓冲区大小的80%时进行跳帧,以降低缓冲区的容量。2)为即将编码帧分配目标比特第f'帧分配的目标比特由下面几个因素决定的目标缓冲区容量、帧率、可用带宽、实际缓冲区占用量,其计算公式如下所示其中r^常数,没有B帧它的情况下,其典型值是在为0.75,其它情况为0.25,本发明在没有B帧情况下进行实施的;a是常数,值为0.35。3)帧之间的相关性计算在当前图像序列组中,如果编码完第f帧的平均绝对误差(MAD)为M4£>F(a第/帧的实际编码比特为if(/),第帧的MAD为M4£>""1),第帧的实际编码比特为i力'-l)则定义第z'帧与第/-1帧之间的相关性系数计算公式为W卜層(吗),-D)",1)層f(O)第AZ-1帧与第f'帧之间的相关性计算方法为p("一l,!')《A/(/)(1-、(川)其中P为一固定常数。在计算过程中采用第推公式可大大降低乘法次数,公式如下p("-l力=—l,Z一1).(1-p(1-&在编码第n帧前,需要预测该帧与已编码的各帧之间的相关性,为了降低计算量,算法让第n帧与第/帧之间的相关性大小等于第《-1帧与第帧之间的相关性。当视频序列中第"帧与第/之间相关性低于77时,^为一固定常数,则第"帧量化参数(2尸)的计算不使用第/帧的编码数据,此时让p("力等于0,并且,不再使用比该帧时间上更远帧的数据进行计算,计算第"帧的QP时,最多可用M帧已编码帧的数据,其M满足P(72,W-Af)>7且一A/-l)S74)对已编码帧间相关性值进行量化量化方法如下d;(w,/)=x"'A满足x:A一鲁<p(w,f)-k'A+奮其中dp(",O为量化后得到的即将编码第n帧与第f帧的相关性大小,A为量化步长,其值在编码过程中固定为-V,D为一固定常数,量化方法中的^为取0到2。的整数,这样任何数据与办(",0相乘,都可以通过简单的数据移位和加减法运算便可得到结果。5)预测即将编码帧编码后的MAD值在计算第帧的0尸前,需要预测该帧编码后的MAD,在本发明中其MAD预测公式设计如下MJ(")-^L(JM碼(/)*(",/)、尸f1\其中尸n=2^(",06)计算即将编码帧的量化参数在帧层,第w帧的量化步长(OS)计算公式如下:其中S,=22W)'p(",i)g2=#.二2層f(0.^(/)-勿')其中A为固定常数,将求得的2&W转化为!2iMM)便可得到第"帧的量化7)为即将编码宏块分配目标编码比特在编码第W帧"行V列宏块前为该宏块分配目标编码比特,其公式为;<formula>formulaseeoriginaldocumentpage11</formula>其中im/mz'"(",",v)编码第m帧"行v列宏块时当前帧还剩下的比特,iM(/z,iM)为编码第w帧"行v列宏块实际的编码比特,乂为当前帧中还未编码的宏块数目,m(",",vO是为编码第w帧"行v列分配的目标比特。8)宏块间相关性计算(81):计算编码宏块与其周围宏块的相关性系数一个宏块与其周围相邻的宏块有在同一帧中有水平相邻的宏块,垂直相邻的宏块,与上一帧之间有同位置相邻的宏块,第m帧w行v列宏块与它周围宏块的相关系数计算公式分别定义如下<formula>formulaseeoriginaldocumentpage11</formula>其中、(m,M,v)表示第m帧的w行、v列的宏块与w帧的w行v-l列宏块之间的相关性系数,为水平相关系数;&(^",^)表示第附帧的"行^列的宏块与w帧的w-l行v列宏块之间的相关系数,为垂直相关系数;A"m,","表示第m帧的w行v列的宏块与m-l帧的w行v列宏块之间的相关系数,为同位置相关系数。(82):预测即将编码宏块与他与其周围宏块之间的相关性系数编码第《帧r行Z列的宏块前,首先需要预测该宏块与它周围已编码宏块之间的相关系数,该宏块与其相邻宏块之间的相关系数预测公式分别为=M4Z(_W));^(vJ)-^^(A:(",r,Z-l),A:(",W),A:("-W))(83):预测即将编码宏块与已编码宏块之间的相关性编码第w帧的r行/列的宏块前,需要预测该宏块与已编码的各宏块之间的相关性,第《帧A行/列与第m帧的"行V列的宏块之间的相关性计算公式为^(",r,/,附,",力=(f]Vc(V,Z)Yfp/1(m^,i)l]"];i/*(m^,v))4fl(!-M:(l-"z,,/)栃l-A(l-4(等)))(f[(1-4-^^)^))、其中/^,^s和/^为固定系数,用于控制在水平,垂直的数目以及控制不同帧之间相关宏块的数目。当视频序列中第《帧r行〖列宏块与第m帧"行v列宏块相关性低于W时,则第n帧r行/列宏块量化参数(2P)的计算不使用第m帧m行v列宏块的编码数据,此时让《(",。/,m,",v)等于0,并且,限制所有用于计算的相关宏块总数MM不大于MMflx,若总数大于AfMox时,取相关性最大的MMfl义个宏块。9)对宏块数据间的相关性值进行量化量化方法与帧层相关性值量化方法相同。10)预测即将编码宏块在编码后MAD值在计算第《帧的r行/列宏块的量化参数前,需要预测该宏块编码后MAD值,在本发明中MAD的预测公式为^^m",。o-tM52D脇""附,",。k",",附,",")其中Qa/=222勿m(",",附,",。其中勿m(",。/,m,",v)为第"帧M亍Z列宏块与第;n帧的m行v列宏块计算得到的相关性gM(",r,/,肌,",V)经量化后的取值,AT为在时间上,已编码同位置宏块离当前宏块最远的距离,W值为一固定整数,若时间上距离比7V更远的宏块则认为与当前宏块不相关,丄为视频图像的水平宏块数目,H为视频图像垂直方向的宏块数目。11)计算即将编码宏块的量化参数在宏块层,第w帧的量化参数(OS)计算公式如下^S似(",r,/),+『2其中K=2^taSM(/w,",v)^^M(",r丄m,",v)a2'M4D她^、、^=~^~~^"f~"rHXU酉m(附,",v).OSM(m,i/,vX(",r,Z,m,w,v)其中《2为固定常数,计算得到第"帧r行Z列宏块量化步长OSM(",。Z)转化为量化参数2i^(",。/),根据l2A(")对2PM(",。/)进行限制,限制公式如下0PM(",/",/)=M4Z(GPF(")-D"""M(",r,/))0PM(w,r,/)=M/iV(Q尸f(w)+Z)画fQP肌(",r,/))其中Dm为一固定常数。12)编码一个宏块在编码第n帧的r行Z列宏块时,编码器根据计算得到的j2^(n,;",/)编码该宏块。编码完该宏块后,编码器将输出编码该宏块的编码信息以及编码比特大小,其编码信息送入缓冲区,以待输出信道,编码比特的大小送到码率控制模块中,用于计算模型参数以及后续宏块和帧的量化参数的预测。13)若编码完当前帧,转(2),否则转(7)编码下一宏块14)若编码完当前GOP,判断是否视频序列已经变完,若编码完成,步骤结束,否则转(1)图l是本发明实施对一组视频序列进行码率控制的实例,其中白色块表示视频中的一个宏块,同时进行宏块层码率控制,灰色块表示视频中的一个宏块,其量化参数采用帧层码率控制计算得到的gi5;图2是视频编码系统框图;-图3是本发明方法实现过程的主要步骤流程图。具体实施例方式以下结合附图进一步描述本发明实施的方法根据码率控制的对象的不同,其可分为对视频序列(GOP)的码率控制,对视频帧的码率控制以及对宏块的码率控制,图1所示的是对一个G0P长度为N的QCIF大小的视频序列进行码率控制的实例,它结合了GOP层码率控制,帧层码率控制和宏块层码率控制。编码一个GOP前需要对该GOP进行码率控制,目的是为了让编码完该GOP产生的编码比特与期望的目标比特相同以使得缓冲区容量保持一个相对平稳,其所期望目标比特由信道输出码率和缓冲区容量决定。帧层码率控制是对视频的每一帧进行控制,它根据缓冲区容量和信道输出码率预先为每一帧分配一目标比特,目的是让编码完该帧后的实际编码比特接近目标比特以使得缓冲区容量保持平稳,在本实例中,帧层码率控制不对第0帧,I帧,和第一帧P帧进行码率控制,其编码使用的量化参数预先设定好,并且,由于编码I帧的实际编码比特大,容易导致缓冲区上溢,因此在本实例中,初始化的第一帧I帧QP比第一帧P帧大6。宏块层码率控制对帧中每一个宏块进行码率控制,目的是为了实现编码完该帧后总的编码比特尽可能地接近为该帧分配的目标比特,在本实例中,宏块层码率控制不对视频帧的第一个宏块进行码率控制,编码第一个宏块时,其量化参数为在该帧的帧层码率控制方法求得的量化参数。图2所示是传统视频编码框图结构,输入编码器的视频信号是没有经过压縮的原始信号,根据码率控制的对象不同,可以是G0P信号,帧信号以及宏块信号。在图2中所示的编码器可以是视频编码芯片或者视频编码程序,它根据码率控制模块提供的量化等级对视频帧信号进行压縮编码,并将编码后的编码信号输入到缓冲区以待输出到信道,同时将编码比特的大小以及编码图像的平均绝对误差值(MAD)送到码率控制模块。在图2中所示的码率控制模块根据编码其送来的编码比特信息和MAD值,并结合缓冲区容量为编码器提供压缩编码所需要的量化等级。1)为该即将编码的视频序列(G0P)分配目标编码比特编码一个G0P时对该GOP分配目标比特,计算公式如下<formula>formulaseeoriginaldocumentpage15</formula>^是为编码该GOP分配的目标比特,"信道输出码率,f为编码帧率,为该GOP帧的数目,A为缓冲区最大容量,A为编码完上一GOP缓冲区占有容量。在本发明中目标缓冲区容量设置为缓冲区容量大小的35%,为了满足低时延通信的要求,缓冲区存储编码数据的所导致的时间延迟不超过O.l秒,并且当缓冲区中容量的容量超过缓冲区大小的80%时进行跳帧,以降低缓冲区的容量。2)为即将编码帧分配目标比特第z'帧分配的目标比特由下面几个因素决定的目标缓冲区容量、帧率、可用带宽、实际缓冲区占用量,其计算公式如下所示<formula>formulaseeoriginaldocumentpage15</formula>其中y是常数,没有B帧它的情况下,其典型值是在为0.75,其它情况为0.25,本发明在没有B帧情况下进行实施的;a是常数,值为0.35。3)帧之间的相关性计算在当前图像序列组中,如果编码完第i帧的平均绝对误差(MAD)为M4Z)力'),第f帧的实际编码比特为尺f(O,第"1帧的MAD为M4LVG-1),第"1帧的实际编码比特为if(i-l)则定义第f帧与第帧之间的相关性系数计算公式为其中<formula>formulaseeoriginaldocumentpage15</formula>(Z)第《-1帧与第Z'帧之间的相关性计算方法为<formula>formulaseeoriginaldocumentpage15</formula>其中p为一固定常数,为了简化运算,实例中-=用第推公式可大大降低乘法次数,公式如下<formula>formulaseeoriginaldocumentpage15</formula>在计算过程中采在编码第W帧前,需要预测该帧与己编码的各帧之间的相关性,为了降低计算量,算法让第W帧与第i帧之间的相关性大小等于第《-1帧与第"1帧之间的相关性。当视频序列中第W帧与第/之间相关性低于7时,7为一固定常数,在本实例中W取值0.5,则第w帧量化参数(2i5)的计算不使用第!'帧的编码数据,此时让p(W,/)等于0,并且,不再使用比该帧时间上更远帧的数据进行计算,计算第n帧的QP时,最多可用M帧已编码帧的数据,其M满足j3(w,w—M)>7且p(w,w-M-l)s/;在本实例中,M的最大值限制为4,即当相关性大于7帧数大于4时,取其前面相关性最大4帧的编码数据用于模型计算。4)对已编码帧间相关性值进行量化量化方法如下(ijP(w,i)=/r.A满足?r'A-A<p(n,0sk.A+仝其中rfp(",O为量化后得到的即将编码第"帧与第f'帧的相关性大小,A为量化步长,其值在编码过程中固定为*,D为一固定常数,量化方法中的^为取0到2。的整数,这样任何数据与々(",0相乘,都可以通过简单的数据移位和加减法运算便可得到结果。由于数据在计算机中的存储方式都是以二机制,因此对二进制的数据向左移一位相等于数据值乘上2,右移一位相当于其值除以2。基于这种思想。以D值为4为实例进一步说明量化后任何数据与4Kw,0相乘进行移位的方法。当D为4时,A为^-丄,此时通过量化后伞("力的取值就为A216的/r倍,例如当;c-3时,任意一个数」与k相乘,用移位和加法的方法,其结果可表示为3'4=^4<<1+,其中^《i表示A的二进制值向左移了l位。当/c为其他数值时,也可用类似的方法进行计算,这样可以将公式中大量的乘除法操作用简单的移位操作和加减法运算进行,从而大大降低了算法复杂度。5)预测即将编码帧编码后的MAD值在计算第n帧的0P前,需要预测该帧编码后的MAD,在本发明中其MAD预测公式设计如下<formula>formulaseeoriginaldocumentpage17</formula>其中<formula>formulaseeoriginaldocumentpage17</formula>6)计算即将编码帧的量化参数在帧层,第"帧的量化步长((2S)计算公式如下:其中<formula>formulaseeoriginaldocumentpage17</formula>其中A为固定常数,为了降低算法复杂度,实例中^取值为0.5,这样可以通过移位操作降低算法复杂度。将求得的0^(")转化为!2^()便可得到第《帧的量化参数。对于第一帧(I帧,帧内编码帧),其量化参数由初始化设定,考虑到I帧编码往往产生大量编码比特,这样很容易出现缓冲区的上溢,因此,为了降低其编码比特,在本发明中该帧的量化参数为初始化量化参数加上6。7)为即将编码宏块分配目标编码比特在编码第"帧"行v列宏块前为该宏块分配目标编码比特,其公式为<formula>formulaseeoriginaldocumentpage17</formula><formula>formulaseeoriginaldocumentpage18</formula>其中im;zfl/"(",r/,力编码第w帧M行v列宏块时当前帧还剩下的比特,腹(",",力为编码第m帧m行v列宏块实际的编码比特,乂为当前帧中还未编码的宏块数目,m(",",v)是为编码第m帧m行v列分配的目标比特。8)宏块间相关性计算(81):计算编码宏块与其周围宏块的相关性系数一个宏块与其周围相邻的宏块有在同一帧中有水平相邻的宏块,垂直相邻的宏块,与上一帧之间有同位置相邻的宏块,第m帧w行v列宏块与它周围宏块的相关系数计算公式分别定义如下<formula>formulaseeoriginaldocumentpage18</formula>其中<formula>formulaseeoriginaldocumentpage18</formula>其中(m,M,v)表示第w帧的"行、v列的宏块与m帧的w行v-l列宏块之间的相关性系数,为水平相关系数;^(w,",v)表示第附帧的"行v列的宏块与w帧的"-l行v列宏块之间的相关系数,为垂直相关系数;^(m,M,v)表示第w帧的w行v列的宏块与w-l帧的w行v列宏块之间的相关系数,为同位置相关系数。(82):预测即将编码宏块与他与其周围宏块之间的相关性系数编码第w帧r行/列的宏块前,首先需要预测该宏块与它周围已编码宏块之间的相关系数,该宏块与其相邻宏块之间的相关系数预测公式分别为<formula>formulaseeoriginaldocumentpage18</formula>=M4Z(&(",,/-l),々(",r-V),&("-W》(83):预测即将编码宏块与已编码宏块之间的相关性编码第"帧的r行/列的宏块前,需要预测该宏块与已编码的各宏块之间的相关性,第w帧A行/列与第m帧的K行V列的宏块之间的相关性计算公式为\z=m八^^jJfj(l-A(l-械r,0))(h(l-A(l-4(m^))仿(l一A(l-^—,vO)其中/^,A^和/"e为固定系数,用于控制在水平,垂直的数目以及控制不同帧之间相关宏块的数目。当视频序列中第《帧r行/列宏块与第m帧《行v列宏块相关性低于W时,则第"帧r行Z列宏块量化参数(2尸)的计算不使用第m帧W行v列宏块的编码数据,此时让g(",^,m,w,v)等于0,并且,限制所有用于计算的相关宏块总数AfM不大于AfMox,若总数大于MMw时,取相关性最大的MMfl;c个宏块。9)对宏块数据间的相关性值进行量化量化方法与帧层相关性值量化方法相同。10)预测即将编码宏块在编码后MAD值在计算第《帧的r行Z列宏块的量化参数前,需要预测该宏块编码后MAD值,在本发明中MAD的预测公式为雄D地(",r,/)-^"($22媳""加,"》.勿"",r,"",v))rt丄其中222"^(",r",m,w,v)其中勿m化。Z,w,",v)为第w帧M亍/列宏块与第m帧的m行v列宏块计算得到的相关性^(",^,m,w,v)经量化后的取值,AT为在时间上,已编码同位置宏块离当前宏块最远的距离,AM直为一固定整数,若时间上距离比W更远的宏块则认为与当前宏块不相关,丄为视频图像的水平宏块数目,i/为视频图像垂直方向的宏块数目。11)计算即将编码宏块的量化参数在宏块层,第"帧的量化参数(!2S)计算公式如下:其中w=;。222^(附,","'勿"",",附,",力cvM4D錄(w,r,/)/"斤L"""'7;222(酉"附,",")^(饥,",力《(v",附,",v))其中《2为固定常数,为了降低算法复杂度,实例中"2取值为0.25,这样可以通过移位操作降低算法复杂度。计算得到第w帧r行Z列宏块量化步长2&(",r力转化为量化参数^U",。0,根据2户f(")对GPM(",rJ)进行限制,限制公式如下e尸w(",r,Z)=M4X(QPF(w)—D"—尸,QPM(w,r,Z))QPM(",r,/)=M/AT(^(w)+Z)画f0P,^PM(",r,/))其中Z)"fl"《P为一固定常数。第一帧I帧内宏块的量化等级采用初始化的量化等级。12)编码一个宏块在编码第"帧的r行/列宏块时,编码器根据计算得到的0^(/z,。/)编码该宏块。编码完该宏块后,编码器将输出编码该宏块的编码信息以及编码比特大小,其编码信息送入缓冲区,以待输出信道,编码比特的大小送到码率控制模块中,用于计算模型参数以及后续宏块和帧的量化参数的预测。13)若编码完当前帧,转(2),否则转(7)编码下一宏块14)若编码完当前GOP,判断是否视频序列已经变完,若编码完成,步骤结束,否则转(1)为了说明本发明的算法性能,作了以下对比试验,将发明与JM8.6的码率标准作对比,仿真设置为Hadamard变换,CABAC和RDO设置为打开模式,编码150帧,其中第一帧为I帧,其余全为P帧,帧率统一设置为20fps。由于本发明中的目标缓冲区容量设置为缓冲区大小的35%,这样每编码完一个GOP时,缓冲区的实际占有量将会在50%左右,为了体现实际的编码过程,在本发明仿真试验中,其初始化的缓冲区容量大小为缓冲区容量的35%。从表l数据可以看出,本文算法与JM.86算法相比,在算法复杂度极大降低的情况下,本发明的算法精度仍然很高,PSNR提高了平均0.5dB左右,而实际编码比特比1\1.86少,且更接近于目标比特,并能随目标码率的变化而变化,同时本发明很好地防止由于缓冲区上溢导致的跳帧现象,本发明提出的码率控制方法能够把让缓冲区的满度维持在一个适度的水平,保证了缓冲区既不上溢也不下溢,也保证了缓冲区中的数据占有量的相对稳定。表1仿真结果数据<table>tableseeoriginaldocumentpage22</column></row><table>权利要求1.有一种新的快速高效自适应码率控制的优化方法,其特征在于本发明基于发明“一种新的快速高效自适应码率控制方法”的基础上,过对数据间的相关性值进行量化,使得码率控制中的大量乘法运算通过简单的移位操作便可实现高性能的码率控制方案;采用了码率控制模型及其中的参数进行了简化,该方法主要包括以下步骤(1)为即将编码帧分配目标比特;(2)计算已编码帧间的相关性;(3)对已编码帧间的相关性值进行量化;(4)预测即将编码帧编码后的MAD值;(5)计算即将编码帧量化参数;(6)为即将编码的宏块分配目标编码比特;(7)预测即将编码宏块与已编码宏块间的相关性;(8)对宏块间的相关性值进行量化;(9)预测即将编码宏块的MAD值;(10)计算即将编码宏块的量化参数;(11)编码一个宏块;(12)若编码完当前帧转(11),否则转(6)编码下一宏块;(13)若编码完当前GOP,判断是否视频序列已经变完,若编码完成,步骤结束,如果没有编完则转(1)。2.根据权利要求1所述基于相关性的自适应码率控制方法,其特征在于所述步骤(2)采用了下面的步骤步骤(21):计算即将编码帧与已编码帧之间的相关性在当前图像序列组中,编码第f帧的平均绝对误差(MAD)为M4DfW,编码第f帧的实际编码比特为i^(!'),第帧的MAD为M4D"i-l),第帧的实际编码比特为&("1)则定义第/帧与第帧之间的相关性系数计算公式为<formula>formulaseeoriginaldocumentpage2</formula>第《-1帧与第Z'帧之间的相关性计算方法为<formula>formulaseeoriginaldocumentpage3</formula>其中戶为一固定常数。设第w帧与第i帧之间的相关性计算方法为,当视频序列中第《帧与第z'之间相关性低于W时,W为一固定常数,则第w帧量化参数(G户)的计算不使用第/帧的编码数据,此时让p(^v')等于0,计算第w帧的G尸时,最多可用M帧已编码帧的数据,其M满足<formula>formulaseeoriginaldocumentpage3</formula>为了降低计算量,限制所有用于计算的相关基本单元总数A/不大于i^fec,若总数大于i^^X时,取相关性最大的i^fflX帧数据;3.根据权利要求1所述基于相关性的自适应码率控制方法,其特征在于所述步骤(3)和步骤(8)采用了下面的方法以对帧层相关性值的量化为例,说明本方法的特征,量化方法如下<formula>formulaseeoriginaldocumentpage3</formula>其中^(",Z')为量化后得到的即将编码第"帧与第f帧的相关性大小,A为量化步长,其值在编码过程中固定为;,D为一固定常数,量化方法中的K为取0到2°的整数,这样任何数据与^(",0相乘,都可以通过简单的数据移位和加减法运算便可得到结果。4.根据权利要求1所述基于相关性的自适应码率控制方法,其特征在于所述步骤(4)采用了下面的方法在计算第w帧的。P前,需要预测该帧编码后的MAD,在本发明中其MAD预测公式设计如下<formula>formulaseeoriginaldocumentpage0</formula>其中4=25.根据权利要求1所述基于相关性的自适应码率控制方法,其特征在于所述步骤(5)采用了下面的方法在帧层,第W帧的量化步长(GS)计算公式如下其中<formula>formulaseeoriginaldocumentpage4</formula>其中A为固定常数。将求得的0^()转化为2^(")便可得到第w帧的量化6.根据权利要求1所述基于相关性的自适应码率控制方法,其特征在于所述步骤(6)采用了下面的方法步骤(51):宏块间相关性系数计算一个宏块与其周围相邻的宏块有在同一帧中水平相邻的宏块,垂直相邻的宏块,与上一帧同位置相邻的宏块,第m帧"行v列宏块与它周围宏块的相关系数计算公式分别定义如下<formula>formulaseeoriginaldocumentpage4</formula>其中、(m,w,v)表示第w帧的w行、v列的宏块与m帧的m行v-l列宏块之间的相关性系数,为水平相关系数;义x(w,",v)表示第/n帧的"行v列的宏块与m帧的w-l行v列宏块之间的相关系数,为垂直相关系数;入c(w,w,v)表示第m帧的"行v列的宏块与m-l帧的w行v列宏块之间的相关系数,为同位置相关系数,步骤(52):预测即将编码宏块与他与其周围宏块之间的相关性系数编码第w帧r行Z列的宏块前,首先需要预测该宏块与它周围已编码宏块之间的相关系数,该宏块与其相邻宏块之间的相关系数预测公式分别为<formula>formulaseeoriginaldocumentpage5</formula>步骤(53):预测即将编码宏块与已编码宏块之间的相关性第"帧/i行/列与第m帧的W行v列的宏块之间的相关性计算公式为<formula>formulaseeoriginaldocumentpage5</formula>其中A^,A^和A^为固定系数,用于控制在水平,垂直的数目以及控制不同帧之间相关宏块的数目,当视频序列中第w帧r行Z列宏块与第m帧M行v列宏块相关性低于W时,则第w帧r行Z列宏块量化参数(GP)的计算不使用第m帧"行v列宏块的编码数据,此时让g(",^,m,",v)等于0。7.根据权利要求1所述基于相关性的自适应码率控制方法,其特征在于所述步骤(9)采用了下面的步骤在计算第"帧的r行Z列宏块的量化参数前,需要预测该宏块编码后MAD值,在本发明中MAD的预测公式为<formula>formulaseeoriginaldocumentpage5</formula><formula>formulaseeoriginaldocumentpage6</formula>其中2!22^w(",r丄附,",v)其中勿^(",。Z,m,w,v)为第w帧M于/列宏块与第w帧的"行v列宏块计算得到的相关性^(",。/,w,","经量化后的取值,W为在时间上,已编码同位置宏块离当前宏块最远的距离,iV值为一固定整数,若时间上距离比W更远的宏块则认为与当前宏块不相关,丄为视频图像的水平宏块数目,i/为视频图像垂直方向的宏块数目。8.根据权利要求1所述基于相关性的自适应码率控制方法,其特征在于所述步骤(8)采用了下面的方法在宏块层,第"帧的量化参数(2S)计算公式如下<formula>formulaseeoriginaldocumentpage6</formula>其中<formula>formulaseeoriginaldocumentpage7</formula><formula>formulaseeoriginaldocumentpage6</formula>其中《2为固定常数。计算得到第《帧r行Z列宏块量化步长2;(",。/)转化为量化参数2^(",。0,根据Q^(")对2^(",d)进行限制,限制公式如下QPM(",。/)=M4Z(eg(")-(",r,/))QPM(n,。0=腊iV(w)+"麵,肌(",r,Z))其中Dwa"^2P为一固定常数。9.根据权利要求4所述基于相关性的自适应码率控制方法,其特征在于,所述"取值范围为1到20之间。全文摘要本发明涉及一种基于H.264/AVC的快速高效应码率控制的优化方法。本发明基于发明“一种新的快速高效自适应码率控制方法”的基础上,过对数据间的相关性值进行量化,对其码率控制模型进行优化和简化,在保证算法性能的基础上进一步地降低了算法复杂度。测试表明,本发明在使用很少数据量进行计算时,仍具有很高精度,本发明与G012标准相比,极大地降低了算法复杂度,并提高了码率控制精度,实际编码比特更接近于目标编码比特,平缓了缓冲区,使得仿真序列的跳帧数也大大降低,并且编码视频的PSNR值平均提高了0.5dB。文档编号H04N7/24GK101287112SQ20081004461公开日2008年10月15日申请日期2008年6月3日优先权日2008年6月3日发明者春方申请人:春方
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1