Device, system, and method for video frame interpolation

Concurrent processing of image, event, and inertial data in video frame interpolation addresses high computational costs by integrating image stabilization, enabling efficient high frame rate video generation.

WO2025191049A1PCT designated stage Publication Date: 2025-09-18SONY SEMICON SOLUTIONS CORP +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2025/056824
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-15
Filing Date
2025-03-13
Publication Date
2025-09-18

AI Technical Summary

Technical Problem

Existing video frame interpolation methods incur high computational costs due to sequential application of image stabilization, rolling shutter compensation, and video frame interpolation, which complicates the use of event-based data and cannot be directly applied on raw events.

Method used

A device and method that concurrently processes image data from an image sensor, event data from an event sensor, and inertial data from an IMU to perform video frame interpolation, integrating image stabilization and reducing computational costs by simultaneous motion compensation.

Benefits of technology

This approach efficiently generates high frame rate videos by integrating image stabilization with event-based sensors and IMU, reducing the need for additional processing steps and lowering computational costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025056824_18092025_PF_FP_ABST
    Figure EP2025056824_18092025_PF_FP_ABST
Patent Text Reader

Abstract

A device for video frame interpolation, VFI, is proposed. The device includes a receiving unit configured to: receive image data of a scene, the image data including a plurality of frames, receive event data of the scene, the event data comprising events obtained between consecutive frames of the plurality of frames, wherein the event data indicates as an event the occurrence of a change of a difference in intensities of light detected by an event sensor, and receive inertial data related to an image sensor capturing the scene. The image data, the event data, and the inertial data are temporally synchronized. The device further includes a processing unit configured to process the image data, the event data, and the inertial data to compute a stabilized intermediate frame between two consecutive frames of the plurality of frames. The processing unit is further configured to derive, from the event data, motion vectors that are subjected to a motion compensation based on the processed inertial data.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] DEVICE, SYSTEM, AND METHOD FOR VIDEO FRAME INTERPOLATION

[0002] FIELD OF THE INVENTION

[0003] The present technology relates to a device, a system, and a method for video processing, in particular, to a device, a system, and a method for an improved video frame interpolation.

[0004] BACKGROUND

[0005] Video processing (for example, video encoding and decoding) is used in a wide range of digital video applications such as broadcasting of digital TV, video transmission over internet and mobile networks, realtime conversational applications such as video chat, video conferencing, DVD and Blu-ray discs, video content acquisition and editing systems, and camcorders of security applications.

[0006] In this context, video frame interpolation (VFI) may be applied to provide a good viewing experience in displays, or for generating slow motion videos in video recording devices. More specifically, VFI is commonly used to increase the frame rate for a low-frame-rate video, thus improving video quality by interpolating non-existent frames between existing frames. Thereby, a frame rate conversion (FRC) is the task of temporal interpolation of video frames to change the video frame rate measured in frames per second (FPS). Depending on the required objective, a FRC may increase or decrease FPS. A FRC that increases FPS is the basic technology to ensure smooth playback of regular content, such as user videos, movies, or games.

[0007] For example, some video sources, such as a GPU or gaming engine, generate and / or transmit a low-frame- rate video for display on a portable device due to constraints on camera and / or capture limitations, or constraints on computing resources or transmission bandwidth. The device on which the video is to be displayed may perform VFI to generate and insert additional video frames to increase the quality of the video prior to display. Many existing approaches for VFI may include computing a bidirectional optical flow (e.g., the optical flow refers to pattern of apparent motion of image objects in frames due to motion of the objects or an image sensor) between adjacent frames of a video followed by applying a suitable warping algorithm to generate the output frames. In other words, a warping -based video frame interpolation combines an optical flow estimation with image warping to generate intermediate frames in-between the frames of the original video. These approaches may be further supplemented by using event based / dynamic vision sensors (EVS / DVS).

[0008] In greater detail, event-based video frame interpolation methods use an asynchronous sequence of events acquired by an event sensor for performing an interpolation of a video. Instead of measuring the intensity of every pixel in a fixed time interval, an event sensor reports events of significant pixel intensity changes. Every such event is represented by its position, sign of brightness change, and timestamp. In one example, a frame- and event-based method utilizes a geometrically aligned event stream and fixed rate frames for VFI. The use of EVS / DVS allows to output a high FPS movie from a low FPS image and high FPS events. However, to generate a high-quality movie, both image stabilization (IS) and rolling shutter compensation (RSC) may need to be applied in combination with VFI. Currently these tasks are performed sequentially, such that a VFI is followed by a RSC which is followed by a IS. This results in high computational costs because IS needs to run on the high FPS video.

[0009] Another common way is to perform IS at the beginning. However, this complicates the use of event-based data since IS cannot directly be applied on raw events.

[0010] It is therefore desirable to improve a device performing VFI to provide a high-quality FPS movie with reduced computational cost.

[0011] SUMMARY OF INVENTION

[0012] To this end, a device for video frame interpolation (VFI) is provided that comprises a receiving unit configured to receive image data of a scene. The image data comprises a plurality of frames. The receiving unit is further configured to receive event data of the scene. The event data comprises events obtained between consecutive frames of the plurality of frames. Furthermore, the event data indicate as an event the occurrence of a change of a difference in intensities of light detected at the same point in time by an event sensor. In addition, the receiving unit is configured to receive inertial data related to an image sensor capturing the scene. The image data, the event data, and the inertial data are temporally synchronized. The device further comprises a processing unit configured to process the image data, the event data, and the inertial data to compute a stabilized intermediate frame between two consecutive frames of the plurality of frames. The processing unit is further configured to derive, from the event data, motion vectors that are subjected to a motion compensation based on the processed inertial data.

[0013] Furthermore, a system for video frame interpolation (VFI) is provided that comprises a device as described above, an image sensor configured to obtain the image data of the scene, an event sensor configured to the obtain the event data of the scene, and an inertial measurement unit (IMU) configured to obtain the inertial data of the image sensor capturing the scene. The image sensor, the event sensor, and the IMU are temporally synchronized.

[0014] In addition, a method for video frame interpolation (VFI) is provided, which comprises the following operations: obtaining image data of a scene, the image data comprising a plurality of frames, obtaining event data of the scene, the event data comprising events obtained between consecutive frames of the plurality of frames, wherein the event data indicate as an event the occurrence of a change of a difference in intensities of light detected at the same point in time by an event sensor, and obtaining inertial data of an image sensor capturing the scene. The obtaining of the image data, the event data, and the inertial data is temporally synchronized. Moreover, the method further comprises processing the image data, the event data, and the inertial data to compute a stabilized intermediate frame between two consecutive frames of the plurality of frames, and deriving, from the event data, motion vectors that are subjected to a motion compensation based on the processed inertial data. The configuration of a device, system, and method as described above provides an efficient VFI, where IS through motion compensation is performed simultaneously when processing the frames considering image data, event data and inertial data. By using this data pertaining to an image sensor, event-based sensor and IMU it is possible to perform VFI and to output a higher frame rate video in an efficient way. In greater detail, applying an integrated IS, benefiting from both event sensors and IMU reduces the cost of generating high FPS videos by discarding additional video stabilization pre / post processing steps.

[0015] BRIEF DESCRIPTION OF DRAWINGS

[0016] Fig. 1 is a schematic diagram of a sensor device.

[0017] Fig. 2 is a schematic block diagram of a sensor section.

[0018] Fig. 3 is a schematic block diagram of a pixel array section.

[0019] Fig. 4 is a schematic circuit diagram of a pixel block.

[0020] Fig. 5 is a schematic block diagram illustrating of an event detecting section.

[0021] Fig. 6 is a schematic circuit diagram of a current-voltage converting section.

[0022] Fig. 7 is a schematic circuit diagram of a subtraction section and a quantization section.

[0023] Fig. 8 is a schematic timing chart of an example operation of the sensor section.

[0024] Fig. 9 is a schematic diagram of a frame data generation method based on event data.

[0025] Fig. 10 is a schematic block diagram of another quantization section.

[0026] Fig. 11 is a schematic diagram of another event detecting section.

[0027] Fig. 12 is a schematic block diagram of another pixel array section.

[0028] Fig. 13 is a schematic circuit diagram of another pixel block.

[0029] Fig. 14 is a schematic block diagram of a scan-type imaging device.

[0030] Fig. 15 is a schematic block diagram showing an exemplary system and device for video frame interpolation.

[0031] FIG. 16 is a schematic block diagram showing an exemplary processing sequence of a conventional video frame interpolation. FIG. 17 is a schematic block diagram showing another exemplary processing sequence of a conventional video frame interpolation.

[0032] FIG. 18 is a schematic block diagram showing an exemplary video frame interpolation.

[0033] Fig. 19 is a schematic block diagram showing an exemplary warping operation.

[0034] Fig. 20 is a schematic block diagram showing an exemplary video frame interpolation including a rolling shutter compensation.

[0035] FIG. 21 is a schematic block diagram showing an exemplary processing sequence of a video frame interpolation.

[0036] Fig. 22 is a schematic block diagram showing an exemplary video frame interpolation including a rolling shutter compensation in more detail.

[0037] Fig. 23 illustrates schematically a process flow of a method for video frame interpolation.

[0038] Fig. 24 is a schematic block diagram of a vehicle control system.

[0039] Fig. 25 is a diagram of assistance in explaining an example of installation positions of an outside-vehicle information detecting section and an imaging section.

[0040] DETAILED DESCRIPTION

[0041] The present disclosure is directed to mitigating problems related to video frame interpolation (VFI). In particular, the problem is addressed how to reduce computational costs when generating a high frame per second (FPS) video based on a low FPS image. The solution to this problem comprises concurrent processing of image data (IMD) provided by an image sensor, event data (EVD) provided by an event sensor, and inertial data (IND) provided by an inertial measurement unit (IMU) when performing VFI to provide an efficient image stabilization (IS) resulting in a higher frame rate video. The present disclosure is thus based on the operation of a conventional image sensor, a conventional event based / dynamic vision sensor (EVS / DVS), and a conventional IMU.

[0042] Thus, at first a possible implementation of an EVS / DVS will be described. This is of course purely exemplary. It is to be understood that EVSs / DVSs could also be implemented differently.

[0043] Fig. 1 is a diagram illustrating a configuration example of a sensor device 10, which is in the example of Fig. 1 constituted by a sensor chip.

[0044] The sensor device 10 is a single-chip semiconductor chip and includes a sensor die (substrate) 11, which serves as a plurality of dies (substrates), and a logic die 12 that are stacked. Note that, the sensor device 10 can also include only a single die or three or more stacked dies.

[0045] In the sensor device 10 of Fig. 1, the sensor die 11 includes (a circuit serving as) a sensor section 21, and the logic die 12 includes a logic section 22. Note that, the sensor section 21 can be partly formed on the logic die 12. Further, the logic section 22 can be partly formed on the sensor die 11.

[0046] The sensor section 21 includes pixels configured to perform photoelectric conversion on incident light to generate electrical signals, and generates event data indicating the occurrence of events that are changes in the electrical signal of the pixels. The sensor section 21 supplies the event data to the logic section 22. That is, the sensor section 21 performs imaging of performing, in the pixels, photoelectric conversion on incident light to generate electrical signals, similarly to a synchronous image sensor, for example. The sensor section 21, however, generates event data indicating the occurrence of events that are changes in the electrical signal of the pixels instead of generating image data in a frame format (frame data). The sensor section 21 outputs, to the logic section 22, the event data obtained by the imaging.

[0047] Here, the synchronous image sensor is an image sensor configured to perform imaging in synchronization with a vertical synchronization signal and output frame data that is image data in a frame format. The sensor section 21 can be regarded as asynchronous (an asynchronous image sensor) in contrast to the synchronous image sensor since the sensor section 21 does not operate in synchronization with a vertical synchronization signal when outputting event data. Event detection may also be performed synchronously using a row scanner that determines which pixels generated an event during the past “frame” and assigns these events the same timestamp. Scan-type event detection is useful for moderate to high activity scenes since it incurs less readout overhead than arbiter-type, i.e. asynchronous, event detection.

[0048] Note that, the sensor section 21 can generate and output, other than event data, frame data, similarly to the synchronous image sensor. In addition, the sensor section 21 can output, together with event data, electrical signals of pixels in which events have occurred, as pixel signals that are pixel values of the pixels in frame data.

[0049] The logic section 22 controls the sensor section 21 as needed. Further, the logic section 22 performs various types of data processing, such as data processing of generating frame data on the basis of event data from the sensor section 21 and image processing on frame data from the sensor section 21 or frame data generated on the basis of the event data from the sensor section 21, and outputs data processing results obtained by performing the various types of data processing on the event data and the frame data.

[0050] Fig. 2 is a block diagram illustrating a configuration example of the sensor section 21 of Fig. 1.

[0051] The sensor section 21 includes a pixel array section 31, a driving section 32, an arbiter 33, an AD (Analog to Digital) conversion section 34, and an output section 35.

[0052] The pixel array section 31 includes a plurality of pixels 51 (Fig. 3) arrayed in a two-dimensional lattice patern. The pixel array section 31 detects, in a case where a change larger than a predetermined threshold (including a change equal to or larger than the threshold as needed) has occurred in (a voltage corresponding to) a photocurrent that is an electrical signal generated by photoelectric conversion in the pixel 51, the change in the photocurrent as an event. In a case of detecting an event, the pixel array section 31 outputs, to the arbiter 33, a request for requesting the output of event data indicating the occurrence of the event. Then, in a case of receiving a response indicating event data output permission from the arbiter 33, the pixel array section 31 outputs the event data to the driving section 32 and the output section 35. In addition, the pixel array section 31 outputs an electrical signal of the pixel 51 in which the event has been detected to the AD conversion section 34, as a pixel signal.

[0053] The driving section 32 supplies control signals to the pixel array section 31 to drive the pixel array section 31. For example, the driving section 32 drives the pixel 51 regarding which the pixel array section 31 has output event data, so that the pixel 51 in question supplies (outputs) a pixel signal to the AD conversion section 34.

[0054] The arbiter 33 arbitrates the requests for requesting the output of event data from the pixel array section 31, and returns responses indicating event data output permission or prohibition to the pixel array section 31.

[0055] The AD conversion section 34 includes, for example, a single-slope ADC (AD converter) (not illustrated) in each column of pixel blocks 41 (Fig. 3) described later, for example. The AD conversion section 34 performs, with the ADC in each column, AD conversion on pixel signals of the pixels 51 of the pixel blocks 41 in the column, and supplies the resultant to the output section 35. Note that, the AD conversion section 34 can perform CDS (Correlated Double Sampling) together with pixel signal AD conversion.

[0056] The output section 35 performs necessary processing on the pixel signals from the AD conversion section 34 and the event data from the pixel array section 31 and supplies the resultant to the logic section 22 (Fig. 1).

[0057] Here, a change in the photocurrent generated in the pixel 51 can be recognized as a change in the amount of light entering the pixel 51, so that it can also be said that an event is a change in light amount (a change in light amount larger than the threshold) in the pixel 51.

[0058] Event data indicating the occurrence of an event at least includes location information (coordinates or the like) indicating the location of a pixel block in which a change in light amount, which is the event, has occurred. Besides, the event data can also include the polarity (positive or negative) of the change in light amount.

[0059] With regard to the series of event data that is output from the pixel array section 31 at timings at which events have occurred, it can be said that, as long as the event data interval is the same as the event occurrence interval, the event data implicitly includes time point information indicating (relative) time points at which the events have occurred. However, for example, when the event data is stored in a memory and the event data interval is no longer the same as the event occurrence interval, the time point information implicitly included in the event data is lost. Thus, the output section 35 includes, in event data, time point information indicating (relative) time points at which events have occurred, such as timestamps, before the event data interval is changed from the event occurrence interval. The processing of including time point information in event data can be performed in any block other than the output section 35 as long as the processing is performed before time point information implicitly included in event data is lost.

[0060] Fig. 3 is a block diagram illustrating a configuration example of the pixel array section 31 of Fig. 2.

[0061] The pixel array section 31 includes the plurality of pixel blocks 41. The pixel block 41 includes the IxJ pixels 51 that are one or more pixels arrayed in I rows and J columns (I and J are integers), an event detecting section 52, and a pixel signal generating section 53. The one or more pixels 51 in the pixel block 41 share the event detecting section 52 and the pixel signal generating section 53. Further, in each column of the pixel blocks 41, a VSL (Vertical Signal Line) for connecting the pixel blocks 41 to the ADC of the AD conversion section 34 is wired.

[0062] The pixel 51 receives light incident from an object and performs photoelectric conversion to generate a photocurrent serving as an electrical signal. The pixel 51 supplies the photocurrent to the event detecting section 52 under the control of the driving section 32.

[0063] The event detecting section 52 detects, as an event, a change larger than the predetermined threshold in photocurrent from each of the pixels 51, under the control of the driving section 32. In a case of detecting an event, the event detecting section 52 supplies, to the arbiter 33 (Fig. 2), a request for requesting the output of event data indicating the occurrence of the event. Then, when receiving a response indicating event data output permission to the request from the arbiter 33, the event detecting section 52 outputs the event data to the driving section 32 and the output section 35.

[0064] The pixel signal generating section 53 generates, in the case where the event detecting section 52 has detected an event, a voltage corresponding to a photocurrent from the pixel 51 as a pixel signal, and supplies the voltage to the AD conversion section 34 through the VSL, under the control of the driving section 32.

[0065] Here, detecting a change larger than the predetermined threshold in photocurrent as an event can also be recognized as detecting, as an event, absence of change larger than the predetermined threshold in photocurrent. The pixel signal generating section 53 can generate a pixel signal in the case where absence of change larger than the predetermined threshold in photocurrent has been detected as an event as well as in the case where a change larger than the predetermined threshold in photocurrent has been detected as an event.

[0066] Fig. 4 is a circuit diagram illustrating a configuration example of the pixel block 41.

[0067] The pixel block 41 includes, as described with reference to Fig. 3, the pixels 51, the event detecting section 52, and the pixel signal generating section 53. The pixel 51 includes a photoelectric conversion element 61 and transfer transistors 62 and 63.

[0068] The photoelectric conversion element 61 includes, for example, a PD (Photodiode). The photoelectric conversion element 61 receives incident light and performs photoelectric conversion to generate charges.

[0069] The transfer transistor 62 includes, for example, an N (Negative)-type MOS (Metal-Oxide-Semiconductor) FET (Field Effect Transistor). The transfer transistor 62 of the n-th pixel 51 of the lx J pixels 51 in the pixel block 41 is turned on or off in response to a control signal OFGn supplied from the driving section 32 (Fig. 2). When the transfer transistor 62 is turned on, charges generated in the photoelectric conversion element 61 are transferred (supplied) to the event detecting section 52, as a photocurrent.

[0070] The transfer transistor 63 includes, for example, an N-type MOSFET. The transfer transistor 63 of the n-th pixel 51 of the IxJ pixels 51 in the pixel block 41 is turned on or off in response to a control signal TRGn supplied from the driving section 32. When the transfer transistor 63 is turned on, charges generated in the photoelectric conversion element 61 are transferred to an FD 74 of the pixel signal generating section 53.

[0071] The IxJ pixels 51 in the pixel block 41 are connected to the event detecting section 52 of the pixel block 41 through nodes 60. Thus, photocurrents generated in (the photoelectric conversion elements 61 of) the pixels 51 are supplied to the event detecting section 52 through the nodes 60. As a result, the event detecting section 52 receives the sum of photocurrents from all the pixels 51 in the pixel block 41. Thus, the event detecting section 52 detects, as an event, a change in sum of photocurrents supplied from the IxJ pixels 51 in the pixel block 41.

[0072] The pixel signal generating section 53 includes a reset transistor 71, an amplification transistor 72, a selection transistor 73, and the FD (Floating Diffusion) 74.

[0073] The reset transistor 71, the amplification transistor 72, and the selection transistor 73 include, for example, N-type MOSFETs.

[0074] The reset transistor 71 is turned on or off in response to a control signal RST supplied from the driving section 32 (Fig. 2). When the reset transistor 71 is turned on, the FD 74 is connected to a power supply VDD, and charges accumulated in the FD 74 are thus discharged to the power supply VDD. With this, the FD 74 is reset.

[0075] The amplification transistor 72 has a gate connected to the FD 74, a drain connected to the power supply VDD, and a source connected to the VSL through the selection transistor 73. The amplification transistor 72 is a source follower and outputs a voltage (electrical signal) corresponding to the voltage of the FD 74 supplied to the gate to the VSL through the selection transistor 73.

[0076] The selection transistor 73 is turned on or off in response to a control signal SEL supplied from the driving section 32. When the selection transistor 73 is turned on, a voltage corresponding to the voltage of the FD 74 from the amplification transistor 72 is output to the VSL. The FD 74 accumulates charges transferred from the photoelectric conversion elements 61 of the pixels 51 through the transfer transistors 63, and converts the charges to voltages.

[0077] With regard to the pixels 51 and the pixel signal generating section 53, which are configured as described above, the driving section 32 turns on the transfer transistors 62 with control signals OFGn, so that the transfer transistors 62 supply, to the event detecting section 52, photocurrents based on charges generated in the photoelectric conversion elements 61 of the pixels 51. With this, the event detecting section 52 receives a current that is the sum of the photocurrents from all the pixels 51 in the pixel block 41, which might also be only a single pixel.

[0078] When the event detecting section 52 detects, as an event, a change in photocurrent (sum of photocurrents) in the pixel block 41, the driving section 32 turns off the transfer transistors 62 of all the pixels 51 in the pixel block 41, to thereby stop the supply of the photocurrents to the event detecting section 52. Then, the driving section 32 sequentially turns on, with the control signals TRGn, the transfer transistors 63 of the pixels 51 in the pixel block 41 in which the event has been detected, so that the transfer transistors 63 transfers charges generated in the photoelectric conversion elements 61 to the FD 74. The FD 74 accumulates the charges transferred from (the photoelectric conversion elements 61 of) the pixels 51. Voltages corresponding to the charges accumulated in the FD 74 are output to the VSL, as pixel signals of the pixels 51, through the amplification transistor 72 and the selection transistor 73.

[0079] As described above, in the sensor section 21 (Fig. 2), only pixel signals of the pixels 51 in the pixel block 41 in which an event has been detected are sequentially output to the VSL. The pixel signals output to the VSL are supplied to the AD conversion section 34 to be subjected to AD conversion.

[0080] Here, in the pixels 51 in the pixel block 41 , the transfer transistors 63 can be turned on not sequentially but simultaneously. In this case, the sum of pixel signals of all the pixels 51 in the pixel block 41 can be output.

[0081] In the pixel array section 31 of Fig. 3, the pixel block 41 includes one or more pixels 51, and the one or more pixels 51 share the event detecting section 52 and the pixel signal generating section 53. Thus, in the case where the pixel block 41 includes a plurality of pixels 51, the numbers of the event detecting sections 52 and the pixel signal generating sections 53 can be reduced as compared to a case where the event detecting section 52 and the pixel signal generating section 53 are provided for each of the pixels 51, with the result that the scale of the pixel array section 31 can be reduced.

[0082] Note that, in the case where the pixel block 41 includes a plurality of pixels 51, the event detecting section 52 can be provided for each of the pixels 51. In the case where the plurality of pixels 51 in the pixel block 41 share the event detecting section 52, events are detected in units of the pixel blocks 41. In the case where the event detecting section 52 is provided for each of the pixels 51, however, events can be detected in units of the pixels 51.

[0083] Yet, even in the case where the plurality of pixels 51 in the pixel block 41 share the single event detecting section 52, events can be detected in units of the pixels 51 when the transfer transistors 62 of the plurality of pixels 51 are temporarily turned on in a time-division manner.

[0084] Further, in a case where there is no need to output pixel signals, the pixel block 41 can be formed without the pixel signal generating section 53. In the case where the pixel block 41 is formed without the pixel signal generating section 53, the sensor section 21 can be formed without the AD conversion section 34 and the transfer transistors 63. In this case, the scale of the sensor section 21 can be reduced. The sensor will then output the address of the pixel (block) in which the event occurred, if necessary with a time stamp.

[0085] Fig. 5 is a block diagram illustrating a configuration example of the event detecting section 52 of Fig. 3.

[0086] The event detecting section 52 includes a current-voltage converting section 81, a buffer 82, a subtraction section 83, a quantization section 84, and a transfer section 85.

[0087] The current-voltage converting section 81 converts (a sum of) photocurrents from the pixels 51 to voltages corresponding to the logarithms of the photocurrents (hereinafter also referred to as a "photovoltage") and supplies the voltages to the buffer 82.

[0088] The buffer 82 buffers photovoltages from the current-voltage converting section 81 and supplies the resultant to the subtraction section 83.

[0089] The subtraction section 83 calculates, at a timing instructed by a row driving signal that is a control signal from the driving section 32, a difference between the current photovoltage and a photovoltage at a timing slightly shifted from the current time, and supplies a difference signal corresponding to the difference to the quantization section 84.

[0090] The quantization section 84 quantizes difference signals from the subtraction section 83 to digital signals and supplies the quantized values of the difference signals to the transfer section 85 as event data.

[0091] The transfer section 85 transfers (outputs), on the basis of event data from the quantization section 84, the event data to the output section 35. That is, the transfer section 85 supplies a request for requesting the output of the event data to the arbiter 33. Then, when receiving a response indicating event data output permission to the request from the arbiter 33, the transfer section 85 outputs the event data to the output section 35.

[0092] Fig. 6 is a circuit diagram illustrating a configuration example of the current-voltage converting section 81 of Fig. 5.

[0093] The current-voltage converting section 81 includes transistors 91 to 93. As the transistors 91 and 93, for example, N-type MOSFETs can be employed. As the transistor 92, for example, a P-type MOSFET can be employed. The transistor 91 has a source connected to the gate of the transistor 93, and a photocurrent is supplied from the pixel 51 to the connecting point between the source of the transistor 91 and the gate of the transistor 93. The transistor 91 has a drain connected to the power supply VDD and a gate connected to the drain of the transistor 93.

[0094] The transistor 92 has a source connected to the power supply VDD and a drain connected to the connecting point between the gate of the transistor 91 and the drain of the transistor 93. A predetermined bias voltage Vbias is applied to the gate of the transistor 92. With the bias voltage Vbias, the transistor 92 is turned on or off, and the operation of the current-voltage converting section 81 is turned on or off depending on whether the transistor 92 is turned on or off.

[0095] The source of the transistor 93 is grounded.

[0096] In the current-voltage converting section 81, the transistor 91 has the drain connected on the power supply VDD side and is thus a source follower. The source of the transistor 91, which is the source follower, is connected to the pixels 51 (Fig. 4), so that photocurrents based on charges generated in the photoelectric conversion elements 61 of the pixels 51 flow through the transistor 91 (from the drain to the source). The transistor 91 operates in a subthreshold region, and at the gate of the transistor 91, photovoltages corresponding to the logarithms of the photocurrents flowing through the transistor 91 are generated. As described above, in the current-voltage converting section 81, the transistor 91 converts photocurrents from the pixels 51 to photovoltages corresponding to the logarithms of the photocurrents.

[0097] In the current-voltage converting section 81 , the transistor 91 has the gate connected to the connecting point between the drain of the transistor 92 and the drain of the transistor 93, and the photovoltages are output from the connecting point in question.

[0098] Fig. 7 is a circuit diagram illustrating configuration examples of the subtraction section 83 and the quantization section 84 of Fig. 5.

[0099] The subtraction section 83 includes a capacitor 101, an operational amplifier 102, a capacitor 103, and a switch 104. The quantization section 84 includes a comparator 111.

[0100] The capacitor 101 has one end connected to the output terminal of the buffer 82 (Fig. 5) and the other end connected to the input terminal (inverting input terminal) of the operational amplifier 102. Thus, photovoltages are input to the input terminal of the operational amplifier 102 through the capacitor 101.

[0101] The operational amplifier 102 has an output terminal connected to the non-inverting input terminal (+) of the comparator 111.

[0102] The capacitor 103 has one end connected to the input terminal of the operational amplifier 102 and the other end connected to the output terminal of the operational amplifier 102. The switch 104 is connected to the capacitor 103 to switch the connections between the ends of the capacitor 103. The switch 104 is turned on or off in response to a row driving signal that is a control signal from the driving section 32, to thereby switch the connections between the ends of the capacitor 103.

[0103] A photovoltage on the buffer 82 (Fig. 5) side of the capacitor 101 when the switch 104 is on is denoted by Vinit, and the capacitance (electrostatic capacitance) of the capacitor 101 is denoted by Cl. The input terminal of the operational amplifier 102 serves as a virtual ground terminal, and a charge Qinit that is accumulated in the capacitor 101 in the case where the switch 104 is on is expressed by Expression (1).

[0104] Qinit = Cl x Vinit (1)

[0105] Further, in the case where the switch 104 is on, the connection between the ends of the capacitor 103 is cut (short-circuited), so that no charge is accumulated in the capacitor 103.

[0106] When a photovoltage on the buffer 82 (Fig. 5) side of the capacitor 101 in the case where the switch 104 has thereafter been turned off is denoted by Vafter, a charge Qafter that is accumulated in the capacitor 101 in the case where the switch 104 is off is expressed by Expression (2).

[0107] Qafter = Cl x Vafter (2)

[0108] When the capacitance of the capacitor 103 is denoted by C2 and the output voltage of the operational amplifier 102 is denoted by Vout, a charge Q2 that is accumulated in the capacitor 103 is expressed by Expression (3).

[0109] Q2 = -C2 x Vout (3)

[0110] Since the total amount of charges in the capacitors 101 and 103 does not change before and after the switch 104 is turned off, Expression (4) is established.

[0111] Qinit = Qafter + Q2 (4)

[0112] When Expression (1) to Expression (3) are substituted for Expression (4), Expression (5) is obtained.

[0113] Vout = -(C1 / C2) x (Vafter - Vinit) (5)

[0114] With Expression (5), the subtraction section 83 subtracts the photovoltage Vinit from the photovoltage Vafter, that is, calculates the difference signal (Vout) corresponding to a difference Vafter - Vinit between the photovoltages Vafter and Vinit. With Expression (5), the subtraction gain of the subtraction section 83 is C1 / C2. Since the maximum gain is normally desired, Cl is preferably set to a large value and C2 is preferably set to a small value. Meanwhile, when C2 is too small, kTC noise increases, resulting in a risk of deteriorated noise characteristics. Thus, the capacitance C2 can only be reduced in a range that achieves acceptable noise. Further, since the pixel blocks 41 each have installed therein the event detecting section 52 including the subtraction section 83, the capacitances Cl and C2 have space constraints. In consideration of these matters, the values of the capacitances Cl and C2 are determined.

[0115] The comparator 111 compares a difference signal from the subtraction section 83 with a predetermined threshold (voltage) Vth (>0) applied to the inverting input terminal (-), thereby quantizing the difference signal. The comparator 111 outputs the quantized value obtained by the quantization to the transfer section 85 as event data.

[0116] For example, in a case where a difference signal is larger than the threshold Vth, the comparator 111 outputs an H (High) level indicating 1, as event data indicating the occurrence of an event. In a case where a difference signal is not larger than the threshold Vth, the comparator 111 outputs an L (Low) level indicating 0, as event data indicating that no event has occurred.

