WO2022244330A1 - 画像処理装置、画像処理方法、並びにプログラム - Google Patents

画像処理装置、画像処理方法、並びにプログラム Download PDF

Info

Publication number
WO2022244330A1
WO2022244330A1 PCT/JP2022/004385 JP2022004385W WO2022244330A1 WO 2022244330 A1 WO2022244330 A1 WO 2022244330A1 JP 2022004385 W JP2022004385 W JP 2022004385W WO 2022244330 A1 WO2022244330 A1 WO 2022244330A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame
interpolation
event data
event
interpolated
Prior art date
Application number
PCT/JP2022/004385
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
Application filed by ソニーセミコンダクタソリューションズ株式会社 filed Critical ソニーセミコンダクタソリューションズ株式会社
Publication of WO2022244330A1 publication Critical patent/WO2022244330A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules

Definitions

  • the present technology relates to an image processing device, an image processing method, and a program, for example, an image processing device, an image processing method, and a program that interpolate an image to achieve a high frame rate.
  • a synchronous imaging device that captures image data (frames) in synchronization with a synchronization signal such as a vertical synchronization signal is used.
  • image data is acquired at the period of the synchronizing signal, for example, every 1/60th of a second.
  • asynchronous imaging devices are also being used that detect, for each pixel address, that the amount of change in luminance of the pixel exceeds a threshold as an address event.
  • An imaging device that detects an address event for each pixel in this way is sometimes called a DVS (Dynamic Vision Sensor).
  • This technology has been developed in view of this situation, and enables the generation of high-frame-rate moving images.
  • a first image processing device includes a frame-based first image sensor, an event-based second image sensor, frame data from the first image sensor, and the second image sensor. and a generation unit that generates an interpolation frame using event data from an image sensor.
  • an image processing apparatus including a frame-based first imaging element and an event-based second imaging element processes frame data from the first imaging element and an image processing method for generating an interpolation frame using event data from the second imaging device.
  • a first program provides a computer that controls an image processing device that includes a frame-based first image sensor and an event-based second image sensor, to transmit data from the first image sensor,
  • a program for executing processing including a step of generating an interpolated frame using frame data and event data from the second imaging element.
  • a second image processing apparatus provides an interpolation frame that interpolates between a first frame and a second frame using event data obtained from an event-based imaging device and frame data. It is an image processing apparatus including a generation unit that generates a .
  • an image processing apparatus uses event data obtained from an event-based imaging device and frame data to obtain a value between a first frame and a second frame. This is an image processing method for generating an interpolation frame for interpolating .
  • a second program provides a computer with interpolation for interpolating between a first frame and a second frame using event data obtained from an event-based imaging device and frame data.
  • a program for executing a process including a step of generating a frame.
  • a first image processing device, an image processing method, and a program according to one aspect of the present technology include a frame-based first image sensor and an event-based second image sensor, and the first image sensor and event data from the second image sensor are used to generate an interpolated frame.
  • event data obtained from an event-based imaging device and frame data are used to generate a first frame and a second image.
  • An interpolated frame that interpolates between frames is generated.
  • the image processing device may be an independent device, or may be an internal block forming one device.
  • the program can be provided by transmitting it via a transmission medium or by recording it on a recording medium.
  • FIG. 1 is a diagram illustrating a configuration of an embodiment of an image processing device to which the present technology is applied;
  • FIG. FIG. 10 is a diagram showing another configuration example of the image processing apparatus;
  • FIG. 10 is a diagram showing another configuration example of the image processing apparatus;
  • FIG. 4 is a diagram for explaining frame interpolation processing;
  • FIG. 4 is a diagram for explaining intra-frame interpolation processing;
  • FIG. 4 is a diagram for explaining an interval ⁇ t;
  • FIG. FIG. 10 is a diagram for explaining inter-frame interpolation processing; 4 is a flowchart for explaining processing of a camera unit;
  • FIG. 10 is a flowchart for explaining processing of an event accumulation unit;
  • FIG. 6 is a flowchart for explaining interpolation processing;
  • FIG. 10 is a flowchart for explaining intra-frame interpolation processing;
  • FIG. 10 is a flowchart for explaining inter-frame interpolation processing;
  • FIG. It is a figure for demonstrating the coping method at the time of a rapid luminance change.
  • FIG. 4 is a diagram for explaining generation of a still image;
  • FIG. 4 is a diagram for explaining generation of a still image;
  • FIG. It is a figure which shows the structural example of a personal computer.
  • FIG. 1 is a diagram showing the configuration of an embodiment of an image processing apparatus to which the present technology is applied.
  • An image processing device 11 to which the present technology is applied includes a lens 21 , a camera section 22 and an image generation section 23 .
  • the camera section 22 includes a half mirror 31 , a frame-based imager 32 , an event-based imager 33 , an inter-imager correction calculation section 34 , and a calibration section 35 .
  • the image generation unit 23 includes an event integration unit 41 , a data storage unit 42 , and an interpolated image generation unit 43 .
  • the image processing apparatus 11 includes a frame-based imager 32 as a synchronous imaging device that captures image data (frames) in synchronization with a synchronization signal such as a vertical synchronization signal.
  • the frame-based imager 32 acquires image data every 1/60th of a second, for example, the period of the synchronization signal.
  • the image processing apparatus 11 includes an event-based imager 33 as an asynchronous imaging device that detects, for each pixel address, that the amount of change in luminance of the pixel exceeds a threshold value as an address event.
  • the image processing device 11 shoots moving images and still images.
  • the image processing device 11 uses event data obtained from the event-based imager 33 to generate interpolated frames (hereinafter referred to as interpolated frames) from moving images (successive frames) captured by the frame-based imager 32 . and generate high frame rate moving images.
  • the image processing device 11 uses the event data obtained from the event-based imager 33 for the still image (one frame) captured by the frame-based imager 32 to generate a noise-reduced still image.
  • Light input to the camera unit 22 through the lens 21 of the image processing device 11 is split by the half mirror 31 and supplied to the frame-based imager 32 and the event-based imager 33, respectively.
  • a prism or the like may be used instead of the half mirror 31 .
  • the frame base imager 32 may be an imager that captures a color image or an imager that captures a black-and-white image.
  • the frame-based imager 32 will be described with an example of an imager that captures a color image or a black-and-white image. 32.
  • the event-based imager 33 asynchronously detects luminance changes for each pixel, and outputs only the detected data as information combining coordinates and time.
  • the event-based imager 33 includes an imager that outputs a sign of luminance change, in other words, an imager that outputs +1 when the luminance becomes brighter and -1 when the luminance becomes darker without outputting a gradation.
  • the event-based imager 33 includes an imager that outputs the amount of luminance change, in other words, an imager that outputs gradation.
  • the case of an imager that outputs the amount of change in brightness will be described as an example.
  • the data output from the event-based imager 33 will be appropriately described as event data, and the event data will be data containing the amount of change in brightness.
  • the inter-imager correction calculation unit 34 calculates normalization coefficients between the frame-based imager 32 and the event-based imager 33 .
  • normalization is performed so that the processing can be performed with the number of pixels combined. If the sensitivity of the frame-based imager 32 and the sensitivity of the event-based imager 33 are different, normalization is performed so that processing can be performed with the sensitivities combined.
  • a process for eliminating differences between imagers other than the number of pixels and sensitivity may be further executed in the inter-imager correction calculation section 34 .
  • the inter-imager correction calculation unit 34 calculates difference information (normalization coefficients) such as pixel positions and sensitivities between imagers.
  • the calibration unit 35 performs correction calculations between the imagers so that the frame data from the frame-based imager 32 and the event data from the event-based imager 33 can be appropriately combined in the subsequent stage (image generation unit 23). , the data from the event-based imager 33 is corrected using the normalization coefficient calculated by the inter-imager correction calculator 34 .
  • the frame data from the frame-based imager 32 is supplied to the inter-imager correction calculation section 34 and the data storage section 42 of the image generation section 23 .
  • the event data from the event-based imager 33 is supplied to the inter-imager correction calculation unit 34 and the calibration unit 35.
  • the event data from the event-based imager 33 corrected by the calibration unit 35 is supplied to the image generation unit. 23 is supplied to the event integration unit 41 .
  • the event accumulator 41 of the image generator 23 accumulates event data from the event-based imager 33 input via the calibration unit 35 for a certain period of time, accumulates the accumulated event data, and calculates data at certain time intervals. Generate delta information for changes. Since the event-based imager 33 outputs event data when there is a change in brightness, in other words, when an event occurs, the output from the event-based imager 33 is irregular.
  • the data from the event accumulating unit 41 (hereinafter referred to as accumulated event data as appropriate) is stored in the data storage unit 42 at a predetermined cycle. supplied and stored.
  • the data storage unit 42 stores moving image data captured by the frame-based imager 32 and integrated event data from the event integration unit 41 .
  • the data storage unit 42 also stores interpolation frames interpolated by the interpolation image generation unit 43 .
  • the data storage unit 42 can be composed of temporary storage memory devices such as DRAM (Dynamic Random Access Memory), permanent storage devices such as HDD (Hard Disk Drive), SSD (Solid State Drive), and flash memory. .
  • the moving image data stored in the data storage unit 42 is stored in the data storage unit 42 as it is, recorded in another recording medium, output to a processing unit (not shown) at a later stage, or output to a display for display. or When interpolation frames are stored in the data storage unit 42, direct moving image output (output of rendered moving images) can also be performed.
  • the interpolated image generation unit 43 uses the moving image data from the frame-based imager 32 stored in the data storage unit 42 and subject difference information at regular time intervals from the event-based imager 33 to generate an inter-frame interpolated image, which will be described later. , to generate an intra-frame interpolated image.
  • the interpolated image generated by the interpolated image generation unit 43 is stored in the data storage unit 42, recorded in another recording medium, output to a subsequent processing unit (not shown), or output to a display for display. or
  • the interpolation image generation unit 43 may be configured to receive outputs from the frame-based imager 32 and the event-based imager 33 at any time, perform interpolation processing in real time, and output moving images (on-the-fly moving image output).
  • FIG. 2 is a diagram showing another configuration example of the image processing device 11.
  • the image processing device 11' shown in FIG. 2 (denoted with dashes to distinguish it from the image processing device 11 shown in FIG. 1) is a hybrid imager in which a frame-based imager 32 and an event-based imager 33 are combined. 51 is different.
  • the camera unit 22' of the image processing device 11' includes the hybrid imager 51, the half mirror 31, the inter-imager correction calculation unit 34, and the calibration unit 35 are omitted.
  • a hybrid imager 51 can also be used.
  • the image processing device 11 may have a configuration in which the lens 21, the camera section 22, and the image generation section 23 are integrated as shown in A of FIG. As shown in FIG. 3B, the lens 21 and the camera section 22 may be integrated, and the image generation section 23 may be configured separately.
  • the image generation unit 23 may be configured to be built in the image processing device 11, or may be configured separately from the camera unit 22.
  • the camera section 22 and the image generation section 23 may be configured to be connected via a predetermined network.
  • the image generator 23 may be configured by, for example, a personal computer (PC).
  • PC personal computer
  • the image generator 23 is configured as an external device such as a PC, it can be configured to perform advanced post-processing by AI (Artificial Intelligence), neural networks, or the like.
  • AI Artificial Intelligence
  • the image processing device 11 interpolates the moving images (frames) captured by the frame-based imager 32 to convert them into high frame rate moving images.
  • FIG. 4 an outline of processing related to generation of an interpolation frame performed by the image processing device 11 will be described.
  • the time period from time T1 to time T2 is the exposure time, and the frame P1 is acquired during this exposure time.
  • the period from time T2 to time T3 is non-exposure time.
  • the time T3 to time T4 is the exposure time, and the frame P2 is acquired during this exposure time.
  • the event-based imager 33 outputs event data irregularly, but the event integration unit 41 periodically outputs integrated event data.
  • integrated event data ⁇ Pa1, integrated event data ⁇ Pa2, integrated event data ⁇ Pa3, integrated event data ⁇ Pa4, and integrated event data ⁇ Pa5 are output at intervals of ⁇ t (data storage portion 42).
  • integrated event data ⁇ Pb1, integrated event data ⁇ Pb2, integrated event data ⁇ Pb3, and integrated event data ⁇ Pb4 are output (held in the data storage unit 42) at intervals of ⁇ t.
  • the integrated event data ⁇ Pa6, the integrated event data ⁇ Pa7, and the integrated event data ⁇ Pa8 are output (held in the data storage unit 42) at intervals of ⁇ t.
  • an interpolation frame interpolated in intra-frame interpolation is described as an interpolation frame Pa
  • an interpolation frame interpolated in inter-frame interpolation is described as an interpolation frame Pb.
  • the integrated event data used for intra-frame interpolation in other words, the integrated event data generated within the exposure time is described as integrated event data ⁇ Pa.
  • the integrated event data used for inter-frame interpolation in other words, the integrated event data generated during the non-exposure time is described as integrated event data ⁇ Pb.
  • the accumulated event data ⁇ Pa and the accumulated event data ⁇ Pb will be separately explained here. , and does not indicate that the accumulated event data ⁇ Pa and the accumulated event data ⁇ Pb are different data.
  • intra-frame interpolation is performed within the exposure time from time T1 to time T2, thereby generating five frames Pa1 to Pa5.
  • the interpolated frames Pa1 to Pa5 are generated using the frame P1 and the accumulated event data ⁇ Pa1 to ⁇ Pa4.
  • inter-frame interpolation is performed to generate four interpolated frames Pb1 to Pb4.
  • the interpolated frames Pb1 to Pb4 are generated using the interpolated frame Pa5, the interpolated frame Pa6 generated by intra-frame interpolation performed from time T3 to time T4, and the accumulated event data ⁇ Pb1 to ⁇ Pb4.
  • interpolated frames Pa6 to Pa9 are generated by performing intra-frame interpolation during the exposure time from time T3 to time T4.
  • Interpolated frames Pa6 to Pa9 are generated using frame P2 and accumulated event data ⁇ Pa6 to ⁇ Pa8.
  • the intra-frame interpolation is an interpolation process in which the frame data obtained from the frame-based imager 32 and the event data (integrated event data) obtained from the event-based imager 33 are used to generate the interpolated frame Pa. be.
  • the inter-frame interpolation is a process in which the interpolated frame Pb is generated using the integrated event data obtained from the event-based imager 33 and the interpolated frame Pa obtained in intra-frame interpolation.
  • FIG. 5 exemplifies intra-frame interpolation executed during the exposure time from time T1 to time T2 in FIG.
  • a frame P1 represents a frame (image forming a moving image) captured by the frame-based imager 32 during the exposure time.
  • the event data output from the event-based imager 33 during the predetermined interval ⁇ t is integrated by the event integration unit 41 (FIG. 1) and supplied to the interpolated image generation unit 43 as integrated event data ⁇ Pa.
  • accumulated event data ⁇ Pa1 to Pa4 are generated within the exposure time.
  • the interpolated frames Pa1 to Pa5 are frames interpolated by executing intra-frame interpolation processing, in other words, newly generated frames.
  • the frame P1 is represented as P1
  • the interpolated frames Pa1 to Pa5 are represented as Pa1, Pa2, Pa3, Pa4, and Pa5, respectively
  • the integrated event data ⁇ Pa1 to Pa4 are represented as ⁇ Pa1, ⁇ Pa2, ⁇ Pa3, It is represented as ⁇ Pa4.
  • Pa2 Pa1+ ⁇ Pa1
  • the interpolated frame Pa2 is a frame obtained by adding the accumulated event data ⁇ Pa1, which is the difference from the interpolated frame Pa1, to the previous interpolated frame Pa1.
  • the interpolated frame Pa3 is a frame obtained by adding the accumulated event data ⁇ Pa2, which is the difference from the interpolated frame Pa2, to the previous interpolated frame Pa2.
  • the interpolated frame Pa4 is a frame obtained by adding the accumulated event data ⁇ Pa3, which is the difference from the interpolated frame Pa3, to the previous interpolated frame Pa3.
  • the interpolated frame Pa5 is a frame obtained by adding the cumulative event data ⁇ Pa4, which is the difference from the interpolated frame Pa4, to the previous interpolated frame Pa4.
  • the frame P1 can be expressed using the interpolated frame Pa1 and the accumulated event data ⁇ Pa1 to Pa4. Furthermore, the following equation (4) is obtained by transforming the equation (3) into an equation relating to the interpolation frame Pa1.
  • Pa1 P1-( ⁇ Pa1 ⁇ 4+ ⁇ Pa2 ⁇ 3+ ⁇ Pa3 ⁇ 2+ ⁇ Pa4)/5 ... (4)
  • the interpolated frame Pa1 can be generated using the frame P1 and the accumulated event data ⁇ Pa1 to ⁇ Pa4.
  • the interpolated frames Pa2 to Pa5 can also be generated from the equation (2). That is, for example, the interpolated frame Pa2 is generated by adding the accumulated event data ⁇ Pa1 to the generated interpolated frame Pa1. Interpolated frames Pa3 to Pa5 are similarly generated using interpolated frames Pa2 to Pa4 and integrated event data ⁇ Pa2 to Pa4.
  • Expression (4) can be expressed generally as the following expression (5).
  • Pa1 represents the first interpolated frame Pa generated in intra-frame interpolation.
  • P represents the frame P acquired at the exposure time at which intraframe interpolation is performed.
  • ⁇ Pa 1 to ⁇ P n ⁇ 1 represent the integrated event data ⁇ Pa 1 to ⁇ Pa n ⁇ 1 acquired during the exposure time during which intra-frame interpolation is performed.
  • the number n of interpolation frames is calculated by the following equation (6).
  • the intra-frame interpolation number n is a value obtained by dividing the exposure time by the sum of the exposure time and the non-exposure time and multiplying the value by the interpolation rate.
  • AE Automatic Exposure
  • the exposure time changes dynamically. Therefore, when the exposure time changes dynamically, the intra-frame interpolation number n is calculated and set for each frame by obtaining the exposure time for each frame.
  • the interpolation rate is a value representing how many times the original moving image is to be interpolated, and is defined by the following equation (7).
  • the interpolation rate can be defined as the value obtained by dividing the post-interpolation frame rate by the pre-interpolation frame rate.
  • the interpolation rate is 5 because 5 interpolation frames are generated within the exposure time.
  • the interpolation rate or frame rate after interpolation may be a preset value, or may be set by the user.
  • the intra-frame interpolation number n is related to the interval ⁇ t (time during which event data is accumulated) for generating the integrated event data ⁇ Pa. That is, the intra-frame interpolation number n is how many interpolated frames are generated within the exposure time. In other words, the exposure time is evenly divided by the intra-frame interpolation number n, and the interpolated frame Pa is generated for each divided time interval. A time obtained by equally dividing the exposure time corresponds to the interval ⁇ t, and the integrated event data ⁇ Pa is generated for each interval ⁇ t, and the interpolation frame Pa is generated.
  • the interval ⁇ t is calculated by the following equation (8).
  • the interval ⁇ t is a value obtained by dividing 1 by a value obtained by multiplying the frame rate before correction by the interpolation rate.
  • event data occurring between a predetermined time tk and time tk+ ⁇ t are integrated and output as integrated event data ⁇ Pa at time tk+ ⁇ t.
  • white squares represent pixels whose brightness has changed to brighter, and black squares represent pixels whose brightness has changed to darker.
  • the accumulated event data ⁇ Pa is generated by accumulating the event data accumulated during the interval ⁇ t.
  • Event data output from the event-based imager 33 is expressed, for example, by the following equation (9).
  • the event data e has, as elements, the coordinates [x, y] at which the event occurs and the luminance change amount p or the luminance change sign p at the pixel.
  • p is a gradation output when there is a gradation output as event data, and a sign of +1 or -1 when there is no gradation output.
  • te is the time when the event occurred.
  • the event data e is color
  • Equation (10) p R represents the amount (or sign) of luminance change in red (R), p G represents the amount (or sign) of luminance change in green (G), and p B is Represents the amount (or sign) of luminance change in blue (B).
  • the event data e will be described by taking as an example the data represented by the formula (9). It can be implemented by replacing with
  • the event data e is converted to data suitable for output from the frame-based imager 32 in order to generate the interpolated frame Pa by processing as described above. need to normalize.
  • the event data e (denoted as event data eN ) normalized by the calibration unit 35 (FIG. 1) is represented by the following equation (11).
  • e N [x N ,y N ,p N ] te (11)
  • the event data en calibrated by the calibration unit 35 is supplied to the event integration unit 41 (FIG. 1).
  • the event integration unit 41 integrates the event data en supplied from the calibration unit 35 during the interval ⁇ t .
  • the event accumulator 41 performs calculation based on the following equation (12) to calculate the accumulated event data ⁇ Pa.
  • Equation (12) is, for example, as shown in FIG. 6, event data e generated between time tk and time tk + ⁇ t, that is, interval ⁇ t, and is an equation for accumulating normalized event data eN.
  • pixels that are the upper limit or lower limit of the dynamic range on a frame basis are excluded from the calculation target in Equation (12). This is to exclude luminance changes outside the dynamic range.
  • the integrated event data ⁇ Pa required to generate the interpolated frame Pa in the intra-frame interpolation, the interval ⁇ t required to calculate the integrated event data ⁇ Pa, and the like are calculated. Then, using these values, the frame P, and the accumulated event data ⁇ Pa, intra-frame interpolation processing is executed to generate an interpolated frame Pa.
  • FIG. 7 exemplifies inter-frame interpolation performed during the non-exposure time from time T2 to time T3 in FIG.
  • frames P1 and P2 represent frames (images forming a moving image) captured by the frame-based imager 32 during the exposure time.
  • the event data output from the event-based imager 33 during the predetermined interval ⁇ t are integrated to generate integrated event data ⁇ Pb.
  • accumulated event data ⁇ Pb1 to Pb4 are generated during the non-exposure time.
  • the accumulated event data ⁇ Pb related to inter-frame interpolation is described as accumulated event data ⁇ Pb, but the event data and the process of calculating the accumulated event data from the event data are different from the case of the accumulated event data ⁇ Pa described above. It is the same.
  • the period in which the interpolated frames Pb are generated corresponds to the interval ⁇ t, and the interval ⁇ t related to the intra-frame interpolation described above is also used for this interval ⁇ t.
  • Inter-frame interpolation is interpolation performed during non-exposure time.
  • Inter-frame interpolation is an interpolation process that is performed when the frame-based imager 32 has a large number of pixels and takes a long time to read pixel values from the frame-based imager 32, resulting in non-exposure time.
  • the interpolated frames Pb1 to Pb4 are frames interpolated by performing inter-frame interpolation processing, in other words, newly generated frames.
  • the inter-frame interpolation is generated by inter-frame interpolation using an interpolation frame Pa generated by intra-frame interpolation using the frame P being read and a frame P captured next to the frame P being read. It is generated using the interpolation frame Pa.
  • the frame P being read out is the frame P1
  • the frame P shot after the frame P1 is the frame P2.
  • the interpolated frame Pa used for the inter-frame interpolation is the interpolated frame Pa5 which is the last frame among the interpolated frames Pa generated when the frame P1 is interpolated intra-frame, and the interpolated frame Pa5 generated when the frame P2 is interpolated intra-frame.
  • inter-frame interpolation the non-exposure time is divided into the first half and the second half.
  • an interpolation frame Pa5 which is the last image among a plurality of interpolation frames Pa generated by intra-frame interpolation using the read frame P1 is used.
  • an interpolated frame Pa6 which is the first image among a plurality of interpolated frames Pa generated by intra-frame interpolation using the frame P2 that is read out next to the frame P1, is used.
  • inter-frame interpolation when four interpolation frames Pb1 to Pb4 are generated as in the example shown in FIG.
  • the first interpolated frame Pb1 in inter-frame interpolation is generated by adding the integrated event data ⁇ Pb1 to the interpolated frame Pa5.
  • An interpolation frame Pb2 subsequent to the interpolation frame Pb1 is generated by adding the accumulated event data ⁇ Pb2 to the interpolation frame Pb1.
  • a formula it is as follows.
  • the interpolated frame Pb2 may be generated by adding the integrated event data ⁇ Pb2 to the interpolated frame Pb1, or may be generated by adding the integrated event data ⁇ Pb1 and the integrated event data ⁇ Pb2 to the interpolated frame Pa5.
  • the last interpolated frame Pb4 in inter-frame interpolation is generated by subtracting the integrated event data ⁇ Pb4 from the interpolated frame Pa6.
  • the interpolated frame Pb3, which is one before the interpolated frame Pb4, is generated by subtracting the integrated event data ⁇ Pb3 from the interpolated frame Pb4. Expressed as a formula, it is as follows.
  • the interpolated frame Pb3 may be generated by subtracting the integrated event data ⁇ Pb3 from the interpolated frame Pb4, or may be generated by subtracting the integrated event data ⁇ Pb3 and the integrated event data ⁇ Pb4 from the interpolated frame Pa6.
  • the interpolated frame Pb3 and the interpolated frame Pb4 located in the latter half of the non-exposure time are generated using the interpolated frame Pa6 that is temporally close.
  • the interpolated frame Pb is generated by adding the integrated event data ⁇ Pb to the interpolated frame Pa generated by intra-frame interpolation.
  • an interpolation frame Pb is generated by subtracting the integrated event data ⁇ Pb from the interpolation frame Pa generated by intra-frame interpolation.
  • inter-frame interpolation for example, when five interpolated frames Pb are generated, two frames may be generated in the first half of the non-exposure time and three frames may be generated in the second half, or three frames may be generated in the first half, Two cards may be generated in the latter half.
  • Whether to generate by subtracting the integrated event data ⁇ Pb may be set in advance.
  • the interpolated frame Pb in the middle may be set to be generated by subtracting the integrated event data ⁇ Pb.
  • the interpolated frame Pb in the middle is generated by adding the accumulated event data ⁇ Pb
  • the subtracted accumulated event data ⁇ Pb is subtracted from the accumulated event data ⁇ Pb. may be compared with the integrated event data .DELTA.Pb, and the smaller integrated event data .DELTA.Pb may be used. That is, the interpolated frame Pb may be generated using the integrated event data ⁇ Pb with the smaller amount of change.
  • the number m of interpolated frames Pb generated by inter-frame interpolation processing is calculated by the following equation (15).
  • the inter-frame interpolation number m is a value obtained by adding the interpolation rate to a value obtained by dividing the non-exposure time by the sum of the exposure time and the non-exposure time.
  • the exposure time non-exposure time
  • the inter-frame interpolation number m is obtained (calculated) by obtaining (calculating) the exposure time and the non-exposure time for each frame, and calculating and setting the number of frames m for each frame.
  • interpolation rate included in formula (15) a preset value (obtained by calculation) is used, or a value set by the user is used, as in the case described above.
  • the interval .DELTA.t obtained from the above equation (8) using the interpolation rate is also used as the interval .DELTA.t at the time of inter-frame interpolation processing.
  • Intra-frame interpolation and inter-frame interpolation processing may be performed at the time of shooting, in other words, may be configured to be performed in real time at the same time as shooting.
  • inter-frame interpolation may be performed using the recorded interpolated frame Pa at a timing after photographing.
  • a frame other than the generated interpolation frame may be used as the interpolation frame used for inter-frame interpolation.
  • the frame P1 is used instead of the interpolation frame Pa5
  • the frame P2 is used instead of the interpolation frame Pa6. Also good.
  • the intra-frame interpolation process described above may be performed in the same manner as the inter-frame interpolation process, and all the generated interpolated frames may be generated by the above-described inter-frame interpolation process.
  • the interpolated frame in the example shown in FIG. 7, in the period obtained by adding the exposure time for acquiring the frame P2 and the non-exposure time for reading the frame P2, the interpolated frame is obtained by adding the integrated event data ⁇ Pb to the frame P1 in the first half. is generated, and in the second half, an interpolation frame may be generated by subtracting the accumulated event data ⁇ Pb from the frame P2.
  • the image processing apparatus 11 (FIG. 1) generates an interpolated frame Pa by intra-frame interpolation processing and an interpolated frame Pb by inter-frame interpolation processing to generate a high frame rate moving image. A further explanation is added to the processing of 1).
  • the processing of the camera unit 22 of the image processing device 11 will be described with reference to the flowchart of FIG.
  • the processing of the camera section 22 shown in the flowchart of FIG. 8 is started, for example, when the camera section 22 is activated.
  • step S11 inter-imager pixel coordinate conversion information between the frame-based imager 32 and the event-based imager 33 is obtained.
  • the pixel coordinate conversion information is stored, for example, in the inter-imager correction calculation section 34 as data obtained during the manufacturing process of the camera section 22 .
  • the pixel coordinate conversion information is factory adjusted values.
  • step S12 an inter-imager luminance normalization factor between the frame-based imager 32 and the event-based imager 33 is obtained.
  • the luminance normalization coefficients are stored in, for example, the inter-imager correction calculation section 34 as data obtained during the manufacturing process of the camera section 22 .
  • the brightness normalization coefficient is also the adjusted value at the time of shipment from the factory, like the pixel coordinate conversion information.
  • step S13 the camera unit 22 starts photographing. Shooting of moving images by the frame-based imager 32 and detection of events by the event-based imager 33 are started.
  • step S14 it is determined whether or not the output is from the frame-based imager 32. If it is the output from the frame-based imager 32, ie, the data of the frame P, the process proceeds to step S17. In step S17, the output from the frame-based imager 32 is output to the data storage section 42 of the image generation section 23 and stored.
  • step S14 determines whether the output is from the frame-based imager 32, in other words, if it is determined that the output is from the event-based imager 33. If it is determined that the output is from the event-based imager 33, the process proceeds to step S15.
  • step S15 the coordinates of the pixel where the event occurred are converted to the coordinates of the frame.
  • the calibration unit 35 converts the coordinate information of the event into the coordinates of the frame-based imager 32 using the pixel coordinate conversion information acquired in step S11.
  • step S16 the brightness of the pixel where the event occurred is converted to the brightness of the frame.
  • the calibration unit 35 converts the brightness change of the event into the brightness change amount of the frame-based imager 32 using the brightness normalization coefficient obtained in step S12.
  • step S17 the event data calibrated by the calibration unit 35 is output to the event integration unit 41 (FIG. 1) of the image generation unit 23 and stored until the integration processing of the event integration unit 41 is started.
  • step S18 it is determined whether or not the shooting has ended. For example, if the user has operated a button that is operated at the end of shooting, it is determined in step S18 that shooting has ended, and the processing in the camera section 22 is also terminated. On the other hand, if it is determined in step S18 that the shooting has not ended, the process returns to step S13 and the subsequent processes are repeated. That is, the frame-based imager 32 continues to shoot moving images, and the event-based imager 33 continues to detect events.
  • step S31 the frame rate before correction and the frame rate after correction are acquired.
  • step S32 the interval ⁇ t is calculated.
  • the interval ⁇ t is calculated by equation (8) as described above.
  • the interpolation rate in Equation (8) is calculated based on Equation (7).
  • Formula (7) is a formula for calculating the interpolation rate by dividing the post-interpolation frame rate by the post-interpolation frame rate.
  • the interval ⁇ t is calculated in step S32 based on the frame rate before correction and the frame rate after correction obtained in step S31, and equations (7) and (8).
  • step S33 the standby state is maintained until the time interval ⁇ t elapses.
  • Event data from the event-based imager 33 is supplied to the event integrator 41 through the calibration unit 35 even in the standby state.
  • the event accumulator 41 accumulates event data supplied during the time interval ⁇ t.
  • step S34 the event data generated during the interval ⁇ t is integrated, and the integrated event data is supplied to the data storage unit 42 and stored. Alternatively, it is supplied to the interpolated image generator 43 .
  • the integrated event data is temporarily stored in the data storage unit 42 and then read out by the interpolation image generation unit 43 as necessary when an interpolation frame is generated.
  • step S35 it is determined whether or not the process is finished. For example, when the shooting by the camera unit 22 ends, the processing by the event integration unit 41 also ends. Alternatively, if the event data is not supplied from the calibration unit 35 within the predetermined time, it is determined to be finished in step S35. If it is determined in step S35 that the process is not finished, the process is returned to step S33, and the subsequent processes are repeated. That is, the generation of accumulated event data continues.
  • step S51 the number k assigned to the frame P to be processed is set to 1.
  • step S52 intraframe interpolation (k) is performed for frame P assigned number k.
  • step S53 intra-frame interpolation (k+1) is performed for frame P to which number k+1 is assigned.
  • step S54 inter-frame interpolation (k) is executed for frame P assigned number k.
  • inter-frame interpolation (k) In order to execute inter-frame interpolation (k), the last interpolated frame Pa generated in intra-frame interpolation (k) and the leading interpolated frame Pa generated in intra-frame interpolation (k+1) are required. . Therefore, in step S52, intra-frame interpolation (k) is performed to obtain the last interpolated frame Pa, and in step S53, intra-frame interpolation (k+1) is performed to obtain the first interpolated frame Pa. , in step S54, inter-frame interpolation (k) is performed.
  • step S52 intra-frame interpolation (k) processing is executed for frame P1.
  • intra-frame interpolation processing is executed to generate an interpolation frame in the exposure time corresponding to time T1 to time T2.
  • step S53 intra-frame interpolation (k+1) processing is executed for frame P2.
  • intra-frame interpolation processing is executed to generate an interpolation frame in the exposure time corresponding to time T3 to time T4.
  • step S52 By executing the process of step S52, the last interpolated frame Pa5 from time T1 to time T2 is acquired.
  • step S53 the first interpolated frame Pa6 from time T3 to time T4 is acquired.
  • step S54 inter-frame interpolation (k) is performed for frame P1.
  • the inter-frame interpolation (k) for the frame P1 is the inter-frame interpolation processing executed during the non-exposure time from the time T2 to the time T3 corresponding to the readout period of the frame P1 in FIG. Since the interpolation frame Pa5 and the interpolation frame Pa6 have been acquired when the process of step S54 is executed, the interpolation frames Pb1 to Pb4 are generated using these interpolation frames Pa.
  • step S55 the number k is changed to 2, and the process returns to step S53.
  • step S53 intra-frame interpolation (k+1) is performed for frame P3, and inter-frame interpolation (k) is performed for frame P2 in step S54.
  • step S55 the value of number k is incremented by 1, and the next frame is processed.
  • step S56 it is determined whether or not the process is finished. For example, when all the frames stored in the data storage unit 42 have been processed, or when the shooting of the camera unit 22 has ended, it is determined in step S56 that the processing has ended.
  • step S56 determines whether the process has ended. If it is determined in step S56 that the process has not ended, the process is returned to step S53, and the processes thereafter are repeated.
  • step S71 an interpolation rate is obtained.
  • step S72 the exposure time is obtained.
  • step S73 the number n of frames to be interpolated is calculated.
  • the number of frames n to be interpolated in the intra-frame interpolation is calculated based on the above formula (6), and is calculated using the interpolation rate, exposure time, and non-exposure time.
  • (exposure time+non-exposure time) can be calculated from the frame rate.
  • step S73 the interpolation rate obtained in step S71, the exposure time obtained in step S72, and the (exposure time + non-exposure time) calculated from the frame rate are used to calculate the interpolation frame number n to be interpolated. be done.
  • the k-th image (frame) from the frame-based imager 32 is acquired.
  • the acquired frame may be a frame directly supplied from the frame-based imager 32 to the interpolated image generator 43 or may be a frame stored in the data storage unit 42 .
  • the k-th frame obtained in step S74 is denoted as frame P here.
  • step S75 the first interpolation frame Pa1 is generated.
  • the first interpolated frame Pa1 is generated based on Equation (5) using the frame P and the integrated event data ⁇ Pa acquired within the exposure time.
  • step S76 i is set to 2.
  • step S77 the i-th interpolation frame Pai is generated.
  • the interpolated frame Pai is generated by adding the accumulated event data ⁇ Pai-1 to the previous interpolated frame Pai-1.
  • the interpolated frame Pa2 is generated by adding the accumulated event data ⁇ Pa1 to the interpolated frame Pa1.
  • step S78 i is incremented by one.
  • step S79 it is determined whether or not i is equal to or less than n (i ⁇ n). If it is determined in step S79 that i is equal to or less than n, the process returns to step S77, and the subsequent processes are repeated. That is, generation of interpolation frames Pa is repeated until the number of frames set as the number n of interpolation frames to be interpolated is reached.
  • step S79 if it is determined in step S79 that i is not less than or equal to n, in other words, if it is determined that i is greater than n, the interpolation frame Pa at the exposure time to be processed is generated. Processing is terminated.
  • step S54 (FIG. 10) will be described with reference to the flowchart of FIG. Since the inter-frame interpolation has been described with reference to FIGS. 4 and 7, redundant description will be omitted as appropriate.
  • step S91 an interpolation rate is obtained.
  • step S92 exposure time (or non-exposure time) is obtained.
  • step S93 the number m of frames to be interpolated is calculated.
  • step S54 intra-frame interpolation (k) is executed before inter-frame interpolation (k) is executed, and interpolation rate and the exposure time have been acquired, the processing of steps S91 and S92 may be omitted, and the already acquired interpolation rate and exposure time may be used.
  • step S93 The number of interpolated frames m to be interpolated in step S93 is calculated based on the above equation (15).
  • step S93 the interpolation rate obtained in step S91, the exposure time (or non-exposure time) obtained in step S92, and the (exposure time + non-exposure time) calculated from the frame rate are used to perform interpolation.
  • An interpolation frame number m is calculated.
  • the non-exposure time is divided into the first half and the second half, and the interpolated frame Pb is generated by adding the integration event data ⁇ Pb in the first half, and the integration event data ⁇ Pb is generated in the second half.
  • An interpolation frame Pb is generated by subtracting the data ⁇ Pb.
  • the processing of steps S94 to S98 is processing related to generation of the interpolation frame Pb in the first half of the non-exposure time
  • the processing of steps S99 to S103 is processing related to generation of the interpolation frame Pb in the latter half of the non-exposure time.
  • step S94 the last interpolated frame Pa of the intra-frame interpolation of the k-th frame is acquired.
  • the last interpolated frame Pa stored in the data storage unit 42 is obtained.
  • the interpolation frame Pa of the k-th frame P acquired in step S94 is here referred to as interpolation frame Pa0.
  • step S95 i is set to 1.
  • step S96 the i-th interpolated frame Pbi is generated.
  • the interpolation frame Pbi is generated by adding the accumulated event data ⁇ Pbi to the previous interpolation frame Pbi-1.
  • the first interpolated frame Pb1 is generated using the last interpolated frame Pa.
  • the interpolation frame Pb1 is generated by adding the accumulated event data ⁇ Pb1 to the interpolation frame Pa1 (corresponding to the interpolation frame Pb0).
  • the interpolated frame Pb2 is generated by adding the accumulated event data ⁇ Pb2 to the interpolated frame Pb1.
  • step S97 i is incremented by one.
  • step S98 it is determined whether or not i is (m/2) or less (i ⁇ m/2). If it is determined in step S98 that i is equal to or less than (m/2), the process returns to step S96, and the subsequent processes are repeated. That is, the generation of interpolation frames Pb is repeated until the number of interpolation frames Pb is half the number set as the number of interpolation frames m to be interpolated.
  • step S98 determines whether i is less than (m/2). If it is determined in step S98 that i is not less than (m/2), the process proceeds to step S99.
  • step S99 the leading interpolated frame Pa of the k+1th frame intra-frame interpolation is obtained.
  • the top interpolation frame Pa stored in the data storage unit 42 is obtained.
  • the interpolated frame Pa of the k+1-th frame P acquired in step S99 is represented here as an interpolated frame Pam+1.
  • step S100 i is set to m.
  • step S101 the i-th interpolated frame Pbi is generated.
  • the interpolated frame Pbi is generated by subtracting the integrated event data ⁇ Pbi from the next interpolated frame Pbi+1.
  • step S102 i is decremented by 1.
  • step S103 it is determined whether or not i is greater than (m/2) (m/2 ⁇ i). If it is determined in step S103 that i is greater than (m/2), the process returns to step S101, and the subsequent processes are repeated. That is, the generation of interpolation frames Pb is repeated until the number of interpolation frames Pb already generated in steps S94 to S98 is subtracted from the number of interpolation frames set as the number m of interpolation frames to be interpolated.
  • the event data from the event-based imager 33 is used for the moving image acquired from the frame-based imager 32 to generate interpolation frames, thereby generating a moving image with a high frame rate.
  • the above-described embodiment can cope with both the case where the output from the event-based imager 33 is gradation output and the case where there is no gradation output (in the case of code output).
  • the frame-based imager 32 supports high dynamic range (HDR), according to the international standard ITU-R BT.2100, the gradation is 10 or 12 bits, 72db, and about 4000 gradations. It is stated to be compliant. Assuming that the moving image frame rate of the frame-based imager 32 is 120 FPS, it is approximately 8.3 msec/frame.
  • HDR high dynamic range
  • the event-based imager 33 commercialized by the applicant has HDR characteristics of 124 db or more, is capable of detecting events even at low illumination, for example, 40 mlx, and has high temporal resolution (accuracy in units of 1 ⁇ s).
  • the event-based imager 33 has sufficient accuracy in both luminance resolution and time resolution as compared with the frame-based imager 32 . Even if the output from the event-based imager 33 does not have a gradation output and instead outputs a sign (+1 or -1) representing luminance change, the above-described performance allows the event-based to frame-based To convert luminance to gradation, it is possible to calculate how many event-based events correspond to one frame-based gradation by a simple proportional calculation.
  • the output from the event-based imager 33 can be applied to the present technology both when there is gradation output and when there is no gradation output (in the case of code output). can.
  • the brightness of (pixels at predetermined coordinates of) frame P obtained at exposure time A and (pixels at predetermined coordinates of) frame Px obtained at the next exposure time B When there is a large difference between , the occurrence density of events that occurred during that time is obtained.
  • the event occurrence density is graphed such that it peaks during the non-exposure time, as shown in FIG. 13B.
  • the interpolated luminance curve in FIG. 13 is obtained.
  • a luminance gradation obtained from this interpolated luminance curve is treated as event data from the event-based imager 33 .
  • the vertical axis of the graph in FIG. e1 is a value that intersects the interpolated brightness curve at time t1.
  • the event data e2 at time t2 has a value that intersects the interpolated luminance curve at time t2
  • the event data e3 at time t3 has a value that intersects the interpolated luminance curve at time t3
  • the event data e4 at this time is a value that intersects the interpolated brightness curve at time t4.
  • the amount of change in brightness included in the event data may be set using an interpolated brightness curve generated from the event-based occurrence density.
  • a sudden change in brightness is determined by creating a graph of event-based occurrence density as shown in B of FIG. You can set up a system.
  • the intra-frame interpolation processing for moving images described above can be applied to generate still images from which motion blur has been removed.
  • a still image can be regarded as one image when the number of interpolated images is approached to infinity in the intra-frame interpolation process described with reference to FIG.
  • TE represents the exposure time of the frame-based imager 32 .
  • T represents the time of the desired still image.
  • the time represented by T is the time when the exposure start time is set to 0.
  • te represents the event occurrence time.
  • ⁇ Pte represents event data (brightness difference image) of an event occurring at te.
  • Equation (16) means multiplying and summing the coefficients represented by the graph shown in FIG. Referring to FIG . 14, there is time T between exposure time 0 and time TE. The coefficient between time 0 and time T increases linearly from 0 to (T/T E ). This part relates to the operation of the second term on the right side of equation (16).
  • the expression (17) is given. As described above, it can be calculated using the frame P, the accumulated event data ⁇ P1 from time 0 to time T, and the accumulated event data ⁇ P2 from time T to time TE.
  • the time T is the time at the midpoint of the exposure time, but it is also possible to set a time other than the midpoint so that it can be easily obtained.
  • time T E time T E
  • all five generated still images PT may be saved.
  • Five still images PT may be presented to the user, and one or more still images PT selected by the user may be saved.
  • the frame P obtained by the frame-based imager 32 and the event data (accumulated event data ⁇ P) obtained by the event-based imager 33 can be used to generate a still image from which motion blur has been removed. can.
  • the series of processes described above can be executed by hardware or by software.
  • a program that constitutes the software is installed in the computer.
  • the computer includes, for example, a computer built into dedicated hardware and a general-purpose personal computer capable of executing various functions by installing various programs.
  • FIG. 16 is a block diagram showing an example of the hardware configuration of a computer that executes the series of processes described above by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input/output interface 1005 is further connected to the bus 1004 .
  • An input unit 1006 , an output unit 1007 , a storage unit 1008 , a communication unit 1009 and a drive 1010 are connected to the input/output interface 1005 .
  • the input unit 1006 consists of a keyboard, mouse, microphone, and the like.
  • the output unit 1007 includes a display, a speaker, and the like.
  • the storage unit 1008 includes a hard disk, nonvolatile memory, and the like.
  • a communication unit 1009 includes a network interface and the like.
  • a drive 1010 drives a removable recording medium 1011 such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory.
  • the CPU 1001 loads, for example, a program stored in the storage unit 1008 into the RAM 1003 via the input/output interface 1005 and the bus 1004, and executes the above-described series of programs. is processed.
  • a program executed by the computer (CPU 1001) can be provided by being recorded on a removable recording medium 1011 such as a package medium, for example. Also, the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the storage unit 1008 via the input/output interface 1005 by loading the removable recording medium 1011 into the drive 1010 . Also, the program can be received by the communication unit 1009 and installed in the storage unit 1008 via a wired or wireless transmission medium. In addition, programs can be installed in the ROM 1002 and the storage unit 1008 in advance.
  • the program executed by the computer may be a program that is processed in chronological order according to the order described in this specification, or may be executed in parallel or at a necessary timing such as when a call is made. It may be a program in which processing is performed.
  • the system represents an entire device composed of multiple devices.
  • the present technology can also take the following configuration.
  • a frame-based first imaging element an event-based second imaging element;
  • An image processing apparatus comprising: a generator that generates an interpolated frame using frame data from the first imaging element and event data from the second imaging element.
  • the generation unit generates the interpolation frame by adding integrated event data obtained by integrating the event data generated within a predetermined time to the interpolation frame.
  • the generation unit generates the The image processing device according to (2), wherein the first interpolation frame within the first exposure time is generated.
  • the generation unit generates the interpolation frame by adding or subtracting accumulated event data obtained by accumulating the event data generated within a predetermined time to or from the interpolation frame.
  • the image processing device according to . (5) The generating unit the last interpolation frame among the plurality of interpolation frames generated as interpolation frames within the first exposure time; adding the second frame data obtained by the first imaging device during a second exposure time after the first exposure time and the integrated event data obtained during the second exposure time By doing so, the first interpolated frame among the generated interpolated frames, The interpolated frame in the non-exposure time is generated using the integrated event data obtained in the non-exposure time between the first exposure time and the second exposure time.
  • Image processing device is any one of (1) to (3) above, wherein the generation unit generates the interpolation frame by adding or subtracting accumulated event data obtained by accumulating the event data generated within a predetermined time to or from the interpolation frame.
  • the generating unit when generating the interpolation frame positioned in the first half of the non-exposure time, generating the interpolation frame using the last interpolation frame and the integrated event data obtained in the first half of the non-exposure time; When generating the interpolation frame positioned in the latter half of the non-exposure time, the interpolation frame is generated using the leading interpolation frame and the integrated event data obtained in the latter half of the non-exposure time. ).
  • (7) The image processing apparatus according to (1), wherein a still image at a predetermined time within an exposure time is generated by adding and subtracting the event data acquired within the exposure time to and from the frame data.
  • a frame-based first imaging element An image processing device comprising an event-based second image sensor and An image processing method comprising generating an interpolated frame using frame data from the first imaging device and event data from the second imaging device.
  • a frame-based first imaging element to a computer that controls an image processing device comprising an event-based second imaging device; A program for executing processing including the step of generating an interpolated frame using frame data from the first imaging device and event data from the second imaging device.
  • An image processing apparatus comprising: a generation unit that generates an interpolation frame that interpolates between a first frame and a second frame using event data obtained from an event-based imaging device and frame data.
  • the image processing device (11) The image processing device according to (10), wherein the first frame and the second frame are frames captured by a frame-based imaging device. (12) The image processing device according to (10) or (11), wherein the first frame and the second frame are interpolation frames generated by the generation unit. (13) The image processing device An image processing method for generating an interpolated frame interpolating between a first frame and a second frame using event data obtained from an event-based imaging device and frame data. (14) to the computer, A program for executing processing including the step of generating an interpolated frame for interpolating between a first frame and a second frame using event data obtained from an event-based imaging device and frame data.
  • 11 image processing device 21 lens, 22 camera section, 23 image generation section, 31 half mirror, 32 frame base imager, 33 event base imager, 34 inter-imager correction calculation section, 35 calibration section, 41 event integration section, 42 data storage unit, 43 interpolation image generation unit, 51 hybrid imager

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)

