一种小波编码的码率控制方法

文档序号:7962720阅读:252来源:国知局
专利名称:一种小波编码的码率控制方法
技术领域
本发明涉及码率控制领域,特别是涉及一种小波编码的码率控制方法。
背景技术
近年来,随着小波理论研究的不断深入,小波编码的应用研究也日臻成熟。小波编码技术具有消除图像方块效应的特殊性能,以及特有的与人眼视觉相符的多分辨率分析能力和方向选择能力而被广泛应用于图像/视频压缩领域,并取得了良好的效果。
在对图像进行小波编码之前,需对图像进行小波变换,小波变换是一种介于空间域与频率域的分析方法。请参阅图1,为图像经两次小波变换后,小波系数分布图。图像经过一次小波变换,产生四个子带LL1、HL1、LH1与HH1,对低频子带LL1继续分解,得到更近一级的四个子带LL2、HL2、LH2与HH2。图像经小波变换后,各个子带的小波系数之间具有一定的相关性,主要有两个特点第一个特点是能量集中图像的大部分能量集中在低频子带,其余频带之中的能量主要集中在与图像亮度突变边缘对应的子带处,而且一般相应的高层子带的小波系数比低层子带的小波系数绝对值大。
第二个特点是自相似同一类子带的不同层间,通常具有自相似性的特点。这种层间的自相似,一方面,反映在对应于边缘的各层子带绝对值较大的小波系数位置间的相似;另一方面,反映在绝对值较小的小波系数的层间子带关系上,与绝对值较小的小波系数相应的低层子带小波系数一般也比较小。基于以上经小波变换后图像的小波系数特点,采用层次树集合划分(SPIHT,SetPartitioning in Hierarchical Trees)图像编码是对小波系数进行编码的一种有效方法。在SPIHT编码方法中,码率控制作为编码算法的关键组成部分直接影响图像质量,因此,在小波编码过程中,需对当前帧图像的码率进行预测,依据预测码率为当前图像帧配置目标码率,目标码率决定当前图像帧实际编码所用的比特数。
现有技术中,通常利用已编码图像帧的统计信息来计算当前帧的预测码率,如,利用已编码图像帧的平均码率作为当前图像帧的预测码率,或者通过总结前几帧图像中平均每一帧图像的所有小波系数的绝对值和(或平方和)与其编码码率之间的关系,结合当前帧图像的所有小波系数的绝对值和(或平方和)来计算当前图像帧预测码率。
但是,在小波编码中,由于采用小波变换消除了图像的空间冗余性,采用运动估计消除了图像的时间冗余性,使相临两个残差帧之间的相关性变的很小,采用对已编码图像帧码率进行统计的方法难以对当前图像帧码率做出准确预测,利用不准确的预测码率为当前图像帧配置的目标码率也是不准确的。
目标码率的不准确,使当前图像帧编码所用的比特数也不合理。如相邻两图像帧,一个较为结构复杂,另一个结构较为简单。较为复杂的图像帧所包含的数据信息很大,仅通过统计已编码图像帧的码率来确定当前图像帧目标码率,必然会使该目标码率偏小,导致当前图像帧编码所用的比特数偏小,图像质量就较低。相应的,为较为简单的图像帧配置的目标码率必然偏大,图像质量就相应的较高,因此造成相邻图像帧质量发生很大的波动,由于人眼视觉系统对图像质量变化的频率很敏感,图像质量的过大波动会大大降低视觉效果。

