一种帧率控制方法及相关设备技术

技术编号:24718219 阅读:28 留言:0更新日期:2020-07-01 00:41
本发明专利技术实施例公开了一种帧率控制方法及相关设备,其中方法之一包括:生成满足第一条件的各路输出视频流对应的丢帧索引表,所述第一条件为所有输出视频流总信息损失最少;根据所述各路输出视频流对应的丢帧索引表,对各路输出视频流进行帧率控制。如此,本发明专利技术实施例提供了对多路输出视频流的实时帧率控制方案,能够实现对多路输出视频流输出帧率进行控制。

【技术实现步骤摘要】
一种帧率控制方法及相关设备
本专利技术实施例涉及但不限于图像处理领域,更具体的涉及一种帧率控制方法及相关设备。
技术介绍
随着安防监控技术和多媒体技术的不断发展,监控设备被广泛应用于各个行业中,对监控设备也有了更多更复杂的需求。例如,通常情况下,视频监控芯片的视频预处理引擎(VPE,VideoPre-processEngine)需要能够同时输出多路不同分辨率、不同帧率的视频流,用于满足不同的业务需求。但是现有技术都是针对一路输出视频流进行帧率控制,对于多路输出视频流的实时帧率控制缺少方案。
技术实现思路
有鉴于此,本专利技术实施例提供了一种帧率控制方法,包括:生成满足第一条件的各路输出视频流对应的丢帧索引表,所述第一条件为所有输出视频流总信息损失最少;根据所述各路输出视频流对应的丢帧索引表,对各路输出视频流进行帧率控制。本专利技术实施例还提供了一种帧率控制方法,包括:生成各路输出视频流对应的丢帧索引表;根据所述各路输出视频流对应的丢帧索引表,对各路输出视频流进行帧率控制。本专利技术实施例还提供了一种帧率控制装置,包括:生成单元,用于生成满足第一条件的各路输出视频流对应的丢帧索引表,所述第一条件为所有输出视频流总信息损失最少;帧率控制单元,用于根据所述各路输出视频流对应的丢帧索引表,对各路输出视频流进行帧率控制。本专利技术实施例还提供了一种帧率控制装置,包括:生成单元,用于生成各路输出视频流对应的丢帧索引表;r>帧率控制单元,用于根据所述各路输出视频流对应的丢帧索引表,对各路输出视频流进行帧率控制。本专利技术实施例还提供了一种帧率控制装置,包括:软件和硬件两大部分,其中,在软件部分中,包括:丢帧索引表生成模块2,用于生成各路输出视频流对应的丢帧索引表,或者生成满足第一条件的各路输出视频流对应的丢帧索引表,所述第一条件为所有输出视频流总信息损失最少;中断检测模块3:获取硬件部分中帧同步硬件模块6上报的中断信息;中断判断模块4:判断中断是否是帧输入中断,如果是,继续执行输出控制模块5;否则返回中断检测模块3,继续获取中断信息;输出控制模块5:对有效的帧输入中断计数,并在各路输出视频流的丢帧索引表中查找相应位置的值,如果是1,则开启相应的输出通道;否则关闭相应的输出通道;在硬件部分中,包括:帧同步硬件模块6:用于检测输入视频流的场同步信号VSYNC边沿,并通过中断上报给软件部分中的中断检测模块3;输出通道使能硬件模块7:用于接收软件部分中输出控制模块5发送的各个通道开关信息,1表示打开相应的输出通道,0表示关闭相应的输出通道,根据所述各个通道开关信息实现输出或者丢弃当前帧的操作。本专利技术实施例还提供了一种视频预处理引擎VPE,包括如上述任一项所述的帧率控制装置。本专利技术实施例还提供了一种帧率控制设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一项所述帧率控制方法。本专利技术实施例还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有信息处理程序,所述信息处理程序被处理器执行时实现上述任一项所述帧率控制方法的步骤。与相关技术相比,本专利技术实施例提供了一种帧率控制方法及相关设备,其中方法之一包括:生成满足第一条件的各路输出视频流对应的丢帧索引表,所述第一条件为所有输出视频流总信息损失最少;根据所述各路输出视频流对应的丢帧索引表,对各路输出视频流进行帧率控制。如此,本专利技术实施例提供了对多路输出视频流的实时帧率控制方案,能够满足对多路输出视频流输出帧率进行控制的需求。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本专利技术技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本专利技术的技术方案,并不构成对本专利技术技术方案的限制。图1为本专利技术实施例一提供的帧率控制方法的流程示意图;图2为本专利技术实施例二提供的帧率控制方法的流程示意图;图3为本专利技术三提供的计算单路输出视频流的算子信息表的方法的流程示意图;图4为本专利技术三提供的生成单路输出视频流对应的初始丢帧索引表的方法的流程示意图;图5为本专利技术三提供的生成输出视频流总信息损失最少的条件的方法的流程示意图;图6为本专利技术实施例六提供的对第n路(chn_id==n)输出视频流进行循环移位操作的方法的流程示意图;图7为本专利技术实施例七提供的对第n路(chn_id==n)输出视频流进行帧率控制的方法的流程示意图;图8为本专利技术实施例八提供的帧率控制方法的流程示意图;图9为本专利技术实施例九提供的对第n路(chn_id==n)输出视频流对应的循环移位后的丢帧索引表或初始丢帧索引表进行错位操作的方法的流程示意图;图10为本专利技术实施例十提供的帧率控制方法的流程示意图图11为本专利技术实施例十一提供的帧率控制方法的流程示意图;图12为本专利技术实施例十二提供帧率控制装置的结构示意图;图13为本专利技术实施例十三提供的另一种帧率控制装置的结构示意图;图14为本专利技术实施例十四提供的另一种帧率控制装置的结构示意图;图15本专利技术实施例提供的VPE的使用场景的示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本专利技术的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。鉴于现有技术都是针对一路输出视频流进行帧率控制,对于多路输出视频流的实时帧率控制缺少方案。本专利技术实施例提出了一种针对多路输出视频流实时帧率控制方案,可以在不增加硬件复杂度的情况下,解决多路输出视频流输出不同帧率的需求,并且可以保证输出视频流帧率稳定,或者时域均匀,或者总的输出信息损失最少等需求。实施例一图1为本专利技术实施例一提供的帧率控制方法的流程示意图,如图1所示,该方法包括:步骤101,生成满足第一条件的各路输出视频流对应的丢帧索引表,所述第一条件为所有输出视频流总信息损失最少;步骤102,根据所述各路输出视频流对应的丢帧索引表,对各路输出视频流进行帧率控制。其中,所述丢帧索引表的长度等于输入视频流的帧率值,所述丢帧索引表的每个元素记录当前输入帧采样时间点上输出视频流是否进行丢帧操作。其中,所述生成满足第一条件的各路输出视频流对应的丢帧索引表,包括:...