[0117] The transfer section 85 supplies a request to the arbiter 33 in a case where it is confirmed on the basis of event data from the quantization section 84 that a change in light amount that is an event has occurred, that is, in the case where the difference signal (Vout) is larger than the threshold Vth. When receiving a response indicating event data output permission, the transfer section 85 outputs the event data indicating the occurrence of the event (for example, H level) to the output section 35.

[0118] The output section 35 includes, in event data from the transfer section 85, location / address information regarding (the pixel block 41 including) the pixel 51 in which an event indicated by the event data has occurred and time point information indicating a time point at which the event has occurred, and further, as needed, the polarity of a change in light amount that is the event, i.e. whether the intensity did increase or decrease. The output section 35 outputs the event data.

[0119] As the data format of event data including location information regarding the pixel 51 in which an event has occurred, time point information indicating a time point at which the event has occurred, and the polarity of a change in light amount that is the event, for example, the data format called "AER (Address Event Representation)" can be employed.

[0120] Note that, a gain A of the entire event detecting section 52 is expressed by the following expression where the gain of the current-voltage converting section 81 is denoted by CGiogand the gain of the buffer 82 is 1.

[0121] A = CGiogC 1 / C2 (ZiPhoto_n) (6)

[0122] Here, iPhoto_n denotes a photocurrent of the n-th pixel 51 of the IxJ pixels 51 in the pixel block 41. In Expression (6), E denotes the summation of n that takes integers ranging from 1 to HJ.

[0123] Note that, the pixel 51 can receive any light as incident light with an optical fdter through which predetermined light passes, such as a color fdter. For example, in a case where the pixel 51 receives visible light as incident light, event data indicates the occurrence of changes in pixel value in images including visible objects. Further, for example, in a case where the pixel 51 receives, as incident light, infrared light, millimeter waves, or the like for ranging, event data indicates the occurrence of changes in distances to objects. In addition, for example, in a case where the pixel 51 receives infrared light for temperature measurement, as incident light, event data indicates the occurrence of changes in temperature of objects. In the present embodiment, the pixel 51 is assumed to receive visible light as incident light.

[0124] Fig. 8 is a timing chart illustrating an example of the operation of the sensor section 21 of Fig. 2.

[0125] At Timing TO, the driving section 32 changes all the control signals OFGn from the L level to the H level, thereby turning on the transfer transistors 62 of all the pixels 51 in the pixel block 41. With this, the sum of photocurrents from all the pixels 51 in the pixel block 41 is supplied to the event detecting section 52. Here, the control signals TRGn are all at the L level, and hence the transfer transistors 63 of all the pixels 51 are off.

[0126] For example, at Timing Tl, when detecting an event, the event detecting section 52 outputs event data at the H level in response to the detection of the event.

[0127] At Timing T2, the driving section 32 sets all the control signals OFGn to the L level on the basis of the event data at the H level, to stop the supply of the photocurrents from the pixels 51 to the event detecting section 52. Further, the driving section 32 sets the control signal SEL to the H level, and sets the control signal RST to the H level over a certain period of time, to control the FD 74 to discharge the charges to the power supply VDD, thereby resetting the FD 74. The pixel signal generating section 53 outputs, as a reset level, a pixel signal corresponding to the voltage of the FD 74 when the FD 74 has been reset, and the AD conversion section 34 performs AD conversion on the reset level.

[0128] At Timing T3 after the reset level AD conversion, the driving section 32 sets a control signal TRG1 to the H level over a certain period to control the first pixel 51 in the pixel block 41 in which the event has been detected to transfer, to the FD 74, charges generated by photoelectric conversion in (the photoelectric conversion element 61 of) the first pixel 51. The pixel signal generating section 53 outputs, as a signal level, a pixel signal corresponding to the voltage of the FD 74 to which the charges have been transferred from the pixel 51, and the AD conversion section 34 performs AD conversion on the signal level.

[0129] The AD conversion section 34 outputs, to the output section 35, a difference between the signal level and the reset level obtained after the AD conversion, as a pixel signal serving as a pixel value of the image (frame data).

[0130] Here, the processing of obtaining a difference between a signal level and a reset level as a pixel signal serving as a pixel value of an image is called "CDS." CDS can be performed after the AD conversion of a signal level and a reset level, or can be simultaneously performed with the AD conversion of a signal level and a reset level in a case where the AD conversion section 34 performs single-slope AD conversion. In the latter case, AD conversion is performed on the signal level by using the AD conversion result of the reset level as an initial value. At Timing T4 after the AD conversion of the pixel signal of the first pixel 51 in the pixel block 41, the driving section 32 sets a control signal TRG2 to the H level over a certain period of time to control the second pixel 51 in the pixel block 41 in which the event has been detected to output a pixel signal.

[0131] In the sensor section 21, similar processing is executed thereafter, so that pixel signals of the pixels 51 in the pixel block 41 in which the event has been detected are sequentially output.

[0132] When the pixel signals of all the pixels 51 in the pixel block 41 are output, the driving section 32 sets all the control signals OFGn to the H level to turn on the transfer transistors 62 of all the pixels 51 in the pixel block 41.

[0133] Fig. 9 is a diagram illustrating an example of a frame data generation method based on event data.

[0134] The logic section 22 sets a frame interval and a frame width on the basis of an externally input command, for example. Here, the frame interval represents the interval of frames of frame data that is generated on the basis of event data. The frame width represents the time width of event data that is used for generating frame data on a single frame. A frame interval and a frame width that are set by the logic section 22 are also referred to as a "set frame interval" and a "set frame width," respectively.

[0135] The logic section 22 generates, on the basis of the set frame interval, the set frame width, and event data from the sensor section 21, frame data that is image data in a frame format, to thereby convert the event data to the frame data.

[0136] That is, the logic section 22 generates, in each set frame interval, frame data on the basis of event data in the set frame width from the beginning of the set frame interval.

[0137] Here, it is assumed that event data includes time point information ti indicating a time point at which an event has occurred (hereinafter also referred to as an "event time point") and coordinates (x, y) serving as location information regarding (the pixel block 41 including) the pixel 51 in which the event has occurred (hereinafter also referred to as an "event location").

[0138] In Fig. 9, in a three-dimensional space (time and space) with the x axis, the y axis, and the time axis t, points representing event data are plotted on the basis of the event time point t and the event location (coordinates) (x, y) included in the event data.

[0139] That is, when a location (x, y, t) on the three-dimensional space indicated by the event time point t and the event location (x, y) included in event data is regarded as the space-time location of an event, in Fig. 9, the points representing the event data are plotted on the space-time locations (x, y, t) of the events.

[0140] The logic section 22 starts to generate frame data on the basis of event data by using, as a generation start time point at which frame data generation starts, a predetermined time point, for example, a time point at which frame data generation is externally instructed or a time point at which the sensor device 10 is powered on.

[0141] Here, cuboids each having the set frame width in the direction of the time axis t in the set frame intervals, which appear from the generation start time point, are referred to as a "frame volume." The size of the frame volume in the x-axis direction or the y-axis direction is equal to the number of the pixel blocks 41 or the pixels 51 in the x-axis direction or the y-axis direction, for example.

[0142] The logic section 22 generates, in each set frame interval, frame data on a single frame on the basis of event data in the frame volume having the set frame width from the beginning of the set frame interval.

[0143] Frame data can be generated by, for example, setting white to a pixel (pixel value) in a frame at the event location (x, y) included in event data and setting a predetermined color such as gray to pixels at other locations in the frame.

[0144] Besides, in a case where event data includes the polarity of a change in light amount that is an event, frame data can be generated in consideration of the polarity included in the event data. For example, white can be set to pixels in the case a positive polarity, while black can be set to pixels in the case of a negative polarity.

[0145] In addition, in the case where pixel signals of the pixels 51 are also output when event data is output as described with reference to Fig. 3 and Fig. 4, frame data can be generated on the basis of the event data by using the pixel signals of the pixels 51. That is, frame data can be generated by setting, in a frame, a pixel at the event location (x, y) (in a block corresponding to the pixel block 41) included in event data to a pixel signal of the pixel 51 at the location (x, y) and setting a predetermined color such as gray to pixels at other locations.

[0146] Note that, in the frame volume, there are a plurality of pieces of event data that are different in the event time point t but the same in the event location (x, y) in some cases. In this case, for example, event data at the latest or oldest event time point t can be prioritized. Further, in the case where event data includes polarities, the polarities of a plurality of pieces of event data that are different in the event time point t but the same in the event location (x, y) can be added together, and a pixel value based on the added value obtained by the addition can be set to a pixel at the event location (x, y).

[0147] Here, in a case where the frame width and the frame interval are the same, the frame volumes are adjacent to each other without any gap. Further, in a case where the frame interval is larger than the frame width, the frame volumes are arranged with gaps. In a case where the frame width is larger than the frame interval, the frame volumes are arranged to be partly overlapped with each other.

[0148] Fig. 10 is a block diagram illustrating another configuration example of the quantization section 84 of Fig.

[0149] 5.

[0150] Note that, in Fig. 10, parts corresponding to those in the case of Fig. 7 are denoted by the same reference signs, and the description thereof is omitted as appropriate below.

[0151] In Fig. 10, the quantization section 84 includes comparators 111 and 112 and an output section 113.

[0152] Thus, the quantization section 84 of Fig . 10 is similar to the case of Fig . 7 in including the comparator 111. However, the quantization section 84 of Fig. 10 is different from the case of Fig. 7 in newly including the comparator 112 and the output section 113.

[0153] The event detecting section 52 (Fig. 5) including the quantization section 84 of Fig. 10 detects, in addition to events, the polarities of changes in light amount that are events.

[0154] In the quantization section 84 of Fig. 10, the comparator 111 outputs, in the case where a difference signal is larger than the threshold Vth, the H level indicating 1, as event data indicating the occurrence of an event having the positive polarity. The comparator 111 outputs, in the case where a difference signal is not larger than the threshold Vth, the L level indicating 0, as event data indicating that no event having the positive polarity has occurred.

[0155] Further, in the quantization section 84 of Fig. 10, a threshold Vth' (<Vth) is supplied to the non-inverting input terminal (+) of the comparator 112, and difference signals are supplied to the inverting input terminal (-) of the comparator 112 from the subtraction section 83. Here, for the sake of simple description, it is assumed that the threshold Vth' is equal to -Vth, for example, which needs however not to be the case.

