Event filtering method for operating an event-based image sensor

CN115552887BActive Publication Date: 2026-09-08PROFIXI
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202180034411.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-03-11
Filing Date
2021-03-10
Publication Date
2026-09-08
Estimated Expiration
2041-03-10

AI Technical Summary

Technical Problem

[0020]当突发事件彼此接近,并且当它们与噪声混合时,该方法可能会导致错误结果

Benefits of technology

[0030]This invention improves the signal-to-noise ratio of event-based signals by eliminating spurious isolated events caused by noise, retaining only events generated by strong spatiotemporal contrast, and removing events from burst events, while reducing bandwidth and processing requirements without introducing delay.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115552887B_ABST
    Figure CN115552887B_ABST
Patent Text Reader

Abstract

An event filtering method for operating an event-based image sensor comprising a plurality of pixel circuits, a pixel circuit comprising: - a photoreceptor circuit configured for delivering a photoreceptor signal, - a change detector configured for detecting a change in the photoreceptor signal and emitting an event upon each detection of a change, the event being characterized at least by a polarity reflecting a direction of the change, wherein an event filter (20) receives a series of events and, for each received event, the event filter accepts or rejects the received event, the event filter (20) accepting a received event only when a first condition a) and a second condition b) are fulfilled: a) the received event has a same polarity as a polarity of at least a last received event, and, b) the received event and the last received event are separated by a time interval shorter than a time threshold.
Need to check novelty before this filing date? Find Prior Art

Description

Background Technology

[0001] This invention relates to an event-based image sensor and its operation method.

[0002] This invention relates to a pixel circuit for an image sensor used in a time-difference optical sensing system (i.e., a time-contrast sensor), and particularly to a low-power, reduced-area analog integrated circuit for optical sensing applications.

[0003] In a traditional camera, the device records photos one frame at a time. In a time-contrast sensor, there are no photos. Like a camera, the integrated circuit contains a matrix of light sensors. However, in a traditional camera, each light sensor samples at a fixed frequency, while in a time-contrast sensor, pixels are not sampled: each pixel calculates the intensity change of the light it senses, optionally performs some processing on that intensity change, and when the calculated amount exceeds a defined level or threshold, the pixel generates an "event" and sends information associated with that event. Therefore, this type of sensor is called an event-based image sensor.

[0004] The transmitted information typically includes the x and y coordinates of pixels within a two-dimensional light sensor matrix, as well as polarity indicating whether the light intensity has increased or decreased. Therefore, the generated data does not consist of a series of frames containing image information for all pixels, but rather a stream of events reflecting the intensity changes of individual pixels.

[0005] This method significantly reduces the amount of data generated, even though the data contains the same or more advanced information, by completely suppressing temporal redundancy in the image information (typical of traditional image sensors). The image elements of an event-based image sensor implementing this method, along with the required asynchronous data readout mechanism, can be implemented using electronic circuitry. Event-based image sensors with multiple such image elements are typically implemented and fabricated as integrated systems-on-a-chip, for example, using CMOS technology.

[0006] Electronic circuitry, commonly referred to as transient detectors, is used to detect changes in illumination intensity received by a single autonomously operating pixel, such as an optical transient sensor or dynamic vision sensor (DVS) as described in patent US 7728269. However, such transient detector circuitry requires large switched capacitors, and mismatches between the voltage comparators used to assess the changes can be problematic.

[0007] US Patent 8780240 discloses a combined transient detector circuit, namely a light exposure intensity change detector circuit and a conditional exposure measurement circuit. The transient detector circuit only initiates a new exposure measurement independently and asynchronously after detecting a brightness change of a certain magnitude in the pixel's field of view. Such pixels do not depend on external timing signals and only independently request access to the (asynchronous and arbitrated) output channel when they have a new grayscale value to communicate. Therefore, pixels without visual stimuli do not produce output. Furthermore, asynchronous operation avoids time quantization based on frame-based acquisition and scan readout.

[0008] However, even reducing temporal redundancy through such event-based image sensors may not be sufficient. To improve sensitivity to contrast changes, efforts are being made to lower the threshold for change detection. To increase image resolution, the number of pixels is also being increased. This results in a large number of events, leading to so-called "sudden events" when the sensor captures a scene with a moving edge of strong contrast (caused by a moving object or sensor displacement).

[0009] Burst events can be used to detect frequency patterns in an optical profile. Patent application EP3518529 discloses a method for detecting flickering effects in an imaging scene using a measurement method designed to detect frequency patterns. To this end, an event stream is monitored to detect burst events (burst extraction). Continuous pulses are then analyzed to detect frequency patterns. This method can be used to detect objects in a scene by simply identifying the frequency patterns of light sources, such as the nominal frequency and / or duty cycle of certain light sources, like traffic lights, brake lights, and other light sources. The method can also be used to send information such as an ID encoded in the fundamental characteristics of light modulation (e.g., frequency and / or duty cycle). During this process, the event stream in the processing chain remains unaffected; all events from the change detector continue to be processed in the processing chain.

[0010] However, bandwidth limitations and limited processing power during sudden events can lead to processing delays and / or information loss. Furthermore, with increased sensitivity, noise will cause unwanted events to occur.

[0011] It is recommended to filter events generated by asynchronous, event-based image sensors. Previous algorithms relied on the assumption that when one pixel is triggered, neighboring pixels are also activated, and that large intensity changes generate multiple events at a single pixel. These assumptions led to the use of spatiotemporal density as a way to isolate valid events from noise, but this approach fails when motion is slow (i.e., sparse valid events are removed as noise) and noise is high (i.e., dense noise is mislabeled as real events).

[0012] In their paper "Inceptive Event Time-Surfaces for Object Classification using Neuromorphic Cameras," presented at the 16th International Conference on Image Analysis and Recognition on July 27, 2019, by R. Wes Baldwin, M. Almatrafi, JR Kaufman, V. Asari, and K. Hirakawa, the authors propose a method for filtering raw events to maintain a clear representation of the object boundaries that define the shape of the object of interest. Their method is based on the fact that a single logarithmic change in intensity often triggers multiple events in a time series. Let's consider the events generated from a single pixel in front of a moving imaging scene. The first event represents the arrival of an edge in the imaging scene. Subsequent events are temporally close to the first event and correspond to the magnitude of the intensity change. The first event describes the shape of the moving object and can be called the "inceptive event," while subsequent events correspond to the magnitude of the change caused by the moving edge and can be called the "scaling event."

[0013] The recommended filtering includes retaining events only in the following cases:

[0014] 1) Event t i And the previous event t i-1 The time interval between them is greater than the first interval τ - ,and

[0015] 2) Next event t i+1 and current event t i The time interval between them is less than the second time threshold τ + .

[0016] According to this filter, only the first event of a sudden event (condition 1) is retained, and isolated events (condition 2) are discarded to eliminate events caused by noise.

[0017] If this method effectively filters out sudden events and reduces noise, then it has two main drawbacks:

