本发明涉及图像传输,尤其涉及基于图像传输的自适应变帧存储方法。
背景技术:
1、近年来,随着显示面板的尺寸逐渐增大和集成电路的零件更为精密,工业缺陷检测现场要求分辨率更高的相机,然而,分辨率更大带来数据量剧增的问题,巨量数据稳定传输难以得到保障。比如长光辰芯研制的152mp像素cmos图像传感器,数据位宽为12bit,最高帧率达16fps,若卡顿1秒,会造成27.3gb的数据丢失,这对现有的传输协议提出严峻挑战。
2、现有技术中,解决因卡顿而造成数据丢失的方法主要有三个,第一,通过图像压缩来增加传输内容,但是压缩会对图像质量产生影响,对缺陷测试中一些纹路丰富的工件时,压缩率很低,而且可能会造成关键纹路缺失,无法辨认。另外,压缩率高的算法复杂程度高,无法应用到超高分辨率的工业相机中,而简单算法的压缩率低,效果不显著,或者只能应对某单一场景。
3、为解决图像传输中的数据丢失问题,先前的技术如中国专利公开号cn116405790a所公开的高速相机自适应变帧率图像处理方法,该专利提出了一种通过比较当前帧图像与上一帧图像的特征参数差异判断是否进行图像存储的方法。然而,该方法对图像质量要求较高,特征参数的差异很大程度上依赖于拍摄的图片,通用性较低,对处理器性能的要求也较大,导致成本较高,并且未与采集卡进行有效数据的判断,无法准确评估上位机对图像数据的接收成功情况。
4、另一方面,中国专利公开号cn117082241a揭示了一种高速工业相机图像传输优化方法,其中通过相机端的自适应压缩和无线传输优化传输速度。然而,该方法仍然对图像质量较为敏感,可能在高干扰环境中导致误判,压缩算法对处理器要求较高,而无线传输的不确定性可能引发丢帧问题,对于传输质量要求较高的领域存在一定局限性。
5、鉴此,目前国内外尚未出现完全解决图像数据传输中卡顿和丢帧问题的方法。
技术实现思路
1、基于背景技术存在的技术问题,本发明提出了基于图像传输的自适应变帧存储方法,显著提升了图像传输过程的可靠性,显著减少了由于接收端卡顿而导致的数据丢失情况,具备实际应用的重要意义和广阔前景。
2、本发明提出的基于图像传输的自适应变帧存储方法,方法步骤如下:
3、s1:工业相机记录时间戳,并添加于在图像数据后,通过coaxpress发送给图像采集卡;
4、s2:图像采集卡若正常接收数据,发送应答信号给工业相机;
5、s3:若图像采集卡出现缓存区存满,在应答信号中首先添加表示缓存区满的唯一的类型域标识符0x884a,获取当前时间戳并同步,在应答信号中添加暂停时间参数,并向工业相机发送;
6、s4:工业相机在解析应答信号过程中,若检测到特定标识符0x884a,提取暂停时间参数并换算实际暂停发送时长,工业相机在暂停时长内将数据多路存储置片外存储器;
7、s5:待暂时结束后,将存储器内的数据通过coaxpress融合多通道发送。
8、优选地,s3中图像采集卡获取当前时间戳并同步的方法步骤如下:
9、s31:图像采集卡提取工业相机发送信号中的时间戳timet-camera;
10、s32:工业相机发送同步信号给图像采集卡,并记录发送时刻t1,然后在followup包中,将t1发给图像采集卡;
11、s33:图像采集卡记录收到同步信号时间t2,收到followup包后,记录时间t1;
12、s34:图像采集卡向工业相机发送delayreq包,并在本地记录发送时刻t3;
13、s35:工业相机接收到delayreq包,记录接收时刻t4,然后将t4通过delayresp发送给图像采集卡;
14、s36:图像采集卡计算本地的时钟偏移time_offset=(t2+t3-t1-t4)/2;
15、s37:根据时钟比例因子csf,根据timet-local=(timet-camera*csf)+time_offset同步本地的时间戳;
16、s38:在应答信号中添加暂停时间参数。
17、优选地,s38中添加暂停时间参数为当图像采集卡检测缓存已满后,在返回的特殊标识符后添加2字节的暂停时间参数;暂停时间参数为图像采集卡请求工业相机停止发送数据帧的时间长度。
18、优选地,s4中提取暂停时间参数并换算实际暂停发送时长的方法步骤如下:
19、s41:fpga设置一个计数器cnt_frame用于状态机的跳转,状态机按顺序开始识别,若检测到唯一的类型域标识符0x884a,跳转至提取暂停时间参数的操作;
20、s42:暂停帧的操作参数字段中获取2字节的暂停时间参数值;
21、s43:根据当前的传输速率,计算传输512位数据所需要的时间t512。
22、s44:将暂停时间参数值与t512相乘,得到实际需要暂停的时间tpause=暂停时间参数值*t512。
23、优选地,s4中工业相机中在暂停时长内将数据多路存储置片外存储器的方法为:fpga根据工作时钟频率,定时长度为tpause,在该段时间内,设置计数器控制电平为高,下降沿表示计时结束;在该段定时时间内,工业相机设置两个fifo,使用乒乓操作分多通道存入片外存储器,且图像采集卡不接收任何数据帧。
24、优选地,s5将存储器内的数据通过coaxpress融合多通道发送的方法步骤为:当定时器超时后,图像采集卡恢复正常接收状态,继续接收数据帧;工业相机开启coaxpress的通道,全速向采集卡传输图像数据。
25、本发明的有益技术效果:
26、(1)本发明的自适应变帧存储方法具有适用性,对于不同的工业相机和采集卡均可实现自适应变帧存储;
27、(2)本发明的自适应变帧存储方法考虑到数据的发送存在时延的问题,通过时间戳同步,有效减少因时延导致工业相机和图像采集卡不同步的问题,使系统工作更加精确、有效;
28、(3)本发明的自适应变帧存储方法在图像采集卡应答信号中添加暂停时间参数,使系统能及时处理缓存区满的情况,避免数据的丢失;
29、(4)本发明的自适应变帧存储方法根据工业相机提取pause时间参数并换算实际暂停发送时长,在暂停时长内将数据多路存储置片外存储器;
30、(5)本发明的自适应变帧存储方法在暂定时长结束后,多通道融合发送数据,确保了数据的高速、有效传输。
1.基于图像传输的自适应变帧存储方法,其特征在于,方法步骤如下:
2.根据权利要求1所述的基于图像传输的自适应变帧存储方法,其特征在于,s3中图像采集卡获取当前时间戳并同步的方法步骤如下:
3.根据权利要求2所述的基于图像传输的自适应变帧存储方法,其特征在于,s38中添加暂停时间参数为当图像采集卡检测缓存已满后,在返回的特殊标识符后添加2字节的暂停时间参数;暂停时间参数为图像采集卡请求工业相机停止发送数据帧的时间长度。
4.根据权利要求1所述的基于图像传输的自适应变帧存储方法,其特征在于,s4中提取暂停时间参数并换算实际暂停发送时长的方法步骤如下:
5.根据权利要求1所述的基于图像传输的自适应变帧存储方法,其特征在于,s4中工业相机中在暂停时长内将数据多路存储置片外存储器的方法为:fpga根据工作时钟频率,定时长度为tpause,在该段时间内,设置计数器控制电平为高,下降沿表示计时结束;在该段定时时间内,工业相机设置两个fifo,使用乒乓操作分多通道存入片外存储器,且图像采集卡不接收任何数据帧。
6.根据权利要求1所述的基于图像传输的自适应变帧存储方法,其特征在于,s5将存储器内的数据通过coaxpress融合多通道发送的方法步骤为:当定时器超时后,图像采集卡恢复正常接收状态,继续接收数据帧;工业相机开启coaxpress的通道,全速向采集卡传输图像数据。
