码率控制算法的选择方法和装置的制作方法

文档序号:7713904阅读:204来源:国知局
专利名称:码率控制算法的选择方法和装置的制作方法
技术领域
本发明涉及通讯领域,尤其涉及一种码率控制算法的选择方法和装置。
背景技术
在多4某体应用中,码率控制是构成视频通信系统的一个重要部分。它被 用来使编码器产生的比特率和信道相适应,并尽量提高编码图像的质量。需 要码率控制的本质原因是由信源、信道两方面的特性决定。
首先,由于图像内容的千差万别,经过视频编码后的码率也会有很大差
异,这种不断变化的码率和信道很难有一个好的匹配;其次,多媒体通信中 的信道有有线电缆、卫星链路,同时也有具有时变特性的网络及无线信道, 各种信道特性也各不相同,这也使得两者的匹配非常困难。随着多媒体业务 的广泛应用,根据场景及实际应用环境,进行自适应调整的码率控制算法的 重要性也日益凸显。
现有技术中提供了以下几种码率控制算法,包括H.263的TMN8 (Video Codec Test Model, Near-Term, Version 8 )算法和TMN5算法、以及JVT (Joint Video Team) -G012算法等。
对于TMN8算法,为低码率视频编码标准H.263所采用的码率控制技术。 TMN8码率控制包括二个步骤(1)帧层目标比特率分配;(2)在宏块层进 行自适应的量化。TMN8算法最初是针对H.263中的P帧才莫型而i殳计的,该 模型对I帧来说粗略。然而,在实际视频编码应用中,由于提高码流的抗差错 能力和灵活回放,不可避免地采用I帧编码。因而,TMN8在实际应用中具有 一定的局限性。另外,由于TMN8算法需要计算每个宏块的方差,因此计算 复杂度较大,不能很好地满足实时性要求。最后,在场景切换丰支为频繁的情况下,比如广播电视场景,由于每帧基本上平均分配比特数,容易造成图像 的闪烁效应。
对于TMN5算法,其通过计算虚拟緩沖区的充盈程度来调节量化参数与 跳帧,这在信道稳定时是有效的,但如果信道不稳定,或信道的传输速率小 于设定的目标码率时编码码流就会在緩沖区积压而产生延时,严重时緩冲区 溢出使码率控制失败。另外,该算法基于理想信道,并没有考虑人眼视觉特 性。
对于JVT-G012算法,该算法的模型为R-D (Rate-Distortion,率失真) 模型,复杂度较大,不宜在硬件资源、性能有限的情况下的应用。
现有技术中存在的问题在于,对于可以使用的多种码率控制算法,未给 出如何自适应的进行码率控制算法的选择和调整的方法。