[0018] - Changes in polarity within events that are sudden are not considered, because regardless of the polarity of subsequent events, only the first event of the sudden event is retained.

[0019] - In deciding to retain the current event t i Previously, this method required waiting for the next event t. i+1 This requires storage capacity to retain events before they are received, and adds a threshold τ corresponding to the second duration. + The delay.

[0020] This method can lead to erroneous results when sudden events are close together and when they are mixed with noise. Furthermore, events caused by noise are not completely eliminated. The method may also result in accepted events not being preserved in their chronological order, which can be harmful and requires additional processing to reorder them.

[0021] 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

[0022] This invention relates to an event filtering method for operating an event-based image sensor, the image sensor including a plurality of pixel circuits forming a pixel array, wherein each pixel circuit includes:

[0023] - A photosensor circuit configured to transmit a photosensor signal derived from the photocurrent generated by light impacting the photosensitive element of the photosensor.

[0024] - A change detector, configured to detect changes in the photosensor signal, and to emit an event each time a change is detected, the event being characterized at least by the polarity reflecting the direction of the change.

[0025] Event-based image sensors include a processing chain comprising pixel circuitry, an arbitrator, sensor driver circuitry, and a host computer. Events generated by the pixel circuitry are sent to the arbitrator, then to the sensor driver circuitry, and finally to the host computer.

[0026] The event-based image sensor is characterized by including an event filter disposed within or between two components of the event-based image sensor, wherein these components are selected from pixel circuitry, an arbitrator, a sensor driving circuit, or a host computer.

[0027] An event filter set in the processing chain receives a series of events from the change detector. For each received event, the event filter either accepts or rejects the event. Accepted events are sent for further processing by the processing chain, while rejected events are discarded without further processing. The event filter accepts a received event only if the first condition a) and the second condition b) are met.

[0028] a) The polarity of the received event is the same as that of at least the last received event, and,

[0029] b) The received events and the last received event are separated by a time interval shorter than the time threshold.

[0030] This invention improves the signal-to-noise ratio of event-based signals by eliminating spurious isolated events caused by noise, retaining only events generated by strong spatiotemporal contrast, and removing events from burst events, while reducing bandwidth and processing requirements without introducing delay.

[0031] Other preferred but non-limiting aspects of the invention are shown below, individually or in technically feasible combinations:

[0032] - An event filter is associated with at least one polarity storage element whose state depends on the polarity of the last received event, and the polarity storage element is used to determine whether condition a) is met. The event filtering method includes changing the state of the polarity storage element when the polarity of the received event is different from the polarity of the last received event.

[0033] - The event filter includes a timer that is reset each time an event is received. The timer is configured to output a timer signal after a duration corresponding to a time threshold, satisfying condition b) in the absence of a timer signal.

[0034] - The first condition a) for the event filter to accept the modified event is: a') the received event has the same polarity as the last M-1 received events, where M>2;

[0035] - The additional second condition b') for the event filter to accept received events is: the events received by b') and the last M-1 received events are separated sequentially according to each time interval shorter than the time threshold;

[0036] - The event filter includes a counter that increments each time an event is received and is reset by a timer signal sent by a timer that is also reset each time an event is received. The timer is configured to output a timer signal after a duration corresponding to a time threshold, and an additional second condition b' is satisfied only if the counter is at least M-1.

[0037] - The counter is reset each time the polarity of a received event differs from the polarity of the last received event;

[0038] - The event filter only accepts received events if another third condition is met: c) the received event is part of a series of events that do not accept previously received events, the series of events consisting of a series of consecutive events of the same polarity separated by time intervals shorter than a time threshold;

[0039] - An event filter is associated with a trajectory storage element whose state indicates whether an event received since the last reset has been accepted. The trajectory storage element is reset in at least a first state each time an event is received that has a different polarity than the last received event, and is set to a second state each time an event is accepted.

[0040] - The trajectory storage element is also reset in the first state when each received event and the last received event are separated by a time interval longer than the time threshold;

[0041] - Each time an event is received, the counter is incremented and the timer signal sent by the timer is reset. Each time a polarity change is detected, the received event is only accepted if the counter is at M-1, where M≥2.

[0042] The present invention also relates to an event-based image sensor comprising a plurality of pixel circuits forming a pixel array, wherein each pixel circuit comprises:

[0043] - A photosensor circuit configured to transmit a photosensor signal derived from the photocurrent generated by light impacting the photosensitive element of the photosensor.

[0044] - A change detector, configured to detect changes in the photosensor signal, and to emit an event each time a change is detected, the event being characterized at least by the polarity reflecting the direction of the change.

[0045] The event-based image sensor includes a processing chain comprising pixel circuitry, an arbitrator, a sensor driving circuit, and a host. Events generated by the pixel circuitry are sent to the arbitrator, then to the sensor driving circuit, and finally to the host. The event-based image sensor also includes an event filter disposed within or between components of the event-based image sensor, selected from the pixel circuitry, arbitrator, sensor driving circuit, or host. The event filter is configured to receive a series of events originating from a change detector. For each received event, according to the event filtering method of the present invention, the received event is accepted or rejected. Accepted events are sent for further processing by the processing chain, while rejected events are discarded without further processing by the processing chain. The event filter accepts a received event only if a first condition a) and a second condition b) are satisfied.

[0046] a) The polarity of the received event is the same as that of at least the last received event, and,

[0047] b) The received events and the last received event are separated by a time interval shorter than the time threshold.

[0048] Preferably, the event filter is arranged within a component of the event-based image sensor, or between two components of the event-based image sensor, which are selected from pixel circuitry, arbitrators, sensor driver circuitry, or host. Attached Figure Description

[0049] Other aspects, objects, and advantages of the invention will become more apparent after reading the following detailed description of preferred embodiments of the invention, which is given by way of non-limiting example and with reference to the accompanying drawings, wherein:

[0050] - Figure 1 A schematic diagram of the components of an event-based image sensor according to a possible embodiment of the present invention is shown.

[0051] - Figure 2 A schematic diagram of the components of a pixel circuit for an event-based image sensor according to a possible embodiment of the present invention is shown.

[0052] - Figure 3 This is a schematic diagram illustrating the function of an event filter according to a possible embodiment of the present invention.

[0053] - Figure 4 This is a schematic diagram illustrating the possible structure of an event filter according to a possible embodiment of the present invention.

[0054] - Figure 5 This is a schematic diagram illustrating how the interface logic of the pixel circuit acts as an event filter according to a possible embodiment of the present invention.

[0055] - Figure 6 This is a schematic diagram of a timer that can be used in an event filter according to a possible embodiment of the present invention.

[0056] - Figure 7 This is a flowchart illustrating the steps of event filtering performed by an event filter according to a possible embodiment of the present invention.

[0057] - Figure 8 The graphs shown illustrate different event filters applied to examples of how photosensor signals evolve over time.

[0058] - Figure 9 This is a schematic diagram of the photoreceptor signal and change detection in response to an illumination step.

[0059] - Figure 10 This is a state transition diagram representing the state of an event filter during filtering, according to a possible embodiment of the present invention.

