一种四分幅高速相机多通道图像上位机接收方法及系统与流程

摘要: 本申请涉及数据传输领域,尤其涉及一种四分幅高速相机多通道图像上位机接收方法及系统。背景技术:1、四分幅高速相机作为一种关键的瞬态物理过程观测设备,广泛应用于爆炸...
一种四分幅高速相机多通道图像上位机接收方法及系统与流程

本申请涉及数据传输领域,尤其涉及一种四分幅高速相机多通道图像上位机接收方法及系统。

背景技术:

1、四分幅高速相机作为一种关键的瞬态物理过程观测设备,广泛应用于爆炸力学、材料动态响应等前沿科学实验领域。其核心特征在于能够通过四个独立的成像通道,在极短的时间间隔内同步捕获四幅高分辨率图像,从而记录下高速、瞬态的物理现象。然而,这种工作方式也带来了巨大的数据吞吐挑战,单台设备在高速采集时,每秒可产生数百兆字节(mb)乃至数吉字节(gb)的原始图像数据。

2、当前,主流的上位机图像接收方案多采用单线程阻塞式接收模式。该模式存在两个显著的技术缺陷:首先,四个通道的图像数据流在单一处理线程中交织,极易在上位机内存中发生乱序或错位,尤其在高帧率工况下,丢帧率可高达15%,无法满足高精度实验对数据完整性的严苛要求;其次,数据接收与后续的解析、显示、存储等操作耦合在同一线程中,当上位机负载较高时,接收队列极易发生阻塞,导致后续到达的数据帧被直接丢弃,造成数据丢失。此外,现有方案缺乏对不同性能上位机硬件的适配优化,在普通工控机上运行时,常引发cpu占用率激增、内存溢出等问题,严重限制了四分幅高速相机的应用范围和可靠性。

技术实现思路

1、本发明的目的在于:为了解决现有技术在处理四分幅高速相机产生的大数据量时,因采用单线程阻塞式接收模式,导致数据乱序、丢帧严重,且接收与处理过程相互阻塞,无法满足高帧率下对数据接收的实时性与完整性要求的问题,提供一种四分幅高速相机多通道图像上位机接收方法及系统。

2、本申请的上述目的是通过以下技术方案得以实现的:

3、s1:在所述上位机设备的内存中,预分配三块相互独立的内存区域,分别作为原始数据环形缓冲区、解析帧缓存区和输出缓存区;

4、s2:创建四个独立的接收线程,每个接收线程与fpga端的一个成像通道一一对应;当任一成像通道完成一帧图像数据的传输时,通过硬件中断通知其对应的接收线程;

5、s3:被通知的接收线程将接收到的图像数据写入所述原始数据环形缓冲区;

6、s4:将处理后的四分幅图像帧送入所述输出缓存区,并根据预设的输出模式,将图像数据推送至显示线程进行实时预览并写入存储设备进持久化存储。

7、步骤s1包括:

8、所述原始数据环形缓冲区采用生产者-消费者模型,其写指针由所述接收线程控制,读指针由独立的解析线程控制,所述写指针和读指针的更新通过原子操作实现,以实现无锁的数据读写。

9、步骤s1还包括:

10、所述三块相互独立的内存区域的总大小,根据所述四分幅高速相机的最大连续采集时长、图像分辨率和帧率进行配置,其计算公式为:其中:为预分配的总内存大小;为成像通道数量,其值为4;为最大连续采集时长,单位为秒;为相机帧率,单位为帧每秒;和分别为图像的宽度和高度分辨率,单位为像素;为图像数据的位深,单位为字节。

11、步骤s2包括:

12、在创建四个独立的接收线程后,将每个接收线程绑定至上位机设备的不同物理cpu核心上,实现多核心并行接收处理。

13、步骤s3包括:

14、接收线程在将图像数据写入原始数据环形缓冲区前,还包括对接收到的图像数据帧进行完整性校验的步骤,若校验失败,则丢弃该数据帧并记录错误日志。