Abstract

本技術は、高フレームレートの動画像を生成することができるようにする画像処理装置、画像処理方法、並びにプログラムに関する。 フレームベースの第1の撮像素子と、イベントベースの第2の撮像素子と、第1の撮像素子からのフレームデータと、第2の撮像素子からのイベントデータを用いて、補間フレームを生成する生成部とを備える。生成部は、補間フレームに、所定の時間内に発生したイベントデータを積算した積算イベントデータを加算することで補間フレームを生成する。本技術は、例えば、フレームベースの撮像素子とイベントベースの撮像素子を備える画像処理装置に適用できる。

Description

画像処理装置、画像処理方法、並びにプログラム
 本技術は、画像処理装置、画像処理方法、並びにプログラムに関し、例えば、画像を補間することで高フレームレートとするようにした画像処理装置、画像処理方法、並びにプログラムに関する。
 従来、撮像装置などにおいて、垂直同期信号などの同期信号に同期して画像データ(フレーム)を撮像する同期型の撮像素子が用いられている。この一般的な同期型の撮像素子では、同期信号の周期、例えば、1/60秒ごとに画像データが取得される。
 近年、画素アドレス毎に、その画素の輝度の変化量が閾値を超えた旨をアドレスイベントとして検出する非同期型の撮像素子も用いられるようになりつつある。このように、画素毎にアドレスイベントを検出する撮像素子は、DVS(Dynamic Vision Sensor)と称されることもある。
 非同期型の撮像素子からのデータにより同期型の撮像素子のフレームレートを制御することが提案されている(例えば、特許文献1参照)。
