Method and associated imaging system for transmitting asynchronous event data via a synchronous communication interface

By introducing a synchronous communication transmitter and frame timer into the image sensor, the problems of asynchronous event data transmission delay and loss are solved, and frame filling or virtual data filling within the threshold time is realized, which improves transmission efficiency and reliability.

CN118590747BActive Publication Date: 2025-08-08OMNIVISION TECHNOLOGIES INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410078067.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2023-03-02
Filing Date
2024-01-19
Publication Date
2025-08-08
Estimated Expiration
2044-01-19

AI Technical Summary

Technical Problem

When existing image sensors transmit asynchronous event data, the synchronous communication interface and protocol cannot effectively handle the asynchronous properties generated by event vision sensors, resulting in frame transmission delays and data loss, especially at low event rates.

Method used

The synchronous communication transmitter and frame timer are used to control the transmission time of data frames, ensure that frame filling is completed or virtual data filling is used within the threshold time, avoid timer overflow, and realize the synchronous transmission of asynchronous event data.

Benefits of technology

Synchronous transmission of asynchronous event data depends on external scene activities is realized, reducing frame transmission delay and data loss, and improving transmission efficiency and reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118590747B_ABST
    Figure CN118590747B_ABST
Patent Text Reader

Abstract

Disclosed herein are methods (and associated imaging systems) for transmitting asynchronous event data via a synchronous communication interface. In one embodiment, an imager includes an array of event vision pixels, a synchronous communication transmitter configured to transmit a data frame to a synchronous communication receiver, and a timer configured to indicate when a threshold amount of time has elapsed. Pixels may generate event data based on activity within an external scene. The imager may be configured to insert available event data into a payload of the current frame during a first time period before the frame timer indicates that the threshold amount of time has elapsed, fill the payload with dummy data during a second time period after the frame timer indicates that the threshold amount of time has elapsed, and transmit the current data frame to the synchronous communication receiver (using the synchronous communication transmitter).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates generally to image sensors. For example, several embodiments of the present technology relate to methods for transmitting asynchronous event data generated by an event vision sensor via a synchronous communication interface. Background Art

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

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

[0004] One aspect of the present disclosure is directed to an imager comprising: an array of event vision pixels, each pixel of the array being configured to generate event data based at least in part on an event indicated in incident light received from an external scene; a synchronous communication transmitter configured to transmit a data frame to a synchronous communication receiver; and a frame timer configured to indicate when a threshold amount of time has elapsed, the threshold amount of time corresponding to transmission of a current data frame from the synchronous communication transmitter to the synchronous communication receiver, wherein the imager is configured to: insert available event data into a payload of the current frame during a first time period after activation of the frame timer and before the frame timer indicates that the threshold amount of time has elapsed; fill the payload with dummy data during a second time period after the frame timer indicates that the threshold amount of time has elapsed; and transmit the current data frame to the synchronous communication receiver using the synchronous communication transmitter.

[0005] Another aspect of the present disclosure is directed to an imaging system comprising: a synchronous communication receiver; and an imager comprising a synchronous communication transmitter (a) operably connected to the synchronous communication receiver via a synchronous communication interface and (b) configured to transmit a data frame to the synchronous communication receiver via the synchronous communication interface, the imager further comprising: an event vision pixel array, each pixel of the array configured to generate event data based at least in part on an event indicated in incident light received from an external scene, and a timer operable to track when a threshold amount of time has elapsed, the threshold amount of time corresponding to a time interval from the synchronous communication transmitter to the synchronous communication receiver. Transmission of a current data frame, wherein the imager is configured to: insert first event data into a payload of the current frame during a first time period after activation of a timer and before the timer indicates that a threshold amount of time has elapsed, at least when a certain amount of event data generated by one or more event vision pixels of the array is available for insertion into the payload; insert dummy data into the payload of the current frame during a second time period after the timer indicates that a threshold amount of time has elapsed, at least when a certain amount of event data generated by the one or more event vision pixels of the array is not available for insertion into the payload; and transmit the current data frame to a synchronous communication receiver using a synchronous communication transmitter.

[0006] Yet another aspect of the present disclosure relates to a method of operating an imager comprising one or more event vision pixels, the method comprising: starting a timer associated with transmitting a current data frame to a synchronous communication receiver via a synchronous communication interface, wherein the timer indicates when a predetermined threshold amount of time has elapsed after the timer is started; during a first time period after starting the timer and before the timer indicates that the threshold amount of time has elapsed: determining whether a certain amount of event data is available for insertion into a payload of the current data frame, wherein the event data is generated by at least a subset of the one or more event vision pixels, and when the amount of event data is available for insertion, inserting at least a portion of the amount of event data into the payload of the current frame; during a second time period after the timer indicates that the threshold amount of time has elapsed, inserting dummy data into the payload of the current frame at least when a certain amount of event data is not available for insertion into the payload of the current frame; and transmitting the current data frame to the synchronous communication receiver via the synchronous communication interface. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] Non-limiting and non-exhaustive embodiments of the present technology are described below with reference to the following figures, wherein like or similar reference numerals are used throughout to refer to like or similar components unless otherwise specified.

[0008] Figure 1 Partial schematic block diagram of an imaging system configured in accordance with various embodiments of the present technology.

[0009] Figure 2 To illustrate the operation of various embodiments of the present invention Figure 1 A flow chart of a method of an imaging system.

[0010] Figure 3 To show Figure 2 A timing diagram for an instance of the method.

[0011] Figure 4 To illustrate the operation of various embodiments of the present invention Figure 1 A flow chart of another method of an imaging system.

[0012] Figure 5 To show Figure 4 A timing diagram for an instance of the method.

[0013] Those skilled in the art will appreciate that the elements in the drawings are shown for simplicity and clarity only and are not necessarily drawn to scale. For example, the dimensions of some elements in the drawings may be exaggerated relative to other elements to facilitate understanding of the various aspects of the present technology. In addition, common but well-understood elements or methods that are useful or necessary in commercially feasible embodiments are generally not depicted in the drawings or described in detail below to avoid unnecessarily obscuring the description of the various aspects of the present technology. DETAILED DESCRIPTION

[0014] The present disclosure relates to imaging systems that include event vision sensors. For example, several embodiments of the present technology are directed to methods for transmitting asynchronous event data generated by an event vision sensor via a synchronous communication interface. In the following description, specific details are set forth to provide a thorough understanding of various aspects of the present technology. However, those skilled in the relevant art will recognize that the systems, devices, and techniques described herein can be practiced without one or more of the specific details set forth herein, or with other methods, components, materials, etc.

[0015] Reference throughout this specification to an "example" or "embodiment" means that a particular feature, structure, or characteristic described in connection with the example or embodiment is included in at least one example or embodiment of the present technology. Thus, the use of the phrases "for example," "as an example," or "embodiment" herein is not necessarily all referring to the same example or embodiment and is not necessarily limited to the specific example or embodiment being discussed. Furthermore, the features, structures, or characteristics of the present technology described herein may be combined in any suitable manner to provide further examples or embodiments of the present technology.