15、步骤s3还包括:

16、将接收到的图像数据写入所述原始数据环形缓冲区的过程,具体为:

17、通过调用系统底层的dma映射接口,由fpga端的传输总线将数据直接写入上位机用户内存中的原始数据环形缓冲区,以跳过内核态的内存拷贝环节,实现零拷贝数据传输。

18、步骤s4包括:

19、从所述原始数据环形缓冲区读取四路通道的图像数据,从所述解析帧缓存区获取图像解析参数,将四路原始的图像数据与解析参数结合,重组为完整的四分幅图像帧。

20、所述输出模式包括实时预览模式和本地存储模式;

21、当启用实时预览模式时,所述输出缓存区中的图像数据被推送至独立的显示线程进行渲染;

22、当启用本地存储模式时,所述输出缓存区中的图像数据通过数据流写入接口被保存至磁盘。

23、一种四分幅高速相机多通道图像上位机接收系统,其运行于上位机设备中,所述上位机设备与具有四个独立成像通道的fpga端四分幅高速相机连接,所述系统包括:

24、内存预分配模块,用于在所述上位机设备的内存中,预分配三块相互独立的内存区域,分别作为原始数据环形缓冲区、解析帧缓存区和输出缓存区;

25、并行接收模块,用于创建四个独立的接收线程,每个接收线程与fpga端的一个成像通道一一对应;并响应于任一成像通道完成一帧图像数据传输时发出的硬件中断,通知其对应的接收线程;

26、数据写入模块,用于将被通知的接收线程所接收到的图像数据写入所述原始数据环形缓冲区;

27、多模式输出模块,用于将处理后的四分幅图像帧送入所述输出缓存区,并根据预设的输出模式,将图像数据推送至显示线程进行实时预览,和/或写入存储设备进行持久化存储。

28、本申请提供的技术方案带来的有益效果是:

29、并行接收与零拷贝:采用四个独立线程并行接收四路图像数据,并结合硬件中断与dma零拷贝技术,将数据直接写入预分配的内存缓冲区,避免了传统单线程阻塞和内核态数据拷贝带来的延迟。

30、无锁环形缓冲区:在内存中预分配独立的原始数据环形缓冲区,并采用生产者-消费者模型,通过原子操作实现接收线程与解析线程间的无锁数据交换,彻底消除了线程竞争和内存碎片问题。

31、多模式解耦输出:将图像接收、解析与输出(实时预览、磁盘存储)流程解耦,通过独立的输出缓存区支持多路并行输出,确保高负载下数据接收的稳定性。

1.一种四分幅高速相机多通道图像上位机接收方法,其特征在于,运行于上位机设备中,所述上位机设备与具有四个独立成像通道的fpga端四分幅高速相机连接,所述方法包括以下步骤:

2.如权利要求1所述的一种四分幅高速相机多通道图像上位机接收方法,其特征在于,步骤s1包括:

3.如权利要求1所述的一种四分幅高速相机多通道图像上位机接收方法,其特征在于,步骤s1还包括:

4.如权利要求1所述的一种四分幅高速相机多通道图像上位机接收方法,其特征在于,步骤s2包括:

5.如权利要求1所述的一种四分幅高速相机多通道图像上位机接收方法,其特征在于,步骤s3包括:

6.如权利要求1所述的一种四分幅高速相机多通道图像上位机接收方法,其特征在于,步骤s3还包括:

7.如权利要求1所述的一种四分幅高速相机多通道图像上位机接收方法,其特征在于,步骤s4包括:

8.如权利要求1所述的一种四分幅高速相机多通道图像上位机接收方法,其特征在于,所述输出模式包括实时预览模式和本地存储模式;

9.一种四分幅高速相机多通道图像上位机接收系统,用于实现如权利要求1-8任意一项所述的一种四分幅高速相机多通道图像上位机接收方法,其特征在于,其运行于上位机设备中,所述上位机设备与具有四个独立成像通道的fpga端四分幅高速相机连接,所述系统包括: