甚低码率视频编码器码率控制方法

文档序号:7697851阅读:211来源:国知局
专利名称:甚低码率视频编码器码率控制方法
技术领域
本发明属于视频编码中的码率控制领域,具体地说是涉及一种甚低码率视频编码 器的码率控制方法。
背景技术
有效的码率控制策略是低带宽下传输低延迟、高质量视频的关键。适于甚低带宽 码率控制的算法有H. 26x的TMNx和MPEG-4中的VMx。TMNx、VMx中的码率控制算法是基于 二阶率失真模型的控制算法,同时实现了帧级、对象级和宏块级的码率控制,但仅提出对P 帧的码率控制没有I帧的码率控制,在甚低带宽下使用存在一些问题,例如PSTN、GPRS网络寸。码率控制有帧一级和宏块一级的码率控制。帧一级码率控制对帧内所有宏块使用 同一个量化值,宏块一级的码率控制对帧内宏块使用不同的量化值。在低带宽下不适宜使 用宏块一级的码率控制,因为宏块的量化信息要占用相对较多的编码位数。另外,由于低带 宽下编码帧率一般比较低,如编码使用CIF格式图像,帧率一般为1-5帧/秒,帧之间的相 关性比较差,使用B帧并不能够提高图像的质量,而且还会增加编码的复杂度和延迟,所以 在低带宽下一般不使用B帧。而现有视频编码标准中的码率控制算法仅提出了 P和B帧的码率控制模型,没有 I帧的码率控制模型,原因是算法假设编码的第一帧为I帧,其余帧均为P或B帧。但在实 际应用中为了适应传输容错和信息检索的需求编码中必须有一定数目的I帧。

发明内容
本发明的目的是提供一种能够降低编码缓冲区延迟,同时提高重建图像质量、码 率控制精度高的甚低码率视频编码器码率控制方法。为实现上述目的,本发明采用以下技术方案本发明包括I帧码率控制方法和P帧码率控制方法,上述的I帧码率控制方法包 括以下步骤①建立二阶率失真模型+ ^二0,其中,Qt为t时刻待计算的量化值,
ai,a2分别是一阶和二阶系数,〃 = 7T"V,氏为当前帧目标编码位数、Ht为t时刻编码使用 的头信息位数、Mt为t时刻图像的绝对平均差函数值;②初始量化值的求取当a2 = 0时,二阶率失真模型退化为一阶模型,则初始量化③目标位数的分配在一个视频序列内图像质量保持不变的情况下,有 其中,T为视频序列持续的周期,巧为序列的输出位率,NP是序列中P帧数目,N1是 序列中I帧数目,M/和M^分别使用前一个同类型帧的绝对平均差函数值,再根据二阶率 失真模型O2+a2r = 0,利用线性回归技术得出 1、a2x和a/、a2p ;④量化值求取
每编码完一中贞
都要对ai、a2进行更新。当序列中只有一个I帧,其余均为P帧时,P帧码率控制方法中的目标位数
其中,吣为工帧的实际编码位数; N本发明对P帧码率控制方法中得到的P帧量化值进行调整如下1)、如果 Qt < 0. 75Qh 时,令 Qt = 0. 75QH ;2)、如果Qt > 1. 25Qt_i时,采用以下三种进行处理(a)、首先令 Qt = 0. 25Qh,(b)、如果Bt > 2Rp,其中Rp为编码一帧从缓冲区中删除的位数,则令Bt = 2Rp,然 后转到(c),否则,令Qt = 1.25Qt_i,直接结束处理;(c)、根据Bt利用二阶率失真模型议+fl/ = 0,求取新的Qt作为当前帧的
量化值。采用上述技术方案的本发明,根据基于非常低带宽线路,如PSTN的远程视频传输 需求,提出一种甚低码率视频编码器码率控制策略,该策略引入二阶码率控制模型实现I 帧码率控制,以及引入二阶率失真模型,对I帧码率控制算法中的初始量化值选取、目标位 数分配和量化值求取进行了改进。同时改进了原有算法量化值调整策略,使码率控制算法 在场景变化时分配合适的量化值。此外对低带宽下码率控制中滑动窗口的大小和G0P长度 的动态调整进行了分析。本发明与VMx相比明显提高了码率控制的精度、降低了输出缓冲 区延迟、提高了重建图像的整体质量,并且改进了 P帧的码率控制算法,总之,在甚低码率 网络应用中,有效提高了视频编码器码率控制的精度和传输图像的质量。