[0156] The comparator 112 compares a difference signal from the subtraction section 83 with the threshold Vth' applied to the inverting input terminal (-), thereby quantizing the difference signal. The comparator 112 outputs, as event data, the quantized value obtained by the quantization.

[0157] For example, in a case where a difference signal is smaller than the threshold Vth' (the absolute value of the difference signal having a negative value is larger than the threshold Vth), the comparator 112 outputs the H level indicating 1, as event data indicating the occurrence of an event having the negative polarity. Further, in a case where a difference signal is not smaller than the threshold Vth' (the absolute value of the difference signal having a negative value is not larger than the threshold Vth), the comparator 112 outputs the L level indicating 0, as event data indicating that no event having the negative polarity has occurred.

[0158] The output section 113 outputs, on the basis of event data output from the comparators 111 and 112, event data indicating the occurrence of an event having the positive polarity, event data indicating the occurrence of an event having the negative polarity, or event data indicating that no event has occurred to the transfer section 85.

[0159] For example, the output section 113 outputs, in a case where event data from the comparator 111 is the H level indicating 1, +V volts indicating +1, as event data indicating the occurrence of an event having the positive polarity, to the transfer section 85. Further, the output section 113 outputs, in a case where event data from the comparator 112 is the H level indicating 1, -V volts indicating -1, as event data indicating the occurrence of an event having the negative polarity, to the transfer section 85. In addition, the output section 113 outputs, in a case where each event data from the comparators 111 and 112 is the L level indicating 0, 0 volts (GND level) indicating 0, as event data indicating that no event has occurred, to the transfer section 85.

[0160] The transfer section 85 supplies a request to the arbiter 33 in the case where it is confirmed on the basis of event data from the output section 113 of the quantization section 84 that a change in light amount that is an event having the positive polarity or the negative polarity has occurred. After receiving a response indicating event data output permission, the transfer section 85 outputs event data indicating the occurrence of the event having the positive polarity or the negative polarity (+V volts indicating 1 or -V volts indicating -1) to the output section 35.

[0161] Preferably, the quantization section 84 has a configuration as illustrated in Fig. 10.

[0162] Fig. 11 is a diagram illustrating another configuration example of the event detecting section 52.

[0163] In Fig. 11, the event detecting section 52 includes a subtractor 430, a quantizer 440, a memory 451, and a controller 452. The subtractor 430 and the quantizer 440 correspond to the subtraction section 83 and the quantization section 84, respectively.

[0164] Note that, in Fig. 11, the event detecting section 52 further includes blocks corresponding to the currentvoltage converting section 81 and the buffer 82, but the illustrations of the blocks are omitted in Fig. 11.

[0165] The subtractor 430 includes a capacitor 431, an operational amplifier 432, a capacitor 433, and a switch 434. The capacitor 431, the operational amplifier 432, the capacitor 433, and the switch 434 correspond to the capacitor 101, the operational amplifier 102, the capacitor 103, and the switch 104, respectively.

[0166] The quantizer 440 includes a comparator 441. The comparator 441 corresponds to the comparator 111.

[0167] The comparator 441 compares a voltage signal (difference signal) from the subtractor 430 with the predetermined threshold voltage Vth applied to the inverting input terminal (-). The comparator 441 outputs a signal indicating the comparison result, as a detection signal (quantized value).

[0168] The voltage signal from the subtractor 430 may be input to the input terminal (-) of the comparator 441, and the predetermined threshold voltage Vth may be input to the input terminal (+) of the comparator 441.

[0169] The controller 452 supplies the predetermined threshold voltage Vth applied to the inverting input terminal (-) of the comparator 441. The threshold voltage Vth which is supplied may be changed in a time-division manner. For example, the controller 452 supplies a threshold voltage Vthl corresponding to ON events (for example, positive changes in photocurrent) and a threshold voltage Vth2 corresponding to OFF events (for example, negative changes in photocurrent) at different timings to allow the single comparator to detect a plurality of types of address events (events). The memory 451 accumulates output from the comparator 441 on the basis of Sample signals supplied from the controller 452. The memory 451 may be a sampling circuit, such as a switch, plastic, or capacitor, or a digital memory circuit, such as a latch or flip-flop. For example, the memory 451 may hold, in a period in which the threshold voltage Vth2 corresponding to OFF events is supplied to the inverting input terminal (-) of the comparator 441, the result of comparison by the comparator 441 using the threshold voltage Vthl corresponding to ON events. Note that, the memory 451 may be omitted, may be provided inside the pixel (pixel block 41), or may be provided outside the pixel.

[0170] Fig. 12 is a block diagram illustrating another configuration example of the pixel array section 31 of Fig. 2.

[0171] Note that, in Fig. 12, parts corresponding to those in the case of Fig. 3 are denoted by the same reference signs, and the description thereof is omitted as appropriate below.

[0172] In Fig. 12, the pixel array section 31 includes the plurality of pixel blocks 41. The pixel block 41 includes the lx J pixels 51 that are one or more pixels and the event detecting section 52.

[0173] Thus, the pixel array section 31 of Fig. 12 is similar to the case of Fig. 3 in that the pixel array section 31 includes the plurality of pixel blocks 41 and that the pixel block 41 includes one or more pixels 51 and the event detecting section 52. However, the pixel array section 31 of Fig. 12 is different from the case of Fig. 3 in that the pixel block 41 does not include the pixel signal generating section 53.

[0174] As described above, in the pixel array section 31 of Fig. 12, the pixel block 41 does not include the pixel signal generating section 53, so that the sensor section 21 (Fig. 2) can be formed without the AD conversion section 34.

[0175] Fig. 13 is a circuit diagram illustrating a configuration example of the pixel block 41 of Fig. 12.

[0176] As described with reference to Fig. 12, the pixel block 41 includes the pixels 51 and the event detecting section 52, but does not include the pixel signal generating section 53.

[0177] In this case, the pixel 51 can only include the photoelectric conversion element 61 without the transfer transistors 62 and 63.

[0178] Note that, in the case where the pixel 51 has the configuration illustrated in Fig. 13, the event detecting section 52 can output a voltage corresponding to a photocurrent from the pixel 51, as a pixel signal.

[0179] Above, the sensor device 10 was described to be an asynchronous imaging device configured to read out events by the asynchronous readout system. However, the event readout system is not limited to the asynchronous readout system and may be the synchronous readout system. An imaging device to which the synchronous readout system is applied is a scan type imaging device that is the same as a general imaging device configured to perform imaging at a predetermined frame rate. Fig. 14 is a block diagram illustrating a configuration example of a scan type imaging device.

[0180] As illustrated in Fig. 14, an imaging device 510 includes a pixel array section 521, a driving section 522, a signal processing section 525, a read-out region selecting section 527, and a signal generating section 528.

[0181] The pixel array section 521 includes a plurality of pixels 530. The plurality of pixels 530 each output an output signal in response to a selection signal from the read-out region selecting section 527. The plurality of pixels 530 can each include an in-pixel quantizer as illustrated in Fig. 11, for example. The plurality of pixels 530 output output signals corresponding to the amounts of change in light intensity. The plurality of pixels 530 may be two-dimensionally disposed in a matrix as illustrated in Fig. 14.

[0182] The driving section 522 drives the plurality of pixels 530, so that the pixels 530 output pixel signals generated in the pixels 530 to the signal processing section 525 through an output line 514. Note that, the driving section 522 and the signal processing section 525 are circuit sections for acquiring grayscale information. Thus, in a case where only event information (event data) is acquired, the driving section 522 and the signal processing section 525 may be omitted.

[0183] The read-out region selecting section 527 selects some of the plurality of pixels 530 included in the pixel array section 521. For example, the read-out region selecting section 527 selects one or a plurality of rows included in the two-dimensional matrix structure corresponding to the pixel array section 521. The readout region selecting section 527 sequentially selects one or a plurality of rows on the basis of a cycle set in advance. Further, the read-out region selecting section 527 may determine a selection region on the basis of requests from the pixels 530 in the pixel array section 521.

[0184] The signal generating section 528 generates, on the basis of output signals of the pixels 530 selected by the read-out region selecting section 527, event signals corresponding to active pixels in which events have been detected of the selected pixels 530. The events mean an event that the intensity of light changes. The active pixels mean the pixel 530 in which the amount of change in light intensity corresponding to an output signal exceeds or falls below a threshold set in advance. For example, the signal generating section 528 compares output signals from the pixels 530 with a reference signal, and detects, as an active pixel, a pixel that outputs an output signal larger or smaller than the reference signal. The signal generating section 528 generates an event signal (event data) corresponding to the active pixel.

[0185] The signal generating section 528 can include, for example, a column selecting circuit configured to arbitrate signals input to the signal generating section 528. Further, the signal generating section 528 can output not only information regarding active pixels in which events have been detected, but also information regarding non-active pixels in which no event has been detected.

[0186] The signal generating section 528 outputs, through an output line 515, address information and timestamp information (for example, (X, Y, T)) regarding the active pixels in which the events have been detected. However, the data that is output from the signal generating section 528 may not only be the address information and the timestamp information, but also information in a frame format (for example, (0, 0, 1, 0, -)).

[0187] In the following description reference will mainly be made to sensor devices of the EVS type as described above in order to ease the description and to cover an important application example. However, the principles explained below apply just as well to any event-based vision sensor that is capable to generate events based on the occurrence of temporal intensity changes. In the following it will be described how this basic concept of event-based vision sensors can be used in video frame interpolation.

[0188] Fig. 15 shows an example of a system 300 including a device 310 for video frame interpolation (VFI). The system 300 and the device 310 may be integrated in an encoder-decoder architecture as usually applied in existing video processing applications. The VFI may be performed during or after video acquisition (i.e., the capturing of a scene comprising a time sequence of frames F, Fi, F2). The system 300 comprises the device 310, an image sensor 360, an event sensor 370, and an inertial sensor 380 as described in the following.

[0189] In general, the VFI may be divided into three steps, for example, motion estimation, motion smoothing, and image warping. The motion to be estimated may comprise global motion arising from the movement of an image sensor providing image data and local motion due to the motion of moving objects in the image data. The motion estimation may adopt a motion model, e.g., which considers translation-, affine-, and similarity- occurrences while two frames of the image data have a change in motion. Furthermore, smoothening of an intentional motion of the image sensor may be applied by employing a Kalman filter or a Gaussian low-pass filter to eliminate unplanned motion. Lastly, the stabilized frames may be warped.

