CN100574442C - 基于图像直方图的码率控制方法 - Google Patents
基于图像直方图的码率控制方法 Download PDFInfo
- Publication number
- CN100574442C CN100574442C CN 200810102519 CN200810102519A CN100574442C CN 100574442 C CN100574442 C CN 100574442C CN 200810102519 CN200810102519 CN 200810102519 CN 200810102519 A CN200810102519 A CN 200810102519A CN 100574442 C CN100574442 C CN 100574442C
- Authority
- CN
- China
- Prior art keywords
- mad
- rate control
- sliding window
- value
- avg
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供了一种码率控制方法,本发明方法对JVT-G012算法中的MAD预测作了改进,基于直方图差引入一个比率因子,对预测的MAD值进行自适应调整,使之更加接近真实的MAD值。同时,本发明还采用滑动窗技术自适应地选择已编码帧数计算平均直方图差,从而进一步有效地提高了码率控制的精度。
Description
技术领域
本发明涉及视频编码技术,具体涉及一种能有效提高码率控制性能的方法。
背景技术
视频编码技术的高速发展和视频传输的强烈需求,使码率控制逐渐成为一个被广泛关注和深入研究的课题,任何一个实用化的编码系统,都离不开码率控制。视频码流的不均匀和网络带宽的不稳定,对视频传输和存储极其不利。码率控制就是调整视频编码输出的码率,使之与传输带宽相匹配,同时获取最小的解码失真,以保证良好和稳定的接收解码质量,因此,码率控制是视频质量稳定和可靠传输的重要保证。
码率控制贯穿视频编码的全过程,一方面可以根据信道的状态来平滑码流,另一方面,可以增强视频序列的图像质量。此外,码率控制还直接影响整个系统的延时。
根据带宽特性,视频系统分为固定码率(CBR,Constant Bit Rate)和可变码率(VBR,Variable Bit Rate)系统,CBR要求以一个固定的码率进行传输或存储,诸如基于光盘(CD)的存储(略低于1.5Mbps)、ISDN(p×64kbps)以及数字电视广播(DVB,Digital Video Broadcast,5~10Mbps)等,VBR则允许由信源产生的数据在网络上的传输速率在一定范围内是可变的,这类网络包括ATM、Internet和无线信道[2]。对于CBR系统,必须在编码器之后采用平滑缓冲器调整输出码流保持一恒定码率;而对于VBR系统,由于网络阻塞、丢包和QoS保证等限制也必须进行相应的码率控制,通过调节码率以保持恒定的视频质量等要求。
码率控制实际上是一种面向应用的控制技术,不同应用所需的码率控制模型和算法不尽相同,因此引起许多学者进行广泛深入的研究,并针对各种视频编码标准,提出相应的码率控制解决方法。
最初L.Wang等通过试探(Trial-and-error)的方法来实现码率控制,即通过使用不同量化参数进行多次编码,最后按应用需要来选择合适的量化参数。该方法需要多次试验才能得到较为合适的量化参数,不适于实时实现。在H.261的RM8中最早提出按缓冲区的满溢程度来选择量化参数的方法,是一种简单的一次通过(One-pass)的码率控制方法。随后,在MPEG-2的TM5中也采用了基于缓冲器状态的码率控制方法,根据虚拟缓冲器的当前存储量和目标比特率来选择的。后来码率控制方法的研究大都通过建立率失真模型来优化选择编码参数,率失真优化方法主要包括动态编程(DynamicProgramming)和Lagrange乘子法两类。
基于模型的码率控制方法要求找到一个尽可能准确的率失真(R-D:Rate-Distortion)模型来指导码率控制,许多学者对率失真函数模型进行了广泛深入的研究,在文献[H.M.Hang and J.J.Chen.SourceModel for transform video coder and its application-part I:fundamental theory.IEEETrans.CSVT.,vol.7(2),pp:287-298,1997.]中,从经典率失真理论,推导出率失真函数模型,修正后用于实际编码器的编码过程。
W.Ding在文献[W.Ding and B.Liu.Rate control of MPEG video codingand recording by rate-quantization modeling.IEEE Trans.CSVT.,vol.6,pp:12-20,Feb.1996.]中提出一个通用“率-量化步长(R-Q)”函数模型,如式(1)所示,式中的α、β、γ为模型参数,在编码过程中根据图像活动度不断更新。
T.Chiang在文献[T.Chiang and Y.Q.Zhang.A new rate control schemeusing quadratic rate-distortion modeling.IEEE Trans.CSVT.,Feb.1997,vol.7(1),pp:246-250.]中假定视频信源信号服从Laplacian分布条件下,提出二阶R-Q模型,如式(2)所示,用于MPEG-4的码率控制,并被MPEG-4标准接收,并成为VM8码率控制方案。该模型具有较宽的码率范围,既适用于基于DCT变换的编码器也适用于基于小波交换的编码器。
R=aQ-1+bQ-2 (2)
随后Tihao等在二阶R-Q模型上提出了可扩展码率控制算法,可以用于没有延迟限制的VBR和低延迟和缓冲限制的CBR,并使用滑动窗口来选择模型可用数据,处理场景切换带来的问题。同时,为了避免缓冲溢出帧占用超出预算码率时,采用选择跳帧处理。
Jordi等在对残差图像DCT系数统计分析基础之上提出了分别适应高码率和低码率模式的率失真模型,并应用在H.263+测试模型TMN8中,并被接收成为TMN8码率控制方案。
为了精确描述率失真模型,还有许多学者作广泛深入的研究,如文献[L.J.Lin,A.Ortega and C.C.J.Kuo.Rate control using spline interpolatedR-D characteristics.in Proc.VCIP,Orlando,FL,pp:111-122,Mar.1996.]中采用样条插值的方式描述率失真模型,文献[E.D.Frimout,J.Biemond and R.L.Lagendik.Forward rate control for MPEG recording.in Proc.SPIE Visual Commun.Image Processing.Cambridge,MA,pp:184-194,Nov.93.]及[B.Tao,H.A.Petersonand B.W.Dickinson.A rate-quantization model for MPEG encoders.in Proc.ICIP,Santa Barbara,CA,vol.I,pp:338-341,Oct.1997.]中采用对数表达式描述率失真模型,文献[K.H.Yang,A.Jacquin and N.S.Jayant.A normalizedrate-distortion model for H.263-compatible codecs and its application to quantizerselection.in Proc.ICIP,Santa Barbara,CA,vol.II,pp:41-44,Oct.1997.]的率模型最为复杂,同时包含对数项及二次项,很明显这些方法非常复杂。
He Zhihai等与常规思想不同,从码率与DCT系数量化后零值的统计特性出发,提出了一种基于ρ域的线性码率模型,认为零系数所占的比例(ρ)与输出码率存在线性关系,在此模型的基础上得到一种基于ρ域的码率控制方法。
除了上述介绍的码率控制方法外,还有一些学者从研究影响码率的不同因素出发,针对不同应用提出相应的码率控制方法和策略。
文献[H.Song and C.C.Kuo.Rate-control for low-bit-rate video viavariable-encoding frame rates.IEEE Trans.CSVT.,vol.11(4),pp:512-521,2000.]从改变帧率因素出发,针对视频在时域上的跳变和抖动影响视频主观感受的问题,提出了一种变帧率的码率控制方法,该方法主要是在率失真模型中考虑了相邻两帧间的PSNR差值,并构建了一个合理的帧率分级方法,可以有效改善视频的时域质量。文献[F.Pan,Z.Li,K.Lim andG.Feng.A study of MPEG-4rate control scheme and its improvement.IEEE Trans.CSVT,vol.13,pp:440-446,May2003.]提出了基于权重思想的P帧码率分配算法,权重的选取是根据P帧在GOP中位置,离I帧越近的P帧应该分配更多的比特数。
文献[S.Aramvith,I.M.Pao and M.T.Sun.A rate-control scheme for videotransmission over wireless channels.IEEE Trans.CSVT.,vol.11(3),pp:569-580,2001.]通过综合考虑缓冲区状态、反馈信道信息和信道模型等,改进TMN8方法使之避免缓冲区溢出和跳帧发生。文献[K.N.Nagn,T.Meierand Z.Chen.Improve single video object rate control.IEEE Trans.CSVT,vol.13,pp:385-393,May 2003.]对二阶R-D模型进行了改进,解决了模型参数限制的问题。文献[R.C.Jordi and S.Lei.Rate control in DCT video coding forlow-delay communication.IEEE Trans.CSVT,vol.9,pp:172-185,Feb.1999.]提出了保持小缓冲大小和低延迟的方法。文献[A.Vetro and H.Sun.MPEG-4rate control for multiple video objects.IEEE Trans.CSVT.,vol.9(1),pp:186-199,1999.]在MPEG-4 VM5的基础上,研究了不同视频对象或区域间的码率分配方法。文献[Q.Wang.A new rate allocation scheme for progressivegranular scalable coding.ISCAS,vol.2,pp:397-400,2001.]针对FGS应用,研究了在不同增强层间优化分配码率的问题。
文献[J.L.Richard and V.Anantharam.Utility-based rate control in theInternet for elastic traffic.IEEE Trans.CSVT.,vol.10(2),pp:272-286,2002.]及文献[W.Zhu.Network-adaptive rate control with unqual loss protection for scalablevideo over internet.ISCAS,vol.5,pp:109-112,2001.]等分别研究了在Internet信道上视频传输的基于信道自适应的码率控制方法。文献[J.Cabera,A.Ortega and J.Ronda.Stochastic rate-control of video coders for wireless channels.IEEE Trans.CSVT.,vol.12(6),pp:496-510,2002.]采用Markov随机模型对无线信道和视频信源进行状态描述,在信道状态发生改变时,采用动态编程方法,在均方误差意义下决定视频输出码率,在一定程度上改善了视频在无线信道实时传输性能。文献[C.L.Huang and S.Liang.Amodel-driven joint source and channel coder for MPEG-2video transmission.IEEEICASSP.,vol.3,pp:2777-2780,2002.]等则研究了基于MPEG-2的联合信源与信道优化分配码率问题。
总结起来,MPEG-2的TM5、MPEG-4的VM8和H.263的TMN8是视频编码中最经典的码率控制算法,上述许多算法都是在它们的基础上发展起来的。
尽管对码率控制技术已进行了大量研究,但H.264标准引入RDO优化技术,为码率控制带了新的问题,其中编码模式的选择与量化参数有关,使得以往提出的经典码率控制算法在H.264不能适用[87]。目前研究的码率控制方法不适于H.264应用。同时目前的H.264码率控制方法仍存在算法计算量大、控制结果不精确等问题,必须为H.264重新研究码率控制方法。
H.264与以往编码标准中仅以失真作为选择编码参数不同,为了提高编码效率,综合考虑了失真和码率两个因素的影响,并通过率失真优化(RDO)来选择编码参数(称为编码模式)。率失真优化的引入,使得H.264的码率控制算法除了要考虑缓冲区和图像复杂性等因素外,还必须考虑带来的新问题,因此以往设计的各种码率控制算法不再适用于H.264,使得H.264的码率控制算法更加复杂。
在H.264中,率失真优化是运用拉格朗日乘数法实现的,公式如(3)
J(s,c,mode|QP,λMODE)=D(s,c,mode|QP)+λMODE·R(s,c,mode|QP) (3)
其中s为原图像,c为参考图像,mode为编码模式,为J称为编码代价,以QP和λmode为参数。D(s,c,mode|QP)、R(s,c,mode|QP)分别是在mode模式和QP下的失真和码率,码率包括头比特、运动信息和所有DCT系数。选择使得J最小模式作为最后的编码模式。在H.264中,
λmode(QP)≈0.85·2(QP-12)/3 (4)
从而,编码模式的选取与QP有关。QP作为码率控制的结果,在进行编码模式选择之前并不知道。此外,在码率控制算法中通常要考虑图像的复杂性等因素,比如引入SAD、MAD、σ2等参数,在未确定编码模式时,这些参数是无法得知的。这就是所谓的“蛋鸡悖论”(The Chichen and Egg Dilemma)问题,即执行RDO优化时,要求给定一个量化参数QP,这个QP应该是码率控制计算结果,而之后进行码率控制时要求用到MAD,这个MAD只有在RDO优化执行后得到的结果。这个关系可以使用如图1表示。
目前,H.264的码率控制算法提案主要有三个:J.Wang提出的JVT-D070、S.Ma提出的JVT-F086和Z.Li提出的JVT-G012。
J.Wang在H.263TMN8和MPEG-4VM8的基础上,提出一个基于MAD的码率控制策略,通过统计的方法,在码率(Rate)与(MAD/QP)之间建立一个线性模型(QP),如式(5)所示,用于P帧图像的码率控制。
其中,αP和βP为模型系数,每编码完后进行更新。然后根据目标码率、缓冲区占有量和图像复杂性等因素计算QP,与VM8的方法相似。
S.Ma通过改进MPEG-2TM5的码率控制算法,通过两次RDO计算,使之适应H.264编码。首先利用前或相邻已编码宏块的QP来预测当前宏块的QP,并进行第一次RDO优化计算,选择最优的编码模式,然后根据目标码率、缓冲占有量和图像复杂性计算QP,如果计算得到的QP与预测的QP的误差小于某一阈值,就不进行第二次RDO计算,否则进行第二次RDO计算。
Z.Li在JVT-G012中,给出了基本单元(Basic Unit)的定义,提出了应用流量往返模型(Fluid Flow Traffic Model)计算目标比特数,提出MAD(Mean Absolute Difference)线性预测模型(式6)解决“蛋鸡悖论(The Chichen and Egg Dilemma)”问题。
MADcb=a1×MADpb+a2 (6)
其中,MADcb为当前基本单元的MAD预测值为,MADpb为前一帧同一位置基本单元的MAD值a1和a2是预测模型系数,初始值a1=1,a2=0,编码完每一个基本单元后进行更新。此线性预测模型解决了码率控制和RDO之间的“蛋鸡悖论”问题。即将一帧划分成若干基本单元,在R-D模式选择前对当前基本单元的MAD进行线性预测,然后运用MPEG4中使用的二次R-Q模型(7)计算量化参数,最后用此量化参数来进行RDO优化计算和编码。
R=MADcb×(X1Q-1+X2Q-2) (7)
JVT-G012算法描述如下:
(1)使用流量往返模型为当前帧计算目标比特数,并结合HR对目标比特数进行裁减;
(2)将剩余比特数等量的分配给待编码的基本单元;
(3)运用线性预测模型预测当前基本单元的MAD;
(4)使用二阶R-D模型计算相应的量化参数(QP);
(5)使用(4)得到的QP为每个宏块执行RDO编码模式选择,并最后完成编码。
通过实验对三种提案进行比较,JVT-D070算法有明显缺陷,因为H.264预测非常准确,从而MAD值很小,而在MAD值比较小的情况下,码率与MAD、QP的关系非常随机,所以此算法不能准确控制码率。JVT-F086算法进行两次RDO计算,其复杂度是可想而知的,而且当第二次计算的QP与第一次计算的QP还相差比较大时,还需要再次对QP进行调整,此算法复杂度太高,不能很好地适用于H.264。JVT-G012算法使用流量往返模型为当前帧计算目标比特数,目标比特计算比较精确,同时使之不仅适合于常比特率(CBR)环境,同样也适合于可变比特率VBR环境;通过线性预测的方式得到码率控制算法中的MAD,在图像变化不大的情况下,能获得较好的码率控制。通过比较,一致认为JVT-G012算法比前两者要好,并且将此算法纳入H.264的非标准建议中。
然而,在场景切换或运动剧烈的情况下,使用JVT-G012简单线性预测模型获得的MAD与实际的MAD相差很大,JVT-G012算法中使用的二阶R-D模型中的MAD是真实值,如果MAD值不准确,势必造成计算结果的不精确。此外,H.264使用多模式多参考帧的预测方法,宏块头信息所占比特波动非常大,预测非常准确,同时采用整数变换和周期性的量化策略,QP与Qstep(量化步长)呈指数关系,致使二阶R-D模型不能精确计算,并且也存在计算复杂等缺点,从而使得码率控制的结果不是非常令人满意,因此JVT-G012同样存在缺陷。
因此,许多学者提出相应的改进方法,或者提出新的R-D模型,设计新的码率控制算法。如文献[S.Milani,L.Celetto and G.A.Mian.Aratecontrol algorithm for the H.264encoder.Proceedings of the Sixth Baiona Workshopon Signal Processing in Communications,pp:390-396,Baiona,Spain,Sept.2003.]研究了基于ρ域的控制算法,但太复杂;文献[S.Ma,W.Gao,F.Wu and Y.Lu.Rate control for JVT video coding scheme with HRD considerations.IEEE ICIP’03,vol.3,pp:793-796,2003.]中提出了基于HRD(Hypothetical ReferenceDecoder)的码率控制算法;文献[G.Sullivan,T.Wiegand.Joint ModelReference Encoding Methods and Decoding Concealment Methods.JVT-I049,JointVideo Team(JVT)of ISO/IEC MPEG and ITU-T VCEG San Diego,USA,Sept.2003.]基于JVT-G012算法思想提出了二阶率模型的码率控制算法;文献[10]从信号的统计分布出发研究了一种新的RD率模型,并基于此模型提出了新的码率控制算法;文献[N.Wang and Y.He.A new rate controlstrategy for H.264.IEEE ICICS-PCM’03,pp:1370-1374,2003.]基于TMN8率模型的思想提出了一种基于对数关系的码率控制算。以上算法在一定程度上能提高码率控制的精度,但没有结合H.264的新特点,充分描述码率的变化情况,因此存在复杂性太高或控制不够精度等缺点。
综上所述,H.264的新特点,为码率控制提出了新的问题,已设计的方案不能解决所有的问题。因此H.264码率控制的解决直接关系到H.264标准的应用和发展。
目前普遍接受的是JVT-G012算法。但经分析,JVT-G012算法依然存有多项不足之处。一般地,预测残差的MAD值揭示了图像的编码复杂度,在某种程度上,它使R-D模型能够准确地控制视频的输出码率,但是如果MAD不准确,R-D模型就不能有效地发挥作用。MAD值的计算公式如式(8)所示。
在JVT-G012中,MAD线性预测模型是假设视频图像是缓慢变化的。使用前一帧的MAD值预测当前帧的MAD值,两者之间肯定会存在差异,特别是在视频场景切换或运动剧烈的场面中尤为突出,此时预测的MAD值与真实的MAD值会相差很大,这样通过二阶模型控制的码率将会出现很大的偏差。
发明内容
本发明的目的在于针对上述不足提供一种MAD预测值的调整方法;
本发明的另一个目的在于提供一种码率控制方法,该方法通过对MAD预测值的调整能过获得更好的精度。
本发明方法对JVT-G012算法中的MAD预测作了改进,基于直方图差引入一个比率因子,对预测的MAD值进行自适应调整,使之更加接近真实的MAD值。同时,本发明还采用滑动窗技术自适应地选择已编码帧数计算平均直方图差,从而进一步有效地提高了码率控制的精度。
具体地说,本发明方法基于直方图差引入一个比率因子λ,在此基础上根据λ对MADcb,进行自适应调整,调整的方法是:
其中,MADAdjusted为调整后的MAD值,Th1的值为0.8~0.99,,Th2的值为1.01~1.2,优选Th1=0.9,Th2=1.1;
所述比率因子 其中,Dh(i,i-1)表示当前帧与前一帧的直方图差,avg(Dh)是前面已编码帧的直方图差的平均值。
Dh(i,i-1)的值可以通过如下公式计算获得:
其中,Hi(j)为第i帧图像的灰度直方图。
avg(Dh)的值可以通过如下公式计算获得:
avg(Dh)是前面已编码帧的直方图差的平均值,该值应该是一个局部的统计结果,并且随着时间可以实时更新。当发生场景切换或运动剧烈的场面后,前面的图像与改变后的图像的相关性就会急剧下降,如果还使用这些图像进行计算,必定会产生很大的误差。为了解决此问题,获得当前视频的实时特性,一般采取滑动窗技术,在滑动窗内进行分析。利用滑动窗机制,计算滑动窗内的图像的直方图差的平均值。
avg(Dh,j)是第j个滑动窗的直方图差的平均值,Ns为滑动窗的长度(即包含图像帧的数量),Dh,j(k,k-1)表示第j个滑动窗内图像k与图像k-1之间的直方图差。
滑动窗的长度是实时调整的,如果快速变化场景,则使用较小的窗,否则窗的长度应适当的宽一些。同时为了保证滑动窗长度是在一定范围内变化,并且不要产生陡变,本发明采用以下公式进行计算:
W(j+1)=min(W(j)+1,s(j)×MAX_SLIDING_WINDOW) (14)
其中,W(j+1)表示当前滑动窗口的长度,MAX_SLIDING_WINDOW表示最大滑动窗长度,一般取15~25,优选为20,以上公式可以保证在视频序列变化缓慢情况下,窗的长度也是渐进调整的。
按照上面所述的方法调整MAD的预测值,并将调整后的MAD的预测值代入二阶R-Q模型进行计算和编码。从而得到一种改进的码率控制方法。实验表明改进的码率控制算法能增强码率控制的性能,目标码率匹配更精确,图像解码质量提高且PSNR变化较小,并能较好地处理场景切换等问题。
附图说明
图1是RDO与码率控制的关系示意图;
图2是foreman序列的MAD预测值与真实值的比较;
图3是carphone_foreman序列的MAD预测值与真实值的比较;
图4是图2中的预测误差(Error)与因子λ的对应图;
图5是MAD值对比图;
图6是MAD误差对比图;
图7是Slient序列PSNR对比图;
图8是Salesman序列PSNR对比图;
图9是Foreman序列每帧的实际编码比特与目标比特之间的误差对比结果;
图10是Football_Stefan序列每帧的实际编码比特与目标比特之间的误差对比结果。
具体实施方式
下面结合附图进一步说明本发明。应当理解,以下实施例仅用于说明本发明,而不能作为本发明的限制,在不背离本发明精神和实质的前提下,进行的修改或替换,均属于本发明的范围。
实施例1MAD的自适应调整方法
使用标准测试序列进行实验,发现MAD预测值与真实值总存在一定的误差,在运动剧烈或场景切换处更为明显。图2和图3分别是foreman和carphone_foreman(QCIF,64K,30Hz,起始QP=28)序列的MAD预测值与真实值比较图,很明显看出,对于渐变的foreman序列,两者之间的误差不是很大,但对于carphone_foreman序列,由于在第60帧处发生了场景切换,此时的预测值与真实值完全偏离,如果使用此预测值进行码率控制,势必造成码率计算和分配不准确,严重时可能导致缓冲区发生上溢。(carphone_foreman序列由carphone和foreman各60帧组合而成)
通常,在前一帧编码完成后,读取当前图像与前一帧的重构图像进行比较,从中可以了解当前图像的复杂情况。
假设Dh(i,i-1)为第i帧和第i-1帧图像的灰度直方图差的平均值,则:
其中,Hi(j)为第i帧图像的灰度直方图。
然后引入一比率因子λ,并定义λ为:
其中,Dh(i,i-1)表示当前帧与前一帧的直方图差,avg(Dh)是前面已编码帧的直方图差的平均值。
经大量实验发现,比率因子λ与MAD预测误差(真实值-预测值)之间存在相似的变化趋势。图4是图2中的预测误差(Error)与因子λ的对应图,将这两个值绘制在同一个图中以便分析它们之间的关系。
从图中可以分析得出,因子λ与MAD预测误差之间的关系基本一致。当因子λ>1时,预测误差就会大于零,即预测值偏小,反之亦然。λ>1说明当前图像较前面的图像复杂,相应MAD值应该变大,相反,λ<1说明当前帧较前面的图像简单,相应MAD值应该变小。当然,这种关系是统计意义上,也并不是严格的,因为直方图只是反映了图像的全局变化,当图像在同一个场景中时,如果存在运动剧烈或缓慢的局部区域时,图像的MAD值会相应地改变,而因子λ并不变化,但这并不影响下面MAD预测值的调整方法。
MAD预测值的自适应调整算法描述如下:
首先,使用前一帧得MAD值通过线性预测模型得到当前帧的预测值,
MADcb=a1×MADpb+a2 (6)
其中,MADcb为当前帧的MAD预测值,MADpb为前一帧同一位置基本单元的MAD值。
然后,在此基础上根据λ对MADcb进行自适应调整,调整的方法是:
MADAdjusted为调整后的MAD值,Th1和Th2通过大量实验得到(本例中取Th1=0.9、Th2=1.1)。并将此值代入二阶R-Q模型进行计算和编码。
R=MADAdjusted×(X1Q-1+X2Q-2) (16)
图5是foreman序列经MAD调整后的对比图,很明显,调整后的MAD值更加接近真实值。图6是MAD值的预测误差和调整后的误差对比,从图中可以看出,调整后的MAD误差降低了很多。
avg(Dh)是前面已编码帧的直方图差的平均值,该值应该是一个局部的统计结果,并且随着时间可以实时更新。当发生场景切换或运动剧烈的场面后,前面的图像与改变后的图像的相关性就会急剧下降,如果还使用这些图像进行计算,必定会产生很大的误差。为了解决此问题,获得当前视频的实时特性,一般采取滑动窗技术,在滑动窗内进行分析。利用滑动窗机制,计算滑动窗内的图像的直方图差的平均值。
avg(Dh,j)是第j个滑动窗的直方图差的平均值,Ns为滑动窗的长度(即包含图像帧的数量),Dh,j(k,k-1)表示第j个滑动窗内图像k与图像k-1之间的直方图差。
滑动窗的长度是实时调整的,如果快速变化场景,则使用较小的窗,否则窗的长度应适当的宽一些。同时为了保证滑动窗长度是在一定范围内变化,并且不要产生陡变,本发明采用以下公式进行计算:
W(j+1)=min(W(j)+1,s(j)×MAX_SLIDING_WINDOW) (14)
其中,W(j+1)表示当前滑动窗口的长度,MAX_SLIDING_WINDOW表示最大滑动窗长度,在本例中该值取20,以上公式可以保证在视频序列变化缓慢情况下,窗的长度也是渐进调整的。
实验结果与分析
实验采用JM7.5C参考模型,方法是采用CAVLC熵编码、参考帧为5、搜索范围为32、采用Hardmard变换、使用率失真优化(RDO),起始QP=28,第一帧为I帧,对多个标准序列进行实验。
本发明方法实验结果与JVT-G012算法结果进行比较,对解码图像的质量及其变化、实际码率和目标码率的一致性指标进行比较。表1列出了目标码率的一致性和图像质(PSNR)及其变化(σPSNR)的实验结果(I帧不在统计之内)。
表1实验结果
JVT-G012算法 本发明方法
目标码
测试序列 实际码 PSNR σPSNR 实际码 PSNR σPSNR
率(kbps)
率(kbps) (dB) (dB) 率(kbps) (dB) (dB)
Carphone
(10f/s,CIF,72 72.65 32.14 3.56 72.28 32.21 2.96
IBBP,300帧)
Coastgurad
(10f/s,CIF,128 128.25 28.92 2.77 128.12 29.04 2.23
IPPP,100帧)
Salesman
(10f/s,QCIF,64 64.08 39.37 1.69 64.05 39.39 1.34
IPPP,100帧)
Silent
(15f/s,QCIF, 128 128.14 40.73 2.98 128.15 40.85 2.37
IPPP,150帧)
Football_Stefan
(30f/s,CIF, 256 256.63 29.13 4.26 256.46 29.81 2.64
IPPP,150帧))
(注:Football_Stefan序列是由carphone和foreman各60帧组合而成)
图7和8显示了Slient和Salesman序列每帧亮度PSNR的对比结果。从图中可以看出,本发明方法的PSNR比JVT-G012算法的PSNR平均有0.1dB的提高,同时本发明方法的PSNR变化较小。
图9和图10显示了Foreman和Football_Stefan序列每帧的实际编码比特与目标比特之间的误差对比结果。可以看出,本发明方法的误差要比JVT-G012算法要小,图10中第60与61帧处(Football_Stefan)发生了场景切换,JVT-G012算法的误差非常大,本发明方法的误差要小很多,从而有效地解决了场景切换的问题。
实验表明,改进的码率控制算法能增强码率控制的性能,目标码率匹配更精确,图像解码质量提高且PSNR变化较小,并能较好地处理场景切换等问题。
Claims (7)
2、如权利要求1所述的方法,其特征在于,所述Th1=0.9,所述Th2=1.1。
3、如权利要求1或2所述的方法,其特征在于,滑动窗的长度根据场景变化的速度进行相应的调整,当场景变化快时采用较小的滑动窗长度,变化慢时采用较大的滑动窗长度。
4、如权利要求3所述的方法,其特征在于当前滑动窗长度通过如下方法获得:
W(j+1)=min(W(j)+1,s(j)×MAX_SLIDING_WINDOW)
其中,W(j+1)表示当前滑动窗口的长度,MAX_SLIDING_WINDOW表示最大滑动窗长度。
5、如权利要求4所述的方法,其特征在于,所述最大滑动窗长度为15~25。
6、如权利要求5所述的方法,其特征在于,所述最大滑动窗长度为20。
7、一种码率控制方法,其特征在于该方法采用权利要求1~6任一项所述的方法调整MAD的预测值,并将调整后的MAD的预测值代入二阶R-Q模型进行计算和编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810102519 CN100574442C (zh) | 2008-03-24 | 2008-03-24 | 基于图像直方图的码率控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810102519 CN100574442C (zh) | 2008-03-24 | 2008-03-24 | 基于图像直方图的码率控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101252693A CN101252693A (zh) | 2008-08-27 |
CN100574442C true CN100574442C (zh) | 2009-12-23 |
Family
ID=39955850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810102519 Expired - Fee Related CN100574442C (zh) | 2008-03-24 | 2008-03-24 | 基于图像直方图的码率控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100574442C (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102271248B (zh) * | 2011-08-15 | 2014-03-05 | 复旦大学 | 一种基于权重窗口模型的h.264/avc宏块级码率控制算法 |
CN106470350B (zh) * | 2015-08-21 | 2019-10-08 | 中国电信股份有限公司 | 基于动态比特率的码率自适应方法及装置 |
CN105847805A (zh) * | 2016-03-30 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种基于滑动窗口的码率控制方法和装置 |
CN114268618A (zh) * | 2016-11-10 | 2022-04-01 | 上海贝锐信息科技股份有限公司 | 一种kvm交换机远程控制系统及方法 |
CN108012149B (zh) * | 2017-12-19 | 2021-05-18 | 四川九洲电器集团有限责任公司 | 一种视频编码中码率控制的方法 |
CN110248195B (zh) * | 2019-07-17 | 2021-11-05 | 北京百度网讯科技有限公司 | 用于输出信息的方法和装置 |
CN113378664B (zh) * | 2021-05-26 | 2024-07-12 | 辽宁工程技术大学 | 基于半非负矩阵分解的高光谱图像变化检测方法和系统 |
-
2008
- 2008-03-24 CN CN 200810102519 patent/CN100574442C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101252693A (zh) | 2008-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1910934B (zh) | 自适应速率控制编码器 | |
JP4390112B2 (ja) | ビデオシーケンスのレートを制御する方法及び装置並びにビデオ符号化装置 | |
CN108235016B (zh) | 一种码率控制方法及装置 | |
CN101069432B (zh) | 用于视频编码器速率控制的量化参数的确定方法和设备 | |
CN100574442C (zh) | 基于图像直方图的码率控制方法 | |
CN102932641B (zh) | 一种恒定质量码率控制方法 | |
CN102067610A (zh) | 基于视频编码的切片依赖性的码率控制模型适配 | |
KR100601615B1 (ko) | 네트워크 대역폭에 적응적인 영상 압축 장치 | |
WO2002096120A1 (en) | Bit rate control for video compression | |
CN101335891A (zh) | 视频速率控制方法及视频速率控制器 | |
Li et al. | A novel rate control scheme for video over the internet | |
CN117956160A (zh) | 码率控制方法、码率控制装置以及计算机存储介质 | |
KR101069254B1 (ko) | H.264를 위한 프레임 단위 비트율 제어 방법 | |
Sanz-Rodríguez et al. | A rate control algorithm for HEVC with hierarchical GOP structures | |
Wu et al. | Rate control in video coding | |
Zhang et al. | A two-pass rate control algorithm for H. 264/AVC high definition video coding | |
KR101168007B1 (ko) | 실시간 비디오 부호화를 위한 적응적인 유닛-레벨 비트율 제어방법 | |
Bhattacharyya et al. | Burstiness minimized rate control for high resolution H. 264 video conferencing | |
Tsai | Rate control for low-delay video using a dynamic rate table | |
KR100949755B1 (ko) | 비디오 시퀀스의 레이트를 제어하는 방법 및 장치, 비디오부호화 장치 | |
KR20100004009A (ko) | 실시간 h.264를 위한 적응적 프레임 비트율 제어 방법 | |
Arachchi et al. | PSO based bit rate optimization for MPEG-1/2 video coding | |
Hsu et al. | A predictive H. 263 bit-rate control scheme based on scene information | |
Nguyen et al. | SPEM online rate control for realtime streaming video | |
Chang et al. | A two-layer characteristic-based rate control framework for low delay video transmission |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091223 Termination date: 20120324 |