[0060] - Figure 11This is a state transition diagram representing the state of an event filter during filtering, according to a possible embodiment of the present invention.

[0061] - Figure 12 This is a flowchart of the event filtering steps performed by the event filter according to a possible embodiment of the present invention.

[0062] - Figure 13 The graph shows an example of event filtering applied to a specific pattern in a photosensitive signal. Detailed Implementation

[0063] refer to Figure 1 Event-based image sensors typically include several components in a processing chain: a multi-pixel circuit 1, a bus arbiter 2, a sensor driver circuit 3, and a host 4. For example... Figure 2 As shown, each pixel circuit 1 includes a photosensitive circuit 10 configured to transmit a photosensitive signal derived from the photocurrent generated by light impacting the photosensitive element of the photosensitive sensor 10, and a change detector 12 configured to detect the photosensitive signal V derived from the photocurrent. pr The change in the signal V can be filtered by a bandpass filter provided between the photosensor circuit 10 and the change detector 12. pr .

[0064] The photosensitive element of the photosensor 10 is typically a photodiode, which converts incident light into a photocurrent, determined by the light exposure of the photosensitive element. The photosensor signal V... pr It is usually logarithmically related to the photocurrent. Typically, the photosensor signal V... pr It can be approximated as

[0065]

[0066] Among them, I pr The intensity of the photocurrent, k1 and k2 are constant factors. The photosensor signal V... pr The instantaneous voltage value is logarithmically related to the instantaneous intensity of the photocurrent; therefore, the photosensor signal V... pr The measurement allows the light exposure level of the photosensitive element of the photosensitive circuit 10 to be derived.

[0067] The change detector 12 is configured to detect the photosensor signal V. pr The change is detected when the photosensitive signal increases or decreases by a threshold amount, corresponding to an increase or decrease in illumination on the photosensitive element of the photosensitive element. The change detector 12 continuously monitors the photosensitive signal V. pr The sensor detects changes in voltage and issues a detection signal each time a change is detected. The detection signal identifies photosensor signals V that exceed an adjustable voltage threshold. prA slight increase or decrease. An event corresponds to such a detection signal. An event is characterized at least by polarity (ON or OFF), reflecting the photosensor signal V. pr The direction of change. The direction of change can be an increase (signal rise) or a decrease (signal fall) in the photosensor signal. More precisely, when the photosensor signal V... pr When the value increases, i.e., exceeds the threshold (previous value), the change detector 12 generates an ON event, while when the photosensor signal V... pr When the value decreases, i.e., falls below the threshold relative to the previous value, change detector 12 generates an OFF event. A comparator is typically used to convert the photosensor signal V... pr The instantaneous value is compared with the previously used reference value. The event is characterized not only by polarity but also by the pixel address formed by the row and column coordinates (x, y) of the pixel circuit 10 that generated the event. The event is also generated or transmitted at a specific time and can also be represented by the event time. A change detector 12, which can be used to detect changes in illumination intensity received by a pixel, is described in patents US 7,728,269 and US 8,780,240, for example in the case of a dynamic vision sensor (DVS).

[0068] Pixel circuit 1 also includes interface logic 14, which receives ON and OFF events from change detector 12. The function of interface logic 14 is to cooperate with other downstream components to ensure that events sent to the bus are properly processed; therefore, interface logic 14 typically works in conjunction with arbitrator 2. For example, interface logic 14 may send row request reqX and column request reqY to arbitrator 2, which confirms that the photoelectric array is ready to process newly received events by sending an acknowledgment signal ACK back to interface logic 14. Arbitrator 2 may include row arbitrators and column arbitrators. Events generated by pixel circuit 1 are sent to arbitrator 2, then to sensor drive circuit 3, and finally to host 4. For example, host 4 is a computer including a processing unit and configured to render images from the received events.

[0069] The event-based image sensor includes an event filter configured to receive events from the change detector 12 of the pixel circuit 1, and for each received event, to accept or reject the received event, such as... Figure 3 As shown. Accepted events are sent for further processing downstream in the processing chain, while rejected events are discarded without further processing. Event filter 20 effectively filters events that have passed through the processing chain: accepted events can pass through event filter 20, while rejected events cannot. Therefore, event filter 20 only outputs accepted events.

[0070] Event filter 20 accepts received events only if the following two conditions are met:

[0071] a) The polarity of the received event is the same as that of at least the last received event, and,

[0072] b) The received events and the last received event are separated by a time interval shorter than the time threshold.

[0073] The time interval between events can correspond to the time interval between their respective receptions by event filters 20, or a timestamp can be associated with each event, and the time interval corresponds to the difference between the timestamps. The time threshold is less than 100 ms, preferably less than 50 ms, more preferably less than 10 ms, and even more preferably less than 1 ms.

[0074] Figure 4 An example of the structure of event filter 20 is shown to illustrate the description. The decision to accept or reject a received event is made by decision unit 22, which can be any device capable of implementing Boolean functions. For example, the decision unit can be a set of logic gates, such as AND gates, NAND gates, OR gates, or NOR gates, since only simple logical operations are performed. Decision unit 22 can also be a more complex device, such as an integrated circuit, and can also be implemented as software.

[0075] To perform filtering, event filter 20 uses two pieces of information: the polarity of at least one event preceding the last received event and time information associated with the last event. One method of providing information about the polarity of the last received event is to associate a polarity storage element 24 with event filter 20. As shown, polarity storage element 24 is preferably part of event filter 20. Polarity storage element 24 has a state M. last This state depends on the polarity of the event preceding the last received event. As a non-restrictive example, in the remainder of the description, when the last received event is OFF, state M... last The value is 0, and the state M is 0 when the last received event is ON. last The polarity storage element 24 can be a latch, such as a simple set / reset latch, since it stores only one bit of information, i.e., 1 or 0. ON or OFF events typically consist of pulses, and the state of the polarity storage element 24 preferably changes on the falling edge of the pulse for the ON or OFF event. For example, in the latch example, the latch is set on the falling edge of the pulse for the ON event and reset on the falling edge of the pulse for the OFF event.

[0076] Event filter 20 can be positioned at different locations in the processing chain of an event-based image sensor. Specifically, event filter 20 can be located within a component of the event-based image sensor selected from pixel circuit 1, arbitrator 2, sensor drive circuit 3, or host 4. Event filter 20 can also be located in:

[0077] - Between pixel circuit 1 and arbitrator 2, or

[0078] - Between arbitrator 2 and sensor drive circuit 3, or

[0079] - Between sensor drive circuit 3 and host 4.

[0080] If event filter 20 is positioned within the first component of the processing chain or between the first and second components, event filter 20 prevents rejected events from reaching the second component: only accepted events can reach the second component. For example, when event filter 20 is positioned within pixel circuit 1, it causes pixel circuit 1 to send only accepted events to the remainder of the processing chain, first to arbitrator 2. Rejected events are not sent to arbitrator 2. When event filter 20 is positioned between pixel circuit 1 and arbitrator 2, pixel circuit 1 emits all raw events, but event filter 20 filters the events so that only accepted events are sent to the remainder of the processing chain, first to arbitrator 2. Rejected events are not sent to arbitrator 2.