发明内容
本发明提供一种码率控制算法的选择方法和装置,用于根据各个码率控 制算法的优点和适用范围,自适应的选择和调整最佳的码率控制算法,满足 编码器系统在性能延时、场景复杂度、带宽等方面对码率控制算法的要求。
本发明提供了一种码率控制算法的选择方法,包括
获取编码器的性能延时参数、场景复杂度参数、带宽参数中的两种以上
参数;
根据所述编码器的类型以及预设的权值,对所获取的^t进行加权; 根据预"^殳的不同码率控制算法对应的数值范围、以及所述加权结果,获
取所述编码器所使用的码率控制算法。
其中,所述根据所述编码器的类型以及预设的权值,对所获取的参数进
行加权,包括
所述根据所述编码器的类型以及预设的权值,获取每一所选参数对应的权值;
将各所获取的参数与其对应的权值相乘后求和,得到加权结果。
其中,所述根据预设的不同码率控制算法对应的数值范围、以及所述加权结果,获取所述编码器所使用的码率控制算法,包括
对于每一可用的码率控制算法,分别设置其使用的加权结果取值范围;
获取所述加权结果所在的加权结果取值范围,将所述加权结果取值范围对应的码率控制算法,作为所述编码器所使用的码率控制算法。
其中,所述码率控制算法包括TMN8算法和TMN5算法以及JVT-G012算法中的至少两种。
其中,所述获取编码器的性能延时参数、场景复杂度参数、带宽参数中的两种以上参数,具体包括
判断当前时间是否到达预设的获取周期,到达预设的获取周期时,获取编码器的性能延时参数、场景复杂度参数、带宽参数中的两种以上参数;或
判断编码器的性能延时参数、场景复杂度参数、带宽参数中的任一参数的变化超过预设的阈值时,获取编码器的性能延时参数、场景复杂度参数、带宽参数中的两种以上参数。
本发明还提供一种码率控制算法的选择装置,包括
参数获取单元,用于获取编码器的性能延时参数、场景复杂度参数、带宽参数中的两种以上参数;
加权结果获取单元,用于根据所述编码器的类型以及预设的权值,对所述参数获取单元获取的参数进行加权;
算法选择单元,用于根据预设的不同码率控制算法对应的数值范围、以及所述加权结果获取单元获取的加权结果,获取所述编码器所使用的码率控制算法。
其中,所述加权结果获取单元包括权值设置子单元,用于所述根据所述编码器的类型以及预设的权值,选
#^每一所选参数对应的才又值;
加权子单元,用于将各所获取的参数与其在权值设置子单元中对应的权值相乘后求和,得到加权结果。
其中,所述算法选择单元包括
取值范围设置子单元,用于对于每一可用的码率控制算法,分别设置其使用的加权结果取值范围;
算法选择子单元,用于根据所述取值范围设置子单元设置的码率控制算法对应的加权结果取值范围,获取所述加权结果所在的加权结果取值范围,将所述加权结果取值范围对应的码率控制算法,作为所述编码器所使用的码率控制算法。
其中,所述码率控制算法包括TMN8算法和TMN5算法以及JVT-G012算法中的至少两种。
其中,所述参数获取单元具体用于
判断当前时间是否到达预设的获取周期,到达预设的获取周期时,获取编码器的性能延时参数、场景复杂度参数、带宽参数中的两种以上参数;或
判断编码器的性能延时参数、场景复杂度参数、带宽参数中的任一参数的变化超过预设的阈值时,获取编码器的性能延时参数、场景复杂度参数、
带宽参数中的两种以上参数。
与现有技术相比,本发明具有以下优点
根据编码器的各个参数进行加权运算,根据加权运算结果进行码率控制算法的选择,从而可以根据各个码率控制算法的优点和适用范围,自适应的选择和调整最佳的码率控制算法,满足了编码器系统在性能延时、场景复杂度、带宽等方面对码率控制算法的要求。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的 一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的码率控制算法的选择方法的流程图2是本发明涉及的三种码率控制算法的延时以及所耗费的性能的示意
图3是本发明中提供的码率控制算法在编码器中的应用示意图;图4是本发明 一个应用场景中码率控制算法的选择方法的流程图;图5是本发明中提供的码率控制算法的选择装置的结构示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例^f义是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明提供了一种码率控制算法的选择方法,如图1所示,包括步骤s101、获取编码器的性能延时参数、场景复杂度参数、带宽参数中的两种以上参数。
步骤s102、根据编码器的类型以及预设的权值,对所获取的参数进行加权。
步骤s103、根据预设的不同码率控制算法对应的数值范围、以及加权结果,获取编码器所使用的码率控制算法。
上述流程中,步骤sl01的执行可以为定时的周期执行,或在性能延时参数、场景复杂度参数、带宽参数中的任一参数的变化超过阈值时执行,从而使得所选的码率控制算法能够根据使用环境的变化实时更新。本发明的核心思想在于,对于现有的已存在的码率控制算法,由于其适用的场景不同,因此综合考虑编码器系统的性能延时^、场景复杂度参数、带宽参数等参数,一般可以选择归一化的参数,选择合适的码率控制算法。使得在性能延时参数、场景复杂度参数、带宽参数等不断变化的同时,自适应的选择合适的码率控制算法,从而使得输出的视频图像质量达到最佳。
以下结合具体的应用场景对本发明的具体实施方式
进行说明。以TMN5码率控制算法、TMN8码率控制算法和JVT-G012码率控制算法为例。上述三种技术方案所述算法,根据算法复杂度的不同,所引入的延时以及所耗费的性能也不同,如图2所示。具体分析如下
TMN5码率控制算法缺乏对人眼视觉的考虑,在场景变换较大的情况下,PSNR (Peak Signal to Noise Ratio,峰值信噪比)以及码率不平稳,波动大。但是,其优点就是算法和实现筒单,对性能的占有率较低,造成的系统延时较小。
TMN8码率控制算法相对于TMN5更精确地控制目标码率,保持緩冲区的稳定性,但其在场景切换的情况下,会产生较大的控制误差,并且I帧码率控制效率较低。
JVT-G012码率控制算法通过率失真理论模型,拉格朗日率失真优化算法,并且引入线性预测模型的概念,使编码的失真在一定的码率限制条件下达到最小。无论对I帧的码率控制,还是场景变换较大情况下的码率和图像质量波动都有了很大的改进。缺点是算法和实现复杂,对性能要求很高,系统延时最大。
本发明提供的方法中,在硬件资源和性能一定的情况下,通过综合考虑当前性能延时参数、场景复杂度参数、带宽参数等因素,自适应选择码率控制算法,使视频码率和图像质量达到最佳。具有本发明中提供的码率控制算法的选择方法的功能实体在现有的编码器系统中的位置如图3所示。本发明的应用场景中,利用一种线性预测模型来综合考虑性能延时、场景复杂度、带宽等各种参数,从而自适应的选择合适的码率控制算法。
e = orP + / S + y5 (1)
公式(l)中,以a、 -、 y表示线性自适应选择模型的预测因子;P表示自适应选择参数,通过e,自适应选择多种码率控制算法。尸表示性能延时参数;S表示场景复杂度参数;5表示带宽参数。其中上述尸、S和5为归一化后的参数,当上述参数未进行归一化处理时,首先进行归一化处理
/> = ~^~, (2)S = ~^~, (3)
5 = (4)
则对于归一化前的参数尸,、S,、万,,经过上述公式(2) (4)进行归一化后,尸表示归一化的性能延时参数;S表示归一化的场景复杂度参数;5表示归一化的带宽参数。
以H264 720P编码器为例,6表示实际分配带宽(单位为6;w),即归一化前的带宽Wt5,。可选择的算法包括TMN5码率控制算法、TMN8码率控制算法和JVT-G012码率控制算法,则自适应选择参数计算如下设置T1-6M)戸,T3=4M>/w; T2=l, T4=0.8, T5=0.6。其中Tl和T3作为带宽的参考点,根据实际分配带宽与Tl和T3的大小关系,选择不同的加权公式;T2、 T4和T5作为加权结果的参考点,根据实际加权结果与T2、 T4和T5的大小关系,选择不同的码率控制算法。上述T1和T3的取值、以及T2、 T4和T5的取值是根据大量数据经验设置的参数。对于不同的编码器,上述各参数的取值可以根据所选择的算法的特点和所适用的范围进行调整。
々!i殳a二0.8, - = 0.6, y =
1,6 2 6M>;w
0.5,4M)/w《6 < 6M>/w ,即cr和"为定值,y的值0.2,6 <4M>;w
为与实际分配带宽6相关,则上述/>式(1)变化为下述^^式(5)0 =
0.8尸+ 0.6S + 5, 6 2 6M)/w
0.8P + 0,6S + 0.55, 6M /w > 6 2 4M>;w (5)0.8尸+ 0.6S + 0.25, 6<4M /w
基于上述参数,本发明应用场景中提供的码率控制算法的选择方法如图4所示,包括
步骤s401、获取性能延时参数;步骤s402、场景变换检测获取场景复杂度;步骤s403、获取分配带宽;
步骤s404、对性能延时参数、场景复杂度、分配带宽进行归一化,归一化的方法参见上述公式(2) ~ (4);
步骤s405、判断实际分配带宽6是否大于等于T1 (Tl=6M)/w),是则进行步骤s406,否则进行步骤s407;
步骤s406、计算0并判断^是否大于T2 (T2=l),计算P的方法可以参考上述公式(5);是则选择TMN5算法,否则选择TMN8算法。
步骤s407、判断实际分配带宽6是否大于等于T3 (T3=4M>/w),是则进行步骤s408 ,否则进行步骤s409;
步骤s408、计算e并判断^是否大于T4 (T4=0.8),计算P的方法可以参考上述公式(5 );是则选择TMN8算法,否则选择JVT-G012算法;
步骤s409、计算e并判断0是否大于T5 (T5=0.6),计算^的方法可以参考上述公式(5 );是则选择TMN8算法,否则选择JVT-G012算法。
通过上述流程,实现了码率控制算法的自适应选择,即对于H264 720P编码器当实际分配带宽6>6M^w时,若加权结果0>1,则选择TMN5算法,否则选择TMN8算法;
当实际分配带宽6M)戸> 6 > 4Mj戸时,若加权结果6>0.8,则选择TMN8算法,否则选择JVT-G012算法;
当实际分配带宽6〈4M 戸时,若加权结果0>0.6,选择TMN8算法,否则选择JVT-G012算法。
以上仅以H264 720P编码器为例,说明了码率控制算法的自适应选择方法,对于其他编码器类型中的码率控制算法选择方法,只需对参数进行适应性修改设置,具体实施原理与上述流程相似,在此不进行重复描述。
可以理解的是,除了采用上述线性预测模型来综合考虑性能延时、场景复杂度、带宽等各种参数外,还可以选择使用非线性预测模型来综合各种参数,从而自适应的选择合适的码率控制算法。使用非线性预测模型与上述使用线性模型的区别在于,使用了与上述公式(1)不同的公式,其他实施原理相同,在此不进^f亍重复描述。
本发明提供的上述方法中,根据编码器的各个参数进行加权运算,根据加权运算结果进行码率控制算法的选择,从而可以根据各个码率控制算法的优点和适用范围,自适应的选择和调整最佳的码率控制算法,满足了编码器系统在性能延时、场景复杂度、带宽等方面对码率控制算法的要求。
本发明还提供一种码率控制算法的选择装置,如图5所示,包括
参数获取单元10,用于获取编码器的性能延时参数、场景复杂度参数、带宽参数中的两种以上参数; 一般可以选择归一化的参数;具体的,参数获取单元10可以用于在(1)判断当前时间是否到达预设的获取周期,到达预设的获取周期时;或(2)判断编码器的性能延时参数、场景复杂度参数、带宽参数中的任一参数的变化超过预设的阈值时;获取编码器的性能延时参数、场景复杂度参数、带宽参数中的两种以上参数。加权结果获取单元20,用于根据编码器的类型以及预设的权值,对参数 获取单元10获取的参数进行加权。加权结果获取单元20可以进一步包括 权值设置子单元21,用于根据编码器的类型以及预设的权值,选择每一所选 参数对应的权值;加权子单元22,用于将各所获取的参数与其在权值设置子 单元21中对应的权值相乘后求和,得到加权结果。
算法选择单元30,用于根据预设的不同码率控制算法对应的数值范围、 以及加权结果获取单元20获取的加权结果,获取编码器所使用的码率控制算 法。算法选择单元30可以进一步包括取值范围设置子单元31,用于对于每 一可用的码率控制算法,分别设置其使用的加权结果取值范围;算法选择子 单元32,用于根据取值范围设置子单元31设置的码率控制算法对应的加权结 果取值范围,获取加权结果所在的加权结果取值范围,将加权结果取值范围 对应的码率控制算法,作为编码器所使用的码率控制算法。
该选择装置还可以包括归一化单元,用于对参数获取单元选择的参数 进行归一化,将归一化后的各参数提供给加权结果获取单元20。
其中,码率控制算法包括TMN8算法和TMN5算法以及JVT-G012算法 中的至少两种。
通过使用本发明提供的上述装置,根据编码器的各个参数进行加权运算, 根据加权运算结果进行码率控制算法的选择,从而可以根据各个码率控制算 法的优点和适用范围,自适应的选择和调整最佳的码率控制算法,满足了编 码器系统在性能延时、场景复杂度、带宽等方面对码率控制算法的要求。解 决了在编码器系统带宽、性能延时变化时,单一码率控制算法的效率下降导 致的码率和图像质量波动较大的问题,保证了码率和图像质量的稳定性
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发 明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。 基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM, U盘,移动硬 盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服 务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的 单元或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的单元可以按照实施例描述 进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一 个或多个装置中。上述实施例的单元可以合并为一个单元,也可以进一步拆 分成多个子单元。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
权利要求
1、一种码率控制算法的选择方法,其特征在于,包括获取编码器的性能延时参数、场景复杂度参数、带宽参数中的两种以上参数;根据所述编码器的类型以及预设的权值,对所获取的参数进行加权;根据预设的不同码率控制算法对应的数值范围、以及所述加权结果,获取所述编码器所使用的码率控制算法。
2、 如权利要求l所述的方法,其特征在于,所述根据所述编码器的类型 以及预设的权值,对所获取的参数进行加权,包括所述根据所述编码器的类型以及预设的权值,获取每一所选参数对应的 权值;将各所获取的参数与其对应的权值相乘后求和,得到加权结果。
3、 如权利要求l所述的方法,其特征在于,所述根据预设的不同码率控 制算法对应的数值范围、以及所述加权结果,获取所述编码器所使用的码率 控制算法,包括对于每一可用的码率控制算法,分别设置其使用的加权结果取值范围; 获取所述加权结果所在的加权结果取值范围,将所述加权结果取值范围 对应的码率控制算法,作为所述编码器所使用的码率控制算法。
4、 如权利要求1至3中任一项所述的方法,其特征在于,所述码率控制 算法包括TMN8算法和TMN5算法以及JVT-G012算法中的至少两种。
5、 如权利要求1至3中任一项所述的方法,其特征在于,所述获取编码 器的性能延时参数、场景复杂度参数、带宽参数中的两种以上参数,具体包 括判断当前时间是否到达预设的获取周期,到达预设的获取周期时,获取 编码器的性能延时参数、场景复杂度参数、带宽参数中的两种以上参数;或判断编码器的性能延时参数、场景复杂度参数、带宽参数中的任一参数 的变化超过预设的阈值时,获取编码器的性能延时参数、场景复杂度参数、 带宽参数中的两种以上参数。
6、 一种码率控制算法的选择装置,其特征在于,包括参数获取单元,用于获取编码器的性能延时参数、场景复杂度参数、带宽参数中的两种以上参数;加权结果获取单元,用于根据所述编码器的类型以及预设的权值,对所 述参数获取单元获取的参数进行加权;算法选择单元,用于根据预设的不同码率控制算法对应的数值范围、以 及所述加权结果获取单元获取的加权结果,获取所述编码器所使用的码率控 制算法。
7、 如权利要求6所述的装置,其特征在于,所述加权结果获取单元包括 权值设置子单元,用于所述根据所述编码器的类型以及预设的权值,选择每一所选参数对应的权值;加权子单元,用于将各所获取的参数与其在权值设置子单元中对应的权 值相乘后求和,得到加;f又结果。
8、 如权利要求6所述的装置,其特征在于,所述算法选择单元包括 取值范围设置子单元,用于对于每一可用的码率控制算法,分别设置其使用的加权结果取值范围;算法选择子单元,用于根据所述取值范围设置子单元设置的码率控制算 法对应的加权结果取值范围,获取所述加权结果所在的加权结果取值范围, 将所述加权结果取值范围对应的码率控制算法,作为所述编码器所使用的码 率控制算法。
9、 如权利要求6至8中任一项所述的装置,其特征在于,所述码率控制 算法包括TMN8算法和TMN5算法以及JVT-G012算法中的至少两种。
10、 如权利要求6至8中任一项所述的装置,其特征在于,所述参数获 取单元具体用于判断当前时间是否到达预设的获取周期,到达预设的获取周期时,获取 编码器的性能延时参数、场景复杂度参数、带宽参数中的两种以上参数;或判断编码器的性能延时参数、场景复杂度参数、带宽参数中的任一参数 的变化超过预设的阈值时,获取编码器的性能延时参数、场景复杂度参数、 带宽参数中的两种以上参数。
全文摘要
本发明公开了一种码率控制算法的选择方法和选择装置。该方法包括获取编码器的性能延时参数、场景复杂度参数、带宽参数中的两种以上参数;根据所述编码器的类型以及预设的权值,对所获取的参数进行加权;根据预设的不同码率控制算法对应的数值范围、以及所述加权结果,获取所述编码器所使用的码率控制算法。通过使用本发明,可以根据各个码率控制算法的优点和适用范围,自适应的选择和调整最佳的码率控制算法,满足了编码器系统在性能延时、场景复杂度、带宽等方面对码率控制算法的要求。
文档编号H04N7/26GK101656887SQ200910176889
公开日2010年2月24日 申请日期2009年9月23日 优先权日2009年9月23日
发明者坚 吴, 奕 雷, 黄建强 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1