根据移动侦测结果动态调节码率的方法转让专利

申请号 : CN201711011133.9

文献号 : CN107820087B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王杰

申请人 : 济南中维世纪科技有限公司

摘要 :

本发明的根据移动侦测结果动态调节码率的方法,控制分为2个部分,一个部分是编码qp值的控制,另一个部分是编码比特率的控制;编码qp值的控制原理:由视频图像处理算法,把一帧图像输出N个图像复杂度不相等的区域模块,依据输出的每个区域的图像复杂度和区域坐标,来单独控制编码的动态qp值;每个区域的qp值是能够动态调节的;编码比特率控制原理:根据现实场景不同,分为以下3个场景:场景a:静止条件下,图像复杂度均匀;场景b:静止条件下,图像复杂度不均匀;场景c:动态条件下,图像复杂度不均匀;根据场景不同,分别对比特率做出相应的调节。本发明能够保证图像质量、控制码流大小。

权利要求 :

1.一种根据移动侦测结果动态调节码率的方法,其特征在于:

为完全保证图像质量和码率的关系,控制分为2个部分,一个部分是编码qp值的控制,另一个部分是编码比特率的控制,两部分最终共同调节编码码率;

编码qp值的控制原理:由视频图像处理算法,把一帧图像输出N个图像复杂度不相等的区域模块,依据输出的每个区域的图像复杂度和区域坐标,计算出qp值的最小值和最大值,来单独控制编码的动态qp值;某个区域场景变动时,其qp值能够动态调节,最小值≤qp值≤最大值;

编码比特率控制原理:根据现实场景不同,分为以下3个场景:

场景a:静止条件下,图像复杂度均匀;

场景b:静止条件下,图像复杂度不均匀;

场景c:动态条件下,图像复杂度不均匀;

根据场景不同,分别对比特率做出相应的调节;

(1)输出当前场景为场景a,认为图像复杂度相似,不用输出每帧N个区域,但是需要输出一帧图像的图像复杂度系数X,根据输出系数值计算出当前帧需要使用的qp值,最小qp值公式:minQP=30-X/20,最大qp值公式:maxQP=50-X/25;场景变动时,qp值动态可调,最小值≤qp值≤最大值;同时把比特率设置成1024K大小,以限制码流大小;

(2)输出当前场景为场景b,一帧内不同区域的图像复杂度差别很大,输出N个图像区域,相邻的加权值大的区域如果与加权值小的区域有重合的地方,在重合地方,加权值大的区域的qp值会覆盖掉加权值小的区域的qp值;并且每个区域分别输出图像的平均复杂度系数XS,根据输出系数值计算当前区域的需要设置的qp值,最小qp值公式:minQP=30-XS/20,最大qp值公式:maxQP=50- XS/25;场景变动时,qp值动态可调,最小值≤qp值≤最大值;根据系数值计算当前比特率值,bit=1024+5.16*( )/N,控制码流大小;XN为每个区域的复杂度;

(3)输出当前场景为场景c,一帧内不同区域的图像复杂度差别很大,输出N个图像区域,相邻的加权值大的区域如果与加权值小的区域有重合的地方,在重合地方,加权值大的区域的qp值会覆盖掉加权值小的区域的qp值;并且每个区域分别输出图像的平均复杂度系数XS,根据输出系数值计算当前区域的需要设置的qp值,最小qp值公式:minQP=28-XS/20,最大qp值公式:maxQP=52-XS/25;场景变动时,qp值动态可调,最小值≤qp值≤最大值;根据系数值计算当前比特率值,bit=2048+10.24*( )/N,控制码流大小;XN为每个区域的复杂度。

2.根据权利要求1所述的根据移动侦测结果动态调节码率的方法,其特征在于:编码qp值的控制中,视频图像处理算法,是基于海思IVE模块,即Intelligent Video Engine,是海思媒体处理芯片智能分析系统中的硬件加速模块。

3.根据权利要求1或2所述的根据移动侦测结果动态调节码率的方法,其特征在于:编码qp值的控制中,把一帧图像分成N个区域模块, 1≤N≤8。

4.根据权利要求1或2所述的根据移动侦测结果动态调节码率的方法,其特征在于:编码比特率控制中,在相对静止的条件下,图像复杂度均匀时,比特率设置成最小值1M,以保证码流大小;当移动侦测检测到有移动的状态时,码率能够达到的最大值为默认值3M,及时保证图像质量。