[0081] Regardless of the arrangement, the event filter 20 reduces bandwidth requirements by rejecting certain events, particularly noisy events. In a particularly advantageous embodiment, the event filter 20 is part of the pixel circuitry 1. Integrating the event filter 20 into the pixel circuitry 1 allows for the early filtering of unwanted data without consuming storage or signal bandwidth in the digital portion of the sensor. Figure 5 An example of this in-pixel implementation is shown. Here, the decision-maker 22 is interface logic 14, which receives ON and OFF events from the change detector 12, a timer signal sent by the timer, and a state M that depends on the polarity of the previous event depending on the last received event. last The state M indicates whether the received event has been accepted in a series of events. hs Interface logic 14 can also control the reset of change detector 12. Interface logic 14 communicates with bus arbitrator 2 via the bus to send request signals reqX and reqY, receive acknowledgment signals ACK, and send events.

[0082] Event filter 20 is associated with timer 26, which provides decision maker 22 with timing information related to previously received events. As shown, timer 26 is preferably part of event filter 20. Timer 26 is reset each time an event is received. Figure 6 An example of a suitable timer 26 is shown, including a current source 30 that charges a voltage node 32, defining a voltage timer ramp signal that decreases over time. The drain of a P-MOS transistor 34 is connected to the voltage node 32, and its gate is controlled by a timer reset signal. The timer reset signal activates transistor 34, causing it to turn on each time an event is received, thereby resetting the voltage node 32. The voltage node 32 is also connected to a buffer or inverter 36, which converts the analog ramp signal into a binary timer signal. The timer signal changes as the voltage node 32 charges and passes through a threshold voltage of the inverter 36 to indicate that a preset time has elapsed since the previous event was received. The preset time can be adjusted by adjusting the current source 30.

[0083] Filtering performed by event filter 20, such as Figure 7 As shown. In the first step S01, an event is received by the event filter 20. In the second step S02, the polarity of the received event is checked to verify whether the polarity of the received event is the same as that of the last received event. Otherwise, the event is rejected (step S04). To compare polarities, the event filter 20 can use the state stored in the polarity storage element 24. Therefore, step S02 boils down to comparing the polarity of the received event with the state stored in the polarity storage element 24. The state of the polarity storage element 24 changes at least each time it is determined that the polarity of the received event is different from that of the last received event (step S03).

[0084] For example, when state M last When the value is 0 (the last event is an OFF event):

[0085] - If the received event has OFF polarity, then state M last Remains unchanged, at 0.

[0086] - If the received event has ON polarity, then compare the state M. last Change to 1.

[0087] Conversely, when state M last When it is 1 (the last event is the ON event):

[0088] - If the received event has ON polarity, then state M last Remain unchanged at 1.

[0089] - If the received event has OFF polarity, then compare the state M. last Change to 0.

[0090] If the polarity of the received event is the same as that of 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. Otherwise, the event is rejected (step S06), and the rejected event is discarded.

[0091] Therefore, event filter 20 only retains events that previously had another event at the same pixel location and with the same polarity, where the time difference between the two events is less than an adjustable time threshold. To illustrate the effect of this filtering, Figure 8 Reference numeral 50 in the attached figure shows the sensor signal V in an idealized and simplified manner. pr (Dashed line 51) An example of evolution over time; for clarity, the incremental change in the detection threshold is also shown (step curve 52). Each time the photosensor signal V... pr When the detection threshold is exceeded, the change detector 12 will send an ON event or an OFF event, as indicated by the arrows in the attached figure 53. The upward arrow indicates the generation of an ON event, and the downward arrow indicates the generation of an OFF event.

[0092] Figure 8 Reference numeral 56 in the figure shows the events accepted by the event filter 20 through filtering based on two acceptance conditions: a) the received event has the same polarity as at least the last received event, and b) the received event is separated from the last received event by a time interval shorter than a time threshold.

[0093] Clearly, some events are unacceptable. For example, the photosensor signal V. pr Section 57 illustrates isolated variations that result in isolated events that can be interpreted as noise. Condition b) requires that the received event and the last received event be separated by a time interval shorter than a time threshold, which is not met for isolated events, thus such noise events are effectively discarded. Noise can also manifest as small amplitude and rapid polarity changes, resulting in alternating noise events 57a with opposite polarities. Therefore, even if the time interval between noise events 57a may be less than the time threshold (satisfying condition b), the event filter 20 will successfully reject noise events 57a because condition a (polarity change) is not met.

[0094] Unlike noise-induced events, events generated by actual edges are not isolated but usually follow closely behind, possessing the same polarity, forming a burst of events. These events are not considered noise, and not all events are rejected. The photosensitive signal V corresponding to the actual edge... pr During the period of a strong increase in contrast 58, the first event 58a of the resulting ON burst event is rejected (condition a is not met), while the subsequent event 58b is retained. The filtered events can still exhibit strong contrast, causing the photosensor signal V to... pr The signal increases strongly by 58. However, subsequent events 58c that occur after the strong increase 58 ends are rejected because they arrive too late relative to the previous events 58b. Therefore, the number of events in a burst is reduced, especially for later events. Similarly, in the photosensitive signal V... pr During a sharp drop in bandwidth 59, the first event 59a of the resulting burst is rejected, while subsequent events 59b are retained. Therefore, the filtering performed by event filter 20 eliminates noise and reduces the number of events in the burst, thereby alleviating bandwidth requirements.

[0095] Only when the photosensitive signal V pr Event filter 20 only produces an acceptable event when the change is strong enough, thus selecting only strong contrast events in the imaging scene. Event filter 20 makes filtering decisions without looking for future events. Through filtering, the first events 58a and 59a of a burst event are lost, increasing sensor latency, and requiring two events to generate an acceptable event reflecting the sensor's response. This can be interpreted as lower contrast sensitivity in addition to greater latency. However, this effect can be mitigated by increasing contrast sensitivity (i.e., lowering the voltage threshold used to detect changes) without worrying about increased noise, as filtering effectively eliminates noisy event 57a. With increased sensitivity, noise affecting pixel circuitry typically produces a single isolated event, while actual edges produce multiple events, often burst events. Therefore, noise-induced events can be effectively filtered out without filtering out edge-induced events. This improves data quality. Increasing contrast sensitivity also causes subsequent events 58b of a burst event to be closer in time to the first event 58a, thus reducing latency.