[0016] For ease of description, spatially relative terms (e.g., "below," "beneath," "above," "below," "above," "upper," "top," "bottom," "left," "right," "center," "middle," etc.) may be used herein to describe the relationship of one element or feature relative to one or more other elements or features, as shown in the drawings. It should be understood that the spatially relative terms are intended to encompass different orientations of the device or system in use or operation, in addition to the orientation depicted in the drawings. For example, if the device or system shown in the drawings is rotated, turned, or flipped about a horizontal axis, an element or feature described as "below," "beneath," or "beneath" one or more other elements or features may then be oriented "above" one or more other elements or features. Thus, the exemplary terms "below" and "beneath" are non-limiting and may encompass both above and below orientations. The device or system may additionally or alternatively be oriented in other ways (e.g., rotated ninety degrees about a vertical axis, or in other orientations), as shown in the drawings, and the spatially relative descriptors used herein should be interpreted accordingly. In addition, it will also be understood that when an element is referred to as being “between” two other elements, it can be the only element between the two other elements, or one or more intervening elements may also be present.

[0017] Throughout this specification, several technical terms are used. Unless specifically defined herein or the context of their use clearly indicates otherwise, these terms will take on their ordinary meaning in the field in which they appear. It should be noted that component names and symbols are used interchangeably in this document (e.g., Si and silicon); however, both have the same meaning.

[0018] A. Overview

[0019] Active pixel sensors (e.g., CMOS imaging systems) typically employ an array of active pixels with a globally defined integration time. Thus, the active pixels in an active pixel sensor typically have the same integration time, and each pixel in the array is typically converted into a digital signal regardless of its content (e.g., regardless of whether there have been changes in the external scene captured by the pixel since the last time the pixel was read out). In other words, the image data generated by the active pixels in, for example, a CMOS imager is read out in frames of known size, regardless of whether there have been events in the external scene. In other words, the image data generated by the active pixels is read out synchronously from the active pixels. Consequently, a synchronous communication interface (e.g., the Mobile Industry Processor Interface (MIPI) controlled by the Camera Serial Interface (CSI) communication protocol) is typically used to read out or transmit synchronized image data from an imager incorporating an active pixel sensor.

[0020] In contrast, when a pixel captures a change in an external scene (e.g., an event), an event vision sensor (e.g., an event-driven sensor or a dynamic vision sensor) reads out the pixel and / or converts the corresponding pixel signal into a digital signal. In other words, pixels of the event vision sensor that have not detected a change in the external scene are not read out, and / or the pixel signals corresponding to such pixels are not converted into digital signals. Therefore, each pixel of the event vision sensor can be independent of other pixels of the event vision sensor, and only the pixels that have detected a change in the external scene need to be read out, and / or their corresponding pixel signals need to be converted into digital signals or recorded (thereby saving power). In other words, whenever an event is detected in the external scene, the event data generated by the event vision pixel can be asynchronously read out and / or recorded from the pixel.

[0021] Due to the asynchronous nature of the event data generated by imagers that employ event vision pixels, synchronous communication interfaces and protocols are not typically used to read out or transmit asynchronous event data from such imagers. Instead, such imagers typically employ custom asynchronous communication interfaces and protocols (e.g., Address Event Representation (AER) interface / protocol) and custom receivers (e.g., Field Programmable Gate Arrays (FPGAs)) to read out or transmit asynchronous event data. There are several reasons why synchronous communication interfaces and protocols are not typically employed with event vision sensors. Taking MIPI as an example, a MIPI receiver (e.g., an application processor) typically (a) expects to receive event data frames of a known size from a MIPI transmitter, and (b) imposes a timer limit for receiving a complete event data frame from a MIPI transmitter. However, the MIPI / CSI communication protocol that controls the interface typically does not require a fixed frame period for the MIPI transmitter to transmit frames to the MIPI receiver. Therefore, if (i) a MIPI transmitter is used to transmit asynchronous event data from an imager incorporating an event vision sensor, and (ii) the occurrence of events within the external scene detected by the imager (e.g., event rate) is low, then the imager may take a significant period of time to generate enough event data to fill a frame of a known size that the MIPI receiver expects to receive. Excessive latency in receiving a full event data frame at the MIPI receiver due to the low event rate within the external scene may lead to timer overflow issues within the MIPI receiver, which in turn may cause the MIPI to abort frame transmissions, resulting in the loss of any asynchronous event data contained in the abort frame.

[0022] To address these issues, an imager having event vision pixels and configured in accordance with several embodiments of the present technology employs (a) a synchronous communication transmitter (e.g., a MIPI transmitter) configured to transmit data frames from the imager to a synchronous communication receiver (e.g., a MIPI receiver), and (b) a frame timer configured to track when a threshold amount of time has elapsed (e.g., as measured from the beginning of a current data frame or the beginning of a payload of the current frame). During a period of time before the frame timer indicates that the threshold amount of time has elapsed, the imager may add event data (if any) generated by the imager to the payload of the current frame until the payload is full (e.g., filled with an amount of event data corresponding to an amount of data that the synchronous communication receiver expects to receive) or the frame timer indicates that the threshold amount of time has elapsed, whichever occurs first. In the event that the frame timer indicates that a threshold amount of time has elapsed before the imager is able to completely fill the payload of the current frame with event data, during a time period after the frame timer indicates that the threshold amount of time has elapsed, the imager may (i) fill the payload of the current frame with dummy data and / or (ii) insert new incoming event data (if any) into the payload until the payload of the current frame contains the amount of data (event data and / or dummy data) that the synchronous communication interface expects to receive.

[0023] In some embodiments, the imager may transmit the current frame to the synchronous communication interface whenever the payload of the current frame is full (e.g., subject to a minimum and / or maximum frame rate). Thus, if the imager generates sufficient event data to fill the payload of the current frame during a time period before the frame timer indicates that a threshold amount of time has elapsed, the imager may transmit the current frame to the synchronous communication receiver filled with the event data and / or before the frame timer indicates that a threshold amount of time has elapsed. On the other hand, if the imager does not generate sufficient event data to fill the payload of the current frame during a time period before the frame timer indicates that a threshold amount of time has elapsed, the imager may continue to fill the payload with dummy data and / or newly incoming event data (if any) until the payload is full, and then transmit the current frame (filled with dummy data and / or event data) to the synchronous communication receiver. The threshold amount of time can be set (e.g., predetermined, preset, or programmed) to a value that enables the imager to (a) completely fill the payload of the current frame with dummy data and / or event data, and (b) complete transmission of the current frame to the synchronous communication receiver (e.g., subject to a minimum frame rate) before a timer overflow problem within the synchronous communication receiver 120 or other timing specification problem within the synchronous communication interface is likely to occur, thereby reducing the likelihood that the synchronous communication interface will abort transmission of the current frame. In this way, the present technology facilitates asynchronously sending event data in frames of known size to the synchronous communication receiver via the synchronous communication interface and at timings that depend on the amount of activity in the external scene, while avoiding many of the problems highlighted above for transmitting asynchronous event data out of the imager using the synchronous communication interface.