特表2017-535999号公報
 例えば、低照度の被写体を撮影しているような場合でも、高フレームレートの撮影が行えるようにすることが望まれている。
 本技術は、このような状況に鑑みてなされたものであり、高フレームレートの動画像を生成することができるようにするものである。
 本技術の一側面の第1の画像処理装置は、フレームベースの第1の撮像素子と、イベントベースの第2の撮像素子と、前記第1の撮像素子からのフレームデータと、前記第2の撮像素子からのイベントデータを用いて、補間フレームを生成する生成部とを備える画像処理装置である。
 本技術の一側面の第1の画像処理方法は、フレームベースの第1の撮像素子と、イベントベースの第2の撮像素子とを備える画像処理装置が、前記第1の撮像素子からのフレームデータと、前記第2の撮像素子からのイベントデータを用いて、補間フレームを生成する画像処理方法である。
 本技術の一側面の第1のプログラムは、フレームベースの第1の撮像素子と、イベントベースの第2の撮像素子とを備える画像処理装置を制御するコンピュータに、前記第1の撮像素子からのフレームデータと、前記第2の撮像素子からのイベントデータを用いて、補間フレームを生成するステップを含む処理を実行させるためのプログラムである。
 本技術の一側面の第2の画像処理装置は、イベントベースの撮像素子から得られたイベントデータと、フレームデータとを用いて、第1のフレームと第2のフレームの間を補間する補間フレームを生成する生成部を備える画像処理装置である。
 本技術の一側面の第2の画像処理方法は、画像処理装置が、イベントベースの撮像素子から得られたイベントデータと、フレームデータとを用いて、第1のフレームと第2のフレームの間を補間する補間フレームを生成する画像処理方法である。
 本技術の一側面の第2のプログラムは、コンピュータに、イベントベースの撮像素子から得られたイベントデータと、フレームデータとを用いて、第1のフレームと第2のフレームの間を補間する補間フレームを生成するステップを含む処理を実行させるためのプログラムである。
 本技術の一側面の第1の画像処理装置、画像処理方法、並びにプログラムにおいては、フレームベースの第1の撮像素子と、イベントベースの第2の撮像素子とが備えられ、第1の撮像素子からのフレームデータと、第2の撮像素子からのイベントデータが用いられて、補間フレームが生成される。
 本技術の一側面の第2の画像処理装置、画像処理方法、並びにプログラムにおいては、イベントベースの撮像素子から得られたイベントデータと、フレームデータとが用いられて、第1のフレームと第2のフレームの間を補間する補間フレームが生成される。
 なお、画像処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
 また、プログラムは、伝送媒体を介して伝送することにより、または、記録媒体に記録して、提供することができる。