5.根据权利要求4所述的根据移动侦测结果动态调节码率的方法,其特征在于:编码比特率控制中,移动侦测,即运动侦测(MD),是基于海思媒体处理芯片视频侦测分析(VDA)通过检测视频的亮度变化,得出视频侦测分析结果。

6.根据权利要求1或2所述的根据移动侦测结果动态调节码率的方法,其特征在于:输出当前场景为场景a时,一帧图像的图像复杂度系数X,系数取值为0-100,值越大,复杂度越大。

7.根据权利要求1或2所述的根据移动侦测结果动态调节码率的方法,其特征在于:输出当前场景为场景b时, N个图像区域,N取值1-8内的一个整数,区域标号为S1、S2、S3……SN,并且复杂度越大,SN越大,SN作为加权值,加权值是1-N范围的整数;图像的平均复杂度系数XS,系数取值为0-100,值越大,复杂度越大。

8.根据权利要求1或2所述的根据移动侦测结果动态调节码率的方法,其特征在于:输出当前场景为场景c时, N个图像区域,N取值1-8内的一个整数,区域标号为S1、S2、S3……SN,并且复杂度越大,SN越大,SN作为加权值,加权值是1-N范围的整数;图像的平均复杂度系数XS,系数取值为0-100,值越大,复杂度越大。

说明书 :

根据移动侦测结果动态调节码率的方法

技术领域

[0001] 本发明涉及一种根据移动侦测结果动态调节码率的方法。

背景技术

[0002] 目前的H.264编码格式确定QP值后,只能根据预设的比特率限制编码数据大小。如果预设比特率较大,编码器虽然能够降低部分码率,但在保证图像质量的情况下,仍然有降低码率的空间;如果预设波特率较小,则无法保证动态环境的图像质量。所以,在一定的宽带和存储条件下,为了能够降低网络传输视频的压力和减少存储空间,我们开发了一种基于移动侦测结果,在保证图像质量的前提下,来动态调节视频码率的方法。

发明内容