[0024] B. Selected Embodiments of Imaging Systems and Associated Methods for Transmitting Asynchronous Event Data via a Synchronous Communication Interface

[0025] Figure 1 1 is a partial schematic block diagram of an imaging system 100 configured in accordance with various embodiments of the present technology. As shown, the imaging system 100 includes an imager 110 and a synchronous communication receiver 120 ("receiver 120"). The receiver 120 is configured in accordance with various embodiments of the present technology. Figure 1 MIPI receiver 120 is shown as an example in FIG. 1 , and may be another suitable synchronous communication receiver in other embodiments.

[0026] Imager 110 includes event vision pixel array 102, row control circuitry 104, column control circuitry 106, event signal processor 108, synchronous communication transmitter 116 ("transmitter 116"), and frame timer 114. Transmitter 116 Figure 11 is shown as a MIPI transmitter 116 as an example, and may be another suitable synchronous communication transmitter in other embodiments. In some embodiments, the imager 110 may further include a memory 112, as discussed in more detail below. The memory 112 is Figure 1 1. In the example shown in FIG. 1, the memory 112 is a FIFO buffer 112. In other embodiments, the memory 112 may be another suitable type of buffer or memory.

[0027] The event vision pixel array 102 in the imager 110 includes a plurality of event vision pixels arranged in rows and columns. As discussed above, the event vision pixels are configured to capture changes in an external scene (e.g., events). To this end, each event vision pixel may include: (i) a photosensor (not shown), such as a photodiode, configured to photogenerate charge or photocurrent in response to incident light received from the external scene; (ii) a photocurrent-to-voltage converter (not shown) coupled to the photosensor to convert the photocurrent generated by the photosensor into a voltage; and (iii) a filter amplifier (not shown) coupled to the photocurrent-to-voltage converter to generate a filtered and amplified signal in response to the voltage received from the photocurrent-to-voltage converter. The event vision pixel may further include a threshold comparison circuit or stage (not shown) to generate and receive a handshake signal in response to an event asynchronously detected in incident light received from the external scene. Alternatively, the threshold comparison circuit may be included in circuitry peripheral to or external to the event vision pixels of the array 102 (e.g., in the event signal processor 108), such as within the column readout circuitry.

[0028] In operation, when an event occurs in the external scene, the event is indicated in the incident light received by one or more photosensors of one or more event vision pixels of array 102. Specifically, an event can be indicated by a rapid or sudden change in the intensity or brightness of the incident light. In other words, if the external scene is static and no event occurs, the brightness of the incident light remains substantially constant, meaning that the photocurrent (generated by the photosensors of the event vision pixels receiving the incident light) remains substantially constant. However, if an event (e.g., movement) occurs within the external scene, the event is indicated by an asynchronous, rapid or sudden change in the brightness of the incident light. This change in brightness can be from darker to brighter or from brighter to darker, and can result in an asynchronous change or increase in the photocurrent generated by the photosensors of the event vision pixels receiving the incident light. This change or increase in photocurrent can be (a) converted to a voltage by a photocurrent-to-voltage converter coupled to the photosensor, (b) filtered and amplified using a corresponding filter amplifier, and (c) detected using a threshold comparison circuit. In some embodiments, to detect a change or increase in the photocurrent, a threshold comparison circuit may compare the change or increase with a threshold or amount and, based on the comparison, detect an event occurring in the external scene. For example, when the magnitude of the change or increase exceeds the magnitude of the threshold, the threshold comparison circuit may detect that an event has occurred in the external scene.

