基于队列的双缓冲AI视频传输方法及相关设备技术

技术编号:29296247 阅读:14 留言:0更新日期:2021-07-17 00:56
本发明专利技术提供了一种基于队列的双缓冲AI视频传输方法,包括:步骤S1、获取实时采集的视频流;步骤S2、将所述视频流存入第一队列缓存区,存入的同时对所述视频流进行人工智能识别,并判断是否识别出识别目标:若是,则继续将该视频流存入所述第一队列缓存区,将预设时间之前的视频流前推复制到第二队列缓存区,并同时将所述视频流存入所述第二队列缓存区,再启动将缓存进所述第二队列缓存区的该视频流通过网络传输至云端服务器;若否,则继续将该视频流仅存入所述第一队列缓存区。本发明专利技术还提供了一种视频传输系统、视频传输设备及计算机可读存储介质。与相关技术相比,采用本发明专利技术的技术方案可只传输高价值视频并保证其完整性好,且传输效率高。输效率高。输效率高。

Queue based dual buffer AI video transmission method and related equipment

【技术实现步骤摘要】
基于队列的双缓冲AI视频传输方法及相关设备


[0001]本专利技术涉及物联网
,尤其涉及一种双缓冲AI视频传输方法、视频传输系统、视频传输设备以及计算机可读存储介质。

技术介绍

[0002]目前,物联网系统应用越来越重要,其中数据传输量越来越多,在物联网技术中,如何应用视频传输为重要部分。
[0003]相关技术的物联网系统包括终端和云端服务器,其中,终端包括多个视频摄像头。终端和云端服务器通过通信连接传输大量视频数据。视频摄像头采集的实时视频数据通过数据传输到云端服务器。
[0004]然而,大量的实时视频数据传输到云端服务器,云端服务器需要巨大的存储空间,同时传输数据还需要传输带宽足够大,尤其城市级的物联网,摄像头过10万,将这些大量视频数据全部存储和传输,物联网系统将承受其存储和传输带宽成本和性能压力。现实中,视频的多数时间只是背景,传输和存储价值极小。目前已有优化方案是先采用人工智能(英文:Artificial Intelligence,英文缩写为AI)识别,通过人工智能识别到人脸、车辆等场景后再传输视频数据。然而这种方式丢失了人工智能识别前的现场,损害了视频数据的完整性,不能满足监控需要。如何将视频数据应用人工智能技术进行传输是一个需要解决的技术问题。
[0005]因此,实有必要提供一种新的方法、系统及设备来解决上述技术问题。

技术实现思路