[0190] In conventional VFI applications, also event-based methods may be considered. The event data may be received from an event sensor providing an asynchronous sequence of events for performing an interpolation of frames. A frame- and event-based method may utilize a geometrically aligned stream of events and a fixed rate of frames.

[0191] The device 310 according to the present disclosure considers, in addition to event data EVD and image data IMD, also inertial data IND as indicated in Fig. 15 to perform a VFI. In greater detail, the device 310 includes a receiving unit 320 that receives image data IMD of a scene, event data EVD of the scene, and inertial data IND related to an image sensor 360 capturing the scene.

[0192] The image data IMD comprises a plurality of frames F, Fi, F2 (e.g., a time sequence of frames, not shown in Fig. 15) provided by the image sensor 360 that transmits the image data IMD to the receiving unit 320. Non-limiting examples of an image sensor 360 may include but are not limited to a charge-coupled device (CCD) and an active-pixel sensor (CMOS sensor), which represent digital sensors and are applied as e.g., color sensors such as high-quality RGB sensors. The frames F, Fi, F2 may be received with a (low) frame rate, for example 30 frames per second (FPS).

[0193] The event data EVD comprises events obtained between consecutive frames Fi, F2 of the plurality of frames F, Fi, F2. The event data EVD is provided by an event sensor 370 (e.g., EVS / DVS as described above), which may obtain a time sequence of events that are transmitted to the receiving unit 320. The event data EVD indicates as an event the occurrence of a change of a difference in intensities of light detected as described above.

[0194] The inertial data IND is provided by an inertial measurement unit (IMU) 380. The IMU 380 may be used to estimate the motion of the image sensor 360. According to examples, the IMU 380 may combine an accelerometer and a gyroscope to accurately track the movement of the image sensor 360 (e.g., including jitter or movements of the image sensor 360 due to hand shaking). This measured inertial data IND is then transmitted to the receiving unit 320 of the device 310 for further processing as described below.

[0195] The image data IMD, the event data EVD, and the inertial data IND are temporally synchronized. For example, the plurality of frames F, Fi, F2 received from the image sensor 360 may be used for the VFI, as well as a sequence of events from the event sensor 370 and the inertial data IND from the IMU 380. The event sensor 370 may be geometrically aligned with the image sensor 360. The image sensor 360 and the event sensor 370 may also be optically aligned, i.e., they may cover the same field of view and may have the same focus.

[0196] The device 310 further includes a processing unit 330 as shown in Fig. 15. The processing unit 330 process the image data IMD, the event data EVD, and the inertial data IND to compute a stabilized intermediate frame I between two consecutive frames Fi, F2 of the plurality of frames F, Fi, F2. The VFI procedure is illustrated in a simplified manner in Fig. 18, which will be described later on.

[0197] In common VFI devices, a sequential order of processing may take place with the VFI being performed as a first processing block based on the image data IMD received from the image sensor 360 and the event data EVD received from the event sensor 370. This is followed by a rolling shutter compensation (RSC) and an image stabilization (IS) in a second processing block. The rolling shutter effect is a positional error that can occur in photos or video recordings of moving objects. The IS compensates for pan and tilt (angular movement) of the image sensor 360. More specifically, electronic IS compensates for rotation about an optical axis (roll). In greater detail, the IS is a highly effective method for compensating hand jitter that manifests itself in distracting video shake during playback. The IS relies on the accuracy of the IMU 380 for tracking the source of jitter, which may be due to a hand shake or vehicle motion. This motion information is then integrated in the current sequence of video frames F, Fi, I, F2, i.e., after the VFI, and used for motion compensation. For generating a high-quality video both IS and RSC may be necessary. After the IS and the RSC are performed the processed data may be warped and decoded as a third processing block. Then, the data may be applied to an encoder ENC (for example, a video encoder such as h264 / h265) as a fourth processing block, which outputs stabilized frames. In other words, the stabilized high frame rate movie (with warping) resulting from the third processing block may be encoded as a compressed movie.

[0198] Fig. 16 shows a schematic block diagram illustrating such an exemplary processing sequence of a conventional VFI as described above. In this context, it is noted that the first and second processing block may each comprise an inherent encoder / decoder architecture. For example, the VFI block may comprise an inherent encoder / decoder and the IS & RSC block may comprise an inherent encoder / decoder. Thus, each block may perform encoding / decoding. This, however, is only exemplary. Different inherent encoding / decoding schemes may be applied. The resulting data, after performing VFI and IS & RSC, may then be warped and decoded before it is provided to the final video encoder ENC.

[0199] The sequential processing as shown in Fig. 16, however, implies a high computational cost, since the IS is performed after the VFI, and thus applied to frames Fi, I, F2 with a high FPS rate, e.g., in a range about 120 to 240 FPS.

[0200] Another approach might be to perform the IS before the VFI, i.e., when receiving the image data IMD and the event data EVD. However, in this case, the IS is applied directly to raw events resulting in the events being wrongly generated, and thus, a wrong output. This is shown in a simplified manner in Fig. 17.

[0201] Fig. 17 is a schematic block diagram showing another exemplary processing sequence of a conventional VFI. In this example, the IS is applied at the beginning of the image processing procedure, i.e., before the VFI. As can be seen, the input frames F show an object that moves, for example, due to a global movement of the image sensor 360. The first row shows the image data IMD and the bottom row the raw event data EVD. After performing the IS, the events (e.g., movements) are generated wrongly, for both cases. In other words, the event data EVD cannot be translated / stabilized based on the inertial data IND, as the events change with the stabilized motion.

[0202] The device 310 and the system 300 according to the present disclosure address the above problems by providing an integrated IS. In other words, the processing unit 330 derives, from the event data EVD, motion vectors MV that are subjected to a motion compensation based on the processed inertial data IND. This is indicated in Fig. 15, where the VFI and the IS are performed concurrently. This approach reduces the computational cost by discarding an additional IS pre / post processing step as opposed to conventional VFI approaches. Therefore, the device 310 and the system 300 provide an efficient VFI with integrated IS, considering both the EVD and the IMD in combination with the IND.

[0203] More specifically, the processing unit 330 may derive, from the inertial data IND, stabilization vectors STV indicating a global flow (e.g., a pattern of apparent motion due to a movement of the image sensor 360), which is used to correct the motion vectors MV. This is shown in a simplified manner by corresponding arrows in Fig. 15. When deriving the stabilization vectors STV, the image data IMD needs to be considered to correctly derive the global motion. The stabilization vectors STV and the motion vectors MV may then be combined (e.g., added) to perform the motion compensation on the motion vectors MV, which is indicated by the small “+” in Fig. 15. Afterwards, a warping operation may be performed based on the combined vectors and the processed image data to compute the stabilized intermediate frame I, which serves as input in a decoder. The warping operation and the decoding by the decoder may be performed in the same processing block indicated in Fig. 15 by Warp & DEC, which is executed by a decoder module 350 (which will be explained in later paragraphs).

[0204] In particular, the motion compensation may be performed on the motion vectors MV before the warping operation.

[0205] Fig. 18 is a schematic block diagram showing an exemplary VFI. In detail, based on the consecutive frames Fi and F2, the intermediate frame I is derived. Fig. 18 shows only one intermediate frame I. However, more intermediate frames I may be obtained from the pair of frames Fi and F2, which will be referred to in the following as first frame Fi and second frame F2, respectively. For example, to interpolate the intermediate frame I between the pair of the first frame Fi and the second frame F2, the one or more events, which arrive temporally between the first frame Fi and the second frame F2, may be used by the processing unit 330 of the device 310. As explained above in reference to Fig. 16, since the events and correspondingly the event data EVD, cannot be stabilized using the inertial data IND, motion vectors MV are derived from the event data EVD. The motion vectors MV may indicate the estimated motion of objects within the frames Fi, F2. These motion vectors MV may be stabilized using the stabilized vectors STV obtained from the inertial data IND in combination with the image data IMD. This is shown in a simplified way in Fig. 18. The combination of the motion vectors MV with the stabilized vectors STV allows to compensate for the global motion of the image sensor 360. The stabilization vectors STV and motion vectors MV are output with the same frequency. The combined vectors may then be subjected to the warping operation.

[0206] Fig. 19 is a schematic block diagram showing an exemplary warping operation.

[0207] In this context, warping means that points are mapped to points without changing the colors. There may be the so-called forward mapping procedure. This procedure applies a transform directly to a source image, typically generating unevenly spaced points that will then be interpolated to generate the required regularly spaced pixels. This so-called forward-mapping is shown in Fig. 19.

[0208] However, for injective transforms reverse mapping may also available. This procedure applies the inverse transform to the target pixels to find the unevenly spaced locations in the source image that contribute to them.

[0209] In general, various warping mechanisms are known and may be applied herein.

[0210] As explained above, the motion compensation may comprise an ego motion EM compensation that accounts for the motion of the image sensor 360 capturing the scene. More specifically, ego motion EM may refer to estimating a motion of the image sensor 360 relative to a rigid scene.

[0211] Combining the stabilized vectors STV and the motion vectors MV may result in passing already stabilized frames to a final decoder DEC. Therefore, no further stabilization is needed at an output frame level and the stabilization cost is almost zero.

[0212] The processing unit 330 may further comprises a flow estimation module 340 that determines motion estimates based on the events obtained between consecutive frames Fi, F2 to convert the event data EVD into motion vectors MV as explained above in reference to Fig. 18. The flow estimation module 340 may be trained to predict stabilized motion vectors STV using the processed event data and the processed inertial data. In greater detail, the flow estimation module may be trained in an unsupervised fashion (end-to-end with decoder) to predict implicitly stabilized motion vectors STV. This may be based on the following inputs. Firstly, event data EVD provides information regarding local changes and relative flows, and secondly, inertial data IND that provides information regarding the global flow, and / or stabilization vectors STV.

[0213] This approach may also be extended by using raw inertial data, raw event data, and raw image data IMD. The stabilization cost of this method may also be close to zero as all components are still required in case of performing VFI without IS.

[0214] The processing unit 330 may further comprise a decoder module 350, as indicated above, to decode and output the stabilized intermediate frame I.

[0215] In addition, the device 310 and the system 300 may be incorporate also a RSC, which is performed simultaneously with the VFI.

[0216] In common approaches as discussed in relation to Fig. 16, the processing for VSI, IS, and RSC is done sequentially, which amounts to a huge computational cost.

[0217] According to the present disclosure, the device 310 may further perform a RSC. An example of the RSC procedure is shown in Fig. 20.

[0218] Fig. 20 is a schematic block diagram showing an exemplary VFI including an RSC. As can be seen, the ego motion EM is indicated by a dashed line in the upper part of Fig. 20. The RSC is applied concurrently with the VFI and IS.