[0029] As discussed above, the imager 110 need not record an entire conventional image and, therefore, is not burdened with all the highly redundant information that must be captured and recorded from frame to frame for a normal image. Instead, in various embodiments, the imager 110 only records events. For example, the imager 110 may record the location where the event was detected (e.g., the xy coordinates of the event's visual pixel in the array 102), the polarity of the photocurrent change for the event (e.g., brighter or darker), and / or the timing corresponding to when the event occurred or was detected. In other words, the imager 110 can be used to detect movement or motion in an external scene (e.g., as opposed to being used to capture / read out an entire frame of an image or video), thereby enabling the use of low data rates and achieving ultra-high frame rate or speed capabilities in imagers of the present technology.

[0030] The event data detected by the event vision pixels of array 102 may be read out of array 102 asynchronously and / or may be read out in an order different from the order in which the event data was generated. In these embodiments, a digital time stamp associated with each event occurrence in the signal output from the event vision pixels may help ensure that the detected events are processed and / or reconstructed back into the correct order in which the events occurred.

[0031] Continue to refer Figure 1, the row control circuitry 104 and the column control circuitry 106 are used to control rows and columns, respectively, of event vision pixels in the array 102. For example, the row control circuitry 104 and / or the column control circuitry 106 may be configured to reset specific (e.g., individual or multiple rows) event vision pixels of the array 102, and / or read out (e.g., individual or multiple rows) event vision pixels from the array 102 (e.g., along corresponding column bit lines connected to the event vision pixels).

[0032] The pixel signals read out from the event vision pixels of the array 102 may be passed to the event signal processor 108 of the imager 110 for processing. The processing of the pixel signals performed by the event signal processor 108 may include removing pixel signals corresponding to defective event vision pixels of the array 102, classifying the fragments or shapes of the corresponding event data, and / or compressing the event data for transmission to the receiver 120 via the transmitter 116, among other functions.

[0033] After processing by the event signal processor 108 is complete, the event data may be provided to the transmitter 116 for transmission of the event data from the imager 110 to the receiver 120. Additionally or alternatively, all or a subset of the event data may be stored in the memory 112 (e.g., before or after being provided to the transmitter 116), as described in more detail below. Although shown as being positioned between the event signal processor 108 and the transmitter 116, in other embodiments of the present technology, the memory 112 may be omitted or positioned at other locations within the imager 110. For example, in some embodiments, the memory 112 may be positioned within (and therefore part of) the event signal processor 108 or the transmitter 116, or may be positioned after the transmitter 116 (e.g., such that the transmitter 116 is positioned between the event signal processor 108 and the memory 112).

[0034] The frame timer 114 of the imager 110 is used to control the timing of various operations of the imager 110 (e.g., the event signal processor 108, the transmitter 116, etc.). For example, the frame timer 114 can be used to determine when a (e.g., predetermined, preset, or programmable) threshold amount of time has elapsed. As described below with reference to Figures 2 to 5Discussed in more detail, the imager 110 (e.g., the event signal processor 108 and / or the transmitter 116) may be configured, during a time period before a threshold amount of time has elapsed, to add event data to the payload of a current frame of data to be transmitted from the transmitter 116 to the receiver 120. If the payload of the current frame is completely filled with event data before the threshold amount of time has elapsed (as determined using the frame timer 114), the transmitter 116 may transmit the current frame of event data to the receiver 120, may reset the frame timer 114, and may repeat the process for the next frame of data to be transmitted from the transmitter 116 to the receiver 120. Alternatively, if the payload of the current frame is not completely filled with event data before the threshold amount of time has elapsed (as determined by the frame timer 114), the imager 110 may be configured, during a time period after the threshold amount of time has elapsed, to fill in any amount of the payload of the current frame that remains unfilled with (a) dummy data and / or (b) newly generated or available event data that arrives after the threshold amount of time has elapsed. Once the payload of the current frame is filled with event data and / or dummy data, transmitter 116 may send the current frame to receiver 120, may reset frame timer 114, and may repeat the process for the next data frame.

[0035] In some embodiments, the threshold amount of time may be set to a value that ensures that the imager 110 can do the following: (a) insert dummy data and / or event data into the payload of the current frame to completely fill the frame with data of the size expected by the receiver 120 when the threshold amount of time has elapsed, and (b) complete transmission of the full data frame to the receiver 120 before the timer overflows or other problems occur that would abort transmission of the frame. In these and other embodiments, the transmitter 116 may be configured to send the current frame to the receiver 120 within a specified time period. For example, the transmitter 116 may be configured to send the frame to the receiver 120 according to a specified (e.g., predetermined, preset, programmable, etc.) frame rate. As another example, the threshold amount of time discussed above may be a first threshold amount of time, and the transmitter 116 may be configured to send the current data frame to the receiver 120 before or at a second threshold amount of time has elapsed (as tracked by the frame timer 114 or another timer (not shown) of the imager 110). The second threshold amount of time may correspond to an amount of time greater than the first threshold amount of time (as measured from the start of the first threshold amount of time), or may correspond to an amount of time (e.g., predetermined, preset, or programmable) after the first threshold amount of time has elapsed. Continuing with this example, the end of the first threshold amount of time may be set to a value relative to the end of the second threshold amount of time, such that the imager 110 can completely fill the payload of the current frame with the amount of data of the size expected by the receiver 120 by (i) filling the unfilled portion of the payload with dummy data and / or event data once the frame timer 114 indicates that the first threshold amount of time has elapsed and (ii) before the second threshold amount of time has elapsed. In some embodiments, the second threshold amount of time may correspond to an amount of time or transmission latency in which a timer overflow problem within the receiver 120 or other timing specification problem within the synchronous communication interface is unlikely to occur. In other words, the second threshold amount of time may be set such that as long as the transmitter 116 completes sending the current frame, which will be completely filled with data, to the receiver 120 before the second threshold amount of time has elapsed, there is little likelihood that the synchronous communication interface will abort the transmission (e.g., due to a timer overflow issue within the receiver 120 or other timing specification issues within the synchronous communication interface), thereby reducing the likelihood of loss of event data contained in the payload of the current frame.

[0036] In some embodiments, the imager 110 may be configured to transmit data frames to the receiver 120 according to a maximum frame rate and / or a minimum frame rate (e.g., to accommodate upper and / or lower limits on frame rate variability specified by the receiver 120). To this end, the maximum frame rate may be specified by defining a minimum frame time (representing the inverse of the maximum frame rate). The minimum frame time may be specified by (a) defining a frame size (e.g., by programming a packet / row size and a row count), (b) programming a data rate for the transmitter 116 (e.g., in bits per second or symbols per second), and / or programming horizontal blanking ("Hblanking") and / or vertical blanking ("Vblanking") times. Continuing with this example, the specified minimum frame time may then be provided by the following equation:

[0037] Equation 1:

[0038] Additionally or alternatively, the minimum frame rate may be specified by defining a maximum frame time (representing the inverse of the minimum frame rate). The maximum frame time may be specified by programming a threshold amount of time tracked by the frame timer 114 ("frame timer threshold"). The maximum frame time may then be provided by the following equation:

[0039] Equation 2: Maximum frame time = frame timer threshold + minimum frame time

[0040] Thus, by increasing the frame size and decreasing the frame timer threshold, the present technique can limit the difference between the maximum and minimum frame rates at the expense of transmitting more virtual data (as opposed to event data) and therefore excess power.

[0041] Figure 2 To illustrate the operation of various embodiments of the present invention Figure 1 Flowchart of method 230 of imaging system 100 of imaging system 100. Method 230 may be used, for example, to transmit asynchronous event data from imager 110 of imaging system 100 via a synchronous communication interface formed at least in part by transmitter 116 and receiver 120. Method 230 is shown as a set of steps or boxes 231 to 237. All or a subset of one or more of boxes 231 to 237 may be performed by various components of imaging system 100. For example, all or a subset of one or more of boxes 231 to 237 may be performed by (i) event vision pixel array 102, (ii) row control circuitry 104, (iii) column control circuitry 106, (iv) event signal processor 108, (v) memory 112, (vi) frame timer 114 and / or (vii) transmitter 116. In addition, the above method may be used to transmit asynchronous event data from imager 110 of imaging system 100 via a synchronous communication interface formed at least in part by transmitter 116 and receiver 120. Figure 1 The discussion of executing any one or more of blocks 231 to 237. Figure 3 Discussion Figure 2Method 230, Figure 3 To show the first frame (frame i) and the second frame (frame i+1) of data, for example, from Figure 1 The imager 110 is transmitted to the transmitter 116 Figure 1 Timing diagram of receiver 120.

[0042] The process begins at block 231 by starting the frame timer 114. Figure 2 Method 230 of the imager 110. As discussed above, the imager 110 may use the frame timer 114 to determine when a threshold amount of time has elapsed. In some embodiments, the frame timer 114 may start at zero or another default / reset value and count up (e.g., toward the threshold amount of time). In other embodiments, the frame timer 114 may start at the threshold amount of time or another default / reset value and count down (e.g., toward zero or another value indicating that the threshold amount of time has elapsed). The frame timer 114 may start at a start-of-frame (SOF) symbol or header of the frame (e.g., at its beginning, end, or another location along the frame). Alternatively, as Figure 3 As shown in , the imager 110 may start a frame timer 114 with a data packet or payload of a frame (e.g., at its beginning, end, or another position along the same). Figure 3 In the embodiment shown in , the frame timer 114 is configured to count upward from zero toward a threshold amount of time.

[0043] exist Figure 2 At block 232 of the method 230, the method 230 continues by determining whether an amount of time equivalent to the threshold amount of time has elapsed since the frame timer 114 was started at block 231. When the imager 110 determines that the threshold amount of time has elapsed (block 232: yes), the method 230 proceeds to block 236. On the other hand, when the imager 110 determines that the threshold amount of time has not elapsed (block 232: no), the method 230 proceeds to block 233. In some embodiments, the imager 110 continuously or periodically checks whether the threshold amount of time has elapsed while also proceeding to block 233 (e.g., by Figure 2 232).

[0044] At block 233, method 230 continues by determining whether event data has been generated and / or is available for transmission to receiver 120. In some embodiments, imager 110 may determine that event data has been generated or is available for transmission to receiver 120 (block 233: yes) when imager 110 determines that there is event data that (1) has been (a) generated by one or more event vision pixels of array 102, (b) read out from array 102, (c) processed by event signal processor 108, (d) received by transmitter 116, and / or (e) stored in memory 112, and (2) has not yet been added to the payload of the current frame to be sent to receiver 120. In some embodiments, imager 110 is configured to only insert event data (e.g., as opposed to dummy data) during a time period before frame timer 114 indicates that a threshold amount of time has elapsed (block 232: no). Thus, when no event data has been generated and / or is available for transmission to receiver 120 (block 232: no). Thus, when the imager 110 determines that no event data has been generated or is available (block 233: No), the method 230 may return to block 232 to determine whether an amount of time equivalent to the threshold amount of time has elapsed without inserting event data or other data into the payload of the current frame. On the other hand, when the imager 110 determines that event data has been generated or is available (block 233: Yes), the method 230 may proceed to block 234.

[0045] As discussed above, event data is asynchronously generated by the event vision pixels of array 102 depending on the occurrence of activity or events in the external scene. Therefore, the amount of event data generated can be positively correlated with the rate of events or the amount of activity in the external scene. In other words, when a large amount of activity is occurring in the external scene, a large amount of event data can be generated, and when little or no activity is occurring in the external scene, little or no event data can be generated. Event data (if any) generated by the event vision pixels of imager 110 can be read out of array 102 and processed by event signal processor 108.

[0046] At block 234, method 230 continues by inserting the event data into the payload of the current frame. When a large amount of event data has been generated and is available for insertion into the payload of the current frame, imager 110 is able to quickly fill the payload of the current frame. On the other hand, when little or no event data has been generated and is available for insertion into the payload of the current frame, imager 110 is unable to quickly fill the payload of the current frame to the size desired by receiver 120, and instead, must often wait for additional event data to arrive before imager 110 can completely fill the payload. In some embodiments, method 230 may proceed from block 234 to block 235 (a) after imager 110 inserts a predetermined, preset, or programmable amount of event data into the payload of the current frame and / or (b) when all currently available event data has been added to the payload of the current frame.

[0047] At block 235, method 230 continues by determining whether the payload of the current frame is full (also referred to herein as "completely filled"). When the payload of the current frame is filled with the amount of data (here, event data) that receiver 120 expects to receive from transmitter 116, imager 110 may determine at block 235 that the payload of the current frame is completely filled. In some embodiments, all or a subset of block 235 may be performed during block 234. For example, upon imager 110 adding event data to the payload of the current frame or after imager 110 has added a predetermined, preset, or programmable amount of event data to the payload, imager 110 may determine whether the addition of event data at block 234 has completely filled the payload of the current frame. When imager 110 determines that the payload of the current frame is not full (block 235: No), method 230 may continue adding event data to the payload at block 234, at least until frame timer 114 indicates that a threshold amount of time has elapsed (block 232: Yes). Additionally or alternatively, all or a subset of block 235 may be performed after block 234. For example, the imager 110 may determine whether the payload of the current frame is full after the imager 110 inserts the currently generated and / or available event data into the payload. In this case, when the imager 110 determines that the payload of the current frame is not full (block 235: No), the method 230 may return to block 232 to determine whether an amount of time equivalent to a threshold amount of time has elapsed. Regardless of whether block 235 is performed during or after block 234, when the imager 110 determines that the payload of the current frame is full (block 235: Yes), the method 230 may proceed to block 237.

[0048] At block 237, the method 230 continues by transmitting the current frame to the receiver 120 and resetting the frame timer 114. The imager 110 may transmit the current frame to the receiver 120 using the transmitter 116. Additionally, the imager 110 may reset the frame timer 114 (e.g., at the beginning, end, or at another location along the frame) (a) with a payload symbol of the current frame (e.g., at the end thereof), (b) when the frame timer 114 reaches a threshold amount of time, (c) with an end-of-frame (EOF) symbol of the current frame (e.g., at the beginning, end, or at another location along the frame), (d) upon or after transmitting the current frame from the transmitter 116 to the receiver 120, or (e) at a later time. Figure 2 The frame timer 114 is reset at another suitable point within the method 230 .

[0049] Returning to block 232 of method 230, when the imager 110 determines (e.g., using the frame timer 114) that the threshold amount of time has elapsed (block 232: YES), the method 230 proceeds to block 236 to insert dummy data into the unfilled portion of the payload of the current frame until the payload of the current frame is full (e.g., filled with the amount of data (here, dummy data and / or event data) that the receiver 120 expects to receive from the transmitter 116). In the event that the imager 110 does not insert any event data into the payload of the current frame before the frame timer 114 reaches the threshold amount of time, the payload of the current frame may be completely filled with dummy data. Alternatively, in the event that (i) the imager 110 inserts event data into the payload of the current frame before the frame timer 114 reaches the threshold amount of time and (ii) the event data inserted into the payload does not completely fill the payload, the payload of the current frame sent to the receiver 120 may be partially filled (e.g., padded) with dummy data and partially filled with event data.

[0050] In some embodiments, the virtual data is encoded differently than the event data so that the virtual data can be later distinguished from the event data (e.g., at receiver 120). For example, the virtual data may include (i) a unique header or (ii) a header encoded in a unique format. The unique header or unique header encoding format used for the virtual data may be different from the header or header encoding format used to identify the event data, respectively.

[0051] After padding the payload of the current frame with dummy data to completely fill the payload, method 230 may proceed to block 237 to transmit the current frame to receiver 120 and reset frame timer 114 according to the discussion of block 237 above.

[0052] Reference Figure 3 As Figure 2In an example of method 230, imager 110 starts frame timer 114 at the beginning of the data payload of a first frame (frame i) (block 231). For the first frame, a significant amount of activity occurs within the external scene, which means that a significant amount of event data is generated by imager 110 and available for insertion into the payload of the first frame (block 233: yes). Thus, imager 110 is able to quickly and fully fill the payload of the first frame well before frame timer 114 reaches a threshold amount of time (block 234). Consequently, imager 110 is able to complete transmission of the first event data frame to receiver 120 before frame timer 114 reaches the threshold amount of time (block 237).

[0053] Continue to refer Figure 3 , the imager 110 continues to fill the second frame (frame i+1) after resetting the frame timer 114. In particular, the imager 110 starts the frame timer 114 at the beginning of the data payload of the second frame (block 231). In contrast to the first frame, little activity occurs within the external scene of the second frame, which means that little to no event data is generated by the imager 110 and available for insertion into the payload of the second frame. Therefore, the frame timer 114 reaches a threshold amount of time (block 232: yes) before the imager 110 is able to completely fill the payload of the second frame with event data. Therefore, when the frame timer 114 reaches the threshold amount of time (block 232: yes), the imager 110 continues to fill the payload of the second frame with dummy data (block 236) by filling the unfilled portions of the payload of the second frame with dummy data (as by Figure 3 ) until the payload of the second frame is full (e.g., includes a total amount of dummy data and / or event data corresponding to the size expected by the receiver 120). At this point, the imager 110 continues transmitting the second frame to the receiver 120 (block 237) and resets the frame timer 114.

[0054] from Figure 3Note that the imager 110 may transmit the second frame (frame i+1) to the receiver 120 at a different timing than the timing at which the imager 110 transmitted the first frame (frame i) to the receiver 120. Specifically, for the first frame, the abundance of event data available for insertion into the payload of the first frame enables the imager 110 to (i) completely fill the payload of the first frame with event data and (ii) complete transmission of the first frame to the receiver 120 before the frame timer 114 reaches the threshold amount of time. However, for the second frame, the lack of event data available for insertion into the payload of the second frame in the period before the frame timer 114 reaches the threshold amount of time prevents the imager 110 from completely filling the payload of the second frame with event data before the frame timer 114 reaches the threshold amount of time. Therefore, the imager 110 continues to (i) insert dummy data into the payload of the second frame after the threshold amount of time has elapsed and (ii) then transmits the second frame to the receiver 120. Thus, the present techniques facilitate imager 110 asynchronously sending event data in frames of known size to receiver 120 via a synchronous communication interface at timings that depend on the amount of activity in the external scene.

[0055] In other embodiments, the imager 110 may be configured to transmit the image at the same timing relative to the imager's frame timer 114 or another timer (e.g., according to a set frame rate). Figure 3 For example, although the imager 110 is able to quickly fill Figure 3 , but imager 110 may wait to complete transmission of the first frame to receiver 120 until the specified timing aligns on the first and second frames.

[0056] Although blocks 231 through 237 of method 230 are discussed and shown in a particular order, Figure 2The method 230 shown in FIG2 is not so limited. In other embodiments, the method 230 can be performed in a different order. In these and other embodiments, any of the blocks 231 to 237 of the method 230 can be performed before, during, and / or after any of the other blocks 231 to 237 of the method 230. For example, in some embodiments, block 233 can be performed before block 232. As another example, blocks 232, 233, and / or 235 can be performed during any one or more of blocks 232, 233, 234, 235, and / or 236. In addition, a person skilled in the relevant art will recognize that the method 230 shown can be modified and still remain within these and other embodiments of the present technology. For example, in some embodiments, one or more blocks 231 to 237 of the method 230 can be omitted and / or repeated. As another example, when no event data is generated and / or available for insertion into the payload, the imager 110 may be configured to insert dummy data into the payload of the current frame (at block 234) during a time period before the frame timer 114 indicates that a threshold amount of time has elapsed (block 232: No).

[0057] like Figure 2 , and discussed in detail above, when the frame timer 114 indicates that a threshold amount of time has elapsed (block 232: YES), the imager 110 fills the payload of the current frame with dummy data (block 236). In some embodiments, once the frame timer 114 reaches the threshold amount of time (block 232: YES), the imager 110 may be configured to insert dummy data only into the unfilled portion of the payload of the current frame, regardless of whether newly generated / available event data arrives while the imager 110 is filling the payload with dummy data. In these embodiments, the imager 110 may store the newly generated / available event data in the memory 112 and / or may transmit the newly generated / available event data to the receiver 120 in a future (e.g., next, another) frame. Alternatively, the imager 110 may simply discard any newly generated / available event data that arrives while the imager 110 is filling the payload of the current frame with dummy data.

[0058] In other embodiments, when newly generated / available event data arrives while the imager 110 is filling the payload of the current frame with dummy data, the imager 110 may pause filling the payload with dummy data and insert the newly generated / available event data into the payload. In the event that the imager 110 is able to completely fill the payload with the newly generated / available event data, the imager 110 may continue to complete transmission of the current frame to the receiver 120. On the other hand, in the event that the imager 110 is not able to completely fill the payload with the newly generated / available event data, the imager 110 may continue to fill the payload with dummy data until additional event data arrives or until the payload of the current frame is full. Therefore, in these embodiments, once the frame timer 114 indicates that a threshold amount of time has elapsed, the imager 110 may be configured to interleave the newly generated / available event data with the dummy data into the payload of the current frame until the payload is full.

[0059] Figure 4 An example of this process is shown. More specifically, Figure 4 To illustrate the operation of various embodiments of the present invention Figure 1 4. The method 450 is shown as a set of steps or blocks 451 to 460. All or a subset of one or more of blocks 451 to 460 may be performed by various components of the imaging system 100. For example, all or a subset of one or more of blocks 451 to 460 may be performed by (i) the event vision pixel array 102, (ii) the row control circuitry 104, (iii) the column control circuitry 106, (iv) the event signal processor 108, (v) the memory 112, (vi) the frame timer 114, and / or (vii) the transmitter 116. In addition, the method 450 may be performed according to the above description. Figures 1 to 3 The discussion of executing any one or more of blocks 451 to 460. Figure 5 Discussion Figure 4 Method 450, similar to Figure 3 , Figure 5 To show the first frame (frame i) and the second frame (frame i+1) of data, for example, from Figure 1 The imager 110 is transmitted to the transmitter 116 Figure 1 Timing diagram of receiver 120.

[0060] Similar to Figure 2 Method 230, Figure 4 The method 450 may be used, for example, to transmit asynchronous event data from the imager 110 of the imaging system 100 via a synchronous communication interface. In practice, blocks 451 through 455 of the method 450 are substantially similar to blocks 231 through 235 of the method 230. Therefore, for the sake of brevity, a detailed discussion of blocks 451 through 455 is largely omitted herein.

[0061] Referring to block 452 of method 450, when the frame timer 114 of the imager 110 indicates that a threshold amount of time has elapsed (block 452: Yes), the method proceeds to block 456 to determine whether any event data is available for insertion into the payload of the current frame. When the imager 110 determines that no event data is available for insertion into the payload (block 456: No), the method 450 proceeds to block 457 to fill the payload with dummy data by inserting dummy data into the unfilled portion of the payload. In some embodiments, the imager 110 may continuously or periodically check whether any event data is available for insertion into the payload (block 456) while inserting dummy data into the payload at block 457. In the event that no newly generated / available event data arrives, the imager 110 may continue to fill the payload of the current frame with dummy data until the payload is full (block 459: Yes), at which point the imager 110 may proceed to block 460 to complete transmission of the current frame to the receiver 120 and reset the timer 114.

[0062] Referring again to block 456 of method 450, when the imager 110 determines that there is event data available for insertion into the payload of the current frame (block 456: yes), the method 450 may proceed to block 458 to insert the available event data into the payload. While the imager 110 is inserting dummy data into the payload (block 457) and before the payload is full, if the imager 110 determines that there is event data available for insertion into the payload (block 456: yes), the imager 110 may pause inserting the dummy data into the payload and begin inserting the available event data into the payload (block 458). In some embodiments, before pausing the insertion of dummy data into the payload, the imager 110 may complete inserting dummy data words into the payload that the imager 110 has already inserted or transmitted (e.g., without interrupting or blocking those dummy data words). After pausing the insertion of dummy data into the payload of the current frame, the imager 110 may proceed as described above. Figure 2 The available event data is inserted into the payload in a manner generally consistent with the discussion of block 234 of method 230 .

[0063] If the imager 110 is able to completely fill the payload of the current frame with available event data (block 459: Yes), the imager 110 may proceed to block 460 to complete transmission of the frame to the receiver 120 and reset the frame timer 114. On the other hand, if the imager 110 is not able to completely fill the payload of the current frame with available event data (block 459: No), the method 450 may return to blocks 456 or 457, at which point the imager 110 may continue to fill the payload with dummy data. The imager 110 may continue to fill the payload of the current frame with dummy data (a) until the next arrival of newly generated / available event data, or (b) until the payload of the current frame is full, whichever occurs first. If newly generated / available event data arrives before the payload of the current frame is full, the imager 110 may again pause filling the payload with dummy data to facilitate the insertion of newly generated / available event imager data, and may repeat the process discussed above with reference to blocks 456 through 459.

[0064] Thus, once the frame timer 114 indicates that a threshold amount of time has elapsed, the imager 110 may (a) completely fill the unfilled portion of the payload of the current frame with dummy data (assuming no newly generated / available event data arrives after the frame timer 114 reaches the threshold amount of time), (b) completely fill the unfilled portion of the payload with event data (assuming that enough event data is available for insertion to completely fill the payload when the frame timer 114 reaches the threshold amount of time), or (c) fill the unfilled portion of the payload with a combination of event imager data and dummy data (favoring event data whenever event data arrives, at least until the current frame is full). Figure 5 An example of this is shown in FIG by the overlap of data and padding symbols in the second frame (frame i+1) after the frame timer 114 reaches a threshold amount of time. Figure 5 The rest of the Figure 3 .) By inserting newly arrived event data into the payload of the current frame after frame timer 114 reaches a threshold amount of time and before the payload is full, the present techniques enable the use of a smaller size memory 112 (or omission of memory 112 entirely) without significant risk of losing event data.