发明内容
本发明所要解决的技术问题是提供一种小波编码的码率控制方法,为当前图像帧配置准确的目标码率,使图像质量变化比较平缓,获得较好的视觉效果。
本发明提供了一种小波编码的码率控制方法,包括获取与预设量化步长相对应的当前图像帧的预测码率;如果所述预测码率不满足由缓冲区被占用的比特数、平均帧比特数、跳帧阈值和/或编码帧率组成的预设条件,调整所述量化步长,直至所述预测码率满足所述预设条件;调整后的量化步长满足预置范围时,将满足条件的预测码率作为目标码率。
优选的,按照下述步骤获取与预设量化步长相对应的当前图像帧的预测码率统计小波系数除以预设量化步长得到的商取整后不为零的个数,作为非零值个数;当前图像帧三个分量的非零值个数与相应图像帧分量的乘数因子相乘,获得的乘积相加,再加上编码运动矢量所用的比特数与编码码流组织参数所用的比特数,获得的结果作为当前图像帧的预测码率。
优选的,按照下述步骤预设量化步长从当前图像帧之前至少一个图像帧量化步长中选取最小的量化步长,作为当前图像帧量化步长。
优选的,按照下述步骤获取所述分量的乘数因子非零值个数除以小波系数的个数总量为非零值比例;依据非零值比例获得分量的乘数因子。
优选的,所述依据非零值比例获得分量的乘数因子为确定非零值比例的范围;如非零值比例小于或等于第一设定值,第一分量的乘数因子为第二设定值减去第一预设倍数的非零值比例,第二分量与第三分量的乘数因子为第三设定值;如非零值比例大于第一设定值,第一分量的乘数因子为第二设定值减去第一预设倍数的非零值比例,第二分量与第三分量的乘数因子为第四设定值。
优选的,所述第一设定值的取值范围为0.01-0.03;第二设定值的取值范围5-15;第三设定值取值范围为4-9;第四设定值的取值范围为3-13;第一预设倍数的取值范围为2-7。
优选的,所述预置范围包括第五设定值到第六设定值之间的整数,所述预设条件包括预测码率在平均帧比特数的第二预设倍数倍与第三预设倍数倍之间。
优选的,按照下述步骤调整所述量化步长,直至所述预测码率满足预设条件,调整后的量化步长满足预置范围S801、如果预测码率大于平均帧比特数的第二预设倍数倍时,转到步骤S802;如果预测码率小于平均帧比特数的第三预设倍数时,转到步骤S803;S802、将量化步长加1,更新预测码率,如更新后预测码率仍大于平均帧比特数的第二预设倍数时,且量化步长小于第五设定值时,重复步骤S802;否则完成预测码率的调整;
S803、将量化步长减1,更新预测码率,如更新后的预测码率仍小于平均帧比特数的第三预设倍数倍,且量化步长大于第六设定值,则重复步骤S803,否则完成预测码率的调整。
优选的,所述第二预设倍数的取值范围为1.1-4;所述第三预设倍数的取值范围为1.1-4;所述第五设定值的取值范围为20-80;所述第六设定值的取值范围为5-60。
优选的,按照下述步骤获取与预设量化步长相对应的当前图像帧的预测码率统计小波系数运动补偿残差值除以所述量化步长得到的商取整后不为零的个数,作为非零值个数;当前帧图像三个分量的非零值个数与相应分量的乘数因子相乘,获得的乘积相加,再加上编码运动矢量所用的比特数与编码码流组织参数所用的比特数,获得的结果作为当前图像帧的预测码率。
优选的,按照下述步骤预设量化步长取前一图像帧量化步长作为当前图像帧量化步长。
优选的,按照下述步骤获得分量的乘数因子非零值个数除以小波系数运动补偿残差值的个数总量为非零值比例。
依据非零值比例获得分量的乘数因子。
优选的,所述依据非零值比例获得分量的乘数因子为确定非零值比例的范围;如非零值比例小于第七设定值,第一分量、第二分量与第三分量的乘数因子为第九设定值减去第四预设倍数的非零值比例;如非零值比例大于或等于第七设定值但小于第八设定值时,第一分量、第二分量与第三分量的乘数因子为第十设定值减去第五预设倍数的非零值比例;如非零值比例大于第八设定值,第一分量、第二分量与第三分量的乘数因子为第十一设定值减去第六预设倍数的非零值比例。
优选的,所述第七设定值的取值范围为0.001-0.01;所述第八设定值的取值范围为0.01-0.09;所述第九设定值的取值范围为5-16;所述第十设定值的取值范围为6-13;所述第十一设定值的取值范围为5-14;所述第四预设倍数的取值范围为250-350;所述第五预设倍数的取值范围为20-80;所述第六预设倍数的取值范围为2-8。
优选的,所述预置范围包括量化步长为第十二设定值到第十三设定值之间的整数,且相邻图像帧之间量化步长的绝对值小于第十四设定值;所述预设条件包括当缓冲区已被占用的比特数小于或等于预设比例的跳帧阈值时,预测码率大于或等于平均帧比特数减去缓冲区被占用的比特数再加上所述预设比例的跳帧阈值,并且大于或等于平均帧比特数减去缓冲区被占用的比特数;当缓冲区已被占用的比特数大于所述预设比例的跳帧阈值时,预测码率小于或等于平均帧比特数减去缓冲区被占用的比特数与编码帧率的商,并且大于或等于平均帧比特数减去缓冲区被占用的比特数。
优选的,按照下述步骤调整所述量化步长,直至所述预测码率满足预设条件,调整后的量化步长满足预置范围S1601、判断缓冲区被占用的比特数是否大于预设倍数的跳帧阈值,是则转到S1602,否则转到S1603;S1602、进一步判断是否同时满足预测码率是否大于平均帧比特数减去缓冲区被占用的比特数与编码帧率的商,量化步长小于第十三设定值且与前一图像帧差的绝对值小于第十四设定值三个条件,是则将量化步长加1,更新预测码率并重复步骤S1602;否则转到步骤S1604;S1603、判断是否同时满足预测码率小于或等于平均帧比特数减去缓冲区被占用的比特数再加上所述预设比例的跳帧阈值,量化步长大于第十二设定值且与前一图像帧量化步长差的绝对值小于第十四设定值三个条件,是则将量化步长减1,更新预测码率并重复步骤S1603;否则转到步骤S1604;S1604、判断预测码率是否小于平均帧比特数减去缓冲区被占用的比特数,是则将量化步长减1,更新预测码率并重复步骤S1604,否则完成预测码率的调整。
优选的,所述第十二设定值的取值范围为5-50,所述第十三设定值的取值范围为60-120,所述第十四设定值的取值范围为4-20;所述预设比例的取值范围为1/15-1/5。
优选的,确定目标码率之后,还包括采用不带死区的均匀标量量化方法对当前图像帧进行量化。
优选的,还包括量化后的数值全部位平面都编码输出。
优选的,还包括获取跳过不进行编码的帧数,用以调整编码帧率。
优选的,按照下述步骤获取跳过不进行编码的帧数S2101、将缓冲被占用的比特数更新为缓冲区被占用的比特数加上当前帧编码所用的比特数减去平均帧比特数,如更新后缓冲被占用的比特数小于0,则将其设置为0,并将跳帧控制参数设置为1;S2102、判断缓冲被占用的比特数是否大于跳帧阈值,是则将缓冲区被占用的比特数更新为缓冲区被占用的比特数减去平均帧比特数的差值,并将跳帧控制参数设置加1,重复步骤S2102,否则转到步骤S2103;S2103、将跳帧控制参数乘以原始视频序列帧率,获得的乘积除以编码帧率,获得的商减去1即为跳过不进行编码的帧数。
与现有技术相比,本发明具有以下优点本发明通过预设当前图像帧量化步长,根据预设的量化步长分析当前图像帧的数据信息再经过计算获得当前图像帧的预测码率,在一定程度上可保证预测码率的准确性。将获得的预测码率与量化步长相互校正,将量化步长调整为一定范围内的整数,同时使预测码率满足由缓冲区被占用的比特数、平均帧比特数、跳帧阈值与编码帧率组成的预设条件,将满足条件的预测码率作为目标码率,因此,该目标码率可准确反映当前图像帧实际需要编码的比特数,保证各图像帧质量稳定性,提高视觉效果。
优选的,本发明将当前图像帧区分为小波系数帧(I帧)与小波系数的运动补偿残差值帧(P帧),针对两种图像帧不同特性对采用不同的方法进行码率控制,进一步保证图像质量。
优选的,本发明获得预测码率的方式为将当前帧图像Y、U、V三个分量的非零值个数与相应分量的乘数因子相乘的积相加,再加上编码运动矢量所用的比特数与编码码流组织参数所用的比特数。乘数因子通过计算非零值比例获得。该方法总结了当前帧图像非零值值个数、非零值比例、编码运动矢量、编码码流与预测码率近似的定量关系,使预测码率更为合理、准确。
优选的,本发明根据I帧与P帧不同的特性,充分考虑缓冲区被占用的比特数、平均帧比特数、跳帧阈值、编码帧率与预测码率的内在关系。使预测码率满足预设条件,将满足条件的预测码率作为目标码率。给I帧设置一个合理的、较大的目标码率,提高I帧解码后图像质量,同时也可以通过提高运动补偿的效率,来提高后续P帧的编码效率。对P帧使相邻两帧量化步长变化很小,同时将所有P帧的目标码率控制在平均码率附近,保证P帧质量的稳定。
优选的,本发明通过更新缓冲区被占用的比特数计算跳过不进行编码的帧数,用以调整编码帧率。尽可能避免通过增加跳帧数保证缓冲区不上溢,保证图像质量。


