Event filtering in event sensing systems

By using an event-driven pixel array and a random number filter mask in the event sensing system, the shortcomings of traditional sensors in terms of high frame rate and high-speed capture capability are solved, and efficient ultra-high-speed event detection is achieved.

CN115706861BActive Publication Date: 2025-11-25OMNIVISION TECHNOLOGIES INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210861912.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-08-13
Filing Date
2022-07-21
Publication Date
2025-11-25
Estimated Expiration
2042-07-21

AI Technical Summary

Technical Problem

Traditional image/video sensors struggle to provide ultra-high frame rates and ultra-high-speed capture capabilities, resulting in a large amount of redundant data output and a decline in image/video capture quality.

Method used

An event sensing system is adopted, which uses an event-driven pixel array to asynchronously detect events and uses a random number generator to generate a filter mask to filter out unnecessary events, thereby avoiding congestion and timestamp errors.

Benefits of technology

It achieves ultra-high frame rate and ultra-high speed event detection, reduces bandwidth consumption and latency, avoids static artifacts, and improves the accuracy and efficiency of event detection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115706861B_ABST
    Figure CN115706861B_ABST
Patent Text Reader

Abstract

This application relates to event filtering in an event sensing system. An event sensing system includes a pixel array including a plurality of event-driven pixel circuits configured to be illuminated by incident light. The event-driven pixel circuits are configured to generate an event current in response to detecting an event in the incident light. Output signals of a row of the pixel array are configured to be read out from the row of the pixel array to a line buffer in response to the detecting the event in the incident light. A random number generator is configured to randomly generate a filtering mask. A mask circuit receives the output signals of the row of the pixel array from the line buffer and the filtering mask from the random number generator to filter the output signals of the row of the pixel array in response to the filtering mask.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure generally relates to event-driven sensors, and specifically (but not exclusively) to filtering in event sensing systems. Background Technology

[0002] Image sensors have become ubiquitous and are now widely used in digital cameras, cellular phones, surveillance cameras, and also in medical, automotive, and other applications. As image sensors are integrated into a wider range of electronic devices, there is a desire to enhance their functionality, performance metrics, and the like in as many ways as possible (e.g., resolution, power consumption, dynamic range) through device architecture design and image acquisition and processing.

[0003] A typical image sensor operates in response to incident image light from an external scene. The image sensor comprises an array of pixels having photosensitive elements (e.g., photodiodes) that absorb a portion of the incident image light and generate image charge upon absorption. The image charge generated by the pixel light can be measured as an analog output image signal on the column lines, which varies depending on the incident image light. In other words, the amount of image charge generated is proportional to the intensity of the image light, and this amount of image charge is read out as an analog image signal from the column lines and converted into a digital value to provide information representing the external scene. Summary of the Invention

[0004] On one hand, this application relates to an event sensing system comprising: a pixel array including a plurality of event-driven pixel circuits, wherein the pixel array is configured to be illuminated by incident light, wherein each of the event-driven pixel circuits is configured to generate an event current in response to detecting an event in the incident light; a line buffer coupled to the pixel array, wherein an output signal of a row of the pixel array is configured to be read from the row of the pixel array to the line buffer in response to detecting the event in the incident light; a random number generator configured to randomly generate a filter mask; and a mask circuit coupled to the line buffer to receive the output signal of the row of the pixel array, wherein the mask circuit is further coupled to the random number generator to receive the filter mask, wherein the mask circuit is configured to filter the output signal of the row of the pixel array in response to the filter mask.

[0005] In another aspect, this application relates to a method for filtering events, comprising: detecting events in incident light using a pixel array comprising a plurality of event-driven pixel circuits; randomly generating a filter mask using a random number generator; filtering the events detected by the pixel array using the filter mask to avoid congestion under excessively high event rates, wherein the randomly generated filter mask determines which events are filtered to avoid static artifacts. Attached Figure Description

[0006] Non-limiting and non-exhaustive embodiments of the invention are described with reference to the following figures, wherein similar element symbols throughout the various views refer to similar parts unless otherwise specified.

[0007] Figure 1 This is a block diagram illustrating an example of an event sensing system according to the teachings of the present invention.

[0008] Figure 2 This is a block diagram illustrating another example of an event sensing system according to the teachings of the present invention.

[0009] Figure 3 This is a block diagram illustrating an example of an event-driven pixel according to the teachings of the present invention.

[0010] Figure 4 A schematic diagram illustrating an example of an event-driven pixel according to the teachings of the present invention.

[0011] Throughout the various views of the figures, corresponding reference characters indicate the corresponding components. Those skilled in the art will understand that the elements in the figures are illustrated for simplicity and clarity, and are not necessarily drawn to scale. For example, the dimensions of some elements in the figures may be exaggerated relative to other elements to aid in understanding the various embodiments of the invention. Furthermore, common but easily understood elements that are useful or necessary in commercially viable embodiments are generally not depicted to facilitate a more intuitive understanding of these various embodiments of the invention. Detailed Implementation

[0012] This document describes various examples involving event sensing systems with event filtering. Numerous specific details are stated in the following description to provide a thorough understanding of the examples. However, those skilled in the art will recognize that the techniques described herein can be practiced without one or more of these specific details or by using other methods, components, materials, etc. In other examples, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring certain aspects.

[0013] Throughout this specification, references to "an example" or "an embodiment" mean that a particular feature, structure, or characteristic described in connection with an example is included in at least one example of the invention. Therefore, the phrases "in one example" or "in one embodiment" appearing in multiple places throughout this specification do not necessarily refer to the same example. Furthermore, in one or more examples, a particular feature, structure, or characteristic may be combined in any suitable manner.

[0014] For ease of description, spatial relative terms (e.g., “below,” “under,” “above,” “underneath,” “above,” “top,” “bottom,” “left,” “right,” “center,” “middle,” and the like) may be used to describe the relationship of one element or feature relative to another element(s), as illustrated in the figures. It should be understood that spatial relative terms are intended to cover different orientations of the device in use or operation other than those depicted in the figures. For example, if the device in the figures is rotated or flipped, then an element described as “below,” “under,” or “under” other elements or features will be oriented “above” other elements or features. Therefore, the exemplary terms “below” or “under” may cover both the above and below orientations. The device may be oriented in other ways (rotated ninety degrees or in other orientations), and the spatial relative descriptors used herein may be interpreted accordingly. Furthermore, it should be understood that when an element is described as being “between” two other elements, it may be the only element between the two other elements, or there may be one or more intervening elements.

[0015] Throughout this specification, several terms used in the field are employed. These terms will take their ordinary meaning in the field unless specifically defined herein or the context in which they are used will otherwise clearly indicate otherwise. It should be noted that element names and symbols (e.g., Si for silicon) are used interchangeably throughout this document; however, they have the same meaning.