[0065] Although blocks 451 through 460 of method 450 are discussed and shown in a particular order, Figure 4The method 450 shown in is not so limited. In other embodiments, the method 450 can be performed in a different order. In these and other embodiments, any of the blocks 451 to 460 of the method 450 can be performed before, during, and / or after any of the other blocks 451 to 467 of the method 450. For example, in some embodiments, block 457 can be performed before and / or during block 456. As another example, blocks 456 and / or 459 can be performed during any one or more of blocks 456, 457, 458, and / or 459. In addition, one of ordinary skill in the relevant art will recognize that the method 450 shown can be modified and still remain within these and other embodiments of the present technology. For example, in some embodiments, one or more blocks 451 to 460 of the method 450 can be omitted and / or repeated.

[0066] C. Conclusion

[0067] The above detailed description of the embodiments of the present invention technology is not intended to be exhaustive or to limit the technology to the precise form disclosed above. As those skilled in the relevant art will recognize, although specific embodiments and examples of the technology are described above for illustrative purposes, various equivalent modifications can be made within the scope of the technology. For example, although the steps are presented above in a given order, alternative embodiments may perform the steps in a different order. In addition, the various embodiments described herein may also be combined to provide other embodiments.

[0068] According to the foregoing, it should be understood that the specific embodiments of the present invention technology have been described herein for the purpose of illustration, but the well-known structures and functions have not yet been shown or described in detail to avoid unnecessary confusion in the description of the embodiments of the present invention technology. Where the context permits, singular or plural terms may also include plural or singular terms, respectively. In addition, unless the word "or" is explicitly limited to referring only to a single item exclusive of other items in a list of reference two or more items, the use of "or" in this list may be understood to include any single item in (a) the list, all items in (b) the list, or any combination of items in (c) the list. In addition, as used herein, the phrase "and / or" in "A and / or B" refers to only A, only B, and both A and B. In addition, the terms "including", "comprising", "having" and "with" are used throughout the text to mean at least including one or more of the described features, so as not to exclude any larger number of identical features and / or other features of additional types. In addition, as used herein, the phrases "based on", "depending on", "due to" and "in response to" should not be understood as reference to a closed conditional set. For example, an exemplary step described as "based on condition A" may be based on both condition A and condition B without departing from the scope of the present disclosure. In other words, as used herein, the phrase "based on" should be understood in the same manner as the phrase "based at least in part on" or the phrase "based at least partially on." Furthermore, the terms "connected" and "coupled" are used interchangeably herein and refer to both direct and indirect connections or couplings. For example, element A being "connected" or "coupled" to element B may mean, where the context permits, that (i) A is directly "connected" or "coupled" to B, and / or (ii) A is indirectly "connected" or "coupled" to B.

