(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-19
(45)【発行日】2024-03-28
(54)【発明の名称】イベントベースのイメージセンサを動作させるためのデジタルイベント符号化
(51)【国際特許分類】
H04N 25/70 20230101AFI20240321BHJP
H04N 25/707 20230101ALI20240321BHJP
【FI】
H04N25/70
H04N25/707
(21)【出願番号】P 2023542657
(86)(22)【出願日】2022-01-13
(86)【国際出願番号】 EP2022050678
(87)【国際公開番号】W WO2022152810
(87)【国際公開日】2022-07-21
【審査請求日】2023-11-22
(32)【優先日】2021-01-14
(33)【優先権主張国・地域又は機関】EP
【早期審査対象出願】
(73)【特許権者】
【識別番号】520207608
【氏名又は名称】プロフェシー
【氏名又は名称原語表記】PROPHESEE
【住所又は居所原語表記】74 rue du Faubourg Saint Antoine, 75012 PARIS, FRANCE
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ショーン,ギヨーム
(72)【発明者】
【氏名】マシェローニ,アンドレア
(72)【発明者】
【氏名】ナグレスワラン,スラクサン
(72)【発明者】
【氏名】アン,ティン
(72)【発明者】
【氏名】ペラン,パトリス
(72)【発明者】
【氏名】ドアノー,ピエール‐アントワン
【審査官】三沢 岳志
(56)【参考文献】
【文献】米国特許出願公開第2018/0262705(US,A1)
【文献】米国特許出願公開第2020/0410272(US,A1)
【文献】国際公開第2019/115517(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 25/70
H04N 25/707
(57)【特許請求の範囲】
【請求項1】
ピクセルアレイを形成するように配置される複数のピクセル回路を含むイベントベースのイメージセンサを動作させる方法であって、各ピクセルは、アドレスによって定義される位置に配置されており、各ピクセル回路は、
感光体の感光素子に対する光衝突により生成される光電流から導出される感光体信号を伝達するために構成される感光体回路と、
前記感光体信号の変化を検出し、前記感光体信号内で変化が検出される毎にイベントを生成するために構成される変化検出器であって、イベントは、前記感光体信号の変化の向きを反映する第1極性又は第2極性によって特徴付けられる変化検出器と、
を備え、当該方法は、
ピクセルラインの隣接ピクセルグループのライン読み出しを実行するステップであって、該ライン読み出しは、各ピクセルグループについて、該ピクセルグループ内で同じ極性のイベントの発生を表す少なくとも1つのパケットを生成することを含み、各パケットは、該パケットで表される前記イベントの前記第1極性又は前記第2極性と、前記ピクセルグループのピクセルの少なくともアドレスから導出されるグループアドレスとによって特徴付けられる、ステップと、
前記パケットを、該パケットが連続的に処理される処理パイプラインに送信するステップであって、前記処理パイプラインは、処理されたパケットの前記グループアドレスに基づく少なくとも1回のメモリアクセスを伴うパケットの少なくとも1つのイベント処理を含み、同じグループアドレスを共有する2つのパケットは異なる極性を有し、前記イベント処理において連続的に処理される、ステップと、
を含む、方法。
【請求項2】
前記ライン読み出しの間に、パケットは、イベントが少なくとも1つのピクセルで発生した前記隣接ピクセルグループに対してのみ生成される、
請求項1に記載の方法。
【請求項3】
前記パケットを、前記処理パイプラインに送信するステップは、
前記パケットをラインシーケンスに配置するステップであって、前記同じグループアドレスを共有する2つのパケットを前記ラインシーケンス内に互いに隣接して配置する、ステップと、
前記ラインシーケンスを前記処理パイプラインに送信するステップと、
を含む、請求項1又は2に記載の方法。
【請求項4】
各パケットは、該パケットの極性を示す極性インジケータを含むヘッダと、前記グループアドレスを含み、各パケットは、前記ピクセルグループのうちのどのピクセルグループがイベントを生成したかを示すイベントベクトルを含む、
請求項1乃至3のいずれか1項に記載の方法。
【請求項5】
前記ライン読み出しの間に、ピクセルのラインが、少なくとも6つの隣接ピクセルグループに分割され、各グループは、少なくとも10個の隣接ピクセルを含む、
請求項1乃至4のいずれか1項に記載の方法。
【請求項6】
前記同じグループアドレスを共有する2つのパケットの前記イベント処理の間に、1回の読み出しメモリアクセスのみと、1回の書き込みメモリアクセスのみが実行される、
請求項1乃至5のいずれか1項に記載の方法。
【請求項7】
前記イベント処理は、現在処理されているパケットのグループアドレスを、前記処理パイプライン内の次のパケット又は前のパケットのグループアドレスと比較することと、前記現在処理されているパケットのグループアドレスと、前記次のパケット又は前記前のパケットのグループアドレスとの間に一致が見つかった場合、メモリアクセスを防止することとを含む、
請求項1乃至6のいずれか1項に記載の方法。
【請求項8】
前記イベント処理は、現在処理されているパケットのグループアドレスを、前記処理パイプライン内の次のパケットのグループアドレスと比較することと、前記現在処理されているパケットのグループアドレスと、前記次のパケットのグループアドレスとの間に一致が見つかった場合、前記グループアドレスに関連するデータは、メモリに書き込まれる代わりに、バッファに記憶される、
請求項1乃至7のいずれか1項に記載の方法。
【請求項9】
前のパケットと同じグループアドレスを有するパケットの前記イベント処理の間に、前記グループアドレスに関連するデータは、各グループアドレス専用の位置を有するメモリ内で取り出される代わりに、バッファから取り出される、
請求項1乃至8のいずれか1項に記載の方法。
【請求項10】
前記イベント処理は、現在処理されているパケットのグループアドレスを、前記処理パイプライン内の次のパケット又は前のパケットのグループアドレスと比較することを含み、前記比較はハードウェアで実装される、
請求項1乃至9のいずれか1項に記載の方法。
【請求項11】
ピクセルアレイを形成するように配置される複数のピクセル回路を含むイベントベースのイメージセンサであって、各ピクセルは、アドレスによって定義される位置に配置されており、各ピクセル回路は、
感光体の感光素子に対する光衝突により生成される光電流から導出される感光体信号を伝達するために構成される感光体回路と、
前記感光体信号の変化を検出し、前記感光体信号内で変化が検出される毎にイベントを生成するために構成される変化検出器であって、イベントは、前記感光体信号の変化の向きを反映する第1極性又は第2極性によって特徴付けられる、変化検出器と、
前記ピクセルにおけるイベントの発生をモニタし、ライン読み出しをトリガするように構成されるモニタリング回路と、
各ピクセルグループについて、該ピクセルグループ内で同じ極性のイベントの発生を表す少なくとも1つのパケットを生成する、ライン読み出しを実行するように構成される読み出し回路であって、各パケットは、該パケットで表される前記イベントの前記第1極性又は前記第2極性と、前記ピクセルグループのピクセルの少なくともアドレスから導出されるグループアドレスとによって特徴付けられる、読み出し回路と、
前記パケットが連続的に処理される処理パイプラインであって、前記処理パイプラインは、処理されたパケットの前記グループアドレスに基づく少なくとも1回のメモリアクセスを伴うパケットの少なくとも1つのイベント処理を含み、同じグループアドレスを共有する2つのパケットを連続的に処理するように構成される、処理パイプラインと、
を含み、当該イベントベースのイメージセンサは、請求項1乃至10のいずれか一項に記載の方法を実装するよう構成される、
イベントベースのイメージセンサ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ニューロモルフィックセンサ(neuromorphic sensor)とも呼ばれるイベントベースのイメージセンサを動作させる方法に関する。
【背景技術】
【0002】
従来のビデオカメラでは、装置はフォトグラムを次々と記録する。イベントベースのイメージセンサでは、フォトグラムは存在しない。ビデオカメラと同様に、集積回路はフォトセンサマトリクスを含む。しかしながら、従来のビデオカメラでは、各フォトセンサが固定の頻度でサンプリングされるが、一方、時間コントラストセンサ(temporal contrast sensor)ではピクセルはサンプリングされない:各ピクセルは、感知する光の強度変化を計算し、この強度変化に対して任意に何らかの処理を行い、計算された量が所定のレベル又は閾値を超えると、ピクセルは「アナログピクセルイベント(analog pixel event)」、すなわち、APEを生成する。
【0003】
APEは、該APEが発生したピクセル上で光強度変化が生じたという情報を伝送するために処理されなければならない。読み出しは、APEをデジタルイベントの形態で処理パイプラインへ伝送するために実行され、処理パイプラインでは、様々な処理、例えばフィルタリング、フォーマッティング、パケット化、インタフェーシング等が実行される。フィルタ、特に時空間フィルタ及びフリッカ防止のようないくつかの処理要素は、メモリ内に事前に記憶されているピクセルに関連するデータへのアクセスを必要とする。多くのメモリアクセスが関与し、特にメモリは典型的にSRAM(静的ランダムアクセスメモリ)であるので、これは膨大な電力消費を意味する。SRAMは、アイドル時は低消費電力であるが、動作時は高消費電力である。したがって、SRAMの電力消費は、それがアクセスされる頻度に直接相関する。
【0004】
画像ダイナミクスに対する良好なレンダリングを達成するために、センサは、たとえわずかな光の変化であっても、少なくとも1つのピクセルでAPEをトリガし得るように構成される。加えて、常に高い解像度が望まれることは、より多くのピクセルがイベントを生成することを意味する。したがって、毎秒多くのイベントを処理しなければならず、多くのメモリアクセスを伴う。その結果、センサは相当の電力消費を経験する。
【0005】
したがって、解像度又は感度を犠牲にすることなく、消費電力が低減されたイベントベースのイメージセンサが必要とされる。
【発明の概要】
【0006】
本発明は、ピクセルアレイを形成するように配置される複数のピクセル回路を含むイベントベースのイメージセンサを動作させる方法に関し、各ピクセルは、アドレスによって定義される位置に配置されており、各ピクセル回路は、
-感光体(photoreceptor)の感光素子(light-sensitive element)に対する光衝突(light impinging)により生成される光電流から導出される感光体信号を伝達するために構成される感光体回路と、
-感光体信号の変化を検出し、感光体信号内で変化が検出される毎にイベントを生成するために構成される変化検出器であって、イベントは、感光体信号の変化の向き(direction)を反映する第1極性又は第2極性によって特徴付けられる、変化検出器と、
を備え、本方法は、
-ピクセルラインの隣接ピクセルグループのライン読み出しを実行するステップであって、該ライン読み出しは、各ピクセルグループについて、該ピクセルグループ内で同じ極性のイベントの発生を表す少なくとも1つのパケットを生成することを含み、各パケットは、該パケットで表されるイベントの第1極性又は第2極性と、ピクセルグループのピクセルの少なくともアドレスから導出されるグループアドレスとによって特徴付けられる、ステップと、
-パケットを、該パケットが連続的に処理される処理パイプラインに送信するステップであって、処理パイプラインは、処理されたパケットのグループアドレスに基づく少なくとも1回のメモリアクセスを伴うパケットの少なくとも1つのイベント処理を含み、同じグループアドレスを共有する2つのパケットは異なる極性を有し、イベント処理において連続的に処理される、ステップと、
を含む。
【0007】
本発明は、イベントベースのイメージセンサの電力消費を大幅に低減することを可能にする。両極性のアナログピクセルイベントが同じ隣接ピクセルグループで起こるとき、生成されたイベントを処理するために2回の読み出しメモリアクセスと2回の書き込みメモリアクセスの代わりに、1回のみの読み出しメモリアクセスと1回のみの書き込みメモリアクセスが必要とされる。メモリアクセスは非常に電力集約的であるので、メモリアクセスの数を制限することは、イベントベースのイメージセンサの電力消費を著しく減少させる。
【0008】
本発明の他の非限定的であるが好ましい側面は、単独で又は技術的に実施可能な組合せで、以下のとおりである:
-ライン読み出しの間に、パケットは、イベントが少なくとも1つのピクセルで発生した隣接ピクセルグループに対してのみ生成され、
-同じグループアドレスを共有する2つのパケットは異なる極性を有し、
-パケットを、処理パイプラインに送信するステップは、
-パケットをラインシーケンスに配置するステップであって、同じグループアドレスを共有する2つのパケットラインシーケンス内に互いに隣接して配置する、ステップと、
-ラインシーケンスを処理パイプラインに送信するステップと、
を含み、
-各パケットは、該パケットの極性を示す極性インジケータを含むヘッダと、グループアドレスを含み、各パケットは、ピクセルグループのうちのどのピクセルグループがイベントを生成したかを示すイベントベクトルを含み、
-ライン読み出しの間に、ピクセルのラインが、少なくとも6つの隣接ピクセルグループに分割され、各グループは、少なくとも10個の隣接ピクセルを含み、
-同じグループアドレスを共有する2つのパケットのイベント処理の間に、1回のみの読み出しメモリアクセスと、1回のみの書き込みメモリアクセスが実行され、
-イベント処理は、現在処理されているパケットのグループアドレスを、処理パイプライン内の次のパケット又は前のパケットのグループアドレスと比較することと、現在処理されているパケットのグループアドレスと、次のパケット又は前のパケットのグループアドレスとの間に一致が見つかった場合、メモリアクセスを防止することとを含み、
-イベント処理は、現在処理されているパケットのグループアドレスを、処理パイプライン内の次のパケットのグループアドレスと比較することと、現在処理されているパケットのグループアドレスと、次のパケットのグループアドレスとの間に一致が見つかった場合、グループアドレスに関連するデータは、メモリに書き込まれる代わりに、バッファに記憶され、
- 前のパケットと同じグループアドレスを有するパケットのイベント処理の間に、グループアドレスに関連するデータは、各グループアドレス専用の位置を有するメモリ内で取り出される代わりに、バッファから取り出され、
-イベント処理は、現在処理されているパケットのグループアドレスを、処理パイプライン内の次のパケット又は前のパケットのグループアドレスと比較することを含み、比較はハードウェアで実装される。
【0009】
本発明はまた、ピクセルアレイを形成するように配置される複数のピクセル回路を含むイベントベースのイメージセンサにも関連し、各ピクセルは、アドレスによって定義される位置に配置され、各ピクセル回路は、
-感光体の感光素子に対する光衝突により生成される光電流から導出される感光体信号を伝達するために構成される感光体回路と、
-感光体信号の変化を検出し、感光体信号内で変化が検出される毎にイベントを生成するために構成される変化検出器であって、イベントは、感光体信号の変化の向きを反映する第1極性又は第2極性によって特徴付けられる変化検出器と、
-ピクセルにおけるイベントの発生をモニタし、ライン読み出しをトリガするように構成されるモニタリング回路と、
-各ピクセルグループについて、該ピクセルグループ内で同じ極性のイベントの発生を表す少なくとも1つのパケットを生成する、ライン読み出しを実行するように構成される読み出し回路であって、各パケットは、該パケットで表されるイベントの第1極性又は第2極性と、ピクセルグループのピクセルの少なくともアドレスから導出されるグループアドレスとによって特徴付けられる、読み出し回路と、
-パケットが連続的に処理される処理パイプラインであって、処理パイプラインは、処理されたパケットのグループアドレスに基づく少なくとも1回のメモリアクセスを伴うパケットの少なくとも1つのイベント処理を含み、同じグループアドレスを共有する2つのパケットを連続的に処理するように構成される、処理パイプラインと、
を含み、当該イベントベースのイメージセンサは、本発明による方法のステップを実行するよう構成される。
【図面の簡単な説明】
【0010】
本発明の他の態様、目的及び利点は、非限定的な例として与えられ、添付の図面を参照してなされる、本発明の好ましい実施形態の以下の詳細な説明を読むと、より明らかになるであろう。
【0011】
【
図1】本発明の可能な実施形態による、イベントベースのイメージセンサのピクセルアレイの簡略図である。
【0012】
【
図2】本発明の可能な実施形態による、イベントベースのイメージセンサのピクセルアレイのピクセルの構造の簡略図である。
【0013】
【
図3】ピクセルの同じ極性グループのAPEの発生を表すパケットがどのように生成されるかの例を概略的に示す図である。
【0014】
【
図4】イベント処理によってパケットがどのように処理されるかを示すフローチャートである。
【0015】
【
図5】
図3の例のイベント処理に関与する信号のデジタルタイミング図である。
【発明を実施するための形態】
【0016】
可能な実施形態によるイベントベースのイメージセンサの簡略図が
図1に示されている。イベントベースのイメージセンサは、ピクセルアレイを形成する複数のピクセル回路、より簡単にはピクセル1を含む。
図1は、明確性の目的のために、限られた数のピクセル1を示す。ピクセルアレイは、例えば256×256ピクセルを超える寸法を有する、例えば1280×720ピクセルの解像度を有する多数のピクセル1を含むことが理解される。
図2に示されるように、各ピクセル1は、感光体10の感光素子に対する光衝突によって生成される光電流から導出された感光体信号を伝達するために構成される感光体回路10と、光電流から導出された感光体信号V
prの変化を検出するために構成される変化検出器12とを含む。感光体回路10と変化検出器12との間に、感光体信号V
prをフィルタリングするバンドパスフィルタを設けることができる。
【0017】
感光体10の感光素子は、典型的にフォトダイオードであり、入射光を、感光素子の露光量によって決まる光電流に変換する。感光体信号Vprは、通常、光電流と対数関係にある。典型的には、感光体信号Vprを以下のように近似することができる:
Vpr=k1ln(Ipr)+k2
ここで、Iprは光電流の強度であり、k1及びk2は定数因子である。感光体信号Vprの瞬間電圧値は、光電流の瞬間強度と対数的に関係し、したがって、感光体信号Vprの測定により、感光体回路10の感光素子の露光量レベルを導出することが可能になる。
【0018】
変化検出器12は、感光体信号Vprの変化を検出するよう構成される。変化検出器12は、感光体信号Vprの変化を連続的にモニタし、変化が検出されるたびに検出信号を出力する。検出信号は、調節可能な電圧閾値を超える感光体信号Vprのわずかな増加又は減少を識別する。したがって、感光体信号Vprにおける変化は、ピクセルの検出信号におけるアナログピクセルイベント、すなわちAPEに変換される。
【0019】
イベントは、少なくとも、APEによって引き起こされる感光体信号Vprにおける変化の向きを反映する極性(高/低、正/負又はオン/オフとして区別なく指定される)によって特徴付けられる。より正確には、変化検出器12は、感光体信号Vprが増加するとき、すなわち前の値を閾値だけ上回るとき、高極性イベントを生成し、変化検出器12は、感光体信号Vprが減少するとき、すなわち前の値に対して閾値を下回るとき、低極性イベントを生成する。比較器は、通常、感光体信号Vprの瞬間値を、基準として使用される前の値と比較するために使用される。イベントは、極性によって特徴付けられるだけでなく、イベントが生成されたピクセル1のライン(line)及び列座標(それぞれx、y)によって構成されるピクセルアドレスによっても特徴付けられる。イベントはまた、特定の時間に生成又は送信され、発生時間によって特徴付けられることもある。例えば動的ビジョンセンサ(DVS)の場合にピクセルによって受信される照明強度の変化を検出するために使用することができる変化検出器12が、米国特許第7,728,269号及び米国特許第8,780,240号に記載されている。
【0020】
固定頻度のサンプリングがない場合、ピクセル1の読み出しをトリガするのは、ピクセル1におけるイベントの発生である。イベントの生成は、イベントベースのセンサによって撮像されたシーンの光強度変化によって条件付けられる。したがって、ピクセル1によるイベント生成は予測不可能であり、多くのイベントが同時に発生する可能性がある。加えて、ピクセル1の数が多いほど、処理すべきイベントの数は多い。速度及び効率要件を一致させるために、読み出しは、同じ読み出しサイクルにおいて同じラインのピクセルのイベントを処理するために実行される。
【0021】
読み出しは、ピクセル内のイベントの発生をモニタするモニタリング回路2によってトリガされる。例えばイベントが発生する毎に、共通ラインバス上で送信されるライン信号が生成され、これがモニタリング回路2によってモニタされる。よって、モニタリング回路は、ピクセルアレイ内に存在するラインと同数の入力を含んでよく、したがって、イベントが発生したラインを識別することができる。モニタリング回路2は、ライン信号が検知されると、ライン読み出し(line readout)をトリガする。
【0022】
典型的に、このような読み出しは、読み出し回路4によって行われる。例えば読み出し回路4は、ピクセルアレイ内の列と同数の入力を含み、各列に対して1つの入力がある。ライン読み出しがトリガされると、ラインのすべてのピクセル1の状態が、読み出し回路4の入力へ同時に複製される。ピクセル1の状態は、典型的には最後の読み出しから一定時間の間に、そのピクセル1においてイベントが発生したかどうかを示す。したがって、同じラインのピクセル1は同時に読み出される。ライン読み出しは、イベントが発生したピクセル毎にイベントを生成する。
【0023】
ライン読み出しを高速化するために、ピクセル1のラインは、そのラインの隣接ピクセルグループに分割される。典型的には、ラインは、少なくとも6つの隣接ピクセルグループ、好ましくは少なくとも8つの隣接ピクセルグループ、より好ましくは少なくとも12個の隣接ピクセルグループに分割され、各グループは少なくとも10個の隣接ピクセルを含む。
図3の例では、上側プロットにおいて、1280個のピクセルのラインが、32個の隣接ピクセルの40個のグループ21、22、23、24、25に分割されている。もちろん、他の方法でラインを分割することも可能である。第1隣接ピクセルグループ21はX座標0~31のピクセルで構成され、第2隣接ピクセルグループ22はX座標32~63のピクセルで構成され、第3隣接ピクセルグループ23はX座標64~95のピクセルで構成され、第4隣接ピクセルグループ24はX座標96~127のピクセルで構成される等である。
【0024】
図3において、下向き矢印は、そのピクセル1について光強度が減少したことを示す第1極性イベント(例えば低極性)を示し、上向き矢印は、そのピクセル1について光強度が増加したことを示す第2極性イベント(例えば高極性)を示す。ライン読み出しは、アナログピクセルイベントに対応するデジタルイベントを生成し、それらのイベントは、それらの極性及びピクセル1のグループ化に従ってグループ化される。
【0025】
ライン読み出しは、各ピクセルグループについて、該ピクセルグループにおける同じ極性のイベントの発生を表す少なくとも1つのパケットを生成することを含み、各パケットは、該パケットで表されるイベントの第1極性又は第2極性と、そのピクセルグループのピクセルの少なくともアドレスから導出されるグループアドレスと、によって特徴付けられる。パケットの極性は、該パケットで表されるイベントの極性から継承される。各パケットは1つの極性にのみ関連する。イベントはイベントベクトルによって表される。
【0026】
より正確には、ピクセルグループのイベントは、ピクセルグループ内のイベントの位置を維持した状態で、そのグループ内の同じ極性のイベントの発生を表すイベントベクトルに符号化される。同じグループ内で2つの極性のイベントが発生する場合、各極性に1つずつ、2つのイベントベクトルが生成される。同じグループで1つの極性のイベントのみが発生する場合、1つのイベントベクトルのみが生成される。
図3の例では、第1ピクセルグループ21において、低極性イベントと高極性イベントが発生した。したがって、第1ピクセルグループの低極性イベントに対して第1イベントベクトルが生成され、同じ第1ピクセルグループの高極性イベントに対して第2ベクトルが生成される。第2ピクセルグループ22では、高極性イベントのみが発生した。したがって、高極性イベントの第2ピクセルグループ22に対して、1つのイベントベクトルのみが生成される。好ましくは、ライン読み出し中に、イベントベクトルは、イベントが少なくとも1つのピクセルで発生した隣接ピクセルグループに対してのみ生成される。
【0027】
イベントベクトルは、イベントを示すビットのシーケンスを含む。ビットのシーケンスは、ピクセルグループと同じ長さである、すなわち、ピクセルグループ内に存在するピクセル1と同数のビットがある。シーケンスの各ビットはグループ内のピクセルに対応し、ビットの順序はグループ内のピクセル1の順序に対応する。ビットの状態、すなわち0又は1は、対応するピクセルでイベントが発生したかどうかに依存する。
図3の例では、1のビットは、対応するピクセル1でイベントが発生したことを示し、0のビットは、対応するピクセルでイベントが発生しなかったことを示す。他の符号化を使用することもできる。したがって、第1ピクセルグループ21における低極性のイベントを表す第1イベントベクトルにおいて、3つの低極性イベントが、イベントベクトルにおいて1に設定された3つのビットに変換され、他のビットは0である。第1ピクセルグループ21における高極性のイベントを表す第2イベントベクトルにおいて、2つの正のイベントが、イベントベクトルにおいて1に設定された2つのビットに変換され、他のビットは0である。第2ピクセルグループ22における高極性のイベントを表す第3イベントベクトルにおいて、4つの正のイベントは、第3イベントベクトルにおいて1に設定された4つのビットに変換され、他のビットは0である。
【0028】
イベントベクトルは、それが導出されるピクセルグループの特徴に関連付けられる。この目的のために、各イベントベクトルは、イベントベクトルと、関連する特徴が記憶されるヘッダとを含むパケット30(すなわち、パケット30a、30b、30c、30d、30e、30f)にカプセル化される。パケットに含まれるイベントベクトルとして、パケットは、隣接ピクセルグループおける同じ極性のイベントの発生を表す。したがって、パケット30はまた、該パケットにおいて表されるイベントの第1極性又は第2極性にそれぞれ対応する、第1極性又は第2極性によって特徴付けられる。パケット30はまた、該パケット30に関連する隣接ピクセルグループのピクセル1の少なくともアドレスから導出されるか又は少なくとも関連するグループアドレスによっても特徴付けられる。
【0029】
図3の例では、ヘッダは、イベントベクトル35で表されるイベントの極性をコーディングする第1シーケンス31を含む。この例では、0x0は第1極性(低)を示し、一方、0x1は第2極性(高)を示す。ヘッダは、タイムスタンプ、例えば読み出しが発生した時間に関連するイベントタイムベースの最下位ビットをコーディングする第2シーケンス32を含む。ピクセルグループはライン読み出し中に同時に読み出されるので、この例では、すべてのパケット30a、30b、30c、30d、30e、30f、30gは、0x5としてコーディングされた同じタイムスタンプを共有する。ヘッダは、グループアドレスをコーディングする第3シーケンス33及び第4シーケンス34を含む。この例では、パケット30のグループアドレスは、ピクセルグループの最初のピクセルのX座標とY座標の組合せで構成されるが、もちろん、グループアドレスが、そのパケット30が関連するピクセルグループの各ピクセルを識別することを可能にするものである限り、グループアドレスを異なる方法で符号化することも可能である。
【0030】
第3シーケンス33は、グループアドレスのX座標を符号化するが、これは、各ピクセルグループの第1ピクセルのX座標に対応する。この例では、第3シーケンス33は16進数でコーディングされる。したがって、第1パケット30a及び第2パケット30bの第3シーケンス33は、それらが同じ第1ピクセルグループ21から導出されるので0x0であり、第3パケット30cの第3シーケンス33は、第2ピクセルグループ22の第1ピクセルがラインの32番目のピクセルであるので0x20であり、第4パケットの第3シーケンス33は、第3ピクセルグループ23の第1ピクセルがラインの64番目のピクセルであるので0x40であるなどである。この例では、ピクセルグループは32個のピクセルを含み、その結果、グループアドレスのX座標は32の倍数で分離される。当然ながら、他の長さのピクセルグループは、グループアドレスのX座標間に異なる間隔をもたらすことになる。
【0031】
ヘッダは、グループアドレスのY座標をコーディングする第4シーケンス34を含み、これは、すべてのパケット30が同じ8番目のラインのピクセルに対応するので、すべてのパケット30に対して0x8としてコーディングされる。最後に、パケット30は、イベントベクトルを含み、この例では、上記で説明したように、対応するピクセルでイベントが発生したか否かに応じて、0又は1で32ビットのシーケンスを含む。
【0032】
好ましくは、ライン読み出し中に、パケット30は、少なくとも1つのピクセルでイベントが発生した隣接ピクセルグループに対してのみ生成される。また、少なくとも1つのピクセルでイベントが発生した各隣接ピクセルグループに対して、少なくとも1つのパケット30が生成される。同じグループアドレスを有する2つのパケット30は、同じピクセルグループ内で第1極性イベントと第2極性イベントが発生したときにのみ生成されるため、同じグループアドレスを共有する2つのパケット30は、異なる極性を有することに留意されたい。
【0033】
一旦生成されると、パケット30は処理パイプライン6に送られ、処理パイプライン6において、パケット30は連続して処理される、すなわち処理パイプライン6に送られるのと同じ順序で処理される。典型的には、パケット30を連結することによってパケットのラインシーケンスが作成され、該ラインシーケンスが処理パイプライン6に送られる。
図3では、パケットのシーケンスは、パケット30の配置によって図示されている。第1パケット30aの後に第2パケット30bが続き、その後に第3パケット30cが続き、その後に第4パケット30dが続き、その後に第5パケット30eが続き、その後に第6パケット30fが続き、その後に最後の第7パケット30gが続く。
【0034】
好ましくは、処理の大部分はハードウェア実装され、パケット30は極めて高速に処理されなければならないという事実のために、プロセッサは関与しない。以下に説明されるように、イベント処理は、現在処理されているパケットのグループアドレスを、処理パイプライン6内の次のパケット又は前のパケットのグループアドレスと比較することを含み得る。好ましくは、少なくとも比較はハードウェア実装される。このような比較は、例えば一組の論理ゲート(AND、NAND、NOR等)からなる比較器を形成する電子デバイスによって実行される。このようなハードウェア比較器は命令を実行せず、したがって、プロセッサではない。既に説明したように、処理パイプライン6において、例えばフィルタリング、フォーマッティング等の様々なイベントプロセスが実行され得る。少なくとも1つのイベントプロセスは、少なくとも1のメモリアクセスを伴う。例えば時空間フィルタ及びフリッカ防止は、メモリに事前に記憶されているピクセルに関連するデータへのアクセスを必要とする。フリッカ防止の場合、メモリは、フリッカを示す規則的なパターンを検出するために、連続するイベント間の期間を記憶し得る。メモリはまた、各ピクセルに固有のカウンタを記憶してもよく、このカウンタは、そのピクセルに関連付けられるイベントが受け取られるたびにインクリメント又はデクリメントされる。
【0035】
メモリは、例えばRAM(ランダムアクセスメモリ)であり、アクセス時間が短いため、典型的にはSRAM(静的ランダムアクセスメモリ)である。メモリは、読み出しサイクルを超えたピクセルに関するデータを記憶する。各ピクセルグループには、該ピクセルグループに関連するデータが記憶されるメモリ内の位置が関連付けられる。このようなデータは、対応するメモリ位置に変換されるグループアドレス(x,y座標)を介して取り出される。また、このようなデータを上書きすることができ、あるいは追加データで補完することもできる。
【0036】
特定のイベントのピクセルアドレスは、パケット30に関連付けられるグループアドレスを介して取り出される。Y座標は、ヘッダの第4シーケンス34に符号化され、したがって、直ちに決定されることができる。イベントのX座標は、ヘッダの第3シーケンス33にコーディングされたグループアドレスのX座標と、イベントベクトル内の対応するビットの位置とによって定義される。例えばそのグループアドレスのX座標としてnを有するイベントベクトルのi番目のビットは、ラインの(n+i)番目のピクセルに対応する。理論的には、各イベントを処理するために1回のメモリアクセスが必要となるであろう。しかしながら、効率化の目的のために、そしてイベントはピクセルグループによって処理されることから、ピクセルグループに関連するデータは同時に扱われる。これは、実際のメモリ位置がピクセルグループのピクセルに対応することを意味する。したがって、メモリアクセスはグループアドレスに基づいており、1回のメモリアクセスは、ピクセルグループのピクセルに関連付けられるデータを処理するのに十分である。
【0037】
理論的には、各パケット30は通常互いに独立に処理されるので、各パケット30を処理するために1回のメモリアクセスが必要となるであろう。しかしながら、本発明では、同じグループアドレスを共有する2つのパケット30はイベント処理において連続して処理され、同じグループアドレスを共有する2つのパケット30は完全に独立に扱われるわけではない。同じグループアドレスを共有する2つのパケット30のイベント処理の間に、1回のみの読み出しメモリアクセスと1回のみ書き込みメモリアクセスがその2つのパケットに対して行われる。より具体的には、イベント処理は、現在処理されているパケット30のグループアドレスを、処理パイプライン6の次のパケット30のグループアドレスと比較することと、現在処理されているパケット30のグループアドレスと次のパケット30のグループアドレスとの間に一致が見つかった場合、少なくともメモリアクセスを防止することを含む。現在処理されているパケット30の処理の間及び/又は次のパケット30の後の処理の間に、メモリアクセスを防止することができる。防止されるメモリアクセスは、例えばデータの取り出し及び/又はデータの書き込みとすることができる。現在処理されているパケット30のグループアドレスと次のパケット30のグループアドレスとの間に一致が見つかった場合、グループアドレスに関連するデータは、メモリに書き込まれる代わりにバッファに記憶され、それにより、書き込みメモリアクセスを回避する。前のパケット30と同じグループアドレスを有するパケット30のイベント処理の間、そのグループアドレスに関連するデータは、各グループアドレス専用の位置を有するメモリから取り出されるのではなく、バッファから取り出され、それにより、読み出しメモリアクセスを回避する。
【0038】
好ましくは、同じグループアドレスを共有する2つのパケット30がイベント処理において連続して処理されることを確実にするために、パケットはパイプラインにおいて特定の順序で組織化される。同じグループアドレスを有する2つのパケット30は、処理パイプライン6内で隣接して配置される、すなわち、次々に配置される。例えばこれらはラインシーケンスにおいて互いに隣接して連結される。具体的には、同じピクセルグループに関連する第1極性のパケット30と第2極性のパケット30とが互いに隣接して連結される。パケット30はパイプラインにおけるそれらの順序に従って処理されるので、同じグループアドレスを共有する2つのパケット30はイベント処理において連続して処理される。これは
図3に図示されており、
図3では、第1パケット30aと第2パケット30bはともに第1ピクセルグループ21に対応する同じグループアドレスを有しており、隣接している。同じグループアドレス(X座標0x4C0)を共有する第6パケット30fと第7パケット30gについても同様である。
【0039】
図4は、パケット30をどのように処理することができるかの例を示す。この例では、メモリはSRAMであるが、別の種類のメモリも可能である。バッファが使用される。バッファは一時的なデータを記憶し、パケットのグループアドレスが何であってもすべてのパケット30を処理するために、同じバッファが使用される。反対に、メモリは、各メモリ位置が1つのグループアドレスに専用である、いくつかのメモリ位置を含む。特定のメモリ位置が特定のグループアドレスに使用される。
【0040】
開始した後(ステップS1)、新たなパケット30を受け取る(ステップS2)。第1フラグテストを行って、一致フラグがセットされているか否かを判断する(ステップS3)。一致フラグの状態は、前に処理されたパケット30の処理に依存し、例えばレジスタに記憶されている。フラグがセットされていない場合、一致テストを行って(ステップS4)、現在のアドレス(すなわち、現在のパケット30のグループアドレス)が次のアドレス(すなわち直後に処理される次のパケット30のグループアドレス)と同じであるかどうかを判断する。次のアドレスが現在のアドレスと同じ場合、一致フラグをセットする(ステップS5)。そうでない場合、一致フラグはセットされない。いずれの場合も、次のステップ(ステップS6)において、パケット30のグループアドレスに関連付けられるデータが、グループアドレスに対応するメモリ位置のSRAMメモリから取り出される。取り出されたデータはバッファにバッファリングされる。
【0041】
第1フラグテスト(ステップS3)が、一致フラグがセットされていることを示す場合、一致フラグがリセットされ(ステップS7)、データは、SRAMメモリから取り出される代わりにバッファから取り出される(ステップS8)。必要なデータが取り出されると、処理アルゴリズムが実行される(ステップS9)、すなわち、パケット30に含まれるイベントが、取り出されたデータ及びイベント処理の目的(フィルタリング、フリッカ防止等)に従って処理される。処理アルゴリズムの結果をバッファリングすることができる(ステップS10)。
【0042】
アルゴリズムは、結果をSRAMメモリに書き込むべきかどうかを判断する(ステップS11)。結果をSRAMメモリに書き込まない場合、パケットの処理を終了する(ステップS12)。結果をSRAMメモリに書き込む場合、第2フラグテストが実行される(ステップS13)。フラグが事前にセットされている場合(ステップS5)、パケットの処理を終了する(ステップS12)。フラグがセットされていない場合、バッファリングされた結果が、パケットのグループアドレスに対応する位置のSRAMメモリに書き込まれる(ステップS14)。
【0043】
一致フラグを通して、イベント処理は、2つのパケット30が同じグループアドレスを共有している場合、SRAMメモリ内で取り出される代わりに、バッファリングされたデータを使用することができることを通知される。したがって、メモリアクセスが回避される。フラグの使用は単なる例であって、要件ではなく、同じ結果を達成するために他の戦略を採用してもよい。例えば現在のパケット30のグループアドレスと前のパケット30のグループアドレスとの間の比較を行うことができる。
【0044】
図5は、
図3の例のイベント処理に関与する信号のデジタルタイミング図である。上側の第1の行51はクロック信号であり、クロック信号の2つの立ち上がりエッジ間のサイクルを定義している。第2の行52は、
図3のパケット30に対応する番号を有するメモリアクセスを示す。高レベルは、サイクル中にメモリアクセスが起こることを示し、低レベルは、サイクル中にメモリアクセスが起こらないことを示す。第3の行53は、イベント処理の間にメモリにアクセスするために行われたメモリ要求を示す。高レベルはサイクル中にメモリ要求が起こることを示し、低レベルはサイクル中にメモリ要求が起こらないことを示す。第4の行54は、第1フラグテストの結果、すなわち現在のアドレスと次のアドレスが一致しているかどうかを示す。高レベルは一致を示し、一方、低レベルは一致がないことを示す。
【0045】
第5の行55は、現在のアドレス、すなわち、現在処理されているパケットのグループアドレスを示し、第6の行56は、次のアドレス、すなわち、パイプラインにおいて現在処理されているパケットに続いて処理されるべき次のパケットのグループアドレスを示す。第7の行57は、メモリ内に読み出されたデータを示し、第8の行58は、バッファにバッファリングされたデータを示す。
図5において、グループアドレスは、グループの最初のピクセルのX座標の前にY座標で示される(16進数で)。したがって、グループアドレス0x8000は、8番目のラインの0番目~31番目のピクセルグループを指し;グループアドレス0x8020は、8番目のラインの32番目~63番目のピクセルグループを指し;グループアドレス0x8040は、8番目のラインの64番目~95番目のピクセルグループを指す等である。データ(0x8000)は、グループアドレス0x8000のパケットのピクセルに関連付けられるデータを指し、データ(0x8020)は、グループアドレス0x8020のパケットのピクセルに関連付けられるデータを指し、以下同様である。
【0046】
第1サイクルでは、現在のグループアドレスは存在せず、次のグループアドレスは、第1ピクセルグループ21から導出される第1パケット30aのグループアドレス、すなわち8番目のラインの0番目~31番目のピクセルのグループアドレス、0x8000である。したがって、第2サイクルでは、このグループアドレス0x8000が現在のグループアドレスとなっており、この現在のグループアドレス0x8000に基づくメモリ要求に応答してメモリアクセスが行われる。次のグループアドレスは、第2パケット30bのグループアドレスであり、依然として、第1パケット30aと同じグループアドレス、すなわち0x8000である。実際、
図3に示されるように、最初の2つのパケット30a、30bは同じグループアドレスを共有しているが、異なる極性を示す。現在のグループアドレスと次のアドレスは一致するので、一致テストの結果はyesであり、したがって、アドレス一致信号(又はフラグ)は高レベルに上昇する。
【0047】
第3サイクルでは、以前の現在のグループアドレス0x8000に基づくメモリアクセスの結果として読み出されるデータは、data(0x8000)である。現在のグループアドレスは、第2パケット30bのグループアドレス、すなわち、依然として0x8000である。以前のサイクルでアドレス一致信号(フラグ)が高であったという事実により、第1フラグテストの結果はyesであり、メモリ要求は行われず、メモリアクセスも行われない。次のグループアドレスは、第3パケット30cのグループアドレス、すなわち、0x8020であり、8番目のラインの32番目~63番目のピクセルのグループを指す。次のグループアドレスが現在のグループアドレスと異なるので、あるいは比較を回避するためにアドレス一致信号が自動的にリセットされるため(S7)、アドレス一致信号は低レベルに戻る。
【0048】
第4サイクルでは、第3パケット30cのグループアドレス、すなわち、0x8020が現在のグループアドレスになり、第4パケット30dのグループアドレス、すなわち、0x8040が次のグループアドレスになる。次のグループアドレスは現在のグループアドレスとは異なるので、一致テストの結果はnoとなり、アドレス一致信号は低レベルのままとなる。以前のサイクルではアドレス一致信号が低であったので(第1フラグテスト結果がno)、現在のグループアドレス0x8020について、メモリ要求が行われ、メモリアクセスが行われる。しかし、以前のサイクルの間にはメモリアクセスがなかったので、データは読み出されない。以前に読み出されたデータdata(0x8000)をバッファに記憶し、処理アルゴリズムのために使用することができる。
【0049】
第5サイクルでは、第4パケット30dのグループアドレス、すなわち、0x8040が現在のグループアドレスであり、第5パケット30eのグループアドレス、すなわち、0x8060が次のグループアドレスである。次のグループアドレスは現在のグループアドレスと異なるので、一致テストの結果はnoであり、アドレス一致信号は低レベルのままである。以前のサイクルでアドレス一致信号が低であったので(第1フラグテスト結果がno)、現在のグループアドレス0x8040について、メモリ要求が行われ、メモリアクセスが行われる。以前のメモリアクセスの結果、以前の現在のグループアドレス0x8020に対応するデータ、すなわち、data(0x8020)が読み出される。第2パケット30bの処理は、第1パケット30cと同じ記憶されたデータを使用するので、バッファリングされたデータは第1グループアドレスに関連するデータ(data(0x8000))のままである。
【0050】
第6サイクルでは、第5パケット30eのグループアドレス、すなわち、0x8060が現在のグループアドレスであり、第6パケット30fのグループアドレス、すなわち、0x84C0が次のグループアドレスである。次のグループアドレスは現在のグループアドレスと異なるので、一致テストの結果はnoであり、アドレス一致信号は低レベルのままである。以前のサイクルでアドレス一致信号が低であったので、現在のグループアドレス0x8060に対して、メモリ要求が行われ、メモリアクセスが行われる。以前のメモリアクセスの結果、以前の現在のグループアドレス0x8040に対応するデータ、すなわちdata(0x8040)が読み出される。以前に読み出されたデータdata(0x8020)をバッファリングし、第3パケット30cを処理するために使用することができる。
【0051】
第7サイクルでは、第6パケット30fのグループアドレス、すなわち、0x84C0が現在のグループアドレスであり、第7パケット30gのグループアドレス、すなわち、0x84C0が次のグループアドレスである。
図3に示されるように、第6パケット30fと第7パケット30gは同じグループアドレスを共有しているが、異なる極性を示す。一致テストは、現在のグループアドレスと次のアドレスとが実際に一致していることを示し、したがって、アドレス一致信号が高レベルに上昇する。以前のサイクルでアドレス一致信号が低であったため、現在のグループアドレス0x84C0に対して、メモリ要求が行われ、メモリアクセスが行われる。以前のメモリアクセスの結果、以前の現在のグループアドレス0x8060に対応するデータ、すなわち、data(0x8060)が読み出される。以前に読み出されたデータ、data(0x8040)をバッファリングして、第4パケット30dを処理するために使用することができる。
【0052】
第8サイクルでは、第7パケット30gのグループアドレス、すなわち、0x84C0が現在のグループアドレスであり、これが最後のパケットであるので次のグループアドレスはない。その結果、一致テストの結果はnoであり、アドレス一致信号は低レベルに戻る。以前の現在のグループアドレス0x84C0に基づくメモリアクセスの結果として読み出されたデータは、data(0x84C0)である。以前のサイクルでアドレス一致信号が高であったため、メモリ要求は行われず、メモリアクセスも行われない。以前に読み出されたデータ、data(0x8060)をバッファリングして、第5パケット30eを処理するために使用することができる。
【0053】
第9サイクルでは、現在のグループアドレスと次のグループアドレスは存在しない。実際、処理パイプライン6では、2つのライン読み出しの結果がブランクパケットによって分離され、その結果、複数の空サイクルが2つのライン読み出しの結果の処理を分離する。例えば2つのライン読み出しは、4~12の空サイクル、好ましくは6~10の空サイクルで分離される。いずれの現在のグループアドレスもない場合、メモリ要求は行われず、メモリアクセスも実行されない。第6ピクセルグループに対応する以前に読み出されたデータ、すなわち、data(0x84C0)をバッファして、第6パケット30gを処理するために使用することができる。第10サイクルでは、バッファリングされたデータは置き換えられなかったので、依然として同じデータ、すなわち、data(0x84C0)であり、このデータを使用して、第6パケット30fと同じグループアドレスを共有する第7の最後のパケット30gを処理することができる。
【0054】
上述したように、同じグループアドレスを共有する2つのパケットがイベント処理において連続して処理されるという事実は、メモリからデータを取り出すことなく、同じデータを再利用することを可能にする。実施例のように、アドレス一致信号を、冗長メモリアクセスを防止するためのフラグとして使用することができる。その結果、異なる極性のイベントが同じピクセルグループ内で起こるとき、メモリアクセスが回避される。メモリアクセスは非常に電力を消費するので、メモリアクセスを回避することは、電力消費及び熱生成の低減につながる。この効果は、画像化されたシーンが急激な強度変化を引き起こすときに特に顕著である。
【0055】
本発明を特定の好ましい実施形態に関して説明してきたが、本発明はそのように限定されるものではなく、説明された手段及びそれらの組合せのすべての技術的均等物を含むことが明らかである。特に、添付の特許請求の範囲において定義される本発明の範囲から逸脱することなく、様々な変更及び修正が行われてよいことが当業者には明らかであろう。