图1为本发明与原VM8码率控制方法的R-D曲线对比图。
具体实施例方式实施例1VMx的码率控制算法仅提出了 P帧的码率控制模型,没有I帧的码率控制模型,原 因是算法假设编码的第一帧为I帧,其余帧均为P帧。但在实际应用中为了适应传输容错 和信息检索的需求编码中必须有一定数目的I帧。在远程视频监控应用中,为了获得优化 的输出码流,本发明增加了 I帧码率控制。本发明包括P帧码率控制方法和I帧码率控制方法,上述的I帧码率控制方法包 括以下步骤①建立二阶率失真模型
其中,Qt为t时刻待计算的量化值,ai,a2分别是一阶和二阶系数,r与当前帧目标 编码位数、基本信息占用位数以及图像的绝对差有关,由下式给出 其中,Bt为当前帧目标编码位数、Ht为t时刻编码使用的头信息位数、Mt为t时刻 图像的绝对平均差函数值,即MAD值。码率控制主要是通过不断调整Qt值实现的,核心则是量化参数的求取和模型更 新,当上述二次方程有解时,Qt通过下述公式计算得到
=Mt -a, +」(Mt -a,)2+A-{Bt -Ht)-Mt -a2 _2.{Bt-Ht)(3)上述ai和a2根据已编码帧的实际量化值和编码位数,使用线性回归技术获得,每 编码完一帧都要对和a2进行更新。另外在编码第一帧时%和a2未知,不能利用公式(3) 计算Qt,这时通常令Qt为一定值,其典型值为15,然后根据编码后的实际量化值和编码位 数,利用线性回归技术计算^和a2。②初始量化值的求取由公式(1)可知,当a2 = 0时,二阶率失真模型退化为一阶 模型,这时模型仅有一个参数 ,可以令 取一经验值,典型值130,然后利用公式(3)求取 初始量化值 Qt = Q = XMt/ (Bt-Ht)。而对于I帧后面的第一个P帧的量化值Qt+1可以使用和其前面I帧相同的量化值Qt。③目标位数的分配简化公式(1),对于I、P帧分别有 上述二公式中的每个变量右上角符号I、P仅用于区别是属于I帧还是P帧的参 数。在一个视频序列中有B!t -N1 +B;、NP = T-rt(6)其中,N1是序列中I帧数目,NP是序列中P帧数目,T是视频序列持续的周期,以秒 为单位,rt是序列的输出位率,以位/秒为单位。假定在一个视频序列内图像质量保持不变,即I、P帧量化值相同,则有 联合公式⑷、(5)、(6)、(7)解得 利用公式⑶可以计算出I帧的目标位数M/,其中M/和M/分别使用前一个同类 型帧的MAD值,再根据公式⑴利用线性回归技术计算出 1、a2x和a/、a/。④量化值求取根据公式(3)求出Qt,且每编码完一帧都要对ai、a2进行更新。为了使实验视频序列具有代表性,试验使用的测试序列由A、B和C三类序列组合 得到复合序列,共100帧。其中Mother序列A类25帧、Coastguard序列B类25帧、Basket 序列C类25帧和DancerA类序列25帧。复合序列不仅包含了不同复杂度的图像,而且还 存在不同复杂度图像之间的切换,与视频监控中的实际图像特点比较吻合,具有代表意义。本文对复合序列分别测试了五种码率,即9. 6kbps,28. 8kbps,33. 6kbps、 44. 8kbps、56kbps,测试条件为:G0P长度为15、帧率3fps,其中9. 6kbps下GOP长度为30、 中贞率lfps。本发明与MPEG-4的VM8算法的对比测试结果如表1,对比曲线如图1所示,其 中,图1中曲线A代表原VM8算法,曲线B代表本发明。显然,本发明在低码率线路上具有 明显优势。 表 1从表1和图1中可以看出,从延迟角度来看,由于本发明使用了合理的I帧量化值 分配算法、对P帧量化值调整幅度的处理和G0P长度的动态调整等一系列措施大大降低了 最大缓冲延迟,避免了缓冲区上溢。从重建图像质量来看,本发明在不同带宽下的PSNR值 均高于原VM8控制方法的PSNR值。而且从图1可以看出在同一带宽下,本发明的重建图像 的PSNR值比原VM8控制方法的高;在重建图像质量相同的情况下,本发明比原VM8控制方 法使用的编码位数更少。从输出码流偏差Db来看,本发明的输出码率平均偏差更小。