[0016] While conventional image / video sensors offer tremendous image and / or video capture capabilities, a limitation of conventional image / video sensors is their inability to provide the ultra-high frame rates and ultra-high-speed capture capabilities required for a wide range of applications, such as machine vision, gaming, and AI sensing. Typically, conventional image / video sensors utilize active pixel sensors, which require a specific amount of exposure time to integrate a small photocurrent, and then output image data in frame-by-frame order. To capture high-speed motion, active pixel sensors must operate at very high frame rates. This results in a large amount of data output by conventional active pixel sensors. This output data often contains extremely high levels of redundancy between frames, much of which can be used to convey the same static or slowly changing field-of-view background. In other words, a large amount of background information is constantly sampled, resampled, output, and then reprocessed using conventional active pixel sensors. Attempts to provide such ultra-high frame rates and ultra-high-speed capabilities to typical image / video sensors have led to compromise solutions that offer lower quality image / video capture compared to their conventional image / video sensor counterparts.

[0017] Examples of event sensing systems with event filtering will be disclosed, as shown below. The event sensing system is an event-driven sensor, also known as an event vision sensor (EVS) or dynamic vision sensor (DVS). In each example, the event sensing system comprises a pixel array of event-driven pixels. The event-driven pixels detect events asynchronously at the pixel level without capturing the entire frame with extremely high levels of redundancy. This enables the event-driven pixels to detect events at ultra-high frame rates and ultra-high speeds.

[0018] In an event vision sensor, each event-driven pixel continuously monitors relative changes in light intensity and triggers an event when a threshold is reached. Event information is typically in the format (X,Y,P,T), where (X,Y) are the addresses of pixels in the pixel array, (P) indicates the polarity of the light change, and (T) is a timestamp. One of the main advantages of event vision systems compared to CMOS image sensors (CIS) is the potential reduction in latency, as event-driven pixels without changes in output signal do not increase readout bandwidth consumption.

[0019] Event-driven sensors read out event-driven pixels through arbitration, scanning, or a combination thereof. In situations where numerous event-driven pixels trigger events roughly simultaneously, conflicts may occur, and the peripheral circuitry may need to arbitrate to determine how to efficiently read out conflicting event-driven pixels, taking into account various factors including latency, power consumption, and data rate.

[0020] Due to the asynchronous nature of ultra-high-speed capabilities, event-driven pixels contain timestamps to maintain the correct event sequence for asynchronously detected events. Similarly, there are two ways to assign timestamps to events. In the first method, which can be called "timestamping in the pixel," each pixel is built with digital / analog storage circuitry to sample and retain cyclic timer (Tc) information when the pixel is triggered. In the second method, which can be called "out-of-pixel event stamping," the time when the pixel is selected for readout is used as the timestamp.

[0021] Therefore, in-pixel timestamps allow for better timing accuracy because concurrent events can be accurately represented using the same timestamp contained in the event information read from the pixel. However, the built-in digital-to-analog storage circuitry included to implement in-pixel timestamps comes at a cost, resulting in increased pixel size, complexity, and to some extent reduced scalability. In contrast, out-of-pixel timestamps allow for lower pixel complexity because they do not require built-in digital-to-analog storage circuitry, but at the cost of increased timestamp errors, especially during periods of high event rate collisions and congestion. For example, concurrent events are still read sequentially using out-of-pixel timestamps, which can lead to sequential timestamps of concurrent events. If the delay in the out-of-pixel stamping operation causes timestamp errors longer than the time cycle time or the encoded timestamp time, timer overflow errors may occur.

[0022] As will be shown, the example event sensing system according to the teachings of the present invention includes various mechanisms to avoid timestamp errors by randomly discarding events. In various examples, the event sensing system includes an event filtering mechanism to avoid congestion under excessively high event rates. The mechanism uses a randomly generated mask to select which events to filter out, for example, to avoid static artifacts.

[0023] To illustrate, Figure 1 This is a block diagram illustrating an example of an event sensing system 100 according to the teachings of the present invention. The event sensing system 100 includes a pixel array 102 of event-driven pixel circuits 104 configured to generate photocharge or photocurrent in response to incident light 146. In the depicted example, the pixel array 102 is configured to be illuminated with incident light 146, which can be received from an external scene in which an event occurs. An event is indicated by a rapid or sudden change in the luminance of the incident light 146. In the example, the pixel array 102 is a two-dimensional (2D) array having event-driven pixel circuits 104 arranged in rows and columns, as shown. After each event-driven pixel circuit 104 has been exposed to incident light and generated charge or photocurrent in response, if an event is detected, the corresponding output signal is read out by column readout circuit 106, as shown. In each instance, the output signal can be read out if and only if an event is detected from each row of the pixel array 102, and the output signal can be read out in parallel by the column readout circuit 106 via the column bit lines, as shown.

[0024] In one example, the event sensing system 100 further includes row readout circuitry 108 coupled to several rows of the pixel array 102. In various examples, the row readout circuitry 108 may be configured to detect whether at least one of the event-driven pixel circuits 104 in a row of the pixel array 102 has detected an event. In various examples, column readout circuitry 106 may also be configured to detect whether at least one of the event-driven pixel circuits 104 in a column of the pixel array 102 has detected an event. In one example, the event-driven pixel circuits 104 may be read out using an open-drain readout technique.

[0025] As shown in the depicted example, the column readout circuit 106 includes a line buffer 110 coupled to the pixel array 102 to read out all output signals generated by the event-driven pixel circuit 104 of the pixel array 102 in response to the detection of an event in the incident light 146. As will be shown, according to the teachings of the invention, the event sensing system 100 is configured to reduce timestamp errors by randomly discarding events. In various examples, events may be randomly discarded by the event sensing system 100 based on several factors.

[0026] For example, by Figure 1 One factor in the random event discarding of the example event sensing system 100 described herein is row-based random discarding, which is implemented using a random number generator 116 included in the column readout circuit 106. In this example, the random number generator 116 is configured to generate random numbers that are used to provide a filter mask 132 to randomly select events to be discarded. In this example, the random number generator 116 is programmable and has a large number of programmable filter rates selected based on inputs to the random number generator 116. The random numbers generated by the random number generator 116 are configured to generate a filter mask 132, which is coupled to be received by a mask circuit 112, as shown.