[0096] Rejecting isolated events—that is, events where the time interval between a received event and the event preceding the last received event is too large—not only eliminates noise, but also helps reduce mismatches between pixel circuits. To illustrate this, Figure 9 The photosensitive signal V is shown in an idealized and simplified manner. prThe response to the illumination step and the corresponding change detection by the change detector 12. Illumination of the photosensor 10 begins at time t0. The illumination step is analogous to what occurs when an edge moves along a series of pixels. The photosensor signal V... pr The response can be approximated as an exponential curve 40, asymptotically converging to a final value. Each time the photosensor signal V... pr When the voltage threshold is increased, a detection signal 42 is sent. First, due to the exponential nature of the response, the photosensor signal V... pr The number increases rapidly. Therefore, the first detection signals 42a are close to each other in time and constitute a burst event. Photosensitive signal V pr The rate of increase slows down over time. As a result, subsequent detection signals 42b become increasingly separated in time. Clearly, the event time t associated with each detection signal 42... i The shape of curve 40 is closely related to the time constant of the exponential response of the photosensitive sensor 10.

[0097] If there are some mismatches between different pixel circuits 1, their respective exponential response time constants will be different. Therefore, under the same illumination, the timing of events generated by the two pixel circuits 1 will differ. This will introduce so-called jitter into the generated events, because the event times will differ slightly when events generated on different pixel circuits 1 see the same stimulus. Furthermore, for the two pixel circuits 1, there is no guarantee that the initial reference point of the response will be the same, which will also introduce more jitter into the events generated by the two pixel circuits 1. Due to the exponential nature of the response, a small difference will lead to a large time difference in later events 42b, while the time difference in earlier events 42a will be much smaller. By rejecting later events 42b in the burst event, filtering thus reduces jitter. Therefore, the uncertainty related to the detected contrast is reduced.

[0098] The rejection of event 58c depends on the time threshold used in condition b). Therefore, the selection of a suitable time threshold depends on the characteristics of the photosensitive sensor 10, namely the time constant, and the voltage threshold for change detection (the lower the voltage threshold, the smaller the time threshold, because the events are closer in time).

[0099] Figure 9 The photosensitive signal V is shown. pr An idealized response to illumination steps is an idealized response to the sharpest contrast occurring simultaneously. In reality, scene edges exhibit varying contrast, and the rate at which a pixel perceives a change in contrast depends on the speed at which the edge moves through the scene. Event filtering methods restrict event acceptance to edges with sufficiently high contrast and sufficiently fast movement, resulting in bursty events. Therefore, event filtering methods can be viewed as high-pass filters that form edges.

[0100] In the example above, the first condition a) (that the polarity of the received event is the same as the polarity of the event preceding the last received event) means rejecting the first event of the burst and accepting subsequent events. Accepting the second event (and subsequent events) means retaining variations that are transformed into at least two events through the filter. However, it might be desirable to make the filter more discriminative by requiring that only variations that are transformed into at least three or more events be retained. This can be achieved by modifying the first condition to a modified first condition a'), according to which the polarity of the event must be the same as the polarity of the last two events. More generally, for selecting only variations that are strong enough to be transformed into at least M events (M>1), the modified first condition a') can be expressed as requiring that the polarity of the event must be the same as the polarity of the last (M-1) received events.

[0101] For this purpose, event filter 20 can be associated with (M-1) polarity storage elements 24, the state of which depends on the polarity of the last (M-1) received events. For example, when M=3, the state of the first polarity storage element 24 depends on the polarity of the last received event, while the state of the second polarity storage element 24 depends on the polarity of the second-to-last received event (the event received before the last received event). To be accepted, an event must have the same polarity as both the last and second-to-last received events, meaning that the last and second-to-last received events must have the same polarity.

[0102] Only under the modified first condition a') and second condition b) will received events with the same polarity as the last M-1 received events (modified first condition a') be accepted, and the time interval relative to the last received event will be below a time threshold (condition b) even if the time interval between two consecutive events in the last M-1 received events is above the time threshold. For example, the time interval between the (M-2)th last received event and the (M-1)th last received event may be greater than the time threshold. This means that the modified first condition a') only rejects polarity changes, regardless of their timing.

[0103] To better filter events, it may be necessary to limit the acceptance range to events that belong to a sequence of events of the same polarity, i.e., a series of events consecutively separated by time intervals, each time interval being below a time threshold. In fact, only such a sequence of events reflects strong contrast edges moving in the scene. Therefore, for M ≥ 2 (and preferably M > 2), an additional second condition b') can be imposed to limit the modified first condition a') to an actual sequence of M events. The additional second condition b') can be expressed as requiring that each time interval between consecutive events of the last M-1 received events must be below a time threshold.

[0104] The additional second condition b') can be implemented, for example, by using counter 29. Counter 29 increments each time an event is received and is reset using a timer signal sent by timer 26. The additional second condition b') corresponds to accepting a received event only if the counter is at least M-1. If the polarity changes in a sequence of events, the polarity of the received event differs from the polarity of the last M-1 received events (the modified first condition a' is not satisfied), and therefore, the received event is rejected (regardless of the timing of the received event). If the polarity does not change in a sequence of events (the modified first condition a' is satisfied), counter 29 must be at least M-1 to accept an event (the additional second condition b'). Combining the modified first condition a', the second condition b'), and the additional second condition b') ensures that only the Mth event and subsequent events in a sequence are accepted.

[0105] In addition to being reset by the timer signal sent by timer 26, counter 29 can also be reset each time a polarity change is detected in a series of events, i.e., when the polarity of each received event is different from that of the last received event (condition a is not met). In this case, multiple polarity storage elements 24 are not required. Then, counter 29 only counts the number of received events of the same polarity, which are consecutively separated by time intervals shorter than a time threshold. As mentioned earlier, counter 29 must be at least M-1 to accept an event. Therefore, counter 29 implements the modified first condition a') and the additional second condition b').

[0106] In any case, in the example above, the filtered sequence of events will present a burst of events, except for the first M-1 events and isolated later events. This can still be equivalent to processing a large number of events in a short period of time (burst), thus placing demands on processing power and bandwidth. The number of events in a sequence can be used to evaluate the sensor signal V. pr The amplitude of the change. However, in many computer vision algorithms, the relevant information is simply the edge passing before the pixel, without using the actual contrast of that edge. Therefore, it is best to further reduce the number of events so that only one event is retained for each burst, rather than a series of events.

[0107] In a preferred embodiment, event filter 20 accepts received events only when a third condition is met: c) the received event is part of a sequence of events that do not accept previously received events, the sequence comprising a series of consecutive events of the same polarity separated by time intervals shorter than a time threshold. This allows only one event to be retained for each edge and can significantly reduce the number of events generated in the scene. Considering that the quality of edge acquisition improves if the voltage detection threshold is lowered (smaller contrast edges will be detected, and edge detection latency will be lower), this embodiment allows for lowering the voltage threshold without increasing the number of events generated (because a lower threshold means more events are generated for a given contrast edge).

