[go: up one dir, main page]

WO2020067410A1 - データ処理装置、データ処理方法、及び、プログラム - Google Patents

データ処理装置、データ処理方法、及び、プログラム Download PDF

Info

Publication number
WO2020067410A1
WO2020067410A1 PCT/JP2019/038112 JP2019038112W WO2020067410A1 WO 2020067410 A1 WO2020067410 A1 WO 2020067410A1 JP 2019038112 W JP2019038112 W JP 2019038112W WO 2020067410 A1 WO2020067410 A1 WO 2020067410A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame
data
generation
event
accumulation time
Prior art date
Application number
PCT/JP2019/038112
Other languages
English (en)
French (fr)
Inventor
元就 本田
俊 海津
Original Assignee
ソニーセミコンダクタソリューションズ株式会社
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2019006852A external-priority patent/JP2022036354A/ja
Application filed by ソニーセミコンダクタソリューションズ株式会社, ソニー株式会社 filed Critical ソニーセミコンダクタソリューションズ株式会社
Priority to CN201980061594.8A priority Critical patent/CN112740275B/zh
Priority to US17/276,257 priority patent/US11818475B2/en
Publication of WO2020067410A1 publication Critical patent/WO2020067410A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/40Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled
    • H04N25/44Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled by partially reading an SSIS array
    • H04N25/443Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled by partially reading an SSIS array by reading pixels from selected 2D regions of the array, e.g. for windowing or digital zooming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/79Arrangements of circuitry being divided between different or multiple substrates, chips or circuit boards, e.g. stacked image sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/254Analysis of motion involving subtraction of images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/47Image sensors with pixel address output; Event-driven image sensors; Selection of pixels to be read out based on image data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/50Control of the SSIS exposure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/703SSIS architectures incorporating pixels for producing signals other than image signals
    • H04N25/707Pixels for event detection