图1为图像经两次小波变换后,小波系数分布示意图;图2为本发明一实施例小波编码的码率控制方法流程图;图3为本发明依据实施例,在当前图像帧为I帧时调整预测码率的方法流程图;图4为本发明依据实施例,在当前图像帧为P帧时调整预测码率的方法流程图;图5为本发明依据实施例,在确定目标码率后进行量化、编码、更新缓冲区流程图。
具体实施例方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。
本发明的核心思想是通过预设当前图像帧量化步长,根据预设的量化步长分析当前图像帧的数据信息,再经过计算获得当前图像帧的预测码率,在一定程度上可保证预测码率的准确性。将获得的预测码率与量化步长相互校正,将量化步长调整为一定范围内的整数,同时使预测码率满足由缓冲区被占用的比特数、平均帧比特数、跳帧阈值与编码帧率组成的预设条件,将满足条件的预测码率作为目标码率,因此,该目标码率可准确反映当前图像帧实际需要编码的比特数,保证各图像帧质量稳定性,提高视觉效果。
参照图2,示出本发明一实施例小波编码的码率控制方法,包括以下步骤201、预设当前图像帧的量化步长;对当前图像帧进行分析,如果该图像帧没有进行运动估计,只采用小波变化消除了图像的空间冗余性,将该图像帧确定为小波系数帧(I帧);如果该图像帧经过小波变化和运动估计,消除了图像的空间冗余性和时间冗余性,使相邻两个残差帧之间的相关性很小,将该图像帧确定为小波系数的运动补偿残差值帧(P帧)。
在当前图像帧为I帧时,在当前图像帧之前多个图像帧量化步长中选取最小的一个量化步长,作为当前图像帧量化步长;当前图像帧为P帧时,选取前一图像帧的量化步长,作为当前图像帧量化步长。
量化步长为一个整数,用来对当前图像帧经小波变换后的小波系数进行量化,量化步长与图像编码的比特数成反比,量化步长越大,图像编码的比特数就越少,图像质量相对较低;相应的,量化步长越小,图像编码的比特数就越多,图像质量相对较高。
202、依据预设量化步长获取当前图像帧的预测码率;图像基本的组成为RGB三原色,在小波编码中,将其转换为第一分量、第二分量、第三分量,即Y、U、V三个分量,使用预设量化步长对当前图像帧Y、U、V三个分量的数据信息进行分析,根据分析结果计算预测码率,对于I帧,统计其小波系数除以预设量化步长得到的商取整后不为零的个数,作为非零值个数;非零值个数除以小波系数的个数总量为非零值比例;对于P帧,统计其小波系数的运动补偿残差值除以预设量化步长得到的商取整后不为零的个数,作为非零值个数;非零值个数除以小波系数的运动补偿残差值的个数总量为非零值比例;如,I帧的小波系数个数为24K(K表示千),量化步长初始值为24,小波系数为4、8、16、32、64等各个数值,将小波系数除以量化步长24,4/24=0.1667,取整后为0;32/24=1.3333,取整后为1,是一个非零值;小波系数全部除以量化步长24,统计非零值个数,再将非零值个数除以小波系数个数总量24K,得到非零值比例。对P帧的非零值个数和非零值比例的计算方法类似。
上述的小波系数和小波系数运动补偿残差值是指待量化和进行SPIHT编码的小波系数和小波系数运动补偿残差值。
由于小波变换系数具有能量集中的特点,低频子带小波系数幅值比较大,而高频子带系数幅值比较小,因而在统计时,可充分利用这个特点,以减少计算量。在统计非零值个数时,可根据编码器的计算能力、缓冲延迟、和预测准确度要求等实际情况灵活选择统计方法。
将非零值比例置入预设的算式进行计算,计算结果即为当前图像帧Y、U、V三个分量的乘数因子。
对于I帧,预设的算式为p<=P1Mpy=TI-B1×P,Mpu=T2,MPv=T2;p>P1 Mpy=TI-B1×P,Mpu=T3,MPv=T3;其中,P表示非零值比例,Mpy、Mpu、MPv分别表示Y、U、V三个分量的乘数因子;P1优选的取值范围在0.01到0.03之间;T1优选的取值范围在5到15之间;T2优选的取值范围在4到9之间;T3优选的取值范围在3到13之间;B1优选的取值范围在2到7之间。
对于P帧,预设的算式为p<P2 Mpy=T4-B2×P,Mpu=T4-B2×P,MPv=T4-B2×P;P2=<p<P3Mpy=T5-B3×P,Mpu=T5-B3×P,MPv=T5-B3×P;P>=P3;Mpy=T6-B4×P,Mpu=T6-B4×P,MPv=T6-B4×P;其中,P表示非零值比例,Mpy、Mpu、MPv分别表示Y、U、V三个分量的乘数因子;P2优选的取值范围在0.001到0.01之间;P3优选的取值范围在0.01到0.09之间;T4优选的取值范围在5到16之间;T5优选的取值范围在6到13之间;T6优选的取值范围在5到14之间;B2优选的取值范围在250到350之间;B3优选的取值范围在20到80之间;B4优选的取值范围在2到8之间。
预测码率Bpred=Yn×Mpy+Un×Mpu+Vn×MPv+MVLen+COlen其中,Yn、Un、Vn分别表示Y、U、V分量的非零值个数;MVLen表示编码运动矢量所用的比特数;Colen表示编码码流组织参数所用的比特数。该预测码率方法总结了当前帧图像非零值值个数、非零值比例、编码运动矢量、编码码流与预测码率近似的定量关系,更为合理、准确。
203、所述预测码率不满足由缓冲区被占用的比特数、平均帧比特数、跳帧阈值与/或编码帧率组成的预设条件时,调整所述量化步长,直至所述预测码率满足所述预设条件,同时量化步长在预置范围之内。
对于I帧,需将预测码率调整为平均帧比特数的第二预设倍数倍与第三预设倍数倍之间,同时量化步长调整为第五设定值到第六设定值之间的整数。具体的范围和数值需根据实际情况确定。
对于P帧,需使预测码率满足以下条件当缓冲区已被占用的比特数小于或等于预设比例的跳帧阈值时,预测码率大于或等于平均帧比特数减去缓冲区被占用的比特数再加上所述预设比例的跳帧阈值,并且大于或等于平均帧比特数减去缓冲区被占用的比特数;当缓冲区已被占用的比特数大于所述预设比例的跳帧阈值时,预测码率小于或等于平均帧比特数减去缓冲区被占用的比特数与编码帧率的商,并且大于或等于平均帧比特数减去缓冲区被占用的比特数。
同时使相邻图像帧之间量化步长的绝对值相近。
本发明根据I帧与P帧不同的特性,充分考虑缓冲区被占用的比特数、平均目标码率、跳帧阈值、编码帧率与预测码率的内在关系。使预测码率满足预设条件,将满足条件的预测码率作为目标码率。给I帧设置一个合理的、较大的目标码率,提高I帧解码后图像质量,同时也可以通过提高运动补偿的效率,来提高后续P帧的编码效率。对P帧使相邻两帧量化步长变化很小,同时将所有P帧的目标码率控制在平均码率附近,保证P帧质量的稳定。
204、将预测码率作为目标码率,对当前图像帧进行量化、编码。
确定目标码率之后,对当前图像帧进行量化、SPIHT编码。量化为采用不带死区的均匀标量量化法,量化后的数值全部位平面都编码输出。
205、根据缓冲区被占用的比特数、跳帧阈值计算跳过不进行编码的帧数。
本发明根据缓冲区被占用的比特数、跳帧阈值计算跳过不进行编码的帧数,用以调整编码帧率,尽可能避免通过增加跳帧数保证缓冲区不上溢,保证图像质量。
在视频通信中,质量均衡的图像要比平均质量高但质量变化剧烈的图像具有更好的视觉效果,因为人眼视觉系统对图像质量变化的频率很敏感,图像质量的高频变化会大大降低视觉效果。本发明提供的码率控制方法能够获得图象质量和编码帧率都比较稳定的视频。由于考虑了人眼的视觉特性,在相同带宽的条件下,改善图象的主观质量,并且针对一图象帧,只需传输一个量化参数,节约了带宽资源。
下面以图3、图4、图5为例,详细说明本发明小波编码的码率控制方法。为方便描述,选用字母表示码率控制中所用到各参数。
其中,B表示当前帧图象编码所用的比特数;Bpred表示预测码率;G表示原始视频序列帧率;R表示码率控制的平均目标码率;F表示编码帧率;R/F表示平均帧比特数;M表示跳帧域值,缺省值为R/F;M可根据信道带宽,视频通信时允许的缓冲延迟时间及缓冲区大小等进行相应的调整,当允许的缓冲延迟时间比较大时,可将M设置一个比较大的值;P为非零值比例;P1优选的取值范围在0.01到0.03之间;P2优选的取值范围在0.001到0.01之间;P3优选的取值范围在0.01到0.09之间;T1优选的取值范围在5到15之间;T2优选的取值范围在4到9之间;T3优选的取值范围在3到13之间;T4优选的取值范围在5到16之间;T5优选的取值范围在6到13之间;T6优选的取值范围在5到14之间;B1优选的取值范围在2到7之间;B2优选的取值范围在250到350之间;B3优选的取值范围在20到80之间;B4优选的取值范围在2到8之间;Yn表示Y分量非零值个数;Un表示U分量非零值个数;Vn表示V分量非零值个数;MPy表示Y分量的乘数因子;MPu表示U分量的乘数因子;MPv表示V分量的乘数因子;MVLen表示编码运动矢量所用的比特数;
CoLen表示编码码流组织参数所用的比特数;W表示缓冲区已占用的比特数;skip,表示跳帧的一个控制参数;skipN表示跳过原始视频序列的skipN帧图像不编码帧的帧数;Qprev1表示前一帧的量化步长;QprevN表示前N帧最小的量化步长;N为控制I帧量化步长初始值设置的一个参数,可根据实际情况进行调整,N优选的取值为编码帧率F;Qcur表示当前帧的量化步长;IQ1和IQ2为控制I帧量化步长取值范围的参数,可根据实际情况进行调整。IQ1优选的取值范围为5-60,IQ2优选的取值范围为20-80;IW1和IW2为控制I帧预测码率取值范围的参数,可根据实际情况进行调节,IW1优选的取值范围为1.1-4,IW2优选的取值范围为1.1-4。
PQ1和PQ2为控制P帧量化步长取值范围的参数,可根据实际情况进行调整,PQ1优选的取值范围为5-50,PQ2优选的取值范围为60-120。
L控制P帧量化步长调整方法的参数,可根据实际情况进行调节,L优选的取值范围5-15;QD为控制P帧量化步长变化幅度的参数,可根据实际情况进行调节,QD优选的取值范围为4-20。
参照图3,示出本发明依据实施例,在当前图像帧为I帧时调整预测码率的方法,具体步骤如下;301、确定当前图像帧为I帧;对当前图像帧进行判断,如果是I帧则进行步骤302;如果是P帧,则转入图4所示的步骤。
302、设置Qcur=QcurN,根据Qcur计算获得当前图像帧Y、U、V三个分量的非零值个数与非零值比例,根据算式;p<=P1Mpy=TI-B1×P,Mpu=T2,MPv=T2;p>P1 Mpy=TI-B1×P,Mpu=T3,MPv=T3;获取各分量的乘数因子,利用Bpred=Yn×Mpy+Un×Mpu+Vn×MPv+MVLen+Colen,获得Bpred的值;
303、判断Bpred是否大于IW2×R/F,是则转到步骤306;否则转到步骤304;304、判断Qcur是否小于IW1×R/F,是则转到步骤305,否则转到图5示出的步骤;305、使Qcur=Qcur-1,同时更新Bpred的值,再判断是否满足Bpred小于IW1×R/F与Qcur>IQ1两个条件;是则重复步骤305,否则转到图5示出的步骤;306、使Qcur=Qcur+1,更新Bpred的值,再判断是否满足Bpred大于IW2×R/F与Qcur<IQ2两个条件;是则重复步骤306,否则转到图5示出步骤。
参照图4,示出本发明依据实施例,在当前图像帧为P帧时调整预测码率的方法,具体步骤如下;401、确定当前图像帧为P帧;对当前图像帧进行判断,如果是P帧则进行步骤402;如果时I帧,则转入图3所示的步骤。
402、设置Qcur=Qcurv1,根据Qcurv计算获得当前图像帧Y、U、V三个分量的非零值个数与非零值比例,根据算式;p<P2 Mpy=T4-B2×P,Mpu=T4-B2×P,MPv=T4-B2×P;P2=<p<P3Mpy=T5-B3×P,Mpu=T5-B3×P,MPv=T5-B3×P;P>=P3;Mpy=T6-B4×P,Mpu=T6-B4×P,MPv=T6-B4×P;获取各分量的乘数因子,再依据Bpred=Yn×Mpy+Un×Mpu+Vn×MPv+MVLen+Colen,获取Bpred的值;403、判断W是否大于M/L,是则转到404,否则转到405;404、判断是否同时满足Bpred是否大于R/F-W/F,Qcur小于PQ2且Qcur-Qcurv1小于QD三个条件,是则使Qcur=Qcur+1,更新Bpred并重复步骤404;否则转到步骤406;405、判断是否同时满足Bpred小于R/F-W+M/L,Qcur大于PQ1且Qcur-Qcurv1小于QD三个条件,是则使Qcur=Qcur-1,更新Bpred并重复步骤405;否则转到步骤406;406、判断Bpred是否小于R/F-W,是则将Qcur=Qcur-1,更新预测码率并重复步骤406,否则转到图5示出的步骤。
请参阅图5,示出本发明确定目标码率后,进行量化、编码、更新缓冲区流程图,具体步骤如下501、依据调整后的量化步长、目标码率对当前帧图像进行量化、SPIHT编码输出;502、将W更新为W+B-R/F,如更新后W小于0,则将其设置为0,并将跳帧控制参数设置为1;503、判断W是否大于M,是则W更新为W-R/F,并将skip设置skip+1,并重复步骤503,否则转到步骤504;504、将skipN更新为skip×G/F-1。
以上对本发明所提供的一种小波编码的码率控制方法,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种小波编码的码率控制方法,其特征在于,包括获取与预设量化步长相对应的当前图像帧的预测码率;如果所述预测码率不满足由缓冲区被占用的比特数、平均帧比特数、跳帧阈值和/或编码帧率组成的预设条件,调整所述量化步长,直至所述预测码率满足所述预设条件;调整后的量化步长满足预置范围时,将满足条件的预测码率作为目标码率。
2.根据权利要求1所述的方法,其特征在于,按照下述步骤获取与预设量化步长相对应的当前图像帧的预测码率统计小波系数除以预设量化步长得到的商取整后不为零的个数,作为非零值个数;当前图像帧三个分量的非零值个数与相应图像帧分量的乘数因子相乘,获得的乘积相加,再加上编码运动矢量所用的比特数与编码码流组织参数所用的比特数,获得的结果作为当前图像帧的预测码率。
3.根据权利要求2所述的方法,其特征在于,按照下述步骤预设量化步长从当前图像帧之前至少一个图像帧量化步长中选取最小的量化步长,作为当前图像帧量化步长。
4.根据权利要求3所述的方法,其特征在于,按照下述步骤获取所述分量的乘数因子非零值个数除以小波系数的个数总量为非零值比例;依据非零值比例获得分量的乘数因子。
5.根据权利要求4所述的方法,其特征在于,所述依据非零值比例获得分量的乘数因子为确定非零值比例的范围;如非零值比例小于或等于第一设定值,第一分量的乘数因子为第二设定值减去第一预设倍数的非零值比例,第二分量与第三分量的乘数因子为第三设定值;如非零值比例大于第一设定值,第一分量的乘数因子为第二设定值减去第一预设倍数的非零值比例,第二分量与第三分量的乘数因子为第四设定值。
6.根据权利要求5所述的方法,其特征在于,所述第一设定值的取值范围为0.01-0.03;第二设定值的取值范围5-15;第三设定值取值范围为4-9;第四设定值的取值范围为3-13;第一预设倍数的取值范围为2-7。
7.根据权利要求2至6任一项所述的方法,其特征在于,所述预置范围包括第五设定值到第六设定值之间的整数,所述预设条件包括预测码率在平均帧比特数的第二预设倍数倍与第三预设倍数倍之间。
8.根据权利要求7所述的方法,其特征在于,按照下述步骤调整所述量化步长,直至所述预测码率满足预设条件,调整后的量化步长满足预置范围S801、如果预测码率大于平均帧比特数的第二预设倍数倍时,转到步骤S802;如果预测码率小于平均帧比特数的第三预设倍数时,转到步骤S803;S802、将量化步长加1,更新预测码率,如更新后预测码率仍大于平均帧比特数的第二预设倍数时,且量化步长小于第五设定值时,重复步骤S802;否则完成预测码率的调整;S803、将量化步长减1,更新预测码率,如更新后的预测码率仍小于平均帧比特数的第三预设倍数倍,且量化步长大于第六设定值,则重复步骤S803,否则完成预测码率的调整。
9.根据权利要求7或8所述的方法,其特征在于,所述第二预设倍数的取值范围为1.1-4;所述第三预设倍数的取值范围为1.1-4;所述第五设定值的取值范围为20-80;所述第六设定值的取值范围为5-60。
10.根据权利要求1所述的方法,其特征在于,按照下述步骤获取与预设量化步长相对应的当前图像帧的预测码率统计小波系数运动补偿残差值除以所述量化步长得到的商取整后不为零的个数,作为非零值个数;当前帧图像三个分量的非零值个数与相应分量的乘数因子相乘,获得的乘积相加,再加上编码运动矢量所用的比特数与编码码流组织参数所用的比特数,获得的结果作为当前图像帧的预测码率。
11.根据权利要求10所述的方法,其特征在于,按照下述步骤预设量化步长取前一图像帧量化步长作为当前图像帧量化步长。
12.根据权利要求11所述的方法,其特征在于,按照下述步骤获得分量的乘数因子非零值个数除以小波系数运动补偿残差值的个数总量为非零值比例。依据非零值比例获得分量的乘数因子。
13.根据权利要求12所述的方法,其特征在于,所述依据非零值比例获得分量的乘数因子为确定非零值比例的范围;如非零值比例小于第七设定值,第一分量、第二分量与第三分量的乘数因子为第九设定值减去第四预设倍数的非零值比例;如非零值比例大于或等于第七设定值但小于第八设定值时,第一分量、第二分量与第三分量的乘数因子为第十设定值减去第五预设倍数的非零值比例;如非零值比例大于第八设定值,第一分量、第二分量与第三分量的乘数因子为第十一设定值减去第六预设倍数的非零值比例。
14.根据权利要求13所述的方法,其特征在于,所述第七设定值的取值范围为0.001-0.01;所述第八设定值的取值范围为0.01-0.09;所述第九设定值的取值范围为5-16;所述第十设定值的取值范围为6-13;所述第十一设定值的取值范围为5-14;所述第四预设倍数的取值范围为250-350;所述第五预设倍数的取值范围为20-80;所述第六预设倍数的取值范围为2-8。
15.根据权利要求10至14任一项所述的方法,其特征在于,所述预置范围包括量化步长为第十二设定值到第十三设定值之间的整数,且相邻图像帧之间量化步长的绝对值小于第十四设定值;所述预设条件包括当缓冲区已被占用的比特数小于或等于预设比例的跳帧阈值时,预测码率大于或等于平均帧比特数减去缓冲区被占用的比特数再加上所述预设比例的跳帧阈值,并且大于或等于平均帧比特数减去缓冲区被占用的比特数;当缓冲区已被占用的比特数大于所述预设比例的跳帧阈值时,预测码率小于或等于平均帧比特数减去缓冲区被占用的比特数与编码帧率的商,并且大于或等于平均帧比特数减去缓冲区被占用的比特数。
16.根据权利要求15所述的方法,其特征在于,按照下述步骤调整所述量化步长,直至所述预测码率满足预设条件,调整后的量化步长满足预置范围S1601、判断缓冲区被占用的比特数是否大于预设倍数的跳帧阈值,是则转到S1602,否则转到S1603;S1602、进一步判断是否同时满足预测码率是否大于平均帧比特数减去缓冲区被占用的比特数与编码帧率的商,量化步长小于第十三设定值且与前一图像帧差的绝对值小于第十四设定值三个条件,是则将量化步长加1,更新预测码率并重复步骤S1602;否则转到步骤S1604;S1603、判断是否同时满足预测码率小于或等于平均帧比特数减去缓冲区被占用的比特数再加上所述预设比例的跳帧阈值,量化步长大于第十二设定值且与前一图像帧量化步长差的绝对值小于第十四设定值三个条件,是则将量化步长减1,更新预测码率并重复步骤S1603;否则转到步骤S1604;S1604、判断预测码率是否小于平均帧比特数减去缓冲区被占用的比特数,是则将量化步长减1,更新预测码率并重复步骤S1604,否则完成预测码率的调整。
17.根据权利要求15或16所述的方法,其特征在于,所述第十二设定值的取值范围为5-50,所述第十三设定值的取值范围为60-120,所述第十四设定值的取值范围为4-20;所述预设比例的取值范围为1/15-1/5。
18.根据权利要求1所述的方法,其特征在于,确定目标码率之后,还包括采用不带死区的均匀标量量化方法对当前图像帧进行量化。
19.根据权利要求18所述的方法,其特征在于,还包括量化后的数值全部位平面都编码输出。
20.根据权利要求18或19所述的方法,其特征在于,还包括获取跳过不进行编码的帧数,用以调整编码帧率。
21.根据权利要求20所述的方法,其特征在于,按照下述步骤获取跳过不进行编码的帧数S2101、将缓冲被占用的比特数更新为缓冲区被占用的比特数加上当前帧编码所用的比特数减去平均帧比特数,如更新后缓冲被占用的比特数小于0,则将其设置为0,并将跳帧控制参数设置为1;S2102、判断缓冲被占用的比特数是否大于跳帧阈值,是则将缓冲区被占用的比特数更新为缓冲区被占用的比特数减去平均帧比特数的差值,并将跳帧控制参数设置加1,重复步骤S2102,否则转到步骤S2103;S2103、将跳帧控制参数乘以原始视频序列帧率,获得的乘积除以编码帧率,获得的商减去1即为跳过不进行编码的帧数。
全文摘要
本发明公开了一种小波编码的码率控制方法,包括获取与预设量化步长相对应的当前图像帧的预测码率;如果所述预测码率不满足由缓冲区被占用的比特数、平均帧比特数、跳帧阈值和/或编码帧率组成的预设条件,调整所述量化步长,直至所述预测码率满足所述预设条件;调整后的量化步长满足预置范围时,将满足条件的预测码率作为目标码率。本发明当前图像帧三个分量的非零值个数与相应图像帧分量的乘数因子相乘,获得的乘积相加,再加上编码运动矢量所用的比特数与编码码流组织参数所用的比特数,获得的结果作为当前图像帧的预测码率。本发明为当前图像帧配置准确的目标码率,使图像质量变化比较平缓,获得较好的视觉效果。
文档编号H04N7/32GK1905678SQ20061008901
公开日2007年1月31日 申请日期2006年7月28日 优先权日2006年7月28日
发明者陈小敬, 李长茂, 刘昶, 于娜 申请人:大唐微电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1