[0003] 本发明为了弥补现有技术的不足,提供了一种结构简单、使用方便的根据移动侦测结果动态调节码率的方法。
[0004] 本发明是通过如下技术方案实现的:
[0005] 本发明的根据移动侦测结果动态调节码率的方法,其特征在于:为完全保证图像质量和码率的关系,控制分为2个部分,一个部分是编码qp值的控制,另一个部分是编码比特率的控制,两部分最终共同调节编码码率;
[0006] 编码qp值的控制原理:由视频图像处理算法,把一帧图像输出N个图像复杂度不相等的区域模块,依据输出的每个区域的图像复杂度和区域坐标,计算出qp值的最小值和最大值,来单独控制编码的动态qp值;某个区域场景变动时,其qp值能够动态调节,最小值≤qp值≤最大值;
[0007] 编码比特率控制原理:根据现实场景不同,分为以下3个场景:
[0008] 场景a:静止条件下,图像复杂度均匀;
[0009] 场景b:静止条件下,图像复杂度不均匀;
[0010] 场景c:动态条件下,图像复杂度不均匀;
[0011] 根据场景不同,分别对比特率做出相应的调节。
[0012] 编码qp值的控制中,视频图像处理算法,是指于海思IVE模块,即Intelligent Video Engine,是海思媒体处理芯片智能分析系统中的硬件加速模块。
[0013] 编码qp值的控制中,把一帧图像分成N个区域模块,1≤N≤8。
[0014] 编码比特率控制中,在相对静止的条件下,图像复杂度均匀时,比特率设置成最小值1M,以保证码流大小;当移动侦测检测到有移动的状态时,码率能够达到的最大值为默认值3M,及时保证图像质量。
[0015] 编码比特率控制中,移动侦测,即运动侦测(MD),是基于海思媒体处理芯片视频侦测分析(VDA)通过检测视频的亮度变化,得出视频侦测分析结果。
[0016] 根据海思IVE模块处理,输出当前场景为场景a,认为图像复杂度相似,不用输出每帧N个区域,但是需要输出一帧图像的图像复杂度系数X,系数取值为0-100,值越大,复杂度越大,根据输出系数值计算出当前帧需要使用的qp值,最小qp值公式:minQP=30-X/20,最大qp值公式:maxQP=50-X/25,场景变动时,qp值动态可调,最小值≤qp值≤最大值;同时把比特率设置成1024K大小,以限制码流大小。此时区域坐标值不用考虑,相当于输出了一个区域,这一个区域是这一帧图像。
[0017] 根据海思IVE模块处理,输出当前场景为场景b,一帧内不同区域的图像复杂度差别很大,输出N个图像区域,N取值范围为1-8内的一个整数,区域标号(即区域坐标)为S1、S2、S3……SN,并且复杂度越大,SN越大,SN作为加权值(加权值是1-N范围的整数),相邻的加权值大的区域如果与加权值小的区域有重合的地方,在重合地方,加权值大的区域的qp值会覆盖掉加权值小的区域的qp值;并且每个区域分别输出图像的平均复杂度系数XS,系数取值范围为0-100,值越大,复杂度越大,根据输出系数值计算当前区域的需要设置的qp值,最小qp值公式:minQP=30-XS/20,最大qp值公式:maxQP=50-XS/25,场景变动时,qp值动态可调,最小值≤qp值≤最大值;根据系数值计算当前比特率值,控制码流大小;XN为每个区域的复杂度。静止时比特率最小值为1M。
[0018] 根据海思IVE模块处理,输出当前场景为场景c,一帧内不同区域的图像复杂度差别很大,输出N个图像区域,N取值范围为1-8内的一个整数,并且复杂度越大,区域标号(即区域坐标)为S1、S2、S3……SN,SN越大,SN作为加权值(加权值是1-N范围的整数),相邻的加权值大的区域如果与加权值小的区域有重合的地方,在重合地方,加权值大的区域的qp值会覆盖掉加权值小的区域的qp值;并且每个区域分别输出图像的平均复杂度系数XS,系数取值为0-100,值越大,复杂度越大,根据输出系数值计算当前区域的需要设置的qp值,最小qp值公式:minQP=28-XS/20,最大qp值公式:maxQP=52-XS/25,场景变动时,qp值动态可调,最小值≤qp值≤最大值;根据系数值计算当前比特率值, 控制码流大小;XN为每个区域的复杂度。动态时比特率最大值为3M。
[0019] 海思VPSS(Video Process Sub-System)视频处理子系统,支持对一幅输入图像进行统一预处理,如去噪、去隔行等,然后再对各通道分别进行缩放、锐化等处理,最后输出多种不同分辨率的图像。
[0020] 本发明是基于海思VBR(Variable Bit Rate)可变比特率的方式编码,即允许在码率统计时间内编码码率波动,从而保证编码图像质量平稳。
[0021] 本发明的有益效果是,结构简单、使用方便,网络传输彩色视频时,在一定的宽带和存储条件下,降低网络传输压力和减少存储空间,保证图像质量,来动态调节视频码率,控制码流大小。

附图说明

[0022] 图1、2、3依次为场景a、b、c控制原理示意图。图4、5、6依次为场景a、b、c的视频一帧图像,本发明针对的是彩色图像。

具体实施方式

