EP4315274A1 - Circuitry and method for encoding events - Google Patents
Circuitry and method for encoding eventsInfo
- Publication number
- EP4315274A1 EP4315274A1 EP22713303.0A EP22713303A EP4315274A1 EP 4315274 A1 EP4315274 A1 EP 4315274A1 EP 22713303 A EP22713303 A EP 22713303A EP 4315274 A1 EP4315274 A1 EP 4315274A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- event
- event image
- image data
- encoded
- events
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/12—Details of acquisition arrangements; Constructional details thereof
- G06V10/14—Optical characteristics of the device performing the acquisition or on the illumination arrangements
- G06V10/147—Details of sensors, e.g. sensor lenses
Definitions
- the present disclosure generally pertains to a circuitry and a method for encoding events generated based on event image pixels of an event image sensor.
- event cameras are known. An overview is given, for instance, in: G. Gallego et al., "Event-based Vision: A Survey,” in IEEE Transactions on Pattern Analysis and Machine Intelligence, doi: 10.1109/TPAMI.2020.3008413.
- Event image sensors used in event cameras typically differ from conventional image sensors in that each event image pixel asynchronously and independently detect changes in the amount of light incident onto the event image pixel such that the dynamic of a scene is captured rather than a frame- based synchronous sequence of pictures. This may result in a high temporal resolution, low latency, high dynamic range, and low power consumption of event cameras.
- an event image sensor may generate an event based on an electric signal from an event image pixel (which may also be referred to as event-based vision sensor pixel) in response to a detected change of the amount of light exceeding a threshold.
- an event may identify an event image pixel that generated the event (e.g., column and row index in an event image pixel array), a time when the event was generated, and a polarity indicating whether the change is an increase or decrease of the amount of light.
- the disclosure provides a circuitry for encoding events, comprising a plurality of event image pixels, the circuitry being configured to: generate events based on the plurality of event image pixels; determine, for each event, a product of a polarity of the event and dictionary data associated with the event image pixel that generated the event; and generate encoded event image data by summation of the products.
- the disclosure provides a method for encoding events, the method comprising: determining, for each event generated based on a plurality of event image pixels, a product of a polarity of the event and dictionary data associated with the event image pixel that generated the event; and generating encoded event image data by summation of the products.
- the present disclosure provides a circuitry for event image processing, the circuitry being configured to: receive encoded event image data; input the encoded event image data into a neural network, wherein the neural network includes a layer which adapts a size of the encoded event image data to an event matrix size; and perform event image processing based on the neural network.
- the disclosure provides a method for event image processing, the method comprising: receiving encoded event image data; inputting the encoded event image data into a neural network, wherein the neural network includes a layer which adapts a size of the encoded event image data to an event matrix size; and performing event image processing based on the neural network.
- Fig. 1 schematically illustrates in a block diagram an embodiment of an event image sensor and a receiver
- Fig. 2 schematically illustrates an embodiment of an event matrix, dictionary data and encoded event image data
- FIG. 3 schematically illustrates in a flow diagram a first embodiment of a method for encoding events
- Fig. 4 schematically illustrates in a block diagram a first embodiment of a data transfer control
- FIG. 5 schematically illustrates in a block diagram a second embodiment of a data transfer control
- Fig. 6 schematically illustrates in a block diagram a third embodiment of a data transfer control
- Fig. 7 schematically illustrates in a block diagram an embodiment of a processing unit
- Fig. 8 schematically illustrates in a flow diagram a second embodiment of a method for encoding events.
- each event image pixel of an event image sensor is configured to detect a change in the amount of light incident onto the respective event image pixel and to generate an electric signal when the detected change exceeded a threshold.
- An event is generated based on the electric signal from the event image pixel which, in some embodiments, includes event information that identifies the event image pixel that generated the event (e.g., column and row index in an event image pixel array), a time when the event was generated by the event image pixel, and a polarity indicating whether the change is an increase or decrease of the amount of light (“raw” event format).
- event information that identifies the event image pixel that generated the event (e.g., column and row index in an event image pixel array), a time when the event was generated by the event image pixel, and a polarity indicating whether the change is an increase or decrease of the amount of light (“raw” event format).
- a data size to be transferred to the receiver may vary as the number of events varies in time.
- an event matrix format similar to conventional image formats may have characteristics which may require increased memory for storage on the event image sensor (and the receiver), may lead to a bottleneck in the data transfer and may not be easily combined with standard video encoders due to the resulting large and sparse event matrices.
- events should be encoded with a format having a constant size for simplifying data transfer, since existing technologies may be optimized for fixed size data transfer. It has further been recognized that, in some instances, events should be encoded with a format which allows further compression using existing methods such as entropy encoding (e.g., Huffman encoding, arithmetic coding).
- entropy encoding e.g., Huffman encoding, arithmetic coding
- some embodiments pertain to a circuitry for encoding events, including a plurality of event image pixels, wherein the circuitry is configured to: generate events based on the plurality of event image pixels; determine, for each event, a product of a polarity of the event and dictionary data associated with the event image pixel that generated the event; and generate encoded event image data by summation of the products.
- the circuitry may be based on or may include or may be implemented by typical electronic components configured to achieve the functionality as described herein.
- the circuitry may be based on or may include or may be implemented as integrated circuity logic and the functionality may be implemented by software executed by a processor or the like.
- the circuitry may be based on or may include or may be implemented by a CPU (central processing unit), a microcontroller, an FPGA (field programmable gate array), an ASIC (application specific integrated circuit), a GPU (graphical processing unit), a DSP (digital signal processor) or the like.
- the circuitry may be based on or may include or may be implemented in parts by typical electronic components and integrated circuitry logic and in parts by software.
- the circuitry may include storage capabilities such as magnetic storage, semiconductor storage, etc.
- the circuitry may include a data bus for transmitting and receiving data and may implement corresponding communication protocols.
- the circuitry includes a plurality of event image pixels.
- event image sensors including, e.g., an event image pixel array are known, for example, Dynamic Vision Sensor (DVS), Asynchronous Time Based Image Sensor (ATIS) or Dynamic and Active Pixel Vision Sensor (DAVIS), which may be used in some embodiments.
- DVS Dynamic Vision Sensor
- ATIS Asynchronous Time Based Image Sensor
- DAVIS Dynamic and Active Pixel Vision Sensor
- event image sensors may combine event detection and conventional frame-based image capturing.
- an event image pixel generates an electric signal when a detected change of an amount of light incident onto the pixel exceeds a threshold and stores a representation of the amount of light at the time the event is generated.
- the electric signal is used by the circuitry to generate an event and, thus, the circuitry is configured to generate events based on the plurality of event image pixels.
- an event includes event information which identifies the event image pixel that generated the event (e.g., column and row index in an event image pixel array of the event image sensor), a time when the event was generated by the event image pixel, and a polarity indicating whether the change is an increase or decrease of the amount of light incident onto the event image pixel.
- the events are generated asynchronously such that, when a number of events are accumulated in the “raw” event format before transfer to the receiver, the data size to be transferred may vary, however, existing technologies may be optimized for fixed size data transfer.
- an event matrix (having a size corresponding to the number of rows and columns of an event image pixel array) allows to associate events generated in a predetermined time interval with an event image similar to conventional image formats
- this format may require increased memory for storage on the event image sensor (and the receiver), which may lead to a bottleneck in the data transfer and may not be easily combined with standard video encoders due to the resulting large and sparse event matrices.
- event image provides information about a scene complementary to a conventional image (for example, the predetermined time interval, as mentioned above, may be synchronized with a frame rate for capturing conventional images of the scene). This is because the event image provides information about the dynamics in the scene and the conventional image provides information about the statics of the scene.
- the encoding of events should provide a format which, on the one hand, allows to generate an approximated reconstruction of an event matrix representing an event image and, on the other hand, requires less memory for storage (compressed representation of an event matrix), provides a fixed data size for data transfer and allows to further encode (e.g., entropy encoding) the encoded events.
- the circuitry is configured to accumulate events by determining, for each event, a product of a polarity of the event and dictionary data associated with the event image pixel that generated the event, and by generating encoded event image data by summation of the products.
- events are encoded in a format suitable for further processing, as will be discussed in more detail below.
- the dictionary data represent a vector or matrix or the like having a fixed size (and the same fixed size for each pixel) smaller than the size of the event matrix (which has a size corresponding to the number of rows and columns of an event image pixel array).
- the dictionary data include pseudo-randomly generated values +1 and -1.
- the pseudo- randomly generated values +1 and -1 are generated based on a uniform probability distribution such that each value +1 and -1 has a probability of 0.5 to be generated.
- a product of the polarity and the dictionary has the size of the dictionary data since polarity may be represented by an Integer such as +1 and -1.
- the encoded event image data have the same size (and representation, e.g., vector or matrix or the like) as the dictionary data and include the sum of the products.
- the encoded event image data provide a compressed and dense representation of a large and sparse event matrix (representing an event image).
- the dictionary data, for each event image pixel may be stored in a memory and obtained when required. Dictionary data of an event image pixel is required when the event image pixel generated an event and the product for that event is to be determined.
- the circuitry is further configured to generate the dictionary data when the dictionary data is required in the determination of the products (“on-the-fly”) .
- the dictionary includes pseudo-randomly generated values +1 and -1, the summation of the products results in encoded event image data including Integer values with approximately Gaussian (normal) distribution (or the like).
- Integer values with approximately Gaussian (normal) distribution or the like.
- entropy encoding allows further compression, since it may be more efficient in such cases.
- the circuitry is further configured to entropy encode the encoded event image data.
- the encoded event image data basically correspond to a dense and compressed representation of an event matrix (event image).
- the sparsity of the event matrix should be less or equal than the size of the encoded event image data (number of values in the encoded event image data).
- This constraint represents a compression limit.
- the sparsity of an event matrix (degrees of freedom) may be estimated by the number of events generated within a predetermined time interval times two related to the row and column indices for each event (however, the exact number can be determined by running encoding-decoding numerical experiments).
- the approximated reconstruction of the event matrix can be performed, in some embodiments, by compressed sensing decoding algorithms such as FISTA (“Fast Iterative Shrinkage -Thresholding Algorithm”).
- FISTA Fast Iterative Shrinkage -Thresholding Algorithm
- the FISTA is discussed, for instance, in: Amir Beck and Marc Teboulle, “A Fast Iterative Shrinkage -Thresholding Algorithm for Linear Inverse Problems”, SIAM Journal on Imaging Sciences 2009, Vol. 2, No. 1, pp. 183-202.
- Such compressed sensing decoding algorithms typically solve an underdetermined linear system of equations under the constraint of sparsity of the solution such that from the infinite number of possible solutions only a few sparse solutions remain.
- the event image sensor or the circuitry may operate or output encoded event image data asynchronously or synchronously (“pseudo -frame based”), which will be discussed in more detail in the following.
- the event image sensor or the circuitry may switch between asynchronous and synchronous operation or output.
- the circuitry is further configured to output a stream of encoded event image data.
- the stream of encoded event image data basically refers to a regular output of encoded event image data, wherein each encoded event image data represents an event matrix (event image).
- each encoded event image data represents an event matrix (event image).
- event image For illustration, first encoded event image data are output at a first time point, second encoded event image data are output at a second time point, and so on.
- events are accumulated in encoded event image data until transmission of the encoded event image data is triggered.
- the circuitry is further configured to output encoded event image data when a predetermined time elapsed since a last output of encoded event image data.
- encoded event image may be output every millisecond, every ten milliseconds, etc. Thereby, a constant data transfer rate may be achieved due to periodic output triggering.
- a compression may not be optimized.
- the number of accumulated events may be low and well below the compression limit.
- the number of accumulated events may be well above the compression limit such that event image reconstruction may be less accurate.
- the circuitry is further configured to output encoded event image data when a number of generated events is within a predetermined range since a last output of encoded event image data.
- encoded event image data may be output when the number of events is close to the compression limit.
- a data transfer rate may vary. For example, when the event generation rate varies due to frequent changes in the scene. However, a data transfer size may still be fixed.
- the circuitry is further configured to output encoded event image data when a predetermined time elapsed since a last output of encoded event image data or when a number of generated events is within a predetermined range since a last output of encoded event image data.
- time is divided into a sequence of (substantially) equal predetermined time intervals.
- each predetermined time interval represents a pseudo-frame and the number of predetermined time intervals per unit time represents a pseudo-frame rate, since, as discussed, event generation is actually asynchronous.
- the division into the sequence of equal predetermined time intervals may be synchronized with a frame rate of conventional image data acquisition (for example, the event image sensor may provide both functionalities).
- the division into the sequence of equal predetermined time intervals may be based on an event generation rate, technical constraints of the event image sensor (e.g., memory constraints) or an application (e.g., automotive applications may require higher pseudo-frame rates than surveillance applications) or the like.
- events that are generated within a predetermined time interval are accumulated in encoded event image data associated with the predetermined time interval.
- each encoded event image data in the stream are based on events generated within an associated predetermined time interval.
- each encoded event image data represents one event image (event matrix) .
- the compression achieved in the encoded event image data and data transfer efficiency may be optimized.
- At least two of the encoded event image data in the stream are based on events generated within an associated predetermined time interval.
- the circuitry may have a limited storage capacity and the encoded event image data stored on the circuitry may be of limited size accordingly such that a compression limit may be reached already well before the end of an associated predetermined time interval due to a high event generation rate.
- the circuitry may output first encoded event image data already when the compression limit is reached and may not wait until the end of the associated predetermined time interval.
- the rest of the events arriving between output of the first encoded event image data and the end of the associated predetermined time interval may be accumulated in second encoded event image data which may be output at the end of the associated predetermined time interval. Accordingly, at least two encoded event image data in the stream are based on events generated within the associated predetermined time interval.
- one or more of the encoded event image data in the stream are based on a combination of first events generated within a first predetermined time interval and of second events generated within a consecutive second predetermined time interval. A corresponding embodiment will be discussed under reference of Fig. 5.
- the compression achieved in the encoded event image data and data transfer efficiency may be not optimized.
- events of both associated predetermined time intervals should be combined for improving compression and data transfer efficiency.
- such a combination is not limited to two predetermined time intervals and may be extended to more than two predetermined time intervals, which may be based on the average event generation rate, technical constraints (e.g., memory, speed, power, etc.) or the like.
- the events may be combined in the generation process of the encoded event image data or the corresponding event image data may be combined afterwards.
- the combination is based on using, when determining the products, a first portion of each dictionary data used for the first events and a second portion, different from the first portion, of each dictionary data used for the second events. A corresponding embodiment will be discussed under reference of Fig. 6.
- the first portion may be the upper half of a matrix and the second portion may be the lower half of a matrix.
- the circuitry is further configured to select a number of bits used in the encoded event image data. This may allow further configuration of compression and accuracy of event image (event matrix) reconstruction (decoding), storage and data transfer optimization.
- event matrix event matrix
- the circuitry may have a limited storage capacity such that a number of bits for storing the encoded event image data may be selected dynamically.
- the number of bits may be selected dynamically according to the size of the encoded event image data or the average event generation rate.
- the number of bits may be selected to be lower than in a case of a high event generation rate, for instance, for storing more than one encoded event image data (e.g., matrix) for combination of the more than one encoded event image data before transmission.
- the circuitry may generate an error message indicating that compression limit is exceeded and may send the error message to a control unit of the event image sensor.
- the control unit may decrease the length of the predetermined time intervals or may adjust the threshold (threshold which a change in the amount of light must exceed for generating an event) for event generation of the event image pixels in order to decrease a sensitivity for event generation.
- Some embodiments pertain to a method for encoding events, wherein the method includes: determining, as described herein, for each event generated based on a plurality of event image pixels, a product of a polarity of the event and dictionary data associated with the event image pixel that generated the event; and generating, as described herein, encoded event image data by summation of the products.
- the method may be performed by the circuitry described herein.
- the method may be performed by a CPU (central processing unit), a microcontroller, an FPGA (field programmable gate array), an ASIC (application specific integrated circuit) or the like.
- Some embodiments pertain to a circuitry for event image processing, wherein the circuitry is configured to: receive encoded event image data; input the encoded event image data into a neural network, wherein the neural network includes a layer which adapts a size of the encoded event image data to an event matrix size; and perform event image processing based on the neural network.
- the circuitry may be based on or may include or may be implemented by typical electronic components configured to achieve the functionality as described herein.
- the circuitry may be based on or may include or may be implemented as integrated circuity logic and the functionality may be implemented by software executed by a processor or the like.
- the circuitry may be based on or may include or may be implemented by a CPU (central processing unit), a microcontroller, an FPGA (field programmable gate array), an ASIC (application specific integrated circuit), a GPU (graphical processing unit), a DSP (digital signal processor), an event- based vision processor, a neural network processor, an artificial intelligence accelerator or the like.
- the circuitry may be based on or may include or may be implemented in parts by typical electronic components and integrated circuitry logic and in parts by software.
- the circuitry may include storage capabilities such as magnetic storage, semiconductor storage, memristive storage, etc.
- the circuitry may include a data bus for transmitting and receiving data and may implement corresponding communication protocols.
- Some embodiments pertain to a method for event image processing, the method including: receiving encoded event image data; inputting the encoded event image data into a neural network, wherein the neural network includes a layer which adapts a size of the encoded event image data to an event matrix size; and performing event image processing based on the neural network.
- the method may be performed by the circuitry for event image processing.
- the method may be performed by a CPU (central processing unit), a microcontroller, an FPGA (field programmable gate array), an ASIC (application specific integrated circuit), a GPU (graphical processing unit), a DSP (digital signal processor) or the like.
- Event image processing may be or may include object/pattern classification, gesture recognition, hand tracking, visual odometry, object tracking, anomaly detection in production lines, image enhancement such as deblurring or slow motion video (for example, for enhancing image quality of a conventional image by motion blur reduction or extra slow motion utilizing the high temporal dynamics of event-based vision sensors).
- image enhancement such as deblurring or slow motion video (for example, for enhancing image quality of a conventional image by motion blur reduction or extra slow motion utilizing the high temporal dynamics of event-based vision sensors).
- the methods as described herein are also implemented in some embodiments as a computer program causing a computer and/ or a processor to perform the method, when being carried out on the computer and/or processor.
- a non-transitory computer-readable recording medium is provided that stores therein a computer program product, which, when executed by a processor, such as the processor described above, causes the methods described herein to be performed.
- FIG. 1 there is schematically illustrated in a block diagram an embodiment of an event image sensor 1 and a receiver 11, which will be discussed in the following under reference of Fig. 1.
- the event image sensor 1 includes a circuitry 2 for encoding events and a control unit 5.
- the circuitry 2 includes an event image pixel array 3 which includes a plurality of event image pixels 4 arranged in rows and columns (the dotted lines indicate further event image pixels between the shown four event image pixels). Each of the plurality of event image pixels 4 is configured to generate an electric signal when a change of an amount of light incident onto the respective event image pixel exceeds a threshold (“event detection”).
- the control unit 5 controls the overall operation of the event image sensor 1 such as timing and readout control. For example, when an event image pixel of the plurality of event image pixels 4 detects an event, the control unit 5 may instruct readout of the electric signals of the row or column or multiple rows or columns including the event image pixel that detected an event.
- the circuitry 2 further includes a processing unit 6.
- the processing unit 6 includes an event generation unit 7, an encoding unit 8 and an output unit 9.
- the event generation unit 7 generates events based on the electric signals of the plurality of event image pixels 4.
- the encoding unit 8 determines, for each event, a product of a polarity of the event and dictionary data associated with the event image pixel that generated the event.
- the encoding unit 8 further generates encoded event image 10 data by summation of the products.
- the output unit 9 outputs the encoded event image data 10 to the receiver 11 when an output trigger occurred.
- the output unit 9 includes a data communication interface (e.g., a data bus interface for outputting the encoded event image data 10) .
- the receiver 11 includes a data communication interface 12 (e.g., a data bus interface) for receiving the encoded event image data 10.
- a data communication interface 12 e.g., a data bus interface
- the receiver 11 further includes a decoding unit 13, a computing unit 14, a statistics computing unit 15 and a neural network unit 16.
- the encoded event image data 10 is input to the decoding unit 13 which is configured to decode the encoded event image data 10 based on a compressed sensing decoding algorithm (e.g., FISTA).
- the decoded encoded event image data 10 represents an approximate reconstruction of an event matrix (event image).
- the decoded encoded event image data 10 is input to the computing unit 14 which is configured to perform event image processing (which may be application specific).
- the encoded event image data 10 is input to the statistics computing unit 15 which is configured to perform statistical analysis on the encoded event image data 10 without decoding it, since the encoded event image data 10 preserves statistical properties, such as variance, of the event matrix it represents in an encoded and compressed way.
- the encoded event image data 10 is input to the neural network unit 16 which is configured to implement a neural network for event image processing.
- the neural network for event image processing includes an additional first layer which adapts the size of the encoded event image data to an event matrix size used as input for the neural network.
- the neural network is trained to perform event image processing (which may be application specific).
- the neural network unit 16 is an example of a circuitry for event image processing.
- event image processing may be or may include object/pattern classification, gesture recognition, hand tracking, visual odometry, object tracking, anomaly detection in production lines, image enhancement such as deblurring or slow motion video or the like.
- Fig. 2 schematically illustrates an embodiment of an event matrix 17, dictionary data 18 and encoded event image data 10 which may be used in the encoding unit 8 of Fig. 1.
- the set of events ⁇ e i > > e M ⁇ represents the event matrix 17 (E) which includes, for example,
- M 11 events (of course, the number of events is not limited to any specific number of events).
- Other entries of the event matrix 17 are zero (not shown for illustration purposes only).
- the size of the event matrix 17, which may correspond to the size of the event image pixel array 3 of Fig. 1, is only for illustration purposes and the present disclosure is not limited to any specific size of the event matrix 17.
- the dictionary data example for dictionary data of one event image pixel that generated the event k.
- the dictionary data 18 has a size smaller than the event matrix 17 such that a dense and compressed representation of the event matrix 17 is generated.
- the encoded event image data 10 (C) has the same size as the dictionary data 18 and is generated according to:
- FIG. 3 schematically illustrates in a flow diagram a first embodiment of a method 20 for encoding events.
- the method may be performed by the circuitry 2 of Fig. 1.
- a stream of events 21 is generated based on a plurality of event image pixels.
- the events in the stream of events are encoded by determining, for each event, a product of a polarity of the event and dictionary data associated with the event image pixel that generated the event and by generating encoded event image data by summation of the products.
- the trigger condition may be met when a number of generated events is within a predetermined range since a last output of encoded event image data or when a predetermined time elapsed since a last output of encoded event image data or a combination thereof.
- the encoded event image data is output at 24 and decoded at 25 at a receiver.
- the encoded event image data may be entropy encoded before output.
- Fig. 4 schematically illustrates in a block diagram a first embodiment of a data transfer control.
- the circuitry 2 (of Fig. 1) generates first events in a first predetermined time interval representing a first event matrix El, second events in a consecutive second predetermined time interval representing a second event matrix E2, and third events in a consecutive third predetermined time interval representing a third event matrix E3.
- the first, second and third event matrix are shown in the circuitry 2 for illustration purposes only, since they are typically not held in the memory of the circuitry 2 due to limited storage capacities.
- the average event generation rate is above a predetermined rate threshold such that the number of first events, second events and third events is above half of the compression limit.
- the circuitry 2 accumulates the first events in first encoded event image data Cl, the second events in second encoded event image data C2, and the third events in third encoded event image data C3.
- the circuitry 2 may hold the first encoded event image data Cl, the second encoded event image data C2 and the third encoded event image data C3 in a buffer. In other embodiments, the circuitry may output the first encoded event image data Cl, the second encoded event image data C2 and the third encoded event image data C3 once they are generated (e.g., due to limited storage capacities).
- the circuitry 2 outputs a stream of encoded event image data including the first encoded event image data Cl, the second encoded event image data C2, and the third encoded event image data C3, wherein the first encoded event image data Cl is output first, then the second encoded event image data C2, and then the third encoded event image data C3.
- each encoded event image data (Cl, C2, C3) represent one event matrix (El, E2, E3) corresponding to one pseudo-frame.
- each encoded event image data (Cl, C2, C3) represent one event matrix (El, E2, E3)
- each event matrix (El, E2, E3) can be approximately reconstructed by decoding the respective encoded event image data (Cl, C2, C3).
- Fig. 5 schematically illustrates in a block diagram a second embodiment of a data transfer control.
- the circuitry 2 (of Fig. 1) generates first events in a first predetermined time interval representing a first event matrix E4, second events in a consecutive second predetermined time interval representing a second event matrix E5, and third events in a consecutive third predetermined time interval representing a third event matrix E6.
- the first, second and third event matrix are shown in the circuitry 2 for illustration purposes only, since they are typically not held in the memory of the circuitry 2 due to limited storage capacities.
- the average event generation rate is below a predetermined rate threshold such that the number of first events, second events and third events is below half of the compression limit.
- the circuitry 2 accumulates the first events in first encoded event image data C4, the second events in second encoded event image data C5, and the third events in third encoded event image data C6.
- the circuitry 2 combines the second encoded event image data C5 and the third encoded event image data C6 by summation.
- the present disclosure is not limited to the combination of two event images and multiple event images may be combined, for example, three or more (which may be based on the event generation rate).
- the second and third events are combined in the generation process of the combined encoded event image data C+, rather than combining the already generated encoded event image data C5 and C6.
- the circuitry 2 may hold the first encoded event image data C4, the second encoded event image data C5 and the third encoded event image data C6 (and/ or the combined encoded event image data C+ instead of the second encoded event image data C5 and the third encoded event image data C6) in a buffer. In other embodiments, the circuitry may output the first encoded event image data C4 and the combined encoded event image data C+ once they are generated (e.g., due to limited storage capacities).
- the combination may improve compression and data transfer efficiency.
- the circuitry 2 outputs a stream of encoded event image data including only the first encoded event image data C4 and combined encoded event image data C+ (sum of C5 and C6), wherein the first encoded event image data C4 is output first and then the combined encoded event image data C+.
- Fig. 6 schematically illustrates in a block diagram a third embodiment of a data transfer control.
- This embodiment discusses an alternative solution to Fig. 5 for the combination of two sets of events generated in consecutive predetermined time intervals.
- the circuitry 2 (of Fig. 1) generates first events in a first predetermined time interval representing a first event matrix E4, second events in a consecutive second predetermined time interval representing a second event matrix E5, and third events in a consecutive third predetermined time interval representing a third event matrix E6.
- the first, second and third event are shown in the circuitry 2 for illustration purposes only, since they are typically not held in the memory of the circuitry 2 due to limited storage capacities.
- the average event generation rate is below a predetermined rate threshold such that the number of first events, second events and third events is below half of the compression limit.
- the circuitry 2 accumulates the first events in first encoded event image data C4, the second events in second encoded event image data C5, and the third events in third encoded event image data C6.
- the circuitry 2 combines a first portion of the second encoded event image data C5 and a second portion, different than the first portion, of the third encoded event image data C6 by stacking. For example, by stacking an upper half (first portion) of the second encoded image data C5 and a lower half (second portion) of the third encoded image data C6.
- the second and third events are stacked in the generation process of the stacked encoded event image data CS, rather than stacking the already generated encoded event image data C5 and C6.
- a first portion of each dictionary data used for the first events is used and a second portion, different from the first portion, of each dictionary data used for the second events is used.
- the present disclosure is not limited to stacking of two encoded event image data (C5, C6), since more than two may be stacked. For example, four may be stacked by using different quarters of encoded event image data or dictionary data.
- both individual event matrices E5 and E6 can be approximately reconstructed.
- the circuitry 2 may hold the first encoded event image data C4, the second encoded event image data C5 and the third encoded event image data C6 (and/ or the stacked encoded event image data CS instead of the second encoded event image data C5 and the third encoded event image data C6) in a buffer.
- the circuitry may output the first encoded event image data C4 and the stacked encoded event image data CS once they are generated (e.g., due to limited storage capacities).
- the circuitry 2 outputs a stream of encoded event image data including only the first encoded event image data C4 and stacked encoded event image data CS (stacking of C5 and C6), wherein the first encoded event image data C4 is output first and then the stacked encoded event image data CS.
- Fig. 7 schematically illustrates in a flow diagram an embodiment of a processing unit such as the processing unit 6 of Fig. 1.
- the circuitry 2 generates an event stream based on the plurality of event image pixels 4.
- the events are input to a dictionary data generator 31 (D generator).
- the events may be input iteratively such as individually, as a row, part of a row, multiple rows or columns etc., which may be based on, for example, a trade-off between memory, speed and power.
- the dictionary data generator 31 determines, for each event, a product of a polarity of the event and dictionary data associated with the event image pixel that generated the event.
- the dictionary data generator 13 obtains parameters for the pseudo-random generation of the values +1 and -1 of the dictionary data from a look-up table 32.
- the circuitry 2 (the processing unit 6) is configured to generate the dictionary data when the dictionary data is required in the determination of the products (“on the fly”).
- the dictionary data is precomputed and stored in the look-up table 32.
- the dictionary data is generated based on a seed specific for an event image pixel that generated the event (however, other initialization strategies such as discrete Fourier coefficients may be used alternatively). Moreover, the dictionary data generator 31 selects a number of bits used in the dictionary data and, thus, in encoded event image data (C).
- the dictionary data generator 31 outputs the products which are summed up iteratively by a summation unit 33 to generate the encoded event image data.
- An encoded event image data memory 34 initializes encoded event image data with zeros when encoded event image data is output.
- the summation unit 33 obtains the initialized encoded event image data and iteratively sums up the products in the encoded event image data.
- the transfer control unit 35 has an event counter such that encoded event image data is output when the compression limit is reached. Moreover, the transfer control unit 35 may have a timer such that encoded event image data is output after a predetermined time interval. Hence, the transfer control unit 35 triggers output of encoded event image data. Furthermore, the transfer control unit 35 may send stacking parameters to the dictionary data generator 31 for stacking of encoded event image data.
- the summation unit 33 provides the encoded event image data to an entropy encoder 36 which is configured to entropy encode the encoded event image data.
- the entropy encoder obtains parameters for entropy encoding from a look-up table 38.
- a data transfer unit 38 outputs the encoded event image data (which may optionally be entropy encoded) .
- the procedure is repeated continuously such that a stream of encoded event image data is output.
- Fig. 8 schematically illustrates in a flow diagram a second embodiment of a method 100 for encoding events.
- the method may be performed by the circuitry 2 of Fig. 1.
- a product of a polarity of the event and dictionary data associated with the event image pixel that generated the event is determined, as discussed herein.
- encoded event image data is generated by summation of the products, as discussed herein.
- the dictionary data is generated when the dictionary data is required in the determination of the product, as discussed herein.
- a number of bits used in the encoded event image data is selected, as discussed herein.
- the encoded event image data is entropy encoded, as discussed herein.
- a stream of encoded event image data is output, as discussed herein.
- encoded event image data is output when a number of generated events is within a predetermined range since a last output of encoded event image data, as discussed herein.
- encoded event image data is output when a predetermined time elapsed since a last output of encoded event image data, as discussed herein.
- circuitry 2 into units 6 to 9 is only made for illustration purposes and that the present disclosure is not limited to any specific division of functions in specific units.
- circuitry 2 could be implemented by a respective programmed processor, field programmable gate array (FPGA) and the like.
- a circuitry for encoding events including a plurality of event image pixels, wherein the circuitry is configured to: generate events based on the plurality of event image pixels; determine, for each event, a product of a polarity of the event and dictionary data associated with the event image pixel that generated the event; and generate encoded event image data by summation of the products.
- circuitry of (1) wherein the circuitry is further configured to output a stream of encoded event image data.
- circuitry is further configured to output encoded event image data when a predetermined time elapsed since a last output of encoded event image data.
- circuitry of anyone of (1) to (7), wherein the circuitry is further configured to entropy encode the encoded event image data.
- a circuitry for event image processing wherein the circuitry is configured to: receive encoded event image data; input the encoded event image data into a neural network, wherein the neural network includes a layer which adapts a size of the encoded event image data to an event matrix size; and perform event image processing based on the neural network.
- a method for encoding events including: determining, for each event generated based on a plurality of event image pixels, a product of a polarity of the event and dictionary data associated with the event image pixel that generated the event; and generating encoded event image data by summation of the products.
- a method for event image processing including: receiving encoded event image data; inputting the encoded event image data into a neural network, wherein the neural network includes a layer which adapts a size of the encoded event image data to an event matrix size; and performing event image processing based on the neural network.
- (21) A computer program comprising program code causing a computer to perform the method according to anyone of (11) to (19), when being carried out on a computer.
- (22) A non-transitory computer-readable recording medium that stores therein a computer program product, which, when executed by a processor, causes the method according to anyone of (11) to (19) to be performed.
- a computer program comprising program code causing a computer to perform the method according to (20), when being carried out on a computer.
- a non-transitory computer-readable recording medium that stores therein a computer program product, which, when executed by a processor, causes the method according to (20) to be performed.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Vascular Medicine (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP21165240 | 2021-03-26 | ||
| PCT/EP2022/054736 WO2022199976A1 (en) | 2021-03-26 | 2022-02-25 | Circuitry and method for encoding events |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4315274A1 true EP4315274A1 (en) | 2024-02-07 |
Family
ID=75252423
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP22713303.0A Withdrawn EP4315274A1 (en) | 2021-03-26 | 2022-02-25 | Circuitry and method for encoding events |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP4315274A1 (en) |
| WO (1) | WO2022199976A1 (en) |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11455793B2 (en) * | 2020-03-25 | 2022-09-27 | Intel Corporation | Robust object detection and classification using static-based cameras and events-based cameras |
-
2022
- 2022-02-25 WO PCT/EP2022/054736 patent/WO2022199976A1/en not_active Ceased
- 2022-02-25 EP EP22713303.0A patent/EP4315274A1/en not_active Withdrawn
Also Published As
| Publication number | Publication date |
|---|---|
| WO2022199976A1 (en) | 2022-09-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102627794B1 (en) | Methods for outputting signals from event-based sensors and event-based sensors using these methods | |
| Dong et al. | Spike camera and its coding methods | |
| CN104065891B (en) | Machine vision 3D line scan image acquisition and processing | |
| JP7421036B2 (en) | lossless data compression | |
| US20210312189A1 (en) | Dynamic vision filtering for event detection | |
| KR20180114049A (en) | Machine vision systems that form one-dimensional digital representations of low information content scenes | |
| EP4066482B1 (en) | Imaging system including digital dual speed readout integrated circuit (roic) | |
| CN117994149A (en) | Image reconstruction method and pulse camera | |
| WO2015023318A2 (en) | Depth image compression and decompression utilizing depth and amplitude data | |
| Bisulco et al. | Near-chip dynamic vision filtering for low-bandwidth pedestrian detection | |
| WO2016133857A1 (en) | Systems and methods for transmission of compressive sensing data | |
| CN116206196B (en) | A multi-target detection method and detection system in marine low-light environment | |
| JP2026501796A (en) | Image sensor-based data processing method and apparatus, image processing system | |
| CN106559670A (en) | A kind of improved piecemeal video compress perception algorithm | |
| EP4315274A1 (en) | Circuitry and method for encoding events | |
| Brites et al. | Neuromorphic vision data coding: Classifying and reviewing the literature | |
| CN109819251B (en) | Encoding and decoding method of pulse array signal | |
| Xuan et al. | A deep learning framework for compressed learning and signal reconstruction | |
| CN117237658A (en) | Feature extractor and method, point cloud processing network and chip | |
| Fesquet et al. | Low-Throughput Event-Based Image Sensors and Processing | |
| Wassatsch et al. | DCE3-An universal real-time clustering engine | |
| Zhang et al. | Quadrant-based online spatial and temporal compressive acquisition for CMOS image sensor | |
| CN220570631U (en) | Photoelectric sensor, pixel unit thereof, pulse camera and electronic equipment | |
| CN115866427B (en) | Pulse data reading method, pulse data reading device, pulse data reading system, pulse data reading equipment and pulse data reading medium | |
| US20260073674A1 (en) | Neural representation for event-camera data |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20231016 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN |
|
| 18W | Application withdrawn |
Effective date: 20250305 |