[0219] In greater detail, the RSC and the VFI (including the IS) are processed at the same time by fusing the processed data. In other words, the IS, the VFI, and the RSC are combined by fusing the data to a novel encoded metadata (e.g., new motion vectors). Using this metadata in the decoding module 350 may enable to further reduce the computational cost.

[0220] Fig. 21 is a schematic block diagram showing such an exemplary processing sequence of a VFI including RSC. The first processing block for receiving the image data IMD, the event data EVD, and the inertial data IND, and deriving the fused data may be performed by the flow estimation module 340 indicated by a dashed rectangle. The warping operation and the decoding in the second processing part may be performed by the decoding module 350.

[0221] For example, combining the data, i.e., the vectors following from the IS, the RSC, and the VFI, may result in new motion vectors MVs as described above. This combination is indicated in Fig. 21 by a "combination" module Comb. There may exist several approaches to combine or fuse these vectors. One example may be achieved by block merging all vectors following from the IS, the RSC, and the VFI to provide new motion vectors MVs. Furthermore, combining / fusing this data is not straightforward because the frame rate differs. For example, processing the inertial data IND and deriving the stabilization vectors STV may be at a frame rate of 240 FPS, similar to processing the event data EVD and deriving the motion vectors MV. The RSC may provide data at a lower frame rate, e.g., 30 FPS.

[0222] Fig. 22 shows a specific example for combining / fusing the data, which illustrates the following:

[0223] Img_0 (x,y): previous input image frame,

[0224] Img_2 (x,y): future input image frame,

[0225] (u_01 (x.y).v_ 1 (x.y)): motion speed from image 0 to 1,

[0226] (u_12 (x.y).v_l 2 (x,y)) : motion speed from image 1 to 2.

[0227] The motion speed represents the vectors per unit time. For simplicity, even though the motion speed (i.e., the vectors per unit time) are dense, they are shown in Fig. 22 without (x,y) e.g., as (u_01,v_01 ).

[0228] As follows from Fig. 22, (u_01,v_01 ) may be calculated by adding the motion vectors MV and the stabilization vectors STV because both may be obtained at a high frame rate, e.g., 240fps.

[0229] The middle frame may then be calculated by the following formula (or more simply stated, it may be an alpha blended image obtained from warped input images).

[0230] AT01(x, y) is time difference from Img0to Img±. Because Img±is after the RSC, the time difference depends on pixel location. Suppose for example, At01is a time difference between a comer point, and r is the rolling shutter speed [sec / row]. The time difference may be calculated as follows.

[0231] AToi (v y) = AtOi- r - y

