1.本技术涉及计算机技术领域,具体涉及一种用于确定飞行时间的方法及装置。
背景技术:2.直接飞行时间技术基于感光器件接收光子信号的接收时间,对不同时间箱中的光子数量进行统计,构建直方图,然后根据该直方图确定光子的飞行时间。直方图的时间箱宽度越窄,则确定的飞行时间的精度越高,但同时也增加了时间箱的数量,增大了内存需求。
3.一种解决方式是粗测加细测的方式,粗测先构建第一直方图,以确定光子信号所在的第一时间范围,细测则仅构建该第一时间范围内的第二直方图,从而降低了第二直方图的时间范围,也就降低了第二直方图所需的时间箱数量,降低对内存的需求。在使用粗测加细测的方式中,如何以一种简单的方式实现对测量过程的控制成为亟需解决的问题。
技术实现要素:4.有鉴于此,本技术实施例提供一种用于确定飞行时间的方法及装置,能够简化对测量过程的控制。
5.第一方面,提供一种用于确定飞行时间的方法,包括:根据感光器件在预设时间范围内接收光子信号的接收时间,以第一时间箱宽度构建所述预设时间范围内的第一直方图;根据所述第一直方图,确定经物体反射的光子信号所在的第一时间范围;控制所述感光器件在所述预设时间范围内接收光子信号;根据在所述第一时间范围内接收到的光子信号的接收时间,以第二时间箱宽度构建所述第一时间范围内的第二直方图,所述第二时间箱宽度小于所述第一时间箱宽度;根据所述第二直方图,确定经所述物体反射的光子信号的飞行时间。
6.在一个实施例中,所述第一时间范围为所述第一直方图中一个或多个时间箱对应的时间范围。
7.在一个实施例中,所述方法还包括:根据最大值法、质心法或者机器学习法,确定所述一个或多个时间箱。
8.在一个实施例中,所述一个或多个时间箱为所述第一直方图中的峰值所在的时间箱;或者,所述一个或多个时间箱包括所述第一直方图中的峰值所在的时间箱以及与所述峰值所在的时间箱相邻的时间箱。
9.在一个实施例中,所述第一时间范围大于或等于经所述物体反射的光子信号的脉冲宽度。
10.在一个实施例中,所述方法还包括:使用第一时间数字转换器tdc确定用于构建所述第一直方图的光子信号的接收时间,所述第一tdc的测量时间间隔与所述第一时间箱宽度相等;使用第二tdc确定用于构建所述第二直方图的光子信号的接收时间,所述第二tdc的测量时间间隔与所述第二时间箱宽度相等。
11.在一个实施例中,用于对所述第一直方图中的光子信号进行计数的内存空间与用
于对所述第二直方图中的光子信号进行计数的内存空间中的至少部分相同。
12.在一个实施例中,所述感光器件为雪崩光电二极管。
13.在一个实施例中,所述方法还包括:根据所述飞行时间,确定所述物体的距离。
14.第二方面,提供一种用于确定飞行时间的装置,包括:第一直方图构建单元,用于根据感光器件在预设时间范围内接收光子信号的接收时间,以第一时间箱宽度构建所述预设时间范围内的第一直方图;第一确定单元,用于根据所述第一直方图,确定经物体反射的光子信号所在的第一时间范围;控制单元,用于控制所述感光器件在所述预设时间范围内接收光子信号;第二直方图构建单元,用于根据在所述第一时间范围内接收到的光子信号的接收时间,以第二时间箱宽度构建所述第一时间范围内的第二直方图,所述第二时间箱宽度小于所述第一时间箱宽度;第二确定单元,用于根据所述第二直方图,确定经所述物体反射的光子信号的飞行时间。
15.在一个实施例中,所述第一时间范围为所述第一直方图中一个或多个时间箱对应的时间范围。
16.在一个实施例中,所述装置还包括:第三确定单元,用于根据最大值法、质心法或者机器学习法,确定所述一个或多个时间箱。
17.在一个实施例中,所述一个或多个时间箱为所述第一直方图中的峰值所在的时间箱;或者,所述一个或多个时间箱包括所述第一直方图中的峰值所在的时间箱以及与所述峰值所在的时间箱相邻的时间箱。
18.在一个实施例中,所述第一时间范围大于或等于经所述物体反射的光子信号的脉冲宽度。
19.在一个实施例中,所述装置还包括:第一时间数字转换器tdc,用于确定用于构建所述第一直方图的光子信号的接收时间,所述第一tdc的测量时间间隔与所述第一时间箱宽度相等;第二tdc,用于确定用于构建所述第二直方图的光子信号的接收时间,所述第二tdc的测量时间间隔与所述第二时间箱宽度相等。
20.在一个实施例中,用于对所述第一直方图中的光子信号进行计数的内存空间与用于对所述第二直方图中的光子信号进行计数的内存空间中的至少部分相同。
21.在一个实施例中,所述感光器件为雪崩光电二极管。
22.在一个实施例中,所述装置还包括:第四确定单元,用于根据所述飞行时间,确定所述物体的距离。
23.第三方面,提供一种设备,包括:发射器,用于向物体发射光子信号;感光器件,用于接收经所述物体反射的光子信号;以及如第二方面或第二方面中任一实施例所述的用于确定飞行时间的装置。
24.第四方面,提供一种用于确定飞行时间的装置,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器被配置为执行所述可执行代码,以实现如第一方面或第一方面中任一种实施例所述的方法。
25.第五方面,提供一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被执行时,能够实现如第一方面或第一方面中任一种实施例所述的方法。
26.基于本技术的方案,不论是在构建第一直方图的过程(粗测过程),还是在构建第二直方图的过程(细测过程),均是控制感光器件在预设时间范围内接收光子信号,两个测
量过程对感光器件的控制保持一致,从而能够简化对感光器件的控制。在生成第二直方图时,根据接收时间对光子信号进行选择,就可以构建第一时间范围内的第二直方图,且该过程的控制过程也比较简单,容易实现。
附图说明
27.图1所示为可应用于本技术实施例的测量系统的示意图。
28.图2是本技术实施例提供的一种可能的直方图的示意图。
29.图3是本技术实施例提供的一种用于确定飞行时间的方法的流程示意图。
30.图4是本技术实施例提供的另一种可能的直方图的示意图。
31.图5是本技术实施例提供的一种第二直方图的示意图。
32.图6是本技术实施例提供的一种采用tdc确定飞行时间的方式的示意图。
33.图7是本技术实施例提供的一种延迟链的示意图。
34.图8是本技术实施例提供的一种感光器件的使能时间的示意图。
35.图9是本技术实施例提供的另一种感光器件的使能时间的示意图。
36.图10是本技术实施例提供的另一种用于确定飞行时间的方法的示意性流程图。
37.图11是本技术实施例提供的又一种感光器件的使能时间的示意图。
38.图12是本技术实施例提供的一种用于确定飞行时间的装置的示意性框图。
具体实施方式
39.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。
40.飞行时间(time of flight,tof)技术是通过测量光在空间中的飞行时间来计算物体的距离,由于其具有精度高、测量范围大等优点,因此被广泛应用于消费电子、无人驾驶、激光对焦、存在识别、ar/vr、三维建模、实景导航等领域。
41.tof可包括直接飞行时间(direct-tof,dtof)。dtof的测量原理是发射器周期性地发射脉冲光子信号,该光子信号经过物体后发生反射,并被感光器件接收,然后通过计算光子由发射到反射接收的飞行时间,可以确定物体的距离。
42.物体的距离可以由以下公式计算得到:
43.d=c*t/2
44.其中,c为光速,t为飞行时间。
45.下面结合图1,对本技术实施例的dtof测量系统进行描述。图1所示的测量系统可以包括发射器1、感光器件3、时间确定单元4、直方图构建单元5以及处理单元(图中未示出)。时间确定单元4可以与感光器件3相连,直方图构建单元5可以与时间确定单元4相连。发射器1可以以一定的频率向外发射脉冲光子信号,该光子信号经物体2反射后形成反射光子信号,该反射光子信号可以被感光器件3接收。时间确定单元4可以确定光子信号从发射器1发射到被感光器件3接收之间的时间间隔。该测量系统会在测量过程中发射和接收多次光子信号,时间确定单元4可以将多次测量的时间间隔发送至直方图构建单元5,直方图构建单元5可以根据记录的多次时间间隔构建直方图。处理单元可以根据该直方图确定光子的飞行时间。
46.发射器1可以包括光源12,该光源12可以是发光二极管、边发射激光器、垂直腔面发射激光器(vertical cavity surface emitting laser,vcsel)等光源,也可以是多个光源组成的阵列光源。优选地,该阵列光源可以是在单块半导体基底上生成多个vcsel光源以形成的vcsel阵列光源芯片。光源12发射的光信号可以是可见光、红外光、紫外光等。发射器1还可以包括驱动器11,光源12可以在驱动器11的驱动下发射光信号。例如,对于dtof,光源可以在驱动器的驱动下以一定的频率(或脉冲周期)发射脉冲光束。该频率可以根据测量距离进行设定,比如可以设置在1mhz~100mhz之间,测量距离可以在几米至几百米之间。
47.发射器1还可以包括光学元件13。光学元件13可以接收光源12发射的光信号,并对该光信号进行调制,比如衍射、折射、反射等调制,调制后的光信号可以是聚焦光信号、泛光光信号、结构光光信号等。光学元件13可以是透镜、衍射光学元件、掩膜版、反射镜、微机电系统(micro-electro-mechanical system,mems)振镜等元件中的一种或多种。光学元件13可以将调制后的光信号引导至待检测的物体2,待检测的物体2可以将该光信号反射至感光器件3。
48.处理单元可以是独立的专用电路,例如专用片上系统(system-on-a-chip,soc)芯片、现场可编程门阵列(field programmable gate array,fpga)芯片、特殊应用集成电路(application specific integrated circuit,asic)芯片等。或者,该处理单元也可以是通用处理器,比如当深度相机被集成到如手机、电视、电脑等智能终端上时,终端中的处理器可以作为该处理单元的至少一部分。
49.感光器件3可以包括呈阵列分布的多个感光单元,不同的感光单元可用于接收物体的不同部位反射的光子信号。本技术实施例中的感光器件可以为光电倍增管、雪崩光电二极管等。该雪崩光电二极管例如可以为单光子雪崩二极管(single photon avalanche diode,spad),spad可以对入射的单个光子进行响应。光子入射至spad时形成电子,电子将在耗尽区加速撞击再产生更多的电子,从而造成spad雪崩击穿,spad可以向时间确定单元4输出雪崩信号。
50.时间确定单元4可以包括呈阵列分布的多个时间确定子单元。该多个时间确定子单元与多个感光单元具有对应关系,例如,一个时间确定子单元对应一个感光单元,或者,一个时间确定子单元对应多个感光单元。该时间确定单元例如可以为时间间隔表(time interval method,tim)、时间数字化器(time digitizer)、时间计数器(time counter,tc)、时间数字转换器(time to digital convert,tdc)等。
51.以tdc和spad为例,tdc可以与spad相连。为了更准确地确定光子信号的接收时间,tdc可以在spad被激活时,开始计时,以确定spad接收光子信号的接收时间。在利用spad的测量系统中,单个光子入射至spad将引起雪崩,spad将输出雪崩信号至tdc,tdc可以检测spad接收光子信号的接收时间。在tdc、spad与发射器同步的情况下,tdc确定的spad接收光子信号的接收时间即可表示光子从发射器发射到被spad接收之间的时间间隔。
52.通过多次测量后,直方图构建单元5可以根据感光器件3接收光子信号的接收时间,构建直方图。该直方图收集在一块内存中,该内存包括多个内存单元,其中每个内存单元保存一个时间箱(time bin)的光子计数,一个时间箱可以表示一个时间段或一个时间间隔。时间确定单元4可以将接收时间转换成时间码(如二进制码、温度码等编码),并将该时间码发送至直方图构建单元5。直方图构建单元5可以基于该时间码,在相应的内存单元上
进行计数,比如加1。经过多次测量后,直方图构建单元5可以将所有内存单元内的光子计数进行统计并构建直方图。光子计数可以由直方图构建单元5中的时间相关单光子计数(time-correlated single-photon counting,tcspc)来实现。
53.图2是一种可能的直方图的示意图。在该直方图中,横坐标表示时间箱,纵坐标表示光子数量。图2所示的直方图包括23个时间箱,每个时间箱的宽度都相等,时间箱的宽度也可以称为时间间隔。一个时间箱对应一个内存单元,该内存单元用于存储与其对应的时间箱中的光子计数。该时间箱的宽度可以根据测量精度进行调整。处理单元可以根据各个时间箱中存储的光子数量,确定光子的飞行时间。
54.测量系统的测量范围与时间箱的数量和时间箱宽度有关,如测量范围=时间箱宽度*时间箱的数量。以时间箱宽度为1.6ns进行举例,若该测量系统包括23个时间箱,则该测量系统的测量范围为36.8ns。
55.可以理解的是,感光器件3不仅能接收到经物体反射的光子信号(可简称为反射光子信号),还会接收到环境光信号。因此,直方图中不仅包括经物体反射的光子信号的计数,还包括环境光信号的计数。测量系统可以根据不同时间箱中的光子数量,确定真正由物体反射的光子信号的飞行时间。参考图2,以时间箱宽度为1.6ns为例,假设最终确定经物体反射的光子信号存储在第11个时间箱,则可以确定光子的飞行时间为17.6ns。
56.由图2可知,时间箱的宽度越窄,测量得到的飞行时间的精度就越高。在保证测量范围不变的情况下,时间箱的宽度越窄,所需要的时间箱的数量就越多,从而所需要的内存空间就越大。另外,为了提高测量距离,所需要的时间箱的数量也会增大,需要的内存空间也就越大。另外,对于阵列dtof,随着像素分辨率的提高,内存需求也会进一步增大。综上,以上的各种情况均对内存提出了更大的需求,造成成本增加。
57.基于此,本技术实施例提供一种基于粗测和细测的确定飞行时间的方法,能够在提高测量精度和量程的情况下,减少对内存空间的占用。具体方式为:先以一个较大的第一时间箱宽度进行粗测,得到第一直方图;根据第一直方图确定反射光子信号大概所在的第一时间范围;然后在该第一时间范围内,以一个较小的第二时间箱宽度进行细测,得到第二直方图;进一步根据第二直方图确定光子的飞行时间。由于细测仅在粗测确定的第一时间范围内生成直方图,因此可以减小第二直方图所需的时间范围,从而能够降低所需的内存空间。
58.下面结合图3对本技术实施例的方案进行详细描述。图3所示的方法包括步骤s310~步骤s340,该方法可应用于dtof测量系统。
59.步骤s310、根据感光器件在预设时间范围内接收光子信号的接收时间,以第一时间箱宽度构建预设时间范围内的第一直方图。
60.该预设时间范围可以根据测量距离来确定。例如,为了满足5m的测量距离,以及预留时间给感光器件猝灭和数据处理,总的脉冲周期大概为50ns,则该预设时间范围可以为50ns。或者,该预设时间可以小于50ns,如该预设时间可以设置为40ns,以预留一定的时间给时间确定单元作为延迟时间。
61.由于在测量之前,不知道物体实际的距离,因此,可以在测量系统的最大测量范围内对物体进行测量。也就是说,该预设时间范围可以根据测量系统的最大测量距离来确定。
62.预设时间范围内的第一直方图表示该第一直方图中的时间箱所在的时间范围为
该预设时间范围。以图2为例,该23个时间箱所表示的时间范围即为该预设时间范围。
63.可选地,在步骤s310之前,该方法还可以包括:控制感光器件在预设时间范围内接收光子信号;使用时间确定单元确定感光器件在预设时间范围内接收光子信号的接收时间。
64.步骤s320、根据第一直方图,确定经物体反射的光子信号所在的第一时间范围。
65.第一时间范围可以表示经物体反射的光子信号大致所在的时间范围,第一时间范围小于预设时间范围。通常第一时间范围仅需对应一个较小的能包含真实飞行时间的时间范围。例如,第一时间范围可以为一个时间箱或多个时间箱对应的时间范围,如2个时间箱或3个时间箱。以图2为例,该第一时间范围为第10、11个时间箱(阴影区域)对应的时间范围。或者,第一时间范围可以为任意长度的时间范围,如第一时间范围可以为1.5个时间箱对应的时间范围。
66.第一时间范围的确定方式有多种,例如最大值法、质心法、机器学习法等,本技术实施例对此不作具体限定。下面对最大值法和机器学习法进行举例说明。
67.对于最大值法,可以根据第一直方图,确定第一直方图的峰值位置,然后根据该峰值位置确定第一时间范围。例如,可以选择该峰值所在的时间箱作为第一时间范围。又例如,可以选择该峰值所在的时间箱以及与该峰值所在的时间箱相邻的时间箱作为第一时间范围。与峰值时间箱相邻的时间箱可以为峰值左侧的时间箱,或者为峰值右侧的时间箱,或者为两侧的时间箱中光子数量较多的时间箱,或者包括峰值左侧和右侧的时间箱。与峰值相邻的时间箱的数量可以是1个,2个或者更多个。
68.对于机器学习法,可以使用深度学习算法确定第一时间范围。该深度学习算法可以包括卷积神经网络(convolutional neural networks,cnn)、循环神经网络(rerrent neural network,rnn)、残差网络(resnet)、极端梯度提升(extreme gradient boosting,xgboost)模型或其他神经网络模型。该方法可以从第一直方图中直接提取出两个时间箱中左侧时间箱的索引(index),从而得到第一时间范围。举例说明,假设索引从0开始计数,最后得到的第一时间范围为[index,index+1]*时间箱宽度。除了两个时间箱以外,该方法还可以提取3个及以上的时间箱。相比于最大值法,机器学习法可以在信噪比比较差、以及有环境光堆叠效应(pile-up)的情况下正确找到经物体反射的光子信号所在的时间范围,使得确定的第一时间范围更准确。
[0069]
以图4为例,在环境光比较强的情况下,第一直方图可能的分布情况如图4所示。实际经物体反射的光子信号所在的时间箱为第10、11个时间箱所在的位置。如果按照最大值法确定第一时间范围,由于第1个时间箱的光子数量最多,则确定的第一时间范围为第1个时间箱对应的时间范围,但是该第1个时间箱并不是真正经物体反射的光子信号所在的时间箱。因此,如果按照最大值法确定第一时间范围,会导致确定的第一时间范围不准确。而如果采用机器学习法,则能够正确找到第10、11个时间箱,可以提高测量准确度。
[0070]
为了保证后续细测过程的准确度,在确定第一时间范围时还可以考虑光子信号的脉冲宽度,使得第一时间范围不小于光子信号的脉冲宽度,即第一时间范围大于或等于发射器发射的光子信号的脉冲宽度,从而避免在第一时间范围内由于无法检测到完整光信号而影响检测的准确度。举例说明,如果光子信号的脉冲宽度介于1个时间箱宽度和2个时间箱宽度之间,则第一时间范围至少需要包括2个时间箱的宽度。
[0071]
步骤s330、根据感光器件在第一时间范围内接收光子信号的接收时间,以第二时间箱宽度构建第一时间范围内的第二直方图。其中,第二时间箱宽度小于第一时间箱宽度。
[0072]
由于第二时间箱宽度小于第一时间箱宽度,因此,第二直方图相比于第一直方图更精细。第一直方图也可以称为粗测直方图,第二直方图也可以称为细测直方图。
[0073]
以图2和图5为例,图2所示的直方图可以称为粗测直方图,图5所示的直方图可以称为细测直方图。第一时间范围为图2中的2个时间箱(阴影区域)对应的时间范围,基于该第一时间范围,构建的第二直方图如图5所示。也就是说,图5将图2中的两个时间箱宽度细化成了22个时间箱,图2所示的第一直方图的时间箱宽度为图5所示的第二直方图的时间箱宽度的11倍。
[0074]
步骤s340、根据第二直方图,确定经物体反射的光子信号的飞行时间。
[0075]
确定飞行时间的方式有多种,例如上文描述的最大值法、质心法、机器学习法等,为了简洁,此处不再赘述。
[0076]
可以理解的是,本技术实施例中的粗测过程可以包括图3中的步骤s310、步骤s320,细测过程可以包括图3中的步骤s330、步骤s340。
[0077]
本技术先通过粗测直方图确定反射光子信号所在的大概时间范围,再在该时间范围内生成细测直方图,根据细测直方图确定精确的飞行时间。由于大幅降低了细测生成直方图的时间范围,也就能够大幅降低细测直方图所需要的时间箱的数量,从而可以减少对内存空间的占用。
[0078]
举例说明,为了保证飞行时间的测量精度,假设需要采用100ps的时间箱宽度生成直方图,来确定飞行时间。对于40ns的测量周期,按照传统方式则需要400个时间箱。而如果采用本技术实施例的方案,假设第一时间箱宽度为1.6ns,则第一直方图所需要的时间箱数量大概为25个。然后从第一直方图中选择2个时间箱作为第一时间范围,2个时间箱的宽度为3.2ns,则细测仅需生成3.2ns的直方图。如果以100ps作为第二时间箱宽度,则第二直方图需要32个时间箱。相比于传统方式需要400个时间箱的方案,本技术能够大大减少所需要的时间箱数量,因此能够降低对内存空间的占用和传输带宽。
[0079]
另外,由于粗测过程和细测过程是分开进行的,因此,本技术实施例中的粗测过程和细测过程可以复用内存空间,从而可以进一步降低对内存的占用。换句话说,用于对第一直方图中的光子信号进行计数的内存空间可以与用于对第二直方图中的光子信号进行计数的内存空间的至少部分相同。仍以上述例子进行说明,细测过程中的32个时间箱可以复用粗测过程中的25个时间箱,即整个测量过程仅需32个时间箱即可。
[0080]
感光器件接收光子信号的接收时间可以由时间确定单元来确定。该时间确定单元可以为上文描述的tim、时间数字化器、tc、tdc中的一种或多种。以tdc为例,通常情况下,tdc的分辨率决定了直方图中的时间箱宽度。tdc的分辨率表示tdc的测量时间间隔,即tdc每经过一个时间间隔进行一次计时。tdc的测量时间间隔可以与直方图中的时间箱宽度相等。
[0081]
为了得到第一直方图和第二直方图,本技术实施例可以采用两个不同分辨率的tdc来实现。具体地,可以使用第一tdc确定用于构建第一直方图的光子信号的接收时间,使用第二tdc确定用于构建第二直方图的光子信号的接收时间,第二tdc的分辨率大于第一tdc的分辨率,即第一tdc的测量时间间隔与第一时间箱宽度相等,第二tdc的测量时间间隔
与第二时间箱宽度相等。
[0082]
第一tdc和第二tdc可以是两个不同的tdc。例如,测量系统中可以设置多个tdc,分辨率低的tdc用于粗测,分辨率高的tdc用于细测。又例如,第一tdc和第二tdc可以为同一个tdc的两种工作状态,第一tdc可以是该同一个tdc以基准时钟进行计时的工作状态,第二tdc可以是该同一个tdc连接插值器后的工作状态。具体地,在未连接插值器时,可以使用tdc的基准时钟进行粗测,即第一时间箱宽度与tdc的时钟周期相等;而在进行细测时,可以将该tdc与插值器相连,以进行细测。其中,该插值器可以改变tdc的分辨率,该插值器例如可以为nutt插值器。
[0083]
下面结合图6和图7,对tdc的工作原理进行描述。
[0084]
为了获取高精度的tof数据,就需要很高精度的tdc,比如为了达到厘米级别的测距精度,需要tdc的分辨率大概100ps量级。通常情况下,tdc都是通过时钟信号对要计量的时间范围进行采样计数,根据计数值来计算时间值,其时间计量的最小分辨率即为tdc的时钟周期。而tdc的时钟频率达不到这么高的精度,如一般时钟频率最多达到ns级的精度。为了实现更高精度的计时,本技术可以使用nutt插值器来实现。nutt插值器例如可以包括基于延迟链的flash tdc、环形振荡器或游标型tdc。
[0085]
以延迟链为例,在使用延迟链后,tdc的时间测量过程可以分为两步,即第一测量过程和第二测量过程。第一测量过程只记录参考时钟的总周期数对应的时间nt
clk
,时钟上升沿与光子信号的发射时间、结束时间之间的时间差由第二测量过程来得到,如图6所示。最终确定光子发射与接收之间的时间间隔为:
[0086]
δt=nt
clk
+δt
1-δt2[0087]
其中,δt1表示光子信号的发射时间与时钟上升沿之间的时间差,δt2表示光子信号的接收时间与时钟上升沿之间的时间差。
[0088]
本技术实施例可以采用如图7所示的简单延迟链来实现对δt1和δt2的测量。在电路中实现时,延迟链一般是通过延迟单元构成的,该延迟链可以包括n个延迟单元(buffer),以及对每一个延迟单元输出采样的触发器。基于延迟链的测量原理是使被测量的开始信号通过延迟单元进行传输,通过延迟单元探测它在被测量时间段内传递到的位置,从而判断时间测量的结果。相邻延迟单元之间的信号延迟时间就是测量的分辨率。
[0089]
图7所示的tdc的输出为q
n-1
…
q2q1q0。以二进制为例,qi(0≤i≤n-1)的取值为0或1。
[0090]
本技术实施例可以将tdc的一个时钟周期通过延迟链分为多个相,延迟链中延迟单元的数量决定了tdc的分辨率。延迟单元的数量越多,得到的tdc的分辨率就越大。假设tdc的时钟周期为1.6ns,延迟链中包括16个延迟单元,则该1.6ns的时钟周期通过延迟链分为16相,从而得到tdc的分辨率为100ps。
[0091]
通过上述延迟链可以分别测量光子信号的发射时间与时钟上升沿之间的时间差δt1,以及光子信号的接收时间与时钟上升沿之间的时间差δt2,从而确定时间间隔δt。
[0092]
上文是以时钟信号的上升沿为基准确定δt1和δt2的,当然,也可以以时钟信号的下降沿为基准确定δt1和δt2,即计算光子信号的发射时间与时钟下降沿之间的时间差、以及光子信号的接收时间与时钟下降沿之间的时间差。
[0093]
在进行细测时,为了提高测量系统对环境光的容忍度,一种方式是可以控制感光
器件在第一时间范围开始时才使能,从而不接收第一范围之前的光子,在生成细测直方图时,时间戳大于第一时间范围的计数也会被扔掉,如图8所示。另一种方式是感光器件可以仅在第一时间范围内使能(即被激活),而在第一时间范围之外,感光器件处于关闭状态,即不接收光子信号,如图9所示。但是,在多次测量过程中,上述方式均需要对第一时间范围进行监测,单独控制感光器件在第一时间范围内开启,在第一时间范围之外关闭。另外,对于粗测过程和细测过程,需要采用不同的控制方式对感光器件进行控制。这对测量系统的控制过程提出了较高的要求,导致控制过程复杂,成本较高,且不易实现。
[0094]
基于此,本技术实施例提出了另一种确定飞行时间的方法,能够简化测量系统的控制过程,有利于降低成本。如图10所示,可以理解的是,图10在图3的基础上,增加了步骤s322和步骤s324,其余步骤与图3保持一致,为了简洁,相同的步骤不再赘述。
[0095]
参见图10,步骤s322,控制感光器件在预设时间范围内接收光子信号。
[0096]
步骤s324,从感光器件在预设时间范围内接收的光子信号中,选择第一时间范围内的光子信号。
[0097]
由于感光器件在预设范围内都能接收到光子信号,在生成第二直方图时,需要对光子信号进行筛选,仅选择接收时间在第一时间范围内的光子信号,而舍弃接收时间在第一时间范围之外的光子信号。在生成第二直方图时,仅使用第一时间范围内的光子信号来生成。
[0098]
在图8所示的方案中,不论是粗测过程,还是细测过程,测量系统可以仅在发射器发射光子信号的同时控制感光器件使能,而不需要再单独对感光器件的开启和关闭过程进行控制,从而能够简化测量系统的控制过程。并且在生成第二直方图时,直接根据光子的接收时间对光子进行筛选即可得到第二直方图,相比于对感光器件的控制,该过程操作简单,且容易实现。
[0099]
下面以spad和tdc为例,对粗测过程和细测过程进行详细描述。
[0100]
在粗测过程中,可以控制发射器周期性地向物体发射光子信号,并在发射器发射光子信号的同时,控制spad开始使能以及第一tdc开始计时。spad接收到光子信号后触发雪崩,并将雪崩信号发送至第一tdc。第一tdc接收到雪崩信号后,确定接收到该雪崩信号的接收时间,该接收时间表示spad接收到光子信号的接收时间,也表示光子信号从发射器发射到被spad接收之间的时间间隔。第一tdc可以将该接收时间发送至直方图构建单元,直方图构建单元可以根据该接收时间,以第一时间箱宽度构建第一直方图。该第一时间箱宽度为第一tdc的测量时间间隔。在得到第一直方图后,处理单元可以根据第一直方图,确定经物体反射的光子信号所在的第一时间范围。
[0101]
在细测过程中,控制单元继续控制发射器周期性地向物体发射光子信号,并在发射器发射光子信号的同时,控制spad开始使能以及tdc开始计时。spad接收到光子信号后触发雪崩,并将雪崩信号发送至第二tdc。第二tdc接收到雪崩信号后,确定接收到该雪崩信号的接收时间,该接收时间表示spad接收到光子信号的接收时间,也表示光子信号从发射器发射到被spad接收之间的时间间隔。第二tdc可以将该接收时间发送至直方图构建单元,直方图构建单元在生成第二直方图时,可以仅选择第一时间范围内的光子信号来生成,而第一时间范围之外的光子信号将会被扔掉,即在生成第二直方图时,时间信息不在第一时间范围之内的光子信号的计数会被扔掉,不参与计数。直方图构建单元可以根据第一时间范
围内的光子信号的接收时间,以第二时间箱宽度构建第一时间范围内的第二直方图。该第二时间箱宽度为第二tdc的测量时间间隔。在得到第二直方图后,处理单元可以根据第二直方图,确定经物体反射的光子信号的飞行时间,从而进一步确定物体的距离。
[0102]
上文结合图1至图11,详细描述了本技术的方法实施例,下面结合图12,详细描述本技术的装置实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
[0103]
图12是本技术实施例提供的一种用于确定飞行时间的装置的示意性框图。该装置400可以包括第一直方图构建单元410、第一确定单元420、控制单元430、选择单元440、第二直方图构建单元450以及第二确定单元460。下面对这些单元进行详细介绍。
[0104]
第一直方图构建单元410,可用于根据感光器件在预设时间范围内接收光子信号的接收时间,以第一时间箱宽度构建所述预设时间范围内的第一直方图。
[0105]
第一确定单元420,可用于根据所述第一直方图,确定经物体反射的光子信号所在的第一时间范围。
[0106]
控制单元430,可用于控制所述感光器件在所述预设时间范围内接收光子信号。
[0107]
选择单元440,可用于从所述感光器件在所述预设时间范围内接收的光子信号中,选择所述第一时间范围内的光子信号。
[0108]
第二直方图构建单元450,可用于根据所述第一时间范围内的光子信号的接收时间,以第二时间箱宽度构建所述第一时间范围内的第二直方图,所述第二时间箱宽度小于所述第一时间箱宽度。
[0109]
第二确定单元460,可用于根据所述第二直方图,确定经所述物体反射的光子信号的飞行时间。
[0110]
可选地,在一些实施例中,所述选择单元440可以被省略。
[0111]
可选地,在一些实施例中,所述第一时间范围为所述第一直方图中一个或多个时间箱对应的时间范围。
[0112]
可选地,在一些实施例中,所述装置400还包括:第三确定单元,用于根据最大值法、质心法或者机器学习法,确定所述一个或多个时间箱。
[0113]
可选地,在一些实施例中,所述一个或多个时间箱为所述第一直方图中的峰值所在的时间箱;或者,所述一个或多个时间箱包括所述第一直方图中的峰值所在的时间箱以及与所述峰值所在的时间箱相邻的时间箱。
[0114]
可选地,在一些实施例中,所述第一时间范围大于或等于所述光子信号的脉冲宽度。
[0115]
可选地,在一些实施例中,所述装置400还包括:第一tdc,用于确定用于构建所述第一直方图的光子信号的接收时间,所述第一tdc的测量时间间隔与所述第一时间箱宽度相等;第二tdc,用于确定用于构建所述第二直方图的光子信号的接收时间,所述第二tdc的测量时间间隔与所述第二时间箱宽度相等。
[0116]
可选地,在一些实施例中,用于对所述第一直方图中的光子信号进行计数的内存空间与用于对所述第二直方图中的光子信号进行计数的内存空间中的至少部分相同。
[0117]
可选地,在一些实施例中,所述感光器件为雪崩光电二极管。
[0118]
可选地,在一些实施例中,所述装置400还包括:第四确定单元,用于根据所述飞行
时间,确定所述物体的距离。
[0119]
本技术实施例还提供一种设备,该设备可以包括上文描述的用于确定飞行时间的装置。该设备例如可以为上文描述的测量系统。该设备可以包括发射器、感光器件以及上文描述的任一种用于确定飞行时间的装置。该发射器可用于向物体发射光子信号,该感光器件可用于接收经物体反射的光子信号。
[0120]
该设备可以根据图12所示的装置确定的飞行时间执行相应的功能。所述相应功能包括但不限于识别使用者身份后解锁、支付、启动预设的应用程序、避障、识别使用者脸部表情后利用深度学习技术判断使用者的情绪和健康情况中的任意一种或多种。
[0121]
本技术实施例设备还可以包括彩色相机、红外相机、惯性测量单元(inertial measurement unit,imu)等器件。与这些器件的组合之后的设备可以实现更加丰富的功能,比如3d纹理建模、红外人脸识别、同步定位与地图构建(simultaneous localization and mapping,slam)功能等。
[0122]
该设备可以为测距设备、3d成像设备。测距设备例如可以为雷达测距设备。
[0123]
该设备例如但不局限于为消费性电子产品、家居式电子产品、车载式电子产品、金融终端产品等合适类型的电子产品。其中,消费性电子产品例如但不局限为手机、平板电脑、笔记本电脑、桌面显示器、电脑一体机等。家居式电子产品例如但不局限为智能门锁、电视、冰箱、穿戴式设备等。车载式电子产品例如但不局限为车载导航仪、车载数字视频光盘(digital video disc,dvd)等。金融终端产品例如但不局限为自动取款机(asynchronous transfer mode,atm)机、自助办理业务的终端等。
[0124]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,dvd))、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0125]
本领域普通技术人员可以意识到,结合本技术实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0126]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的
划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0127]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0128]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0129]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
技术特征:1.一种用于确定飞行时间的方法,其特征在于,包括:根据感光器件在预设时间范围内接收光子信号的接收时间,以第一时间箱宽度构建所述预设时间范围内的第一直方图;根据所述第一直方图,确定经物体反射的光子信号所在的第一时间范围;控制所述感光器件在所述预设时间范围内接收光子信号;根据在所述第一时间范围内接收到的光子信号的接收时间,以第二时间箱宽度构建所述第一时间范围内的第二直方图,所述第二时间箱宽度小于所述第一时间箱宽度;根据所述第二直方图,确定经所述物体反射的光子信号的飞行时间。2.根据权利要求1所述的方法,其特征在于,所述第一时间范围为所述第一直方图中一个或多个时间箱对应的时间范围。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:根据最大值法、质心法或者机器学习法,确定所述一个或多个时间箱。4.根据权利要求2所述的方法,其特征在于,所述一个或多个时间箱为所述第一直方图中的峰值所在的时间箱;或者,所述一个或多个时间箱包括所述第一直方图中的峰值所在的时间箱以及与所述峰值所在的时间箱相邻的时间箱。5.根据权利要求1所述的方法,其特征在于,所述第一时间范围大于或等于经所述物体反射的光子信号的脉冲宽度。6.根据权利要求1所述的方法,其特征在于,用于对所述第一直方图中的光子信号进行计数的内存空间与用于对所述第二直方图中的光子信号进行计数的内存空间中的至少部分相同。7.一种用于确定飞行时间的装置,其特征在于,包括:第一直方图构建单元,用于根据感光器件在预设时间范围内接收光子信号的接收时间,以第一时间箱宽度构建所述预设时间范围内的第一直方图;第一确定单元,用于根据所述第一直方图,确定经物体反射的光子信号所在的第一时间范围;控制单元,用于控制所述感光器件在所述预设时间范围内接收光子信号;第二直方图构建单元,用于根据在所述第一时间范围内接收到的光子信号的接收时间,以第二时间箱宽度构建所述第一时间范围内的第二直方图,所述第二时间箱宽度小于所述第一时间箱宽度;第二确定单元,用于根据所述第二直方图,确定经所述物体反射的光子信号的飞行时间。8.根据权利要求7所述的装置,其特征在于,所述第一时间范围为所述第一直方图中一个或多个时间箱对应的时间范围。9.根据权利要求8所述的装置,其特征在于,所述装置还包括:第三确定单元,用于根据最大值法、质心法或者机器学习法,确定所述一个或多个时间箱。10.根据权利要求8所述的装置,其特征在于,所述一个或多个时间箱为所述第一直方图中的峰值所在的时间箱;或者,
所述一个或多个时间箱包括所述第一直方图中的峰值所在的时间箱以及与所述峰值所在的时间箱相邻的时间箱。11.根据权利要求7所述的装置,其特征在于,所述第一时间范围大于或等于经所述物体反射的光子信号的脉冲宽度。12.根据权利要求7所述的装置,其特征在于,所述装置还包括:第一时间数字转换器tdc,用于确定用于构建所述第一直方图的光子信号的接收时间,所述第一tdc的测量时间间隔与所述第一时间箱宽度相等;第二tdc,用于确定用于构建所述第二直方图的光子信号的接收时间,所述第二tdc的测量时间间隔与所述第二时间箱宽度相等。13.根据权利要求7所述的装置,其特征在于,用于对所述第一直方图中的光子信号进行计数的内存空间与用于对所述第二直方图中的光子信号进行计数的内存空间中的至少部分相同。14.一种设备,其特征在于,包括:发射器,用于向物体发射光子信号;感光器件,用于接收经所述物体反射的光子信号;以及如权利要求7-13中任一项所述的用于确定飞行时间的装置。
技术总结本申请提供了一种用于确定飞行时间的方法及装置,能够简化对测量过程的控制。该方法包括:根据感光器件在预设时间范围内接收光子信号的接收时间,以第一时间箱宽度构建预设时间范围内的第一直方图;根据第一直方图,确定经物体反射的光子信号所在的第一时间范围;控制感光器件在预设时间范围内接收光子信号;从感光器件在预设时间范围内接收的光子信号中,选择第一时间范围内的光子信号;根据第一时间范围内的光子信号的接收时间,以第二时间箱宽度构建第一时间范围内的第二直方图,第二时间箱宽度小于第一时间箱宽度;根据第二直方图,确定经物体反射的光子信号的飞行时间。确定经物体反射的光子信号的飞行时间。确定经物体反射的光子信号的飞行时间。
技术研发人员:张耿立
受保护的技术使用者:深圳阜时科技有限公司
技术研发日:2022.05.17
技术公布日:2022/11/1