一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种5G超高清视频监控系统及方法与流程

2022-09-01 02:25:55 来源:中国专利 TAG:

一种5g超高清视频监控系统及方法
技术领域
1.本发明涉及电子信息技术领域,特别涉及一种5g超高清视频监控系统及方法。


背景技术:

2.传统的视频监控设备受芯片处理能力、设备存储空间以及网络传输能力等因素的影响,视频清晰度在达到1080p(progressive,逐行扫描)(其中1080p泛指1920像素
×
1080像素的分辨率)以后就进入了瓶颈期,在较长的一段时间内均无法得到有效的提升,4k(kilo,通常指1024个像素)(其中4k泛指水平方向每行达到或者接近4
×
1024个像素值,下同)、5k、8k等超高清视频监控设备仅能在少量高成本搭建环境当中得以实现和应用。随着图像传感器技术、云计算技术、云存储技术以及5g(generation,代)(其中5g是指第五代移动通信技术)技术等各方面的相关技术的飞速发展,用于摄制超高清视频的设备制造成本也随之降低,越来越贴近人们的日常生活,特别是5g技术为超高清视频监控提供了高带宽、高并发、高速度、低延迟的高速数据传输通道,为超高清视频监控的普及应用提供了坚实的基础。然而,应用传统的视频编解码技术,为了实现超高清视频监控,监控设备一侧需要集成具有强大处理能力和超大缓存空间的视频编码芯片,使得超高清视频监控设备制造成本较高,同时为了兼顾设备的散热能力,需要设计专门的散热组件,使得超高清视频监控设备相较传统视频监控设备具有较大的体积,对于安装环境要求会较为苛刻。


技术实现要素:

