具体实施方式
揭示了用于校准飞行时间成像系统中的飞行时间像素单元的方法及电路。在以下描述中,陈述多个特定细节以提供对实施例的透彻理解。然而,相关领域的技术人员应认识到,本文所描述的技术可被实践而不需一或多个特定细节,或使用其它方法、组件、材料等。在其它例子中,未详细展示或描述众所周知的结构、材料或操作以避免模糊某些方面。
贯穿此说明书对“一实施例”或“实施例”的提及意味着与实施例相结合而描述的特定特征、结构或特性包含于本发明的至少一实施例中。因此,短语“在一实施例中”或“在实施例中”在贯穿此说明书的多个地方的出现并不必定都指代相同的实施例。此外,在一或多个实施例中特定的特征、结构或特性可以任何合适的方式被组合。
贯穿此说明文,使用几个专门术语。这些术语具有在它们出自的领域中的普通含义,除非本文明确定义或它们的使用上下文另有清楚地显示。举例来说,术语“或”是在包含意义(举例来说,如在“及/或”中)中使用的,除非上下文清楚地另外指示。
如将被展示,揭示了提供低成本的基于CMOS的3D成像系统的快速及准确的校准电路及方法的实例,揭示了作为光学触发源的例如LED的光源。所述揭示的校准电路及技术的实例补偿了整个系统中从LED到电子快门电路的延迟。在多种实例中,飞行时间成像系统包含校准架构,所述校准架构利用芯片上可编程延迟线来执行光源与图像传感器之间的延迟差的灵活及十分高效的校准。在多种实例中,根据本发明的教示,所揭示的校准电路及技术可以最小硬件成本及能力消耗为代价达到亚纳秒准确性。
为了说明,图1为根据本发明的教示的展示包含校准电路的飞行时间成像系统100的一实例的框图。如所示,飞行时间成像系统100包含发射光脉冲的光源102,光脉冲在图1中被说明为发射的光104。如所示,发射的光104被引导到物体106。在一实例中,发射的光104包含红外(IR)光脉冲。根据本发明的教示,应了解,在其它实例中,发射的光104可具有除红外之外的波长,例如举例来说可见光、近红外光等。接着发射的光104被从物体106反射回来,在图1中其被展示为反射回的光108。如所示,反射的光108从物体106被引导穿过透镜110且接着被聚焦到飞行时间像素单元阵列112上。在一实例中,飞行时间像素单元阵列112包含布置成二维阵列的多个飞行时间像素单元。
如在描绘的实例中所示,光源102经耦合以响应于从第一延迟电路118中接收到的光源调制信号114发射光104,第一延迟电路118耦合到控制电路116。飞行时间像素单元阵列112经耦合以响应于从第二延迟电路120接收到的像素调制信号122感测反射回的光108,第二延迟电路120也耦合到控制电路116。如以下将被更详细讨论的,控制电路116包含校准模式,所述校准模式根据本发明的教示利用第一电路118及第二延迟电路120来使光源调制信号114及像素调制信号122同步。
在图1中描绘的实例中,应注意飞行时间像素单元阵列112被定位到透镜110的焦距flens处。如实例中所示,光源102及透镜110被定位到离物体的距离为L处。在一实例中,应注意,透镜110可用多个被集成到飞行时间像素单元阵列112中的微透镜实施。当然应了解,图1不是按比例说明的且在一实例中,焦距flens实质上比透镜110与物体106之间的距离L小。因此,应了解,为了本发明的目的,根据本发明的教示,为了飞行时间测量的目的,距离L及距离L+焦距flens实质上相等。另外,还应了解,为了本发明的目的,根据本发明的教示,为了飞行时间测量的目的,光源102与物体106之间的距离以及物体106与透镜110之间的距离两者也实质上等于L。因此,光源102与物体106之间的距离(及/或物体106与透镜110之间的距离)等于往返距离(举例来说,D)的一半,因此D等于2xL。换句话说,根据本发明的教示,假设从光源102到物体106的距离L加从物体106返回到透镜110的距离L等于往返距离D(或2xL)。
在描绘的实例中,在发射的光104的光脉冲发射与在反射的光108中接收到所述光脉冲之间存在延迟时间,这是由光脉冲从光源102行进距离L到物体106所耗费的时间量及接着对应的反射光脉冲108从物体106行进距离L回到像素单元阵列112所耗费的额外时间所引起的。发射的光104与反射的光108之间的延迟时间表示光脉冲在光源102与物体106之间进行往返的飞行时间。一旦飞行时间(即,TOF)已知,从光源102到物体106的距离L可使用以下等式1及2中的以下关系来确定:
其中c为光速,其大约等于3x108m/s,且TOF为如图1中所示的光脉冲行进到物体及从物体返回所耗费的时间量。
图2为根据本发明的教示的说明在校准期间的包含控制电路的飞行时间成像系统的另一更详细实例的框图。在图2描绘的实例中,芯片240包含具有校准模式的控制电路216,校准模式利用两个可编程的延迟线电路218及220以提供从光源202发射的实际光脉冲204与像素调制信号222中的电荷调制脉冲之间的准确的同步,所述电荷调制脉冲被用以根据本发明的教示控制飞行时间像素阵列212以感测被入射到飞行时间像素阵列212上的反射光脉冲208。
特定来说,如所描绘的实例中所示,在校准飞行时间成像系统200期间,校准反射器207被定位到光源202及飞行时间像素单元阵列212的前部。结果,光脉冲204作为反射的光脉冲208被从校准反射器207反射到飞行时间像素阵列212。在所说明的实例中,校准反射器207在校准期间被定位在离光源202及飞行时间像素单元阵列212相对近的距离(举例来说,约0.1米)。结果,入射到飞行时间像素单元阵列212的反射光脉冲208的光学信号由于紧密靠近校准反射器207而相对强。
在图2说明的实例中,飞行时间像素单元阵列212为飞行时间像素单元(举例来说,像素单元P1、P2……Pn)的二维(2D)阵列。如所说明的,每一像素单元P1、P2……Pn被布置在行(举例来说,行R1到Rx)及列(举例来说,列C1到Cy)以响应于由可编程像素延迟线电路220产生的像素调制信号222的相应脉冲感测从校准反射器207反射回的反射光脉冲208。
如实例中所示,可编程的像素延迟线电路220经耦合以通过根据像素编程信号228延迟参考调制信号224而产生像素调制信号222,像素编程信号228通过控制电路216产生。如以下更加详细讨论的,可编程的像素延迟线电路220经耦合以提供可变像素延迟,其被编程以响应于像素编程信号228以使从光源202发射的光脉冲204与像素调制信号222中的脉冲同步,像素调制信号222中的脉冲被用以根据本发明的教示控制飞行时间像素阵列212以感测反射的光脉冲208。在一实例中,像素控制电路232经耦合以接收像素调制信号222来产生控制信号242,控制信号242经耦合以响应于像素调制信号222的脉冲控制包含于飞行时间像素单元阵列212中的像素单元以感测反射的光脉冲208。
在图2描绘的实例中,光源202经耦合以响应于光源调制信号214的相应脉冲发射光脉冲204到校准发射器207,光源调制信号214经耦合以经过驱动器电路230被从可编程的光源延迟线电路218接收。如所示,可编程的光源延迟线电路218经耦合以通过根据光源编程信号226延迟参考调制信号224而产生光源调制信号214,光源编程信号226经耦合以被从控制电路216接收。在一实例中,可编程的光源延迟线电路218有能力提供可变像素延迟,可变像素延迟是响应于光源编程信号226而被编程。
在一实例中,控制电路216设定光源编程信号226到固定的中间值且接着改变像素编程信号228以使从光源202发射的光脉冲204与像素调制信号222中的脉冲同步,像素调制信号222中的脉冲被用以根据本发明的教示控制飞行时间像素阵列212。特定来说,控制电路116经耦合以从飞行时间像素阵列212接收像素信息238,像素信息238代表由飞行时间像素阵列212观察到的反射光脉冲208。
在操作中,根据本发明的教示,控制电路216经耦合以在校准模式期间响应于从飞行时间像素阵列212接收到的像素信息238改变像素编程信号228以使从光源202发射的光脉冲208与像素调制信号222的脉冲同步。
在描绘的实例中,像素编程信号228及光源编程信号226两者都为N位数字信号。例如,在一实例中,N=8,且像素编程信号228及光源编程信号226因此两者都为8位数字信号。
在所说明的实例中,控制电路216经耦合以通过读出电路234从飞行时间像素阵列212接收像素信息238。例如,在一实例中,在飞行时间像素单元阵列212中的像素单元P1、P2……Pn由读出电路232通过位线读出。读出电路234还可包含放大器以进一步放大通过位线接收的信号。
在一实例中,由读出电路234输出的像素信息238可为M位数字信号。例如,在一实例中,M=8,且像素信息因此为由包含于读出电路234中的模数转换器产生的10位数字信号。在描述的实例中,根据本发明的教示,从飞行时间像素阵列212读出的像素信息238代表响应于由飞行时间像素阵列212感测到的反射光脉冲208在像素单元中光学产生的电荷Q的数量。
在多种实例中,可在由飞行时间像素阵列212感测到多个反射光脉冲208之后读出像素信息238。例如,在一实例中,在由读出电路234每次读出像素信息238之前由飞行时间像素单元阵列212感测15个反射光脉冲208。通过在每一读出之前感测多个反射光脉冲208,允许在飞行时间像素单元阵列212的像素单元中积累额外电荷Q,此改进了像素信息238的信号噪声比。
在多种实例中,从飞行时间像素单元阵列212读出的像素信息238可为基于来自飞行时间像素单元阵列212的两个相反边缘的读数所确定的平均值。例如,在一实例中,第一行(举例来说,行R1)及最后一行(举例来说,行Rx)被读出。第一行的平均电荷(举例来说,Q1)被计算并存储,且第二行的平均电荷(举例来说,Q2)被计算并存储。此操作的目的是为了使飞行时间像素单元阵列212上的顶部到底部偏移平均化。可接着通过计算Q1及Q2的平均数而确定读出值的平均。
在一实例中,由读出电路234读出的信息也可接着被传送到功能逻辑238。在一实例中,功能逻辑238可确定每一像素单元的飞行时间及距离信息。在一实例中,功能逻辑238也可存储飞行时间信息及/或甚至操纵飞行时间信息(例如,剪裁、旋转、针对背景噪声进行调整或类似物)。在一实例中,读出电路234可沿着位线一次读出整行飞行时间信息,或在另一实例中可使用例如串行读出或同时完全并行读出所有像素单元的多种其它技术(未被说明)读出飞行时间信息。
在一实例中,控制电路216进一步耦合到飞行时间像素单元阵列212以控制飞行时间像素单元阵列212的操作,并使飞行时间像素单元阵列212的操作与光源202同步,如以上所讨论的。应注意,在其它实例中,根据本发明的教示,控制电路216可设定像素编程信号228到固定的中间值且接着改变光源编程信号226,或改变像素编程信号228及光源编程信号226两者以使从光源202发射的光脉冲204与像素调制信号222中的被用以控制飞行时间像素阵列212的电荷调制脉冲同步。
图3为根据本发明的教示的说明可编程延迟电路320的实例的框图。应了解,图3的可编程延迟电路320可为图1的第一延迟电路118及/或第二延迟电路120的一实例,及/或图2的可编程光源延迟线电路218及/或可编程像素延迟线电路220的一实例,且以下参考的具有相似名称及编号的元件因此类似于以上所描述地耦合且发挥作用。如所描述的实例中所示,图3的可编程延迟电路320经耦合以接收参考调制信号324,且响应于编程信号328将参考调制信号324以可变延迟td进行延迟以产生延迟的输出信号322。
在实例中,编程信号328为n位数字信号,其经耦合以在校准模式期间提供可变延迟td。在一实例中,校准模式可被划分为多个部分,举例来说包含第一部分及第二部分。例如,在第一部分期间,根据本发明的教示,可对编程信号328进行粗略调整以迅速地扫描延迟值的大的粗略范围来迅速地使从光源202发射的光脉冲203与像素调制信号222的脉冲同步。
在一实例中,根据本发明的教示,在校准的第一部分(举例来说,粗部分)期间扫描经过编程信号328的最高有效位(MSB)344。因此,在编程信号328为8位数字信号的实例中,当扫描经过校准的粗部分时,在粗略范围中递增最高有效字节(即,4个高位)。例如,在一实例中,根据本发明的教示,当扫描经过校准的粗部分时,编程信号328的MSB344被从二进制值0000递增到二进制值1010。在实例中,低位字节(即,4个低位)在粗扫描期间并未被改变。
在校准的第二部分(举例来说,精细部分)期间,对编程信号328做出精细调整以按较高分辨率严密地扫描延迟值的精细范围以根据本发明的教示更精确地使从光源202发射的光脉冲204与像素调制信号222的脉冲同步。
在一实例中,根据本发明的教示,在校准的精细部分期间扫描经过编程信号328的最低有效位(LSB)346。因此,在编程信号328为8位数字信号的实例中,当扫描经过校准的精细部分时,在精细范围中递增最低有效字节(即,4个低位)。例如,在一实例中,根据本发明的教示,当扫描经过校准的精细部分时,编程信号328的LSB346被从二进制值0000递增到二进制值1010。在实例中,高位字节(即,4个高位)在精细扫描期间并未被改变。
根据本发明的教示,通过在校准的粗及精细部分期间在编程信号328的粗略范围值及精细范围值中的多遍扫描,大范围值可被迅速地扫描,且仍然在校准期间提供从光源202发射的光脉冲204与像素调制信号222的脉冲的精细分辨率同步。
在实例中,可编程的延迟电路320被实施有多个延迟级,包含举例来说如图3中所说明的延迟级1350A至延迟级z350Z。在一实例中,根据本发明的教示,解码器电路348经耦合以接收N位编程信号328且响应于编程信号328控制多个级的每一个,包含延迟级1350A至延迟级z350Z。在一实例中,根据本发明的教示,延迟级1350A经耦合以响应于像素编程信号328对可变延迟td执行更粗略调整,及延迟级z350Z经耦合以响应于像素编程信号328对可变延迟td执行更精细调整。在一实例中,延迟级1350A可提供大约10ns的较粗可变延迟td,且延迟级z350Z可提供大约0.1ns的较精细的可变延迟td。在一实例中,延迟级1350A可用级联的翻转电路或类似物实施,及级z延迟350Z可用级联的逆变器电路或类似物实施。在一实例中,根据本发明的教示,应了解,图3中未展示的额外中间级延迟电路也可被包含,及可被举例来说用具有电容输出或类似物的级联逆变器电路实施,其可提供大约1ns的可变延迟td。
为了说明,图4为根据本发明的教示的展示参考调制信号424、在飞行时间图像感测系统的校准的扫描操作期间发射的光脉冲404、具有可变延迟td的像素调制信号422及在飞行时间图像感测系统的校准期间感测到的电荷438的一实例。应了解,图4的参考调制信号424可为图2的参考调制信号224及/或图3的参考调制信号324的一实例,图4的参考调制信号424可为图2的参考调制信号224及/或图3的参考调制信号324的一实例,光脉冲404可为图2的光脉冲204的一实例,图4的像素调制信号422可为图2的像素调制信号222及/或图3的像素调制信号322的一实例,及感测到的电荷438可代表从图2的飞行时间像素单元阵列212读出的像素信息238,及以下参考的具有相似名称及编号的元件因此类似于以上所描述地耦合且发挥作用。应了解,代表从飞行时间像素阵列读出的像素信息238的感测到的电荷438代表响应于由飞行时间像素单元阵列212所感测到的反射光脉冲208在飞行时间像素单元阵列212中所包含的像素单元中光学产生的电荷Q的数量。
如所描述的实例中所示,在飞行时间成像系统的校准的扫描操作期间,第一脉冲452发生在时间t0,此时像素调制信号422具有td1的延迟,此导致感测到的电荷438读数Q1。在第二脉冲454期间,像素调制信号422具有td2的延迟,此导致感测到的电荷438读数Q2。在第三脉冲456期间,像素调制信号422具有td3的延迟,此导致感测到的电荷438读数Q3。在第四脉冲458期间,像素调制信号422具有td4的延迟,此导致感测到的电荷438读数Q4。在第五脉冲460期间,像素调制信号422具有td5的延迟,此导致感测到的电荷438读数Q5。
如所描绘的实例中所说明的,峰值电荷Q4在第四脉冲458期间被读出。结果,编程信号228被校准以等于在脉冲458处的像素调制信号422的延迟设定,其在像素调制信号422中具有td4的延迟。换句话说,根据本发明的教示,可确定的是,与其它脉冲相比,第四脉冲458期间的像素编程信号228的值为校准光脉冲404与像素调制信号422最同步的时候的值。因此,根据本发明的教示,在第四脉冲458期间像素编程信号228的值接着被保存作为飞行时间传感器的校准操作的结果。
图5为根据本发明的教示的说明在实例飞行时间成像系统的校准期间执行的处理的一实例的流程图562。处理方框564展示光源编程信号及像素编程信号被初始化。在一实例中,光源编程信号被初始化以将光源调制信号的延迟设定在中间值。例如,在光源编程信号的延迟可被设定为0ns到10ns的范围中的值的实例中,光源编程信号被初始化为举例来说5ns的值。在一实例中,像素编程信号被初始化以将像素调制信号的延迟设定在像素编程信号的延迟范围的一端处。例如,在像素编程信号的延迟可被设定为0ns到10ns的范围中的值的实例中,像素编程信号被初始化为举例来说0ns的值。
处理方框566展示响应于光源编程信号而延迟参考调制信号以产生光源调制信号。因此,处理方框568展示响应于光源调制信号从光源发射光脉冲。
处理方框570展示也响应于像素编程信号延迟参考调制信号以产生像素调制信号。处理方框572展示响应于像素调制信号,从校准反射器反射的光脉冲由飞行时间像素单元阵列感测到。
处理方框574展示响应于感测到的光脉冲,像素调制信号中的延迟接着被改变以在像素编程信号的粗略分辨率部分的粗略范围中执行粗略分辨率扫描来识别最大粗略分辨率估计。例如,如果像素编程信号为8位数字信号,编程信号的最高有效字节可从二进制0000改变为二进制1010以在像素编程信号的粗略分辨率部分的粗略范围中扫描。在一实例中,对于每一延迟设定,飞行时间传感器可被多次(举例来说,15次)取样。接着,每一延迟值的每一平均电荷读数可被存储且接着做比较以识别导致观察到的电荷的峰值量的延迟值以寻找最大粗略分辨率估计。在一实例中,可通过读出及存储飞行时间像素单元阵列的第一及最后一行的电荷值而确定平均电荷读数,以使飞行时间像素单元阵列上的偏移散布平均化。处理方框576展示像素编程信号的粗略分辨率部分(举例来说,最高有效4位)接着被设定为等于最大粗略分辨率估计,最大粗略分辨率估计对应于在粗校准扫描期间在处理方框574中由飞行时间像素单元阵列感测到的最大电荷。
处理方框578展示响应于感测到的光脉冲,像素调制信号中的延迟接着被改变以在像素编程信号的精细分辨率部分的精细范围中执行精细分辨率扫描以识别最大精细分辨率估计。例如,以作为8位数字信号的实例像素编程信号继续,编程信号的最低有效字节可从二进制0000改变为二进制1010以在像素编程信号的精细分辨率部分的精细范围中扫描。在一实例中,对于每一延迟设定,飞行时间传感器可被多次(举例来说,15次)取样。接着,每一延迟值的每一平均电荷读数可被比较来找到最大精细分辨率估计。在实例中,也可通过读出及存储飞行时间像素单元阵列的第一及最后一行的电荷值而确定平均电荷读数,以使飞行时间像素单元阵列上的偏移散布平均化。处理方框580展示像素编程信号的精细分辨率部分(举例来说,最低有效4位)接着被设定为等于最大精细分辨率估计,其对应于在精细校准扫描期间在处理方框578中由飞行时间像素单元阵列感测到的最高电荷。
因此,根据本发明的教示,像素编程信号的粗及精细分辨率部分被校准为在粗及精细校准扫描期间能观察到最大电荷的值。根据本发明的教示,如今随着像素编程信号与光源调制信号同步,飞行时间成像系统如今可享有改进的效率及所感测物体的高深度分辨率。
以上对本发明的所说明实施例的描述(包含说明书摘要中所描述内容)不希望为详尽的或将本发明限制到揭示的精确形式。虽然本文为了说明性目的描述本发明的特定实施例及实例,但相关领域的技术人员应认识到,在本发明的范围之内的多种修改是可能的。
鉴于以上详细的描述,可对本发明做出这些修改。所附权利要求书中所使用的术语不应被解释为将本发明限制到说明书中揭示的特定实施例。实情是,本发明的范围将完全由所附的权利要求书确定,权利要求应根据权利要求解释的公认原则来解释。