【技术保护点】
1.一种帧率控制方法,包括:/n生成满足第一条件的各路输出视频流对应的丢帧索引表,所述第一条件为所有输出视频流总信息损失最少;/n根据所述各路输出视频流对应的丢帧索引表,对各路输出视频流进行帧率控制。/n

【技术特征摘要】
1.一种帧率控制方法,包括:
生成满足第一条件的各路输出视频流对应的丢帧索引表,所述第一条件为所有输出视频流总信息损失最少;
根据所述各路输出视频流对应的丢帧索引表,对各路输出视频流进行帧率控制。


2.根据权利要求1所述的方法,其特征在于,所述丢帧索引表的长度等于输入视频流的帧率值,所述丢帧索引表的每个元素记录当前输入帧采样时间点上输出视频流是否进行丢帧操作。


3.根据权利要求1所述的方法,其特征在于,所述生成满足第一条件的各路输出视频流对应的丢帧索引表,包括:
计算各路输出视频流对应的算子信息表,所述算子信息表包括标志位flag、除数div、商qot和积数mul信息;
根据各路输出视频流对应的算子信息表计算得到各路输出视频流对应的初始丢帧索引表;
判断所述各路输出视频流对应的初始丢帧索引表是否满足第一条件,如果满足,则将所述各路输出视频流的初始丢帧索引表作为所述各路输出视频流对应的丢帧索引表。