其中是第士帧图像的实际码率。该值表示平均每帧 Db=~^p,
实际码率与输出码率的偏差,偏差越小表明输出码流越适合在给定的带宽下传输,同时编 码缓冲区的延迟也越小。实施例2本实施例与实施例1不同的是,本实施例在实施例1的基础上,对P帧码率控制进 行了改进。P帧的目标位数分配可以使用公式(9),当序列中只有一个I巾贞,其余均为P帧时, 由公式(6)可得简化计算公式
,其中,是I帧的实际编码位数。 同时,由于VM8控制方法为了保持图像质量的稳定,对当前帧量化值Qt的调整幅 度进行了限制,即调整的最大幅度不超过前一帧Qh的0. 25倍。这样,在前一帧量化值较 小而计算出的当前帧量化值较大时,经过调整后的当前帧量化值也较小,导致当前帧实际 编码位数过大,增加传输延迟,所以对量化值变化较大的情况要进行合理处理。本发明对P 帧码率控制方法中得到的P帧量化值进行调整如下1)、如果 Qt < 0. 75Qh 时,令 Qt = 0. 75QH ;2)、如果Qt > 1. 25Qt_i时,采用以下三种进行处理
(a)、首先令 Qt = 0. 25Qh,(b)、如果Bt > 2Rp,其中Rp为编码一帧从缓冲区中删除的位数,则令Bt = 2Rp,然 后转到c,否则,令Qt = 1.25Qt_i,直接结束处理;(。)、根据Bt利用二阶率失真模型+V= 0,求取新的Qt作为当前帧的
量化值。其他技术特征与实施例1相同。实施例3本实施例与实施例1不同的是,在本实施例中,对于P帧运动向量所占的位数Ht, VM8码率控制模型使用的是其前一帧运动向量占的位数。这假设前后两帧的运动向量占的 位数差别不大,但在实际中前后两帧运动向量差别比较大,使用前一帧的运动向量并不合 适。本发明通过统计当前帧运动估计后运动向量占的位数作为模型中的参数。由于对运动 向量为零并且量化系数为零的宏块不进行编码,通过统计运动估计后运动向量占的位数比 实际编码中运动向量占位数略多,但这之间的偏差相对较小而且比采用上一帧运动向量占 的位数更为精确。另外,滑动窗口用于选取回归二阶模型中的^、%的数据个数,滑动窗口的大小对 ai、a2有很大的影响,从而影响量化值的求取。在甚低带宽下,编码帧率比较低,帧之间的相 关性较差,几秒前的数据可能已经不能反映当前图像的特点,在模型更新时应尽量选取距 离当前帧较近的数据,因此滑动窗口不应过大,否则滑动窗口内的数据不能及时反应图像 的变化。实验表明,在低带宽下滑动窗口大小为10较为合适。
码率控制算法一般在一个图像组G0P内进行控制,本发明的G0P是由一个I帧和 一定数目的P帧的组成。一般情况下G0P的长度为定值,典型值30。在P帧运动估计过程 中,如果采用帧内编码方式的宏块数目大于一个阈值,如0. 5倍总宏块数时,则将此帧编码 为I帧。对于这种动态产生I帧的情况,可以将I帧作为一个新的G0P的开始,同时更新码 率控制算法中G0P可分配位数,但不应将上一个G0P剩余的可分配位数累加到当前G0P的 可分配位数上。其他技术特征与实施例1相同。
权利要求
一种甚低码率视频编码器视频控制方法,其特征在于,它包括I帧码率控制方法和P帧码率控制方法,所述的I帧码率控制方法包括以下步骤①建立二阶率失真模型其中,Qt为t时刻待计算的量化值,a1,a2分别是一阶和二阶系数,Bt为当前帧目标编码位数、Ht为t时刻编码使用的头信息位数、Mt为t时刻图像的绝对平均差函数值;②初始量化值的求取当a2=0时,二阶率失真模型退化为一阶模型,则初始量化值Qt=0=a1×Mt/(Bt-Ht);③目标位数的分配在一个视频序列内图像质量保持不变的情况下,有 <mrow><msubsup> <mi>B</mi> <mi>t</mi> <mi>I</mi></msubsup><mo>=</mo><mfrac> <mrow><mi>T</mi><mo>&CenterDot;</mo><msub> <mi>r</mi> <mi>t</mi></msub> </mrow> <mrow><msup> <mi>N</mi> <mi>I</mi></msup><mo>+</mo><mfrac> <mrow><msubsup> <mi>M</mi> <mi>t</mi> <mi>P</mi></msubsup><mo>&CenterDot;</mo><msubsup> <mi>a</mi> <mn>1</mn> <mi>P</mi></msubsup> </mrow> <mrow><msubsup> <mi>M</mi> <mi>t</mi> <mi>I</mi></msubsup><mo>&CenterDot;</mo><msubsup> <mi>a</mi> <mn>1</mn> <mi>I</mi></msubsup> </mrow></mfrac><mo>&CenterDot;</mo><msup> <mi>N</mi> <mi>P</mi></msup> </mrow></mfrac><mo>,</mo> </mrow> <mrow><msubsup> <mi>B</mi> <mi>t</mi> <mi>P</mi></msubsup><mo>=</mo><mfrac> <mrow><mi>T</mi><mo>&CenterDot;</mo><msub> <mi>r</mi> <mi>t</mi></msub> </mrow> <mrow><msup> <mi>N</mi> <mi>P</mi></msup><mo>+</mo><mfrac> <mrow><msubsup> <mi>M</mi> <mi>t</mi> <mi>I</mi></msubsup><mo>&CenterDot;</mo><msubsup> <mi>a</mi> <mn>1</mn> <mi>I</mi></msubsup> </mrow> <mrow><msubsup> <mi>M</mi> <mi>t</mi> <mi>P</mi></msubsup><mo>&CenterDot;</mo><msubsup> <mi>a</mi> <mn>1</mn> <mi>P</mi></msubsup> </mrow></mfrac><mo>&CenterDot;</mo><msup> <mi>N</mi> <mi>I</mi></msup> </mrow></mfrac><mo>,</mo> </mrow>其中,T为视频序列持续的周期,rt为序列的输出位率,NP是序列中P帧数目,NI是序列中I帧数目,和分别为前一个同类型帧的绝对平均差函数值,再根据二阶率失真模型利用线性回归技术得出a1I、a2I和a1P、a2P;④量化值求取每编码完一帧都要对a1、a2进行更新。F2009100645335C0000011.tif,F2009100645335C0000012.tif,F2009100645335C0000015.tif,F2009100645335C0000016.tif,F2009100645335C0000017.tif,F2009100645335C0000018.tif
2.根据权利要求1所述的甚低码率视频编码器视频控制方法,其特征在于当序列中只有一个I帧,其余均为P帧时,P帧码率控制方法中的目标位数 其中,A1t为 I帧的实际编码位数。
3.根据权利要求2所述的甚低码率视频编码器视频控制方法,其特征在于对P帧码 率控制方法中得到的P帧量化值进行调整如下1)、如果Qt < 0. 75Qh 时,令 Qt = 0. 75QH ;2)、如果Qt> 1. 25Qh时,采用以下三种进行处理(a)、首先令Qt = 0. 25Qt_1;(b)、如果Bt> 2RP,其中Rp为编码一帧从缓冲区中删除的位数,则令Bt = 2RP,然后转 到(c),否则,令Qt = 1.25QH,直接结束处理;(C)、根据Bt利用二阶率失真模型这+a,Qt +fl2r = 0,求取新的Qt作为当前帧的量化值。
全文摘要
本发明公开了一种甚低码率视频编码器视频控制方法,它包括I帧码率控制方法和P帧码率控制方法,所述的I帧码率控制方法包括以下步骤①建立二阶率失真模型;②求取初始量化值;③对目标位数进行分配;④求取量化值。本发明提出一种甚低码率视频编码器码率控制策略,该策略引入二阶码率控制模型实现I帧码率控制,以及引入二阶率失真模型,对I帧码率控制算法中的初始量化值选取、目标位数分配和量化值求取进行了改进。同时改进了原有算法量化值调整策略,使码率控制算法在场景变化时分配合适的量化值。本发明与VMx相比明显提高了码率控制的精度、降低了输出缓冲区延迟、提高了重建图像的整体质量,并且改进了P帧的码率控制算法。
文档编号H04N7/24GK101854524SQ20091006453
公开日2010年10月6日 申请日期2009年3月31日 优先权日2009年3月31日
发明者周兵, 李晓强, 王宗敏 申请人:郑州大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1