Definitions

  • the present technology relates to a data processing device, a data processing method, and a program, and in particular, for example, converts frame data that is image data in a frame format according to event data indicating occurrence of an event that is a change in an electrical signal of a pixel.
  • the present invention relates to a data processing device, a data processing method, and a program that enable appropriate frame data to be obtained upon generation.
  • An image sensor that outputs event data indicating occurrence of an event when an event occurs with a change in pixel brightness as an event has been proposed.
  • an image sensor that captures images in synchronization with a vertical synchronization signal and outputs frame data that is frame-format image data can be called a synchronous image sensor.
  • an image sensor that outputs event data does not output the event data in synchronization with the vertical synchronization signal, and thus can be said to be an asynchronous image sensor.
  • the asynchronous image sensor is called, for example, DVS (Dynamic Vision Sensor).
  • the event data is converted to frame data and then used for image processing.
  • a method of converting event data into frame data that is, a method of generating frame data according to the event data, a method of aggregating event data over a specific time into a frame or a method of converting a specific number of event data into a frame
  • An aggregation method has been proposed (for example, see Patent Document 1).
  • frame data which is image data in a frame format, according to event data, it is required to obtain frame data suitable for image processing performed thereafter.
  • the present technology has been made in view of such a situation, and is intended to obtain appropriate frame data.
  • the first data processing device is configured to perform the photoelectric conversion and generate the electric signal of the pixel generated during the first accumulation time from the start of the first frame generation to the end of the first frame generation.
  • First frame data based on event data that is a change in an electric signal
  • second frame based on event data generated in a second accumulation time from the start of the second frame generation to the end of the second frame generation
  • a frame data generation unit that generates data and a frame period setting unit that sets a first frame period between the start of the first frame generation and the start of the second frame generation and supplies the first frame period to the frame data generation unit. It is a data processing device provided.
  • the pixel of the pixel that performs the photoelectric conversion and generates the electric signal generated by the first accumulation time from the start of the first frame generation to the end of the first frame generation is generated.
  • frame data are generated.
  • a first frame period between the start of the first frame generation and the start of the second frame generation is set and supplied to the frame data generation unit.
  • the second data processing device or the first program according to the present technology is configured such that a change in the electric signal of a pixel that generates an electric signal by performing photoelectric conversion, which occurs during an accumulation time from the start of frame generation to the end of frame generation.
  • a frame data generation unit that generates frame data based on the event data that is generated at the start of frame data generation of the first frame data, and a frame of the second frame data that is generated continuously with the first frame data.
  • a data processing device including a frame period setting unit that sets a frame period that is an interval from the start of data generation and supplies the frame period to the frame data generation unit, or a program for causing a computer to function as such a data processing device It is.
  • the frame data generation unit generates an electric signal by performing photoelectric conversion, the electric signal being generated during an accumulation time from the start of frame generation to the end of frame generation. Generating frame data based on event data that is a change, starting generation of frame data of first frame data, and generating frame data of second frame data that is generated continuously with the first frame data.
  • This is a data processing method including setting a frame period that is an interval from the start of generation and supplying the frame period to the frame data generation unit.
  • an electric signal generated by performing photoelectric conversion and generated during the accumulation time from the start of frame generation to the end of frame generation is generated.
  • the frame data is generated based on the event data which is a change of the electric signal of the pixel generating the pixel data.
  • a frame period which is an interval between the start of frame data generation of the first frame data and the start of frame data generation of the second frame data generated continuously with the first frame data, is set. It is supplied to the frame data generation unit.
  • a third data processing device or a second program according to the present technology performs an electric signal by performing photoelectric conversion, which is generated in a first accumulation time from the start of the first frame generation to the end of the first frame generation.
  • First frame data based on event data which is a change in the electric signal of a pixel to be generated, and the event data generated during a second accumulation time from the start of the second frame generation to the end of the second frame generation.
  • a data processing device including a frame data generation unit that generates second frame data based on the first storage time and the second storage time so as to overlap each other, or a computer as such a data processing device. This is a program to make it work.
  • the pixel of the pixel that generates an electric signal by performing photoelectric conversion which is generated during a first accumulation time from the start of the first frame generation to the end of the first frame generation.
  • First frame data based on event data that is a change in an electrical signal
  • second frame based on the event data generated during a second accumulation time from the start of the second frame generation to the end of the second frame generation
  • a data processing method including generating data such that a first accumulation time and a second accumulation time overlap.
  • the first data processing device In the third data processing device, the second data processing method, and the second program according to the present technology, the first data processing device generates the first accumulation time from the start of the first frame generation to the end of the first frame generation.
  • the first frame data based on the event data which is a change in the electric signal of the pixel which generates the electric signal by performing the photoelectric conversion, and the second frame data from the start of the second frame generation to the end of the second frame generation. Is generated such that the first accumulation time and the second accumulation time overlap with each other based on the event data generated during the accumulation time.
  • the fourth data processing device is configured to convert event data, which is a change in the electric signal of a pixel that generates an electric signal by performing photoelectric conversion, generated during an accumulation time from the start of frame generation to the end of frame generation.
  • the data processing device generates frame data based on the number of event data per unit time, and changes the number of the generated frame data per unit time according to the number of the event data per unit time.
  • the event data that is generated during the accumulation time from the start of frame generation to the end of frame generation and is a change in the electric signal of a pixel that generates an electric signal by performing photoelectric conversion. Is generated based on the frame data.
  • the number of generations of the frame data per unit time changes according to the number of the event data per unit time.
  • a fifth data processing device includes a pixel that generates an electric signal by performing photoelectric conversion, and an event generation unit that generates event data indicating occurrence of an event that is a change in the electric signal of the pixel.
  • a frame data generating unit that generates frame data based on the event data generated during an accumulation time from the start of frame generation to the end of frame generation, a start of frame data generation of first frame data, And a frame period setting unit that sets a frame period that is an interval between the start of frame data generation of the second frame data and the second frame data that is continuously generated and supplies the frame period to the frame data generation unit. It is a data processing device provided.
  • a third data processing method includes generating event data indicating occurrence of an event, which is a change in the electric signal of a pixel that generates an electric signal by performing photoelectric conversion, and generating a frame from the start of frame generation. Generating frame data based on the event data generated in the accumulation time up to the end time, starting generation of frame data of the first frame data, and generating a frame data continuously with the first frame data. And setting a frame period that is an interval from the start of frame data generation of the second frame data and supplying the frame period to the frame data generation unit.
  • an event indicating occurrence of an event which is a change in the electric signal of a pixel that generates an electric signal by performing photoelectric conversion.
  • Data is generated, and frame data is generated based on the event data generated during the accumulation time from the start of frame generation to the end of frame generation.
  • a frame period which is an interval between the start of frame data generation of the first frame data and the start of frame data generation of the second frame data generated continuously with the first frame data, is set. It is supplied to the frame data generation unit.
  • the data processing device may be an independent device or an internal block constituting one device. Further, the data processing device can be configured as a one-chip semiconductor chip or module.
  • the program can be distributed by transmitting it via a transmission medium or by recording it on a recording medium.
  • FIG. 14 is a diagram illustrating a configuration example of an embodiment of a data processing chip to which the present technology is applied. 6 is a flowchart illustrating an operation of the data processing chip.
  • FIG. 3 is a block diagram illustrating a configuration example of an event generation unit 21.
  • FIG. 3 is a block diagram illustrating a configuration example of a pixel array unit 31.
  • FIG. 3 is a circuit diagram illustrating a configuration example of a pixel 51.
  • FIG. 3 is a block diagram illustrating a configuration example of an event detection unit 52.
  • FIG. 3 is a circuit diagram illustrating a configuration example of a current-voltage converter 71.
  • FIG. 4 is a circuit diagram illustrating a configuration example of a subtraction unit 73 and a quantization unit 74.
  • FIG. 3 is a block diagram illustrating a configuration example of an event generation unit 21.
  • FIG. 3 is a block diagram illustrating a configuration example of a pixel array unit 31.
  • FIG. 3
  • FIG. 3 is a block diagram illustrating a configuration example of a data processing unit 22.
  • FIG. 4 is a diagram illustrating an outline of event data output by an event generation unit 21.
  • FIG. 4 is a diagram illustrating an outline of a method of generating frame data according to event data.
  • FIG. 4 is a diagram illustrating a first setting method of a frame width and a frame interval. It is a figure showing the 2nd setting method of a frame width and a frame interval.
  • FIG. 11 is a diagram illustrating a third setting method of a frame width and a frame interval.
  • FIG. 3 is a block diagram illustrating a configuration example of a data generation unit 113.
  • FIG. 3 is a diagram illustrating an example of control of a memory 121 by a memory control unit 122.
  • FIG. 5 is a flowchart illustrating an example of processing of a data processing unit 22.
  • 9 is a flowchart illustrating an example of a data generation process performed by a data generation unit. It is a figure showing the 4th setting method of a frame width and a frame interval. It is a figure showing the 5th setting method of a frame width and a frame interval. It is a figure showing the 6th setting method of a frame width and a frame interval.
  • FIG. 21 is a block diagram illustrating a configuration example of an embodiment of a computer to which the present technology is applied. It is a block diagram showing an example of a schematic structure of a vehicle control system. It is explanatory drawing which shows an example of the installation position of a vehicle exterior information detection part and an imaging part.
  • FIG. 21 is a block diagram illustrating a configuration example of an embodiment of a computer to which the present technology is applied. It is a block diagram showing an example of a schematic structure of a vehicle control system. It is explanatory drawing which
  • FIG. 7 is a diagram illustrating a list of setting methods for setting a frame interval and a frame width.
  • FIG. 9 is a diagram illustrating an example of frame data generated when one frame width is set for an entire frame of frame data.
  • FIG. 9 is a diagram illustrating an example of a method of dividing a frame into divided regions.
  • FIG. 9 is a diagram illustrating an example of frame data generated when a frame width is set for each divided region.
  • 11 is a flowchart illustrating an example of a setting method when setting the number of event data as a frame width for each divided area.
  • FIG. 9 is a diagram illustrating an example of an evaluation value F.
  • FIG. 9 is a diagram illustrating another configuration example of the event detection unit 52.
  • FIG. 2 is a block diagram illustrating a configuration example of a scan-type imaging device.
  • FIG. 1 is a diagram illustrating a configuration example of an embodiment of a data processing chip to which the present technology is applied.
  • the data processing chip is a one-chip semiconductor chip, and is configured by stacking a sensor die (substrate) 11 as a plurality of dies (substrates) and a logic die 12. It should be noted that the data processing chip can be configured by one die, or can be configured by stacking three or more dies.
  • the sensor die 11 has an event generating unit 21 (a circuit), and the logic die 12 has a data processing unit 22. Note that a part of the event generation unit 21 can be configured in the logic die 12. Further, a part of the data processing unit 22 can be configured in the sensor die 11.
  • the event generation unit 21 has a pixel that generates an electric signal by performing photoelectric conversion of incident light, and generates event data indicating occurrence of an event that is a change in the electric signal of the pixel.
  • the event generator 21 supplies the event data to the data processor 22. That is, for example, the event generation unit 21 performs imaging in which a pixel performs photoelectric conversion of incident light to generate an electric signal in a pixel, similarly to a synchronous image sensor. Or image data in a frame format, and event data representing the occurrence of an event, which is a change in the electrical signal of the pixel.
  • the data processing unit 22 performs data processing according to the event data from the event generation unit 21, and outputs a data processing result that is a result of the data processing.
  • FIG. 2 is a flowchart illustrating the operation of the data processing chip of FIG.
  • step S1 when a change in the electrical signal of a pixel as an event occurs, the event generation unit 21 generates event data and supplies the event data to the data processing unit 22.
  • step S2 the data processing unit 22 performs data processing such as converting the event data into frame data, that is, generating frame data, according to the event data from the event generation unit 21, and outputs a data processing result. I do.
  • FIG. 3 is a block diagram showing a configuration example of the event generation unit 21 of FIG.
  • the event generation unit 21 includes a pixel array unit 31, a driving unit 32, an arbiter 33, and an output unit 34.
  • a plurality of pixels are arranged in a two-dimensional lattice.
  • the pixel array unit 31 is divided into a plurality of pixel blocks each including a predetermined number of pixels.
  • a set of pixels or pixel blocks arranged in the horizontal direction is referred to as “row”, and a set of pixels or pixel blocks arranged in the direction perpendicular to the row is referred to as “column”.
  • the pixel block detects a change in the photocurrent as an event when a change exceeding a predetermined threshold occurs in the photocurrent as an electric signal generated by photoelectric conversion of the pixel.
  • the pixel block outputs to the arbiter 33 a request to output event data indicating the occurrence of the event.
  • the drive unit 32 drives the pixel array unit 31 by supplying a control signal to the pixel array unit 31.
  • the arbiter 33 arbitrates a request from a pixel block constituting the pixel array unit 31 and returns a response indicating permission or non-permission of output of event data to the pixel block.
  • the pixel block that has received the response indicating permission to output the event data outputs the event data to the output unit 34.
  • the output unit 34 performs necessary processing on event data output from the pixel blocks constituting the pixel array unit 31 and supplies the event data to the data processing unit 22 (FIG. 1).
  • a change in photocurrent as an electric signal of a pixel can be regarded as a change in luminance of a pixel, and therefore, an event can also be referred to as a change in luminance of a pixel (a change in luminance exceeding a threshold).
  • the event data indicating the occurrence of the event includes at least position information (coordinates and the like) indicating the position of the pixel block where the luminance change as the event has occurred.
  • position information coordinates and the like
  • polarity positive or negative
  • the luminance change can be included in the event data.
  • the event data indicates that the event has occurred (relative) as long as the interval between the event data is maintained as it was when the event occurred. It can be said that time information implying the time is implicitly included. However, if the interval between event data is not maintained as it was when the event occurred due to, for example, storing the event data in the memory, the time information implicitly included in the event data is lost. Therefore, the output unit 34 includes, in the event data, time information indicating a (relative) time at which the event occurred, such as a time stamp, before the interval between the event data is not maintained as it was when the event occurred. . The process of including the time information in the event data can be performed by any block other than the output unit 34 before the time information implicitly included in the event data is lost.
  • FIG. 4 is a block diagram showing a configuration example of the pixel array unit 31 of FIG.
  • the pixel array section 31 has a plurality of pixel blocks 41.
  • the pixel block 41 includes a plurality of (I ⁇ J) pixels 51 arranged in I rows ⁇ J columns (I and J are integers), and an event detection unit 52.
  • the plurality of pixels 51 in the pixel block 41 share the event detection unit 52.
  • the pixel 51 receives incident light from a subject and performs photoelectric conversion to generate a photocurrent as an electric signal.
  • the pixel 51 supplies a photocurrent to the event detection unit 52 under the control of the driving unit 32.
  • the event detection unit 52 detects, as an event, a change in the photocurrent from each of the pixels 51 that exceeds a predetermined threshold. When detecting an event, the event detection unit 52 supplies a request for outputting event data indicating the occurrence of the event to the arbiter 33. When receiving a response from the arbiter 33 to the request that the output of the event data is permitted, the event detecting unit 52 outputs the event data to the output unit 34.
  • FIG. 5 is a circuit diagram showing a configuration example of the pixel 51 of FIG.
  • the pixel 51 includes the photoelectric conversion element 61 and the transfer transistor 62.
  • the photoelectric conversion element 61 is formed of, for example, a PD (Photodiode), receives incident light, and performs photoelectric conversion to generate electric charges.
  • PD Photodiode
  • the transfer transistor 62 is formed of, for example, an N (Negative) MOS (Metal-Oxide-Semiconductor) FET (Field Effect Transistor).
  • the transfer transistor 62 forming the n-th pixel 51 of the I ⁇ J pixels 51 forming the pixel block 41 is turned on / off according to the control signal TRGn supplied from the drive unit 32 (FIG. 3).
  • TRGn Field Effect Transistor
  • the I ⁇ J pixels 51 forming the pixel block 41 are connected via a node 60 to an event detection unit 52 forming the pixel block 41. Therefore, the photocurrent generated by (the photoelectric conversion element 61 of) the pixel 51 is supplied to the event detection unit 52 via the node 60. As a result, the sum of the photocurrents of all the pixels 51 in the pixel block 41 is supplied to the event detection unit 52.
  • the event detection unit 52 drives according to a row drive signal as a control signal from the drive unit 32 (FIG. 3), and detects a change in (sum of) the photocurrent supplied from the pixel 51 as an event.
  • the event detection unit 52 outputs event data indicating occurrence of the event.
  • the event detection unit 52 converts the voltage corresponding to the photocurrent supplied from the pixel 51 into a pixel signal corresponding to the incident light incident on the pixel 51, separately from the event data. Can be output.
  • the sum of the pixel signals of the plurality of pixels 51 can be output by simultaneously turning on the transfer transistors 62 of the plurality of pixels 51. Further, by sequentially turning on the transfer transistors 62 of the pixels 51 constituting the pixel block 41, a pixel signal for each pixel 51 can be output.
  • the event generation unit 21 includes an AD conversion unit that performs AD conversion on the pixel signal.
  • the pixel block 41 when the pixel block 41 is configured by a plurality of pixels 51 and the event detection unit 52 is shared by the plurality of pixels 51, one pixel 51 corresponds to one pixel 51.
  • the number of the event detection units 52 can be reduced as compared with the case where the event detection units 52 are provided. Therefore, the size of the pixel array unit 31 can be suppressed.
  • the pixel block 41 can be constituted by one pixel 51 instead of a plurality of pixels 51.
  • FIG. 6 is a block diagram showing a configuration example of the event detection unit 52 of FIG.
  • the event detection unit 52 includes a current-voltage conversion unit 71, a buffer 72, a subtraction unit 73, a quantization unit 74, and a transfer unit 75.
  • the current-to-voltage converter 71 converts (the sum of) the photocurrent from the pixel 51 into a voltage (hereinafter, also referred to as a photovoltage) corresponding to the logarithm of the photocurrent, and supplies the voltage to the buffer 72.
  • the buffer 72 buffers (corrects) the light voltage from the current-voltage converter 71 and supplies the light voltage to the subtractor 73.
  • the subtraction unit 73 calculates the difference between the current light voltage and the light voltage at a timing different from the current by a very short time at the timing according to the row drive signal as the control signal from the drive unit 32, and corresponds to the difference.
  • the supplied difference signal is supplied to the quantization unit 74.
  • the quantization unit 74 quantizes the difference signal from the subtraction unit 73 into a digital signal, and supplies the quantization value of the difference signal to the transfer unit 75.
  • the transfer unit 75 transfers (outputs) the event data to the output unit 34 according to the quantization value of the difference signal from the quantization unit 74. That is, the transfer unit 75 supplies a request to output the event data to the arbiter 33. When the transfer unit 75 receives from the arbiter 33 a response to the request that the output of the event data is permitted, the transfer unit 75 outputs the event data to the output unit 34.
  • FIG. 7 is a circuit diagram showing a configuration example of the current-voltage converter 71 of FIG.
  • the current-to-voltage converter 71 includes transistors 81 to 83.
  • the transistors 81 and 83 for example, an N-type MOS FET can be adopted, and as the transistor 82, for example, a P-type MOS FET can be adopted.
  • the source of the transistor 81 is connected to the gate of the transistor 83, and a photocurrent from the pixel 51 is supplied to a connection point between the source of the transistor 81 and the gate of the transistor 83.
  • the drain of the transistor 81 is connected to the power supply VDD, and the gate is connected to the drain of the transistor 83.
  • the source of the transistor 82 is connected to the power supply VDD, and the drain is connected to a connection point between the gate of the transistor 81 and the drain of the transistor 83.
  • a predetermined bias voltage V bias is applied to the gate of the transistor 82.
  • the transistor 82 supplies a constant current to the transistor 83.
  • the source of the transistor 83 is grounded.
  • the transistor 81 is connected to the power supply VDD side, and is a source follower.
  • the transistor 81 serving as a source follower and the transistor 83 having a gate connected to the source of the transistor 81 convert the photocurrent from the pixel 51 into a photovoltage corresponding to the logarithm of the photocurrent.
  • the optical voltage is supplied to the buffer 72 (FIG. 6) from the connection point between the gate of the transistor 81 and the drain of the transistor 83.
  • FIG. 8 is a circuit diagram showing a configuration example of the subtraction unit 73 and the quantization unit 74 in FIG.
  • the subtraction unit 73 includes a capacitor 91, an operational amplifier 92, a capacitor 93, and a switch 94.
  • the quantization unit 74 includes a comparator 101.
  • One end of the capacitor 91 is connected to the output terminal of the buffer 72 (FIG. 6), and the other end is connected to the input terminal of the operational amplifier 92.
  • the output terminal of the operational amplifier 92 is connected to the non-inverting input terminal (+) of the comparator 101.
  • One end of the capacitor 93 is connected to the input terminal of the operational amplifier 92, and the other end is connected to the output terminal of the operational amplifier 92.
  • the switch 94 is connected to the capacitor 93 so as to turn on / off the connection at both ends of the capacitor 93.
  • the switch 94 turns on / off according to a row drive signal as a control signal from the drive unit 32, thereby turning on / off the connection at both ends of the capacitor 93.
  • connection point between the capacitor 91 and the operational amplifier 92 is a virtual ground, and the potential of the virtual ground is set to zero for convenience.
  • Vout ⁇ (C1 / C2) ⁇ (Vafter-Vinit) ... (5)
  • the subtractor 73 subtracts the optical voltages Vafter and Vinit, that is, calculates a difference signal (Vout) corresponding to the difference Vafter ⁇ Vinit between the optical voltages Vafter and Vinit.
  • the subtraction gain of the subtraction unit 73 is C1 / C2. Normally, since it is desired to maximize the gain, it is preferable to design C1 to be large and C2 to be small. On the other hand, if C2 is too small, kTC noise increases, and noise characteristics may deteriorate. Therefore, the capacity reduction of C2 is limited to a range where noise can be tolerated. Further, since the event detection unit 52 including the subtraction unit 73 is mounted for each pixel block 41, the capacitances C1 and C2 are limited in area. The values of the capacitors C1 and C2 are determined in consideration of these.
  • the comparator 101 compares the difference signal from the subtraction unit 73 with a predetermined threshold voltage Vth applied to the inverting input terminal (-).
  • the comparator 101 outputs, for example, an H (High) level or an L (Low) level representing a comparison result between the difference signal and the threshold voltage Vth to the transfer unit 75 as a quantization value of the difference signal.
  • the transfer unit 75 determines that a luminance change as an event has occurred according to the quantization value of the difference signal from the quantization unit 74, that is, the difference signal (Vout) is greater than the threshold voltage Vth. Then, event data representing the occurrence of the event is output to the output unit 34.
  • the output unit 34 includes, in the event data from the transfer unit 75, position information of (the pixel block 41 having) the pixel 51 in which the event represented by the event data has occurred, and time information representing the time when the event has occurred. If necessary, the output includes the polarity of the luminance change as an event.
  • the data format of the event data including the position information of the pixel 51 where the event has occurred, the time information indicating the time at which the event has occurred, and the polarity of the luminance change as the event
  • AER Address @ Event @ Representation
  • the gain A of the entire event detection unit 52 is represented by the following equation, where the gain of the current-voltage conversion unit 71 is CG log and the gain of the buffer 72 is “1”.
  • A CG log C1 / C2 ( ⁇ i photo — n) ... (6)
  • i photo — n represents the photocurrent of the n-th pixel 51 of the I ⁇ J pixels 51 forming the pixel block 41.
  • ⁇ in equation (6) represents a summation where n is an integer from 1 to I ⁇ J.
  • the pixels 51 can receive any light as incident light by providing a filter that transmits predetermined light such as a color filter.
  • the event data indicates the occurrence of a change in pixel value in an image in which a visible subject is reflected.
  • the event data indicates a change in the distance to the subject.
  • the event data indicates occurrence of a change in the temperature of the subject. In this embodiment mode, the pixel 51 receives visible light as incident light.
  • FIG. 9 is a block diagram showing a configuration example of the data processing unit 22 of FIG.
  • the data processing unit 22 includes a frame interval setting unit 111, a frame width setting unit 112, a data generation unit 113, and an image processing unit 114.
  • the frame interval setting unit 111 sets a frame interval in accordance with, for example, a user operation and the like, and supplies the frame interval to the data generation unit 113.
  • the frame interval represents a frame interval of frame data generated according to the event data, and the frame interval can be specified and set by time or the number of event data.
  • the frame interval set by the frame interval setting unit 111 is also referred to as a set frame interval.
  • the frame width setting unit 112 sets a frame width according to, for example, a user operation or the like, and supplies the frame width to the data generation unit 113.
  • the frame width represents the time width of event data used to generate one frame of frame data, and the frame width can be specified and set by time or the number of event data as in the case of the frame interval.
  • the frame width set by the frame width setting unit 112 is also referred to as a set frame width.
  • the data generation unit 113 converts the event data into frame data by generating frame data that is image data in a frame format according to the event data output from the event generation unit 21 to the data processing unit 22. This is supplied to the processing unit 114.
  • the data generation unit 113 generates frame data according to the set frame interval from the frame interval setting unit 111 and the set frame width from the frame width setting unit 112.
  • the data generation unit 113 generates frame data for each set frame interval according to event data within the set frame width from the beginning of the set frame interval.
  • the image processing unit 114 performs image processing using the frame data supplied from the data generation unit 113, for example, performs recognition processing on the frame data, and converts the processing result of the image processing (image processing result) into data processing. Output as result.
  • any device that can handle frame data can be adopted.
  • a device that performs image recognition using a neural network, an image display device that includes a display and software as a viewer, and the like can be employed as the image processing unit 114.
  • the data processing unit 22 can be configured without the frame width setting unit 112.
  • the image processing unit 114 performs a recognition process on the frame data and obtains the reliability of the recognition result of the recognition process, as shown by a dotted line in FIG.
  • the reliability of the recognition result can be supplied (feedback) to the frame interval setting unit 111 and the frame width setting unit 112.
  • the frame interval setting unit 111 and the frame width setting unit 112 can set the frame interval and the frame width according to the reliability of the recognition result.
  • the frame interval setting unit 111 and the frame width setting unit 112 can set two default frame intervals and frame widths. Then, in the frame interval setting unit 111 and the frame width setting unit 112, the image processing unit 114 performs the recognition process on the frame data generated according to the two default frame intervals and frame widths. From the change in the reliability of the recognition result, a new frame interval and a new frame width for improving the reliability of the recognition result can be set according to a search algorithm such as a gradient method.
  • the frame interval setting unit 111 and the frame width setting unit 112 improve the reliability of the recognition result from the change in the reliability of the recognition result obtained for the new frame interval and the frame width. Setting the width can be repeated until the reliability of the recognition result becomes maximum (maximum).
  • the frame interval setting unit 111 and the frame width setting unit 112 can set the frame interval and the frame width according to the processing result (image processing result) of the image processing performed by the image processing unit 114. .
  • the data generation unit 113 generates the electric signal by performing the photoelectric conversion, which is generated in the first accumulation time from the start of the first frame generation to the end of the first frame generation.
  • the first accumulation time and the second accumulation time are frame widths.
  • the frame interval setting unit 111 functions as a frame period setting unit that sets the first frame period between the start of the first frame generation and the start of the second frame generation and supplies the first frame period to the frame data generation unit.
  • the first frame period is a frame interval.
  • the data generation unit 113 as the frame data generation unit further generates third frame data based on event data generated during a third accumulation time from the start of the third frame generation to the end of the third frame generation. can do.
  • the frame interval setting unit 111 as the frame period setting unit sets the first frame period to be different from the second frame period between the start of the second frame generation and the start of the third frame generation. can do.
  • the second frame period is a frame interval.
  • the frame width setting unit 112 functions as an accumulation time setting unit that sets the first accumulation time and the second accumulation time and supplies the data to the data generation unit 113 serving as the frame data generation unit.
  • the frame width setting unit 112 as the accumulation time setting unit can set the first accumulation time and the second accumulation time to be different.
  • the data generation unit 113 generates frame data based on event data that is generated during the accumulation time from the start of frame generation to the end of frame generation and is a change in the electric signal of a pixel that generates an electric signal by performing photoelectric conversion. It can be said that it functions as a frame data generating unit to generate.
  • the accumulation time is a frame width.
  • the frame interval setting unit 111 is a frame period that is an interval between the start of frame data generation of the first frame data and the start of frame data generation of the second frame data generated continuously with the first frame data. And supplies it to the frame data generation unit as a frame period setting unit.
  • the frame period is a frame interval.
  • the frame interval setting unit 111 as the frame period setting unit can set the frame period by time.
  • the frame width setting unit 112 as the accumulation time setting unit sets the accumulation time by time, or sets the accumulation time according to the number of the event data. Can be set. Further, it is possible to switch between setting the accumulation time by time and setting according to the number of the event data.
  • the frame interval setting unit 111 as the frame period setting unit can set the frame period according to the number of the event data.
  • the frame width setting unit 112 as the accumulation time setting unit sets the accumulation time by time, or sets the accumulation time to the event time. It can be set according to the number of data. Further, it is possible to switch between setting the accumulation time by time and setting according to the number of the event data.
  • the data generation unit 113 detects a change in the electric signal of a pixel that performs photoelectric conversion and generates an electric signal during a first accumulation time from the start of the first frame generation to the end of the first frame generation.
  • First frame data based on certain event data, and second frame data based on the event data generated during a second accumulation time from the start of the second frame generation to the end of the second frame generation It can be said that it functions as a frame data generation unit that generates the first accumulation time and the second accumulation time so as to overlap.
  • the overlapping of the first accumulation time and the second accumulation time means that an overlapping area described later occurs.
  • the number of generated frame data per unit time (in the data generation unit 113) is determined according to the number of the event data per unit time (for example, one second). (The number of frames of the generated frame data) changes. The larger the number of the event data per unit time, the larger the number of the frame data generated per unit time.
  • the data generation unit 113 can function as a frame data generation unit that generates frame data based on the event data generated during the accumulation time from the start of frame generation to the end of frame generation.
  • the frame interval setting unit 111 is a frame which is an interval between the start of frame data generation of the first frame data and the start of frame data generation of the second frame data generated continuously with the first frame data. It can be said that it functions as a frame period setting unit that sets a period and supplies it to the frame data generation unit.
  • the frame width setting unit 112 as the accumulation time setting unit can set the accumulation time in units of divided regions obtained by dividing the frame of the frame data into a plurality of regions.
  • the accumulation time setting unit can set the accumulation time according to an evaluation value indicating the appropriateness of the accumulation time.
  • the accumulation time setting unit may set the accumulation time according to the evaluation value obtained by using the frame data generated according to the event data within the accumulation time. it can.
  • FIG. 10 is a diagram illustrating an outline of event data output by the event generation unit 21 of FIG.
  • the event generation unit 21 (the output unit 34 of the event generation unit 21) outputs time information (hereinafter, also referred to as event time) t i indicating the time at which the event occurred, Event data including coordinates (x i , y i ) as position information (hereinafter, also referred to as an event position) and a polarity p i of luminance change as an event is output.
  • time information hereinafter, also referred to as event time
  • Event data including coordinates (x i , y i ) as position information (hereinafter, also referred to as an event position) and a polarity p i of luminance change as an event is output.
  • the event data is output every time an event occurs, unlike frame format image data (frame data) output in a frame cycle in synchronization with the vertical synchronization signal. Therefore, the event data cannot be used as it is for displaying an image on a display such as a projector that displays an image corresponding to the frame data, or inputting it to a classifier (classifier) for use in image processing.
  • the event data needs to be converted to frame data.
  • FIG. 11 is a diagram illustrating an outline of a method of generating frame data according to event data.
  • a point serving as event data is represented by a time t of an event included in the event data and a position (as a position) of the event. Coordinates (x, ⁇ y).
  • the time (t) of the event included in the event data and the position (x, y, t) in the three-dimensional space represented by the position (x, y) of the event are referred to as the spatiotemporal position of the event.
  • the event data is plotted as a point at the spatiotemporal position (x, y, t) of the event.
  • the data generation unit 113 generates a predetermined time, such as a time at which generation of frame data is instructed by a user operation or the like, or a time at which the power of the data processing chip is turned on, for example, to generate frame data. As the start time, generation of frame data according to the event data is started.
  • a rectangular solid having a set frame width in the direction of the time axis t at each set frame interval from the generation start time is referred to as a frame volume.
  • the size of the frame volume in the x-axis direction and the y-axis direction is, for example, equal to the number of pixel blocks 41 or pixels 51 in the x-axis direction and the y-axis direction.
  • the data generation unit 113 generates one frame of frame data for each set frame interval according to the event data in the frame volume having the set frame width from the beginning of the set frame interval.
  • the frame data is generated by, for example, setting a pixel (pixel value) of a frame at an event position (x, y) included in event data to white and setting a pixel at another position of the frame to a predetermined color such as gray. It is done by doing.
  • the generation of the frame data can be performed in consideration of the polarity included in the event data. For example, if the polarity is positive, the pixel can be set to white, and if the polarity is negative, the pixel can be set to black. Further, as described with reference to FIG. 5, when the event detection unit 52 outputs the event data and outputs the pixel signal of the pixel 51, the event detection unit 52 uses the pixel signal of the pixel 51 in accordance with the event data to generate a frame. Data can be generated.
  • the pixel of the frame at the position (x, y) of the event included in the event data is set to the pixel signal of the pixel 51 at the position (x, y), and the pixels at the other positions of the frame are set to gray or the like.
  • the color By setting the color to a predetermined color, frame data can be generated.
  • the frame volume there may be a plurality of event data having the same event position (x, y) but different event times t.
  • the event data with the newest or oldest event time t can be prioritized.
  • the event data includes a polarity
  • the polarities of a plurality of event data having the same event position (x, y) are added, although the time t of the event is different, and according to the added value obtained by the addition. Can be set to the pixel at the event location (x, ⁇ ⁇ ⁇ ⁇ y).
  • the frame volumes are in contact with no gap.
  • the frame volumes are arranged with a gap.
  • the frame volumes are arranged in a partially overlapping manner.
  • FIG. 12 is a diagram showing a first setting method of the frame width and the frame interval.
  • event data is plotted with the horizontal axis representing the time t of the event and the vertical axis representing the position (x, ⁇ y) of the event.
  • the frame width and the frame interval are set to the same time and set to a relatively short time by designating the time.
  • the frame interval is short, it is possible to obtain frame data with a high frame rate. If the frame rate of the frame data is higher than the frame rate of the reproduction (for example, 30 fps (Frame / Per / Second)), the reproduction of the image corresponding to the frame data is slow reproduction.
  • the frame width is the same as the short-time frame interval
  • the frame volume is thinned, so that the number of event data included in the frame volume is easily reduced.
  • An image corresponding to frame data generated in response to such a small number of event data is likely to be an image in which a subject does not clearly appear (is difficult to see), and image recognition is performed on such an image. In some cases, sufficient recognition performance may not be obtained.
  • FIG. 13 is a diagram showing a second setting method of the frame width and the frame interval.
  • the event data is plotted with the horizontal axis representing the time t of the event and the vertical axis representing the position (x, ⁇ y) of the event.
  • the frame width and the frame interval are set to the same time by designating the time. However, in the second setting method, the frame width and the frame interval are set longer than in the first setting method.
  • the frame interval is longer than in the first setting method, so that the frame rate of the frame data generated from the event data is smaller than in the first setting method. If the frame rate of the frame data is smaller than the frame rate of the reproduction, the reproduction of the image corresponding to the frame data is fast-forward reproduction.
  • the frame volume is so thick that the number of event data included in the frame volume can be easily secured to some extent. Then, an image corresponding to frame data generated according to such a large number of event data is an image in which a subject clearly appears.
  • the image corresponding to the frame data tends to be an image in which the motion blur is conspicuous and it is difficult to recognize the fine movement of the subject. Furthermore, in the second setting method, since the frame interval is long and the frame rate of the frame data is reduced, the movement of the subject in the image corresponding to the frame data may be in a so-called jerky state, In the image recognition for an image corresponding to, the recognition performance of a moving object (moving subject) may not be sufficiently obtained.
  • FIG. 14 is a diagram showing a third setting method of the frame width and the frame interval.
  • the event data is plotted with the horizontal axis being the time t of the event and the vertical axis being the position (x, ⁇ y) of the event.
  • rectangles as frame volumes include a thick line rectangle and a thin line rectangle, which are also intended to prevent the figure from being difficult to see, and are represented by thick line rectangles. There is no difference between the volume and the frame volume represented by the thin line rectangle.
  • the frame width and the frame interval are set to individual times by designating the time.
  • FIG. 14A shows an example of setting of the frame interval and the frame width when the frame width is set to a time longer than the frame interval.
  • FIG. 14B illustrates an example of setting the frame interval and the frame width when the frame width is set to a time shorter than the frame interval.
  • the frame interval is set to a short time as in the first setting method, and the frame width is set to a long time as in the second setting method.
  • the frame width is long as in the case of the second setting method, a relatively large number of event data included in the frame volume can be easily secured.
  • the image corresponding to the frame data generated in response to such a large number of event data is an image in which the subject clearly appears and the visibility is high.
  • appropriate frame data can be obtained by independently setting the frame width and the frame interval at different times. That is, for example, it is possible to obtain frame data having high visibility and an image with smooth motion. Therefore, when performing image recognition on an image corresponding to such frame data, sufficient recognition performance can be obtained.
  • the frame volume of one frame (used for generating frame data) and the frame volume of the next frame are partially Have overlapping overlapping regions.
  • the data generation unit 113 (FIG. 9) generates frame data for two adjacent frames according to the event data in the overlapping area of the frame volume of the two frames. Therefore, it can be said that, for two adjacent frames, frame data sharing the same event data in the overlapping area is generated.
  • the frame interval is set to be longer than the frame width (the frame width is set to be shorter than the frame interval).
  • Setting the frame interval longer than the frame width is effective, for example, when the frequency of occurrence of events is low. That is, by setting the frame interval to be longer than the frame width, it is possible to suppress generation of frame data in which a frame in which a similar scene appears is continued for a long time.
  • FIG. 15 is a block diagram showing a configuration example of the data generation unit 113 in FIG.
  • the data generation unit 113 has a memory 121, a memory control unit 122, a frame data generation unit 123, and an acquisition unit 124.
  • the event data from the event generation unit 21 is supplied to the memory 121.
  • the memory 121 stores the event data from the event generator 21.
  • the memory 121 sequentially stores the event data in the storage area. After storing the event data in all of the storage areas, the memory 121 overwrites the oldest event data with the latest event data.
  • the memory control unit 122 controls reading of event data from the memory 121 and the like.
  • the memory control unit 122 reads the event data in the frame volume from the memory 121 by controlling the memory 121 according to, for example, the set frame interval and the set frame width supplied from the acquisition unit 124, and generates the frame data.
  • the frame data generation unit 123 generates one frame of frame data according to the event data in the frame volume supplied from the memory control unit 122, and supplies the frame data to the image processing unit 114 (FIG. 9).
  • the acquisition unit 124 acquires the set frame interval from the frame interval setting unit 111 and acquires the set frame width from the frame width setting unit 112. Then, the acquisition unit 124 supplies the set frame interval and the set frame width to the memory control unit 122.
  • FIG. 16 is a diagram illustrating an example of control of the memory 121 by the memory control unit 122.
  • the memory 121 stores the event data from the event generation unit 21 sequentially (in chronological order).
  • Memory controller 122 for example, from time t 0 of the originally stored the event data event memory 121, within the time of the set frame width, the event data includes time t event, the first frame of the It is read from the memory 121 as event data in the frame volume.
  • the memory control unit 122 from the event time t 0 of the event data as event data in the first frame of the frame volume, until an event data in the event of the time t 8, after reading from memory 121, storage memory 121 Event data storage area including the time t of the event within the time from the time at the beginning of the frame volume of the first frame (at the beginning of the set frame interval) to immediately before the time after the set frame interval in the area To release.
  • the memory 121 from the event data at time t 0 of the event, the storage area up to the event data at time t 5 of the event is released.
  • the storage area released in the memory 121 can store new event data.
  • the event data at time t 0 of the event in a storage area until the event data at time t 3 has been stored events from the event data at time t 10 in the event, the event data in the event of the time t 13 Are stored in an overwritten form.
  • the memory control unit 122 sets the time after the set frame interval from the head time of the frame volume from which the event data was read immediately before from the memory 121 as the head of the second frame volume, and The event data including the time t of the event within the time as the set frame width is read from the memory 121 as the event data in the frame volume of the second frame.
  • FIG. 17 is a flowchart illustrating an example of processing of the data processing unit 22 in FIG.
  • step S11 the frame interval setting unit 111 sets the frame interval and supplies it to the data generation unit 113, and the frame width setting unit 112 sets the frame width and supplies it to the data generation unit 113.
  • the process proceeds to step S12.
  • step S12 the data generator 113 sets the frame interval (set frame interval) from the frame interval setter 111, the frame width (set frame width) from the frame width setter 112, and the event generator 21 (see FIG. According to the event data from 1), data generation processing for generating frame data is performed, and the processing proceeds to step S13.
  • step S13 the image processing unit 114 performs image processing using the frame data obtained in the data generation processing performed in step S12.
  • FIG. 18 is a flowchart illustrating an example of a data generation process performed by the data generation unit 113 in step S12 of FIG.
  • step S21 the memory 121 sequentially stores the event data from the event generation unit 21.
  • step S31 the data generation unit 113 obtains the setting frame interval St set by the frame interval setting unit 111 and the setting frame width It set by the frame width setting unit 112 in step S31.
  • the information is supplied to the memory control unit 122, and the process proceeds to Step S32.
  • step S32 the memory control unit 122 sets the start time (variable) T of the frame volume (frame interval) to 0, and the process proceeds to step S33.
  • step S33 the memory control unit 122 releases the storage area (memory area) of the memory 121 in which the event data whose event time t satisfies the expression t ⁇ T is stored, and the process proceeds to step S34.
  • the event data in step S21 can be stored.
  • the frame data generation unit 123 generates frame data according to the event data in the frame volume from the memory control unit 122 and supplies the frame data to the image processing unit 114, and the process proceeds from step S34 to step S35.
  • step S35 the memory control unit 122 updates the time T to T + St. Then, the process returns from step S35 to step S33, and thereafter, the same process is repeated.
  • FIG. 19 is a diagram showing a fourth setting method of the frame width and the frame interval.
  • the event data is plotted with the horizontal axis being the time t of the event and the vertical axis being the position (x, ⁇ y) of the event.
  • the frame interval is set by specifying time
  • the frame width is set by specifying the number of event data.
  • the frame interval is specified by time
  • the frame interval is a fixed time
  • the frame rate of the frame data is a fixed frame rate
  • the frame width is an indefinite time according to the frequency of occurrence of the event. That is, when the frame width is specified by the number of event data, the width of the frame volume in the time axis t direction when the number of event data in the frame volume reaches the specified number is treated as the set frame width.
  • the system waits until the number of event data in the frame volume reaches the specified number, and generates one frame of frame data according to the specified number of event data.
  • the image corresponding to the frame data has a slightly moving background.
  • imaging is performed with a short exposure time while the moving object is moving in the screen, and imaging is performed with a long exposure time while the moving object is not present in the screen.
  • AE Automatic Exposure
  • the frame width is set by specifying time, as in the third setting method. Whether the setting is performed by designating the number of event data as in the fourth setting method can be adaptively switched.
  • whether the frame width is set by specifying time or by specifying the number of event data can be switched according to, for example, a user operation.
  • whether the frame width is set by designating by time or by designating by the number of event data depends on, for example, the occurrence frequency of an event within a predetermined time, that is, the number of event data. Can be switched accordingly.
  • the frame width when the frame width is set by designating the number of event data, the frame data is not generated until the number of event data reaches the designated number. Therefore, if the event occurrence frequency is extremely low, frame data may not be generated for a long time. Therefore, when the frequency of occurrence of an event within a predetermined period of time is lower than a preset threshold value, the setting of the frame width can be switched to a time-based setting. On the other hand, when the frequency of occurrence of an event within a predetermined period of time is equal to or greater than a preset threshold value, the setting of the frame width can be switched to being performed by specifying the number of event data.
  • FIG. 20 is a diagram showing a fifth setting method of the frame width and the frame interval.
  • the event data is plotted with the horizontal axis being the time t of the event and the vertical axis being the position (x, ⁇ y) of the event.
  • the frame width is set by specifying time
  • the frame interval is set by specifying the number of event data.
  • the frame width is specified by time, so that the frame width is constant.
  • the frame interval is an indefinite time according to the frequency of occurrence of the event. That is, when the frame interval is specified by the number of event data, the number of event data from the head of the frame volume to the head of the next frame volume becomes equal to the specified number. The time up to the beginning of the frame volume is treated as the set frame interval.
  • the timing at which the number of event data from the head of the immediately preceding frame volume becomes the designated number is set as the head of the latest frame volume, according to the event data in the latest frame volume. , One frame data is generated.
  • the frame rate of the frame data is high while the moving object is moving in the screen, and the frame rate of the frame data is low while the moving object is not present in the screen.
  • a function of adaptively adjusting the frame rate of frame data in accordance with the frequency of occurrence of an event can be realized.
  • the frame rate of the frame data when a moving object is present in the screen, the frame rate of the frame data is increased, so that the state as if continuous shooting is being performed. become.
  • FIG. 21 is a diagram showing a sixth setting method of the frame width and the frame interval.
  • the event data is plotted with the horizontal axis being the time t of the event and the vertical axis being the position (x, ⁇ y) of the event.
  • the frame interval and the frame width are both set by designating the number of event data.
  • the frame interval and the frame width are specified by the number of event data, the frame interval and the frame width are set in the same manner as in the fifth setting method and the fourth setting method.
  • the time is indefinite according to the frequency. That is, if the frequency of occurrence of the event is high, the time as the frame interval and the frame width is short, and if the frequency of occurrence of the event is low, the time as the frame interval and the frame width is long.
  • the sixth setting method similarly to the fifth setting method, while the moving object is moving on the screen, the frame rate of the frame data is high, and while the moving object is not present on the screen, thus, a function of adaptively adjusting the frame rate of frame data according to the frequency of occurrence of an event, such as a reduction in the frame rate of frame data, can be realized.
  • the imaging is performed with a short exposure time, and while the moving object is not present in the screen, the imaging is performed for a long time.
  • An AE function in which the exposure time is adaptively adjusted according to the frequency of occurrence of an event, such as performing imaging with the exposure time, can be realized.
  • the frame width is specified by time as in the fifth setting method.
  • the setting by specifying the number of event data as in the sixth setting method can be switched adaptively.
  • whether the frame width is set by specifying time or by specifying the number of event data is determined by, for example, a user operation or an event within a predetermined time as described with reference to FIG. Can be switched in accordance with the frequency of occurrence of the event.
  • the frame interval is set by specifying time, as in the third setting method and the fourth setting method, or the number of event data is set as in the fifth setting method and the sixth setting method. Can be adaptively switched.
  • whether the frame interval is set by specifying time or by specifying the number of event data can be switched according to, for example, a user operation.
  • Whether the frame interval is set by specifying time or by specifying the number of event data is switched in accordance with, for example, the frame rate of the frame data or the power consumption of the data processing unit 22. Can be.
  • the frame rate of the frame data changes, so that the power consumption of the data processing unit 22 (FIG. 1) and the storage required for storing the frame data are performed.
  • the capacity and the load of image processing performed on the frame data by the image processing unit 114 (FIG. 9) change.
  • the power consumption of the data processing unit 22 is measured, and when the power consumption exceeds the threshold value, the setting of the frame interval can be switched to the designation by time.
  • the setting of the frame interval can be switched to the designation by the number of event data. Thereby, an increase in power consumption of the data processing unit 22 can be suppressed.
  • whether the frame interval is set by specifying time or by specifying the number of event data is determined by the storage capacity required for storing the frame data or the image processing unit 114 targeting the frame data. Switching can be performed according to the load of image processing to be performed.
  • a series of processes of the data processing unit 22 can be performed by hardware or can be performed by software.
  • a program constituting the software is installed in a computer such as a microcomputer.
  • FIG. 22 is a block diagram showing a configuration example of an embodiment of a computer in which a program for executing the above-described series of processes is installed.
  • the program can be recorded in advance in a ROM 903 as a recording medium built in the computer.
  • the program can be stored (recorded) in a removable recording medium.
  • a removable recording medium can be provided as so-called package software.
  • examples of the removable recording medium include a flexible disk, CD-ROM (Compact Disc Only Memory), MO (Magneto Optical) disc, DVD (Digital Versatile Disc), magnetic disc, and semiconductor memory.
  • the program can be installed on a computer from a removable recording medium as described above, or can be downloaded and installed on the computer via a communication network or a broadcast network.
  • the computer has a built-in CPU (Central Processing Unit) 902, and a ROM 903 and a RAM 904 are connected to the CPU 902 via a bus 901.
  • CPU Central Processing Unit
  • ROM 903 and a RAM 904 are connected to the CPU 902 via a bus 901.
  • the CPU 902 executes a program stored in a ROM (Read Only Memory) 903.
  • ROM Read Only Memory
  • the CPU 902 performs processing according to the above-described flowchart or processing performed by the configuration of the above-described block diagram.
  • the processing performed by the computer according to the program does not necessarily need to be performed in chronological order in the order described in the flowchart. That is, the processing performed by the computer in accordance with the program includes processing executed in parallel or individually (for example, parallel processing or processing by an object).
  • the program may be processed by a single computer (processor) or may be processed in a distributed manner by a plurality of computers. Further, the program may be transferred to a remote computer and executed.
  • the technology (the present technology) according to the present disclosure can be applied to various products.
  • the technology according to the present disclosure is realized as a device mounted on any type of moving object such as an automobile, an electric vehicle, a hybrid electric vehicle, a motorcycle, a bicycle, a personal mobility, an airplane, a drone, a ship, and a robot. You may.
  • FIG. 23 is a block diagram illustrating a schematic configuration example of a vehicle control system that is an example of a moving object control system to which the technology according to the present disclosure can be applied.
  • Vehicle control system 12000 includes a plurality of electronic control units connected via communication network 12001.
  • the vehicle control system 12000 includes a drive system control unit 12010, a body system control unit 12020, an outside information detection unit 12030, an inside information detection unit 12040, and an integrated control unit 12050.
  • a microcomputer 12051, an audio / video output unit 12052, and a vehicle-mounted network I / F (interface) 12053 are illustrated.
  • the drive system control unit 12010 controls the operation of the device related to the drive system of the vehicle according to various programs.
  • the driving system control unit 12010 includes a driving force generating device for generating driving force of the vehicle such as an internal combustion engine or a driving motor, a driving force transmission mechanism for transmitting driving force to wheels, and a steering angle of the vehicle. It functions as a control mechanism such as a steering mechanism for adjusting and a braking device for generating a braking force of the vehicle.
  • the body control unit 12020 controls the operation of various devices mounted on the vehicle body according to various programs.
  • the body control unit 12020 functions as a keyless entry system, a smart key system, a power window device, or a control device for various lamps such as a head lamp, a back lamp, a brake lamp, a blinker, and a fog lamp.
  • a radio wave or various switch signals transmitted from a portable device replacing the key may be input to the body control unit 12020.
  • the body control unit 12020 receives the input of these radio waves or signals and controls a door lock device, a power window device, a lamp, and the like of the vehicle.
  • Out-of-vehicle information detection unit 12030 detects information external to the vehicle on which vehicle control system 12000 is mounted.
  • an imaging unit 12031 is connected to the outside-of-vehicle information detection unit 12030.
  • the out-of-vehicle information detection unit 12030 causes the imaging unit 12031 to capture an image outside the vehicle, and receives the captured image.
  • the out-of-vehicle information detection unit 12030 may perform an object detection process or a distance detection process of a person, a vehicle, an obstacle, a sign, a character on a road surface, or the like based on the received image.
  • the imaging unit 12031 is an optical sensor that receives light and outputs an electric signal according to the amount of received light.
  • the imaging unit 12031 can output an electric signal as an image or can output the information as distance measurement information.
  • the light received by the imaging unit 12031 may be visible light or non-visible light such as infrared light.
  • the in-vehicle information detection unit 12040 detects information in the vehicle.
  • the in-vehicle information detection unit 12040 is connected to, for example, a driver status detection unit 12041 that detects the status of the driver.
  • the driver state detection unit 12041 includes, for example, a camera that captures an image of the driver, and the in-vehicle information detection unit 12040 determines the degree of driver fatigue or concentration based on the detection information input from the driver state detection unit 12041. The calculation may be performed, or it may be determined whether the driver has fallen asleep.
  • the microcomputer 12051 calculates a control target value of the driving force generation device, the steering mechanism or the braking device based on the information on the inside and outside of the vehicle acquired by the outside information detection unit 12030 or the inside information detection unit 12040, and the drive system control unit A control command can be output to 12010.
  • the microcomputer 12051 implements the functions of ADAS (Advanced Driver Assistance System) including vehicle collision avoidance or impact mitigation, following running based on the following distance, vehicle speed maintaining running, vehicle collision warning, vehicle lane departure warning, and the like. Cooperative control for the purpose.
  • ADAS Advanced Driver Assistance System
  • the microcomputer 12051 controls the driving force generation device, the steering mechanism, the braking device, and the like based on the information about the surroundings of the vehicle obtained by the outside information detection unit 12030 or the inside information detection unit 12040, so that the driver 120 It is possible to perform cooperative control for automatic driving or the like in which the vehicle travels autonomously without depending on the operation.
  • the microcomputer 12051 can output a control command to the body system control unit 12020 based on information on the outside of the vehicle acquired by the outside information detection unit 12030.
  • the microcomputer 12051 controls the headlamp in accordance with the position of the preceding vehicle or the oncoming vehicle detected by the outside-of-vehicle information detection unit 12030, and performs cooperative control for the purpose of preventing glare such as switching a high beam to a low beam. It can be carried out.
  • the sound image output unit 12052 transmits at least one of a sound signal and an image signal to an output device capable of visually or audibly notifying a passenger of the vehicle or the outside of the vehicle of information.
  • an audio speaker 12061, a display unit 12062, and an instrument panel 12063 are illustrated as output devices.
  • the display unit 12062 may include, for example, at least one of an on-board display and a head-up display.
  • FIG. 24 is a diagram illustrating an example of an installation position of the imaging unit 12031.
  • the vehicle 12100 has imaging units 12101, 12102, 12103, 12104, and 12105 as the imaging unit 12031.
  • the imaging units 12101, 12102, 12103, 12104, and 12105 are provided, for example, at positions such as a front nose, a side mirror, a rear bumper, a back door of the vehicle 12100, and an upper portion of a windshield in the vehicle interior.
  • the imaging unit 12101 provided on the front nose and the imaging unit 12105 provided above the windshield in the passenger compartment mainly acquire an image in front of the vehicle 12100.
  • the imaging units 12102 and 12103 provided in the side mirror mainly acquire images of the side of the vehicle 12100.
  • the imaging unit 12104 provided in the rear bumper or the back door mainly acquires an image behind the vehicle 12100.
  • the forward images acquired by the imaging units 12101 and 12105 are mainly used for detecting a preceding vehicle, a pedestrian, an obstacle, a traffic light, a traffic sign, a lane, and the like.
  • FIG. 24 shows an example of the imaging range of the imaging units 12101 to 12104.
  • the imaging range 12111 indicates the imaging range of the imaging unit 12101 provided on the front nose
  • the imaging ranges 12112 and 12113 indicate the imaging ranges of the imaging units 12102 and 12103 provided on the side mirrors, respectively
  • the imaging range 12114 indicates 13 shows an imaging range of an imaging unit 12104 provided in a rear bumper or a back door.
  • a bird's-eye view image of the vehicle 12100 viewed from above is obtained by superimposing image data captured by the imaging units 12101 to 12104.
  • At least one of the imaging units 12101 to 12104 may have a function of acquiring distance information.
  • at least one of the imaging units 12101 to 12104 may be a stereo camera including a plurality of imaging elements or an imaging element having pixels for detecting a phase difference.
  • the microcomputer 12051 calculates a distance to each three-dimensional object in the imaging ranges 12111 to 12114 and a temporal change of the distance (relative speed with respect to the vehicle 12100). , It is possible to extract, as a preceding vehicle, a three-dimensional object that travels at a predetermined speed (for example, 0 km / h or more) in a direction substantially the same as that of the vehicle 12100, which is the closest three-dimensional object on the traveling path of the vehicle 12100. it can.
  • a predetermined speed for example, 0 km / h or more
  • microcomputer 12051 can set an inter-vehicle distance to be secured before the preceding vehicle and perform automatic brake control (including follow-up stop control), automatic acceleration control (including follow-up start control), and the like. In this way, it is possible to perform cooperative control for automatic driving or the like in which the vehicle travels autonomously without depending on the operation of the driver.
  • the microcomputer 12051 converts the three-dimensional object data relating to the three-dimensional object into other three-dimensional objects such as a motorcycle, a normal vehicle, a large vehicle, a pedestrian, a telephone pole, and the like based on the distance information obtained from the imaging units 12101 to 12104. It can be classified and extracted and used for automatic avoidance of obstacles. For example, the microcomputer 12051 distinguishes obstacles around the vehicle 12100 into obstacles that are visible to the driver of the vehicle 12100 and obstacles that are difficult to see. Then, the microcomputer 12051 determines a collision risk indicating a risk of collision with each obstacle, and when the collision risk is equal to or more than the set value and there is a possibility of collision, via the audio speaker 12061 or the display unit 12062. By outputting an alarm to the driver through forced driving and avoidance steering via the drive system control unit 12010, driving assistance for collision avoidance can be performed.
  • driving assistance for collision avoidance can be performed.
  • At least one of the imaging units 12101 to 12104 may be an infrared camera that detects infrared light.
  • the microcomputer 12051 can recognize a pedestrian by determining whether or not a pedestrian exists in the captured images of the imaging units 12101 to 12104. The recognition of such a pedestrian is performed by, for example, extracting a feature point in an image captured by the imaging units 12101 to 12104 as an infrared camera, and performing a pattern matching process on a series of feature points indicating the outline of the object to determine whether the object is a pedestrian.
  • the audio image output unit 12052 outputs a rectangular contour for emphasis to the recognized pedestrian.
  • the display unit 12062 is controlled so that is superimposed. Further, the sound image output unit 12052 may control the display unit 12062 so as to display an icon or the like indicating a pedestrian at a desired position.
  • the technology according to the present disclosure can be applied to, for example, the imaging unit 12031 in the configuration described above.
  • the data processing chip in FIG. 1 can be applied to the imaging unit 12031.
  • FIG. 25 is a diagram showing a list of setting methods for setting the frame interval and the frame width.
  • the frame interval and the frame width are each set in time (by designation by time).
  • the frame interval is set by time, and the frame width is set by the number of event data (by specifying the number of event data).
  • the frame interval is set by the number of event data, and the frame width is set by time.
  • the frame interval and the frame width are each set by the number of event data.
  • FIG. 26 is a diagram illustrating an example of frame data generated when one frame width is set for the entire frame of the frame data.
  • a subject having a high event rate for example, a subject moving at a high speed
  • a subject having a low event rate for example, a subject that is extremely slow or almost stationary
  • the frame volume includes a large amount of event data of the subject having a high event rate.
  • the event data of the subject having the low event rate is not included much.
  • the contour of the subject may appear blurred in an image corresponding to the frame data.
  • the contour of the subject may not appear clearly in an image corresponding to the frame data, and the visibility of the subject may be reduced. Further, when image recognition is performed on such an image, sufficient recognition performance may not be obtained.
  • the frame width can be set in units of divided regions obtained by dividing the frame of the frame data into a plurality of regions.
  • FIG. 27 is a diagram showing an example of how to divide a frame into divided areas.
  • the frame can be divided into four divided regions so as to be equally divided in the horizontal direction, for example. Further, the frame can be divided into 4 ⁇ 4 divided regions in the horizontal and vertical directions so as to be equally divided in the horizontal direction and the vertical direction. The frame can be divided into divided regions in other ways. Further, the frame can be divided into a plurality of divided areas having different sizes.
  • the frame width can be set for each divided area.
  • FIG. 28 is a diagram illustrating an example of frame data generated when a frame width is set for each divided region.
  • a time shorter than a predetermined time is set as a frame width in a divided region in which a subject having a high event rate is reflected.
  • a time longer than a predetermined time is set as a frame width, for example.
  • the event data is included in the frame volume in a number that is not so different between the subject having a high event rate and the subject having a low event rate.
  • the contour of the subject clearly appears for both the subject having a high event rate and the subject having a low event rate.
  • the visibility of the subject shown in the image corresponding to the frame data can be improved. Furthermore, when image recognition is performed on an image corresponding to frame data, sufficient recognition performance can be obtained.
  • the frame width is set by the number of event data, for example, the same and appropriate event may be applied to both a divided area in which a subject with a high event rate appears and a divided area in which a subject with a low event rate appears.
  • the number of data that is, for example, the number of event data in which the outline of the subject clearly appears can be set as the frame width.
  • the time as the frame width becomes shorter than the time as the frame width for a divided region in which a subject with a low event rate appears, and a subject with a low event rate appears.
  • the time as the frame width is longer than the time as the frame width for the divided area in which a subject with a high event rate is reflected.
  • FIG. 29 is a flowchart showing an example of a setting method when the number of event data as a frame width is set for each divided area.
  • FIG. 29 is a flowchart illustrating a method of setting the frame width of the attention area.
  • the frame width of the attention area can be set according to the evaluation value F indicating the appropriateness of the frame width.
  • the evaluation value F can be obtained according to (the image corresponding to) the attention area frame data generated according to the event data in the frame volume having the frame width of the attention area.
  • step S101 the frame width setting unit 112 (FIG. 9) sets the variables p, q, and r to 0 as initial values, and the process proceeds to step S102.
  • P is a variable representing a candidate for the number of event data as a frame width
  • q is a variable representing the number of event data as a frame width
  • r represents the evaluation value F indicating the appropriateness of the frame width indicated by the variable p, that is, the appropriateness of setting the candidate (variable indicating) p of the number of event data to be the frame width (the number of event data). This is a variable representing the threshold value of the evaluation value F.
  • step S102 the frame width setting unit 112 determines whether or not the variable p is larger than a threshold p_max which is a predetermined maximum value of the number of event data as a frame width. If it is determined in step S102 that the variable p is not larger than the threshold value p_max, the process proceeds to step S103.
  • a threshold p_max which is a predetermined maximum value of the number of event data as a frame width.
  • step S103 the frame width setting unit 112 sets a variable p, that is, a candidate p of the number of event data items as the frame width, to the temporary frame width p, and sets the event data in the frame volume of the temporary frame width p.
  • the evaluation value F is obtained using the frame data I (x, y) as the pixel value of each pixel of the attention area generated according to the above, and the process proceeds to step S104.
  • I (x, y) represents the pixel value of the pixel at the position (x, y) in the region of interest.
  • step S104 the frame width setting unit 112 determines whether or not the evaluation value F is larger than a threshold value (a variable representing) r. If it is determined in step S104 that the evaluation value F is not larger than the threshold value r, the process skips step S105 and proceeds to step S106.
  • a threshold value a variable representing
  • step S104 If the evaluation value F is determined to be larger than the threshold value r in step S104, the process proceeds to step S105.
  • step S105 the frame width setting unit 112 updates the variable q to the temporary frame width p and updates the threshold r to the evaluation value F, and the process proceeds to step S106.
  • step S106 the frame width setting unit 112 increments the variable p by a predetermined value ⁇ p. Then, the process returns from step S106 to step S102, and thereafter, the same process is repeated.
  • step S102 determines whether the variable p is larger than the threshold value p_max.
  • step S107 the frame width setting unit 112 sets a variable q as the frame width of the attention area, and the process ends.
  • the setting method of setting the frame width specified by the number of event data for each divided area has been described. However, the setting method of FIG. It can also be applied when setting.
  • the variable p represents a time candidate as the frame width
  • the variable q represents the time as the frame width
  • p_max represents the maximum value of time as a predetermined frame width.
  • FIG. 30 is a diagram showing an example of the evaluation value F.
  • the horizontal axis represents the number or time of event data as a frame width
  • the vertical axis represents the evaluation value F.
  • evaluation value F for example, as shown in FIG. 30, a function whose value becomes larger when the number of event data or the time as the frame width of the attention area is an appropriate value can be adopted.
  • the number of event data as the frame width of the region of interest is an appropriate number means that the number of event data in the region of interest is too small, so that the outline of the subject does not appear sufficiently, and the event data It does not mean that the contour of the subject is blurred because the number is too large, and it means that the contour of the subject clearly appears.
  • evaluation value F for example, a value (function) that increases when a line having a width of one pixel or a plurality of pixels exists in the attention area can be adopted. Specifically, the following values can be adopted as the evaluation value F.
  • the matrices A X and A Y are represented by equation (7).
  • f x (x, y) and f y (x, y) are represented by Expression (8).
  • the absolute values of f X (x, y) and f Y (x, y) become large when a line having a width of one pixel exists in the vertical direction and the horizontal direction, respectively.
  • the evaluation value F can be expressed, for example, by Expression (9).
  • the values of the elements of the matrices A X and A Y are not limited to Expression (7). Furthermore, the number of elements and the configuration (size) of the matrices A X and A Y are not limited to elements of 3 ⁇ 3 in width ⁇ length. Further, the evaluation value F is limited to a value obtained by summing the square root of the sum of the squares of f X (x, y) and f Y (x, y) as shown in Expression (9). Not something. For example, as the evaluation value F, a value obtained by summing the sum of the squares of f X (x, y) and f Y (x, y) can be adopted as shown in Expression (10). .
  • the evaluation value F for example, as shown in equation (11), f X (x, y) and f Y (x, y) and taking the summation by adding itself to the formula (12) As shown, it can be obtained by selecting the larger one of f X (x, y) and f Y (x, y) and taking a summation.
  • the evaluation value F should be designed so as to take a maximum value (or a minimum value) when a desired image (such as a line width) is obtained as an image corresponding to frame data generated according to event data. Can be.
  • FIG. 31 is a diagram illustrating another configuration example of the event detection unit 52.
  • the event detection unit 52 has a subtractor 430, a quantizer 440, a memory 451, and a controller 452.
  • the subtractor 430 and the quantizer 440 correspond to the subtractor 73 and the quantizer 74, respectively.
  • the event detection unit 52 further includes blocks corresponding to the current-voltage conversion unit 71 and the buffer 72, but is not shown in FIG.
  • the subtractor 430 includes a capacitor 431, an operational amplifier 432, a capacitor 433, and a switch 434.
  • Capacitors 431 to switch 434 correspond to capacitors 91 to switch 94, respectively.
  • the quantizer 440 has a comparator 441.
  • the comparator 441 corresponds to the comparator 101.
  • the comparator 441 compares the voltage signal (difference signal) from the subtractor 430 with a 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).
  • 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.
  • the controller 452 supplies a predetermined threshold voltage Vth applied to the inverting input terminal (-) of the comparator 441.
  • the supplied threshold voltage Vth may have a different voltage value in a time-division manner.
  • the controller 452 supplies the threshold voltage Vth1 corresponding to an ON event (for example, a positive change in photocurrent) and the threshold voltage Vth2 corresponding to an OFF event (for example, a negative change in photocurrent) at different timings.
  • a single comparator can detect a plurality of types of address events.
  • the memory 451 accumulates the output of the comparator 441 based on the Sample signal supplied from the controller 452.
  • the memory 451 may be a sampling circuit such as a switch, a plastic, a capacitor, or the like, or may be a digital memory circuit such as a latch or a flip-flop. For example, while the threshold voltage Vth2 corresponding to the OFF event is supplied to the inverting input terminal ( ⁇ ) of the comparator 441, the memory 451 holds the comparison result of the comparator 441 using the threshold voltage Vth1 corresponding to the ON event. It may be.
  • the memory 451 may not be provided, may be inside the pixel (pixel block 41), or may be outside the pixel.
  • the data processing chip shown in FIG. 1 is an asynchronous imaging device that reads out an event using an asynchronous reading method.
  • the event reading method is not limited to the asynchronous reading method, but may be a synchronous reading method.
  • An imaging device to which the synchronous readout method is applied is a scan-type imaging device, which is the same as a normal imaging device that performs imaging at a predetermined frame rate.
  • FIG. 32 is a block diagram illustrating a configuration example of a scan-type imaging device.
  • the imaging device 510 includes a pixel array unit 521, a driving unit 522, a signal processing unit 525, a reading area selection unit 527, and a signal generation unit 528.
  • the pixel array unit 521 includes a plurality of pixels 530.
  • the plurality of pixels 530 output an output signal in response to a selection signal of the reading area selection unit 527.
  • Each of the plurality of pixels 530 may be configured to have a quantizer in the pixel as shown in FIG. 31, for example.
  • the plurality of pixels 530 output an output signal corresponding to the amount of change in light intensity.
  • the plurality of pixels 530 may be two-dimensionally arranged in a matrix as shown in FIG.
  • the drive unit 522 drives each of the plurality of pixels 530 to cause the signal processing unit 525 to output the pixel signal generated by each pixel 530 from the output line 514.
  • the drive unit 522 and the signal processing unit 525 are circuit units for acquiring gradation information. Therefore, when only event information (event data) is acquired, the driving unit 522 and the signal processing unit 525 may not be provided.
  • the readout area selection unit 527 selects a part of the plurality of pixels 530 included in the pixel array unit 521. For example, the readout area selection unit 527 selects one or a plurality of rows from the rows included in the two-dimensional matrix structure corresponding to the pixel array unit 521. The read area selection unit 527 sequentially selects one or a plurality of rows according to a preset cycle. Further, the readout area selection unit 527 may determine a selection area in response to a request from each pixel 530 of the pixel array unit 521.
  • the signal generation unit 528 generates an event signal corresponding to an active pixel of the selected pixel 530 that has detected an event, based on the output signal of the pixel 530 selected by the read area selection unit 527.
  • the event is an event in which the light intensity changes.
  • the active pixel is a pixel 530 in which the amount of change in light intensity corresponding to the output signal exceeds or falls below a preset threshold.
  • the signal generation unit 528 compares the output signal of the pixel 530 with a reference signal, detects an active pixel that outputs an output signal when the output signal is larger or smaller than the reference signal, and outputs an event signal (event) corresponding to the active pixel. Data).
  • the signal generation unit 528 can be configured to include, for example, a column selection circuit that arbitrates a signal input to the signal generation unit 528.
  • the signal generation unit 528 may be configured to output not only the information of the active pixel that has detected the event but also the information of the inactive pixel that has not detected the event.
  • the signal generation unit 528 outputs, via the output line 515, address information and time stamp information (for example, (X, Y, T)) of the active pixel that has detected the event.
  • address information and time stamp information for example, (X, Y, T)
  • time stamp information for example, (X, Y, T)
  • the data output from the signal generator 528 may be not only the address information and the time stamp information but also information in a frame format (for example, (0, 0, 1, 0,...)). .
  • each step described in the above-described flowchart can be executed by a single device, or can be shared and executed by a plurality of devices.
  • one step includes a plurality of processes
  • the plurality of processes included in the one step may be executed by one device or may be shared and executed by a plurality of devices.
  • the present technology can have the following configurations.
  • the second frame is generated based on event data, which is a change in the electric signal of a pixel that generates an electric signal by performing photoelectric conversion, generated during a first accumulation time from the start of the first frame generation to the end of the first frame generation.
  • a frame data generation unit that generates first frame data and second frame data based on event data generated during a second accumulation time from the start of the second frame generation to the end of the second frame generation;
  • a data processing apparatus comprising: a frame period setting unit that sets a first frame period between a start of a first frame generation and a start of a second frame generation and supplies the first frame period to the frame data generation unit.
  • the frame data generation unit includes: Generating third frame data based on event data generated during a third accumulation time from the start of the third frame generation to the end of the third frame generation;
  • the frame period setting unit The data processing device according to ⁇ 1>, wherein the first frame period is set to be different from a second frame period between the start of the second frame generation and the start of the third frame generation.
  • the data processing device according to ⁇ 1> or ⁇ 2> further including an accumulation time setting unit that sets the first accumulation time and the second accumulation time and supplies the first accumulation time and the second accumulation time to the frame data generation unit.
  • the accumulation time setting unit The data processing device according to ⁇ 3>, wherein the first accumulation time and the second accumulation time are set to be different.
  • a frame data generation unit that generates frame data based on event data that is generated during an accumulation time from the start of frame generation to the end of frame generation and that is a change in the electric signal of a pixel that generates an electric signal by performing photoelectric conversion.
  • Setting a frame period which is an interval between the start of frame data generation of the first frame data and the start of frame data generation of the second frame data generated continuously with the first frame data;
  • a frame period setting unit that supplies the data to the unit.
  • the data processing device according to ⁇ 5>, further including an accumulation time setting unit that sets the accumulation time and supplies the accumulation time to the frame data generation unit.
  • ⁇ 7> The data processing device according to ⁇ 5> or ⁇ 6>, wherein the frame period setting unit sets the frame period by time.
  • the accumulation time setting unit sets the accumulation time by time.
  • the accumulation time setting unit sets the accumulation time according to the number of the event data.
  • the accumulation time setting unit switches between setting the accumulation time in time and setting according to the number of the event data.
  • the frame period setting unit sets the frame period according to the number of the event data.
  • ⁇ 12> An accumulation time setting unit that sets the accumulation time and supplies the accumulation time to the frame data generation unit; The data processing device according to ⁇ 11>, wherein the accumulation time setting unit sets the accumulation time by time.
  • ⁇ 13> An accumulation time setting unit that sets the accumulation time and supplies the accumulation time to the frame data generation unit; The data processing device according to ⁇ 11>, wherein the accumulation time setting unit sets the accumulation time according to the number of the event data.
  • ⁇ 14> An accumulation time setting unit that sets the accumulation time and supplies the accumulation time to the frame data generation unit; The data processing device according to ⁇ 11>, wherein the accumulation time setting unit switches between setting the accumulation time in time and setting according to the number of the event data.
  • the data processing device according to ⁇ 5> or ⁇ 6>, wherein the frame period setting unit switches between setting the frame period by time and setting according to the number of event data.
  • the frame data generation unit generates frame data based on event data that is generated during the accumulation time from the start of frame generation to the end of frame generation and is a change in the electric signal of a pixel that generates an electric signal by performing photoelectric conversion.
  • Generating, Setting a frame period which is an interval between the start of frame data generation of the first frame data and the start of frame data generation of the second frame data generated continuously with the first frame data; Providing the data to the generator.
  • a frame data generation unit that generates frame data based on event data that is generated during an accumulation time from the start of frame generation to the end of frame generation and that is a change in the electric signal of a pixel that generates an electric signal by performing photoelectric conversion.
  • the second frame is generated based on event data, which is a change in the electric signal of a pixel that generates an electric signal by performing photoelectric conversion, generated during a first accumulation time from the start of the first frame generation to the end of the first frame generation.
  • event data which is a change in the electric signal of a pixel that generates an electric signal by performing photoelectric conversion, generated during a first accumulation time from the start of the first frame generation to the end of the first frame generation.
  • a data processing device comprising: a frame data generation unit that generates a first accumulation time and a second accumulation time so as to overlap each other.
  • the second frame is generated based on event data, which is a change in the electric signal of a pixel that generates an electric signal by performing photoelectric conversion, generated during a first accumulation time from the start of the first frame generation to the end of the first frame generation.
  • the first frame data and the second frame data based on the event data generated in the second accumulation time from the start of the second frame generation to the end of the second frame generation, A data processing method including generating the first accumulation time and the second accumulation time so as to overlap.
  • the second frame is generated based on event data, which is a change in the electric signal of a pixel that generates an electric signal by performing photoelectric conversion, generated during a first accumulation time from the start of the first frame generation to the end of the first frame generation.
  • the first frame data and the second frame data based on the event data generated in the second accumulation time from the start of the second frame generation to the end of the second frame generation A program for causing a computer to function as a frame data generation unit that generates a first accumulation time and a second accumulation time so as to overlap each other.
  • Generated during the accumulation time from the start of frame generation to the end of frame generation generate frame data based on event data that is a change in the electric signal of a pixel that performs electric conversion and generates an electric signal
  • a data processing device wherein the number of generations of the frame data per unit time changes according to the number of the event data per unit time.
  • ⁇ 22> The data processing device according to ⁇ 21>, wherein the larger the number of the event data per unit time, the larger the number of the frame data generated per unit time.
  • An event generation unit that has a pixel that generates an electric signal by performing photoelectric conversion, and that generates event data representing the occurrence of an event that is a change in the electric signal of the pixel,
  • a frame data generation unit that generates frame data based on the event data generated during the accumulation time from the start of frame generation to the end of frame generation, Setting a frame period which is an interval between the start of frame data generation of the first frame data and the start of frame data generation of the second frame data generated continuously with the first frame data;
  • a data processing device comprising: a data processing unit including: a frame period setting unit that supplies the frame period to the generation unit.
  • ⁇ 24> The data processing device according to ⁇ 23>, further including an image processing unit that performs image processing using the frame data.
  • ⁇ 25> The data processing device according to ⁇ 24>, wherein the image processing unit performs a recognition process on the frame data.
  • ⁇ 26> The data processing device according to any one of ⁇ 23> to ⁇ 25>, including a semiconductor chip in which a plurality of dies are stacked.
  • ⁇ 27> Generating event data representing the occurrence of an event that is a change in the electric signal of a pixel that generates an electric signal by performing photoelectric conversion;
  • a frame data generation unit that generates frame data based on the event data generated during the accumulation time from the start of frame generation to the end of frame generation; Setting a frame period which is an interval between the start of frame data generation of the first frame data and the start of frame data generation of the second frame data generated continuously with the first frame data; Providing the data to the generator.
  • the accumulation time setting unit sets the accumulation time in units of divided regions obtained by dividing the frame of the frame data into a plurality of regions.
  • ⁇ 29> The data processing device according to ⁇ 28>, wherein the accumulation time setting unit sets the accumulation time according to an evaluation value indicating appropriateness of the accumulation time.
  • the accumulation time setting unit sets the accumulation time according to the evaluation value obtained using the frame data generated according to the event data within the accumulation time. apparatus.
  • a frame interval setting unit for setting a frame interval representing a frame interval A data generation unit that generates frame data that is image data in a frame format at the frame interval according to event data that represents occurrence of an event that is a change in the electric signal of a pixel that generates an electric signal by performing photoelectric conversion.
  • a data processing device comprising: ⁇ A2> Further comprising a frame width setting unit that sets a frame width representing a time width of the event data used for generating the frame data, The data processing device according to ⁇ A1>, wherein the data generation unit generates the frame data according to the event data within the frame width from the beginning of the frame interval.
  • ⁇ A3> The data processing device according to ⁇ A2>, wherein the frame interval setting unit sets the frame interval by time.
  • ⁇ A4> The data processing device according to ⁇ A2> or ⁇ A3>, wherein the frame width setting unit sets the frame width by time.
  • ⁇ A5> The data processing device according to ⁇ A2> or ⁇ A3>, wherein the frame width setting unit sets the frame width by the number of the event data.
  • ⁇ A6> The data processing device according to ⁇ A3>, wherein the frame width setting unit switches between setting the frame width by time and setting the frame width by the number of event data.
  • ⁇ A7> The data processing device according to ⁇ A2>, wherein the frame interval setting unit sets the frame interval by the number of the event data.
  • ⁇ A8> The data processing device according to ⁇ A2> or ⁇ A7>, wherein the frame width setting unit sets the frame width in time.
  • ⁇ A9> The data processing device according to ⁇ A2> or ⁇ A7>, wherein the frame width setting unit sets the frame width by the number of the event data.
  • ⁇ A10> The data processing device according to ⁇ A7>, wherein the frame width setting unit switches between setting the frame width by time and setting by the number of event data.
  • ⁇ A11> The data processing device according to ⁇ A1> or ⁇ A2>, wherein the frame interval setting unit switches between setting the frame interval by time and setting by the number of event data.
  • ⁇ A12> Setting a frame interval representing a frame interval; Generating frame data that is image data in a frame format at the frame interval in accordance with event data indicating occurrence of an event that is a change in the electric signal of a pixel that generates an electric signal by performing photoelectric conversion. Including data processing methods.
  • a data processing device including a data generation unit that generates frame data.
  • a data processing method including generating frame data.
  • ⁇ A16> Frame-format image data in which adjacent frames share the same event data in accordance with event data representing the occurrence of an event, which is a change in the electric signal of a pixel that generates an electric signal by performing photoelectric conversion.
  • An event generation unit that has a pixel that generates an electric signal by performing photoelectric conversion, and that generates event data representing the occurrence of an event that is a change in the electric signal of the pixel, A frame interval setting unit for setting a frame interval representing a frame interval, A data generation unit that generates frame data that is image data in a frame format at the frame interval according to the event data.
  • ⁇ A18> The data processing device according to ⁇ A17>, further including an image processing unit that performs image processing using the frame data.
  • ⁇ A19> The data processing device according to ⁇ A18>, wherein the image processing unit performs a recognition process on the frame data.
  • ⁇ A20> The data processing device according to any one of ⁇ A17> to ⁇ A19>, including a semiconductor chip in which a plurality of dies are stacked.
  • ⁇ A21> Generating event data representing the occurrence of an event that is a change in the electric signal of a pixel that generates an electric signal by performing photoelectric conversion; Setting a frame interval representing a frame interval; Generating frame data, which is image data in a frame format, at the frame interval according to the event data.
  • ⁇ A22> ⁇ A4>, ⁇ A5>, ⁇ A8>, or ⁇ A9>, wherein the frame width setting unit sets the frame width in units of divided regions obtained by dividing the frame of the frame data into a plurality of regions.
  • Data processing equipment ⁇ A23> The data processing device according to ⁇ A22>, wherein the frame width setting unit sets the frame width according to an evaluation value indicating adequacy of the frame width.
  • ⁇ A24> The data processing according to ⁇ A23>, wherein the frame width setting unit sets the frame width according to the evaluation value obtained using the frame data generated according to the event data within the frame width. apparatus.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Transforming Light Signals Into Electric Signals (AREA)
  • Studio Devices (AREA)