[0069] Based on the foregoing, it should also be understood that various modifications can be made without departing from the present disclosure or the technology of the present invention. For example, it will be understood by those skilled in the art that the various components of the technology of the present invention can be further divided into subcomponents, or the various components and functions of the technology of the present invention can be combined and integrated. In addition, certain aspects of the technology described in the context of a particular embodiment can also be combined or eliminated in other embodiments. In addition, although the advantages associated with those embodiments have been described in the context of certain embodiments of the technology of the present invention, other embodiments may also exhibit such advantages, and not all embodiments necessarily exhibit such advantages to fall within the scope of the technology of the present invention. Therefore, the present disclosure and associated technology may encompass other embodiments that are not explicitly shown or described herein.

Claims

1. An imager comprising: an array of event vision pixels, each pixel of the array configured to generate event data based at least in part on an event indicated in incident light received from an external scene; a synchronous communication transmitter configured to transmit the data frame to a synchronous communication receiver; and a frame timer configured to indicate when a threshold amount of time has elapsed, the threshold amount of time corresponding to transmission of a current data frame from the synchronous communication transmitter to the synchronous communication receiver, wherein the imager is configured to: inserting available event data into a payload of the current data frame during a first time period after initiation of the frame timer and before the frame timer indicates that the threshold amount of time has elapsed, padding the payload with dummy data during a second time period after the frame timer indicates that the threshold amount of time has elapsed, and The current data frame is transmitted to the synchronous communication receiver using the synchronous communication transmitter.