4.根据权利要求3所述的方法,其特征在于,该方法还包括:
如果不满足,则对所述各路输出视频流对应的初始丢帧索引表依次进行循环移位操作,直到生成满足第一条件的各路输出视频流对应的丢帧索引表或者对所有的输出视频流的初始丢帧索引表都进行了循环移位操作。


5.根据权利要求4所述的方法,其特征在于,该方法还包括:
如果对所有的输出视频流的初始丢帧索引表都进行了循环移位操作后仍然无法生成满足第一条件的各路输出视频流对应的丢帧索引表,则对所述各路输出视频流对应的循环移位后的丢帧索引表依次进行错位操作,直到生成满足第一条件的各路输出视频流对应的丢帧索引表;
或者,如果不满足,则直接对所述各路输出视频流对应的初始丢帧索引表依次进行错位操作,直到生成满足第一条件的各路输出视频流对应的丢帧索引表。


6.根据权利要求3所述的方法,其特征在于,所述计算各路输出视频流对应的算子信息表,包括:
计算一路输出视频流的标志位flag,包括:比较所述一路输出视频流的帧率与输入视频流的帧率和所述一路输出视频流的帧率之间的差值,如果所述一路输出视频流的帧率大于输入视频流的帧率和所述一路输出视频流的帧率之间的差值,则所述一路输出视频流的标志位flag为0;如果所述一路输出视频流的帧率小于等于输入视频流的帧率和所述一路输出视频流的帧率之间的差值,则所述一路输出视频流的标志位flag为1;
计算所述一路输出视频流的除数div,包括:当所述一路输出视频流的标志位flag为0时,将输入视频流的帧率和所述一路输出视频流的帧率之间的差值作为所述一路输出视频流的除数div;当所述一路输出视频流的标志位flag为1时,将所述一路输出视频流的帧率作为所述一路输出视频流的除数div;
计算所述一路输出视频流的商qot和积数mul,包括:所述一路输出视频流的商qot为所述输入视频流的帧率整除所述除数div得到的值,所述一路输出视频流的积数mul为所述一路输出视频流的商qot与所述所述一路输出视频流的除数div相乘得到的值;
针对除了所述一路输出视频流之外的其他路输出视频流,分别重复上述操作,直到得到各路输出视频流对应的算子信息表。


7.根据权利要求3所述的方法,其特征在于,所述根据各路输出视频流对应的算子信息表计算得到各路输出视频流对应的初始丢帧索引表,包括:
获取一路输出视频流的算子信息表;
判断所述一路输出视频流的标志位flag是否为1,当为1时,将所述一路输出视频流的原始丢帧索引表的各个元素全部初始化为0,当不为1时,将所述一路输出视频流的原始丢帧索引表的各个元素全部初始化为1;设置初始化变量cnt为1;
比较所述一路输出视频流的积数mul与所述初始化变量cnt和所述一路输出视频流的商qot的相乘结果;
如果所述一路输出视频流的积数mul小于等于所述初始化变量cnt和所述一路输出视频流的商qot的相乘结果,则将所述一路输出视频流的原始丢帧索引表作为所述一路输出视频流对应的初始丢帧索引表;
如果所述一路输出视频流的积数mul大于所述初始化变量cnt和所述一路输出视频流的商qot的相乘结果,则将所述一路输出视频流的原始丢帧索引表中所述初始化变量cnt和所述一路输出视频流的商qot的相乘结果位置的对应的元素进行取反操作,并将所述初始化变量cnt加1后,返回所述比较所述一路输出视频流的积数mul与所述初始化变量cnt和所述一路输出视频流的商qot的相乘结果,依次类推,直到得到所述一路输出视频流对应的初始丢帧索引表;
针对除了所述一路输出视频流之外的其他路输出视频流,分别重复上述操作,直到得到各路输出视频流对应的初始丢帧索引表。


