专利名称:用于预测性视频编码器的基于模型的速率控制的利记博彩app
技术领域:
本发明涉及视频编码器,并且更具体而言涉及速率受控的预测性视频编码器。
背景技术:
速率控制是多数视频编码器的基本功能。这部分是由于下面的事实尽管许多编码器将视频作为可变比特率流进行编码,但是很多应用要求恒定的比特率流。然而,多数视频标准并没有规定如何控制比特率。
常规编码器通过改变量化步骤的粗糙度来控制输出比特率。量化标度(quantization scale)的改变直接影响输出的大小。尽管粗糙的量化显著降低比特率,但是它也降低了图片的质量。因此,为了以避免显示图片中出现可见伪像的方式来分布可用的比特,需要更高级的速率控制算法。
已经提出了许多速率控制算法,诸如那些所公开的ISOIEC/JTC1/SC29/SG11的“MPEG2Test Model5,”草案,1993年4月,以及Zhihai He和Sanjit K.Mitra的“Optimum Bit Allocationand Accurate Rate Control for Video Coding via ρ-domain SourceModeling”,IEEE Transactions on Circuits and System for VideoTechnology,2002年10月。先行方法也已经被引入速率控制,用于在由于诸如场景变化而引起图片特征明显变化的情况下稳定速率控制。这样的速率控制方案通常包括两个步骤。第一个步骤是向给定图片集合中的每个图片分配比特以最小化总失真。第二个步骤是找到符合所分配的比特数的量化参数以对当前图片进行编码。上述速率控制方案用于第二步骤中(即,选择量化参数)。然而,该两步方法使得速率控制复杂化了。
发明内容
因此,本发明的目的是提供用于预测性视频编码器的基于模型的速率控制算法,该速率控制算法基本消除了一个或多个由相关技术的限制和缺点导致的问题。
本发明的一个优点是它提供了精确的速率控制,而只需要比已知的速率控制方案低许多的复杂度。这可以通过使用适应视频序列的局部特性的速率模型,以及通过以在给定的图片集合GOP中尽可能地将量化参数保持恒定作为目标来实现,而不是两步方法。
本发明的另一个优点是它提供了适应视频序列的局部特性的图片成本的函数的速率模型。
本发明的其它特征和优点将在随后的描述中阐述,其中部分将通过描述而变得显而易见,或可以通过实施本发明来获知。通过书面说明书及其权利要求和附图中特别指出的结构将实现并获得本发明的目的和其他优点。
为了实现这些以及其他优点,并且根据本发明的目的,如所具体化并广泛描述的,一种用于在预测性视频编码器中提供速率控制的方法包括将视频序列中的图片分类、估计第一量化参数、基于所估计的量化参数计算视频序列中每个图片的图片成本(picture cost)、初始化速率控制、基于图片成本执行比特分配和量化参数选择以及编码该视频序列。
应理解上述总体描述以及下面的详细描述是示例性和解释性的,并且意在提供对所请求保护的发明的进一步解释。
附解了本发明的实施方案并且与说明书一起用于解释本发明的原理,附图被包括用于提供对本发明的进一步理解并且被纳入和构成本说明书的一部分。
在附图中 图1是根据本发明的实施方案的视频编码器的方框图; 图2图解了根据本发明的实施方案的用于估计量化参数的示例伪C代码; 图3图解了根据本发明的实施方案的示例图片分类。
具体实施例方式 现在详细参考本发明的实施方案,其例子在附图中进行了说明。
本发明提供了一种基于预测性视频编码器的速率模型的自适应速率控制算法。该速率模型是称为图片成本的成本的函数,其被表示为预测成本和剩余成本的加权总和,并且适应视频序列的局部特征。如在此所使用的预测成本表示产生误差图片所需的比特的估计数,并且如在此所使用的剩余成本描述对产生的误差图片进行编码的难度。自适应模型用于估计编码图片所需的比特数。此外,该模型可以包括场景变化检测器、静止图片检测器和动画(flash)检测器以更精确地适应图片的特征。
出于示例的目的,关于利用GOP结构中的I、P和B图片在H.264视频编码器中的实现描述根据本发明的自适应模型。然而,本领域技术人员将很容易理解本发明的自适应模型可以应用于其他视频编码系统标准,诸如任何MPEG标准。
如图1中所示,示例编码器100具有两个功能模块预处理器101以及主处理器103。预处理器101读取一系列的输入视频帧,检测场景变化、动画和/或静止图片,以及基于视频帧内的信息确定GOP的大小。预处理器101还估计被用于计算GOP中图片的预测和剩余成本的量化参数(QP)。主处理器103通过执行速率控制、运动估计、模式选择以及熵编码来处理每个图片。
预处理器101的第一个步骤是分类场景以使速率控制稳定。预处理器101通过确定场景变换、动画图片以及静止图片来分类场景。图片n和先前图片n-1之间的场景变化是基于M×N大小的共址块的平均值的差别和这些块的绝对差的总和(SAD)来确定的。
例如可以通过将当前图片的平均值和先前图片的平均值之间的差别与预定阈值进行比较以及比较当前图片像素和先前图片中对应像素之间的差别的平均值来确定当前图片和先前图片之间的改变数量,来检测场景的变化。如果变化的数量大于阈值,那么就已经有场景变化。
接着,预处理器确定所检测的场景变化是否是真实的场景变化或相反是动画图片。如果当前图片n被确定为场景变化,但是下一个图片n+1类似于先前的图片n-1,那么当前的图片就被认为是动画图片而不是场景变化图片,并且该动画标志被设置为打开,而场景变化标志被设置为关闭。
当检测到静止图片时,标志与图片中静止宏块的数量(num_still_mb)一起被转发到主处理器。检测静止图片的示例方法通过确定图片中静止宏块的数量而开始。例如,这可以通过将宏块的绝对差的总和(SAD)与指定的阈值StillMBthres进行比较来实现。如果图片中静止宏块的百分比大于指定的值,例如96%,并且成本预测小于指定的阈值,那么就认为图片是静止的。
预处理器还基于场景变化的位置来设置GOP大小GOPSIZE,或者如果在例如15个的指定图片数量内没有发生场景变化,该预处理器则设置最大的GOP大小。GOP通常具有不超过一个设置有场景变化标志的图片,并且开始于I图片。
接着,预处理器估计将被用于计算GOP中图片的预测成本和剩余成本的量化参数QP1。随着量化参数的下降,预测成本和剩余成本都趋向于增加。因此,用于成本计算的量化参数(QP1)和用于实际编码的量化参数(QP2)之间的明显差别将导致主处理器不能精确估计每个图片所要求的比特数,并且因此处理器不能提供精确的速率控制。为了使得图片的预测成本和剩余成本对主处理器中的速率控制更有用,基于图片的时空复杂度、目标比特率以及每秒的宏块数量来估计QP1。由于对邻近的GOP使用不同的QP使得成本更少相关,所以来自先前GOP的QP保持不变,除非发生场景变化,或者场景复杂度有很大改变。图2图解了用于估计QP1的示例伪C代码算法。
基于对量化参数QP1的估计,预处理器计算成本。对当前GOP中的每个图片计算预测成本和剩余成本,predCost[i]和resiCost[i],在场编码模式中i=0,1,...,2*GOPSIZE-1,而在帧编码模式中i=0,2,...,2*GOPSIZE-2。这些成本是图片中所有宏模块的成本的总和,并且用于主处理器中的比特分配和速率控制。预测成本predCost[i]表示产生误差图片(场或帧)所需的比特的估计数。这些比特多数来自图片间的预测和/或图片内的预测。剩余成本resiCost[i]表示编码预测误差图片的成本。这可能是例如绝对差的总和(SAD)、绝对转换差别的总和(SATD)或描述编码误差图片的难度的任何其他测量。为了更精确地计算成本,预处理器还可以执行简单运动估计以及粗编码模式决定。
主处理器103通过执行例如速率控制、次像素运动估计、模式选择以及熵编码来编码每个图片。
在主处理器中通过查看缓冲器状态以及当前GOP中的所有剩余图片来执行当前图片的比特分配以及QP估计。根据本发明的基于模型的速率控制算法的目的在于满足被分配给不同图片的这些QP之间的给定关系。该关系可以取决于另一个处理单元以及每个图片的复杂度和/或图片类型。例如,对于当前的 GOP,QP尽可能地保持为稍大一点的常数,例如,对于B图片是+2。由于B图片不用作预测其它图片中的参考图片,所以指定较大的QP来编码B图片。使用从预处理器接收的预测成本predCost[i]和剩余成本resiCost[i]以及每个图片所属的分类的特征来估计编码每个图片所需要的比特数。
根据本发明的示例实施方案,GOP内的图片被分到分类中,以精确地表征不同的编码方案以及一定参考图片的可用性。例如,可以将图片分到以下九个分类的一个分类中P帧(P_Frame)、P顶场(P_Top)、具有多于一个参考场的P底场(P_Bottom)、B帧(B_Frame)、编码有离开一个场的参考场的B场(B_Close)、未编码有离开一个场的参考场的B场(B_Far)、I帧(I_Frame)、I场(I_Field)和仅编码有一个参考场的P底场(PI_Field)。PI_Field用于当场不允许参照先前GOP中的图片时每个GOP中的首帧的底场。图3图示了根据本发明的示例实施方案的图片分类。
每个分类通过诸如下面所示的结构来表征,其包括下面用于编码特定分类中的图片的平均QP;用于该分类的平均预测成本;用于该分类的平均剩余成本,预测成本和所用的实际比特数之间的关系;剩余成本和编码转换系数所用的实际比特数之间的关系;用于编码图片的实际比特数;和总的图片成本。
图片的第j分类是通过结构RefRCda ta[j]来表征的,该结构包括 RefRCda ta[j].QP2表示用于编码该分类中的图片的平均QP; RefRCda ta[j].predCost表示平均预测成本; RefRCda ta[j].resiCost表示平均剩余成本; RefRCda ta[j].pred_cw.表示predCost和预测中实际使用的比特数之间的关系,被计算为预测所用的实际比特数除以平均预测成本; RefRCda ta[j].resi_cw表示resiCost和编码转换系数的实际比特数之间的关系,被计算为剩余成本的实际比特数除以平均剩余成本; RefRCda ta[j].outBits表示用于编码图片的实际比特数;以及 RefRCda ta[j].pictureCost=pred_cw*predCost+resi_cw*resiCost公式.(1) 给定GOP的大小以及成本信息,主处理器的速率控制算法执行三个主要功能初始化速率控制;比特分配和QP选择以及更新参考数据。
在处理每个GOP之前如下初始化速率控制。
首先,读取GOP中所有图片的预测成本predCost[i]和剩余成本resiCost[i]以及用于预处理器中的量化参数QP1。使用下面的公式(2)设置编码GOP中的剩余图片的目标比特数target_bits_goptarget_bits_gop=average_bits_gop-bufferStatus/2.公式(2) 如果设置了场景变化标志,那么就重新设置RefRCDa ta[j],j=0,...,8中的信息。为了精确地重新设置RefRCDa ta[j],通过离线训练(off-line training)来确定init_actual_pred_bits对predCost的关系和init_actual_resi_bits对resiCost的关系。
为了精确地重新设置RefRCDa ta[j],利用分别用于三个不同图片类型(I,P,&B)的很多序列、QP1(来自预处理器)以及QP2(在编码当前图片中要使用)通过离线训练,获得init_actual_pred_bits对predCost的关系和init_actual_resi_bits对resiCost的关系。使用分段线性近似方法执行曲线拟合技术。使用这些功能,如下重新设置RefRCData[j] 使用来自预处理器的成本信息和图片编码类型,以及QP1的初始化函数,找出提供最接近于公式(2)中给出的target_bits_gop的QP2。接着,计算由j索引的每个分类的GOP上的predCost和resiCost的平均值,并且分别存储在RefRCda ta[j].predCost和RefRCda ta[j].resiCost中。使用QP1和QP2的初始化函数获得分别对应于predCost和resiCost的平均值的init_actual_pred_bits和init_actual_resi_bits。然后使用下面的公式计算pred_cw和resi_cw RefRCda ta[j].pred_cw=init_actual_pred_bits/RefRCdata[j].predCost,以及 RefRCda ta[j].resi_cw=init_actual_resi_bits/RefRCda ta[j].resiCost 最后,使用公式(1)计算RefRCda ta[j].pictureCost,并且将相同的值存储在RefRCda ta[j].outBits中。
在初始化速率控制之后,主处理器执行比特分配和QP选择。根据本发明的实施方案,主处理器使用从预处理器接收的信息以及存储在RefRCda ta[j]中的更新的参考数据来如下估计编码由k索引的当前图片的比特数和QP(QP2)。
步骤1对于第k个图片,用于GOP的量化参数gopQP被计算为存储在RefRCda ta中的QP的加权平均 gopQP=∑i≥kRefRCda ta[j=ref_index[i]].QP2/∑i≥kI(i),公式(3)其中,ref_index[i]是第i个图片所属的分类,并且如果由i索引的图片属于当前GOP,则I(i)=1,否则I(i)为0。用于B图片的QP2在被相加之前被-2调整。
步骤2使用公式(1)计算GOP中的图片的图片成本pictureCost[i](i≥k)。
步骤3使用公式(4)计算用于编码QP=gopQP的第i个图片的比特数out_bits(i,gopQP)。
out_bits(i,gopQP)=RefRCdata[j].outBits*(pictureCost[i]/refRCdata[j].pictureCost)β[j]RefRCdata[j].QP2-gopQP,公式(4)其中j=ref_index[i],β[j]分别表示QP减少或增加1比特的增加或降低。β[j]可以通过离线训练获得。公式(4)假设输出比特的总量与通过公式(1)获得的pictureCost成正比。然后,计算编码QP=gopQP的所有剩余图片所需的比特数 bits_total(gopQP)=∑i≥kout_bits(i,gopQP)公式(5) 步骤4通过根据bits_total(QP)和target_bits_gop之间的差别适当调整QP,发现产生最接近于target_bits_gop的bits_total(QP)的QP2 out_bits(i,QP2)=out_bits(i,gopQP)*β[j]gopQP-QP2公式(6) bits_total(QP2)=∑i≥kout_bits(i,QP2)公式(7) 步骤5如果图片k属于B_Frame、B_Close或B_Far,就将QP2增加2。
在编码图片k之后,如下更新参考数据RefRCdata[j=ref_index[k]]和用于速率控制的参数 步骤1如下更新target_bits_gop errorBits=actualOutBits-out_bits(k,QP2), target_bits_gop=target_bits_gop-actualOutBits+errorBits/2公式(8) 在当前的图片估计误差稍大的情况下,公式(8)有效地分配编码下一图片的比特。
步骤2设置图片k所属的分类j=ref_index[k]。
步骤3如果图片k是当前场景中分类j中的第一个图片,那么设置γ为1。否则,如下计算γ pCost_c=RefRCDa ta[j].pred_cw*predCost[k]+RefRCDa ta[j].resi_cw*resiCost[k] pCost_r=RefRCDa ta[j].pred_cw*RefRCDa ta[j].predCost+RefRCDa ta[j].resi_cw*RefRCDa ta[j].resiCost[k] γ=f(|pCost_c-pCost_r|/max(pCost_c,pCost_r))公式(9) 该γ是用于更新公式(10)-(14)中的RefRCData[j]的加权因子,并且表示图片k与在相同分类中的先前编码的图片的差别程度。如在公式中可以看到的,如果该图片看起来非常不同于先前的图片,那么可以在刚编码的图片的特征上给出更多的权重。
步骤4更新分类j的QP2 QP2_ref=RefRCDa ta[j].QP2 RefRCDa ta[j].QP2=γ*QP2+(1-γ)*QP2_ref(10) 步骤5从实际编码统计获得分别为actual_pred_bits[k]/predCost[k]如actual_resi_bits[k]/resiCost[k]的图片k的pred_cw[k]如resi_cw[k]。
target_bits_gop=target_bits_gop-actualOutBits+errorBits/2公式(8) 在当前的图片估计误差稍大的情况下,公式(8)有效地分配编码下一图片的比特。
步骤2设置图片k所属的分类j=ref_index[k]。
步骤3如果图片k是当前场景中分类j中的第一个图片,那么设置γ为1。否则,如下计算γ pCost_c=RefRCDa ta[j].pred_cw*predCost[k]+RefRCDa ta[j].resi_cw*resiCost[k] pCost_r=RefRCDa ta[j].pred_cw*RefRCDa ta[j].predCost+RefRCDa ta[j].resi_cw*RefRCDa ta[j].resiCost[k] γ=f(|pCost_c-pCost_r|/max(pCost_c,pCost_r))公式(9) 该γ是用于更新公式(10)-(14)中的RefRCDa ta[j]的加权因子,并且表示图片k与在相同分类中的先前编码的图片的差别程度。如在公式中可以看到的,如果该图片看起来非常不同于先前的图片,那么可以在刚编码的图片的特征上给出更多的权重。
步骤4更新分类j的QP2 QP2_ref=RefRCDa ta[j].QP2 RefRCDa ta[j].QP2=γ*QP2+(1-γ)*QP2_ref(10) 步骤5从实际编码统计获得分别为actual_pred_bits[k]/predCost[k]和actual_resi_bits[k]/resiCost[k]的图片k的pred_cw[k]和resi_cw[k]。
步骤6调整pred_cw和resi_cw并且然后更新RefRCDa ta[j].pred_cw和RefRCDa ta[j].resi_cw pred_cw_ref=RefRCDa ta[j].pred_cw*β[j]QP2_ref-RefRCda ta[j].QP2 resi_cw_ref=RefRCDa ta[j].resi_cw*β[j]QP2_ref-RefRCda ta[j].QP2 pred_cw_k=pred_cw[k]*β[j]QP2_ref-QP2 resi_cw_k=resi_cw[k]*β[j]QP2_ref-QP2 RefRCDa ta[j].pred_cw=γ*pred_cw_k+(1-γ)*pred_cw_ref RefRCDa ta[j].resi_cw=γ*resi_cw_k+(1-γ)*resi_cw_ref公式(11) 步骤7调整outBits并且然后更新RefRCDa ta[j].outBits为 outBits_ref=RefRCDa ta[j].outBits*β[j]QP2_ref-RefRCda ta[j].QP2 outBits_k=actualOutBits*β[j]QP2_ref-QP2 RefRCData[j].outBits=γ*outBits_k+(1-γ)*outBits_ref公式(12) 步骤8更新RefRCDa ta[j].predCost和RefRCDa ta[j].resiCost为 RefRCDa ta[j].predCost=γ*predCost[k]+(1-γ)*RefRCDa ta[j].predCost公式(13) RefRCDa ta[j].resiCost=γ*resiCost[k]+(1-γ)*RefRCDa ta[j].resiCost公式(14) 步骤9使用公式(1)更新RefRCDa ta[j].pictureCost。
利用分配给当前图片k的比特数out_bits(k,QP2)以及如上所述获得的每个宏块的成本信息,可以很容易地将速率控制扩展到宏块层速率控制。例如,宏块可以被分成5类(由j索引,0-4) MB_Normal_H(j=0)具有人类眼睛十分敏感的数据的正常MB;MB_Normal_M(j=1)具有人类眼睛不太敏感的数据的正常MB;MB_Normal_L(j=2)具有人类眼睛不敏感的数据的正常MB;MB_Random(j=3)具有随机信号或类似于随机信号的MB;以及MB_Still(j=4)根本没有移动; MB的第j个分类由包含下列内容的结构RefMBda ta[j]来表征 RefMBda ta[j].QP2用于编码分类中的MB的平均QP RefMBda ta[j].predCost平均预测成本 RefMBda ta[j].resiCost平均剩余成本 RefMBda ta[j].pred_cwpredCost和预测中使用的实际比特数之间的关系。它被计算为actual_number_of_bits_for_prediction/predCost。
RefMBda ta[j].resi_cwresiCost和编码转换系数的实际比特数之间的关系。它被计算为actual_number_of_bits_for_residual/resiCost。
RefMBda ta[j].outBits用于编码MB的实际比特数 RefMBda ta[j].MBCost=pred_cw*predCost+resi_cw*resiCost公式(15) 在编码第1个MB的时候,目的是发现用于编码当前MB的QP以及符合比特预算要求的所有相继发生的宏块。QP的小差别可以被应用到每个分类j,如公式(16) QPMB[j]=QP+d[j]公式(16) 该方法非常类似于上述B图片的情况,其中B图片的QP被增加2。d[j]的例子如下 d
=-2,d[1]=0,d[2]=2,d[3]=5,d[4]=0公式(17) 公式(17)向人类的眼睛对之较不敏感的MB分配了较大的QP,并且向人类的眼睛对之更敏感的MB分配了较小的QP。
然后,如果图片层速率控制中的GOP被图片替代,并且图片被MB替代,那么就提供了MB层速率控制算法。
类似地,该发明的速率控制模型可以被扩展到切片层速率控制的情况。
对本领域技术人员来说显而易见的是,在不偏离本发明的精神或范围的情况下可以在本发明中进行各种修改和变化。因此,本发明意在覆盖本发明的修改和变化,只要它们落在所附权利要求及其等同物的范围之内。
尽管所提出的算法还可以应用于切片层速率控制和/或MB层速率控制,但是我们仅详细描述了图片层速率控制算法,并且简要解释我们如何将其扩展到切片或宏块之后的速率控制。
尽管速率控制方法仅仅描述了使用被称为GOP的固定窗口的情况,其中窗口中剩余图片的数量降低直到检测到下一个GOP开始为止,但是该方法可以很容易被修改为使用包括固定数量的帧的滑动窗口,例如15个帧。在这种情况下,窗口中的一些帧可以与其他帧属于不同的GOP。
该方法还可以被修改成具有包括多个连续GOP而不是一个GOP的固定窗口,以通过预见更多帧来更好地控制速率。在使用两个GOP并且每个GOP有15个帧的情况下,窗口中帧的数量在每个GOP的开始变为30,并且在每个GOP的结束降低至15。
权利要求
1.一种在预测性视频编码器中执行速率控制的方法,包括
将视频序列中的图片分类;
估计第一量化参数;
基于估计的量化参数计算视频序列中每个图片的图片成本;
初始化速率控制数据;
基于图片成本和速率控制数据执行比特分配和量化参数选择;
编码视频序列;以及
更新速率控制数据。
2.根据权利要求1所述的方法,其中所述图片成本是预测成本和剩余成本的加权总和。
3.根据权利要求2所述的方法,其中所述预测成本是产生误差图片所需的比特数的估计,以及所述剩余成本描述了编码所得误差图片的难度。
4.根据权利要求1所述的方法,其中将视频序列中的图片分类包括
检测视频序列中的场景变化;以及
基于所检测的场景变化设置图片组(GOP)的大小。
5.根据权利要求1所述的方法,进一步包括
将GOP中的每个图片分类,其中分类表征不同的编码方案以及一定参考图片的可用性。
6.根据权利要求5所述的方法,其中通过用于编码具体分类中的图片的平均量化参数、用于该分类的平均预测成本、用于该分类的平均剩余成本、预测成本和所用的实际比特数之间的关系、剩余成本和编码图片所用的实际比特数之间的关系以及总图片成本来表征每个分类。
7.根据权利要求1所述的方法,其中所述速率控制数据包括
表示用于编码分类中的图片的量化参数的数据;
表示平均预测成本的数据;
表示平均剩余成本的数据;
表示预测成本和预测中所用的实际比特数之间的关系的数据;
表示剩余成本和编码转换系数所用的实际比特数之间的关系的数据;以及
表示编码图片所用的实际比特数的数据。
8.根据权利要求1所述的方法,其中更新所述控制数据包括
将GOP的量化参数计算为存储在控制数据中的量化参数的加权平均;
计算GOP中的图片的图片成本;
计算用于编码第i个图片的比特数;以及
计算产生最接近于目标比特数的比特数的量化参数。
9.一种预测性视频编码器,包括
预处理器,其被配置为计算与视频序列中的每个图片相关的图片成本;以及
主处理器,其被配置为基于该图片成本编码视频序列。
10.根据权利要求9所述的编码器,其中所述图片成本是预测成本和剩余成本的加权总和。
11.根据权利要求10所述的编码器,其中预测成本是产生误差图片所需的比特数的估计,以及所述剩余成本描述了编码所得误差图片的难度。
12.根据权利要求9所述的编码器,其中所述预处理器进一步被配置为
通过确定视频序列中的场景变化、动画图片以及静止图片来分类场景;以及
基于场景的分类设置GOP的大小。
全文摘要
提供一种实时单向可变比特率控制策略,以在视频压缩系统(图1)中实现可变比特率(VBR)MPEG-2编码。对于一序列帧,视频区间(即图片组(GOP))的编码难度的级别由知觉速率量化(C-Q)模型(图1的101)来确定。该模型对每个视频区间指派一个合成的(C-Q)曲线,从该曲线估计用于该视频区间的比特数。该估计依赖于因果预测模型,该因果预测模型利用了从先前编码的视频区间获取的参数。基于被分析的视频区间的总速率(图1的103),更新每个图片的R-Q关系以及指派图片比特。在整个场景变换和不稳定中,可变比特率控制策略的粗糙度分别通过应用,例如一非线性中值滤波器,和低通滤波器(图1的101)得以确保。
文档编号H04N11/04GK101194518SQ200680015464
公开日2008年6月4日 申请日期2006年3月9日 优先权日2005年3月9日
发明者K·H·杨, H·J·金 申请人:Eg技术有限公司