[0232] The new motion vector MV from image 0 to 1 may then be combined as follows: «oi • (Atoi ~ r - y Voi • (Atoi - r • y )

[0233] The same calculation may be done with image from 1 to 2.

[0234] Fig. 23 illustrates schematically a process flow of a method for a VFI.

[0235] At S201, the image data IMD of the scene is obtained.

[0236] At S202, the event data EVD of the scene is obtained. At S203, the inertial data IND is obtained.

[0237] At S204, the image data IMD, the event data EVD, and the inertial data IND are processed to compute the stabilized intermediate frame I.

[0238] Processing the image data IMD further comprises the operation S205, where the motion vectors MV that are subjected to a motion compensation based on the processed inertial data IND are derived from the event data EVD.

[0239] The technology according to the above (i.e. the present technology) is applicable to various products. For example, the technology according to the present disclosure may be realized as a device that is installed on any kind of moving bodies, for example, vehicles, electric vehicles, hybrid electric vehicles, motorcycles, bicycles, personal mobilities, airplanes, drones, ships, and robots.

[0240] Fig. 24 is a block diagram depicting an example of schematic configuration of a vehicle control system as an example of a mobile body control system to which the technology according to an embodiment of the present disclosure can be applied.

[0241] The vehicle control system 12000 includes a plurality of electronic control units connected to each other via a communication network 12001. In the example depicted in Fig. 23, the vehicle control system 12000 includes a driving system control unit 12010, a body system control unit 12020, an outside-vehicle information detecting unit 12030, an in-vehicle information detecting unit 12040, and an integrated control unit 12050. In addition, a microcomputer 12051, a sound / image output section 12052, and a vehiclemounted network interface (I / F) 12053 are illustrated as a functional configuration of the integrated control unit 12050.

[0242] The driving system control unit 12010 controls the operation of devices related to the driving system of the vehicle in accordance with various kinds of programs. For example, the driving system control unit 12010 functions as a control device for a driving force generating device for generating the driving force of the vehicle, such as an internal combustion engine, a driving motor, or the like, a driving force transmitting mechanism for transmitting the driving force to wheels, a steering mechanism for adjusting the steering angle of the vehicle, a braking device for generating the braking force of the vehicle, and the like.

[0243] The body system control unit 12020 controls the operation of various kinds of devices provided to a vehicle body in accordance with various kinds of programs. For example, the body system control unit 12020 functions as a control device for a keyless entry system, a smart key system, a power window device, or various kinds of lamps such as a headlamp, a backup lamp, a brake lamp, a turn signal, a fog lamp, or the like. In this case, radio waves transmitted from a mobile device as an alternative to a key or signals of various kinds of switches can be input to the body system control unit 12020. The body system control unit 12020 receives these input radio waves or signals, and controls a door lock device, the power window device, the lamps, or the like of the vehicle. The outside-vehicle information detecting unit 12030 detects information about the outside of the vehicle including the vehicle control system 12000. For example, the outside-vehicle information detecting unit 12030 is connected with an imaging section 12031. The outside-vehicle information detecting unit 12030 makes the imaging section 12031 image an image of the outside of the vehicle, and receives the imaged image. On the basis of the received image, the outside-vehicle information detecting unit 12030 may perform processing of detecting an object such as a human, a vehicle, an obstacle, a sign, a character on a road surface, or the like, or processing of detecting a distance thereto.

[0244] The imaging section 12031 is an optical sensor that receives light, and which outputs an electric signal corresponding to a received light amount of the light. The imaging section 12031 can output the electric signal as an image, or can output the electric signal as information about a measured distance. In addition, the light received by the imaging section 12031 may be visible light, or may be invisible light such as infrared rays or the like.

[0245] The in-vehicle information detecting unit 12040 detects information about the inside of the vehicle. The in-vehicle information detecting unit 12040 is, for example, connected with a driver state detecting section 12041 that detects the state of a driver. The driver state detecting section 12041, for example, includes a camera that images the driver. On the basis of detection information input from the driver state detecting section 12041, the in-vehicle information detecting unit 12040 may calculate a degree of fatigue of the driver or a degree of concentration of the driver, or may determine whether the driver is dozing.

[0246] The microcomputer 12051 can calculate a control target value for the driving force generating device, the steering mechanism, or the braking device on the basis of the information about the inside or outside of the vehicle which information is obtained by the outside-vehicle information detecting unit 12030 or the in- vehicle information detecting unit 12040, and output a control command to the driving system control unit 12010. For example, the microcomputer 12051 can perform cooperative control intended to implement functions of an advanced driver assistance system (ADAS) which functions include collision avoidance or shock mitigation for the vehicle, following driving based on a following distance, vehicle speed maintaining driving, a warning of collision of the vehicle, a warning of deviation of the vehicle from a lane, or the like.

[0247] In addition, the microcomputer 12051 can perform cooperative control intended for automatic driving, which makes the vehicle to travel autonomously without depending on the operation of the driver, or the like, by controlling the driving force generating device, the steering mechanism, the braking device, or the like on the basis of the information about the outside or inside of the vehicle which information is obtained by the outside-vehicle information detecting unit 12030 or the in-vehicle information detecting unit 12040.

[0248] In addition, the microcomputer 12051 can output a control command to the body system control unit 12020 on the basis of the information about the outside of the vehicle which information is obtained by the outside vehicle information detecting unit 12030. For example, the microcomputer 12051 can perform cooperative control intended to prevent a glare by controlling the headlamp so as to change from a high beam to a low beam, for example, in accordance with the position of a preceding vehicle or an oncoming vehicle detected by the outside-vehicle information detecting unit 12030.

[0249] The sound / image output section 12052 transmits an output signal of at least one of a sound and an image to an output device capable of visually or auditorily notifying information to an occupant of the vehicle or the outside of the vehicle. In the example of Fig. 23, an audio speaker 12061, a display section 12062, and an instrument panel 12063 are illustrated as the output device. The display section 12062 may, for example, include at least one of an on-board display and a head-up display.

[0250] Fig. 25 is a diagram depicting an example of the installation position of the imaging section 12031.

[0251] In Fig. 25, the imaging section 12031 includes imaging sections 12101, 12102, 12103, 12104, and 12105.

[0252] The imaging sections 12101, 12102, 12103, 12104, and 12105 are, for example, disposed at positions on a front nose, sideview mirrors, a rear bumper, and a back door of the vehicle 12100 as well as a position on an upper portion of a windshield within the interior of the vehicle. The imaging section 12101 provided to the front nose and the imaging section 12105 provided to the upper portion of the windshield within the interior of the vehicle obtain mainly an image of the front of the vehicle 12100. The imaging sections 12102 and 12103 provided to the sideview mirrors obtain mainly an image of the sides of the vehicle 12100. The imaging section 12104 provided to the rear bumper or the back door obtains mainly an image of the rear of the vehicle 12100. The imaging section 12105 provided to the upper portion of the windshield within the interior of the vehicle is used mainly to detect a preceding vehicle, a pedestrian, an obstacle, a signal, a traffic sign, a lane, or the like.

[0253] Incidentally, Fig. 25 depicts an example of photographing ranges of the imaging sections 12101 to 12104. An imaging range 12111 represents the imaging range of the imaging section 12101 provided to the front nose. Imaging ranges 12112 and 12113 respectively represent the imaging ranges of the imaging sections 12102 and 12103 provided to the sideview mirrors. An imaging range 12114 represents the imaging range of the imaging section 12104 provided to the rear bumper or the back door. A bird’s-eye image of the vehicle

[0254] 12100 as viewed from above is obtained by superimposing image data imaged by the imaging sections

[0255] 12101 to 12104, for example.

[0256] At least one of the imaging sections 12101 to 12104 may have a function of obtaining distance information. For example, at least one of the imaging sections 12101 to 12104 may be a stereo camera constituted of a plurality of imaging elements, or may be an imaging element having pixels for phase difference detection.

[0257] For example, the microcomputer 12051 can determine a distance to each three-dimensional object within the imaging ranges 12111 to 12114 and a temporal change in the distance (relative speed with respect to the vehicle 12100) on the basis of the distance information obtained from the imaging sections 12101 to 12104, and thereby extract, as a preceding vehicle, a nearest three-dimensional object in particular that is present on a traveling path of the vehicle 12100 and which travels in substantially the same direction as the vehicle 12100 at a predetermined speed (for example, equal to or more than 0 km / hour). Further, the microcomputer 12051 can set a following distance to be maintained in front of a preceding vehicle in advance, and perform automatic brake control (including following stop control), automatic acceleration control (including following start control), or the like. It is thus possible to perform cooperative control intended for automatic driving that makes the vehicle travel autonomously without depending on the operation of the driver or the like.

[0258] For example, the microcomputer 12051 can classify three-dimensional object data on three-dimensional objects into three-dimensional object data of a two-wheeled vehicle, a standard-sized vehicle, a large-sized vehicle, a pedestrian, a utility pole, and other three-dimensional objects on the basis of the distance information obtained from the imaging sections 12101 to 12104, extract the classified three-dimensional object data, and use the extracted three-dimensional object data for automatic avoidance of an obstacle. For example, the microcomputer 12051 identifies obstacles around the vehicle 12100 as obstacles that the driver of the vehicle 12100 can recognize visually and obstacles that are difficult for the driver of the vehicle 12100 to recognize visually. Then, the microcomputer 12051 determines a collision risk indicating a risk of collision with each obstacle. In a situation in which the collision risk is equal to or higher than a set value and there is thus a possibility of collision, the microcomputer 12051 outputs a warning to the driver via the audio speaker 12061 or the display section 12062, and performs forced deceleration or avoidance steering via the driving system control unit 12010. The microcomputer 12051 can thereby assist in driving to avoid collision.

[0259] At least one of the imaging sections 12101 to 12104 may be an infrared camera that detects infrared rays. The microcomputer 12051 can, for example, recognize a pedestrian by determining whether or not there is a pedestrian in imaged images of the imaging sections 12101 to 12104. Such recognition of a pedestrian is, for example, performed by a procedure of extracting characteristic points in the imaged images of the imaging sections 12101 to 12104 as infrared cameras and a procedure of determining whether or not it is the pedestrian by performing pattern matching processing on a series of characteristic points representing the contour of the object. When the microcomputer 12051 determines that there is a pedestrian in the imaged images of the imaging sections 12101 to 12104, and thus recognizes the pedestrian, the sound / image output section 12052 controls the display section 12062 so that a square contour line for emphasis is displayed so as to be superimposed on the recognized pedestrian. The sound / image output section 12052 may also control the display section 12062 so that an icon or the like representing the pedestrian is displayed at a desired position.

[0260] An example of the vehicle control system to which the technology according to the present disclosure is applicable has been described above. The technology according to the present disclosure is applicable to the imaging section 12031 among the above-mentioned configurations. Specifically, the sensor device 10 is applicable to the imaging section 12031. The imaging section 12031 to which the technology according to the present disclosure has been applied flexibly acquires event data and performs data processing on the event data, thereby being capable of providing appropriate driving assistance.

[0261] Note that, the embodiments of the present technology are not limited to the above-mentioned embodiment, and various modifications can be made without departing from the gist of the present technology. Further, the effects described herein are only exemplary and not limited, and other effects may be provided.

[0262] Note that, the present technology can also take the following configurations.

[0263] 1. A device (310) for video frame interpolation, VFI, the device (310) comprising: a receiving unit (320) configured to: receive image data (IMD) of a scene, the image data (IMD) comprising a plurality of frames (F, Fi, F2), receive event data (EVD) of the scene, the event data (EVD) comprising events obtained between consecutive frames (Fi, F2) of the plurality of frames (F, Fi, F2), wherein the event data (EVD) indicates as an event the occurrence of a change of a difference in intensities of light detected by an event sensor (370), and receive inertial data (IND) related to an image sensor (360) capturing the scene, wherein the image data (IMD), the event data (EVD), and the inertial data (IND) are temporally synchronized; and a processing unit (330) configured to process the image data (IMD), the event data (EVD), and the inertial data (IND) to compute a stabilized intermediate frame (I) between two consecutive frames (Fi, F2) of the plurality of frames (F, Fi, F2), wherein the processing unit (330) is further configured to derive, from the event data (EVD), motion vectors (MV) that are subjected to a motion compensation based on the processed inertial data.

[0264] [2] The device (310) according to [1], wherein the processing unit (330) is further configured to: derive, from the inertial data (IND), stabilization vectors (STV); combine the stabilization vectors (STV) and the motion vectors (MV) to perform the motion compensation on the motion vectors (MV); and perform a warping operation based on the combined vectors and the processed image data to compute the stabilized intermediate frame (I).

[0265] [3] The device (310) according to [2], wherein the motion compensation is performed on the motion vectors (MV) before a warping operation.

[0266] [4] The device (310) according to any one of [1] to [3], wherein the motion compensation comprises an ego motion (EM) compensation that accounts for the motion of the image sensor (360) capturing the scene.

[0267] [5] The device (310) according to any one of [1] to [4], wherein the processing unit (330) further comprises a flow estimation module (340) configured to determine motion estimates based on the events obtained between consecutive frames (Fi, F2) to convert the event data into motion vectors (MV).

[0268] [6] The device (310) according to [5], wherein the processing unit (330) comprises a flow estimation module (340) configured to be trained to predict stabilized motion vectors (STV) using the processed event data and the processed inertial data. [7] The device (310) according to any one of [1] to [6], wherein the processing unit (330) further comprises a decoder module (350) configured to decode and output the stabilized intermediate frame (I).

[0269] [8] The device (310) according to any one of [1] to [7], wherein the device (310) is further configured to perform a rolling shutter compensation, RSC.

[0270] [9] The device (310) according to [8], wherein the motion compensation, a rolling shutter compensation, RSC, and the VFI are processed at the same time by fusing the processed data.

[0271]

[0010] A system (300) for video frame interpolation, VFI, the system (300) comprising: a device (310) according to any one of [1] to [9]; an image sensor (360) configured to obtain the image data of the scene; an event sensor (370) configured to the obtain the event data of the scene; and an inertial measurement unit, IMU (380), configured to obtain the inertial data of the image sensor (360) capturing the scene, wherein the image sensor (360), the event sensor (370), and the IMU (380) are temporally synchronized.

[0272]

[0011] A method for video frame interpolation, VFI, the method comprising: obtaining (S201) image data (IMD) of a scene, the image data (IMD) comprising a plurality of frames (F, Fi, F2); obtaining (S202) event data (EVD) of the scene, the event data (EVD) comprising events obtained between consecutive frames (Fi, F2) of the plurality of frames (F, Fi, F2), wherein the event data (EVD) indicates as an event the occurrence of a change of a difference in intensities of light detected by an event sensor (370); obtaining (S203) inertial data (IND) of an image sensor (360) capturing the scene, wherein the obtaining of the image data (IMD), the event data (EVD), and the inertial data (IND) is temporally synchronized; and processing (S204) the image data (IMD), the event data (EVD), and the inertial data (IND) to compute a stabilized intermediate frame (I) between two consecutive frames (Fi, F2) of the plurality of frames (F, Fi, F2), wherein processing the image data (IMD) further comprises: deriving (S205), from the event data (EVD), motion vectors (MV) that are subjected to a motion compensation based on the processed inertial data.

Claims

CLAIMS1. A device for video frame interpolation, VFI, the device comprising: a receiving unit configured to: receive image data of a scene, the image data comprising a plurality of frames, receive event data of the scene, the event data comprising events obtained between consecutive frames of the plurality of frames, wherein the event data indicates as an event the occurrence of a change of a difference in intensities of light detected by an event sensor, and receive inertial data related to an image sensor capturing the scene, wherein the image data, the event data, and the inertial data are temporally synchronized; and a processing unit configured to process the image data, the event data, and the inertial data to compute a stabilized intermediate frame between two consecutive frames of the plurality of frames, wherein the processing unit is further configured to derive, from the event data, motion vectors that are subjected to a motion compensation based on the processed inertial data.

2. The device according to claim 1, wherein the processing unit is further configured to: derive, from the inertial data, stabilization vectors; combine the stabilization vectors and the motion vectors to perform the motion compensation on the motion vectors; and perform a warping operation based on the combined vectors and the processed image data to compute the stabilized intermediate frame.

3. The device according to claim 2, wherein the motion compensation is performed on the motion vectors before the warping operation.

4. The device according to claim 1, wherein the motion compensation comprises an ego motion compensation that accounts for the motion of the image sensor capturing the scene.

5. The device according to claim 1, wherein the processing unit further comprises a flow estimation module configured to determine motion estimates based on the events obtained between consecutive frames to convert the event data into motion vectors.

6. The device according to claim 5, wherein the flow estimation module is further configured to be trained to predict stabilized motion vectors using the processed event data and the processed inertial data.

7. The device according to claim 1, wherein the processing unit further comprises a decoder module configured to decode and output the stabilized intermediate frame.

8. The device according to claim 1, wherein the device is further configured to perform a rolling shutter compensation, RSC.

9. The device according to claim 8, wherein the motion compensation, the RSC, and the VFI are processed at the same time by fusing the processed data.

10. A system for video frame interpolation, VFI, the system comprising: a device according to claim 1 ; an image sensor configured to obtain the image data of the scene; an event sensor configured to the obtain the event data of the scene; and an inertial measurement unit, IMU, configured to obtain the inertial data of the image sensor capturing the scene, wherein the image sensor, the event sensor, and the IMU are temporally synchronized.

11. A method for video frame interpolation, VFI, the method comprising: obtaining image data of a scene, the image data comprising a plurality of frames; obtaining event data of the scene, the event data comprising events obtained between consecutive frames of the plurality of frames, wherein the event data indicate as an event the occurrence of a change of a difference in intensities of light detected by an event sensor; obtaining inertial data of an image sensor capturing the scene, wherein the obtaining of the image data, the event data, and the inertial data is temporally synchronized; and processing the image data, the event data, and the inertial data to compute a stabilized intermediate frame between two consecutive frames of the plurality of frames, wherein processing the image data further comprises: deriving, from the event data, motion vectors that are subjected to a motion compensation based on the processed inertial data.

Citation Information

Patent Citations

  • Methods and apparatus for re-stabilizing video in post-processing

    US20230109047A1

  • Image processing apparatus and method for generating interpolated frame

    WO2023083467A1