Event filtering method for operating an event-based image sensor - Patent Application 20070122967
The event filtering method in event-based image sensors improves signal quality and reduces bandwidth by accepting events based on polarity and time intervals, addressing the challenges of noise and event bursts.
Patent Information
- Application Number
- JP2022554560
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-03-11
- Filing Date
- 2021-03-10
- Publication Date
- 2025-09-11
- Estimated Expiration
- 2041-03-10
AI Technical Summary
Existing event-based image sensors face challenges in improving signal-to-noise ratio, reducing bandwidth and processing requirements, and minimizing latency due to event bursts and noise, while maintaining sensitivity to contrast changes.
An event filtering method that accepts an incoming event only if it has the same polarity as the last received event and is separated by a time interval less than a threshold, using an event filter within the processing chain to discard unwanted events.
This method enhances the signal-to-noise ratio, reduces bandwidth and processing demands, and minimizes latency by effectively filtering out noise and event bursts without introducing additional latency.
Smart Images

Figure 0007738004000005 
Figure 0007738004000006 
Figure 0007738004000007
Abstract
Description
[Technical Field]
[0001] The present invention relates to an event-based image sensor and a method of operation thereof.
[0002] The present invention relates to a pixel circuit for an image sensor of a time-differential light sensing system (i.e., a time-contrast sensor), and in particular to a pixel circuit for a low-power, small-area analog integrated circuit for light sensing applications. [Background technology]
[0003] In a conventional video camera, the device records photograms one after the other. In a temporal contrast sensor, there are no photograms. Like a video camera, an integrated circuit contains a light sensor matrix, but while in a conventional video camera each light sensor is sampled at a fixed frequency, in a temporal contrast sensor, the pixels are not sampled; instead, each pixel calculates the change in the intensity of the light it senses, optionally performs some processing on this change, and when the calculated amount exceeds a defined level or threshold, the pixel generates an "event" and transmits information about this event. This type of sensor is therefore called an event-based image sensor.
[0004] The transmitted information typically consists of the x,y coordinates of a pixel in a two-dimensional photosensor matrix and a polarity indicating whether the light intensity increased or decreased. The generated data therefore consists of a series of events reflecting the intensity changes of individual pixels, rather than a series of frames containing image information for every pixel.
[0005] This method completely eliminates the temporal redundancy of image information found in conventional image sensors, thereby significantly reducing the amount of generated data while retaining the same or greater amount of information. The event-based image sensor pixels that implement the above method and the necessary asynchronous data readout mechanism can be realized with electronic circuits. Such event-based image sensors with a large number of pixels are usually realized and manufactured as a system-on-chip integrated using CMOS technology or similar.
[0006] Electronic circuits called transient detectors are used to detect changes in the light intensity received by individual autonomously operating pixels in optical transient sensors or dynamic vision sensors (DVS), such as those described in U.S. Patent No. 7,728,269. However, such transient detection circuits require large switched capacitors, and mismatches between the voltage comparators used to evaluate the changes can be problematic.
[0007] U.S. Patent No. 8,780,240 discloses the combination of a transient detection circuit, i.e., an exposure intensity change detection circuit, with a conditional exposure measurement circuit. The transient detection circuit independently and asynchronously initiates a new exposure measurement only (and immediately after) a certain magnitude of luminance change is detected within the pixel's field of view. Such pixels do not rely on external timing signals and independently request access to an (asynchronous and arbitrary) output channel only when they have a new grayscale value to communicate. Therefore, pixels that are not visually stimulated do not generate an output. Furthermore, asynchronous operation avoids the time quantization of frame-based acquisition and scan readout.
[0008] However, the reduction in temporal redundancy achieved by such event-based image sensors is not always sufficient. To improve sensitivity to contrast changes, a lower change detection threshold is required. To increase image resolution, an increased number of pixels is required. This generates a large number of events, resulting in so-called event bursts when the sensor captures scenes with moving edges and strong contrast (caused by object movement or sensor displacement).
[0009] Bursts of events can be used to detect frequency patterns in the light profile. EP 3518529 A1 discloses a method for detecting flicker effects in an imaged scene by a measurement method aimed at detecting frequency patterns. For this purpose, the event flow is monitored to detect bursts of events (burst extraction). Successive bursts are then analyzed to detect frequency patterns. This method can be used to detect objects in a scene simply by recognizing the frequency pattern of a light source, such as a traffic light or brake light, e.g., its nominal frequency and / or duty cycle. This method can also be used to transmit some information, such as an ID, encoded in the fundamental characteristics of the light modulation, such as frequency and / or duty cycle. This process does not affect the event flow in the processing chain; all events originating from the change detector continue to be processed in the processing chain.
[0010] However, bandwidth limitations and processing power limitations during bursts of events can result in processing latency and information loss, and increasing sensitivity can result in unwanted events due to noise.
[0011] Filtering events generated by asynchronous event-based image sensors has been proposed. Previous algorithms have relied on the assumption that when a pixel is triggered, neighboring pixels are also activated, and that large intensity changes can generate multiple events at a single pixel. These assumptions motivate the use of spatiotemporal density as a way to separate valid events from noise, but this approach fails when motion is slow (i.e., sparse valid events are rejected as noise) or when noise is high (i.e., dense noise is mislabeled as real events).
[0012] "Inceptive Event Time-Surfaces for Object Classification using Neuromorphic Cameras” (R. Wes Baldwin, M. Almatrafi, JR Kaufman, V. Asari and K. Hirakawa, 16th International In a paper published at the Conference on Image Analysis and Recognition on July 27, 2019, the authors propose a method for filtering raw events to maintain a clear representation of object boundaries that define the shape of an object of interest. Their approach is based on the fact that a single logarithmic intensity change triggers multiple temporally consecutive events. For example, consider events generated from a single pixel placed in front of a video scene. The first event indicates the arrival of an edge in the imaged scene. Subsequent events close in time to the first event correspond to the magnitude of the intensity change. The first event describes the shape of a moving object and is also called an "inceptive event." Meanwhile, subsequent events correspond to the magnitude of the change caused by the moving edge and are also called "scaling events."
[0013] The proposed filtering will only keep an event if: 1) Event ti and the previous event t i-1 The time interval between the first interval time τ - Longer. 2) Next event t i+1 and the current event t i The time interval between the second time threshold τ + Shorter.
[0014] Following this filtering, events due to noise can be eliminated by keeping only the first event of a burst of events (condition 1) and discarding isolated events (condition 2).
[0015] Although this method can effectively filter out bursts of events and reduce noise, it has two major drawbacks: · Only the first event in a burst of events is kept, regardless of the polarity of subsequent events, so polarity changes in a burst of events are not taken into account. Current Events i Before deciding to hold the next event t i+1 Since we need to wait for τ, we need a storage function to hold the events before accepting them, and a second time threshold τ + The corresponding latency is added.
[0016] This method can lead to misleading results when event bursts are close together or when noise is present, and it does not completely eliminate events due to noise. Another drawback of this method is that it does not preserve the temporal order of the accepted events, requiring additional processing to reorder them.
[0017] Therefore, there is a need for an event-based signal processing filtering method that can improve the signal-to-noise ratio of event-based signals and reduce bandwidth and processing requirements without introducing latency. Summary of the Invention
[0018] The present invention provides an event filtering method for operating an event-based image sensor comprising a plurality of pixel circuits forming a pixel array, the method comprising: Each pixel circuit is a photoreceiver circuit configured to deliver a photoreceiver signal derived from a photocurrent caused by light incident on a photosensitive element of the photoreceiver; a change detector configured to detect changes in the receiver signal and, upon each detected change, to emit an event characterized by a polarity reflecting at least a direction of the change; The event-based image sensor comprises a processing chain including a pixel circuit, an arbiter, a sensor driving circuit, and a host, and an event generated in the pixel circuit is sent to the arbiter, then to the sensor driving circuit, and finally to the host; the event-based image sensor comprises an event filter disposed within a component of the event-based image sensor or between two components of the event-based image sensor selected from a pixel circuit, an arbiter, a sensor drive circuit, and a host; an event filter disposed in the processing chain receives the sequence of events emitted from the change detector, and for each received event, either accepts or rejects the received event, the accepted events being sent for further processing by the processing chain and the rejected events being discarded without further processing by the processing chain; The event filter relates to an event filtering method characterized in that an incoming event is accepted only if the following first condition a) and second condition b) are met: a) The received event has at least the same polarity as the polarity of the last received event. b) The received event and the last received event are separated by a time interval less than the time threshold.
[0019] According to the present invention, by removing spurious isolated events due to noise, retaining only events generated by strong spatiotemporal contrasts, and filtering out events from bursts of events, it is possible to improve the signal-to-noise ratio of event-based signals and reduce bandwidth and processing requirements without introducing latency.
[0020] Other preferred aspects of the present invention include, but are not limited to, the following, either alone or in any technically feasible combination:
[0021] The event filter is associated with at least one polarity storage element whose state depends on the polarity of the last received event and which is used to determine whether condition a) is satisfied, and the event filtering method includes changing the state of the polarity storage element if the polarity of the received event differs from the polarity of the last received event.
[0022] The event filter comprises a timer that is reset each time an event is received, the timer being configured to output a timer signal after a time corresponding to a time threshold, and condition b) being satisfied in the absence of the timer signal.
[0023] The modified first condition a') for the event filter to accept an incoming event is as follows: a') The polarity of the received event is the same as the polarity of the most recent M-1 (M>2) received events.
[0024] An additional second condition b') for an event filter to accept an incoming event is: b') The received event and the immediately preceding M-1 received events are consecutively separated by a time interval shorter than the time threshold.
[0025] The event filter comprises a counter that is incremented each time an event is received and reset with a timer signal sent by a timer, the timer being configured to output the timer signal after a time corresponding to a time threshold, and an additional second condition b') is met only if the counter is greater than or equal to M-1.
[0026] The counter is also reset each time a received event does not have the same polarity as the last received event.
[0027] The event filter accepts an incoming event only if a further third condition is met: c) The received event is part of an event trail in which the previous received event has not been accepted, the event trail consisting of consecutive events of the same polarity, each separated by a time interval less than the time threshold.
[0028] The event filter is associated with a trail storage element whose state indicates whether a received event has been accepted since the last reset, the trail storage element being reset to a first state at least whenever a received event has a polarity different from the polarity of the last received event, and the trail storage element being set to a second state whenever an event is accepted.
[0029] The trail storage element is also reset to the first state whenever the received event and the last received event are separated by a time interval greater than a time threshold.
[0030] The counter is incremented each time an event is received and reset on the timer signal sent by the timer and each time a polarity change is detected, and a received event is accepted only if the counter is M-1 (M≧2).
[0031] The present invention provides an event-based image sensor comprising a plurality of pixel circuits forming a pixel array, the pixel circuits comprising: Each pixel circuit is a photoreceiver circuit configured to deliver a photoreceiver signal derived from a photocurrent caused by light incident on a photosensitive element of the photoreceiver; a change detector configured to detect changes in the receiver signal and, upon each detected change, to emit an event characterized by a polarity reflecting at least a direction of the change; The event-based image sensor comprises a processing chain including a pixel circuit, an arbiter, a sensor driving circuit, and a host, and an event generated in the pixel circuit is sent to the arbiter, then to the sensor driving circuit, and finally to the host; the event-based image sensor comprises an event filter disposed within a component of the event-based image sensor or between two components of the event-based image sensor, the event filter being selected from a pixel circuit, an arbiter, a sensor driver circuit, or a host; the event filter is configured to receive a series of events emitted from the change detector according to the event filtering method of the present invention and, for each received event, either accept or reject said received event, the accepted events being sent for further processing by the processing chain and the rejected events being discarded without further processing by the processing chain; The event filter relates to an event-based image sensor that accepts an incoming event only if the following first condition a) and second condition b) are met: a) The received event has at least the same polarity as the polarity of the last received event. b) The received event and the last received event are separated by a time interval less than the time threshold.
[0032] Preferably, the event filter is located within a component of the event-based image sensor or between two components of the event-based image sensor, the component being selected from among a pixel circuit, an arbiter, a sensor driver circuit, or a host. [Brief explanation of the drawings]
[0033] Other aspects, objects and advantages of the present invention will become more apparent from a reading of the following detailed description of preferred embodiments, given by way of non-limiting example and made with reference to the accompanying drawings, in which:
[0034] [Figure 1] 1 is a schematic diagram of components of an event-based image sensor, according to a possible embodiment of the present invention; [Figure 2] 1 is a schematic diagram of components of a pixel circuit of an event-based image sensor, according to a possible embodiment of the present invention; [Figure 3] FIG. 2 is a schematic diagram illustrating the function of an event filter according to a possible embodiment of the present invention; [Figure 4] 3 is a schematic diagram detailing a possible structure of an event filter according to a possible embodiment of the present invention; [Figure 5] FIG. 10 is a schematic diagram illustrating how the interface logic of a pixel circuit can function as an event filter, according to a possible embodiment of the present invention. [Figure 6] FIG. 10 is a schematic diagram of a timer that can be used in an event filter, according to a possible embodiment of the present invention. [Figure 7] 4 is a flowchart illustrating the steps of event filtering performed by an event filter, according to a possible embodiment of the present invention. [Figure 8] 10 is a graph of an example of the time course of a receiver signal with different event filtering applied; [Figure 9] 10 is a schematic diagram of receiver signals and change detection for illumination steps. FIG. [Figure 10] FIG. 4 is a state transition diagram illustrating the state of an event filter when filtering, according to a possible embodiment of the present invention. [Figure 11] FIG. 4 is a state transition diagram illustrating the state of an event filter when filtering, according to a possible embodiment of the present invention. [Figure 12] 4 is a flowchart illustrating the steps of event filtering performed by an event filter, according to a possible embodiment of the present invention. [Figure 13] 10 is a graph showing the application of event filtering to an example of a particular pattern of a receiver signal. DETAILED DESCRIPTION OF THE INVENTION
[0035] 1, an event-based image sensor typically includes several components in a processing chain: a plurality of pixel circuits 1, a bus arbiter 2, a sensor driver circuit 3, and a host 4. As shown in FIG. 2, each pixel circuit 1 includes a photoreceiver circuit 10 configured to deliver a photoreceiver signal derived from a photocurrent caused by light incident on a photosensitive element of the photoreceiver 10, and a photoreceiver signal V derived from the photocurrent. pr and a change detector 12 configured to detect a change in the optical receiver signal V. pr A bandpass filter may be provided for filtering the signal.
[0036] The photosensitive element of the photoreceiver 10 is typically a photodiode, which converts incident light into a photocurrent determined by the exposure of the photosensitive element. pr is usually logarithmic with the photocurrent. Typically, the photoreceiver signal V pr is approximated as follows:
number
[0037] The change detector 12 detects the photoreceiver signal V prTypically, a change is detected when the receiver signal increases or decreases by an amount equal to a threshold, corresponding to an increase in light incident on the receiver's light sensitive element or a decrease in light incident on the receiver's light sensitive element. pr The detector continuously monitors for changes in V and emits a detection signal whenever a change is detected. The detection signal is generated when the receiver signal V exceeds an adjustable voltage threshold. pr An event corresponds to such a detection signal. An event is defined as a signal that detects at least a small increase or decrease in the optical receiver signal V pr The change detector 12 is characterized by a polarity (ON or OFF) that reflects the direction of change of the receiver signal V. The direction of change can be an increase in the receiver signal (signal goes up) or a decrease in the receiver signal (signal goes down). More precisely, the change detector 12 detects the change in the receiver signal V pr increases, i.e., exceeds the previous value by a threshold, an ON event is generated and the receiver signal V pr An OFF event is generated when the receiver signal V decreases, i.e., falls below a threshold value relative to its previous value. pr A comparator is used to compare the instantaneous value of with the previous value used as a reference. An event is characterized not only by its polarity but also by a pixel address, which consists of the row and column coordinates (x, y) of the pixel circuit 10 where the event is generated. An event may also be generated or transmitted at a specific time and characterized by an event time. Change detectors 12 that can be used to detect changes in the light intensity received by a pixel are described, for example, in U.S. Pat. Nos. 7,728,269 and 8,780,240 for dynamic vision sensors (DVS).
[0038] The pixel circuit 1 also includes interface logic 14, which receives ON and OFF events from the change detector 12. The function of the interface logic 14 is to cooperate with other downstream components to ensure that events sent to the bus are processed appropriately. Therefore, the interface logic 14 typically works in conjunction with an arbiter 2. For example, the interface logic 14 may send row requests (reqX) and column requests (reqY) to the arbiter 2, which then sends an acknowledgement signal (ACK) back to the interface logic 14 to confirm that the photo array is ready to process new received events. The arbiter 2 may be composed of a row arbiter and a column arbiter. Events generated by the pixel circuit 1 are sent to the arbiter 2, then to the sensor drive circuit 3, and finally to the host 4. The host 4, for example, is a computer equipped with a processing device and configured to render an image from the received events.
[0039] The event-based image sensor, as shown in FIG. 3, comprises an event filter configured to receive events emitted from the change detector 12 of the pixel circuit 1 and, for each received event, either accept or reject the received event. Accepted events are sent for further processing downstream in the processing chain, while rejected events are discarded without further processing by the processing chain. The event filter 20 actually filters the events moving through the processing chain. Accepted events are allowed to pass through the event filter 20, while rejected events are not. Thus, the event filter 20 outputs only accepted events.
[0040] The event filter 20 accepts an incoming event only if the following two conditions are met: a) The received event has at least the same polarity as the polarity of the last received event. b) The received event and the last received event are separated by a time interval less than the time threshold.
[0041] The time interval between events may correspond to the time interval between their respective receipt by the event filter 20, or alternatively, a timestamp may be associated with each event and the time interval may correspond to the difference between the timestamps. The time threshold is 100 ms or less, preferably 50 ms or less, more preferably 10 ms or less, and even more preferably 1 ms or less.
[0042] 4 is a diagram illustrating an example of the structure of the event filter 20. The decision to accept or reject a received event is made by a decision unit 22, which is any device capable of implementing a Boolean function. For example, the decision unit may be a collection of logic gates, such as AND gates, NAND gates, OR gates, and NOR gates, since only simple logical operations are performed. Alternatively, the decision unit 22 may be a more complex device, such as an integrated circuit, or may be implemented as software.
[0043] To perform the filtering, the event filter 20 uses two pieces of information: the polarity of at least one previously received event, and time information about that previous event. One way to provide information about the polarity of the most recently received event is to associate a polarity storage element 24 with the event filter 20. As shown, the polarity storage element 24 is preferably part of the event filter 20. The polarity storage element 24 stores a state M that depends on the polarity of the most recently received event. last As a non-limiting example, in the following description, if the last received event was OFF, then state M last is 0, and if the last received event was ON, the state M lastis 1. The polarity storage element 24 may be a latch, such as a simple set-reset latch, since it stores only one bit of information, i.e., either 1 or 0. The ON or OFF event is typically comprised of a pulse, and the state of the polarity storage element 24 is preferably changed on the falling edge of the ON or OFF event pulse. For example, in the latch example, the latch is set on the falling edge of the ON event pulse and reset on the falling edge of the OFF event pulse.
[0044] The event filter 20 can be located at different positions in the processing chain of the event-based image sensor. In particular, the event filter 20 can be located within a component of the event-based image sensor selected from the pixel circuit 1, the arbiter 2, the sensor driver circuit 3, or the host 4. The event filter 20 can also be located between the pixel circuit 1 and the arbiter 2, or between the arbiter 2 and the sensor driver circuit 3, or between the sensor driver circuit 3 and the host 4.
[0045] When event filter 20 is placed within a first component of a processing chain or between the first and second components, event filter 20 prevents rejected events from reaching the second component, allowing only accepted events to reach the second component. For example, when event filter 20 is placed within pixel circuit 1, pixel circuit 1 sends only accepted events to the remaining components of the processing chain, first to arbiter 2. Rejected events are not sent to arbiter 2. When event filter 20 is placed between pixel circuit 1 and arbiter 2, pixel circuit 1 emits all raw events, but event filter 20 filters the events so that only accepted events are sent to the remaining components of the processing chain, first to arbiter 2. Rejected events are not sent to arbiter 2.
[0046] Whatever its placement, the event filter 20 reduces bandwidth requirements by rejecting some events, especially noise events. In a particularly advantageous embodiment, the event filter 20 is part of the pixel circuit 1. By incorporating the event filter 20 within the pixel circuit 1, it is possible to filter out unwanted data as early as possible, thereby reducing memory and signal bandwidth consumption in the digital part of the sensor. Figure 5 shows an example of such an in-pixel implementation. Here, the decider 22 is the interface logic 14, which determines the ON or OFF event from the change detector 12, the timer signal sent by the timer, and the state M depending on the polarity of the last event received. last , a state M indicating whether the received event has been accepted in the event trail. hs The interface logic 14 can also control the resetting of the change detector 12. The interface logic 14 communicates with the bus arbiter 2 over the bus, sending request signals reqX, reqY, receiving acknowledgement signals ACK, and sending events.
[0047] The event filter 20 is associated with a timer 26 that provides time information regarding the previously received event to the determiner 22. As shown, the timer 26 is preferably part of the event filter 20. The timer 26 is reset each time an event is received. FIG. 6 shows an example of a suitable timer 26. The timer consists of a current source 30 that charges down a voltage node 32, defining a voltage timer ramp signal that decreases over time. A P-MOS transistor 34 has its drain connected to the voltage node 32 and its gate controlled by a timer reset signal. The timer reset signal activates the transistor 34 to conduct whenever an event is received, thereby resetting the voltage node 32. A buffer or inverter 36 is also connected to the voltage node 32, converting the analog ramp signal into a binary timer signal. When the voltage node 32 charges down and passes the threshold voltage of the inverter 36, the timer signal changes, indicating that a predetermined time has elapsed since the previous event was received. The predetermined time can be adjusted by adjusting the current source 30.
[0048] The filtering performed by the event filter 20 is explained with reference to Fig. 7. In a first step S01, the event filter 20 receives an event. In a second step S02, the polarity of the received event is checked to verify whether it has the same polarity as the last received event. If it does not, the event is rejected (step S04). To compare the polarities, the event filter 20 may use the state stored in the polarity storage element 24. Thus, in step S02, the polarity of the received event is compared with the state stored in the polarity storage element 24. The state of the polarity storage element 24 is changed at least every time it is determined that the received event has a polarity different from that of the last received event (step S03).
[0049] For example, state M last If is 0 (the last event is an OFF event), If the polarity of the received event is OFF, state Mlast is kept at 0, If the polarity of the received event is ON, after comparison, the state M last Change to 1.
[0050] Conversely, state M last If is 1 (the last event is an ON event), If the polarity of the received event is ON, the state is M. last Keep it at 1, If the polarity of the received event is OFF, after the comparison, the state M last Change to 0.
[0051] If the received event has the same polarity as the last received event, the event filter 20 verifies whether the time interval between the received event and the last received event is shorter than a time threshold (step S05). If so, the event is accepted (step S06) and the accepted event is sent for further processing. If not, the event is rejected (step S06) and the rejected event is discarded.
[0052] In this way, the event filter 20 only retains events that have previously been accompanied by another event of the same polarity at the same pixel location, and where the time difference between the two events is less than an adjustable time threshold. To illustrate the effect of such filtering, the upper graph 50 of FIG. 8 shows, in an idealized and simplified manner, the photoreceiver signal V pr An example of the change over time of the receiver signal V is shown (dotted line 51) and, for further clarity, the incremental change of its detection threshold (step curve 52) is also shown. pr Each time the detection threshold is crossed, an ON or OFF event is emitted by the change detector 12, as indicated by the arrows in the second graph 53. An upward pointing arrow indicates the generation of an ON event, and a downward pointing arrow indicates the generation of an OFF event.
[0053] A third graph 56 in FIG. 8 shows events accepted by the event filter 20 based on two acceptance criteria: a) the received event has at least the same polarity as the last received event, and b) the received event and the last received event are separated by a time interval less than a time threshold.
[0054] It turns out that some events are unacceptable. For example, the receiver signal V pr Portion 57 of FIG. 1 indicates an isolated fluctuation that results in an isolated event that is interpreted as noise. Such an isolated event does not satisfy condition b), that is, the received event is separated from the last received event by a time interval shorter than the time threshold, and therefore such a noise event is effectively discarded. Noise is also characterized by small amplitudes and rapid changes in polarity, which can result in alternating noise events 57a of opposite polarity. Therefore, even if the time interval between noise events 57a is shorter than the time threshold (satisfying condition b), the noise event 57a is successfully discarded by event filter 20 if condition a is not met (changing polarity).
[0055] In contrast to noise-induced events, events generated by real edges are not isolated, but generally follow one another closely with the same polarity, forming bursts of events. These events are not considered noise and are not all rejected. The receiver signal V corresponding to a real edge pr During a large increase 58 in V, the first event 58a of a burst of ON events that occurs is rejected (condition a) is not met), but the subsequent event 58b is retained. The filtered events are then filtered out of this receiver signal V. pr The strong contrast that causes the large increase 58 in V can still be expressed. On the other hand, the trailing event 58c at the end of the large increase 58 is rejected because it is too far apart relative to the preceding event 58b. Thus, the number of events in the burst of events is reduced, especially for the trailing event. Similarly, the photoreceiver signal V prDuring the large reduction 59, the first event 59a of a burst of events that occurs is rejected, but subsequent events 59b are retained. Thus, filtering by the event filter 20 removes noise, reduces the number of events in the burst of events, and eases bandwidth requirements.
[0056] The filtering by the event filter 20 is performed by the receiver signal V pr The event filter 20 generates an acceptance event only when the change in the pixel signal is sufficiently strong, thus selecting only strong contrasts in the captured scene. The event filter 20 makes its filtering decision without searching for future events. This filtering increases sensor latency because the first events 58a, 59a in a burst of events are omitted, and two events are required to generate an acceptance event that reflects the photoreceiver signal response. This can be interpreted as high latency and low contrast sensitivity. However, because filtering effectively removes the noise event 57a, this effect can be mitigated by increasing contrast sensitivity (i.e., lowering the voltage threshold for detecting changes) without fear of increased noise. Increasing sensitivity can reduce the latency because noise affecting the pixel circuit often generates a single, isolated event, while actual edges generate multiple events, generally resulting in bursts of events. In this way, events due to noise are effectively filtered, while events due to edges are not. This improves data quality. Increasing contrast sensitivity can also reduce latency because subsequent events 58b in a burst of events are brought closer in time to the initial event 58a.
[0057] Rejecting isolated events, i.e., received events that are too far apart in time from the last received event, not only removes noise but also reduces mismatch between pixel circuits. To illustrate this, Figure 9 shows, in an idealized and simplified way, the photoreceiver signal V prand the corresponding change detection by change detector 12. At time t0, illumination of receiver 10 begins. The light step is similar to what happens when an edge moves along a series of pixels. The receiver signal V pr The response of the receiver signal V can be approximated by an exponential curve 40, which asymptotically converges to a terminal value. pr A detection signal 42 is sent each time the photoreceiver signal V increases by a voltage threshold. Initially, due to the exponential nature of the response, pr increases rapidly. Thus, the early detected signals 42a are close together in time and constitute a burst of events. pr The rate of increase of t becomes slower over time. As a result, subsequent detection signals 42b become increasingly separated in time. The event time t associated with each detection signal 42 i is clearly closely related to the shape of curve 40, which is defined by the time constant of the exponential response of photodetector 10.
[0058] Any mismatch between different pixel circuits 1 will result in different time constants for their exponential responses. As a result, the timing of events generated by two pixel circuits 1 under the same illumination will differ. This results in events generated by different pixel circuits 1 viewing the same stimulus having slightly different event times, resulting in what is called jitter in the resulting events. Additionally, there is no guarantee that the initial reference point of the response will be the same for two pixel circuits 1, which also introduces further jitter into the events generated by the two pixel circuits 1. Due to the exponential nature of the response, small differences will result in a large time difference for the later events 42b and a small time difference for the earlier events 42a. Therefore, filtering can reduce jitter by rejecting the later events 42b in a burst of events. This reduces uncertainty about the detected contrast.
[0059] Since the rejection of the later event 58c is determined by the time threshold used in condition b), the selection of an appropriate time threshold depends on the characteristics of the receiver 10, i.e., the time constant and the voltage threshold for change detection (the lower the voltage threshold, the closer the events are to each other, and therefore the smaller the time threshold can be).
[0060] Figure 9 shows the photoreceiver signal V for an illumination step, i.e., when the sharpest contrast occurs at once. pr The figure shows an ideal response of 1 / 10 ...
[0061] In the above example, the first condition a) (an incoming event has the same polarity as the last immediately preceding event received) means that the first event in the burst of events is rejected, and subsequent events are accepted. Accepting the second event (and subsequent events) means that changes that translate into at least two events through filtering are retained. However, it may be desirable to make the filtering more specific by requiring that only changes that translate into at least three or more events are retained. This can be achieved by modifying the first condition to first condition a') that an event has the same polarity as the polarity of the two most recent events. More generally, to select only changes strong enough to translate into at least M events (M > 1), the modified first condition a') can be expressed as requiring that an event have the same polarity as the polarity of the (M - 1) most recent incoming events.
[0062] To this end, the event filter 20 may be associated with M-1 polarity storage elements 24 whose states depend on the polarity of the most recent (M-1) received events. For example, if M=3, the state of the first polarity storage element 24 depends on the polarity of the last received event, and the state of the second polarity storage element 24 depends on the polarity of the penultimate received event (the event received immediately before the last received event). For an event to be accepted, it must have the same polarity as the last and penultimate received events, which means that the last and penultimate received events must share the same polarity.
[0063] Under only the modified first condition a') and second condition b), a received event is accepted even if the time interval between two consecutive events among the most recent M-1 received events is longer than the time threshold, as long as the received event has the same polarity as the polarity of the most recent M-1 received events (modified first condition a')) and the time interval from the last received event is shorter than the time threshold (condition b)). For example, the time interval between the most recent M-2th received event and the M-1th received event may be longer than the time threshold. This means that under only the modified first condition a'), polarity changes are rejected regardless of their timing.
[0064] To better filter events, it may be desirable to limit acceptance to events that are part of an event trail of the same polarity, i.e., a series of consecutive events separated by a time interval shorter than a time threshold. Indeed, only such event trails reflect strong contrasting edges moving through the scene. Therefore, for M≧2 (preferably M>2), an additional second condition b′) may be imposed to restrict the modified first condition a′) to an actual trail of M events. The additional second condition b′) can be expressed as requiring that the time interval between successive event times of the most recent M−1 received events be shorter than a time threshold.
[0065] The additional second condition b') can be implemented, for example, using a counter 29. The counter 29 is incremented each time an event is received and reset by a timer signal sent by the timer 26. The additional second condition b') then corresponds to accepting a received event only if the counter is greater than or equal to M-1. If the polarity changes in the event trail, the received event is rejected (regardless of its timing) because its polarity is not the same as that of the last M-1 received events (the modified first condition a') is not met). If the polarity does not change in the event trail (the modified first condition a') is met), the counter 29 must be greater than or equal to M-1 for the event to be accepted (the additional second condition b'). The modified first condition a'), the second condition b), and the additional second condition b') together ensure that only events M and later in the event trail are accepted.
[0066] In addition to being reset by the timer signal sent by the timer 26, the counter 29 may also be reset each time a polarity change is detected in the event trail, i.e., each time the polarity of a received event is not the same as the polarity of the last received event (condition a) is not met). In this case, there is no need to provide multiple polarity storage elements 24. The counter 29 counts only the number of received events of the same polarity that are consecutively separated by a time interval shorter than the time threshold. As mentioned above, to accept an event, the counter 29 must be greater than or equal to M-1. In this way, the counter 29 implements the modified first condition a') and the additional second condition b').
[0067] In any case, in the above example, the burst of events is represented by a filtered event trail that excludes the first M-1 events and any isolated trailing events. Even then, the number of events to be processed in a short time (within the burst) can be substantial, imposing both processing and bandwidth requirements. The number of events in the trail is determined by the photoreceiver signal V pr This can be used to assess the amplitude of change in the edge. However, in many computer vision algorithms, all that is needed is that an edge passes in front of the pixel, and the actual contrast of the edge is not used. Therefore, it may be desirable to further reduce the number of events and keep only one event for each burst, rather than an event trail.
[0068] In a preferred embodiment, the event filter 20 accepts an incoming event only if the third condition below is met. c) The received event is part of an event trail where the previously received event has not been accepted, and the event trail consists of consecutive events of the same polarity, each separated by a time interval shorter than the time threshold. This allows only one event per edge to be retained, significantly reducing the number of events generated by the scene. Considering that lowering the voltage detection threshold (detecting edges of small contrast, reducing the latency to edge detection) improves the quality of edge acquisition, this embodiment allows the voltage threshold to be lowered without increasing the volume of events generated (because lowering the threshold generates more events for an edge of a given contrast).
[0069] To implement this third condition c), the event filter checks whether an incoming event has been accepted since the last reset, and sets the state M hsThe trail storage element 28 may be associated with a trail storage element 28 indicated by a . The trail storage element 28 is reset each time a received event has a polarity different from that of the last received event and / or upon a timer signal, i.e., each time the received event and the last received event are separated by a time interval longer than a time threshold. More specifically, the trail storage element 28 is in a first state after being reset and changes to a second state when a received event is accepted. As a non-limiting example, in the following description, if an event is accepted and transmitted in an ongoing trail of ON or OFF events, the trail storage element 28 will enter state M. hs If trail storage element 28 is set to 1, it is 1 otherwise, and 0 otherwise. Trail storage element 28 may be a latch, such as a simple set-reset latch, since it stores only one bit of information, i.e., either 1 or 0. As shown in FIG. 4, trail storage element 28 is preferably part of event filter 20.
[0070] As mentioned above, several options are possible for resetting the trail storage element 28. The trail storage element 28 may be reset only whenever a received event has a polarity different from that of the last received event. Indeed, a change in polarity indicates that the trail has ended. Alternatively, a trail may end without a change in polarity, due to an interval between events (a time interval longer than a time threshold). This single reset condition would result in rejection of events in a second event trail that have the same polarity as the first event trail. This effect can be desired. However, the trail storage element 28 is preferably reset whenever a received event has a polarity different from that of the last received event and whenever the received event and the last received event are separated by a time interval longer than the time threshold. This allows each event trail to be converted into an accepted event, even if the polarity does not change between successive event trails. The time threshold may be the same as the time threshold for accepting or not accepting an accepted event. In this case, the trail storage element 28 can be reset by the timer signal described above. It is also possible to use additional, different time thresholds. Additional timers may be provided to generate additional timer signals when the additional time thresholds are reached.
[0071] Condition c) can also be implemented using the aforementioned counter 29, which counts only the number of consecutive same-polarity events separated by a time interval shorter than the time threshold. The counter 29 is incremented each time an event is received and reset by the timer signal sent by the timer 26 and each time a polarity change is detected. A received event is accepted only if the counter 29 is M-1 (M≧2). This ensures that only the M-1th received event is accepted from a trail of consecutive same-polarity events, each separated by a time interval shorter than the time threshold. M can be any number greater than 2 and can be selected by one skilled in the art to achieve the desired event filtering.
[0072] Figure 10 is a state transition diagram illustrating the implementation of the first condition a), the second condition b), and the third condition c). The rectangles indicate the quiescent states 61, 62, 63, 64, and the ovals indicate the transition states 65, 66 leading to the quiescent states. The event filter 20 remains in the quiescent states 61, 62, 63, 64 while it is not receiving an event. Within the rectangles, the two numbers indicate the logic states of the storage elements 24, 28. The number on the left indicates the state M of the polarity storage element 24. last The numbers on the right correspond to the state M of the polarity storage element 28. hs More precisely, the left number is 0 if the last event received was an OFF event, and 1 if the last event received was an ON event. The right number is 1 if an event in the trail of an ON or OFF event has already been accepted, and 0 otherwise. The timer signal is 1 if the timer has not yet reached its threshold, and 0 if it has. The numbers mentioned here correspond to logical states, and of course other rules can be chosen.
[0073] The first rest state 61 (arbitrarily selected) is M last =1 and M hs= 0, which corresponds to the first ON event being received. If an ON event is received while the timer signal is 0 (the time interval since the last received event is longer than the time threshold), the event filter 20 remains in the first quiescent state 61, since this means that the last two received ON events are not part of the same trail. If an ON event is received and the timer signal is 1, this means that the ON event was received within a time interval shorter than the time threshold since the last received ON event. Therefore, the received ON event is the second event in the ON event trail, and the previously received event is the first event in the same ON event trail. The received ON event is accepted and transmitted (transition state 65), and the event filter 20 transitions to the second quiescent state 62. If the event filter 20 is part of the pixel circuit 1, the transition to the second quiescent state 62 may be conditional on the receipt of an acknowledgement signal ACK by the interface logic 14. If an OFF event is received while the event filter 20 is in the first quiescent state 61, the event filter 20 transitions to the third quiescent state 63. The second stationary state 62 is M last =1 and M hs =1, indicating that an ON event in the ON event trail has been sent. Thus, if an ON event is received, the event filter 20 remains in the second quiescent state 62. If an OFF event is received, the event filter 20 transitions to the third quiescent state 63.
[0074] The third stationary state 63 is M last =0 and M hs= 0, indicating that the first OFF event has been received. If an OFF event is received while the timer signal is 0 (the time interval since the last received event is longer than the time threshold), this means that the last two received OFF events are not part of the same trail, and the event filter 20 remains in the third quiescent state 63. If an OFF event is received and the timer signal is 1, this means that the OFF event was received within a time interval shorter than the time threshold from the previously received OFF event. Thus, the received OFF event is the second event in the OFF event trail, and the previously received event is the first event in the same OFF event trail. The received OFF event is accepted and transmitted (transition state 66), and the event filter 20 transitions to the fourth quiescent state 64. If the event filter 20 is part of the pixel circuit 1, the transition to the fourth quiescent state 64 may be conditional on receipt of an acknowledgement signal ACK by the interface logic 14. If an ON event is received, the event filter transitions to the first quiescent state 61. The fourth quiescent state 64 is defined as M last =0 and M hs =1, indicating that an OFF event in the OFF event trail has been sent. Thus, if an OFF event is received, the event filter 20 remains in the fourth quiescent state 64. If an ON event is received, the event filter 20 transitions to the first quiescent state 61.
[0075] So the logic to accept the event is:
number
number
[0076] The polarity of the event is either ON or OFF. OFF is It can also be written as TIFF0007738004000004.tif33.
[0077] In the example of FIG. 10, the trail storage element 28 is reset (M hs is set to 0). This is clearly shown by the fact that the event filter 20 remains in the second quiescent state 62 and the fourth quiescent state 64 as long as events of the same polarity are received, regardless of the time interval between events. FIG. 11 is a similar state transition diagram illustrating the implementation of the first condition a), the second condition b), and the third condition c), in which the trail storage element 28 is reset every time an incoming event has a polarity different from that of the last received event and every time the incoming event and the last received event are separated by a time interval longer than the time threshold. Here, the event filter 20 remains in the second quiescent state 62 only if it receives an ON event within a time interval shorter than the time threshold. If the timer signal indicates that the time threshold has elapsed, the event filter 20 transitions back to the first quiescent state 61. This means that the ON event trail has ended because no events have been received during the interval corresponding to the time threshold. Similarly, the event filter 20 remains in the fourth quiescent state 64 only if it receives an OFF event within a time interval shorter than the time threshold. If the timer signal indicates that the time threshold has elapsed, the event filter 20 transitions back to the third quiescent state 63. This means that the OFF event trail has ended because no events were received during the interval corresponding to the time threshold. The logic for accepting or rejecting events remains unchanged.
[0078] FIG. 12 is a flowchart showing the event filtering process performed by the event filter 20 when the first condition a), the second condition b), and the third condition c) are implemented. As shown in the flowchart of FIG. 7, in a first step S01, the event filter 20 receives an event. In a second step S02, the polarity of the received event is checked to verify whether it has the same polarity as the polarity of the immediately preceding received event. If it does not have the same polarity, the event is rejected (step S04). To compare the polarities, the event filter 20 may use the state stored in the polarity storage element 24. Therefore, in step S02, the polarity of the received event is compared with the state stored in the polarity storage element 24. The state of the polarity storage element 24 is changed at least every time it is determined that the received event has a polarity different from that of the last received event (step S03). If the received event has the same polarity as the last received immediately preceding event, the event filter 20 verifies whether the time interval between the event time of the received event and the event time of the last received immediately preceding event is shorter than a predetermined time threshold (step S05).
[0079] If the received event is determined to have a polarity different from that of the previous event, or if the time interval between the received event and the last received event is determined to be longer than a time threshold, in addition to rejecting the event, the state M of the trail storage element 28 is changed to reflect that the received event is not part of the same trail as the previous event. hs (step S10) (recall that an event trail consists of a series of events of the same polarity consecutively separated by a time interval shorter than a time threshold). Following the non-limiting example above, the state M of the trail storage element 28 is changed. hs is set to 0. FIG. 12 shows the state M of the trail storage element 28 after the state of the polarity storage element 24 is changed (S03). hs is changed (S10), but the state M of the trail storage element 28 hsNote that the change in polarity is directly caused by a received event having a different polarity than the polarity of the immediately preceding received event, and is not necessarily due to a change in the polarity storage element. Note that the two changes (S03, S10) in storage elements 24, 28 can be made independently.
[0080] If the time interval between the received event and the last received event is less than the time threshold (step S05), it means that the received event is part of the same trail as the last received event. Next, the state M of the trail storage element 28 is checked to determine whether a previous event of the same event trail has already been accepted. hs (step S11). Following the non-limiting example above, the state M of the trail storage element 28 is checked. hs If M is 1, it means that the previous event of the same trail was accepted, and the received event is rejected (step S04). hs If is 0, it means that the previous event of the same trail has not yet been accepted, and the received event is accepted (step S06). After the event is accepted, the state M of the trail storage element 28 is hs is changed to reflect that the event in the event trail has been accepted. Following the non-limiting example above, the state M of the trail storage element 28 hs is set to 1.
[0081] Returning to FIG. 8 , fourth graph 70 shows how third condition c) alters event filtering compared to third graph 56. Fewer events are accepted. Only five of the 29 received events are accepted, compared to 13 events accepted in third graph 56. Only one event of the same polarity is accepted. As a result, each burst of events is represented by a single event 58b, 59b. In the illustrated example, only the second event in the event burst is accepted. More generally, only the Mth event in each burst can be accepted. Information about the presence of edges is preserved, but information about contrast is lost. That is, all edges that cause a burst of events are represented by a single accepted event. This can be interpreted as normalization. In this way, by generating only a single event per edge, event filter 20 normalizes the pixel circuit's response to edges of different contrasts.
[0082] The proposed event filtering method provides a significant improvement over other event filtering methods for operating event-based image sensors. For example, the fifth graph 80 in Figure 8 shows the results of the paper "Inceptive Event Time-Surfaces for Object Classification using Inceptive Event Time-Surfaces for Object Classification using Inceptive Event Time-Surfaces" by R. Baldwin et al. This figure shows the events that would be accepted if the filtering disclosed in "Neuromorphic Cameras" was applied to the events in the second graph 53 of the same figure. Recall that this filtering will only retain an event if: 1) Event t i and the previous event t i-1 The time interval between the first interval time τ - Longer. 2) Next event t i+1 and the current event t i The time interval between the second time threshold τ + Shorter.
[0083] This filtering selects events based on the time interval between a given received event and its previous and next events. As mentioned above, noise events 57a may be closely spaced, so if the time interval between them is close to the next noise event, the first noise event 57a is accepted. As a result, some of the alternating noise events 57a are filtered, but not all of them. This is because this filtering is performed regardless of the polarity of the events. Because noise events are characterized by alternating polarity, the proposed filtering method can more appropriately filter noise events. In the filtering proposed by R. Baldwin et al., event bursts 58 and 59 are represented by the first events 58a and 59a of the bursts, and subsequent events in each burst are close to the next event (satisfying condition 2) but too close to the previous event (not satisfying condition 1). However, there are some problems. For example, in the first portion 81 of graph 80, the ON noise event 57a is accepted, and the subsequent events, i.e., the optical receiver signal V pr Some of the bursts of OFF events 59 corresponding to the decrease in are rejected because the consecutive time intervals between events are shorter than the first time threshold (condition 1 is not met). Therefore, the events within the burst of OFF events are rejected and instead represented by ON events. In the second portion 82 of graph 80, the bursts of OFF events 59 adjacent to the burst of ON events are not represented because the consecutive time intervals between the events within the burst of OFF events and the events within the burst of ON events are shorter than the first time threshold. Baldwin et al.'s filtering technique does not remove noise, potentially yielding erroneous results regarding the specific timing of bursts of events. This is particularly significant as the number of events decreases, emphasizing the importance of each event.
[0084] As can be seen from this short example, the proposed event filtering allows for improved noise filtering and faithful representation of each burst, regardless of the timing of the events.
[0085] In some applications, it may be advantageous to illuminate a scene with a carefully selected spatiotemporal light pattern. This filter can be used to generate a single filtered event only if the complete light pattern is observed; no event is generated for other patterns. Thus, the event filter 20 can ignore all raw events that result from noise or other light patterns. This allows for reliable detection of patterns that correspond to the filter logic and filtering of noise and events that do not constitute a pattern. Such patterns can be used in active triangulation systems to determine the distance of objects from the system or a depth map of a scene.
[0086] The example of Figure 13 shows an idealized light pattern observed by one pixel circuit. The light stimulus includes a train 80 of pulses 80a, 80b, and 80c (three pulses in this example) followed by another train 80' of pulses 80a, 80b, and 80c. The train 80 of pulses 80a, 80b, and 80c is separated from each other by a time interval shorter than a time threshold determined, for example, by a timer. The two pulse trains 80, 80' are separated from each other by a time interval longer than a time threshold determined, for example, by a timer. The pulsed light stimulus may be spatially arranged as narrow strips. The position of the strips may vary for each pulse train and may be projected onto an image to provide information about the imaged scene.
[0087] Pixel circuit 1 may be configured to emit an event only if the detected change is in a particular direction (i.e., increase or decrease), and not emit an event if the detected change is in the other direction. In this example, pixel circuit 1 is configured to generate one raw ON event for each rising edge (increase in illuminance) of the pulsed light pattern of light incident on the photosensitive elements of photoreceiver 10, and to generate no OFF events for each falling edge (decrease in illuminance). Pixel circuit 1 is configured to ignore falling-edge events, i.e., not send any OFF events to the input of the event processing chain, and in particular event filter 20. In another example, all raw events (both ON and OFF) may be generated by pixel circuit 1, and event filter 20 may be configured to reject all events of a particular polarity, e.g., all OFF events.
[0088] The event filter 20 is configured to accept a received event only if: a) the received event has the same polarity as the polarity of the last M-1 received events (M is the number of pulses in the pattern); and b) the received event and the last M-1 received events are each successively separated by a time interval shorter than a time threshold. The time threshold corresponds to the time between the interval between pulses and the interval between pulse trains. Note that if the pixel circuit only emits events of the same polarity, as in the illustrated example, then condition a') is always met. With respect to the state diagrams of Figures 10 and 11, the state M depends on the polarity of the last received event. last This can be simplified by not considering
[0089] In this example, M=3, so the event filter 20 is configured to accept a received event only if: a) the received event has the same polarity as the two most recent received events; and b) three consecutive received events are separated by a time interval shorter than the timer-defined threshold. Because the time between two raw events in the pattern is shorter than the timer interval, the counter is not reset during the pattern (i.e., pulse train). The counter is reset because there is a time longer than the timer interval before the next pulse begins. In this example, the event filter 20 receives a trail 82, 82' of three ON events corresponding to the rising edges of pulses 80a, 80b, and 80c in pulse trains 80, 80', respectively. Therefore, the event filter 20 outputs only the third ON event in each ON event train, corresponding to the third rising edge of pulse trains 80, 80'. Thus, an event is generated only when a specific light pattern (three pulses in this example) is observed. While the present invention has been described with reference to certain preferred embodiments, it is understood that this invention is not limited thereto and includes all technical equivalents and combinations of the described means. In particular, it will be apparent to persons skilled in the art that various changes and modifications can be made without departing from the scope of the present invention as defined in the appended claims.
Claims
1. 1. An event filtering method for operating an event-based image sensor comprising a plurality of pixel circuits (1) forming a pixel array, comprising: Each pixel circuit (1) a receiver circuit (10) configured to deliver a receiver signal derived from a photocurrent caused by light incident on a photosensitive element of the receiver (10); a change detector (12) configured to detect changes in the receiver signal and, each time a change is detected, to emit an event characterized by a polarity reflecting at least the direction of the change; The event-based image sensor comprises a processing chain including a pixel circuit (1), an arbiter (2), a sensor drive circuit (3), and a host (4), wherein an event generated in the pixel circuit (1) is sent to the arbiter (2), then to the sensor drive circuit (3), and finally to the host (4); The event-based image sensor comprises an event filter (20) disposed within a component of the event-based image sensor or between two components of the event-based image sensor selected from the pixel circuit (1), the arbiter (2), the sensor driver circuit (3), and the host (4); an event filter (20) disposed in said processing chain receives the series of events emitted from the change detector (12) and, for each received event, either accepts or rejects said received event, with accepted events being sent for further processing by said processing chain and rejected events being discarded without further processing by said processing chain; The event filter (20) accepts the received event only if the following first condition a), second condition b), and third condition c) are satisfied: a) The received event has the same polarity as at least the polarity of the last received event. b) the received event and the last received event are separated by a time interval less than a time threshold; c) the received event is part of an event trail in which the previous received event has not been accepted, the event trail consisting of successive events of the same polarity each separated by a time interval less than the time threshold.
2. 2. The event filtering method of claim 1, wherein the event filter (20) is associated with at least one polarity storage element (24) whose state depends on the polarity of the last received event and which is used to determine whether condition a) is satisfied, the event filtering method comprising changing the state of the polarity storage element (24) if the polarity of the received event differs from the polarity of the last received event.
3. 2. The event filtering method of claim 1, wherein the event filter (20) comprises a timer (26) that is reset each time an event is received, the timer being configured to output a timer signal after a time corresponding to the time threshold, and wherein condition b) is satisfied in the absence of the timer signal.
4. 2. The event filtering method of claim 1, wherein the modified first condition a) for the event filter (20) to accept the received event is as follows: a') The polarity of the received event is the same as the polarity of the most recent M-1 (M>2) received events.
5. 5. The method of claim 4, wherein the additional second condition b') for the event filter (20) to accept the received event is: b') The received event and the immediately preceding M-1 received events are successively separated by a time interval shorter than the time threshold.
6. 6. The event filtering method of claim 5, wherein the event filter (20) comprises a counter (29) that is incremented each time an event is received and reset by a timer signal sent by a timer (26), the timer (26) being configured to output the timer signal after a time corresponding to the time threshold, and wherein the additional second condition b') is met only if the counter (29) is greater than or equal to M-1.
7. 7. A method for filtering events according to claim 6, wherein the counter (29) is also reset each time the received event does not have the same polarity as the polarity of the last received event.
8. 2. The method of claim 1, wherein the event filter is associated with a trail storage element whose state indicates whether the received event has been accepted since the last reset, the trail storage element being reset to a first state at least each time the received event has a polarity different from the polarity of the last received event, and the trail storage element being set to a second state each time an event is accepted.
9. 9. The method of claim 8, wherein the trail storage element (28) is also reset to the first state whenever the received event and the last received event are separated by a time interval greater than a time threshold.
10. 2. The event filtering method of claim 1, wherein a counter (29) is incremented each time an event is received and reset with a timer signal sent by a timer (26) and each time a polarity change is detected, and the received event is accepted only if the counter (29) is M-1 (M≧2).
11. An event-based image sensor comprising a plurality of pixel circuits (1) forming a pixel array, Each pixel circuit (1) a receiver circuit (10) configured to deliver a receiver signal derived from a photocurrent caused by light incident on a photosensitive element of the receiver (10); a change detector (12) configured to detect changes in the receiver signal and, each time a change is detected, to emit an event characterized by a polarity reflecting at least the direction of the change; The event-based image sensor comprises a processing chain including a pixel circuit (1), an arbiter (2), a sensor drive circuit (3), and a host (4), wherein an event generated in the pixel circuit (1) is sent to the arbiter (2), then to the sensor drive circuit (3), and finally to the host (4); The event-based image sensor comprises an event filter (20) disposed within a component of the event-based image sensor or between two components of the event-based image sensor selected from the pixel circuit (1), the arbiter (2), the sensor driver circuit (3), and the host (4); the event filter (20) is configured to receive a series of events emitted by a change detector (12) according to an event filtering method according to any one of claims 1 to 11, and for each received event either accept or reject said received event, wherein accepted events are sent for further processing by said processing chain and rejected events are discarded without further processing by said processing chain, The event filter (20) accepts the received event only if the following first condition a), second condition b), and third condition c) are satisfied: a) The received event has the same polarity as at least the polarity of the last received event. b) the received event and the last received event are separated by a time interval less than a time threshold; c) the received event is part of an event trail in which the previous received event has not been accepted, the event trail consisting of successive events of the same polarity each separated by a time interval less than the time threshold.
Citation Information
Patent Citations
Method and apparatus of processing a signal from an event-based sensor
EP3518529A1