[0027] In this example, mask circuitry 112 is also coupled to line buffer 110 to receive an output signal generated by event-driven pixel circuitry 104 of pixel array 102 in response to the detection of an event in incident light 146. The illustrated example also shows that the event filtering rate or drop rate 120 is then applied to each readout, for example (e.g., row-based). Specifically, the illustrated example shows that drop rate 120 is input to drop rate register 118. Drop rate 120 is then coupled to be received from drop rate register 118 by random number generator 116. In one example, drop rate 120 may be coupled to be received from drop rate register 118 via a communication bus via, for example, an I2C communication protocol, an SPI communication protocol, etc.

[0028] In this example, a random number generator 116 is configured to generate random numbers for generating a filter mask 132, which is coupled to be received by a mask circuit 112. The random numbers generated by the random number generator 116 determine the ratio of events to be dropped or filtered in response to a drop rate 120. Thus, detected events indicated in the output signal generated by the event-driven pixel circuit 104 of the pixel array 102 in response to incident light 146 are randomly dropped or omitted in response to the drop rate 120 at the event filtering rate. According to the teachings of the invention, randomly filtered, dropped, or omitted events are thus randomly removed, which limits the increase in bandwidth and latency.

[0029] Therefore, in operation, masking circuit 112 is configured to mask the output signal received from line buffer 110 in response to a filter mask 132 received from random number generator 116. According to the teachings of the invention, the event filtering rate by which events from line buffer 110 are randomly filtered is in response to a drop rate 120. In one example, according to the teachings of the invention, the masked output of masking circuit 112 is coupled to be received by a filtered line buffer 114, which is configured to output a filtered output 134. In one example, filtered line buffer 114 is coupled to receive the output of a logical AND operation between the filter mask 132 received from random number generator 116 and the contents of line buffer 110 received from pixel array 102.

[0030] It should be understood that Figure 1 The masking circuit 112 depicted in the example illustrates uses a row-based randomized filter mask 132 provided by a random number generator 116 to generate a filtered output 134 from the filtered line buffer 114 to avoid fixed-pattern artifacts. In various examples, this row-based filter mask 132 may be generated each time it is read from the pixel array 102 to avoid a situation where the same event-driven pixel circuitry 104 is consistently prevented from contributing events, which would cause fixed-pattern artifacts in the filtered output 134 from the filtered line buffer 114.

[0031] In various instances, the random number generator 116 may be implemented with a pseudo-random code generator, such as, for example, a linear feedback shift register. As mentioned, the example random number generator 116 is programmable and has a large number of programmable filtering ratios that are selected based on the input to the random number generator 116. For example, in one instance, the random number generated by the random number generator 116 controls or adjusts the event filtering rate or discard rate in response to the discard rate 120 received from the discard rate register 218. Thus, in various instances, it should be understood that the filtering mask 132 provided by the random number generated by the random number generator 116 naturally implements an upper limit of the maximum event rate at which events are discarded from the filtered output 134 in response to the discard rate 120. Thus, in accordance with the teachings of the present invention, the bandwidth and latency of the detected events are controlled so as not to exceed a predefined limit imposed in response to the discard rate 120.

[0032] In various instances, if each row of the pixel array 102 contains N column event-driven pixel circuits 104, then the digital random number generator 116 for generating the filtering mask 132 may be configured to generate N random numbers for each event-driven pixel circuit 104 in each row to achieve truly random filtering. In other instances, the length of the filtering mask 132 may have a length M that is shorter than the column count N, or M < N, which may allow for an easier implementation. In instances where the length of the filtering mask 132 is M and M < N, the shorter filtering mask 132 may be generated locally according to the blocks to be filtered or globally, and in the case of global generation, the global filtering mask 132 may be periodically repeated / copied / applied to limit the burden on the random number generator 116.

[0033] Another factor that may be utilized by the example event sensing system 100 illustrated in Figure 1 is implemented with an activity monitor 122, which is coupled to the pixel array 102 and the column readout circuit 106, as shown. In an example, each event-driven pixel circuit 104 of the pixel array 102 is configured to contribute a unit current having a predetermined value when the event-driven pixel circuit 104 is triggered. In the depicted example, the unit currents from all the event-driven pixel circuits 104 of the pixel array 102 are summed and become the total current I TOTAL 136. Thus, Figure 1 the example activity monitor 122 illustrated in TOTAL136, which represents the total number of event-driven pixel circuits 104 triggered in pixel array 102. In one example, it should be understood that the activity monitor 122 is implemented such that each event-driven pixel circuit 104 generates a different current consumption with a predetermined value on the reference supply if and only if an event is detected by the corresponding event-driven pixel circuit 104. Therefore, the total current I, which is the sum of the different current consumptions of the event-driven pixel circuits 104, is... TOTAL The 136 can be measured on a reference supply using the analog-to-digital converter (ADC) included in the activity monitor 122.

[0034] As shown in the example, the activity monitor 122 is configured to monitor the total current I through the event-driven pixel circuitry 104 of the pixel array 102 that has detected events. TOTAL 136. Next, it can be compared with a specific threshold. As shown, the activity monitor 122 thus generates an activity monitoring signal 138 in response to event activity monitored from the event-driven pixel circuitry 104 of the pixel array 102. In this example, the activity monitoring signal 138 is also coupled to be received by a random number generator 116 to further program the random number generator 116 to select from a large number of programmable filtering rates implemented therein. In this example, the random number generated by the random number generator 116 is thus further configured in response to the activity monitoring signal 138 to further control the event filtering rate or drop rate. Thus, according to the teachings of the invention, a predefined event filtering rate can further respond to the total current I. TOTAL 136 is selected to ensure the desired delay in the filtered output 134.

[0035] exist Figure 1 In the example depicted, the activity monitor 122 includes an analog-to-digital converter (ADC) implemented using a current mirror comprising a first transistor 124 and a second transistor 126, as shown. Figure 1 In the example depicted, the drains of the first transistor 124 and the second transistor 126 are coupled to the supply voltage, and the gates of the first transistor 124 and the second transistor 126 are coupled together and coupled to the source of transistor 126. The source of transistor 126 is coupled to conduct the total current I. TOTAL 136, which is also coupled to all event-driven pixel circuitry 104 of pixel array 102, as shown. The source of transistor 124 is coupled to a voltage divider comprising a plurality of resistors 128-1, 128-2, ... 128-N coupled in series. Each of the plurality of resistors 128-1, 128-2, ... 128-N is coupled to a corresponding one of the plurality of comparators 130-1, 130-2, ... 130-N. Each of the plurality of comparators 130-1, 130-2, ... 130-N is also coupled to a corresponding reference voltage V.REF1 V REF2 ...V REFN This generates corresponding digital output signals D1, D2, ... DN, as shown. In this example, it should be understood that the digital output signals provided by D1, D2, ... DN represent the total current I. TOTAL The digital temperature code is 136. In other instances, it should be understood that the activity monitor 122 can be implemented using other types of analog-to-digital converters. In one instance, the output of the activity monitor 122 is configured to generate an activity monitoring signal 138 in response to digital output signals D1, D2, ... DN, which is coupled to be received by the random number generator 116 of the column readout circuit 106.