[0006]本专利技术的目的是克服上述技术问题,提供一种可只传输高价值视频并保证其完整性好,且传输效率高的基于队列的双缓冲AI视频传输方法、视频传输系统、视频传输设备以及计算机可读存储介质。
[0007]为了实现上述目的,本专利技术提供一种基于队列的双缓冲AI视频传输方法,其应用于物联网终端,该方法包括如下步骤:
[0008]步骤S1、获取实时采集的视频流;
[0009]步骤S2、将所述视频流存入第一队列缓存区,存入的同时对所述视频流进行人工智能识别,并判断是否识别出识别目标:
[0010]若是,则继续将该视频流存入所述第一队列缓存区,将预设时间之前的视频流前推复制到第二队列缓存区,并同时将所述视频流存入所述第二队列缓存区,再启动将缓存进所述第二队列缓存区的该视频流通过网络传输至云端服务器;
[0011]若否,则继续将该视频流仅存入所述第一队列缓存区。
[0012]优选的,所述步骤S1之前,所述基于队列的双缓冲AI视频传输方法还包括如下步骤:
[0013]步骤S0、配置所述第一队列缓存区的大小为A,并将所述第一队列缓存区的头地址
和尾地址的均偏移设置为0;配置所述第二队列缓存区的大小为B,并将所述第二队列缓存区的头地址和尾地址的均偏移设置为0;设置预设时间为t;使所述第一队列缓存区及所述第二队列缓存区均与所述云端服务器通信连接;并将所述物联网终端的识别状态标志设置为false值,所述识别状态标志用于判断所述物联网终端人工智能是否识别出所述识别目标。
[0014]优选的,所述步骤S2具体包括:
[0015]步骤S21、将所述视频流存入所述第一队列缓存区,并判断所述物联网终端的视频传输标志是否为true值:若是,则继续将当前所述视频流存入至所述第二队列缓存区并将其缓存进所述第二队列缓存区后通过网络传输至云端服务器;若否,则进入步骤S22;
[0016]步骤S22、将所述视频流进行所述人工智能识别并判断是否识别出所述识别目标,若是,则将所述识别状态标志设置为true值,若否,则将所述识别状态标志设置为false值;
[0017]步骤S23、同时判断所述识别状态标志和所述视频传输标志:
[0018]若所述视频传输标志为false值,同时所述识别状态标志为false值,则返回所述步骤S21;
[0019]若所述视频传输标志为false值,同时所述识别状态标志为true值,
[0020]则将预设时间t之前的视频流前推复制到第二队列缓存区,并同时将该视频流存入所述第二队列缓存区,并将所述视频传输标志设置为true值,再启动将缓存进所述第二队列缓存区的该视频流通过网络传输至云端服务器,同时返回所述步骤S21;
[0021]若所述视频传输标志为true值,同时所述识别状态标志为false值,则进一步判断所述视频流是否正在通过网络传输至云端服务器,若是则继续进行网络传输,若否,则将所述视频传输标志设置为false值,并返回所述步骤S21。
[0022]优选的,所述步骤S23中,若所述视频传输标志为true值,同时所述识别状态标志为false值,则进一步判断所述视频流是否正在通过网络传输至云端服务器,若否,则延迟预设时间后再将所述视频传输标志设置为false值。
[0023]优选的,将所述视频流存入所述第一队列缓存区和将所述视频流存入第二队列缓存区均根据队列缓存区算法进行存入,所述队列缓存区算法应用于所述视频流中的入队、追加以及出队;
[0024]其中,所述队列缓存区包括时间队列和数据缓冲区,所述时间队列为数组,所述时间队列中的元素的结构包括时间、数据缓冲区偏移以及数据长度;所述数据缓冲区为内存空间;
[0025]应用所述队列缓存区算法的过程包括:
[0026]步骤S31、判断当前的所述视频流的视频时间是否与所述第一队列缓存区的所述时间队列队尾的时间相同:
[0027]若否,则判断为新的所述视频流,并将该视频流存入所述第一队列缓存区,
[0028]若是,则判断该视频流为正在存入的视频流,并将该视频流继续存入所述第一队列缓存区;
[0029]步骤S32、判断所述视频传输标志是否为true值,并同时判断当前的所述视频流的视频时间是否与所述第一队列缓存区的所述时间队列队尾的时间相同:
[0030]若否,则判断为新的所述视频流,并将该视频流存入所述第二队列缓存区,
[0031]若是,则判断该视频流为正在存入的视频流,并将该视频流继续存入所述第二队列缓存区。
[0032]优选的,应用所述队列缓存区算法的过程还包括:
[0033]步骤S41、缓存进所述第二队列缓存区从所述时间队列进行所述出队,将所述队首的缓冲数据复制,并将复制的缓冲数据通过网络传输至云端服务器;
[0034]步骤S42、重复所述步骤S41至所述第二队列缓存区清空。
[0035]优选的,首次启动通过网络传输中应用所述队列缓存区算法的过程中包括:
[0036]步骤S51、自所述第一队列缓存区的所述时间队列的所述队首开始,依次判断所述元素的每一固有时间是否为第一时间:若是,则停止判断,若否,则进入步骤S52,所述第一时间为大于或等于当前时间减去预设的前推时长的差值;
[0037]步骤S52、将所述第一队列缓存区的所述队首设置为判断为所述第一时间相对应的所述元素;
[0038]步骤S53、将所述第一队列缓存区进行所述出队,并将所述出队的数据在所述第二队列缓存区进行所述入队;<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于队列的双缓冲AI视频传输方法,其应用于物联网终端,其特征在于,该方法包括如下步骤:步骤S1、获取实时采集的视频流;步骤S2、将所述视频流存入第一队列缓存区,存入的同时对所述视频流进行人工智能识别,并判断是否识别出识别目标:若是,则继续将该视频流存入所述第一队列缓存区,将预设时间之前的视频流前推复制到第二队列缓存区,并同时将所述视频流存入所述第二队列缓存区,再启动将缓存进所述第二队列缓存区的该视频流通过网络传输至云端服务器;若否,则继续将该视频流仅存入所述第一队列缓存区。2.根据权利要求1所述的基于队列的双缓冲AI视频传输方法,其特征在于,所述步骤S1之前,所述基于队列的双缓冲AI视频传输方法还包括如下步骤:步骤S0、配置所述第一队列缓存区的大小为A,并将所述第一队列缓存区的头地址和尾地址的均偏移设置为0;配置所述第二队列缓存区的大小为B,并将所述第二队列缓存区的头地址和尾地址的均偏移设置为0;设置预设时间为t;使所述第一队列缓存区及所述第二队列缓存区均与所述云端服务器通信连接;并将所述物联网终端的识别状态标志设置为false值,所述识别状态标志用于判断所述物联网终端人工智能是否识别出所述识别目标。3.根据权利要求2所述的基于队列的双缓冲AI视频传输方法,其特征在于,所述步骤S2具体包括:步骤S21、将所述视频流存入所述第一队列缓存区,并判断所述物联网终端的视频传输标志是否为true值:若是,则继续将当前所述视频流存入至所述第二队列缓存区并将其缓存进所述第二队列缓存区后通过网络传输至云端服务器;若否,则进入步骤S22;步骤S22、将所述视频流进行所述人工智能识别并判断是否识别出所述识别目标,若是,则将所述识别状态标志设置为true值,若否,则将所述识别状态标志设置为false值;步骤S23、同时判断所述识别状态标志和所述视频传输标志:若所述视频传输标志为false值,同时所述识别状态标志为false值,则返回所述步骤S21;若所述视频传输标志为false值,同时所述识别状态标志为true值,则将预设时间t之前的视频流前推复制到第二队列缓存区,并同时将该视频流存入所述第二队列缓存区,并将所述视频传输标志设置为true值,再启动将缓存进所述第二队列缓存区的该视频流通过网络传输至云端服务器,同时返回所述步骤S21;若所述视频传输标志为true值,同时所述识别状态标志为false值,则进一步判断所述视频流是否正在通过网络传输至云端服务器,若是则继续进行网络传输,若否,则将所述视频传输标志设置为false值,并返回所述步骤S21。4.根据权利要求3所述的基于队列的双缓冲AI视频传输方法,其特征在于,所述步骤S23中,若所述视频传输标志为true值,同时所述识别状态标志为false值,则进一步判断所述视频流是否正在通过网络传输至云端服务器,若否,则延迟预设时间后再将所述视频传输标志设置为false值。5.根据权利要求3所述的基于队列的双缓冲AI视频传输方法,其特征在于,将所述视...

【专利技术属性】
技术研发人员:江天捷刘能曾富来
申请(专利权)人:合安科技技术有限公司
类型:发明
国别省市:

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

1