Abstract

本技術は、適切なフレームデータを得ることができるようにする画像データ処理装置、画像データ処理方法、及び、プログラムに関する。フレームデータ生成部において、第1のフレーム生成開始時から第1のフレーム生成終了時までの第1の蓄積時間で発生した、光電変換を行って電気信号を生成する画素の電気信号の変化であるイベントデータに基づく第1のフレームデータと、第2のフレーム生成開始時から第2のフレーム生成終了時までの第2の蓄積時間で発生したイベントデータに基づく第2のフレームデータとが生成される。第1のフレーム生成開始時から第2のフレーム生成開始時までの第1のフレーム期間が設定されフレームデータ生成部に供給される。本技術は、例えば、DVS(DynamicVision Sensor)が出力するイベントデータから、フレームデータを生成する場合に適用することができる。

Description

データ処理装置、データ処理方法、及び、プログラム
 本技術は、データ処理装置、データ処理方法、及び、プログラムに関し、特に、例えば、画素の電気信号の変化であるイベントの発生を表すイベントデータに応じて、フレーム形式の画像データであるフレームデータを生成するにあたり、適切なフレームデータを得ることができるようにするデータ処理装置、データ処理方法、及び、プログラムに関する。
 画素の輝度変化をイベントとして、イベントが発生した場合に、イベントの発生を表すイベントデータを出力するイメージセンサが提案されている。ここで、垂直同期信号に同期して撮像を行い、フレーム形式の画像データであるフレームデータを出力するイメージセンサは、同期型のイメージセンサということができる。これに対して、イベントデータを出力するイメージセンサは、イベントデータを、垂直同期信号に同期して出力するわけではないので、非同期型のイメージセンサということができる。非同期型のイメージセンサは、例えば、DVS(Dynamic Vision Sensor)と呼ばれる。
 DVSが出力するイベントデータについては、そのままでは、既存の画像処理に用いることが困難であるため、イベントデータは、フレームデータに変換されてから、画像処理に用いられる。イベントデータをフレームデータに変換する方法、すなわち、イベントデータに応じてフレームデータを生成する方法としては、特定の時間に亘るイベントデータをフレームに集約する方法や、特定の数のイベントデータをフレームに集約する方法が提案されている(例えば、特許文献1を参照)。
