一种用于光学相机通信的同步方法

文档序号:31475739发布日期:2022-09-10 00:24阅读:330来源:国知局
一种用于光学相机通信的同步方法

1.本发明属于可见光通信领域,涉及一种用于光学相机通信的同步方法。


背景技术:

2.光学相机通信(occ)是可见光通信技术的一个重要分支,与传统的可见光通信技术(vlc)相比,光学相机通信用摄像头中的图像传感器作为接收端,而不是传统的光电传感器。虽然引入摄像头会带来一定的成本,但在可以复用智能设备(如手机)上现有的摄像头时,就可以规避这一缺点,此时摄像头不单单作为一个摄影工具,也可以作为一个通信工具。这项技术不仅保留了vlc技术安全性高、频带资源免费、不受电磁干扰等特点,而且可以运用于5g和物联网中,在室内和室外都有广阔的应用场景。
3.为了提高信息传输速率和市场上大部分摄像头类型的客观影响,一般采用具有卷帘快门特性的cmos型摄像头,该特性能帮助捕获智能光源的高频闪烁信号。此时智能光源中的嵌入式处理设备通过数据帧中的0、1信号来控制智能光源高频闪烁,从而将原始数据调制成光信号并发送出去;摄像头通过连拍或视频预览的方式捕获光信号时,由于存在卷帘快门特性,图像中读取到的光信号转变为具有明暗条纹的图像,明暗条纹对应这智能光源发送的0、1信号,故可以通过图像处理算法可以将明暗条纹信息解调回原始的数据。
4.但是在实际应用时,摄像头在拍摄下一帧图像后,要对图像数据进行存储并且对光信号进行精确读取要经过较为复杂的图像处理算法,这就带来了一定的处理时延。而进行光通信时光信号一般以较高速率连续传输,若恰好在这段处理时间进行光通信,必然会导致数据的丢失,影响信息的读取和通信的正常进行。
5.前人提出过相关的发明专利申请,如专利cn110838876a提出过一种解决图像帧间数据丢失的技术,但是它们设计的帧结构冗余字段太长,导致信息传输速率较慢,且要求存在接收端到发送端的双向通信信道,才可以实现发送端和接收端在数据收发上的快速同步。同时,该方法无法满足点对多点的通信,适用范围较窄。


技术实现要素:

6.针对上述研究背景,本发明结合光学相机通信的具体特点,提供了一种用于光学相机通信的同步方法,该同步方法解决了光学相机通信中单工模式下因图像帧间传输异步而导致的数据丢失问题,可实现较高的光学相机通信传输速率,支持一对一及一对多的通信拓扑结构,具有使用灵活、适用性广等优点。
7.为实现上述技术效果,本发明提出的技术方案为:一种用于光学相机通信的同步方法,主要涉及到光学相机通信中作为发送端的智能光源和作为接收端的光学相机;进一步的,所述智能光源,具有嵌入式处理器,所述嵌入式处理器包括但不限于组帧模块和驱动模块;进一步的,所述光学相机,特指cmos型的摄像头,因为所提出的同步方法要用到
cmos型摄像头的卷帘快门特性,这也符合提高信息传输速率的需求;进一步的,所述同步方法的具体实现流程是:智能光源先通过组帧模块将来自网络上层的封装数据封装成规定格式的数据帧,然后通过驱动模块将生成的数据帧调制成光信号并发送给光学相机;光学相机以图像的形式接收光信号,获取到的图像帧先通过图像处理和解调算法,然后由解调结果进行错位判断及自动矫正,就可以实现发送端和接收端在数据收发上的快速同步。
8.进一步的,所述驱动模块将生成的数据帧调制成光信号,是指智能光源的驱动模块由数据帧中的0、1信号来控制智能光源的亮灭,即通过控制智能光源高频闪烁的方式将数据帧调制成光信号并发送出去。
9.进一步的,所述光学相机以图像的形式接收光信号,是指光学相机通过连拍或视频预览的方式进行光信号的接收,由于cmos型摄像头具有卷帘快门特性和智能光源是高频闪烁的,光信号在被光学相机接收后会转变为具有明暗条纹的图像,而明暗条纹中就蕴含了数据帧的0、1信号,即明条纹代表1,暗条纹代表0。
10.进一步的,所述数据帧的规定格式,包括无效数据部分、开始标识、控制开销、数据信息和结束标识这五个部分;进一步的,所述开始标识、控制开销、数据信息和结束标识又被称为有效数据部分。
11.进一步的,所述开始标识和结束标识为交替1、0信号,通过这样设计,它们不仅可以用于有效数据的定界,也可以用于在数据解调时获取到单个数据位所代表的条纹宽度大小。
12.进一步的,所述无效数据部分为连续的信号1,用于抵消光学相机图像帧间存在的处理时间,通过这样设计,也尽可能地减少了0信号的出现次数,避免连续发送数据0时,发生人眼可察觉到的智能光源闪烁。
13.进一步的,所述开始标识、结束标识和无效数据部分的设计,也用于实现错位判断及自动矫正。
14.进一步的,所述控制开销字段是保留字段,用于支持一些特殊的应用需求,如对来自网络上层的封装数据分组传输的需求等,不需要时可以设为0。
15.进一步的,所述数据信息字段用于存放来自网络上层的封装数据,通过类似于隧道技术的方式,支持将来自网络上层的数据按所设计的数据帧格式要求进行封装,以实现数据传输。
16.进一步的,所述上层网络包括但不限于网络层。
17.进一步的,所述数据信息字段中不允许出现与无效数据部分、开始标识和结束标识形式一样的信号,若存在就要作字符填充处理。
18.进一步的,将每帧数据帧的长度设计为能在光学相机一次曝光时间和处理时间内出现,并将有效数据部分的长度设计为只能在光学相机的曝光时间内完整出现,无效数据部分的长度设计为只能在光学相机的处理时间内完整出现,同时,规定只有接收到完整的有效数据部分时,才将数据信息字段的数据记录到缓存中。所以只要设定好数据帧格式中各字段中的长度,保证接收某一帧图像时接收到完整的有效数据部分,而在处理这帧图像
时智能光源的闪烁中蕴含的是无效数据部分的数据,同时控制曝光时间和处理时间的大小前后一致,就保证在这之后的所有有效数据也能全部获取而不会产生数据丢失的现象。
19.进一步的,所述曝光时间是指光学相机可以进行光信号接收的时间段,记为;进一步的,所述处理时间是指光学相机在进行图像的转存和处理,无法进行光信号接收的时间段,记为。
20.进一步的,要放入数据信息字段的来自网络上层的封装数据过长,不满足每帧数据帧的帧长要求时,要在保留的控制开销字段设置总数和编号字段,对要放入数据信息字段的来自网络上层的封装数据进行分组处理,总数字段用于标识分成组的总数,编号字段标识分组后各组的前后顺序,即先通过帧拆分的方式,逐步传输,待接收后,再通过帧合并的方式,来满足来自网络上层的封装数据过长时的数据传输需求。进一步的,要放入数据信息字段的来自网络上层的封装数据过短,不满足每帧数据帧的帧长要求时,要对放入数据信息字段的来自网络上层的封装数据的末尾进行补零处理,来满足来自网络上层的封装数据过短时的数据传输需求。进一步的,由于光学相机读取信息是随机接入的,第一帧图像中很大概率会出现错位现象,即无效数据部分可能出现在接收到的图像帧中,发生错位后会使后续所有图像帧也都发生错位,通信无法进行,所以有必要进行错位的判断及矫正。
21.进一步的,所述错位判断及自动矫正的实现流程是在对光学相机曝光时间和处理时间进行人为设定的基础上,当获取到一帧图像信息时,先通过图像处理和解调算法后,由获取到的开始标识、结束标识和无效数据部分在图像帧中的位置或存在与否来判断是否错位;当需要进行错位矫正,根据错位情况,通过已知的光学相机曝光每一列像素所需的时间t、每一列像素所占的宽度h和开始标识、结束标识或无效数据部分在图像帧中的位置,计算出偏离时间,最后根据偏离时间对本次处理时间进行自适应调整,就可以实现错位矫正,之后在下一次曝光时间内获取下一帧图像,并重复错位判断及自动矫正操作;当不需要进行错位矫正时,就可将解调后获取到的数据信息字段的数据记录到缓存里,之后在下一次曝光时间内获取下一帧图像,并重复错位判断及自动矫正操作。
22.进一步的,根据具体错位情况的不同,偏离时间的计算公式有:错位情况一: 其中l为在无效数据部分后出现开始标识时,该开始标识距图像最左端的距离大小(假设条纹从左往右依次生成,下文同);错位情况二: 其中l为无效数据部分后无开始标识且无效数据部分前有结束标识时,无效数据部分距图像最左端的距离大小;错位情况三:偏离时间=该情况为特殊情况,接收到的一帧图像中均是无效数据部分。此时选取曝光时间为偏离时间,然后以此对本次处理时间进行自适应调整,之后再重新将获取到的下一帧图
像重新进行错位情况判断;可见经过有限次错位情况三的矫正操作总可以将错位情况三转变为错位情况一或二,最后可根据错位情况一或二的矫正操作完成错位矫正。
23.本发明设计的同步方法主要是通过设计进行通信时的数据帧格式和自适应调整光学相机处理时间的方式,实现了光学相机在可以进行光信号接收时,智能光源才发送有效数据,而光学相机在不能够进行光信号接收时,智能光源以发送无效数据的方式,达到停止发送有效数据的效果,以此实现光学相机和智能光源在数据收发上的快速同步。由于用较少的冗余位就实现了图像帧间无数据丢失的通信,解决了光相机通信中单工模式下的同步问题,所以使用这一同步方法时,提高了信息传输速率。
24.综上所述,与现有技术相比,本发明具有以下优势:本发明公开了一种用于光学相机通信的同步方法,该同步方法解决了光学相机通信中单工模式下因图像帧间传输异步而导致的数据丢失问题,可实现较高的光学相机通信传输速率,支持一对一及一对多的通信拓扑结构,具有使用灵活、适用性广等优点。
附图说明
25.图1为同步方法流程示意图;图2为数据丢失问题示意图;图3为数据丢失问题实例图;图4为不同智能光源闪烁频率下同一摄像头捕获到的图像;图5为错位情况一及矫正示意图;图6为错位情况二及矫正示意图;图7为错位情况三及矫正示意图。
具体实施方式
26.为了使本发明的特征、技术方案及优点更加清楚明白,下面结合附图对本发明作更进一步的说明。
27.图1为同步方法的流程示意图,由图可见,同步方法主要涉及到光学相机通信中作为发送端的智能光源和作为接收端的光学相机。其中智能光源带有嵌入式处理器,包括但不限于驱动模块和组帧模块,光学相机特指cmos型的摄像头。当有待发送的来自网络上层的封装数据时,智能光源先通过组帧模块将来自网络上层的封装数据封装成规定格式的数据帧,然后通过驱动模块将生成的数据帧调制成光信号并发送给光学相机;而光学相机以图像的形式接收光信号,当获取到一帧图像信息时,先通过图像处理和解调算法后,由获取到的开始标识、结束标识和无效数据部分在图像帧中的位置或存在与否来判断是否错位;当需要进行错位矫正,根据错位情况,通过已知的光学相机曝光每一列像素所需的时间t、每一列像素所占的宽度h和开始标识、结束标识或无效数据部分在图像帧中的位置,计算出偏离时间,最后根据偏离时间对本次处理时间进行自适应调整,就可以实现错位矫正,之后在下一次曝光时间内获取下一帧图像,并重复错位判断及自动矫正操作;当不需要进行错位矫正时,就可将解调后获取到的数据信息字段的数据记录到缓存里,之后在下一次曝光时间内获取下一帧图像,并重复错位判断及自动矫正操作。可见,通过智能光源的组帧模块和错位判断及自动矫正后,就可以实现发送端和接收端在数据收发上的快速同步。
28.为了直观地说明数据丢失问题,提供图2和图3这两幅示意图。
29.图2为数据丢失问题示意图,虽然光学相机具有卷帘快门的特性能从智能光源的高频闪烁中读取0、1信号,但是智能光源是连续发送数据的,而一般光学相机的帧率是每秒30或60帧,也就是说在接收完一帧图像数据后会有一段处理时间,这段时间包括光学相机采集到的数据存储下来并转成图像所花费的时间,还有算法对图像的处理时间(统称为处理时间),虽然这部分时间很短但在采集高速信息时是不可忽视的,这会导致如图2所示的数据丢失,而一帧数据帧丢失了部分数据,整个数据帧就没有用处了,所以很有必要设计一种防止数据丢失的方法。图3是数据丢失问题的实例图,这是智能光源循环发送一组数据时,光学相机接收到的连续三帧图像,可以很明显的看出,在一帧图像内接收端可以正常的接收这组循环数据,但在各帧图像之间发生了明显的数据丢失。
30.进行通信时,每个数据帧格式包括无效数据部分、开始标识、控制开销、数据信息和结束标识五个部分;所述开始标识、控制开销、数据信息和结束标识又被称为有效数据部分;同步方法规定将有效数据部分的长度设计为只能在光学相机的曝光时间内完整出现,无效数据部分的长度设计为只能在光学相机的处理时间内完整出现,同时,规定只有接收到完整的有效数据部分时,才将数据信息字段的数据记录到缓存中。通过这样的设计,只要设定好数据帧格式中各字段中的长度,保证接收某一帧图像时接收到完整的有效数据部分,而在处理这帧图像时智能光源的闪烁中蕴含的是无效数据部分的数据,同时控制曝光时间和处理时间的大小前后一致,就保证在这之后的所有有效数据也能全部获取而不会产生数据丢失的现象。
31.下面说明数据帧格式中各字段中的长度设置,图4是用小米mix2s手机摄像头对以1khz和2khz为闪烁频率的智能光源发送的1、0交替信号进行读取时,一帧图像获取到的条纹数,可见当智能光源的闪烁频率为1khz时,可以得到总计64个明暗条纹,即可得到64个0、1信号;当智能光源的闪烁频率为2khz时,可以得到总计128个明暗条纹,即可得到128个0、1信号,可见光源闪烁频率不同,有效数据部分的总长度就不同。当然,为了保证信息传输效率,应该将数据信息字段的长度设置得相应长些,但频率越大明暗间隔会变得不清晰,图像处理起来会越困难,算法难易和一帧传输的数据量之间两者就得通过实际需求进行权衡选择。而无效数据部分长度就比较简单设定,只要测出帧间处理间隔,再换算成条纹数即可。
32.下面举一个有效数据部分各字段长度配置的例子,若一帧图像帧具有128 bit可用数据位时,一帧数据帧中有效数据部分各字段的建议长度为:开始标识和结束标识各为6次交替1、0信号,控制开销保留24bit,数据信息字段则剩下80bit,可见,一帧内可读取的数据位较多,信息传输速率较高。
33.由于光学相机读取数据是具有随机接入的特性,第一帧图像中很大概率会出现错位现象,即无效数据部分可能出现在接收到的图像帧中,由于对数据帧进行的设定,发生错位后会使后续所有图像帧也都发生错位,通信无法进行,所以有必要进行错位的判断及矫正。
34.虽然错位判断及自动矫正的具体流程在图1中已经给出,但为了更直观地说明不同错位情况和相应的错位矫正方法,给出图5、图6和图7这三幅示意图,这三幅图中表示的
就是所有可能发生的错位情况及相应的矫正方法。其中这三幅图里的t1、t2、t3都表示着进行光学相机通信时的三个时间点,t1为光学相机开始曝光的时间点,t2为光学相机结束曝光并开始进行处理图像帧的时间点,t3为光学相机结束图像帧处理并开始下一次曝光的时间点(为了作图方便,只把这三个时间点标识出,但已经足够对错位判断及自动矫正做出清晰的说明),可见,曝光时间的大小,处理时间的大小。
35.注意为了方便表示,示意图上的数据帧只占了图像的一部分,而实际情况下代表数据帧的明暗条纹是覆盖整个图像的,并且为了方便表示,假设条纹从左到右生成,虽然一些光学相机也可能会使条纹从右到左生成,但由于我们只关注图像的条纹信息,故只需解调时注意一下即可,不会影响同步方法的实际效果;同时图5和图6只体现了处理时间和曝光时间一致的情况,但不一致时也可以使用相同的错位判断方法。
36.图5表示了错位情况一,此时图像中的开始标识出现在无效数据部分的后面(无论无效数据部分前面有无结束标识),就可以通过公式:计算出偏离时间,其中l为开始标识距图像最左端的距离大小,t为光学相机曝光每一列像素所需的时间、h为每一列像素所占的宽度,然后根据偏离时间对本次处理时间进行自适应调整,就可以解决错位问题。
37.图6表示了错位情况二,此时图像中的结束标识出现在无效数据部分的前面,且无效数据帧持续到图像曝光时间结束,就可以通过公式:计算出偏离时间,其中l为无效数据部分距图像最左端的距离大小,t为光学相机曝光每一列像素所需的时间、h为每一列像素所占的宽度,然后根据偏离时间对本次处理时间进行自适应调整,就可以解决错位问题。
38.图7表示了错位情况三,接收到的一帧图像中均是无效数据部分。此时选取曝光时间为偏离时间,然后以此对本次处理时间进行自适应调整,之后再重新将获取到的下一帧图像重新进行错位情况判断;可见经过有限次错位情况三的矫正操作总可以将错位情况三转变为错位情况一或二,最后可根据错位情况一或二的矫正操作完成错位矫正。
39.下面是具体场景下的实施示例一:(发送端循环发送某数据的场景)当一个大学课堂到了上课时间,管理人员通过后台服务器控制教室里的智能光源来发布签到活动,教室内的智能光源在指定的时间内通过人眼看不清的高频闪烁循环发送蕴含签到信息的光信号(即在数据信息字段放入签到信息),若干个学生通过自己的智能手机摄像头对智能光源的高频闪烁进行信息的读取,再通过设计好的手机app调用相应的处理算法读取出完整的签到信息,并上传后台服务器。在设定的签到维持时间结束后,管理人员可以在后台服务器生成的签到信息汇总表中,知道各学生是否成功进行签到。由于该场景下,发送端在循环发送信号,故接收端可以在指定时间内的任意时刻进行光信号的读取,只要先完成错位矫正,总能在较短的时间内获取到发送端发送的数据。
40.下面是具体的实施示例二:(点对点通信场景)当有一台智能手机a要接收来自另一台智能手机b的数据,其中手机b的闪光灯作为数据的发送端,手机a的摄像头作为数据的接收端,此时手机b的闪光灯先发送若干段同步码信号,同步码信号是满足同步方法设计的
数据帧格式的信号,只不过此时不关注数据信息字段内放入的数据,该信号仅仅用于接收端的错位矫正。发完同步码后,手机b再把待发送的数据按数据帧格式的要求封装成帧后(待发送数据过长时设置控制开销字段实现分组发送),控制手机b的闪光灯进行光信号的发送,由于此时手机a已经通过同步码完成了错位矫正,故不会发生图像帧间的数据丢失,通信可以正常进行。
41.综上所述描绘了本发明的主要特征和本发明的技术方案,能突出本发明的优点;本行业的技术人员应该了解,本发明不受上述实施实例的限制,上述实施实例和说明书中描述的只是用于解释本发明,在不脱离本发明精神和范围的前提下,本发明还会有各种改进和润色,这些改进和润色都落入要求保护的本发明范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1