本開示の実施形態は、上述した欠点に対処するコンピュータ実装システムおよび方法を提供する。本開示において、計算効率が良く、かつ動的シーンに対応する、3次元画像感知のためのシステムおよび方法が提供される。したがって、生成されたデータは、深さ情報を含み、たとえば点群として、シーンの3次元再構成を可能にし得る。加えて、本開示の実施形態は、他の高電力ソリューションに匹敵する、またはそれよりも高い品質のデータを提供しながらも、たとえば拡張現実、ロボット工学などの低電力アプリケーションにおいて用いられ得る。
本開示の実施形態は、電磁パルスのパターンを投影し、画像センサにおけるそれらのパターンの反射を受信し得る。パターンは、プロジェクタの空間座標にインデックスを付けてよく、画像センサは、反射を受信する画素(複数も可)の位置(複数も可)で、受信された反射にインデックスを付けてよい。したがって、本開示の実施形態は、プロジェクタおよび画素(複数も可)の空間座標に基づいて深さを三角測量し得る。
動的シーンを考慮するために、本開示の実施形態は、ステートマシンを用いて、画像センサの画素にわたり移動する受信パターンを追跡してよい。よって、異なる画素がパターンの異なる部分を受信する場合でも、深さが計算され得る。したがって、本開示の実施形態は、上述したように現在存在する技術によって示された技術的問題を解決し得る。
また本開示の実施形態は、現在存在する技術よりも高い時間分解能も提供し得る。たとえば、捕捉画像における一致点ではなく既知のパターン(たとえば、格納されたパターンおよび/またはパターンのプロジェクタから三角測量を行うプロセッサに提供されたパターン)の三角測量を用いることによって、レイテンシが低く維持される。また、ステートマシンの使用により、この低いレイテンシを犠牲にすることなく、たとえば時間飛行型などの上述した従来技術を上回るまで精度が高められる。
時間分解能は、イベントベースの画像センサを用いることによって、更に高められ得る。そのようなセンサは、閾値を超過する特定の画素における照明の変化に基づいてシーン内のイベントを捕捉し得る。非同期センサは、生成されるデータの量を低減しながら、シーン内に投影されたパターンを検出し得る。したがって、時間分解能が高められ得る。
また、上述したようなイベントベースの画像センサの使用によるデータの低減は、各画素における光サンプリングレートを、たとえば(一般的なCMOS画像センサのフレームレートである)毎秒30回または毎秒60回から、たとえば毎秒1,000回、毎秒10,000回、それ以上などのより高いレートに高めることを可能にし得る。より高い光サンプリングレートは、現在存在する技術と比べて、パターン検出の精度を高める。
1つの実施形態において、3次元画像を検出するためのシステムは、複数の電磁パルスをシーンに投影するように構成されたプロジェクタと、複数の画素を備え、投影された複数の電磁パルスによって生じるシーン内の反射を検出するように構成された画像センサと、少なくとも1つのプロセッサとを備えてよい。少なくとも1つのプロセッサは、複数の電磁パルスに関連付けられた複数のパターンを決定し、検出された反射に基づいて画像センサから1または複数の第1の信号を受信し、受信した第1の信号に基づいて画像センサの1または複数の第1の画素に対応する1または複数の第1のイベントを検出し、1または複数の第1のイベントに基づいて、1または複数のステートマシンを初期化し、検出された反射に基づいて画像センサから1または複数の第2の信号を受信し、受信した第2の信号に基づいて画像センサの1または複数の第2の画素に対応する1または複数の第2のイベントを検出し、1または複数の第2のイベントを1または複数の第1のイベントと連結するための候補を決定し、候補および1または複数のステートマシンに基づいて、1または複数の第1の画素および1または複数の第2の画素に関する3次元像点を決定するように構成され得る。
そのような実施形態において、1または複数の第1のイベントは、複数の電磁パルスに関連付けられた複数のパターンの始まりに対応してよい。また、1または複数の第2のイベントは、複数の電磁パルスに関連付けられた複数のパターンの終わりに対応してよい。
これらの実施形態のいずれにおいても、複数のパターンは、時間で区切られた少なくとも2つの異なる振幅を備えてよい。追加または代替として、複数のパターンは、時間で区切られた少なくとも2つの異なる波長を備えてよい。追加または代替として、複数のパターンは、時間の長さで区切られた少なくとも2つの異なるパルス長を備えてよい。追加または代替として、複数のパターンは、様々な時間の長さで区切られた複数のパルスを備える。これらの実施形態のいずれにおいても、複数のパターンは、シンボルを符号化するために用いられる選択された周波数、位相シフト、またはデューティサイクルの少なくとも1つを有するパルスを備えてよい。
これらの実施形態のいずれにおいても、プロジェクタは、複数の電磁パルスをシーン内の複数の空間位置に投影するように構成され得る。また、空間位置の少なくとも1つは、1または複数の第1の画素の少なくとも1つに対応してよく、空間位置の他の少なくとも1つは、1または複数の第2の画素の少なくとも1つに対応してよい。
これらの実施形態のいずれにおいても、プロジェクタは、複数の電磁パルスを複数の異なる投影時間に投影するように構成され得る。また、投影時間の少なくとも1つは、1または複数の第1のイベントの少なくとも1つに対応してよく、投影時間の他の少なくとも1つは、1または複数の第2のイベントの少なくとも1つに対応してよい。
これらの実施形態のいずれにおいても、画像センサの各画素は、少なくとも1つの第1の感光性要素に電気接続され、少なくとも1つの第1の感光性要素に衝突する光の輝度に比例するアナログ信号が条件と一致する場合、トリガ信号を生成するように構成された検出器と、トリガ信号に応答して少なくとも1つの第2の感光性要素に衝突する光の輝度の関数である信号を出力するように構成された少なくとも1つの第2の感光性要素とを備えてよい。そのような実施形態において、1または複数の第1の信号は、条件が増加条件である場合、正極性を有し、条件が減少条件である場合、負極性を有してよい。したがって、少なくとも1つのプロセッサは更に、1または複数の第1のイベントまたは1または複数の第2のイベントを取得するために1または複数の第1の信号の極性を復号するように構成され得る。追加または代替として、少なくとも1つのプロセッサは更に、閾値を超過する時間量離れた1または複数の第1の信号のいずれをも破棄し、および/または所定の範囲内にない帯域幅を伴う1または複数の第1の信号のいずれをも破棄するように構成され得る。
これらの実施形態のいずれにおいても、少なくとも1つの第1の感光性要素は、少なくとも1つの第2の感光性要素を備えてよい。あるいは、少なくとも1つの第1の感光性要素および少なくとも1つの第2の感光性要素は、少なくとも部分的に、個別の要素であってよい。
これらの実施形態のいずれにおいても、システムは、所定の範囲内にない波長を伴う任意の反射を遮断するように構成された光学フィルタを更に備えてよい。
これらの実施形態のいずれにおいても、複数のパターンは、電磁パルスに符号化された固有シンボルのセットを備えてよい。あるいは、複数のパターンは、電磁パルスに符号化された半固有シンボルのセットを備えてよい。たとえば、シンボルは、幾何学的に画定された空間内で固有であってよい。そのような実施形態において、幾何学的に画定された空間は、システムのエピポーラ線を備えてよい。
これらの実施形態のいずれにおいても、少なくとも1つのプロセッサは更に、1または複数の初期化されたステートマシンおよび候補を備えるファイナライズされたステートマシンを格納するように構成され得る。したがって、少なくとも1つのプロセッサは更に、後続するイベントに関する候補を決定する際、格納されたステートマシンを用いるように構成され得る。
これらの実施形態のいずれかにおいて、1または複数の第2のイベントを1または複数の第1のイベントと連結するための候補を決定するために、少なくとも1つのプロセッサは更に、複数のパターンおよび1または複数のステートマシンを用いるように構成され得る。
1つの実施形態において、撮像システムは、複数の画素および少なくとも1つのプロセッサを備えてよい。各画素は、第1の感光性要素と、第1の感光性要素に電気接続され、第1の感光性要素に衝突する光の輝度に比例するアナログ信号が条件と一致する場合、トリガ信号を生成するように構成された検出器と、1または複数の第2の感光性要素に衝突する光の輝度の関数である信号を出力するように構成された1または複数の第2の感光性要素とを備えてよい。少なくとも1つのプロセッサは、シーンに投影された複数の電磁パルスに関連付けられた複数のパターンを決定し、シーンからの検出された反射に基づき、かつ検出器からのトリガ信号に応答して、1または複数の第2の感光性要素からの1または複数の第1の信号を受信し、受信した第1の信号に基づいて複数の画素のうちの1または複数の第1の画素に対応する1または複数の第1のイベントを検出し、1または複数の第1のイベントに基づいて、1または複数のステートマシンを初期化し、シーンからの検出された反射に基づき、かつ検出器からのトリガ信号に応答して、1または複数の第2の感光性要素からの1または複数の第2の信号を受信し、受信した第2の信号に基づいて複数の画素のうちの1または複数の第2の画素に対応する1または複数の第2のイベントを検出し、1または複数の第2のイベントを1または複数の第1のイベントと連結するための候補を決定し、候補および1または複数のステートマシンに基づいて、1または複数の第1の画素および1または複数の第2の画素に関する3次元像点を決定するように構成され得る。
そのような実施形態において、複数のパターンを決定するために、少なくとも1つのプロセッサは更に、時間間隔で区切られた振幅を定めるデジタル信号を受信するように構成され得る。たとえば、時間間隔で区切られた振幅を定めるデジタル信号は、複数のパターンに従って複数の電磁パルスを投影するように構成されたプロジェクタに関連付けられたコントローラから受信され得る。追加または代替として、時間間隔で区切られた振幅を定めるデジタル信号は、パターンを格納している少なくとも1つの非一時的メモリから取得され得る。
1つの実施形態において、3次元画像を検出するための方法は、プロジェクタによってシーンに放出された複数の電磁パルスに対応する複数のパターンを決定することと、画像センサから、複数の電磁パルスによって生じる反射に基づく1または複数の第1の信号を受信することと、受信した第1の信号に基づいて画像センサの1または複数の第1の画素に対応する1または複数の第1のイベントを検出することと、1または複数の第1のイベントに基づいて、1または複数のステートマシンを初期化することと、画像センサから、反射に基づく1または複数の第2の信号を受信することと、受信した第2の信号に基づいて画像センサの1または複数の第2の画素に対応する1または複数の第2のイベントを検出することと、1または複数の第2のイベントを1または複数の第1のイベントと連結するための候補を決定することと、候補および1または複数のステートマシンに基づいて、1または複数の第1の画素および1または複数の第2の画素に関する3次元像点を決定することとを備えてよい。
本開示の追加の目的および利点は、以下の詳細な説明において部分的に記載され、説明から部分的に明らかになり、または本開示の実施によって習得され得る。本開示の目的および利点は、特許請求の範囲において具体的に指示された要素および組み合わせによって実現および達成される。
上記概要および以下の詳細な説明は、典型的かつ説明的なものにすぎず、開示される実施形態を限定するものではないことが理解される。
本明細書の一部を備える添付図面は、様々な実施形態を例示し、説明と共に、開示される実施形態の原理および特徴を解説する役割を果たすものである。
開示される実施形態は、3次元画像を捕捉するためのシステムおよび方法、および3次元撮像のための非同期画像センサを用いることに関する。有利な点として、典型的な実施形態は、高速かつ高効率の3次元画像感知を提供し得る。本開示の実施形態は、たとえば自律車両、ロボット工学、拡張現実、および高速かつ高効率の3次元画像検出による利益を得る他のシステムなどの様々なアプリケーションおよび視覚システムにおいて実施および使用され得る。
本開示の実施形態は、一般に画像センサを参照して説明されるが、そのようなシステムは、カメラ、LIDAR、または他の撮像システムの一部であってよいことが理解される。また、いくつかの実施形態は、(たとえばレーザプロジェクタなどの)プロジェクタと組み合わせて説明されるが、そのような構成要素は、本明細書で説明される画像センサおよび/またはプロセッサから独立してよいことが理解される。
本開示の実施形態は、画像センサの1または複数の画素にわたる反射を追跡するためにステートマシンを用いてよい。これらのステートマシンは、投影された光パターンの、追跡された反射への変換を記述することにより、シーンの任意の動的部分ならびに静的部分の再生を可能にし得る。
本明細書で用いられる場合、「パターン」は、1または複数の特性に従う光パルスの任意の組み合わせを指してよい。たとえば、パターンは、時間の長さで区切られた少なくとも2つの異なる振幅、時間の長さで区切られた少なくとも2つの異なる波長、時間の長さで区切られた少なくとも2つの異なるパルス長、様々な時間の長さで区切られた複数のパルスなどを備えてよい。また、パターンは、(たとえば、図7に関して後述するように)シンボルを符号化するために用いられる周波数、位相シフト、またはデューティサイクルの少なくとも1つを有してよい。したがって、「パターン」は規則的である必要はなく、パターンを形成するパルスの不規則な組み合わせを備えてよい。
図1Aは、本開示の実施形態と合致する、典型的なムーアステートマシン100の概略図である。図1Aの例において、入力(たとえば入力101aおよび101b)が特定の条件(たとえば条件105aおよび105b)を満たすかに依存して、1または複数の状態(たとえば状態103aおよび103b)が異なる状態(たとえば状態107aおよび107b)に変わってよい。追加の状態は、新たな条件に対して過去の状態からの出力を試験してよく、または、異なる出力(たとえば出力109aおよび109b)を生成してよい。
図1Bは、本開示の実施形態と合致する、典型的なミーリーステートマシン150の概略図である。図1Bのミーリーステートマシン150は、図1Aのムーアステートマシン100と同等である。ミーリーステートマシン150は、ムーアステートマシン100と異なり、状態への入力に直接基づいて状態を変更してよい。したがって、図1Aの状態103aおよび103bは、図1Bの状態153に置き換えられ得る。
たとえば図1Aおよび図1Bに示すようなステートマシンは、1つの状態から他の状態への任意の条件ベースの変換を説明するために用いられ得る。したがって、本開示の実施形態は、投影された光パターンを、投影された光パターンからの反射によって生じる画像センサの1または複数の状態に変換するステートマシンを探索し得る。したがって、これらのステートマシンは、投影パターンを再構成(および復号)するために、画素にわたり反射の様々な部分を連結する。よって、本開示の実施形態は、シーン内に物理的動態(たとえば、シーン内の1または複数の物体による並進運動、シーン内の1または複数の物体による回転運動、シーン内の1または複数の物体の照度または反射率の増加など)が存在する場合にも投影パターンを識別し得る。
図2Aは、本開示の実施形態と合致する、3次元撮像システムにおいて用いるための画像センサ画素200の概略図である。画素200は、アレイ(たとえば、配列された画素によって形成された正方形、円形、または他の任意の長方形または不規則形)内の複数の画素の1つであってよい。
本明細書で用いられる場合、「画素」は、画素に衝突する光に基づいてデータを出力する画像センサの最小要素を指す。いくつかの実施形態において、画素は、たとえば後述する図2Bに示すように、2つ以上の感光性要素、他の回路などを含み得るので、より大きく、または従来の「画素」よりも多い数の構成要素を含んでよい。
本開示は、単一の画素において受信されている投影パターンによって生じる反射を参照するが、投影パターンは、複数の画素をカバーし、複数の画素によって受信されるために、十分な数の光子を含んでよい。したがって、本明細書で説明される三角測量は、複数の画素の平均位置に基づいてよく、および/または、複数の画素の各々の位置を含む複数の三角測量を備えてよい。
図2Aに示すように、感光性要素201は、要素201に衝突する光の輝度に基づいて電気信号(たとえば電圧、電流など)を生成してよい。本明細書で用いられる場合、感光性要素は、フォトダイオード(たとえばp-n接合またはPIN構造)、または光を電気信号に変換するように構成された他の任意の要素を備えてよい。フォトダイオードは、フォトダイオードに衝突する光の強度に比例する電流(たとえばlph)を生成してよい。
更に図2Aに示すように、測定回路205は、要素201からの電流を、読出しのためのアナログ信号に変換してよい。測定回路205は、外部制御信号(たとえば外部クロックサイクル)に応答してアクティブ化してよい。追加または代替として、測定回路205は、要素201からの信号を、外部制御信号が受信されるまで(たとえば、画素200によってアクセスされるオンチップおよび/またはオフチップメモリ(不図示)に)格納されるアナログ信号に変換してよい。外部制御信号に応答して、測定回路205は、格納されたアナログ信号(図2Aにおける「dig pixデータ」)を読出しシステムへ送信してよい。
図2Aには示されないが、画素200を用いる画像センサは、上述したように、クロックサイクルに従って画素のアレイがトリガされるように、行および列アービタまたは他のタイミング回路を含んでよい。また、タイミング回路は、衝突が回避されるように、上述したような読出しシステムへのアナログ信号の送信を管理してよい。読出しシステムは、画素アレイからのアナログ信号を、3次元撮像において用いるためのデジタル信号に変換してよい。
図2Bは、3次元撮像システムにおいて用いるための画像センサ画素250の概略図である。画素250は、アレイ(たとえば、配列された画素によって形成された正方形、円形、または他の任意の長方形または不規則形)内の複数の画素の1つであってよい。
図2Bに示すように、感光性要素251は、要素251に衝突する光の輝度に基づいて電気信号を生成してよい。画素250は、条件検出器255(CD)を更に含んでよい。図2Bの例に示すように、検出器255は、感光性要素251(PDCD)に電気接続され、感光性要素251に衝突する光の輝度に比例するアナログ信号が条件に一致すると、(図2Bの例において「トリガ」と付記された)トリガ信号を生成するように構成される。たとえば、条件は、アナログ信号が閾値(たとえば電圧または電流レベル)を超過するかを備えてよい。アナログ信号は、電圧信号または電流信号を備えてよい。
図2Bに更に示すように、感光性要素253は、要素253に衝突する光の輝度に基づいて電気信号を生成してよい。画素250は、露光測定回路257を更に含んでよい。図2Bの例に示すように、露光測定回路257は、感光性要素253(PDEM)に衝突する光の輝度の関数である測定値を生成するように構成され得る。露光測定回路257は、図2Bに示すように、トリガ信号に応答して測定値を生成してよい。図2Bにおいて、露光測定回路257を用いるものとして説明されるが、いくつかの実施形態は、感光性要素253から直接(たとえば制御および読出し259を用いて)測定値を読み取り、露光測定回路257を省いてよい。
いくつかの実施形態において、露光測定回路は、アナログデジタル変換器を含んでよい。そのような実施形態の例は、2018年6月27日に出願された、“Image Sensor with a Plurality of Super-Pixels”と題された米国仮特許出願第62/690,948号、および2018年12月17日に出願された、“Image Sensor with a Plurality of Super-Pixels”と題された米国仮特許出願第62/780,913号において開示される。これらの出願の開示は、参照によって本明細書に完全に組み込まれる。そのような実施形態において、露光測定回路257は、測定が完了し、および/または外部読出しシステムへ送信されると、(たとえば、図2Bには示されない「クリア」信号を用いて)検出器255をリセットしてよい。
いくつかの実施形態において、露光測定回路257は、たとえば、非同期イベント読出し(AER)通信プロトコルを用いて、測定値を読出しおよび制御システム259へ非同期的に出力してよい。他の実施形態において、露光測定回路257からの読出しは、(たとえば図2Bにおいて「制御」と付記された)外部制御信号を用いて計時され得る。また、図2Bに示すように、いくつかの実施形態において、検出器259からのトリガもまた、たとえば非同期イベント読出し(AER)通信プロトコルを用いて読出しおよび制御システム259へ出力され得る。
図2Bに示される画素250の例は、米国特許第8,780,240号および米国特許第9,967,479号において開示される。これらの特許は、参照によって本明細書に組み込まれる。
感光性要素251および253は、異なる感光性要素として示されるが、いくつかの実施形態において、検出器255と露光測定回路257との間で共有される単一の要素を備えてよい。そのような実施形態の例は、2018年4月30日に出願された、“Systems and Methods for Asynchronous, Time-Based Image Sensing”と題された欧州特許出願第18170201.0号において開示される。この出願の開示は、参照によって本明細書に組み込まれる。
また、1つの検出器および1つの露光測定回路で示されるが、いくつかの実施形態は、トリガ信号によって複数の測定値が捕捉されるように、検出器を共有する複数の露光測定回路を含んでよい。そのような実施形態の例は、2018年6月27日に出願された、“Image Sensor with a Plurality of Super-Pixels”と題された米国仮特許出願第62/690,948号、および2018年12月17日に出願された、“Image Sensor with a Plurality of Super-Pixels”と題された米国仮特許出願第62/780,913号において開示される。これらの出願の開示は、参照によって本明細書に組み込まれる。
図2Bには示されないが、画素250を用いる画像センサは、上述したように、画素250によって生成されたイベントが画像センサから読み取られ得るように、行および列ラインまたは他の読出し回路を含んでよい。また、タイミング回路は、衝突が回避されるように、上述したように読出しシステムへのアナログ信号の転送を管理してよい。読出しシステムは、画素アレイからのアナログ信号を、3次元撮像において用いるためのデジタル信号に変換してよい。
図3は、3次元撮像のためのシステム300の概略図である。図3に示すように、プロジェクタ301は、1または複数のパターン(たとえば図3におけるパターン303a、303b、および303c)に従って電磁パルスを送信してよい。3つのパターンを用いるものとして示されるが、任意の数のパターンが用いられ得る。各パターンが、3次元シーン305の小部分に対応し得るので、多数の(たとえば何千または場合によっては何十万もの)パターンが用いられ得る。
プロジェクタ301は、1または複数のパターンに従って電磁パルスを投影するように構成された1または複数のレーザ発生器または他の任意のデバイスを備えてよい。いくつかの実施形態において、プロジェクタ301は、ドットプロジェクタであってよい。図3には示されないが、プロジェクタ301は、コマンドを受信し、またはパルスの生成およびシーン305内への投影を規定する格納パターンを取得するように構成されたコントローラを備えてよい。
いくつかの実施形態において、プロジェクタ301は、シーン305内の複数の空間位置に複数の電磁パルスを投影するように構成され得る。空間位置は、更に後述される、画像センサ305の様々な画素に対応してよい。いくつかの実施形態において、プロジェクタ301は、複数の異なる投影時間に複数の電磁パルスを投影するように構成され得る。
いくつかの実施形態において、プロジェクタ301は、たとえばパターン内の多様性を高めるために、複数の周波数を投影するように構成され得る。他の実施形態において、プロジェクタ301は、たとえばパターンによって生じる反射をシーン305内のノイズと区別するために、単一の周波数(または周波数範囲)を用いるように構成され得る。たとえば、周波数は、50Hz~数kHz(たとえば1kHz、2kHz、3kHzなど)であってよい。
図3に更に示すように、投影されたパルスは、シーン305からの反射をもたらし得る。図3の例において、パターン303a、303b、および303cは、それぞれ反射307a、307b、および307cをもたらした。時間において一定であるように示されるが、反射は、シーン305内の動態によって時間と共に角度を変え得る。これらの動態は、後に更に説明するように、ステートマシン探索を用いて再構成され得る。
反射は、画像センサ305によって捕捉され得る。いくつかの実施形態において、画像センサ305は、イベントベースのセンサであってよい。上述したように、画像センサ305は、読出しシステムに結合された、図2Aの画素200のアレイ、図2Bの画素250のアレイ、または他の任意の画素のアレイを備えてよい。画像センサ305によって生成された信号は、シーン305内の任意の動態を再構成し、シーン305に関する3次元像点を計算するために、後述するように処理され得る。
図4は、ステートマシンによって変換された電磁パターンの概略図である。上述したように、ステートマシンは、電磁パターンの任意の時間歪みまたは任意の空間歪みを記述し得る。時間歪みは、たとえば、パターンの特徴に符号化されたシンボルの復号を妨げ得る。空間歪みは、たとえば、パターンを受信する画像センサの複数の画素にわたりシンボルを拡散させ得る。
図4は、ステートマシンに従って様々な時間パターンに変換される2つのパターン例を示す。たとえば、ステートマシンに400は、描写されたパターンを、遅延させることによって変換する。他の例において、ステートマシン450は、パルスを時間内に近くに移動することによって、描写されたパターンを変換する。これらのステートマシンは、パターンの正確な復号を妨げ得る投影と反射との間の歪みを記述し得る。他の例において、ステートマシン450は、パルスを時間内に近くに移動することによって、描写されたパターンを変換する。
図4には示されないが、ステートマシンは、追加または代替として、パターンの異なる部分が画像センサ(たとえば画像センサ305)の異なる画素において受信されるように、空間にわたりパターンを変換してよい。したがって、任意の検出パターンは、少なくとも1つのプロセッサを用いて計算されるか、既知のステートマシンのデータベースを探索して計算されるかなどにかかわらず、1または複数のステートマシンを用いて、投影パターンにマッピングし戻され得る。
図5は、本開示の実施形態と合致する、3次元画像を検出するための典型的な方法500のフローチャートである。図5の方法500は、画像センサ(たとえば図2Aの画像センサ200、図2Bの画像センサ250など)と同じチップ上にマイクロプロセッサとして統合されるか、処理システムの一部として個別に提供さるかにかかわらず、少なくとも1つのプロセッサを用いて行われ得る。少なくとも1つのプロセッサは、本明細書で更に開示されるように、信号を送受信する目的で、プロジェクタおよび画像センサと電気通信状態であってよい。
ステップ501において、少なくとも1つのプロセッサは、プロジェクタ(たとえば図3のプロジェクタ301)によってシーン(たとえば図3のシーン305)に放出された複数の電磁パルスに対応する複数のパターンを決定してよい。たとえば、上述したように、複数のパターンの決定は、時間間隔で区切られた振幅を定めるデジタル信号を(たとえば、少なくとも1つのネットワークを介して、少なくとも1つのメモリへなどで通信するように構成された少なくとも1つの送信器に接続されたオンチップバスを用いて)受信することを備えてよい。そのような実施形態において、時間間隔で区切られた振幅を定めるデジタル信号は、複数のパターンに従って複数の電磁パルスを投影するように構成されたプロジェクタに関連付けられたコントローラから受信され得る。追加または代替として、時間間隔で区切られた振幅を定めるデジタル信号は、パターンを格納している少なくとも1つの非一時的メモリから取得され得る。
いくつかの実施形態において、少なくとも1つのプロセッサは、パターンに従ってプロジェクタが複数の電磁パルスを送信するように、複数の電磁パルスをシーンに投影するように構成されたプロジェクタにコマンドを送信してもよい。たとえば、少なくとも1つのプロセッサは、オンチップバス、ワイヤまたは他のオフチップバス、少なくとも1つのバス、ワイヤ、またはネットワークを介して通信するように構成された少なくとも1つの送信器、またはそれらの任意の組み合わせを用いて、プロジェクタにコマンドを送信してよい。
更に上述したように、パターンは、期間にわたる任意の一連の電磁放射パルスを指し得る。たとえば、パターンは、パターンの期間に沿った振幅および/または時間の長さによって1または複数のパルスを定めてよい。したがって、複数のパターンは、時間の長さで区切られた少なくとも2つの異なる振幅、時間の長さで区切られた少なくとも2つの異なる波長、時間の長さで区切られた少なくとも2つの異なるパルス長、時間の長さで区切られた複数のパルスなどを備えてよい。また、上述したように、パターンは、シンボルを符号化するために用いられる少なくとも1つの選択された周波数、位相シフト、またはデューティサイクルの少なくとも1つを有してよい(たとえば、図7に関する後述を参照)。
ステップ503において、少なくとも1つのプロセッサは、画像センサから、複数の電磁パルスによって生じた反射に基づく1または複数の第1の信号を受信してよい。たとえば、上述したように、測定回路205は、感光性要素201からの信号を、感光性要素201に衝突する光の輝度に比例するアナログ信号に変換してよい。少なくとも1つのプロセッサは、測定回路205から、1または複数の第1の信号としてアナログ信号を受信してよく、または、測定回路205と通信しているアナログデジタル変換器から、アナログ信号に基づくデジタル信号を受信してよい。追加または代替として、上述したように、条件検出器255(CD)は、感光性要素251に衝突する光に基づく第1のアナログ信号が所定の閾値を超過する場合、トリガ信号(たとえば図2Bの例における「セット」)を生成してよく、露光測定回路257は、感光性要素253からの信号を、トリガ信号に応答して感光性要素253に衝突する光の輝度に比例する第2のアナログ信号に変換してよい。少なくとも1つのプロセッサは、露光測定回路257から、1または複数の第1の信号として第2のアナログ信号を受信してよく、または、露光測定回路257と通信している(またはその一部を形成する)アナログデジタル変換器から、第2のアナログ信号に基づくデジタル信号を受信してよい。
ステップ505において、少なくとも1つのプロセッサは、受信した第1の信号に基づいて画像センサの1または複数の第1の画素に対応する1または複数の第1のイベントを検出してよい。たとえば、上述したように、イベントは、1または複数の第1の信号のうちの2つの信号間の極性変化、1または複数の閾値を超過する大きさを有する1または複数の第1の信号のうちの2つの信号間の振幅の変化などに基づいて検出され得る。本明細書で用いられる場合、「極性変化」は、増加または減少にかかわらず、1または複数の第1の信号において検出された振幅の変化を指し得る。たとえば図2Bの画像センサ250などのイベントベースの画像センサを用いる実施形態において、1または複数の第1の信号は、それら自体が、1または複数の第1のイベントを符号化してよい。したがって、少なくとも1つのプロセッサは、1または複数の第1の信号を区別することによって、1または複数の第1のイベントを検出してよい。
いくつかの実施形態において、少なくとも1つのプロセッサは、画像センサによって1または複数の信号で符号化されたアドレスに基づいて、1または複数の第1のイベントを1または複数の第1の画素に関連付けてよい。たとえば、画像センサ(または画像センサと通信している読出しシステム)は、1または複数の第1の信号の起点である画素(複数も可)のアドレスを符号化してよい。したがって、少なくとも1つのプロセッサは、1または複数の第1の信号で符号化されたアドレスに基づいて、1または複数の第1のイベントを1または複数の第1の画素に関連付けてよい。そのような実施形態において、少なくとも1つのプロセッサは、1または複数の第1の信号からアドレスを復号および取得するように適合される。
ステップ507において、1または複数の第1のイベントに基づいて、少なくとも1つのプロセッサは、1または複数のステートマシンを初期化してよい。たとえば、図6に関して後述するように、初期化は、1または複数の第1のイベントの一部をもたらした、予想される反射に対応する複数のパターンの部分を識別することを含んでよい。
ステップ509において、少なくとも1つのプロセッサは、画像センサを用いて、反射に基づく1または複数の第2の信号を受信してよい。たとえば、ステップ503に関して上述したように、少なくとも1つのプロセッサは、図2Aの画像センサ200、図2Bの画像センサ250などから、1または複数の第2の信号を受信してよい。同期画像センサを用いる実施形態において、1または複数の第2の信号は、異なるクロックサイクルで捕捉されたものであってよい。非同期画像センサを用いる実施形態において、1または複数の第2の信号は、1または複数の第1の信号より後の任意の時間に捕捉されたものであってよい。非同期画像センサを用いる実施形態において、読出しは、少なくとも1つのプロセッサが、1または複数の第1の信号を受信したのと異なるクロックサイクルで1または複数の第2の信号を受信するように計時され得る。
ステップ511において、少なくとも1つのプロセッサは、受信した第2の信号に基づいて、画像センサの1または複数の第2の画素に対応する1または複数の第2のイベントを検出してよい。たとえば、ステップ505に関して上述したように、少なくとも1つのプロセッサは、1または複数の第2の信号のうちの2つの信号間の極性変化、1または複数の閾値を超過する大きさを有する1または複数の第2の信号のうちの2つの信号間の振幅の変化などに基づいて、1または複数の第2のイベントを検出してよい。たとえば図2Bの画像センサ250などのイベントベースの画像センサを用いる実施形態において、1または複数の第1の信号は、それら自体が、1または複数の第2のイベントを符号化してよい。
ステップ513において、少なくとも1つのプロセッサは、1または複数の第2のイベントを1または複数の第1のイベントと連結するための候補を決定してよい。たとえば、図6に関して後述するように、候補は、1または複数の第1の画素に対する1または複数の第2の画素の位置に基づいてよい。追加または代替として、複数のパターンに基づいて予想されるものと異なる振幅、極性などの任意の変化は、候補にカプセル化されなくてはならない。いくつかの実施形態において、少なくとも1つのプロセッサは、候補を決定するために、複数のパターンおよび1または複数のステートマシンを用いてよい。
図5に示すように、方法500は、再帰的であってよい。たとえば、少なくとも1つのプロセッサは、(たとえば、次のクロックサイクルで生成および/または受信された)画像センサからの新たな信号セットごとにステップ509、511、および513を反復してよい。画素にわたる信号における任意の変化は、その後、ステップ513におけるステートマシン探索をトリガしてよい。これは、所定の期間にわたり、または複数のパターンの最後に対応する1または複数の最終イベントが検出されるまで、反復され得る。
ステップ515において、少なくとも1つのプロセッサは、候補および1または複数のステートマシンに基づいて、1または複数の第1の画素および1または複数の第2の画素に関する3次元像点を決定してよい。たとえば、画素が、(たとえば既知のステートマシンを介して)複数のパターンのうちのパターンに一致するイベントを有する一連の信号を生成した場合、3次元像点は、パターンを送信したプロジェクタの位置およびそこからの反射を受信した画素の位置に基づく三角測量を用いて決定され得る。たとえば、上述したように、パターンは、パターンを送信したプロジェクタの位置にインデックスされた1または複数のシンボルを符号化してよい。よって、少なくとも1つのプロセッサは、パターンを送信したプロジェクタの位置を取得し、画像センサからの信号に符号化されたアドレスに基づいて、そこからの反射を受信した画素の位置を抽出してよい。
複数のパターンのうちのパターンが、(たとえばシーン内の動的運動によって)複数の画素にわたり拡散する反射をもたらした場合、最終画素(たとえば、複数のパターンのうちのパターンの最後に対応する最終信号を生成する画素)における3次元点は、パターンを送信したプロジェクタの位置、最終画素の位置、およびそこから受信された最終信号に基づいて最終画素がリンクされたステートマシンに基づく三角測量を用いて決定され得る。少なくとも1つのプロセッサは、その後、反射を受信する複数の画素における他の画素に関してステートマシンをファイナライズするために、最終信号から(時間的に)逆に進行してよい。たとえば、画像センサは、少なくとも1つのプロセッサが、過去の画素に関する過去のタイムスタンプならびに新しい画素に関するタイムスタンプを有するように、画素からの各測定におけるタイムスタンプを符号化してよい。したがって、これらの他の画素における3次元点は、パターンを送信したプロジェクタの位置、これらの他の画素の位置、およびファイナライズされたステートマシンに基づく三角測量を用いて決定されてよく、これらの点は、過去のタイムスタンプに関連付けられ得る。
上述したように、(たとえば図3のプロジェクタ301からの)投影パターンは、パターンが投影された位置にインデックスされた1または複数のシンボルを符号化してよい。図6は、複数の画素にわたるそのようなシンボルの復号を可能にするための(たとえば図5のステップ507およびステップ513の再帰的実行に基づく)ステートマシン探索を示す図である。図6に示すように、(たとえば、図5のステップ507に対応し得る)ステップ610は、第1の画素において検出された(たとえば、ステップ610においてシンボル「1」を符号化するものとして示される)1または複数の初期イベントに基づいて、ステートマシンを初期化することを含んでよい。初期イベント(複数も可)は、第1の画素から受信された1または複数の信号に基づいてよい。(たとえば、ステップ620においてシンボル「0」を符号化するものとして示された)1または複数の後続イベントもまた、第1の画素において検出され得る。これらの後続イベントは、既知のステートマシン(引いては、対応するパターンが投影された位置にインデックスされたシンボルセットの始まりを形成するために連結されたシンボル「1」およびシンボル「0」)を介して初期イベント(複数も可)にリンクする。
動的シーンの場合、(たとえばステップ630においてシンボル「0」を符号化するものとして示された)1または複数の後続イベントは、ステートマシンから予想されるように、第1の画素とは異なる画素で受信され得る。したがって、図6に示されるように、少なくとも1つのプロセッサは、これらの後続イベントを過去のイベント(複数も可)(図6の例においてステップ610および620に示されたシンボルを符号化するイベント)に連結するために、(影付きのエリアで表された)近隣画素を探索してよい。したがって、過去のイベント(複数も可)のステートマシンは、未完成のまま残されてよく(たとえば、ステートマシンは「0」が後続した状態の「1」のままであり)、(「0」が後続した状態の「1」を記述し、その後再び「0」を記述する)新たな候補ステートマシンが異なる画素に追加される。
ステップ630と同様、ステップ640において、(たとえばステップ640においてシンボル「1」を符号化するものとして示された)1または複数の後続イベントは、ステートマシンから予想されるように、ステップ630とは異なる画素で受信され得る。したがって、図6に示すように、少なくとも1つのプロセッサは、これらの後続イベントを過去のイベント(複数も可)(図6の例においてステップ630に示されるシンボルを符号化するイベント)に連結するために(影付きエリアで表された)近隣画素を再び探索してよい。したがって、過去のイベント(複数も可)のステートマシンは、未完成のまま残されてよく(たとえば、ステートマシンは2つの「0」が後続した状態の「1」のままであり)、(2つの「0」が後続し、その後「1」が後続した状態の「1」を記述する)新たな候補ステートマシンが異なる画素に追加される。
1または複数のイベントが、(たとえば、対応するパターンが投射された位置にインデックスされたシンボルシーケンスの終わりであるシンボルを符号化する)複数のパターンの1または複数の最後に対応して検出される場合、少なくとも1つのプロセッサは、現在の画素に関してステートマシンを完成させ、その後、過去のイベント(複数も可)に関する画素のステートマシンを完成させるために時間的に逆に進行してよい。
図6の復号プロセスへの追加または代替として、本開示の実施形態は、三角測量のための未完成ステートマシンならびにファイナライズされたステートマシンを用いてよい。たとえば、各復号されたシンボルは、その画素に関連付けられた現在のステートマシンを用いて、最も可能性の高いパターンにマッピングされ、その画素の位置での三角測量のために最も可能性の高いパターンにインデックスされたプロジェクタの位置を用いてよい。したがって、パターンの終わりがまだ検出されていないことによりステートマシンが未完成であっても、(現在の画素または1または複数の過去の画素において)いくつのシンボルが既に復号されたかに依存して変化する精度で、三角測量が起こり得る。追加または代替として、少なくとも1つのプロセッサは、現在復号中のパターンが、同じ画素または付近の画素で過去に受信されたものと同じパターンであると仮定してよい。たとえば、少なくとも1つのプロセッサは、プロジェクタが、シーン内の同じ位置に向かって連続して反復的に同じパターンを送信すると、この仮定を行ってよい。
いくつかの実施形態において、1または複数のエラー訂正がシンボルに符号化され得る。たとえば、パターンの最後にある1または複数の追加のシンボルは、たとえば(チェックビット、パリティビットなどの)チェックサムまたは他のブロック補正コードなどのエラー訂正シンボルを備えてよい。追加または代替として、1または複数の追加のシンボルは、畳込みコードまたは他の連続訂正コードを形成するためにパターンの中で追加され得る。加えて、そのようなエラー訂正と共に、またはその代わりに、プロジェクタは、システムが同じパターンを何度も受信することを除外するように、パターンを時間ループで投影するように構成されてもよい。したがって、1つの失われたパターンの結果、1つの失われた深さ計算が生じるが、単一フレーム損失を除いて、一連の3次元画像の全体に影響を及ぼすことはない。また、この失われたフレームは、近隣フレームからの外挿を用いて復元され得る。
「0」および「1」を用いて示されたが、電磁パルスの特性(たとえば、特定のシンボルに関連するパルスの格納特性)に対応するシンボルの辞書に基づいて、任意の数のシンボルが用いられ得る。より大きな辞書を有することにより、長さが短い固有パターンのセットを生成することが可能であり得る。
また、単純な近傍探索を用いて説明されたが、ステートマシン探索は、エピポーラ線または探索のための他の任意の適当な画素エリアに沿って行われ得る。たとえば、図7は、たとえば図2Aの画像センサ200、図2Bの画像センサ250などの画像センサを用いて検出されたイベントをクラスタに連結するための方法例900を示す。
図7は、本開示の実施形態と合致する、画像センサからのイベントをクラスタに連結するための典型的な方法700のフローチャートである。図7の方法700は、画像センサ(たとえば図2Aの画像センサ200、図2Bの画像センサ250など)と同じチップ上にマイクロプロセッサとして統合されるか、処理システムの一部として個別に提供されるかにかかわらず、少なくとも1つのプロセッサを用いて行われ得る。少なくとも1つのプロセッサは、本明細書で更に開示されるように、信号を送受信する目的で、画像センサと電気通信状態であってよい。
ステップ701において、少なくとも1つのプロセッサは、画像センサ(たとえば図2Aの画像センサ200、図2Bの画像センサ250など)からイベントを受信してよい。方法500のステップ505に関して上述したように、イベントは、イベントベースの画像センサからの信号、または(たとえばクロック回路を用いる)連続画像センサの信号から抽出されたイベントを備えてよい。
ステップ703において、少なくとも1つのプロセッサは、少なくとも1つの連結性基準が満たされると、受信したイベントを、最も新しいイベントに連結してよい。たとえば、少なくとも1つのプロセッサは、受信したイベントと最も新しいイベントとの間の時間的距離を決定し、時間的距離が閾値を満たす場合、それらを連結してよい。追加または代替として、少なくとも1つのプロセッサは、受信したイベントと最も新しいイベントとの間の空間的距離を決定し、空間的距離が閾値を満たす場合、それらを連結してよい。したがって、少なくとも1つの連結性基準は、時間閾値、空間閾値、またはそれらの任意の組み合わせを備えてよい。組み合わせに関する1つの例において、空間閾値は、複数の時間閾値のどれが満たされたかに基づいて調整され得る。そのような例において、時間的に近いイベントは、空間的に近いと予想され得る。組み合わせに関する他の例において、時間閾値は、複数の空間閾値のどれが満たされたかに基づいて調整され得る。そのような例において、空間的に近いイベントは、時間的に近いと予想され得る。
ステップ705において、少なくとも1つのプロセッサは、他の新しいイベントに関して少なくとも1つの連結性基準が満たされたかを決定してよい。たとえば、少なくとも1つのプロセッサは、受信したイベントに関連する他の全ての新しいイベントを発見するために、少なくとも1つの連結性基準を用いてよい。
ステップ707において、少なくとも1つのプロセッサは、少なくとも1つの連結性基準が満たされた全ての新しいイベントに関連付けられたクラスタ識別子を合併してよい。したがって、少なくとも1つの連結性基準を満たすステップ703および705からの全ての新しいイベントは、ステップ701において受信されたイベントと同じクラスタ識別子を割り当てられる。
ステップ709において、少なくとも1つのプロセッサは、関連イベントのセットとしてクラスタを出力してよい。たとえば、同じクラスタ識別子を有する全てのイベントが出力され得る。
方法700の典型的な実施形態は、2019年1月30日に出願された、“Method of Processing Information from an Event-Based Sensor”と題された欧州特許第19154401.4号において説明される。この出願の開示は、参照によって本明細書に組み込まれる。
方法700のクラスタアルゴリズムは、近隣画素の探索ではなく図6の探索を行うために用いられ得る。たとえば、ステップ703および705の連結性基準は、どの画素が探索されるべきかを識別するために用いられ得る。また、既に同じクラスタ識別子を有する任意の画素も探索に含まれ得る。
追加または代替として、方法700のクラスタアルゴリズムは、その後各クラスタが復号され、そのクラスタの復号されたシンボルがステートマシンを介して連結されるように、画像センサから受信した生のイベントをクラスタ化するために用いられ得る。したがって、各シンボルを復号することおよびシンボルを順次連結することではなく、雑音を低減するためにクラスタ化の後に復号および連結が行われ得る。
図8は、画像センサ(たとえば図2Aの画像センサ200、図2Bの画像センサ250など)の信号から検出されたイベントに基づくシンボル符号化のための2つの技術を示す図である。図8の例800に示すように、検出されたイベントは、画像センサの信号から検出された1または複数の(変化が増加であるか減少であるかに依存して特定の極性を有する)振幅の変化を備えてよい。たとえば、図2Aの画像センサ200における光の輝度は、時間およびそこから検出された振幅の増加または減少にわたり追跡され得る。他の例において、図2Bの画像センサ250は、イベントベースであるため、そこからの任意の信号は、トリガ信号をもたらした振幅の増加または減少を表してよい。検出された変化を用いて可能なパターンが復号され、どのパターンが受信されたかの識別を可能にし得る。例800には示されないが、異なる変化は異なるシンボルを符号化してよい。たとえば、例800において、極性1、3、および4は、シンボル「1」を符号化し、極性2は、シンボル「0」を符号化してよい。したがって、例800は、「1011」として復号され得る。
図8の例850において、検出された振幅変化間で決定された時間が決定され、復号のために用いられる。たとえば、図2Aの画像センサ200における光の輝度は、時間およびそこから検出された振幅の変化にわたり追跡され得る。他の例において、図2Bの画像センサ250は、イベントベースであるため、そこからの任意の信号は、トリガ信号をもたらした振幅の変化を表してよい。変化の間の時間的空間を用いて可能なパターンが復号され、どのパターンが受信されたかの識別を可能にし得る。例850には示されないが、異なる時間的空間は異なるシンボルを符号化してよい。たとえば、例850において、極性1と2、極性3と4、および極性4とパターンの終わりとの間の空間は、シンボル「1」を符号化してよく、一方、極性2と3との間の空間は、シンボル「0」を符号化する。したがって、例800と同様、例850は、「1011」として復号され得る。
マッチングに関する他の技術(図8には不図示)は、複数の時間に検出された光の振幅を追跡すること、およびそれに基づいてどのパターンが受信されたかを識別することを含んでよい。たとえば、図2Aの画像センサ200における光の輝度は、時間にわたり追跡され、そこから振幅の変化が検出され得る。他の例において、図2Bの画像センサ250は、イベントベースであるため、そこからの任意の信号は、トリガ信号をもたらした振幅の変化を表し得る。特定の振幅に対応するシンボルおよび/または特定の振幅の時間的長さに対応するシンボルを用いて可能なパターンが復号され、どのパターンが受信されたかの識別を可能にし得る。
他の例において、図2Aの画像センサ200における光の周波数は、時間にわたり追跡され、そこから周波数の変化が検出され得る。特定の周波数に対応するシンボルおよび/または特定の周波数の時間的長さに対応するシンボルを用いて可能なパターンが復号され、どのパターンが受信されたかの識別を可能にし得る。
図8には示されないが、いくつかの検出されたイベントは破棄され得る。たとえば、3次元撮像を行う少なくとも1つのプロセッサは、閾値を超過する時間量および/または閾値未満の時間量離れたデジタル信号のいずれを破棄してもよい。ソフトウェアまたは論理ベースのローバンドパスフィルタおよび/またはハイバンドパスフィルタをそれぞれ用いることによって、システムは、パターン検出の精度を更に高め、雑音を低減させ得る。ローバンドパスフィルタおよび/またはハイバンドパスフィルタは、ソフトウェアにおいて実装されてよく、または、たとえば図2Aの測定回路205、図2Bの露光測定回路257、画像センサに接続された読出しシステムなどへの統合によって、ファームウェアまたはハードウェアにおいて実装され得る。たとえば、バンドパスフィルタのハードウェア実装は、センサのアナログ設定を変更することを含んでよい。
同様に、3次元撮像を行う少なくとも1つのプロセッサは、追加または代替として、所定の閾値範囲内にない帯域幅を伴うデジタル信号のいずれをも破棄してよい。たとえば、シーンに複数のパターンを放出するプロジェクタは、特定の周波数(およびそれに伴う帯域幅)範囲内の電磁パルスを投影するように構成され得る。したがって、システムは、雑音をフィルタし、プロジェクタによって放出されたものに対応する周波数のみを捕捉するために、(ハードウェアおよび/またはソフトウェアにおける)帯域幅フィルタを用いてよい。追加または代替として、システムは、雑音を低減するために、(ハードウェアおよび/またはソフトウェアにおける)帯域幅フィルタを用いて高周波数および/または低周波数の光をフィルタしてよい。
上述したソフトウェアおよび/またはハードウェアバンドパスおよび/または周波数フィルタに加えて、またはその代わりに、システムは、画像センサに衝突するシーンからの光をフィルタするために用いられる1または複数の光学フィルタを含んでよい。たとえば、図2Aおよび図2Bに関して、光学フィルタ(複数も可)は、所定の範囲内にない波長を伴う任意の反射を遮断するように構成され得る。
いくつかの実施形態において、例800に示すような単一のイベントまたは例850に示すような単一のイベント間のタイミングを用いるのではなく、本開示の実施形態は、イベントバーストを用いてシンボルを符号化してよい。たとえば、図9は、たとえば図2Aの画像センサ200、図2Bの画像センサ250などの画像センサを用いてイベントバーストを検出するための方法例900を示す。
図9は、本開示の実施形態と合致する、イベントバーストを検出するための典型的な方法900のフローチャートである。図9の方法900は、画像センサ(たとえば図2Aの画像センサ200、図2Bの画像センサ250など)と同じチップ上にマイクロプロセッサとして統合されるか、処理システムの一部として個別に提供されるかにかかわらず、少なくとも1つのプロセッサを用いて行われ得る。少なくとも1つのプロセッサは、本明細書で更に開示されるように、信号を送受信する目的で、画像センサと電気通信状態であってよい。
図9は、本開示の実施形態と合致する、イベントバーストを検出するための典型的な方法900のフローチャートである。図9の方法900は、画像センサ(たとえば図2Aの画像センサ200、図2Bの画像センサ250など)と同じチップ上にマイクロプロセッサとして統合されるか、処理システムの一部として個別に提供されるかにかかわらず、少なくとも1つのプロセッサを用いて行われ得る。少なくとも1つのプロセッサは、本明細書で更に開示されるように、信号を送受信する目的で、画像センサと電気通信状態であってよい。
ステップ901において、少なくとも1つのプロセッサは、画像センサ(たとえば図2Aの画像センサ200、図2Bの画像センサ250など)からイベントを受信してよい。方法500のステップ505に関して上述したように、イベントは、イベントベースの画像センサからの信号、または(たとえばクロック回路を用いる)連続画像センサの信号から抽出されたイベントを備えてよい。
ステップ903において、少なくとも1つのプロセッサは、イベントの極性を確認してよい。たとえば、少なくとも1つのプロセッサは、極性がイベントに関して予想される極性と一致するか、複数の増加または減少が予想される場合に過去のイベントと同じであるか、または極性変化が予想される場合に過去のイベントと異なるかを決定してよい。たとえば、投影パターンは、増加信号または減少信号を合図するために、複数の(たとえば2つ、3つなどの)イベントを常に生成するように構成され得る。そのような複数は、ステップ903における雑音のフィルタリングを可能にし得る。極性が有効でない場合、少なくとも1つのプロセッサは、図9に示すように、イベントを破棄し、新たなイベントでステップ901からやり直してよい。追加または代替として、極性が有効でない場合、少なくとも1つのプロセッサは、現在のバーストを破棄し、見込みのある新たなバーストの始まりとしてステップ901からのイベントを用いてよい。
ステップ905において、少なくとも1つのプロセッサは、過去のイベントから時間的に過度に離れている場合(たとえば時間差が閾値を超過する場合)、受信したイベントを破棄してよい。したがって、少なくとも1つのプロセッサは、単一のバーストの一部を形成するためには時間的に過度に離れているイベントを連結することを回避してよい。イベントが過度に離れている場合、少なくとも1つのプロセッサは、図9に示すように、イベントを破棄し、新たなイベントでステップ901からやり直してよい。追加または代替として、イベントが過度に離れている場合、少なくとも1つのプロセッサは、現在のバーストを破棄し、見込みのある新たなバーストの始まりとしてステップ901からのイベントを用いてよい。
ステップ907において、少なくとも1つのプロセッサは、関連画素のイベントカウンタを増分してよい。たとえば、関連画素は、ステップ901のイベントが受信された画素を備えてよい。イベントカウンタは、ステップ903および905の下で、同じバースト内としての資格を得る、ステップ901の回帰的実行で受信された整数カウントのイベントを備えてよい。
ステップ909において、少なくとも1つのプロセッサは、イベントカウンタがイベント閾値を超過すると、バーストを抽出してよい。たとえば、イベント閾値は、2~10のイベントを備えてよい。他の実施形態において、より大きなイベント閾値が用いられ得る。バーストが抽出される場合、少なくとも1つのプロセッサは、イベントカウンタをリセットしてよい。イベントカウンタがイベント閾値を超過しない場合、少なくとも1つのプロセッサは、イベントカウンタをリセットすることなくステップ901へ戻ってよい。したがって、ステップ903および905の下で、同じバースト内としての資格を得る追加のバーストが検出され、ステップ907においてイベントカウンタに追加され得る。
いくつかの実施形態において、方法900は更に、現在のバーストの第1のイベントから時間的に過度に離れている場合、受信されたイベントを破棄することを含んでよい。したがって、方法900は、雑音によりバーストが意図せず閾値を超過して延長されることを防止し得る。
追加または代替として、方法900は、バーストが、単一の画素または画像センサ全体にわたるのではなく領域内のみで検出されるように、領域ごとにイベントの数を追跡してよい。したがって、方法900は、画像センサの様々な部分における同時バーストの検出を可能にし得る。
イベントが破棄されると常に、少なくとも1つのプロセッサは、イベントカウンタをリセットしてよい。あるいは、いくつかの実施形態において、少なくとも1つのプロセッサは、イベントが破棄された場合でも、対応するイベントカウンタを格納してよい。いくつかの実施形態は、保存および破棄の組み合わせを用いてよい。たとえば、イベントカウンタは、ステップ903においてイベントが破棄された場合、保存され得るが、ステップ905においてイベントが破棄された場合、リセットされ得る。
方法900の典型的な実施形態の詳細な説明は、2019年1月30日に出願された、“Method and Apparatus of Processing a Signal from an Event-Based Sensor”と題された国際特許出願番号未定において説明される。この出願の開示は、参照によって本明細書に組み込まれる。
方法900から抽出されたバーストは、(たとえば符号化パターンの一部として用いられる)シンボルを備えてよい。たとえば、シンボルを符号化するために単一のイベントではなくバーストを用いることによって、システムは、精度を高め、雑音を低減させ得る。追加または代替として、方法900から抽出されたバーストは、符号化パターンを形成するシンボルセットを備えてよい。たとえば、パターンを符号化するためにバーストを用いることによって、システムは、より高い精度かつ低減された雑音で、時間において異なるパターンを区別し得る。
図2Aまたは図2Bのアーキテクチャを用いて説明されたが、1または複数の感光性要素(たとえばフォトダイオード)に衝突する光の輝度に基づく信号を捕捉するように適合された任意の画像センサが用いられ得る。したがって、トランジスタ、キャパシタ、スイッチ、および/またはそのような捕捉を行うように配置された他の回路部品の任意の組み合わせが、本開示のシステムにおいて用いられ得る。また、本開示のシステムは、(たとえば図2Aの画像センサ200などの)任意の同期画像センサまたは(たとえば図2Bの画像センサ250などの)任意のイベントベースの画像センサを用いてよい。
上記説明は、例示を目的として提示された。上記説明は、網羅的ではなく、開示される形態または実施形態そのものに限定されるものではない。実施形態の変更および適合は、本明細書の考察および開示される実施形態の実施により明らかになる。たとえば、説明された実装は、ハードウェアを含むが、本開示と合致するシステムおよび方法は、ハードウェアおよびソフトウェアで実施され得る。加えて、特定の構成要素が互いに結合されるものとして説明されたが、そのような構成要素は、互いに統合されてよく、または任意の適当な形式で分散してよい。
また、本明細書において典型的な実施形態が説明されたが、その範囲は、本開示に基づく同等の要素、変更、省略、(たとえば様々な実施形態にわたる態様の)組み合わせ、適合、および/または代替を有する任意のかつ全ての実施形態を含む。特許請求の範囲における要素は、特許請求の範囲において用いられる言語に基づいて幅広く解釈されなければならず、本明細書において、または本出願の審査中に説明される例に限定されるべきではなく、この例は、非排他的なものとされる。また、開示される方法のステップは、ステップの並べ替えおよび/またはステップの挿入または削除を含む任意の方法で変更され得る。
上記で参照した特許および特許出願に加えて、2019年2月22日に出願された、Systems and Methods for Three-Dimensional Imaging and Sensingと題された米国特許第62/809,557号、および2019年2月26日に出願された、Systems and Methods for Three-Dimensional Imaging and Sensingと題された米国特許第62/810,926号の各々の全体が、参照によって本明細書に組み込まれるものである。
本開示の特徴および利点は、本明細書から明らかであり、よって、添付の特許請求の範囲は、本開示の適切な主旨および範囲内に収まる全てのシステムおよび方法を包括することが意図される。本明細書で用いられる場合、不定冠詞「a」および「an」は、「1または複数の」を意味する。同様に、複数形の用語の使用は、所与の文脈において明確にされない限り、必ずしも複数を意味するわけではない。特に明記されない限り、たとえば「および」または「または」などの言葉は、「および/または」を意味する。また、本開示を研究することにより数々の変更例および変形例に容易に思い至ることから、本開示を、例示および説明された構成および動作そのものに限定することは所望されず、したがって、全ての適当な変更例および均等物は、本開示の範囲内に収まることが訴えられ得る。
他の実施形態は、本明細書の考察および本明細書に開示された実施形態の実施により理解される。本明細書および例は、単なる例とみなされることが意図されており、開示される実施形態の適切な範囲および主旨は、以下の特許請求の範囲によって示されるものである。