特表2017-530467号公報
 イベントデータに応じて、フレーム形式の画像データであるフレームデータを生成するにあたっては、その後に行われる画像処理等にとって適切なフレームデータを得ることが要請される。
 本技術は、このような状況に鑑みてなされたものであり、適切なフレームデータを得ることができるようにするものである。
 本技術の第1のデータ処理装置は、第1のフレーム生成開始時から第1のフレーム生成終了時までの第1の蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づく第1のフレームデータと、第2のフレーム生成開始時から第2のフレーム生成終了時までの第2の蓄積時間で発生したイベントデータに基づく第2のフレームデータとを生成するフレームデータ生成部と、第1のフレーム生成開始時と第2のフレーム生成開始時までの第1のフレーム期間を設定し前記フレームデータ生成部に供給するフレーム期間設定部とを備えるデータ処理装置である。
 本技術の第1のデータ処理装置においては、第1のフレーム生成開始時から第1のフレーム生成終了時までの第1の蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づく第1のフレームデータと、第2のフレーム生成開始時から第2のフレーム生成終了時までの第2の蓄積時間で発生したイベントデータに基づく第2のフレームデータとが生成される。また、第1のフレーム生成開始時と第2のフレーム生成開始時までの第1のフレーム期間が設定され前記フレームデータ生成部に供給される。
 本技術の第2のデータ処理装置又は第1のプログラムは、フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づいてフレームデータを生成するフレームデータ生成部と、第1のフレームデータのフレームデータ生成開始時と、第1のフレームデータと連続して生成される第2のフレームデータのフレームデータ生成開始時との間隔であるフレーム期間を設定し前記フレームデータ生成部に供給するフレーム期間設定部とを備えるデータ処理装置、又は、そのようなデータ処理装置として、コンピュータを機能させるためのプログラムである。
 本技術の第1のデータ処理方法は、フレームデータ生成部が、フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づいてフレームデータを生成することと、第1のフレームデータのフレームデータ生成開始時と、前記第1のフレームデータと連続して生成される第2のフレームデータのフレームデータ生成開始時との間隔であるフレーム期間を設定し前記フレームデータ生成部に供給することとを含むデータ処理方法である。
 本技術の第2のデータ処理装置、第1のデータ処理方法、及び、第1のプログラムにおいては、フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づいてフレームデータが生成される。また、第1のフレームデータのフレームデータ生成開始時と、前記第1のフレームデータと連続して生成される第2のフレームデータのフレームデータ生成開始時との間隔であるフレーム期間が設定され前記フレームデータ生成部に供給される。
 本技術の第3のデータ処理装置又は第2のプログラムは、第1のフレーム生成開始時から第1のフレーム生成終了時までの第1の蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づく第1のフレームデータと、第2のフレーム生成開始時から第2のフレーム生成終了時までの第2の蓄積時間で発生した前記イベントデータに基づく第2のフレームデータとを、第1の蓄積時間と第2の蓄積時間が重畳するように生成するフレームデータ生成部を備えるデータ処理装置、又は、そのようなデータ処理装置として、コンピュータを機能させるためのプログラムである。
 本技術の第2のデータ処理方法は、第1のフレーム生成開始時から第1のフレーム生成終了時までの第1の蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づく第1のフレームデータと、第2のフレーム生成開始時から2のフレーム生成終了時までの第2の蓄積時間で発生した前記イベントデータに基づく第2のフレームデータとを、第1の蓄積時間と第2の蓄積時間が重畳するように生成することを含むデータ処理方法である。
 本技術の第3のデータ処理装置、第2のデータ処理方法、及び、第2のプログラムにおいては、第1のフレーム生成開始時から第1のフレーム生成終了時までの第1の蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づく第1のフレームデータと、第2のフレーム生成開始時から2のフレーム生成終了時までの第2の蓄積時間で発生した前記イベントデータに基づく第2のフレームデータとが、第1の蓄積時間と第2の蓄積時間が重畳するように生成される。
 本技術の第4のデータ処理装置は、フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づいてフレームデータを生成し、単位時間当たりの前記イベントデータの数に応じて、単位時間当たりの前記フレームデータの生成数が変化するデータ処理装置である。
 本技術の第4のデータ処理装置においては、フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づいてフレームデータが生成される。単位時間当たりの前記イベントデータの数に応じて、単位時間当たりの前記フレームデータの生成数は変化する。
 本技術の第5のデータ処理装置は、光電変換を行って電気信号を生成する画素を有し、前記画素の前記電気信号の変化であるイベントの発生を表すイベントデータを生成するイベント生成部と、フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した前記イベントデータに基づいてフレームデータを生成するフレームデータ生成部と、第1のフレームデータのフレームデータ生成開始時と、前記第1のフレームデータと連続して生成される第2のフレームデータのフレームデータ生成開始時との間隔であるフレーム期間を設定し前記フレームデータ生成部に供給するフレーム期間設定部とを備えるデータ処理部を備えるデータ処理装置である。
 本技術の第3のデータ処理方法は、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントの発生を表すイベントデータを生成することと、フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した前記イベントデータに基づいてフレームデータを生成することと、第1のフレームデータのフレームデータ生成開始時と、前記第1のフレームデータと連続して生成される第2のフレームデータのフレームデータ生成開始時との間隔であるフレーム期間を設定し前記フレームデータ生成部に供給することとを含むデータ処理方法である。
 本技術の第5のデータ処理装置及び第3のデータ処理方法においては、フレームデータ生成部において、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントの発生を表すイベントデータが生成され、フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した前記イベントデータに基づいてフレームデータが生成される。また、第1のフレームデータのフレームデータ生成開始時と、前記第1のフレームデータと連続して生成される第2のフレームデータのフレームデータ生成開始時との間隔であるフレーム期間が設定され前記フレームデータ生成部に供給される。
 データ処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。また、データ処理装置は、1チップの半導体チップやモジュールとして構成することができる。
 プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、頒布することができる。
