数据包的发送方法及装置、数据包的处理方法及装置与流程

专利2022-06-29  105


本发明涉及数据处理
技术领域
,具体而言,涉及一种数据包的发送方法及装置、数据包的处理方法及装置。
背景技术
:目前,网络摄像机(ipcamera,简称ipc)进行智能事件抓图时,主要通过以下的方法进行:当监控场景触发智能事件时,如出现区域入侵报警时,ipc会抓取一张完整的全景图像片,并从全景图像片中抠取触发这个事件的目标图片,这个目标图片可以是人或物,可以是多个,每个目标一张图片。全景图像和目标图分别进行特定编码后(如jpeg),通过网络传输给服务器或网络硬盘摄像机(networkvideorecorde,简称为nvr)。ipc进行智能事件抓图时,由于要抓全景图像和多个目标图,并进行jpeg编码和网络传输,会对ipc的硬件性能造成较大压力,对ipc的内存空间、jpeg编码处理队列、cpu、网络传输带宽等均有一定的消耗,造成ipc的硬件成本过高。针对相关技术中,ipc进行智能事件抓图时需要对全景图像和多个目标图进行处理,导致ipc的硬件性能压力过大的问题,目前尚未有完善的解决办法。技术实现要素:本申请实施例提供了一种数据包的发送方法及装置、数据包的处理方法及装置,以至少解决相关技术中ipc进行智能事件抓图时需要对全景图像和多个目标图进行处理,导致ipc的硬件性能压力过大的问题。根据本申请的一个实施例,提供了一种数据包的发送方法,包括:获取全景图像以及所述全景图像中目标区域;获取网络摄像机ipc设备的状态类型,其中,所述ipc设备的状态类型通过以下至少之一的参数确定:所述ipc设备的cpu状态参数、所述ipc设备的内存状态参数、所述ipc设备的编码状态参数;根据所述ipc设备的状态类型生成不同类型的数据包,其中,所述数据包中包括:所述全景图像对应的编码数据和/或所述目标区域对应的编码数据;发送所述数据包。可选地,所述获取网络摄像机ipc设备的状态类型之前,所述方法还包括以下至少之一:获取所述ipc设备的cpu状态参数,其中,当预设时间内所述cpu处于空闲状态的时间比例满足第一阈值时,确定所述ipc设备的cpu状态为空闲状态,否则,确定所述ipc设备的cpu状态为非空闲状态;获取所述ipc设备的内存状态参数,其中,当所述ipc设备的剩余内存空间大于当前所述全景图像以及所述目标区域编码所需空间时,确定所述ipc设备的内存状态为空闲状态,否则,确定所述ipc设备的内存状态为非空闲状态;获取所述ipc设备的编码状态参数,其中,若当前等待编码处理的消息队列的长度小于或等于第二阈值时,确定所述ipc设备的编码状态为空闲状态,否则,确定所述ipc设备的编码状态为非空闲状态。可选地,获取网络摄像机ipc设备的状态类型包括:根据所述ipc设备的cpu状态参数、所述ipc设备的内存状态参数以及所述ipc设备的编码状态参数确定所述ipc设备的状态类型。可选地,所述根据所述ipc设备的cpu状态参数、所述ipc设备的内存状态参数以及所述ipc设备的编码状态参数确定所述ipc设备的状态类型包括:当所述ipc设备的cpu状态为空闲状态、且所述ipc设备的内存状态为空闲状态、且所述ipc设备的编码状态为空闲状态时,确定所述ipc设备的状态类型为第一状态;当所述ipc设备的内存状态为空闲状态、且所述ipc设备的cpu状态为非空闲状态时,确定所述ipc设备的状态类型为第二状态;当所述ipc设备的内存为空闲状态、且所述ipc设备的编码状态为非空闲状态时,确定所述ipc设备的状态类型为第三状态;当所述ipc设备的内存状态为非空闲状态时,确定所述ipc设备的状态类型为第四状态。可选地,所述根据所述ipc设备的状态类型生成不同类型的数据包,包括:当所述ipc设备的状态类型为第一状态时,对所述全景图像进行抠图,抠出目标区域,并对所述全景图像和所述目标区域分别编码,将所述全景图像和所述目标区域对应的编码数据生成第一数据包,并标记所述第一数据包为第一类型数据包;当所述ipc设备的状态类型为第二状态或第三状态时,对所述全景图像进行抠图,仅对所述全景图像进行编码,将所述全景图像对应的编码数据和所述目标区域的坐标信息生成第二数据包,并标记所述第二数据包为第二类型数据包,其中,所述目标区域的坐标信息包括所述目标区域的轮廓上每一个点对应的坐标信息;当所述ipc设备的状态类型为第四状态时,对所述全景图像进行抠图,仅对所述目标区域进行编码,将所述目标区域对应的编码数据以及所述目标区域的编码时间戳信息生成第三数据包,并标记所述第三数据包为第三类型数据包。根据本申请的另一个实施例,还提供了一种数据包的处理方法,包括:接收网络摄像机ipc设备发送的数据包,其中,所述数据包中包括:全景图像对应的编码数据和/或所述全景图像中目标区域对应的编码数据;获取所述数据包的类型,其中,所述数据包的类型与所述ipc设备的状态类型相对应,所述ipc设备的状态类型通过以下至少之一的参数确定:所述ipc设备的cpu状态参数、所述ipc设备的内存状态参数、所述ipc设备的编码状态参数;根据所述数据包的类型对所述数据包进行解码处理。可选地,根据所述数据包的类型对所述数据包进行解码处理包括:当所述数据包为第一类型数据包时,从所述第一类型数据包中获取所述全景图像对应的编码数据和所述目标区域对应的编码数据并解码,得到所述全景图像和所述目标区域对应的图像;当所述数据包为第二类型的数据包时,从所述第二类型的数据包中获取所述全景图像对应的编码数据并解码,得到所述全景图像,根据所述第二类型的数据包中携带的所述目标区域对应的坐标信息对所述全景图像进行抠图,得到所述目标区域对应的图像;当所述数据包为第三类型的数据包时,从所述第三类型的数据包中获取所述目标区域对应的编码数据并解码,得到所述目标区域对应的图像,根据所述第三类型数据包中携带的编码时间戳搜索发送所述第三类型数据包的通道中的缓存队列与硬盘录像文件,获取与所述编码时间戳最接近的一帧编码数据并解码,得到所述全景图像。可选地,第一类型数据包对应的所述ipc设备的状态参数为:所述ipc设备的cpu状态为空闲状态、且所述ipc设备的内存状态为空闲状态、且所述ipc设备的编码状态为空闲状态;第二类型数据包对应的所述ipc设备的状态参数为:所述ipc设备的内存状态为空闲状态、且所述ipc设备的cpu状态为非空闲状态,或,所述ipc设备的内存状态为空闲状态、且所述ipc设备的编码状态为非空闲状态;第三类型数据包对应的所述ipc设备的状态参数为:所述ipc设备的内存状态为非空闲状态。根据本申请的另一个实施例,还提供了一种数据包的发送装置,包括:第一获取模块,用于获取全景图像以及所述全景图像中目标区域;第二获取模块,用于获取网络摄像机ipc设备的状态类型,其中,所述ipc设备的状态类型通过以下至少之一的参数确定:所述ipc设备的cpu状态参数、所述ipc设备的内存状态参数、所述ipc设备的编码状态参数;生成模块,用于根据所述ipc设备的状态类型生成不同类型的数据包,其中,所述数据包中包括:所述全景图像对应的编码数据和/或所述目标区域对应的编码数据;发送模块,用于发送所述数据包。可选地,所述第二获取模块包括:第一获取单元,用于获取所述ipc设备的cpu状态参数,其中,当预设时间内所述cpu处于空闲状态的时间比例满足第一阈值时,确定所述ipc设备的cpu状态为空闲状态,否则,确定所述ipc设备的cpu状态为非空闲状态;第二获取单元,用于获取所述ipc设备的内存状态参数,其中,当所述ipc设备的剩余内存空间大于当前所述全景图像以及所述目标区域编码所需空间时,确定所述ipc设备的内存状态为空闲状态,否则,确定所述ipc设备的内存状态为非空闲状态;第三获取单元,用于获取所述ipc设备的编码状态参数,其中,若当前等待编码处理的消息队列的长度小于或等于第二阈值时,确定所述ipc设备的编码状态为空闲状态,否则,确定所述ipc设备的编码状态为非空闲状态。可选地,所述装置还包括:确定模块,用于根据所述ipc设备的cpu状态参数、所述ipc设备的内存状态参数以及所述ipc设备的编码状态参数确定所述ipc设备的状态类型。可选地,所述确定模块包括:第一确定单元,用于当所述ipc设备的cpu状态为空闲状态、且所述ipc设备的内存状态为空闲状态、且所述ipc设备的编码状态为空闲状态时,确定所述ipc设备的状态类型为第一状态;第二确定单元,用于当所述ipc设备的内存状态为空闲状态、且所述ipc设备的cpu状态为非空闲状态时,确定所述ipc设备的状态类型为第二状态;第三确定单元,用于当所述ipc设备的内存为空闲状态、且所述ipc设备的编码状态为非空闲状态时,确定所述ipc设备的状态类型为第三状态;第四确定单元,用于当所述ipc设备的内存状态为非空闲状态时,确定所述ipc设备的状态类型为第四状态。可选地,所述生成模块包括:第一生成单元,用于当所述ipc设备的状态类型为第一状态时,对所述全景图像进行抠图,抠出目标区域,并对所述全景图像和所述目标区域分别编码,将所述全景图像和所述目标区域对应的编码数据生成第一数据包,并标记所述第一数据包为第一类型数据包;第二生成单元,用于当所述ipc设备的状态类型为第二状态或第三状态时,对所述全景图像进行抠图,仅对所述全景图像进行编码,将所述全景图像对应的编码数据和所述目标区域的坐标信息生成第二数据包,并标记所述第二数据包为第二类型数据包,其中,所述目标区域的坐标信息包括所述目标区域的轮廓上每一个点对应的坐标信息;第三生成单元,用于当所述ipc设备的状态类型为第四状态时,对所述全景图像进行抠图,仅对所述目标区域进行编码,将所述目标区域对应的编码数据以及所述目标区域的编码时间戳信息生成第三数据包,并标记所述第三数据包为第三类型数据包。根据本申请的另一个实施例,还提供了一种数据包的处理装置,包括:接收模块,用于接收网络摄像机ipc设备发送的数据包,其中,所述数据包中包括:全景图像对应的编码数据和/或所述全景图像中目标区域对应的编码数据;第三获取模块,用于获取所述数据包的类型,其中,所述数据包的类型与所述ipc设备的状态类型相对应,所述ipc设备的状态类型通过以下至少之一的参数确定:所述ipc设备的cpu状态参数、所述ipc设备的内存状态参数、所述ipc设备的编码状态参数;处理模块,用于根据所述数据包的类型对所述数据包进行解码处理。可选地,处理模块包括:第一处理单元,用于当所述数据包为第一类型数据包时,从所述第一类型数据包中获取所述全景图像对应的编码数据和所述目标区域对应的编码数据并解码,得到所述全景图像和所述目标区域对应的图像;第二处理单元,用于当所述数据包为第二类型的数据包时,从所述第二类型的数据包中获取所述全景图像对应的编码数据并解码,得到所述全景图像,根据所述第二类型的数据包中携带的所述目标区域对应的坐标信息对所述全景图像进行抠图,得到所述目标区域对应的图像;第三处理单元,用于当所述数据包为第三类型的数据包时,从所述第三类型的数据包中获取所述目标区域对应的编码数据并解码,得到所述目标区域对应的图像,根据所述第三类型数据包中携带的编码时间戳搜索发送所述第三类型数据包的通道中的缓存队列与硬盘录像文件,获取与所述编码时间戳最接近的一帧编码数据并解码,得到所述全景图像。可选地,第一类型数据包对应的所述ipc设备的状态参数为:所述ipc设备的cpu状态为空闲状态、且所述ipc设备的内存状态为空闲状态、且所述ipc设备的编码状态为空闲状态;第二类型数据包对应的所述ipc设备的状态参数为:所述ipc设备的内存状态为空闲状态、且所述ipc设备的cpu状态为非空闲状态,或,所述ipc设备的内存状态为空闲状态、且所述ipc设备的编码状态为非空闲状态;第三类型数据包对应的所述ipc设备的状态参数为:所述ipc设备的内存状态为非空闲状态。根据本申请的另一个实施例,还提供了一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。根据本申请的另一个实施例,还提供了一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。通过本申请实施例,获取全景图像以及全景图像中目标区域;获取网络摄像机ipc设备的状态类型,根据ipc设备的状态参数生成包含全景图像对应的编码数据的数据包,或包含目标区域对应的编码数据的数据包,或同时包含全景图像对应的编码数据以及目标区域对应的编码数据的数据包,并发送生成的数据包,解决了相关技术中,ipc进行智能事件抓图时需要对全景图像和多个目标图进行处理,导致ipc的硬件性能压力过大的问题,可以根据ipc设备的状态参数分类别处理和传输对应的数据包,有效降低了ipc的硬件性能压力。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据本申请实施例一种可选的数据包的发送方法的硬件环境示意图;图2是根据本申请实施例中一种可选的数据包的发送方法的流程图;图3是根据本申请实施例中一种可选的数据包的处理方法的流程图;图4是根据本申请实施例的一种可选的ipc编码流程图;图5是根据本申请实施例的一种可选的资源等级判断逻辑流程图;图6是根据本申请实施例的一种可选的nvr端处理流程图;图7是根据本申请实施例的一种可选的c类抓图处理流程图;图8是根据本申请实施例的一种可选的数据包的发送装置的结构框图;图9是根据本申请实施例的一种可选的数据包的处理装置的结构框图;图10是根据本申请实施例的一种可选的电子装置结构示意图。具体实施方式下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。本申请实施例提供了一种数据包的发送方法。图1是根据本发明实施例一种可选的数据包的发送方法的硬件环境示意图,如图1所示,网络摄像机(ipcamera,简称ipc)进行智能事件抓图时,主要通过以下的方法进行:当监控场景触发智能事件时,如出现区域入侵报警时,ipc会抓取一张完整的全景图片,并从全景图片中抠取触发这个事件的目标图片,这个目标图片可以是人或物,可以是多个,每个目标一张图片。全景图和目标图分别进行特定编码后(如jpeg),进行网络传输给服务器或网络视频录像机(networkvideorecorder,简称为nvr)。nvr是网络视频监控系统的存储转发部分,nvr与视频编码器或网络摄像机协同工作,完成视频的录像、存储及转发功能。本申请实施例提供了一种数据包的发送方法。图2是根据本申请实施例中一种可选的数据包的发送方法的流程图,如图2所示,该方法包括:步骤s202,获取全景图像以及全景图像中目标区域;步骤s204,获取网络摄像机ipc设备的状态类型,其中,ipc设备的状态类型通过以下至少之一的参数确定:ipc设备的cpu状态参数、ipc设备的内存状态参数、ipc设备的编码状态参数;步骤s206,根据ipc设备的状态类型生成不同类型的数据包,其中,数据包中包括:全景图像对应的编码数据和/或目标区域对应的编码数据;步骤s208,发送数据包。通过上述方法,获取全景图像以及全景图像中目标区域;获取网络摄像机ipc设备的状态类型,根据ipc设备的状态参数生成包含全景图像对应的编码数据的数据包,或包含目标区域对应的编码数据的数据包,或同时包含全景图像对应的编码数据以及目标区域对应的编码数据的数据包,并发送生成的数据包,解决了相关技术中,ipc进行智能事件抓图时需要对全景图像和多个目标图进行处理,导致ipc的硬件性能压力过大的问题,可以根据ipc设备的状态参数分类别处理和传输对应的数据包,有效降低了ipc的硬件性能压力。ipc进行智能事件抓图时,由于要抓全景图和多个目标图,并进行jpeg编码和网络传输,对ipc的硬件性能造成压力,对ipc的内存、jpeg编码、cpu、网络传输带宽等有一定的消耗,造成ipc的硬件方案成本一定的上升。可以通过以下方案获取ipc设备的状态参数,确定ipc设备的状态类型,根据ipc设备的状态类型生成不同类型的数据包。可选地,获取网络摄像机ipc设备的状态类型之前,所述方法还包括以下至少之一:获取所述ipc设备的cpu状态参数,其中,当预设时间内所述cpu处于空闲状态的时间比例满足第一阈值时,确定所述ipc设备的cpu状态为空闲状态,否则,确定所述ipc设备的cpu状态为非空闲状态;获取所述ipc设备的内存状态参数,其中,当所述ipc设备的剩余内存空间大于当前所述全景图像以及所述目标区域编码所需空间时,确定所述ipc设备的内存状态为空闲状态,否则,确定所述ipc设备的内存状态为非空闲状态;获取所述ipc设备的编码状态参数,其中,若当前等待编码处理的消息队列的长度小于或等于第二阈值时,确定所述ipc设备的编码状态为空闲状态,否则,确定所述ipc设备的编码状态为非空闲状态。可选地,获取网络摄像机ipc设备的状态类型,包括:根据所述ipc设备的cpu状态参数、所述ipc设备的内存状态参数以及所述ipc设备的编码状态参数确定所述ipc设备的状态类型。可选地,所述根据所述ipc设备的cpu状态参数、所述ipc设备的内存状态参数以及所述ipc设备的编码状态参数确定所述ipc设备的状态类型包括:当所述ipc设备的cpu状态为空闲状态、且所述ipc设备的内存状态为空闲状态、且所述ipc设备的编码状态为空闲状态时,确定所述ipc设备的状态类型为第一状态;当所述ipc设备的内存状态为空闲状态、且所述ipc设备的cpu状态为非空闲状态时,确定所述ipc设备的状态类型为第二状态;当所述ipc设备的内存为空闲状态、且所述ipc设备的编码状态为非空闲状态时,确定所述ipc设备的状态类型为第三状态;当所述ipc设备的内存状态为非空闲状态时,确定所述ipc设备的状态类型为第四状态。可选地,所述根据所述ipc设备的状态类型生成不同类型的数据包包括:当所述ipc设备的状态类型为第一状态时,对所述全景图像进行抠图,抠出目标区域,并对所述全景图像和所述目标区域分别编码,将所述全景图像和所述目标区域对应的编码数据生成第一数据包,并标记所述第一数据包为第一类型数据包;当所述ipc设备的状态类型为第二状态或第三状态时,对所述全景图像进行抠图,仅对所述全景图像进行编码,将所述全景图像对应的编码数据和所述目标区域的坐标信息生成第二数据包,并标记所述第二数据包为第二类型数据包,其中,所述目标区域的坐标信息包括所述目标区域的轮廓上每一个点对应的坐标信息;当所述ipc设备的状态类型为第四状态时,对所述全景图像进行抠图,仅对所述目标区域进行编码,将所述目标区域对应的编码数据以及所述目标区域的编码时间戳信息生成第三数据包,并标记所述第三数据包为第三类型数据包。根据本申请的另一个实施例,还提供了一种数据包的处理方法。图3是根据本申请实施例中一种可选的数据包的处理方法的流程图,如图3所示,该方法包括:步骤s302,接收网络摄像机ipc设备发送的数据包,其中,数据包中包括:全景图像对应的编码数据和/或全景图像中目标区域对应的编码数据;步骤s304,获取数据包的类型,其中,数据包的类型与ipc设备的状态类型相对应,ipc设备的状态类型通过以下至少之一的参数确定:ipc设备的cpu状态参数、ipc设备的内存状态参数、ipc设备的编码状态参数;步骤s306,根据数据包的类型对数据包进行解码处理。可选地,根据所述数据包的类型对所述数据包进行解码处理包括:当所述数据包为第一类型数据包时,从所述第一类型数据包中获取所述全景图像对应的编码数据和所述目标区域对应的编码数据并解码,得到所述全景图像和所述目标区域对应的图像;当所述数据包为第二类型的数据包时,从所述第二类型的数据包中获取所述全景图像对应的编码数据并解码,得到所述全景图像,根据所述第二类型的数据包中携带的所述目标区域对应的坐标信息对所述全景图像进行抠图,得到所述目标区域对应的图像;当所述数据包为第三类型的数据包时,从所述第三类型的数据包中获取所述目标区域对应的编码数据并解码,得到所述目标区域对应的图像,根据所述第三类型数据包中携带的编码时间戳搜索发送所述第三类型数据包的通道中的缓存队列与硬盘录像文件,获取与所述编码时间戳最接近的一帧编码数据并解码,得到所述全景图像。可选地,第一类型数据包对应的所述ipc设备的状态参数为:所述ipc设备的cpu状态为空闲状态、且所述ipc设备的内存状态为空闲状态、且所述ipc设备的编码状态为空闲状态;第二类型数据包对应的所述ipc设备的状态参数为:所述ipc设备的内存状态为空闲状态、且所述ipc设备的cpu状态为非空闲状态,或,所述ipc设备的内存状态为空闲状态、且所述ipc设备的编码状态为非空闲状态;第三类型数据包对应的所述ipc设备的状态参数为:所述ipc设备的内存状态为非空闲状态。图4是根据本申请实施例的一种可选的ipc编码流程图,如图4所示,当ipc触发智能事件后,ipc依次做如下动作:1、抓取全景图,并得到各个目标区域坐标及目标个数。2、判断当前的jpeg编码可用资源情况:已抓图待编码队列长度、cpu剩余、内存剩余大小,根据不同的资源剩余情况进行资源剩余情况进行分级:a级(资源空闲);b级(资源紧张);c级(资源不足)。3、如第2步判断a资源都充足,则进行全景图抠图,抠出目标区域,并进行分别编码,同时对全景图进行编码,并通过专有通信协议发送给nvr,通信协议字段中标记为a级的处理方式。整个ipc流程结束。4、如第2步判断b资源紧张,对全景图进抠图,仅对全景进行编码,通过专有通信协议发送给nvr,通信协议字段中标记为b级的处理方式,并且协议中写入目标区域的坐标信息。整个ipc流程结束。5、如第2步判断c资源不足,对全景图进抠图,仅对目标区域进行编码,通过专有通信协议发送给nvr,协议字段中记录为c级的处理方式毫秒级精度的ipc当前编码时间戳,整个ipc流程结束。图5是根据本申请实施例的一种可选的资源等级判断逻辑流程图,如图5所示,资源等级判断逻辑如下:首先对cpu/内存/编码性能状态做如下定义:cpu空闲:近10秒的cpuidle均值5%以上;内存空闲:当前剩余内存大于对此次全景图以及目标图的编码需求;抓图编码空闲:并且当前待抓图编码处理队列长度小于等于2。a级(资源充足,相当于前述第一状态类型)条件:cpu空闲&&内存空闲&&抓图编码空闲b级(资源紧张,相当于前述第二和第三状态类型)条件:内存空闲&&(非cpu空闲||非抓图编码空闲)c级(资源不足,相当于前述第四状态类型)条件:不满足a级和b级的其他所有情况。ipc送抓图码流的与nvr(或服务器)通信协议约定:ipc送抓图码流数据给nvr时遵循一种特定协议,每次ipc发送抓图数据时会遵循该协议规定的数据包格式,通过该协议,nvr能够获取到抓图数据,并从包头中解析出该次抓图的附带信息。根据本提案的方法,需要再通信协议的包头字段中,添加如下附加信息:抓图处理类型、抓图附加信息。针对ipc三种资源等级的不同抓图处理方式,协议字段的填写方式如下:抓图处理类型抓图附加信息说明a类空对应ipca级处理方式b类目标个数,及个目标区域坐标对应ipcb级处理方式c类编码时间戳对应ipcc级处理方式nvr端的处理流程:nvr端需要同时兼容a、b、c类抓图数据处理,最终得到全景图与目标图。图6是根据本申请实施例的一种可选的nvr端处理流程图,如图6所示,总体处理流程如下:a类抓图处理流程:直接从抓图数据包中,得到全景图片码流与目标图片码流;调用nvr解码器,对全景图片码流与目标图片码流进行解码,得到全景图片与目标图片。b类抓图处理流程:从抓图数据包中提取全景图片码流并解码;根据目标坐标信息,从全景图片中抠出目标图片,最终得到全景图与目标图。图7是根据本申请实施例的一种可选的c类抓图处理流程图,如图7所示,包括以下步骤:1)提取目标图片码流并解码,获取到目标图片;2)根据提取到的编码时间戳,搜索该通道的主码流缓存队列与硬盘录像文件,找到编码时间戳最接近的一帧;3)对该帧码流进行解码,得到全景图片。本方案较传统智能事件抓图方案,具有如下优点:性能自适应,充分利用ipc剩余性能:能根据ipc自身的性能剩余情况,采用了a、b、c三中不同的抓图处理方式,在保证其他竞争业务不影响的前提下,最大程度的利用了ipc的剩余可用性能,完成全景图与目标图相关信息的发送。尽可能的让ipc完成更多的步骤,节省nvr端的消耗。相同性能消耗下,多抓一张全景图:a、b、c三中处理方式中,c的处理方法大大降低了ipc抓图消耗,同样的ipc性能消耗,能够多一张全景图的抓取。ipc硬件成本下降:采用本方案,能够较明显的节省抓图性能要求,能在较低端的一些芯片上也能实现全景图、目标图的同时抓取,降低了ipc的硬件成本。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。根据本申请实施例的另一个方面,还提供了一种用于实施上述数据包的发送方法的数据包的发送装置。图8是根据本申请实施例的一种可选的数据包的发送装置的结构框图,如图8所示,该装置包括:第一获取模块802,用于获取全景图像以及所述全景图像中目标区域;第二获取模块804,用于获取网络摄像机ipc设备的状态类型,其中,所述ipc设备的状态类型通过以下至少之一的参数确定:所述ipc设备的cpu状态参数、所述ipc设备的内存状态参数、所述ipc设备的编码状态参数;生成模块806,用于根据所述ipc设备的状态类型生成不同类型的数据包,其中,所述数据包中包括:所述全景图像对应的编码数据和/或所述目标区域对应的编码数据;发送模块808,用于发送所述数据包。可选地,所述第二获取模块804包括:第一获取单元,用于获取所述ipc设备的cpu状态参数,其中,当预设时间内所述cpu处于空闲状态的时间比例满足第一阈值时,确定所述ipc设备的cpu状态为空闲状态,否则,确定所述ipc设备的cpu状态为非空闲状态;第二获取单元,用于获取所述ipc设备的内存状态参数,其中,当所述ipc设备的剩余内存空间大于当前所述全景图像以及所述目标区域编码所需空间时,确定所述ipc设备的内存状态为空闲状态,否则,确定所述ipc设备的内存状态为非空闲状态;第三获取单元,用于获取所述ipc设备的编码状态参数,其中,若当前等待编码处理的消息队列的长度小于或等于第二阈值时,确定所述ipc设备的编码状态为空闲状态,否则,确定所述ipc设备的编码状态为非空闲状态。可选地,所述装置还包括:确定模块,用于根据所述ipc设备的cpu状态参数、所述ipc设备的内存状态参数以及所述ipc设备的编码状态参数确定所述ipc设备的状态类型。可选地,所述确定模块包括:第一确定单元,用于当所述ipc设备的cpu状态为空闲状态、且所述ipc设备的内存状态为空闲状态、且所述ipc设备的编码状态为空闲状态时,确定所述ipc设备的状态类型为第一状态;第二确定单元,用于当所述ipc设备的内存状态为空闲状态、且所述ipc设备的cpu状态为非空闲状态时,确定所述ipc设备的状态类型为第二状态;第三确定单元,用于当所述ipc设备的内存为空闲状态、且所述ipc设备的编码状态为非空闲状态时,确定所述ipc设备的状态类型为第三状态;第四确定单元,用于当所述ipc设备的内存状态为非空闲状态时,确定所述ipc设备的状态类型为第四状态。可选地,所述生成模块包括:第一生成单元,用于当所述ipc设备的状态类型为第一状态时,对所述全景图像进行抠图,抠出目标区域,并对所述全景图像和所述目标区域分别编码,将所述全景图像和所述目标区域对应的编码数据生成第一数据包,并标记所述第一数据包为第一类型数据包;第二生成单元,用于当所述ipc设备的状态类型为第二状态或第三状态时,对所述全景图像进行抠图,仅对所述全景图像进行编码,将所述全景图像对应的编码数据和所述目标区域的坐标信息生成第二数据包,并标记所述第二数据包为第二类型数据包,其中,所述目标区域的坐标信息包括所述目标区域的轮廓上每一个点对应的坐标信息;第三生成单元,用于当所述ipc设备的状态类型为第四状态时,对所述全景图像进行抠图,仅对所述目标区域进行编码,将所述目标区域对应的编码数据以及所述目标区域的编码时间戳信息生成第三数据包,并标记所述第三数据包为第三类型数据包。根据本申请实施例的另一个方面,还提供了一种用于实施上述数据包的处理方法的数据包的处理装置。图9是根据本申请实施例的一种可选的数据包的处理装置的结构框图,如图9所示,该装置包括:接收模块902,用于接收网络摄像机ipc设备发送的数据包,其中,所述数据包中包括:全景图像对应的编码数据和/或所述全景图像中目标区域对应的编码数据;第三获取模块904,用于获取所述数据包的类型,其中,所述数据包的类型与所述ipc设备的状态类型相对应,所述ipc设备的状态类型通过以下至少之一的参数确定:所述ipc设备的cpu状态参数、所述ipc设备的内存状态参数、所述ipc设备的编码状态参数;处理模块906,用于根据数据包的类型对数据包进行解码处理。可选地,处理模块包括:第一处理单元,用于当所述数据包为第一类型数据包时,从所述第一类型数据包中获取所述全景图像对应的编码数据和所述目标区域对应的编码数据并解码,得到所述全景图像和所述目标区域对应的图像;第二处理单元,用于当所述数据包为第二类型的数据包时,从所述第二类型的数据包中获取所述全景图像对应的编码数据并解码,得到所述全景图像,根据所述第二类型的数据包中携带的所述目标区域对应的坐标信息对所述全景图像进行抠图,得到所述目标区域对应的图像;第三处理单元,用于当所述数据包为第三类型的数据包时,从所述第三类型的数据包中获取所述目标区域对应的编码数据并解码,得到所述目标区域对应的图像,根据所述第三类型数据包中携带的编码时间戳搜索发送所述第三类型数据包的通道中的缓存队列与硬盘录像文件,获取与所述编码时间戳最接近的一帧编码数据并解码,得到所述全景图像。可选地,第一类型数据包对应的所述ipc设备的状态参数为:所述ipc设备的cpu状态为空闲状态、且所述ipc设备的内存状态为空闲状态、且所述ipc设备的编码状态为空闲状态;第二类型数据包对应的所述ipc设备的状态参数为:所述ipc设备的内存状态为空闲状态、且所述ipc设备的cpu状态为非空闲状态,或,所述ipc设备的内存状态为空闲状态、且所述ipc设备的编码状态为非空闲状态;第三类型数据包对应的所述ipc设备的状态参数为:所述ipc设备的内存状态为非空闲状态。根据本申请实施例的又一个方面,还提供了一种用于实施上述数据包的发送方法的电子装置,上述电子装置可以但不限于应用于上述图1所示的ipc中。如图10所示,该电子装置包括存储器1002和处理器1004,该存储器1002中存储有计算机程序,该处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:s1,获取全景图像以及全景图像中目标区域;s2,获取网络摄像机ipc设备的状态类型,其中,ipc设备的状态类型通过以下至少之一的参数确定:ipc设备的cpu状态参数、ipc设备的内存状态参数、ipc设备的编码状态参数;s3,根据ipc设备的状态类型生成不同类型的数据包,其中,数据包中包括:全景图像对应的编码数据和/或目标区域对应的编码数据;s4,发送数据包。根据本申请实施例的又一个方面,还提供了一种用于实施上述数据包的发送方法的电子装置,上述电子装置可以但不限于应用于上述图1所示的nvr中。该电子装置包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为通过计算机程序执行上述任一项方法实施例中的步骤。可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:s11,接收网络摄像机ipc设备发送的数据包,其中,数据包中包括:全景图像对应的编码数据和/或全景图像中目标区域对应的编码数据;s12,获取数据包的类型,其中,数据包的类型与ipc设备的状态类型相对应,ipc设备的状态类型通过以下至少之一的参数确定:ipc设备的cpu状态参数、ipc设备的内存状态参数、ipc设备的编码状态参数;s13,根据数据包的类型对数据包进行解码处理。可选地,本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置也可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图10其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图10中所示更多或者更少的组件(如网络接口等),或者具有与图10所示不同的配置。其中,存储器1002可用于存储软件程序以及模块,如本申请实施例中的数据包的发送方法和装置对应的程序指令/模块,处理器1004通过运行存储在存储器1002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据包的发送方法。存储器1002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1002可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1002具体可以但不限于用于储存数据包的发送方法的程序步骤。作为一种示例,如图10所示,上述存储器1002中可以但不限于包括上述数据包的发送装置中的第一获取模块802、第二获取模块804、生成模块806和发送模块808等。此外,还可以包括但不限于上述数据包的发送装置中的其他模块单元,本示例中不再赘述。可选地,上述的传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1006包括一个网络适配器(networkinterfacecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1006为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。此外,上述电子装置还包括:显示器1008,用于显示可疑帐号的告警推送;和连接总线1010,用于连接上述电子装置中的各个模块部件。本申请的实施例还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:s1,获取全景图像以及全景图像中目标区域;s2,获取网络摄像机ipc设备的状态类型,其中,ipc设备的状态类型通过以下至少之一的参数确定:ipc设备的cpu状态参数、ipc设备的内存状态参数、ipc设备的编码状态参数;s3,根据ipc设备的状态类型生成不同类型的数据包,其中,数据包中包括:全景图像对应的编码数据和/或目标区域对应的编码数据;s4,发送数据包。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:s11,接收网络摄像机ipc设备发送的数据包,其中,数据包中包括:全景图像对应的编码数据和/或全景图像中目标区域对应的编码数据;s12,获取数据包的类型,其中,数据包的类型与ipc设备的状态类型相对应,ipc设备的状态类型通过以下至少之一的参数确定:ipc设备的cpu状态参数、ipc设备的内存状态参数、ipc设备的编码状态参数;s13,根据数据包的类型对数据包进行解码处理。可选地,存储介质还被设置为存储用于执行上述实施例中的方法中所包括的步骤的计算机程序,本实施例中对此不再赘述。可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上所述仅是本申请的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。当前第1页1 2 3 
技术特征:

1.一种数据包的发送方法,其特征在于,包括:

获取全景图像以及所述全景图像中目标区域;

获取网络摄像机ipc设备的状态类型,其中,所述ipc设备的状态类型通过以下至少之一的参数确定:所述ipc设备的cpu状态参数、所述ipc设备的内存状态参数、所述ipc设备的编码状态参数;

根据所述ipc设备的状态类型生成不同类型的数据包,其中,所述数据包中包括:所述全景图像对应的编码数据和/或所述目标区域对应的编码数据;

发送所述数据包。

2.根据权利要求1所述的方法,其特征在于,所述获取网络摄像机ipc设备的状态类型之前,所述方法还包括以下至少之一:

获取所述ipc设备的cpu状态参数,其中,当预设时间内所述cpu处于空闲状态的时间比例满足第一阈值时,确定所述ipc设备的cpu状态为空闲状态,否则,确定所述ipc设备的cpu状态为非空闲状态;

获取所述ipc设备的内存状态参数,其中,当所述ipc设备的剩余内存空间大于当前所述全景图像以及所述目标区域编码所需空间时,确定所述ipc设备的内存状态为空闲状态,否则,确定所述ipc设备的内存状态为非空闲状态;

获取所述ipc设备的编码状态参数,其中,若当前等待编码处理的消息队列的长度小于或等于第二阈值时,确定所述ipc设备的编码状态为空闲状态,否则,确定所述ipc设备的编码状态为非空闲状态。

3.根据权利要求2所述的方法,其特征在于,所述获取网络摄像机ipc设备的状态类型包括:

根据所述ipc设备的cpu状态参数、所述ipc设备的内存状态参数以及所述ipc设备的编码状态参数确定所述ipc设备的状态类型。

4.根据权利要求3所述的方法,其特征在于,所述根据所述ipc设备的cpu状态参数、所述ipc设备的内存状态参数以及所述ipc设备的编码状态参数确定所述ipc设备的状态类型包括:

当所述ipc设备的cpu状态为空闲状态、且所述ipc设备的内存状态为空闲状态、且所述ipc设备的编码状态为空闲状态时,确定所述ipc设备的状态类型为第一状态;

当所述ipc设备的内存状态为空闲状态、且所述ipc设备的cpu状态为非空闲状态时,确定所述ipc设备的状态类型为第二状态;

当所述ipc设备的内存为空闲状态、且所述ipc设备的编码状态为非空闲状态时,确定所述ipc设备的状态类型为第三状态;

当所述ipc设备的内存状态为非空闲状态时,确定所述ipc设备的状态类型为第四状态。

5.根据权利要求4所述的方法,其特征在于,所述根据所述ipc设备的状态类型生成不同类型的数据包包括:

当所述ipc设备的状态类型为第一状态时,对所述全景图像进行抠图,抠出目标区域,并对所述全景图像和所述目标区域分别编码,将所述全景图像和所述目标区域对应的编码数据生成第一数据包,并标记所述第一数据包为第一类型数据包;

当所述ipc设备的状态类型为第二状态或第三状态时,对所述全景图像进行抠图,仅对所述全景图像进行编码,将所述全景图像对应的编码数据和所述目标区域的坐标信息生成第二数据包,并标记所述第二数据包为第二类型数据包,其中,所述目标区域的坐标信息包括所述目标区域的轮廓上每一个点对应的坐标信息;

当所述ipc设备的状态类型为第四状态时,对所述全景图像进行抠图,仅对所述目标区域进行编码,将所述目标区域对应的编码数据以及所述目标区域的编码时间戳信息生成第三数据包,并标记所述第三数据包为第三类型数据包。

6.一种数据包的处理方法,其特征在于,包括:

接收网络摄像机ipc设备发送的数据包,其中,所述数据包中包括:全景图像对应的编码数据和/或所述全景图像中目标区域对应的编码数据;

获取所述数据包的类型,其中,所述数据包的类型与所述ipc设备的状态类型相对应,所述ipc设备的状态类型通过以下至少之一的参数确定:所述ipc设备的cpu状态参数、所述ipc设备的内存状态参数、所述ipc设备的编码状态参数;

根据所述数据包的类型对所述数据包进行解码处理。

7.根据权利要求6所述的方法,其特征在于,根据所述数据包的类型对所述数据包进行解码处理包括:

当所述数据包为第一类型数据包时,从所述第一类型数据包中获取所述全景图像对应的编码数据和所述目标区域对应的编码数据并解码,得到所述全景图像和所述目标区域对应的图像;

当所述数据包为第二类型的数据包时,从所述第二类型的数据包中获取所述全景图像对应的编码数据并解码,得到所述全景图像,根据所述第二类型的数据包中携带的所述目标区域对应的坐标信息对所述全景图像进行抠图,得到所述目标区域对应的图像;

当所述数据包为第三类型的数据包时,从所述第三类型的数据包中获取所述目标区域对应的编码数据并解码,得到所述目标区域对应的图像,根据所述第三类型数据包中携带的编码时间戳搜索发送所述第三类型数据包的通道中的缓存队列与硬盘录像文件,获取与所述编码时间戳最接近的一帧编码数据并解码,得到所述全景图像。

8.根据权利要求6或7所述的方法,其特征在于,

第一类型数据包对应的所述ipc设备的状态参数为:所述ipc设备的cpu状态为空闲状态、且所述ipc设备的内存状态为空闲状态、且所述ipc设备的编码状态为空闲状态;

第二类型数据包对应的所述ipc设备的状态参数为:所述ipc设备的内存状态为空闲状态、且所述ipc设备的cpu状态为非空闲状态,或,所述ipc设备的内存状态为空闲状态、且所述ipc设备的编码状态为非空闲状态;

第三类型数据包对应的所述ipc设备的状态参数为:所述ipc设备的内存状态为非空闲状态。

9.一种数据包的发送装置,其特征在于,包括:

第一获取模块,用于获取全景图像以及所述全景图像中目标区域;

第二获取模块,用于获取网络摄像机ipc设备的状态类型,其中,所述ipc设备的状态类型通过以下至少之一的参数确定:所述ipc设备的cpu状态参数、所述ipc设备的内存状态参数、所述ipc设备的编码状态参数;

生成模块,用于根据所述ipc设备的状态类型生成不同类型的数据包,其中,所述数据包中包括:所述全景图像对应的编码数据和/或所述目标区域对应的编码数据;

发送模块,用于发送所述数据包。

10.一种数据包的处理装置,其特征在于,包括:

接收模块,用于接收网络摄像机ipc设备发送的数据包,其中,所述数据包中包括:全景图像对应的编码数据和/或所述全景图像中目标区域对应的编码数据;

第三获取模块,用于获取所述数据包的类型,其中,所述数据包的类型与所述ipc设备的状态类型相对应,所述ipc设备的状态类型通过以下至少之一的参数确定:所述ipc设备的cpu状态参数、所述ipc设备的内存状态参数、所述ipc设备的编码状态参数;

处理模块,用于根据所述数据包的类型对所述数据包进行解码处理。

11.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至8任一项中所述的方法。

12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至8任一项中所述的方法。

技术总结
本发明实施例提供了一种数据包的发送方法及装置、数据包的处理方法及装置,其中,发送方法包括:获取全景图像以及全景图像中目标区域;获取网络摄像机IPC设备的状态类型,其中,IPC设备的状态类型通过以下至少之一的参数确定:IPC设备的CPU状态参数、IPC设备的内存状态参数、IPC设备的编码状态参数;根据IPC设备的状态类型生成不同类型的数据包,其中,数据包中包括:全景图像对应的编码数据和/或目标区域对应的编码数据;发送数据包。解决了相关技术中IPC进行智能事件抓图时需要对全景图像和多个目标图进行处理,导致IPC的硬件性能压力过大的问题。

技术研发人员:冯亮
受保护的技术使用者:浙江大华技术股份有限公司
技术研发日:2020.01.22
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-16819.html

最新回复(0)