一些實施例涉及測距裝置,并且特別地而非排他性地涉及能夠提供手勢檢測的裝置。
背景技術(shù):
已知用于確定到目標(biāo)的距離的設(shè)備。當(dāng)前使用的一種方法被稱為“飛行時間”(ToF)。該方法包括朝著目標(biāo)發(fā)送光信號并且測量信號行進(jìn)到目標(biāo)并且返回所需要的時間。信號進(jìn)行這一行程所需要的時間的計算可以通過測量從光源發(fā)出的信號與從目標(biāo)反射并且被光傳感器檢測到的信號之間的相移來獲得。已知這一相移以及光速,則能夠確定到目標(biāo)的距離。
單光子雪崩二極管(SPAD)可以用作反射光的檢測器。通常,SPAD的陣列被提供作為傳感器以便檢測反射光脈沖。光子可以通過光電效應(yīng)而在SPAD中生成載流子。光生成的載流子可以在SPAD陣列中的一個或多個SPAD中觸發(fā)雪崩電流。雪崩電流可以發(fā)出一個事件的信號,該事件即光的光子已經(jīng)被檢測到。
技術(shù)實現(xiàn)要素:
根據(jù)一方面,提供了一種測距裝置,其包括:被配置成從光源接收被目標(biāo)反射的光的多個光敏檢測器的第一陣列,上述第一陣列包括多個不同分區(qū);具有至少一個讀出通道并且被配置成從上述多個分區(qū)中的每個分區(qū)讀出數(shù)據(jù)的讀出電路系統(tǒng);以及被配置成根據(jù)來自第一陣列的上述輸出確定與上述目標(biāo)相關(guān)聯(lián)的位置信息的處理器。
第一陣列可以包括視場,其中每個分區(qū)與上述視場中的子區(qū)域相關(guān)聯(lián),上述處理器被配置成確定上述目標(biāo)相對于上述子區(qū)域中的一個或多個子區(qū)域的位置。
處理器可以被配置成通過使用由上述分區(qū)輸出的連續(xù)數(shù)據(jù)來確定上述目標(biāo)的移動。在一些實施例中,手勢可以被識別。
第一陣列可以包括n個分區(qū),并且上述讀出電路系統(tǒng)可以包括n個讀出通道。
第一陣列可以包括n個分區(qū),并且上述讀出電路系統(tǒng)包括m個讀出通道,其中m小于n,上述讀出電路系統(tǒng)被配置成從上述第一陣列的至少兩個分區(qū)連續(xù)地讀出。
裝置可以包括第二陣列,上述第二陣列被配置成提供參考值,上述讀出電路系統(tǒng)被配置成從上述第二陣列讀出數(shù)據(jù)。
第二陣列可以包括多個不同分區(qū)。
第二陣列與第一陣列可以包括相同數(shù)目的分區(qū)。
光敏檢測器可以包括SPAD。
裝置可以包括用于單獨尋址上述光敏檢測器的尋址電路系統(tǒng)。
尋址電路系統(tǒng)可以被配置成定義上述分區(qū)中的一個或多個分區(qū)。
尋址電路系統(tǒng)可以被配置成定義一個或多個子分區(qū),上述讀出電路系統(tǒng)被配置成從上述一個或多個子分區(qū)讀出上述數(shù)據(jù),其中一個或每個子分區(qū)包括至少一個分區(qū)的部分。
尋址電路系統(tǒng)可以被配置成動態(tài)地定義以下中的至少一項:上述一個或多個分區(qū);以及上述一個或多個子分區(qū)。
裝置可以包括上述被配置成發(fā)出光的光源。
根據(jù)另一方面,提供了一種集成電路,其包括:被配置成從光源接收被目標(biāo)反射的光的多個光敏檢測器的第一陣列,上述第一陣列包括多個不同分區(qū);以及具有至少一個讀出通道并且被配置成從上述多個分區(qū)中的每個分區(qū)讀出數(shù)據(jù)的讀出電路系統(tǒng)。
附圖說明
現(xiàn)在將僅作為示例并且參考附圖來描述一些實施例,在附圖中,圖1圖示用于確定到目標(biāo)的距離的“飛行時間”方法的原理;
圖2A到圖2C是圖示借助于圖1的設(shè)備獲取的結(jié)果以及“SPAD”的操作的時序圖;
圖3示出了實施例的框圖;
圖4a和圖4b示出了手勢的一些示例以及相關(guān)聯(lián)的幅度和距離;
圖5示出了橫向運動估計;
圖6示出了歸一化的幅度信息;
圖7a和圖7b示出了圖3的SPAD陣列的視場;
圖8示出了具有SPAD陣列布置的設(shè)備;
圖9到圖11示出了在一些實施例中產(chǎn)生的柱狀圖的示例;
圖12是描繪與實施例相關(guān)聯(lián)的方法步驟的流程圖;以及
圖13是描繪與另外的實施例相關(guān)聯(lián)的方法步驟的流程圖。
具體實施方式
圖1圖示“飛行時間”方法的一般原理。
在圖1中,生成器10(PULSE)提供例如方形的周期性電信號。這一信號對光源12供電。光源12的示例可以是發(fā)光二極管,或者可以是任何已知的照明設(shè)備,例如激光二極管。從光源12發(fā)出的信號朝著目標(biāo)16被傳輸并且被這一目標(biāo)反射。反射的光信號被光傳感器18檢測到。傳感器18上的信號因此與由生成器提供的信號存在與到目標(biāo)16的距離的兩倍成比例的時間段的相移。
計算框20(“DIFF”)接收由生成器10和傳感器18生成的信號并且計算這些信號之間的相移以獲得到目標(biāo)16的距離。
在一些實施例中,使用參考傳感器。參考傳感器將被定位成接收由光源發(fā)出的光,并且靠近光源。到目標(biāo)的距離可以使用從光源接收光的參考傳感器與從反射目標(biāo)接收光的傳感器18之間的時序差(timing difference)來確定。
圖2A到圖C是圖示諸如圖1的電路的操作的時序圖。圖2A圖示能夠由圖1的生成器10來提供的周期性信號“PULSE”。圖2B圖示由傳感器18接收的信號CAPT。由于與外部以及到形成傳感器18的部件的交互,這一傳感器接收的信號在本示例中具有為電容器充放電形式的變化。傳感器18上的信號與生成器10輸出的信號存在延遲為D的相移。
傳感器18可以集成一個或若干光檢測元件,以實現(xiàn)對在從目標(biāo)16反射后接收的信號的檢測。這樣的元件可以是快速電荷轉(zhuǎn)移光電二極管。也可以使用單光子雪崩二極管或者“SPAD”——也稱為Geiger模式雪崩光電二極管。這些器件具有反向偏置的pn結(jié),其中光生成的載流子由于碰撞電離機制而可能觸發(fā)雪崩電流。SPAD可以被設(shè)計成以反向偏置電壓以及在擊穿電壓之上操作。
圖2C圖示在傳感器18包含這樣的SPAD的情況下由傳感器18生成的信號(PULSEC)。
SPAD如下操作。在初始時間,二極管被偏置到大于其擊穿電壓的電壓。二極管結(jié)區(qū)域中光子的接收在二極管中開始雪崩,這產(chǎn)生電脈沖。之后二極管偏置回小于擊穿電壓的電壓,使得SPAD再次反作用于光子的接收。SPAD當(dāng)前可以周期性地使用,該周期性的再激活周期小于10ns。從而,SPAD可以高頻率地使用以檢測在距測量設(shè)備相對較短距離的位置處的目標(biāo),例如,在幾厘米到幾十厘米的范圍內(nèi)的距離處的目標(biāo)。在不同實施例中,可以支持不同的范圍。
如圖2C中所圖示的,如果SPAD接收諸如相對于圖2B描述的光信號,則二極管雪崩時間可以相對于這一信號進(jìn)行變化。脈沖數(shù)目與時間的曲線圖反映了由SPAD接收的光的功率時間曲線。因此,在圖2A到圖2C中圖示的情況下,通過大量獲取,SPAD的脈沖傳輸曲線圖基本上符合圖2B的曲線。
為了獲得與到目標(biāo)的距離有關(guān)的信息,現(xiàn)在將描述使用從設(shè)備獲得的數(shù)據(jù)的電路和方法。測距即為距離信息的獲取。這一距離可以是相對距離或者更精確的距離。
現(xiàn)在參考圖3,圖3示意性地示出了實施例的概述。布置包括第一SPAD陣列1和第二SPAD陣列2。每個SPAD陣列包括多個SPAD器件。每個SPAD陣列包括八個分區(qū)。這些分區(qū)分別被標(biāo)記為A到H。
在一些實施例中,可以預(yù)先定義分區(qū)。然而,如將更詳細(xì)地討論的,可以可變化地被配置分區(qū)。在一些實施例中,可以可變化地配置分區(qū)的數(shù)目和/或分區(qū)的大小。
在圖3所示的示例中,陣列被示出為具有相同數(shù)目的分區(qū)。在其他實施例中,陣列可以具有彼此不同數(shù)目的分區(qū)。
在一些實施例中,分區(qū)的數(shù)目和/或分區(qū)的大小可以在器件處于制造/配置階段時針對器件的使用來配置。
在其他實施例中,分區(qū)的數(shù)目和/或分區(qū)的大小可以在器件的操作期間變化。在一些實施例中,分區(qū)可以在器件的操作期間被動態(tài)地配置。這在一些實施例中可以用于跟蹤感興趣的目標(biāo)。
分區(qū)的數(shù)目在一些實施例中可以縮放。
每個分區(qū)的位置和/或大小在一些實施例中可以動態(tài)地變化。
使得能夠動態(tài)地改變分區(qū)的位置和/或大小的這些實施例可以使用尋址電路系統(tǒng)13來促進(jìn)這一操作。特別地,尋址電路系統(tǒng)被配置成控制陣列的哪個部分定義特定分區(qū)。這可以針對陣列的一個或多個分區(qū)來進(jìn)行。
在所描述的實施例中,每個陣列被描述為具有8個分區(qū)。然而,這僅作為示例,并且在不同的實施例中,分區(qū)的數(shù)目可以大于或小于8。
在一些實施例中,每個分區(qū)設(shè)置有其自己的專用輸出路徑。來自每個分區(qū)的相應(yīng)輸出在第一陣列1的情況下被提供給OR樹3,在第二陣列2的情況下被提供給OR樹4。相應(yīng)的OR樹3和4的輸出被提供給復(fù)用器組7。復(fù)用器組7提供8個并行的讀出通道11或組。每個讀出通道或組將從相應(yīng)的分區(qū)接收輸出。
處理器16可以被提供以從所有讀出組接收數(shù)據(jù)并且處理這些數(shù)據(jù)以確定位置信息。
在一些實施例中,可以針對16個分區(qū)中的每個分區(qū)提供通道或讀出組。因此,可以存在例如16個讀出通道。在一些實施例中,可以有比特定陣列中的分區(qū)少的讀出通道。在該場景中,可以使用時分復(fù)用技術(shù)來讀出特定陣列的不同分區(qū)。圖3所示的讀出通道的數(shù)目僅是示例,不同示例可以設(shè)置有不同數(shù)目的通道——小于或大于8個。在一些實施例中,可以提供單個讀出通道,其中不同分區(qū)按照時間復(fù)用方式來被讀出。
因此,通道或者讀出組捕獲由SPAD陣列提供的信息以便使得能夠確定距離信息。
在一些實施例中,一個陣列用作參考陣列。這將在光被光源發(fā)出時捕獲光。其將用作參考點,從目標(biāo)反射的來自光源的光被另一方(所謂的返回陣列)接收所需要的時間與該參考點相比較。
在其他實施例中,這兩個陣列將捕獲從目標(biāo)反射的光。兩個SPAD陣列和相關(guān)聯(lián)的電路系統(tǒng)可以用于提供立體透視。每個陣列能夠捕獲反射光束,并且層際空間(interspatial)距離可以用于提供立體透視。
在圖3所示的實施例中,兩個陣列被示出為具有相同的大小。在其他實施例中,陣列可以具有不同的大小。例如,如果陣列之一被用作參考陣列,則該陣列可以小于返回陣列。
復(fù)用器組7使得16個可用分區(qū)的不同組合能夠被傳遞到8個通道或者讀出組。在一些實施例中,一個陣列的分區(qū)可以被一起讀出,之后另一陣列的分區(qū)被一起讀出。然而,在其他實施例中,可以選擇16個分區(qū)中的任何分區(qū)。例如,來自第一分區(qū)的分區(qū)A、B、C和D的輸出以及來自第二分區(qū)的分區(qū)E、F、G和H的輸出可以被同時傳遞給8個讀出組。
讀出組和處理器可以被配置成將SPAD陣列數(shù)據(jù)變換成柱狀圖數(shù)據(jù)以及可選地變化成范圍估計。在一些實施例中,讀出組可以向處理器16提供讀出數(shù)據(jù),處理器16被配置成提供范圍估計或者手勢識別,這將在稍后更詳細(xì)地討論。
在其他實施例中,可以使用任何其他合適的技術(shù)來確定距離信息。
在一些實施例中,陣列中的每個SPAD可以被配置成單獨地可尋址。在這點上,每個陣列設(shè)置有尋址電路系統(tǒng)13。這樣的功能被提供以便切換出故障的SPAD。在一些實施例中,通過單獨尋址,能夠使用這一尋址并且串行地訪問這些SPAD來詢問另外的子分區(qū)。在一些實施例中,這些子分區(qū)可以在單個分區(qū)內(nèi)。在其他實施例中,兩個或多個分區(qū)中可以有另外的定義的分區(qū)。在多于兩個分區(qū)中有另外的分區(qū)的情況下,該另外的分區(qū)可以部分地或者完全地包括這些分區(qū)中的一個或多個分區(qū)。
在所示實施例中,示出了每個陣列的OR樹。在一些實施例中,針對每個陣列可以提供多于一個OR樹。OR樹可以全部向多路復(fù)用器組提供輸出。每個OR樹可以被配置成接收特定分區(qū)的輸出。
通過圖3所示的布置,可以實現(xiàn)手勢檢測和/或多分區(qū)飛行時間。一些實施例可以使得能夠從系統(tǒng)視場內(nèi)并行地獲取范圍和信號強度值。一些實施例可以使得能夠評估多個感興趣的分區(qū)而不需要時間交織測量。這可以增加能夠在所有分區(qū)上采集數(shù)據(jù)的速率。這可以表示,可以捕獲更快的手勢。
陣列中的一個或兩個陣列可以設(shè)置在單個晶片或集成電路上。
在實施例中,將某個時間幀內(nèi)針對一個或多個目標(biāo)所采集的運動數(shù)據(jù)與一個或多個參考數(shù)據(jù)相比較。如果運動數(shù)據(jù)匹配一個參考數(shù)據(jù),則可以識別出與參考數(shù)據(jù)相關(guān)聯(lián)的手勢。
在一些實施例中,可以省略第二陣列。
參考圖4a和圖4b,其示出了可以檢測一些實施例的布置的手勢的一些示例。第一手勢是用戶可以朝著檢測器移動其手然后移開。因此,距離將減小然后增加。示出了對應(yīng)的幅度測量。通常,在目標(biāo)(例如用戶的手)靠近檢測器時,幅度將更高。
能夠檢測的手勢的第二示例是滑動手勢。通過滑動手勢,通常,用戶的手在距檢測器相對恒定距離的位置處。幅度與上下手勢具有類似的輪廓。通過使用基于ToF的檢測系統(tǒng),與基于強度的檢測系統(tǒng)相對,使得能夠區(qū)分兩個手勢。
通過手勢檢測,可以不需要確定精確距離。然而,在一些實施例中,可以以相對準(zhǔn)確性來確定距離。
參考圖5,其示出了用于橫向運動估計的方法。通常,當(dāng)用戶的手移動通過檢測器時,被填充的視場的百分比將變化。這在圖5中示意性地表示。當(dāng)用戶的手從左向右移動時,填充因子逐漸增加直到視場的百分之百被目標(biāo)填充然后將再次減小。視場的被目標(biāo)填充的百分比通常獨立于目標(biāo)距離。應(yīng)當(dāng)理解,手勢的速度決定應(yīng)當(dāng)收集范圍信息的速率。
這基于來自各個分區(qū)的信息來確定。來自特定分區(qū)的輸出確定用戶的手相對于該分區(qū)在何處。通過使用在連續(xù)的時間點得到的來自所有分區(qū)的信息,可以確定目標(biāo)的路線并且從而識別手勢??紤]到用戶的手沿著分區(qū)A到D的方向移動跨過陣列的以下示例,可以根據(jù)分區(qū)確定以下信息。初始,在時間t1,僅分區(qū)A和E可以檢測移動的手。然后,在t2,分區(qū)A、B、E和F可以檢測移動的手。然后,在時間t3,分區(qū)A、B、C以及E、F和G可以檢測移動的手。在時間t4,所有分區(qū)可以檢測用戶的手。在時間t5,分區(qū)B、C、D以及F、G和H可以檢測用戶的手。在時間t6,分區(qū)C、D和G以及H可以檢測用戶的手。在時間t7,分區(qū)D和H可以檢測用戶的手。應(yīng)當(dāng)理解,這是簡單的示例并且處理器可以被配置成分析來自每個分區(qū)的數(shù)據(jù)以確定是否檢測到目標(biāo)。
參考圖6,其示出了與針對圖11所示的運動作出的測量相關(guān)聯(lián)的幅度的歸一化。歸一化使用例如距離信息。最大幅度出現(xiàn)在視場被目標(biāo)完全填充時。最低幅度出現(xiàn)在運動使得僅視場的20%被填充時,例如在手勢運動的任何端部處。
參考圖7a和7b,其示意性地示出了與返回陣列相關(guān)聯(lián)的視場100。應(yīng)當(dāng)理解,可以在陣列上使用透鏡103來控制視場。然而,這是可選的。視場中標(biāo)記為102的區(qū)域表示與相應(yīng)分區(qū)相關(guān)聯(lián)的單獨的視場。因此,每個分區(qū)具有其自己的視場。來自每個分區(qū)的視場然后一起構(gòu)成陣列的視場。
在所示示例中,視場為大約+/-35°。然而,應(yīng)當(dāng)理解,這僅是示例,在其他實施例中,可以使用不同的視場。例如,視場可以在+/-40到70°之間。
在本示例中,測距距離可以高達(dá)大約40cm。然而,這也僅是示例,并且可以支持更小或者更大的范圍。
應(yīng)當(dāng)理解,雖然示出了僅用于陣列之一的視場,然而第二陣列在也用作返回陣列的情況下也可以具有類似的和交疊的視場。另外,第一和第二陣列具有已知的間隔。這使得能夠?qū)崿F(xiàn)精確地定位目標(biāo)。
在一些實施例中,陣列的不同分區(qū)之間的間隔可以用于確定由不同分區(qū)檢測的目標(biāo)的位置。
通過一些實施例,能夠確定視場中的一個或多個目標(biāo)。由于存在并行讀出的多個分區(qū),這可以使得能夠識別相對復(fù)雜和/或更快的手勢。這還使得能夠跟蹤多個目標(biāo)。
在一些實施例中,手勢的速度——即移動目標(biāo)的速度——可以確定可以收集范圍信息的速率。手勢系統(tǒng)的準(zhǔn)確性或者可以捕獲的手勢的范圍(包括能夠跟蹤的目標(biāo)的最小尺寸)可以確定應(yīng)當(dāng)在系統(tǒng)視場內(nèi)詢問(interrogate)的分區(qū)的數(shù)目和/或分區(qū)大小。應(yīng)當(dāng)理解,對于時間交織系統(tǒng),如果串行地評估分區(qū),則可能需要實現(xiàn)必須串行評估的大量分區(qū)之間的平衡,系統(tǒng)在收集整個數(shù)據(jù)集方面將變得更慢。因此,這可以是在配置陣列中的分區(qū)數(shù)目以及讀出通道的數(shù)目時被考慮在內(nèi)的考慮之一。
因此,實施例可以使得能夠并行地調(diào)查視場內(nèi)的多個區(qū)域的范圍和數(shù)據(jù)速率。這可以使得能夠在手勢系統(tǒng)內(nèi)檢測更快的目標(biāo)跟蹤。這可以使得能夠在多分區(qū)自動聚焦系統(tǒng)中評估多于一個感興趣的點。
在一些實施例中,諸如在手勢識別場景中,可以犧牲測量準(zhǔn)確性來換取數(shù)據(jù)的捕獲速率。為了增加準(zhǔn)確性,增加做出的讀數(shù)的數(shù)目。如果這減小,則可以減小捕獲數(shù)據(jù)集所需要的時間。
實施例可以具有很多不同應(yīng)用。例如,實施例可以用在基于SPAD的飛行時間傳感器中用于確定接近、距離測量、輔助自動聚焦和3D成像中的一個或多個。一些實施例可以在手勢識別或目標(biāo)跟蹤系統(tǒng)中具有應(yīng)用。
一些實施例可以用在自動聚焦系統(tǒng)中和/或可以用在具有帶有變化的孔徑的變焦的系統(tǒng)中。在本示例中,范圍測量準(zhǔn)確性可以相對較高。
一些實施例可以具有紅外應(yīng)用。光源可以用紅外源來代替,并且檢測器陣列可以對紅外輻射敏感。
圖9到圖11示出了對照時間檢測的大量事件的情況下在陣列之一處檢測到的光的柱狀圖。如從圖9可見,在時間t1處有檢測事件的第一峰值303,在時間t2處有事件的第二峰值304。這些第一和第二峰值可以是發(fā)出光從相應(yīng)的第一和第二目標(biāo)的反射的結(jié)果。
應(yīng)當(dāng)理解,時間t1和時間t2可以由設(shè)備的時鐘來確定。時間可以基于在光脈沖被觸發(fā)時開始計數(shù)的定時器(或者通過使用由參考陣列提供的信息)來確定,并且在事件發(fā)生(反射光的入射)時進(jìn)行記錄。與檢測事件相關(guān)的信息以及檢測事件的時間可以被傳遞給時間數(shù)字變換器,時間數(shù)字變換器可以提供信息的數(shù)字表示??梢岳斫猓瑫r間數(shù)字變換器可以從傳感器陣列接收事件的指示并且提供事件的數(shù)字指示連同時間。例如,TDC(時間數(shù)字變換器)還可以耦合到時鐘。處理器可以接收這些數(shù)字指示并且構(gòu)建描繪在每個時間出現(xiàn)的大量事件的柱狀圖。
處理器可以接收事件已經(jīng)發(fā)生的信息以及事件發(fā)生的時間。處理器可以收集這一信息并且使用其來生成柱狀圖。應(yīng)當(dāng)理解,為了收集足夠的信息以生成柱狀圖,可以在確定到遠(yuǎn)程目標(biāo)的距離時發(fā)出多個光脈沖??梢葬槍@些多個脈沖中的一個或多個脈沖檢測事件信息,并且可以由處理器來組合這些信息以生成柱狀圖。
應(yīng)當(dāng)理解,圖9的柱狀圖中的信息可以表示在大量脈沖上檢測的事件。
應(yīng)當(dāng)理解,處理器可以觸發(fā)脈沖的開始。觸發(fā)脈沖的時間可以已知,然而,由于驅(qū)動器反映時間和PVT(過程、電壓、溫度)變化,發(fā)出脈沖的時間并未準(zhǔn)確已知。對于每個脈沖,可以認(rèn)為事件302的時間是在脈沖被觸發(fā)與事件被檢測到之間的時間。因此,針對多個脈沖中的每個脈沖的事件信息可以包括事件的指示以及對應(yīng)于在脈沖的觸發(fā)和事件發(fā)生之間的時間段的時間。
應(yīng)當(dāng)理解,在t1和t2周圍的時間檢測的大量事件可以不為空。這是因為,可以發(fā)生到傳感器上的其他光入射。例如,來自其他源的光可以在傳感器上入射和/或具有更長的反射路徑的光可以落到傳感器上。
應(yīng)當(dāng)理解,針對每個脈沖周期收集事件數(shù)據(jù),然后將來自所有脈沖周期的事件數(shù)據(jù)組合。發(fā)射器可以在檢測周期期間發(fā)出大量脈沖,并且針對檢測周期中的每個脈沖周期來收集數(shù)據(jù)。針對脈沖周期期間出現(xiàn)的事件,對于每個脈沖周期,收集包括任何事件的指示以及相關(guān)聯(lián)的時間(對應(yīng)于在脈沖被觸發(fā)與事件被檢測到之間的時間段)的時間和事件信息??梢詫⒚總€脈沖周期的時間和事件信息組合以生成柱狀圖。
在這種情況下,脈沖周期可以包括光脈沖出現(xiàn)的周期以及在脈沖與下一脈沖之間的時間段。在一個示例中,脈沖可以是2ns長,并且脈沖之間可以有10ns的中斷。在本示例中,脈沖周期為12ns。然而,應(yīng)當(dāng)理解,這僅是示例,可以基于部件能力和/或期望檢測的距離并且取決于設(shè)備的應(yīng)用來選擇脈沖周期。
一旦在檢測周期中從脈沖收集到時間和事件信息并且生成了柱狀圖,則可以根據(jù)第一峰值303和第二峰值304的時間來確定遠(yuǎn)程目標(biāo)與設(shè)備之間的距離??梢源_定第一事件發(fā)生的平均時間以及第二事件發(fā)生的平均時間,并且將其用于確定第二目標(biāo)的距離。應(yīng)當(dāng)理解,可以使用不同的檢測峰值的方法。例如,可以使用每個時間的最大事件數(shù)目來檢測峰值,或者可以使用每個時間段的平均事件數(shù)目。
應(yīng)當(dāng)理解,可以從每個分區(qū)來收集柱狀圖信息,并且其可以由處理器使用以確定目標(biāo)的移動。
圖12示出了根據(jù)一些實施例的可以執(zhí)行的方法步驟的示例。
在步驟401,確定多個第一和第二事件,并且記錄發(fā)生每個事件的時間。應(yīng)當(dāng)理解,在接收到事件數(shù)據(jù)并且從而在柱狀圖中記錄事件數(shù)據(jù)時,可以更新柱狀圖。還應(yīng)當(dāng)理解,可以針對檢測周期中的一系列脈沖記錄事件數(shù)據(jù),并且事件時間可以與每個脈沖有關(guān)。
在步驟402,可以根據(jù)事件信息生成柱狀圖。應(yīng)當(dāng)理解,在一些實施例中,柱狀圖可以在檢測周期結(jié)束時并且基于針對檢測周期的所有時間和事件信息來生成。在其他實施例中,柱狀圖可以在檢測周期期間生成并且在生成時間和事件信息時更新。在一些實施例中,柱狀圖可以由處理器響應(yīng)于來自TDC的數(shù)字時間信息來生成。在其他實施例中,TDC可以生成柱狀圖。
在步驟403,可以使用柱狀圖的對應(yīng)于第一事件的第一峰值303的時間以及對應(yīng)于第二事件的第二峰值304的時間來確定光行進(jìn)去往和來自相應(yīng)的遠(yuǎn)程目標(biāo)所需要的時間。
應(yīng)當(dāng)理解,在步驟401,可以使用一系列光脈沖來生成足夠的事件數(shù)據(jù)以生成柱狀圖。圖9示出了根據(jù)一些示例的與一系列脈沖相關(guān)聯(lián)的方法步驟。
在圖1的步驟501,觸發(fā)第一脈沖,并且在502重置定時器。應(yīng)當(dāng)理解,定時器在觸發(fā)脈沖的時間并且不必須在脈沖實際發(fā)出的時間被重置。還應(yīng)當(dāng)理解,在一些情況下,這些步驟501和502可以同時執(zhí)行。
在步驟503,確定陣列是否檢測到事件。如果檢測到事件,則向TDC傳遞檢測事件的指示,其中在步驟504記錄事件時間。應(yīng)當(dāng)理解,時間可以對應(yīng)于定時器并且因此對應(yīng)于從觸發(fā)第一脈沖開始的時間段。方法然后繼續(xù)進(jìn)行到步驟505。如果在503沒有檢測到任何事件,則方法也繼續(xù)進(jìn)行到步驟505。
在步驟505,確定脈沖周期是否結(jié)束。換言之,確定由于第一脈沖而能否發(fā)生更多事件或者是否是第二脈沖的時間了。脈沖周期可以包括例如脈沖的時間以及脈沖之間的時間。如果脈沖周期尚未結(jié)束,則方法繼續(xù)進(jìn)行到步驟503,在步驟503檢測并且輸出更多事件。
如果在505脈沖周期結(jié)束,則方法繼續(xù)進(jìn)行以返回步驟501和502,在步驟501和502可以生成第二脈沖。以這一方式,可以生成形成檢測周期的一系列脈沖并且可以提供檢測周期的時間信息用于生成柱狀圖。圖5的方法在生成檢測周期中的全部脈沖之后退出。
通過圖10中給出的示例,構(gòu)建所得到的柱狀圖。為了確定第一峰值303和第二峰值304的時間,處理器被配置成確定第一和第二峰值的位置。應(yīng)當(dāng)理解,處理器可以用任意合適的方式來檢測峰值的位置并且因此檢測第一峰值與第二峰值之間的時間,然而圖10示出了這樣的確定的一個示例。
在圖10的示例中,在確定第一峰值303與第二峰值304之間的時間差時執(zhí)行四個階段。第一階段602可以先于檢測周期而出現(xiàn)并且可以包括構(gòu)建描繪由環(huán)境光觸發(fā)的平均事件信息的柱狀圖。應(yīng)當(dāng)理解,在沒有觸發(fā)脈沖的情況下,可以在陣列上檢測由于環(huán)境中的環(huán)境光而產(chǎn)生的事件。在本示例中,單獨的定時序列可以運行而沒有由光發(fā)射器發(fā)出的光脈沖??梢杂商幚砥魃墒境鲈诃h(huán)境光條件下檢測的大量事件與時間的關(guān)系的柱狀圖。這在一些實施例中是可選的。
在第一階段之后,響應(yīng)于時間周期生成柱狀圖,諸如相對于圖12和13所描述的。其可以是如601所示的柱狀圖。第二階段可以在生成圖9的柱狀圖之后發(fā)生并且在603處示出。第二階段可以包括在從檢測周期生成的柱狀圖中從事件信息中減去由環(huán)境光引起的期望的平均事件。應(yīng)當(dāng)理解,這可以逐位進(jìn)行。
第三階段可以包括加門限并且在604處示出。在第三階段604中,估計第一和第二脈沖的大致位置或時間。處理器可以確定事件信息是否不可能是由于反射脈沖,并且從柱狀圖中去除這樣的數(shù)據(jù)。例如,可以去除非常低水平或負(fù)數(shù)數(shù)量的檢測事件。
在第四階段,可以通過例如峰值檢測和/或通過質(zhì)量中心計算來找到每個剩余離散峰值的中心并且其在605處示出。
在圖10的示例中,第一峰值303和第二峰值304可以在時間上分離。例如,峰值303與304之間可以存在特別的低點305。
然而,在一些情況下,例如如果目標(biāo)靠近,則第一和第二峰值可以交疊。在這樣的情況下,可以使用更復(fù)雜的算法來解決時間上的脈沖交疊。例如,柱狀圖數(shù)據(jù)可以被低通濾波然后區(qū)分以檢測響應(yīng)的變化。
圖11給出了其中確定到三個遠(yuǎn)程目標(biāo)的相應(yīng)距離的實施例的示例。在這種情況下,可以有三個峰值——由于反射離開第一目標(biāo)而觸發(fā)的事件所導(dǎo)致的第一峰值303、由于反射離開第二目標(biāo)而觸發(fā)的事件所導(dǎo)致的第二峰值304、以及由于反射離開第三目標(biāo)701而觸發(fā)的事件所導(dǎo)致的第三峰值710。
在一些實施例中,可以獨立地識別和跟蹤視場中的不同深度處的目標(biāo)。
應(yīng)當(dāng)理解,雖然以上描述了依賴于脈沖輸入波形的布置,然而其他實施例可以使用其他技術(shù),例如使用發(fā)出正弦波形的光源。在本示例中,在檢測周期期間,發(fā)射器可以基于光頻率和時間,并且可以針對發(fā)出頻率的每個周期生成事件信息直到檢測周期結(jié)束。
應(yīng)當(dāng)理解,本公開的實施例可以在各種應(yīng)用中來實現(xiàn)。例如,根據(jù)實施例的從返回和參考峰值減去提取的測距數(shù)據(jù)可以用于大量應(yīng)用,包括用戶檢測、手勢識別、目標(biāo)跟蹤、自動聚焦輔助和機器視覺。
已經(jīng)在使用柱狀圖技術(shù)的上下文中描述了一些實施例。然而,這僅是分析來自陣列的分區(qū)的輸出的一種方式。在其他實施例中,可以使用不同的技術(shù)來分析來自陣列的分區(qū)的輸出。
應(yīng)當(dāng)理解,在一些實施例中,陣列可以是單光子雪崩二極管陣列。應(yīng)當(dāng)理解,光(作為從發(fā)射器發(fā)出的光的部分)的光子可以在SPAD中觸發(fā)雪崩電流并且因此引起事件的指示的輸出。
以上已經(jīng)描述了光發(fā)射器。應(yīng)當(dāng)理解,在一些實施例中,發(fā)射器可以是豎直表面腔體發(fā)射激光器(VSCEL)并且可以由VSCEL驅(qū)動器來驅(qū)動。然而,應(yīng)當(dāng)理解,這僅是示例,可以使用其他合適的發(fā)射器。
一些實施例可以在如圖4所示的設(shè)備400中來提供。設(shè)備400可以包括如先前描述的并且被標(biāo)記為410的多個SPAD陣列。來自SPAD布置的輸出可以被提供給處理器414?;谟商幚砥魈峁┑妮敵?,可以向功能框416輸出信息或控制信號。功能框可以是被配置成響應(yīng)于檢測到目標(biāo)的存在而引起一個或多個動作的控制器。功能框可以是被配置成顯示測量結(jié)果的顯示器。處理器可以被配置成根據(jù)從SPAD陣列提供的信息來識別一個或多個手勢。
應(yīng)當(dāng)理解,設(shè)備可以是任意合適的設(shè)備。僅作為示例而非限制,設(shè)備可以是移動電話、智能電話、平板、計算機、測量設(shè)備、諸如用于光的開關(guān)控制器、控制諸如水龍頭或廁所中的水供應(yīng)、門控制器、距離傳感器、影響控制器或者任何其他合適的設(shè)備。
一些實施例可以使用其他傳感器,而非SPAD。這些傳感器可以是在接收到光信息時生成事件的集成元件。一些實施例可以使用任何光子敏感檢測器。
應(yīng)當(dāng)理解,以上描述的布置可以至少部分用集成電路、芯片集、封裝在一起或者在不同封裝件中的一個或多個晶片、離散的電路系統(tǒng)或者這些選項的任意組合來實現(xiàn)。
例如,檢測器以及可選地處理器可以設(shè)置在集成電路或晶片上。檢測器和可選地處理器可以封裝在具有光發(fā)射器的模塊中。
在此已經(jīng)在上文中描述了具有不同變型的各種實施例,應(yīng)當(dāng)注意,本領(lǐng)域技術(shù)人員可以組合這些各種實施例和變型的各種元素。
這樣的替選、修改和改進(jìn)意圖作為本公開的部分,并且意圖在本發(fā)明的范圍內(nèi)。相應(yīng)地,以上描述僅是示例,而非意圖限制。本發(fā)明僅如以下權(quán)利要求及其等同方案中所定義地被限制。