本技術を適用したデータ処理チップの一実施の形態の構成例を示す図である。 データ処理チップの動作を説明するフローチャートである。 イベント生成部21の構成例を示すブロック図である。 画素アレイ部31の構成例を示すブロック図である。 画素51の構成例を示す回路図である。 イベント検出部52の構成例を示すブロック図である。 電流電圧変換部71の構成例を示す回路図である。 減算部73及び量子化部74の構成例を示す回路図である。 データ処理部22の構成例を示すブロック図である。 イベント生成部21が出力するイベントデータの概要を説明する図である。 イベントデータに応じてフレームデータを生成する方法の概要を説明する図である。 フレーム幅及びフレーム間隔の第1の設定方法を示す図である。 フレーム幅及びフレーム間隔の第2の設定方法を示す図である。 フレーム幅及びフレーム間隔の第3の設定方法を示す図である。 データ生成部113の構成例を示すブロック図である。 メモリ制御部122によるメモリ121の制御の例を説明する図である。 データ処理部22の処理の例を説明するフローチャートである。 データ生成部113が行うデータ生成処理の例を説明するフローチャートである。 フレーム幅及びフレーム間隔の第4の設定方法を示す図である。 フレーム幅及びフレーム間隔の第5の設定方法を示す図である。 フレーム幅及びフレーム間隔の第6の設定方法を示す図である。 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。 車両制御システムの概略的な構成の一例を示すブロック図である。 車外情報検出部及び撮像部の設置位置の一例を示す説明図である。 フレーム間隔及びフレーム幅を設定する設定方法の一覧を示す図である。 フレームデータのフレーム全体に1つのフレーム幅が設定される場合に生成されるフレームデータの例を示す図である。 フレームを分割領域に分割する分割の仕方の例を示す図である。 分割領域ごとにフレーム幅が設定される場合に生成されるフレームデータの例を示す図である。 分割領域ごとにフレーム幅としてのイベントデータ数を設定する場合の設定方法の例を示すフローチャートである。 評価値Fの例を示す図である。 イベント検出部52の他の構成例を示す図である。 スキャン方式の撮像装置の構成例を示すブロック図である。
 <本技術を適用したデータ処理チップの一実施の形態>
 図1は、本技術を適用したデータ処理チップの一実施の形態の構成例を示す図である。
 データ処理チップは、1チップの半導体チップであり、複数のダイ(基板)としてのセンサダイ(基板)11とロジックダイ12とが積層されて構成される。なお、データ処理チップは、1個のダイで構成することもできるし、3個以上のダイを積層して構成することもできる。
 図1のデータ処理チップにおいて、センサダイ11には、イベント生成部21(としての回路)が構成され、ロジックダイ12には、データ処理部22が構成されている。なお、イベント生成部21については、その一部を、ロジックダイ12に構成することができる。また、データ処理部22については、その一部を、センサダイ11に構成することができる。
 イベント生成部21は、入射光の光電変換を行って電気信号を生成する画素を有し、画素の電気信号の変化であるイベントの発生を表すイベントデータを生成する。イベント生成部21は、イベントデータを、データ処理部22に供給する。すなわち、イベント生成部21は、例えば、同期型のイメージセンサと同様に、画素において、入射光の光電変換を行って電気信号を生成する撮像を行うが、フレーム形式の画像データを生成するのではなく、又は、フレーム形式の画像データを生成するとともに、画素の電気信号の変化であるイベントの発生を表すイベントデータを生成する。
 データ処理部22は、イベント生成部21からのイベントデータに応じてデータ処理を行い、そのデータ処理の結果であるデータ処理結果を出力する。
 図2は、図1のデータ処理チップの動作を説明するフローチャートである。
 ステップS1において、イベント生成部21は、イベントとしての画素の電気信号の変化が発生すると、イベントデータを生成し、データ処理部22に供給する。
 ステップS2において、データ処理部22は、イベント生成部21からのイベントデータに応じて、イベントデータをフレームデータに変換する、すなわち、フレームデータを生成する等のデータ処理を行い、データ処理結果を出力する。
 <イベント生成部21の構成例>
 図3は、図1のイベント生成部21の構成例を示すブロック図である。
 イベント生成部21は、画素アレイ部31、駆動部32、アービタ33、及び、出力部34を備える。
 画素アレイ部31には、複数の画素が二次元格子状に配列される。また、画素アレイ部31は、それぞれが所定数の画素からなる複数の画素ブロックに分割される。以下、水平方向に配列された画素または画素ブロックの集合を「行」と称し、行に垂直な方向に配列された画素または画素ブロックの集合を「列」と称する。
 画素ブロックは、画素の光電変換によって生成される電気信号としての光電流に所定の閾値を超える変化が発生した場合に、その光電流の変化をイベントとして検出する。イベントが検出された場合、画素ブロックは、イベントの発生を表すイベントデータの出力を要求するリクエストをアービタ33に出力する。
 駆動部32は、画素アレイ部31に制御信号を供給することにより、画素アレイ部31を駆動する。
 アービタ33は、画素アレイ部31を構成する画素ブロックからのリクエストを調停し、イベントデータの出力の許可又は不許可を表す応答を画素ブロックに返す。イベントデータの出力の許可を表す応答を受け取った画素ブロックは、イベントデータを出力部34に出力する。
 出力部34は、画素アレイ部31を構成する画素ブロックが出力するイベントデータに必要な処理を施し、データ処理部22(図1)に供給する。
 ここで、画素の電気信号としての光電流の変化は、画素の輝度変化とも捉えることができるので、イベントは、画素の輝度変化(閾値を超える輝度変化)であるともいうことができる。
 イベントの発生を表すイベントデータには、少なくとも、イベントとしての輝度変化が発生した画素ブロックの位置を表す位置情報(座標等)が含まれる。その他、イベントデータには、輝度変化の極性(正負)を含ませることができる。
 画素ブロックからイベントが発生したタイミングで出力されるイベントデータの系列については、イベントデータどうしの間隔がイベントの発生時のまま維持されている限り、イベントデータは、イベントが発生した(相対的な)時刻を表す時刻情報を暗示的に含んでいるということができる。但し、イベントデータがメモリに記憶されること等により、イベントデータどうしの間隔がイベントの発生時のまま維持されなくなると、イベントデータに暗示的に含まれる時刻情報が失われる。そのため、出力部34は、イベントデータどうしの間隔がイベントの発生時のまま維持されなくなる前に、イベントデータに、タイムスタンプ等の、イベントが発生した(相対的な)時刻を表す時刻情報を含める。イベントデータに時刻情報を含める処理は、イベントデータに暗示的に含まれる時刻情報が失われる前であれば、出力部34以外の任意のブロックで行うことができる。
 <画素アレイ部31の構成例>
 図4は、図3の画素アレイ部31の構成例を示すブロック図である。
 画素アレイ部31は、複数の画素ブロック41を有する。画素ブロック41は、I行×J列(I及びJは整数)に配列された複数(I×J個)の画素51と、イベント検出部52とを備える。画素ブロック41内の複数の画素51は、イベント検出部52を共有している。
 画素51は、被写体からの入射光を受光し、光電変換して電気信号としての光電流を生成する。画素51は、駆動部32の制御に従って、光電流を、イベント検出部52に供給する。
 イベント検出部52は、画素51のそれぞれからの光電流の所定の閾値を超える変化を、イベントとして検出する。イベント検出部52は、イベントを検出した場合、イベントの発生を表すイベントデータの出力を要求するリクエストを、アービタ33に供給する。そして、イベント検出部52は、リクエストに対して、イベントデータの出力を許可する旨の応答を、アービタ33から受け取ると、イベントデータを、出力部34に出力する。
 <画素51の構成例>
 図5は、図4の画素51の構成例を示す回路図である。
 画素51は、光電変換素子61及び転送トランジスタ62を備える。
 光電変換素子61は、例えば、PD(Photodiode)で構成され、入射光を受光し、光電変換して電荷を生成する。
 転送トランジスタ62は、例えば、N(Negative)型のMOS(Metal-Oxide-Semiconductor) FET(Field Effect Transistor)で構成される。画素ブロック41を構成するI×J個の画素51のうちのn番目の画素51を構成する転送トランジスタ62は、駆動部32(図3)から供給される制御信号TRGnに従ってオン/オフする。転送トランジスタ62がオンすることにより、光電変換素子61で生成された電荷は、光電流として、イベント検出部52に転送(供給)される。
 画素ブロック41を構成するI×J個の画素51は、ノード60を介して、その画素ブロック41を構成するイベント検出部52に接続されている。したがって、画素51(の光電変換素子61)で生成された光電流は、ノード60を介して、イベント検出部52に供給される。その結果、イベント検出部52には、画素ブロック41内のすべての画素51の光電流の和が供給される。
 イベント検出部52は、駆動部32(図3)からの制御信号としての行駆動信号に従って駆動し、イベントとしての画素51から供給される光電流(の和)の変化を検出する。イベント検出部52は、イベントとしての光電流の変化、すなわち、輝度変化を検出すると、イベントの発生を表すイベントデータを出力する。
 ここで、イベント検出部52では、イベントが検出された場合に、画素51から供給される光電流に対応する電圧を、画素51に入射した入射光に対応する画素信号として、イベントデータとは別に出力することができる。画素信号の出力については、複数の画素51の転送トランジスタ62を同時にオンにすることにより、その複数の画素51の画素信号の和を出力することができる。また、画素ブロック41を構成する画素51の転送トランジスタ62を順次にオンにすることにより、画素51ごとの画素信号を出力することができる。画素51の画素信号を出力する場合には、その画素信号をAD変換するAD変換部が、イベント生成部21に設けられる。
 図4に示したように、画素ブロック41を複数の画素51で構成し、その複数の画素51で、イベント検出部52を共有する場合には、1個の画素51に対して、1個のイベント検出部52を設ける場合に比較して、イベント検出部52の数を少なくすることができる。したがって、画素アレイ部31の規模を抑制することができる。
 なお、画素ブロック41は、複数の画素51ではなく、1個の画素51で構成することができる。
 <イベント検出部52の構成例>
 図6は、図4のイベント検出部52の構成例を示すブロック図である。
 イベント検出部52は、電流電圧変換部71、バッファ72、減算部73、量子化部74、及び、転送部75を備える。
 電流電圧変換部71は、画素51からの光電流(の和)を、その光電流の対数に対応する電圧(以下、光電圧ともいう)に変換し、バッファ72に供給する。
 バッファ72は、電流電圧変換部71からの光電圧をバッファリング(補正)し、減算部73に供給する。
 減算部73は、駆動部32からの制御信号としての行駆動信号に従ったタイミングで、現在の光電圧と、現在と微小時間だけ異なるタイミングの光電圧との差を演算し、その差に対応する差信号を、量子化部74に供給する。
 量子化部74は、減算部73からの差信号をディジタル信号に量子化し、差信号の量子化値を、転送部75に供給する。
 転送部75は、量子化部74からの差信号の量子化値に応じて、イベントデータを、出力部34に転送(出力)する。すなわち、転送部75は、イベントデータの出力を要求するリクエストを、アービタ33に供給する。そして、転送部75は、リクエストに対して、イベントデータの出力を許可する旨の応答をアービタ33から受け取ると、イベントデータを、出力部34に出力する。
 <電流電圧変換部71の構成例>
 図7は、図6の電流電圧変換部71の構成例を示す回路図である。
 電流電圧変換部71は、トランジスタ81ないし83で構成される。トランジスタ81及び83としては、例えば、N型のMOS FETを採用することができ、トランジスタ82としては、例えば、P型のMOS FETを採用することができる。
 トランジスタ81のソースは、トランジスタ83のゲートと接続され、トランジスタ81のソースとトランジスタ83のゲートとの接続点には、画素51からの光電流が供給される。トランジスタ81のドレインは、電源VDDに接続され、そのゲートは、トランジスタ83のドレインに接続される。
 トランジスタ82のソースは、電源VDDに接続され、そのドレインは、トランジスタ81のゲートとトランジスタ83のドレインとの接続点に接続される。トランジスタ82のゲートには、所定のバイアス電圧V biasが印加される。トランジスタ82は、一定の電流をトランジスタ83に供給する。
 トランジスタ83のソースは接地される。
 電流電圧変換部71において、トランジスタ81は電源VDD側に接続されており、ソースフォロアになっている。ソースフォロアになっているトランジスタ81と、そのトランジスタ81のソースにゲートが接続されたトランジスタ83とより、画素51からの光電流は、その光電流の対数に対応する光電圧に変換される。
 光電圧は、トランジスタ81のゲートとトランジスタ83のドレインとの接続点から、バッファ72(図6)に供給される。
 <減算部73及び量子化部74の構成例>
 図8は、図6の減算部73及び量子化部74の構成例を示す回路図である。
 減算部73は、コンデンサ91、オペアンプ92、コンデンサ93、及び、スイッチ94を備える。量子化部74は、コンパレータ101を備える。
 コンデンサ91の一端は、バッファ72(図6)の出力端子に接続され、他端は、オペアンプ92の入力端子に接続される。
 オペアンプ92の出力端子は、コンパレータ101の非反転入力端子(+)に接続される。
 コンデンサ93の一端は、オペアンプ92の入力端子に接続され、他端は、オペアンプ92の出力端子に接続される。
 スイッチ94は、コンデンサ93の両端の接続をオン/オフするように、コンデンサ93に接続される。スイッチ94は、駆動部32からの制御信号としての行駆動信号に従ってオン/オフすることにより、コンデンサ93の両端の接続をオン/オフする。
 コンデンサ91とオペアンプ92との接続点は、仮想接地になっており、この仮想接地の電位を便宜上、ゼロとする。
 スイッチ94をオンした際のコンデンサ91のバッファ72(図6)側の光電圧をVinitとするとともに、コンデンサ91の容量をC1とすると、スイッチ94がオンである場合にコンデンサ91に蓄積される電荷Qinitは、次の式により表される。一方、コンデンサ93の両端は、スイッチ94がオンになっている場合には、短絡されるため、コンデンサ93に蓄積される電荷はゼロとなる。
  Qinit=C1×Vinit
                        ・・・(1)
 その後、スイッチ94がオフになり、その場合の、コンデンサ91のバッファ72(図6)側の光電圧を、Vafterとすると、コンデンサ91に蓄積される電荷Qafterは、次の式により表される。
  Qafter=C1×Vafter
                        ・・・(2)
 一方、コンデンサ93の容量をC2とするとともに、オペアンプ92の出力電圧をVoutとすると、コンデンサ93に蓄積される電荷Q2は、次の式により表される。
  Q2=-C2×Vout
                        ・・・(3)
 スイッチ94がオフする前後で、コンデンサ91の電荷とコンデンサ93の電荷とを合わせた総電荷量は変化しないため、次の式が成立する。
  Qinit=Qafter+Q2
                        ・・・(4)
 式(4)に式(1)ないし式(3)を代入して変形すると、次の式が得られる。
  Vout=-(C1/C2)×(Vafter-Vinit)
                        ・・・(5)
 式(5)によれば、減算部73では、光電圧Vafter及びVinitの減算、すなわち、光電圧VafterとVinitとの差Vafter-Vinitに対応する差信号(Vout)の算出が行われる。式(5)によれば、減算部73の減算のゲインはC1/C2となる。通常、ゲインを最大化することが望まれるため、C1を大きく、C2を小さく設計することが好ましい。一方、C2が小さすぎると、kTCノイズが増大し、ノイズ特性が悪化するおそれがあるため、C2の容量削減は、ノイズを許容することができる範囲に制限される。また、画素ブロック41ごとに減算部73を含むイベント検出部52が搭載されるため、容量C1やC2には、面積上の制約がある。これらを考慮して、容量C1及びC2の値が決定される。
 コンパレータ101は、減算部73からの差信号と、反転入力端子(-)に印加された所定の閾値電圧Vthとを比較する。コンパレータ101は、差信号と閾値電圧Vthとの比較結果を表す、例えば、H(High)レベル又はL(Low)レベルを、差信号の量子化値として、転送部75に出力する。
 転送部75は、量子化部74からの差信号の量子化値に応じて、イベントとしての輝度変化が発生したと認められる場合、すなわち、差信号(Vout)が閾値電圧Vthより大である場合に、イベントの発生を表すイベントデータを、出力部34に出力する。
 出力部34は、転送部75からのイベントデータに、そのイベントデータが表すイベントが発生した画素51(を有する画素ブロック41)の位置情報、及び、イベントが発生した時刻を表す時刻情報、さらには、必要に応じて、イベントとしての輝度変化の極性を含めて出力する。
 イベントが発生した画素51の位置情報、イベントが発生した時刻を表す時刻情報、イベントとしての輝度変化の極性を含むイベントデータのデータ形式としては、例えば、AER(Address Event Representation)と呼ばれるデータ形式を採用することができる。
 なお、イベント検出部52全体のゲインAは、電流電圧変換部71 のゲインをCGlogとし、バッファ72のゲインを「1」とすると、次の式により表される。
 A=CGlogC1/C2(Σiphoto_n)
                        ・・・(6)
 iphoto_nは、画素ブロック41を構成するI×J個の画素51のうちのn番目の画素51の光電流を表す。式(6)のΣは、nを、1からI×Jまでの整数についてとるサメーションを表す。
 なお、画素51では、カラーフィルタ等の所定の光を透過するフィルタを設けること等により、入射光として、任意の光を受光することができる。例えば、画素51において、入射光として、可視光を受光する場合、イベントデータは、視認することができる被写体が映る画像における画素値の変化の発生を表す。また、例えば、画素51において、入射光として、測距のための赤外線やミリ波等を受光する場合、イベントデータは、被写体までの距離の変化の発生を表す。さらに、例えば、画素51において、入射光として、温度の測定のための赤外線を受光する場合、イベントデータは、被写体の温度の変化の発生を表す。本実施の形態では、画素51において、入射光として、可視光を受光することとする。
 <データ処理部22の構成例>
 図9は、図1のデータ処理部22の構成例を示すブロック図である。
 図9において、データ処理部22は、フレーム間隔設定部111、フレーム幅設定部112、データ生成部113、及び、画像処理部114を有する。
 フレーム間隔設定部111は、例えば、ユーザの操作等に応じて、フレーム間隔を設定し、データ生成部113に供給する。フレーム間隔とは、イベントデータに応じて生成されるフレームデータのフレームの間隔を表し、フレーム間隔は、時間、又は、イベントデータの数により指定して設定することができる。ここで、フレーム間隔設定部111で設定されたフレーム間隔を、設定フレーム間隔ともいう。
 フレーム幅設定部112は、例えば、ユーザの操作等に応じて、フレーム幅を設定し、データ生成部113に供給する。フレーム幅とは、1フレームのフレームデータの生成に用いるイベントデータの時間幅を表し、フレーム幅は、フレーム間隔と同様に、時間、又は、イベントデータの数により指定して設定することができる。ここで、フレーム幅設定部112で設定されたフレーム幅を、設定フレーム幅ともいう。
 データ生成部113は、イベント生成部21からデータ処理部22に出力されるイベントデータに応じて、フレーム形式の画像データであるフレームデータを生成することにより、イベントデータをフレームデータに変換し、画像処理部114に供給する。
 データ生成部113は、フレーム間隔設定部111からの設定フレーム間隔、及び、フレーム幅設定部112からの設定フレーム幅に応じて、フレームデータを生成する。
 すなわち、データ生成部113は、設定フレーム間隔ごとに、設定フレーム間隔の先頭から設定フレーム幅内のイベントデータに応じて、フレームデータを生成する。
 画像処理部114は、データ生成部113から供給されるフレームデータを用いた画像処理、例えば、フレームデータを対象とした認識処理等を行い、画像処理の処理結果(画像処理結果)を、データ処理結果として出力する。
 画像処理部114としては、フレームデータを扱うことができる任意の装置を採用することができる。例えば、ニューラルネットワークにより画像認識を行う装置や、ディスプレイとビューワとしてのソフトウエアとで構成される画像表示装置等を、画像処理部114として採用することができる。
 なお、フレーム幅としては、あらかじめ決められた値を採用することができる。この場合、データ処理部22は、フレーム幅設定部112を設けずに構成することができる。
 また、画像処理部114において、フレームデータを対象とした認識処理が行われ、その認識処理の認識結果の信頼度が得られる場合には、図9において点線で示すように、画像処理部114から認識結果の信頼度を、フレーム間隔設定部111及びフレーム幅設定部112に供給(フィードバック)することができる。この場合、フレーム間隔設定部111及びフレーム幅設定部112では、認識結果の信頼度に応じて、フレーム間隔及びフレーム幅を設定することができる。
 すなわち、フレーム間隔設定部111及びフレーム幅設定部112では、最初に、2通りのデフォルトのフレーム間隔及びフレーム幅を設定することができる。そして、フレーム間隔設定部111及びフレーム幅設定部112では、2通りのデフォルトのフレーム間隔及びフレーム幅に応じて生成されるフレームデータを対象として画像処理部114が認識処理を行うことにより得られる2通りの認識結果の信頼度の変化から、勾配法等の探索アルゴリズムに従って、認識結果の信頼度を向上させる新たなフレーム間隔及びフレーム幅を設定することができる。
 フレーム間隔設定部111及びフレーム幅設定部112では、新たなフレーム間隔及びフレーム幅に対して得られる認識結果の信頼度の変化から、認識結果の信頼度を向上させる、さらに新たなフレーム間隔及びフレーム幅を設定することを、認識結果の信頼度が最大(極大)になるまで繰り返すことができる。
 フレーム間隔設定部111及びフレーム幅設定部112では、以上のように、画像処理部114で行われる画像処理の処理結果(画像処理結果)に応じて、フレーム間隔及びフレーム幅を設定することができる。
 なお、図9において、データ生成部113は、第1のフレーム生成開始時から第1のフレーム生成終了時までの第1の蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づく第1のフレームデータと、第2のフレーム生成開始時から第2のフレーム生成終了時までの第2の蓄積時間で発生したイベントデータに基づく第2のフレームデータとを生成するフレームデータ生成部として機能するということができる。第1の蓄積時間や第2の蓄積時間とは、フレーム幅である。
 フレーム間隔設定部111は、第1のフレーム生成開始時と第2のフレーム生成開始時までの第1のフレーム期間を設定しフレームデータ生成部に供給するフレーム期間設定部として機能するということができる。第1のフレーム期間とは、フレーム間隔である。
 前記フレームデータ生成部としてのデータ生成部113は、第3のフレーム生成開始時から第3のフレーム生成終了時までの第3の蓄積時間で発生したイベントデータに基づく第3のフレームデータをさらに生成することができる。前記フレーム期間設定部としてのフレーム間隔設定部111は、前記第1のフレーム期間と、第2のフレーム生成開始時と第3のフレーム生成開始時までの第2のフレーム期間とが異なるように設定することができる。第2のフレーム期間とは、フレーム間隔である。
 フレーム幅設定部112は、前記第1の蓄積時間と前記第2の蓄積時間を設定し前記フレームデータ生成部としてのデータ生成部113に供給する蓄積時間設定部として機能する。
 前記蓄積時間設定部としてのフレーム幅設定部112は、前記第1の蓄積時間と前記第2の蓄積時間とが異なるように設定することができる。
 データ生成部113は、フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づいてフレームデータを生成するフレームデータ生成部として機能するということができる。蓄積時間とは、フレーム幅である。
 フレーム間隔設定部111は、第1のフレームデータのフレームデータ生成開始時と、第1のフレームデータと連続して生成される第2のフレームデータのフレームデータ生成開始時との間隔であるフレーム期間を設定し前記フレームデータ生成部に供給するフレーム期間設定部として機能するということができる。フレーム期間とは、フレーム間隔である。
 前記フレーム期間設定部としてのフレーム間隔設定部111は、前記フレーム期間を、時間で設定することができる。
 フレーム期間が、時間で設定される場合、前記蓄積時間設定部としてのフレーム幅設定部112は、前記蓄積時間を、時間で設定すること、又は、前記蓄積時間を、前記イベントデータの数に応じて設定することができる。さらに、前記蓄積時間を時間で設定することと、前記イベントデータの数に応じて設定することとを切り替えることができる。
 前記フレーム期間設定部としてのフレーム間隔設定部111は、前記フレーム期間を、前記イベントデータの数に応じて設定することができる。
 フレーム期間が、イベントデータの数に応じて設定される場合、前記蓄積時間設定部としてのフレーム幅設定部112は、前記蓄積時間を、時間で設定すること、又は、前記蓄積時間を、前記イベントデータの数に応じて設定することができる。さらに、前記蓄積時間を時間で設定することと、前記イベントデータの数に応じて設定することとを切り替えることができる。
 データ生成部113は、第1のフレーム生成開始時から第1のフレーム生成終了時までの第1の蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づく第1のフレームデータと、第2のフレーム生成開始時から第2のフレーム生成終了時までの第2の蓄積時間で発生した前記イベントデータに基づく第2のフレームデータとを、第1の蓄積時間と第2の蓄積時間が重畳するように生成するフレームデータ生成部として機能するということができる。第1の蓄積時間と第2の蓄積時間が重畳するとは、後述する重複領域が生じることである。
 フレーム期間を、イベントデータの数に応じて設定する場合、単位時間(例えば、1秒等)当たりの前記イベントデータの数に応じて、単位時間当たりのフレームデータの生成数(データ生成部113で生成されるフレームデータのフレーム数)が変化する。単位時間当たりの前記イベントデータの数が多いほど、単位時間当たりの前記フレームデータの生成数が多くなる。
 データ生成部113は、フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した前記イベントデータに基づいてフレームデータを生成するフレームデータ生成部として機能するということができる。フレーム間隔設定部111は、第1のフレームデータのフレームデータ生成開始時と、前記第1のフレームデータと連続して生成される第2のフレームデータのフレームデータ生成開始時との間隔であるフレーム期間を設定し前記フレームデータ生成部に供給するフレーム期間設定部として機能するということができる。
 後述するように、前記蓄積時間設定部としてのフレーム幅設定部112は、前記フレームデータのフレームを複数の領域に分割した分割領域の単位で、前記蓄積時間を設定することができる。例えば、前記蓄積時間設定部は、前記蓄積時間の適切さを表す評価値に応じて、前記蓄積時間を設定することができる。より具体的には、前記蓄積時間設定部は、前記蓄積時間内の前記イベントデータに応じて生成される前記フレームデータを用いて求められる前記評価値に応じて、前記蓄積時間を設定することができる。
 <イベントデータに応じたフレームデータの生成>
 図10は、図1のイベント生成部21が出力するイベントデータの概要を説明する図である。
 イベント生成部21(の出力部34)は、例えば、図9で説明したように、イベントが発生した時刻を表す時刻情報(以下、イベントの時刻ともいう)ti、イベントが発生した画素51の位置情報(以下、イベントの位置ともいう)としての座標(xi, yi)、及び、イベントとしての輝度変化の極性piを含むイベントデータを出力する。
 イベントデータは、垂直同期信号に同期して、フレーム周期で出力されるフレーム形式の画像データ(フレームデータ)と異なり、イベントの発生ごとに出力される。そのため、イベントデータについては、そのままでは、フレームデータに対応する画像を表示するプロジェクタ等のディスプレイで、画像を表示することや、識別器(分類器)に入力して画像処理に用いることができない。イベントデータは、フレームデータに変換する必要がある。
 ここで、図10のイベントデータにおいて、あるイベントの時刻tiと、そのイベントに隣接するイベントの時刻ti+1との間隔は、一定であるとは限らない。すなわち、イベントの時刻tiとti+1とは、同一の時刻であることもあるし、異なる時刻であることもある。但し、イベントの時刻ti及びti+1については、式ti<=ti+1で表される関係があることとする。
 図11は、イベントデータに応じてフレームデータを生成する方法の概要を説明する図である。
 図11では、x軸、y軸、及び、時間軸tで構成される3次元空間において、イベントデータとしての点が、そのイベントデータに含まれるイベントの時刻t、及び、イベントの位置(としての座標)(x, y)にプロットされている。
 すなわち、イベントデータに含まれるイベントの時刻t、及び、イベントの位置(x, y)で表される3次元空間上の位置(x, y, t)を、イベントの時空間位置ということとすると、図11では、イベントデータが、イベントの時空間位置(x, y, t)に、点としてプロットされている。
 データ生成部113は、例えば、ユーザの操作等によってフレームデータの生成が指示された時刻や、データ処理チップの電源がオンにされた時刻等の所定の時刻を、フレームデータの生成を開始する生成開始時刻として、イベントデータに応じたフレームデータの生成を開始する。
 いま、生成開始時刻から、設定フレーム間隔ごとの、時間軸t方向に、設定フレーム幅の直方体をフレームボリュームということとする。フレームボリュームのx軸方向及びy軸方向のサイズは、例えば、画素ブロック41、又は、画素51のx軸方向及びy軸方向の個数に等しい。
 データ生成部113は、設定フレーム間隔ごとに、設定フレーム間隔の先頭から設定フレーム幅のフレームボリューム内のイベントデータに応じて、1フレームのフレームデータを生成する。
 フレームデータの生成は、例えば、イベントデータに含まれるイベントの位置(x, y)のフレームの画素(の画素値)を白色に、フレームの他の位置の画素をグレー等の所定の色にセットすることで行われる。
 その他、フレームデータの生成は、イベントデータに含まれる極性を考慮して行うことができる。例えば、極性が正である場合には、画素を白色にセットし、極性が負である場合には、画素を黒色にセットすることができる。さらに、図5で説明したように、イベント検出部52において、イベントデータを出力するとともに、画素51の画素信号を出力する場合には、イベントデータに応じ、画素51の画素信号を用いて、フレームデータを生成することができる。すなわち、イベントデータに含まれるイベントの位置(x, y)のフレームの画素を、その位置(x, y)の画素51の画素信号にセットするとともに、フレームの他の位置の画素をグレー等の所定の色にセットすることで、フレームデータを生成することができる。
 なお、フレームボリューム内には、イベントの時刻tが異なるが、イベントの位置(x, y)が同一のイベントデータが複数存在する場合がある。この場合、例えば、イベントの時刻tが最も新しい又は古いイベントデータを優先させることができる。また、イベントデータが極性を含む場合には、イベントの時刻tが異なるが、イベントの位置(x, y)が同一の複数のイベントデータの極性を加算し、その加算により得られる加算値に応じた画素値を、イベントの位置(x, y)の画素にセットすることができる。
 ここで、フレーム幅とフレーム間隔とが同一である場合、フレームボリュームは、隙間なく接した状態となる。また、フレーム間隔がフレーム幅より大である場合、フレームボリュームは、隙間を空けて並んだ状態となる。フレーム幅がフレーム間隔より大である場合、フレームボリュームは、一部が重複する形で並んだ状態となる。
 図12は、フレーム幅及びフレーム間隔の第1の設定方法を示す図である。
 図12では、横軸をイベントの時刻tとするとともに、縦軸をイベントの位置(x, y)として、イベントデータがプロットされている。
 第1の設定方法では、フレーム幅及びフレーム間隔が、時間による指定により、同一の時間であって、比較的短時間に設定される。
 第1の設定方法では、フレーム間隔が短時間であるため、フレームレートの大きいフレームデータを得ることができる。フレームデータのフレームレートが、再生のフレームレート(例えば、30fps(Frame Per Second)等)より大であれば、フレームデータに対応する画像の再生は、スロー再生になる。
 第1の設定方法では、フレーム幅が、短時間のフレーム間隔と同一であるため、フレームボリュームがいわば薄くなり、フレームボリュームに含まれるイベントデータの数が少なくなりやすい。そして、そのような数が少ないイベントデータに応じて生成されるフレームデータに対応する画像は、被写体が明確に現れない(見にくい)画像となりやすく、さらに、そのような画像を対象として画像認識が行われる場合には、十分な認識性能が得られないことがある。
 図13は、フレーム幅及びフレーム間隔の第2の設定方法を示す図である。
 図13では、図12と同様に、横軸をイベントの時刻tとするとともに、縦軸をイベントの位置(x, y)として、イベントデータがプロットされている。
 第2の設定方法では、フレーム幅及びフレーム間隔が、時間による指定により、同一の時間に設定される。但し、第2の設定方法では、フレーム幅及びフレーム間隔は、第1の設定方法よりも長時間に設定される。
 第2の設定方法では、フレーム間隔が、第1の設定方法よりも長時間であるため、イベントデータから生成されるフレームデータのフレームレートは、第1の設定方法よりも小さくなる。フレームデータのフレームレートが、再生のフレームレートより小であれば、フレームデータに対応する画像の再生は、早送り再生になる。
 第2の設定方法では、フレーム幅が、長時間のフレーム間隔と同一であるため、フレームボリュームがいわば厚くなり、フレームボリュームに含まれるイベントデータの数として、ある程度多くの数が確保されやすくなる。そして、そのような数が多いイベントデータに応じて生成されるフレームデータに対応する画像は、被写体が明確に現れる画像となる。
 但し、第2の設定方法では、被写体の動きが激しい場合には、フレームデータに対応する画像は、動きぼけが目立ち、被写体の細かな動きを認識しにくい画像になりやすい。さらに、第2の設定方法では、フレーム間隔が長時間で、フレームデータのフレームレートが小さくなるため、フレームデータに対応する画像に映る被写体の動きが、いわゆるカクカクした状態になることや、フレームデータに対応する画像を対象とした画像認識において、動体(動きのある被写体)の認識性能が十分に得られないことがある。
 図14は、フレーム幅及びフレーム間隔の第3の設定方法を示す図である。
 図14では、図12と同様に、横軸をイベントの時刻tとするとともに、縦軸をイベントの位置(x, y)として、イベントデータがプロットされている。
 ここで、図14では、フレームボリュームとしての矩形が重なって見にくくなることを避けるため、フレームボリュームとしての矩形をやや傾けて図示してある。図14において、フレームボリュームとしての矩形を傾けてあるのは、図が見にくくなることを避けることを目的としており、実際に、フレームボリュームが傾いているのではない。さらに、図14において、フレームボリュームとしての矩形には、太線の矩形と細線の矩形とがあるが、これも、図が見にくくなることを避けることを目的としており、太線の矩形で表されるフレームボリュームと、細線の矩形で表されるフレームボリュームとの間に、違いはない。
 第3の設定方法では、フレーム幅及びフレーム間隔が、時間による指定により、個別の時間に設定される。
 図14のAは、フレーム幅がフレーム間隔よりも長い時間に設定される場合のフレーム間隔及びフレーム幅の設定の例を示している。図14のBは、フレーム幅がフレーム間隔よりも短い時間に設定される場合のフレーム間隔及びフレーム幅の設定の例を示している。
 図14のAでは、フレーム間隔が、第1の設定方法のように短時間に設定され、フレーム幅が、第2の設定方法のように長時間に設定されている。
 図14のAでは、フレーム幅が、第2の設定方法と同様に、長時間であるため、フレームボリュームに含まれるイベントデータの数として、ある程度多くの数が確保されやすくなる。そして、そのような数が多いイベントデータに応じて生成されるフレームデータに対応する画像は、被写体が明確に現れ、視認性の高い画像となる。
 さらに、図14のAでは、フレーム間隔が、第1の設定方法と同様に、短時間であるため、フレームデータのフレームレートとして、ある程度の高フレームレートを確保することができる。したがって、フレームデータに対応する画像として、動きの速い被写体(動体)の動きがスムースに映る画像を得ることができる。
 以上のように、第3の設定方法では、フレーム幅及びフレーム間隔を、異なる時間に、独立に設定することで、適切なフレームデータを得ることができる。すなわち、例えば、視認性が高く、動きがスムースな画像となるフレームデータを得ることができる。したがって、そのようなフレームデータに対応する画像を対象に画像認識を行う場合には、十分な認識性能を得ることができる。
 なお、図14のAでは、フレーム幅がフレーム間隔よりも長い時間に設定されるので、あるフレームの(フレームデータの生成に用いられる)フレームボリュームと、次のフレームのフレームボリュームとは、一部が重複した重複領域を有する。
 この場合、データ生成部113(図9)では、隣接する2つのフレームについては、いずれも、その2つのフレームのフレームボリュームの重複領域内のイベントデータに応じて、フレームデータが生成される。したがって、隣接する2つのフレームについては、重複領域内の同一のイベントデータを共有するフレームデータが生成される、ということができる。
 また、このことは、あるf番目のフレームの次のf+1番目のフレームについて、前のf番目のフレームのフレームデータの生成に用いられた重複領域内のイベントデータを再利用して、フレームデータが生成されると捉えることもできる。
 図14のBでは、フレーム間隔が、フレーム幅よりも長時間に設定されている(フレーム幅が、フレーム間隔よりも短時間に設定されている)。
 フレーム間隔を、フレーム幅よりも長時間に設定することは、例えば、イベントの発生頻度が小さい場合に有効である。すなわち、フレーム間隔を、フレーム幅よりも長時間に設定することにより、同じようなシーンが映るフレームが長時間続くようなフレームデータが生成されることを抑制することができる。
 <データ生成部113の構成例>
 図15は、図9のデータ生成部113の構成例を示すブロック図である。
 図15において、データ生成部113は、メモリ121、メモリ制御部122、フレームデータ生成部123、及び、取得部124を有する。
 メモリ121には、イベント生成部21からのイベントデータが供給される。メモリ121は、イベント生成部21からのイベントデータを記憶する。なお、メモリ121は、その記憶領域に、イベントデータを順次記憶していき、記憶領域のすべてに、イベントデータを記憶した後は、最古のイベントデータに上書きする形で、最新のイベントデータを記憶する。
 メモリ制御部122は、メモリ121からのイベントデータの読み出し等を制御する。メモリ制御部122は、例えば、取得部124から供給される設定フレーム間隔及び設定フレーム幅に応じて、メモリ121を制御することにより、フレームボリューム内のイベントデータを、メモリ121から読み出し、フレームデータ生成部123に供給する。
 フレームデータ生成部123は、メモリ制御部122から供給されるフレームボリューム内のイベントデータに応じて、1フレームのフレームデータを生成し、画像処理部114(図9)に供給する。
 取得部124は、フレーム間隔設定部111から設定フレーム間隔を取得するとともに、フレーム幅設定部112から設定フレーム幅を取得する。そして、取得部124は、設定フレーム間隔及び設定フレーム幅を、メモリ制御部122に供給する。
 図16は、メモリ制御部122によるメモリ121の制御の例を説明する図である。
 メモリ121は、イベント生成部21からのイベントデータを順次(時系列に)記憶していく。
 メモリ制御部122は、例えば、メモリ121に最初に記憶されたイベントデータのイベントの時刻t0から、設定フレーム幅としての時間内に、イベントの時刻tが含まれるイベントデータを、1フレーム目のフレームボリューム内のイベントデータとして、メモリ121から読み出す。
 図16では、イベントの時刻t0のイベントデータから、イベントの時刻t8のイベントデータまでが、1フレーム目のフレームボリューム内のイベントデータとして、メモリ121から読み出され、そのイベントデータに応じて、フレームデータが生成されている。
 メモリ制御部122は、1フレーム目のフレームボリューム内のイベントデータとしてのイベントの時刻t0のイベントデータから、イベントの時刻t8のイベントデータまでを、メモリ121から読み出した後、メモリ121の記憶領域のうちの、1フレーム目のフレームボリュームの先頭(設定フレーム間隔の先頭)の時刻から設定フレーム間隔だけ後の時刻の直前までの時間内に、イベントの時刻tが含まれるイベントデータの記憶領域を解放する。
 図16では、メモリ121において、イベントの時刻t0のイベントデータから、イベントの時刻t5のイベントデータまでの記憶領域が解放されている。メモリ121において解放された記憶領域は、新たなイベントデータを記憶することができる。図16では、イベントの時刻t0のイベントデータから、イベントの時刻t3のイベントデータまでが記憶されていた記憶領域に、イベントの時刻t10のイベントデータから、イベントの時刻t13のイベントデータまでが、上書きする形で記憶されている。
 その後、メモリ制御部122は、メモリ121から直前にイベントデータが読み出されたフレームボリュームの先頭の時刻から設定フレーム間隔だけ後の時刻を、2フレーム目のフレームボリュームの先頭として、その先頭から、設定フレーム幅としての時間内に、イベントの時刻tが含まれるイベントデータを、2フレーム目のフレームボリューム内のイベントデータとして、メモリ121から読み出す。
 図16では、イベントの時刻t6のイベントデータから、イベントの時刻t10のイベントデータまでが、2フレーム目のフレームボリューム内のイベントデータとして、メモリ121から読み出され、そのイベントデータに応じて、フレームデータが生成されている。
 以下、同様にして、3フレーム目以降のイベントデータが読み出される。
 <データ処理部22の処理>
 図17は、図9のデータ処理部22の処理の例を説明するフローチャートである。
 ステップS11において、フレーム間隔設定部111は、フレーム間隔を設定し、データ生成部113に供給するとともに、フレーム幅設定部112は、フレーム幅を設定し、データ生成部113に供給して、処理は、ステップS12に進む。
 ステップS12では、データ生成部113は、フレーム間隔設定部111からのフレーム間隔(設定フレーム間隔)、及び、フレーム幅設定部112からのフレーム幅(設定フレーム幅)、並びに、イベント生成部21(図1)からのイベントデータに応じて、フレームデータを生成するデータ生成処理を行い、処理は、ステップS13に進む。
 ステップS13では、画像処理部114は、ステップS12で行われたデータ生成処理で得られるフレームデータを用いて、画像処理を行う。
 図18は、図17のステップS12でデータ生成部113が行うデータ生成処理の例を説明するフローチャートである。
 データ生成部113(図15)では、ステップS21において、メモリ121が、イベント生成部21からのイベントデータを順次記憶する。
 一方、データ生成部113は、ステップS31において、取得部124が、フレーム間隔設定部111で設定された設定フレーム間隔St、及び、フレーム幅設定部112で設定された設定フレーム幅Itを取得し、メモリ制御部122に供給して、処理は、ステップS32に進む。
 ステップS32では、メモリ制御部122は、フレームボリューム(フレーム間隔)の先頭の時刻(を表す変数)Tを0にセットし、処理は、ステップS33に進む。
 ステップS33では、メモリ制御部122は、イベントの時刻tが、式t<Tを満たすイベントデータが記憶されているメモリ121の記憶領域(メモリ領域)を解放し、処理は、ステップS34に進む。メモリ121において解放された記憶領域には、ステップS21でのイベントデータの記憶が可能になる。
 ステップS34では、メモリ制御部122は、イベントの時刻tが、式T<=t<T+Itを満たすイベントデータを、1フレームのフレームボリューム内のイベントデータとして、メモリ121から読み出し、フレームデータ生成部123に供給する。
 フレームデータ生成部123は、メモリ制御部122からのフレームボリューム内のイベントデータに応じて、フレームデータを生成し、画像処理部114に供給して、処理は、ステップS34からステップS35に進む。
 ステップS35では、メモリ制御部122は、時刻Tを、T+Stに更新する。そして、処理は、ステップS35からステップS33に戻り、以下、同様の処理が繰り返される。
 <フレーム間隔及びフレーム幅のイベントデータの数による指定>
 図19は、フレーム幅及びフレーム間隔の第4の設定方法を示す図である。
 図19では、図12と同様に、横軸をイベントの時刻tとするとともに、縦軸をイベントの位置(x, y)として、イベントデータがプロットされている。
 第4の設定方法では、フレーム間隔が、時間による指定により設定され、フレーム幅が、イベントデータの数による指定により設定される。
 第4の設定方法では、フレーム間隔が、時間により指定されるため、フレーム間隔は、一定の時間となり、したがって、フレームデータのフレームレートは、一定のフレームレートとなる。
 但し、第4の設定方法では、フレーム幅が、イベントデータの数により指定されるため、フレーム幅は、イベントの発生頻度に応じた不定の時間となる。すなわち、フレーム幅が、イベントデータの数により指定された場合、フレームボリューム内のイベントデータの数が、指定された数になるときのフレームボリュームの時間軸t方向の幅が、設定フレーム幅として扱われる。
 したがって、第4の設定方法では、イベントデータの発生頻度が小である場合、フレーム幅としての時間は大になる。一方、イベントデータの発生頻度が大である場合、フレーム幅としての時間は小になる。
 第4の設定方法では、フレームボリューム内のイベントデータの数が、指定された数になるまで待って、その指定された数のイベントデータに応じて、1フレームのフレームデータが生成される。
 したがって、例えば、動体が、画面の左右の一方から他方に移動するようなシーンについては、動体が画面内を動いている間は、その動体の動きによって、短時間に、多数のイベントが発生し、動いている動体が画像に現れるフレームデータが生成される。
 一方、動体が画面内に存在しない状態では、イベントがあまり発生しないため、フレームボリューム内のイベントデータの数が、指定された数になるまでには、長時間を要する。動体が画面内に存在しない状態で発生するイベント(のほとんど)は、例えば、背景の僅かな動きに起因するイベントになる。したがって、動体が画面内に存在しない状態では、長時間に亘って、背景の動きに起因するイベントが、指定された数まで発生するのを待って、フレームデータが生成される。
 この場合、フレームデータに対応する画像には、僅かに動く背景が映る。
 したがって、第4の設定方法によれば、動体が画面内を動いている間は、短い露光時間で撮像を行い、動体が画面内に存在しない間は、長い露光時間で撮像を行うといったような、イベントの発生頻度に応じて、露光時間が適応的に調整されるAE(Automatic Exposure)の機能を実現することができる。
 なお、第3の設定方法及び第4の設定方法のように、フレーム間隔が、時間による指定により設定される場合において、フレーム幅を、第3の設定方法のように、時間による指定により設定するか、又は、第4の設定方法のように、イベントデータの数による指定により設定するかは、適応的に切り替えることができる。
 すなわち、フレーム幅を、時間による指定により設定するか、又は、イベントデータの数による指定により設定するかは、例えば、ユーザの操作に応じて切り替えることができる。
 また、フレーム幅を、時間による指定により設定するか、又は、イベントデータの数による指定により設定するかは、その他、例えば、所定の一定時間内のイベントの発生頻度、すなわち、イベントデータの数に応じて切り替えることができる。
 ここで、フレーム幅を、イベントデータの数による指定により設定する場合には、イベントデータの数が、指定された数になるまで、フレームデータが生成されない。したがって、イベント発生頻度が極端に低い状態が続くと、フレームデータが、長時間生成されない事態が生じる。そこで、所定の一定時間内のイベントの発生頻度があらかじめ設定された閾値を下回る場合には、フレーム幅の設定を、時間による指定により行うことに切り替えることができる。一方、所定の一定時間内のイベントの発生頻度があらかじめ設定された閾値以上である場合には、フレーム幅の設定を、イベントデータの数による指定により行うことに切り替えることができる。
 図20は、フレーム幅及びフレーム間隔の第5の設定方法を示す図である。
 図20では、図12と同様に、横軸をイベントの時刻tとするとともに、縦軸をイベントの位置(x, y)として、イベントデータがプロットされている。
 第5の設定方法では、フレーム幅が、時間による指定により設定され、フレーム間隔が、イベントデータの数による指定により設定される。
 第5の設定方法では、フレーム幅が、時間により指定されるため、フレーム幅は、一定の時間となる。
 但し、第5の設定方法では、フレーム間隔が、イベントデータの数により指定されるため、フレーム間隔は、イベントの発生頻度に応じた不定の時間となる。すなわち、フレーム間隔が、イベントデータの数により指定された場合、フレームボリュームの先頭から次のフレームボリュームの先頭までのイベントデータの数が、指定された数になるときのフレームボリュームの先頭から次のフレームボリュームの先頭までの時間が、設定フレーム間隔として扱われる。
 したがって、第5の設定方法では、イベントデータの発生頻度が小である場合、フレーム間隔としての時間は大になる。一方、イベントデータの発生頻度が大である場合、フレーム間隔としての時間は小になる。
 第5の設定方法では、直前のフレームボリュームの先頭からのイベントデータの数が、指定された数になるタイミングを、最新のフレームボリュームの先頭として、その最新のフレームボリューム内のイベントデータに応じて、1フレームのフレームデータが生成される。
 したがって、例えば、動体が、画面の左右の一方から他方に移動するようなシーンについては、動体が画面内を動いている間は、その動体の動きによって、短時間に、多数のイベントが発生し、フレームデータが生成される頻度が大になる。その結果、フレームデータのフレームレートは大になる。
 一方、動体が画面内に存在しない状態では、イベントがあまり発生しないため、指定された数のイベントデータが発生するまでには、長時間を要する。したがって、動体が画面内に存在しない状態では、フレームデータが生成される頻度が小になり、その結果、フレームデータのフレームレートは小になる。
 したがって、第5の設定方法によれば、動体が画面内を動いている間は、フレームデータのフレームレートが大になり、動体が画面内に存在しない間は、フレームデータのフレームレートが小になるといったような、イベントの発生頻度に応じて、フレームデータのフレームレートが適応的に調整される機能を実現することができる。
 このようなフレームデータのフレームレートの適応的な調整によれば、動体が画面内に存在する場合には、フレームデータのフレームレートが大になるので、連写が行われているかのような状態になる。
 なお、第5の設定方法で得られるフレームデータを、一定のフレームレートで再生する場合には、動体が画面内を動いているシーンでは、フレームデータに対応する画像の再生は、スロー再生になる。一方、動体が画面内に存在しないシーンでは、フレームデータに対応する画像の再生は、早送り再生になる。
 図21は、フレーム幅及びフレーム間隔の第6の設定方法を示す図である。
 図21では、図12と同様に、横軸をイベントの時刻tとするとともに、縦軸をイベントの位置(x, y)として、イベントデータがプロットされている。
 第6の設定方法では、フレーム間隔及びフレーム幅が、いずれも、イベントデータの数による指定により設定される。
 第6の設定方法では、フレーム間隔及びフレーム幅が、イベントデータの数により指定されるため、フレーム間隔及びフレーム幅は、第5の設定方法及び第4の設定方法とそれぞれ同様に、イベントの発生頻度に応じた不定の時間となる。すなわち、イベントの発生頻度が大であれば、フレーム間隔及びフレーム幅としての時間は短時間になり、イベントの発生頻度が小であれば、フレーム間隔及びフレーム幅としての時間は長時間になる。
 したがって、第6の設定方法によれば、第5の設定方法と同様に、動体が画面内を動いている間は、フレームデータのフレームレートが大になり、動体が画面内に存在しない間は、フレームデータのフレームレートが小になるといったような、イベントの発生頻度に応じて、フレームデータのフレームレートが適応的に調整される機能を実現することができる。
 さらに、第6の設定方法によれば、第4の設定方法と同様に、動体が画面内を動いている間は、短い露光時間で撮像を行い、動体が画面内に存在しない間は、長い露光時間で撮像を行うといったような、イベントの発生頻度に応じて、露光時間が適応的に調整されるAEの機能を実現することができる。
 なお、第5の設定方法及び第6の設定方法のように、フレーム間隔が、イベントデータの数による指定により設定される場合において、フレーム幅を、第5の設定方法のように、時間による指定により設定するか、又は、第6の設定方法のように、イベントデータの数による指定により設定するかは、適応的に切り替えることができる。
 すなわち、フレーム幅を、時間による指定により設定するか、又は、イベントデータの数による指定により設定するかは、例えば、図20で説明したように、ユーザの操作や、所定の一定時間内のイベントの発生頻度等に応じて切り替えることができる。
 また、フレーム間隔を、第3の設定方法及び第4の設定方法のように、時間による指定により設定するか、又は、第5の設定方法及び第6の設定方法のように、イベントデータの数による指定により設定するかは、適応的に切り替えることができる。
 すなわち、フレーム間隔を、時間による指定により設定するか、又は、イベントデータの数による指定により設定するかは、例えば、ユーザの操作に応じて切り替えることができる。
 また、フレーム間隔を、時間による指定により設定するか、又は、イベントデータの数による指定により設定するかは、その他、例えば、フレームデータのフレームレートやデータ処理部22の消費電力に応じて切り替えることができる。
 ここで、フレーム間隔を、イベントデータの数による指定により設定する場合には、フレームデータのフレームレートが変わるため、データ処理部22(図1)の消費電力や、フレームデータの記憶に必要な記憶容量、画像処理部114(図9)でフレームデータを対象として行われる画像処理の負荷が変化する。
 そこで、データ処理部22の消費電力を計測し、その消費電力が閾値を超える場合には、フレーム間隔の設定を、時間による指定により行うことに切り替えることができる。一方、データ処理部22の消費電力が閾値以下である場合には、フレーム間隔の設定を、イベントデータの数による指定により行うことに切り替えることができる。これにより、データ処理部22の消費電力の増大を抑制することができる。
 その他、フレーム間隔を、時間による指定により設定するか、又は、イベントデータの数による指定により設定するかは、フレームデータの記憶に必要な記憶容量や、画像処理部114でフレームデータを対象として行われる画像処理の負荷等に応じて切り替えることができる。
 <本技術を適用したコンピュータの説明>
 次に、データ処理部22の一連の処理は、ハードウエアにより行うこともできるし、ソフトウエアにより行うこともできる。一連の処理をソフトウエアによって行う場合には、そのソフトウエアを構成するプログラムが、マイクロコンピュータ等のコンピュータ等にインストールされる。
 図22は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。
 プログラムは、コンピュータに内蔵されている記録媒体としてのROM903に予め記録しておくことができる。
 あるいはまた、プログラムは、リムーバブル記録媒体に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
 なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードしてインストールすることができる。
 コンピュータは、CPU(Central Processing Unit)902を内蔵しており、CPU902には、バス901を介して、ROM903及びRAM904が接続されている。
 CPU902は、ROM(Read Only Memory)903に格納されているプログラムを実行する。
 これにより、CPU902は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。
 ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
 また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
 <移動体への応用例>
 本開示に係る技術(本技術)は、様々な製品へ応用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車、自転車、パーソナルモビリティ、飛行機、ドローン、船舶、ロボット等のいずれかの種類の移動体に搭載される装置として実現されてもよい。
 図23は、本開示に係る技術が適用され得る移動体制御システムの一例である車両制御システムの概略的な構成例を示すブロック図である。
 車両制御システム12000は、通信ネットワーク12001を介して接続された複数の電子制御ユニットを備える。図23に示した例では、車両制御システム12000は、駆動系制御ユニット12010、ボディ系制御ユニット12020、車外情報検出ユニット12030、車内情報検出ユニット12040、及び統合制御ユニット12050を備える。また、統合制御ユニット12050の機能構成として、マイクロコンピュータ12051、音声画像出力部12052、及び車載ネットワークI/F(interface)12053が図示されている。
 駆動系制御ユニット12010は、各種プログラムにしたがって車両の駆動系に関連する装置の動作を制御する。例えば、駆動系制御ユニット12010は、内燃機関又は駆動用モータ等の車両の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構、車両の舵角を調節するステアリング機構、及び、車両の制動力を発生させる制動装置等の制御装置として機能する。
 ボディ系制御ユニット12020は、各種プログラムにしたがって車体に装備された各種装置の動作を制御する。例えば、ボディ系制御ユニット12020は、キーレスエントリシステム、スマートキーシステム、パワーウィンドウ装置、あるいは、ヘッドランプ、バックランプ、ブレーキランプ、ウィンカー又はフォグランプ等の各種ランプの制御装置として機能する。この場合、ボディ系制御ユニット12020には、鍵を代替する携帯機から発信される電波又は各種スイッチの信号が入力され得る。ボディ系制御ユニット12020は、これらの電波又は信号の入力を受け付け、車両のドアロック装置、パワーウィンドウ装置、ランプ等を制御する。
 車外情報検出ユニット12030は、車両制御システム12000を搭載した車両の外部の情報を検出する。例えば、車外情報検出ユニット12030には、撮像部12031が接続される。車外情報検出ユニット12030は、撮像部12031に車外の画像を撮像させるとともに、撮像された画像を受信する。車外情報検出ユニット12030は、受信した画像に基づいて、人、車、障害物、標識又は路面上の文字等の物体検出処理又は距離検出処理を行ってもよい。
 撮像部12031は、光を受光し、その光の受光量に応じた電気信号を出力する光センサである。撮像部12031は、電気信号を画像として出力することもできるし、測距の情報として出力することもできる。また、撮像部12031が受光する光は、可視光であっても良いし、赤外線等の非可視光であっても良い。
 車内情報検出ユニット12040は、車内の情報を検出する。車内情報検出ユニット12040には、例えば、運転者の状態を検出する運転者状態検出部12041が接続される。運転者状態検出部12041は、例えば運転者を撮像するカメラを含み、車内情報検出ユニット12040は、運転者状態検出部12041から入力される検出情報に基づいて、運転者の疲労度合い又は集中度合いを算出してもよいし、運転者が居眠りをしていないかを判別してもよい。
 マイクロコンピュータ12051は、車外情報検出ユニット12030又は車内情報検出ユニット12040で取得される車内外の情報に基づいて、駆動力発生装置、ステアリング機構又は制動装置の制御目標値を演算し、駆動系制御ユニット12010に対して制御指令を出力することができる。例えば、マイクロコンピュータ12051は、車両の衝突回避あるいは衝撃緩和、車間距離に基づく追従走行、車速維持走行、車両の衝突警告、又は車両のレーン逸脱警告等を含むADAS(Advanced Driver Assistance System)の機能実現を目的とした協調制御を行うことができる。
 また、マイクロコンピュータ12051は、車外情報検出ユニット12030又は車内情報検出ユニット12040で取得される車両の周囲の情報に基づいて駆動力発生装置、ステアリング機構又は制動装置等を制御することにより、運転者の操作に拠らずに自律的に走行する自動運転等を目的とした協調制御を行うことができる。
 また、マイクロコンピュータ12051は、車外情報検出ユニット12030で取得される車外の情報に基づいて、ボディ系制御ユニット12020に対して制御指令を出力することができる。例えば、マイクロコンピュータ12051は、車外情報検出ユニット12030で検知した先行車又は対向車の位置に応じてヘッドランプを制御し、ハイビームをロービームに切り替える等の防眩を図ることを目的とした協調制御を行うことができる。
 音声画像出力部12052は、車両の搭乗者又は車外に対して、視覚的又は聴覚的に情報を通知することが可能な出力装置へ音声及び画像のうちの少なくとも一方の出力信号を送信する。図23の例では、出力装置として、オーディオスピーカ12061、表示部12062及びインストルメントパネル12063が例示されている。表示部12062は、例えば、オンボードディスプレイ及びヘッドアップディスプレイの少なくとも一つを含んでいてもよい。
 図24は、撮像部12031の設置位置の例を示す図である。
 図24では、車両12100は、撮像部12031として、撮像部12101,12102,12103,12104,12105を有する。
 撮像部12101,12102,12103,12104,12105は、例えば、車両12100のフロントノーズ、サイドミラー、リアバンパ、バックドア及び車室内のフロントガラスの上部等の位置に設けられる。フロントノーズに備えられる撮像部12101及び車室内のフロントガラスの上部に備えられる撮像部12105は、主として車両12100の前方の画像を取得する。サイドミラーに備えられる撮像部12102,12103は、主として車両12100の側方の画像を取得する。リアバンパ又はバックドアに備えられる撮像部12104は、主として車両12100の後方の画像を取得する。撮像部12101及び12105で取得される前方の画像は、主として先行車両又は、歩行者、障害物、信号機、交通標識又は車線等の検出に用いられる。
 なお、図24には、撮像部12101ないし12104の撮影範囲の一例が示されている。撮像範囲12111は、フロントノーズに設けられた撮像部12101の撮像範囲を示し、撮像範囲12112,12113は、それぞれサイドミラーに設けられた撮像部12102,12103の撮像範囲を示し、撮像範囲12114は、リアバンパ又はバックドアに設けられた撮像部12104の撮像範囲を示す。例えば、撮像部12101ないし12104で撮像された画像データが重ね合わせられることにより、車両12100を上方から見た俯瞰画像が得られる。
 撮像部12101ないし12104の少なくとも1つは、距離情報を取得する機能を有していてもよい。例えば、撮像部12101ないし12104の少なくとも1つは、複数の撮像素子からなるステレオカメラであってもよいし、位相差検出用の画素を有する撮像素子であってもよい。
 例えば、マイクロコンピュータ12051は、撮像部12101ないし12104から得られた距離情報を基に、撮像範囲12111ないし12114内における各立体物までの距離と、この距離の時間的変化(車両12100に対する相対速度)を求めることにより、特に車両12100の進行路上にある最も近い立体物で、車両12100と略同じ方向に所定の速度(例えば、0km/h以上)で走行する立体物を先行車として抽出することができる。さらに、マイクロコンピュータ12051は、先行車の手前に予め確保すべき車間距離を設定し、自動ブレーキ制御(追従停止制御も含む)や自動加速制御(追従発進制御も含む)等を行うことができる。このように運転者の操作に拠らずに自律的に走行する自動運転等を目的とした協調制御を行うことができる。
 例えば、マイクロコンピュータ12051は、撮像部12101ないし12104から得られた距離情報を元に、立体物に関する立体物データを、2輪車、普通車両、大型車両、歩行者、電柱等その他の立体物に分類して抽出し、障害物の自動回避に用いることができる。例えば、マイクロコンピュータ12051は、車両12100の周辺の障害物を、車両12100のドライバが視認可能な障害物と視認困難な障害物とに識別する。そして、マイクロコンピュータ12051は、各障害物との衝突の危険度を示す衝突リスクを判断し、衝突リスクが設定値以上で衝突可能性がある状況であるときには、オーディオスピーカ12061や表示部12062を介してドライバに警報を出力することや、駆動系制御ユニット12010を介して強制減速や回避操舵を行うことで、衝突回避のための運転支援を行うことができる。
 撮像部12101ないし12104の少なくとも1つは、赤外線を検出する赤外線カメラであってもよい。例えば、マイクロコンピュータ12051は、撮像部12101ないし12104の撮像画像中に歩行者が存在するか否かを判定することで歩行者を認識することができる。かかる歩行者の認識は、例えば赤外線カメラとしての撮像部12101ないし12104の撮像画像における特徴点を抽出する手順と、物体の輪郭を示す一連の特徴点にパターンマッチング処理を行って歩行者か否かを判別する手順によって行われる。マイクロコンピュータ12051が、撮像部12101ないし12104の撮像画像中に歩行者が存在すると判定し、歩行者を認識すると、音声画像出力部12052は、当該認識された歩行者に強調のための方形輪郭線を重畳表示するように、表示部12062を制御する。また、音声画像出力部12052は、歩行者を示すアイコン等を所望の位置に表示するように表示部12062を制御してもよい。
 以上、本開示に係る技術が適用され得る車両制御システムの一例について説明した。本開示に係る技術は、以上説明した構成のうち、例えば、撮像部12031に適用され得る。具体的には、図1のデータ処理チップは、撮像部12031に適用することができる。撮像部12031に本開示に係る技術を適用することにより、適切なフレームデータを得て、そのフレームデータの画像処理により、適切な運転支援を行うことができる。
 <フレーム間隔及びフレーム幅を設定する設定方法の一覧>
 図25は、フレーム間隔及びフレーム幅を設定する設定方法の一覧を示す図である。
 図25を参照して、本技術のフレーム間隔及びフレーム幅の設定方法について、再度説明する。
 第3の設定方法(図14)では、フレーム間隔及びフレーム幅が、それぞれ、時間で(時間による指定により)設定される。第4の設定方法(図19)では、フレーム間隔が、時間で設定され、フレーム幅が、イベントデータ数で(イベントデータの数による指定により)設定される。第5の設定方法(図20)では、フレーム間隔が、イベントデータ数で設定され、フレーム幅が、時間で設定される。第6の設定方法(図21)では、フレーム間隔及びフレーム幅が、それぞれ、イベントデータ数で設定される。
 <フレームデータのフレーム全体に1つのフレーム幅が設定される場合に生成されるフレームデータの例>
 図26は、フレームデータのフレーム全体に1つのフレーム幅が設定される場合に生成されるフレームデータの例を示す図である。
 図26では、イベントの発生頻度を表すイベントレートが高い被写体(例えば、高速で移動している被写体)と、イベントレートが低い被写体(例えば、極めて低速で、又は、ほぼ静止している被写体)とが混在する。フレーム全体に、1つのフレーム幅が設定される場合には、イベントレートが高い被写体と、イベントレートが低い被写体とが混在すると、フレームボリュームには、イベントレートが高い被写体によるイベントデータが多く含まれ、イベントレートが低い被写体によるイベントデータがあまり含まれない状態になる。
 フレームボリュームに含まれるイベントデータが多すぎる被写体については、フレームデータに対応する画像において、被写体の輪郭がぶれて現れることがある。一方、フレームボリュームに含まれるイベントデータが少なすぎる被写体については、フレームデータに対応する画像において、被写体の輪郭が鮮明に現れず、被写体の視認性が低下することがある。さらに、そのような画像を対象として画像認識が行われる場合には、十分な認識性能が得られないことがある。
 そこで、フレーム幅は、フレームデータのフレームを複数の領域に分割した分割領域の単位で設定することができる。
 <分割領域の単位でのフレーム幅の設定>
 図27は、フレームを分割領域に分割する分割の仕方の例を示す図である。
 フレームは、例えば、横方向に等分するように、4個の分割領域に分割することができる。また、フレームは、横方向及び縦方向に等分するように、横×縦が4×4個の分割領域に分割することができる。フレームは、その他の方法で、分割領域に分割することができる。また、フレームは、サイズが異なる複数の分割領域に分割することができる。
 フレーム幅は、分割領域ごとに設定することができる。
 図28は、分割領域ごとにフレーム幅が設定される場合に生成されるフレームデータの例を示す図である。
 図28では、図26と同様に、イベントレートが高い被写体と、イベントレートが低い被写体とが混在する。そして、図28では、イベントレートが高い被写体が映る分割領域には、フレーム幅として、例えば、所定時間より短い時間が設定されている。また、イベントレートが低い被写体が映る分割領域には、フレーム幅として、例えば、所定時間より長い時間が設定されている。
 その結果、図28では、イベントレートが高い被写体と、イベントレートが低い被写体とについて、イベントデータが、それほど差のない数で、フレームボリュームに含まれる。これにより、フレームデータに対応する画像において、イベントレートが高い被写体、及び、イベントレートが低い被写体のいずれについても、被写体の輪郭が鮮明に現れる。
 したがって、フレームデータに対応する画像に映る被写体の視認性を向上させることができる。さらに、フレームデータに対応する画像を対象として画像認識が行われる場合には、十分な認識性能を得ることができる。なお、フレーム幅を、イベントデータ数で設定する場合には、例えば、イベントレートが高い被写体が映る分割領域、及び、イベントレートが低い被写体が映る分割領域のいずれにも、同一の、適切なイベントデータ数、すなわち、例えば、被写体の輪郭が鮮明に現れるイベントデータ数を、フレーム幅として設定することができる。この場合、イベントレートが高い被写体が映る分割領域については、フレーム幅としての時間は、イベントレートが低い被写体が映る分割領域についてのフレーム幅としての時間よりも短くなり、イベントレートが低い被写体が映る分割領域については、フレーム幅としての時間は、イベントレートが高い被写体が映る分割領域についてのフレーム幅としての時間よりも長くなる。
 図29は、分割領域ごとにフレーム幅としてのイベントデータ数を設定する場合の設定方法の例を示すフローチャートである。
 ここで、フレーム幅としてのイベントデータ数を設定しようとする分割領域を、注目領域ともいう。図29は、注目領域のフレーム幅の設定方法を示すフローチャートである。
 注目領域のフレーム幅は、そのフレーム幅の適切さを表す評価値Fに応じて設定することができる。注目領域について、評価値Fは、注目領域のフレーム幅のフレームボリューム内のイベントデータに応じて生成される注目領域のフレームデータ(に対応する画像)に応じて求めることができる。
 注目領域のフレーム幅の設定では、ステップS101において、フレーム幅設定部112(図9)は、変数p,q,rを初期値としての0にセットし、処理は、ステップS102に進む。
 pは、フレーム幅としてのイベントデータ数の候補を表す変数であり、qは、フレーム幅としてのイベントデータの数を表す変数である。rは、変数pが表すフレーム幅の適切さを表す評価値F、すなわち、イベントデータ数の候補(を表す変数)pを、フレーム幅(としてのイベントデータ数)とすることの適切さを表す評価値Fの閾値を表す変数である。
 ステップS102では、フレーム幅設定部112は、変数pが、あらかじめ決められたフレーム幅としてのイベントデータ数の最大値である閾値p_maxより大きいかどうかを判定する。ステップS102において、変数pが閾値p_maxより大きくないと判定された場合、処理は、ステップS103に進む。
 ステップS103では、フレーム幅設定部112は、変数p、すなわち、フレーム幅としてのイベントデータ数の候補pを、仮のフレーム幅pに設定し、その仮のフレーム幅pのフレームボリューム内のイベントデータに応じて生成される注目領域の各画素の画素値としてのフレームデータI(x,y)を用いて、評価値Fを求め、処理は、ステップS104に進む。I(x,y)は、注目領域内の位置(x,y)の画素の画素値を表す。
 ステップS104では、フレーム幅設定部112は、評価値Fが、閾値(を表す変数)rより大きいかどうかを判定する。ステップS104において、評価値Fが閾値rより大きくないと判定された場合、処理は、ステップS105をスキップして、ステップS106に進む。
 また、ステップS104において、評価値Fが閾値rより大きいと判定された場合、処理は、ステップS105に進む。ステップS105では、フレーム幅設定部112は、変数qを、仮のフレーム幅pに更新するとともに、閾値rを、評価値Fに更新し、処理は、ステップS106に進む。
 ステップS106では、フレーム幅設定部112は、変数pを、あらかじめ決められた値δpだけインクリメントする。そして、処理は、ステップS106からステップS102に戻り、以下、同様の処理が繰り返される。
 その後、ステップS102において、変数pが閾値p_maxより大きいと判定された場合、処理は、ステップS107に進む。ステップS107では、フレーム幅設定部112は、注目領域のフレーム幅として、変数qを設定し、処理は、終了する。
 なお、図29では、イベントデータ数により指定されるフレーム幅を、分割領域ごとに設定する設定方法を説明したが、図29の設定方法は、時間により指定されるフレーム幅を、分割領域ごとに設定する場合にも適用することができる。時間により指定されるフレーム幅を、分割領域ごとに設定する場合には、図29において、変数pは、フレーム幅としての時間の候補を表し、変数qは、フレーム幅としての時間を表す。また、p_maxは、あらかじめ決められたフレーム幅としての時間の最大値を表す。
 図30は、評価値Fの例を示す図である。
 図30において、横軸は、フレーム幅としてのイベントデータ数又は時間を表し、縦軸は、評価値Fを表す。
 評価値Fとしては、例えば、図30に示すように、注目領域のフレーム幅としてのイベントデータ数又は時間が適切な値である場合に値がより大きくなる関数を採用することができる。
 注目領域のフレーム幅としてのイベントデータ数が適切な数である場合とは、注目領域において、イベントデータ数が少なすぎるために、被写体の輪郭が十分に現れていない状態でもなく、かつ、イベントデータ数が多すぎるために、被写体の輪郭がぶれる状態でもない、被写体の輪郭が鮮明に現れる状態を意味する。
 評価値Fとしては、例えば、注目領域に、1画素又は複数画素の幅の線が存在する場合に大きくなる値(関数)を採用することができる。具体的には、評価値Fとしては、以下のような値を採用することができる。
 行列AX及びAYを、式(7)で表すこととする。
