(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023184501
(43)【公開日】2023-12-28
(54)【発明の名称】イベントベースセンサのためのアンチフリッカーフィルタ軽減
(51)【国際特許分類】
H04N 23/745 20230101AFI20231221BHJP
H04N 25/707 20230101ALI20231221BHJP
H04N 25/60 20230101ALI20231221BHJP
H04N 25/47 20230101ALI20231221BHJP
【FI】
H04N23/745
H04N25/707
H04N25/60
H04N25/47
【審査請求】未請求
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023099184
(22)【出願日】2023-06-16
(31)【優先権主張番号】22305887
(32)【優先日】2022-06-17
(33)【優先権主張国・地域又は機関】EP
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.HDMI
(71)【出願人】
【識別番号】520207608
【氏名又は名称】プロフェシー
【氏名又は名称原語表記】PROPHESEE
【住所又は居所原語表記】74 rue du Faubourg Saint Antoine, 75012 PARIS, FRANCE
(74)【代理人】
【識別番号】110002723
【氏名又は名称】高法弁理士法人
(74)【代理人】
【識別番号】100114775
【弁理士】
【氏名又は名称】高岡 亮一
(74)【代理人】
【識別番号】100121511
【弁理士】
【氏名又は名称】小田 直
(74)【代理人】
【識別番号】100202751
【弁理士】
【氏名又は名称】岩堀 明代
(74)【代理人】
【識別番号】100208580
【弁理士】
【氏名又は名称】三好 玲奈
(74)【代理人】
【識別番号】100191086
【弁理士】
【氏名又は名称】高橋 香元
(72)【発明者】
【氏名】ビュリー,サージ
(72)【発明者】
【氏名】ラゴルス,シャビエル
【テーマコード(参考)】
5C024
5C122
【Fターム(参考)】
5C024CX15
5C024GX03
5C024HX51
5C024JX09
5C024JX46
5C122EA13
5C122FC07
5C122FH10
5C122FH11
5C122FH16
5C122FH23
5C122HA01
5C122HA88
5C122HB01
5C122HB02
5C122HB05
5C122HB10
(57)【要約】 (修正有)
【課題】イベントベースセンサのためにアンチフリッカーフィルタ軽減を実装する装置及び方法を提供する。
【解決手段】インタフェース及びプロセッサを備える装置100において、プロセッサ104は、イベントベースセンサ102から非同期イベントストリームEVSTMを受信する。イベントストリームは、夫々が閾値を超えるイベントベースセンサの複数の画素の何れかによる自立検出に応答して生成されるタイムスタンプと一連の画素位置とを含む。プロセッサは、イベントストリーム中のフリッカーイベントの特徴的パターンを検出し、該パターンに応答して、ティック結果を含む信号TICKを生成する。フリッカーイベントの予測される繰り返し間隔は、特徴的パターンに基づいて決定され、ティック結果は、画素位置の特定の1つの自立検出のタイムスタンプの、予測される繰り返し間隔に基づいて決定されるフリッカーイベントの、将来のタイムスタンプを含む。
【選択図】
図3
【特許請求の範囲】
【請求項1】
装置であって、
イベントベースセンサから非同期イベントストリームを受信するように構成されたインタフェースであって、前記非同期イベントストリームは、それぞれが閾値を超える前記イベントベースセンサの複数の画素回路のいずれか1つによる自立検出に応答して生成されるタイムスタンプと共に一連の画素位置を含む、インタフェースと、
(i)前記非同期イベントストリーム中のフリッカーイベントの特徴的パターンを検出し、かつ(ii)前記フリッカーイベントの前記特徴的パターンに応答してティック結果を含む出力信号を生成するように構成されたプロセッサであって、
(a)前記フリッカーイベントの予測される繰り返し間隔は前記特徴的パターンの分析に基づいて決定され、かつ
(b)前記ティック結果は、前記画素位置の特定の1つの前記自立検出の前記タイムスタンプの前記予測される繰り返し間隔に基づいて決定される前記フリッカーイベントの1つ以上の将来のタイムスタンプを含む
プロセッサと、
を備える、装置。
【請求項2】
(i)前記予測される繰り返し間隔は前記フリッカーイベントへのロック中に決定され、(ii)前記ロックは前記フリッカーイベントの前記タイムスタンプが所定の期間中に繰り返し検出された場合に決定され、かつ(iii)前記所定の期間中の前記フリッカーイベントの前記ロックは前記フリッカーイベントが周期的パターンを含むことを保証するための前記特徴的パターンの分析に基づいて検証される、請求項1に記載の装置。
【請求項3】
(i)前記フリッカーイベントへの前記ロック前に、前記プロセッサは、前記フリッカーイベントの少なくとも1つのインスタンスをキャプチャするのに十分に長く、かつ前記フリッカーイベントの1つのみのインスタンスを選択するのに十分に短い同期期間を選択するように構成されており、かつ(ii)前記プロセッサは、前記特徴的パターンが安定であるという検出に応答して前記同期期間から前記フリッカーイベントの前記ロックに切り換える、請求項2に記載の装置。
【請求項4】
前記プロセッサは、(a)(i)前記予測される繰り返し間隔の期間が検証された場合に増分され、かつ(ii)前記予測される繰り返し間隔のための前記期間が検証されない場合に減分されるカウンタの実装、および(b)前記カウンタと調節可能な閾値との比較に応答して前記特徴的パターンが安定であることを検出するように構成されている、請求項3に記載の装置。
【請求項5】
前記予測される繰り返し間隔のための前記期間は、前記期間と可能なフリッカー源期間の期待される範囲との比較を行うことにより検証される、請求項4に記載の装置。
【請求項6】
前記フリッカーイベントの後処理は前記ロックが確認される間にのみ前記ティック結果に基づいて行われる、請求項2に記載の装置。
【請求項7】
(i)前記出力信号は回路に提供され、(ii)前記回路は前記ティック結果に応答して処理動作を行うように構成されている、請求項1に記載の装置。
【請求項8】
前記出力信号は、完全なビデオフレームが生成されるのを待つ代わりに前記予測される繰り返し間隔が生じる際に前記ティック結果を前記画素回路のそれぞれのために予測するのを可能にするように構成されている、請求項1に記載の装置。
【請求項9】
(i)前記フリッカーイベントは、パルシング効果を作り出す周波数で前記画素位置の1つ以上で生じる前記イベントベースセンサによって検出される光入力の輝度の変化を含み、(ii)前記プロセッサは、前記ティック結果の前記予測される繰り返し間隔中に前記輝度の変化を抑制するようにさらに構成されており、かつ(iii)前記ティック結果は、前記非同期イベントストリームから前記ティック結果の周囲の時間範囲内に生じる全ての入力を脱落させることにより抑制される、請求項1に記載の装置。
【請求項10】
前記フリッカーイベントの前記特徴的パターンは、10Hz~1000Hzの範囲の周期的パターンに従う輝度の変動を含む、請求項1に記載の装置。
【請求項11】
前記フリッカーイベントの前記特徴的パターンは、(i)前記画素位置の1つにおける前記自立検出のコントラスト変化のクラスタを含む時間の検出部分、(ii)前記画素位置の前記1つにおける前記自立検出の前記コントラスト変化を含んでいない時間の沈黙部分、(iii)前記時間の検出部分および前記時間の沈黙部分の繰り返し、および(iv)前記時間の検出部分の中間時間である前記自立検出の前記タイムスタンプに基づいて選択される前記ティック結果のために前記予測される繰り返し間隔に応答して検出される、請求項1に記載の装置。
【請求項12】
前記ティック結果は、(i)前記時間の検出部分内の前記画素位置の前記1つにおける前記自立検出の第1の発生数と第1の所定の閾値との比較、(ii)偏差時間内のコントラスト変化の前記クラスタにおける前記自立検出の第2の発生数と第2の所定の閾値との比較、および(iii)前記時間の検出部分と前記時間の沈黙部分との間の前記画素位置の前記1つにおける前記自立検出の発生の比と第3の所定の閾値との比較に応答して検証される、請求項11に記載の装置。
【請求項13】
前記プロセッサは、(i)前記ティック結果に近い前記非同期イベントストリーム中のイベントの近傍の決定、(ii)前記ティック結果からのイベントの前記近傍における前記自立検出の各発生の前記タイムスタンプの平均タイムスタンプオフセットの計算、(iii)前記ティック結果のための前記予測される繰り返し間隔への前記平均タイムスタンプオフセットの追加に応答して前記ティック結果を補正するようにさらに構成されている、請求項1に記載の装置。
【請求項14】
(i)前記ティック結果は前記イベントベースセンサの関心領域のために生成され、かつ(ii)前記関心領域は複数の前記画素位置を含む、請求項1に記載の装置。
【請求項15】
前記複数の前記画素位置は前記イベントベースセンサの前記画素回路の全てに対応している、請求項18に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般にイベントベースセンサに関し、より詳細にはイベントベースセンサのためにアンチフリッカーフィルタ軽減を実装するための方法および/または装置に関する。
【背景技術】
【0002】
イベントベースセンサを実装しているカメラは、リアルタイムで光の変化を検出するイベントストリームを提供する。イベントベースセンサを使用する場合、フリッカーが、カメラから出力される高いイベントレートをもたらす強力かつ周期的なコントラスト変化を生じさせる。カメラによってキャプチャされる多くのシーンは明滅光源を有する。明滅光源の例としては、公共の光(すなわち、100/120Hzのフリッカー)、ハロゲン光源、LEDもしくはLCDライト、車両灯、信号機、看板、広告(製造業者によって決まる頻度を有する)などが挙げられる。夜間または屋内環境などの微光環境では、明滅光源が主たるものであるか唯一の利用可能な光源であるかもしれない。キャプチャされたシーンでは反射面が明滅をさらに増幅させる。
【0003】
一般にフリッカーイベントは有用な情報を伝えない。特にキャプチャされたシーンに対してデジタル処理が行われる場合。一例では明滅光源は、コンピュータビジョン技術および他の後処理技術(すなわちシーンブレ除去、特徴および物体検出、物体追跡など)の性能をひどく妨害する可能性がある。明滅光源は多くのイベントを急速に生成することができ、これはイベントベースセンサの帯域幅を過負荷する恐れがある。帯域幅を過負荷する急速入力は、イベントストリームの処理パイプラインに対して高い処理要求を求める結果となり得る。
【0004】
問題は、フリッカーの検出および軽減は当該分野であまり探求されてきていないことである。いくつかの従来のフリッカー軽減は、イベントの極性変化によりフリッカー信号の周期性を検出し、かつ全ての入力を脱落させる。重要な欠点は、所与の画素ブロックが明滅しているものとして検出されると、その画素ブロックから来る全てのイベントが脱落される。明滅画素ブロックから全ての入力を脱落させると、目で見えるアーティファクト画像において明滅領域と非明滅領域との間で急激な分割が生じる(すなわち、アーティファクトのサイズは画素ブロックのサイズによって決まる)。フリッカーフィルタリング(または出力イベントレート)の程度を制御することは難しい。提案されているフリッカー検出および軽減は明滅クラスタのみのフィルタリングに基づいており、穏やかであって容易に調節可能な程度および/またはタイムスパンのフィルタリングを提供する。出力イベントレートを滑らかに調整することができる。
【0005】
欧州特許出願第3518529A1号は、イベントベースセンサ出力からフリッカー統計値を収集することについて記載しており、明滅バーストの抽出に焦点を当てている。フリッカーバーストのフィルタリングは、画像の明滅領域から全てのイベントを除去する。さらに、フリッカー統計値の収集およびバーストのフィルタリングは、画像全体からの(すなわち、画素ごとまたは空間ブロックストレージごとではない)フリッカー効果の抽出およびフィルタリングに適合させるのは容易ではない。フリッカーバーストのフィルタリングおよび画像の明滅領域からの全てのイベントの除去の代わりに、本発明の提案されている解決法は、RAMなしで実装することができる低複雑性ハードウェア実装を用いて行うことができるクラスタ中心の周りでの「滑らかな」フィルタリングを提供する。
【0006】
フリッカー除去は、画像フレームベースセンサの分野、特に高速ビデオ取得および古いフィルムの復旧(Ali Kanjによる「高速ビデオのためのフリッカー除去および色補正(Flicker Removal and Color Correction for High Speed Videos)」に記載されている、https://pastel.archives-ouvertes.fr/において入手可能)では公知の問題である。従来の画像ベースセンサにおけるフリッカー除去は、モーションエスティメーション、画像レジストレーション、ブロックマッチング、空間補間などの様々な技術に依存している。全ての方法が画像フレームベースセンサ取得に固有の技術に依存している(すなわち、同期的読み出し結果のみが画像センサの画素アレイから入手可能である)。画像フレームベースセンサにおけるフリッカー軽減の解決法は、輝度(すなわち強度)がフレームごとのベースおよび各画素のための固定フレームレートで入手可能であるものと仮定している。固定フレームレートでのフレームごとの輝度は、局所コントラスト変化によりトリガーされる非同期イベントを提供するイベントベースセンサにとっては有効な仮定ではない。高いレートでサンプリングされたフレーム全体を処理することが必要であることにより、画像フレームベースセンサのために得られるフリッカー軽減方法は、あらゆる冗長な一時的もしくは空間的サンプリングを回避する提案されている解決法と比較して、さらにもっと計算集約的になる傾向がある。
【0007】
画像フレームベースセンサにおけるフリッカーアーティファクトの軽減は、乗り物の視覚システムの関連で対処されてきた。米国特許第7,218,777号では、フレームごとの光強度ヒストグラムの累積に基づく(移動平均ヒストグラムを用いる)、フレームベースセンサのためのフリッカー補正方法が提案されている。次いで、入ってくる画像フレームのそれぞれをガンマ補正して、予め計算および記憶されていた移動平均と一致させる。ヒストグラムの累積およびガンマ補正はフレームレートで同期的に行われ、強度の仮定はフレームの各画素のために利用可能である。両方の仮定は本発明のイベントベースセンサには当てはまらない。
【0008】
米国特許第9473706B2号は、画像フレームベースセンサの「フリッカー検出領域」で使用される非常に高い読み出しレートでサンプリングされる専用画素回路を提案している。本発明の提案されている解決法はイベントベースセンサに適用され、フリッカーによって生成された非同期イベントの自然に圧縮されたストリームを用いて画素設計へのあらゆる修正を回避する。非常に高いレートでデータをサンプリングすること(これはフリッカー検出回路に圧力を発生する可能性が高い)が回避される。
【0009】
欧州特許第3151546B1号は、フレームベース画像センサのための動的シャッタを実装している。動的シャッタは、規則的なフレームレートよりも高い周波数でフリッカーをキャプチャするために、より複雑な画素設計を必要とする。また米国特許第10110839B2号、米国特許第10154200B2号および米国特許第10110840B2号における手法は、動的シャッタ制御または区分的間隔ベースの曝露時間のいずれかを提案している。それぞれがフリッカー軽減のためにフレームベース画素設計のかなりの修正を使用する。本発明の提案されている解決法は画像フレームベースセンサを実装していない。
【0010】
「ビデオのための人工ニューラルネットワークを用いる有効なフリッカー検出技術(Effective Flicker Detection Technique Using Artificial Neural Network For Video)」(2017),Patel,Ripal&Pandey,Shubha&Patel,Chirag&Paul,Robinson著(https://www.researchgate.net/publication/318561706_Effective_Flicker_Detection_Technique_Using_Artificial_Neural_Network_For_Video)では、画像フレームベースセンサのためのニューラルネットワーク手法を用いてフリッカーを検出する。本発明は、ニューラルネットワーク学習または監視を必要としない非常に限られた複雑性を有する位相同期回路(PLL)原理から導出される。
【0011】
米国特許第9432590B2号では、画像フレームベースセンサのために、フリッカー周波数を画像フレーム間差分のAC成分として検出する。フリッカー周波数の抽出はDCT変換に依存している。この手法は画素回路設計の修正を必要としないが、この設計は画像視野全体に適用される離散変換を必要とする。本発明の提案されている解決法は、イベントストリームから直接決定される二次統計値の累積に基づいており、どんな離散変換も必要とせず、それにより複雑性がかなり減少する。
【0012】
米国特許第7538799B2号は、フリッカー検出のために画像フレームベースセンサのビデオフレームの視野全体に特定の加重平均を提供する。本発明の提案されている解決法は視野全体を分析する必要はない。
【0013】
イベントベースセンサのためにアンチフリッカーフィルタ軽減を実装することが望ましい。
【発明の概要】
【0014】
本発明は、インタフェースおよびプロセッサを備える装置に関する。インタフェースはイベントベースセンサから非同期イベントストリームを受信するように構成されていてもよい。非同期イベントストリームは、それぞれが閾値を超えるイベントベースセンサの複数の画素回路のいずれか1つによる自立検出に応答して生成されるタイムスタンプと共に一連の画素位置を含んでいてもよい。プロセッサは、非同期イベントストリーム中のフリッカーイベントの特徴的パターンを検出し、かつフリッカーイベントの特徴的パターンに応答してティック結果を含む出力信号を生成するように構成されていてもよい。フリッカーイベントの予測される繰り返し間隔は特徴的パターンの分析に基づいて決定してもよい。ティック結果は、画素位置の特定の1つの自立検出のタイムスタンプの予測される繰り返し間隔に基づいて決定されるフリッカーイベントの1つ以上の将来のタイムスタンプを含んでいてもよい。
【0015】
上に記載されている装置態様のいくつかの実施形態では、予測される繰り返し間隔はフリッカーイベントへのロック中に決定される。そのロックは、所定の期間中にフリッカーイベントのタイムスタンプが繰り返し検出された場合に決定される。所定の期間中にフリッカーイベントへのロックを特徴的パターンの分析に基づいて検証して、フリッカーイベントが周期的パターンを含むことを保証する。
【0016】
上に記載されている装置態様のいくつかの実施形態では、フリッカーイベントへのロックの前に、プロセッサは、フリッカーイベントの少なくとも1つのインスタンスをキャプチャするのに十分に長く、かつフリッカーイベントの1つのみのインスタンスを選択するのに十分に短い同期期間を選択するように構成されている。プロセッサは特徴的パターンが安定であるという検出に応答して、同期期間からフリッカーイベントへのロックに切り換える。
【0017】
上に記載されている装置態様のいくつかの実施形態では、プロセッサは、予測される繰り返し間隔の期間が検証された場合に増分され、かつ予測される繰り返し間隔の期間が検証されない場合に減分されるカウンタの実装およびカウンタと調節可能な閾値との比較に応答して、特徴的パターンが安定であることを検出するように構成されている。
【0018】
上に記載されている装置態様のいくつかの実施形態では、予測される繰り返し間隔の期間は、その期間と可能なフリッカー源期間の期待される範囲との比較を行うことにより検証される。
【0019】
上に記載されている装置態様のいくつかの実施形態では、フリッカーイベントの後処理はそのロックが検証される間のティック結果のみに基づいて行われる。
【0020】
上に記載されている装置態様のいくつかの実施形態では、出力信号が回路に提供される。この回路はティック結果に応答して処理動作を行うように構成されている。
【0021】
上に記載されている装置態様のいくつかの実施形態では、出力信号は、完全なビデオフレームが生成されるのを待つ代わりに、予測される繰り返し間隔が生じる際に画素回路のそれぞれのためにティック結果を予測するのを可能にするように構成されている。
【0022】
上に記載されている装置態様のいくつかの実施形態では、フリッカーイベントは、パルシング効果を作り出す周波数で画素位置の1つ以上において生じるイベントベースセンサによって検出される光入力の輝度の変化を含む。プロセッサはさらに、ティック結果の予測される繰り返し間隔中に輝度の変化を抑制するように構成されている。ティック結果は、非同期イベントストリームからティック結果の周囲の時間範囲内に生じる全ての入力を脱落させることにより抑制される。
【0023】
上に記載されている装置態様のいくつかの実施形態では、フリッカーイベントの特徴的パターンは、10Hz~1000Hzの範囲の周期的パターンに従う輝度の変動を含む。
【0024】
上に記載されている装置態様のいくつかの実施形態では、フリッカーイベントの特徴的パターンは、画素位置の1つにおける自立検出のコントラスト変化のクラスタを含む時間の検出部分、画素位置の1つにおける自立検出のコントラスト変化を含んでいない時間の沈黙部分、時間の検出部分および時間の沈黙部分の繰り返し、および時間の検出部分の中間時間である自立検出のタイムスタンプに基づいて選択されるティック結果の予測される繰り返し間隔に応答して検出される。
【0025】
上に記載されている装置態様のいくつかの実施形態では、ティック結果は、時間の検出部分内での画素位置の1つにおける自立検出の第1の発生数と第1の所定の閾値との比較、偏差時間内でのコントラスト変化のクラスタにおける自立検出の第2の発生数と第2の所定の閾値との比較、および時間の検出部分と時間の沈黙部分との画素位置の1つにおける自立検出の発生比と第3の所定の閾値との比較に応答して検証される。
【0026】
上に記載されている装置態様のいくつかの実施形態では、プロセッサは、ティック結果に近い非同期イベントストリーム中のイベントの近傍の決定、ティック結果からのイベントの近傍での自立検出の各発生のタイムスタンプの平均タイムスタンプオフセットの計算、およびティック結果の予測される繰り返し間隔への平均タイムスタンプオフセットの追加に応答して、ティック結果を補正するようにさらに構成されている。
【0027】
上に記載されている装置態様のいくつかの実施形態では、ティック結果はイベントベースセンサの関心領域のために生成され、関心領域は複数の画素位置を含む。
【0028】
上に記載されている装置態様のいくつかの実施形態では、複数の画素位置はイベントベースセンサの画素回路の全てに対応している。
【0029】
本発明の実施形態は、以下の詳細な説明および添付の特許請求の範囲ならびに図面から明らかになるであろう。
【図面の簡単な説明】
【0030】
【
図2】イベントベースセンサによって生成されるイベントストリームを示す図である。
【
図3】イベントストリームに応答して生成されるティック結果を示すブロック図である。
【
図4】イベントストリームに応答してイベントベースセンサに実装されているデジタルプロセッサによって生成されるティック結果を示すブロック図である。
【
図5】イベントストリームおよびティック結果に応答したフリッカー軽減を示すブロック図である。
【
図6】フリッカーイベントにおけるイベントのクラスタのタイミングデータを示す図である。
【
図7】ティックイベントの近傍内で生じるイベントのクラスタのフリッカー軽減を示す図である。
【
図8】フリッカー軽減を用いない場合のイベントストリームの視覚表現を示す図である。
【
図9】フリッカー軽減を用いた場合のイベントストリームの視覚表現を示す図である。
【
図10】イベントベースセンサのためのアンチフリッカーフィルタ軽減のための方法を示すフローチャートである。
【
図11】イベントストリームを分析してティック結果を決定し、かつフリッカーイベントをフィルタリングするための方法を示すフローチャートである。
【
図12】イベントストリームを分析してティック結果を決定し、かつフリッカーイベントをフィルタリングするための方法を示すフローチャートである。
【
図13】フィルタリングを完全なシーンに適用するか、フィルタリングをイベントベースセンサによってキャプチャされたシーンの個々のブロック/画素に適用するための方法を示すフローチャートである。
【
図14】ティック結果を検証するための方法を示すフローチャートである。
【発明を実施するための形態】
【0031】
本発明の実施形態は、(i)イベントストリームにおいて受信された二次統計値から決定し、(ii)イベントベースセンサの画素回路を修正しない低複雑性ハードウェアと共に実装し、(iii)イベントのクラスタをフィルタリングし、(iv)イベントベースセンサの過負荷を防止し、(v)予測されるフリッカーイベントを含むティック結果を提供し、(vi)フリッカーイベントの期間へのロックを保証し、(vii)フリッカーイベントの時間ドリフトを補償し、(viii)単一の画素、画素の群またはイベントストリームの視野全体に適用し、(ix)統計的基準を用いてフリッカーイベントの周囲のイベントのクラスタを検証し、(x)フリッカーイベント間で生じるイベントをキャプチャするのを可能にし、かつ/または(xi)1つ以上の集積回路として実装することができる、イベントベースセンサのためのアンチフリッカーフィルタ軽減を提供することを含む。
【0032】
本発明の実施形態は、イベントベース(EB)センサによって生成されるイベントストリームのフリッカー検出および/またはフリッカー軽減を可能にするように構成されていてもよい。明滅をフリッカーイベントとして検出してもよい。フリッカーイベントをイベントストリーム中で検出してもよく、やがて起こるフリッカーイベントを予測してフィルタリングしてもよい。
【0033】
明滅は周期的パターンに従うあらゆる輝度の変動を含んでもよい。画素、画素の群および/または視野全体の特徴的パターンをイベントストリーム中で検出してもよい。特徴的パターンを分析して、明滅を表し得る周期的パターンにロックしてもよい。EBセンサによって数十もしくは数百ヘルツのオーダーの明滅をイベントストリーム中でキャプチャしてもよい。例えば明滅は、人工の光源(例えば、公共および屋内照明、車両ヘッドライト、LED、LCD画面など)によって引き起こされる場合がある。一般に明滅光源はオン/オフの(または高い/低い)周期的な輝度パターンに従う。一例では、オンおよびオフイベントの周期的パターンを、強力な100Hzの明滅光の中で回転ファンを有するシーンの中のEBセンサの関心領域において経時的にキャプチャしてもよい。ファンから反射されたフリッカーによって誘発される周期的パターンは、ファンの回転により期待されるイベントの上でキャプチャしてもよい。
【0034】
本発明の実施形態は、フリッカーイベントに対応し得るイベントのクラスタを検出し、かつフリッカーイベントの将来の発生を予測するためにフリッカーイベントの繰り返し間隔を予測するように構成されていてもよい。明滅光源によって引き起こされる問題を予防するために、フリッカー軽減はEBセンサのために実装されてもよい。実装されるフリッカー軽減は、フリッカー信号によって生成されるイベントクラスタの周期性を利用するように構成されていてもよい。フリッカー信号のためにイベントクラスタの周期性を決定することにより、実装されるフリッカー軽減は、全てのイベントの代わりに明滅クラスタのみのフィルタリングを可能にしてもよい。フィルタリングのタイムスパン(または程度)は、出力されるイベントレートに対する滑らかな調整を可能にするように調節可能であってもよい。行われる滑らかなフィルタリングは、明滅画素(または領域)から全てのイベントを除去する代わりに、フリッカーイベントの中心の周囲のイベントのクラスタを除去するのを可能にしてもよい。
【0035】
フリッカー検出および/または軽減は、EBセンサの中に低複雑性ハードウェアを用いて実装されてもよい。一例では、フリッカー検出はランダムアクセスメモリ(例えばSRAM)を利用することなく実装されてもよい。フリッカー検出および/または軽減は、EBセンサの画素回路の設計を修正することなく実装されてもよい。フリッカー検出および/または軽減の限られた複雑性により、多数のフリッカー源および/または記憶されるコンテキストに適合させることができるスケーラブルな実装を可能にしてもよい。
【0036】
画素回路の設計の修正を伴わないフリッカー検出および/または軽減は、明滅光源を含み得るEBセンサによって生成された非同期イベントの自然に圧縮されたストリームを分析することにより実装されてもよい。フリッカーイベントをフィルタリングすることにより、プロセッサがデータを高いレートでサンプリングするのを防止してもよい(例えば、高いレートでデータをサンプリングすることによりフリッカー検出回路に対して圧力が生じる場合があり、これにより帯域幅を過負荷する場合がある)。フリッカー検出および/または軽減は、複雑性を制限するために位相同期回路の原理に基づいて行ってもよい。例えばフリッカー検出は、ニューラルネットワーク学習または監視を伴わずに行ってもよい。一例ではフリッカー検出により、離散変換を行うことなくイベントストリームから直接決定される二次統計値を累積してもよい。
【0037】
EBセンサは、高い毎秒フレーム数でのサンプリングなしに実装されてもよい。EBセンサはイベントの非同期ストリームを生成してもよい。イベントの非同期ストリームを分析することにより、フリッカー軽減は完全な画像フレームを処理する代わりに画素ごとのベースで行ってもよい。潜在的なフリッカーイベントの特徴的パターンを分析することにより、イベントクラスタ幅の動的推定を可能にしてもよい。最小のアーティファクトによる滑らかなフィルタリングは、予測されるイベントクラスタ幅内のイベントのみをフィルタリングすることにより実装されてもよい。予測されるイベントクラスタ幅の外側で生じるイベントは保存されてもよい。ティック結果はイベントクラスタの予測を提供してもよい。ティック結果は容易に調節可能であってもよい。ティック結果の周囲で生じるイベントの一部をフィルタリング除去してもよい。出力イベントレートを広範囲で制御してもよい。
【0038】
フリッカーパターンの特性は、EBセンサによって生成されるイベントストリームから直接導出された統計値に基づいて検出してもよい。フリッカー検出は、画素、画素のブロックまたは画像全体の基本周波数を抽出するように構成されていてもよい。基本周波数へのロックは位相同期回路の原理に基づいて達成してもよい。フリッカーイベントの基本周波数へのロックにより、フリッカー検出および/または軽減は、明滅パターンを効果的に分けることができる最終的なシーンイベントに対してロバストであってもよい。例えば、当該ロックを維持するために十分なイベントクラスタが存在することを条件として、キャプチャされたシーンにおいて他のイベントが存在する場合であっても、基本周波数へのロックが維持されてもよい。予め選択された周波数が存在するか否かのみを検出するのではなく、イベントストリーム中に存在する任意の周波数を検出してもよい。
【0039】
本発明の実施形態はフリッカーイベントを検出するように構成されていてもよい。特定の画素において生じる特定のイベント極性のために、フリッカーイベントから生じるコントラスト変化がイベントクラスタを作り出してもよい。イベントクラスタは、時間において隙間なく詰まった同じ極性のイベントストリーム中に連続したイベントを含んでいてもよい。イベントクラスタの後にフリッカーイベントに関するイベントを含んでいない時間(例えば沈黙期間)が続いてもよい。例えば沈黙期間の後に別のイベントのクラスタ、次いで沈黙期間、次いで別のイベントのクラスタが生じてもよい(例えば、イベントのクラスタおよび沈黙期間/部分を含む検出部分の繰り返し)。フリッカー検出はフリッカーイベントの特徴的パターンを検出し、かつそれにロックするように構成されていてもよい。個々の画素、画素の群および/またはEBセンサの視野全体のためにフリッカーイベントを検出してもよい。
【0040】
フリッカーイベントの特徴的パターンの検出に応答して、所定の基準に従って特徴的パターンの安定性を確認してもよい。一例では、特徴的パターンが十分に長い期間にわたって安定であるか否か、フリッカー期間は所望の範囲内であるか否か、イベントのクラスタは互いに十分にグループ化されているか否かなどの分析に基づいて、特徴的パターンを確認してもよい。ロック状態は特徴的パターンが確認された場合に決定してもよい。ロック状態では、検出されたフリッカーイベントに対応するイベントクラスタ(またはバースト)の将来の発生(例えばタイムスタンプ)を予測してもよい。その周囲のフリッカーイベントがクラスタ化され得る予測されるタイムスタンプはティック結果であってよい。
【0041】
ティック結果は、分析(例えば後処理)のために生成してもよい。一例では、ティック結果を使用してフリッカーイベントをフィルタリング除去してもよい。例えば、ティック結果の周囲のイベントの固定された時間間隔内で起こる全てのイベントをフィルタリング除去してもよい。別の例では、ティック結果の周囲のイベントクラスタの平均的な時間の広がりを推定してもよい。例えば平均的な時間の広がりを使用して、フィルタリングされる間隔を動的に調整してもよい。フィルタリングされる間隔を動的に調整することにより、フリッカー軽減を、多くの因子(例えば、フリッカー強度、周囲の(静的)光レベル、画素応答など)によって決まり得るクラスタ幅に適合させるのを可能にしてもよい。ティック結果を使用して推定されるフリッカー期間の漸進的変化を追跡してもよい。例えば将来のティックのタイムスタンプは、推定されるフリッカー期間の漸進的変化に従って調整されてもよい。
【0042】
いくつかの実施形態では、視野全体の基本的な明滅頻度を検出し、かつそれにロックしてもよい。例えば1つのフリッカー源は、EBセンサの視野全体のための1つのコンテキストのみの記憶に基づいて検出、追跡およびフィルタリングしてもよい。ハードウェアおよび/または計算の複雑性の点で、EBセンサの視野全体の基本周波数を検出することが最も経済的であり得る。
【0043】
いくつかの実施形態では、EBセンサの視野をブロック(またはパッチもしくは部分領域)に分割してもよい。各ブロックの異なるインスタンスのフリッカー軽減を行ってもよい。例えばブロックごとのベースでフリッカー軽減を行うことにより複数のフリッカー源を検出し、それにロックし、かつそれを追跡するのを可能にしてもよい。ブロックごとの別個のコンテキストの記憶を実装して、ブロックごとのベースでのフリッカー軽減を可能にしてもよい。同様に中間構成を実装してもよい(例えば、1つのフリッカー源のみを仮定するが、ブロックごとに限られたコンテキスト(例えば推定されるクラスタサイズ)を記憶する)。
【0044】
ティック結果は、シーンのフリッカー統計値の生成を可能にするように構成されていてもよい。例えばフリッカー統計値はシーンを監視するために使用してもよい。イベントクラスタのフリッカー周波数および/または推定されるサイズが生成されてもよい(例えば、必ずしもフィルタリングを行うわけではない)。一例では、生成された統計値はイベント(オンまたはオフ)極性ごとに別々に入手可能であってもよい。ティック結果に応答して行われる後処理は特定の実装の設計基準に従って変えてもよい。
【0045】
図1を参照すると、本発明の例示的な実施形態を示す図が示されている。カメラ50が示されている。カメラ50はレンズ52と、ブロック(または回路または装置)100とを備えていてもよい。装置100はカメラ50のハードウェアを含んでもよい。装置100は、イベントベースセンサのためのアンチフリッカーフィルタ軽減を実装するように構成されていてもよい。装置100は、カメラ50のための他の機能を行う(例えば、出力を生成する、デジタルインタフェースを提供する、ユーザインタフェースを提供するなど)ように構成されていてもよい。
【0046】
装置100はブロック(または回路)102および/またはブロック(または回路)104を備えていてもよい。回路102はイベントベース(EB)センサを実装していてもよい。回路104はデジタルプロセッサを実装していてもよい。装置100は他のコンポーネント(図示せず)を備えていてもよい。装置100のコンポーネントの数、種類および/または配置は特定の実装の設計基準に従って変えてもよい。
【0047】
カメラ50は環境からの光入力をキャプチャするように構成されたキャプチャ装置として構成されていてもよい。レンズ52は光学式レンズとして実装されてもよい。レンズ52はズーミング機能および/またはピント合わせ機能を提供してもよい。レンズ52は光をEBセンサ102に集束させるように構成されていてもよい。レンズ52は、カメラ50の近くの環境の視野をキャプチャするために、方向づけ、上下移動、左右移動、回転および/またはズームさせてもよい。EBセンサ102は、収束された光を受信するためにレンズ52の後ろに位置していてもよい。レンズ52は環境中の光をキャプチャすることを目的とするものであってもよい。一例では、レンズ52は広角レンズおよび/または魚眼レンズ(例えば、広角視野をキャプチャすることができるレンズ)であってもよい。レンズ52は、EBセンサ102と光学鏡筒とカメラ50の本体との光学的位置合わせを提供してもよい。レンズ52は(例えば8mmレンズ、望遠鏡レンズ、顕微鏡レンズなどに)交換可能であってもよい。レンズ52の実装は特定の実装の設計基準に従って変えてもよい。
【0048】
EBセンサ102は、レンズ52を介して収束された光入力を受信するように構成されていてもよい。EBセンサ102は収束された光入力をビットストリームに変換するように構成された回路を備えていてもよい。EBセンサ102によって生成されるビットストリームは非同期イベントストリームであってもよい。一例では、EBセンサ102によって生成されるイベントストリームはカメラ50から出力として伝送されてもよい。別の例では、イベントストリームはプロセッサ104に伝送されてもよい。いくつかの実施形態では、EBセンサ102は、1/2.5’’の光学フォーマットで1280×720の画素解像度を提供してもよい。一例では、EBセンサ102は約220μsの画素レイテンシおよび86dB超のダイナミックレンジを提供してもよい。EB102は、25%の名目上のコントラスト閾値を提供するように構成されていてもよい。EBセンサ102の仕様および/または能力は特定の実装の設計基準に従って変えてもよい。
【0049】
プロセッサ104はイベントストリームを受信するように構成されていてもよい。プロセッサ104はイベントストリームに対して1つ以上のデジタル動作を行うように構成されていてもよい。例えばプロセッサ104はデジタル処理ブロックであってもよい。プロセッサ104は組み込まれたイベント信号処理を提供するように構成されていてもよい。一例では、プロセッサ104はイベントストリームに対する後処理を行うように構成されていてもよい。いくつかの実施形態では、プロセッサ104は他の入力(例えばマイクロホンから受信される音声入力、ヒューマンインタフェース装置からのユーザ入力、慣性センサから運動入力など)を受信するように構成されていてもよい。
【0050】
プロセッサ104はコンピュータ可読命令を実行するように構成されていてもよい。コンピュータ可読命令を実行して多くの工程を行ってもよい。プロセッサ104は、イベントストリームおよび/または他の入力に対するコンピュータ可読命令の実行に応答して出力を生成するように構成されていてもよい。一例では、プロセッサ104は後処理されたイベントストリームを生成するように構成されていてもよい。プロセッサ104はデジタルインタフェースへの出力(例えば、HDMI出力、USB出力、イーサネット出力、Wi-Fi出力など)をパケット化するように構成されていてもよい。プロセッサ104によって行われる動作、受信される入力および/または生成される出力は特定の実装の設計基準に従って変えてもよい。
【0051】
いくつかの実施形態では、プロセッサ104はARMプロセッサ、×86-64プロセッサ、RISC-Vプロセッサなどとして実装されてもよい。いくつかの実施形態では、プロセッサ104はシステムオンチップ(SoC)として実装されてもよい。いくつかの実施形態では、プロセッサ104はカスタムASICであってもよい。いくつかの実施形態では、プロセッサ104はFPGAを用いて実装されてもよい。いくつかの実施形態では、プロセッサ104は外部計算装置(例えば、デスクトップコンピュータ、ラップトップコンピュータ、ネットブック、タブレット計算装置、スマートフォンなど)上に実装されていてもよく、イベントストリームはプロセッサ104による処理のために外部装置に伝送されてもよい。いくつかの実施形態では、プロセッサ104はEBセンサ102内に一体化されていてもよい。いくつかの実施形態では、プロセッサ104はニューロモーフィックプロセッサ(例えば、ニューラルネットワークアクセラレータ)および/または特定の機能を実装しているカスタム処理コア(例えば、イベント-信号-プロセッサ(ESP))を実装していてもよい。いくつかの実施形態では、フリッカー検出/軽減は、カメラ50内にEBセンサ102と共に実装されるプロセッサ104の一部として実装されてもよい。いくつかの実施形態では、フリッカー検出/軽減は、プロセッサ104によって実行することができるソフトウェアおよび/またはファームウェアとして提供されていてもよい。例えばフリッカー検出/軽減は、プロセッサ104によって実行することができるコンピュータ可読命令を含んでもよい。
【0052】
図示されている例では、カメラ50は装置100を実装する装置の図解例であってもよい。例えばカメラ50は、人によって操作することができる手持ち式カメラであってもよい。別の例では、カメラ50は三脚および/またはジンバルに装着されてもよい。いくつかの実施形態では、カメラ50は動かない物体に装着されてもよい(例えば、壁装着式セキュリティカメラ)。いくつかの実施形態では、カメラ50は移動する物体(例えば車両)に装着してもよい。一例では、カメラ50のEBセンサ102によって生成されるイベントストリームは、他のセンサ(例えば、PIRセンサ、運動センサ、レーダー、ライダー、フレームベースカメラなど)によって提供されるデータソースに加えて別のデータセットを提供してもよい。いくつかの実施形態では、イベントストリームは他の種類のセンサを置き換えるように構成されていてもよい。一例ではEBセンサ102によって提供されるイベントストリームは、より高価な技術(例えば、レーダー、ライダー、フレームベースセンサなど)の低コスト代替物としてカメラ50を車両に設置するのを可能にしてもよい。いくつかの実施形態では、カメラ50はスペースに制約があるシステム内に適合させるために、複数の固定点と共に超小型寸法(例えば、30×30×36mm)を備えていてもよい。カメラ50の実装は特定の実装の設計基準に従って変えてもよい。
【0053】
図2を参照すると、イベントベースセンサによって生成されるイベントストリームを示す図が示されている。装置100におけるデータ伝送が示されている。信号(例えばEVSTM)が示されている。信号EVSTMは非同期イベントストリームであってもよい。イベントストリームEVSTMはセンサ102からプロセッサ104に伝送されてもよい。EBセンサ102とプロセッサ104との間でのイベントストリームEVSTMのために図示されているデータ伝送は、例示を目的として提供される簡略化されたモデルであってもよい。
【0054】
多くのブロック106a~106nを含むEBセンサ102が示されている。ブロック106a~106nはEBセンサ102の画素を含んでもよい。例えば画素106a~106nは、それぞれが受光素子および検出回路を備えたEBセンサ102の個々の画素回路を表してもよい。図示されている例では、EBセンサ102は16個の画素(例えば4×4の格子)を含んでいてもよい。いくつかの実施形態では、画素106a~106nは四角形の格子として実装されてもよい。いくつかの実施形態では、画素106a~106nは幅広の矩形を含んでいてもよい。EBセンサ102は図示されているよりも多くの画素106a~106nを含んでいてもよい。一例ではEBセンサ102は、画素106a~106nの1280×720の配列(例えば、標準的な1Mピクセルのイベントベースカメラのための配列)を含んでいてもよい。一例では画素106a~106nは、約4.86×4.86μmの画素サイズを提供してもよい。EBセンサ102の画素106a~106nの数、形状および/または配置は特定の実装の設計基準に従って変えてもよい。
【0055】
イベントストリームEVSTMは多くのイベント108a~108nを含んでいてもよい。イベント108a~108nは画素106a~106nのいずれかによって生成されてもよい。図示されている例では分かりやすくするために、イベント108a~108nを伝送する画素106a~106dおよび画素106k~106nのみが示されている。一般に画素106a~106nのそれぞれは、イベント108a~108nを伝送するように構成されていてもよい。図示されている例ではイベント108a~108nは、例示を目的としてプロセッサ104に別々に伝送されるように示されている。いくつかの実施形態では、EBセンサ102によって生成されるイベント108a~108nを画素106a~106nの後に順番に並べてイベントストリームEVSTMを生成してもよい。いくつかの実施形態では、画素106a~106nとプロセッサ104との間でウェーハスタッキングを実施してもよい。
【0056】
図示されている例では、イベントストリームEVSTMは画素106kによって生成されるイベント108a、画素106dおよび画素106aによってそれぞれ同時に生成されるイベント108b~108c、画素106nによって生成されるイベント108iおよび画素106cによって生成されるイベント108nを含んでいてもよい。イベントストリームEVSTMは一連のイベント108a~108nを含んでいてもよい。画素106a~106nによって生成されるイベント108a~108nの数および/またはタイミングは環境のキャプチャされる光に従って変えてもよい。
【0057】
イベントストリームEVSTMは、EBセンサ102によって検出されたコントラスト変化に応答してトリガーされる非同期イベント108a~108nを含んでいてもよい。画素106a~106nのそれぞれは光入力における局所コントラスト変化を検出してもよい。イベント108a~108nは非同時的に生成することができるので、イベントストリームEVSTMは所定のレートでフレーム全体を生成することなく、局所コントラスト変化に応答してイベント108a~108nを提供してもよい。イベント108a~108nの非同期生成は、イベントストリームEVSTMが冗長な時間もしくは空間サンプリングなしに画素106a~106nにおける光入力の変化を提供するのを可能にしてもよい。
【0058】
イベント108a~108nは少なくとも画素位置を含んでいてもよい。例えば画素位置は、イベント108a~108nの特定の1つを生成したEBセンサ102のアレイにおける画素106a~106nの1つの位置のx/yアドレスを含んでいてもよい。いくつかの実施形態では、イベント108a~108nはタイムスタンプをさらに含んでいてもよい。例えばイベント108a~108nは、画素106a~106nがコントラスト変化を検出した位置および時間を示してもよい。いくつかの実施形態では、イベント108a~108nは極性情報を含んでいてもよい。例えばイベント108a~108nはコントラスト変化に関する極性情報を含んでいてもよい。例えばイベント108a~108nは、画素106a~106nによって検出されたコントラスト変化に関する位置および極性情報を含んでいてもよい。タイムスタンプおよび極性情報はイベント108a~108nのための任意のデータであってもよい。一例ではEBセンサ102は、イベントストリームEVSTMにおいて符号化されたタイムスタンプおよび/または極性情報なしにイベント108a~108nを生成してもよい。いくつかの実施形態では、EBセンサ102は、AER(アドレス・イベント表現)フォーマットでイベントストリームEVSTM中のイベント108a~108nを符号化してもよい。いくつかの実施形態ではEBセンサ102は、位置、タイムスタンプおよび極性情報のそれぞれと共にイベントストリームEVSTM中のイベント108a~108nを符号化してもよい。イベントストリームEVSTM中のイベント108a~108nのフォーマットは特定の実装の設計基準に従って変えてもよい。
【0059】
非同期イベントストリームEVSTMは、それぞれがタイムスタンプと共に一連の画素位置を含んでいてもよい。イベント108a~108nのそれぞれは、閾値を超えるイベントベースセンサ102の複数の画素106a~106nのいずれか1つによる自立検出に応答して生成されてもよい。当該閾値は画素106a~106nによって検出される局所コントラスト変化であってもよい。閾値未満の検出されるコントラスト変化は、イベント108a~108nの1つの生成をトリガーしなくてもよい。
【0060】
画素106a~106nを能動的に検出して、画素106a~106nが自立的に動作するのを可能にしてもよい(例えば、画素106a~106nはサンプリングされない)。画素106a~106nのための回路は、電圧信号(例えば、フォトダイオードおよび複数の他の部品(例えばトランジスタ)を含む受光器によって生成される)を絶えず監視してもよい。例えば受光器は、光電流(例えば、フォトダイオードに衝突している瞬間的光レベルに比例)を画素-内部電圧信号に対数的に変換してもよい(例えば、画素-内部電圧信号は光入力に対数的に比例していてもよい)。電圧信号は、1つ以上の閾値を超える以前に記憶された電圧レベルからの偏差について監視されてもよい。閾値(単数または複数)を超える電圧信号の検出により、イベント108a~108nの1つの生成をもたらしてもよい。画素106a~106nの1つがイベント108a~108nの1つを生成した後、イベントを生成した画素は現在の光レベルにリセットされた状態になり、閾値を超える新しい偏差の監視を継続してもよい。画素106a~106nの自立的動作は、画素106a~106nの動作を管理するために外部タイミング信号を使用しなくてもよい(例えば、サンプリングクロックなし)。一例では画素106a~106nは、受光器電圧信号に関して振幅領域レベル交差サンプラ(または非同期デルタ変調器(ADM)の動作)と同様に動作してもよい。光電流は画素106a~106nのフォトダイオードに衝突している光と共に絶えず変化し得る。
【0061】
いくつかの実施形態では、画素106a~106nの感度はEBセンサ102の感度設定により(例えば特性評価により)導出してもよい。例えばイベント108a~108nのそれぞれが、感度設定の正確な値を測定することができるものと仮定してもよい。その結果は画素106a~106nの画素ばらつきが原因でノイズが含まれている場合がある。但し、別のソースからの変化を推定してもよい(例えば、2つの標準ビデオフレーム間で生成されるイベント108a~108nの全てを、画素106a~106nが検出したもののオンライン較正を用いてビデオフレームの強度変化に関連づけてもよい)。一般にイベントストリームEVSTMにおける有用な情報は、正確な時間での画素位置におけるエッジの存在であってもよい(例えば、強度変化の振幅は重要な情報でない場合がある)。一例ではエッジの存在は、追跡および/またはオプティカルフローにとって有用であり得る。
【0062】
図3を参照すると、イベントストリームに応答して生成されるティック結果を示すブロック図が示されている。装置100のブロック図が示されている。EBセンサ102およびプロセッサ104を備えた装置100が示されている。図示されている例では、装置100は別個のコンポーネントとしてEBセンサ102およびデジタルプロセッサ104を実装していてもよい。
【0063】
装置100は信号(例えばLIN)および信号(例えばCONFIG)を受信してもよい。装置100は信号(例えばTICK)およびイベントストリームEVSTMを生成してもよい。信号LINは光入力を含んでもよい。光入力LINはEBセンサ102によって受信されてもよい。信号CONIFGは構成入力を含んでもよい。一例ではエンドユーザは、信号CONFIGにおいて各種パラメータを提供することにより装置100のために調節可能な値を調整してもよい。例えば信号CONFIGは、有線接続を通して装置100をヒューマンインタフェース装置(例えばコンピュータ)に接続すること、および/または無線接続(例えば、スマートフォンのためのコンパニオンアプリケーション)を用いて入力を提供することにより提供されてもよい。信号TICKは1つ以上のティック結果を含んでいてもよい。信号TICKはプロセッサ104によって生成されてもよい。装置100は他の入力信号を受信し、かつ/または他の入力信号(図示せず)を生成するように構成されていてもよい。装置100によって受信される入力信号および/またはそれによって生成される出力信号によって運ばれる数、種類および/またはデータは特定の実装の設計基準に従って変えてもよい。
【0064】
EBセンサ102はブロック(または回路)110および/またはブロック(または回路)112を備えていてもよい。回路110は画素回路アレイを実装していてもよい。回路112はシリアライザを実装していてもよい。EBセンサ102は他のコンポーネント(図示せず)を備えていてもよい。EBセンサ102のコンポーネントの数、種類および/または配置は特定の実装の設計基準に従って変えてもよい。
【0065】
画素回路アレイ110は、
図2に関連づけて示されている画素106a~106nのアレイを実装するように構成されていてもよい。画素回路アレイ110は多くのブロック(または回路)114a~114nおよび/または多くのブロック(または回路)116a~116nを含んでいてもよい。回路114a~114nは受光素子および/または他の部品を実装していてもよい。回路116a~116nは検出回路を含んでもよい。画素回路アレイ110は他の部品(図示せず)を備えていてもよい。画素回路アレイ110の部品の数、種類および/または配置は特定の実装の設計基準に従って変えてもよい。
【0066】
受光素子114a~114nは光入力LINに応答して反応するように構成されていてもよい。一例では、受光素子114a~114nは他の部品(例えばトランジスタ)と共に受光器のフォトダイオード部品であってもよい。受光素子114a~114nは、光入力LINの光のレベルに応答して光電流を生成するように構成されていてもよい。受光素子114a~114nによって生成される光電流は光入力LINの瞬間光レベルに比例していてもよい。
【0067】
検出回路116a~116nはそれぞれの受光素子114a~114nに電気的に接続されていてもよい。検出回路116a~116nはイベント108a~108nを生成するように構成されていてもよい。イベント108a~108nは、条件(例えば閾値)に一致する光入力LINの輝度に比例するアナログ信号(例えば、光電流および/または光電流から導出される電圧信号)に応答して、検出回路116a~116nによって生成されてもよい。
【0068】
一例では、受光素子114a~114nは受光器によって実装されるフォトダイオードであってもよい。受光器はフォトダイオードによって生成された光電流を電圧信号に対数的に変換してもよい。例えば電圧信号は、フォトダイオードに対する光入力LINの光曝露の量から導出されてもよい。検出回路116a~116nは、受光器からの電圧信号の変化を検出するように構成された一時検出器であってもよい。検出回路116a~116nのそれぞれは、それぞれのイベント信号108a~108nを自立的に、かつ他の検出回路116a~116nから独立して生成してもよい。
【0069】
一例では、それぞれの受光素子114a~114nの1つとそれぞれの検出回路116a~116nの1つとの組み合わせは、
図2に関連づけて示されている画素106a~106nの1つに対応していてもよい。それぞれの受光素子114a~114nの1つとそれぞれの検出回路116a~116nの1つとの組み合わせは画素回路であってよい。例えば画素106aは、受光素子114aおよび検出回路116aに応答してイベント信号108a~108nの1つを生成してもよく、画素106bは、受光素子114bおよび検出回路116bに応答してイベント信号108a~108nの1つを生成してもよい(以下略)。それぞれの受光素子114a~114nの1つとそれぞれの検出回路116a~116nの1つとの各組み合わせは、画素回路アレイ110の1つの画素位置に対応していてもよい。例えば受光素子114a~114nのx/y位置は、イベントストリームEVSTMの一部として符号化されていてもよい。
【0070】
シリアライザ112は、検出回路116a~116nからイベント108a~108nを受信するように構成されていてもよい。イベント108a~108nは独立し、かつ非同時的に生成されてもよい。シリアライザ112は、イベント108a~108nをイベントストリームEVSTMにフォーマットするように構成されていてもよい。例えばシリアライザ112は、イベント108a~108nを受信順にイベントストリームEVSTMの中に挿入するように構成されていてもよい。イベントストリームEVSTMは一連のイベント108a~108nを含んでいてもよい。イベント108a~108nは少なくとも画素位置を含んでいてもよい。イベント108a~108nは、イベント108a~108nが生成された時を示すタイムスタンプおよび/または極性情報をさらに含んでいてもよい。シリアライザ112は、イベントストリームEVSTMをプロセッサ104に提供してもよい。
【0071】
プロセッサ104はイベントストリームEVSTMを受信してもよい。プロセッサ104はイベントストリームEVSTMに応答して信号TICKを生成してもよい。プロセッサ104は出力としてイベントストリームEVSTMを素通りさせてもよい。いくつかの実施形態では、プロセッサ104はイベントストリームEVSTMに対する様々な処理機能(例えばフィルタリング)を行い、かつ処理されたバージョンのイベントストリームEVSTMを出力するように構成されていてもよい。
【0072】
プロセッサ104はブロック(または回路)120および/またはブロック(または回路)122を備えていてもよい。回路120はコンピュータ可読命令および/またはファームウェアを備えていてもよい。回路122はメモリを備えていてもよい。プロセッサ104は他のコンポーネント(図示せず)を備えていてもよい。一例では、プロセッサ104はコンピュータ可読命令120を記憶するオンチップメモリを備えたSoCとして実装されてもよい。プロセッサ104のコンポーネントの数、種類および/または配置は特定の実装の設計基準に従って変えてもよい。
【0073】
プロセッサ104はコンピュータ可読命令120を実行してもよい。コンピュータ可読命令120は、プロセッサ104によって行うことができる多くの工程を含んでいてもよい。コンピュータ可読命令120はフリッカー検出および/または軽減を実装するように構成されていてもよい。一例では、コンピュータ可読命令120の実行に応答してプロセッサ104は、イベントストリームEVSTM中のフリッカーイベントの特徴的パターンを検出し、かつフリッカーイベントの特徴的パターンに応答してティック結果を含む出力信号TICKを生成するように構成されていてもよい。別の例では、コンピュータ可読命令120の実行に応答してプロセッサ104は、イベントストリームEVSTM中のフリッカーイベントの特徴的パターンに応答してフリッカーイベントの予測される繰り返し間隔を決定するように構成されていてもよい。信号TICKは、画素106a~106nの特定の1つの自立検出のタイムスタンプの予測される繰り返し間隔に基づいて決定されるフリッカーイベントの将来のタイムスタンプを含んでいてもよい。カメラ50はシーンの光入力LINをキャプチャするように構成されていてもよい。EBセンサ102を1つ以上の明滅光源を有し得るシーンに曝露させてもよい。光入力LINのコントラスト変化により、画素106a~106n(例えば、受光素子114a~114nおよび検出回路116a~116n)にイベントストリームEVSTM中でプロセッサ104に伝送することができるイベント108a~108nを生成させてもよい。例えば、イベントストリームEVSTMは画素ごとの位置(例えばx/y座標)、コントラスト変化および/または極性変化(例えばp)のタイムスタンプを含んでいてもよい。イベントストリームEVSTM中のイベント108a~108nのいくつかは、明滅光源(例えばフリッカーイベント)によって引き起こされるコントラスト変化を含んでいてもよい。プロセッサ104はコンピュータ可読命令120を実行して、フリッカーイベント(例えば望ましくないイベント)を検出し、かつ/またはフィルタリング除去するように構成されていてもよい。いくつかの実施形態では、プロセッサ104はフリッカーイベントに対応するティック結果(例えば信号TICK)を出力してもよい。いくつかの実施形態では、プロセッサ104はフリッカーフィルタリングを行い、かつフィルタリングされたバージョンのイベントストリームEVSTMを出力してもよい。
【0074】
メモリ122はデータを記録するように構成されていてもよい。一例ではメモリ122は、静的ランダムアクセスメモリ(例えばSRAM)を実装していてもよい。メモリ122はプロセッサ104がパターン検出および/またはフリッカーフィルタリングを行うのを可能にするために、イベントおよび/またはコンテキスト情報を記録するように構成されていてもよい。一例ではメモリ122は、フリッカーフィルタリングがEBセンサ102の複数のブロックおよび/または個々の画素に対して行われるのを可能にしてもよい。いくつかの実施形態では、メモリ122はコンピュータ可読命令120を記録するように構成されていてもよい。いくつかの実施形態では、メモリ122は、信号CONFIGによって提供される様々な調節可能な閾値および/またはパラメータを記録するように構成されていてもよい。図示されている例では、メモリ122はプロセッサ104のコンポーネントとして実装されている。いくつかの実施形態では、メモリ122はプロセッサ104の外部にあり、かつそれによってアクセス可能なコンポーネント(例えば別個のRAMモジュール)であってもよい。メモリ122のサイズ、種類および/または容量は特定の実装の設計基準に従って変えてもよい。
【0075】
プロセッサ104によって行われるフリッカー検出は1つのみの画素位置(例えば、画素106a~106nの1つのフリッカーイベント)、ブロックの画素位置(例えば、互いに近くにあり得る画素106a~106nの群の明滅イベント)および/または全ての画素位置(例えば、画素106a~106nの全てのために生じる明滅イベント)のフリッカーイベントを検出するように構成されていてもよい。一例では、レンズ52の視野内にあり得る遠い光源(例えば、屋外シーンの背景にある街灯柱)が、画素106a~106nの局所領域に影響を与えるフリッカーイベントを生成する場合がある。別の例では、シーン全体を照明している明滅光源が、画素106a~106nの全て対してフリッカーイベントを生成する場合がある。
【0076】
フリッカーイベントは特徴的パターンを含んでいてもよい。フリッカーイベントの特徴的パターンは、プロセッサ104によって検出されてもよい。一例では特徴的パターンは、フリッカーのピーク光強度に達するまで明滅光源が強度を強めるにつれて短時間のイベント108a~108nにわたって増加し得るコントラスト変化(例えば、増加する光極性を含むイベント)の検出を含んでもよい。ピーク強度に達した後、特徴的パターンは、フリッカーの最小強度に達するまで明滅光源が強度を弱めるにつれて短時間のイベント108a~108nにわたって減少し得るコントラスト変化(例えば、減少する光極性を含むイベント)の検出を含んでもよい。例えばLED光源および/またはパルス幅変調光源は、別個の工程において強度を強め、かつ/または弱める場合がある。プロセッサ104は、独立したループ(またはスレッド)における増加および減少のために特徴的パターンを独立して処理してもよい(例えば、各極性を独立して処理してもよい)。例えば、1つのループは強度の増加(例えばオンイベント)としてフリッカーイベントを追跡してもよく、別のループは強度の減少(例えばオフイベント)としてフリッカーイベントを追跡してもよい。各ループは同じ極性のイベント108a~108nの周期的バーストを探し出してもよい。
【0077】
信号TICKのティック結果は、EBセンサ102によって生成されるイベント108a~108nの一部でなくてもよい。ティック結果は一連のタイムスタンプを含んでいてもよい。ティック結果の一連のタイムスタンプは、やがて起こるフリッカーイベントが起こり得るとプロセッサ104が決定する予測時間に対応していてもよい。例えば、ティック結果は明滅光源から生じ得るイベント108a~108nのやがて起こるバーストを予測してもよい。プロセッサ104は、ティック結果の周囲の期間(例えば、イン期間または近傍)を推定するように構成されていてもよい。ティック結果の周囲の推定された期間内に生じるイベント108a~108nのいずれかを明滅光源によって生成されたものとみなしてもよい。一例ではプロセッサ104は、ティック結果の周囲の期間内で生じるイベント108a~108nをフィルタリング除去してもよい。別の例では、プロセッサ104は、さらなる処理(例えば、可視光通信信号を復調すること、アクティブマーカを抽出することなど)のためにティック結果を使用してもよい。
【0078】
いくつかの実施形態では、プロセッサ104はフリッカー検出を行うように構成されていてもよい。例えば装置100によって実装される別のコンポーネントは、プロセッサ104によって生成された信号TICKに応答してフィルタリングを行うように構成されていてもよい(例えば、
図5に関連して説明する)。いくつかの実施形態では、プロセッサ104はフリッカー検出およびフリッカー軽減を行うように構成されていてもよい。
【0079】
図4を参照すると、イベントストリームに応答してイベントベースセンサに実装されているデジタルプロセッサによって生成されるティック結果を示すブロック図が示されている。装置100’のブロック図が示されている。EBセンサ102’を備える装置100’が示されている。図示されている例では装置100’は、EBセンサ102’およびデジタルプロセッサ104を単一のコンポーネントとして実装していてもよい。
【0080】
EBセンサ102’はプロセッサ104、画素回路アレイ110および/またはシリアライザ112を備えていてもよい。受光素子114a~114nおよび検出回路116a~116nおよびシリアライザ112を含む画素回路アレイ110は、
図3に関連して説明されているものと同様の実装を有していてもよい。例えば画素回路アレイ110は、光入力LINに応答してイベント108a~108nを生成してもよく、シリアライザ112は、一連のイベント108a~108nを含むイベントストリームEVSTMを生成してもよい。プロセッサ104は、イベントストリームEVSTMに応答して信号TICKを生成し、かつ/またはイベントストリームEVSTMを素通りさせてもよい。
【0081】
一般に明滅前に、EBセンサ102’は光入力LINの帯域幅を管理するように構成されていてもよい。この帯域幅は生成されるイベント108a~108nの量に基づいて決定してもよい。光入力LINにおける明滅光源はコントラスト変化の頻繁なバーストを引き起こす場合があり、それにより多くのイベント108a~108nが生成される場合がある。フリッカーイベントをフィルタリング除去することにより、イベントストリームEVSTMの帯域幅を減少させてもよい。イベントストリームEVSTM中のフリッカーイベントをフィルタリング除去することにより、プロセッサ104および/または他の(例えば下流の)コンポーネントがより少ないイベント108a~108nを含むデータ(例えばノイズがより少ないデータ)を受信するのを可能にしてもよい。
【0082】
図示されている例では、装置100’はプロセッサ104をEBセンサ102’の部品として実装していてもよい。フリッカー検出および/またはフリッカー軽減はEBセンサ102’内のプロセッサ104によって行うことができるため、イベントストリームEVSTMをEBセンサ102’から出力する前に、フリッカーイベントに対応するイベント108a~108nを除去してもよい。
図3に関連して示されている例(例えば、EBセンサ102の外部に実装されているプロセッサ104)では、フリッカーイベントを含むイベントストリームEVSTMは、プロセッサ104によって受信される前にEBセンサ102によって出力されてもよい。一例では静的明滅光源のために、帯域幅を減少させ、かつ次いで時として沈黙された画素を再アクティブ化させて明滅がなお存在しているか否かを決定するために、明滅画素を沈黙させることができる関心領域を画素106a~106nのために設定してもよい。
【0083】
図5を参照すると、イベントストリームおよびティック結果に応答したフリッカー軽減を示すブロック図が示されている。フリッカー軽減およびフリッカー検出を実装している装置100が示されている。いくつかの実施形態ではフリッカー軽減は、プロセッサ104によって実装されているコンピュータ可読命令120によって実装されてもよい。いくつかの実施形態では、フリッカー軽減はイベント処理パイプラインの一部として(例えばプロセッサ104の下流に)実装されてもよい。一般にフリッカー軽減はデジタル処理パイプラインの一部として実装されてもよい。
【0084】
EBセンサ102、プロセッサ104および/またはメモリ122’を備える装置100が示されている。プロセッサ104はブロック(または回路)150および/またはブロック(または回路)152を備えていてもよい。回路150はパターン検出モジュールを実装していてもよい。回路152はフリッカー軽減モジュールを実装していてもよい。一例ではコンピュータ可読命令120は、パターン検出モジュール150およびフリッカー軽減モジュール152によって行われる動作を実行するように構成されていてもよい。装置100は他のコンポーネント(図示せず)を備えていてもよい。一例では装置100は、フリッカー軽減モジュール152の前および/または後に実装される他のコンポーネントを備えることができるイベント処理パイプラインを備えていてもよい。
【0085】
図示されている例示的なイベント処理パイプラインでは、EBセンサ102は光入力LIN(例えば、レンズ52を介して受光される収束された光)を受信してもよい。EBセンサ102はイベントストリームEVSTMをプロセッサ104に提供してもよい。パターン検出モジュール150は、イベントストリームEVSTMに応答して信号TICKを生成してもよい。パターン検出モジュール150はイベントストリームEVSTMを素通りさせてもよい。いくつかの実施形態では、プロセッサ104はイベントストリームEVSTMに対する1つ以上の後処理動作を行い、かつ処理されたイベントストリームを出力してもよい。イベントストリームEVSTMおよびティック結果TICKはフリッカー軽減モジュール152に提供されてもよい。いくつかの実施形態では、ティック結果TICKはティック結果の他の分析(例えば統計値を収集すること)のために他のコンポーネント(図示せず)に伝送されてもよい。
【0086】
パターン検出モジュール150は、フリッカーイベントの特徴的パターンを検出するためにイベントストリームEVSTMを分析するように構成されていてもよい。パターン検出モジュール150は、フリッカーイベントの特徴的パターンに応答してティック結果を含む信号TICKを出力するように構成されていてもよい。パターン検出モジュール150は、イベントストリームEVSTMにおける特徴的パターンの安定性の決定に応答してフリッカーパターンにロックするように構成されていてもよい。パターン検出モジュール150は、信号CONFIGによって提供される調節可能な閾値によって定められる基準に基づいてティック結果を検証するように構成されていてもよい。
【0087】
パターン検出モジュール150は、ティック結果のためにタイムスタンプを再評価し、かつ/または補正するように構成されていてもよい。パターン検出モジュール150はティック結果の期間を検証するように構成されていてもよい。パターン検出モジュール150によって行われる動作は、イベントストリームEVSTMおよび/または信号CONFIGに応答してティック結果信号TICKを生成し、かつイベントストリームEVSTMを素通りさせるように構成されていてもよい。
【0088】
フリッカー軽減モジュール152は、信号TICKおよび信号EVSTM(または処理されたバージョンのイベントストリームEVSTM)を受信してもよい。フリッカー軽減モジュール152は、ティック結果TICKおよびイベントストリームEVSTMに応答して信号(例えばFEVSTM)を生成してもよい。信号FEVSTMはフィルタリングされたイベントストリームを含んでもよい。
【0089】
フリッカー軽減モジュール152は、ティック結果TICKに基づいてイベント108a~108nの1つ以上をイベントストリームEVSTMから除去する(例えば、フィルタリング除去する、脱落させる、削除するなど)ように構成されていてもよい。ティック結果TICKは、フリッカー結果をキャプチャすることができる時の予測を含む(例えば、パターン検出モジュール150によってイベントストリームEVSTMの特徴的パターンの分析により決定される期間に基づく)タイムスタンプを含んでいてもよい。フリッカー軽減モジュール152は、ティック結果TICKのタイムスタンプの時点および/またはその近くで生じるイベント108a~108nを除去してもよい。フィルタリングされたイベントストリームFEVSTMは、イベントストリームEVSTM中のイベント108a~108nの数よりも少ないイベント108a~108nを含んでいてもよい。
【0090】
一般に、フィルタリング除去されるイベント108a~108nはティック結果TICKの予測されるタイムスタンプの近くで生じてもよい。いくつかの実施形態では、さらなる処理を行って、いくつかの明滅イベントを重要/望ましい(例えば非常灯)とみなし得るか否かを決定してもよい。例えば明滅光源に対応するイベントの周波数および/または範囲を分析し、かつ公知の周波数(例えば、救急サービスによって使用される予め定められた明滅光周波数)と比較してもよい。フリッカーイベントに対応するイベント108a~108nのティック結果の検出およびフィルタリングの詳細は、
図6および
図7に関連して説明することができる。
【0091】
メモリ122’はプロセッサ104とは別個のコンポーネントとして示されている。メモリ122’はプロセッサ104と信号(例えばCXT)を伝送するように構成されていてもよい。信号CXTは、複数のインスタンスのパターン検出モジュール150によって行われるパターン検出および/またはフリッカー軽減モジュール152によって行われるフリッカーフィルタリングのためにコンテキスト情報を提供するように構成されていてもよい。メモリ122’の実装は、複数のフリッカー源を追跡し、かつおよび/またはイベントストリームEVSTMにおいてフィルタリングするのを可能にしてもよい。
【0092】
プロセッサ104は、EBセンサ102によってキャプチャされた完全なシーン(例えば、EBセンサ102の完全なFOV)または当該シーンの部分領域のためにフリッカー検出および/または軽減を行うように構成されていてもよい。プロセッサ104は、完全なシーンまたは1つ以上の部分領域のためにフリッカー検出および/または軽減を行うことのどちらかを選択するように構成されていてもよい。一例では部分領域は、複数の画素106a~106nのブロック(例えば、EBセンサ102の右下に対応する全ての画素106a~106n、EBセンサ102の中間領域に対応する全ての画素106a~106n、EBセンサ102の一列の画素に対応する全ての画素106a~106nなど)を含んでいてもよい。別の例では部分領域は、個々の画素106a~106nの1つ以上を含んでいてもよい。フリッカー検出および/または軽減のために分析することができるブロックおよび/または個々の画素の数はメモリ122’の容量によって決まってもよい(例えば、ブロック/画素のためのフリッカー検出および/または軽減のインスタンスの数が大きくなるにつれて、メモリ122’においてより多くの容量が使用される場合がある)。
【0093】
いくつかの実施形態では、プロセッサ104はシーン全体を分析し、かつEBセンサ102によってキャプチャされるシーンにおいて検出することができる大域フリッカー周波数にロックしてもよい。シーン全体の分析のために、フリッカー検出および/または軽減の単一のコンテキストが実装されてもよい。画素106a~106nのそれぞれは同じ変数を共有してもよい。シーン全体の分析のために、イベントストリームEVSTMにおいて1つのフリッカー源のみをフィルタリングしてもよい。フリッカー検出および/または軽減の単一のコンテキストのために、画素ごとの記憶は必要とされてなくてもよい(例えば、メモリ122’が実装されていない場合であってもシーン全体の分析を行うことができる)。
【0094】
いくつかの実施形態では、プロセッサ104は複数のインスタンスのフリッカー検出および/またはフリッカー軽減を行ってもよい。画素106a~106nのブロックごと(または個々の画素106a~106nごと)に、各インスタンスのフリッカー検出および/またはフリッカー軽減を行ってもよい。複数のインスタンスのフリッカー検出および/またはフリッカー軽減を実装することにより、複数の明滅源(例えば、画素ごとに1つの明滅源または画素のブロックごとに1つの明滅源)を潜在的にフィルタリングするという利点を得てもよい。メモリ122’は画素ごとまたはブロックごとのコンテキストの記憶を提供してもよい。信号CXTは、プロセッサ104とメモリ122’との間で画素ごとまたはブロックごとのコンテキストを伝送してもよい。画素ごとまたはブロックごとのフリッカー検出および/またはフリッカー軽減のために、メモリ122’は複数のコンテキストを記録することが必要とされる場合がある(例えば、単一のコンテキストは十分でない場合がある)。
【0095】
図6を参照すると、フリッカーイベントにおけるイベントのクラスタのためのタイミングデータを示す図が示されている。タイミンググラフ200が示されている。タイミンググラフ200は軸Tを含んでいてもよい。軸Tは時間を表してもよい。タイミンググラフ200は時間Tにわたって生じるイベントストリームEVSTMのイベント108a~108nを示してもよい。
【0096】
軸Tから伸びる矢印202a~202nのクラスタ、矢印204a~204bおよび矢印206a~206nのクラスタが示されている。矢印202a~202n、矢印204a~204bのクラスタおよび矢印206a~206nのクラスタは、イベントストリームEVSTMにおいて経時的に起こった同じ極性(例えばコントラスト変化)を有するイベント108a~108nの例を表してもよい。イベント202a~202nのクラスタは、明滅光源に応答して検出されるコントラスト変化のクラスタに対応していてもよい。2つのイベント204a~204bはEBセンサ102によってキャプチャされる所望のイベントに対応していてもよい。イベント206a~206nのクラスタは明滅光源に応答して検出されるコントラスト変化のその後のクラスタに対応していてもよい。
【0097】
イベント202cは時間tnで生じるティック結果に対応していてもよい。イベント206cは時間tn+1で生じるティック結果に対応していてもよい。図示されている例では、ティック結果はイベント202cおよびイベント206cと同時に生じてもよい。但し、ティック結果は必ずしもイベント108a~108nの1つと同時に生じなくてもよい。
【0098】
ティック結果202cから伸びている線210aが示されている。ティック結果206cの前に軸Tから伸びている線210bが示されている。線210a~210bの間にタイムスパンTPが示されている。タイムスパンTPはティック結果のために予測される期間を表してもよい。ティック結果206cから伸びている線212が示されている。線212はティック結果206cの時間を表してもよい。タイムスパンTPの終了からティック結果206cの時間212までの補正時間Δが示されている。
【0099】
イベント202a~202nのクラスタの周囲に伸びている線220a~220bが示されている。線220a~220bはティック結果202cの近傍(またはイン期間)を表してもよい。線220bと線224aとの間に領域222が示されている。イベント226a~226bのクラスタの周りに伸びている線224a~224bが示されている。線224a~224bはティック結果206cの近傍(またはイン期間)を表してもよい。近傍220a~220bおよび/または近傍224a~224bは、コントラスト変化のクラスタ(例えばイベント108a~108n)を含む時間の部分を含んでいてもよい。領域222はフリッカーイベント間の沈黙期間SP(例えばアウト期間)を含んでいてもよい。
【0100】
プロセッサ104はティック結果を生成するように構成されていてもよい。ティック結果は時間の1つ以上の瞬間を含んでいてもよい。ティック結果はタイムスタンプによって表されてもよい。ティック結果のタイムスタンプは十分に正確な時間基準に対応していてもよい。プロセッサ104は、明滅光源に応答して生成されたイベント108a~108n(オンイベントまたはオフイベント)のクラスタの中心(または中間時間)に含まれるようにティック結果を計算してもよい。図示されている例では、ティック結果202cをイベント202a~202nのクラスタの中心で生成してもよい。
【0101】
図示されている例では、ティック結果202cは時間tnで生じてもよい。プロセッサ104は、明滅期間TPに従って次のティック結果206cを予測してもよい。例えば、次のティック結果206cは時間tn+1=tn+TPで生じてもよい。期間TPに基づいて次のティック結果を決定するために、プロセッサ104は最初に明滅期間TPを決定し、かつティック結果の初期時間tnを決定してもよい。
【0102】
プロセッサ104はティック補正を行うように構成されていてもよい。例えばティック結果の推定される(または予測される)やがて起こるタイムスタンプは、ティック結果のそれぞれのために必ずしも正確でなくてもよい。一例では、起動段階または同期段階中に推定値はまだ較正されていなくてもよい。別の例では、ティック結果はフリッカーに対応するイベント108a~108nのクラスタを得ることができていなくてもよい。さらに別の例では、フリッカーに対応するイベント108a~108nのクラスタは時間ドリフトを示してもよい。プロセッサ104によって行われるティック補正は、ティック結果のそれぞれのタイムスタンプを再評価するように構成されていてもよい。
【0103】
プロセッサ104は、ティック近傍内(例えばインイベント)のイベントの全ての平均タイムスタンプを計算することにより、ティック結果のタイムスタンプを再評価してもよい。例えばイベント202a~202nのクラスタ(それぞれがタイムスタンプtsを有する)は、近傍220a~220nにインイベントを含んでいてもよい。一例では、平均タイムスタンプは方程式EQ1に従って計算してもよい。
【数1】
方程式EQ1は、サンプル平均を用いた平均タイムスタンプのための1つの例示的な計算であってもよい。他の平均計算を行ってもよい。
【0104】
プロセッサ104によるティック補正計算は、ティック結果202cの近傍内でキャプチャされたイベント202a~202nのクラスタの全てのティック結果に対してオフセットされた平均タイムスタンプに基づく補正項を含んでいてもよい。ティック結果の近傍は調節可能なパラメータδTに基づいて決定してもよい。図示されている例では、近傍220a~220bはtn-δT(例えば線220a)からtn+δT(例えば線220b)までのタイムスパンを含んでいてもよい。いくつかの実施形態では、ゲインβを補正項に適用してもよい。当該ゲインは、ティック結果への収束の平滑化を可能にしてもよい。
【0105】
一例では、ティック結果がイベント108a~108nのクラスタの中心を得ることができていないが、そのクラスタがなおティック結果の近傍δT内にある場合、計算された補正項はイベント108a~108nのクラスタの真の中心位置を提供してもよい。図示されている例では、ティック結果202cの時間210aからの期間TPはティック結果206cの時間212を得ることができていなくてもよい。プロセッサ104は補正項Δを適用してもよい。例えば次のティック結果は、tn+1=tn+TP+βΔで生じてもよい。
【0106】
プロセッサ104はティック検証を行うように構成されていてもよい。ティック日付(例えばティック結果のタイムスタンプ)を計算した後に、プロセッサ104はティック結果206cが実際にイベント206a~206nのクラスタを表しているか否かを決定することにより、ティック結果を検証してもよい。ティック結果は基準に従って検証してもよい。一例では、ティック基準は3つの基準(例えば、クラスタイベントの数、イベント偏差および沈黙深さ)を含んでもよい。いくつかの実施形態では、さらなる基準を使用してティック結果を検証してもよい。いくつかの実施形態では、3つの基準のサブセットを使用してティック結果を検証してもよい。
【0107】
ティック結果を検証するために使用される基準は調節可能な閾値であってもよい。一例では当該基準のための調節可能な閾値は、入力信号CONFIGを用いて調整してもよい。選択された閾値はフリッカー検出の収束に影響を与えてもよい。各種基準のためにどの値を使用するかは各種因子(例えば、シーン、フリッカー源強度、センサ感度、センサ解像度など)によって決まってもよい。各種基準を、パターン検出モジュール150によって分析することができるイベントストリームEVSTMの特徴的パターンにおける統計値と比較してもよい。
【0108】
一般に、各種基準のための閾値設定の単一のセットを様々な明滅シーンのために使用してもよい。一例では、信号CONFIGを受信して各種基準のために閾値を設定してもよく、各新しいシーンのために再構成することなく様々なシーンのためにティック検証を行ってもよい。ティック結果を検証するために使用される基準は特定の実装の設計基準に従って変えてもよい。
【0109】
ティック検証のための基準の1つはクラスタイベントの数を含んでもよい。クラスタイベント基準の数を使用して、イベント108a~108nの十分な数(例えばイベント数閾値)がティック近傍224a~224bにおいてキャプチャされたか否かを決定してもよい。一例では、プロセッサ104は、タイムスタンプtsεtn±δTを有するイベントの数がイベント数閾値を超えているか否かについて統計値を決定してもよい。
【0110】
ティック検証のための基準の1つはイベント偏差を含んでもよい。イベント偏差基準は、イベント206a~206nのクラスタが互いに十分に近くで生じる(例えば、平均からの偏差周囲で十分にクラスタ化されている)か否かを決定することを含んでもよい。平均値はΔ変数であってもよい。イベント偏差基準は、平均からの偏差(例えば、std{ts-tn})が偏差閾値未満である場合に満たされてもよい。一般に標準偏差はコントラスト変化時に画素106a~106nによって生成されるイベントの平均タイムスパンにおよそ匹敵していてもよい。
【0111】
ティック検証のための基準の1つは沈黙深さを含んでもよい。プロセッサ104は、前のティック結果と現在のティック結果との間に顕著な沈黙期間SP(例えば、低いイベント活動および/または同じ極性で比較的少ないコントラスト変化)が存在するか否かを決定してもよい。沈黙深さは比に基づいて決定してもよい。この比は、「近傍外で観察されたイベント数」/「近傍内で観察されたイベント数」の統計値(例えばNout/Nin)に従って決定してもよい。図示されている例ではこの比は、「期間SP中のイベント204a~204bの数」/「近傍224a~224bにおけるイベント206a~206nのクラスタ中のイベント108a~108nの数」であってもよい。プロセッサ104は、沈黙深さ比が沈黙深さ閾値よりも小さいか否かを決定してもよい。特に沈黙深さ基準は、プロセッサ104が真のフリッカー周波数の約数をループロックするのを防止してもよい。
【0112】
プロセッサ104は、ティック結果のために期間推定を行うように構成されていてもよい。プロセッサ104が前のティック結果(例えばtn-1)および現在のティック結果(例えばtn+1)が有効であると決定した場合に、フリッカー期間を推定してもよい。フリッカー期間は、補正されたタイムスタンプ間の差として推定してもよい。一例ではフリッカー期間は、TPn+1=tn+1+Δn+1-tnに従って計算してもよい。
【0113】
プロセッサ104は初期期間(例えば起動期間)を決定してもよい。例えば、初期明滅期間は起動時に分かっていない場合があるため、プロセッサ104は近似としていくつかの初期期間値から開始してもよい。起動期間は同期期間Tsyncであってもよい。Tsyncの値は、明滅光源に対応するイベント108a~108nのクラスタの少なくとも1つのインスタンスをキャプチャするのに十分に大きくなるように選択してもよい。またTsyncの値は明滅光源に対応するイベント108a~108nの1つのみのクラスタをキャプチャするのに十分に小さくなるように選択してもよい。例えば2つ以上のクラスタを選択することにより、ティック補正のために計算された補正値に無意味な結果を提供させてもよい。
【0114】
いくつかの実施形態では、同期期間Tsyncの値は最小の可能な明滅期間(例えば、最も高い期待されるフリッカー周波数に対応する値)であってもよい。一般に、初期ティック位置の選択は任意(例えば、キャプチャされる最初のイベント)であってもよい。他の初期値は特定の実装の設計基準に従って選択してもよい。
【0115】
プロセッサ104は期間検証を実装するように構成されていてもよい。期間検証は、推定された期間に対して行うことができるさらなる範囲の確認を含んでもよい。例えばプロセッサ104は、推定された期間が可能なフリッカー源期間の[Tmin,Tmax]の期待される範囲にあるか否かを確認してもよい。プロセッサ104が推定された期間が有効であると決定した場合、推定された期間を使用して次のティック結果のタイムスタンプを決定してもよい。当該期間が有効でないと決定された場合、プロセッサ104は、Tsyncを当該期間として使用して次のティック結果のタイムスタンプを決定してもよい。
【0116】
プロセッサ104はフリッカーイベントにロックするように構成されていてもよい。プロセッサ104は同期状態でフリッカー検出を開始してもよい。フリッカーイベントの特徴的パターンの分析(例えば、安定な明滅パターンの決定)に応答して、プロセッサ104はロック状態に入ってもよい。一例では、同期状態とロック状態との切り換えは、ヒステリシスを有するカウンタに従って決定してもよい。例えばロック(例えばヒステリシス)カウンタは、パターン検出モジュール150によって実装されてもよい。いくつかの実施形態では、ヒステリシスカウンタは有効な期間の検出に応答して増分され、有効な期間が検出されない場合に減分されてもよい。
【0117】
ロック閾値が実装されてもよい。ロック閾値は調節可能な値であってもよい。ヒステリシスカウンタがロック閾値を超えている場合、プロセッサ104はフリッカー検出をロック状態に切り換えてもよい。別の例では、ヒステリシスカウンタは、ロック状態に入るための上限閾値およびロック状態から出るための異なる下限閾値を比較してもよい。いくつかの実施形態では、カウンタはヒステリシスなしで実装されてもよい。フリッカーイベントのためのイベント108a~108nのバーストが十分に繰り返される(例えば周期的である)か否かを決定するための他の技術を使用して、ロック状態に入ってもよい。ロック状態に入るための基準は特定の実装の設計基準に従って変えてもよい。
【0118】
プロセッサ104がフリッカー検出が同期状態であると決定した場合、ティック結果期間TPは値Tsyncであってもよい。プロセッサ104がフリッカー検出がロック状態にあると決定した場合、ティック結果期間TPは最後の有効な期間であってもよい。いくつかの実施形態では、異なる近傍間隔δT(例えば、フリッカー近傍間隔δTF)を同期状態およびロック状態のために使用してもよい。例えば、ロック状態において使用されるより狭い近傍間隔は、イベント206a~206nのクラスタの位置が確認された場合により少ないイベント108a~108nを脱落させるのを可能にしてもよい。同期状態ではティック日付のための任意の始点により、より広い間隔を使用してもよい。
【0119】
プロセッサ104は、フリッカーイベントの特徴的パターンの分析に応答してロック状態に入ることを決定してもよい。例えばプロセッサ104は、フリッカーパターンが所定の期間(例えば十分に長い期間)にわたって検出された場合にフリッカーイベントが安定に検出されたことを決定してもよい。一例では、検出されたコントラスト変化の各バースト間で時間間隔を測定してもよい。測定された間隔が期待されるフリッカー期間(または期待されるフリッカー期間の範囲)に十分に近いと決定された場合、バーストは周期的であると決定してもよく、かつフリッカーイベントに対応していてもよい。十分な数のフリッカー期間が検出された場合にフリッカー検出はロック状態に入ってもよい(例えばフリッカー軽減を行ってもよい)。
【0120】
図7を参照すると、ティックイベントの近傍内で生じるイベントのクラスタのフリッカー軽減を示す図が示されている。タイミンググラフ250が示されている。タイミンググラフ250は軸Tを含んでいてもよい。軸Tは時間を表してもよい。タイミンググラフ250は時間Tにわたって生じるイベントストリームEVSTMのイベント108a~108nを示していてもよい。
【0121】
ティック結果252aおよびティック結果252bが示されている。ティック結果252aはフィルタ近傍260a~260b内にあってもよい。ティック結果252bはフィルタ近傍262a~262b内にあってもよい。矢印254a~254nのクラスタがフィルタ近傍260a~260b内に示されている。矢印254a~254nのクラスタは、
図6に関連づけて示されている矢印202a~202nのクラスタと同様のフリッカーイベントに対応するイベントのクラスタを含んでいてもよい。矢印256a~256mが沈黙領域222内に示されている。矢印256a~256mは、
図6に関連づけて示されているイベント204a~204bと同様のフリッカーイベントに対応していないイベントを含んでいてもよい。矢印258a~258nのクラスタは、
図6に関連づけて示されている矢印206a~206nのクラスタと同様に、フリッカー近傍262a~262b内にフリッカーイベントに対応するイベントのクラスタを含んでいてもよい。
【0122】
タイミンググラフ250は、プロセッサ104がロック状態に入っている間にキャプチャされたイベント108a~108nのタイミングを表してもよい。例えばプロセッサ104は、明滅イベントの特徴的パターンを分析し、かつ安定なパターン(例えば、ある期間にわたって繰り返し生じるフリッカーイベント)が検出されたことを決定したところであってもよい。イベント108a~108nのバーストの抑制(例えばフリッカー軽減)前に、プロセッサ104はイベント108a~108nが周期的パターンからフィルタリング除去されることを保証してもよい。プロセッサ104がロック状態にある間にフリッカー軽減を行うことにより、ランダムバースト(例えば、画素106a~106nの出力におけるノイズが原因)をフィルタリングする代わりに、明滅パターンに対応するイベント108a~108nがフィルタリングされることを保証してもよい。安定な明滅画素は、期待される期間(例えば、100Hzのフリッカーの場合は10msの期間)において異なる極性のイベントのバーストを生成してもよい。
【0123】
プロセッサ104がロック状態にある場合にフリッカー軽減モジュール152は、ティック結果のフリッカー近傍(例えば、ティック結果252aの場合はフリッカー近傍260a~260bであって、ティック結果252bの場合はフリッカー近傍262a~262b)内でフィルタリングを行ってもよい。フィルタリングは単一の画素、画素の群または視野全体のために行ってもよい。フリッカー軽減モジュール152は、フリッカー近傍内で生じるイベント108a~108nの全て(例えば、[ts-δTF...ts+δTF]内の全てのイベント)を除去するように構成されていてもよい。フリッカー近傍の近傍δTFは調節可能なパラメータであってもよい(例えば、信号CONFIGによって調節可能)。一例では、近傍δTFは静的パラメータであってもよい。別の例では、近傍δTFは動的に調整されるパラメータであってもよい。
【0124】
一般にフィルタリングのための近傍δTFは、ティック結果を検証するために使用される値とは異なっていてもよい。例えばプロセッサ104はロック状態で動作するので、δTFのための近傍はティック結果の近傍のために使用される(例えば、ティック補正および/またはティック検証のために使用される)近傍δTよりも狭くてもよい。図示されている例では、フリッカー近傍260a~260bは、
図6に関連づけて示されているティック結果202cの周囲の近傍220a~220bよりもティック結果252aの周囲で狭くてもよい。同様にフリッカー近傍262a~262bは、
図6に関連づけて示されているティック結果206cの周囲の近傍224a~224bよりもティック結果252bの周囲で狭くてもよい。近傍δTFは特定の実装の設計基準に従って変えてもよい。
【0125】
いくつかの実施形態では、フリッカー軽減モジュール152はフィルタリングのためにイベントのクラスタの幅を動的に推定してもよい。一例では、動的推定はティック結果の周囲のイベントタイムスタンプ(例えばINタイムスタンプ)の偏差をスケーリングすることにより行ってもよい。例えば、フィルタリングのための近傍はδTF=ασであってもよく、式中、αはフィルタリングされるクラスタイベントの量にわたる制御を可能にする固定された調節可能なパラメータであり、σはティック結果の近くのイベントの標準偏差の推定値である。δTFの値を選択するための技術は特定の実装の設計基準に従って変えてもよい。
【0126】
フィルタリング近傍260a~260b内の全てのイベントがフィルタリング除去される場合があるため、明滅イベントに関連づけられていないイベント108a~108nのいくつかもフィルタリング除去される場合がある。図示されている例では、ティック結果252aの近くのイベント254a~254nのクラスタ全てがフィルタリング除去される場合があり、ティック結果252bの近傍のイベント258a~258nの全てのクラスタがフィルタリング除去される場合がある。沈黙領域222内のイベント256a~256mの全てがフィルタリングされたイベントストリームFEVSTM内に残っている場合がある。イベント256a~256mを沈黙領域222内に維持することにより、明滅光の入力をキャプチャしていることが決定された画素106a~106nの1つから全てのイベントを除去するのではなく、フィルタリングされたイベントストリームFEVSTM中に所望のイベントを得てもよい。ロック状態のために近傍δTFを限定することにより、より少ないイベント108a~108nをフィルタリング除去してもよい。
【0127】
図8を参照すると、フリッカー軽減を用いない場合のイベントストリームの視覚表現を示す図が示されている。イベントストリームEVSTMの視覚表現300が示されている。イベントストリームEVSTMの視覚表現300は、時間のある瞬間において画素106a~106nによって生成されるイベント108a~108nのスナップショットを表してもよい。イベントストリームEVSTMの視覚表現300は、例示を目的として単一のスナップショットとして提供されてもよい。一般にイベントストリームEVSTMは、画素106a~106nのそれぞれがイベント108a~108nの新しい1つを出力する際に(例えば、予め定められたフレームレートで画像センサの出力全体を提供する従来のビデオフレームとは対照的)、非同時的に更新されてもよい。イベントストリームEVSTMが個々のフレームを提供し得ない間は、イベントストリームの視覚表現は、約10,000フレーム/秒(またはそれ以上)の有効なフレームレートを提供するように連続的に更新されてもよい。イベントストリームEVSTMの視覚表現300は、レンダラー表現、またはEBセンサ102によってキャプチャされた完全なシーンのイベント108a~108nのラスタープロットを含んでもよい。
【0128】
イベントストリームEVSTMの視覚表現300はフリッカー軽減を用いない場合の出力信号EVSTMを示してもよい。例えばイベントストリームEVSTMの視覚表現300において、イベント108a~108nはどれもフィルタリングされていない。プロセッサ104(例えばパターン検出モジュール150)はイベント108a~108nを分析して、フリッカーイベントの1つ以上の特徴的パターンを検出するように構成されていてもよい。検出されるフリッカーイベントの数は、メモリ122が2つ以上のコンテキストを記憶するのを可能にするか否かによって決まってもよい(例えば、EBセンサ102全体のために1つの明滅光源のフリッカー検出を行うか、EBセンサ102の様々なブロック/画素における複数の明滅光源のためにフリッカー検出を行う)。
【0129】
イベントストリームEVSTMの視覚表現300は、EBセンサ102を用いて明滅光の中を歩いている人をキャプチャするという例を提供してもよい。人の歩行に対応するEBセンサ102によってキャプチャされた光の変化を表すイベント302~310のクラスタが示されている。イベント302のクラスタは一般に人の頭部を定めてもよい。イベント304のクラスタは一般に人の体を定めてもよい。イベント306のクラスタは一般に人の腕を定めてもよい。イベント308のクラスタは一般に人の脚を定めてもよい。イベント310のクラスタは一般に人の足を定めてもよい。イベント302~310のクラスタが人の動きをキャプチャし得る間、イベントストリームEVSTMの視覚表現300は複数の他のイベントを含んでいる場合がある(例えば、視覚表現300における黒色のドットは、光の変化に応答して出力を生成した画素106a~106nを表してもよく、空白は出力を生成していない画素106a~106nを表してもよい)。イベント108a~108nのいくつかは望ましいイベントであってもよく、イベント108a~108nのいくつかは明滅光源に対応していてもよい。
【0130】
点線の四角320および点線の四角322が示されている。点線の四角320および点線の四角322はそれぞれ、イベント108a~108nのクラスタを含んでいてもよい。イベント320のクラスタはイベントストリームEVSTMの視覚表現300において人に対応していなくてもよい。イベント322のクラスタは、イベントストリームEVSTMの視覚表現において人によって落とされる影に対応していてもよい。イベント320のクラスタおよび/またはイベント322のクラスタはそれぞれ、明滅光源によって引き起こされ得るハロー効果および/またはパルシング効果を含んでいてもよい。例示的な視覚表現300では、イベントの大部分は1つ以上の明滅光源に対応していてもよい。
【0131】
プロセッサ104はイベントストリームEVSTM中の様々なイベントの特徴的パターンを分析するように構成されていてもよい。プロセッサ104は、必ずしもイベント108a~108nが対応する物体(例えば、人、車両、影など)の種類を決定するわけではなくてもよい。プロセッサ104は特徴的パターンが明滅光源を表すか否かを決定してもよい。ロック(例えば安定な明滅パターン)を決定した後、プロセッサ104は、計算されたティック結果に基づいてイベントをフィルタリング除去することにより明滅光源の効果を軽減してもよい。一例では、人の動き(例えば、イベント302~310のクラスタ)はどの明滅イベントにも対応していなくてもよい。但し、イベント302~310のクラスタ中のイベントのいくつかはなお明滅光源によって引き起こされ、かつフィルタリング除去されてもよい。別の例では、人の影は必ずしもEBセンサ102によってキャプチャされる望ましくない物体でなくてもよい。例えば、人によって落とされた影が明滅光源によって引き起こされない場合、イベント322のクラスタはフィルタリング除去されなくてもよい。但し、明滅光源によって引き起こされるイベント322のクラスタ中のイベントはフィルタリング除去されてもよい。一般に例示を目的として、イベント320および322のクラスタ中のイベントの大部分は明滅光源によって引き起こされてもよい。イベントがフィルタリング除去されるか否かは、イベントの特徴的パターンおよび/または生成されたティック結果の分析によって決まってもよい。
【0132】
一例では、イベント320のクラスタは、100Hzの明滅LEDをキャプチャした画素106a~106nに対応していてもよい。プロセッサ104は100Hzの明滅LEDの特徴的パターンを分析して、フリッカーによって生成された周期的なイベントパターンが存在するか否かを決定してもよい。プロセッサ104はティック結果を推定してもよい(例えば、一般にイベント320のクラスタ中の100Hzの明滅LEDによって引き起こされるイベントの群の中心において)。
【0133】
一例では、イベント322のクラスタは人によって落とされた影をキャプチャした画素106a~106nに対応していてもよい。イベント322のクラスタ中のイベントの大部分はフィルタリング除去することができる明滅光源によって引き起こされてもよいが、イベント322のクラスタは保存することができる(例えば、明滅光源に対応する特徴的パターンを検出しないプロセッサ104によって行われる分析に基づく)非フリッカーイベントも含んでいてもよい。
【0134】
図9を参照すると、フリッカー軽減を用いた場合のイベントストリームの視覚表現を示す図が示されている。フィルタリングされたイベントストリームFEVSTMの視覚表現350が示されている。
図8に関連づけて示されている視覚表現300と同様に、フィルタリングされたイベントストリームFEVSTMの視覚表現350は時間のある瞬間において画素106a~106nによって生成されたイベント108a~108nのスナップショットを表してもよい。例えば、フィルタリングされたイベントストリームFEVSTMの視覚表現350に示されている時間のある瞬間は、視覚表現300における時間のある瞬間よりも後の時間(例えば、フリッカー検出が明滅光源を検出し、かつフリッカー軽減を行った後)であってもよい。
【0135】
フィルタリングされたイベントストリームFEVSTMの視覚表現350は、フリッカー軽減モジュール152によって行われたフリッカー軽減により生成された出力信号FEVSTMを示していてもよい。例えばフィルタリングされたイベントストリームFEVSTMの視覚表現350において、明滅光源をキャプチャした特定のブロック/画素に対応するイベント108a~108nはフィルタリング除去されていてもよい。
【0136】
図8に関連づけて示されているイベントストリームEVSTMの視覚表現300と同様に、フィルタリングされたイベントストリームFEVSTMの視覚表現350は、EBセンサ102を用いて明滅光の中を歩いている人をキャプチャするという例を提供してもよい。人の歩行に対応するEBセンサ102によってキャプチャされた光の変化を表すイベント352~360のクラスタが示されている。イベント352のクラスタは一般に人の頭部を定めてもよい。イベント354のクラスタは一般に人の体を定めてもよい。イベント356のクラスタは一般に人の腕を定めてもよい。イベント358のクラスタは一般に人の脚を定めてもよい。イベント360のクラスタは一般に人の足を定めてもよい。
【0137】
人に対応するイベント352~360のクラスタは、フリッカー軽減モジュール152によって実装されたフリッカーフィルタにより前処理されてもよい。図示されている例では、フィルタリングされたイベントストリームFEVSTMの視覚表現350中のイベント352~360のクラスタは、イベントストリームEVSTMの視覚表現300中のイベント302~310のクラスタよりも密でなくてもよい。例えば、イベント302~310の元のクラスタの多くは明滅光源によって引き起こされたものであってもよい。フィルタリングにより人に対応するイベント108a~108nの多くを脱落させてもよいが、フィルタリングされたイベントストリームFEVSTMの視覚表現350中のイベント352~360のクラスタは人の輪郭をなお保存していてもよい(例えば、頭352の形状、体354の形状、腕356の形状、脚358の形状および足360の形状は、なお明確に定められていてもよい)。フリッカー軽減モジュール152によって行われるフィルタリングは、フィルタリングされたイベントストリームFEVSTM中のデータの量を減少させることにより、様々な物体をなお定めるのを可能にしてもよい。フィルタリングされたイベントストリームFEVSTM中のより少ないデータは、明滅光源が原因で生成される多過ぎるイベント108a~108nによって引き起こされる帯域幅の過負荷を防止してもよい。
【0138】
点線の四角370および点線の四角372が示されている。点線の四角370および点線の四角372はそれぞれ、フィルタリングされたイベントストリームFEVSTMの視覚表現350において、
図8に関連づけて示されているイベントストリームEVSTMの視覚表現300に示されているイベント320~322のクラスタと同様の位置にイベント108a~108nのクラスタを含んでいてもよい。イベント370~372のクラスタ中のイベントの数(例えば黒色のドット)はより密でなくてもよい。実装されているフィルタリングにより、1つ以上の明滅光源によって引き起こされるハロー効果を除去してもよい。一例では、イベント108a~108nの大部分が明滅光源によって引き起こされる場合、プロセッサ104はフィルタリングされたイベントストリームFEVSTMを生成する前にイベントの大部分を除去してもよい。イベント370~372のクラスタがフィルタリング除去することができる画素106a~106nの領域の代表的な例として示されているが、フィルタリング除去されるイベント108a~108nはパターン検出モジュール150による分析によって決まってもよい。
【0139】
図示されている例では、人によって落とされた影に対応するイベント372のクラスタは大部分がフィルタリング除去されたものであってもよい。影は常にフィルタリング除去することができるわけではない。イベント(例えば、影、物体などに対応している)が除去されるか否かは、イベント108a~108nが明滅光源によって生成されるノイズであることが決定されるか否かによって決定してもよい。パターン検出モジュール150およびフリッカー軽減モジュール152は、明滅光源によって引き起こされなかったイベントを同時に保存しながらも、明滅光源によって引き起こされたノイズを除去するように構成されていてもよい。図示されている例では、歩いている人のカウンタを保存することを可能にしながらも、イベント370~372のクラスタ中のイベント108a~108nの多くがフィルタリング除去されてもよい。
【0140】
プロセッサ104はイベントストリームEVSTMを分析してもよい。初期収束(例えば、明滅光源に対応するイベントの検出およびティック結果の生成)後に、フィルタリングされたイベントストリームFEVSTMのほとんど全てのフリッカーイベントがフィルタリング除去されてもよい。いくつかの実施形態では、弱い明滅源に対応する領域はより少なくフィルタリングされてもよい。
【0141】
フィルタリングされたイベントストリームFEVSTMの視覚表現350は、多くの明滅光源がフィルタリング除去されていることを示していてもよい。いくつかの実施形態では、イベントレートを使用して、イベント108a~108nのフィルタリングが行われたか否かを決定してもよい(例えば、光源が通常のレートで明滅している場合のイベントレートと比較した、光源が0Hzで明滅している場合のシーンの比較)。例えばイベントレートが変化していない場合にフリッカー軽減を適用してもよい。いくつかの実施形態では、フリッカー軽減を再度実行することにより、フリッカー軽減が成功したか否かを決定してもよい。例えば、あらゆる周期的明滅光が既にフィルタリング除去されている場合があるため、フィルタリングされたイベントストリームFEVSTMをパターン検出モジュール150に提供することによりロックの失敗が生じる場合がある。
【0142】
図10を参照すると、方法(またはプロセス)400が示されている。方法400はイベントベースセンサのためにアンチフリッカーフィルタ軽減を実装していてもよい。方法400は一般に、工程(または状態)402、工程(または状態)404、工程(または状態)406、工程(または状態)408、工程(または状態)410、決定工程(または状態)412、工程(または状態)414および工程(または状態)416を含む。
【0143】
工程402は方法400を開始してもよい。工程404では、EBセンサ102は、画素回路アレイ110の画素106a~106nによってなされた自立検出に応答してイベント108a~108nの画素位置および/またはタイムスタンプを生成してもよい。シリアライザ112は検出回路116a~116nからイベント108a~108nを受信し、かつ受信順にイベント108a~108nをイベントストリームEVSTMに挿入してもよい。次に工程406では、プロセッサ104は非同期イベントストリームEVSTMを受信してもよい。例えばシリアライザ112は、新しいイベントが画素106a~106nによって検出された際にイベントストリームEVSTMを連続的に提供してもよい。次に方法400は工程408に移動してもよい。
【0144】
工程408では、プロセッサ104はイベントストリームEVSTMにおける特徴的パターンを検出してもよい。一例では、パターン検出モジュール150は起動期間(例えば同期期間Tsync)を用いて動作してもよい。次に工程410では、プロセッサ104はイベントストリームEVSTMの特徴的パターンを分析してもよい。一例ではパターン検出モジュール150は、ロック動作モードに入るために安定なフリッカーパターンが検出されたか否かを決定してもよい。次に方法400は決定工程412に移動してもよい。
【0145】
決定工程412では、プロセッサ104は、フリッカーイベントの繰り返し間隔を画素位置において検出することができるか否かを決定してもよい。いくつかの実施形態では、フリッカーイベントを完全なシーンのために検出してもよい(例えば、1つのみのフリッカー源が検出される)。いくつかの実施形態では、フリッカーイベントはブロック/画素ごとのベースで検出されてもよい。一例では、パターン検出モジュール150はカウンタを実装して検出された多くの有効な期間が閾値を超えているか否かを決定してもよい。フリッカーイベントの繰り返し間隔が全く検出されない場合、方法400は工程416に移動してもよい。フリッカーイベントの繰り返し間隔が検出された場合、方法400は工程414に移動してもよい。工程414では、プロセッサ104は、イベントストリームEVSTMの特徴的パターンに基づいてティック結果を生成してもよい。一例では、パターン検出モジュール150はティック結果TICKを生成してもよい。次に方法400は工程416に移動してもよい。
【0146】
工程416では、パターン検出モジュール150は非同期イベントストリームEVSTMを出力してもよい。一例ではフリッカーフィルタリングを行うために、イベントストリームEVSTMをティック結果TICKと共にフリッカー軽減モジュール152に提供してもよい。別の例では、ティック結果が生成されない場合、イベントストリームEVSTMをフィルタリングなしで素通りさせてもよい。次に方法400は工程404に戻ってもよい。方法400は順次示されているが、一般にEBセンサ102はイベント108a~108nを連続的かつ/または絶えず生成してもよく、プロセッサ104はイベントストリームEVSTMの特徴的パターンを検出および分析し、かつフリッカーイベントを検出し、かつ/またはティック結果を生成する。
【0147】
図11を参照すると、方法(またはプロセス)450が示されている。方法450はイベントストリームを分析してティック結果を決定し、かつフリッカーイベントをフィルタリングしてもよい。
図11に示されている方法450の一部は一般に、工程(または状態)452、工程(または状態)454、決定工程(または状態)456、工程(または状態)458、決定工程(または状態)460、工程(または状態)462、工程(または状態)464、決定工程(または状態)466、工程(または状態)468、工程(または状態)470、工程(または状態)472、決定工程(または状態)474、工程(または状態)476および工程(または状態)478を含んでいてもよい。
【0148】
図12を参照すると、方法450が示されている。
図12に示されている方法450の一部は一般に、工程(または状態)480、決定工程(または状態)482、工程(または状態)484、工程(または状態)486、工程(または状態)488、工程(または状態)490、決定工程(または状態)492、工程(または状態)494、工程(または状態)496および工程(または状態)498を含んでいてもよい。
【0149】
方法450は
図11に部分的に示されており、かつ
図12に部分的に示されている。
図11および
図12の組み合わせで示されている方法450は、装置100によって行われるフリッカー検出および/またはフリッカー軽減のハイレベルフローチャートを提供してもよい。
【0150】
工程452は方法450を開始してもよい。工程454では、プロセッサ104はイベントストリームEVSTMを受信してもよい。次に方法450は決定工程456に移動してもよい。決定工程456では、プロセッサ104は受信されたイベント108a~108nの1つのタイムスタンプ(例えばts)と信号TICK中の現在のティック結果との差の絶対値が値δTよりも小さいか否かを計算してもよい。一例ではプロセッサ104は、現在のイベントtsがティック結果202cの近傍220a~220bの近傍内にあるか否かを決定してもよい。現在のイベントがティック結果202cの近傍220a~220bの近傍内にある場合、方法450は工程458に移動してもよい。工程458では、プロセッサ104は、イン期間のために実行中の統計(例えば、近傍220a~220bにおけるイベント202a~202nの数、{ts-TICK}の平均値および{(ts-TICK)2}の平均値)を更新してもよい。次に方法450は、工程484(パターン検出モジュール150がフリッカーイベントにロックしていない場合)または決定工程492(パターン検出モジュール150がフリッカーイベントにロックしている場合)のいずれかに移動してもよい。決定工程456では、現在のイベントがティック結果202cの近傍220a~220bの近傍外(例えば沈黙期間SP中)にある場合、方法450は決定工程460に移動してもよい。
【0151】
決定工程460では、プロセッサ104は受信されるイベント108a~108nの1つのタイムスタンプtsと信号TICK中の現在のティック結果との差の絶対値が値δTよりも大きいか否かを計算してもよい。一例ではプロセッサ104は、現在のイベントtsがティック結果202cの近傍220a~220bの近傍のかなり外にあるか否かを決定してもよい。例えば、受信されるイベントタイムスタンプがティック結果から遠い場合、プロセッサ104はティック更新を行ってもよい。いくつかの実施形態では、現在のイベントtsがティック結果の近傍のかなり外にあるか否かの決定は、現在のイベントtsとティック結果TICKとの差がゼロよりも大きいか否かの計算に応答して行ってもよい。現在のイベントtsが近傍220a~220bの近傍のかなり外にない場合、方法450は工程462に移動してもよい。工程462では、プロセッサ104はアウト期間のために実行中の統計(例えば、沈黙領域222におけるイベント204a~204bの数)を更新してもよい。次に、方法450は工程484(パターン検出モジュール150がフリッカーイベントにロックしていない場合)または決定工程492(パターン検出モジュール150がフリッカーイベントにロックしている場合)のいずれかに移動してもよい。決定工程460では、現在のイベントtsが近傍220a~220bの近傍のかなり外にない場合、方法450は工程464に移動してもよい。工程464では、プロセッサ104はティック検証基準を計算してもよい。次に方法450は決定工程466に移動してもよい。
【0152】
決定工程466では、プロセッサ104は、ティック結果が有効であるか否かを決定してもよい。一例ではプロセッサ104は、
図14に関連して説明するティック検証基準を行ってもよい。ティック結果が有効でない場合、方法450は工程468に移動してもよい。工程468では、プロセッサ104は次のティック結果のために前の期間を使用してもよい。一例では、前の期間はメモリ122に以前に記憶された期間または同期期間Tsyncであってもよい。次に方法450は工程470に移動してもよい。決定工程466では、ティック結果が有効である場合、方法450は工程470に移動してもよい。工程470では、パターン検出モジュール150は、次のティック結果(例えばティック結果206c)を生成してもよい。次に工程472では、パターン検出モジュール150はティック期間を測定してもよい。次に方法450は決定工程474に移動してもよい。
【0153】
決定工程474では、パターン検出モジュール150は、ティック期間が有効であるか否かを決定してもよい。一例では、測定されたティック期間が可能なフリッカー源期間の範囲内にある場合にティック期間は有効であってもよい。ティック期間が有効でない場合、方法450は工程476に移動してもよい。工程476では、パターン検出モジュール150はロック状態カウンタを減分してもよい。次に方法450は工程480に移動してもよい。決定工程474では、ティック期間が有効である場合、方法450は工程478に移動してもよい。工程478では、パターン検出モジュール150はロック状態カウンタを増分してもよい。次に方法450は工程480に移動してもよい。工程480では、プロセッサ104はロック状態カウンタを調節可能な閾値と比較してもよい。次に方法450は決定工程482に移動してもよい。
【0154】
決定工程482では、パターン検出モジュール150は検出されたフリッカーが安定であるか否かを決定してもよい。一例では、特定の期間のために特徴的パターンが検出された(例えば、ロックカウンタが調節可能な閾値に達した)場合にフリッカーが安定であるとしてもよい。フリッカーが安定であると決定されない場合、方法450は工程484に移動してもよい。工程484では、パターン検出モジュール150はフリッカーイベントへのロックにより動作しなくてもよい。次に工程486では、フリッカー軽減モジュール152によりイベント108a~108nを1つもフィルタリング除去しなくてもよい(例えば、決定工程454~462において分析されるイベントtsをフィルタリングしなくてもよい)。次に方法450は工程498に移動してもよい。
【0155】
決定工程482では、フリッカーが安定であると決定された場合、方法450は工程488に移動してもよい。工程488では、パターン検出モジュール150はフリッカーイベントのためにロック状態に入ってもよい。次に工程490では、フリッカー軽減モジュール152はフィルタリング近傍を決定してもよい(例えば、フリッカー近傍260a~260bのための値δTF)。次に方法450は決定工程492に移動してもよい。
【0156】
決定工程492では、フリッカー軽減モジュール152は、イベント108a~108n(例えば、決定工程454~462において分析されたイベントtsはフィルタリングしなくてもよい)がフィルタリング近傍260a~260b内にあるか否かを決定してもよい。一例ではフリッカー軽減モジュールは、現在のイベントtsとティック結果252aとの差の絶対値がフリッカー近傍値δTFより小さいか否かを決定してもよい。イベントtsがフリッカー近傍260a~260b内にない場合、方法450は工程494に移動してもよい。工程494ではフリッカー軽減モジュール152は、フィルタリングされたイベントストリームFEVSTMからイベントをタイムスタンプtsにおいてフィルタリング除去しなくてもよい。次に方法450は工程498に移動してもよい。決定工程492では、イベントtsがフリッカー近傍260a~260b内にある場合、方法450は工程496に移動してもよい。工程496では、フリッカー軽減モジュール152はフィルタリングされたイベントストリームFEVSTMからイベントをタイムスタンプtsにおいてフィルタリング除去してもよい。次に方法450は工程498に移動してもよい。工程498は方法450を終了してもよい。
【0157】
図13を参照すると、方法(またはプロセス)550が示されている。方法550はフィルタリングを完全なシーンに適用するかフィルタリングをイベントベースセンサによってキャプチャされるシーンの個々のブロック/画素に適用してもよい。方法550は一般に、工程(または状態)552、工程(または状態)554、決定工程(または状態)556、工程(または状態)558、工程(または状態)560、工程(または状態)562、工程(または状態)564、工程(または状態)566、工程(または状態)568、工程(または状態)570および工程(または状態)572を含む。
【0158】
工程552は方法550を開始してもよい。工程554では、プロセッサ104はイベントストリームEVSTMを受信してもよい。次に方法550は決定工程556に移動してもよい。
【0159】
決定工程556では、プロセッサ104は完全なシーンの分析を行うかブロック/画素ごとのベースで分析を行うか否かを決定してもよい。一例では信号CONFIGは、ユーザによって装置100が完全なシーン分析またはブロック/画素ごとのベースでの分析を行うか否かを選択するのを可能にしてもよい。別の例では、プロセッサ104はメモリ122の容量(またはメモリ122を実装するか否か)に基づいてブロック/画素ごとの分析を選択してもよい。さらに別の例では、プロセッサ104は画素106a~106nの1つ以上の特徴的パターンを分析して、シーンに複数の明滅源が存在するか否かを決定してもよい。プロセッサ104が完全なシーン分析を選択した場合、方法550は工程558に移動してもよい。
【0160】
工程558では、パターン検出モジュール150は、1つのフリッカーイベントの特徴的パターンを検出するために完全なシーン(例えば、画素106a~106nの全てによって生成されるイベント108a~108n)を分析してもよい。例えば、EBセンサ102の視野全体が明滅光源によって影響を受ける場合がある。次に工程560では、プロセッサ104は、完全なシーンのために1つのみのコンテキスト(例えば、イベント108a~108nの全てのために1つのコンテキスト)を使用してもよい。工程562では、フリッカー軽減モジュール152は、単一の光源からフリッカーイベントのティック結果に基づいて明滅光源に対応するイベントをフィルタリング除去してもよい。次に方法550は工程572に移動してもよい。
【0161】
決定工程556においてプロセッサ104がブロック/画素ごとの分析を選択した場合、方法550は工程564に移動してもよい。工程564では、プロセッサ104は分析するブロック/画素の数を決定してもよい。いくつかの実施形態では、視野を画素106a~106nのクラスタの部分領域に分割してもよい。いくつかの実施形態では、プロセッサ104は画素106a~106nのそれぞれの分析を行ってもよい。一例ではメモリ122の容量は、画素ごとの分析を行うことができるか否かを決定してもよい。次に工程566では、パターン検出モジュール150は、フリッカーイベントの個々の特徴的パターンについて各ブロック/画素を分析してもよい。各ブロック/画素は独立し、かつ並行して分析してもよい。工程568では、メモリ122は各ブロック/画素の特徴的パターンのためにコンテキストを記録してもよい。信号CXTを使用して、プロセッサ104とメモリ122との間でブロック/画素のそれぞれのコンテキスト情報を伝送してもよい。次に工程570では、フリッカー軽減モジュール152は各ブロック/画素のためにフリッカー源からイベントをフィルタリング除去してもよい。例えば、ブロック/画素ごとの分析を行う場合に複数の明滅源をフィルタリング除去してもよい。次に方法550は工程572に移動してもよい。工程572は方法550を終了してもよい。
【0162】
図14を参照すると、方法(またはプロセス)600が示されている。方法600はティック結果を検証してもよい。方法600一般に、工程(または状態)602、工程(または状態)604、工程(または状態)606、工程(または状態)608、工程(または状態)610、決定工程(または状態)612、工程(または状態)614、決定工程(または状態)616、工程(または状態)618、決定工程(または状態)620、工程(または状態)622、工程(または状態)624および工程(または状態)626を含む。
【0163】
工程602は方法600を開始してもよい。工程604では、プロセッサ104はイベントストリームEVSTMを受信してもよい。次に工程606では、プロセッサ104は検証基準を受信してもよい。一例では、検証基準は信号CONFIG中で提供されてもよい。別の例では、検証基準はメモリ122に記憶されていてもよい。さらに別の例では、検証基準はプロセッサ104のレジスターに記憶されていてもよい。工程608では、プロセッサ104はイベントストリームの統計値(例えば、イベントの数、平均からの偏差、インイベントとアウトイベントとの比など)を分析してもよい。次に工程610では、プロセッサ104はティック近傍220a~220b内で起こったイベント202a~202nの数を決定してもよい。次に方法600は決定工程612に移動してもよい。
【0164】
決定工程612では、プロセッサ104は、ティック近傍220a~220b内のイベントの数がクラスタ基準よりも大きいか否かを決定してもよい。一例では、クラスタ基準は(例えば信号CONFIGを介して)調節可能な閾値を含んでいてもよい。イベントの数がクラスタ基準よりも小さいかそれと等しい場合、方法600mは工程622に移動してもよい(例えば、ティック結果は無効であってもよく、かつ検証のためにさらなる試験は必要とされなくてもよい)。イベントのクラスタがクラスタ基準よりも大きい場合、方法600は工程614に移動してもよい。工程614では、プロセッサ104は平均タイムスパンからイベントの標準偏差を決定してもよい。次に方法650は決定工程616に移動してもよい。
【0165】
決定工程616ではプロセッサ104は、平均タイムスパンの周囲のイベントの偏差が偏差基準よりも小さいか否かを決定してもよい。一例では、偏差基準は(例えば信号CONFIGを介して)調節可能な閾値を含んでいてもよい。平均タイムスパンの周囲のイベントの偏差が偏差基準よりも大きいかそれと等しい場合、方法600は工程622に移動してもよい(例えば、ティック結果は無効であってもよく、かつ検証のためにさらなる試験は必要とされなくてもよい)。平均タイムスパンの周囲のイベントの偏差が偏差基準よりも小さい場合、方法600は工程618に移動してもよい。工程618では、プロセッサ104は沈黙深さ比を計算してもよい。次に方法600は決定工程620に移動してもよい。
【0166】
決定工程620では、プロセッサ104は、沈黙深さ比が沈黙深さ基準よりも小さいか否かを決定してもよい。一例では、沈黙深さ比は(例えば信号CONFIGを介して)調節可能な閾値を含んでいてもよい。沈黙深さ比が沈黙深さ基準よりも大きいかそれと等しい場合、方法600は工程622に移動してもよい。工程622では、プロセッサ104はティック結果を無効にしてもよい。次に方法600は工程626に移動してもよい。決定工程620では、沈黙深さ比が沈黙深さ基準よりも小さい場合、方法600は工程624に移動してもよい。工程624では、プロセッサ104はティック結果が有効であると決定してもよい。次に方法600は工程626に移動してもよい。工程626は方法600を終了してもよい。
【0167】
方法600には、順次行われるティック検証のための各種基準が示されている。いくつかの実施形態では、統計値の計算および/または検証基準との比較は並行し、かつ/または実質的に並行して行ってもよい。いくつかの実施形態では、分析される基準の順番は変えてもよい。いくつかの実施形態では、他の基準をティック検証のために使用してもよい。ティック検証を行うための計算の種類および/または工程の順番は特定の実装の設計基準に従って変えてもよい。
【0168】
図1~
図14の図によって行われる機能は、関連技術の当業者には明らかであるように、従来の汎用プロセッサ、デジタルコンピュータ、マイクロプロセッサ、マイクロコントローラ、RISC(縮小命令セットコンピュータ)プロセッサ、CISC(複雑命令セットコンピュータ)プロセッサ、SIMD(単一命令多重データ)プロセッサ、信号プロセッサ、中央処理装置(CPU)、算術論理演算ユニット(ALU)、ビデオデジタル信号プロセッサ(VDSP)および/または本明細書の教示に従ってプログラムされた同様の計算機の1つ以上を用いて実装してもよい。これも関連技術(単数または複数)の当業者に明らかであるように、適当なソフトウェア、ファームウェア、コーディング、ルーチン、命令、オペコード、マイクロコードおよび/またはプログラムモジュールを本開示の教示に基づいて熟練のプログラマによって容易に準備することができる。当該ソフトウェアは一般に、機械実装のプロセッサの1つ以上によって1つの媒体またはいくつかの媒体から実行される。
【0169】
また本発明は本明細書に記載されているように、ASIC(特定用途向け集積回路)、プラットフォームASIC、FPGA(フィールドプログラマブルゲートアレイ)、PLD(プログラマブルロジックデバイス)、CPLD(コンプレックスプログラマブルロジックデバイス)、sea-of-gate、RFIC(無線周波数集積回路)、ASSP(特定用途向け標準品)、1つ以上のモノリシック集積回路、フリップチップモジュールおよび/またはマルチチップモジュールとして、あるいは従来の部品回路の適当なネットワークを相互接続することにより配置された1つ以上のチップまたはダイの準備によって実装してもよく、それらの修正は技術(単数または複数)の当業者に容易に明らかになるであろう。
【0170】
従って本発明は、本発明に係る1つ以上のプロセスまたは方法を行うための機械をプログラムするために使用することができる命令を含む1つ以上の記憶媒体および/または1つ以上の送信媒体であってもよいコンピュータ製品も含んでもよい。周辺回路の動作と共に機械によるコンピュータ製品に含まれている命令の実行により、入力データを記憶媒体上の1つ以上のファイルおよび/または聴覚的および/または視覚的描写などの物理的対象物または物質を表す1つ以上の出力信号に変換してもよい。記憶媒体としては限定されるものではないが、フロッピーディスク、ハードドライブ、磁気ディスク、光ディスク、CD-ROM、DVDおよび光磁気ディスクを含む任意の種類のディスクならびにROM(リードオンリーメモリ)、RAM(ランダムアクセスメモリ)、EPROM(消去可能プログラマブルROM)、EEPROM(電気的消去可能プログラマブルROM)、UVPROM(紫外線消去可能プログラマブルROM)、フラッシュメモリ、磁気カード、光カードおよび/または電子命令を記録するのに適した任意の種類の媒体などの回路が挙げられる。
【0171】
本発明の要素は、1つ以上の装置、ユニット、コンポーネント、システム、機械および/または装置の一部または全てを形成してもよい。当該装置としては、限定されるものではないが、サーバ、ワークステーション、ストレージアレイコントローラ、ストレージシステム、パーソナルコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、パームコンピュータ、クラウドサーバ、携帯情報端末、携帯電子機器、電池式装置、セットトップボックス、エンコーダ、デコーダ、トランスコーダ、コンプレッサ、デコンプレッサ、プリプロセッサ、ポストプロセッサ、送信機、受信機、送受信機、暗号回路、携帯電話、デジタルカメラ、ポジショニングおよび/またはナビゲーションシステム、医療機器、ヘッドアップディスプレイ、無線装置、音声記録、音声記憶および/または音声再生装置、ビデオ記録、ビデオ記憶および/またはビデオ再生装置、ゲームプラットフォーム、周辺装置および/またはマルチチップモジュールが挙げられる。関連技術(単数または複数)の当業者であれば、本発明の要素を特定の用途の基準を満たすために他の種類の装置に実装することができることを理解するであろう。
【0172】
「してよい」および「一般に」という用語は「である」および動詞と共に本明細書で使用される場合、当該記載が例示であるという意図を伝えることが意図されており、本開示で提供されている具体例および本開示に基づいて導出することができる他の例の両方を包含するのに十分な広さであると考えられる。本明細書で使用される「してよい」および「一般に」という用語は、必ずしも対応する要素を省略するという望ましさまたは可能性を示すように解釈されるべきではない。
【0173】
「a」~「n」としての様々なコンポーネント、モジュールおよび/または回路の指定が本明細書で使用される場合、単一の部品、モジュールおよび/または回路あるいは複数のそのようなコンポーネント、モジュールおよび/または回路のいずれかを開示しており、ここでは「n」という指定は任意の特定の整数を意味するために適用される。それぞれが「a」~「n」の指定を有するインスタンス(または発生)を有する異なるコンポーネント、モジュールおよび/または回路は、異なるコンポーネント、モジュールおよび/または回路が一致する数のインスタンスまたは異なる数のインスタンスを有し得ることを示してもよい。「a」と指定されているインスタンスは複数のインスタンスの1つ目を表してもよく、インスタンス「n」は複数のインスタンスの最後を指してもよく、特定の数のインスタンスを示すものではない。
【0174】
本発明を特にそれらの実施形態を参照しながら図示および説明してきたが、本発明の範囲から逸脱することなく形態および詳細における様々な変化を行うことができることが当業者によって理解されるであろう。
【外国語明細書】