8.根据权利要求1所述的方法,其特征在于,在生成满足第一条件的各路输出视频流对应的丢帧索引表之前,该方法还包括:
比较输入视频流的帧率和所有输出视频流的帧率之和;
如果输入视频流的帧率大于所有输出视频流的帧率之和,则所述第一条件为将所有输出视频流的丢帧索引表对应位置相或后的结果求和得到的求和结果等于所有输出视频流的帧率之和;
如果输入视频流的帧率小于等于所有输出视频流的帧率之和,则所述第一条件为将所有输出视频流的丢帧索引表对应位置相或后的结果求和得到的求和结果等于输入视频流的帧率。


9.根据权利要求4所述的方法,其特征在于,所述对所述各路输出视频流对应的初始丢帧索引表依次进行循环移位操作,直到生成满足第一条件的各路输出视频流对应的丢帧索引表或者对所有的输出视频流的初始丢帧索引表都进行了循环移位操作,包括:
根据各路输出视频流的帧率按从大到小的顺序对各个输出视频流进行排序;
其中,帧率越大,其通道号chn_id越小,帧率最大值的通道号chn_id=0;帧率最小值的通道号为chn_id=输出通道总数目chn_top_num-1;
根据所述排序,以第0路输出视频流(chn_id==0)的初始丢帧索引表作为基准,从第1路输出视频流(chn_id==1)的初始丢帧索引表依次开始进行循环移位操作,用一个数组val[j],j取值[0,chn_top_num],用于记录每路输出视频流的循环移位位数;
对第n(chn_id==n)路对应的初始丢帧索引表进行循环移位操作,n取值[1,chn_top_num-1]包括:
val[n]初始化为0,i初始化为n-1;
比较第n路输出视频流与第i路输出视频流的算子信息表中的商qot和标志位flag;
如果满足flag相等且qot能够整除的条件,则将第i路输出视频流的val[n]值加1后赋值给第n路输出视频流的val[n]值,第n路输出视频流的初始丢帧索引表循环移位val[n]位,判断所述循环移位后的第n路输出视频流的初始丢帧索引表是否满足第一条件,如果满足则结束循环移位操作,如果不满足则对第n+1路对应的初始丢帧索引表进行循环移位操作;
如果满足flag相等,qot不能够整除且i==0的条件,则计算两个商之间的最大公约数m,将该路视频流的val[n]值赋为m-1,第n路输出视频流的初始丢帧索引表循环移位val[n]位,判断所述循环移位后的第n路输出视频流的初始丢帧索引表是否满足第一条件,如果满足则结束循环移位操作,如果不满足则对第n+1路对应的初始丢帧索引表进行循环移位操作;
如果满足flag不相等且qot能够整除的条件,则将第i路输出视频流的val[i]直接赋值给val[n],第n路输出视频流的初始丢帧索引表循环移位val[n]位,判断所述循环移位后的第n路输出视频流的初始丢帧索引表是否满足第一条件,如果满足则结束循环移位操作,如果不满足则对第n+1路对应的初始丢帧索引表进行循环移位操作;
如果不满足下面条件至少之一,则判断i是否为0,如果不是0,则将i减1后,跳转到所述比较第n路输出视频流与第i路输出视频流的算子信息表中的商qot和标志位flag;否则开始对第n+1路对应的初始丢帧索引表进行循环移位操作:
flag相等且qot能够整除;flag相等,qot不能够整除且i==0;flag不相等且qot能够整除。


10.根据权利要求5所述的方法,其特征在于,所述对所述各路输出视频流对应的循环移位后的丢帧索引表或初始丢帧索引表依次进行错位操作,直到生成满足第一条件的各路输出视频流对应的丢帧索引表,包括:
根据各路输出视频流的帧率按从大到小的顺序对各个输出视频流进行排序;
其中,帧率越大,其通道号chn_id越小,帧率最大值的通道号chn_id=0;帧率最小值的通道号为chn_id=输出通道总数目chn_top_num-1;
根据所述排序,以第0路输出视频流(chn_id==0)的循环移位后的丢帧索引表或初...

【专利技术属性】
技术研发人员:聂霖鑫夏刚周玮许利显
申请(专利权)人:深圳市中兴微电子技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1