专利名称:可变码率的视频编码方法和装置的制作方法
技术领域:
本发明涉及一种可变码率的视频编码方法,为了对帧序列进行编码该方法至少包括,输入码流的量化步骤,对所述量化后的码流编码的步骤,和在所述编码步骤的输出根据缓冲器的占有量和相应的编码装置控制量化步长的步骤。本发明主要应用在MPEG-2编码器中。
背景技术:
例如在BBC研究与发展报告,BBC-RD-1996/3中由S.R.Ely所写的“MPEG视频编码基本指导介绍”所述的,MPEG-2数据压缩标准并不仅仅是适用于数字视频广播的标准,还是适用于数字视频光盘(DVD)的存储标准。在传统的压缩光盘(CD)中,比特的传输是固定的,图像可以被CBR(固定码率)编码。但是,为了使图像以给定的质量被编码,两个不同的图像组并不需要相同数量的比特。因此,当对视频序列编码时,尽管简单的图像会有很好的质量,但是复杂的图像会有很大的失真。
对于记录时要求最好质量的DVD来说必须避免这种对于同一序列质量变化的问题。因此,DVD标准允许数据的VBR(可变码率)传输,从而可适应图像的复杂性由于复杂的图像要用到比其它图像更多的比特,因此在序列期间码率是变化的,但图像质量保持稳定。
但是,考虑到对视频序列的编码,保持稳定的质量还存在另一个困难编码序列必须与固定的比特预算相适应。为了考虑该附加的限制,如1998年7月6日提交的国际专利申请PCT/IB-98/01031(PHF98560)所述,已经提出确定VBR编码器在最终编码之前,先经过一个或数个预分析通道,在此期间涉及图像复杂性的许多信息被收集并在最后一个通道中被用于比特预算分配的最优化。这意味着为了最终记录的最优化,视频源(例如电影)被完全编码数次,而这需要许多时间(对于每个序列VBR通道数量X序列持续时间)。
发明概述本发明的第一目的是提供一种实时的编码方法,能够以比前述VBR编码器更快的方式进行可变码率的编码。
为此,本发明涉及一种如本说明书开头段落所描述的一种方法,其进一步的特征在于还包括分析步骤,用于根据与输入码流相关的参数来确定的每一帧周期地更新的预留比特,和附加的控制步骤,用于根据所述的预留比特的状态保证、增加或减少量化步长值。
此方法的主要优点在于可用已知的持续时间对视频序列执行实时编码,同时该编码与预定容量相适应。
本发明的另一目的是提供一种执行所述编码方法的编码装置。
附图的简要说明本发明将以举例的方式参照相应的附
图1进行说明,图1表示根据本发明的编码方法和装置。
发明的详细描述如上所述,实时VBR编码器的难题之一即是,编码后的序列(具有已知的持续时间)必须与有限的比特预算相适应。最好假设对于一个足够长的序列,待编码的难的和容易的画面所占比例基本相同,现在描述的本发明基于MPEG-2编码处理的量化步骤的修正以常规比率执行的事实。
参照图1描述的本发明提出的编码方法和装置,是基于以下两个操作的。第一步骤(分析步骤)用于确定预留比特,此预留比特在每一帧都要更新,并用于指示所使用的比特数是否过多。该预留确定步骤11还包括如下分步骤分步骤111,可在平均比特率ABR(可认为,例如,相关的视频序列应以5Mb/s的平均比特率进行编码)的基础上计算总的固定比特预算TFBB,以及分步骤112,用于计算所述预留比特数ROB(当前的)。第二步骤(控制步骤)用于对预留值执行测试并由此修正量化步长值。总的固定比特预算TFBB可由以下关系式(1)得到TFBB+ABR×FR×NB_FRAME (1)其中FR=帧速率;NB_FRAME=形成待编码的序列的帧的总数(即序列持续时间)。
在每个帧的编码操作结束时计算(操作1122)的预留比特数,可由以下关系(2)得到
ROBC=ROBP+ANBF-NBCF (2)其中ROBC=与刚完成编码的当前帧相关的新的(或当前的)预留值,;ROBP=与前一个编码的帧相关的预留值;ANBF=应当被用于每一帧的平均比特数(通过操作1121得到,并等于总的比特预算除以帧数TFBB/NB_FRAME);NBCF=用于对当前帧编码的比特数(该信息由编码器输出接收)。
若所述预留值大于0,则意味着直到当前帧,这个序列都在以低于ABR(在序列应以平均码率ABR=5Mb/s进行编码的现情况下,若已知此序列的持续时间,则有可能推知应当用于以所述码率5Mb/s编码整个序列的总的固定比特预算)的码率被编码。相反,若所述预留值小于0,则意味着已使用了过多的比特,以致所编码的序列可能会与固定比特预算总数TFBB不相符合。
确定步骤11之后是控制步骤12,控制步骤12包括比较分步骤121和量化步长值修正分步骤122。已知调整对帧进行编码所使用的比特数的主要方式是修正量化步长值。根据本发明,提出了动态地改变所述的值,即Q,考虑此预留状态以保证序列的编码与比特预算相适应。量化步骤并不对每个帧都进行修正(这将变成一种恒定码率的编码器),而只在预留值达到临界值时才进行修正会更好。若Q_INIT是量化步长的初始值,本实施例中量化步长Q是以以下这种方式(这里给出的阈值显然是可以调整的)取的若(ROBC<0)且(0.07<-ROBC/TFBB<0.15)则Q=Q_INIT+2若(ROBC<0)且(0.15<-ROBC/TFBB<0.27)则Q=Q_INIT+4若(ROBC<0)且(0.27<-ROBC/TFBB<0.4)则Q=Q_INIT+6若(ROBC<0)且(0.4<-ROBC/TFBB<0.5)则Q=Q_INIT+8若(ROBC<0)且(0.5<-ROBC/TFBB<0.6)则Q=Q_INIT+10若(ROBC<0)且(0.6<-ROBC/TFBB<0.7)
则Q=Q_INIT+12若(ROBC<0)且(0.7<-ROBC/TFBB)则Q=Q_INIT+14若(ROBC>0)且(0.1<-ROBC/TFBB)则Q=Q_INIT-1否则ROBC=Q_INIT若预留直ROBC等于0,Q值就不进行修正。若预留值是正的,Q可被减少以使用更多的比特(预留值的正值越大,减少的就越多)。相反,若预留值是负的,量化步长就增加(Q_INIT+2,Q_INIT+4,...),Q的增加与阈值为x%相关,比率ROBC/TFBB与该阈值相比较。这种情况表示,对以前所有帧编码所用的超出比特数大于总的固定比特预算TFBB的x%(在上述例子中,可看出预留值极少超过所述比特预算的27到30%)。
所有这些规则确定了一个总的规范,即为了在编码处理结束时使预留值尽可能地接近0而设计。这将意味着实际使用的比特数等于TFBB。即使此量化步长处理不能保证如此编码的序列的最佳质量,但是基于执行本编码方法的单通道编码器,看起来与已知的其它编码器在已检测的序列的主观质量上很相近。
权利要求
1.一种可变码率的视频编码方法,为了对一系列帧进行编码,至少包括对输入码流的量化步骤,对所述量化后的码流编码的步骤,在所述编码步骤的输出根据缓冲器的占用量控制量化步长的步骤,所述方法其特征在于还包括分析步骤,用于根据与输入码流相关的参数来确定预留比特(ROBC)并在每一帧进行周期地更新,和附加的控制步骤,用于根据所述预留比特的状态保证、增加或减少量化步长值。
2.根据权利要求1所述的编码方法,其特征在于所述量化步长值只在所述预留比特达到临界值时进行修正。
3.根据权利要求2所述的编码方法,其特征在于所述量化步长的初始值Q_INIT根据给定的预留状态(ROBC)由以下关系得到的若(ROBC<0)且(S1<-ROBC/TFBB<S2)则Q=Q_INIT+V1若(ROBC<0)且(S2<-ROBC/TFBB<S3)则Q=Q_INIT+V2若(ROBC<0)且(S3<-ROBC/TFBB<S4)则Q=Q_INIT+V3若(ROBC<0)且(S4<-ROBC/TFBB<S5)则Q=Q_INIT+V4若(ROBC<0)且(S5<-ROBC/TFBB<S6)则Q=Q_INIT+V5若(ROBC<0)且(S6<-ROBC/TFBB<S7)则Q=Q_INIT+V6若(ROBC<0)且(S7<-ROBC/TFBB)则Q=Q_INIT+V7若(ROBC>0)且(T1<-ROBC/TFBB)则Q=Q_INIT-V8否则ROBC=Q_INIT其中S1至S7是增加值的阈值,T1也是一个阈值,且V1到V8都是所述初始量化步长的变化量。
4.如权利要求3所述的编码方法,其特征在于所述阈值S1至S7分别等于(0.07;0.15;0.27;0.4;0.5;0.6;0.7),T1等于(0,1)且所述变量V1至V8分别等于2,4,6,8,10,12,14和1。
5.一种可执行如权利要求1至4所述的编码方法的编码装置。
全文摘要
在记录步骤中始终要求非常好的质量的一种DVD标准,它允许数据的可变码率传输,因此当图像更复杂时需使用更多的比特。由于编码的序列必须与固定比特预算相适应,本发明涉及这样一种编码方法,其中包括第一分析步骤,对编码处理的量化步长进行校正在第二控制步骤期间以规律的间隔执行。这些变化是根据比特的预留状态执行的,并周期地计算和更新,但最好只在所述预留值达到临界值时进行,并从而保证所述预留值尽可能地接近0。
文档编号H03M7/40GK1365576SQ01800577
公开日2002年8月21日 申请日期2001年3月6日 优先权日2000年3月21日
发明者P·戈蒂尔, T·莱德鲁 申请人:皇家菲利浦电子有限公司