[0023] 附图为本发明的一种具体实施例。
[0024] 本发明的根据移动侦测结果动态调节码率的方法,为完全保证图像质量和码率的关系,控制分为2个部分,一个部分是编码qp值的控制,另一个部分是编码比特率的控制,两部分最终共同调节编码码率。
[0025] 编码qp值的控制原理:把一帧图像分成N个roi区域(感兴趣区域),每个区域的qp值是可以动态调节的,调节的方式是:依赖于海思IVE模块(IVE(Intelligent Video Engine)是海思媒体处理芯片智能分析系统中的硬件加速模块),把一帧图像输出N个图像复杂度不相等的区域模块,依据输出的每个区域的图像复杂度和区域坐标,计算出qp值的最小值和最大值,来单独控制编码的动态qp值;某个区域场景变动时,其qp值能够动态调节,最小值≤qp值≤最大值。
[0026] 编码比特率控制原理:根据现实场景不同,分为以下3个场景:
[0027] 场景a:静止条件下,图像复杂度均匀。
[0028] 场景b:静止条件下,图像复杂度不均匀。
[0029] 场景c:动态条件下,图像复杂度不均匀。
[0030] 根据场景不同,分别对比特率做出相应的调节。
[0031] 编码qp值的控制中,把一帧图像分成N个区域模块,1≤N≤8。
[0032] 在相对静止的条件下,不会触发移动侦测(运动侦测(MD),是基于海思媒体处理芯片视频侦测分析(VDA)通过检测视频的亮度变化,得出视频侦测分析结果),图像复杂度均匀时,可以把比特率设置成最小值1M大小,以保证码流大小。当移动侦测检测到有移动的状态时,码率可以提高到的最大值为默认值3M大小,能够及时保证图像质量。
[0033] 见图1,根据海思IVE模块处理,输出当前场景为场景a,可认为图像复杂度相似,可以不用输出每帧N个区域,但是需要输出一帧图像的图像复杂度系数X,系数取值为0-100,值越大,复杂度越大,根据输出系数值计算出当前帧需要使用的qp值,最小qp值公式:minQP=30-X/20,最大qp值公式:maxQP=50-X/25,场景变动时,qp值动态可调,最小值≤qp值≤最大值;同时把比特率设置成1024K大小,以限制码流大小。
[0034] 如图4可判定为场景a,图像色彩比较单一,复杂度均匀,输出整张图片的图像复杂度系数X=80,计算当前帧最小qp=30-80/20=26,最大qp=50-80/25=46.8,取整数为46(后面计算结果都为取整后的数据),比特率设置为1024K。
[0035] 见图2,根据海思IVE模块处理,输出当前场景为场景b,一帧内不同区域的图像复杂度差别很大,输出N个图像区域(N取值1-8内的一个整数),区域标号为S1、S2、S3……SN,并且复杂度越大,SN越大,SN作为加权值(加权值是1-N范围的整数),相邻的加权值大的区域如果与加权值小的区域有重合的地方,在重合部分,加权值大的区域的qp值会覆盖掉加权值小的区域的qp值;并且每个区域分别输出图像的平均复杂度系数XS,系数取值为0-100,值越大,复杂度越大,根据输出系数值计算当前区域的需要设置的qp值,由于移动侦测功能并没有被触发,使用下面的参数计算,最小qp值公式:minQP=30-XS/20,最大qp值公式:maxQP=50-XS/25,场景变动时,qp值动态可调,最小值≤qp值≤最大值;根据系数值计算当前比特率值, 控制码流大小;XN为每个区域的复杂度。
[0036] 如图5可判定为场景b,图像复杂度差别很大,如图输出了5个区域:
[0037] 标号1的区域复杂度为20,可计算出最小qp为29,最大qp取整数为50;
[0038] 标号2的区域复杂度为32,计算最小qp为28,最大qp为48;
[0039] 标号3的区域复杂度为44,计算最小qp为27,最大qp为48;
[0040] 标号4的区域复杂度为70,计算最小qp为26,最大qp为47;
[0041] 标号5的区域复杂度为95,计算最小qp为25,最大qp为46;
[0042] 最后计算当前比特率:1024+5.16*(20+32+44+70+95)/5=1293(取整);整个视频基本处于静止状态,以上数据将不再进行变动。
[0043] 见图3,根据海思IVE模块处理,输出当前场景为场景c,一帧内不同区域的图像复杂度差别很大,输出N个图像区域(N取值1-8内的一个整数),区域标号为S1、S2、S3……SN,并且复杂度越大,SN越大,SN作为加权值(加权值是1-N范围的整数),相邻的加权值大的区域如果与加权值小的区域有重合的地方,在重合部分,加权值大的区域的qp值会覆盖掉加权值小的区域的qp值;并且每个区域分别输出图像的平均复杂度系数XS,系数取值为0-100,值越大,复杂度越大,根据输出系数值计算当前区域的需要设置的qp值,移动侦测功能被触发,使用下面的参数计算,最小qp值公式:minQP=28-XS/20,最大qp值公式:maxQP=52-XS/25,场景变动时,qp值动态可调,最小值≤qp值≤最大值;根据系数值计算当前比特率值,控制码流大小;XN为每个区域的复杂度。
[0044] 如图6可判定为场景c,图像复杂度差别很大,并且是运动场景,如图输出了4个区域:
[0045] 标号1的区域复杂度为10,可计算出最小qp为27,最大qp取整数为51;
[0046] 标号2的区域复杂度为34,计算最小qp为26,最大qp为50;
[0047] 标号3的区域复杂度为56,计算最小qp为25,最大qp为49;
[0048] 标号4的区域复杂度为77,计算最小qp为24,最大qp为48;
[0049] 最后计算当前比特率:2048+10.24*(10+34+56+77)/4=2501(取整);场景为动态场景,以上数据会随着场景变化而变化。