本技術を適用した画像処理装置の一実施の形態の構成を示す図である。 画像処理装置の他の構成例を示す図である。 画像処理装置の他の構成例を示す図である。 フレーム補間の処理について説明するための図である。 フレーム内補間の処理について説明するための図である。 間隔Δtについて説明するための図である。 フレーム間補間の処理について説明するための図である。 カメラ部の処理について説明するためのフローチャートである。 イベント積算部の処理について説明するためのフローチャートである。 補間処理について説明するためのフローチャートである。 フレーム内補間の処理について説明するためのフローチャートである。 フレーム間補間の処理について説明するためのフローチャートである。 急激な輝度変化時の対処法について説明するための図である。 静止画像の生成について説明するための図である。 静止画像の生成について説明するための図である。 パーソナルコンピュータの構成例を示す図である。
 以下に、本技術を実施するための形態(以下、実施の形態という)について説明する。
 <画像処理装置の構成>
 図1は、本技術を適用した画像処理装置の一実施の形態の構成を示す図である。本技術を適用した画像処理装置11は、レンズ21、カメラ部22、画像生成部23を備える。
 カメラ部22は、ハーフミラー31、フレームベースイメージャ32、イベントベースイメージャ33、イメージャ間補正演算部34、およびキャリブレーション部35を備える。画像生成部23は、イベント積算部41、データ保存部42、および補間画像生成部43を備える。
 画像処理装置11は、垂直同期信号などの同期信号に同期して画像データ(フレーム)を撮像する同期型の撮像素子としてフレームベースイメージャ32を備える。フレームベースイメージャ32では、同期信号の周期、例えば、1/60秒毎に画像データが取得される。
 画像処理装置11は、画素アドレス毎に、その画素の輝度の変化量が閾値を超えた旨をアドレスイベントとして検出する非同期型の撮像素子としてイベントベースイメージャ33を備える。イベントベースイメージャ33のような画素毎にアドレスイベントを検出する撮像素子は、DVS(Dynamic Vision Sensor)と称されることがある。
 画像処理装置11は、動画像や静止画像を撮影する。画像処理装置11は、フレームベースイメージャ32で撮影された動画像(連続したフレーム)に、イベントベースイメージャ33から得られるイベントデータを用いて、補間するフレーム(以下、補間フレームと記述する)を生成し、高フレームレートの動画像を生成する。画像処理装置11は、フレームベースイメージャ32で撮影された静止画像(1フレーム)に、イベントベースイメージャ33からの得られるイベントデータを用いて、ノイズを低減した静止画像を生成する。
 画像処理装置11のレンズ21を介してカメラ部22に入力された光は、ハーフミラー31により分光され、フレームベースイメージャ32とイベントベースイメージャ33に、それぞれ供給される。ハーフミラー31の代わりに、プリズムなどでも良い。
 フレームベースイメージャ32は、デジタルカメラなどに用いられる一般的な可視光のイメージャを適用できる。フレームベースイメージャ32としては、カラー画像を撮影するイメージャであっても良いし、白黒画像を撮影するイメージャであっても良い。ここでは、フレームベースイメージャ32として、カラー画像または白黒画像を撮影するイメージャである場合を例に挙げて説明を続けるが、IR(赤外光)イメージャや、偏光イメージャなども本技術のフレームベースイメージャ32として適用できる。
 イベントベースイメージャ33は、画素毎に輝度変化を非同期で検出し、検出したデータだけを、座標と時間を組み合わせた情報として出力する。イベントベースイメージャ33には、輝度の変化の符号を出力するもの、換言すれば階調を出力は無く、輝度が明るくなった場合+1、暗くなった場合-1を出力するイメージャがある。イベントベースイメージャ33には、輝度の変化量を出力するもの、換言すれば階調を出力するイメージャもある。以下の説明では、特に断りがない場合、輝度の変化量を出力するイメージャである場合を例に挙げて説明する。イベントベースイメージャ33から出力されるデータを、イベントデータと適宜記載し、イベントデータは、輝度の変化量を含むデータであるとする。
 イメージャ間補正演算部34は、フレームベースイメージャ32とイベントベースイメージャ33との間の正規化係数を演算する。フレームベースイメージャ32の画素数とイベントベースイメージャ33の画素数が異なる場合、画素数を合わせた処理が行えるように、正規化が行われる。フレームベースイメージャ32の感度とイベントベースイメージャ33の感度が異なる場合、感度を合わせた処理が行えるように、正規化が行われる。
 画素数や感度以外のイメージャ間で差分を解消するための処理が、イメージャ間補正演算部34においてさらに実行されるようにしても良い。イメージャ間補正演算部34は、イメージャ間のピクセルの位置や感度などの差分情報(正規化係数)を演算する。
 キャリブレーション部35は、フレームベースイメージャ32からのフレームデータとイベントベースイメージャ33からのイベントデータを、後段(画像生成部23)で合成する際に、適切に行えるように、イメージャ間の補正演算を、イメージャ間補正演算部34で演算された正規化係数を用いて、イベントベースイメージャ33からのデータに補正を施す。
 フレームベースイメージャ32からのフレームデータは、イメージャ間補正演算部34と、画像生成部23のデータ保存部42に供給される。イベントベースイメージャ33からのイベントデータは、イメージャ間補正演算部34とキャリブレーション部35に供給される、キャリブレーション部35により、補正が施されたイベントベースイメージャ33からのイベントデータは、画像生成部23のイベント積算部41に供給される。
 画像生成部23のイベント積算部41は、キャリブレーション部35を介して入力されるイベントベースイメージャ33からのイベントデータを、一定時間蓄積し、蓄積されたイベントデータを積算し、一定時間間隔毎の変化の差分情報を生成する。イベントベースイメージャ33からは、輝度の変化があったとき、換言すれば、イベントが発生したときに、イベントデータが出力されるため、イベントベースイメージャ33からの出力は、不定期である。イベント積算部41により、所定の期間内のイベントデータが積算されることで、イベント積算部41からのデータ(以下、適宜、積算イベントデータと記述する)は、所定の周期でデータ保存部42に供給され、保存される。
 データ保存部42は、フレームベースイメージャ32で撮影された動画データと、イベント積算部41からの積算イベントデータを保存する。データ保存部42は、補間画像生成部43で補間された補間フレームも保存する。データ保存部42は、DRAM(Dynamic Random Access Memory)などの一時保存用メモリデバイスや、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリなどの常時保存デバイスなどで構成することができる。
 データ保存部42に保存された動画データは、このままデータ保存部42に記憶されたり、他の記録媒体に記録されたり、後段の図示していない処理部に出力されたり、ディスプレイに出力され表示されたりする。データ保存部42に、補間フレームが保存されている場合には、直接動画像出力(レンダリング済み動画像の出力)も行える。
 補間画像生成部43は、データ保存部42に保存されているフレームベースイメージャ32からの動画データと、イベントベースイメージャ33からの一定時間間隔の被写体差分情報を用いて、後述するフレーム間補間画像と、フレーム内補間画像を生成する。補間画像生成部43により生成された補間画像は、データ保存部42に保存されたり、他の記録媒体に記録されたり、後段の図示していない処理部に出力されたり、ディスプレイに出力され表示されたりする。
 補間画像生成部43は、フレームベースイメージャ32とイベントベースイメージャ33からの出力を随時受け付け、補間処理をリアルタイムに行い動画出力する(オンザフライ動画出力を行う)ように構成されていても良い。
 図2は、画像処理装置11の他の構成例を示す図である。図2に示した画像処理装置11’(図1に示した画像処理装置11と区別を付けるためにダッシュを付して記述する)は、フレームベースイメージャ32とイベントベースイメージャ33が合わさったハイブリッドイメージャ51で構成されている点が異なる。
 画像処理装置11’のカメラ部22’は、ハイブリッドイメージャ51を含む構成であるため、ハーフミラー31、イメージャ間補正演算部34、およびキャリブレーション部35が省略された構成とされている。このように、ハイブリッドイメージャ51を用いることもできる。
 以下の説明では、図1に示した画像処理装置11を例に挙げて説明を続ける。
 画像処理装置11は、図3のAに示したように、レンズ21、カメラ部22、および画像生成部23が一体化された構成とされていても良い。図3のBに示したように、レンズ21とカメラ部22は、一体化された構成とされ、画像生成部23は、別体で構成されている構成であっても良い。
 換言すれば、画像生成部23は、画像処理装置11に内蔵されるように構成しても良いし、カメラ部22と別体として構成されるようにしても良い。カメラ部22と画像生成部23を別体で構成する場合、カメラ部22と画像生成部23は、所定のネットワークを介して接続されている構成とすることもできる。画像生成部23は、例えば、パーソナルコンピュータ(PC)で構成されていても良い。画像生成部23を、PCなどの外部機器として構成した場合、AI(Artificial Intelligence)やニューラルネットワークなどにより高度な後処理が行われるように構成することもできる。
 <補間フレームの生成について>
 画像処理装置11は、フレームベースイメージャ32で撮像される動画像(フレーム)に、フレームを補間し、高フレームレートの動画像に変換する処理を実行する。図4を参照し、画像処理装置11が行う補間フレームの生成に係わる処理の概要について説明する。
 フレームベースイメージャ32において、時刻T1から時刻T2は露光時間であり、この露光時間にフレームP1が取得される。時刻T2から時刻T3は、非露光時間である。時刻T3から時刻T4は露光時間であり、この露光時間にフレームP2が取得される。
 イベントベースイメージャ33からは不定期にイベントデータが出力されるが、イベント積算部41からは、定期的に積算イベントデータが出力される。図4では、時刻T1から時刻T2の露光時間内に、積算イベントデータΔPa1、積算イベントデータΔPa2、積算イベントデータΔPa3、積算イベントデータΔPa4、積算イベントデータΔPa5が、間隔Δtの間隔で出力(データ保存部42に保持)される。
 時刻T2乃至T3の非露光時間内には、積算イベントデータΔPb1、積算イベントデータΔPb2、積算イベントデータΔPb3、積算イベントデータΔPb4が、間隔Δtの間隔で出力(データ保存部42に保持)される。
 時刻T3乃至T4の露光時間内には、積算イベントデータΔPa6、積算イベントデータΔPa7、積算イベントデータΔPa8が、間隔Δtの間隔で出力(データ保存部42に保持)される。
 露光時間内に補間フレームを生成するのを、ここではフレーム内補間と記述し、非露光時間内に補間フレームを生成するのを、フレーム間補間と記述する。フレーム内補間において補間される補間フレームを、補間フレームPaと記述し、フレーム間補間において補間される補間フレームを、補間フレームPbと記述する。
 フレーム内補間に用いられる積算イベントデータ、換言すれば、露光時間内に生成される積算イベントデータを、積算イベントデータΔPaと記述する。フレーム間補間に用いられる積算イベントデータ、換言すれば、非露光時間内に生成される積算イベントデータを、積算イベントデータΔPbと記述する。
 ここでは、説明のため、積算イベントデータΔPaと積算イベントデータΔPbに分けて説明を続けるが、積算イベントデータΔPaと積算イベントデータΔPbは、ともに、所定の時間内に発生したイベントデータを積算したデータであり、積算イベントデータΔPaと積算イベントデータΔPbが異なるデータであることを示す記載ではない。
 図4に示した例では、時刻T1から時刻T2における露光時間内に、フレーム内補間が行われることで、補間フレームPa1乃至Pa5の5枚のフレームが生成される。補間フレームPa1乃至Pa5は、フレームP1と、積算イベントデータΔPa1乃至ΔPa4が用いられて生成される。
 時刻T2から時刻T3における非露光時間内に、フレーム間補間が行われることで、補間フレームPb1乃至Pb4の4枚のフレームが生成される。補間フレームPb1乃至Pb4は、補間フレームPa5と、時刻T3から時刻T4で行われるフレーム内補間で生成された補間フレームPa6と、積算イベントデータΔPb1乃至ΔPb4が用いられて生成される。
 時刻T3から時刻T4における露光時間内に、フレーム内補間が行われることで、補間フレームPa6乃至Pa9の4枚のフレームが生成される。補間フレームPa6乃至Pa9は、フレームP2と、積算イベントデータΔPa6乃至ΔPa8が用いられて生成される。
 このように、フレーム内補間は、フレームベースイメージャ32から得られたフレームデータと、イベントベースイメージャ33から得られたイベントデータ(積算イベントデータ)が用いられて補間フレームPaが生成される補間処理である。
 フレーム間補間は、イベントベースイメージャ33からの得られた積算イベントデータと、フレーム内補間において得られた補間フレームPaが用いられて補間フレームPbが生成される処理である。
 <フレーム内補間>
 図5を参照し、フレーム内補間についてさらに説明を加える。図5では、図4における時刻T1から時刻T2における露光時間において実行されるフレーム内補間を例に挙げている。
 図5において、フレームP1は、露光時間においてフレームベースイメージャ32により撮影されたフレーム(動画像を構成する画像)を表す。所定の間隔Δtの間にイベントベースイメージャ33から出力されたイベントデータは、イベント積算部41(図1)で積算され、積算イベントデータΔPaとして補間画像生成部43に供給される。図5に示した例では、露光時間内に、積算イベントデータΔPa1乃至Pa4が生成される。
 補間フレームPa1乃至Pa5は、フレーム内補間の処理が実行されることで補間されるフレーム、換言すれば新たに生成されるフレームである。ここで、フレームP1と補間フレームPa1乃至Pa5の間には、以下の関係が成り立つ。以下に示す各式においては、フレームP1をP1と表し、補間フレームPa1乃至Pa5をそれぞれ、Pa1、Pa2、Pa3、Pa4、Pa5と表し、積算イベントデータΔPa1乃至Pa4をそれぞれ、ΔPa1、ΔPa2、ΔPa3、ΔPa4と表す。
 P1=(Pa1+Pa2+Pa3+Pa4+Pa5)/5 ・・・(1)
 補間フレームPa1乃至Pa5を平均化した画像は、フレームP1に近似しており、上記した関係式(1)の関係が成り立つ。
 補間フレームPa1乃至Pa5と、積算イベントデータΔPa1乃至Pa5との間には、以下のような関係式(2)が成り立つ。
 Pa2=Pa1+ΔPa1
 Pa3=Pa2+ΔPa2=Pa1+ΔPa1+ΔPa2
 Pa4=Pa3+ΔPa3=Pa1+ΔPa1+ΔPa2+ΔPa3
 Pa5=Pa4+ΔPa4=Pa1+ΔPa1+ΔPa2+ΔPa3+ΔPa4
                           ・・・(2)
 補間フレームPa2は、前の補間フレームPa1に、補間フレームPa1からの差分である積算イベントデータΔPa1を加算したフレームとなる。同様に、補間フレームPa3は、前の補間フレームPa2に、補間フレームPa2からの差分である積算イベントデータΔPa2を加算したフレームとなる。
 同様に、補間フレームPa4は、前の補間フレームPa3に、補間フレームPa3からの差分である積算イベントデータΔPa3を加算したフレームとなる。同様に、補間フレームPa5は、前の補間フレームPa4に、補間フレームPa4からの差分である積算イベントデータΔPa4を加算したフレームとなる。
 式(2)を、式(1)に代入し、整理すると次式(3)が得られる。
 P1×5=Pa1×5+ΔPa1×4+ΔPa2×3
              +ΔPa3×2+ΔPa4  ・・・(3)
 式(3)から、フレームP1は、補間フレームPa1と積算イベントデータΔPa1乃至Pa4を用いて表せることがわかる。さらに、式(3)を変形し、補間フレームPa1に関する式にすると次式(4)が得られる。
 Pa1=P1―(ΔPa1×4+ΔPa2×3+ΔPa3×2+ΔPa4)/5
                           ・・・(4)
 式(4)から、補間フレームPa1は、フレームP1と、積算イベントデータΔPa1乃至ΔPa4を用いて生成できることがわかる。
 式(4)に基づき、補間フレームPa1が生成されると、式(2)から補間フレームPa2乃至Pa5も生成することができる。すなわち、例えば、補間フレームPa2は、生成された補間フレームPa1に、積算イベントデータΔPa1を加算することで生成される。補間フレームPa3乃至Pa5も同様に、補間フレームPa2乃至Pa4と、積算イベントデータΔPa2乃至Pa4を用いて生成される。
 式(4)を一般的に表すと、次式(5)となる。