[0108] To achieve this third condition (c), the event filter can be associated with the trajectory storage element 28, whose state M hs The trajectory storage element 28 is reset when a timer signal is used to indicate whether any received events have been accepted since the last reset, where each received event has a different polarity than the last received event, and / or when the timer signal is used to reset the event, i.e., each received event is separated from the last received event by a time interval longer than a time threshold. More specifically, the trajectory storage element 28 is in a first state after its reset and changes to a second state when a received event is accepted. As a non-limiting example, in the remainder of the description, if an event has been accepted and sent in the current sequence of ON or OFF events, then state M... hs It is 1 if the value is true and 0 otherwise. Since only one bit of information, i.e., 1 or 0, is stored, the track storage element 28 can be a latch, such as a simple set / reset latch. Figure 4 As shown, the trajectory storage element 28 is preferably part of the event filter 20.

[0109] As described above, there are several options for resetting the trajectory storage element 28. The trajectory storage element 28 can only be reset when the polarity of a received event differs from the polarity of the last received event. A change in polarity does indeed indicate that the trajectory has ended. A trajectory may also end because the events are no longer close to each other in time (the time interval is longer than a time threshold), and there is no change in polarity. Under this sole reset condition, events in a second sequence of events with the same polarity as the first sequence of events will be rejected. This effect can be sought. However, it is preferable that the trajectory storage element 28 be reset each time the polarity of a received event differs from the polarity of the last received event, and each time the received event is separated from the last received event by a time interval longer than a time threshold. In this way, each sequence of events will be converted into an accepted event, even if there is no change in polarity between consecutive sequences of events. The time threshold can be the same as the time threshold for accepted or unreceived events. In this case, the trajectory storage element 28 can be reset using the timer signal mentioned earlier. Additional, different time thresholds can also be used. When an additional time threshold is reached, an additional timer can be provided to generate an additional timer signal.

[0110] Condition c) can also be achieved using counter 29 as discussed above. The counter only counts the number of received events of the same polarity, consecutively separated by time intervals shorter than a time threshold. Counter 29 increments each time an event is received and is reset using a timer signal sent by timer 26 and each time a polarity change is detected. Received events are accepted only when counter 29 is at M-1 (M≥2). Therefore, in a sequence of events of the same polarity, only the (M-1)th received event is accepted, consecutively separated by time intervals shorter than a time threshold. M can be any number greater than 2 and is chosen by the technician to achieve the desired event filtering.

[0111] Figure 10 A state transition diagram is shown to represent the implementation of the first condition a), the second condition b), and the third condition c). Rectangles represent static states 61, 62, 63, and 64, and ellipses represent transitional states 65 and 66 that lead to the static states. When no event is received, the event filter 20 remains in static states 61, 62, 63, and 64. Within the rectangles, two numbers represent the logic states of storage elements 24 and 28. The number on the left corresponds to state M of polarity storage element 24. last The number on the right corresponds to the state M of polarity storage element 28. hsMore precisely, if the last received event is an OFF event, the number on the left is 0; if the last received event is an ON event, the number on the left is 1. If an event has been received in a sequence of ON or OFF events, the number on the right is 1; otherwise, it is 0. If the timer has not yet reached its time threshold, the timer signal is 1; if the timer has reached its time threshold, it is 0. The numbers mentioned here correspond to logical states, but other conventions can also be chosen.

[0112] (Arbitrarily chosen) First static state 61 is determined by M last =1 and M hs =0 is defined and corresponds to the first received ON event. If an ON event is received when the timer signal is 0 (meaning the time interval since the last received event is higher than the time threshold), the event filter 20 will remain in the first static state 61, because this means the last two received ON events are not part of the same string. If an ON event is received and the timer signal is 1, it means that the ON event has been 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 a string of ON events, while the previously received event is the first event in the same string of ON events. The received ON event is accepted and sent (transition state 65), and the event filter 20 transitions to the second static state 62. If the event filter 20 is part of the pixel circuit 1, the condition for transitioning to the second static state 62 may be receiving an acknowledgment signal ACK through interface logic 14. If an OFF event is received while the event filter 20 is in the first static state 61, the event filter 20 will transition to the third static state 63. The second static state 62 is determined by M. last =1 and M hs =1 is defined, indicating that an ON event has been sent in a series of ON events. Therefore, if an ON event is received, event filter 20 will remain in the second static state 62. If an OFF event is received, event filter 20 will transition to the third static state 63.

[0113] The third static state 63 is determined by M last =0 and M hs=0 is defined, indicating that the first OFF event has been received. If an OFF event is received when the timer signal is 0 (meaning the time interval since the last received event is higher than the time threshold), the event filter 20 will remain in the third static state 63, because this means that the last two received OFF events are not part of the same string. If an OFF event is received and the timer signal is 1, it means that an OFF event has been received within a time interval shorter than the time threshold since the previously received OFF event. Therefore, the received OFF event is the second event in a string of OFF events, while the previously received event is the first event in the same string of OFF events. The received OFF event is accepted and sent (transition state 66), and the event filter 20 transitions to the fourth static state 64. If the event filter 20 is part of the pixel circuit 1, the condition for transitioning to the fourth static state 64 may be receiving an acknowledgment signal ACK through interface logic 14. If an ON event is received, the event filter will transition to the first static state 61. The fourth static state 64 is determined by M. last =0 and M hs =1 is defined, indicating that an OFF event has been sent in a series of OFF events. Therefore, if an OFF event is received, event filter 20 will remain in the fourth static state 64. If an ON event is received, event filter 20 will transition to the first static state 61.

[0114] Therefore, the logic used to receive events is

[0115]

[0116] And the logic used for rejecting events is

[0117]

[0118] It should be noted that the polarity of an event can be ON or OFF, and OFF can also be marked as ON. .

[0119] exist Figure 10 In the example, trajectory storage element 28 (M) is reset only when the polarity changes. hs (Set to 0). This clearly shows that as long as events of the same polarity are received, event filter 20 remains in the second static state 62 and the fourth static state 64, regardless of the time interval between them. Figure 11A similar state transition diagram is shown, illustrating the implementation of the first condition a), the second condition b), and the third condition c), where the trajectory storage element 28 is reset each time the polarity of a received event differs from that of the last received event, and each time the received event and the last received event are separated by a time interval longer than the time threshold. Event filter 20 remains in the second static state 62 only when an ON event is received within a time interval shorter than the time threshold. If the timer signal indicates that the time threshold has passed, event filter 20 transitions back to the first static state 61. This indeed signifies the end of a series of ON events, as no events were received within the interval corresponding to the time threshold. Similarly, event filter 20 remains in the fourth static state 64 only when an OFF event is received within a time interval shorter than the time threshold. If the timer signal indicates that the time threshold has passed, event filter 20 transitions back to the third static state 63. This indeed signifies the end of a series of OFF events, as no events were received within the interval corresponding to the time threshold. The logic for accepting or rejecting events is not modified.

[0120] Figure 12 This is a flowchart illustrating the event filtering steps performed by event filter 20 when the first condition a), the second condition b), and the third condition c) are met. Figure 7 As shown in the flowchart, in the first step S01, the event filter 20 receives an event. In the second step S02, the polarity of the received event is checked to verify whether the received event has the same polarity as the previous event of a previously received event. Otherwise, the event is rejected (step S04). To compare polarities, the event filter 20 can use the state stored in the polarity storage element 24. Therefore, step S02 boils down to comparing the polarity of the received event with the state stored in the polarity storage element 24. The state of the polarity storage element 24 changes at least each time it is determined that the polarity of the received event is different from the polarity of the last received event (step S03). If the polarity of the received event is the same as the polarity of the previous event of the last received event, the event filter 20 verifies whether the time interval between the event time of the received event and the event time of the previous event of the last received event is less than a preset time threshold (step S05).

[0121] In addition to rejection events, if it is determined that the polarity of a received event is different from that of the previous event, or if it is determined that the time interval between a received event and the last received event is higher than a time threshold, the state M of the trajectory storage element 28 is changed. hs(Step S10) to reflect that the received event is not part of the same sequence as the last event (recall that a sequence of events consists of a series of consecutive events of the same polarity separated by time intervals shorter than a time threshold). According to the above non-limiting example, the state M of the trajectory storage element 28... hs It is set to 0. It should be noted that, although... Figure 12 It is shown that after the state of polarity storage element 24 changes (S03), the state M of trajectory storage element 28 is... hs A change occurred (S10), the state M of the trajectory storage element 28 hs The change is directly caused by the received event having a polarity different from that of the previous received event, and not necessarily by the change of the polarity of the storage element. The two changes (S03, S10) of storage elements 24 and 28 can be performed independently.

[0122] 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 and the last received event are part of the same sequence. Then, the state M of the trajectory storage element 28 is tested. hs This is to determine whether a previous event has already been accepted within the same sequence of events (step S11). According to the above non-limiting example, if the state M of the trajectory storage element 28... hs If the value is 1, it means that a previous event has already been accepted in the same string, and the received event has been rejected (step S04). If the state M of the trajectory storage element 28 is... hs A value of 0 indicates that no previous event has been received in the same sequence, and the received event has been accepted (step S06). After the event is accepted, the state M of the trajectory storage element 28... hs The change reflects the acceptance of an event within a sequence of events. Based on the above non-limiting example, the state M of the trajectory storage element 28... hs It is set to 1.

[0123] Back Figure 8Reference numeral 70 illustrates how the third condition c) modifies the event filtering compared to reference numeral 56. Fewer events are accepted. Of the 29 events received, only 5 are accepted, compared to only 13 in reference numeral 56. Only one event is accepted in a series of events of the same polarity. Thus, each burst event is represented by a single event 58b, 59b. In the described example, only the second event in the burst is accepted. More generally, only the Mth event of each burst can be accepted. Information related to edge presence is preserved, but information related to contrast is lost: each edge that causes a burst event is represented by a single accepted event. This can be interpreted as normalization. Thus, event filter 20 normalizes the pixel circuitry's response to edges of different contrasts by generating only a single event for each edge.

[0124] Even compared to other event filtering methods, the proposed event filtering method shows significant improvements for the operation of event-based image sensors. For example, Figure 8 Figure 80 shows the events accepted by the filter according to R. Baldwin et al. in their paper "Inceptive Event Time-Surfaces for Object Classification using Neuromorphic Cameras," when applied to the events of figure 53 in the same figure. It can be recalled that the filter only includes hold events in the following cases:

[0125] 1) Event t i And the previous event t i-1 The time interval between them is greater than the first time threshold τ - ,and

[0126] 2) Next event t i+1 and current event t i The time interval between them is less than the second time threshold τ + .

[0127] This filtering selects events based on the time interval between the received event and the previous and next events. As mentioned earlier, the interval between noise events 57a may be short; therefore, if the following noise events are close in time, the first noise event 57a is accepted. Thus, some alternating noise events 57a are filtered, but not all. This is because the filtering is performed regardless of the polarity of the event. Noise events have alternating polarity, and the proposed filtering method can filter noise events better. In the filtering of R. Baldwin et al., burst events 58 and 59 are presented by the first events 58a and 59a of the burst, and each subsequent event of the burst is too close to the previous event (condition 1 is not satisfied), even if it is close to the next event (condition 2 is satisfied). However, some problems also exist. For example, in the first part 81 of reference numeral 80, the ON noise event 57a is accepted, and the following events, corresponding to the photosensitive signal V, are rejected. pr A portion of the burst OFF events 59 are reduced because the consecutive time intervals between events are shorter than a first time threshold (condition 1 is not met). Therefore, the burst OFF events are rejected, and the events appear to be presented by ON events. In the second part 82 of reference numeral 80, burst OFF events 59 immediately following burst ON events are not presented because the consecutive time intervals between the burst OFF events and burst ON events are shorter than the first time threshold. The filtering by R. Baldwin et al. may produce erroneous results for some timing of burst events and cannot eliminate noise. This is more critical than reducing the number of events, thus emphasizing the importance of each event.

[0128] This brief example demonstrates that the proposed event filter can achieve better noise filtering and faithfully represent each burst event, regardless of its timing.

[0129] In the example application, illuminating the scene using carefully selected spatial and temporal light patterns can be advantageous. The filter can only be used to generate a filtered event when the complete light pattern is observed. No other pattern will generate an event. Therefore, event filter 20 can ignore all raw events from noise or any other light pattern. This allows for reliable detection of patterns corresponding to the filter logic and filtering out noise and events that do not include that pattern. Such patterns can be used in active triangulation systems to determine the distance between objects and the depth map of the system or scene.

[0130] Figure 13The example implementation illustrates an idealized light pattern observed by a single pixel circuit. The light stimulus comprises a sequence 80 of pulses 80a, 80b, 80c (three pulses in this example), followed by another sequence 80' of pulses 80a, 80b, 80c. The pulses 80a, 80b, 80c of the pulse sequence 80 are separated from each other by time intervals shorter than a time threshold (e.g., time intervals defined by a timer). The two pulse sequences 80, 80' are separated from each other by time intervals longer than the time threshold (e.g., time intervals defined by a timer). The pulsed light stimuli can be arranged spatially as narrow strips. The strip position of each pulse sequence may be different, thus its projection onto the image provides information about the scene being imaged.

[0131] Pixel circuit 1 can be configured to emit an event only when the detected change is in a specific direction (i.e., increase or decrease), and not to emit an event if the detected change is in the other direction. In this example, pixel circuit 1 is configured to generate a raw ON event (increase in illumination) for each rising edge, instead of generating an OFF event (decrease in illumination) for each falling edge of the pulsed light pattern of the photosensitive element of the light impact sensor 10. Pixel circuit 1 is configured to ignore events caused by falling edges, i.e., not to send any OFF events to the event processing chain, specifically to the input of event filter 20. In another example, all raw events (ON and OFF) can be generated by pixel circuit 1, and event filter 20 can be configured to reject all events of a specific polarity, such as all OFF events.

[0132] Event filter 20 is configured to accept received events only if: a') the received event has the same polarity as the last M-1 received events, where M is the number of pulses in the pattern; and b') the received event and the last M-1 received events are consecutively separated by time intervals shorter than a time threshold, which corresponds to the duration between the intervals between pulses and between the intervals between pulse sequences. It should be noted that condition a') is always satisfied if the pixel circuitry only emits events of the same polarity, as in the example shown. Regarding Figure 10 and Figure 11 The state diagram can be obtained by disregarding the state M, which depends on the polarity of the last received event. last To simplify.

[0133] In the example, M=3, so event filter 20 is configured to accept received events only if: a') the received event has the same polarity as the last two received events, and b') the last three received events are consecutively separated by time intervals each less than a time threshold defined by the timer. Since the time between two original events in the pattern is less than the timer interval, the counter is not reset during the pattern (i.e., the pulse sequence). The duration is longer than the timer interval before the next pulse begins to allow the counter to reset. In this example, event filter 20 receives the trajectories 82, 82' of three ON events, corresponding to the rising edges of pulses 80a, 80b, 80c of the pulse sequence 80, 80'. Accordingly, event filter 20 outputs only the third ON event of each sequence of ON events, corresponding to the third rising edge of the pulse sequence 80, 80'. Therefore, an event is generated only when a specific light pattern (three pulses in this example) is observed. While the invention has been described with respect to certain preferred embodiments, it is apparent that the invention is not limited thereto, and it includes all technical equivalents of the described means and combinations thereof. In particular, it will be apparent to those skilled in the art that various changes and modifications can be made without departing from the scope of the invention as defined in the appended claims.

Claims

1. An event filtering method for operating an event-based image sensor, the image sensor comprising a plurality of pixel circuits (1) forming a pixel array, wherein, Each pixel circuit (1) includes: - A photosensor circuit (10), configured to transmit a photosensor signal derived from the photocurrent generated by light impacting the photosensitive element of the photosensor circuit (10). - A change detector (12) is configured to detect changes in the photosensor signal and emit an event each time a change is detected, the event being characterized at least by the polarity reflecting the direction of the change. The event-based image sensor includes a processing chain comprising a pixel circuit (1), an arbitrator (2), a sensor driving circuit (3), and a host (4). Events generated by the pixel circuit (1) are sent to the arbitrator (2), then to the sensor driving circuit (3), and finally to the host (4). The event-based image sensor is characterized in that it includes an event filter (20) disposed within a component of the event-based image sensor or between two components of the event-based image sensor, the component being selected from the pixel circuit (1), the arbitrator (2), the sensor driving circuit (3), or the host (4). An event filter (20) set in the processing chain receives a series of events originating from the change detector (12), and for each received event, the event filter accepts or rejects the received event. Accepted events are sent for further processing by the processing chain, and rejected events are discarded without further processing by the processing chain. The event filter (20) accepts the received event only if the first condition a), the second condition b), and the third condition c) are satisfied: a) The polarity of the received event is the same as that of at least the last received event. b) The received event and the last received event are separated by a time interval shorter than a time threshold; and c) The received event is part of a series of events for which no previously received events were received, the series of events comprising a series of consecutive events of the same polarity separated by time intervals shorter than the time threshold.

2. The event filtering method according to claim 1, wherein, The event filter (20) is associated with at least one polarity storage element (24), the state of which depends on the polarity of the last received event, and the at least one polarity storage element is used to determine whether condition a) is met. The event filtering method includes changing the state of the polarity storage element (24) when the polarity of the received event is different from the polarity of the last received event.

3. The event filtering method according to any one of claims 1 or 2, wherein, The event filter (20) includes a timer (26) that is reset each time an event is received. The timer is configured to output a timer signal after a duration corresponding to the time threshold, and to satisfy condition b in the absence of the timer signal.

4. The event filtering method according to any one of claims 1 to 3, wherein, The modified first condition a) for the event filter (20) to accept the received event is: a') The polarity of the received event is the same as that of the last M-1 received events, where M>2.

5. The event filtering method according to claim 4, wherein, The additional second condition b' for the event filter (20) to accept the received event is: b') The received events and the last M-1 received events are continuously separated by each time interval shorter than the time threshold.

6. The event filtering method according to claim 5, wherein, The event filter (20) includes a counter (29) that increments each time an event is received and is reset by a timer signal sent by a timer (26) that is reset each time an event is received. The timer (26) is configured to output the timer signal after a duration corresponding to the time threshold, and the additional second condition b' is satisfied only when the counter (29) is at least M-1.

7. The event filtering method according to claim 6, wherein, The counter (29) is also reset each time the polarity of the received event is different from the polarity of the last received event.

8. The event filtering method according to claim 1, wherein, The event filter (20) is associated with a trajectory storage element (28), the state of which indicates whether a received event has been received since the last reset. The trajectory storage element (28) is reset to a first state at least each time the polarity of the received event is different from the polarity of the last received event, and the trajectory storage element (28) is set to a second state each time an event is received.

9. The event filtering method according to claim 8, wherein, Each time the received event and the last received event are separated by a time interval longer than a time threshold, the trajectory storage element (28) is also reset to the first state.

10. The event filtering method according to claim 1, wherein, The counter (29) increments each time an event is received, and is reset by a timer signal sent by the timer (26) if the polarity of the received event is different from that of at least the last received event, wherein the received event is accepted only when the counter (29) is at M-1, where M≥2.

11. An event-based image sensor, comprising a plurality of pixel circuits (1) forming a pixel array, wherein, Each pixel circuit (1) includes: - A photosensor circuit (10), configured to transmit a photosensor signal derived from the photocurrent generated by light impacting the photosensitive element of the photosensor circuit (10). - A change detector (12) is configured to detect changes in the photosensor signal and emit an event each time a change is detected, the event being characterized at least by the polarity reflecting the direction of the change. The event-based image sensor includes a processing chain comprising a pixel circuit (1), an arbitrator (2), a sensor driving circuit (3), and a host (4). Events generated by the pixel circuit (1) are sent to the arbitrator (2), then to the sensor driving circuit (3), and finally to the host (4). The event-based image sensor is characterized in that it includes an event filter (20) disposed within a component of the event-based image sensor or between two components of the event-based image sensor, the component being selected from the pixel circuit (1), arbitrator (2), sensor drive circuit (3), or host (4), the event filter (20) being configured to receive a series of events originating from the change detector (12), and for each received event, The method according to any one of claims 1 to 10, wherein the received event is accepted or rejected, the accepted event is sent for further processing by the processing chain, and the rejected event is discarded without further processing by the processing chain, and the event filter (20) accepts the received event only if the first condition a), the second condition b), and the third condition c) are satisfied: a) The polarity of the received event is the same as that of at least the last received event. b) The received event and the last received event are separated by a time interval shorter than a time threshold; and c) The received event is part of a series of events for which no previously received events were received, the series of events comprising a series of consecutive events of the same polarity separated by time intervals shorter than the time threshold.

Citation Information

Patent Citations

  • Photoarray for detecting time-dependent image data

    US7728269B2

  • Method for the generation of an image in electronic form, picture element (pixel) for an image sensor for the generation of an image as well as image sensor

    US8780240B2

  • Method and apparatus of processing a signal from an event-based sensor

    EP3518529A1