[0036] During operation, it should be understood that Figure 1 The current mirror included in the example activity monitor 122 described herein will measure the total current I. TOTAL 136 is mirrored into a current path, which includes a voltage divider provided by a plurality of resistors 128-1, 128-2, ... 128-N. The mirrored current through the plurality of resistors 128-1, 128-2, ... 128-N generates a corresponding voltage drop across each of the plurality of resistors 128-1, 128-2, ... 128-N, the voltage drop depending on whether it exceeds the corresponding reference voltage V. REF1 V REF2 ...V REFN Digital output signals D1, D2, ... DN are generated at the outputs of multiple comparators 130-1, 130-2, ... 130-N.

[0037] In other instances, it should be understood that the activity monitor 122 can be implemented to directly monitor the total current I. TOTAL 136 is operated. Therefore, it should be understood that other analog / digital circuit configurations (e.g., ramp slope, SAR, σ-δ, etc.) may be implemented in the activity monitor 122 depending on delay / power / area / accuracy / performance / etc. requirements.

[0038] Figure 2 This is a block diagram illustrating another example of the event sensing system 200 according to the teachings of the present invention. It should be understood that... Figure 2 The event sensing system 200 can provide Figure 1 This is another example of the event sensing system 100 shown, and the similarly named and numbered elements described above are similarly coupled and function below. It should be further understood that... Figure 2 Event sensing circuit 200 and Figure 1 The event sensing system 100 described in detail shares many similarities.

[0039] For example, such as Figure 2As illustrated in the examples depicted, the event sensing system 200 also includes a pixel array 202 of event-driven pixel circuits 204 configured to generate photocharge or photocurrent in response to incident light 246. In the illustrated examples, the pixel array 202 is configured to be illuminated with incident light 246, which can be received from a scene in which an event occurs. A rapid or sudden change in the luminance of the incident light 246 indicates an event. In the examples, the pixel array 202 is a two-dimensional (2D) array having event-driven pixel circuits 204 arranged in rows and columns, as shown. After each event-driven pixel circuit 204 has been exposed to the incident light 246 and generates charge or photocurrent in response, a corresponding output signal is read out by column readout circuit 206, as shown. In various examples, when an event is detected from each row of the pixel array 202, an output signal can be read out, which can be read out in parallel by the column readout circuit 206 through the column bit lines, as shown.

[0040] In one example, the event sensing system 200 further includes row readout circuitry 208 coupled to several rows of the pixel array 202. In various examples, the row readout circuitry 208 may be configured to detect whether at least one of the event-driven pixel circuits 204 in a row of the pixel array 202 has detected an event. In various examples, column readout circuitry 206 may also be configured to detect whether at least one of the event-driven pixel circuits 204 in a column of the pixel array 202 has detected an event. In one example, the event-driven pixel circuits 204 may be read out using an open-drain readout technique.

[0041] As shown in the depicted example, the column readout circuit 206 includes a line buffer 210 coupled to the pixel array 202 to read out all output signals generated by the event-driven pixel circuit 204 of the pixel array 202 in response to the detection of an event in the incident light 246. As will be shown, according to the teachings of the invention, the event sensing system 200 is configured to reduce timestamp errors by randomly discarding events. In various examples, events may be randomly discarded by the event sensing system 200 based on several factors.

[0042] For example, by Figure 2 One factor in the random event discarding of the example event sensing system 200 described herein is row-based random discarding, implemented using a random number generator 216 included in column readout circuitry 206. In this example, random number generator 216 is configured to generate random numbers that provide a filter mask 232 to randomly select events to discard. In this example, random number generator 216 is programmable and has a large number of programmable filter rates selected based on inputs to random number generator 216. The random numbers generated by random number generator 216 are configured to generate filter mask 232, which is coupled to be received by masking circuitry 212, as shown.

[0043] In this example, mask circuitry 212 is also coupled to line buffer 210 to receive an output signal generated by event-driven pixel circuitry 204 of pixel array 202 in response to the detection of an event in incident light 246. The illustrated example also shows that the event filtering rate or drop rate 220 is then applied to each readout, for example (e.g., row-based). Specifically, the illustrated example shows that drop rate 220 is input to drop rate register 218. Drop rate 220 is then coupled to be received from drop rate register 218 by random number generator 216. In one example, drop rate 220 may be coupled to be received from drop rate register 218 via a communication bus via, for example, an I2C communication protocol, an SPI communication protocol, etc.

[0044] In this example, random number generator 216 is configured to generate random numbers for generating filter mask 232, which is coupled to be received by mask circuitry 212. The random numbers generated by random number generator 216 determine the ratio of events to be dropped or filtered in response to drop rate 220. Thus, detected events indicated in the output signal generated by incident light 246 by event-driven pixel circuitry 204 of pixel array 202 are randomly dropped or omitted at the event filtering rate in response to drop rate 220. According to the teachings of the invention, randomly filtered, dropped, or omitted events are thus randomly removed, which limits the increase in bandwidth and latency.

[0045] Therefore, in operation, masking circuit 212 is configured to mask the output signal received from line buffer 210 in response to a filter mask 232 received from random number generator 216. According to the teachings of the invention, the event filtering rate for randomly filtering events from line buffer 210 is in response to a drop rate 220. In one example, according to the teachings of the invention, the masked output of masking circuit 212 is coupled to be received by filtered line buffer 214, which is configured to output filtered output 234. In one example, filtered line buffer 214 is coupled to receive the output of a logical AND operation between the filter mask 232 received from random number generator 216 and the contents of line buffer 210 received from pixel array 202.

[0046] It should be understood that Figure 2The masking circuit 212 depicted in the example shown utilizes a row-based random filtering mask 232 provided by a random number generator 216 to produce a filtered output 234 from a filtered line buffer 214 to avoid fixed pattern artifacts. In various examples, this row-based filtering mask 232 may be generated each time a readout is made from the pixel array 202 to avoid situations where the same event-driven pixel circuits 204 are constantly blocked from contributing events, which would cause fixed pattern artifacts in the filtered output 234 from the filtered line buffer 214.