2. The imager of claim 1, wherein the imager is configured to transmit the current data frame to the synchronous communication receiver in response to determining that the payload of the current data frame contains an amount of data expected by the synchronous communication receiver.

3. The imager of claim 2, wherein the imager is configured to transmit the current data frame to the synchronous communication receiver during the first time period in response to determining that the payload of the current data frame contains the amount of data during the first time period.

4. The imager of claim 3, wherein the imager is configured to transmit the current data frame to the synchronous communication receiver according to a specified maximum frame rate.

5. The imager of claim 2, wherein the imager is configured to transmit the current data frame to the synchronous communication receiver according to the specified minimum frame rate in response to determining that the payload of the current data frame includes the amount of data during the second time period.

6. The imager of claim 1, wherein the imager is configured to insert the dummy data into the payload of the current data frame only after the frame timer indicates that the threshold amount of time has elapsed.

7. The imager of claim 6, wherein: The imager further includes a memory; and The imager is configured to store new available event data in the memory for transmission to the synchronous communication receiver in another data frame after the frame timer indicates that the threshold amount of time has elapsed.

8. An imager according to claim 6, wherein the imager is configured to discard new available event data that arrives (i) after the frame timer indicates that the threshold amount of time has passed and (ii) before the imager transmits the current data frame to the synchronous communication receiver.