Figure JPOXMLDOC01-appb-M000001
                         ・・・(7)
 また、fX(x,y)及びfY(x,y)を、式(8)で表すこととする。
Figure JPOXMLDOC01-appb-M000002
                         ・・・(8)
 fX(x,y)及びfY(x,y)は、それぞれ、縦方向及び横方向に、1画素の幅の線が存在すると絶対値が大きくなる。評価値Fは、例えば、式(9)で表すことができる。
Figure JPOXMLDOC01-appb-M000003
                         ・・・(9)
 式(9)のサメーションは、注目領域内の画素についてとられる。
 なお、行列AX及びAYの各要素の値は、式(7)に限定されるものではない。さらに、行列AX及びAYの要素数及び構成(サイズ)は、横×縦が3×3の要素に限定されるものではない。さらに、評価値Fは、式(9)に示したように、fX(x,y)及びfY(x,y)それぞれの自乗の和の平方根のサメーションをとった値に限定されるものではない。例えば、評価値Fとしては、式(10)に示すように、fX(x,y)及びfY(x,y)それぞれの自乗の和のサメーションをとった値を採用することができる。また、評価値Fは、例えば、式(11)に示すように、fX(x,y)及びfY(x,y)そのものを加算してサメーションをとることや、式(12)に示すように、fX(x,y)及びfY(x,y)のうちの大きい方を選択してサメーションをとること等により求めることができる。その他、評価値Fは、イベントデータに応じて生成されるフレームデータに対応する画像として、所望の画像(線幅等)が得られるときに最大値(又は最小値)をとるように設計することができる。
