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

文档序号:13984705阅读:739来源:国知局
根据移动侦测结果动态调节码率的方法与流程

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



背景技术:

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



技术实现要素:

本发明为了弥补现有技术的不足,提供了一种结构简单、使用方便的根据移动侦测结果动态调节码率的方法。

本发明是通过如下技术方案实现的:

本发明的根据移动侦测结果动态调节码率的方法,其特征在于:

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

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

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

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

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

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

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

编码qp值的控制中,视频图像处理算法,是指于海思ive模块,即intelligentvideoengine,是海思媒体处理芯片智能分析系统中的硬件加速模块。

编码qp值的控制中,把一帧图像分成n个区域模块,1≤n≤8。

编码比特率控制中,在相对静止的条件下,图像复杂度均匀时,比特率设置成最小值1m,以保证码流大小;当移动侦测检测到有移动的状态时,码率能够达到的最大值为默认值3m,及时保证图像质量。

编码比特率控制中,移动侦测,即运动侦测(md),是基于海思媒体处理芯片视频侦测分析(vda)通过检测视频的亮度变化,得出视频侦测分析结果。

根据海思ive模块处理,输出当前场景为场景a,认为图像复杂度相似,不用输出每帧n个区域,但是需要输出一帧图像的图像复杂度系数x,系数取值为0-100,值越大,复杂度越大,根据输出系数值计算出当前帧需要使用的qp值,最小qp值公式:minqp=30-x/20,最大qp值公式:maxqp=50-x/25,场景变动时,qp值动态可调,最小值≤qp值≤最大值;同时把比特率设置成1024k大小,以限制码流大小。此时区域坐标值不用考虑,相当于输出了一个区域,这一个区域是这一帧图像。

根据海思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值≤最大值;根据系数值计算当前比特率值,bit=1024+5.16*()/n,控制码流大小。静止时比特率最小值为1m。

根据海思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值≤最大值;根据系数值计算当前比特率值,bit=2048+10.24*()/n,控制码流大小。动态时比特率最大值为3m。

海思vpss(videoprocesssub-system)视频处理子系统,支持对一幅输入图像进行统一预处理,如去噪、去隔行等,然后再对各通道分别进行缩放、锐化等处理,最后输出多种不同分辨率的图像。

本发明是基于海思vbr(variablebitrate)可变比特率的方式编码,即允许在码率统计时间内编码码率波动,从而保证编码图像质量平稳。

本发明的有益效果是,结构简单、使用方便,网络传输彩色视频时,在一定的宽带和存储条件下,降低网络传输压力和减少存储空间,保证图像质量,来动态调节视频码率,控制码流大小。

附图说明

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

具体实施方式

附图为本发明的一种具体实施例。

本发明的根据移动侦测结果动态调节码率的方法,为完全保证图像质量和码率的关系,控制分为2个部分,一个部分是编码qp值的控制,另一个部分是编码比特率的控制,两部分最终共同调节编码码率。

编码qp值的控制原理:把一帧图像分成n个roi区域(感兴趣区域),每个区域的qp值是可以动态调节的,调节的方式是:依赖于海思ive模块(ive(intelligentvideoengine)是海思媒体处理芯片智能分析系统中的硬件加速模块),把一帧图像输出n个图像复杂度不相等的区域模块,依据输出的每个区域的图像复杂度和区域坐标,计算出qp值的最小值和最大值,来单独控制编码的动态qp值;某个区域场景变动时,其qp值能够动态调节,最小值≤qp值≤最大值。

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

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

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

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

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

编码qp值的控制中,把一帧图像分成n个区域模块,1≤n≤8。

在相对静止的条件下,不会触发移动侦测(运动侦测(md),是基于海思媒体处理芯片视频侦测分析(vda)通过检测视频的亮度变化,得出视频侦测分析结果),图像复杂度均匀时,可以把比特率设置成最小值1m大小,以保证码流大小。当移动侦测检测到有移动的状态时,码率可以提高到的最大值为默认值3m大小,能够及时保证图像质量。

见图1,根据海思ive模块处理,输出当前场景为场景a,可认为图像复杂度相似,可以不用输出每帧n个区域,但是需要输出一帧图像的图像复杂度系数x,系数取值为0-100,值越大,复杂度越大,根据输出系数值计算出当前帧需要使用的qp值,最小qp值公式:minqp=30-x/20,最大qp值公式:maxqp=50-x/25,场景变动时,qp值动态可调,最小值≤qp值≤最大值;同时把比特率设置成1024k大小,以限制码流大小。

如图4可判定为场景a,图像色彩比较单一,复杂度均匀,输出整张图片的图像复杂度系数x=80,计算当前帧最小qp=30-80/20=26,最大qp=50-80/25=46.8,取整数为46(后面计算结果都为取整后的数据),比特率设置为1024k。

见图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值≤最大值;根据系数值计算当前比特率值,bit=1024+5.16*()/n,控制码流大小。

如图5可判定为场景b,图像复杂度差别很大,如图输出了5个区域:标号1的区域复杂度为20,可计算出最小qp为29,最大qp取整数为50;

标号2的区域复杂度为32,计算最小qp为28,最大qp为48;

标号3的区域复杂度为44,计算最小qp为27,最大qp为48;

标号4的区域复杂度为70,计算最小qp为26,最大qp为47;

标号5的区域复杂度为95,计算最小qp为25,最大qp为46;

最后计算当前比特率:1024+5.16*(20+32+44+70+95)/5=1293(取整);

整个视频基本处于静止状态,以上数据将不再进行变动。

见图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值≤最大值;根据系数值计算当前比特率值,bit=2048+10.24*()/n,控制码流大小。

如图6可判定为场景c,图像复杂度差别很大,并且是运动场景,如图输出了4个区域:

标号1的区域复杂度为10,可计算出最小qp为27,最大qp取整数为51;

标号2的区域复杂度为34,计算最小qp为26,最大qp为50;

标号3的区域复杂度为56,计算最小qp为25,最大qp为49;

标号4的区域复杂度为77,计算最小qp为24,最大qp为48;

最后计算当前比特率:2048+10.24*(10+34+56+77)/4=2501(取整);

场景为动态场景,以上数据会随着场景变化而变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1