9. An imager according to claim 1, wherein the imager is configured to (a) pause filling the payload with the dummy data after the frame timer indicates that the threshold amount of time has elapsed and in response to the arrival of new available event data before the imager transmits the current data frame to the synchronous communication receiver, and (b) insert at least a portion of the new available event data into the payload of the current data frame.

10. The imager of claim 9, wherein the imager is further configured to resume filling the payload with the dummy data after pausing filling the payload with the dummy data and after inserting at least the portion of the newly available event data into the payload.

11. The imager of claim 1 , further comprising a memory configured to store at least a portion of the event data generated by the event vision pixel array.

12. The imager of claim 11, wherein the memory comprises a first-in-first-out (FIFO) buffer.

13. The imager of claim 1, wherein the imager is configured to encode the virtual data differently than the event data such that the event data is distinguishable from the virtual data at the synchronous communication receiver.

14. The imager of claim 1, wherein the imager is configured to start the frame timer with a start-of-frame symbol of the current data frame.

15. The imager of claim 1, wherein the imager is configured to start the frame timer at the beginning of the payload of the current data frame.

16. The imager of claim 1, wherein the synchronous communication transport comprises a Mobile Industry Processor Interface (MIPI) transport.

17. An imaging system comprising: Synchronous communication receiver; and An imager comprising a synchronous communication transmitter (a) operatively connected to the synchronous communication receiver via a synchronous communication interface and (b) configured to transmit data frames to the synchronous communication receiver via the synchronous communication interface, the imager further comprising: an array of event vision pixels, each pixel of the array being configured to generate event data based at least in part on an event indicated in incident light received from an external scene, and a timer operable to track when a threshold amount of time has elapsed corresponding to the transmission of a current data frame from the synchronous communication transmitter to the synchronous communication receiver, wherein the imager is configured to: inserting first event data into the payload of the current data frame during a first time period after activation of the timer and before the timer indicates that the threshold amount of time has elapsed, when at least an amount of the event data generated by one or more event vision pixels of the array is available for insertion into the payload, inserting dummy data into the payload of the current data frame during a second time period after the timer indicates that the threshold amount of time has elapsed, at least when an amount of the event data generated by the one or more event visual pixels is not available for insertion into the payload, and The current data frame is transmitted to the synchronous communication receiver using the synchronous communication transmitter.

18. The imaging system of claim 17, wherein the synchronous communication receiver comprises a Mobile Industry Processor Interface (MIPI) receiver.

19. The imaging system of claim 17, wherein the synchronous communication transport comprises a Mobile Industry Processor Interface (MIPI) transport.

20. The imaging system of claim 17, wherein the imager further comprises a memory configured to store at least a portion of the event data generated by the event vision pixels of the array.

21. The imaging system of claim 20, wherein the memory comprises a first-in-first-out (FIFO) buffer.

22. A method of operating an imager comprising one or more event vision pixels, the method comprising: initiating a timer associated with transmitting a current data frame to a synchronous communication receiver via a synchronous communication interface, wherein the timer indicates when a predetermined threshold amount of time has elapsed after initiation of the timer; During a first time period after the timer is started and before the timer indicates that the threshold amount of time has elapsed: determining whether an amount of event data is available for insertion into a payload of the current data frame, wherein the event data is generated by at least a subset of the one or more event visual pixels, and inserting at least a portion of the amount of the event data into a payload of the current data frame when the amount of the event data is available for insertion; inserting dummy data into the payload of the current data frame during a second time period after the timer indicates that the threshold amount of time has elapsed, at least while a certain amount of the event data is unavailable for insertion into the payload of the current data frame; and The current data frame is transmitted to the synchronous communication receiver via the synchronous communication interface.

23. The method of claim 22, wherein: The method further includes determining that the payload contains a predetermined amount of data expected by the synchronous communication receiver; and Transmitting the current data frame includes transmitting the current data frame to the synchronous communication receiver in response to the determination that the payload includes the predetermined amount of data.

24. The method of claim 22, wherein: The timer is a first timer; and The method further comprises: initiating a second timer associated with transmitting another data frame to the synchronous communication receiver via the synchronous communication interface, wherein the second timer indicates when the predetermined threshold amount of time has elapsed after the second timer is initiated, inserting a second amount of the event data generated by at least a second subset of the one or more event visual pixels into the payload of the further frame during a third time period after starting the second timer and before the second timer indicates that the threshold amount of time has elapsed, and During the third time period, the further data frame is transmitted to the synchronous communication receiver.

25. The method of claim 22, wherein: The timer is a first timer; Starting the first timer includes starting the first timer at a first time; transmitting the current data frame includes transmitting the current data frame to the synchronous communication receiver at a first timing relative to the first time; The method further comprises: starting a second timer at a second time, the second timer being associated with transmitting another data frame to the synchronous communication receiver via the synchronous communication interface, wherein the second timer indicates when the predetermined threshold amount of time has elapsed after the second time, and transmitting the other data frame to the synchronous communication receiver at a second timing relative to the second time; and The second timing is different from the first timing.

26. The method of claim 22, wherein transmitting the current data frame comprises (a) after the timer indicates that the threshold amount of time has elapsed, and (b) transmitting the current data frame to the synchronous communication receiver according to a minimum frame rate.

27. The method of claim 22, wherein: The second time period begins when the timer indicates that the threshold amount of time has elapsed and ends when the current data frame is transmitted to the synchronous communication receiver; and Inserting the dummy data into the payload of the current data frame includes inserting the dummy data into the payload of the current data frame only during the second time period.

28. The method of claim 27, further comprising storing at least a second portion of the event data in a memory for transmission to the synchronous communication receiver in another data frame during the second time period, wherein the second portion comprises event data that can be or becomes available for insertion into the payload of the current data frame during the second time period.

29. The method of claim 22, further comprising: during the second time period, determining that a second amount of the event data is available for insertion into the payload of the current data frame; during the second time period and in response to determining that the second amount of the event data is available, pausing insertion of the dummy data into the payload; and At least a portion of the second amount of event data is inserted into the payload of the current data frame.

30. The method of claim 29, further comprising: after inserting at least the portion of the second amount of the event data into the payload of the current data frame, determining that a total amount of data inserted into the payload of the current data frame is less than a predetermined amount of data expected by the synchronous communication receiver; and In response to determining that the total data amount is less than the predetermined data amount expected by the synchronous communication receiver, inserting the dummy data into the payload of the current data frame is resumed.

31. The method of claim 22, wherein inserting the dummy data into the payload of the current data frame comprises encoding the dummy data such that the dummy data is distinguishable from the event data at the synchronous communication receiver.

Citation Information

Patent Citations

  • Event camera

    CN110771145A

  • Visual sensor chip, operating method thereof, and electronic device

    CN115004677A