Figure JPOXMLDOC01-appb-M000001
 式(5)において、Pa1は、フレーム内補間において最初に生成される補間フレームPaを表している。Pは、フレーム内補間が実行される露光時間のときに取得されたフレームPを表している。nは、フレーム内補間において生成される補間フレームの枚数を表し、例えば、図5に示した例では、n=5である。
 ΔPa乃至ΔPn-1は、フレーム内補間が実行される露光時間の間に取得された積算イベントデータΔPa乃至ΔPan-1を表している。
 補間フレームの枚数nは、次式(6)により算出される。
Figure JPOXMLDOC01-appb-M000002
 フレーム内補間数nは、露光時間を、露光時間と非露光時間を加算した値で除算した値に補間レートを乗算した値とされる。AE(Auto Exposure)機能が有効にされている場合、露光時間は動的に変化する。よって、フレーム内補間数nは、露光時間が動的に変化するような場合、フレーム毎に露光時間が取得され、フレーム毎に算出、設定される。
 補間レートは、元の動画を何倍に補間するかを表す値であり、次式(7)により定義される。
Figure JPOXMLDOC01-appb-M000003
 補間レートは、補間後のフレームレートを、補間前のフレームレートで除算した値と定義することができる。
 例えば、図5に示した例では、露光時間内に5枚の補間フレームを生成するので、補間レートは5である。補間レートまたは補間後のフレームレートは、予め設定されている値としても良いし、ユーザにより設定されるようにしても良い。
 フレーム内補間数nは、積算イベントデータΔPaを生成する間隔Δt(イベントデータを蓄積している時間)に係わる。すなわち、フレーム内補間数nは、露光時間内に何枚の補間フレームを生成するかである。換言すれば、露光時間を均等に、フレーム内補間数nで分割し、その分割した時間間隔毎に、補間フレームPaが生成される。露光時間を均等に分割した時間が、間隔Δtに相当し、間隔Δt毎に、積算イベントデータΔPaが生成され、補間フレームPaが生成される。間隔Δtは、次式(8)で算出される。