[0047] In various examples, the random number generator 216 may be implemented with a pseudo-random code generator, such as (by way of example) a linear feedback shift register. As mentioned, the example random number generator 216 is programmable and has a large number of programmable filtering rates selected based on the input to the random number generator 216. For example, in one example, the random numbers generated by the random number generator 216 control or adjust the event filtering rate or discard rate in response to a discard rate २२० received from a discard rate register २१८. Thus, in various examples, it should be understood that the filtering mask २३२ provided by the random numbers generated by the random number generator २१६ naturally implements an upper limit on the maximum event rate of discarding events from the filtered output २३४ in response to the discard rate २२०. Thus, in accordance with the teachings of the present invention, the bandwidth and latency of detected events are controlled so as not to exceed a predefined limit imposed in response to the discard rate २२०.

[0048] In various examples, if each row of the pixel array २०२ contains N column event-driven pixel circuits २०४, then the digital random number generator २१६ for generating the filtering mask २३२ may be configured to generate N random numbers for each event-driven pixel circuit २०४ of each row to achieve truly random filtering. In other examples, the length of the filtering mask १३२ may have a length M, which is shorter than the column count N, or M < N, which may allow for an easier implementation. In examples where the length of the filtering mask २३२ is M and M < N, the shorter filtering mask २३२ may generally be generated locally in blocks, or applied periodically to blocks to limit the burden on the random number generator २१६.

[0049] Figure 2 One of the differences between the example event sensing system २०० shown in Figure 1 and the event sensing system १०० shown in Figure 2 is that in the example event sensing system २०० shown in Figure 1 instead of using a global activity monitor १२२ to globally monitor the event activity of all pixel circuits १०४ of the pixel array १०२ as described in Figure 2The diagram illustrates this. In operation, if an event is detected by the row readout circuit 208 in a row of pixel array 202, then the adder tree 240 is configured to sample the information in the line buffer 210. In various embodiments, the row event rate monitor included in the row readout circuit 208 can be implemented using a current-starved bit holder included in the event-driven pixel circuit 204. In various embodiments, when an event is detected by the row readout circuit 208, the output signal of the event-driven pixel circuit 204 from the entire row of pixel array 202 can optionally be copied to the line buffer 210, and then a filter mask 212 can be applied.

[0050] In another instance, it should be understood that, according to the teachings of the invention, for example (for instance) Figure 1 The global activity monitor described herein and / or, for example (for instance) Figure 2 The combination of row / column activity monitors described herein can be used to measure event activity in pixel array 102 or pixel array 202. In instances with a combination of row / column activity monitors and a global activity monitor, it should be understood that the randomly generated mask 232 is used to filter events if and only if both the global activity monitor and the row / column activity monitor detect excessive activity in pixel array 202.

[0051] In one example, adder tree 240 may be implemented to monitor event activity by generating digital activity monitoring signal 238 directly from Boolean logic gates coupled to the output latch of line buffer 210. In this example, local row-by-row or block-by-block activity measurements are derived from line buffer 210 by adder tree 240. For example, Figure 2 The adder tree 240 example shown can utilize adders or event-driven pixel circuitry 204 to generate a unit current with a predetermined value and an analog-to-digital converter in response to the detection of an event. Therefore, instead of, for example... Figure 1 As shown in the figure, the unit current is measured using an ADC. Figure 2 The example of adder tree 240 shown utilizes the fact that line buffer 210 stores events, for example, found in rows / columns, for further filtering and / or encoding. This "storage" can be implemented, for example, in a trigger or latch, the output of which indicates the presence of an event. These are then summed to produce a measurement of activity. Therefore, adders in adder tree 240 can be used to calculate sums. Thus, instead of wiring all columns of pixel array 202 (e.g., 1024 columns) to a single large adder, two adjacent cells can be added together in adder tree 240, their sum then added to the sum of the two adjacent cells, and so on. Therefore, according to the teachings of the invention, calculating sums from adder tree 240 produces a much simpler design.

[0052] In one instance, the random number generator 216 is further coupled to receive the digital activity monitoring signal 238 to generate a filter mask 232. In various other instances, it should be understood that, according to the teachings of the invention, the block-by-block activity signal can be implemented using the adder tree 240 to implement and incorporate a block filter mask rather than a row mask to filter events from the pixel array 202.

[0053] Figure 3 This is a block diagram illustrating an example of an event-driven pixel circuit 304 according to the teachings of the present invention. It should be understood that... Figure 3 The event-driven pixel circuit 304 can be Figure 2 A block diagram instance of one of the event-driven pixel circuits 204 or Figure 1 A block diagram example of one of the event-driven pixel circuits 104, and similarly named and numbered elements described above are similarly coupled and function in the following text.

[0054] like Figure 3 As illustrated in the examples depicted, the event-driven pixel circuit 304 includes a photodiode 344 configured to generate photocharge or photocurrent in response to incident light 346 received from an external scene. A logarithmic amplifier 348 is coupled to the photodiode 344 and configured to convert the photocurrent generated by the photodiode 344 into a voltage. In various examples, the logarithmic amplifier 348 is configured to generate a voltage by converting the instantaneous photocurrent from the photodiode 344. A difference detection amplifier 350 is coupled to the logarithmic amplifier 348 to generate a filtered and amplified signal in response to a difference detected in the voltage received from the logarithmic amplifier 348. In one example, the difference detection amplifier 350 is configured to compare the instantaneous logarithmic intensity of the voltage output of the logarithmic amplifier 348 with a reference level based on a reset condition or a last event. An event generation comparator 352 is coupled to a difference detection amplifier 350 to compare a filtered and amplified signal received from the difference detection amplifier 350 with a threshold to asynchronously detect events occurring in the external scene in response to incident light 346. In one example, the event generation comparator 352 is configured to determine whether the signal difference is significant enough to trigger an event. A latch 354 is coupled to the event generation comparator 352 to store events detected by the event generation comparator 352 until they can be read by the handshake logic 356 to interface with the peripheral circuitry. In the depicted example, it should be noted that the example latch 354 includes V DD-SENSE Terminals, can be connected via V DD-SENSE Terminal sensing latch 354. In one example, the event current I... EVENT380 is a dissimilar current consumption (e.g., unit current) that is conducted through latch 354 in response to an event being detected in event-driven pixel circuit 304. In one instance, the event current I is conducted through latch 354 only if and only if an event is detected in event-driven pixel circuit 304. EVENT 380. As will be described in more detail below, in one instance, the event current I... EVENT 380 is a unit current and can have a predetermined value.

[0055] In operation, when an event occurs in the external scene, that event is indicated by a rapid or sudden change in intensity or brightness in the incident light 346 received by the photodiode 344. In other words, if the external scene is static and therefore no event occurs, the brightness of the incident light 346 remains substantially constant. Consequently, the photocurrent generated by the photodiode 344 remains substantially constant. However, if an event (e.g., movement) occurs in the external scene, the event is indicated by an asynchronous rapid or sudden change in the brightness of the incident light 346. The change in brightness can be from darker to brighter or from brighter to darker. Therefore, there is an asynchronous change, or δ, in the photocurrent generated by the photodiode 344. The change in photocurrent, or δ, is converted into a voltage by the logarithmic amplifier 348, filtered and amplified by the difference detection amplifier 350, and then detected by the event generation comparator 352. The events are latched in the latch 354 until they can be read out by the handshake logic 356.