3.本发明正是基于上述问题,提出了一种5g超高清视频监控系统及方法,能够有效降低超高清视频监控设备的处理能力和散热能力的要求。
4.有鉴于此,本发明的第一方面提出了一种5g超高清视频监控系统,包括:
5.初始化模块,用于初始化摄像装置;
6.变量定义模块,用于定义第一图像对象、第二图像对象、图像序号变量、关键帧对象以及普通帧对象数组;
7.图像读取模块,用于从图像传感器读取一帧图像写入所述第一图像对象;
8.关键帧赋值模块,用于当所述图像序号变量值为0时,将所述第一图像对象中的图像数据存储到所述关键帧对象;
9.差值计算模块,用于当所述图像序号变量值大于0时,将所述第一图像对象的图像数据与所述第二图像对象的图像数据输入到差值函数中计算统计差值;
10.序号赋值模块,用于将所述图像序号变量值写入所述普通帧对象数组中下标为图像序号变量值-1的子对象的图像序号中;
11.图像匹配模块,用于对所述第一图像对象的图像数据与所述第二图像对象的图像数据进行匹配;
12.偏移量赋值模块,用于将匹配得到的偏移像素坐标值数组、偏移变量数组、差异像素坐标值数组、差异像素颜色编码数组写入所述普通帧对象数组中下标为图像序号变量
值-1的子对象中;
13.图像对象赋值模块,用于将所述第一图像对象中的图像数据存储到所述第二图像对象;
14.自增模块,用于使图像序号变量执行自增运算,自增步长为1;
15.循环执行模块,用于循环执行从图像传感器读取一帧图像写入所述第一图像对象到图像序号变量执行自增运算之间的步骤。
16.进一步的,在上述的5g超高清视频监控系统中,所述初始化模块包括:
17.启动状态判断子模块,用于根据摄像装置标识信息判断摄像装置是否处于启动状态;
18.启动指令发送子模块,用于发送启动指令启动摄像装置;
19.工作参数配置子模块,用于配置摄像装置的工作参数。
20.进一步的,在上述的5g超高清视频监控系统中,所述变量定义模块包括:
21.图像类构建子模块,用于构建图像类,所述图像类包括每个像素的颜色编码值;
22.图像偏移类构建子模块,用于构建图像偏移类,所述图像偏移类包括图像序号、偏移像素坐标值数组、偏移变量数组、差异像素坐标值数组以及差异像素颜色编码数组;
23.图像数据传输类构建子模块,用于构建图像数据传输类,所述图像数据传输类包括对象字节流数据;
24.第一图像对象定义子模块,用于定义第一图像对象,所述第一图像对象继承于所述图像类,用于临时存储从图像传感器读取的当前帧图像数据;
25.第二图像对象定义子模块,用于定义第二图像对象,所述第二图像对象继承于所述图像类,用于临时存储上一帧图像数据;
26.图像序号变量定义子模块,用于定义图像序号变量,初始化赋值为0;
27.关键帧对象定义子模块,用于定义关键帧对象,所述关键帧对象继承于所述图像类,用于存储关键帧图像数据;
28.普通帧对象数组定义子模块,用于定义普通帧对象数组,所述普通帧对象数组的每一个子对象继承于所述图像偏移类,用于存储当前帧图像的图像序号、与前一帧图像的偏移像素坐标值数组、偏移变量数组、差异像素坐标值数组以及差异像素颜色编码数组。
29.进一步的,在上述的5g超高清视频监控系统中,还包括:
30.图像序号变量重置模块,用于将所述图像序号变量重置为0;
31.图像数据传输对象定义模块,用于定义图像数据传输对象,所述图像数据传输对象继承于所述图像数据传输类,用于存储关键帧对象和普通帧对象的字节流数据;
32.字节流数据存储模块,用于将所述关键帧对象和所述普通帧对象转换为字节流数据后存储到所述图像数据传输对象;
33.传输队列写入模块,用于将所述图像数据传输对象写入图像数据传输队列;
34.对象清空模块,用于清空所述第一图像对象、所述第二图像对象、所述关键帧对象以及所述普通帧数组对象;
35.所述循环执行模块还用于循环执行从图像传感器读取一帧图像写入所述第一图像对象到清空所述第一图像对象、所述第二图像对象、所述关键帧对象以及所述普通帧数组对象之间的步骤。
36.进一步的,在上述的5g超高清视频监控系统中,还包括:
37.线程数量获取模块,用于获取当前的图像数据传输线程池中的空闲线程数量;
38.传输线程启动模块,用于当所述空闲线程的数量不为0且所述图像数据传输队列中未被锁定的图像数据传输对象数量不为0时,获取一个空闲线程的线程id并启动该线程执行传输任务;
39.传输对象读取模块,用于从所述图像数据传输队列中读取至少一个未被锁定的图像数据传输对象;
40.传输对象锁定模块,用于将所述图像数据传输对象锁定到当前图像数据传输线程;
41.图像数据传输模块,用于传输所述至少一个图像数据传输对象;
42.传输状态确定模块,用于确定所述图像数据传输对象的传输状态;
43.队列数据删除模块,用于当所述传输状态为完成时,从所述图像数据传输队列中删除所述图像数据传输对象;
44.传输线程重置模块,用于重置当前的图像数据传输线程以归还所述图像数据传输线程池。
45.本发明的第二方面提出了一种5g超高清视频监控数据处理方法,包括:
46.初始化摄像装置;
47.定义第一图像对象、第二图像对象、图像序号变量、关键帧对象以及普通帧对象数组;
48.从图像传感器读取一帧图像写入所述第一图像对象;
49.当所述图像序号变量值为0时,将所述第一图像对象中的图像数据存储到所述关键帧对象;
50.当所述图像序号变量值大于0时,将所述第一图像对象的图像数据与所述第二图像对象的图像数据输入到差值函数中计算统计差值;
51.当所述统计差值小于阈值或小于等于阈值时,执行以下步骤:
52.将所述图像序号变量值写入所述普通帧对象数组中下标为图像序号变量值-1的子对象的图像序号中;
53.对所述第一图像对象的图像数据与所述第二图像对象的图像数据进行匹配;
54.将匹配得到的偏移像素坐标值数组、偏移变量数组、差异像素坐标值数组、差异像素颜色编码数组写入所述普通帧对象数组中下标为图像序号变量值-1的子对象中;
55.将所述第一图像对象中的图像数据存储到所述第二图像对象;
56.图像序号变量执行自增运算,自增步长为1;
57.返回执行所述从图像传感器读取一帧图像写入所述第一图像对象的步骤。
58.进一步的,在上述的5g超高清视频监控数据处理方法中,初始化摄像装置的步骤具体包括:
59.根据摄像装置标识信息判断摄像装置是否处于启动状态;
60.判断为是,跳到执行定义第一图像对象、第二图像对象、图像序号变量、关键帧对象以及普通帧对象数组的步骤;
61.判断为否,则执行以下步骤:
62.发送启动指令启动摄像装置;
63.配置摄像装置的工作参数。
64.进一步的,在上述的5g超高清视频监控数据处理方法中,定义第一图像对象、第二图像对象、图像序号变量、关键帧对象以及普通帧对象数组的步骤具体包括:
65.构建图像类,所述图像类包括每个像素的颜色编码值;
66.构建图像偏移类,所述图像偏移类包括图像序号、偏移像素坐标值数组、偏移变量数组、差异像素坐标值数组以及差异像素颜色编码数组;
67.构建图像数据传输类,所述图像数据传输类包括对象字节流数据;
68.定义第一图像对象,所述第一图像对象继承于所述图像类,用于临时存储从图像传感器读取的当前帧图像数据;
69.定义第二图像对象,所述第二图像对象继承于所述图像类,用于临时存储上一帧图像数据;
70.定义图像序号变量,初始化赋值为0;
71.定义关键帧对象,所述关键帧对象继承于所述图像类,用于存储关键帧图像数据;
72.定义普通帧对象数组,所述普通帧对象数组的每一个子对象继承于所述图像偏移类,用于存储当前帧图像的图像序号、与前一帧图像的偏移像素坐标值数组、偏移变量数组、差异像素坐标值数组以及差异像素颜色编码数组。
73.进一步的,在上述的5g超高清视频监控数据处理方法中,在将所述第一图像对象的图像数据与所述第二图像对象的图像数据输入到差值函数中计算统计差值的步骤之后,还包括:
74.当所述统计差值大于或大于等于阈值阈值时,执行以下步骤:
75.将所述图像序号变量重置为0;
76.定义图像数据传输对象,所述图像数据传输对象继承于所述图像数据传输类,用于存储关键帧对象和普通帧对象的字节流数据;
77.将所述关键帧对象和所述普通帧对象转换为字节流数据后存储到所述图像数据传输对象;
78.将所述图像数据传输对象写入图像数据传输队列;
79.清空所述第一图像对象、所述第二图像对象、所述关键帧对象以及所述普通帧数组对象;
80.返回执行所述从图像传感器读取一帧图像写入所述第一图像对象的步骤。
81.进一步的,在上述的5g超高清视频监控数据处理方法中,在将所述图像数据传输对象写入图像数据传输队列的步骤之后,还包括:
82.获取当前的图像数据传输线程池中的空闲线程数量;
83.当所述空闲线程的数量不为0且所述图像数据传输队列中未被锁定的图像数据传输对象数量不为0时,获取一个空闲线程的线程id并启动该线程执行传输任务;
84.从所述图像数据传输队列中读取至少一个未被锁定的图像数据传输对象;
85.将所述图像数据传输对象锁定到当前图像数据传输线程;
86.传输所述至少一个图像数据传输对象;
87.确定所述图像数据传输对象的传输状态;
88.当所述传输状态为完成时,从所述图像数据传输队列中删除所述图像数据传输对象;
89.重置当前的图像数据传输线程以归还所述图像数据传输线程池。
90.本发明提出一种5g超高清视频监控系统及方法,通过循环执行从图像传感器读取一帧图像写入第一图像对象,将图像序号为0的第一图像对象的图像数据存储到关键帧对象,当图像序号变量值大于0时,计算第一图像对象的图像数据与第二图像对象的图像数据统计差值,将图像序号变量值写入普通帧对象数组中下标为图像序号变量值-1的子对象的图像序号中,将第一图像对象的图像数据与第二图像对象的偏移像素坐标值数组、偏移变量数组、差异像素坐标值数组以及差异像素颜色编码数组写入普通帧对象数组中对应的子对象中,将第一图像对象中的图像数据存储到第二图像对象,图像序号变量执行自增运算的步骤,能够有效降低超高清视频监控设备的处理能力和散热能力的要求。
附图说明
91.图1是本发明一个实施例提供的一种5g超高清视频监控系统的示意框图;
92.图2是本发明一个实施例提供的初始化模块的示意框图;
93.图3是本发明一个实施例提供的变量定义模块的示意框图;
94.图4是本发明一个实施例提供的一种5g超高清视频监控系统的示意框图;
95.图5是本发明一个实施例提供的一种5g超高清视频监控系统的示意框图;
96.图6是本发明一个实施例提供的一种5g超高清视频监控数据处理方法的示意流程图;
97.图7是本发明一个实施例提供的摄像装置初始化方法的示意流程图;
98.图8是本发明一个实施例提供的变量定义方法的示意流程图;
99.图9是本发明一个实施例提供的一种5g超高清视频监控数据处理方法的示意流程图;
100.图10是本发明一个实施例提供的一种5g超高清视频监控数据处理方法的示意流程图。
具体实施方式
101.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
102.在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
103.在本发明的描述中,术语“多个”则指两个或两个以上,除非另有明确的限定,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。术语“连接”、“安装”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直
接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
104.在本说明书的描述中,术语“一个实施例”、“一些实施方式”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
105.下面参照图1至图10来描述根据本发明一些实施方式提供的一种5g超高清视频监控系统及方法。
106.本发明的第一方面提出了一种5g超高清视频监控系统。具体的,在本发明的技术方案中,所述5g超高清视频监控系统包括摄像装置和远端设备,所述摄像装置包括5g通讯模块、图像传感器、存储器和处理器,所述存储器存储有用于从所述图像传感器获取图像数据,经所述处理器进行处理后通过所述5g通讯模块发送给远端设备的监控程序,所述处理器执行所述监控程序以实现所述5g超高清视频监控数据处理方法,所述远端设备可以是与所述摄像装置通讯连接的云服务器或者本地服务器,所述远端设备上运行有相应的解码程序,以将所述摄像装置传输的数据解码还原为视频数据中的每一帧完整图像。
107.如图1所示,所述5g超高清视频监控系统包括:
108.初始化模块,用于初始化摄像装置。在本发明的技术方案中,所述摄像装置默认处于休眠状态(断电状态)以节省功耗,所述监控程序执行初始化函数使所述摄像装置上电进入工作状态,所述初始化函数还包括配置所述摄像装置获取图像的分辨率以及帧率等参数。
109.变量定义模块,用于定义第一图像对象、第二图像对象、图像序号变量、关键帧对象以及普通帧对象数组。在所述监控程序的主程序中定义所述第一图像对象、所述第二图像对象、所述图像序号变量、所述关键帧对象以及所述普通帧对象数组等局部变量用于存储图像数据处理过程中的临时数据。
110.图像读取模块,用于从图像传感器读取一帧图像写入所述第一图像对象。所述监控程序根据预设的分辨率和帧率从所述图像传感器读取图像数据,每读取一帧图像数据,即将该图像数据写入缓中的所述第一图像对象进行临时存储,所述监控程序根据所述第一图像对象的地址指针指向的缓存地址即可从缓存中读取该图像数据。
111.关键帧赋值模块,用于当所述图像序号变量值为0时,将所述第一图像对象中的图像数据存储到所述关键帧对象。在定义所述图像序号变量时,初始化赋值为0,即所述监控程序从所述图像传感器中读取的第一帧图像的图像序号即为0,将第一帧图像确定为关键帧存储到所述关键帧对象中。随后通过图像对象赋值模块将所述第一图像对象中的图像数据存储到所述第二图像对象,为了使所述图像序号变量值为1时,所述第二图像对象中存储的图像为其前一帧图像,在该步骤中,需将所述第一图像对象中的图像数据存储到所述第二图像对象中。
112.差值计算模块,用于当所述图像序号变量值大于0时,将所述第一图像对象的图像数据与所述第二图像对象的图像数据输入到差值函数中计算统计差值。所述图像序号变量是大于零的整型变量,在所述监控程序的循环执行过程中处于动态改变的状态,当所述图像序号变量不为0即大于0时,计算当前帧图像和前一帧图像的统计差值。具体的,在上述的5g超高清视频监控系统中,所述差值计算模块包括:
113.灰度图像生成子模块,用于将所述第一图像对象的图像数据与所述第二图像对象的图像数据转化为灰度图像;
114.灰度矩阵生成子模块,用于将两幅灰度图像的灰度值分别写入第一灰度矩阵和第二灰度矩阵;
115.差值矩阵生成子模块,用于将所述第一灰度矩阵和所述第二灰度矩阵相减得到差值矩阵;
116.统计差值计算子模块,用于根据差值矩阵中的非零值数量确定发生变化的像素数量作为所述统计差值。
117.在上述实施方式中,所述摄像装置采样的帧率越高,相邻图像间的差异越小,则所述统计差值越小。
118.在该实施方式中,所述5g超高清视频监控系统还包括:
119.序号赋值模块,用于将所述图像序号变量值写入所述普通帧对象数组中下标为图像序号变量值-1的子对象的图像序号中。数组下标一般从0起算,例如一个包含10个子对象的普通帧对象数组normalframearray[10],其第一个子对象应为normalframearray[0],最后一个子对象为normalframearray[9]。所述图像序号变量的初始化值同样为0,但由于所述图像序号变量=0时,对应的是所述关键帧对象,因此当所述图像序号变量=1时,其对应的是所述普通帧对象数组中下标为0的子对象,即normalframearray[0],以此类推,所述图像序号变量=2时对应的是normalframearray[1],即任何时候,所述普通帧对象数组中下标与所述图像序号变量的关系为普通帧对象数组中下标=图像序号变量值-1。
[0120]
图像匹配模块,用于对所述第一图像对象的图像数据与所述第二图像对象的图像数据进行匹配。在所述图像匹配模块执行所述第一图像对象和图像数据与所述第二图像对象的图像数据匹配动作时,所述第二图像对象所存储的的图像数据为所述第一图像对象所存储的图像数据对应的前一帧的图像数据,在所述图像序号变量值发生变化时,即在从所述图像传感器读取图像数据之前,均需将所述第二图像对象所存储的的图像数据替换为所述第一图像对象所存储的图像数据,使得每次执行匹配动作的时候,所述第一图像对象的图像数据与所述第二图像对象的图像数据为相邻帧的图像数据,从而保证每次执行匹配动作时为相邻两帧图像的相互匹配。。具体的,在上述的5g超高清视频监控系统中,所述图像匹配模块包括:
[0121]
偏移区域确定子模块,用于在所述第一图像对象所存储的的图像数据中确定第一区域,在所述第二图像对象所存储的的图像数据中确定第二区域,所述第一区域和所述第二区域为对应所述差值矩阵中非零值区域的子区域,且所述第一区域和所述第二区域为图像内容相同但坐标不同的区域;
[0122]
偏移像素坐标值数组定义子模块,用于定义偏移像素坐标值数组,将所述第二区域每个像素的坐标值写入所述偏移像素坐标值数组中;
[0123]
偏移变量数组定义子模块,用于定义偏移变量数组,用于存储所述第一区域和所述第二区域的横坐标偏移量和纵坐标偏移量;
[0124]
最小偏移坐标获取子模块,用于分别获取所述第一区域和所述第二区域中的最小横坐标值和最小纵坐标值;
[0125]
坐标偏移计算子模块,用于将所述第一区域和所述第二区域中的最小横坐标值和最小纵坐标值分别相减后的差值写入所述偏移变量数组;
[0126]
差异像素坐标值数组定义子模块,用于定义差异像素坐标值数组,将所述第一区域中不与所述第二区域重叠区域的像素的坐标值写入所述差异像素坐标值数组中;
[0127]
差异像素颜色编码数组定义子模块,用于定义差异像素颜色编码数组,将所述第一区域中不与所述第二区域重叠区域的像素的颜色编码写入所述差异像素颜色编码数组中。
[0128]
在该实施方式中,所述5g超高清视频监控系统还包括:
[0129]
偏移量赋值模块,用于将匹配得到的偏移像素坐标值数组、偏移变量数组、差异像素坐标值数组、差异像素颜色编码数组写入所述普通帧对象数组中下标为图像序号变量值-1的子对象中。采用该实施方式,以所述关键帧对象存储的图像数据为基础,结合所述普通帧对象数组中所存储的相邻帧的偏移像素坐标值数组、偏移变量数组、差异像素坐标值数组、差异像素颜色编码数组即可将所述普通帧对象的每个子对象对应的每一帧图像数据还原。
[0130]
图像对象赋值模块,用于将所述第一图像对象中的图像数据存储到所述第二图像对象。如前所述,在从所述图像传感器读取图像数据之前,均需将所述第二图像对象所存储的的图像数据替换为所述第一图像对象所存储的图像数据,使得每次执行匹配动作的时候,所述第一图像对象的图像数据与所述第二图像对象的图像数据为相邻帧的图像数据。
[0131]
自增模块,用于使图像序号变量执行自增运算,自增步长为1。所述图像序号变量用于使所述监控程序识别当前图像序列的相邻关系,从而确定用于存储所述偏移像素坐标值数组、偏移变量数组、差异像素坐标值数组、差异像素颜色编码数组等数据的普通帧对象数组中的子对象下标。例如,当当前所述图像序号变量值为1时,执行所述自增运算后,所述图像序号变量值变成2。
[0132]
循环执行模块,用于循环执行从图像传感器读取一帧图像写入所述第一图像对象到图像序号变量执行自增运算之间的步骤。进一步的,在本发明的一些实施方式中,为了能够按照预设的帧率从所述图像传感器读取图像数据,每次执行完步骤s130后,所述监控程序创建一个新的线程执行步骤s141、s142、s151、s152、s153,使得在帧率较高的情况下,可以同时有多个线程并发执行多帧图像对应的步骤s141、s142、s151、s152、s153。
[0133]
在上述实施方式中,所述摄像装置仅需执行少量的计算以获得相邻两帧图像的差异,对所述摄像装置的处理器计算能力要求较低,从而无需采用强大的处理器对监控数据进行编码,不会产生太大的热量,无需设置专门的散热结构。进一步的,依托于所述5g通讯模块的高带宽高传输速度的优势,可以将所述统计差值的阈值设置为一个较小的值,以确定更多的关键帧图像而非普通帧图像以减小计算量。
[0134]
如图2所示,在上述的5g超高清视频监控系统中,所述初始化模块包括:
[0135]
启动状态判断子模块,用于根据摄像装置标识信息判断摄像装置是否处于启动状
态;
[0136]
启动指令发送子模块,用于发送启动指令启动摄像装置;
[0137]
工作参数配置子模块,用于配置摄像装置的工作参数。
[0138]
在初始化过程中,需要预先配置好所述摄像装置的工作参数包括分辨率、帧率、光圈、焦距、景深、视场角等,使得所述摄像装置按照该工作参数获取图像数据。
[0139]
如图3所示,在上述的5g超高清视频监控系统中,所述变量定义模块包括:
[0140]
图像类构建子模块,用于构建图像类,所述图像类包括每个像素的颜色编码值;
[0141]
图像偏移类构建子模块,用于构建图像偏移类,所述图像偏移类包括图像序号、偏移像素坐标值数组、偏移变量数组、差异像素坐标值数组以及差异像素颜色编码数组;
[0142]
图像数据传输类构建子模块,用于构建图像数据传输类,所述图像数据传输类包括对象字节流数据;
[0143]
第一图像对象定义子模块,用于定义第一图像对象,所述第一图像对象继承于所述图像类,用于临时存储从图像传感器读取的当前帧图像数据;
[0144]
第二图像对象定义子模块,用于定义第二图像对象,所述第二图像对象继承于所述图像类,用于临时存储上一帧图像数据;
[0145]
图像序号变量定义子模块,用于定义图像序号变量,初始化赋值为0;
[0146]
关键帧对象定义子模块,用于定义关键帧对象,所述关键帧对象继承于所述图像类,用于存储关键帧图像数据;
[0147]
普通帧对象数组定义子模块,用于定义普通帧对象数组,所述普通帧对象数组的每一个子对象继承于所述图像偏移类,用于存储当前帧图像的图像序号、与前一帧图像的偏移像素坐标值数组、偏移变量数组、差异像素坐标值数组以及差异像素颜色编码数组。
[0148]
如图4所示,在上述的5g超高清视频监控系统中,还包括:
[0149]
图像序号变量重置模块,用于将所述图像序号变量重置为0;
[0150]
图像数据传输对象定义模块,用于定义图像数据传输对象,所述图像数据传输对象继承于所述图像数据传输类,用于存储关键帧对象和普通帧对象的字节流数据;
[0151]
字节流数据存储模块,用于将所述关键帧对象和所述普通帧对象转换为字节流数据后存储到所述图像数据传输对象;
[0152]
传输队列写入模块,用于将所述图像数据传输对象写入图像数据传输队列;
[0153]
对象清空模块,用于清空所述第一图像对象、所述第二图像对象、所述关键帧对象以及所述普通帧数组对象;
[0154]
所述循环执行模块还用于循环执行从图像传感器读取一帧图像写入所述第一图像对象到清空所述第一图像对象、所述第二图像对象、所述关键帧对象以及所述普通帧数组对象之间的步骤。
[0155]
在该实施方式中,将所述统计差值大于或大于等于阈值阈值时,将所述关键帧对象和所述普通帧对象保存的图像数据以及相关数据转换为字节流数据后存储到图像数据传输对象中放到图像数据传输队列,以使所述监控程序中的图像数据传输程序将数据传输到对端。
[0156]
如图5所示,在上述的5g超高清视频监控系统中,还包括:
[0157]
线程数量获取模块,用于获取当前的图像数据传输线程池中的空闲线程数量;
[0158]
传输线程启动模块,用于当所述空闲线程的数量不为0且所述图像数据传输队列中未被锁定的图像数据传输对象数量不为0时,获取一个空闲线程的线程id并启动该线程执行传输任务;
[0159]
传输对象读取模块,用于从所述图像数据传输队列中读取至少一个未被锁定的图像数据传输对象;
[0160]
传输对象锁定模块,用于将所述图像数据传输对象锁定到当前图像数据传输线程;
[0161]
图像数据传输模块,用于传输所述至少一个图像数据传输对象;
[0162]
传输状态确定模块,用于确定所述图像数据传输对象的传输状态;
[0163]
队列数据删除模块,用于当所述传输状态为完成时,从所述图像数据传输队列中删除所述图像数据传输对象;
[0164]
传输线程重置模块,用于重置当前的图像数据传输线程以归还所述图像数据传输线程池。
[0165]
在该实施方式中,所述监控程序中的图像数据传输程序预先创建具有预设数量图像传输线程的图像传输线程线程池,用于传输所述图像数据传输队列中的图像数据传输对象数据,图像传输线程池中的每一个线程被调用后,其在传输所述图像数据传输队列中的图像数据传输对象时,所述图像数据传输程序会将被传输的图像传输对象锁定到对应的图像传输线程上,以避免多个传输线程同时传输同一个图像传输对象,每一个图你传输线程完成传输任务后被归还到所述图像数据传输线程池中以供所述图像数据传输程序重复使用,避免重复创建线程占用系统资源。
[0166]
本发明的第二方面提出了一种5g超高清视频监控数据处理方法,所述5g超高清视频监控数据处理方法应用于本发明的第一方面提出的一种5g超高清视频监控系统。具体的,在本发明的技术方案中,所述5g超高清视频监控系统包括摄像装置和远端设备,所述摄像装置包括5g通讯模块、图像传感器、存储器和处理器,所述存储器存储有用于从所述图像传感器获取图像数据,经所述处理器进行处理后通过所述5g通讯模块发送给远端设备的监控程序,所述处理器执行所述监控程序以实现所述5g超高清视频监控数据处理方法,所述远端设备可以是与所述摄像装置通讯连接的云服务器或者本地服务器,所述远端设备上运行有相应的解码程序,以将所述摄像装置传输的数据解码还原为视频数据中的每一帧完整图像。
[0167]
如图6所示,所述5g超高清视频监控数据处理方法包括:
[0168]
s110:初始化摄像装置。在本发明的技术方案中,所述摄像装置默认处于休眠状态(断电状态)以节省功耗,所述监控程序执行初始化函数使所述摄像装置上电进入工作状态,所述初始化函数还包括配置所述摄像装置获取图像的分辨率以及帧率等参数。
[0169]
s120:定义第一图像对象、第二图像对象、图像序号变量、关键帧对象以及普通帧对象数组。在所述监控程序的主程序中定义所述第一图像对象、所述第二图像对象、所述图像序号变量、所述关键帧对象以及所述普通帧对象数组等局部变量用于存储图像数据处理过程中的临时数据。
[0170]
s130:从图像传感器读取一帧图像写入所述第一图像对象。所述监控程序根据预设的分辨率和帧率从所述图像传感器读取图像数据,每读取一帧图像数据,即将该图像数
据写入缓中的所述第一图像对象进行临时存储,所述监控程序根据所述第一图像对象的地址指针指向的缓存地址即可从缓存中读取该图像数据。
[0171]
s141:当所述图像序号变量值为0时,将所述第一图像对象中的图像数据存储到所述关键帧对象。在定义所述图像序号变量时,初始化赋值为0,即所述监控程序从所述图像传感器中读取的第一帧图像的图像序号即为0,将第一帧图像确定为关键帧存储到所述关键帧对象中。随后跳到步骤s160,为了使所述图像序号变量值为1时,所述第二图像对象中存储的图像为其前一帧图像,在该步骤中,需将所述第一图像对象中的图像数据存储到所述第二图像对象中。
[0172]
s142:当所述图像序号变量值大于0时,将所述第一图像对象的图像数据与所述第二图像对象的图像数据输入到差值函数中计算统计差值。所述图像序号变量是大于零的整型变量,在所述监控程序的循环执行过程中处于动态改变的状态,当所述图像序号变量不为0即大于0时,计算当前帧图像和前一帧图像的统计差值。具体的,在上述的5g超高清视频监控数据处理方法中,所述将所述第一图像对象的图像数据与所述第二图像对象的图像数据输入到差值函数中计算统计差值的步骤具体包括:
[0173]
s1421:将所述第一图像对象的图像数据与所述第二图像对象的图像数据转化为灰度图像;
[0174]
s1422:将两幅灰度图像的灰度值分别写入第一灰度矩阵和第二灰度矩阵;
[0175]
s1423:将所述第一灰度矩阵和所述第二灰度矩阵相减得到差值矩阵;
[0176]
s1424:根据差值矩阵中的非零值数量确定发生变化的像素数量作为所述统计差值。
[0177]
在上述实施方式中,所述摄像装置采样的帧率越高,相邻图像间的差异越小,则所述统计差值越小。
[0178]
当所述统计差值小于阈值或小于等于阈值时,执行以下步骤:
[0179]
s151:将所述图像序号变量值写入所述普通帧对象数组中下标为图像序号变量值-1的子对象的图像序号中。数组下标一般从0起算,例如一个包含10个子对象的普通帧对象数组normalframearray[10],其第一个子对象应为normalframearray[0],最后一个子对象为normalframearray[9]。所述图像序号变量的初始化值同样为0,但由于所述图像序号变量=0时,对应的是所述关键帧对象,因此当所述图像序号变量=1时,其对应的是所述普通帧对象数组中下标为0的子对象,即normalframearray[0],以此类推,所述图像序号变量=2时对应的是normalframearray[1],即任何时候,所述普通帧对象数组中下标与所述图像序号变量的关系为普通帧对象数组中下标=图像序号变量值-1。
[0180]
s152:对所述第一图像对象的图像数据与所述第二图像对象的图像数据进行匹配。在该步骤中所述第二图像对象所存储的的图像数据为所述第一图像对象所存储的图像数据对应的前一帧的图像数据,在所述图像序号变量值发生变化时,即在从所述图像传感器读取图像数据之前,均需将所述第二图像对象所存储的的图像数据替换为所述第一图像对象所存储的图像数据,使得每次进入步骤s152的时候,所述第一图像对象的图像数据与所述第二图像对象的图像数据为相邻帧的图像数据,从而保证当前步骤为相邻两帧图像的相互匹配。具体的,在上述的5g超高清视频监控数据处理方法中,所述对所述第一图像对象的图像数据与所述第二图像对象的图像数据进行匹配的步骤具体包括:
[0181]
s1521:在所述第一图像对象所存储的的图像数据中确定第一区域,在所述第二图像对象所存储的的图像数据中确定第二区域,所述第一区域和所述第二区域为对应所述差值矩阵中非零值区域的子区域,且所述第一区域和所述第二区域为图像内容相同但坐标不同的区域;
[0182]
s1522:定义偏移像素坐标值数组,将所述第二区域每个像素的坐标值写入所述偏移像素坐标值数组中;
[0183]
s1523:定义偏移变量数组,用于存储所述第一区域和所述第二区域的横坐标偏移量和纵坐标偏移量;
[0184]
s1524:分别获取所述第一区域和所述第二区域中的最小横坐标值和最小纵坐标值;
[0185]
s1525:将所述第一区域和所述第二区域中的最小横坐标值和最小纵坐标值分别相减后的差值写入所述偏移变量数组;
[0186]
s1526:定义差异像素坐标值数组,将所述第一区域中不与所述第二区域重叠区域的像素的坐标值写入所述差异像素坐标值数组中;
[0187]
s1527:定义差异像素颜色编码数组,将所述第一区域中不与所述第二区域重叠区域的像素的颜色编码写入所述差异像素颜色编码数组中。
[0188]
s153:将匹配得到的偏移像素坐标值数组、偏移变量数组、差异像素坐标值数组、差异像素颜色编码数组写入所述普通帧对象数组中下标为图像序号变量值-1的子对象中。采用该实施方式,以所述关键帧对象存储的图像数据为基础,结合所述普通帧对象数组中所存储的相邻帧的偏移像素坐标值数组、偏移变量数组、差异像素坐标值数组、差异像素颜色编码数组即可将所述普通帧对象的每个子对象对应的每一帧图像数据还原。
[0189]
s160:将所述第一图像对象中的图像数据存储到所述第二图像对象。如前所述,在从所述图像传感器读取图像数据之前,均需将所述第二图像对象所存储的的图像数据替换为所述第一图像对象所存储的图像数据,使得每次进入步骤s152的时候,所述第一图像对象的图像数据与所述第二图像对象的图像数据为相邻帧的图像数据。
[0190]
s170:图像序号变量执行自增运算,自增步长为1。所述图像序号变量用于使所述监控程序识别当前图像序列的相邻关系,从而确定用于存储所述偏移像素坐标值数组、偏移变量数组、差异像素坐标值数组、差异像素颜色编码数组等数据的普通帧对象数组中的子对象下标。例如,当当前所述图像序号变量值为1时,执行所述自增运算后,所述图像序号变量值变成2。
[0191]
返回执行所述从图像传感器读取一帧图像写入所述第一图像对象的步骤。进一步的,在本发明的一些实施方式中,为了能够按照预设的帧率从所述图像传感器读取图像数据,每次执行完步骤s130后,所述监控程序创建一个新的线程执行步骤s141、s142、s151、s152、s153,使得在帧率较高的情况下,可以同时有多个线程并发执行多帧图像对应的步骤s141、s142、s151、s152、s153。
[0192]
在上述实施方式中,所述摄像装置仅需执行少量的计算以获得相邻两帧图像的差异,对所述摄像装置的处理器计算能力要求较低,从而无需采用强大的处理器对监控数据进行编码,不会产生太大的热量,无需设置专门的散热结构。进一步的,依托于所述5g通讯模块的高带宽高传输速度的优势,可以将所述统计差值的阈值设置为一个较小的值,以确
定更多的关键帧图像而非普通帧图像以减小计算量。
[0193]
如图7所示,在上述的5g超高清视频监控数据处理方法中,初始化摄像装置的步骤具体包括:
[0194]
根据摄像装置标识信息判断摄像装置是否处于启动状态;
[0195]
判断为是,跳到执行定义第一图像对象、第二图像对象、图像序号变量、关键帧对象以及普通帧对象数组的步骤;
[0196]
判断为否,则执行以下步骤:
[0197]
s111:发送启动指令启动摄像装置;
[0198]
s112:配置摄像装置的工作参数。
[0199]
在初始化过程中,需要预先配置好所述摄像装置的工作参数包括分辨率、帧率、光圈、焦距、景深、视场角等,使得所述摄像装置按照该工作参数获取图像数据。
[0200]
如图8所示,在上述的5g超高清视频监控数据处理方法中,定义第一图像对象、第二图像对象、图像序号变量、关键帧对象以及普通帧对象数组的步骤具体包括:
[0201]
s121:构建图像类,所述图像类包括每个像素的颜色编码值;
[0202]
s122:构建图像偏移类,所述图像偏移类包括图像序号、偏移像素坐标值数组、偏移变量数组、差异像素坐标值数组以及差异像素颜色编码数组;
[0203]
s123:构建图像数据传输类,所述图像数据传输类包括对象字节流数据;
[0204]
s124:定义第一图像对象,所述第一图像对象继承于所述图像类,用于临时存储从图像传感器读取的当前帧图像数据;
[0205]
s125:定义第二图像对象,所述第二图像对象继承于所述图像类,用于临时存储上一帧图像数据;
[0206]
s126:定义图像序号变量,初始化赋值为0;
[0207]
s127:定义关键帧对象,所述关键帧对象继承于所述图像类,用于存储关键帧图像数据;
[0208]
s128:定义普通帧对象数组,所述普通帧对象数组的每一个子对象继承于所述图像偏移类,用于存储当前帧图像的图像序号、与前一帧图像的偏移像素坐标值数组、偏移变量数组、差异像素坐标值数组以及差异像素颜色编码数组。
[0209]
如图9所示,在上述的5g超高清视频监控数据处理方法中,在将所述第一图像对象的图像数据与所述第二图像对象的图像数据输入到差值函数中计算统计差值的步骤之后,还包括:
[0210]
当所述统计差值大于或大于等于阈值阈值时,执行以下步骤:
[0211]
s181:将所述图像序号变量重置为0;
[0212]
s182:定义图像数据传输对象,所述图像数据传输对象继承于所述图像数据传输类,用于存储关键帧对象和普通帧对象的字节流数据;
[0213]
s183:将所述关键帧对象和所述普通帧对象转换为字节流数据后存储到所述图像数据传输对象;
[0214]
s184:将所述图像数据传输对象写入图像数据传输队列;
[0215]
s185:清空所述第一图像对象、所述第二图像对象、所述关键帧对象以及所述普通帧数组对象;
[0216]
返回执行所述从图像传感器读取一帧图像写入所述第一图像对象的步骤。
[0217]
在该实施方式中,将所述统计差值大于或大于等于阈值阈值时,将所述关键帧对象和所述普通帧对象保存的图像数据以及相关数据转换为字节流数据后存储到图像数据传输对象中放到图像数据传输队列,以使所述监控程序中的图像数据传输程序将数据传输到对端。
[0218]
如图10所示,在上述的5g超高清视频监控数据处理方法中,在将所述图像数据传输对象写入图像数据传输队列的步骤之后,还包括:
[0219]
s191:获取当前的图像数据传输线程池中的空闲线程数量;
[0220]
s192:当所述空闲线程的数量不为0且所述图像数据传输队列中未被锁定的图像数据传输对象数量不为0时,获取一个空闲线程的线程id并启动该线程执行传输任务;
[0221]
s193:从所述图像数据传输队列中读取至少一个未被锁定的图像数据传输对象;
[0222]
s194:将所述图像数据传输对象锁定到当前图像数据传输线程;
[0223]
s195:传输所述至少一个图像数据传输对象;
[0224]
s196:确定所述图像数据传输对象的传输状态;
[0225]
s197:当所述传输状态为完成时,从所述图像数据传输队列中删除所述图像数据传输对象;
[0226]
s198:重置当前的图像数据传输线程以归还所述图像数据传输线程池。
[0227]
在该实施方式中,所述监控程序中的图像数据传输程序预先创建具有预设数量图像传输线程的图像传输线程线程池,用于传输所述图像数据传输队列中的图像数据传输对象数据,图像传输线程池中的每一个线程被调用后,其在传输所述图像数据传输队列中的图像数据传输对象时,所述图像数据传输程序会将被传输的图像传输对象锁定到对应的图像传输线程上,以避免多个传输线程同时传输同一个图像传输对象,每一个图你传输线程完成传输任务后被归还到所述图像数据传输线程池中以供所述图像数据传输程序重复使用,避免重复创建线程占用系统资源。
[0228]
本发明提出一种5g超高清视频监控系统及方法,通过循环执行从图像传感器读取一帧图像写入第一图像对象,将图像序号为0的第一图像对象的图像数据存储到关键帧对象,当图像序号变量值大于0时,计算第一图像对象的图像数据与第二图像对象的图像数据统计差值,将图像序号变量值写入普通帧对象数组中下标为图像序号变量值-1的子对象的图像序号中,将第一图像对象的图像数据与第二图像对象的偏移像素坐标值数组、偏移变量数组、差异像素坐标值数组以及差异像素颜色编码数组写入普通帧对象数组中对应的子对象中,将第一图像对象中的图像数据存储到第二图像对象,图像序号变量执行自增运算的步骤,能够有效降低超高清视频监控设备的处理能力和散热能力的要求。
[0229]
应当说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0230]
依照本发明的实施例如上文所述,这些实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施例。显然,根据以上描述,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地利用本发明以及在本发明基础上的修改使用。本发明仅受权利要求书及其全部范围和等效物的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献