Figure JPOXMLDOC01-appb-M000004
                         ・・・(10)
Figure JPOXMLDOC01-appb-M000005
                         ・・・(11)
Figure JPOXMLDOC01-appb-M000006
                         ・・・(12)
 <イベント検出部52の他の構成例>
 図31は、イベント検出部52の他の構成例を示す図である。
 図31において、イベント検出部52は、減算器430、量子化器440、メモリ451、及び、コントローラ452を有する。減算器430及び量子化器440は、減算部73及び量子化部74にそれぞれ対応する。
 なお、図31において、イベント検出部52は、電流電圧変換部71及びバッファ72に対応するブロックをさらに有するが、図31では、図示を省略してある。
 減算器430は、コンデンサ431、オペアンプ432、コンデンサ433、及び、スイッチ434を有する。コンデンサ431ないしスイッチ434は、コンデンサ91ないしスイッチ94にそれぞれ対応する。
 量子化器440は、コンパレータ441を有する。コンパレータ441は、コンパレータ101に対応する。
 コンパレータ441は、減算器430からの電圧信号(差信号)と、反転入力端子(-)に印加された所定の閾値電圧Vthとを比較するものである。コンパレータ441は、比較結果を示す信号を検出信号(量子化値)として出力する。
 減算器430からの電圧信号がコンパレータ441の入力端子(-)に、所定の閾値電圧Vthがコンパレータ441の入力端子(+)に入力されてもよい。
 コントローラ452は、コンパレーター441の反転入力端子(-)に印加される所定の閾値電圧Vthを供給する。供給される閾値電圧Vthは、時分割で異なる電圧値であってもよい。例えば、 コントローラ452はONイベント(例えば、光電流のプラスの変化)に対応する閾値電圧Vth1とOFFイベント(例えば、光電流のマイナスの変化)に対応する閾値電圧Vth2を異なるタイミングで供給することで、1つのコンパレータで複数種類のアドレスイベント(イベント)の検出が可能になる。
 メモリ451は、コントローラ452から供給されるSample signalに基づいて、コンパレーター441の出力を蓄積する。 メモリ451は、スイッチ、プラスチック、容量などのサンプリング回路でもよいし、ラッチやフリップフロップなどのデジタルメモリ回路でもあってもよい。例えば、 メモリ451は、コンパレータ441の反転入力端子(-)にOFFイベントに対応する閾値電圧Vth2が供給されている期間に、 ONイベントに対応する閾値電圧Vth1を用いたコンパレータ441の比較結果を保持していてもよい。尚、メモリ451は無くても、画素(画素ブロック41)内部にあっても、画素外部にあってもよい。
 <スキャン方式>
 図1のデータ処理チップは、非同期型の読出し方式にてイベントを読み出す非同期型の撮像装置である。但し、イベントの読出し方式としては、非同期型の読出し方式に限られるものではなく、同期型の読出し方式であってもよい。同期型の読出し方式が適用される撮像装置は、所定のフレームレートで撮像を行う通常の撮像装置と同じ、スキャン方式の撮像装置である。
 図32は、スキャン方式の撮像装置の構成例を示すブロック図である。
 図32に示すように、撮像装置510は、画素アレイ部521、駆動部522、信号処理部525、読出し領域選択部527、及び、信号生成部528を備える構成となっている。
 画素アレイ部521は、複数の画素530を含む。複数の画素530は、読出し領域選択部527の選択信号に応答して出力信号を出力する。複数の画素530のそれぞれについては、例えば図31に示すように、画素内に量子化器を持つ構成とすることもできる。複数の画素530は、光の強度の変化量に対応する出力信号を出力する。複数の画素530は、図32に示すように、行列状に2次元配置されていてもよい。
 駆動部522は、複数の画素530のそれぞれを駆動して、各画素530で生成された画素信号を信号処理部525に出力線514から出力させる。尚、駆動部522及び信号処理部525については、階調情報を取得するための回路部である。従って、イベント情報(イベントデータ)のみを取得する場合は、駆動部522及び信号処理部525は無くてもよい。
 読出し領域選択部527は、画素アレイ部521に含まれる複数の画素530のうちの一部を選択する。例えば、読出し領域選択部527は、画素アレイ部521に対応する2次元行列の構造に含まれる行のうちのいずれか1つもしくは複数の行を選択する。読出し領域選択部527は、予め設定された周期に応じて1つもしくは複数の行を順次選択する。また、読出し領域選択部527は、画素アレイ部521の各画素530からのリクエストに応じて選択領域を決定してもよい。
 信号生成部528は、読出し領域選択部527によって選択された画素530の出力信号に基づいて、選択された画素530のうちのイベントを検出した活性画素に対応するイベント信号を生成する。イベントは、光の強度が変化するイベントである。活性画素は、出力信号に対応する光の強度の変化量が予め設定された閾値を超える、又は、下回る画素530である。例えば、信号生成部528は、画素530の出力信号を基準信号と比較し、基準信号よりも大きい又は小さい場合に出力信号を出力する活性画素を検出し、当該活性画素に対応するイベント信号(イベントデータ)を生成する。
 信号生成部528については、例えば、信号生成部528に入ってくる信号を調停するような列選択回路を含む構成とすることができる。また、信号生成部528については、イベントを検出した活性画素の情報の出力のみならず、イベントを検出しない非活性画素の情報も出力する構成とすることができる。
 信号生成部528からは、出力線515を通して、イベントを検出した活性画素のアドレス情報及びタイムスタンプ情報(例えば、(X,Y,T))が出力される。但し、信号生成部528から出力されるデータについては、アドレス情報及びタイムスタンプ情報だけでなく、フレーム形式の情報(例えば、(0,0,1,0,・・・))であってもよい。
 なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 なお、本技術は、以下の構成をとることができる。
 <1>
 第1のフレーム生成開始時から第1のフレーム生成終了時までの第1の蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づく第1のフレームデータと、第2のフレーム生成開始時から第2のフレーム生成終了時までの第2の蓄積時間で発生したイベントデータに基づく第2のフレームデータとを生成するフレームデータ生成部と、
 第1のフレーム生成開始時と第2のフレーム生成開始時までの第1のフレーム期間を設定し前記フレームデータ生成部に供給するフレーム期間設定部と
 を備えるデータ処理装置。
 <2>
 前記フレームデータ生成部は、
 第3のフレーム生成開始時から第3のフレーム生成終了時までの第3の蓄積時間で発生したイベントデータに基づく第3のフレームデータをさらに生成し、
 前記フレーム期間設定部は、
 前記第1のフレーム期間と、第2のフレーム生成開始時と第3のフレーム生成開始時までの第2のフレーム期間とが異なるように設定する
 <1>に記載のデータ処理装置。
 <3>
 前記第1の蓄積時間と前記第2の蓄積時間を設定し前記フレームデータ生成部に供給する蓄積時間設定部をさらに備える
 <1>又は<2>に記載のデータ処理装置。
 <4>
 前記蓄積時間設定部は、
 前記第1の蓄積時間と前記第2の蓄積時間とが異なるように設定する
 <3>に記載のデータ処理装置。
 <5>
 フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づいてフレームデータを生成するフレームデータ生成部と、
 第1のフレームデータのフレームデータ生成開始時と、第1のフレームデータと連続して生成される第2のフレームデータのフレームデータ生成開始時との間隔であるフレーム期間を設定し前記フレームデータ生成部に供給するフレーム期間設定部と
 を備えるデータ処理装置。
 <6>
 前記蓄積時間を設定し前記フレームデータ生成部に供給する蓄積時間設定部をさらに備える
 <5>に記載のデータ処理装置。
 <7>
 前記フレーム期間設定部は、前記フレーム期間を、時間で設定する
 <5>又は<6>に記載のデータ処理装置。
 <8>
 前記蓄積時間設定部は、前記蓄積時間を、時間で設定する
 <6>に記載のデータ処理装置。
 <9>
 前記蓄積時間設定部は、前記蓄積時間を、前記イベントデータの数に応じて設定する
 <6>に記載のデータ処理装置。
 <10>
 前記蓄積時間設定部は、前記蓄積時間を時間で設定することと、前記イベントデータの数に応じて設定することとを切り替える
 <6>に記載のデータ処理装置。
 <11>
 前記フレーム期間設定部は、前記フレーム期間を、前記イベントデータの数に応じて設定する
 <5>に記載のデータ処理装置。
 <12>
 前記蓄積時間を設定し前記フレームデータ生成部に供給する蓄積時間設定部をさらに備え、
 前記蓄積時間設定部は、前記蓄積時間を、時間で設定する
 <11>に記載のデータ処理装置。
 <13>
 前記蓄積時間を設定し前記フレームデータ生成部に供給する蓄積時間設定部をさらに備え、
 前記蓄積時間設定部は、前記蓄積時間を、前記イベントデータの数に応じて設定する
 <11>に記載のデータ処理装置。
 <14>
 前記蓄積時間を設定し前記フレームデータ生成部に供給する蓄積時間設定部をさらに備え、
 前記蓄積時間設定部は、前記蓄積時間を時間で設定することと、前記イベントデータの数に応じて設定することとを切り替える
 <11>に記載のデータ処理装置。
 <15>
 前記フレーム期間設定部は、前記フレーム期間を時間で設定することと、前記イベントデータの数に応じて設定することとを切り替える
 <5>又は<6>に記載のデータ処理装置。
 <16>
 フレームデータ生成部が、フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づいてフレームデータを生成することと、
 第1のフレームデータのフレームデータ生成開始時と、前記第1のフレームデータと連続して生成される第2のフレームデータのフレームデータ生成開始時との間隔であるフレーム期間を設定し前記フレームデータ生成部に供給することと
 を含むデータ処理方法。
 <17>
 フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づいてフレームデータを生成するフレームデータ生成部と、
 第1のフレームデータのフレームデータ生成開始時と、前記第1のフレームデータと連続して生成される第2のフレームデータのフレームデータ生成開始時との間隔であるフレーム期間を設定し前記フレームデータ生成部に供給するフレーム期間設定部と
 して、コンピュータを機能させるためのプログラム。
 <18>
 第1のフレーム生成開始時から第1のフレーム生成終了時までの第1の蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づく第1のフレームデータと、第2のフレーム生成開始時から第2のフレーム生成終了時までの第2の蓄積時間で発生した前記イベントデータに基づく第2のフレームデータとを、
 第1の蓄積時間と第2の蓄積時間が重畳するように生成するフレームデータ生成部
 を備えるデータ処理装置。
 <19>
 第1のフレーム生成開始時から第1のフレーム生成終了時までの第1の蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づく第1のフレームデータと、第2のフレーム生成開始時から2のフレーム生成終了時までの第2の蓄積時間で発生した前記イベントデータに基づく第2のフレームデータとを、
 第1の蓄積時間と第2の蓄積時間が重畳するように生成する
 ことを含むデータ処理方法。
 <20>
 第1のフレーム生成開始時から第1のフレーム生成終了時までの第1の蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づく第1のフレームデータと、第2のフレーム生成開始時から2のフレーム生成終了時までの第2の蓄積時間で発生した前記イベントデータに基づく第2のフレームデータとを、
 第1の蓄積時間と第2の蓄積時間が重畳するように生成するフレームデータ生成部
 として、コンピュータを機能させるためのプログラム。
 <21>
 フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づいてフレームデータを生成し、
 単位時間当たりの前記イベントデータの数に応じて、単位時間当たりの前記フレームデータの生成数が変化する
 データ処理装置。
 <22>
 単位時間当たりの前記イベントデータの数が多いほど、単位時間当たりの前記フレームデータの生成数が多い
 <21>に記載のデータ処理装置。
 <23>
 光電変換を行って電気信号を生成する画素を有し、前記画素の前記電気信号の変化であるイベントの発生を表すイベントデータを生成するイベント生成部と、
 フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した前記イベントデータに基づいてフレームデータを生成するフレームデータ生成部と、
 第1のフレームデータのフレームデータ生成開始時と、前記第1のフレームデータと連続して生成される第2のフレームデータのフレームデータ生成開始時との間隔であるフレーム期間を設定し前記フレームデータ生成部に供給するフレーム期間設定部と
 を備えるデータ処理部
 を備えるデータ処理装置。
 <24>
 前記フレームデータを用いて、画像処理を行う画像処理部をさらに備える
 <23>に記載のデータ処理装置。
 <25>
 前記画像処理部は、前記フレームデータを対象とした認識処理を行う
 <24>に記載のデータ処理装置。
 <26>
 複数のダイが積層された半導体チップで構成される
 <23>ないし<25>のいずれかに記載のデータ処理装置。
 <27>
 光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントの発生を表すイベントデータを生成することと、
 フレームデータ生成部が、フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した前記イベントデータに基づいてフレームデータを生成することと、
 第1のフレームデータのフレームデータ生成開始時と、前記第1のフレームデータと連続して生成される第2のフレームデータのフレームデータ生成開始時との間隔であるフレーム期間を設定し前記フレームデータ生成部に供給することと
 を含むデータ処理方法。
 <28>
 前記蓄積時間設定部は、前記フレームデータのフレームを複数の領域に分割した分割領域の単位で、前記蓄積時間を設定する
 <6>、<8>、<9>、<12>、又は、<13>に記載のデータ処理装置。
 <29>
 前記蓄積時間設定部は、前記蓄積時間の適切さを表す評価値に応じて、前記蓄積時間を設定する
 <28>に記載のデータ処理装置。
 <30>
 前記蓄積時間設定部は、前記蓄積時間内の前記イベントデータに応じて生成される前記フレームデータを用いて求められる前記評価値に応じて、前記蓄積時間を設定する
 <29>に記載のデータ処理装置。
 <A1>
 フレームの間隔を表すフレーム間隔を設定するフレーム間隔設定部と、
 光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントの発生を表すイベントデータに応じて、前記フレーム間隔の、フレーム形式の画像データであるフレームデータを生成するデータ生成部と
 を備えるデータ処理装置。
 <A2>
 前記フレームデータの生成に用いる前記イベントデータの時間幅を表すフレーム幅を設定するフレーム幅設定部をさらに備え、
 前記データ生成部は、前記フレーム間隔の先頭から前記フレーム幅内の前記イベントデータに応じて、前記フレームデータを生成する
 <A1>に記載のデータ処理装置。
 <A3>
 前記フレーム間隔設定部は、前記フレーム間隔を、時間で設定する
 <A2>に記載のデータ処理装置。
 <A4>
 前記フレーム幅設定部は、前記フレーム幅を、時間で設定する
 <A2>又は<A3>に記載のデータ処理装置。
 <A5>
 前記フレーム幅設定部は、前記フレーム幅を、前記イベントデータの数で設定する
 <A2>又は<A3>に記載のデータ処理装置。
 <A6>
 前記フレーム幅設定部は、前記フレーム幅を時間で設定することと、前記イベントデータの数で設定することとを切り替える
 <A3>に記載のデータ処理装置。
 <A7>
 前記フレーム間隔設定部は、前記フレーム間隔を、前記イベントデータの数で設定する
 <A2>に記載のデータ処理装置。
 <A8>
 前記フレーム幅設定部は、前記フレーム幅を、時間で設定する
 <A2>又は<A7>に記載のデータ処理装置。
 <A9>
 前記フレーム幅設定部は、前記フレーム幅を、前記イベントデータの数で設定する
 <A2>又は<A7>に記載のデータ処理装置。
 <A10>
 前記フレーム幅設定部は、前記フレーム幅を時間で設定することと、前記イベントデータの数で設定することとを切り替える
 <A7>に記載のデータ処理装置。
 <A11>
 前記フレーム間隔設定部は、前記フレーム間隔を時間で設定することと、前記イベントデータの数で設定することとを切り替える
 <A1>又は<A2>に記載のデータ処理装置。
 <A12>
 フレームの間隔を表すフレーム間隔を設定することと、
 光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントの発生を表すイベントデータに応じて、前記フレーム間隔の、フレーム形式の画像データであるフレームデータを生成することと
 を含むデータ処理方法。
 <A13>
 フレームの間隔を表すフレーム間隔を設定するフレーム間隔設定部と、
 光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントの発生を表すイベントデータに応じて、前記フレーム間隔の、フレーム形式の画像データであるフレームデータを生成するデータ生成部と
 して、コンピュータを機能させるためのプログラム。
 <A14>
 光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントの発生を表すイベントデータに応じて、隣接するフレームで同一の前記イベントデータを共有する、フレーム形式の画像データであるフレームデータを生成するデータ生成部
 を備えるデータ処理装置。
 <A15>
 光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントの発生を表すイベントデータに応じて、隣接するフレームで同一の前記イベントデータを共有する、フレーム形式の画像データであるフレームデータを生成すること
 を含むデータ処理方法。
 <A16>
 光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントの発生を表すイベントデータに応じて、隣接するフレームで同一の前記イベントデータを共有する、フレーム形式の画像データであるフレームデータを生成するデータ生成部
 として、コンピュータを機能させるためのプログラム。
 <A17>
 光電変換を行って電気信号を生成する画素を有し、前記画素の前記電気信号の変化であるイベントの発生を表すイベントデータを生成するイベント生成部と、
 フレームの間隔を表すフレーム間隔を設定するフレーム間隔設定部と、
 前記イベントデータに応じて、前記フレーム間隔の、フレーム形式の画像データであるフレームデータを生成するデータ生成部と
 を備えるデータ処理装置。
 <A18>
 前記フレームデータを用いて、画像処理を行う画像処理部をさらに備える
 <A17>に記載のデータ処理装置。
 <A19>
 前記画像処理部は、前記フレームデータを対象とした認識処理を行う
 <A18>に記載のデータ処理装置。
 <A20>
 複数のダイが積層された半導体チップで構成される
 <A17>ないし<A19>のいずれかに記載のデータ処理装置。
 <A21>
 光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントの発生を表すイベントデータを生成することと、
 フレームの間隔を表すフレーム間隔を設定することと、
 前記イベントデータに応じて、前記フレーム間隔の、フレーム形式の画像データであるフレームデータを生成することと
 を含むデータ処理方法。
 <A22>
 前記フレーム幅設定部は、前記フレームデータのフレームを複数の領域に分割した分割領域の単位で、前記フレーム幅を設定する
 <A4>、<A5>、<A8>、又は、<A9>に記載のデータ処理装置。
 <A23>
 前記フレーム幅設定部は、前記フレーム幅の適切さを表す評価値に応じて、前記フレーム幅を設定する
 <A22>に記載のデータ処理装置。
 <A24>
 前記フレーム幅設定部は、前記フレーム幅内の前記イベントデータに応じて生成される前記フレームデータを用いて求められる前記評価値に応じて、前記フレーム幅を設定する
 <A23>に記載のデータ処理装置。
 11 センサダイ, 12 ロジックダイ, 21 イベント生成部, 22 データ処理部, 31 画素アレイ部, 32 駆動部, 33 アービタ, 34 出力部, 41 画素ブロック, 51 画素, 52 イベント検出部, 60 ノード, 61 光電変換素子, 62 転送トランジスタ, 71 電流電圧変換部, 72 バッファ, 73 減算部, 74 量子化部, 75 転送部, 81ないし83 トランジスタ, 91 コンデンサ, 92 オペアンプ, 93 コンデンサ, 94 スイッチ, 101 コンパレータ, 111 フレーム間隔設定部, 112 フレーム幅設定部, 113 データ生成部, 114 画像処理部, 121 メモリ, 122 メモリ制御部, 123 フレームデータ生成部, 124 取得部, 901 バス, 902 CPU, 903 ROM, 904 RAM