[0056] Therefore, it should be understood that the event-driven pixel circuit 304 does not need to record the entire normal image, and thus does not have to bear the burden of capturing all the highly redundant information of the normal image frame by frame. Instead, in various embodiments, the event-driven pixel circuit 304 only records the location where an event is detected (e.g., the xy coordinates of the photodiode 344 in the pixel array where the event is detected), the polarity of the photocurrent change of that event (e.g., brighter or darker), and the timestamp when that event occurs. In other words, the event-driven pixel circuit 304 only needs to detect movement or motion, rather than the entire frame of the image / video, thereby requiring only a low data rate to achieve ultra-high frame rates and ultra-high speed capabilities. In various embodiments, according to the teachings of the present invention, event data from the event-driven pixel circuit 304 can be combined with normal image or video capture to reconstruct high frame rate, high-quality images or videos using event detection via software, artificial intelligence (AI) networks, etc.

[0057] Figure 4 A schematic diagram illustrating an example of an event-driven pixel 404 according to the teachings of the present invention. It should be understood that... Figure 4 The event-driven pixel circuit 404 can be Figure 3 A schematic diagram example of a block diagram of the event-driven pixel circuit 304, or it may be... Figure 2 A schematic example of one of the event-driven pixel circuits 204 or Figure 1 A schematic example of one of the event-driven pixel circuits 104, and similarly named and numbered elements described above are similarly coupled and function in the following text.

[0058] like Figure 4 As shown in the illustrated example, the event-driven pixel circuit 404 includes a photodiode 444 configured to generate photocharge or photocurrent in response to incident light 446 received from an external scene. A logarithmic amplifier 448 is coupled to the photodiode 444 and configured to convert the instantaneous photocurrent from the photodiode 444 into a voltage. In the illustrated example, the logarithmic amplifier 448 includes: an amplifier 460 having an input coupled to the photodiode 444; and a transistor 458 having a source coupled to both the photodiode 444 and the input to the amplifier 460. As shown, the transistor 458 also has a gate coupled to the output of the amplifier 460 and a drain coupled to a supply voltage. In other examples, it should be understood that, according to the teachings of the invention, the logarithmic amplifier 448 may have other illustrative configurations that provide an output voltage logarithmically related to the intensity of the incident light 446 received from the external scene.

[0059] Continuing with the depicted example, the difference detection amplifier 450 is coupled to the logarithmic amplifier 448 to compare the instantaneous logarithmic strength of the voltage output of the logarithmic amplifier 448 with a reference level based on a reset condition or the last event. In the depicted example, the difference detection amplifier 450 provides a high-pass filter, which is configured to filter out lower frequency components from the voltage received from the logarithmic amplifier 448. In doing so, the event-driven pixel circuit 404 is configured to ignore slow or gradual changes in the photocurrent and instead detect rapid or sudden changes occurring in the photocurrent generated by the photodiode 444.

[0060] In the depicted example, the difference detection amplifier 450 includes an amplifier 464 with a gain of -A. A first capacitor C1 462 is coupled between the output of the logarithmic amplifier 448 and the input of the amplifier 464. A second capacitor C2 466 is coupled between the input of the amplifier 464 and the output of the amplifier 464. A reset switch 468 is also coupled between the input of the amplifier 464 and the output of the amplifier 464. In other examples, it should be understood that, according to the teachings of the invention, the difference detection amplifier 450 may have other illustrative configurations that compare the instantaneous logarithmic strength of the voltage output of the logarithmic amplifier 448 with a reference level based on a reset condition or a last event.

[0061] Figure 4The example depicted shows that the event generator comparator 452 is coupled to the difference detection amplifier 450 to compare the signal received from the difference detection amplifier 450 with a threshold (e.g., V). H and V L This asynchronously detects events occurring in the external scene in response to incident light 446. In the depicted example, the event generation comparator 452 includes a first comparator 470, which has a high threshold (e.g., V) coupled to receive a high threshold. H The event generation comparator 452 includes a first input and a second input coupled to receive the output signal from the difference detection amplifier 450. The event generation comparator 452 also includes a second comparator 472, which has a second input coupled to receive a low threshold (e.g., V). L The first input of the incident light 446 is coupled to a second input to receive the output signal from the difference detection amplifier 450. In one example, the first comparator 470 may be triggered when the brightness or intensity of the incident light 446 changes in one direction (e.g., from darker to brighter), and the second comparator 472 may be triggered when the brightness or intensity of the incident light 446 changes in another direction (e.g., from brighter to darker), or vice versa.

[0062] As shown in the illustrated example, latch 454 is coupled to receive event generator comparator 452 to store events detected by event generator comparator 452 until they can be read by handshake logic 456. Figure 4 The example latch 454 described herein includes a first transistor 474, a second transistor 476, and an inverter 478. In this example, the first transistor 474 is a PMOS transistor, and the second transistor 476 is an NMOS transistor. The first terminal of the first transistor 474 is coupled to the first terminal of the second transistor 476. The second terminal of the first transistor 474 is coupled to the V0 of the latch 454. DD-SENSE The second terminal of the first transistor 474 is coupled to ground. The input of the inverter 478 is coupled to the first terminals of the first transistor 474 and the second transistor 476. The output of the inverter 478 is coupled to the gate terminal of the second transistor 476. The gate terminal of the first transistor 474 is coupled to receive the bias voltage BIAS.

[0063] It should be understood that Figure 4 The example latch 454 described herein is implemented using a current-starved position hold. In one example, an event is detected when the output of inverter 478 turns on NMOS second transistor 476, causing the event current I to... EVENT 480 flows through the first transistor 474 and the second transistor 476, as shown. The latch 454 can therefore pass through V... DD-SENSE Terminals and / or via event current I EVENT480 is used for sensing. With the gate of the first transistor 474 connected to the bias voltage BIAS, the event current I... EVENT 480 is a dissimilar current consumption (e.g., unit current) that is conducted through latch 454 in response to an event being detected in event-driven pixel circuit 404. In one instance, the event current I is conducted through latch 454 only if and only if an event is detected in event-driven pixel circuit 404. EVENT 480.

[0064] The event sensing system includes a global activity monitor (e.g. Figure 1 In an example implementation of an activity monitor 122 or a row / column activity monitor (e.g., row readout 208), a current-starved bit holder implemented in latch 454 is configured to generate a unit current per pixel (event current I) in the event of an detected event. EVENT 480), and then, it is stored in latch 454. These currents generated by all event-driven pixel circuits 404 in the event sensing system (e.g., time sensing system 100) when an event is detected can be summed or aggregated at the row or global level by connecting supply nodes together and feeding them to a discrimination circuit (e.g., activity monitor 122). In various instances, this discrimination circuit compares row or global activity with a reference level. The activity monitor (e.g., activity monitor 122) can then provide digital signals to event filtering peripherals. In various instances, events can be filtered accordingly when excessive activity is detected.

[0065] As mentioned, the gate of the PMOS transistor 474 is connected to a bias voltage BIAS. In one example, the bias voltage BIAS can be generated from a diode-connected PMOS transistor as the event current I. EVENT 480 sets a predetermined or reference unit current value. In the illustrated example, the event current I is explained. EVENT 480 will be supplied by positive rail or V DD-SENSE Terminal sensing. It should be understood that the event current I of the event-driven pixel circuit 404 used for event detection... EVENT A reference unit current of 480 is generated within latch 454. Additionally, with the gate of PMOS transistor 474 connected to the bias voltage BIAS, PMOS transistor 474 is configured as an active load, operating such that it is incompletely turned off, for example, only if inverter 478 or latch 454 is activated in response to an event detected by event-driven pixel circuitry 404. This allows the event current I... EVENT 480 phase current consumption.

[0066] In alternative implementations, it should be understood that the event current can be sensed on the negative rail. Additionally, in alternative implementations, the reference level can be achieved by using an NMOS transistor 476 with a bias voltage (rather than...). Figure 4 The PMOS transistor 474 shown in the example lacks current for setting. In other instances, if the distributed reference potential is the bottleneck, then "approximately unity current" can be achieved by using a transistor connected, for example, a diode, instead of... Figure 4 The current-starved transistor shown in the image is used as a load to generate current.

[0067] In summary, it should be understood that the event vision sensors or event sensing systems disclosed herein incorporate event filtering mechanisms to avoid congestion under excessively high event rates. The disclosed mechanisms employ randomly generated masks to select which events to filter out, thus helping to avoid static artifacts. In various embodiments, the event sensing system may include row readout circuitry that detects whether at least one pixel in a row has detected an event. Detection may be performed, for example, using open-drain readout. The output signals from the entire row of event-driven pixels in the pixel array may then optionally be copied to a line buffer, and subsequently, a randomly generated filtering mask may be applied to the line buffer to randomly filter events to reduce congestion. In various embodiments, the random mask has a large number of programmable filtering rates, which are selected based on event activity measurements.

[0068] Activity measurements can be derived from global and / or row / column activity monitors, or combinations thereof. A global activity monitor can be implemented such that each event-driven pixel generates a distinct current consumption on a reference supply if and only if an event is detected. The sum of the distinct current consumptions of the pixels can be measured on the reference supply by an analog-to-digital converter.

[0069] The reference current for event-driven pixel detection is generated within the latch. In various instances, one of the cross-coupled inverters included in the latch is connected in parallel to an active load, operating such that, for example, the inverter cross current is not completely cut off but dissimilar current consumption is allowed only when the inverter is activated by means of a detected event. Local line-by-line or block-by-block activity measurements are derived from the line buffer using, for example, adders or unit current generation and analog-to-digital conversion.

[0070] In various instances, the random mask can be generated using a linear feedback shift register to produce a pseudo-random filter mask. The filter mask can have a length equal to the column count of the pixel array to provide truly random filtering, or alternatively, a shorter length than the column count of the pixel array to allow for easier implementation. Shorter filter masks can be generated locally according to the blocks to be filtered or globally. Globally generated filter masks can be repeated, copied, or applied to all blocks to be filtered.

[0071] In each instance, the combination of row / column and global activity monitors can be implemented in such a way that events are filtered if and only if both the global and row / column activity monitors detect excessive activity.

[0072] The foregoing description of the illustrative examples of the present invention includes what is described in the specification summary and is not intended to be exhaustive or to limit the invention to the precise forms disclosed. While specific examples of the invention have been described herein for illustrative purposes, those skilled in the art will recognize that various equivalent modifications are possible within the scope of the invention.

[0073] Given the detailed description above, these modifications can be made to the embodiments of the invention. The terminology used in the appended claims should not be construed as limiting the invention to the specific instances disclosed in the specification. Rather, the scope of the invention will be fully defined by the following claims, which should be interpreted according to the established principles of claim interpretation.

Claims

1. An event sensing system, comprising: A pixel array comprising a plurality of event-driven pixel circuits, wherein the pixel array is configured to be illuminated by incident light, and wherein each of the event-driven pixel circuits is configured to generate an event current in response to detecting an event in the incident light; A line buffer coupled to the pixel array, wherein the output signal of a row of the pixel array is configured to be read from the row of the pixel array to the line buffer in response to detecting the event in the incident light; A random number generator configured to (a) control the drop rate based on an activity monitoring signal corresponding to the event current generated by one or more of the event-driven pixel circuits, and (b) randomly generate a filter mask based on the drop rate; and A mask circuit coupled to the line buffer to receive the output signal of the row of the pixel array, wherein the mask circuit is further coupled to the random number generator to receive the filter mask, wherein the mask circuit is configured to filter the output signal of the row of the pixel array in response to the filter mask.

2. The event sensing system of claim 1, further comprising a filtered line buffer coupled to the mask circuit to receive a filtered output signal from the mask circuit.

3. The event sensing system according to claim 1, wherein the random number generator includes a linear feedback shift register.

4. The event sensing system of claim 1, wherein the random number generator is a programmable random number generator configured to provide a large number of different programmable filtering rates to the filter mask in response to the drop rate.

5. The event sensing system of claim 4, further comprising a drop rate register coupled to the random number generator, wherein the random number generator is coupled to receive the drop rate from the drop rate register.

6. The event sensing system of claim 4, wherein the random number generator is further configured to provide the plurality of different programmable filtering rates to the filter mask in response to the activity monitoring signal.

7. The event sensing system of claim 6, further comprising an activity monitor coupled to the plurality of event-driven pixel circuits of the pixel array, wherein the activity monitor is configured to generate the activity monitoring signal.

8. The event sensing system of claim 7, wherein the activity monitor includes an analog-to-digital converter.

9. The event sensing system of claim 7, wherein the activity monitor comprises: A current mirror comprising a first transistor coupled to a second transistor, wherein the gate of the first transistor is coupled to the gate and source of the second transistor, wherein the drain of the first transistor and the drain of the second transistor are coupled to a supply voltage, wherein the source of the second transistor is coupled to each of the plurality of event-driven pixel circuits; A voltage divider comprising a plurality of series-coupled resistors coupled to the source of the first transistor; and A plurality of comparators coupled to the voltage divider, wherein each of the plurality of comparators is coupled to a corresponding one of the plurality of series-coupled resistors and a corresponding reference voltage, wherein the activity monitoring signal is generated in response to the outputs of the plurality of comparators.

10. The event sensing system of claim 6, further comprising an adder tree circuit coupled to the line buffer, wherein the adder tree circuit is configured to sample information in the line buffer to generate the activity monitoring signal in response to an event detected in the output signal of the row of the pixel array in the line buffer.

11. The event sensing system of claim 10, further comprising a row readout circuit coupled to the pixel array, wherein the row readout circuit is configured to detect whether at least one of the event-driven pixel circuits in a row of the pixel array has detected an event.

12. The event sensing system of claim 1, wherein each of the event-driven pixel circuits comprises: A photodiode configured to generate photocharge in response to incident light from an external scene; A logarithmic amplifier coupled to the photodiode to convert the photocurrent generated by the photodiode into a voltage output; A difference detection amplifier coupled to the logarithmic amplifier to compare the instantaneous logarithmic strength of the voltage output of the logarithmic amplifier with a reference level based on a reset condition or the last event; An event generation comparator is coupled to the difference detection amplifier to compare the output of the difference detection amplifier with first and second thresholds to asynchronously detect events occurring in the external scene in response to the incident light; and A latch coupled to the event-generating comparator to store events detected by the event-generating comparator.

13. The event sensing system of claim 12, wherein the logarithmic amplifier comprises: An amplifier having an input coupled to the photodiode; and A transistor has the following characteristics: The source electrode is coupled to the photodiode and the input of the amplifier; A gate, which is coupled to the output of the amplifier; and The drain is coupled to the supply voltage.

14. The event sensing system of claim 12, wherein the difference detection amplifier comprises: An amplifier, which has both input and output; A first capacitor is coupled between the output of the logarithmic amplifier and the input of the amplifier; A second capacitor is coupled between the input of the amplifier and the output of the amplifier; and A reset switch coupled between the input and the output of the amplifier.

15. The event sensing system of claim 12, wherein the event generation comparator comprises: A first comparator has a first input coupled to receive a high threshold and a second input coupled to receive an output from the difference detection amplifier; and The second comparator has a first input coupled to receive a low threshold and a second input coupled to receive the output from the difference detection amplifier.

16. The event sensing system of claim 12, wherein the latch comprises: A first transistor has a first terminal, a second terminal, and a gate, wherein the gate of the first transistor is coupled to a bias voltage, and wherein the second terminal of the first transistor is coupled to a sensing terminal of the latch. A second transistor has a first terminal, a second terminal, and a gate, wherein the first terminal of the first transistor is coupled to the first terminal of the second transistor, and the second terminal of the second transistor is coupled to ground; and An inverter having an input coupled to a first terminal of a first transistor and an input coupled to a first terminal of a second transistor, wherein the inverter has an output coupled to the gate of the second transistor.

17. The event sensing system of claim 16, wherein the event current is configured to be conducted through the sensing terminal of the latch, the first transistor, and the second transistor in response to an event being detected by the event-driven pixel circuit.

18. The event sensing system of claim 16, wherein the bias current is configured to prevent the first transistor from being completely turned off such that the event current is a unit current having a predetermined value.

19. A method for filtering events, the method comprising: Detecting events in incident light using a pixel array containing multiple event-driven pixel circuits; In response to the detection of the event in the incident light, an event current is generated, the output signal of the row of the pixel array is read with a line buffer, and an activity monitoring signal is generated; A filter mask is randomly generated using a random number generator based on the drop rate, wherein the random number generator controls the drop rate in response to the activity monitoring signal; The filter mask is received by a masking circuit and used to filter the output signal of the row of the pixel array received by the line buffer to avoid congestion under excessively high event rates, wherein the randomly generated filter mask determines which events are filtered to avoid static artifacts.

20. The method of claim 19, further comprising using a row readout circuit to detect whether at least one pixel in the row has detected an event.

21. The method of claim 20, further comprising copying the output signal of the entire row of the pixel array to the line buffer in response to detecting, using the row readout circuit, whether at least one pixel in the row has detected the event.

22. The method of claim 19, further comprising randomly generating the filter mask in response to selecting from a large number of programmable filter rates based on the drop rate.

23. The method of claim 22, further comprising selecting from the plurality of programmable filter rates in response to the activity monitoring signal to randomly generate the filter mask.

24. The method of claim 23, further comprising deriving the activity monitoring signal from a global activity monitor, a row-by-row activity monitor, a column-by-column activity monitor, or a combination thereof.

25. The method of claim 23, wherein detecting an event in the incident light with the pixel array comprising the plurality of event-driven pixel circuits comprises generating a unit current with each of the plurality of event-driven pixel circuits in response to detecting an event.

26. The method of claim 25, further comprising generating the activity monitoring signal using an analog-to-digital converter, the analog-to-digital converter being coupled to receive the unit current from each of the plurality of event-driven pixel circuits that have detected the event.

27. The method of claim 25, further comprising generating the unit current in each of the plurality of event-driven pixel circuits using a latch included in each of the plurality of event-driven pixel circuits.

28. The method of claim 27, further comprising, when and only when an event is detected by each of the plurality of event-driven pixel circuits, not completely turning off the transistor in the latch included in each of the plurality of event-driven pixel circuits to generate the unit current.

29. The method of claim 25, further comprising generating the activity monitoring signal in response to detecting, by means of a row readout circuit, whether at least one pixel in the row has detected the event, using a local row-by-row or block-by-block activity measurement derived from the line buffer, the line buffer being configured to store the output signal from the row of the pixel array.

30. The method of claim 19, wherein randomly generating the filter mask using the random number generator comprises randomly generating the filter mask using a linear feedback shift register.

31. The method of claim 19, wherein the filter mask has a length equal to the column count of the pixel array.

32. The method of claim 19, wherein the filter mask has a length less than the column count of the pixel array.

33. The method of claim 32, wherein the filter mask is generated locally according to the blocks to be filtered, having a length less than the column count of the pixel array.

34. The method of claim 32, wherein the filter mask having a length less than the column count of the pixel array is generated globally, and wherein the globally generated filter mask is configured to be applied to all blocks to be filtered.

35. The method of claim 19, wherein the events detected by the pixel array are filtered with the filter mask to avoid congestion under excessively high event rates if and only if both the global and row / column activity monitors detect excessive activity.

Citation Information

Patent Citations

  • Discrete asynchronous event data enhancement method

    CN113177640A