Figure JPOXMLDOC01-appb-M000004
 間隔Δtは、1を、補正前のフレームレートに補間レートを乗算した値で除算した値とされる。図6に示すように、所定の時刻tkから時刻tk+Δtまでの間に発生したイベントデータが積算され、時刻tk+Δtにおける積算イベントデータΔPaとして出力される。
 図6において、白い四角形は輝度が明るい方に変化したピクセルを表し、黒い四角形は輝度が暗い方に変化したピクセルを表している。間隔Δtの間に蓄積されたイベントデータが積算されることで、積算イベントデータΔPaが生成される。
 イベントベースイメージャ33から出力されるイベントデータは、例えば、次式(9)のように表される。以下、イベントデータをeで表す。
  e=[x,y,p]te   ・・・(9)
 イベントデータeは、イベントが発生している座標[x,y]と、そのピクセルにおける輝度の変化量pまたは輝度の変化の符号pを要素として有する。pは、イベントデータとして階調出力がある場合には、階調出力であり、階調出力がない場合には、+1または-1の符号である。式(9)においてteは、イベントが発生した時刻となる。
 イベントデータeがカラーの場合、イベントデータeは、以下のように表される。
  e=[x,y,p、p、pte   ・・・(10)
 式(10)において、pは、赤(R)における輝度の変化量(または符号)を表し、pは、緑(G)における輝度の変化量(または符号)を表し、pは、青(B)における輝度の変化量(または符号)を表す。以下の説明では、イベントデータeは、式(9)で表されるデータである場合を例に挙げて説明を続けるが、カラーである場合には、適宜、式(10)されるデータであると読み替えることで実施できる。
 イベントベースイメージャ33のピクセル数や感度がフレームベースイメージャ32と異なる場合、上記したように処理により補間フレームPaを生成するために、イベントデータeを、フレームベースイメージャ32からの出力に適したデータに正規化する必要がある。
 キャリブレーション部35(図1)で正規化されたイベントデータe(イベントデータeとする)は、次式(11)で表される。
  e=[x,y,pte   ・・・(11)
 イベント積算部41(図1)には、キャリブレーション部35でキャリブレーションされたイベントデータeが供給される。イベント積算部41では、間隔Δtの間、キャリブレーション部35から供給されるイベントデータeを積算する。
 イベント積算部41は、次式(12)に基づく演算を行い、積算イベントデータΔPaを算出する。
Figure JPOXMLDOC01-appb-M000005
 式(12)は、例えば図6に示したように、時刻tkから時刻tk+Δt、すなわち間隔Δtの間に発生したイベントデータeであり、正規化されたイベントデータeを積算する式である。
 なお、フレームベースでダイナミックレンジの上限または下限になっているピクセルに対しては、式(12)における演算の対象からは除外される。これは、ダイナミックレンジ範囲外の輝度変化を除外するためである。
 このように、フレーム内補間において補間フレームPaの生成に必要な積算イベントデータΔPaや、積算イベントデータΔPaを算出するのに必要な間隔Δtなどが算出される。そしてそれらの値と、フレームPと、積算イベントデータΔPaが用いられてフレーム内補間の処理が実行され、補間フレームPaが生成される。
 <フレーム間補間について>
 図7を参照し、フレーム間補間について説明を加える。図7では、図4における時刻T2から時刻T3における非露光時間において実行されるフレーム間補間を例に挙げている。
 図7において、フレームP1とフレームP2は、露光時間においてフレームベースイメージャ32により撮影されたフレーム(動画像を構成する画像)を表す。所定の間隔Δt間にイベントベースイメージャ33から出力されたイベントデータは積算され、積算イベントデータΔPbが生成される。図7に示した例では、非露光時間内に、積算イベントデータΔPb1乃至Pb4が生成される。
 ここでは、フレーム間補間に係わる積算イベントデータΔPbは、積算イベントデータΔPbと記載するが、イベントデータや、そのイベントデータから積算イベントデータを算出する処理などは、上記した積算イベントデータΔPaの場合と同様である。補間フレームPbが生成される周期は、間隔Δtに相当し、この間隔Δtも、上記したフレーム内補間に係わる間隔Δtが用いられる。
 フレーム間補間は、非露光時間に行われる補間である。フレーム間補間は、フレームベースイメージャ32の画素数が多いなどで、フレームベースイメージャ32からの画素値の読み出しにかかる時間が長くなり、非露光時間があるような場合に行われる補間処理である。
 図7に示した例において補間フレームPb1乃至Pb4は、フレーム間補間の処理が実行されることで補間されるフレーム、換言すれば新たに生成されるフレームである。フレーム間補間は、読み出しされているフレームPを用いたフレーム内補間により生成された補間フレームPaと、読み出しされているフレームPの次に撮影されるフレームPを用いたフレーム内補間により生成された補間フレームPaが用いられて生成される。
 図7に示した例においては、読み出しされているフレームPは、フレームP1であり、フレームP1より次に撮影されるフレームPは、フレームP2である。フレーム間補間に用いられる補間フレームPaは、フレームP1をフレーム内補間したときに生成された補間フレームPaのうちの最後尾のフレームである補間フレームPa5と、フレームP2をフレーム内補間したときに生成される先頭のフレームである補間フレームPa6である。
 フレーム間補間においては、非露光時間が前半と後半に分けられる。前半は、読み出しが行われているフレームP1を用いたフレーム内補間で生成された複数の補間フレームPaのうちの最後尾画像である補間フレームPa5が用いられる。後半は、フレームP1の次に読み出しが行われるフレームP2を用いたフレーム内補間で生成される複数の補間フレームPaのうちの先頭画像である補間フレームPa6が用いられる。
 フレーム間補間において、図7に示した例のように、4枚の補間フレームPb1乃至Pb4が生成される場合、非露光時間の前半に位置する補間フレームPb1と補間フレームPb2は、補間フレームPa5が用いられて生成され、非露光時間の後半に位置する補間フレームPb3と補間フレームPb4は、補間フレームPaが用いられて生成される。
 フレーム間補間における最初の補間フレームPb1は、補間フレームPa5に、積算イベントデータΔPb1を加算することで生成される。補間フレームPb1の次の補間フレームPb2は、補間フレームPb1に、積算イベントデータΔPb2を加算することで生成される。式で表すと以下のようになる。
 Pb1=Pa5+ΔPb1
 Pb2=Pb1+ΔPb2=Pa5+ΔPb1+ΔPb2  ・・・(13)
 補間フレームPb2は、補間フレームPb1に積算イベントデータΔPb2を加算することで生成されても良いが、補間フレームPa5に積算イベントデータΔPb1と積算イベントデータΔPb2を加算することで生成されても良い。
 フレーム間補間における最後尾の補間フレームPb4は、補間フレームPa6から、積算イベントデータΔPb4を減算することで生成される。補間フレームPb4より1つ前の補間フレームPb3は、補間フレームPb4から、積算イベントデータΔPb3を減算することで生成される。式で表すと以下のようになる。
 Pb4=Pa6-ΔPb4
 Pb3=Pb4-ΔPb3=Pa6-ΔPb4-ΔPb3  ・・・(14)
 補間フレームPb3は、補間フレームPb4から積算イベントデータΔPb3を減算することで生成されても良いが、補間フレームPa6から積算イベントデータΔPb3と積算イベントデータΔPb4を減算することで生成されても良い。
 このように、非露光時間の後半に位置する補間フレームPb3と補間フレームPb4は、時間的に近い補間フレームPa6が用いられて生成される。
 このように、非露光時間の前半においては、フレーム内補間により生成された補間フレームPaに、積算イベントデータΔPbが加算されることで補間フレームPbが生成される。一方、非露光時間の後半においては、フレーム内補間により生成された補間フレームPaから、積算イベントデータΔPbが減算されることで補間フレームPbが生成される。
 図7に示した例のように、フレーム間補間において、偶数枚の補間フレームが生成される場合、非露光時間の前半と後半のそれぞれの期間において同一枚数が生成される。フレーム間補間において、奇数枚の補間フレームが生成される場合、非露光時間の前半と後半のそれぞれの期間における枚数は異なる枚数となる。
 フレーム間補間において、例えば5枚の補間フレームPbが生成される場合、非露光時間の前半に2枚生成され、後半に3枚生成されるようにしても良いし、前半に3枚生成され、後半に2枚生成されるようにしても良い。
 奇数枚の補間フレームPbが生成される場合に、真ん中の補間フレームPbを非露光時間の前半に含めるか、後半に含めるか、換言すれば、積算イベントデータΔPbを加算することで生成するか、積算イベントデータΔPbを減算することで生成するかは、予め設定されていても良い。例えば真ん中の補間フレームPbは、積算イベントデータΔPbを減算することで生成すると設定されているようにしても良い。
 真ん中の補間フレームPbを生成するときに、積算イベントデータΔPbを加算することで生成する場合に、加算される積算イベントデータΔPbと、積算イベントデータΔPbを減算することで生成する場合に、減算される積算イベントデータΔPbとが比較され、小さい方の積算イベントデータΔPbが用いられるように設定されるようにしても良い。すなわち、変化量が小さい方の積算イベントデータΔPbが用いられて補間フレームPbが生成されるようにしても良い。
 フレーム間補間の処理により生成する補間フレームPbの枚数mは、次式(15)により算出される。
Figure JPOXMLDOC01-appb-M000006
 フレーム間補間数mは、非露光時間を、露光時間と非露光時間を加算した値で除算した値に補間レートを加算した値とされる。AE(Auto Exposure)機能が有効にされている場合、露光時間(非露光時間)は動的に変化する。よって、フレーム間補間数mは、露光時間が動的に変化するような場合、フレーム毎に露光時間と非露光時間が取得(算出)され、フレーム毎に枚数mは算出、設定される。
 式(15)に含まれる補間レートは、上述した場合と同じく、予め設定されている(演算により求められる)値が用いられる、または、ユーザにより設定された値が用いられる。補間レートを用いて上述した式(8)により求められる間隔Δtも、フレーム間補間における処理時の間隔Δtとして用いられる。
 ここでは、フレーム間補間に用いられるフレームは、フレーム内補間の処理時に生成された補間フレームPaである場合を例に挙げて説明した。フレーム内補間とフレーム間補間の処理は、撮影時に行われる、換言すれば、撮影と同時にリアルタイムで行われるように構成しても良いが、フレーム内補間により生成された補間フレームPaを記録しておき、撮影よりも後のタイミングでその記録されている補間フレームPaが用いられてフレーム間補間が行われるようにしても良い。
 フレーム間補間に用いられる補間フレームは、生成された補間フレーム以外のフレームが用いられるようにしても良い。例えば、図7において、補間フレームPa5の代わりに、フレームP1を用い、補間フレームPa6の代わりにフレームP2が用いられて、上記した処理が実行されることで、フレーム間補間が行われるようにしても良い。
 上述したフレーム内補間の処理を、フレーム間補間の処理と同様に行うようにし、生成される補間フレームは、全て、上述したフレーム間補間の処理で生成されるようにすることもできる。例えば、図7に示した例において、フレームP2を取得する露光時間と、フレームP2を読み出す非露光時間を足し合わせた期間において、前半は、フレームP1に積算イベントデータΔPbを加算することで補間フレームが生成されるようにし、後半は、フレームP2から積算イベントデータΔPbが減算されることで補間フレームが生成されるようにしても良い。
 <カメラ部の処理>
 上述したように、フレーム内補間の処理により、補間フレームPaを生成し、フレーム間補間の処理により、補間フレームPbを生成することで、高フレームレートの動画像を生成する画像処理装置11(図1)の処理について、さらに説明を加える。
 図8のフローチャートを参照し、画像処理装置11のカメラ部22の処理について説明する。図8のフローチャートに示したカメラ部22の処理は、例えば、カメラ部22が起動されたときに開始される。
 ステップS11において、フレームベースイメージャ32とイベントベースイメージャ33とのイメージャ間のピクセル座標変換情報が取得される。ピクセル座標変換情報は、カメラ部22の製造過程で得られるデータとして、例えばイメージャ間補正演算部34に保存されている。ピクセル座標変換情報は、工場出荷時の調整値である。
 ステップS12において、フレームベースイメージャ32とイベントベースイメージャ33とのイメージャ間の輝度正規化係数が取得される。輝度正規化係数は、カメラ部22の製造過程で得られるデータとして、例えばイメージャ間補正演算部34に保存されている。輝度正規化係数も、ピクセル座標変換情報と同じく工場出荷時の調整値である。
 ステップS13において、カメラ部22における撮影が開始される。フレームベースイメージャ32における動画像の撮影と、イベントベースイメージャ33におけるイベントの検出が開始される。
 ステップS14において、フレームベースイメージャ32からの出力か否かが判定される。フレームベースイメージャ32からの出力、すなわちフレームPのデータである場合、ステップS17に処理が進められる。ステップS17において、フレームベースイメージャ32からの出力は、画像生成部23のデータ保存部42に出力され、保存される。
 一方、ステップS14において、フレームベースイメージャ32からの出力ではないと判定された場合、換言すれば、イベントベースイメージャ33からの出力であると判定された場合、ステップS15に処理は進められる。
 ステップS15において、イベントが発生したピクセルの座標が、フレームの座標へと変換される。キャリブレーション部35は、ステップS11において取得されたピクセル座標変換情報を用いて、イベントの座標情報を、フレームベースイメージャ32の座標に変換する。
 ステップS16において、イベントが発生したピクセルの輝度が、フレームの輝度へと変換される。キャリブレーション部35は、ステップS12において取得された輝度正規化係数を用いて、イベントの輝度変化を、フレームベースイメージャ32の輝度変化量に変換する。
 ステップS17において、キャリブレーション部35によりキャリブレーションされたイベントデータは、画像生成部23のイベント積算部41(図1)に出力され、イベント積算部41の積算処理が開始されるまで記憶される。
 ステップS18において、撮影は終了か否かが判定される。例えば、ユーザにより撮影終了時に操作されるボタンが操作された場合、ステップS18において、撮影は終了したと判定され、カメラ部22における処理も終了される。一方、ステップS18において、撮影は終了していないと判定された場合、ステップS13に処理は戻され、それ以降の処理が繰り返される。すなわち、フレームベースイメージャ32による動画像の撮影が継続され、イベントベースイメージャ33によるイベントの検出が継続される。
 <イベント積算部の処理について>
 図9のフローチャートを参照し、画像生成部23のイベント積算部41(図1)の処理について説明する。
 ステップS31において、補正前のフレームレートと補正後のフレームレートが取得される。ステップS32において、間隔Δtが算出される。間隔Δtは、上記したように、式(8)により算出される。式(8)における補間レートは、式(7)に基づき算出される。式(7)は、補間後のフレームレートを補間後のフレームレートで除算することで補間レートを算出する式である。
 ステップS31において取得された補正前のフレームレートと補正後のフレームレートと、式(7)、式(8)に基づき、間隔ΔtがステップS32において算出される。
 ステップS33において、間隔Δt時間が経過するまで待機状態が維持される。イベント積算部41には、待機状態中でも、キャリブレーション部35を介して、イベントベースイメージャ33からのイベントデータが供給される。イベント積算部41は、間隔Δt時間の間に供給されたイベントデータを蓄積する。
 ステップS34において、間隔Δtの間に発生したイベントデータを積算し、積算した積算イベントデータを、データ保存部42に供給し、保存させる。または補間画像生成部43に供給される。ここでは、積算イベントデータは、データ保存部42に一旦記憶された後、補間フレームが生成されるときに、必要に応じて、補間画像生成部43により読み出されるとして説明を続ける。
 ステップS35において、終了か否かが判定される。例えば、カメラ部22による撮影が終了された場合、イベント積算部41による処理も終了される。または所定の時間内に、キャリブレーション部35からイベントデータが供給されなかった場合、ステップS35において、終了と判定される。ステップS35において、終了ではないと判定された場合、ステップS33に処理が戻され、それ以降の処理が繰り返される。すなわち、積算イベントデータの生成が、継続して行われる。
 <補間処理について>
 上述したカメラ部22の処理や、イベント積算部41の処理がそれぞれ行われている一方で、補間画像生成部43における補間フレームの生成に係わる処理も実行される。図10のフローチャートを参照し、補間画像生成部43が行う補間処理について説明する。
 ステップS51において、処理対象とされるフレームPに割り振る番号kが1に設定される。ステップS52において、番号kが割り振られたフレームPに対するフレーム内補間(k)が実行される。ステップS53において、番号k+1が割り振られたフレームPに対するフレーム内補間(k+1)が実行される。
 ステップS54において、番号kが割り振られたフレームPに対してフレーム間補間(k)が実行される。フレーム間補間(k)を実行するためには、フレーム内補間(k)において生成された最後尾の補間フレームPaと、フレーム内補間(k+1)において生成された先頭の補間フレームPaが必要である。よって、ステップS52において、フレーム内補間(k)が実行され、最後尾の補間フレームPaが取得され、ステップS53において、フレーム内補間(k+1)が実行され、先頭の補間フレームPaが取得された後、ステップS54において、フレーム間補間(k)が実行される。
 図4を再度参照する。図4において、k=1が割り振られたフレームPが、フレームP1であり、フレームP1が処理対象とされているとする。このような場合、ステップS52においては、フレームP1に対するフレーム内補間(k)の処理が実行される。図4に示した例では、時刻T1から時刻T2に該当する露光時間における補間フレームを生成するフレーム内補間の処理が実行される。
 ステップS53において、フレームP2に対するフレーム内補間(k+1)の処理が実行される。図4に示した例では、時刻T3から時刻T4に該当する露光時間における補間フレームを生成するフレーム内補間の処理が実行される。
 ステップS52の処理が実行されることで、時刻T1から時刻T2における最後尾の補間フレームPa5が取得される。次にステップS53の処理が実行されることで、時刻T3から時刻T4における先頭の補間フレームPa6が取得される。
 ステップS54においては、フレームP1に対するフレーム間補間(k)が実行される。フレームP1に対するフレーム間補間(k)とは、図4においては、フレームP1の読み出し期間に該当する時刻T2から時刻T3における非露光時間において実行されるフレーム間補間の処理のことである。ステップS54の処理が実行されるときには、補間フレームPa5と補間フレームPa6が取得されているので、これらの補間フレームPaが用いられて、補間フレームPb1乃至Pb4が生成される。
 ステップS55において、番号kが2に変更されて、処理がステップS53に戻される。ステップS53において、フレームP3に対するフレーム内補間(k+1)が実行され、ステップS54において、フレームP2に対するフレーム間補間(k)が実行される。
 2回目以降のステップS54の処理においては、フレーム間補間(k)を実行するのに必要な最後尾の補間フレームPaと先頭の補間フレームPaは取得済みであるため、ステップS52の処理は実行されない。すなわち、フレームの補間処理が開始されたとき(k=1と設定されたとき)に、2回続けてフレーム内補間の処理が実行されるが、それ以降は、フレーム内補間の処理とフレーム間補間の処理が交互に繰り返される処理が継続される。
 図10に示したフローチャートの処理に戻り、ステップS52およびステップS53においてそれぞれ実行されるフレーム内補間に関する処理については、図11のフローチャートを参照して後述する。ステップS54において実行されるフレーム間補間に関する処理については、図12のフローチャートを参照して後述する。
 ステップS55において、番号kの値が1だけ増やされ、次のフレームが処理対象とされる。ステップS56において、終了か否かが判定される。例えば、データ保存部42に保存されている全てのフレームを処理した場合や、カメラ部22の撮影が終了された場合など、ステップS56において、終了であると判定される。
 一方、ステップS56において、終了ではないと判定された場合、ステップS53に処理が戻され、それ以降の処理が繰り返される。
 <フレーム内補間に関する処理について>
 図11のフローチャートを参照し、ステップS52およびステップS53において実行されるフレーム内補間の処理について説明する。フレーム内補間については、図4、図5を参照して説明したため、重複する説明などは適宜省略する。
 ステップS71において、補間レートが取得される。ステップS72において、露光時間が取得される。ステップS73において、補間するフレーム数nが算出される。
 フレーム内補間において補間されるフレーム数nは、上述した式(6)に基づき算出され、補間レートと、露光時間と、非露光時間が用いられて算出される。式(6)において(露光時間+非露光時間)は、フレームレートから算出できる。ステップS73においては、ステップS71において取得された補間レート、ステップS72において取得された露光時間、およびフレームレートから算出される(露光時間+非露光時間)が用いられ、補間する補間フレーム数nが算出される。
 ステップS74において、フレームベースイメージャ32からのk番目の画像(フレーム)が取得される。取得されるフレームは、フレームベースイメージャ32から直接的に補間画像生成部43に供給されるフレームであっても良いし、データ保存部42に保存されているフレームであっても良い。ステップS74において取得されるk番目のフレームは、ここではフレームPと表す。
 ステップS75において、第1番目の補間フレームPa1が生成される。図5を参照して説明したように、第1の補間フレームPa1は、フレームPと、露光時間内に取得された積算イベントデータΔPaが用いられて、式(5)に基づき生成される。
 ステップS76において、iが2に設定される。ステップS77において、第i番目の補間フレームPaiが生成される。補間フレームPaiは、1つ前の補間フレームPai-1に積算イベントデータΔPai-1を加算することで生成される。例えば、図5に示した例では、補間フレームPa2は、補間フレームPa1に、積算イベントデータΔPa1が加算されることで生成される。
 ステップS78において、iが1だけ増加される。ステップS79において、iがn以下(i≦n)であるか否かが判定される。ステップS79において、iがn以下であると判定された場合、ステップS77に処理が戻され、それ以降の処理が繰り返される。すなわち、補間する補間フレーム数nとして設定された枚数になるまで、補間フレームPaの生成が繰り返される。
 一方、ステップS79において、iはn以下ではない判定された場合、換言すれば、iはnよりも大きくなったと判定された場合、処理対象とされている露光時間における補間フレームPaの生成に係わる処理は終了される。
 <フレーム間補間に関する処理について>
 図12のフローチャートを参照し、ステップS54(図10)において実行されるフレーム間補間の処理について説明する。フレーム間補間については、図4、図7を参照して説明したため、重複する説明などは適宜省略する。
 ステップS91において、補間レートが取得される。ステップS92において、露光時間(非露光時間でも良い)が取得される。ステップS93において、補間するフレーム数mが算出される。
 図10に示したフローチャートに基づき処理が実行される場合、例えば、ステップS54において、フレーム間補間(k)が実行される前の時点で、フレーム内補間(k)が実行されており、補間レートと露光時間が取得されているため、ステップS91とステップS92の処理を省略し、既に取得されている補間レートと露光時間が用いられるようにしても良い。
 ステップS93において補間する補間フレーム数mは、上述した式(15)に基づき算出される。ステップS93においては、ステップS91において取得された補間レート、ステップS92において取得された露光時間(または非露光時間)、およびフレームレートから算出される(露光時間+非露光時間)が用いられ、補間する補間フレーム数mが算出される。
 図7を参照して説明したように、フレーム間補間においては、非露光時間を前半と後半に分け、前半は積算イベントデータΔPbが加算されることで補間フレームPbが生成され、後半は積算イベントデータΔPbが減算されることで補間フレームPbが生成される。ステップS94乃至S98の処理は、非露光時間の前半における補間フレームPbの生成に関する処理であり、ステップS99乃至S103の処理は、非露光時間の後半における補間フレームPbの生成に関する処理である。
 ステップS94において、kフレーム目のフレーム内補間の最後尾の補間フレームPaが取得される。データ保存部42に保存されている最後尾の補間フレームPaが取得される。ステップS94において取得されるk番目のフレームPの補間フレームPaを、ここでは補間フレームPa0と表す。
 ステップS95において、iが1に設定される。ステップS96において、第i番目の補間フレームPbiが生成される。補間フレームPbiは、1つ前の補間フレームPbi-1に積算イベントデータΔPbiを加算することで生成される。第1番目の補間フレームPb1は、最後尾の補間フレームPaを用いて生成されるが、この最後尾の補間フレームPaも、補間フレームであり、補間フレームPb0(i=1)として扱うことができる。
 例えば、図7に示した例においてi=1の場合、補間フレームPb1は、補間フレームPa1(補間フレームPb0に該当)に、積算イベントデータΔPb1が加算されることで生成される。図7に示した例においてi=2の場合、補間フレームPb2は、補間フレームPb1に、積算イベントデータΔPb2が加算されることで生成される。
 ステップS97において、iが1だけ増加される。ステップS98において、iが(m/2)以下(i≦m/2)であるか否かが判定される。ステップS98において、iが(m/2)以下であると判定された場合、ステップS96に処理が戻され、それ以降の処理が繰り返される。すなわち、補間する補間フレーム数mとして設定された枚数の半分の枚数になるまで、補間フレームPbの生成が繰り返される。
 一方、ステップS98において、iが(m/2)以下ではないと判定された場合、処理は、ステップS99に進められる。
 ステップS99において、k+1フレーム目のフレーム内補間の先頭の補間フレームPaが取得される。データ保存部42に保存されている先頭の補間フレームPaが取得される。ステップS99において取得されるk+1番目のフレームPの補間フレームPaを、ここでは補間フレームPam+1と表す。
 ステップS100において、iがmに設定される。ステップS101において、第i番目の補間フレームPbiが生成される。補間フレームPbiは、1つ後の補間フレームPbi+1から積算イベントデータΔPbiを減算することで生成される。第i番目の補間フレームPb1は、先頭の補間フレームPam+1が用いられて生成されるが、この先頭の補間フレームPam+1も、補間フレームであり、補間フレームPbm+1(i=m)として扱うことができる。
 例えば、図7に示した例においてi=mであり、mが4である場合、補間フレームPb4は、補間フレームPa6(補間フレームPbm+1に該当)から、積算イベントデータΔPb4が減算されることで生成される。図7に示した例においてi=m-1=3の場合、補間フレームPb3は、補間フレームPb4から、積算イベントデータΔPb3が減算されることで生成される。
 ステップS102において、iが1だけ減算される。ステップS103において、iが(m/2)より大きい(m/2<i)か否かが判定される。ステップS103において、iが(m/2)より大きいと判定された場合、ステップS101に処理が戻され、それ以降の処理が繰り返される。すなわち、補間する補間フレーム数mとして設定された枚数のうち、既にステップS94乃至S98の処理で生成された補間フレームPbの枚数を除いた枚数になるまで、補間フレームPbの生成が繰り返される。
 このように、フレームベースイメージャ32から取得される動画像に対して、イベントベースイメージャ33からのイベントデータが用いられて補間フレームが生成されることで、高フレームレート化された動画像が生成される。
 <急激な輝度変化への対処>
 上述した実施の形態は、イベントベースイメージャ33からの出力として、階調出力がある場合と、階調出力がない場合(符号の出力の場合)のどちらにも対応できる。
 イベントベースイメージャ33からの出力が、階調出力がない場合であっても、一般的に、イベントベースイメージャ33からの出力は、フレームベースイメージャ32の出力よりも多いため、階調出力がある場合と遜色なく扱えると想定できる。
 例えば、フレームベースイメージャ32がハイダイナミックレンジ(HDR)に対応しているような場合、国際標準規格 ITU-R BT.2100によると、階調は10または12bitであり、72db、約4000階調に対応することが記載されている。フレームベースイメージャ32の動画のフレームレートを120FPSと仮定した場合、約8.3msec/Frameとなる。
 本出願人が製品化しているイベントベースイメージャ33は、124db以上のHDR特性を有し、低照度、例えば40mlxでもイベントの検出が可能であり、高時間分解能(1μ秒単位の精度)である。
 これらのことから、イベントベースイメージャ33は、フレームベースイメージャ32に対して、輝度分解能、時間分解能ともに十分な精度を有していると想定できる。仮に、イベントベースイメージャ33からの出力に、階調出力がなく、輝度変化を表す符号(+1、または-1)を出力するような場合であっても、上記した性能から、イベントベースからフレームベースへの輝度の階調換算は、イベントベースの何イベント分が、フレームベースの1階調に相当するか、単純な比例演算で算出することができる。
 このようなことから、上記したように、イベントベースイメージャ33からの出力は、階調出力がある場合と、階調出力がない場合(符号の出力の場合)のどちらの場合も本技術に適用できる。
 なお、急激な輝度変化があったような場合、比例換算から外れることが想定される。このような場合、図13を参照して説明するような方法で対応することができる。
 図13のAに示したように、露光時間Aにおいて取得されたフレームP(の所定の座標のピクセル)と、次の露光時間Bにおいて取得されたフレームPx(の所定の座標のピクセル)の輝度に大きな差がある場合に、その間に発生したイベントの発生密度が求められる。図13のAのような状況の場合、図13のBに示すように、イベントの発生密度は、非露光時間にピークになるようなグラフとなる。
 この発生密度を時間積分し、該当するピクセルの輝度に加算することで、図13の補間輝度カーブが求められる。この補間輝度カーブから求められる輝度階調が、イベントベースイメージャ33からのイベントデータとして扱われる。例えば、非露光時間において、時刻t1乃至t4のそれぞれに補間フレームPbを生成するような場合であり、図13のCのグラフの縦軸を輝度変換量とした場合、時刻t1のときのイベントデータe1は、時刻t1のところで補間輝度カーブと交わる値とされる。
 同じく、時刻t2のときのイベントデータe2は、時刻t2のところで補間輝度カーブと交わる値とされ、時刻t3のときのイベントデータe3は、時刻t3のところで補間輝度カーブと交わる値とされ、時刻t4のときのイベントデータe4は、時刻t4のところで補間輝度カーブと交わる値とされる。
 このように、輝度が急激に変化したような場合には、イベントベースの発生密度から生成される補間輝度カーブを用いて、イベントデータに含まれる輝度変化量が設定されるようにしても良い。輝度の急激な変化は、図13のBに示したようなイベントベース発生密度に関するグラフを作成し、閾値を超えるピークがあるグラフが得られたときには、輝度の急激な変化があったと判定される仕組みを設けても良い。
 <静止画への適用>
 上述した実施の形態においては、動画像を生成する場合を例に挙げて説明したが、本技術は、静止画像を生成する場合にも適用できる。
 上述した動画像に関するフレーム内補間の処理は、動きぼけを除去した静止画像の生成に適用できる。静止画像は、図5を参照して説明したフレーム内補間の処理において、補間枚数を無限に近づけた場合の1画像と見なすことができ、次式(16)により求めることができる。
Figure JPOXMLDOC01-appb-M000007
 式(16)において、Tは、フレームベースイメージャ32の露光時間を表す。Tは、求める静止画像の時刻を表す。Tが表す時刻は、露光開始時を0としたときの時刻である。teは、イベントの発生時刻を表す。ΔPteは、teに発生したイベントのイベントデータ(輝度差分画像)を表す。
 式(16)は、図14に示すようなグラフで表される係数を乗算して足し合わせることを意味している。図14を参照するに、露光時間の0から時刻Tの間に、時刻Tがある。時刻0から時刻Tまでの間の係数は、0から(T/T)まで1次関数的に増加する。この部分は、式(16)の右辺の第2項の演算に係わる。
 時刻Tから時刻Tまでの間の係数は、(―1+T/TE)から0まで1次関数的に増加する。この部分は、式(16)の右辺の第3項の演算に係わる。
 式(16)に基づいて、時刻Tにおける静止画像Pを求めるようにした場合、精度が高い処理を行うことができる。一方で、図15に示すように、露光時間の中間の時刻を時刻Tとして、静止画像Pを求めるようにした場合、換言すれば、簡易的に静止画像Pを求めるようにした場合、式(17)により静止画像Pを求めることができる。
Figure JPOXMLDOC01-appb-M000008
 フレームベースイメージャ32が、時刻0から時刻TEまで露光した結果、フレームPが得られた場合であり、その露光時間の中点(時刻T)における静止画像が求められる場合、式(17)に示したように、フレームPと、時刻0から時刻Tまでの積算イベントデータΔP1と、時刻Tから時刻Tまでの積算イベントデータΔP2とを用いて算出できる。
 時刻Tは、上記した例では、露光時間の中点の時刻を例に挙げたが、中点以外が設定されているようにし、簡易的に求められるようにすることもできる。
 時刻Tを変え、複数の静止画像が生成されるようにすることもできる。例えば、露光時間を5等分し、時刻T1、時刻T2、時刻T3、時刻T4、および時刻T5(=時刻T)のそれぞれにおいて静止画像Pを生成するようにしても良い。このように複数、この場合、5枚の静止画像Pが生成されるようにした場合、生成された5枚の静止画像Pが全て保存されるようにしても良い。5枚の静止画像Pをユーザに提示し、ユーザにより選択された1または複数の静止画像Pが保存されるようにしても良い。
 このようにして、フレームベースイメージャ32により得られたフレームPと、イベントベースイメージャ33から得られたイベントデータ(積算イベントデータΔP)とを用いて、動きぼけを除去した静止画像を生成することもできる。
 本技術によれば、高フレームレートの撮像装置を実現することができる。イベントベースイメージャ33からのイベントデータを用いているため、低照度の被写体であっても、高フレームレートの撮影が可能となる。連続撮影時間の制限をなくす、もしくは軽減することが可能となる。本技術によれば、静止画像のデブラー(動きぼけ除去)機能を追加することも可能である。
 <記録媒体について>
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 図16は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。コンピュータにおいて、CPU(Central Processing Unit)1001、ROM(Read Only Memory)1002、RAM(Random Access Memory)1003は、バス1004により相互に接続されている。バス1004には、さらに、入出力インタフェース1005が接続されている。入出力インタフェース1005には、入力部1006、出力部1007、記憶部1008、通信部1009、及びドライブ1010が接続されている。
 入力部1006は、キーボード、マウス、マイクロフォンなどよりなる。出力部1007は、ディスプレイ、スピーカなどよりなる。記憶部1008は、ハードディスクや不揮発性のメモリなどよりなる。通信部1009は、ネットワークインタフェースなどよりなる。ドライブ1010は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体1011を駆動する。
 以上のように構成されるコンピュータでは、CPU1001が、例えば、記憶部1008に記憶されているプログラムを、入出力インタフェース1005及びバス1004を介して、RAM1003にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ(CPU1001)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体1011に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータでは、プログラムは、リムーバブル記録媒体1011をドライブ1010に装着することにより、入出力インタフェース1005を介して、記憶部1008にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部1009で受信し、記憶部1008にインストールすることができる。その他、プログラムは、ROM1002や記憶部1008に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
 なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 なお、本技術は以下のような構成も取ることができる。
(1)
 フレームベースの第1の撮像素子と、
 イベントベースの第2の撮像素子と、
 前記第1の撮像素子からのフレームデータと、前記第2の撮像素子からのイベントデータを用いて、補間フレームを生成する生成部と
 を備える画像処理装置。
(2)
 前記生成部は、前記補間フレームに、所定の時間内に発生した前記イベントデータを積算した積算イベントデータを加算することで前記補間フレームを生成する
 前記(1)に記載の画像処理装置。
(3)
 前記生成部は、前記第1の撮像素子の第1の露光時間で得られた第1のフレームデータと、前記第1の露光時間内に得られた複数の前記積算イベントデータを用いて、前記第1の露光時間内の先頭の補間フレームを生成する
 前記(2)に記載の画像処理装置。
(4)
 前記生成部は、前記補間フレームに、所定の時間内に発生した前記イベントデータを積算した積算イベントデータを加算または減算することで前記補間フレームを生成する
 前記(1)乃至(3)のいずれかに記載の画像処理装置。
(5)
 前記生成部は、
 第1の露光時間内の補間フレームとして生成された複数の補間フレームのうちの最後尾の補間フレームと、
 前記第1の露光時間よりも後の第2の露光時間において前記第1の撮像素子で得られた第2のフレームデータと、前記第2の露光時間内に得られた前記積算イベントデータを加算することで、生成された複数の補間フレームのうちの先頭の補間フレームと、
 前記第1の露光時間と前記第2の露光時間との間の非露光時間において得られた前記積算イベントデータと
 を用いて、前記非露光時間における補間フレームを生成する
 前記(4)に記載の画像処理装置。
(6)
 前記生成部は、
 前記非露光時間の前半に位置する前記補間フレームを生成する場合、前記最後尾の補間フレームと、前記非露光時間の前半に得られた前記積算イベントデータを用いて前記補間フレームを生成し、
 前記非露光時間の後半に位置する前記補間フレームを生成する場合、前記先頭の補間フレームと、前記非露光時間の後半に得られた前記積算イベントデータを用いて前記補間フレームを生成する
 前記(5)に記載の画像処理装置。
(7)
 露光時間内の所定の時刻における静止画像を、前記露光時間内に取得された前記イベントデータを、前記フレームデータに加算および減算することで生成する
 前記(1)に記載の画像処理装置。
(8)
 フレームベースの第1の撮像素子と、
 イベントベースの第2の撮像素子と
 を備える画像処理装置が、
 前記第1の撮像素子からのフレームデータと、前記第2の撮像素子からのイベントデータを用いて、補間フレームを生成する
 画像処理方法。
(9)
 フレームベースの第1の撮像素子と、
 イベントベースの第2の撮像素子と
 を備える画像処理装置を制御するコンピュータに、
 前記第1の撮像素子からのフレームデータと、前記第2の撮像素子からのイベントデータを用いて、補間フレームを生成する
 ステップを含む処理を実行させるためのプログラム。
(10)
 イベントベースの撮像素子から得られたイベントデータと、フレームデータとを用いて、第1のフレームと第2のフレームの間を補間する補間フレームを生成する生成部
 を備える画像処理装置。
(11)
 前記第1のフレームと前記第2のフレームは、フレームベースの撮像素子により撮像されたフレームである
 前記(10)に記載の画像処理装置。
(12)
 前記第1のフレームと前記第2のフレームは、前記生成部により生成された補間フレームである
 前記(10)または(11)に記載の画像処理装置。
(13)
 画像処理装置が、
 イベントベースの撮像素子から得られたイベントデータと、フレームデータとを用いて、第1のフレームと第2のフレームの間を補間する補間フレームを生成する
 画像処理方法。
(14)
 コンピュータに、
 イベントベースの撮像素子から得られたイベントデータと、フレームデータとを用いて、第1のフレームと第2のフレームの間を補間する補間フレームを生成する
 ステップを含む処理を実行させるためのプログラム。
 11 画像処理装置, 21 レンズ, 22 カメラ部, 23 画像生成部, 31 ハーフミラー, 32 フレームベースイメージャ, 33 イベントベースイメージャ, 34 イメージャ間補正演算部, 35 キャリブレーション部, 41 イベント積算部, 42 データ保存部, 43 補間画像生成部, 51 ハイブリッドイメージャ

Claims (14)

  1.  フレームベースの第1の撮像素子と、
     イベントベースの第2の撮像素子と、
     前記第1の撮像素子からのフレームデータと、前記第2の撮像素子からのイベントデータを用いて、補間フレームを生成する生成部と
     を備える画像処理装置。
  2.  前記生成部は、前記補間フレームに、所定の時間内に発生した前記イベントデータを積算した積算イベントデータを加算することで前記補間フレームを生成する
     請求項1に記載の画像処理装置。
  3.  前記生成部は、前記第1の撮像素子の第1の露光時間で得られた第1のフレームデータと、前記第1の露光時間内に得られた複数の前記積算イベントデータを用いて、前記第1の露光時間内の先頭の補間フレームを生成する
     請求項2に記載の画像処理装置。
  4.  前記生成部は、前記補間フレームに、所定の時間内に発生した前記イベントデータを積算した積算イベントデータを加算または減算することで前記補間フレームを生成する
     請求項1に記載の画像処理装置。
  5.  前記生成部は、
     第1の露光時間内の補間フレームとして生成された複数の補間フレームのうちの最後尾の補間フレームと、
     前記第1の露光時間よりも後の第2の露光時間において前記第1の撮像素子で得られた第2のフレームデータと、前記第2の露光時間内に得られた前記積算イベントデータを加算することで、生成された複数の補間フレームのうちの先頭の補間フレームと、
     前記第1の露光時間と前記第2の露光時間との間の非露光時間において得られた前記積算イベントデータと
     を用いて、前記非露光時間における補間フレームを生成する
     請求項4に記載の画像処理装置。
  6.  前記生成部は、
     前記非露光時間の前半に位置する前記補間フレームを生成する場合、前記最後尾の補間フレームと、前記非露光時間の前半に得られた前記積算イベントデータを用いて前記補間フレームを生成し、
     前記非露光時間の後半に位置する前記補間フレームを生成する場合、前記先頭の補間フレームと、前記非露光時間の後半に得られた前記積算イベントデータを用いて前記補間フレームを生成する
     請求項5に記載の画像処理装置。
  7.  露光時間内の所定の時刻における静止画像を、前記露光時間内に取得された前記イベントデータを、前記フレームデータに加算および減算することで生成する
     請求項1に記載の画像処理装置。
  8.  フレームベースの第1の撮像素子と、
     イベントベースの第2の撮像素子と
     を備える画像処理装置が、
     前記第1の撮像素子からのフレームデータと、前記第2の撮像素子からのイベントデータを用いて、補間フレームを生成する
     画像処理方法。
  9.  フレームベースの第1の撮像素子と、
     イベントベースの第2の撮像素子と
     を備える画像処理装置を制御するコンピュータに、
     前記第1の撮像素子からのフレームデータと、前記第2の撮像素子からのイベントデータを用いて、補間フレームを生成する
     ステップを含む処理を実行させるためのプログラム。
  10.  イベントベースの撮像素子から得られたイベントデータと、フレームデータとを用いて、第1のフレームと第2のフレームの間を補間する補間フレームを生成する生成部
     を備える画像処理装置。
  11.  前記第1のフレームと前記第2のフレームは、フレームベースの撮像素子により撮像されたフレームである
     請求項10に記載の画像処理装置。
  12.  前記第1のフレームと前記第2のフレームは、前記生成部により生成された補間フレームである
     請求項10に記載の画像処理装置。
  13.  画像処理装置が、
     イベントベースの撮像素子から得られたイベントデータと、フレームデータとを用いて、第1のフレームと第2のフレームの間を補間する補間フレームを生成する
     画像処理方法。
  14.  コンピュータに、
     イベントベースの撮像素子から得られたイベントデータと、フレームデータとを用いて、第1のフレームと第2のフレームの間を補間する補間フレームを生成する
     ステップを含む処理を実行させるためのプログラム。
PCT/JP2022/004385 2021-05-20 2022-02-04 画像処理装置、画像処理方法、並びにプログラム WO2022244330A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-085043 2021-05-20
JP2021085043A JP2022178317A (ja) 2021-05-20 2021-05-20 画像処理装置、画像処理方法、並びにプログラム

Publications (1)

Publication Number Publication Date
WO2022244330A1 true WO2022244330A1 (ja) 2022-11-24

Family

ID=84140231

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/004385 WO2022244330A1 (ja) 2021-05-20 2022-02-04 画像処理装置、画像処理方法、並びにプログラム

Country Status (2)

Country Link
JP (1) JP2022178317A (ja)
WO (1) WO2022244330A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112714301A (zh) * 2020-12-21 2021-04-27 北京灵汐科技有限公司 双模态图像信号处理器和图像传感器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112714301A (zh) * 2020-12-21 2021-04-27 北京灵汐科技有限公司 双模态图像信号处理器和图像传感器

Also Published As

Publication number Publication date
JP2022178317A (ja) 2022-12-02

Similar Documents

Publication Publication Date Title
KR101388130B1 (ko) 화상처리장치 및 화상처리방법
JP4482037B2 (ja) デジタル画像形成の露出
KR20110052507A (ko) 촬상장치 및 촬상방법
US8922681B2 (en) Image processing device that performs image processing to correct target pixels in a region surrounding a defective pixel
US9071766B2 (en) Image capturing apparatus and control method thereof
JP2014167609A (ja) 画像処理装置及びその制御方法、プログラム、記憶媒体
CN104380710A (zh) 闪烁减少装置、拍摄装置以及闪烁减少方法
JP2018207413A (ja) 撮像装置
WO2007142049A1 (ja) 撮影装置と映像信号処理プログラム
US8964055B2 (en) Combining images based on position offset detection of a series of images
US8736739B2 (en) Imaging apparatus, imaging control method, and program
JP2020102059A (ja) 画像処理装置
JP2009200743A (ja) 画像処理装置および画像処理方法および画像処理プログラムおよび撮像装置
WO2022244330A1 (ja) 画像処理装置、画像処理方法、並びにプログラム
JP5609788B2 (ja) 画像処理装置及び画像処理方法
CN108881731B (zh) 全景拍摄方法、装置和成像设备
JP2015061236A (ja) 画像処理装置、画像処理方法及びプログラム
JP2018050149A (ja) 画像処理装置
JP2014121079A (ja) 画像処理装置及び画像処理方法、プログラム、記憶媒体
JP5609787B2 (ja) 画像処理装置及び画像処理方法
JP2005109705A (ja) 撮像処理装置
JP2018142983A (ja) 画像処理装置及びその制御方法、プログラム、記憶媒体
JP2015080157A (ja) 画像処理装置、画像処理方法及びプログラム
JP7389558B2 (ja) 情報処理装置およびその制御方法ならびにプログラム
US20100034482A1 (en) Method and apparatus for processing a digital image signal, and a recording medium having recorded thereon a program for executing the method

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: 22804252

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18557466

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22804252

Country of ref document: EP

Kind code of ref document: A1