Claims (30)

  1.  第1のフレーム生成開始時から第1のフレーム生成終了時までの第1の蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づく第1のフレームデータと、第2のフレーム生成開始時から第2のフレーム生成終了時までの第2の蓄積時間で発生したイベントデータに基づく第2のフレームデータとを生成するフレームデータ生成部と、
     第1のフレーム生成開始時と第2のフレーム生成開始時までの第1のフレーム期間を設定し前記フレームデータ生成部に供給するフレーム期間設定部と
     を備えるデータ処理装置。
  2.  前記フレームデータ生成部は、
     第3のフレーム生成開始時から第3のフレーム生成終了時までの第3の蓄積時間で発生したイベントデータに基づく第3のフレームデータをさらに生成し、
     前記フレーム期間設定部は、
     前記第1のフレーム期間と、第2のフレーム生成開始時と第3のフレーム生成開始時までの第2のフレーム期間とが異なるように設定する
     請求項1に記載のデータ処理装置。
  3.  前記第1の蓄積時間と前記第2の蓄積時間を設定し前記フレームデータ生成部に供給する蓄積時間設定部をさらに備える
     請求項1に記載のデータ処理装置。
  4.  前記蓄積時間設定部は、
     前記第1の蓄積時間と前記第2の蓄積時間とが異なるように設定する
     請求項3に記載のデータ処理装置。
  5.  フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づいてフレームデータを生成するフレームデータ生成部と、
     第1のフレームデータのフレームデータ生成開始時と、第1のフレームデータと連続して生成される第2のフレームデータのフレームデータ生成開始時との間隔であるフレーム期間を設定し前記フレームデータ生成部に供給するフレーム期間設定部と
     を備えるデータ処理装置。
  6.  前記蓄積時間を設定し前記フレームデータ生成部に供給する蓄積時間設定部をさらに備える
     請求項5に記載のデータ処理装置。
  7.  前記フレーム期間設定部は、前記フレーム期間を、時間で設定する
     請求項5に記載のデータ処理装置。
  8.  前記蓄積時間設定部は、前記蓄積時間を、時間で設定する
     請求項6に記載のデータ処理装置。
  9.  前記蓄積時間設定部は、前記蓄積時間を、前記イベントデータの数に応じて設定する
     請求項6に記載のデータ処理装置。
  10.  前記蓄積時間設定部は、前記蓄積時間を時間で設定することと、前記イベントデータの数に応じて設定することとを切り替える
     請求項6に記載のデータ処理装置。
  11.  前記フレーム期間設定部は、前記フレーム期間を、前記イベントデータの数に応じて設定する
     請求項5に記載のデータ処理装置。
  12.  前記蓄積時間を設定し前記フレームデータ生成部に供給する蓄積時間設定部をさらに備え、
     前記蓄積時間設定部は、前記蓄積時間を、時間で設定する
     請求項11に記載のデータ処理装置。
  13.  前記蓄積時間を設定し前記フレームデータ生成部に供給する蓄積時間設定部をさらに備え、
     前記蓄積時間設定部は、前記蓄積時間を、前記イベントデータの数に応じて設定する
     請求項11に記載のデータ処理装置。
  14.  前記蓄積時間を設定し前記フレームデータ生成部に供給する蓄積時間設定部をさらに備え、
     前記蓄積時間設定部は、前記蓄積時間を時間で設定することと、前記イベントデータの数に応じて設定することとを切り替える
     請求項11に記載のデータ処理装置。
  15.  前記フレーム期間設定部は、前記フレーム期間を時間で設定することと、前記イベントデータの数に応じて設定することとを切り替える
     請求項5に記載のデータ処理装置。
  16.  フレームデータ生成部が、フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づいてフレームデータを生成することと、
     第1のフレームデータのフレームデータ生成開始時と、前記第1のフレームデータと連続して生成される第2のフレームデータのフレームデータ生成開始時との間隔であるフレーム期間を設定し前記フレームデータ生成部に供給することと
     を含むデータ処理方法。
  17.  フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づいてフレームデータを生成するフレームデータ生成部と、
     第1のフレームデータのフレームデータ生成開始時と、前記第1のフレームデータと連続して生成される第2のフレームデータのフレームデータ生成開始時との間隔であるフレーム期間を設定し前記フレームデータ生成部に供給するフレーム期間設定部と
     して、コンピュータを機能させるためのプログラム。
  18.  第1のフレーム生成開始時から第1のフレーム生成終了時までの第1の蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づく第1のフレームデータと、第2のフレーム生成開始時から第2のフレーム生成終了時までの第2の蓄積時間で発生した前記イベントデータに基づく第2のフレームデータとを、
     第1の蓄積時間と第2の蓄積時間が重畳するように生成するフレームデータ生成部
     を備えるデータ処理装置。
  19.  第1のフレーム生成開始時から第1のフレーム生成終了時までの第1の蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づく第1のフレームデータと、第2のフレーム生成開始時から2のフレーム生成終了時までの第2の蓄積時間で発生した前記イベントデータに基づく第2のフレームデータとを、
     第1の蓄積時間と第2の蓄積時間が重畳するように生成する
     ことを含むデータ処理方法。
  20.  第1のフレーム生成開始時から第1のフレーム生成終了時までの第1の蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づく第1のフレームデータと、第2のフレーム生成開始時から2のフレーム生成終了時までの第2の蓄積時間で発生した前記イベントデータに基づく第2のフレームデータとを、
     第1の蓄積時間と第2の蓄積時間が重畳するように生成するフレームデータ生成部
     として、コンピュータを機能させるためのプログラム。
  21.  フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した、光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントデータに基づいてフレームデータを生成し、
     単位時間当たりの前記イベントデータの数に応じて、単位時間当たりの前記フレームデータの生成数が変化する
     データ処理装置。
  22.  単位時間当たりの前記イベントデータの数が多いほど、単位時間当たりの前記フレームデータの生成数が多い
     請求項21に記載のデータ処理装置。
  23.  光電変換を行って電気信号を生成する画素を有し、前記画素の前記電気信号の変化であるイベントの発生を表すイベントデータを生成するイベント生成部と、
     フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した前記イベントデータに基づいてフレームデータを生成するフレームデータ生成部と、
     第1のフレームデータのフレームデータ生成開始時と、前記第1のフレームデータと連続して生成される第2のフレームデータのフレームデータ生成開始時との間隔であるフレーム期間を設定し前記フレームデータ生成部に供給するフレーム期間設定部と
     を備えるデータ処理部
     を備えるデータ処理装置。
  24.  前記フレームデータを用いて、画像処理を行う画像処理部をさらに備える
     請求項23に記載のデータ処理装置。
  25.  前記画像処理部は、前記フレームデータを対象とした認識処理を行う
     請求項24に記載のデータ処理装置。
  26.  複数のダイが積層された半導体チップで構成される
     請求項23に記載のデータ処理装置。
  27.  光電変換を行って電気信号を生成する画素の前記電気信号の変化であるイベントの発生を表すイベントデータを生成することと、
     フレームデータ生成部が、フレーム生成開始時からフレーム生成終了時までの蓄積時間で発生した前記イベントデータに基づいてフレームデータを生成することと、
     第1のフレームデータのフレームデータ生成開始時と、前記第1のフレームデータと連続して生成される第2のフレームデータのフレームデータ生成開始時との間隔であるフレーム期間を設定し前記フレームデータ生成部に供給することと
     を含むデータ処理方法。
  28.  前記蓄積時間設定部は、前記フレームデータのフレームを複数の領域に分割した分割領域の単位で、前記蓄積時間を設定する
     請求項6、請求項8、請求項9、請求項12、又は、請求項13に記載のデータ処理装置。
  29.  前記蓄積時間設定部は、前記蓄積時間の適切さを表す評価値に応じて、前記蓄積時間を設定する
     請求項28に記載のデータ処理装置。
  30.  前記蓄積時間設定部は、前記蓄積時間内の前記イベントデータに応じて生成される前記フレームデータを用いて求められる前記評価値に応じて、前記蓄積時間を設定する
     請求項29に記載のデータ処理装置。
PCT/JP2019/038112 2018-09-28 2019-09-27 データ処理装置、データ処理方法、及び、プログラム WO2020067410A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201980061594.8A CN112740275B (zh) 2018-09-28 2019-09-27 数据处理装置、数据处理方法和程序
US17/276,257 US11818475B2 (en) 2018-09-28 2019-09-27 Data processing device, data processing method, and program

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2018-184639 2018-09-28
JP2018184639 2018-09-28
JP2019-006852 2019-01-18
JP2019006852A JP2022036354A (ja) 2018-09-28 2019-01-18 データ処理装置、データ処理方法、及び、プログラム

Publications (1)

Publication Number Publication Date
WO2020067410A1 true WO2020067410A1 (ja) 2020-04-02

Family

ID=69949372

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/038112 WO2020067410A1 (ja) 2018-09-28 2019-09-27 データ処理装置、データ処理方法、及び、プログラム

Country Status (3)

Country Link
US (1) US11818475B2 (ja)
CN (1) CN112740275B (ja)
WO (1) WO2020067410A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022065032A1 (ja) * 2020-09-28 2022-03-31 ソニーセミコンダクタソリューションズ株式会社 撮像装置及び撮像方法
WO2022091834A1 (ja) * 2020-10-30 2022-05-05 ソニーセミコンダクタソリューションズ株式会社 情報処理装置及び電子機器
JP2022111437A (ja) * 2021-01-20 2022-08-01 キヤノン株式会社 動きベクトル算出装置、撮像装置および動きベクトル算出方法
CN115411038A (zh) * 2021-05-26 2022-11-29 博通国际私人有限公司 具有铜接合互连存储器系统的铜接合存储器堆叠
WO2023058670A1 (ja) * 2021-10-08 2023-04-13 ソニーセミコンダクタソリューションズ株式会社 画像センサ、データ処理装置、および画像センサシステム
WO2023058671A1 (ja) * 2021-10-08 2023-04-13 ソニーセミコンダクタソリューションズ株式会社 画像センサ、データ処理装置、および画像センサシステム
WO2023058669A1 (ja) * 2021-10-08 2023-04-13 ソニーセミコンダクタソリューションズ株式会社 画像センサ、データ処理装置、および画像センサシステム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102747641B1 (ko) 2019-06-26 2024-12-27 삼성전자주식회사 비전 센서, 이를 포함하는 이미지 처리 장치 및 비전 센서의 동작 방법
KR20220076944A (ko) 2020-12-01 2022-06-08 삼성전자주식회사 비전 센서, 이를 포함하는 이미지 처리 장치 및 비전 센서의 동작 방법
US20250220318A1 (en) * 2022-03-30 2025-07-03 Sony Semiconductor Solutions Corporation Sensor device and method for operating a sensor device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010510732A (ja) * 2006-11-23 2010-04-02 エーアイティー オーストリアン インスティテュート オブ テクノロジー ゲゼルシャフト ミット ベシュレンクテル ハフツング 電子形式の画像を生成する方法、画像生成用画像センサのための画像素子ならびに画像センサ
JP2012257193A (ja) * 2011-05-13 2012-12-27 Sony Corp 画像処理装置、撮像装置、および画像処理方法、並びにプログラム
JP2018509847A (ja) * 2015-03-16 2018-04-05 ユニヴェルシテ・ピエール・エ・マリ・キュリ・(パリ・6) 非同期信号を処理するための方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015084991A1 (en) * 2013-12-04 2015-06-11 Rambus Inc. High dynamic-range image sensor
US10147024B2 (en) * 2014-09-16 2018-12-04 Qualcomm Incorporated Interfacing an event based system with a frame based processing system
US10198660B2 (en) * 2016-01-27 2019-02-05 Samsung Electronics Co. Ltd. Method and apparatus for event sampling of dynamic vision sensor on image formation
US10110913B2 (en) * 2016-09-30 2018-10-23 Intel Corporation Motion estimation using hybrid video imaging system
US10600189B1 (en) * 2016-12-06 2020-03-24 Apple Inc. Optical flow techniques for event cameras
CN108574793B (zh) * 2017-03-08 2022-05-10 三星电子株式会社 被配置为重新生成时间戳的图像处理设备及包括其在内的电子设备
US10466779B1 (en) * 2017-07-24 2019-11-05 Facebook Technologies, Llc Event camera for eye tracking
CN111247801B (zh) * 2017-09-28 2022-06-14 苹果公司 用于事件相机数据处理的系统和方法
CN112262568B (zh) * 2018-03-14 2024-03-29 索尼高级视觉传感股份公司 具有直接存储器控制的基于事件的视觉传感器
US10812711B2 (en) * 2018-05-18 2020-10-20 Samsung Electronics Co., Ltd. Semantic mapping for low-power augmented reality using dynamic vision sensor
US10887535B2 (en) * 2018-07-18 2021-01-05 The Regents Of The University Of California Query driven image sensing
WO2020085881A1 (en) * 2018-10-26 2020-04-30 Samsung Electronics Co., Ltd. Method and apparatus for image segmentation using an event sensor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010510732A (ja) * 2006-11-23 2010-04-02 エーアイティー オーストリアン インスティテュート オブ テクノロジー ゲゼルシャフト ミット ベシュレンクテル ハフツング 電子形式の画像を生成する方法、画像生成用画像センサのための画像素子ならびに画像センサ
JP2012257193A (ja) * 2011-05-13 2012-12-27 Sony Corp 画像処理装置、撮像装置、および画像処理方法、並びにプログラム
JP2018509847A (ja) * 2015-03-16 2018-04-05 ユニヴェルシテ・ピエール・エ・マリ・キュリ・(パリ・6) 非同期信号を処理するための方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022065032A1 (ja) * 2020-09-28 2022-03-31 ソニーセミコンダクタソリューションズ株式会社 撮像装置及び撮像方法
WO2022091834A1 (ja) * 2020-10-30 2022-05-05 ソニーセミコンダクタソリューションズ株式会社 情報処理装置及び電子機器
US12340545B2 (en) 2020-10-30 2025-06-24 Sony Semiconductor Solutions Corporation Information processing with generation of image data using event data from an integration period that overlaps with a previous frame period
JP2022111437A (ja) * 2021-01-20 2022-08-01 キヤノン株式会社 動きベクトル算出装置、撮像装置および動きベクトル算出方法
CN115411038A (zh) * 2021-05-26 2022-11-29 博通国际私人有限公司 具有铜接合互连存储器系统的铜接合存储器堆叠
WO2023058670A1 (ja) * 2021-10-08 2023-04-13 ソニーセミコンダクタソリューションズ株式会社 画像センサ、データ処理装置、および画像センサシステム
WO2023058671A1 (ja) * 2021-10-08 2023-04-13 ソニーセミコンダクタソリューションズ株式会社 画像センサ、データ処理装置、および画像センサシステム
WO2023058669A1 (ja) * 2021-10-08 2023-04-13 ソニーセミコンダクタソリューションズ株式会社 画像センサ、データ処理装置、および画像センサシステム

Also Published As

Publication number Publication date
US20220030185A1 (en) 2022-01-27
US11818475B2 (en) 2023-11-14
CN112740275B (zh) 2025-02-18
CN112740275A (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
WO2020067410A1 (ja) データ処理装置、データ処理方法、及び、プログラム
CN112640428B (zh) 固态成像装置、信号处理芯片和电子设备
KR102819662B1 (ko) 촬상 장치, 촬상 시스템, 촬상 방법 및 촬상 프로그램
US11770625B2 (en) Data processing device and data processing method
WO2020170861A1 (ja) イベント信号検出センサ及び制御方法
WO2020090460A1 (ja) センサ及び制御方法
KR20200112839A (ko) 고체 촬상 소자, 촬상 장치 및 고체 촬상 소자의 제어 방법
US11937001B2 (en) Sensor and control method
CN111698437B (zh) 固态成像装置和电子设备
WO2017163890A1 (ja) 固体撮像装置、固体撮像装置の駆動方法、及び、電子機器
US20220159201A1 (en) Event detection device, system including event detection device, and event detection method
CN113647087A (zh) 状态检测装置、状态检测系统及状态检测方法
WO2017175492A1 (ja) 画像処理装置、画像処理方法、コンピュータプログラム及び電子機器
US12192647B2 (en) Signal processing device, signal processing method, and detection sensor
EP4131156A1 (en) Information processing device, information processing method, and information processing program
US20190191119A1 (en) Imaging device and control method
JP2022036354A (ja) データ処理装置、データ処理方法、及び、プログラム
KR20240035570A (ko) 고체 촬상 디바이스 및 고체 촬상 디바이스 작동 방법
WO2017212722A1 (ja) 制御装置及び制御方法
WO2021095560A1 (ja) イベント検出装置
JP2021175137A (ja) 撮像装置
US20250220322A1 (en) Sensor device and method for operating a sensor device
CN112997475B (zh) 电子电路、固态成像元件以及制造电子电路的方法
WO2025073725A1 (en) Processing device, sensor device and method for operating a processing device
WO2024199931A1 (en) Sensor device and method for operating a sensor device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19864854

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19864854

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP