(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-04
(45)【発行日】2022-07-12
(54)【発明の名称】光測距システム用シストリックプロセッサシステム
(51)【国際特許分類】
G01S 7/4865 20200101AFI20220705BHJP
G01S 17/894 20200101ALI20220705BHJP
【FI】
G01S7/4865
G01S17/894
(21)【出願番号】P 2019546248
(86)(22)【出願日】2018-02-20
(86)【国際出願番号】 US2018018843
(87)【国際公開番号】W WO2018160395
(87)【国際公開日】2018-09-07
【審査請求日】2021-02-04
(32)【優先日】2017-02-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】501228071
【氏名又は名称】エスアールアイ インターナショナル
【氏名又は名称原語表記】SRI International
【住所又は居所原語表記】333 Ravenswood Avenue, Menlo Park, California 94025, U.S.A.
(74)【代理人】
【識別番号】100098899
【氏名又は名称】飯塚 信市
(74)【代理人】
【識別番号】100163865
【氏名又は名称】飯塚 健
(72)【発明者】
【氏名】ザルード, ピーター フェルディナンド
【審査官】山下 雅人
(56)【参考文献】
【文献】特開2001-209897(JP,A)
【文献】特開2011-128024(JP,A)
【文献】国際公開第2016/144528(WO,A1)
【文献】国際公開第2015/033497(WO,A1)
【文献】米国特許出願公開第2010/0020306(US,A1)
【文献】特開2004-234660(JP,A)
【文献】特開2015-155872(JP,A)
【文献】特開2016-014665(JP,A)
【文献】岡田 至弘 ほか,大規模シストリックアレイプロセッサにおける局所並列画像処理,電気学会論文誌,日本,社団法人電気学会,1993年11月20日,Vol.113-C No.11,933~938
(58)【調査した分野】(Int.Cl.,DB名)
G01S 7/48- 7/51
G01S 17/00-17/95
(57)【特許請求の範囲】
【請求項1】
1または複数の光パルスで1または複数の対象物の存在を測定するシステムであって、
前記1または複数の光パルスを生成するように構成された1または複数のレーザと、
前記1または複数のターゲット対象物からの反射光パルスを
受け取るように構成された1または複数のカメラと、
前記カメラ内にあって、クロック回路と協働し、アレイに配置された1または複数の光検出器を備えた読出し集積回路(ROIC)を有する受信機回路であって、
前記ROICは、前記クロック回路からの
クロック信号を使用することによって少なくとも第1の参照
点で始まり第2の参照点で止まる
前記反射光パルスの飛行時間を測定するように構成され、
前記ROICは、前記光検出器のシストリック処理を行うように構成され、
前記ROICは、少なくとも、i)前記反射光パルスの初期光子が前記アレイ内の前記光検出器のそれぞれによって捕捉され
たか、ii)前記光子が地理的に前記アレイ内のどこに配置されているかを捕捉し、iii)前記光検出器によって捕捉されるデータを走査し、その後、iv)時間単位で、前記クロック回路からの前記入力に対して前記光子がいつ捕捉されたのかを知るためのアルゴリズムで
、走査した前記データを分析するように、前記光検出器の前記シストリック処理を行う、受信機回路と、
前記レーザ、前記受信機
回路、前記クロック回路および前記カメラに電力を供給するように構成された1または複数の電源と、を備えた、システム。
【請求項2】
前記光検出器および関連するレジスタは、前記反射パルスの前記光子が検出され
たことと前記アレイ内で前記光子が収集された地理的場所
とを示すデータを捕捉するように構成され、前記アレイ内の前記光検出器および関連するレジスタは、前記データを前記アレイの行を通して
前記クロック信号の各
クロックサイクルでバッファまでシリアルにシフトするように構成され、次いで前記バッファは、
捕捉した前記データを固有の列アドレスデコーダおよびタイムスタンプデコーダに送信し、前記シフトは、
前記時間単位で、前記クロック回路からの前記
クロック信号に対して前記アレイ内で前記光子が
捕捉されたときと、前記光子が捕捉された地理的位置とを
知る前記アルゴリズムを使用するタイミング回路と同期され、各タイムスタンプデコーダは、前記クロック回路から共通の時間参照
クロック信号を受信する、請求項1に記載の
システム。
【請求項3】
前記システムはLiDARシステムであり、前記アレイの各行は複数の光検出器および関連するレジスタで構成され、前記アレイの各列も複数の光検出器および関連するレジスタで構成されている、請求項1に記載の
システム。
【請求項4】
前記ROICは複数のシストリックプロセッサ要素を含み、各シストリックプロセッサ要素は独自の光検出器および関連するレジスタを有し、各シストリックプロセッサ要素は、検出した光子位置および到達時間情報を伝達するために、2つの入力:i)左側の隣接するシストリックプロセッサ要素からのシストリックプロセッサ要素の出力、およびii)前記アレイ内の関連する画素の列アドレスを有する、請求項3に記載の
システム。
【請求項5】
各シストリックプロセッサ要素はさらに、検出した光子到達およびその列および行アドレスを反映した前記データを前記アレイを通してシリアルにシフトするために、i)その入力にマルチプレクサまたは等価ブール論理ゲートと、ii)ローカル列アドレスの発生器と、iii)マルチプレクサ入力セレクタロジックと、を備えている、請求項4に記載の
システム。
【請求項6】
前記アレイ内の第1の行に対する第1のタイムスタンプブロックおよび第2の行に対する第2のタイムスタンプブロックの両方は、前記クロック回路から共通の時間参照
となるクロック信号を受信し、各タイムスタンプブロックは、タイムスタンプと呼ばれるコンテンツを備えたタイムカウンタおよび関連するシャドウタイマレジスタからなり、パイプライン列アドレスレジスタと協働し、タグ付けされた列アドレスのデータフローが前記タイムスタンプブロックを通過する場合、前記タイムカウンタの瞬間値が、前記検出された光子の位置および到達時間を示すように、前記パイプライン列アドレスレジスタからの列アドレスに付される、請求項1に記載の
システム。
【請求項7】
前記光検出器は平面ガイガーモードアバランシェフォトダイオード(APD)アレイであり、前記ROICは、前記光検出器としてAPDのアレイおよびガイガーモード動作を制御する回路を含むように構成され、第1のセットのAPDおよびその関連するレジスタは、このAPDおよび関連するレジスタをバイパスするためのバイパス回路を有し、それによって、前記データは、前記アレイの所与の行で欠陥のあるセットのAPDおよび関連するレジスタを通してシリアルにシフトすることができる、請求項1に記載の
システム。
【請求項8】
前記ROICは複数のシストリックプロセッサ要素を含み、各シストリックプロセッサ要素は独自の光検出器および関連するレジスタを有し、各シストリックプロセッサ要素は、i)光子検出がない場合、前記データは、並列なシフトレジスタの形態のシストリックプロセッサ要素の前記アレイ内で左から右に進み、ii)光子検出のイベントが起こると、作動された光検出器の列アドレスは、そのシストリックプロセッサ要素に投入され、このデータがその行に対して共通のバッファに記憶されるまでその後の各クロックサイクルで右にシリアルにシフトされるという前記シストリック処理を行うように構成され、
2行以上のシストリックプロセッサ要素が、前記時間単位の共通のタイマ維持トラックを共有する、請求項1に記載の
システム。
【請求項9】
前記光検出器の前記シストリック処理は、前記アレイ内でその光検出器およびその関連レジスタに対する光子を捕捉することによって飛行時間データを記録する前記ROICの無駄な時間を減少させ、それにより、前記反射光パルスの検出によるより高い分解能が得られる、請求項2に記載の
システム。
【請求項10】
1または複数の光パルスで1または複数の対象物の特徴を測定するシステムを使用する方法であって、
前記1または複数の光パルスを生成するステップと、
前記1または複数のターゲット対象物からの反射光パルスを検出するステップと、
クロック回路と協働し、アレイに配置された1または複数の光検出器を備えた読出し集積回路(ROIC)を有する受信機を使用するステップであって、
前記ROICは、前記クロック回路からの
クロック信号を使用することによって少なくとも第1の参照
点で始まり第2の参照点で止まる前記飛行時間を測定するように構成され、
前記ROICは、前記光検出器のシストリック処理を行うように構成され、
前記ROICは、少なくとも、i)反射光パルスの初期光子が前記アレイ内の前記光検出器のそれぞれによって捕捉され
たか、ii)その光子が地理的に前記アレイ内のどこに配置されているかを捕捉し、iii)前記アレイ内の所与の前記光検出器で前記光子が、
捕捉されたか、地理的にどこで補足されたのかについて、前記検出器によって捕捉されるデータを走査し、その後、iv)時間単位で、前記クロック回路からの
前記クロック信号に対して前記光子がいつ捕捉されたのかを知るためのアルゴリズムで、走査した前記データを分析するように、前記光検出器の前記シストリック処理を行う、ステップとを含む方法。
【請求項11】
反射パルスの光子が検出され
たことと前記アレイ内で前記光子が収集された地理的場所
とを示すデータを捕捉するステップであって、前記データを前記光検出器および関連するレジスタから前記アレイの行を通して
前記クロック信号の各
クロックサイクルでバッファまでシリアルにシフトし、次いで前記バッファは、捕捉した前記データを、
前記時間単位で、前記クロック回路からの前記入力に対して前記アレイ内で前記光子が補足されたときと、前記光子が捕捉された地理的位置とを
知る前記アルゴリズムを使用する固有の列アドレスデコーダおよびタイムスタンプデコーダに送信する、ステップをさらに含む、請求項10に記載の方法。
【請求項12】
前記システムはLiDARシステムであり、前記アレイの各行は複数の光検出器および関連するレジスタで構成され、前記アレイの各列も複数の光検出器および関連するレジスタで構成されている、請求項10に記載の方法。
【請求項13】
前記ROICは複数のシストリックプロセッサ要素を含み、各シストリックプロセッサ要素は独自の光検出器および関連するレジスタを有し、各シストリックプロセッサ要素は、検出した光子位置および到達時間情報を伝達するために、2つの入力:i)左側の隣接するシストリックプロセッサ要素からのシストリックプロセッサ要素の出力、およびii)前記アレイ内の関連する画素の列アドレスを有する、請求項12に記載の方法。
【請求項14】
前記アレイ内の第1の行に対する第1のタイムスタンプブロックおよび第2の行に対する第2のタイムスタンプブロックに前記クロック回路から共通の時間参照入力を供給するステップであって、各タイムスタンプブロックは、タイムスタンプと呼ばれるコンテンツを備えたタイムカウンタおよび関連するシャドウタイマレジスタからなり、パイプライン列アドレスレジスタと協働し、タグ付けされた列アドレスのデータフローが前記タイムスタンプブロックを通過する場合、前記タイムカウンタの瞬間値が、検出された前記光子の位置および到達時間を示すように、列アドレスに付される、ステップをさらに含む、請求項10に記載の方法。
【請求項15】
互いに対して90度シフトされ、前記アレイ内の各画素に分配される、同じ周波数で生成された少なくとも2つのクロック信号を有する前記クロック回路を使用するステップであって、これらのクロック信号は、全ての画素で2つのラッチによって追跡され、光子の到達の検出の始まりに、前記2つのラッチは2つのクロック信号の瞬時状態を捕捉するラッチモードにスイッチされ、前記少なくとも2つのクロック信号は90度シフトされたクロックであるので、前記少なくとも2つのクロック信号は、1つのクロックサイクルに対応する各サイクル内の少なくとも4つの二値の組合せとなり、タイムスタンプブロックは、1のクロックサイクルの四分円内に光子到達時間を区別するように構成され、それゆえ、前記クロック信号の周波数の少なくとも4倍だけ時間分解能を増加させる、ステップとをさらに含む、請求項10に記載の方法。
【請求項16】
前記光検出器は、平面ガイガーモードアバランシェフォトダイオード(APD)アレイであり、前記ROICは、前記光検出器としてのAPDのアレイおよびガイガーモード動作を制御する回路を含むように構成され、第1のセットのAPDおよびその関連するレジスタは、このAPDおよび関連するレジスタをバイパスするためのバイパス回路を有し、
それによって、前記データは、前記アレイの所与の行で、欠陥のあるセットのAPDおよび関連するレジスタを通してシリアルにシフトすることができる、請求項10に記載の方法。
【請求項17】
前記ROICは、複数のシストリックプロセッサ要素を含み、各シストリックプロセッサ要素は独自の光検出器および関連するレジスタを有し、各シストリックプロセッサ要素は、i)光子検出がない場合、前記データは、並列なシフトレジスタの形態のシストリックプロセッサ要素のアレイ内で左から右に進み、ii)光子検出のイベントが起こると、作動された光検出器の列アドレスは、そのシストリックプロセッサ要素に投入され、このデータがその行に対して共通のバッファに記憶されるまでその後のクロックサイクルそれぞれで右にシリアルにシフトされるという前記シストリック処理を行うように構成され、および、2行以上のシストリックプロセッサ要素が、時間単位の共通のタイマ維持トラックを共有する、請求項10に記載の方法。
【請求項18】
クロック回路と協働し、アレイに配置された1または複数の光検出器を備えた読出し集積回路(ROIC)であって、
前記ROICは、前記クロック回路からの
クロック信号を使用することによって、少なくとも第1の参照
点で始まり第2の参照点で止まる
反射光パルスの飛行時間を測定するように構成され、
前記ROICは、前記光検出器のシストリック処理を行うように構成され、
前記ROICは、少なくとも、i)
前記反射光パルスの初期光子が前記アレイ内の前記光検出器のそれぞれによって捕捉され
たか、ii)その光子が地理的に前記アレイ内のどこに配置されているかを捕捉し、iii)
前記光検出器によって捕捉されるデータを走査し、その後、iv)時間単位で、前記クロック回路からの
前記クロック信号に対して前記光子がいつ捕捉されたのかを知るためのアルゴリズムで
、走査した前記データを分析するように、前記光検出器の前記シストリック処理を行う、
ROICを備えた装置。
【請求項19】
前記ROICは複数のシストリックプロセッサ要素を含み、各シストリックプロセッサ要素は独自の光検出器および関連するレジスタを有し、各シストリックプロセッサ要素は、検出した光子位置および到達時間情報を伝達するために、2つの入力:i)左側の隣接するシストリックプロセッサ要素からのシストリックプロセッサ要素の出力、およびii)前記アレイ内の関連する画素の列アドレスを有する、請求項18に記載の装置。
【請求項20】
前記ROICは複数のシストリックプロセッサ要素を含み、各シストリックプロセッサ要素は独自の光検出器および関連するレジスタを有し、各シストリックプロセッサ要素は、i)光子検出がない場合、前記データは、並列なシフトレジスタの形態のシストリックプロセッサ要素のアレイ内で左から右に進み、ii)光子検出のイベントが起こると、作動された光検出器の列アドレスは、そのシストリックプロセッサ要素に投入され、このデータがその行に対して共通のバッファに記憶されるまでその後の各クロックサイクルで右にシリアルにシフトされるという前記シストリック処理を行うように構成され、
2行以上のシストリックプロセッサ要素が、前記時間単位の共通のタイマ維持トラックを共有する、請求項18に記載の装置。
【発明の詳細な説明】
【前置き】
【0001】
相互参照
本出願は、米国特許法119条に基づき、その開示の全体が参照により本明細書に組み込まれる、2017年2月28日付けで出願された「SYSTOLIC PROCESSOR FOR FOCAL PLANE GEIGER MODE APD ARRAYS」という名称の特許仮出願第62/465,040号に対して優先権を主張する。
【0002】
政府の権利
本発明は、国防高等研究計画局に与えられた契約番号HR0011-13-C-0045における政府の援助で行われた。政府は、本発明に特定の権利を有する。政府は、本発明に特定の権利を有する。
【0003】
技術分野
本開示の実施形態は概して、光測距システム用シストリックプロセッサシステムに関する。より詳細には、実施形態は、飛行時間測定のためにより高い分解能を有するより優れた読み出しを創出するためのLiDARシステム用シストリックプロセッサシステムに関する。
【発明の概要】
【0004】
本明細書では、1または複数の光パルスで1または複数の対象の特徴を測定するシステム用の様々な方法、装置、およびシステムを提供することができる。
【0005】
一実施形態では、シストリック処理は、例えば、飛行時間測定のためにより高い分解能を有するより優れた読み出しを創出するための光測距システムに使用される。受信機回路は、クロック回路と協働するアレイに配置された、アバランシェフォトダイオード(APD)などの1または複数の光検出器を含む読出し集積回路(ROIC)を備えている。読出し集積回路は、少なくとも第1の参照時間および第2の参照点で始まる飛行時間を測定するように構成されている。アレイの各行は、複数の光検出器および関連するレジスタで作ることができる。
【0006】
ROICは、光検出器のシストリック処理を行う。ROICは、極めて正確な分解能で飛行時間の測定などの対象の特徴を判断するために、少なくとも、i)時間単位で、反射光パルスの初期光子がアレイ内の光検出器のそれぞれによっていつ捕捉され、ii)その光子が地理的にアレイ内のどこに配置されているかを補足し、iii)光検出器によって捕捉されるデータを走査し、その後、iv)時間単位で、クロック回路からの入力に対して光子がいつ捕捉されたのかを知るためにアルゴリズムで走査したデータを分析するように、光検出器のシストリック処理を行う。
【0007】
図面は、本明細書で提供される設計のいくつかの実施形態を参照する。
【図面の簡単な説明】
【0008】
【
図1】
図1は、例えば、飛行時間測定のためにより高い分解能を有するより優れた読み出しを創出するために、シストリック処理読出し集積回路(ROIC)で1または複数の光パルスを有する1または複数の対象の特徴を測定する例示的な光測距システムの一実施形態のブロック図である。
【
図2a】非同期動作におけるROICに対するシストリック処理の例示的な表示の一実施形態の図である。
【
図2b】非同期動作におけるROICに対するシストリック処理の例示的な表示の一実施形態の図である。
【
図2c】非同期動作におけるROICに対するシストリック処理の例示的な表示の一実施形態の図である。
【
図2d】非同期動作におけるROICに対するシストリック処理の例示的な表示の一実施形態の図である。
【
図2e】非同期動作におけるROICに対するシストリック処理の例示的な表示の一実施形態の図である。
【
図2f】非同期動作におけるROICに対するシストリック処理の例示的な表示の一実施形態の図である。
【
図2g】非同期動作におけるROICに対するシストリック処理の例示的な表示の一実施形態の図である。
【
図3A】シストリック処理ROICの一実施形態のブロック図である。
【
図3B】シストリック処理ROICの一実施形態のブロック図である。
【
図4】
図4は、例示的なシストリック処理要素の部分の一実施形態のブロック図である。
【
図5】
図5は、光測距システム用シストリックプロセッサシステムの一部となり得る1または複数の演算デバイスの一実施形態を示す図である。
【発明を実施するための形態】
【0009】
設計は様々な変更、等価物、および代替形態の対象であり、その特定の実施形態は、図に例として示し、詳細に説明する。設計は、開示した特定の実施形態に限るものではなく、逆に、特定の実施形態を使用した全ての変更、等価物、および代替形態を含むことを意図していることを理解されたい。
【0010】
以下の説明では、本設計の完全な理解を提供するために、特定のデータ信号、名称がある構成部品、フレームの数などの例として多くの特定の詳細を記載することがある。しかし、本設計をこれらの特定の詳細がなくとも実施することができることは、当業者には自明のことである。他の例では、本設計を不必要に曖昧にすることを避けるために、よく知られている構成部品または方法は、詳細に説明せず、ブロック図で説明した。さらに、第1の演算デバイスなどの特定の数的参照を行うことがある。しかし、特定の数的参照は、文字通りの順序として解釈すべきではなく、第1の演算デバイスが第2の演算デバイスとは異なるということを解釈するものである。したがって、記載した特定の詳細は単に例示的なものである。特定の詳細は、本設計の精神および範囲から変更することができるが、未だその範囲内にあると解釈することができる。「結合」という用語は、構成部品に直接、または別の構成部品を通して構成部品に間接的に接続することと定義される。
【0011】
一般的に、クロック回路と協働する、アレイに配置された1または複数の光検出器を備えたROICを使用する光測距システムの1または複数の実施形態を論じる。ROICは、光検出器のシストリック処理を行うことができる。ROICは、少なくとも、i)時間単位で、反射光パルスの初期光子がアレイ内の光検出器のそれぞれによっていつ捕捉され、ii)補足する光検出器の列および行アドレスに関してその光子が地理的にアレイ内のどこに配置されているかを捕捉し、iii)アレイ内の所与の光検出器で光子が、少なくとも時間単位でいつ、地理的にどこで補足されたのかについて、光検出器によって捕捉されるデータを走査し、その後、iv)時間単位で、クロック回路からの入力に対して光子が厳密にいつ捕捉されたのかを正確に知るためにその時間と場所に関してアルゴリズムでデータを分析するように、光検出器のシストリック処理を行う。
【0012】
3つの注目すべき点:1)一般的に、従前のROICアーキテクチャでは、各画素での実際の時間情報が必要であった。これは、電力損失が画素の数で線形的に増加することを意味する。代わりに、本設計では、2行以上のシストリックプロセッサ要素が、時間単位の共通のタイマ維持トラックを共有する。2)また、従前のROICアーキテクチャでは、飛行時間カウンタは、カウントサイクルの持続時間だけタイムを取る必要があり、その後、無制限にカウントし続ける必要がある。それによって、これらは時にオーバーフローするので、より高次の「時間」がROICの外側に保持される必要があるか、または、はるかに長い必要があるものの、それらは、電力損失をさらに増加させ、ROICによって生成されるデータ量を増加させる。3)また、従前のROICアーキテクチャでは、いくつかの動作サイクルなどの無駄な時間差が、光子の検出を捕捉するときと、画素がその位置で別の光子を検出することができるときとの間に存在する。代わりに、本設計では、一組の光検出器およびその関連レジスタは、対象からアレイ内のその地理的位置に戻る初期光子を検出することができ、次いで一組の光検出器およびその関連レジスタが対象からアレイ内のその地理的位置まで戻る別の光子を検出することが可能な直ぐ次のサイクルが始まる。光検出器のシストリック処理は、アレイ内でその光検出器およびその関連レジスタに対する光子を捕捉することによって、飛行時間データを記録するROICにおける無駄な時間を減少させ、それにより、反射光パルスの検出によるより高い分解能が得られる。
【0013】
図1は、例えば、飛行時間測定のためにより高い分解能を有するより優れた読み出しを創出するために、シストリック処理読出し集積回路(ROIC)で1または複数の光パルスを有する1または複数の対象の特徴を測定する例示的な光測距システムの一実施形態のブロック図を示す。
【0014】
LiDARシステムなどの光測距システム100は、1または複数の光パルスおよび検出した反射光子で、飛行時間測定を含む時間の測定による距離などの1または複数の対象の特徴を測定する。1または複数のレーザは、1または複数の光パルスを生成する。1または複数のカメラは、1または複数の対象物からの反射光パルス内の光子を検出する。
【0015】
受信機回路は、クロック回路と協働するアレイに配置された、アバランシェフォトダイオード(APD)などの1または複数の光検出器を含むROICを備えている。ROICは、クロック回路からの入力を使用することによって、少なくとも反射光パルスの飛行時間を測定し、その後、第1の参照時間で始まり、第2の参照点で止まる飛行時間を測定するように構成されている。第1の参照点は、ノイズを除去するためである場合にはシステム予測に基づきパルスが戻ってくることを期待された時間、レーザパルスがレーザから離れる時間、またはいくつかの他の参照時点であってもよい。第2の参照点は、アレイ内の関連する光検出器が反射光パルスの光子を検出するとき、システムがその範囲のサンプリングを完了したとき、またはいくつかの他の参照時点であってもよい。アレイの各行は、複数の光検出器および関連するレジスタで作ることができる。アレイの各列も、複数の光検出器および関連するレジスタで作ることができる。
【0016】
ROICは、複数のシストリックプロセッサ要素を含む。各シストリックプロセッサ要素は、固有の光検出器および関連するレジスタを有する。各シストリックプロセッサ要素は、検出した光子位置および到達時間情報を伝達するために、2つの入力、i)左側の隣接するシストリックプロセッサ要素からのシストリックプロセッサ要素の出力、およびii)アレイ内の関連する画素の列アドレスを有する。
【0017】
ROICは、光検出器のシストリック処理を行う。ROICは、極めて正確な分解能で飛行時間の測定などの対象の特徴を判断するために、少なくとも、i)時間単位で、反射光パルスの初期光子がアレイ内の光検出器のそれぞれによっていつ捕捉され、ii)補足する光検出器の列および行アドレスに関してその光子が地理的にアレイ内のどこに配置されているかを捕捉し、iii)アレイ内の所与の光検出器で光子が、時間単位でいつ、地理的にどこで補足されたのかについて、光検出器によって捕捉されるデータを走査し、その後、iv)時間単位で、クロック回路からの入力に対して光子が厳密にいつ捕捉されたのかを正確に知るためにその時間と場所に関してアルゴリズムでデータを分析するように、光検出器のシストリック処理を行う。
【0018】
各シストリックプロセッサ要素は、以下の通り、シストリック処理を行うことができる。
【0019】
i)光子検出がない場合、データは、並列なシフトレジスタの形態のシストリックプロセッサ要素のアレイ内で左から右に進む。
【0020】
ii)光子検出のイベントが起こると、作動された光検出器の列アドレスは、そのシストリックプロセッサ要素に投入され、このデータがその行に対して共通のバッファに記憶されるまでその後のクロックサイクルそれぞれで右にシリアルにシフトされる。(シストリックプロセッサへの入力で)最も左側のシストリックプロセッサ要素は、その左隣がなく、代わりに、固有の列アドレスを通過するように構成されている。
【0021】
下流側分析モジュールと協働するシストリックプロセッサ要素は、レーザから対象までのその光子の飛行時間の持続時間に対する検出された光子の実際の到達時間と、その後、アレイ内の画素の反射波における初期光子の検出を決定する。
【0022】
1または複数の電源は、電力をレーザ、受信機、クロック回路、およびカメラに供給する。
【0023】
一実施形態では、LiDARは、(距離および空間分解能の両方で)優れた精度で距離を測定することができる。LiDARは、光パルスが対象に到達し、戻る必要がある時間の測定によって距離を測定する。LiDARは、短い光パルスを生成するレーザ、および反射光パルスを検出し、光の飛行時間を測定するカメラを備えている。APDの導入により、単一の光子、対象から戻る第1の光子、すなわち、二次反射によって反射された光子ではなく、対象とLiDARの間の最も短い経路を有する光子を検出する能力によって、LiDARの性能を著しく向上させることができる。
【0024】
この設計は、平面ガイガーモードAPDアレイの各画素からタイマを取り除くシストリック処理技術を使用してもよく、それにより、電力消費を著しく減らし、より高密度のアレイを可能にするよう回路を単純化することができる。
【0025】
ROICは、本明細書で論じるような多数のシステムで使用されてもよい。例えば、ROICは、伝達装置(transmitter)を備えていない受動的リスナシステムで使用されてもよい。また、ROICは、特徴を判断することができる顕微鏡のような応用例で使用されてもよい。顕微鏡およびそのようなデバイスは、戻ってくる光または対象検出に基づいて、データを取得し、サイズ、化学的構成などの特徴を得る、ROICを使用する光伝達装置を有する。また、ROICアレイは小型である。寸法は、隣接する画素間のピッチに相関することがあることに留意されたい。また、誤差はクエンチ回路によって判断することができる。
【0026】
図2aから2gは、非同期動作におけるROIC200に対するシストリック処理の例示的な表示の一実施形態の図である。これらの図は、3×3画素タイルに対する一連の連続飛行時間値を示している。図では、「C」を有する第1の矩形は、その列および行アドレスでの光検出器を示し、第2の矩形は値を記憶する関連するレジスタである。関連するレジスタは、中に数字を有し、列アドレス位置を示すことができる。比較を容易にするために、これらの矩形は、
図3Aおよび3Bに示した例示的なものに対応し得る。これらの図では、FIFOバッファ、フィードバックスイッチを備えた矩形の左縁部近くの底部に飛行時間カウンタが1つだけある。したがって、シストリックプロセッサ要素の2つ以上の行は、時間単位の共通のタイマ維持トラックを共有し得る。
【0027】
「シストリック処理」という用語は、接続された単純なプロセッサの近傍のアレイを含む、コンピュータアーキテクチャの階層を説明するために使用することができる。データは、固定速度でパイプラインモードにおいてこれらのプロセッサを通して流れる。「シストリック処理」という用語は、光検出器および関連するレジスタのアレイの制御のための、ROIC内での例示的な構造および処理を適切に説明するので、ここで使用されている。本文脈におけるシストリック処理は、いくつかの有利な特性を有する:
【0028】
各列での光子到達とシストリックプロセッサからの放出の間の遅延は、クロックサイクルの倍数である。
【0029】
シストリック処理が左から右に進み、各シストリック処理要素(SPE)の遅延が1クロックサイクルである場合、また列を右から左に数えることができる場合、アルゴリズムは、光子の到達時間をシストリックプロセッサからの放出時間マイナス列数として判断することができる。
【0030】
各画素(APD位置)で電子的に供給される時間情報について必要がない。時間情報は単に、シストリックプロセッサからの放出で追跡される必要がある。
【0031】
SPEのサイズがlog2(n)で大きくなる四角形のアレイであって、nは列の数であり、例えば、アレイ内の列の数の倍はそれぞれ、SPEの幅に1ビットを加え、同期または非同期モードでは、各画素は飛行時間カウンタの長さ(普通は、10ビット以上)に等しい固定幅を有する。繰り返しとなるが、ROICアレイは小型である。
【0032】
光検出器および関連するレジスタは、反射パルスの光子が検出されるときとアレイ内で光子が収集された地理的場所を示すデータを捕捉する。したがって、データは、アレイ内における検出された光子の到達時間および位置を反映する。各サイクルでは、データは、光検出器および関連するレジスタからアレイの行を通してバッファまでシリアルにシフトし、その後、捕捉したデータを、時間単位で、光子がクロック回路からの入力、および光子が捕捉された地理的場所に対してアレイ内で捕捉された正確なときに復号化するためにアルゴリズムを使用する固有の列アドレスデコーダおよびタイムスタンプデコーダに送信する。
【0033】
図2aは、0の飛行時間値から始まる。
図2aは、時間0でのシストリック処理を示す。
図2bおよび
図2cは、次の2つのサイクルを示す。
図2bは、時間1でのシストリック処理を示す。光子は検出されていない。
図2cは、時間2でのシストリック処理を示す。第1の光子は、(小さい星で示された)左側の最上部SPEに到達する。また、
図2cでは、光子は左側の最上部画素(C3)に到達し、その列アドレス(C3)の値はシストリックプロセッサにローディングされる。この光子は2時間単位に等しい飛行時間に到達したことに留意されたい。
図2dは、時間3でのシストリック処理を示す。2つ以上の光子が、アレイの第2の行における列C2およびC1に到達する。また、第1の光子に対するデータは、シストリックプロセッサを通して右側に1ステップ移動する。したがって、2つ以上の光子が到達し、それぞれの列アドレスが、シストリックプロセッサのレジスタにローディングされる。同じ時間の間、前の光子の列アドレスは、シストリック処理パイプラインを通して右に1ステップシフトする。これらの2つの光子が3時間単位に等しい飛行時間に到達したことに留意されたい。
図2eは、時間4でのシストリック処理を示す。光子を示すデータは、シストリックプロセッサから出て、飛行時間カウンタC1-4の現在の値が付される。したがって、シストリックプロセッサは、そのコンテンツを右に1ステップ移動させる。これにより、シストリックプロセッサからの最も右側の光子列アドレスに移動し、この点で、列アドレスは現在の飛行時間値が付される。この過程は、「タイムスタンプ」と言うことができる。
図2fは、時間5でのシストリック処理を示す。2つ以上の光子を示すデータは、シストリックプロセッサから出て、C3-5およびC2-5と「タイムスタンプ」される。また、他の検出光子C1-4に対するデータはFIFOバッファに入る。したがって、残りの2つの光子をタイムスタンプすることができ、前にタイムスタンプされた光子は、FIFOバッファに書き込まれる。
図2gは、時間6でのシストリック処理を示す。3つの光子全てに対するデータが、FIFOバッファに書き込まれる。したがって、
図2gでは、最後の2つの光子をFIFOバッファに書き込むことができる。
【0034】
次に、異なるデコーダモジュールはFIFOのコンテンツを検査することができる。上部の行では、システムは行1列アドレス3からの光子が時間5でシストリックプロセッサから出た記録を有する。下の行、行2では、システムは2つの光子の記録を有する。行2、列1からの1つの記録が時間4で出る。行2、列2からの第2の記録が時間5で出る。アルゴリズムは、行1で第1の到達光子に対して5-3=2(時間単位)、および行2からの他の2つの光子に対して4-1=3(時間単位)および5-2=3(時間単位)として実際の光子到達時間を算出することができる。
【0035】
アレイを構成する行および列の各光検出器は、単一の光子を検出する能力を有し、したがって、二次反射によって反射されるあらゆる光子を検出するというよりむしろ、アレイ内のその地理的位置に対象から戻る第1/初期の光子を検出する能力を有する。また、直近のサイクルの始まりにおいて、一組の光検出器および関連するレジスタが、アレイ内のその地理的位置に対象から戻る別の光子を検出することが可能である。光検出器のシストリック処理は、画素のアレイ内のその画素に対する光子を捕捉することによって、飛行時間データを記録するために、ROICの無駄な時間を減少させることができ、それにより、反射光パルスの検出によるより高い分解能/改良された測定が得られる。
【0036】
3つの注目すべき点:1)本設計では、2行以上のシストリックプロセッサ要素が、時間単位の共通のタイマ維持トラックを共有する。2)従前のROICアーキテクチャでは、飛行時間カウンタは、カウントサイクルの持続時間だけタイムを取る必要があり、その後、無制限にカウントし続ける必要がある。それによって、これらは時にオーバーフローするので、より高次の「時間」がROICの外側に保持される必要があるか、または、はるかに長い必要があるものの、それらは電力損失を増加させ、ROICによって生成されるデータ量を増加させる。3)また、従前のROICアーキテクチャでは、いくつかの動作サイクルなどの無駄な時間差が、光子の検出を捕捉するときと、画素がその位置で別の光子を検出することができるときとの間に存在する。代わりに、本設計では、一組の光検出器およびその関連レジスタは、対象からアレイ内のその地理的位置に戻る初期光子を検出することができ、次いで一組の光検出器およびその関連レジスタが対象からアレイ内のその地理的位置まで戻る別の光子を検出することが可能な直ぐ次のサイクルが始まる。
【0037】
図3Aおよび3Bは、シストリック処理ROICの一実施形態を示す。
図3Aからのシストリック処理ROICの構成部品は、
図3B内に続く。システム300は、シストリック処理要素(SPE)、タイムスタンプブロック(TS)、行FIFO、ラウンドロビンアービタ、ポートFIFO、シリアライザおよびLVDSドライバを含むシストリックプロセッサを備えている。熟練したFPGA設計者は、管理のために、これらのブロックをマルチポート市販SRAMおよび対応するアルゴリズムに置換することができる。
【0038】
シストリック処理要素
各画素(光検出器位置)は、それに関連する1つのSPEを有し、接続されたSPEの全ての行は画素の1つの行に対応している。各SPEは、2つの入力、左側の隣からのSPE出力、およびその関連する画素の列アドレスを有する。(シストリックプロセッサへの入力において)最も左側のSPEは、左側に隣がなく、代わりに、固有の列アドレスを通過するように構成されている。光子検出がない場合、情報は左から右に進み、SPEのチェーンは並列シフトレジスタを形成する。光子検出のイベントの場合、活性化された画素の列アドレスは、そのSPEに投入され、次のクロックサイクルで右にシフトされる。
【0039】
アレイ内の第1の行に対する第1のタイムスタンプブロック、第2の行に対する第2のタイムスタンプブロックなどは全て、クロック回路からの共通の時間参照入力を受信する。各タイムスタンプブロックは、タイムカウンタ(タイマ)およびタイムスタンプ(TS)と呼ばれるコンテンツを備えた関連するシャドウタイマレジスタからなる。各タイムスタンプブロックは、パイプライン列アドレスレジスタ(CA)と協働する。タグ付けされた列アドレスのデータフローがタイムスタンプブロックを通過する場合、タイムカウンタの瞬間値が、検出された光子の位置および到達時間を示すように、列アドレスレジスタからの列アドレスに付される。各タイムスタンプデコーダは、クロック回路から共通の時間参照入力を受信する。
【0040】
上記SPEで一連のチェーンによって形成されたシストリックプロセッサは、アドレスが光子の検出を反映することを示す光子タグを備えた列アドレスの一定フローを作り出す。このフローは、タイムスタンプデコーダブロックに示される。
【0041】
タイムスタンプ
タイムスタンプブロック(
図3B参照)はそれぞれ、タイムカウンタ(タイマ)、タイムスタンプ(TS)と呼ばれるコンテンツを備えたシャドウタイマレジスタ、およびパイプライン列アドレスレジスタ(CA)を備えている。タグ付けされた列アドレスのフローがタイムスタンプブロックを通過すると、タイマの瞬間値は、列アドレスに付される(列アドレスがタイムスタンプされる)。位置および到達時間の両方が知られている必要があるので、結果は光子タグと共に通過される。
【0042】
タイマのタイミング能力は、その幅によって制限される。本構成では、タイマ幅は、例えば、10ビットである。より長い露出時間では、タイマは周期的にオーバーフローする。タイムスタンプブロックは、タイマのオーバーフローを監視し、TSおよびCAのコンテンツ全体を後続のロジックブロックへのタイマオーバーフローを示す独自のビット組合せと置き換える。
【0043】
留意点:上記シストリック処理原理および概念は、到達情報の検出された光子位置および時間を生成および維持することが十分可能であることに留意されたい。しかし、選択されたIC過程によって維持可能な最大クロック速度が十分な時間分解能を提供しない場合がある。このような場合、本明細書に記載されたフェーズシフト方法を利用することができる。クロック回路は、互いに対して90度シフトされ、アレイ内の各画素に分配される、同じ周波数で生成された少なくとも2つのクロック信号を有する。これらのクロック信号は、全ての画素で2つ以上のラッチによって追跡される。光子の到達の検出の始まりに、2つのラッチは2つのクロック信号の瞬時状態を捕捉するラッチモードにスイッチされる。少なくとも2つのクロック信号は90度シフトされたクロックであるので、1つのクロックサイクルに対応する各サイクル内の少なくとも4つの二値の組合せにつながることに留意されたい。タイムスタンプブロックは、1つのクロックサイクルの四分円内に光子到達時間を区別するように構成され、したがって、クロック信号の周波数の少なくとも4倍だけ時間分解能を増加させる。
【0044】
本実施例では、1GHzのクロックが使用されるが、所望の分解能は250psである。これを達成するために、互いに対して90度シフトされる2つの1GHzクロックは、各画素に分配することができる。これらのクロックは全ての画素で2つのラッチによって追跡することができる。光子到達検出の始めに、これらの2つのラッチは、2つのクロックの瞬時状態を捕捉するラッチモードにスイッチされることができる。2つの90度シフトクロックが各1ナノ秒サイクル内で4つの二値の組合せにつながるので、光子到達時間はさらに1ナノ秒サイクルの四分円内に区別することができる。これらの2つのビットのラッチ状態は、シストリックプロセッサ内の列アドレスに付され、タイムスタンプブロックでタイムスタンプに付される。IC過程が4GHzのクロック周波数を援助することができ、タイマブロックの幅が2ビット増加する場合、2つの90度シフトクロックなしで、また各画素でのラッチなしでも同一の結果が得られることに留意されたい。
【0045】
行FIFO
一実施例では、最大数の出力LVDSポートが、4つのタイムスタンプ出力経路(画素行)を1つのポートに組み合わせる。ピーク瞬時スループット需要を受け入れるために、各行の出力に比較的浅いFIFOがある。光の均一およびガウス分配でのモデリングにより、4ワードの深さが十分であることが明らかになった。行FIFOは、シリアライザの能力がデータ流出を制限し始める場合に、光強度のみでオーバーフローし始める。このような場合に行FIFOの深さを増加させることは経路の能力を増加させず、オーバーフローが始まるのを遅らせるだけである。
【0046】
オーバーフローの場合、行FIFOはそのコンテンツを保存し、余分な光子タイムスタンプを単に処分する。目立った例外は、処分することができないタイマオーバーフローインディケータであり、それによって、必要に応じて行FIFOの上部を上書きする。
【0047】
ラウンドロビンアービタ
一実施形態では、行FIFOからの読出しを、ラウンドロビンアービタによって制御することができる。ラウンドロビンアービタは、4つの行FIFOからの読出しリクエスト、およびポートFIFOからのFIFOフルインディケータを監視する。ラウンドロビンアービタは、現在の状態に基づき、4つの行FIFOの間で仲裁する単純なシーケンサを備えている。ポートFIFOが完全ではなく、4つの行FIFO全てが読出しをリクエストしている場合、アービタは、ラウンドロビンシーケンス内でこれらのリスエストに応じる(したがって、ラウンドロビンアービタという名前である)。4つの行FIFO全てが読取をリクエストしているわけではない場合、ラウンドロビンシーケンスが省略される、すなわち、ポートFIFO入力能力を最大限に利用するために、空の行FIFOをスキップすることができる。最終的に、1つの行FIFOだけがコンテンツを有する場合、1クロックサイクル速度毎に1トランスファーでポートFIFOに移動させる。ラウンドロビンアービタはどの行FIFOが使用されているかを知っているので、行FIFOコンテンツに行アドレスを示す追加の2ビットを付す。それによって、ポートFIFOの入力では、各光子到達イベントは、タイムスタンプ、列アドレスおよび行アドレスによって識別される。
【0048】
ポートFIFO
ポートFIFOの機能は、シストリックプロセッサの瞬時ピークスループット需要をシリアルLVDSポートの最大移動能力と速度マッチさせることである。行FIFOに使用される同じモデリングは、総計の光子到達速度がシリアルポートの能力より低い限り、16ワードのポートFIFO深さがランダム光子到達速度での場合において98%を超えてピーク需要を満たすことを示唆している。総計光子到達速度がシリアルポート能力を超えると、ポートFIFOは、その深さに関わらず、次第にオーバーフローし、排出するのに過剰な時間がかかる。
【0049】
ポートFIFOは、オーバーフローが起きないので、基本FIFO構造である。ラウンドロビンアービタは、単にフルポートFIFOへの書き込みを停止し、行FIFOにオーバーフロー問題を転送する。
【0050】
ポートFIFOからの読出しは、シリアライザによって制御することができる。シリアライザは、前の文字の終わりで、ポートFIFOから新しいコンテンツをフェッチする。ポートFIFOが空であるときにシリアライザが新しい文字を必要とする場合、アイドル文字、有効な光子到達文字で起こることがない1と0の固有の文字列を生成し、受信機をロックし、次の有効データに対して準備したままにする。
【0051】
図4は、シストリック処理要素の例示的部分の一実施形態のブロック図を示す。各シストリックプロセッサ要素はさらに、検出した光子到達およびその列および行アドレスを反映したデータをアレイを通してシリアルにシフトするために、i)その入力にマルチプレクサまたは等価ブール論理ゲートと、ii)ローカル列アドレス(CA
xx)の発生器と、iii)マルチプレクサ入力セレクタロジック(SEL)とを備えている。
【0052】
詳細には、2つの隣接するSPE400を示す
図4を参照のこと。シストリック処理要素は、入力に2:1マルチプレクサ(2:1MUX)を有するレジスタ(REG)、ローカル列アドレス(CA
xx)の発生器、およびマルチプレクサ入力セレクタロジック(SEL)を備えている。REGの幅は、シストリックプロセッサチェーンの長さに左右される。本構成では、各シストリックプロセッサチェーンによって処理される画素の数は16であり、それによって、REGの幅は4ビット(log
216=4)である。さらに、REGのアドレスコンテンツが検出した光子到達(光子タグ)を反映しているかどうかを示す追加のビット(
図4の上部に示す)がある。2:1MUXは、左の隣からのREGのコンテンツ、またはその独自の画素の列アドレスのいずれかを通過させる。CAxx列アドレス発生器は、配線され(VSSおよびVDDタイの組合せ)、さらに省電力化することができる。SELブロックは、その左隣および独自の画素からの光子タグを監視する。デフォルトSEL出力は、隣の光子タグに関わらず、隣のコンテンツを選択する。独自の画素が光子を検出した場合にのみ、SELは1サイクルに対してそのCAxxを投入する。明らかに、隣とその独自の画素両方が同じクロックサイクル中にREGへのアクセスを主張する場合に、相反する需要がある可能性がある。本構成では、周辺を犠牲にしてイメージャの中心からの画素を好むように、隣が優先される。
【0053】
一実施形態では、光検出器は平面ガイガーモードアバランシェフォトダイオード(APD)アレイであり、ROICは、光検出器としてAPDのアレイ、およびガイガーモード動作を制御する回路を含むように構成され、第1のセットのAPDおよび関連するレジスタはこのAPDおよび関連するレジスタをバイパスするためのバイパス回路を有し、それによって、データは、アレイの所与の行で、欠陥のあるセットのAPDおよび関連するレジスタを通してシリアルにシフトすることができる。
【0054】
応用例
同期および非同期ガイガーモードAPD平面アレイは両方とも、空中および地上ベース3D画像化、測距、マッピング、衝突回避、ターゲティングなどのためにLiDARで使用することができる。3D画像化の利点は、例えば、濃い熱帯の枝葉の下に隠された対象の検出で示されてきた。より最近では、公道を使用した自律走行車両の早期実験により、LiDARは360°レーダー、受動ビデオカメラなどの他のセンサの能力を増大させるのに必要であることが提案されている。
【0055】
熱損失および回路複雑性は、ガイガーモードで動作される既存の平面APDアレイの最大サイズおよび最小画素ピッチまで限定する可能性がある。このような限定は、全ての画素で飛行時間情報を必要とする既存のROICアーキテクチャの結果である。今日報告されている最新のアレイは、50μmの画素ピッチのサイズで256×64画素であり、飛行時間測定は1から2マイクロ秒に限定することができる。電力消費は、ミッションの持続時間を制限し、画素ピッチは、カメラの重量および費用を増加させる大きなレンズの使用を必要とする。将来における本技術のより幅広い産業展開は、小さい画素ピッチおよび大きい空間分解能(より高い画素カウント)と組み合わせられた電力消費の減少に左右される。
【0056】
略語のリスト
APD-アバランシェフォトダイオード:光電流のアバランシェ乗算を利用するように設計されたフォトダイオード。逆バイアス電圧が降伏電圧に近づくと、吸着された光子によって作り出されたホール電子対は、イオンに衝突する場合に追加のホール電子対を作り出すのに十分なエネルギーを得るために強い電界によって加速し、したがって、生成された電流を乗算する。
【0057】
ガイガーモード(Geiger mode)-APDは2つのモード、線形およびガイガーモードで動作させることができる。線形モードでは、APDバイアスはアバランシェをトリガするのに十分ではなく、APDはゲイン(普通は、1から5までの間)で動作する。ガイガーモードでは、APDバイアスは、アバランシェをトリガするのに十分なレベルとこれを急冷するレベルの間で機敏に制御される。このモードでは、APDは100から1000までの間の光電流ゲインを示す。
【0058】
ROIC(Read-Out Integrated Circuit)-読出し集積回路:画素内デジタル化およびデジタル読出を行う標準的な鋳造CMOS過程を利用した集積回路。ROICは、フォトダイオードのアレイ(フォトダイオードのタイプは変化する)にハイブリッド化することができ、APDの場合、ガイガーモード動作を制御する回路を備える。
【0059】
LiDAR(Light imaging, Detection And Ranging)-光画像化、検出および測距:レーザ光インパルスで対象を照らし、戻された(反射した)光の飛行時間を測定することによって距離を測定する。地質学、農学、考古学、気象学、物理学および天文学、軍事、さらに最近では自動車業界によって自律走行車両で、高い分解能3Dマップを作るために使用される。
【0060】
図5は、光測距システム用シストリックプロセッサシステムの一部となり得る1または複数の演算デバイス900の一実施形態を示す。演算デバイスは、指示を実行する1または複数のプロセッサまたは処理ユニット920、情報を記憶する1または複数のメモリ930-932、演算デバイス900のユーザからデータ入力を受信する1または複数のデータ入力構成部品960-963、管理モジュールを含む1または複数のモジュール、演算デバイスの外部で他の演算デバイスと通信する通信リンクを確立するネットワークインターフェイス通信回路970、センサからの出力が特定のトリガ状態を感知し、その後、これに応じて1または複数のプログラミングされた動作を生成するために使用される1または複数のセンサ、1または複数のメモリ930-932に記憶された情報の少なくとも一部を表示する表示画面991、および他の構成部品を備えてもよい。ソフトウェア944、945、946内で実施される本システムの部分は、1または複数のメモリ930-932に記憶することができ、1または複数のプロセッサ920によって実行される。
【0061】
システムメモリ930は、読取専用メモリ(ROM)931およびランダムアクセスメモリ(RAM)932などの揮発性および/または不揮発性メモリの形のコンピュータ記憶媒体を備えている。これらの演算機械読取可能媒体は、演算システム900によってアクセスすることができるあらゆる市販の媒体であってもよい。例として、これに限らないが、演算機械読取可能媒体使用は、コンピュータ読取可能指示、データ構造、他の実行可能ソフトウェア、または他のデータなどの情報の記憶を含む。コンピュータ記憶媒体としては、これに限らないが、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)または他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、または、所望の情報を記憶するために使用することができ、演算デバイス900によってアクセスすることができる他の有形媒体が挙げられる。無線チャネルなどの一時媒体は、機械読取可能媒体には含まれない。通信媒体は典型的には、コンピュータ読取可能指示、データ構造、他の実行可能ソフトウェア、または他の輸送機構を具体化し、あらゆる情報運搬媒体を備える。
【0062】
システムはさらに、開始中などに、演算システム900内の要素の間に情報を転送するのを助ける基本的ルーティンを含む基本的入出力システム933(BIOS)を備え、典型的にはROM931に記憶される。RAM932は典型的には、処理ユニット920に直ぐにアクセス可能である、および/またはそれによって現在動作されているデータおよび/またはソフトウェアを含んでいる。これに限らないが、例として、RAM932は、オペレーティングシステム934の一部、アプリケーションプログラム935、他の実行可能ソフトウェア936、およびプログラムデータ937を含むことができる。
【0063】
演算システム900はまた、他の着脱可能/着脱不可能な揮発性/不揮発性コンピュータ記憶媒体を含むことができる。単に例として、システムは固体メモリ941を有する。固体メモリ941は典型的には、インターフェイス940などの着脱不可能なメモリインターフェイスを通してシステムバス921に接続され、USBドライブ951は典型的には、インターフェイス950などの着脱可能なメモリインターフェイスによってシステムバス921に接続されている。
【0064】
ユーザは、キーボード、タッチスクリーン、またはソフトウェアまたはハードウェア入力ボタン962などの入力デバイス、マイク963、マウス、トラックボールまたはタッチパッドなどのポインティングデバイスおよび/またはスクロール入力構成部品を通して、演算システム900にコマンドおよび情報を入力することができる。これら、および他の入力デバイスはしばしば、システムバス921に結合されたユーザ入力インターフェイス960を通して処理ユニット920に接続されるが、並列ポート、ゲームポート、またはユニバーサルシリアルバス(USB)などの他のインターフェイスおよびバス構造によって接続することができる。表示モニタ991または他のタイプの表示画面デバイスはまた、表示インターフェイス990などのインターフェイスを介してシステムバス921に接続される。モニタ991に加えて、演算デバイスはまた、スピーカ997、バイブレータ999などの他の周辺出力デバイス、および出力周辺インターフェイス995を通して接続することができる他の出力デバイスを備えることができる。
【0065】
演算システム900は、遠隔演算システム980などの1または複数の遠隔コンピュータ/クライアントデバイスへの論理接続を使用してネットワーク化環境で動作することができる。遠隔演算システム980は、パーソナルコンピュータ、携帯演算デバイス、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の共通のネットワークノードであってもよく、典型的には、演算システム900に対して上に記載した要素の多くまたは全てを備えている。
図5に示した論理接続は、パーソナルエリアネットワーク(PAN)972(例えば、ブルートゥース(登録商標))、ローカルエリアネットワーク(LAN)971(例えば、Wi-Fi)、およびワイドエリアネットワーク(WAN)973(例えば、携帯ネットワーク)を含むことができるが、パーソナルエリアネットワーク(例えば、ブルートゥース(登録商標))などの他のネットワークを含むことができる。このようなネットワーク環境は、職場、会社コンピュータネットワーク、イントラネットおよびインターネットで普通である。ブラウザアプリケーションは、演算デバイスにあり、メモリ内に記憶されることがある。
【0066】
LANネットワーク環境で使用される場合、演算システム900は、例えば、ブルートゥース(登録商標)またはWi-Fiアダプタである可能性がある、ネットワークインターフェイス970を通してLAN971に接続されている。WANネットワーク環境(例えば、インターネット)で使用される場合、演算システム900は典型的には、WAN973上の通信を確立する何らかの手段を備えている。携帯遠隔通信技術に関し、例えば、内部または外部にある可能性がある無線インターフェイスは、ネットワークインターフェイス970、または他の適当な機構を介してシステムバス921に接続することができる。ネットワーク化環境では、演算システム900、またはその部分に対して示された他のソフトウェアは、遠隔メモリ記憶デバイスに記憶することができる。例として、これに限らないが、システムは、遠隔演算デバイス980上にある遠隔アプリケーションプログラム985を有する。示したネットワーク接続は、使用することができる演算デバイス間の通信リンクを確立する例および他の手段であることを理解されたい。
【0067】
論じたように、演算システム900は、処理ユニット920、メモリ(例えば、ROM931、RAM932など)、演算デバイスに電力を与える埋め込み式電池、電池に充電するためのAC電力入力、表示画面、ネットワークに接続された遠隔演算デバイスと無線通信する埋め込み式Wi-Fi回路を備えた携帯デバイスを含むことができる。
【0068】
本設計は、
図5を参照して記載したように、演算システム上で行うことができることに留意されたい。しかし、本設計は、サーバ、メッセージ処理専用の演算デバイス、または本設計の異なる部分が分散型演算システムの異なる部分で行われる分散型システムで行うことができる。
【0069】
いくつかの実施形態では、本明細書で論じられたアルゴリズムを容易にするために使用されるソフトウェアは、持続性機械読取可能媒体上で具体化することができる。機械読取可能媒体は、機械(例えば、コンピュータ)によって読取可能な形で情報を記憶するあらゆる機構を備えている。例えば、持続性機械読取可能媒体としては、読取専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、デジタル多用途ディスク(DVD)、EPROM、EEPROM、FLASHメモリ、磁気または光学カード、または電子指示を記憶するのに適切なあらゆるタイプの媒体が挙げることができる。
【0070】
本明細書に記載した応用例としては、これに限らないが、ソフトウェア応用例、携帯応用例、およびオペレーティングシステム応用例の一部であるプログラムが挙げられることに留意されたい。この説明のいくつかの部分は、コンピュータメモリ内のデータビット上の動作のアルゴリズムおよび記号表示で示されている。これらのアルゴリズム記述および表示は、その他の当業者に作業の内容を最も効果的に伝えるために、データ処理業界の当業者によって使用される手段である。アルゴリズムはここでは、また、普通、所望の結果につながる一貫した一連のステップであると考えられる。ステップは、物理量の物理的操作を必要とするものである。必ずではないが、普通、これらの量は、記憶する、伝達する、組み合わせる、比較する、あるいは操作することが可能な電気または磁気信号の形をとる。時々、基本的に共通使用の理由で、これらの信号をビット、値、要素、記号、文字、用語、数などと呼ぶことが便利であることが証明された。これらのアルゴリズムは、C、C+、HTTP、Java、または他の同様の言語などの多くの異なるソフトウェアプログラミング言語で書くことができる。また、アルゴリズムは、ソフトウェア内のコードのライン、ソフトウェア内の構成論理ゲート、または両方の組合せで実施することができる。一実施形態では、ロジックは、ブール論理の法則にしたがう電子回路、指示のパターンを含むソフトウェア、または両方のあらゆる組合せからなる。ソフトウェア内で実施されるアルゴリズムのあらゆる部分を、メモリの一部で実行可能なフォーマットに記憶することができ、1または複数のプロセッサによって実行される。
【0071】
しかし、これらおよび同様の用語の全ては、適当な物理量に関連するものであり、単に、これらの量に適用された便利なラベルであることに留意すべきである。上記記載から明らかにそうでないと特に示していない限り、明細書全体を通して、「処理する」または「演算する」または「算出する」または「判断する」または「表示する」などの用語を使用した記載は、コンピュータシステム、またはコンピュータシステムのレジスタおよびメモリ内の物理的(電子的)量として代表されるデータを、コンピュータシステムメモリまたはレジスタ、またはこのような情報記憶、伝達または表示デバイス内の物理的量として同様に代表される他のデータに操作および変換する同様の電子演算デバイスの動作および過程のことを言うことが分かる。
【0072】
電子ハードウェア構成部品によって行われる多くの機能は、ソフトウェアエミュレーションによって複製することができる。したがって、これらの同じ機能を達成するために書き込まれたソフトウェアプログラムは、入出力回路内のハードウェア構成部品の機能をエミュレーションすることができる。したがって、前述のシステムの演算デバイス上で1または複数のプロセッサによって実行される場合、演算デバイスに本明細書に記載するように概説される動作を行うようにさせる、指示およびデータを記憶するように構成された1または複数の持続性機械読取可能媒体が本明細書で提供される。
【0073】
「一実施形態」、「一実施例」などへの明細書での言及は、記載した実施形態または実施例は、特定の機構、構造、または特徴を含むことがあるが、全ての実施形態は、特定の機構、構造または特徴を含むものではないことを示す。このような表現は必ずしも、同じ実施形態のことを言うものではない。さらに、特定の機構、構造、または特徴が実施形態に関連して説明されている場合、明示的に示されているかどうかに関わらず、他の実施形態に関連してこのような機構、構造、または特徴に影響を与えることは、当業者の知識の範囲内であると考えられる。
【0074】
その前述の設計および実施形態をかなり詳細に提供したが、本明細書に記載した設計および実施形態を限定することは出願人の意図するものではない。追加の適応および/または変更が可能であり、より幅広い態様では、これらの適応および/または変更も包含される。したがって、適当に解釈された場合に、特許請求の範囲によってのみ限定される、以下の特許請求の範囲で提供される範囲から逸脱することなく、前述の設計および実施形態に変更を行うことができる。